From 9d076c3074015a49dc63a3cb25316d8969d7ab36 Mon Sep 17 00:00:00 2001 From: Guido Kanschat Date: Sun, 28 Jun 2015 21:15:46 +0200 Subject: [PATCH] Add three new meshes to GridGenerator: simplex, cheese and hyper_cross --- doc/doxygen/images/cheese_2d.png | Bin 0 -> 3361 bytes doc/doxygen/images/hyper_cross_2d.png | Bin 0 -> 973 bytes doc/doxygen/images/hyper_cross_3d.png | Bin 0 -> 7396 bytes doc/doxygen/images/simplex_2d.png | Bin 0 -> 2813 bytes doc/doxygen/images/simplex_3d.png | Bin 0 -> 1264 bytes doc/news/changes.h | 16 +- include/deal.II/grid/grid_generator.h | 82 + source/grid/grid_generator.cc | 293 ++ source/grid/grid_generator.inst.in | 19 +- tests/grid/grid_generator_cheese.cc | 65 + tests/grid/grid_generator_cheese.output | 3005 ++++++++++++++++++ tests/grid/grid_generator_hyper_cross.cc | 70 + tests/grid/grid_generator_hyper_cross.output | 204 ++ tests/grid/grid_generator_simplex.cc | 76 + tests/grid/grid_generator_simplex.output | 76 + 15 files changed, 3901 insertions(+), 5 deletions(-) create mode 100644 doc/doxygen/images/cheese_2d.png create mode 100644 doc/doxygen/images/hyper_cross_2d.png create mode 100644 doc/doxygen/images/hyper_cross_3d.png create mode 100644 doc/doxygen/images/simplex_2d.png create mode 100644 doc/doxygen/images/simplex_3d.png create mode 100644 tests/grid/grid_generator_cheese.cc create mode 100644 tests/grid/grid_generator_cheese.output create mode 100644 tests/grid/grid_generator_hyper_cross.cc create mode 100644 tests/grid/grid_generator_hyper_cross.output create mode 100644 tests/grid/grid_generator_simplex.cc create mode 100644 tests/grid/grid_generator_simplex.output diff --git a/doc/doxygen/images/cheese_2d.png b/doc/doxygen/images/cheese_2d.png new file mode 100644 index 0000000000000000000000000000000000000000..927624e32d9b626cdcf9e4a1e851b8cf5e63246d GIT binary patch literal 3361 zcmeAS@N?(olHy`uVBq!ia0y~yVAf$^U|Pt*1QfB|y0?OXf#-#%i(^Q|oVPbOu6^Yo z;BfJ|e$---@P|h@Lj$_HZ_jV?j9ka^JSEvOqStK4CB5Vxdj#z~pFZ8R;2hn&Gj_d){31WMJ5LQ{wmIipsx_>vq?@(6LXx%NITO zAhcA06fhCnAAdPotTI}xjKs1PPeSRte6O-Q^=9n#?ZvU`g|X=cU~)9IjPME=Uu`tn uY#D8r!P{l%3FSElGs6SsVcm%R$Nc-nRO7$8iG0AW4}+(xpUXO@geCy&q=BCR literal 0 HcmV?d00001 diff --git a/doc/doxygen/images/hyper_cross_2d.png b/doc/doxygen/images/hyper_cross_2d.png new file mode 100644 index 0000000000000000000000000000000000000000..23d902c576ac7d1ef7258d67024668619d050813 GIT binary patch literal 973 zcmeAS@N?(olHy`uVBq!ia0vp^pFo&{2}u6n;{Ob!*pj^6T^Rm@;DWu&Cj&(|3p^r= z85nr{K$x+<>&kwgO-7JWWQmyRG6n|bC{Gv1kcwMx?;2)_1WFwEn4fCk zsaV0>T+tvB-Dz-ME1DzjpjXaXqq}Fys#!LAt)BW)$m8R($*vc?Y@C8P#2R;)Jr)dl zu}5|0{r61r??2vunEUl?TVjXiNy}e#){9?T1#xk$SXTC6U%$Vl{E|zV^`}c+CT(4F zylBF&@Z9i<7lkE)i}aq%({{L~kUhclgj7oJ8b>HIvKf=Pi486aXQuFinGfGA#o z%Vb^MRJmV&i{I#fQG0#Srdo3S>`Tt~*DIM-P5zqkFXvH~wDZSpAX6rSYy)XkhFFZk zbb~pEcN3h6a2e2%56w1C-zZQmnQE&CBx>1jo_>)FafjnIsJS5L!P*Xj*fM|`h8-5@h$zi-~2???UOz(`7)D#^^G~t z&8F{v`z%4O@Z;_;w)gud%XBX{oVfF+x9r4K9Ui}HXYac7x%}}bty>~bpYOB1e=hvV z&pny;20%9mreW z#sA#WRnO*o;*!giQD?g6msfGWxzueU-L^0@DL-Fp|KmB2KNQ?FiG8?pb!d6nwPjDd zt#<9|(^3jsohe(r`R2I`Qx@fhJ_kn>Jl5gyiz}+JrN_g%fxd4KT))0C?)vG}@QS>1 uTi=!*J=2yrh+jNVqH|-G~xPcZYPt0tJC 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 literal 0 HcmV?d00001 diff --git a/doc/doxygen/images/simplex_2d.png b/doc/doxygen/images/simplex_2d.png new file mode 100644 index 0000000000000000000000000000000000000000..f9403ac49c7d264c86520ef7607065a1a7981660 GIT binary patch literal 2813 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 aM(jV&`
  • 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 -- 2.39.5