From: bangerth Date: Tue, 7 Aug 2007 18:57:35 +0000 (+0000) Subject: New function DoFTools::get_active_fe_indices X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=eb2843cca92e216e862ab6d53e60772266e291c9;p=dealii-svn.git New function DoFTools::get_active_fe_indices git-svn-id: https://svn.dealii.org/trunk@14918 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/deal.II/include/dofs/dof_tools.h b/deal.II/deal.II/include/dofs/dof_tools.h index dfc0dc4e6f..50197b6e48 100644 --- a/deal.II/deal.II/include/dofs/dof_tools.h +++ b/deal.II/deal.II/include/dofs/dof_tools.h @@ -1007,6 +1007,26 @@ class DoFTools extract_subdomain_dofs (const DH &dof_handler, const unsigned int subdomain_id, std::vector &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 + static void + get_active_fe_indices (const DH &dof_handler, + std::vector &active_fe_indices); /** * For each DoF, return in the output diff --git a/deal.II/deal.II/source/dofs/dof_tools.cc b/deal.II/deal.II/source/dofs/dof_tools.cc index 4f1901b2d7..7941d4a141 100644 --- a/deal.II/deal.II/source/dofs/dof_tools.cc +++ b/deal.II/deal.II/source/dofs/dof_tools.cc @@ -3587,6 +3587,25 @@ DoFTools::extract_subdomain_dofs (const DH &dof_handler, + +template +void +DoFTools::get_active_fe_indices (const DH &dof_handler, + std::vector &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 void DoFTools::get_subdomain_association (const DH &dof_handler, @@ -5505,6 +5524,18 @@ DoFTools::extract_subdomain_dofs > const unsigned int subdomain_id, std::vector &selected_dofs); +template +void +DoFTools::get_active_fe_indices > +(const DoFHandler &dof_handler, + std::vector &active_fe_indices); + +template +void +DoFTools::get_active_fe_indices > +(const hp::DoFHandler &dof_handler, + std::vector &active_fe_indices); + template void DoFTools::get_subdomain_association > diff --git a/deal.II/doc/news/changes.html b/deal.II/doc/news/changes.html index 423144f31a..1bcc248b83 100644 --- a/deal.II/doc/news/changes.html +++ b/deal.II/doc/news/changes.html @@ -1088,6 +1088,13 @@ inconvenience this causes.

deal.II

    +
  1. New: the function + DoFTools::get_active_fe_indices + extracts for each cell the active finite element index used on it. +
    + (WB 2007/08/07) +

    +
  2. Extended: the function Triangulation::copy_triangulation copies all members of a triangulation except for the list of diff --git a/tests/hp/Makefile b/tests/hp/Makefile index 5ad0821708..9bcb96051a 100644 --- a/tests/hp/Makefile +++ b/tests/hp/Makefile @@ -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 index 0000000000..9479223d21 --- /dev/null +++ b/tests/hp/get_active_fe_indices.cc @@ -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 +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + + + +template +void test () +{ + Triangulation 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 fe_collection; + fe_collection.push_back(FE_Q (1)); + fe_collection.push_back(FE_Q (2)); + fe_collection.push_back(FE_Q (3)); + fe_collection.push_back(FE_Q (4)); + + hp::DoFHandler dof_handler(tria); + + for (typename hp::DoFHandler::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 active_fe_indices (tria.n_active_cells()); + DoFTools::get_active_fe_indices (dof_handler, + active_fe_indices); + for (unsigned int i=0; i (); + 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 index 0000000000..c7870db901 --- /dev/null +++ b/tests/hp/get_active_fe_indices/cmp/generic @@ -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