]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Address some comments. Use map for send_recv_particles
authorRene Gassmoeller <rene.gassmoeller@mailbox.org>
Fri, 10 Nov 2017 20:50:11 +0000 (13:50 -0700)
committerRene Gassmoeller <rene.gassmoeller@mailbox.org>
Fri, 10 Nov 2017 21:12:08 +0000 (14:12 -0700)
include/deal.II/particles/particle_handler.h
source/particles/particle_handler.cc
tests/particles/particle_handler_04.cc
tests/particles/particle_handler_04.mpirun=2.output
tests/particles/particle_handler_06.cc [new file with mode: 0644]
tests/particles/particle_handler_06.mpirun=2.output [new file with mode: 0644]
tests/serialization/particle_handler_01.output

index 15df27dce6bbe4bc77bf232554e6af597d35663d..87256ea9597d4acb86b0c942335138262bd171c1 100644 (file)
@@ -38,7 +38,11 @@ namespace Particles
    * This class manages the storage and handling of particles. It provides
    * the data structures necessary to store particles efficiently, accessor
    * functions to iterate over particles and find particles, and algorithms
-   * to distribute particles in parallel domains.
+   * to distribute particles in parallel domains. Note that the class
+   * is designed in a similar way as the triangulation class. In particular,
+   * we call particles in the domain of the local process local particles,
+   * and particles that belong to neighbor processes and live in the ghost cells
+   * around the locally owned domain "ghost particles".
    *
    * @ingroup Particle
    */
@@ -62,10 +66,10 @@ namespace Particles
     ParticleHandler();
 
     /**
-     * Constructor that initializes the particle handler with respect to
-     * a given triangulation and MPI communicator. Pointers to the
-     * triangulation and the communicator are stored inside of the particle
-     *
+     * Constructor that initializes the particle handler with
+     * a given triangulation and mapping. Since particles are stored in
+     * respect to their surrounding cells this information is necessary to
+     * correctly organize the particle collection.
      */
     ParticleHandler(const parallel::distributed::Triangulation<dim,spacedim> &tria,
                     const Mapping<dim,spacedim> &mapping,
@@ -110,7 +114,7 @@ namespace Particles
     /**
      * Return an iterator to the first particle.
      */
-    ParticleHandler<dim,spacedim>::particle_iterator begin() const;
+    particle_iterator begin() const;
 
     /**
      * Return an iterator to the first particle.
@@ -127,6 +131,26 @@ namespace Particles
      */
     particle_iterator end();
 
+    /**
+     * Return an iterator to the first particle.
+     */
+    particle_iterator begin_ghost() const;
+
+    /**
+     * Return an iterator to the first particle.
+     */
+    particle_iterator begin_ghost();
+
+    /**
+     * Return an iterator past the end of the particles.
+     */
+    particle_iterator end_ghost() const;
+
+    /**
+     * Return an iterator to the first particle.
+     */
+    particle_iterator end_ghost();
+
     /**
      * Return a pair of particle iterators that mark the begin and end of
      * the particles in a particular cell. The last iterator is the first
@@ -306,15 +330,15 @@ namespace Particles
     SmartPointer<const Mapping<dim,spacedim>,ParticleHandler<dim,spacedim> > mapping;
 
     /**
-     * Set of particles currently in the local domain, organized by
+     * Set of particles currently living in the local domain, organized by
      * the level/index of the cell they are in.
      */
     std::multimap<types::LevelInd, Particle<dim,spacedim> > particles;
 
     /**
-     * Set of particles currently in the ghost cells of the local domain,
+     * Set of particles that currently live in the ghost cells of the local domain,
      * organized by the level/index of the cell they are in. These
-     * particles are marked read-only.
+     * particles are equivalent to the ghost entries in distributed vectors.
      */
     std::multimap<types::LevelInd, Particle<dim,spacedim> > ghost_particles;
 
@@ -414,9 +438,10 @@ namespace Particles
      * outdated (e.g. after particle movement).
      */
     void
-    send_recv_particles(const std::vector<std::vector<particle_iterator> >      &particles_to_send,
+    send_recv_particles(const std::map<types::subdomain_id, std::vector<particle_iterator> > &particles_to_send,
                         std::multimap<types::LevelInd,Particle <dim,spacedim> > &received_particles,
-                        const std::vector<std::vector<typename Triangulation<dim,spacedim>::active_cell_iterator> > &new_cells_for_particles = std::vector<std::vector<typename Triangulation<dim,spacedim>::active_cell_iterator> > ());
+                        const std::map<types::subdomain_id, std::vector<typename Triangulation<dim,spacedim>::active_cell_iterator> > &new_cells_for_particles =
+                          std::map<types::subdomain_id, std::vector<typename Triangulation<dim,spacedim>::active_cell_iterator> > ());
 
     /**
      * Called by listener functions from Triangulation for every cell
@@ -436,15 +461,6 @@ namespace Particles
     load_particles(const typename Triangulation<dim,spacedim>::cell_iterator &cell,
                    const typename Triangulation<dim,spacedim>::CellStatus status,
                    const void *data);
-
-    /**
-     * Get a map between subdomain id and a contiguous
-     * number from 0 to n_neighbors, which is interpreted as the neighbor index.
-     * In other words the returned map answers the question: Given a subdomain id, which
-     * neighbor of the current processor's domain owns this subdomain?
-     */
-    std::map<types::subdomain_id, unsigned int>
-    get_subdomain_id_to_neighbor_map() const;
   };
 
   /* -------------------------- inline and template functions ---------------------- */
index b886274aa7a3848ca79c86b3851913cfcbd3552a..785ed3a3803d22b9a2d9a8fdd8f762464b442cb8 100644 (file)
@@ -140,7 +140,7 @@ namespace Particles
   typename ParticleHandler<dim,spacedim>::particle_iterator
   ParticleHandler<dim,spacedim>::begin() const
   {
-    return particle_iterator(particles,(const_cast<ParticleHandler<dim,spacedim> *> (this))->particles.begin());
+    return (const_cast<ParticleHandler<dim,spacedim> *> (this))->begin();
   }
 
 
@@ -149,7 +149,7 @@ namespace Particles
   typename ParticleHandler<dim,spacedim>::particle_iterator
   ParticleHandler<dim,spacedim>::begin()
   {
-    return ParticleHandler<dim,spacedim>::particle_iterator(particles,particles.begin());
+    return particle_iterator(particles,particles.begin());
   }
 
 
@@ -167,7 +167,43 @@ namespace Particles
   typename ParticleHandler<dim,spacedim>::particle_iterator
   ParticleHandler<dim,spacedim>::end()
   {
-    return ParticleHandler<dim,spacedim>::particle_iterator(particles,particles.end());
+    return particle_iterator(particles,particles.end());
+  }
+
+
+
+  template <int dim,int spacedim>
+  typename ParticleHandler<dim,spacedim>::particle_iterator
+  ParticleHandler<dim,spacedim>::begin_ghost() const
+  {
+    return (const_cast<ParticleHandler<dim,spacedim> *> (this))->begin_ghost();
+  }
+
+
+
+  template <int dim,int spacedim>
+  typename ParticleHandler<dim,spacedim>::particle_iterator
+  ParticleHandler<dim,spacedim>::begin_ghost()
+  {
+    return particle_iterator(ghost_particles,ghost_particles.begin());
+  }
+
+
+
+  template <int dim,int spacedim>
+  typename ParticleHandler<dim,spacedim>::particle_iterator
+  ParticleHandler<dim,spacedim>::end_ghost() const
+  {
+    return (const_cast<ParticleHandler<dim,spacedim> *> (this))->end_ghost();
+  }
+
+
+
+  template <int dim,int spacedim>
+  typename ParticleHandler<dim,spacedim>::particle_iterator
+  ParticleHandler<dim,spacedim>::end_ghost()
+  {
+    return particle_iterator(ghost_particles,ghost_particles.end());
   }
 
 
@@ -312,23 +348,6 @@ namespace Particles
 
 
 
