]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Implement VectorTools::compute_no_normal_flux_constraints.
authorWolfgang Bangerth <bangerth@math.tamu.edu>
Wed, 23 Jan 2008 23:42:30 +0000 (23:42 +0000)
committerWolfgang Bangerth <bangerth@math.tamu.edu>
Wed, 23 Jan 2008 23:42:30 +0000 (23:42 +0000)
git-svn-id: https://svn.dealii.org/trunk@15654 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/deal.II/include/numerics/vectors.h
deal.II/deal.II/include/numerics/vectors.templates.h
deal.II/deal.II/source/numerics/vectors.cc
deal.II/doc/news/changes.h
tests/deal.II/Makefile
tests/deal.II/no_flux_01.cc [new file with mode: 0644]
tests/deal.II/no_flux_01/cmp/generic [new file with mode: 0644]
tests/deal.II/no_flux_02.cc [new file with mode: 0644]
tests/deal.II/no_flux_02/cmp/generic [new file with mode: 0644]

index 5273ed4b13e407b3d26ec7294440596fe58cf648..4d229dbf4add3e06ad23c1b8b48e4a5e31aa1335 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -18,6 +18,8 @@
 #include <base/exceptions.h>
 #include <base/quadrature_lib.h>
 #include <dofs/function_map.h>
+#include <fe/mapping_q1.h>
+
 #include <map>
 #include <vector>
 #include <set>
@@ -326,7 +328,8 @@ class VectorTools
                                      *  following possibilities are
                                      *  implemented:
                                     */
-    enum NormType {
+    enum NormType
+    {
                                           /**
                                            * The function or
                                            * difference of functions
@@ -716,6 +719,262 @@ class VectorTools
                                         const Quadrature<dim-1>  &q,
                                         std::map<unsigned int,double> &boundary_values);
 
+
+                                    /**
+                                     * Compute the constraints that
+                                     * correspond to boundary conditions of
+                                     * the form $\vec n \cdot \vec u=0$,
+                                     * i.e. no normal flux if $\vec u$ is a
+                                     * vector-valued quantity. These
+                                     * conditions have exactly the form
+                                     * handled by the ConstraintMatrix class,
+                                     * so instead of creating a map between
+                                     * boundary degrees of freedom and
+                                     * corresponding value, we here create a
+                                     * list of constraints that are written
+                                     * into a ConstraintMatrix. This object
+                                     * may already have some content, for
+                                     * example from hanging node constraints,
+                                     * that remains untouched. These
+                                     * constraints have to be applied to the
+                                     * linear system like any other such
+                                     * constraints, i.e. you have to condense
+                                     * the linear system with the constraints
+                                     * before solving, and you have to
+                                     * distribute the solution vector
+                                     * afterwards.
+                                     *
+                                     * The use of this function is
+                                     * explained in more detail in
+                                     * @ref step_22 "step-22". It
+                                     * doesn't make much sense in 1d,
+                                     * so the function throws an
+                                     * exception in that case.
+                                     *
+                                     * The second argument of this function
+                                     * denotes the first vector component in
+                                     * the finite element that corresponds to
+                                     * the vector function that you want to
+                                     * constrain. For example, if we were
+                                     * solving a Stokes equation in 2d and
+                                     * the finite element had components
+                                     * $(u,v,p)$, then @p
+                                     * first_vector_component would be
+                                     * zero. On the other hand, if we solved
+                                     * the Maxwell equations in 3d and the
+                                     * finite element has components
+                                     * $(E_x,E_y,E_z,B_x,B_y,B_z)$ and we
+                                     * want the boundary condition $\vec
+                                     * n\cdot \vec B=0$, then @p
+                                     * first_vector_component would be
+                                     * 3. Vectors are implicitly assumed to
+                                     * have exactly <code>dim</code>
+                                     * components that are ordered in the
+                                     * same way as we usually order the
+                                     * coordinate directions, i.e. $x$-,
+                                     * $y$-, and finally $z$-component.
+                                     *
+                                     * The third argument denotes the set of
+                                     * boundary indicators on which the
+                                     * boundary condition is to be
+                                     * enforced. Note that, as explained
+                                     * below, this is one of the few
+                                     * functions where it makes a difference
+                                     * where we call the function multiple
+                                     * times with only one boundary
+                                     * indicator, or whether we call the
+                                     * function onces with the whole set of
+                                     * boundary indicators at once.
+                                     *
+                                     * The last argument is denoted to
+                                     * compute the normal vector $\vec n$ at
+                                     * the boundary points.
+                                     *
+                                     *
+                                     * <h4>Computing constraints in 2d</h4>
+                                     *
+                                     * Computing these constraints requires
+                                     * some smarts. The main question
+                                     * revolves around the question what the
+                                     * normal vector is. Consider the
+                                     * following situation:
+                                     * <p ALIGN="center">
+                                     * @image html no_normal_flux_1.png
+                                     * </p>
+                                     *
+                                     * Here, we have two cells that use a
+                                     * bilinear mapping
+                                     * (i.e. MappingQ1). Consequently, for
+                                     * each of the cells, the normal vector
+                                     * is perpendicular to the straight
+                                     * edge. If the two edges at the top and
+                                     * right are meant to approximate a
+                                     * curved boundary (as indicated by the
+                                     * dashed line), then neither of the two
+                                     * computed normal vectors are equal to
+                                     * the exact normal vector (though they
+                                     * approximate it as the mesh is refined
+                                     * further). What is worse, if we
+                                     * constrain $\vec n \cdot \vec u=0$ at
+                                     * the common vertex with the normal
+                                     * vector from both cells, then we
+                                     * constrain the vector $\vec u$ with
+                                     * respect to two linearly independent
+                                     * vectors; consequently, the constraint
+                                     * would be $\vec u=0$ at this point
+                                     * (i.e. <i>all</i> components of the
+                                     * vector), which is not what we wanted.
+                                     *
+                                     * To deal with this situation, the
+                                     * algorithm works in the following way:
+                                     * at each point where we want to
+                                     * constrain $\vec u$, we first collect
+                                     * all normal vectors that adjacent cells
+                                     * might compute at this point. We then
+                                     * do not constrain $\vec n \cdot \vec
+                                     * u=0$ for <i>each</i> of these normal
+                                     * vectors but only for the
+                                     * <i>average</i> of the normal
+                                     * vectors. In the example above, we
+                                     * therefore record only a single
+                                     * constraint $\vec n \cdot \vec {\bar
+                                     * u}=0$, where $\vec {\bar u}$ is the
+                                     * average of the two indicated normal
+                                     * vectors.
+                                     *
+                                     * Unfortunately, this is not quite
+                                     * enough. Consider the situation here:
+                                     *
+                                     * <p ALIGN="center">
+                                     * @image html no_normal_flux_2.png
+                                     * </p>
+                                     *
+                                     * If again the top and right edges
+                                     * approximate a curved boundary, and the
+                                     * left boundary a separate boundary (for
+                                     * example straight) so that the exact
+                                     * boundary has indeed a corner at the
+                                     * top left vertex, then the above
+                                     * construction would not work: here, we
+                                     * indeed want the constraint that $\vec
+                                     * u$ at this point (because the normal
+                                     * velocities with respect to both the
+                                     * left normal as well as the top normal
+                                     * vector should be zero), not that the
+                                     * velocity in the direction of the
+                                     * average normal vector is zero.
+                                     *
+                                     * Consequently, we use the following
+                                     * heuristic to determine whether all
+                                     * normal vectors computed at one point
+                                     * are to be averaged: if two normal
+                                     * vectors for the same point are
+                                     * computed on <i>different</i> cells,
+                                     * then they are to be averaged. This
+                                     * covers the first example above. If
+                                     * they are computed from the same cell,
+                                     * then the fact that they are different
+                                     * is considered indication that they
+                                     * come from different parts of the
+                                     * boundary that might be joined by a
+                                     * real corner, and must not be averaged.
+                                     *
+                                     * There is one problem with this
+                                     * scheme. If, for example, the same
+                                     * domain we have considered above, is
+                                     * discretized with the following mesh,
+                                     * then we get into trouble:
+                                     *
+                                     * <p ALIGN="center">
+                                     * @image html no_normal_flux_2.png
+                                     * </p>
+                                     *
+                                     * Here, the algorithm assumes that the
+                                     * boundary does not have a corner at the
+                                     * point where faces $F1$ and $F2$ join
+                                     * because at that point there are two
+                                     * different normal vectors computed from
+                                     * different cells. If you intend for
+                                     * there to be a corner of the exact
+                                     * boundary at this point, the only way
+                                     * to deal with this is to assign the two
+                                     * parts of the boundary different
+                                     * boundary indicators and call this
+                                     * function twice, once for each boundary
+                                     * indicators; doing so will yield only
+                                     * one normal vector at this point per
+                                     * invocation (because we consider only
+                                     * one boundary part at a time), with the
+                                     * result that the normal vectors will
+                                     * not be averaged.
+                                     *
+                                     *
+                                     * <h4>Computing constraints in 3d</h4>
+                                     *
+                                     * The situation is more
+                                     * complicated in 3d. Consider
+                                     * the following case where we
+                                     * want to compute the
+                                     * constraints at the marked
+                                     * vertex:
+                                     *
+                                     * <p ALIGN="center">
+                                     * @image html no_normal_flux_4.png
+                                     * </p>
+                                     *
+                                     * Here, we get four different
+                                     * normal vectors, one from each
+                                     * of the four faces that meet at
+                                     * the vertex. Even though they
+                                     * may form a complete set of
+                                     * vectors, it is not our intent
+                                     * to constrain all components of
+                                     * the vector field at this
+                                     * point. Rather, we would like
+                                     * to still allow tangential
+                                     * flow, where the term
+                                     * "tangential" has to be
+                                     * suitably defined.
+                                     *
+                                     * In a case like this, the
+                                     * algorithm proceeds as follows:
+                                     * for each cell that has
+                                     * computed two tangential
+                                     * vectors at this point, we
+                                     * compute the unconstrained
+                                     * direction as the outer product
+                                     * of the two tangential vectors
+                                     * (if necessary multiplied by
+                                     * minus one). We then average
+                                     * these tangential
+                                     * vectors. Finally, we compute
+                                     * constraints for the two
+                                     * directions perpendicular to
+                                     * this averaged tangential
+                                     * direction.
+                                     *
+                                     * There are cases where one cell
+                                     * contributes two tangential
+                                     * directions and another one
+                                     * only one; for example, this
+                                     * would happen if both top and
+                                     * front faces of the left cell
+                                     * belong to the boundary
+                                     * selected whereas only the top
+                                     * face of the right cell belongs
+                                     * to it. This case is not
+                                     * currently implemented.
+                                     */
+    template <int dim, template <int> class DH>
+    static
+    void
+    compute_no_normal_flux_constraints (const DH<dim>         &dof_handler,
+                                       const unsigned int     first_vector_component,
+                                       const std::set<unsigned char> &boundary_ids,
+                                       ConstraintMatrix      &constraints,
+                                       const Mapping<dim>    &mapping = StaticMappingQ1<dim>::mapping);
+    
+    
                                     //@}
                                     /**
                                      * @name Assembling of right hand sides
index 773d2b0d76bfe7fa7ebf7a4b8fae79e7463c3df2..3c071a17e61beaaa3957feca6507884a1adcf20a 100644 (file)
@@ -42,6 +42,7 @@
 #include <algorithm>
 #include <vector>
 #include <cmath>
+#include <limits>
 
 DEAL_II_NAMESPACE_OPEN
 
@@ -1824,6 +1825,752 @@ VectorTools::project_boundary_values (const DoFHandler<dim>    &dof,
 
 
 
+namespace internal
+{
+  namespace VectorTools
+  {
+                                    /**
+                                     * A structure that stores the dim DoF
+                                     * indices that correspond to a
+                                     * vector-valued quantity at a single
+                                     * support point.
+                                     */
+    template <int dim>
+    struct VectorDoFTuple
+    {
+       unsigned int dof_indices[dim];
+
+       bool operator < (const VectorDoFTuple<dim> &other) const
+         {
+           for (unsigned int i=0; i<dim; ++i)
+             if (dof_indices[i] < other.dof_indices[i])
+               return true;
+             else
+               if (dof_indices[i] > other.dof_indices[i])
+                 return false;
+           return false;
+         }
+
+       bool operator == (const VectorDoFTuple<dim> &other) const
+         {
+           for (unsigned int i=0; i<dim; ++i)
+             if (dof_indices[i] != other.dof_indices[i])
+               return false;
+
+           return true;
+         }
+
+       bool operator != (const VectorDoFTuple<dim> &other) const
+         {
+           return ! (*this == other);
+         }
+    };
+
+
+
+                                    /**
+                                     * Add the constraint
+                                     * $\vec n \cdot \vec u = 0$
+                                     * to the list of constraints.
+                                     *
+                                     * Here, $\vec u$ is represented
+                                     * by the set of given DoF
+                                     * indices, and $\vec n$ by the
+                                     * vector specified as the second
+                                     * argument.
+                                     */
+    template <int dim>
+    void
+    add_constraint (const VectorDoFTuple<dim> &dof_indices,
+                   const Tensor<1,dim>       &constraining_vector,
+                   ConstraintMatrix          &constraints)
+    {      
+                                      // choose the DoF that has the
+                                      // largest component in the
+                                      // constraining_vector as the
+                                      // one to be constrained as
+                                      // this makes the process
+                                      // stable in cases where the
+                                      // constraining_vector has the
+                                      // form n=(1,0) or n=(0,1)
+                                      //
+                                      // we get constraints of the form
+                                      //   x0 = a_1*x1 + a2*x2 + ...
+                                      // if one of the weights is
+                                      // essentially zero then skip
+                                      // this part. the ConstraintMatrix
+                                      // can also deal with cases like
+                                      //   x0 = 0
+                                      // if necessary
+      switch (dim)
+       {
+         case 2:
+         {
+           if (std::fabs(constraining_vector[0]) > std::fabs(constraining_vector[1]))
+             {
+               constraints.add_line (dof_indices.dof_indices[0]);
+
+               if (std::fabs (constraining_vector[1]/constraining_vector[0])
+                   > std::numeric_limits<double>::epsilon())
+                 constraints.add_entry (dof_indices.dof_indices[0],
+                                        dof_indices.dof_indices[1],
+                                        -constraining_vector[1]/constraining_vector[0]);
+             }
+           else
+             {
+               constraints.add_line (dof_indices.dof_indices[1]);
+
+               if (std::fabs (constraining_vector[0]/constraining_vector[1])
+                   > std::numeric_limits<double>::epsilon())
+                 constraints.add_entry (dof_indices.dof_indices[1],
+                                        dof_indices.dof_indices[0],
+                                        -constraining_vector[0]/constraining_vector[1]);
+             }
+           break;
+         }
+
+         case 3:
+         {
+           if ((std::fabs(constraining_vector[0]) >= std::fabs(constraining_vector[1]))
+               &&
+               (std::fabs(constraining_vector[0]) >= std::fabs(constraining_vector[2])))
+             {
+               constraints.add_line (dof_indices.dof_indices[0]);
+               
+               if (std::fabs (constraining_vector[1]/constraining_vector[0])
+                   > std::numeric_limits<double>::epsilon())
+                 constraints.add_entry (dof_indices.dof_indices[0],
+                                        dof_indices.dof_indices[1],
+                                        -constraining_vector[1]/constraining_vector[0]);
+
+               if (std::fabs (constraining_vector[2]/constraining_vector[0])
+                   > std::numeric_limits<double>::epsilon())
+                 constraints.add_entry (dof_indices.dof_indices[0],
+                                        dof_indices.dof_indices[2],
+                                        -constraining_vector[2]/constraining_vector[0]);
+             }
+           else
+             if ((std::fabs(constraining_vector[1]) >= std::fabs(constraining_vector[0]))
+                 &&
+                 (std::fabs(constraining_vector[1]) >= std::fabs(constraining_vector[2])))
+               {
+                 constraints.add_line (dof_indices.dof_indices[1]);
+
+                 if (std::fabs (constraining_vector[0]/constraining_vector[1])
+                     > std::numeric_limits<double>::epsilon())
+                   constraints.add_entry (dof_indices.dof_indices[1],
+                                          dof_indices.dof_indices[0],
+                                          -constraining_vector[0]/constraining_vector[1]);
+
+                 if (std::fabs (constraining_vector[2]/constraining_vector[1])
+                     > std::numeric_limits<double>::epsilon())
+                   constraints.add_entry (dof_indices.dof_indices[1],
+                                          dof_indices.dof_indices[2],
+                                          -constraining_vector[2]/constraining_vector[1]);
+               }
+             else
+               {
+                 constraints.add_line (dof_indices.dof_indices[2]);
+
+                 if (std::fabs (constraining_vector[0]/constraining_vector[2])
+                     > std::numeric_limits<double>::epsilon())
+                   constraints.add_entry (dof_indices.dof_indices[2],
+                                          dof_indices.dof_indices[0],
+                                          -constraining_vector[0]/constraining_vector[2]);
+
+                 if (std::fabs (constraining_vector[1]/constraining_vector[2])
+                     > std::numeric_limits<double>::epsilon())
+                   constraints.add_entry (dof_indices.dof_indices[2],
+                                          dof_indices.dof_indices[1],
+                                          -constraining_vector[1]/constraining_vector[2]);
+               }
+           
+           break;
+         }
+
+         default:
+               Assert (false, ExcNotImplemented());
+       }
+      
+    }
+
+
+
+                                    /**
+                                     * Given a vector, compute a set
+                                     * of dim-1 vectors that are
+                                     * orthogonal to the first one
+                                     * and mutually orthonormal as
+                                     * well.
+                                     */
+    template <int dim>
+    void
+    compute_orthonormal_vectors (const Tensor<1,dim> &vector,
+                                Tensor<1,dim> (&orthonormals)[dim-1])
+    {      
+      switch (dim)
+       {
+         case 3:
+         {
+                                            // to do this in 3d, take
+                                            // one vector that is
+                                            // guaranteed to be not
+                                            // aligned with the
+                                            // average tangent and
+                                            // form the cross
+                                            // product. this yields
+                                            // one vector that is
+                                            // certainly
+                                            // perpendicular to the
+                                            // tangent; then take the
+                                            // cross product between
+                                            // this vector and the
+                                            // tangent and get one
+                                            // vector that is
+                                            // perpendicular to both
+
+                                            // construct a
+                                            // temporary vector
+                                            // by swapping the
+                                            // larger two
+                                            // components and
+                                            // flipping one
+                                            // sign; this can
+                                            // not be collinear
+                                            // with the average
+                                            // tangent
+           Tensor<1,dim> tmp = vector;
+           if ((std::fabs(tmp[0]) > std::fabs(tmp[1]))
+               &&
+               (std::fabs(tmp[0]) > std::fabs(tmp[2])))
+             {
+                                                // entry zero
+                                                // is the
+                                                // largest
+               if ((std::fabs(tmp[1]) > std::fabs(tmp[2])))
+                 std::swap (tmp[0], tmp[1]);
+               else
+                 std::swap (tmp[0], tmp[2]);
+
+               tmp[0] *= -1;
+             }
+           else if ((std::fabs(tmp[1]) > std::fabs(tmp[0]))
+                    &&
+                    (std::fabs(tmp[1]) > std::fabs(tmp[2])))
+             {
+                                                // entry one
+                                                // is the
+                                                // largest
+               if ((std::fabs(tmp[0]) > std::fabs(tmp[2])))
+                 std::swap (tmp[1], tmp[0]);
+               else
+                 std::swap (tmp[1], tmp[2]);
+
+               tmp[1] *= -1;
+             }
+           else
+             {
+                                                // entry two
+                                                // is the
+                                                // largest
+               if ((std::fabs(tmp[0]) > std::fabs(tmp[1])))
+                 std::swap (tmp[2], tmp[0]);
+               else
+                 std::swap (tmp[2], tmp[1]);
+
+               tmp[2] *= -1;
+             }
+
+           Assert (std::fabs(vector * tmp) < 1e-12,
+                   ExcInternalError());
+
+                                            // now compute the
+                                            // two normals
+           cross_product (orthonormals[0], vector, tmp);
+           cross_product (orthonormals[1], vector, orthonormals[0]);
+
+           break;
+         }
+
+         default:
+               Assert (false, ExcNotImplemented());
+       }      
+    }
+    
+  }
+}
+
+
+
+template <int dim, template <int> class DH>
+void
+VectorTools::compute_no_normal_flux_constraints (const DH<dim>         &dof_handler,
+                                                const unsigned int     first_vector_component,
+                                                const std::set<unsigned char> &boundary_ids,
+                                                ConstraintMatrix      &constraints,
+                                                const Mapping<dim>    &mapping)
+{
+  Assert (dim > 1,
+         ExcMessage ("This function is not useful in 1d because it amounts "
+                     "to imposing Dirichlet values on the vector-valued "
+                     "quantity."));
+         
+  const FiniteElement<dim> &fe = dof_handler.get_fe();
+
+  std::vector<unsigned int> face_dofs (fe.dofs_per_face);
+  std::vector<Point<dim> >  dof_locations  (fe.dofs_per_face);
+
+                                  // have a map that stores normal vectors
+                                  // for each vector-dof tuple we want to
+                                  // constrain. since we can get at the same
+                                  // vector dof tuple more than once (for
+                                  // example if it is located at a vertex
+                                  // that we visit from all adjacent cells),
+                                  // we will want to average later on the
+                                  // normal vectors computed on different
+                                  // cells as described in the documentation
+                                  // of this function. however, we can only
+                                  // average if the contributions came from
+                                  // different cells, whereas we want to
+                                  // constrain twice or more in case the
+                                  // contributions came from different faces
+                                  // of the same cell. consequently, we also
+                                  // have to store which cell a normal vector
+                                  // was computed on
+  typedef 
+    std::multimap<internal::VectorTools::VectorDoFTuple<dim>,
+    std::pair<Tensor<1,dim>, typename DH<dim>::active_cell_iterator> >
+    DoFToNormalsMap;
+
+  DoFToNormalsMap dof_to_normals_map;
+
+                                  // now loop over all cells and all faces
+  typename DH<dim>::active_cell_iterator
+    cell = dof_handler.begin_active(),
+    endc = dof_handler.end();
+  for (; cell!=endc; ++cell)
+    for (unsigned int face_no=0; face_no < GeometryInfo<dim>::faces_per_cell;
+        ++face_no)
+      if (boundary_ids.find(cell->face(face_no)->boundary_indicator())
+         != boundary_ids.end())
+       {
+         typename DH<dim>::face_iterator face = cell->face(face_no);
+
+                                          // get the indices of the
+                                          // dofs on this cell...
+         face->get_dof_indices (face_dofs, cell->active_fe_index());
+
+                                          // ...and the normal
+                                          // vectors at the locations
+                                          // where they are defined:
+         const std::vector<Point<dim-1> > &
+           unit_support_points = fe.get_unit_face_support_points();  
+         Quadrature<dim-1> aux_quad (unit_support_points);
+         FEFaceValues<dim> fe_values (mapping, fe, aux_quad,
+                                      update_normal_vectors);
+         fe_values.reinit(cell, face_no);
+
+                                          // then identify which of
+                                          // them correspond to the
+                                          // selected set of vector
+                                          // components
+         for (unsigned int i=0; i<face_dofs.size(); ++i)
+           if (fe.face_system_to_component_index(i).first ==
+               first_vector_component)
+             {
+                                                // find corresponding other
+                                                // components of vector
+               internal::VectorTools::VectorDoFTuple<dim> vector_dofs;
+               vector_dofs.dof_indices[0] = face_dofs[i];
+               
+               for (unsigned int k=0; k<fe.dofs_per_face; ++k)
+                 if ((k != i)
+                     &&
+                     (unit_support_points[k] == unit_support_points[i])
+                     &&
+                     (fe.face_system_to_component_index(k).first >=
+                     first_vector_component)
+                     &&
+                     (fe.face_system_to_component_index(k).first <
+                      first_vector_component + dim))
+                   vector_dofs.dof_indices[fe.face_system_to_component_index(k).first]
+                     = face_dofs[k];
+
+                                                // and enter the
+                                                // (dofs,(normal_vector,cell))
+                                                // entry into the map
+               dof_to_normals_map
+                 .insert (std::make_pair (vector_dofs,
+                                          std::make_pair (fe_values.normal_vector(i),
+                                                          cell)));
+             }
+       }
+
+                                  // Now do something with the
+                                  // collected information. To this
+                                  // end, loop through all sets of
+                                  // pairs (dofs,normal_vector) and
+                                  // identify which entries belong to
+                                  // the same set of dofs and then do
+                                  // as described in the
+                                  // documentation, i.e. either
+                                  // average the normal vector or
+                                  // don't for this particular set of
+                                  // dofs
+  typename DoFToNormalsMap::const_iterator
+    p = dof_to_normals_map.begin();
+  
+  while (p != dof_to_normals_map.end())
+    {
+                                      // first find the range of entries in
+                                      // the multimap that corresponds to the
+                                      // same vector-dof tuple. as usual, we
+                                      // define the range half-open. the
+                                      // first entry of course is 'p'
+      typename DoFToNormalsMap::const_iterator same_dof_range[2]
+       = { p };
+      for (++p; p != dof_to_normals_map.end(); ++p)
+       if (p->first != same_dof_range[0]->first)
+         {
+           same_dof_range[1] = p;
+           break;
+         }
+      if (p == dof_to_normals_map.end())
+       same_dof_range[1] = dof_to_normals_map.end();
+
+                                      // now compute the reverse mapping: for
+                                      // each of the cells that contributed
+                                      // to the current set of vector dofs,
+                                      // add up the normal vectors. the
+                                      // values of the map are pairs of
+                                      // normal vectors and number of cells
+                                      // that have contributed
+      typedef
+       std::map
+       <typename DH<dim>::active_cell_iterator,
+       std::pair<Tensor<1,dim>, unsigned int> >
+       CellToNormalsMap;
+
+      CellToNormalsMap cell_to_normals_map;
+      for (typename DoFToNormalsMap::const_iterator
+            q = same_dof_range[0];
+          q != same_dof_range[1]; ++q)
+       if (cell_to_normals_map.find (q->second.second)
+           == cell_to_normals_map.end())
+         cell_to_normals_map[q->second.second]
+           = std::make_pair (q->second.first, 1U);
+       else
+         {
+           const Tensor<1,dim> old_normal
+             = cell_to_normals_map[q->second.second].first;
+           const unsigned int old_count
+             = cell_to_normals_map[q->second.second].second;
+
+           Assert (old_count > 0, ExcInternalError());
+
+                                            // in the same entry,
+                                            // store again the now
+                                            // averaged normal vector
+                                            // and the new count
+           cell_to_normals_map[q->second.second]
+             = std::make_pair ((old_normal * old_count + q->second.first) / (old_count + 1),
+                               old_count + 1);
+         }
+
+      Assert (cell_to_normals_map.size() >= 1, ExcInternalError());
+
+                                      // count the maximum number of
+                                      // contributions from each cell
+      unsigned int max_n_contributions_per_cell = 1;
+      for (typename CellToNormalsMap::const_iterator
+            x = cell_to_normals_map.begin();
+          x != cell_to_normals_map.end(); ++x)
+       max_n_contributions_per_cell
+         = std::max (max_n_contributions_per_cell,
+                     x->second.second);
+
+                                      // verify that each cell can have only
+                                      // contributed at most dim times, since
+                                      // that is the maximum number of faces
+                                      // that come together at a single place
+      Assert (max_n_contributions_per_cell <= dim, ExcInternalError());
+
+      switch (max_n_contributions_per_cell)
+       {
+                                          // first deal with the case that a
+                                          // number of cells all have
+                                          // registered that they have a
+                                          // normal vector defined at the
+                                          // location of a given vector dof,
+                                          // and that each of them have
+                                          // encountered this vector dof
+                                          // exactly once while looping over
+                                          // all their faces. as stated in
+                                          // the documentation, this is the
+                                          // case where we want to simply
+                                          // average over all normal vectors
+         case 1:
+         {
+           
+                                            // compute the average
+                                            // normal vector from all
+                                            // the ones that have the
+                                            // same set of dofs. we
+                                            // could add them up and
+                                            // divide them by the
+                                            // number of additions,
+                                            // or simply normalize
+                                            // them right away since
+                                            // we want them to have
+                                            // unit length anyway
+           Tensor<1,dim> normal;
+           for (typename CellToNormalsMap::const_iterator
+                  x = cell_to_normals_map.begin();
+                x != cell_to_normals_map.end(); ++x)
+             normal += x->second.first;
+           normal /= normal.norm();        
+           
+                                            // then construct constraints
+                                            // from this:
+           const internal::VectorTools::VectorDoFTuple<dim> &
+               dof_indices = same_dof_range[0]->first;     
+           internal::VectorTools::add_constraint (dof_indices, normal,
+                                                  constraints);
+
+           break;
+         }
+
+
+                                          // this is the slightly
+                                          // more complicated case
+                                          // that a single cell has
+                                          // contributed with exactly
+                                          // DIM normal vectors to
+                                          // the same set of vector
+                                          // dofs. this is what
+                                          // happens in a corner in
+                                          // 2d and 3d (but not on an
+                                          // edge in 3d, where we
+                                          // have only 2, i.e. <DIM,
+                                          // contributions. Here we
+                                          // do not want to average
+                                          // the normal
+                                          // vectors. Since we have
+                                          // DIM contributions, let's
+                                          // assume (and verify) that
+                                          // they are in fact all
+                                          // linearly independent; in
+                                          // that case, all vector
+                                          // components are
+                                          // constrained and we need
+                                          // to set them to zero
+         case dim:
+         {
+                                            // assert that indeed
+                                            // only a single cell has
+                                            // contributed
+           Assert (cell_to_normals_map.size() == 1,
+                   ExcInternalError());
+
+                                            // check linear
+                                            // independence by
+                                            // computing the
+                                            // determinant of the
+                                            // matrix created from
+                                            // all the normal
+                                            // vectors. if they are
+                                            // linearly independent,
+                                            // then the determinant
+                                            // is nonzero. if they
+                                            // are orthogonal, then
+                                            // the matrix is in fact
+                                            // equal to 1 (since they
+                                            // are all unit vectors);
+                                            // make sure the
+                                            // determinant is larger
+                                            // than 1e-3 to avoid
+                                            // cases where cells are
+                                            // degenerate
+           {
+             Tensor<2,dim> t;
+
+             typename DoFToNormalsMap::const_iterator x = same_dof_range[0];
+             for (unsigned int i=0; i<dim; ++i, ++x)
+               for (unsigned int j=0; j<dim; ++j)
+                 t[i][j] = x->second.first[j];
+             
+             Assert (std::fabs(determinant (t)) > 1e-3,
+                     ExcMessage("Found a set of normal vectors that are nearly collinear."));
+           }
+           
+                                            // so all components of
+                                            // this vector dof are
+                                            // constrained. enter
+                                            // this into the
+                                            // constraint matrix
+           for (unsigned int i=0; i<dim; ++i)
+             {
+               constraints.add_line (same_dof_range[0]->first.dof_indices[i]);
+                                                // no add_entries here
+             }
+
+           break;
+         }
+         
+
+                                          // this is the case of an
+                                          // edge contribution in 3d,
+                                          // i.e. the vector is
+                                          // constrained in two
+                                          // directions but not the
+                                          // third.
+         default:
+         {
+           Assert (dim >= 3, ExcNotImplemented());
+           Assert (max_n_contributions_per_cell == 2, ExcInternalError());
+
+                                            // as described in the
+                                            // documentation, let us
+                                            // first collect what
+                                            // each of the cells
+                                            // contributed at the
+                                            // current point. we use
+                                            // a std::list instead of
+                                            // a std::set (which
+                                            // would be more natural)
+                                            // because std::set
+                                            // requires that the
+                                            // stored elements are
+                                            // comparable with
+                                            // operator<
+           typedef
+             std::map<typename DH<dim>::active_cell_iterator, std::list<Tensor<1,dim> > >
+             CellContributions;
+           CellContributions cell_contributions;
+
+           for (typename DoFToNormalsMap::const_iterator
+                  q = same_dof_range[0];
+                q != same_dof_range[1]; ++q)
+             cell_contributions[q->second.second].push_back (q->second.first);
+           Assert (cell_contributions.size() >= 1, ExcInternalError());
+           
+                                            // now for each cell that
+                                            // has contributed
+                                            // determine the number
+                                            // of normal vectors it
+                                            // has contributed. we
+                                            // currently only
+                                            // implement if this is
+                                            // dim-1 for all cells
+                                            // (if a single cell has
+                                            // contributed dim, or if
+                                            // all adjacent cells
+                                            // have contributed 1
+                                            // normal vector, this is
+                                            // already handled above)
+                                            //
+                                            // for each contributing
+                                            // cell compute the
+                                            // tangential vector that
+                                            // remains unconstrained
+           std::list<Tensor<1,dim> > tangential_vectors;
+           for (typename CellContributions::const_iterator
+                  contribution = cell_contributions.begin();
+                contribution != cell_contributions.end();
+                ++contribution)
+             {
+               Assert (contribution->second.size() == dim-1, ExcNotImplemented());
+
+               Tensor<1,dim> normals[dim-1];
+               {
+                 unsigned int index=0;
+                 for (typename std::list<Tensor<1,dim> >::const_iterator
+                        t = contribution->second.begin();
+                      t != contribution->second.end();
+                      ++t, ++index)
+                   normals[index] = *t;
+                 Assert (index == dim-1, ExcInternalError());
+               }
+
+                                                // calculate the
+                                                // tangent as the
+                                                // outer product of
+                                                // the normal vectors
+               Tensor<1,dim> tangent;
+               switch (dim)
+                 {
+                   case 3:
+                         cross_product (tangent, normals[0], normals[1]);
+                         break;
+                   default:
+                         Assert (false, ExcNotImplemented());
+                 }
+
+               Assert (std::fabs (tangent.norm()-1) < 1e-12,
+                       ExcInternalError());
+               
+               tangential_vectors.push_back (tangent);
+             }
+
+                                            // go through the list of
+                                            // tangents and make sure
+                                            // that they all roughly
+                                            // point in the same
+                                            // direction as the first
+                                            // one (i.e. have an
+                                            // angle less than 90
+                                            // degrees); if they
+                                            // don't then flip their
+                                            // sign
+           {
+             const Tensor<1,dim> first_tangent = tangential_vectors.front();
+             typename std::list<Tensor<1,dim> >::iterator
+               t = tangential_vectors.begin();
+             ++t;
+             for (; t != tangential_vectors.end(); ++t)
+               if (*t * first_tangent < 0)
+                 *t *= -1;
+           }
+           
+                                            // now compute the
+                                            // average tangent and
+                                            // normalize it
+           Tensor<1,dim> average_tangent;
+           for (typename std::list<Tensor<1,dim> >::const_iterator
+                  t = tangential_vectors.begin();
+                t != tangential_vectors.end();
+                ++t)
+             average_tangent += *t;
+           average_tangent /= average_tangent.norm();
+
+                                            // from the tangent
+                                            // vector we now need to
+                                            // again reconstruct dim-1
+                                            // normal directions in
+                                            // which the vector field
+                                            // is to be constrained
+           Tensor<1,dim> constraining_normals[dim-1];
+           internal::VectorTools::
+             compute_orthonormal_vectors (average_tangent,
+                                          constraining_normals);
+
+                                            // now all that is left
+                                            // is that we add the
+                                            // constraints for these
+                                            // dim-1 vectors
+           const internal::VectorTools::VectorDoFTuple<dim> &
+               dof_indices = same_dof_range[0]->first;
+           for (unsigned int c=0; c<dim-1; ++c)
+             internal::VectorTools::add_constraint (dof_indices,
+                                                    constraining_normals[c],
+                                                    constraints);
+         }
+       }
+    }
+}
+
+
+
 namespace internal
 {
   namespace VectorTools
index 135ac2c1fab1af9072df47cf04b317d992e281aa..1fec1f521179cb1be9d5dcbd706aa5164d258223 100644 (file)
@@ -153,6 +153,16 @@ void VectorTools::project_boundary_values<deal_II_dimension>
  std::map<unsigned int,double>        &);
 
 
