]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Add DoFTools::make_flux_sparsity_pattern() with masks and subdomain_id. 2846/head
authorSAM COX <spc29@le.ac.uk>
Fri, 29 Jul 2016 09:35:41 +0000 (10:35 +0100)
committerSAM COX <spc29@le.ac.uk>
Sat, 30 Jul 2016 07:10:39 +0000 (08:10 +0100)
doc/news/changes.h
include/deal.II/dofs/dof_tools.h
source/dofs/dof_tools_sparsity.cc
source/dofs/dof_tools_sparsity.inst.in
tests/dofs/dof_tools_22a.cc [new file with mode: 0644]
tests/dofs/dof_tools_22a.with_trilinos=true.mpirun=1.output [new file with mode: 0644]
tests/dofs/dof_tools_22a.with_trilinos=true.mpirun=3.output [new file with mode: 0644]
tests/dofs/dof_tools_22a.with_trilinos=true.mpirun=5.output [new file with mode: 0644]

index af59acd9181b7f2836a1a4aeff90465ae0da0172..714029c687cf5999d6272b3dc88775d81ce4c9e1 100644 (file)
@@ -388,6 +388,16 @@ inconvenience this causes.
 <h3>Specific improvements</h3>
 
 <ol>
+ <li> New: There is now a new DoFTools::make_flux_sparsity_pattern()
+ which takes a constraint matrix and flux and internal dof masks, in
+ parallel. This is useful in the case where some components of a
+ finite element are continuous and some discontinuous, allowing
+ constraints to be imposed on the continuous part while also building
+ building the flux terms needed for the discontinuous part.
+ <br>
+ (Sam Cox, 2016/07/25)
+ </li>
+
  <li> Fixed: Level indices for geometric multigrid queried through
  DoFAccessor::get_mg_dof_indices() would return wrong indices on lines
  and faces in non-standard orientation in 3D. This is now fixed.
index fb34de9ae386e822c87d3d4626a516b4b51a7a40..b2735c5a3add674689135b728a12b8822af39208 100644 (file)
@@ -634,7 +634,7 @@ namespace DoFTools
    *
    * In fact, this function takes two such masks, one describing which
    * variables couple with each other in the cell integrals that make up your
-   * bilinear form, and which variables coupld with each other in the face
+   * bilinear form, and which variables couple with each other in the face
    * integrals. If you passed masks consisting of only 1s to both of these,
    * then you would get the same sparsity pattern as if you had called the
    * first of the make_sparsity_pattern() functions above. By setting some of
@@ -645,10 +645,28 @@ namespace DoFTools
    */
   template <typename DoFHandlerType, typename SparsityPatternType>
   void