-  template <int dim, int spacedim>
-  std::map<types::subdomain_id, unsigned int>
-  ParticleHandler<dim,spacedim>::get_subdomain_id_to_neighbor_map() const
-  {
-    std::map<types::subdomain_id, unsigned int> subdomain_id_to_neighbor_map;
-    const std::set<types::subdomain_id> ghost_owners = triangulation->ghost_owners();
-    std::set<types::subdomain_id>::const_iterator ghost_owner = ghost_owners.begin();
-
-    for (unsigned int neighbor_id=0; neighbor_id<ghost_owners.size(); ++neighbor_id,++ghost_owner)
-      {
-        subdomain_id_to_neighbor_map.insert(std::make_pair(*ghost_owner,neighbor_id));
-      }
-    return subdomain_id_to_neighbor_map;
-  }
-
-
-
   namespace
   {
     /**
@@ -402,8 +421,8 @@ namespace Particles
     // collected in the moved_particles_domain vector. Particles that left
     // the mesh completely are ignored and removed.
     std::vector<std::pair<types::LevelInd, Particle<dim,spacedim> > > sorted_particles;
-    std::vector<std::vector<particle_iterator> > moved_particles;
-    std::vector<std::vector<typename Triangulation<dim,spacedim>::active_cell_iterator> > moved_cells;
+    std::map<types::subdomain_id, std::vector<particle_iterator> > moved_particles;
+    std::map<types::subdomain_id, std::vector<typename Triangulation<dim,spacedim>::active_cell_iterator> > moved_cells;
 
     // We do not know exactly how many particles are lost, exchanged between
     // domains, or remain on this process. Therefore we pre-allocate approximate
@@ -412,16 +431,13 @@ namespace Particles
     // re-allocation will happen.
     typedef typename std::vector<particle_iterator>::size_type vector_size;
     sorted_particles.reserve(static_cast<vector_size> (particles_out_of_cell.size()*1.25));
-    const std::map<types::subdomain_id, unsigned int> subdomain_to_neighbor_map(get_subdomain_id_to_neighbor_map());
 
-    moved_particles.resize(subdomain_to_neighbor_map.size());
-    moved_cells.resize(subdomain_to_neighbor_map.size());
+    const std::set<types::subdomain_id> ghost_owners = triangulation->ghost_owners();
 
-    for (unsigned int i=0; i<subdomain_to_neighbor_map.size(); ++i)
-      {
-        moved_particles[i].reserve(static_cast<vector_size> (particles_out_of_cell.size()*0.25));
-        moved_cells[i].reserve(static_cast<vector_size> (particles_out_of_cell.size()*0.25));
-      }
+    for (auto ghost_domain_id = ghost_owners.begin(); ghost_domain_id != ghost_owners.end(); ++ghost_domain_id)
+      moved_particles[*ghost_domain_id].reserve(static_cast<vector_size> (particles_out_of_cell.size()*0.25));
+    for (auto ghost_domain_id = ghost_owners.begin(); ghost_domain_id != ghost_owners.end(); ++ghost_domain_id)
+      moved_cells[*ghost_domain_id].reserve(static_cast<vector_size> (particles_out_of_cell.size()*0.25));
 
     {
       // Create a map from vertices to adjacent cells
@@ -526,9 +542,8 @@ namespace Particles
             }
           else
             {
-              const unsigned int neighbor_index = subdomain_to_neighbor_map.find(current_cell->subdomain_id())->second;
-              moved_particles[neighbor_index].push_back(*it);
-              moved_cells[neighbor_index].push_back(current_cell);
+              moved_particles[current_cell->subdomain_id()].push_back(*it);
+              moved_cells[current_cell->subdomain_id()].push_back(current_cell);
             }
         }
     }
@@ -563,9 +578,11 @@ namespace Particles
     // First clear the current ghost_particle information
     ghost_particles.clear();
 
-    const std::map<types::subdomain_id, unsigned int> subdomain_to_neighbor_map(get_subdomain_id_to_neighbor_map());
+    std::map<types::subdomain_id, std::vector<particle_iterator> > ghost_particles_by_domain;
 
-    std::vector<std::vector<particle_iterator> > ghost_particles_by_domain(subdomain_to_neighbor_map.size());
+    const std::set<types::subdomain_id> ghost_owners = triangulation->ghost_owners();
+    for (auto ghost_domain_id = ghost_owners.begin(); ghost_domain_id != ghost_owners.end(); ++ghost_domain_id)
+      ghost_particles_by_domain[*ghost_domain_id].reserve(static_cast<typename std::vector<particle_iterator>::size_type> (particles.size()*0.25));
 
     std::vector<std::set<unsigned int> > vertex_to_neighbor_subdomain(triangulation->n_vertices());
 
@@ -598,10 +615,8 @@ namespace Particles
                 for (std::set<types::subdomain_id>::const_iterator domain=cell_to_neighbor_subdomain.begin();
                      domain != cell_to_neighbor_subdomain.end(); ++domain)
                   {
-                    const unsigned int neighbor_id = subdomain_to_neighbor_map.find(*domain)->second;
-
                     for (typename particle_iterator_range::iterator particle = particle_range.begin(); particle != particle_range.end(); ++particle)
-                      ghost_particles_by_domain[neighbor_id].push_back(particle);
+                      ghost_particles_by_domain[*domain].push_back(particle);
                   }
               }
           }
@@ -615,9 +630,9 @@ namespace Particles
 
   template <int dim, int spacedim>
   void
-  ParticleHandler<dim,spacedim>::send_recv_particles(const std::vector<std::vector<particle_iterator> >      &particles_to_send,
+  ParticleHandler<dim,spacedim>::send_recv_particles(const std::map<types::subdomain_id, std::vector<particle_iterator> > &particles_to_send,
                                                      std::multimap<types::LevelInd,Particle <dim,spacedim> > &received_particles,
-                                                     const std::vector<std::vector<typename Triangulation<dim,spacedim>::active_cell_iterator> >         &send_cells)
+                                                     const std::map<types::subdomain_id, std::vector<typename Triangulation<dim,spacedim>::active_cell_iterator> > &send_cells)
   {
     // Determine the communication pattern
     const std::set<types::subdomain_id> ghost_owners = triangulation->ghost_owners();
@@ -625,15 +640,21 @@ namespace Particles
                                                       ghost_owners.end());
     const unsigned int n_neighbors = neighbors.size();
 
-    Assert(n_neighbors == particles_to_send.size(),
-           ExcMessage("The particles to send to other processes should be sorted into a vector "
-                      "containing as many vectors of particles as there are neighbor processes. This "
-                      "is not the case for an unknown reason. Contact the developers if you encounter "
-                      "this error."));
+    if (send_cells.size() != 0)
+      Assert (particles_to_send.size() == send_cells.size(),ExcInternalError());
+
+    // If we do not know the subdomain this particle needs to be send to, throw an error
+    Assert (particles_to_send.find(numbers::artificial_subdomain_id) == particles_to_send.end(),
+            ExcInternalError());
+
+    // TODO: Implement the shipping of particles to processes that are not ghost owners of the local domain
+    for (auto send_particles = particles_to_send.begin(); send_particles != particles_to_send.end(); ++send_particles)
+      Assert(ghost_owners.find(send_particles->first) != ghost_owners.end(),
+             ExcNotImplemented());
 
     unsigned int n_send_particles = 0;
-    for (unsigned int i=0; i<n_neighbors; ++i)
-      n_send_particles += particles_to_send[i].size();
+    for (auto send_particles = particles_to_send.begin(); send_particles != particles_to_send.end(); ++send_particles)
+      n_send_particles += send_particles->second.size();
 
     const unsigned int cellid_size = sizeof(CellId::binary_type);
 
@@ -654,28 +675,28 @@ namespace Particles
         void *data = static_cast<void *> (&send_data.front());
 
         // Serialize the data sorted by receiving process
-        for (types::subdomain_id neighbor_id = 0; neighbor_id < n_neighbors; ++neighbor_id)
+        for (unsigned int i = 0; i<n_neighbors; ++i)
           {
-            send_offsets[neighbor_id] = reinterpret_cast<std::size_t> (data) - reinterpret_cast<std::size_t> (&send_data.front());
+            send_offsets[i] = reinterpret_cast<std::size_t> (data) - reinterpret_cast<std::size_t> (&send_data.front());
 
-            for (unsigned int i=0; i<particles_to_send[neighbor_id].size(); ++i)
+            for (unsigned int j=0; j<particles_to_send.at(neighbors[i]).size(); ++j)
               {
                 // If no target cells are given, use the iterator information
                 typename Triangulation<dim,spacedim>::active_cell_iterator cell;
                 if (send_cells.size() == 0)
-                  cell = particles_to_send[neighbor_id][i]->get_surrounding_cell(*triangulation);
+                  cell = particles_to_send.at(neighbors[i])[j]->get_surrounding_cell(*triangulation);
                 else
-                  cell = send_cells[neighbor_id][i];
+                  cell = send_cells.at(neighbors[i])[j];
 
                 const CellId::binary_type cellid = cell->id().template to_binary<dim>();
                 memcpy(data, &cellid, cellid_size);
                 data = static_cast<char *>(data) + cellid_size;
 
-                particles_to_send[neighbor_id][i]->write_data(data);
+                particles_to_send.at(neighbors[i])[j]->write_data(data);
                 if (store_callback)
-                  data = store_callback(particles_to_send[neighbor_id][i],data);
+                  data = store_callback(particles_to_send.at(neighbors[i])[j],data);
               }
-            n_send_data[neighbor_id] = reinterpret_cast<std::size_t> (data) - send_offsets[neighbor_id] - reinterpret_cast<std::size_t> (&send_data.front());
+            n_send_data[i] = reinterpret_cast<std::size_t> (data) - send_offsets[i] - reinterpret_cast<std::size_t> (&send_data.front());
           }
       }
 
index 5545880d5d5f729937131b7d0a5cb9a7bacf1bf3..72b07ddaf8af4abcaf6997ef1f7d9e06e64f55c3 100644 (file)
@@ -46,7 +46,7 @@ void test ()
         for (unsigned int i=0; i<dim; ++i)
           {
             position[0](i) = 0.125;
-            position[1](i) = 0.875;
+            position[1](i) = 0.525;
           }
 
         Particles::Particle<dim,spacedim> particle1(position[0],reference_position[0],0);
index 114d01763001d0846fec2cf1a17d194f002daadd..01df526a8d987320e0aaafc16a2d9849c1a828c1 100644 (file)
@@ -12,13 +12,13 @@ DEAL:0:3d/3d::Before sort particle id 1 is in cell 2.0 on process 0
 DEAL:0:3d/3d::After sort particle id 0 is in cell 2.0 on process 0
 DEAL:0:3d/3d::OK
 
-DEAL:1:2d/2d::After sort particle id 1 is in cell 2.15 on process 1
+DEAL:1:2d/2d::After sort particle id 1 is in cell 2.12 on process 1
 DEAL:1:2d/2d::After shift particle id 0 is in cell 2.8 on process 1
 DEAL:1:2d/2d::OK
-DEAL:1:2d/3d::After sort particle id 1 is in cell 2.15 on process 1
+DEAL:1:2d/3d::After sort particle id 1 is in cell 2.12 on process 1
 DEAL:1:2d/3d::After shift particle id 0 is in cell 2.8 on process 1
 DEAL:1:2d/3d::OK
-DEAL:1:3d/3d::After sort particle id 1 is in cell 2.63 on process 1
+DEAL:1:3d/3d::After sort particle id 1 is in cell 2.56 on process 1
 DEAL:1:3d/3d::After shift particle id 0 is in cell 2.32 on process 1
 DEAL:1:3d/3d::OK
 
diff --git a/tests/particles/particle_handler_06.cc b/tests/particles/particle_handler_06.cc
new file mode 100644 (file)
index 0000000..a3c70a7
--- /dev/null
@@ -0,0 +1,89 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2017 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.
+//
+// ---------------------------------------------------------------------
+
+
+
+// like particle_handler_04, but tests the exchange of ghost particles.
+
+#include "../tests.h"
+#include <deal.II/particles/particle_handler.h>
+
+#include <deal.II/distributed/tria.h>
+#include <deal.II/grid/grid_generator.h>
+#include <deal.II/grid/grid_tools.h>
+#include <deal.II/fe/mapping_q.h>
+
+template <int dim, int spacedim>
+void test ()
+{
+  {
+    parallel::distributed::Triangulation<dim,spacedim> tr(MPI_COMM_WORLD);
+
+    GridGenerator::hyper_cube(tr);
+    tr.refine_global(2);
+    MappingQ<dim,spacedim> mapping(1);
+
+    // both processes create a particle handler, but only the first creates particles
+    Particles::ParticleHandler<dim,spacedim> particle_handler(tr,mapping);
+
+    Point<spacedim> position;
+    Point<dim> reference_position;
+
+    if (Utilities::MPI::this_mpi_process(tr.get_communicator()) == 0)
+      for (unsigned int i=0; i<dim; ++i)
+        position(i) = 0.475;
+    else
+      for (unsigned int i=0; i<dim; ++i)
+        position(i) = 0.525;
+
+    Particles::Particle<dim,spacedim> particle(position,reference_position,Utilities::MPI::this_mpi_process(tr.get_communicator()));
+    typename Triangulation<dim, spacedim>::active_cell_iterator cell = tr.begin_active();
+    particle_handler.insert_particle(particle,cell);
+
+    particle_handler.sort_particles_into_subdomains_and_cells();
+    particle_handler.exchange_ghost_particles();
+
+    for (auto particle = particle_handler.begin(); particle != particle_handler.end(); ++particle)
+      deallog << "Particle id " << particle->get_id()
+              << " is local particle on process " << Utilities::MPI::this_mpi_process(tr.get_communicator())
+              << std::endl;
+
+    for (auto particle = particle_handler.begin_ghost(); particle != particle_handler.end_ghost(); ++particle)
+      deallog << "Particle id " << particle->get_id()
+              << " is ghost particle on process " << Utilities::MPI::this_mpi_process(tr.get_communicator())
+              << std::endl;
+  }
+
+  deallog << "OK" << std::endl;
+}
+
+
+
+int main (int argc, char *argv[])
+{
+  Utilities::MPI::MPI_InitFinalize mpi_initialization (argc, argv, 1);
+
+  MPILogInitAll all;
+
+  deallog.push("2d/2d");
+  test<2,2>();
+  deallog.pop();
+  deallog.push("2d/3d");
+  test<2,3>();
+  deallog.pop();
+  deallog.push("3d/3d");
+  test<3,3>();
+  deallog.pop();
+}
diff --git a/tests/particles/particle_handler_06.mpirun=2.output b/tests/particles/particle_handler_06.mpirun=2.output
new file mode 100644 (file)
index 0000000..01df526
--- /dev/null
@@ -0,0 +1,24 @@
+
+DEAL:0:2d/2d::Before sort particle id 0 is in cell 2.0 on process 0
+DEAL:0:2d/2d::Before sort particle id 1 is in cell 2.0 on process 0
+DEAL:0:2d/2d::After sort particle id 0 is in cell 2.0 on process 0
+DEAL:0:2d/2d::OK
+DEAL:0:2d/3d::Before sort particle id 0 is in cell 2.0 on process 0
+DEAL:0:2d/3d::Before sort particle id 1 is in cell 2.0 on process 0
+DEAL:0:2d/3d::After sort particle id 0 is in cell 2.0 on process 0
+DEAL:0:2d/3d::OK
+DEAL:0:3d/3d::Before sort particle id 0 is in cell 2.0 on process 0
+DEAL:0:3d/3d::Before sort particle id 1 is in cell 2.0 on process 0
+DEAL:0:3d/3d::After sort particle id 0 is in cell 2.0 on process 0
+DEAL:0:3d/3d::OK
+
+DEAL:1:2d/2d::After sort particle id 1 is in cell 2.12 on process 1
+DEAL:1:2d/2d::After shift particle id 0 is in cell 2.8 on process 1
+DEAL:1:2d/2d::OK
+DEAL:1:2d/3d::After sort particle id 1 is in cell 2.12 on process 1
+DEAL:1:2d/3d::After shift particle id 0 is in cell 2.8 on process 1
+DEAL:1:2d/3d::OK
+DEAL:1:3d/3d::After sort particle id 1 is in cell 2.56 on process 1
+DEAL:1:3d/3d::After shift particle id 0 is in cell 2.32 on process 1
+DEAL:1:3d/3d::OK
+
index 127b90722736b36554d694ac39a1d6fb98bbb9e0..a97ab8fe8fecd87a6d7a7ce5cec8d1635b3d4720 100644 (file)
@@ -8,12 +8,19 @@ DEAL:0:2d/2d::Before serialization particle id 7 is in cell 2.7
 DEAL:0:2d/2d::Before serialization particle id 2 is in cell 2.10
 DEAL:0:2d/2d::Before serialization particle id 5 is in cell 2.11
 DEAL:0:2d/2d::Before serialization particle id 8 is in cell 2.15
-DEAL:0:2d/2d::0 0 0 3 0 0 2 1 0
-0 1 0 0 1 0 0 0 4 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 1 0 4294967294 1 0 0 1 0 -1 0 0 0 0 0 1 0 0 0 4 1 2 0 3 2 0 0 2 0 0 1 0 0 0 3 1 1 1 0 0 0 1 0 0 0 0 1 0 4294967295 0 0 1 0 0 1 0 0 0 0 0 2
-1 4 0 0 0 0 0 4 0 0 0 0 16 0 -1 -1 1 1 -1 -1 1 2 1 0 -1 -1 -1 -1 1 3 -1 -1 1 3 1 0 -1 -1 1 2 -1 -1 1 1 -1 -1 4 0 4294967294 4294967294 4294967294 4294967294 4 0 0 0 0 0 2 0 0 0 0 4 0 4 6 12 4 14 4 12 8 5 15 4 7 13 14 10 4 13 9 15 11 8 0 0 2 4 6 8 10 12 14 4 0 3 3 3 3 4 1 1 1 1 4 0 0 0 0 4 0 0 0 0 0 4 0 4294967295 4294967295 4294967295 4294967295 3 0 1 4 0 0 0 0 0 0 2
-2 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 64 0 -1 -1 2 1 -1 -1 2 2 2 0 2 4 -1 -1 2 3 -1 -1 2 3 2 0 2 8 2 2 2 6 2 1 2 9 2 1 2 5 -1 -1 2 6 2 4 -1 -1 -1 -1 2 7 2 3 2 7 2 4 2 12 2 6 -1 -1 2 5 2 13 -1 -1 2 9 2 2 2 10 2 8 2 12 2 3 2 11 -1 -1 2 11 2 8 -1 -1 2 10 2 14 2 9 -1 -1 2 9 2 13 2 6 2 14 2 12 -1 -1 2 7 2 15 2 11 2 15 2 12 -1 -1 2 14 -1 -1 2 13 -1 -1 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 1 1 2 2 3 3 0 16 0 4 20 40 16 42 4 40 32 17 43 4 21 41 42 36 4 41 33 43 37 4 32 44 18 46 4 44 24 19 47 4 33 45 46 38 4 45 25 47 39 4 22 48 36 50 4 48 34 37 51 4 23 49 50 28 4 49 35 51 29 4 34 52 38 54 4 52 26 39 55 4 35 53 54 30 4 53 27 55 31 32 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16 0 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 15 0 1 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 19 1 0
-3 0 0 0 0 56 0 0 0 2 0 1 2 0 2 2 1 3 2 2 3 2 0 4 2 4 1 2 0 5 2 5 2 2 1 6 2 6 3 2 2 7 2 7 3 2 4 8 2 8 7 2 5 8 2 8 6 2 0 9 2 9 4 2 4 10 2 10 1 2 0 11 2 11 5 2 5 12 2 12 2 2 1 13 2 13 6 2 6 14 2 14 3 2 2 15 2 15 7 2 7 16 2 16 3 2 4 17 2 17 8 2 8 18 2 18 7 2 5 19 2 19 8 2 8 20 2 20 6 2 9 21 2 21 19 2 11 21 2 21 17 2 10 22 2 22 20 2 17 22 2 22 13 2 19 23 2 23 15 2 12 23 2 23 18 2 20 24 2 24 16 2 18 24 2 24 14 56 0 4 6 8 10 16 18 20 22 24 26 28 30 32 34 36 38 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 56 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 56 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 56 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4294967295 4294967295 4294967295 4294967295 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 56 0 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 55 0 1 0 0 56 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 2 0 0 0.00000000000000000e+00 0.00000000000000000e+00 2 1.00000000000000000e+00 0.00000000000000000e+00 2 0.00000000000000000e+00 1.00000000000000000e+00 2 1.00000000000000000e+00 1.00000000000000000e+00 2 5.00000000000000000e-01 0.00000000000000000e+00 2 0.00000000000000000e+00 5.00000000000000000e-01 2 1.00000000000000000e+00 5.00000000000000000e-01 2 5.00000000000000000e-01 1.00000000000000000e+00 2 5.00000000000000000e-01 5.00000000000000000e-01 2 2.50000000000000000e-01 0.00000000000000000e+00 2 7.50000000000000000e-01 0.00000000000000000e+00 2 0.00000000000000000e+00 2.50000000000000000e-01 2 0.00000000000000000e+00 7.50000000000000000e-01 2 1.00000000000000000e+00 2.50000000000000000e-01 2 1.00000000000000000e+00 7.50000000000000000e-01 2 2.50000000000000000e-01 1.00000000000000000e+00 2 7.50000000000000000e-01 1.00000000000000000e+00 2 5.00000000000000000e-01 2.50000000000000000e-01 2 5.00000000000000000e-01 7.50000000000000000e-01 2 2.50000000000000000e-01 5.00000000000000000e-01 2 7.50000000000000000e-01 5.00000000000000000e-01 2 2.50000000000000000e-01 2.50000000000000000e-01 2 7.50000000000000000e-01 2.50000000000000000e-01 2 2.50000000000000000e-01 7.50000000000000000e-01 2 7.50000000000000000e-01 7.50000000000000000e-01 25 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 3 56 0 0 40 0 0 21 3 0 1 4 16 16 3 0 0 0 16 0
+DEAL:0:2d/2d::0 0 9 1 9
 
+DEAL:0:2d/2d::After serialization particle id 0 is in cell 2.0
+DEAL:0:2d/2d::After serialization particle id 3 is in cell 2.1
+DEAL:0:2d/2d::After serialization particle id 1 is in cell 2.2
+DEAL:0:2d/2d::After serialization particle id 4 is in cell 2.3
+DEAL:0:2d/2d::After serialization particle id 6 is in cell 2.5
+DEAL:0:2d/2d::After serialization particle id 7 is in cell 2.7
+DEAL:0:2d/2d::After serialization particle id 2 is in cell 2.10
+DEAL:0:2d/2d::After serialization particle id 5 is in cell 2.11
+DEAL:0:2d/2d::After serialization particle id 8 is in cell 2.15
+DEAL:0:2d/2d::OK
+DEAL:0:2d/2d::
 DEAL:0:2d/3d::Before serialization particle id 0 is in cell 2.0
 DEAL:0:2d/3d::Before serialization particle id 3 is in cell 2.1
 DEAL:0:2d/3d::Before serialization particle id 1 is in cell 2.2
@@ -23,12 +30,19 @@ DEAL:0:2d/3d::Before serialization particle id 7 is in cell 2.7
 DEAL:0:2d/3d::Before serialization particle id 2 is in cell 2.10
 DEAL:0:2d/3d::Before serialization particle id 5 is in cell 2.11
 DEAL:0:2d/3d::Before serialization particle id 8 is in cell 2.15
-DEAL:0:2d/3d::0 0 0 3 0 0 2 1 0
-0 1 0 0 1 0 0 0 4 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 1 0 4294967294 1 0 0 1 0 -1 1 1 0 0 0 0 1 0 0 0 4 1 2 0 3 2 0 0 2 0 0 1 0 0 0 3 1 1 1 0 0 0 1 0 0 0 0 1 0 4294967295 0 0 1 0 0 1 0 0 0 0 0 2
-1 4 0 0 0 0 0 4 0 0 0 0 16 0 -1 -1 1 1 -1 -1 1 2 1 0 -1 -1 -1 -1 1 3 -1 -1 1 3 1 0 -1 -1 1 2 -1 -1 1 1 -1 -1 4 0 4294967294 4294967294 4294967294 4294967294 4 0 0 0 0 0 2 0 0 0 4 1 1 1 1 4 0 4 6 12 4 14 4 12 8 5 15 4 7 13 14 10 4 13 9 15 11 8 0 0 2 4 6 8 10 12 14 4 0 3 3 3 3 4 1 1 1 1 4 0 0 0 0 4 0 0 0 0 0 4 0 4294967295 4294967295 4294967295 4294967295 3 0 1 4 0 0 0 0 0 0 2
-2 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 64 0 -1 -1 2 1 -1 -1 2 2 2 0 2 4 -1 -1 2 3 -1 -1 2 3 2 0 2 8 2 2 2 6 2 1 2 9 2 1 2 5 -1 -1 2 6 2 4 -1 -1 -1 -1 2 7 2 3 2 7 2 4 2 12 2 6 -1 -1 2 5 2 13 -1 -1 2 9 2 2 2 10 2 8 2 12 2 3 2 11 -1 -1 2 11 2 8 -1 -1 2 10 2 14 2 9 -1 -1 2 9 2 13 2 6 2 14 2 12 -1 -1 2 7 2 15 2 11 2 15 2 12 -1 -1 2 14 -1 -1 2 13 -1 -1 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 1 1 2 2 3 3 16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 0 4 20 40 16 42 4 40 32 17 43 4 21 41 42 36 4 41 33 43 37 4 32 44 18 46 4 44 24 19 47 4 33 45 46 38 4 45 25 47 39 4 22 48 36 50 4 48 34 37 51 4 23 49 50 28 4 49 35 51 29 4 34 52 38 54 4 52 26 39 55 4 35 53 54 30 4 53 27 55 31 32 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16 0 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 15 0 1 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 19 1 0
-3 0 0 0 0 56 0 0 0 2 0 1 2 0 2 2 1 3 2 2 3 2 0 4 2 4 1 2 0 5 2 5 2 2 1 6 2 6 3 2 2 7 2 7 3 2 4 8 2 8 7 2 5 8 2 8 6 2 0 9 2 9 4 2 4 10 2 10 1 2 0 11 2 11 5 2 5 12 2 12 2 2 1 13 2 13 6 2 6 14 2 14 3 2 2 15 2 15 7 2 7 16 2 16 3 2 4 17 2 17 8 2 8 18 2 18 7 2 5 19 2 19 8 2 8 20 2 20 6 2 9 21 2 21 19 2 11 21 2 21 17 2 10 22 2 22 20 2 17 22 2 22 13 2 19 23 2 23 15 2 12 23 2 23 18 2 20 24 2 24 16 2 18 24 2 24 14 56 0 4 6 8 10 16 18 20 22 24 26 28 30 32 34 36 38 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 56 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 56 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 56 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4294967295 4294967295 4294967295 4294967295 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 56 0 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 55 0 1 0 0 56 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 25 0 0 0 0 0 3 0 0 0.00000000000000000e+00 0.00000000000000000e+00 0.00000000000000000e+00 3 1.00000000000000000e+00 0.00000000000000000e+00 0.00000000000000000e+00 3 0.00000000000000000e+00 1.00000000000000000e+00 0.00000000000000000e+00 3 1.00000000000000000e+00 1.00000000000000000e+00 0.00000000000000000e+00 3 5.00000000000000000e-01 0.00000000000000000e+00 0.00000000000000000e+00 3 0.00000000000000000e+00 5.00000000000000000e-01 0.00000000000000000e+00 3 1.00000000000000000e+00 5.00000000000000000e-01 0.00000000000000000e+00 3 5.00000000000000000e-01 1.00000000000000000e+00 0.00000000000000000e+00 3 5.00000000000000000e-01 5.00000000000000000e-01 0.00000000000000000e+00 3 2.50000000000000000e-01 0.00000000000000000e+00 0.00000000000000000e+00 3 7.50000000000000000e-01 0.00000000000000000e+00 0.00000000000000000e+00 3 0.00000000000000000e+00 2.50000000000000000e-01 0.00000000000000000e+00 3 0.00000000000000000e+00 7.50000000000000000e-01 0.00000000000000000e+00 3 1.00000000000000000e+00 2.50000000000000000e-01 0.00000000000000000e+00 3 1.00000000000000000e+00 7.50000000000000000e-01 0.00000000000000000e+00 3 2.50000000000000000e-01 1.00000000000000000e+00 0.00000000000000000e+00 3 7.50000000000000000e-01 1.00000000000000000e+00 0.00000000000000000e+00 3 5.00000000000000000e-01 2.50000000000000000e-01 0.00000000000000000e+00 3 5.00000000000000000e-01 7.50000000000000000e-01 0.00000000000000000e+00 3 2.50000000000000000e-01 5.00000000000000000e-01 0.00000000000000000e+00 3 7.50000000000000000e-01 5.00000000000000000e-01 0.00000000000000000e+00 3 2.50000000000000000e-01 2.50000000000000000e-01 0.00000000000000000e+00 3 7.50000000000000000e-01 2.50000000000000000e-01 0.00000000000000000e+00 3 2.50000000000000000e-01 7.50000000000000000e-01 0.00000000000000000e+00 3 7.50000000000000000e-01 7.50000000000000000e-01 0.00000000000000000e+00 25 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 3 56 0 0 40 0 0 21 3 0 1 4 16 16 3 0 0 0 16 0
+DEAL:0:2d/3d::0 0 9 1 9
 
+DEAL:0:2d/3d::After serialization particle id 0 is in cell 2.0
+DEAL:0:2d/3d::After serialization particle id 3 is in cell 2.1
+DEAL:0:2d/3d::After serialization particle id 1 is in cell 2.2
+DEAL:0:2d/3d::After serialization particle id 4 is in cell 2.3
+DEAL:0:2d/3d::After serialization particle id 6 is in cell 2.5
+DEAL:0:2d/3d::After serialization particle id 7 is in cell 2.7
+DEAL:0:2d/3d::After serialization particle id 2 is in cell 2.10
+DEAL:0:2d/3d::After serialization particle id 5 is in cell 2.11
+DEAL:0:2d/3d::After serialization particle id 8 is in cell 2.15
+DEAL:0:2d/3d::OK
+DEAL:0:2d/3d::
 DEAL:0:3d/3d::Before serialization particle id 0 is in cell 2.0
 DEAL:0:3d/3d::Before serialization particle id 1 is in cell 2.0
 DEAL:0:3d/3d::Before serialization particle id 2 is in cell 2.0
@@ -56,9 +70,34 @@ DEAL:0:3d/3d::Before serialization particle id 17 is in cell 2.55
 DEAL:0:3d/3d::Before serialization particle id 24 is in cell 2.63
 DEAL:0:3d/3d::Before serialization particle id 25 is in cell 2.63
 DEAL:0:3d/3d::Before serialization particle id 26 is in cell 2.63
-DEAL:0:3d/3d::0 0 0 3 0 0 2 1 0
-0 1 0 0 1 0 0 0 6 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 0 4294967294 1 0 0 1 0 -1 0 0 0 0 0 1 0 0 0 6 2 3 0 4 1 5 4 0 0 2 4 6 0 0 1 0 0 0 7 1 1 1 0 0 0 1 0 0 0 0 1 0 4294967295 0 0 0 0 0 1 0 0 0 0 0 6 1 1 1 1 1 1 6 0 0 0 0 0 0 6 0 0 0 0 0 0 2
-1 8 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 48 0 -1 -1 1 1 -1 -1 1 2 -1 -1 1 4 1 0 -1 -1 -1 -1 1 3 -1 -1 1 5 -1 -1 1 3 1 0 -1 -1 -1 -1 1 6 1 2 -1 -1 1 1 -1 -1 -1 -1 1 7 -1 -1 1 5 -1 -1 1 6 1 0 -1 -1 1 4 -1 -1 -1 -1 1 7 1 1 -1 -1 -1 -1 1 7 1 4 -1 -1 1 2 -1 -1 1 6 -1 -1 1 5 -1 -1 1 3 -1 -1 8 0 4294967294 4294967294 4294967294 4294967294 4294967294 4294967294 4294967294 4294967294 8 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 8 0 6 14 41 6 37 10 33 6 41 18 8 35 11 32 6 15 40 37 22 12 31 6 40 19 35 24 13 30 6 16 39 7 36 33 26 6 39 20 9 34 32 27 6 17 38 36 23 31 28 6 38 21 34 25 30 29 32 0 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 8 0 7 7 7 7 7 7 7 7 8 1 1 1 1 1 1 1 1 8 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 8 0 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 0 0 0 8 0 0 0 0 0 0 0 0 0 0 48 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 48 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 48 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2
-2 64 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 64 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 384 0 -1 -1 2 1 -1 -1 2 2 -1 -1 2 4 2 0 2 8 -1 -1 2 3 -1 -1 2 5 -1 -1 2 3 2 0 2 16 -1 -1 2 6 2 2 2 10 2 1 2 17 -1 -1 2 7 -1 -1 2 5 -1 -1 2 6 2 0 2 32 2 4 2 12 -1 -1 2 7 2 1 2 33 -1 -1 2 7 2 4 2 20 2 2 2 34 2 6 2 14 2 5 2 21 2 3 2 35 2 1 2 9 -1 -1 2 10 -1 -1 2 12 2 8 -1 -1 -1 -1 2 11 -1 -1 2 13 2 3 2 11 2 8 2 24 -1 -1 2 14 2 10 -1 -1 2 9 2 25 -1 -1 2 15 2 5 2 13 -1 -1 2 14 2 8 2 40 2 12 -1 -1 -1 -1 2 15 2 9 2 41 2 7 2 15 2 12 2 28 2 10 2 42 2 14 -1 -1 2 13 2 29 2 11 2 43 -1 -1 2 17 2 2 2 18 -1 -1 2 20 2 16 2 24 2 3 2 19 -1 -1 2 21 -1 -1 2 19 2 16 -1 -1 -1 -1 2 22 2 18 2 26 2 17 -1 -1 -1 -1 2 23 -1 -1 2 21 2 6 2 22 2 16 2 48 2 20 2 28 2 7 2 23 2 17 2 49 -1 -1 2 23 2 20 -1 -1 2 18 2 50 2 22 2 30 2 21 -1 -1 2 19 2 51 2 17 2 25 2 10 2 26 -1 -1 2 28 2 24 -1 -1 2 11 2 27 -1 -1 2 29 2 19 2 27 2 24 -1 -1 -1 -1 2 30 2 26 -1 -1 2 25 -1 -1 -1 -1 2 31 2 21 2 29 2 14 2 30 2 24 2 56 2 28 -1 -1 2 15 2 31 2 25 2 57 2 23 2 31 2 28 -1 -1 2 26 2 58 2 30 -1 -1 2 29 -1 -1 2 27 2 59 -1 -1 2 33 -1 -1 2 34 2 4 2 36 2 32 2 40 -1 -1 2 35 2 5 2 37 -1 -1 2 35 2 32 2 48 2 6 2 38 2 34 2 42 2 33 2 49 2 7 2 39 -1 -1 2 37 -1 -1 2 38 2 32 -1 -1 2 36 2 44 -1 -1 2 39 2 33 -1 -1 -1 -1 2 39 2 36 2 52 2 34 -1 -1 2 38 2 46 2 37 2 53 2 35 -1 -1 2 33 2 41 -1 -1 2 42 2 12 2 44 2 40 -1 -1 -1 -1 2 43 2 13 2 45 2 35 2 43 2 40 2 56 2 14 2 46 2 42 -1 -1 2 41 2 57 2 15 2 47 2 37 2 45 -1 -1 2 46 2 40 -1 -1 2 44 -1 -1 -1 -1 2 47 2 41 -1 -1 2 39 2 47 2 44 2 60 2 42 -1 -1 2 46 -1 -1 2 45 2 61 2 43 -1 -1 -1 -1 2 49 2 34 2 50 2 20 2 52 2 48 2 56 2 35 2 51 2 21 2 53 -1 -1 2 51 2 48 -1 -1 2 22 2 54 2 50 2 58 2 49 -1 -1 2 23 2 55 -1 -1 2 53 2 38 2 54 2 48 -1 -1 2 52 2 60 2 39 2 55 2 49 -1 -1 -1 -1 2 55 2 52 -1 -1 2 50 -1 -1 2 54 2 62 2 53 -1 -1 2 51 -1 -1 2 49 2 57 2 42 2 58 2 28 2 60 2 56 -1 -1 2 43 2 59 2 29 2 61 2 51 2 59 2 56 -1 -1 2 30 2 62 2 58 -1 -1 2 57 -1 -1 2 31 2 63 2 53 2 61 2 46 2 62 2 56 -1 -1 2 60 -1 -1 2 47 2 63 2 57 -1 -1 2 55 2 63 2 60 -1 -1 2 58 -1 -1 2 62 -1 -1 2 61 -1 -1 2 59 -1 -1 64 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 64 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32 0 0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 5 5 5 5 6 6 6 6 7 7 7 7 0 64 0 6 74 281 42 277 58 273 6 281 182 44 275 59 272 6 75 280 277 166 60 271 6 280 183 275 168 61 270 6 76 279 43 276 273 150 6 279 184 45 274 272 151 6 77 278 276 167 271 152 6 278 185 274 169 270 153 6 182 269 50 265 62 261 6 269 90 52 263 63 260 6 183 268 265 158 64 259 6 268 91 263 160 65 258 6 184 267 51 264 261 146 6 267 92 53 262 260 147 6 185 266 264 159 259 148 6 266 93 262 161 258 149 6 78 257 166 253 66 249 6 257 178 168 251 67 248 6 79 256 253 106 68 247 6 256 179 251 108 69 246 6 80 255 167 252 249 142 6 255 180 169 250 248 143 6 81 254 252 107 247 144 6 254 181 250 109 246 145 6 178 245 158 241 70 237 6 245 94 160 239 71 236 6 179 244 241 114 72 235 6 244 95 239 116 73 234 6 180 243 159 240 237 138 6 243 96 161 238 236 139 6 181 242 240 115 235 140 6 242 97 238 117 234 141 6 82 233 46 229 150 225 6 233 174 48 227 151 224 6 83 232 229 162 152 223 6 232 175 227 164 153 222 6 84 231 47 228 225 122 6 231 176 49 226 224 123 6 85 230 228 163 223 124 6 230 177 226 165 222 125 6 174 221 54 217 146 213 6 221 98 56 215 147 212 6 175 220 217 154 148 211 6 220 99 215 156 149 210 6 176 219 55 216 213 126 6 219 100 57 214 212 127 6 177 218 216 155 211 128 6 218 101 214 157 210 129 6 86 209 162 205 142 201 6 209 170 164 203 143 200 6 87 208 205 110 144 199 6 208 171 203 112 145 198 6 88 207 163 204 201 130 6 207 172 165 202 200 131 6 89 206 204 111 199 132 6 206 173 202 113 198 133 6 170 197 154 193 138 189 6 197 102 156 191 139 188 6 171 196 193 118 140 187 6 196 103 191 120 141 186 6 172 195 155 192 189 134 6 195 104 157 190 188 135 6 173 194 192 119 187 136 6 194 105 190 121 186 137 256 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 64 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 64 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 64 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 64 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 64 0 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 0 0 0 64 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 384 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 384 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 384 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 19 1 0
-3 0 0 0 0 282 0 0 0 4 0 8 2 4 4 1 3 0 5 4 2 6 1 9 4 4 7 3 10 4 5 11 6 7 4 9 10 8 11 4 12 36 16 38 4 36 28 17 39 4 13 37 38 20 4 37 29 39 21 4 14 40 12 42 4 40 18 13 43 4 15 41 42 22 4 41 19 43 23 4 16 44 14 46 4 44 24 15 47 4 17 45 46 30 4 45 25 47 31 4 20 48 18 50 4 48 26 19 51 4 21 49 50 32 4 49 27 51 33 4 22 52 24 54 4 52 34 25 55 4 23 53 54 26 4 53 35 55 27 4 30 56 28 58 4 56 32 29 59 4 31 57 58 34 4 57 33 59 35 4 64 51 62 53 4 47 64 63 52 4 65 50 37 62 4 46 65 36 63 4 62 59 60 49 4 43 62 61 48 4 63 58 45 60 4 42 63 44 61 4 60 55 64 57 4 39 60 65 56 4 61 54 41 64 4 38 61 40 65 4 66 174 74 176 4 174 114 75 177 4 67 175 176 118 4 175 115 177 119 4 114 178 76 180 4 178 98 77 181 4 115 179 180 120 4 179 99 181 121 4 68 182 118 184 4 182 116 119 185 4 69 183 184 82 4 183 117 185 83 4 116 186 120 188 4 186 100 121 189 4 117 187 188 84 4 187 101 189 85 4 70 190 66 192 4 190 122 67 193 4 71 191 192 126 4 191 123 193 127 4 122 194 68 196 4 194 78 69 197 4 123 195 196 128 4 195 79 197 129 4 72 198 126 200 4 198 124 127 201 4 73 199 200 86 4 199 125 201 87 4 124 202 128 204 4 202 80 129 205 4 125 203 204 88 4 203 81 205 89 4 74 206 70 208 4 206 130 71 209 4 75 207 208 134 4 207 131 209 135 4 130 210 72 212 4 210 90 73 213 4 131 211 212 136 4 211 91 213 137 4 76 214 134 216 4 214 132 135 217 4 77 215 216 102 4 215 133 217 103 4 132 218 136 220 4 218 92 137 221 4 133 219 220 104 4 219 93 221 105 4 82 222 78 224 4 222 138 79 225 4 83 223 224 142 4 223 139 225 143 4 138 226 80 228 4 226 94 81 229 4 139 227 228 144 4 227 95 229 145 4 84 230 142 232 4 230 140 143 233 4 85 231 232 106 4 231 141 233 107 4 140 234 144 236 4 234 96 145 237 4 141 235 236 108 4 235 97 237 109 4 86 238 90 240 4 238 146 91 241 4 87 239 240 150 4 239 147 241 151 4 146 242 92 244 4 242 110 93 245 4 147 243 244 152 4 243 111 245 153 4 88 246 150 248 4 246 148 151 249 4 89 247 248 94 4 247 149 249 95 4 148 250 152 252 4 250 112 153 253 4 149 251 252 96 4 251 113 253 97 4 102 254 98 256 4 254 154 99 257 4 103 255 256 158 4 255 155 257 159 4 154 258 100 260 4 258 106 101 261 4 155 259 260 160 4 259 107 261 161 4 104 262 158 264 4 262 156 159 265 4 105 263 264 110 4 263 157 265 111 4 156 266 160 268 4 266 108 161 269 4 157 267 268 112 4 267 109 269 113 4 170 270 166 272 4 270 144 167 273 4 171 271 272 148 4 271 145 273 149 4 136 274 168 276 4 274 170 169 277 4 137 275 276 146 4 275 171 277 147 4 172 278 116 280 4 278 142 117 281 4 173 279 280 166 4 279 143 281 167 4 134 282 114 284 4 282 172 115 285 4 135 283 284 168 4 283 173 285 169 4 166 286 162 288 4 286 160 163 289 4 167 287 288 140 4 287 161 289 141 4 128 290 164 292 4 290 166 165 293 4 129 291 292 138 4 291 167 293 139 4 168 294 132 296 4 294 158 133 297 4 169 295 296 162 4 295 159 297 163 4 126 298 130 300 4 298 168 131 301 4 127 299 300 164 4 299 169 301 165 4 162 302 170 304 4 302 152 171 305 4 163 303 304 156 4 303 153 305 157 4 120 306 172 308 4 306 162 173 309 4 121 307 308 154 4 307 163 309 155 4 164 310 124 312 4 310 150 125 313 4 165 311 312 170 4 311 151 313 171 4 118 314 122 316 4 314 164 123 317 4 119 315 316 172 4 315 165 317 173 4 322 237 320 251 4 305 322 321 250 4 323 236 287 320 4 304 323 286 321 4 320 269 318 235 4 273 320 319 234 4 321 268 303 318 4 272 321 302 319 4 318 253 322 267 4 289 318 323 266 4 319 252 271 322 4 288 319 270 323 4 328 305 326 243 4 221 328 327 242 4 329 304 295 326 4 220 329 294 327 4 326 265 324 303 4 277 326 325 302 4 327 264 219 324 4 276 327 218 325 4 324 245 328 263 4 297 324 329 262 4 325 244 275 328 4 296 325 274 329 4 334 233 332 287 4 309 334 333 286 4 335 232 187 332 4 308 335 186 333 4 332 261 330 231 4 281 332 331 230 4 333 260 307 330 4 280 333 306 331 4 330 289 334 259 4 189 330 335 258 4 331 288 279 334 4 188 331 278 335 4 340 309 338 295 4 217 340 339 294 4 341 308 179 338 4 216 341 178 339 4 338 257 336 307 4 285 338 337 306 4 339 256 215 336 4 284 339 214 337 4 336 297 340 255 4 181 336 341 254 4 337 296 283 340 4 180 337 282 341 4 346 229 344 247 4 313 346 345 246 4 347 228 291 344 4 312 347 290 345 4 344 273 342 227 4 205 344 343 226 4 345 272 311 342 4 204 345 310 343 4 342 249 346 271 4 293 342 347 270 4 343 248 203 346 4 292 343 202 347 4 352 313 350 239 4 213 352 351 238 4 353 312 299 350 4 212 353 298 351 4 350 277 348 311 4 201 350 349 310 4 351 276 211 348 4 200 351 210 349 4 348 241 352 275 4 301 348 353 274 4 349 240 199 352 4 300 349 198 353 4 358 225 356 291 4 317 358 357 290 4 359 224 183 356 4 316 359 182 357 4 356 281 354 223 4 197 356 355 222 4 357 280 315 354 4 196 357 314 355 4 354 293 358 279 4 185 354 359 278 4 355 292 195 358 4 184 355 194 359 4 364 317 362 299 4 209 364 363 298 4 365 316 175 362 4 208 365 174 363 4 362 285 360 315 4 193 362 361 314 4 363 284 207 360 4 192 363 206 361 4 360 301 364 283 4 177 360 365 282 4 361 300 191 364 4 176 361 190 365 564 0 6 8 10 12 14 16 18 20 22 24 26 28 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100 102 104 106 108 110 112 114 116 118 120 122 124 126 128 130 132 134 136 138 140 142 144 146 148 150 152 154 156 158 160 162 164 166 168 170 172 174 176 178 180 182 184 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 282 0 0 0 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 282 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 282 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 282 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 282 0 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 281 0 1 0 0 282 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1128 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 366 0 0 0 2 0 1 2 0 2 2 0 4 2 1 3 2 1 5 2 2 3 2 2 6 2 3 7 2 4 5 2 4 6 2 5 7 2 6 7 2 0 8 2 8 1 2 0 9 2 9 2 2 0 10 2 10 4 2 1 11 2 11 3 2 1 12 2 12 5 2 2 13 2 13 3 2 2 14 2 14 6 2 3 15 2 15 7 2 4 16 2 16 5 2 4 17 2 17 6 2 5 18 2 18 7 2 6 19 2 19 7 2 10 20 2 20 12 2 8 20 2 20 16 2 8 21 2 21 13 2 9 21 2 21 11 2 9 22 2 22 17 2 10 22 2 22 14 2 11 23 2 23 18 2 12 23 2 23 15 2 14 24 2 24 15 2 13 24 2 24 19 2 16 25 2 25 19 2 17 25 2 25 18 2 26 25 2 21 26 2 26 23 2 22 26 2 26 24 2 20 26 2 0 27 2 27 8 2 8 28 2 28 1 2 0 29 2 29 9 2 9 30 2 30 2 2 0 31 2 31 10 2 10 32 2 32 4 2 1 33 2 33 11 2 11 34 2 34 3 2 1 35 2 35 12 2 12 36 2 36 5 2 2 37 2 37 13 2 13 38 2 38 3 2 2 39 2 39 14 2 14 40 2 40 6 2 3 41 2 41 15 2 15 42 2 42 7 2 4 43 2 43 16 2 16 44 2 44 5 2 4 45 2 45 17 2 17 46 2 46 6 2 5 47 2 47 18 2 18 48 2 48 7 2 6 49 2 49 19 2 19 50 2 50 7 2 10 51 2 51 20 2 20 52 2 52 12 2 8 53 2 53 20 2 20 54 2 54 16 2 8 55 2 55 21 2 21 56 2 56 13 2 9 57 2 57 21 2 21 58 2 58 11 2 9 59 2 59 22 2 22 60 2 60 17 2 10 61 2 61 22 2 22 62 2 62 14 2 11 63 2 63 23 2 23 64 2 64 18 2 12 65 2 65 23 2 23 66 2 66 15 2 14 67 2 67 24 2 24 68 2 68 15 2 13 69 2 69 24 2 24 70 2 70 19 2 16 71 2 71 25 2 25 72 2 72 19 2 17 73 2 73 25 2 25 74 2 74 18 2 26 75 2 75 25 2 21 76 2 76 26 2 26 77 2 77 23 2 22 78 2 78 26 2 26 79 2 79 24 2 20 80 2 80 26 2 31 81 2 81 53 2 27 81 2 81 51 2 32 82 2 82 54 2 51 82 2 82 43 2 53 83 2 83 35 2 28 83 2 83 52 2 54 84 2 84 36 2 52 84 2 84 44 2 27 85 2 85 57 2 29 85 2 85 55 2 28 86 2 86 58 2 55 86 2 86 33 2 57 87 2 87 37 2 30 87 2 87 56 2 58 88 2 88 38 2 56 88 2 88 34 2 29 89 2 89 61 2 31 89 2 89 59 2 30 90 2 90 62 2 59 90 2 90 39 2 61 91 2 91 45 2 32 91 2 91 60 2 62 92 2 92 46 2 60 92 2 92 40 2 33 93 2 93 65 2 35 93 2 93 63 2 34 94 2 94 66 2 63 94 2 94 41 2 65 95 2 95 47 2 36 95 2 95 64 2 66 96 2 96 48 2 64 96 2 96 42 2 39 97 2 97 69 2 37 97 2 97 67 2 40 98 2 98 70 2 67 98 2 98 49 2 69 99 2 99 41 2 38 99 2 99 68 2 70 100 2 100 42 2 68 100 2 100 50 2 43 101 2 101 73 2 45 101 2 101 71 2 44 102 2 102 74 2 71 102 2 102 47 2 73 103 2 103 49 2 46 103 2 103 72 2 74 104 2 104 50 2 72 104 2 104 48 2 77 105 2 105 68 2 79 105 2 105 66 2 78 106 2 106 67 2 62 106 2 106 79 2 52 107 2 107 77 2 80 107 2 107 65 2 51 108 2 108 78 2 61 108 2 108 80 2 75 109 2 109 64 2 77 109 2 109 74 2 76 110 2 110 63 2 58 110 2 110 77 2 60 111 2 111 75 2 78 111 2 111 73 2 59 112 2 112 76 2 57 112 2 112 78 2 79 113 2 113 72 2 75 113 2 113 70 2 80 114 2 114 71 2 54 114 2 114 75 2 56 115 2 115 79 2 76 115 2 115 69 2 55 116 2 116 80 2 53 116 2 116 76 2 124 104 2 105 124 2 124 96 2 113 124 2 124 100 2 109 124 2 123 103 2 106 123 2 123 113 2 92 123 2 123 98 2 111 123 2 122 102 2 107 122 2 122 95 2 114 122 2 122 109 2 84 122 2 121 101 2 108 121 2 121 114 2 91 121 2 121 111 2 82 121 2 120 105 2 88 120 2 120 94 2 115 120 2 120 99 2 110 120 2 119 106 2 87 119 2 119 115 2 90 119 2 119 97 2 112 119 2 118 107 2 86 118 2 118 93 2 116 118 2 118 110 2 83 118 2 117 108 2 85 117 2 117 116 2 89 117 2 117 112 2 81 117 366 0 12 14 16 18 20 22 24 26 28 30 32 34 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100 102 104 106 108 110 112 114 116 118 120 122 124 126 128 130 132 134 136 138 140 142 144 146 148 150 152 154 156 158 160 162 164 166 168 170 172 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 366 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 366 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 366 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 366 0 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 365 0 1 0 0 366 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 125 0 0 0 0 0 3 0 0 0.00000000000000000e+00 0.00000000000000000e+00 0.00000000000000000e+00 3 1.00000000000000000e+00 0.00000000000000000e+00 0.00000000000000000e+00 3 0.00000000000000000e+00 1.00000000000000000e+00 0.00000000000000000e+00 3 1.00000000000000000e+00 1.00000000000000000e+00 0.00000000000000000e+00 3 0.00000000000000000e+00 0.00000000000000000e+00 1.00000000000000000e+00 3 1.00000000000000000e+00 0.00000000000000000e+00 1.00000000000000000e+00 3 0.00000000000000000e+00 1.00000000000000000e+00 1.00000000000000000e+00 3 1.00000000000000000e+00 1.00000000000000000e+00 1.00000000000000000e+00 3 5.00000000000000000e-01 0.00000000000000000e+00 0.00000000000000000e+00 3 0.00000000000000000e+00 5.00000000000000000e-01 0.00000000000000000e+00 3 0.00000000000000000e+00 0.00000000000000000e+00 5.00000000000000000e-01 3 1.00000000000000000e+00 5.00000000000000000e-01 0.00000000000000000e+00 3 1.00000000000000000e+00 0.00000000000000000e+00 5.00000000000000000e-01 3 5.00000000000000000e-01 1.00000000000000000e+00 0.00000000000000000e+00 3 0.00000000000000000e+00 1.00000000000000000e+00 5.00000000000000000e-01 3 1.00000000000000000e+00 1.00000000000000000e+00 5.00000000000000000e-01 3 5.00000000000000000e-01 0.00000000000000000e+00 1.00000000000000000e+00 3 0.00000000000000000e+00 5.00000000000000000e-01 1.00000000000000000e+00 3 1.00000000000000000e+00 5.00000000000000000e-01 1.00000000000000000e+00 3 5.00000000000000000e-01 1.00000000000000000e+00 1.00000000000000000e+00 3 5.00000000000000000e-01 0.00000000000000000e+00 5.00000000000000000e-01 3 5.00000000000000000e-01 5.00000000000000000e-01 0.00000000000000000e+00 3 0.00000000000000000e+00 5.00000000000000000e-01 5.00000000000000000e-01 3 1.00000000000000000e+00 5.00000000000000000e-01 5.00000000000000000e-01 3 5.00000000000000000e-01 1.00000000000000000e+00 5.00000000000000000e-01 3 5.00000000000000000e-01 5.00000000000000000e-01 1.00000000000000000e+00 3 5.00000000000000000e-01 5.00000000000000111e-01 5.00000000000000111e-01 3 2.50000000000000000e-01 0.00000000000000000e+00 0.00000000000000000e+00 3 7.50000000000000000e-01 0.00000000000000000e+00 0.00000000000000000e+00 3 0.00000000000000000e+00 2.50000000000000000e-01 0.00000000000000000e+00 3 0.00000000000000000e+00 7.50000000000000000e-01 0.00000000000000000e+00 3 0.00000000000000000e+00 0.00000000000000000e+00 2.50000000000000000e-01 3 0.00000000000000000e+00 0.00000000000000000e+00 7.50000000000000000e-01 3 1.00000000000000000e+00 2.50000000000000000e-01 0.00000000000000000e+00 3 1.00000000000000000e+00 7.50000000000000000e-01 0.00000000000000000e+00 3 1.00000000000000000e+00 0.00000000000000000e+00 2.50000000000000000e-01 3 1.00000000000000000e+00 0.00000000000000000e+00 7.50000000000000000e-01 3 2.50000000000000000e-01 1.00000000000000000e+00 0.00000000000000000e+00 3 7.50000000000000000e-01 1.00000000000000000e+00 0.00000000000000000e+00 3 0.00000000000000000e+00 1.00000000000000000e+00 2.50000000000000000e-01 3 0.00000000000000000e+00 1.00000000000000000e+00 7.50000000000000000e-01 3 1.00000000000000000e+00 1.00000000000000000e+00 2.50000000000000000e-01 3 1.00000000000000000e+00 1.00000000000000000e+00 7.50000000000000000e-01 3 2.50000000000000000e-01 0.00000000000000000e+00 1.00000000000000000e+00 3 7.50000000000000000e-01 0.00000000000000000e+00 1.00000000000000000e+00 3 0.00000000000000000e+00 2.50000000000000000e-01 1.00000000000000000e+00 3 0.00000000000000000e+00 7.50000000000000000e-01 1.00000000000000000e+00 3 1.00000000000000000e+00 2.50000000000000000e-01 1.00000000000000000e+00 3 1.00000000000000000e+00 7.50000000000000000e-01 1.00000000000000000e+00 3 2.50000000000000000e-01 1.00000000000000000e+00 1.00000000000000000e+00 3 7.50000000000000000e-01 1.00000000000000000e+00 1.00000000000000000e+00 3 2.50000000000000000e-01 0.00000000000000000e+00 5.00000000000000000e-01 3 7.50000000000000000e-01 0.00000000000000000e+00 5.00000000000000000e-01 3 5.00000000000000000e-01 0.00000000000000000e+00 2.50000000000000000e-01 3 5.00000000000000000e-01 0.00000000000000000e+00 7.50000000000000000e-01 3 5.00000000000000000e-01 2.50000000000000000e-01 0.00000000000000000e+00 3 5.00000000000000000e-01 7.50000000000000000e-01 0.00000000000000000e+00 3 2.50000000000000000e-01 5.00000000000000000e-01 0.00000000000000000e+00 3 7.50000000000000000e-01 5.00000000000000000e-01 0.00000000000000000e+00 3 0.00000000000000000e+00 5.00000000000000000e-01 2.50000000000000000e-01 3 0.00000000000000000e+00 5.00000000000000000e-01 7.50000000000000000e-01 3 0.00000000000000000e+00 2.50000000000000000e-01 5.00000000000000000e-01 3 0.00000000000000000e+00 7.50000000000000000e-01 5.00000000000000000e-01 3 1.00000000000000000e+00 5.00000000000000000e-01 2.50000000000000000e-01 3 1.00000000000000000e+00 5.00000000000000000e-01 7.50000000000000000e-01 3 1.00000000000000000e+00 2.50000000000000000e-01 5.00000000000000000e-01 3 1.00000000000000000e+00 7.50000000000000000e-01 5.00000000000000000e-01 3 2.50000000000000000e-01 1.00000000000000000e+00 5.00000000000000000e-01 3 7.50000000000000000e-01 1.00000000000000000e+00 5.00000000000000000e-01 3 5.00000000000000000e-01 1.00000000000000000e+00 2.50000000000000000e-01 3 5.00000000000000000e-01 1.00000000000000000e+00 7.50000000000000000e-01 3 5.00000000000000000e-01 2.50000000000000000e-01 1.00000000000000000e+00 3 5.00000000000000000e-01 7.50000000000000000e-01 1.00000000000000000e+00 3 2.50000000000000000e-01 5.00000000000000000e-01 1.00000000000000000e+00 3 7.50000000000000000e-01 5.00000000000000000e-01 1.00000000000000000e+00 3 5.00000000000000000e-01 5.00000000000000000e-01 7.50000000000000000e-01 3 5.00000000000000000e-01 5.00000000000000000e-01 2.50000000000000056e-01 3 7.50000000000000000e-01 5.00000000000000000e-01 5.00000000000000000e-01 3 2.50000000000000000e-01 5.00000000000000000e-01 5.00000000000000000e-01 3 5.00000000000000000e-01 7.50000000000000000e-01 5.00000000000000000e-01 3 5.00000000000000000e-01 2.50000000000000056e-01 5.00000000000000000e-01 3 2.50000000000000000e-01 0.00000000000000000e+00 2.50000000000000000e-01 3 2.50000000000000000e-01 0.00000000000000000e+00 7.50000000000000000e-01 3 7.50000000000000000e-01 0.00000000000000000e+00 2.50000000000000000e-01 3 7.50000000000000000e-01 0.00000000000000000e+00 7.50000000000000000e-01 3 2.50000000000000000e-01 2.50000000000000000e-01 0.00000000000000000e+00 3 7.50000000000000000e-01 2.50000000000000000e-01 0.00000000000000000e+00 3 2.50000000000000000e-01 7.50000000000000000e-01 0.00000000000000000e+00 3 7.50000000000000000e-01 7.50000000000000000e-01 0.00000000000000000e+00 3 0.00000000000000000e+00 2.50000000000000000e-01 2.50000000000000000e-01 3 0.00000000000000000e+00 7.50000000000000000e-01 2.50000000000000000e-01 3 0.00000000000000000e+00 2.50000000000000000e-01 7.50000000000000000e-01 3 0.00000000000000000e+00 7.50000000000000000e-01 7.50000000000000000e-01 3 1.00000000000000000e+00 2.50000000000000000e-01 2.50000000000000000e-01 3 1.00000000000000000e+00 7.50000000000000000e-01 2.50000000000000000e-01 3 1.00000000000000000e+00 2.50000000000000000e-01 7.50000000000000000e-01 3 1.00000000000000000e+00 7.50000000000000000e-01 7.50000000000000000e-01 3 2.50000000000000000e-01 1.00000000000000000e+00 2.50000000000000000e-01 3 2.50000000000000000e-01 1.00000000000000000e+00 7.50000000000000000e-01 3 7.50000000000000000e-01 1.00000000000000000e+00 2.50000000000000000e-01 3 7.50000000000000000e-01 1.00000000000000000e+00 7.50000000000000000e-01 3 2.50000000000000000e-01 2.50000000000000000e-01 1.00000000000000000e+00 3 7.50000000000000000e-01 2.50000000000000000e-01 1.00000000000000000e+00 3 2.50000000000000000e-01 7.50000000000000000e-01 1.00000000000000000e+00 3 7.50000000000000000e-01 7.50000000000000000e-01 1.00000000000000000e+00 3 7.50000000000000000e-01 7.50000000000000000e-01 5.00000000000000000e-01 3 2.50000000000000000e-01 7.50000000000000000e-01 5.00000000000000000e-01 3 7.50000000000000000e-01 2.50000000000000000e-01 5.00000000000000000e-01 3 2.50000000000000000e-01 2.50000000000000000e-01 5.00000000000000000e-01 3 7.50000000000000000e-01 5.00000000000000000e-01 7.50000000000000000e-01 3 7.50000000000000000e-01 5.00000000000000000e-01 2.50000000000000000e-01 3 2.50000000000000000e-01 5.00000000000000000e-01 7.50000000000000000e-01 3 2.50000000000000000e-01 5.00000000000000000e-01 2.50000000000000000e-01 3 5.00000000000000000e-01 7.50000000000000000e-01 7.50000000000000000e-01 3 5.00000000000000000e-01 2.50000000000000000e-01 7.50000000000000000e-01 3 5.00000000000000000e-01 7.50000000000000000e-01 2.50000000000000000e-01 3 5.00000000000000000e-01 2.50000000000000000e-01 2.50000000000000000e-01 3 2.50000000000000000e-01 2.50000000000000056e-01 2.50000000000000056e-01 3 7.50000000000000000e-01 2.50000000000000056e-01 2.50000000000000056e-01 3 2.50000000000000000e-01 7.50000000000000000e-01 2.50000000000000056e-01 3 7.50000000000000000e-01 7.50000000000000000e-01 2.50000000000000056e-01 3 2.50000000000000000e-01 2.50000000000000056e-01 7.50000000000000000e-01 3 7.50000000000000000e-01 2.50000000000000056e-01 7.50000000000000000e-01 3 2.50000000000000000e-01 7.50000000000000000e-01 7.50000000000000000e-01 3 7.50000000000000000e-01 7.50000000000000000e-01 7.50000000000000000e-01 125 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 3 366 0 0 300 0 0 282 0 0 240 0 0 73 3 0 1 8 64 64 3 0 0 0 64 0
+DEAL:0:3d/3d::0 0 27 3 27
 
+DEAL:0:3d/3d::After serialization particle id 0 is in cell 2.0
+DEAL:0:3d/3d::After serialization particle id 1 is in cell 2.0
+DEAL:0:3d/3d::After serialization particle id 2 is in cell 2.0
+DEAL:0:3d/3d::After serialization particle id 9 is in cell 2.1
+DEAL:0:3d/3d::After serialization particle id 10 is in cell 2.1
+DEAL:0:3d/3d::After serialization particle id 11 is in cell 2.1
+DEAL:0:3d/3d::After serialization particle id 3 is in cell 2.6
+DEAL:0:3d/3d::After serialization particle id 4 is in cell 2.6
+DEAL:0:3d/3d::After serialization particle id 5 is in cell 2.6
+DEAL:0:3d/3d::After serialization particle id 12 is in cell 2.7
+DEAL:0:3d/3d::After serialization particle id 13 is in cell 2.7
+DEAL:0:3d/3d::After serialization particle id 14 is in cell 2.7
+DEAL:0:3d/3d::After serialization particle id 18 is in cell 2.9
+DEAL:0:3d/3d::After serialization particle id 19 is in cell 2.9
+DEAL:0:3d/3d::After serialization particle id 20 is in cell 2.9
+DEAL:0:3d/3d::After serialization particle id 21 is in cell 2.15
+DEAL:0:3d/3d::After serialization particle id 22 is in cell 2.15
+DEAL:0:3d/3d::After serialization particle id 23 is in cell 2.15
+DEAL:0:3d/3d::After serialization particle id 6 is in cell 2.54
+DEAL:0:3d/3d::After serialization particle id 7 is in cell 2.54
+DEAL:0:3d/3d::After serialization particle id 8 is in cell 2.54
+DEAL:0:3d/3d::After serialization particle id 15 is in cell 2.55
+DEAL:0:3d/3d::After serialization particle id 16 is in cell 2.55
+DEAL:0:3d/3d::After serialization particle id 17 is in cell 2.55
+DEAL:0:3d/3d::After serialization particle id 24 is in cell 2.63
+DEAL:0:3d/3d::After serialization particle id 25 is in cell 2.63
+DEAL:0:3d/3d::After serialization particle id 26 is in cell 2.63
+DEAL:0:3d/3d::OK
+DEAL:0:3d/3d::

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.