+#if deal_II_dimension != 1
+template
+void
+VectorTools::compute_no_normal_flux_constraints (const DoFHandler<deal_II_dimension> &dof_handler,
+                                                const unsigned int     first_vector_component,
+                                                const std::set<unsigned char> &boundary_ids,
+                                                ConstraintMatrix      &constraints,
+                                                const Mapping<deal_II_dimension>    &mapping);
+#endif
+
 
 // // Due to introducing the DoFHandler as a template parameter,
 // // the following instantiations are required in 1d
index 5cd975c5163579450176d629c2375fd694013fa3..6f4be3939f485995470625c98b5d8519f873fd90 100644 (file)
@@ -232,6 +232,14 @@ constraints individually.
 
 <ol> 
 
+  <li> <p>New: The function VectorTools::compute_no_normal_flux_constraints computes
+  the constraints that correspond to boundary conditions of the
+  form $\vec u \cdot \vec n = 0$. The use of the function is demonstrated in the
+  @ref step_22 "step-22" tutorial program.
+  <br>
+  (WB 2008/01/23)
+  </p></li>
+
   <li> <p>Fixed: Neither ConstraintMatrix::print nor ConstraintMatrix::write_dot
   produced any output for constraints of the form $x_i=0$, i.e. where the right
   hand side is a trivial linear combination of other degrees of freedom. This
index eebc4ba894bf18f934d2d3ccb2d35677320cb348..f48213a3740ccb5c2a561c9b7d7cb93e498775dc 100644 (file)
@@ -1,6 +1,6 @@
 ############################################################
 # $Id$
-# Copyright (C) 2000, 2001, 2002, 2003, 2005, 2006, 2007 by the deal.II authors
+# Copyright (C) 2000, 2001, 2002, 2003, 2005, 2006, 2007, 2008 by the deal.II authors
 ############################################################
 
 ############################################################
@@ -24,7 +24,11 @@ default: run-tests
 tests_x = block_matrices \
        user_data_* \
        constraints \
+       constraints_zero \
+       constraints_zero_merge \
+       constraints_zero_condense \
        constraint_graph \
+       constraint_graph_zero \
        data_out \
        derivative_* \
        derivatives \
@@ -68,7 +72,8 @@ tests_x = block_matrices \
        maximal_cell_diameter \
        union_triangulation \
        create_* \
-       line_coarsening_3d
+       line_coarsening_3d \
+       no_flux_*
 
 # from above list of regular expressions, generate the real set of
 # tests