-  make_flux_sparsity_pattern (const DoFHandlerType    &dof,
-                              SparsityPatternType     &sparsity,
-                              const Table<2,Coupling> &cell_integrals_mask,
-                              const Table<2,Coupling> &face_integrals_mask);
+  make_flux_sparsity_pattern (const DoFHandlerType      &dof,
+                              SparsityPatternType       &sparsity,
+                              const Table<2,Coupling>   &cell_integrals_mask,
+                              const Table<2,Coupling>   &face_integrals_mask,
+                              const types::subdomain_id  subdomain_id = numbers::invalid_subdomain_id);
+  /**
+   * This function does essentially the same as the previous
+   * make_flux_sparsity_pattern() function but allows the application of
+   * a constraint matrix. This is useful in the case where some components
+   * of a finite element are continuous and some discontinuous, allowing
+   * constraints to be imposed on the continuous part while also building
+   * the flux terms needed for the discontinuous part.
+   */
+  template <typename DoFHandlerType, typename SparsityPatternType>
+  void
+  make_flux_sparsity_pattern (const DoFHandlerType      &dof,
+                              SparsityPatternType       &sparsity,
+                              const ConstraintMatrix    &constraints,
+                              const bool                 keep_constrained_dofs,
+                              const Table<2,Coupling>   &couplings,
+                              const Table<2,Coupling>   &face_couplings,
+                              const types::subdomain_id  subdomain_id);
 
   /**
    * Create the sparsity pattern for boundary matrices. See the general
index 5100232d6e9f00a2abc7f7a5eac518d01acc7bcd..2eb8c011d688dd64af2625a7c148f4a9d2623899 100644 (file)
@@ -145,51 +145,22 @@ namespace DoFTools
 
     const hp::FECollection<DoFHandlerType::dimension,DoFHandlerType::space_dimension> fe_collection (dof.get_fe());
 
-    // first, for each finite element, build a mask for each dof, not like
-    // the one given which represents components. make sure we do the right
-    // thing also with respect to non-primitive shape functions, which
-    // takes some additional thought
-    std::vector<Table<2,bool> > dof_mask(fe_collection.size());
-
-    // check whether the table of couplings contains only true arguments,
-    // i.e., we do not exclude any index. that is the easy case, since we
-    // don't have to set up the tables
-    bool need_dof_mask = false;
-    for (unsigned int i=0; i<couplings.n_rows(); ++i)
-      for (unsigned int j=0; j<couplings.n_cols(); ++j)
-        if (couplings(i,j) == none)
-          need_dof_mask = true;
-
-    if (need_dof_mask == true)
-      for (unsigned int f=0; f<fe_collection.size(); ++f)
-        {
-          const unsigned int dofs_per_cell = fe_collection[f].dofs_per_cell;
-
-          dof_mask[f].reinit (dofs_per_cell, dofs_per_cell);
-
-          for (unsigned int i=0; i<dofs_per_cell; ++i)
-            for (unsigned int j=0; j<dofs_per_cell; ++j)
-              if (fe_collection[f].is_primitive(i) &&
-                  fe_collection[f].is_primitive(j))
-                dof_mask[f](i,j)
-                  = (couplings(fe_collection[f].system_to_component_index(i).first,
-                               fe_collection[f].system_to_component_index(j).first) != none);
-              else
-                {
-                  const unsigned int first_nonzero_comp_i
-                    = fe_collection[f].get_nonzero_components(i).first_selected_component();
-                  const unsigned int first_nonzero_comp_j
-                    = fe_collection[f].get_nonzero_components(j).first_selected_component();
-                  Assert (first_nonzero_comp_i < fe_collection[f].n_components(),
-                          ExcInternalError());
-                  Assert (first_nonzero_comp_j < fe_collection[f].n_components(),
-                          ExcInternalError());
-
-                  dof_mask[f](i,j)
-                    = (couplings(first_nonzero_comp_i,first_nonzero_comp_j) != none);
-                }
-        }
-
+    const std::vector<Table<2,Coupling> > dof_mask //(fe_collection.size())
+      = dof_couplings_from_component_couplings (fe_collection,
+                                                couplings);
+
+    // Convert the dof_mask to bool_dof_mask so we can pass it
+    // to constraints.add_entries_local_to_global()
+    std::vector<Table<2,bool> >     bool_dof_mask (fe_collection.size());
+    for (unsigned int f=0; f<fe_collection.size(); ++f)
+      {
+        bool_dof_mask[f].reinit (TableIndices<2>(fe_collection[f].dofs_per_cell,fe_collection[f].dofs_per_cell));
+        bool_dof_mask[f].fill (false);
+        for (unsigned int i=0; i<fe_collection[f].dofs_per_cell; ++i)
+          for (unsigned int j=0; j<fe_collection[f].dofs_per_cell; ++j)
+            if (dof_mask[f](i,j) != none)
+              bool_dof_mask[f](i,j) = true;
+      }
 
     std::vector<types::global_dof_index> dofs_on_this_cell(fe_collection.max_dofs_per_cell());
     typename DoFHandlerType::active_cell_iterator cell = dof.begin_active(),
@@ -218,7 +189,7 @@ namespace DoFTools
           constraints.add_entries_local_to_global (dofs_on_this_cell,
                                                    sparsity,
                                                    keep_constrained_dofs,
-                                                   dof_mask[fe_index]);
+                                                   bool_dof_mask[fe_index]);
         }
   }
 
@@ -717,10 +688,13 @@ namespace DoFTools
       // non-hp DoFHandlers
       template <typename DoFHandlerType, typename SparsityPatternType>
       void
-      make_flux_sparsity_pattern (const DoFHandlerType    &dof,
-                                  SparsityPatternType     &sparsity,
-                                  const Table<2,Coupling> &int_mask,
-                                  const Table<2,Coupling> &flux_mask)
+      make_flux_sparsity_pattern (const DoFHandlerType      &dof,
+                                  SparsityPatternType       &sparsity,
+                                  const ConstraintMatrix    &constraints,
+                                  const bool                 keep_constrained_dofs,
+                                  const Table<2,Coupling>   &int_mask,
+                                  const Table<2,Coupling>   &flux_mask,
+                                  const types::subdomain_id  subdomain_id)
       {
         const FiniteElement<DoFHandlerType::dimension,DoFHandlerType::space_dimension>
         &fe = dof.get_fe();
@@ -738,19 +712,30 @@ namespace DoFTools
           for (unsigned int f=0; f<GeometryInfo<DoFHandlerType::dimension>::faces_per_cell; ++f)
             support_on_face(i,f) = fe.has_support_on_face(i,f);
 
+        // Convert the int_dof_mask to bool_int_dof_mask so we can pass it
+        // to constraints.add_entries_local_to_global()
+        Table<2,bool> bool_int_dof_mask (fe.dofs_per_cell,fe.dofs_per_cell);
+        bool_int_dof_mask.fill (false);
+        for (unsigned int i=0; i<fe.dofs_per_cell; ++i)
+          for (unsigned int j=0; j<fe.dofs_per_cell; ++j)
+            if (int_dof_mask(i,j) != none)
+              bool_int_dof_mask(i,j) = true;
+
         typename DoFHandlerType::active_cell_iterator cell = dof.begin_active (),
                                                       endc = dof.end ();
         for (; cell!=endc; ++cell)
-          if (cell->is_locally_owned ())
+          if (((subdomain_id == numbers::invalid_subdomain_id)
+               ||
+               (subdomain_id == cell->subdomain_id()))
+              &&
+              cell->is_locally_owned())
             {
               cell->get_dof_indices (dofs_on_this_cell);
               // make sparsity pattern for this cell
-              for (unsigned int i=0; i<fe.dofs_per_cell; ++i)
-                for (unsigned int j=0; j<fe.dofs_per_cell; ++j)
-                  if (int_dof_mask (i,j) != none)
-                    sparsity.add (dofs_on_this_cell[i],
-                                  dofs_on_this_cell[j]);
-
+              constraints.add_entries_local_to_global (dofs_on_this_cell,
+                                                       sparsity,
+                                                       keep_constrained_dofs,
+                                                       bool_int_dof_mask);
               // Loop over all interior neighbors
               for (unsigned int face_n = 0;
                    face_n < GeometryInfo<DoFHandlerType::dimension>::faces_per_cell;
@@ -978,8 +963,11 @@ namespace DoFTools
       void
       make_flux_sparsity_pattern (const dealii::hp::DoFHandler<dim,spacedim> &dof,
                                   SparsityPatternType                        &sparsity,
+                                  const ConstraintMatrix                     &constraints,
+                                  const bool                                  keep_constrained_dofs,
                                   const Table<2,Coupling>                    &int_mask,
-                                  const Table<2,Coupling>                    &flux_mask)
+                                  const Table<2,Coupling>                    &flux_mask,
+                                  const types::subdomain_id                   subdomain_id)
       {
         // while the implementation above is quite optimized and caches a
         // lot of data (see e.g. the int/flux_dof_mask tables), this is no
@@ -993,175 +981,192 @@ namespace DoFTools
         std::vector<types::global_dof_index> dofs_on_this_cell(DoFTools::max_dofs_per_cell(dof));
         std::vector<types::global_dof_index> dofs_on_other_cell(DoFTools::max_dofs_per_cell(dof));
 
-        const std::vector<Table<2,Coupling> >
-        int_dof_mask
-          = dof_couplings_from_component_couplings(fe, int_mask);
+        std::vector<Table<2,Coupling> > int_dof_mask (fe.size());
+
+        int_dof_mask = dof_couplings_from_component_couplings (fe, int_mask);
+
+        // Convert the int_dof_mask to bool_int_dof_mask so we can pass it
+        // to constraints.add_entries_local_to_global()
+        std::vector<Table<2,bool> > bool_int_dof_mask (fe.size());
+        for (unsigned int f=0; f<fe.size(); ++f)
+          {
+            bool_int_dof_mask[f].reinit (TableIndices<2>(fe[f].dofs_per_cell,fe[f].dofs_per_cell));
+            bool_int_dof_mask[f].fill (false);
+            for (unsigned int i=0; i<fe[f].dofs_per_cell; ++i)
+              for (unsigned int j=0; j<fe[f].dofs_per_cell; ++j)
+                if (int_dof_mask[f](i,j) != none)
+                  bool_int_dof_mask[f](i,j) = true;
+          }
+
 
         typename dealii::hp::DoFHandler<dim,spacedim>::active_cell_iterator
         cell = dof.begin_active(),
         endc = dof.end();
         for (; cell!=endc; ++cell)
-          {
-            dofs_on_this_cell.resize (cell->get_fe().dofs_per_cell);
-            cell->get_dof_indices (dofs_on_this_cell);
+          if (((subdomain_id == numbers::invalid_subdomain_id)
+               ||
+               (subdomain_id == cell->subdomain_id()))
+              &&
+              cell->is_locally_owned())
+            {
+              dofs_on_this_cell.resize (cell->get_fe().dofs_per_cell);
+              cell->get_dof_indices (dofs_on_this_cell);
 
-            // make sparsity pattern for this cell
-            for (unsigned int i=0; i<cell->get_fe().dofs_per_cell; ++i)
-              for (unsigned int j=0; j<cell->get_fe().dofs_per_cell; ++j)
-                if (int_dof_mask[cell->active_fe_index()](i,j) != none)
-                  sparsity.add (dofs_on_this_cell[i],
-                                dofs_on_this_cell[j]);
-
-            // Loop over all interior neighbors
-            for (unsigned int face = 0;
-                 face < GeometryInfo<dim>::faces_per_cell;
-                 ++face)
-              {
-                const typename dealii::hp::DoFHandler<dim,spacedim>::face_iterator
-                cell_face = cell->face(face);
-                if (cell_face->user_flag_set ())
-                  continue;
-
-                const bool periodic_neighbor = cell->has_periodic_neighbor (face);
-
-                if (cell->at_boundary (face) && (!periodic_neighbor))
-                  {
-                    for (unsigned int i=0; i<cell->get_fe().dofs_per_cell; ++i)
-                      for (unsigned int j=0; j<cell->get_fe().dofs_per_cell; ++j)
-                        if ((flux_mask(cell->get_fe().system_to_component_index(i).first,
-                                       cell->get_fe().system_to_component_index(j).first)
-                             == always)
-                            ||
-                            (flux_mask(cell->get_fe().system_to_component_index(i).first,
-                                       cell->get_fe().system_to_component_index(j).first)
-                             == nonzero))
-                          sparsity.add (dofs_on_this_cell[i],
-                                        dofs_on_this_cell[j]);
-                  }
-                else
-                  {
-                    typename dealii::hp::DoFHandler<dim,spacedim>::level_cell_iterator
-                    neighbor = cell->neighbor_or_periodic_neighbor(face);
-
-                    // Refinement edges are taken care of by coarser cells
-                    if ((!periodic_neighbor && cell->neighbor_is_coarser(face)) ||
-                        (periodic_neighbor && cell->periodic_neighbor_is_coarser(face)))
-                      continue;
-
-                    const unsigned int
-                    neighbor_face = periodic_neighbor?
-                                    cell->periodic_neighbor_of_periodic_neighbor(face):
-                                    cell->neighbor_of_neighbor(face);
-
-                    if (cell_face->has_children())
-                      {
-                        for (unsigned int sub_nr = 0;
-                             sub_nr != cell_face->n_children();
-                             ++sub_nr)
-                          {
-                            const typename dealii::hp::DoFHandler<dim,spacedim>::level_cell_iterator
-                            sub_neighbor
-                              = periodic_neighbor?
-                                cell->periodic_neighbor_child_on_subface (face, sub_nr):
-                                cell->neighbor_child_on_subface (face, sub_nr);
-
-                            dofs_on_other_cell.resize (sub_neighbor->get_fe().dofs_per_cell);
-                            sub_neighbor->get_dof_indices (dofs_on_other_cell);
-                            for (unsigned int i=0; i<cell->get_fe().dofs_per_cell; ++i)
-                              {
-                                for (unsigned int j=0; j<sub_neighbor->get_fe().dofs_per_cell;
-                                     ++j)
-                                  {
-                                    if ((flux_mask(cell->get_fe().system_to_component_index(i).first,
-                                                   sub_neighbor->get_fe().system_to_component_index(j).first)
-                                         == always)
-                                        ||
-                                        (flux_mask(cell->get_fe().system_to_component_index(i).first,
-                                                   sub_neighbor->get_fe().system_to_component_index(j).first)
-                                         == nonzero))
-                                      {
-                                        sparsity.add (dofs_on_this_cell[i],
-                                                      dofs_on_other_cell[j]);
-                                        sparsity.add (dofs_on_other_cell[i],
-                                                      dofs_on_this_cell[j]);
-                                        sparsity.add (dofs_on_this_cell[i],
-                                                      dofs_on_this_cell[j]);
-                                        sparsity.add (dofs_on_other_cell[i],
-                                                      dofs_on_other_cell[j]);
-                                      }
-
-                                    if ((flux_mask(sub_neighbor->get_fe().system_to_component_index(j).first,
-                                                   cell->get_fe().system_to_component_index(i).first)
-                                         == always)
-                                        ||
-                                        (flux_mask(sub_neighbor->get_fe().system_to_component_index(j).first,
-                                                   cell->get_fe().system_to_component_index(i).first)
-                                         == nonzero))
-                                      {
-                                        sparsity.add (dofs_on_this_cell[j],
-                                                      dofs_on_other_cell[i]);
-                                        sparsity.add (dofs_on_other_cell[j],
-                                                      dofs_on_this_cell[i]);
-                                        sparsity.add (dofs_on_this_cell[j],
-                                                      dofs_on_this_cell[i]);
-                                        sparsity.add (dofs_on_other_cell[j],
-                                                      dofs_on_other_cell[i]);
-                                      }
-                                  }
-                              }
-                            sub_neighbor->face(neighbor_face)->set_user_flag ();
-                          }
-                      }
-                    else
-                      {
-                        dofs_on_other_cell.resize (neighbor->get_fe().dofs_per_cell);
-                        neighbor->get_dof_indices (dofs_on_other_cell);
-                        for (unsigned int i=0; i<cell->get_fe().dofs_per_cell; ++i)
-                          {
-                            for (unsigned int j=0; j<neighbor->get_fe().dofs_per_cell; ++j)
-                              {
-                                if ((flux_mask(cell->get_fe().system_to_component_index(i).first,
-                                               neighbor->get_fe().system_to_component_index(j).first)
-                                     == always)
-                                    ||
-                                    (flux_mask(cell->get_fe().system_to_component_index(i).first,
-                                               neighbor->get_fe().system_to_component_index(j).first)
-                                     == nonzero))
-                                  {
-                                    sparsity.add (dofs_on_this_cell[i],
-                                                  dofs_on_other_cell[j]);
-                                    sparsity.add (dofs_on_other_cell[i],
-                                                  dofs_on_this_cell[j]);
-                                    sparsity.add (dofs_on_this_cell[i],
-                                                  dofs_on_this_cell[j]);
-                                    sparsity.add (dofs_on_other_cell[i],
-                                                  dofs_on_other_cell[j]);
-                                  }
-
-                                if ((flux_mask(neighbor->get_fe().system_to_component_index(j).first,
-                                               cell->get_fe().system_to_component_index(i).first)
-                                     == always)
-                                    ||
-                                    (flux_mask(neighbor->get_fe().system_to_component_index(j).first,
-                                               cell->get_fe().system_to_component_index(i).first)
-                                     == nonzero))
-                                  {
-                                    sparsity.add (dofs_on_this_cell[j],
-                                                  dofs_on_other_cell[i]);
-                                    sparsity.add (dofs_on_other_cell[j],
-                                                  dofs_on_this_cell[i]);
-                                    sparsity.add (dofs_on_this_cell[j],
-                                                  dofs_on_this_cell[i]);
-                                    sparsity.add (dofs_on_other_cell[j],
-                                                  dofs_on_other_cell[i]);
-                                  }
-                              }
-                          }
-                        neighbor->face(neighbor_face)->set_user_flag ();
-                      }
-                  }
-              }
-          }
+              // make sparsity pattern for this cell
+              constraints.add_entries_local_to_global (dofs_on_this_cell,
+                                                       sparsity,
+                                                       keep_constrained_dofs,
+                                                       bool_int_dof_mask[cell->active_fe_index()]);
+              // Loop over all interior neighbors
+              for (unsigned int face = 0;
+                   face < GeometryInfo<dim>::faces_per_cell;
+                   ++face)
+                {
+                  const typename dealii::hp::DoFHandler<dim,spacedim>::face_iterator
+                  cell_face = cell->face(face);
+                  if (cell_face->user_flag_set ())
+                    continue;
+
+                  const bool periodic_neighbor = cell->has_periodic_neighbor (face);
+
+                  if (cell->at_boundary (face) && (!periodic_neighbor))
+                    {
+                      for (unsigned int i=0; i<cell->get_fe().dofs_per_cell; ++i)
+                        for (unsigned int j=0; j<cell->get_fe().dofs_per_cell; ++j)
+                          if ((flux_mask(cell->get_fe().system_to_component_index(i).first,
+                                         cell->get_fe().system_to_component_index(j).first)
+                               == always)
+                              ||
+                              (flux_mask(cell->get_fe().system_to_component_index(i).first,
+                                         cell->get_fe().system_to_component_index(j).first)
+                               == nonzero))
+                            sparsity.add (dofs_on_this_cell[i],
+                                          dofs_on_this_cell[j]);
+                    }
+                  else
+                    {
+                      typename dealii::hp::DoFHandler<dim,spacedim>::level_cell_iterator
+                      neighbor = cell->neighbor_or_periodic_neighbor(face);
+
+                      // Refinement edges are taken care of by coarser cells
+                      if ((!periodic_neighbor && cell->neighbor_is_coarser(face)) ||
+                          (periodic_neighbor && cell->periodic_neighbor_is_coarser(face)))
+                        continue;
+
+                      const unsigned int
+                      neighbor_face = periodic_neighbor?
+                                      cell->periodic_neighbor_of_periodic_neighbor(face):
+                                      cell->neighbor_of_neighbor(face);
+
+                      if (cell_face->has_children())
+                        {
+                          for (unsigned int sub_nr = 0;
+                               sub_nr != cell_face->n_children();
+                               ++sub_nr)
+                            {
+                              const typename dealii::hp::DoFHandler<dim,spacedim>::level_cell_iterator
+                              sub_neighbor
+                                = periodic_neighbor?
+                                  cell->periodic_neighbor_child_on_subface (face, sub_nr):
+                                  cell->neighbor_child_on_subface (face, sub_nr);
+
+                              dofs_on_other_cell.resize (sub_neighbor->get_fe().dofs_per_cell);
+                              sub_neighbor->get_dof_indices (dofs_on_other_cell);
+                              for (unsigned int i=0; i<cell->get_fe().dofs_per_cell; ++i)
+                                {
+                                  for (unsigned int j=0; j<sub_neighbor->get_fe().dofs_per_cell;
+                                       ++j)
+                                    {
+                                      if ((flux_mask(cell->get_fe().system_to_component_index(i).first,
+                                                     sub_neighbor->get_fe().system_to_component_index(j).first)
+                                           == always)
+                                          ||
+                                          (flux_mask(cell->get_fe().system_to_component_index(i).first,
+                                                     sub_neighbor->get_fe().system_to_component_index(j).first)
+                                           == nonzero))
+                                        {
+                                          sparsity.add (dofs_on_this_cell[i],
+                                                        dofs_on_other_cell[j]);
+                                          sparsity.add (dofs_on_other_cell[i],
+                                                        dofs_on_this_cell[j]);
+                                          sparsity.add (dofs_on_this_cell[i],
+                                                        dofs_on_this_cell[j]);
+                                          sparsity.add (dofs_on_other_cell[i],
+                                                        dofs_on_other_cell[j]);
+                                        }
+
+                                      if ((flux_mask(sub_neighbor->get_fe().system_to_component_index(j).first,
+                                                     cell->get_fe().system_to_component_index(i).first)
+                                           == always)
+                                          ||
+                                          (flux_mask(sub_neighbor->get_fe().system_to_component_index(j).first,
+                                                     cell->get_fe().system_to_component_index(i).first)
+                                           == nonzero))
+                                        {
+                                          sparsity.add (dofs_on_this_cell[j],
+                                                        dofs_on_other_cell[i]);
+                                          sparsity.add (dofs_on_other_cell[j],
+                                                        dofs_on_this_cell[i]);
+                                          sparsity.add (dofs_on_this_cell[j],
+                                                        dofs_on_this_cell[i]);
+                                          sparsity.add (dofs_on_other_cell[j],
+                                                        dofs_on_other_cell[i]);
+                                        }
+                                    }
+                                }
+                              sub_neighbor->face(neighbor_face)->set_user_flag ();
+                            }
+                        }
+                      else
+                        {
+                          dofs_on_other_cell.resize (neighbor->get_fe().dofs_per_cell);
+                          neighbor->get_dof_indices (dofs_on_other_cell);
+                          for (unsigned int i=0; i<cell->get_fe().dofs_per_cell; ++i)
+                            {
+                              for (unsigned int j=0; j<neighbor->get_fe().dofs_per_cell; ++j)
+                                {
+                                  if ((flux_mask(cell->get_fe().system_to_component_index(i).first,
+                                                 neighbor->get_fe().system_to_component_index(j).first)
+                                       == always)
+                                      ||
+                                      (flux_mask(cell->get_fe().system_to_component_index(i).first,
+                                                 neighbor->get_fe().system_to_component_index(j).first)
+                                       == nonzero))
+                                    {
+                                      sparsity.add (dofs_on_this_cell[i],
+                                                    dofs_on_other_cell[j]);
+                                      sparsity.add (dofs_on_other_cell[i],
+                                                    dofs_on_this_cell[j]);
+                                      sparsity.add (dofs_on_this_cell[i],
+                                                    dofs_on_this_cell[j]);
+                                      sparsity.add (dofs_on_other_cell[i],
+                                                    dofs_on_other_cell[j]);
+                                    }
+
+                                  if ((flux_mask(neighbor->get_fe().system_to_component_index(j).first,
+                                                 cell->get_fe().system_to_component_index(i).first)
+                                       == always)
+                                      ||
+                                      (flux_mask(neighbor->get_fe().system_to_component_index(j).first,
+                                                 cell->get_fe().system_to_component_index(i).first)
+                                       == nonzero))
+                                    {
+                                      sparsity.add (dofs_on_this_cell[j],
+                                                    dofs_on_other_cell[i]);
+                                      sparsity.add (dofs_on_other_cell[j],
+                                                    dofs_on_this_cell[i]);
+                                      sparsity.add (dofs_on_this_cell[j],
+                                                    dofs_on_this_cell[i]);
+                                      sparsity.add (dofs_on_other_cell[j],
+                                                    dofs_on_other_cell[i]);
+                                    }
+                                }
+                            }
+                          neighbor->face(neighbor_face)->set_user_flag ();
+                        }
+                    }
+                }
+            }
       }
     }
 
@@ -1172,10 +1177,29 @@ namespace DoFTools
 
   template <typename DoFHandlerType, typename SparsityPatternType>
   void
-  make_flux_sparsity_pattern (const DoFHandlerType    &dof,
-                              SparsityPatternType     &sparsity,
-                              const Table<2,Coupling> &int_mask,
-                              const Table<2,Coupling> &flux_mask)
+  make_flux_sparsity_pattern (const DoFHandlerType      &dof,
+                              SparsityPatternType       &sparsity,
+                              const Table<2,Coupling>   &int_mask,
+                              const Table<2,Coupling>   &flux_mask,
+                              const types::subdomain_id  subdomain_id)
+  {
+    ConstraintMatrix constraints;
+    const bool keep_constrained_dofs = true;
+    make_flux_sparsity_pattern (dof, sparsity,
+                                constraints, keep_constrained_dofs,
+                                int_mask, flux_mask,
+                                subdomain_id);
+  }
+
+  template <typename DoFHandlerType, typename SparsityPatternType>
+  void
+  make_flux_sparsity_pattern (const DoFHandlerType      &dof,
+                              SparsityPatternType       &sparsity,
+                              const ConstraintMatrix    &constraints,
+                              const bool                 keep_constrained_dofs,
+                              const Table<2,Coupling>   &int_mask,
+                              const Table<2,Coupling>   &flux_mask,
+                              const types::subdomain_id  subdomain_id)
   {
     // do the error checking and frame code here, and then pass on to more
     // specialized functions in the internal namespace
@@ -1197,6 +1221,19 @@ namespace DoFTools
     Assert (flux_mask.n_cols() == n_comp,
             ExcDimensionMismatch (flux_mask.n_cols(), n_comp));
 
+    // If we have a distributed::Triangulation only allow locally_owned
+    // subdomain. Not setting a subdomain is also okay, because we skip
+    // ghost cells in the loop below.
+    Assert (
+      (dof.get_triangulation().locally_owned_subdomain() == numbers::invalid_subdomain_id)
+      ||
+      (subdomain_id == numbers::invalid_subdomain_id)
+      ||
+      (subdomain_id == dof.get_triangulation().locally_owned_subdomain()),
+      ExcMessage ("For parallel::distributed::Triangulation objects and "
+                  "associated DoF handler objects, asking for any subdomain other "
+                  "than the locally owned one does not make sense."));
+
     // Clear user flags because we will need them. But first we save them
     // and make sure that we restore them later such that at the end of
     // this function the Triangulation will be in the same state as it was
@@ -1207,7 +1244,9 @@ namespace DoFTools
     (dof.get_triangulation()).clear_user_flags ();
 
     internal::make_flux_sparsity_pattern (dof, sparsity,
-                                          int_mask, flux_mask);
+                                          constraints, keep_constrained_dofs,
+                                          int_mask, flux_mask,
+                                          subdomain_id);
 
     // finally restore the user flags
     const_cast<Triangulation<DoFHandlerType::dimension,DoFHandlerType::space_dimension> &>
index 14260fb84bc9c7dd5518398f0216d2a394e91665..5222635f7dcc794aa8d4de2b9364f2bad3e99b67 100644 (file)
@@ -183,6 +183,23 @@ for (SP : SPARSITY_PATTERNS; deal_II_dimension : DIMENSIONS)
     (const hp::DoFHandler<deal_II_dimension> &dof,
      SP    &sparsity);
 
+    template void
+    DoFTools::make_flux_sparsity_pattern<DoFHandler<deal_II_dimension>,SP>
+    (const DoFHandler<deal_II_dimension> &dof,
+     SP    &sparsity,
+     const Table<2,Coupling>&,
+     const Table<2,Coupling>&,
+     const unsigned int);
+
+    template void
+    DoFTools::make_flux_sparsity_pattern<DoFHandler<deal_II_dimension>,SP>
+    (const DoFHandler<deal_II_dimension> &dof,
+     SP    &sparsity,
+     const ConstraintMatrix &constraints,
+     const bool,
+     const Table<2,Coupling>&,
+     const Table<2,Coupling>&,
+     const unsigned int);
 
     template void
     DoFTools::make_flux_sparsity_pattern<DoFHandler<deal_II_dimension>,SP>
@@ -198,20 +215,26 @@ for (SP : SPARSITY_PATTERNS; deal_II_dimension : DIMENSIONS)
      const ConstraintMatrix &constraints,
      const bool, const unsigned int);
 
+#if deal_II_dimension > 1
+
     template void
-    DoFTools::make_flux_sparsity_pattern<DoFHandler<deal_II_dimension>,SP>
-    (const DoFHandler<deal_II_dimension> &dof,
-     SP    &,
+    DoFTools::make_flux_sparsity_pattern<hp::DoFHandler<deal_II_dimension>,SP>
+    (const hp::DoFHandler<deal_II_dimension> &dof,
+     SP    &sparsity,
+     const Table<2,Coupling>&,
      const Table<2,Coupling>&,
-     const Table<2,Coupling>&);
+     const unsigned int);
 
-#if deal_II_dimension > 1
     template void
     DoFTools::make_flux_sparsity_pattern<hp::DoFHandler<deal_II_dimension>,SP>
     (const hp::DoFHandler<deal_II_dimension> &dof,
-     SP    &,
+     SP    &sparsity,
+     const ConstraintMatrix &constraints,
+     const bool,
+     const Table<2,Coupling>&,
      const Table<2,Coupling>&,
-     const Table<2,Coupling>&);
+     const unsigned int);
+
 #endif
 
 #if deal_II_dimension < 3
diff --git a/tests/dofs/dof_tools_22a.cc b/tests/dofs/dof_tools_22a.cc
new file mode 100644 (file)
index 0000000..6ae2490
--- /dev/null
@@ -0,0 +1,137 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2016 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+//
+// This test was written by Sam Cox.
+
+// Tests the behaviour of DoFTools::make_flux_sparsity_pattern (DoFHandler,
+//                          SparsityPattern, ConstraintMatrix, bool,
+//                          coupling, flux_coupling, subdomain_id)
+
+#include "../tests.h"
+#include <deal.II/base/logstream.h>
+#include <deal.II/base/point.h>
+#include <deal.II/distributed/tria.h>
+#include <deal.II/fe/fe_system.h>
+#include <deal.II/fe/fe_q.h>
+#include <deal.II/fe/fe_dgq.h>
+#include <deal.II/dofs/dof_handler.h>
+#include <deal.II/dofs/dof_tools.h>
+#include <deal.II/lac/sparsity_tools.h>
+#include <deal.II/grid/grid_generator.h>
+#include <deal.II/lac/trilinos_sparsity_pattern.h>
+#include <deal.II/lac/dynamic_sparsity_pattern.h>
+#include <fstream>
+#include <sstream>
+#include <iomanip>
+#include <list>
+#include <set>
+#include <cstdio>
+
+
+void test ()
+{
+
+  unsigned int np = Utilities::MPI::n_mpi_processes(MPI_COMM_WORLD);
+  unsigned int myid = Utilities::MPI::this_mpi_process (MPI_COMM_WORLD);
+  const int dim = 2;
+  // Setup system
+  dealii::parallel::distributed::Triangulation<dim> triangulation(MPI_COMM_WORLD);
+
+  GridGenerator::hyper_rectangle (triangulation,
+                                  Point<dim>(0,0),
+                                  Point<dim>(1,1),
+                                  true);
+
+  triangulation.refine_global(1);
+  // Extra refinement to generate hanging nodes
+  for (typename Triangulation<dim>::active_cell_iterator
+       cell = triangulation.begin_active();
+       cell != triangulation.end(); ++cell)
+    if (cell->center()(0) > 0.49)
+      cell->set_refine_flag ();
+
+  triangulation.prepare_coarsening_and_refinement();
+  triangulation.execute_coarsening_and_refinement ();
+  triangulation.repartition();
+
+  const FESystem<dim> fe_system (FE_Q<dim>(2),1,
+                                 FE_DGQ<dim>(2),1);
+
+  DoFHandler<dim> dh (triangulation);
+
+  dh.distribute_dofs (fe_system);
+
+  // Couple the internal DoFs of both finite elements.
+  // Only couple the face terms of the discontinuous element.
+  Table<2,DoFTools::Coupling> coupling (2, 2);
+  Table<2,DoFTools::Coupling> flux_coupling (2, 2);
+
+  for (unsigned int i=0; i<2; ++i)
+    for (unsigned int j=0; j<2; ++j)
+      {
+        coupling[i][j] = DoFTools::none;
+        flux_coupling[i][j] = DoFTools::none;
+      }
+
+  coupling[0][0] = DoFTools::always;
+  coupling[1][1] = DoFTools::always;
+  flux_coupling[1][1] = DoFTools::always;
+
+  IndexSet relevant_partitioning (dh.n_dofs());
+  DoFTools::extract_locally_relevant_dofs (dh, relevant_partitioning);
+
+  // Generate hanging node constraints
+  ConstraintMatrix constraints;
+  constraints.clear();
+  DoFTools::make_hanging_node_constraints (dh,
+                                           constraints);
+  constraints.close();
+
+  // Generate sparsity pattern
+  DynamicSparsityPattern sp (relevant_partitioning);
+  DoFTools::make_flux_sparsity_pattern (dh, sp,
+                                        constraints, false,
+                                        coupling,
+                                        flux_coupling,
+                                        Utilities::MPI::this_mpi_process(MPI_COMM_WORLD));
+  SparsityTools::distribute_sparsity_pattern (sp,
+                                              dh.n_locally_owned_dofs_per_processor(),
+                                              MPI_COMM_WORLD,
+                                              relevant_partitioning);
+
+  // Output
+  MPI_Barrier(MPI_COMM_WORLD);
+
+  deallog.push(Utilities::int_to_string(myid));
+
+  deallog << "**** proc " << myid << ": \n\n";
+  deallog << "Sparsity pattern:\n";
+  sp.print_gnuplot(deallog.get_file_stream());
+
+  MPI_Barrier(MPI_COMM_WORLD);
+
+}
+
+int main(int argc, char **argv)
+{
+  Utilities::MPI::MPI_InitFinalize mpi_initialization (argc, argv, testing_max_num_threads());
+  const unsigned int myid = Utilities::MPI::this_mpi_process (MPI_COMM_WORLD);
+  MPILogInitAll log;
+
+  deallog.push(Utilities::int_to_string(myid));
+
+  test();
+  deallog.pop();
+}
diff --git a/tests/dofs/dof_tools_22a.with_trilinos=true.mpirun=1.output b/tests/dofs/dof_tools_22a.with_trilinos=true.mpirun=1.output
new file mode 100644 (file)
index 0000000..98a40db
--- /dev/null
@@ -0,0 +1,3912 @@
+
+0 0
+1 0
+2 0
+3 0
+4 0
+5 0
+6 0
+7 0
+8 0
+0 -1
+1 -1
+2 -1
+3 -1
+4 -1
+5 -1
+6 -1
+7 -1
+8 -1
+33 -1
+35 -1
+37 -1
+38 -1
+39 -1
+40 -1
+65 -1
+67 -1
+68 -1
+69 -1
+0 -2
+1 -2
+2 -2
+3 -2
+4 -2
+5 -2
+6 -2
+7 -2
+8 -2
+18 -2
+19 -2
+20 -2
+21 -2
+22 -2
+23 -2
+0 -3
+1 -3
+2 -3
+3 -3
+4 -3
+5 -3
+6 -3
+7 -3
+8 -3
+18 -3
+19 -3
+20 -3
+21 -3
+22 -3
+23 -3
+33 -3
+35 -3
+37 -3
+38 -3
+39 -3
+40 -3
+65 -3
+67 -3
+68 -3
+69 -3
+93 -3
+95 -3
+96 -3
+97 -3
+120 -3
+122 -3
+123 -3
+124 -3
+0 -4
+1 -4
+2 -4
+3 -4
+4 -4
+5 -4
+6 -4
+7 -4
+8 -4
+0 -5
+1 -5
+2 -5
+3 -5
+4 -5
+5 -5
+6 -5
+7 -5
+8 -5
+33 -5
+35 -5
+37 -5
+38 -5
+39 -5
+40 -5
+65 -5
+67 -5
+68 -5
+69 -5
+0 -6
+1 -6
+2 -6
+3 -6
+4 -6
+5 -6
+6 -6
+7 -6
+8 -6
+0 -7
+1 -7
+2 -7
+3 -7
+4 -7
+5 -7
+6 -7
+7 -7
+8 -7
+18 -7
+19 -7
+20 -7
+21 -7
+22 -7
+23 -7
+0 -8
+1 -8
+2 -8
+3 -8
+4 -8
+5 -8
+6 -8
+7 -8
+8 -8
+9 -9
+10 -9
+11 -9
+12 -9
+13 -9
+14 -9
+15 -9
+16 -9
+17 -9
+24 -9
+25 -9
+26 -9
+27 -9
+28 -9
+29 -9
+30 -9
+31 -9
+32 -9
+41 -9
+42 -9
+43 -9
+44 -9
+45 -9
+46 -9
+47 -9
+48 -9
+49 -9
+70 -9
+71 -9
+72 -9
+73 -9
+74 -9
+75 -9
+76 -9
+77 -9
+78 -9
+9 -10
+10 -10
+11 -10
+12 -10
+13 -10
+14 -10
+15 -10
+16 -10
+17 -10
+24 -10
+25 -10
+26 -10
+27 -10
+28 -10
+29 -10
+30 -10
+31 -10
+32 -10
+41 -10
+42 -10
+43 -10
+44 -10
+45 -10
+46 -10
+47 -10
+48 -10
+49 -10
+70 -10
+71 -10
+72 -10
+73 -10
+74 -10
+75 -10
+76 -10
+77 -10
+78 -10
+9 -11
+10 -11
+11 -11
+12 -11
+13 -11
+14 -11
+15 -11
+16 -11
+17 -11
+24 -11
+25 -11
+26 -11
+27 -11
+28 -11
+29 -11
+30 -11
+31 -11
+32 -11
+41 -11
+42 -11
+43 -11
+44 -11
+45 -11
+46 -11
+47 -11
+48 -11
+49 -11
+70 -11
+71 -11
+72 -11
+73 -11
+74 -11
+75 -11
+76 -11
+77 -11
+78 -11
+9 -12
+10 -12
+11 -12
+12 -12
+13 -12
+14 -12
+15 -12
+16 -12
+17 -12
+24 -12
+25 -12
+26 -12
+27 -12
+28 -12
+29 -12
+30 -12
+31 -12
+32 -12
+41 -12
+42 -12
+43 -12
+44 -12
+45 -12
+46 -12
+47 -12
+48 -12
+49 -12
+70 -12
+71 -12
+72 -12
+73 -12
+74 -12
+75 -12
+76 -12
+77 -12
+78 -12
+9 -13
+10 -13
+11 -13
+12 -13
+13 -13
+14 -13
+15 -13
+16 -13
+17 -13
+24 -13
+25 -13
+26 -13
+27 -13
+28 -13
+29 -13
+30 -13
+31 -13
+32 -13
+41 -13
+42 -13
+43 -13
+44 -13
+45 -13
+46 -13
+47 -13
+48 -13
+49 -13
+70 -13
+71 -13
+72 -13
+73 -13
+74 -13
+75 -13
+76 -13
+77 -13
+78 -13
+9 -14
+10 -14
+11 -14
+12 -14
+13 -14
+14 -14
+15 -14
+16 -14
+17 -14
+24 -14
+25 -14
+26 -14
+27 -14
+28 -14
+29 -14
+30 -14
+31 -14
+32 -14
+41 -14
+42 -14
+43 -14
+44 -14
+45 -14
+46 -14
+47 -14
+48 -14
+49 -14
+70 -14
+71 -14
+72 -14
+73 -14
+74 -14
+75 -14
+76 -14
+77 -14
+78 -14
+9 -15
+10 -15
+11 -15
+12 -15
+13 -15
+14 -15
+15 -15
+16 -15
+17 -15
+24 -15
+25 -15
+26 -15
+27 -15
+28 -15
+29 -15
+30 -15
+31 -15
+32 -15
+41 -15
+42 -15
+43 -15
+44 -15
+45 -15
+46 -15
+47 -15
+48 -15
+49 -15
+70 -15
+71 -15
+72 -15
+73 -15
+74 -15
+75 -15
+76 -15
+77 -15
+78 -15
+9 -16
+10 -16
+11 -16
+12 -16
+13 -16
+14 -16
+15 -16
+16 -16
+17 -16
+24 -16
+25 -16
+26 -16
+27 -16
+28 -16
+29 -16
+30 -16
+31 -16
+32 -16
+41 -16
+42 -16
+43 -16
+44 -16
+45 -16
+46 -16
+47 -16
+48 -16
+49 -16
+70 -16
+71 -16
+72 -16
+73 -16
+74 -16
+75 -16
+76 -16
+77 -16
+78 -16
+9 -17
+10 -17
+11 -17
+12 -17
+13 -17
+14 -17
+15 -17
+16 -17
+17 -17
+24 -17
+25 -17
+26 -17
+27 -17
+28 -17
+29 -17
+30 -17
+31 -17
+32 -17
+41 -17
+42 -17
+43 -17
+44 -17
+45 -17
+46 -17
+47 -17
+48 -17
+49 -17
+70 -17
+71 -17
+72 -17
+73 -17
+74 -17
+75 -17
+76 -17
+77 -17
+78 -17
+2 -18
+3 -18
+7 -18
+18 -18
+19 -18
+20 -18
+21 -18
+22 -18
+23 -18
+2 -19
+3 -19
+7 -19
+18 -19
+19 -19
+20 -19
+21 -19
+22 -19
+23 -19
+65 -19
+68 -19
+93 -19
+95 -19
+96 -19
+97 -19
+120 -19
+122 -19
+123 -19
+124 -19
+2 -20
+3 -20
+7 -20
+18 -20
+19 -20
+20 -20
+21 -20
+22 -20
+23 -20
+2 -21
+3 -21
+7 -21
+18 -21
+19 -21
+20 -21
+21 -21
+22 -21
+23 -21
+65 -21
+68 -21
+93 -21
+95 -21
+96 -21
+97 -21
+120 -21
+122 -21
+123 -21
+124 -21
+2 -22
+3 -22
+7 -22
+18 -22
+19 -22
+20 -22
+21 -22
+22 -22
+23 -22
+2 -23
+3 -23
+7 -23
+18 -23
+19 -23
+20 -23
+21 -23
+22 -23
+23 -23
+9 -24
+10 -24
+11 -24
+12 -24
+13 -24
+14 -24
+15 -24
+16 -24
+17 -24
+24 -24
+25 -24
+26 -24
+27 -24
+28 -24
+29 -24
+30 -24
+31 -24
+32 -24
+98 -24
+99 -24
+100 -24
+101 -24
+102 -24
+103 -24
+104 -24
+105 -24
+106 -24
+125 -24
+126 -24
+127 -24
+128 -24
+129 -24
+130 -24
+131 -24
+132 -24
+133 -24
+9 -25
+10 -25
+11 -25
+12 -25
+13 -25
+14 -25
+15 -25
+16 -25
+17 -25
+24 -25
+25 -25
+26 -25
+27 -25
+28 -25
+29 -25
+30 -25
+31 -25
+32 -25
+98 -25
+99 -25
+100 -25
+101 -25
+102 -25
+103 -25
+104 -25
+105 -25
+106 -25
+125 -25
+126 -25
+127 -25
+128 -25
+129 -25
+130 -25
+131 -25
+132 -25
+133 -25
+9 -26
+10 -26
+11 -26
+12 -26
+13 -26
+14 -26
+15 -26
+16 -26
+17 -26
+24 -26
+25 -26
+26 -26
+27 -26
+28 -26
+29 -26
+30 -26
+31 -26
+32 -26
+98 -26
+99 -26
+100 -26
+101 -26
+102 -26
+103 -26
+104 -26
+105 -26
+106 -26
+125 -26
+126 -26
+127 -26
+128 -26
+129 -26
+130 -26
+131 -26
+132 -26
+133 -26
+9 -27
+10 -27
+11 -27
+12 -27
+13 -27
+14 -27
+15 -27
+16 -27
+17 -27
+24 -27
+25 -27
+26 -27
+27 -27
+28 -27
+29 -27
+30 -27
+31 -27
+32 -27
+98 -27
+99 -27
+100 -27
+101 -27
+102 -27
+103 -27
+104 -27
+105 -27
+106 -27
+125 -27
+126 -27
+127 -27
+128 -27
+129 -27
+130 -27
+131 -27
+132 -27
+133 -27
+9 -28
+10 -28
+11 -28
+12 -28
+13 -28
+14 -28
+15 -28
+16 -28
+17 -28
+24 -28
+25 -28
+26 -28
+27 -28
+28 -28
+29 -28
+30 -28
+31 -28
+32 -28
+98 -28
+99 -28
+100 -28
+101 -28
+102 -28
+103 -28
+104 -28
+105 -28
+106 -28
+125 -28
+126 -28
+127 -28
+128 -28
+129 -28
+130 -28
+131 -28
+132 -28
+133 -28
+9 -29
+10 -29
+11 -29
+12 -29
+13 -29
+14 -29
+15 -29
+16 -29
+17 -29
+24 -29
+25 -29
+26 -29
+27 -29
+28 -29
+29 -29
+30 -29
+31 -29
+32 -29
+98 -29
+99 -29
+100 -29
+101 -29
+102 -29
+103 -29
+104 -29
+105 -29
+106 -29
+125 -29
+126 -29
+127 -29
+128 -29
+129 -29
+130 -29
+131 -29
+132 -29
+133 -29
+9 -30
+10 -30
+11 -30
+12 -30
+13 -30
+14 -30
+15 -30
+16 -30
+17 -30
+24 -30
+25 -30
+26 -30
+27 -30
+28 -30
+29 -30
+30 -30
+31 -30
+32 -30
+98 -30
+99 -30
+100 -30
+101 -30
+102 -30
+103 -30
+104 -30
+105 -30
+106 -30
+125 -30
+126 -30
+127 -30
+128 -30
+129 -30
+130 -30
+131 -30
+132 -30
+133 -30
+9 -31
+10 -31
+11 -31
+12 -31
+13 -31
+14 -31
+15 -31
+16 -31
+17 -31
+24 -31
+25 -31
+26 -31
+27 -31
+28 -31
+29 -31
+30 -31
+31 -31
+32 -31
+98 -31
+99 -31
+100 -31
+101 -31
+102 -31
+103 -31
+104 -31
+105 -31
+106 -31
+125 -31
+126 -31
+127 -31
+128 -31
+129 -31
+130 -31
+131 -31
+132 -31
+133 -31
+9 -32
+10 -32
+11 -32
+12 -32
+13 -32
+14 -32
+15 -32
+16 -32
+17 -32
+24 -32
+25 -32
+26 -32
+27 -32
+28 -32
+29 -32
+30 -32
+31 -32
+32 -32
+98 -32
+99 -32
+100 -32
+101 -32
+102 -32
+103 -32
+104 -32
+105 -32
+106 -32
+125 -32
+126 -32
+127 -32
+128 -32
+129 -32
+130 -32
+131 -32
+132 -32
+133 -32
+1 -33
+3 -33
+5 -33
+33 -33
+35 -33
+37 -33
+38 -33
+39 -33
+40 -33
+50 -33
+51 -33
+52 -33
+53 -33
+54 -33
+55 -33
+34 -34
+1 -35
+3 -35
+5 -35
+33 -35
+35 -35
+37 -35
+38 -35
+39 -35
+40 -35
+50 -35
+51 -35
+52 -35
+53 -35
+54 -35
+55 -35
+65 -35
+67 -35
+68 -35
+69 -35
+79 -35
+80 -35
+81 -35
+82 -35
+36 -36
+1 -37
+3 -37
+5 -37
+33 -37
+35 -37
+37 -37
+38 -37
+39 -37
+40 -37
+50 -37
+51 -37
+52 -37
+53 -37
+54 -37
+55 -37
+1 -38
+3 -38
+5 -38
+33 -38
+35 -38
+37 -38
+38 -38
+39 -38
+40 -38
+1 -39
+3 -39
+5 -39
+33 -39
+35 -39
+37 -39
+38 -39
+39 -39
+40 -39
+65 -39
+67 -39
+68 -39
+69 -39
+1 -40
+3 -40
+5 -40
+33 -40
+35 -40
+37 -40
+38 -40
+39 -40
+40 -40
+9 -41
+10 -41
+11 -41
+12 -41
+13 -41
+14 -41
+15 -41
+16 -41
+17 -41
+41 -41
+42 -41
+43 -41
+44 -41
+45 -41
+46 -41
+47 -41
+48 -41
+49 -41
+56 -41
+57 -41
+58 -41
+59 -41
+60 -41
+61 -41
+62 -41
+63 -41
+64 -41
+70 -41
+71 -41
+72 -41
+73 -41
+74 -41
+75 -41
+76 -41
+77 -41
+78 -41
+9 -42
+10 -42
+11 -42
+12 -42
+13 -42
+14 -42
+15 -42
+16 -42
+17 -42
+41 -42
+42 -42
+43 -42
+44 -42
+45 -42
+46 -42
+47 -42
+48 -42
+49 -42
+56 -42
+57 -42
+58 -42
+59 -42
+60 -42
+61 -42
+62 -42
+63 -42
+64 -42
+70 -42
+71 -42
+72 -42
+73 -42
+74 -42
+75 -42
+76 -42
+77 -42
+78 -42
+9 -43
+10 -43
+11 -43
+12 -43
+13 -43
+14 -43
+15 -43
+16 -43
+17 -43
+41 -43
+42 -43
+43 -43
+44 -43
+45 -43
+46 -43
+47 -43
+48 -43
+49 -43
+56 -43
+57 -43
+58 -43
+59 -43
+60 -43
+61 -43
+62 -43
+63 -43
+64 -43
+70 -43
+71 -43
+72 -43
+73 -43
+74 -43
+75 -43
+76 -43
+77 -43
+78 -43
+9 -44
+10 -44
+11 -44
+12 -44
+13 -44
+14 -44
+15 -44
+16 -44
+17 -44
+41 -44
+42 -44
+43 -44
+44 -44
+45 -44
+46 -44
+47 -44
+48 -44
+49 -44
+56 -44
+57 -44
+58 -44
+59 -44
+60 -44
+61 -44
+62 -44
+63 -44
+64 -44
+70 -44
+71 -44
+72 -44
+73 -44
+74 -44
+75 -44
+76 -44
+77 -44
+78 -44
+9 -45
+10 -45
+11 -45
+12 -45
+13 -45
+14 -45
+15 -45
+16 -45
+17 -45
+41 -45
+42 -45
+43 -45
+44 -45
+45 -45
+46 -45
+47 -45
+48 -45
+49 -45
+56 -45
+57 -45
+58 -45
+59 -45
+60 -45
+61 -45
+62 -45
+63 -45
+64 -45
+70 -45
+71 -45
+72 -45
+73 -45
+74 -45
+75 -45
+76 -45
+77 -45
+78 -45
+9 -46
+10 -46
+11 -46
+12 -46
+13 -46
+14 -46
+15 -46
+16 -46
+17 -46
+41 -46
+42 -46
+43 -46
+44 -46
+45 -46
+46 -46
+47 -46
+48 -46
+49 -46
+56 -46
+57 -46
+58 -46
+59 -46
+60 -46
+61 -46
+62 -46
+63 -46
+64 -46
+70 -46
+71 -46
+72 -46
+73 -46
+74 -46
+75 -46
+76 -46
+77 -46
+78 -46
+9 -47
+10 -47
+11 -47
+12 -47
+13 -47
+14 -47
+15 -47
+16 -47
+17 -47
+41 -47
+42 -47
+43 -47
+44 -47
+45 -47
+46 -47
+47 -47
+48 -47
+49 -47
+56 -47
+57 -47
+58 -47
+59 -47
+60 -47
+61 -47
+62 -47
+63 -47
+64 -47
+70 -47
+71 -47
+72 -47
+73 -47
+74 -47
+75 -47
+76 -47
+77 -47
+78 -47
+9 -48
+10 -48
+11 -48
+12 -48
+13 -48
+14 -48
+15 -48
+16 -48
+17 -48
+41 -48
+42 -48
+43 -48
+44 -48
+45 -48
+46 -48
+47 -48
+48 -48
+49 -48
+56 -48
+57 -48
+58 -48
+59 -48
+60 -48
+61 -48
+62 -48
+63 -48
+64 -48
+70 -48
+71 -48
+72 -48
+73 -48
+74 -48
+75 -48
+76 -48
+77 -48
+78 -48
+9 -49
+10 -49
+11 -49
+12 -49
+13 -49
+14 -49
+15 -49
+16 -49
+17 -49
+41 -49
+42 -49
+43 -49
+44 -49
+45 -49
+46 -49
+47 -49
+48 -49
+49 -49
+56 -49
+57 -49
+58 -49
+59 -49
+60 -49
+61 -49
+62 -49
+63 -49
+64 -49
+70 -49
+71 -49
+72 -49
+73 -49
+74 -49
+75 -49
+76 -49
+77 -49
+78 -49
+33 -50
+35 -50
+37 -50
+50 -50
+51 -50
+52 -50
+53 -50
+54 -50
+55 -50
+33 -51
+35 -51
+37 -51
+50 -51
+51 -51
+52 -51
+53 -51
+54 -51
+55 -51
+65 -51
+67 -51
+79 -51
+80 -51
+81 -51
+82 -51
+33 -52
+35 -52
+37 -52
+50 -52
+51 -52
+52 -52
+53 -52
+54 -52
+55 -52
+33 -53
+35 -53
+37 -53
+50 -53
+51 -53
+52 -53
+53 -53
+54 -53
+55 -53
+33 -54
+35 -54
+37 -54
+50 -54
+51 -54
+52 -54
+53 -54
+54 -54
+55 -54
+65 -54
+67 -54
+79 -54
+80 -54
+81 -54
+82 -54
+33 -55
+35 -55
+37 -55
+50 -55
+51 -55
+52 -55
+53 -55
+54 -55
+55 -55
+41 -56
+42 -56
+43 -56
+44 -56
+45 -56
+46 -56
+47 -56
+48 -56
+49 -56
+56 -56
+57 -56
+58 -56
+59 -56
+60 -56
+61 -56
+62 -56
+63 -56
+64 -56
+83 -56
+84 -56
+85 -56
+86 -56
+87 -56
+88 -56
+89 -56
+90 -56
+91 -56
+41 -57
+42 -57
+43 -57
+44 -57
+45 -57
+46 -57
+47 -57
+48 -57
+49 -57
+56 -57
+57 -57
+58 -57
+59 -57
+60 -57
+61 -57
+62 -57
+63 -57
+64 -57
+83 -57
+84 -57
+85 -57
+86 -57
+87 -57
+88 -57
+89 -57
+90 -57
+91 -57
+41 -58
+42 -58
+43 -58
+44 -58
+45 -58
+46 -58
+47 -58
+48 -58
+49 -58
+56 -58
+57 -58
+58 -58
+59 -58
+60 -58
+61 -58
+62 -58
+63 -58
+64 -58
+83 -58
+84 -58
+85 -58
+86 -58
+87 -58
+88 -58
+89 -58
+90 -58
+91 -58
+41 -59
+42 -59
+43 -59
+44 -59
+45 -59
+46 -59
+47 -59
+48 -59
+49 -59
+56 -59
+57 -59
+58 -59
+59 -59
+60 -59
+61 -59
+62 -59
+63 -59
+64 -59
+83 -59
+84 -59
+85 -59
+86 -59
+87 -59
+88 -59
+89 -59
+90 -59
+91 -59
+41 -60
+42 -60
+43 -60
+44 -60
+45 -60
+46 -60
+47 -60
+48 -60
+49 -60
+56 -60
+57 -60
+58 -60
+59 -60
+60 -60
+61 -60
+62 -60
+63 -60
+64 -60
+83 -60
+84 -60
+85 -60
+86 -60
+87 -60
+88 -60
+89 -60
+90 -60
+91 -60
+41 -61
+42 -61
+43 -61
+44 -61
+45 -61
+46 -61
+47 -61
+48 -61
+49 -61
+56 -61
+57 -61
+58 -61
+59 -61
+60 -61
+61 -61
+62 -61
+63 -61
+64 -61
+83 -61
+84 -61
+85 -61
+86 -61
+87 -61
+88 -61
+89 -61
+90 -61
+91 -61
+41 -62
+42 -62
+43 -62
+44 -62
+45 -62
+46 -62
+47 -62
+48 -62
+49 -62
+56 -62
+57 -62
+58 -62
+59 -62
+60 -62
+61 -62
+62 -62
+63 -62
+64 -62
+83 -62
+84 -62
+85 -62
+86 -62
+87 -62
+88 -62
+89 -62
+90 -62
+91 -62
+41 -63
+42 -63
+43 -63
+44 -63
+45 -63
+46 -63
+47 -63
+48 -63
+49 -63
+56 -63
+57 -63
+58 -63
+59 -63
+60 -63
+61 -63
+62 -63
+63 -63
+64 -63
+83 -63
+84 -63
+85 -63
+86 -63
+87 -63
+88 -63
+89 -63
+90 -63
+91 -63
+41 -64
+42 -64
+43 -64
+44 -64
+45 -64
+46 -64
+47 -64
+48 -64
+49 -64
+56 -64
+57 -64
+58 -64
+59 -64
+60 -64
+61 -64
+62 -64
+63 -64
+64 -64
+83 -64
+84 -64
+85 -64
+86 -64
+87 -64
+88 -64
+89 -64
+90 -64
+91 -64
+1 -65
+3 -65
+5 -65
+19 -65
+21 -65
+35 -65
+39 -65
+51 -65
+54 -65
+65 -65
+67 -65
+68 -65
+69 -65
+79 -65
+80 -65
+81 -65
+82 -65
+93 -65
+95 -65
+96 -65
+97 -65
+107 -65
+108 -65
+109 -65
+110 -65
+66 -66
+1 -67
+3 -67
+5 -67
+35 -67
+39 -67
+51 -67
+54 -67
+65 -67
+67 -67
+68 -67
+69 -67
+79 -67
+80 -67
+81 -67
+82 -67
+1 -68
+3 -68
+5 -68
+19 -68
+21 -68
+35 -68
+39 -68
+65 -68
+67 -68
+68 -68
+69 -68
+93 -68
+95 -68
+96 -68
+97 -68
+1 -69
+3 -69
+5 -69
+35 -69
+39 -69
+65 -69
+67 -69
+68 -69
+69 -69
+9 -70
+10 -70
+11 -70
+12 -70
+13 -70
+14 -70
+15 -70
+16 -70
+17 -70
+41 -70
+42 -70
+43 -70
+44 -70
+45 -70
+46 -70
+47 -70
+48 -70
+49 -70
+70 -70
+71 -70
+72 -70
+73 -70
+74 -70
+75 -70
+76 -70
+77 -70
+78 -70
+83 -70
+84 -70
+85 -70
+86 -70
+87 -70
+88 -70
+89 -70
+90 -70
+91 -70
+98 -70
+99 -70
+100 -70
+101 -70
+102 -70
+103 -70
+104 -70
+105 -70
+106 -70
+9 -71
+10 -71
+11 -71
+12 -71
+13 -71
+14 -71
+15 -71
+16 -71
+17 -71
+41 -71
+42 -71
+43 -71
+44 -71
+45 -71
+46 -71
+47 -71
+48 -71
+49 -71
+70 -71
+71 -71
+72 -71
+73 -71
+74 -71
+75 -71
+76 -71
+77 -71
+78 -71
+83 -71
+84 -71
+85 -71
+86 -71
+87 -71
+88 -71
+89 -71
+90 -71
+91 -71
+98 -71
+99 -71
+100 -71
+101 -71
+102 -71
+103 -71
+104 -71
+105 -71
+106 -71
+9 -72
+10 -72
+11 -72
+12 -72
+13 -72
+14 -72
+15 -72
+16 -72
+17 -72
+41 -72
+42 -72
+43 -72
+44 -72
+45 -72
+46 -72
+47 -72
+48 -72
+49 -72
+70 -72
+71 -72
+72 -72
+73 -72
+74 -72
+75 -72
+76 -72
+77 -72
+78 -72
+83 -72
+84 -72
+85 -72
+86 -72
+87 -72
+88 -72
+89 -72
+90 -72
+91 -72
+98 -72
+99 -72
+100 -72
+101 -72
+102 -72
+103 -72
+104 -72
+105 -72
+106 -72
+9 -73
+10 -73
+11 -73
+12 -73
+13 -73
+14 -73
+15 -73
+16 -73
+17 -73
+41 -73
+42 -73
+43 -73
+44 -73
+45 -73
+46 -73
+47 -73
+48 -73
+49 -73
+70 -73
+71 -73
+72 -73
+73 -73
+74 -73
+75 -73
+76 -73
+77 -73
+78 -73
+83 -73
+84 -73
+85 -73
+86 -73
+87 -73
+88 -73
+89 -73
+90 -73
+91 -73
+98 -73
+99 -73
+100 -73
+101 -73
+102 -73
+103 -73
+104 -73
+105 -73
+106 -73
+9 -74
+10 -74
+11 -74
+12 -74
+13 -74
+14 -74
+15 -74
+16 -74
+17 -74
+41 -74
+42 -74
+43 -74
+44 -74
+45 -74
+46 -74
+47 -74
+48 -74
+49 -74
+70 -74
+71 -74
+72 -74
+73 -74
+74 -74
+75 -74
+76 -74
+77 -74
+78 -74
+83 -74
+84 -74
+85 -74
+86 -74
+87 -74
+88 -74
+89 -74
+90 -74
+91 -74
+98 -74
+99 -74
+100 -74
+101 -74
+102 -74
+103 -74
+104 -74
+105 -74
+106 -74
+9 -75
+10 -75
+11 -75
+12 -75
+13 -75
+14 -75
+15 -75
+16 -75
+17 -75
+41 -75
+42 -75
+43 -75
+44 -75
+45 -75
+46 -75
+47 -75
+48 -75
+49 -75
+70 -75
+71 -75
+72 -75
+73 -75
+74 -75
+75 -75
+76 -75
+77 -75
+78 -75
+83 -75
+84 -75
+85 -75
+86 -75
+87 -75
+88 -75
+89 -75
+90 -75
+91 -75
+98 -75
+99 -75
+100 -75
+101 -75
+102 -75
+103 -75
+104 -75
+105 -75
+106 -75
+9 -76
+10 -76
+11 -76
+12 -76
+13 -76
+14 -76
+15 -76
+16 -76
+17 -76
+41 -76
+42 -76
+43 -76
+44 -76
+45 -76
+46 -76
+47 -76
+48 -76
+49 -76
+70 -76
+71 -76
+72 -76
+73 -76
+74 -76
+75 -76
+76 -76
+77 -76
+78 -76
+83 -76
+84 -76
+85 -76
+86 -76
+87 -76
+88 -76
+89 -76
+90 -76
+91 -76
+98 -76
+99 -76
+100 -76
+101 -76
+102 -76
+103 -76
+104 -76
+105 -76
+106 -76
+9 -77
+10 -77
+11 -77
+12 -77
+13 -77
+14 -77
+15 -77
+16 -77
+17 -77
+41 -77
+42 -77
+43 -77
+44 -77
+45 -77
+46 -77
+47 -77
+48 -77
+49 -77
+70 -77
+71 -77
+72 -77
+73 -77
+74 -77
+75 -77
+76 -77
+77 -77
+78 -77
+83 -77
+84 -77
+85 -77
+86 -77
+87 -77
+88 -77
+89 -77
+90 -77
+91 -77
+98 -77
+99 -77
+100 -77
+101 -77
+102 -77
+103 -77
+104 -77
+105 -77
+106 -77
+9 -78
+10 -78
+11 -78
+12 -78
+13 -78
+14 -78
+15 -78
+16 -78
+17 -78
+41 -78
+42 -78
+43 -78
+44 -78
+45 -78
+46 -78
+47 -78
+48 -78
+49 -78
+70 -78
+71 -78
+72 -78
+73 -78
+74 -78
+75 -78
+76 -78
+77 -78
+78 -78
+83 -78
+84 -78
+85 -78
+86 -78
+87 -78
+88 -78
+89 -78
+90 -78
+91 -78
+98 -78
+99 -78
+100 -78
+101 -78
+102 -78
+103 -78
+104 -78
+105 -78
+106 -78
+35 -79
+51 -79
+54 -79
+65 -79
+67 -79
+79 -79
+80 -79
+81 -79
+82 -79
+93 -79
+95 -79
+107 -79
+108 -79
+109 -79
+110 -79
+35 -80
+51 -80
+54 -80
+65 -80
+67 -80
+79 -80
+80 -80
+81 -80
+82 -80
+35 -81
+51 -81
+54 -81
+65 -81
+67 -81
+79 -81
+80 -81
+81 -81
+82 -81
+93 -81
+95 -81
+107 -81
+108 -81
+109 -81
+110 -81
+35 -82
+51 -82
+54 -82
+65 -82
+67 -82
+79 -82
+80 -82
+81 -82
+82 -82
+56 -83
+57 -83
+58 -83
+59 -83
+60 -83
+61 -83
+62 -83
+63 -83
+64 -83
+70 -83
+71 -83
+72 -83
+73 -83
+74 -83
+75 -83
+76 -83
+77 -83
+78 -83
+83 -83
+84 -83
+85 -83
+86 -83
+87 -83
+88 -83
+89 -83
+90 -83
+91 -83
+111 -83
+112 -83
+113 -83
+114 -83
+115 -83
+116 -83
+117 -83
+118 -83
+119 -83
+56 -84
+57 -84
+58 -84
+59 -84
+60 -84
+61 -84
+62 -84
+63 -84
+64 -84
+70 -84
+71 -84
+72 -84
+73 -84
+74 -84
+75 -84
+76 -84
+77 -84
+78 -84
+83 -84
+84 -84
+85 -84
+86 -84
+87 -84
+88 -84
+89 -84
+90 -84
+91 -84
+111 -84
+112 -84
+113 -84
+114 -84
+115 -84
+116 -84
+117 -84
+118 -84
+119 -84
+56 -85
+57 -85
+58 -85
+59 -85
+60 -85
+61 -85
+62 -85
+63 -85
+64 -85
+70 -85
+71 -85
+72 -85
+73 -85
+74 -85
+75 -85
+76 -85
+77 -85
+78 -85
+83 -85
+84 -85
+85 -85
+86 -85
+87 -85
+88 -85
+89 -85
+90 -85
+91 -85
+111 -85
+112 -85
+113 -85
+114 -85
+115 -85
+116 -85
+117 -85
+118 -85
+119 -85
+56 -86
+57 -86
+58 -86
+59 -86
+60 -86
+61 -86
+62 -86
+63 -86
+64 -86
+70 -86
+71 -86
+72 -86
+73 -86
+74 -86
+75 -86
+76 -86
+77 -86
+78 -86
+83 -86
+84 -86
+85 -86
+86 -86
+87 -86
+88 -86
+89 -86
+90 -86
+91 -86
+111 -86
+112 -86
+113 -86
+114 -86
+115 -86
+116 -86
+117 -86
+118 -86
+119 -86
+56 -87
+57 -87
+58 -87
+59 -87
+60 -87
+61 -87
+62 -87
+63 -87
+64 -87
+70 -87
+71 -87
+72 -87
+73 -87
+74 -87
+75 -87
+76 -87
+77 -87
+78 -87
+83 -87
+84 -87
+85 -87
+86 -87
+87 -87
+88 -87
+89 -87
+90 -87
+91 -87
+111 -87
+112 -87
+113 -87
+114 -87
+115 -87
+116 -87
+117 -87
+118 -87
+119 -87
+56 -88
+57 -88
+58 -88
+59 -88
+60 -88
+61 -88
+62 -88
+63 -88
+64 -88
+70 -88
+71 -88
+72 -88
+73 -88
+74 -88
+75 -88
+76 -88
+77 -88
+78 -88
+83 -88
+84 -88
+85 -88
+86 -88
+87 -88
+88 -88
+89 -88
+90 -88
+91 -88
+111 -88
+112 -88
+113 -88
+114 -88
+115 -88
+116 -88
+117 -88
+118 -88
+119 -88
+56 -89
+57 -89
+58 -89
+59 -89
+60 -89
+61 -89
+62 -89
+63 -89
+64 -89
+70 -89
+71 -89
+72 -89
+73 -89
+74 -89
+75 -89
+76 -89
+77 -89
+78 -89
+83 -89
+84 -89
+85 -89
+86 -89
+87 -89
+88 -89
+89 -89
+90 -89
+91 -89
+111 -89
+112 -89
+113 -89
+114 -89
+115 -89
+116 -89
+117 -89
+118 -89
+119 -89
+56 -90
+57 -90
+58 -90
+59 -90
+60 -90
+61 -90
+62 -90
+63 -90
+64 -90
+70 -90
+71 -90
+72 -90
+73 -90
+74 -90
+75 -90
+76 -90
+77 -90
+78 -90
+83 -90
+84 -90
+85 -90
+86 -90
+87 -90
+88 -90
+89 -90
+90 -90
+91 -90
+111 -90
+112 -90
+113 -90
+114 -90
+115 -90
+116 -90
+117 -90
+118 -90
+119 -90
+56 -91
+57 -91
+58 -91
+59 -91
+60 -91
+61 -91
+62 -91
+63 -91
+64 -91
+70 -91
+71 -91
+72 -91
+73 -91
+74 -91
+75 -91
+76 -91
+77 -91
+78 -91
+83 -91
+84 -91
+85 -91
+86 -91
+87 -91
+88 -91
+89 -91
+90 -91
+91 -91
+111 -91
+112 -91
+113 -91
+114 -91
+115 -91
+116 -91
+117 -91
+118 -91
+119 -91
+92 -92
+3 -93
+19 -93
+21 -93
+65 -93
+68 -93
+79 -93
+81 -93
+93 -93
+95 -93
+96 -93
+97 -93
+107 -93
+108 -93
+109 -93
+110 -93
+120 -93
+122 -93
+123 -93
+124 -93
+134 -93
+135 -93
+136 -93
+137 -93
+94 -94
+3 -95
+19 -95
+21 -95
+65 -95
+68 -95
+79 -95
+81 -95
+93 -95
+95 -95
+96 -95
+97 -95
+107 -95
+108 -95
+109 -95
+110 -95
+3 -96
+19 -96
+21 -96
+65 -96
+68 -96
+93 -96
+95 -96
+96 -96
+97 -96
+120 -96
+122 -96
+123 -96
+124 -96
+3 -97
+19 -97
+21 -97
+65 -97
+68 -97
+93 -97
+95 -97
+96 -97
+97 -97
+24 -98
+25 -98
+26 -98
+27 -98
+28 -98
+29 -98
+30 -98
+31 -98
+32 -98
+70 -98
+71 -98
+72 -98
+73 -98
+74 -98
+75 -98
+76 -98
+77 -98
+78 -98
+98 -98
+99 -98
+100 -98
+101 -98
+102 -98
+103 -98
+104 -98
+105 -98
+106 -98
+111 -98
+112 -98
+113 -98
+114 -98
+115 -98
+116 -98
+117 -98
+118 -98
+119 -98
+125 -98
+126 -98
+127 -98
+128 -98
+129 -98
+130 -98
+131 -98
+132 -98
+133 -98
+24 -99
+25 -99
+26 -99
+27 -99
+28 -99
+29 -99
+30 -99
+31 -99
+32 -99
+70 -99
+71 -99
+72 -99
+73 -99
+74 -99
+75 -99
+76 -99
+77 -99
+78 -99
+98 -99
+99 -99
+100 -99
+101 -99
+102 -99
+103 -99
+104 -99
+105 -99
+106 -99
+111 -99
+112 -99
+113 -99
+114 -99
+115 -99
+116 -99
+117 -99
+118 -99
+119 -99
+125 -99
+126 -99
+127 -99
+128 -99
+129 -99
+130 -99
+131 -99
+132 -99
+133 -99
+24 -100
+25 -100
+26 -100
+27 -100
+28 -100
+29 -100
+30 -100
+31 -100
+32 -100
+70 -100
+71 -100
+72 -100
+73 -100
+74 -100
+75 -100
+76 -100
+77 -100
+78 -100
+98 -100
+99 -100
+100 -100
+101 -100
+102 -100
+103 -100
+104 -100
+105 -100
+106 -100
+111 -100
+112 -100
+113 -100
+114 -100
+115 -100
+116 -100
+117 -100
+118 -100
+119 -100
+125 -100
+126 -100
+127 -100
+128 -100
+129 -100
+130 -100
+131 -100
+132 -100
+133 -100
+24 -101
+25 -101
+26 -101
+27 -101
+28 -101
+29 -101
+30 -101
+31 -101
+32 -101
+70 -101
+71 -101
+72 -101
+73 -101
+74 -101
+75 -101
+76 -101
+77 -101
+78 -101
+98 -101
+99 -101
+100 -101
+101 -101
+102 -101
+103 -101
+104 -101
+105 -101
+106 -101
+111 -101
+112 -101
+113 -101
+114 -101
+115 -101
+116 -101
+117 -101
+118 -101
+119 -101
+125 -101
+126 -101
+127 -101
+128 -101
+129 -101
+130 -101
+131 -101
+132 -101
+133 -101
+24 -102
+25 -102
+26 -102
+27 -102
+28 -102
+29 -102
+30 -102
+31 -102
+32 -102
+70 -102
+71 -102
+72 -102
+73 -102
+74 -102
+75 -102
+76 -102
+77 -102
+78 -102
+98 -102
+99 -102
+100 -102
+101 -102
+102 -102
+103 -102
+104 -102
+105 -102
+106 -102
+111 -102
+112 -102
+113 -102
+114 -102
+115 -102
+116 -102
+117 -102
+118 -102
+119 -102
+125 -102
+126 -102
+127 -102
+128 -102
+129 -102
+130 -102
+131 -102
+132 -102
+133 -102
+24 -103
+25 -103
+26 -103
+27 -103
+28 -103
+29 -103
+30 -103
+31 -103
+32 -103
+70 -103
+71 -103
+72 -103
+73 -103
+74 -103
+75 -103
+76 -103
+77 -103
+78 -103
+98 -103
+99 -103
+100 -103
+101 -103
+102 -103
+103 -103
+104 -103
+105 -103
+106 -103
+111 -103
+112 -103
+113 -103
+114 -103
+115 -103
+116 -103
+117 -103
+118 -103
+119 -103
+125 -103
+126 -103
+127 -103
+128 -103
+129 -103
+130 -103
+131 -103
+132 -103
+133 -103
+24 -104
+25 -104
+26 -104
+27 -104
+28 -104
+29 -104
+30 -104
+31 -104
+32 -104
+70 -104
+71 -104
+72 -104
+73 -104
+74 -104
+75 -104
+76 -104
+77 -104
+78 -104
+98 -104
+99 -104
+100 -104
+101 -104
+102 -104
+103 -104
+104 -104
+105 -104
+106 -104
+111 -104
+112 -104
+113 -104
+114 -104
+115 -104
+116 -104
+117 -104
+118 -104
+119 -104
+125 -104
+126 -104
+127 -104
+128 -104
+129 -104
+130 -104
+131 -104
+132 -104
+133 -104
+24 -105
+25 -105
+26 -105
+27 -105
+28 -105
+29 -105
+30 -105
+31 -105
+32 -105
+70 -105
+71 -105
+72 -105
+73 -105
+74 -105
+75 -105
+76 -105
+77 -105
+78 -105
+98 -105
+99 -105
+100 -105
+101 -105
+102 -105
+103 -105
+104 -105
+105 -105
+106 -105
+111 -105
+112 -105
+113 -105
+114 -105
+115 -105
+116 -105
+117 -105
+118 -105
+119 -105
+125 -105
+126 -105
+127 -105
+128 -105
+129 -105
+130 -105
+131 -105
+132 -105
+133 -105
+24 -106
+25 -106
+26 -106
+27 -106
+28 -106
+29 -106
+30 -106
+31 -106
+32 -106
+70 -106
+71 -106
+72 -106
+73 -106
+74 -106
+75 -106
+76 -106
+77 -106
+78 -106
+98 -106
+99 -106
+100 -106
+101 -106
+102 -106
+103 -106
+104 -106
+105 -106
+106 -106
+111 -106
+112 -106
+113 -106
+114 -106
+115 -106
+116 -106
+117 -106
+118 -106
+119 -106
+125 -106
+126 -106
+127 -106
+128 -106
+129 -106
+130 -106
+131 -106
+132 -106
+133 -106
+65 -107
+79 -107
+81 -107
+93 -107
+95 -107
+107 -107
+108 -107
+109 -107
+110 -107
+120 -107
+122 -107
+134 -107
+135 -107
+136 -107
+137 -107
+65 -108
+79 -108
+81 -108
+93 -108
+95 -108
+107 -108
+108 -108
+109 -108
+110 -108
+65 -109
+79 -109
+81 -109
+93 -109
+95 -109
+107 -109
+108 -109
+109 -109
+110 -109
+120 -109
+122 -109
+134 -109
+135 -109
+136 -109
+137 -109
+65 -110
+79 -110
+81 -110
+93 -110
+95 -110
+107 -110
+108 -110
+109 -110
+110 -110
+83 -111
+84 -111
+85 -111
+86 -111
+87 -111
+88 -111
+89 -111
+90 -111
+91 -111
+98 -111
+99 -111
+100 -111
+101 -111
+102 -111
+103 -111
+104 -111
+105 -111
+106 -111
+111 -111
+112 -111
+113 -111
+114 -111
+115 -111
+116 -111
+117 -111
+118 -111
+119 -111
+138 -111
+139 -111
+140 -111
+141 -111
+142 -111
+143 -111
+144 -111
+145 -111
+146 -111
+83 -112
+84 -112
+85 -112
+86 -112
+87 -112
+88 -112
+89 -112
+90 -112
+91 -112
+98 -112
+99 -112
+100 -112
+101 -112
+102 -112
+103 -112
+104 -112
+105 -112
+106 -112
+111 -112
+112 -112
+113 -112
+114 -112
+115 -112
+116 -112
+117 -112
+118 -112
+119 -112
+138 -112
+139 -112
+140 -112
+141 -112
+142 -112
+143 -112
+144 -112
+145 -112
+146 -112
+83 -113
+84 -113
+85 -113
+86 -113
+87 -113
+88 -113
+89 -113
+90 -113
+91 -113
+98 -113
+99 -113
+100 -113
+101 -113
+102 -113
+103 -113
+104 -113
+105 -113
+106 -113
+111 -113
+112 -113
+113 -113
+114 -113
+115 -113
+116 -113
+117 -113
+118 -113
+119 -113
+138 -113
+139 -113
+140 -113
+141 -113
+142 -113
+143 -113
+144 -113
+145 -113
+146 -113
+83 -114
+84 -114
+85 -114
+86 -114
+87 -114
+88 -114
+89 -114
+90 -114
+91 -114
+98 -114
+99 -114
+100 -114
+101 -114
+102 -114
+103 -114
+104 -114
+105 -114
+106 -114
+111 -114
+112 -114
+113 -114
+114 -114
+115 -114
+116 -114
+117 -114
+118 -114
+119 -114
+138 -114
+139 -114
+140 -114
+141 -114
+142 -114
+143 -114
+144 -114
+145 -114
+146 -114
+83 -115
+84 -115
+85 -115
+86 -115
+87 -115
+88 -115
+89 -115
+90 -115
+91 -115
+98 -115
+99 -115
+100 -115
+101 -115
+102 -115
+103 -115
+104 -115
+105 -115
+106 -115
+111 -115
+112 -115
+113 -115
+114 -115
+115 -115
+116 -115
+117 -115
+118 -115
+119 -115
+138 -115
+139 -115
+140 -115
+141 -115
+142 -115
+143 -115
+144 -115
+145 -115
+146 -115
+83 -116
+84 -116
+85 -116
+86 -116
+87 -116
+88 -116
+89 -116
+90 -116
+91 -116
+98 -116
+99 -116
+100 -116
+101 -116
+102 -116
+103 -116
+104 -116
+105 -116
+106 -116
+111 -116
+112 -116
+113 -116
+114 -116
+115 -116
+116 -116
+117 -116
+118 -116
+119 -116
+138 -116
+139 -116
+140 -116
+141 -116
+142 -116
+143 -116
+144 -116
+145 -116
+146 -116
+83 -117
+84 -117
+85 -117
+86 -117
+87 -117
+88 -117
+89 -117
+90 -117
+91 -117
+98 -117
+99 -117
+100 -117
+101 -117
+102 -117
+103 -117
+104 -117
+105 -117
+106 -117
+111 -117
+112 -117
+113 -117
+114 -117
+115 -117
+116 -117
+117 -117
+118 -117
+119 -117
+138 -117
+139 -117
+140 -117
+141 -117
+142 -117
+143 -117
+144 -117
+145 -117
+146 -117
+83 -118
+84 -118
+85 -118
+86 -118
+87 -118
+88 -118
+89 -118
+90 -118
+91 -118
+98 -118
+99 -118
+100 -118
+101 -118
+102 -118
+103 -118
+104 -118
+105 -118
+106 -118
+111 -118
+112 -118
+113 -118
+114 -118
+115 -118
+116 -118
+117 -118
+118 -118
+119 -118
+138 -118
+139 -118
+140 -118
+141 -118
+142 -118
+143 -118
+144 -118
+145 -118
+146 -118
+83 -119
+84 -119
+85 -119
+86 -119
+87 -119
+88 -119
+89 -119
+90 -119
+91 -119
+98 -119
+99 -119
+100 -119
+101 -119
+102 -119
+103 -119
+104 -119
+105 -119
+106 -119
+111 -119
+112 -119
+113 -119
+114 -119
+115 -119
+116 -119
+117 -119
+118 -119
+119 -119
+138 -119
+139 -119
+140 -119
+141 -119
+142 -119
+143 -119
+144 -119
+145 -119
+146 -119
+3 -120
+19 -120
+21 -120
+93 -120
+96 -120
+107 -120
+109 -120
+120 -120
+122 -120
+123 -120
+124 -120
+134 -120
+135 -120
+136 -120
+137 -120
+121 -121
+3 -122
+19 -122
+21 -122
+93 -122
+96 -122
+107 -122
+109 -122
+120 -122
+122 -122
+123 -122
+124 -122
+134 -122
+135 -122
+136 -122
+137 -122
+3 -123
+19 -123
+21 -123
+93 -123
+96 -123
+120 -123
+122 -123
+123 -123
+124 -123
+3 -124
+19 -124
+21 -124
+93 -124
+96 -124
+120 -124
+122 -124
+123 -124
+124 -124
+24 -125
+25 -125
+26 -125
+27 -125
+28 -125
+29 -125
+30 -125
+31 -125
+32 -125
+98 -125
+99 -125
+100 -125
+101 -125
+102 -125
+103 -125
+104 -125
+105 -125
+106 -125
+125 -125
+126 -125
+127 -125
+128 -125
+129 -125
+130 -125
+131 -125
+132 -125
+133 -125
+138 -125
+139 -125
+140 -125
+141 -125
+142 -125
+143 -125
+144 -125
+145 -125
+146 -125
+24 -126
+25 -126
+26 -126
+27 -126
+28 -126
+29 -126
+30 -126
+31 -126
+32 -126
+98 -126
+99 -126
+100 -126
+101 -126
+102 -126
+103 -126
+104 -126
+105 -126
+106 -126
+125 -126
+126 -126
+127 -126
+128 -126
+129 -126
+130 -126
+131 -126
+132 -126
+133 -126
+138 -126
+139 -126
+140 -126
+141 -126
+142 -126
+143 -126
+144 -126
+145 -126
+146 -126
+24 -127
+25 -127
+26 -127
+27 -127
+28 -127
+29 -127
+30 -127
+31 -127
+32 -127
+98 -127
+99 -127
+100 -127
+101 -127
+102 -127
+103 -127
+104 -127
+105 -127
+106 -127
+125 -127
+126 -127
+127 -127
+128 -127
+129 -127
+130 -127
+131 -127
+132 -127
+133 -127
+138 -127
+139 -127
+140 -127
+141 -127
+142 -127
+143 -127
+144 -127
+145 -127
+146 -127
+24 -128
+25 -128
+26 -128
+27 -128
+28 -128
+29 -128
+30 -128
+31 -128
+32 -128
+98 -128
+99 -128
+100 -128
+101 -128
+102 -128
+103 -128
+104 -128
+105 -128
+106 -128
+125 -128
+126 -128
+127 -128
+128 -128
+129 -128
+130 -128
+131 -128
+132 -128
+133 -128
+138 -128
+139 -128
+140 -128
+141 -128
+142 -128
+143 -128
+144 -128
+145 -128
+146 -128
+24 -129
+25 -129
+26 -129
+27 -129
+28 -129
+29 -129
+30 -129
+31 -129
+32 -129
+98 -129
+99 -129
+100 -129
+101 -129
+102 -129
+103 -129
+104 -129
+105 -129
+106 -129
+125 -129
+126 -129
+127 -129
+128 -129
+129 -129
+130 -129
+131 -129
+132 -129
+133 -129
+138 -129
+139 -129
+140 -129
+141 -129
+142 -129
+143 -129
+144 -129
+145 -129
+146 -129
+24 -130
+25 -130
+26 -130
+27 -130
+28 -130
+29 -130
+30 -130
+31 -130
+32 -130
+98 -130
+99 -130
+100 -130
+101 -130
+102 -130
+103 -130
+104 -130
+105 -130
+106 -130
+125 -130
+126 -130
+127 -130
+128 -130
+129 -130
+130 -130
+131 -130
+132 -130
+133 -130
+138 -130
+139 -130
+140 -130
+141 -130
+142 -130
+143 -130
+144 -130
+145 -130
+146 -130
+24 -131
+25 -131
+26 -131
+27 -131
+28 -131
+29 -131
+30 -131
+31 -131
+32 -131
+98 -131
+99 -131
+100 -131
+101 -131
+102 -131
+103 -131
+104 -131
+105 -131
+106 -131
+125 -131
+126 -131
+127 -131
+128 -131
+129 -131
+130 -131
+131 -131
+132 -131
+133 -131
+138 -131
+139 -131
+140 -131
+141 -131
+142 -131
+143 -131
+144 -131
+145 -131
+146 -131
+24 -132
+25 -132
+26 -132
+27 -132
+28 -132
+29 -132
+30 -132
+31 -132
+32 -132
+98 -132
+99 -132
+100 -132
+101 -132
+102 -132
+103 -132
+104 -132
+105 -132
+106 -132
+125 -132
+126 -132
+127 -132
+128 -132
+129 -132
+130 -132
+131 -132
+132 -132
+133 -132
+138 -132
+139 -132
+140 -132
+141 -132
+142 -132
+143 -132
+144 -132
+145 -132
+146 -132
+24 -133
+25 -133
+26 -133
+27 -133
+28 -133
+29 -133
+30 -133
+31 -133
+32 -133
+98 -133
+99 -133
+100 -133
+101 -133
+102 -133
+103 -133
+104 -133
+105 -133
+106 -133
+125 -133
+126 -133
+127 -133
+128 -133
+129 -133
+130 -133
+131 -133
+132 -133
+133 -133
+138 -133
+139 -133
+140 -133
+141 -133
+142 -133
+143 -133
+144 -133
+145 -133
+146 -133
+93 -134
+107 -134
+109 -134
+120 -134
+122 -134
+134 -134
+135 -134
+136 -134
+137 -134
+93 -135
+107 -135
+109 -135
+120 -135
+122 -135
+134 -135
+135 -135
+136 -135
+137 -135
+93 -136
+107 -136
+109 -136
+120 -136
+122 -136
+134 -136
+135 -136
+136 -136
+137 -136
+93 -137
+107 -137
+109 -137
+120 -137
+122 -137
+134 -137
+135 -137
+136 -137
+137 -137
+111 -138
+112 -138
+113 -138
+114 -138
+115 -138
+116 -138
+117 -138
+118 -138
+119 -138
+125 -138
+126 -138
+127 -138
+128 -138
+129 -138
+130 -138
+131 -138
+132 -138
+133 -138
+138 -138
+139 -138
+140 -138
+141 -138
+142 -138
+143 -138
+144 -138
+145 -138
+146 -138
+111 -139
+112 -139
+113 -139
+114 -139
+115 -139
+116 -139
+117 -139
+118 -139
+119 -139
+125 -139
+126 -139
+127 -139
+128 -139
+129 -139
+130 -139
+131 -139
+132 -139
+133 -139
+138 -139
+139 -139
+140 -139
+141 -139
+142 -139
+143 -139
+144 -139
+145 -139
+146 -139
+111 -140
+112 -140
+113 -140
+114 -140
+115 -140
+116 -140
+117 -140
+118 -140
+119 -140
+125 -140
+126 -140
+127 -140
+128 -140
+129 -140
+130 -140
+131 -140
+132 -140
+133 -140
+138 -140
+139 -140
+140 -140
+141 -140
+142 -140
+143 -140
+144 -140
+145 -140
+146 -140
+111 -141
+112 -141
+113 -141
+114 -141
+115 -141
+116 -141
+117 -141
+118 -141
+119 -141
+125 -141
+126 -141
+127 -141
+128 -141
+129 -141
+130 -141
+131 -141
+132 -141
+133 -141
+138 -141
+139 -141
+140 -141
+141 -141
+142 -141
+143 -141
+144 -141
+145 -141
+146 -141
+111 -142
+112 -142
+113 -142
+114 -142
+115 -142
+116 -142
+117 -142
+118 -142
+119 -142
+125 -142
+126 -142
+127 -142
+128 -142
+129 -142
+130 -142
+131 -142
+132 -142
+133 -142
+138 -142
+139 -142
+140 -142
+141 -142
+142 -142
+143 -142
+144 -142
+145 -142
+146 -142
+111 -143
+112 -143
+113 -143
+114 -143
+115 -143
+116 -143
+117 -143
+118 -143
+119 -143
+125 -143
+126 -143
+127 -143
+128 -143
+129 -143
+130 -143
+131 -143
+132 -143
+133 -143
+138 -143
+139 -143
+140 -143
+141 -143
+142 -143
+143 -143
+144 -143
+145 -143
+146 -143
+111 -144
+112 -144
+113 -144
+114 -144
+115 -144
+116 -144
+117 -144
+118 -144
+119 -144
+125 -144
+126 -144
+127 -144
+128 -144
+129 -144
+130 -144
+131 -144
+132 -144
+133 -144
+138 -144
+139 -144
+140 -144
+141 -144
+142 -144
+143 -144
+144 -144
+145 -144
+146 -144
+111 -145
+112 -145
+113 -145
+114 -145
+115 -145
+116 -145
+117 -145
+118 -145
+119 -145
+125 -145
+126 -145
+127 -145
+128 -145
+129 -145
+130 -145
+131 -145
+132 -145
+133 -145
+138 -145
+139 -145
+140 -145
+141 -145
+142 -145
+143 -145
+144 -145
+145 -145
+146 -145
+111 -146
+112 -146
+113 -146
+114 -146
+115 -146
+116 -146
+117 -146
+118 -146
+119 -146
+125 -146
+126 -146
+127 -146
+128 -146
+129 -146
+130 -146
+131 -146
+132 -146
+133 -146
+138 -146
+139 -146
+140 -146
+141 -146
+142 -146
+143 -146
+144 -146
+145 -146
+146 -146
diff --git a/tests/dofs/dof_tools_22a.with_trilinos=true.mpirun=3.output b/tests/dofs/dof_tools_22a.with_trilinos=true.mpirun=3.output
new file mode 100644 (file)
index 0000000..5a38705
--- /dev/null
@@ -0,0 +1,5563 @@
+
+0 0
+1 0
+2 0
+3 0
+4 0
+5 0
+6 0
+7 0
+8 0
+0 -1
+1 -1
+2 -1
+3 -1
+4 -1
+5 -1
+6 -1
+7 -1
+8 -1
+18 -1
+20 -1
+22 -1
+23 -1
+24 -1
+25 -1
+50 -1
+52 -1
+53 -1
+54 -1
+0 -2
+1 -2
+2 -2
+3 -2
+4 -2
+5 -2
+6 -2
+7 -2
+8 -2
+77 -2
+78 -2
+79 -2
+80 -2
+81 -2
+82 -2
+0 -3
+1 -3
+2 -3
+3 -3
+4 -3
+5 -3
+6 -3
+7 -3
+8 -3
+18 -3
+20 -3
+22 -3
+23 -3
+24 -3
+25 -3
+50 -3
+52 -3
+53 -3
+54 -3
+77 -3
+78 -3
+79 -3
+80 -3
+81 -3
+82 -3
+93 -3
+95 -3
+96 -3
+97 -3
+120 -3
+122 -3
+123 -3
+124 -3
+0 -4
+1 -4
+2 -4
+3 -4
+4 -4
+5 -4
+6 -4
+7 -4
+8 -4
+0 -5
+1 -5
+2 -5
+3 -5
+4 -5
+5 -5
+6 -5
+7 -5
+8 -5
+18 -5
+20 -5
+22 -5
+23 -5
+24 -5
+25 -5
+50 -5
+52 -5
+53 -5
+54 -5
+0 -6
+1 -6
+2 -6
+3 -6
+4 -6
+5 -6
+6 -6
+7 -6
+8 -6
+0 -7
+1 -7
+2 -7
+3 -7
+4 -7
+5 -7
+6 -7
+7 -7
+8 -7
+77 -7
+78 -7
+79 -7
+80 -7
+81 -7
+82 -7
+0 -8
+1 -8
+2 -8
+3 -8
+4 -8
+5 -8
+6 -8
+7 -8
+8 -8
+9 -9
+10 -9
+11 -9
+12 -9
+13 -9
+14 -9
+15 -9
+16 -9
+17 -9
+26 -9
+27 -9
+28 -9
+29 -9
+30 -9
+31 -9
+32 -9
+33 -9
+34 -9
+55 -9
+56 -9
+57 -9
+58 -9
+59 -9
+60 -9
+61 -9
+62 -9
+63 -9
+83 -9
+84 -9
+85 -9
+86 -9
+87 -9
+88 -9
+89 -9
+90 -9
+91 -9
+9 -10
+10 -10
+11 -10
+12 -10
+13 -10
+14 -10
+15 -10
+16 -10
+17 -10
+26 -10
+27 -10
+28 -10
+29 -10
+30 -10
+31 -10
+32 -10
+33 -10
+34 -10
+55 -10
+56 -10
+57 -10
+58 -10
+59 -10
+60 -10
+61 -10
+62 -10
+63 -10
+83 -10
+84 -10
+85 -10
+86 -10
+87 -10
+88 -10
+89 -10
+90 -10
+91 -10
+9 -11
+10 -11
+11 -11
+12 -11
+13 -11
+14 -11
+15 -11
+16 -11
+17 -11
+26 -11
+27 -11
+28 -11
+29 -11
+30 -11
+31 -11
+32 -11
+33 -11
+34 -11
+55 -11
+56 -11
+57 -11
+58 -11
+59 -11
+60 -11
+61 -11
+62 -11
+63 -11
+83 -11
+84 -11
+85 -11
+86 -11
+87 -11
+88 -11
+89 -11
+90 -11
+91 -11
+9 -12
+10 -12
+11 -12
+12 -12
+13 -12
+14 -12
+15 -12
+16 -12
+17 -12
+26 -12
+27 -12
+28 -12
+29 -12
+30 -12
+31 -12
+32 -12
+33 -12
+34 -12
+55 -12
+56 -12
+57 -12
+58 -12
+59 -12
+60 -12
+61 -12
+62 -12
+63 -12
+83 -12
+84 -12
+85 -12
+86 -12
+87 -12
+88 -12
+89 -12
+90 -12
+91 -12
+9 -13
+10 -13
+11 -13
+12 -13
+13 -13
+14 -13
+15 -13
+16 -13
+17 -13
+26 -13
+27 -13
+28 -13
+29 -13
+30 -13
+31 -13
+32 -13
+33 -13
+34 -13
+55 -13
+56 -13
+57 -13
+58 -13
+59 -13
+60 -13
+61 -13
+62 -13
+63 -13
+83 -13
+84 -13
+85 -13
+86 -13
+87 -13
+88 -13
+89 -13
+90 -13
+91 -13
+9 -14
+10 -14
+11 -14
+12 -14
+13 -14
+14 -14
+15 -14
+16 -14
+17 -14
+26 -14
+27 -14
+28 -14
+29 -14
+30 -14
+31 -14
+32 -14
+33 -14
+34 -14
+55 -14
+56 -14
+57 -14
+58 -14
+59 -14
+60 -14
+61 -14
+62 -14
+63 -14
+83 -14
+84 -14
+85 -14
+86 -14
+87 -14
+88 -14
+89 -14
+90 -14
+91 -14
+9 -15
+10 -15
+11 -15
+12 -15
+13 -15
+14 -15
+15 -15
+16 -15
+17 -15
+26 -15
+27 -15
+28 -15
+29 -15
+30 -15
+31 -15
+32 -15
+33 -15
+34 -15
+55 -15
+56 -15
+57 -15
+58 -15
+59 -15
+60 -15
+61 -15
+62 -15
+63 -15
+83 -15
+84 -15
+85 -15
+86 -15
+87 -15
+88 -15
+89 -15
+90 -15
+91 -15
+9 -16
+10 -16
+11 -16
+12 -16
+13 -16
+14 -16
+15 -16
+16 -16
+17 -16
+26 -16
+27 -16
+28 -16
+29 -16
+30 -16
+31 -16
+32 -16
+33 -16
+34 -16
+55 -16
+56 -16
+57 -16
+58 -16
+59 -16
+60 -16
+61 -16
+62 -16
+63 -16
+83 -16
+84 -16
+85 -16
+86 -16
+87 -16
+88 -16
+89 -16
+90 -16
+91 -16
+9 -17
+10 -17
+11 -17
+12 -17
+13 -17
+14 -17
+15 -17
+16 -17
+17 -17
+26 -17
+27 -17
+28 -17
+29 -17
+30 -17
+31 -17
+32 -17
+33 -17
+34 -17
+55 -17
+56 -17
+57 -17
+58 -17
+59 -17
+60 -17
+61 -17
+62 -17
+63 -17
+83 -17
+84 -17
+85 -17
+86 -17
+87 -17
+88 -17
+89 -17
+90 -17
+91 -17
+1 -18
+3 -18
+5 -18
+18 -18
+20 -18
+22 -18
+23 -18
+24 -18
+25 -18
+35 -18
+36 -18
+37 -18
+38 -18
+39 -18
+40 -18
+19 -19
+1 -20
+3 -20
+5 -20
+18 -20
+20 -20
+22 -20
+23 -20
+24 -20
+25 -20
+35 -20
+36 -20
+37 -20
+38 -20
+39 -20
+40 -20
+50 -20
+52 -20
+53 -20
+54 -20
+64 -20
+65 -20
+66 -20
+67 -20
+21 -21
+1 -22
+3 -22
+5 -22
+18 -22
+20 -22
+22 -22
+23 -22
+24 -22
+25 -22
+35 -22
+36 -22
+37 -22
+38 -22
+39 -22
+40 -22
+1 -23
+3 -23
+5 -23
+18 -23
+20 -23
+22 -23
+23 -23
+24 -23
+25 -23
+1 -24
+3 -24
+5 -24
+18 -24
+20 -24
+22 -24
+23 -24
+24 -24
+25 -24
+50 -24
+52 -24
+53 -24
+54 -24
+1 -25
+3 -25
+5 -25
+18 -25
+20 -25
+22 -25
+23 -25
+24 -25
+25 -25
+9 -26
+10 -26
+11 -26
+12 -26
+13 -26
+14 -26
+15 -26
+16 -26
+17 -26
+26 -26
+27 -26
+28 -26
+29 -26
+30 -26
+31 -26
+32 -26
+33 -26
+34 -26
+41 -26
+42 -26
+43 -26
+44 -26
+45 -26
+46 -26
+47 -26
+48 -26
+49 -26
+55 -26
+56 -26
+57 -26
+58 -26
+59 -26
+60 -26
+61 -26
+62 -26
+63 -26
+9 -27
+10 -27
+11 -27
+12 -27
+13 -27
+14 -27
+15 -27
+16 -27
+17 -27
+26 -27
+27 -27
+28 -27
+29 -27
+30 -27
+31 -27
+32 -27
+33 -27
+34 -27
+41 -27
+42 -27
+43 -27
+44 -27
+45 -27
+46 -27
+47 -27
+48 -27
+49 -27
+55 -27
+56 -27
+57 -27
+58 -27
+59 -27
+60 -27
+61 -27
+62 -27
+63 -27
+9 -28
+10 -28
+11 -28
+12 -28
+13 -28
+14 -28
+15 -28
+16 -28
+17 -28
+26 -28
+27 -28
+28 -28
+29 -28
+30 -28
+31 -28
+32 -28
+33 -28
+34 -28
+41 -28
+42 -28
+43 -28
+44 -28
+45 -28
+46 -28
+47 -28
+48 -28
+49 -28
+55 -28
+56 -28
+57 -28
+58 -28
+59 -28
+60 -28
+61 -28
+62 -28
+63 -28
+9 -29
+10 -29
+11 -29
+12 -29
+13 -29
+14 -29
+15 -29
+16 -29
+17 -29
+26 -29
+27 -29
+28 -29
+29 -29
+30 -29
+31 -29
+32 -29
+33 -29
+34 -29
+41 -29
+42 -29
+43 -29
+44 -29
+45 -29
+46 -29
+47 -29
+48 -29
+49 -29
+55 -29
+56 -29
+57 -29
+58 -29
+59 -29
+60 -29
+61 -29
+62 -29
+63 -29
+9 -30
+10 -30
+11 -30
+12 -30
+13 -30
+14 -30
+15 -30
+16 -30
+17 -30
+26 -30
+27 -30
+28 -30
+29 -30
+30 -30
+31 -30
+32 -30
+33 -30
+34 -30
+41 -30
+42 -30
+43 -30
+44 -30
+45 -30
+46 -30
+47 -30
+48 -30
+49 -30
+55 -30
+56 -30
+57 -30
+58 -30
+59 -30
+60 -30
+61 -30
+62 -30
+63 -30
+9 -31
+10 -31
+11 -31
+12 -31
+13 -31
+14 -31
+15 -31
+16 -31
+17 -31
+26 -31
+27 -31
+28 -31
+29 -31
+30 -31
+31 -31
+32 -31
+33 -31
+34 -31
+41 -31
+42 -31
+43 -31
+44 -31
+45 -31
+46 -31
+47 -31
+48 -31
+49 -31
+55 -31
+56 -31
+57 -31
+58 -31
+59 -31
+60 -31
+61 -31
+62 -31
+63 -31
+9 -32
+10 -32
+11 -32
+12 -32
+13 -32
+14 -32
+15 -32
+16 -32
+17 -32
+26 -32
+27 -32
+28 -32
+29 -32
+30 -32
+31 -32
+32 -32
+33 -32
+34 -32
+41 -32
+42 -32
+43 -32
+44 -32
+45 -32
+46 -32
+47 -32
+48 -32
+49 -32
+55 -32
+56 -32
+57 -32
+58 -32
+59 -32
+60 -32
+61 -32
+62 -32
+63 -32
+9 -33
+10 -33
+11 -33
+12 -33
+13 -33
+14 -33
+15 -33
+16 -33
+17 -33
+26 -33
+27 -33
+28 -33
+29 -33
+30 -33
+31 -33
+32 -33
+33 -33
+34 -33
+41 -33
+42 -33
+43 -33
+44 -33
+45 -33
+46 -33
+47 -33
+48 -33
+49 -33
+55 -33
+56 -33
+57 -33
+58 -33
+59 -33
+60 -33
+61 -33
+62 -33
+63 -33
+9 -34
+10 -34
+11 -34
+12 -34
+13 -34
+14 -34
+15 -34
+16 -34
+17 -34
+26 -34
+27 -34
+28 -34
+29 -34
+30 -34
+31 -34
+32 -34
+33 -34
+34 -34
+41 -34
+42 -34
+43 -34
+44 -34
+45 -34
+46 -34
+47 -34
+48 -34
+49 -34
+55 -34
+56 -34
+57 -34
+58 -34
+59 -34
+60 -34
+61 -34
+62 -34
+63 -34
+18 -35
+20 -35
+22 -35
+35 -35
+36 -35
+37 -35
+38 -35
+39 -35
+40 -35
+18 -36
+20 -36
+22 -36
+35 -36
+36 -36
+37 -36
+38 -36
+39 -36
+40 -36
+50 -36
+52 -36
+64 -36
+65 -36
+66 -36
+67 -36
+18 -37
+20 -37
+22 -37
+35 -37
+36 -37
+37 -37
+38 -37
+39 -37
+40 -37
+18 -38
+20 -38
+22 -38
+35 -38
+36 -38
+37 -38
+38 -38
+39 -38
+40 -38
+18 -39
+20 -39
+22 -39
+35 -39
+36 -39
+37 -39
+38 -39
+39 -39
+40 -39
+50 -39
+52 -39
+64 -39
+65 -39
+66 -39
+67 -39
+18 -40
+20 -40
+22 -40
+35 -40
+36 -40
+37 -40
+38 -40
+39 -40
+40 -40
+26 -41
+27 -41
+28 -41
+29 -41
+30 -41
+31 -41
+32 -41
+33 -41
+34 -41
+41 -41
+42 -41
+43 -41
+44 -41
+45 -41
+46 -41
+47 -41
+48 -41
+49 -41
+68 -41
+69 -41
+70 -41
+71 -41
+72 -41
+73 -41
+74 -41
+75 -41
+76 -41
+26 -42
+27 -42
+28 -42
+29 -42
+30 -42
+31 -42
+32 -42
+33 -42
+34 -42
+41 -42
+42 -42
+43 -42
+44 -42
+45 -42
+46 -42
+47 -42
+48 -42
+49 -42
+68 -42
+69 -42
+70 -42
+71 -42
+72 -42
+73 -42
+74 -42
+75 -42
+76 -42
+26 -43
+27 -43
+28 -43
+29 -43
+30 -43
+31 -43
+32 -43
+33 -43
+34 -43
+41 -43
+42 -43
+43 -43
+44 -43
+45 -43
+46 -43
+47 -43
+48 -43
+49 -43
+68 -43
+69 -43
+70 -43
+71 -43
+72 -43
+73 -43
+74 -43
+75 -43
+76 -43
+26 -44
+27 -44
+28 -44
+29 -44
+30 -44
+31 -44
+32 -44
+33 -44
+34 -44
+41 -44
+42 -44
+43 -44
+44 -44
+45 -44
+46 -44
+47 -44
+48 -44
+49 -44
+68 -44
+69 -44
+70 -44
+71 -44
+72 -44
+73 -44
+74 -44
+75 -44
+76 -44
+26 -45
+27 -45
+28 -45
+29 -45
+30 -45
+31 -45
+32 -45
+33 -45
+34 -45
+41 -45
+42 -45
+43 -45
+44 -45
+45 -45
+46 -45
+47 -45
+48 -45
+49 -45
+68 -45
+69 -45
+70 -45
+71 -45
+72 -45
+73 -45
+74 -45
+75 -45
+76 -45
+26 -46
+27 -46
+28 -46
+29 -46
+30 -46
+31 -46
+32 -46
+33 -46
+34 -46
+41 -46
+42 -46
+43 -46
+44 -46
+45 -46
+46 -46
+47 -46
+48 -46
+49 -46
+68 -46
+69 -46
+70 -46
+71 -46
+72 -46
+73 -46
+74 -46
+75 -46
+76 -46
+26 -47
+27 -47
+28 -47
+29 -47
+30 -47
+31 -47
+32 -47
+33 -47
+34 -47
+41 -47
+42 -47
+43 -47
+44 -47
+45 -47
+46 -47
+47 -47
+48 -47
+49 -47
+68 -47
+69 -47
+70 -47
+71 -47
+72 -47
+73 -47
+74 -47
+75 -47
+76 -47
+26 -48
+27 -48
+28 -48
+29 -48
+30 -48
+31 -48
+32 -48
+33 -48
+34 -48
+41 -48
+42 -48
+43 -48
+44 -48
+45 -48
+46 -48
+47 -48
+48 -48
+49 -48
+68 -48
+69 -48
+70 -48
+71 -48
+72 -48
+73 -48
+74 -48
+75 -48
+76 -48
+26 -49
+27 -49
+28 -49
+29 -49
+30 -49
+31 -49
+32 -49
+33 -49
+34 -49
+41 -49
+42 -49
+43 -49
+44 -49
+45 -49
+46 -49
+47 -49
+48 -49
+49 -49
+68 -49
+69 -49
+70 -49
+71 -49
+72 -49
+73 -49
+74 -49
+75 -49
+76 -49
+1 -50
+3 -50
+5 -50
+20 -50
+24 -50
+36 -50
+39 -50
+50 -50
+52 -50
+53 -50
+54 -50
+64 -50
+65 -50
+66 -50
+67 -50
+78 -50
+80 -50
+93 -50
+95 -50
+96 -50
+97 -50
+107 -50
+108 -50
+109 -50
+110 -50
+51 -51
+1 -52
+3 -52
+5 -52
+20 -52
+24 -52
+36 -52
+39 -52
+50 -52
+52 -52
+53 -52
+54 -52
+64 -52
+65 -52
+66 -52
+67 -52
+1 -53
+3 -53
+5 -53
+20 -53
+24 -53
+50 -53
+52 -53
+53 -53
+54 -53
+78 -53
+80 -53
+93 -53
+95 -53
+96 -53
+97 -53
+1 -54
+3 -54
+5 -54
+20 -54
+24 -54
+50 -54
+52 -54
+53 -54
+54 -54
+9 -55
+10 -55
+11 -55
+12 -55
+13 -55
+14 -55
+15 -55
+16 -55
+17 -55
+26 -55
+27 -55
+28 -55
+29 -55
+30 -55
+31 -55
+32 -55
+33 -55
+34 -55
+55 -55
+56 -55
+57 -55
+58 -55
+59 -55
+60 -55
+61 -55
+62 -55
+63 -55
+68 -55
+69 -55
+70 -55
+71 -55
+72 -55
+73 -55
+74 -55
+75 -55
+76 -55
+98 -55
+99 -55
+100 -55
+101 -55
+102 -55
+103 -55
+104 -55
+105 -55
+106 -55
+9 -56
+10 -56
+11 -56
+12 -56
+13 -56
+14 -56
+15 -56
+16 -56
+17 -56
+26 -56
+27 -56
+28 -56
+29 -56
+30 -56
+31 -56
+32 -56
+33 -56
+34 -56
+55 -56
+56 -56
+57 -56
+58 -56
+59 -56
+60 -56
+61 -56
+62 -56
+63 -56
+68 -56
+69 -56
+70 -56
+71 -56
+72 -56
+73 -56
+74 -56
+75 -56
+76 -56
+98 -56
+99 -56
+100 -56
+101 -56
+102 -56
+103 -56
+104 -56
+105 -56
+106 -56
+9 -57
+10 -57
+11 -57
+12 -57
+13 -57
+14 -57
+15 -57
+16 -57
+17 -57
+26 -57
+27 -57
+28 -57
+29 -57
+30 -57
+31 -57
+32 -57
+33 -57
+34 -57
+55 -57
+56 -57
+57 -57
+58 -57
+59 -57
+60 -57
+61 -57
+62 -57
+63 -57
+68 -57
+69 -57
+70 -57
+71 -57
+72 -57
+73 -57
+74 -57
+75 -57
+76 -57
+98 -57
+99 -57
+100 -57
+101 -57
+102 -57
+103 -57
+104 -57
+105 -57
+106 -57
+9 -58
+10 -58
+11 -58
+12 -58
+13 -58
+14 -58
+15 -58
+16 -58
+17 -58
+26 -58
+27 -58
+28 -58
+29 -58
+30 -58
+31 -58
+32 -58
+33 -58
+34 -58
+55 -58
+56 -58
+57 -58
+58 -58
+59 -58
+60 -58
+61 -58
+62 -58
+63 -58
+68 -58
+69 -58
+70 -58
+71 -58
+72 -58
+73 -58
+74 -58
+75 -58
+76 -58
+98 -58
+99 -58
+100 -58
+101 -58
+102 -58
+103 -58
+104 -58
+105 -58
+106 -58
+9 -59
+10 -59
+11 -59
+12 -59
+13 -59
+14 -59
+15 -59
+16 -59
+17 -59
+26 -59
+27 -59
+28 -59
+29 -59
+30 -59
+31 -59
+32 -59
+33 -59
+34 -59
+55 -59
+56 -59
+57 -59
+58 -59
+59 -59
+60 -59
+61 -59
+62 -59
+63 -59
+68 -59
+69 -59
+70 -59
+71 -59
+72 -59
+73 -59
+74 -59
+75 -59
+76 -59
+98 -59
+99 -59
+100 -59
+101 -59
+102 -59
+103 -59
+104 -59
+105 -59
+106 -59
+9 -60
+10 -60
+11 -60
+12 -60
+13 -60
+14 -60
+15 -60
+16 -60
+17 -60
+26 -60
+27 -60
+28 -60
+29 -60
+30 -60
+31 -60
+32 -60
+33 -60
+34 -60
+55 -60
+56 -60
+57 -60
+58 -60
+59 -60
+60 -60
+61 -60
+62 -60
+63 -60
+68 -60
+69 -60
+70 -60
+71 -60
+72 -60
+73 -60
+74 -60
+75 -60
+76 -60
+98 -60
+99 -60
+100 -60
+101 -60
+102 -60
+103 -60
+104 -60
+105 -60
+106 -60
+9 -61
+10 -61
+11 -61
+12 -61
+13 -61
+14 -61
+15 -61
+16 -61
+17 -61
+26 -61
+27 -61
+28 -61
+29 -61
+30 -61
+31 -61
+32 -61
+33 -61
+34 -61
+55 -61
+56 -61
+57 -61
+58 -61
+59 -61
+60 -61
+61 -61
+62 -61
+63 -61
+68 -61
+69 -61
+70 -61
+71 -61
+72 -61
+73 -61
+74 -61
+75 -61
+76 -61
+98 -61
+99 -61
+100 -61
+101 -61
+102 -61
+103 -61
+104 -61
+105 -61
+106 -61
+9 -62
+10 -62
+11 -62
+12 -62
+13 -62
+14 -62
+15 -62
+16 -62
+17 -62
+26 -62
+27 -62
+28 -62
+29 -62
+30 -62
+31 -62
+32 -62
+33 -62
+34 -62
+55 -62
+56 -62
+57 -62
+58 -62
+59 -62
+60 -62
+61 -62
+62 -62
+63 -62
+68 -62
+69 -62
+70 -62
+71 -62
+72 -62
+73 -62
+74 -62
+75 -62
+76 -62
+98 -62
+99 -62
+100 -62
+101 -62
+102 -62
+103 -62
+104 -62
+105 -62
+106 -62
+9 -63
+10 -63
+11 -63
+12 -63
+13 -63
+14 -63
+15 -63
+16 -63
+17 -63
+26 -63
+27 -63
+28 -63
+29 -63
+30 -63
+31 -63
+32 -63
+33 -63
+34 -63
+55 -63
+56 -63
+57 -63
+58 -63
+59 -63
+60 -63
+61 -63
+62 -63
+63 -63
+68 -63
+69 -63
+70 -63
+71 -63
+72 -63
+73 -63
+74 -63
+75 -63
+76 -63
+98 -63
+99 -63
+100 -63
+101 -63
+102 -63
+103 -63
+104 -63
+105 -63
+106 -63
+20 -64
+36 -64
+39 -64
+50 -64
+52 -64
+64 -64
+65 -64
+66 -64
+67 -64
+93 -64
+95 -64
+107 -64
+108 -64
+109 -64
+110 -64
+20 -65
+36 -65
+39 -65
+50 -65
+52 -65
+64 -65
+65 -65
+66 -65
+67 -65
+20 -66
+36 -66
+39 -66
+50 -66
+52 -66
+64 -66
+65 -66
+66 -66
+67 -66
+93 -66
+95 -66
+107 -66
+108 -66
+109 -66
+110 -66
+20 -67
+36 -67
+39 -67
+50 -67
+52 -67
+64 -67
+65 -67
+66 -67
+67 -67
+41 -68
+42 -68
+43 -68
+44 -68
+45 -68
+46 -68
+47 -68
+48 -68
+49 -68
+55 -68
+56 -68
+57 -68
+58 -68
+59 -68
+60 -68
+61 -68
+62 -68
+63 -68
+68 -68
+69 -68
+70 -68
+71 -68
+72 -68
+73 -68
+74 -68
+75 -68
+76 -68
+111 -68
+112 -68
+113 -68
+114 -68
+115 -68
+116 -68
+117 -68
+118 -68
+119 -68
+41 -69
+42 -69
+43 -69
+44 -69
+45 -69
+46 -69
+47 -69
+48 -69
+49 -69
+55 -69
+56 -69
+57 -69
+58 -69
+59 -69
+60 -69
+61 -69
+62 -69
+63 -69
+68 -69
+69 -69
+70 -69
+71 -69
+72 -69
+73 -69
+74 -69
+75 -69
+76 -69
+111 -69
+112 -69
+113 -69
+114 -69
+115 -69
+116 -69
+117 -69
+118 -69
+119 -69
+41 -70
+42 -70
+43 -70
+44 -70
+45 -70
+46 -70
+47 -70
+48 -70
+49 -70
+55 -70
+56 -70
+57 -70
+58 -70
+59 -70
+60 -70
+61 -70
+62 -70
+63 -70
+68 -70
+69 -70
+70 -70
+71 -70
+72 -70
+73 -70
+74 -70
+75 -70
+76 -70
+111 -70
+112 -70
+113 -70
+114 -70
+115 -70
+116 -70
+117 -70
+118 -70
+119 -70
+41 -71
+42 -71
+43 -71
+44 -71
+45 -71
+46 -71
+47 -71
+48 -71
+49 -71
+55 -71
+56 -71
+57 -71
+58 -71
+59 -71
+60 -71
+61 -71
+62 -71
+63 -71
+68 -71
+69 -71
+70 -71
+71 -71
+72 -71
+73 -71
+74 -71
+75 -71
+76 -71
+111 -71
+112 -71
+113 -71
+114 -71
+115 -71
+116 -71
+117 -71
+118 -71
+119 -71
+41 -72
+42 -72
+43 -72
+44 -72
+45 -72
+46 -72
+47 -72
+48 -72
+49 -72
+55 -72
+56 -72
+57 -72
+58 -72
+59 -72
+60 -72
+61 -72
+62 -72
+63 -72
+68 -72
+69 -72
+70 -72
+71 -72
+72 -72
+73 -72
+74 -72
+75 -72
+76 -72
+111 -72
+112 -72
+113 -72
+114 -72
+115 -72
+116 -72
+117 -72
+118 -72
+119 -72
+41 -73
+42 -73
+43 -73
+44 -73
+45 -73
+46 -73
+47 -73
+48 -73
+49 -73
+55 -73
+56 -73
+57 -73
+58 -73
+59 -73
+60 -73
+61 -73
+62 -73
+63 -73
+68 -73
+69 -73
+70 -73
+71 -73
+72 -73
+73 -73
+74 -73
+75 -73
+76 -73
+111 -73
+112 -73
+113 -73
+114 -73
+115 -73
+116 -73
+117 -73
+118 -73
+119 -73
+41 -74
+42 -74
+43 -74
+44 -74
+45 -74
+46 -74
+47 -74
+48 -74
+49 -74
+55 -74
+56 -74
+57 -74
+58 -74
+59 -74
+60 -74
+61 -74
+62 -74
+63 -74
+68 -74
+69 -74
+70 -74
+71 -74
+72 -74
+73 -74
+74 -74
+75 -74
+76 -74
+111 -74
+112 -74
+113 -74
+114 -74
+115 -74
+116 -74
+117 -74
+118 -74
+119 -74
+41 -75
+42 -75
+43 -75
+44 -75
+45 -75
+46 -75
+47 -75
+48 -75
+49 -75
+55 -75
+56 -75
+57 -75
+58 -75
+59 -75
+60 -75
+61 -75
+62 -75
+63 -75
+68 -75
+69 -75
+70 -75
+71 -75
+72 -75
+73 -75
+74 -75
+75 -75
+76 -75
+111 -75
+112 -75
+113 -75
+114 -75
+115 -75
+116 -75
+117 -75
+118 -75
+119 -75
+41 -76
+42 -76
+43 -76
+44 -76
+45 -76
+46 -76
+47 -76
+48 -76
+49 -76
+55 -76
+56 -76
+57 -76
+58 -76
+59 -76
+60 -76
+61 -76
+62 -76
+63 -76
+68 -76
+69 -76
+70 -76
+71 -76
+72 -76
+73 -76
+74 -76
+75 -76
+76 -76
+111 -76
+112 -76
+113 -76
+114 -76
+115 -76
+116 -76
+117 -76
+118 -76
+119 -76
+9 -83
+10 -83
+11 -83
+12 -83
+13 -83
+14 -83
+15 -83
+16 -83
+17 -83
+83 -83
+84 -83
+85 -83
+86 -83
+87 -83
+88 -83
+89 -83
+90 -83
+91 -83
+9 -84
+10 -84
+11 -84
+12 -84
+13 -84
+14 -84
+15 -84
+16 -84
+17 -84
+83 -84
+84 -84
+85 -84
+86 -84
+87 -84
+88 -84
+89 -84
+90 -84
+91 -84
+9 -85
+10 -85
+11 -85
+12 -85
+13 -85
+14 -85
+15 -85
+16 -85
+17 -85
+83 -85
+84 -85
+85 -85
+86 -85
+87 -85
+88 -85
+89 -85
+90 -85
+91 -85
+9 -86
+10 -86
+11 -86
+12 -86
+13 -86
+14 -86
+15 -86
+16 -86
+17 -86
+83 -86
+84 -86
+85 -86
+86 -86
+87 -86
+88 -86
+89 -86
+90 -86
+91 -86
+9 -87
+10 -87
+11 -87
+12 -87
+13 -87
+14 -87
+15 -87
+16 -87
+17 -87
+83 -87
+84 -87
+85 -87
+86 -87
+87 -87
+88 -87
+89 -87
+90 -87
+91 -87
+9 -88
+10 -88
+11 -88
+12 -88
+13 -88
+14 -88
+15 -88
+16 -88
+17 -88
+83 -88
+84 -88
+85 -88
+86 -88
+87 -88
+88 -88
+89 -88
+90 -88
+91 -88
+9 -89
+10 -89
+11 -89
+12 -89
+13 -89
+14 -89
+15 -89
+16 -89
+17 -89
+83 -89
+84 -89
+85 -89
+86 -89
+87 -89
+88 -89
+89 -89
+90 -89
+91 -89
+9 -90
+10 -90
+11 -90
+12 -90
+13 -90
+14 -90
+15 -90
+16 -90
+17 -90
+83 -90
+84 -90
+85 -90
+86 -90
+87 -90
+88 -90
+89 -90
+90 -90
+91 -90
+9 -91
+10 -91
+11 -91
+12 -91
+13 -91
+14 -91
+15 -91
+16 -91
+17 -91
+83 -91
+84 -91
+85 -91
+86 -91
+87 -91
+88 -91
+89 -91
+90 -91
+91 -91
+55 -98
+56 -98
+57 -98
+58 -98
+59 -98
+60 -98
+61 -98
+62 -98
+63 -98
+98 -98
+99 -98
+100 -98
+101 -98
+102 -98
+103 -98
+104 -98
+105 -98
+106 -98
+55 -99
+56 -99
+57 -99
+58 -99
+59 -99
+60 -99
+61 -99
+62 -99
+63 -99
+98 -99
+99 -99
+100 -99
+101 -99
+102 -99
+103 -99
+104 -99
+105 -99
+106 -99
+55 -100
+56 -100
+57 -100
+58 -100
+59 -100
+60 -100
+61 -100
+62 -100
+63 -100
+98 -100
+99 -100
+100 -100
+101 -100
+102 -100
+103 -100
+104 -100
+105 -100
+106 -100
+55 -101
+56 -101
+57 -101
+58 -101
+59 -101
+60 -101
+61 -101
+62 -101
+63 -101
+98 -101
+99 -101
+100 -101
+101 -101
+102 -101
+103 -101
+104 -101
+105 -101
+106 -101
+55 -102
+56 -102
+57 -102
+58 -102
+59 -102
+60 -102
+61 -102
+62 -102
+63 -102
+98 -102
+99 -102
+100 -102
+101 -102
+102 -102
+103 -102
+104 -102
+105 -102
+106 -102
+55 -103
+56 -103
+57 -103
+58 -103
+59 -103
+60 -103
+61 -103
+62 -103
+63 -103
+98 -103
+99 -103
+100 -103
+101 -103
+102 -103
+103 -103
+104 -103
+105 -103
+106 -103
+55 -104
+56 -104
+57 -104
+58 -104
+59 -104
+60 -104
+61 -104
+62 -104
+63 -104
+98 -104
+99 -104
+100 -104
+101 -104
+102 -104
+103 -104
+104 -104
+105 -104
+106 -104
+55 -105
+56 -105
+57 -105
+58 -105
+59 -105
+60 -105
+61 -105
+62 -105
+63 -105
+98 -105
+99 -105
+100 -105
+101 -105
+102 -105
+103 -105
+104 -105
+105 -105
+106 -105
+55 -106
+56 -106
+57 -106
+58 -106
+59 -106
+60 -106
+61 -106
+62 -106
+63 -106
+98 -106
+99 -106
+100 -106
+101 -106
+102 -106
+103 -106
+104 -106
+105 -106
+106 -106
+68 -111
+69 -111
+70 -111
+71 -111
+72 -111
+73 -111
+74 -111
+75 -111
+76 -111
+111 -111
+112 -111
+113 -111
+114 -111
+115 -111
+116 -111
+117 -111
+118 -111
+119 -111
+68 -112
+69 -112
+70 -112
+71 -112
+72 -112
+73 -112
+74 -112
+75 -112
+76 -112
+111 -112
+112 -112
+113 -112
+114 -112
+115 -112
+116 -112
+117 -112
+118 -112
+119 -112
+68 -113
+69 -113
+70 -113
+71 -113
+72 -113
+73 -113
+74 -113
+75 -113
+76 -113
+111 -113
+112 -113
+113 -113
+114 -113
+115 -113
+116 -113
+117 -113
+118 -113
+119 -113
+68 -114
+69 -114
+70 -114
+71 -114
+72 -114
+73 -114
+74 -114
+75 -114
+76 -114
+111 -114
+112 -114
+113 -114
+114 -114
+115 -114
+116 -114
+117 -114
+118 -114
+119 -114
+68 -115
+69 -115
+70 -115
+71 -115
+72 -115
+73 -115
+74 -115
+75 -115
+76 -115
+111 -115
+112 -115
+113 -115
+114 -115
+115 -115
+116 -115
+117 -115
+118 -115
+119 -115
+68 -116
+69 -116
+70 -116
+71 -116
+72 -116
+73 -116
+74 -116
+75 -116
+76 -116
+111 -116
+112 -116
+113 -116
+114 -116
+115 -116
+116 -116
+117 -116
+118 -116
+119 -116
+68 -117
+69 -117
+70 -117
+71 -117
+72 -117
+73 -117
+74 -117
+75 -117
+76 -117
+111 -117
+112 -117
+113 -117
+114 -117
+115 -117
+116 -117
+117 -117
+118 -117
+119 -117
+68 -118
+69 -118
+70 -118
+71 -118
+72 -118
+73 -118
+74 -118
+75 -118
+76 -118
+111 -118
+112 -118
+113 -118
+114 -118
+115 -118
+116 -118
+117 -118
+118 -118
+119 -118
+68 -119
+69 -119
+70 -119
+71 -119
+72 -119
+73 -119
+74 -119
+75 -119
+76 -119
+111 -119
+112 -119
+113 -119
+114 -119
+115 -119
+116 -119
+117 -119
+118 -119
+119 -119
+
+2 -2
+3 -2
+7 -2
+77 -2
+78 -2
+79 -2
+80 -2
+81 -2
+82 -2
+2 -3
+3 -3
+7 -3
+77 -3
+78 -3
+79 -3
+80 -3
+81 -3
+82 -3
+2 -7
+3 -7
+7 -7
+77 -7
+78 -7
+79 -7
+80 -7
+81 -7
+82 -7
+9 -9
+10 -9
+11 -9
+12 -9
+13 -9
+14 -9
+15 -9
+16 -9
+17 -9
+83 -9
+84 -9
+85 -9
+86 -9
+87 -9
+88 -9
+89 -9
+90 -9
+91 -9
+9 -10
+10 -10
+11 -10
+12 -10
+13 -10
+14 -10
+15 -10
+16 -10
+17 -10
+83 -10
+84 -10
+85 -10
+86 -10
+87 -10
+88 -10
+89 -10
+90 -10
+91 -10
+9 -11
+10 -11
+11 -11
+12 -11
+13 -11
+14 -11
+15 -11
+16 -11
+17 -11
+83 -11
+84 -11
+85 -11
+86 -11
+87 -11
+88 -11
+89 -11
+90 -11
+91 -11
+9 -12
+10 -12
+11 -12
+12 -12
+13 -12
+14 -12
+15 -12
+16 -12
+17 -12
+83 -12
+84 -12
+85 -12
+86 -12
+87 -12
+88 -12
+89 -12
+90 -12
+91 -12
+9 -13
+10 -13
+11 -13
+12 -13
+13 -13
+14 -13
+15 -13
+16 -13
+17 -13
+83 -13
+84 -13
+85 -13
+86 -13
+87 -13
+88 -13
+89 -13
+90 -13
+91 -13
+9 -14
+10 -14
+11 -14
+12 -14
+13 -14
+14 -14
+15 -14
+16 -14
+17 -14
+83 -14
+84 -14
+85 -14
+86 -14
+87 -14
+88 -14
+89 -14
+90 -14
+91 -14
+9 -15
+10 -15
+11 -15
+12 -15
+13 -15
+14 -15
+15 -15
+16 -15
+17 -15
+83 -15
+84 -15
+85 -15
+86 -15
+87 -15
+88 -15
+89 -15
+90 -15
+91 -15
+9 -16
+10 -16
+11 -16
+12 -16
+13 -16
+14 -16
+15 -16
+16 -16
+17 -16
+83 -16
+84 -16
+85 -16
+86 -16
+87 -16
+88 -16
+89 -16
+90 -16
+91 -16
+9 -17
+10 -17
+11 -17
+12 -17
+13 -17
+14 -17
+15 -17
+16 -17
+17 -17
+83 -17
+84 -17
+85 -17
+86 -17
+87 -17
+88 -17
+89 -17
+90 -17
+91 -17
+2 -77
+3 -77
+7 -77
+77 -77
+78 -77
+79 -77
+80 -77
+81 -77
+82 -77
+2 -78
+3 -78
+7 -78
+50 -78
+53 -78
+77 -78
+78 -78
+79 -78
+80 -78
+81 -78
+82 -78
+93 -78
+95 -78
+96 -78
+97 -78
+120 -78
+122 -78
+123 -78
+124 -78
+2 -79
+3 -79
+7 -79
+77 -79
+78 -79
+79 -79
+80 -79
+81 -79
+82 -79
+2 -80
+3 -80
+7 -80
+50 -80
+53 -80
+77 -80
+78 -80
+79 -80
+80 -80
+81 -80
+82 -80
+93 -80
+95 -80
+96 -80
+97 -80
+120 -80
+122 -80
+123 -80
+124 -80
+2 -81
+3 -81
+7 -81
+77 -81
+78 -81
+79 -81
+80 -81
+81 -81
+82 -81
+2 -82
+3 -82
+7 -82
+77 -82
+78 -82
+79 -82
+80 -82
+81 -82
+82 -82
+9 -83
+10 -83
+11 -83
+12 -83
+13 -83
+14 -83
+15 -83
+16 -83
+17 -83
+83 -83
+84 -83
+85 -83
+86 -83
+87 -83
+88 -83
+89 -83
+90 -83
+91 -83
+98 -83
+99 -83
+100 -83
+101 -83
+102 -83
+103 -83
+104 -83
+105 -83
+106 -83
+125 -83
+126 -83
+127 -83
+128 -83
+129 -83
+130 -83
+131 -83
+132 -83
+133 -83
+9 -84
+10 -84
+11 -84
+12 -84
+13 -84
+14 -84
+15 -84
+16 -84
+17 -84
+83 -84
+84 -84
+85 -84
+86 -84
+87 -84
+88 -84
+89 -84
+90 -84
+91 -84
+98 -84
+99 -84
+100 -84
+101 -84
+102 -84
+103 -84
+104 -84
+105 -84
+106 -84
+125 -84
+126 -84
+127 -84
+128 -84
+129 -84
+130 -84
+131 -84
+132 -84
+133 -84
+9 -85
+10 -85
+11 -85
+12 -85
+13 -85
+14 -85
+15 -85
+16 -85
+17 -85
+83 -85
+84 -85
+85 -85
+86 -85
+87 -85
+88 -85
+89 -85
+90 -85
+91 -85
+98 -85
+99 -85
+100 -85
+101 -85
+102 -85
+103 -85
+104 -85
+105 -85
+106 -85
+125 -85
+126 -85
+127 -85
+128 -85
+129 -85
+130 -85
+131 -85
+132 -85
+133 -85
+9 -86
+10 -86
+11 -86
+12 -86
+13 -86
+14 -86
+15 -86
+16 -86
+17 -86
+83 -86
+84 -86
+85 -86
+86 -86
+87 -86
+88 -86
+89 -86
+90 -86
+91 -86
+98 -86
+99 -86
+100 -86
+101 -86
+102 -86
+103 -86
+104 -86
+105 -86
+106 -86
+125 -86
+126 -86
+127 -86
+128 -86
+129 -86
+130 -86
+131 -86
+132 -86
+133 -86
+9 -87
+10 -87
+11 -87
+12 -87
+13 -87
+14 -87
+15 -87
+16 -87
+17 -87
+83 -87
+84 -87
+85 -87
+86 -87
+87 -87
+88 -87
+89 -87
+90 -87
+91 -87
+98 -87
+99 -87
+100 -87
+101 -87
+102 -87
+103 -87
+104 -87
+105 -87
+106 -87
+125 -87
+126 -87
+127 -87
+128 -87
+129 -87
+130 -87
+131 -87
+132 -87
+133 -87
+9 -88
+10 -88
+11 -88
+12 -88
+13 -88
+14 -88
+15 -88
+16 -88
+17 -88
+83 -88
+84 -88
+85 -88
+86 -88
+87 -88
+88 -88
+89 -88
+90 -88
+91 -88
+98 -88
+99 -88
+100 -88
+101 -88
+102 -88
+103 -88
+104 -88
+105 -88
+106 -88
+125 -88
+126 -88
+127 -88
+128 -88
+129 -88
+130 -88
+131 -88
+132 -88
+133 -88
+9 -89
+10 -89
+11 -89
+12 -89
+13 -89
+14 -89
+15 -89
+16 -89
+17 -89
+83 -89
+84 -89
+85 -89
+86 -89
+87 -89
+88 -89
+89 -89
+90 -89
+91 -89
+98 -89
+99 -89
+100 -89
+101 -89
+102 -89
+103 -89
+104 -89
+105 -89
+106 -89
+125 -89
+126 -89
+127 -89
+128 -89
+129 -89
+130 -89
+131 -89
+132 -89
+133 -89
+9 -90
+10 -90
+11 -90
+12 -90
+13 -90
+14 -90
+15 -90
+16 -90
+17 -90
+83 -90
+84 -90
+85 -90
+86 -90
+87 -90
+88 -90
+89 -90
+90 -90
+91 -90
+98 -90
+99 -90
+100 -90
+101 -90
+102 -90
+103 -90
+104 -90
+105 -90
+106 -90
+125 -90
+126 -90
+127 -90
+128 -90
+129 -90
+130 -90
+131 -90
+132 -90
+133 -90
+9 -91
+10 -91
+11 -91
+12 -91
+13 -91
+14 -91
+15 -91
+16 -91
+17 -91
+83 -91
+84 -91
+85 -91
+86 -91
+87 -91
+88 -91
+89 -91
+90 -91
+91 -91
+98 -91
+99 -91
+100 -91
+101 -91
+102 -91
+103 -91
+104 -91
+105 -91
+106 -91
+125 -91
+126 -91
+127 -91
+128 -91
+129 -91
+130 -91
+131 -91
+132 -91
+133 -91
+83 -98
+84 -98
+85 -98
+86 -98
+87 -98
+88 -98
+89 -98
+90 -98
+91 -98
+98 -98
+99 -98
+100 -98
+101 -98
+102 -98
+103 -98
+104 -98
+105 -98
+106 -98
+83 -99
+84 -99
+85 -99
+86 -99
+87 -99
+88 -99
+89 -99
+90 -99
+91 -99
+98 -99
+99 -99
+100 -99
+101 -99
+102 -99
+103 -99
+104 -99
+105 -99
+106 -99
+83 -100
+84 -100
+85 -100
+86 -100
+87 -100
+88 -100
+89 -100
+90 -100
+91 -100
+98 -100
+99 -100
+100 -100
+101 -100
+102 -100
+103 -100
+104 -100
+105 -100
+106 -100
+83 -101
+84 -101
+85 -101
+86 -101
+87 -101
+88 -101
+89 -101
+90 -101
+91 -101
+98 -101
+99 -101
+100 -101
+101 -101
+102 -101
+103 -101
+104 -101
+105 -101
+106 -101
+83 -102
+84 -102
+85 -102
+86 -102
+87 -102
+88 -102
+89 -102
+90 -102
+91 -102
+98 -102
+99 -102
+100 -102
+101 -102
+102 -102
+103 -102
+104 -102
+105 -102
+106 -102
+83 -103
+84 -103
+85 -103
+86 -103
+87 -103
+88 -103
+89 -103
+90 -103
+91 -103
+98 -103
+99 -103
+100 -103
+101 -103
+102 -103
+103 -103
+104 -103
+105 -103
+106 -103
+83 -104
+84 -104
+85 -104
+86 -104
+87 -104
+88 -104
+89 -104
+90 -104
+91 -104
+98 -104
+99 -104
+100 -104
+101 -104
+102 -104
+103 -104
+104 -104
+105 -104
+106 -104
+83 -105
+84 -105
+85 -105
+86 -105
+87 -105
+88 -105
+89 -105
+90 -105
+91 -105
+98 -105
+99 -105
+100 -105
+101 -105
+102 -105
+103 -105
+104 -105
+105 -105
+106 -105
+83 -106
+84 -106
+85 -106
+86 -106
+87 -106
+88 -106
+89 -106
+90 -106
+91 -106
+98 -106
+99 -106
+100 -106
+101 -106
+102 -106
+103 -106
+104 -106
+105 -106
+106 -106
+83 -125
+84 -125
+85 -125
+86 -125
+87 -125
+88 -125
+89 -125
+90 -125
+91 -125
+125 -125
+126 -125
+127 -125
+128 -125
+129 -125
+130 -125
+131 -125
+132 -125
+133 -125
+83 -126
+84 -126
+85 -126
+86 -126
+87 -126
+88 -126
+89 -126
+90 -126
+91 -126
+125 -126
+126 -126
+127 -126
+128 -126
+129 -126
+130 -126
+131 -126
+132 -126
+133 -126
+83 -127
+84 -127
+85 -127
+86 -127
+87 -127
+88 -127
+89 -127
+90 -127
+91 -127
+125 -127
+126 -127
+127 -127
+128 -127
+129 -127
+130 -127
+131 -127
+132 -127
+133 -127
+83 -128
+84 -128
+85 -128
+86 -128
+87 -128
+88 -128
+89 -128
+90 -128
+91 -128
+125 -128
+126 -128
+127 -128
+128 -128
+129 -128
+130 -128
+131 -128
+132 -128
+133 -128
+83 -129
+84 -129
+85 -129
+86 -129
+87 -129
+88 -129
+89 -129
+90 -129
+91 -129
+125 -129
+126 -129
+127 -129
+128 -129
+129 -129
+130 -129
+131 -129
+132 -129
+133 -129
+83 -130
+84 -130
+85 -130
+86 -130
+87 -130
+88 -130
+89 -130
+90 -130
+91 -130
+125 -130
+126 -130
+127 -130
+128 -130
+129 -130
+130 -130
+131 -130
+132 -130
+133 -130
+83 -131
+84 -131
+85 -131
+86 -131
+87 -131
+88 -131
+89 -131
+90 -131
+91 -131
+125 -131
+126 -131
+127 -131
+128 -131
+129 -131
+130 -131
+131 -131
+132 -131
+133 -131
+83 -132
+84 -132
+85 -132
+86 -132
+87 -132
+88 -132
+89 -132
+90 -132
+91 -132
+125 -132
+126 -132
+127 -132
+128 -132
+129 -132
+130 -132
+131 -132
+132 -132
+133 -132
+83 -133
+84 -133
+85 -133
+86 -133
+87 -133
+88 -133
+89 -133
+90 -133
+91 -133
+125 -133
+126 -133
+127 -133
+128 -133
+129 -133
+130 -133
+131 -133
+132 -133
+133 -133
+
+
+3 -3
+50 -3
+53 -3
+78 -3
+80 -3
+93 -3
+95 -3
+96 -3
+97 -3
+120 -3
+122 -3
+123 -3
+124 -3
+3 -50
+50 -50
+53 -50
+64 -50
+66 -50
+78 -50
+80 -50
+93 -50
+95 -50
+96 -50
+97 -50
+107 -50
+108 -50
+109 -50
+110 -50
+3 -53
+50 -53
+53 -53
+78 -53
+80 -53
+93 -53
+95 -53
+96 -53
+97 -53
+55 -55
+56 -55
+57 -55
+58 -55
+59 -55
+60 -55
+61 -55
+62 -55
+63 -55
+98 -55
+99 -55
+100 -55
+101 -55
+102 -55
+103 -55
+104 -55
+105 -55
+106 -55
+55 -56
+56 -56
+57 -56
+58 -56
+59 -56
+60 -56
+61 -56
+62 -56
+63 -56
+98 -56
+99 -56
+100 -56
+101 -56
+102 -56
+103 -56
+104 -56
+105 -56
+106 -56
+55 -57
+56 -57
+57 -57
+58 -57
+59 -57
+60 -57
+61 -57
+62 -57
+63 -57
+98 -57
+99 -57
+100 -57
+101 -57
+102 -57
+103 -57
+104 -57
+105 -57
+106 -57
+55 -58
+56 -58
+57 -58
+58 -58
+59 -58
+60 -58
+61 -58
+62 -58
+63 -58
+98 -58
+99 -58
+100 -58
+101 -58
+102 -58
+103 -58
+104 -58
+105 -58
+106 -58
+55 -59
+56 -59
+57 -59
+58 -59
+59 -59
+60 -59
+61 -59
+62 -59
+63 -59
+98 -59
+99 -59
+100 -59
+101 -59
+102 -59
+103 -59
+104 -59
+105 -59
+106 -59
+55 -60
+56 -60
+57 -60
+58 -60
+59 -60
+60 -60
+61 -60
+62 -60
+63 -60
+98 -60
+99 -60
+100 -60
+101 -60
+102 -60
+103 -60
+104 -60
+105 -60
+106 -60
+55 -61
+56 -61
+57 -61
+58 -61
+59 -61
+60 -61
+61 -61
+62 -61
+63 -61
+98 -61
+99 -61
+100 -61
+101 -61
+102 -61
+103 -61
+104 -61
+105 -61
+106 -61
+55 -62
+56 -62
+57 -62
+58 -62
+59 -62
+60 -62
+61 -62
+62 -62
+63 -62
+98 -62
+99 -62
+100 -62
+101 -62
+102 -62
+103 -62
+104 -62
+105 -62
+106 -62
+55 -63
+56 -63
+57 -63
+58 -63
+59 -63
+60 -63
+61 -63
+62 -63
+63 -63
+98 -63
+99 -63
+100 -63
+101 -63
+102 -63
+103 -63
+104 -63
+105 -63
+106 -63
+50 -64
+64 -64
+66 -64
+93 -64
+95 -64
+107 -64
+108 -64
+109 -64
+110 -64
+50 -66
+64 -66
+66 -66
+93 -66
+95 -66
+107 -66
+108 -66
+109 -66
+110 -66
+68 -68
+69 -68
+70 -68
+71 -68
+72 -68
+73 -68
+74 -68
+75 -68
+76 -68
+111 -68
+112 -68
+113 -68
+114 -68
+115 -68
+116 -68
+117 -68
+118 -68
+119 -68
+68 -69
+69 -69
+70 -69
+71 -69
+72 -69
+73 -69
+74 -69
+75 -69
+76 -69
+111 -69
+112 -69
+113 -69
+114 -69
+115 -69
+116 -69
+117 -69
+118 -69
+119 -69
+68 -70
+69 -70
+70 -70
+71 -70
+72 -70
+73 -70
+74 -70
+75 -70
+76 -70
+111 -70
+112 -70
+113 -70
+114 -70
+115 -70
+116 -70
+117 -70
+118 -70
+119 -70
+68 -71
+69 -71
+70 -71
+71 -71
+72 -71
+73 -71
+74 -71
+75 -71
+76 -71
+111 -71
+112 -71
+113 -71
+114 -71
+115 -71
+116 -71
+117 -71
+118 -71
+119 -71
+68 -72
+69 -72
+70 -72
+71 -72
+72 -72
+73 -72
+74 -72
+75 -72
+76 -72
+111 -72
+112 -72
+113 -72
+114 -72
+115 -72
+116 -72
+117 -72
+118 -72
+119 -72
+68 -73
+69 -73
+70 -73
+71 -73
+72 -73
+73 -73
+74 -73
+75 -73
+76 -73
+111 -73
+112 -73
+113 -73
+114 -73
+115 -73
+116 -73
+117 -73
+118 -73
+119 -73
+68 -74
+69 -74
+70 -74
+71 -74
+72 -74
+73 -74
+74 -74
+75 -74
+76 -74
+111 -74
+112 -74
+113 -74
+114 -74
+115 -74
+116 -74
+117 -74
+118 -74
+119 -74
+68 -75
+69 -75
+70 -75
+71 -75
+72 -75
+73 -75
+74 -75
+75 -75
+76 -75
+111 -75
+112 -75
+113 -75
+114 -75
+115 -75
+116 -75
+117 -75
+118 -75
+119 -75
+68 -76
+69 -76
+70 -76
+71 -76
+72 -76
+73 -76
+74 -76
+75 -76
+76 -76
+111 -76
+112 -76
+113 -76
+114 -76
+115 -76
+116 -76
+117 -76
+118 -76
+119 -76
+3 -78
+50 -78
+53 -78
+78 -78
+80 -78
+93 -78
+95 -78
+96 -78
+97 -78
+120 -78
+122 -78
+123 -78
+124 -78
+3 -80
+50 -80
+53 -80
+78 -80
+80 -80
+93 -80
+95 -80
+96 -80
+97 -80
+120 -80
+122 -80
+123 -80
+124 -80
+83 -83
+84 -83
+85 -83
+86 -83
+87 -83
+88 -83
+89 -83
+90 -83
+91 -83
+98 -83
+99 -83
+100 -83
+101 -83
+102 -83
+103 -83
+104 -83
+105 -83
+106 -83
+125 -83
+126 -83
+127 -83
+128 -83
+129 -83
+130 -83
+131 -83
+132 -83
+133 -83
+83 -84
+84 -84
+85 -84
+86 -84
+87 -84
+88 -84
+89 -84
+90 -84
+91 -84
+98 -84
+99 -84
+100 -84
+101 -84
+102 -84
+103 -84
+104 -84
+105 -84
+106 -84
+125 -84
+126 -84
+127 -84
+128 -84
+129 -84
+130 -84
+131 -84
+132 -84
+133 -84
+83 -85
+84 -85
+85 -85
+86 -85
+87 -85
+88 -85
+89 -85
+90 -85
+91 -85
+98 -85
+99 -85
+100 -85
+101 -85
+102 -85
+103 -85
+104 -85
+105 -85
+106 -85
+125 -85
+126 -85
+127 -85
+128 -85
+129 -85
+130 -85
+131 -85
+132 -85
+133 -85
+83 -86
+84 -86
+85 -86
+86 -86
+87 -86
+88 -86
+89 -86
+90 -86
+91 -86
+98 -86
+99 -86
+100 -86
+101 -86
+102 -86
+103 -86
+104 -86
+105 -86
+106 -86
+125 -86
+126 -86
+127 -86
+128 -86
+129 -86
+130 -86
+131 -86
+132 -86
+133 -86
+83 -87
+84 -87
+85 -87
+86 -87
+87 -87
+88 -87
+89 -87
+90 -87
+91 -87
+98 -87
+99 -87
+100 -87
+101 -87
+102 -87
+103 -87
+104 -87
+105 -87
+106 -87
+125 -87
+126 -87
+127 -87
+128 -87
+129 -87
+130 -87
+131 -87
+132 -87
+133 -87
+83 -88
+84 -88
+85 -88
+86 -88
+87 -88
+88 -88
+89 -88
+90 -88
+91 -88
+98 -88
+99 -88
+100 -88
+101 -88
+102 -88
+103 -88
+104 -88
+105 -88
+106 -88
+125 -88
+126 -88
+127 -88
+128 -88
+129 -88
+130 -88
+131 -88
+132 -88
+133 -88
+83 -89
+84 -89
+85 -89
+86 -89
+87 -89
+88 -89
+89 -89
+90 -89
+91 -89
+98 -89
+99 -89
+100 -89
+101 -89
+102 -89
+103 -89
+104 -89
+105 -89
+106 -89
+125 -89
+126 -89
+127 -89
+128 -89
+129 -89
+130 -89
+131 -89
+132 -89
+133 -89
+83 -90
+84 -90
+85 -90
+86 -90
+87 -90
+88 -90
+89 -90
+90 -90
+91 -90
+98 -90
+99 -90
+100 -90
+101 -90
+102 -90
+103 -90
+104 -90
+105 -90
+106 -90
+125 -90
+126 -90
+127 -90
+128 -90
+129 -90
+130 -90
+131 -90
+132 -90
+133 -90
+83 -91
+84 -91
+85 -91
+86 -91
+87 -91
+88 -91
+89 -91
+90 -91
+91 -91
+98 -91
+99 -91
+100 -91
+101 -91
+102 -91
+103 -91
+104 -91
+105 -91
+106 -91
+125 -91
+126 -91
+127 -91
+128 -91
+129 -91
+130 -91
+131 -91
+132 -91
+133 -91
+92 -92
+3 -93
+50 -93
+53 -93
+64 -93
+66 -93
+78 -93
+80 -93
+93 -93
+95 -93
+96 -93
+97 -93
+107 -93
+108 -93
+109 -93
+110 -93
+120 -93
+122 -93
+123 -93
+124 -93
+134 -93
+135 -93
+136 -93
+137 -93
+94 -94
+3 -95
+50 -95
+53 -95
+64 -95
+66 -95
+78 -95
+80 -95
+93 -95
+95 -95
+96 -95
+97 -95
+107 -95
+108 -95
+109 -95
+110 -95
+3 -96
+50 -96
+53 -96
+78 -96
+80 -96
+93 -96
+95 -96
+96 -96
+97 -96
+120 -96
+122 -96
+123 -96
+124 -96
+3 -97
+50 -97
+53 -97
+78 -97
+80 -97
+93 -97
+95 -97
+96 -97
+97 -97
+55 -98
+56 -98
+57 -98
+58 -98
+59 -98
+60 -98
+61 -98
+62 -98
+63 -98
+83 -98
+84 -98
+85 -98
+86 -98
+87 -98
+88 -98
+89 -98
+90 -98
+91 -98
+98 -98
+99 -98
+100 -98
+101 -98
+102 -98
+103 -98
+104 -98
+105 -98
+106 -98
+111 -98
+112 -98
+113 -98
+114 -98
+115 -98
+116 -98
+117 -98
+118 -98
+119 -98
+125 -98
+126 -98
+127 -98
+128 -98
+129 -98
+130 -98
+131 -98
+132 -98
+133 -98
+55 -99
+56 -99
+57 -99
+58 -99
+59 -99
+60 -99
+61 -99
+62 -99
+63 -99
+83 -99
+84 -99
+85 -99
+86 -99
+87 -99
+88 -99
+89 -99
+90 -99
+91 -99
+98 -99
+99 -99
+100 -99
+101 -99
+102 -99
+103 -99
+104 -99
+105 -99
+106 -99
+111 -99
+112 -99
+113 -99
+114 -99
+115 -99
+116 -99
+117 -99
+118 -99
+119 -99
+125 -99
+126 -99
+127 -99
+128 -99
+129 -99
+130 -99
+131 -99
+132 -99
+133 -99
+55 -100
+56 -100
+57 -100
+58 -100
+59 -100
+60 -100
+61 -100
+62 -100
+63 -100
+83 -100
+84 -100
+85 -100
+86 -100
+87 -100
+88 -100
+89 -100
+90 -100
+91 -100
+98 -100
+99 -100
+100 -100
+101 -100
+102 -100
+103 -100
+104 -100
+105 -100
+106 -100
+111 -100
+112 -100
+113 -100
+114 -100
+115 -100
+116 -100
+117 -100
+118 -100
+119 -100
+125 -100
+126 -100
+127 -100
+128 -100
+129 -100
+130 -100
+131 -100
+132 -100
+133 -100
+55 -101
+56 -101
+57 -101
+58 -101
+59 -101
+60 -101
+61 -101
+62 -101
+63 -101
+83 -101
+84 -101
+85 -101
+86 -101
+87 -101
+88 -101
+89 -101
+90 -101
+91 -101
+98 -101
+99 -101
+100 -101
+101 -101
+102 -101
+103 -101
+104 -101
+105 -101
+106 -101
+111 -101
+112 -101
+113 -101
+114 -101
+115 -101
+116 -101
+117 -101
+118 -101
+119 -101
+125 -101
+126 -101
+127 -101
+128 -101
+129 -101
+130 -101
+131 -101
+132 -101
+133 -101
+55 -102
+56 -102
+57 -102
+58 -102
+59 -102
+60 -102
+61 -102
+62 -102
+63 -102
+83 -102
+84 -102
+85 -102
+86 -102
+87 -102
+88 -102
+89 -102
+90 -102
+91 -102
+98 -102
+99 -102
+100 -102
+101 -102
+102 -102
+103 -102
+104 -102
+105 -102
+106 -102
+111 -102
+112 -102
+113 -102
+114 -102
+115 -102
+116 -102
+117 -102
+118 -102
+119 -102
+125 -102
+126 -102
+127 -102
+128 -102
+129 -102
+130 -102
+131 -102
+132 -102
+133 -102
+55 -103
+56 -103
+57 -103
+58 -103
+59 -103
+60 -103
+61 -103
+62 -103
+63 -103
+83 -103
+84 -103
+85 -103
+86 -103
+87 -103
+88 -103
+89 -103
+90 -103
+91 -103
+98 -103
+99 -103
+100 -103
+101 -103
+102 -103
+103 -103
+104 -103
+105 -103
+106 -103
+111 -103
+112 -103
+113 -103
+114 -103
+115 -103
+116 -103
+117 -103
+118 -103
+119 -103
+125 -103
+126 -103
+127 -103
+128 -103
+129 -103
+130 -103
+131 -103
+132 -103
+133 -103
+55 -104
+56 -104
+57 -104
+58 -104
+59 -104
+60 -104
+61 -104
+62 -104
+63 -104
+83 -104
+84 -104
+85 -104
+86 -104
+87 -104
+88 -104
+89 -104
+90 -104
+91 -104
+98 -104
+99 -104
+100 -104
+101 -104
+102 -104
+103 -104
+104 -104
+105 -104
+106 -104
+111 -104
+112 -104
+113 -104
+114 -104
+115 -104
+116 -104
+117 -104
+118 -104
+119 -104
+125 -104
+126 -104
+127 -104
+128 -104
+129 -104
+130 -104
+131 -104
+132 -104
+133 -104
+55 -105
+56 -105
+57 -105
+58 -105
+59 -105
+60 -105
+61 -105
+62 -105
+63 -105
+83 -105
+84 -105
+85 -105
+86 -105
+87 -105
+88 -105
+89 -105
+90 -105
+91 -105
+98 -105
+99 -105
+100 -105
+101 -105
+102 -105
+103 -105
+104 -105
+105 -105
+106 -105
+111 -105
+112 -105
+113 -105
+114 -105
+115 -105
+116 -105
+117 -105
+118 -105
+119 -105
+125 -105
+126 -105
+127 -105
+128 -105
+129 -105
+130 -105
+131 -105
+132 -105
+133 -105
+55 -106
+56 -106
+57 -106
+58 -106
+59 -106
+60 -106
+61 -106
+62 -106
+63 -106
+83 -106
+84 -106
+85 -106
+86 -106
+87 -106
+88 -106
+89 -106
+90 -106
+91 -106
+98 -106
+99 -106
+100 -106
+101 -106
+102 -106
+103 -106
+104 -106
+105 -106
+106 -106
+111 -106
+112 -106
+113 -106
+114 -106
+115 -106
+116 -106
+117 -106
+118 -106
+119 -106
+125 -106
+126 -106
+127 -106
+128 -106
+129 -106
+130 -106
+131 -106
+132 -106
+133 -106
+50 -107
+64 -107
+66 -107
+93 -107
+95 -107
+107 -107
+108 -107
+109 -107
+110 -107
+120 -107
+122 -107
+134 -107
+135 -107
+136 -107
+137 -107
+50 -108
+64 -108
+66 -108
+93 -108
+95 -108
+107 -108
+108 -108
+109 -108
+110 -108
+50 -109
+64 -109
+66 -109
+93 -109
+95 -109
+107 -109
+108 -109
+109 -109
+110 -109
+120 -109
+122 -109
+134 -109
+135 -109
+136 -109
+137 -109
+50 -110
+64 -110
+66 -110
+93 -110
+95 -110
+107 -110
+108 -110
+109 -110
+110 -110
+68 -111
+69 -111
+70 -111
+71 -111
+72 -111
+73 -111
+74 -111
+75 -111
+76 -111
+98 -111
+99 -111
+100 -111
+101 -111
+102 -111
+103 -111
+104 -111
+105 -111
+106 -111
+111 -111
+112 -111
+113 -111
+114 -111
+115 -111
+116 -111
+117 -111
+118 -111
+119 -111
+138 -111
+139 -111
+140 -111
+141 -111
+142 -111
+143 -111
+144 -111
+145 -111
+146 -111
+68 -112
+69 -112
+70 -112
+71 -112
+72 -112
+73 -112
+74 -112
+75 -112
+76 -112
+98 -112
+99 -112
+100 -112
+101 -112
+102 -112
+103 -112
+104 -112
+105 -112
+106 -112
+111 -112
+112 -112
+113 -112
+114 -112
+115 -112
+116 -112
+117 -112
+118 -112
+119 -112
+138 -112
+139 -112
+140 -112
+141 -112
+142 -112
+143 -112
+144 -112
+145 -112
+146 -112
+68 -113
+69 -113
+70 -113
+71 -113
+72 -113
+73 -113
+74 -113
+75 -113
+76 -113
+98 -113
+99 -113
+100 -113
+101 -113
+102 -113
+103 -113
+104 -113
+105 -113
+106 -113
+111 -113
+112 -113
+113 -113
+114 -113
+115 -113
+116 -113
+117 -113
+118 -113
+119 -113
+138 -113
+139 -113
+140 -113
+141 -113
+142 -113
+143 -113
+144 -113
+145 -113
+146 -113
+68 -114
+69 -114
+70 -114
+71 -114
+72 -114
+73 -114
+74 -114
+75 -114
+76 -114
+98 -114
+99 -114
+100 -114
+101 -114
+102 -114
+103 -114
+104 -114
+105 -114
+106 -114
+111 -114
+112 -114
+113 -114
+114 -114
+115 -114
+116 -114
+117 -114
+118 -114
+119 -114
+138 -114
+139 -114
+140 -114
+141 -114
+142 -114
+143 -114
+144 -114
+145 -114
+146 -114
+68 -115
+69 -115
+70 -115
+71 -115
+72 -115
+73 -115
+74 -115
+75 -115
+76 -115
+98 -115
+99 -115
+100 -115
+101 -115
+102 -115
+103 -115
+104 -115
+105 -115
+106 -115
+111 -115
+112 -115
+113 -115
+114 -115
+115 -115
+116 -115
+117 -115
+118 -115
+119 -115
+138 -115
+139 -115
+140 -115
+141 -115
+142 -115
+143 -115
+144 -115
+145 -115
+146 -115
+68 -116
+69 -116
+70 -116
+71 -116
+72 -116
+73 -116
+74 -116
+75 -116
+76 -116
+98 -116
+99 -116
+100 -116
+101 -116
+102 -116
+103 -116
+104 -116
+105 -116
+106 -116
+111 -116
+112 -116
+113 -116
+114 -116
+115 -116
+116 -116
+117 -116
+118 -116
+119 -116
+138 -116
+139 -116
+140 -116
+141 -116
+142 -116
+143 -116
+144 -116
+145 -116
+146 -116
+68 -117
+69 -117
+70 -117
+71 -117
+72 -117
+73 -117
+74 -117
+75 -117
+76 -117
+98 -117
+99 -117
+100 -117
+101 -117
+102 -117
+103 -117
+104 -117
+105 -117
+106 -117
+111 -117
+112 -117
+113 -117
+114 -117
+115 -117
+116 -117
+117 -117
+118 -117
+119 -117
+138 -117
+139 -117
+140 -117
+141 -117
+142 -117
+143 -117
+144 -117
+145 -117
+146 -117
+68 -118
+69 -118
+70 -118
+71 -118
+72 -118
+73 -118
+74 -118
+75 -118
+76 -118
+98 -118
+99 -118
+100 -118
+101 -118
+102 -118
+103 -118
+104 -118
+105 -118
+106 -118
+111 -118
+112 -118
+113 -118
+114 -118
+115 -118
+116 -118
+117 -118
+118 -118
+119 -118
+138 -118
+139 -118
+140 -118
+141 -118
+142 -118
+143 -118
+144 -118
+145 -118
+146 -118
+68 -119
+69 -119
+70 -119
+71 -119
+72 -119
+73 -119
+74 -119
+75 -119
+76 -119
+98 -119
+99 -119
+100 -119
+101 -119
+102 -119
+103 -119
+104 -119
+105 -119
+106 -119
+111 -119
+112 -119
+113 -119
+114 -119
+115 -119
+116 -119
+117 -119
+118 -119
+119 -119
+138 -119
+139 -119
+140 -119
+141 -119
+142 -119
+143 -119
+144 -119
+145 -119
+146 -119
+3 -120
+78 -120
+80 -120
+93 -120
+96 -120
+107 -120
+109 -120
+120 -120
+122 -120
+123 -120
+124 -120
+134 -120
+135 -120
+136 -120
+137 -120
+121 -121
+3 -122
+78 -122
+80 -122
+93 -122
+96 -122
+107 -122
+109 -122
+120 -122
+122 -122
+123 -122
+124 -122
+134 -122
+135 -122
+136 -122
+137 -122
+3 -123
+78 -123
+80 -123
+93 -123
+96 -123
+120 -123
+122 -123
+123 -123
+124 -123
+3 -124
+78 -124
+80 -124
+93 -124
+96 -124
+120 -124
+122 -124
+123 -124
+124 -124
+83 -125
+84 -125
+85 -125
+86 -125
+87 -125
+88 -125
+89 -125
+90 -125
+91 -125
+98 -125
+99 -125
+100 -125
+101 -125
+102 -125
+103 -125
+104 -125
+105 -125
+106 -125
+125 -125
+126 -125
+127 -125
+128 -125
+129 -125
+130 -125
+131 -125
+132 -125
+133 -125
+138 -125
+139 -125
+140 -125
+141 -125
+142 -125
+143 -125
+144 -125
+145 -125
+146 -125
+83 -126
+84 -126
+85 -126
+86 -126
+87 -126
+88 -126
+89 -126
+90 -126
+91 -126
+98 -126
+99 -126
+100 -126
+101 -126
+102 -126
+103 -126
+104 -126
+105 -126
+106 -126
+125 -126
+126 -126
+127 -126
+128 -126
+129 -126
+130 -126
+131 -126
+132 -126
+133 -126
+138 -126
+139 -126
+140 -126
+141 -126
+142 -126
+143 -126
+144 -126
+145 -126
+146 -126
+83 -127
+84 -127
+85 -127
+86 -127
+87 -127
+88 -127
+89 -127
+90 -127
+91 -127
+98 -127
+99 -127
+100 -127
+101 -127
+102 -127
+103 -127
+104 -127
+105 -127
+106 -127
+125 -127
+126 -127
+127 -127
+128 -127
+129 -127
+130 -127
+131 -127
+132 -127
+133 -127
+138 -127
+139 -127
+140 -127
+141 -127
+142 -127
+143 -127
+144 -127
+145 -127
+146 -127
+83 -128
+84 -128
+85 -128
+86 -128
+87 -128
+88 -128
+89 -128
+90 -128
+91 -128
+98 -128
+99 -128
+100 -128
+101 -128
+102 -128
+103 -128
+104 -128
+105 -128
+106 -128
+125 -128
+126 -128
+127 -128
+128 -128
+129 -128
+130 -128
+131 -128
+132 -128
+133 -128
+138 -128
+139 -128
+140 -128
+141 -128
+142 -128
+143 -128
+144 -128
+145 -128
+146 -128
+83 -129
+84 -129
+85 -129
+86 -129
+87 -129
+88 -129
+89 -129
+90 -129
+91 -129
+98 -129
+99 -129
+100 -129
+101 -129
+102 -129
+103 -129
+104 -129
+105 -129
+106 -129
+125 -129
+126 -129
+127 -129
+128 -129
+129 -129
+130 -129
+131 -129
+132 -129
+133 -129
+138 -129
+139 -129
+140 -129
+141 -129
+142 -129
+143 -129
+144 -129
+145 -129
+146 -129
+83 -130
+84 -130
+85 -130
+86 -130
+87 -130
+88 -130
+89 -130
+90 -130
+91 -130
+98 -130
+99 -130
+100 -130
+101 -130
+102 -130
+103 -130
+104 -130
+105 -130
+106 -130
+125 -130
+126 -130
+127 -130
+128 -130
+129 -130
+130 -130
+131 -130
+132 -130
+133 -130
+138 -130
+139 -130
+140 -130
+141 -130
+142 -130
+143 -130
+144 -130
+145 -130
+146 -130
+83 -131
+84 -131
+85 -131
+86 -131
+87 -131
+88 -131
+89 -131
+90 -131
+91 -131
+98 -131
+99 -131
+100 -131
+101 -131
+102 -131
+103 -131
+104 -131
+105 -131
+106 -131
+125 -131
+126 -131
+127 -131
+128 -131
+129 -131
+130 -131
+131 -131
+132 -131
+133 -131
+138 -131
+139 -131
+140 -131
+141 -131
+142 -131
+143 -131
+144 -131
+145 -131
+146 -131
+83 -132
+84 -132
+85 -132
+86 -132
+87 -132
+88 -132
+89 -132
+90 -132
+91 -132
+98 -132
+99 -132
+100 -132
+101 -132
+102 -132
+103 -132
+104 -132
+105 -132
+106 -132
+125 -132
+126 -132
+127 -132
+128 -132
+129 -132
+130 -132
+131 -132
+132 -132
+133 -132
+138 -132
+139 -132
+140 -132
+141 -132
+142 -132
+143 -132
+144 -132
+145 -132
+146 -132
+83 -133
+84 -133
+85 -133
+86 -133
+87 -133
+88 -133
+89 -133
+90 -133
+91 -133
+98 -133
+99 -133
+100 -133
+101 -133
+102 -133
+103 -133
+104 -133
+105 -133
+106 -133
+125 -133
+126 -133
+127 -133
+128 -133
+129 -133
+130 -133
+131 -133
+132 -133
+133 -133
+138 -133
+139 -133
+140 -133
+141 -133
+142 -133
+143 -133
+144 -133
+145 -133
+146 -133
+93 -134
+107 -134
+109 -134
+120 -134
+122 -134
+134 -134
+135 -134
+136 -134
+137 -134
+93 -135
+107 -135
+109 -135
+120 -135
+122 -135
+134 -135
+135 -135
+136 -135
+137 -135
+93 -136
+107 -136
+109 -136
+120 -136
+122 -136
+134 -136
+135 -136
+136 -136
+137 -136
+93 -137
+107 -137
+109 -137
+120 -137
+122 -137
+134 -137
+135 -137
+136 -137
+137 -137
+111 -138
+112 -138
+113 -138
+114 -138
+115 -138
+116 -138
+117 -138
+118 -138
+119 -138
+125 -138
+126 -138
+127 -138
+128 -138
+129 -138
+130 -138
+131 -138
+132 -138
+133 -138
+138 -138
+139 -138
+140 -138
+141 -138
+142 -138
+143 -138
+144 -138
+145 -138
+146 -138
+111 -139
+112 -139
+113 -139
+114 -139
+115 -139
+116 -139
+117 -139
+118 -139
+119 -139
+125 -139
+126 -139
+127 -139
+128 -139
+129 -139
+130 -139
+131 -139
+132 -139
+133 -139
+138 -139
+139 -139
+140 -139
+141 -139
+142 -139
+143 -139
+144 -139
+145 -139
+146 -139
+111 -140
+112 -140
+113 -140
+114 -140
+115 -140
+116 -140
+117 -140
+118 -140
+119 -140
+125 -140
+126 -140
+127 -140
+128 -140
+129 -140
+130 -140
+131 -140
+132 -140
+133 -140
+138 -140
+139 -140
+140 -140
+141 -140
+142 -140
+143 -140
+144 -140
+145 -140
+146 -140
+111 -141
+112 -141
+113 -141
+114 -141
+115 -141
+116 -141
+117 -141
+118 -141
+119 -141
+125 -141
+126 -141
+127 -141
+128 -141
+129 -141
+130 -141
+131 -141
+132 -141
+133 -141
+138 -141
+139 -141
+140 -141
+141 -141
+142 -141
+143 -141
+144 -141
+145 -141
+146 -141
+111 -142
+112 -142
+113 -142
+114 -142
+115 -142
+116 -142
+117 -142
+118 -142
+119 -142
+125 -142
+126 -142
+127 -142
+128 -142
+129 -142
+130 -142
+131 -142
+132 -142
+133 -142
+138 -142
+139 -142
+140 -142
+141 -142
+142 -142
+143 -142
+144 -142
+145 -142
+146 -142
+111 -143
+112 -143
+113 -143
+114 -143
+115 -143
+116 -143
+117 -143
+118 -143
+119 -143
+125 -143
+126 -143
+127 -143
+128 -143
+129 -143
+130 -143
+131 -143
+132 -143
+133 -143
+138 -143
+139 -143
+140 -143
+141 -143
+142 -143
+143 -143
+144 -143
+145 -143
+146 -143
+111 -144
+112 -144
+113 -144
+114 -144
+115 -144
+116 -144
+117 -144
+118 -144
+119 -144
+125 -144
+126 -144
+127 -144
+128 -144
+129 -144
+130 -144
+131 -144
+132 -144
+133 -144
+138 -144
+139 -144
+140 -144
+141 -144
+142 -144
+143 -144
+144 -144
+145 -144
+146 -144
+111 -145
+112 -145
+113 -145
+114 -145
+115 -145
+116 -145
+117 -145
+118 -145
+119 -145
+125 -145
+126 -145
+127 -145
+128 -145
+129 -145
+130 -145
+131 -145
+132 -145
+133 -145
+138 -145
+139 -145
+140 -145
+141 -145
+142 -145
+143 -145
+144 -145
+145 -145
+146 -145
+111 -146
+112 -146
+113 -146
+114 -146
+115 -146
+116 -146
+117 -146
+118 -146
+119 -146
+125 -146
+126 -146
+127 -146
+128 -146
+129 -146
+130 -146
+131 -146
+132 -146
+133 -146
+138 -146
+139 -146
+140 -146
+141 -146
+142 -146
+143 -146
+144 -146
+145 -146
+146 -146
+
diff --git a/tests/dofs/dof_tools_22a.with_trilinos=true.mpirun=5.output b/tests/dofs/dof_tools_22a.with_trilinos=true.mpirun=5.output
new file mode 100644 (file)
index 0000000..d9687a5
--- /dev/null
@@ -0,0 +1,6173 @@
+
+0 0
+1 0
+2 0
+3 0
+4 0
+5 0
+6 0
+7 0
+8 0
+0 -1
+1 -1
+2 -1
+3 -1
+4 -1
+5 -1
+6 -1
+7 -1
+8 -1
+18 -1
+20 -1
+22 -1
+23 -1
+24 -1
+25 -1
+50 -1
+52 -1
+53 -1
+54 -1
+0 -2
+1 -2
+2 -2
+3 -2
+4 -2
+5 -2
+6 -2
+7 -2
+8 -2
+77 -2
+78 -2
+79 -2
+80 -2
+81 -2
+82 -2
+0 -3
+1 -3
+2 -3
+3 -3
+4 -3
+5 -3
+6 -3
+7 -3
+8 -3
+18 -3
+20 -3
+22 -3
+23 -3
+24 -3
+25 -3
+50 -3
+52 -3
+53 -3
+54 -3
+77 -3
+78 -3
+79 -3
+80 -3
+81 -3
+82 -3
+93 -3
+95 -3
+96 -3
+97 -3
+120 -3
+122 -3
+123 -3
+124 -3
+0 -4
+1 -4
+2 -4
+3 -4
+4 -4
+5 -4
+6 -4
+7 -4
+8 -4
+0 -5
+1 -5
+2 -5
+3 -5
+4 -5
+5 -5
+6 -5
+7 -5
+8 -5
+18 -5
+20 -5
+22 -5
+23 -5
+24 -5
+25 -5
+50 -5
+52 -5
+53 -5
+54 -5
+0 -6
+1 -6
+2 -6
+3 -6
+4 -6
+5 -6
+6 -6
+7 -6
+8 -6
+0 -7
+1 -7
+2 -7
+3 -7
+4 -7
+5 -7
+6 -7
+7 -7
+8 -7
+77 -7
+78 -7
+79 -7
+80 -7
+81 -7
+82 -7
+0 -8
+1 -8
+2 -8
+3 -8
+4 -8
+5 -8
+6 -8
+7 -8
+8 -8
+9 -9
+10 -9
+11 -9
+12 -9
+13 -9
+14 -9
+15 -9
+16 -9
+17 -9
+26 -9
+27 -9
+28 -9
+29 -9
+30 -9
+31 -9
+32 -9
+33 -9
+34 -9
+55 -9
+56 -9
+57 -9
+58 -9
+59 -9
+60 -9
+61 -9
+62 -9
+63 -9
+83 -9
+84 -9
+85 -9
+86 -9
+87 -9
+88 -9
+89 -9
+90 -9
+91 -9
+9 -10
+10 -10
+11 -10
+12 -10
+13 -10
+14 -10
+15 -10
+16 -10
+17 -10
+26 -10
+27 -10
+28 -10
+29 -10
+30 -10
+31 -10
+32 -10
+33 -10
+34 -10
+55 -10
+56 -10
+57 -10
+58 -10
+59 -10
+60 -10
+61 -10
+62 -10
+63 -10
+83 -10
+84 -10
+85 -10
+86 -10
+87 -10
+88 -10
+89 -10
+90 -10
+91 -10
+9 -11
+10 -11
+11 -11
+12 -11
+13 -11
+14 -11
+15 -11
+16 -11
+17 -11
+26 -11
+27 -11
+28 -11
+29 -11
+30 -11
+31 -11
+32 -11
+33 -11
+34 -11
+55 -11
+56 -11
+57 -11
+58 -11
+59 -11
+60 -11
+61 -11
+62 -11
+63 -11
+83 -11
+84 -11
+85 -11
+86 -11
+87 -11
+88 -11
+89 -11
+90 -11
+91 -11
+9 -12
+10 -12
+11 -12
+12 -12
+13 -12
+14 -12
+15 -12
+16 -12
+17 -12
+26 -12
+27 -12
+28 -12
+29 -12
+30 -12
+31 -12
+32 -12
+33 -12
+34 -12
+55 -12
+56 -12
+57 -12
+58 -12
+59 -12
+60 -12
+61 -12
+62 -12
+63 -12
+83 -12
+84 -12
+85 -12
+86 -12
+87 -12
+88 -12
+89 -12
+90 -12
+91 -12
+9 -13
+10 -13
+11 -13
+12 -13
+13 -13
+14 -13
+15 -13
+16 -13
+17 -13
+26 -13
+27 -13
+28 -13
+29 -13
+30 -13
+31 -13
+32 -13
+33 -13
+34 -13
+55 -13
+56 -13
+57 -13
+58 -13
+59 -13
+60 -13
+61 -13
+62 -13
+63 -13
+83 -13
+84 -13
+85 -13
+86 -13
+87 -13
+88 -13
+89 -13
+90 -13
+91 -13
+9 -14
+10 -14
+11 -14
+12 -14
+13 -14
+14 -14
+15 -14
+16 -14
+17 -14
+26 -14
+27 -14
+28 -14
+29 -14
+30 -14
+31 -14
+32 -14
+33 -14
+34 -14
+55 -14
+56 -14
+57 -14
+58 -14
+59 -14
+60 -14
+61 -14
+62 -14
+63 -14
+83 -14
+84 -14
+85 -14
+86 -14
+87 -14
+88 -14
+89 -14
+90 -14
+91 -14
+9 -15
+10 -15
+11 -15
+12 -15
+13 -15
+14 -15
+15 -15
+16 -15
+17 -15
+26 -15
+27 -15
+28 -15
+29 -15
+30 -15
+31 -15
+32 -15
+33 -15
+34 -15
+55 -15
+56 -15
+57 -15
+58 -15
+59 -15
+60 -15
+61 -15
+62 -15
+63 -15
+83 -15
+84 -15
+85 -15
+86 -15
+87 -15
+88 -15
+89 -15
+90 -15
+91 -15
+9 -16
+10 -16
+11 -16
+12 -16
+13 -16
+14 -16
+15 -16
+16 -16
+17 -16
+26 -16
+27 -16
+28 -16
+29 -16
+30 -16
+31 -16
+32 -16
+33 -16
+34 -16
+55 -16
+56 -16
+57 -16
+58 -16
+59 -16
+60 -16
+61 -16
+62 -16
+63 -16
+83 -16
+84 -16
+85 -16
+86 -16
+87 -16
+88 -16
+89 -16
+90 -16
+91 -16
+9 -17
+10 -17
+11 -17
+12 -17
+13 -17
+14 -17
+15 -17
+16 -17
+17 -17
+26 -17
+27 -17
+28 -17
+29 -17
+30 -17
+31 -17
+32 -17
+33 -17
+34 -17
+55 -17
+56 -17
+57 -17
+58 -17
+59 -17
+60 -17
+61 -17
+62 -17
+63 -17
+83 -17
+84 -17
+85 -17
+86 -17
+87 -17
+88 -17
+89 -17
+90 -17
+91 -17
+9 -26
+10 -26
+11 -26
+12 -26
+13 -26
+14 -26
+15 -26
+16 -26
+17 -26
+26 -26
+27 -26
+28 -26
+29 -26
+30 -26
+31 -26
+32 -26
+33 -26
+34 -26
+9 -27
+10 -27
+11 -27
+12 -27
+13 -27
+14 -27
+15 -27
+16 -27
+17 -27
+26 -27
+27 -27
+28 -27
+29 -27
+30 -27
+31 -27
+32 -27
+33 -27
+34 -27
+9 -28
+10 -28
+11 -28
+12 -28
+13 -28
+14 -28
+15 -28
+16 -28
+17 -28
+26 -28
+27 -28
+28 -28
+29 -28
+30 -28
+31 -28
+32 -28
+33 -28
+34 -28
+9 -29
+10 -29
+11 -29
+12 -29
+13 -29
+14 -29
+15 -29
+16 -29
+17 -29
+26 -29
+27 -29
+28 -29
+29 -29
+30 -29
+31 -29
+32 -29
+33 -29
+34 -29
+9 -30
+10 -30
+11 -30
+12 -30
+13 -30
+14 -30
+15 -30
+16 -30
+17 -30
+26 -30
+27 -30
+28 -30
+29 -30
+30 -30
+31 -30
+32 -30
+33 -30
+34 -30
+9 -31
+10 -31
+11 -31
+12 -31
+13 -31
+14 -31
+15 -31
+16 -31
+17 -31
+26 -31
+27 -31
+28 -31
+29 -31
+30 -31
+31 -31
+32 -31
+33 -31
+34 -31
+9 -32
+10 -32
+11 -32
+12 -32
+13 -32
+14 -32
+15 -32
+16 -32
+17 -32
+26 -32
+27 -32
+28 -32
+29 -32
+30 -32
+31 -32
+32 -32
+33 -32
+34 -32
+9 -33
+10 -33
+11 -33
+12 -33
+13 -33
+14 -33
+15 -33
+16 -33
+17 -33
+26 -33
+27 -33
+28 -33
+29 -33
+30 -33
+31 -33
+32 -33
+33 -33
+34 -33
+9 -34
+10 -34
+11 -34
+12 -34
+13 -34
+14 -34
+15 -34
+16 -34
+17 -34
+26 -34
+27 -34
+28 -34
+29 -34
+30 -34
+31 -34
+32 -34
+33 -34
+34 -34
+9 -55
+10 -55
+11 -55
+12 -55
+13 -55
+14 -55
+15 -55
+16 -55
+17 -55
+55 -55
+56 -55
+57 -55
+58 -55
+59 -55
+60 -55
+61 -55
+62 -55
+63 -55
+9 -56
+10 -56
+11 -56
+12 -56
+13 -56
+14 -56
+15 -56
+16 -56
+17 -56
+55 -56
+56 -56
+57 -56
+58 -56
+59 -56
+60 -56
+61 -56
+62 -56
+63 -56
+9 -57
+10 -57
+11 -57
+12 -57
+13 -57
+14 -57
+15 -57
+16 -57
+17 -57
+55 -57
+56 -57
+57 -57
+58 -57
+59 -57
+60 -57
+61 -57
+62 -57
+63 -57
+9 -58
+10 -58
+11 -58
+12 -58
+13 -58
+14 -58
+15 -58
+16 -58
+17 -58
+55 -58
+56 -58
+57 -58
+58 -58
+59 -58
+60 -58
+61 -58
+62 -58
+63 -58
+9 -59
+10 -59
+11 -59
+12 -59
+13 -59
+14 -59
+15 -59
+16 -59
+17 -59
+55 -59
+56 -59
+57 -59
+58 -59
+59 -59
+60 -59
+61 -59
+62 -59
+63 -59
+9 -60
+10 -60
+11 -60
+12 -60
+13 -60
+14 -60
+15 -60
+16 -60
+17 -60
+55 -60
+56 -60
+57 -60
+58 -60
+59 -60
+60 -60
+61 -60
+62 -60
+63 -60
+9 -61
+10 -61
+11 -61
+12 -61
+13 -61
+14 -61
+15 -61
+16 -61
+17 -61
+55 -61
+56 -61
+57 -61
+58 -61
+59 -61
+60 -61
+61 -61
+62 -61
+63 -61
+9 -62
+10 -62
+11 -62
+12 -62
+13 -62
+14 -62
+15 -62
+16 -62
+17 -62
+55 -62
+56 -62
+57 -62
+58 -62
+59 -62
+60 -62
+61 -62
+62 -62
+63 -62
+9 -63
+10 -63
+11 -63
+12 -63
+13 -63
+14 -63
+15 -63
+16 -63
+17 -63
+55 -63
+56 -63
+57 -63
+58 -63
+59 -63
+60 -63
+61 -63
+62 -63
+63 -63
+9 -83
+10 -83
+11 -83
+12 -83
+13 -83
+14 -83
+15 -83
+16 -83
+17 -83
+83 -83
+84 -83
+85 -83
+86 -83
+87 -83
+88 -83
+89 -83
+90 -83
+91 -83
+9 -84
+10 -84
+11 -84
+12 -84
+13 -84
+14 -84
+15 -84
+16 -84
+17 -84
+83 -84
+84 -84
+85 -84
+86 -84
+87 -84
+88 -84
+89 -84
+90 -84
+91 -84
+9 -85
+10 -85
+11 -85
+12 -85
+13 -85
+14 -85
+15 -85
+16 -85
+17 -85
+83 -85
+84 -85
+85 -85
+86 -85
+87 -85
+88 -85
+89 -85
+90 -85
+91 -85
+9 -86
+10 -86
+11 -86
+12 -86
+13 -86
+14 -86
+15 -86
+16 -86
+17 -86
+83 -86
+84 -86
+85 -86
+86 -86
+87 -86
+88 -86
+89 -86
+90 -86
+91 -86
+9 -87
+10 -87
+11 -87
+12 -87
+13 -87
+14 -87
+15 -87
+16 -87
+17 -87
+83 -87
+84 -87
+85 -87
+86 -87
+87 -87
+88 -87
+89 -87
+90 -87
+91 -87
+9 -88
+10 -88
+11 -88
+12 -88
+13 -88
+14 -88
+15 -88
+16 -88
+17 -88
+83 -88
+84 -88
+85 -88
+86 -88
+87 -88
+88 -88
+89 -88
+90 -88
+91 -88
+9 -89
+10 -89
+11 -89
+12 -89
+13 -89
+14 -89
+15 -89
+16 -89
+17 -89
+83 -89
+84 -89
+85 -89
+86 -89
+87 -89
+88 -89
+89 -89
+90 -89
+91 -89
+9 -90
+10 -90
+11 -90
+12 -90
+13 -90
+14 -90
+15 -90
+16 -90
+17 -90
+83 -90
+84 -90
+85 -90
+86 -90
+87 -90
+88 -90
+89 -90
+90 -90
+91 -90
+9 -91
+10 -91
+11 -91
+12 -91
+13 -91
+14 -91
+15 -91
+16 -91
+17 -91
+83 -91
+84 -91
+85 -91
+86 -91
+87 -91
+88 -91
+89 -91
+90 -91
+91 -91
+
+1 -1
+3 -1
+5 -1
+18 -1
+20 -1
+22 -1
+23 -1
+24 -1
+25 -1
+50 -1
+52 -1
+53 -1
+54 -1
+1 -3
+3 -3
+5 -3
+18 -3
+20 -3
+22 -3
+23 -3
+24 -3
+25 -3
+50 -3
+52 -3
+53 -3
+54 -3
+1 -5
+3 -5
+5 -5
+18 -5
+20 -5
+22 -5
+23 -5
+24 -5
+25 -5
+50 -5
+52 -5
+53 -5
+54 -5
+9 -9
+10 -9
+11 -9
+12 -9
+13 -9
+14 -9
+15 -9
+16 -9
+17 -9
+26 -9
+27 -9
+28 -9
+29 -9
+30 -9
+31 -9
+32 -9
+33 -9
+34 -9
+55 -9
+56 -9
+57 -9
+58 -9
+59 -9
+60 -9
+61 -9
+62 -9
+63 -9
+9 -10
+10 -10
+11 -10
+12 -10
+13 -10
+14 -10
+15 -10
+16 -10
+17 -10
+26 -10
+27 -10
+28 -10
+29 -10
+30 -10
+31 -10
+32 -10
+33 -10
+34 -10
+55 -10
+56 -10
+57 -10
+58 -10
+59 -10
+60 -10
+61 -10
+62 -10
+63 -10
+9 -11
+10 -11
+11 -11
+12 -11
+13 -11
+14 -11
+15 -11
+16 -11
+17 -11
+26 -11
+27 -11
+28 -11
+29 -11
+30 -11
+31 -11
+32 -11
+33 -11
+34 -11
+55 -11
+56 -11
+57 -11
+58 -11
+59 -11
+60 -11
+61 -11
+62 -11
+63 -11
+9 -12
+10 -12
+11 -12
+12 -12
+13 -12
+14 -12
+15 -12
+16 -12
+17 -12
+26 -12
+27 -12
+28 -12
+29 -12
+30 -12
+31 -12
+32 -12
+33 -12
+34 -12
+55 -12
+56 -12
+57 -12
+58 -12
+59 -12
+60 -12
+61 -12
+62 -12
+63 -12
+9 -13
+10 -13
+11 -13
+12 -13
+13 -13
+14 -13
+15 -13
+16 -13
+17 -13
+26 -13
+27 -13
+28 -13
+29 -13
+30 -13
+31 -13
+32 -13
+33 -13
+34 -13
+55 -13
+56 -13
+57 -13
+58 -13
+59 -13
+60 -13
+61 -13
+62 -13
+63 -13
+9 -14
+10 -14
+11 -14
+12 -14
+13 -14
+14 -14
+15 -14
+16 -14
+17 -14
+26 -14
+27 -14
+28 -14
+29 -14
+30 -14
+31 -14
+32 -14
+33 -14
+34 -14
+55 -14
+56 -14
+57 -14
+58 -14
+59 -14
+60 -14
+61 -14
+62 -14
+63 -14
+9 -15
+10 -15
+11 -15
+12 -15
+13 -15
+14 -15
+15 -15
+16 -15
+17 -15
+26 -15
+27 -15
+28 -15
+29 -15
+30 -15
+31 -15
+32 -15
+33 -15
+34 -15
+55 -15
+56 -15
+57 -15
+58 -15
+59 -15
+60 -15
+61 -15
+62 -15
+63 -15
+9 -16
+10 -16
+11 -16
+12 -16
+13 -16
+14 -16
+15 -16
+16 -16
+17 -16
+26 -16
+27 -16
+28 -16
+29 -16
+30 -16
+31 -16
+32 -16
+33 -16
+34 -16
+55 -16
+56 -16
+57 -16
+58 -16
+59 -16
+60 -16
+61 -16
+62 -16
+63 -16
+9 -17
+10 -17
+11 -17
+12 -17
+13 -17
+14 -17
+15 -17
+16 -17
+17 -17
+26 -17
+27 -17
+28 -17
+29 -17
+30 -17
+31 -17
+32 -17
+33 -17
+34 -17
+55 -17
+56 -17
+57 -17
+58 -17
+59 -17
+60 -17
+61 -17
+62 -17
+63 -17
+1 -18
+3 -18
+5 -18
+18 -18
+20 -18
+22 -18
+23 -18
+24 -18
+25 -18
+35 -18
+36 -18
+37 -18
+38 -18
+39 -18
+40 -18
+19 -19
+1 -20
+3 -20
+5 -20
+18 -20
+20 -20
+22 -20
+23 -20
+24 -20
+25 -20
+35 -20
+36 -20
+37 -20
+38 -20
+39 -20
+40 -20
+50 -20
+52 -20
+53 -20
+54 -20
+64 -20
+65 -20
+66 -20
+67 -20
+21 -21
+1 -22
+3 -22
+5 -22
+18 -22
+20 -22
+22 -22
+23 -22
+24 -22
+25 -22
+35 -22
+36 -22
+37 -22
+38 -22
+39 -22
+40 -22
+1 -23
+3 -23
+5 -23
+18 -23
+20 -23
+22 -23
+23 -23
+24 -23
+25 -23
+1 -24
+3 -24
+5 -24
+18 -24
+20 -24
+22 -24
+23 -24
+24 -24
+25 -24
+50 -24
+52 -24
+53 -24
+54 -24
+1 -25
+3 -25
+5 -25
+18 -25
+20 -25
+22 -25
+23 -25
+24 -25
+25 -25
+9 -26
+10 -26
+11 -26
+12 -26
+13 -26
+14 -26
+15 -26
+16 -26
+17 -26
+26 -26
+27 -26
+28 -26
+29 -26
+30 -26
+31 -26
+32 -26
+33 -26
+34 -26
+41 -26
+42 -26
+43 -26
+44 -26
+45 -26
+46 -26
+47 -26
+48 -26
+49 -26
+55 -26
+56 -26
+57 -26
+58 -26
+59 -26
+60 -26
+61 -26
+62 -26
+63 -26
+9 -27
+10 -27
+11 -27
+12 -27
+13 -27
+14 -27
+15 -27
+16 -27
+17 -27
+26 -27
+27 -27
+28 -27
+29 -27
+30 -27
+31 -27
+32 -27
+33 -27
+34 -27
+41 -27
+42 -27
+43 -27
+44 -27
+45 -27
+46 -27
+47 -27
+48 -27
+49 -27
+55 -27
+56 -27
+57 -27
+58 -27
+59 -27
+60 -27
+61 -27
+62 -27
+63 -27
+9 -28
+10 -28
+11 -28
+12 -28
+13 -28
+14 -28
+15 -28
+16 -28
+17 -28
+26 -28
+27 -28
+28 -28
+29 -28
+30 -28
+31 -28
+32 -28
+33 -28
+34 -28
+41 -28
+42 -28
+43 -28
+44 -28
+45 -28
+46 -28
+47 -28
+48 -28
+49 -28
+55 -28
+56 -28
+57 -28
+58 -28
+59 -28
+60 -28
+61 -28
+62 -28
+63 -28
+9 -29
+10 -29
+11 -29
+12 -29
+13 -29
+14 -29
+15 -29
+16 -29
+17 -29
+26 -29
+27 -29
+28 -29
+29 -29
+30 -29
+31 -29
+32 -29
+33 -29
+34 -29
+41 -29
+42 -29
+43 -29
+44 -29
+45 -29
+46 -29
+47 -29
+48 -29
+49 -29
+55 -29
+56 -29
+57 -29
+58 -29
+59 -29
+60 -29
+61 -29
+62 -29
+63 -29
+9 -30
+10 -30
+11 -30
+12 -30
+13 -30
+14 -30
+15 -30
+16 -30
+17 -30
+26 -30
+27 -30
+28 -30
+29 -30
+30 -30
+31 -30
+32 -30
+33 -30
+34 -30
+41 -30
+42 -30
+43 -30
+44 -30
+45 -30
+46 -30
+47 -30
+48 -30
+49 -30
+55 -30
+56 -30
+57 -30
+58 -30
+59 -30
+60 -30
+61 -30
+62 -30
+63 -30
+9 -31
+10 -31
+11 -31
+12 -31
+13 -31
+14 -31
+15 -31
+16 -31
+17 -31
+26 -31
+27 -31
+28 -31
+29 -31
+30 -31
+31 -31
+32 -31
+33 -31
+34 -31
+41 -31
+42 -31
+43 -31
+44 -31
+45 -31
+46 -31
+47 -31
+48 -31
+49 -31
+55 -31
+56 -31
+57 -31
+58 -31
+59 -31
+60 -31
+61 -31
+62 -31
+63 -31
+9 -32
+10 -32
+11 -32
+12 -32
+13 -32
+14 -32
+15 -32
+16 -32
+17 -32
+26 -32
+27 -32
+28 -32
+29 -32
+30 -32
+31 -32
+32 -32
+33 -32
+34 -32
+41 -32
+42 -32
+43 -32
+44 -32
+45 -32
+46 -32
+47 -32
+48 -32
+49 -32
+55 -32
+56 -32
+57 -32
+58 -32
+59 -32
+60 -32
+61 -32
+62 -32
+63 -32
+9 -33
+10 -33
+11 -33
+12 -33
+13 -33
+14 -33
+15 -33
+16 -33
+17 -33
+26 -33
+27 -33
+28 -33
+29 -33
+30 -33
+31 -33
+32 -33
+33 -33
+34 -33
+41 -33
+42 -33
+43 -33
+44 -33
+45 -33
+46 -33
+47 -33
+48 -33
+49 -33
+55 -33
+56 -33
+57 -33
+58 -33
+59 -33
+60 -33
+61 -33
+62 -33
+63 -33
+9 -34
+10 -34
+11 -34
+12 -34
+13 -34
+14 -34
+15 -34
+16 -34
+17 -34
+26 -34
+27 -34
+28 -34
+29 -34
+30 -34
+31 -34
+32 -34
+33 -34
+34 -34
+41 -34
+42 -34
+43 -34
+44 -34
+45 -34
+46 -34
+47 -34
+48 -34
+49 -34
+55 -34
+56 -34
+57 -34
+58 -34
+59 -34
+60 -34
+61 -34
+62 -34
+63 -34
+18 -35
+20 -35
+22 -35
+35 -35
+36 -35
+37 -35
+38 -35
+39 -35
+40 -35
+18 -36
+20 -36
+22 -36
+35 -36
+36 -36
+37 -36
+38 -36
+39 -36
+40 -36
+50 -36
+52 -36
+64 -36
+65 -36
+66 -36
+67 -36
+18 -37
+20 -37
+22 -37
+35 -37
+36 -37
+37 -37
+38 -37
+39 -37
+40 -37
+18 -38
+20 -38
+22 -38
+35 -38
+36 -38
+37 -38
+38 -38
+39 -38
+40 -38
+18 -39
+20 -39
+22 -39
+35 -39
+36 -39
+37 -39
+38 -39
+39 -39
+40 -39
+50 -39
+52 -39
+64 -39
+65 -39
+66 -39
+67 -39
+18 -40
+20 -40
+22 -40
+35 -40
+36 -40
+37 -40
+38 -40
+39 -40
+40 -40
+26 -41
+27 -41
+28 -41
+29 -41
+30 -41
+31 -41
+32 -41
+33 -41
+34 -41
+41 -41
+42 -41
+43 -41
+44 -41
+45 -41
+46 -41
+47 -41
+48 -41
+49 -41
+68 -41
+69 -41
+70 -41
+71 -41
+72 -41
+73 -41
+74 -41
+75 -41
+76 -41
+26 -42
+27 -42
+28 -42
+29 -42
+30 -42
+31 -42
+32 -42
+33 -42
+34 -42
+41 -42
+42 -42
+43 -42
+44 -42
+45 -42
+46 -42
+47 -42
+48 -42
+49 -42
+68 -42
+69 -42
+70 -42
+71 -42
+72 -42
+73 -42
+74 -42
+75 -42
+76 -42
+26 -43
+27 -43
+28 -43
+29 -43
+30 -43
+31 -43
+32 -43
+33 -43
+34 -43
+41 -43
+42 -43
+43 -43
+44 -43
+45 -43
+46 -43
+47 -43
+48 -43
+49 -43
+68 -43
+69 -43
+70 -43
+71 -43
+72 -43
+73 -43
+74 -43
+75 -43
+76 -43
+26 -44
+27 -44
+28 -44
+29 -44
+30 -44
+31 -44
+32 -44
+33 -44
+34 -44
+41 -44
+42 -44
+43 -44
+44 -44
+45 -44
+46 -44
+47 -44
+48 -44
+49 -44
+68 -44
+69 -44
+70 -44
+71 -44
+72 -44
+73 -44
+74 -44
+75 -44
+76 -44
+26 -45
+27 -45
+28 -45
+29 -45
+30 -45
+31 -45
+32 -45
+33 -45
+34 -45
+41 -45
+42 -45
+43 -45
+44 -45
+45 -45
+46 -45
+47 -45
+48 -45
+49 -45
+68 -45
+69 -45
+70 -45
+71 -45
+72 -45
+73 -45
+74 -45
+75 -45
+76 -45
+26 -46
+27 -46
+28 -46
+29 -46
+30 -46
+31 -46
+32 -46
+33 -46
+34 -46
+41 -46
+42 -46
+43 -46
+44 -46
+45 -46
+46 -46
+47 -46
+48 -46
+49 -46
+68 -46
+69 -46
+70 -46
+71 -46
+72 -46
+73 -46
+74 -46
+75 -46
+76 -46
+26 -47
+27 -47
+28 -47
+29 -47
+30 -47
+31 -47
+32 -47
+33 -47
+34 -47
+41 -47
+42 -47
+43 -47
+44 -47
+45 -47
+46 -47
+47 -47
+48 -47
+49 -47
+68 -47
+69 -47
+70 -47
+71 -47
+72 -47
+73 -47
+74 -47
+75 -47
+76 -47
+26 -48
+27 -48
+28 -48
+29 -48
+30 -48
+31 -48
+32 -48
+33 -48
+34 -48
+41 -48
+42 -48
+43 -48
+44 -48
+45 -48
+46 -48
+47 -48
+48 -48
+49 -48
+68 -48
+69 -48
+70 -48
+71 -48
+72 -48
+73 -48
+74 -48
+75 -48
+76 -48
+26 -49
+27 -49
+28 -49
+29 -49
+30 -49
+31 -49
+32 -49
+33 -49
+34 -49
+41 -49
+42 -49
+43 -49
+44 -49
+45 -49
+46 -49
+47 -49
+48 -49
+49 -49
+68 -49
+69 -49
+70 -49
+71 -49
+72 -49
+73 -49
+74 -49
+75 -49
+76 -49
+1 -50
+3 -50
+5 -50
+20 -50
+24 -50
+36 -50
+39 -50
+50 -50
+52 -50
+53 -50
+54 -50
+64 -50
+65 -50
+66 -50
+67 -50
+78 -50
+80 -50
+93 -50
+95 -50
+96 -50
+97 -50
+107 -50
+108 -50
+109 -50
+110 -50
+51 -51
+1 -52
+3 -52
+5 -52
+20 -52
+24 -52
+36 -52
+39 -52
+50 -52
+52 -52
+53 -52
+54 -52
+64 -52
+65 -52
+66 -52
+67 -52
+1 -53
+3 -53
+5 -53
+20 -53
+24 -53
+50 -53
+52 -53
+53 -53
+54 -53
+78 -53
+80 -53
+93 -53
+95 -53
+96 -53
+97 -53
+1 -54
+3 -54
+5 -54
+20 -54
+24 -54
+50 -54
+52 -54
+53 -54
+54 -54
+9 -55
+10 -55
+11 -55
+12 -55
+13 -55
+14 -55
+15 -55
+16 -55
+17 -55
+26 -55
+27 -55
+28 -55
+29 -55
+30 -55
+31 -55
+32 -55
+33 -55
+34 -55
+55 -55
+56 -55
+57 -55
+58 -55
+59 -55
+60 -55
+61 -55
+62 -55
+63 -55
+68 -55
+69 -55
+70 -55
+71 -55
+72 -55
+73 -55
+74 -55
+75 -55
+76 -55
+98 -55
+99 -55
+100 -55
+101 -55
+102 -55
+103 -55
+104 -55
+105 -55
+106 -55
+9 -56
+10 -56
+11 -56
+12 -56
+13 -56
+14 -56
+15 -56
+16 -56
+17 -56
+26 -56
+27 -56
+28 -56
+29 -56
+30 -56
+31 -56
+32 -56
+33 -56
+34 -56
+55 -56
+56 -56
+57 -56
+58 -56
+59 -56
+60 -56
+61 -56
+62 -56
+63 -56
+68 -56
+69 -56
+70 -56
+71 -56
+72 -56
+73 -56
+74 -56
+75 -56
+76 -56
+98 -56
+99 -56
+100 -56
+101 -56
+102 -56
+103 -56
+104 -56
+105 -56
+106 -56
+9 -57
+10 -57
+11 -57
+12 -57
+13 -57
+14 -57
+15 -57
+16 -57
+17 -57
+26 -57
+27 -57
+28 -57
+29 -57
+30 -57
+31 -57
+32 -57
+33 -57
+34 -57
+55 -57
+56 -57
+57 -57
+58 -57
+59 -57
+60 -57
+61 -57
+62 -57
+63 -57
+68 -57
+69 -57
+70 -57
+71 -57
+72 -57
+73 -57
+74 -57
+75 -57
+76 -57
+98 -57
+99 -57
+100 -57
+101 -57
+102 -57
+103 -57
+104 -57
+105 -57
+106 -57
+9 -58
+10 -58
+11 -58
+12 -58
+13 -58
+14 -58
+15 -58
+16 -58
+17 -58
+26 -58
+27 -58
+28 -58
+29 -58
+30 -58
+31 -58
+32 -58
+33 -58
+34 -58
+55 -58
+56 -58
+57 -58
+58 -58
+59 -58
+60 -58
+61 -58
+62 -58
+63 -58
+68 -58
+69 -58
+70 -58
+71 -58
+72 -58
+73 -58
+74 -58
+75 -58
+76 -58
+98 -58
+99 -58
+100 -58
+101 -58
+102 -58
+103 -58
+104 -58
+105 -58
+106 -58
+9 -59
+10 -59
+11 -59
+12 -59
+13 -59
+14 -59
+15 -59
+16 -59
+17 -59
+26 -59
+27 -59
+28 -59
+29 -59
+30 -59
+31 -59
+32 -59
+33 -59
+34 -59
+55 -59
+56 -59
+57 -59
+58 -59
+59 -59
+60 -59
+61 -59
+62 -59
+63 -59
+68 -59
+69 -59
+70 -59
+71 -59
+72 -59
+73 -59
+74 -59
+75 -59
+76 -59
+98 -59
+99 -59
+100 -59
+101 -59
+102 -59
+103 -59
+104 -59
+105 -59
+106 -59
+9 -60
+10 -60
+11 -60
+12 -60
+13 -60
+14 -60
+15 -60
+16 -60
+17 -60
+26 -60
+27 -60
+28 -60
+29 -60
+30 -60
+31 -60
+32 -60
+33 -60
+34 -60
+55 -60
+56 -60
+57 -60
+58 -60
+59 -60
+60 -60
+61 -60
+62 -60
+63 -60
+68 -60
+69 -60
+70 -60
+71 -60
+72 -60
+73 -60
+74 -60
+75 -60
+76 -60
+98 -60
+99 -60
+100 -60
+101 -60
+102 -60
+103 -60
+104 -60
+105 -60
+106 -60
+9 -61
+10 -61
+11 -61
+12 -61
+13 -61
+14 -61
+15 -61
+16 -61
+17 -61
+26 -61
+27 -61
+28 -61
+29 -61
+30 -61
+31 -61
+32 -61
+33 -61
+34 -61
+55 -61
+56 -61
+57 -61
+58 -61
+59 -61
+60 -61
+61 -61
+62 -61
+63 -61
+68 -61
+69 -61
+70 -61
+71 -61
+72 -61
+73 -61
+74 -61
+75 -61
+76 -61
+98 -61
+99 -61
+100 -61
+101 -61
+102 -61
+103 -61
+104 -61
+105 -61
+106 -61
+9 -62
+10 -62
+11 -62
+12 -62
+13 -62
+14 -62
+15 -62
+16 -62
+17 -62
+26 -62
+27 -62
+28 -62
+29 -62
+30 -62
+31 -62
+32 -62
+33 -62
+34 -62
+55 -62
+56 -62
+57 -62
+58 -62
+59 -62
+60 -62
+61 -62
+62 -62
+63 -62
+68 -62
+69 -62
+70 -62
+71 -62
+72 -62
+73 -62
+74 -62
+75 -62
+76 -62
+98 -62
+99 -62
+100 -62
+101 -62
+102 -62
+103 -62
+104 -62
+105 -62
+106 -62
+9 -63
+10 -63
+11 -63
+12 -63
+13 -63
+14 -63
+15 -63
+16 -63
+17 -63
+26 -63
+27 -63
+28 -63
+29 -63
+30 -63
+31 -63
+32 -63
+33 -63
+34 -63
+55 -63
+56 -63
+57 -63
+58 -63
+59 -63
+60 -63
+61 -63
+62 -63
+63 -63
+68 -63
+69 -63
+70 -63
+71 -63
+72 -63
+73 -63
+74 -63
+75 -63
+76 -63
+98 -63
+99 -63
+100 -63
+101 -63
+102 -63
+103 -63
+104 -63
+105 -63
+106 -63
+20 -64
+36 -64
+39 -64
+50 -64
+52 -64
+64 -64
+65 -64
+66 -64
+67 -64
+93 -64
+95 -64
+107 -64
+108 -64
+109 -64
+110 -64
+20 -65
+36 -65
+39 -65
+50 -65
+52 -65
+64 -65
+65 -65
+66 -65
+67 -65
+20 -66
+36 -66
+39 -66
+50 -66
+52 -66
+64 -66
+65 -66
+66 -66
+67 -66
+93 -66
+95 -66
+107 -66
+108 -66
+109 -66
+110 -66
+20 -67
+36 -67
+39 -67
+50 -67
+52 -67
+64 -67
+65 -67
+66 -67
+67 -67
+41 -68
+42 -68
+43 -68
+44 -68
+45 -68
+46 -68
+47 -68
+48 -68
+49 -68
+55 -68
+56 -68
+57 -68
+58 -68
+59 -68
+60 -68
+61 -68
+62 -68
+63 -68
+68 -68
+69 -68
+70 -68
+71 -68
+72 -68
+73 -68
+74 -68
+75 -68
+76 -68
+111 -68
+112 -68
+113 -68
+114 -68
+115 -68
+116 -68
+117 -68
+118 -68
+119 -68
+41 -69
+42 -69
+43 -69
+44 -69
+45 -69
+46 -69
+47 -69
+48 -69
+49 -69
+55 -69
+56 -69
+57 -69
+58 -69
+59 -69
+60 -69
+61 -69
+62 -69
+63 -69
+68 -69
+69 -69
+70 -69
+71 -69
+72 -69
+73 -69
+74 -69
+75 -69
+76 -69
+111 -69
+112 -69
+113 -69
+114 -69
+115 -69
+116 -69
+117 -69
+118 -69
+119 -69
+41 -70
+42 -70
+43 -70
+44 -70
+45 -70
+46 -70
+47 -70
+48 -70
+49 -70
+55 -70
+56 -70
+57 -70
+58 -70
+59 -70
+60 -70
+61 -70
+62 -70
+63 -70
+68 -70
+69 -70
+70 -70
+71 -70
+72 -70
+73 -70
+74 -70
+75 -70
+76 -70
+111 -70
+112 -70
+113 -70
+114 -70
+115 -70
+116 -70
+117 -70
+118 -70
+119 -70
+41 -71
+42 -71
+43 -71
+44 -71
+45 -71
+46 -71
+47 -71
+48 -71
+49 -71
+55 -71
+56 -71
+57 -71
+58 -71
+59 -71
+60 -71
+61 -71
+62 -71
+63 -71
+68 -71
+69 -71
+70 -71
+71 -71
+72 -71
+73 -71
+74 -71
+75 -71
+76 -71
+111 -71
+112 -71
+113 -71
+114 -71
+115 -71
+116 -71
+117 -71
+118 -71
+119 -71
+41 -72
+42 -72
+43 -72
+44 -72
+45 -72
+46 -72
+47 -72
+48 -72
+49 -72
+55 -72
+56 -72
+57 -72
+58 -72
+59 -72
+60 -72
+61 -72
+62 -72
+63 -72
+68 -72
+69 -72
+70 -72
+71 -72
+72 -72
+73 -72
+74 -72
+75 -72
+76 -72
+111 -72
+112 -72
+113 -72
+114 -72
+115 -72
+116 -72
+117 -72
+118 -72
+119 -72
+41 -73
+42 -73
+43 -73
+44 -73
+45 -73
+46 -73
+47 -73
+48 -73
+49 -73
+55 -73
+56 -73
+57 -73
+58 -73
+59 -73
+60 -73
+61 -73
+62 -73
+63 -73
+68 -73
+69 -73
+70 -73
+71 -73
+72 -73
+73 -73
+74 -73
+75 -73
+76 -73
+111 -73
+112 -73
+113 -73
+114 -73
+115 -73
+116 -73
+117 -73
+118 -73
+119 -73
+41 -74
+42 -74
+43 -74
+44 -74
+45 -74
+46 -74
+47 -74
+48 -74
+49 -74
+55 -74
+56 -74
+57 -74
+58 -74
+59 -74
+60 -74
+61 -74
+62 -74
+63 -74
+68 -74
+69 -74
+70 -74
+71 -74
+72 -74
+73 -74
+74 -74
+75 -74
+76 -74
+111 -74
+112 -74
+113 -74
+114 -74
+115 -74
+116 -74
+117 -74
+118 -74
+119 -74
+41 -75
+42 -75
+43 -75
+44 -75
+45 -75
+46 -75
+47 -75
+48 -75
+49 -75
+55 -75
+56 -75
+57 -75
+58 -75
+59 -75
+60 -75
+61 -75
+62 -75
+63 -75
+68 -75
+69 -75
+70 -75
+71 -75
+72 -75
+73 -75
+74 -75
+75 -75
+76 -75
+111 -75
+112 -75
+113 -75
+114 -75
+115 -75
+116 -75
+117 -75
+118 -75
+119 -75
+41 -76
+42 -76
+43 -76
+44 -76
+45 -76
+46 -76
+47 -76
+48 -76
+49 -76
+55 -76
+56 -76
+57 -76
+58 -76
+59 -76
+60 -76
+61 -76
+62 -76
+63 -76
+68 -76
+69 -76
+70 -76
+71 -76
+72 -76
+73 -76
+74 -76
+75 -76
+76 -76
+111 -76
+112 -76
+113 -76
+114 -76
+115 -76
+116 -76
+117 -76
+118 -76
+119 -76
+55 -98
+56 -98
+57 -98
+58 -98
+59 -98
+60 -98
+61 -98
+62 -98
+63 -98
+98 -98
+99 -98
+100 -98
+101 -98
+102 -98
+103 -98
+104 -98
+105 -98
+106 -98
+55 -99
+56 -99
+57 -99
+58 -99
+59 -99
+60 -99
+61 -99
+62 -99
+63 -99
+98 -99
+99 -99
+100 -99
+101 -99
+102 -99
+103 -99
+104 -99
+105 -99
+106 -99
+55 -100
+56 -100
+57 -100
+58 -100
+59 -100
+60 -100
+61 -100
+62 -100
+63 -100
+98 -100
+99 -100
+100 -100
+101 -100
+102 -100
+103 -100
+104 -100
+105 -100
+106 -100
+55 -101
+56 -101
+57 -101
+58 -101
+59 -101
+60 -101
+61 -101
+62 -101
+63 -101
+98 -101
+99 -101
+100 -101
+101 -101
+102 -101
+103 -101
+104 -101
+105 -101
+106 -101
+55 -102
+56 -102
+57 -102
+58 -102
+59 -102
+60 -102
+61 -102
+62 -102
+63 -102
+98 -102
+99 -102
+100 -102
+101 -102
+102 -102
+103 -102
+104 -102
+105 -102
+106 -102
+55 -103
+56 -103
+57 -103
+58 -103
+59 -103
+60 -103
+61 -103
+62 -103
+63 -103
+98 -103
+99 -103
+100 -103
+101 -103
+102 -103
+103 -103
+104 -103
+105 -103
+106 -103
+55 -104
+56 -104
+57 -104
+58 -104
+59 -104
+60 -104
+61 -104
+62 -104
+63 -104
+98 -104
+99 -104
+100 -104
+101 -104
+102 -104
+103 -104
+104 -104
+105 -104
+106 -104
+55 -105
+56 -105
+57 -105
+58 -105
+59 -105
+60 -105
+61 -105
+62 -105
+63 -105
+98 -105
+99 -105
+100 -105
+101 -105
+102 -105
+103 -105
+104 -105
+105 -105
+106 -105
+55 -106
+56 -106
+57 -106
+58 -106
+59 -106
+60 -106
+61 -106
+62 -106
+63 -106
+98 -106
+99 -106
+100 -106
+101 -106
+102 -106
+103 -106
+104 -106
+105 -106
+106 -106
+68 -111
+69 -111
+70 -111
+71 -111
+72 -111
+73 -111
+74 -111
+75 -111
+76 -111
+111 -111
+112 -111
+113 -111
+114 -111
+115 -111
+116 -111
+117 -111
+118 -111
+119 -111
+68 -112
+69 -112
+70 -112
+71 -112
+72 -112
+73 -112
+74 -112
+75 -112
+76 -112
+111 -112
+112 -112
+113 -112
+114 -112
+115 -112
+116 -112
+117 -112
+118 -112
+119 -112
+68 -113
+69 -113
+70 -113
+71 -113
+72 -113
+73 -113
+74 -113
+75 -113
+76 -113
+111 -113
+112 -113
+113 -113
+114 -113
+115 -113
+116 -113
+117 -113
+118 -113
+119 -113
+68 -114
+69 -114
+70 -114
+71 -114
+72 -114
+73 -114
+74 -114
+75 -114
+76 -114
+111 -114
+112 -114
+113 -114
+114 -114
+115 -114
+116 -114
+117 -114
+118 -114
+119 -114
+68 -115
+69 -115
+70 -115
+71 -115
+72 -115
+73 -115
+74 -115
+75 -115
+76 -115
+111 -115
+112 -115
+113 -115
+114 -115
+115 -115
+116 -115
+117 -115
+118 -115
+119 -115
+68 -116
+69 -116
+70 -116
+71 -116
+72 -116
+73 -116
+74 -116
+75 -116
+76 -116
+111 -116
+112 -116
+113 -116
+114 -116
+115 -116
+116 -116
+117 -116
+118 -116
+119 -116
+68 -117
+69 -117
+70 -117
+71 -117
+72 -117
+73 -117
+74 -117
+75 -117
+76 -117
+111 -117
+112 -117
+113 -117
+114 -117
+115 -117
+116 -117
+117 -117
+118 -117
+119 -117
+68 -118
+69 -118
+70 -118
+71 -118
+72 -118
+73 -118
+74 -118
+75 -118
+76 -118
+111 -118
+112 -118
+113 -118
+114 -118
+115 -118
+116 -118
+117 -118
+118 -118
+119 -118
+68 -119
+69 -119
+70 -119
+71 -119
+72 -119
+73 -119
+74 -119
+75 -119
+76 -119
+111 -119
+112 -119
+113 -119
+114 -119
+115 -119
+116 -119
+117 -119
+118 -119
+119 -119
+
+
+2 -2
+3 -2
+7 -2
+77 -2
+78 -2
+79 -2
+80 -2
+81 -2
+82 -2
+2 -3
+3 -3
+7 -3
+77 -3
+78 -3
+79 -3
+80 -3
+81 -3
+82 -3
+2 -7
+3 -7
+7 -7
+77 -7
+78 -7
+79 -7
+80 -7
+81 -7
+82 -7
+9 -9
+10 -9
+11 -9
+12 -9
+13 -9
+14 -9
+15 -9
+16 -9
+17 -9
+83 -9
+84 -9
+85 -9
+86 -9
+87 -9
+88 -9
+89 -9
+90 -9
+91 -9
+9 -10
+10 -10
+11 -10
+12 -10
+13 -10
+14 -10
+15 -10
+16 -10
+17 -10
+83 -10
+84 -10
+85 -10
+86 -10
+87 -10
+88 -10
+89 -10
+90 -10
+91 -10
+9 -11
+10 -11
+11 -11
+12 -11
+13 -11
+14 -11
+15 -11
+16 -11
+17 -11
+83 -11
+84 -11
+85 -11
+86 -11
+87 -11
+88 -11
+89 -11
+90 -11
+91 -11
+9 -12
+10 -12
+11 -12
+12 -12
+13 -12
+14 -12
+15 -12
+16 -12
+17 -12
+83 -12
+84 -12
+85 -12
+86 -12
+87 -12
+88 -12
+89 -12
+90 -12
+91 -12
+9 -13
+10 -13
+11 -13
+12 -13
+13 -13
+14 -13
+15 -13
+16 -13
+17 -13
+83 -13
+84 -13
+85 -13
+86 -13
+87 -13
+88 -13
+89 -13
+90 -13
+91 -13
+9 -14
+10 -14
+11 -14
+12 -14
+13 -14
+14 -14
+15 -14
+16 -14
+17 -14
+83 -14
+84 -14
+85 -14
+86 -14
+87 -14
+88 -14
+89 -14
+90 -14
+91 -14
+9 -15
+10 -15
+11 -15
+12 -15
+13 -15
+14 -15
+15 -15
+16 -15
+17 -15
+83 -15
+84 -15
+85 -15
+86 -15
+87 -15
+88 -15
+89 -15
+90 -15
+91 -15
+9 -16
+10 -16
+11 -16
+12 -16
+13 -16
+14 -16
+15 -16
+16 -16
+17 -16
+83 -16
+84 -16
+85 -16
+86 -16
+87 -16
+88 -16
+89 -16
+90 -16
+91 -16
+9 -17
+10 -17
+11 -17
+12 -17
+13 -17
+14 -17
+15 -17
+16 -17
+17 -17
+83 -17
+84 -17
+85 -17
+86 -17
+87 -17
+88 -17
+89 -17
+90 -17
+91 -17
+2 -77
+3 -77
+7 -77
+77 -77
+78 -77
+79 -77
+80 -77
+81 -77
+82 -77
+2 -78
+3 -78
+7 -78
+50 -78
+53 -78
+77 -78
+78 -78
+79 -78
+80 -78
+81 -78
+82 -78
+93 -78
+95 -78
+96 -78
+97 -78
+120 -78
+122 -78
+123 -78
+124 -78
+2 -79
+3 -79
+7 -79
+77 -79
+78 -79
+79 -79
+80 -79
+81 -79
+82 -79
+2 -80
+3 -80
+7 -80
+50 -80
+53 -80
+77 -80
+78 -80
+79 -80
+80 -80
+81 -80
+82 -80
+93 -80
+95 -80
+96 -80
+97 -80
+120 -80
+122 -80
+123 -80
+124 -80
+2 -81
+3 -81
+7 -81
+77 -81
+78 -81
+79 -81
+80 -81
+81 -81
+82 -81
+2 -82
+3 -82
+7 -82
+77 -82
+78 -82
+79 -82
+80 -82
+81 -82
+82 -82
+9 -83
+10 -83
+11 -83
+12 -83
+13 -83
+14 -83
+15 -83
+16 -83
+17 -83
+83 -83
+84 -83
+85 -83
+86 -83
+87 -83
+88 -83
+89 -83
+90 -83
+91 -83
+98 -83
+99 -83
+100 -83
+101 -83
+102 -83
+103 -83
+104 -83
+105 -83
+106 -83
+125 -83
+126 -83
+127 -83
+128 -83
+129 -83
+130 -83
+131 -83
+132 -83
+133 -83
+9 -84
+10 -84
+11 -84
+12 -84
+13 -84
+14 -84
+15 -84
+16 -84
+17 -84
+83 -84
+84 -84
+85 -84
+86 -84
+87 -84
+88 -84
+89 -84
+90 -84
+91 -84
+98 -84
+99 -84
+100 -84
+101 -84
+102 -84
+103 -84
+104 -84
+105 -84
+106 -84
+125 -84
+126 -84
+127 -84
+128 -84
+129 -84
+130 -84
+131 -84
+132 -84
+133 -84
+9 -85
+10 -85
+11 -85
+12 -85
+13 -85
+14 -85
+15 -85
+16 -85
+17 -85
+83 -85
+84 -85
+85 -85
+86 -85
+87 -85
+88 -85
+89 -85
+90 -85
+91 -85
+98 -85
+99 -85
+100 -85
+101 -85
+102 -85
+103 -85
+104 -85
+105 -85
+106 -85
+125 -85
+126 -85
+127 -85
+128 -85
+129 -85
+130 -85
+131 -85
+132 -85
+133 -85
+9 -86
+10 -86
+11 -86
+12 -86
+13 -86
+14 -86
+15 -86
+16 -86
+17 -86
+83 -86
+84 -86
+85 -86
+86 -86
+87 -86
+88 -86
+89 -86
+90 -86
+91 -86
+98 -86
+99 -86
+100 -86
+101 -86
+102 -86
+103 -86
+104 -86
+105 -86
+106 -86
+125 -86
+126 -86
+127 -86
+128 -86
+129 -86
+130 -86
+131 -86
+132 -86
+133 -86
+9 -87
+10 -87
+11 -87
+12 -87
+13 -87
+14 -87
+15 -87
+16 -87
+17 -87
+83 -87
+84 -87
+85 -87
+86 -87
+87 -87
+88 -87
+89 -87
+90 -87
+91 -87
+98 -87
+99 -87
+100 -87
+101 -87
+102 -87
+103 -87
+104 -87
+105 -87
+106 -87
+125 -87
+126 -87
+127 -87
+128 -87
+129 -87
+130 -87
+131 -87
+132 -87
+133 -87
+9 -88
+10 -88
+11 -88
+12 -88
+13 -88
+14 -88
+15 -88
+16 -88
+17 -88
+83 -88
+84 -88
+85 -88
+86 -88
+87 -88
+88 -88
+89 -88
+90 -88
+91 -88
+98 -88
+99 -88
+100 -88
+101 -88
+102 -88
+103 -88
+104 -88
+105 -88
+106 -88
+125 -88
+126 -88
+127 -88
+128 -88
+129 -88
+130 -88
+131 -88
+132 -88
+133 -88
+9 -89
+10 -89
+11 -89
+12 -89
+13 -89
+14 -89
+15 -89
+16 -89
+17 -89
+83 -89
+84 -89
+85 -89
+86 -89
+87 -89
+88 -89
+89 -89
+90 -89
+91 -89
+98 -89
+99 -89
+100 -89
+101 -89
+102 -89
+103 -89
+104 -89
+105 -89
+106 -89
+125 -89
+126 -89
+127 -89
+128 -89
+129 -89
+130 -89
+131 -89
+132 -89
+133 -89
+9 -90
+10 -90
+11 -90
+12 -90
+13 -90
+14 -90
+15 -90
+16 -90
+17 -90
+83 -90
+84 -90
+85 -90
+86 -90
+87 -90
+88 -90
+89 -90
+90 -90
+91 -90
+98 -90
+99 -90
+100 -90
+101 -90
+102 -90
+103 -90
+104 -90
+105 -90
+106 -90
+125 -90
+126 -90
+127 -90
+128 -90
+129 -90
+130 -90
+131 -90
+132 -90
+133 -90
+9 -91
+10 -91
+11 -91
+12 -91
+13 -91
+14 -91
+15 -91
+16 -91
+17 -91
+83 -91
+84 -91
+85 -91
+86 -91
+87 -91
+88 -91
+89 -91
+90 -91
+91 -91
+98 -91
+99 -91
+100 -91
+101 -91
+102 -91
+103 -91
+104 -91
+105 -91
+106 -91
+125 -91
+126 -91
+127 -91
+128 -91
+129 -91
+130 -91
+131 -91
+132 -91
+133 -91
+83 -98
+84 -98
+85 -98
+86 -98
+87 -98
+88 -98
+89 -98
+90 -98
+91 -98
+98 -98
+99 -98
+100 -98
+101 -98
+102 -98
+103 -98
+104 -98
+105 -98
+106 -98
+83 -99
+84 -99
+85 -99
+86 -99
+87 -99
+88 -99
+89 -99
+90 -99
+91 -99
+98 -99
+99 -99
+100 -99
+101 -99
+102 -99
+103 -99
+104 -99
+105 -99
+106 -99
+83 -100
+84 -100
+85 -100
+86 -100
+87 -100
+88 -100
+89 -100
+90 -100
+91 -100
+98 -100
+99 -100
+100 -100
+101 -100
+102 -100
+103 -100
+104 -100
+105 -100
+106 -100
+83 -101
+84 -101
+85 -101
+86 -101
+87 -101
+88 -101
+89 -101
+90 -101
+91 -101
+98 -101
+99 -101
+100 -101
+101 -101
+102 -101
+103 -101
+104 -101
+105 -101
+106 -101
+83 -102
+84 -102
+85 -102
+86 -102
+87 -102
+88 -102
+89 -102
+90 -102
+91 -102
+98 -102
+99 -102
+100 -102
+101 -102
+102 -102
+103 -102
+104 -102
+105 -102
+106 -102
+83 -103
+84 -103
+85 -103
+86 -103
+87 -103
+88 -103
+89 -103
+90 -103
+91 -103
+98 -103
+99 -103
+100 -103
+101 -103
+102 -103
+103 -103
+104 -103
+105 -103
+106 -103
+83 -104
+84 -104
+85 -104
+86 -104
+87 -104
+88 -104
+89 -104
+90 -104
+91 -104
+98 -104
+99 -104
+100 -104
+101 -104
+102 -104
+103 -104
+104 -104
+105 -104
+106 -104
+83 -105
+84 -105
+85 -105
+86 -105
+87 -105
+88 -105
+89 -105
+90 -105
+91 -105
+98 -105
+99 -105
+100 -105
+101 -105
+102 -105
+103 -105
+104 -105
+105 -105
+106 -105
+83 -106
+84 -106
+85 -106
+86 -106
+87 -106
+88 -106
+89 -106
+90 -106
+91 -106
+98 -106
+99 -106
+100 -106
+101 -106
+102 -106
+103 -106
+104 -106
+105 -106
+106 -106
+83 -125
+84 -125
+85 -125
+86 -125
+87 -125
+88 -125
+89 -125
+90 -125
+91 -125
+125 -125
+126 -125
+127 -125
+128 -125
+129 -125
+130 -125
+131 -125
+132 -125
+133 -125
+83 -126
+84 -126
+85 -126
+86 -126
+87 -126
+88 -126
+89 -126
+90 -126
+91 -126
+125 -126
+126 -126
+127 -126
+128 -126
+129 -126
+130 -126
+131 -126
+132 -126
+133 -126
+83 -127
+84 -127
+85 -127
+86 -127
+87 -127
+88 -127
+89 -127
+90 -127
+91 -127
+125 -127
+126 -127
+127 -127
+128 -127
+129 -127
+130 -127
+131 -127
+132 -127
+133 -127
+83 -128
+84 -128
+85 -128
+86 -128
+87 -128
+88 -128
+89 -128
+90 -128
+91 -128
+125 -128
+126 -128
+127 -128
+128 -128
+129 -128
+130 -128
+131 -128
+132 -128
+133 -128
+83 -129
+84 -129
+85 -129
+86 -129
+87 -129
+88 -129
+89 -129
+90 -129
+91 -129
+125 -129
+126 -129
+127 -129
+128 -129
+129 -129
+130 -129
+131 -129
+132 -129
+133 -129
+83 -130
+84 -130
+85 -130
+86 -130
+87 -130
+88 -130
+89 -130
+90 -130
+91 -130
+125 -130
+126 -130
+127 -130
+128 -130
+129 -130
+130 -130
+131 -130
+132 -130
+133 -130
+83 -131
+84 -131
+85 -131
+86 -131
+87 -131
+88 -131
+89 -131
+90 -131
+91 -131
+125 -131
+126 -131
+127 -131
+128 -131
+129 -131
+130 -131
+131 -131
+132 -131
+133 -131
+83 -132
+84 -132
+85 -132
+86 -132
+87 -132
+88 -132
+89 -132
+90 -132
+91 -132
+125 -132
+126 -132
+127 -132
+128 -132
+129 -132
+130 -132
+131 -132
+132 -132
+133 -132
+83 -133
+84 -133
+85 -133
+86 -133
+87 -133
+88 -133
+89 -133
+90 -133
+91 -133
+125 -133
+126 -133
+127 -133
+128 -133
+129 -133
+130 -133
+131 -133
+132 -133
+133 -133
+
+
+3 -3
+50 -3
+53 -3
+78 -3
+80 -3
+93 -3
+95 -3
+96 -3
+97 -3
+120 -3
+122 -3
+123 -3
+124 -3
+3 -50
+50 -50
+53 -50
+64 -50
+66 -50
+78 -50
+80 -50
+93 -50
+95 -50
+96 -50
+97 -50
+107 -50
+108 -50
+109 -50
+110 -50
+3 -53
+50 -53
+53 -53
+78 -53
+80 -53
+93 -53
+95 -53
+96 -53
+97 -53
+55 -55
+56 -55
+57 -55
+58 -55
+59 -55
+60 -55
+61 -55
+62 -55
+63 -55
+98 -55
+99 -55
+100 -55
+101 -55
+102 -55
+103 -55
+104 -55
+105 -55
+106 -55
+55 -56
+56 -56
+57 -56
+58 -56
+59 -56
+60 -56
+61 -56
+62 -56
+63 -56
+98 -56
+99 -56
+100 -56
+101 -56
+102 -56
+103 -56
+104 -56
+105 -56
+106 -56
+55 -57
+56 -57
+57 -57
+58 -57
+59 -57
+60 -57
+61 -57
+62 -57
+63 -57
+98 -57
+99 -57
+100 -57
+101 -57
+102 -57
+103 -57
+104 -57
+105 -57
+106 -57
+55 -58
+56 -58
+57 -58
+58 -58
+59 -58
+60 -58
+61 -58
+62 -58
+63 -58
+98 -58
+99 -58
+100 -58
+101 -58
+102 -58
+103 -58
+104 -58
+105 -58
+106 -58
+55 -59
+56 -59
+57 -59
+58 -59
+59 -59
+60 -59
+61 -59
+62 -59
+63 -59
+98 -59
+99 -59
+100 -59
+101 -59
+102 -59
+103 -59
+104 -59
+105 -59
+106 -59
+55 -60
+56 -60
+57 -60
+58 -60
+59 -60
+60 -60
+61 -60
+62 -60
+63 -60
+98 -60
+99 -60
+100 -60
+101 -60
+102 -60
+103 -60
+104 -60
+105 -60
+106 -60
+55 -61
+56 -61
+57 -61
+58 -61
+59 -61
+60 -61
+61 -61
+62 -61
+63 -61
+98 -61
+99 -61
+100 -61
+101 -61
+102 -61
+103 -61
+104 -61
+105 -61
+106 -61
+55 -62
+56 -62
+57 -62
+58 -62
+59 -62
+60 -62
+61 -62
+62 -62
+63 -62
+98 -62
+99 -62
+100 -62
+101 -62
+102 -62
+103 -62
+104 -62
+105 -62
+106 -62
+55 -63
+56 -63
+57 -63
+58 -63
+59 -63
+60 -63
+61 -63
+62 -63
+63 -63
+98 -63
+99 -63
+100 -63
+101 -63
+102 -63
+103 -63
+104 -63
+105 -63
+106 -63
+50 -64
+64 -64
+66 -64
+93 -64
+95 -64
+107 -64
+108 -64
+109 -64
+110 -64
+50 -66
+64 -66
+66 -66
+93 -66
+95 -66
+107 -66
+108 -66
+109 -66
+110 -66
+68 -68
+69 -68
+70 -68
+71 -68
+72 -68
+73 -68
+74 -68
+75 -68
+76 -68
+111 -68
+112 -68
+113 -68
+114 -68
+115 -68
+116 -68
+117 -68
+118 -68
+119 -68
+68 -69
+69 -69
+70 -69
+71 -69
+72 -69
+73 -69
+74 -69
+75 -69
+76 -69
+111 -69
+112 -69
+113 -69
+114 -69
+115 -69
+116 -69
+117 -69
+118 -69
+119 -69
+68 -70
+69 -70
+70 -70
+71 -70
+72 -70
+73 -70
+74 -70
+75 -70
+76 -70
+111 -70
+112 -70
+113 -70
+114 -70
+115 -70
+116 -70
+117 -70
+118 -70
+119 -70
+68 -71
+69 -71
+70 -71
+71 -71
+72 -71
+73 -71
+74 -71
+75 -71
+76 -71
+111 -71
+112 -71
+113 -71
+114 -71
+115 -71
+116 -71
+117 -71
+118 -71
+119 -71
+68 -72
+69 -72
+70 -72
+71 -72
+72 -72
+73 -72
+74 -72
+75 -72
+76 -72
+111 -72
+112 -72
+113 -72
+114 -72
+115 -72
+116 -72
+117 -72
+118 -72
+119 -72
+68 -73
+69 -73
+70 -73
+71 -73
+72 -73
+73 -73
+74 -73
+75 -73
+76 -73
+111 -73
+112 -73
+113 -73
+114 -73
+115 -73
+116 -73
+117 -73
+118 -73
+119 -73
+68 -74
+69 -74
+70 -74
+71 -74
+72 -74
+73 -74
+74 -74
+75 -74
+76 -74
+111 -74
+112 -74
+113 -74
+114 -74
+115 -74
+116 -74
+117 -74
+118 -74
+119 -74
+68 -75
+69 -75
+70 -75
+71 -75
+72 -75
+73 -75
+74 -75
+75 -75
+76 -75
+111 -75
+112 -75
+113 -75
+114 -75
+115 -75
+116 -75
+117 -75
+118 -75
+119 -75
+68 -76
+69 -76
+70 -76
+71 -76
+72 -76
+73 -76
+74 -76
+75 -76
+76 -76
+111 -76
+112 -76
+113 -76
+114 -76
+115 -76
+116 -76
+117 -76
+118 -76
+119 -76
+3 -78
+50 -78
+53 -78
+78 -78
+80 -78
+93 -78
+95 -78
+96 -78
+97 -78
+120 -78
+122 -78
+123 -78
+124 -78
+3 -80
+50 -80
+53 -80
+78 -80
+80 -80
+93 -80
+95 -80
+96 -80
+97 -80
+120 -80
+122 -80
+123 -80
+124 -80
+83 -83
+84 -83
+85 -83
+86 -83
+87 -83
+88 -83
+89 -83
+90 -83
+91 -83
+98 -83
+99 -83
+100 -83
+101 -83
+102 -83
+103 -83
+104 -83
+105 -83
+106 -83
+125 -83
+126 -83
+127 -83
+128 -83
+129 -83
+130 -83
+131 -83
+132 -83
+133 -83
+83 -84
+84 -84
+85 -84
+86 -84
+87 -84
+88 -84
+89 -84
+90 -84
+91 -84
+98 -84
+99 -84
+100 -84
+101 -84
+102 -84
+103 -84
+104 -84
+105 -84
+106 -84
+125 -84
+126 -84
+127 -84
+128 -84
+129 -84
+130 -84
+131 -84
+132 -84
+133 -84
+83 -85
+84 -85
+85 -85
+86 -85
+87 -85
+88 -85
+89 -85
+90 -85
+91 -85
+98 -85
+99 -85
+100 -85
+101 -85
+102 -85
+103 -85
+104 -85
+105 -85
+106 -85
+125 -85
+126 -85
+127 -85
+128 -85
+129 -85
+130 -85
+131 -85
+132 -85
+133 -85
+83 -86
+84 -86
+85 -86
+86 -86
+87 -86
+88 -86
+89 -86
+90 -86
+91 -86
+98 -86
+99 -86
+100 -86
+101 -86
+102 -86
+103 -86
+104 -86
+105 -86
+106 -86
+125 -86
+126 -86
+127 -86
+128 -86
+129 -86
+130 -86
+131 -86
+132 -86
+133 -86
+83 -87
+84 -87
+85 -87
+86 -87
+87 -87
+88 -87
+89 -87
+90 -87
+91 -87
+98 -87
+99 -87
+100 -87
+101 -87
+102 -87
+103 -87
+104 -87
+105 -87
+106 -87
+125 -87
+126 -87
+127 -87
+128 -87
+129 -87
+130 -87
+131 -87
+132 -87
+133 -87
+83 -88
+84 -88
+85 -88
+86 -88
+87 -88
+88 -88
+89 -88
+90 -88
+91 -88
+98 -88
+99 -88
+100 -88
+101 -88
+102 -88
+103 -88
+104 -88
+105 -88
+106 -88
+125 -88
+126 -88
+127 -88
+128 -88
+129 -88
+130 -88
+131 -88
+132 -88
+133 -88
+83 -89
+84 -89
+85 -89
+86 -89
+87 -89
+88 -89
+89 -89
+90 -89
+91 -89
+98 -89
+99 -89
+100 -89
+101 -89
+102 -89
+103 -89
+104 -89
+105 -89
+106 -89
+125 -89
+126 -89
+127 -89
+128 -89
+129 -89
+130 -89
+131 -89
+132 -89
+133 -89
+83 -90
+84 -90
+85 -90
+86 -90
+87 -90
+88 -90
+89 -90
+90 -90
+91 -90
+98 -90
+99 -90
+100 -90
+101 -90
+102 -90
+103 -90
+104 -90
+105 -90
+106 -90
+125 -90
+126 -90
+127 -90
+128 -90
+129 -90
+130 -90
+131 -90
+132 -90
+133 -90
+83 -91
+84 -91
+85 -91
+86 -91
+87 -91
+88 -91
+89 -91
+90 -91
+91 -91
+98 -91
+99 -91
+100 -91
+101 -91
+102 -91
+103 -91
+104 -91
+105 -91
+106 -91
+125 -91
+126 -91
+127 -91
+128 -91
+129 -91
+130 -91
+131 -91
+132 -91
+133 -91
+92 -92
+3 -93
+50 -93
+53 -93
+64 -93
+66 -93
+78 -93
+80 -93
+93 -93
+95 -93
+96 -93
+97 -93
+107 -93
+108 -93
+109 -93
+110 -93
+120 -93
+122 -93
+123 -93
+124 -93
+134 -93
+135 -93
+136 -93
+137 -93
+94 -94
+3 -95
+50 -95
+53 -95
+64 -95
+66 -95
+78 -95
+80 -95
+93 -95
+95 -95
+96 -95
+97 -95
+107 -95
+108 -95
+109 -95
+110 -95
+3 -96
+50 -96
+53 -96
+78 -96
+80 -96
+93 -96
+95 -96
+96 -96
+97 -96
+120 -96
+122 -96
+123 -96
+124 -96
+3 -97
+50 -97
+53 -97
+78 -97
+80 -97
+93 -97
+95 -97
+96 -97
+97 -97
+55 -98
+56 -98
+57 -98
+58 -98
+59 -98
+60 -98
+61 -98
+62 -98
+63 -98
+83 -98
+84 -98
+85 -98
+86 -98
+87 -98
+88 -98
+89 -98
+90 -98
+91 -98
+98 -98
+99 -98
+100 -98
+101 -98
+102 -98
+103 -98
+104 -98
+105 -98
+106 -98
+111 -98
+112 -98
+113 -98
+114 -98
+115 -98
+116 -98
+117 -98
+118 -98
+119 -98
+125 -98
+126 -98
+127 -98
+128 -98
+129 -98
+130 -98
+131 -98
+132 -98
+133 -98
+55 -99
+56 -99
+57 -99
+58 -99
+59 -99
+60 -99
+61 -99
+62 -99
+63 -99
+83 -99
+84 -99
+85 -99
+86 -99
+87 -99
+88 -99
+89 -99
+90 -99
+91 -99
+98 -99
+99 -99
+100 -99
+101 -99
+102 -99
+103 -99
+104 -99
+105 -99
+106 -99
+111 -99
+112 -99
+113 -99
+114 -99
+115 -99
+116 -99
+117 -99
+118 -99
+119 -99
+125 -99
+126 -99
+127 -99
+128 -99
+129 -99
+130 -99
+131 -99
+132 -99
+133 -99
+55 -100
+56 -100
+57 -100
+58 -100
+59 -100
+60 -100
+61 -100
+62 -100
+63 -100
+83 -100
+84 -100
+85 -100
+86 -100
+87 -100
+88 -100
+89 -100
+90 -100
+91 -100
+98 -100
+99 -100
+100 -100
+101 -100
+102 -100
+103 -100
+104 -100
+105 -100
+106 -100
+111 -100
+112 -100
+113 -100
+114 -100
+115 -100
+116 -100
+117 -100
+118 -100
+119 -100
+125 -100
+126 -100
+127 -100
+128 -100
+129 -100
+130 -100
+131 -100
+132 -100
+133 -100
+55 -101
+56 -101
+57 -101
+58 -101
+59 -101
+60 -101
+61 -101
+62 -101
+63 -101
+83 -101
+84 -101
+85 -101
+86 -101
+87 -101
+88 -101
+89 -101
+90 -101
+91 -101
+98 -101
+99 -101
+100 -101
+101 -101
+102 -101
+103 -101
+104 -101
+105 -101
+106 -101
+111 -101
+112 -101
+113 -101
+114 -101
+115 -101
+116 -101
+117 -101
+118 -101
+119 -101
+125 -101
+126 -101
+127 -101
+128 -101
+129 -101
+130 -101
+131 -101
+132 -101
+133 -101
+55 -102
+56 -102
+57 -102
+58 -102
+59 -102
+60 -102
+61 -102
+62 -102
+63 -102
+83 -102
+84 -102
+85 -102
+86 -102
+87 -102
+88 -102
+89 -102
+90 -102
+91 -102
+98 -102
+99 -102
+100 -102
+101 -102
+102 -102
+103 -102
+104 -102
+105 -102
+106 -102
+111 -102
+112 -102
+113 -102
+114 -102
+115 -102
+116 -102
+117 -102
+118 -102
+119 -102
+125 -102
+126 -102
+127 -102
+128 -102
+129 -102
+130 -102
+131 -102
+132 -102
+133 -102
+55 -103
+56 -103
+57 -103
+58 -103
+59 -103
+60 -103
+61 -103
+62 -103
+63 -103
+83 -103
+84 -103
+85 -103
+86 -103
+87 -103
+88 -103
+89 -103
+90 -103
+91 -103
+98 -103
+99 -103
+100 -103
+101 -103
+102 -103
+103 -103
+104 -103
+105 -103
+106 -103
+111 -103
+112 -103
+113 -103
+114 -103
+115 -103
+116 -103
+117 -103
+118 -103
+119 -103
+125 -103
+126 -103
+127 -103
+128 -103
+129 -103
+130 -103
+131 -103
+132 -103
+133 -103
+55 -104
+56 -104
+57 -104
+58 -104
+59 -104
+60 -104
+61 -104
+62 -104
+63 -104
+83 -104
+84 -104
+85 -104
+86 -104
+87 -104
+88 -104
+89 -104
+90 -104
+91 -104
+98 -104
+99 -104
+100 -104
+101 -104
+102 -104
+103 -104
+104 -104
+105 -104
+106 -104
+111 -104
+112 -104
+113 -104
+114 -104
+115 -104
+116 -104
+117 -104
+118 -104
+119 -104
+125 -104
+126 -104
+127 -104
+128 -104
+129 -104
+130 -104
+131 -104
+132 -104
+133 -104
+55 -105
+56 -105
+57 -105
+58 -105
+59 -105
+60 -105
+61 -105
+62 -105
+63 -105
+83 -105
+84 -105
+85 -105
+86 -105
+87 -105
+88 -105
+89 -105
+90 -105
+91 -105
+98 -105
+99 -105
+100 -105
+101 -105
+102 -105
+103 -105
+104 -105
+105 -105
+106 -105
+111 -105
+112 -105
+113 -105
+114 -105
+115 -105
+116 -105
+117 -105
+118 -105
+119 -105
+125 -105
+126 -105
+127 -105
+128 -105
+129 -105
+130 -105
+131 -105
+132 -105
+133 -105
+55 -106
+56 -106
+57 -106
+58 -106
+59 -106
+60 -106
+61 -106
+62 -106
+63 -106
+83 -106
+84 -106
+85 -106
+86 -106
+87 -106
+88 -106
+89 -106
+90 -106
+91 -106
+98 -106
+99 -106
+100 -106
+101 -106
+102 -106
+103 -106
+104 -106
+105 -106
+106 -106
+111 -106
+112 -106
+113 -106
+114 -106
+115 -106
+116 -106
+117 -106
+118 -106
+119 -106
+125 -106
+126 -106
+127 -106
+128 -106
+129 -106
+130 -106
+131 -106
+132 -106
+133 -106
+50 -107
+64 -107
+66 -107
+93 -107
+95 -107
+107 -107
+108 -107
+109 -107
+110 -107
+120 -107
+122 -107
+134 -107
+135 -107
+136 -107
+137 -107
+50 -108
+64 -108
+66 -108
+93 -108
+95 -108
+107 -108
+108 -108
+109 -108
+110 -108
+50 -109
+64 -109
+66 -109
+93 -109
+95 -109
+107 -109
+108 -109
+109 -109
+110 -109
+120 -109
+122 -109
+134 -109
+135 -109
+136 -109
+137 -109
+50 -110
+64 -110
+66 -110
+93 -110
+95 -110
+107 -110
+108 -110
+109 -110
+110 -110
+68 -111
+69 -111
+70 -111
+71 -111
+72 -111
+73 -111
+74 -111
+75 -111
+76 -111
+98 -111
+99 -111
+100 -111
+101 -111
+102 -111
+103 -111
+104 -111
+105 -111
+106 -111
+111 -111
+112 -111
+113 -111
+114 -111
+115 -111
+116 -111
+117 -111
+118 -111
+119 -111
+138 -111
+139 -111
+140 -111
+141 -111
+142 -111
+143 -111
+144 -111
+145 -111
+146 -111
+68 -112
+69 -112
+70 -112
+71 -112
+72 -112
+73 -112
+74 -112
+75 -112
+76 -112
+98 -112
+99 -112
+100 -112
+101 -112
+102 -112
+103 -112
+104 -112
+105 -112
+106 -112
+111 -112
+112 -112
+113 -112
+114 -112
+115 -112
+116 -112
+117 -112
+118 -112
+119 -112
+138 -112
+139 -112
+140 -112
+141 -112
+142 -112
+143 -112
+144 -112
+145 -112
+146 -112
+68 -113
+69 -113
+70 -113
+71 -113
+72 -113
+73 -113
+74 -113
+75 -113
+76 -113
+98 -113
+99 -113
+100 -113
+101 -113
+102 -113
+103 -113
+104 -113
+105 -113
+106 -113
+111 -113
+112 -113
+113 -113
+114 -113
+115 -113
+116 -113
+117 -113
+118 -113
+119 -113
+138 -113
+139 -113
+140 -113
+141 -113
+142 -113
+143 -113
+144 -113
+145 -113
+146 -113
+68 -114
+69 -114
+70 -114
+71 -114
+72 -114
+73 -114
+74 -114
+75 -114
+76 -114
+98 -114
+99 -114
+100 -114
+101 -114
+102 -114
+103 -114
+104 -114
+105 -114
+106 -114
+111 -114
+112 -114
+113 -114
+114 -114
+115 -114
+116 -114
+117 -114
+118 -114
+119 -114
+138 -114
+139 -114
+140 -114
+141 -114
+142 -114
+143 -114
+144 -114
+145 -114
+146 -114
+68 -115
+69 -115
+70 -115
+71 -115
+72 -115
+73 -115
+74 -115
+75 -115
+76 -115
+98 -115
+99 -115
+100 -115
+101 -115
+102 -115
+103 -115
+104 -115
+105 -115
+106 -115
+111 -115
+112 -115
+113 -115
+114 -115
+115 -115
+116 -115
+117 -115
+118 -115
+119 -115
+138 -115
+139 -115
+140 -115
+141 -115
+142 -115
+143 -115
+144 -115
+145 -115
+146 -115
+68 -116
+69 -116
+70 -116
+71 -116
+72 -116
+73 -116
+74 -116
+75 -116
+76 -116
+98 -116
+99 -116
+100 -116
+101 -116
+102 -116
+103 -116
+104 -116
+105 -116
+106 -116
+111 -116
+112 -116
+113 -116
+114 -116
+115 -116
+116 -116
+117 -116
+118 -116
+119 -116
+138 -116
+139 -116
+140 -116
+141 -116
+142 -116
+143 -116
+144 -116
+145 -116
+146 -116
+68 -117
+69 -117
+70 -117
+71 -117
+72 -117
+73 -117
+74 -117
+75 -117
+76 -117
+98 -117
+99 -117
+100 -117
+101 -117
+102 -117
+103 -117
+104 -117
+105 -117
+106 -117
+111 -117
+112 -117
+113 -117
+114 -117
+115 -117
+116 -117
+117 -117
+118 -117
+119 -117
+138 -117
+139 -117
+140 -117
+141 -117
+142 -117
+143 -117
+144 -117
+145 -117
+146 -117
+68 -118
+69 -118
+70 -118
+71 -118
+72 -118
+73 -118
+74 -118
+75 -118
+76 -118
+98 -118
+99 -118
+100 -118
+101 -118
+102 -118
+103 -118
+104 -118
+105 -118
+106 -118
+111 -118
+112 -118
+113 -118
+114 -118
+115 -118
+116 -118
+117 -118
+118 -118
+119 -118
+138 -118
+139 -118
+140 -118
+141 -118
+142 -118
+143 -118
+144 -118
+145 -118
+146 -118
+68 -119
+69 -119
+70 -119
+71 -119
+72 -119
+73 -119
+74 -119
+75 -119
+76 -119
+98 -119
+99 -119
+100 -119
+101 -119
+102 -119
+103 -119
+104 -119
+105 -119
+106 -119
+111 -119
+112 -119
+113 -119
+114 -119
+115 -119
+116 -119
+117 -119
+118 -119
+119 -119
+138 -119
+139 -119
+140 -119
+141 -119
+142 -119
+143 -119
+144 -119
+145 -119
+146 -119
+3 -120
+78 -120
+80 -120
+93 -120
+96 -120
+107 -120
+109 -120
+120 -120
+122 -120
+123 -120
+124 -120
+134 -120
+135 -120
+136 -120
+137 -120
+121 -121
+3 -122
+78 -122
+80 -122
+93 -122
+96 -122
+107 -122
+109 -122
+120 -122
+122 -122
+123 -122
+124 -122
+134 -122
+135 -122
+136 -122
+137 -122
+3 -123
+78 -123
+80 -123
+93 -123
+96 -123
+120 -123
+122 -123
+123 -123
+124 -123
+3 -124
+78 -124
+80 -124
+93 -124
+96 -124
+120 -124
+122 -124
+123 -124
+124 -124
+83 -125
+84 -125
+85 -125
+86 -125
+87 -125
+88 -125
+89 -125
+90 -125
+91 -125
+98 -125
+99 -125
+100 -125
+101 -125
+102 -125
+103 -125
+104 -125
+105 -125
+106 -125
+125 -125
+126 -125
+127 -125
+128 -125
+129 -125
+130 -125
+131 -125
+132 -125
+133 -125
+138 -125
+139 -125
+140 -125
+141 -125
+142 -125
+143 -125
+144 -125
+145 -125
+146 -125
+83 -126
+84 -126
+85 -126
+86 -126
+87 -126
+88 -126
+89 -126
+90 -126
+91 -126
+98 -126
+99 -126
+100 -126
+101 -126
+102 -126
+103 -126
+104 -126
+105 -126
+106 -126
+125 -126
+126 -126
+127 -126
+128 -126
+129 -126
+130 -126
+131 -126
+132 -126
+133 -126
+138 -126
+139 -126
+140 -126
+141 -126
+142 -126
+143 -126
+144 -126
+145 -126
+146 -126
+83 -127
+84 -127
+85 -127
+86 -127
+87 -127
+88 -127
+89 -127
+90 -127
+91 -127
+98 -127
+99 -127
+100 -127
+101 -127
+102 -127
+103 -127
+104 -127
+105 -127
+106 -127
+125 -127
+126 -127
+127 -127
+128 -127
+129 -127
+130 -127
+131 -127
+132 -127
+133 -127
+138 -127
+139 -127
+140 -127
+141 -127
+142 -127
+143 -127
+144 -127
+145 -127
+146 -127
+83 -128
+84 -128
+85 -128
+86 -128
+87 -128
+88 -128
+89 -128
+90 -128
+91 -128
+98 -128
+99 -128
+100 -128
+101 -128
+102 -128
+103 -128
+104 -128
+105 -128
+106 -128
+125 -128
+126 -128
+127 -128
+128 -128
+129 -128
+130 -128
+131 -128
+132 -128
+133 -128
+138 -128
+139 -128
+140 -128
+141 -128
+142 -128
+143 -128
+144 -128
+145 -128
+146 -128
+83 -129
+84 -129
+85 -129
+86 -129
+87 -129
+88 -129
+89 -129
+90 -129
+91 -129
+98 -129
+99 -129
+100 -129
+101 -129
+102 -129
+103 -129
+104 -129
+105 -129
+106 -129
+125 -129
+126 -129
+127 -129
+128 -129
+129 -129
+130 -129
+131 -129
+132 -129
+133 -129
+138 -129
+139 -129
+140 -129
+141 -129
+142 -129
+143 -129
+144 -129
+145 -129
+146 -129
+83 -130
+84 -130
+85 -130
+86 -130
+87 -130
+88 -130
+89 -130
+90 -130
+91 -130
+98 -130
+99 -130
+100 -130
+101 -130
+102 -130
+103 -130
+104 -130
+105 -130
+106 -130
+125 -130
+126 -130
+127 -130
+128 -130
+129 -130
+130 -130
+131 -130
+132 -130
+133 -130
+138 -130
+139 -130
+140 -130
+141 -130
+142 -130
+143 -130
+144 -130
+145 -130
+146 -130
+83 -131
+84 -131
+85 -131
+86 -131
+87 -131
+88 -131
+89 -131
+90 -131
+91 -131
+98 -131
+99 -131
+100 -131
+101 -131
+102 -131
+103 -131
+104 -131
+105 -131
+106 -131
+125 -131
+126 -131
+127 -131
+128 -131
+129 -131
+130 -131
+131 -131
+132 -131
+133 -131
+138 -131
+139 -131
+140 -131
+141 -131
+142 -131
+143 -131
+144 -131
+145 -131
+146 -131
+83 -132
+84 -132
+85 -132
+86 -132
+87 -132
+88 -132
+89 -132
+90 -132
+91 -132
+98 -132
+99 -132
+100 -132
+101 -132
+102 -132
+103 -132
+104 -132
+105 -132
+106 -132
+125 -132
+126 -132
+127 -132
+128 -132
+129 -132
+130 -132
+131 -132
+132 -132
+133 -132
+138 -132
+139 -132
+140 -132
+141 -132
+142 -132
+143 -132
+144 -132
+145 -132
+146 -132
+83 -133
+84 -133
+85 -133
+86 -133
+87 -133
+88 -133
+89 -133
+90 -133
+91 -133
+98 -133
+99 -133
+100 -133
+101 -133
+102 -133
+103 -133
+104 -133
+105 -133
+106 -133
+125 -133
+126 -133
+127 -133
+128 -133
+129 -133
+130 -133
+131 -133
+132 -133
+133 -133
+138 -133
+139 -133
+140 -133
+141 -133
+142 -133
+143 -133
+144 -133
+145 -133
+146 -133
+93 -134
+107 -134
+109 -134
+120 -134
+122 -134
+134 -134
+135 -134
+136 -134
+137 -134
+93 -135
+107 -135
+109 -135
+120 -135
+122 -135
+134 -135
+135 -135
+136 -135
+137 -135
+93 -136
+107 -136
+109 -136
+120 -136
+122 -136
+134 -136
+135 -136
+136 -136
+137 -136
+93 -137
+107 -137
+109 -137
+120 -137
+122 -137
+134 -137
+135 -137
+136 -137
+137 -137
+111 -138
+112 -138
+113 -138
+114 -138
+115 -138
+116 -138
+117 -138
+118 -138
+119 -138
+125 -138
+126 -138
+127 -138
+128 -138
+129 -138
+130 -138
+131 -138
+132 -138
+133 -138
+138 -138
+139 -138
+140 -138
+141 -138
+142 -138
+143 -138
+144 -138
+145 -138
+146 -138
+111 -139
+112 -139
+113 -139
+114 -139
+115 -139
+116 -139
+117 -139
+118 -139
+119 -139
+125 -139
+126 -139
+127 -139
+128 -139
+129 -139
+130 -139
+131 -139
+132 -139
+133 -139
+138 -139
+139 -139
+140 -139
+141 -139
+142 -139
+143 -139
+144 -139
+145 -139
+146 -139
+111 -140
+112 -140
+113 -140
+114 -140
+115 -140
+116 -140
+117 -140
+118 -140
+119 -140
+125 -140
+126 -140
+127 -140
+128 -140
+129 -140
+130 -140
+131 -140
+132 -140
+133 -140
+138 -140
+139 -140
+140 -140
+141 -140
+142 -140
+143 -140
+144 -140
+145 -140
+146 -140
+111 -141
+112 -141
+113 -141
+114 -141
+115 -141
+116 -141
+117 -141
+118 -141
+119 -141
+125 -141
+126 -141
+127 -141
+128 -141
+129 -141
+130 -141
+131 -141
+132 -141
+133 -141
+138 -141
+139 -141
+140 -141
+141 -141
+142 -141
+143 -141
+144 -141
+145 -141
+146 -141
+111 -142
+112 -142
+113 -142
+114 -142
+115 -142
+116 -142
+117 -142
+118 -142
+119 -142
+125 -142
+126 -142
+127 -142
+128 -142
+129 -142
+130 -142
+131 -142
+132 -142
+133 -142
+138 -142
+139 -142
+140 -142
+141 -142
+142 -142
+143 -142
+144 -142
+145 -142
+146 -142
+111 -143
+112 -143
+113 -143
+114 -143
+115 -143
+116 -143
+117 -143
+118 -143
+119 -143
+125 -143
+126 -143
+127 -143
+128 -143
+129 -143
+130 -143
+131 -143
+132 -143
+133 -143
+138 -143
+139 -143
+140 -143
+141 -143
+142 -143
+143 -143
+144 -143
+145 -143
+146 -143
+111 -144
+112 -144
+113 -144
+114 -144
+115 -144
+116 -144
+117 -144
+118 -144
+119 -144
+125 -144
+126 -144
+127 -144
+128 -144
+129 -144
+130 -144
+131 -144
+132 -144
+133 -144
+138 -144
+139 -144
+140 -144
+141 -144
+142 -144
+143 -144
+144 -144
+145 -144
+146 -144
+111 -145
+112 -145
+113 -145
+114 -145
+115 -145
+116 -145
+117 -145
+118 -145
+119 -145
+125 -145
+126 -145
+127 -145
+128 -145
+129 -145
+130 -145
+131 -145
+132 -145
+133 -145
+138 -145
+139 -145
+140 -145
+141 -145
+142 -145
+143 -145
+144 -145
+145 -145
+146 -145
+111 -146
+112 -146
+113 -146
+114 -146
+115 -146
+116 -146
+117 -146
+118 -146
+119 -146
+125 -146
+126 -146
+127 -146
+128 -146
+129 -146
+130 -146
+131 -146
+132 -146
+133 -146
+138 -146
+139 -146
+140 -146
+141 -146
+142 -146
+143 -146
+144 -146
+145 -146
+146 -146
+
+
+

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.