]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
New function DoFTools::get_active_fe_indices
authorbangerth <bangerth@0785d39b-7218-0410-832d-ea1e28bc413d>
Tue, 7 Aug 2007 18:57:35 +0000 (18:57 +0000)
committerbangerth <bangerth@0785d39b-7218-0410-832d-ea1e28bc413d>
Tue, 7 Aug 2007 18:57:35 +0000 (18:57 +0000)
git-svn-id: https://svn.dealii.org/trunk@14918 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/deal.II/include/dofs/dof_tools.h
deal.II/deal.II/source/dofs/dof_tools.cc
deal.II/doc/news/changes.html
tests/hp/Makefile
tests/hp/get_active_fe_indices.cc [new file with mode: 0644]
tests/hp/get_active_fe_indices/cmp/generic [new file with mode: 0644]

index dfc0dc4e6fe92707f39ddee6e780dea355084084..50197b6e486ddf2508daf9da555d1d6b83d63bef 100644 (file)
@@ -1007,6 +1007,26 @@ class DoFTools
     extract_subdomain_dofs (const DH           &dof_handler,
                            const unsigned int  subdomain_id,
                            std::vector<bool>  &selected_dofs);
+
+                                    /**
+                                     * For each active cell of a DoFHandler
+                                     * or hp::DoFHandler, extract the active
+                                     * finite element index and fill the
+                                     * vector given as second argument. This
+                                     * vector is assumed to have as many
+                                     * entries as there are active cells.
+                                     *
+                                     * For non-hp DoFHandler objects given as
+                                     * first argument, the returned vector
+                                     * will consist of only zeros, indicating
+                                     * that all cells use the same finite
+                                     * element. For a hp::DoFHandler, the
+                                     * values may be different, though.
+                                     */
+    template <class DH>
+    static void
+    get_active_fe_indices (const DH                  &dof_handler,
+                          std::vector<unsigned int> &active_fe_indices);
     
                                      /**
                                       * For each DoF, return in the output
index 4f1901b2d728e2fc91c5f473f438ff077f17167d..7941d4a1411a67e425ef0f3e14f408c3e0b40437 100644 (file)
@@ -3587,6 +3587,25 @@ DoFTools::extract_subdomain_dofs (const DH           &dof_handler,
 
 
 
+    
+template <class DH>
+void
+DoFTools::get_active_fe_indices (const DH                  &dof_handler,
+                                std::vector<unsigned int> &active_fe_indices)
+{
+  Assert (active_fe_indices.size() == dof_handler.get_tria().n_active_cells(),
+         ExcWrongSize (active_fe_indices.size(),
+                       dof_handler.get_tria().n_active_cells()));
+  
+  typename DH::active_cell_iterator
+    cell = dof_handler.begin_active(),
+    endc = dof_handler.end();
+  for (unsigned int index=0; cell!=endc; ++cell, ++index)
+    active_fe_indices[index] = cell->active_fe_index();
+}
+
+
+
 template <class DH>
 void
 DoFTools::get_subdomain_association (const DH                  &dof_handler,
@@ -5505,6 +5524,18 @@ DoFTools::extract_subdomain_dofs<hp::DoFHandler<deal_II_dimension> >
  const unsigned int     subdomain_id,
  std::vector<bool>     &selected_dofs);
 
+template
+void
+DoFTools::get_active_fe_indices<DoFHandler<deal_II_dimension> >
+(const DoFHandler<deal_II_dimension> &dof_handler,
+ std::vector<unsigned int> &active_fe_indices);
+
+template
+void
+DoFTools::get_active_fe_indices<hp::DoFHandler<deal_II_dimension> >
+(const hp::DoFHandler<deal_II_dimension> &dof_handler,
+ std::vector<unsigned int> &active_fe_indices);
+
 template
 void
 DoFTools::get_subdomain_association<DoFHandler<deal_II_dimension> >
index 423144f31a980f3a207a5c86cf52c52190db3cf8..1bcc248b83aa5b796cd1c599c4f03745789be1b9 100644 (file)
@@ -1088,6 +1088,13 @@ inconvenience this causes.
 <h3>deal.II</h3>
 
 <ol>
+   <li> <p>New: the function
+       <code>DoFTools::get_active_fe_indices</code> 
+       extracts for each cell the active finite element index used on it.
+       <br>
+       (WB 2007/08/07)
+       </p>
+
    <li> <p>Extended: the function
        <code>Triangulation::copy_triangulation</code> 
        copies all members of a triangulation except for the list of
index 5ad08217082ef2eb83cbb1c6442c71886a667d79..9bcb96051a37d0075c9492d103a2440db0caace6 100644 (file)
@@ -37,7 +37,8 @@ tests_x = hp_dof_handler \
          interpolate_* \
          hp_constraints_* \
          matrices* \
-         vectors*
+         vectors* \
+         get_active_fe_indices
 
 # from above list of regular expressions, generate the real set of
 # tests
diff --git a/tests/hp/get_active_fe_indices.cc b/tests/hp/get_active_fe_indices.cc
new file mode 100644 (file)
index 0000000..9479223
--- /dev/null
@@ -0,0 +1,82 @@
+//----------------------------  get_active_fe_indices.cc  ---------------------------
+//    $Id$
+//    Version: $Name$ 
+//
+//    Copyright (C) 2005, 2006, 2007 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//----------------------------  get_active_fe_indices.cc  ---------------------------
+
+
+// distribute different finite elements randomly across the domain, then use
+// DoFTools::get_active_fe_indices()
+
+
+#include "../tests.h"
+#include <base/logstream.h>
+#include <grid/tria.h>
+#include <grid/grid_generator.h>
+#include <grid/tria_accessor.h>
+#include <grid/grid_out.h>
+#include <grid/tria_iterator.h>
+#include <hp/dof_handler.h>
+#include <dofs/dof_accessor.h>
+#include <dofs/dof_tools.h>
+#include <fe/fe_q.h>
+
+#include <fstream>
+
+
+
+template <int dim>
+void test ()
+{
+  Triangulation<dim> tria;
+  GridGenerator::hyper_cube(tria);
+  tria.refine_global (2);
+  tria.begin_active()->set_refine_flag ();
+  tria.execute_coarsening_and_refinement ();
+  tria.refine_global (2);  
+
+  hp::FECollection<dim> fe_collection;
+  fe_collection.push_back(FE_Q<dim> (1));
+  fe_collection.push_back(FE_Q<dim> (2));
+  fe_collection.push_back(FE_Q<dim> (3));
+  fe_collection.push_back(FE_Q<dim> (4));
+
+  hp::DoFHandler<dim> dof_handler(tria);
+
+  for (typename hp::DoFHandler<dim>::active_cell_iterator
+        cell = dof_handler.begin_active();
+       cell != dof_handler.end(); ++cell)
+    cell->set_active_fe_index (rand() % fe_collection.size());
+  
+  dof_handler.distribute_dofs(fe_collection);
+
+  std::vector<unsigned int> active_fe_indices (tria.n_active_cells());
+  DoFTools::get_active_fe_indices (dof_handler,
+                                  active_fe_indices);
+  for (unsigned int i=0; i<tria.n_active_cells(); ++i)
+    deallog << active_fe_indices[i] << std::endl;
+}
+
+
+int main ()
+{
+  std::ofstream logfile("get_active_fe_indices/output");
+  logfile.precision(2);
+  
+  deallog.attach(logfile);
+  deallog.depth_console(0);
+  deallog.threshold_double(1.e-10);  
+
+  test<1> ();
+  test<2> ();
+  test<3> ();
+  
+  deallog << "OK" << std::endl;
+}
diff --git a/tests/hp/get_active_fe_indices/cmp/generic b/tests/hp/get_active_fe_indices/cmp/generic
new file mode 100644 (file)
index 0000000..c7870db
--- /dev/null
@@ -0,0 +1,4870 @@
+
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::1
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::3
+DEAL::0
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::3
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::3
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::2
+DEAL::1
+DEAL::2
+DEAL::2
+DEAL::0
+DEAL::3
+DEAL::1
+DEAL::0
+DEAL::2
+DEAL::0
+DEAL::1
+DEAL::0
+DEAL::3
+DEAL::0
+DEAL::1
+DEAL::3
+DEAL::2
+DEAL::0
+DEAL::2
+DEAL::3
+DEAL::2
+DEAL::1
+DEAL::1
+DEAL::OK

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.