diff --git a/tests/deal.II/no_flux_01.cc b/tests/deal.II/no_flux_01.cc
new file mode 100644 (file)
index 0000000..db8ff53
--- /dev/null
@@ -0,0 +1,90 @@
+//----------------------------------------------------------------------
+//    $Id$
+//    Version: $Name$ 
+//
+//    Copyright (C) 2007, 2008 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.
+//
+//----------------------------------------------------------------------
+
+
+// check the creation of no-flux boundary conditions for a finite
+// element that consists of only a single set of vector components
+// (i.e. it has dim components)
+
+#include "../tests.h"
+#include <base/logstream.h>
+#include <base/function.h>
+#include <base/quadrature_lib.h>
+#include <lac/vector.h>
+#include <grid/grid_generator.h>
+#include <dofs/dof_handler.h>
+#include <dofs/dof_constraints.h>
+#include <fe/fe_q.h>
+#include <fe/fe_system.h>
+#include <fe/mapping_q1.h>
+#include <numerics/vectors.h>
+
+#include <fstream>
+
+
+template<int dim>
+void test_projection (const Triangulation<dim>& tr,
+                     const FiniteElement<dim>& fe)
+{
+  DoFHandler<dim> dof(tr);
+  dof.distribute_dofs(fe);
+
+  for (unsigned int i=0; i<GeometryInfo<dim>::faces_per_cell; ++i)
+    {
+      deallog << "FE=" << fe.get_name()
+             << ", case=" << i
+             << std::endl;
+
+      std::set<unsigned char> boundary_ids;
+      for (unsigned int j=0; j<=i; ++j)
+       boundary_ids.insert (j);
+      
+      ConstraintMatrix cm;
+      VectorTools::compute_no_normal_flux_constraints (dof, 0, boundary_ids, cm);
+
+      cm.print (deallog.get_file_stream ());
+    }
+}
+
+
+template<int dim>
+void test_hyper_cube()
+{
+  Triangulation<dim> tr;
+  GridGenerator::hyper_cube(tr);
+
+  for (unsigned int i=0; i<GeometryInfo<dim>::faces_per_cell; ++i)
+    tr.begin_active()->face(i)->set_boundary_indicator (i);
+  
+  tr.refine_global(2);
+
+  for (unsigned int degree=1; degree<4; ++degree)
+    {
+      FESystem<dim> fe (FE_Q<dim>(degree), dim);
+      test_projection(tr, fe);
+    }
+}
+
+
+int main()
+{
+  std::ofstream logfile ("no_flux_01/output");
+  logfile.precision (2);
+  logfile.setf(std::ios::fixed);  
+  deallog.attach(logfile);
+  deallog.depth_console (0);
+  deallog.threshold_double(1.e-12);
+
+  test_hyper_cube<2>();
+  test_hyper_cube<3>();
+}
diff --git a/tests/deal.II/no_flux_01/cmp/generic b/tests/deal.II/no_flux_01/cmp/generic
new file mode 100644 (file)
index 0000000..56d7e3d
--- /dev/null
@@ -0,0 +1,6076 @@
+JobId unknown Wed Jan 23 17:37:56 2008
+DEAL::FE=FESystem<2>[FE_Q<2>(1)^2], case=0
+    0 = 0
+    4 = 0
+    12 = 0
+    30 = 0
+    36 = 0
+DEAL::FE=FESystem<2>[FE_Q<2>(1)^2], case=1
+    0 = 0
+    4 = 0
+    12 = 0
+    22 = 0
+    24 = 0
+    28 = 0
+    30 = 0
+    36 = 0
+    44 = 0
+    48 = 0
+DEAL::FE=FESystem<2>[FE_Q<2>(1)^2], case=2
+    0 = 0
+    1 = 0
+    3 = 0
+    4 = 0
+    9 = 0
+    12 = 0
+    19 = 0
+    22 = 0
+    23 = 0
+    24 = 0
+    28 = 0
+    30 = 0
+    36 = 0
+    44 = 0
+    48 = 0
+DEAL::FE=FESystem<2>[FE_Q<2>(1)^2], case=3
+    0 = 0
+    1 = 0
+    3 = 0
+    4 = 0
+    9 = 0
+    12 = 0
+    19 = 0
+    22 = 0
+    23 = 0
+    24 = 0
+    28 = 0
+    30 = 0
+    36 = 0
+    37 = 0
+    39 = 0
+    41 = 0
+    44 = 0
+    47 = 0
+    48 = 0
+    49 = 0
+DEAL::FE=FESystem<2>[FE_Q<2>(2)^2], case=0
+    0 = 0
+    4 = 0
+    8 = 0
+    30 = 0
+    34 = 0
+    90 = 0
+    94 = 0
+    110 = 0
+    114 = 0
+DEAL::FE=FESystem<2>[FE_Q<2>(2)^2], case=1
+    0 = 0
+    4 = 0
+    8 = 0
+    30 = 0
+    34 = 0
+    62 = 0
+    64 = 0
+    66 = 0
+    82 = 0
+    84 = 0
+    90 = 0
+    94 = 0
+    110 = 0
+    114 = 0
+    138 = 0
+    140 = 0
+    154 = 0
+    156 = 0
+DEAL::FE=FESystem<2>[FE_Q<2>(2)^2], case=2
+    0 = 0
+    1 = 0
+    3 = 0
+    4 = 0
+    8 = 0
+    13 = 0
+    19 = 0
+    25 = 0
+    30 = 0
+    34 = 0
+    51 = 0
+    57 = 0
+    62 = 0
+    63 = 0
+    64 = 0
+    66 = 0
+    69 = 0
+    82 = 0
+    84 = 0
+    90 = 0
+    94 = 0
+    110 = 0
+    114 = 0
+    138 = 0
+    140 = 0
+    154 = 0
+    156 = 0
+DEAL::FE=FESystem<2>[FE_Q<2>(2)^2], case=3
+    0 = 0
+    1 = 0
+    3 = 0
+    4 = 0
+    8 = 0
+    13 = 0
+    19 = 0
+    25 = 0
+    30 = 0
+    34 = 0
+    51 = 0
+    57 = 0
+    62 = 0
+    63 = 0
+    64 = 0
+    66 = 0
+    69 = 0
+    82 = 0
+    84 = 0
+    90 = 0
+    94 = 0
+    110 = 0
+    111 = 0
+    113 = 0
+    114 = 0
+    119 = 0
+    123 = 0
+    127 = 0
+    138 = 0
+    140 = 0
+    147 = 0
+    151 = 0
+    154 = 0
+    155 = 0
+    156 = 0
+    159 = 0
+DEAL::FE=FESystem<2>[FE_Q<2>(3)^2], case=0
+    0 = 0
+    4 = 0
+    8 = 0
+    9 = 0
+    56 = 0
+    60 = 0
+    61 = 0
+    182 = 0
+    186 = 0
+    187 = 0
+    224 = 0
+    228 = 0
+    229 = 0
+DEAL::FE=FESystem<2>[FE_Q<2>(3)^2], case=1
+    0 = 0
+    4 = 0
+    8 = 0
+    9 = 0
+    56 = 0
+    60 = 0
+    61 = 0
+    122 = 0
+    124 = 0
+    126 = 0
+    127 = 0
+    164 = 0
+    166 = 0
+    167 = 0
+    182 = 0
+    186 = 0
+    187 = 0
+    224 = 0
+    228 = 0
+    229 = 0
+    284 = 0
+    286 = 0
+    287 = 0
+    320 = 0
+    322 = 0
+    323 = 0
+DEAL::FE=FESystem<2>[FE_Q<2>(3)^2], case=2
+    0 = 0
+    1 = 0
+    3 = 0
+    4 = 0
+    8 = 0
+    9 = 0
+    18 = 0
+    19 = 0
+    33 = 0
+    42 = 0
+    43 = 0
+    56 = 0
+    60 = 0
+    61 = 0
+    99 = 0
+    108 = 0
+    109 = 0
+    122 = 0
+    123 = 0
+    124 = 0
+    126 = 0
+    127 = 0
+    132 = 0
+    133 = 0
+    164 = 0
+    166 = 0
+    167 = 0
+    182 = 0
+    186 = 0
+    187 = 0
+    224 = 0
+    228 = 0
+    229 = 0
+    284 = 0
+    286 = 0
+    287 = 0
+    320 = 0
+    322 = 0
+    323 = 0
+DEAL::FE=FESystem<2>[FE_Q<2>(3)^2], case=3
+    0 = 0
+    1 = 0
+    3 = 0
+    4 = 0
+    8 = 0
+    9 = 0
+    18 = 0
+    19 = 0
+    33 = 0
+    42 = 0
+    43 = 0
+    56 = 0
+    60 = 0
+    61 = 0
+    99 = 0
+    108 = 0
+    109 = 0
+    122 = 0
+    123 = 0
+    124 = 0
+    126 = 0
+    127 = 0
+    132 = 0
+    133 = 0
+    164 = 0
+    166 = 0
+    167 = 0
+    182 = 0
+    186 = 0
+    187 = 0
+    224 = 0
+    225 = 0
+    227 = 0
+    228 = 0
+    229 = 0
+    238 = 0
+    239 = 0
+    249 = 0
+    256 = 0
+    257 = 0
+    284 = 0
+    286 = 0
+    287 = 0
+    303 = 0
+    310 = 0
+    311 = 0
+    320 = 0
+    321 = 0
+    322 = 0
+    323 = 0
+    328 = 0
+    329 = 0
+DEAL::FE=FESystem<3>[FE_Q<3>(1)^3], case=0
+    0 = 0
+    6 = 0
+    12 = 0
+    18 = 0
+    36 = 0
+    42 = 0
+    54 = 0
+    60 = 0
+    72 = 0
+    135 = 0
+    141 = 0
+    153 = 0
+    159 = 0
+    171 = 0
+    180 = 0
+    225 = 0
+    231 = 0
+    243 = 0
+    252 = 0
+    258 = 0
+    270 = 0
+    315 = 0
+    324 = 0
+    333 = 0
+    342 = 0
+DEAL::FE=FESystem<3>[FE_Q<3>(1)^3], case=1
+    0 = 0
+    6 = 0
+    12 = 0
+    18 = 0
+    36 = 0
+    42 = 0
+    54 = 0
+    60 = 0
+    72 = 0
+    93 = 0
+    96 = 0
+    99 = 0
+    102 = 0
+    111 = 0
+    114 = 0
+    123 = 0
+    126 = 0
+    132 = 0
+    135 = 0
+    141 = 0
+    153 = 0
+    159 = 0
+    171 = 0
+    180 = 0
+    195 = 0
+    198 = 0
+    207 = 0
+    210 = 0
+    216 = 0
+    222 = 0
+    225 = 0
+    231 = 0
+    243 = 0
+    252 = 0
+    258 = 0
+    270 = 0
+    285 = 0
+    288 = 0
+    294 = 0
+    303 = 0
+    306 = 0
+    312 = 0
+    315 = 0
+    324 = 0
+    333 = 0
+    342 = 0
+    354 = 0
+    360 = 0
+    366 = 0
+    372 = 0
+DEAL::FE=FESystem<3>[FE_Q<3>(1)^3], case=2
+    0 = 0
+    1 = 0
+    4 = 0
+    6 = 0
+    12 = 0
+    13 = 0
+    16 = 0
+    18 = 0
+    25 = 0
+    31 = 0
+    36 = 0
+    42 = 0
+    54 = 0
+    55 = 0
+    58 = 0
+    60 = 0
+    67 = 0
+    72 = 0
+    82 = 0
+    88 = 0
+    93 = 0
+    94 = 0
+    96 = 0
+    99 = 0
+    100 = 0
+    102 = 0
+    111 = 0
+    114 = 0
+    118 = 0
+    123 = 0
+    124 = 0
+    126 = 0
+    132 = 0
+    135 = 0
+    141 = 0
+    153 = 0
+    159 = 0
+    171 = 0
+    180 = 0
+    195 = 0
+    198 = 0
+    207 = 0
+    210 = 0
+    216 = 0
+    222 = 0
+    225 = 0
+    226 = 0
+    229 = 0
+    231 = 0
+    238 = 0
+    243 = 0
+    252 = 0
+    253 = 0
+    256 = 0
+    258 = 0
+    265 = 0
+    270 = 0
+    280 = 0
+    285 = 0
+    286 = 0
+    288 = 0
+    294 = 0
+    298 = 0
+    303 = 0
+    304 = 0
+    306 = 0
+    312 = 0
+    315 = 0
+    324 = 0
+    333 = 0
+    342 = 0
+    354 = 0
+    360 = 0
+    366 = 0
+    372 = 0
+DEAL::FE=FESystem<3>[FE_Q<3>(1)^3], case=3
+    0 = 0
+    1 = 0
+    4 = 0
+    6 = 0
+    12 = 0
+    13 = 0
+    16 = 0
+    18 = 0
+    25 = 0
+    31 = 0
+    36 = 0
+    42 = 0
+    54 = 0
+    55 = 0
+    58 = 0
+    60 = 0
+    67 = 0
+    72 = 0
+    82 = 0
+    88 = 0
+    93 = 0
+    94 = 0
+    96 = 0
+    99 = 0
+    100 = 0
+    102 = 0
+    111 = 0
+    114 = 0
+    118 = 0
+    123 = 0
+    124 = 0
+    126 = 0
+    132 = 0
+    135 = 0
+    141 = 0
+    153 = 0
+    154 = 0
+    157 = 0
+    159 = 0
+    160 = 0
+    163 = 0
+    166 = 0
+    169 = 0
+    171 = 0
+    180 = 0
+    181 = 0
+    184 = 0
+    187 = 0
+    195 = 0
+    198 = 0
+    202 = 0
+    205 = 0
+    207 = 0
+    208 = 0
+    210 = 0
+    211 = 0
+    216 = 0
+    220 = 0
+    222 = 0
+    223 = 0
+    225 = 0
+    226 = 0
+    229 = 0
+    231 = 0
+    238 = 0
+    243 = 0
+    252 = 0
+    253 = 0
+    256 = 0
+    258 = 0
+    265 = 0
+    270 = 0
+    280 = 0
+    285 = 0
+    286 = 0
+    288 = 0
+    294 = 0
+    298 = 0
+    303 = 0
+    304 = 0
+    306 = 0
+    312 = 0
+    315 = 0
+    324 = 0
+    325 = 0
+    328 = 0
+    331 = 0
+    333 = 0
+    342 = 0
+    343 = 0
+    346 = 0
+    349 = 0
+    354 = 0
+    358 = 0
+    360 = 0
+    361 = 0
+    366 = 0
+    370 = 0
+    372 = 0
+    373 = 0
+DEAL::FE=FESystem<3>[FE_Q<3>(1)^3], case=4
+    0 = 0
+    1 = 0
+    2 = 0
+    4 = 0
+    5 = 0
+    6 = 0
+    8 = 0
+    11 = 0
+    12 = 0
+    13 = 0
+    16 = 0
+    18 = 0
+    25 = 0
+    26 = 0
+    29 = 0
+    31 = 0
+    36 = 0
+    38 = 0
+    41 = 0
+    42 = 0
+    50 = 0
+    54 = 0
+    55 = 0
+    58 = 0
+    60 = 0
+    67 = 0
+    72 = 0
+    82 = 0
+    83 = 0
+    86 = 0
+    88 = 0
+    93 = 0
+    94 = 0
+    95 = 0
+    96 = 0
+    98 = 0
+    99 = 0
+    100 = 0
+    102 = 0
+    107 = 0
+    111 = 0
+    113 = 0
+    114 = 0
+    118 = 0
+    123 = 0
+    124 = 0
+    126 = 0
+    132 = 0
+    135 = 0
+    137 = 0
+    140 = 0
+    141 = 0
+    149 = 0
+    153 = 0
+    154 = 0
+    155 = 0
+    157 = 0
+    158 = 0
+    159 = 0
+    160 = 0
+    163 = 0
+    166 = 0
+    167 = 0
+    169 = 0
+    171 = 0
+    180 = 0
+    181 = 0
+    184 = 0
+    187 = 0
+    191 = 0
+    195 = 0
+    197 = 0
+    198 = 0
+    202 = 0
+    203 = 0
+    205 = 0
+    207 = 0
+    208 = 0
+    209 = 0
+    210 = 0
+    211 = 0
+    216 = 0
+    220 = 0
+    222 = 0
+    223 = 0
+    225 = 0
+    226 = 0
+    229 = 0
+    231 = 0
+    238 = 0
+    243 = 0
+    252 = 0
+    253 = 0
+    256 = 0
+    258 = 0
+    265 = 0
+    270 = 0
+    280 = 0
+    285 = 0
+    286 = 0
+    288 = 0
+    294 = 0
+    298 = 0
+    303 = 0
+    304 = 0
+    306 = 0
+    312 = 0
+    315 = 0
+    324 = 0
+    325 = 0
+    328 = 0
+    331 = 0
+    333 = 0
+    342 = 0
+    343 = 0
+    346 = 0
+    349 = 0
+    354 = 0
+    358 = 0
+    360 = 0
+    361 = 0
+    366 = 0
+    370 = 0
+    372 = 0
+    373 = 0
+DEAL::FE=FESystem<3>[FE_Q<3>(1)^3], case=5
+    0 = 0
+    1 = 0
+    2 = 0
+    4 = 0
+    5 = 0
+    6 = 0
+    8 = 0
+    11 = 0
+    12 = 0
+    13 = 0
+    16 = 0
+    18 = 0
+    25 = 0
+    26 = 0
+    29 = 0
+    31 = 0
+    36 = 0
+    38 = 0
+    41 = 0
+    42 = 0
+    50 = 0
+    54 = 0
+    55 = 0
+    58 = 0
+    60 = 0
+    67 = 0
+    72 = 0
+    82 = 0
+    83 = 0
+    86 = 0
+    88 = 0
+    93 = 0
+    94 = 0
+    95 = 0
+    96 = 0
+    98 = 0
+    99 = 0
+    100 = 0
+    102 = 0
+    107 = 0
+    111 = 0
+    113 = 0
+    114 = 0
+    118 = 0
+    123 = 0
+    124 = 0
+    126 = 0
+    132 = 0
+    135 = 0
+    137 = 0
+    140 = 0
+    141 = 0
+    149 = 0
+    153 = 0
+    154 = 0
+    155 = 0
+    157 = 0
+    158 = 0
+    159 = 0
+    160 = 0
+    163 = 0
+    166 = 0
+    167 = 0
+    169 = 0
+    171 = 0
+    180 = 0
+    181 = 0
+    184 = 0
+    187 = 0
+    191 = 0
+    195 = 0
+    197 = 0
+    198 = 0
+    202 = 0
+    203 = 0
+    205 = 0
+    207 = 0
+    208 = 0
+    209 = 0
+    210 = 0
+    211 = 0
+    216 = 0
+    220 = 0
+    222 = 0
+    223 = 0
+    225 = 0
+    226 = 0
+    229 = 0
+    231 = 0
+    238 = 0
+    243 = 0
+    252 = 0
+    253 = 0
+    254 = 0
+    256 = 0
+    257 = 0
+    258 = 0
+    260 = 0
+    263 = 0
+    265 = 0
+    266 = 0
+    269 = 0
+    270 = 0
+    272 = 0
+    275 = 0
+    278 = 0
+    280 = 0
+    285 = 0
+    286 = 0
+    288 = 0
+    294 = 0
+    298 = 0
+    299 = 0
+    302 = 0
+    303 = 0
+    304 = 0
+    305 = 0
+    306 = 0
+    308 = 0
+    311 = 0
+    312 = 0
+    314 = 0
+    315 = 0
+    324 = 0
+    325 = 0
+    328 = 0
+    331 = 0
+    333 = 0
+    335 = 0
+    338 = 0
+    341 = 0
+    342 = 0
+    343 = 0
+    344 = 0
+    346 = 0
+    347 = 0
+    349 = 0
+    350 = 0
+    354 = 0
+    358 = 0
+    360 = 0
+    361 = 0
+    365 = 0
+    366 = 0
+    368 = 0
+    370 = 0
+    371 = 0
+    372 = 0
+    373 = 0
+    374 = 0
+DEAL::FE=FESystem<3>[FE_Q<3>(2)^3], case=0
+    0 = 0
+    6 = 0
+    12 = 0
+    18 = 0
+    24 = 0
+    36 = 0
+    48 = 0
+    54 = 0
+    60 = 0
+    135 = 0
+    141 = 0
+    147 = 0
+    156 = 0
+    165 = 0
+    171 = 0
+    225 = 0
+    231 = 0
+    237 = 0
+    249 = 0
+    255 = 0
+    261 = 0
+    315 = 0
+    321 = 0
+    330 = 0
+    336 = 0
+    675 = 0
+    681 = 0
+    687 = 0
+    696 = 0
+    705 = 0
+    711 = 0
+    765 = 0
+    771 = 0
+    777 = 0
+    786 = 0
+    795 = 0
+    801 = 0
+    855 = 0
+    861 = 0
+    870 = 0
+    876 = 0
+    915 = 0
+    921 = 0
+    930 = 0
+    936 = 0
+    1215 = 0
+    1221 = 0
+    1227 = 0
+    1239 = 0
+    1245 = 0
+    1251 = 0
+    1305 = 0
+    1311 = 0
+    1320 = 0
+    1326 = 0
+    1365 = 0
+    1371 = 0
+    1377 = 0
+    1389 = 0
+    1395 = 0
+    1401 = 0
+    1455 = 0
+    1461 = 0
+    1470 = 0
+    1476 = 0
+    1755 = 0
+    1761 = 0
+    1770 = 0
+    1776 = 0
+    1815 = 0
+    1821 = 0
+    1830 = 0
+    1836 = 0
+    1875 = 0
+    1881 = 0
+    1890 = 0
+    1896 = 0
+    1935 = 0
+    1941 = 0
+    1950 = 0
+    1956 = 0
+DEAL::FE=FESystem<3>[FE_Q<3>(2)^3], case=1
+    0 = 0
+    6 = 0
+    12 = 0
+    18 = 0
+    24 = 0
+    36 = 0
+    48 = 0
+    54 = 0
+    60 = 0
+    135 = 0
+    141 = 0
+    147 = 0
+    156 = 0
+    165 = 0
+    171 = 0
+    225 = 0
+    231 = 0
+    237 = 0
+    249 = 0
+    255 = 0
+    261 = 0
+    315 = 0
+    321 = 0
+    330 = 0
+    336 = 0
+    429 = 0
+    432 = 0
+    435 = 0
+    438 = 0
+    441 = 0
+    450 = 0
+    459 = 0
+    462 = 0
+    465 = 0
+    519 = 0
+    522 = 0
+    525 = 0
+    531 = 0
+    537 = 0
+    540 = 0
+    591 = 0
+    594 = 0
+    597 = 0
+    606 = 0
+    609 = 0
+    612 = 0
+    651 = 0
+    654 = 0
+    660 = 0
+    663 = 0
+    675 = 0
+    681 = 0
+    687 = 0
+    696 = 0
+    705 = 0
+    711 = 0
+    765 = 0
+    771 = 0
+    777 = 0
+    786 = 0
+    795 = 0
+    801 = 0
+    855 = 0
+    861 = 0
+    870 = 0
+    876 = 0
+    915 = 0
+    921 = 0
+    930 = 0
+    936 = 0
+    1011 = 0
+    1014 = 0
+    1017 = 0
+    1023 = 0
+    1029 = 0
+    1032 = 0
+    1083 = 0
+    1086 = 0
+    1089 = 0
+    1095 = 0
+    1101 = 0
+    1104 = 0
+    1143 = 0
+    1146 = 0
+    1152 = 0
+    1155 = 0
+    1191 = 0
+    1194 = 0
+    1200 = 0
+    1203 = 0
+    1215 = 0
+    1221 = 0
+    1227 = 0
+    1239 = 0
+    1245 = 0
+    1251 = 0
+    1305 = 0
+    1311 = 0
+    1320 = 0
+    1326 = 0
+    1365 = 0
+    1371 = 0
+    1377 = 0
+    1389 = 0
+    1395 = 0
+    1401 = 0
+    1455 = 0
+    1461 = 0
+    1470 = 0
+    1476 = 0
+    1551 = 0
+    1554 = 0
+    1557 = 0
+    1566 = 0
+    1569 = 0
+    1572 = 0
+    1611 = 0
+    1614 = 0
+    1620 = 0
+    1623 = 0
+    1671 = 0
+    1674 = 0
+    1677 = 0
+    1686 = 0
+    1689 = 0
+    1692 = 0
+    1731 = 0
+    1734 = 0
+    1740 = 0
+    1743 = 0
+    1755 = 0
+    1761 = 0
+    1770 = 0
+    1776 = 0
+    1815 = 0
+    1821 = 0
+    1830 = 0
+    1836 = 0
+    1875 = 0
+    1881 = 0
+    1890 = 0
+    1896 = 0
+    1935 = 0
+    1941 = 0
+    1950 = 0
+    1956 = 0
+    2019 = 0
+    2022 = 0
+    2028 = 0
+    2031 = 0
+    2067 = 0
+    2070 = 0
+    2076 = 0
+    2079 = 0
+    2115 = 0
+    2118 = 0
+    2124 = 0
+    2127 = 0
+    2163 = 0
+    2166 = 0
+    2172 = 0
+    2175 = 0
+DEAL::FE=FESystem<3>[FE_Q<3>(2)^3], case=2
+    0 = 0
+    1 = 0
+    4 = 0
+    6 = 0
+    12 = 0
+    13 = 0
+    16 = 0
+    18 = 0
+    24 = 0
+    31 = 0
+    36 = 0
+    43 = 0
+    48 = 0
+    49 = 0
+    52 = 0
+    54 = 0
+    60 = 0
+    67 = 0
+    82 = 0
+    88 = 0
+    97 = 0
+    106 = 0
+    112 = 0
+    121 = 0
+    135 = 0
+    141 = 0
+    147 = 0
+    156 = 0
+    165 = 0
+    171 = 0
+    225 = 0
+    226 = 0
+    229 = 0
+    231 = 0
+    237 = 0
+    244 = 0
+    249 = 0
+    250 = 0
+    253 = 0
+    255 = 0
+    261 = 0
+    268 = 0
+    280 = 0
+    289 = 0
+    295 = 0
+    304 = 0
+    315 = 0
+    321 = 0
+    330 = 0
+    336 = 0
+    376 = 0
+    382 = 0
+    391 = 0
+    400 = 0
+    406 = 0
+    415 = 0
+    429 = 0
+    430 = 0
+    432 = 0
+    435 = 0
+    436 = 0
+    438 = 0
+    441 = 0
+    445 = 0
+    450 = 0
+    454 = 0
+    459 = 0
+    460 = 0
+    462 = 0
+    465 = 0
+    469 = 0
+    519 = 0
+    522 = 0
+    525 = 0
+    531 = 0
+    537 = 0
+    540 = 0
+    556 = 0
+    565 = 0
+    571 = 0
+    580 = 0
+    591 = 0
+    592 = 0
+    594 = 0
+    597 = 0
+    601 = 0
+    606 = 0
+    607 = 0
+    609 = 0
+    612 = 0
+    616 = 0
+    651 = 0
+    654 = 0
+    660 = 0
+    663 = 0
+    675 = 0
+    681 = 0
+    687 = 0
+    696 = 0
+    705 = 0
+    711 = 0
+    765 = 0
+    771 = 0
+    777 = 0
+    786 = 0
+    795 = 0
+    801 = 0
+    855 = 0
+    861 = 0
+    870 = 0
+    876 = 0
+    915 = 0
+    921 = 0
+    930 = 0
+    936 = 0
+    1011 = 0
+    1014 = 0
+    1017 = 0
+    1023 = 0
+    1029 = 0
+    1032 = 0
+    1083 = 0
+    1086 = 0
+    1089 = 0
+    1095 = 0
+    1101 = 0
+    1104 = 0
+    1143 = 0
+    1146 = 0
+    1152 = 0
+    1155 = 0
+    1191 = 0
+    1194 = 0
+    1200 = 0
+    1203 = 0
+    1215 = 0
+    1216 = 0
+    1219 = 0
+    1221 = 0
+    1227 = 0
+    1234 = 0
+    1239 = 0
+    1240 = 0
+    1243 = 0
+    1245 = 0
+    1251 = 0
+    1258 = 0
+    1270 = 0
+    1279 = 0
+    1285 = 0
+    1294 = 0
+    1305 = 0
+    1311 = 0
+    1320 = 0
+    1326 = 0
+    1365 = 0
+    1366 = 0
+    1369 = 0
+    1371 = 0
+    1377 = 0
+    1384 = 0
+    1389 = 0
+    1390 = 0
+    1393 = 0
+    1395 = 0
+    1401 = 0
+    1408 = 0
+    1420 = 0
+    1429 = 0
+    1435 = 0
+    1444 = 0
+    1455 = 0
+    1461 = 0
+    1470 = 0
+    1476 = 0
+    1516 = 0
+    1525 = 0
+    1531 = 0
+    1540 = 0
+    1551 = 0
+    1552 = 0
+    1554 = 0
+    1557 = 0
+    1561 = 0
+    1566 = 0
+    1567 = 0
+    1569 = 0
+    1572 = 0
+    1576 = 0
+    1611 = 0
+    1614 = 0
+    1620 = 0
+    1623 = 0
+    1636 = 0
+    1645 = 0
+    1651 = 0
+    1660 = 0
+    1671 = 0
+    1672 = 0
+    1674 = 0
+    1677 = 0
+    1681 = 0
+    1686 = 0
+    1687 = 0
+    1689 = 0
+    1692 = 0
+    1696 = 0
+    1731 = 0
+    1734 = 0
+    1740 = 0
+    1743 = 0
+    1755 = 0
+    1761 = 0
+    1770 = 0
+    1776 = 0
+    1815 = 0
+    1821 = 0
+    1830 = 0
+    1836 = 0
+    1875 = 0
+    1881 = 0
+    1890 = 0
+    1896 = 0
+    1935 = 0
+    1941 = 0
+    1950 = 0
+    1956 = 0
+    2019 = 0
+    2022 = 0
+    2028 = 0
+    2031 = 0
+    2067 = 0
+    2070 = 0
+    2076 = 0
+    2079 = 0
+    2115 = 0
+    2118 = 0
+    2124 = 0
+    2127 = 0
+    2163 = 0
+    2166 = 0
+    2172 = 0
+    2175 = 0
+DEAL::FE=FESystem<3>[FE_Q<3>(2)^3], case=3
+    0 = 0
+    1 = 0
+    4 = 0
+    6 = 0
+    12 = 0
+    13 = 0
+    16 = 0
+    18 = 0
+    24 = 0
+    31 = 0
+    36 = 0
+    43 = 0
+    48 = 0
+    49 = 0
+    52 = 0
+    54 = 0
+    60 = 0
+    67 = 0
+    82 = 0
+    88 = 0
+    97 = 0
+    106 = 0
+    112 = 0
+    121 = 0
+    135 = 0
+    141 = 0
+    147 = 0
+    156 = 0
+    165 = 0
+    171 = 0
+    225 = 0
+    226 = 0
+    229 = 0
+    231 = 0
+    237 = 0
+    244 = 0
+    249 = 0
+    250 = 0
+    253 = 0
+    255 = 0
+    261 = 0
+    268 = 0
+    280 = 0
+    289 = 0
+    295 = 0
+    304 = 0
+    315 = 0
+    321 = 0
+    330 = 0
+    336 = 0
+    376 = 0
+    382 = 0
+    391 = 0
+    400 = 0
+    406 = 0
+    415 = 0
+    429 = 0
+    430 = 0
+    432 = 0
+    435 = 0
+    436 = 0
+    438 = 0
+    441 = 0
+    445 = 0
+    450 = 0
+    454 = 0
+    459 = 0
+    460 = 0
+    462 = 0
+    465 = 0
+    469 = 0
+    519 = 0
+    522 = 0
+    525 = 0
+    531 = 0
+    537 = 0
+    540 = 0
+    556 = 0
+    565 = 0
+    571 = 0
+    580 = 0
+    591 = 0
+    592 = 0
+    594 = 0
+    597 = 0
+    601 = 0
+    606 = 0
+    607 = 0
+    609 = 0
+    612 = 0
+    616 = 0
+    651 = 0
+    654 = 0
+    660 = 0
+    663 = 0
+    675 = 0
+    681 = 0
+    687 = 0
+    696 = 0
+    705 = 0
+    711 = 0
+    765 = 0
+    766 = 0
+    769 = 0
+    771 = 0
+    772 = 0
+    775 = 0
+    777 = 0
+    784 = 0
+    786 = 0
+    793 = 0
+    795 = 0
+    796 = 0
+    799 = 0
+    801 = 0
+    808 = 0
+    820 = 0
+    823 = 0
+    829 = 0
+    835 = 0
+    838 = 0
+    844 = 0
+    855 = 0
+    861 = 0
+    870 = 0
+    876 = 0
+    915 = 0
+    916 = 0
+    919 = 0
+    921 = 0
+    928 = 0
+    930 = 0
+    931 = 0
+    934 = 0
+    936 = 0
+    943 = 0
+    952 = 0
+    958 = 0
+    961 = 0
+    967 = 0
+    1011 = 0
+    1014 = 0
+    1017 = 0
+    1023 = 0
+    1029 = 0
+    1032 = 0
+    1048 = 0
+    1051 = 0
+    1057 = 0
+    1063 = 0
+    1066 = 0
+    1072 = 0
+    1083 = 0
+    1084 = 0
+    1086 = 0
+    1087 = 0
+    1089 = 0
+    1093 = 0
+    1095 = 0
+    1099 = 0
+    1101 = 0
+    1102 = 0
+    1104 = 0
+    1108 = 0
+    1143 = 0
+    1146 = 0
+    1152 = 0
+    1155 = 0
+    1168 = 0
+    1174 = 0
+    1177 = 0
+    1183 = 0
+    1191 = 0
+    1192 = 0
+    1194 = 0
+    1198 = 0
+    1200 = 0
+    1201 = 0
+    1203 = 0
+    1207 = 0
+    1215 = 0
+    1216 = 0
+    1219 = 0
+    1221 = 0
+    1227 = 0
+    1234 = 0
+    1239 = 0
+    1240 = 0
+    1243 = 0
+    1245 = 0
+    1251 = 0
+    1258 = 0
+    1270 = 0
+    1279 = 0
+    1285 = 0
+    1294 = 0
+    1305 = 0
+    1311 = 0
+    1320 = 0
+    1326 = 0
+    1365 = 0
+    1366 = 0
+    1369 = 0
+    1371 = 0
+    1377 = 0
+    1384 = 0
+    1389 = 0
+    1390 = 0
+    1393 = 0
+    1395 = 0
+    1401 = 0
+    1408 = 0
+    1420 = 0
+    1429 = 0
+    1435 = 0
+    1444 = 0
+    1455 = 0
+    1461 = 0
+    1470 = 0
+    1476 = 0
+    1516 = 0
+    1525 = 0
+    1531 = 0
+    1540 = 0
+    1551 = 0
+    1552 = 0
+    1554 = 0
+    1557 = 0
+    1561 = 0
+    1566 = 0
+    1567 = 0
+    1569 = 0
+    1572 = 0
+    1576 = 0
+    1611 = 0
+    1614 = 0
+    1620 = 0
+    1623 = 0
+    1636 = 0
+    1645 = 0
+    1651 = 0
+    1660 = 0
+    1671 = 0
+    1672 = 0
+    1674 = 0
+    1677 = 0
+    1681 = 0
+    1686 = 0
+    1687 = 0
+    1689 = 0
+    1692 = 0
+    1696 = 0
+    1731 = 0
+    1734 = 0
+    1740 = 0
+    1743 = 0
+    1755 = 0
+    1761 = 0
+    1770 = 0
+    1776 = 0
+    1815 = 0
+    1816 = 0
+    1819 = 0
+    1821 = 0
+    1828 = 0
+    1830 = 0
+    1831 = 0
+    1834 = 0
+    1836 = 0
+    1843 = 0
+    1852 = 0
+    1858 = 0
+    1861 = 0
+    1867 = 0
+    1875 = 0
+    1881 = 0
+    1890 = 0
+    1896 = 0
+    1935 = 0
+    1936 = 0
+    1939 = 0
+    1941 = 0
+    1948 = 0
+    1950 = 0
+    1951 = 0
+    1954 = 0
+    1956 = 0
+    1963 = 0
+    1972 = 0
+    1978 = 0
+    1981 = 0
+    1987 = 0
+    2019 = 0
+    2022 = 0
+    2028 = 0
+    2031 = 0
+    2044 = 0
+    2050 = 0
+    2053 = 0
+    2059 = 0
+    2067 = 0
+    2068 = 0
+    2070 = 0
+    2074 = 0
+    2076 = 0
+    2077 = 0
+    2079 = 0
+    2083 = 0
+    2115 = 0
+    2118 = 0
+    2124 = 0
+    2127 = 0
+    2140 = 0
+    2146 = 0
+    2149 = 0
+    2155 = 0
+    2163 = 0
+    2164 = 0
+    2166 = 0
+    2170 = 0
+    2172 = 0
+    2173 = 0
+    2175 = 0
+    2179 = 0
+DEAL::FE=FESystem<3>[FE_Q<3>(2)^3], case=4
+    0 = 0
+    1 = 0
+    2 = 0
+    4 = 0
+    5 = 0
+    6 = 0
+    8 = 0
+    11 = 0
+    12 = 0
+    13 = 0
+    16 = 0
+    18 = 0
+    24 = 0
+    26 = 0
+    29 = 0
+    31 = 0
+    32 = 0
+    35 = 0
+    36 = 0
+    43 = 0
+    48 = 0
+    49 = 0
+    52 = 0
+    54 = 0
+    60 = 0
+    67 = 0
+    74 = 0
+    82 = 0
+    83 = 0
+    86 = 0
+    88 = 0
+    95 = 0
+    97 = 0
+    98 = 0
+    101 = 0
+    106 = 0
+    112 = 0
+    121 = 0
+    128 = 0
+    135 = 0
+    137 = 0
+    140 = 0
+    141 = 0
+    147 = 0
+    149 = 0
+    152 = 0
+    155 = 0
+    156 = 0
+    165 = 0
+    171 = 0
+    182 = 0
+    191 = 0
+    197 = 0
+    200 = 0
+    218 = 0
+    225 = 0
+    226 = 0
+    229 = 0
+    231 = 0
+    237 = 0
+    244 = 0
+    249 = 0
+    250 = 0
+    253 = 0
+    255 = 0
+    261 = 0
+    268 = 0
+    280 = 0
+    289 = 0
+    295 = 0
+    304 = 0
+    315 = 0
+    321 = 0
+    330 = 0
+    336 = 0
+    376 = 0
+    377 = 0
+    380 = 0
+    382 = 0
+    389 = 0
+    391 = 0
+    392 = 0
+    395 = 0
+    400 = 0
+    406 = 0
+    415 = 0
+    422 = 0
+    429 = 0
+    430 = 0
+    431 = 0
+    432 = 0
+    434 = 0
+    435 = 0
+    436 = 0
+    438 = 0
+    441 = 0
+    443 = 0
+    445 = 0
+    446 = 0
+    449 = 0
+    450 = 0
+    454 = 0
+    459 = 0
+    460 = 0
+    462 = 0
+    465 = 0
+    469 = 0
+    476 = 0
+    485 = 0
+    491 = 0
+    494 = 0
+    512 = 0
+    519 = 0
+    521 = 0
+    522 = 0
+    525 = 0
+    527 = 0
+    530 = 0
+    531 = 0
+    537 = 0
+    540 = 0
+    548 = 0
+    556 = 0
+    565 = 0
+    571 = 0
+    580 = 0
+    591 = 0
+    592 = 0
+    594 = 0
+    597 = 0
+    601 = 0
+    606 = 0
+    607 = 0
+    609 = 0
+    612 = 0
+    616 = 0
+    651 = 0
+    654 = 0
+    660 = 0
+    663 = 0
+    675 = 0
+    677 = 0
+    680 = 0
+    681 = 0
+    687 = 0
+    689 = 0
+    692 = 0
+    695 = 0
+    696 = 0
+    705 = 0
+    711 = 0
+    722 = 0
+    731 = 0
+    737 = 0
+    740 = 0
+    758 = 0
+    765 = 0
+    766 = 0
+    767 = 0
+    769 = 0
+    770 = 0
+    771 = 0
+    772 = 0
+    775 = 0
+    777 = 0
+    779 = 0
+    782 = 0
+    784 = 0
+    785 = 0
+    786 = 0
+    793 = 0
+    795 = 0
+    796 = 0
+    799 = 0
+    801 = 0
+    808 = 0
+    812 = 0
+    820 = 0
+    821 = 0
+    823 = 0
+    827 = 0
+    829 = 0
+    830 = 0
+    835 = 0
+    838 = 0
+    844 = 0
+    848 = 0
+    855 = 0
+    861 = 0
+    870 = 0
+    876 = 0
+    915 = 0
+    916 = 0
+    919 = 0
+    921 = 0
+    928 = 0
+    930 = 0
+    931 = 0
+    934 = 0
+    936 = 0
+    943 = 0
+    952 = 0
+    958 = 0
+    961 = 0
+    967 = 0
+    977 = 0
+    983 = 0
+    986 = 0
+    1004 = 0
+    1011 = 0
+    1013 = 0
+    1014 = 0
+    1017 = 0
+    1019 = 0
+    1022 = 0
+    1023 = 0
+    1029 = 0
+    1032 = 0
+    1040 = 0
+    1048 = 0
+    1049 = 0
+    1051 = 0
+    1055 = 0
+    1057 = 0
+    1058 = 0
+    1063 = 0
+    1066 = 0
+    1072 = 0
+    1076 = 0
+    1083 = 0
+    1084 = 0
+    1085 = 0
+    1086 = 0
+    1087 = 0
+    1089 = 0
+    1091 = 0
+    1093 = 0
+    1094 = 0
+    1095 = 0
+    1099 = 0
+    1101 = 0
+    1102 = 0
+    1104 = 0
+    1108 = 0
+    1112 = 0
+    1143 = 0
+    1146 = 0
+    1152 = 0
+    1155 = 0
+    1168 = 0
+    1174 = 0
+    1177 = 0
+    1183 = 0
+    1191 = 0
+    1192 = 0
+    1194 = 0
+    1198 = 0
+    1200 = 0
+    1201 = 0
+    1203 = 0
+    1207 = 0
+    1215 = 0
+    1216 = 0
+    1219 = 0
+    1221 = 0
+    1227 = 0
+    1234 = 0
+    1239 = 0
+    1240 = 0
+    1243 = 0
+    1245 = 0
+    1251 = 0
+    1258 = 0
+    1270 = 0
+    1279 = 0
+    1285 = 0
+    1294 = 0
+    1305 = 0
+    1311 = 0
+    1320 = 0
+    1326 = 0
+    1365 = 0
+    1366 = 0
+    1369 = 0
+    1371 = 0
+    1377 = 0
+    1384 = 0
+    1389 = 0
+    1390 = 0
+    1393 = 0
+    1395 = 0
+    1401 = 0
+    1408 = 0
+    1420 = 0
+    1429 = 0
+    1435 = 0
+    1444 = 0
+    1455 = 0
+    1461 = 0
+    1470 = 0
+    1476 = 0
+    1516 = 0
+    1525 = 0
+    1531 = 0
+    1540 = 0
+    1551 = 0
+    1552 = 0
+    1554 = 0
+    1557 = 0
+    1561 = 0
+    1566 = 0
+    1567 = 0
+    1569 = 0
+    1572 = 0
+    1576 = 0
+    1611 = 0
+    1614 = 0
+    1620 = 0
+    1623 = 0
+    1636 = 0
+    1645 = 0
+    1651 = 0
+    1660 = 0
+    1671 = 0
+    1672 = 0
+    1674 = 0
+    1677 = 0
+    1681 = 0
+    1686 = 0
+    1687 = 0
+    1689 = 0
+    1692 = 0
+    1696 = 0
+    1731 = 0
+    1734 = 0
+    1740 = 0
+    1743 = 0
+    1755 = 0
+    1761 = 0
+    1770 = 0
+    1776 = 0
+    1815 = 0
+    1816 = 0
+    1819 = 0
+    1821 = 0
+    1828 = 0
+    1830 = 0
+    1831 = 0
+    1834 = 0
+    1836 = 0
+    1843 = 0
+    1852 = 0
+    1858 = 0
+    1861 = 0
+    1867 = 0
+    1875 = 0
+    1881 = 0
+    1890 = 0
+    1896 = 0
+    1935 = 0
+    1936 = 0
+    1939 = 0
+    1941 = 0
+    1948 = 0
+    1950 = 0
+    1951 = 0
+    1954 = 0
+    1956 = 0
+    1963 = 0
+    1972 = 0
+    1978 = 0
+    1981 = 0
+    1987 = 0
+    2019 = 0
+    2022 = 0
+    2028 = 0
+    2031 = 0
+    2044 = 0
+    2050 = 0
+    2053 = 0
+    2059 = 0
+    2067 = 0
+    2068 = 0
+    2070 = 0
+    2074 = 0
+    2076 = 0
+    2077 = 0
+    2079 = 0
+    2083 = 0
+    2115 = 0
+    2118 = 0
+    2124 = 0
+    2127 = 0
+    2140 = 0
+    2146 = 0
+    2149 = 0
+    2155 = 0
+    2163 = 0
+    2164 = 0
+    2166 = 0
+    2170 = 0
+    2172 = 0
+    2173 = 0
+    2175 = 0
+    2179 = 0
+DEAL::FE=FESystem<3>[FE_Q<3>(2)^3], case=5
+    0 = 0
+    1 = 0
+    2 = 0
+    4 = 0
+    5 = 0
+    6 = 0
+    8 = 0
+    11 = 0
+    12 = 0
+    13 = 0
+    16 = 0
+    18 = 0
+    24 = 0
+    26 = 0
+    29 = 0
+    31 = 0
+    32 = 0
+    35 = 0
+    36 = 0
+    43 = 0
+    48 = 0
+    49 = 0
+    52 = 0
+    54 = 0
+    60 = 0
+    67 = 0
+    74 = 0
+    82 = 0
+    83 = 0
+    86 = 0
+    88 = 0
+    95 = 0
+    97 = 0
+    98 = 0
+    101 = 0
+    106 = 0
+    112 = 0
+    121 = 0
+    128 = 0
+    135 = 0
+    137 = 0
+    140 = 0
+    141 = 0
+    147 = 0
+    149 = 0
+    152 = 0
+    155 = 0
+    156 = 0
+    165 = 0
+    171 = 0
+    182 = 0
+    191 = 0
+    197 = 0
+    200 = 0
+    218 = 0
+    225 = 0
+    226 = 0
+    229 = 0
+    231 = 0
+    237 = 0
+    244 = 0
+    249 = 0
+    250 = 0
+    253 = 0
+    255 = 0
+    261 = 0
+    268 = 0
+    280 = 0
+    289 = 0
+    295 = 0
+    304 = 0
+    315 = 0
+    321 = 0
+    330 = 0
+    336 = 0
+    376 = 0
+    377 = 0
+    380 = 0
+    382 = 0
+    389 = 0
+    391 = 0
+    392 = 0
+    395 = 0
+    400 = 0
+    406 = 0
+    415 = 0
+    422 = 0
+    429 = 0
+    430 = 0
+    431 = 0
+    432 = 0
+    434 = 0
+    435 = 0
+    436 = 0
+    438 = 0
+    441 = 0
+    443 = 0
+    445 = 0
+    446 = 0
+    449 = 0
+    450 = 0
+    454 = 0
+    459 = 0
+    460 = 0
+    462 = 0
+    465 = 0
+    469 = 0
+    476 = 0
+    485 = 0
+    491 = 0
+    494 = 0
+    512 = 0
+    519 = 0
+    521 = 0
+    522 = 0
+    525 = 0
+    527 = 0
+    530 = 0
+    531 = 0
+    537 = 0
+    540 = 0
+    548 = 0
+    556 = 0
+    565 = 0
+    571 = 0
+    580 = 0
+    591 = 0
+    592 = 0
+    594 = 0
+    597 = 0
+    601 = 0
+    606 = 0
+    607 = 0
+    609 = 0
+    612 = 0
+    616 = 0
+    651 = 0
+    654 = 0
+    660 = 0
+    663 = 0
+    675 = 0
+    677 = 0
+    680 = 0
+    681 = 0
+    687 = 0
+    689 = 0
+    692 = 0
+    695 = 0
+    696 = 0
+    705 = 0
+    711 = 0
+    722 = 0
+    731 = 0
+    737 = 0
+    740 = 0
+    758 = 0
+    765 = 0
+    766 = 0
+    767 = 0
+    769 = 0
+    770 = 0
+    771 = 0
+    772 = 0
+    775 = 0
+    777 = 0
+    779 = 0
+    782 = 0
+    784 = 0
+    785 = 0
+    786 = 0
+    793 = 0
+    795 = 0
+    796 = 0
+    799 = 0
+    801 = 0
+    808 = 0
+    812 = 0
+    820 = 0
+    821 = 0
+    823 = 0
+    827 = 0
+    829 = 0
+    830 = 0
+    835 = 0
+    838 = 0
+    844 = 0
+    848 = 0
+    855 = 0
+    861 = 0
+    870 = 0
+    876 = 0
+    915 = 0
+    916 = 0
+    919 = 0
+    921 = 0
+    928 = 0
+    930 = 0
+    931 = 0
+    934 = 0
+    936 = 0
+    943 = 0
+    952 = 0
+    958 = 0
+    961 = 0
+    967 = 0
+    977 = 0
+    983 = 0
+    986 = 0
+    1004 = 0
+    1011 = 0
+    1013 = 0
+    1014 = 0
+    1017 = 0
+    1019 = 0
+    1022 = 0
+    1023 = 0
+    1029 = 0
+    1032 = 0
+    1040 = 0
+    1048 = 0
+    1049 = 0
+    1051 = 0
+    1055 = 0
+    1057 = 0
+    1058 = 0
+    1063 = 0
+    1066 = 0
+    1072 = 0
+    1076 = 0
+    1083 = 0
+    1084 = 0
+    1085 = 0
+    1086 = 0
+    1087 = 0
+    1089 = 0
+    1091 = 0
+    1093 = 0
+    1094 = 0
+    1095 = 0
+    1099 = 0
+    1101 = 0
+    1102 = 0
+    1104 = 0
+    1108 = 0
+    1112 = 0
+    1143 = 0
+    1146 = 0
+    1152 = 0
+    1155 = 0
+    1168 = 0
+    1174 = 0
+    1177 = 0
+    1183 = 0
+    1191 = 0
+    1192 = 0
+    1194 = 0
+    1198 = 0
+    1200 = 0
+    1201 = 0
+    1203 = 0
+    1207 = 0
+    1215 = 0
+    1216 = 0
+    1219 = 0
+    1221 = 0
+    1227 = 0
+    1234 = 0
+    1239 = 0
+    1240 = 0
+    1243 = 0
+    1245 = 0
+    1251 = 0
+    1258 = 0
+    1270 = 0
+    1279 = 0
+    1285 = 0
+    1294 = 0
+    1305 = 0
+    1311 = 0
+    1320 = 0
+    1326 = 0
+    1365 = 0
+    1366 = 0
+    1367 = 0
+    1369 = 0
+    1370 = 0
+    1371 = 0
+    1373 = 0
+    1376 = 0
+    1377 = 0
+    1379 = 0
+    1382 = 0
+    1384 = 0
+    1385 = 0
+    1388 = 0
+    1389 = 0
+    1390 = 0
+    1393 = 0
+    1395 = 0
+    1401 = 0
+    1408 = 0
+    1415 = 0
+    1420 = 0
+    1421 = 0
+    1424 = 0
+    1427 = 0
+    1429 = 0
+    1430 = 0
+    1433 = 0
+    1435 = 0
+    1444 = 0
+    1451 = 0
+    1455 = 0
+    1457 = 0
+    1460 = 0
+    1461 = 0
+    1463 = 0
+    1466 = 0
+    1469 = 0
+    1470 = 0
+    1476 = 0
+    1487 = 0
+    1493 = 0
+    1496 = 0
+    1499 = 0
+    1511 = 0
+    1516 = 0
+    1525 = 0
+    1531 = 0
+    1540 = 0
+    1551 = 0
+    1552 = 0
+    1554 = 0
+    1557 = 0
+    1561 = 0
+    1566 = 0
+    1567 = 0
+    1569 = 0
+    1572 = 0
+    1576 = 0
+    1611 = 0
+    1614 = 0
+    1620 = 0
+    1623 = 0
+    1636 = 0
+    1637 = 0
+    1640 = 0
+    1643 = 0
+    1645 = 0
+    1646 = 0
+    1649 = 0
+    1651 = 0
+    1660 = 0
+    1667 = 0
+    1671 = 0
+    1672 = 0
+    1673 = 0
+    1674 = 0
+    1676 = 0
+    1677 = 0
+    1679 = 0
+    1681 = 0
+    1682 = 0
+    1685 = 0
+    1686 = 0
+    1687 = 0
+    1689 = 0
+    1692 = 0
+    1696 = 0
+    1703 = 0
+    1709 = 0
+    1712 = 0
+    1715 = 0
+    1727 = 0
+    1731 = 0
+    1733 = 0
+    1734 = 0
+    1736 = 0
+    1739 = 0
+    1740 = 0
+    1743 = 0
+    1751 = 0
+    1755 = 0
+    1761 = 0
+    1770 = 0
+    1776 = 0
+    1815 = 0
+    1816 = 0
+    1819 = 0
+    1821 = 0
+    1828 = 0
+    1830 = 0
+    1831 = 0
+    1834 = 0
+    1836 = 0
+    1843 = 0
+    1852 = 0
+    1858 = 0
+    1861 = 0
+    1867 = 0
+    1875 = 0
+    1877 = 0
+    1880 = 0
+    1881 = 0
+    1883 = 0
+    1886 = 0
+    1889 = 0
+    1890 = 0
+    1896 = 0
+    1907 = 0
+    1913 = 0
+    1916 = 0
+    1919 = 0
+    1931 = 0
+    1935 = 0
+    1936 = 0
+    1937 = 0
+    1939 = 0
+    1940 = 0
+    1941 = 0
+    1943 = 0
+    1946 = 0
+    1948 = 0
+    1949 = 0
+    1950 = 0
+    1951 = 0
+    1954 = 0
+    1956 = 0
+    1963 = 0
+    1967 = 0
+    1972 = 0
+    1973 = 0
+    1976 = 0
+    1978 = 0
+    1979 = 0
+    1981 = 0
+    1987 = 0
+    1991 = 0
+    2019 = 0
+    2022 = 0
+    2028 = 0
+    2031 = 0
+    2044 = 0
+    2050 = 0
+    2053 = 0
+    2059 = 0
+    2067 = 0
+    2068 = 0
+    2070 = 0
+    2074 = 0
+    2076 = 0
+    2077 = 0
+    2079 = 0
+    2083 = 0
+    2093 = 0
+    2096 = 0
+    2099 = 0
+    2111 = 0
+    2115 = 0
+    2117 = 0
+    2118 = 0
+    2120 = 0
+    2123 = 0
+    2124 = 0
+    2127 = 0
+    2135 = 0
+    2140 = 0
+    2141 = 0
+    2144 = 0
+    2146 = 0
+    2147 = 0
+    2149 = 0
+    2155 = 0
+    2159 = 0
+    2163 = 0
+    2164 = 0
+    2165 = 0
+    2166 = 0
+    2168 = 0
+    2170 = 0
+    2171 = 0
+    2172 = 0
+    2173 = 0
+    2175 = 0
+    2179 = 0
+    2183 = 0
+DEAL::FE=FESystem<3>[FE_Q<3>(3)^3], case=0
+    0 = 0
+    6 = 0
+    12 = 0
+    18 = 0
+    24 = 0
+    25 = 0
+    48 = 0
+    49 = 0
+    72 = 0
+    73 = 0
+    84 = 0
+    85 = 0
+    96 = 0
+    97 = 0
+    98 = 0
+    99 = 0
+    336 = 0
+    342 = 0
+    348 = 0
+    349 = 0
+    366 = 0
+    367 = 0
+    384 = 0
+    385 = 0
+    396 = 0
+    397 = 0
+    398 = 0
+    399 = 0
+    588 = 0
+    594 = 0
+    600 = 0
+    601 = 0
+    624 = 0
+    625 = 0
+    636 = 0
+    637 = 0
+    648 = 0
+    649 = 0
+    650 = 0
+    651 = 0
+    840 = 0
+    846 = 0
+    847 = 0
+    864 = 0
+    865 = 0
+    876 = 0
+    877 = 0
+    878 = 0
+    879 = 0
+    1911 = 0
+    1917 = 0
+    1923 = 0
+    1924 = 0
+    1941 = 0
+    1942 = 0
+    1959 = 0
+    1960 = 0
+    1971 = 0
+    1972 = 0
+    1973 = 0
+    1974 = 0
+    2163 = 0
+    2169 = 0
+    2175 = 0
+    2176 = 0
+    2193 = 0
+    2194 = 0
+    2211 = 0
+    2212 = 0
+    2223 = 0
+    2224 = 0
+    2225 = 0
+    2226 = 0
+    2415 = 0
+    2421 = 0
+    2422 = 0
+    2439 = 0
+    2440 = 0
+    2451 = 0
+    2452 = 0
+    2453 = 0
+    2454 = 0
+    2604 = 0
+    2610 = 0
+    2611 = 0
+    2628 = 0
+    2629 = 0
+    2640 = 0
+    2641 = 0
+    2642 = 0
+    2643 = 0
+    3549 = 0
+    3555 = 0
+    3561 = 0
+    3562 = 0
+    3585 = 0
+    3586 = 0
+    3597 = 0
+    3598 = 0
+    3609 = 0
+    3610 = 0
+    3611 = 0
+    3612 = 0
+    3801 = 0
+    3807 = 0
+    3808 = 0
+    3825 = 0
+    3826 = 0
+    3837 = 0
+    3838 = 0
+    3839 = 0
+    3840 = 0
+    3990 = 0
+    3996 = 0
+    4002 = 0
+    4003 = 0
+    4026 = 0
+    4027 = 0
+    4038 = 0
+    4039 = 0
+    4050 = 0
+    4051 = 0
+    4052 = 0
+    4053 = 0
+    4242 = 0
+    4248 = 0
+    4249 = 0
+    4266 = 0
+    4267 = 0
+    4278 = 0
+    4279 = 0
+    4280 = 0
+    4281 = 0
+    5187 = 0
+    5193 = 0
+    5194 = 0
+    5211 = 0
+    5212 = 0
+    5223 = 0
+    5224 = 0
+    5225 = 0
+    5226 = 0
+    5376 = 0
+    5382 = 0
+    5383 = 0
+    5400 = 0
+    5401 = 0
+    5412 = 0
+    5413 = 0
+    5414 = 0
+    5415 = 0
+    5565 = 0
+    5571 = 0
+    5572 = 0
+    5589 = 0
+    5590 = 0
+    5601 = 0
+    5602 = 0
+    5603 = 0
+    5604 = 0
+    5754 = 0
+    5760 = 0
+    5761 = 0
+    5778 = 0
+    5779 = 0
+    5790 = 0
+    5791 = 0
+    5792 = 0
+    5793 = 0
+DEAL::FE=FESystem<3>[FE_Q<3>(3)^3], case=1
+    0 = 0
+    6 = 0
+    12 = 0
+    18 = 0
+    24 = 0
+    25 = 0
+    48 = 0
+    49 = 0
+    72 = 0
+    73 = 0
+    84 = 0
+    85 = 0
+    96 = 0
+    97 = 0
+    98 = 0
+    99 = 0
+    336 = 0
+    342 = 0
+    348 = 0
+    349 = 0
+    366 = 0
+    367 = 0
+    384 = 0
+    385 = 0
+    396 = 0
+    397 = 0
+    398 = 0
+    399 = 0
+    588 = 0
+    594 = 0
+    600 = 0
+    601 = 0
+    624 = 0
+    625 = 0
+    636 = 0
+    637 = 0
+    648 = 0
+    649 = 0
+    650 = 0
+    651 = 0
+    840 = 0
+    846 = 0
+    847 = 0
+    864 = 0
+    865 = 0
+    876 = 0
+    877 = 0
+    878 = 0
+    879 = 0
+    1173 = 0
+    1176 = 0
+    1179 = 0
+    1182 = 0
+    1185 = 0
+    1186 = 0
+    1203 = 0
+    1204 = 0
+    1221 = 0
+    1222 = 0
+    1227 = 0
+    1228 = 0
+    1233 = 0
+    1234 = 0
+    1235 = 0
+    1236 = 0
+    1425 = 0
+    1428 = 0
+    1431 = 0
+    1432 = 0
+    1443 = 0
+    1444 = 0
+    1455 = 0
+    1456 = 0
+    1461 = 0
+    1462 = 0
+    1463 = 0
+    1464 = 0
+    1641 = 0
+    1644 = 0
+    1647 = 0
+    1648 = 0
+    1665 = 0
+    1666 = 0
+    1671 = 0
+    1672 = 0
+    1677 = 0
+    1678 = 0
+    1679 = 0
+    1680 = 0
+    1830 = 0
+    1833 = 0
+    1834 = 0
+    1845 = 0
+    1846 = 0
+    1851 = 0
+    1852 = 0
+    1853 = 0
+    1854 = 0
+    1911 = 0
+    1917 = 0
+    1923 = 0
+    1924 = 0
+    1941 = 0
+    1942 = 0
+    1959 = 0
+    1960 = 0
+    1971 = 0
+    1972 = 0
+    1973 = 0
+    1974 = 0
+    2163 = 0
+    2169 = 0
+    2175 = 0
+    2176 = 0
+    2193 = 0
+    2194 = 0
+    2211 = 0
+    2212 = 0
+    2223 = 0
+    2224 = 0
+    2225 = 0
+    2226 = 0
+    2415 = 0
+    2421 = 0
+    2422 = 0
+    2439 = 0
+    2440 = 0
+    2451 = 0
+    2452 = 0
+    2453 = 0
+    2454 = 0
+    2604 = 0
+    2610 = 0
+    2611 = 0
+    2628 = 0
+    2629 = 0
+    2640 = 0
+    2641 = 0
+    2642 = 0
+    2643 = 0
+    2901 = 0
+    2904 = 0
+    2907 = 0
+    2908 = 0
+    2919 = 0
+    2920 = 0
+    2931 = 0
+    2932 = 0
+    2937 = 0
+    2938 = 0
+    2939 = 0
+    2940 = 0
+    3117 = 0
+    3120 = 0
+    3123 = 0
+    3124 = 0
+    3135 = 0
+    3136 = 0
+    3147 = 0
+    3148 = 0
+    3153 = 0
+    3154 = 0
+    3155 = 0
+    3156 = 0
+    3306 = 0
+    3309 = 0
+    3310 = 0
+    3321 = 0
+    3322 = 0
+    3327 = 0
+    3328 = 0
+    3329 = 0
+    3330 = 0
+    3468 = 0
+    3471 = 0
+    3472 = 0
+    3483 = 0
+    3484 = 0
+    3489 = 0
+    3490 = 0
+    3491 = 0
+    3492 = 0
+    3549 = 0
+    3555 = 0
+    3561 = 0
+    3562 = 0
+    3585 = 0
+    3586 = 0
+    3597 = 0
+    3598 = 0
+    3609 = 0
+    3610 = 0
+    3611 = 0
+    3612 = 0
+    3801 = 0
+    3807 = 0
+    3808 = 0
+    3825 = 0
+    3826 = 0
+    3837 = 0
+    3838 = 0
+    3839 = 0
+    3840 = 0
+    3990 = 0
+    3996 = 0
+    4002 = 0
+    4003 = 0
+    4026 = 0
+    4027 = 0
+    4038 = 0
+    4039 = 0
+    4050 = 0
+    4051 = 0
+    4052 = 0
+    4053 = 0
+    4242 = 0
+    4248 = 0
+    4249 = 0
+    4266 = 0
+    4267 = 0
+    4278 = 0
+    4279 = 0
+    4280 = 0
+    4281 = 0
+    4539 = 0
+    4542 = 0
+    4545 = 0
+    4546 = 0
+    4563 = 0
+    4564 = 0
+    4569 = 0
+    4570 = 0
+    4575 = 0
+    4576 = 0
+    4577 = 0
+    4578 = 0
+    4728 = 0
+    4731 = 0
+    4732 = 0
+    4743 = 0
+    4744 = 0
+    4749 = 0
+    4750 = 0
+    4751 = 0
+    4752 = 0
+    4917 = 0
+    4920 = 0
+    4923 = 0
+    4924 = 0
+    4941 = 0
+    4942 = 0
+    4947 = 0
+    4948 = 0
+    4953 = 0
+    4954 = 0
+    4955 = 0
+    4956 = 0
+    5106 = 0
+    5109 = 0
+    5110 = 0
+    5121 = 0
+    5122 = 0
+    5127 = 0
+    5128 = 0
+    5129 = 0
+    5130 = 0
+    5187 = 0
+    5193 = 0
+    5194 = 0
+    5211 = 0
+    5212 = 0
+    5223 = 0
+    5224 = 0
+    5225 = 0
+    5226 = 0
+    5376 = 0
+    5382 = 0
+    5383 = 0
+    5400 = 0
+    5401 = 0
+    5412 = 0
+    5413 = 0
+    5414 = 0
+    5415 = 0
+    5565 = 0
+    5571 = 0
+    5572 = 0
+    5589 = 0
+    5590 = 0
+    5601 = 0
+    5602 = 0
+    5603 = 0
+    5604 = 0
+    5754 = 0
+    5760 = 0
+    5761 = 0
+    5778 = 0
+    5779 = 0
+    5790 = 0
+    5791 = 0
+    5792 = 0
+    5793 = 0
+    6024 = 0
+    6027 = 0
+    6028 = 0
+    6039 = 0
+    6040 = 0
+    6045 = 0
+    6046 = 0
+    6047 = 0
+    6048 = 0
+    6186 = 0
+    6189 = 0
+    6190 = 0
+    6201 = 0
+    6202 = 0
+    6207 = 0
+    6208 = 0
+    6209 = 0
+    6210 = 0
+    6348 = 0
+    6351 = 0
+    6352 = 0
+    6363 = 0
+    6364 = 0
+    6369 = 0
+    6370 = 0
+    6371 = 0
+    6372 = 0
+    6510 = 0
+    6513 = 0
+    6514 = 0
+    6525 = 0
+    6526 = 0
+    6531 = 0
+    6532 = 0
+    6533 = 0
+    6534 = 0
+DEAL::FE=FESystem<3>[FE_Q<3>(3)^3], case=2
+    0 = 0
+    1 = 0
+    4 = 0
+    6 = 0
+    12 = 0
+    13 = 0
+    16 = 0
+    18 = 0
+    24 = 0
+    25 = 0
+    38 = 0
+    39 = 0
+    48 = 0
+    49 = 0
+    62 = 0
+    63 = 0
+    72 = 0
+    74 = 0
+    73 = 0
+    75 = 0
+    80 = 0
+    81 = 0
+    84 = 0
+    85 = 0
+    96 = 0
+    97 = 0
+    98 = 0
+    99 = 0
+    124 = 0
+    125 = 0
+    126 = 0
+    127 = 0
+    193 = 0
+    199 = 0
+    212 = 0
+    213 = 0
+    230 = 0
+    231 = 0
+    242 = 0
+    243 = 0
+    268 = 0
+    269 = 0
+    270 = 0
+    271 = 0
+    336 = 0
+    342 = 0
+    348 = 0
+    349 = 0
+    366 = 0
+    367 = 0
+    384 = 0
+    385 = 0
+    396 = 0
+    397 = 0
+    398 = 0
+    399 = 0
+    588 = 0
+    589 = 0
+    592 = 0
+    594 = 0
+    600 = 0
+    601 = 0
+    614 = 0
+    615 = 0
+    624 = 0
+    626 = 0
+    625 = 0
+    627 = 0
+    632 = 0
+    633 = 0
+    636 = 0
+    637 = 0
+    648 = 0
+    649 = 0
+    650 = 0
+    651 = 0
+    676 = 0
+    677 = 0
+    678 = 0
+    679 = 0
+    733 = 0
+    746 = 0
+    747 = 0
+    758 = 0
+    759 = 0
+    784 = 0
+    785 = 0
+    786 = 0
+    787 = 0
+    840 = 0
+    846 = 0
+    847 = 0
+    864 = 0
+    865 = 0
+    876 = 0
+    877 = 0
+    878 = 0
+    879 = 0
+    1030 = 0
+    1036 = 0
+    1049 = 0
+    1050 = 0
+    1067 = 0
+    1068 = 0
+    1079 = 0
+    1080 = 0
+    1105 = 0
+    1106 = 0
+    1107 = 0
+    1108 = 0
+    1173 = 0
+    1174 = 0
+    1176 = 0
+    1179 = 0
+    1180 = 0
+    1182 = 0
+    1185 = 0
+    1186 = 0
+    1193 = 0
+    1194 = 0
+    1203 = 0
+    1204 = 0
+    1211 = 0
+    1212 = 0
+    1221 = 0
+    1223 = 0
+    1222 = 0
+    1224 = 0
+    1227 = 0
+    1228 = 0
+    1233 = 0
+    1234 = 0
+    1235 = 0
+    1236 = 0
+    1249 = 0
+    1250 = 0
+    1251 = 0
+    1252 = 0
+    1425 = 0
+    1428 = 0
+    1431 = 0
+    1432 = 0
+    1443 = 0
+    1444 = 0
+    1455 = 0
+    1456 = 0
+    1461 = 0
+    1462 = 0
+    1463 = 0
+    1464 = 0
+    1534 = 0
+    1547 = 0
+    1548 = 0
+    1559 = 0
+    1560 = 0
+    1585 = 0
+    1586 = 0
+    1587 = 0
+    1588 = 0
+    1641 = 0
+    1642 = 0
+    1644 = 0
+    1647 = 0
+    1648 = 0
+    1655 = 0
+    1656 = 0
+    1665 = 0
+    1667 = 0
+    1666 = 0
+    1668 = 0
+    1671 = 0
+    1672 = 0
+    1677 = 0
+    1678 = 0
+    1679 = 0
+    1680 = 0
+    1693 = 0
+    1694 = 0
+    1695 = 0
+    1696 = 0
+    1830 = 0
+    1833 = 0
+    1834 = 0
+    1845 = 0
+    1846 = 0
+    1851 = 0
+    1852 = 0
+    1853 = 0
+    1854 = 0
+    1911 = 0
+    1917 = 0
+    1923 = 0
+    1924 = 0
+    1941 = 0
+    1942 = 0
+    1959 = 0
+    1960 = 0
+    1971 = 0
+    1972 = 0
+    1973 = 0
+    1974 = 0
+    2163 = 0
+    2169 = 0
+    2175 = 0
+    2176 = 0
+    2193 = 0
+    2194 = 0
+    2211 = 0
+    2212 = 0
+    2223 = 0
+    2224 = 0
+    2225 = 0
+    2226 = 0
+    2415 = 0
+    2421 = 0
+    2422 = 0
+    2439 = 0
+    2440 = 0
+    2451 = 0
+    2452 = 0
+    2453 = 0
+    2454 = 0
+    2604 = 0
+    2610 = 0
+    2611 = 0
+    2628 = 0
+    2629 = 0
+    2640 = 0
+    2641 = 0
+    2642 = 0
+    2643 = 0
+    2901 = 0
+    2904 = 0
+    2907 = 0
+    2908 = 0
+    2919 = 0
+    2920 = 0
+    2931 = 0
+    2932 = 0
+    2937 = 0
+    2938 = 0
+    2939 = 0
+    2940 = 0
+    3117 = 0
+    3120 = 0
+    3123 = 0
+    3124 = 0
+    3135 = 0
+    3136 = 0
+    3147 = 0
+    3148 = 0
+    3153 = 0
+    3154 = 0
+    3155 = 0
+    3156 = 0
+    3306 = 0
+    3309 = 0
+    3310 = 0
+    3321 = 0
+    3322 = 0
+    3327 = 0
+    3328 = 0
+    3329 = 0
+    3330 = 0
+    3468 = 0
+    3471 = 0
+    3472 = 0
+    3483 = 0
+    3484 = 0
+    3489 = 0
+    3490 = 0
+    3491 = 0
+    3492 = 0
+    3549 = 0
+    3550 = 0
+    3553 = 0
+    3555 = 0
+    3561 = 0
+    3562 = 0
+    3575 = 0
+    3576 = 0
+    3585 = 0
+    3587 = 0
+    3586 = 0
+    3588 = 0
+    3593 = 0
+    3594 = 0
+    3597 = 0
+    3598 = 0
+    3609 = 0
+    3610 = 0
+    3611 = 0
+    3612 = 0
+    3637 = 0
+    3638 = 0
+    3639 = 0
+    3640 = 0
+    3694 = 0
+    3707 = 0
+    3708 = 0
+    3719 = 0
+    3720 = 0
+    3745 = 0
+    3746 = 0
+    3747 = 0
+    3748 = 0
+    3801 = 0
+    3807 = 0
+    3808 = 0
+    3825 = 0
+    3826 = 0
+    3837 = 0
+    3838 = 0
+    3839 = 0
+    3840 = 0
+    3990 = 0
+    3991 = 0
+    3994 = 0
+    3996 = 0
+    4002 = 0
+    4003 = 0
+    4016 = 0
+    4017 = 0
+    4026 = 0
+    4028 = 0
+    4027 = 0
+    4029 = 0
+    4034 = 0
+    4035 = 0
+    4038 = 0
+    4039 = 0
+    4050 = 0
+    4051 = 0
+    4052 = 0
+    4053 = 0
+    4078 = 0
+    4079 = 0
+    4080 = 0
+    4081 = 0
+    4135 = 0
+    4148 = 0
+    4149 = 0
+    4160 = 0
+    4161 = 0
+    4186 = 0
+    4187 = 0
+    4188 = 0
+    4189 = 0
+    4242 = 0
+    4248 = 0
+    4249 = 0
+    4266 = 0
+    4267 = 0
+    4278 = 0
+    4279 = 0
+    4280 = 0
+    4281 = 0
+    4432 = 0
+    4445 = 0
+    4446 = 0
+    4457 = 0
+    4458 = 0
+    4483 = 0
+    4484 = 0
+    4485 = 0
+    4486 = 0
+    4539 = 0
+    4540 = 0
+    4542 = 0
+    4545 = 0
+    4546 = 0
+    4553 = 0
+    4554 = 0
+    4563 = 0
+    4565 = 0
+    4564 = 0
+    4566 = 0
+    4569 = 0
+    4570 = 0
+    4575 = 0
+    4576 = 0
+    4577 = 0
+    4578 = 0
+    4591 = 0
+    4592 = 0
+    4593 = 0
+    4594 = 0
+    4728 = 0
+    4731 = 0
+    4732 = 0
+    4743 = 0
+    4744 = 0
+    4749 = 0
+    4750 = 0
+    4751 = 0
+    4752 = 0
+    4810 = 0
+    4823 = 0
+    4824 = 0
+    4835 = 0
+    4836 = 0
+    4861 = 0
+    4862 = 0
+    4863 = 0
+    4864 = 0
+    4917 = 0
+    4918 = 0
+    4920 = 0
+    4923 = 0
+    4924 = 0
+    4931 = 0
+    4932 = 0
+    4941 = 0
+    4943 = 0
+    4942 = 0
+    4944 = 0
+    4947 = 0
+    4948 = 0
+    4953 = 0
+    4954 = 0
+    4955 = 0
+    4956 = 0
+    4969 = 0
+    4970 = 0
+    4971 = 0
+    4972 = 0
+    5106 = 0
+    5109 = 0
+    5110 = 0
+    5121 = 0
+    5122 = 0
+    5127 = 0
+    5128 = 0
+    5129 = 0
+    5130 = 0
+    5187 = 0
+    5193 = 0
+    5194 = 0
+    5211 = 0
+    5212 = 0
+    5223 = 0
+    5224 = 0
+    5225 = 0
+    5226 = 0
+    5376 = 0
+    5382 = 0
+    5383 = 0
+    5400 = 0
+    5401 = 0
+    5412 = 0
+    5413 = 0
+    5414 = 0
+    5415 = 0
+    5565 = 0
+    5571 = 0
+    5572 = 0
+    5589 = 0
+    5590 = 0
+    5601 = 0
+    5602 = 0
+    5603 = 0
+    5604 = 0
+    5754 = 0
+    5760 = 0
+    5761 = 0
+    5778 = 0
+    5779 = 0
+    5790 = 0
+    5791 = 0
+    5792 = 0
+    5793 = 0
+    6024 = 0
+    6027 = 0
+    6028 = 0
+    6039 = 0
+    6040 = 0
+    6045 = 0
+    6046 = 0
+    6047 = 0
+    6048 = 0
+    6186 = 0
+    6189 = 0
+    6190 = 0
+    6201 = 0
+    6202 = 0
+    6207 = 0
+    6208 = 0
+    6209 = 0
+    6210 = 0
+    6348 = 0
+    6351 = 0
+    6352 = 0
+    6363 = 0
+    6364 = 0
+    6369 = 0
+    6370 = 0
+    6371 = 0
+    6372 = 0
+    6510 = 0
+    6513 = 0
+    6514 = 0
+    6525 = 0
+    6526 = 0
+    6531 = 0
+    6532 = 0
+    6533 = 0
+    6534 = 0
+DEAL::FE=FESystem<3>[FE_Q<3>(3)^3], case=3
+    0 = 0
+    1 = 0
+    4 = 0
+    6 = 0
+    12 = 0
+    13 = 0
+    16 = 0
+    18 = 0
+    24 = 0
+    25 = 0
+    38 = 0
+    39 = 0
+    48 = 0
+    49 = 0
+    62 = 0
+    63 = 0
+    72 = 0
+    74 = 0
+    73 = 0
+    75 = 0
+    80 = 0
+    81 = 0
+    84 = 0
+    85 = 0
+    96 = 0
+    97 = 0
+    98 = 0
+    99 = 0
+    124 = 0
+    125 = 0
+    126 = 0
+    127 = 0
+    193 = 0
+    199 = 0
+    212 = 0
+    213 = 0
+    230 = 0
+    231 = 0
+    242 = 0
+    243 = 0
+    268 = 0
+    269 = 0
+    270 = 0
+    271 = 0
+    336 = 0
+    342 = 0
+    348 = 0
+    349 = 0
+    366 = 0
+    367 = 0
+    384 = 0
+    385 = 0
+    396 = 0
+    397 = 0
+    398 = 0
+    399 = 0
+    588 = 0
+    589 = 0
+    592 = 0
+    594 = 0
+    600 = 0
+    601 = 0
+    614 = 0
+    615 = 0
+    624 = 0
+    626 = 0
+    625 = 0
+    627 = 0
+    632 = 0
+    633 = 0
+    636 = 0
+    637 = 0
+    648 = 0
+    649 = 0
+    650 = 0
+    651 = 0
+    676 = 0
+    677 = 0
+    678 = 0
+    679 = 0
+    733 = 0
+    746 = 0
+    747 = 0
+    758 = 0
+    759 = 0
+    784 = 0
+    785 = 0
+    786 = 0
+    787 = 0
+    840 = 0
+    846 = 0
+    847 = 0
+    864 = 0
+    865 = 0
+    876 = 0
+    877 = 0
+    878 = 0
+    879 = 0
+    1030 = 0
+    1036 = 0
+    1049 = 0
+    1050 = 0
+    1067 = 0
+    1068 = 0
+    1079 = 0
+    1080 = 0
+    1105 = 0
+    1106 = 0
+    1107 = 0
+    1108 = 0
+    1173 = 0
+    1174 = 0
+    1176 = 0
+    1179 = 0
+    1180 = 0
+    1182 = 0
+    1185 = 0
+    1186 = 0
+    1193 = 0
+    1194 = 0
+    1203 = 0
+    1204 = 0
+    1211 = 0
+    1212 = 0
+    1221 = 0
+    1223 = 0
+    1222 = 0
+    1224 = 0
+    1227 = 0
+    1228 = 0
+    1233 = 0
+    1234 = 0
+    1235 = 0
+    1236 = 0
+    1249 = 0
+    1250 = 0
+    1251 = 0
+    1252 = 0
+    1425 = 0
+    1428 = 0
+    1431 = 0
+    1432 = 0
+    1443 = 0
+    1444 = 0
+    1455 = 0
+    1456 = 0
+    1461 = 0
+    1462 = 0
+    1463 = 0
+    1464 = 0
+    1534 = 0
+    1547 = 0
+    1548 = 0
+    1559 = 0
+    1560 = 0
+    1585 = 0
+    1586 = 0
+    1587 = 0
+    1588 = 0
+    1641 = 0
+    1642 = 0
+    1644 = 0
+    1647 = 0
+    1648 = 0
+    1655 = 0
+    1656 = 0
+    1665 = 0
+    1667 = 0
+    1666 = 0
+    1668 = 0
+    1671 = 0
+    1672 = 0
+    1677 = 0
+    1678 = 0
+    1679 = 0
+    1680 = 0
+    1693 = 0
+    1694 = 0
+    1695 = 0
+    1696 = 0
+    1830 = 0
+    1833 = 0
+    1834 = 0
+    1845 = 0
+    1846 = 0
+    1851 = 0
+    1852 = 0
+    1853 = 0
+    1854 = 0
+    1911 = 0
+    1917 = 0
+    1923 = 0
+    1924 = 0
+    1941 = 0
+    1942 = 0
+    1959 = 0
+    1960 = 0
+    1971 = 0
+    1972 = 0
+    1973 = 0
+    1974 = 0
+    2163 = 0
+    2164 = 0
+    2167 = 0
+    2169 = 0
+    2170 = 0
+    2173 = 0
+    2175 = 0
+    2176 = 0
+    2189 = 0
+    2190 = 0
+    2193 = 0
+    2194 = 0
+    2207 = 0
+    2208 = 0
+    2211 = 0
+    2213 = 0
+    2212 = 0
+    2214 = 0
+    2219 = 0
+    2220 = 0
+    2223 = 0
+    2224 = 0
+    2225 = 0
+    2226 = 0
+    2251 = 0
+    2252 = 0
+    2253 = 0
+    2254 = 0
+    2308 = 0
+    2311 = 0
+    2321 = 0
+    2322 = 0
+    2333 = 0
+    2334 = 0
+    2339 = 0
+    2340 = 0
+    2359 = 0
+    2360 = 0
+    2361 = 0
+    2362 = 0
+    2415 = 0
+    2421 = 0
+    2422 = 0
+    2439 = 0
+    2440 = 0
+    2451 = 0
+    2452 = 0
+    2453 = 0
+    2454 = 0
+    2604 = 0
+    2605 = 0
+    2608 = 0
+    2610 = 0
+    2611 = 0
+    2624 = 0
+    2625 = 0
+    2628 = 0
+    2630 = 0
+    2629 = 0
+    2631 = 0
+    2636 = 0
+    2637 = 0
+    2640 = 0
+    2641 = 0
+    2642 = 0
+    2643 = 0
+    2668 = 0
+    2669 = 0
+    2670 = 0
+    2671 = 0
+    2713 = 0
+    2723 = 0
+    2724 = 0
+    2729 = 0
+    2730 = 0
+    2749 = 0
+    2750 = 0
+    2751 = 0
+    2752 = 0
+    2901 = 0
+    2904 = 0
+    2907 = 0
+    2908 = 0
+    2919 = 0
+    2920 = 0
+    2931 = 0
+    2932 = 0
+    2937 = 0
+    2938 = 0
+    2939 = 0
+    2940 = 0
+    3010 = 0
+    3013 = 0
+    3023 = 0
+    3024 = 0
+    3035 = 0
+    3036 = 0
+    3041 = 0
+    3042 = 0
+    3061 = 0
+    3062 = 0
+    3063 = 0
+    3064 = 0
+    3117 = 0
+    3118 = 0
+    3120 = 0
+    3121 = 0
+    3123 = 0
+    3124 = 0
+    3131 = 0
+    3132 = 0
+    3135 = 0
+    3136 = 0
+    3143 = 0
+    3144 = 0
+    3147 = 0
+    3149 = 0
+    3148 = 0
+    3150 = 0
+    3153 = 0
+    3154 = 0
+    3155 = 0
+    3156 = 0
+    3169 = 0
+    3170 = 0
+    3171 = 0
+    3172 = 0
+    3306 = 0
+    3309 = 0
+    3310 = 0
+    3321 = 0
+    3322 = 0
+    3327 = 0
+    3328 = 0
+    3329 = 0
+    3330 = 0
+    3388 = 0
+    3398 = 0
+    3399 = 0
+    3404 = 0
+    3405 = 0
+    3424 = 0
+    3425 = 0
+    3426 = 0
+    3427 = 0
+    3468 = 0
+    3469 = 0
+    3471 = 0
+    3472 = 0
+    3479 = 0
+    3480 = 0
+    3483 = 0
+    3485 = 0
+    3484 = 0
+    3486 = 0
+    3489 = 0
+    3490 = 0
+    3491 = 0
+    3492 = 0
+    3505 = 0
+    3506 = 0
+    3507 = 0
+    3508 = 0
+    3549 = 0
+    3550 = 0
+    3553 = 0
+    3555 = 0
+    3561 = 0
+    3562 = 0
+    3575 = 0
+    3576 = 0
+    3585 = 0
+    3587 = 0
+    3586 = 0
+    3588 = 0
+    3593 = 0
+    3594 = 0
+    3597 = 0
+    3598 = 0
+    3609 = 0
+    3610 = 0
+    3611 = 0
+    3612 = 0
+    3637 = 0
+    3638 = 0
+    3639 = 0
+    3640 = 0
+    3694 = 0
+    3707 = 0
+    3708 = 0
+    3719 = 0
+    3720 = 0
+    3745 = 0
+    3746 = 0
+    3747 = 0
+    3748 = 0
+    3801 = 0
+    3807 = 0
+    3808 = 0
+    3825 = 0
+    3826 = 0
+    3837 = 0
+    3838 = 0
+    3839 = 0
+    3840 = 0
+    3990 = 0
+    3991 = 0
+    3994 = 0
+    3996 = 0
+    4002 = 0
+    4003 = 0
+    4016 = 0
+    4017 = 0
+    4026 = 0
+    4028 = 0
+    4027 = 0
+    4029 = 0
+    4034 = 0
+    4035 = 0
+    4038 = 0
+    4039 = 0
+    4050 = 0
+    4051 = 0
+    4052 = 0
+    4053 = 0
+    4078 = 0
+    4079 = 0
+    4080 = 0
+    4081 = 0
+    4135 = 0
+    4148 = 0
+    4149 = 0
+    4160 = 0
+    4161 = 0
+    4186 = 0
+    4187 = 0
+    4188 = 0
+    4189 = 0
+    4242 = 0
+    4248 = 0
+    4249 = 0
+    4266 = 0
+    4267 = 0
+    4278 = 0
+    4279 = 0
+    4280 = 0
+    4281 = 0
+    4432 = 0
+    4445 = 0
+    4446 = 0
+    4457 = 0
+    4458 = 0
+    4483 = 0
+    4484 = 0
+    4485 = 0
+    4486 = 0
+    4539 = 0
+    4540 = 0
+    4542 = 0
+    4545 = 0
+    4546 = 0
+    4553 = 0
+    4554 = 0
+    4563 = 0
+    4565 = 0
+    4564 = 0
+    4566 = 0
+    4569 = 0
+    4570 = 0
+    4575 = 0
+    4576 = 0
+    4577 = 0
+    4578 = 0
+    4591 = 0
+    4592 = 0
+    4593 = 0
+    4594 = 0
+    4728 = 0
+    4731 = 0
+    4732 = 0
+    4743 = 0
+    4744 = 0
+    4749 = 0
+    4750 = 0
+    4751 = 0
+    4752 = 0
+    4810 = 0
+    4823 = 0
+    4824 = 0
+    4835 = 0
+    4836 = 0
+    4861 = 0
+    4862 = 0
+    4863 = 0
+    4864 = 0
+    4917 = 0
+    4918 = 0
+    4920 = 0
+    4923 = 0
+    4924 = 0
+    4931 = 0
+    4932 = 0
+    4941 = 0
+    4943 = 0
+    4942 = 0
+    4944 = 0
+    4947 = 0
+    4948 = 0
+    4953 = 0
+    4954 = 0
+    4955 = 0
+    4956 = 0
+    4969 = 0
+    4970 = 0
+    4971 = 0
+    4972 = 0
+    5106 = 0
+    5109 = 0
+    5110 = 0
+    5121 = 0
+    5122 = 0
+    5127 = 0
+    5128 = 0
+    5129 = 0
+    5130 = 0
+    5187 = 0
+    5193 = 0
+    5194 = 0
+    5211 = 0
+    5212 = 0
+    5223 = 0
+    5224 = 0
+    5225 = 0
+    5226 = 0
+    5376 = 0
+    5377 = 0
+    5380 = 0
+    5382 = 0
+    5383 = 0
+    5396 = 0
+    5397 = 0
+    5400 = 0
+    5402 = 0
+    5401 = 0
+    5403 = 0
+    5408 = 0
+    5409 = 0
+    5412 = 0
+    5413 = 0
+    5414 = 0
+    5415 = 0
+    5440 = 0
+    5441 = 0
+    5442 = 0
+    5443 = 0
+    5485 = 0
+    5495 = 0
+    5496 = 0
+    5501 = 0
+    5502 = 0
+    5521 = 0
+    5522 = 0
+    5523 = 0
+    5524 = 0
+    5565 = 0
+    5571 = 0
+    5572 = 0
+    5589 = 0
+    5590 = 0
+    5601 = 0
+    5602 = 0
+    5603 = 0
+    5604 = 0
+    5754 = 0
+    5755 = 0
+    5758 = 0
+    5760 = 0
+    5761 = 0
+    5774 = 0
+    5775 = 0
+    5778 = 0
+    5780 = 0
+    5779 = 0
+    5781 = 0
+    5786 = 0
+    5787 = 0
+    5790 = 0
+    5791 = 0
+    5792 = 0
+    5793 = 0
+    5818 = 0
+    5819 = 0
+    5820 = 0
+    5821 = 0
+    5863 = 0
+    5873 = 0
+    5874 = 0
+    5879 = 0
+    5880 = 0
+    5899 = 0
+    5900 = 0
+    5901 = 0
+    5902 = 0
+    6024 = 0
+    6027 = 0
+    6028 = 0
+    6039 = 0
+    6040 = 0
+    6045 = 0
+    6046 = 0
+    6047 = 0
+    6048 = 0
+    6106 = 0
+    6116 = 0
+    6117 = 0
+    6122 = 0
+    6123 = 0
+    6142 = 0
+    6143 = 0
+    6144 = 0
+    6145 = 0
+    6186 = 0
+    6187 = 0
+    6189 = 0
+    6190 = 0
+    6197 = 0
+    6198 = 0
+    6201 = 0
+    6203 = 0
+    6202 = 0
+    6204 = 0
+    6207 = 0
+    6208 = 0
+    6209 = 0
+    6210 = 0
+    6223 = 0
+    6224 = 0
+    6225 = 0
+    6226 = 0
+    6348 = 0
+    6351 = 0
+    6352 = 0
+    6363 = 0
+    6364 = 0
+    6369 = 0
+    6370 = 0
+    6371 = 0
+    6372 = 0
+    6430 = 0
+    6440 = 0
+    6441 = 0
+    6446 = 0
+    6447 = 0
+    6466 = 0
+    6467 = 0
+    6468 = 0
+    6469 = 0
+    6510 = 0
+    6511 = 0
+    6513 = 0
+    6514 = 0
+    6521 = 0
+    6522 = 0
+    6525 = 0
+    6527 = 0
+    6526 = 0
+    6528 = 0
+    6531 = 0
+    6532 = 0
+    6533 = 0
+    6534 = 0
+    6547 = 0
+    6548 = 0
+    6549 = 0
+    6550 = 0
+DEAL::FE=FESystem<3>[FE_Q<3>(3)^3], case=4
+    0 = 0
+    1 = 0
+    2 = 0
+    4 = 0
+    5 = 0
+    6 = 0
+    8 = 0
+    11 = 0
+    12 = 0
+    13 = 0
+    16 = 0
+    18 = 0
+    24 = 0
+    28 = 0
+    25 = 0
+    29 = 0
+    34 = 0
+    35 = 0
+    38 = 0
+    40 = 0
+    39 = 0
+    41 = 0
+    46 = 0
+    47 = 0
+    48 = 0
+    49 = 0
+    62 = 0
+    63 = 0
+    72 = 0
+    74 = 0
+    73 = 0
+    75 = 0
+    80 = 0
+    81 = 0
+    84 = 0
+    85 = 0
+    96 = 0
+    97 = 0
+    98 = 0
+    99 = 0
+    124 = 0
+    125 = 0
+    126 = 0
+    127 = 0
+    152 = 0
+    153 = 0
+    154 = 0
+    155 = 0
+    193 = 0
+    194 = 0
+    197 = 0
+    199 = 0
+    208 = 0
+    209 = 0
+    212 = 0
+    214 = 0
+    213 = 0
+    215 = 0
+    220 = 0
+    221 = 0
+    230 = 0
+    231 = 0
+    242 = 0
+    243 = 0
+    268 = 0
+    269 = 0
+    270 = 0
+    271 = 0
+    296 = 0
+    297 = 0
+    298 = 0
+    299 = 0
+    336 = 0
+    338 = 0
+    341 = 0
+    342 = 0
+    348 = 0
+    352 = 0
+    349 = 0
+    353 = 0
+    358 = 0
+    359 = 0
+    364 = 0
+    365 = 0
+    366 = 0
+    367 = 0
+    384 = 0
+    385 = 0
+    396 = 0
+    397 = 0
+    398 = 0
+    399 = 0
+    440 = 0
+    441 = 0
+    442 = 0
+    443 = 0
+    482 = 0
+    490 = 0
+    491 = 0
+    496 = 0
+    497 = 0
+    548 = 0
+    549 = 0
+    550 = 0
+    551 = 0
+    588 = 0
+    589 = 0
+    592 = 0
+    594 = 0
+    600 = 0
+    601 = 0
+    614 = 0
+    615 = 0
+    624 = 0
+    626 = 0
+    625 = 0
+    627 = 0
+    632 = 0
+    633 = 0
+    636 = 0
+    637 = 0
+    648 = 0
+    649 = 0
+    650 = 0
+    651 = 0
+    676 = 0
+    677 = 0
+    678 = 0
+    679 = 0
+    733 = 0
+    746 = 0
+    747 = 0
+    758 = 0
+    759 = 0
+    784 = 0
+    785 = 0
+    786 = 0
+    787 = 0
+    840 = 0
+    846 = 0
+    847 = 0
+    864 = 0
+    865 = 0
+    876 = 0
+    877 = 0
+    878 = 0
+    879 = 0
+    1030 = 0
+    1031 = 0
+    1034 = 0
+    1036 = 0
+    1045 = 0
+    1046 = 0
+    1049 = 0
+    1051 = 0
+    1050 = 0
+    1052 = 0
+    1057 = 0
+    1058 = 0
+    1067 = 0
+    1068 = 0
+    1079 = 0
+    1080 = 0
+    1105 = 0
+    1106 = 0
+    1107 = 0
+    1108 = 0
+    1133 = 0
+    1134 = 0
+    1135 = 0
+    1136 = 0
+    1173 = 0
+    1174 = 0
+    1175 = 0
+    1176 = 0
+    1178 = 0
+    1179 = 0
+    1180 = 0
+    1182 = 0
+    1185 = 0
+    1189 = 0
+    1186 = 0
+    1190 = 0
+    1193 = 0
+    1195 = 0
+    1194 = 0
+    1196 = 0
+    1201 = 0
+    1202 = 0
+    1203 = 0
+    1204 = 0
+    1211 = 0
+    1212 = 0
+    1221 = 0
+    1223 = 0
+    1222 = 0
+    1224 = 0
+    1227 = 0
+    1228 = 0
+    1233 = 0
+    1234 = 0
+    1235 = 0
+    1236 = 0
+    1249 = 0
+    1250 = 0
+    1251 = 0
+    1252 = 0
+    1277 = 0
+    1278 = 0
+    1279 = 0
+    1280 = 0
+    1319 = 0
+    1327 = 0
+    1328 = 0
+    1333 = 0
+    1334 = 0
+    1385 = 0
+    1386 = 0
+    1387 = 0
+    1388 = 0
+    1425 = 0
+    1427 = 0
+    1428 = 0
+    1431 = 0
+    1435 = 0
+    1432 = 0
+    1436 = 0
+    1441 = 0
+    1442 = 0
+    1443 = 0
+    1444 = 0
+    1455 = 0
+    1456 = 0
+    1461 = 0
+    1462 = 0
+    1463 = 0
+    1464 = 0
+    1493 = 0
+    1494 = 0
+    1495 = 0
+    1496 = 0
+    1534 = 0
+    1547 = 0
+    1548 = 0
+    1559 = 0
+    1560 = 0
+    1585 = 0
+    1586 = 0
+    1587 = 0
+    1588 = 0
+    1641 = 0
+    1642 = 0
+    1644 = 0
+    1647 = 0
+    1648 = 0
+    1655 = 0
+    1656 = 0
+    1665 = 0
+    1667 = 0
+    1666 = 0
+    1668 = 0
+    1671 = 0
+    1672 = 0
+    1677 = 0
+    1678 = 0
+    1679 = 0
+    1680 = 0
+    1693 = 0
+    1694 = 0
+    1695 = 0
+    1696 = 0
+    1830 = 0
+    1833 = 0
+    1834 = 0
+    1845 = 0
+    1846 = 0
+    1851 = 0
+    1852 = 0
+    1853 = 0
+    1854 = 0
+    1911 = 0
+    1913 = 0
+    1916 = 0
+    1917 = 0
+    1923 = 0
+    1927 = 0
+    1924 = 0
+    1928 = 0
+    1933 = 0
+    1934 = 0
+    1939 = 0
+    1940 = 0
+    1941 = 0
+    1942 = 0
+    1959 = 0
+    1960 = 0
+    1971 = 0
+    1972 = 0
+    1973 = 0
+    1974 = 0
+    2015 = 0
+    2016 = 0
+    2017 = 0
+    2018 = 0
+    2057 = 0
+    2065 = 0
+    2066 = 0
+    2071 = 0
+    2072 = 0
+    2123 = 0
+    2124 = 0
+    2125 = 0
+    2126 = 0
+    2163 = 0
+    2164 = 0
+    2165 = 0
+    2167 = 0
+    2168 = 0
+    2169 = 0
+    2170 = 0
+    2173 = 0
+    2175 = 0
+    2179 = 0
+    2176 = 0
+    2180 = 0
+    2185 = 0
+    2186 = 0
+    2189 = 0
+    2191 = 0
+    2190 = 0
+    2192 = 0
+    2193 = 0
+    2194 = 0
+    2207 = 0
+    2208 = 0
+    2211 = 0
+    2213 = 0
+    2212 = 0
+    2214 = 0
+    2219 = 0
+    2220 = 0
+    2223 = 0
+    2224 = 0
+    2225 = 0
+    2226 = 0
+    2251 = 0
+    2252 = 0
+    2253 = 0
+    2254 = 0
+    2267 = 0
+    2268 = 0
+    2269 = 0
+    2270 = 0
+    2308 = 0
+    2309 = 0
+    2311 = 0
+    2317 = 0
+    2318 = 0
+    2321 = 0
+    2323 = 0
+    2322 = 0
+    2324 = 0
+    2333 = 0
+    2334 = 0
+    2339 = 0
+    2340 = 0
+    2359 = 0
+    2360 = 0
+    2361 = 0
+    2362 = 0
+    2375 = 0
+    2376 = 0
+    2377 = 0
+    2378 = 0
+    2415 = 0
+    2421 = 0
+    2422 = 0
+    2439 = 0
+    2440 = 0
+    2451 = 0
+    2452 = 0
+    2453 = 0
+    2454 = 0
+    2604 = 0
+    2605 = 0
+    2608 = 0
+    2610 = 0
+    2611 = 0
+    2624 = 0
+    2625 = 0
+    2628 = 0
+    2630 = 0
+    2629 = 0
+    2631 = 0
+    2636 = 0
+    2637 = 0
+    2640 = 0
+    2641 = 0
+    2642 = 0
+    2643 = 0
+    2668 = 0
+    2669 = 0
+    2670 = 0
+    2671 = 0
+    2713 = 0
+    2723 = 0
+    2724 = 0
+    2729 = 0
+    2730 = 0
+    2749 = 0
+    2750 = 0
+    2751 = 0
+    2752 = 0
+    2795 = 0
+    2803 = 0
+    2804 = 0
+    2809 = 0
+    2810 = 0
+    2861 = 0
+    2862 = 0
+    2863 = 0
+    2864 = 0
+    2901 = 0
+    2903 = 0
+    2904 = 0
+    2907 = 0
+    2911 = 0
+    2908 = 0
+    2912 = 0
+    2917 = 0
+    2918 = 0
+    2919 = 0
+    2920 = 0
+    2931 = 0
+    2932 = 0
+    2937 = 0
+    2938 = 0
+    2939 = 0
+    2940 = 0
+    2969 = 0
+    2970 = 0
+    2971 = 0
+    2972 = 0
+    3010 = 0
+    3011 = 0
+    3013 = 0
+    3019 = 0
+    3020 = 0
+    3023 = 0
+    3025 = 0
+    3024 = 0
+    3026 = 0
+    3035 = 0
+    3036 = 0
+    3041 = 0
+    3042 = 0
+    3061 = 0
+    3062 = 0
+    3063 = 0
+    3064 = 0
+    3077 = 0
+    3078 = 0
+    3079 = 0
+    3080 = 0
+    3117 = 0
+    3118 = 0
+    3119 = 0
+    3120 = 0
+    3121 = 0
+    3123 = 0
+    3127 = 0
+    3124 = 0
+    3128 = 0
+    3131 = 0
+    3133 = 0
+    3132 = 0
+    3134 = 0
+    3135 = 0
+    3136 = 0
+    3143 = 0
+    3144 = 0
+    3147 = 0
+    3149 = 0
+    3148 = 0
+    3150 = 0
+    3153 = 0
+    3154 = 0
+    3155 = 0
+    3156 = 0
+    3169 = 0
+    3170 = 0
+    3171 = 0
+    3172 = 0
+    3185 = 0
+    3186 = 0
+    3187 = 0
+    3188 = 0
+    3306 = 0
+    3309 = 0
+    3310 = 0
+    3321 = 0
+    3322 = 0
+    3327 = 0
+    3328 = 0
+    3329 = 0
+    3330 = 0
+    3388 = 0
+    3398 = 0
+    3399 = 0
+    3404 = 0
+    3405 = 0
+    3424 = 0
+    3425 = 0
+    3426 = 0
+    3427 = 0
+    3468 = 0
+    3469 = 0
+    3471 = 0
+    3472 = 0
+    3479 = 0
+    3480 = 0
+    3483 = 0
+    3485 = 0
+    3484 = 0
+    3486 = 0
+    3489 = 0
+    3490 = 0
+    3491 = 0
+    3492 = 0
+    3505 = 0
+    3506 = 0
+    3507 = 0
+    3508 = 0
+    3549 = 0
+    3550 = 0
+    3553 = 0
+    3555 = 0
+    3561 = 0
+    3562 = 0
+    3575 = 0
+    3576 = 0
+    3585 = 0
+    3587 = 0
+    3586 = 0
+    3588 = 0
+    3593 = 0
+    3594 = 0
+    3597 = 0
+    3598 = 0
+    3609 = 0
+    3610 = 0
+    3611 = 0
+    3612 = 0
+    3637 = 0
+    3638 = 0
+    3639 = 0
+    3640 = 0
+    3694 = 0
+    3707 = 0
+    3708 = 0
+    3719 = 0
+    3720 = 0
+    3745 = 0
+    3746 = 0
+    3747 = 0
+    3748 = 0
+    3801 = 0
+    3807 = 0
+    3808 = 0
+    3825 = 0
+    3826 = 0
+    3837 = 0
+    3838 = 0
+    3839 = 0
+    3840 = 0
+    3990 = 0
+    3991 = 0
+    3994 = 0
+    3996 = 0
+    4002 = 0
+    4003 = 0
+    4016 = 0
+    4017 = 0
+    4026 = 0
+    4028 = 0
+    4027 = 0
+    4029 = 0
+    4034 = 0
+    4035 = 0
+    4038 = 0
+    4039 = 0
+    4050 = 0
+    4051 = 0
+    4052 = 0
+    4053 = 0
+    4078 = 0
+    4079 = 0
+    4080 = 0
+    4081 = 0
+    4135 = 0
+    4148 = 0
+    4149 = 0
+    4160 = 0
+    4161 = 0
+    4186 = 0
+    4187 = 0
+    4188 = 0
+    4189 = 0
+    4242 = 0
+    4248 = 0
+    4249 = 0
+    4266 = 0
+    4267 = 0
+    4278 = 0
+    4279 = 0
+    4280 = 0
+    4281 = 0
+    4432 = 0
+    4445 = 0
+    4446 = 0
+    4457 = 0
+    4458 = 0
+    4483 = 0
+    4484 = 0
+    4485 = 0
+    4486 = 0
+    4539 = 0
+    4540 = 0
+    4542 = 0
+    4545 = 0
+    4546 = 0
+    4553 = 0
+    4554 = 0
+    4563 = 0
+    4565 = 0
+    4564 = 0
+    4566 = 0
+    4569 = 0
+    4570 = 0
+    4575 = 0
+    4576 = 0
+    4577 = 0
+    4578 = 0
+    4591 = 0
+    4592 = 0
+    4593 = 0
+    4594 = 0
+    4728 = 0
+    4731 = 0
+    4732 = 0
+    4743 = 0
+    4744 = 0
+    4749 = 0
+    4750 = 0
+    4751 = 0
+    4752 = 0
+    4810 = 0
+    4823 = 0
+    4824 = 0
+    4835 = 0
+    4836 = 0
+    4861 = 0
+    4862 = 0
+    4863 = 0
+    4864 = 0
+    4917 = 0
+    4918 = 0
+    4920 = 0
+    4923 = 0
+    4924 = 0
+    4931 = 0
+    4932 = 0
+    4941 = 0
+    4943 = 0
+    4942 = 0
+    4944 = 0
+    4947 = 0
+    4948 = 0
+    4953 = 0
+    4954 = 0
+    4955 = 0
+    4956 = 0
+    4969 = 0
+    4970 = 0
+    4971 = 0
+    4972 = 0
+    5106 = 0
+    5109 = 0
+    5110 = 0
+    5121 = 0
+    5122 = 0
+    5127 = 0
+    5128 = 0
+    5129 = 0
+    5130 = 0
+    5187 = 0
+    5193 = 0
+    5194 = 0
+    5211 = 0
+    5212 = 0
+    5223 = 0
+    5224 = 0
+    5225 = 0
+    5226 = 0
+    5376 = 0
+    5377 = 0
+    5380 = 0
+    5382 = 0
+    5383 = 0
+    5396 = 0
+    5397 = 0
+    5400 = 0
+    5402 = 0
+    5401 = 0
+    5403 = 0
+    5408 = 0
+    5409 = 0
+    5412 = 0
+    5413 = 0
+    5414 = 0
+    5415 = 0
+    5440 = 0
+    5441 = 0
+    5442 = 0
+    5443 = 0
+    5485 = 0
+    5495 = 0
+    5496 = 0
+    5501 = 0
+    5502 = 0
+    5521 = 0
+    5522 = 0
+    5523 = 0
+    5524 = 0
+    5565 = 0
+    5571 = 0
+    5572 = 0
+    5589 = 0
+    5590 = 0
+    5601 = 0
+    5602 = 0
+    5603 = 0
+    5604 = 0
+    5754 = 0
+    5755 = 0
+    5758 = 0
+    5760 = 0
+    5761 = 0
+    5774 = 0
+    5775 = 0
+    5778 = 0
+    5780 = 0
+    5779 = 0
+    5781 = 0
+    5786 = 0
+    5787 = 0
+    5790 = 0
+    5791 = 0
+    5792 = 0
+    5793 = 0
+    5818 = 0
+    5819 = 0
+    5820 = 0
+    5821 = 0
+    5863 = 0
+    5873 = 0
+    5874 = 0
+    5879 = 0
+    5880 = 0
+    5899 = 0
+    5900 = 0
+    5901 = 0
+    5902 = 0
+    6024 = 0
+    6027 = 0
+    6028 = 0
+    6039 = 0
+    6040 = 0
+    6045 = 0
+    6046 = 0
+    6047 = 0
+    6048 = 0
+    6106 = 0
+    6116 = 0
+    6117 = 0
+    6122 = 0
+    6123 = 0
+    6142 = 0
+    6143 = 0
+    6144 = 0
+    6145 = 0
+    6186 = 0
+    6187 = 0
+    6189 = 0
+    6190 = 0
+    6197 = 0
+    6198 = 0
+    6201 = 0
+    6203 = 0
+    6202 = 0
+    6204 = 0
+    6207 = 0
+    6208 = 0
+    6209 = 0
+    6210 = 0
+    6223 = 0
+    6224 = 0
+    6225 = 0
+    6226 = 0
+    6348 = 0
+    6351 = 0
+    6352 = 0
+    6363 = 0
+    6364 = 0
+    6369 = 0
+    6370 = 0
+    6371 = 0
+    6372 = 0
+    6430 = 0
+    6440 = 0
+    6441 = 0
+    6446 = 0
+    6447 = 0
+    6466 = 0
+    6467 = 0
+    6468 = 0
+    6469 = 0
+    6510 = 0
+    6511 = 0
+    6513 = 0
+    6514 = 0
+    6521 = 0
+    6522 = 0
+    6525 = 0
+    6527 = 0
+    6526 = 0
+    6528 = 0
+    6531 = 0
+    6532 = 0
+    6533 = 0
+    6534 = 0
+    6547 = 0
+    6548 = 0
+    6549 = 0
+    6550 = 0
+DEAL::FE=FESystem<3>[FE_Q<3>(3)^3], case=5
+    0 = 0
+    1 = 0
+    2 = 0
+    4 = 0
+    5 = 0
+    6 = 0
+    8 = 0
+    11 = 0
+    12 = 0
+    13 = 0
+    16 = 0
+    18 = 0
+    24 = 0
+    28 = 0
+    25 = 0
+    29 = 0
+    34 = 0
+    35 = 0
+    38 = 0
+    40 = 0
+    39 = 0
+    41 = 0
+    46 = 0
+    47 = 0
+    48 = 0
+    49 = 0
+    62 = 0
+    63 = 0
+    72 = 0
+    74 = 0
+    73 = 0
+    75 = 0
+    80 = 0
+    81 = 0
+    84 = 0
+    85 = 0
+    96 = 0
+    97 = 0
+    98 = 0
+    99 = 0
+    124 = 0
+    125 = 0
+    126 = 0
+    127 = 0
+    152 = 0
+    153 = 0
+    154 = 0
+    155 = 0
+    193 = 0
+    194 = 0
+    197 = 0
+    199 = 0
+    208 = 0
+    209 = 0
+    212 = 0
+    214 = 0
+    213 = 0
+    215 = 0
+    220 = 0
+    221 = 0
+    230 = 0
+    231 = 0
+    242 = 0
+    243 = 0
+    268 = 0
+    269 = 0
+    270 = 0
+    271 = 0
+    296 = 0
+    297 = 0
+    298 = 0
+    299 = 0
+    336 = 0
+    338 = 0
+    341 = 0
+    342 = 0
+    348 = 0
+    352 = 0
+    349 = 0
+    353 = 0
+    358 = 0
+    359 = 0
+    364 = 0
+    365 = 0
+    366 = 0
+    367 = 0
+    384 = 0
+    385 = 0
+    396 = 0
+    397 = 0
+    398 = 0
+    399 = 0
+    440 = 0
+    441 = 0
+    442 = 0
+    443 = 0
+    482 = 0
+    490 = 0
+    491 = 0
+    496 = 0
+    497 = 0
+    548 = 0
+    549 = 0
+    550 = 0
+    551 = 0
+    588 = 0
+    589 = 0
+    592 = 0
+    594 = 0
+    600 = 0
+    601 = 0
+    614 = 0
+    615 = 0
+    624 = 0
+    626 = 0
+    625 = 0
+    627 = 0
+    632 = 0
+    633 = 0
+    636 = 0
+    637 = 0
+    648 = 0
+    649 = 0
+    650 = 0
+    651 = 0
+    676 = 0
+    677 = 0
+    678 = 0
+    679 = 0
+    733 = 0
+    746 = 0
+    747 = 0
+    758 = 0
+    759 = 0
+    784 = 0
+    785 = 0
+    786 = 0
+    787 = 0
+    840 = 0
+    846 = 0
+    847 = 0
+    864 = 0
+    865 = 0
+    876 = 0
+    877 = 0
+    878 = 0
+    879 = 0
+    1030 = 0
+    1031 = 0
+    1034 = 0
+    1036 = 0
+    1045 = 0
+    1046 = 0
+    1049 = 0
+    1051 = 0
+    1050 = 0
+    1052 = 0
+    1057 = 0
+    1058 = 0
+    1067 = 0
+    1068 = 0
+    1079 = 0
+    1080 = 0
+    1105 = 0
+    1106 = 0
+    1107 = 0
+    1108 = 0
+    1133 = 0
+    1134 = 0
+    1135 = 0
+    1136 = 0
+    1173 = 0
+    1174 = 0
+    1175 = 0
+    1176 = 0
+    1178 = 0
+    1179 = 0
+    1180 = 0
+    1182 = 0
+    1185 = 0
+    1189 = 0
+    1186 = 0
+    1190 = 0
+    1193 = 0
+    1195 = 0
+    1194 = 0
+    1196 = 0
+    1201 = 0
+    1202 = 0
+    1203 = 0
+    1204 = 0
+    1211 = 0
+    1212 = 0
+    1221 = 0
+    1223 = 0
+    1222 = 0
+    1224 = 0
+    1227 = 0
+    1228 = 0
+    1233 = 0
+    1234 = 0
+    1235 = 0
+    1236 = 0
+    1249 = 0
+    1250 = 0
+    1251 = 0
+    1252 = 0
+    1277 = 0
+    1278 = 0
+    1279 = 0
+    1280 = 0
+    1319 = 0
+    1327 = 0
+    1328 = 0
+    1333 = 0
+    1334 = 0
+    1385 = 0
+    1386 = 0
+    1387 = 0
+    1388 = 0
+    1425 = 0
+    1427 = 0
+    1428 = 0
+    1431 = 0
+    1435 = 0
+    1432 = 0
+    1436 = 0
+    1441 = 0
+    1442 = 0
+    1443 = 0
+    1444 = 0
+    1455 = 0
+    1456 = 0
+    1461 = 0
+    1462 = 0
+    1463 = 0
+    1464 = 0
+    1493 = 0
+    1494 = 0
+    1495 = 0
+    1496 = 0
+    1534 = 0
+    1547 = 0
+    1548 = 0
+    1559 = 0
+    1560 = 0
+    1585 = 0
+    1586 = 0
+    1587 = 0
+    1588 = 0
+    1641 = 0
+    1642 = 0
+    1644 = 0
+    1647 = 0
+    1648 = 0
+    1655 = 0
+    1656 = 0
+    1665 = 0
+    1667 = 0
+    1666 = 0
+    1668 = 0
+    1671 = 0
+    1672 = 0
+    1677 = 0
+    1678 = 0
+    1679 = 0
+    1680 = 0
+    1693 = 0
+    1694 = 0
+    1695 = 0
+    1696 = 0
+    1830 = 0
+    1833 = 0
+    1834 = 0
+    1845 = 0
+    1846 = 0
+    1851 = 0
+    1852 = 0
+    1853 = 0
+    1854 = 0
+    1911 = 0
+    1913 = 0
+    1916 = 0
+    1917 = 0
+    1923 = 0
+    1927 = 0
+    1924 = 0
+    1928 = 0
+    1933 = 0
+    1934 = 0
+    1939 = 0
+    1940 = 0
+    1941 = 0
+    1942 = 0
+    1959 = 0
+    1960 = 0
+    1971 = 0
+    1972 = 0
+    1973 = 0
+    1974 = 0
+    2015 = 0
+    2016 = 0
+    2017 = 0
+    2018 = 0
+    2057 = 0
+    2065 = 0
+    2066 = 0
+    2071 = 0
+    2072 = 0
+    2123 = 0
+    2124 = 0
+    2125 = 0
+    2126 = 0
+    2163 = 0
+    2164 = 0
+    2165 = 0
+    2167 = 0
+    2168 = 0
+    2169 = 0
+    2170 = 0
+    2173 = 0
+    2175 = 0
+    2179 = 0
+    2176 = 0
+    2180 = 0
+    2185 = 0
+    2186 = 0
+    2189 = 0
+    2191 = 0
+    2190 = 0
+    2192 = 0
+    2193 = 0
+    2194 = 0
+    2207 = 0
+    2208 = 0
+    2211 = 0
+    2213 = 0
+    2212 = 0
+    2214 = 0
+    2219 = 0
+    2220 = 0
+    2223 = 0
+    2224 = 0
+    2225 = 0
+    2226 = 0
+    2251 = 0
+    2252 = 0
+    2253 = 0
+    2254 = 0
+    2267 = 0
+    2268 = 0
+    2269 = 0
+    2270 = 0
+    2308 = 0
+    2309 = 0
+    2311 = 0
+    2317 = 0
+    2318 = 0
+    2321 = 0
+    2323 = 0
+    2322 = 0
+    2324 = 0
+    2333 = 0
+    2334 = 0
+    2339 = 0
+    2340 = 0
+    2359 = 0
+    2360 = 0
+    2361 = 0
+    2362 = 0
+    2375 = 0
+    2376 = 0
+    2377 = 0
+    2378 = 0
+    2415 = 0
+    2421 = 0
+    2422 = 0
+    2439 = 0
+    2440 = 0
+    2451 = 0
+    2452 = 0
+    2453 = 0
+    2454 = 0
+    2604 = 0
+    2605 = 0
+    2608 = 0
+    2610 = 0
+    2611 = 0
+    2624 = 0
+    2625 = 0
+    2628 = 0
+    2630 = 0
+    2629 = 0
+    2631 = 0
+    2636 = 0
+    2637 = 0
+    2640 = 0
+    2641 = 0
+    2642 = 0
+    2643 = 0
+    2668 = 0
+    2669 = 0
+    2670 = 0
+    2671 = 0
+    2713 = 0
+    2723 = 0
+    2724 = 0
+    2729 = 0
+    2730 = 0
+    2749 = 0
+    2750 = 0
+    2751 = 0
+    2752 = 0
+    2795 = 0
+    2803 = 0
+    2804 = 0
+    2809 = 0
+    2810 = 0
+    2861 = 0
+    2862 = 0
+    2863 = 0
+    2864 = 0
+    2901 = 0
+    2903 = 0
+    2904 = 0
+    2907 = 0
+    2911 = 0
+    2908 = 0
+    2912 = 0
+    2917 = 0
+    2918 = 0
+    2919 = 0
+    2920 = 0
+    2931 = 0
+    2932 = 0
+    2937 = 0
+    2938 = 0
+    2939 = 0
+    2940 = 0
+    2969 = 0
+    2970 = 0
+    2971 = 0
+    2972 = 0
+    3010 = 0
+    3011 = 0
+    3013 = 0
+    3019 = 0
+    3020 = 0
+    3023 = 0
+    3025 = 0
+    3024 = 0
+    3026 = 0
+    3035 = 0
+    3036 = 0
+    3041 = 0
+    3042 = 0
+    3061 = 0
+    3062 = 0
+    3063 = 0
+    3064 = 0
+    3077 = 0
+    3078 = 0
+    3079 = 0
+    3080 = 0
+    3117 = 0
+    3118 = 0
+    3119 = 0
+    3120 = 0
+    3121 = 0
+    3123 = 0
+    3127 = 0
+    3124 = 0
+    3128 = 0
+    3131 = 0
+    3133 = 0
+    3132 = 0
+    3134 = 0
+    3135 = 0
+    3136 = 0
+    3143 = 0
+    3144 = 0
+    3147 = 0
+    3149 = 0
+    3148 = 0
+    3150 = 0
+    3153 = 0
+    3154 = 0
+    3155 = 0
+    3156 = 0
+    3169 = 0
+    3170 = 0
+    3171 = 0
+    3172 = 0
+    3185 = 0
+    3186 = 0
+    3187 = 0
+    3188 = 0
+    3306 = 0
+    3309 = 0
+    3310 = 0
+    3321 = 0
+    3322 = 0
+    3327 = 0
+    3328 = 0
+    3329 = 0
+    3330 = 0
+    3388 = 0
+    3398 = 0
+    3399 = 0
+    3404 = 0
+    3405 = 0
+    3424 = 0
+    3425 = 0
+    3426 = 0
+    3427 = 0
+    3468 = 0
+    3469 = 0
+    3471 = 0
+    3472 = 0
+    3479 = 0
+    3480 = 0
+    3483 = 0
+    3485 = 0
+    3484 = 0
+    3486 = 0
+    3489 = 0
+    3490 = 0
+    3491 = 0
+    3492 = 0
+    3505 = 0
+    3506 = 0
+    3507 = 0
+    3508 = 0
+    3549 = 0
+    3550 = 0
+    3553 = 0
+    3555 = 0
+    3561 = 0
+    3562 = 0
+    3575 = 0
+    3576 = 0
+    3585 = 0
+    3587 = 0
+    3586 = 0
+    3588 = 0
+    3593 = 0
+    3594 = 0
+    3597 = 0
+    3598 = 0
+    3609 = 0
+    3610 = 0
+    3611 = 0
+    3612 = 0
+    3637 = 0
+    3638 = 0
+    3639 = 0
+    3640 = 0
+    3694 = 0
+    3707 = 0
+    3708 = 0
+    3719 = 0
+    3720 = 0
+    3745 = 0
+    3746 = 0
+    3747 = 0
+    3748 = 0
+    3801 = 0
+    3807 = 0
+    3808 = 0
+    3825 = 0
+    3826 = 0
+    3837 = 0
+    3838 = 0
+    3839 = 0
+    3840 = 0
+    3990 = 0
+    3991 = 0
+    3992 = 0
+    3994 = 0
+    3995 = 0
+    3996 = 0
+    3998 = 0
+    4001 = 0
+    4002 = 0
+    4006 = 0
+    4003 = 0
+    4007 = 0
+    4012 = 0
+    4013 = 0
+    4016 = 0
+    4018 = 0
+    4017 = 0
+    4019 = 0
+    4024 = 0
+    4025 = 0
+    4026 = 0
+    4028 = 0
+    4027 = 0
+    4029 = 0
+    4034 = 0
+    4035 = 0
+    4038 = 0
+    4039 = 0
+    4050 = 0
+    4051 = 0
+    4052 = 0
+    4053 = 0
+    4078 = 0
+    4079 = 0
+    4080 = 0
+    4081 = 0
+    4106 = 0
+    4107 = 0
+    4108 = 0
+    4109 = 0
+    4135 = 0
+    4136 = 0
+    4139 = 0
+    4144 = 0
+    4145 = 0
+    4148 = 0
+    4150 = 0
+    4149 = 0
+    4151 = 0
+    4156 = 0
+    4157 = 0
+    4160 = 0
+    4161 = 0
+    4186 = 0
+    4187 = 0
+    4188 = 0
+    4189 = 0
+    4214 = 0
+    4215 = 0
+    4216 = 0
+    4217 = 0
+    4242 = 0
+    4244 = 0
+    4247 = 0
+    4248 = 0
+    4252 = 0
+    4249 = 0
+    4253 = 0
+    4258 = 0
+    4259 = 0
+    4264 = 0
+    4265 = 0
+    4266 = 0
+    4267 = 0
+    4278 = 0
+    4279 = 0
+    4280 = 0
+    4281 = 0
+    4322 = 0
+    4323 = 0
+    4324 = 0
+    4325 = 0
+    4352 = 0
+    4357 = 0
+    4358 = 0
+    4363 = 0
+    4364 = 0
+    4403 = 0
+    4404 = 0
+    4405 = 0
+    4406 = 0
+    4432 = 0
+    4445 = 0
+    4446 = 0
+    4457 = 0
+    4458 = 0
+    4483 = 0
+    4484 = 0
+    4485 = 0
+    4486 = 0
+    4539 = 0
+    4540 = 0
+    4542 = 0
+    4545 = 0
+    4546 = 0
+    4553 = 0
+    4554 = 0
+    4563 = 0
+    4565 = 0
+    4564 = 0
+    4566 = 0
+    4569 = 0
+    4570 = 0
+    4575 = 0
+    4576 = 0
+    4577 = 0
+    4578 = 0
+    4591 = 0
+    4592 = 0
+    4593 = 0
+    4594 = 0
+    4728 = 0
+    4731 = 0
+    4732 = 0
+    4743 = 0
+    4744 = 0
+    4749 = 0
+    4750 = 0
+    4751 = 0
+    4752 = 0
+    4810 = 0
+    4811 = 0
+    4814 = 0
+    4819 = 0
+    4820 = 0
+    4823 = 0
+    4825 = 0
+    4824 = 0
+    4826 = 0
+    4831 = 0
+    4832 = 0
+    4835 = 0
+    4836 = 0
+    4861 = 0
+    4862 = 0
+    4863 = 0
+    4864 = 0
+    4889 = 0
+    4890 = 0
+    4891 = 0
+    4892 = 0
+    4917 = 0
+    4918 = 0
+    4919 = 0
+    4920 = 0
+    4922 = 0
+    4923 = 0
+    4927 = 0
+    4924 = 0
+    4928 = 0
+    4931 = 0
+    4933 = 0
+    4932 = 0
+    4934 = 0
+    4939 = 0
+    4940 = 0
+    4941 = 0
+    4943 = 0
+    4942 = 0
+    4944 = 0
+    4947 = 0
+    4948 = 0
+    4953 = 0
+    4954 = 0
+    4955 = 0
+    4956 = 0
+    4969 = 0
+    4970 = 0
+    4971 = 0
+    4972 = 0
+    4997 = 0
+    4998 = 0
+    4999 = 0
+    5000 = 0
+    5027 = 0
+    5032 = 0
+    5033 = 0
+    5038 = 0
+    5039 = 0
+    5078 = 0
+    5079 = 0
+    5080 = 0
+    5081 = 0
+    5106 = 0
+    5108 = 0
+    5109 = 0
+    5113 = 0
+    5110 = 0
+    5114 = 0
+    5119 = 0
+    5120 = 0
+    5121 = 0
+    5122 = 0
+    5127 = 0
+    5128 = 0
+    5129 = 0
+    5130 = 0
+    5159 = 0
+    5160 = 0
+    5161 = 0
+    5162 = 0
+    5187 = 0
+    5193 = 0
+    5194 = 0
+    5211 = 0
+    5212 = 0
+    5223 = 0
+    5224 = 0
+    5225 = 0
+    5226 = 0
+    5376 = 0
+    5377 = 0
+    5380 = 0
+    5382 = 0
+    5383 = 0
+    5396 = 0
+    5397 = 0
+    5400 = 0
+    5402 = 0
+    5401 = 0
+    5403 = 0
+    5408 = 0
+    5409 = 0
+    5412 = 0
+    5413 = 0
+    5414 = 0
+    5415 = 0
+    5440 = 0
+    5441 = 0
+    5442 = 0
+    5443 = 0
+    5485 = 0
+    5495 = 0
+    5496 = 0
+    5501 = 0
+    5502 = 0
+    5521 = 0
+    5522 = 0
+    5523 = 0
+    5524 = 0
+    5565 = 0
+    5567 = 0
+    5570 = 0
+    5571 = 0
+    5575 = 0
+    5572 = 0
+    5576 = 0
+    5581 = 0
+    5582 = 0
+    5587 = 0
+    5588 = 0
+    5589 = 0
+    5590 = 0
+    5601 = 0
+    5602 = 0
+    5603 = 0
+    5604 = 0
+    5645 = 0
+    5646 = 0
+    5647 = 0
+    5648 = 0
+    5675 = 0
+    5680 = 0
+    5681 = 0
+    5686 = 0
+    5687 = 0
+    5726 = 0
+    5727 = 0
+    5728 = 0
+    5729 = 0
+    5754 = 0
+    5755 = 0
+    5756 = 0
+    5758 = 0
+    5759 = 0
+    5760 = 0
+    5764 = 0
+    5761 = 0
+    5765 = 0
+    5770 = 0
+    5771 = 0
+    5774 = 0
+    5776 = 0
+    5775 = 0
+    5777 = 0
+    5778 = 0
+    5780 = 0
+    5779 = 0
+    5781 = 0
+    5786 = 0
+    5787 = 0
+    5790 = 0
+    5791 = 0
+    5792 = 0
+    5793 = 0
+    5818 = 0
+    5819 = 0
+    5820 = 0
+    5821 = 0
+    5834 = 0
+    5835 = 0
+    5836 = 0
+    5837 = 0
+    5863 = 0
+    5864 = 0
+    5869 = 0
+    5870 = 0
+    5873 = 0
+    5875 = 0
+    5874 = 0
+    5876 = 0
+    5879 = 0
+    5880 = 0
+    5899 = 0
+    5900 = 0
+    5901 = 0
+    5902 = 0
+    5915 = 0
+    5916 = 0
+    5917 = 0
+    5918 = 0
+    6024 = 0
+    6027 = 0
+    6028 = 0
+    6039 = 0
+    6040 = 0
+    6045 = 0
+    6046 = 0
+    6047 = 0
+    6048 = 0
+    6106 = 0
+    6116 = 0
+    6117 = 0
+    6122 = 0
+    6123 = 0
+    6142 = 0
+    6143 = 0
+    6144 = 0
+    6145 = 0
+    6186 = 0
+    6187 = 0
+    6189 = 0
+    6190 = 0
+    6197 = 0
+    6198 = 0
+    6201 = 0
+    6203 = 0
+    6202 = 0
+    6204 = 0
+    6207 = 0
+    6208 = 0
+    6209 = 0
+    6210 = 0
+    6223 = 0
+    6224 = 0
+    6225 = 0
+    6226 = 0
+    6269 = 0
+    6274 = 0
+    6275 = 0
+    6280 = 0
+    6281 = 0
+    6320 = 0
+    6321 = 0
+    6322 = 0
+    6323 = 0
+    6348 = 0
+    6350 = 0
+    6351 = 0
+    6355 = 0
+    6352 = 0
+    6356 = 0
+    6361 = 0
+    6362 = 0
+    6363 = 0
+    6364 = 0
+    6369 = 0
+    6370 = 0
+    6371 = 0
+    6372 = 0
+    6401 = 0
+    6402 = 0
+    6403 = 0
+    6404 = 0
+    6430 = 0
+    6431 = 0
+    6436 = 0
+    6437 = 0
+    6440 = 0
+    6442 = 0
+    6441 = 0
+    6443 = 0
+    6446 = 0
+    6447 = 0
+    6466 = 0
+    6467 = 0
+    6468 = 0
+    6469 = 0
+    6482 = 0
+    6483 = 0
+    6484 = 0
+    6485 = 0
+    6510 = 0
+    6511 = 0
+    6512 = 0
+    6513 = 0
+    6517 = 0
+    6514 = 0
+    6518 = 0
+    6521 = 0
+    6523 = 0
+    6522 = 0
+    6524 = 0
+    6525 = 0
+    6527 = 0
+    6526 = 0
+    6528 = 0
+    6531 = 0
+    6532 = 0
+    6533 = 0
+    6534 = 0
+    6547 = 0
+    6548 = 0
+    6549 = 0
+    6550 = 0
+    6563 = 0
+    6564 = 0
+    6565 = 0
+    6566 = 0
diff --git a/tests/deal.II/no_flux_02.cc b/tests/deal.II/no_flux_02.cc
new file mode 100644 (file)
index 0000000..7dccf6d
--- /dev/null
@@ -0,0 +1,94 @@
+//----------------------------------------------------------------------
+//    $Id$
+//    Version: $Name$ 
+//
+//    Copyright (C) 2007, 2008 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.
+//
+//----------------------------------------------------------------------
+
+// check the creation of no-flux boundary conditions for a finite
+// element that consists of more than dim components and where
+// therefore we have to pick the vector components from somewhere in
+// the middle
+
+
+#include "../tests.h"
+#include <base/logstream.h>
+#include <base/function.h>
+#include <base/quadrature_lib.h>
+#include <lac/vector.h>
+#include <grid/grid_generator.h>
+#include <dofs/dof_handler.h>
+#include <dofs/dof_constraints.h>
+#include <fe/fe_q.h>
+#include <fe/fe_system.h>
+#include <fe/mapping_q1.h>
+#include <numerics/vectors.h>
+
+#include <fstream>
+
+
+
+template<int dim>
+void test_projection (const Triangulation<dim>& tr,
+                     const FiniteElement<dim>& fe)
+{
+  DoFHandler<dim> dof(tr);
+  dof.distribute_dofs(fe);
+
+  for (unsigned int i=0; i<GeometryInfo<dim>::faces_per_cell; ++i)
+    {
+      deallog << "FE=" << fe.get_name()
+             << ", case=" << i
+             << std::endl;
+
+      std::set<unsigned char> boundary_ids;
+      for (unsigned int j=0; j<=i; ++j)
+       boundary_ids.insert (j);
+      
+      ConstraintMatrix cm;
+      VectorTools::compute_no_normal_flux_constraints (dof, 1, boundary_ids, cm);
+
+      cm.print (deallog.get_file_stream ());
+    }
+}
+
+
+template<int dim>
+void test_hyper_cube()
+{
+  Triangulation<dim> tr;
+  GridGenerator::hyper_cube(tr);
+
+  for (unsigned int i=0; i<GeometryInfo<dim>::faces_per_cell; ++i)
+    tr.begin_active()->face(i)->set_boundary_indicator (i);
+  
+  tr.refine_global(2);
+
+  for (unsigned int degree=1; degree<4; ++degree)
+    {
+      FESystem<dim> fe (FE_Q<dim>(degree+1), 1,
+                       FE_Q<dim>(degree), dim,
+                       FE_Q<dim>(degree+1), 1);
+      test_projection(tr, fe);
+    }
+}
+
+
+int main()
+{
+  std::ofstream logfile ("no_flux_02/output");
+  logfile.precision (2);
+  logfile.setf(std::ios::fixed);  
+  deallog.attach(logfile);
+  deallog.depth_console (0);
+  deallog.threshold_double(1.e-12);
+
+  test_hyper_cube<2>();
+  test_hyper_cube<3>();
+}
diff --git a/tests/deal.II/no_flux_02/cmp/generic b/tests/deal.II/no_flux_02/cmp/generic
new file mode 100644 (file)
index 0000000..3dfa219
--- /dev/null
@@ -0,0 +1,4088 @@
+JobId unknown Wed Jan 23 17:39:41 2008
+DEAL::FE=FESystem<2>[FE_Q<2>(2)-FE_Q<2>(1)^2-FE_Q<2>(2)], case=0
+    1 = 0
+    9 = 0
+    43 = 0
+    121 = 0
+    147 = 0
+DEAL::FE=FESystem<2>[FE_Q<2>(2)-FE_Q<2>(1)^2-FE_Q<2>(2)], case=1
+    1 = 0
+    9 = 0
+    43 = 0
+    85 = 0
+    89 = 0
+    111 = 0
+    121 = 0
+    147 = 0
+    183 = 0
+    203 = 0
+DEAL::FE=FESystem<2>[FE_Q<2>(2)-FE_Q<2>(1)^2-FE_Q<2>(2)], case=2
+    1 = 0
+    32767 = 0
+    9 = 0
+    43 = 0
+    85 = 0
+    89 = 0
+    111 = 0
+    121 = 0
+    147 = 0
+    183 = 0
+    203 = 0
+DEAL::FE=FESystem<2>[FE_Q<2>(2)-FE_Q<2>(1)^2-FE_Q<2>(2)], case=3
+    1 = 0
+    32767 = 0
+    9 = 0
+    43 = 0
+    85 = 0
+    89 = 0
+    111 = 0
+    121 = 0
+    147 = 0
+    183 = 0
+    203 = 0
+DEAL::FE=FESystem<2>[FE_Q<2>(3)-FE_Q<2>(2)^2-FE_Q<2>(3)], case=0
+    1 = 0
+    9 = 0
+    18 = 0
+    87 = 0
+    96 = 0
+    273 = 0
+    282 = 0
+    335 = 0
+    344 = 0
+DEAL::FE=FESystem<2>[FE_Q<2>(3)-FE_Q<2>(2)^2-FE_Q<2>(3)], case=1
+    1 = 0
+    9 = 0
+    18 = 0
+    87 = 0
+    96 = 0
+    185 = 0
+    189 = 0
+    194 = 0
+    247 = 0
+    252 = 0
+    273 = 0
+    282 = 0
+    335 = 0
+    344 = 0
+    423 = 0
+    428 = 0
+    475 = 0
+    480 = 0
+DEAL::FE=FESystem<2>[FE_Q<2>(3)-FE_Q<2>(2)^2-FE_Q<2>(3)], case=2
+    1 = 0
+    32767 = 0
+    9 = 0
+    18 = 0
+    87 = 0
+    96 = 0
+    185 = 0
+    189 = 0
+    194 = 0
+    247 = 0
+    252 = 0
+    273 = 0
+    282 = 0
+    335 = 0
+    344 = 0
+    423 = 0
+    428 = 0
+    475 = 0
+    480 = 0
+DEAL::FE=FESystem<2>[FE_Q<2>(3)-FE_Q<2>(2)^2-FE_Q<2>(3)], case=3
+    1 = 0
+    32767 = 0
+    9 = 0
+    18 = 0
+    87 = 0
+    96 = 0
+    185 = 0
+    189 = 0
+    194 = 0
+    247 = 0
+    252 = 0
+    273 = 0
+    282 = 0
+    335 = 0
+    344 = 0
+    423 = 0
+    428 = 0
+    475 = 0
+    480 = 0
+DEAL::FE=FESystem<2>[FE_Q<2>(4)-FE_Q<2>(3)^2-FE_Q<2>(4)], case=0
+    1 = 0
+    9 = 0
+    19 = 0
+    20 = 0
+    147 = 0
+    157 = 0
+    158 = 0
+    489 = 0
+    499 = 0
+    500 = 0
+    603 = 0
+    613 = 0
+    614 = 0
+DEAL::FE=FESystem<2>[FE_Q<2>(4)-FE_Q<2>(3)^2-FE_Q<2>(4)], case=1
+    1 = 0
+    9 = 0
+    19 = 0
+    20 = 0
+    147 = 0
+    157 = 0
+    158 = 0
+    325 = 0
+    329 = 0
+    335 = 0
+    336 = 0
+    439 = 0
+    445 = 0
+    446 = 0
+    489 = 0
+    499 = 0
+    500 = 0
+    603 = 0
+    613 = 0
+    614 = 0
+    767 = 0
+    773 = 0
+    774 = 0
+    867 = 0
+    873 = 0
+    874 = 0
+DEAL::FE=FESystem<2>[FE_Q<2>(4)-FE_Q<2>(3)^2-FE_Q<2>(4)], case=2
+    1 = 0
+    32767 = 0
+    9 = 0
+    19 = 0
+    20 = 0
+    147 = 0
+    157 = 0
+    158 = 0
+    325 = 0
+    329 = 0
+    335 = 0
+    336 = 0
+    439 = 0
+    445 = 0
+    446 = 0
+    489 = 0
+    499 = 0
+    500 = 0
+    603 = 0
+    613 = 0
+    614 = 0
+    767 = 0
+    773 = 0
+    774 = 0
+    867 = 0
+    873 = 0
+    874 = 0
+DEAL::FE=FESystem<2>[FE_Q<2>(4)-FE_Q<2>(3)^2-FE_Q<2>(4)], case=3
+    1 = 0
+    32767 = 0
+    9 = 0
+    19 = 0
+    20 = 0
+    147 = 0
+    157 = 0
+    158 = 0
+    325 = 0
+    329 = 0
+    335 = 0
+    336 = 0
+    439 = 0
+    445 = 0
+    446 = 0
+    489 = 0
+    499 = 0
+    500 = 0
+    603 = 0
+    613 = 0
+    614 = 0
+    767 = 0
+    773 = 0
+    774 = 0
+    867 = 0
+    873 = 0
+    874 = 0
+DEAL::FE=FESystem<3>[FE_Q<3>(2)-FE_Q<3>(1)^3-FE_Q<3>(2)], case=0
+    1 = 0
+    11 = 0
+    21 = 0
+    31 = 0
+    127 = 0
+    137 = 0
+    205 = 0
+    215 = 0
+    283 = 0
+    586 = 0
+    596 = 0
+    664 = 0
+    674 = 0
+    742 = 0
+    791 = 0
+    1036 = 0
+    1046 = 0
+    1114 = 0
+    1163 = 0
+    1173 = 0
+    1241 = 0
+    1486 = 0
+    1535 = 0
+    1584 = 0
+    1633 = 0
+DEAL::FE=FESystem<3>[FE_Q<3>(2)-FE_Q<3>(1)^3-FE_Q<3>(2)], case=1
+    1 = 0
+    11 = 0
+    21 = 0
+    31 = 0
+    127 = 0
+    137 = 0
+    205 = 0
+    215 = 0
+    283 = 0
+    380 = 0
+    385 = 0
+    390 = 0
+    395 = 0
+    458 = 0
+    463 = 0
+    518 = 0
+    523 = 0
+    567 = 0
+    586 = 0
+    596 = 0
+    664 = 0
+    674 = 0
+    742 = 0
+    791 = 0
+    870 = 0
+    875 = 0
+    930 = 0
+    935 = 0
+    979 = 0
+    1017 = 0
+    1036 = 0
+    1046 = 0
+    1114 = 0
+    1163 = 0
+    1173 = 0
+    1241 = 0
+    1320 = 0
+    1325 = 0
+    1369 = 0
+    1418 = 0
+    1423 = 0
+    1467 = 0
+    1486 = 0
+    1535 = 0
+    1584 = 0
+    1633 = 0
+    1701 = 0
+    1739 = 0
+    1777 = 0
+    1815 = 0
+DEAL::FE=FESystem<3>[FE_Q<3>(2)-FE_Q<3>(1)^3-FE_Q<3>(2)], case=2
+    1 = 0
+    32767 = 0
+    11 = 0
+    21 = 0
+    31 = 0
+    127 = 0
+    137 = 0
+    205 = 0
+    215 = 0
+    283 = 0
+    380 = 0
+    385 = 0
+    390 = 0
+    395 = 0
+    458 = 0
+    463 = 0
+    518 = 0
+    523 = 0
+    567 = 0
+    586 = 0
+    596 = 0
+    664 = 0
+    674 = 0
+    742 = 0
+    791 = 0
+    870 = 0
+    875 = 0
+    930 = 0
+    935 = 0
+    979 = 0
+    1017 = 0
+    1036 = 0
+    1046 = 0
+    1114 = 0
+    1163 = 0
+    1173 = 0
+    1241 = 0
+    1320 = 0
+    1325 = 0
+    1369 = 0
+    1418 = 0
+    1423 = 0
+    1467 = 0
+    1486 = 0
+    1535 = 0
+    1584 = 0
+    1633 = 0
+    1701 = 0
+    1739 = 0
+    1777 = 0
+    1815 = 0
+DEAL::FE=FESystem<3>[FE_Q<3>(2)-FE_Q<3>(1)^3-FE_Q<3>(2)], case=3
+    1 = 0
+    32767 = 0
+    11 = 0
+    21 = 0
+    31 = 0
+    127 = 0
+    137 = 0
+    205 = 0
+    215 = 0
+    283 = 0
+    380 = 0
+    385 = 0
+    390 = 0
+    395 = 0
+    458 = 0
+    463 = 0
+    518 = 0
+    523 = 0
+    567 = 0
+    586 = 0
+    596 = 0
+    664 = 0
+    674 = 0
+    742 = 0
+    791 = 0
+    870 = 0
+    875 = 0
+    930 = 0
+    935 = 0
+    979 = 0
+    1017 = 0
+    1036 = 0
+    1046 = 0
+    1114 = 0
+    1163 = 0
+    1173 = 0
+    1241 = 0
+    1320 = 0
+    1325 = 0
+    1369 = 0
+    1418 = 0
+    1423 = 0
+    1467 = 0
+    1486 = 0
+    1535 = 0
+    1584 = 0
+    1633 = 0
+    1701 = 0
+    1739 = 0
+    1777 = 0
+    1815 = 0
+DEAL::FE=FESystem<3>[FE_Q<3>(2)-FE_Q<3>(1)^3-FE_Q<3>(2)], case=4
+    1 = 0
+    32767 = 0
+    2 = 0
+    7 = 0
+    11 = 0
+    12 = 0
+    17 = 0
+    21 = 0
+    31 = 0
+    80 = 0
+    85 = 0
+    127 = 0
+    128 = 0
+    133 = 0
+    137 = 0
+    176 = 0
+    205 = 0
+    215 = 0
+    283 = 0
+    333 = 0
+    338 = 0
+    380 = 0
+    381 = 0
+    385 = 0
+    386 = 0
+    390 = 0
+    395 = 0
+    429 = 0
+    458 = 0
+    459 = 0
+    463 = 0
+    518 = 0
+    523 = 0
+    567 = 0
+    586 = 0
+    587 = 0
+    592 = 0
+    596 = 0
+    635 = 0
+    664 = 0
+    665 = 0
+    670 = 0
+    674 = 0
+    713 = 0
+    742 = 0
+    791 = 0
+    841 = 0
+    870 = 0
+    871 = 0
+    875 = 0
+    901 = 0
+    930 = 0
+    931 = 0
+    935 = 0
+    979 = 0
+    1017 = 0
+    1036 = 0
+    1046 = 0
+    1114 = 0
+    1163 = 0
+    1173 = 0
+    1241 = 0
+    1320 = 0
+    1325 = 0
+    1369 = 0
+    1418 = 0
+    1423 = 0
+    1467 = 0
+    1486 = 0
+    1535 = 0
+    1584 = 0
+    1633 = 0
+    1701 = 0
+    1739 = 0
+    1777 = 0
+    1815 = 0
+DEAL::FE=FESystem<3>[FE_Q<3>(2)-FE_Q<3>(1)^3-FE_Q<3>(2)], case=5
+    1 = 0
+    32767 = 0
+    2 = 0
+    7 = 0
+    11 = 0
+    12 = 0
+    17 = 0
+    21 = 0
+    31 = 0
+    80 = 0
+    85 = 0
+    127 = 0
+    128 = 0
+    133 = 0
+    137 = 0
+    176 = 0
+    205 = 0
+    215 = 0
+    283 = 0
+    333 = 0
+    338 = 0
+    380 = 0
+    381 = 0
+    385 = 0
+    386 = 0
+    390 = 0
+    395 = 0
+    429 = 0
+    458 = 0
+    459 = 0
+    463 = 0
+    518 = 0
+    523 = 0
+    567 = 0
+    586 = 0
+    587 = 0
+    592 = 0
+    596 = 0
+    635 = 0
+    664 = 0
+    665 = 0
+    670 = 0
+    674 = 0
+    713 = 0
+    742 = 0
+    791 = 0
+    841 = 0
+    870 = 0
+    871 = 0
+    875 = 0
+    901 = 0
+    930 = 0
+    931 = 0
+    935 = 0
+    979 = 0
+    1017 = 0
+    1036 = 0
+    1046 = 0
+    1114 = 0
+    1163 = 0
+    1164 = 0
+    1169 = 0
+    1173 = 0
+    1174 = 0
+    1179 = 0
+    1212 = 0
+    1217 = 0
+    1241 = 0
+    1242 = 0
+    1247 = 0
+    1272 = 0
+    1320 = 0
+    1325 = 0
+    1369 = 0
+    1389 = 0
+    1394 = 0
+    1418 = 0
+    1419 = 0
+    1423 = 0
+    1424 = 0
+    1449 = 0
+    1467 = 0
+    1468 = 0
+    1486 = 0
+    1535 = 0
+    1584 = 0
+    1585 = 0
+    1590 = 0
+    1615 = 0
+    1633 = 0
+    1634 = 0
+    1639 = 0
+    1664 = 0
+    1701 = 0
+    1739 = 0
+    1759 = 0
+    1777 = 0
+    1778 = 0
+    1797 = 0
+    1815 = 0
+    1816 = 0
+DEAL::FE=FESystem<3>[FE_Q<3>(3)-FE_Q<3>(2)^3-FE_Q<3>(3)], case=0
+    1 = 0
+    11 = 0
+    21 = 0
+    31 = 0
+    42 = 0
+    70 = 0
+    98 = 0
+    112 = 0
+    128 = 0
+    360 = 0
+    370 = 0
+    381 = 0
+    402 = 0
+    423 = 0
+    439 = 0
+    618 = 0
+    628 = 0
+    639 = 0
+    667 = 0
+    681 = 0
+    697 = 0
+    876 = 0
+    887 = 0
+    908 = 0
+    924 = 0
+    1950 = 0
+    1960 = 0
+    1971 = 0
+    1992 = 0
+    2013 = 0
+    2029 = 0
+    2208 = 0
+    2218 = 0
+    2229 = 0
+    2250 = 0
+    2271 = 0
+    2287 = 0
+    2466 = 0
+    2477 = 0
+    2498 = 0
+    2514 = 0
+    2652 = 0
+    2663 = 0
+    2684 = 0
+    2700 = 0
+    3582 = 0
+    3592 = 0
+    3603 = 0
+    3631 = 0
+    3645 = 0
+    3661 = 0
+    3840 = 0
+    3851 = 0
+    3872 = 0
+    3888 = 0
+    4026 = 0
+    4036 = 0
+    4047 = 0
+    4075 = 0
+    4089 = 0
+    4105 = 0
+    4284 = 0
+    4295 = 0
+    4316 = 0
+    4332 = 0
+    5214 = 0
+    5225 = 0
+    5246 = 0
+    5262 = 0
+    5400 = 0
+    5411 = 0
+    5432 = 0
+    5448 = 0
+    5586 = 0
+    5597 = 0
+    5618 = 0
+    5634 = 0
+    5772 = 0
+    5783 = 0
+    5804 = 0
+    5820 = 0
+DEAL::FE=FESystem<3>[FE_Q<3>(3)-FE_Q<3>(2)^3-FE_Q<3>(3)], case=1
+    1 = 0
+    11 = 0
+    21 = 0
+    31 = 0
+    42 = 0
+    70 = 0
+    98 = 0
+    112 = 0
+    128 = 0
+    360 = 0
+    370 = 0
+    381 = 0
+    402 = 0
+    423 = 0
+    439 = 0
+    618 = 0
+    628 = 0
+    639 = 0
+    667 = 0
+    681 = 0
+    697 = 0
+    876 = 0
+    887 = 0
+    908 = 0
+    924 = 0
+    1212 = 0
+    1217 = 0
+    1222 = 0
+    1227 = 0
+    1233 = 0
+    1254 = 0
+    1275 = 0
+    1282 = 0
+    1291 = 0
+    1470 = 0
+    1475 = 0
+    1481 = 0
+    1495 = 0
+    1509 = 0
+    1518 = 0
+    1686 = 0
+    1691 = 0
+    1697 = 0
+    1718 = 0
+    1725 = 0
+    1734 = 0
+    1872 = 0
+    1878 = 0
+    1892 = 0
+    1901 = 0
+    1950 = 0
+    1960 = 0
+    1971 = 0
+    1992 = 0
+    2013 = 0
+    2029 = 0
+    2208 = 0
+    2218 = 0
+    2229 = 0
+    2250 = 0
+    2271 = 0
+    2287 = 0
+    2466 = 0
+    2477 = 0
+    2498 = 0
+    2514 = 0
+    2652 = 0
+    2663 = 0
+    2684 = 0
+    2700 = 0
+    2946 = 0
+    2951 = 0
+    2957 = 0
+    2971 = 0
+    2985 = 0
+    2994 = 0
+    3162 = 0
+    3167 = 0
+    3173 = 0
+    3187 = 0
+    3201 = 0
+    3210 = 0
+    3348 = 0
+    3354 = 0
+    3368 = 0
+    3377 = 0
+    3504 = 0
+    3510 = 0
+    3524 = 0
+    3533 = 0
+    3582 = 0
+    3592 = 0
+    3603 = 0
+    3631 = 0
+    3645 = 0
+    3661 = 0
+    3840 = 0
+    3851 = 0
+    3872 = 0
+    3888 = 0
+    4026 = 0
+    4036 = 0
+    4047 = 0
+    4075 = 0
+    4089 = 0
+    4105 = 0
+    4284 = 0
+    4295 = 0
+    4316 = 0
+    4332 = 0
+    4578 = 0
+    4583 = 0
+    4589 = 0
+    4610 = 0
+    4617 = 0
+    4626 = 0
+    4764 = 0
+    4770 = 0
+    4784 = 0
+    4793 = 0
+    4950 = 0
+    4955 = 0
+    4961 = 0
+    4982 = 0
+    4989 = 0
+    4998 = 0
+    5136 = 0
+    5142 = 0
+    5156 = 0
+    5165 = 0
+    5214 = 0
+    5225 = 0
+    5246 = 0
+    5262 = 0
+    5400 = 0
+    5411 = 0
+    5432 = 0
+    5448 = 0
+    5586 = 0
+    5597 = 0
+    5618 = 0
+    5634 = 0
+    5772 = 0
+    5783 = 0
+    5804 = 0
+    5820 = 0
+    6036 = 0
+    6042 = 0
+    6056 = 0
+    6065 = 0
+    6192 = 0
+    6198 = 0
+    6212 = 0
+    6221 = 0
+    6348 = 0
+    6354 = 0
+    6368 = 0
+    6377 = 0
+    6504 = 0
+    6510 = 0
+    6524 = 0
+    6533 = 0
+DEAL::FE=FESystem<3>[FE_Q<3>(3)-FE_Q<3>(2)^3-FE_Q<3>(3)], case=2
+    1 = 0
+    0 = 0
+    11 = 0
+    21 = 0
+    31 = 0
+    42 = 0
+    70 = 0
+    98 = 0
+    112 = 0
+    128 = 0
+    360 = 0
+    370 = 0
+    381 = 0
+    402 = 0
+    423 = 0
+    439 = 0
+    618 = 0
+    628 = 0
+    639 = 0
+    667 = 0
+    681 = 0
+    697 = 0
+    876 = 0
+    887 = 0
+    908 = 0
+    924 = 0
+    1212 = 0
+    1217 = 0
+    1222 = 0
+    1227 = 0
+    1233 = 0
+    1254 = 0
+    1275 = 0
+    1282 = 0
+    1291 = 0
+    1470 = 0
+    1475 = 0
+    1481 = 0
+    1495 = 0
+    1509 = 0
+    1518 = 0
+    1686 = 0
+    1691 = 0
+    1697 = 0
+    1718 = 0
+    1725 = 0
+    1734 = 0
+    1872 = 0
+    1878 = 0
+    1892 = 0
+    1901 = 0
+    1950 = 0
+    1960 = 0
+    1971 = 0
+    1992 = 0
+    2013 = 0
+    2029 = 0
+    2208 = 0
+    2218 = 0
+    2229 = 0
+    2250 = 0
+    2271 = 0
+    2287 = 0
+    2466 = 0
+    2477 = 0
+    2498 = 0
+    2514 = 0
+    2652 = 0
+    2663 = 0
+    2684 = 0
+    2700 = 0
+    2946 = 0
+    2951 = 0
+    2957 = 0
+    2971 = 0
+    2985 = 0
+    2994 = 0
+    3162 = 0
+    3167 = 0
+    3173 = 0
+    3187 = 0
+    3201 = 0
+    3210 = 0
+    3348 = 0
+    3354 = 0
+    3368 = 0
+    3377 = 0
+    3504 = 0
+    3510 = 0
+    3524 = 0
+    3533 = 0
+    3582 = 0
+    3592 = 0
+    3603 = 0
+    3631 = 0
+    3645 = 0
+    3661 = 0
+    3840 = 0
+    3851 = 0
+    3872 = 0
+    3888 = 0
+    4026 = 0
+    4036 = 0
+    4047 = 0
+    4075 = 0
+    4089 = 0
+    4105 = 0
+    4284 = 0
+    4295 = 0
+    4316 = 0
+    4332 = 0
+    4578 = 0
+    4583 = 0
+    4589 = 0
+    4610 = 0
+    4617 = 0
+    4626 = 0
+    4764 = 0
+    4770 = 0
+    4784 = 0
+    4793 = 0
+    4950 = 0
+    4955 = 0
+    4961 = 0
+    4982 = 0
+    4989 = 0
+    4998 = 0
+    5136 = 0
+    5142 = 0
+    5156 = 0
+    5165 = 0
+    5214 = 0
+    5225 = 0
+    5246 = 0
+    5262 = 0
+    5400 = 0
+    5411 = 0
+    5432 = 0
+    5448 = 0
+    5586 = 0
+    5597 = 0
+    5618 = 0
+    5634 = 0
+    5772 = 0
+    5783 = 0
+    5804 = 0
+    5820 = 0
+    6036 = 0
+    6042 = 0
+    6056 = 0
+    6065 = 0
+    6192 = 0
+    6198 = 0
+    6212 = 0
+    6221 = 0
+    6348 = 0
+    6354 = 0
+    6368 = 0
+    6377 = 0
+    6504 = 0
+    6510 = 0
+    6524 = 0
+    6533 = 0
+DEAL::FE=FESystem<3>[FE_Q<3>(3)-FE_Q<3>(2)^3-FE_Q<3>(3)], case=3
+    1 = 0
+    0 = 0
+    11 = 0
+    21 = 0
+    31 = 0
+    42 = 0
+    70 = 0
+    98 = 0
+    112 = 0
+    128 = 0
+    360 = 0
+    370 = 0
+    381 = 0
+    402 = 0
+    423 = 0
+    439 = 0
+    618 = 0
+    628 = 0
+    639 = 0
+    667 = 0
+    681 = 0
+    697 = 0
+    876 = 0
+    887 = 0
+    908 = 0
+    924 = 0
+    1212 = 0
+    1217 = 0
+    1222 = 0
+    1227 = 0
+    1233 = 0
+    1254 = 0
+    1275 = 0
+    1282 = 0
+    1291 = 0
+    1470 = 0
+    1475 = 0
+    1481 = 0
+    1495 = 0
+    1509 = 0
+    1518 = 0
+    1686 = 0
+    1691 = 0
+    1697 = 0
+    1718 = 0
+    1725 = 0
+    1734 = 0
+    1872 = 0
+    1878 = 0
+    1892 = 0
+    1901 = 0
+    1950 = 0
+    1960 = 0
+    1971 = 0
+    1992 = 0
+    2013 = 0
+    2029 = 0
+    2208 = 0
+    2218 = 0
+    2229 = 0
+    2250 = 0
+    2271 = 0
+    2287 = 0
+    2466 = 0
+    2477 = 0
+    2498 = 0
+    2514 = 0
+    2652 = 0
+    2663 = 0
+    2684 = 0
+    2700 = 0
+    2946 = 0
+    2951 = 0
+    2957 = 0
+    2971 = 0
+    2985 = 0
+    2994 = 0
+    3162 = 0
+    3167 = 0
+    3173 = 0
+    3187 = 0
+    3201 = 0
+    3210 = 0
+    3348 = 0
+    3354 = 0
+    3368 = 0
+    3377 = 0
+    3504 = 0
+    3510 = 0
+    3524 = 0
+    3533 = 0
+    3582 = 0
+    3592 = 0
+    3603 = 0
+    3631 = 0
+    3645 = 0
+    3661 = 0
+    3840 = 0
+    3851 = 0
+    3872 = 0
+    3888 = 0
+    4026 = 0
+    4036 = 0
+    4047 = 0
+    4075 = 0
+    4089 = 0
+    4105 = 0
+    4284 = 0
+    4295 = 0
+    4316 = 0
+    4332 = 0
+    4578 = 0
+    4583 = 0
+    4589 = 0
+    4610 = 0
+    4617 = 0
+    4626 = 0
+    4764 = 0
+    4770 = 0
+    4784 = 0
+    4793 = 0
+    4950 = 0
+    4955 = 0
+    4961 = 0
+    4982 = 0
+    4989 = 0
+    4998 = 0
+    5136 = 0
+    5142 = 0
+    5156 = 0
+    5165 = 0
+    5214 = 0
+    5225 = 0
+    5246 = 0
+    5262 = 0
+    5400 = 0
+    5411 = 0
+    5432 = 0
+    5448 = 0
+    5586 = 0
+    5597 = 0
+    5618 = 0
+    5634 = 0
+    5772 = 0
+    5783 = 0
+    5804 = 0
+    5820 = 0
+    6036 = 0
+    6042 = 0
+    6056 = 0
+    6065 = 0
+    6192 = 0
+    6198 = 0
+    6212 = 0
+    6221 = 0
+    6348 = 0
+    6354 = 0
+    6368 = 0
+    6377 = 0
+    6504 = 0
+    6510 = 0
+    6524 = 0
+    6533 = 0
+DEAL::FE=FESystem<3>[FE_Q<3>(3)-FE_Q<3>(2)^3-FE_Q<3>(3)], case=4
+    1 = 0
+    0 = 0
+    2 = 0
+    7 = 0
+    11 = 0
+    12 = 0
+    17 = 0
+    21 = 0
+    31 = 0
+    42 = 0
+    43 = 0
+    50 = 0
+    57 = 0
+    64 = 0
+    70 = 0
+    98 = 0
+    112 = 0
+    128 = 0
+    173 = 0
+    211 = 0
+    216 = 0
+    232 = 0
+    239 = 0
+    246 = 0
+    323 = 0
+    360 = 0
+    361 = 0
+    366 = 0
+    370 = 0
+    381 = 0
+    382 = 0
+    389 = 0
+    396 = 0
+    402 = 0
+    423 = 0
+    439 = 0
+    473 = 0
+    511 = 0
+    522 = 0
+    529 = 0
+    581 = 0
+    618 = 0
+    628 = 0
+    639 = 0
+    667 = 0
+    681 = 0
+    697 = 0
+    876 = 0
+    887 = 0
+    908 = 0
+    924 = 0
+    1063 = 0
+    1068 = 0
+    1084 = 0
+    1091 = 0
+    1098 = 0
+    1175 = 0
+    1212 = 0
+    1213 = 0
+    1217 = 0
+    1218 = 0
+    1222 = 0
+    1227 = 0
+    1233 = 0
+    1234 = 0
+    1241 = 0
+    1248 = 0
+    1254 = 0
+    1275 = 0
+    1282 = 0
+    1291 = 0
+    1325 = 0
+    1363 = 0
+    1374 = 0
+    1381 = 0
+    1433 = 0
+    1470 = 0
+    1471 = 0
+    1475 = 0
+    1481 = 0
+    1482 = 0
+    1489 = 0
+    1495 = 0
+    1509 = 0
+    1518 = 0
+    1541 = 0
+    1686 = 0
+    1691 = 0
+    1697 = 0
+    1718 = 0
+    1725 = 0
+    1734 = 0
+    1872 = 0
+    1878 = 0
+    1892 = 0
+    1901 = 0
+    1950 = 0
+    1951 = 0
+    1956 = 0
+    1960 = 0
+    1971 = 0
+    1972 = 0
+    1979 = 0
+    1986 = 0
+    1992 = 0
+    2013 = 0
+    2029 = 0
+    2063 = 0
+    2101 = 0
+    2112 = 0
+    2119 = 0
+    2171 = 0
+    2208 = 0
+    2209 = 0
+    2214 = 0
+    2218 = 0
+    2229 = 0
+    2230 = 0
+    2237 = 0
+    2244 = 0
+    2250 = 0
+    2271 = 0
+    2287 = 0
+    2321 = 0
+    2359 = 0
+    2370 = 0
+    2377 = 0
+    2429 = 0
+    2466 = 0
+    2477 = 0
+    2498 = 0
+    2514 = 0
+    2652 = 0
+    2663 = 0
+    2684 = 0
+    2700 = 0
+    2839 = 0
+    2850 = 0
+    2857 = 0
+    2909 = 0
+    2946 = 0
+    2947 = 0
+    2951 = 0
+    2957 = 0
+    2958 = 0
+    2965 = 0
+    2971 = 0
+    2985 = 0
+    2994 = 0
+    3017 = 0
+    3055 = 0
+    3066 = 0
+    3073 = 0
+    3125 = 0
+    3162 = 0
+    3163 = 0
+    3167 = 0
+    3173 = 0
+    3174 = 0
+    3181 = 0
+    3187 = 0
+    3201 = 0
+    3210 = 0
+    3233 = 0
+    3348 = 0
+    3354 = 0
+    3368 = 0
+    3377 = 0
+    3504 = 0
+    3510 = 0
+    3524 = 0
+    3533 = 0
+    3582 = 0
+    3592 = 0
+    3603 = 0
+    3631 = 0
+    3645 = 0
+    3661 = 0
+    3840 = 0
+    3851 = 0
+    3872 = 0
+    3888 = 0
+    4026 = 0
+    4036 = 0
+    4047 = 0
+    4075 = 0
+    4089 = 0
+    4105 = 0
+    4284 = 0
+    4295 = 0
+    4316 = 0
+    4332 = 0
+    4578 = 0
+    4583 = 0
+    4589 = 0
+    4610 = 0
+    4617 = 0
+    4626 = 0
+    4764 = 0
+    4770 = 0
+    4784 = 0
+    4793 = 0
+    4950 = 0
+    4955 = 0
+    4961 = 0
+    4982 = 0
+    4989 = 0
+    4998 = 0
+    5136 = 0
+    5142 = 0
+    5156 = 0
+    5165 = 0
+    5214 = 0
+    5225 = 0
+    5246 = 0
+    5262 = 0
+    5400 = 0
+    5411 = 0
+    5432 = 0
+    5448 = 0
+    5586 = 0
+    5597 = 0
+    5618 = 0
+    5634 = 0
+    5772 = 0
+    5783 = 0
+    5804 = 0
+    5820 = 0
+    6036 = 0
+    6042 = 0
+    6056 = 0
+    6065 = 0
+    6192 = 0
+    6198 = 0
+    6212 = 0
+    6221 = 0
+    6348 = 0
+    6354 = 0
+    6368 = 0
+    6377 = 0
+    6504 = 0
+    6510 = 0
+    6524 = 0
+    6533 = 0
+DEAL::FE=FESystem<3>[FE_Q<3>(3)-FE_Q<3>(2)^3-FE_Q<3>(3)], case=5
+    1 = 0
+    0 = 0
+    2 = 0
+    7 = 0
+    11 = 0
+    12 = 0
+    17 = 0
+    21 = 0
+    31 = 0
+    42 = 0
+    43 = 0
+    50 = 0
+    57 = 0
+    64 = 0
+    70 = 0
+    98 = 0
+    112 = 0
+    128 = 0
+    173 = 0
+    211 = 0
+    216 = 0
+    232 = 0
+    239 = 0
+    246 = 0
+    323 = 0
+    360 = 0
+    361 = 0
+    366 = 0
+    370 = 0
+    381 = 0
+    382 = 0
+    389 = 0
+    396 = 0
+    402 = 0
+    423 = 0
+    439 = 0
+    473 = 0
+    511 = 0
+    522 = 0
+    529 = 0
+    581 = 0
+    618 = 0
+    628 = 0
+    639 = 0
+    667 = 0
+    681 = 0
+    697 = 0
+    876 = 0
+    887 = 0
+    908 = 0
+    924 = 0
+    1063 = 0
+    1068 = 0
+    1084 = 0
+    1091 = 0
+    1098 = 0
+    1175 = 0
+    1212 = 0
+    1213 = 0
+    1217 = 0
+    1218 = 0
+    1222 = 0
+    1227 = 0
+    1233 = 0
+    1234 = 0
+    1241 = 0
+    1248 = 0
+    1254 = 0
+    1275 = 0
+    1282 = 0
+    1291 = 0
+    1325 = 0
+    1363 = 0
+    1374 = 0
+    1381 = 0
+    1433 = 0
+    1470 = 0
+    1471 = 0
+    1475 = 0
+    1481 = 0
+    1482 = 0
+    1489 = 0
+    1495 = 0
+    1509 = 0
+    1518 = 0
+    1541 = 0
+    1686 = 0
+    1691 = 0
+    1697 = 0
+    1718 = 0
+    1725 = 0
+    1734 = 0
+    1872 = 0
+    1878 = 0
+    1892 = 0
+    1901 = 0
+    1950 = 0
+    1951 = 0
+    1956 = 0
+    1960 = 0
+    1971 = 0
+    1972 = 0
+    1979 = 0
+    1986 = 0
+    1992 = 0
+    2013 = 0
+    2029 = 0
+    2063 = 0
+    2101 = 0
+    2112 = 0
+    2119 = 0
+    2171 = 0
+    2208 = 0
+    2209 = 0
+    2214 = 0
+    2218 = 0
+    2229 = 0
+    2230 = 0
+    2237 = 0
+    2244 = 0
+    2250 = 0
+    2271 = 0
+    2287 = 0
+    2321 = 0
+    2359 = 0
+    2370 = 0
+    2377 = 0
+    2429 = 0
+    2466 = 0
+    2477 = 0
+    2498 = 0
+    2514 = 0
+    2652 = 0
+    2663 = 0
+    2684 = 0
+    2700 = 0
+    2839 = 0
+    2850 = 0
+    2857 = 0
+    2909 = 0
+    2946 = 0
+    2947 = 0
+    2951 = 0
+    2957 = 0
+    2958 = 0
+    2965 = 0
+    2971 = 0
+    2985 = 0
+    2994 = 0
+    3017 = 0
+    3055 = 0
+    3066 = 0
+    3073 = 0
+    3125 = 0
+    3162 = 0
+    3163 = 0
+    3167 = 0
+    3173 = 0
+    3174 = 0
+    3181 = 0
+    3187 = 0
+    3201 = 0
+    3210 = 0
+    3233 = 0
+    3348 = 0
+    3354 = 0
+    3368 = 0
+    3377 = 0
+    3504 = 0
+    3510 = 0
+    3524 = 0
+    3533 = 0
+    3582 = 0
+    3592 = 0
+    3603 = 0
+    3631 = 0
+    3645 = 0
+    3661 = 0
+    3840 = 0
+    3851 = 0
+    3872 = 0
+    3888 = 0
+    4026 = 0
+    4027 = 0
+    4032 = 0
+    4036 = 0
+    4037 = 0
+    4042 = 0
+    4047 = 0
+    4048 = 0
+    4055 = 0
+    4062 = 0
+    4069 = 0
+    4075 = 0
+    4089 = 0
+    4105 = 0
+    4150 = 0
+    4177 = 0
+    4182 = 0
+    4188 = 0
+    4195 = 0
+    4202 = 0
+    4258 = 0
+    4284 = 0
+    4285 = 0
+    4290 = 0
+    4295 = 0
+    4296 = 0
+    4303 = 0
+    4310 = 0
+    4316 = 0
+    4332 = 0
+    4366 = 0
+    4393 = 0
+    4399 = 0
+    4406 = 0
+    4444 = 0
+    4578 = 0
+    4583 = 0
+    4589 = 0
+    4610 = 0
+    4617 = 0
+    4626 = 0
+    4764 = 0
+    4770 = 0
+    4784 = 0
+    4793 = 0
+    4843 = 0
+    4848 = 0
+    4854 = 0
+    4861 = 0
+    4868 = 0
+    4924 = 0
+    4950 = 0
+    4951 = 0
+    4955 = 0
+    4956 = 0
+    4961 = 0
+    4962 = 0
+    4969 = 0
+    4976 = 0
+    4982 = 0
+    4989 = 0
+    4998 = 0
+    5032 = 0
+    5059 = 0
+    5065 = 0
+    5072 = 0
+    5110 = 0
+    5136 = 0
+    5137 = 0
+    5142 = 0
+    5143 = 0
+    5150 = 0
+    5156 = 0
+    5165 = 0
+    5188 = 0
+    5214 = 0
+    5225 = 0
+    5246 = 0
+    5262 = 0
+    5400 = 0
+    5411 = 0
+    5432 = 0
+    5448 = 0
+    5586 = 0
+    5587 = 0
+    5592 = 0
+    5597 = 0
+    5598 = 0
+    5605 = 0
+    5612 = 0
+    5618 = 0
+    5634 = 0
+    5668 = 0
+    5695 = 0
+    5701 = 0
+    5708 = 0
+    5746 = 0
+    5772 = 0
+    5773 = 0
+    5778 = 0
+    5783 = 0
+    5784 = 0
+    5791 = 0
+    5798 = 0
+    5804 = 0
+    5820 = 0
+    5854 = 0
+    5881 = 0
+    5887 = 0
+    5894 = 0
+    5932 = 0
+    6036 = 0
+    6042 = 0
+    6056 = 0
+    6065 = 0
+    6192 = 0
+    6198 = 0
+    6212 = 0
+    6221 = 0
+    6271 = 0
+    6277 = 0
+    6284 = 0
+    6322 = 0
+    6348 = 0
+    6349 = 0
+    6354 = 0
+    6355 = 0
+    6362 = 0
+    6368 = 0
+    6377 = 0
+    6400 = 0
+    6427 = 0
+    6433 = 0
+    6440 = 0
+    6478 = 0
+    6504 = 0
+    6505 = 0
+    6510 = 0
+    6511 = 0
+    6518 = 0
+    6524 = 0
+    6533 = 0
+    6556 = 0
+DEAL::FE=FESystem<3>[FE_Q<3>(4)-FE_Q<3>(3)^3-FE_Q<3>(4)], case=0
+    1 = 0
+    11 = 0
+    21 = 0
+    31 = 0
+    43 = 0
+    44 = 0
+    91 = 0
+    92 = 0
+    139 = 0
+    140 = 0
+    163 = 0
+    164 = 0
+    193 = 0
+    194 = 0
+    195 = 0
+    196 = 0
+    787 = 0
+    797 = 0
+    809 = 0
+    810 = 0
+    845 = 0
+    846 = 0
+    881 = 0
+    882 = 0
+    911 = 0
+    912 = 0
+    913 = 0
+    914 = 0
+    1399 = 0
+    1409 = 0
+    1421 = 0
+    1422 = 0
+    1469 = 0
+    1470 = 0
+    1493 = 0
+    1494 = 0
+    1523 = 0
+    1524 = 0
+    1525 = 0
+    1526 = 0
+    2011 = 0
+    2023 = 0
+    2024 = 0
+    2059 = 0
+    2060 = 0
+    2089 = 0
+    2090 = 0
+    2091 = 0
+    2092 = 0
+    4666 = 0
+    4676 = 0
+    4688 = 0
+    4689 = 0
+    4724 = 0
+    4725 = 0
+    4760 = 0
+    4761 = 0
+    4790 = 0
+    4791 = 0
+    4792 = 0
+    4793 = 0
+    5278 = 0
+    5288 = 0
+    5300 = 0
+    5301 = 0
+    5336 = 0
+    5337 = 0
+    5372 = 0
+    5373 = 0
+    5402 = 0
+    5403 = 0
+    5404 = 0
+    5405 = 0
+    5890 = 0
+    5902 = 0
+    5903 = 0
+    5938 = 0
+    5939 = 0
+    5968 = 0
+    5969 = 0
+    5970 = 0
+    5971 = 0
+    6367 = 0
+    6379 = 0
+    6380 = 0
+    6415 = 0
+    6416 = 0
+    6445 = 0
+    6446 = 0
+    6447 = 0
+    6448 = 0
+    8752 = 0
+    8762 = 0
+    8774 = 0
+    8775 = 0
+    8822 = 0
+    8823 = 0
+    8846 = 0
+    8847 = 0
+    8876 = 0
+    8877 = 0
+    8878 = 0
+    8879 = 0
+    9364 = 0
+    9376 = 0
+    9377 = 0
+    9412 = 0
+    9413 = 0
+    9442 = 0
+    9443 = 0
+    9444 = 0
+    9445 = 0
+    9841 = 0
+    9851 = 0
+    9863 = 0
+    9864 = 0
+    9911 = 0
+    9912 = 0
+    9935 = 0
+    9936 = 0
+    9965 = 0
+    9966 = 0
+    9967 = 0
+    9968 = 0
+    10453 = 0
+    10465 = 0
+    10466 = 0
+    10501 = 0
+    10502 = 0
+    10531 = 0
+    10532 = 0
+    10533 = 0
+    10534 = 0
+    12838 = 0
+    12850 = 0
+    12851 = 0
+    12886 = 0
+    12887 = 0
+    12916 = 0
+    12917 = 0
+    12918 = 0
+    12919 = 0
+    13315 = 0
+    13327 = 0
+    13328 = 0
+    13363 = 0
+    13364 = 0
+    13393 = 0
+    13394 = 0
+    13395 = 0
+    13396 = 0
+    13792 = 0
+    13804 = 0
+    13805 = 0
+    13840 = 0
+    13841 = 0
+    13870 = 0
+    13871 = 0
+    13872 = 0
+    13873 = 0
+    14269 = 0
+    14281 = 0
+    14282 = 0
+    14317 = 0
+    14318 = 0
+    14347 = 0
+    14348 = 0
+    14349 = 0
+    14350 = 0
+DEAL::FE=FESystem<3>[FE_Q<3>(4)-FE_Q<3>(3)^3-FE_Q<3>(4)], case=1
+    1 = 0
+    11 = 0
+    21 = 0
+    31 = 0
+    43 = 0
+    44 = 0
+    91 = 0
+    92 = 0
+    139 = 0
+    140 = 0
+    163 = 0
+    164 = 0
+    193 = 0
+    194 = 0
+    195 = 0
+    196 = 0
+    787 = 0
+    797 = 0
+    809 = 0
+    810 = 0
+    845 = 0
+    846 = 0
+    881 = 0
+    882 = 0
+    911 = 0
+    912 = 0
+    913 = 0
+    914 = 0
+    1399 = 0
+    1409 = 0
+    1421 = 0
+    1422 = 0
+    1469 = 0
+    1470 = 0
+    1493 = 0
+    1494 = 0
+    1523 = 0
+    1524 = 0
+    1525 = 0
+    1526 = 0
+    2011 = 0
+    2023 = 0
+    2024 = 0
+    2059 = 0
+    2060 = 0
+    2089 = 0
+    2090 = 0
+    2091 = 0
+    2092 = 0
+    2832 = 0
+    2837 = 0
+    2842 = 0
+    2847 = 0
+    2854 = 0
+    2855 = 0
+    2890 = 0
+    2891 = 0
+    2926 = 0
+    2927 = 0
+    2938 = 0
+    2939 = 0
+    2956 = 0
+    2957 = 0
+    2958 = 0
+    2959 = 0
+    3444 = 0
+    3449 = 0
+    3456 = 0
+    3457 = 0
+    3480 = 0
+    3481 = 0
+    3504 = 0
+    3505 = 0
+    3522 = 0
+    3523 = 0
+    3524 = 0
+    3525 = 0
+    3980 = 0
+    3985 = 0
+    3992 = 0
+    3993 = 0
+    4028 = 0
+    4029 = 0
+    4040 = 0
+    4041 = 0
+    4058 = 0
+    4059 = 0
+    4060 = 0
+    4061 = 0
+    4457 = 0
+    4464 = 0
+    4465 = 0
+    4488 = 0
+    4489 = 0
+    4506 = 0
+    4507 = 0
+    4508 = 0
+    4509 = 0
+    4666 = 0
+    4676 = 0
+    4688 = 0
+    4689 = 0
+    4724 = 0
+    4725 = 0
+    4760 = 0
+    4761 = 0
+    4790 = 0
+    4791 = 0
+    4792 = 0
+    4793 = 0
+    5278 = 0
+    5288 = 0
+    5300 = 0
+    5301 = 0
+    5336 = 0
+    5337 = 0
+    5372 = 0
+    5373 = 0
+    5402 = 0
+    5403 = 0
+    5404 = 0
+    5405 = 0
+    5890 = 0
+    5902 = 0
+    5903 = 0
+    5938 = 0
+    5939 = 0
+    5968 = 0
+    5969 = 0
+    5970 = 0
+    5971 = 0
+    6367 = 0
+    6379 = 0
+    6380 = 0
+    6415 = 0
+    6416 = 0
+    6445 = 0
+    6446 = 0
+    6447 = 0
+    6448 = 0
+    7112 = 0
+    7117 = 0
+    7124 = 0
+    7125 = 0
+    7148 = 0
+    7149 = 0
+    7172 = 0
+    7173 = 0
+    7190 = 0
+    7191 = 0
+    7192 = 0
+    7193 = 0
+    7648 = 0
+    7653 = 0
+    7660 = 0
+    7661 = 0
+    7684 = 0
+    7685 = 0
+    7708 = 0
+    7709 = 0
+    7726 = 0
+    7727 = 0
+    7728 = 0
+    7729 = 0
+    8125 = 0
+    8132 = 0
+    8133 = 0
+    8156 = 0
+    8157 = 0
+    8174 = 0
+    8175 = 0
+    8176 = 0
+    8177 = 0
+    8543 = 0
+    8550 = 0
+    8551 = 0
+    8574 = 0
+    8575 = 0
+    8592 = 0
+    8593 = 0
+    8594 = 0
+    8595 = 0
+    8752 = 0
+    8762 = 0
+    8774 = 0
+    8775 = 0
+    8822 = 0
+    8823 = 0
+    8846 = 0
+    8847 = 0
+    8876 = 0
+    8877 = 0
+    8878 = 0
+    8879 = 0
+    9364 = 0
+    9376 = 0
+    9377 = 0
+    9412 = 0
+    9413 = 0
+    9442 = 0
+    9443 = 0
+    9444 = 0
+    9445 = 0
+    9841 = 0
+    9851 = 0
+    9863 = 0
+    9864 = 0
+    9911 = 0
+    9912 = 0
+    9935 = 0
+    9936 = 0
+    9965 = 0
+    9966 = 0
+    9967 = 0
+    9968 = 0
+    10453 = 0
+    10465 = 0
+    10466 = 0
+    10501 = 0
+    10502 = 0
+    10531 = 0
+    10532 = 0
+    10533 = 0
+    10534 = 0
+    11198 = 0
+    11203 = 0
+    11210 = 0
+    11211 = 0
+    11246 = 0
+    11247 = 0
+    11258 = 0
+    11259 = 0
+    11276 = 0
+    11277 = 0
+    11278 = 0
+    11279 = 0
+    11675 = 0
+    11682 = 0
+    11683 = 0
+    11706 = 0
+    11707 = 0
+    11724 = 0
+    11725 = 0
+    11726 = 0
+    11727 = 0
+    12152 = 0
+    12157 = 0
+    12164 = 0
+    12165 = 0
+    12200 = 0
+    12201 = 0
+    12212 = 0
+    12213 = 0
+    12230 = 0
+    12231 = 0
+    12232 = 0
+    12233 = 0
+    12629 = 0
+    12636 = 0
+    12637 = 0
+    12660 = 0
+    12661 = 0
+    12678 = 0
+    12679 = 0
+    12680 = 0
+    12681 = 0
+    12838 = 0
+    12850 = 0
+    12851 = 0
+    12886 = 0
+    12887 = 0
+    12916 = 0
+    12917 = 0
+    12918 = 0
+    12919 = 0
+    13315 = 0
+    13327 = 0
+    13328 = 0
+    13363 = 0
+    13364 = 0
+    13393 = 0
+    13394 = 0
+    13395 = 0
+    13396 = 0
+    13792 = 0
+    13804 = 0
+    13805 = 0
+    13840 = 0
+    13841 = 0
+    13870 = 0
+    13871 = 0
+    13872 = 0
+    13873 = 0
+    14269 = 0
+    14281 = 0
+    14282 = 0
+    14317 = 0
+    14318 = 0
+    14347 = 0
+    14348 = 0
+    14349 = 0
+    14350 = 0
+    14955 = 0
+    14962 = 0
+    14963 = 0
+    14986 = 0
+    14987 = 0
+    15004 = 0
+    15005 = 0
+    15006 = 0
+    15007 = 0
+    15373 = 0
+    15380 = 0
+    15381 = 0
+    15404 = 0
+    15405 = 0
+    15422 = 0
+    15423 = 0
+    15424 = 0
+    15425 = 0
+    15791 = 0
+    15798 = 0
+    15799 = 0
+    15822 = 0
+    15823 = 0
+    15840 = 0
+    15841 = 0
+    15842 = 0
+    15843 = 0
+    16209 = 0
+    16216 = 0
+    16217 = 0
+    16240 = 0
+    16241 = 0
+    16258 = 0
+    16259 = 0
+    16260 = 0
+    16261 = 0
+DEAL::FE=FESystem<3>[FE_Q<3>(4)-FE_Q<3>(3)^3-FE_Q<3>(4)], case=2
+    1 = 0
+    0 = 0
+    11 = 0
+    21 = 0
+    31 = 0
+    43 = 0
+    44 = 0
+    91 = 0
+    92 = 0
+    139 = 0
+    140 = 0
+    163 = 0
+    164 = 0
+    193 = 0
+    194 = 0
+    195 = 0
+    196 = 0
+    787 = 0
+    797 = 0
+    809 = 0
+    810 = 0
+    845 = 0
+    846 = 0
+    881 = 0
+    882 = 0
+    911 = 0
+    912 = 0
+    913 = 0
+    914 = 0
+    1399 = 0
+    1409 = 0
+    1421 = 0
+    1422 = 0
+    1469 = 0
+    1470 = 0
+    1493 = 0
+    1494 = 0
+    1523 = 0
+    1524 = 0
+    1525 = 0
+    1526 = 0
+    2011 = 0
+    2023 = 0
+    2024 = 0
+    2059 = 0
+    2060 = 0
+    2089 = 0
+    2090 = 0
+    2091 = 0
+    2092 = 0
+    2832 = 0
+    2837 = 0
+    2842 = 0
+    2847 = 0
+    2854 = 0
+    2855 = 0
+    2890 = 0
+    2891 = 0
+    2926 = 0
+    2927 = 0
+    2938 = 0
+    2939 = 0
+    2956 = 0
+    2957 = 0
+    2958 = 0
+    2959 = 0
+    3444 = 0
+    3449 = 0
+    3456 = 0
+    3457 = 0
+    3480 = 0
+    3481 = 0
+    3504 = 0
+    3505 = 0
+    3522 = 0
+    3523 = 0
+    3524 = 0
+    3525 = 0
+    3980 = 0
+    3985 = 0
+    3992 = 0
+    3993 = 0
+    4028 = 0
+    4029 = 0
+    4040 = 0
+    4041 = 0
+    4058 = 0
+    4059 = 0
+    4060 = 0
+    4061 = 0
+    4457 = 0
+    4464 = 0
+    4465 = 0
+    4488 = 0
+    4489 = 0
+    4506 = 0
+    4507 = 0
+    4508 = 0
+    4509 = 0
+    4666 = 0
+    4676 = 0
+    4688 = 0
+    4689 = 0
+    4724 = 0
+    4725 = 0
+    4760 = 0
+    4761 = 0
+    4790 = 0
+    4791 = 0
+    4792 = 0
+    4793 = 0
+    5278 = 0
+    5288 = 0
+    5300 = 0
+    5301 = 0
+    5336 = 0
+    5337 = 0
+    5372 = 0
+    5373 = 0
+    5402 = 0
+    5403 = 0
+    5404 = 0
+    5405 = 0
+    5890 = 0
+    5902 = 0
+    5903 = 0
+    5938 = 0
+    5939 = 0
+    5968 = 0
+    5969 = 0
+    5970 = 0
+    5971 = 0
+    6367 = 0
+    6379 = 0
+    6380 = 0
+    6415 = 0
+    6416 = 0
+    6445 = 0
+    6446 = 0
+    6447 = 0
+    6448 = 0
+    7112 = 0
+    7117 = 0
+    7124 = 0
+    7125 = 0
+    7148 = 0
+    7149 = 0
+    7172 = 0
+    7173 = 0
+    7190 = 0
+    7191 = 0
+    7192 = 0
+    7193 = 0
+    7648 = 0
+    7653 = 0
+    7660 = 0
+    7661 = 0
+    7684 = 0
+    7685 = 0
+    7708 = 0
+    7709 = 0
+    7726 = 0
+    7727 = 0
+    7728 = 0
+    7729 = 0
+    8125 = 0
+    8132 = 0
+    8133 = 0
+    8156 = 0
+    8157 = 0
+    8174 = 0
+    8175 = 0
+    8176 = 0
+    8177 = 0
+    8543 = 0
+    8550 = 0
+    8551 = 0
+    8574 = 0
+    8575 = 0
+    8592 = 0
+    8593 = 0
+    8594 = 0
+    8595 = 0
+    8752 = 0
+    8762 = 0
+    8774 = 0
+    8775 = 0
+    8822 = 0
+    8823 = 0
+    8846 = 0
+    8847 = 0
+    8876 = 0
+    8877 = 0
+    8878 = 0
+    8879 = 0
+    9364 = 0
+    9376 = 0
+    9377 = 0
+    9412 = 0
+    9413 = 0
+    9442 = 0
+    9443 = 0
+    9444 = 0
+    9445 = 0
+    9841 = 0
+    9851 = 0
+    9863 = 0
+    9864 = 0
+    9911 = 0
+    9912 = 0
+    9935 = 0
+    9936 = 0
+    9965 = 0
+    9966 = 0
+    9967 = 0
+    9968 = 0
+    10453 = 0
+    10465 = 0
+    10466 = 0
+    10501 = 0
+    10502 = 0
+    10531 = 0
+    10532 = 0
+    10533 = 0
+    10534 = 0
+    11198 = 0
+    11203 = 0
+    11210 = 0
+    11211 = 0
+    11246 = 0
+    11247 = 0
+    11258 = 0
+    11259 = 0
+    11276 = 0
+    11277 = 0
+    11278 = 0
+    11279 = 0
+    11675 = 0
+    11682 = 0
+    11683 = 0
+    11706 = 0
+    11707 = 0
+    11724 = 0
+    11725 = 0
+    11726 = 0
+    11727 = 0
+    12152 = 0
+    12157 = 0
+    12164 = 0
+    12165 = 0
+    12200 = 0
+    12201 = 0
+    12212 = 0
+    12213 = 0
+    12230 = 0
+    12231 = 0
+    12232 = 0
+    12233 = 0
+    12629 = 0
+    12636 = 0
+    12637 = 0
+    12660 = 0
+    12661 = 0
+    12678 = 0
+    12679 = 0
+    12680 = 0
+    12681 = 0
+    12838 = 0
+    12850 = 0
+    12851 = 0
+    12886 = 0
+    12887 = 0
+    12916 = 0
+    12917 = 0
+    12918 = 0
+    12919 = 0
+    13315 = 0
+    13327 = 0
+    13328 = 0
+    13363 = 0
+    13364 = 0
+    13393 = 0
+    13394 = 0
+    13395 = 0
+    13396 = 0
+    13792 = 0
+    13804 = 0
+    13805 = 0
+    13840 = 0
+    13841 = 0
+    13870 = 0
+    13871 = 0
+    13872 = 0
+    13873 = 0
+    14269 = 0
+    14281 = 0
+    14282 = 0
+    14317 = 0
+    14318 = 0
+    14347 = 0
+    14348 = 0
+    14349 = 0
+    14350 = 0
+    14955 = 0
+    14962 = 0
+    14963 = 0
+    14986 = 0
+    14987 = 0
+    15004 = 0
+    15005 = 0
+    15006 = 0
+    15007 = 0
+    15373 = 0
+    15380 = 0
+    15381 = 0
+    15404 = 0
+    15405 = 0
+    15422 = 0
+    15423 = 0
+    15424 = 0
+    15425 = 0
+    15791 = 0
+    15798 = 0
+    15799 = 0
+    15822 = 0
+    15823 = 0
+    15840 = 0
+    15841 = 0
+    15842 = 0
+    15843 = 0
+    16209 = 0
+    16216 = 0
+    16217 = 0
+    16240 = 0
+    16241 = 0
+    16258 = 0
+    16259 = 0
+    16260 = 0
+    16261 = 0
+DEAL::FE=FESystem<3>[FE_Q<3>(4)-FE_Q<3>(3)^3-FE_Q<3>(4)], case=3
+    1 = 0
+    0 = 0
+    11 = 0
+    21 = 0
+    31 = 0
+    43 = 0
+    44 = 0
+    91 = 0
+    92 = 0
+    139 = 0
+    140 = 0
+    163 = 0
+    164 = 0
+    193 = 0
+    194 = 0
+    195 = 0
+    196 = 0
+    787 = 0
+    797 = 0
+    809 = 0
+    810 = 0
+    845 = 0
+    846 = 0
+    881 = 0
+    882 = 0
+    911 = 0
+    912 = 0
+    913 = 0
+    914 = 0
+    1399 = 0
+    1409 = 0
+    1421 = 0
+    1422 = 0
+    1469 = 0
+    1470 = 0
+    1493 = 0
+    1494 = 0
+    1523 = 0
+    1524 = 0
+    1525 = 0
+    1526 = 0
+    2011 = 0
+    2023 = 0
+    2024 = 0
+    2059 = 0
+    2060 = 0
+    2089 = 0
+    2090 = 0
+    2091 = 0
+    2092 = 0
+    2832 = 0
+    2837 = 0
+    2842 = 0
+    2847 = 0
+    2854 = 0
+    2855 = 0
+    2890 = 0
+    2891 = 0
+    2926 = 0
+    2927 = 0
+    2938 = 0
+    2939 = 0
+    2956 = 0
+    2957 = 0
+    2958 = 0
+    2959 = 0
+    3444 = 0
+    3449 = 0
+    3456 = 0
+    3457 = 0
+    3480 = 0
+    3481 = 0
+    3504 = 0
+    3505 = 0
+    3522 = 0
+    3523 = 0
+    3524 = 0
+    3525 = 0
+    3980 = 0
+    3985 = 0
+    3992 = 0
+    3993 = 0
+    4028 = 0
+    4029 = 0
+    4040 = 0
+    4041 = 0
+    4058 = 0
+    4059 = 0
+    4060 = 0
+    4061 = 0
+    4457 = 0
+    4464 = 0
+    4465 = 0
+    4488 = 0
+    4489 = 0
+    4506 = 0
+    4507 = 0
+    4508 = 0
+    4509 = 0
+    4666 = 0
+    4676 = 0
+    4688 = 0
+    4689 = 0
+    4724 = 0
+    4725 = 0
+    4760 = 0
+    4761 = 0
+    4790 = 0
+    4791 = 0
+    4792 = 0
+    4793 = 0
+    5278 = 0
+    5288 = 0
+    5300 = 0
+    5301 = 0
+    5336 = 0
+    5337 = 0
+    5372 = 0
+    5373 = 0
+    5402 = 0
+    5403 = 0
+    5404 = 0
+    5405 = 0
+    5890 = 0
+    5902 = 0
+    5903 = 0
+    5938 = 0
+    5939 = 0
+    5968 = 0
+    5969 = 0
+    5970 = 0
+    5971 = 0
+    6367 = 0
+    6379 = 0
+    6380 = 0
+    6415 = 0
+    6416 = 0
+    6445 = 0
+    6446 = 0
+    6447 = 0
+    6448 = 0
+    7112 = 0
+    7117 = 0
+    7124 = 0
+    7125 = 0
+    7148 = 0
+    7149 = 0
+    7172 = 0
+    7173 = 0
+    7190 = 0
+    7191 = 0
+    7192 = 0
+    7193 = 0
+    7648 = 0
+    7653 = 0
+    7660 = 0
+    7661 = 0
+    7684 = 0
+    7685 = 0
+    7708 = 0
+    7709 = 0
+    7726 = 0
+    7727 = 0
+    7728 = 0
+    7729 = 0
+    8125 = 0
+    8132 = 0
+    8133 = 0
+    8156 = 0
+    8157 = 0
+    8174 = 0
+    8175 = 0
+    8176 = 0
+    8177 = 0
+    8543 = 0
+    8550 = 0
+    8551 = 0
+    8574 = 0
+    8575 = 0
+    8592 = 0
+    8593 = 0
+    8594 = 0
+    8595 = 0
+    8752 = 0
+    8762 = 0
+    8774 = 0
+    8775 = 0
+    8822 = 0
+    8823 = 0
+    8846 = 0
+    8847 = 0
+    8876 = 0
+    8877 = 0
+    8878 = 0
+    8879 = 0
+    9364 = 0
+    9376 = 0
+    9377 = 0
+    9412 = 0
+    9413 = 0
+    9442 = 0
+    9443 = 0
+    9444 = 0
+    9445 = 0
+    9841 = 0
+    9851 = 0
+    9863 = 0
+    9864 = 0
+    9911 = 0
+    9912 = 0
+    9935 = 0
+    9936 = 0
+    9965 = 0
+    9966 = 0
+    9967 = 0
+    9968 = 0
+    10453 = 0
+    10465 = 0
+    10466 = 0
+    10501 = 0
+    10502 = 0
+    10531 = 0
+    10532 = 0
+    10533 = 0
+    10534 = 0
+    11198 = 0
+    11203 = 0
+    11210 = 0
+    11211 = 0
+    11246 = 0
+    11247 = 0
+    11258 = 0
+    11259 = 0
+    11276 = 0
+    11277 = 0
+    11278 = 0
+    11279 = 0
+    11675 = 0
+    11682 = 0
+    11683 = 0
+    11706 = 0
+    11707 = 0
+    11724 = 0
+    11725 = 0
+    11726 = 0
+    11727 = 0
+    12152 = 0
+    12157 = 0
+    12164 = 0
+    12165 = 0
+    12200 = 0
+    12201 = 0
+    12212 = 0
+    12213 = 0
+    12230 = 0
+    12231 = 0
+    12232 = 0
+    12233 = 0
+    12629 = 0
+    12636 = 0
+    12637 = 0
+    12660 = 0
+    12661 = 0
+    12678 = 0
+    12679 = 0
+    12680 = 0
+    12681 = 0
+    12838 = 0
+    12850 = 0
+    12851 = 0
+    12886 = 0
+    12887 = 0
+    12916 = 0
+    12917 = 0
+    12918 = 0
+    12919 = 0
+    13315 = 0
+    13327 = 0
+    13328 = 0
+    13363 = 0
+    13364 = 0
+    13393 = 0
+    13394 = 0
+    13395 = 0
+    13396 = 0
+    13792 = 0
+    13804 = 0
+    13805 = 0
+    13840 = 0
+    13841 = 0
+    13870 = 0
+    13871 = 0
+    13872 = 0
+    13873 = 0
+    14269 = 0
+    14281 = 0
+    14282 = 0
+    14317 = 0
+    14318 = 0
+    14347 = 0
+    14348 = 0
+    14349 = 0
+    14350 = 0
+    14955 = 0
+    14962 = 0
+    14963 = 0
+    14986 = 0
+    14987 = 0
+    15004 = 0
+    15005 = 0
+    15006 = 0
+    15007 = 0
+    15373 = 0
+    15380 = 0
+    15381 = 0
+    15404 = 0
+    15405 = 0
+    15422 = 0
+    15423 = 0
+    15424 = 0
+    15425 = 0
+    15791 = 0
+    15798 = 0
+    15799 = 0
+    15822 = 0
+    15823 = 0
+    15840 = 0
+    15841 = 0
+    15842 = 0
+    15843 = 0
+    16209 = 0
+    16216 = 0
+    16217 = 0
+    16240 = 0
+    16241 = 0
+    16258 = 0
+    16259 = 0
+    16260 = 0
+    16261 = 0
+DEAL::FE=FESystem<3>[FE_Q<3>(4)-FE_Q<3>(3)^3-FE_Q<3>(4)], case=4
+    1 = 0
+    0 = 0
+    2 = 0
+    7 = 0
+    11 = 0
+    12 = 0
+    17 = 0
+    21 = 0
+    31 = 0
+    43 = 0
+    45 = 0
+    44 = 0
+    46 = 0
+    57 = 0
+    58 = 0
+    69 = 0
+    70 = 0
+    81 = 0
+    82 = 0
+    91 = 0
+    92 = 0
+    139 = 0
+    140 = 0
+    163 = 0
+    164 = 0
+    193 = 0
+    194 = 0
+    195 = 0
+    196 = 0
+    317 = 0
+    318 = 0
+    319 = 0
+    320 = 0
+    444 = 0
+    449 = 0
+    467 = 0
+    468 = 0
+    479 = 0
+    480 = 0
+    491 = 0
+    492 = 0
+    661 = 0
+    662 = 0
+    663 = 0
+    664 = 0
+    787 = 0
+    788 = 0
+    793 = 0
+    797 = 0
+    809 = 0
+    811 = 0
+    810 = 0
+    812 = 0
+    823 = 0
+    824 = 0
+    835 = 0
+    836 = 0
+    845 = 0
+    846 = 0
+    881 = 0
+    882 = 0
+    911 = 0
+    912 = 0
+    913 = 0
+    914 = 0
+    1005 = 0
+    1006 = 0
+    1007 = 0
+    1008 = 0
+    1132 = 0
+    1145 = 0
+    1146 = 0
+    1157 = 0
+    1158 = 0
+    1273 = 0
+    1274 = 0
+    1275 = 0
+    1276 = 0
+    1399 = 0
+    1409 = 0
+    1421 = 0
+    1422 = 0
+    1469 = 0
+    1470 = 0
+    1493 = 0
+    1494 = 0
+    1523 = 0
+    1524 = 0
+    1525 = 0
+    1526 = 0
+    2011 = 0
+    2023 = 0
+    2024 = 0
+    2059 = 0
+    2060 = 0
+    2089 = 0
+    2090 = 0
+    2091 = 0
+    2092 = 0
+    2489 = 0
+    2494 = 0
+    2512 = 0
+    2513 = 0
+    2524 = 0
+    2525 = 0
+    2536 = 0
+    2537 = 0
+    2706 = 0
+    2707 = 0
+    2708 = 0
+    2709 = 0
+    2832 = 0
+    2833 = 0
+    2837 = 0
+    2838 = 0
+    2842 = 0
+    2847 = 0
+    2854 = 0
+    2856 = 0
+    2855 = 0
+    2857 = 0
+    2868 = 0
+    2869 = 0
+    2880 = 0
+    2881 = 0
+    2890 = 0
+    2891 = 0
+    2926 = 0
+    2927 = 0
+    2938 = 0
+    2939 = 0
+    2956 = 0
+    2957 = 0
+    2958 = 0
+    2959 = 0
+    3050 = 0
+    3051 = 0
+    3052 = 0
+    3053 = 0
+    3177 = 0
+    3190 = 0
+    3191 = 0
+    3202 = 0
+    3203 = 0
+    3318 = 0
+    3319 = 0
+    3320 = 0
+    3321 = 0
+    3444 = 0
+    3445 = 0
+    3449 = 0
+    3456 = 0
+    3458 = 0
+    3457 = 0
+    3459 = 0
+    3470 = 0
+    3471 = 0
+    3480 = 0
+    3481 = 0
+    3504 = 0
+    3505 = 0
+    3522 = 0
+    3523 = 0
+    3524 = 0
+    3525 = 0
+    3586 = 0
+    3587 = 0
+    3588 = 0
+    3589 = 0
+    3980 = 0
+    3985 = 0
+    3992 = 0
+    3993 = 0
+    4028 = 0
+    4029 = 0
+    4040 = 0
+    4041 = 0
+    4058 = 0
+    4059 = 0
+    4060 = 0
+    4061 = 0
+    4457 = 0
+    4464 = 0
+    4465 = 0
+    4488 = 0
+    4489 = 0
+    4506 = 0
+    4507 = 0
+    4508 = 0
+    4509 = 0
+    4666 = 0
+    4667 = 0
+    4672 = 0
+    4676 = 0
+    4688 = 0
+    4690 = 0
+    4689 = 0
+    4691 = 0
+    4702 = 0
+    4703 = 0
+    4714 = 0
+    4715 = 0
+    4724 = 0
+    4725 = 0
+    4760 = 0
+    4761 = 0
+    4790 = 0
+    4791 = 0
+    4792 = 0
+    4793 = 0
+    4884 = 0
+    4885 = 0
+    4886 = 0
+    4887 = 0
+    5011 = 0
+    5024 = 0
+    5025 = 0
+    5036 = 0
+    5037 = 0
+    5152 = 0
+    5153 = 0
+    5154 = 0
+    5155 = 0
+    5278 = 0
+    5279 = 0
+    5284 = 0
+    5288 = 0
+    5300 = 0
+    5302 = 0
+    5301 = 0
+    5303 = 0
+    5314 = 0
+    5315 = 0
+    5326 = 0
+    5327 = 0
+    5336 = 0
+    5337 = 0
+    5372 = 0
+    5373 = 0
+    5402 = 0
+    5403 = 0
+    5404 = 0
+    5405 = 0
+    5496 = 0
+    5497 = 0
+    5498 = 0
+    5499 = 0
+    5623 = 0
+    5636 = 0
+    5637 = 0
+    5648 = 0
+    5649 = 0
+    5764 = 0
+    5765 = 0
+    5766 = 0
+    5767 = 0
+    5890 = 0
+    5902 = 0
+    5903 = 0
+    5938 = 0
+    5939 = 0
+    5968 = 0
+    5969 = 0
+    5970 = 0
+    5971 = 0
+    6367 = 0
+    6379 = 0
+    6380 = 0
+    6415 = 0
+    6416 = 0
+    6445 = 0
+    6446 = 0
+    6447 = 0
+    6448 = 0
+    6845 = 0
+    6858 = 0
+    6859 = 0
+    6870 = 0
+    6871 = 0
+    6986 = 0
+    6987 = 0
+    6988 = 0
+    6989 = 0
+    7112 = 0
+    7113 = 0
+    7117 = 0
+    7124 = 0
+    7126 = 0
+    7125 = 0
+    7127 = 0
+    7138 = 0
+    7139 = 0
+    7148 = 0
+    7149 = 0
+    7172 = 0
+    7173 = 0
+    7190 = 0
+    7191 = 0
+    7192 = 0
+    7193 = 0
+    7254 = 0
+    7255 = 0
+    7256 = 0
+    7257 = 0
+    7381 = 0
+    7394 = 0
+    7395 = 0
+    7406 = 0
+    7407 = 0
+    7522 = 0
+    7523 = 0
+    7524 = 0
+    7525 = 0
+    7648 = 0
+    7649 = 0
+    7653 = 0
+    7660 = 0
+    7662 = 0
+    7661 = 0
+    7663 = 0
+    7674 = 0
+    7675 = 0
+    7684 = 0
+    7685 = 0
+    7708 = 0
+    7709 = 0
+    7726 = 0
+    7727 = 0
+    7728 = 0
+    7729 = 0
+    7790 = 0
+    7791 = 0
+    7792 = 0
+    7793 = 0
+    8125 = 0
+    8132 = 0
+    8133 = 0
+    8156 = 0
+    8157 = 0
+    8174 = 0
+    8175 = 0
+    8176 = 0
+    8177 = 0
+    8543 = 0
+    8550 = 0
+    8551 = 0
+    8574 = 0
+    8575 = 0
+    8592 = 0
+    8593 = 0
+    8594 = 0
+    8595 = 0
+    8752 = 0
+    8762 = 0
+    8774 = 0
+    8775 = 0
+    8822 = 0
+    8823 = 0
+    8846 = 0
+    8847 = 0
+    8876 = 0
+    8877 = 0
+    8878 = 0
+    8879 = 0
+    9364 = 0
+    9376 = 0
+    9377 = 0
+    9412 = 0
+    9413 = 0
+    9442 = 0
+    9443 = 0
+    9444 = 0
+    9445 = 0
+    9841 = 0
+    9851 = 0
+    9863 = 0
+    9864 = 0
+    9911 = 0
+    9912 = 0
+    9935 = 0
+    9936 = 0
+    9965 = 0
+    9966 = 0
+    9967 = 0
+    9968 = 0
+    10453 = 0
+    10465 = 0
+    10466 = 0
+    10501 = 0
+    10502 = 0
+    10531 = 0
+    10532 = 0
+    10533 = 0
+    10534 = 0
+    11198 = 0
+    11203 = 0
+    11210 = 0
+    11211 = 0
+    11246 = 0
+    11247 = 0
+    11258 = 0
+    11259 = 0
+    11276 = 0
+    11277 = 0
+    11278 = 0
+    11279 = 0
+    11675 = 0
+    11682 = 0
+    11683 = 0
+    11706 = 0
+    11707 = 0
+    11724 = 0
+    11725 = 0
+    11726 = 0
+    11727 = 0
+    12152 = 0
+    12157 = 0
+    12164 = 0
+    12165 = 0
+    12200 = 0
+    12201 = 0
+    12212 = 0
+    12213 = 0
+    12230 = 0
+    12231 = 0
+    12232 = 0
+    12233 = 0
+    12629 = 0
+    12636 = 0
+    12637 = 0
+    12660 = 0
+    12661 = 0
+    12678 = 0
+    12679 = 0
+    12680 = 0
+    12681 = 0
+    12838 = 0
+    12850 = 0
+    12851 = 0
+    12886 = 0
+    12887 = 0
+    12916 = 0
+    12917 = 0
+    12918 = 0
+    12919 = 0
+    13315 = 0
+    13327 = 0
+    13328 = 0
+    13363 = 0
+    13364 = 0
+    13393 = 0
+    13394 = 0
+    13395 = 0
+    13396 = 0
+    13792 = 0
+    13804 = 0
+    13805 = 0
+    13840 = 0
+    13841 = 0
+    13870 = 0
+    13871 = 0
+    13872 = 0
+    13873 = 0
+    14269 = 0
+    14281 = 0
+    14282 = 0
+    14317 = 0
+    14318 = 0
+    14347 = 0
+    14348 = 0
+    14349 = 0
+    14350 = 0
+    14955 = 0
+    14962 = 0
+    14963 = 0
+    14986 = 0
+    14987 = 0
+    15004 = 0
+    15005 = 0
+    15006 = 0
+    15007 = 0
+    15373 = 0
+    15380 = 0
+    15381 = 0
+    15404 = 0
+    15405 = 0
+    15422 = 0
+    15423 = 0
+    15424 = 0
+    15425 = 0
+    15791 = 0
+    15798 = 0
+    15799 = 0
+    15822 = 0
+    15823 = 0
+    15840 = 0
+    15841 = 0
+    15842 = 0
+    15843 = 0
+    16209 = 0
+    16216 = 0
+    16217 = 0
+    16240 = 0
+    16241 = 0
+    16258 = 0
+    16259 = 0
+    16260 = 0
+    16261 = 0
+DEAL::FE=FESystem<3>[FE_Q<3>(4)-FE_Q<3>(3)^3-FE_Q<3>(4)], case=5
+    1 = 0
+    0 = 0
+    2 = 0
+    7 = 0
+    11 = 0
+    12 = 0
+    17 = 0
+    21 = 0
+    31 = 0
+    43 = 0
+    45 = 0
+    44 = 0
+    46 = 0
+    57 = 0
+    58 = 0
+    69 = 0
+    70 = 0
+    81 = 0
+    82 = 0
+    91 = 0
+    92 = 0
+    139 = 0
+    140 = 0
+    163 = 0
+    164 = 0
+    193 = 0
+    194 = 0
+    195 = 0
+    196 = 0
+    317 = 0
+    318 = 0
+    319 = 0
+    320 = 0
+    444 = 0
+    449 = 0
+    467 = 0
+    468 = 0
+    479 = 0
+    480 = 0
+    491 = 0
+    492 = 0
+    661 = 0
+    662 = 0
+    663 = 0
+    664 = 0
+    787 = 0
+    788 = 0
+    793 = 0
+    797 = 0
+    809 = 0
+    811 = 0
+    810 = 0
+    812 = 0
+    823 = 0
+    824 = 0
+    835 = 0
+    836 = 0
+    845 = 0
+    846 = 0
+    881 = 0
+    882 = 0
+    911 = 0
+    912 = 0
+    913 = 0
+    914 = 0
+    1005 = 0
+    1006 = 0
+    1007 = 0
+    1008 = 0
+    1132 = 0
+    1145 = 0
+    1146 = 0
+    1157 = 0
+    1158 = 0
+    1273 = 0
+    1274 = 0
+    1275 = 0
+    1276 = 0
+    1399 = 0
+    1409 = 0
+    1421 = 0
+    1422 = 0
+    1469 = 0
+    1470 = 0
+    1493 = 0
+    1494 = 0
+    1523 = 0
+    1524 = 0
+    1525 = 0
+    1526 = 0
+    2011 = 0
+    2023 = 0
+    2024 = 0
+    2059 = 0
+    2060 = 0
+    2089 = 0
+    2090 = 0
+    2091 = 0
+    2092 = 0
+    2489 = 0
+    2494 = 0
+    2512 = 0
+    2513 = 0
+    2524 = 0
+    2525 = 0
+    2536 = 0
+    2537 = 0
+    2706 = 0
+    2707 = 0
+    2708 = 0
+    2709 = 0
+    2832 = 0
+    2833 = 0
+    2837 = 0
+    2838 = 0
+    2842 = 0
+    2847 = 0
+    2854 = 0
+    2856 = 0
+    2855 = 0
+    2857 = 0
+    2868 = 0
+    2869 = 0
+    2880 = 0
+    2881 = 0
+    2890 = 0
+    2891 = 0
+    2926 = 0
+    2927 = 0
+    2938 = 0
+    2939 = 0
+    2956 = 0
+    2957 = 0
+    2958 = 0
+    2959 = 0
+    3050 = 0
+    3051 = 0
+    3052 = 0
+    3053 = 0
+    3177 = 0
+    3190 = 0
+    3191 = 0
+    3202 = 0
+    3203 = 0
+    3318 = 0
+    3319 = 0
+    3320 = 0
+    3321 = 0
+    3444 = 0
+    3445 = 0
+    3449 = 0
+    3456 = 0
+    3458 = 0
+    3457 = 0
+    3459 = 0
+    3470 = 0
+    3471 = 0
+    3480 = 0
+    3481 = 0
+    3504 = 0
+    3505 = 0
+    3522 = 0
+    3523 = 0
+    3524 = 0
+    3525 = 0
+    3586 = 0
+    3587 = 0
+    3588 = 0
+    3589 = 0
+    3980 = 0
+    3985 = 0
+    3992 = 0
+    3993 = 0
+    4028 = 0
+    4029 = 0
+    4040 = 0
+    4041 = 0
+    4058 = 0
+    4059 = 0
+    4060 = 0
+    4061 = 0
+    4457 = 0
+    4464 = 0
+    4465 = 0
+    4488 = 0
+    4489 = 0
+    4506 = 0
+    4507 = 0
+    4508 = 0
+    4509 = 0
+    4666 = 0
+    4667 = 0
+    4672 = 0
+    4676 = 0
+    4688 = 0
+    4690 = 0
+    4689 = 0
+    4691 = 0
+    4702 = 0
+    4703 = 0
+    4714 = 0
+    4715 = 0
+    4724 = 0
+    4725 = 0
+    4760 = 0
+    4761 = 0
+    4790 = 0
+    4791 = 0
+    4792 = 0
+    4793 = 0
+    4884 = 0
+    4885 = 0
+    4886 = 0
+    4887 = 0
+    5011 = 0
+    5024 = 0
+    5025 = 0
+    5036 = 0
+    5037 = 0
+    5152 = 0
+    5153 = 0
+    5154 = 0
+    5155 = 0
+    5278 = 0
+    5279 = 0
+    5284 = 0
+    5288 = 0
+    5300 = 0
+    5302 = 0
+    5301 = 0
+    5303 = 0
+    5314 = 0
+    5315 = 0
+    5326 = 0
+    5327 = 0
+    5336 = 0
+    5337 = 0
+    5372 = 0
+    5373 = 0
+    5402 = 0
+    5403 = 0
+    5404 = 0
+    5405 = 0
+    5496 = 0
+    5497 = 0
+    5498 = 0
+    5499 = 0
+    5623 = 0
+    5636 = 0
+    5637 = 0
+    5648 = 0
+    5649 = 0
+    5764 = 0
+    5765 = 0
+    5766 = 0
+    5767 = 0
+    5890 = 0
+    5902 = 0
+    5903 = 0
+    5938 = 0
+    5939 = 0
+    5968 = 0
+    5969 = 0
+    5970 = 0
+    5971 = 0
+    6367 = 0
+    6379 = 0
+    6380 = 0
+    6415 = 0
+    6416 = 0
+    6445 = 0
+    6446 = 0
+    6447 = 0
+    6448 = 0
+    6845 = 0
+    6858 = 0
+    6859 = 0
+    6870 = 0
+    6871 = 0
+    6986 = 0
+    6987 = 0
+    6988 = 0
+    6989 = 0
+    7112 = 0
+    7113 = 0
+    7117 = 0
+    7124 = 0
+    7126 = 0
+    7125 = 0
+    7127 = 0
+    7138 = 0
+    7139 = 0
+    7148 = 0
+    7149 = 0
+    7172 = 0
+    7173 = 0
+    7190 = 0
+    7191 = 0
+    7192 = 0
+    7193 = 0
+    7254 = 0
+    7255 = 0
+    7256 = 0
+    7257 = 0
+    7381 = 0
+    7394 = 0
+    7395 = 0
+    7406 = 0
+    7407 = 0
+    7522 = 0
+    7523 = 0
+    7524 = 0
+    7525 = 0
+    7648 = 0
+    7649 = 0
+    7653 = 0
+    7660 = 0
+    7662 = 0
+    7661 = 0
+    7663 = 0
+    7674 = 0
+    7675 = 0
+    7684 = 0
+    7685 = 0
+    7708 = 0
+    7709 = 0
+    7726 = 0
+    7727 = 0
+    7728 = 0
+    7729 = 0
+    7790 = 0
+    7791 = 0
+    7792 = 0
+    7793 = 0
+    8125 = 0
+    8132 = 0
+    8133 = 0
+    8156 = 0
+    8157 = 0
+    8174 = 0
+    8175 = 0
+    8176 = 0
+    8177 = 0
+    8543 = 0
+    8550 = 0
+    8551 = 0
+    8574 = 0
+    8575 = 0
+    8592 = 0
+    8593 = 0
+    8594 = 0
+    8595 = 0
+    8752 = 0
+    8762 = 0
+    8774 = 0
+    8775 = 0
+    8822 = 0
+    8823 = 0
+    8846 = 0
+    8847 = 0
+    8876 = 0
+    8877 = 0
+    8878 = 0
+    8879 = 0
+    9364 = 0
+    9376 = 0
+    9377 = 0
+    9412 = 0
+    9413 = 0
+    9442 = 0
+    9443 = 0
+    9444 = 0
+    9445 = 0
+    9841 = 0
+    9842 = 0
+    9847 = 0
+    9851 = 0
+    9852 = 0
+    9857 = 0
+    9863 = 0
+    9865 = 0
+    9864 = 0
+    9866 = 0
+    9877 = 0
+    9878 = 0
+    9889 = 0
+    9890 = 0
+    9901 = 0
+    9902 = 0
+    9911 = 0
+    9912 = 0
+    9935 = 0
+    9936 = 0
+    9965 = 0
+    9966 = 0
+    9967 = 0
+    9968 = 0
+    10089 = 0
+    10090 = 0
+    10091 = 0
+    10092 = 0
+    10186 = 0
+    10191 = 0
+    10199 = 0
+    10200 = 0
+    10211 = 0
+    10212 = 0
+    10223 = 0
+    10224 = 0
+    10357 = 0
+    10358 = 0
+    10359 = 0
+    10360 = 0
+    10453 = 0
+    10454 = 0
+    10459 = 0
+    10465 = 0
+    10467 = 0
+    10466 = 0
+    10468 = 0
+    10479 = 0
+    10480 = 0
+    10491 = 0
+    10492 = 0
+    10501 = 0
+    10502 = 0
+    10531 = 0
+    10532 = 0
+    10533 = 0
+    10534 = 0
+    10625 = 0
+    10626 = 0
+    10627 = 0
+    10628 = 0
+    10722 = 0
+    10730 = 0
+    10731 = 0
+    10742 = 0
+    10743 = 0
+    10834 = 0
+    10835 = 0
+    10836 = 0
+    10837 = 0
+    11198 = 0
+    11203 = 0
+    11210 = 0
+    11211 = 0
+    11246 = 0
+    11247 = 0
+    11258 = 0
+    11259 = 0
+    11276 = 0
+    11277 = 0
+    11278 = 0
+    11279 = 0
+    11675 = 0
+    11682 = 0
+    11683 = 0
+    11706 = 0
+    11707 = 0
+    11724 = 0
+    11725 = 0
+    11726 = 0
+    11727 = 0
+    11885 = 0
+    11890 = 0
+    11898 = 0
+    11899 = 0
+    11910 = 0
+    11911 = 0
+    11922 = 0
+    11923 = 0
+    12056 = 0
+    12057 = 0
+    12058 = 0
+    12059 = 0
+    12152 = 0
+    12153 = 0
+    12157 = 0
+    12158 = 0
+    12164 = 0
+    12166 = 0
+    12165 = 0
+    12167 = 0
+    12178 = 0
+    12179 = 0
+    12190 = 0
+    12191 = 0
+    12200 = 0
+    12201 = 0
+    12212 = 0
+    12213 = 0
+    12230 = 0
+    12231 = 0
+    12232 = 0
+    12233 = 0
+    12324 = 0
+    12325 = 0
+    12326 = 0
+    12327 = 0
+    12421 = 0
+    12429 = 0
+    12430 = 0
+    12441 = 0
+    12442 = 0
+    12533 = 0
+    12534 = 0
+    12535 = 0
+    12536 = 0
+    12629 = 0
+    12630 = 0
+    12636 = 0
+    12638 = 0
+    12637 = 0
+    12639 = 0
+    12650 = 0
+    12651 = 0
+    12660 = 0
+    12661 = 0
+    12678 = 0
+    12679 = 0
+    12680 = 0
+    12681 = 0
+    12742 = 0
+    12743 = 0
+    12744 = 0
+    12745 = 0
+    12838 = 0
+    12850 = 0
+    12851 = 0
+    12886 = 0
+    12887 = 0
+    12916 = 0
+    12917 = 0
+    12918 = 0
+    12919 = 0
+    13315 = 0
+    13327 = 0
+    13328 = 0
+    13363 = 0
+    13364 = 0
+    13393 = 0
+    13394 = 0
+    13395 = 0
+    13396 = 0
+    13792 = 0
+    13793 = 0
+    13798 = 0
+    13804 = 0
+    13806 = 0
+    13805 = 0
+    13807 = 0
+    13818 = 0
+    13819 = 0
+    13830 = 0
+    13831 = 0
+    13840 = 0
+    13841 = 0
+    13870 = 0
+    13871 = 0
+    13872 = 0
+    13873 = 0
+    13964 = 0
+    13965 = 0
+    13966 = 0
+    13967 = 0
+    14061 = 0
+    14069 = 0
+    14070 = 0
+    14081 = 0
+    14082 = 0
+    14173 = 0
+    14174 = 0
+    14175 = 0
+    14176 = 0
+    14269 = 0
+    14270 = 0
+    14275 = 0
+    14281 = 0
+    14283 = 0
+    14282 = 0
+    14284 = 0
+    14295 = 0
+    14296 = 0
+    14307 = 0
+    14308 = 0
+    14317 = 0
+    14318 = 0
+    14347 = 0
+    14348 = 0
+    14349 = 0
+    14350 = 0
+    14441 = 0
+    14442 = 0
+    14443 = 0
+    14444 = 0
+    14538 = 0
+    14546 = 0
+    14547 = 0
+    14558 = 0
+    14559 = 0
+    14650 = 0
+    14651 = 0
+    14652 = 0
+    14653 = 0
+    14955 = 0
+    14962 = 0
+    14963 = 0
+    14986 = 0
+    14987 = 0
+    15004 = 0
+    15005 = 0
+    15006 = 0
+    15007 = 0
+    15373 = 0
+    15380 = 0
+    15381 = 0
+    15404 = 0
+    15405 = 0
+    15422 = 0
+    15423 = 0
+    15424 = 0
+    15425 = 0
+    15583 = 0
+    15591 = 0
+    15592 = 0
+    15603 = 0
+    15604 = 0
+    15695 = 0
+    15696 = 0
+    15697 = 0
+    15698 = 0
+    15791 = 0
+    15792 = 0
+    15798 = 0
+    15800 = 0
+    15799 = 0
+    15801 = 0
+    15812 = 0
+    15813 = 0
+    15822 = 0
+    15823 = 0
+    15840 = 0
+    15841 = 0
+    15842 = 0
+    15843 = 0
+    15904 = 0
+    15905 = 0
+    15906 = 0
+    15907 = 0
+    16001 = 0
+    16009 = 0
+    16010 = 0
+    16021 = 0
+    16022 = 0
+    16113 = 0
+    16114 = 0
+    16115 = 0
+    16116 = 0
+    16209 = 0
+    16210 = 0
+    16216 = 0
+    16218 = 0
+    16217 = 0
+    16219 = 0
+    16230 = 0
+    16231 = 0
+    16240 = 0
+    16241 = 0
+    16258 = 0
+    16259 = 0
+    16260 = 0
+    16261 = 0
+    16322 = 0
+    16323 = 0
+    16324 = 0
+    16325 = 0

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

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.