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
+
+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,
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> >
<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
interpolate_* \
hp_constraints_* \
matrices* \
- vectors*
+ vectors* \
+ get_active_fe_indices
# from above list of regular expressions, generate the real set of
# tests
--- /dev/null
+//---------------------------- 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;
+}
--- /dev/null
+
+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