From: Guido Kanschat Date: Sun, 28 Jun 2015 19:15:46 +0000 (+0200) Subject: Add three new meshes to GridGenerator: simplex, cheese and hyper_cross X-Git-Tag: v8.3.0-rc1~67^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F1047%2Fhead;p=dealii.git Add three new meshes to GridGenerator: simplex, cheese and hyper_cross --- diff --git a/doc/doxygen/images/cheese_2d.png b/doc/doxygen/images/cheese_2d.png new file mode 100644 index 0000000000..927624e32d Binary files /dev/null and b/doc/doxygen/images/cheese_2d.png differ diff --git a/doc/doxygen/images/hyper_cross_2d.png b/doc/doxygen/images/hyper_cross_2d.png new file mode 100644 index 0000000000..23d902c576 Binary files /dev/null and b/doc/doxygen/images/hyper_cross_2d.png differ diff --git a/doc/doxygen/images/hyper_cross_3d.png b/doc/doxygen/images/hyper_cross_3d.png new file mode 100644 index 0000000000..4fba21fd9e Binary files /dev/null and b/doc/doxygen/images/hyper_cross_3d.png differ diff --git a/doc/doxygen/images/simplex_2d.png b/doc/doxygen/images/simplex_2d.png new file mode 100644 index 0000000000..f9403ac49c Binary files /dev/null and b/doc/doxygen/images/simplex_2d.png differ diff --git a/doc/doxygen/images/simplex_3d.png b/doc/doxygen/images/simplex_3d.png new file mode 100644 index 0000000000..5ab117b9ec Binary files /dev/null and b/doc/doxygen/images/simplex_3d.png differ diff --git a/doc/news/changes.h b/doc/news/changes.h index b1dc8ddad2..cd9363a578 100644 --- a/doc/news/changes.h +++ b/doc/news/changes.h @@ -80,7 +80,7 @@ inconvenience this causes.
  • Removed: The class NamedData has been removed after it had been - superceded by AnyData a while ago. This affects the use of classes + superseded by AnyData a while ago. This affects the use of classes in Algorithms and MeshWorker
    (Guido Kanschat, 2015/04/02) @@ -143,7 +143,7 @@ inconvenience this causes. (Matthias Maier, 2015/01/13)
  • -
  • Removed: The Component compat_files was removed entirely. deal.II +
  • Removed: The Component compat_files was removed entirely. deal.II now always configures and installs with a somewhat FSHS compliant directory structure. Further, the ancient make_dependencies binary was removed. Either migrate your project to CMake, or port your build system @@ -531,7 +531,17 @@ inconvenience this causes.

    Specific improvements

    + +
      + +
    1. New: GridGenerator::cheese() for a mesh with many holes; + GridGenerator::simplex() for simplices in 2 and 3 dimensions; + GridGenerator::hyper_cross() for crosses in 2 and 3 dimensions. +
      + (Guido Kanschat, 2015/07/02) +
    2. +
    3. Fixed: The specialization of DoFAccessor for zero-dimensional objects, i.e., for vertices as created by accessing the faces of one-dimensional cells, had a member function DoFAccessor::child() that was declared but not @@ -549,7 +559,7 @@ inconvenience this causes.
    4. Fixed: The function numbers::is_finite() produced incorrect results when called with a NaN number (specifically, it produces an uncatchable floating - point exception when called with a signalling NaN). This was clearly not + point exception when called with a signaling NaN). This was clearly not intended since such values are definitely not finite.
      (Wolfgang Bangerth, 2015/06/29) diff --git a/include/deal.II/grid/grid_generator.h b/include/deal.II/grid/grid_generator.h index e5e877e968..33e263efaa 100644 --- a/include/deal.II/grid/grid_generator.h +++ b/include/deal.II/grid/grid_generator.h @@ -76,6 +76,27 @@ namespace GridGenerator const double right= 1., const bool colorize= false); + /** + * \brief Mesh of a d-simplex with (d+1) vertices and mesh cells, resp. + * + * The vertices argument contains a vector with all d+1 + * vertices of the simplex. They must be given in an order such that + * the vectors from the first vertex to each of the others form a + * right-handed system. And I am not happy about the discrimination + * involved here. + * + * The meshes generated in two and three dimensions are + * + * @image simplex_2d.png + * @image simplex_3d.png + * + * @author Guido Kanschat + * @date 2015 + */ + template + void simplex(Triangulation &tria, + const std::vector > &vertices); + /** * Same as hyper_cube(), but with the difference that not only one cell is * created but each coordinate direction is subdivided into @p repetitions @@ -192,6 +213,8 @@ namespace GridGenerator * major new functionality, if the material_id of a cell is (unsigned * char)(-1), then that cell is deleted from the triangulation, i.e. * the domain will have a void there. + * + * @note If you need a lot of holes, you may consider cheese(). */ template void @@ -201,6 +224,29 @@ namespace GridGenerator const Table &material_id, const bool colorize=false); + /** + * \brief Rectangular domain with rectangular pattern of holes + * + * The domain itself is rectangular, very much as if it had been + * generated by subdivided_hyper_rectangle(). The argument holes + * specifies how many square holes the domain should have in each + * coordinate direction. The total number of mesh cells in that + * direction is then twice this number plus one. + * + * The number of holes in one direction must be at least one. + * + * An example with two by three holes is + * + * @image cheese_2d.png + * + * @author Guido Kanschat + * @date 2015 + */ + template + void + cheese (Triangulation &tria, + const std::vector &holes); + /** * A parallelogram. The first corner point is the origin. The @p dim * adjacent points are the ones given in the second argument and the fourth @@ -387,6 +433,42 @@ namespace GridGenerator const double radius_1 = 0.5, const double half_length = 1.0); + /** + * \brief A center cell with stacks of cell protruding from each surface. + * + * Each of the square mesh cells is Cartesian and has size one in each + * coordinate direction. The center of cell number zero is the + * origin. + * + * @param tria A Triangulation object which has to be empty. + * + * @param sizes A vector of integers of dimension + * GeometryInfo::faces_per_cell with the following meaning: the + * legs of the cross are stacked on the faces of the center cell, + * in the usual order of deal.II cells, namely first $-x$, then $x$, + * then $-y$ and so on. The corresponding entries in + * sizes name the number of cells stacked on this + * face. All numbers may be zero, thus L- and T-shaped domains are + * specializations of this domain. + * + * @param colorize_cells If colorization is chosen, then the material + * id of a cells corresponds to the leg it is in. The id of the + * center cell is zero, and then the legs are numbered starting at + * one. + * + * Examples in two and three dimensions are + * + * @image hyper_cross_2d.png + * @image hyper_cross_3d.png + * + * @author Guido Kanschat + * @date 2015 + */ + template + void hyper_cross(Triangulation &tria, + const std::vector &sizes, + const bool colorize_cells = false); + /** * Initialize the given triangulation with a hyper-L (in 2d or 3d) * consisting of exactly 2^dim-1 cells. It produces the hypercube diff --git a/source/grid/grid_generator.cc b/source/grid/grid_generator.cc index dbf7250413..65ee3b54be 100644 --- a/source/grid/grid_generator.cc +++ b/source/grid/grid_generator.cc @@ -419,6 +419,117 @@ namespace GridGenerator hyper_rectangle (tria, p1, p2, colorize); } + template + void + simplex(Triangulation &tria, + const std::vector > &vertices) + { + AssertDimension(vertices.size(), dim+1); + Assert(dim>1, ExcNotImplemented()); + Assert(dim<4, ExcNotImplemented()); + +#ifdef DEBUG + Tensor<2,dim> vector_matrix; + for (unsigned int d=0; d 0., ExcMessage("Vertices of simplex must form a right handed system")); +#endif + + // Set up the vertices by first copying into points. + std::vector > points = vertices; + Point center; + // Compute the edge midpoints and add up everything to compute the + // center point. + for (unsigned int i=0; i<=dim; ++i) + { + points.push_back(0.5*(points[i]+points[(i+1)%(dim+1)])); + center += points[i]; + } + if (dim>2) + { + // In 3D, we have some more edges to deal with + for (unsigned int i=0; i > cells(dim+1); + switch (dim) + { + case 2: + AssertDimension(points.size(), 7); + cells[0].vertices[0] = 0; + cells[0].vertices[1] = 3; + cells[0].vertices[2] = 5; + cells[0].vertices[3] = 6; + cells[0].material_id = 0; + + cells[1].vertices[0] = 3; + cells[1].vertices[1] = 1; + cells[1].vertices[2] = 6; + cells[1].vertices[3] = 4; + cells[1].material_id = 0; + + cells[2].vertices[0] = 5; + cells[2].vertices[1] = 6; + cells[2].vertices[2] = 2; + cells[2].vertices[3] = 4; + cells[2].material_id = 0; + break; + case 3: + AssertDimension(points.size(), 15); + cells[0].vertices[0] = 0; + cells[0].vertices[1] = 4; + cells[0].vertices[2] = 8; + cells[0].vertices[3] = 10; + cells[0].vertices[4] = 7; + cells[0].vertices[5] = 13; + cells[0].vertices[6] = 12; + cells[0].vertices[7] = 14; + cells[0].material_id = 0; + + cells[1].vertices[0] = 4; + cells[1].vertices[1] = 1; + cells[1].vertices[2] = 10; + cells[1].vertices[3] = 5; + cells[1].vertices[4] = 13; + cells[1].vertices[5] = 9; + cells[1].vertices[6] = 14; + cells[1].vertices[7] = 11; + cells[1].material_id = 0; + + cells[2].vertices[0] = 8; + cells[2].vertices[1] = 10; + cells[2].vertices[2] = 2; + cells[2].vertices[3] = 5; + cells[2].vertices[4] = 12; + cells[2].vertices[5] = 14; + cells[2].vertices[6] = 6; + cells[2].vertices[7] = 11; + cells[2].material_id = 0; + + cells[3].vertices[0] = 7; + cells[3].vertices[1] = 13; + cells[3].vertices[2] = 12; + cells[3].vertices[3] = 14; + cells[3].vertices[4] = 3; + cells[3].vertices[5] = 9; + cells[3].vertices[6] = 6; + cells[3].vertices[7] = 11; + cells[3].material_id = 0; + break; + default: + Assert(false, ExcNotImplemented()); + } + tria.create_triangulation (points, cells, SubCellData()); + } void @@ -1552,6 +1663,188 @@ namespace GridGenerator } } + template + void + cheese ( + Triangulation &tria, + const std::vector &holes) + { + AssertDimension(holes.size(), dim); + // The corner points of the first cell. If there is a desire at + // some point to change the geometry of the cells, they can be + // made an argument to the function. + + Point p1; + Point p2; + for (unsigned int d=0; d= 1, and calculate deltas + // convert repetitions from double + // to int by taking the ceiling. + std::vector > delta(dim); + unsigned int repetitions[dim]; + for (unsigned int i=0; i= 1, ExcMessage("At least one hole needed in each direction")); + repetitions[i] = 2*holes[i]+1; + delta[i][i] = (p2[i]-p1[i]); + } + + // then generate the necessary + // points + std::vector > points; + switch (dim) + { + case 1: + for (unsigned int x=0; x<=repetitions[0]; ++x) + points.push_back (p1+(double)x*delta[0]); + break; + + case 2: + for (unsigned int y=0; y<=repetitions[1]; ++y) + for (unsigned int x=0; x<=repetitions[0]; ++x) + points.push_back (p1+(double)x*delta[0] + +(double)y*delta[1]); + break; + + case 3: + for (unsigned int z=0; z<=repetitions[2]; ++z) + for (unsigned int y=0; y<=repetitions[1]; ++y) + for (unsigned int x=0; x<=repetitions[0]; ++x) + points.push_back (p1+(double)x*delta[0] + + (double)y*delta[1] + (double)z*delta[2]); + break; + + default: + Assert (false, ExcNotImplemented()); + } + + // next create the cells + // Prepare cell data + std::vector > cells; + switch (dim) + { + case 2: + { + cells.resize (repetitions[1]*repetitions[0]-holes[1]*holes[0]); + unsigned int c=0; + for (unsigned int y=0; y + void hyper_cross(Triangulation &tria, + const std::vector &sizes, + const bool colorize) + { + AssertDimension(sizes.size(), GeometryInfo::faces_per_cell); + Assert(dim>1, ExcNotImplemented()); + Assert(dim<4, ExcNotImplemented()); + + // If there is a desire at some point to change the geometry of + // the cells, this tensor can be made an argument to the function. + Tensor<1,dim> dimensions; + for (unsigned int d=0; d > points; + unsigned int n_cells = 1; + for (unsigned int i=0; i::faces_per_cell; ++i) + n_cells += sizes[i]; + + std::vector > cells(n_cells); + // Vertices of the center cell + for (unsigned int i=0; i::vertices_per_cell; ++i) + { + Point p; + for (unsigned int d=0; d::unit_normal_orientation[GeometryInfo::vertex_to_face[i][d]]; + points.push_back(p); + cells[0].vertices[i] = i; + } + cells[0].material_id = 0; + + // The index of the first cell of the leg. + unsigned int cell_index = 1; + // The legs of the cross + for (unsigned int face=0; face::faces_per_cell; ++face) + { + const unsigned int oface = GeometryInfo::opposite_face[face]; + const unsigned int dir = GeometryInfo::unit_normal_direction[face]; + + // We are moving in the direction of face + for (unsigned int j=0; j::vertices_per_face; ++v) + { + const unsigned int cellv = GeometryInfo::face_to_cell_vertices(face, v); + const unsigned int ocellv = GeometryInfo::face_to_cell_vertices(oface, v); + // First the vertices which already exist + cells[cell_index].vertices[ocellv] = cells[last_cell].vertices[cellv]; + + // Now the new vertices + cells[cell_index].vertices[cellv] = points.size(); + + Point p = points[cells[cell_index].vertices[ocellv]]; + p(dir) += GeometryInfo::unit_normal_orientation[face] * dimensions[dir]; + points.push_back(p); + } + cells[cell_index].material_id = (colorize) ? (face+1U) : 0U; + } + } + tria.create_triangulation (points, cells, SubCellData()); + } template <> diff --git a/source/grid/grid_generator.inst.in b/source/grid/grid_generator.inst.in index d530368880..c82e5a5f12 100644 --- a/source/grid/grid_generator.inst.in +++ b/source/grid/grid_generator.inst.in @@ -29,8 +29,8 @@ namespace GridGenerator hyper_cube ( Triangulation &, const double, const double, const bool); - template void - subdivided_hyper_cube ( + template void + subdivided_hyper_cube ( Triangulation &, const unsigned int, const double, const double); @@ -43,6 +43,16 @@ namespace GridGenerator const Point&, const bool); + template void + hyper_cross + (Triangulation &, + const std::vector &, const bool); + + template void + cheese + (Triangulation &, + const std::vector &); + template void merge_triangulations @@ -104,6 +114,11 @@ namespace GridGenerator \{ const Point &, const bool ); + template void + simplex ( + Triangulation &, + const std::vector >&); + template void parallelepiped ( Triangulation&, diff --git a/tests/grid/grid_generator_cheese.cc b/tests/grid/grid_generator_cheese.cc new file mode 100644 index 0000000000..3e50b30388 --- /dev/null +++ b/tests/grid/grid_generator_cheese.cc @@ -0,0 +1,65 @@ +// --------------------------------------------------------------------- +// +// Copyright (C) 2005 - 2015 by the deal.II authors +// +// This file is part of the deal.II library. +// +// The deal.II library is free software; you can use it, redistribute +// it, and/or modify it under the terms of the GNU Lesser General +// Public License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// The full text of the license can be found in the file LICENSE at +// the top level of the deal.II distribution. +// +// --------------------------------------------------------------------- + +// Test output for GridGenerator::cheese() + +#include "../tests.h" +#include +#include +#include +#include +#include + +#include +#include + + +void dim2(std::ostream& os) +{ + const unsigned int d=2; + Triangulation tr; + + std::vector holes(d); + holes[0] = 3; + holes[1] = 2; + GridGenerator::cheese(tr, holes); + + GridOut gout; + gout.write_vtk(tr, os); +} + +void dim3(std::ostream& os) +{ + const unsigned int d=3; + Triangulation tr; + + std::vector holes(d); + holes[0] = 3; + holes[1] = 2; + holes[2] = 4; + GridGenerator::cheese(tr, holes); + + GridOut gout; + gout.write_vtk(tr, os); +} + + +int main() +{ + initlog(true); + std::ostream& logfile = deallog.get_file_stream(); + dim2(logfile); + dim3(logfile); +} diff --git a/tests/grid/grid_generator_cheese.output b/tests/grid/grid_generator_cheese.output new file mode 100644 index 0000000000..1600bedbb7 --- /dev/null +++ b/tests/grid/grid_generator_cheese.output @@ -0,0 +1,3005 @@ + +# vtk DataFile Version 3.0 +#This file was generated +ASCII +DATASET UNSTRUCTURED_GRID + +POINTS 116 double +0.00000 0.00000 0 +1.00000 0.00000 0 +0.00000 1.00000 0 +1.00000 1.00000 0 +1.00000 0.00000 0 +2.00000 0.00000 0 +1.00000 1.00000 0 +2.00000 1.00000 0 +2.00000 0.00000 0 +3.00000 0.00000 0 +2.00000 1.00000 0 +3.00000 1.00000 0 +3.00000 0.00000 0 +4.00000 0.00000 0 +3.00000 1.00000 0 +4.00000 1.00000 0 +4.00000 0.00000 0 +5.00000 0.00000 0 +4.00000 1.00000 0 +5.00000 1.00000 0 +5.00000 0.00000 0 +6.00000 0.00000 0 +5.00000 1.00000 0 +6.00000 1.00000 0 +6.00000 0.00000 0 +7.00000 0.00000 0 +6.00000 1.00000 0 +7.00000 1.00000 0 +0.00000 1.00000 0 +1.00000 1.00000 0 +0.00000 2.00000 0 +1.00000 2.00000 0 +2.00000 1.00000 0 +3.00000 1.00000 0 +2.00000 2.00000 0 +3.00000 2.00000 0 +4.00000 1.00000 0 +5.00000 1.00000 0 +4.00000 2.00000 0 +5.00000 2.00000 0 +6.00000 1.00000 0 +7.00000 1.00000 0 +6.00000 2.00000 0 +7.00000 2.00000 0 +0.00000 2.00000 0 +1.00000 2.00000 0 +0.00000 3.00000 0 +1.00000 3.00000 0 +1.00000 2.00000 0 +2.00000 2.00000 0 +1.00000 3.00000 0 +2.00000 3.00000 0 +2.00000 2.00000 0 +3.00000 2.00000 0 +2.00000 3.00000 0 +3.00000 3.00000 0 +3.00000 2.00000 0 +4.00000 2.00000 0 +3.00000 3.00000 0 +4.00000 3.00000 0 +4.00000 2.00000 0 +5.00000 2.00000 0 +4.00000 3.00000 0 +5.00000 3.00000 0 +5.00000 2.00000 0 +6.00000 2.00000 0 +5.00000 3.00000 0 +6.00000 3.00000 0 +6.00000 2.00000 0 +7.00000 2.00000 0 +6.00000 3.00000 0 +7.00000 3.00000 0 +0.00000 3.00000 0 +1.00000 3.00000 0 +0.00000 4.00000 0 +1.00000 4.00000 0 +2.00000 3.00000 0 +3.00000 3.00000 0 +2.00000 4.00000 0 +3.00000 4.00000 0 +4.00000 3.00000 0 +5.00000 3.00000 0 +4.00000 4.00000 0 +5.00000 4.00000 0 +6.00000 3.00000 0 +7.00000 3.00000 0 +6.00000 4.00000 0 +7.00000 4.00000 0 +0.00000 4.00000 0 +1.00000 4.00000 0 +0.00000 5.00000 0 +1.00000 5.00000 0 +1.00000 4.00000 0 +2.00000 4.00000 0 +1.00000 5.00000 0 +2.00000 5.00000 0 +2.00000 4.00000 0 +3.00000 4.00000 0 +2.00000 5.00000 0 +3.00000 5.00000 0 +3.00000 4.00000 0 +4.00000 4.00000 0 +3.00000 5.00000 0 +4.00000 5.00000 0 +4.00000 4.00000 0 +5.00000 4.00000 0 +4.00000 5.00000 0 +5.00000 5.00000 0 +5.00000 4.00000 0 +6.00000 4.00000 0 +5.00000 5.00000 0 +6.00000 5.00000 0 +6.00000 4.00000 0 +7.00000 4.00000 0 +6.00000 5.00000 0 +7.00000 5.00000 0 + +CELLS 29 145 +4 0 1 3 2 +4 4 5 7 6 +4 8 9 11 10 +4 12 13 15 14 +4 16 17 19 18 +4 20 21 23 22 +4 24 25 27 26 +4 28 29 31 30 +4 32 33 35 34 +4 36 37 39 38 +4 40 41 43 42 +4 44 45 47 46 +4 48 49 51 50 +4 52 53 55 54 +4 56 57 59 58 +4 60 61 63 62 +4 64 65 67 66 +4 68 69 71 70 +4 72 73 75 74 +4 76 77 79 78 +4 80 81 83 82 +4 84 85 87 86 +4 88 89 91 90 +4 92 93 95 94 +4 96 97 99 98 +4 100 101 103 102 +4 104 105 107 106 +4 108 109 111 110 +4 112 113 115 114 + +CELL_TYPES 29 + 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 +POINT_DATA 116 +# vtk DataFile Version 3.0 +#This file was generated +ASCII +DATASET UNSTRUCTURED_GRID + +POINTS 2520 double +0.00000 0.00000 0.00000 +1.00000 0.00000 0.00000 +0.00000 1.00000 0.00000 +1.00000 1.00000 0.00000 +0.00000 0.00000 1.00000 +1.00000 0.00000 1.00000 +0.00000 1.00000 1.00000 +1.00000 1.00000 1.00000 +1.00000 0.00000 0.00000 +2.00000 0.00000 0.00000 +1.00000 1.00000 0.00000 +2.00000 1.00000 0.00000 +1.00000 0.00000 1.00000 +2.00000 0.00000 1.00000 +1.00000 1.00000 1.00000 +2.00000 1.00000 1.00000 +2.00000 0.00000 0.00000 +3.00000 0.00000 0.00000 +2.00000 1.00000 0.00000 +3.00000 1.00000 0.00000 +2.00000 0.00000 1.00000 +3.00000 0.00000 1.00000 +2.00000 1.00000 1.00000 +3.00000 1.00000 1.00000 +3.00000 0.00000 0.00000 +4.00000 0.00000 0.00000 +3.00000 1.00000 0.00000 +4.00000 1.00000 0.00000 +3.00000 0.00000 1.00000 +4.00000 0.00000 1.00000 +3.00000 1.00000 1.00000 +4.00000 1.00000 1.00000 +4.00000 0.00000 0.00000 +5.00000 0.00000 0.00000 +4.00000 1.00000 0.00000 +5.00000 1.00000 0.00000 +4.00000 0.00000 1.00000 +5.00000 0.00000 1.00000 +4.00000 1.00000 1.00000 +5.00000 1.00000 1.00000 +5.00000 0.00000 0.00000 +6.00000 0.00000 0.00000 +5.00000 1.00000 0.00000 +6.00000 1.00000 0.00000 +5.00000 0.00000 1.00000 +6.00000 0.00000 1.00000 +5.00000 1.00000 1.00000 +6.00000 1.00000 1.00000 +6.00000 0.00000 0.00000 +7.00000 0.00000 0.00000 +6.00000 1.00000 0.00000 +7.00000 1.00000 0.00000 +6.00000 0.00000 1.00000 +7.00000 0.00000 1.00000 +6.00000 1.00000 1.00000 +7.00000 1.00000 1.00000 +0.00000 1.00000 0.00000 +1.00000 1.00000 0.00000 +0.00000 2.00000 0.00000 +1.00000 2.00000 0.00000 +0.00000 1.00000 1.00000 +1.00000 1.00000 1.00000 +0.00000 2.00000 1.00000 +1.00000 2.00000 1.00000 +1.00000 1.00000 0.00000 +2.00000 1.00000 0.00000 +1.00000 2.00000 0.00000 +2.00000 2.00000 0.00000 +1.00000 1.00000 1.00000 +2.00000 1.00000 1.00000 +1.00000 2.00000 1.00000 +2.00000 2.00000 1.00000 +2.00000 1.00000 0.00000 +3.00000 1.00000 0.00000 +2.00000 2.00000 0.00000 +3.00000 2.00000 0.00000 +2.00000 1.00000 1.00000 +3.00000 1.00000 1.00000 +2.00000 2.00000 1.00000 +3.00000 2.00000 1.00000 +3.00000 1.00000 0.00000 +4.00000 1.00000 0.00000 +3.00000 2.00000 0.00000 +4.00000 2.00000 0.00000 +3.00000 1.00000 1.00000 +4.00000 1.00000 1.00000 +3.00000 2.00000 1.00000 +4.00000 2.00000 1.00000 +4.00000 1.00000 0.00000 +5.00000 1.00000 0.00000 +4.00000 2.00000 0.00000 +5.00000 2.00000 0.00000 +4.00000 1.00000 1.00000 +5.00000 1.00000 1.00000 +4.00000 2.00000 1.00000 +5.00000 2.00000 1.00000 +5.00000 1.00000 0.00000 +6.00000 1.00000 0.00000 +5.00000 2.00000 0.00000 +6.00000 2.00000 0.00000 +5.00000 1.00000 1.00000 +6.00000 1.00000 1.00000 +5.00000 2.00000 1.00000 +6.00000 2.00000 1.00000 +6.00000 1.00000 0.00000 +7.00000 1.00000 0.00000 +6.00000 2.00000 0.00000 +7.00000 2.00000 0.00000 +6.00000 1.00000 1.00000 +7.00000 1.00000 1.00000 +6.00000 2.00000 1.00000 +7.00000 2.00000 1.00000 +0.00000 2.00000 0.00000 +1.00000 2.00000 0.00000 +0.00000 3.00000 0.00000 +1.00000 3.00000 0.00000 +0.00000 2.00000 1.00000 +1.00000 2.00000 1.00000 +0.00000 3.00000 1.00000 +1.00000 3.00000 1.00000 +1.00000 2.00000 0.00000 +2.00000 2.00000 0.00000 +1.00000 3.00000 0.00000 +2.00000 3.00000 0.00000 +1.00000 2.00000 1.00000 +2.00000 2.00000 1.00000 +1.00000 3.00000 1.00000 +2.00000 3.00000 1.00000 +2.00000 2.00000 0.00000 +3.00000 2.00000 0.00000 +2.00000 3.00000 0.00000 +3.00000 3.00000 0.00000 +2.00000 2.00000 1.00000 +3.00000 2.00000 1.00000 +2.00000 3.00000 1.00000 +3.00000 3.00000 1.00000 +3.00000 2.00000 0.00000 +4.00000 2.00000 0.00000 +3.00000 3.00000 0.00000 +4.00000 3.00000 0.00000 +3.00000 2.00000 1.00000 +4.00000 2.00000 1.00000 +3.00000 3.00000 1.00000 +4.00000 3.00000 1.00000 +4.00000 2.00000 0.00000 +5.00000 2.00000 0.00000 +4.00000 3.00000 0.00000 +5.00000 3.00000 0.00000 +4.00000 2.00000 1.00000 +5.00000 2.00000 1.00000 +4.00000 3.00000 1.00000 +5.00000 3.00000 1.00000 +5.00000 2.00000 0.00000 +6.00000 2.00000 0.00000 +5.00000 3.00000 0.00000 +6.00000 3.00000 0.00000 +5.00000 2.00000 1.00000 +6.00000 2.00000 1.00000 +5.00000 3.00000 1.00000 +6.00000 3.00000 1.00000 +6.00000 2.00000 0.00000 +7.00000 2.00000 0.00000 +6.00000 3.00000 0.00000 +7.00000 3.00000 0.00000 +6.00000 2.00000 1.00000 +7.00000 2.00000 1.00000 +6.00000 3.00000 1.00000 +7.00000 3.00000 1.00000 +0.00000 3.00000 0.00000 +1.00000 3.00000 0.00000 +0.00000 4.00000 0.00000 +1.00000 4.00000 0.00000 +0.00000 3.00000 1.00000 +1.00000 3.00000 1.00000 +0.00000 4.00000 1.00000 +1.00000 4.00000 1.00000 +1.00000 3.00000 0.00000 +2.00000 3.00000 0.00000 +1.00000 4.00000 0.00000 +2.00000 4.00000 0.00000 +1.00000 3.00000 1.00000 +2.00000 3.00000 1.00000 +1.00000 4.00000 1.00000 +2.00000 4.00000 1.00000 +2.00000 3.00000 0.00000 +3.00000 3.00000 0.00000 +2.00000 4.00000 0.00000 +3.00000 4.00000 0.00000 +2.00000 3.00000 1.00000 +3.00000 3.00000 1.00000 +2.00000 4.00000 1.00000 +3.00000 4.00000 1.00000 +3.00000 3.00000 0.00000 +4.00000 3.00000 0.00000 +3.00000 4.00000 0.00000 +4.00000 4.00000 0.00000 +3.00000 3.00000 1.00000 +4.00000 3.00000 1.00000 +3.00000 4.00000 1.00000 +4.00000 4.00000 1.00000 +4.00000 3.00000 0.00000 +5.00000 3.00000 0.00000 +4.00000 4.00000 0.00000 +5.00000 4.00000 0.00000 +4.00000 3.00000 1.00000 +5.00000 3.00000 1.00000 +4.00000 4.00000 1.00000 +5.00000 4.00000 1.00000 +5.00000 3.00000 0.00000 +6.00000 3.00000 0.00000 +5.00000 4.00000 0.00000 +6.00000 4.00000 0.00000 +5.00000 3.00000 1.00000 +6.00000 3.00000 1.00000 +5.00000 4.00000 1.00000 +6.00000 4.00000 1.00000 +6.00000 3.00000 0.00000 +7.00000 3.00000 0.00000 +6.00000 4.00000 0.00000 +7.00000 4.00000 0.00000 +6.00000 3.00000 1.00000 +7.00000 3.00000 1.00000 +6.00000 4.00000 1.00000 +7.00000 4.00000 1.00000 +0.00000 4.00000 0.00000 +1.00000 4.00000 0.00000 +0.00000 5.00000 0.00000 +1.00000 5.00000 0.00000 +0.00000 4.00000 1.00000 +1.00000 4.00000 1.00000 +0.00000 5.00000 1.00000 +1.00000 5.00000 1.00000 +1.00000 4.00000 0.00000 +2.00000 4.00000 0.00000 +1.00000 5.00000 0.00000 +2.00000 5.00000 0.00000 +1.00000 4.00000 1.00000 +2.00000 4.00000 1.00000 +1.00000 5.00000 1.00000 +2.00000 5.00000 1.00000 +2.00000 4.00000 0.00000 +3.00000 4.00000 0.00000 +2.00000 5.00000 0.00000 +3.00000 5.00000 0.00000 +2.00000 4.00000 1.00000 +3.00000 4.00000 1.00000 +2.00000 5.00000 1.00000 +3.00000 5.00000 1.00000 +3.00000 4.00000 0.00000 +4.00000 4.00000 0.00000 +3.00000 5.00000 0.00000 +4.00000 5.00000 0.00000 +3.00000 4.00000 1.00000 +4.00000 4.00000 1.00000 +3.00000 5.00000 1.00000 +4.00000 5.00000 1.00000 +4.00000 4.00000 0.00000 +5.00000 4.00000 0.00000 +4.00000 5.00000 0.00000 +5.00000 5.00000 0.00000 +4.00000 4.00000 1.00000 +5.00000 4.00000 1.00000 +4.00000 5.00000 1.00000 +5.00000 5.00000 1.00000 +5.00000 4.00000 0.00000 +6.00000 4.00000 0.00000 +5.00000 5.00000 0.00000 +6.00000 5.00000 0.00000 +5.00000 4.00000 1.00000 +6.00000 4.00000 1.00000 +5.00000 5.00000 1.00000 +6.00000 5.00000 1.00000 +6.00000 4.00000 0.00000 +7.00000 4.00000 0.00000 +6.00000 5.00000 0.00000 +7.00000 5.00000 0.00000 +6.00000 4.00000 1.00000 +7.00000 4.00000 1.00000 +6.00000 5.00000 1.00000 +7.00000 5.00000 1.00000 +0.00000 0.00000 1.00000 +1.00000 0.00000 1.00000 +0.00000 1.00000 1.00000 +1.00000 1.00000 1.00000 +0.00000 0.00000 2.00000 +1.00000 0.00000 2.00000 +0.00000 1.00000 2.00000 +1.00000 1.00000 2.00000 +1.00000 0.00000 1.00000 +2.00000 0.00000 1.00000 +1.00000 1.00000 1.00000 +2.00000 1.00000 1.00000 +1.00000 0.00000 2.00000 +2.00000 0.00000 2.00000 +1.00000 1.00000 2.00000 +2.00000 1.00000 2.00000 +2.00000 0.00000 1.00000 +3.00000 0.00000 1.00000 +2.00000 1.00000 1.00000 +3.00000 1.00000 1.00000 +2.00000 0.00000 2.00000 +3.00000 0.00000 2.00000 +2.00000 1.00000 2.00000 +3.00000 1.00000 2.00000 +3.00000 0.00000 1.00000 +4.00000 0.00000 1.00000 +3.00000 1.00000 1.00000 +4.00000 1.00000 1.00000 +3.00000 0.00000 2.00000 +4.00000 0.00000 2.00000 +3.00000 1.00000 2.00000 +4.00000 1.00000 2.00000 +4.00000 0.00000 1.00000 +5.00000 0.00000 1.00000 +4.00000 1.00000 1.00000 +5.00000 1.00000 1.00000 +4.00000 0.00000 2.00000 +5.00000 0.00000 2.00000 +4.00000 1.00000 2.00000 +5.00000 1.00000 2.00000 +5.00000 0.00000 1.00000 +6.00000 0.00000 1.00000 +5.00000 1.00000 1.00000 +6.00000 1.00000 1.00000 +5.00000 0.00000 2.00000 +6.00000 0.00000 2.00000 +5.00000 1.00000 2.00000 +6.00000 1.00000 2.00000 +6.00000 0.00000 1.00000 +7.00000 0.00000 1.00000 +6.00000 1.00000 1.00000 +7.00000 1.00000 1.00000 +6.00000 0.00000 2.00000 +7.00000 0.00000 2.00000 +6.00000 1.00000 2.00000 +7.00000 1.00000 2.00000 +0.00000 1.00000 1.00000 +1.00000 1.00000 1.00000 +0.00000 2.00000 1.00000 +1.00000 2.00000 1.00000 +0.00000 1.00000 2.00000 +1.00000 1.00000 2.00000 +0.00000 2.00000 2.00000 +1.00000 2.00000 2.00000 +1.00000 1.00000 1.00000 +2.00000 1.00000 1.00000 +1.00000 2.00000 1.00000 +2.00000 2.00000 1.00000 +1.00000 1.00000 2.00000 +2.00000 1.00000 2.00000 +1.00000 2.00000 2.00000 +2.00000 2.00000 2.00000 +2.00000 1.00000 1.00000 +3.00000 1.00000 1.00000 +2.00000 2.00000 1.00000 +3.00000 2.00000 1.00000 +2.00000 1.00000 2.00000 +3.00000 1.00000 2.00000 +2.00000 2.00000 2.00000 +3.00000 2.00000 2.00000 +3.00000 1.00000 1.00000 +4.00000 1.00000 1.00000 +3.00000 2.00000 1.00000 +4.00000 2.00000 1.00000 +3.00000 1.00000 2.00000 +4.00000 1.00000 2.00000 +3.00000 2.00000 2.00000 +4.00000 2.00000 2.00000 +4.00000 1.00000 1.00000 +5.00000 1.00000 1.00000 +4.00000 2.00000 1.00000 +5.00000 2.00000 1.00000 +4.00000 1.00000 2.00000 +5.00000 1.00000 2.00000 +4.00000 2.00000 2.00000 +5.00000 2.00000 2.00000 +5.00000 1.00000 1.00000 +6.00000 1.00000 1.00000 +5.00000 2.00000 1.00000 +6.00000 2.00000 1.00000 +5.00000 1.00000 2.00000 +6.00000 1.00000 2.00000 +5.00000 2.00000 2.00000 +6.00000 2.00000 2.00000 +6.00000 1.00000 1.00000 +7.00000 1.00000 1.00000 +6.00000 2.00000 1.00000 +7.00000 2.00000 1.00000 +6.00000 1.00000 2.00000 +7.00000 1.00000 2.00000 +6.00000 2.00000 2.00000 +7.00000 2.00000 2.00000 +0.00000 2.00000 1.00000 +1.00000 2.00000 1.00000 +0.00000 3.00000 1.00000 +1.00000 3.00000 1.00000 +0.00000 2.00000 2.00000 +1.00000 2.00000 2.00000 +0.00000 3.00000 2.00000 +1.00000 3.00000 2.00000 +1.00000 2.00000 1.00000 +2.00000 2.00000 1.00000 +1.00000 3.00000 1.00000 +2.00000 3.00000 1.00000 +1.00000 2.00000 2.00000 +2.00000 2.00000 2.00000 +1.00000 3.00000 2.00000 +2.00000 3.00000 2.00000 +2.00000 2.00000 1.00000 +3.00000 2.00000 1.00000 +2.00000 3.00000 1.00000 +3.00000 3.00000 1.00000 +2.00000 2.00000 2.00000 +3.00000 2.00000 2.00000 +2.00000 3.00000 2.00000 +3.00000 3.00000 2.00000 +3.00000 2.00000 1.00000 +4.00000 2.00000 1.00000 +3.00000 3.00000 1.00000 +4.00000 3.00000 1.00000 +3.00000 2.00000 2.00000 +4.00000 2.00000 2.00000 +3.00000 3.00000 2.00000 +4.00000 3.00000 2.00000 +4.00000 2.00000 1.00000 +5.00000 2.00000 1.00000 +4.00000 3.00000 1.00000 +5.00000 3.00000 1.00000 +4.00000 2.00000 2.00000 +5.00000 2.00000 2.00000 +4.00000 3.00000 2.00000 +5.00000 3.00000 2.00000 +5.00000 2.00000 1.00000 +6.00000 2.00000 1.00000 +5.00000 3.00000 1.00000 +6.00000 3.00000 1.00000 +5.00000 2.00000 2.00000 +6.00000 2.00000 2.00000 +5.00000 3.00000 2.00000 +6.00000 3.00000 2.00000 +6.00000 2.00000 1.00000 +7.00000 2.00000 1.00000 +6.00000 3.00000 1.00000 +7.00000 3.00000 1.00000 +6.00000 2.00000 2.00000 +7.00000 2.00000 2.00000 +6.00000 3.00000 2.00000 +7.00000 3.00000 2.00000 +0.00000 3.00000 1.00000 +1.00000 3.00000 1.00000 +0.00000 4.00000 1.00000 +1.00000 4.00000 1.00000 +0.00000 3.00000 2.00000 +1.00000 3.00000 2.00000 +0.00000 4.00000 2.00000 +1.00000 4.00000 2.00000 +1.00000 3.00000 1.00000 +2.00000 3.00000 1.00000 +1.00000 4.00000 1.00000 +2.00000 4.00000 1.00000 +1.00000 3.00000 2.00000 +2.00000 3.00000 2.00000 +1.00000 4.00000 2.00000 +2.00000 4.00000 2.00000 +2.00000 3.00000 1.00000 +3.00000 3.00000 1.00000 +2.00000 4.00000 1.00000 +3.00000 4.00000 1.00000 +2.00000 3.00000 2.00000 +3.00000 3.00000 2.00000 +2.00000 4.00000 2.00000 +3.00000 4.00000 2.00000 +3.00000 3.00000 1.00000 +4.00000 3.00000 1.00000 +3.00000 4.00000 1.00000 +4.00000 4.00000 1.00000 +3.00000 3.00000 2.00000 +4.00000 3.00000 2.00000 +3.00000 4.00000 2.00000 +4.00000 4.00000 2.00000 +4.00000 3.00000 1.00000 +5.00000 3.00000 1.00000 +4.00000 4.00000 1.00000 +5.00000 4.00000 1.00000 +4.00000 3.00000 2.00000 +5.00000 3.00000 2.00000 +4.00000 4.00000 2.00000 +5.00000 4.00000 2.00000 +5.00000 3.00000 1.00000 +6.00000 3.00000 1.00000 +5.00000 4.00000 1.00000 +6.00000 4.00000 1.00000 +5.00000 3.00000 2.00000 +6.00000 3.00000 2.00000 +5.00000 4.00000 2.00000 +6.00000 4.00000 2.00000 +6.00000 3.00000 1.00000 +7.00000 3.00000 1.00000 +6.00000 4.00000 1.00000 +7.00000 4.00000 1.00000 +6.00000 3.00000 2.00000 +7.00000 3.00000 2.00000 +6.00000 4.00000 2.00000 +7.00000 4.00000 2.00000 +0.00000 4.00000 1.00000 +1.00000 4.00000 1.00000 +0.00000 5.00000 1.00000 +1.00000 5.00000 1.00000 +0.00000 4.00000 2.00000 +1.00000 4.00000 2.00000 +0.00000 5.00000 2.00000 +1.00000 5.00000 2.00000 +1.00000 4.00000 1.00000 +2.00000 4.00000 1.00000 +1.00000 5.00000 1.00000 +2.00000 5.00000 1.00000 +1.00000 4.00000 2.00000 +2.00000 4.00000 2.00000 +1.00000 5.00000 2.00000 +2.00000 5.00000 2.00000 +2.00000 4.00000 1.00000 +3.00000 4.00000 1.00000 +2.00000 5.00000 1.00000 +3.00000 5.00000 1.00000 +2.00000 4.00000 2.00000 +3.00000 4.00000 2.00000 +2.00000 5.00000 2.00000 +3.00000 5.00000 2.00000 +3.00000 4.00000 1.00000 +4.00000 4.00000 1.00000 +3.00000 5.00000 1.00000 +4.00000 5.00000 1.00000 +3.00000 4.00000 2.00000 +4.00000 4.00000 2.00000 +3.00000 5.00000 2.00000 +4.00000 5.00000 2.00000 +4.00000 4.00000 1.00000 +5.00000 4.00000 1.00000 +4.00000 5.00000 1.00000 +5.00000 5.00000 1.00000 +4.00000 4.00000 2.00000 +5.00000 4.00000 2.00000 +4.00000 5.00000 2.00000 +5.00000 5.00000 2.00000 +5.00000 4.00000 1.00000 +6.00000 4.00000 1.00000 +5.00000 5.00000 1.00000 +6.00000 5.00000 1.00000 +5.00000 4.00000 2.00000 +6.00000 4.00000 2.00000 +5.00000 5.00000 2.00000 +6.00000 5.00000 2.00000 +6.00000 4.00000 1.00000 +7.00000 4.00000 1.00000 +6.00000 5.00000 1.00000 +7.00000 5.00000 1.00000 +6.00000 4.00000 2.00000 +7.00000 4.00000 2.00000 +6.00000 5.00000 2.00000 +7.00000 5.00000 2.00000 +0.00000 0.00000 2.00000 +1.00000 0.00000 2.00000 +0.00000 1.00000 2.00000 +1.00000 1.00000 2.00000 +0.00000 0.00000 3.00000 +1.00000 0.00000 3.00000 +0.00000 1.00000 3.00000 +1.00000 1.00000 3.00000 +1.00000 0.00000 2.00000 +2.00000 0.00000 2.00000 +1.00000 1.00000 2.00000 +2.00000 1.00000 2.00000 +1.00000 0.00000 3.00000 +2.00000 0.00000 3.00000 +1.00000 1.00000 3.00000 +2.00000 1.00000 3.00000 +2.00000 0.00000 2.00000 +3.00000 0.00000 2.00000 +2.00000 1.00000 2.00000 +3.00000 1.00000 2.00000 +2.00000 0.00000 3.00000 +3.00000 0.00000 3.00000 +2.00000 1.00000 3.00000 +3.00000 1.00000 3.00000 +3.00000 0.00000 2.00000 +4.00000 0.00000 2.00000 +3.00000 1.00000 2.00000 +4.00000 1.00000 2.00000 +3.00000 0.00000 3.00000 +4.00000 0.00000 3.00000 +3.00000 1.00000 3.00000 +4.00000 1.00000 3.00000 +4.00000 0.00000 2.00000 +5.00000 0.00000 2.00000 +4.00000 1.00000 2.00000 +5.00000 1.00000 2.00000 +4.00000 0.00000 3.00000 +5.00000 0.00000 3.00000 +4.00000 1.00000 3.00000 +5.00000 1.00000 3.00000 +5.00000 0.00000 2.00000 +6.00000 0.00000 2.00000 +5.00000 1.00000 2.00000 +6.00000 1.00000 2.00000 +5.00000 0.00000 3.00000 +6.00000 0.00000 3.00000 +5.00000 1.00000 3.00000 +6.00000 1.00000 3.00000 +6.00000 0.00000 2.00000 +7.00000 0.00000 2.00000 +6.00000 1.00000 2.00000 +7.00000 1.00000 2.00000 +6.00000 0.00000 3.00000 +7.00000 0.00000 3.00000 +6.00000 1.00000 3.00000 +7.00000 1.00000 3.00000 +0.00000 1.00000 2.00000 +1.00000 1.00000 2.00000 +0.00000 2.00000 2.00000 +1.00000 2.00000 2.00000 +0.00000 1.00000 3.00000 +1.00000 1.00000 3.00000 +0.00000 2.00000 3.00000 +1.00000 2.00000 3.00000 +1.00000 1.00000 2.00000 +2.00000 1.00000 2.00000 +1.00000 2.00000 2.00000 +2.00000 2.00000 2.00000 +1.00000 1.00000 3.00000 +2.00000 1.00000 3.00000 +1.00000 2.00000 3.00000 +2.00000 2.00000 3.00000 +2.00000 1.00000 2.00000 +3.00000 1.00000 2.00000 +2.00000 2.00000 2.00000 +3.00000 2.00000 2.00000 +2.00000 1.00000 3.00000 +3.00000 1.00000 3.00000 +2.00000 2.00000 3.00000 +3.00000 2.00000 3.00000 +3.00000 1.00000 2.00000 +4.00000 1.00000 2.00000 +3.00000 2.00000 2.00000 +4.00000 2.00000 2.00000 +3.00000 1.00000 3.00000 +4.00000 1.00000 3.00000 +3.00000 2.00000 3.00000 +4.00000 2.00000 3.00000 +4.00000 1.00000 2.00000 +5.00000 1.00000 2.00000 +4.00000 2.00000 2.00000 +5.00000 2.00000 2.00000 +4.00000 1.00000 3.00000 +5.00000 1.00000 3.00000 +4.00000 2.00000 3.00000 +5.00000 2.00000 3.00000 +5.00000 1.00000 2.00000 +6.00000 1.00000 2.00000 +5.00000 2.00000 2.00000 +6.00000 2.00000 2.00000 +5.00000 1.00000 3.00000 +6.00000 1.00000 3.00000 +5.00000 2.00000 3.00000 +6.00000 2.00000 3.00000 +6.00000 1.00000 2.00000 +7.00000 1.00000 2.00000 +6.00000 2.00000 2.00000 +7.00000 2.00000 2.00000 +6.00000 1.00000 3.00000 +7.00000 1.00000 3.00000 +6.00000 2.00000 3.00000 +7.00000 2.00000 3.00000 +0.00000 2.00000 2.00000 +1.00000 2.00000 2.00000 +0.00000 3.00000 2.00000 +1.00000 3.00000 2.00000 +0.00000 2.00000 3.00000 +1.00000 2.00000 3.00000 +0.00000 3.00000 3.00000 +1.00000 3.00000 3.00000 +1.00000 2.00000 2.00000 +2.00000 2.00000 2.00000 +1.00000 3.00000 2.00000 +2.00000 3.00000 2.00000 +1.00000 2.00000 3.00000 +2.00000 2.00000 3.00000 +1.00000 3.00000 3.00000 +2.00000 3.00000 3.00000 +2.00000 2.00000 2.00000 +3.00000 2.00000 2.00000 +2.00000 3.00000 2.00000 +3.00000 3.00000 2.00000 +2.00000 2.00000 3.00000 +3.00000 2.00000 3.00000 +2.00000 3.00000 3.00000 +3.00000 3.00000 3.00000 +3.00000 2.00000 2.00000 +4.00000 2.00000 2.00000 +3.00000 3.00000 2.00000 +4.00000 3.00000 2.00000 +3.00000 2.00000 3.00000 +4.00000 2.00000 3.00000 +3.00000 3.00000 3.00000 +4.00000 3.00000 3.00000 +4.00000 2.00000 2.00000 +5.00000 2.00000 2.00000 +4.00000 3.00000 2.00000 +5.00000 3.00000 2.00000 +4.00000 2.00000 3.00000 +5.00000 2.00000 3.00000 +4.00000 3.00000 3.00000 +5.00000 3.00000 3.00000 +5.00000 2.00000 2.00000 +6.00000 2.00000 2.00000 +5.00000 3.00000 2.00000 +6.00000 3.00000 2.00000 +5.00000 2.00000 3.00000 +6.00000 2.00000 3.00000 +5.00000 3.00000 3.00000 +6.00000 3.00000 3.00000 +6.00000 2.00000 2.00000 +7.00000 2.00000 2.00000 +6.00000 3.00000 2.00000 +7.00000 3.00000 2.00000 +6.00000 2.00000 3.00000 +7.00000 2.00000 3.00000 +6.00000 3.00000 3.00000 +7.00000 3.00000 3.00000 +0.00000 3.00000 2.00000 +1.00000 3.00000 2.00000 +0.00000 4.00000 2.00000 +1.00000 4.00000 2.00000 +0.00000 3.00000 3.00000 +1.00000 3.00000 3.00000 +0.00000 4.00000 3.00000 +1.00000 4.00000 3.00000 +1.00000 3.00000 2.00000 +2.00000 3.00000 2.00000 +1.00000 4.00000 2.00000 +2.00000 4.00000 2.00000 +1.00000 3.00000 3.00000 +2.00000 3.00000 3.00000 +1.00000 4.00000 3.00000 +2.00000 4.00000 3.00000 +2.00000 3.00000 2.00000 +3.00000 3.00000 2.00000 +2.00000 4.00000 2.00000 +3.00000 4.00000 2.00000 +2.00000 3.00000 3.00000 +3.00000 3.00000 3.00000 +2.00000 4.00000 3.00000 +3.00000 4.00000 3.00000 +3.00000 3.00000 2.00000 +4.00000 3.00000 2.00000 +3.00000 4.00000 2.00000 +4.00000 4.00000 2.00000 +3.00000 3.00000 3.00000 +4.00000 3.00000 3.00000 +3.00000 4.00000 3.00000 +4.00000 4.00000 3.00000 +4.00000 3.00000 2.00000 +5.00000 3.00000 2.00000 +4.00000 4.00000 2.00000 +5.00000 4.00000 2.00000 +4.00000 3.00000 3.00000 +5.00000 3.00000 3.00000 +4.00000 4.00000 3.00000 +5.00000 4.00000 3.00000 +5.00000 3.00000 2.00000 +6.00000 3.00000 2.00000 +5.00000 4.00000 2.00000 +6.00000 4.00000 2.00000 +5.00000 3.00000 3.00000 +6.00000 3.00000 3.00000 +5.00000 4.00000 3.00000 +6.00000 4.00000 3.00000 +6.00000 3.00000 2.00000 +7.00000 3.00000 2.00000 +6.00000 4.00000 2.00000 +7.00000 4.00000 2.00000 +6.00000 3.00000 3.00000 +7.00000 3.00000 3.00000 +6.00000 4.00000 3.00000 +7.00000 4.00000 3.00000 +0.00000 4.00000 2.00000 +1.00000 4.00000 2.00000 +0.00000 5.00000 2.00000 +1.00000 5.00000 2.00000 +0.00000 4.00000 3.00000 +1.00000 4.00000 3.00000 +0.00000 5.00000 3.00000 +1.00000 5.00000 3.00000 +1.00000 4.00000 2.00000 +2.00000 4.00000 2.00000 +1.00000 5.00000 2.00000 +2.00000 5.00000 2.00000 +1.00000 4.00000 3.00000 +2.00000 4.00000 3.00000 +1.00000 5.00000 3.00000 +2.00000 5.00000 3.00000 +2.00000 4.00000 2.00000 +3.00000 4.00000 2.00000 +2.00000 5.00000 2.00000 +3.00000 5.00000 2.00000 +2.00000 4.00000 3.00000 +3.00000 4.00000 3.00000 +2.00000 5.00000 3.00000 +3.00000 5.00000 3.00000 +3.00000 4.00000 2.00000 +4.00000 4.00000 2.00000 +3.00000 5.00000 2.00000 +4.00000 5.00000 2.00000 +3.00000 4.00000 3.00000 +4.00000 4.00000 3.00000 +3.00000 5.00000 3.00000 +4.00000 5.00000 3.00000 +4.00000 4.00000 2.00000 +5.00000 4.00000 2.00000 +4.00000 5.00000 2.00000 +5.00000 5.00000 2.00000 +4.00000 4.00000 3.00000 +5.00000 4.00000 3.00000 +4.00000 5.00000 3.00000 +5.00000 5.00000 3.00000 +5.00000 4.00000 2.00000 +6.00000 4.00000 2.00000 +5.00000 5.00000 2.00000 +6.00000 5.00000 2.00000 +5.00000 4.00000 3.00000 +6.00000 4.00000 3.00000 +5.00000 5.00000 3.00000 +6.00000 5.00000 3.00000 +6.00000 4.00000 2.00000 +7.00000 4.00000 2.00000 +6.00000 5.00000 2.00000 +7.00000 5.00000 2.00000 +6.00000 4.00000 3.00000 +7.00000 4.00000 3.00000 +6.00000 5.00000 3.00000 +7.00000 5.00000 3.00000 +0.00000 0.00000 3.00000 +1.00000 0.00000 3.00000 +0.00000 1.00000 3.00000 +1.00000 1.00000 3.00000 +0.00000 0.00000 4.00000 +1.00000 0.00000 4.00000 +0.00000 1.00000 4.00000 +1.00000 1.00000 4.00000 +1.00000 0.00000 3.00000 +2.00000 0.00000 3.00000 +1.00000 1.00000 3.00000 +2.00000 1.00000 3.00000 +1.00000 0.00000 4.00000 +2.00000 0.00000 4.00000 +1.00000 1.00000 4.00000 +2.00000 1.00000 4.00000 +2.00000 0.00000 3.00000 +3.00000 0.00000 3.00000 +2.00000 1.00000 3.00000 +3.00000 1.00000 3.00000 +2.00000 0.00000 4.00000 +3.00000 0.00000 4.00000 +2.00000 1.00000 4.00000 +3.00000 1.00000 4.00000 +3.00000 0.00000 3.00000 +4.00000 0.00000 3.00000 +3.00000 1.00000 3.00000 +4.00000 1.00000 3.00000 +3.00000 0.00000 4.00000 +4.00000 0.00000 4.00000 +3.00000 1.00000 4.00000 +4.00000 1.00000 4.00000 +4.00000 0.00000 3.00000 +5.00000 0.00000 3.00000 +4.00000 1.00000 3.00000 +5.00000 1.00000 3.00000 +4.00000 0.00000 4.00000 +5.00000 0.00000 4.00000 +4.00000 1.00000 4.00000 +5.00000 1.00000 4.00000 +5.00000 0.00000 3.00000 +6.00000 0.00000 3.00000 +5.00000 1.00000 3.00000 +6.00000 1.00000 3.00000 +5.00000 0.00000 4.00000 +6.00000 0.00000 4.00000 +5.00000 1.00000 4.00000 +6.00000 1.00000 4.00000 +6.00000 0.00000 3.00000 +7.00000 0.00000 3.00000 +6.00000 1.00000 3.00000 +7.00000 1.00000 3.00000 +6.00000 0.00000 4.00000 +7.00000 0.00000 4.00000 +6.00000 1.00000 4.00000 +7.00000 1.00000 4.00000 +0.00000 1.00000 3.00000 +1.00000 1.00000 3.00000 +0.00000 2.00000 3.00000 +1.00000 2.00000 3.00000 +0.00000 1.00000 4.00000 +1.00000 1.00000 4.00000 +0.00000 2.00000 4.00000 +1.00000 2.00000 4.00000 +1.00000 1.00000 3.00000 +2.00000 1.00000 3.00000 +1.00000 2.00000 3.00000 +2.00000 2.00000 3.00000 +1.00000 1.00000 4.00000 +2.00000 1.00000 4.00000 +1.00000 2.00000 4.00000 +2.00000 2.00000 4.00000 +2.00000 1.00000 3.00000 +3.00000 1.00000 3.00000 +2.00000 2.00000 3.00000 +3.00000 2.00000 3.00000 +2.00000 1.00000 4.00000 +3.00000 1.00000 4.00000 +2.00000 2.00000 4.00000 +3.00000 2.00000 4.00000 +3.00000 1.00000 3.00000 +4.00000 1.00000 3.00000 +3.00000 2.00000 3.00000 +4.00000 2.00000 3.00000 +3.00000 1.00000 4.00000 +4.00000 1.00000 4.00000 +3.00000 2.00000 4.00000 +4.00000 2.00000 4.00000 +4.00000 1.00000 3.00000 +5.00000 1.00000 3.00000 +4.00000 2.00000 3.00000 +5.00000 2.00000 3.00000 +4.00000 1.00000 4.00000 +5.00000 1.00000 4.00000 +4.00000 2.00000 4.00000 +5.00000 2.00000 4.00000 +5.00000 1.00000 3.00000 +6.00000 1.00000 3.00000 +5.00000 2.00000 3.00000 +6.00000 2.00000 3.00000 +5.00000 1.00000 4.00000 +6.00000 1.00000 4.00000 +5.00000 2.00000 4.00000 +6.00000 2.00000 4.00000 +6.00000 1.00000 3.00000 +7.00000 1.00000 3.00000 +6.00000 2.00000 3.00000 +7.00000 2.00000 3.00000 +6.00000 1.00000 4.00000 +7.00000 1.00000 4.00000 +6.00000 2.00000 4.00000 +7.00000 2.00000 4.00000 +0.00000 2.00000 3.00000 +1.00000 2.00000 3.00000 +0.00000 3.00000 3.00000 +1.00000 3.00000 3.00000 +0.00000 2.00000 4.00000 +1.00000 2.00000 4.00000 +0.00000 3.00000 4.00000 +1.00000 3.00000 4.00000 +1.00000 2.00000 3.00000 +2.00000 2.00000 3.00000 +1.00000 3.00000 3.00000 +2.00000 3.00000 3.00000 +1.00000 2.00000 4.00000 +2.00000 2.00000 4.00000 +1.00000 3.00000 4.00000 +2.00000 3.00000 4.00000 +2.00000 2.00000 3.00000 +3.00000 2.00000 3.00000 +2.00000 3.00000 3.00000 +3.00000 3.00000 3.00000 +2.00000 2.00000 4.00000 +3.00000 2.00000 4.00000 +2.00000 3.00000 4.00000 +3.00000 3.00000 4.00000 +3.00000 2.00000 3.00000 +4.00000 2.00000 3.00000 +3.00000 3.00000 3.00000 +4.00000 3.00000 3.00000 +3.00000 2.00000 4.00000 +4.00000 2.00000 4.00000 +3.00000 3.00000 4.00000 +4.00000 3.00000 4.00000 +4.00000 2.00000 3.00000 +5.00000 2.00000 3.00000 +4.00000 3.00000 3.00000 +5.00000 3.00000 3.00000 +4.00000 2.00000 4.00000 +5.00000 2.00000 4.00000 +4.00000 3.00000 4.00000 +5.00000 3.00000 4.00000 +5.00000 2.00000 3.00000 +6.00000 2.00000 3.00000 +5.00000 3.00000 3.00000 +6.00000 3.00000 3.00000 +5.00000 2.00000 4.00000 +6.00000 2.00000 4.00000 +5.00000 3.00000 4.00000 +6.00000 3.00000 4.00000 +6.00000 2.00000 3.00000 +7.00000 2.00000 3.00000 +6.00000 3.00000 3.00000 +7.00000 3.00000 3.00000 +6.00000 2.00000 4.00000 +7.00000 2.00000 4.00000 +6.00000 3.00000 4.00000 +7.00000 3.00000 4.00000 +0.00000 3.00000 3.00000 +1.00000 3.00000 3.00000 +0.00000 4.00000 3.00000 +1.00000 4.00000 3.00000 +0.00000 3.00000 4.00000 +1.00000 3.00000 4.00000 +0.00000 4.00000 4.00000 +1.00000 4.00000 4.00000 +1.00000 3.00000 3.00000 +2.00000 3.00000 3.00000 +1.00000 4.00000 3.00000 +2.00000 4.00000 3.00000 +1.00000 3.00000 4.00000 +2.00000 3.00000 4.00000 +1.00000 4.00000 4.00000 +2.00000 4.00000 4.00000 +2.00000 3.00000 3.00000 +3.00000 3.00000 3.00000 +2.00000 4.00000 3.00000 +3.00000 4.00000 3.00000 +2.00000 3.00000 4.00000 +3.00000 3.00000 4.00000 +2.00000 4.00000 4.00000 +3.00000 4.00000 4.00000 +3.00000 3.00000 3.00000 +4.00000 3.00000 3.00000 +3.00000 4.00000 3.00000 +4.00000 4.00000 3.00000 +3.00000 3.00000 4.00000 +4.00000 3.00000 4.00000 +3.00000 4.00000 4.00000 +4.00000 4.00000 4.00000 +4.00000 3.00000 3.00000 +5.00000 3.00000 3.00000 +4.00000 4.00000 3.00000 +5.00000 4.00000 3.00000 +4.00000 3.00000 4.00000 +5.00000 3.00000 4.00000 +4.00000 4.00000 4.00000 +5.00000 4.00000 4.00000 +5.00000 3.00000 3.00000 +6.00000 3.00000 3.00000 +5.00000 4.00000 3.00000 +6.00000 4.00000 3.00000 +5.00000 3.00000 4.00000 +6.00000 3.00000 4.00000 +5.00000 4.00000 4.00000 +6.00000 4.00000 4.00000 +6.00000 3.00000 3.00000 +7.00000 3.00000 3.00000 +6.00000 4.00000 3.00000 +7.00000 4.00000 3.00000 +6.00000 3.00000 4.00000 +7.00000 3.00000 4.00000 +6.00000 4.00000 4.00000 +7.00000 4.00000 4.00000 +0.00000 4.00000 3.00000 +1.00000 4.00000 3.00000 +0.00000 5.00000 3.00000 +1.00000 5.00000 3.00000 +0.00000 4.00000 4.00000 +1.00000 4.00000 4.00000 +0.00000 5.00000 4.00000 +1.00000 5.00000 4.00000 +1.00000 4.00000 3.00000 +2.00000 4.00000 3.00000 +1.00000 5.00000 3.00000 +2.00000 5.00000 3.00000 +1.00000 4.00000 4.00000 +2.00000 4.00000 4.00000 +1.00000 5.00000 4.00000 +2.00000 5.00000 4.00000 +2.00000 4.00000 3.00000 +3.00000 4.00000 3.00000 +2.00000 5.00000 3.00000 +3.00000 5.00000 3.00000 +2.00000 4.00000 4.00000 +3.00000 4.00000 4.00000 +2.00000 5.00000 4.00000 +3.00000 5.00000 4.00000 +3.00000 4.00000 3.00000 +4.00000 4.00000 3.00000 +3.00000 5.00000 3.00000 +4.00000 5.00000 3.00000 +3.00000 4.00000 4.00000 +4.00000 4.00000 4.00000 +3.00000 5.00000 4.00000 +4.00000 5.00000 4.00000 +4.00000 4.00000 3.00000 +5.00000 4.00000 3.00000 +4.00000 5.00000 3.00000 +5.00000 5.00000 3.00000 +4.00000 4.00000 4.00000 +5.00000 4.00000 4.00000 +4.00000 5.00000 4.00000 +5.00000 5.00000 4.00000 +5.00000 4.00000 3.00000 +6.00000 4.00000 3.00000 +5.00000 5.00000 3.00000 +6.00000 5.00000 3.00000 +5.00000 4.00000 4.00000 +6.00000 4.00000 4.00000 +5.00000 5.00000 4.00000 +6.00000 5.00000 4.00000 +6.00000 4.00000 3.00000 +7.00000 4.00000 3.00000 +6.00000 5.00000 3.00000 +7.00000 5.00000 3.00000 +6.00000 4.00000 4.00000 +7.00000 4.00000 4.00000 +6.00000 5.00000 4.00000 +7.00000 5.00000 4.00000 +0.00000 0.00000 4.00000 +1.00000 0.00000 4.00000 +0.00000 1.00000 4.00000 +1.00000 1.00000 4.00000 +0.00000 0.00000 5.00000 +1.00000 0.00000 5.00000 +0.00000 1.00000 5.00000 +1.00000 1.00000 5.00000 +1.00000 0.00000 4.00000 +2.00000 0.00000 4.00000 +1.00000 1.00000 4.00000 +2.00000 1.00000 4.00000 +1.00000 0.00000 5.00000 +2.00000 0.00000 5.00000 +1.00000 1.00000 5.00000 +2.00000 1.00000 5.00000 +2.00000 0.00000 4.00000 +3.00000 0.00000 4.00000 +2.00000 1.00000 4.00000 +3.00000 1.00000 4.00000 +2.00000 0.00000 5.00000 +3.00000 0.00000 5.00000 +2.00000 1.00000 5.00000 +3.00000 1.00000 5.00000 +3.00000 0.00000 4.00000 +4.00000 0.00000 4.00000 +3.00000 1.00000 4.00000 +4.00000 1.00000 4.00000 +3.00000 0.00000 5.00000 +4.00000 0.00000 5.00000 +3.00000 1.00000 5.00000 +4.00000 1.00000 5.00000 +4.00000 0.00000 4.00000 +5.00000 0.00000 4.00000 +4.00000 1.00000 4.00000 +5.00000 1.00000 4.00000 +4.00000 0.00000 5.00000 +5.00000 0.00000 5.00000 +4.00000 1.00000 5.00000 +5.00000 1.00000 5.00000 +5.00000 0.00000 4.00000 +6.00000 0.00000 4.00000 +5.00000 1.00000 4.00000 +6.00000 1.00000 4.00000 +5.00000 0.00000 5.00000 +6.00000 0.00000 5.00000 +5.00000 1.00000 5.00000 +6.00000 1.00000 5.00000 +6.00000 0.00000 4.00000 +7.00000 0.00000 4.00000 +6.00000 1.00000 4.00000 +7.00000 1.00000 4.00000 +6.00000 0.00000 5.00000 +7.00000 0.00000 5.00000 +6.00000 1.00000 5.00000 +7.00000 1.00000 5.00000 +0.00000 1.00000 4.00000 +1.00000 1.00000 4.00000 +0.00000 2.00000 4.00000 +1.00000 2.00000 4.00000 +0.00000 1.00000 5.00000 +1.00000 1.00000 5.00000 +0.00000 2.00000 5.00000 +1.00000 2.00000 5.00000 +1.00000 1.00000 4.00000 +2.00000 1.00000 4.00000 +1.00000 2.00000 4.00000 +2.00000 2.00000 4.00000 +1.00000 1.00000 5.00000 +2.00000 1.00000 5.00000 +1.00000 2.00000 5.00000 +2.00000 2.00000 5.00000 +2.00000 1.00000 4.00000 +3.00000 1.00000 4.00000 +2.00000 2.00000 4.00000 +3.00000 2.00000 4.00000 +2.00000 1.00000 5.00000 +3.00000 1.00000 5.00000 +2.00000 2.00000 5.00000 +3.00000 2.00000 5.00000 +3.00000 1.00000 4.00000 +4.00000 1.00000 4.00000 +3.00000 2.00000 4.00000 +4.00000 2.00000 4.00000 +3.00000 1.00000 5.00000 +4.00000 1.00000 5.00000 +3.00000 2.00000 5.00000 +4.00000 2.00000 5.00000 +4.00000 1.00000 4.00000 +5.00000 1.00000 4.00000 +4.00000 2.00000 4.00000 +5.00000 2.00000 4.00000 +4.00000 1.00000 5.00000 +5.00000 1.00000 5.00000 +4.00000 2.00000 5.00000 +5.00000 2.00000 5.00000 +5.00000 1.00000 4.00000 +6.00000 1.00000 4.00000 +5.00000 2.00000 4.00000 +6.00000 2.00000 4.00000 +5.00000 1.00000 5.00000 +6.00000 1.00000 5.00000 +5.00000 2.00000 5.00000 +6.00000 2.00000 5.00000 +6.00000 1.00000 4.00000 +7.00000 1.00000 4.00000 +6.00000 2.00000 4.00000 +7.00000 2.00000 4.00000 +6.00000 1.00000 5.00000 +7.00000 1.00000 5.00000 +6.00000 2.00000 5.00000 +7.00000 2.00000 5.00000 +0.00000 2.00000 4.00000 +1.00000 2.00000 4.00000 +0.00000 3.00000 4.00000 +1.00000 3.00000 4.00000 +0.00000 2.00000 5.00000 +1.00000 2.00000 5.00000 +0.00000 3.00000 5.00000 +1.00000 3.00000 5.00000 +1.00000 2.00000 4.00000 +2.00000 2.00000 4.00000 +1.00000 3.00000 4.00000 +2.00000 3.00000 4.00000 +1.00000 2.00000 5.00000 +2.00000 2.00000 5.00000 +1.00000 3.00000 5.00000 +2.00000 3.00000 5.00000 +2.00000 2.00000 4.00000 +3.00000 2.00000 4.00000 +2.00000 3.00000 4.00000 +3.00000 3.00000 4.00000 +2.00000 2.00000 5.00000 +3.00000 2.00000 5.00000 +2.00000 3.00000 5.00000 +3.00000 3.00000 5.00000 +3.00000 2.00000 4.00000 +4.00000 2.00000 4.00000 +3.00000 3.00000 4.00000 +4.00000 3.00000 4.00000 +3.00000 2.00000 5.00000 +4.00000 2.00000 5.00000 +3.00000 3.00000 5.00000 +4.00000 3.00000 5.00000 +4.00000 2.00000 4.00000 +5.00000 2.00000 4.00000 +4.00000 3.00000 4.00000 +5.00000 3.00000 4.00000 +4.00000 2.00000 5.00000 +5.00000 2.00000 5.00000 +4.00000 3.00000 5.00000 +5.00000 3.00000 5.00000 +5.00000 2.00000 4.00000 +6.00000 2.00000 4.00000 +5.00000 3.00000 4.00000 +6.00000 3.00000 4.00000 +5.00000 2.00000 5.00000 +6.00000 2.00000 5.00000 +5.00000 3.00000 5.00000 +6.00000 3.00000 5.00000 +6.00000 2.00000 4.00000 +7.00000 2.00000 4.00000 +6.00000 3.00000 4.00000 +7.00000 3.00000 4.00000 +6.00000 2.00000 5.00000 +7.00000 2.00000 5.00000 +6.00000 3.00000 5.00000 +7.00000 3.00000 5.00000 +0.00000 3.00000 4.00000 +1.00000 3.00000 4.00000 +0.00000 4.00000 4.00000 +1.00000 4.00000 4.00000 +0.00000 3.00000 5.00000 +1.00000 3.00000 5.00000 +0.00000 4.00000 5.00000 +1.00000 4.00000 5.00000 +1.00000 3.00000 4.00000 +2.00000 3.00000 4.00000 +1.00000 4.00000 4.00000 +2.00000 4.00000 4.00000 +1.00000 3.00000 5.00000 +2.00000 3.00000 5.00000 +1.00000 4.00000 5.00000 +2.00000 4.00000 5.00000 +2.00000 3.00000 4.00000 +3.00000 3.00000 4.00000 +2.00000 4.00000 4.00000 +3.00000 4.00000 4.00000 +2.00000 3.00000 5.00000 +3.00000 3.00000 5.00000 +2.00000 4.00000 5.00000 +3.00000 4.00000 5.00000 +3.00000 3.00000 4.00000 +4.00000 3.00000 4.00000 +3.00000 4.00000 4.00000 +4.00000 4.00000 4.00000 +3.00000 3.00000 5.00000 +4.00000 3.00000 5.00000 +3.00000 4.00000 5.00000 +4.00000 4.00000 5.00000 +4.00000 3.00000 4.00000 +5.00000 3.00000 4.00000 +4.00000 4.00000 4.00000 +5.00000 4.00000 4.00000 +4.00000 3.00000 5.00000 +5.00000 3.00000 5.00000 +4.00000 4.00000 5.00000 +5.00000 4.00000 5.00000 +5.00000 3.00000 4.00000 +6.00000 3.00000 4.00000 +5.00000 4.00000 4.00000 +6.00000 4.00000 4.00000 +5.00000 3.00000 5.00000 +6.00000 3.00000 5.00000 +5.00000 4.00000 5.00000 +6.00000 4.00000 5.00000 +6.00000 3.00000 4.00000 +7.00000 3.00000 4.00000 +6.00000 4.00000 4.00000 +7.00000 4.00000 4.00000 +6.00000 3.00000 5.00000 +7.00000 3.00000 5.00000 +6.00000 4.00000 5.00000 +7.00000 4.00000 5.00000 +0.00000 4.00000 4.00000 +1.00000 4.00000 4.00000 +0.00000 5.00000 4.00000 +1.00000 5.00000 4.00000 +0.00000 4.00000 5.00000 +1.00000 4.00000 5.00000 +0.00000 5.00000 5.00000 +1.00000 5.00000 5.00000 +1.00000 4.00000 4.00000 +2.00000 4.00000 4.00000 +1.00000 5.00000 4.00000 +2.00000 5.00000 4.00000 +1.00000 4.00000 5.00000 +2.00000 4.00000 5.00000 +1.00000 5.00000 5.00000 +2.00000 5.00000 5.00000 +2.00000 4.00000 4.00000 +3.00000 4.00000 4.00000 +2.00000 5.00000 4.00000 +3.00000 5.00000 4.00000 +2.00000 4.00000 5.00000 +3.00000 4.00000 5.00000 +2.00000 5.00000 5.00000 +3.00000 5.00000 5.00000 +3.00000 4.00000 4.00000 +4.00000 4.00000 4.00000 +3.00000 5.00000 4.00000 +4.00000 5.00000 4.00000 +3.00000 4.00000 5.00000 +4.00000 4.00000 5.00000 +3.00000 5.00000 5.00000 +4.00000 5.00000 5.00000 +4.00000 4.00000 4.00000 +5.00000 4.00000 4.00000 +4.00000 5.00000 4.00000 +5.00000 5.00000 4.00000 +4.00000 4.00000 5.00000 +5.00000 4.00000 5.00000 +4.00000 5.00000 5.00000 +5.00000 5.00000 5.00000 +5.00000 4.00000 4.00000 +6.00000 4.00000 4.00000 +5.00000 5.00000 4.00000 +6.00000 5.00000 4.00000 +5.00000 4.00000 5.00000 +6.00000 4.00000 5.00000 +5.00000 5.00000 5.00000 +6.00000 5.00000 5.00000 +6.00000 4.00000 4.00000 +7.00000 4.00000 4.00000 +6.00000 5.00000 4.00000 +7.00000 5.00000 4.00000 +6.00000 4.00000 5.00000 +7.00000 4.00000 5.00000 +6.00000 5.00000 5.00000 +7.00000 5.00000 5.00000 +0.00000 0.00000 5.00000 +1.00000 0.00000 5.00000 +0.00000 1.00000 5.00000 +1.00000 1.00000 5.00000 +0.00000 0.00000 6.00000 +1.00000 0.00000 6.00000 +0.00000 1.00000 6.00000 +1.00000 1.00000 6.00000 +1.00000 0.00000 5.00000 +2.00000 0.00000 5.00000 +1.00000 1.00000 5.00000 +2.00000 1.00000 5.00000 +1.00000 0.00000 6.00000 +2.00000 0.00000 6.00000 +1.00000 1.00000 6.00000 +2.00000 1.00000 6.00000 +2.00000 0.00000 5.00000 +3.00000 0.00000 5.00000 +2.00000 1.00000 5.00000 +3.00000 1.00000 5.00000 +2.00000 0.00000 6.00000 +3.00000 0.00000 6.00000 +2.00000 1.00000 6.00000 +3.00000 1.00000 6.00000 +3.00000 0.00000 5.00000 +4.00000 0.00000 5.00000 +3.00000 1.00000 5.00000 +4.00000 1.00000 5.00000 +3.00000 0.00000 6.00000 +4.00000 0.00000 6.00000 +3.00000 1.00000 6.00000 +4.00000 1.00000 6.00000 +4.00000 0.00000 5.00000 +5.00000 0.00000 5.00000 +4.00000 1.00000 5.00000 +5.00000 1.00000 5.00000 +4.00000 0.00000 6.00000 +5.00000 0.00000 6.00000 +4.00000 1.00000 6.00000 +5.00000 1.00000 6.00000 +5.00000 0.00000 5.00000 +6.00000 0.00000 5.00000 +5.00000 1.00000 5.00000 +6.00000 1.00000 5.00000 +5.00000 0.00000 6.00000 +6.00000 0.00000 6.00000 +5.00000 1.00000 6.00000 +6.00000 1.00000 6.00000 +6.00000 0.00000 5.00000 +7.00000 0.00000 5.00000 +6.00000 1.00000 5.00000 +7.00000 1.00000 5.00000 +6.00000 0.00000 6.00000 +7.00000 0.00000 6.00000 +6.00000 1.00000 6.00000 +7.00000 1.00000 6.00000 +0.00000 1.00000 5.00000 +1.00000 1.00000 5.00000 +0.00000 2.00000 5.00000 +1.00000 2.00000 5.00000 +0.00000 1.00000 6.00000 +1.00000 1.00000 6.00000 +0.00000 2.00000 6.00000 +1.00000 2.00000 6.00000 +1.00000 1.00000 5.00000 +2.00000 1.00000 5.00000 +1.00000 2.00000 5.00000 +2.00000 2.00000 5.00000 +1.00000 1.00000 6.00000 +2.00000 1.00000 6.00000 +1.00000 2.00000 6.00000 +2.00000 2.00000 6.00000 +2.00000 1.00000 5.00000 +3.00000 1.00000 5.00000 +2.00000 2.00000 5.00000 +3.00000 2.00000 5.00000 +2.00000 1.00000 6.00000 +3.00000 1.00000 6.00000 +2.00000 2.00000 6.00000 +3.00000 2.00000 6.00000 +3.00000 1.00000 5.00000 +4.00000 1.00000 5.00000 +3.00000 2.00000 5.00000 +4.00000 2.00000 5.00000 +3.00000 1.00000 6.00000 +4.00000 1.00000 6.00000 +3.00000 2.00000 6.00000 +4.00000 2.00000 6.00000 +4.00000 1.00000 5.00000 +5.00000 1.00000 5.00000 +4.00000 2.00000 5.00000 +5.00000 2.00000 5.00000 +4.00000 1.00000 6.00000 +5.00000 1.00000 6.00000 +4.00000 2.00000 6.00000 +5.00000 2.00000 6.00000 +5.00000 1.00000 5.00000 +6.00000 1.00000 5.00000 +5.00000 2.00000 5.00000 +6.00000 2.00000 5.00000 +5.00000 1.00000 6.00000 +6.00000 1.00000 6.00000 +5.00000 2.00000 6.00000 +6.00000 2.00000 6.00000 +6.00000 1.00000 5.00000 +7.00000 1.00000 5.00000 +6.00000 2.00000 5.00000 +7.00000 2.00000 5.00000 +6.00000 1.00000 6.00000 +7.00000 1.00000 6.00000 +6.00000 2.00000 6.00000 +7.00000 2.00000 6.00000 +0.00000 2.00000 5.00000 +1.00000 2.00000 5.00000 +0.00000 3.00000 5.00000 +1.00000 3.00000 5.00000 +0.00000 2.00000 6.00000 +1.00000 2.00000 6.00000 +0.00000 3.00000 6.00000 +1.00000 3.00000 6.00000 +1.00000 2.00000 5.00000 +2.00000 2.00000 5.00000 +1.00000 3.00000 5.00000 +2.00000 3.00000 5.00000 +1.00000 2.00000 6.00000 +2.00000 2.00000 6.00000 +1.00000 3.00000 6.00000 +2.00000 3.00000 6.00000 +2.00000 2.00000 5.00000 +3.00000 2.00000 5.00000 +2.00000 3.00000 5.00000 +3.00000 3.00000 5.00000 +2.00000 2.00000 6.00000 +3.00000 2.00000 6.00000 +2.00000 3.00000 6.00000 +3.00000 3.00000 6.00000 +3.00000 2.00000 5.00000 +4.00000 2.00000 5.00000 +3.00000 3.00000 5.00000 +4.00000 3.00000 5.00000 +3.00000 2.00000 6.00000 +4.00000 2.00000 6.00000 +3.00000 3.00000 6.00000 +4.00000 3.00000 6.00000 +4.00000 2.00000 5.00000 +5.00000 2.00000 5.00000 +4.00000 3.00000 5.00000 +5.00000 3.00000 5.00000 +4.00000 2.00000 6.00000 +5.00000 2.00000 6.00000 +4.00000 3.00000 6.00000 +5.00000 3.00000 6.00000 +5.00000 2.00000 5.00000 +6.00000 2.00000 5.00000 +5.00000 3.00000 5.00000 +6.00000 3.00000 5.00000 +5.00000 2.00000 6.00000 +6.00000 2.00000 6.00000 +5.00000 3.00000 6.00000 +6.00000 3.00000 6.00000 +6.00000 2.00000 5.00000 +7.00000 2.00000 5.00000 +6.00000 3.00000 5.00000 +7.00000 3.00000 5.00000 +6.00000 2.00000 6.00000 +7.00000 2.00000 6.00000 +6.00000 3.00000 6.00000 +7.00000 3.00000 6.00000 +0.00000 3.00000 5.00000 +1.00000 3.00000 5.00000 +0.00000 4.00000 5.00000 +1.00000 4.00000 5.00000 +0.00000 3.00000 6.00000 +1.00000 3.00000 6.00000 +0.00000 4.00000 6.00000 +1.00000 4.00000 6.00000 +1.00000 3.00000 5.00000 +2.00000 3.00000 5.00000 +1.00000 4.00000 5.00000 +2.00000 4.00000 5.00000 +1.00000 3.00000 6.00000 +2.00000 3.00000 6.00000 +1.00000 4.00000 6.00000 +2.00000 4.00000 6.00000 +2.00000 3.00000 5.00000 +3.00000 3.00000 5.00000 +2.00000 4.00000 5.00000 +3.00000 4.00000 5.00000 +2.00000 3.00000 6.00000 +3.00000 3.00000 6.00000 +2.00000 4.00000 6.00000 +3.00000 4.00000 6.00000 +3.00000 3.00000 5.00000 +4.00000 3.00000 5.00000 +3.00000 4.00000 5.00000 +4.00000 4.00000 5.00000 +3.00000 3.00000 6.00000 +4.00000 3.00000 6.00000 +3.00000 4.00000 6.00000 +4.00000 4.00000 6.00000 +4.00000 3.00000 5.00000 +5.00000 3.00000 5.00000 +4.00000 4.00000 5.00000 +5.00000 4.00000 5.00000 +4.00000 3.00000 6.00000 +5.00000 3.00000 6.00000 +4.00000 4.00000 6.00000 +5.00000 4.00000 6.00000 +5.00000 3.00000 5.00000 +6.00000 3.00000 5.00000 +5.00000 4.00000 5.00000 +6.00000 4.00000 5.00000 +5.00000 3.00000 6.00000 +6.00000 3.00000 6.00000 +5.00000 4.00000 6.00000 +6.00000 4.00000 6.00000 +6.00000 3.00000 5.00000 +7.00000 3.00000 5.00000 +6.00000 4.00000 5.00000 +7.00000 4.00000 5.00000 +6.00000 3.00000 6.00000 +7.00000 3.00000 6.00000 +6.00000 4.00000 6.00000 +7.00000 4.00000 6.00000 +0.00000 4.00000 5.00000 +1.00000 4.00000 5.00000 +0.00000 5.00000 5.00000 +1.00000 5.00000 5.00000 +0.00000 4.00000 6.00000 +1.00000 4.00000 6.00000 +0.00000 5.00000 6.00000 +1.00000 5.00000 6.00000 +1.00000 4.00000 5.00000 +2.00000 4.00000 5.00000 +1.00000 5.00000 5.00000 +2.00000 5.00000 5.00000 +1.00000 4.00000 6.00000 +2.00000 4.00000 6.00000 +1.00000 5.00000 6.00000 +2.00000 5.00000 6.00000 +2.00000 4.00000 5.00000 +3.00000 4.00000 5.00000 +2.00000 5.00000 5.00000 +3.00000 5.00000 5.00000 +2.00000 4.00000 6.00000 +3.00000 4.00000 6.00000 +2.00000 5.00000 6.00000 +3.00000 5.00000 6.00000 +3.00000 4.00000 5.00000 +4.00000 4.00000 5.00000 +3.00000 5.00000 5.00000 +4.00000 5.00000 5.00000 +3.00000 4.00000 6.00000 +4.00000 4.00000 6.00000 +3.00000 5.00000 6.00000 +4.00000 5.00000 6.00000 +4.00000 4.00000 5.00000 +5.00000 4.00000 5.00000 +4.00000 5.00000 5.00000 +5.00000 5.00000 5.00000 +4.00000 4.00000 6.00000 +5.00000 4.00000 6.00000 +4.00000 5.00000 6.00000 +5.00000 5.00000 6.00000 +5.00000 4.00000 5.00000 +6.00000 4.00000 5.00000 +5.00000 5.00000 5.00000 +6.00000 5.00000 5.00000 +5.00000 4.00000 6.00000 +6.00000 4.00000 6.00000 +5.00000 5.00000 6.00000 +6.00000 5.00000 6.00000 +6.00000 4.00000 5.00000 +7.00000 4.00000 5.00000 +6.00000 5.00000 5.00000 +7.00000 5.00000 5.00000 +6.00000 4.00000 6.00000 +7.00000 4.00000 6.00000 +6.00000 5.00000 6.00000 +7.00000 5.00000 6.00000 +0.00000 0.00000 6.00000 +1.00000 0.00000 6.00000 +0.00000 1.00000 6.00000 +1.00000 1.00000 6.00000 +0.00000 0.00000 7.00000 +1.00000 0.00000 7.00000 +0.00000 1.00000 7.00000 +1.00000 1.00000 7.00000 +1.00000 0.00000 6.00000 +2.00000 0.00000 6.00000 +1.00000 1.00000 6.00000 +2.00000 1.00000 6.00000 +1.00000 0.00000 7.00000 +2.00000 0.00000 7.00000 +1.00000 1.00000 7.00000 +2.00000 1.00000 7.00000 +2.00000 0.00000 6.00000 +3.00000 0.00000 6.00000 +2.00000 1.00000 6.00000 +3.00000 1.00000 6.00000 +2.00000 0.00000 7.00000 +3.00000 0.00000 7.00000 +2.00000 1.00000 7.00000 +3.00000 1.00000 7.00000 +3.00000 0.00000 6.00000 +4.00000 0.00000 6.00000 +3.00000 1.00000 6.00000 +4.00000 1.00000 6.00000 +3.00000 0.00000 7.00000 +4.00000 0.00000 7.00000 +3.00000 1.00000 7.00000 +4.00000 1.00000 7.00000 +4.00000 0.00000 6.00000 +5.00000 0.00000 6.00000 +4.00000 1.00000 6.00000 +5.00000 1.00000 6.00000 +4.00000 0.00000 7.00000 +5.00000 0.00000 7.00000 +4.00000 1.00000 7.00000 +5.00000 1.00000 7.00000 +5.00000 0.00000 6.00000 +6.00000 0.00000 6.00000 +5.00000 1.00000 6.00000 +6.00000 1.00000 6.00000 +5.00000 0.00000 7.00000 +6.00000 0.00000 7.00000 +5.00000 1.00000 7.00000 +6.00000 1.00000 7.00000 +6.00000 0.00000 6.00000 +7.00000 0.00000 6.00000 +6.00000 1.00000 6.00000 +7.00000 1.00000 6.00000 +6.00000 0.00000 7.00000 +7.00000 0.00000 7.00000 +6.00000 1.00000 7.00000 +7.00000 1.00000 7.00000 +0.00000 1.00000 6.00000 +1.00000 1.00000 6.00000 +0.00000 2.00000 6.00000 +1.00000 2.00000 6.00000 +0.00000 1.00000 7.00000 +1.00000 1.00000 7.00000 +0.00000 2.00000 7.00000 +1.00000 2.00000 7.00000 +1.00000 1.00000 6.00000 +2.00000 1.00000 6.00000 +1.00000 2.00000 6.00000 +2.00000 2.00000 6.00000 +1.00000 1.00000 7.00000 +2.00000 1.00000 7.00000 +1.00000 2.00000 7.00000 +2.00000 2.00000 7.00000 +2.00000 1.00000 6.00000 +3.00000 1.00000 6.00000 +2.00000 2.00000 6.00000 +3.00000 2.00000 6.00000 +2.00000 1.00000 7.00000 +3.00000 1.00000 7.00000 +2.00000 2.00000 7.00000 +3.00000 2.00000 7.00000 +3.00000 1.00000 6.00000 +4.00000 1.00000 6.00000 +3.00000 2.00000 6.00000 +4.00000 2.00000 6.00000 +3.00000 1.00000 7.00000 +4.00000 1.00000 7.00000 +3.00000 2.00000 7.00000 +4.00000 2.00000 7.00000 +4.00000 1.00000 6.00000 +5.00000 1.00000 6.00000 +4.00000 2.00000 6.00000 +5.00000 2.00000 6.00000 +4.00000 1.00000 7.00000 +5.00000 1.00000 7.00000 +4.00000 2.00000 7.00000 +5.00000 2.00000 7.00000 +5.00000 1.00000 6.00000 +6.00000 1.00000 6.00000 +5.00000 2.00000 6.00000 +6.00000 2.00000 6.00000 +5.00000 1.00000 7.00000 +6.00000 1.00000 7.00000 +5.00000 2.00000 7.00000 +6.00000 2.00000 7.00000 +6.00000 1.00000 6.00000 +7.00000 1.00000 6.00000 +6.00000 2.00000 6.00000 +7.00000 2.00000 6.00000 +6.00000 1.00000 7.00000 +7.00000 1.00000 7.00000 +6.00000 2.00000 7.00000 +7.00000 2.00000 7.00000 +0.00000 2.00000 6.00000 +1.00000 2.00000 6.00000 +0.00000 3.00000 6.00000 +1.00000 3.00000 6.00000 +0.00000 2.00000 7.00000 +1.00000 2.00000 7.00000 +0.00000 3.00000 7.00000 +1.00000 3.00000 7.00000 +1.00000 2.00000 6.00000 +2.00000 2.00000 6.00000 +1.00000 3.00000 6.00000 +2.00000 3.00000 6.00000 +1.00000 2.00000 7.00000 +2.00000 2.00000 7.00000 +1.00000 3.00000 7.00000 +2.00000 3.00000 7.00000 +2.00000 2.00000 6.00000 +3.00000 2.00000 6.00000 +2.00000 3.00000 6.00000 +3.00000 3.00000 6.00000 +2.00000 2.00000 7.00000 +3.00000 2.00000 7.00000 +2.00000 3.00000 7.00000 +3.00000 3.00000 7.00000 +3.00000 2.00000 6.00000 +4.00000 2.00000 6.00000 +3.00000 3.00000 6.00000 +4.00000 3.00000 6.00000 +3.00000 2.00000 7.00000 +4.00000 2.00000 7.00000 +3.00000 3.00000 7.00000 +4.00000 3.00000 7.00000 +4.00000 2.00000 6.00000 +5.00000 2.00000 6.00000 +4.00000 3.00000 6.00000 +5.00000 3.00000 6.00000 +4.00000 2.00000 7.00000 +5.00000 2.00000 7.00000 +4.00000 3.00000 7.00000 +5.00000 3.00000 7.00000 +5.00000 2.00000 6.00000 +6.00000 2.00000 6.00000 +5.00000 3.00000 6.00000 +6.00000 3.00000 6.00000 +5.00000 2.00000 7.00000 +6.00000 2.00000 7.00000 +5.00000 3.00000 7.00000 +6.00000 3.00000 7.00000 +6.00000 2.00000 6.00000 +7.00000 2.00000 6.00000 +6.00000 3.00000 6.00000 +7.00000 3.00000 6.00000 +6.00000 2.00000 7.00000 +7.00000 2.00000 7.00000 +6.00000 3.00000 7.00000 +7.00000 3.00000 7.00000 +0.00000 3.00000 6.00000 +1.00000 3.00000 6.00000 +0.00000 4.00000 6.00000 +1.00000 4.00000 6.00000 +0.00000 3.00000 7.00000 +1.00000 3.00000 7.00000 +0.00000 4.00000 7.00000 +1.00000 4.00000 7.00000 +1.00000 3.00000 6.00000 +2.00000 3.00000 6.00000 +1.00000 4.00000 6.00000 +2.00000 4.00000 6.00000 +1.00000 3.00000 7.00000 +2.00000 3.00000 7.00000 +1.00000 4.00000 7.00000 +2.00000 4.00000 7.00000 +2.00000 3.00000 6.00000 +3.00000 3.00000 6.00000 +2.00000 4.00000 6.00000 +3.00000 4.00000 6.00000 +2.00000 3.00000 7.00000 +3.00000 3.00000 7.00000 +2.00000 4.00000 7.00000 +3.00000 4.00000 7.00000 +3.00000 3.00000 6.00000 +4.00000 3.00000 6.00000 +3.00000 4.00000 6.00000 +4.00000 4.00000 6.00000 +3.00000 3.00000 7.00000 +4.00000 3.00000 7.00000 +3.00000 4.00000 7.00000 +4.00000 4.00000 7.00000 +4.00000 3.00000 6.00000 +5.00000 3.00000 6.00000 +4.00000 4.00000 6.00000 +5.00000 4.00000 6.00000 +4.00000 3.00000 7.00000 +5.00000 3.00000 7.00000 +4.00000 4.00000 7.00000 +5.00000 4.00000 7.00000 +5.00000 3.00000 6.00000 +6.00000 3.00000 6.00000 +5.00000 4.00000 6.00000 +6.00000 4.00000 6.00000 +5.00000 3.00000 7.00000 +6.00000 3.00000 7.00000 +5.00000 4.00000 7.00000 +6.00000 4.00000 7.00000 +6.00000 3.00000 6.00000 +7.00000 3.00000 6.00000 +6.00000 4.00000 6.00000 +7.00000 4.00000 6.00000 +6.00000 3.00000 7.00000 +7.00000 3.00000 7.00000 +6.00000 4.00000 7.00000 +7.00000 4.00000 7.00000 +0.00000 4.00000 6.00000 +1.00000 4.00000 6.00000 +0.00000 5.00000 6.00000 +1.00000 5.00000 6.00000 +0.00000 4.00000 7.00000 +1.00000 4.00000 7.00000 +0.00000 5.00000 7.00000 +1.00000 5.00000 7.00000 +1.00000 4.00000 6.00000 +2.00000 4.00000 6.00000 +1.00000 5.00000 6.00000 +2.00000 5.00000 6.00000 +1.00000 4.00000 7.00000 +2.00000 4.00000 7.00000 +1.00000 5.00000 7.00000 +2.00000 5.00000 7.00000 +2.00000 4.00000 6.00000 +3.00000 4.00000 6.00000 +2.00000 5.00000 6.00000 +3.00000 5.00000 6.00000 +2.00000 4.00000 7.00000 +3.00000 4.00000 7.00000 +2.00000 5.00000 7.00000 +3.00000 5.00000 7.00000 +3.00000 4.00000 6.00000 +4.00000 4.00000 6.00000 +3.00000 5.00000 6.00000 +4.00000 5.00000 6.00000 +3.00000 4.00000 7.00000 +4.00000 4.00000 7.00000 +3.00000 5.00000 7.00000 +4.00000 5.00000 7.00000 +4.00000 4.00000 6.00000 +5.00000 4.00000 6.00000 +4.00000 5.00000 6.00000 +5.00000 5.00000 6.00000 +4.00000 4.00000 7.00000 +5.00000 4.00000 7.00000 +4.00000 5.00000 7.00000 +5.00000 5.00000 7.00000 +5.00000 4.00000 6.00000 +6.00000 4.00000 6.00000 +5.00000 5.00000 6.00000 +6.00000 5.00000 6.00000 +5.00000 4.00000 7.00000 +6.00000 4.00000 7.00000 +5.00000 5.00000 7.00000 +6.00000 5.00000 7.00000 +6.00000 4.00000 6.00000 +7.00000 4.00000 6.00000 +6.00000 5.00000 6.00000 +7.00000 5.00000 6.00000 +6.00000 4.00000 7.00000 +7.00000 4.00000 7.00000 +6.00000 5.00000 7.00000 +7.00000 5.00000 7.00000 +0.00000 0.00000 7.00000 +1.00000 0.00000 7.00000 +0.00000 1.00000 7.00000 +1.00000 1.00000 7.00000 +0.00000 0.00000 8.00000 +1.00000 0.00000 8.00000 +0.00000 1.00000 8.00000 +1.00000 1.00000 8.00000 +1.00000 0.00000 7.00000 +2.00000 0.00000 7.00000 +1.00000 1.00000 7.00000 +2.00000 1.00000 7.00000 +1.00000 0.00000 8.00000 +2.00000 0.00000 8.00000 +1.00000 1.00000 8.00000 +2.00000 1.00000 8.00000 +2.00000 0.00000 7.00000 +3.00000 0.00000 7.00000 +2.00000 1.00000 7.00000 +3.00000 1.00000 7.00000 +2.00000 0.00000 8.00000 +3.00000 0.00000 8.00000 +2.00000 1.00000 8.00000 +3.00000 1.00000 8.00000 +3.00000 0.00000 7.00000 +4.00000 0.00000 7.00000 +3.00000 1.00000 7.00000 +4.00000 1.00000 7.00000 +3.00000 0.00000 8.00000 +4.00000 0.00000 8.00000 +3.00000 1.00000 8.00000 +4.00000 1.00000 8.00000 +4.00000 0.00000 7.00000 +5.00000 0.00000 7.00000 +4.00000 1.00000 7.00000 +5.00000 1.00000 7.00000 +4.00000 0.00000 8.00000 +5.00000 0.00000 8.00000 +4.00000 1.00000 8.00000 +5.00000 1.00000 8.00000 +5.00000 0.00000 7.00000 +6.00000 0.00000 7.00000 +5.00000 1.00000 7.00000 +6.00000 1.00000 7.00000 +5.00000 0.00000 8.00000 +6.00000 0.00000 8.00000 +5.00000 1.00000 8.00000 +6.00000 1.00000 8.00000 +6.00000 0.00000 7.00000 +7.00000 0.00000 7.00000 +6.00000 1.00000 7.00000 +7.00000 1.00000 7.00000 +6.00000 0.00000 8.00000 +7.00000 0.00000 8.00000 +6.00000 1.00000 8.00000 +7.00000 1.00000 8.00000 +0.00000 1.00000 7.00000 +1.00000 1.00000 7.00000 +0.00000 2.00000 7.00000 +1.00000 2.00000 7.00000 +0.00000 1.00000 8.00000 +1.00000 1.00000 8.00000 +0.00000 2.00000 8.00000 +1.00000 2.00000 8.00000 +1.00000 1.00000 7.00000 +2.00000 1.00000 7.00000 +1.00000 2.00000 7.00000 +2.00000 2.00000 7.00000 +1.00000 1.00000 8.00000 +2.00000 1.00000 8.00000 +1.00000 2.00000 8.00000 +2.00000 2.00000 8.00000 +2.00000 1.00000 7.00000 +3.00000 1.00000 7.00000 +2.00000 2.00000 7.00000 +3.00000 2.00000 7.00000 +2.00000 1.00000 8.00000 +3.00000 1.00000 8.00000 +2.00000 2.00000 8.00000 +3.00000 2.00000 8.00000 +3.00000 1.00000 7.00000 +4.00000 1.00000 7.00000 +3.00000 2.00000 7.00000 +4.00000 2.00000 7.00000 +3.00000 1.00000 8.00000 +4.00000 1.00000 8.00000 +3.00000 2.00000 8.00000 +4.00000 2.00000 8.00000 +4.00000 1.00000 7.00000 +5.00000 1.00000 7.00000 +4.00000 2.00000 7.00000 +5.00000 2.00000 7.00000 +4.00000 1.00000 8.00000 +5.00000 1.00000 8.00000 +4.00000 2.00000 8.00000 +5.00000 2.00000 8.00000 +5.00000 1.00000 7.00000 +6.00000 1.00000 7.00000 +5.00000 2.00000 7.00000 +6.00000 2.00000 7.00000 +5.00000 1.00000 8.00000 +6.00000 1.00000 8.00000 +5.00000 2.00000 8.00000 +6.00000 2.00000 8.00000 +6.00000 1.00000 7.00000 +7.00000 1.00000 7.00000 +6.00000 2.00000 7.00000 +7.00000 2.00000 7.00000 +6.00000 1.00000 8.00000 +7.00000 1.00000 8.00000 +6.00000 2.00000 8.00000 +7.00000 2.00000 8.00000 +0.00000 2.00000 7.00000 +1.00000 2.00000 7.00000 +0.00000 3.00000 7.00000 +1.00000 3.00000 7.00000 +0.00000 2.00000 8.00000 +1.00000 2.00000 8.00000 +0.00000 3.00000 8.00000 +1.00000 3.00000 8.00000 +1.00000 2.00000 7.00000 +2.00000 2.00000 7.00000 +1.00000 3.00000 7.00000 +2.00000 3.00000 7.00000 +1.00000 2.00000 8.00000 +2.00000 2.00000 8.00000 +1.00000 3.00000 8.00000 +2.00000 3.00000 8.00000 +2.00000 2.00000 7.00000 +3.00000 2.00000 7.00000 +2.00000 3.00000 7.00000 +3.00000 3.00000 7.00000 +2.00000 2.00000 8.00000 +3.00000 2.00000 8.00000 +2.00000 3.00000 8.00000 +3.00000 3.00000 8.00000 +3.00000 2.00000 7.00000 +4.00000 2.00000 7.00000 +3.00000 3.00000 7.00000 +4.00000 3.00000 7.00000 +3.00000 2.00000 8.00000 +4.00000 2.00000 8.00000 +3.00000 3.00000 8.00000 +4.00000 3.00000 8.00000 +4.00000 2.00000 7.00000 +5.00000 2.00000 7.00000 +4.00000 3.00000 7.00000 +5.00000 3.00000 7.00000 +4.00000 2.00000 8.00000 +5.00000 2.00000 8.00000 +4.00000 3.00000 8.00000 +5.00000 3.00000 8.00000 +5.00000 2.00000 7.00000 +6.00000 2.00000 7.00000 +5.00000 3.00000 7.00000 +6.00000 3.00000 7.00000 +5.00000 2.00000 8.00000 +6.00000 2.00000 8.00000 +5.00000 3.00000 8.00000 +6.00000 3.00000 8.00000 +6.00000 2.00000 7.00000 +7.00000 2.00000 7.00000 +6.00000 3.00000 7.00000 +7.00000 3.00000 7.00000 +6.00000 2.00000 8.00000 +7.00000 2.00000 8.00000 +6.00000 3.00000 8.00000 +7.00000 3.00000 8.00000 +0.00000 3.00000 7.00000 +1.00000 3.00000 7.00000 +0.00000 4.00000 7.00000 +1.00000 4.00000 7.00000 +0.00000 3.00000 8.00000 +1.00000 3.00000 8.00000 +0.00000 4.00000 8.00000 +1.00000 4.00000 8.00000 +1.00000 3.00000 7.00000 +2.00000 3.00000 7.00000 +1.00000 4.00000 7.00000 +2.00000 4.00000 7.00000 +1.00000 3.00000 8.00000 +2.00000 3.00000 8.00000 +1.00000 4.00000 8.00000 +2.00000 4.00000 8.00000 +2.00000 3.00000 7.00000 +3.00000 3.00000 7.00000 +2.00000 4.00000 7.00000 +3.00000 4.00000 7.00000 +2.00000 3.00000 8.00000 +3.00000 3.00000 8.00000 +2.00000 4.00000 8.00000 +3.00000 4.00000 8.00000 +3.00000 3.00000 7.00000 +4.00000 3.00000 7.00000 +3.00000 4.00000 7.00000 +4.00000 4.00000 7.00000 +3.00000 3.00000 8.00000 +4.00000 3.00000 8.00000 +3.00000 4.00000 8.00000 +4.00000 4.00000 8.00000 +4.00000 3.00000 7.00000 +5.00000 3.00000 7.00000 +4.00000 4.00000 7.00000 +5.00000 4.00000 7.00000 +4.00000 3.00000 8.00000 +5.00000 3.00000 8.00000 +4.00000 4.00000 8.00000 +5.00000 4.00000 8.00000 +5.00000 3.00000 7.00000 +6.00000 3.00000 7.00000 +5.00000 4.00000 7.00000 +6.00000 4.00000 7.00000 +5.00000 3.00000 8.00000 +6.00000 3.00000 8.00000 +5.00000 4.00000 8.00000 +6.00000 4.00000 8.00000 +6.00000 3.00000 7.00000 +7.00000 3.00000 7.00000 +6.00000 4.00000 7.00000 +7.00000 4.00000 7.00000 +6.00000 3.00000 8.00000 +7.00000 3.00000 8.00000 +6.00000 4.00000 8.00000 +7.00000 4.00000 8.00000 +0.00000 4.00000 7.00000 +1.00000 4.00000 7.00000 +0.00000 5.00000 7.00000 +1.00000 5.00000 7.00000 +0.00000 4.00000 8.00000 +1.00000 4.00000 8.00000 +0.00000 5.00000 8.00000 +1.00000 5.00000 8.00000 +1.00000 4.00000 7.00000 +2.00000 4.00000 7.00000 +1.00000 5.00000 7.00000 +2.00000 5.00000 7.00000 +1.00000 4.00000 8.00000 +2.00000 4.00000 8.00000 +1.00000 5.00000 8.00000 +2.00000 5.00000 8.00000 +2.00000 4.00000 7.00000 +3.00000 4.00000 7.00000 +2.00000 5.00000 7.00000 +3.00000 5.00000 7.00000 +2.00000 4.00000 8.00000 +3.00000 4.00000 8.00000 +2.00000 5.00000 8.00000 +3.00000 5.00000 8.00000 +3.00000 4.00000 7.00000 +4.00000 4.00000 7.00000 +3.00000 5.00000 7.00000 +4.00000 5.00000 7.00000 +3.00000 4.00000 8.00000 +4.00000 4.00000 8.00000 +3.00000 5.00000 8.00000 +4.00000 5.00000 8.00000 +4.00000 4.00000 7.00000 +5.00000 4.00000 7.00000 +4.00000 5.00000 7.00000 +5.00000 5.00000 7.00000 +4.00000 4.00000 8.00000 +5.00000 4.00000 8.00000 +4.00000 5.00000 8.00000 +5.00000 5.00000 8.00000 +5.00000 4.00000 7.00000 +6.00000 4.00000 7.00000 +5.00000 5.00000 7.00000 +6.00000 5.00000 7.00000 +5.00000 4.00000 8.00000 +6.00000 4.00000 8.00000 +5.00000 5.00000 8.00000 +6.00000 5.00000 8.00000 +6.00000 4.00000 7.00000 +7.00000 4.00000 7.00000 +6.00000 5.00000 7.00000 +7.00000 5.00000 7.00000 +6.00000 4.00000 8.00000 +7.00000 4.00000 8.00000 +6.00000 5.00000 8.00000 +7.00000 5.00000 8.00000 +0.00000 0.00000 8.00000 +1.00000 0.00000 8.00000 +0.00000 1.00000 8.00000 +1.00000 1.00000 8.00000 +0.00000 0.00000 9.00000 +1.00000 0.00000 9.00000 +0.00000 1.00000 9.00000 +1.00000 1.00000 9.00000 +1.00000 0.00000 8.00000 +2.00000 0.00000 8.00000 +1.00000 1.00000 8.00000 +2.00000 1.00000 8.00000 +1.00000 0.00000 9.00000 +2.00000 0.00000 9.00000 +1.00000 1.00000 9.00000 +2.00000 1.00000 9.00000 +2.00000 0.00000 8.00000 +3.00000 0.00000 8.00000 +2.00000 1.00000 8.00000 +3.00000 1.00000 8.00000 +2.00000 0.00000 9.00000 +3.00000 0.00000 9.00000 +2.00000 1.00000 9.00000 +3.00000 1.00000 9.00000 +3.00000 0.00000 8.00000 +4.00000 0.00000 8.00000 +3.00000 1.00000 8.00000 +4.00000 1.00000 8.00000 +3.00000 0.00000 9.00000 +4.00000 0.00000 9.00000 +3.00000 1.00000 9.00000 +4.00000 1.00000 9.00000 +4.00000 0.00000 8.00000 +5.00000 0.00000 8.00000 +4.00000 1.00000 8.00000 +5.00000 1.00000 8.00000 +4.00000 0.00000 9.00000 +5.00000 0.00000 9.00000 +4.00000 1.00000 9.00000 +5.00000 1.00000 9.00000 +5.00000 0.00000 8.00000 +6.00000 0.00000 8.00000 +5.00000 1.00000 8.00000 +6.00000 1.00000 8.00000 +5.00000 0.00000 9.00000 +6.00000 0.00000 9.00000 +5.00000 1.00000 9.00000 +6.00000 1.00000 9.00000 +6.00000 0.00000 8.00000 +7.00000 0.00000 8.00000 +6.00000 1.00000 8.00000 +7.00000 1.00000 8.00000 +6.00000 0.00000 9.00000 +7.00000 0.00000 9.00000 +6.00000 1.00000 9.00000 +7.00000 1.00000 9.00000 +0.00000 1.00000 8.00000 +1.00000 1.00000 8.00000 +0.00000 2.00000 8.00000 +1.00000 2.00000 8.00000 +0.00000 1.00000 9.00000 +1.00000 1.00000 9.00000 +0.00000 2.00000 9.00000 +1.00000 2.00000 9.00000 +1.00000 1.00000 8.00000 +2.00000 1.00000 8.00000 +1.00000 2.00000 8.00000 +2.00000 2.00000 8.00000 +1.00000 1.00000 9.00000 +2.00000 1.00000 9.00000 +1.00000 2.00000 9.00000 +2.00000 2.00000 9.00000 +2.00000 1.00000 8.00000 +3.00000 1.00000 8.00000 +2.00000 2.00000 8.00000 +3.00000 2.00000 8.00000 +2.00000 1.00000 9.00000 +3.00000 1.00000 9.00000 +2.00000 2.00000 9.00000 +3.00000 2.00000 9.00000 +3.00000 1.00000 8.00000 +4.00000 1.00000 8.00000 +3.00000 2.00000 8.00000 +4.00000 2.00000 8.00000 +3.00000 1.00000 9.00000 +4.00000 1.00000 9.00000 +3.00000 2.00000 9.00000 +4.00000 2.00000 9.00000 +4.00000 1.00000 8.00000 +5.00000 1.00000 8.00000 +4.00000 2.00000 8.00000 +5.00000 2.00000 8.00000 +4.00000 1.00000 9.00000 +5.00000 1.00000 9.00000 +4.00000 2.00000 9.00000 +5.00000 2.00000 9.00000 +5.00000 1.00000 8.00000 +6.00000 1.00000 8.00000 +5.00000 2.00000 8.00000 +6.00000 2.00000 8.00000 +5.00000 1.00000 9.00000 +6.00000 1.00000 9.00000 +5.00000 2.00000 9.00000 +6.00000 2.00000 9.00000 +6.00000 1.00000 8.00000 +7.00000 1.00000 8.00000 +6.00000 2.00000 8.00000 +7.00000 2.00000 8.00000 +6.00000 1.00000 9.00000 +7.00000 1.00000 9.00000 +6.00000 2.00000 9.00000 +7.00000 2.00000 9.00000 +0.00000 2.00000 8.00000 +1.00000 2.00000 8.00000 +0.00000 3.00000 8.00000 +1.00000 3.00000 8.00000 +0.00000 2.00000 9.00000 +1.00000 2.00000 9.00000 +0.00000 3.00000 9.00000 +1.00000 3.00000 9.00000 +1.00000 2.00000 8.00000 +2.00000 2.00000 8.00000 +1.00000 3.00000 8.00000 +2.00000 3.00000 8.00000 +1.00000 2.00000 9.00000 +2.00000 2.00000 9.00000 +1.00000 3.00000 9.00000 +2.00000 3.00000 9.00000 +2.00000 2.00000 8.00000 +3.00000 2.00000 8.00000 +2.00000 3.00000 8.00000 +3.00000 3.00000 8.00000 +2.00000 2.00000 9.00000 +3.00000 2.00000 9.00000 +2.00000 3.00000 9.00000 +3.00000 3.00000 9.00000 +3.00000 2.00000 8.00000 +4.00000 2.00000 8.00000 +3.00000 3.00000 8.00000 +4.00000 3.00000 8.00000 +3.00000 2.00000 9.00000 +4.00000 2.00000 9.00000 +3.00000 3.00000 9.00000 +4.00000 3.00000 9.00000 +4.00000 2.00000 8.00000 +5.00000 2.00000 8.00000 +4.00000 3.00000 8.00000 +5.00000 3.00000 8.00000 +4.00000 2.00000 9.00000 +5.00000 2.00000 9.00000 +4.00000 3.00000 9.00000 +5.00000 3.00000 9.00000 +5.00000 2.00000 8.00000 +6.00000 2.00000 8.00000 +5.00000 3.00000 8.00000 +6.00000 3.00000 8.00000 +5.00000 2.00000 9.00000 +6.00000 2.00000 9.00000 +5.00000 3.00000 9.00000 +6.00000 3.00000 9.00000 +6.00000 2.00000 8.00000 +7.00000 2.00000 8.00000 +6.00000 3.00000 8.00000 +7.00000 3.00000 8.00000 +6.00000 2.00000 9.00000 +7.00000 2.00000 9.00000 +6.00000 3.00000 9.00000 +7.00000 3.00000 9.00000 +0.00000 3.00000 8.00000 +1.00000 3.00000 8.00000 +0.00000 4.00000 8.00000 +1.00000 4.00000 8.00000 +0.00000 3.00000 9.00000 +1.00000 3.00000 9.00000 +0.00000 4.00000 9.00000 +1.00000 4.00000 9.00000 +1.00000 3.00000 8.00000 +2.00000 3.00000 8.00000 +1.00000 4.00000 8.00000 +2.00000 4.00000 8.00000 +1.00000 3.00000 9.00000 +2.00000 3.00000 9.00000 +1.00000 4.00000 9.00000 +2.00000 4.00000 9.00000 +2.00000 3.00000 8.00000 +3.00000 3.00000 8.00000 +2.00000 4.00000 8.00000 +3.00000 4.00000 8.00000 +2.00000 3.00000 9.00000 +3.00000 3.00000 9.00000 +2.00000 4.00000 9.00000 +3.00000 4.00000 9.00000 +3.00000 3.00000 8.00000 +4.00000 3.00000 8.00000 +3.00000 4.00000 8.00000 +4.00000 4.00000 8.00000 +3.00000 3.00000 9.00000 +4.00000 3.00000 9.00000 +3.00000 4.00000 9.00000 +4.00000 4.00000 9.00000 +4.00000 3.00000 8.00000 +5.00000 3.00000 8.00000 +4.00000 4.00000 8.00000 +5.00000 4.00000 8.00000 +4.00000 3.00000 9.00000 +5.00000 3.00000 9.00000 +4.00000 4.00000 9.00000 +5.00000 4.00000 9.00000 +5.00000 3.00000 8.00000 +6.00000 3.00000 8.00000 +5.00000 4.00000 8.00000 +6.00000 4.00000 8.00000 +5.00000 3.00000 9.00000 +6.00000 3.00000 9.00000 +5.00000 4.00000 9.00000 +6.00000 4.00000 9.00000 +6.00000 3.00000 8.00000 +7.00000 3.00000 8.00000 +6.00000 4.00000 8.00000 +7.00000 4.00000 8.00000 +6.00000 3.00000 9.00000 +7.00000 3.00000 9.00000 +6.00000 4.00000 9.00000 +7.00000 4.00000 9.00000 +0.00000 4.00000 8.00000 +1.00000 4.00000 8.00000 +0.00000 5.00000 8.00000 +1.00000 5.00000 8.00000 +0.00000 4.00000 9.00000 +1.00000 4.00000 9.00000 +0.00000 5.00000 9.00000 +1.00000 5.00000 9.00000 +1.00000 4.00000 8.00000 +2.00000 4.00000 8.00000 +1.00000 5.00000 8.00000 +2.00000 5.00000 8.00000 +1.00000 4.00000 9.00000 +2.00000 4.00000 9.00000 +1.00000 5.00000 9.00000 +2.00000 5.00000 9.00000 +2.00000 4.00000 8.00000 +3.00000 4.00000 8.00000 +2.00000 5.00000 8.00000 +3.00000 5.00000 8.00000 +2.00000 4.00000 9.00000 +3.00000 4.00000 9.00000 +2.00000 5.00000 9.00000 +3.00000 5.00000 9.00000 +3.00000 4.00000 8.00000 +4.00000 4.00000 8.00000 +3.00000 5.00000 8.00000 +4.00000 5.00000 8.00000 +3.00000 4.00000 9.00000 +4.00000 4.00000 9.00000 +3.00000 5.00000 9.00000 +4.00000 5.00000 9.00000 +4.00000 4.00000 8.00000 +5.00000 4.00000 8.00000 +4.00000 5.00000 8.00000 +5.00000 5.00000 8.00000 +4.00000 4.00000 9.00000 +5.00000 4.00000 9.00000 +4.00000 5.00000 9.00000 +5.00000 5.00000 9.00000 +5.00000 4.00000 8.00000 +6.00000 4.00000 8.00000 +5.00000 5.00000 8.00000 +6.00000 5.00000 8.00000 +5.00000 4.00000 9.00000 +6.00000 4.00000 9.00000 +5.00000 5.00000 9.00000 +6.00000 5.00000 9.00000 +6.00000 4.00000 8.00000 +7.00000 4.00000 8.00000 +6.00000 5.00000 8.00000 +7.00000 5.00000 8.00000 +6.00000 4.00000 9.00000 +7.00000 4.00000 9.00000 +6.00000 5.00000 9.00000 +7.00000 5.00000 9.00000 + +CELLS 315 2835 +8 0 1 3 2 4 5 7 6 +8 8 9 11 10 12 13 15 14 +8 16 17 19 18 20 21 23 22 +8 24 25 27 26 28 29 31 30 +8 32 33 35 34 36 37 39 38 +8 40 41 43 42 44 45 47 46 +8 48 49 51 50 52 53 55 54 +8 56 57 59 58 60 61 63 62 +8 64 65 67 66 68 69 71 70 +8 72 73 75 74 76 77 79 78 +8 80 81 83 82 84 85 87 86 +8 88 89 91 90 92 93 95 94 +8 96 97 99 98 100 101 103 102 +8 104 105 107 106 108 109 111 110 +8 112 113 115 114 116 117 119 118 +8 120 121 123 122 124 125 127 126 +8 128 129 131 130 132 133 135 134 +8 136 137 139 138 140 141 143 142 +8 144 145 147 146 148 149 151 150 +8 152 153 155 154 156 157 159 158 +8 160 161 163 162 164 165 167 166 +8 168 169 171 170 172 173 175 174 +8 176 177 179 178 180 181 183 182 +8 184 185 187 186 188 189 191 190 +8 192 193 195 194 196 197 199 198 +8 200 201 203 202 204 205 207 206 +8 208 209 211 210 212 213 215 214 +8 216 217 219 218 220 221 223 222 +8 224 225 227 226 228 229 231 230 +8 232 233 235 234 236 237 239 238 +8 240 241 243 242 244 245 247 246 +8 248 249 251 250 252 253 255 254 +8 256 257 259 258 260 261 263 262 +8 264 265 267 266 268 269 271 270 +8 272 273 275 274 276 277 279 278 +8 280 281 283 282 284 285 287 286 +8 288 289 291 290 292 293 295 294 +8 296 297 299 298 300 301 303 302 +8 304 305 307 306 308 309 311 310 +8 312 313 315 314 316 317 319 318 +8 320 321 323 322 324 325 327 326 +8 328 329 331 330 332 333 335 334 +8 336 337 339 338 340 341 343 342 +8 344 345 347 346 348 349 351 350 +8 352 353 355 354 356 357 359 358 +8 360 361 363 362 364 365 367 366 +8 368 369 371 370 372 373 375 374 +8 376 377 379 378 380 381 383 382 +8 384 385 387 386 388 389 391 390 +8 392 393 395 394 396 397 399 398 +8 400 401 403 402 404 405 407 406 +8 408 409 411 410 412 413 415 414 +8 416 417 419 418 420 421 423 422 +8 424 425 427 426 428 429 431 430 +8 432 433 435 434 436 437 439 438 +8 440 441 443 442 444 445 447 446 +8 448 449 451 450 452 453 455 454 +8 456 457 459 458 460 461 463 462 +8 464 465 467 466 468 469 471 470 +8 472 473 475 474 476 477 479 478 +8 480 481 483 482 484 485 487 486 +8 488 489 491 490 492 493 495 494 +8 496 497 499 498 500 501 503 502 +8 504 505 507 506 508 509 511 510 +8 512 513 515 514 516 517 519 518 +8 520 521 523 522 524 525 527 526 +8 528 529 531 530 532 533 535 534 +8 536 537 539 538 540 541 543 542 +8 544 545 547 546 548 549 551 550 +8 552 553 555 554 556 557 559 558 +8 560 561 563 562 564 565 567 566 +8 568 569 571 570 572 573 575 574 +8 576 577 579 578 580 581 583 582 +8 584 585 587 586 588 589 591 590 +8 592 593 595 594 596 597 599 598 +8 600 601 603 602 604 605 607 606 +8 608 609 611 610 612 613 615 614 +8 616 617 619 618 620 621 623 622 +8 624 625 627 626 628 629 631 630 +8 632 633 635 634 636 637 639 638 +8 640 641 643 642 644 645 647 646 +8 648 649 651 650 652 653 655 654 +8 656 657 659 658 660 661 663 662 +8 664 665 667 666 668 669 671 670 +8 672 673 675 674 676 677 679 678 +8 680 681 683 682 684 685 687 686 +8 688 689 691 690 692 693 695 694 +8 696 697 699 698 700 701 703 702 +8 704 705 707 706 708 709 711 710 +8 712 713 715 714 716 717 719 718 +8 720 721 723 722 724 725 727 726 +8 728 729 731 730 732 733 735 734 +8 736 737 739 738 740 741 743 742 +8 744 745 747 746 748 749 751 750 +8 752 753 755 754 756 757 759 758 +8 760 761 763 762 764 765 767 766 +8 768 769 771 770 772 773 775 774 +8 776 777 779 778 780 781 783 782 +8 784 785 787 786 788 789 791 790 +8 792 793 795 794 796 797 799 798 +8 800 801 803 802 804 805 807 806 +8 808 809 811 810 812 813 815 814 +8 816 817 819 818 820 821 823 822 +8 824 825 827 826 828 829 831 830 +8 832 833 835 834 836 837 839 838 +8 840 841 843 842 844 845 847 846 +8 848 849 851 850 852 853 855 854 +8 856 857 859 858 860 861 863 862 +8 864 865 867 866 868 869 871 870 +8 872 873 875 874 876 877 879 878 +8 880 881 883 882 884 885 887 886 +8 888 889 891 890 892 893 895 894 +8 896 897 899 898 900 901 903 902 +8 904 905 907 906 908 909 911 910 +8 912 913 915 914 916 917 919 918 +8 920 921 923 922 924 925 927 926 +8 928 929 931 930 932 933 935 934 +8 936 937 939 938 940 941 943 942 +8 944 945 947 946 948 949 951 950 +8 952 953 955 954 956 957 959 958 +8 960 961 963 962 964 965 967 966 +8 968 969 971 970 972 973 975 974 +8 976 977 979 978 980 981 983 982 +8 984 985 987 986 988 989 991 990 +8 992 993 995 994 996 997 999 998 +8 1000 1001 1003 1002 1004 1005 1007 1006 +8 1008 1009 1011 1010 1012 1013 1015 1014 +8 1016 1017 1019 1018 1020 1021 1023 1022 +8 1024 1025 1027 1026 1028 1029 1031 1030 +8 1032 1033 1035 1034 1036 1037 1039 1038 +8 1040 1041 1043 1042 1044 1045 1047 1046 +8 1048 1049 1051 1050 1052 1053 1055 1054 +8 1056 1057 1059 1058 1060 1061 1063 1062 +8 1064 1065 1067 1066 1068 1069 1071 1070 +8 1072 1073 1075 1074 1076 1077 1079 1078 +8 1080 1081 1083 1082 1084 1085 1087 1086 +8 1088 1089 1091 1090 1092 1093 1095 1094 +8 1096 1097 1099 1098 1100 1101 1103 1102 +8 1104 1105 1107 1106 1108 1109 1111 1110 +8 1112 1113 1115 1114 1116 1117 1119 1118 +8 1120 1121 1123 1122 1124 1125 1127 1126 +8 1128 1129 1131 1130 1132 1133 1135 1134 +8 1136 1137 1139 1138 1140 1141 1143 1142 +8 1144 1145 1147 1146 1148 1149 1151 1150 +8 1152 1153 1155 1154 1156 1157 1159 1158 +8 1160 1161 1163 1162 1164 1165 1167 1166 +8 1168 1169 1171 1170 1172 1173 1175 1174 +8 1176 1177 1179 1178 1180 1181 1183 1182 +8 1184 1185 1187 1186 1188 1189 1191 1190 +8 1192 1193 1195 1194 1196 1197 1199 1198 +8 1200 1201 1203 1202 1204 1205 1207 1206 +8 1208 1209 1211 1210 1212 1213 1215 1214 +8 1216 1217 1219 1218 1220 1221 1223 1222 +8 1224 1225 1227 1226 1228 1229 1231 1230 +8 1232 1233 1235 1234 1236 1237 1239 1238 +8 1240 1241 1243 1242 1244 1245 1247 1246 +8 1248 1249 1251 1250 1252 1253 1255 1254 +8 1256 1257 1259 1258 1260 1261 1263 1262 +8 1264 1265 1267 1266 1268 1269 1271 1270 +8 1272 1273 1275 1274 1276 1277 1279 1278 +8 1280 1281 1283 1282 1284 1285 1287 1286 +8 1288 1289 1291 1290 1292 1293 1295 1294 +8 1296 1297 1299 1298 1300 1301 1303 1302 +8 1304 1305 1307 1306 1308 1309 1311 1310 +8 1312 1313 1315 1314 1316 1317 1319 1318 +8 1320 1321 1323 1322 1324 1325 1327 1326 +8 1328 1329 1331 1330 1332 1333 1335 1334 +8 1336 1337 1339 1338 1340 1341 1343 1342 +8 1344 1345 1347 1346 1348 1349 1351 1350 +8 1352 1353 1355 1354 1356 1357 1359 1358 +8 1360 1361 1363 1362 1364 1365 1367 1366 +8 1368 1369 1371 1370 1372 1373 1375 1374 +8 1376 1377 1379 1378 1380 1381 1383 1382 +8 1384 1385 1387 1386 1388 1389 1391 1390 +8 1392 1393 1395 1394 1396 1397 1399 1398 +8 1400 1401 1403 1402 1404 1405 1407 1406 +8 1408 1409 1411 1410 1412 1413 1415 1414 +8 1416 1417 1419 1418 1420 1421 1423 1422 +8 1424 1425 1427 1426 1428 1429 1431 1430 +8 1432 1433 1435 1434 1436 1437 1439 1438 +8 1440 1441 1443 1442 1444 1445 1447 1446 +8 1448 1449 1451 1450 1452 1453 1455 1454 +8 1456 1457 1459 1458 1460 1461 1463 1462 +8 1464 1465 1467 1466 1468 1469 1471 1470 +8 1472 1473 1475 1474 1476 1477 1479 1478 +8 1480 1481 1483 1482 1484 1485 1487 1486 +8 1488 1489 1491 1490 1492 1493 1495 1494 +8 1496 1497 1499 1498 1500 1501 1503 1502 +8 1504 1505 1507 1506 1508 1509 1511 1510 +8 1512 1513 1515 1514 1516 1517 1519 1518 +8 1520 1521 1523 1522 1524 1525 1527 1526 +8 1528 1529 1531 1530 1532 1533 1535 1534 +8 1536 1537 1539 1538 1540 1541 1543 1542 +8 1544 1545 1547 1546 1548 1549 1551 1550 +8 1552 1553 1555 1554 1556 1557 1559 1558 +8 1560 1561 1563 1562 1564 1565 1567 1566 +8 1568 1569 1571 1570 1572 1573 1575 1574 +8 1576 1577 1579 1578 1580 1581 1583 1582 +8 1584 1585 1587 1586 1588 1589 1591 1590 +8 1592 1593 1595 1594 1596 1597 1599 1598 +8 1600 1601 1603 1602 1604 1605 1607 1606 +8 1608 1609 1611 1610 1612 1613 1615 1614 +8 1616 1617 1619 1618 1620 1621 1623 1622 +8 1624 1625 1627 1626 1628 1629 1631 1630 +8 1632 1633 1635 1634 1636 1637 1639 1638 +8 1640 1641 1643 1642 1644 1645 1647 1646 +8 1648 1649 1651 1650 1652 1653 1655 1654 +8 1656 1657 1659 1658 1660 1661 1663 1662 +8 1664 1665 1667 1666 1668 1669 1671 1670 +8 1672 1673 1675 1674 1676 1677 1679 1678 +8 1680 1681 1683 1682 1684 1685 1687 1686 +8 1688 1689 1691 1690 1692 1693 1695 1694 +8 1696 1697 1699 1698 1700 1701 1703 1702 +8 1704 1705 1707 1706 1708 1709 1711 1710 +8 1712 1713 1715 1714 1716 1717 1719 1718 +8 1720 1721 1723 1722 1724 1725 1727 1726 +8 1728 1729 1731 1730 1732 1733 1735 1734 +8 1736 1737 1739 1738 1740 1741 1743 1742 +8 1744 1745 1747 1746 1748 1749 1751 1750 +8 1752 1753 1755 1754 1756 1757 1759 1758 +8 1760 1761 1763 1762 1764 1765 1767 1766 +8 1768 1769 1771 1770 1772 1773 1775 1774 +8 1776 1777 1779 1778 1780 1781 1783 1782 +8 1784 1785 1787 1786 1788 1789 1791 1790 +8 1792 1793 1795 1794 1796 1797 1799 1798 +8 1800 1801 1803 1802 1804 1805 1807 1806 +8 1808 1809 1811 1810 1812 1813 1815 1814 +8 1816 1817 1819 1818 1820 1821 1823 1822 +8 1824 1825 1827 1826 1828 1829 1831 1830 +8 1832 1833 1835 1834 1836 1837 1839 1838 +8 1840 1841 1843 1842 1844 1845 1847 1846 +8 1848 1849 1851 1850 1852 1853 1855 1854 +8 1856 1857 1859 1858 1860 1861 1863 1862 +8 1864 1865 1867 1866 1868 1869 1871 1870 +8 1872 1873 1875 1874 1876 1877 1879 1878 +8 1880 1881 1883 1882 1884 1885 1887 1886 +8 1888 1889 1891 1890 1892 1893 1895 1894 +8 1896 1897 1899 1898 1900 1901 1903 1902 +8 1904 1905 1907 1906 1908 1909 1911 1910 +8 1912 1913 1915 1914 1916 1917 1919 1918 +8 1920 1921 1923 1922 1924 1925 1927 1926 +8 1928 1929 1931 1930 1932 1933 1935 1934 +8 1936 1937 1939 1938 1940 1941 1943 1942 +8 1944 1945 1947 1946 1948 1949 1951 1950 +8 1952 1953 1955 1954 1956 1957 1959 1958 +8 1960 1961 1963 1962 1964 1965 1967 1966 +8 1968 1969 1971 1970 1972 1973 1975 1974 +8 1976 1977 1979 1978 1980 1981 1983 1982 +8 1984 1985 1987 1986 1988 1989 1991 1990 +8 1992 1993 1995 1994 1996 1997 1999 1998 +8 2000 2001 2003 2002 2004 2005 2007 2006 +8 2008 2009 2011 2010 2012 2013 2015 2014 +8 2016 2017 2019 2018 2020 2021 2023 2022 +8 2024 2025 2027 2026 2028 2029 2031 2030 +8 2032 2033 2035 2034 2036 2037 2039 2038 +8 2040 2041 2043 2042 2044 2045 2047 2046 +8 2048 2049 2051 2050 2052 2053 2055 2054 +8 2056 2057 2059 2058 2060 2061 2063 2062 +8 2064 2065 2067 2066 2068 2069 2071 2070 +8 2072 2073 2075 2074 2076 2077 2079 2078 +8 2080 2081 2083 2082 2084 2085 2087 2086 +8 2088 2089 2091 2090 2092 2093 2095 2094 +8 2096 2097 2099 2098 2100 2101 2103 2102 +8 2104 2105 2107 2106 2108 2109 2111 2110 +8 2112 2113 2115 2114 2116 2117 2119 2118 +8 2120 2121 2123 2122 2124 2125 2127 2126 +8 2128 2129 2131 2130 2132 2133 2135 2134 +8 2136 2137 2139 2138 2140 2141 2143 2142 +8 2144 2145 2147 2146 2148 2149 2151 2150 +8 2152 2153 2155 2154 2156 2157 2159 2158 +8 2160 2161 2163 2162 2164 2165 2167 2166 +8 2168 2169 2171 2170 2172 2173 2175 2174 +8 2176 2177 2179 2178 2180 2181 2183 2182 +8 2184 2185 2187 2186 2188 2189 2191 2190 +8 2192 2193 2195 2194 2196 2197 2199 2198 +8 2200 2201 2203 2202 2204 2205 2207 2206 +8 2208 2209 2211 2210 2212 2213 2215 2214 +8 2216 2217 2219 2218 2220 2221 2223 2222 +8 2224 2225 2227 2226 2228 2229 2231 2230 +8 2232 2233 2235 2234 2236 2237 2239 2238 +8 2240 2241 2243 2242 2244 2245 2247 2246 +8 2248 2249 2251 2250 2252 2253 2255 2254 +8 2256 2257 2259 2258 2260 2261 2263 2262 +8 2264 2265 2267 2266 2268 2269 2271 2270 +8 2272 2273 2275 2274 2276 2277 2279 2278 +8 2280 2281 2283 2282 2284 2285 2287 2286 +8 2288 2289 2291 2290 2292 2293 2295 2294 +8 2296 2297 2299 2298 2300 2301 2303 2302 +8 2304 2305 2307 2306 2308 2309 2311 2310 +8 2312 2313 2315 2314 2316 2317 2319 2318 +8 2320 2321 2323 2322 2324 2325 2327 2326 +8 2328 2329 2331 2330 2332 2333 2335 2334 +8 2336 2337 2339 2338 2340 2341 2343 2342 +8 2344 2345 2347 2346 2348 2349 2351 2350 +8 2352 2353 2355 2354 2356 2357 2359 2358 +8 2360 2361 2363 2362 2364 2365 2367 2366 +8 2368 2369 2371 2370 2372 2373 2375 2374 +8 2376 2377 2379 2378 2380 2381 2383 2382 +8 2384 2385 2387 2386 2388 2389 2391 2390 +8 2392 2393 2395 2394 2396 2397 2399 2398 +8 2400 2401 2403 2402 2404 2405 2407 2406 +8 2408 2409 2411 2410 2412 2413 2415 2414 +8 2416 2417 2419 2418 2420 2421 2423 2422 +8 2424 2425 2427 2426 2428 2429 2431 2430 +8 2432 2433 2435 2434 2436 2437 2439 2438 +8 2440 2441 2443 2442 2444 2445 2447 2446 +8 2448 2449 2451 2450 2452 2453 2455 2454 +8 2456 2457 2459 2458 2460 2461 2463 2462 +8 2464 2465 2467 2466 2468 2469 2471 2470 +8 2472 2473 2475 2474 2476 2477 2479 2478 +8 2480 2481 2483 2482 2484 2485 2487 2486 +8 2488 2489 2491 2490 2492 2493 2495 2494 +8 2496 2497 2499 2498 2500 2501 2503 2502 +8 2504 2505 2507 2506 2508 2509 2511 2510 +8 2512 2513 2515 2514 2516 2517 2519 2518 + +CELL_TYPES 315 + 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 +POINT_DATA 2520 diff --git a/tests/grid/grid_generator_hyper_cross.cc b/tests/grid/grid_generator_hyper_cross.cc new file mode 100644 index 0000000000..4a24e97e65 --- /dev/null +++ b/tests/grid/grid_generator_hyper_cross.cc @@ -0,0 +1,70 @@ +// --------------------------------------------------------------------- +// +// Copyright (C) 2005 - 2015 by the deal.II authors +// +// This file is part of the deal.II library. +// +// The deal.II library is free software; you can use it, redistribute +// it, and/or modify it under the terms of the GNU Lesser General +// Public License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// The full text of the license can be found in the file LICENSE at +// the top level of the deal.II distribution. +// +// --------------------------------------------------------------------- + +// Test output for GridGenerator::hyper_cross() + +#include "../tests.h" +#include +#include +#include +#include +#include + +#include +#include + + +void dim2(std::ostream& os) +{ + const unsigned int d=2; + Triangulation tr; + + std::vector sizes(2*d); + sizes[0] = 3; + sizes[1] = 0; + sizes[2] = 2; + sizes[3] = 1; + GridGenerator::hyper_cross(tr, sizes, true); + + GridOut gout; + gout.write_vtk(tr, os); +} + +void dim3(std::ostream& os) +{ + const unsigned int d=3; + Triangulation tr; + + std::vector sizes(2*d); + sizes[0] = 5; + sizes[1] = 1; + sizes[2] = 4; + sizes[3] = 2; + sizes[4] = 3; + sizes[5] = 0; + GridGenerator::hyper_cross(tr, sizes, true); + + GridOut gout; + gout.write_vtk(tr, os); +} + + +int main() +{ + initlog(true); + std::ostream& logfile = deallog.get_file_stream(); + dim2(logfile); + dim3(logfile); +} diff --git a/tests/grid/grid_generator_hyper_cross.output b/tests/grid/grid_generator_hyper_cross.output new file mode 100644 index 0000000000..cccedd7e08 --- /dev/null +++ b/tests/grid/grid_generator_hyper_cross.output @@ -0,0 +1,204 @@ + +# vtk DataFile Version 3.0 +#This file was generated +ASCII +DATASET UNSTRUCTURED_GRID + +POINTS 28 double +-0.500000 -0.500000 0 +0.500000 -0.500000 0 +-0.500000 0.500000 0 +0.500000 0.500000 0 +-1.50000 -0.500000 0 +-0.500000 -0.500000 0 +-1.50000 0.500000 0 +-0.500000 0.500000 0 +-2.50000 -0.500000 0 +-1.50000 -0.500000 0 +-2.50000 0.500000 0 +-1.50000 0.500000 0 +-3.50000 -0.500000 0 +-2.50000 -0.500000 0 +-3.50000 0.500000 0 +-2.50000 0.500000 0 +-0.500000 -1.50000 0 +0.500000 -1.50000 0 +-0.500000 -0.500000 0 +0.500000 -0.500000 0 +-0.500000 -2.50000 0 +0.500000 -2.50000 0 +-0.500000 -1.50000 0 +0.500000 -1.50000 0 +-0.500000 0.500000 0 +0.500000 0.500000 0 +-0.500000 1.50000 0 +0.500000 1.50000 0 + +CELLS 7 35 +4 0 1 3 2 +4 4 5 7 6 +4 8 9 11 10 +4 12 13 15 14 +4 16 17 19 18 +4 20 21 23 22 +4 24 25 27 26 + +CELL_TYPES 7 + 9 9 9 9 9 9 9 +POINT_DATA 28 +# vtk DataFile Version 3.0 +#This file was generated +ASCII +DATASET UNSTRUCTURED_GRID + +POINTS 128 double +-0.500000 -0.500000 -0.500000 +0.500000 -0.500000 -0.500000 +-0.500000 0.500000 -0.500000 +0.500000 0.500000 -0.500000 +-0.500000 -0.500000 0.500000 +0.500000 -0.500000 0.500000 +-0.500000 0.500000 0.500000 +0.500000 0.500000 0.500000 +-1.50000 -0.500000 -0.500000 +-0.500000 -0.500000 -0.500000 +-1.50000 0.500000 -0.500000 +-0.500000 0.500000 -0.500000 +-1.50000 -0.500000 0.500000 +-0.500000 -0.500000 0.500000 +-1.50000 0.500000 0.500000 +-0.500000 0.500000 0.500000 +-2.50000 -0.500000 -0.500000 +-1.50000 -0.500000 -0.500000 +-2.50000 0.500000 -0.500000 +-1.50000 0.500000 -0.500000 +-2.50000 -0.500000 0.500000 +-1.50000 -0.500000 0.500000 +-2.50000 0.500000 0.500000 +-1.50000 0.500000 0.500000 +-3.50000 -0.500000 -0.500000 +-2.50000 -0.500000 -0.500000 +-3.50000 0.500000 -0.500000 +-2.50000 0.500000 -0.500000 +-3.50000 -0.500000 0.500000 +-2.50000 -0.500000 0.500000 +-3.50000 0.500000 0.500000 +-2.50000 0.500000 0.500000 +-4.50000 -0.500000 -0.500000 +-3.50000 -0.500000 -0.500000 +-4.50000 0.500000 -0.500000 +-3.50000 0.500000 -0.500000 +-4.50000 -0.500000 0.500000 +-3.50000 -0.500000 0.500000 +-4.50000 0.500000 0.500000 +-3.50000 0.500000 0.500000 +-5.50000 -0.500000 -0.500000 +-4.50000 -0.500000 -0.500000 +-5.50000 0.500000 -0.500000 +-4.50000 0.500000 -0.500000 +-5.50000 -0.500000 0.500000 +-4.50000 -0.500000 0.500000 +-5.50000 0.500000 0.500000 +-4.50000 0.500000 0.500000 +0.500000 -0.500000 -0.500000 +1.50000 -0.500000 -0.500000 +0.500000 0.500000 -0.500000 +1.50000 0.500000 -0.500000 +0.500000 -0.500000 0.500000 +1.50000 -0.500000 0.500000 +0.500000 0.500000 0.500000 +1.50000 0.500000 0.500000 +-0.500000 -1.50000 -0.500000 +0.500000 -1.50000 -0.500000 +-0.500000 -0.500000 -0.500000 +0.500000 -0.500000 -0.500000 +-0.500000 -1.50000 0.500000 +0.500000 -1.50000 0.500000 +-0.500000 -0.500000 0.500000 +0.500000 -0.500000 0.500000 +-0.500000 -2.50000 -0.500000 +0.500000 -2.50000 -0.500000 +-0.500000 -1.50000 -0.500000 +0.500000 -1.50000 -0.500000 +-0.500000 -2.50000 0.500000 +0.500000 -2.50000 0.500000 +-0.500000 -1.50000 0.500000 +0.500000 -1.50000 0.500000 +-0.500000 -3.50000 -0.500000 +0.500000 -3.50000 -0.500000 +-0.500000 -2.50000 -0.500000 +0.500000 -2.50000 -0.500000 +-0.500000 -3.50000 0.500000 +0.500000 -3.50000 0.500000 +-0.500000 -2.50000 0.500000 +0.500000 -2.50000 0.500000 +-0.500000 -4.50000 -0.500000 +0.500000 -4.50000 -0.500000 +-0.500000 -3.50000 -0.500000 +0.500000 -3.50000 -0.500000 +-0.500000 -4.50000 0.500000 +0.500000 -4.50000 0.500000 +-0.500000 -3.50000 0.500000 +0.500000 -3.50000 0.500000 +-0.500000 0.500000 -0.500000 +0.500000 0.500000 -0.500000 +-0.500000 1.50000 -0.500000 +0.500000 1.50000 -0.500000 +-0.500000 0.500000 0.500000 +0.500000 0.500000 0.500000 +-0.500000 1.50000 0.500000 +0.500000 1.50000 0.500000 +-0.500000 1.50000 -0.500000 +0.500000 1.50000 -0.500000 +-0.500000 2.50000 -0.500000 +0.500000 2.50000 -0.500000 +-0.500000 1.50000 0.500000 +0.500000 1.50000 0.500000 +-0.500000 2.50000 0.500000 +0.500000 2.50000 0.500000 +-0.500000 -0.500000 -1.50000 +0.500000 -0.500000 -1.50000 +-0.500000 0.500000 -1.50000 +0.500000 0.500000 -1.50000 +-0.500000 -0.500000 -0.500000 +0.500000 -0.500000 -0.500000 +-0.500000 0.500000 -0.500000 +0.500000 0.500000 -0.500000 +-0.500000 -0.500000 -2.50000 +0.500000 -0.500000 -2.50000 +-0.500000 0.500000 -2.50000 +0.500000 0.500000 -2.50000 +-0.500000 -0.500000 -1.50000 +0.500000 -0.500000 -1.50000 +-0.500000 0.500000 -1.50000 +0.500000 0.500000 -1.50000 +-0.500000 -0.500000 -3.50000 +0.500000 -0.500000 -3.50000 +-0.500000 0.500000 -3.50000 +0.500000 0.500000 -3.50000 +-0.500000 -0.500000 -2.50000 +0.500000 -0.500000 -2.50000 +-0.500000 0.500000 -2.50000 +0.500000 0.500000 -2.50000 + +CELLS 16 144 +8 0 1 3 2 4 5 7 6 +8 8 9 11 10 12 13 15 14 +8 16 17 19 18 20 21 23 22 +8 24 25 27 26 28 29 31 30 +8 32 33 35 34 36 37 39 38 +8 40 41 43 42 44 45 47 46 +8 48 49 51 50 52 53 55 54 +8 56 57 59 58 60 61 63 62 +8 64 65 67 66 68 69 71 70 +8 72 73 75 74 76 77 79 78 +8 80 81 83 82 84 85 87 86 +8 88 89 91 90 92 93 95 94 +8 96 97 99 98 100 101 103 102 +8 104 105 107 106 108 109 111 110 +8 112 113 115 114 116 117 119 118 +8 120 121 123 122 124 125 127 126 + +CELL_TYPES 16 + 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 +POINT_DATA 128 diff --git a/tests/grid/grid_generator_simplex.cc b/tests/grid/grid_generator_simplex.cc new file mode 100644 index 0000000000..ef9a67a079 --- /dev/null +++ b/tests/grid/grid_generator_simplex.cc @@ -0,0 +1,76 @@ +// --------------------------------------------------------------------- +// +// Copyright (C) 2005 - 2015 by the deal.II authors +// +// This file is part of the deal.II library. +// +// The deal.II library is free software; you can use it, redistribute +// it, and/or modify it under the terms of the GNU Lesser General +// Public License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// The full text of the license can be found in the file LICENSE at +// the top level of the deal.II distribution. +// +// --------------------------------------------------------------------- + +// Test output for GridGenerator::simplex() + +#include "../tests.h" +#include +#include +#include +#include +#include + +#include +#include + + +void dim2(std::ostream& os) +{ + const unsigned int d=2; + Triangulation tr; + + std::vector > vertices(d+1); + vertices[1](0) = 0.5; + vertices[1](1) = .85; + vertices[2](0) = -0.5; + vertices[2](1) = .85; + GridGenerator::simplex(tr, vertices); + + GridOut gout; + gout.write_vtk(tr, os); +} + +void dim3(std::ostream& os) +{ + const unsigned int d=3; + Triangulation tr; + + std::vector > vertices(d+1); + vertices[0](0) = 1.; + vertices[0](1) = 0.; + vertices[0](2) = .7; + vertices[1](0) = -1.; + vertices[1](1) = 0.; + vertices[1](2) = .7; + vertices[2](0) = 0.; + vertices[2](1) = 1.; + vertices[2](2) = -.7; + vertices[3](0) = 0.; + vertices[3](1) = -1.; + vertices[3](2) = -.7; + GridGenerator::simplex(tr, vertices); + + GridOut gout; + gout.write_vtk(tr, os); +} + + +int main() +{ + initlog(true); + std::ostream& logfile = deallog.get_file_stream(); + dim2(logfile); + dim3(logfile); +} diff --git a/tests/grid/grid_generator_simplex.output b/tests/grid/grid_generator_simplex.output new file mode 100644 index 0000000000..0ecba610de --- /dev/null +++ b/tests/grid/grid_generator_simplex.output @@ -0,0 +1,76 @@ + +# vtk DataFile Version 3.0 +#This file was generated +ASCII +DATASET UNSTRUCTURED_GRID + +POINTS 12 double +0.00000 0.00000 0 +0.250000 0.425000 0 +-0.250000 0.425000 0 +0.00000 0.566667 0 +0.250000 0.425000 0 +0.500000 0.850000 0 +0.00000 0.566667 0 +0.00000 0.850000 0 +-0.250000 0.425000 0 +0.00000 0.566667 0 +-0.500000 0.850000 0 +0.00000 0.850000 0 + +CELLS 3 15 +4 0 1 3 2 +4 4 5 7 6 +4 8 9 11 10 + +CELL_TYPES 3 + 9 9 9 +POINT_DATA 12 +# vtk DataFile Version 3.0 +#This file was generated +ASCII +DATASET UNSTRUCTURED_GRID + +POINTS 32 double +1.00000 0.00000 0.700000 +0.00000 0.00000 0.700000 +0.500000 0.500000 0.00000 +0.00000 0.333333 0.233333 +0.500000 -0.500000 0.00000 +0.00000 -0.333333 0.233333 +0.333333 0.00000 -0.233333 +0.00000 0.00000 0.00000 +0.00000 0.00000 0.700000 +-1.00000 0.00000 0.700000 +0.00000 0.333333 0.233333 +-0.500000 0.500000 0.00000 +0.00000 -0.333333 0.233333 +-0.500000 -0.500000 0.00000 +0.00000 0.00000 0.00000 +-0.333333 0.00000 -0.233333 +0.500000 0.500000 0.00000 +0.00000 0.333333 0.233333 +0.00000 1.00000 -0.700000 +-0.500000 0.500000 0.00000 +0.333333 0.00000 -0.233333 +0.00000 0.00000 0.00000 +0.00000 0.00000 -0.700000 +-0.333333 0.00000 -0.233333 +0.500000 -0.500000 0.00000 +0.00000 -0.333333 0.233333 +0.333333 0.00000 -0.233333 +0.00000 0.00000 0.00000 +0.00000 -1.00000 -0.700000 +-0.500000 -0.500000 0.00000 +0.00000 0.00000 -0.700000 +-0.333333 0.00000 -0.233333 + +CELLS 4 36 +8 0 1 3 2 4 5 7 6 +8 8 9 11 10 12 13 15 14 +8 16 17 19 18 20 21 23 22 +8 24 25 27 26 28 29 31 30 + +CELL_TYPES 4 + 12 12 12 12 +POINT_DATA 32