From 3787d4b0ac96943dbe5b2d0a179f7fa70390fc26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Tue, 4 Feb 2025 11:26:46 +0100 Subject: [PATCH 01/79] Add snap polygon soup to PMP --- .../Polygon_mesh_processing/CMakeLists.txt | 2 + .../snap_polygon_soup.cpp | 43 +++++++ .../snap_polygon_soup.h | 114 ++++++++++++++++++ 3 files changed, 159 insertions(+) create mode 100644 Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp create mode 100644 Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/snap_polygon_soup.h diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/CMakeLists.txt b/Polygon_mesh_processing/examples/Polygon_mesh_processing/CMakeLists.txt index 6f010df3bab4..2d6599d2c736 100644 --- a/Polygon_mesh_processing/examples/Polygon_mesh_processing/CMakeLists.txt +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/CMakeLists.txt @@ -58,6 +58,7 @@ create_single_source_cgal_program("isotropic_remeshing_with_custom_sizing_exampl create_single_source_cgal_program("isotropic_remeshing_with_allow_move.cpp") create_single_source_cgal_program("triangle_mesh_autorefinement.cpp") create_single_source_cgal_program("soup_autorefinement.cpp") +create_single_source_cgal_program("snap_polygon_soup.cpp") find_package(Eigen3 3.2.0 QUIET) #(requires 3.2.0 or greater) include(CGAL_Eigen3_support) @@ -138,6 +139,7 @@ if(TARGET CGAL::TBB_support) target_link_libraries(hausdorff_distance_remeshing_example PRIVATE CGAL::TBB_support) target_link_libraries(hausdorff_bounded_error_distance_example PRIVATE CGAL::TBB_support) target_link_libraries(soup_autorefinement PRIVATE CGAL::TBB_support) + target_link_libraries(snap_polygon_soup PRIVATE CGAL::TBB_support) create_single_source_cgal_program("corefinement_parallel_union_meshes.cpp") target_link_libraries(corefinement_parallel_union_meshes PRIVATE CGAL::TBB_support) diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp b/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp new file mode 100644 index 000000000000..b91e5a54e260 --- /dev/null +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp @@ -0,0 +1,43 @@ +#define PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE + +#include +#include +#include +#include +#include +#include +#include + +#include + +#include + +typedef CGAL::Exact_predicates_inexact_constructions_kernel Kernel; +typedef Kernel::Point_3 Point; + +namespace PMP = CGAL::Polygon_mesh_processing; + +int main(int argc, char** argv) +{ + const std::string filename = argc == 1 ? CGAL::data_file_path("meshes/elephant.off") + : std::string(argv[1]); + + std::vector input_points; + std::vector> input_triangles; + if (!CGAL::IO::read_polygon_soup(filename, input_points, input_triangles)) + { + std::cerr << "Cannot read " << filename << "\n"; + return 1; + } + PMP::repair_polygon_soup(input_points, input_triangles); + PMP::triangulate_polygons(input_points, input_triangles); + + CGAL::Real_timer t; + t.start(); + PMP::snap_polygon_soup(input_points, input_triangles); + t.stop(); + std::cout << "#points = " << input_points.size() << " and #triangles = " << input_triangles.size() << " in " << t.time() << " sec." << std::endl; + CGAL::IO::write_polygon_soup("rounded_soup.off", input_points, input_triangles, CGAL::parameters::stream_precision(17)); + + return 0; +} diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/snap_polygon_soup.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/snap_polygon_soup.h new file mode 100644 index 000000000000..9d3952ba4dee --- /dev/null +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/snap_polygon_soup.h @@ -0,0 +1,114 @@ +// Copyright (c) 2025 GeometryFactory (France). +// All rights reserved. +// +// This file is part of CGAL (www.cgal.org). +// +// $URL$ +// $Id$ +// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-Commercial +// +// Author(s) : Léo Valque + +#ifndef CGAL_POLYGON_MESH_PROCESSING_POLYGON_SOUP_ROUNDING +#define CGAL_POLYGON_MESH_PROCESSING_POLYGON_SOUP_ROUNDING + +#include + +#include +#include + +namespace CGAL +{ + +namespace Polygon_mesh_processing +{ + +template +bool snap_polygon_soup(PointRange &points, + PolygonRange &triangles) +{ + using Point_3 = std::remove_cv_t::value_type>; + using Kernel = typename Kernel_traits::Kernel; + static constexpr int coarseness = 23; + // TODO named parameters + + auto exp = [](const double v) + { + int n; + frexp(v, &n); + return n + 1; + }; + + Bbox_3 bb = bbox_3(points.begin(), points.end()); + std::array max_abs{(std::max)(-bb.xmin(), bb.xmax()), + (std::max)(-bb.ymin(), bb.ymax()), + (std::max)(-bb.zmin(), bb.zmax())}; + std::array scale{std::pow(2, coarseness - exp(max_abs[0])), + std::pow(2, coarseness - exp(max_abs[1])), + std::pow(2, coarseness - exp(max_abs[2]))}; + + // If EPECK, use exact TODO + auto snap = [](typename Kernel::FT x, double scale) + { + return std::ceil(CGAL::to_double(x * scale) + 0.5) / scale; + }; + auto snap_p = [scale, snap](const Point_3 &p) + { + return Point_3(snap(p.x(),scale[0]), + snap(p.y(),scale[1]), + snap(p.z(),scale[2]) ); + }; + + static constexpr std::size_t nb_max_of_iteration = 20; // TODO named parameter + for (std::size_t i = 0; i <= nb_max_of_iteration; ++i) + { + std::cout << "after autorefine " << triangles.size() << std::endl; + + for (Point_3 &p : points) + p = Point_3(to_double(p.x()), to_double(p.y()), to_double(p.z())); + repair_polygon_soup(points, triangles); + + std::vector> out; + triangle_soup_self_intersections(points, triangles, std::back_inserter(out)); + + if (out.empty()) + { + CGAL_assertion(!does_triangle_soup_self_intersect(points, triangles)); + return true; + } + + std::vector snap_points; + snap_points.reserve(out.size() * 3); + + for (auto &pair : out) + { + for (size_t pi : triangles[pair.first]) + snap_points.emplace_back(snap_p(points[pi])); + for (size_t pi : triangles[pair.second]) + snap_points.emplace_back(snap_p(points[pi])); + } + + std::sort(snap_points.begin(), snap_points.end()); + snap_points.erase(std::unique(snap_points.begin(), snap_points.end()), snap_points.end()); + + for (Point_3 &p : points) + { + Point_3 p_snap = snap_p(p); + if (std::binary_search(snap_points.begin(), snap_points.end(), p_snap)) + p = p_snap; + } + + repair_polygon_soup(points, triangles); + //TODO do not pass all triangles +#ifdef PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE + std::cout << "Before autorefine " << triangles.size() << std::endl; +#endif + autorefine_triangle_soup(points, triangles, parameters::concurrency_tag(Parallel_tag())); + } + return false; +} +} + +} + +#endif From 14ccffcd13888596abb30cffad655a827b1b8225 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Tue, 4 Feb 2025 13:51:53 +0100 Subject: [PATCH 02/79] Doc, verbose and named parameter of snap_polygon_soup --- .../snap_polygon_soup.cpp | 7 +- .../snap_polygon_soup.h | 145 +++++++++++++++--- .../internal/parameters_interface.h | 1 + 3 files changed, 133 insertions(+), 20 deletions(-) diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp b/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp index b91e5a54e260..88bc13233ce7 100644 --- a/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp @@ -1,4 +1,4 @@ -#define PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE +//#define PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE #include #include @@ -22,6 +22,9 @@ int main(int argc, char** argv) const std::string filename = argc == 1 ? CGAL::data_file_path("meshes/elephant.off") : std::string(argv[1]); + const int grid_size = argc == 2 ? 23 + : std::stoi(std::string(argv[2])); + std::vector input_points; std::vector> input_triangles; if (!CGAL::IO::read_polygon_soup(filename, input_points, input_triangles)) @@ -34,7 +37,7 @@ int main(int argc, char** argv) CGAL::Real_timer t; t.start(); - PMP::snap_polygon_soup(input_points, input_triangles); + PMP::snap_polygon_soup(input_points, input_triangles, CGAL::parameters::erase_all_duplicates(true).concurrency_tag(CGAL::Parallel_if_available_tag()).snap_grid_size(grid_size)); t.stop(); std::cout << "#points = " << input_points.size() << " and #triangles = " << input_triangles.size() << " in " << t.time() << " sec." << std::endl; CGAL::IO::write_polygon_soup("rounded_soup.off", input_points, input_triangles, CGAL::parameters::stream_precision(17)); diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/snap_polygon_soup.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/snap_polygon_soup.h index 9d3952ba4dee..21e69847092b 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/snap_polygon_soup.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/snap_polygon_soup.h @@ -23,29 +23,117 @@ namespace CGAL namespace Polygon_mesh_processing { -template +/** +* +* +* Round the coordinates of the points so that they fit in doubles while keeping the model intersection free. +* The input can be any triangle soup and the output is an intersection-free triangle soup with Hausdorff distance +* between the input and the output bounded by M*2^-gs*k where M is the maximum absolute coordinate in the model, gs the snap_grid_size (see below) and k the number of iteration +* performed by the algorithm. +* +* @tparam PointRange a model of the concept `RandomAccessContainer` +* whose value type is the point type +* @tparam TriangleRange a model of the concepts `RandomAccessContainer`, `BackInsertionSequence` and `Swappable`, whose +* value type is a model of the concept `RandomAccessContainer` whose value type is convertible to `std::size_t` and that +* is constructible from an `std::initializer_list` of size 3. +* @tparam NamedParameters a sequence of \ref bgl_namedparameters "Named Parameters" +* +* @param soup_points points of the soup of polygons +* @param soup_triangles each element in the range describes a triangle using the indexed position of the points in `soup_points` +* @param np an optional sequence of \ref bgl_namedparameters "Named Parameters" among the ones listed below +* +* \cgalNamedParamsBegin +* \cgalParamNBegin{concurrency_tag} +* \cgalParamDescription{a tag indicating if the task should be done using one or several threads.} +* \cgalParamType{Either `CGAL::Sequential_tag`, or `CGAL::Parallel_tag`, or `CGAL::Parallel_if_available_tag`} +* \cgalParamDefault{`CGAL::Sequential_tag`} +* \cgalParamNEnd +* \cgalParamNBegin{point_map} +* \cgalParamDescription{a property map associating points to the elements of the range `soup_points`} +* \cgalParamType{a model of `ReadWritePropertyMap` whose value type is a point type} +* \cgalParamDefault{`CGAL::Identity_property_map`} +* \cgalParamNEnd +* \cgalParamNBegin{geom_traits} +* \cgalParamDescription{an instance of a geometric traits class} +* \cgalParamType{a class model of `Kernel`} +* \cgalParamDefault{a \cgal Kernel deduced from the point type, using `CGAL::Kernel_traits`} +* \cgalParamExtra{The geometric traits class must be compatible with the point type.} +* \cgalParamNEnd +* \cgalParamNBegin{visitor} +* \cgalParamDescription{a visitor used to track the creation of new faces} +* \cgalParamType{a class model of `PMPAutorefinementVisitor`} +* \cgalParamDefault{`Autorefinement::Default_visitor`} +* \cgalParamExtra{The visitor will be copied.} +* \cgalParamNEnd +* \cgalParamNBegin{snap_grid_size} +* \cgalParamDescription{Scale the points to [-2^gs, 2^gs] where gs is the snap_grid_size before to round them on integer.} +* \cgalParamType{unsigned int} +* \cgalParamDefault{23} +* \cgalParamExtra{Must be lower than 52.} +* \cgalParamNEnd +* \cgalNamedParamsEnd +* +*/ +template bool snap_polygon_soup(PointRange &points, - PolygonRange &triangles) + PolygonRange &triangles, + const NamedParameters& np = parameters::default_values()) { + using parameters::choose_parameter; + using parameters::get_parameter; + + typedef typename GetPolygonSoupGeomTraits::type GT; + typedef typename GetPointMap::const_type Point_map; + Point_map pm = choose_parameter(get_parameter(np, internal_np::point_map)); + + typedef typename internal_np::Lookup_named_param_def < + internal_np::concurrency_tag_t, + NamedParameters, + Sequential_tag + > ::type Concurrency_tag; + + // visitor + typedef typename internal_np::Lookup_named_param_def < + internal_np::visitor_t, + NamedParameters, + Autorefinement::Default_visitor//default + > ::type Visitor; + Visitor visitor(choose_parameter(get_parameter(np, internal_np::visitor))); + + + constexpr bool parallel_execution = std::is_same_v; + +#ifndef CGAL_LINKED_WITH_TBB + static_assert (!parallel_execution, + "Parallel_tag is enabled but TBB is unavailable."); +#endif + using Point_3 = std::remove_cv_t::value_type>; using Kernel = typename Kernel_traits::Kernel; - static constexpr int coarseness = 23; - // TODO named parameters + //Get the grid size from the named parameter, the grid size could not be greater than 52 + const unsigned int grid_size = (std::min)(52,choose_parameter(get_parameter(np, internal_np::snap_grid_size), 23)); + + +#ifdef PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE + std::cout << "Compute the scaling of the coordinates" << std::endl; +#endif + + // auto exp = [](const double v) { int n; frexp(v, &n); - return n + 1; + return n; }; Bbox_3 bb = bbox_3(points.begin(), points.end()); std::array max_abs{(std::max)(-bb.xmin(), bb.xmax()), (std::max)(-bb.ymin(), bb.ymax()), (std::max)(-bb.zmin(), bb.zmax())}; - std::array scale{std::pow(2, coarseness - exp(max_abs[0])), - std::pow(2, coarseness - exp(max_abs[1])), - std::pow(2, coarseness - exp(max_abs[2]))}; + std::array scale{std::pow(2, grid_size - exp(max_abs[0]) - 1), + std::pow(2, grid_size - exp(max_abs[1]) - 1), + std::pow(2, grid_size - exp(max_abs[2]) - 1)}; // If EPECK, use exact TODO auto snap = [](typename Kernel::FT x, double scale) @@ -62,25 +150,39 @@ bool snap_polygon_soup(PointRange &points, static constexpr std::size_t nb_max_of_iteration = 20; // TODO named parameter for (std::size_t i = 0; i <= nb_max_of_iteration; ++i) { - std::cout << "after autorefine " << triangles.size() << std::endl; +#ifdef PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE + std::cout << "Start Iteration " << i << std::endl; + std::cout << "Model size: " << points.size() << " " << triangles.size() << std::endl; +#endif +#ifdef PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE + std::cout << "Round all coordinates on doubles" << std::endl; +#endif for (Point_3 &p : points) p = Point_3(to_double(p.x()), to_double(p.y()), to_double(p.z())); - repair_polygon_soup(points, triangles); + repair_polygon_soup(points, triangles, np); - std::vector> out; - triangle_soup_self_intersections(points, triangles, std::back_inserter(out)); + std::vector> pairs_of_intersecting_triangles; + triangle_soup_self_intersections(points, triangles, std::back_inserter(pairs_of_intersecting_triangles)); - if (out.empty()) + if (pairs_of_intersecting_triangles.empty()) { +#ifdef PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE + std::cout << "End of the snapping" << std::endl; +#endif CGAL_assertion(!does_triangle_soup_self_intersect(points, triangles)); return true; } +#ifdef PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE + std::cout << "Snap the coordinates of the vertices of the intersecting triangles" << std::endl; +#endif + //Get all the snap version of the points of the vertices of the intersecting triangles + //Note: points will not be modified here, they will be modified in the next for loop std::vector snap_points; - snap_points.reserve(out.size() * 3); + snap_points.reserve(pairs_of_intersecting_triangles.size() * 3); - for (auto &pair : out) + for (auto &pair : pairs_of_intersecting_triangles) { for (size_t pi : triangles[pair.first]) snap_points.emplace_back(snap_p(points[pi])); @@ -88,9 +190,15 @@ bool snap_polygon_soup(PointRange &points, snap_points.emplace_back(snap_p(points[pi])); } +#ifdef PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE + std::cout << "Snap the coordinates of the vertices close-by the previous ones" << std::endl; +#endif + //TODO: TBB version of this for loop + std::sort(snap_points.begin(), snap_points.end()); snap_points.erase(std::unique(snap_points.begin(), snap_points.end()), snap_points.end()); + //If the snapped version of a point correspond to one of the previous point, we snap it too for (Point_3 &p : points) { Point_3 p_snap = snap_p(p); @@ -98,12 +206,13 @@ bool snap_polygon_soup(PointRange &points, p = p_snap; } - repair_polygon_soup(points, triangles); + repair_polygon_soup(points, triangles, np); //TODO do not pass all triangles #ifdef PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE - std::cout << "Before autorefine " << triangles.size() << std::endl; + std::cout << "Autorefine the soup" << std::endl; + std::cout << "Model size: " << points.size() << " " << triangles.size() << std::endl; #endif - autorefine_triangle_soup(points, triangles, parameters::concurrency_tag(Parallel_tag())); + autorefine_triangle_soup(points, triangles, np); } return false; } diff --git a/STL_Extension/include/CGAL/STL_Extension/internal/parameters_interface.h b/STL_Extension/include/CGAL/STL_Extension/internal/parameters_interface.h index c95d2933e893..d64d5575d87e 100644 --- a/STL_Extension/include/CGAL/STL_Extension/internal/parameters_interface.h +++ b/STL_Extension/include/CGAL/STL_Extension/internal/parameters_interface.h @@ -220,6 +220,7 @@ CGAL_add_named_parameter(scan_angle_t, scan_angle_map, scan_angle_map) CGAL_add_named_parameter(scanline_id_t, scanline_id_map, scanline_id_map) CGAL_add_named_parameter(min_points_per_cell_t, min_points_per_cell, min_points_per_cell) CGAL_add_named_parameter(scalar_t, scalar_map, scalar_map) +CGAL_add_named_parameter(snap_grid_size_t, snap_grid_size, snap_grid_size) // List of named parameters used in Surface_mesh_approximation package CGAL_add_named_parameter(verbose_level_t, verbose_level, verbose_level) From 3a64fe3fcdfa16a0265c269b940e36f45803c1df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Tue, 4 Feb 2025 14:11:28 +0100 Subject: [PATCH 03/79] add number_of_iterations as a named parameter for snap_polygon_soup --- .../snap_polygon_soup.h | 38 +++++++------------ 1 file changed, 14 insertions(+), 24 deletions(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/snap_polygon_soup.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/snap_polygon_soup.h index 21e69847092b..0a1071f16064 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/snap_polygon_soup.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/snap_polygon_soup.h @@ -9,8 +9,8 @@ // // Author(s) : Léo Valque -#ifndef CGAL_POLYGON_MESH_PROCESSING_POLYGON_SOUP_ROUNDING -#define CGAL_POLYGON_MESH_PROCESSING_POLYGON_SOUP_ROUNDING +#ifndef CGAL_POLYGON_MESH_PROCESSING_POLYGON_SOUP_ROUNDING_H +#define CGAL_POLYGON_MESH_PROCESSING_POLYGON_SOUP_ROUNDING_H #include @@ -26,7 +26,7 @@ namespace Polygon_mesh_processing /** * * -* Round the coordinates of the points so that they fit in doubles while keeping the model intersection free. +* rounds the coordinates of the points so that they fit in doubles while keeping the model intersection free. * The input can be any triangle soup and the output is an intersection-free triangle soup with Hausdorff distance * between the input and the output bounded by M*2^-gs*k where M is the maximum absolute coordinate in the model, gs the snap_grid_size (see below) and k the number of iteration * performed by the algorithm. @@ -59,20 +59,21 @@ namespace Polygon_mesh_processing * \cgalParamDefault{a \cgal Kernel deduced from the point type, using `CGAL::Kernel_traits`} * \cgalParamExtra{The geometric traits class must be compatible with the point type.} * \cgalParamNEnd -* \cgalParamNBegin{visitor} -* \cgalParamDescription{a visitor used to track the creation of new faces} -* \cgalParamType{a class model of `PMPAutorefinementVisitor`} -* \cgalParamDefault{`Autorefinement::Default_visitor`} -* \cgalParamExtra{The visitor will be copied.} -* \cgalParamNEnd * \cgalParamNBegin{snap_grid_size} * \cgalParamDescription{Scale the points to [-2^gs, 2^gs] where gs is the snap_grid_size before to round them on integer.} * \cgalParamType{unsigned int} * \cgalParamDefault{23} * \cgalParamExtra{Must be lower than 52.} * \cgalParamNEnd +* \cgalParamNBegin{numbers_of_iteration} +* \cgalParamDescription{Maximum number of iteration performed by the algorithm.} +* \cgalParamType{unsigned int} +* \cgalParamDefault{20} +* \cgalParamNEnd * \cgalNamedParamsEnd * +* \return `true` if the modified triangle soup is free from self-intersection, and `false` if the algorithm was not +* able to provide such a triangle soup within the number of iterations. */ template bool snap_polygon_soup(PointRange &points, @@ -92,15 +93,6 @@ bool snap_polygon_soup(PointRange &points, Sequential_tag > ::type Concurrency_tag; - // visitor - typedef typename internal_np::Lookup_named_param_def < - internal_np::visitor_t, - NamedParameters, - Autorefinement::Default_visitor//default - > ::type Visitor; - Visitor visitor(choose_parameter(get_parameter(np, internal_np::visitor))); - - constexpr bool parallel_execution = std::is_same_v; #ifndef CGAL_LINKED_WITH_TBB @@ -113,7 +105,7 @@ bool snap_polygon_soup(PointRange &points, //Get the grid size from the named parameter, the grid size could not be greater than 52 const unsigned int grid_size = (std::min)(52,choose_parameter(get_parameter(np, internal_np::snap_grid_size), 23)); - + const unsigned int max_nb_of_iteration = choose_parameter(get_parameter(np, internal_np::number_of_iterations), 20); #ifdef PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE std::cout << "Compute the scaling of the coordinates" << std::endl; @@ -147,8 +139,7 @@ bool snap_polygon_soup(PointRange &points, snap(p.z(),scale[2]) ); }; - static constexpr std::size_t nb_max_of_iteration = 20; // TODO named parameter - for (std::size_t i = 0; i <= nb_max_of_iteration; ++i) + for (std::size_t i = 0; i <= max_nb_of_iteration; ++i) { #ifdef PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE std::cout << "Start Iteration " << i << std::endl; @@ -216,8 +207,7 @@ bool snap_polygon_soup(PointRange &points, } return false; } -} -} +} } //end of CGAL::Polygon_mesh_processing namespace -#endif +#endif //CGAL_POLYGON_MESH_PROCESSING_POLYGON_SOUP_ROUNDING_H From 3811271150d5839d05f0b16e1b3b51051227d4fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Tue, 4 Feb 2025 15:17:20 +0100 Subject: [PATCH 04/79] add more verbose in snap_polygon_soup --- .../include/CGAL/Polygon_mesh_processing/snap_polygon_soup.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/snap_polygon_soup.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/snap_polygon_soup.h index 0a1071f16064..002d8cc3f3e2 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/snap_polygon_soup.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/snap_polygon_soup.h @@ -165,6 +165,10 @@ bool snap_polygon_soup(PointRange &points, return true; } +#ifdef PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE + std::cout << "Number of pairs of intersecting triangles: " << pairs_of_intersecting_triangles.size() << std::endl; +#endif + #ifdef PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE std::cout << "Snap the coordinates of the vertices of the intersecting triangles" << std::endl; #endif From 3dc12cd8fbf7998aa6ded0f50c8c50e03c945643 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Tue, 4 Feb 2025 16:15:08 +0100 Subject: [PATCH 05/79] New alternative version of snap_polygon_soup for testing --- .../snap_polygon_soup.cpp | 2 +- .../snap_polygon_soup.h | 52 +++++++++++++++++++ 2 files changed, 53 insertions(+), 1 deletion(-) diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp b/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp index 88bc13233ce7..6492422d922e 100644 --- a/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp @@ -1,4 +1,4 @@ -//#define PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE +#define PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE #include #include diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/snap_polygon_soup.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/snap_polygon_soup.h index 002d8cc3f3e2..7b82b8f9dc71 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/snap_polygon_soup.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/snap_polygon_soup.h @@ -174,6 +174,8 @@ bool snap_polygon_soup(PointRange &points, #endif //Get all the snap version of the points of the vertices of the intersecting triangles //Note: points will not be modified here, they will be modified in the next for loop + +#if 1 std::vector snap_points; snap_points.reserve(pairs_of_intersecting_triangles.size() * 3); @@ -200,6 +202,56 @@ bool snap_polygon_soup(PointRange &points, if (std::binary_search(snap_points.begin(), snap_points.end(), p_snap)) p = p_snap; } +#else + std::map snap_points; + std::size_t index=0; + for (auto &pair : pairs_of_intersecting_triangles) + { + for (size_t pi : triangles[pair.first]) + { + auto res=snap_points.emplace(snap_p(points[pi]), index); + if(res.second) + ++index; + } + for (size_t pi : triangles[pair.second]) + { + auto res=snap_points.emplace(snap_p(points[pi]), index); + if(res.second) + ++index; + } + } + + //TODO: TBB version of this for loop + + std::vector> identical_points(index); + //If the snapped version of a point correspond to one of the previous point, we snap it too + for (size_t i=0; i!=points.size(); ++i) + { + Point_3 p_snap = snap_p(points[i]); + auto it=snap_points.find(p_snap); + if (it!=snap_points.end()){ + identical_points[it->second].push_back(i); + } + } + + for(const auto &v: identical_points){ + if(v.size()>1){ + std::array a{0,0,0}; + for(auto i: v){ + a[0]+=points[i].x(); + a[1]+=points[i].y(); + a[2]+=points[i].z(); + } + a[0]/=v.size(); + a[1]/=v.size(); + a[2]/=v.size(); + for(auto i: v){ + points[i]=Point_3(a[0],a[1],a[2]); + } + } + } +#endif + repair_polygon_soup(points, triangles, np); //TODO do not pass all triangles From 4d4763fa8b0feb466e0997de9fcf2baf800aaf16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Fri, 7 Feb 2025 10:15:49 +0100 Subject: [PATCH 06/79] Fig a bug when the scaling have a negative exponent --- .../Polygon_mesh_processing/snap_polygon_soup.h | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/snap_polygon_soup.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/snap_polygon_soup.h index 7b82b8f9dc71..7c1bfb096bbf 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/snap_polygon_soup.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/snap_polygon_soup.h @@ -119,13 +119,21 @@ bool snap_polygon_soup(PointRange &points, return n; }; + auto pow_2 = [](const int k){ + return (k>=0)?std::pow(2,k):1/std::pow(2,-k); + }; + Bbox_3 bb = bbox_3(points.begin(), points.end()); std::array max_abs{(std::max)(-bb.xmin(), bb.xmax()), (std::max)(-bb.ymin(), bb.ymax()), (std::max)(-bb.zmin(), bb.zmax())}; - std::array scale{std::pow(2, grid_size - exp(max_abs[0]) - 1), - std::pow(2, grid_size - exp(max_abs[1]) - 1), - std::pow(2, grid_size - exp(max_abs[2]) - 1)}; + std::array scale{pow_2(grid_size - exp(max_abs[0]) - 1), + pow_2(grid_size - exp(max_abs[1]) - 1), + pow_2(grid_size - exp(max_abs[2]) - 1)}; + +#ifdef PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE + std::cout << "Scaling: " << scale[0] << " " << scale[1] << " " << scale[2] << std::endl; +#endif // If EPECK, use exact TODO auto snap = [](typename Kernel::FT x, double scale) @@ -256,8 +264,8 @@ bool snap_polygon_soup(PointRange &points, repair_polygon_soup(points, triangles, np); //TODO do not pass all triangles #ifdef PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE - std::cout << "Autorefine the soup" << std::endl; std::cout << "Model size: " << points.size() << " " << triangles.size() << std::endl; + std::cout << "Autorefine the soup" << std::endl; #endif autorefine_triangle_soup(points, triangles, np); } From aef30f0e9d1d5f089853f008d231cc22b7bdfcfe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Tue, 11 Feb 2025 17:01:10 +0100 Subject: [PATCH 07/79] Write a generic ceil function to use snap_polygon_soup with various number type; tested with EPECK et EPICK --- .../snap_polygon_soup.cpp | 10 +++- .../snap_polygon_soup.h | 52 ++++++++++++++++--- 2 files changed, 55 insertions(+), 7 deletions(-) diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp b/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp index 6492422d922e..6b1fc9919bda 100644 --- a/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp @@ -1,5 +1,7 @@ #define PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE +#include +#include #include #include #include @@ -13,6 +15,7 @@ #include typedef CGAL::Exact_predicates_inexact_constructions_kernel Kernel; +typedef CGAL::Cartesian Cartesian; typedef Kernel::Point_3 Point; namespace PMP = CGAL::Polygon_mesh_processing; @@ -40,7 +43,12 @@ int main(int argc, char** argv) PMP::snap_polygon_soup(input_points, input_triangles, CGAL::parameters::erase_all_duplicates(true).concurrency_tag(CGAL::Parallel_if_available_tag()).snap_grid_size(grid_size)); t.stop(); std::cout << "#points = " << input_points.size() << " and #triangles = " << input_triangles.size() << " in " << t.time() << " sec." << std::endl; - CGAL::IO::write_polygon_soup("rounded_soup.off", input_points, input_triangles, CGAL::parameters::stream_precision(17)); + + std::vector output_points; + for(auto &p: input_points) + output_points.emplace_back(CGAL::to_double(p.x()),CGAL::to_double(p.y()),CGAL::to_double(p.z())); + CGAL::IO::write_polygon_soup("rounded_soup.off", output_points, input_triangles, CGAL::parameters::stream_precision(17)); + // CGAL::IO::write_polygon_soup("rounded_soup.off", input_points, input_triangles, CGAL::parameters::stream_precision(17)); return 0; } diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/snap_polygon_soup.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/snap_polygon_soup.h index 7c1bfb096bbf..f05eae3352ce 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/snap_polygon_soup.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/snap_polygon_soup.h @@ -12,17 +12,58 @@ #ifndef CGAL_POLYGON_MESH_PROCESSING_POLYGON_SOUP_ROUNDING_H #define CGAL_POLYGON_MESH_PROCESSING_POLYGON_SOUP_ROUNDING_H +#include +#include +#include #include #include #include +#include +#include +#include + namespace CGAL { namespace Polygon_mesh_processing { + +namespace internal +{ + +template double ceil(Lazy_exact_nt< NT > x); +template double ceil(NT x); + +template +double ceil(Lazy_exact_nt< NT > x){ + double ceil_left=std::ceil(to_interval(x).first); + if(ceil_left==std::ceil(to_interval(x).second)) + return ceil_left; + x.exact(); + ceil_left=std::ceil(to_interval(x).first); + if(ceil_left==std::ceil(to_interval(x).second)) + return ceil_left; + return ceil( x.exact()); +}; + +template +double ceil(NT x){ + typedef Fraction_traits FT; + if constexpr(std::is_same::value){ + typename FT::Numerator_type num, r, e; + typename FT::Denominator_type denom; + typename FT::Decompose()(x,num,denom); + div_mod(num, denom, r, e); + return to_double(r); + } else { + return std::ceil(to_double(x)); + } +}; +} + /** * * @@ -135,10 +176,9 @@ bool snap_polygon_soup(PointRange &points, std::cout << "Scaling: " << scale[0] << " " << scale[1] << " " << scale[2] << std::endl; #endif - // If EPECK, use exact TODO auto snap = [](typename Kernel::FT x, double scale) { - return std::ceil(CGAL::to_double(x * scale) + 0.5) / scale; + return internal::ceil((x * scale) + 0.5) / scale; }; auto snap_p = [scale, snap](const Point_3 &p) { @@ -183,7 +223,7 @@ bool snap_polygon_soup(PointRange &points, //Get all the snap version of the points of the vertices of the intersecting triangles //Note: points will not be modified here, they will be modified in the next for loop -#if 1 +#if 0 std::vector snap_points; snap_points.reserve(pairs_of_intersecting_triangles.size() * 3); @@ -246,9 +286,9 @@ bool snap_polygon_soup(PointRange &points, if(v.size()>1){ std::array a{0,0,0}; for(auto i: v){ - a[0]+=points[i].x(); - a[1]+=points[i].y(); - a[2]+=points[i].z(); + a[0]+=to_double(points[i].x()); + a[1]+=to_double(points[i].y()); + a[2]+=to_double(points[i].z()); } a[0]/=v.size(); a[1]/=v.size(); From 64c4fd25a9cf5080e64ae6d198b896b8dd177055 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Wed, 12 Feb 2025 10:51:31 +0100 Subject: [PATCH 08/79] ceil for negative rational and comments --- .../snap_polygon_soup.h | 44 ++++++++++++------- 1 file changed, 29 insertions(+), 15 deletions(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/snap_polygon_soup.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/snap_polygon_soup.h index f05eae3352ce..ef63e6c4a974 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/snap_polygon_soup.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/snap_polygon_soup.h @@ -35,30 +35,37 @@ namespace internal { template double ceil(Lazy_exact_nt< NT > x); -template double ceil(NT x); +template double ceil(NT x); template double ceil(Lazy_exact_nt< NT > x){ + // If both sides are in the same ceil, return this ceil double ceil_left=std::ceil(to_interval(x).first); if(ceil_left==std::ceil(to_interval(x).second)) return ceil_left; + // If not refine interval by contracting the DAG and try again x.exact(); ceil_left=std::ceil(to_interval(x).first); if(ceil_left==std::ceil(to_interval(x).second)) return ceil_left; + // If not return the ceil of the exact value return ceil( x.exact()); }; -template +template double ceil(NT x){ typedef Fraction_traits FT; if constexpr(std::is_same::value){ + // If NT is a fraction, the ceil value is the result of the euclidian division of the numerator and the denominator. typename FT::Numerator_type num, r, e; typename FT::Denominator_type denom; typename FT::Decompose()(x,num,denom); div_mod(num, denom, r, e); + if((r<0) && e!=0) //If the result is negative, the ceil value is one below + return to_double(r-1); return to_double(r); } else { + // Return the ceil of the approximation return std::ceil(to_double(x)); } }; @@ -67,7 +74,7 @@ double ceil(NT x){ /** * * -* rounds the coordinates of the points so that they fit in doubles while keeping the model intersection free. +* Rounds the coordinates of the points so that they fit in doubles while making and keeping the model intersection free by potentially subdividing the triangles. * The input can be any triangle soup and the output is an intersection-free triangle soup with Hausdorff distance * between the input and the output bounded by M*2^-gs*k where M is the maximum absolute coordinate in the model, gs the snap_grid_size (see below) and k the number of iteration * performed by the algorithm. @@ -144,7 +151,7 @@ bool snap_polygon_soup(PointRange &points, using Point_3 = std::remove_cv_t::value_type>; using Kernel = typename Kernel_traits::Kernel; - //Get the grid size from the named parameter, the grid size could not be greater than 52 + // Get the grid size from the named parameter, the grid size could not be greater than 52 const unsigned int grid_size = (std::min)(52,choose_parameter(get_parameter(np, internal_np::snap_grid_size), 23)); const unsigned int max_nb_of_iteration = choose_parameter(get_parameter(np, internal_np::number_of_iterations), 20); @@ -152,22 +159,23 @@ bool snap_polygon_soup(PointRange &points, std::cout << "Compute the scaling of the coordinates" << std::endl; #endif - // auto exp = [](const double v) { int n; frexp(v, &n); return n; }; - - auto pow_2 = [](const int k){ - return (k>=0)?std::pow(2,k):1/std::pow(2,-k); + auto pow_2 = [](const int k) + { + return (k>=0)?std::pow(2,k):1./std::pow(2,-k); }; + // Get max absolute value of each dimension Bbox_3 bb = bbox_3(points.begin(), points.end()); std::array max_abs{(std::max)(-bb.xmin(), bb.xmax()), (std::max)(-bb.ymin(), bb.ymax()), (std::max)(-bb.zmin(), bb.zmax())}; + // Compute scale so that the exponent of max absolute value are 52-1. std::array scale{pow_2(grid_size - exp(max_abs[0]) - 1), pow_2(grid_size - exp(max_abs[1]) - 1), pow_2(grid_size - exp(max_abs[2]) - 1)}; @@ -178,11 +186,12 @@ bool snap_polygon_soup(PointRange &points, auto snap = [](typename Kernel::FT x, double scale) { + // Scale the coordinate, round to nearest integer and scale back return internal::ceil((x * scale) + 0.5) / scale; }; auto snap_p = [scale, snap](const Point_3 &p) { - return Point_3(snap(p.x(),scale[0]), + return Point_3( snap(p.x(),scale[0]), snap(p.y(),scale[1]), snap(p.z(),scale[2]) ); }; @@ -201,6 +210,7 @@ bool snap_polygon_soup(PointRange &points, p = Point_3(to_double(p.x()), to_double(p.y()), to_double(p.z())); repair_polygon_soup(points, triangles, np); + // Get all intersecting triangles std::vector> pairs_of_intersecting_triangles; triangle_soup_self_intersections(points, triangles, std::back_inserter(pairs_of_intersecting_triangles)); @@ -220,10 +230,13 @@ bool snap_polygon_soup(PointRange &points, #ifdef PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE std::cout << "Snap the coordinates of the vertices of the intersecting triangles" << std::endl; #endif - //Get all the snap version of the points of the vertices of the intersecting triangles - //Note: points will not be modified here, they will be modified in the next for loop #if 0 + // Version where points are rounded to the center of their voxel. + + // Get all the snap version of the points of the vertices of the intersecting triangles + // Note: points will not be modified here, they will be modified in the next for loop + std::vector snap_points; snap_points.reserve(pairs_of_intersecting_triangles.size() * 3); @@ -243,7 +256,7 @@ bool snap_polygon_soup(PointRange &points, std::sort(snap_points.begin(), snap_points.end()); snap_points.erase(std::unique(snap_points.begin(), snap_points.end()), snap_points.end()); - //If the snapped version of a point correspond to one of the previous point, we snap it too + // If the snapped version of a point correspond to one of the previous point, we snap it for (Point_3 &p : points) { Point_3 p_snap = snap_p(p); @@ -251,6 +264,9 @@ bool snap_polygon_soup(PointRange &points, p = p_snap; } #else + // Version where points in a voxel are rounded to their barycenter. + + // Group the points of the vertices of the intersecting triangles by their voxel std::map snap_points; std::size_t index=0; for (auto &pair : pairs_of_intersecting_triangles) @@ -269,10 +285,7 @@ bool snap_polygon_soup(PointRange &points, } } - //TODO: TBB version of this for loop - std::vector> identical_points(index); - //If the snapped version of a point correspond to one of the previous point, we snap it too for (size_t i=0; i!=points.size(); ++i) { Point_3 p_snap = snap_p(points[i]); @@ -282,6 +295,7 @@ bool snap_polygon_soup(PointRange &points, } } + // Replace all points in a voxel by their barycenter for(const auto &v: identical_points){ if(v.size()>1){ std::array a{0,0,0}; From 8079f69f8b684a7ddc4767f1fd16d77f7d7d385f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Wed, 12 Feb 2025 13:16:43 +0100 Subject: [PATCH 09/79] Add some parallellisation --- .../snap_polygon_soup.h | 45 +++++++++++++++---- 1 file changed, 37 insertions(+), 8 deletions(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/snap_polygon_soup.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/snap_polygon_soup.h index ef63e6c4a974..b35908cbc3b8 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/snap_polygon_soup.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/snap_polygon_soup.h @@ -54,7 +54,7 @@ double ceil(Lazy_exact_nt< NT > x){ template double ceil(NT x){ - typedef Fraction_traits FT; + using FT = Fraction_traits; if constexpr(std::is_same::value){ // If NT is a fraction, the ceil value is the result of the euclidian division of the numerator and the denominator. typename FT::Numerator_type num, r, e; @@ -131,8 +131,8 @@ bool snap_polygon_soup(PointRange &points, using parameters::choose_parameter; using parameters::get_parameter; - typedef typename GetPolygonSoupGeomTraits::type GT; - typedef typename GetPointMap::const_type Point_map; + using GT=typename GetPolygonSoupGeomTraits::type; + using Point_map=typename GetPointMap::const_type; Point_map pm = choose_parameter(get_parameter(np, internal_np::point_map)); typedef typename internal_np::Lookup_named_param_def < @@ -141,7 +141,8 @@ bool snap_polygon_soup(PointRange &points, Sequential_tag > ::type Concurrency_tag; - constexpr bool parallel_execution = std::is_same_v; + // constexpr bool parallel_execution = std::is_same_v; + constexpr bool parallel_execution = false; #ifndef CGAL_LINKED_WITH_TBB static_assert (!parallel_execution, @@ -206,20 +207,32 @@ bool snap_polygon_soup(PointRange &points, #ifdef PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE std::cout << "Round all coordinates on doubles" << std::endl; #endif + +#ifdef CGAL_LINKED_WITH_TBB + if(parallel_execution) + { + tbb::parallel_for(tbb::blocked_range(0, points.size()), + [&](const tbb::blocked_range& r){ + for(size_t pi = r.begin(); pi != r.end(); ++pi) + points[pi] = Point_3(to_double(points[pi].x()), to_double(points[pi].y()), to_double(points[pi].z())); + } + ); + } else +#endif for (Point_3 &p : points) p = Point_3(to_double(p.x()), to_double(p.y()), to_double(p.z())); repair_polygon_soup(points, triangles, np); // Get all intersecting triangles std::vector> pairs_of_intersecting_triangles; - triangle_soup_self_intersections(points, triangles, std::back_inserter(pairs_of_intersecting_triangles)); + triangle_soup_self_intersections(points, triangles, std::back_inserter(pairs_of_intersecting_triangles), np); if (pairs_of_intersecting_triangles.empty()) { #ifdef PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE std::cout << "End of the snapping" << std::endl; #endif - CGAL_assertion(!does_triangle_soup_self_intersect(points, triangles)); + CGAL_assertion(!does_triangle_soup_self_intersect(points, triangles, np)); return true; } @@ -231,12 +244,14 @@ bool snap_polygon_soup(PointRange &points, std::cout << "Snap the coordinates of the vertices of the intersecting triangles" << std::endl; #endif -#if 0 +#if 1 // Version where points are rounded to the center of their voxel. // Get all the snap version of the points of the vertices of the intersecting triangles // Note: points will not be modified here, they will be modified in the next for loop + //TODO: TBB version of this for loop + std::vector snap_points; snap_points.reserve(pairs_of_intersecting_triangles.size() * 3); @@ -251,18 +266,32 @@ bool snap_polygon_soup(PointRange &points, #ifdef PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE std::cout << "Snap the coordinates of the vertices close-by the previous ones" << std::endl; #endif - //TODO: TBB version of this for loop std::sort(snap_points.begin(), snap_points.end()); snap_points.erase(std::unique(snap_points.begin(), snap_points.end()), snap_points.end()); // If the snapped version of a point correspond to one of the previous point, we snap it +#ifdef CGAL_LINKED_WITH_TBB + if(parallel_execution) + { + tbb::parallel_for(tbb::blocked_range(0, points.size()), + [&](const tbb::blocked_range& r){ + for(size_t pi = r.begin(); pi != r.end(); ++pi){ + Point_3 p_snap=snap_p(points[pi]); + if (std::binary_search(snap_points.begin(), snap_points.end(), p_snap)) + points[pi] = p_snap; + } + } + ); + } else +#endif for (Point_3 &p : points) { Point_3 p_snap = snap_p(p); if (std::binary_search(snap_points.begin(), snap_points.end(), p_snap)) p = p_snap; } + #else // Version where points in a voxel are rounded to their barycenter. From d4e66753ad97d9988c1759293d89686707e677f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Mon, 17 Feb 2025 14:17:45 +0100 Subject: [PATCH 10/79] made snap polygon soup an option of autorefine_triangle_soup --- .../snap_polygon_soup.cpp | 12 +++-- .../Polygon_mesh_processing/autorefinement.h | 49 +++++++++++++++++-- .../{ => internal}/snap_polygon_soup.h | 32 ++++++------ .../internal/parameters_interface.h | 1 + 4 files changed, 72 insertions(+), 22 deletions(-) rename Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/{ => internal}/snap_polygon_soup.h (93%) diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp b/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp index 6b1fc9919bda..87ed4a5b9780 100644 --- a/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp @@ -1,10 +1,11 @@ #define PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE +#define CGAL_PMP_AUTOREFINE_USE_DEFAULT_VERBOSE #include #include #include -#include #include +#include #include #include #include @@ -14,6 +15,8 @@ #include +#include + typedef CGAL::Exact_predicates_inexact_constructions_kernel Kernel; typedef CGAL::Cartesian Cartesian; typedef Kernel::Point_3 Point; @@ -26,7 +29,7 @@ int main(int argc, char** argv) : std::string(argv[1]); const int grid_size = argc == 2 ? 23 - : std::stoi(std::string(argv[2])); + : std::stoi(std::string(argv[2])); std::vector input_points; std::vector> input_triangles; @@ -40,15 +43,16 @@ int main(int argc, char** argv) CGAL::Real_timer t; t.start(); - PMP::snap_polygon_soup(input_points, input_triangles, CGAL::parameters::erase_all_duplicates(true).concurrency_tag(CGAL::Parallel_if_available_tag()).snap_grid_size(grid_size)); + PMP::autorefine_triangle_soup(input_points, input_triangles, CGAL::parameters::do_snap(true).erase_all_duplicates(true).concurrency_tag(CGAL::Parallel_if_available_tag()).snap_grid_size(grid_size)); t.stop(); std::cout << "#points = " << input_points.size() << " and #triangles = " << input_triangles.size() << " in " << t.time() << " sec." << std::endl; std::vector output_points; + std::cout << "Does self-intersect: " << PMP::does_triangle_soup_self_intersect(input_points, input_triangles) << std::endl; for(auto &p: input_points) output_points.emplace_back(CGAL::to_double(p.x()),CGAL::to_double(p.y()),CGAL::to_double(p.z())); + CGAL::IO::write_polygon_soup("rounded_soup.off", output_points, input_triangles, CGAL::parameters::stream_precision(17)); - // CGAL::IO::write_polygon_soup("rounded_soup.off", input_points, input_triangles, CGAL::parameters::stream_precision(17)); return 0; } diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h index a2dafa3dd367..c3edc5315f90 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h @@ -33,7 +33,6 @@ #include #include - #ifdef CGAL_PMP_AUTOREFINE_USE_DEFAULT_VERBOSE #define CGAL_PMP_AUTOREFINE_VERBOSE(X) std::cout << X << "\n"; #endif @@ -975,6 +974,15 @@ void generate_subtriangles(std::size_t ti, } // end of autorefine_impl #endif +namespace internal{ +// Forward declaration +template +bool snap_polygon_soup(PointRange &points, + PolygonRange &triangles, + const NamedParameters& np = parameters::default_values()); +} + + /** * \ingroup PMP_corefinement_grp * @@ -986,6 +994,10 @@ void generate_subtriangles(std::size_t ti, * `soup_triangles` will be updated to contain both the input triangles and the new subdivided triangles. Degenerate triangles will be removed. * Also triangles in `soup_triangles` will be triangles without intersection first, followed by triangles coming from a subdivision induced * by an intersection. The named parameter `visitor()` can be used to track +* If the do_snap parameter is set to true, the coordinates of the vertices are rounded to fit within the precision of a double-precision floating point, +* while preserving the model free of intersections. Note that this option does not guarantee an intersection-free output; however, +* the returned boolean will be true if the output is free of self-intersections. The snap_grid_size parameter limits the drift of the snapped vertices. +* A smaller value is more likely to output an intersection free output and perform more vertex collapses, but it may increase the Hausdorff distance from the input. * * @tparam PointRange a model of the concept `RandomAccessContainer` * whose value type is the point type @@ -1021,13 +1033,32 @@ void generate_subtriangles(std::size_t ti, * \cgalParamDefault{`Autorefinement::Default_visitor`} * \cgalParamExtra{The visitor will be copied.} * \cgalParamNEnd +* \cgalParamNBegin{do_snap} +* \cgalParamDescription{Enable the rounding of the coordinates so that they fit in doubles.} +* \cgalParamType{boolean} +* \cgalParamDefault{false} +* \cgalParamNEnd +* \cgalParamNBegin{snap_grid_size} +* \cgalParamDescription{Scale the points to [-2^gs, 2^gs] where gs is the snap_grid_size before to round them on integer. Use only if do_snap is true.} +* \cgalParamType{unsigned int} +* \cgalParamDefault{23} +* \cgalParamExtra{Must be lower than 52.} +* \cgalParamNEnd +* \cgalParamNBegin{numbers_of_iteration} +* \cgalParamDescription{Maximum number of iteration performed by the snap algorithm. Use only if do_snap is true.} +* \cgalParamType{unsigned int} +* \cgalParamDefault{15} +* \cgalParamNEnd * \cgalNamedParamsEnd * +* \return `true` if the modified triangle soup is free from self-intersection, and `false` if the algorithm was not +* able to provide such a triangle soup within the number of iterations. */ template -void autorefine_triangle_soup(PointRange& soup_points, +bool autorefine_triangle_soup(PointRange& soup_points, TriangleRange& soup_triangles, const NamedParameters& np = parameters::default_values()) + { using parameters::choose_parameter; using parameters::get_parameter; @@ -1050,6 +1081,17 @@ void autorefine_triangle_soup(PointRange& soup_points, > ::type Visitor; Visitor visitor(choose_parameter(get_parameter(np, internal_np::visitor))); + //TODO just modify do_snap instead of getting np one by one + const bool do_snap = choose_parameter(get_parameter(np, internal_np::do_snap), false); + const int grid_size = choose_parameter(get_parameter(np, internal_np::snap_grid_size), 23); + const unsigned int nb_of_iteration = choose_parameter(get_parameter(np, internal_np::number_of_iterations), 15); + const bool ead = choose_parameter(get_parameter(np, internal_np::erase_all_duplicates), false); + + if(do_snap) + { + CGAL_PMP_AUTOREFINE_VERBOSE("Snap polygon soup"); + return internal::snap_polygon_soup(soup_points, soup_triangles, parameters::point_map(pm).snap_grid_size(grid_size).number_of_iterations(nb_of_iteration).erase_all_duplicates(ead).concurrency_tag(Concurrency_tag())); + } constexpr bool parallel_execution = std::is_same_v; @@ -1077,7 +1119,7 @@ void autorefine_triangle_soup(PointRange& soup_points, for(std::size_t i=0; i #include #include #include -#include +// #include #include #include @@ -30,7 +30,6 @@ namespace CGAL namespace Polygon_mesh_processing { - namespace internal { @@ -69,7 +68,6 @@ double ceil(NT x){ return std::ceil(to_double(x)); } }; -} /** * @@ -116,17 +114,21 @@ double ceil(NT x){ * \cgalParamNBegin{numbers_of_iteration} * \cgalParamDescription{Maximum number of iteration performed by the algorithm.} * \cgalParamType{unsigned int} -* \cgalParamDefault{20} +* \cgalParamDefault{15} * \cgalParamNEnd * \cgalNamedParamsEnd * * \return `true` if the modified triangle soup is free from self-intersection, and `false` if the algorithm was not * able to provide such a triangle soup within the number of iterations. */ -template +template bool snap_polygon_soup(PointRange &points, PolygonRange &triangles, - const NamedParameters& np = parameters::default_values()) + const NamedParameters& np) +// template +// bool snap_polygon_soup(PointRange &points, + // PolygonRange &triangles, + // const NamedParameters& np = parameters::default_values()) { using parameters::choose_parameter; using parameters::get_parameter; @@ -141,8 +143,8 @@ bool snap_polygon_soup(PointRange &points, Sequential_tag > ::type Concurrency_tag; - // constexpr bool parallel_execution = std::is_same_v; - constexpr bool parallel_execution = false; + constexpr bool parallel_execution = std::is_same_v; + // constexpr bool parallel_execution = false; #ifndef CGAL_LINKED_WITH_TBB static_assert (!parallel_execution, @@ -154,10 +156,11 @@ bool snap_polygon_soup(PointRange &points, // Get the grid size from the named parameter, the grid size could not be greater than 52 const unsigned int grid_size = (std::min)(52,choose_parameter(get_parameter(np, internal_np::snap_grid_size), 23)); - const unsigned int max_nb_of_iteration = choose_parameter(get_parameter(np, internal_np::number_of_iterations), 20); + const unsigned int max_nb_of_iteration = choose_parameter(get_parameter(np, internal_np::number_of_iterations), 15); #ifdef PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE std::cout << "Compute the scaling of the coordinates" << std::endl; + std::cout << grid_size << std::endl; #endif auto exp = [](const double v) @@ -345,7 +348,6 @@ bool snap_polygon_soup(PointRange &points, repair_polygon_soup(points, triangles, np); - //TODO do not pass all triangles #ifdef PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE std::cout << "Model size: " << points.size() << " " << triangles.size() << std::endl; std::cout << "Autorefine the soup" << std::endl; @@ -355,6 +357,6 @@ bool snap_polygon_soup(PointRange &points, return false; } -} } //end of CGAL::Polygon_mesh_processing namespace +} } } //end of CGAL::Polygon_mesh_processing::internal namespace -#endif //CGAL_POLYGON_MESH_PROCESSING_POLYGON_SOUP_ROUNDING_H +#endif //CGAL_POLYGON_MESH_PROCESSING_SNAP_POLYGON_SOUP_H diff --git a/STL_Extension/include/CGAL/STL_Extension/internal/parameters_interface.h b/STL_Extension/include/CGAL/STL_Extension/internal/parameters_interface.h index d64d5575d87e..211a749b103a 100644 --- a/STL_Extension/include/CGAL/STL_Extension/internal/parameters_interface.h +++ b/STL_Extension/include/CGAL/STL_Extension/internal/parameters_interface.h @@ -220,6 +220,7 @@ CGAL_add_named_parameter(scan_angle_t, scan_angle_map, scan_angle_map) CGAL_add_named_parameter(scanline_id_t, scanline_id_map, scanline_id_map) CGAL_add_named_parameter(min_points_per_cell_t, min_points_per_cell, min_points_per_cell) CGAL_add_named_parameter(scalar_t, scalar_map, scalar_map) +CGAL_add_named_parameter(do_snap_t, do_snap, do_snap) CGAL_add_named_parameter(snap_grid_size_t, snap_grid_size, snap_grid_size) // List of named parameters used in Surface_mesh_approximation package From ac7bf3c45f3a8e52871bfd86a4893e6d361fc7ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Mon, 17 Feb 2025 15:44:10 +0100 Subject: [PATCH 11/79] Doc modification of autorefine and Polygon mesh processing --- Documentation/doc/biblio/geom.bib | 13 +++++++++++++ .../Polygon_mesh_processing.txt | 10 +++++++--- .../Polygon_mesh_processing/snap_polygon_soup.cpp | 2 -- .../CGAL/Polygon_mesh_processing/autorefinement.h | 4 +++- 4 files changed, 23 insertions(+), 6 deletions(-) diff --git a/Documentation/doc/biblio/geom.bib b/Documentation/doc/biblio/geom.bib index 270267703f8d..b71da6e6bdff 100644 --- a/Documentation/doc/biblio/geom.bib +++ b/Documentation/doc/biblio/geom.bib @@ -152085,3 +152085,16 @@ @article{ledoux2014triangulation year={2014}, publisher={Elsevier} } + +@unpublished{lazard:hal-04907149, + TITLE = {{Removing self-intersections in 3D meshes while preserving floating-point coordinates}}, + AUTHOR = {Lazard, Sylvain and Valque, Leo}, + URL = {https://inria.hal.science/hal-04907149}, + NOTE = {working paper or preprint}, + YEAR = {2025}, + MONTH = Jan, + KEYWORDS = {Snap rounding ; mesh intersection ; robustness}, + PDF = {https://inria.hal.science/hal-04907149v1/file/Snap-HAL.pdf}, + HAL_ID = {hal-04907149}, + HAL_VERSION = {v1}, +} diff --git a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt index 08d8d798f418..1240d8107fa1 100644 --- a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt +++ b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt @@ -4,7 +4,7 @@ namespace CGAL { \anchor Chapter_PolygonMeshProcessing \cgalAutoToc -\authors David Coeurjolly, Jaques-Olivier Lachaud, Konstantinos Katrioplas, Sébastien Loriot, Ivan Pađen, Mael Rouxel-Labbé, Hossam Saeed, Jane Tournois, and Ilker %O. Yaz +\authors David Coeurjolly, Jaques-Olivier Lachaud, Sylvain Lazard, Konstantinos Katrioplas, Sébastien Loriot, Ivan Pađen, Mael Rouxel-Labbé, Hossam Saeed, Jane Tournois, Léo Valque and Ilker %O. Yaz \image html neptun_head.jpg \image latex neptun_head.jpg @@ -889,8 +889,10 @@ would then also includes overlaps of duplicated points. The function `CGAL::Polygon_mesh_processing::autorefine_triangle_soup()` provides a way to refine a triangle soup using the intersections of the triangles from the soup. In particular, if some points are duplicated they will be merged. Note that if a kernel with exact predicates but inexact constructions is used, some new self-intersections -might be introduced due to rounding issues of points coordinates. -To guarantee that the triangle soup is free from self-intersections, a kernel with exact constructions must be used. +might be introduced due to rounding issues of points coordinates. The `do_snap` option can be used to resolve this issue. +When set to `true`, it ensures the coordinates are rounded to fit in `double` with potential additional subdivisions, +preventing any self-intersections from occurring. + \subsection PMPRemoveCapsNeedles Removal of Almost Degenerate Triangle Faces Triangle faces of a mesh made up of almost collinear points are badly shaped elements that @@ -1439,5 +1441,7 @@ used as a reference during the project. The curvature-based sizing field version of isotropic remeshing was added by Ivan Pađen during GSoC 2023, under the supervision of Sébastien Loriot and Jane Tournois. +The `do_snap` option for autorefinement were implemented during 2025. This was implemented by Léo Valque and Sylvain Lazard. The implementation is based on \cgalCite{lazard:hal-04907149}. + */ } /* namespace CGAL */ diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp b/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp index 87ed4a5b9780..e577ee4f79e2 100644 --- a/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp @@ -15,8 +15,6 @@ #include -#include - typedef CGAL::Exact_predicates_inexact_constructions_kernel Kernel; typedef CGAL::Cartesian Cartesian; typedef Kernel::Point_3 Point; diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h index c3edc5315f90..e13fe7aafca9 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h @@ -1090,7 +1090,7 @@ bool autorefine_triangle_soup(PointRange& soup_points, if(do_snap) { CGAL_PMP_AUTOREFINE_VERBOSE("Snap polygon soup"); - return internal::snap_polygon_soup(soup_points, soup_triangles, parameters::point_map(pm).snap_grid_size(grid_size).number_of_iterations(nb_of_iteration).erase_all_duplicates(ead).concurrency_tag(Concurrency_tag())); + return internal::snap_polygon_soup(soup_points, soup_triangles, parameters::point_map(pm).visitor(visitor).snap_grid_size(grid_size).number_of_iterations(nb_of_iteration).erase_all_duplicates(ead).concurrency_tag(Concurrency_tag())); } constexpr bool parallel_execution = std::is_same_v; @@ -1760,4 +1760,6 @@ autorefine( TriangleMesh& tm, #endif #endif +#include + #endif // CGAL_POLYGON_MESH_PROCESSING_AUTOREFINEMENT_H From 9b84d4c73cfad5ab31e47943267f9179f3ed8e81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Mon, 17 Feb 2025 18:09:04 +0100 Subject: [PATCH 12/79] rename do_snap to apply_iterative_snap_rounding, remove trailing whitespace --- .../Polygon_mesh_processing.txt | 4 ++-- .../Polygon_mesh_processing/snap_polygon_soup.cpp | 8 ++++---- .../CGAL/Polygon_mesh_processing/autorefinement.h | 12 ++++++------ .../internal/snap_polygon_soup.h | 6 +++--- .../STL_Extension/internal/parameters_interface.h | 2 +- 5 files changed, 16 insertions(+), 16 deletions(-) diff --git a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt index 1240d8107fa1..43915c020131 100644 --- a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt +++ b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt @@ -889,7 +889,7 @@ would then also includes overlaps of duplicated points. The function `CGAL::Polygon_mesh_processing::autorefine_triangle_soup()` provides a way to refine a triangle soup using the intersections of the triangles from the soup. In particular, if some points are duplicated they will be merged. Note that if a kernel with exact predicates but inexact constructions is used, some new self-intersections -might be introduced due to rounding issues of points coordinates. The `do_snap` option can be used to resolve this issue. +might be introduced due to rounding issues of points coordinates. The `apply_iterative_snap_rounding` option can be used to resolve this issue. When set to `true`, it ensures the coordinates are rounded to fit in `double` with potential additional subdivisions, preventing any self-intersections from occurring. @@ -1441,7 +1441,7 @@ used as a reference during the project. The curvature-based sizing field version of isotropic remeshing was added by Ivan Pađen during GSoC 2023, under the supervision of Sébastien Loriot and Jane Tournois. -The `do_snap` option for autorefinement were implemented during 2025. This was implemented by Léo Valque and Sylvain Lazard. The implementation is based on \cgalCite{lazard:hal-04907149}. +The `apply_iterative_snap_rounding` option for autorefinement were implemented during 2025. This was implemented by Léo Valque and Sylvain Lazard. The implementation is based on \cgalCite{lazard:hal-04907149}. */ } /* namespace CGAL */ diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp b/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp index e577ee4f79e2..8a3cde8036b5 100644 --- a/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp @@ -1,5 +1,5 @@ -#define PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE -#define CGAL_PMP_AUTOREFINE_USE_DEFAULT_VERBOSE +#define PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE +// #define CGAL_PMP_AUTOREFINE_USE_DEFAULT_VERBOSE #include #include @@ -41,10 +41,10 @@ int main(int argc, char** argv) CGAL::Real_timer t; t.start(); - PMP::autorefine_triangle_soup(input_points, input_triangles, CGAL::parameters::do_snap(true).erase_all_duplicates(true).concurrency_tag(CGAL::Parallel_if_available_tag()).snap_grid_size(grid_size)); + PMP::autorefine_triangle_soup(input_points, input_triangles, CGAL::parameters::apply_iterative_snap_rounding(true).erase_all_duplicates(true).concurrency_tag(CGAL::Parallel_if_available_tag()).snap_grid_size(grid_size)); t.stop(); std::cout << "#points = " << input_points.size() << " and #triangles = " << input_triangles.size() << " in " << t.time() << " sec." << std::endl; - + std::vector output_points; std::cout << "Does self-intersect: " << PMP::does_triangle_soup_self_intersect(input_points, input_triangles) << std::endl; for(auto &p: input_points) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h index e13fe7aafca9..e770806feea0 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h @@ -994,7 +994,7 @@ bool snap_polygon_soup(PointRange &points, * `soup_triangles` will be updated to contain both the input triangles and the new subdivided triangles. Degenerate triangles will be removed. * Also triangles in `soup_triangles` will be triangles without intersection first, followed by triangles coming from a subdivision induced * by an intersection. The named parameter `visitor()` can be used to track -* If the do_snap parameter is set to true, the coordinates of the vertices are rounded to fit within the precision of a double-precision floating point, +* If the `apply_iterative_snap_rounding` parameter is set to true, the coordinates of the vertices are rounded to fit within the precision of a double-precision floating point, * while preserving the model free of intersections. Note that this option does not guarantee an intersection-free output; however, * the returned boolean will be true if the output is free of self-intersections. The snap_grid_size parameter limits the drift of the snapped vertices. * A smaller value is more likely to output an intersection free output and perform more vertex collapses, but it may increase the Hausdorff distance from the input. @@ -1033,19 +1033,19 @@ bool snap_polygon_soup(PointRange &points, * \cgalParamDefault{`Autorefinement::Default_visitor`} * \cgalParamExtra{The visitor will be copied.} * \cgalParamNEnd -* \cgalParamNBegin{do_snap} +* \cgalParamNBegin{apply_iterative_snap_rounding} * \cgalParamDescription{Enable the rounding of the coordinates so that they fit in doubles.} * \cgalParamType{boolean} * \cgalParamDefault{false} * \cgalParamNEnd * \cgalParamNBegin{snap_grid_size} -* \cgalParamDescription{Scale the points to [-2^gs, 2^gs] where gs is the snap_grid_size before to round them on integer. Use only if do_snap is true.} +* \cgalParamDescription{Scale the points to [-2^gs, 2^gs] where gs is the snap_grid_size before to round them on integer. Use only if `apply_iterative_snap_rounding` is true.} * \cgalParamType{unsigned int} * \cgalParamDefault{23} * \cgalParamExtra{Must be lower than 52.} * \cgalParamNEnd * \cgalParamNBegin{numbers_of_iteration} -* \cgalParamDescription{Maximum number of iteration performed by the snap algorithm. Use only if do_snap is true.} +* \cgalParamDescription{Maximum number of iteration performed by the snap algorithm. Use only if `apply_iterative_snap_rounding` is true.} * \cgalParamType{unsigned int} * \cgalParamDefault{15} * \cgalParamNEnd @@ -1081,8 +1081,8 @@ bool autorefine_triangle_soup(PointRange& soup_points, > ::type Visitor; Visitor visitor(choose_parameter(get_parameter(np, internal_np::visitor))); - //TODO just modify do_snap instead of getting np one by one - const bool do_snap = choose_parameter(get_parameter(np, internal_np::do_snap), false); + //TODO just modify apply_iterative_snap_rounding instead of getting np one by one + const bool do_snap = choose_parameter(get_parameter(np, internal_np::apply_iterative_snap_rounding), false); const int grid_size = choose_parameter(get_parameter(np, internal_np::snap_grid_size), 23); const unsigned int nb_of_iteration = choose_parameter(get_parameter(np, internal_np::number_of_iterations), 15); const bool ead = choose_parameter(get_parameter(np, internal_np::erase_all_duplicates), false); diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/snap_polygon_soup.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/snap_polygon_soup.h index a744ff86ae4b..6080a367a1ee 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/snap_polygon_soup.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/snap_polygon_soup.h @@ -70,9 +70,9 @@ double ceil(NT x){ }; /** -* * -* Rounds the coordinates of the points so that they fit in doubles while making and keeping the model intersection free by potentially subdividing the triangles. +* +* Rounds the coordinates of the points so that they fit in doubles while making and keeping the model intersection free by potentially subdividing the triangles. * The input can be any triangle soup and the output is an intersection-free triangle soup with Hausdorff distance * between the input and the output bounded by M*2^-gs*k where M is the maximum absolute coordinate in the model, gs the snap_grid_size (see below) and k the number of iteration * performed by the algorithm. @@ -118,7 +118,7 @@ double ceil(NT x){ * \cgalParamNEnd * \cgalNamedParamsEnd * -* \return `true` if the modified triangle soup is free from self-intersection, and `false` if the algorithm was not +* \return `true` if the modified triangle soup is free from self-intersection, and `false` if the algorithm was not * able to provide such a triangle soup within the number of iterations. */ template diff --git a/STL_Extension/include/CGAL/STL_Extension/internal/parameters_interface.h b/STL_Extension/include/CGAL/STL_Extension/internal/parameters_interface.h index 211a749b103a..de0b8774b996 100644 --- a/STL_Extension/include/CGAL/STL_Extension/internal/parameters_interface.h +++ b/STL_Extension/include/CGAL/STL_Extension/internal/parameters_interface.h @@ -220,7 +220,7 @@ CGAL_add_named_parameter(scan_angle_t, scan_angle_map, scan_angle_map) CGAL_add_named_parameter(scanline_id_t, scanline_id_map, scanline_id_map) CGAL_add_named_parameter(min_points_per_cell_t, min_points_per_cell, min_points_per_cell) CGAL_add_named_parameter(scalar_t, scalar_map, scalar_map) -CGAL_add_named_parameter(do_snap_t, do_snap, do_snap) +CGAL_add_named_parameter(apply_iterative_snap_rounding_t, apply_iterative_snap_rounding, apply_iterative_snap_rounding) CGAL_add_named_parameter(snap_grid_size_t, snap_grid_size, snap_grid_size) // List of named parameters used in Surface_mesh_approximation package From 139e047595ae318c54fd60cceb0df2eee663edec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Mon, 17 Feb 2025 18:14:42 +0100 Subject: [PATCH 13/79] remove trailing whitespace --- .../examples/Polygon_mesh_processing/snap_polygon_soup.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp b/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp index 8a3cde8036b5..53f2a05443d3 100644 --- a/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp @@ -44,7 +44,7 @@ int main(int argc, char** argv) PMP::autorefine_triangle_soup(input_points, input_triangles, CGAL::parameters::apply_iterative_snap_rounding(true).erase_all_duplicates(true).concurrency_tag(CGAL::Parallel_if_available_tag()).snap_grid_size(grid_size)); t.stop(); std::cout << "#points = " << input_points.size() << " and #triangles = " << input_triangles.size() << " in " << t.time() << " sec." << std::endl; - + std::vector output_points; std::cout << "Does self-intersect: " << PMP::does_triangle_soup_self_intersect(input_points, input_triangles) << std::endl; for(auto &p: input_points) From 09239da1790badaa27eb9ebe39dee9f3ed834052 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Wed, 19 Feb 2025 11:36:20 +0100 Subject: [PATCH 14/79] rename snap_polygon_soup to triangle_soup_snap_rounding and fix bug in snap_polygon_soup.cpp --- .../snap_polygon_soup.cpp | 2 +- .../Polygon_mesh_processing/autorefinement.h | 12 +++++------ ...n_soup.h => triangle_soup_snap_rounding.h} | 21 ++++++------------- 3 files changed, 13 insertions(+), 22 deletions(-) rename Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/{snap_polygon_soup.h => triangle_soup_snap_rounding.h} (93%) diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp b/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp index 53f2a05443d3..d0265ee9fab1 100644 --- a/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp @@ -26,7 +26,7 @@ int main(int argc, char** argv) const std::string filename = argc == 1 ? CGAL::data_file_path("meshes/elephant.off") : std::string(argv[1]); - const int grid_size = argc == 2 ? 23 + const int grid_size = argc <= 2 ? 23 : std::stoi(std::string(argv[2])); std::vector input_points; diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h index e770806feea0..c9aa67b93d74 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h @@ -977,9 +977,9 @@ void generate_subtriangles(std::size_t ti, namespace internal{ // Forward declaration template -bool snap_polygon_soup(PointRange &points, - PolygonRange &triangles, - const NamedParameters& np = parameters::default_values()); +bool polygon_soup_snap_rounding(PointRange &points, + PolygonRange &triangles, + const NamedParameters& np = parameters::default_values()); } @@ -1044,7 +1044,7 @@ bool snap_polygon_soup(PointRange &points, * \cgalParamDefault{23} * \cgalParamExtra{Must be lower than 52.} * \cgalParamNEnd -* \cgalParamNBegin{numbers_of_iteration} +* \cgalParamNBegin{number_of_iterations} * \cgalParamDescription{Maximum number of iteration performed by the snap algorithm. Use only if `apply_iterative_snap_rounding` is true.} * \cgalParamType{unsigned int} * \cgalParamDefault{15} @@ -1090,7 +1090,7 @@ bool autorefine_triangle_soup(PointRange& soup_points, if(do_snap) { CGAL_PMP_AUTOREFINE_VERBOSE("Snap polygon soup"); - return internal::snap_polygon_soup(soup_points, soup_triangles, parameters::point_map(pm).visitor(visitor).snap_grid_size(grid_size).number_of_iterations(nb_of_iteration).erase_all_duplicates(ead).concurrency_tag(Concurrency_tag())); + return internal::polygon_soup_snap_rounding(soup_points, soup_triangles, parameters::point_map(pm).visitor(visitor).snap_grid_size(grid_size).number_of_iterations(nb_of_iteration).erase_all_duplicates(ead).concurrency_tag(Concurrency_tag())); } constexpr bool parallel_execution = std::is_same_v; @@ -1760,6 +1760,6 @@ autorefine( TriangleMesh& tm, #endif #endif -#include +#include #endif // CGAL_POLYGON_MESH_PROCESSING_AUTOREFINEMENT_H diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/snap_polygon_soup.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h similarity index 93% rename from Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/snap_polygon_soup.h rename to Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h index 6080a367a1ee..62a67de05017 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/snap_polygon_soup.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h @@ -9,8 +9,8 @@ // // Author(s) : Léo Valque, Sylvain Lazard -#ifndef CGAL_POLYGON_MESH_PROCESSING_SNAP_POLYGON_SOUP_H -#define CGAL_POLYGON_MESH_PROCESSING_SNAP_POLYGON_SOUP_H +#ifndef CGAL_POLYGON_MESH_PROCESSING_POLYGON_SOUP_SNAP_ROUNDING_H +#define CGAL_POLYGON_MESH_PROCESSING_POLYGON_SOUP_SNAP_ROUNDING_H #include #include @@ -70,7 +70,7 @@ double ceil(NT x){ }; /** -* +* DEPRECATED SINCE INTERNAL * * Rounds the coordinates of the points so that they fit in doubles while making and keeping the model intersection free by potentially subdividing the triangles. * The input can be any triangle soup and the output is an intersection-free triangle soup with Hausdorff distance @@ -111,7 +111,7 @@ double ceil(NT x){ * \cgalParamDefault{23} * \cgalParamExtra{Must be lower than 52.} * \cgalParamNEnd -* \cgalParamNBegin{numbers_of_iteration} +* \cgalParamNBegin{number_of_iterations} * \cgalParamDescription{Maximum number of iteration performed by the algorithm.} * \cgalParamType{unsigned int} * \cgalParamDefault{15} @@ -122,21 +122,13 @@ double ceil(NT x){ * able to provide such a triangle soup within the number of iterations. */ template -bool snap_polygon_soup(PointRange &points, +bool polygon_soup_snap_rounding(PointRange &points, PolygonRange &triangles, const NamedParameters& np) -// template -// bool snap_polygon_soup(PointRange &points, - // PolygonRange &triangles, - // const NamedParameters& np = parameters::default_values()) { using parameters::choose_parameter; using parameters::get_parameter; - using GT=typename GetPolygonSoupGeomTraits::type; - using Point_map=typename GetPointMap::const_type; - Point_map pm = choose_parameter(get_parameter(np, internal_np::point_map)); - typedef typename internal_np::Lookup_named_param_def < internal_np::concurrency_tag_t, NamedParameters, @@ -144,7 +136,6 @@ bool snap_polygon_soup(PointRange &points, > ::type Concurrency_tag; constexpr bool parallel_execution = std::is_same_v; - // constexpr bool parallel_execution = false; #ifndef CGAL_LINKED_WITH_TBB static_assert (!parallel_execution, @@ -359,4 +350,4 @@ bool snap_polygon_soup(PointRange &points, } } } //end of CGAL::Polygon_mesh_processing::internal namespace -#endif //CGAL_POLYGON_MESH_PROCESSING_SNAP_POLYGON_SOUP_H +#endif //CGAL_POLYGON_MESH_PROCESSING_POLYGON_SOUP_SNAP_ROUNDING_H From 0bbaa2a661d0d8207ff971bdefa7631cff4cdead Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Wed, 19 Feb 2025 17:33:57 +0100 Subject: [PATCH 15/79] replace #ifdef CGAL_LINED_WITH_TBB by constexpr --- .../internal/triangle_soup_snap_rounding.h | 62 +++++++++---------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h index 62a67de05017..bdcd35296e09 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h @@ -135,6 +135,7 @@ bool polygon_soup_snap_rounding(PointRange &points, Sequential_tag > ::type Concurrency_tag; + constexpr bool parallel_execution = std::is_same_v; #ifndef CGAL_LINKED_WITH_TBB @@ -202,19 +203,18 @@ bool polygon_soup_snap_rounding(PointRange &points, std::cout << "Round all coordinates on doubles" << std::endl; #endif -#ifdef CGAL_LINKED_WITH_TBB - if(parallel_execution) - { - tbb::parallel_for(tbb::blocked_range(0, points.size()), - [&](const tbb::blocked_range& r){ - for(size_t pi = r.begin(); pi != r.end(); ++pi) - points[pi] = Point_3(to_double(points[pi].x()), to_double(points[pi].y()), to_double(points[pi].z())); - } - ); - } else -#endif - for (Point_3 &p : points) - p = Point_3(to_double(p.x()), to_double(p.y()), to_double(p.z())); + if constexpr(parallel_execution) + { + tbb::parallel_for(tbb::blocked_range(0, points.size()), + [&](const tbb::blocked_range& r){ + for(size_t pi = r.begin(); pi != r.end(); ++pi) + points[pi] = Point_3(to_double(points[pi].x()), to_double(points[pi].y()), to_double(points[pi].z())); + } + ); + } else { + for (Point_3 &p : points) + p = Point_3(to_double(p.x()), to_double(p.y()), to_double(p.z())); + } repair_polygon_soup(points, triangles, np); // Get all intersecting triangles @@ -265,25 +265,25 @@ bool polygon_soup_snap_rounding(PointRange &points, snap_points.erase(std::unique(snap_points.begin(), snap_points.end()), snap_points.end()); // If the snapped version of a point correspond to one of the previous point, we snap it -#ifdef CGAL_LINKED_WITH_TBB - if(parallel_execution) - { - tbb::parallel_for(tbb::blocked_range(0, points.size()), - [&](const tbb::blocked_range& r){ - for(size_t pi = r.begin(); pi != r.end(); ++pi){ - Point_3 p_snap=snap_p(points[pi]); - if (std::binary_search(snap_points.begin(), snap_points.end(), p_snap)) - points[pi] = p_snap; - } - } - ); - } else -#endif - for (Point_3 &p : points) + + if constexpr(parallel_execution) { - Point_3 p_snap = snap_p(p); - if (std::binary_search(snap_points.begin(), snap_points.end(), p_snap)) - p = p_snap; + tbb::parallel_for(tbb::blocked_range(0, points.size()), + [&](const tbb::blocked_range& r){ + for(size_t pi = r.begin(); pi != r.end(); ++pi){ + Point_3 p_snap=snap_p(points[pi]); + if (std::binary_search(snap_points.begin(), snap_points.end(), p_snap)) + points[pi] = p_snap; + } + } + ); + } else { + for (Point_3 &p : points) + { + Point_3 p_snap = snap_p(p); + if (std::binary_search(snap_points.begin(), snap_points.end(), p_snap)) + p = p_snap; + } } #else From 20e54eb8fda06720759df6faeb9062fd67726463 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Thu, 20 Feb 2025 09:14:01 +0100 Subject: [PATCH 16/79] reintroduced #ifdef CGAL_LINKED_WITH_TBB --- .../internal/triangle_soup_snap_rounding.h | 27 ++++++++++--------- 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h index bdcd35296e09..5aa68a4df5a9 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h @@ -203,6 +203,7 @@ bool polygon_soup_snap_rounding(PointRange &points, std::cout << "Round all coordinates on doubles" << std::endl; #endif +#ifdef CGAL_LINKED_WITH_TBB if constexpr(parallel_execution) { tbb::parallel_for(tbb::blocked_range(0, points.size()), @@ -211,10 +212,11 @@ bool polygon_soup_snap_rounding(PointRange &points, points[pi] = Point_3(to_double(points[pi].x()), to_double(points[pi].y()), to_double(points[pi].z())); } ); - } else { - for (Point_3 &p : points) - p = Point_3(to_double(p.x()), to_double(p.y()), to_double(p.z())); - } + } else +#else + for (Point_3 &p : points) + p = Point_3(to_double(p.x()), to_double(p.y()), to_double(p.z())); +#endif repair_polygon_soup(points, triangles, np); // Get all intersecting triangles @@ -265,7 +267,7 @@ bool polygon_soup_snap_rounding(PointRange &points, snap_points.erase(std::unique(snap_points.begin(), snap_points.end()), snap_points.end()); // If the snapped version of a point correspond to one of the previous point, we snap it - +#ifdef CGAL_LINKED_WITH_TBB if constexpr(parallel_execution) { tbb::parallel_for(tbb::blocked_range(0, points.size()), @@ -277,14 +279,15 @@ bool polygon_soup_snap_rounding(PointRange &points, } } ); - } else { - for (Point_3 &p : points) - { - Point_3 p_snap = snap_p(p); - if (std::binary_search(snap_points.begin(), snap_points.end(), p_snap)) - p = p_snap; - } + } else +#else + for (Point_3 &p : points) + { + Point_3 p_snap = snap_p(p); + if (std::binary_search(snap_points.begin(), snap_points.end(), p_snap)) + p = p_snap; } +#endif #else // Version where points in a voxel are rounded to their barycenter. From 5d3ec39dd1a9ed9fa314250465736309728dce63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Mon, 24 Feb 2025 15:25:22 +0100 Subject: [PATCH 17/79] Add more soup information in snap_polygon_soup.cpp --- .../snap_polygon_soup.cpp | 92 ++++++++++++++----- 1 file changed, 69 insertions(+), 23 deletions(-) diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp b/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp index d0265ee9fab1..e23fcdbaa9f0 100644 --- a/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp @@ -1,12 +1,13 @@ -#define PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE +// #define PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE // #define CGAL_PMP_AUTOREFINE_USE_DEFAULT_VERBOSE -#include +#include #include #include #include #include #include +#include #include #include #include @@ -15,9 +16,9 @@ #include -typedef CGAL::Exact_predicates_inexact_constructions_kernel Kernel; -typedef CGAL::Cartesian Cartesian; -typedef Kernel::Point_3 Point; +typedef CGAL::Exact_predicates_inexact_constructions_kernel EPICK; +typedef CGAL::Exact_predicates_exact_constructions_kernel EPECK; +typedef CGAL::Simple_cartesian Cartesian; namespace PMP = CGAL::Polygon_mesh_processing; @@ -26,31 +27,76 @@ int main(int argc, char** argv) const std::string filename = argc == 1 ? CGAL::data_file_path("meshes/elephant.off") : std::string(argv[1]); + // const std::string out_file = argc <= 2 ? "rounded_soup.off" + // : std::string(argv[2]); + const std::string out_file = "rounded_soup.off"; + const int grid_size = argc <= 2 ? 23 : std::stoi(std::string(argv[2])); - std::vector input_points; - std::vector> input_triangles; - if (!CGAL::IO::read_polygon_soup(filename, input_points, input_triangles)) + const bool epeck = argc <= 3 ? false + : std::string(argv[3])=="EPECK"; + + if(epeck) { - std::cerr << "Cannot read " << filename << "\n"; - return 1; - } - PMP::repair_polygon_soup(input_points, input_triangles); - PMP::triangulate_polygons(input_points, input_triangles); + std::vector input_points; + std::vector> input_triangles; + + std::cout << "Snap rounding apply on " << filename << " with EPECK\n"; + if (!CGAL::IO::read_polygon_soup(filename, input_points, input_triangles)) + { + std::cerr << "Cannot read " << filename << "\n"; + return 1; + } + std::cout << "#points = " << input_points.size() << " and #triangles = " << input_triangles.size() << std::endl; + std::cout << "Is 2-manifold: " << PMP::is_polygon_soup_a_polygon_mesh(input_triangles) << std::endl; + + PMP::repair_polygon_soup(input_points, input_triangles); + PMP::triangulate_polygons(input_points, input_triangles); - CGAL::Real_timer t; - t.start(); - PMP::autorefine_triangle_soup(input_points, input_triangles, CGAL::parameters::apply_iterative_snap_rounding(true).erase_all_duplicates(true).concurrency_tag(CGAL::Parallel_if_available_tag()).snap_grid_size(grid_size)); - t.stop(); - std::cout << "#points = " << input_points.size() << " and #triangles = " << input_triangles.size() << " in " << t.time() << " sec." << std::endl; + CGAL::Real_timer t; + t.start(); + PMP::autorefine_triangle_soup(input_points, input_triangles, CGAL::parameters::apply_iterative_snap_rounding(true).erase_all_duplicates(true).concurrency_tag(CGAL::Parallel_if_available_tag()).snap_grid_size(grid_size)); + t.stop(); + std::cout << "#points = " << input_points.size() << " and #triangles = " << input_triangles.size() << " in " << t.time() << " sec." << std::endl; + std::cout << "Does self-intersect: " << PMP::does_triangle_soup_self_intersect(input_points, input_triangles) << std::endl; + std::cout << "Is 2-manifold: " << PMP::orient_polygon_soup(input_points, input_triangles) << "\n\n" << std::endl; - std::vector output_points; - std::cout << "Does self-intersect: " << PMP::does_triangle_soup_self_intersect(input_points, input_triangles) << std::endl; - for(auto &p: input_points) - output_points.emplace_back(CGAL::to_double(p.x()),CGAL::to_double(p.y()),CGAL::to_double(p.z())); + std::vector output_points; + for(auto &p: input_points) + output_points.emplace_back(CGAL::to_double(p.x()),CGAL::to_double(p.y()),CGAL::to_double(p.z())); - CGAL::IO::write_polygon_soup("rounded_soup.off", output_points, input_triangles, CGAL::parameters::stream_precision(17)); + CGAL::IO::write_polygon_soup(out_file, output_points, input_triangles, CGAL::parameters::stream_precision(17)); + } + else + { + std::vector input_points; + std::vector> input_triangles; + std::cout << "Snap rounding on " << filename << " with EPICK\n"; + if (!CGAL::IO::read_polygon_soup(filename, input_points, input_triangles)) + { + std::cerr << "Cannot read " << filename << "\n"; + return 1; + } + std::cout << "#points = " << input_points.size() << " and #triangles = " << input_triangles.size() << std::endl; + std::cout << "Is 2-manifold: " << PMP::is_polygon_soup_a_polygon_mesh(input_triangles) << std::endl; + + std::vector> pairs_of_intersecting_triangles; + PMP::triangle_soup_self_intersections(input_points, input_triangles, std::back_inserter(pairs_of_intersecting_triangles)); + std::cout << "Nb of pairs of intersecting triangles: " << pairs_of_intersecting_triangles.size() << std::endl; + PMP::repair_polygon_soup(input_points, input_triangles); + PMP::triangulate_polygons(input_points, input_triangles); + + CGAL::Real_timer t; + t.start(); + PMP::autorefine_triangle_soup(input_points, input_triangles, CGAL::parameters::apply_iterative_snap_rounding(true).erase_all_duplicates(true).concurrency_tag(CGAL::Parallel_if_available_tag()).snap_grid_size(grid_size)); + t.stop(); + std::cout << "\nOutput:" << std::endl; + std::cout << "#points = " << input_points.size() << " and #triangles = " << input_triangles.size() << " in " << t.time() << " sec." << std::endl; + std::cout << "Does self-intersect: " << PMP::does_triangle_soup_self_intersect(input_points, input_triangles) << std::endl; + std::cout << "Is 2-manifold: " << PMP::orient_polygon_soup(input_points, input_triangles) << "\n\n" << std::endl; + CGAL::IO::write_polygon_soup(out_file, input_points, input_triangles, CGAL::parameters::stream_precision(17)); + } return 0; } From 3b29156f29370eb5acc4ed3f164a6cbc71c43ba9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Tue, 25 Feb 2025 09:41:09 +0100 Subject: [PATCH 18/79] Bug solved: Shift before ceil was in the wrong direction --- .../internal/triangle_soup_snap_rounding.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h index 5aa68a4df5a9..e7a2d5c68212 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h @@ -183,7 +183,9 @@ bool polygon_soup_snap_rounding(PointRange &points, auto snap = [](typename Kernel::FT x, double scale) { // Scale the coordinate, round to nearest integer and scale back - return internal::ceil((x * scale) + 0.5) / scale; + // TODO replace this ceil by the one of Algebraic_fondation when it will be add to master + return internal::ceil((x * scale) - 0.5) / scale; + // return ceil((x * scale) - 0.5) / scale; }; auto snap_p = [scale, snap](const Point_3 &p) { From 04d5d745628d7e2792dd80ecb4d53f55578bf2c2 Mon Sep 17 00:00:00 2001 From: lvalque <131978677+LeoValque@users.noreply.github.com> Date: Fri, 28 Feb 2025 11:44:23 +0100 Subject: [PATCH 19/79] Clean doc autorefine Co-authored-by: Sebastien Loriot --- .../include/CGAL/Polygon_mesh_processing/autorefinement.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h index c9aa67b93d74..ea782f556f1d 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h @@ -994,9 +994,9 @@ bool polygon_soup_snap_rounding(PointRange &points, * `soup_triangles` will be updated to contain both the input triangles and the new subdivided triangles. Degenerate triangles will be removed. * Also triangles in `soup_triangles` will be triangles without intersection first, followed by triangles coming from a subdivision induced * by an intersection. The named parameter `visitor()` can be used to track -* If the `apply_iterative_snap_rounding` parameter is set to true, the coordinates of the vertices are rounded to fit within the precision of a double-precision floating point, -* while preserving the model free of intersections. Note that this option does not guarantee an intersection-free output; however, -* the returned boolean will be true if the output is free of self-intersections. The snap_grid_size parameter limits the drift of the snapped vertices. +* the creation of new triangles. +* If the `apply_iterative_snap_rounding()` parameter is set to true, the coordinates of the vertices are rounded to fit within the precision of a double-precision floating point, +* while trying to make the triangle soup free of intersections. The `snap_grid_size()` parameter limits the drift of the snapped vertices. * A smaller value is more likely to output an intersection free output and perform more vertex collapses, but it may increase the Hausdorff distance from the input. * * @tparam PointRange a model of the concept `RandomAccessContainer` From 174d48febc67513de9daaefd57cfc2205775d2e4 Mon Sep 17 00:00:00 2001 From: lvalque <131978677+LeoValque@users.noreply.github.com> Date: Fri, 28 Feb 2025 11:45:00 +0100 Subject: [PATCH 20/79] Clean doc autorefine return description Co-authored-by: Sebastien Loriot --- .../include/CGAL/Polygon_mesh_processing/autorefinement.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h index ea782f556f1d..cdd5542d8b2d 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h @@ -1051,8 +1051,7 @@ bool polygon_soup_snap_rounding(PointRange &points, * \cgalParamNEnd * \cgalNamedParamsEnd * -* \return `true` if the modified triangle soup is free from self-intersection, and `false` if the algorithm was not -* able to provide such a triangle soup within the number of iterations. +* \return `true` if the modified triangle soup is free from self-intersection, and `false` otherwise. The return value is only meaningful when the option `apply_snap_rounding()` is set to true. */ template bool autorefine_triangle_soup(PointRange& soup_points, From 0a478a4998653d5b4c86d69e4d15a16e8dd2d64a Mon Sep 17 00:00:00 2001 From: lvalque <131978677+LeoValque@users.noreply.github.com> Date: Fri, 28 Feb 2025 11:45:47 +0100 Subject: [PATCH 21/79] Clean doc autorefine snap_grid_size description Co-authored-by: Sebastien Loriot --- .../include/CGAL/Polygon_mesh_processing/autorefinement.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h index cdd5542d8b2d..73dc2983aefc 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h @@ -1039,7 +1039,7 @@ bool polygon_soup_snap_rounding(PointRange &points, * \cgalParamDefault{false} * \cgalParamNEnd * \cgalParamNBegin{snap_grid_size} -* \cgalParamDescription{Scale the points to [-2^gs, 2^gs] where gs is the snap_grid_size before to round them on integer. Use only if `apply_iterative_snap_rounding` is true.} +* \cgalParamDescription{A value `gs` used to scale the points to `[-2^gs, 2^gs]` before rounding them on integers. Used only if `apply_iterative_snap_rounding()` is set to `true`.} * \cgalParamType{unsigned int} * \cgalParamDefault{23} * \cgalParamExtra{Must be lower than 52.} From 6130b4aa91d0a285316c0bbabf50dad91a2c8730 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Mon, 3 Mar 2025 15:26:25 +0100 Subject: [PATCH 22/79] solved conflict --- .../Polygon_mesh_processing/autorefinement.h | 8 +++++--- .../internal/triangle_soup_snap_rounding.h | 17 ++++++++--------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h index 73dc2983aefc..458d23466e3c 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h @@ -1039,19 +1039,21 @@ bool polygon_soup_snap_rounding(PointRange &points, * \cgalParamDefault{false} * \cgalParamNEnd * \cgalParamNBegin{snap_grid_size} -* \cgalParamDescription{A value `gs` used to scale the points to `[-2^gs, 2^gs]` before rounding them on integers. Used only if `apply_iterative_snap_rounding()` is set to `true`.} +* \cgalParamDescription{A value `gs` used to scale the points to `[-2^gs, 2^gs]` before rounding them on integers. Used only if `apply_iterative_snap_rounding()` is set to `true`} * \cgalParamType{unsigned int} * \cgalParamDefault{23} * \cgalParamExtra{Must be lower than 52.} * \cgalParamNEnd * \cgalParamNBegin{number_of_iterations} -* \cgalParamDescription{Maximum number of iteration performed by the snap algorithm. Use only if `apply_iterative_snap_rounding` is true.} +* \cgalParamDescription{Maximum number of iterations performed by the snap algorithm. Used only if `apply_iterative_snap_rounding` is true.} * \cgalParamType{unsigned int} * \cgalParamDefault{15} * \cgalParamNEnd * \cgalNamedParamsEnd * -* \return `true` if the modified triangle soup is free from self-intersection, and `false` otherwise. The return value is only meaningful when the option `apply_snap_rounding()` is set to true. +* \return `true` if `apply_iterative_snap_rounding` is set to `false`; otherwise, return `true` if the modified triangle soup is free from +* self-intersection, and `false` if the algorithm was unable to provide such a triangle soup within the number of iterations. +* */ template bool autorefine_triangle_soup(PointRange& soup_points, diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h index e7a2d5c68212..c1fa810db6cb 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h @@ -22,7 +22,6 @@ #include #include -#include namespace CGAL { @@ -33,11 +32,11 @@ namespace Polygon_mesh_processing namespace internal { -template double ceil(Lazy_exact_nt< NT > x); -template double ceil(NT x); +template double double_ceil(Lazy_exact_nt< NT > x); +template double double_ceil(NT x); template -double ceil(Lazy_exact_nt< NT > x){ +double double_ceil(Lazy_exact_nt< NT > x){ // If both sides are in the same ceil, return this ceil double ceil_left=std::ceil(to_interval(x).first); if(ceil_left==std::ceil(to_interval(x).second)) @@ -48,11 +47,11 @@ double ceil(Lazy_exact_nt< NT > x){ if(ceil_left==std::ceil(to_interval(x).second)) return ceil_left; // If not return the ceil of the exact value - return ceil( x.exact()); + return double_ceil( x.exact()); }; template -double ceil(NT x){ +double double_ceil(NT x){ using FT = Fraction_traits; if constexpr(std::is_same::value){ // If NT is a fraction, the ceil value is the result of the euclidian division of the numerator and the denominator. @@ -60,8 +59,8 @@ double ceil(NT x){ typename FT::Denominator_type denom; typename FT::Decompose()(x,num,denom); div_mod(num, denom, r, e); - if((r<0) && e!=0) //If the result is negative, the ceil value is one below - return to_double(r-1); + if((r>=0) && e!=0) //If the result is positive, the ceil value is one above + return to_double(r+1); return to_double(r); } else { // Return the ceil of the approximation @@ -184,7 +183,7 @@ bool polygon_soup_snap_rounding(PointRange &points, { // Scale the coordinate, round to nearest integer and scale back // TODO replace this ceil by the one of Algebraic_fondation when it will be add to master - return internal::ceil((x * scale) - 0.5) / scale; + return internal::double_ceil((x * scale) - 0.5) / scale; // return ceil((x * scale) - 0.5) / scale; }; auto snap_p = [scale, snap](const Point_3 &p) From 30ece15022b08d2b4d872d6c68306b53638e2f9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Mon, 3 Mar 2025 15:33:36 +0100 Subject: [PATCH 23/79] missing word in the doc --- .../include/CGAL/Polygon_mesh_processing/autorefinement.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h index 458d23466e3c..a4752e8365c2 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h @@ -1045,7 +1045,7 @@ bool polygon_soup_snap_rounding(PointRange &points, * \cgalParamExtra{Must be lower than 52.} * \cgalParamNEnd * \cgalParamNBegin{number_of_iterations} -* \cgalParamDescription{Maximum number of iterations performed by the snap algorithm. Used only if `apply_iterative_snap_rounding` is true.} +* \cgalParamDescription{Maximum number of iterations performed by the snap rounding algorithm. Used only if `apply_iterative_snap_rounding` is true.} * \cgalParamType{unsigned int} * \cgalParamDefault{15} * \cgalParamNEnd From be1ada24de6551fea35633cb2df67a4e231b7129 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Mon, 3 Mar 2025 16:03:55 +0100 Subject: [PATCH 24/79] Reduce default number of iterations --- .../internal/triangle_soup_snap_rounding.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h index c1fa810db6cb..9c6bad3839c9 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h @@ -113,7 +113,7 @@ double double_ceil(NT x){ * \cgalParamNBegin{number_of_iterations} * \cgalParamDescription{Maximum number of iteration performed by the algorithm.} * \cgalParamType{unsigned int} -* \cgalParamDefault{15} +* \cgalParamDefault{5} * \cgalParamNEnd * \cgalNamedParamsEnd * @@ -147,7 +147,7 @@ bool polygon_soup_snap_rounding(PointRange &points, // Get the grid size from the named parameter, the grid size could not be greater than 52 const unsigned int grid_size = (std::min)(52,choose_parameter(get_parameter(np, internal_np::snap_grid_size), 23)); - const unsigned int max_nb_of_iteration = choose_parameter(get_parameter(np, internal_np::number_of_iterations), 15); + const unsigned int max_nb_of_iteration = choose_parameter(get_parameter(np, internal_np::number_of_iterations), 5); #ifdef PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE std::cout << "Compute the scaling of the coordinates" << std::endl; From 14678428cad8cd48a21a816fcf7230387f04a6bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Thu, 13 Mar 2025 18:57:12 +0100 Subject: [PATCH 25/79] Modify soup_triangles_snap_rounding to support a visitor --- .../Concepts/PMPAutorefinementVisitor.h | 3 + .../snap_polygon_soup.cpp | 22 +- .../Polygon_mesh_processing/autorefinement.h | 201 ++++++++++-------- .../internal/triangle_soup_snap_rounding.h | 155 +++++++++++++- 4 files changed, 280 insertions(+), 101 deletions(-) diff --git a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Concepts/PMPAutorefinementVisitor.h b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Concepts/PMPAutorefinementVisitor.h index ef2f124329b5..c7494db48791 100644 --- a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Concepts/PMPAutorefinementVisitor.h +++ b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Concepts/PMPAutorefinementVisitor.h @@ -23,5 +23,8 @@ class PMPAutorefinementVisitor{ /// called for each subtriangle created from a triangle with intersection, `tgt_id` is the position in the triangle container after calling /// `autorefine_triangle_soup()` of the subtriangle, while `src_id` was the position of the original support triangle before calling the function. void new_subtriangle(std::size_t tgt_id, std::size_t src_id); + /// called for each triangle delete because it was or became degenerated, `src_id` was its position before calling `autorefine_triangle_soup()`. + /// A triangle may degenerate inside `autorefine_triangle_soup()` if and only if `apply_iterative_snap_rounding` is set to `true`. + void delete_triangle(std::size_t src_id); /// @} }; diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp b/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp index e23fcdbaa9f0..f03bb5a23883 100644 --- a/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp @@ -22,6 +22,21 @@ typedef CGAL::Simple_cartesian Cartesian; namespace PMP = CGAL::Polygon_mesh_processing; +struct Track_visitor +{ + // inline void number_of_output_triangles(std::size_t nbt) { std::cout << "total number of triangles: " << nbt << std::endl;} + inline void number_of_output_triangles(std::size_t /*nbt*/) {} + + // inline void verbatim_triangle_copy(std::size_t tgt_id, std::size_t src_id) { std::cout << src_id << " goes to " << tgt_id << std::endl;} + inline void verbatim_triangle_copy(std::size_t /*tgt_id*/, std::size_t /*src_id*/) {} + + // inline void new_subtriangle(std::size_t tgt_id, std::size_t src_id) { std::cout << src_id << " subdivides to " << tgt_id << std::endl;} + inline void new_subtriangle(std::size_t /*tgt_id*/, std::size_t /*src_id*/) {} + + // inline void delete_triangle(std::size_t src_id) { std::cout << src_id << " deleted" << std::endl;} + inline void delete_triangle(std::size_t /*src_id*/) {} +}; + int main(int argc, char** argv) { const std::string filename = argc == 1 ? CGAL::data_file_path("meshes/elephant.off") @@ -90,13 +105,18 @@ int main(int argc, char** argv) CGAL::Real_timer t; t.start(); +#if 0 + Track_visitor visitor; + PMP::autorefine_triangle_soup(input_points, input_triangles, CGAL::parameters::apply_iterative_snap_rounding(true).erase_all_duplicates(true).concurrency_tag(CGAL::Parallel_if_available_tag()).snap_grid_size(grid_size).visitor(visitor)); +#else PMP::autorefine_triangle_soup(input_points, input_triangles, CGAL::parameters::apply_iterative_snap_rounding(true).erase_all_duplicates(true).concurrency_tag(CGAL::Parallel_if_available_tag()).snap_grid_size(grid_size)); +#endif t.stop(); std::cout << "\nOutput:" << std::endl; std::cout << "#points = " << input_points.size() << " and #triangles = " << input_triangles.size() << " in " << t.time() << " sec." << std::endl; std::cout << "Does self-intersect: " << PMP::does_triangle_soup_self_intersect(input_points, input_triangles) << std::endl; - std::cout << "Is 2-manifold: " << PMP::orient_polygon_soup(input_points, input_triangles) << "\n\n" << std::endl; CGAL::IO::write_polygon_soup(out_file, input_points, input_triangles, CGAL::parameters::stream_precision(17)); + std::cout << "Is 2-manifold: " << PMP::orient_polygon_soup(input_points, input_triangles) << "\n\n" << std::endl; } return 0; } diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h index a4752e8365c2..fe221f554ec5 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h @@ -89,6 +89,7 @@ struct Default_visitor inline void number_of_output_triangles(std::size_t /*nbt*/) {} inline void verbatim_triangle_copy(std::size_t /*tgt_id*/, std::size_t /*src_id*/) {} inline void new_subtriangle(std::size_t /*tgt_id*/, std::size_t /*src_id*/) {} + inline void delete_triangle(std::size_t /*src_id*/) {} }; } // end of Autorefinement visitor @@ -980,86 +981,14 @@ template +class Indexes_range; -/** -* \ingroup PMP_corefinement_grp -* -* refines a soup of triangles so that no pair of triangles intersects. -* Output triangles may share a common edge or a common vertex (but with the same indexed position in `points`). -* Note that points in `soup_points` can only be added (intersection points) at the end of the container, with the initial order preserved. -* Note that if `soup_points` contains two or more identical points then only the first copy (following the order in the `soup_points`) -* will be used in `soup_triangles`. -* `soup_triangles` will be updated to contain both the input triangles and the new subdivided triangles. Degenerate triangles will be removed. -* Also triangles in `soup_triangles` will be triangles without intersection first, followed by triangles coming from a subdivision induced -* by an intersection. The named parameter `visitor()` can be used to track -* the creation of new triangles. -* If the `apply_iterative_snap_rounding()` parameter is set to true, the coordinates of the vertices are rounded to fit within the precision of a double-precision floating point, -* while trying to make the triangle soup free of intersections. The `snap_grid_size()` parameter limits the drift of the snapped vertices. -* A smaller value is more likely to output an intersection free output and perform more vertex collapses, but it may increase the Hausdorff distance from the input. -* -* @tparam PointRange a model of the concept `RandomAccessContainer` -* whose value type is the point type -* @tparam TriangleRange a model of the concepts `RandomAccessContainer`, `BackInsertionSequence` and `Swappable`, whose -* value type is a model of the concept `RandomAccessContainer` whose value type is convertible to `std::size_t` and that -* is constructible from an `std::initializer_list` of size 3. -* @tparam NamedParameters a sequence of \ref bgl_namedparameters "Named Parameters" -* -* @param soup_points points of the soup of polygons -* @param soup_triangles each element in the range describes a triangle using the indexed position of the points in `soup_points` -* @param np an optional sequence of \ref bgl_namedparameters "Named Parameters" among the ones listed below -* -* \cgalNamedParamsBegin -* \cgalParamNBegin{concurrency_tag} -* \cgalParamDescription{a tag indicating if the task should be done using one or several threads.} -* \cgalParamType{Either `CGAL::Sequential_tag`, or `CGAL::Parallel_tag`, or `CGAL::Parallel_if_available_tag`} -* \cgalParamDefault{`CGAL::Sequential_tag`} -* \cgalParamNEnd -* \cgalParamNBegin{point_map} -* \cgalParamDescription{a property map associating points to the elements of the range `soup_points`} -* \cgalParamType{a model of `ReadWritePropertyMap` whose value type is a point type} -* \cgalParamDefault{`CGAL::Identity_property_map`} -* \cgalParamNEnd -* \cgalParamNBegin{geom_traits} -* \cgalParamDescription{an instance of a geometric traits class} -* \cgalParamType{a class model of `Kernel`} -* \cgalParamDefault{a \cgal Kernel deduced from the point type, using `CGAL::Kernel_traits`} -* \cgalParamExtra{The geometric traits class must be compatible with the point type.} -* \cgalParamNEnd -* \cgalParamNBegin{visitor} -* \cgalParamDescription{a visitor used to track the creation of new faces} -* \cgalParamType{a class model of `PMPAutorefinementVisitor`} -* \cgalParamDefault{`Autorefinement::Default_visitor`} -* \cgalParamExtra{The visitor will be copied.} -* \cgalParamNEnd -* \cgalParamNBegin{apply_iterative_snap_rounding} -* \cgalParamDescription{Enable the rounding of the coordinates so that they fit in doubles.} -* \cgalParamType{boolean} -* \cgalParamDefault{false} -* \cgalParamNEnd -* \cgalParamNBegin{snap_grid_size} -* \cgalParamDescription{A value `gs` used to scale the points to `[-2^gs, 2^gs]` before rounding them on integers. Used only if `apply_iterative_snap_rounding()` is set to `true`} -* \cgalParamType{unsigned int} -* \cgalParamDefault{23} -* \cgalParamExtra{Must be lower than 52.} -* \cgalParamNEnd -* \cgalParamNBegin{number_of_iterations} -* \cgalParamDescription{Maximum number of iterations performed by the snap rounding algorithm. Used only if `apply_iterative_snap_rounding` is true.} -* \cgalParamType{unsigned int} -* \cgalParamDefault{15} -* \cgalParamNEnd -* \cgalNamedParamsEnd -* -* \return `true` if `apply_iterative_snap_rounding` is set to `false`; otherwise, return `true` if the modified triangle soup is free from -* self-intersection, and `false` if the algorithm was unable to provide such a triangle soup within the number of iterations. -* -*/ template -bool autorefine_triangle_soup(PointRange& soup_points, - TriangleRange& soup_triangles, - const NamedParameters& np = parameters::default_values()) - +bool autorefine_triangle_soup_(PointRange& soup_points, + TriangleRange& soup_triangles, + const NamedParameters& np = parameters::default_values()) { using parameters::choose_parameter; using parameters::get_parameter; @@ -1082,18 +1011,6 @@ bool autorefine_triangle_soup(PointRange& soup_points, > ::type Visitor; Visitor visitor(choose_parameter(get_parameter(np, internal_np::visitor))); - //TODO just modify apply_iterative_snap_rounding instead of getting np one by one - const bool do_snap = choose_parameter(get_parameter(np, internal_np::apply_iterative_snap_rounding), false); - const int grid_size = choose_parameter(get_parameter(np, internal_np::snap_grid_size), 23); - const unsigned int nb_of_iteration = choose_parameter(get_parameter(np, internal_np::number_of_iterations), 15); - const bool ead = choose_parameter(get_parameter(np, internal_np::erase_all_duplicates), false); - - if(do_snap) - { - CGAL_PMP_AUTOREFINE_VERBOSE("Snap polygon soup"); - return internal::polygon_soup_snap_rounding(soup_points, soup_triangles, parameters::point_map(pm).visitor(visitor).snap_grid_size(grid_size).number_of_iterations(nb_of_iteration).erase_all_duplicates(ead).concurrency_tag(Concurrency_tag())); - } - constexpr bool parallel_execution = std::is_same_v; #ifndef CGAL_LINKED_WITH_TBB @@ -1498,15 +1415,18 @@ bool autorefine_triangle_soup(PointRange& soup_points, std::vector tri_inter_ids_inverse(triangles.size()); for (Input_TID f=0; f) + visitor.delete_triangle(f); + continue; //skip degenerate faces + } int tiid = tri_inter_ids[f]; if (tiid == -1) { visitor.verbatim_triangle_copy(soup_triangles_out.size(), f); - soup_triangles_out.push_back( - {soup_triangles[f][0], soup_triangles[f][1], soup_triangles[f][2]} - ); + soup_triangles_out.push_back(soup_triangles[f]); } else { @@ -1688,6 +1608,101 @@ bool autorefine_triangle_soup(PointRange& soup_points, return true; } +} // end of internal + +/** +* \ingroup PMP_corefinement_grp +* +* refines a soup of triangles so that no pair of triangles intersects. +* Output triangles may share a common edge or a common vertex (but with the same indexed position in `points`). +* Note that points in `soup_points` can only be added (intersection points) at the end of the container, with the initial order preserved. +* Note that if `soup_points` contains two or more identical points then only the first copy (following the order in the `soup_points`) +* will be used in `soup_triangles`. +* `soup_triangles` will be updated to contain both the input triangles and the new subdivided triangles. Degenerate triangles will be removed. +* Also triangles in `soup_triangles` will be triangles without intersection first, followed by triangles coming from a subdivision induced +* by an intersection. The named parameter `visitor()` can be used to track +* the creation of new triangles. +* If the `apply_iterative_snap_rounding()` parameter is set to true, the coordinates of the vertices are rounded to fit within the precision of a double-precision floating point, +* while trying to make the triangle soup free of intersections. The `snap_grid_size()` parameter limits the drift of the snapped vertices. +* A smaller value is more likely to output an intersection free output and perform more vertex collapses, but it may increase the Hausdorff distance from the input. +* +* @tparam PointRange a model of the concept `RandomAccessContainer` +* whose value type is the point type +* @tparam TriangleRange a model of the concepts `RandomAccessContainer`, `BackInsertionSequence` and `Swappable`, whose +* value type is a model of the concept `RandomAccessContainer` whose value type is convertible to `std::size_t` and that +* is constructible from an `std::initializer_list` of size 3. +* @tparam NamedParameters a sequence of \ref bgl_namedparameters "Named Parameters" +* +* @param soup_points points of the soup of polygons +* @param soup_triangles each element in the range describes a triangle using the indexed position of the points in `soup_points` +* @param np an optional sequence of \ref bgl_namedparameters "Named Parameters" among the ones listed below +* +* \cgalNamedParamsBegin +* \cgalParamNBegin{concurrency_tag} +* \cgalParamDescription{a tag indicating if the task should be done using one or several threads.} +* \cgalParamType{Either `CGAL::Sequential_tag`, or `CGAL::Parallel_tag`, or `CGAL::Parallel_if_available_tag`} +* \cgalParamDefault{`CGAL::Sequential_tag`} +* \cgalParamNEnd +* \cgalParamNBegin{point_map} +* \cgalParamDescription{a property map associating points to the elements of the range `soup_points`} +* \cgalParamType{a model of `ReadWritePropertyMap` whose value type is a point type} +* \cgalParamDefault{`CGAL::Identity_property_map`} +* \cgalParamNEnd +* \cgalParamNBegin{geom_traits} +* \cgalParamDescription{an instance of a geometric traits class} +* \cgalParamType{a class model of `Kernel`} +* \cgalParamDefault{a \cgal Kernel deduced from the point type, using `CGAL::Kernel_traits`} +* \cgalParamExtra{The geometric traits class must be compatible with the point type.} +* \cgalParamNEnd +* \cgalParamNBegin{visitor} +* \cgalParamDescription{a visitor used to track the creation of new faces} +* \cgalParamType{a class model of `PMPAutorefinementVisitor`} +* \cgalParamDefault{`Autorefinement::Default_visitor`} +* \cgalParamExtra{The visitor will be copied.} +* \cgalParamNEnd +* \cgalParamNBegin{apply_iterative_snap_rounding} +* \cgalParamDescription{Enable the rounding of the coordinates so that they fit in doubles.} +* \cgalParamType{boolean} +* \cgalParamDefault{false} +* \cgalParamNEnd +* \cgalParamNBegin{snap_grid_size} +* \cgalParamDescription{A value `gs` used to scale the points to `[-2^gs, 2^gs]` before rounding them on integers. Used only if `apply_iterative_snap_rounding()` is set to `true`} +* \cgalParamType{unsigned int} +* \cgalParamDefault{23} +* \cgalParamExtra{Must be lower than 52.} +* \cgalParamNEnd +* \cgalParamNBegin{number_of_iterations} +* \cgalParamDescription{Maximum number of iterations performed by the snap rounding algorithm. Used only if `apply_iterative_snap_rounding` is true.} +* \cgalParamType{unsigned int} +* \cgalParamDefault{15} +* \cgalParamNEnd +* \cgalNamedParamsEnd +* +* \return `true` if `apply_iterative_snap_rounding` is set to `false`; otherwise, return `true` if the modified triangle soup is free from +* self-intersection, and `false` if the algorithm was unable to provide such a triangle soup within the number of iterations. +* +*/ +template +bool autorefine_triangle_soup(PointRange& soup_points, + TriangleRange& soup_triangles, + const NamedParameters& np = parameters::default_values()) +{ + using parameters::choose_parameter; + using parameters::get_parameter; + + const bool do_snap = choose_parameter(get_parameter(np, internal_np::apply_iterative_snap_rounding), false); + if(do_snap) + { + CGAL_PMP_AUTOREFINE_VERBOSE("Snap polygon soup"); + return internal::polygon_soup_snap_rounding(soup_points, soup_triangles, np); + } + else + { + return internal::autorefine_triangle_soup_(soup_points, soup_triangles, np); + } +} + + /** * \ingroup PMP_corefinement_grp * refines a triangle mesh so that no triangles intersects in their interior. diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h index 9c6bad3839c9..c67e5ba0745b 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h @@ -17,12 +17,13 @@ #include #include -// #include #include #include #include +#include + namespace CGAL { @@ -68,8 +69,69 @@ double double_ceil(NT x){ } }; +CGAL_MUTEX map_mutex; + +template +class Indexes_range{ + typedef std::remove_cv_t::value_type> Value_type; +public: + typedef typename Range::const_iterator const_iterator; + typedef typename Range::iterator iterator; + + Indexes_range(){} + Indexes_range(std::initializer_list l): poly(l), m_id(0), modified(true){} + Indexes_range(const Indexes_range &ir):poly(ir.range()), m_id(ir.id()), modified(ir.was_modified()){} + Indexes_range(Range &p):poly(p), modified(true){} + Indexes_range(Range &p, size_t id):poly(p), m_id(id),modified(false){} + + void operator=(std::initializer_list l) + { + poly=l; + modified=true; + } + + inline size_t id() const { return m_id; } + inline void set_id(size_t id){ m_id=id; } + inline bool was_modified() const { return modified; } + + inline size_t size(){ return poly.size(); } + + inline iterator begin(){ return poly.begin(); } + inline iterator end(){ return poly.end(); } + inline const_iterator begin() const{ return poly.begin(); } + inline const_iterator end() const{ return poly.end(); } + + inline Value_type operator[](size_t i){ return poly[i]; } + inline const Value_type operator[](size_t i) const{ return poly[i]; } + + inline void push_back(Value_type v){ poly.push_back(v);} + inline Range range(){ return poly;} + inline const Range range() const{ return poly;} +private: + Range poly; + size_t m_id; + bool modified; +}; + +template +struct Wrapp_id_visitor +{ + Wrapp_id_visitor(PolygonRange* tr, Map* map):triangles(tr), map_newtriangles(map){} + inline void number_of_output_triangles(std::size_t /*nbt*/) {} + inline void verbatim_triangle_copy(std::size_t /*tgt_id*/, std::size_t /*src_id*/) {} + inline void new_subtriangle(std::size_t tgt_id, std::size_t src_id) + { + CGAL_SCOPED_LOCK(map_mutex); + (*map_newtriangles)[(*triangles)[src_id].id()].push_back(tgt_id); + } + inline void delete_triangle(std::size_t /*src_id*/) {} + +private: + PolygonRange* triangles; + Map* map_newtriangles; +}; + /** -* DEPRECATED SINCE INTERNAL * * Rounds the coordinates of the points so that they fit in doubles while making and keeping the model intersection free by potentially subdividing the triangles. * The input can be any triangle soup and the output is an intersection-free triangle soup with Hausdorff distance @@ -121,21 +183,34 @@ double double_ceil(NT x){ * able to provide such a triangle soup within the number of iterations. */ template -bool polygon_soup_snap_rounding(PointRange &points, +bool polygon_soup_snap_rounding_(PointRange &points, PolygonRange &triangles, const NamedParameters& np) { using parameters::choose_parameter; using parameters::get_parameter; + // typedef typename GetPolygonSoupGeomTraits::type GT; + typedef typename GetPointMap::const_type Point_map; + Point_map pm = choose_parameter(get_parameter(np, internal_np::point_map)); + typedef typename internal_np::Lookup_named_param_def < internal_np::concurrency_tag_t, NamedParameters, Sequential_tag > ::type Concurrency_tag; + // visitor + typedef typename internal_np::Lookup_named_param_def < + internal_np::visitor_t, + NamedParameters, + Autorefinement::Default_visitor//default + >::type Visitor; + Visitor visitor(choose_parameter(get_parameter(np, internal_np::visitor))); + constexpr bool has_visitor = !std::is_same_v; constexpr bool parallel_execution = std::is_same_v; + const size_t number_of_input_triangles = triangles.size(); #ifndef CGAL_LINKED_WITH_TBB static_assert (!parallel_execution, @@ -184,7 +259,6 @@ bool polygon_soup_snap_rounding(PointRange &points, // Scale the coordinate, round to nearest integer and scale back // TODO replace this ceil by the one of Algebraic_fondation when it will be add to master return internal::double_ceil((x * scale) - 0.5) / scale; - // return ceil((x * scale) - 0.5) / scale; }; auto snap_p = [scale, snap](const Point_3 &p) { @@ -222,14 +296,32 @@ bool polygon_soup_snap_rounding(PointRange &points, // Get all intersecting triangles std::vector> pairs_of_intersecting_triangles; - triangle_soup_self_intersections(points, triangles, std::back_inserter(pairs_of_intersecting_triangles), np); + triangle_soup_self_intersections(points, triangles, std::back_inserter(pairs_of_intersecting_triangles), np); if (pairs_of_intersecting_triangles.empty()) { #ifdef PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE std::cout << "End of the snapping" << std::endl; #endif - CGAL_assertion(!does_triangle_soup_self_intersect(points, triangles, np)); + CGAL_assertion(!does_triangle_soup_self_intersect(points, triangles, np)); + if constexpr(has_visitor) + { + std::vector > map_io(number_of_input_triangles); + size_t id=0; + for(auto &t: triangles) + map_io[t.id()].push_back(id++); + + visitor.number_of_output_triangle(triangles.size()); + for(size_t src_id=0; src_id!=map_io.size(); ++src_id){ + if(map_io[src_id].size()==0) + visitor.delete_triangle(src_id); + else if(map_io[src_id].size()==1 && !triangles[map_io[src_id][0]].was_modified()) + visitor.verbatim_triangle_copy(map_io[src_id][0],src_id); + else + for(size_t new_id: map_io[src_id]) + visitor.new_subtriangle(new_id,src_id); + } + } return true; } @@ -347,11 +439,60 @@ bool polygon_soup_snap_rounding(PointRange &points, std::cout << "Model size: " << points.size() << " " << triangles.size() << std::endl; std::cout << "Autorefine the soup" << std::endl; #endif - autorefine_triangle_soup(points, triangles, np); + if constexpr(has_visitor) + { +#ifdef CGAL_LINKED_WITH_TBB + std::conditional_t >, + std::map > > map_newtriangles; +#else + std::map > map_newtriangles; +#endif + Wrapp_id_visitor visitor(&triangles, &map_newtriangles); + autorefine_triangle_soup_(points, triangles, parameters::point_map(pm).concurrency_tag(Concurrency_tag()).visitor(visitor)); + for(auto &pair: map_newtriangles) + for(size_t new_id: pair.second) + triangles[new_id].set_id(pair.first); + } + else + { + autorefine_triangle_soup_(points, triangles, parameters::point_map(pm).concurrency_tag(Concurrency_tag())); + } } return false; } +template +bool polygon_soup_snap_rounding(PointRange &soup_points, + PolygonRange &soup_triangles, + const NamedParameters& np) +{ + typedef typename internal_np::Lookup_named_param_def < + internal_np::visitor_t, + NamedParameters, + Autorefinement::Default_visitor//default + > ::type Visitor; + constexpr bool has_visitor = !std::is_same_v; + if constexpr(has_visitor) + { + using Triangle = std::remove_cv_t::value_type>; + std::vector > indexes_soup_triangles; + size_t id=0; + for(typename PolygonRange::iterator it=soup_triangles.begin(); it!=soup_triangles.end(); ++it) + indexes_soup_triangles.emplace_back((*it), id++); + std::cout << "Test 0" << std::endl; + bool res=polygon_soup_snap_rounding_(soup_points, indexes_soup_triangles, np); + soup_triangles.clear(); + for(const Indexes_range &t: indexes_soup_triangles) + soup_triangles.push_back({t[0],t[1],t[2]}); + return res; + } + else + { + return polygon_soup_snap_rounding_(soup_points, soup_triangles, np); + } +} + } } } //end of CGAL::Polygon_mesh_processing::internal namespace #endif //CGAL_POLYGON_MESH_PROCESSING_POLYGON_SOUP_SNAP_ROUNDING_H From 1f5d17a4ea758671bc2ed4f6ff0c80025a4f42b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Thu, 13 Mar 2025 19:04:13 +0100 Subject: [PATCH 26/79] correct typo in function name --- .../internal/triangle_soup_snap_rounding.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h index c67e5ba0745b..3553f9f06965 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h @@ -311,7 +311,7 @@ bool polygon_soup_snap_rounding_(PointRange &points, for(auto &t: triangles) map_io[t.id()].push_back(id++); - visitor.number_of_output_triangle(triangles.size()); + visitor.number_of_output_triangles(triangles.size()); for(size_t src_id=0; src_id!=map_io.size(); ++src_id){ if(map_io[src_id].size()==0) visitor.delete_triangle(src_id); From b891987c16c1f9aacd33add92e30053c31a303fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Fri, 14 Mar 2025 13:58:45 +0100 Subject: [PATCH 27/79] Add variant where cluster of points are round to the closest of them to the voxel center instead of the voxel center --- .../snap_polygon_soup.cpp | 13 +++-- .../internal/triangle_soup_snap_rounding.h | 49 +++++++++++++++++++ 2 files changed, 57 insertions(+), 5 deletions(-) diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp b/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp index f03bb5a23883..81e596ceb6b6 100644 --- a/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp @@ -1,4 +1,4 @@ -// #define PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE +#define PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE // #define CGAL_PMP_AUTOREFINE_USE_DEFAULT_VERBOSE #include @@ -105,16 +105,19 @@ int main(int argc, char** argv) CGAL::Real_timer t; t.start(); -#if 0 +#if 1 Track_visitor visitor; - PMP::autorefine_triangle_soup(input_points, input_triangles, CGAL::parameters::apply_iterative_snap_rounding(true).erase_all_duplicates(true).concurrency_tag(CGAL::Parallel_if_available_tag()).snap_grid_size(grid_size).visitor(visitor)); + bool success=PMP::autorefine_triangle_soup(input_points, input_triangles, CGAL::parameters::apply_iterative_snap_rounding(true).erase_all_duplicates(true).concurrency_tag(CGAL::Parallel_if_available_tag()).snap_grid_size(grid_size).visitor(visitor)); #else - PMP::autorefine_triangle_soup(input_points, input_triangles, CGAL::parameters::apply_iterative_snap_rounding(true).erase_all_duplicates(true).concurrency_tag(CGAL::Parallel_if_available_tag()).snap_grid_size(grid_size)); + bool success=PMP::autorefine_triangle_soup(input_points, input_triangles, CGAL::parameters::apply_iterative_snap_rounding(true).erase_all_duplicates(true).concurrency_tag(CGAL::Parallel_if_available_tag()).snap_grid_size(grid_size).number_of_iterations(15)); #endif t.stop(); std::cout << "\nOutput:" << std::endl; std::cout << "#points = " << input_points.size() << " and #triangles = " << input_triangles.size() << " in " << t.time() << " sec." << std::endl; - std::cout << "Does self-intersect: " << PMP::does_triangle_soup_self_intersect(input_points, input_triangles) << std::endl; + if(success) + std::cout << "Does self-intersect: " << PMP::does_triangle_soup_self_intersect(input_points, input_triangles) << std::endl; + else + std::cout << "ROUNDING FAILED" << std::endl; CGAL::IO::write_polygon_soup(out_file, input_points, input_triangles, CGAL::parameters::stream_precision(17)); std::cout << "Is 2-manifold: " << PMP::orient_polygon_soup(input_points, input_triangles) << "\n\n" << std::endl; } diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h index 3553f9f06965..68540b6d022f 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h @@ -382,6 +382,55 @@ bool polygon_soup_snap_rounding_(PointRange &points, } #endif +#elif 1 + // Version where points in a voxel are rounded to the closest point + + // Group the points of the vertices of the intersecting triangles by their voxel + std::map snap_points; + std::size_t index=0; + for (auto &pair : pairs_of_intersecting_triangles) + { + for (size_t pi : triangles[pair.first]) + { + auto res=snap_points.emplace(snap_p(points[pi]), index); + if(res.second) + ++index; + } + for (size_t pi : triangles[pair.second]) + { + auto res=snap_points.emplace(snap_p(points[pi]), index); + if(res.second) + ++index; + } + } + + std::vector> identical_points(index); + for (size_t i=0; i!=points.size(); ++i) + { + Point_3 p_snap = snap_p(points[i]); + auto it=snap_points.find(p_snap); + if (it!=snap_points.end()){ + identical_points[it->second].push_back(i); + } + } + + // Replace all points in a voxel by the closest point + for(const auto &v: identical_points){ + if(v.size()>1){ + Point_3 center = snap_p(points[v[0]]); + size_t argmin(0); + for(size_t i=1; i!=v.size(); ++i){ + if(Kernel().compare_squared_distance_3_object()(center, points[v[i]], center, points[v[argmin]])==SMALLER) + { + argmin=i; + } + } + for(auto i: v){ + points[i]=points[v[argmin]]; + } + } + } + #else // Version where points in a voxel are rounded to their barycenter. From b49c696bcddfb5da3f685c109e3aeddbf273dc6b Mon Sep 17 00:00:00 2001 From: lvalque <131978677+LeoValque@users.noreply.github.com> Date: Tue, 18 Mar 2025 09:03:20 +0100 Subject: [PATCH 28/79] Update Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h Co-authored-by: Andreas Fabri --- .../include/CGAL/Polygon_mesh_processing/autorefinement.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h index fe221f554ec5..95ca157a4f11 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h @@ -1622,7 +1622,7 @@ bool autorefine_triangle_soup_(PointRange& soup_points, * Also triangles in `soup_triangles` will be triangles without intersection first, followed by triangles coming from a subdivision induced * by an intersection. The named parameter `visitor()` can be used to track * the creation of new triangles. -* If the `apply_iterative_snap_rounding()` parameter is set to true, the coordinates of the vertices are rounded to fit within the precision of a double-precision floating point, +* If the `apply_iterative_snap_rounding()` parameter is set to `true`, the coordinates of the vertices are rounded to fit within the precision of a double-precision floating point, * while trying to make the triangle soup free of intersections. The `snap_grid_size()` parameter limits the drift of the snapped vertices. * A smaller value is more likely to output an intersection free output and perform more vertex collapses, but it may increase the Hausdorff distance from the input. * From 16da2a20ddb4cd059350566b3ba99cd707c85fe9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Tue, 18 Mar 2025 15:50:16 +0100 Subject: [PATCH 29/79] add delete_triangle function to the visitor of test_autorefinement --- .../test/Polygon_mesh_processing/test_autorefinement.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/test_autorefinement.cpp b/Polygon_mesh_processing/test/Polygon_mesh_processing/test_autorefinement.cpp index e04e07ba556e..a265be44b8ed 100644 --- a/Polygon_mesh_processing/test/Polygon_mesh_processing/test_autorefinement.cpp +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/test_autorefinement.cpp @@ -66,6 +66,11 @@ struct My_visitor tgt_check[tgt_id]=1; } + void delete_triangle(std::size_t src_id) + { + assert(src_id tgt_check; From dc6d7b1b745cba6bb5f4514ab894a34c24d0612c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Wed, 19 Mar 2025 09:52:54 +0100 Subject: [PATCH 30/79] Debug the visitor of triangle_soup_snap_rounding --- .../internal/triangle_soup_snap_rounding.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h index 68540b6d022f..da6790e4e5cf 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h @@ -94,7 +94,7 @@ class Indexes_range{ inline void set_id(size_t id){ m_id=id; } inline bool was_modified() const { return modified; } - inline size_t size(){ return poly.size(); } + inline size_t size() const{ return poly.size(); } inline iterator begin(){ return poly.begin(); } inline iterator end(){ return poly.end(); } @@ -303,7 +303,7 @@ bool polygon_soup_snap_rounding_(PointRange &points, #ifdef PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE std::cout << "End of the snapping" << std::endl; #endif - CGAL_assertion(!does_triangle_soup_self_intersect(points, triangles, np)); + CGAL_assertion(!does_triangle_soup_self_intersect(points, triangles)); if constexpr(has_visitor) { std::vector > map_io(number_of_input_triangles); From 3e884c8678450d87a4edd292a89e534e0d8f59c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Wed, 19 Mar 2025 11:12:13 +0100 Subject: [PATCH 31/79] Move the mutex inside the class Indexes_range who using it --- .../internal/triangle_soup_snap_rounding.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h index da6790e4e5cf..ec0be216dc8e 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h @@ -69,8 +69,6 @@ double double_ceil(NT x){ } }; -CGAL_MUTEX map_mutex; - template class Indexes_range{ typedef std::remove_cv_t::value_type> Value_type; @@ -129,6 +127,7 @@ struct Wrapp_id_visitor private: PolygonRange* triangles; Map* map_newtriangles; + inline static CGAL_MUTEX map_mutex; }; /** From 8c59129c3410f37c161eb1a1e595b6e4060b5c34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Wed, 19 Mar 2025 11:35:42 +0100 Subject: [PATCH 32/79] Change name of internal functions --- .../Polygon_mesh_processing/autorefinement.h | 5 +++-- .../internal/triangle_soup_snap_rounding.h | 22 +++++++++++-------- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h index 95ca157a4f11..d48c95b029b7 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h @@ -986,7 +986,7 @@ template class Indexes_range; template -bool autorefine_triangle_soup_(PointRange& soup_points, +bool autorefine_triangle_soup(PointRange& soup_points, TriangleRange& soup_triangles, const NamedParameters& np = parameters::default_values()) { @@ -1690,6 +1690,7 @@ bool autorefine_triangle_soup(PointRange& soup_points, using parameters::choose_parameter; using parameters::get_parameter; + //Dispatch the execution according the apply_iterative_snap_rounding parameter const bool do_snap = choose_parameter(get_parameter(np, internal_np::apply_iterative_snap_rounding), false); if(do_snap) { @@ -1698,7 +1699,7 @@ bool autorefine_triangle_soup(PointRange& soup_points, } else { - return internal::autorefine_triangle_soup_(soup_points, soup_triangles, np); + return internal::autorefine_triangle_soup(soup_points, soup_triangles, np); } } diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h index ec0be216dc8e..2d6a03e2a6ab 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h @@ -182,9 +182,9 @@ struct Wrapp_id_visitor * able to provide such a triangle soup within the number of iterations. */ template -bool polygon_soup_snap_rounding_(PointRange &points, - PolygonRange &triangles, - const NamedParameters& np) +bool polygon_soup_snap_rounding_impl(PointRange &points, + PolygonRange &triangles, + const NamedParameters& np) { using parameters::choose_parameter; using parameters::get_parameter; @@ -497,14 +497,14 @@ bool polygon_soup_snap_rounding_(PointRange &points, std::map > map_newtriangles; #endif Wrapp_id_visitor visitor(&triangles, &map_newtriangles); - autorefine_triangle_soup_(points, triangles, parameters::point_map(pm).concurrency_tag(Concurrency_tag()).visitor(visitor)); + autorefine_triangle_soup(points, triangles, parameters::point_map(pm).concurrency_tag(Concurrency_tag()).visitor(visitor)); for(auto &pair: map_newtriangles) for(size_t new_id: pair.second) triangles[new_id].set_id(pair.first); } else { - autorefine_triangle_soup_(points, triangles, parameters::point_map(pm).concurrency_tag(Concurrency_tag())); + autorefine_triangle_soup(points, triangles, parameters::point_map(pm).concurrency_tag(Concurrency_tag())); } } return false; @@ -512,24 +512,28 @@ bool polygon_soup_snap_rounding_(PointRange &points, template bool polygon_soup_snap_rounding(PointRange &soup_points, - PolygonRange &soup_triangles, - const NamedParameters& np) + PolygonRange &soup_triangles, + const NamedParameters& np) { typedef typename internal_np::Lookup_named_param_def < internal_np::visitor_t, NamedParameters, Autorefinement::Default_visitor//default > ::type Visitor; + constexpr bool has_visitor = !std::is_same_v; if constexpr(has_visitor) { + //If a visitor is provided, we color the triangles with the index of their source to correctly track the modification using Triangle = std::remove_cv_t::value_type>; std::vector > indexes_soup_triangles; size_t id=0; for(typename PolygonRange::iterator it=soup_triangles.begin(); it!=soup_triangles.end(); ++it) indexes_soup_triangles.emplace_back((*it), id++); std::cout << "Test 0" << std::endl; - bool res=polygon_soup_snap_rounding_(soup_points, indexes_soup_triangles, np); + + bool res=polygon_soup_snap_rounding_impl(soup_points, indexes_soup_triangles, np); + soup_triangles.clear(); for(const Indexes_range &t: indexes_soup_triangles) soup_triangles.push_back({t[0],t[1],t[2]}); @@ -537,7 +541,7 @@ bool polygon_soup_snap_rounding(PointRange &soup_points, } else { - return polygon_soup_snap_rounding_(soup_points, soup_triangles, np); + return polygon_soup_snap_rounding_impl(soup_points, soup_triangles, np); } } From bfc9f5b8af06a72aaab8f3a135bd61750c0a03c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Thu, 3 Apr 2025 10:26:22 +0200 Subject: [PATCH 33/79] Solve bug with macro that skip repair_polygon_soup --- .../Polygon_mesh_processing/snap_polygon_soup.cpp | 2 +- .../internal/triangle_soup_snap_rounding.h | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp b/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp index 81e596ceb6b6..b6f443f3a67d 100644 --- a/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp @@ -105,7 +105,7 @@ int main(int argc, char** argv) CGAL::Real_timer t; t.start(); -#if 1 +#if 0 Track_visitor visitor; bool success=PMP::autorefine_triangle_soup(input_points, input_triangles, CGAL::parameters::apply_iterative_snap_rounding(true).erase_all_duplicates(true).concurrency_tag(CGAL::Parallel_if_available_tag()).snap_grid_size(grid_size).visitor(visitor)); #else diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h index 2d6a03e2a6ab..8bff8c7ecc73 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h @@ -287,10 +287,10 @@ bool polygon_soup_snap_rounding_impl(PointRange &points, } ); } else -#else +#endif for (Point_3 &p : points) p = Point_3(to_double(p.x()), to_double(p.y()), to_double(p.z())); -#endif + repair_polygon_soup(points, triangles, np); // Get all intersecting triangles @@ -372,14 +372,14 @@ bool polygon_soup_snap_rounding_impl(PointRange &points, } ); } else -#else +#endif for (Point_3 &p : points) { Point_3 p_snap = snap_p(p); if (std::binary_search(snap_points.begin(), snap_points.end(), p_snap)) p = p_snap; } -#endif + #elif 1 // Version where points in a voxel are rounded to the closest point @@ -530,7 +530,6 @@ bool polygon_soup_snap_rounding(PointRange &soup_points, size_t id=0; for(typename PolygonRange::iterator it=soup_triangles.begin(); it!=soup_triangles.end(); ++it) indexes_soup_triangles.emplace_back((*it), id++); - std::cout << "Test 0" << std::endl; bool res=polygon_soup_snap_rounding_impl(soup_points, indexes_soup_triangles, np); From f81f5abe0974ab757a7b1babc46b6457e648a3bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Thu, 3 Apr 2025 11:42:31 +0200 Subject: [PATCH 34/79] factorize snap_polygon_soup --- .../snap_polygon_soup.cpp | 86 +++++++------------ 1 file changed, 33 insertions(+), 53 deletions(-) diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp b/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp index b6f443f3a67d..6fd64832d327 100644 --- a/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp @@ -1,4 +1,4 @@ -#define PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE +// #define PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE // #define CGAL_PMP_AUTOREFINE_USE_DEFAULT_VERBOSE #include @@ -37,61 +37,17 @@ struct Track_visitor inline void delete_triangle(std::size_t /*src_id*/) {} }; -int main(int argc, char** argv) -{ - const std::string filename = argc == 1 ? CGAL::data_file_path("meshes/elephant.off") - : std::string(argv[1]); - - // const std::string out_file = argc <= 2 ? "rounded_soup.off" - // : std::string(argv[2]); - const std::string out_file = "rounded_soup.off"; - - const int grid_size = argc <= 2 ? 23 - : std::stoi(std::string(argv[2])); - - const bool epeck = argc <= 3 ? false - : std::string(argv[3])=="EPECK"; - - if(epeck) - { - std::vector input_points; +template +struct Example{ + void operator()(const std::string& filename, int grid_size){ + const std::string out_file = "rounded_soup.off"; + std::vector input_points; std::vector> input_triangles; - - std::cout << "Snap rounding apply on " << filename << " with EPECK\n"; + std::cout << "Snap rounding on " << filename << " with " << typeid(Kernel).name() << "\n"; if (!CGAL::IO::read_polygon_soup(filename, input_points, input_triangles)) { std::cerr << "Cannot read " << filename << "\n"; - return 1; - } - std::cout << "#points = " << input_points.size() << " and #triangles = " << input_triangles.size() << std::endl; - std::cout << "Is 2-manifold: " << PMP::is_polygon_soup_a_polygon_mesh(input_triangles) << std::endl; - - PMP::repair_polygon_soup(input_points, input_triangles); - PMP::triangulate_polygons(input_points, input_triangles); - - CGAL::Real_timer t; - t.start(); - PMP::autorefine_triangle_soup(input_points, input_triangles, CGAL::parameters::apply_iterative_snap_rounding(true).erase_all_duplicates(true).concurrency_tag(CGAL::Parallel_if_available_tag()).snap_grid_size(grid_size)); - t.stop(); - std::cout << "#points = " << input_points.size() << " and #triangles = " << input_triangles.size() << " in " << t.time() << " sec." << std::endl; - std::cout << "Does self-intersect: " << PMP::does_triangle_soup_self_intersect(input_points, input_triangles) << std::endl; - std::cout << "Is 2-manifold: " << PMP::orient_polygon_soup(input_points, input_triangles) << "\n\n" << std::endl; - - std::vector output_points; - for(auto &p: input_points) - output_points.emplace_back(CGAL::to_double(p.x()),CGAL::to_double(p.y()),CGAL::to_double(p.z())); - - CGAL::IO::write_polygon_soup(out_file, output_points, input_triangles, CGAL::parameters::stream_precision(17)); - } - else - { - std::vector input_points; - std::vector> input_triangles; - std::cout << "Snap rounding on " << filename << " with EPICK\n"; - if (!CGAL::IO::read_polygon_soup(filename, input_points, input_triangles)) - { - std::cerr << "Cannot read " << filename << "\n"; - return 1; + return; } std::cout << "#points = " << input_points.size() << " and #triangles = " << input_triangles.size() << std::endl; std::cout << "Is 2-manifold: " << PMP::is_polygon_soup_a_polygon_mesh(input_triangles) << std::endl; @@ -118,8 +74,32 @@ int main(int argc, char** argv) std::cout << "Does self-intersect: " << PMP::does_triangle_soup_self_intersect(input_points, input_triangles) << std::endl; else std::cout << "ROUNDING FAILED" << std::endl; - CGAL::IO::write_polygon_soup(out_file, input_points, input_triangles, CGAL::parameters::stream_precision(17)); + + std::vector output_points; + for(auto &p: input_points) + output_points.emplace_back(CGAL::to_double(p.x()),CGAL::to_double(p.y()),CGAL::to_double(p.z())); + CGAL::IO::write_polygon_soup(out_file, output_points, input_triangles, CGAL::parameters::stream_precision(17)); std::cout << "Is 2-manifold: " << PMP::orient_polygon_soup(input_points, input_triangles) << "\n\n" << std::endl; } +}; + +int main(int argc, char** argv) +{ + const std::string filename = argc == 1 ? CGAL::data_file_path("meshes/elephant.off") + : std::string(argv[1]); + + // const std::string out_file = argc <= 2 ? "rounded_soup.off" + // : std::string(argv[2]); + + const int grid_size = argc <= 2 ? 23 + : std::stoi(std::string(argv[2])); + + const bool epeck = argc <= 3 ? false + : std::string(argv[3])=="EPECK"; + + if(epeck) + Example()(filename, grid_size); + else + Example()(filename, grid_size); return 0; } From 290610f732749396b3cec31682f5ac7d23af0982 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Thu, 3 Apr 2025 14:31:04 +0200 Subject: [PATCH 35/79] add zhou and naive version --- .../Polygon_mesh_processing/snap_polygon_soup.cpp | 1 + .../internal/triangle_soup_snap_rounding.h | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp b/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp index 6fd64832d327..40714d169bc3 100644 --- a/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp @@ -1,5 +1,6 @@ // #define PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE // #define CGAL_PMP_AUTOREFINE_USE_DEFAULT_VERBOSE +// TODO delete those verbose line macro before release #include #include diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h index 8bff8c7ecc73..343c2118150c 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h @@ -381,7 +381,7 @@ bool polygon_soup_snap_rounding_impl(PointRange &points, } -#elif 1 +#elif 0 // Version where points in a voxel are rounded to the closest point // Group the points of the vertices of the intersecting triangles by their voxel @@ -430,7 +430,7 @@ bool polygon_soup_snap_rounding_impl(PointRange &points, } } -#else +#elif 0 // Version where points in a voxel are rounded to their barycenter. // Group the points of the vertices of the intersecting triangles by their voxel @@ -479,6 +479,16 @@ bool polygon_soup_snap_rounding_impl(PointRange &points, } } } +#elif 0 //Zhou et al. version with round on float + for (auto &pair : pairs_of_intersecting_triangles) + { + for (size_t pi : triangles[pair.first]) + points[pi]=Point_3( (float) to_double(points[pi].x()), (float) to_double(points[pi].y()), (float) to_double(points[pi].z())); + for (size_t pi : triangles[pair.second]) + points[pi]=Point_3( (float) to_double(points[pi].x()), (float) to_double(points[pi].y()), (float) to_double(points[pi].z())); + } +#else //Naive version + //Nothing #endif From 7cb154fdea5c9c55b557e953ef0fb35d5fdd0c80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Thu, 3 Apr 2025 15:14:48 +0200 Subject: [PATCH 36/79] add internal_new_subtriangle to Visistor of autorefinement --- .../include/CGAL/Polygon_mesh_processing/autorefinement.h | 7 +++++++ .../internal/triangle_soup_snap_rounding.h | 5 +---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h index d48c95b029b7..0ba1c28cdc15 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h @@ -90,6 +90,10 @@ struct Default_visitor inline void verbatim_triangle_copy(std::size_t /*tgt_id*/, std::size_t /*src_id*/) {} inline void new_subtriangle(std::size_t /*tgt_id*/, std::size_t /*src_id*/) {} inline void delete_triangle(std::size_t /*src_id*/) {} + + // Not documented + template< typename Triangle> + inline void internal_new_subtriangle(Triangle& /*new_t*/ , const Triangle& /*old_t*/) {} }; } // end of Autorefinement visitor @@ -1505,6 +1509,7 @@ bool autorefine_triangle_soup(PointRange& soup_points, { triangle_buffer[ti][0]->second, triangle_buffer[ti][1]->second, triangle_buffer[ti][2]->second }; + visitor.new_subtriangle(soup_triangles_out[offset + ti], soup_triangle[tri_inter_ids_inverse[new_triangles[ti].second]]); } } ); @@ -1562,6 +1567,7 @@ bool autorefine_triangle_soup(PointRange& soup_points, { triangle_buffer[ti][0]->second, triangle_buffer[ti][1]->second, triangle_buffer[ti][2]->second }; + visitor.internal_new_subtriangle(soup_triangles_out[offset + ti], soup_triangles[tri_inter_ids_inverse[new_triangles[ti].second]]); } } ); @@ -1580,6 +1586,7 @@ bool autorefine_triangle_soup(PointRange& soup_points, soup_triangles_out.push_back({ get_point_id(t_and_id.first[0]), get_point_id(t_and_id.first[1]), get_point_id(t_and_id.first[2]) }); + visitor.internal_new_subtriangle(soup_triangles_out[soup_triangles_out.size()-1], soup_triangles[tri_inter_ids_inverse[t_and_id.second]]); } } diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h index 343c2118150c..5af08f455e89 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h @@ -112,17 +112,14 @@ class Indexes_range{ }; template -struct Wrapp_id_visitor +struct Wrapp_id_visitor : public Autorefinement::Default_visitor { Wrapp_id_visitor(PolygonRange* tr, Map* map):triangles(tr), map_newtriangles(map){} - inline void number_of_output_triangles(std::size_t /*nbt*/) {} - inline void verbatim_triangle_copy(std::size_t /*tgt_id*/, std::size_t /*src_id*/) {} inline void new_subtriangle(std::size_t tgt_id, std::size_t src_id) { CGAL_SCOPED_LOCK(map_mutex); (*map_newtriangles)[(*triangles)[src_id].id()].push_back(tgt_id); } - inline void delete_triangle(std::size_t /*src_id*/) {} private: PolygonRange* triangles; From 4995634e7ccc27c793d175744dddd42b0c8247a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Thu, 3 Apr 2025 18:40:51 +0200 Subject: [PATCH 37/79] use the new internal function of the visitor of autorefinement for the wrapp_visitor of snap_rounding --- .../snap_polygon_soup.cpp | 6 +- .../internal/triangle_soup_snap_rounding.h | 78 +++++++------------ 2 files changed, 33 insertions(+), 51 deletions(-) diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp b/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp index 40714d169bc3..29d15359250b 100644 --- a/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp @@ -1,4 +1,4 @@ -// #define PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE +#define PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE // #define CGAL_PMP_AUTOREFINE_USE_DEFAULT_VERBOSE // TODO delete those verbose line macro before release @@ -23,7 +23,7 @@ typedef CGAL::Simple_cartesian Cartesian; namespace PMP = CGAL::Polygon_mesh_processing; -struct Track_visitor +struct Track_visitor : PMP::Autorefinement::Default_visitor { // inline void number_of_output_triangles(std::size_t nbt) { std::cout << "total number of triangles: " << nbt << std::endl;} inline void number_of_output_triangles(std::size_t /*nbt*/) {} @@ -62,7 +62,7 @@ struct Example{ CGAL::Real_timer t; t.start(); -#if 0 +#if 1 Track_visitor visitor; bool success=PMP::autorefine_triangle_soup(input_points, input_triangles, CGAL::parameters::apply_iterative_snap_rounding(true).erase_all_duplicates(true).concurrency_tag(CGAL::Parallel_if_available_tag()).snap_grid_size(grid_size).visitor(visitor)); #else diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h index 5af08f455e89..fa7b2062dc17 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h @@ -70,61 +70,54 @@ double double_ceil(NT x){ }; template -class Indexes_range{ +class Indexes_range : public Range{ typedef std::remove_cv_t::value_type> Value_type; public: typedef typename Range::const_iterator const_iterator; typedef typename Range::iterator iterator; Indexes_range(){} - Indexes_range(std::initializer_list l): poly(l), m_id(0), modified(true){} - Indexes_range(const Indexes_range &ir):poly(ir.range()), m_id(ir.id()), modified(ir.was_modified()){} - Indexes_range(Range &p):poly(p), modified(true){} - Indexes_range(Range &p, size_t id):poly(p), m_id(id),modified(false){} + Indexes_range(std::initializer_list l): Range(l), m_id(0), modified(true){} + Indexes_range(const Indexes_range &ir): Range(ir), m_id(ir.id()), modified(ir.was_modified()){} + Indexes_range(Range &p): Range(p), modified(true){} + Indexes_range(Range &p, size_t id): Range(p), m_id(id),modified(false){} - void operator=(std::initializer_list l) + void operator=(const Indexes_range &ir) { - poly=l; - modified=true; + Range::operator=(ir); + modified=ir.was_modified(); + m_id=ir.id(); } inline size_t id() const { return m_id; } inline void set_id(size_t id){ m_id=id; } inline bool was_modified() const { return modified; } - inline size_t size() const{ return poly.size(); } - - inline iterator begin(){ return poly.begin(); } - inline iterator end(){ return poly.end(); } - inline const_iterator begin() const{ return poly.begin(); } - inline const_iterator end() const{ return poly.end(); } - - inline Value_type operator[](size_t i){ return poly[i]; } - inline const Value_type operator[](size_t i) const{ return poly[i]; } - - inline void push_back(Value_type v){ poly.push_back(v);} - inline Range range(){ return poly;} - inline const Range range() const{ return poly;} private: - Range poly; size_t m_id; bool modified; }; -template +//repair_polygon_soup for triangles +template ::Polygon_3, + typename NamedParameters> +void repair_triangle_soup(PointRange& points, + PolygonRange& polygons, + const NamedParameters& np) +{ + merge_duplicate_points_in_polygon_soup(points, polygons, np); + remove_invalid_polygons_in_polygon_soup(points, polygons); + merge_duplicate_polygons_in_polygon_soup(points, polygons, np); + remove_isolated_points_in_polygon_soup(points, polygons); +} + struct Wrapp_id_visitor : public Autorefinement::Default_visitor { - Wrapp_id_visitor(PolygonRange* tr, Map* map):triangles(tr), map_newtriangles(map){} - inline void new_subtriangle(std::size_t tgt_id, std::size_t src_id) - { - CGAL_SCOPED_LOCK(map_mutex); - (*map_newtriangles)[(*triangles)[src_id].id()].push_back(tgt_id); + template< typename Triangle> + inline void internal_new_subtriangle(Triangle& new_t, const Triangle& old_t) { + new_t.set_id(old_t.id()); } - -private: - PolygonRange* triangles; - Map* map_newtriangles; - inline static CGAL_MUTEX map_mutex; }; /** @@ -288,7 +281,7 @@ bool polygon_soup_snap_rounding_impl(PointRange &points, for (Point_3 &p : points) p = Point_3(to_double(p.x()), to_double(p.y()), to_double(p.z())); - repair_polygon_soup(points, triangles, np); + repair_triangle_soup(points, triangles, np); // Get all intersecting triangles std::vector> pairs_of_intersecting_triangles; @@ -312,7 +305,7 @@ bool polygon_soup_snap_rounding_impl(PointRange &points, if(map_io[src_id].size()==0) visitor.delete_triangle(src_id); else if(map_io[src_id].size()==1 && !triangles[map_io[src_id][0]].was_modified()) - visitor.verbatim_triangle_copy(map_io[src_id][0],src_id); + visitor.verbatim_triangle_copy(map_io[src_id][0],src_id); else for(size_t new_id: map_io[src_id]) visitor.new_subtriangle(new_id,src_id); @@ -488,26 +481,15 @@ bool polygon_soup_snap_rounding_impl(PointRange &points, //Nothing #endif - - repair_polygon_soup(points, triangles, np); + repair_triangle_soup(points, triangles, np); #ifdef PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE std::cout << "Model size: " << points.size() << " " << triangles.size() << std::endl; std::cout << "Autorefine the soup" << std::endl; #endif if constexpr(has_visitor) { -#ifdef CGAL_LINKED_WITH_TBB - std::conditional_t >, - std::map > > map_newtriangles; -#else - std::map > map_newtriangles; -#endif - Wrapp_id_visitor visitor(&triangles, &map_newtriangles); + Wrapp_id_visitor visitor; autorefine_triangle_soup(points, triangles, parameters::point_map(pm).concurrency_tag(Concurrency_tag()).visitor(visitor)); - for(auto &pair: map_newtriangles) - for(size_t new_id: pair.second) - triangles[new_id].set_id(pair.first); } else { From da86f44738d44b020a8cd7155c4b2fafdf40f918 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Thu, 3 Apr 2025 19:32:13 +0200 Subject: [PATCH 38/79] clone test_autorefinement.cmd to test_snap_rounding.cpp to test snap_rounding --- .../Polygon_mesh_processing/CMakeLists.txt | 1 + .../test_autorefinement.cpp | 2 +- .../test_snap_rounding.cpp | 181 ++++++++++++++++++ 3 files changed, 183 insertions(+), 1 deletion(-) create mode 100644 Polygon_mesh_processing/test/Polygon_mesh_processing/test_snap_rounding.cpp diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/CMakeLists.txt b/Polygon_mesh_processing/test/Polygon_mesh_processing/CMakeLists.txt index 1e442ae768fc..db8aa3c1efe3 100644 --- a/Polygon_mesh_processing/test/Polygon_mesh_processing/CMakeLists.txt +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/CMakeLists.txt @@ -42,6 +42,7 @@ create_single_source_cgal_program("test_coref_epic_points_identity.cpp") create_single_source_cgal_program("test_does_bound_a_volume.cpp") create_single_source_cgal_program("test_pmp_clip.cpp") create_single_source_cgal_program("test_autorefinement.cpp") +create_single_source_cgal_program("test_snap_rounding.cpp") create_single_source_cgal_program("autorefinement_sm.cpp") create_single_source_cgal_program( "corefine_non_manifold.cpp" ) create_single_source_cgal_program("triangulate_hole_polyline_test.cpp") diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/test_autorefinement.cpp b/Polygon_mesh_processing/test/Polygon_mesh_processing/test_autorefinement.cpp index a265be44b8ed..e67dc15a4d8e 100644 --- a/Polygon_mesh_processing/test/Polygon_mesh_processing/test_autorefinement.cpp +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/test_autorefinement.cpp @@ -30,7 +30,7 @@ struct My_exp_visitor : std::shared_ptr i; }; -struct My_visitor +struct My_visitor : public PMP::Autorefinement::Default_visitor { My_visitor(std::size_t nb_input, std::size_t expected_nb_output) : nb_input(nb_input) diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/test_snap_rounding.cpp b/Polygon_mesh_processing/test/Polygon_mesh_processing/test_snap_rounding.cpp new file mode 100644 index 000000000000..76d806a50fc2 --- /dev/null +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/test_snap_rounding.cpp @@ -0,0 +1,181 @@ + +#include +#include +#include +#include + +#include + +#include +#include + +#include +#include + +typedef CGAL::Exact_predicates_inexact_constructions_kernel K; +typedef CGAL::Surface_mesh Mesh; + +namespace PMP = CGAL::Polygon_mesh_processing; + +template +struct My_exp_visitor : + public CGAL::Polygon_mesh_processing::Corefinement::Default_visitor +{ + void after_subface_creations(TriangleMesh&){++(*i);} + + My_exp_visitor() + : i (new int(0) ) + {} + + std::shared_ptr i; +}; + +struct My_visitor : public PMP::Autorefinement::Default_visitor +{ + My_visitor(std::size_t nb_input, std::size_t expected_nb_output) + : nb_input(nb_input) + , expected_nb_output(expected_nb_output) + {} + + ~My_visitor() + { + for(std::size_t i=0; i tgt_check; +}; + +void test_coref_based(const char* fname, std::size_t nb_polylines, std::size_t total_nb_points, + std::size_t nb_vertices_after_autorefine, bool all_fixed, std::size_t nb_vertices_after_fix, + bool triple_intersection) +{ + std::cout << "Running tests (coref based) on " << fname << "\n"; + std::ifstream input(fname); + + Mesh mesh; + if (!input || !(input >> mesh)) + { + std::cerr << " Input mesh is not a valid off file." << std::endl; + exit(EXIT_FAILURE); + } + input.close(); + std::size_t nb_vertices_before_autorefine = num_vertices(mesh); + +// Testing PMP::experimental::surface_self_intersection() + try{ + std::vector< std::vector >polylines; + PMP::experimental::surface_self_intersection(mesh, std::back_inserter(polylines)); + assert(polylines.size() == nb_polylines); + std::size_t total_nb_pt=0; + for(const std::vector& polyline : polylines) + total_nb_pt+=polyline.size(); + assert(total_nb_points == total_nb_pt); + assert( !triple_intersection ); + } + catch(const PMP::Corefinement::Triple_intersection_exception&) + { + assert( triple_intersection ); + } + +// Testing PMP::experimental::autorefine() + try{ + My_exp_visitor visitor; + PMP::experimental::autorefine(mesh, + CGAL::parameters::visitor(visitor)); + mesh.collect_garbage(); + assert( nb_vertices_after_autorefine==num_vertices(mesh)); + assert( (nb_vertices_before_autorefine!=nb_vertices_after_autorefine)== (*(visitor.i) != 0) ); + assert( !triple_intersection ); + } + catch(const PMP::Corefinement::Triple_intersection_exception&) + { + assert( triple_intersection ); + } + +// Testing PMP::experimental::autorefine_and_remove_self_intersections() + try{ + input.open(fname); + mesh.clear(); + input >> mesh; + bool res=PMP::experimental::autorefine_and_remove_self_intersections(mesh); + assert(res==all_fixed); + mesh.collect_garbage(); + assert( nb_vertices_after_fix==num_vertices(mesh)); + assert( !triple_intersection ); + } + catch(const PMP::Corefinement::Triple_intersection_exception&) + { + assert( triple_intersection ); + } +} + +template +void test(const char* fname, std::size_t nb_vertices_after_autorefine, std::size_t expected_nb_output, Tag tag) +{ + std::cout << "Running tests on " << fname; + if (std::is_same_v) + std::cout << " (Sequential)\n"; + else + std::cout << " (Parallel)\n"; + + std::vector points; + std::vector< std::vector > triangles; + if (!CGAL::IO::read_polygon_soup(fname, points, triangles)) + { + std::cerr << " Input mesh is not a valid file." << std::endl; + exit(EXIT_FAILURE); + } + +// Testing autorefine() + My_visitor visitor(triangles.size(), expected_nb_output); + PMP::autorefine_triangle_soup(points, triangles, CGAL::parameters::visitor(visitor).concurrency_tag(tag).apply_iterative_snap_rounding(true)); + assert( nb_vertices_after_autorefine==points.size()); + assert( expected_nb_output==triangles.size()); + assert( !PMP::does_triangle_soup_self_intersect(points, triangles) ); +// CGAL::IO::write_polygon_soup("/tmp/debug.off", points, triangles); +} + +int main(int argc, const char** argv) +{ + // file nb_polylines total_nb_points nb_vertices_after_autorefine all_fixed nb_vertices_after_fix triple_intersection + for (int i=0;i<(argc-1)/9; ++i) + { + test_coref_based(argv[1+9*i], atoi(argv[1+9*i+1]), atoi(argv[1+9*i+2]), + atoi(argv[1+9*i+3]), atoi(argv[1+9*i+4])==0?false:true, atoi(argv[1+9*i+5]), atoi(argv[1+9*i+6])==0?false:true); + test(argv[1+9*i], atoi(argv[1+9*i+7]), atoi(argv[1+9*i+8]), CGAL::Sequential_tag()); +#ifdef CGAL_LINKED_WITH_TBB + test(argv[1+9*i], atoi(argv[1+9*i+7]), atoi(argv[1+9*i+8]), CGAL::Parallel_tag()); +#endif + } +} From 625299bf3e835a280f47abbb659bf9e1d777304e Mon Sep 17 00:00:00 2001 From: lvalque <131978677+LeoValque@users.noreply.github.com> Date: Tue, 8 Apr 2025 10:39:53 +0200 Subject: [PATCH 39/79] Update Polygon_mesh_processing/doc/Polygon_mesh_processing/Concepts/PMPAutorefinementVisitor.h Co-authored-by: Sebastien Loriot --- .../Concepts/PMPAutorefinementVisitor.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Concepts/PMPAutorefinementVisitor.h b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Concepts/PMPAutorefinementVisitor.h index c7494db48791..7b4ef6a1c9d0 100644 --- a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Concepts/PMPAutorefinementVisitor.h +++ b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Concepts/PMPAutorefinementVisitor.h @@ -23,8 +23,7 @@ class PMPAutorefinementVisitor{ /// called for each subtriangle created from a triangle with intersection, `tgt_id` is the position in the triangle container after calling /// `autorefine_triangle_soup()` of the subtriangle, while `src_id` was the position of the original support triangle before calling the function. void new_subtriangle(std::size_t tgt_id, std::size_t src_id); - /// called for each triangle delete because it was or became degenerated, `src_id` was its position before calling `autorefine_triangle_soup()`. - /// A triangle may degenerate inside `autorefine_triangle_soup()` if and only if `apply_iterative_snap_rounding` is set to `true`. + /// called for each input triangle deleted because it was degenerated, `src_id` was the position of the original support triangle before calling the function. Additionally, if `apply_iterative_snap_rounding()` is set to `true`, some extra triangle might become degenerated and will be absent from the output range of triangles. Those triangles are also reported in this function. void delete_triangle(std::size_t src_id); /// @} }; From 5126371bfafb24d214819cb871db2797c04c21ad Mon Sep 17 00:00:00 2001 From: lvalque <131978677+LeoValque@users.noreply.github.com> Date: Tue, 8 Apr 2025 10:52:05 +0200 Subject: [PATCH 40/79] Update Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt Co-authored-by: Sebastien Loriot --- .../doc/Polygon_mesh_processing/Polygon_mesh_processing.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt index 43110b1285c5..64d202af9da5 100644 --- a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt +++ b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt @@ -4,7 +4,7 @@ namespace CGAL { \anchor Chapter_PolygonMeshProcessing \cgalAutoToc -\authors David Coeurjolly, Jaques-Olivier Lachaud, Sylvain Lazard, Konstantinos Katrioplas, Sébastien Loriot, Ivan Pađen, Mael Rouxel-Labbé, Hossam Saeed, Jane Tournois, Léo Valque and Ilker %O. Yaz +\authors David Coeurjolly, Jaques-Olivier Lachaud, Konstantinos Katrioplas, Sébastien Loriot, Ivan Pađen, Mael Rouxel-Labbé, Hossam Saeed, Jane Tournois, Léo Valque and Ilker %O. Yaz \image html neptun_head.jpg \image latex neptun_head.jpg From cc32efa247cc681c9b3e3a9e9467dd01d3989c28 Mon Sep 17 00:00:00 2001 From: lvalque <131978677+LeoValque@users.noreply.github.com> Date: Tue, 8 Apr 2025 10:52:18 +0200 Subject: [PATCH 41/79] Update Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt Co-authored-by: Sebastien Loriot --- .../doc/Polygon_mesh_processing/Polygon_mesh_processing.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt index 64d202af9da5..c0ae33070541 100644 --- a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt +++ b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt @@ -1452,7 +1452,7 @@ used as a reference during the project. The curvature-based sizing field version of isotropic remeshing was added by Ivan Pađen during GSoC 2023, under the supervision of Sébastien Loriot and Jane Tournois. -The `apply_iterative_snap_rounding` option for autorefinement were implemented during 2025. This was implemented by Léo Valque and Sylvain Lazard. The implementation is based on \cgalCite{lazard:hal-04907149}. +The `apply_iterative_snap_rounding` option for autorefinement was implemented in 2025, by Léo Valque, based on his work with Sylvain Lazard \cgalCite{lazard:hal-04907149}. */ } /* namespace CGAL */ From 5b4e02b5c0a5e96e45d74692d22e9b9b31ba7041 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Tue, 8 Apr 2025 10:37:02 +0200 Subject: [PATCH 42/79] use macro to define snap version --- .../snap_polygon_soup.cpp | 2 + .../internal/triangle_soup_snap_rounding.h | 105 +++++++++--------- 2 files changed, 54 insertions(+), 53 deletions(-) diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp b/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp index 29d15359250b..a3a2d3d0ff11 100644 --- a/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp @@ -1,5 +1,7 @@ #define PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE // #define CGAL_PMP_AUTOREFINE_USE_DEFAULT_VERBOSE +// #define PMP_ROUNDING_VERTICES_NAIVE_SNAP +// #define PMP_ROUNDING_VERTICES_FLOAT_SNAP // TODO delete those verbose line macro before release #include diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h index fa7b2062dc17..bafab19a41e5 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h @@ -322,56 +322,10 @@ bool polygon_soup_snap_rounding_impl(PointRange &points, std::cout << "Snap the coordinates of the vertices of the intersecting triangles" << std::endl; #endif -#if 1 - // Version where points are rounded to the center of their voxel. - - // Get all the snap version of the points of the vertices of the intersecting triangles - // Note: points will not be modified here, they will be modified in the next for loop - - //TODO: TBB version of this for loop - - std::vector snap_points; - snap_points.reserve(pairs_of_intersecting_triangles.size() * 3); - - for (auto &pair : pairs_of_intersecting_triangles) - { - for (size_t pi : triangles[pair.first]) - snap_points.emplace_back(snap_p(points[pi])); - for (size_t pi : triangles[pair.second]) - snap_points.emplace_back(snap_p(points[pi])); - } - -#ifdef PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE - std::cout << "Snap the coordinates of the vertices close-by the previous ones" << std::endl; -#endif - - std::sort(snap_points.begin(), snap_points.end()); - snap_points.erase(std::unique(snap_points.begin(), snap_points.end()), snap_points.end()); - - // If the snapped version of a point correspond to one of the previous point, we snap it -#ifdef CGAL_LINKED_WITH_TBB - if constexpr(parallel_execution) - { - tbb::parallel_for(tbb::blocked_range(0, points.size()), - [&](const tbb::blocked_range& r){ - for(size_t pi = r.begin(); pi != r.end(); ++pi){ - Point_3 p_snap=snap_p(points[pi]); - if (std::binary_search(snap_points.begin(), snap_points.end(), p_snap)) - points[pi] = p_snap; - } - } - ); - } else -#endif - for (Point_3 &p : points) - { - Point_3 p_snap = snap_p(p); - if (std::binary_search(snap_points.begin(), snap_points.end(), p_snap)) - p = p_snap; - } - +#if defined(PMP_ROUNDING_VERTICES_NAIVE_SNAP) + // Nothing -#elif 0 +#elif defined(PMP_ROUNDING_VERTICES_CLOSEST_POINT_SNAP) // Version where points in a voxel are rounded to the closest point // Group the points of the vertices of the intersecting triangles by their voxel @@ -420,7 +374,7 @@ bool polygon_soup_snap_rounding_impl(PointRange &points, } } -#elif 0 +#elif defined(PMP_ROUNDING_VERTICES_BARYCENTER_SNAP) // Version where points in a voxel are rounded to their barycenter. // Group the points of the vertices of the intersecting triangles by their voxel @@ -469,7 +423,7 @@ bool polygon_soup_snap_rounding_impl(PointRange &points, } } } -#elif 0 //Zhou et al. version with round on float +#elif defined(PMP_ROUNDING_VERTICES_FLOAT_SNAP) for (auto &pair : pairs_of_intersecting_triangles) { for (size_t pi : triangles[pair.first]) @@ -477,8 +431,53 @@ bool polygon_soup_snap_rounding_impl(PointRange &points, for (size_t pi : triangles[pair.second]) points[pi]=Point_3( (float) to_double(points[pi].x()), (float) to_double(points[pi].y()), (float) to_double(points[pi].z())); } -#else //Naive version - //Nothing +#else // Default Version + // Version where points are rounded to the center of their voxel. + + // Get all the snap version of the points of the vertices of the intersecting triangles + // Note: points will not be modified here, they will be modified in the next for loop + + //TODO: TBB version of this for loop + + std::vector snap_points; + snap_points.reserve(pairs_of_intersecting_triangles.size() * 3); + + for (auto &pair : pairs_of_intersecting_triangles) + { + for (size_t pi : triangles[pair.first]) + snap_points.emplace_back(snap_p(points[pi])); + for (size_t pi : triangles[pair.second]) + snap_points.emplace_back(snap_p(points[pi])); + } + +#ifdef PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE + std::cout << "Snap the coordinates of the vertices close-by the previous ones" << std::endl; +#endif + + std::sort(snap_points.begin(), snap_points.end()); + snap_points.erase(std::unique(snap_points.begin(), snap_points.end()), snap_points.end()); + + // If the snapped version of a point correspond to one of the previous point, we snap it +#ifdef CGAL_LINKED_WITH_TBB + if constexpr(parallel_execution) + { + tbb::parallel_for(tbb::blocked_range(0, points.size()), + [&](const tbb::blocked_range& r){ + for(size_t pi = r.begin(); pi != r.end(); ++pi){ + Point_3 p_snap=snap_p(points[pi]); + if (std::binary_search(snap_points.begin(), snap_points.end(), p_snap)) + points[pi] = p_snap; + } + } + ); + } else +#endif + for (Point_3 &p : points) + { + Point_3 p_snap = snap_p(p); + if (std::binary_search(snap_points.begin(), snap_points.end(), p_snap)) + p = p_snap; + } #endif repair_triangle_soup(points, triangles, np); From 06951abd098ac7233636ccefe3fb18ad2339ea78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Tue, 8 Apr 2025 10:52:40 +0200 Subject: [PATCH 43/79] add missing reserve for the visitor --- .../internal/triangle_soup_snap_rounding.h | 1 + 1 file changed, 1 insertion(+) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h index bafab19a41e5..86115e6717cc 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h @@ -522,6 +522,7 @@ bool polygon_soup_snap_rounding(PointRange &soup_points, bool res=polygon_soup_snap_rounding_impl(soup_points, indexes_soup_triangles, np); soup_triangles.clear(); + soup_triangles.reserve(indexes_soup_triangles.size()); for(const Indexes_range &t: indexes_soup_triangles) soup_triangles.push_back({t[0],t[1],t[2]}); return res; From f3abba459ba77571d22d6c90986ceaea5b962deb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Fri, 25 Apr 2025 17:20:17 +0200 Subject: [PATCH 44/79] Experiment with iterative rotated around x cubes --- .../coplanar_cubes_autorefinement.cpp | 135 ++++++++++++++++++ 1 file changed, 135 insertions(+) create mode 100644 Polygon_mesh_processing/examples/Polygon_mesh_processing/coplanar_cubes_autorefinement.cpp diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/coplanar_cubes_autorefinement.cpp b/Polygon_mesh_processing/examples/Polygon_mesh_processing/coplanar_cubes_autorefinement.cpp new file mode 100644 index 000000000000..af1786345976 --- /dev/null +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/coplanar_cubes_autorefinement.cpp @@ -0,0 +1,135 @@ +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include +typedef CGAL::Exact_predicates_inexact_constructions_kernel Kernel; +typedef Kernel K; +typedef CGAL::Surface_mesh Mesh; +typedef K::Point_3 Point_3; + +typedef CGAL::Simple_cartesian Cartesian; +typedef Cartesian::Point_3 Double_Point_3; + +namespace PMP = CGAL::Polygon_mesh_processing; +namespace params = CGAL::parameters; + +struct Sphere_function { + double radius; + Sphere_function(double r) : radius(r) {} + Kernel::FT operator()(const Kernel::Point_3& p) const { + return p.x()*p.x() + p.y()*p.y() + p.z()*p.z() - radius*radius; + } +}; + +//Thanks Roberto! +K::Aff_transformation_3 +random_rotation(CGAL::Random &gen) +{ + double a=gen.get_double(0,2*CGAL_PI); + + double ca = cos(a); + double sa = sin(a); + + K::Aff_transformation_3 aff(1, 0, 0, + 0, ca,-sa, + 0, sa, ca); + std::cout << "Rotation by " << a << std::endl; + return aff; +} + +int main(int argc, char** argv) +{ + Mesh cube; + std::vector points; + std::vector> faces; + + CGAL::make_hexahedron( + Point_3(-1,-1,-1), + Point_3(1,-1,-1), + Point_3(1,1,-1), + Point_3(-1,1,-1), + Point_3(-1,1,1), + Point_3(-1,-1,1), + Point_3(1,-1,1), + Point_3(1,1,1), + cube, + CGAL::parameters::do_not_triangulate_faces(false) + ); + + std::cout << "Iterative intersection of rotative cubes with snapping" << std::endl; + + int i=0; + CGAL::Random random_gen = argc == 1 ? CGAL::get_default_random() : CGAL::Random(std::stoi(argv[1])); + + Mesh inter=cube; + while(true) + { + std::cout << "Iteration " << i << std::endl; + + CGAL::Real_timer t; + t.start(); + + std::cout << "Add a randomly rotated cube to the scene" << std::endl; + Mesh rotated_cube=cube; + PMP::transform(random_rotation(random_gen), rotated_cube); + + std::cout << "compute_intersection" << std::endl; + bool OK = PMP::corefine_and_compute_intersection(inter, rotated_cube, inter); + + if(!OK){ + std::cout << "No manifold, stop experiment" << std::endl; + exit(0); + } + + points.clear(); + faces.clear(); + PMP::polygon_mesh_to_polygon_soup(inter, points, faces); + + std::cout << "Snapped the points on double" << std::endl; + bool success=PMP::autorefine_triangle_soup(points, faces, CGAL::parameters::apply_iterative_snap_rounding(true).erase_all_duplicates(true).concurrency_tag(CGAL::Parallel_if_available_tag())); + t.stop(); + if(!success){ + std::cout << "Round failed" << std::endl; + exit(0); + } + + //dump model every 100 iterations + if(i%100==0){ + std::cout << "Dump model" << std::endl; + std::vector double_points; + for(auto &p: points) + double_points.emplace_back(CGAL::to_double(p.x()),CGAL::to_double(p.y()),CGAL::to_double(p.z())); + std::ofstream outfile("cubes_"+std::to_string(i)+".off"); + outfile.precision(17); + outfile << "OFF\n" << points.size() << " " << faces.size() << " 0\n"; + for(auto p : points) + outfile << p.x() << " " << p.y() << " " << p.z() << std::endl; + + for(auto &t : faces) + outfile << "3" << " " << t[0] << " " << t[1] << " " << t[2] << std::endl; + outfile.close();// + } + + std::cout << "#points = " << points.size() << " and #triangles = " << faces.size() << " in " << t.time() << " sec.\n\n" << std::endl; + + inter.clear(); + PMP::polygon_soup_to_polygon_mesh(points, faces, inter); + ++i; + } + + return 0; +} + From e44ffbfcf6419fd1765274d20d2801d3f58f6e28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Fri, 25 Apr 2025 17:21:07 +0200 Subject: [PATCH 45/79] Experiment with iterative rotated along all axis cubes --- .../rotated_cubes_autorefinement.cpp | 137 ++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100644 Polygon_mesh_processing/examples/Polygon_mesh_processing/rotated_cubes_autorefinement.cpp diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/rotated_cubes_autorefinement.cpp b/Polygon_mesh_processing/examples/Polygon_mesh_processing/rotated_cubes_autorefinement.cpp new file mode 100644 index 000000000000..b0cfa6b15b99 --- /dev/null +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/rotated_cubes_autorefinement.cpp @@ -0,0 +1,137 @@ +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include +typedef CGAL::Exact_predicates_inexact_constructions_kernel Kernel; +typedef Kernel K; +typedef CGAL::Surface_mesh Mesh; +typedef K::Point_3 Point_3; + +typedef CGAL::Simple_cartesian Cartesian; +typedef Cartesian::Point_3 Double_Point_3; + +namespace PMP = CGAL::Polygon_mesh_processing; +namespace params = CGAL::parameters; + +struct Sphere_function { + double radius; + Sphere_function(double r) : radius(r) {} + Kernel::FT operator()(const Kernel::Point_3& p) const { + return p.x()*p.x() + p.y()*p.y() + p.z()*p.z() - radius*radius; + } +}; + +//Thanks Roberto! +K::Aff_transformation_3 +random_rotation(CGAL::Random &gen) +{ + double a=gen.get_double(0,2*CGAL_PI); + double b=gen.get_double(0,2*CGAL_PI); + double c=gen.get_double(0,2*CGAL_PI); + + double ca = cos(a), cb = cos(b), cc = cos(c); + double sa = sin(a), sb = sin(b), sc = sin(c); + + K::Aff_transformation_3 aff(cb * cc, cc* sa* sb - ca * sc, ca* cc* sb + sa * sc, + cb* sc, ca* cc + sa * sb * sc, ca* sb* sc - cc * sa, + -sb, cb* sa, ca* cb); + std::cout << "Rotation by " << a << " " << b << " " << c << std::endl; + return aff; +} + +int main(int argc, char** argv) +{ + Mesh cube; + std::vector points; + std::vector> faces; + + CGAL::make_hexahedron( + Point_3(-1,-1,-1), + Point_3(1,-1,-1), + Point_3(1,1,-1), + Point_3(-1,1,-1), + Point_3(-1,1,1), + Point_3(-1,-1,1), + Point_3(1,-1,1), + Point_3(1,1,1), + cube, + CGAL::parameters::do_not_triangulate_faces(false) + ); + + std::cout << "Iterative intersection of rotative cubes with snapping" << std::endl; + + int i=0; + CGAL::Random random_gen = argc == 1 ? CGAL::get_default_random() : CGAL::Random(std::stoi(argv[1])); + + Mesh inter=cube; + while(true) + { + std::cout << "Iteration " << i << std::endl; + + CGAL::Real_timer t; + t.start(); + + std::cout << "Add a randomly rotated cube to the scene" << std::endl; + Mesh rotated_cube=cube; + PMP::transform(random_rotation(random_gen), rotated_cube); + + std::cout << "compute_intersection" << std::endl; + bool OK = PMP::corefine_and_compute_intersection(inter, rotated_cube, inter); + + if(!OK){ + std::cout << "No manifold, stop experiment" << std::endl; + exit(0); + } + + points.clear(); + faces.clear(); + PMP::polygon_mesh_to_polygon_soup(inter, points, faces); + + std::cout << "Snapped the points on double" << std::endl; + bool success=PMP::autorefine_triangle_soup(points, faces, CGAL::parameters::apply_iterative_snap_rounding(true).erase_all_duplicates(true).concurrency_tag(CGAL::Parallel_if_available_tag())); + t.stop(); + if(!success){ + std::cout << "Round failed" << std::endl; + exit(0); + } + + //dump model every 100 iterations + if(i%100==0){ + std::cout << "Dump model" << std::endl; + std::vector double_points; + for(auto &p: points) + double_points.emplace_back(CGAL::to_double(p.x()),CGAL::to_double(p.y()),CGAL::to_double(p.z())); + std::ofstream outfile("cubes_"+std::to_string(i)+".off"); + outfile.precision(17); + outfile << "OFF\n" << points.size() << " " << faces.size() << " 0\n"; + for(auto p : points) + outfile << p.x() << " " << p.y() << " " << p.z() << std::endl; + + for(auto &t : faces) + outfile << "3" << " " << t[0] << " " << t[1] << " " << t[2] << std::endl; + outfile.close();// + } + + std::cout << "#points = " << points.size() << " and #triangles = " << faces.size() << " in " << t.time() << " sec.\n\n" << std::endl; + + inter.clear(); + PMP::polygon_soup_to_polygon_mesh(points, faces, inter); + ++i; + } + + return 0; +} + From 465183fbed0b71c361c4dee7bbb2b86c92a8a26f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Fri, 25 Apr 2025 17:23:01 +0200 Subject: [PATCH 46/79] remove visitor of example snap_polygon_soup --- .../snap_polygon_soup.cpp | 31 +------------------ 1 file changed, 1 insertion(+), 30 deletions(-) diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp b/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp index a3a2d3d0ff11..8ec5e8bff864 100644 --- a/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp @@ -1,9 +1,3 @@ -#define PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE -// #define CGAL_PMP_AUTOREFINE_USE_DEFAULT_VERBOSE -// #define PMP_ROUNDING_VERTICES_NAIVE_SNAP -// #define PMP_ROUNDING_VERTICES_FLOAT_SNAP -// TODO delete those verbose line macro before release - #include #include #include @@ -25,21 +19,6 @@ typedef CGAL::Simple_cartesian Cartesian; namespace PMP = CGAL::Polygon_mesh_processing; -struct Track_visitor : PMP::Autorefinement::Default_visitor -{ - // inline void number_of_output_triangles(std::size_t nbt) { std::cout << "total number of triangles: " << nbt << std::endl;} - inline void number_of_output_triangles(std::size_t /*nbt*/) {} - - // inline void verbatim_triangle_copy(std::size_t tgt_id, std::size_t src_id) { std::cout << src_id << " goes to " << tgt_id << std::endl;} - inline void verbatim_triangle_copy(std::size_t /*tgt_id*/, std::size_t /*src_id*/) {} - - // inline void new_subtriangle(std::size_t tgt_id, std::size_t src_id) { std::cout << src_id << " subdivides to " << tgt_id << std::endl;} - inline void new_subtriangle(std::size_t /*tgt_id*/, std::size_t /*src_id*/) {} - - // inline void delete_triangle(std::size_t src_id) { std::cout << src_id << " deleted" << std::endl;} - inline void delete_triangle(std::size_t /*src_id*/) {} -}; - template struct Example{ void operator()(const std::string& filename, int grid_size){ @@ -64,12 +43,7 @@ struct Example{ CGAL::Real_timer t; t.start(); -#if 1 - Track_visitor visitor; - bool success=PMP::autorefine_triangle_soup(input_points, input_triangles, CGAL::parameters::apply_iterative_snap_rounding(true).erase_all_duplicates(true).concurrency_tag(CGAL::Parallel_if_available_tag()).snap_grid_size(grid_size).visitor(visitor)); -#else - bool success=PMP::autorefine_triangle_soup(input_points, input_triangles, CGAL::parameters::apply_iterative_snap_rounding(true).erase_all_duplicates(true).concurrency_tag(CGAL::Parallel_if_available_tag()).snap_grid_size(grid_size).number_of_iterations(15)); -#endif + bool success=PMP::autorefine_triangle_soup(input_points, input_triangles, CGAL::parameters::apply_iterative_snap_rounding(true).erase_all_duplicates(false).concurrency_tag(CGAL::Parallel_if_available_tag()).snap_grid_size(grid_size).number_of_iterations(15)); t.stop(); std::cout << "\nOutput:" << std::endl; std::cout << "#points = " << input_points.size() << " and #triangles = " << input_triangles.size() << " in " << t.time() << " sec." << std::endl; @@ -91,9 +65,6 @@ int main(int argc, char** argv) const std::string filename = argc == 1 ? CGAL::data_file_path("meshes/elephant.off") : std::string(argv[1]); - // const std::string out_file = argc <= 2 ? "rounded_soup.off" - // : std::string(argv[2]); - const int grid_size = argc <= 2 ? 23 : std::stoi(std::string(argv[2])); From b8a0ab4fc58a6ef6033cead75bdfbb2f77ab1c82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Fri, 25 Apr 2025 17:32:53 +0200 Subject: [PATCH 47/79] add data for snap rounding test --- .../data-snap/collapse_1.off | 16 + .../data-snap/collapse_2.off | 19 + .../data-snap/collapse_3.off | 19 + .../data-snap/coplanar_cubes.off | 202 + .../data-snap/cubes.off | 204 + .../data-snap/intersection_when_rounded_1.off | 14 + .../data-snap/intersection_when_rounded_2.off | 15 + .../data-snap/intersection_when_rounded_3.off | 19 + .../data-snap/no_collapse_1.off | 16 + .../data-snap/no_collapse_2.off | 19 + .../data-snap/refined_coplanar_cubes.off | 8756 +++++ .../data-snap/refined_cubes.off | 31076 ++++++++++++++++ 12 files changed, 40375 insertions(+) create mode 100644 Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/collapse_1.off create mode 100644 Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/collapse_2.off create mode 100644 Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/collapse_3.off create mode 100644 Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/coplanar_cubes.off create mode 100644 Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/cubes.off create mode 100644 Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/intersection_when_rounded_1.off create mode 100644 Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/intersection_when_rounded_2.off create mode 100644 Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/intersection_when_rounded_3.off create mode 100644 Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/no_collapse_1.off create mode 100644 Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/no_collapse_2.off create mode 100644 Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/refined_coplanar_cubes.off create mode 100644 Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/refined_cubes.off diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/collapse_1.off b/Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/collapse_1.off new file mode 100644 index 000000000000..b0df88993a7e --- /dev/null +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/collapse_1.off @@ -0,0 +1,16 @@ +OFF +8 4 0 + +0 0 0 +0 1 0 +1 1 0 +1 0 0 +0 0 1 +0 1 1 +1 1 -1e-10 +1 0 -1e-10 +3 0 1 2 +3 0 2 3 +3 4 5 7 +3 5 6 7 + diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/collapse_2.off b/Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/collapse_2.off new file mode 100644 index 000000000000..212333059d33 --- /dev/null +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/collapse_2.off @@ -0,0 +1,19 @@ +OFF +12 4 0 + +-1 -1 -1 +-1 -1 1 +1 -1e-15 0 +-1 1 -1 +-1 1 1 +1 1e-15 0 +0 -1e-15 -1 +0 -1e-15 1 +0 -2 0 +0 1e-15 -1 +0 1e-15 1 +0 2 0 +3 0 1 2 +3 3 4 5 +3 6 7 8 +3 9 10 11 diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/collapse_3.off b/Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/collapse_3.off new file mode 100644 index 000000000000..9e70e0d33034 --- /dev/null +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/collapse_3.off @@ -0,0 +1,19 @@ +OFF +12 4 0 + +-1 -1 -1 +-1 -1 1 +1 -1e-15 0 +1 1 -1 +1 1 1 +1 1e-15 0 +0 -1e-15 -1 +0 -1e-15 1 +0 -2 0 +0 1e-15 -1 +0 1e-15 1 +0 2 0 +3 0 1 2 +3 3 4 5 +3 6 7 8 +3 9 10 11 diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/coplanar_cubes.off b/Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/coplanar_cubes.off new file mode 100644 index 000000000000..dfc01c0eea78 --- /dev/null +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/coplanar_cubes.off @@ -0,0 +1,202 @@ +OFF +80 120 0 +-1 -5.627423701743102e-06 1.4142135623618981 +1 -5.627423701743102e-06 1.4142135623618981 +1 -1.4142135623618981 -5.627423701743102e-06 +-1 -1.4142135623618981 -5.627423701743102e-06 +-1 5.627423701743102e-06 -1.4142135623618981 +-1 1.4142135623618981 5.627423701743102e-06 +1 1.4142135623618981 5.627423701743102e-06 +1 5.627423701743102e-06 -1.4142135623618981 +-1 -4.9339086289293424e-06 1.4142135623644878 +1 -4.9339086289293424e-06 1.4142135623644878 +1 -1.4142135623644878 -4.9339086289293424e-06 +-1 -1.4142135623644878 -4.9339086289293424e-06 +-1 4.9339086289293424e-06 -1.4142135623644878 +-1 1.4142135623644878 4.9339086289293424e-06 +1 1.4142135623644878 4.9339086289293424e-06 +1 4.9339086289293424e-06 -1.4142135623644878 +-1 -4.3072127542901049e-06 1.4142135623665355 +1 -4.3072127542901049e-06 1.4142135623665355 +1 -1.4142135623665355 -4.3072127542901049e-06 +-1 -1.4142135623665355 -4.3072127542901049e-06 +-1 4.3072127542901049e-06 -1.4142135623665355 +-1 1.4142135623665355 4.3072127542901049e-06 +1 1.4142135623665355 4.3072127542901049e-06 +1 4.3072127542901049e-06 -1.4142135623665355 +-1 -3.7949909043547426e-06 1.4142135623680028 +1 -3.7949909043547426e-06 1.4142135623680028 +1 -1.4142135623680028 -3.7949909043547426e-06 +-1 -1.4142135623680028 -3.7949909043547426e-06 +-1 3.7949909043547426e-06 -1.4142135623680028 +-1 1.4142135623680028 3.7949909043547426e-06 +1 1.4142135623680028 3.7949909043547426e-06 +1 3.7949909043547426e-06 -1.4142135623680028 +-1 -3.6070768958898969e-06 1.4142135623684944 +1 -3.6070768958898969e-06 1.4142135623684944 +1 -1.4142135623684944 -3.6070768958898969e-06 +-1 -1.4142135623684944 -3.6070768958898969e-06 +-1 3.6070768958898969e-06 -1.4142135623684944 +-1 1.4142135623684944 3.6070768958898969e-06 +1 1.4142135623684944 3.6070768958898969e-06 +1 3.6070768958898969e-06 -1.4142135623684944 +-1 -2.4904507319126939e-06 1.4142135623709018 +1 -2.4904507319126939e-06 1.4142135623709018 +1 -1.4142135623709018 -2.4904507319126939e-06 +-1 -1.4142135623709018 -2.4904507319126939e-06 +-1 2.4904507319126939e-06 -1.4142135623709018 +-1 1.4142135623709018 2.4904507319126939e-06 +1 1.4142135623709018 2.4904507319126939e-06 +1 2.4904507319126939e-06 -1.4142135623709018 +-1 0.99999891029865429 1.0000010897001574 +1 0.99999891029865429 1.0000010897001574 +1 -1.0000010897001574 0.99999891029865429 +-1 -1.0000010897001574 0.99999891029865429 +-1 -0.99999891029865429 -1.0000010897001574 +-1 1.0000010897001574 -0.99999891029865429 +1 1.0000010897001574 -0.99999891029865429 +1 -0.99999891029865429 -1.0000010897001574 +-1 1.4142135623724554 1.3448878106118537e-06 +1 1.4142135623724554 1.3448878106118537e-06 +1 -1.3448878106118537e-06 1.4142135623724554 +-1 -1.3448878106118537e-06 1.4142135623724554 +-1 -1.4142135623724554 -1.3448878106118537e-06 +-1 1.3448878106118537e-06 -1.4142135623724554 +1 1.3448878106118537e-06 -1.4142135623724554 +1 -1.4142135623724554 -1.3448878106118537e-06 +-1 1.0000000341206472 -0.99999996587935136 +1 1.0000000341206472 -0.99999996587935136 +1 0.99999996587935136 1.0000000341206472 +-1 0.99999996587935136 1.0000000341206472 +-1 -1.0000000341206472 0.99999996587935136 +-1 -0.99999996587935136 -1.0000000341206472 +1 -0.99999996587935136 -1.0000000341206472 +1 -1.0000000341206472 0.99999996587935136 +-1 1.5942993642314858e-08 -1.4142135623730947 +1 1.5942993642314858e-08 -1.4142135623730947 +1 1.4142135623730947 1.5942993642314858e-08 +-1 1.4142135623730947 1.5942993642314858e-08 +-1 -1.5942993642314858e-08 1.4142135623730947 +-1 -1.4142135623730947 -1.5942993642314858e-08 +1 -1.4142135623730947 -1.5942993642314858e-08 +1 -1.5942993642314858e-08 1.4142135623730947 +3 6 7 4 +3 3 2 1 +3 6 1 2 +3 5 0 1 +3 4 3 0 +3 7 2 3 +3 1 0 3 +3 4 5 6 +3 2 7 6 +3 1 6 5 +3 0 5 4 +3 3 4 7 +3 14 15 12 +3 11 10 9 +3 14 9 10 +3 13 8 9 +3 12 11 8 +3 15 10 11 +3 9 8 11 +3 12 13 14 +3 10 15 14 +3 9 14 13 +3 8 13 12 +3 11 12 15 +3 22 23 20 +3 19 18 17 +3 22 17 18 +3 21 16 17 +3 20 19 16 +3 23 18 19 +3 17 16 19 +3 20 21 22 +3 18 23 22 +3 17 22 21 +3 16 21 20 +3 19 20 23 +3 30 31 28 +3 27 26 25 +3 30 25 26 +3 29 24 25 +3 28 27 24 +3 31 26 27 +3 25 24 27 +3 28 29 30 +3 26 31 30 +3 25 30 29 +3 24 29 28 +3 27 28 31 +3 38 39 36 +3 35 34 33 +3 38 33 34 +3 37 32 33 +3 36 35 32 +3 39 34 35 +3 33 32 35 +3 36 37 38 +3 34 39 38 +3 33 38 37 +3 32 37 36 +3 35 36 39 +3 46 47 44 +3 43 42 41 +3 46 41 42 +3 45 40 41 +3 44 43 40 +3 47 42 43 +3 41 40 43 +3 44 45 46 +3 42 47 46 +3 41 46 45 +3 40 45 44 +3 43 44 47 +3 54 55 52 +3 51 50 49 +3 54 49 50 +3 53 48 49 +3 52 51 48 +3 55 50 51 +3 49 48 51 +3 52 53 54 +3 50 55 54 +3 49 54 53 +3 48 53 52 +3 51 52 55 +3 62 63 60 +3 59 58 57 +3 62 57 58 +3 61 56 57 +3 60 59 56 +3 63 58 59 +3 57 56 59 +3 60 61 62 +3 58 63 62 +3 57 62 61 +3 56 61 60 +3 59 60 63 +3 70 71 68 +3 67 66 65 +3 70 65 66 +3 69 64 65 +3 68 67 64 +3 71 66 67 +3 65 64 67 +3 68 69 70 +3 66 71 70 +3 65 70 69 +3 64 69 68 +3 67 68 71 +3 78 79 76 +3 75 74 73 +3 78 73 74 +3 77 72 73 +3 76 75 72 +3 79 74 75 +3 73 72 75 +3 76 77 78 +3 74 79 78 +3 73 78 77 +3 72 77 76 +3 75 76 79 diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/cubes.off b/Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/cubes.off new file mode 100644 index 000000000000..493092d1a6a8 --- /dev/null +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/cubes.off @@ -0,0 +1,204 @@ +OFF +80 120 0 + +-0.61594615543034026 -1.0701741879286757 -1.2146347356723264 +1.0452131429007676 -1.3737111650653515 -0.14299342950741956 +1.5883443594490732 0.52704573278436739 -0.44652546552251943 +-0.072814938882034802 0.83058270992104299 -1.5181667716874265 +-1.0452131429007676 1.3737111650653515 0.14299342950741956 +-1.5883443594490732 -0.52704573278436739 0.44652546552251943 +0.072814938882034802 -0.83058270992104299 1.5181667716874265 +0.61594615543034026 1.0701741879286757 1.2146347356723264 +-0.61594639934604423 -1.0701743934138028 -1.2146344309355146 +1.0452122820086462 -1.3737119347288513 -0.14299232819208521 +1.5883448836888012 0.52704444686667884 -0.44652511853937799 +-0.072813797665889982 0.83058198818172735 -1.518167221282807 +-1.0452122820086462 1.3737119347288513 0.14299232819208521 +-1.5883448836888012 -0.52704444686667884 0.44652511853937799 +0.072813797665889982 -0.83058198818172735 1.518167221282807 +0.61594639934604423 1.0701743934138028 1.2146344309355146 +-0.6159463762173395 -1.07017459735539 -1.2146342629779363 +1.0452117929893034 -1.3737123992443807 -0.14299144015755649 +1.5883452549553072 0.52704365666978259 -0.44652473058622827 +-0.072812914251335584 0.83058145855877352 -1.518167553406609 +-1.0452117929893034 1.3737123992443807 0.14299144015755649 +-1.5883452549553072 -0.52704365666978259 0.44652473058622827 +0.072812914251335584 -0.83058145855877352 1.518167553406609 +0.6159463762173395 1.07017459735539 1.2146342629779363 +-0.61594668912789197 -1.0701744000985252 -1.2146342780961472 +1.0452104492672072 -1.3737135467380566 -0.14299023830665158 +1.5883461040242048 0.52704182836364122 -0.44652386832759344 +-0.072811034370893465 0.83058097500317263 -1.5181679081170896 +-1.0452104492672072 1.3737135467380566 0.14299023830665158 +-1.5883461040242048 -0.52704182836364122 0.44652386832759344 +0.072811034370893465 -0.83058097500317263 1.5181679081170896 +0.61594668912789197 1.0701744000985252 1.2146342780961472 +-0.6159468868925585 -1.070174149353629 -1.2146343987318162 +1.0452090174071582 -1.3737147790282049 -0.14298886603597585 +1.5883470704382798 0.52703987181399814 -0.44652274001266495 +-0.072808833861436925 0.83058050148857432 -1.5181682727085062 +-1.0452090174071582 1.3737147790282049 0.14298886603597585 +-1.5883470704382798 -0.52703987181399814 0.44652274001266495 +0.072808833861436925 -0.83058050148857432 1.5181682727085062 +0.6159468868925585 1.070174149353629 1.2146343987318162 +-0.61594620872112704 -1.0701743005704609 -1.2146346094034179 +1.0452091168725113 -1.3737147792450597 -0.14298813688653067 +1.5883473052656241 0.52703984477504562 -0.44652193661109801 +-0.072808020328014339 0.83058032344964505 -1.5181684091279861 +-1.0452091168725113 1.3737147792450597 0.14298813688653067 +-1.5883473052656241 -0.52703984477504562 0.44652193661109801 +0.072808020328014339 -0.83058032344964505 1.5181684091279861 +0.61594620872112704 1.0701743005704609 1.2146346094034179 +0.015812704102963069 -1.4305657319567158 -0.97633582590218304 +-0.063147971057831695 -1.3970994075162435 1.0218246323460018 +1.3734324159237437 -0.0060147457399582988 1.0552948506097966 +1.4523930910845384 -0.03948107018043074 -0.94286560763838845 +0.063147971057831695 1.3970994075162435 -1.0218246323460018 +-1.3734324159237437 0.0060147457399582988 -1.0552948506097966 +-1.4523930910845384 0.03948107018043074 0.94286560763838845 +-0.015812704102963069 1.4305657319567158 0.97633582590218304 +-0.017005997503037738 -1.7115480160220284 -0.26516822000379986 +-1.4526640017493855 -0.672335677974221 0.66161320584190753 +-0.062496589720092359 0.32138030895690106 1.7008259385628288 +1.3731614145262554 -0.71783202909090671 0.77404451271712071 +1.4526640017493855 0.672335677974221 -0.66161320584190753 +0.062496589720092359 -0.32138030895690106 -1.7008259385628288 +-1.3731614145262554 0.71783202909090671 -0.77404451271712071 +0.017005997503037738 1.7115480160220284 0.26516822000379986 +-0.67677662809399264 -1.5909903432533568 0.10355251489119292 +-1.5303314706074931 -0.030328946305495721 -0.81065760039877899 +-1.0732219475484153 1.1338825933415291 0.75000327720449067 +-0.21966710503491477 -0.42677880360633264 1.6642133924944624 +1.5303314706074931 0.030328946305495721 0.81065760039877899 +1.0732219475484153 -1.1338825933415291 -0.75000327720449067 +0.21966710503491477 0.42677880360633264 -1.6642133924944624 +0.67677662809399264 1.5909903432533568 -0.10355251489119292 +-1.207106772440474 -1.2071067303442111 -0.29289346439627145 +-0.20710789493838763 -0.20710532012834212 -1.7071068233208859 +-0.50000073181889593 1.5000005345367655 -0.70710512978621964 +-1.4999996093209822 0.4999991243208966 0.70710822913839488 +0.20710789493838763 0.20710532012834212 1.7071068233208859 +0.50000073181889593 -1.5000005345367655 0.70710512978621964 +1.4999996093209822 -0.4999991243208966 -0.70710822913839488 +1.207106772440474 1.2071067303442111 0.29289346439627145 +3 6 7 4 +3 3 2 1 +3 6 1 2 +3 5 0 1 +3 4 3 0 +3 7 2 3 +3 1 0 3 +3 4 5 6 +3 2 7 6 +3 1 6 5 +3 0 5 4 +3 3 4 7 +3 14 15 12 +3 11 10 9 +3 14 9 10 +3 13 8 9 +3 12 11 8 +3 15 10 11 +3 9 8 11 +3 12 13 14 +3 10 15 14 +3 9 14 13 +3 8 13 12 +3 11 12 15 +3 22 23 20 +3 19 18 17 +3 22 17 18 +3 21 16 17 +3 20 19 16 +3 23 18 19 +3 17 16 19 +3 20 21 22 +3 18 23 22 +3 17 22 21 +3 16 21 20 +3 19 20 23 +3 30 31 28 +3 27 26 25 +3 30 25 26 +3 29 24 25 +3 28 27 24 +3 31 26 27 +3 25 24 27 +3 28 29 30 +3 26 31 30 +3 25 30 29 +3 24 29 28 +3 27 28 31 +3 38 39 36 +3 35 34 33 +3 38 33 34 +3 37 32 33 +3 36 35 32 +3 39 34 35 +3 33 32 35 +3 36 37 38 +3 34 39 38 +3 33 38 37 +3 32 37 36 +3 35 36 39 +3 46 47 44 +3 43 42 41 +3 46 41 42 +3 45 40 41 +3 44 43 40 +3 47 42 43 +3 41 40 43 +3 44 45 46 +3 42 47 46 +3 41 46 45 +3 40 45 44 +3 43 44 47 +3 54 55 52 +3 51 50 49 +3 54 49 50 +3 53 48 49 +3 52 51 48 +3 55 50 51 +3 49 48 51 +3 52 53 54 +3 50 55 54 +3 49 54 53 +3 48 53 52 +3 51 52 55 +3 62 63 60 +3 59 58 57 +3 62 57 58 +3 61 56 57 +3 60 59 56 +3 63 58 59 +3 57 56 59 +3 60 61 62 +3 58 63 62 +3 57 62 61 +3 56 61 60 +3 59 60 63 +3 70 71 68 +3 67 66 65 +3 70 65 66 +3 69 64 65 +3 68 67 64 +3 71 66 67 +3 65 64 67 +3 68 69 70 +3 66 71 70 +3 65 70 69 +3 64 69 68 +3 67 68 71 +3 78 79 76 +3 75 74 73 +3 78 73 74 +3 77 72 73 +3 76 75 72 +3 79 74 75 +3 73 72 75 +3 76 77 78 +3 74 79 78 +3 73 78 77 +3 72 77 76 +3 75 76 79 + diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/intersection_when_rounded_1.off b/Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/intersection_when_rounded_1.off new file mode 100644 index 000000000000..bd804a21a3ad --- /dev/null +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/intersection_when_rounded_1.off @@ -0,0 +1,14 @@ +OFF +7 3 0 + +0 0 0 +1 2 0 +1 0 0 +0 1 0 +1e-30 0 -8 +1 2 16 +2 2 2 +3 0 1 3 +3 0 2 3 +3 4 5 6 + diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/intersection_when_rounded_2.off b/Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/intersection_when_rounded_2.off new file mode 100644 index 000000000000..622155e02cb5 --- /dev/null +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/intersection_when_rounded_2.off @@ -0,0 +1,15 @@ +OFF +9 3 0 + +0 1 0 +0 0 0 +2 1 0 +1 1 0 +2 0 0 +1.00000000000002 0 0 +1.00000000000001 1e-30 0 +2 -1 0 +1.00000000000002 -1 0 +3 0 1 2 +3 3 4 5 +3 6 7 8 diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/intersection_when_rounded_3.off b/Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/intersection_when_rounded_3.off new file mode 100644 index 000000000000..9cd7437d4e0d --- /dev/null +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/intersection_when_rounded_3.off @@ -0,0 +1,19 @@ +OFF +12 4 0 + +0 0 0 +0 8.000000000001 0 +8.000000000001 0 0 +4.000000000002 4.000000000002 0 +4 8.000000000001 0 +8.000000000001 4 0 +6.000000000002 6.000000000002 0 +6 8.000000000001 0 +8.000000000001 6 0 +6.5 6.5 0 +6.5 8.000000000001 0 +8.000000000001 6.5 0 +3 0 1 2 +3 3 4 5 +3 6 7 8 +3 9 10 11 diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/no_collapse_1.off b/Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/no_collapse_1.off new file mode 100644 index 000000000000..62b413a84975 --- /dev/null +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/no_collapse_1.off @@ -0,0 +1,16 @@ +OFF +8 4 0 + +0 0 0 +0 1 0 +1 1 0 +1 0 0 +0 0 1 +0 1 1 +1 1 1e-10 +1 0 1e-10 +3 0 1 2 +3 0 2 3 +3 4 5 7 +3 5 6 7 + diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/no_collapse_2.off b/Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/no_collapse_2.off new file mode 100644 index 000000000000..754d0a50ba00 --- /dev/null +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/no_collapse_2.off @@ -0,0 +1,19 @@ +OFF +12 4 0 + +1 -1 -1 +1 -1 1 +3 -1e-15 0 +1 1 -1 +1 1 1 +3 1e-15 0 +0 -1e-15 -1 +0 -1e-15 1 +0 -2 0 +0 1e-15 -1 +0 1e-15 1 +0 2 0 +3 0 1 2 +3 3 4 5 +3 6 7 8 +3 9 10 11 diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/refined_coplanar_cubes.off b/Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/refined_coplanar_cubes.off new file mode 100644 index 000000000000..c6727e177cb4 --- /dev/null +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/refined_coplanar_cubes.off @@ -0,0 +1,8756 @@ +OFF +1872 6880 0 + +-1 -5.627423701743102e-06 1.4142135623618981 +1 -5.627423701743102e-06 1.4142135623618981 +1 -1.4142135623618981 -5.627423701743102e-06 +-1 -1.4142135623618981 -5.627423701743102e-06 +-1 5.627423701743102e-06 -1.4142135623618981 +-1 1.4142135623618981 5.627423701743102e-06 +1 1.4142135623618981 5.627423701743102e-06 +1 5.627423701743102e-06 -1.4142135623618981 +-1 -4.9339086289293424e-06 1.4142135623644878 +1 -4.9339086289293424e-06 1.4142135623644878 +1 -1.4142135623644878 -4.9339086289293424e-06 +-1 -1.4142135623644878 -4.9339086289293424e-06 +-1 4.9339086289293424e-06 -1.4142135623644878 +-1 1.4142135623644878 4.9339086289293424e-06 +1 1.4142135623644878 4.9339086289293424e-06 +1 4.9339086289293424e-06 -1.4142135623644878 +-1 -4.3072127542901049e-06 1.4142135623665355 +1 -4.3072127542901049e-06 1.4142135623665355 +1 -1.4142135623665355 -4.3072127542901049e-06 +-1 -1.4142135623665355 -4.3072127542901049e-06 +-1 4.3072127542901049e-06 -1.4142135623665355 +-1 1.4142135623665355 4.3072127542901049e-06 +1 1.4142135623665355 4.3072127542901049e-06 +1 4.3072127542901049e-06 -1.4142135623665355 +-1 -3.7949909043547426e-06 1.4142135623680028 +1 -3.7949909043547426e-06 1.4142135623680028 +1 -1.4142135623680028 -3.7949909043547426e-06 +-1 -1.4142135623680028 -3.7949909043547426e-06 +-1 3.7949909043547426e-06 -1.4142135623680028 +-1 1.4142135623680028 3.7949909043547426e-06 +1 1.4142135623680028 3.7949909043547426e-06 +1 3.7949909043547426e-06 -1.4142135623680028 +-1 -3.6070768958898969e-06 1.4142135623684944 +1 -3.6070768958898969e-06 1.4142135623684944 +1 -1.4142135623684944 -3.6070768958898969e-06 +-1 -1.4142135623684944 -3.6070768958898969e-06 +-1 3.6070768958898969e-06 -1.4142135623684944 +-1 1.4142135623684944 3.6070768958898969e-06 +1 1.4142135623684944 3.6070768958898969e-06 +1 3.6070768958898969e-06 -1.4142135623684944 +-1 -2.4904507319126939e-06 1.4142135623709018 +1 -2.4904507319126939e-06 1.4142135623709018 +1 -1.4142135623709018 -2.4904507319126939e-06 +-1 -1.4142135623709018 -2.4904507319126939e-06 +-1 2.4904507319126939e-06 -1.4142135623709018 +-1 1.4142135623709018 2.4904507319126939e-06 +1 1.4142135623709018 2.4904507319126939e-06 +1 2.4904507319126939e-06 -1.4142135623709018 +-1 0.99999891029865429 1.0000010897001574 +1 0.99999891029865429 1.0000010897001574 +1 -1.0000010897001574 0.99999891029865429 +-1 -1.0000010897001574 0.99999891029865429 +-1 -0.99999891029865429 -1.0000010897001574 +-1 1.0000010897001574 -0.99999891029865429 +1 1.0000010897001574 -0.99999891029865429 +1 -0.99999891029865429 -1.0000010897001574 +-1 1.4142135623724554 1.3448878106118537e-06 +1 1.4142135623724554 1.3448878106118537e-06 +1 -1.3448878106118537e-06 1.4142135623724554 +-1 -1.3448878106118537e-06 1.4142135623724554 +-1 -1.4142135623724554 -1.3448878106118537e-06 +-1 1.3448878106118537e-06 -1.4142135623724554 +1 1.3448878106118537e-06 -1.4142135623724554 +1 -1.4142135623724554 -1.3448878106118537e-06 +-1 1.0000000341206472 -0.99999996587935136 +1 1.0000000341206472 -0.99999996587935136 +1 0.99999996587935136 1.0000000341206472 +-1 0.99999996587935136 1.0000000341206472 +-1 -1.0000000341206472 0.99999996587935136 +-1 -0.99999996587935136 -1.0000000341206472 +1 -0.99999996587935136 -1.0000000341206472 +1 -1.0000000341206472 0.99999996587935136 +-1 1.5942993642314858e-08 -1.4142135623730947 +1 1.5942993642314858e-08 -1.4142135623730947 +1 1.4142135623730947 1.5942993642314858e-08 +-1 1.4142135623730947 1.5942993642314858e-08 +-1 -1.5942993642314858e-08 1.4142135623730947 +-1 -1.4142135623730947 -1.5942993642314858e-08 +1 -1.4142135623730947 -1.5942993642314858e-08 +1 -1.5942993642314858e-08 1.4142135623730947 +1.0472522425446205e-06 -0.70710536822245595 -0.70710819414859105 +1.5171612573569867e-06 -0.70710570042002518 -0.70710786195304531 +1 -0.70710536822245595 -0.70710819414859105 +1 -0.41421176413502092 -1.0000000141331742 +0.41421241659954144 -0.41421132689854423 -1.0000004513669873 +0.41421179825566945 -0.41421176413502092 -1.0000000141331742 +1 -1.4142122421527996 -5.6274184483809722e-06 +0.41421532649272119 -0.99999998586670391 -0.41421536061336883 +1 -1.4142129022593593 -4.9673159095784056e-06 +1 -0.99999998586670391 -0.41421536061336883 +0.41421470814757688 -0.99999954862932716 -0.41421579784808238 +1 -0.70710675706281201 -0.7071068053166949 +1 -0.70710570042002518 -0.70710786195304531 +-1 -0.41421358311013412 0.99999998586676453 +1 -0.70710429766263272 -0.70710926470189328 +-0.41421409945655518 -0.41421413357720294 0.99999998586674588 +1 -0.70710508176635489 -0.70710848060294729 +-1 -0.41421413357720294 0.99999998586674588 +1 -0.70710480242009988 -0.70710875994750055 +6.42325801810045e-07 -0.70710508176635489 -0.70710848060294729 +-1 -0.41421460808516108 0.99999998586672967 +1 -0.99999954862932716 -0.41421579784808238 +1 -0.41421132689854423 -1.0000004513669873 +0.99999696561865625 2.1615745945134508e-06 -1.4142114167414452 +1 1.3448849935110308e-06 -1.4142106000568191 +0.99999790532213817 2.8260473227516224e-06 -1.4142120812101262 +1 2.1615745945134508e-06 -1.4142114167414452 +1 2.8260473227516224e-06 -1.4142120812101262 +0.99999871535607943 3.398829559955419e-06 -1.4142126539888742 +1 3.398829559955419e-06 -1.4142126539888742 +0.99999950492930911 3.9571438454623321e-06 -1.4142132122997593 +1 3.9571438454623321e-06 -1.4142132122997593 +0.99999963780452195 4.0511010956670354e-06 -1.4142133062564368 +-1 4.3644480092760405e-06 -1.4142129929078417 +1 4.0511010956670354e-06 -1.4142133062564368 +-1 4.9339064425140725e-06 -1.4142129356690298 +-1 4.7112042509568608e-06 -1.4142126461497391 +-0.99999955685919528 -1.4142132490177133 -4.6205596678984154e-06 +-0.41421354898948659 -0.41421358311013412 0.99999998586676453 +-1 0.41421562019964708 -0.99999998586669503 +-1 5.6274184483809722e-06 -1.4142122421527996 +-1 5.6274209421172637e-06 -1.4142128688473354 +-0.999999066470322 -1.4142129022593593 -4.9673159095784056e-06 +1 -1.4142132490177133 -4.6205596678984154e-06 +1 -1.4142129356690298 -4.9339064425140725e-06 +-0.41421470814757655 -0.99999954862932716 -0.41421579784808238 +0.41421457396451344 -0.41421460808516108 0.99999998586672967 +-1 0.70710459903014478 0.70710896333633033 +-6.4231894401918411e-07 -0.70710508176635489 -0.70710848060294729 +-1 -0.41421507060726859 0.9999999858667139 +-1.517224690304876e-06 -0.70710570042002518 -0.70710786195304531 +0.41421503648662095 -0.41421507060726859 0.9999999858667139 +-1.0474278132136602e-06 -0.70710536822245595 -0.70710819414859105 +-1 -0.41421514844388285 0.99999998586671124 +-2.4726488487231163e-07 -0.70710480242009988 -0.70710875994750055 +2.4780592835629286e-07 -0.70710480242009988 -0.70710875994750055 +2.2135358259900982e-07 -0.70710447105579455 -0.7071090913097875 +0.41421532649272119 -0.41421536061336883 0.99999998586670391 +-1.8105818004058841e-07 -0.70710475560474739 -0.70710880676256793 +1.8113736352211646e-07 -0.70710475560474739 -0.70710880676256793 +-1 0.70710447258266695 0.70710908978325104 +-1 -0.41421562019964708 0.99999998586669503 +1 -0.70710447105579455 -0.7071090913097875 +-1 -0.41421536061336883 0.99999998586670391 +-1 0.70710442567178888 0.70710913669375586 +4.6656779705704849e-07 -0.70710429766263272 -0.70710926470189328 +-1 4.6205596678984154e-06 -1.4142132490177133 +1 -0.70710475560474739 -0.70710880676256793 +0.4142140994565553 -0.41421413357720294 0.99999998586674588 +-1 0.41421590746343606 -0.99999998586668526 +-1 -3.6070677364198332e-06 1.4142099712482707 +-1 -3.9791894601434173e-06 0.99999999999986477 +-1 -3.7949807634571122e-06 1.4142097833352398 +-1 -2.5505885333531454e-06 0.9999999999999134 +-1 -3.9791894601290618e-06 0.99999999999625722 +-1 -3.4888002492807989e-06 0.99999999999679146 +-1 -3.4888002492915791e-06 0.99999999999988143 +-1 -4.9339062093955621e-06 1.4142128688499249 +-1 -4.9339064425140725e-06 1.4142129356690298 +-1 -4.9673159095784056e-06 1.4142129022593593 +-1 -1.5942930382230834e-08 1.414207950925785 +-1 -1.7610146007490924e-06 0.99999999999994027 +-1 -5.6165259335338504e-07 0.99999999999998135 +0.41421511432323521 -0.41421514844388285 0.99999998586671124 +0.41421354898948648 -0.41421358311013412 0.99999998586676453 +-1 0 0 +0.41421587334278842 -0.41421590746343606 0.99999998586668526 +-1 -4.9338961076002836e-06 1.4142099733573321 +-0.41421532649272164 -0.99999998586670391 -0.41421536061336883 +1 1.0000000141332159 -0.41421299116919064 +-1 -5.6274066607988297e-06 1.4142092798454602 +1 1.0000000141331999 -0.41421251666175163 +-1 -4.9338914712191083e-06 1.4142086444245061 +1 1.0000004513683245 -0.41421255393325052 +-1 -1.4142132490177133 -4.6205596678984154e-06 +1 1.000000014133184 -0.4142120541404567 +5.2753194543519555e-07 -5.6165259335338504e-07 0.99999999999998135 +1 0.70710913669375586 -0.70710442567178888 +1 1.0000000141331813 -0.4142119763040093 +-1 -1.4142129022593593 -4.9673159095784056e-06 +-1 -2.6834638030199255e-06 0.99999999999990896 +0.41421558607899944 -0.41421562019964708 0.99999998586669503 +-1 1.4142107566382753 2.821677749811849e-06 +-1 -0.41421590746343606 0.99999998586668526 +-1 1.4142114211057155 3.486150478047543e-06 +-1 0.99999998586676453 0.41421358311013412 +1 1.0000004513689245 -0.41421310440035597 +-1 -1.4142129929078417 -4.3644480092760405e-06 +-1 -1.4142126461497391 -4.7112042509568608e-06 +1 1.000000014133235 -0.41421354163605539 +-1 0.99999998586669503 0.41421562019964708 +-1 0.99999998586668526 0.41421590746343606 +1 0.70710773389074988 -0.70710582848232351 +1 0.70710768687741643 -0.70710587549565806 +-1 0.99999954862904428 0.41421605743424716 +1 0.70710801903637899 -0.70710554333500109 +-1 -1.4142125521932365 -4.6172470007526945e-06 +1 0.41421354163605539 1.000000014133235 +1 0.70710503819326886 0.70710852417715042 +-1 0.70710801903637899 -0.70710554333500109 +1 0.41421299116919064 1.0000000141332159 +-1 0.4142120541404567 1.000000014133184 +-1 0.707108305450872 -0.70710525691904702 +1 0.70710848060294729 -0.70710508176635489 +-0.41421255078239982 0.41421251666175163 1.0000000141331999 +1 0.70710863723668727 -0.70710492513206313 +-1 0.7071077398562291 -0.70710582251568188 +1 0.70710835080647261 -0.70710521156427641 +-1 1.4142129929078417 4.3644480092760405e-06 +-0.41421208826110489 0.4142120541404567 1.000000014133184 +-1 0.70710549629687014 0.70710806607442045 +1 0.70710835253767002 -0.70710520983208336 +-1 0.41421176413502092 1.0000000141331742 +-1 0.70710554333500109 0.70710801903637899 +-1 1.4142133062564368 4.0511010956670354e-06 +-0.4142120104246575 0.4142119763040093 1.0000000141331813 +-1 0.70710582848232351 0.70710773389074988 +-0.99999963780452195 1.4142133062564368 4.0511010956670354e-06 +1 0.70710819414859105 -0.70710536822245595 +-0.41421179825566912 0.41421176413502092 1.0000000141331742 +-1 -1.4142123406408573 -3.7121764735660115e-06 +0.99999986712473898 -3.701033654149853e-06 1.4142134684112566 +1 0.70710806607442045 -0.70710549629687014 +-1 0.41421121728652888 1.0000000141331555 +-1 -1.4142128989512468 -4.2704907590715828e-06 +-0.41421153867008587 0.41421150454943756 1.0000000141331653 +-1 -1.4142119938833941 -4.0589327152487359e-06 +-0.41421125140717707 0.41421121728652888 1.0000000141331555 +1 0.70710475177275978 0.70710881059538022 +-1 0.70710644091289376 0.70710712146019339 +-0.99999894442045312 -1.0000000341206112 0.99999891029980459 +-1 0.70710615462878179 0.70710740774429914 +-1 0.7071060106513436 0.70710755172092532 +-0.99999894442045378 -1.0000000341206112 0.99999891029980459 +-1 -1.4142117678626165 -3.1393942363633888e-06 +-0.41421525499740508 -0.41421634469791047 0.99999954862873119 +0.41421496773374156 -0.41421605743424716 0.99999954862904428 +-1 -3.701033654149853e-06 1.4142134684112566 +-1 -1.4142114211057155 -3.486150478047543e-06 +0.41421525499740519 -0.41421634469791047 0.99999954862873119 +-1 -3.6070764165986775e-06 1.4142133744545236 +-1 -1.4142107566382753 -2.821677749811849e-06 +-0.41421496773374167 -0.41421605743424716 0.99999954862904428 +0.99999907755122308 -3.1427193686419243e-06 1.4142129100999679 +-0.99999826751698828 -2.5699371314372527e-06 1.4142123373208046 +1 0.70710675705990278 0.70710680531378567 +0.41421470814757655 -0.41421579784808238 0.99999954862932716 +-1 -0.99999954862964313 -0.41421550784210892 +1 0.70710675706065973 0.70710680531454284 +-1 -0.99999954862955831 -0.41421558567868921 +-0.41421470814757688 -0.41421579784808238 0.99999954862932716 +-1 -3.1427193686419243e-06 1.4142129100999679 +-1 -0.707106010652091 -0.70710755172167294 +-0.41421449597818372 -0.41421558567868921 0.99999954862955831 +1 0.99999954863014717 0.41421504532020359 +-0.99999732781316619 -1.9054644031982755e-06 1.4142116728516427 +-1 -1.0000000141331653 0.41421150454943756 +-1 -0.41421150454943756 -1.0000000141331653 +1 -0.99999999999990896 -2.6834638030199255e-06 +-1 -1.0000004513667045 0.4142110673128474 +-1 0.41421153906762542 1.0000004513672187 +-1 -0.41421121728652888 -1.0000000141331555 +1 -1.4142097833352398 -3.7949807634571122e-06 +-1 -1.0000000141331555 0.41421121728652888 +-0.41421441814160342 -0.41421550784210892 0.99999954862964313 +0.41421262876862275 0.41421153906762542 1.0000004513672187 +1 -0.9999999999999134 -2.5505885333531454e-06 +0.41421449597818338 -0.41421558567868921 0.99999954862955831 +-1 -0.70710414097551078 -0.70710942138776822 +0.41421395561969776 -0.41421504532020359 0.99999954863014717 +-1 -1.0000004513663918 0.41421078004981304 +-0.41421395561969809 -0.41421504532020359 0.99999954863014717 +-1 -0.70710942138776822 0.70710414097551078 +-1 -0.41421176413502092 -1.0000000141331742 +-0.41421348111194756 -0.41421457081245294 0.99999954863066409 +-0.41421348111194667 -0.41421457081245294 0.99999954863066409 +-1 -0.7071090913097875 0.70710447105579455 +1 0.70710675706510773 0.70710680531899084 +1 0.70710675706382498 0.70710680531770786 +-0.41421293064511933 -0.41421402034562482 0.99999954863126406 +1 0.70710554376273826 0.70710801861032868 +-0.41421293064511866 -0.41421402034562482 0.99999954863126406 +-1 -2.5699371314372527e-06 1.4142123373208046 +-1 -0.70710863233747046 0.70710493003078101 +-1 -2.4904484346015815e-06 1.4142122578325345 +1 0.7071090913097875 -0.70710447105579455 +-1 -0.70710880676256793 0.70710475560474739 +1 0.70710942138776822 -0.70710414097551078 +-1 -0.70710875994750055 0.70710480242009988 +-1 -1.9054644031982755e-06 1.4142116728516427 +1 -0.41421579784808238 0.99999954862932716 +1 0.70710926470189328 -0.70710429766263272 +-1 -0.70710848060294729 0.70710508176635489 +1 0.41421132689854423 1.0000004513669873 +1 1.3448854806206061e-06 -1.4142111122757286 +-1 -0.70710891645828933 0.70710464590851285 +-1 -1.5942951039770996e-08 1.4142097833403313 +1 0.4142110673128474 1.0000004513667045 +-1 -0.70710896333633033 0.70710459903014478 +1 0.70710880676256793 -0.70710475560474739 +0.41421241659954189 0.41421132689854423 1.0000004513669873 +-1 3.7949843296088637e-06 -1.4142111122712766 +1 -0.41421605743424716 0.99999954862904428 +1 0 0 +1 -0.70710549629687014 -0.70710806607442045 +-1 4.3072037320858006e-06 -1.4142106000508998 +1 -0.41421634469791047 0.99999954862873119 +-1 3.7949807634571122e-06 -1.4142097833352398 +1 -0.70710520983208336 -0.70710835253767002 +-0.41421470814757655 0.99999954862932716 0.41421579784808238 +1 -0.70710537039482446 -0.70710819197823849 +1 0.70710852417715042 -0.70710503819326886 +-1 -0.41421558567868921 0.99999954862955831 +1 1.4142099712482707 3.6070677364198332e-06 +0.41421186975081092 0.41421078004981304 1.0000004513663918 +-1 0.4142119763040093 1.0000000141331813 +1 -0.70710521156427641 -0.70710835080647261 +-1 -0.41421579784808238 0.99999954862932716 +-1 0.99999954862955831 0.41421558567868921 +1 1.4142097833352398 3.7949807634571122e-06 +1 -0.41421150454943756 -1.0000000141331653 +0.41421215701384506 0.4142110673128474 1.0000004513667045 +1 -0.70710503819326886 -0.70710852417715042 +1 0.70710819197823849 -0.70710537039482446 +-1 -0.70710680531596992 0.70710675706208703 +1 1.4142111122712766 3.7949843296088637e-06 +-0.41421449597818338 0.99999954862955831 0.41421558567868921 +1 0.41421078004981304 1.0000004513663918 +1 -0.4142110673128474 -1.0000004513667045 +-1 -0.70710680531770786 0.70710675706382498 +-1 0.99999954862964313 0.41421550784210892 +1 0.41421255393325052 1.0000004513683245 +-1 -0.70710801861032868 0.70710554376273826 +-1 0.41421550784210892 -0.99999954862964313 +1 0.41421207942560401 1.0000004513678076 +-1 -0.70710786195304531 0.70710570042002518 +1 0.70710908978325104 -0.70710447258266695 +0.41421364363424817 0.41421255393325052 1.0000004513683245 +-1 -0.41421605743424716 0.99999954862904428 +1 2.821677749811849e-06 -1.4142107566382753 +-1 -0.70710508176635489 -0.70710848060294729 +-1 0.70710520983208336 0.70710835253767002 +-1 0.41421504532020359 -0.99999954863014717 +-1 0.41421507060726859 -0.9999999858667139 +1 0.70710801861032868 -0.70710554376273826 +-0.41421293064511866 0.99999954863126406 0.41421402034562482 +1 0.70710786195304531 -0.70710570042002518 +-1 -0.70710429766263272 -0.70710926470189328 +-1 -0.4142119763040093 -1.0000000141331813 +1 0.707108305450872 -0.70710525691904702 +-1 -0.7071068053166949 0.70710675706281201 +-1 -0.70710442567178888 -0.70710913669375586 +0.41421262876862308 0.41421153906762542 1.0000004513672187 +1 0.7071077398562291 -0.70710582251568188 +-1 -0.4142120541404567 -1.000000014133184 +0.41421270660510456 0.41421161690410679 1.0000004513673035 +-1 -0.70710447258266695 -0.70710908978325104 +1 0.41421153906762542 1.0000004513672187 +-1 -0.41421251666175163 -1.0000000141331999 +1 0.70710863233747046 -0.70710493003078101 +1 0.41421161690410679 1.0000004513673035 +-1 -0.99999998586672967 -0.41421460808516108 +0.41421316912660167 0.41421207942560401 1.0000004513678076 +-8.6635667105491646e-07 0.70710549629687014 0.70710806607442045 +1 0.70710875994750055 -0.70710480242009988 +-1 4.9339001042149158e-06 -1.4142111189129234 +-1 -0.9999999858667139 -0.41421507060726859 +-4.6123537141686579e-07 0.70710520983208336 0.70710835253767002 +-1 -0.41421550784210892 0.99999954862964313 +1 0.70710881059538022 -0.70710475177275978 +-1 4.9338961076002836e-06 -1.4142099733573321 +-1 -0.99999954863014717 -0.41421504532020359 +-6.5537636909801547e-08 0.70710493003078101 0.70710863233747046 +-1 2.4904452076758723e-06 -1.4142104254083692 +-1 0.70710493003078101 0.70710863233747046 +-1 2.4904463742798747e-06 -1.4142110878696581 +-1.8105818004058841e-07 0.70710475560474739 0.70710880676256793 +-1 2.821677749811849e-06 -1.4142107566382753 +-6.4799388093628461e-07 0.70710442567178888 0.70710913669375586 +1 1.3448837380274076e-06 -1.4142092798560162 +-4.6696231648954378e-07 -0.70710429766263272 -0.70710926470189328 +1 -0.70710554376273826 -0.70710801861032868 +-2.2178732010240601e-07 -0.70710447105579455 -0.7071090913097875 +1 9.5097929081917057e-07 -0.99999999999996803 +-1 -5.2806648706082577e-06 1.4142132156058267 +-1 -0.99999998586671124 -0.41421514844388285 +1 5.6165259335338504e-07 -0.99999999999998135 +-1 -0.70710587549565806 -0.70710768687741643 +1 -0.70710675706510773 -0.70710680531899084 +-1 -0.99999954862904428 -0.41421605743424716 +-4.0276975021769132e-07 0.70710459903014478 0.70710896333633033 +1 -0.99999891030095478 -0.99999897854217856 +-1 -0.99999954862932716 -0.41421579784808238 +-0.41421511432323566 0.99999998586671124 0.41421514844388285 +1 -0.41421457081245294 0.99999954863066409 +1 0.70710896333633033 -0.70710459903014478 +-1 -0.99999998586669503 -0.41421562019964708 +1 -0.41421121728652888 -1.0000000141331555 +1 0.70710712146019339 -0.70710644091289376 +1 -0.41421504532020359 0.99999954863014717 +1 0.70710891645828933 -0.70710464590851285 +0.41421179825566945 0.41421176413502092 1.0000000141331742 +1 0.70710675706184412 0.70710680531572723 +0.41421441814160342 -0.41421550784210892 0.99999954862964313 +1 -0.70710675706208703 -0.70710680531596992 +1 0.70710675706208703 0.70710680531596992 +1 0.41421176413502092 1.0000000141331742 +1 -0.70710582848232351 -0.70710773389074988 +1 0.99999954862955831 0.41421558567868921 +-1 -4.9339046554777011e-06 1.4142124234481392 +1 0.70710755172092532 -0.7071060106513436 +1 -0.41421550784210892 0.99999954862964313 +1 -0.70710492513206313 -0.70710863723668727 +1 -0.99999954862873119 -0.41421634469791047 +1 -0.41421558567868921 0.99999954862955831 +1 -0.99999954862904428 -0.41421605743424716 +-1 0.70710601065223466 0.70710755172181639 +1 -0.70710675706382498 -0.70710680531770786 +1 1.0000000341205753 -0.99999785472137259 +-1 -0.70710582848232351 -0.70710773389074988 +1 0.70710740774429914 -0.70710615462878179 +-1 -0.70710601065268919 -0.70710755172227113 +1 1.3448843975403732e-06 -1.4142099733652991 +1 0.99999954862964313 0.41421550784210892 +1 0.70710755172387008 -0.70710601065428835 +-1 -0.70710554333500109 -0.70710801903637899 +1 0.70710755172132966 -0.70710601065174794 +1 0.70710755172167294 -0.707106010652091 +-1 0.99999998586671124 0.41421514844388285 +1 1.4142106000508998 4.3072037320858006e-06 +-0.99999870427518212 1.4142126461497391 4.7112042509568608e-06 +-1 2.4904464289588127e-06 -1.4142111189193374 +-1 -0.70710773389074988 0.70710582848232351 +0.41421419410135363 0.41421310440035597 1.0000004513689245 +-1 1.4142126461497391 4.7112042509568608e-06 +-1 -0.70710819197823849 0.70710537039482446 +1 -0.41421078004981304 -1.0000004513663918 +1 0.41421310440035597 1.0000004513689245 +1 0.70710755172295325 -0.70710601065337153 +1 0.70710570042002518 0.70710786195304531 +-0.99999919466387799 1.4142129929078417 4.3644480092760405e-06 +1 -0.41421255393325052 -1.0000004513683245 +-1 3.6070677364198332e-06 -1.4142099712482707 +1 0.41421605743424716 -0.99999954862904428 +1 -0.41421299116919064 -1.0000000141332159 +0.41421470814757688 0.99999954862932716 0.41421579784808238 +1 0.70710755172227113 -0.70710601065268919 +-1 4.0589327152487359e-06 -1.4142119938833941 +-1 -0.70710680531899084 0.70710675706510773 +1 -0.41421251666175163 -1.0000000141331999 +-1 4.3072072210625338e-06 -1.4142117456080139 +1 0.70710675706281201 0.7071068053166949 +1 0.41421579784808238 -0.99999954862932716 +-1 -0.41421299116919064 -1.0000000141332159 +1 -0.4142119763040093 -1.0000000141331813 +-1 3.7949859870972158e-06 -1.4142117299387666 +-1 0.99999999999998135 5.6165259335338504e-07 +-1 -0.70710570042002518 -0.70710786195304531 +1 -0.41421161690410679 -1.0000004513673035 +-1 3.7121764735660115e-06 -1.4142123406408573 +-5.2804815822447777e-07 0.99999999999998135 5.6165259335338504e-07 +4.6656779705704849e-07 0.70710429766263272 0.70710926470189328 +1 -1.0000000341206112 0.99999891029980459 +-1 -0.70710475177275978 -0.70710881059538022 +1 -0.70710675705990278 -0.70710680531378567 +-1 3.7949874036732542e-06 -1.4142122578296354 +-0.4142118697508107 1.0000004513663918 -0.41421078004981304 +1 0.99999954863066409 0.41421457081245294 +1 0.70710429766263272 0.70710926470189328 +-1 -0.70710503819326886 -0.70710852417715042 +-1 3.6070735116928559e-06 -1.4142122355386286 +1 -0.70710675706065973 -0.70710680531454284 +-1 -5.6274156624176143e-06 1.4142115420194217 +-1 4.3072087333829235e-06 -1.4142122421574363 +1 -0.4142120541404567 -1.000000014133184 +-1 -0.41421354163605539 -1.000000014133235 +1 -0.99999954863014717 -0.41421504532020359 +-1 0.99999954863066409 0.41421457081245294 +-1 -4.9339001042149158e-06 1.4142111189129234 +-1 4.6172470007526945e-06 -1.4142125521932365 +-1 -4.9339039998849759e-06 1.4142122355346221 +1 -0.41421310440035597 -1.0000004513689245 +1 -1.4142117456123802 -2.4904475325744111e-06 +-0.41421395561969776 0.99999954863014717 0.41421504532020359 +-1 -0.99999954862873119 -0.41421634469791047 +-1 4.9339039998849759e-06 -1.4142122355346221 +-1 -0.99999891029980459 -1.0000000341206112 +-1 0.99999954863126406 0.41421402034562482 +-1 0.99999954863014717 0.41421504532020359 +-1 -0.70710536822245595 -0.70710819414859105 +1 -1.4142099712482707 -3.6070677364198332e-06 +-1 -0.99999785472137259 -1.0000000341205753 +1 0.99999891030095478 0.99999897854217856 +1 -1.4142104254083692 -2.4904452076758723e-06 +1 -0.41421354163605539 -1.000000014133235 +-0.41421441814160342 0.99999954862964313 0.41421550784210892 +1 -1.4142111189193374 -2.4904464289588127e-06 +1 -0.99999999999994027 -1.7610146007490924e-06 +-1 4.9339046554777011e-06 -1.4142124234481392 +1 0.99999954862932716 0.41421579784808238 +1 -1.4142117678626165 -3.1393942363633888e-06 +-1 0.70710475560474739 0.70710880676256793 +1 0.70710537039482446 0.70710819197823849 +-1 -0.99999897854217856 0.99999891030095478 +-1 0.99999954862932716 0.41421579784808238 +1 -1.4142111033945248 -2.4749215081263209e-06 +-0.41421496773374156 0.99999954862904428 0.41421605743424716 +-1 -0.70710475560474739 -0.70710880676256793 +1 -1.4142110878696581 -2.4904463742798747e-06 +-1 -1.0000000341206112 0.99999891029980459 +-1 -0.70710480242009988 -0.70710875994750055 +-1 0.99999891029980459 1.0000000341206112 +-1 3.6070717428275427e-06 -1.4142115420260177 +1 -1.4142120812101262 -2.8260473227516224e-06 +-1 -1.0000000141331742 0.41421176413502092 +1 0.70710755172181639 -0.70710601065223466 +-1 0.99999954862873119 0.41421634469791047 +1 0.41421413357720294 -0.99999998586674588 +0.4142118697508107 0.41421078004981304 1.0000004513663918 +-1 3.1393942363633888e-06 -1.4142117678626165 +1 -1.4142122355386286 -3.6070735116928559e-06 +-0.41421525499740519 0.99999954862873119 0.41421634469791047 +1 0.41421358311013412 -0.99999998586676453 +1.8113736352211646e-07 0.70710475560474739 0.70710880676256793 +1 1.0000000141331742 -0.41421176413502092 +-1 0.99999785472137259 1.0000000341205753 +-1 -0.70710926470189328 0.70710429766263272 +-1 4.3072106219163663e-06 -1.4142128622311967 +5.2804815822447777e-07 -5.6165259335338504e-07 0.99999999999998135 +1 0.41421402034562482 -0.99999954863126406 +-1 -0.70710819414859105 0.70710536822245595 +1 -1.4142114211057155 -3.486150478047543e-06 +1 0.41421457081245294 -0.99999954863066409 +-1 0.99999999999955702 9.5097929081877987e-07 +-1 -0.70710835080647261 0.70710521156427641 +1 -1.4142129100999679 -3.1427193686419243e-06 +4.0256669604646163e-07 0.70710459903014478 0.70710896333633033 +-1 -2.821677749811849e-06 1.4142107566382753 +1 -1.414212862233156 -3.6070751101327312e-06 +-0.99999652247919601 -2.4749215081263209e-06 1.4142111033945248 +1 0.70710536822245595 0.70710819414859105 +1 -0.41421153906762542 -1.0000004513672187 +1 -1.4142133744545236 -3.6070764165986775e-06 +-0.99999603209181065 -2.821677749811849e-06 1.4142107566382753 +-1 3.7949878481139455e-06 -1.4142124234516538 +1 0.70710508176635489 0.70710848060294729 +6.4773177617312192e-07 0.70710442567178888 0.70710913669375586 +1 -1.4142124457436531 -3.607074047839381e-06 +1.7387081147718321e-06 -0.70710801861032868 0.70710554376273826 +1 -0.41421207942560401 -1.0000004513678076 +1 -1.4142123406408573 -3.7121764735660115e-06 +1.9838873668355759e-06 -0.70710819197823849 0.70710537039482446 +-1 -0.70710537039482446 -0.70710819197823849 +6.42325801810045e-07 0.70710508176635489 0.70710848060294729 +-1 0.99999999999996803 9.5097929081917057e-07 +1 -1.4142124234516538 -3.7949878481139455e-06 +0.41421201042465794 0.4142119763040093 1.0000000141331813 +-1 -3.6070711259902009e-06 1.4142113001848373 +-1 4.3072108455892244e-06 -1.4142129356710771 +1 -0.70710582251568188 -0.7071077398562291 +-1 -0.70710768687741643 0.70710587549565806 +-0.99999894442045312 -0.99999891029980459 -1.0000000341206112 +1 -1.4142115420260177 -3.6070717428275427e-06 +1 -0.70710615462878179 -0.70710740774429914 +-1 -3.486150478047543e-06 1.4142114211057155 +1 -0.70710644091289376 -0.70710712146019339 +1 -1.0000004513669873 0.41421132689854423 +-1 -0.70710680531572723 0.70710675706184412 +1 -1.0000000141331653 0.41421150454943756 +0.99999732781316641 -1.9054644031982755e-06 1.4142116728516427 +1.3360538202768862e-06 -0.70710773389074988 0.70710582848232351 +1 -0.70710493003078101 -0.70710863233747046 +-1 -0.70710680531378567 0.70710675705990278 +-1 -0.7071068053134888 0.70710675705960568 +1.5171612573569867e-06 -0.70710786195304531 0.70710570042002518 +2.2135358259900982e-07 0.70710447105579455 0.7071090913097875 +0.99999826751698873 -2.5699371314372527e-06 1.4142123373208046 +-1 -0.41421457081245294 0.99999954863066409 +1 -0.41421402034562482 0.99999954863126406 +8.7481308101752743e-07 -0.70710740774429914 0.70710615462878179 +0.9999990775512233 -3.1427193686419243e-06 1.4142129100999679 +1 -1.414207950925785 -1.5942930382230834e-08 +1.2695669256732695e-06 -0.70710768687741643 0.70710587549565806 +-1 -0.70710549629687014 -0.70710806607442045 +1 0.99999954862873119 0.41421634469791047 +-1 -0.70710740774429914 0.70710615462878179 +1 -1.0000004513667045 0.4142110673128474 +1 1.4142111189129234 4.9339001042149158e-06 +-1 -0.70710712146019339 0.70710644091289376 +1 1.4142117456080139 4.3072072210625338e-06 +1 0.4142120541404567 1.000000014133184 +-1 -0.70710680531454284 0.70710675706065973 +1 -1.4142113001848373 -3.6070711259902009e-06 +-1 -3.6070717428275427e-06 1.4142115420260177 +1 -0.70710447258266695 -0.70710908978325104 +1 0.70710442567178888 0.70710913669375586 +-1 -2.4749215081263209e-06 1.4142111033945248 +1 -0.70710675705960568 -0.7071068053134888 +1 -1.4142111122712766 -3.7949843296088637e-06 +-1 3.486150478047543e-06 -1.4142114211057155 +1 -0.99999954863126406 -0.41421402034562482 +-1 -3.7949843296088637e-06 1.4142111122712766 +1 -0.99999999999625722 -3.9791894601290618e-06 +-1 -0.70710582251568188 -0.7071077398562291 +-0.99999696561865603 -2.1615745945134508e-06 1.4142114167414452 +-1 -5.6274164101600008e-06 1.4142117299326626 +-1 3.6070711259902009e-06 -1.4142113001848373 +-1 0.70710414097551078 0.70710942138776822 +1 -0.70710414097551078 -0.70710942138776822 +-0.4142135757567037 -0.41421354163605539 -1.000000014133235 +-1 0.70710429766263272 0.70710926470189328 +-1.3361365838215377e-06 0.70710582848232351 0.70710773389074988 +1 0.4142119763040093 1.0000000141331813 +1 -0.70710587549565806 -0.70710768687741643 +-1 1.7610146007490924e-06 -0.99999999999994027 +1 0.70710582848232351 0.70710773389074988 +1 -0.70710675706184412 -0.70710680531572723 +1 -1.4142122578296354 -3.7949874036732542e-06 +-1 0.7071068053134888 -0.70710675705960568 +1 -0.99999954862955831 -0.41421558567868921 +1 -0.70710475177275978 -0.70710881059538022 +-1 0.41421299116919064 1.0000000141332159 +1 -0.99999954862964313 -0.41421550784210892 +-0.41421302528983883 -0.41421299116919064 -1.0000000141332159 +-1 3.9791894601290618e-06 -0.99999999999625722 +-1 0.70710475177275978 0.70710881059538022 +1 -1.4142126539888742 -3.398829559955419e-06 +-1 0.70710503819326886 0.70710852417715042 +-0.41421255078239982 -0.41421251666175163 -1.0000000141331999 +1 -0.70710525691904702 -0.707108305450872 +-1 0.70710680531454284 -0.70710675706065973 +-1 0.41421354163605539 1.000000014133235 +-1 4.9338914712191083e-06 -1.4142086444245061 +-2.4726488487231163e-07 0.70710480242009988 0.70710875994750055 +-1 3.4888002492915791e-06 -0.99999999999988143 +1 -0.99999998586676453 -0.41421358311013412 +1 0.99999954862904428 0.41421605743424716 +-1 3.045659346585531e-06 -0.99999999999989653 +-1 -5.6274013727311131e-06 1.4142079509145891 +1 -0.99999998586674588 -0.41421413357720294 +1 -0.99999999999986477 -3.9791894601434173e-06 +-1 1.1273398916894854e-08 -1 +-0.4142120104246575 -0.4142119763040093 -1.0000000141331813 +1 -1.4142130501464312 -3.7949895298266962e-06 +-1 1.1273398916901405e-08 -1.0000000000005809 +1 -9.5097929081877987e-07 0.99999999999955702 +1 0.41421251666175163 1.0000000141331999 +-1 -0.41421402034562482 0.99999954863126406 +1 -0.41421358311013412 0.99999998586676453 +-1 5.6165259335338504e-07 -0.99999999999998135 +1 -0.99999954863066409 -0.41421457081245294 +-0.41421179825566912 -0.41421176413502092 -1.0000000141331742 +-1 0.70710680531596992 -0.70710675706208703 +1 0.70710447258266695 0.70710908978325104 +1 -0.41421413357720294 0.99999998586674588 +-1 0.70710740774429914 -0.70710615462878179 +1 -0.70710464590851285 -0.70710891645828933 +-1 0.70710680531572723 -0.70710675706184412 +-1 0.70710712146019339 -0.70710644091289376 +-0.41421153867008587 -0.41421150454943756 -1.0000000141331653 +-1 0.41421558567868921 -0.99999954862955831 +1 -5.6165259335338504e-07 0.99999999999998135 +-1 -2.4904463742798747e-06 1.4142110878696581 +1 -3.486150478047543e-06 1.4142114211057155 +-1 -0.4142110673128474 -1.0000004513667045 +2.4780592835629286e-07 0.70710480242009988 0.70710875994750055 +-1 -2.1615745945134508e-06 1.4142114167414452 +-1 0.41421579784808238 -0.99999954862932716 +1 0.41421550784210892 -0.99999954862964313 +1 -0.70710442567178888 -0.70710913669375586 +-1 -4.3072037320858006e-06 1.4142106000508998 +1 0.41421558567868921 -0.99999954862955831 +1 0.70710675705960568 0.7071068053134888 +-0.41421125140717707 -0.41421121728652888 -1.0000000141331555 +1 -0.70710459903014478 -0.70710896333633033 +-1 -0.70710852417715042 0.70710503819326886 +1 0.41421514844388285 -0.99999998586671124 +-1 -4.3071996846037381e-06 1.4142092711163068 +1 0.70710644091289376 0.70710712146019339 +-1 -0.70710863723668727 0.70710492513206313 +-5.2804815822447777e-07 5.6165259335338504e-07 -0.99999999999998135 +-1 -0.41421078004981304 -1.0000004513663918 +-1 0.41421251666175163 1.0000000141331999 +1 -0.99999998586672967 -0.41421460808516108 +1 -1.4142104253993661 -5.6274112191748571e-06 +-1 0.41421605743424716 -0.99999954862904428 +-1 0.7071068053166949 -0.70710675706281201 +1 0.70710414097551078 0.70710942138776822 +1 0.99999999999986477 3.9791894601434173e-06 +-1 0.70710680531770786 -0.70710675706382498 +1 -0.9999999858667139 -0.41421507060726859 +1 1.4142079509145891 5.6274013727311131e-06 +1 0.99999999999988143 3.4888002492915791e-06 +-6.4231894401918411e-07 0.70710508176635489 0.70710848060294729 +-1 -1.8115076449373903e-06 1.4142117668084029 +-1 -0.41421504532020359 0.99999954863014717 +-1 0.41421634469791047 -0.99999954862873119 +-0.99999825026032885 -1.2531957664654974e-06 1.4142123251202938 +-1 0.70710680531899084 -0.70710675706510773 +-0.99999746068808948 -1.8115076449373903e-06 1.4142117668084029 +1 -4.0589327152487359e-06 1.4142119938833941 +-1 -0.70710913669375586 0.70710442567178888 +-0.41421208826110489 -0.4142120541404567 -1.000000014133184 +-1 -1.000000014133184 0.4142120541404567 +-1 -1.1273398916894854e-08 1 +-1 -1.0000000141331813 0.4142119763040093 +-1 -1.2531957664654974e-06 1.4142123251202938 +1 -0.70710554333500109 -0.70710801903637899 +-0.99999906029454966 -6.8041508237023106e-07 1.4142128979009909 +-1 1.5942930382230834e-08 -1.414207950925785 +1 -0.70710712146019339 0.70710644091289376 +1 1.4142104254083692 2.4904452076758723e-06 +-1 -0.99999998586674588 -0.41421413357720294 +1 1.4142111033945248 2.4749215081263209e-06 +-1 0.41421536061336883 -0.99999998586670391 +1 1.4142086444331126 1.5942938200415591e-08 +-1.0474278132136602e-06 0.70710536822245595 0.70710819414859105 +-1 -6.8041508237023106e-07 1.4142128979009909 +-1.517224690304876e-06 0.70710570042002518 0.70710786195304531 +-1.0472522425446205e-06 0.70710536822245595 0.70710819414859105 +-1 2.5505885333531454e-06 -0.9999999999999134 +1 0.41421536061336883 -0.99999998586670391 +1 -0.70710755172092532 0.7071060106513436 +-1 -3.045659346585531e-06 0.99999999999989653 +-1 2.5505885333477905e-06 -0.99999999999781397 +0.99999603209181132 1.4142107566382753 2.821677749811849e-06 +1 -0.70710755172132966 0.70710601065174794 +-1 -3.0456593465775452e-06 0.9999999999972744 +-1 -0.99999999999955702 -9.5097929081877987e-07 +1 -0.70710740774429914 0.70710615462878179 +1 1.414207950925785 1.5942930382230834e-08 +-1 -0.99999998586676453 -0.41421358311013412 +1 -0.70710755172107764 0.70710601065149592 +-1 1.761014600746863e-06 -0.99999999999867439 +-1 -0.99999954863126406 -0.41421402034562482 +-1 0.70710680531378567 -0.70710675705990278 +-1 0.41421358311013412 -0.99999998586676453 +-0.41421587334278942 0.41421590746343606 -0.99999998586668526 +1 -0.99999891029980459 -1.0000000341206112 +-1 2.6834638030199255e-06 -0.99999999999990896 +-1 0.41421457081245294 -0.99999954863066409 +-0.41421409945655518 0.41421413357720294 -0.99999998586674588 +1 -0.99999998586668526 -0.41421590746343606 +-1 2.683463803013915e-06 -0.9999999999976692 +-1 -0.70710493003078101 -0.70710863233747046 +1 -1.3448849935110308e-06 1.4142106000568191 +-1 -0.70710601065428835 -0.70710755172387008 +0.41421587334278842 0.41421590746343606 -0.99999998586668526 +-1 0.41421413357720294 -0.99999998586674588 +-1 -5.6274184483809722e-06 1.4142122421527996 +1 1.4142107566382753 2.821677749811849e-06 +-0.41421457396451389 0.41421460808516108 -0.99999998586672967 +1 -0.70710755172227113 0.70710601065268919 +1 1.4142114211057155 3.486150478047543e-06 +-1 0.41421460808516108 -0.99999998586672967 +1 -1.3448837380274076e-06 1.4142092798560162 +-1 0.41421078004981304 1.0000004513663918 +1 -1.0000000341205753 0.99999785472137259 +0.99999697179441616 1.4142114211057155 3.486150478047543e-06 +1 -1.3448843975403732e-06 1.4142099733652991 +1 4.9673159095784056e-06 -1.4142129022593593 +-0.41421503648662172 0.41421507060726859 -0.9999999858667139 +1 0.41421562019964708 -0.99999998586669503 +1 0.70710475560474739 0.70710880676256793 +-1 0.41421150454943756 1.0000000141331653 +-0.41421525499740519 0.41421634469791047 -0.99999954862873119 +1 -0.70710755172387008 0.70710601065428835 +-1 -0.70710520983208336 -0.70710835253767002 +-1.9838873668355759e-06 0.70710819197823849 -0.70710537039482446 +1 0.41421121728652888 1.0000000141331555 +-1.9840286943756897e-06 0.70710819197823849 -0.70710537039482446 +1 0.9999999999999134 2.5505885333531454e-06 +-1 4.3071996846037381e-06 -1.4142092711163068 +-0.41421511432323566 0.41421514844388285 -0.99999998586671124 +-1 -2.5505885333477905e-06 0.99999999999781397 +-1 0.41421514844388285 -0.99999998586671124 +0.41421525499740508 0.41421634469791047 -0.99999954862873119 +1 1.4142113001848373 3.6070711259902009e-06 +1 0.41421150454943756 1.0000000141331653 +-1 -0.70710525691904702 -0.707108305450872 +-0.41421532649272164 0.41421536061336883 -0.99999998586670391 +-1 -1.761014600746863e-06 0.99999999999867439 +1 0.99999999999990896 2.6834638030199255e-06 +6.4773177617312192e-07 0.70710913669375586 -0.70710442567178888 +1 0.99999999999989653 3.045659346585531e-06 +-7.1433561698835564e-07 0.70710908978325104 -0.70710447258266695 +1.5171612573569867e-06 0.70710570042002518 0.70710786195304531 +1 0.41421504532020359 -0.99999954863014717 +-1 -0.70710521156427641 -0.70710835080647261 +1 1.4142092711163068 4.3071996846037381e-06 +7.1426530978700619e-07 0.70710908978325104 -0.70710447258266695 +1 0.70710520983208336 0.70710835253767002 +-0.41421558607900011 0.41421562019964708 -0.99999998586669503 +-1 -0.7071060106513436 -0.70710755172092532 +1 0.41421507060726859 -0.9999999858667139 +-1 -0.70710601065149592 -0.70710755172107764 +-1 0.70710537039482446 0.70710819197823849 +-1 -0.70710554376273826 -0.70710801861032868 +-1 -0.99999954863066409 -0.41421457081245294 +-1 -1.1273398916901405e-08 1.0000000000005809 +0.41421511432323521 0.41421514844388285 -0.99999998586671124 +1 -0.70710755172181639 0.70710601065223466 +0.41421532649272119 0.41421536061336883 -0.99999998586670391 +-4.6975968042263249e-07 -0.70710712146019339 0.70710644091289376 +1 0.70710587549565806 0.70710768687741643 +-1 0.70710587549565806 0.70710768687741643 +1 0.41421590746343606 -0.99999998586668526 +-1 -0.70710601065337153 -0.70710755172295325 +1 0.70710554333500109 0.70710801903637899 +1 1.4142129356690298 4.9339064425140725e-06 +-1 -0.70710601065174794 -0.70710755172132966 +1 -1.3448854806206061e-06 1.4142111122757286 +1 1.4142129022593593 4.9673159095784056e-06 +-1 -0.70710615462878179 -0.70710740774429914 +1 -1.344885659322043e-06 1.4142113001887977 +1 1.344885659322043e-06 -1.4142113001887977 +-6.4799388093628461e-07 0.70710913669375586 -0.70710442567178888 +0.9999995568591955 1.4142132490177133 4.6205596678984154e-06 +1 0.70710582251568188 0.7071077398562291 +-1 0.70710508176635489 0.70710848060294729 +-1 0.70710582251568188 0.7071077398562291 +-1 -0.70710644091289376 -0.70710712146019339 +4.6656779705704849e-07 0.70710926470189328 -0.70710429766263272 +-1 0.70710492513206313 0.70710863723668727 +-1 0.70710480242009988 0.70710875994750055 +-1 0.70710464590851285 0.70710891645828933 +1 1.4142132490177133 4.6205596678984154e-06 +1 0.70710615462878179 0.70710740774429914 +-1 -0.70710881059538022 0.70710475177275978 +1 0.70710464590851285 0.70710891645828933 +-4.6696231648954378e-07 0.70710926470189328 -0.70710429766263272 +0.41421354898948648 0.41421358311013412 -0.99999998586676453 +-1 -0.99999998586670391 -0.41421536061336883 +-0.4142135757567037 -1.000000014133235 0.41421354163605539 +1 0.70710480242009988 0.70710875994750055 +-2.4537414540624201e-07 0.70710942138776822 -0.70710414097551078 +-1 3.9791894601434173e-06 -0.99999999999986477 +-1 -1.4142124312777415 -2.4759803731766406e-06 +2.4501506543888366e-07 0.70710942138776822 -0.70710414097551078 +-1 -1.4142117668084029 -1.8115076449373903e-06 +1 9.5097929081877987e-07 -0.99999999999955702 +0.41421357575670381 -1.000000014133235 0.41421354163605539 +-0.99999840039203725 -1.4142124312777415 -2.4759803731766406e-06 +-1 0.70710447105579455 0.7071090913097875 +-1 -0.70710447105579455 -0.7071090913097875 +0.41421419410135296 -1.0000004513689245 0.41421310440035597 +1 -0.70710768687741643 0.70710587549565806 +-1 -0.70710459903014478 -0.70710896333633033 +-0.99999921042637929 -1.4142130040570571 -3.0487626103816146e-06 +-1 -0.70710492513206313 -0.70710863723668727 +-0.41421419410135363 -1.0000004513689245 0.41421310440035597 +-1 -1.4142130040570571 -3.0487626103816146e-06 +-1 4.9339062093955621e-06 -1.4142128688499249 +1 0.41421634469791047 -0.99999954862873119 +-0.41421208826110567 -1.000000014133184 0.4142120541404567 +0.41421125140717796 1.0000000141331555 -0.41421121728652888 +-1 -0.70710835253767002 0.70710520983208336 +-0.41421270660510456 -1.0000004513673035 0.41421161690410679 +1 0.99999999999994027 1.7610146007490924e-06 +1 -0.7071077398562291 0.70710582251568188 +-1 -0.707108305450872 0.70710525691904702 +-1 -0.70710806607442045 0.70710549629687014 +-1 -1.4142113001887977 -1.344885659322043e-06 +-1 -1.0000004513689245 0.41421310440035597 +-1 1.0000000141332159 -0.41421299116919064 +-1 -1.0000004513673035 0.41421161690410679 +-1 -1.000000014133235 0.41421354163605539 +-1 0.70710881059538022 -0.70710475177275978 +-0.99999746068808992 -1.4142117668084029 -1.8115076449373903e-06 +1 -1.4142099712528706 -1.5942953158184012e-08 +-1 0.70710852417715042 -0.70710503819326886 +-1 -0.7071077398562291 0.70710582251568188 +1 -1.0000004513672187 0.41421153906762542 +1 -1.4142097833403313 -1.5942951039770996e-08 +-1 0.70710601065337153 0.70710755172295325 +1 -0.70710880676256793 0.70710475560474739 +-7.1426530978700619e-07 -0.70710908978325104 0.70710447258266695 +-1 0.70710601065268919 0.70710755172227113 +1 -0.70710891645828933 0.70710464590851285 +-1 0.99999998586672967 0.41421460808516108 +1 -0.70710875994750055 0.70710480242009988 +-1 0.9999999858667139 0.41421507060726859 +-1 -0.70710908978325104 0.70710447258266695 +-0.41421532649272164 0.99999998586670391 0.41421536061336883 +-4.6914617296405571e-07 -0.70710891645828933 0.70710464590851285 +-0.41421532649272119 0.99999998586670391 0.41421536061336883 +1 -1.414209271122866 -1.5942945265339177e-08 +1 0.41421460808516108 -0.99999998586672967 +5.2753194543519555e-07 5.6165259335338504e-07 -0.99999999999998135 +-1 -1.4142099733652991 -1.3448843975403732e-06 +1.5139835507918734e-06 0.70710852417715042 -0.70710503819326886 +4.6994621147945629e-07 -0.70710712146019339 0.70710644091289376 +1 -1.414211087871851 -1.594296574627522e-08 +-3.9462292528907016e-07 -0.707108305450872 0.70710525691904702 +0.4142140994565553 0.41421413357720294 -0.99999998586674588 +-6.733763275609216e-08 -0.70710863233747046 0.70710493003078101 +1 -1.4142086444331126 -1.5942938200415591e-08 +-2.4780592835629286e-07 -0.70710875994750055 0.70710480242009988 +1 -0.70710786195304531 0.70710570042002518 +0.41421457396451344 0.41421460808516108 -0.99999998586672967 +1 -1.4142117668084029 -1.8115076449373903e-06 +1 -0.70710773389074988 0.70710582848232351 +1 1.0000004513672187 -0.41421153906762542 +1 -0.70710806607442045 0.70710549629687014 +1 1.0000000141331555 -0.41421121728652888 +1 1.0000004513663918 -0.41421078004981304 +0.41421503648662095 0.41421507060726859 -0.9999999858667139 +1 1.0000004513669873 -0.41421132689854423 +0.41421186975081092 1.0000004513663918 -0.41421078004981304 +-0.999999066470322 1.4142129022593593 4.9673159095784056e-06 +1 -1.0000004513663918 0.41421078004981304 +1 -1.0000000141332159 0.41421299116919064 +1 -1.0000000141331999 0.41421251666175163 +-1 -0.70710601065223466 -0.70710755172181639 +1 -1.0000004513683245 0.41421255393325052 +0.99999778182760091 1.4142119938833941 4.0589327152487359e-06 +1 -1.4142114167414452 -2.1615745945134508e-06 +1 -1.4142116728516427 -1.9054644031982755e-06 +1 1.4142117299387666 3.7949859870972158e-06 +1 1.4142119938833941 4.0589327152487359e-06 +0.99999857140009363 1.4142125521932365 4.6172470007526945e-06 +0.99999906647032244 1.4142129022593593 4.9673159095784056e-06 +1 1.4142115420260177 3.6070717428275427e-06 +1 -0.99999999999989653 -3.045659346585531e-06 +1 0.99999999999625722 3.9791894601290618e-06 +1 -1.4142092711163068 -4.3071996846037381e-06 +-1 -0.70710464590851285 -0.70710891645828933 +1 1.4142122421574363 4.3072087333829235e-06 +0.41421558607899944 0.41421562019964708 -0.99999998586669503 +-1 -2.683463803013915e-06 0.9999999999976692 +1 1.4142125521932365 4.6172470007526945e-06 +0.99999870427518256 1.4142126461497391 4.7112042509568608e-06 +1 6.8041508237023106e-07 -1.4142128979009909 +1 0.9999999999976692 2.683463803013915e-06 +1 1.4142086444245061 4.9338914712191083e-06 +1 0.9999999999972744 3.0456593465775452e-06 +1 1.4142126461497391 4.7112042509568608e-06 +1 0.99999954863126406 0.41421402034562482 +1 0.99999998586676453 0.41421358311013412 +-0.99999955685919528 1.4142132490177133 4.6205596678984154e-06 +1 0.99999999999679146 3.4888002492807989e-06 +1 1.4142128688499249 4.9339062093955621e-06 +1 0.70710755172107764 -0.70710601065149592 +0.99999950961090955 1.4142132156058267 5.2806648706082577e-06 +1 1.0000000341206112 -0.99999891029980459 +1 1.0000004513667045 -0.4142110673128474 +1 -1.0000004513689245 0.41421310440035597 +1 1.4142132156058267 5.2806648706082577e-06 +-1 -3.7949904000944027e-06 1.4142133744540315 +1 1.414209271122866 1.5942945265339177e-08 +1 -1.4142122334301512 -1.5942978660610914e-08 +-1 -0.41421634469791047 0.99999954862873119 +1 0.99999998586668526 0.41421590746343606 +1 -0.70710863233747046 0.70710493003078101 +-1 1.0000000141331555 -0.41421121728652888 +0.99999950492930911 -3.9571438454623321e-06 1.4142132122997593 +0.99999906178872422 -4.2704907590715828e-06 1.4142128989512468 +-1 -3.9571438454623321e-06 1.4142132122997593 +0.99999840039203658 1.4142124312777415 2.4759803731766406e-06 +1 -1.0000004513673035 0.41421161690410679 +-1 -4.3072106219163663e-06 1.4142128622311967 +-1 1.4142129895906819 1.9176684947061313e-06 +1.1090063977659631e-06 0.70710881059538022 -0.70710475177275978 +-1 -4.2704907590715828e-06 1.4142128989512468 +0.99999918996501802 1.4142129895906819 1.9176684947061313e-06 +-1 0.41421255393325052 1.0000004513683245 +1 -0.707108305450872 0.70710525691904702 +-0.41421364363424729 0.41421255393325052 1.0000004513683245 +0.99999857140009363 -4.6172470007526945e-06 1.4142125521932365 +1 -1.4142132156058267 -5.2806648706082577e-06 +-0.99999906029454944 -6.8041508237023106e-07 1.4142128979009909 +-1 0.7071090913097875 -0.70710447105579455 +-1 -4.6172470007526945e-06 1.4142125521932365 +1 -0.70710801903637899 0.70710554333500109 +1 -1.4142128688473354 -5.6274209421172637e-06 +-1 0.70710880676256793 -0.70710475560474739 +-1.1091684616105229e-06 0.70710881059538022 -0.70710475177275978 +1 -1.0000000141331813 0.4142119763040093 +-1.5142266185144802e-06 0.70710852417715042 -0.70710503819326886 +1 -0.70710926470189328 0.70710429766263272 +0.41421558607899944 -0.99999998586669503 -0.41421562019964708 +1 0.99999998586670391 0.41421536061336883 +1 -1.0000000141331742 0.41421176413502092 +-1 0.70710806607442045 -0.70710549629687014 +1 0.99999998586671124 0.41421514844388285 +0.99999986712473921 -3.701033654149853e-06 1.4142134684112566 +1 -0.99999998586669503 -0.41421562019964708 +1 -2.821677749811849e-06 1.4142107566382753 +-1 -1.5942978660610914e-08 1.4142122334301512 +1 -2.4749215081263209e-06 1.4142111033945248 +-1 1.0000000141331653 -0.41421150454943756 +0.41421496773374167 -0.99999954862904428 -0.41421605743424716 +-1 0.70710942138776822 -0.70710414097551078 +1 -0.99999998586671124 -0.41421514844388285 +0.41421241659954144 0.41421132689854423 1.0000004513669873 +-1 1.0000000141331742 -0.41421176413502092 +1 -0.70710852417715042 0.70710503819326886 +-1 1.000000014133235 -0.41421354163605539 +-1 -0.99999998586668526 -0.41421590746343606 +1 -0.70710835080647261 0.70710521156427641 +-1 0.70710819197823849 -0.70710537039482446 +1 -0.70710863723668727 0.70710492513206313 +1 0.9999999858667139 0.41421507060726859 +-0.4142140994565553 0.99999998586674588 0.41421413357720294 +-1 1.0000000141331999 -0.41421251666175163 +4.6914617296405571e-07 -0.70710464590851285 -0.70710891645828933 +0.41421348111194667 0.99999954863066409 0.41421457081245294 +-1 0.70710913669375586 -0.70710442567178888 +8.6383975141930014e-07 -0.70710492513206313 -0.70710863723668727 +-1 1.000000014133184 -0.4142120541404567 +0.41421153867008653 -0.41421150454943756 -1.0000000141331653 +-1.5139835507918734e-06 0.70710503819326886 0.70710852417715042 +-1 1.0000000141331813 -0.4142119763040093 +-0.41421302528983872 0.41421299116919064 1.0000000141332159 +-1 0.70710786195304531 -0.70710570042002518 +-1 0.70710773389074988 -0.70710582848232351 +-1.5142266185144802e-06 0.70710503819326886 0.70710852417715042 +1 0.70710525691904702 0.707108305450872 +7.9960594173730617e-07 -0.70710801903637899 0.70710554333500109 +1 0.70710493003078101 0.70710863233747046 +-8.0000330079195555e-07 0.70710554333500109 0.70710801903637899 +1 -9.5097929081917057e-07 0.99999999999996803 +-1 0.70710768687741643 -0.70710587549565806 +-1 -0.70710801903637899 0.70710554333500109 +-1 0.70710926470189328 -0.70710429766263272 +1 -2.1615745945134508e-06 1.4142114167414452 +1 -1.0000000000005809 -1.1273398916901405e-08 +3.9495100731142879e-07 -0.707108305450872 0.70710525691904702 +1 0.99999998586674588 0.41421413357720294 +0.99999696561865625 -2.1615745945134508e-06 1.4142114167414452 +1.269748208759035e-06 -0.70710768687741643 0.70710587549565806 +8.0000330079195555e-07 -0.70710801903637899 0.70710554333500109 +-1 0.70710521156427641 0.70710835080647261 +0.41421215701384495 -0.4142110673128474 -1.0000004513667045 +1 -1 -1.1273398916894854e-08 +-1.269020804429747e-06 0.70710521156427641 0.70710835080647261 +1 -0.99999999999998135 -5.6165259335338504e-07 +1 -0.70710942138776822 0.70710414097551078 +0.99999826751698828 1.4142123373208046 2.5699371314372527e-06 +0.99999652247919646 2.4749215081263209e-06 -1.4142111033945248 +1 -1.0000000141331555 0.41421121728652888 +-1 1.4142124312777415 2.4759803731766406e-06 +-1 1.4142117678626165 3.1393942363633888e-06 +1.2695669256732695e-06 -0.70710587549565806 -0.70710768687741643 +0.99999697179441527 1.4142114211057155 3.486150478047543e-06 +1.3360538202768862e-06 -0.70710582848232351 -0.70710773389074988 +-1 -0.99999999999998135 -5.6165259335338504e-07 +-1 -0.99999999999996803 -9.5097929081917057e-07 +0.99999746218226204 3.1393942363633888e-06 -1.4142117678626165 +-1.3361365838215377e-06 -0.70710582848232351 -0.70710773389074988 +1 2.4749215081263209e-06 -1.4142111033945248 +-1 0.99999897854217856 -0.99999891030095478 +-0.99999906029454966 -1.4142128979009909 -6.8041508237023106e-07 +1 -1.8115076449373903e-06 1.4142117668084029 +1 3.1393942363633888e-06 -1.4142117678626165 +-1 -1.4142128979009909 -6.8041508237023106e-07 +1 -1.3448865468146354e-06 1.4142122334295117 +0.99999827221584425 3.7121764735660115e-06 -1.4142123406408573 +0.41421503648662172 -0.41421507060726859 0.9999999858667139 +-1 0.70710908978325104 -0.70710447258266695 +-1 -1.4142123251202938 -1.2531957664654974e-06 +1 3.7121764735660115e-06 -1.4142123406408573 +1 -1.2531957664654974e-06 1.4142123251202938 +-0.41421302528983883 0.41421299116919064 1.0000000141332159 +0.99999906178872422 4.2704907590715828e-06 -1.4142128989512468 +1 1.4142117299326626 5.6274164101600008e-06 +1 -0.99999999999867439 -1.761014600746863e-06 +-1 1.0000000341206112 -0.99999891029980459 +-7.9960594173730617e-07 0.70710554333500109 0.70710801903637899 +-0.41421293064511866 -0.99999954863126406 -0.41421402034562482 +1 1.4142122355346221 4.9339039998849759e-06 +-8.6612784114033085e-07 0.70710549629687014 0.70710806607442045 +1 1.4142115420194217 5.6274156624176143e-06 +-4.0525009804370626e-07 0.70710582251568188 0.7071077398562291 +1 4.2704907590715828e-06 -1.4142128989512468 +0.99999919466387821 4.3644480092760405e-06 -1.4142129929078417 +1 -6.8041508237023106e-07 1.4142128979009909 +0.99999950492930956 -3.9571438454623321e-06 1.4142132122997593 +-4.0478521188480072e-07 0.70710582251568188 0.7071077398562291 +1 1.4142114167414452 2.1615745945134508e-06 +1 4.3644480092760405e-06 -1.4142129929078417 +-0.99999825026032885 -1.4142123251202938 -1.2531957664654974e-06 +4.6975968042263249e-07 0.70710644091289376 0.70710712146019339 +0.9999995568591955 4.6205596678984154e-06 -1.4142132490177133 +-0.99999825026032907 -1.4142123251202938 -1.2531957664654974e-06 +-1 0.70710536822245595 0.70710819414859105 +1 1.4142116728516427 1.9054644031982755e-06 +-1 -1.4142122334295117 -1.3448865468146354e-06 +1 4.6205596678984154e-06 -1.4142132490177133 +1 1.4142097833403313 1.5942951039770996e-08 +1 0.99999999999781397 2.5505885333477905e-06 +-0.99999652247919646 -1.4142111033945248 -2.4749215081263209e-06 +-0.99999950961090933 -1.4142132156058267 -5.2806648706082577e-06 +-1 1.0000004513663918 -0.41421078004981304 +1 1.414211087871851 1.594296574627522e-08 +1 0.99999999999998135 5.6165259335338504e-07 +-1 1.4142092798560162 1.3448837380274076e-06 +1 1 1.1273398916894854e-08 +1 1.4142099712528706 1.5942953158184012e-08 +-1 -1.4142111033945248 -2.4749215081263209e-06 +1 1.4142124234481392 4.9339046554777011e-06 +0.9999974621822616 1.4142117678626165 3.1393942363633888e-06 +1 1.4142117668084029 1.8115076449373903e-06 +-0.99999732781316641 -1.4142116728516427 -1.9054644031982755e-06 +-1 1.4142120812101262 2.8260473227516224e-06 +4.0256669604646163e-07 -0.70710459903014478 -0.70710896333633033 +-1 -1.4142114167414452 -2.1615745945134508e-06 +0.99999790532213795 1.4142120812101262 2.8260473227516224e-06 +-1 0.70710819414859105 -0.70710536822245595 +-1 -1.4142116728516427 -1.9054644031982755e-06 +-1 0.70710835253767002 -0.70710520983208336 +-0.41421496773374156 -0.99999954862904428 -0.41421605743424716 +-1 0.99999998586674588 0.41421413357720294 +1 0.70710459903014478 0.70710896333633033 +-0.99999696561865625 -1.4142114167414452 -2.1615745945134508e-06 +-1 1.4142123373208046 2.5699371314372527e-06 +-8.6394589711159071e-07 -0.70710492513206313 -0.70710863723668727 +1.2688001540305385e-06 -0.70710521156427641 -0.70710835080647261 +-4.6906554296601612e-07 -0.70710464590851285 -0.70710891645828933 +-0.41421354898948659 -0.99999998586676453 -0.41421358311013412 +-0.99999963780452195 -1.4142133062564368 -4.0511010956670354e-06 +-1.269020804429747e-06 -0.70710521156427641 -0.70710835080647261 +1 1.4142099733573321 4.9338961076002836e-06 +1.0474278132136602e-06 -0.70710819414859105 0.70710536822245595 +-1.7388187355926157e-06 -0.70710554376273826 -0.70710801861032868 +1.517224690304876e-06 -0.70710786195304531 0.70710570042002518 +1 -0.70710819414859105 0.70710536822245595 +1 -1.4142132122997593 -3.9571438454623321e-06 +0.41421409945655518 0.99999998586674588 0.41421413357720294 +1 1.4142110878696581 2.4904463742798747e-06 +1 -1.4142133062564368 -4.0511010956670354e-06 +1 -2.8260473227516224e-06 1.4142120812101262 +1 1.4142092798454602 5.6274066607988297e-06 +-0.99999950492930911 -1.4142132122997593 -3.9571438454623321e-06 +-0.99999790532213795 -1.4142120812101262 -2.8260473227516224e-06 +0.99999790532213817 -2.8260473227516224e-06 1.4142120812101262 +2.4501506543888366e-07 -0.70710414097551078 -0.70710942138776822 +-1 -1.0000000141332159 0.41421299116919064 +-0.99999696561865603 -1.4142114167414452 -2.1615745945134508e-06 +1 1.0000000141331653 -0.41421150454943756 +-1 0.70710554376273826 0.70710801861032868 +0.99999871535607943 -3.398829559955419e-06 1.4142126539888742 +-0.99999871535607943 -1.4142126539888742 -3.398829559955419e-06 +-1.269748208759035e-06 -0.70710587549565806 -0.70710768687741643 +-0.99999790532213817 -1.4142120812101262 -2.8260473227516224e-06 +-1.9840286943756897e-06 -0.70710537039482446 -0.70710819197823849 +-0.41421241659954144 -1.0000004513669873 0.41421132689854423 +-1.2688001540305385e-06 0.70710521156427641 0.70710835080647261 +1 -3.398829559955419e-06 1.4142126539888742 +1 -0.70710881059538022 0.70710475177275978 +1 1.0000000000005809 1.1273398916901405e-08 +-4.0276975021769132e-07 -0.70710459903014478 -0.70710896333633033 +-1 0.70710570042002518 0.70710786195304531 +1 0.70710447105579455 0.7071090913097875 +-0.99999732781316619 -1.4142116728516427 -1.9054644031982755e-06 +1.7387081147718321e-06 -0.70710554376273826 -0.70710801861032868 +6.4231894401918411e-07 -0.70710848060294729 0.70710508176635489 +-1 0.70710601065149592 0.70710755172107764 +1 -0.70710848060294729 0.70710508176635489 +1 1.4142123251202938 1.2531957664654974e-06 +1 1.4142122334301512 1.5942978660610914e-08 +1 1.4142128979009909 6.8041508237023106e-07 +-1 0.70710896333633033 -0.70710459903014478 +-1 0.70710891645828933 -0.70710464590851285 +0.99999603209181132 -2.821677749811849e-06 1.4142107566382753 +0.99999697179441616 -3.486150478047543e-06 1.4142114211057155 +-0.99999603209181132 -1.4142107566382753 -2.821677749811849e-06 +1 0.99999999999867439 1.761014600746863e-06 +0.99999963780452195 -4.0511010956670354e-06 1.4142133062564368 +-0.99999603209181065 -1.4142107566382753 -2.821677749811849e-06 +-1 -1.4142092798560162 -1.3448837380274076e-06 +-1 0.70710525691904702 0.707108305450872 +0.41421125140717796 0.41421121728652888 1.0000000141331555 +-0.41421558607900011 -0.99999998586669503 -0.41421562019964708 +-0.41421419410135363 -0.41421310440035597 -1.0000004513689245 +-0.41421179825566912 -1.0000000141331742 0.41421176413502092 +1 -0.70710835253767002 0.70710520983208336 +-0.41421179825566945 -1.0000000141331742 0.41421176413502092 +1 -0.70710896333633033 0.70710459903014478 +0.41421525499740508 0.99999954862873119 0.41421634469791047 +-1 0.70710801861032868 -0.70710554376273826 +2.4726488487231163e-07 -0.70710875994750055 0.70710480242009988 +-1 0.70710835080647261 -0.70710521156427641 +1.9838873668355759e-06 0.70710537039482446 0.70710819197823849 +-4.6656779705704849e-07 -0.70710926470189328 0.70710429766263272 +4.6696231648954378e-07 -0.70710926470189328 0.70710429766263272 +1 -4.0511010956670354e-06 1.4142133062564368 +1.9838873668355759e-06 -0.70710537039482446 -0.70710819197823849 +-2.4537414540624201e-07 0.70710414097551078 0.70710942138776822 +-2.2135358259900982e-07 -0.7071090913097875 0.70710447105579455 +0.41421357575670381 -0.41421354163605539 -1.000000014133235 +-1 -1.0000000141331999 0.41421251666175163 +1 -0.7071090913097875 0.70710447105579455 +2.4501506543888366e-07 0.70710414097551078 0.70710942138776822 +-1 -1.0000004513678076 0.41421207942560401 +-1 -0.41421310440035597 -1.0000004513689245 +-1 -1.0000004513672187 0.41421153906762542 +2.2178732010240601e-07 -0.7071090913097875 0.70710447105579455 +-1 -1.0000004513669873 0.41421132689854423 +1.8105818004058841e-07 -0.70710880676256793 0.70710475560474739 +-4.6696231648954378e-07 0.70710429766263272 0.70710926470189328 +0.41421419410135296 -0.41421310440035597 -1.0000004513689245 +0.41421532649272164 -0.41421536061336883 0.99999998586670391 +1 0.99999998586669503 0.41421562019964708 +-0.99999746068808948 -1.4142117668084029 -1.8115076449373903e-06 +1 -0.99999999999679146 -3.4888002492807989e-06 +1 -0.9999999999972744 -3.0456593465775452e-06 +1 -0.41421536061336883 0.99999998586670391 +-1 -1.4142123373208046 -2.5699371314372527e-06 +-7.1433561698835564e-07 0.70710447258266695 0.70710908978325104 +-1 -1.4142129100999679 -3.1427193686419243e-06 +-1 -1.4142120812101262 -2.8260473227516224e-06 +1 -0.9999999999976692 -2.683463803013915e-06 +-1 -1.4142126539888742 -3.398829559955419e-06 +0.999999066470322 -4.9673159095784056e-06 1.4142129022593593 +1.1090063977659631e-06 0.70710475177275978 0.70710881059538022 +1 -4.9673159095784056e-06 1.4142129022593593 +1 -0.99999999999781397 -2.5505885333477905e-06 +-1.1091684616105229e-06 0.70710475177275978 0.70710881059538022 +0.99999906647032244 -4.9673159095784056e-06 1.4142129022593593 +-0.99999652247919601 -1.4142111033945248 -2.4749215081263209e-06 +0.99999955685919528 -4.6205596678984154e-06 1.4142132490177133 +1 0.70710492513206313 0.70710863723668727 +0.9999995568591955 -4.6205596678984154e-06 1.4142132490177133 +-1.9840286943756897e-06 0.70710537039482446 0.70710819197823849 +1 -4.6205596678984154e-06 1.4142132490177133 +-0.41421587334278842 0.99999998586668526 0.41421590746343606 +-0.41421587334278942 0.99999998586668526 0.41421590746343606 +1 -1.0000004513678076 0.41421207942560401 +-8.749281208134011e-07 -0.70710615462878179 -0.70710740774429914 +1 0.70710549629687014 0.70710806607442045 +1 -1.000000014133184 0.4142120541404567 +-1 -5.6274209421172637e-06 1.4142128688473354 +1 -0.70710913669375586 0.70710442567178888 +-1 0.41421402034562482 -0.99999954863126406 +-1 -5.6274112191748571e-06 1.4142104253993661 +-1 2.4749215081263209e-06 -1.4142111033945248 +-1 0.99999998586670391 0.41421536061336883 +0.99999778182760091 -4.0589327152487359e-06 1.4142119938833941 +-1 1.5942938200415591e-08 -1.4142086444331126 +-1 1.4142129022593593 4.9673159095784056e-06 +-1 -0.41421132689854423 -1.0000004513669873 +8.7481308101752743e-07 -0.70710615462878179 -0.70710740774429914 +-1 5.6274112191748571e-06 -1.4142104253993661 +-4.6975968042263249e-07 -0.70710644091289376 -0.70710712146019339 +1 -4.6172470007526945e-06 1.4142125521932365 +-1 -0.41421161690410679 -1.0000004513673035 +4.6994621147945629e-07 -0.70710644091289376 -0.70710712146019339 +-1 1.594296574627522e-08 -1.414211087871851 +0.99999870427518256 -4.7112042509568608e-06 1.4142126461497391 +-1 1.5942953158184012e-08 -1.4142099712528706 +1 -1.000000014133235 0.41421354163605539 +-1 5.6274013727311131e-06 -1.4142079509145891 +1 -0.70710908978325104 0.70710447258266695 +-1 5.6274066607988297e-06 -1.4142092798454602 +-1 1.2531957664654974e-06 -1.4142123251202938 +-1 1.9176684947061313e-06 -1.4142129895906819 +-1 1.8115076449373903e-06 -1.4142117668084029 +-0.99999826751698828 2.5699371314372527e-06 -1.4142123373208046 +-1 2.490448765520044e-06 -1.4142124457460601 +-1 2.4759803731766406e-06 -1.4142124312777415 +-1 2.4904484346015815e-06 -1.4142122578325345 +-1 1.9054644031982755e-06 -1.4142116728516427 +-1 -2.490448765520044e-06 1.4142124457460601 +-1 0.41421132689854423 1.0000004513669873 +-1 -3.0487626103816146e-06 1.4142130040570571 +-1 -1.4142133062564368 -4.0511010956670354e-06 +-1 -2.4904452076758723e-06 1.4142104254083692 +1 -4.7112042509568608e-06 1.4142126461497391 +0.41421255078240027 -0.41421251666175163 -1.0000000141331999 +1.1090063977659631e-06 -0.70710475177275978 -0.70710881059538022 +-0.99999921042637907 -1.4142130040570571 -3.0487626103816146e-06 +-0.99999919466387799 -1.4142129929078417 -4.3644480092760405e-06 +-0.99999919466387821 -1.4142129929078417 -4.3644480092760405e-06 +-1 -4.3072087333829235e-06 1.4142122421574363 +-1 -1.4142124168109258 -1.3448867212065626e-06 +-1 0.4142110673128474 1.0000004513667045 +-0.41421511432323566 -0.99999998586671124 -0.41421514844388285 +-0.9999990775512233 -1.4142129100999679 -3.1427193686419243e-06 +0.99999950961090955 -5.2806648706082577e-06 1.4142132156058267 +-1 0.707106010652091 0.70710755172167294 +-1 1.5942951039770996e-08 -1.4142097833403313 +-1 -1.4142106000568191 -1.3448849935110308e-06 +1 -5.2806648706082577e-06 1.4142132156058267 +-0.41421262876862308 -0.41421153906762542 -1.0000004513672187 +1 0.70710521156427641 0.70710835080647261 +-0.99999907755122308 -1.4142129100999679 -3.1427193686419243e-06 +1 -1.9054644031982755e-06 1.4142116728516427 +-0.99999827221584425 -1.4142123406408573 -3.7121764735660115e-06 +-0.41421449597818338 -0.99999954862955831 -0.41421558567868921 +-1 -4.3072072210625338e-06 1.4142117456080139 +-1 -3.7949859870972158e-06 1.4142117299387666 +-1 3.4888002492807989e-06 -0.99999999999679146 +1 -0.70710755172167294 0.707106010652091 +-0.41421457396451389 -0.99999998586672967 -0.41421460808516108 +-1 3.0456593465775452e-06 -0.9999999999972744 +-6.4799388093628461e-07 -0.70710442567178888 -0.70710913669375586 +-1 -4.0589327152487359e-06 1.4142119938833941 +-0.41421316912660167 -0.41421207942560401 -1.0000004513678076 +1 0.99999998586672967 0.41421460808516108 +-1.1091684616105229e-06 -0.70710475177275978 -0.70710881059538022 +-8.6635667105491646e-07 -0.70710549629687014 -0.70710806607442045 +0.99999732781316619 1.9054644031982755e-06 -1.4142116728516427 +-6.5537636909801547e-08 -0.70710493003078101 -0.70710863233747046 +0.41421201042465794 -0.4142119763040093 -1.0000000141331813 +6.4773177617312192e-07 -0.70710442567178888 -0.70710913669375586 +0.41421262876862275 -0.41421153906762542 -1.0000004513672187 +-0.99999907755122308 3.1427193686419243e-06 -1.4142129100999679 +7.1426530978700619e-07 0.70710447258266695 0.70710908978325104 +-1 2.5699371314372527e-06 -1.4142123373208046 +-0.99999870427518256 -1.4142126461497391 -4.7112042509568608e-06 +-1 0.70710601065428835 0.70710755172387008 +-0.99999870427518212 -1.4142126461497391 -4.7112042509568608e-06 +-1 5.6274164101600008e-06 -1.4142117299326626 +-4.0525009804370626e-07 -0.70710582251568188 -0.7071077398562291 +0.99999825026032885 1.2531957664654974e-06 -1.4142123251202938 +-0.99999918996501802 1.9176684947061313e-06 -1.4142129895906819 +-3.9495100731142879e-07 -0.70710525691904702 -0.707108305450872 +-4.6123537141686579e-07 -0.70710520983208336 -0.70710835253767002 +-0.41421395561969776 -0.99999954863014717 -0.41421504532020359 +-1 -0.41421153906762542 -1.0000004513672187 +0.99999732781316641 1.9054644031982755e-06 -1.4142116728516427 +-1 3.1427193686419243e-06 -1.4142129100999679 +-0.99999986712473921 3.701033654149853e-06 -1.4142134684112566 +-0.99999778182760091 -1.4142119938833941 -4.0589327152487359e-06 +-1 3.6070764165986775e-06 -1.4142133744545236 +-0.99999778182760068 -1.4142119938833941 -4.0589327152487359e-06 +0.99999826751698873 2.5699371314372527e-06 -1.4142123373208046 +0.9999990775512233 3.1427193686419243e-06 -1.4142129100999679 +0.99999986712473898 3.701033654149853e-06 -1.4142134684112566 +-1 -3.7949874036732542e-06 1.4142122578296354 +-1 -0.41421207942560401 -1.0000004513678076 +-1 -3.6070735116928559e-06 1.4142122355386286 +0.99999825026032907 1.2531957664654974e-06 -1.4142123251202938 +0.41421316912660133 -0.41421207942560401 -1.0000004513678076 +-1 -3.398829559955419e-06 1.4142126539888742 +-1 -3.607074047839381e-06 1.4142124457436531 +0.99999918996501824 1.9176684947061313e-06 -1.4142129895906819 +0.41421354898948659 0.41421358311013412 -0.99999998586676453 +-1 -2.8260473227516224e-06 1.4142120812101262 +-1 3.701033654149853e-06 -1.4142134684112566 +-1 0.41421207942560401 1.0000004513678076 +-1 0.41421161690410679 1.0000004513673035 +-1 0.70710601065174794 0.70710755172132966 +-1 -3.7121764735660115e-06 1.4142123406408573 +1 1.4142122421527996 5.6274184483809722e-06 +0.41421302528983872 -0.41421299116919064 -1.0000000141332159 +-1 -3.1393942363633888e-06 1.4142117678626165 +-1 -2.4904464289588127e-06 1.4142111189193374 +-0.99999827221584403 -1.4142123406408573 -3.7121764735660115e-06 +0.99999894442045378 -0.99999891029980459 -1.0000000341206112 +4.6121383084955108e-07 -0.70710520983208336 -0.70710835253767002 +-1 2.1615745945134508e-06 -1.4142114167414452 +3.9462292528907016e-07 -0.70710525691904702 -0.707108305450872 +-1 2.4904475325744111e-06 -1.4142117456123802 +-1 0.41421310440035597 1.0000004513689245 +-1 2.490448714562115e-06 -1.4142124168093728 +-1 -1.4142111122757286 -1.3448854806206061e-06 +-1 1.4142132490177133 4.6205596678984154e-06 +0.41421125140717796 -0.41421121728652888 -1.0000000141331555 +-1 -4.0511010956670354e-06 1.4142133062564368 +1 -3.9571438454623321e-06 1.4142132122997593 +-1 1.0000004513683245 -0.41421255393325052 +-1 1.0000004513689245 -0.41421310440035597 +-0.41421419410135363 1.0000004513689245 -0.41421310440035597 +-0.99999790532213795 -2.8260473227516224e-06 1.4142120812101262 +0.99999894442045378 0.99999891029980459 1.0000000341206112 +-0.99999894442045312 0.99999891029980459 1.0000000341206112 +1 -3.701033654149853e-06 1.4142134684112566 +1 -0.41421460808516108 0.99999998586672967 +1 -3.1427193686419243e-06 1.4142129100999679 +1 -2.5699371314372527e-06 1.4142123373208046 +1 -3.1393942363633888e-06 1.4142117678626165 +1 -1.4142115420194217 -5.6274156624176143e-06 +1 -1.4142117299326626 -5.6274164101600008e-06 +-1 1.4142132156058267 5.2806648706082577e-06 +-1 -2.4904475325744111e-06 1.4142117456123802 +0.41421208826110567 -0.4142120541404567 -1.000000014133184 +-0.41421316912660167 1.0000004513678076 -0.41421207942560401 +-1 0.70710863723668727 -0.70710492513206313 +-1 0.70710848060294729 -0.70710508176635489 +-0.41421270660510456 1.0000004513673035 -0.41421161690410679 +-1 1.0000004513673035 -0.41421161690410679 +1 5.2806648706082577e-06 -1.4142132156058267 +1 -0.41421514844388285 0.99999998586671124 +-1 1.0000004513678076 -0.41421207942560401 +1 -0.41421507060726859 0.9999999858667139 +-0.41421364363424817 1.0000004513683245 -0.41421255393325052 +-1 -1.5942945265339177e-08 1.414209271122866 +1 -0.70710755172295325 0.70710601065337153 +1 -0.70710801861032868 0.70710554376273826 +-1 0.70710863233747046 -0.70710493003078101 +1 4.6172470007526945e-06 -1.4142125521932365 +1 4.0589327152487359e-06 -1.4142119938833941 +-1 1.4142125521932365 4.6172470007526945e-06 +-0.41421262876862308 1.0000004513672187 -0.41421153906762542 +1 3.486150478047543e-06 -1.4142114211057155 +-1 1.0000004513672187 -0.41421153906762542 +-1 1.0000004513669873 -0.41421132689854423 +-0.41421241659954189 1.0000004513669873 -0.41421132689854423 +-0.99999871535607943 3.398829559955419e-06 -1.4142126539888742 +-0.41421215701384506 1.0000004513667045 -0.4142110673128474 +-1 1.0000004513667045 -0.4142110673128474 +-1 3.398829559955419e-06 -1.4142126539888742 +-1 2.8260473227516224e-06 -1.4142120812101262 +-0.9999995568591955 -1.4142132490177133 -4.6205596678984154e-06 +0.41421293064511933 0.99999954863126406 0.41421402034562482 +0.41421348111194756 0.99999954863066409 0.41421457081245294 +0.41421395561969809 0.99999954863014717 0.41421504532020359 +0.41421441814160342 0.99999954862964313 0.41421550784210892 +0.41421449597818372 0.99999954862955831 0.41421558567868921 +-0.99999906647032244 -1.4142129022593593 -4.9673159095784056e-06 +0.41421496773374167 0.99999954862904428 0.41421605743424716 +-1 1.5942945265339177e-08 -1.414209271122866 +-0.41421241659954189 -0.41421132689854423 -1.0000004513669873 +-1 0.70710875994750055 -0.70710480242009988 +1 -0.70710819197823849 0.70710537039482446 +1 -1.4142123373208046 -2.5699371314372527e-06 +1 -1.4142122578325345 -2.4904484346015815e-06 +1 -1.4142117299387666 -3.7949859870972158e-06 +1 -1.4142107566382753 -2.821677749811849e-06 +-2.2178732010240601e-07 0.70710447105579455 0.7071090913097875 +1 -1.4142134684112566 -3.701033654149853e-06 +1 -1.4142133744540315 -3.7949904000944027e-06 +0.99999696561865603 2.1615745945134508e-06 -1.4142114167414452 +-0.99999790532213795 2.8260473227516224e-06 -1.4142120812101262 +-1 3.9571438454623321e-06 -1.4142132122997593 +-1 3.7949895298266962e-06 -1.4142130501464312 +-0.99999950492930956 3.9571438454623321e-06 -1.4142132122997593 +-1 -1.0000004513683245 0.41421255393325052 +-1 -3.7949895298266962e-06 1.4142130501464312 +-1 -3.6070751101327312e-06 1.414212862233156 +-0.99999963780452195 4.0511010956670354e-06 -1.4142133062564368 +-1 3.6070751101327312e-06 -1.414212862233156 +1 -4.3644480092760405e-06 1.4142129929078417 +1 -4.2704907590715828e-06 1.4142128989512468 +-0.41421587334278942 -0.99999998586668526 -0.41421590746343606 +-7.1433561698835564e-07 -0.70710447258266695 -0.70710908978325104 +1 1.4142104253993661 5.6274112191748571e-06 +-1 4.0511010956670354e-06 -1.4142133062564368 +-0.41421525499740519 -0.99999954862873119 -0.41421634469791047 +1 1.4142124234516538 3.7949878481139455e-06 +1 1.4142122578296354 3.7949874036732542e-06 +-1.5142266185144802e-06 -0.70710503819326886 -0.70710852417715042 +0.41421302528983883 1.0000000141332159 -0.41421299116919064 +-2.4537414540624201e-07 -0.70710414097551078 -0.70710942138776822 +1 1.4142128622311967 4.3072106219163663e-06 +1.2688001540305385e-06 0.70710835080647261 -0.70710521156427641 +1 1.4142129929078417 4.3644480092760405e-06 +-0.99999840039203658 2.4759803731766406e-06 -1.4142124312777415 +1 1.4142129356710771 4.3072108455892244e-06 +1 1.4142128989512468 4.2704907590715828e-06 +1 1.4142130501449639 4.3072111942376874e-06 +0.99999840039203725 2.4759803731766406e-06 -1.4142124312777415 +1 1.4142132122997593 3.9571438454623321e-06 +-0.4142118697508107 -0.41421078004981304 -1.0000004513663918 +1 1.4142133744540315 3.7949904000944027e-06 +1 1.4142130501464312 3.7949895298266962e-06 +1 1.4142133062564368 4.0511010956670354e-06 +0.99999603209181065 2.821677749811849e-06 -1.4142107566382753 +0.99999697179441616 3.486150478047543e-06 -1.4142114211057155 +-0.99999697179441527 3.486150478047543e-06 -1.4142114211057155 +-0.41421348111194667 0.41421457081245294 -0.99999954863066409 +1 -3.7121764735660115e-06 1.4142123406408573 +0.41421348111194756 0.41421457081245294 -0.99999954863066409 +1 2.4759803731766406e-06 -1.4142124312777415 +1 1.9176684947061313e-06 -1.4142129895906819 +1 2.5699371314372527e-06 -1.4142123373208046 +4.0478521188480072e-07 0.7071077398562291 -0.70710582251568188 +-0.99999778182760068 4.0589327152487359e-06 -1.4142119938833941 +-0.99999857140009363 4.6172470007526945e-06 -1.4142125521932365 +0.99999778182760091 4.0589327152487359e-06 -1.4142119938833941 +1.0472522425446205e-06 0.70710819414859105 -0.70710536822245595 +8.6612784114033085e-07 0.70710806607442045 -0.70710549629687014 +0.41421302528983872 1.0000000141332159 -0.41421299116919064 +7.9960594173730617e-07 0.70710801903637899 -0.70710554333500109 +-0.99999870427518212 4.7112042509568608e-06 -1.4142126461497391 +0.41421364363424729 1.0000004513683245 -0.41421255393325052 +-0.999999066470322 4.9673159095784056e-06 -1.4142129022593593 +-1 4.9673159095784056e-06 -1.4142129022593593 +-0.99999950961090933 5.2806648706082577e-06 -1.4142132156058267 +0.99999857140009363 4.6172470007526945e-06 -1.4142125521932365 +0.99999906029454944 1.4142128979009909 6.8041508237023106e-07 +0.99999870427518256 4.7112042509568608e-06 -1.4142126461497391 +0.99999906647032244 4.9673159095784056e-06 -1.4142129022593593 +0.99999950961090955 5.2806648706082577e-06 -1.4142132156058267 +-4.6975968042263249e-07 0.70710712146019339 -0.70710644091289376 +-1 5.2806648706082577e-06 -1.4142132156058267 +-0.9999974621822616 3.1393942363633888e-06 -1.4142117678626165 +0.99999603209181132 2.821677749811849e-06 -1.4142107566382753 +1 -1.4142123251202938 -1.2531957664654974e-06 +1 -1.4142128979009909 -6.8041508237023106e-07 +0.41421215701384495 1.0000004513667045 -0.4142110673128474 +0.41421186975081092 -0.41421078004981304 -1.0000004513663918 +0.99999652247919646 1.4142111033945248 2.4749215081263209e-06 +-0.41421496773374156 0.41421605743424716 -0.99999954862904428 +-1.7387081147718321e-06 0.70710801861032868 -0.70710554376273826 +0.41421496773374167 0.41421605743424716 -0.99999954862904428 +-1.7388187355926157e-06 0.70710801861032868 -0.70710554376273826 +1 -1.4142079509145891 -5.6274013727311131e-06 +1 -1.4142086444245061 -4.9338914712191083e-06 +1 -0.99999999999988143 -3.4888002492915791e-06 +-4.6906554296601612e-07 0.70710891645828933 -0.70710464590851285 +-1 4.3072111942376874e-06 -1.4142130501449639 +8.6383975141930014e-07 0.70710863723668727 -0.70710492513206313 +4.6914617296405571e-07 0.70710891645828933 -0.70710464590851285 +2.2135358259900982e-07 0.7071090913097875 -0.70710447105579455 +-1 -1.4142134684112566 -3.701033654149853e-06 +1 1.2531957664654974e-06 -1.4142123251202938 +-1 -1.4142132122997593 -3.9571438454623321e-06 +-0.99999919466387799 4.3644480092760405e-06 -1.4142129929078417 +4.0256669604646163e-07 0.70710896333633033 -0.70710459903014478 +-4.0276975021769132e-07 0.70710896333633033 -0.70710459903014478 +-1 -2.490448714562115e-06 1.4142124168093728 +-0.41421449597818338 0.41421558567868921 -0.99999954862955831 +-2.2178732010240601e-07 0.7071090913097875 -0.70710447105579455 +0.99999827221584425 1.4142123406408573 3.7121764735660115e-06 +0.99999746218226204 1.4142117678626165 3.1393942363633888e-06 +1 1.4142117678626165 3.1393942363633888e-06 +1 1.4142111189193374 2.4904464289588127e-06 +-1.3361365838215377e-06 0.70710773389074988 -0.70710582848232351 +-8.6635667105491646e-07 0.70710806607442045 -0.70710549629687014 +-1.8105818004058841e-07 0.70710880676256793 -0.70710475560474739 +1 1.9054644031982755e-06 -1.4142116728516427 +1 1.3448865468146354e-06 -1.4142122334295117 +1 1.8115076449373903e-06 -1.4142117668084029 +-1 -1.5942938200415591e-08 1.4142086444331126 +-1 1.4142116728516427 1.9054644031982755e-06 +-0.99999732781316619 1.4142116728516427 1.9054644031982755e-06 +-1 1.4142111122757286 1.3448854806206061e-06 +1 1.4142122355386286 3.6070735116928559e-06 +-1 1.4142106000568191 1.3448849935110308e-06 +1 1.4142123406408573 3.7121764735660115e-06 +-1 1.4142129100999679 3.1427193686419243e-06 +0.99999906178872422 1.4142128989512468 4.2704907590715828e-06 +-0.99999907755122308 1.4142129100999679 3.1427193686419243e-06 +-0.99999986712473921 1.4142134684112566 3.701033654149853e-06 +-1 -1.4142132156058267 -5.2806648706082577e-06 +-1 5.6274156624176143e-06 -1.4142115420194217 +-1 1.4142134684112566 3.701033654149853e-06 +0.99999919466387821 1.4142129929078417 4.3644480092760405e-06 +0.99999986712473898 1.4142134684112566 3.701033654149853e-06 +-1 -4.3072108455892244e-06 1.4142129356710771 +-1 -4.3072111942376874e-06 1.4142130501449639 +-1 -4.3644480092760405e-06 1.4142129929078417 +-4.6123537141686579e-07 0.70710835253767002 -0.70710520983208336 +-1 3.0487626103816146e-06 -1.4142130040570571 +-6.5537636909801547e-08 0.70710863233747046 -0.70710493003078101 +0.4142120104246575 1.0000000141331813 -0.4142119763040093 +1.8113736352211646e-07 0.70710880676256793 -0.70710475560474739 +1 1.0000004513673035 -0.41421161690410679 +0.41421262876862275 1.0000004513672187 -0.41421153906762542 +-8.6394589711159071e-07 0.70710863723668727 -0.70710492513206313 +0.99999732781316641 1.4142116728516427 1.9054644031982755e-06 +0.41421153867008653 1.0000000141331653 -0.41421150454943756 +0.99999826751698873 1.4142123373208046 2.5699371314372527e-06 +0.9999990775512233 1.4142129100999679 3.1427193686419243e-06 +0.41421201042465794 1.0000000141331813 -0.4142119763040093 +-1.269020804429747e-06 0.70710835080647261 -0.70710521156427641 +-1 3.607074047839381e-06 -1.4142124457436531 +-1 1.4142119938833941 4.0589327152487359e-06 +-1 1.4142099733652991 1.3448843975403732e-06 +-1 1.4142114167414452 2.1615745945134508e-06 +-1 1.4142123406408573 3.7121764735660115e-06 +-1 1.4142126539888742 3.398829559955419e-06 +-1 1.4142132122997593 3.9571438454623321e-06 +-1 1.4142128989512468 4.2704907590715828e-06 +-0.99999921042637907 3.0487626103816146e-06 -1.4142130040570571 +1 1.0000004513678076 -0.41421207942560401 +-1 -3.7949878481139455e-06 1.4142124234516538 +-0.99999827221584403 3.7121764735660115e-06 -1.4142123406408573 +-1 -1.4142129895906819 -1.9176684947061313e-06 +-1 1.4142111033945248 2.4749215081263209e-06 +-0.41421395561969776 0.41421504532020359 -0.99999954863014717 +0.41421395561969809 0.41421504532020359 -0.99999954863014717 +0.99999921042637929 3.0487626103816146e-06 -1.4142130040570571 +1 3.0487626103816146e-06 -1.4142130040570571 +1 3.1427193686419243e-06 -1.4142129100999679 +3.9462292528907016e-07 0.707108305450872 -0.70710525691904702 +-4.0525009804370626e-07 0.7071077398562291 -0.70710582251568188 +-8.7481308101752743e-07 0.70710740774429914 -0.70710615462878179 +0.99999790532213817 1.4142120812101262 2.8260473227516224e-06 +1 1.4142120812101262 2.8260473227516224e-06 +0.41421255078240027 1.0000000141331999 -0.41421251666175163 +0.99999918996501824 1.4142129895906819 1.9176684947061313e-06 +1 1.4142124312777415 2.4759803731766406e-06 +0.99999840039203725 1.4142124312777415 2.4759803731766406e-06 +1 1.4142124168093728 2.490448714562115e-06 +1 1.4142123373208046 2.5699371314372527e-06 +1 1.4142129895906819 1.9176684947061313e-06 +6.42325801810045e-07 0.70710848060294729 -0.70710508176635489 +0.41421316912660133 1.0000004513678076 -0.41421207942560401 +0.99999825026032907 1.4142123251202938 1.2531957664654974e-06 +4.6994621147945629e-07 0.70710644091289376 0.70710712146019339 +4.6121383084955108e-07 0.70710835253767002 -0.70710520983208336 +-8.749281208134011e-07 0.70710740774429914 -0.70710615462878179 +-1 4.2704907590715828e-06 -1.4142128989512468 +1 4.7112042509568608e-06 -1.4142126461497391 +0.41421215701384495 0.4142110673128474 1.0000004513667045 +-1 3.7949904000944027e-06 -1.4142133744540315 +0.41421419410135296 0.41421310440035597 1.0000004513689245 +0.41421316912660133 0.41421207942560401 1.0000004513678076 +-1.0474278132136602e-06 0.70710819414859105 -0.70710536822245595 +-1 1.4142128979009909 6.8041508237023106e-07 +-1 1.4142123251202938 1.2531957664654974e-06 +1 1.4142128688473354 5.6274209421172637e-06 +1 -1.4142092798454602 -5.6274066607988297e-06 +-1 -4.7112042509568608e-06 1.4142126461497391 +-0.99999652247919601 1.4142111033945248 2.4749215081263209e-06 +-0.99999827221584403 1.4142123406408573 3.7121764735660115e-06 +-0.99999906178872422 1.4142128989512468 4.2704907590715828e-06 +-1 -4.6205596678984154e-06 1.4142132490177133 +-0.99999906178872422 4.2704907590715828e-06 -1.4142128989512468 +-0.41421441814160342 0.41421550784210892 -0.99999954862964313 +0.41421270660510456 -0.41421161690410679 -1.0000004513673035 +-1.269748208759035e-06 0.70710768687741643 -0.70710587549565806 +-8.0000330079195555e-07 0.70710801903637899 -0.70710554333500109 +-2.4726488487231163e-07 0.70710875994750055 -0.70710480242009988 +-0.99999918996501802 -1.4142129895906819 -1.9176684947061313e-06 +-0.99999918996501824 -1.4142129895906819 -1.9176684947061313e-06 +0.41421153867008587 1.0000000141331653 -0.41421150454943756 +-0.99999840039203658 -1.4142124312777415 -2.4759803731766406e-06 +-0.99999746068808948 1.4142117668084029 1.8115076449373903e-06 +-1 1.5942978660610914e-08 -1.4142122334301512 +-0.99999826751698873 -1.4142123373208046 -2.5699371314372527e-06 +-0.41421409945655518 -0.99999998586674588 -0.41421413357720294 +-1 1.4142113001887977 1.344885659322043e-06 +-1 6.8041508237023106e-07 -1.4142128979009909 +-1 1.4142117668084029 1.8115076449373903e-06 +-8.0000330079195555e-07 -0.70710554333500109 -0.70710801903637899 +-0.99999921042637907 1.4142130040570571 3.0487626103816146e-06 +-1 1.4142130040570571 3.0487626103816146e-06 +0.99999921042637929 1.4142130040570571 3.0487626103816146e-06 +4.0478521188480072e-07 -0.70710582251568188 -0.7071077398562291 +-3.9495100731142879e-07 0.707108305450872 -0.70710525691904702 +0.41421208826110489 1.000000014133184 -0.4142120541404567 +-0.9999974621822616 -1.4142117678626165 -3.1393942363633888e-06 +-0.99999746218226204 -1.4142117678626165 -3.1393942363633888e-06 +-0.41421348111194667 -0.99999954863066409 -0.41421457081245294 +-0.99999697179441616 -1.4142114211057155 -3.486150478047543e-06 +6.733763275609216e-08 0.70710863233747046 -0.70710493003078101 +2.4780592835629286e-07 0.70710875994750055 -0.70710480242009988 +-0.99999697179441527 -1.4142114211057155 -3.486150478047543e-06 +-0.41421364363424817 -0.41421255393325052 -1.0000004513683245 +1 1.4142126539888742 3.398829559955419e-06 +0.99999871535607943 1.4142126539888742 3.398829559955419e-06 +0.99999906029454944 6.8041508237023106e-07 -1.4142128979009909 +0.41421270660510456 1.0000004513673035 -0.41421161690410679 +0.99999746068808992 1.4142117668084029 1.8115076449373903e-06 +8.7481308101752743e-07 0.70710615462878179 0.70710740774429914 +1.5139835507918734e-06 -0.70710503819326886 -0.70710852417715042 +0.41421208826110567 1.000000014133184 -0.4142120541404567 +0.41421364363424729 -0.41421255393325052 -1.0000004513683245 +-0.99999778182760068 1.4142119938833941 4.0589327152487359e-06 +-1 -0.41421255393325052 -1.0000004513683245 +-0.99999826751698828 -1.4142123373208046 -2.5699371314372527e-06 +-0.41421457396451344 0.99999998586672967 0.41421460808516108 +4.6121383084955108e-07 0.70710520983208336 0.70710835253767002 +8.6383975141930014e-07 0.70710492513206313 0.70710863723668727 +0.41421255078240027 0.41421251666175163 1.0000000141331999 +1 1.4142133744545236 3.6070764165986775e-06 +1 -1.4142129929078417 -4.3644480092760405e-06 +1 1.4142134684112566 3.701033654149853e-06 +1 -1.4142128622311967 -4.3072106219163663e-06 +1 -1.4142125521932365 -4.6172470007526945e-06 +1 1.414212862233156 3.6070751101327312e-06 +1 -1.4142126461497391 -4.7112042509568608e-06 +-0.99999986712473898 -1.4142134684112566 -3.701033654149853e-06 +6.4799388093628461e-07 -0.70710913669375586 0.70710442567178888 +1 -1.4142130501449639 -4.3072111942376874e-06 +8.6612784114033085e-07 -0.70710549629687014 -0.70710806607442045 +1 -1.4142129356710771 -4.3072108455892244e-06 +1 -1.4142128989512468 -4.2704907590715828e-06 +1 -1.4142122421574363 -4.3072087333829235e-06 +7.9960594173730617e-07 -0.70710554333500109 -0.70710801903637899 +-0.41421262876862275 -1.0000004513672187 0.41421153906762542 +1.3361365838215377e-06 -0.70710773389074988 0.70710582848232351 +1.7388187355926157e-06 -0.70710801861032868 0.70710554376273826 +-0.4142120104246575 -1.0000000141331813 0.4142119763040093 +-0.41421201042465794 -1.0000000141331813 0.4142119763040093 +1 0.99999891029980459 1.0000000341206112 +4.0276975021769132e-07 -0.70710896333633033 0.70710459903014478 +-0.99999906178872422 -1.4142128989512468 -4.2704907590715828e-06 +-6.4773177617312192e-07 -0.70710913669375586 0.70710442567178888 +-4.0256669604646163e-07 -0.70710896333633033 0.70710459903014478 +-1.8113736352211646e-07 -0.70710880676256793 0.70710475560474739 +6.5537636909801547e-08 -0.70710863233747046 0.70710493003078101 +0.41421525499740508 -0.99999954862873119 -0.41421634469791047 +-1 -2.4759803731766406e-06 1.4142124312777415 +-0.99999918996501802 -1.9176684947061313e-06 1.4142129895906819 +-0.99999840039203658 -2.4759803731766406e-06 1.4142124312777415 +0.41421511432323566 -0.41421514844388285 0.99999998586671124 +8.6612784114033085e-07 -0.70710806607442045 0.70710549629687014 +1.269020804429747e-06 -0.70710835080647261 0.70710521156427641 +4.0478521188480072e-07 -0.7071077398562291 0.70710582251568188 +0.99999870427518212 -4.7112042509568608e-06 1.4142126461497391 +0.99999919466387799 -4.3644480092760405e-06 1.4142129929078417 +1.0472522425446205e-06 -0.70710819414859105 0.70710536822245595 +0.99999919466387821 -4.3644480092760405e-06 1.4142129929078417 +1.2688001540305385e-06 -0.70710835080647261 0.70710521156427641 +0.41421587334278842 -0.99999998586668526 -0.41421590746343606 +-0.99999697179441527 -3.486150478047543e-06 1.4142114211057155 +-0.41421153867008587 -1.0000000141331653 0.41421150454943756 +-0.41421215701384495 -1.0000004513667045 0.4142110673128474 +1 3.701033654149853e-06 -1.4142134684112566 +-0.41421153867008653 -1.0000000141331653 0.41421150454943756 +-0.9999974621822616 -3.1393942363633888e-06 1.4142117678626165 +2.4537414540624201e-07 -0.70710942138776822 0.70710414097551078 +1 -0.41421562019964708 0.99999998586669503 +-2.4501506543888366e-07 -0.70710942138776822 0.70710414097551078 +1 -0.41421590746343606 0.99999998586668526 +4.6906554296601612e-07 -0.70710891645828933 0.70710464590851285 +8.6394589711159071e-07 -0.70710863723668727 0.70710492513206313 +-1 -1.9176684947061313e-06 1.4142129895906819 +4.6123537141686579e-07 -0.70710835253767002 0.70710520983208336 +0.41421558607900011 -0.41421562019964708 0.99999998586669503 +7.1426530978700619e-07 -0.70710447258266695 -0.70710908978325104 +0.99999950961090933 -5.2806648706082577e-06 1.4142132156058267 +1.5139835507918734e-06 -0.70710852417715042 0.70710503819326886 +-0.41421302528983883 -1.0000000141332159 0.41421299116919064 +0.41421302528983872 -1.0000000141332159 0.41421299116919064 +-0.41421364363424817 -1.0000004513683245 0.41421255393325052 +0.41421364363424729 -1.0000004513683245 0.41421255393325052 +8.6635667105491646e-07 -0.70710806607442045 0.70710549629687014 +0.99999906029454944 -1.4142128979009909 -6.8041508237023106e-07 +1 -1.4142128688499249 -4.9339062093955621e-06 +1 -1.4142122355346221 -4.9339039998849759e-06 +0.41421587334278942 -0.41421590746343606 0.99999998586668526 +1 -1.4142111189129234 -4.9339001042149158e-06 +1 1.4142124457436531 3.607074047839381e-06 +1 1.4142130040570571 3.0487626103816146e-06 +0.41421208826110567 0.4142120541404567 1.000000014133184 +1 -1.4142124234481392 -4.9339046554777011e-06 +1 -1.4142117456080139 -4.3072072210625338e-06 +1 -1.4142099733573321 -4.9338961076002836e-06 +0.41421153867008653 0.41421150454943756 1.0000000141331653 +0.41421179825566912 1.0000000141331742 -0.41421176413502092 +0.41421357575670381 0.41421354163605539 1.000000014133235 +-0.41421503648662172 0.9999999858667139 0.41421507060726859 +0.41421125140717707 1.0000000141331555 -0.41421121728652888 +-0.41421457396451389 0.99999998586672967 0.41421460808516108 +-0.41421558607900011 0.99999998586669503 0.41421562019964708 +1 -1.4142106000508998 -4.3072037320858006e-06 +1 1.4142129100999679 3.1427193686419243e-06 +-0.41421558607899944 0.99999998586669503 0.41421562019964708 +-0.41421503648662095 0.9999999858667139 0.41421507060726859 +1 -1.4142119938833941 -4.0589327152487359e-06 +-0.41421354898948648 0.99999998586676453 0.41421358311013412 +-0.41421354898948659 0.99999998586676453 0.41421358311013412 +-5.2753194543519555e-07 0.99999999999998135 5.6165259335338504e-07 +0.41421457396451389 -0.41421460808516108 0.99999998586672967 +-4.6906554296601612e-07 0.70710464590851285 0.70710891645828933 +-0.41421262876862308 -1.0000004513672187 0.41421153906762542 +4.6914617296405571e-07 0.70710464590851285 0.70710891645828933 +-0.99999825026032885 1.4142123251202938 1.2531957664654974e-06 +0.41421255078239982 1.0000000141331999 -0.41421251666175163 +-0.41421357575670381 1.000000014133235 -0.41421354163605539 +0.99999696561865625 1.4142114167414452 2.1615745945134508e-06 +0.99999894442045312 1.0000000341206112 -0.99999891029980459 +-0.41421215701384506 -1.0000004513667045 0.4142110673128474 +-1.7388187355926157e-06 0.70710554376273826 0.70710801861032868 +-0.41421241659954189 -1.0000004513669873 0.41421132689854423 +1.7387081147718321e-06 0.70710554376273826 0.70710801861032868 +-0.99999950961090933 1.4142132156058267 5.2806648706082577e-06 +-0.99999696561865603 1.4142114167414452 2.1615745945134508e-06 +-0.41421316912660167 -1.0000004513678076 0.41421207942560401 +0.4142135757567037 1.000000014133235 -0.41421354163605539 +-0.4142135757567037 0.41421354163605539 1.000000014133235 +1.3360538202768862e-06 0.70710582848232351 0.70710773389074988 +1.2695669256732695e-06 0.70710587549565806 0.70710768687741643 +-0.41421511432323521 0.99999998586671124 0.41421514844388285 +-0.41421441814160342 -0.99999954862964313 -0.41421550784210892 +0.99999652247919646 -2.4749215081263209e-06 1.4142111033945248 +-0.41421186975081092 -1.0000004513663918 0.41421078004981304 +0.99999746218226204 -3.1393942363633888e-06 1.4142117678626165 +-5.2804815822447777e-07 -0.99999999999998135 -5.6165259335338504e-07 +-0.4142118697508107 -1.0000004513663918 0.41421078004981304 +0.41421293064511933 -0.99999954863126406 -0.41421402034562482 +0.99999827221584425 -3.7121764735660115e-06 1.4142123406408573 +1 -2.4759803731766406e-06 1.4142124312777415 +1 -1.9176684947061313e-06 1.4142129895906819 +1 -1.3448867212065626e-06 1.4142124168109258 +1 1.4142122578325345 2.4904484346015815e-06 +1 -1.4142129895906819 -1.9176684947061313e-06 +1 -1.4142124312777415 -2.4759803731766406e-06 +1 -1.4142124168093728 -2.490448714562115e-06 +0.41421441814160342 -0.99999954862964313 -0.41421550784210892 +0.41421395561969809 -0.99999954863014717 -0.41421504532020359 +1 1.4142117456123802 2.4904475325744111e-06 +0.41421449597818372 -0.99999954862955831 -0.41421558567868921 +3.9462292528907016e-07 0.70710525691904702 0.707108305450872 +6.733763275609216e-08 0.70710493003078101 0.70710863233747046 +-3.9495100731142879e-07 0.70710525691904702 0.707108305450872 +-8.6394589711159071e-07 0.70710492513206313 0.70710863723668727 +-1.269748208759035e-06 0.70710587549565806 0.70710768687741643 +0.99999950492930911 1.4142132122997593 3.9571438454623321e-06 +0.41421348111194756 -0.99999954863066409 -0.41421457081245294 +-0.99999857140009363 1.4142125521932365 4.6172470007526945e-06 +-0.99999950492930956 1.4142132122997593 3.9571438454623321e-06 +-1.5171612573569867e-06 0.70710786195304531 -0.70710570042002518 +-0.41421419410135296 1.0000004513689245 -0.41421310440035597 +0.99999906029454966 6.8041508237023106e-07 -1.4142128979009909 +0.99999746068808992 -1.8115076449373903e-06 1.4142117668084029 +0.99999840039203725 -2.4759803731766406e-06 1.4142124312777415 +0.99999921042637929 -3.0487626103816146e-06 1.4142130040570571 +1 -3.0487626103816146e-06 1.4142130040570571 +-1.2695669256732695e-06 0.70710768687741643 -0.70710587549565806 +0.41421293064511866 0.41421402034562482 -0.99999954863126406 +0.41421293064511933 0.41421402034562482 -0.99999954863126406 +0.99999827221584403 -3.7121764735660115e-06 1.4142123406408573 +-1.3360538202768862e-06 0.70710773389074988 -0.70710582848232351 +-4.6994621147945629e-07 0.70710712146019339 -0.70710644091289376 +-0.99999955685919528 4.6205596678984154e-06 -1.4142132490177133 +0.41421470814757688 0.41421579784808238 -0.99999954862932716 +0.99999652247919601 2.4749215081263209e-06 -1.4142111033945248 +1 1.3448867212065626e-06 -1.4142124168109258 +-0.41421470814757655 0.41421579784808238 -0.99999954862932716 +0.99999746068808948 1.8115076449373903e-06 -1.4142117668084029 +0.99999746068808992 1.8115076449373903e-06 -1.4142117668084029 +-6.4231894401918411e-07 0.70710848060294729 -0.70710508176635489 +0.99999918996501824 -1.9176684947061313e-06 1.4142129895906819 +-6.42325801810045e-07 -0.70710848060294729 0.70710508176635489 +-8.6383975141930014e-07 -0.70710863723668727 0.70710492513206313 +-1.1090063977659631e-06 -0.70710881059538022 0.70710475177275978 +-4.6121383084955108e-07 -0.70710835253767002 0.70710520983208336 +-1 -1.594296574627522e-08 1.414211087871851 +0.99999778182760068 -4.0589327152487359e-06 1.4142119938833941 +0.41421241659954144 1.0000004513669873 -0.41421132689854423 +0.99999921042637907 -3.0487626103816146e-06 1.4142130040570571 +-0.99999871535607943 1.4142126539888742 3.398829559955419e-06 +-0.41421255078240027 -1.0000000141331999 0.41421251666175163 +-0.41421316912660133 -1.0000004513678076 0.41421207942560401 +-1 -1.5942953158184012e-08 1.4142099712528706 +0.99999963780452195 1.4142133062564368 4.0511010956670354e-06 +8.749281208134011e-07 -0.70710740774429914 0.70710615462878179 +4.0525009804370626e-07 -0.7071077398562291 0.70710582251568188 +0.99999825026032907 -1.2531957664654974e-06 1.4142123251202938 +-1.517224690304876e-06 0.70710786195304531 -0.70710570042002518 +-0.99999950492930956 -1.4142132122997593 -3.9571438454623321e-06 +1 1.4142124457460601 2.490448765520044e-06 +-8.749281208134011e-07 0.70710615462878179 0.70710740774429914 +0.41421179825566945 1.0000000141331742 -0.41421176413502092 +-1 1.4142124168109258 1.3448867212065626e-06 +1.5142266185144802e-06 -0.70710852417715042 0.70710503819326886 +0.99999894442045378 1.0000000341206112 -0.99999891029980459 +-0.41421270660510456 -0.41421161690410679 -1.0000004513673035 +-0.99999986712473921 -1.4142134684112566 -3.701033654149853e-06 +-0.41421503648662172 -0.9999999858667139 -0.41421507060726859 +-0.41421125140717707 -1.0000000141331555 0.41421121728652888 +0.41421503648662095 -0.9999999858667139 -0.41421507060726859 +0.41421457396451344 -0.99999998586672967 -0.41421460808516108 +0.41421354898948648 -0.99999998586676453 -0.41421358311013412 +-0.99999857140009363 -1.4142125521932365 -4.6172470007526945e-06 +-0.41421255078239982 -1.0000000141331999 0.41421251666175163 +5.2753194543519555e-07 -0.99999999999998135 -5.6165259335338504e-07 +-0.41421208826110489 -1.000000014133184 0.4142120541404567 +-0.99999950961090955 -1.4142132156058267 -5.2806648706082577e-06 +0.4142140994565553 -0.99999998586674588 -0.41421413357720294 +0.41421511432323521 -0.99999998586671124 -0.41421514844388285 +-0.41421125140717796 -1.0000000141331555 0.41421121728652888 +6.733763275609216e-08 -0.70710493003078101 -0.70710863233747046 +1.9840286943756897e-06 -0.70710819197823849 0.70710537039482446 +7.1433561698835564e-07 -0.70710908978325104 0.70710447258266695 +1.1091684616105229e-06 -0.70710881059538022 0.70710475177275978 +-0.99999603209181065 1.4142107566382753 2.821677749811849e-06 +-0.41421215701384506 -0.4142110673128474 -1.0000004513667045 +0.41421441814160342 0.41421550784210892 -0.99999954862964313 +0.41421449597818372 0.41421558567868921 -0.99999954862955831 +-0.99999906029454966 1.4142128979009909 6.8041508237023106e-07 +-1 1.4142122334295117 1.3448865468146354e-06 +1 -1.4142130040570571 -3.0487626103816146e-06 +1 -1.4142124457460601 -2.490448765520044e-06 +3 82 81 80 +3 85 84 83 +3 88 87 86 +3 86 87 89 +3 92 91 90 +3 81 82 92 +3 83 94 85 +3 92 90 81 +3 99 98 96 +3 101 87 90 +3 102 83 84 +3 104 102 103 +3 107 106 105 +3 109 107 108 +3 111 109 110 +3 114 111 112 +3 23 114 112 +3 18 19 117 +3 122 87 88 +3 124 123 122 +3 87 125 90 +3 80 128 99 +3 125 130 81 +3 130 132 80 +3 99 128 134 +3 99 134 135 +3 139 138 136 +3 136 145 142 +3 147 139 136 +3 90 91 101 +3 102 84 103 +3 107 105 108 +3 109 108 110 +3 111 110 112 +3 132 128 80 +3 134 139 135 +3 142 147 136 +3 134 138 139 +3 99 135 98 +3 90 125 81 +3 103 105 106 +3 130 80 81 +3 106 104 103 +3 168 125 87 +3 87 101 89 +3 122 168 87 +3 88 124 122 +3 117 122 123 +3 135 147 98 +3 123 18 117 +3 94 142 145 +3 145 85 94 +3 80 96 82 +3 80 99 96 +3 147 135 139 +3 217 214 208 +3 24 25 221 +3 217 29 214 +3 243 240 237 +3 251 243 244 +3 265 260 255 +3 260 265 215 +3 284 282 244 +3 289 284 244 +3 255 289 244 +3 255 296 289 +3 315 260 215 +3 144 315 215 +3 363 210 341 +3 374 372 367 +3 372 374 376 +3 390 127 378 +3 318 326 393 +3 416 216 326 +3 428 318 393 +3 434 428 430 +3 208 434 440 +3 440 217 208 +3 430 440 434 +3 393 430 428 +3 378 127 144 +3 390 501 127 +3 376 501 390 +3 376 523 372 +3 376 536 523 +3 390 546 536 +3 215 556 546 +3 569 265 255 +3 576 569 244 +3 243 576 244 +3 221 580 243 +3 556 215 265 +3 282 251 244 +3 296 255 260 +3 244 569 255 +3 216 611 326 +3 326 318 416 +3 376 374 501 +3 378 546 390 +3 390 536 376 +3 215 546 378 +3 576 243 580 +3 243 237 221 +3 611 216 210 +3 210 363 611 +3 221 237 24 +3 243 251 240 +3 341 367 363 +3 367 341 374 +3 378 144 215 +3 711 730 725 +3 747 4 737 +3 758 753 750 +3 765 747 737 +3 765 770 768 +3 776 765 768 +3 790 785 783 +3 747 806 7 +3 783 785 816 +3 822 783 816 +3 830 822 816 +3 830 835 822 +3 822 835 838 +3 853 806 747 +3 838 835 855 +3 725 750 711 +3 776 323 424 +3 890 369 311 +3 776 853 747 +3 853 776 424 +3 908 905 904 +3 908 725 905 +3 905 725 730 +3 753 758 915 +3 915 919 918 +3 919 915 920 +3 915 922 753 +3 918 922 915 +3 920 930 927 +3 930 920 931 +3 920 927 919 +3 931 936 930 +3 936 931 921 +3 921 812 941 +3 812 921 943 +3 921 941 936 +3 812 943 947 +3 943 6 947 +3 750 725 758 +3 790 962 785 +3 336 962 790 +3 978 976 890 +3 962 369 890 +3 978 768 770 +3 890 311 323 +3 4 747 7 +3 768 978 890 +3 765 776 747 +3 783 177 790 +3 177 783 291 +3 336 790 177 +3 855 904 287 +3 904 855 908 +3 976 962 890 +3 976 785 962 +3 768 323 776 +3 287 822 838 +3 291 822 287 +3 323 768 890 +3 369 962 336 +3 291 783 822 +3 287 838 855 +3 1120 19 18 +3 1126 1125 1123 +3 1133 1130 1127 +3 513 1138 1134 +3 1144 1142 1134 +3 1134 1138 1114 +3 1138 1146 1114 +3 626 1134 1142 +3 1138 513 482 +3 916 1146 1138 +3 246 752 290 +3 1158 1123 1156 +3 1175 566 982 +3 1177 1146 1175 +3 1146 886 566 +3 1181 875 880 +3 566 1175 1146 +3 1175 1185 1184 +3 1185 982 979 +3 1185 1189 1184 +3 1185 979 1192 +3 875 1199 1197 +3 1123 1158 1126 +3 880 1156 1181 +3 290 1202 246 +3 246 898 752 +3 290 1207 1202 +3 1202 1207 1214 +3 1219 1207 1216 +3 1221 1219 1216 +3 1223 1221 1216 +3 1225 17 1223 +3 982 1185 1175 +3 1177 1175 1184 +3 1127 1142 1133 +3 1134 1114 1144 +3 1134 626 513 +3 1146 916 886 +3 1197 1189 1185 +3 1192 875 1197 +3 1199 1189 1197 +3 1197 1185 1192 +3 1214 1207 1219 +3 1214 1219 1221 +3 17 1221 1223 +3 1225 1223 1216 +3 1120 18 1130 +3 1138 482 916 +3 1142 538 626 +3 1142 643 538 +3 1142 1127 643 +3 1130 1133 1120 +3 1125 1126 898 +3 898 246 1125 +3 1156 880 1158 +3 875 1181 1199 +3 1262 1261 1258 +3 27 1266 1120 +3 1266 187 1120 +3 1273 1272 1120 +3 1273 1120 187 +3 385 249 1277 +3 1284 1281 1262 +3 507 1151 138 +3 419 1289 913 +3 1151 507 847 +3 847 1296 1151 +3 1296 847 351 +3 642 351 348 +3 351 642 1296 +3 1301 1049 583 +3 1262 1258 1302 +3 138 139 1303 +3 1305 642 1304 +3 642 1284 1306 +3 1309 1307 1258 +3 1312 1272 1310 +3 1310 1273 188 +3 385 1277 1312 +3 348 1284 642 +3 1301 583 767 +3 1296 642 1305 +3 1258 1261 1309 +3 1320 1281 1284 +3 1306 1302 1321 +3 1322 1307 1309 +3 1322 1323 1307 +3 1322 1325 1323 +3 1327 1302 1258 +3 1328 1327 1258 +3 1329 1328 1307 +3 28 1329 1323 +3 28 31 1329 +3 385 1312 1310 +3 385 1310 188 +3 1310 1272 1273 +3 188 1273 187 +3 1328 1258 1307 +3 1323 1325 1340 +3 1329 1307 1323 +3 28 1323 1340 +3 348 1320 1284 +3 642 1306 1304 +3 1306 1284 1302 +3 1321 1302 1327 +3 1151 1296 1305 +3 1302 1284 1262 +3 1105 1151 1305 +3 1318 1301 767 +3 1105 139 138 +3 138 744 507 +3 1105 138 1151 +3 138 1303 744 +3 249 913 1289 +3 1289 1277 249 +3 1049 1289 419 +3 1049 419 583 +3 1303 1318 744 +3 1318 767 744 +3 939 1358 1240 +3 16 17 1168 +3 939 21 1358 +3 955 1360 1168 +3 1085 716 718 +3 1335 1141 1365 +3 718 1152 1085 +3 994 1264 604 +3 1339 1335 1365 +3 1376 1339 1365 +3 666 1376 1365 +3 604 666 1365 +3 604 1388 666 +3 212 1264 219 +3 610 212 219 +3 716 1085 819 +3 824 633 693 +3 633 824 501 +3 504 309 883 +3 877 1152 309 +3 1237 504 883 +3 1240 1237 909 +3 909 939 1240 +3 883 909 1237 +3 1421 843 1200 +3 1200 843 610 +3 501 376 633 +3 376 501 1421 +3 1200 575 1421 +3 1200 219 461 +3 575 1200 461 +3 1029 994 604 +3 1135 1029 1365 +3 1141 1135 1365 +3 955 957 1360 +3 1141 1431 1430 +3 401 219 994 +3 1264 994 219 +3 1388 604 1264 +3 1365 1029 604 +3 1152 718 309 +3 575 376 1421 +3 1421 501 843 +3 219 401 461 +3 309 504 877 +3 1141 957 955 +3 1141 1430 957 +3 1168 1360 16 +3 1141 1335 1431 +3 819 693 716 +3 693 819 824 +3 1200 610 219 +3 1444 169 311 +3 62 61 1316 +3 207 1447 890 +3 1449 1337 1316 +3 105 1258 1425 +3 1327 1453 1449 +3 1048 1460 1396 +3 1048 1461 1460 +3 1462 894 741 +3 1462 1464 894 +3 1048 1054 105 +3 1460 894 517 +3 1466 1337 1465 +3 1465 1337 1453 +3 1467 1465 1453 +3 1468 410 398 +3 1396 1460 517 +3 517 894 532 +3 1468 353 410 +3 222 1473 1472 +3 1447 207 218 +3 1473 222 195 +3 1054 1048 1396 +3 1474 1444 890 +3 353 1468 1475 +3 107 105 1054 +3 1444 1474 1477 +3 532 1464 398 +3 1477 173 169 +3 1482 173 1477 +3 1160 173 1482 +3 1160 1482 1161 +3 1482 57 1161 +3 1464 532 894 +3 169 1444 1477 +3 1467 1327 107 +3 1462 1486 1464 +3 1461 894 1460 +3 1461 741 894 +3 1327 1467 1453 +3 1327 1449 1258 +3 62 1337 1466 +3 62 1316 1337 +3 1337 1449 1453 +3 1488 1048 105 +3 105 107 1327 +3 1488 1461 1048 +3 1258 105 1327 +3 1425 1488 105 +3 1486 398 1464 +3 195 1475 1473 +3 1472 218 222 +3 311 890 1444 +3 890 311 207 +3 218 1472 1447 +3 1475 195 353 +3 398 1486 1468 +3 1432 1439 1503 +3 1503 113 1432 +3 1432 28 1439 +3 113 116 1510 +3 660 1514 773 +3 498 1313 1476 +3 1313 775 1476 +3 775 660 773 +3 1015 1520 1514 +3 652 1015 1514 +3 983 1520 1015 +3 983 1521 1520 +3 975 1522 1391 +3 1162 1512 975 +3 1007 816 1162 +3 1012 816 1007 +3 1115 1528 1527 +3 1012 1397 1395 +3 1397 1529 1528 +3 1535 1115 1533 +3 1535 1533 1536 +3 1533 1539 1536 +3 1536 29 1541 +3 29 30 1541 +3 1510 1432 113 +3 1514 660 652 +3 773 1476 775 +3 1110 1545 1521 +3 1391 1547 1545 +3 1548 1012 1395 +3 1391 1522 1547 +3 1522 1549 1547 +3 1522 1511 1549 +3 1512 783 1511 +3 816 1548 783 +3 1553 1551 1528 +3 1038 1553 1528 +3 1556 1555 1038 +3 1541 1556 1535 +3 1557 1548 1551 +3 1539 29 1536 +3 1536 1541 1535 +3 1527 1528 1529 +3 1038 1555 1553 +3 1528 1395 1397 +3 1528 1551 1395 +3 1522 975 1512 +3 816 783 1512 +3 1512 1511 1522 +3 1115 1038 1528 +3 1548 1557 783 +3 1038 1115 1535 +3 1395 1551 1548 +3 1535 1556 1038 +3 116 1476 1510 +3 1476 116 498 +3 1391 1545 1110 +3 1110 1521 983 +3 1512 1162 816 +3 1012 1548 816 +3 540 719 1285 +3 970 59 58 +3 337 1076 331 +3 753 758 777 +3 198 1147 1011 +3 467 1407 245 +3 1407 678 245 +3 758 753 1517 +3 1128 467 1028 +3 1044 1028 1132 +3 758 1132 1122 +3 758 1122 429 +3 1518 1517 753 +3 1582 1581 1518 +3 1586 1585 1584 +3 1585 1586 1587 +3 1586 1588 1587 +3 1584 1585 1589 +3 964 1584 57 +3 1013 200 1011 +3 337 967 970 +3 337 1013 967 +3 198 1011 200 +3 808 1068 1230 +3 818 1078 808 +3 325 758 429 +3 1407 467 1128 +3 1593 678 1407 +3 1593 1082 1078 +3 1407 1006 1593 +3 1044 1128 1028 +3 758 1044 1132 +3 1517 1101 758 +3 1581 1107 1517 +3 1581 1038 1107 +3 1555 958 1038 +3 1285 1147 198 +3 1006 1082 1593 +3 200 337 331 +3 678 1593 818 +3 1581 1582 1555 +3 1128 1006 1407 +3 1517 1518 1581 +3 1101 1044 758 +3 57 1584 1589 +3 964 958 1586 +3 1584 964 1586 +3 1588 1555 1582 +3 1586 958 1555 +3 1107 1101 1517 +3 1555 1588 1586 +3 1555 1038 1581 +3 970 1076 337 +3 1076 970 58 +3 1230 1071 540 +3 777 758 325 +3 808 1078 1068 +3 1230 1068 1071 +3 540 1071 719 +3 1285 719 1147 +3 1078 818 1593 +3 200 1013 337 +3 1323 1340 1599 +3 1599 1426 1323 +3 1323 36 1340 +3 1426 1596 1428 +3 479 1470 1612 +3 527 479 1612 +3 333 1613 761 +3 485 1538 1470 +3 1538 343 1470 +3 343 333 761 +3 1022 1615 1613 +3 657 1022 1613 +3 199 1615 1022 +3 199 1616 1615 +3 1415 1617 1391 +3 1163 1502 1415 +3 1059 785 1163 +3 1009 785 1059 +3 1041 958 1622 +3 1009 1382 1381 +3 1382 1626 1622 +3 1622 1628 1041 +3 1041 1631 1630 +3 1630 37 38 +3 1630 38 1632 +3 1428 1323 1426 +3 1470 479 485 +3 1613 333 657 +3 761 1470 343 +3 202 1634 1616 +3 1009 1635 785 +3 1391 1547 1634 +3 1617 1415 1502 +3 1635 1009 1381 +3 1547 1640 1634 +3 1547 1641 1640 +3 1617 1505 1641 +3 1502 790 1505 +3 785 1635 790 +3 1648 1647 1622 +3 958 1648 1622 +3 1632 1586 958 +3 1651 1635 1647 +3 1631 37 1630 +3 1628 1622 1626 +3 958 1586 1648 +3 1622 1381 1382 +3 1622 1647 1381 +3 1502 1163 785 +3 1635 1651 790 +3 1502 1505 1617 +3 1617 1641 1547 +3 785 790 1502 +3 1381 1647 1635 +3 1630 1632 958 +3 1596 1612 1428 +3 1612 1596 527 +3 1391 1634 202 +3 202 1616 199 +3 958 1041 1630 +3 1547 1391 1617 +3 1667 27 26 +3 1233 1668 977 +3 1667 1286 1278 +3 1655 1624 1286 +3 1103 1655 1154 +3 1154 1417 1418 +3 535 1655 1286 +3 917 1675 1154 +3 901 267 1676 +3 1678 872 977 +3 1678 1679 1675 +3 1675 873 872 +3 1681 1668 1178 +3 872 1678 1675 +3 977 1668 1678 +3 1678 1668 1683 +3 1683 1681 1684 +3 1199 1685 1684 +3 1668 1233 1178 +3 953 1686 1199 +3 1178 875 1681 +3 414 1691 267 +3 901 801 267 +3 1384 1691 414 +3 1384 1695 1691 +3 1249 1696 1695 +3 1249 1698 1696 +3 1698 1268 1434 +3 1168 1698 1434 +3 1186 1168 1434 +3 1186 25 1168 +3 1154 1418 917 +3 1103 1154 1675 +3 1683 1679 1678 +3 1683 1668 1681 +3 1286 542 535 +3 1624 1655 1103 +3 1286 1422 542 +3 1278 1286 1624 +3 1199 1684 1681 +3 1199 1681 875 +3 1676 903 901 +3 875 953 1199 +3 1686 1685 1199 +3 1714 953 1176 +3 1384 1268 1249 +3 1384 1249 1695 +3 1249 1268 1698 +3 1696 1698 1168 +3 1667 26 1422 +3 1417 1154 1655 +3 1675 917 873 +3 1655 535 1417 +3 1422 1286 1667 +3 1176 1723 1714 +3 903 1676 1723 +3 267 801 414 +3 1723 1176 903 +3 953 1714 1686 +3 1366 197 1680 +3 71 1727 166 +3 1715 181 166 +3 406 556 401 +3 1731 612 590 +3 556 406 612 +3 661 1172 528 +3 590 1659 1731 +3 401 778 406 +3 769 1735 1172 +3 1715 1727 1708 +3 648 1021 164 +3 197 1737 200 +3 66 67 1367 +3 66 1367 1366 +3 1367 1737 1366 +3 1013 1063 204 +3 1013 204 1659 +3 204 209 1659 +3 209 215 556 +3 215 401 556 +3 219 401 215 +3 1172 227 176 +3 528 176 164 +3 1202 1715 1207 +3 1750 131 1058 +3 1058 163 1691 +3 1691 163 137 +3 1202 181 1715 +3 1715 166 1727 +3 1710 1708 1727 +3 1710 1727 71 +3 137 181 1202 +3 654 648 148 +3 1767 1063 1013 +3 1767 1013 1737 +3 225 401 219 +3 131 163 1058 +3 1058 1691 1386 +3 1691 137 1202 +3 148 1750 654 +3 126 131 1750 +3 1386 1369 1058 +3 148 126 1750 +3 1207 1384 1202 +3 1737 197 1366 +3 66 1366 1680 +3 164 1021 661 +3 1767 1737 1367 +3 209 556 1731 +3 778 401 1735 +3 209 1731 1659 +3 528 164 661 +3 225 1735 401 +3 164 148 648 +3 225 227 1735 +3 612 1731 556 +3 1735 227 1172 +3 1735 769 778 +3 1172 176 528 +3 1172 661 769 +3 1369 654 1750 +3 1750 1058 1369 +3 1384 1386 1691 +3 1708 1207 1715 +3 1691 1202 1384 +3 1659 590 646 +3 1013 1659 200 +3 1659 646 200 +3 200 1737 1013 +3 346 1799 344 +3 1800 75 74 +3 1801 932 73 +3 1801 1508 932 +3 1333 1525 1524 +3 1508 1333 1524 +3 1523 1321 106 +3 106 103 1050 +3 1489 522 339 +3 1338 529 522 +3 1333 1508 1801 +3 323 1496 768 +3 193 1580 1806 +3 323 1766 189 +3 1486 1808 1807 +3 1766 1756 1800 +3 192 1810 346 +3 193 1806 192 +3 426 1580 193 +3 1050 1039 339 +3 1808 529 1338 +3 1486 398 1808 +3 1486 1811 1580 +3 344 1496 323 +3 1459 1338 522 +3 1814 1459 1489 +3 1039 1814 1489 +3 103 1424 1039 +3 103 1302 1424 +3 1321 1817 1302 +3 1818 1315 1817 +3 1580 420 1486 +3 1807 1811 1486 +3 189 1766 186 +3 768 1756 1766 +3 1039 1050 103 +3 1338 1807 1808 +3 1039 1489 339 +3 1459 522 1489 +3 1801 1315 1333 +3 1525 1818 1523 +3 1333 1315 1818 +3 1321 1523 1818 +3 1818 1817 1321 +3 103 106 1321 +3 1424 1814 1039 +3 1818 1525 1333 +3 1321 1302 103 +3 1800 186 1766 +3 186 1800 74 +3 398 1486 420 +3 529 1808 398 +3 420 1580 426 +3 192 1806 1810 +3 346 1810 1799 +3 344 1799 1496 +3 323 768 1766 +3 1567 1546 1322 +3 1403 1400 1307 +3 1567 44 1546 +3 459 1570 1400 +3 1559 459 1400 +3 447 1469 1570 +3 1469 447 450 +3 342 1573 751 +3 450 365 1469 +3 365 1243 1469 +3 1243 754 1469 +3 754 342 751 +3 655 1595 1573 +3 630 655 1573 +3 206 1595 655 +3 1110 1545 202 +3 1380 1819 1110 +3 1379 1552 1380 +3 867 976 1379 +3 1004 976 867 +3 961 964 1754 +3 1004 1385 1378 +3 1385 1604 1754 +3 1604 1842 1754 +3 964 45 46 +3 964 46 1584 +3 1400 1403 1559 +3 1570 465 447 +3 202 1634 1579 +3 1573 342 630 +3 751 1469 754 +3 206 1579 1595 +3 1004 1755 976 +3 1634 1578 1579 +3 1545 1594 1578 +3 1545 1819 1594 +3 1819 1504 1590 +3 1552 962 1504 +3 1591 1583 1755 +3 1592 1591 1754 +3 964 1592 1754 +3 962 976 1755 +3 1842 961 1754 +3 1754 1378 1385 +3 1754 1591 1378 +3 1819 1380 1552 +3 1755 1583 962 +3 1755 1004 1378 +3 976 962 1552 +3 964 961 45 +3 1819 1590 1594 +3 1545 1578 1634 +3 1552 1379 976 +3 1552 1504 1819 +3 1378 1591 1755 +3 1592 964 1584 +3 1322 1307 1567 +3 1307 1322 1403 +3 1570 459 465 +3 202 1579 206 +3 202 1545 1634 +3 1110 1819 1545 +3 1246 1250 1845 +3 35 1507 1846 +3 1507 1509 1846 +3 1509 1838 1846 +3 224 1838 1509 +3 196 1682 224 +3 366 247 1847 +3 1845 1250 1257 +3 510 1118 134 +3 387 1771 252 +3 1118 510 926 +3 926 1437 1118 +3 1437 926 356 +3 702 356 354 +3 356 702 1437 +3 1629 1143 425 +3 1817 1845 1257 +3 1303 1317 744 +3 1005 134 1118 +3 1005 1118 1716 +3 1716 1437 702 +3 1682 1838 224 +3 1852 1682 196 +3 366 1847 1852 +3 354 1845 702 +3 1317 1629 779 +3 1118 1437 1716 +3 1257 1449 1817 +3 354 1246 1845 +3 1818 1614 1817 +3 1260 1449 1257 +3 1260 1567 1449 +3 1817 1614 1845 +3 1575 1453 1449 +3 39 1575 1567 +3 36 39 1567 +3 1377 1716 702 +3 1377 702 1614 +3 366 1852 196 +3 1614 702 1845 +3 1260 1259 1567 +3 1453 1817 1449 +3 1567 1259 1546 +3 1575 1449 1567 +3 36 1567 1546 +3 1453 1818 1817 +3 134 744 510 +3 1005 135 134 +3 744 134 1303 +3 1303 135 1860 +3 134 135 1303 +3 1317 1303 1860 +3 247 252 1771 +3 1771 1847 247 +3 1143 1771 387 +3 1143 387 425 +3 1629 425 779 +3 1317 779 744 +3 1856 3 1092 +3 1416 239 1861 +3 1092 122 1411 +3 1312 1310 122 +3 1092 3 2 +3 1852 1326 1324 +3 1326 1639 1324 +3 1642 562 531 +3 1169 1776 1773 +3 88 1312 122 +3 1666 1852 1312 +3 531 1169 1642 +3 1040 1707 1848 +3 1746 1642 1326 +3 1776 493 581 +3 1776 1420 493 +3 1420 1776 1169 +3 1776 1859 1773 +3 910 1848 1776 +3 1185 1037 979 +3 1776 581 910 +3 996 1861 1843 +3 239 766 306 +3 1253 1863 1862 +3 1863 1253 1149 +3 1861 996 1416 +3 1149 1843 1863 +3 1668 979 1233 +3 1037 1185 1707 +3 1862 1233 1253 +3 979 1668 1185 +3 1233 1862 1668 +3 306 1727 239 +3 1416 766 239 +3 1710 1727 306 +3 1710 1 1727 +3 1852 1310 1312 +3 1642 1746 1419 +3 1310 1411 122 +3 1664 1326 1852 +3 1411 1856 1092 +3 122 969 88 +3 1642 1639 1326 +3 1642 1419 562 +3 1166 1639 1642 +3 1166 1642 1169 +3 1852 1666 1664 +3 1166 1169 1773 +3 1848 1859 1776 +3 1707 1040 1037 +3 1707 1859 1848 +3 1843 1149 996 +3 1092 2 969 +3 1326 1664 1673 +3 1326 1673 1746 +3 1848 910 1040 +3 1169 531 1420 +3 1312 1725 1666 +3 1312 88 1725 +3 969 122 1092 +3 615 1768 786 +3 937 938 1406 +3 1762 280 439 +3 938 691 725 +3 1406 345 1593 +3 934 789 725 +3 789 319 725 +3 1129 1494 750 +3 1086 1553 1079 +3 1102 1648 1086 +3 1592 1159 1482 +3 1159 1161 1482 +3 1482 74 75 +3 725 1864 1747 +3 1747 345 1406 +3 1593 678 1406 +3 725 1494 1864 +3 1494 1608 1864 +3 1757 1608 1494 +3 1553 1086 1648 +3 1764 1757 1528 +3 1754 1482 1868 +3 1482 75 1868 +3 1737 197 502 +3 280 1762 1183 +3 1768 615 804 +3 827 1649 1769 +3 937 1406 672 +3 713 1494 1129 +3 750 725 313 +3 313 725 319 +3 197 1737 433 +3 1600 433 1737 +3 1757 1079 1553 +3 433 1600 79 +3 433 79 437 +3 1649 827 678 +3 691 934 725 +3 197 433 437 +3 725 750 1494 +3 1748 1747 1864 +3 1748 345 1747 +3 1406 678 672 +3 1161 74 1482 +3 1622 1528 1553 +3 1494 713 1757 +3 1622 1592 1754 +3 1592 1102 1159 +3 1754 1592 1482 +3 1622 1648 1592 +3 1079 1757 713 +3 1648 1102 1592 +3 1764 1608 1757 +3 1622 1553 1648 +3 1528 1757 1553 +3 1747 938 725 +3 938 1747 1406 +3 804 1769 1768 +3 786 439 615 +3 502 1183 1737 +3 1183 502 280 +3 439 786 1762 +3 1769 804 827 +3 678 1593 1649 +3 1781 1780 1779 +3 63 1783 1490 +3 1781 58 1780 +3 1785 1418 1784 +3 1784 900 1783 +3 600 639 650 +3 94 83 608 +3 1217 303 1066 +3 959 869 872 +3 925 923 258 +3 966 953 303 +3 316 412 96 +3 903 1176 966 +3 597 565 303 +3 559 303 565 +3 304 629 707 +3 303 578 710 +3 578 654 394 +3 987 663 648 +3 1131 1372 989 +3 1025 1131 989 +3 1779 1371 1287 +3 1784 1418 900 +3 1418 482 917 +3 505 896 886 +3 496 482 500 +3 1742 925 262 +3 262 598 1742 +3 916 496 505 +3 1500 1501 923 +3 566 886 586 +3 925 1742 1734 +3 635 1606 639 +3 304 308 629 +3 973 966 859 +3 859 303 722 +3 707 629 559 +3 82 96 308 +3 811 1287 1025 +3 620 322 444 +3 722 303 710 +3 83 320 608 +3 142 608 303 +3 578 648 654 +3 102 104 328 +3 1815 932 62 +3 1053 1781 1779 +3 1053 1056 1781 +3 759 989 987 +3 989 759 745 +3 328 422 436 +3 541 294 102 +3 1021 755 987 +3 645 1021 648 +3 303 645 578 +3 147 142 303 +3 386 840 303 +3 397 436 386 +3 458 815 541 +3 320 328 397 +3 454 541 83 +3 656 412 620 +3 959 1231 1228 +3 1815 1524 1508 +3 568 1037 982 +3 1149 996 911 +3 497 493 490 +3 966 973 903 +3 1158 880 953 +3 878 1001 1149 +3 1253 1231 1233 +3 386 379 383 +3 600 597 602 +3 586 568 566 +3 1178 1233 1192 +3 1228 914 950 +3 912 1149 911 +3 1231 1253 912 +3 493 497 581 +3 1231 912 1228 +3 1001 878 880 +3 996 1149 1001 +3 1501 1500 1499 +3 1040 1037 568 +3 811 1025 745 +3 1372 663 987 +3 1131 1025 1371 +3 814 1056 1053 +3 987 648 1021 +3 663 654 648 +3 1176 903 1126 +3 303 859 966 +3 308 304 82 +3 1158 1126 999 +3 464 597 650 +3 982 566 568 +3 559 629 303 +3 96 82 316 +3 449 549 474 +3 441 932 549 +3 669 454 94 +3 571 303 629 +3 458 474 549 +3 594 656 620 +3 1499 1500 1606 +3 566 982 872 +3 1217 1066 497 +3 1253 878 1149 +3 592 1420 531 +3 873 917 916 +3 896 586 886 +3 892 1228 950 +3 873 872 869 +3 1734 1500 925 +3 513 482 1418 +3 496 500 531 +3 1490 892 950 +3 83 94 454 +3 1491 1490 950 +3 1491 63 1490 +3 1490 900 892 +3 1490 1783 900 +3 900 1418 917 +3 513 500 482 +3 1417 1418 1785 +3 1417 513 1418 +3 1420 508 496 +3 916 482 496 +3 508 505 496 +3 586 896 910 +3 917 482 916 +3 869 959 892 +3 916 886 873 +3 531 1420 496 +3 493 505 508 +3 886 566 873 +3 886 916 505 +3 581 910 896 +3 493 581 896 +3 497 1036 581 +3 1066 1036 497 +3 982 979 977 +3 900 869 892 +3 910 1040 586 +3 878 1253 1178 +3 979 982 1037 +3 869 900 917 +3 923 925 1500 +3 914 912 911 +3 914 1228 912 +3 1228 892 959 +3 880 878 875 +3 1192 303 875 +3 1178 875 878 +3 1178 1192 875 +3 875 303 953 +3 1126 1158 1176 +3 880 875 953 +3 1371 1025 1287 +3 989 745 1025 +3 1053 1287 814 +3 1053 1779 1287 +3 759 987 755 +3 989 1372 987 +3 710 578 394 +3 645 648 578 +3 953 1176 1158 +3 953 966 1176 +3 880 1158 1001 +3 1037 303 1192 +3 258 262 925 +3 896 505 493 +3 262 258 266 +3 979 1192 1233 +3 266 490 262 +3 1037 1192 979 +3 266 1212 1217 +3 303 1037 1040 +3 1026 1036 1034 +3 1066 303 1036 +3 1026 1034 910 +3 1036 303 1034 +3 497 490 266 +3 872 873 566 +3 1034 1040 910 +3 1034 303 1040 +3 581 1026 910 +3 581 1036 1026 +3 1231 959 977 +3 669 94 142 +3 656 594 674 +3 98 656 147 +3 571 147 303 +3 674 142 147 +3 656 674 147 +3 656 98 412 +3 98 96 412 +3 1149 912 1253 +3 142 94 608 +3 96 98 571 +3 436 379 386 +3 383 840 386 +3 303 397 386 +3 620 449 594 +3 303 608 397 +3 83 102 320 +3 608 320 397 +3 594 474 669 +3 669 674 594 +3 328 104 422 +3 1815 1508 932 +3 1524 815 1508 +3 397 328 436 +3 102 294 104 +3 674 669 142 +3 541 815 294 +3 458 1508 815 +3 541 454 458 +3 549 1508 458 +3 328 320 102 +3 1233 1178 1253 +3 1508 549 932 +3 917 873 869 +3 449 620 444 +3 441 449 444 +3 441 549 449 +3 571 98 147 +3 474 458 454 +3 436 422 379 +3 322 620 412 +3 412 316 322 +3 1287 811 814 +3 102 83 541 +3 977 1233 1231 +3 308 571 629 +3 308 96 571 +3 602 597 303 +3 464 565 597 +3 635 600 602 +3 650 597 600 +3 1501 1205 923 +3 602 303 1205 +3 1501 602 1205 +3 640 635 602 +3 1499 635 640 +3 639 600 635 +3 1206 1212 258 +3 1206 303 1212 +3 266 1217 497 +3 1212 303 1217 +3 977 872 982 +3 258 1212 266 +3 568 586 1040 +3 923 1206 258 +3 598 262 490 +3 493 508 1420 +3 602 1501 640 +3 1233 977 979 +3 1205 1206 923 +3 1205 303 1206 +3 635 1499 1606 +3 640 1501 1499 +3 1500 1734 1606 +3 999 1001 1158 +3 493 1420 490 +3 592 490 1420 +3 490 592 598 +3 1001 999 996 +3 454 669 474 +3 474 594 449 +3 872 977 959 +3 140 144 201 +3 607 610 843 +3 735 630 342 +3 1713 1263 40 +3 637 1295 1292 +3 165 724 733 +3 1688 1513 1263 +3 624 1292 165 +3 1024 992 995 +3 162 781 161 +3 260 1264 296 +3 706 1825 694 +3 1688 284 1513 +3 596 662 1348 +3 666 1348 1376 +3 289 1376 284 +3 694 284 1688 +3 658 165 206 +3 165 781 162 +3 165 202 206 +3 995 990 1398 +3 1391 165 975 +3 374 819 341 +3 764 223 1276 +3 501 165 843 +3 1380 1391 1415 +3 1171 820 165 +3 1415 1391 975 +3 232 820 1157 +3 1059 1007 1009 +3 1059 1004 867 +3 231 232 1157 +3 1391 202 165 +3 992 971 165 +3 229 487 165 +3 990 992 954 +3 477 488 879 +3 1112 477 879 +3 1560 1563 184 +3 1041 961 1842 +3 184 1563 1042 +3 1104 1564 1533 +3 1104 1042 1564 +3 1533 1115 1104 +3 1041 1631 45 +3 315 212 260 +3 740 342 754 +3 1243 370 1254 +3 370 365 305 +3 606 301 512 +3 431 519 1354 +3 140 625 825 +3 519 599 512 +3 465 470 455 +3 447 465 455 +3 470 465 459 +3 1404 519 470 +3 1559 1403 470 +3 1309 1259 1356 +3 1404 1322 1309 +3 1404 1403 1322 +3 1546 1259 1322 +3 1546 44 1259 +3 127 501 843 +3 165 374 1171 +3 184 185 1112 +3 1162 971 1007 +3 1842 1604 1869 +3 144 140 127 +3 1243 748 754 +3 637 632 772 +3 365 370 1243 +3 610 607 212 +3 455 301 450 +3 724 743 720 +3 748 740 754 +3 1713 694 1688 +3 1713 1688 1263 +3 666 1376 289 +3 694 289 284 +3 607 165 223 +3 162 704 165 +3 144 610 315 +3 666 296 1388 +3 995 1012 1024 +3 756 1276 223 +3 1264 260 212 +3 223 165 704 +3 824 374 501 +3 824 823 819 +3 1041 1842 1628 +3 1626 1869 1604 +3 1562 1104 1115 +3 1560 1112 879 +3 231 488 229 +3 301 442 307 +3 1012 1009 1007 +3 315 201 144 +3 370 772 632 +3 1572 1531 1561 +3 1024 971 992 +3 456 533 554 +3 975 165 971 +3 1007 971 1024 +3 1007 1024 1012 +3 1112 1560 184 +3 720 307 442 +3 512 301 455 +3 632 1252 1254 +3 260 1342 315 +3 1388 296 1264 +3 1009 1004 1059 +3 1295 637 739 +3 772 739 637 +3 377 606 599 +3 377 599 431 +3 1404 470 1403 +3 1559 470 459 +3 596 1348 666 +3 1276 756 1526 +3 1342 260 1832 +3 706 694 1713 +3 296 666 289 +3 1267 160 161 +3 1264 1276 1388 +3 1526 1388 1276 +3 1267 662 596 +3 632 637 634 +3 1388 596 666 +3 1832 1825 1342 +3 799 704 162 +3 160 162 161 +3 756 704 799 +3 160 799 162 +3 756 799 160 +3 1526 160 1267 +3 756 160 1526 +3 289 1832 296 +3 1397 1398 1529 +3 756 223 704 +3 764 607 223 +3 1415 975 1163 +3 682 625 140 +3 824 501 825 +3 1254 736 748 +3 610 144 843 +3 843 165 607 +3 1342 1341 201 +3 1341 682 201 +3 212 764 1264 +3 1397 1382 1012 +3 1382 1385 1009 +3 1012 995 1397 +3 764 212 607 +3 772 370 305 +3 1163 1379 1415 +3 1398 1397 995 +3 1163 1162 1059 +3 201 315 1342 +3 1341 1342 1825 +3 825 501 127 +3 825 823 824 +3 1163 867 1379 +3 1276 1264 764 +3 165 820 232 +3 165 232 229 +3 165 501 374 +3 1171 374 341 +3 1415 1379 1380 +3 819 374 824 +3 488 477 229 +3 231 229 232 +3 487 1112 185 +3 127 843 144 +3 1563 1564 1042 +3 1562 1531 1572 +3 477 1112 487 +3 1096 182 1561 +3 229 477 487 +3 748 1243 1254 +3 1527 1041 1628 +3 1115 1533 1631 +3 1042 1104 1572 +3 1041 1115 1631 +3 1527 1115 1041 +3 961 1041 45 +3 1626 1527 1628 +3 1869 1628 1842 +3 184 1042 182 +3 307 305 301 +3 442 614 720 +3 1869 1626 1628 +3 1115 1527 1562 +3 1009 1012 1382 +3 1104 1562 1572 +3 1042 1572 182 +3 185 184 182 +3 185 182 554 +3 1562 1529 1531 +3 632 1254 370 +3 554 182 1096 +3 554 1096 456 +3 487 185 533 +3 1382 1604 1385 +3 185 554 533 +3 487 533 165 +3 165 954 992 +3 1398 1531 1529 +3 165 456 954 +3 735 342 740 +3 165 533 456 +3 1093 456 1096 +3 954 456 1093 +3 1402 1561 1531 +3 1561 182 1572 +3 1093 1402 954 +3 740 618 735 +3 1398 1402 1531 +3 1529 1562 1527 +3 1093 1096 1561 +3 305 307 772 +3 1402 1093 1561 +3 1527 1626 1529 +3 990 995 992 +3 1385 1004 1009 +3 1397 1529 1626 +3 1059 867 1163 +3 1007 1059 1162 +3 975 1162 1163 +3 296 1832 260 +3 971 1162 975 +3 990 954 1402 +3 655 630 658 +3 655 658 206 +3 1110 202 1391 +3 1110 1391 1380 +3 1402 1398 990 +3 1526 1267 596 +3 658 735 618 +3 658 618 165 +3 658 630 735 +3 442 301 606 +3 606 377 442 +3 618 624 165 +3 201 682 140 +3 447 455 450 +3 442 373 614 +3 599 606 512 +3 377 373 442 +3 634 1252 632 +3 825 127 140 +3 1382 1397 1626 +3 307 720 739 +3 736 1254 1252 +3 512 455 470 +3 740 748 1234 +3 624 736 836 +3 748 736 1234 +3 740 1234 618 +3 1234 736 624 +3 1234 624 618 +3 736 1252 836 +3 624 634 1292 +3 1626 1604 1382 +3 470 519 512 +3 634 637 1292 +3 836 1252 634 +3 836 634 624 +3 165 1292 1295 +3 743 1295 739 +3 165 1295 743 +3 212 315 610 +3 165 743 724 +3 733 724 614 +3 743 739 720 +3 724 720 614 +3 375 373 377 +3 375 377 431 +3 739 772 307 +3 431 599 519 +3 1354 1404 1261 +3 1354 519 1404 +3 1261 1309 1356 +3 1322 1259 1309 +3 1404 1309 1261 +3 450 301 305 +3 305 365 450 +3 825 625 823 +3 1832 289 694 +3 694 1825 1832 +3 596 1388 1526 +3 1353 1351 629 +3 550 547 1349 +3 1746 617 1326 +3 563 1787 1242 +3 99 1008 96 +3 1242 559 563 +3 1746 1850 1733 +3 1733 1850 1728 +3 1728 1850 684 +3 684 1850 683 +3 1242 1229 1633 +3 1787 563 471 +3 620 412 1270 +3 449 620 1269 +3 476 1850 1787 +3 549 449 1334 +3 1508 549 1333 +3 1815 1508 1337 +3 1466 1815 1337 +3 47 1466 1337 +3 42 43 1271 +3 1349 1326 550 +3 96 308 99 +3 547 626 1349 +3 1850 1319 1787 +3 1326 1294 1850 +3 1787 1319 1242 +3 1319 1229 1242 +3 1633 1314 1353 +3 1633 1353 629 +3 1633 629 559 +3 1270 1269 620 +3 559 1242 1633 +3 1787 471 476 +3 549 1334 1333 +3 1508 1333 1337 +3 1286 1142 535 +3 1229 1314 1633 +3 308 629 1351 +3 1294 1319 1850 +3 1850 476 683 +3 535 1870 1286 +3 1351 99 308 +3 1271 1286 1870 +3 1326 1850 1746 +3 617 550 1326 +3 1142 1349 626 +3 626 535 1142 +3 1870 42 1271 +3 1269 1334 449 +3 1008 1270 412 +3 412 96 1008 +3 78 946 845 +3 946 1251 845 +3 569 1025 1287 +3 1251 1416 841 +3 989 1029 1772 +3 1390 898 1677 +3 846 726 1030 +3 846 1030 1676 +3 648 164 578 +3 987 1164 648 +3 1772 1164 987 +3 1029 989 1025 +3 1802 1287 1053 +3 543 118 164 +3 1287 1802 569 +3 1053 1836 1802 +3 79 76 970 +3 970 708 697 +3 1772 543 1164 +3 697 699 1836 +3 699 255 569 +3 255 604 1029 +3 604 539 1029 +3 539 543 1772 +3 543 164 1164 +3 901 1676 1125 +3 1834 582 1030 +3 891 579 1834 +3 1030 582 570 +3 1676 570 574 +3 1125 574 548 +3 1125 548 1677 +3 1861 551 841 +3 1772 987 989 +3 579 582 1834 +3 1677 548 551 +3 898 901 1125 +3 891 1834 710 +3 76 708 970 +3 1836 699 1802 +3 1030 570 1676 +3 1416 1390 1861 +3 1676 574 1125 +3 1861 841 1416 +3 710 578 891 +3 1125 1677 898 +3 1677 551 1861 +3 901 846 1676 +3 1025 569 1029 +3 118 281 164 +3 1164 164 648 +3 1029 539 1772 +3 970 697 1836 +3 1056 1836 1053 +3 255 1029 569 +3 1455 681 709 +3 1056 1062 1836 +3 699 569 1802 +3 1836 1062 1076 +3 1772 321 1598 +3 281 891 578 +3 388 1687 310 +3 841 845 1251 +3 970 1836 1076 +3 206 199 1022 +3 1076 79 970 +3 1762 280 1412 +3 1834 1030 729 +3 32 1265 240 +3 726 729 1030 +3 1677 1861 1390 +3 787 1574 1866 +3 272 1709 1184 +3 729 710 1834 +3 240 251 1431 +3 578 164 281 +3 1028 1128 1299 +3 1336 1431 1335 +3 1339 251 282 +3 1335 1332 1336 +3 282 251 1263 +3 1332 1347 593 +3 564 1347 1348 +3 1376 1347 1339 +3 1151 136 1105 +3 1234 1807 680 +3 453 623 609 +3 655 657 630 +3 834 665 763 +3 829 1753 1113 +3 161 150 1267 +3 1223 1698 1221 +3 705 1752 1679 +3 1660 1730 38 +3 47 44 1567 +3 130 457 489 +3 1372 1774 1778 +3 1719 1720 1718 +3 820 1171 213 +3 603 1629 1314 +3 1558 890 1447 +3 1493 436 1033 +3 708 988 717 +3 1343 1280 231 +3 870 978 1182 +3 881 1394 879 +3 685 1495 792 +3 986 974 742 +3 1560 1566 1563 +3 1560 1394 1566 +3 1565 1563 1566 +3 1565 1539 1564 +3 1533 1539 37 +3 333 630 657 +3 1441 1532 1534 +3 360 362 355 +3 1243 343 1538 +3 1495 685 689 +3 365 1243 1538 +3 485 365 1538 +3 542 1422 1423 +3 970 967 965 +3 473 465 447 +3 473 544 465 +3 473 479 527 +3 544 473 527 +3 1427 1433 544 +3 1427 1325 1433 +3 1427 1426 1599 +3 1325 1427 1599 +3 1340 1325 1599 +3 1340 36 1325 +3 701 526 1683 +3 879 488 881 +3 1270 594 620 +3 1514 1867 800 +3 441 1652 549 +3 115 1479 1812 +3 231 330 488 +3 1202 137 246 +3 690 683 1849 +3 84 1414 1865 +3 250 242 246 +3 1044 725 1864 +3 754 343 1243 +3 1040 568 1848 +3 251 1339 1335 +3 251 1335 1431 +3 150 537 1267 +3 890 978 1474 +3 537 662 1267 +3 1701 1706 564 +3 564 1348 537 +3 1488 519 599 +3 162 118 176 +3 1203 1744 952 +3 1124 1145 1187 +3 642 348 273 +3 1300 849 463 +3 1486 1579 1468 +3 1355 48 525 +3 458 1614 541 +3 320 1010 397 +3 881 488 330 +3 1655 1144 1134 +3 539 604 596 +3 1193 1153 575 +3 1184 1668 1683 +3 633 553 693 +3 588 274 572 +3 1111 392 389 +3 1155 316 381 +3 1142 1286 1278 +3 1631 1533 37 +3 636 1203 952 +3 371 1771 1319 +3 696 765 737 +3 1104 1107 1764 +3 1191 1765 1830 +3 655 206 1022 +3 568 982 1702 +3 1145 1650 1187 +3 333 343 342 +3 1624 1144 1655 +3 343 754 342 +3 630 333 342 +3 1297 126 1826 +3 1752 857 1196 +3 460 345 1406 +3 938 1128 1028 +3 485 479 473 +3 485 450 365 +3 1265 1263 251 +3 1265 251 240 +3 1864 908 466 +3 557 601 1701 +3 1211 234 1144 +3 1339 1332 1335 +3 1513 284 282 +3 1513 282 1263 +3 1347 1332 1339 +3 284 1339 282 +3 564 593 1347 +3 1348 1347 1376 +3 557 593 564 +3 557 564 537 +3 1348 662 537 +3 557 537 150 +3 856 292 1821 +3 271 269 126 +3 1141 251 1335 +3 952 1226 1179 +3 284 1376 1339 +3 894 831 741 +3 1859 1707 1709 +3 774 153 161 +3 118 153 180 +3 774 161 781 +3 774 781 165 +3 1749 938 688 +3 851 837 1208 +3 1147 716 1035 +3 1328 1575 1567 +3 161 153 150 +3 1518 1517 1516 +3 1772 989 759 +3 1629 603 425 +3 1556 1743 1588 +3 257 659 651 +3 1574 1464 1462 +3 1003 1112 477 +3 1166 270 1170 +3 534 435 332 +3 792 1495 928 +3 102 84 328 +3 1084 1194 1060 +3 362 1836 334 +3 1713 1688 1689 +3 1553 1086 1089 +3 60 63 1724 +3 1534 1516 1609 +3 332 448 329 +3 1493 1459 1489 +3 1190 609 1346 +3 335 574 570 +3 1764 1531 1562 +3 574 250 335 +3 805 820 213 +3 1157 805 1343 +3 1280 1343 805 +3 1620 1739 855 +3 118 161 153 +3 1763 5 6 +3 231 1157 1343 +3 1208 1210 851 +3 1347 564 1706 +3 484 746 1440 +3 1476 479 116 +3 1565 1564 1563 +3 1478 852 1479 +3 1539 1533 1564 +3 377 1461 1459 +3 268 673 1445 +3 321 327 297 +3 552 1440 746 +3 1535 1556 1630 +3 380 1296 347 +3 512 1469 599 +3 675 828 1823 +3 867 978 870 +3 902 1551 1553 +3 381 417 991 +3 1140 796 1311 +3 131 472 129 +3 97 95 93 +3 47 1337 1316 +3 748 740 741 +3 757 306 462 +3 456 460 466 +3 523 763 665 +3 737 149 696 +3 236 239 302 +3 716 1085 1035 +3 28 112 31 +3 1812 20 146 +3 1117 1121 1650 +3 1758 1067 53 +3 1566 1610 1563 +3 821 1229 1244 +3 948 240 1430 +3 939 909 817 +3 1352 1425 1424 +3 807 746 484 +3 1168 1077 955 +3 1461 301 305 +3 1153 575 461 +3 1181 1821 897 +3 718 719 786 +3 231 1280 330 +3 888 680 1808 +3 1809 963 956 +3 1455 680 888 +3 83 85 320 +3 813 1143 1229 +3 842 839 837 +3 1565 1566 214 +3 24 237 948 +3 879 1394 1560 +3 251 1141 243 +3 561 484 486 +3 1747 938 1749 +3 1414 1424 84 +3 202 199 206 +3 498 479 485 +3 820 805 1157 +3 657 655 1022 +3 1761 1752 1198 +3 309 504 506 +3 1716 669 594 +3 1309 1258 1449 +3 438 853 424 +3 131 972 480 +3 194 516 521 +3 943 921 909 +3 457 125 421 +3 1858 87 993 +3 418 853 944 +3 473 450 485 +3 1031 582 1018 +3 473 447 450 +3 981 885 445 +3 19 1405 117 +3 230 50 462 +3 743 680 724 +3 10 11 1092 +3 977 1231 1678 +3 719 363 716 +3 1199 1181 1685 +3 93 95 118 +3 980 415 986 +3 1753 829 1658 +3 1411 188 179 +3 1566 208 214 +3 1188 843 607 +3 1057 1061 108 +3 553 545 540 +3 539 1526 596 +3 1229 1043 1242 +3 1565 29 1539 +3 582 1031 1030 +3 1284 1306 1845 +3 1189 1199 1685 +3 1247 1244 1242 +3 950 914 946 +3 312 143 133 +3 1866 668 787 +3 981 885 1203 +3 920 915 1653 +3 1000 770 765 +3 956 963 1542 +3 1208 1278 1624 +3 76 717 708 +3 436 1493 1489 +3 250 246 253 +3 1559 459 544 +3 544 527 1596 +3 1596 1426 1427 +3 1596 1427 544 +3 459 465 544 +3 1559 544 1433 +3 644 649 1455 +3 687 461 1193 +3 207 344 323 +3 1504 205 1447 +3 1216 1268 1219 +3 888 386 1493 +3 1661 123 124 +3 1666 1664 1663 +3 1669 18 123 +3 1532 1442 1530 +3 1129 1519 750 +3 711 858 730 +3 1097 1095 303 +3 299 285 303 +3 1760 1035 1147 +3 349 359 303 +3 420 942 410 +3 942 353 410 +3 222 346 218 +3 1093 1864 466 +3 529 303 840 +3 427 671 515 +3 671 721 452 +3 1080 1392 1074 +3 111 1074 1061 +3 1061 1393 1396 +3 1080 1074 114 +3 1597 1088 760 +3 114 23 1080 +3 23 1088 1080 +3 109 1061 1054 +3 676 760 721 +3 303 359 299 +3 853 776 1844 +3 1469 1471 1057 +3 285 291 287 +3 280 1762 1285 +3 1010 320 85 +3 1563 1610 1609 +3 993 619 622 +3 287 904 303 +3 407 91 92 +3 1855 1678 1231 +3 922 1530 918 +3 622 616 471 +3 753 777 750 +3 325 589 429 +3 1374 86 89 +3 1457 1451 1441 +3 1725 124 88 +3 1452 1451 1454 +3 1452 1454 1458 +3 1452 1458 22 +3 1661 1669 123 +3 1663 1671 1661 +3 1666 1663 1661 +3 1732 1726 1664 +3 639 1606 684 +3 1726 1728 1733 +3 1728 684 1734 +3 315 212 215 +3 1117 1116 1008 +3 287 303 285 +3 933 935 303 +3 613 707 559 +3 192 222 195 +3 919 589 918 +3 1441 927 1442 +3 1451 1446 1441 +3 1452 1450 1451 +3 464 650 476 +3 429 789 319 +3 919 1442 927 +3 1441 1665 1457 +3 1644 1729 1530 +3 1644 1665 1729 +3 622 690 993 +3 771 319 782 +3 313 858 711 +3 784 935 782 +3 203 211 218 +3 359 364 299 +3 476 471 464 +3 1061 1396 1054 +3 1666 1661 124 +3 1671 1669 1661 +3 86 1732 88 +3 1673 1663 1664 +3 1374 993 1373 +3 1726 1673 1664 +3 432 1692 570 +3 671 676 721 +3 1726 1373 1728 +3 1728 1742 1733 +3 1090 771 933 +3 782 935 933 +3 771 313 319 +3 782 933 771 +3 1644 1530 1582 +3 1729 1441 1532 +3 1665 1441 1729 +3 1446 927 1441 +3 715 945 949 +3 1530 922 1518 +3 904 1097 303 +3 905 715 730 +3 303 1095 1167 +3 730 715 711 +3 1537 832 396 +3 59 1713 1689 +3 427 668 671 +3 446 346 192 +3 353 942 193 +3 203 364 359 +3 1393 887 517 +3 205 1504 962 +3 1727 1 166 +3 529 398 303 +3 969 10 1092 +3 623 469 453 +3 1864 725 908 +3 1177 526 514 +3 1570 1469 1057 +3 92 82 304 +3 1374 1732 86 +3 1447 1558 1552 +3 476 650 683 +3 1719 1721 1722 +3 127 390 1751 +3 690 1373 993 +3 676 671 668 +3 782 319 789 +3 1725 1666 124 +3 1732 1664 1666 +3 986 89 980 +3 138 134 507 +3 77 1055 1052 +3 1678 1175 977 +3 1373 684 1728 +3 616 613 563 +3 1459 1455 377 +3 1734 1742 1728 +3 1673 1726 1733 +3 993 1374 89 +3 1732 1725 88 +3 1732 1666 1725 +3 1373 1726 1374 +3 684 1606 1734 +3 690 684 1373 +3 613 616 404 +3 690 683 684 +3 1504 1447 1552 +3 684 683 639 +3 755 327 1164 +3 1597 676 794 +3 690 476 683 +3 313 777 325 +3 313 771 858 +3 101 619 89 +3 101 91 404 +3 410 398 420 +3 192 515 446 +3 211 359 349 +3 211 203 359 +3 524 287 291 +3 524 1139 287 +3 842 1621 1618 +3 517 1396 1393 +3 683 650 639 +3 1023 860 893 +3 1706 1365 1347 +3 983 1521 199 +3 273 1241 1414 +3 1675 1752 1103 +3 474 1377 454 +3 639 635 1857 +3 517 894 899 +3 1788 1582 1518 +3 1519 1518 753 +3 616 622 619 +3 750 1519 753 +3 1530 1442 918 +3 753 922 777 +3 404 619 101 +3 777 922 325 +3 325 918 589 +3 713 715 949 +3 589 919 927 +3 918 1442 919 +3 1454 1451 1457 +3 1450 1446 1451 +3 1729 1532 1530 +3 1441 1442 1532 +3 1530 1518 1582 +3 713 949 1079 +3 325 922 918 +3 753 1518 922 +3 313 711 750 +3 222 192 346 +3 713 1129 711 +3 750 711 1129 +3 1788 1519 1079 +3 1788 1518 1519 +3 1519 713 1079 +3 1519 1129 713 +3 1097 1150 1095 +3 1150 905 730 +3 904 945 905 +3 907 949 945 +3 907 1139 524 +3 905 1097 904 +3 1139 904 287 +3 945 715 905 +3 1095 1150 730 +3 1097 905 1150 +3 303 1090 933 +3 858 771 1090 +3 1167 858 1090 +3 1095 730 858 +3 303 1167 1090 +3 1095 858 1167 +3 787 398 532 +3 303 353 349 +3 1396 517 522 +3 1392 794 887 +3 319 325 429 +3 404 407 613 +3 707 613 407 +3 303 410 353 +3 303 398 410 +3 407 404 91 +3 1050 422 104 +3 349 353 195 +3 304 407 92 +3 349 195 222 +3 515 192 193 +3 426 193 942 +3 422 1050 339 +3 420 427 426 +3 515 193 427 +3 420 426 942 +3 427 193 426 +3 887 787 532 +3 887 1393 1392 +3 690 622 476 +3 619 404 616 +3 515 452 446 +3 515 671 452 +3 687 1193 1172 +3 794 1392 1597 +3 787 887 794 +3 529 840 522 +3 532 517 887 +3 222 211 349 +3 471 563 565 +3 563 471 616 +3 532 529 517 +3 840 383 522 +3 517 529 522 +3 532 398 529 +3 1054 107 109 +3 211 222 218 +3 114 1074 111 +3 1392 1393 1074 +3 1597 1080 1088 +3 1597 1392 1080 +3 111 1061 109 +3 1074 1393 1061 +3 1050 1054 339 +3 325 319 313 +3 339 1054 1396 +3 1050 107 1054 +3 106 1050 104 +3 132 1121 1117 +3 193 195 353 +3 106 107 1050 +3 195 193 192 +3 1396 522 339 +3 339 379 422 +3 339 522 383 +3 584 952 1179 +3 502 277 1179 +3 560 582 579 +3 379 339 383 +3 129 264 131 +3 794 668 787 +3 871 893 1694 +3 668 427 420 +3 668 794 676 +3 424 323 344 +3 559 565 563 +3 1609 1516 1101 +3 861 856 1824 +3 499 981 445 +3 326 1409 495 +3 649 680 1455 +3 464 471 565 +3 782 789 784 +3 226 1852 1324 +3 777 313 750 +3 471 476 622 +3 619 993 89 +3 1720 912 911 +3 407 304 707 +3 676 1597 760 +3 1732 1374 1726 +3 613 559 563 +3 582 264 560 +3 733 680 649 +3 1811 1579 1486 +3 939 1540 440 +3 494 310 738 +3 208 1358 939 +3 1144 1211 1142 +3 1139 945 904 +3 945 1139 907 +3 715 713 711 +3 420 787 668 +3 787 420 398 +3 536 1753 1751 +3 1091 1114 1099 +3 8 1611 158 +3 1344 1826 1809 +3 1544 158 1611 +3 190 5 1375 +3 158 1607 157 +3 1544 1607 158 +3 1607 409 157 +3 960 1544 1542 +3 1274 1297 1290 +3 960 1569 1274 +3 1330 1332 1291 +3 1468 353 942 +3 1344 1330 1569 +3 1425 1354 1404 +3 25 1186 1361 +3 1280 318 330 +3 234 238 1637 +3 727 723 180 +3 145 1136 608 +3 800 1476 773 +3 1223 9 1225 +3 1765 1831 1830 +3 1773 1776 1759 +3 125 1789 1289 +3 1616 1521 1475 +3 179 11 174 +3 184 1044 1042 +3 877 216 1152 +3 819 823 1032 +3 1382 1381 1378 +3 1688 1513 1690 +3 428 330 318 +3 190 504 194 +3 1085 1140 1152 +3 1254 748 1461 +3 757 462 841 +3 132 583 489 +3 189 418 186 +3 1394 208 1566 +3 434 1358 208 +3 1240 13 1358 +3 1240 1375 13 +3 593 557 601 +3 197 1680 49 +3 983 202 1110 +3 279 281 118 +3 1014 1180 689 +3 1015 686 652 +3 685 686 689 +3 685 119 667 +3 1629 1633 1314 +3 1741 1744 1763 +3 660 714 775 +3 1462 1811 1486 +3 498 485 1313 +3 278 636 584 +3 120 1313 714 +3 852 498 1479 +3 714 119 120 +3 1487 115 1479 +3 1487 12 115 +3 1344 1332 1330 +3 478 670 167 +3 1140 874 1152 +3 877 874 194 +3 570 1676 267 +3 210 1171 341 +3 428 1240 434 +3 958 1041 1038 +3 909 434 1240 +3 1334 1298 1845 +3 261 673 659 +3 316 1155 1117 +3 1313 120 498 +3 32 221 33 +3 960 972 1607 +3 1297 1291 1290 +3 1330 1291 1297 +3 480 1290 478 +3 984 1770 981 +3 1108 1180 1014 +3 155 156 723 +3 1481 1483 1392 +3 1165 663 987 +3 670 478 1290 +3 1029 745 293 +3 171 1591 1568 +3 1032 1140 1085 +3 440 1610 1566 +3 675 1719 1718 +3 221 1077 985 +3 504 190 1237 +3 1380 1819 1602 +3 1082 229 1073 +3 1696 1543 1544 +3 631 621 1767 +3 213 216 805 +3 1147 1035 1011 +3 263 1773 1859 +3 1493 1455 888 +3 1375 1237 190 +3 836 680 634 +3 599 1469 1461 +3 1379 1182 1380 +3 677 167 670 +3 1479 498 120 +3 1380 1182 1108 +3 180 677 152 +3 152 670 601 +3 1221 16 1611 +3 527 558 1596 +3 851 848 837 +3 153 180 152 +3 1014 689 686 +3 601 150 152 +3 1535 1829 1645 +3 1660 1743 1541 +3 316 381 310 +3 1538 343 775 +3 1655 1621 1624 +3 686 685 667 +3 480 972 1274 +3 960 1607 1544 +3 963 1569 960 +3 963 960 1542 +3 1569 1330 1274 +3 1274 1290 480 +3 1330 1297 1274 +3 972 480 409 +3 960 1274 972 +3 1607 972 409 +3 1290 1291 601 +3 93 543 638 +3 1110 1108 983 +3 167 677 172 +3 1308 653 1215 +3 1290 601 670 +3 723 156 172 +3 295 298 882 +3 643 542 1423 +3 392 1111 125 +3 1538 1313 485 +3 1291 593 601 +3 1372 989 1774 +3 723 727 155 +3 180 929 727 +3 155 727 165 +3 180 153 929 +3 727 929 165 +3 929 153 774 +3 929 774 165 +3 437 433 331 +3 1707 1185 1184 +3 1851 1857 635 +3 855 904 1554 +3 1237 1375 1240 +3 461 546 378 +3 180 723 677 +3 1240 428 1237 +3 1557 178 177 +3 1232 749 141 +3 1229 1319 813 +3 546 1209 378 +3 97 100 95 +3 4 1480 1487 +3 614 680 649 +3 1653 184 1560 +3 1042 1101 1104 +3 1116 1118 1008 +3 1683 1862 876 +3 823 1793 1035 +3 528 314 518 +3 324 317 312 +3 885 883 309 +3 971 1515 975 +3 1361 1168 1186 +3 932 441 73 +3 1404 1425 1258 +3 668 1866 1867 +3 720 680 614 +3 819 1032 1085 +3 1152 874 877 +3 1171 210 213 +3 1085 341 819 +3 877 194 504 +3 1577 1704 109 +3 687 1193 1735 +3 318 1237 428 +3 416 805 216 +3 216 877 416 +3 1719 675 1137 +3 216 213 210 +3 424 853 418 +3 210 1152 216 +3 536 1113 1753 +3 1014 983 1108 +3 1123 1125 574 +3 330 428 881 +3 449 1269 474 +3 1280 805 416 +3 444 481 441 +3 1152 210 1085 +3 1237 318 504 +3 657 660 333 +3 1704 31 111 +3 1428 1427 1426 +3 225 219 764 +3 1195 1623 72 +3 1583 171 369 +3 1829 1645 1107 +3 199 1616 206 +3 1216 1279 1283 +3 341 1085 210 +3 445 885 309 +3 416 504 318 +3 1367 48 49 +3 1073 820 1020 +3 343 761 754 +3 950 946 78 +3 881 434 1394 +3 1394 434 208 +3 504 416 877 +3 434 1240 1358 +3 20 1439 1503 +3 435 1718 551 +3 1059 976 867 +3 715 945 1494 +3 817 812 809 +3 81 130 1155 +3 1510 1476 1075 +3 1380 1602 1108 +3 1182 1558 1108 +3 1686 1714 1824 +3 1304 454 1377 +3 1244 1638 821 +3 1836 1062 334 +3 1368 25 1361 +3 1561 1608 1402 +3 628 1270 1300 +3 264 368 567 +3 1574 787 899 +3 670 152 677 +3 199 1015 1022 +3 484 486 69 +3 857 703 865 +3 983 1014 1015 +3 751 906 899 +3 675 866 435 +3 1108 1182 1180 +3 1240 1375 1763 +3 714 660 667 +3 1104 1107 1115 +3 310 1687 1187 +3 119 685 792 +3 667 652 686 +3 358 628 623 +3 389 484 998 +3 1761 514 1198 +3 652 1022 1015 +3 150 601 557 +3 975 1515 1522 +3 1313 1538 775 +3 133 253 163 +3 202 983 199 +3 775 714 1313 +3 120 121 1479 +3 333 775 343 +3 775 333 660 +3 762 1383 7 +3 906 761 773 +3 46 45 1630 +3 434 881 428 +3 64 747 737 +3 981 1770 885 +3 660 657 652 +3 1022 652 657 +3 153 152 150 +3 1108 1110 1380 +3 272 1859 1709 +3 187 174 19 +3 1735 1598 321 +3 1511 395 299 +3 1280 416 318 +3 494 481 444 +3 1103 1357 1109 +3 1588 1839 1743 +3 749 605 143 +3 120 714 1478 +3 582 1030 403 +3 1443 1300 1650 +3 69 998 484 +3 119 121 120 +3 667 119 714 +3 823 627 1032 +3 938 1747 1128 +3 115 852 1479 +3 1487 1479 121 +3 198 502 197 +3 593 1291 1332 +3 723 172 677 +3 1015 199 983 +3 686 1015 1014 +3 652 667 660 +3 1625 1850 1857 +3 68 233 230 +3 233 866 230 +3 866 1137 833 +3 1679 854 705 +3 705 514 1679 +3 1046 1047 1119 +3 256 263 1705 +3 1705 1177 256 +3 1191 703 1830 +3 1830 1719 1191 +3 1119 1047 731 +3 731 1625 1119 +3 854 1679 1855 +3 1679 1678 1855 +3 361 1847 1294 +3 1705 1859 1702 +3 1859 1848 1702 +3 385 168 1277 +3 712 1294 1625 +3 866 833 230 +3 1277 366 385 +3 1847 361 366 +3 168 385 832 +3 832 1173 168 +3 1173 832 396 +3 1850 1294 1849 +3 1849 1294 1847 +3 1858 1849 1277 +3 87 1858 168 +3 980 87 168 +3 1700 1173 1436 +3 1277 1849 1847 +3 69 70 1700 +3 1854 1848 1775 +3 1046 1119 1775 +3 1775 1859 1046 +3 1175 1705 1702 +3 509 866 233 +3 509 233 68 +3 1625 1294 1850 +3 396 1436 1173 +3 1625 731 712 +3 1625 1857 1851 +3 1119 1625 1851 +3 168 1858 1277 +3 69 1700 1436 +3 1436 396 998 +3 980 1173 1700 +3 69 1436 998 +3 366 1277 1847 +3 168 1173 980 +3 1175 1678 1177 +3 1175 1177 1705 +3 1848 1859 1775 +3 1854 1119 1851 +3 1775 1119 1854 +3 1177 1678 1679 +3 1294 712 361 +3 1853 854 1855 +3 1853 1719 1830 +3 1853 1830 854 +3 854 1830 703 +3 703 705 854 +3 1859 1705 263 +3 263 1046 1859 +3 514 256 1177 +3 1177 1679 514 +3 1137 1191 1719 +3 1719 833 1137 +3 1619 43 1618 +3 1618 1081 1084 +3 1081 1831 1084 +3 1490 1831 1081 +3 1830 1831 1853 +3 1831 892 1228 +3 1834 859 732 +3 1712 1822 1823 +3 1853 1823 1830 +3 1156 1822 1712 +3 1821 1822 1156 +3 1821 1156 1824 +3 1714 893 1824 +3 1176 1714 1156 +3 1156 1712 1158 +3 912 1149 1863 +3 1176 966 1714 +3 399 1750 269 +3 1778 700 1463 +3 1463 1141 1778 +3 399 1369 1750 +3 1750 1369 1826 +3 1238 1369 700 +3 1809 1238 1778 +3 1778 1238 700 +3 1148 580 1141 +3 580 243 1141 +3 580 1148 1370 +3 580 1804 1828 +3 1805 41 1804 +3 1714 1824 1156 +3 269 729 399 +3 1027 893 1714 +3 1835 966 859 +3 1835 893 1027 +3 1835 1027 966 +3 1712 1823 1863 +3 912 1863 1853 +3 1853 1228 912 +3 1618 1084 1619 +3 1081 1783 1490 +3 42 1618 43 +3 1853 1863 1823 +3 859 1834 1835 +3 1158 1176 1156 +3 966 1027 1714 +3 1826 1369 1238 +3 1826 1238 1809 +3 1141 1809 1778 +3 1141 1463 1148 +3 41 1828 1804 +3 1805 1804 1370 +3 1370 1804 580 +3 243 580 1828 +3 1618 42 1783 +3 1831 1490 892 +3 1783 1081 1618 +3 1228 1853 1831 +3 1863 1149 1001 +3 1834 732 729 +3 729 269 1834 +3 1001 1158 1712 +3 1712 1863 1001 +3 1789 90 619 +3 600 602 1777 +3 1066 1036 1777 +3 1217 1066 1777 +3 1212 1217 1777 +3 1206 1212 1777 +3 1205 1206 1777 +3 602 1205 1777 +3 413 415 1687 +3 391 413 1350 +3 738 391 1350 +3 55 738 1350 +3 50 51 845 +3 51 850 845 +3 850 1721 1722 +3 1831 1765 857 +3 1776 1854 910 +3 1675 1752 1761 +3 1146 1761 1759 +3 1703 1759 1776 +3 959 1228 857 +3 1854 1775 1777 +3 622 476 1786 +3 1786 1789 622 +3 90 991 101 +3 101 619 90 +3 1796 1787 650 +3 650 600 1796 +3 413 1687 1350 +3 1721 1765 1831 +3 1721 1831 1722 +3 857 1752 1675 +3 910 586 1776 +3 1675 1761 1146 +3 1146 1703 566 +3 1776 1775 1854 +3 1777 1796 600 +3 1146 1759 1703 +3 857 1675 959 +3 566 872 1146 +3 845 914 946 +3 850 1722 845 +3 50 845 946 +3 1831 857 1228 +3 1703 1776 586 +3 1675 1146 872 +3 586 566 1703 +3 1854 1777 1036 +3 476 650 1787 +3 872 959 1675 +3 1787 1786 476 +3 1854 1026 910 +3 1036 1026 1854 +3 415 101 991 +3 991 1687 415 +3 914 845 1722 +3 1722 1228 914 +3 619 622 1789 +3 1228 1722 1831 +3 1556 1632 1630 +3 649 165 733 +3 48 511 525 +3 511 516 525 +3 348 273 1320 +3 1781 1820 1780 +3 1067 1051 1000 +3 1320 1246 348 +3 1637 1144 234 +3 1241 1320 273 +3 1649 827 1408 +3 549 1334 458 +3 681 664 261 +3 681 641 644 +3 603 165 779 +3 844 165 268 +3 165 649 641 +3 909 883 885 +3 461 468 1153 +3 269 1750 126 +3 1532 1516 1442 +3 851 1210 848 +3 838 285 1506 +3 1556 1743 1632 +3 589 915 587 +3 1393 1396 1471 +3 1350 70 561 +3 1494 945 1492 +3 317 141 143 +3 354 702 628 +3 646 1659 362 +3 192 515 1867 +3 1786 1771 1289 +3 279 573 588 +3 1632 1730 46 +3 1485 1484 1478 +3 775 773 343 +3 1603 75 1362 +3 864 997 870 +3 1395 1397 1398 +3 997 1363 53 +3 1195 52 491 +3 767 489 583 +3 552 788 469 +3 489 767 340 +3 1311 525 516 +3 421 419 457 +3 913 387 419 +3 795 793 603 +3 387 913 252 +3 767 744 340 +3 190 191 5 +3 1142 1211 1213 +3 631 525 796 +3 542 34 1422 +3 1473 1602 1472 +3 975 1617 1415 +3 545 553 1658 +3 204 1063 682 +3 1461 1460 1459 +3 387 252 810 +3 257 261 664 +3 689 696 685 +3 740 1462 741 +3 641 681 261 +3 1668 1862 1683 +3 507 165 844 +3 469 463 453 +3 419 425 583 +3 49 437 197 +3 827 1649 818 +3 1182 1000 1180 +3 530 292 1821 +3 1398 1399 1395 +3 1324 1288 226 +3 919 915 589 +3 560 1023 1018 +3 1408 827 248 +3 1180 698 689 +3 1362 864 1004 +3 1624 842 1208 +3 348 354 351 +3 1362 1004 1385 +3 257 273 268 +3 356 463 926 +3 1051 696 698 +3 1690 1689 1688 +3 1095 1749 858 +3 968 960 972 +3 475 491 552 +3 1195 453 1654 +3 358 453 463 +3 347 844 268 +3 507 847 926 +3 347 268 273 +3 489 797 457 +3 797 489 788 +3 795 387 810 +3 926 463 849 +3 1210 1507 35 +3 14 13 1763 +3 1084 1052 1060 +3 370 1254 1461 +3 1123 1697 1156 +3 453 475 469 +3 1696 1544 1611 +3 735 658 1462 +3 1714 1692 1824 +3 588 871 803 +3 1773 1759 270 +3 462 239 230 +3 788 340 849 +3 143 250 137 +3 1000 870 997 +3 253 133 312 +3 1848 1854 1040 +3 698 1000 765 +3 1000 1051 698 +3 584 636 952 +3 1379 870 1182 +3 647 573 279 +3 1000 1182 870 +3 1296 351 347 +3 849 469 788 +3 839 1109 868 +3 870 1379 867 +3 384 159 1232 +3 980 974 969 +3 1020 213 363 +3 1194 1084 1765 +3 1300 463 356 +3 44 47 1316 +3 698 1180 1000 +3 1409 1408 483 +3 516 511 1367 +3 351 347 348 +3 1765 1721 1194 +3 926 847 356 +3 1719 1720 833 +3 1363 997 864 +3 1363 864 1362 +3 1744 1203 943 +3 1649 1840 1078 +3 70 742 1700 +3 1506 1515 830 +3 635 640 1851 +3 870 867 864 +3 715 1494 713 +3 1004 864 867 +3 1685 897 286 +3 1266 19 1120 +3 1516 1645 1609 +3 1809 1335 1336 +3 1455 1493 1033 +3 1434 1223 1225 +3 1425 1404 519 +3 552 469 475 +3 1459 1460 1489 +3 1010 1033 320 +3 844 347 351 +3 356 351 354 +3 1427 1428 1433 +3 1866 1613 1514 +3 214 21 217 +3 841 551 833 +3 874 1311 516 +3 1644 1645 1729 +3 874 516 194 +3 696 689 698 +3 997 1067 1000 +3 354 1331 358 +3 649 644 641 +3 165 261 268 +3 664 1241 257 +3 641 261 165 +3 273 257 1241 +3 261 257 268 +3 1867 1866 1514 +3 358 1331 1654 +3 354 358 356 +3 453 358 1654 +3 1195 491 475 +3 1195 475 453 +3 351 356 847 +3 847 844 351 +3 273 348 347 +3 463 356 358 +3 844 847 507 +3 510 849 340 +3 744 507 510 +3 340 788 489 +3 165 507 744 +3 849 463 469 +3 425 419 387 +3 387 603 425 +3 793 165 603 +3 457 583 489 +3 1469 1470 1481 +3 788 552 797 +3 165 744 779 +3 1736 1620 1554 +3 1246 1331 354 +3 779 744 767 +3 603 387 795 +3 1162 1502 1163 +3 1218 1209 1215 +3 849 510 926 +3 340 744 510 +3 457 807 421 +3 510 507 926 +3 746 552 491 +3 746 797 552 +3 583 779 767 +3 583 457 419 +3 332 530 534 +3 425 603 779 +3 425 779 583 +3 419 421 913 +3 354 348 1246 +3 807 457 797 +3 797 746 807 +3 422 328 1039 +3 492 952 66 +3 369 962 1583 +3 1269 702 1377 +3 997 53 1067 +3 389 421 807 +3 1724 1490 1491 +3 565 1777 1247 +3 565 597 1777 +3 1247 1242 565 +3 635 1851 600 +3 494 310 1190 +3 600 1851 1777 +3 481 494 1201 +3 73 481 1201 +3 78 77 1724 +3 77 1052 1724 +3 1052 1081 1724 +3 508 505 1169 +3 1138 1220 916 +3 1169 1851 1420 +3 1204 1154 900 +3 900 1490 1204 +3 1169 1119 1851 +3 1777 1069 1247 +3 407 613 1045 +3 1045 81 407 +3 1777 597 600 +3 1155 1187 381 +3 381 92 1155 +3 1242 1043 563 +3 563 565 1242 +3 1119 1069 1851 +3 1499 1851 635 +3 916 917 1138 +3 78 1724 1491 +3 1851 1069 1777 +3 1190 1201 494 +3 505 916 1220 +3 1154 1138 917 +3 1220 1169 505 +3 613 563 1043 +3 1081 1204 1490 +3 917 900 1154 +3 1851 1499 1500 +3 1851 1500 925 +3 1851 925 262 +3 1851 262 490 +3 1851 490 1420 +3 310 381 1187 +3 1043 1045 613 +3 1420 508 1169 +3 1187 1190 310 +3 81 1155 92 +3 92 407 81 +3 1490 1724 1081 +3 88 969 974 +3 1448 1446 1450 +3 124 10 969 +3 986 415 101 +3 928 1495 1497 +3 137 1202 1214 +3 159 137 1214 +3 1033 84 1865 +3 956 1542 1544 +3 218 344 207 +3 792 1480 119 +3 769 1172 314 +3 1846 1667 1210 +3 447 1470 1469 +3 452 762 443 +3 1456 30 1458 +3 843 1421 390 +3 119 149 121 +3 552 609 1145 +3 270 1046 1773 +3 1798 1829 1564 +3 1088 15 760 +3 15 1383 760 +3 721 1383 762 +3 738 310 391 +3 275 271 269 +3 665 834 553 +3 344 438 424 +3 1578 349 1468 +3 1213 1133 1142 +3 1638 1319 1787 +3 400 364 205 +3 543 172 638 +3 92 417 381 +3 91 415 417 +3 145 608 94 +3 1440 1145 1187 +3 1449 1260 1356 +3 429 587 1122 +3 1557 178 1651 +3 335 332 574 +3 1296 380 145 +3 1134 1144 1637 +3 1448 809 936 +3 676 800 802 +3 809 1448 826 +3 809 826 14 +3 88 124 969 +3 1396 339 1460 +3 143 141 749 +3 868 1081 1084 +3 436 397 1493 +3 132 80 1670 +3 947 14 943 +3 1146 1761 1114 +3 701 1679 1683 +3 786 439 445 +3 935 940 303 +3 525 631 1367 +3 784 789 934 +3 789 429 1122 +3 957 956 955 +3 930 1070 927 +3 936 1100 930 +3 809 941 936 +3 865 1196 862 +3 1122 934 789 +3 784 934 692 +3 783 177 395 +3 413 742 391 +3 429 589 587 +3 205 203 207 +3 346 438 344 +3 218 346 344 +3 299 400 395 +3 364 203 205 +3 235 183 951 +3 1656 1299 1128 +3 1359 1493 397 +3 254 1408 248 +3 1133 1838 1120 +3 434 430 1394 +3 980 1111 991 +3 1807 1462 1464 +3 595 546 468 +3 899 1471 1469 +3 784 940 935 +3 328 1033 1039 +3 692 940 784 +3 1215 228 198 +3 1541 1743 1556 +3 1514 1520 1810 +3 1070 587 589 +3 968 963 960 +3 1070 589 927 +3 1138 1091 1220 +3 1201 52 1174 +3 1142 1278 1213 +3 270 1166 1773 +3 570 1692 1723 +3 1779 1780 41 +3 1117 1008 412 +3 141 183 181 +3 200 197 437 +3 832 249 392 +3 452 721 762 +3 1385 1378 1387 +3 1027 1031 1018 +3 1540 1534 440 +3 856 283 292 +3 346 446 438 +3 136 382 1136 +3 1359 673 888 +3 1721 850 1429 +3 328 320 1033 +3 1107 1581 1757 +3 579 271 585 +3 1656 1299 915 +3 173 169 186 +3 1609 1042 1563 +3 82 92 381 +3 316 82 381 +3 1594 211 349 +3 1514 1810 1867 +3 221 32 237 +3 4 1487 121 +3 101 89 986 +3 1857 1850 639 +3 906 794 887 +3 1378 1385 1382 +3 1256 1259 44 +3 223 704 227 +3 462 71 230 +3 1461 377 599 +3 418 944 54 +3 864 1362 1387 +3 1247 1069 1244 +3 1389 302 306 +3 3 1436 1700 +3 986 86 974 +3 631 1767 1367 +3 738 70 1350 +3 483 488 495 +3 855 835 1739 +3 1619 842 1618 +3 658 1811 1462 +3 669 1716 1305 +3 995 1398 1399 +3 874 1140 506 +3 24 1168 25 +3 1315 1334 1298 +3 1115 1038 1041 +3 118 162 161 +3 395 285 299 +3 1868 1387 1362 +3 235 239 166 +3 271 695 591 +3 89 86 986 +3 1221 1698 1696 +3 1308 1209 546 +3 757 462 50 +3 209 204 201 +3 1204 1103 1154 +3 676 1483 800 +3 97 577 95 +3 1317 1314 779 +3 1196 1103 1752 +3 1580 1579 1468 +3 1632 1743 1730 +3 518 314 321 +3 52 486 491 +3 443 1497 776 +3 483 1649 1408 +3 206 1579 1811 +3 128 132 340 +3 1854 1851 1036 +3 1852 226 196 +3 1605 6 952 +3 330 495 488 +3 1545 1547 1594 +3 930 1100 1070 +3 1446 930 927 +3 1446 1448 936 +3 1446 936 930 +3 941 1100 936 +3 1462 740 735 +3 1200 461 378 +3 318 326 330 +3 329 448 951 +3 1127 1423 1130 +3 1549 299 359 +3 1867 1816 1813 +3 1215 653 228 +3 1067 1758 765 +3 1605 947 6 +3 1639 241 238 +3 1469 455 447 +3 1044 184 1003 +3 503 183 951 +3 921 931 909 +3 1584 46 1589 +3 1478 1483 1476 +3 173 186 1160 +3 1055 77 1429 +3 1278 1286 1271 +3 463 628 1300 +3 1718 1863 1843 +3 1379 1558 1182 +3 1583 171 1444 +3 126 1297 1290 +3 1334 1845 1614 +3 762 747 806 +3 861 335 432 +3 1077 1148 955 +3 340 1116 128 +3 203 218 207 +3 86 88 974 +3 4 7 1480 +3 564 557 1701 +3 118 723 156 +3 446 452 443 +3 184 1112 1003 +3 686 1014 1816 +3 1727 166 239 +3 446 443 438 +3 1620 990 1401 +3 1194 865 1765 +3 184 1044 1864 +3 1042 1608 1572 +3 521 1179 1226 +3 1182 1558 1498 +3 420 1580 1468 +3 1567 1575 47 +3 1762 506 1760 +3 787 887 899 +3 950 78 1491 +3 108 109 1328 +3 1307 1400 108 +3 91 101 415 +3 1124 1187 1155 +3 1346 444 1190 +3 344 1496 1447 +3 739 680 720 +3 1607 163 1695 +3 1316 1256 1260 +3 392 396 832 +3 540 719 553 +3 77 845 850 +3 1575 1576 47 +3 943 14 1763 +3 852 115 116 +3 1008 1116 1270 +3 87 980 89 +3 1646 1652 1643 +3 530 534 1697 +3 1364 53 1363 +3 1565 214 217 +3 734 1638 1069 +3 1270 1716 594 +3 584 1179 277 +3 468 546 461 +3 609 561 475 +3 1646 1643 1627 +3 1044 184 1653 +3 430 434 909 +3 1654 1623 1643 +3 1624 1621 842 +3 364 400 299 +3 1867 671 800 +3 1301 132 1670 +3 211 1594 1590 +3 445 451 499 +3 1489 1460 339 +3 1455 1033 1865 +3 175 1651 178 +3 495 1409 483 +3 1193 1188 1172 +3 982 977 1175 +3 1758 1844 65 +3 1721 1429 1052 +3 1695 1544 1607 +3 993 690 1858 +3 414 411 267 +3 858 1749 771 +3 1516 1517 1101 +3 112 114 31 +3 92 91 417 +3 1404 1403 1400 +3 539 596 1706 +3 623 453 358 +3 149 4 121 +3 391 742 70 +3 162 227 704 +3 502 277 492 +3 201 315 209 +3 51 50 230 +3 264 567 560 +3 440 208 939 +3 1414 1413 1352 +3 1425 1352 1354 +3 1241 1413 1414 +3 125 168 392 +3 649 680 673 +3 1573 1580 1574 +3 721 760 1383 +3 1871 1870 535 +3 535 626 513 +3 1871 42 1870 +3 1585 1102 1589 +3 780 802 800 +3 831 888 680 +3 598 1419 1733 +3 400 1505 395 +3 1102 1094 1159 +3 737 747 792 +3 1574 787 532 +3 1696 1360 1543 +3 208 1358 21 +3 1103 868 1109 +3 129 133 131 +3 1674 1301 1670 +3 413 1700 1687 +3 1 0 166 +3 1630 1632 46 +3 831 736 741 +3 1701 167 170 +3 1797 920 1653 +3 1307 1328 1567 +3 1577 109 107 +3 734 821 1069 +3 1467 1576 1577 +3 47 1576 1465 +3 866 51 509 +3 1466 1465 1815 +3 390 1421 575 +3 183 166 181 +3 1810 192 1867 +3 1795 1645 1829 +3 1544 1695 1696 +3 1221 17 16 +3 177 395 336 +3 1358 13 939 +3 395 177 285 +3 175 336 171 +3 391 70 738 +3 1809 1344 1569 +3 424 418 323 +3 895 1686 1824 +3 911 996 1251 +3 1419 617 1746 +3 550 520 547 +3 1839 1589 46 +3 1417 1871 535 +3 1417 1785 1871 +3 205 1504 400 +3 520 617 1419 +3 1608 1492 1401 +3 780 1478 714 +3 562 520 1419 +3 731 1119 1169 +3 177 178 291 +3 528 279 281 +3 1348 1347 1706 +3 1379 1552 1558 +3 1810 1520 1521 +3 15 1480 1485 +3 1782 1788 1086 +3 1585 1782 1102 +3 1839 1587 1585 +3 1049 1143 387 +3 865 1196 857 +3 1361 1077 1168 +3 1643 1652 623 +3 171 336 369 +3 382 380 136 +3 1116 340 849 +3 1708 1283 1 +3 1265 40 1263 +3 1044 758 725 +3 1117 80 132 +3 1318 1317 779 +3 1114 1103 1106 +3 1654 1643 453 +3 443 762 928 +3 1733 1419 1746 +3 295 876 884 +3 520 562 500 +3 1201 609 1174 +3 1108 1837 1014 +3 1314 603 779 +3 230 841 462 +3 357 355 352 +3 178 902 524 +3 837 851 43 +3 1315 1298 1255 +3 1367 49 1366 +3 1432 1426 1439 +3 1550 175 1568 +3 1079 949 1089 +3 15 1485 1383 +3 1523 294 815 +3 477 1006 345 +3 1442 1516 919 +3 1579 1616 1468 +3 1118 1105 1005 +3 511 48 1367 +3 1642 1639 712 +3 1849 1858 690 +3 106 1467 107 +3 1006 483 1408 +3 1815 1465 1525 +3 1466 47 1465 +3 1523 1467 106 +3 1741 1763 190 +3 543 539 537 +3 1525 1524 1815 +3 706 697 708 +3 954 1739 835 +3 1266 1120 1509 +3 1575 1577 1576 +3 1700 413 742 +3 494 738 55 +3 283 897 895 +3 891 803 579 +3 626 520 513 +3 1809 1774 1706 +3 133 163 131 +3 1016 1032 627 +3 598 592 562 +3 909 931 430 +3 1577 1328 109 +3 520 626 547 +3 535 513 1417 +3 1020 1068 1073 +3 598 562 1419 +3 531 500 562 +3 513 520 500 +3 550 617 520 +3 964 57 56 +3 189 323 418 +3 1434 1435 1698 +3 562 592 531 +3 1550 1098 902 +3 1024 830 971 +3 1687 991 1111 +3 1105 136 142 +3 60 1619 1618 +3 297 1772 759 +3 685 149 119 +3 1716 1437 1305 +3 845 841 833 +3 601 670 1701 +3 798 1319 1638 +3 1014 1837 1816 +3 575 1421 1193 +3 452 1813 1497 +3 1098 1550 1094 +3 526 1177 1184 +3 911 841 1720 +3 215 209 315 +3 800 1483 1476 +3 861 1824 1692 +3 1576 39 1577 +3 1813 452 671 +3 677 172 543 +3 1650 620 322 +3 1643 1652 1174 +3 1069 728 734 +3 1305 145 94 +3 1168 17 1186 +3 1092 980 969 +3 1399 1827 1736 +3 700 1238 968 +3 541 1306 102 +3 1839 1585 1589 +3 1587 1782 1585 +3 1589 1102 1159 +3 1203 1605 943 +3 1102 1782 1086 +3 1549 359 1640 +3 1086 1788 1079 +3 1859 272 263 +3 1643 1623 1627 +3 159 158 157 +3 1656 1740 483 +3 1086 1089 1098 +3 1568 1094 1550 +3 694 697 706 +3 902 178 1550 +3 1797 1653 1560 +3 1089 1086 1079 +3 1220 1166 1169 +3 964 961 958 +3 89 993 87 +3 323 189 311 +3 1319 1294 371 +3 1840 1073 1078 +3 1159 1094 1592 +3 1611 1543 1544 +3 390 127 843 +3 1338 888 831 +3 146 1503 113 +3 721 802 928 +3 71 462 306 +3 685 696 765 +3 1102 1098 1094 +3 1098 1102 1086 +3 1569 1431 1336 +3 524 291 178 +3 336 175 177 +3 1609 1653 1516 +3 1334 628 1298 +3 1073 1068 1078 +3 175 1550 178 +3 1120 1838 1509 +3 1830 828 1191 +3 171 1568 175 +3 126 1235 100 +3 1208 842 837 +3 336 400 369 +3 400 336 395 +3 285 177 291 +3 1363 1362 75 +3 1691 163 267 +3 1278 1208 1210 +3 250 143 317 +3 317 324 350 +3 338 183 141 +3 955 1077 221 +3 1798 1565 217 +3 1201 481 55 +3 637 680 739 +3 850 866 863 +3 1576 1467 1465 +3 15 1088 1083 +3 274 95 577 +3 1467 1577 107 +3 956 1778 1809 +3 1809 1336 1344 +3 20 112 1432 +3 815 1524 1525 +3 1467 1523 1465 +3 1554 1139 287 +3 1523 1525 1465 +3 1523 815 1525 +3 1698 1435 956 +3 1440 1436 484 +3 1045 130 81 +3 294 106 104 +3 113 558 527 +3 309 506 1412 +3 1448 1540 817 +3 560 1018 582 +3 902 1089 907 +3 137 159 749 +3 1279 1 1283 +3 182 1864 1096 +3 255 699 289 +3 128 99 1351 +3 1736 1841 822 +3 987 1164 1165 +3 994 300 401 +3 56 57 1482 +3 294 1523 106 +3 1658 1147 1793 +3 676 1597 1483 +3 949 907 1089 +3 235 951 448 +3 523 376 575 +3 832 392 168 +3 1193 687 1153 +3 1421 843 1188 +3 300 297 293 +3 1042 1101 1608 +3 1698 956 1696 +3 1104 1764 1562 +3 1269 449 1346 +3 198 1011 1215 +3 1651 1755 1635 +3 392 421 125 +3 400 205 369 +3 907 524 902 +3 385 179 188 +3 400 1504 1505 +3 1299 1408 254 +3 853 443 776 +3 1270 1437 1716 +3 792 747 928 +3 16 1360 1543 +3 1733 1742 598 +3 1029 1025 745 +3 1139 1554 1492 +3 178 177 175 +3 1089 902 1098 +3 1793 823 825 +3 1470 447 473 +3 113 1812 1510 +3 11 1856 1092 +3 1856 396 1092 +3 396 389 1173 +3 1445 844 268 +3 1151 1118 847 +3 797 1111 807 +3 382 1151 844 +3 1118 1116 926 +3 1865 1239 1236 +3 1445 382 844 +3 659 268 257 +3 268 659 1445 +3 1121 1124 788 +3 1236 1488 1814 +3 1116 849 926 +3 1118 926 847 +3 1151 847 844 +3 659 1010 1136 +3 1865 1033 659 +3 1814 1033 1865 +3 1236 431 1488 +3 459 1612 1570 +3 519 470 1570 +3 396 1173 1092 +3 257 1865 659 +3 1121 788 849 +3 659 1136 1445 +3 519 1570 1488 +3 1814 1039 1033 +3 1612 544 1596 +3 1596 1510 1612 +3 1510 558 113 +3 558 1510 1596 +3 1048 1488 1057 +3 1057 1488 1570 +3 1064 1057 1570 +3 1075 1064 1510 +3 1083 1075 1812 +3 1510 1064 1612 +3 12 15 1812 +3 1814 1488 1048 +3 1612 459 544 +3 1537 396 1856 +3 1537 1856 11 +3 1064 1570 1612 +3 1812 1075 1510 +3 1812 113 146 +3 15 1083 1812 +3 12 1812 146 +3 1570 470 459 +3 1239 1865 664 +3 1048 1039 1814 +3 1488 431 519 +3 664 1865 257 +3 1116 1121 849 +3 382 1445 1136 +3 1033 1010 659 +3 1814 1865 1236 +3 389 807 1111 +3 1111 1173 389 +3 1124 1111 797 +3 1124 797 788 +3 67 191 516 +3 577 572 274 +3 882 701 876 +3 276 1184 1189 +3 183 235 166 +3 1092 1173 980 +3 1569 1336 1344 +3 943 1605 947 +3 1658 1222 1285 +3 1783 1871 1784 +3 381 417 388 +3 1763 1744 943 +3 1278 848 1210 +3 165 793 821 +3 1078 1073 1790 +3 1067 64 1051 +3 734 165 821 +3 734 731 728 +3 1602 1447 1472 +3 731 238 241 +3 234 241 238 +3 234 1099 241 +3 1106 1211 1208 +3 1109 1106 1208 +3 1603 1842 56 +3 837 1571 1275 +3 1204 1081 868 +3 1496 1495 1498 +3 1808 529 840 +3 1239 681 709 +3 1137 1721 1719 +3 1016 1013 1011 +3 79 331 437 +3 253 312 324 +3 1484 1483 1478 +3 1722 1721 1052 +3 1758 418 1844 +3 1573 342 1613 +3 1292 680 1295 +3 1764 1399 1398 +3 1765 1191 1194 +3 1835 579 1694 +3 1262 1354 1261 +3 1260 1257 1261 +3 1255 1256 61 +3 1571 60 1275 +3 837 1275 839 +3 837 1109 1208 +3 717 706 708 +3 889 241 1099 +3 1357 1282 1106 +3 22 21 939 +3 241 1170 1047 +3 731 1047 728 +3 734 728 165 +3 1241 1414 1284 +3 665 633 523 +3 817 826 22 +3 736 680 836 +3 1413 1281 1241 +3 1248 1623 1331 +3 828 1830 1823 +3 1084 1081 1052 +3 800 773 780 +3 889 1170 241 +3 238 731 712 +3 1781 1062 1820 +3 516 191 194 +3 1175 1702 982 +3 1203 885 1744 +3 1611 16 1543 +3 0 384 1232 +3 43 848 1271 +3 1685 1181 897 +3 332 435 448 +3 1473 211 222 +3 59 708 717 +3 800 676 794 +3 241 1047 731 +3 712 734 798 +3 468 461 401 +3 1443 469 463 +3 282 1339 244 +3 1320 1241 1281 +3 178 1557 524 +3 1025 1135 1131 +3 415 742 413 +3 1385 1603 1362 +3 1653 1740 1656 +3 1060 1619 1084 +3 479 1476 1470 +3 1638 734 798 +3 110 1400 1428 +3 1454 1456 1458 +3 741 1461 748 +3 1603 56 1868 +3 432 570 582 +3 1743 1665 1644 +3 578 645 528 +3 184 1864 182 +3 1257 1260 1256 +3 1260 1261 1356 +3 1352 1236 431 +3 1521 1545 1473 +3 1760 1140 1032 +3 1623 1255 1627 +3 731 734 1119 +3 1408 1656 483 +3 233 951 503 +3 1429 1191 1194 +3 509 233 503 +3 1002 1745 984 +3 1390 1389 766 +3 235 338 951 +3 1573 1574 1462 +3 1397 1395 1381 +3 317 242 250 +3 1099 1282 889 +3 264 695 368 +3 1211 1099 234 +3 577 271 274 +3 1087 862 839 +3 1087 839 1275 +3 162 279 176 +3 839 862 1109 +3 274 647 577 +3 839 1109 837 +3 368 253 264 +3 1106 1282 1099 +3 250 312 317 +3 1106 1099 1211 +3 279 155 154 +3 712 731 734 +3 279 727 155 +3 798 734 821 +3 279 929 727 +3 671 1867 515 +3 279 774 929 +3 395 1511 285 +3 279 781 774 +3 1246 1320 1250 +3 279 162 781 +3 444 1346 449 +3 1276 518 1598 +3 803 274 588 +3 1276 756 518 +3 1140 1311 874 +3 1264 1276 1598 +3 1260 1449 1316 +3 260 1264 994 +3 194 506 504 +3 1342 260 265 +3 1558 1182 978 +3 1341 1342 355 +3 724 680 733 +3 1355 967 1600 +3 851 35 848 +3 683 639 1850 +3 967 965 1341 +3 1366 1179 1367 +3 967 1355 965 +3 65 1844 944 +3 1008 656 412 +3 433 49 1600 +3 169 311 189 +3 509 51 233 +3 646 362 334 +3 951 233 235 +3 7 1485 1480 +3 1344 1336 1332 +3 1264 1598 994 +3 756 176 518 +3 1736 995 1399 +3 260 994 265 +3 1653 915 1044 +3 799 162 176 +3 1259 1260 1356 +3 1598 518 321 +3 494 1350 1190 +3 994 321 300 +3 1318 128 1351 +3 265 300 352 +3 373 709 614 +3 265 352 355 +3 1257 1248 1250 +3 1601 355 362 +3 1103 1196 1357 +3 1601 362 337 +3 1093 1096 1864 +3 1600 337 433 +3 239 306 302 +3 994 300 265 +3 1154 1103 1114 +3 1601 967 1341 +3 631 621 1355 +3 967 1601 337 +3 899 887 517 +3 967 337 1600 +3 833 1720 841 +3 1017 1790 1657 +3 1383 760 1485 +3 1537 3 1856 +3 575 1153 763 +3 1495 776 1497 +3 1105 142 674 +3 1643 1654 1331 +3 461 1188 1193 +3 1603 1604 1842 +3 1331 1246 1248 +3 1514 660 1816 +3 220 226 1288 +3 131 480 472 +3 895 1824 283 +3 1408 1407 1006 +3 310 494 322 +3 522 1338 894 +3 682 621 625 +3 200 198 197 +3 751 761 906 +3 1471 1461 1469 +3 742 986 1700 +3 1151 382 136 +3 902 1553 1089 +3 1679 701 705 +3 1106 1144 1114 +3 498 852 116 +3 1359 397 1010 +3 1850 1849 683 +3 1008 1118 1005 +3 1434 1698 1223 +3 261 681 1455 +3 939 14 817 +3 852 1478 116 +3 737 4 149 +3 1835 1834 579 +3 1281 1352 1262 +3 233 51 230 +3 614 709 649 +3 432 335 570 +3 396 392 389 +3 1005 674 656 +3 1749 1095 855 +3 664 1865 1414 +3 196 1310 1852 +3 48 1600 49 +3 1752 1675 1679 +3 518 176 528 +3 1652 441 1201 +3 1598 321 994 +3 754 751 748 +3 1600 48 1355 +3 1342 265 355 +3 1653 915 1516 +3 1341 355 1601 +3 1350 561 1190 +3 279 528 176 +3 899 751 1573 +3 756 799 176 +3 1151 1105 1118 +3 338 235 242 +3 179 1537 11 +3 253 368 312 +3 1604 1603 1385 +3 695 264 271 +3 1041 958 961 +3 279 154 647 +3 1643 1298 1652 +3 647 274 279 +3 386 1808 840 +3 271 577 695 +3 1645 1829 1609 +3 312 250 253 +3 1239 373 1236 +3 242 317 338 +3 1113 536 1153 +3 574 246 250 +3 1383 1485 762 +3 1571 1619 60 +3 1032 796 1140 +3 1354 1262 1352 +3 1236 375 431 +3 1244 1229 1242 +3 1262 1250 1281 +3 1841 1736 1554 +3 373 375 1236 +3 1352 431 1354 +3 1248 1255 1623 +3 1262 1261 1257 +3 1255 1257 1256 +3 1248 1257 1255 +3 1627 1255 61 +3 1074 1061 1064 +3 1078 818 1649 +3 1352 1281 1413 +3 1250 1262 1257 +3 1236 1413 1239 +3 1236 1352 1413 +3 709 644 649 +3 1133 1213 1838 +3 156 151 118 +3 649 733 614 +3 373 1239 709 +3 131 1058 968 +3 1208 1211 1624 +3 817 1540 939 +3 1239 1413 664 +3 417 413 388 +3 9 1221 8 +3 633 665 553 +3 1241 664 1413 +3 749 1232 159 +3 832 1411 179 +3 146 20 1503 +3 1532 1729 1645 +3 1063 621 967 +3 664 681 1239 +3 1281 1250 1320 +3 1645 1581 1107 +3 709 681 644 +3 1250 1248 1246 +3 1191 1137 828 +3 188 179 174 +3 1411 117 179 +3 1270 1116 1300 +3 1654 1331 1623 +3 1357 1106 1109 +3 1109 862 1357 +3 948 237 240 +3 1494 1517 713 +3 54 1758 53 +3 1405 11 117 +3 1390 236 1677 +3 117 1272 1273 +3 1272 1682 1273 +3 1288 1682 1349 +3 1349 1636 1637 +3 1636 1091 1637 +3 1349 1672 555 +3 999 1677 1693 +3 1672 1349 1682 +3 550 1636 1349 +3 236 1389 302 +3 500 1220 1636 +3 1693 1001 999 +3 1702 586 568 +3 505 1703 1220 +3 1703 1702 1705 +3 1703 896 586 +3 1197 1707 1192 +3 586 1702 1703 +3 1702 1709 1705 +3 1707 1037 1192 +3 878 1712 1711 +3 1001 1693 1712 +3 1677 999 1390 +3 1712 878 1001 +3 1707 568 1037 +3 1178 1711 1681 +3 302 1715 236 +3 1389 236 1390 +3 1715 302 1708 +3 1717 1715 1708 +3 1279 1717 1708 +3 1283 9 1279 +3 1220 496 505 +3 1288 1349 1637 +3 1220 1091 1636 +3 1349 555 550 +3 1220 500 496 +3 117 1273 1405 +3 1272 123 1661 +3 10 117 11 +3 1703 1091 1220 +3 1661 1682 1272 +3 1707 1709 1702 +3 568 1707 1702 +3 1197 1709 1707 +3 1681 1192 1178 +3 9 1717 1279 +3 1283 1279 1708 +3 117 10 123 +3 1636 550 520 +3 1636 520 500 +3 1703 505 896 +3 1682 1671 1672 +3 1682 1661 1671 +3 123 1272 117 +3 1711 1178 878 +3 1192 1681 1197 +3 1620 995 990 +3 1736 995 1620 +3 1226 1227 67 +3 1227 190 191 +3 1738 881 393 +3 881 1738 879 +3 1620 990 1739 +3 1112 1003 185 +3 1003 1112 1740 +3 1237 883 428 +3 883 1237 1741 +3 883 1744 885 +3 883 1741 1744 +3 1740 1745 1656 +3 1740 1738 1745 +3 460 954 456 +3 1748 1747 460 +3 554 1748 456 +3 460 1747 1749 +3 1739 990 954 +3 1548 1012 1736 +3 1635 1009 1548 +3 1755 1004 1635 +3 1474 864 1755 +3 1758 1067 1756 +3 864 1474 1756 +3 1067 1758 64 +3 1736 1012 995 +3 1548 1009 1012 +3 1635 1004 1009 +3 1755 864 1004 +3 1474 1755 1444 +3 1756 1766 1758 +3 1758 65 64 +3 1226 1744 1741 +3 67 1227 191 +3 1226 1741 1227 +3 1770 393 885 +3 885 393 883 +3 1770 1745 1738 +3 393 1770 1738 +3 1766 1474 1444 +3 1766 1756 1474 +3 997 1756 1067 +3 997 864 1756 +3 1739 460 1749 +3 1739 954 460 +3 460 456 1748 +3 1003 1747 1748 +3 1003 1740 1656 +3 393 428 883 +3 428 393 881 +3 1748 185 1003 +3 185 1748 554 +3 879 1740 1112 +3 1740 879 1738 +3 190 1741 1237 +3 1741 190 1227 +3 1769 804 1409 +3 402 423 1409 +3 402 1409 804 +3 1790 1019 1017 +3 1308 653 829 +3 653 1308 1731 +3 1790 1792 1791 +3 1068 1792 1790 +3 1790 1017 808 +3 1791 1019 1790 +3 920 1002 1072 +3 1769 495 1794 +3 1534 930 1446 +3 1451 1454 1795 +3 1454 1541 1795 +3 1456 1541 1454 +3 1662 1541 1456 +3 1409 495 1769 +3 1745 495 1409 +3 1738 1745 1797 +3 1534 1610 1797 +3 1798 1610 1795 +3 1798 1795 1536 +3 1541 37 1536 +3 590 1731 355 +3 804 1769 808 +3 1802 1053 814 +3 1053 1802 1803 +3 360 590 355 +3 360 355 1802 +3 360 1802 814 +3 920 930 1534 +3 930 920 1070 +3 1779 1053 1803 +3 1779 1803 1804 +3 1779 1804 1805 +3 1804 33 1805 +3 665 834 1019 +3 423 1002 1409 +3 1020 1068 1794 +3 1020 1792 1068 +3 920 1534 1797 +3 1794 1068 1769 +3 1797 1745 920 +3 1738 495 1745 +3 38 1541 1662 +3 38 37 1541 +3 1451 1534 1446 +3 1541 1536 1795 +3 1534 1451 1795 +3 1795 1610 1534 +3 1731 590 653 +3 829 1753 1308 +3 1068 808 1769 +3 1072 1070 920 +3 1745 1002 920 +3 1002 1745 1409 +3 834 665 1753 +3 808 1068 1790 +3 1753 829 834 +3 1019 1791 665 +3 1630 1631 1533 +3 1689 41 1820 +3 1630 45 1631 +3 1689 40 41 +3 706 1713 1689 +3 697 706 1689 +3 1341 1825 697 +3 682 1341 204 +3 625 682 204 +3 1073 1171 1792 +3 1073 820 1171 +3 1793 823 1218 +3 1218 823 625 +3 693 341 819 +3 483 488 231 +3 488 483 1740 +3 1563 1609 1829 +3 879 488 1740 +3 1560 879 1653 +3 1564 1829 1535 +3 1533 1535 1630 +3 1535 1533 1564 +3 1829 1564 1563 +3 1653 1609 1560 +3 1740 1653 879 +3 1609 1563 1560 +3 693 819 1793 +3 1792 1790 1073 +3 367 1657 1790 +3 367 693 1657 +3 693 1658 553 +3 1793 1215 1658 +3 204 1659 1215 +3 1836 1601 697 +3 1820 1836 1689 +3 1659 204 1601 +3 1713 40 1689 +3 706 697 1825 +3 1689 1836 697 +3 231 1840 483 +3 1793 1218 1215 +3 204 1215 1218 +3 1792 1171 367 +3 693 553 1657 +3 367 1790 1792 +3 367 1171 341 +3 1793 1658 693 +3 367 341 693 +3 1793 819 823 +3 1341 1601 204 +3 1601 1341 697 +3 1840 1157 820 +3 820 1073 1840 +3 1840 231 1157 +3 1218 625 204 +3 63 1491 1724 +3 1491 950 1724 +3 950 914 1724 +3 914 911 1722 +3 1372 1135 1774 +3 911 996 1720 +3 1131 576 1135 +3 1720 1722 911 +3 1843 1720 996 +3 654 148 394 +3 663 1165 654 +3 1774 1165 663 +3 1701 95 148 +3 576 1131 1371 +3 1371 1803 576 +3 58 59 1689 +3 58 1689 1820 +3 1774 1701 1165 +3 1690 244 576 +3 244 1365 1135 +3 1365 1706 1135 +3 1706 1701 1774 +3 1701 148 1165 +3 996 999 1843 +3 1835 1018 1031 +3 803 1694 891 +3 1031 1018 1692 +3 903 1723 1123 +3 973 859 1031 +3 999 1126 1693 +3 1843 1718 1720 +3 1774 663 1372 +3 914 1722 1724 +3 1694 1018 1835 +3 1693 1699 1718 +3 275 803 891 +3 1835 1031 859 +3 891 1694 1835 +3 1126 903 1123 +3 1692 1697 1723 +3 1692 1723 1031 +3 1697 1699 1123 +3 1697 1123 1723 +3 1123 1699 1693 +3 903 973 1723 +3 1693 1718 1843 +3 1123 1693 1126 +3 1135 1372 1131 +3 95 275 148 +3 1165 148 654 +3 1135 1706 1774 +3 1689 1690 1820 +3 1371 1779 1803 +3 244 1135 576 +3 1803 1779 1820 +3 1690 576 1803 +3 1820 1779 1780 +3 1690 1803 1820 +3 58 1820 1780 +3 973 1031 1723 +3 275 891 394 +3 394 148 275 +3 1693 1843 999 +3 710 394 891 +3 722 710 891 +3 859 722 891 +3 859 891 1835 +3 866 863 51 +3 9 1283 1216 +3 1375 5 1763 +3 1225 9 1216 +3 1268 1225 1216 +3 1435 1434 1245 +3 700 1435 1245 +3 1372 1463 663 +3 551 235 435 +3 359 1594 1640 +3 769 297 327 +3 687 778 769 +3 1101 1042 1609 +3 64 737 149 +3 687 303 1153 +3 1153 303 763 +3 1113 1153 763 +3 924 303 940 +3 1072 1070 1065 +3 1285 1222 545 +3 363 213 210 +3 124 123 10 +3 129 131 126 +3 1863 1718 1823 +3 1867 671 668 +3 1685 1686 895 +3 633 376 523 +3 849 1300 1116 +3 1663 555 1672 +3 389 1440 1111 +3 1361 1148 1077 +3 1673 555 1663 +3 860 283 893 +3 837 848 842 +3 386 888 1338 +3 1381 1382 1397 +3 579 803 585 +3 1306 541 1614 +3 1654 1643 1174 +3 752 302 1389 +3 741 748 751 +3 898 1389 1390 +3 1384 414 411 +3 290 1708 302 +3 399 394 1369 +3 971 835 1515 +3 1592 1094 1568 +3 93 118 543 +3 402 804 827 +3 439 540 1230 +3 278 451 636 +3 545 834 1019 +3 692 688 924 +3 499 1203 636 +3 615 405 451 +3 1100 1065 1070 +3 27 1667 1846 +3 1065 984 1072 +3 1345 981 1065 +3 812 1100 941 +3 812 941 809 +3 812 809 947 +3 809 14 947 +3 859 732 846 +3 1210 1213 1278 +3 769 327 661 +3 898 752 1389 +3 940 692 924 +3 278 280 439 +3 1438 587 1072 +3 1605 1203 1345 +3 934 691 692 +3 1132 1122 1438 +3 691 688 692 +3 467 1299 254 +3 1432 110 1428 +3 1251 757 841 +3 1255 1316 1315 +3 673 261 641 +3 726 732 729 +3 732 722 729 +3 661 327 755 +3 297 759 327 +3 729 399 411 +3 121 119 1480 +3 1517 1519 713 +3 700 1463 1435 +3 687 769 303 +3 778 297 769 +3 1070 1072 587 +3 829 1113 763 +3 1017 1019 303 +3 763 303 1019 +3 499 451 405 +3 827 248 402 +3 1230 791 1017 +3 818 303 678 +3 451 499 636 +3 1207 1216 1283 +3 1386 411 399 +3 722 710 729 +3 405 615 804 +3 938 688 691 +3 984 408 423 +3 1028 937 938 +3 812 1345 1100 +3 423 1002 984 +3 1438 1299 1028 +3 1230 615 439 +3 1028 467 937 +3 804 402 405 +3 1046 1069 1775 +3 1757 1827 1764 +3 119 149 737 +3 292 288 1821 +3 290 752 801 +3 1229 795 603 +3 1637 1636 1134 +3 955 1148 1141 +3 314 327 769 +3 178 1557 1551 +3 1671 1663 1672 +3 1673 1746 617 +3 414 801 1293 +3 846 732 726 +3 411 1386 1384 +3 801 414 290 +3 451 439 615 +3 1439 28 1599 +3 1293 726 729 +3 752 898 901 +3 729 411 1293 +3 290 1207 1708 +3 1590 203 211 +3 1051 1067 765 +3 732 859 722 +3 903 901 898 +3 999 1126 1390 +3 901 903 973 +3 264 129 368 +3 1207 290 414 +3 399 729 710 +3 439 451 278 +3 1293 846 726 +3 1293 801 846 +3 467 245 672 +3 1126 898 1390 +3 963 968 956 +3 414 1384 1207 +3 1003 1128 1044 +3 846 973 859 +3 710 394 399 +3 1369 700 1245 +3 764 1276 225 +3 143 141 137 +3 1369 1386 399 +3 1283 1708 1207 +3 1387 1362 1385 +3 1384 1268 1216 +3 1114 1282 1106 +3 546 595 1308 +3 654 1369 394 +3 1293 411 414 +3 891 281 803 +3 901 801 752 +3 132 130 489 +3 1289 247 249 +3 973 846 901 +3 1268 1434 1225 +3 1101 1517 1494 +3 1245 1434 1268 +3 1451 1534 1540 +3 327 759 755 +3 1493 1359 673 +3 527 116 113 +3 1216 1207 1384 +3 663 1463 700 +3 636 1203 1412 +3 661 755 1021 +3 440 1566 208 +3 303 769 661 +3 645 661 1021 +3 645 303 661 +3 1002 423 254 +3 1019 834 763 +3 1268 1384 1386 +3 67 511 1367 +3 791 1019 1017 +3 791 545 1019 +3 1245 1386 1369 +3 818 808 1017 +3 1386 1245 1268 +3 700 1369 654 +3 981 499 408 +3 402 423 408 +3 3 998 1436 +3 678 303 672 +3 540 439 280 +3 248 678 245 +3 937 672 924 +3 245 678 672 +3 1839 46 1730 +3 423 402 248 +3 408 405 402 +3 804 808 818 +3 791 1230 540 +3 808 804 615 +3 540 545 791 +3 280 1285 540 +3 1017 808 1230 +3 1017 303 818 +3 827 818 678 +3 827 804 818 +3 829 834 1222 +3 1054 1050 1048 +3 834 829 763 +3 585 871 1694 +3 254 248 245 +3 408 984 981 +3 1121 1116 1117 +3 435 675 1718 +3 856 1821 1824 +3 596 662 539 +3 248 827 678 +3 248 254 423 +3 834 545 1222 +3 898 1126 903 +3 1651 1635 1557 +3 1002 1072 984 +3 1345 812 1605 +3 1299 467 1028 +3 1299 1002 254 +3 1299 1438 1002 +3 938 937 924 +3 467 672 937 +3 1438 1072 1002 +3 545 540 1285 +3 1065 1100 1345 +3 392 913 421 +3 1605 812 947 +3 981 1345 1203 +3 934 1122 1132 +3 1122 587 1438 +3 691 1132 938 +3 691 934 1132 +3 628 358 354 +3 731 1166 241 +3 477 345 487 +3 245 467 254 +3 938 924 688 +3 672 303 924 +3 273 1414 651 +3 1347 1332 1706 +3 855 1739 908 +3 1028 1132 1438 +3 654 663 700 +3 163 409 605 +3 1843 1861 551 +3 839 842 868 +3 1639 1637 238 +3 1147 1035 1793 +3 403 264 267 +3 1132 1028 938 +3 358 1298 628 +3 1443 1145 469 +3 443 806 853 +3 675 1823 1718 +3 864 978 870 +3 323 311 207 +3 1480 1479 1487 +3 1204 868 1103 +3 1265 243 1828 +3 280 278 277 +3 762 928 747 +3 832 168 122 +3 801 901 846 +3 1844 776 1758 +3 835 1620 838 +3 1035 1032 1016 +3 817 14 826 +3 661 314 528 +3 1692 1714 1723 +3 289 666 255 +3 752 290 302 +3 1080 1074 1075 +3 550 555 617 +3 555 1673 617 +3 854 882 703 +3 1854 1034 1040 +3 1746 1673 1733 +3 780 714 792 +3 112 1075 1080 +3 41 1805 1779 +3 1782 1086 1555 +3 475 1174 609 +3 55 481 494 +3 1221 1611 8 +3 609 552 475 +3 310 388 391 +3 984 1065 981 +3 615 1230 808 +3 499 981 1203 +3 405 408 499 +3 1650 1300 1270 +3 1179 1412 506 +3 1227 191 516 +3 1717 1 1279 +3 1227 5 191 +3 1717 0 1 +3 968 972 1607 +3 1826 972 968 +3 968 1607 1695 +3 627 1016 1224 +3 1297 1826 1701 +3 537 543 1267 +3 1291 1297 1701 +3 593 1291 1701 +3 564 593 1701 +3 537 564 1701 +3 756 518 227 +3 518 756 543 +3 543 160 1267 +3 223 756 227 +3 607 223 227 +3 1016 627 625 +3 140 1209 1218 +3 1209 140 144 +3 796 1224 521 +3 516 521 1227 +3 1311 796 521 +3 610 1200 378 +3 1200 610 607 +3 160 543 756 +3 227 1172 1188 +3 1164 314 518 +3 1165 1164 1701 +3 1826 1165 1701 +3 1826 1238 1165 +3 1214 1249 1695 +3 1717 1219 1214 +3 518 543 1164 +3 543 537 1701 +3 521 516 1311 +3 1701 1164 543 +3 1172 518 314 +3 1172 227 518 +3 1224 796 627 +3 968 1238 1826 +3 1214 384 1717 +3 968 1695 1249 +3 1214 159 384 +3 1249 1214 1219 +3 1695 1607 157 +3 1219 1717 1279 +3 625 1218 1016 +3 1695 159 1214 +3 1826 1274 972 +3 1826 1297 1274 +3 1695 157 159 +3 1717 384 0 +3 1218 625 140 +3 144 378 1209 +3 378 144 610 +3 607 1188 1200 +3 1188 607 227 +3 848 35 1271 +3 1271 1621 842 +3 1204 868 1621 +3 857 900 869 +3 1784 1204 1621 +3 900 857 1204 +3 857 1855 854 +3 857 869 959 +3 1027 953 966 +3 1855 876 854 +3 1686 1181 953 +3 884 876 1711 +3 1686 895 897 +3 1711 876 1862 +3 1030 973 846 +3 966 1031 1027 +3 1027 1686 953 +3 1253 1862 1231 +3 411 1058 403 +3 1293 403 846 +3 1058 411 1386 +3 968 1058 1386 +3 1245 956 968 +3 1245 1435 956 +3 956 1435 1077 +3 1077 1435 1361 +3 985 1077 1361 +3 1368 985 1361 +3 1368 33 985 +3 959 1855 857 +3 1862 876 1855 +3 1231 1862 1855 +3 1621 1871 1784 +3 868 1204 857 +3 1621 1870 1871 +3 842 1621 868 +3 35 34 1271 +3 848 1271 842 +3 1862 1253 878 +3 884 1181 897 +3 1181 884 1711 +3 880 953 1181 +3 1686 897 1181 +3 1181 1711 880 +3 1027 895 1686 +3 1031 966 973 +3 1245 968 1386 +3 1271 34 1870 +3 1855 959 1231 +3 1204 1784 900 +3 1870 1621 1271 +3 403 1293 411 +3 846 403 1030 +3 973 1030 1031 +3 878 880 1711 +3 1711 1862 878 +3 1536 1539 1565 +3 1828 33 1804 +3 1536 37 1539 +3 1828 32 33 +3 1342 355 209 +3 1688 1263 1690 +3 694 1688 1690 +3 699 694 1690 +3 699 1832 694 +3 201 1342 209 +3 140 201 209 +3 1020 213 1171 +3 1751 825 1209 +3 1209 825 140 +3 330 495 1738 +3 1280 805 495 +3 881 330 1738 +3 1394 881 1797 +3 1566 1394 1610 +3 1565 1566 1798 +3 1798 1536 1565 +3 1610 1798 1566 +3 1797 1610 1394 +3 1738 1797 881 +3 1751 824 825 +3 1792 1171 374 +3 372 1791 1792 +3 372 665 1791 +3 633 1753 665 +3 1751 1308 1753 +3 209 1731 1308 +3 1803 1802 1690 +3 1828 1803 1690 +3 1731 209 355 +3 1263 1265 1690 +3 1832 699 1342 +3 1690 1802 699 +3 805 1794 495 +3 633 824 1751 +3 209 1308 1209 +3 633 374 824 +3 1751 1753 633 +3 633 665 372 +3 372 374 633 +3 1209 1308 1751 +3 495 330 1280 +3 699 1802 355 +3 1803 1828 1804 +3 355 1342 699 +3 1265 1828 1690 +3 1828 1265 32 +3 1794 805 213 +3 213 1020 1794 +3 1171 1792 1020 +3 1792 374 372 +3 1209 140 209 +3 1635 1548 1557 +3 33 1368 1370 +3 250 350 335 +3 1826 1344 1330 +3 1371 1779 1805 +3 133 143 605 +3 1463 1372 1148 +3 1624 1109 1208 +3 438 1497 344 +3 612 590 360 +3 276 526 1184 +3 1113 829 653 +3 97 1701 170 +3 1210 35 851 +3 992 835 971 +3 1423 1127 643 +3 1006 1406 345 +3 1771 371 247 +3 95 164 118 +3 457 1124 130 +3 1051 149 696 +3 1429 1194 1721 +3 164 176 118 +3 361 1294 1326 +3 1426 1432 1428 +3 1758 54 1844 +3 542 1870 34 +3 542 538 535 +3 626 538 547 +3 626 535 538 +3 1844 418 944 +3 1785 1784 1871 +3 409 159 157 +3 830 1736 822 +3 748 741 736 +3 141 183 1232 +3 339 379 1489 +3 1613 333 1514 +3 1470 473 479 +3 825 1751 1793 +3 335 530 1697 +3 1752 705 1196 +3 103 84 1424 +3 1185 1668 1184 +3 1463 1148 1361 +3 1463 1361 1435 +3 1148 1368 1361 +3 1841 1736 1827 +3 1594 1547 1640 +3 15 12 1480 +3 1128 1747 1003 +3 1027 1018 893 +3 712 798 1625 +3 105 1425 108 +3 1687 1111 1440 +3 1061 1057 1393 +3 1557 1548 1841 +3 128 767 340 +3 43 1571 837 +3 1159 1592 1584 +3 1809 1569 963 +3 1456 1454 1457 +3 1456 1457 1660 +3 1456 1660 1662 +3 1660 38 1662 +3 1844 54 944 +3 855 1095 1097 +3 388 310 381 +3 271 100 695 +3 894 517 522 +3 52 561 486 +3 561 486 491 +3 1284 1320 1241 +3 811 357 814 +3 1143 813 810 +3 1439 1426 1503 +3 1322 1325 1546 +3 332 435 548 +3 1226 952 6 +3 406 401 300 +3 1006 477 1082 +3 390 575 536 +3 1101 1494 1608 +3 991 417 415 +3 1786 1319 1771 +3 1473 222 192 +3 235 448 435 +3 275 269 394 +3 1113 595 1153 +3 1131 1148 1372 +3 1370 1368 1148 +3 453 1643 623 +3 961 964 56 +3 1683 876 701 +3 1608 1561 1572 +3 792 119 737 +3 939 13 14 +3 381 991 1155 +3 1046 728 1069 +3 347 651 380 +3 468 406 687 +3 1758 1766 189 +3 386 1338 383 +3 435 833 551 +3 1437 1296 1305 +3 331 433 337 +3 382 138 507 +3 1464 1808 1807 +3 1495 765 776 +3 915 1299 1438 +3 509 68 503 +3 612 556 352 +3 1507 27 1846 +3 1444 169 1766 +3 119 792 714 +3 108 1328 1307 +3 1595 1579 1580 +3 1775 1776 1773 +3 1166 1091 241 +3 1774 1772 1706 +3 1447 205 207 +3 1414 84 651 +3 1145 797 552 +3 1462 740 1573 +3 143 312 317 +3 1595 1580 1573 +3 406 468 612 +3 293 745 297 +3 273 651 642 +3 745 293 811 +3 179 385 832 +3 60 1052 1055 +3 293 406 357 +3 588 585 803 +3 357 811 293 +3 438 443 853 +3 615 405 1410 +3 1163 1552 1379 +3 77 78 845 +3 1113 536 546 +3 1658 829 1222 +3 1007 816 785 +3 408 1410 405 +3 702 1269 628 +3 1657 1019 791 +3 528 645 661 +3 595 546 556 +3 1353 1317 1318 +3 523 763 1019 +3 1460 1461 1471 +3 1791 372 523 +3 970 708 59 +3 367 1657 1071 +3 1337 1333 1315 +3 931 984 1065 +3 624 680 1292 +3 1071 611 363 +3 595 612 468 +3 556 612 595 +3 1480 1487 121 +3 326 611 1768 +3 1401 1402 1093 +3 931 1065 1100 +3 283 286 1685 +3 1540 936 1448 +3 1808 680 1807 +3 1833 1448 1452 +3 1428 1403 1433 +3 30 1833 1458 +3 1069 1777 1775 +3 432 350 324 +3 1770 931 430 +3 595 1113 653 +3 1770 430 393 +3 1008 1005 656 +3 1540 430 931 +3 1213 220 1142 +3 440 1833 217 +3 502 1183 198 +3 1833 29 217 +3 432 861 1692 +3 971 1515 1512 +3 1805 1370 1371 +3 615 1768 1230 +3 760 1597 1484 +3 352 556 265 +3 1719 1722 1720 +3 569 1287 811 +3 65 944 853 +3 475 453 609 +3 352 357 612 +3 1658 1222 545 +3 569 357 352 +3 811 357 569 +3 1131 1370 1148 +3 931 936 1540 +3 1805 33 1370 +3 1131 1371 1370 +3 936 931 1100 +3 1153 536 575 +3 576 1371 1287 +3 1318 779 767 +3 580 1371 576 +3 1214 1611 158 +3 1370 1371 580 +3 1370 580 221 +3 1411 122 117 +3 985 221 25 +3 1485 1478 1480 +3 985 25 1368 +3 778 1735 321 +3 659 673 1010 +3 984 1410 408 +3 297 778 293 +3 367 372 1657 +3 297 321 1772 +3 523 1019 1791 +3 803 281 279 +3 1657 372 1791 +3 492 584 952 +3 367 1071 363 +3 357 612 360 +3 1791 1019 1657 +3 653 1308 595 +3 1071 1768 611 +3 814 357 360 +3 1657 791 1230 +3 326 1770 393 +3 863 1429 850 +3 1570 1057 108 +3 326 1410 1770 +3 1458 1833 1452 +3 266 497 1851 +3 326 1768 1410 +3 1114 1198 1282 +3 29 1833 30 +3 778 687 406 +3 1244 1069 821 +3 440 430 1540 +3 468 687 1153 +3 1833 1540 1448 +3 1833 440 1540 +3 1071 1230 1768 +3 1287 569 576 +3 265 569 352 +3 1370 985 1368 +3 1370 221 985 +3 1770 984 931 +3 984 1770 1410 +3 763 523 536 +3 546 595 1113 +3 1230 1071 1657 +3 1768 615 1410 +3 536 1113 763 +3 1140 1760 506 +3 1099 241 1091 +3 298 1683 1684 +3 1868 1477 1387 +3 1868 56 1482 +3 1339 1347 1365 +3 1234 680 624 +3 693 719 716 +3 612 595 590 +3 1145 1440 552 +3 337 334 331 +3 350 338 317 +3 551 1861 239 +3 1143 810 387 +3 1218 1215 1011 +3 1011 1035 1016 +3 271 591 585 +3 335 329 350 +3 1545 1594 1473 +3 653 590 595 +3 1807 1234 1462 +3 530 332 335 +3 681 1455 1865 +3 253 324 432 +3 595 468 1153 +3 1772 1598 539 +3 868 865 862 +3 1080 1075 1083 +3 85 642 651 +3 1082 1073 1078 +3 1506 1522 1515 +3 384 158 159 +3 1429 1137 1191 +3 1137 1429 1721 +3 1300 1437 1270 +3 952 1744 1226 +3 773 775 780 +3 1461 599 606 +3 174 179 1405 +3 194 191 190 +3 1554 1620 855 +3 1200 1188 461 +3 1841 524 1557 +3 991 125 1111 +3 486 484 491 +3 995 830 1024 +3 1372 1778 1463 +3 399 394 269 +3 141 181 137 +3 1400 1403 1428 +3 1296 1437 351 +3 328 1033 436 +3 1665 1660 1457 +3 1773 263 270 +3 415 980 991 +3 1088 1080 1083 +3 192 1810 1473 +3 608 142 1136 +3 612 357 406 +3 52 55 561 +3 406 293 778 +3 1496 1558 1447 +3 759 297 745 +3 991 90 125 +3 237 955 221 +3 72 1174 1195 +3 2 1700 742 +3 1833 1795 217 +3 297 300 321 +3 1611 1214 1221 +3 1332 1344 1706 +3 1554 1620 1492 +3 1058 131 403 +3 389 484 1440 +3 126 1750 1826 +3 112 110 1432 +3 1251 841 911 +3 1198 1114 1761 +3 329 951 338 +3 1601 362 1659 +3 1203 1605 952 +3 673 268 261 +3 116 527 479 +3 506 194 521 +3 1436 1440 1700 +3 882 828 295 +3 1656 915 1653 +3 1564 1829 1104 +3 1306 1284 84 +3 902 178 1551 +3 1405 179 117 +3 1797 1394 430 +3 844 380 382 +3 609 623 1346 +3 660 1514 333 +3 20 23 112 +3 1063 1767 621 +3 292 679 1822 +3 1723 1676 570 +3 521 1367 1179 +3 640 1501 1851 +3 1222 1658 1215 +3 1620 1554 838 +3 1036 1034 1854 +3 199 1521 1616 +3 1448 817 826 +3 1809 1778 1774 +3 363 210 716 +3 1455 373 377 +3 1124 1121 1117 +3 1071 1068 1020 +3 897 1821 288 +3 760 1484 1485 +3 1870 542 535 +3 766 306 757 +3 1680 502 492 +3 1346 1650 623 +3 1579 206 1616 +3 954 835 992 +3 1273 224 187 +3 174 1405 187 +3 1682 220 224 +3 1288 234 220 +3 1637 1099 234 +3 256 1759 1705 +3 1091 259 889 +3 1759 256 259 +3 181 384 1232 +3 276 272 1709 +3 276 1709 1189 +3 534 1822 1699 +3 884 1822 295 +3 141 242 181 +3 242 329 332 +3 242 338 329 +3 384 181 1717 +3 1717 9 8 +3 174 11 1405 +3 187 1405 1273 +3 224 1273 1682 +3 234 1288 1637 +3 1705 272 256 +3 259 1091 1759 +3 1759 1703 1705 +3 1189 1197 1681 +3 1684 1681 1711 +3 1822 1711 1712 +3 1822 1712 1699 +3 1699 1693 548 +3 548 236 242 +3 242 236 181 +3 181 1715 1717 +3 884 1711 1822 +3 338 242 141 +3 1717 8 384 +3 236 548 1677 +3 1684 1711 884 +3 332 1699 548 +3 272 1705 1709 +3 1703 1759 1091 +3 1288 220 1682 +3 1709 1197 1189 +3 1684 884 298 +3 1189 1681 1684 +3 1712 1693 1699 +3 181 1232 141 +3 1693 1677 548 +3 548 242 332 +3 1715 181 236 +3 1099 1637 1091 +3 1091 889 1099 +3 276 1189 1684 +3 332 534 1699 +3 534 679 1822 +3 679 295 1822 +3 295 298 884 +3 298 276 1684 +3 1346 628 1269 +3 17 1225 1434 +3 389 998 396 +3 1186 17 1434 +3 253 267 163 +3 1434 1435 1186 +3 179 1856 1411 +3 1377 702 1304 +3 345 456 533 +3 1128 1003 1656 +3 828 882 1191 +3 974 2 742 +3 249 832 385 +3 1059 785 976 +3 113 115 146 +3 1147 1762 1760 +3 348 642 702 +3 712 1639 238 +3 1093 466 1401 +3 803 279 588 +3 1507 1846 1210 +3 555 550 547 +3 1546 1325 36 +3 1816 667 1495 +3 1669 1130 18 +3 1669 1127 1130 +3 1669 1671 1672 +3 1127 1669 1672 +3 1510 112 1432 +3 555 643 1672 +3 109 108 1061 +3 643 555 538 +3 861 530 1692 +3 132 489 340 +3 1006 1407 1406 +3 1437 1300 356 +3 1697 1692 530 +3 281 394 578 +3 871 860 893 +3 968 1245 700 +3 290 414 246 +3 187 19 1266 +3 1468 942 420 +3 1402 1608 1401 +3 1326 1324 361 +3 488 483 477 +3 112 1080 114 +3 487 345 533 +3 1739 954 466 +3 1468 1579 1578 +3 183 0 1232 +3 1650 1121 1443 +3 1174 475 1195 +3 267 253 246 +3 989 1772 1774 +3 1614 1845 1306 +3 287 838 1554 +3 1365 244 1339 +3 436 1493 386 +3 978 890 1558 +3 238 1324 1639 +3 1049 1045 1043 +3 1448 1450 1452 +3 1448 1452 826 +3 1452 22 826 +3 984 1745 1770 +3 1597 1392 1483 +3 70 69 561 +3 136 380 145 +3 1229 821 813 +3 1789 1786 1289 +3 166 0 183 +3 211 1594 359 +3 188 1411 1310 +3 305 370 1461 +3 350 432 335 +3 1180 1498 1495 +3 538 555 547 +3 1853 1855 912 +3 1796 1638 1787 +3 1023 861 1018 +3 1521 1473 1810 +3 998 3 396 +3 796 525 1311 +3 509 503 435 +3 1699 1697 534 +3 1614 458 1334 +3 1706 1772 539 +3 1183 502 1179 +3 1424 1414 1352 +3 468 461 687 +3 1338 522 383 +3 553 545 791 +3 495 330 326 +3 521 1183 1179 +3 887 899 906 +3 751 899 1469 +3 333 1613 342 +3 806 65 853 +3 134 510 507 +3 712 1625 1642 +3 1415 1819 1380 +3 1401 1492 1620 +3 52 1201 55 +3 506 194 874 +3 1437 356 351 +3 1355 988 76 +3 1741 506 1744 +3 128 1318 767 +3 716 210 1085 +3 1276 1598 225 +3 1172 769 687 +3 1504 205 203 +3 1107 1104 1829 +3 1024 816 1007 +3 1020 820 213 +3 1356 1309 1449 +3 1659 646 228 +3 1147 1285 1762 +3 974 969 2 +3 871 1023 1694 +3 990 1620 835 +3 1430 1431 1569 +3 299 1549 1511 +3 971 1512 1162 +3 1251 946 911 +3 643 1127 1672 +3 1353 1314 1317 +3 702 354 348 +3 1244 793 603 +3 537 150 543 +3 1074 1064 1075 +3 1035 1032 823 +3 1101 1042 1044 +3 1840 1649 483 +3 1700 1440 1687 +3 322 1187 1650 +3 853 1844 944 +3 992 830 1024 +3 1320 1284 1845 +3 751 899 741 +3 956 957 963 +3 1674 1633 1629 +3 1574 899 1573 +3 812 921 1345 +3 1128 1003 1006 +3 1761 1146 1177 +3 149 685 696 +3 1214 158 159 +3 1555 1086 1553 +3 1136 1445 1359 +3 621 1063 627 +3 792 928 780 +3 1121 489 788 +3 386 888 1808 +3 996 999 1416 +3 288 295 884 +3 915 758 1044 +3 700 663 1238 +3 1475 1521 1473 +3 899 887 1471 +3 1423 1422 26 +3 787 1574 420 +3 20 1432 1439 +3 551 1718 1843 +3 885 981 921 +3 1435 1361 1186 +3 558 113 1503 +3 1424 1425 105 +3 736 831 680 +3 380 347 268 +3 1828 40 1265 +3 516 1367 521 +3 975 1522 1617 +3 326 318 309 +3 561 69 486 +3 1495 685 765 +3 249 125 1289 +3 491 475 561 +3 1334 549 1652 +3 397 608 1359 +3 183 503 68 +3 349 1578 1594 +3 791 1657 553 +3 1251 1416 757 +3 895 1027 893 +3 497 1036 1851 +3 1268 1249 1219 +3 659 1010 85 +3 1853 1720 1719 +3 521 1226 1227 +3 553 719 693 +3 1049 130 1045 +3 575 763 523 +3 298 701 1683 +3 738 1350 494 +3 1416 766 757 +3 894 1338 831 +3 931 920 430 +3 1016 627 1063 +3 822 1506 830 +3 1174 1195 1654 +3 1512 1506 1511 +3 137 749 143 +3 1229 813 795 +3 1187 609 1190 +3 418 54 186 +3 839 1084 1087 +3 1349 1142 1288 +3 64 65 747 +3 1798 1564 1565 +3 651 347 273 +3 532 1464 1574 +3 1008 99 128 +3 667 1816 780 +3 1660 1665 1743 +3 342 1573 740 +3 1226 6 5 +3 332 548 574 +3 764 223 225 +3 1035 1085 1032 +3 833 435 866 +3 1163 1502 1552 +3 570 267 253 +3 469 623 1443 +3 1512 1515 1506 +3 278 584 277 +3 1471 1393 1057 +3 868 1084 839 +3 1444 1755 1583 +3 863 1429 77 +3 1107 1757 1764 +3 1540 1448 1450 +3 113 116 115 +3 1139 1554 904 +3 867 976 978 +3 561 1687 1440 +3 269 264 403 +3 534 292 679 +3 1724 1722 1052 +3 1260 1259 1256 +3 621 682 1063 +3 512 455 1469 +3 174 1405 19 +3 1174 52 1195 +3 421 389 392 +3 440 1534 1610 +3 208 21 214 +3 126 1290 478 +3 1640 1547 1549 +3 939 817 22 +3 740 1462 1234 +3 990 835 992 +3 855 1739 1749 +3 116 479 498 +3 1573 1613 1866 +3 1169 1166 731 +3 1196 1198 1752 +3 130 1124 1155 +3 126 148 95 +3 361 1324 226 +3 1707 1184 1709 +3 965 988 1355 +3 797 1145 1124 +3 838 287 285 +3 1052 1429 1055 +3 1032 1035 1760 +3 71 306 1710 +3 1008 128 1116 +3 1011 1224 1016 +3 1069 1119 734 +3 1591 1592 1568 +3 1638 1777 1069 +3 130 419 457 +3 258 266 1851 +3 1674 1629 1301 +3 396 3 1537 +3 225 1735 1193 +3 1445 380 268 +3 1218 1011 1016 +3 1018 1694 1023 +3 110 108 1400 +3 39 1704 1577 +3 506 521 1179 +3 163 1607 409 +3 1540 1450 1451 +3 1867 1514 1816 +3 1215 228 1222 +3 1766 169 189 +3 1164 987 755 +3 717 76 988 +3 1016 1063 1013 +3 1431 1430 240 +3 689 1180 1495 +3 1845 1246 1320 +3 870 770 1000 +3 335 1697 574 +3 1758 189 418 +3 970 988 708 +3 659 257 261 +3 856 283 1824 +3 1638 1625 798 +3 1477 1474 1387 +3 1743 1644 1582 +3 796 1032 627 +3 1571 43 1619 +3 666 596 604 +3 1541 30 1662 +3 998 484 1436 +3 1314 1229 603 +3 288 884 897 +3 714 780 775 +3 761 343 773 +3 1417 1785 1655 +3 316 82 1117 +3 1633 1674 559 +3 1117 1650 316 +3 1346 1652 444 +3 1670 80 304 +3 531 1857 592 +3 592 1857 598 +3 598 1857 1742 +3 1742 1857 1734 +3 1734 1857 1606 +3 1606 1857 639 +3 464 1796 565 +3 444 322 1346 +3 650 1857 1796 +3 441 444 1652 +3 1801 441 1646 +3 62 1801 1646 +3 63 60 1618 +3 531 500 1642 +3 1134 1636 513 +3 1642 1857 531 +3 1621 1655 1784 +3 513 1417 1134 +3 1857 1638 1796 +3 1642 1625 1857 +3 1796 1638 1244 +3 1247 1244 1633 +3 1247 1633 559 +3 1247 559 565 +3 565 1796 1247 +3 322 316 1650 +3 1674 1670 707 +3 1796 464 650 +3 441 1652 1646 +3 1625 1638 1857 +3 1857 650 639 +3 1784 1783 1621 +3 1650 1346 322 +3 1796 1244 1247 +3 707 559 1674 +3 932 441 1801 +3 932 1801 62 +3 500 513 1636 +3 1655 1134 1417 +3 1636 1642 500 +3 304 707 1670 +3 1618 1621 1783 +3 1785 1784 1655 +3 1783 63 1618 +3 80 1117 82 +3 82 304 80 +3 1255 1315 1627 +3 1022 1520 1615 +3 375 1459 1236 +3 1811 658 1595 +3 1756 997 1364 +3 1498 1180 770 +3 1807 1234 1811 +3 1234 1807 736 +3 1595 655 1615 +3 618 1811 1234 +3 1498 770 768 +3 1595 1806 1580 +3 1810 1806 1615 +3 1810 1520 1799 +3 770 1756 768 +3 655 1595 658 +3 1022 1615 655 +3 1015 1520 1022 +3 1014 1837 1015 +3 1180 1498 1014 +3 1000 770 1180 +3 997 1756 1000 +3 1364 997 1363 +3 1364 1363 75 +3 1799 1837 1496 +3 442 831 377 +3 307 831 442 +3 1236 1814 1352 +3 1352 1424 1262 +3 1262 1302 1257 +3 1257 1817 1255 +3 831 1338 1459 +3 1814 1236 1459 +3 772 831 307 +3 831 736 1807 +3 1315 1255 1817 +3 632 831 772 +3 1252 831 632 +3 1646 1801 73 +3 1646 73 72 +3 1800 1364 75 +3 1800 1756 1364 +3 1496 1498 768 +3 1811 1595 1580 +3 1520 1810 1615 +3 1595 1615 1806 +3 1498 1496 1837 +3 1315 1801 1646 +3 1302 1262 1424 +3 1807 1338 831 +3 1837 1014 1498 +3 1015 1837 1520 +3 1837 1799 1520 +3 658 1811 618 +3 1627 1646 72 +3 1646 1627 1315 +3 770 1000 1756 +3 1424 1352 1814 +3 1459 377 831 +3 1817 1257 1302 +3 736 831 1252 +3 377 1459 375 +3 1591 1568 1477 +3 924 940 1406 +3 1568 1591 1550 +3 940 935 1406 +3 935 933 1406 +3 933 1090 1406 +3 1090 1167 1406 +3 1550 1647 902 +3 1095 1150 908 +3 1749 460 1406 +3 408 1410 445 +3 1412 636 499 +3 636 1412 1179 +3 1410 408 423 +3 423 1409 1410 +3 1568 173 1477 +3 173 186 1477 +3 908 466 1749 +3 466 460 1749 +3 1492 945 1827 +3 466 908 1492 +3 466 1492 1401 +3 1492 1827 1401 +3 1827 1399 1401 +3 1395 1399 1827 +3 1395 1551 1381 +3 1591 1378 1381 +3 1800 53 1364 +3 445 499 408 +3 499 445 1412 +3 1409 423 254 +3 467 1407 1408 +3 1179 584 636 +3 1366 584 1179 +3 492 584 1366 +3 492 1366 1680 +3 1366 49 1680 +3 908 905 1492 +3 1408 254 467 +3 1827 907 1551 +3 1095 1406 1167 +3 1551 902 1647 +3 1477 1387 1378 +3 53 1800 54 +3 1364 1387 1800 +3 1749 1095 908 +3 1800 1387 1477 +3 945 1492 905 +3 1477 1378 1591 +3 1406 937 924 +3 1591 1381 1647 +3 254 1408 1409 +3 1551 1395 1827 +3 902 1551 907 +3 1647 1381 1551 +3 1800 186 54 +3 186 1800 1477 +3 1095 1749 1406 +3 907 1827 945 +3 1407 467 937 +3 1647 1550 1591 +3 905 908 1150 +3 937 1406 1407 +3 1509 1266 27 +3 224 187 1266 +3 187 196 188 +3 361 196 226 +3 1182 1498 1180 +3 169 189 186 +3 1023 432 560 +3 670 167 1701 +3 163 1691 1695 +3 177 783 1557 +3 271 275 274 +3 1145 552 469 +3 77 850 863 +3 1812 146 115 +3 609 1190 561 +3 514 705 526 +3 126 95 100 +3 1168 24 1360 +3 1501 923 1851 +3 1433 1325 1322 +3 292 1822 1821 +3 1510 1075 112 +3 957 948 1430 +3 28 1340 1599 +3 1509 27 1507 +3 220 1509 1213 +3 1211 1210 1208 +3 1537 1856 179 +3 295 679 288 +3 1198 1357 1196 +3 514 1196 705 +3 480 478 472 +3 276 701 298 +3 276 298 286 +3 165 286 283 +3 165 283 860 +3 860 856 861 +3 591 368 695 +3 560 432 324 +3 567 324 312 +3 368 312 133 +3 286 298 295 +3 97 1235 170 +3 1055 1060 1275 +3 1645 1556 1535 +3 1542 1544 1543 +3 1360 24 948 +3 1360 948 957 +3 957 1430 963 +3 1412 445 309 +3 1636 1639 1642 +3 766 1416 1390 +3 478 167 1235 +3 695 100 577 +3 1759 1761 259 +3 572 695 577 +3 802 780 928 +3 435 503 448 +3 196 361 366 +3 679 1823 1822 +3 1284 1414 84 +3 142 136 1136 +3 1764 1827 1399 +3 1107 1104 1101 +3 1377 474 1269 +3 599 1461 1488 +3 247 249 385 +3 1046 270 263 +3 526 705 701 +3 591 588 585 +3 560 432 582 +3 1324 238 226 +3 309 786 445 +3 1559 1433 1403 +3 1335 1809 1141 +3 621 631 627 +3 1 1710 1708 +3 224 1266 1509 +3 1213 1509 1507 +3 1299 1656 1408 +3 1054 1048 1057 +3 1483 1481 1476 +3 1246 1845 1298 +3 623 1650 1443 +3 415 986 742 +3 526 701 276 +3 165 276 286 +3 861 432 1023 +3 1006 477 483 +3 577 573 572 +3 154 155 165 +3 974 980 986 +3 472 129 133 +3 1542 1543 963 +3 1569 963 1430 +3 870 978 770 +3 170 93 97 +3 1518 1516 1530 +3 154 573 647 +3 366 371 247 +3 647 573 577 +3 151 154 93 +3 1235 129 472 +3 526 272 514 +3 443 1497 438 +3 1516 1532 1530 +3 981 1345 921 +3 1517 1518 1519 +3 149 1051 64 +3 1144 1624 1211 +3 1505 1504 1502 +3 100 271 126 +3 1497 1495 1496 +3 792 928 1480 +3 1159 1584 1589 +3 553 834 545 +3 197 502 1680 +3 259 1198 256 +3 560 871 1023 +3 263 165 1046 +3 1047 1170 1046 +3 1213 1210 1211 +3 1483 1484 1597 +3 224 1509 220 +3 234 1213 1211 +3 751 754 761 +3 238 220 234 +3 714 667 780 +3 270 259 263 +3 1282 1357 1198 +3 256 514 272 +3 1046 728 1047 +3 1468 1616 1475 +3 165 728 1046 +3 247 385 366 +3 279 274 275 +3 1046 1170 270 +3 628 463 358 +3 524 1841 1139 +3 224 220 226 +3 1226 67 66 +3 1507 1210 1213 +3 220 1213 234 +3 1440 1187 1687 +3 889 270 1170 +3 1828 41 40 +3 985 33 221 +3 309 718 786 +3 1201 1174 1652 +3 283 856 860 +3 165 860 871 +3 165 272 276 +3 272 526 276 +3 263 256 272 +3 263 272 165 +3 860 861 1023 +3 588 591 572 +3 889 1282 259 +3 1023 871 860 +3 259 270 889 +3 871 588 165 +3 165 588 573 +3 165 573 154 +3 871 585 588 +3 573 588 572 +3 129 695 368 +3 560 585 871 +3 368 133 129 +3 567 312 368 +3 481 73 441 +3 1251 996 1416 +3 577 97 647 +3 130 1049 419 +3 409 480 605 +3 1571 837 1619 +3 605 472 133 +3 170 1235 167 +3 1479 120 1478 +3 542 643 538 +3 472 478 1235 +3 481 1201 441 +3 1138 1114 1091 +3 832 1537 179 +3 899 894 741 +3 31 114 111 +3 302 1708 1710 +3 1543 1360 957 +3 1543 957 963 +3 1147 719 716 +3 955 948 957 +3 71 68 230 +3 335 861 530 +3 1573 1866 1574 +3 1554 1139 1841 +3 309 1410 326 +3 172 170 167 +3 194 506 1741 +3 1744 506 1412 +3 1735 225 1598 +3 163 605 133 +3 1820 1062 1836 +3 155 154 156 +3 1298 1331 1246 +3 156 154 151 +3 156 151 638 +3 93 154 647 +3 93 647 97 +3 151 93 638 +3 638 93 170 +3 638 170 172 +3 100 1235 97 +3 100 97 577 +3 129 1235 100 +3 129 100 695 +3 156 638 172 +3 585 567 591 +3 1350 1687 561 +3 252 913 249 +3 1478 1812 1479 +3 952 1226 66 +3 1198 259 1282 +3 1144 1106 1211 +3 219 215 212 +3 1469 1481 1471 +3 794 906 800 +3 259 270 1759 +3 1608 1494 1492 +3 1790 818 1078 +3 1221 9 1223 +3 1831 1765 1084 +3 945 1139 1492 +3 1455 681 644 +3 366 188 196 +3 477 1006 1003 +3 802 721 676 +3 1862 1863 1823 +3 444 322 494 +3 911 946 914 +3 159 409 749 +3 1314 1244 603 +3 954 1093 466 +3 1160 74 1161 +3 995 1736 830 +3 560 324 567 +3 271 264 269 +3 1403 1433 1322 +3 250 246 137 +3 1248 1298 1331 +3 915 1438 587 +3 1702 1848 568 +3 227 225 223 +3 1076 331 79 +3 1503 1596 558 +3 44 1316 1256 +3 800 906 773 +3 1331 1298 1643 +3 371 821 813 +3 574 1125 246 +3 514 256 1198 +3 252 249 247 +3 813 247 371 +3 1198 1196 514 +3 813 252 247 +3 1580 420 1574 +3 807 484 389 +3 1025 1029 1135 +3 1049 1043 1143 +3 863 866 1137 +3 112 28 1432 +3 980 1700 986 +3 302 1710 306 +3 1111 1124 1155 +3 651 273 257 +3 1762 1412 506 +3 316 310 322 +3 882 854 876 +3 1751 825 127 +3 1865 664 681 +3 235 230 239 +3 1298 1248 1255 +3 286 276 1189 +3 757 50 946 +3 813 795 810 +3 394 281 275 +3 813 810 252 +3 403 267 411 +3 1362 1387 1364 +3 712 798 361 +3 233 230 235 +3 472 605 480 +3 283 1685 895 +3 1515 971 830 +3 1412 280 278 +3 1423 26 1130 +3 226 712 361 +3 238 226 220 +3 196 187 224 +3 196 224 226 +3 712 226 238 +3 188 366 385 +3 361 371 366 +3 361 798 371 +3 256 263 259 +3 793 795 813 +3 267 246 414 +3 371 798 821 +3 813 821 793 +3 368 591 567 +3 246 242 236 +3 694 289 699 +3 674 1005 1105 +3 695 572 591 +3 567 585 560 +3 203 1590 364 +3 23 20 1812 +3 1813 452 802 +3 1478 1083 1812 +3 1478 780 802 +3 802 780 1816 +3 1083 23 1812 +3 760 1088 1083 +3 285 1506 822 +3 1484 802 721 +3 1617 1590 1819 +3 1819 1590 1472 +3 1617 1641 1590 +3 1617 1549 1641 +3 1617 1522 1549 +3 1549 1522 1506 +3 1582 1581 1645 +3 1472 218 346 +3 1581 1582 1788 +3 346 446 1813 +3 452 1813 446 +3 524 1827 907 +3 1827 1757 907 +3 1757 949 907 +3 1079 949 1757 +3 1079 1757 1581 +3 1079 1581 1788 +3 1795 1454 1457 +3 1454 1795 1833 +3 1644 1582 1645 +3 1644 1645 1795 +3 1644 1795 1665 +3 1795 1457 1665 +3 1454 1833 1458 +3 1833 22 1458 +3 1506 285 299 +3 452 721 802 +3 1506 299 1549 +3 1819 1472 1602 +3 1590 203 1472 +3 1484 760 1083 +3 1837 1799 1816 +3 1837 1602 1799 +3 802 1484 1478 +3 1088 23 1083 +3 760 1484 721 +3 1083 1478 1484 +3 1799 1813 1816 +3 1549 299 1641 +3 1841 524 291 +3 1799 1602 1472 +3 1816 1813 802 +3 822 291 285 +3 1799 346 1813 +3 346 1799 1472 +3 1472 203 218 +3 291 822 1841 +3 364 1590 1641 +3 364 1641 299 +3 524 1841 1827 +3 1548 1736 1841 +3 269 403 399 +3 912 1720 1853 +3 362 360 334 +3 1222 1285 198 +3 1136 1010 608 +3 1588 1555 1556 +3 1456 1662 30 +3 570 253 432 +3 990 1402 1401 +3 521 1224 1183 +3 1316 1255 1256 +3 205 207 311 +3 1498 1558 1496 +3 972 131 968 +3 205 311 369 +3 145 1445 1136 +3 1568 173 1160 +3 1143 1043 1229 +3 692 1749 688 +3 1249 1268 1245 +3 57 1589 1159 +3 1781 1076 58 +3 1781 1056 1062 +3 300 1029 293 +3 646 334 590 +3 466 1093 456 +3 228 1222 198 +3 1763 6 943 +3 327 321 314 +3 1826 1330 1297 +3 1346 623 628 +3 85 83 1304 +3 1220 1091 1166 +3 188 174 187 +3 860 1824 893 +3 1173 1111 980 +3 909 921 817 +3 281 279 275 +3 239 236 235 +3 983 1602 1521 +3 857 1765 865 +3 183 68 166 +3 1788 1782 1582 +3 1782 1587 1588 +3 1650 1270 620 +3 529 1808 1464 +3 1073 232 820 +3 183 338 951 +3 992 835 830 +3 395 1511 783 +3 1657 791 1017 +3 928 762 1485 +3 1002 1656 1745 +3 118 151 93 +3 1061 1057 1064 +3 1692 1018 861 +3 771 1749 782 +3 1055 1060 1052 +3 579 269 271 +3 1468 349 353 +3 264 403 131 +3 1109 1624 1103 +3 1039 1048 1050 +3 1815 62 1466 +3 1076 334 331 +3 1355 525 631 +3 100 129 126 +3 334 646 331 +3 171 169 173 +3 699 697 694 +3 171 1583 1591 +3 171 173 1568 +3 176 227 162 +3 286 1684 1685 +3 212 764 219 +3 1497 443 928 +3 1798 1795 1829 +3 1781 1062 1076 +3 1056 814 1062 +3 1145 1443 1650 +3 228 1215 1659 +3 863 1137 1429 +3 1455 709 373 +3 551 239 235 +3 1215 1209 1308 +3 134 128 510 +3 1210 1667 1278 +3 955 237 948 +3 1160 186 74 +3 1187 322 310 +3 1188 607 225 +3 439 786 540 +3 261 1455 673 +3 118 180 723 +3 1493 1455 1459 +3 93 647 118 +3 460 456 345 +3 1415 1617 1819 +3 1301 425 583 +3 1094 1568 1160 +3 1198 259 1761 +3 962 369 205 +3 1334 1269 628 +3 1531 1764 1398 +3 274 275 95 +3 1479 1480 1478 +3 314 661 327 +3 1447 207 344 +3 331 200 437 +3 1300 1443 463 +3 352 293 357 +3 334 337 362 +3 334 1062 360 +3 1062 334 1076 +3 360 590 334 +3 300 994 1029 +3 277 502 280 +3 585 1694 579 +3 1526 539 1276 +3 1216 1219 1279 +3 596 1348 1706 +3 866 509 435 +3 1594 211 1473 +3 278 636 1412 +3 237 32 240 +3 817 809 826 +3 659 85 651 +3 228 646 653 +3 590 653 646 +3 200 228 198 +3 653 829 228 +3 302 290 236 +3 641 649 673 +3 246 236 290 +3 651 85 145 +3 719 1071 363 +3 7 1383 1485 +3 856 530 861 +3 955 956 1077 +3 1319 798 371 +3 796 627 631 +3 646 228 200 +3 200 331 646 +3 1187 1145 609 +3 1820 41 1780 +3 198 1285 502 +3 1602 1558 1447 +3 1007 785 1059 +3 279 118 647 +3 1481 1470 1476 +3 851 848 43 +3 380 1445 145 +3 534 675 435 +3 514 1761 1177 +3 1410 1409 326 +3 380 844 347 +3 1310 196 188 +3 401 406 468 +3 320 608 1010 +3 1050 422 1039 +3 719 718 716 +3 1299 1656 1002 +3 1838 1213 1509 +3 864 1474 978 +3 1645 1644 1556 +3 667 1816 660 +3 1073 229 232 +3 225 1193 1188 +3 1627 61 1646 +3 1582 1782 1588 +3 288 286 897 +3 51 863 850 +3 1471 887 1393 +3 1565 214 29 +3 1159 1160 1161 +3 746 491 484 +3 913 392 249 +3 1203 1744 1412 +3 171 1583 175 +3 1094 1160 1159 +3 68 71 166 +3 1787 1319 1786 +3 489 1121 132 +3 1763 1375 190 +3 297 778 321 +3 1188 1193 1421 +3 1587 1839 1588 +3 171 369 169 +3 338 350 329 +3 1399 1398 1402 +3 876 1823 882 +3 1301 1629 425 +3 662 537 539 +3 267 264 253 +3 865 868 857 +3 1285 1147 1658 +3 1555 1588 1782 +3 57 1159 1161 +3 1394 1797 1560 +3 1414 1241 664 +3 1075 1597 1080 +3 1364 1363 1362 +3 1023 893 1018 +3 923 258 1851 +3 1514 800 773 +3 360 1062 814 +3 406 300 293 +3 1296 145 1305 +3 103 1424 105 +3 679 828 1823 +3 671 676 800 +3 1816 1495 1497 +3 1288 1142 220 +3 451 445 439 +3 1166 1170 241 +3 747 65 806 +3 651 84 85 +3 671 1867 1813 +3 1496 344 1497 +3 363 1071 1020 +3 126 478 1235 +3 397 1359 386 +3 169 369 311 +3 1511 1505 1502 +3 492 66 1680 +3 1226 5 1227 +3 1516 1532 1645 +3 1627 72 1623 +3 136 138 382 +3 285 1511 1506 +3 516 511 67 +3 109 1704 111 +3 677 543 152 +3 1652 1298 1334 +3 866 850 833 +3 1251 757 946 +3 1055 1429 1194 +3 1117 412 316 +3 798 821 1638 +3 430 920 1797 +3 928 762 721 +3 203 1590 1504 +3 956 1544 1696 +3 1393 1471 1481 +3 829 1222 228 +3 250 317 350 +3 682 201 204 +3 286 298 1684 +3 1687 388 413 +3 21 22 1833 +3 634 680 637 +3 445 1410 309 +3 190 194 1741 +3 530 1821 1697 +3 108 1400 1570 +3 247 1289 1771 +3 1443 788 469 +3 1392 1393 1481 +3 130 125 457 +3 1474 864 1387 +3 1439 1599 1426 +3 403 264 582 +3 72 73 1201 +3 230 833 841 +3 1534 1451 1441 +3 108 1425 1400 +3 391 388 413 +3 1775 1773 1046 +3 1610 1534 1609 +3 1231 912 1855 +3 1860 135 571 +3 1664 1663 1852 +3 1353 571 629 +3 1353 1860 571 +3 1664 1849 1726 +3 1726 1849 1373 +3 1373 1849 690 +3 1043 1143 1674 +3 98 571 135 +3 474 594 1377 +3 613 1786 1043 +3 1377 1614 474 +3 1674 629 707 +3 622 1849 1786 +3 458 474 1614 +3 815 458 1818 +3 1465 1525 1453 +3 1576 1465 1575 +3 39 1576 1575 +3 34 35 1667 +3 1667 1846 1838 +3 1133 1838 1682 +3 1423 1422 1133 +3 1849 1771 1786 +3 1786 1771 1043 +3 1674 1317 1353 +3 1143 1629 1674 +3 1353 1317 1860 +3 594 656 1716 +3 1716 1377 594 +3 135 1005 98 +3 1043 707 613 +3 1786 616 622 +3 458 1614 1818 +3 1465 1453 1575 +3 35 1846 1667 +3 1133 1682 1127 +3 1667 1838 1133 +3 1852 1849 1664 +3 1663 1672 1852 +3 1629 1317 1674 +3 1771 1143 1043 +3 613 616 1786 +3 1525 815 1818 +3 1818 1453 1525 +3 1847 1771 1849 +3 1849 622 690 +3 1852 1847 1849 +3 1127 1423 1133 +3 1682 1852 1672 +3 1667 1133 1422 +3 1672 1127 1682 +3 1422 34 1667 +3 707 1043 1674 +3 656 98 1005 +3 1005 1716 656 +3 1674 1353 629 +3 674 147 1105 +3 407 1789 1045 +3 1105 1305 674 +3 1666 1858 1732 +3 1732 1858 1374 +3 1374 1858 993 +3 1045 1049 1670 +3 571 1860 139 +3 454 669 1304 +3 1045 304 407 +3 1670 308 304 +3 619 1858 1789 +3 541 454 1306 +3 294 541 1321 +3 1467 1523 1327 +3 1577 1467 1328 +3 1704 1577 1329 +3 31 1704 1329 +3 26 27 1120 +3 1670 1351 308 +3 1669 1130 1272 +3 1858 1289 1789 +3 1789 1289 1045 +3 1670 1318 1351 +3 1049 1301 1670 +3 1351 1318 1303 +3 1860 1303 139 +3 1351 1860 571 +3 139 1105 147 +3 147 571 139 +3 1789 404 619 +3 541 1306 1321 +3 1467 1327 1328 +3 1577 1328 1329 +3 1272 1312 1661 +3 1301 1318 1670 +3 1351 1303 1860 +3 1351 571 308 +3 1289 1049 1045 +3 407 404 1789 +3 1523 294 1321 +3 1321 1327 1523 +3 1277 1289 1858 +3 1858 619 993 +3 1312 1277 1858 +3 1661 1669 1272 +3 1120 1272 1130 +3 1312 1858 1666 +3 1666 1661 1312 +3 1130 26 1120 +3 304 1045 1670 +3 1304 1306 454 +3 669 674 1305 +3 1305 1304 669 +3 1868 1603 1604 +3 76 79 1600 +3 1868 75 1603 +3 229 1082 345 +3 631 1355 1767 +3 796 631 1767 +3 1794 1343 805 +3 611 216 718 +3 1760 1140 1224 +3 1224 1140 796 +3 1528 1527 1562 +3 185 487 1748 +3 182 185 1864 +3 1754 1604 1869 +3 1628 1622 1754 +3 1604 1754 1868 +3 1869 1628 1754 +3 1622 1628 1527 +3 1527 1528 1622 +3 1562 1764 1528 +3 1764 1562 1572 +3 1864 1608 182 +3 1748 1864 185 +3 1572 1608 1764 +3 1082 1593 345 +3 1082 1649 1593 +3 1840 1769 1649 +3 1794 611 1769 +3 718 786 1768 +3 718 1762 786 +3 1737 1183 1767 +3 1600 1737 1767 +3 1762 1760 1183 +3 487 345 1748 +3 1767 1183 1224 +3 718 216 1152 +3 1224 1183 1760 +3 611 718 1768 +3 1760 1762 718 +3 1794 1769 1840 +3 1608 1572 182 +3 1840 1649 1082 +3 718 1152 1760 +3 1760 1152 1140 +3 1769 611 1768 +3 1794 231 1343 +3 1355 1600 1767 +3 1600 1355 76 +3 1082 229 1840 +3 345 487 229 +3 1840 229 231 +3 1840 231 1794 +3 1794 805 611 +3 611 805 216 +3 1224 796 1767 +3 427 1866 193 +3 1329 36 1323 +3 1475 349 195 +3 1428 110 1323 +3 1428 1612 110 +3 1064 1612 1470 +3 761 906 1470 +3 906 1613 1866 +3 906 761 1613 +3 1704 39 1329 +3 111 1704 1329 +3 110 111 1329 +3 1806 1613 1615 +3 111 110 1074 +3 1616 1634 1475 +3 790 336 400 +3 1475 1634 1578 +3 1578 1634 1640 +3 336 790 1651 +3 364 1641 1505 +3 1475 195 193 +3 175 1651 1647 +3 1866 668 906 +3 668 1866 427 +3 1647 1550 175 +3 1648 1550 1647 +3 1098 1550 1648 +3 1098 1648 1102 +3 1648 1586 1102 +3 1586 1585 1102 +3 1632 1585 1586 +3 1839 1585 1632 +3 1839 1632 1730 +3 1632 38 1730 +3 1641 364 359 +3 668 794 906 +3 1392 1064 1481 +3 1806 1616 1475 +3 1616 1806 1615 +3 1505 400 364 +3 1806 1866 1613 +3 1651 175 336 +3 1064 1074 110 +3 39 36 1329 +3 1064 110 1612 +3 1329 1323 110 +3 1481 1064 1470 +3 1392 1074 1064 +3 1481 1470 906 +3 794 1481 906 +3 794 1392 1481 +3 1806 193 1866 +3 193 1806 1475 +3 400 1505 790 +3 359 1578 1640 +3 349 1578 359 +3 1578 349 1475 +3 359 1640 1641 +3 706 1713 59 +3 519 1488 1425 +3 1082 477 229 +3 1055 1275 60 +3 1087 1275 1060 +3 55 1350 561 +3 1060 1087 1084 +3 1196 865 705 +3 1245 968 1249 +3 1389 306 766 +3 530 856 292 +3 1049 387 419 +3 1483 1075 1476 +3 1108 1602 1837 +3 97 95 1701 +3 967 1013 1063 +3 1304 702 642 +3 1512 1511 1502 +3 921 909 885 +3 1024 830 816 +3 417 415 413 +3 1075 1483 1597 +3 1337 1315 1316 +3 1816 1497 1813 +3 1402 1401 1399 +3 1619 1060 1275 +3 1651 175 1583 +3 706 59 717 +3 706 717 988 +3 243 1265 251 +3 1341 965 682 +3 1295 680 743 +3 380 651 145 +3 860 856 1824 +3 970 965 988 +3 1598 1276 539 +3 244 1690 282 +3 437 49 433 +3 991 1111 1155 +3 895 893 283 +3 1060 862 1087 +3 1357 862 1196 +3 1183 1224 1011 +3 679 675 534 +3 1010 673 1359 +3 60 1724 1052 +3 143 137 163 +3 329 335 332 +3 868 862 839 +3 1349 1288 1324 +3 904 855 1097 +3 765 696 698 +3 411 399 403 +3 1334 1315 1333 +3 921 812 817 +3 1821 1156 1697 +3 719 540 786 +3 526 1184 1683 +3 1493 673 1455 +3 116 1478 1476 +3 1497 443 452 +3 217 21 1833 +3 605 749 409 +3 848 1278 1271 +3 961 56 1842 +3 1038 1115 1107 +3 1743 1730 1660 +3 585 560 579 +3 1696 1611 1221 +3 1353 1318 1351 +3 443 762 806 +3 293 352 300 +3 466 908 1739 +3 1137 866 675 +3 1141 1148 1131 +3 1190 609 1201 +3 1106 1099 1114 +3 956 1435 1463 +3 1316 61 1256 +3 236 242 235 +3 1244 821 793 +3 7 806 762 +3 579 1834 269 +3 132 1301 583 +3 355 357 360 +3 435 551 548 +3 1109 1106 1103 +3 988 1825 706 +3 784 1749 692 +3 534 675 1699 +3 286 1189 1685 +3 663 1165 1238 +3 1136 1359 608 +3 526 272 1184 +3 2 3 1700 +3 1694 803 871 +3 1480 928 1485 +3 90 1789 125 +3 141 317 338 +3 1652 1346 623 +3 292 534 530 +3 283 286 288 +3 675 679 828 +3 675 828 1137 +3 1758 776 765 +3 1124 457 797 +3 444 494 1190 +3 283 288 897 +3 1191 703 1194 +3 371 813 1319 +3 292 283 288 +3 1404 1400 1425 +3 703 857 854 +3 1304 642 85 +3 206 1811 658 +3 1114 1138 1154 +3 1571 1619 1275 +3 1464 532 529 +3 1583 1755 1651 +3 1778 956 1463 +3 1285 280 502 +3 845 833 850 +3 967 621 965 +3 72 1201 1174 +3 1061 1054 1057 +3 1314 1633 1244 +3 1460 1471 1396 +3 504 309 318 +3 1660 1541 1662 +3 295 828 679 +3 1588 1743 1582 +3 1461 606 301 +3 1123 574 1697 +3 604 255 666 +3 1270 628 1269 +3 1753 1658 1751 +3 1521 1602 1473 +3 1156 1821 1181 +3 893 1835 1694 +3 1362 1603 1868 +3 1511 395 1505 +3 803 275 274 +3 832 122 1411 +3 1763 13 1375 +3 703 1191 882 +3 1623 1195 1654 +3 133 143 163 +3 842 1619 837 +3 1305 94 669 +3 1135 1141 1131 +3 362 1601 1836 +3 306 239 462 +3 673 1359 1445 +3 680 888 673 +3 621 965 1355 +3 1796 1777 1638 +3 379 436 1489 +3 1825 988 1341 +3 12 146 115 +3 888 386 1359 +3 169 1444 171 +3 988 965 1341 +3 999 1390 1416 +3 1060 1055 1194 +3 1298 358 1331 +3 150 152 543 +3 217 1795 1798 +3 1532 1516 1534 +3 1602 1108 1558 +3 1194 865 1060 +3 705 703 701 +3 965 621 682 +3 382 507 844 +3 865 862 1060 +3 1440 484 561 +3 1636 1637 1639 +3 838 1515 835 +3 125 249 392 +3 1480 12 1487 +3 876 1862 1823 +3 782 1749 784 +3 390 536 1751 +3 882 701 703 +3 1790 1017 818 +3 1816 667 686 +3 1718 1699 675 +3 1506 1515 838 +3 1743 1839 1730 +3 361 371 1294 +3 607 764 225 +3 282 1690 1513 +3 1349 1324 1326 +3 503 951 448 +3 701 882 298 +3 1124 1117 1155 +3 1051 765 696 +3 295 882 876 +3 1360 1696 1168 +3 685 1495 667 +3 828 882 1823 +3 1482 1477 1868 +3 788 1443 1121 +3 1502 1504 1552 +3 1735 778 687 +3 627 625 621 +3 915 919 1516 +3 164 95 148 +3 241 1639 1166 +3 1164 327 314 +3 1108 1602 983 +3 84 102 1306 +3 384 8 158 +3 1162 1512 1502 +3 1011 198 1183 +3 703 705 865 +3 128 340 510 +3 1033 328 84 +3 909 1240 1763 +3 454 1304 83 +3 1871 1783 42 +3 1344 1809 1706 +3 625 627 823 +3 61 62 1646 +3 578 528 281 +3 1751 1658 1793 +3 1328 1577 1575 +3 584 492 277 +3 511 525 1367 +3 865 1194 703 +3 1426 1596 1503 +3 288 679 292 +3 1743 1556 1644 +3 1763 943 909 +3 288 286 295 +3 1258 1309 1404 + diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/refined_cubes.off b/Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/refined_cubes.off new file mode 100644 index 000000000000..b97a4d42d522 --- /dev/null +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/data-snap/refined_cubes.off @@ -0,0 +1,31076 @@ +OFF +5056 26016 0 + +-0.61594615543034026 -1.0701741879286757 -1.2146347356723264 +1.0452131429007676 -1.3737111650653515 -0.14299342950741956 +1.5883443594490732 0.52704573278436739 -0.44652546552251943 +-0.072814938882034802 0.83058270992104299 -1.5181667716874265 +-1.0452131429007676 1.3737111650653515 0.14299342950741956 +-1.5883443594490732 -0.52704573278436739 0.44652546552251943 +0.072814938882034802 -0.83058270992104299 1.5181667716874265 +0.61594615543034026 1.0701741879286757 1.2146347356723264 +-0.61594639934604423 -1.0701743934138028 -1.2146344309355146 +1.0452122820086462 -1.3737119347288513 -0.14299232819208521 +1.5883448836888012 0.52704444686667884 -0.44652511853937799 +-0.072813797665889982 0.83058198818172735 -1.518167221282807 +-1.0452122820086462 1.3737119347288513 0.14299232819208521 +-1.5883448836888012 -0.52704444686667884 0.44652511853937799 +0.072813797665889982 -0.83058198818172735 1.518167221282807 +0.61594639934604423 1.0701743934138028 1.2146344309355146 +-0.6159463762173395 -1.07017459735539 -1.2146342629779363 +1.0452117929893034 -1.3737123992443807 -0.14299144015755649 +1.5883452549553072 0.52704365666978259 -0.44652473058622827 +-0.072812914251335584 0.83058145855877352 -1.518167553406609 +-1.0452117929893034 1.3737123992443807 0.14299144015755649 +-1.5883452549553072 -0.52704365666978259 0.44652473058622827 +0.072812914251335584 -0.83058145855877352 1.518167553406609 +0.6159463762173395 1.07017459735539 1.2146342629779363 +-0.61594668912789197 -1.0701744000985252 -1.2146342780961472 +1.0452104492672072 -1.3737135467380566 -0.14299023830665158 +1.5883461040242048 0.52704182836364122 -0.44652386832759344 +-0.072811034370893465 0.83058097500317263 -1.5181679081170896 +-1.0452104492672072 1.3737135467380566 0.14299023830665158 +-1.5883461040242048 -0.52704182836364122 0.44652386832759344 +0.072811034370893465 -0.83058097500317263 1.5181679081170896 +0.61594668912789197 1.0701744000985252 1.2146342780961472 +-0.6159468868925585 -1.070174149353629 -1.2146343987318162 +1.0452090174071582 -1.3737147790282049 -0.14298886603597585 +1.5883470704382798 0.52703987181399814 -0.44652274001266495 +-0.072808833861436925 0.83058050148857432 -1.5181682727085062 +-1.0452090174071582 1.3737147790282049 0.14298886603597585 +-1.5883470704382798 -0.52703987181399814 0.44652274001266495 +0.072808833861436925 -0.83058050148857432 1.5181682727085062 +0.6159468868925585 1.070174149353629 1.2146343987318162 +-0.61594620872112704 -1.0701743005704609 -1.2146346094034179 +1.0452091168725113 -1.3737147792450597 -0.14298813688653067 +1.5883473052656241 0.52703984477504562 -0.44652193661109801 +-0.072808020328014339 0.83058032344964505 -1.5181684091279861 +-1.0452091168725113 1.3737147792450597 0.14298813688653067 +-1.5883473052656241 -0.52703984477504562 0.44652193661109801 +0.072808020328014339 -0.83058032344964505 1.5181684091279861 +0.61594620872112704 1.0701743005704609 1.2146346094034179 +0.015812704102963069 -1.4305657319567158 -0.97633582590218304 +-0.063147971057831695 -1.3970994075162435 1.0218246323460018 +1.3734324159237437 -0.0060147457399582988 1.0552948506097966 +1.4523930910845384 -0.03948107018043074 -0.94286560763838845 +0.063147971057831695 1.3970994075162435 -1.0218246323460018 +-1.3734324159237437 0.0060147457399582988 -1.0552948506097966 +-1.4523930910845384 0.03948107018043074 0.94286560763838845 +-0.015812704102963069 1.4305657319567158 0.97633582590218304 +-0.017005997503037738 -1.7115480160220284 -0.26516822000379986 +-1.4526640017493855 -0.672335677974221 0.66161320584190753 +-0.062496589720092359 0.32138030895690106 1.7008259385628288 +1.3731614145262554 -0.71783202909090671 0.77404451271712071 +1.4526640017493855 0.672335677974221 -0.66161320584190753 +0.062496589720092359 -0.32138030895690106 -1.7008259385628288 +-1.3731614145262554 0.71783202909090671 -0.77404451271712071 +0.017005997503037738 1.7115480160220284 0.26516822000379986 +-0.67677662809399264 -1.5909903432533568 0.10355251489119292 +-1.5303314706074931 -0.030328946305495721 -0.81065760039877899 +-1.0732219475484153 1.1338825933415291 0.75000327720449067 +-0.21966710503491477 -0.42677880360633264 1.6642133924944624 +1.5303314706074931 0.030328946305495721 0.81065760039877899 +1.0732219475484153 -1.1338825933415291 -0.75000327720449067 +0.21966710503491477 0.42677880360633264 -1.6642133924944624 +0.67677662809399264 1.5909903432533568 -0.10355251489119292 +-1.207106772440474 -1.2071067303442111 -0.29289346439627145 +-0.20710789493838763 -0.20710532012834212 -1.7071068233208859 +-0.50000073181889593 1.5000005345367655 -0.70710512978621964 +-1.4999996093209822 0.4999991243208966 0.70710822913839488 +0.20710789493838763 0.20710532012834212 1.7071068233208859 +0.50000073181889593 -1.5000005345367655 0.70710512978621964 +1.4999996093209822 -0.4999991243208966 -0.70710822913839488 +1.207106772440474 1.2071067303442111 0.29289346439627145 +-1.4309234284537027 -0.29218398751517605 0.26902193368310046 +-1.1136641692075626 -0.79217402417316451 -0.36438109666151519 +-1.1520484463234073 -0.24439838138206427 -0.14972604663472683 +-1.1520481964260578 -0.24439833856181487 -0.14972642187100454 +-0.98965894601109738 -0.4049479191902372 -0.44692057392464202 +-1.0332545762432321 -0.83708678771344514 -0.50174511464722316 +-0.6949521696550256 -1.0260455354457467 -1.0796684214323342 +-0.90737051235113642 -0.90736971110786424 -0.71678496338603859 +-0.68745082835815841 -0.7037323918551488 -1.0000020435421453 +-0.72776786302488361 -0.74106444285979145 -0.94808093929380033 +-0.68694740610717608 -0.70423011095335109 -1.0009233739172982 +-0.68455650517812416 -0.70659392592572434 -1.0052990439350986 +-0.62653695754901806 -1.0642588397369188 -1.1965423923078551 +-0.62341501360104989 -1.0660024922353015 -1.2018755904062446 +-0.6159464740757008 -1.0701741523567119 -1.2146341560971754 +-0.61594644293465084 -1.07017416975054 -1.2146342092955513 +-0.61594643586970266 -1.0701740186518283 -1.2146341774486689 +-1.0452083678161253 1.3737105147006798 0.14298576785820583 +-1.0452100646407754 1.3737114624557991 0.14298866654861037 +-1.0580579017646907 1.3287494503126491 0.15016870452753051 +-0.61594625501733691 -1.070174036995855 -1.2146344629831556 +-0.61594631211391215 -1.0701737119323709 -1.2146342824047553 +-0.61594640472865869 -1.0701740360454597 -1.21463423064698 +-0.61594627538873303 -1.0701741082874494 -1.2146344515986471 +-0.61594623891702849 -1.0701741286584872 -1.2146345139033365 +-0.61594631359483887 -1.0701742419932683 -1.2146344302472514 +-1.1520484681486609 -0.24439806991749369 -0.14972592458212397 +-1.1591821686175323 -0.14259421548975743 -0.10983238102520582 +-1.1864926448390989 0.24715494252656395 0.042896707535920064 +-0.69705182101612739 -0.68990512368403278 1.0215145167389936 +-1.1864930021990281 0.24715415400836344 0.04289703813296486 +-1.4292654253051582 0.029679652020516339 0.35761872832337815 +-1.3296767194418937 -0.068782127482788835 0.17535764707650459 +-0.098183855529224484 -0.79933550053219737 1.407855854934112 +-1.2220647456495315 0.75479465658449096 0.24182423818182897 +-0.098184067384793489 -0.79933568508777708 1.4078543201410043 +-1.2220648616029046 0.75479425079658213 0.24182430298258983 +-0.12660372383083712 -0.89059281948721369 0.78554084643399347 +-1.0214010926709176 0.61143107742497294 -0.10983104637857791 +-0.19151401193902956 -0.89425506801193477 0.64645823641888001 +-0.83946784813247599 0.19776374230274446 -0.50901507763648635 +-0.84297635143907379 0.14066194195162718 -0.51975046393615121 +-0.15881909181550913 -0.87133394902106343 0.84849591340320552 +-0.17282622667314396 -0.92491347974050409 0.48791227004864135 +-0.153460736758604 -0.90166898692481401 0.66812349852678188 +-0.11314821133619121 -0.90952307552134259 0.6910750427859027 +-0.20428742565735974 -0.89176642404898177 0.63918581755589998 +-0.37638479137408232 -0.85823669740930963 0.54120385624892142 +-0.47467034835152233 -0.82604269614725045 0.56693499283657101 +-0.064817185882189876 -0.80543292026411351 1.4293790180297345 +-0.064817404480921048 -0.80543307351506233 1.4293776672027656 +-0.098184200766751689 -0.79933580128195936 1.4078533538519844 +-0.83058745842778037 0.15181657466780835 -0.5357949277502565 +-0.44341357151470906 -0.84517748139083038 0.50304167221524265 +-0.94206430811693931 0.78648847347604112 -0.18322625496795392 +-0.22334295606512661 -0.90836643356388325 0.50113753837819663 +-0.9220211855629934 0.6248950011638037 -0.26006586748957539 +-0.89881990799317912 0.50485150923447253 -0.33003202397920195 +-0.27156786143960876 -0.95037766452380246 0.1517668982646545 +-0.91299439068269583 0.62098697679505643 -0.27516520518254228 +-0.99999922815198183 0.65865450215015309 -0.1296301133485801 +-0.27156765621226675 -0.95037775505648647 0.15176669857148517 +-0.27156789612066146 -0.95037768883732077 0.15176668395370607 +-0.21536850379352473 -0.91097851141531261 0.49904982857705693 +-0.19344592610770867 -0.91815937822208826 0.49331050269709498 +-0.84730969641256504 0.070135629759328549 -0.53300971672712327 +-0.83057788183508219 0.15176991451894967 -0.5358229887317949 +-0.83057773315735539 0.15177063991546003 -0.5358230137303317 +-0.83057909007759356 0.15177836516376225 -0.53581872222099025 +-0.83057942776396287 0.15177502398490839 -0.53581914515292683 +-0.83059917992130061 0.15189274110614676 -0.53575518440239933 +-0.83058102234007025 0.15178327432730881 -0.53581433652283605 +-0.90303123122231543 -0.20172894409412034 -0.5236407488120367 +-0.24970084088203132 0.26316934487730659 -1.4046896333245278 +-0.83057712511968051 0.15176130089372741 -0.53582660149574468 +-0.83057714216704581 0.15176144893804056 -0.53582653313760131 +-0.83057826046194427 0.15176806720388897 -0.53582292506982054 +-0.83057679167829734 0.15175840519109463 -0.53582793856065325 +-0.79206212538629917 -0.18271423741833132 -0.69026770326862641 +-0.83056563099207326 0.15169279923135587 -0.53586382138093702 +-0.8305692900252406 0.15172257128902344 -0.53584971668554049 +-0.74728456561159895 -0.34463816364516975 -0.80554167759755235 +-0.73779854630018482 -0.65395505141829857 -0.90785895338451161 +-0.68708738795826552 -0.70339585977489771 -1.0004700895442107 +-0.6159463258609339 -1.0701736336675225 -1.2146342389272755 +-0.27156729614671749 -0.95037788172589655 0.15176654965179964 +-0.24970129293738175 0.26316965597880548 -1.404689732993297 +0.1107611258264839 -0.85177894331585602 1.4533329952812473 +-0.24385141377691 0.23201706959777885 -1.4225814871329585 +0.11076135009238952 -0.8517788854797681 1.4533337587530712 +-0.99412001485179236 -0.64614982066917648 -0.50832516401770866 +0.38946044924560896 -1.0074463117420467 0.97723039518530941 +-0.38201618757343858 0.96780304677747164 -0.99999857747614751 +-0.38946114831002721 1.0074445915138539 -0.97723210588492693 +-1.1136641551070765 -0.79217403204898873 -0.36438112074943041 +0.68868488703366215 -1.2071064156600841 0.26236885532641219 +-0.38201703639118167 0.96780215841297057 -0.99999980584988135 +-0.83057816922975092 0.1517685123244592 -0.53582294040951806 +0.77641751297117589 -1.2235812413747094 0.31618929330947332 +-0.26414115342539812 0.34007290667391954 -1.3605213517007506 +0.68868623982881561 -1.2071068587759419 0.26236850116494703 +-0.37190694522957179 0.91395785337099977 -1.0309246312201257 +0.29987705427430833 -1.1340943381946986 0.023850885224191633 +-0.2641417351669022 0.340071952182744 -1.3605224379819423 +-0.77419805706089484 -0.17965320510050969 -0.71709170330756744 +0.29988008585423842 -1.1340949074783655 0.023852744976568509 +-0.7724175650005809 -0.17934811537296452 -0.71976522191627534 +-0.29289428574807685 0.29289478762968879 -1.4142128863929768 +0.50876613398590687 -1.2012511164380557 -0.02290814809776516 +-0.83054338756563117 0.15156204550256763 -0.53593533641661728 +-0.24385188457366885 0.23201712502134469 -1.422581780845773 +-0.24970182151676723 0.26317001974363863 -1.4046898495340194 +0.27385810336058192 -1.1257293776182511 0.029675129337177392 +-1.4292657128928177 0.029678645584980158 0.35761888904228356 +-0.75776897528971188 -0.67881071167897122 0.98234247447237766 +-0.83057764051922689 0.15176577677434455 -0.5358245347977213 +-0.57041858783204247 -0.76742750336918975 0.76265808341612895 +-0.24385126380971905 0.23201627097173155 -1.4225819458050157 +-0.66803150735113204 -0.76270613288907452 0.61755690053056966 +-1.1864930330823529 0.24715459473916279 0.04289721084070211 +1.0452082837031993 -1.3737145431461082 -0.1429887017991095 +-0.83057835602956076 0.15176760093085029 -0.5358229090011688 +0.2438488678137633 -0.23201434026885848 1.4225816167969016 +-0.24385073305101523 0.23201555783695532 -1.4225820747655242 +-0.77494643745908465 -0.17978144109598143 -0.71596796399664919 +-0.75797910085119691 -0.35770163184278292 -0.79266430326556558 +-0.24385085799358841 0.23201622319807824 -1.4225816926310855 +-0.086134060006811064 -0.9147862421346411 0.70645528709860805 +-0.94990797463162013 0.76918134610413702 -0.17597000500538029 +0.0564090043675846 -1.0000008022768929 0.42789853840784364 +-0.24384869365640205 0.23201596840708666 -1.4225803423798 +-0.24384933436269401 0.23201682480307995 -1.422580189862765 +-0.88298060943693346 -0.51041772187332057 -0.64215626655599589 +-0.24384918439590508 0.23201602617812411 -1.4225806485343346 +-0.7701941216839252 -0.37262238647181012 -0.77795610022429251 +0.25841944898035873 -1.1207659286432259 0.033131013941617757 +-0.24385010047284039 0.23201613402090948 -1.4225812200414305 +-0.88297890517243749 -0.51038998452708118 -0.64215105181451704 +0.30177775489326297 -1.0803727522054745 0.3636610550147712 +-0.24385025043985065 0.23201693264635137 -1.4225807613696735 +-0.13268938696839971 -0.85301544352436154 1.0099639594376186 +-0.24385100796082437 0.23201702182392708 -1.4225812339592001 +0.24384837707380652 -0.23201428249837186 1.422581310641656 +-0.09818438127161655 -0.79933595852672834 1.4078520461798578 +0.24384815162689039 -0.23201308191777764 1.4225820001667677 +-0.26414203003304537 0.34007146838172653 -1.3605229885830994 +-0.83055782623292007 0.15164628513348927 -0.53588909448121647 +0.62790103892339078 -1.1406273411188028 0.56990088783637582 +-0.10876416405712497 -0.19050347219428371 1.2025994567597471 +0.31573740594497546 -1.0576947233302056 0.53065192784801374 +0.19629273131378477 -0.22641423751304379 1.3929142598875806 +0.19629379791598789 -0.22641497154161749 1.3929144950511043 +-0.10042617814107127 -0.90624218167363368 0.73438485334482762 +0.24384918439590508 -0.23201602617812411 1.4225806485343346 +-0.2496999834807625 0.26316875481943058 -1.4046894442854434 +0.24384933436269401 -0.23201682480308 1.422580189862765 +0.24384869365640205 -0.23201596840708666 1.4225803423798 +0.2496999834807625 -0.26316875481943058 1.4046894442854434 +0.24969894888087496 -0.26316804281463857 1.4046892161777622 +0.24385025043985065 -0.23201693264635137 1.4225807613696735 +0.35125070300284456 -1.0000019075749313 0.95547604779994311 +0.24384884362341358 -0.23201676703182234 1.422579883708543 +-0.26414238167181558 0.34007089143113811 -1.3605236451953227 +0.19629989285299948 -0.22641916603691137 1.3929158388575034 +0.095735444243205708 -1.0235107870711002 0.35104706003241748 +-0.67881030690120125 -0.71227502686812239 -1.0158153590241721 +-0.10876477107427185 -0.19050498674688499 1.2025979565821472 +-0.29289448340953583 0.29289593968597483 -1.41421221153252 +0.19629577837782031 -0.22641633448233695 1.3929149317016027 +0.19629746680581567 -0.22641749644730347 1.3929153039647351 +-0.40462917650259622 0.94413650965293106 -1.03272315453769 +-0.017987530800221009 -0.88498202248950353 1.0150319908193493 +-0.38946206769579472 1.0074447706343705 -0.97723262933067279 +0.24969840959300449 -0.26316767168029709 1.4046890972760426 +-0.37190589508955918 0.91395688486080795 -1.0309245735009172 +-0.10876495267094985 -0.19050543984400498 1.2025975077854865 +-0.38201777046246743 0.96780139014101008 -1.0000008681673145 +-0.1532322586873186 -0.84729029353192598 1.009056285211408 +-0.24969894888087496 0.26316804281463857 -1.4046892161777622 +-0.34946559305537916 -0.75736237266190565 1.2210560920953308 +0.35761663369570951 -0.98966019061252619 1.0316278311689864 +-0.24969840959300449 0.26316767168029698 -1.4046890972760426 +-0.26414045514541029 0.34007405237537214 -1.360520047808194 +0.38946021713599221 -1.0074462665201342 0.97723026303595661 +-0.8829922173478939 -0.51040624546566504 -0.64213502251892973 +-0.10943181956803383 -0.91024700501883915 0.69319102978265779 +-0.086134005648412004 -0.91478615294620957 0.70645538860160562 +-0.2438485687140497 0.23201530304707113 -1.4225807245136117 +1.4292613340620943 -0.029683703616119432 -0.35762045964777034 +-0.95226132527330165 -0.44192187104118286 -0.51536324581081505 +0.28062260405689254 -0.94665290738256691 1.1631650398111688 +-0.23444130519220446 -0.90473112391806887 0.50404306561589496 +0.072810651818749961 -0.83058171344560594 1.5181639363517379 +-0.24384884362341358 0.23201676703182234 -1.422579883708543 +-0.69705147703319592 -0.68990533426363143 1.0215138135887023 +-0.19629989285299948 0.22641916603691137 -1.3929158388575034 +0.38946287152529169 -1.0074449272414876 0.97723308698527811 +-0.27156907226976557 -0.95037731071135712 0.15176694723025086 +0.38946239670593696 -1.0074448347341951 0.97723281665025641 +0.035458745048745161 -0.82375623399317766 1.4940688328602856 +-0.014088185883278936 -1.4178926781447938 -0.21967086685427567 +1.0452103932942554 -1.373709681071039 -0.14298905660723521 +0.035458405445584415 -0.8237563740497611 1.494067348134394 +-0.26414011558565909 0.34007460950733504 -1.360519413751025 +1.0452101715709414 -1.3737096405565552 -0.14298919964541301 +-0.055986231806562675 -0.92065973182359317 0.72361980915204982 +1.429260917962234 -0.029684076357104336 -0.35761992022522615 +0.084231766187906953 -0.94797788392230853 0.80345192872890259 +1.4292616163416643 -0.029683390838891717 -0.35761973554885529 +0.96620354388685681 -1.329580845246717 -0.008021086205488321 +-0.19629379791598794 0.22641497154161749 -1.3929144950511043 +-0.83925753333151665 0.20118667017990716 -0.50837155233936304 +0.35125134009959857 -1.0000012407955849 0.95547696977986729 +1.0452061365767564 -1.3737089032605887 -0.14299180270147299 +-0.24384802785389981 0.23201242278500633 -1.4225823787241092 +-0.75776581087190764 -0.67881115833247563 0.98234533984284833 +0.35761775352872627 -0.98965913692117913 1.0316272991191662 +1.0452060693152458 -1.3737088909702013 -0.14299184609322907 +-0.83061393468411082 0.15197674324800997 -0.53570851975649836 +-0.19629273131378483 0.22641423751304379 -1.3929142598875806 +-0.086134081115946559 -0.91478627676941171 0.70645524768169055 +-0.75776668872536179 -0.67881091368105761 0.98234530105543016 +0.35761779736408317 -0.9896590657086064 1.0316278234992011 +0.77642028804890995 -1.2235786717554187 0.31618571950378038 +-0.25203697550947002 -1.1869911092644827 0.39666611878839642 +0.38201618757343858 -0.96780304677747164 0.99999857747614751 +0.68868615320975035 -1.2071069206927652 0.26236843641329577 +0.10876518381144512 0.19050601655660732 -1.2025969365466089 +-0.12256890179988164 -0.90768767736530731 0.68571143969392656 +0.77641759488966877 -1.2235813234793689 0.31618945746388027 +-0.38201803878561869 0.96780110931657592 -1.0000012564734191 +-0.86359870014903484 -0.19497212645380907 -0.58285112551782992 +0.84454588371296024 -0.553470025397929 0.40039145687588773 +-0.15419412457514531 -1.2819345962215762 0.1432354573562698 +-0.22121397960947786 -0.88846864794750169 0.62954883165555175 +0.81603684367006002 -0.57900833072921043 0.43735004260659838 +-0.23904091138635186 -0.82337604171394108 1.0052648823585626 +0.026999767794692799 0.12843374030954274 1.1777921346340876 +0.301777710327506 -1.080372797868705 0.36366100833049508 +0.27193825111388314 -1.1288480996984256 0.0067119544809048446 +0.87327087939236048 -0.52773825619055259 0.36315311988566457 +0.31573736407416175 -1.0576947608379879 0.53065198212775666 +0.04762805765881549 0.56667100761787159 1.046580749728574 +-0.19629856571102738 0.22641825270659377 -1.3929155462503982 +1.1376298591458047 -0.81785155753517413 -0.27063672278686723 +0.87381491399184319 -0.52725092454002298 0.36244761120760216 +-0.17187378039448958 -0.86352964405586374 0.87400730269240934 +1.1376290105009135 -0.81785186240774577 -0.27063645089958555 +0.68868467016554069 -1.2071064349129625 0.26236882467404588 +0.91432046318375915 -0.4909661643014277 0.30993735835742142 +0.19981735340717005 0.53441869308078416 1.1462138505438086 +0.29988010419388966 -1.1340949410110452 0.023852807591849476 +1.1862944280319456 -0.78150899738223556 -0.254031620730504 +-0.19629746680581567 0.22641749644730347 -1.3929153039647351 +0.8160443469809997 -0.57900167147117054 0.43733918408834138 +0.011943520657702929 0.57423335887136084 1.023219309917093 +-0.20128256323250437 -0.89235188760013773 0.64089658818315343 +0.29987734704622826 -1.134094423261288 0.023851116192271746 +0.8160379222305929 -0.57900737349673559 0.43734848175308561 +0.14743387437518413 0.69450868541618105 1.0632066119522237 +0.81603536450835734 -0.57900969166150706 0.43735130692576574 +-1.4458437225557028 -0.55307933788714414 0.53845433996820247 +-0.060663142687715332 -0.23223016798300777 -1.6213208251792253 +-0.086133905680049638 -0.91478598892332474 0.70645557527171765 +0.079009218903131201 -0.64382774718072477 1.0148259921614278 +0.09637695372198618 -0.95034408572998563 0.8103667048444636 +0.27385809775162151 -1.125729367549444 0.029675411215943047 +0.81603520292265275 -0.57900985495225843 0.43735117903469378 +-0.24384997553046717 0.23201546866018857 -1.4225816021757267 +1.1864910766300651 -0.24715649679312651 -0.042897393996444017 +0.15779294802062011 0.66285015392599433 1.0796216747461527 +1.1864907627888446 -0.24715680784408012 -0.04289753137583939 +-0.2438488678137633 0.23201434026885848 -1.4225816167969016 +0.74896222338364637 -0.54997154822225269 0.54954577097600654 +-0.24384905945373048 0.23201536081788426 -1.422581030668431 +0.93921352382078482 -0.46866702337664612 0.27766679143990891 +0.072808481894367033 -0.83057980754674676 1.518167839783517 +-0.830578032395068 0.15176917993892564 -0.5358229634167766 +0.93498909468711533 -0.63050945607364195 0.23837382499169918 +-0.19890305009716075 -0.91637188717620965 0.4947391557988583 +-1.1340925654260698 -0.61004514430348578 0.73957158012650881 +0.9102716773588837 -0.4945930526461445 0.3151861435339165 +0.21860313088893069 -0.32036001000286285 1.4366902272649242 +-0.24384815162689039 0.23201308191777764 -1.4225820001667677 +-1.1340919887472185 -0.61004533319797072 0.73957142915211604 +0.95042064272737625 -0.63719044082928011 0.21256091047206371 +-0.22143690136222882 -0.90899079243283287 0.50063851465708065 +-0.24384837707380652 0.23201428249837186 -1.422581310641656 +0.90615159364610354 -0.49828381270428157 0.32052729796509893 +0.88311930450467746 -0.60805297681495762 0.32513798298355068 +-0.07483047417659916 -0.53949335153141198 1.3365696195216055 +0.8956514944566385 -0.50768976951500178 0.33413939150857985 +-0.89344171965788033 0.50966927780131921 -0.33700411655816143 +0.50876634083204753 -1.2012511675172268 -0.022907770400918147 +0.55008229494023464 -0.84776908917341753 0.22685605738286935 +1.1568553048199113 -0.27652878593735997 -0.05587001882532408 +0.74355373748062492 -0.54763002002898808 0.55859267590076778 +1.1318983661102142 -0.29867830047609312 -0.019753246271335713 +0.25842242451285569 -1.1207653115083218 0.033129289347321678 +1.1864904201836306 -0.24715714740329481 -0.042897681346251229 +0.2719397798984976 -1.1288465547821267 0.006713164475959368 +1.4292620565476262 -0.029683056415784739 -0.35762139626184108 +0.07280831090715556 -0.83058040592989046 1.5181679353400401 +0.2584217830381943 -1.1207653408484117 0.03312983817504693 +1.4292619762791765 -0.02968312832001703 -0.35762129220361971 +-0.064817023607928043 -0.80543280650002869 1.4293800208006471 +0.84588315084628607 -0.59193171711779469 0.38742445958107641 +1.4292626746597219 -0.029682442800686527 -0.35762110752653276 +-0.52144798968691108 1.2780075328441476 0.4808781556217735 +0.81604071340340512 -0.57901200740927239 0.43734235966815427 +1.4292625252299587 -0.029682576659429097 -0.35762091380943817 +0.056408979630846748 -1.0000008353918917 0.427898504972272 +-0.27156733781233211 -0.95037787667860707 0.15176650670336578 +0.37190467732300003 -0.91395576175407012 1.0309245065683923 +-0.17742892133729521 -0.9234058636165241 0.48911723213246294 +0.38201703639118167 -0.96780215841297057 0.99999980584988135 +-0.69705126879791846 -0.68990546174118084 1.0215133879260243 +-0.75776898183803199 -0.67881070476990568 0.9823424683801989 +0.25842065875569908 -1.12076562234309 0.033130407320893743 +0.61059765936252375 1.0514552759957985 1.2176234428202521 +-0.67958015105226233 -0.70060093708637683 0.98579992541630479 +0.27193850694178212 -1.128847841171039 0.0067121569623333297 +0.59372306131704167 0.99240068068650733 1.2270540453542549 +0.25842336303394153 -1.1207652132527088 0.033128580828060708 +0.59372301751824064 0.99240065145140011 1.2270540292742749 +0.8160411755776511 -0.57900448612105215 0.43734377362773791 +0.2719400489236411 -1.1288462829182389 0.0067133774026791153 +0.22703567060052199 -0.29085146652128957 1.4319782719060719 +1.3752380011973404 -0.082712117768032112 -0.37190550164380387 +-0.68130962262199457 -0.69804586734590246 -1.007910814260867 +0.21860378381637008 -0.32035952240304777 1.4366904500461293 +1.1864920545378297 -0.2471556833537909 -0.042899800086449585 +-0.52144840506004941 1.2780084034869161 0.48087762780605614 +-0.24384978389020134 0.23201444811045746 -1.4225821883044847 +0.35596618784430589 -1.2366441483076267 0.21534204761533088 +0.52144775406280641 -1.2780085735304172 -0.48087731028438774 +-0.74407369581001781 -0.34071605813989037 -0.80940791128044642 +-0.52144814977300014 1.2780084701690781 0.48087750329067513 +0.38638896813127421 -1.1972681866374741 -0.21694620547729171 +-0.7463297318218598 -0.3434718258318088 -0.80669140050367494 +-0.24384864236716525 0.23201313968784515 -1.4225823063225342 +-1.44584340816004 -0.55307947408877833 0.5384540496360557 +0.2438485687140497 -0.23201530304707113 1.4225807245136117 +0.52144781229179493 -1.2780085583207352 -0.48087733868537685 +0.41421435587833288 0.99999948412048334 0.41421409581231594 +0.095735408156581353 -1.0235108135799695 0.35104704847111901 +-1.1340913494053178 -0.61004554261809907 0.73957126177255095 +-0.19074220216601928 -0.3950447302133131 0.99999955148594344 +0.41421358013915532 0.99999968393565486 0.41421417396551297 +0.89172509691563739 -0.51120702445002442 0.33922948538794251 +-1.1340909896229934 -0.61004566046687536 0.73957116758161967 +0.25841924408166073 -1.1207658549740449 0.033131331007594397 +-0.29702338680459972 -0.29702502875461922 0.99415798196716731 +-0.79092310376181896 -0.77747216784121354 0.30519052664805124 +0.41421394919194909 0.99999990886516543 0.41421389808041542 +-0.030328565370829605 -1.1161161336903334 0.31065914140260231 +-0.18189509535511311 -0.18189695034206327 1.1569738693530058 +0.89099890271347459 -0.51185754752256996 0.3401708977915493 +0.24384864236716525 -0.23201313968784515 1.4225823063225342 +0.029941452271190383 -0.58655721083059476 -0.98991343794630082 +-0.91762627668182328 -0.68094989173992104 0.68290078798000353 +0.22703535071678865 -0.29085079602906583 1.4319778654289874 +0.027000094503847223 0.12843447568603927 1.1777914903713373 +-0.17962441790455602 1.1796243299159377 -0.70710562626564766 +-0.37638504556239005 -0.85823733162790572 0.54120322804985399 +-0.65868077172286088 -0.77144811954121262 0.57954579907449566 +-0.098644732954329239 -0.94921168420374102 0.46849193179578819 +-0.35125063358038977 1.0000019802318061 -0.95547594733465369 +-0.1217824946584419 0.44028898428939545 0.98873396770912358 +0.91834768356222374 -0.48735859002803061 0.3047166063714698 +-0.61572461737919304 -0.81160797975703147 0.40493674158642134 +-0.095133284319406874 -0.95036186186418181 0.46757265237946632 +0.027000359817805991 0.128435072870559 1.1777909671784657 +0.084991023493318635 0.91500897878925258 -0.70710603633379976 +1.1864915920356061 -0.24715598596990002 -0.042897168385221174 +-0.61572514103453502 -0.81160743926195167 0.40493675349487057 +-0.089530643464446169 -0.95219702105626491 0.46610589984111062 +0.10876448784335485 0.1905042800648345 -1.2025986565569 +0.19629856571102738 -0.22641825270659377 1.3929155462503982 +0.11715893226128113 0.33136937770015007 1.0000003878770243 +0.26092094583344649 0.17259287104226823 -1.1076731970665814 +-0.37638497612533472 -0.85823715837732562 0.54120339965606901 +1.122681658738188 -0.26912767593482145 0.68005423316057301 +-0.12178239123136494 0.44028893714296014 0.98873397258585394 +-0.10876518381144518 -0.19050601655660732 1.2025969365466089 +0.10876477107427179 0.19050498674688493 -1.2025979565821472 +-0.37638488245923596 -0.85823692467349333 0.5412036311417594 +-0.1541948161485816 -1.2819355220289164 0.14323452258656272 +-0.13615436144757787 0.47041301614335185 0.97047168617145219 +-0.15419532558520516 -1.2819350276800452 0.14323584213365287 +-0.096376953603691917 0.95034408570693896 -0.81036670477711348 +0.81603513543712403 -0.57900992314989241 0.43735112562157374 +-0.23289749199269 1.1922720037889993 0.46031962906666968 +-0.084231766209116571 0.94797788392644056 -0.80345192874097826 +0.072811174771464038 -0.83058180900424317 1.5181642737176908 +-0.10876401979355851 -0.19050311224603361 1.2025998132916378 +-0.232898066209276 1.1922714792437628 0.46032018854855294 +-0.31433888789168207 -1.4963199233953355 -0.07322524751937895 +-0.11645176866261739 0.9542552075962325 -0.82179614363664943 +-0.5214470863123235 1.2780062410994613 0.48087885463522273 +-1.1340909201563658 -0.61004563204270257 0.7395711989520104 +0.048568514361425466 0.52616692725390846 -1.0078138930730791 +0.30396737615790581 -0.021622867421381774 1.3889848221023833 +-0.18189259826684828 -0.18189445325841919 1.1569774007668454 +-0.7450656708024288 0.72440781296830248 0.9593453002162271 +-0.75776926876687511 -0.67881043652057294 0.9823436347549086 +-0.19808318156982802 -1.2393469783036966 0.25691454126205049 +0.085785560411940132 0.91421444214168024 -0.7071060375650744 +-0.68537093011768402 -0.70180648465885542 -1.0026805791602111 +0.30396681886882582 -0.021623095451730079 1.3889845704363033 +-0.7577691567682332 -0.67881054122793061 0.98234317947693084 +-0.36366157190981541 0.55054769612524868 0.97732903324770137 +0.34023309483484854 0.1052918885170756 1.3687176468950319 +-0.079009218903131312 0.643827747180725 -1.0148259921614278 +-0.36939579032317005 0.52240711400518758 1.000000682667749 +1.3752389853145677 -0.082711244354866764 -0.37190692582240525 +-0.35355302118202736 -1.353553550268241 0.20710569216330793 +-0.75776944843298755 -0.678810269338048 0.98234439781438154 +-0.054094744741793335 -0.054099234426674442 1.3377090474521638 +0.19074220216601923 0.39504473021331321 -0.99999955148594344 +-0.053548413042569798 0.56035572727904204 0.98941940644469151 +0.31065855855731472 -0.8106591084117134 -0.7677685229372857 +1.3752388409403995 -0.082711372488279977 -0.37190671688936827 +-0.20791474062585458 0.62082624020132893 0.87928566331065117 +-0.054094948148924224 -0.054099094443233825 1.3377090026051368 +-0.40537784381997199 1.0347116875122668 0.62837404340133185 +0.26092003666217811 0.17259390405153502 -1.1076731094981289 +-0.039469712043401356 0.58512897241823159 0.98956083366383374 +1.4292618268494941 -0.029683262178670601 -0.35762109848632428 +-0.40537724839576561 1.0347122314306048 0.62837346325602716 +-1.5883437661514845 -0.5270405359134791 0.44652449399719618 +-0.054096165322451567 -0.054098256792471794 1.3377087342437788 +0.095736697725363584 -1.0235098662757829 0.35104746161837008 +0.45696640267957478 0.1495147547603905 -0.98536697865408196 +-0.013099667396648411 1.1851178230058061 0.80882400411378685 +-1.4458435098981659 -0.55307943001406401 0.53845414358725185 +1.1864922270728964 -0.24715535657853399 -0.042896890406953228 +-0.30701468473713922 0.82854135897841408 0.75336156738960103 +0.0026581518639165833 -0.59064684089833874 -0.99092308806011253 +-0.054093140667662631 -0.054095232143279784 1.337713011748876 +0.30701485515844118 -0.82854052263868927 -0.75336224119233042 +0.095736482656164551 -1.0235100242634418 0.35104739271529983 +-0.013100864431458279 1.1851180417355796 0.80882323188310723 +0.45696693601370153 0.1495142628835634 -0.98536694934025393 +0.029676901784345247 -0.60236065374760295 -0.98965920708071398 +-0.013099860589909584 1.1851184134268373 0.8088236979783523 +-1.5883429343936277 -0.52704074562125558 0.44652466912200395 +0.056409286416046103 -1.0000004246994405 0.42789891964047044 +0.43803159536354908 -0.66959204143999451 -0.72863795523766273 +0.095736352295067689 -1.0235101200253851 0.35104735095069639 +-1.5883420863314837 -0.52704147417902036 0.44652162433914067 +0.31543467129971436 -0.61323535721767231 1.2036359892028048 +0.7069477569561371 0.12008622153861531 -0.82941278860289724 +0.44783589762440068 0.48185801816740947 1.3085830664504421 +0.81603822313264862 -0.57900710644337083 0.43734804629859192 +-0.56813000412031323 -0.12579769277621838 -1.0212643003120978 +0.59282822158037507 -0.48179554217324982 -0.69942440431477615 +-1.5883456238235283 -0.52704014785526554 0.446523599965439 +0.31543509055868812 -0.61323570526994953 1.2036360395528702 +-0.14127246329887111 0.4811407105499601 0.96396817687521441 +0.44783632754057423 0.4818579270585599 1.3085833479017839 +0.0903487869545819 0.80076780608184817 -1.4129069439470197 +0.81603557775124336 -0.57900947616848897 0.43735147570221422 +-1.4458437648670617 -0.55307929592333904 0.53845452703789576 +-0.56813022662341672 -0.12579759134989477 -1.0212643108034283 +0.37190436949645789 -0.91395547785559961 1.0309244896492156 +-0.14109954841852052 0.48077827235584103 0.96418790025935008 +0.86611458707291455 -0.15024557352714601 -0.64785351754312082 +-1.4458438238526066 -0.55307929400357492 0.53845443351194722 +0.09034859760190303 0.80076764975713122 -1.412908261690216 +0.34023283699325368 0.10529267651091836 1.368717238317382 +1.1864923432853791 -0.24715536212690881 -0.042899036055435255 +0.095735924790086857 -1.0235104340662207 0.35104721398824035 +-0.57174680768478714 -0.14496131499468362 -1.0210862611832709 +0.37190694522957179 -0.91395785337099977 1.0309246312201257 +-0.14185106433755407 0.48235347561534625 0.9632329556265522 +0.59282795321591841 -0.48179570666238891 -0.69942463558876566 +0.14217792242462141 0.79129692772798821 -1.379472226199749 +0.55169660484040017 0.84532519659287408 1.2505408076209559 +0.37190589508955918 -0.91395688486080795 1.0309245735009172 +-0.52144781229179493 1.2780085583207352 0.48087733868537685 +0.046412422999039901 0.39736857509188817 -1.0057419068148783 +1.1864922052378737 -0.24715551570247984 -0.042899401331524714 +1.1812170316871007 0.23203502125581543 -0.58839113025697953 +0.20128256327679045 0.89235188759150974 -0.64089658815793937 +0.31543708909854107 -0.61323692259118978 1.203636591955128 +-0.69705094984148475 -0.6899056570000488 1.0215127359334728 +0.81603559948489934 -0.57900945420550043 0.43735149290386299 +0.5516960943721394 0.84532491440085855 1.2505406010713971 +-0.52144765516762481 1.2780074334501483 0.4808781317880817 +1.1812170406825815 0.23203501136398352 -0.58839110523042293 +0.19890305021149862 0.91637188713875783 -0.49473915582879169 +-0.12732250416065133 0.61655353112117139 -1.0162783689451249 +1.1812192106372215 0.23203764393823822 -0.5883906957389391 +-0.34052702148500991 0.54000198974284119 0.9784198594340241 +0.26414011558565909 -0.34007460950733504 1.360519413751025 +0.16336305055168682 0.89973974968007031 -0.66248569100498456 +0.61764353320138499 -0.7567284840230919 0.69454212133983373 +-0.20512938784292822 0.94716223226656493 -1.0248902609741419 +1.181219982219786 0.23203889548660989 -0.58839090387412529 +-0.45814573974250283 -0.76231310837290334 0.99558386948663857 +0.26414045514541029 -0.34007405237537203 1.360520047808194 +-0.37638479407654513 -0.85823670415215392 0.54120384957007506 +-0.20791544873946338 0.62082580862175485 0.87928619266036834 +-0.21650660044788206 0.9503329351910963 -1.0253929554186074 +-0.13416225297234657 -0.88607425497932368 0.80031159565482701 +0.5692489173445261 0.90675090491705457 1.2407316598694877 +0.27193847654816317 -1.1288478718853705 0.0067121329065387651 +1.1812169042863316 0.23203516135138297 -0.58839148470190783 +0.27158649934238266 0.95038336666341849 -0.15169784063470199 +0.89881990797886968 -0.50485150924729094 0.33003202399775267 +0.054399900618937111 0.87483395436058187 -1.0134231291124394 +-0.16336305043788568 -0.89973974970224191 0.66248569106977628 +1.1812198324939729 0.2320386526232977 -0.58839086348543423 +0.2715690798284881 0.95037730701189482 -0.15176695687115405 +0.92820875560687899 -0.47852506554383634 0.29193304683843713 +-0.20602813756450195 1.2203716911180575 0.68436180895607568 +0.054405194504273974 0.87483247900673833 -1.0134228952055833 +-0.64644458605017707 0.35355200413158272 1.2071082708444081 +-0.52144835018515967 1.278005276784294 0.48087994417054669 +0.62963515023891325 -0.74444156221338442 0.70710378298482746 +-0.022432419215647321 -0.9528674698804771 0.58197105293700857 +0.61572685663625282 0.81160566848981719 -0.40493679250937931 +0.81603567738144833 -0.57900937548698961 0.437351554557047 +-0.5214471319887819 1.2780057350661864 0.48087924550099714 +-0.15391405909320649 1.2108497329647268 0.71798141063649568 +-0.45460333746638948 -0.97791060684926467 0.40127268161439966 +0.61764377549042448 -0.75672823576745829 0.69454237514654937 +-0.52144667603067241 1.2780047793552987 0.48087982488814196 +-0.01310046675865573 1.1851185241904614 0.80882330692677407 +0.43266416341650205 0.99653443887584192 0.42553373860309585 +-0.16868206371672267 -0.86543775102815035 0.86776999025868573 +-0.81934908555877506 -0.99999986976798927 0.12773925025892724 +1.0469460943398641 0.069138409740679752 -0.61372933490008852 +1.1864930330823529 -0.24715459473916274 -0.042897210840701985 +0.74355415311170403 -0.5476297147106004 0.55859280905910746 +0.61594643586970266 1.0701740186518283 1.2146341774486689 +0.054401581693324874 0.87483355520414063 -1.0134230559966557 +0.69696575472569844 1.0249207234027784 1.0762278268583119 +1.0456932272357973 0.067618436922062736 -0.61396575977168721 +1.4292647161387255 -0.029680348127080203 -0.35761891585221628 +-0.10876448784335488 -0.1905042800648345 1.2025986565569 +0.6159464740757008 1.0701741523567119 1.2146341560971754 +0.6409465049422618 1.0562103314931131 1.1719261426482559 +1.051188781587884 0.074285609140682246 -0.61292869867285504 +1.1864928493230598 -0.24715479916834276 -0.042897697070972379 +0.6159464694995378 1.0701740125067989 1.2146341991439278 +0.94263638919511661 -0.6338202716736272 0.22558196548024306 +0.012986991731915386 0.88637544607294338 -1.0152529333892542 +-0.18189458788968299 -0.18189644287757223 1.156974587017042 +1.1812170105697239 0.23203504447742451 -0.58839118900817122 +0.57135635799277651 0.91412754737372515 1.2395534259429368 +0.8160357559380913 -0.57900929610141949 0.43735161673267897 +0.69705217638259809 0.68990490613565503 -1.0215152431588654 +0.054399099055653377 0.87483431872330497 -1.0134231668901159 +0.38946210496404721 -1.0074449691003187 0.97723251534644495 +-0.054094988352199294 -0.05409918493516884 1.3377090818850474 +0.75776964650227763 0.67881008337531479 -0.98234517026746349 +-0.18189419607669993 -0.18189605106531415 1.1569751411239233 +0.57086098473930114 0.91239394985941336 1.2398302662129814 +0.38946243397420832 -1.0074450332003533 0.97723270266589357 +0.75776963562565802 0.67881008640655094 -0.98234517074804018 +-0.46966700785978144 0.030327770672891219 1.3964477181725279 +0.34236923933252228 0.73928868030415673 -1.2452844248475796 +0.77642081985357692 -1.2235793787552698 0.31618708218683511 +0.14217805435890346 0.79129708993599279 -1.3794709743583993 +0.35125063358038977 -1.0000019802318061 0.95547594733465369 +0.4009593200915571 1.1094584660823368 1.0759415544313922 +-0.35761741414505943 0.98965907303562028 -1.0316278432919446 +0.55740155826571502 0.37407652291761828 -0.99999882514152527 +-0.23482464902077083 0.95543799539677887 -1.0262023263964983 +1.0125885816170705 0.027456108280710899 -0.62021293073344586 +-0.52144966384948876 1.2780080302794854 0.48087827490181667 +0.44495309753332768 1.1014195985966508 1.1043228199021322 +0.34236960970599684 0.73928962360778816 -1.2452831603204531 +0.72658765213638299 -0.65913676232199991 0.5533078109268732 +-0.64346007229700386 -0.77075641314617793 0.61112239537781443 +-0.35761740341400217 0.98965912989725369 -1.0316278438202398 +0.45278755689696504 1.0999879620230115 1.1093770079879453 +0.69705126879792334 0.68990546174117995 -1.0215133879260212 +0.61764288324931216 -0.75672914998084151 0.69454144049103772 +1.1470512466057547 0.19058503614984379 -0.5948382241701089 +-0.10596569083446894 -0.90293061813486686 0.74521005326067979 +-0.30925574823126856 -0.69074477822229596 0.70710606732390913 +0.030829662056341266 0.8814030629899452 -1.0144645699350163 +-0.5214474208304718 1.278006340492742 0.48087887846911725 +0.55740168644548072 0.37407711375207509 -0.99999824592992459 +0.57135659718755871 0.91412769270631489 1.2395535184434805 +1.1812171298287693 0.23203491333485954 -0.58839085721454043 +0.75776898183803199 0.67881070476990568 -0.9823424683801989 +-0.17713260349298937 -0.89705695889895298 0.65464617877678211 +0.017987530824026848 0.88498202248286906 -1.0150319908182976 +0.34236995121200697 0.73929049338891883 -1.2452819943524682 +-0.31610453183697396 0.84759742651667325 0.74180861676810661 +0.75776580793107762 0.67881115315768126 -0.98234533987238981 +0.57135678847656823 0.91412780893178969 1.2395535924180772 +0.054403502422409294 0.87483315418569663 -1.0134229733793276 +0.99132046034294352 0.0016537357013612572 -0.6242263955088343 +0.7577691567682332 0.67881054122793061 -0.98234317947693084 +0.34236914770496707 0.73928844693807738 -1.2452847376818865 +0.57086122755317747 0.91239409706178054 1.2398303602207084 +-0.30701421796822459 0.82854364963915028 0.75335972190335876 +-0.30701439677252729 0.82854277215998917 0.75336042885035193 +-0.46389138647241435 0.42655087727215302 -1.0263961828793038 +-0.52145196411094341 1.278005745622576 0.48087641344501375 +0.38946023474172808 -1.0074463602765951 0.9772302091891476 +-0.52144880614601385 1.2780062324972503 0.48087936478266258 +0.54733301954324864 0.32766639278525445 -1.0454959782751114 +-0.50000037162183886 0.40616633381982559 -1.0274816783374234 +0.22143690140853722 0.90899079241766456 -0.50063851466920384 +1.1812171712239214 0.23203486781490429 -0.58839074204803232 +-1.0452060839847492 1.373708995462974 0.14299247419132277 +-0.52145036883992657 1.2780066968099693 0.4808794761227021 +-0.46783608589456005 0.40564845863778232 -1.0262019787590453 +-0.77966489356259738 -0.77966564241793113 0.31160025247528189 +-0.030829662013391282 -0.88140306300191473 1.0144645699369139 +-0.52144909498943548 1.2780068379251022 0.48087899775032328 +1.1812187063626958 0.23203682597786651 -0.58839055971037002 +-0.52145102556025491 1.2780064465230354 0.48087673368190464 +1.1136628490644056 0.7921744201084473 0.36438121380055044 +0.55740176478129233 0.37407747483478104 -0.99999789195041378 +-0.61572685663625304 -0.81160566848981697 0.40493679250937931 +0.34237016365929052 0.73929103447057765 -1.2452812690160942 +-0.61572683431809772 -0.81160569152568085 0.40493679200184196 +-0.40537541650540321 1.0347139048572984 0.62837167837294494 +0.79150304913586189 0.97211682289625645 0.91472870130119577 +-0.45814538750608069 -0.76231439078234575 0.99558390488437443 +-1.045208028938736 1.3737128301538863 0.1429900818675629 +1.1136617924573855 0.7921747340540457 0.3643812890802246 +0.55740188133669344 0.37407801208765235 -0.9999973652663452 +0.77642030214247004 -1.2235792815382514 0.31618676459375761 +-0.40537550343401529 1.034713825448256 0.62837176307092268 +0.34237046258325177 0.73929179579955395 -1.2452802484315115 +-0.13413889580663368 0.46618839809269208 0.97303281947380271 +0.62790152326928372 -1.1406249780020974 0.56990080639890017 +0.41421293992530017 0.99999929373947793 0.41421465255682799 +0.45814573974250283 0.76231310837290334 -0.99558386948663857 +-0.12178262751052732 0.440289044848994 0.98873396144496328 +0.38946118557812881 -1.0074447899791967 0.97723199190102039 +0.45814573469291819 0.76231312675724583 -0.99558386999409287 +0.41421297103888022 0.99999931270251663 0.41421462929789798 +0.34946560770072932 0.75736240996212545 -1.221056042093255 +-0.48619940681636575 0.27156578830267619 0.8305794118794203 +0.79092310376181918 0.77747216784121376 -0.30519052664805102 +0.41421411604274516 0.99999894428420433 0.41421456876244056 +-0.75776684584186693 -0.67881297946269559 0.98234532943273423 +0.61764337912777822 -0.75672864189090516 0.69454195994204149 +0.45814548797116994 0.76231402501273449 -0.99558389478821052 +-0.5214504310052146 1.2780068905309143 0.48087693654623553 +-0.23289701792652595 1.1922725842442463 0.46031905721094646 +-0.75776667091211158 -0.67881314300411755 0.98234461833213804 +0.45814538750608069 0.76231439078234553 -0.99558390488437443 +-0.71211598217846017 -0.71211685602837682 0.40712877817898485 +0.91484483437006858 0.7831171869443545 -0.04809750933369461 +-1.0452067170037505 1.3737102435296262 0.14299169556807145 +0.34946603406096999 0.75736349585836504 -1.2210545864164124 +-1.1340953196580359 -0.61004793132581403 0.73956872889187664 +-1.0452071133615464 1.3737110249926578 0.1429912080417961 +0.34946588120173538 0.75736310654141614 -1.2210551083075898 +-0.52144991287658993 1.2780057410951056 0.48088005551128199 +0.47467035005531677 0.82604269558916266 -0.56693499328262398 +1.0452066888449361 -1.3737101365716176 -0.14299107617157375 +0.34946572817317323 0.7573627167932071 -1.2210556307768843 +-0.86611630976286147 1.0206137889256297 0.36327569165169038 +0.44341357283998073 0.84517748113262781 -0.50304167146071199 +0.50876660348359515 -1.2012489554067223 -0.022909844001747053 +0.45814561652493391 0.76231355697890746 -0.99558388186929614 +0.37638479407654513 0.85823670415215414 -0.54120384957007484 +-0.52145087830713654 1.2780060279462599 0.48088012429757265 +1.1812184721889465 0.23203644613546481 -0.58839049654176168 +0.68868628328066084 -1.2071043796513674 0.26236578859994986 +0.051774095752051857 0.71765862748367071 -1.0108944307102101 +0.57123559001525503 0.35057973079266536 -0.98421898953683185 +0.91762627668182351 0.68094989173992104 -0.68290078798000353 +0.35032216991851006 1.0189829376848412 0.41876663573388351 +1.1812173666587342 0.23203465290606795 -0.58839019832385575 +-0.35761719026771743 0.98965965166685321 -1.0316278441362985 +0.66803152932523635 0.7627061106843529 -0.61755692081485369 +-0.3576173305872159 0.9896595157911976 -1.0316278474055376 +0.59282942435085384 0.31390463678771763 -0.9595870793251644 +0.048933644346058805 0.52015593975461338 -1.3454021487556185 +-0.18134778908567556 -0.83945473645219337 1.0078140183314317 +-0.023667655872879632 -1.4138325602444985 0.022744969955833479 +1.1340921879128922 0.61004521678163948 -0.73957153085047755 +0.57123554533806686 0.35057989345173302 -0.98421899402663238 +0.35351781104631086 1.0180334050096054 0.41853897506838322 +-0.20602834979858448 1.2203709723862661 0.68436191971706695 +-0.3576177043119364 0.98965915390213732 -1.0316278561127756 +-0.34946560770072932 -0.75736240996212523 1.221056042093255 +0.59282994771801567 0.31390447847957859 -0.95958609107352566 +1.2733278193984101 0.58460289385222253 -0.6497476769150885 +0.33183703015602739 1.0244753324298133 0.42008365732878139 +-0.14217805435890246 -0.79129708993599301 1.3794709743583997 +-0.23289748014492129 1.192270315915108 0.46032088470558641 +1.1340919192805075 0.61004530477374797 -0.73957146052255984 +-0.3576176563156086 0.98965920037844723 -1.0316278549945319 +1.0551525352605977 0.079094410341626342 -0.61218070229688171 +-0.012986991675447992 -0.88637544608868035 1.015252933391749 +-0.59282795321591841 0.48179570666238924 0.69942463558876544 +-0.2328983841858196 1.1922711887730846 0.46032049836564937 +-0.35761777755185298 0.98965905464260451 -1.0316278573445197 +1.1084905648010142 0.14380388857200049 -0.60211545863247151 +1.1520470102423954 0.24440164290005278 0.14972484896893212 +0.20512938783717066 -0.94716223226496021 1.0248902609738875 +-0.23289736404654493 1.1922708856659718 0.46032042568196752 +-0.35761777100772529 0.98965908931856794 -1.03162785766669 +-0.71774955638026383 0.7280924003845024 0.54576911396610162 +1.0551525124660541 0.079094399844921809 -0.61218072583734462 +1.4458435546318111 0.55307934632789135 -0.53845412340559751 +1.0452100857705724 -1.3737107572779337 -0.1429888847458412 +-0.23289729008350329 1.1922712486383764 0.46032013325080634 +-0.66587020673454145 0.71787724279837328 0.57947796067734703 +-0.35761780027730827 0.98965906097593681 -1.0316278583486285 +1.1520472350715649 0.24440113228513982 0.14972503647242519 +-0.19142356812981903 -0.85184251004749267 0.91221129354230768 +1.4458435344157428 0.55307935508584216 -0.53845410473684674 +1.0346196434947292 -1.3677954516383362 -0.12489680161028296 +-0.45814573469291819 -0.76231312675724583 0.99558386999409287 +-0.23289715651756798 1.192271904110997 0.46031960516487691 +0.96323375375039211 0.036766548136826088 -0.70710739732532568 +1.1136630138766361 0.79217397154425817 0.36437869976540649 +1.0452102168185973 -1.373710781223803 -0.14298880020409827 +1.4583295913371837 0.55079779113560789 -0.53039911675759033 +1.0551524528210896 0.079094372378893663 -0.6121807874341072 +0.59283075708665223 0.31390423366169162 -0.95958456277763693 +-0.23904095144169585 -0.82337606432631572 1.0052648811544329 +0.35125194998501152 -1.0000006024953669 0.95547785238067062 +1.045211163803573 -1.3737115752348967 -0.14299207788371587 +0.13213417434714547 -0.091933207713636722 1.3113866960158536 +-0.77966621680596671 -0.77966696565885196 0.31159838112775573 +-0.020460706846805198 1.1291522102397304 0.44518367874777687 +0.57123473681033188 0.35058283710984506 -0.98421907527902253 +-0.14834897125516272 -0.84865127120208661 1.0092720509629189 +0.35125187830386106 -1.0000006775161707 0.95547774864669099 +1.0452093994170473 -1.3737110079987924 -0.14299168292868952 +-0.61572613476708438 -0.81160641357289509 0.40493677609334822 +-0.43803216737260475 0.66959326807544017 0.72863569370758685 +1.5883417018305455 0.52704159652931493 -0.4465209936668505 +0.59283045123912803 0.31390432617447417 -0.95958514029632558 +0.35761762389546126 -0.98965925304635549 1.0316274671711323 +0.11082259991111434 -0.41731688706268755 -1.0026604450959833 +-0.61572547242762821 -0.81160709721190072 0.40493676103108278 +1.0452110866107143 -1.3737113162932557 -0.14299059448873358 +1.588342610377989 0.52704128763779945 -0.44652130223269726 +-0.37275243039362949 0.65575903223387644 0.77137209368654913 +1.0995270053283397 0.099528498169801832 -0.56635413978199822 +-0.10408541978081773 -0.55470655876916553 -1.0835412247668987 +-0.19822265023655067 1.3624364707764474 0.32322537652761174 +0.61764224510588983 -0.7567298038391419 0.69454077201223896 +-0.35762179465840738 0.98965519309473038 -1.0316279514118558 +0.44473393551358653 1.00000116721302 -0.89579142914623144 +0.11703574434218381 -0.44864142526378292 -0.98878165212299507 +0.38074345384530006 -0.99946244914658444 0.44638054052632348 +0.014088150205498633 1.4178926932662979 0.21967176970787589 +1.1136631467756533 0.79217397759822061 0.36437897548306397 +-0.37190734024268701 0.91395821767882879 -1.0309246529313683 +1.0004311997037152 0.012706745697216599 -0.62250702405490022 +0.41421209040336371 0.92226512695107177 -0.99999894872931172 +1.045211396627058 -1.3737116177778734 -0.1429919276851474 +-0.072814126818574604 0.83058110886419967 -1.5181657728502409 +-0.23289688478604731 1.1922725584705596 0.46031903744127212 +0.31573875472934554 -1.0576935150921449 0.53065017933485636 +0.45814523268240726 0.76231495445869513 -0.99558392044326394 +1.5080648485032953 0.5417097404671305 -0.49831384930511025 +0.86611480384371142 -0.15024563909632671 -0.64785310822435327 +-0.50000150211782324 0.40616569562286653 -1.0274817123219915 +0.31573853380379258 -1.0576937129967674 0.530650465734406 +-0.14874853673105204 0.49681093250175223 0.95446831109595776 +-0.21860676961284969 0.32035927486536675 -1.4366880849240364 +0.31434146394460249 1.4963194000484901 0.073224883409601454 +0.61764231832238981 -0.75672972881961709 0.69454084870922639 +1.5883436385064202 0.5270405147965822 -0.44652430211509742 +1.1136628382488269 0.79217647789037504 0.36437968191774572 +1.0551531028629153 0.079094671717944598 -0.61218011612057244 +-0.95266705772001981 0.41345469223249764 -1.0454916342325267 +-0.072813319204509286 0.83057951657974227 -1.5181647794858062 +1.1136628102612147 0.79217652906363734 0.3643796519412793 +0.11645176898630208 -0.95425520765929495 0.82179614382093691 +0.89786978323100008 -0.11171996002301385 -0.64186148047640335 +1.5883429116215586 0.5270406659274991 -0.44652465639570094 +-0.82322544561897604 0.22369663719138289 -1.0371983554559425 +-0.48597230268131875 0.27170420075886348 0.83066709747508893 +1.1136628553953392 0.79217623319623987 0.36437958603038378 +0.59282846363304542 -0.48179369546350381 -0.69942610009617123 +0.86611437216916265 -0.15024550852271201 -0.64785392333642955 +-0.67881033809143498 -0.71227499449811504 -1.0158153656611932 +0.41421477685812436 1.0000004316869653 0.41421326565009209 +1.5883403195060102 0.52704211375755428 -0.44652022824723692 +-0.48619988166070383 0.27156672451056618 0.83057882781347314 +1.1136626165894197 0.79217652024090612 0.36437925014176287 +-0.67566047778677918 -0.69558435453351719 -1.0159704379300778 +0.9491579278243627 -0.049497585432928995 -0.6321828489440855 +0.48619979726133566 -0.27156574719618487 -0.83057919676357406 +-0.23289888330793618 1.1922707328264348 0.46032098468002725 +1.4458431516554304 0.55307952090423762 -0.53845375127262218 +-0.67881044768579035 -0.71227488116958204 -1.0158153718900893 +-0.64345971215020126 -0.77075475307807517 0.61112402278916766 +1.1136625874199049 0.79217693651235965 0.36437941326443102 +-0.35956191704915763 0.021886478510609493 0.98634535587041294 +-0.52144634151396341 1.2780046799628519 0.48087980105404682 +-0.75776580793107762 -0.67881115315768126 0.98234533987238981 +-0.64345971480363318 -0.77075476530885934 0.61112401079898659 +1.5883441668916798 0.52704041824551795 -0.44652396124257876 +-0.75776668578449491 -0.67881090850620618 0.98234530108497209 +0.91484367160130375 0.78311982773635136 -0.048098479061979615 +0.41421301169882319 0.99999933748385206 0.41421459890259282 +-0.09466164767955107 0.48801181996918996 0.98900640453173172 +1.0551527607365565 0.079094514171498348 -0.61218046944253746 +0.009238422098566252 -0.81896508884243668 1.4771536505021339 +-0.46783564247417964 0.40564845149829809 -1.0262019611169659 +0.0092381150808120878 -0.81896523252171471 1.4771522013978848 +0.4012367198372897 1.003854895699877 0.41513914390639883 +1.5883453668385501 0.52704019898098453 -0.44652318713144601 +-0.67881033245110212 -0.71227500033062929 -1.0158153653406194 +-0.090348597601902503 -0.80076764975713144 1.4129082616902164 +-0.75776547469996336 -0.67881336158376016 0.98234539002855059 +-0.21860785501667962 0.3203584642959949 -1.4366884552684764 +-0.757766845820532 -0.67881297946659402 0.98234532944649766 +-0.21860841388993757 0.32035804693470216 -1.4366886459584278 +1.5883467823115227 0.52703994033368229 -0.44652227397986144 +-0.57322463842246818 -0.0068698529001360049 -1.0234574942672694 +1.5883447005578635 0.52704057113248437 -0.44652204891817526 +-0.2270399131539666 0.2908509800751774 -1.4319766664081737 +0.40462990891357176 -0.9441358004370155 1.0327231716017926 +-0.56813043852104483 -0.12579749475799529 -1.0212643207946956 +1.1340912799386627 0.61004551419390762 -0.73957129314296144 +0.75776945498126347 0.67881026242902842 -0.98234439172221411 +1.0551525380812108 0.079094411640496076 -0.61218069938396802 +-0.22724841396550172 -0.23898460298008556 1.1490931746980091 +-0.27190926402863214 -1.1330394441214087 -0.99268878294607177 +-0.26092308261832875 -0.17259128636160159 1.1076728066731669 +-0.2719101598498056 -1.1330393679025614 -0.99268881962251032 +0.85355391588384966 1.2677662512918508 0.08578691194060728 +-0.14217792242462063 -0.79129692772798843 1.3794722261997494 +0.41421525303777484 0.99999855581804664 0.41421417067357869 +-0.27190934911842646 -1.1330395938476037 -0.99268878380083891 +0.2272458472787327 0.238985625880827 -1.149092326344447 +-0.18189288584078733 -0.18189474083182611 1.1569769940761399 +-0.13254871684163549 0.46285543475486024 0.9750533663306562 +0.41421518352421471 0.99999862080616686 0.41421445324837192 +0.81934908555877506 0.99999986976798927 -0.12773925025892729 +-0.27190762341593389 -1.1330396325614251 -0.99268871495839806 +0.41421513722174996 0.99999864086519641 0.41421449600689264 +0.79092330929169785 0.77747377679501883 -0.30518924361270794 +-0.27190584927465644 -1.1330392934297482 -0.99268865053018773 +-0.52144679747119094 1.2780056356732272 0.48087922166702579 +0.79092321255508247 0.7774730195097701 -0.3051898474981245 +-0.27190701594699107 -1.1330394704980287 -0.99268869366756962 +0.91484440280239099 0.78311816708804582 -0.048097869253393669 +1.0398041350561371 0.72898265403889417 -0.16349255124831474 +0.41421414158191627 0.99999900176929746 0.41421451839979739 +0.022744805895634823 -1.0164630165097965 -0.98299751932827784 +0.41421408182845276 0.99999906167798458 0.41421449121099008 +-0.30396976929767827 0.021624203308617154 -1.3889836610690325 +1.1136625466301249 0.79217701109343186 0.36437936957604944 +-0.1018530790622838 -0.83380733850615574 -0.99098043543243963 +0.41421415812614748 0.99999903900804199 0.41421448577496356 +1.1136641551070765 0.79217403204898873 0.36438112074943041 +1.0332545762432321 0.83708678771344514 0.50174511464722316 +-0.27191038945414914 -1.1330391304749736 -0.99268883267228447 +0.41421305819797616 0.99999936582405669 0.41421456414219104 +-0.27190913216358581 -1.1330392120882746 -0.99268878162142493 +0.96508578004409529 -0.030174040097269261 -0.62917708973875164 +1.1136640462034988 0.79217406440709159 0.36438112850844173 +0.41421310321026239 0.9999993932580491 0.41421453049329537 +0.8661144524734814 -0.15024553281329206 -0.64785377170131442 +-0.27191074527549086 -1.1330387625298317 -0.99268885289571784 +-0.27191184876908026 -1.1330376214372158 -0.99268891561379125 +0.41421329296563325 0.99999933687722486 0.41421451697352218 +-0.090348786954581289 -0.80076780608184817 1.4129069439470201 +0.41421517364395555 0.99999863004320577 0.41421449341193373 +1.1136629268836891 0.79217521300161375 0.36437918625058807 +0.93305719279503729 -0.17049448103138926 -0.52144873754489218 +-0.37638515283168672 -0.85823759927272136 0.541202962945323 +-0.27190872321630388 -1.133038492494097 -0.99268877751335571 +-0.30397018996778735 0.021624031179917451 -1.388983851039189 +-0.089337957362463388 -0.86509721913507098 1.0118794166059737 +1.113663059782676 0.79217521905573896 0.36437946196827142 +0.41421489198400729 0.99999889336665704 0.4142156383684219 +-0.10185405266450293 -0.83380591124297609 -0.99098049781058384 +-0.22703964241969948 0.29085041260971123 -1.4319763223906872 +1.1136631404844 0.79217406737929963 0.36437901066523182 +0.41421301668347221 0.99999933600279678 0.41421459854744258 +0.41421491018581158 0.99999873922109628 0.41421470566572949 +-0.22703912323306141 0.29084932438216315 -1.431975662668945 +0.072810677525546208 -0.83058162348214837 1.5181639219855909 +1.1136636040206671 0.79217399842714897 0.36437992410200026 +-0.35761656992754542 0.98966025236118704 -1.0316278296832815 +0.8661142844410703 -0.15024548198657689 -0.64785408898953079 +1.1136635977294271 0.79217408820830415 0.36437995928423605 +0.41421495509671336 0.99999891532140306 0.41421588878371751 +0.86611430676583701 -0.15024548873940841 -0.64785404683465475 +0.072810653852819623 -0.830581413724091 1.5181651931547977 +-0.22703849768212336 0.29084801321251164 -1.4319748677918738 +1.4292623313299111 -0.029682750354521614 -0.35762066244215318 +0.41421417414252337 0.99999907505865848 0.41421445419104785 +0.072811200478614058 -0.83058171903952482 1.5181642593513391 +-0.21860546405705883 0.32036024984215239 -1.4366876394628041 +1.1136641692075626 0.79217402417316451 0.36438109666151519 +-0.3070148551584414 0.82854052263868927 0.7533622411923302 +0.59282829867337505 -0.48179422062838428 -0.69942576675743195 +1.1136635172763953 0.79217523633908749 0.36438040919833836 +0.90738920715564286 0.90738840595971948 0.71675852491408598 +1.1136641157886089 0.79217411180759223 0.3643810340707424 +0.90738915382869934 0.90738841597369602 0.71675849220014354 +0.41421245507710192 0.99999938300617175 0.41421472797578374 +0.9073899339285032 0.90738798024777201 0.71675715954437114 +-0.37190436949645789 0.91395547785559961 -1.0309244896492156 +1.1226810111547998 -0.26912822567422567 0.68005562511249207 +0.41421287948784147 0.99999925690418445 0.41421469773679809 +0.57123513183904007 0.35058139890381812 -0.98421903558090795 +0.59282808399773645 -0.48179511396255659 -0.69942509759955107 +-0.01310159577960017 1.1851171544672545 0.80882309387254736 +-0.34023534556586821 -0.10528907785874433 -1.3687173236726653 +-0.46389047669523442 0.42655139086710403 -1.0263961555299059 +1.1136609816083913 0.79217497497850298 0.36438134685047108 +1.1226859813159975 -0.26912330774531468 0.68005765437355681 +0.43803199929906667 -0.66959290765289636 -0.72863635821343187 +-0.44783805545251087 -0.48185847179665964 -1.3085829240699312 +1.0942187874033658 0.79795175970743748 0.36576653738598253 +0.072814344290859312 -0.83058229349728996 1.5181662874770656 +-0.090348457528964032 -0.80076753411650459 1.4129092364858349 +-0.46389087922108985 0.42655116362987322 -1.0263961676304949 +0.64345999563558687 0.77075605978146045 -0.61112274179116466 +-0.34023515405899118 -0.10528966312147808 -1.368717020213801 +1.1047738821920916 0.79176904403135717 0.34593694887258897 +-0.14217767137605242 -0.791296619073659 1.3794746082415816 +0.95266705772001981 -0.41345469223249764 1.0454916342325267 +0.054405196853292467 0.87483261932997158 -1.0134228974629709 +0.69454149007507437 -0.098347866023093727 -0.97182745530185932 +-1.5883438085324557 -0.52704479252081304 0.4465248778673957 +-0.072814482444255396 0.83058181001251841 -1.5181662102694471 +0.95266773983824038 -0.4134540317165929 1.0454916501248821 +0.64345985775890213 0.77075542424982513 -0.61112336482066376 +0.054405197896854732 0.87483268166921313 -1.013422898465826 +0.14217782554664493 0.79129680862033092 -1.3794731454138836 +-1.588344051927455 -0.5270446565732807 0.44652529366227645 +0.70710406090324041 -0.081179122674621129 -0.97161857601116508 +-0.20602867880031983 1.2203698582202294 0.68436209141690862 +0.69705147703319947 0.68990533426363077 -1.0215138135887001 +0.30701421796822437 -0.82854364963915028 -0.75335972190335898 +-0.20602847824810827 1.2203705373913056 0.68436198675246684 +-1.2688449412242577 -0.62976111357967346 0.37500558109935211 +-0.40462990891357176 0.9441358004370155 -1.0327231716017926 +0.30701439677252707 -0.82854277215998917 -0.75336042885035215 +0.62653695754901806 1.0642588397369188 1.1965423923078551 +-0.20677422915534477 -0.9137935878247847 0.49679987637287182 +-0.072812366535799561 0.83057763830688325 -1.5181636077043144 +0.013100855660982316 -1.1851171303804162 -0.80882426738393565 +-1.268849888936979 -0.62975897016128624 0.37501015013485517 +-0.21463372114186413 1.2219429392430672 0.67881057629404862 +0.34946626731316843 0.75736408992802984 -1.2210537900480096 +0.48619907242454219 -0.27156463860165614 -0.83057998352648177 +-0.37190789393687684 0.91395872833308389 -1.0309246833642538 +-0.01310007738586251 1.1851189965758087 0.80882338040417023 +-0.64346019260052811 -0.77075696767572555 0.61112185175693523 +0.66670585750967493 -0.70645795414443624 0.74593671771069237 +0.14163688681062186 -0.40535222776943391 -0.98853452858049717 +-0.013100049751363124 1.1851189915261964 0.80882339823174898 +0.054398003944092291 0.87483482759305109 -1.0134232186881325 +0.48619915283700665 -0.27156490541729383 -0.83057984921788175 +-0.013100086876435844 1.1851189850618868 0.80882337861323195 +-0.6680287819346058 -0.76270888690875105 0.61755438470001534 +0.054405200247058583 0.87483282206325619 -1.0134229007243527 +-0.6586792692031338 -0.77144972463838957 0.57954802002483174 +0.054404064724173307 0.87483304540761142 -1.0134229493371496 +-0.21860481113190477 0.32036073744051652 -1.4366874166819423 +1.4292616329494776 -0.029683435873713325 -0.35762084711868392 +0.37833178891945063 1.0106605832863278 0.41677101798021254 +0.55740140691407114 0.37407582527422845 -0.99999950906092061 +-0.91763550630972368 -0.68094974314107648 0.68290042076017432 +0.61594639803872608 1.0701741662508462 1.2146341070441711 +-0.07281201456807096 0.83057694437054908 -1.5181631747843856 +0.59372298985022054 0.992400632983371 1.227054019116435 +0.55740142356739408 0.3740759020363984 -0.99999943380881096 +-0.27156768524075536 -0.95037774572406053 0.15176670506946466 +-0.43320209685729227 -1.00000006975728 0.40078599587611707 +0.61594636689774229 1.0701741836446739 1.2146341602426651 +-0.1217824318820955 0.44028895567328219 0.98873397066911539 +0.074827135369965686 0.53949295531933772 -1.3365671786148123 +-0.73483499183999634 -1.1919418526342378 0.19822248789270375 +-0.013101151596165671 1.1851176933486292 0.80882317769309875 +0.61594604282728893 1.0701742428616834 1.2146339511785209 +-0.12414126341886522 0.44523312270494675 0.98573664304939546 +0.38201842122353702 -0.96780070906072213 1.0000018099216681 +-0.4469214571119422 -0.9861367253010096 0.41345033007270116 +-0.32994613683863383 0.80072276133982712 0.74903229108625458 +0.48619927131598251 -0.2715645613755201 -0.83057989235046681 +0.46966730398369949 -0.030327558998333913 -1.3964474968065663 +0.86628829569271959 -0.56451245184393795 -0.18306146911734261 +0.67962120953886784 -0.093834755467327502 -1.000000765234248 +0.5802651981219944 0.31770506489606154 -0.98331156582126944 +1.0454926138889569 0.38128244651686138 -0.965992151142123 +0.48619957934827052 -0.27156516868914382 -0.83057951347108272 +0.59282938261149476 0.31390464941304219 -0.95958715813979589 +0.48619938848467492 -0.27156479238423559 -0.83057974823310077 +0.37517856784974124 -0.53480789651395688 -0.9771375388493202 +-0.30701421416444175 0.82854366830615178 0.75335970686416354 +-0.77966486304195226 -0.77966561189734263 0.31160029563796465 +0.48619923010306287 -0.27156534473241822 -0.83057966035113728 +0.48619978701582045 -0.27156557812457371 -0.83057925804021893 +1.4292633474159193 -0.029681691643757745 -0.35761927779122771 +0.48619940681636575 -0.27156578830267619 -0.8305794118794203 +0.57123449591736564 0.35058371414411871 -0.98421909948738118 +-0.34023497120101376 -0.1052902219523745 -1.3687167304598509 +0.59283122076022066 0.31390409340967529 -0.9595836872428356 +-0.34023469748910085 -0.10529105844130304 -1.3687162967401463 +-0.30396907352122948 0.021624488004612502 -1.3889833468637725 +0.61594644293465084 1.07017416975054 1.2146342092955513 +0.40462917650259622 -0.94413650965293106 1.03272315453769 +-0.390162822440554 0.42049324701188251 1.0821082756683356 +0.61594613443896962 1.0701742747302458 1.2146343146705574 +-0.14217782554664421 -0.79129680862033114 1.379473145413884 +-0.15259196502590733 0.50486647028427356 0.94958481431643627 +0.6159461093430536 1.0701742660002371 1.2146342150962943 +0.71775143840862077 -0.72809068265883625 -0.54577097502698702 +0.35762262748999862 -0.98965438663846594 1.0316279708156118 +-0.16372970847050994 0.52821176744085552 0.93543203066609881 +-0.35762120740513859 0.98965576175000525 -1.0316279377297151 +1.1464469893898013 0.14644635347424367 0.085785091354490001 +-1.5883423297708634 -0.5270414443711906 0.44652082286838213 +0.16756839904119697 0.63297524092138824 1.0951119249204471 +0.61594627298929083 1.0701742360973334 1.214634320667531 +0.71709822667257739 -0.72873186501982112 -0.54594370823693184 +-0.64644570986551475 -0.78451847255739016 0.59763106228567131 +1.1392377899621238 0.25808333675365225 0.13078981378689408 +-1.5883442321330237 -0.52704083277147551 0.44652124870382182 +0.61594631359483887 1.0701742419932683 1.2146344302472514 +0.35761719026771743 -0.98965965166685321 1.0316278441362985 +0.2079154487394631 -0.62082580862175485 -0.87928619266036856 +1.1812169307534339 0.23203513224697697 -0.58839141106710779 +-0.16921760960797622 0.5397146974066358 0.92845852854878808 +-0.46388813197498491 0.42655271452800481 -1.0263960850437606 +-0.66802787304799605 -0.76270980533409372 0.6175535457072665 +-1.5883441668916798 -0.52704041824551795 0.44652396124257876 +0.90073539164332961 0.51286836175619888 -0.22175263351608443 +0.039470259958526099 -0.58512889028849902 -0.98956081338760016 +-0.67502715684080949 -0.69222847411630384 -1.0160016173746924 +-0.64644458604923938 0.35355200412986787 1.2071082708454126 +0.029676883872163141 -0.60236172376698072 -0.98965918986725265 +-0.67502715544597347 -0.69222847390722486 -1.016001617323075 +-0.91763837299178763 -0.68094969698692531 0.68290030670330126 +-1.5883436385064202 -0.5270405147965822 0.44652430211509742 +0.38201803878561869 -0.96780110931657592 1.0000012564734191 +-0.098325266832981678 -0.90749796462010468 0.73027956625005119 +1.1520471629062521 0.24439946426917375 0.14972399523736085 +-0.66179766880184765 -0.62212724010178255 -1.016652927097216 +0.36939579032316983 -0.52240711400518758 -1.000000682667749 +-0.91763368963606817 -0.68094977238988363 0.68290049304029177 +0.02274531865767946 -1.0164637681991122 -0.98299748647590346 +-0.91763013190852427 -0.6809498296700045 0.68290063459183825 +1.1591811547587176 0.14259452216184904 0.10983046659933357 +-0.38128375768656397 -0.42417277627925021 -1.0088834011620746 +0.75776443681494743 0.67881153527795002 -0.98234540045431928 +-0.66802936069797814 -0.76270830207127771 0.6175549189561782 +0.36366157190981518 -0.55054769612524868 -0.97732903324770137 +1.159181300857234 0.14259447796995872 0.10983074247086058 +-0.57174583404463708 -0.14496274231346828 -1.0210861988026965 +-0.27156845053191303 -0.95037748721098092 0.15176695450158145 +1.1591812399037948 0.1425953478229926 0.10983108333684061 +0.31433888789168207 1.4963199233953355 0.07322524751937895 +-1.5883429116215586 -0.5270406659274991 0.44652465639570094 +-0.671286422224876 -0.67240754816850545 -1.0161857680549291 +0.43364507881326786 -0.20710479229725587 -1.2540261206843004 +0.21463406356110321 -1.2219427806190133 -0.67881371498577803 +-1.5080648485032953 -0.5417097404671305 0.49831384930511025 +1.1591816326425453 0.14259437761151239 0.10983136896675424 +0.28062168195753201 -0.94665291360363102 1.1631633508768311 +0.013100265989841074 -1.1851153960277769 -0.80882712558402603 +1.045647742622998 -0.40384265528775531 -0.41557628751149622 +1.1591816273648363 0.14259445292875461 0.1098313984810656 +-1.4458431516554304 -0.55307952090423762 0.53845375127262218 +0.11568311884839133 -0.85452764052941488 1.4449259561799992 +-0.66803041348568071 -0.7627072382346054 0.61755589078394979 +0.25971279616673215 -0.28719921448029495 -1.4336500939258916 +0.57123413507822218 0.35058502787403278 -0.98421913574964104 +0.5214522669785806 -1.278006440551815 -0.48088022323949853 +0.11568375426335831 -0.85452748325456507 1.4449280780455083 +-0.91762638706130484 -0.68094988996278949 0.68290078358832762 +0.35125208472556113 -1.0000004614772009 0.95547804737159003 +-0.7909233521531156 -0.77747411232794472 0.30518897604716244 +1.1340902426974888 0.61004585394831912 -0.73957102159337862 +0.40537784381997188 -1.0347116875122673 -0.62837404340133185 +-0.12178244721084677 0.44028896266077522 0.98873396994634355 +0.27190926402863214 1.1330394441214087 0.99268878294607177 +0.38201598973512874 -0.96780325383314736 0.99999829117277406 +1.1340909201563658 0.61004563204270257 -0.7395711989520104 +-0.27156705302141071 -0.95037793650173841 0.1517666416728502 +0.27190913216358581 1.1330392120882746 0.99268878162142493 +1.0735096534079211 -0.37888401712234954 -0.45169541720968731 +0.089337957420158043 0.86509721911899207 -1.0118794166034246 +-0.43364507881326797 0.20710479229725592 1.2540261206843004 +1.0735094368299789 -0.37888421113239201 -0.45169513644621628 +0.15803122932767377 0.66212193859312984 1.0799992570234664 +0.14834897127655888 0.84865127119612382 -1.0092720509619735 +1.181219380982423 0.23203792024730674 -0.5883907416897316 +0.75776814534304249 0.67881050173766777 -0.98234523659526829 +-0.17104437485325963 -0.92549704772685271 0.48744586671927259 +0.61594653412005917 1.0701742138152404 1.2146341711510864 +0.75776926876687511 0.67881043652057294 -0.9823436347549086 +-0.50000138608230849 0.40616635015359104 -1.0274817186991045 +1.3752383639393724 -0.082711795831114737 -0.37190602659085858 +0.75776668578449491 0.67881090850620618 -0.98234530108497209 +-0.27156590040475614 -0.95037831953450636 0.15176630553685733 +0.61594641770843706 1.0701742350869687 1.2146340960515762 +-0.2715537189461239 -0.95037823735069837 0.15178861732303678 +0.52145350498200616 -1.2780066667672165 -0.48087942458303656 +1.3752386484279526 -0.082711543344861665 -0.37190643829236836 +-1.4458435344157428 -0.55307935508584216 0.53845410473684674 +0.60309855046470529 1.0252118370120256 1.2218142422585285 +1.0735089216040259 -0.37888467267066328 -0.45169446852673401 +0.59282826268216837 -0.48179450980126792 -0.6994254982572683 +-0.37190467732300003 0.91395576175407012 -1.0309245065683923 +-1.2733278193984101 -0.58460289385222253 0.6497476769150885 +0.27190872321630388 1.133038492494097 0.99268877751335571 +0.77641974291864013 -1.2235791765258761 0.31618642153444354 +0.57041858825188774 0.76742750338831511 -0.76265808254510103 +0.86612007243755396 -1.0206129158290138 -0.36327771420754418 +-1.1340912799386627 -0.61004551419390762 0.73957129314296144 +0.68868955888731187 -1.2071044862548619 0.26237098231061362 +0.61594593297096689 1.0701741105442668 1.2146338530189427 +-0.65681577047418016 -0.59572906110101287 -1.016898190667276 +0.22121397971141671 0.88846864792764135 -0.62954883159751374 +-0.22703487093169489 0.29085138209074812 -1.4319784431420075 +0.29987869525710786 -1.1340931697619228 0.023849371220430515 +0.19142356817932743 0.8518425100178959 -0.91221129363905651 +0.61594602076989502 1.0701742351886727 1.2146338636603469 +-0.12753883445451147 0.45235451244403146 0.981419406592972 +0.27385941914487377 -1.1257281813618687 0.029673743449473447 +0.30177840729588179 -1.0803720837368318 0.36366173843060479 +0.27156799808818144 0.95037693071153773 -0.15177124894378391 +1.1591820240208452 0.14259425922737445 0.10983210798951759 +0.29987918584918294 -1.1340932618864645 0.023849672177170399 +-0.35762262748999862 0.98965438663846594 -1.0316279708156118 +0.57859456521012409 1.0769994853825633 1.1905376546735433 +0.30177899354822868 -1.0803714830474735 0.36366235255158585 +1.1520483311318501 0.24439821628848113 0.14972572205065204 +0.43803218709878355 -0.66959331037692182 -0.72863561571695579 +0.68868770969311366 -1.2071058080912263 0.26236959995469045 +-0.35761961448634594 0.98965730422191989 -1.0316279006170408 +0.27190936974416868 1.1330396301411914 0.99268878400803429 +0.48619985299936253 -0.27156570821711812 -0.83057917688053284 +0.43803216737260442 -0.66959326807544017 -0.72863569370758707 +0.28033088062110645 -0.70023724018596689 0.73056399038462994 +0.094661647679551153 -0.48801181996918996 -0.98900640453173172 +0.38201777046246743 -0.96780139014101008 1.0000008681673145 +-0.67502747417744757 -0.69222852168347626 -1.0160016291181022 +-0.20791523041799531 0.62082594168385818 0.87928602945434342 +1.1136630075853859 0.7921740613253152 0.36437873494756845 +0.5187063795204605 -0.84259376036742673 -0.40967718176420276 +-0.67502726705551108 -0.69222849063693559 -1.0160016214533152 +0.040558086407986055 -0.58321470544644693 -0.98954988594688653 +0.10185405266450293 0.83380591124297609 0.99098049781058384 +-0.48593111517925569 -1.093931768111625 -1.1307591197237832 +-0.20791511870044876 0.62082600977323055 0.87928594593998777 +0.15259196502590716 -0.50486647028427378 -0.94958481431643627 +0.35762179465840738 -0.98965519309473038 1.0316279514118558 +0.59372274442779105 0.99240046916721925 1.2270539290137923 +-0.48593094540974702 -1.0939316244966619 -1.1307590673013781 +1.0452074225455603 -1.3737103724504784 -0.14299124040925359 +-0.46783528837398791 0.40564844579695281 -1.0262019470286114 +-0.53566707339632291 -1.0848435454284289 -1.1628448537968481 +1.0452067695951692 -1.3737101513267773 -0.14299102407795788 +-0.013099312100932275 1.1851167371808566 0.8088245671179406 +-0.85355264851542056 -1.2677671234864119 -0.085786632512320965 +0.3576173305872159 -0.9896595157911976 1.0316278474055376 +-0.0092381150808113106 0.81896523252171471 -1.4771522013978844 +0.27190896959895916 1.1330389260353675 0.99268877998838612 +1.0452101349557346 -1.3737108680784154 -0.14298949058041144 +-0.85355391588384966 -1.2677662512918508 -0.08578691194060728 +-0.35761743560106685 0.98965895934471426 -1.0316278422356553 +0.4380317412942405 -0.66959235437867459 -0.72863737827713293 +0.3595605035400945 -0.021884732494044816 -0.98634544097087917 +1.1136629911641038 0.79217619829619124 0.36437984569948056 +-0.79289308450447571 -0.79289380888195837 0.29289277736560204 +-0.30396765989847385 0.02162506642709023 -1.3889827084867385 +1.0452098640463614 -1.3737107167631764 -0.14298902778463374 +-0.90038165758417765 -0.90038218306149931 0.14088107642337216 +-0.56812904467167225 -0.12579813013348151 -1.0212642550727615 +0.18134778913338706 0.83945473643889668 -1.0078140183293236 +0.43803183910772348 -0.66959256413319501 -0.72863699155574935 +-0.64345999563558687 -0.77075605978146045 0.61112274179116466 +0.16372970847050977 -0.52821176744085552 -0.93543203066609881 +1.1520484463234073 0.24439838138206393 0.14972604663472688 +-0.56812939602470292 -0.12579796997191234 -1.021264271639545 +0.23904095144169585 0.82337606432631572 -1.0052648811544329 +1.1520484681486609 0.24439806991749358 0.14972592458212408 +-0.57174613322458168 -0.14496230372724656 -1.0210862179709865 +0.48619983736200956 -0.27156614674805934 -0.83057904265147076 +-0.01310004514073396 1.1851189774355784 0.8088234055377852 +0.013100086876435844 -1.1851189850618868 -0.80882337861323195 +1.1520486858781487 0.24439783732355153 0.14972624641908278 +0.78150928144997445 -1.1407553246971278 0.3317579041302926 +-0.20791491734067935 0.62082613249755392 0.87928579541366592 +-0.59235063146135292 -0.11475690660807905 -1.0224063365335772 +0.013100310901665493 -1.1851185191180269 -0.80882355404941308 +-0.44783547649711886 -0.48185762821945599 -1.3085836087867939 +-0.59235088551558013 -0.11475679079941897 -1.0224063485125869 +0.27190934911842646 1.1330395938476037 0.99268878380083891 +-0.19328919852649812 0.59017001621776388 0.89787064584362541 +0.67772522245161637 -0.89753586007560515 0.56152349517570443 +-0.303968217186392 0.021624838397471154 -1.388982960152048 +0.013100070718482751 -1.1851188105070527 -0.80882359937384107 +-0.57174698187938211 -0.14496105963214784 -1.0210862723438203 +-0.60600107141226767 -1.0353705137436591 -1.220192468122709 +0.307014684737139 -0.82854135897841408 -0.75336156738960125 +-0.52144926006563863 1.2780077649771182 0.48087733607505556 +0.79092342048322117 0.77747464723792437 -0.30518854949146712 +-0.14206184706879416 -0.71092562351735333 -1.0546946333445733 +-0.46783323953039768 0.40564841280864838 -1.0262018655126002 +0.30701457684169708 -0.82854188847351229 -0.75336114079831096 +0.054405198695500798 0.87483272937790479 -1.0134228992333183 +-0.21860907511917999 0.32035755313492287 -1.43668887157268 +0.21463332574652161 -1.2219433269854618 -0.67881067409293294 +0.13416225303114554 0.88607425494417313 -0.80031159576973132 +-1.0517806850469382 0.094670739894718692 -1.0440691017065475 +0.73483499183999634 1.1919418526342378 -0.19822248789270375 +-0.22704023145532148 0.29085164724239154 -1.4319770708683599 +-0.08613396836714407 -0.91478609177704606 0.70645545821661471 +0.52144679747119094 -1.2780056356732272 -0.48087922166702579 +0.23289729008350318 -1.1922712486383764 -0.46032013325080634 +-0.59235084940549498 -0.11475658711039996 -1.0224063504971355 +0.01310046675865573 -1.1851185241904614 -0.80882330692677407 +0.21463372171954459 -1.2219429383045997 -0.6788105693835762 +0.23444130530105955 0.90473112388241317 -0.50404306564439305 +1.1035539716548484 0.81065978684057738 0.35355245953667647 +0.033066962924090185 -0.39984869338032825 -0.99291702825589834 +0.90739025087898817 0.90738944968570823 0.71675704886493108 +0.23289715651756787 -1.192271904110997 -0.46031960516487691 +0.48620006990462428 -0.27156628474274469 -0.83057886140764836 +1.1047736861685746 0.7917720795243135 0.34593817258460557 +-0.30397065069902929 0.02162384265910771 -1.3889840591005282 +0.48619995316711928 -0.27156605458177296 -0.83057900499678383 +0.30174706592788092 -1.1945134227386096 -0.35115218496328304 +0.65867877786158635 0.77145024952396435 -0.57954874630160225 +-0.086133947507472108 -0.91478605755158204 0.70645549716771106 +-0.53566671816584921 -1.0848432627096987 -1.1628447382916485 +0.64346007229700386 0.77075641314617793 -0.61112239537781443 +0.30174707855162453 -1.1945134022622192 -0.35115218836855078 +0.27156630287546912 0.95037634100516843 -0.15177797512015001 +0.6586792692031338 0.77144972463838957 -0.57954802002483174 +0.23289701527775197 -1.1922725972430599 -0.46031904673836455 +-0.48620024402708939 0.2715674389557895 0.83057838209716328 +-0.67881063311706358 -0.71227468942016148 -1.0158153824292464 +0.72653995895931578 0.27346026218193265 -0.70710703052667445 +0.41421236844192966 0.99999935286938091 0.41421438423289325 +-0.0055813369360779869 -0.5755815521497949 -1.0190543702927459 +0.5214470863123235 -1.2780062410994613 -0.48087885463522273 +0.56065841208631562 0.38908873211724027 -0.98528193512461204 +0.27156522321224574 0.95037831497775893 -0.1517675458199782 +-0.27156707494691057 -0.95037794192863245 0.15176656845618974 +-0.34023251000660026 -0.10529262048131219 -1.3687177293080031 +-0.46783452047063712 0.40564843343298829 -1.0262019164765386 +0.16868206373914085 0.86543775101474862 -0.86776999030249513 +-0.13213348038300654 0.091933066728977442 -1.3113867941035622 +0.31573840091778838 -1.0576938320357567 0.5306506380028071 +-0.46388959331825275 0.42655188955839629 -1.0263961289741417 +0.30174753011893407 -1.1945126697957837 -0.35115231017929449 +-0.30396663235994803 0.02162265836321197 -1.3889849833469832 +0.30174796002634252 -1.194511972462871 -0.35115242614725772 +-0.24264207632430213 -0.62741611638363004 -1.0000007069555985 +0.23289819012949547 -1.1922712779300957 -0.46031870616291681 +0.41421292444497837 0.99999954627982968 0.4142165902895103 +-0.21860285286482078 0.32035988963621986 -1.4366906923225642 +0.62499893157351827 0.6856612501850361 -0.69454357194268468 +-0.20791485781512975 0.6208261687770591 0.87928575091539263 +1.1591810769464184 0.14259563260418084 0.10983090174415513 +0.2974715382924279 -0.95606396627920165 1.134380918140264 +0.038204477977243301 -0.58486064566637253 -0.99038947242452213 +0.23289854706606977 -1.1922709241669365 -0.46031854991916188 +1.1520475201846887 0.24439908259923648 0.14972452334867253 +0.39181864577480963 1.006653224622978 0.41581017022214894 +1.1380716503780173 0.27614141748207666 0.13806964961702073 +0.12414126341886506 -0.44523312270494686 -0.98573664304939546 +0.048935450984123774 0.52015495167244197 -1.3454055222977828 +0.013101439923055864 -1.185117149394971 -0.80882334099432662 +1.1136627958808609 0.79217396161387477 0.36437824750258396 +0.013101151596165671 -1.1851176933486292 -0.80882317769309875 +0.2641417351669022 -0.340071952182744 1.3605224379819423 +-0.49681221326882463 -0.65325106714374392 -1.2812130097188534 +1.1591809672448208 0.14259457888106697 0.10983011252492905 +0.11671037202618409 0.89650727307342137 -0.76620724090723891 +0.01310159577960017 -1.1851171544672545 -0.80882309387254736 +-0.67881030432336775 -0.71227502941675236 -1.0158153637419538 +-0.52308870707159927 -0.74520880993371108 -1.2665283023794895 +0.414214137893121 0.99999902059839041 0.41421546971238743 +0.24970084088203132 -0.26316934487730659 1.4046896333245278 +0.59372281657381176 0.99240051732371204 1.2270539555009683 +0.013100995739414364 -1.1851176882763244 -0.80882342481522218 +-0.49681213039243488 -0.65325103496426262 -1.2812129717265752 +0.27156868039194715 0.95037823867191373 -0.15176183748230776 +-0.27190828086051044 -1.1330391179796724 -0.99268874955693454 +0.91484403297591355 0.7831190070098184 -0.048098177682039708 +0.35761656992754542 -0.98966025236118704 1.0316278296832815 +0.013100087798040883 -1.1851185118570213 -0.8088239077965016 +-0.1765193063767222 -0.60562044000042747 -1.109295395584768 +0.27156895570872364 0.95037834015953604 -0.1517607093100124 +-0.27190844342495768 -1.133039404032965 -0.99268875118995958 +0.9148438948949067 0.78311932060890044 -0.048098292839121523 +-0.074684938790462285 -0.86918086433752473 1.0125268505142437 +0.10876401979355849 0.19050311224603356 -1.2025998132916378 +-0.18109244669054558 -0.59164450011199166 -1.116541923680026 +0.27156860146843509 0.95037823866458804 -0.15176197875157255 +-0.072806170373276718 0.83058096698545847 -1.5181610689743028 +0.79092335215311582 0.77747411232794472 -0.30518897604716244 +-0.52655872546230054 -0.7573542236694859 -1.2645885255018277 +0.26092379474400385 0.17259094108768158 -1.1076725472706754 +0.013100168083308963 -1.1851171080034999 -0.808825357587871 +-0.19396264106805738 -0.53565977060305769 -1.1423804030253963 +-0.009238422098565683 0.81896508884243668 -1.4771536505021339 +0.2272489750103297 0.23898459262770366 -1.1490931536533213 +-0.21463266680564463 1.2219439741628086 0.67881085509750227 +0.013100173884776221 -1.185117006560104 -0.80882546235076669 +-0.27190811897369127 -1.1330386608898091 -0.99268875081530461 +-0.24613501706652369 -0.39286838755400544 -1.2196073844516158 +-0.21463199458355714 1.2219446340053675 0.67881103285658528 +-0.27190836535643725 -1.1330390944315289 -0.99268875329033102 +-0.19981749873921101 -0.53441900868131587 -1.1462133543478474 +1.152047893906694 0.24439868336312337 0.14972507576605409 +-0.27190746085165041 -1.1330393465076871 -0.99268871332538677 +0.14217767137605292 0.791296619073659 -1.3794746082415812 +1.1520478145192059 0.24439981628772084 0.14972551972136017 +-0.30701457684169731 0.82854188847351229 0.75336114079831074 +-0.013099527889288563 1.1851173966551212 0.80882422517815522 +-0.27190852792111464 -1.1330393804847159 -0.99268875492336694 +-0.27190857529014467 -1.1330396360669153 -0.99268875251459843 +1.1136627895896081 0.79217405139489538 0.36437828268472183 +-0.34946603406096999 -0.75736349585836504 1.2210545864164124 +-0.27190896959895916 -1.1330389260353675 -0.99268877998838612 +0.12178297470773564 -0.44028920311616393 -0.98873394507413259 +0.013100864431458279 -1.1851180417355796 -0.80882323188310723 +0.48620024480884838 -0.27156662958587063 -0.83057864627245026 +0.46588852589193275 0.95168934262265936 0.20415862937309021 +0.013100708574570068 -1.185118036663265 -0.80882347900545404 +0.48619991772845861 -0.27156641347478006 -0.83057890839748016 +0.44213975094971336 0.97389200906486306 0.30069924745571652 +1.3752390773871657 -0.082711162639582281 -0.37190705906651489 +-0.53480762436374363 -0.78622205533221767 -1.2599786592577762 +0.48620001085350051 -0.27156688406233054 -0.83057870002024625 +1.1136629692401745 0.79217623838246132 0.36437982221759424 +0.27157036847099891 0.95037857150326754 -0.1517567326507363 +-0.27190865978645318 -1.1330396125185191 -0.99268875624801423 +0.013100124312421524 -1.1851180176486338 -0.80882440539526468 +-0.21463332516885764 1.2219433279239018 0.67881068100319153 +-0.27190874487662398 -1.1330397622454766 -0.99268875710278359 +0.013100411477302273 -1.1851176692617145 -0.80882435120495244 +0.2715678906486213 0.95037803500446705 -0.15176452601748913 +0.013100116076754389 -1.1851180173806064 -0.80882441845350961 +1.1047737180456232 0.79177158589702934 0.34593797358640399 +-0.021985349693067584 0.58142364510706646 1.0010072447151166 +0.27156795358183372 0.95037823860445059 -0.15176313843721567 +-0.27190936974416868 -1.1330396301411914 -0.99268878400803429 +1.1047737372914788 0.79177128786820328 0.34593785344069417 +1.4292629275763384 -0.029682165088455836 -0.35762050477347251 +0.75776584546424841 0.67881401392568286 -0.98234538628113111 +1.1136626373994734 0.79217622326540016 0.36437913376713149 +1.4292626286885723 -0.029682432831264191 -0.35762011730314958 +0.38945985529603067 -1.007444339600736 0.97723136971660729 +-0.486199691507744 0.27156634960307124 0.83057906170458162 +1.1340968518449421 0.61004855826206228 -0.73956803697253082 +1.2977627527844886 0.67872455325187886 -0.016626340999464827 +0.48620039536968962 -0.27156692643331082 -0.83057846108003064 +1.4292637635185357 -0.029681318900138164 -0.35761981721432867 +0.28062069301019044 -0.94665292027569392 1.1631615395024881 +0.48620024402708939 -0.2715674389557895 -0.83057838209716328 +0.91763837299178763 0.68094969698692531 -0.68290030670330126 +0.71774973962498012 -0.72809220551099796 -0.54576879253806343 +0.75776584542800673 0.67881401393230512 -0.98234538630451107 +0.93325771906795896 -0.47400221628857453 0.28538774175471593 +-0.076524898758727949 0.51992571082247419 0.98918859676411897 +0.013100115446278558 -1.1851180284049914 -0.80882440706837699 +0.66802787304799605 0.76270980533409349 -0.6175535457072665 +0.11568289385741781 -0.85452769621809632 1.4449252048590333 +0.012768496705729621 0.57405852800132062 1.0237593933793301 +0.69705182101612939 0.68990512368403234 -1.0215145167389923 +0.65868015821290404 0.77144877493566888 -0.57954670593456559 +0.71709647856768743 -0.72873343624181941 -0.54594153800573508 +0.30397065069902929 -0.02162384265910771 1.3889840591005282 +-0.5214522669785806 1.278006440551815 0.48088022323949853 +-0.19981721312620815 -0.53441838844908718 -1.1462143294942617 +0.65867958181131114 0.7714493906883626 -0.57954755794288748 +-0.27191010419318429 -1.1330394254555549 -0.99268881645921492 +0.013100060784395674 -1.1851189842126835 -0.8088234199840969 +-0.0055814144061951884 -0.57558141050148226 -1.019054634791404 +0.24385188457366885 -0.23201712502134469 1.422581780845773 +0.01310007738586251 -1.1851189965758087 -0.80882338040417023 +-0.10185342147420814 -0.83380683654352428 -0.99098045737057827 +0.30397018996778735 -0.021624031179917451 1.388983851039189 +0.52144814977300014 -1.2780084701690781 -0.48087750329067513 +0.29539763095051963 -0.80419054425620606 -0.76812405289447883 +-0.10185356457094766 -0.83380662676924122 -0.99098046653870542 +0.11742939009307582 -1.1885145346711208 -0.64340153046938942 +-0.27190721446948096 -1.1330389129650973 -0.99268871085039767 +-0.038204477977243259 0.58486064566637253 0.99038947242452213 +-0.13213782730005857 0.09193394984178524 -1.3113861796926596 +0.21463199516116205 -1.2219446330670247 -0.67881102594704656 +0.38945989256400904 -1.0074445380652453 0.97723125573320324 +-0.10185373275699072 -0.83380638021501019 -0.99098047731429029 +-0.083176655201192051 -0.8908857399969643 -0.96138460459189012 +1.4458434326776537 0.55307939916054405 -0.53845401078568855 +-0.030952620580752481 -0.70904687256055854 -0.99026824345888853 +-0.040558086407985944 0.58321470544644693 0.98954988594688653 +0.32994613683863405 -0.80072276133982667 -0.7490322910862548 +1.104773876487732 0.79176913236536839 0.34593698448307875 +0.072814482444255396 -0.83058181001251841 1.5181662102694471 +0.38946008740614146 -1.0074443848218873 0.97723150186684737 +0.4053754165054031 -1.0347139048572984 -0.62837167837294494 +1.1591808538386221 0.14259619727491257 0.10983074671860268 +0.072814126818574604 -0.83058110886419967 1.5181657728502409 +-0.19879725489369005 -0.53753696826227304 -1.1445966915771391 +1.1520473672515705 0.244399245973142 0.14972429729050263 +-0.52145133427203461 1.2780069836623102 0.48087954490856499 +0.072814649607301024 -0.83058122500491671 1.5181661168496614 +0.37638515283168672 0.85823759927272136 -0.541202962945323 +-0.27191118393666458 -1.1330383089222793 -0.99268887782742921 +-0.52145065768491405 1.2780073022390157 0.48087910908993048 +0.13940927434890565 0.90440673008840045 -0.67612349339401234 +0.52145187191625575 -1.2780056905078783 -0.480876233280082 +1.113664122079836 0.79217402202635046 0.364380998888434 +0.11670682232009558 0.89650948664521457 -0.7662001478935434 +0.52144634151396341 -1.2780046799628519 -0.48087980105404682 +0.52145093336592696 -1.2780063914083417 -0.48087655351731573 +-0.047628057658815448 -0.56667100761787159 -1.046580749728574 +-0.52145350498200616 1.2780066667672165 0.48087942458303656 +1.445841451164616 0.5530847177614886 -0.5384564458443204 +-0.16756839904119702 -0.63297524092138824 -1.0951119249204471 +1.0398007640912215 0.72898679814685563 -0.16349200454673757 +0.52655923089276446 0.75735446610919022 1.2645887420997051 +-0.27190676956496695 -1.1330390369550494 -0.99268869119259273 +0.30701421416444152 -0.82854366830615178 -0.75335970686416354 +1.0452071659525917 -1.3737109327895078 -0.14299053655152399 +0.52308870707159927 0.74520880993371108 1.2665283023794895 +0.29747086695938529 -0.95606395957120816 1.1343797588829716 +0.49681196779066317 0.65325097182878267 1.2812128971865069 +0.17651930637672214 0.60562044000042747 1.109295395584768 +0.52145033881111624 -1.2780068354162224 -0.48087675638186345 +-0.27190803447811129 -1.13303868443779 -0.99268874708192456 +1.0452077386872864 -1.3737126753038145 -0.1429896315510843 +1.1047738027093605 0.79177027484934492 0.3459374450578161 +1.0452088522705285 -1.3737142575528281 -0.14298846235151225 +-0.00054045142829524211 -1.4236344872703439 -0.56250305070747286 +1.0452080815290761 -1.3737127379503531 -0.14298941037673024 +-0.77966650104606217 -0.77966724989842162 0.31159797915181386 +-0.40537684777836536 1.0347125973934732 0.62837307291868227 +0.64346019260052811 0.77075696767572555 -0.61112185175693545 +0.53480762436374363 0.78622205533221767 1.2599786592577762 +0.23289701792652584 -1.1922725842442459 -0.46031905721094646 +-0.21703926634169635 -1.0364899491726112 -0.99213756828442379 +0.65868077172286066 0.77144811954121284 -0.57954579907449588 +0.2328970548312943 -1.1922724031347047 -0.46031920312306773 +0.18597732498094888 0.92060582752726572 -0.49135516078500474 +-0.12631474453554903 -0.75905063281461116 -1.0297416265945523 +-0.21463406356110321 1.2219427806190133 0.67881371498577803 +0.23289687673365306 -1.1922725796489337 -0.46031928108270037 +0.013099760841946848 -1.1851178634876796 -0.80882409040711378 +0.79092310845921276 0.77747220461391775 -0.30519049732422643 +-0.029329972969885917 -0.94874404308649884 0.59545013528671698 +0.23289754555644893 -1.1922719167724387 -0.46031898831532236 +-0.22703817779706509 0.29084734272581736 -1.4319744613193022 +-0.0040863101347460313 -0.66177218869659016 -0.98999835917524259 +0.013099954035084668 -1.1851184539087765 -0.80882378427145096 +0.41421490047602871 0.99999887739908688 0.41421593752303576 +1.0452087464980777 -1.373714627711895 -0.14298840324034862 +-0.52655927780087697 -0.75735448860959265 -1.2645887622017731 +0.24385100796082437 -0.23201702182392708 1.4225812339592001 +-0.53480813148743733 -0.78622231095695816 -1.2599788725358803 +-0.52655923089276446 -0.75735446610919022 -1.2645887420997051 +0.24385141377691 -0.23201706959777885 1.4225814871329585 +0.41421461347676558 0.9999987964835384 0.41421453332195013 +0.4430107171842812 0.99459154286034401 0.43188088850202111 +0.22703964241969948 -0.29085041260971123 1.4319763223906872 +-0.5516960943721394 -0.84532491440085855 -1.2505406010713971 +-0.48593058346717033 -1.0939313183146502 -1.1307589555386675 +0.6538966927766181 1.0489770714179163 1.1498032135596974 +-0.34023435520751255 -0.10529210448550338 -1.3687157543659838 +-0.26092003666217811 -0.17259390405153502 1.1076731094981289 +0.83033177924123569 0.95043010347403456 0.84839705186010006 +-0.30092729863649836 -1.1277361193878721 -1.0114096083964483 +-0.34023409736461308 -0.10529289247725895 -1.3687153457920749 +0.82375464079758753 0.95410373329709008 0.85963286099177383 +-0.11845557212458213 -0.78306919397835784 -1.0172879080894237 +0.17962370447525761 -1.1796250765841925 0.70710459382043989 +-0.10185384484750212 -0.83380621589465775 -0.99098048449586607 +0.41421470473089916 0.99999882822772213 0.41421489539533018 +0.67825992732820306 0.95041598805280536 0.57619580087769462 +-0.35955953309546584 0.021886440128933746 0.98634545071919533 +1.1136627088878654 0.79217520307095857 0.36437873398752141 +0.61594643835864793 1.0701740299003966 1.214634252342305 +0.10408541978081776 0.55470655876916553 1.0835412247668987 +-0.40537619248647794 1.0347131960007694 0.62837243444193303 +0.61594630901932379 1.0701741021422695 1.2146344732943155 +0.64644570986551475 0.78451847255738993 -0.59763106228567153 +0.029676900008299319 -0.60236075984319459 -0.98965920537394836 +-0.11082259991111454 0.41731688706268744 1.0026604450959833 +0.61594640472865869 1.0701740360454597 1.21463423064698 +0.42920743578624698 0.99554403659133173 0.41314634547521378 +-0.1170357443421837 0.44864142526378303 0.98878165212299507 +0.054405195659605693 0.87483254802274746 -1.0134228963158476 +0.69696571260475748 1.0249210943475098 1.0762279972185196 +0.5062087630653187 0.98272409073228317 0.47065007479623222 +-0.23289705483129447 1.1922724031347043 0.46031920312306784 +-0.44783712807742893 -0.48185866832606372 -1.3085823169529447 +0.44783805545251087 0.48185847179665964 1.3085829240699312 +-0.23289689617342557 1.1922725480682215 0.46031904853644423 +0.71979842944459249 1.0121679874693652 1.0372225770699295 +0.3595624218205099 -0.021886080208883808 -0.98634534259450612 +-0.49681146879180704 -0.65325077807608212 -1.2812126684349474 +-0.86612007243755396 1.0206129158290138 0.36327771420754407 +-0.44783669816093941 -0.48185875943400169 -1.3085820355030666 +-0.44783785181850244 -0.48185851495079557 -1.3085827907585368 +-0.4478376098120086 -0.48185856623683176 -1.3085826323261438 +-0.8661185148263868 1.020614079038384 0.36327824567115174 +0.65389671961203066 1.0489770783385191 1.1498033049158991 +0.029676886650970798 -0.60236155776944789 -0.98965919253766432 +-0.71819448212156067 0.72896418356520654 0.54522603173496886 +0.52144916787195505 -1.2780077098624569 -0.48087715591112279 +-0.56987253185974307 -0.8544749370437621 0.21854297708558196 +0.62341501360104989 1.0660024922353015 1.2018755904062446 +-0.45278763616944395 -1.0999880274683376 -1.1093775596609943 +0.37190734024268701 -0.91395821767882879 1.0309246529313683 +-0.30092808335350019 -1.1277369729353826 -1.0114097886736242 +-0.27156647616250118 -0.95037810987995219 0.15176658817330618 +1.0454932739691074 0.38128291835370098 -0.96599165770249029 +0.38946012467407998 -1.0074445832865342 0.97723138788331809 +-0.27156655498454707 -0.9503781090923582 0.15176645206346856 +0.38945991273093039 -1.0074446454608794 0.97723119405305714 +0.64094653866439133 1.0562103411549888 1.1719262634935519 +0.69495216965502538 1.0260455354457467 1.0796684214323342 +0.23289736404654476 -1.1922708856659718 -0.46032042568196752 +0.38946014484098179 -1.0074446906822523 0.97723132620309849 +-0.71709822667257739 0.72873186501982112 0.54594370823693184 +0.013099621334685174 -1.1851174371369746 -0.80882431147163247 +-0.49681245799470497 -0.6532511621666075 -1.2812131219063385 +0.23289748014492118 -1.192270315915108 -0.46032088470558652 +-0.46783360967299292 0.4056484187682915 -1.0262018802392237 +0.30177919127702313 -1.0803712804494228 0.36366255967979932 +0.38946114831002721 -1.0074445915138539 0.97723210588492693 +0.30174853275099611 -1.1945110434727146 -0.35115258064031896 +-0.55169660484040017 -0.84532519659287408 -1.2505408076209559 +0.91484480972078885 0.78311724292592411 -0.048097529890751611 +0.23289910734270391 -1.1922703688715521 -0.46031830466627555 +0.10185307906228377 0.83380733850615552 0.99098043543243963 +0.3017481823007484 -1.1945116119218437 -0.35115248610600613 +0.61594635983288981 1.0701740325456952 1.2146341283958466 +0.61594632869191179 1.0701740499393266 1.2146341815942754 +0.61594595502861571 1.07017411821721 1.2146339405372073 +1.0452118691293077 -1.373711704116467 -0.14299162286554779 +-0.48619923010306287 0.27156534473241822 0.83057966035113728 +0.20602813756450195 -1.2203716911180575 -0.68436180895607568 +-0.57174662161252998 -0.14496158776941237 -1.0210862492617263 +-0.57174641086596623 -0.14496189671571996 -1.0210862357593133 +-0.56812974031936836 -0.12579781302784454 -1.021264287873517 +-0.48619915283700665 0.27156490541729383 0.83057984921788175 +0.96620368159935399 -1.3295820411823764 -0.0080216384181310621 +-0.48619938848467492 0.27156479238423559 0.83057974823310077 +0.86965540136299002 -1.2756552216257839 0.15691351643463392 +-0.65214501040346806 -0.57097913344382079 -1.0171281435413104 +-0.48619985299936253 0.27156570821711812 0.83057917688053284 +0.19822291934452257 -1.3624351501335212 -0.32322644051247551 +1.2026651973035194 0.12944146565510645 0.19193950868109566 +-0.59282846363304564 0.48179369546350415 0.69942610009617101 +1.2821703357904686 0.1053927452994077 0.34206563264979861 +-0.48619979726133566 0.27156574719618487 0.83057919676357406 +0.61594602154519329 1.0701741413555745 1.2146342044554297 +-0.48619978701582045 0.27156557812457371 0.83057925804021893 +0.61594623478336907 1.0701741023914546 1.2146343420191323 +0.20602834979858448 -1.2203709723862661 -0.68436191971706695 +1.1591821686175328 0.14259421548975743 0.10983238102520598 +-0.23289701527775208 1.1922725972430603 0.46031904673836443 +0.77642088252062291 -1.2235793905230361 0.31618712063032173 +0.38946206769579472 -1.0074447706343705 0.97723262933067279 +0.86611637185172019 -1.0206135184128873 -0.36327528782488694 +0.29746987288154947 -0.95606394963833252 1.1343780423102618 +0.23289686395102954 -1.1922725923179107 -0.46031928667810651 +0.61594617051472311 1.0701741668641582 1.2146346307551386 +0.29747008615663495 -0.95606395176938785 1.1343784105934871 +1.1520482955720874 0.24439872375699762 0.14972592091083126 +0.61594612092455669 1.0701741759255419 1.214634598763523 +0.67958015116651205 0.7006009370545363 -0.98579992541125683 +-0.14163688681062181 0.40535222776943403 0.98853452858049717 +0.16921760960797605 -0.53971469740663602 -0.92845852854878808 +0.35761741414505943 -0.98965907303562028 1.0316278432919446 +0.61594627538873303 1.0701741082874494 1.2146344515986471 +0.36374023493970209 1.0149960802674354 0.41781064336465557 +0.13941521372312471 0.90440550889199289 -0.67612015714393925 +0.2806209105232359 -0.94665291880821378 1.1631619379034275 +0.029676892631734141 -0.60236120049680308 -0.98965919828512927 +0.029676894652494498 -0.60236107978271436 -0.98965920022706344 +0.42637260303311064 0.99473181615187989 0.40298755035998945 +1.152047403334771 0.24440075013854184 0.14972517680091962 +0.3894612057451271 -1.0074448973753358 0.97723193022057164 +0.4142153740204596 0.9999984346836599 0.4142140125280771 +0.027000730422280628 0.12843590704926644 1.1777902363551793 +0.42137908426286863 0.99330110105749236 0.38509297296920941 +0.23482464909782857 -0.95543799541825414 1.0262023263999032 +0.71819448212156067 -0.72896418356520631 -0.54522603173496886 +0.10029509142827397 -0.59801907118614861 -0.94974082010411598 +0.19396264106805738 0.53565977060305769 1.1423804030253963 +0.17208585844013435 -0.61323318179367536 -0.90274180099502144 +-0.52144775406280641 1.2780085735304172 0.48087731028438774 +-0.35761663369570951 0.98966019061252619 -1.0316278311689864 +0.38946028448596637 -1.0074454343400352 0.97723089910063932 +0.61572461737919304 0.81160797975703147 -0.40493674158642134 +0.46727149985100425 0.95039640395166591 0.19853673261733001 +0.37275243039362949 -0.65575903223387622 -0.77137209368654913 +0.38946134539049893 -1.0074456410345354 0.97723150311738416 +0.69705094984149119 0.68990565700004769 -1.0215127359334684 +-0.12178297470773572 0.4402892031161636 0.98873394507413259 +0.02699953648209058 0.12843321965730903 1.1777925907770856 +0.61594604664141128 1.07017415008551 1.2146343040298433 +-0.23904151334428186 -0.82337638153621895 1.0052648642627173 +0.27156668619639868 0.95037832484797358 -0.151764866190995 +-0.2272458472787327 -0.238985625880827 1.149092326344447 +0.27156733636708708 0.95037823854716041 -0.1517642432217241 +0.38946005237611303 -1.007445389118407 0.97723076695091815 +0.056409592467231651 -1.0000000149896122 0.4278993333165344 +-0.055089188187845931 0.90534769329622922 -1.0182608362255663 +0.072812090980042432 -0.83057667695935211 1.5181631320818414 +-0.074827135369965714 -0.53949295531933772 1.3365671786148123 +0.21860481113190477 -0.32036073744051652 1.4366874166819423 +-0.083970151288342315 -0.55896938813119168 -1.0703725280538157 +0.41421412711336059 0.99999896920260722 0.4142145469314481 +0.072812366535799561 -0.83057763830688325 1.5181636077043144 +0.07281201456807096 -0.83057694437054908 1.5181631747843856 +0.07281248228626036 -0.83057723322667809 1.5181635430175699 +0.20602867880031983 -1.2203698582202294 -0.68436209141690862 +0.072813545158489396 -0.83057872582889547 1.5181646532113859 +0.31610453183697385 -0.84759742651667347 -0.74180861676810661 +0.41421409454011326 0.99999889588479496 0.41421461116512392 +0.65868075858478381 0.77144813357622977 -0.579545818494551 +0.013099405546480057 -1.1851167776626772 -0.80882465341165144 +-0.53480815958097394 -0.78622232511800605 -1.259978884351018 +-0.44783741085055584 -0.48185860840075923 -1.3085825020736928 +-0.24613419872507564 -0.39286819800226658 -1.2196086604100067 +0.013100208054096282 -1.1851164090816195 -0.80882607938034767 +0.57434282706601136 0.95242104378812353 0.40280554442555883 +0.66434862390940475 0.95302827969980153 0.56766183584254293 +0.072813319204509286 -0.83057951657974227 1.5181647794858062 +0.02700053753565991 0.12843547288852913 1.1777906167230476 +0.42497415290767104 0.98994008095638919 0.37047873918817786 +0.072814409685385273 -0.83058011893785655 1.5181656147691682 +0.1420618470687941 0.71092562351735333 1.0546946333445733 +0.27190584927465644 1.1330392934297482 0.99268865053018773 +0.60600107141226767 1.0353705137436591 1.220192468122709 +0.41421384317423871 0.9999998658677145 0.41422023553708331 +0.49681245799470497 0.6532511621666075 1.2812131219063385 +0.072810130899360531 -0.83058131816668945 1.5181648557885059 +0.27156907709718558 0.95037834097849916 -0.15176048697264777 +0.3576177043119364 -0.98965915390213732 1.0316278561127756 +0.22703991315396654 -0.2908509800751774 1.4319766664081737 +0.22704023145532148 -0.29085164724239154 1.4319770708683599 +0.27156867661592365 0.95037833827659979 -0.15176122050157542 +-0.038251280087154324 -1.4076509437886093 0.39180497799204872 +0.62790162751445178 -1.1406244693914083 0.56990078887121309 +0.18598163836854747 0.92060437114289551 -0.49135633215964714 +0.21860841388993757 -0.32035804693470216 1.4366886459584278 +0.27155999514083473 0.9503741467605975 -0.15180300261983271 +-0.49681196779066317 -0.65325097182878267 -1.2812128971865069 +0.2715801687920979 0.95038120142329019 -0.15172272734743886 +0.21860676961284969 -0.32035927486536675 1.4366880849240364 +0.21860785501667962 -0.3203584642959949 1.4366884552684764 +1.2977619596650869 0.67872917589403148 -0.016623633112330324 +0.4478376098120086 0.48185856623683176 1.3085826323261438 +0.49681213039243488 0.65325103496426262 1.2812129717265752 +0.49681221326882463 0.65325106714374392 1.2812130097188534 +1.4292655622342139 -0.029678470593406177 -0.35761969557716877 +-0.56066088268423497 -1.3180191514531661 0.085785313613498615 +1.4292651322429424 -0.029679975381929229 -0.35761945527561823 +-0.35355317570304345 -1.3535536057793505 0.20710574166846546 +1.4292653208384802 -0.029678231932401662 -0.35761925378998738 +-0.77966695397525099 -0.77966770282677222 0.31159733861362071 +-0.63285145159999368 -0.46874660179890248 -1.0180779744896653 +0.77641850445397664 -1.2235803232983256 0.31618801645627603 +-0.18189358185771648 -0.18189543684746728 1.1569760097601862 +0.41421476566171567 1.0000004064854195 0.41421328772914601 +-0.46388854705939742 0.42655248020111336 -1.0263960975218804 +0.30396765989847385 -0.02162506642709023 1.3889827084867385 +1.1278235335308802 -1.0845976381320166 -0.18915785637178073 +0.23904192673608238 0.82337661490758296 -1.0052648518354803 +1.222064163211054 -0.75479509154400914 -0.24182443691223382 +1.222064440907022 -0.75479521176899089 -0.24182490142167135 +1.045209942402717 -1.3737115419329577 -0.14298938297174152 +-0.77966557914209744 -0.77966632799616264 0.31159928292007288 +1.0452094976099948 -1.3737130985203305 -0.14298913439836819 +1.0452096714934114 -1.3737113906174736 -0.14298892017599946 +0.22703912323306136 -0.29084932438216327 1.431975662668945 +-0.69526306502378055 -0.69526167843519637 -1.0167504715353339 +0.090348457528964504 0.80076753411650459 -1.4129092364858344 +0.43733738909826947 0.99312844439790893 0.41256709165571936 +1.1136635153780428 0.79217523981008342 0.36438040716508524 +-0.30092766398770421 -1.1277365167854199 -1.011409692330508 +0.13213782730005852 -0.091933949841785267 1.3113861796926596 +-0.3595605035400945 0.021884732494044747 0.98634544097087917 +-0.63762222710453154 -0.4940259430913263 -1.0178431069741372 +0.52655872546230054 0.7573542236694859 1.2645885255018277 +-0.62752933398427202 -0.44054552625010235 -1.0183399896554155 +0.081123239433057881 -0.59395611589332997 -0.962291991735017 +0.49681146879180704 0.65325077807608212 1.2812126684349474 +0.41421527354220911 0.99999852862050864 0.41421442097998362 +-0.64770543952463111 -0.5474547761708215 -1.0173467056977841 +0.18109244669054553 0.59164450011199166 1.116541923680026 +0.41421514894699385 0.99999858259676833 0.41421453603932801 +0.76637271782882355 0.67723805675727511 -0.9767951468001459 +0.303968217186392 -0.021624838397471154 1.388982960152048 +1.0452104424804203 -1.3737097918714114 -0.14298966244124628 +0.13413889580663352 -0.46618839809269208 -0.97303281947380293 +1.0919081392097749 -1.210287502185416 -0.16908677111361059 +0.30396907352122948 -0.021624488004612502 1.3889833468637725 +-0.30092790570953853 -1.1277367797095947 -1.0114097478625399 +0.34023469748910085 0.10529105844130301 1.3687162967401463 +0.12753883445451131 -0.45235451244403146 -0.981419406592972 +-0.10986184811481928 0.46126491260746083 0.98885371538800371 +0.10986184811481936 -0.46126491260746083 -0.98885371538800348 +0.41421494934901482 0.99999866906519586 0.41421472036111417 +-0.35611142032923115 -1.0543197393793173 -0.65040806560511966 +1.0919079938544898 -1.2102869134218226 -0.16908637903297463 +0.083970151288342343 0.55896938813119168 1.0703725280538157 +-0.3728849216869301 -1.0386382233729505 -0.58222307010746577 +1.1000074581904307 -1.1819432936822167 -0.17361309301842193 +0.34023515405899118 0.10528966312147803 1.368717020213801 +-0.40200046006032109 -1.0114181469286625 -0.46386768567661019 +1.1000073083760298 -1.1819427208598001 -0.17361269854101252 +-0.37550684447533722 -1.0361869872668326 -0.57156506060238077 +0.34023534556586821 0.10528907785874431 1.3687173236726653 +0.12178243188209542 -0.44028895567328241 -0.98873397066911539 +1.1187665459765817 -1.1162943796426017 -0.18409664974257761 +0.34023497120101376 0.10529022195237445 1.3687167304598509 +0.99535928472962221 -0.66889221681098299 0.1339221582304217 +-1.2144695953405402 -0.16421011213404618 -0.80330012305827792 +0.99999894998477235 -0.6586547463192538 0.12962995623554979 +-1.2144672695944432 -0.16421254115140732 -0.80329899227491675 +1.1591820755645657 0.14259352365397521 0.10983181974255599 +0.44783741085055584 0.48185860840075923 1.3085825020736928 +-0.59282705387918289 0.48179540576582891 0.69942636613208053 +0.1998174987392109 0.53441900868131587 1.146213354347847 +0.84040020973363982 -0.18259249336355798 0.51186700497589643 +0.84297635898803347 -0.14066381200300804 0.5197499033220141 +0.44783669816093941 0.48185875943400169 1.3085820355030666 +0.44783785181850244 0.48185851495079557 1.3085827907585368 +0.4142152469556849 0.99999855347617927 0.41421452905627332 +-0.95266773983824038 0.4134540317165929 -1.0454916501248821 +-0.83777886006532865 -0.768345398284489 0.27851214672575253 +-0.6658736392347846 0.71787634621483076 0.57947848588473838 +-0.71775143840862077 0.72809068265883625 0.54577097502698702 +0.58112141867744826 0.95040697158493215 0.4023225742372909 +-0.03947025995852603 0.58512889028849902 0.98956081338760016 +0.35761777755185298 -0.98965905464260451 1.0316278573445197 +-0.48619957934827052 0.27156516868914382 0.83057951347108272 +0.28719775133668957 -0.95032637359020411 1.1519266923309237 +-1.134095997120705 -0.6100477094216652 0.7395689062488775 +-0.68745082163091253 -0.70373239914942198 -1.0000020291197109 +0.19879725489368999 0.53753696826227304 1.1445966915771391 +-0.88299192988544561 -0.51040654569245181 -0.64213488275399411 +-1.4458421016732754 -0.55308346684053955 0.53845611988198816 +-0.98965860782435056 -0.40494828133649707 -0.44692003781640721 +0.432784214505889 0.99195422308648218 0.39706665033631039 +-0.98965833080566745 -0.40494857798111994 -0.44691959867442854 +0.52144765516762481 -1.2780074334501483 -0.4808781317880817 +0.64345971215020126 0.77075475307807539 -0.61112402278916744 +-0.88299160373853658 -0.51040688632142461 -0.64213472418058037 +0.48308357429423454 0.97953622269660645 0.40930770608669387 +-0.88298920333152786 -0.51040925953441652 -0.6421391172633002 +0.62790126115423583 -1.1406262568576784 0.56990085047068484 +0.64345971480363318 0.77075476530885956 -0.61112401079898659 +-0.73925227337520827 -0.65251780543254334 -0.90519793225471279 +0.77436680684397441 0.64786416584284945 -0.40854442454801621 +0.21463266738327957 -1.2219439732244166 -0.67881084818759985 +-0.68745078430696172 -0.70373243961934051 -1.000001949101494 +1.588346656869255 0.5270395013385325 -0.44652220387617769 +0.072809971499062903 -0.8305794823918724 1.5181667979146902 +-0.86670675761031291 -0.53661089605803114 -0.25201161933858118 +0.072810986852867965 -0.83057857283711578 1.5181654816453625 +-0.98473175315778816 -0.41022418882420086 -0.43910977504658899 +-0.86670684188828084 -0.53661080975062125 -0.2520115891277972 +0.072810298825574188 -0.83058098065088903 1.5181658661487081 +-0.80709282097831614 -0.77821071351844195 0.27164312726853224 +0.072810711705406289 -0.83058121126353512 1.5181651608239943 +0.44783712807742893 0.48185866832606372 1.3085823169529447 +0.072811258330985396 -0.83058151657941992 1.5181642270207414 +-0.67881108150225833 -0.71227426392949855 -1.0158138214044148 +0.072810683248936248 -0.83058131084962228 1.518165176726836 +0.75776964511595102 0.67881008467240234 -0.98234516462565846 +-0.67502707017926644 -0.69222846112617265 -1.0160016141676818 +0.75776964650362455 0.67881008337506854 -0.9823451702665944 +-0.076043111859671941 0.52077347546751285 0.9891934365416919 +0.21463434018805805 -1.2219423312256801 -0.67881040583849517 +0.17666381735793119 -0.88858831121899984 1.3407522892354242 +-0.68745097954521417 -0.70373222792481238 -1.000002367669639 +-1.4458418206485577 -0.55308358858437989 0.53845586036572568 +-0.68745088645940222 -0.70373232885665726 -1.0000021681044662 +0.52481135874070639 0.9520868732415575 0.31208278585973648 +0.45169263033974938 -0.49117609135965734 1.0269965082217349 +0.21463199025484209 -1.2219446378829906 -0.67881102724445208 +0.52870036402286891 0.95040210582405393 0.30849142484776515 +-0.67881117045616279 -0.71227417156320927 -1.0158138423153602 +0.20602792114088703 -1.2203724240377212 -0.68436169600864583 +-0.67881109706596798 -0.71227423914615229 -1.0158141834341148 +-0.41421507659473045 -0.99999873031054931 -0.41421449157895407 +-0.41421474155264626 -0.99999904971783149 -0.41421559680975484 +-0.4142147829021029 -0.99999900488310445 -0.4142156854581891 +0.59570322838421719 -0.70531479769666205 0.74311173130559705 +-0.67881105770124384 -0.71227428329683784 -1.0158140380286937 +0.21860907511917999 -0.32035755313492287 1.43668887157268 +0.20602847824810827 -1.2203705373913056 -0.68436198675246684 +0.22703817779706509 -0.29084734272581736 1.4319744613193022 +0.22703849768212336 -0.29084801321251164 1.4319748677918738 +-0.00054060816475625566 -1.4236346203253452 -0.5625027138093659 +0.21860546405705883 -0.32036024984215239 1.4366876394628041 +-0.67502703129523089 -0.69222845529765054 -1.0160016127287328 +-0.67881024073446894 -0.71227509517229759 -1.0158153601278204 +0.27156920184285804 0.95037841068051288 -0.15175982727341236 +0.71819281341145991 -0.72896577474815261 -0.54522380417425365 +0.83058219780318687 -0.15178312186634757 0.53581255761245217 +0.8399594658902596 -0.18976591630836503 0.51051834906703619 +0.83058214044260947 -0.15178292988880615 0.53581270090409183 +0.27156951450425759 0.95037845378170838 -0.15175899790111896 +-0.41421490047602882 -0.9999988773990871 -0.41421593752303565 +0.74355374420861442 -0.54763001508667508 0.55859267805625601 +-0.67881096552101106 -0.7122743607819586 -1.0158147740845958 +0.50430169784937706 -0.44404884630060482 0.95879594446870908 +0.83057776546710871 -0.15177048206784571 0.53582300835693886 +1.4309234735352048 0.29218477580208102 -0.26902274776486468 +0.8305786781879605 -0.15176966445177126 0.53582182513739895 +0.83057932777924837 -0.15177214819465312 0.53582011469376289 +-0.21860367331618752 0.32036024483914372 -1.436689319933758 +0.83057856783587125 -0.15176976330526165 0.53582196819400596 +-0.19629577837782031 0.22641633448233695 -1.3929149317016027 +0.8305799975801389 -0.15177425019473206 0.53581848105084817 +0.048934753048478399 0.5201553333857365 -1.3454042190398843 +0.83058201996976755 -0.15178244191189311 0.53581302586694735 +-0.072809729736328321 0.83057840278173778 -1.5181663034034525 +-0.072810081703648721 0.83057909672156582 -1.5181667363267968 +-0.58653204206989074 -0.96723501835745829 -1.2310727765064469 +-0.59372306131704167 -0.99240068068650733 -1.2270540453542549 +-0.59372301751824064 -0.99240065145140011 -1.2270540292742749 +0.34023435520751255 0.10529210448550336 1.3687157543659838 +1.1864927998254045 -0.24715409279406281 -0.042897420266182859 +0.27154820070215691 0.95037239355103309 -0.15183508613492042 +-0.59372298985022054 -0.992400632983371 -1.227054019116435 +-0.56987221373785424 -0.85447523445517692 0.21854168389984474 +1.3296765337832608 0.068782331641301681 -0.17535816360212148 +0.27155446515308967 0.9503745726942372 -0.15181023063554161 +0.29539516300787383 -0.80418949818313989 -0.76812411038951223 +-0.21860432624293269 0.32035975723981591 -1.4366895427147792 +0.27156306726448876 0.95037756501276549 -0.15177609998676944 +1.3013973864475017 0.26999011371714066 -0.074531158649962043 +-0.55709641739437021 -0.86422255715085594 -1.2475228892323953 +-0.55709653123280378 -0.86422262181816345 -1.2475229347268626 +-0.57766725702920629 -0.9362118519208138 -1.2360268986657776 +-0.69526301691846504 -0.69526172817959075 -1.0167504688012241 +-0.55237428802971755 -1.0817906342319601 -1.1736225773758671 +-0.41421497553895803 -0.99999883694475833 -0.41421439709280639 +-0.41421500733148908 -0.99999880124167317 -0.41421451640746954 +0.61594666516662833 1.0701741898692894 1.2146342556918994 +-0.41421503015097261 -0.99999877990777941 -0.41421442364529959 +-0.61594632869191179 -1.0701740499393266 -1.2146341815942754 +-0.467271499804084 -0.95039640399553149 -0.19853673280806455 +0.34023409736461308 0.10529289247725893 1.3687153457920749 +-0.41421394919194932 -0.99999990886516521 -0.41421389808041564 +-0.22703626603178712 0.29084967796380112 -1.4319767632909697 +-0.38341768175357438 -1.0287911621331469 -0.53940707569215673 +0.26092189312104952 0.17259213081627645 -1.1076730506533812 +0.22724741187513309 0.23898483938150722 -1.1490930012800407 +-0.56987181396123976 -0.85447564355045569 0.21854152778864011 +0.48977288012256925 -0.45706377292526468 0.97763059800922125 +0.19328919852649795 -0.5901700162177641 -0.89787064584362541 +-0.41421494027440087 -0.99999886991351872 -0.41421454044515416 +0.55237425459877887 1.0817906185868287 1.1736224195839662 +-0.22703567060052199 0.29085146652128957 -1.4319782719060719 +-0.56987293221693358 -0.85447448949810134 0.21854156004622172 +-0.16481713831896072 -0.64138353907214452 -1.0907521368283803 +-0.56987347665455679 -0.85447392531307997 0.21854147935604479 +-0.22703535071678865 0.29085079602906583 -1.4319778654289874 +-0.56987307068353532 -0.85447436004592636 0.21854212291883901 +-0.16973318885307181 -0.62635955365122298 -1.0985421118709144 +-0.57086098473930114 -0.91239394985941336 -1.2398302662129814 +-0.56987338790826536 -0.8544740056645479 0.21854100981959979 +-0.54751802370331415 -0.83070316599096183 -1.2528754492652694 +-0.57086122755317747 -0.91239409706178054 -1.2398303602207084 +-0.56987349590671887 -0.8544739046969605 0.21854144883668636 +-0.5423898109082701 -0.81275504191958081 -1.2557418468286756 +-0.57135635799277651 -0.91412754737372515 -1.2395534259429368 +-0.56987342059741475 -0.85447397772081635 0.21854125148203346 +0.22724841396550172 0.23898460298008556 -1.1490931746980091 +0.7815327498053557 -1.1407027292624887 0.33173528251556517 +-0.46940554257344069 -0.94840129189868838 -0.18986173258229316 +0.074830474176599132 0.53949335153141198 -1.3365696195216055 +0.7815087369277085 -1.1407557139311697 0.33175749707538182 +-0.4421397509247561 -0.97389200908819573 -0.30069924755716981 +0.46667156536861931 0.97727378414213173 0.3657728613446618 +0.04893525756385346 0.52015505745739388 -1.3454051611233728 +-0.57135678847656823 -0.91412780893178969 -1.2395535924180772 +-0.57135659718755871 -0.91412769270631489 -1.2395535184434805 +0.30396976929767827 -0.021624203308617154 1.3889836610690325 +-0.56987227187162248 -0.85447521545125826 0.2185433892299774 +-0.60309855046470529 -1.025211837012026 -1.2218142422585285 +0.34946559305537916 0.75736237266190565 -1.2210560920953308 +-0.59372274442779105 -0.99240046916721925 -1.2270539290137923 +-0.39359347851646653 -1.0192778311408248 -0.49804190696964801 +-0.59372281657381176 -0.99240051732371204 -1.2270539555009683 +-0.44783693265421032 -0.48185816560762329 -1.3085831179071201 +0.47831895679769643 1.0953227031128945 1.1258478157996681 +0.77641988474632195 -1.2235792031586143 0.31618650853951136 +0.95844261627030325 -0.6406634535294502 0.19914234179602719 +0.20791485781512947 -0.62082616877705887 -0.87928575091539285 +1.209462348157055 0.18763463235008632 0.044650224652774059 +0.97663245603510207 -0.71021316253028988 0.15124653985278552 +-0.15419560249782915 -1.2819347274269615 0.1432352484651373 +0.97133463578858814 -0.72190285897637896 0.15614760779196901 +0.83057883152905632 -0.15176952708869418 0.53582162635134045 +-0.55709607541463035 -0.86422236288510312 -1.2475227525633841 +1.1187663858448746 -1.1162938437049794 -0.18409624971984506 +1.1278236986384647 -1.0845981562802613 -0.18915825906882011 +0.076524898758728033 -0.51992571082247419 -0.98918859676411897 +0.076043111859672025 -0.52077347546751285 -0.9891934365416919 +0.14127246329887094 -0.48114071054996022 -0.96396817687521441 +-0.14743387437518418 -0.69450868541618127 -1.0632066119522237 +0.48619939710018711 -0.27156567398445086 -0.83057945494299479 +1.1136614853539619 0.79217482530251027 0.36438131096030413 +-0.038252201917098952 -1.4076507856273461 0.39180443799755715 +0.48618836859704684 -0.27157193885986419 -0.83058386238133641 +0.53480815958097394 0.78622232511800605 1.259978884351018 +0.48619951632954039 -0.27156590905740263 -0.83057930828969107 +-0.56987245637159001 -0.85447498548656542 0.21854175042015489 +0.12178249465844182 -0.44028898428939578 -0.98873396770912358 +-0.56987269464797397 -0.85447476272247513 0.21854271902664879 +-0.68745082736617369 -0.70373239293074619 -1.0000020414154447 +0.53480813148743733 0.78622231095695816 1.2599788725358803 +-0.8048707553363772 -0.5876427099481889 -0.78510687346080288 +-0.13213537343535614 0.091933451318505083 -1.3113865265318583 +-0.41421484673476516 -0.99999893567010356 -0.41421582230800591 +-0.21860563180105685 0.32035878226173675 -1.4366899881760413 +-0.40738027192261383 -1.0063885733182651 -0.44199840784420463 +0.72653990999678686 0.27345987888755308 -0.70710733617885313 +-0.22703721146601358 0.29085165963334858 -1.4319779646509794 +-0.8829846353280415 -0.51041375761071839 -0.64214823280782563 +0.62790145976475387 -1.1406252878397924 0.56990081707649387 +-0.5692489173445261 -0.90675090491705457 -1.2407316598694877 +0.35956146714510162 -0.021885950177816575 -0.98634538249794645 +-0.4142143478708421 -0.99999947658235633 -0.41421475280167419 +-0.8829914260544991 -0.51040707189525492 -0.64213463779017288 +0.03947024995286233 -0.58512889178829797 -0.9895608137578713 +1.0452092267008006 -1.3737129472044378 -0.14298867160268314 +-0.19981735340717016 -0.53441869308078394 -1.1462138505438086 +-0.24613467173975129 -0.39286830756625657 -1.2196079228852903 +0.48597230268131875 -0.27170420075886348 -0.83066709747508893 +-0.41421470152167561 -0.99999909312293944 -0.41421551098800147 +-0.42497415288862972 -0.98994008097419095 -0.37047873926558239 +-0.42137908422894566 -0.99330110108920699 -0.38509297310710899 +0.77641940576174528 -1.2235794887206843 0.31618685573245375 +0.14109954841852035 -0.48077827235584114 -0.96418790025935031 +-0.34023283699325368 -0.10529267651091842 -1.368717238317382 +0.072811229874317984 -0.83058161616634663 1.5181642429236515 +-0.13213417434714558 0.091933207713636694 -1.3113866960158536 +-0.30396681886882582 0.021623095451730079 -1.3889845704363033 +-0.24613445408488988 -0.39286825715104479 -1.2196082622528581 +0.48619988166070383 -0.27156672451056618 -0.83057882781347314 +0.07281163034566368 -0.83057799639575114 1.5181646474437027 +0.48619991772054305 -0.27156670044111131 -0.8305788145747206 +0.52655927780087697 0.75735448860959265 1.2645887622017731 +1.0452085043016073 -1.3737097120380266 -0.14299263063390161 +0.12178262751052724 -0.44028904484899423 -0.98873396144496306 +0.52145148695936383 -1.2780067223520488 -0.48087763534020367 +-0.98965825195817714 -0.4049486624147175 -0.44691947368198215 +0.053548413042569895 -0.56035572727904182 -0.98941940644469151 +-0.88299169201619732 -0.51040680894663359 -0.64213415104206528 +0.8160436144444847 -0.57901359402964414 0.43733694256026512 +1.0452091373243624 -1.3737109601075956 -0.14299185200954601 +0.14874853673105187 -0.49681093250175234 -0.95446831109595798 +-0.8829915545890934 -0.51040693765327494 -0.64213470028400277 +0.21463258767310311 -1.2219441027169231 -0.67881180171296895 +0.21463324603643852 -1.2219434564778822 -0.67881162761837688 +-0.88299228519744588 -0.51040617460335547 -0.64213505550754535 +-0.88298989171432885 -0.5104085816894075 -0.64213774358132047 +-0.012768496705729583 -0.5740585280013204 -1.0237593933793301 +-0.15803122932767383 -0.66212193859312984 -1.0799992570234664 +-0.20602792114088703 1.2203724240377212 0.68436169600864583 +0.29539583537649261 -0.80418978317627121 -0.76812409472551124 +0.486199691507744 -0.27156634960307124 -0.83057906170458162 +0.48619957199715547 -0.27156611397478858 -0.83057920870447077 +-0.21860378381637008 0.32035952240304777 -1.4366904500461293 +-0.21860313088893069 0.32036001000286285 -1.4366902272649242 +0.26092308261832875 0.17259128636160154 -1.1076728066731669 +0.5423898109082701 0.81275504191958081 1.2557418468286756 +0.10876416405712491 0.19050347219428371 -1.2025994567597471 +0.52145089240384035 -1.2780071663603176 -0.48087783820474794 +0.19981742605627378 0.53441885084431395 1.1462136025035852 +-0.42632019079026928 -0.98868168717462446 -0.36500643146244049 +-0.46588852590020602 -0.95168934261492488 -0.2041586293394585 +0.07483102825315216 0.53949352260787897 -1.3365698447896088 +-0.072808481894367033 0.83057980754674676 -1.518167839783517 +-0.014088150205498633 -1.4178926932662979 -0.21967176970787589 +0.7181930621779995 -0.72896508221909939 -0.54522491353083824 +0.35761766711473519 -0.98965921433063064 1.0316274111431989 +0.71775015774944695 -0.72809185051487835 -0.54576969043264123 +0.71709714817044445 -0.72873283439316161 -0.54594236930184392 +0.99083257205869346 -0.65468627811358404 0.14496280058530997 +0.52144966384948876 -1.2780080302794854 -0.48087827490181667 +1.0452060839847492 -1.373708995462974 -0.14299247419132277 +0.52144909498943548 -1.2780068379251022 -0.48087899775032328 +0.52145102556025491 -1.2780064465230354 -0.48087673368190464 +0.52144835018515967 -1.278005276784294 -0.48087994417054669 +1.0452067170037505 -1.3737102435296262 -0.14299169556807145 +0.83057828273463818 -0.15177001869917606 0.53582233778932009 +0.21463364200964985 -1.2219430677968384 -0.67881152290903013 +0.52144880614601385 -1.2780062324972503 -0.48087936478266258 +0.52144840506004941 -1.2780084034869161 -0.48087762780605614 +0.52144972146349611 -1.2780080408071508 -0.48087823773392557 +1.045208028938736 -1.3737128301538863 -0.1429900818675629 +1.2220645531508172 -0.75479372691892843 -0.2418246548309172 +0.52144926006563863 -1.2780077649771182 -0.48087733607505556 +1.222064614603648 -0.75479460390388597 -0.24182499849240585 +0.58653204206989096 0.96723501835745829 1.2310727765064469 +0.57766725702920629 0.9362118519208138 1.2360268986657776 +0.866117557020885 -1.0206134614188129 -0.36327629706599363 +0.52145242551080528 -1.2780060214509823 -0.48087731510297949 +0.27190844342495768 1.133039404032965 0.99268875118995958 +0.35761777100772529 -0.98965908931856794 1.03162785766669 +0.27190857529014467 1.1330396360669153 0.99268875251459843 +1.0452095336845058 -1.3737117415724476 -0.14299136448258293 +0.30092790570953853 1.1277367797095947 1.0114097478625399 +0.013099527889288563 -1.1851173966551212 -0.80882422517815522 +0.21860563180105685 -0.32035878226173675 1.4366899881760413 +-0.61594617051472311 -1.0701741668641582 -1.2146346307551386 +1.0942202526912341 0.79795375441021865 0.36576462021545719 +0.21860432624293269 -0.32035975723981591 1.4366895427147792 +-0.51606003168855263 -1.0884264426410537 -1.1501954970650035 +0.22703658591591791 -0.29085034845427316 1.4319771697666313 +-0.45278759408628755 -1.0999879927255627 -1.1093772667958843 +0.21860367331618752 -0.32036024483914372 1.436689319933758 +-0.21463433961035172 1.2219423321641911 0.67881041274930154 +0.22703626603178712 -0.29084967796380112 1.4319767632909697 +0.27190828086051044 1.1330391179796724 0.99268874955693454 +-0.01309975584201812 1.1851169294152379 0.80882497689738786 +-0.013099971631148895 1.1851175888903045 0.80882463495787138 +0.15391405909320666 -1.2108497329647268 -0.71798141063649545 +0.97935948625561076 -0.64971914970172584 0.16415413660142841 +0.98916917551503714 -0.68255075830911172 0.13964869186123147 +-0.22703658591591791 0.29085034845427316 -1.4319771697666313 +-0.013100265989841074 1.1851153960277769 0.80882712558402603 +-0.19981742605627389 -0.53441885084431395 -1.1462136025035852 +-0.011943520657702888 -0.57423335887136084 -1.023219309917093 +-0.21463258767310311 1.2219441027169231 0.67881180171296895 +-0.71819238299526345 0.72896548180840215 0.5452244303181768 +-0.88297965898783581 -0.51041865777290463 -0.64215816319663865 +-0.013100115446278558 1.1851180284049914 0.80882440706837699 +0.44783664988056249 0.48185822553346092 1.3085829327853093 +-0.0055812777324153046 -0.57558166039926228 -1.0190541681594603 +0.44783693265421032 0.48185816560762329 1.3085831179071201 +-0.71709665960491065 0.72873327352294082 0.54594176275919915 +0.21463199458355714 -1.2219446340053675 -0.67881103285658528 +0.34023352793670858 0.10529196273030669 1.368716996565273 +-1.1136628382488269 -0.79217647789037504 -0.36437968191774572 +-1.1136628102612147 -0.79217652906363734 -0.3643796519412793 +-1.1136627061656412 -0.79217631654814857 -0.36437984096124298 +-1.1136629911641038 -0.79217619829619124 -0.36437984569948056 +-1.1136629692401745 -0.79217623838246132 -0.36437982221759424 +0.52145087830713654 -1.2780060279462599 -0.48088012429757265 +0.55709641739437021 0.86422255715085594 1.2475228892323953 +0.71819238299526345 -0.72896548180840215 -0.5452244303181768 +-0.43803159536354941 0.66959204143999473 0.72863795523766273 +0.71774955638026383 -0.7280924003845024 -0.54576911396610162 +0.71709665960491065 -0.72873327352294082 -0.54594176275919915 +0.86611630976286147 -1.0206137889256297 -0.36327569165169049 +0.40537550343401518 -1.034713825448256 -0.62837176307092268 +0.90737753998503035 0.90737673875955727 0.71677502480114819 +0.52145196411094341 -1.278005745622576 -0.48087641344501375 +0.72776786298369633 0.74106444282165351 0.94808093934684234 +0.4053772483957655 -1.0347122314306048 -0.62837346325602716 +0.30396765814570614 -0.021623528268452839 1.388984197810474 +0.40537619248647794 -1.0347131960007694 -0.62837243444193303 +0.30396710085699707 -0.02162375629851318 1.3889839461446933 +0.52144991287658993 -1.2780057410951056 -0.48088005551128199 +-0.15779294802062016 -0.66285015392599456 -1.0796216747461527 +0.16973318885307176 0.62635955365122298 1.098542111870914 +-0.98965892116749998 -0.4049479457939289 -0.44692053454149849 +0.16481713831896067 0.64138353907214452 1.0907521368283803 +0.44783714836222843 0.4818583653457239 1.3085828401128432 +-0.44049532988351769 -0.99219024927171251 -0.41234201571585571 +0.54751802370331415 0.83070316599096183 1.2528754492652694 +0.5214504310052146 -1.2780068905309143 -0.48087693654623553 +0.52308870243016159 0.74520882347322792 1.2665283134092071 +-0.48308357424176041 -0.97953622271219776 -0.40930770609043265 +1.0452071133615464 -1.3737110249926578 -0.1429912080417961 +-0.6030985443178567 -1.0252118688158425 -1.2218142607950671 +-0.57434282708387951 -0.95242104378281467 -0.40280554442428584 +0.55709653123280378 0.86422262181816345 1.2475229347268626 +0.40537684777836536 -1.0347125973934732 -0.62837307291868227 +0.45278759408628755 1.0999879927255627 1.1093772667958843 +-0.41421527354220899 -0.99999852862050864 -0.41421442097998384 +0.51606003168855241 1.0884264426410537 1.1501954970650035 +-1.1136621554766273 -0.79217564387061445 -0.36438050405477906 +0.55237428802971755 1.0817906342319601 1.1736225773758671 +-1.1136622024176108 -0.79217646622364346 -0.36437987685250173 +0.30092729863649836 1.1277361193878721 1.0114096083964483 +0.52144798968691108 -1.2780075328441476 -0.4808781556217735 +-0.35032216991340948 -1.0189829376863568 -0.41876663573424711 +-0.41421524695568479 -0.99999855347617927 -0.41421452905627343 +0.61594644166940049 1.0701744453160051 1.2146341184559715 +0.072812106638088153 -0.830579866271135 1.5181665600381802 +0.61594652868558564 1.0701743211716312 1.2146342099832839 +0.072812049724866157 -0.83058006544473728 1.5181665918442824 +0.21463266680564463 -1.2219439741628086 -0.67881085509750227 +0.020460707770512856 -1.1291522105141882 -0.44518367881358811 +0.61594641227383318 1.0701743424431065 1.2146341348839012 +-0.88299144377763383 -0.51040705338515102 -0.64213464640720375 +-1.1136623627213362 -0.79217666203814763 -0.36437968382795105 +0.61059764866394106 1.0514553345133137 1.2176234759789963 +0.26414115342539812 -0.34007290667391943 1.3605213517007506 +-1.0452095336845058 1.3737117415724476 0.14299136448258293 +-0.52144972146349611 1.2780080408071508 0.48087823773392557 +-0.52145148695936383 1.2780067223520488 0.48087763534020367 +-1.0452085043016073 1.3737097120380266 0.14299263063390161 +-0.41421517364395588 -0.99999863004320555 -0.41421449341193406 +-1.0452091373243624 1.3737109601075956 0.14299185200954601 +-0.41421478015221014 -1.000000415317055 -0.41421327689678977 +-0.61594635983288981 -1.0701740325456952 -1.2146341283958466 +-0.52145089240384035 1.2780071663603176 0.48087783820474794 +-0.866117557020885 1.0206134614188134 0.36327629706599351 +-1.1035539716548484 -0.81065978684057738 -0.35355245953667647 +-1.0942202526912341 -0.79795375441021865 -0.36576462021545719 +-0.86611748453243642 1.0206135155524798 0.36327632179932035 +-1.1136625466301249 -0.79217701109343186 -0.36437936957604944 +-0.7181930621779995 0.72896508221909961 0.54522491353083824 +0.46388959331825264 -0.42655188955839629 1.0263961289741417 +-0.3637402349468789 -1.0149960802653029 -0.41781064336414442 +-0.37833178894040376 -1.0106605832801021 -0.41677101797871996 +0.31543616796185314 -0.613236341659678 1.2036363513950166 +0.30092766398770421 1.1277365167854199 1.011409692330508 +-1.1136609816083913 -0.79217497497850298 -0.36438134685047108 +-1.0942187874033658 -0.79795175970743748 -0.36576653738598253 +0.48977383207083236 -0.45706391581525507 0.97763051236297072 +-0.88299173107607976 -0.51040744448578179 -0.64213427050829353 +0.45169357810365551 -0.49117637033975858 1.0269965503467384 +0.47966926201824334 -0.43338353089767878 1.0000010025753339 +0.35312797720722688 -0.13682995991998692 1.2801505347763009 +-0.61594644166940049 -1.0701744453160051 -1.2146341184559715 +-0.438031999299067 0.66959290765289636 0.72863635821343165 +-0.61594652868558564 -1.0701743211716312 -1.2146342099832839 +-0.42920743571778552 -0.99554403661167323 -0.41314634548009166 +0.27156500287216301 0.95037823833056367 -0.15176842006464014 +0.34023327009473292 0.1052927507234438 1.368716587988807 +0.56812974031936814 0.12579781302784437 1.021264287873517 +0.57174641086596623 0.14496189671571991 1.0210862357593133 +0.447836219964313 0.48185831664199097 1.3085826513344911 +0.58578835120173389 0.14736806241677214 1.0000013389996143 +0.83057823824256571 -0.1517698697906566 0.53582244893433084 +-0.41421518352421505 -0.99999862080616642 -0.41421445324837203 +0.83057803225906146 -0.15176918039371157 0.53582296349878389 +-0.44495309753332768 -1.1014195985966508 -1.1043228199021322 +0.83057879938411805 -0.151769156445974 0.53582178116011447 +-0.013100855660982316 1.1851171303804162 0.80882426738393565 +-0.58112141857613109 -0.95040697161503584 -0.40232257424450979 +-0.61059764866394106 -1.0514553345133137 -1.2176234759789963 +-0.40095932009155699 -1.1094584660823368 -1.0759415544313922 +0.083176655201192023 0.8908857399969643 0.96138460459189012 +-0.48620001085350051 0.27156688406233054 0.83057870002024625 +0.22703850367754008 -0.2908500811782212 1.4319764086833096 +0.24385010047284039 -0.23201613402090948 1.4225812200414305 +0.039469712043401425 -0.58512897241823159 -0.98956083366383374 +-0.31434146394460249 -1.4963194000484901 -0.073224883409601454 +0.84297672480496177 -0.14066325245042161 0.51974944272202905 +0.021985349693067625 -0.58142364510706646 -1.0010072447151166 +0.83057679117087257 -0.15175840242036365 0.53582794013201163 +-0.47831895679769643 -1.0953227031128945 -1.1258478157996681 +0.84297679057533115 -0.14066218212270709 0.51974964393757683 +-0.45278755689696504 -1.0999879620230115 -1.1093770079879453 +0.83057712456219868 -0.15176129768828978 0.53582660326782583 +-0.55237425459877887 -1.0817906185868287 -1.1736224195839662 +0.90738970905978444 0.90738893010031552 0.71675777715600009 +0.83057909847814804 -0.15176898188036153 0.5358213669790346 +-0.072810230650248747 0.8305812545879605 -1.5181647191734888 +0.83057276949180325 -0.15175156667420198 0.53583611034257195 +-0.072810280482759115 0.83058123725306698 -1.5181649168952545 +0.83057812348129367 -0.15176997259429548 0.53582259770721796 +-0.07281016029567558 0.83058121529155216 -1.5181648393604417 +0.50430313299952534 -0.44404850584372291 0.95879518573564093 +0.34023387021728702 0.10529091668361026 1.3687175389431729 +-0.072809618895809142 0.83058071635690167 -1.5181669949672121 +-0.07281044747957921 0.83058117916102869 -1.5181655794929423 +-0.48619951632954039 0.27156590905740263 0.83057930828969107 +-0.48619991772054305 0.27156670044111131 0.8305788145747206 +-0.072809095941840096 0.8305806207988129 -1.518166657599668 +-0.48618836859704684 0.27157193885986419 0.83058386238133641 +-0.48619957199715547 0.27156611397478858 0.83057920870447077 +0.34023421707414792 0.10529097611949031 1.3687170181147881 +-0.81062942741404953 -0.42201516655285709 -0.7292671063800038 +-0.48619939710018711 0.27156567398445086 0.83057945494299479 +-0.8829888508241035 -0.51040352358617458 -0.64213803900615263 +-0.88298964751167452 -0.51040460812044808 -0.64213699662672519 +0.21860609760824867 -0.32035898392805362 1.4366892090063428 +-0.33183703007284981 -1.0244753324545273 -0.42008365733470776 +0.072812693217775726 -0.83057948900103407 1.5181657576404075 +0.84029573353835785 -0.18429291855991164 0.51154731261894448 +0.13213537343535603 -0.091933451318505111 1.3113865265318583 +-0.35956203585052537 0.0218862694646609 0.98634535467699691 +0.098184200766751911 0.79933580128195936 -1.4078533538519844 +-0.77093212423011215 -0.37352418581082192 -0.77706722474292733 +0.027074649844412421 0.812329342532911 -1.4537283006391606 +0.027074846053778211 0.81232945331912032 -1.4537272557935355 +-0.75797897967654948 -0.35770168320440399 -0.7926643004425904 +-0.75797900796132622 -0.35770167121549368 -0.79266430110153374 +0.17713260346708581 0.89705695890399983 -0.65464617879152986 +-0.75797929940311892 -0.35770154768368867 -0.79266430789117925 +0.11670889927397401 0.89650797440602981 -0.76620466861289449 +0.14558610846904046 0.87924477859952987 -0.82263620898533674 +0.01309975584201812 -1.1851169294152379 -0.80882497689738786 +0.13941285381047208 0.90440584334458163 -0.67612158935848465 +0.27156892393351761 0.9503780690019219 -0.15176246418020223 +-0.75797914372103325 -0.35770161367178488 -0.79266430426429313 +0.27156561399001367 0.95037691759457799 -0.15177559713034594 +0.27156856199859747 0.95037762401718928 -0.15176589835282367 +0.46783452047063701 -0.40564843343298818 1.0262019164765386 +-0.072809893305015333 0.83058137193793313 -1.518163380679908 +-0.07482919657307624 -0.53949305136203196 1.3365689391070057 +0.098184067384793683 0.79933568508777708 -1.4078543201410043 +-0.23289910734270391 1.1922703688715521 0.46031830466627577 +0.54576868992091243 0.007310647646441534 1.0223651435494658 +0.013099971631148895 -1.1851175888903045 -0.80882463495787138 +-0.48284200127145105 0.76568498211430591 0.55147278674778133 +-0.53988624021140863 0.88801256556746022 0.32593918582602488 +-0.22724741187513309 -0.23898483938150722 1.1490930012800407 +-0.7579790289243602 -0.35770166233000966 -0.7926643015899042 +0.20428742566362773 0.89176642404776074 -0.63918581755233128 +0.83057764008854296 -0.15176577467006203 0.53582453606135494 +0.66803041348568049 0.7627072382346054 -0.61755589078394957 +0.072809729736328321 -0.83057840278173778 1.5181663034034525 +0.21463426047844547 -1.221942460717647 -0.67881135936396797 +-0.52346043098299599 -0.45710575070061799 -0.78720078133508187 +0.072810081703648721 -0.83057909672156582 1.5181667363267968 +0.75776484270209843 0.67881224949392838 -0.98234539637709939 +0.54238983006680641 0.81275497779873573 1.2557417989690096 +0.52144667603067241 -1.2780047793552987 -0.48087982488814196 +0.21703926634169635 1.0364899491726112 0.99213756828442379 +-1.0214007353609413 0.61143096934535413 -0.10983037168594487 +-0.99999880085233839 0.65865487722444738 -0.12962987200330434 +-0.41421510553760865 -0.99999879831907412 -0.41421438783060593 +-0.9999987297941153 0.65865493959780363 -0.12962983186854943 +0.61572613476708415 0.81160641357289509 -0.40493677609334822 +-0.31065620605637179 0.39644397504625617 1.2322371048291876 +-0.02274531865767946 1.0164637681991122 0.98299748647590346 +0.21463372114186413 -1.2219429392430672 -0.67881057629404862 +-0.78150887620869258 1.1407556143706854 -0.33175760119418862 +0.24384978389020134 -0.23201444811045746 1.4225821883044847 +0.29539512671373647 -0.80418948279934654 -0.76812411123504765 +-0.7815087369277085 1.1407557139311697 -0.33175749707538182 +0.27156917177469708 0.95037815521673297 -0.15176148081421709 +-0.78153058481089155 1.14070771412625 -0.33173751836129417 +0.21463433961035172 -1.2219423321641911 -0.67881041274930154 +0.066351367077395335 -0.70710598356522691 -0.77346008557140578 +0.20791491734067907 -0.6208261324975537 -0.87928579541366614 +-0.78152428697547127 1.1407222147876062 -0.33174402229867617 +-0.78150978569844276 1.1407549642515007 -0.33175828107872662 +-0.78150928144997445 1.1407553246971278 -0.3317579041302926 +0.64158251367846431 0.6612598155962679 1.0590726262888479 +-0.78151644940099141 1.1407402606725494 -0.33175211636437374 +-0.23289754555644887 1.1922719167724387 0.46031898831532259 +-0.056073766889691026 -0.56488123393611112 -1.0521097612317587 +-0.23289819012949542 1.1922712779300957 0.46031870616291704 +0.089649919518028337 -0.4968304302884593 -0.9890567523228122 +-0.38638987332780406 1.1972673920757306 0.21694569420865506 +0.098487852249028868 -0.48127893794557719 -0.98896797174142659 +-0.78153274980535592 1.1407027292624883 -0.33173528251556483 +0.6513005911720795 0.67025841637908434 1.0465574386897414 +-0.0055812644190972975 -0.57558168474166793 -1.0190541227050982 +-0.6886903823190953 1.2071038976514177 -0.26237159786294662 +-1.1136624625809937 -0.7921755526222698 -0.36438048217433416 +-0.68868955888731209 1.2071044862548619 -0.26237098231061362 +-0.79150301416217372 -0.9721178287889356 -0.91472904042844339 +-0.68868646379997522 1.2071047667630532 -0.26236650231218051 +-0.79150302725300281 -0.97211745227819524 -0.91472891349139163 +1.5883417229596253 0.52704337098721932 -0.44652204764736536 +-0.68868628328066084 1.2071043796513674 -0.26236578859994986 +-1.4292643515600516 0.029677181706748268 0.35762130057728936 +0.67881044768579035 0.71227488116958226 1.0158153718900893 +-1.5199169871423215 -0.28757131046145723 0.40828319560065218 +-0.68868904877740644 1.2071048508903468 -0.26237060098049159 +0.027075109047542109 0.81232960181397984 -1.4537258553105232 +-1.4292641781666169 0.029677010277673846 0.35762098324289615 +-0.21463324603643852 1.2219434564778822 0.67881162761837688 +-1.1864910766300651 0.24715649679312651 0.042897393996444183 +-0.34023387021728702 -0.10529091668361029 -1.3687175389431729 +0.7577680780976459 0.67881165829710799 -0.98234330916803136 +-1.159181300857234 -0.14259447796995872 -0.10983074247086044 +-0.68868693767924838 1.2071057829656957 -0.26236837587033268 +-0.013100124312421524 1.1851180176486338 0.80882440539526468 +0.75776621382009735 0.6788118673751069 -0.98234533579512018 +-0.84051346994169696 0.18074954014760214 -0.51221344769019339 +-0.34023352793670858 -0.10529196273030675 -1.368716996565273 +0.75776825302772366 0.67881149475529567 -0.98234402026622702 +-0.68868770969311366 1.2071058080912263 -0.26236959995469045 +-1.5883442016552829 -0.52704243996317657 0.446523442487748 +1.134092388892685 0.61004673212288019 -0.73957005239440532 +-0.68868713947144022 1.2071062156956547 -0.26236917368831525 +-1.113663059782676 -0.79217521905573896 -0.36437946196827142 +0.6030985443178567 1.0252118688158425 1.2218142607950671 +1.1340930663532265 0.61004651021790934 -0.7395702297523199 +-1.1520460654258851 -0.2444005208771951 -0.14972718576206223 +0.039469749769395462 -0.58512896676329418 -0.98956083226773961 +0.61594679495951832 1.0701741173733903 1.2146340339655421 +-0.98528235400887487 0.67157265284419054 -0.12131780112458057 +-1.152047403334771 -0.24440075013854212 -0.14972517680091962 +-0.97133463579895274 0.72190285895350903 -0.15614760778238029 +0.2079147406258543 -0.62082624020132871 -0.87928566331065139 +-1.1136631467756533 -0.79217397759822061 -0.36437897548306397 +-0.94206432516241922 0.7864881091701339 -0.18322587287169717 +1.1520469055432137 0.24439966052955614 0.14972688460858358 +-1.4292639367717452 0.029676771617545082 0.35762054145630084 +-1.543259392831327 -0.36926065954405851 0.42132823462229196 +0.42632019083567618 0.98868168713217375 0.36500643127785859 +-0.48619907242454219 0.27156463860165614 0.83057998352648177 +-0.93921352367696564 0.46866702350547895 -0.27766679162635199 +0.4142142907818086 0.99999913436515531 0.41421532028073149 +-0.99083257206834796 0.65468627811776403 -0.14496280056916044 +0.2953969594417607 -0.80419025962753876 -0.76812406853844806 +0.41421426171594411 0.99999912425421233 0.41421520495533415 +-1.0024719692877819 0.65319795101893807 -0.12734208232468291 +0.29539653933204879 -0.80419008155798144 -0.76812407832563734 +0.41421474155264604 0.99999904971783149 0.41421559680975473 +-1.2220641739970457 0.75479308296093128 0.24182508732797553 +1.209461569419763 0.18763544026885354 0.04465007034589577 +-1.0214008631071443 0.61143100798620331 -0.10983061290345278 +0.41421455332286561 0.99999922569351196 0.41421636197180789 +-1.2220634472747198 0.75479562619845764 0.24182468119265665 +0.75776836502632872 0.67881139004800284 -0.98234447554531412 +1.1340934261360585 0.61004639236957137 -0.73957032394279865 +-0.013101439923055864 1.185117149394971 0.80882334099432662 +0.61594658652528977 1.0701743644068618 1.2146338709970963 +-0.037189642999202244 -0.56888318727193354 -1.0397469995805571 +0.65881822204585316 1.0462284791140051 1.1413960016003255 +-0.94206604824796258 0.78648469703730672 -0.18322471599807932 +-0.1720858584401343 0.61323318179367536 0.90274180099502144 +0.22703721146601358 -0.29085165963334858 1.4319779646509794 +0.2270379949514848 -0.29085070259447843 1.4319770212465617 +-0.84040020973646512 0.18259249331762523 -0.51186700498452686 +0.1859799785927207 0.92060482963942114 -0.49135598010456827 +1.5883447641003943 0.52704062805415552 -0.44652213129270446 +0.35956203585052537 -0.021886269464660976 -0.98634535467699691 +0.30092808335350019 1.1277369729353826 1.0114097886736242 +-0.93325771907715449 0.47400221628033723 -0.28538774174279491 +-0.86360384802923784 -0.19497364882527052 -0.5828427834143457 +-0.43803174129424083 0.66959235437867459 0.72863737827713293 +-1.1136618409201495 -0.79217479325219675 -0.36438123072548345 +-0.79150304622495993 -0.97211690661790939 -0.91472872952716289 +0.07482919657307624 0.53949305136203196 -1.3365689391070061 +0.44049532997608598 0.99219024924420829 0.41234201570926021 +-0.48619927131598251 0.2715645613755201 0.83057989235046681 +-0.84297706241498394 0.1406623307964317 -0.51974913633173925 +0.4470970952868214 0.99382428637162956 0.43438754317584816 +0.21860639949114202 -0.32035911462507227 1.4366887040377483 +-0.30396765814570614 0.021623528268452839 -1.388984197810474 +0.62752933401932665 0.44054552643585154 1.0183399896536898 +-0.65389669277661788 -1.0489770714179163 -1.1498032135596974 +1.4458428516154349 0.5530811749437059 -0.53845493153110091 +-0.69696574492081909 -1.0249208097510007 -1.076227866514627 +-0.44783664988056249 -0.48185822553346092 -1.3085829327853093 +-0.6969657126047577 -1.0249210943475098 -1.0762279972185191 +1.4458429533543846 0.55308113086877109 -0.53845502548318813 +0.20677422912893906 0.91379358783343401 -0.49679987636595868 +-0.69696575472569866 -1.0249207234027784 -1.0762278268583119 +-1.1136625874199049 -0.79217693651235965 -0.36437941326443102 +-1.1136617924573855 -0.7921747340540457 -0.3643812890802246 +1.4458431660132058 0.55308103874157988 -0.53845522186559758 +-0.013100060784395674 1.1851189842126835 0.8088234199840969 +-0.43733738905955755 -0.99312844440941106 -0.41256709165847771 +0.30396874661590623 -0.021623721891472991 1.3889840705989038 +1.5883448101659856 0.52704210008000119 -0.446524482013132 +0.24384997553046717 -0.23201546866018857 1.4225816021757267 +0.00054045142829524211 1.4236344872703439 0.56250305070747286 +-0.447836219964313 -0.48185831664199097 -1.3085826513344911 +-1.0942188310204912 -0.79795181908362078 -0.36576648031769676 +-0.0131001364971912 1.185117660312581 0.80882478720575701 +-0.013100168083308963 1.1851171080034999 0.808825357587871 +0.65881818102421197 1.0462284689605261 1.1413958646151894 +-0.44783589762440068 -0.48185801816740947 -1.3085830664504421 +-0.013100116076754389 1.1851180173806064 0.80882441845350961 +0.41421501623432899 0.9999987929184242 0.4142144802170461 +-0.44783632754057423 -0.4818579270585599 -1.3085833479017839 +-0.74407457339140293 -0.3407171970220958 -0.80940680466552517 +-0.013100411477302273 1.1851176692617145 0.80882435120495244 +0.4142150301509725 0.99999877990777941 0.41421442364529937 +-0.4142150865595593 -0.99999872099445408 -0.4142144510712904 +0.41421511427206703 0.99999875491331025 0.41421441765187439 +-0.013100708574570068 1.185118036663265 0.80882347900545404 +-0.41421513589647307 -0.9999986694668086 -0.41421447505901687 +-0.34023309483484854 -0.10529188851707566 -1.3687176468950319 +-0.41421513028750279 -0.99999867532483688 -0.41421447233192199 +0.41421483353367428 0.99999887653365693 0.41421467690320335 +0.40095935244692615 1.1094585058619888 1.0759418614311218 +-0.68131017897647572 -0.69804644220930712 -1.0079099958618118 +-0.41421513717467007 -0.99999866827182426 -0.41421446986310695 +-0.013100995739414364 1.1851176882763244 0.80882342481522218 +1.3013970680388756 0.26999165350564625 -0.074532205087447678 +-0.72906169294494449 -0.74226276456468021 -0.94641423363396382 +0.86360500196066692 0.19497351296370391 0.58284136969989464 +-0.61594642194073379 -1.070174337043694 -1.2146341183698386 +-0.11742938995581484 1.1885145346666532 0.64340153068702688 +-1.0942200180438806 -0.79795343498375049 -0.36576492722611342 +-0.65881818102421197 -1.0462284689605261 -1.1413958646151898 +1.094219385782961 0.79795257428419619 0.3657657544710704 +0.23289689617342563 -1.1922725480682215 -0.46031904853644434 +0.00054060816475625566 1.4236346203253452 0.5625027138093659 +0.79150302725300281 0.97211745227819524 0.91472891349139163 +-0.91299677250783651 0.6209879619029075 -0.2751612996928543 +0.72014045118411785 0.17039005276225955 0.79826282638383672 +0.303968514480772 -0.021623177875319838 1.3889845845224769 +-0.40095935244692615 -1.1094585058619888 -1.0759418614311218 +0.15699516662073609 0.66528825217241039 1.0783575182748488 +0.11845557212458208 0.78306919397835784 1.0172879080894237 +0.73779854623302832 0.65395505148469413 0.90785895350741708 +-1.094219385782961 -0.79795257428419619 -0.3657657544710704 +0.24264207632430201 0.62741611638363004 1.0000007069555985 +-1.1136610300710061 -0.79217503417664581 -0.36438128849577989 +-1.1136616517297191 -0.79217579354634915 -0.36438053994553055 +0.91763013190852449 0.6809498296700045 -0.68290063459183803 +-0.232896876733653 1.1922725796489337 0.46031928108270059 +1.0398029227307561 0.7289841444155043 -0.16349235463392853 +0.55709607541463035 0.86422236288510312 1.2475227525633841 +0.060662065971648249 0.23223149164781515 1.6213209998005538 +-0.54751843309248205 -0.8307033874293408 -1.2528756165096655 +0.44783547649711886 0.48185762821945599 1.3085836087867939 +0.21463332516885764 -1.2219433279239018 -0.67881068100319153 +-0.23289686395102949 1.1922725923179107 0.46031928667810673 +0.33857972556574334 1.0327652109294494 0.48406084958245732 +0.30396890085371842 -0.021624083352746883 1.388983729132077 +0.2715722173690035 0.9503792146667347 -0.15174939672935689 +-0.61594641767328562 -1.0701743613390615 -1.2146341318663776 +0.35698850058904441 1.0247902361533683 0.46706103939330301 +0.79206212525402964 0.18271423739566617 0.69026770346723754 +0.86359823135318448 0.19497198781782732 0.58285188519819231 +0.7497890827753817 0.17547046768660673 0.75374349985588784 +-0.61594639803872608 -1.0701741662508462 -1.2146341070441711 +-0.38639072428105348 1.1972666451275535 0.21694521357744029 +-0.38639113152082516 1.1972662876613764 0.2169449835622822 +-1.0454952298176154 0.61871910555860787 -0.15532694048122753 +0.22334295607170157 0.90836643356172964 -0.50113753837991792 +-0.90738566618019822 -0.90738486497530646 -0.71676353261448478 +-0.61594636689774229 -1.0701741836446739 -1.2146341602426651 +0.27156768256475894 0.95037685790836024 -0.1517722694338417 +-0.35351781101029267 -1.018033405020307 -0.41853897507094973 +0.098184381271616772 0.79933595852672812 -1.4078520461798574 +0.34023445135826991 0.10529101626539647 1.3687166663217734 +0.11022180364179529 0.85927693830652219 -1.0109566748906613 +1.1136624625809937 0.7921755526222698 0.36438048217433416 +0.072809618895809142 -0.83058071635690167 1.5181669949672121 +-0.91144579575309637 0.85404852239288376 -0.21155172989455218 +-0.013100111139007348 1.185118015241502 0.80882441389368021 +0.013099860589909584 -1.1851184134268373 -0.8088236979783523 +1.1136621554766273 0.79217564387061445 0.36438050405477906 +-0.68868599188212665 1.207103754766556 -0.26236463650883768 +-0.4142148190652386 -0.99999896567184399 -0.41421576298775353 +-0.61594644225780004 -1.0701742213748977 -1.2146340541136227 +-0.61594641227383318 -1.0701743424431065 -1.2146341348839012 +-1.0214009390382688 0.61143103095395546 -0.10983075628083858 +-1.4309236820805631 -0.29218842238809462 0.26902651367694141 +0.61594630773338221 1.0701743615453845 1.2146340674429155 +-0.41421511427206725 -0.99999875491331003 -0.41421441765187461 +0.75887101578323746 0.17702675352386377 0.74010633686100702 +0.75776855123512821 0.67881121595759364 -0.98234523251791939 +-1.0214008887893629 0.61143101575459657 -0.10983066139805073 +0.75432812447643172 0.1762483034674851 0.74692778688173811 +0.75776855124063247 0.678811215956588 -0.98234523251436845 +-0.88298356423317803 -0.5103963269268359 -0.64214495593798593 +-0.61594648799951601 -1.0701739609588925 -1.2146339094475795 +0.013100111139007348 -1.185118015241502 -0.80882441389368021 +-0.6409465049422618 -1.0562103314931131 -1.1719261426482559 +-0.013099760841946848 1.1851178634876796 0.80882409040711378 +0.44783731129238968 0.48185851621337006 1.3085826302872334 +-1.0214007877203026 0.61143098518308658 -0.10983047055381179 +1.1340940654790881 0.61004618295014712 -0.73957049132161923 +-0.78151256164297744 1.1407492121707441 -0.33175613135253901 +-0.85901874817743162 0.96973005115938626 -0.26005330775726843 +-0.83057913748003709 0.15176667500916241 -0.53582195993150461 +-0.91054842834275163 0.85602888951208245 -0.21238224852306481 +-0.83057972641048816 0.15177186151837313 -0.53581957797346713 +-0.83057994910460686 0.15177382270936962 -0.5358186772762028 +1.5883440138384688 0.52704254486811042 -0.44652312163826313 +1.1136628975273344 0.79217447930661788 0.36438115544574645 +-0.83057947665173182 0.15177113294822736 -0.53582017148966976 +1.5883442463488482 0.52704221642059768 -0.44652476235826544 +-0.41421512329381804 -0.99999871007985108 -0.41421444845401922 +-0.013099621334685174 1.1851174371369746 0.80882431147163247 +-0.8305800568569508 0.15177443616328856 -0.53581833649088439 +-1.1520475201846883 -0.24439908259923659 -0.14972452334867248 +-0.41421297103888044 -0.99999931270251641 -0.41421462929789821 +-0.61059765936252375 -1.0514552759957985 -1.2176234428202521 +-0.40123671978138509 -1.0038548957164877 -0.41513914391038209 +-0.41421293992530017 -0.99999929373947771 -0.41421465255682832 +0.52308872849605104 0.7452087474365392 1.2665282514673235 +0.57348346920996263 0.59820247578127672 1.1467723094209417 +-0.79150304913586189 -0.97211682289625645 -0.91472870130119577 +-0.41421301169882363 -0.99999933748385206 -0.41421459890259282 +-0.21463364200964985 1.2219430677968384 0.67881152290903013 +1.588343414589481 0.52704242612783103 -0.44652493748224664 +0.83057894427308909 -0.15176912576003759 0.53582156525916536 +-1.222064345548366 0.75479553113184639 0.24182604668334456 +-1.2220642354502513 0.75479395994602494 0.24182543098876852 +1.5883431052882369 0.52704285375939075 -0.4465228130703589 +-0.43803218709878378 0.66959331037692182 0.72863561571695556 +-0.4142128794878418 -0.99999925690418445 -0.4142146977367982 +-1.2220637249696518 0.75479574642400515 0.24182514570209246 +-0.59282768589489776 0.48179559693882179 0.69942517272474403 +0.5214474208304718 -1.278006340492742 -0.48087887846911725 +-1.0050996241665326 0.66086307126144717 -0.12109783379819414 +-0.013100087798040883 1.1851185118570213 0.8088239077965016 +-0.59282807854161845 0.4817957157071483 0.69942443130729792 +-0.99999892444020655 0.65865476874171591 -0.12962994180759407 +-0.013100070718482751 1.1851188105070527 0.80882359937384107 +-0.99535928473434732 0.66889221680055688 -0.13392215822605019 +-0.013099954035084668 1.1851184539087765 0.80882378427145096 +0.88299192988544561 0.51040654569245181 0.64213488275399389 +0.84006535872603894 -0.18804243426935513 0.51084237627881612 +-1.3296757940308495 -0.068783145106045468 0.17536022168617021 +-0.59282797225951001 0.48179568355878832 0.69942463199510518 +-1.1864922425266529 0.24715392422143645 0.042898472588919781 +-1.4292622125873042 0.029682805573593297 0.35761957788029264 +0.43524141609292821 0.99088982580513307 0.39479742007967988 +-0.52145242551080528 1.2780060214509823 0.48087731510297949 +-1.2220642224815101 0.75479596181733344 0.24182597790652305 +-1.222064380522486 0.75479603023976627 0.2418262422668554 +0.5214471319887819 -1.2780057350661864 -0.48087924550099714 +0.27190803447811129 1.13303868443779 0.99268874708192456 +0.41421416882811524 0.99999908777628566 0.41421536409342641 +-1.1380682460993303 1.0487452409625972 0.19488320628720418 +0.72756856984073126 0.32055465647179437 0.82928204741240319 +0.41421415831437192 0.9999990649448236 0.41421539998968782 +-0.013100173884776221 1.185117006560104 0.80882546235076669 +0.72228344506527487 0.31409879988049028 0.83564593065561721 +-0.83057878432494459 0.15176356489295711 -0.53582338828456311 +-0.013100208054096282 1.1851164090816195 0.80882607938034767 +0.33009457443405799 0.037200106993190166 1.4473907904892376 +-0.77241878902629191 -0.17934836246787134 -0.71976334824522326 +-0.83057924702343788 0.15176982563210051 -0.53582089772864006 +0.45190355698346274 0.073222413548941212 1.2500001952006992 +0.65533140597646033 -0.19822513155675103 1.2374358753329457 +-1.044471214357507 0.43448428132008543 0.95236958971440555 +0.88298463532804239 0.5104137576107175 0.64214823280782385 +-0.99999953231233207 0.6306012535342338 0.63060314028613451 +0.77019412159230582 0.37262238635989597 0.77795610033461204 +-0.41421305819797638 -0.99999936582405646 -0.41421456414219127 +-0.90718991961293227 0.55787469771155318 0.78193808398299636 +-0.44638117533074728 0.43749825262780262 0.97595364501503723 +1.2977624600046465 0.67872625969915146 -0.016625341383560595 +-0.37517856784974135 0.53480789651395688 0.9771375388493202 +-0.21463426047844547 1.221942460717647 0.67881135936396797 +-0.098487852249028784 0.4812789379455773 0.98896797174142681 +0.41421441599033793 0.99999962450946889 0.41421452022654059 +0.88298356423317914 0.51039632692683701 0.6421449559379846 +0.414214699698227 0.99999911628284854 0.41421462668352693 +0.41421434787084199 0.99999947658235633 0.41421475280167408 +-1.1136635172763953 -0.79217523633908749 -0.36438040919833836 +-1.1136635153780428 -0.79217523981008342 -0.36438040716508524 +-1.4292629275763384 0.029682165088455836 0.35762050477347251 +-1.4292631214763936 0.029681991393339387 0.35762075614045896 +0.86360116580403856 0.19497285561662203 0.58284712994132359 +0.83057885463646919 -0.15176931762235923 0.53582164986075154 +0.41421244332131224 0.9999993869940389 0.41421434791018641 +-0.33004614174276681 -1.111292304918345 0.59872612692821581 +0.41421249856913445 0.9999994014250031 0.4142143394567086 +0.83057896573778356 -0.15176921809732608 0.53582150583251797 +0.83057911988072708 -0.15176908001541756 0.53582130600647693 +-0.4380318391077237 0.66959256413319523 0.72863699155574913 +-0.66587282828107086 0.71787655803936157 0.57947836180058565 +0.90738998290530049 0.90738877714397814 0.71675730934188464 +-0.6658722252161442 0.71787671556246435 0.57947826952552828 +0.41421486366686189 0.99999882255388162 0.4142146882102149 +0.41421489002153589 0.99999877534283299 0.41421469809939759 +0.41421418256871378 0.99999911761513038 0.41421531717996207 +-0.8392579452185267 0.20117925121752805 -0.50837302217413782 +0.4142148043607039 0.99999892879332508 0.41421466595649858 +-1.4292626286885723 0.029682432831264191 0.35762011730314958 +0.59934147184873554 0.62214608427176343 1.1134717153296667 +0.41421421349150467 0.99999918476652505 0.41421521160266572 +1.1136616517297191 0.79217579354634915 0.36438053994553055 +-0.013100310901665493 1.1851185191180269 0.80882355404941308 +-0.66587126919047934 0.71787696528040068 0.57947812324389392 +-0.78150984622250563 1.1407549209878418 -0.33175832632318869 +-0.79729795023668792 -0.80544728161953638 -0.85853763444378561 +-0.78151003581424994 1.1407547854643463 -0.33175846805155373 +0.41421523424478657 0.99999815871063458 0.41421482726383518 +-0.79258842008415886 -0.18280458944681183 -0.68947727608526188 +-0.7815155086754586 1.1407424266774493 -0.33175308787594082 +-0.68868623982881561 1.2071068587759419 -0.26236850116494703 +-0.3595611736943487 0.021886466542590424 0.9863453854457771 +0.23289749199269005 -1.1922720037889993 -0.46031962906666979 +-1.1136640462034988 -0.79217406440709159 -0.36438112850844173 +-1.1136628975273344 -0.79217447930661788 -0.36438115544574645 +-0.66586984494937695 0.71787733729818437 0.57947790532054322 +-1.1136628490644056 -0.7921744201084473 -0.36438121380055044 +-1.1136615338166633 -0.79217488450065998 -0.3643812526055823 +-1.1136614853539619 -0.79217482530251027 -0.36438131096030413 +-0.59282726833050825 0.48179547063336425 0.69942596119312261 +-0.59282743031055318 0.48179551962931366 0.69942565533336376 +0.59235084940549498 0.11475658711039979 1.0224063504971355 +0.41421500733148886 0.99999880124167317 0.41421451640746931 +-0.61594645780373281 -1.0701741328690417 -1.2146340049469364 +-0.71775015774944695 0.72809185051487835 0.54576969043264123 +-0.71709714817044445 0.72873283439316161 0.54594236930184392 +-1.5883448101659856 -0.52704210008000119 0.446524482013132 +0.86360515821589878 0.19497323305231784 0.58284142833224761 +0.58747276259839132 0.61115609870504617 1.1287564982255418 +0.86359870014903239 0.19497212645380801 0.58285112551783391 +0.86360473535106275 0.19497399056092046 0.58284126965877459 +0.86360477336067487 0.19497392247153167 0.5828412839212922 +-1.5883443299676756 -0.52704041957252046 0.44652421365151673 +0.86360429239345171 0.19497378023613665 0.58284206332527777 +0.86360480383719107 0.19497386787672694 0.58284129535713225 +-1.1136631404844 -0.79217406737929963 -0.36437901066523182 +0.68745088645940222 0.70373232885665749 1.0000021681044657 +-1.5883429240181788 -0.52704120486700212 0.44652181185215056 +0.67502747417744779 0.69222852168347626 1.0160016291181022 +0.86360483199497384 0.19497381743563841 0.58284130592290362 +-0.98965812087244642 -0.40494880278747769 -0.44691926587922104 +0.67502726705551086 0.69222849063693559 1.0160016214533152 +0.41421257076629658 0.99999942028320632 0.41421432840980965 +-0.88297780527286807 -0.51038848722898877 -0.64215249091401461 +0.75776709167465417 0.67881162272457418 -0.98234529700767337 +0.013100049751363124 -1.1851189915261964 -0.80882339823174898 +-1.4292644640466872 0.029677292919032039 0.35762150644366697 +0.86360384802923629 0.19497364882526974 0.58284278341434836 +0.90738972777964033 0.90738892658503545 0.71675778863984729 +1.0667722705531353 -0.4128894875332012 -0.95185000777861895 +0.79705379725897219 -0.47157091281793651 -0.96152555763630532 +0.013099667396648411 -1.1851178230058061 -0.80882400411378685 +1.044471214357507 -0.43448428132008543 -0.95236958971440555 +0.41421273326229968 0.99999946272784768 0.4142143035462712 +-1.1864923432853791 0.24715536212690881 0.042899036055435338 +0.76676902394563995 0.1783802302080193 0.72824685458346727 +0.58578817919808568 0.14736891718638784 1.0000007517431784 +0.41421481906523849 0.99999896567184421 0.41421576298775331 +0.7450656708024288 -0.72440781296830248 -0.9593453002162271 +0.01310004514073396 -1.1851189774355784 -0.8088234055377852 +0.34052702148500957 -0.54000198974284119 -0.9784198594340241 +0.37638488245923596 0.85823692467349333 -0.54120363114175918 +0.41421404471932988 0.999999805285956 0.41421410288002891 +0.039469915214908141 -0.58512894196384058 -0.98956082614523688 +0.41421456138249835 0.99999994024055505 0.4142140238253178 +-0.26092189312104952 -0.1725921308162765 1.1076730506533812 +0.57174698187938211 0.14496105963214762 1.0210862723438203 +-1.1380684168310529 1.0487457390033383 0.19488361200688825 +-1.1380687961739882 1.0487468455829103 0.19488451346148294 +0.57174680768478714 0.14496131499468334 1.0210862611832709 +-1.1278235335308797 1.084597638132017 0.18915785637178073 +0.66860489662613398 0.68628177103281396 1.0242722210044581 +0.039469972065701145 -0.58512893344219141 -0.98956082404140755 +-0.68868615320975035 1.2071069206927652 -0.26236843641329577 +0.013099312100932275 -1.1851167371808566 -0.8088245671179406 +0.67502715544597369 0.69222847390722486 1.016001617323075 +-0.59763171976735419 1.0118439129688603 0.097633117006101861 +0.17187378039764856 0.86352964405397525 -0.87400730269858262 +-0.38639177703948691 1.1972657210391939 0.21694461896361739 +0.79729795023713068 0.80544728161994628 0.85853763444321562 +0.41421470152167539 0.99999909312293966 0.41421551098800125 +-0.38638893464977109 1.1972682160268064 0.21694622438814914 +0.41421452204441322 0.99999928772801261 0.41421512620958878 +0.701329653408447 0.94608389437952645 0.59034807690063551 +0.90739016465368283 0.90738936346018439 0.71675717080604695 +-1.1278236986384642 1.0845981562802613 0.18915825906882006 +0.90739012057037804 0.90738931937676814 0.71675723314931528 +0.90738925995771713 0.90738845876192742 0.71675845024060325 +0.41421360877922364 0.99999944673675123 0.41421577003241417 +0.90738921014064866 0.90738846811679985 0.71675841967983511 +-0.23289854706606977 1.1922709241669365 0.4603185499191621 +-0.089649919518028254 0.4968304302884593 0.98905675232281243 +0.056073766889691068 0.56488123393611112 1.0521097612317587 +0.34023490792763711 0.10528962094460598 1.3687173897970513 +0.34023449078558066 0.10529013962936237 1.3687174518362824 +0.34023472506988384 0.10529017977584434 1.3687171000424745 +0.656815770500494 0.59572906124044556 1.0168981906659806 +0.66179766881570434 0.62212724017520737 1.0166529270965339 +0.34023251000660026 0.10529262048131216 1.3687177293080031 +0.12178239123136486 -0.44028893714296047 -0.98873397258585394 +0.59235063146135292 0.11475690660807886 1.0224063365335772 +0.0091968156534509883 0.57481544204860979 1.0214211451417947 +0.037189642999202285 0.56888318727193377 1.0397469995805571 +0.58578851941818821 0.1473672264675619 1.0000019133257778 +0.63762222706975069 0.49402594290702828 1.0178431069758496 +-0.99999894998477235 0.65865474631925403 -0.12962995623554963 +-0.830579178177135 0.15176784551518635 -0.53582156530641756 +0.57174662161252998 0.14496158776941209 1.0210862492617263 +-0.81879038478174326 -0.18729450485623206 -0.65013324488870317 +0.098183855529224678 0.79933550053219737 -1.407855854934112 +-0.41421514894699396 -0.99999858259676833 -0.41421453603932812 +-0.039469749769395379 0.58512896676329418 0.98956083226773961 +0.84098764113202873 -0.63152363964805391 -0.95711045884409174 +0.44783775226039002 0.48185842276319824 1.3085829189724487 +0.34023387479317491 0.10529202216514513 1.3687164757384123 +0.44783734732394487 0.48185832318156763 1.3085829703657619 +0.15323225869033341 0.84729029353108576 -1.0090562852112748 +0.060663142687715332 0.23223016798300777 1.6213208251792253 +0.23289888330793612 -1.1922707328264353 -0.46032098468002725 +0.41421526035694656 0.99999888280410931 0.4142160337024704 +-0.93951286217640884 0.79211826405837105 -0.18558662170152551 +0.19981721312620804 0.5344183884490874 1.1462143294942617 +-0.69454363111675788 0.92677675382316815 0.042895809509447352 +-0.93842687712940154 0.79451450075422736 -0.18659127672375941 +0.12178244721084669 -0.44028896266077544 -0.98873396994634355 +-0.96589974709799642 0.73389508941325166 -0.16117558121690279 +-0.97663245603911042 0.7102131625214454 -0.15124653984907716 +-0.98916917558872508 0.68255075814651844 -0.13964869179306177 +0.2328983841858196 -1.1922711887730846 -0.46032049836564948 +-0.99999891810442154 0.65865477430312969 -0.12962993822904728 +-0.89344351459986271 0.50966766710300404 -0.33700184048350512 +0.23904091138635186 0.82337604171394108 -1.0052648823585626 +0.23904104964532974 0.82337611976504488 -1.0052648782022704 +0.41421301770098984 0.99999933635675098 0.41421460258465903 +0.41421338372934313 0.99999946368352433 0.41421605487951163 +0.41421265333531598 0.99999944185058243 0.41421431577591128 +0.074684938826106717 0.8691808643275909 -1.0125268505126686 +0.40332539659667588 1.0047162920718495 0.42427072105934271 +-0.86628829569271981 0.56451245184393772 0.18306146911734289 +-0.8662883800351211 0.56451236825139928 0.18306143219769272 +0.81879038478388244 0.18729450485659815 0.65013324488549107 +0.074419173603612138 -0.5236310176632355 -0.9892097494592853 +-0.75510827503265654 0.69456788293517979 0.59313229126264666 +0.1998174638408331 0.53441893289660558 1.1462134734986829 +0.19981749764309475 0.53441900630100903 1.1462133580902321 +0.36007995215553301 1.0234509404637087 0.46420622863883021 +0.41421233600029039 0.99999935896133518 0.41421436433139247 +0.36979623607829604 1.0192417038136155 0.45523359461512924 +-0.10029509142827392 0.59801907118614861 0.94974082010411598 +-0.039469915214908072 0.58512894196384058 0.98956082614523688 +0.3595610152181572 -0.021885567287266434 -0.9863454067694688 +0.58578846786566752 0.14736748265706001 1.0000017373146877 +0.13254871684163527 -0.46285543475486024 -0.9750533663306562 +0.58578841197149178 0.14736776042234917 1.0000015464802798 +0.4569679127004278 0.14951336211696348 -0.9853668956582835 +0.59282255097688852 0.38857085929940582 -0.98400224138833048 +0.1361543614475777 -0.47041301614335196 -0.97047168617145241 +0.59282139844386195 0.38857087785626898 -0.98400228724341443 +0.77644198536066034 -1.2235585808476421 0.31615777723200222 +0.39520075964466961 1.0082359984926152 0.43177353231264104 +0.23904151334428175 0.82337638153621895 -1.0052648642627173 +0.23289688478604731 -1.1922725584705596 -0.46031903744127223 +0.75776963856664858 0.678810091581594 -0.98234517071849647 +0.7577652373424868 0.67881294391963398 -0.98234539241285534 +-0.30396710085699707 0.02162375629851318 -1.3889839461446933 +0.57174583404463708 0.14496274231346795 1.0210861988026965 +0.58578827044546045 0.14736846373389212 1.0000010632808043 +0.59235070438334336 0.114756544223313 1.0224065855045072 +0.69964480241882443 0.28644536944002463 0.86290539655430365 +0.75776748631779833 0.6788123171523055 -0.98234529304335427 +0.73363007789989543 0.17270157640837736 0.77800726484263372 +0.75776660846219945 0.67881256180203797 -0.98234533183082906 +-0.41421513118457787 -0.9999986708668358 -0.41421447539472367 +0.90737051235113642 0.90736971110786424 0.71678496338603859 +0.44783702851918783 0.48185857613881655 1.3085824451662211 +0.57174613322458168 0.14496230372724622 1.0210862179709865 +0.74519890291017044 0.1746839273586458 0.7606359444311932 +0.75776814828397088 0.6788105069126138 -0.98234523656572548 +0.44783686558882752 0.48185842527133216 1.3085826549914965 +0.68604904162407832 0.26983795037810165 0.87927621805358602 +0.54751843309248205 0.8307033874293408 1.2528756165096655 +0.44783751025392204 0.4818584740493369 1.3085827605398883 +-0.38638896813127421 1.1972681866374741 0.21694620547729176 +0.59282457165103053 0.38857082676465593 -0.98400216099307869 +0.68745082835815841 0.7037323918551488 1.0000020435421453 +1.4458425705921147 0.55308129668748762 -0.53845467201665209 +0.68745078430696172 0.70373243961934051 1.000001949101494 +0.34023385123449956 0.10529285030253041 1.3687157153716156 +0.34023361695083365 0.10529281015770672 1.3687160671629854 +0.10185384484750212 0.83380621589465775 0.99098048449586607 +0.69526301691846504 0.69526172817959075 1.0167504688012241 +0.90736870411390136 0.90736790286604929 0.71678752062216322 +-1.4458420526031932 -0.55308287970955416 0.5384554928139631 +-1.5883438593765393 -0.52704398271681563 0.44652518605407832 +-1.4458425705921147 -0.55308129668748762 0.53845467201665209 +-1.588343414589481 -0.52704242612783103 0.44652493748224664 +-1.4458431271377674 -0.55307959583248301 0.53845379012293493 +-0.41421513722175018 -0.99999864086519619 -0.41421449600689297 +0.90739000939801739 0.90738920820412572 0.71675739037092945 +-0.59199430586452961 -0.94717637876110139 -0.40154789804190005 +0.62255030769084718 0.64363660742344631 1.0835828698258991 +0.3832257180362989 1.0134238553338109 0.44283195755975713 +-1.191224320457299 -0.22147642740508722 0.57908066866722496 +-1.4458437348932001 -0.553077738475654 0.53845282708298559 +-1.5783979909014438 -0.49223714869006641 0.4409668796702737 +0.68396402360472774 -0.059837814187550672 -0.97289042988639252 +0.67502707017926644 0.69222846112617265 1.0160016141676818 +-1.2554679461415374 -0.15369363755368748 0.51931211166654978 +0.59282600323180001 0.38857080371486219 -0.98400210403570298 +-1.5072058725328681 -0.24309125919106167 0.40118075068661596 +1.1226803128448108 -0.2691274717469252 0.68005583832983629 +-1.2795164257979992 -0.12832033358090827 0.49693879584232359 +1.1226806159600597 -0.26912751773308274 0.68005547682179346 +-1.4989573707080663 -0.21422457603472084 0.39657102751719897 +-1.2921274837554604 -0.11501453581140117 0.48520619625222539 +-1.4692105747396007 -0.11012187321951453 0.37994685775834081 +0.82322544561897604 -0.22369663719138289 1.0371983554559425 +-1.3431544959466439 -0.061176459157698537 0.43773361271976852 +0.66697585868022546 0.0053592111460528825 1.0271875326858511 +-1.4292638815730987 0.029676669506599744 0.35762241618793 +0.13268938696406868 0.85301544352556857 -1.00996395943781 +-1.4292620565476262 0.029683056415784739 0.35762139626184108 +-1.3983872527325563 -0.0029009445637035733 0.38634824744650742 +-1.1743639116075348 0.8256356467772894 0.24658935835782847 +-1.13763089946027 0.81785118380600985 0.27063705608089261 +-0.76776777043810318 -0.35355256313271499 -0.79289234741654235 +-0.48620585751404244 0.271562004067739 0.83057687309889983 +-0.48620098986307925 0.27156491317844822 0.83057877133499214 +-0.48620332258904431 0.27156328184188527 0.83057793919777234 +-1.1470512466057552 -0.19058503614984418 0.59483822417010868 +-0.90989081806324523 -0.51830851724793914 0.8408171023592601 +-1.1812171712239214 -0.23203486781490418 0.58839074204803232 +-0.8661142844410703 0.15024548198657717 0.64785408898953056 +-0.85356079647655081 0.12892437986632893 0.66217365093804359 +-0.34023327009473303 -0.10529275072344385 -1.368716587988807 +-1.0273880855424085 0.42415622235775674 0.46389165623220741 +-0.48620718388421524 0.27156148906094268 0.83057626506294557 +0.41421419828084005 0.99999915173531062 0.41421526353526283 +0.45696870156613223 0.14951263457162128 -0.98536685229958487 +0.75776581087190764 0.67881115833247563 -0.98234533984284833 +0.63203820049088 0.65242204505878942 1.0713641543338479 +-0.84060468907630637 -0.94469225120845191 -0.8308480826810094 +-0.65881822204585316 -1.0462284791140051 -1.1413960016003255 +-0.61594653412005917 -1.0701742138152404 -1.2146341711510864 +-0.30396737615790581 0.021622867421381774 -1.3889848221023833 +0.072810632149011151 -0.83058178228178825 1.5181639473440973 +-0.039469972065701062 0.58512893344219141 0.98956082404140755 +0.75776668872536179 0.67881091368105761 -0.98234530105543016 +-1.0942198767224265 -0.79795324260223688 -0.36576511212993512 +-0.48621875529912806 0.27155550270918327 0.83057144875137578 +0.757766845820532 0.67881297946659402 -0.98234532944649766 +0.75776547469996336 0.67881336158376016 -0.98234539002855059 +-1.1340943509114298 -0.61004753493660058 0.73956916636756298 +0.3402341090770632 0.10529206231035335 1.3687161239463776 +-0.4862050367585099 0.27156208307813567 0.83057732771393966 +0.44783643567248788 0.48185851637961197 1.3085823735410789 +-0.61594645644299084 -1.070174068350823 -1.2146342503566574 +-0.7069477569561371 -0.12008622153861537 0.82941278860289724 +-0.41421310321026261 -0.99999939325804887 -0.4142145304932956 +-0.303968514480772 0.021623177875319838 -1.3889845845224769 +-0.39181864568310454 -1.0066532246502256 -0.41581017022868294 +-0.61594666516662833 -1.0701741898692894 -1.2146342556918994 +-0.61594647019013693 -1.0701739900858969 -1.2146342068789568 +-0.75776719940320936 -0.67881258539858624 0.98234412665455961 +-1.5883444172646342 -0.52704392598102068 0.44652454307094425 +-1.5883446911372996 -0.52704377301006589 0.44652501093085961 +-0.34237046258325177 -0.73929179579955395 1.2452802484315115 +-0.83057493745779465 0.15174370235255452 -0.53583497730650187 +0.83057810824781186 -0.15176984030227791 0.53582265879187907 +-1.1340903121640435 -0.61004588237246304 0.73957099022301986 +-0.7577680780976459 -0.67881165829710799 0.98234330916803136 +-1.134092388892685 -0.61004673212288019 0.73957005239440532 +-1.429263607141944 0.029676423828465366 0.35762084812734518 +-0.59282139844386195 -0.38857087785626898 0.98400228724341443 +-1.5432587638881081 -0.36926027825641583 0.42132847812370644 +-0.55740188133669344 -0.37407801208765235 0.9999973652663452 +-1.588343363966422 -0.5270427092748291 0.44652325497349099 +0.23289806620927606 -1.1922714792437628 -0.46032018854855294 +0.90738683792052188 0.90738603671859797 0.71676187552180548 +-1.1136628553953392 -0.79217623319623987 -0.36437958603038378 +0.072810706921448559 -0.83058152060830159 1.5181639055578011 +-1.1136629268836891 -0.79217521300161375 -0.36437918625058807 +-0.79705379725897219 0.47157091281793651 0.96152555763630532 +-1.429264221104487 0.029677030835455025 0.35762197176611865 +-1.5294945662364308 -0.32109084343635286 0.41363627884556542 +-1.5199163941236864 -0.28757098969799921 0.40828343786168708 +-1.4292616163416643 0.029683390838891717 0.35761973554885529 +-1.2220639964998199 0.75479278149813034 0.24182528979735268 +-1.4292620324423058 0.029683018097160174 0.35762027497156246 +-1.1864920904951912 0.2471538782347143 0.042898759663246966 +-1.1591811547587176 -0.14259452216184909 -0.10983046659933346 +-1.1864907627888446 0.24715680784408006 0.042897531375839557 +0.35956076396266223 -0.021885262757884258 -0.98634542179868334 +-1.0452120997429035 1.3737108970578538 0.1429917517455061 +-1.0452125895310149 1.3737108585181756 0.14299250005273639 +-1.0452121766517641 1.3737106279065139 0.14299179472653978 +-1.0452113703311228 1.3737067443880271 0.14298944485601872 +-0.59282808399773668 0.48179511396255692 0.69942509759955085 +-1.0452120389579336 1.3737105509983065 0.14299155950264447 +-0.61594629407639045 -1.0701733985946222 -1.2146342971811586 +-1.3296756282103139 -0.068783327449701476 0.17536068301971003 +-1.2220631121154568 0.75479587649220914 0.24182479555037617 +-0.6159464694995378 -1.0701740125067989 -1.2146341991439278 +0.12631474453554903 0.75905063281461116 1.0297416265945523 +0.45696730951972986 0.14951391841102568 -0.98536692881111287 +-0.84006535872857513 0.18804243422812589 -0.51084237628656237 +-0.8429771821151455 0.14066239626248372 -0.51974891281577995 +-0.83058219600499306 0.15178311493808427 -0.53581256236224029 +-1.2220642478310584 0.75479636819135787 0.24182669530121342 +-1.0834904095564171 1.2397491501068885 0.16438315405776344 +0.072812673805541128 -0.83058177522453458 1.5181651401671292 +-1.0505611205470737 1.3549913879254585 0.14598108798073001 +-1.1520457216373599 -0.24440087294426471 -0.14972730899855158 +-0.86360429239345349 -0.19497378023613748 -0.58284206332527511 +-0.83058202035649575 0.15178244333778207 -0.53581302486360105 +-0.83058194842115651 0.1517820498765689 -0.53581324781701234 +-0.8305811735546389 0.15177920555100216 -0.53581525458384816 +-0.61594627298929083 -1.0701742360973334 -1.214634320667531 +0.72751963595881985 0.17165453486546417 0.78718247880944969 +-0.83058082208994155 0.15177720460053407 -0.53581636615105488 +-0.9453129033388572 0.7793203526447321 -0.18022087765035266 +-0.94206634622205931 0.78648394281678624 -0.18322433186611092 +-0.072813873755842112 0.83058199448759518 -1.5181659142752042 +-1.050560379694871 1.3549873357223352 0.1459787918140949 +-0.61594643835864793 -1.0701740299003966 -1.214634252342305 +-0.072813327130850675 0.83058168917158515 -1.5181668480802921 +-0.072812621804997257 0.83058156028972241 -1.5181663930623559 +-1.113664094666619 -0.79217412360528328 -0.36438107015356613 +0.072813873755842112 -0.83058199448759518 1.5181659142752042 +-1.113664122079836 -0.79217402202635046 -0.364380998888434 +-1.5883464761869992 -0.5270401113195875 0.4465217510254782 +-0.25971279616673215 0.28719921448029495 1.4336500939258916 +-0.99735514382920409 -0.085898617998440979 0.648238280865155 +-1.2688448357109618 -0.62975825634929827 0.37500270781214751 +-0.68131025826107505 -0.69804642422542851 -1.0079100497839959 +-0.83778287481364067 -0.76834247441550674 0.27851137536357207 +-0.45696640267957478 -0.14951475476039056 0.98536697865408196 +-1.0398041350561376 -0.72898265403889395 0.16349255124831469 +-0.9148448343700688 -0.78311718694435428 0.04809750933369443 +-1.1136630138766361 -0.79217397154425817 -0.36437869976540649 +-1.3752390773871657 0.082711162639582281 0.37190705906651489 +-1.1000073083760298 1.1819427208598001 0.17361269854101252 +-1.2220633898100588 0.75479599671790565 0.2418252600597583 +-1.2220640579529922 0.75479365848293267 0.24182563345805835 +-1.4292623313299111 0.029682750354521614 0.35762066244215318 +-0.35125187830386106 1.0000006775161707 -0.95547774864669099 +-0.78151018848179499 1.1407546763349141 -0.33175858217741749 +-1.1000074581904307 1.1819432936822172 0.17361309301842187 +-1.0834899170453705 1.2397470314121923 0.16438179050329338 +-1.2930188033275432 0.38679780497951821 0.32061323358639793 +-0.6159462803293223 -1.0701734768588715 -1.2146343406585456 +-1.4292625252299587 0.029682576659429097 0.35762091380943817 +-1.4292640219296575 0.029676833917068005 0.35762160724785341 +0.23904123942445688 0.82337622690072987 -1.0052648724971975 +-1.2220638116578195 0.75479747908030803 0.24182818448154247 +-0.57859456521012409 -1.0769994853825633 -1.1905376546735433 +-0.80590612735622891 0.047986709818551659 0.71653256604857085 +-0.072812673805541128 0.83058177522453458 -1.5181651401671292 +-0.28719919251063131 0.95032637345643312 -1.151929271962493 +-1.0004311997037156 -0.012706745697216897 0.62250702405489999 +0.022432419395516337 0.95286746977294934 -0.58197105328850607 +-1.1340902426974888 -0.61004585394831912 0.73957102159337862 +-0.89786978323100053 0.11171996002301365 0.64186148047640312 +-0.94915792782436337 0.049497585432928745 0.63218284894408527 +-1.185300968692701 -0.063773088008831191 0.53098578027400745 +0.072812645348556276 -0.83058187481288837 1.5181651560703204 +-0.55237435459077378 -1.0817906653814435 -1.1736228915398144 +0.27156952244756127 0.95037899900134182 -0.15175556947347363 +0.27157000315212898 0.95037939585870834 -0.1517522241541609 +0.27156894379053409 0.95037879770858935 -0.15175786542068903 +-0.27193954451756952 1.128846937168456 -0.0067103487505815532 +0.34696879555157956 1.0126267057263001 0.37296306527662759 +0.27190762341593389 1.1330396325614251 0.99268871495839806 +-0.21463316853550335 1.221943582381448 0.67881255471706647 +-1.3115612825063869 -0.048909356070059931 0.45221660553532961 +-0.75776484270209843 -0.67881224949392838 0.98234539637709939 +-0.7577644397557195 -0.67881154045265535 0.98234540042477869 +-0.94206522434158901 0.78648630936852726 -0.18322524763013814 +-0.59283122076022066 -0.31390409340967529 0.9595836872428356 +-0.77241899286378368 -0.1793483402108067 -0.71976309685200102 +-0.081123239433057825 0.59395611589332997 0.962291991735017 +0.39359347850575932 1.019277831150835 0.49804190701317252 +-0.48620426620723944 0.27156262194488645 0.83057760258737168 +-0.072812416720923784 0.83058163163066467 -1.5181655793468294 +-0.61594641770843706 -1.0701742350869687 -1.2146340960515762 +-0.48620241411878318 0.27156334107907842 0.83057845162363253 +-1.157870093275887 -0.067002330569110258 0.54809889645182963 +-1.5437543455326637 -0.37099461723599603 0.42160543883731083 +-0.07281223462578898 0.83058169497463052 -1.5181648568449018 +-1.5454196389936055 -0.37682250744793044 0.42253609770290479 +-1.1090459100057202 -0.072750055648647755 0.57855851204534114 +0.41421412952269587 0.99999962788358254 0.41421783619504382 +-0.96508578004409595 0.030174040097268998 0.62917708973875142 +-0.75776443681494743 -0.67881153527795002 0.98234540045431928 +-0.42637260297685109 -0.99473181617625239 -0.40298755041194345 +0.38341768174994739 1.028791162136538 0.53940707570689983 +0.68537093010836303 0.70180648465022455 1.0026805791722149 +-0.48621033461380425 0.27155974730577193 0.83057499019072245 +0.68745082163091253 0.70373239914942198 1.0000020291197109 +-1.1136636040206671 -0.79217399842714897 -0.36437992410200026 +-0.74407472110320017 -0.34071727502386118 -0.80940670321425734 +0.67502715684080949 0.69222847411630384 1.0160016173746924 +-0.52145033881111624 1.2780068354162224 0.48087675638186345 +-0.82671340030757268 0.083326210098740139 0.69279804422893787 +0.67609349989659995 0.69321587443502231 1.014628347078089 +0.68745082736617369 0.70373239293074619 1.0000020414154447 +0.72906169293068057 0.74226276455147233 0.94641423365233335 +-1.4309237256797647 -0.29218918475576094 0.26902730099132011 +-0.75776584546424841 -0.67881401392568286 0.98234538628113111 +-1.588341492085152 -0.5270417136828669 0.44652063535610365 +-1.5883404169362541 -0.52704205933774451 0.4465203946887305 +-0.91665504277136356 0.6225718518204173 -0.26904186384723927 +0.11670786626527427 0.89650852378973522 -0.76620276628049866 +-0.96025377476633733 0.74635300920423453 -0.16639875299020673 +0.086133905680049583 0.91478598892332497 -0.70645557527171765 +-1.4077650016670344 -0.037583974008783175 0.39219863681510359 +0.084991427409911197 0.91500857487279763 -0.7071060363344257 +0.13941114193053999 0.90440612916926399 -0.67612259773032357 +0.18597870896392615 0.92060521309604293 -0.49135567910647293 +0.026634356104089443 0.9503555037006961 -0.59018241715267128 +0.27156695227052052 0.95037810493458585 -0.15176576720812845 +0.27156607908932273 0.95037811365945646 -0.15176727501663156 +-1.2220638873214873 0.75479621211157077 0.24182609226436275 +-1.2977627527844886 -0.67872455325187886 0.016626340999464834 +-1.0505613053574492 1.3549923987737471 0.14598166077435426 +-0.48621314357677614 0.2715581944826424 0.8305738536067131 +0.45696856155577115 0.14951276369865207 -0.98536685999502271 +-0.94206684381170924 0.78648285048023081 -0.18322387782047478 +0.67502703129523089 0.69222845529765054 1.0160016127287328 +-0.83934734306381387 0.19972570101319714 -0.50864614667447783 +-0.27156806860776184 -0.95037792513353714 0.15176489560160816 +-0.8398449017333609 0.1916296232215281 -0.5101680536988491 +-0.27156815646088195 -0.95037787135158136 0.15176507518594723 +-0.83058405697854387 0.15179358294996775 -0.53580671264157043 +-0.27156770963417909 -0.95037775713978312 0.15176658993405812 +-0.89565149453290349 0.50768976944668376 -0.33413939140971127 +-0.91027167725251013 0.49459305274143361 -0.3151861436718163 +-0.27156736448154961 -0.95037788431972237 0.15176641113260725 +0.27157000375591256 0.95037916643019571 -0.15175365977823652 +0.271571687937606 0.9503803471435559 -0.15174325240743713 +-0.91834768356976504 0.48735859002127513 -0.30471660636169318 +-0.27156788953863265 -0.95037803475614369 0.15176452955870395 +0.59282331541870281 0.38857084699117528 -0.98400221097397966 +0.68745097954521417 0.70373222792481216 1.0000023676696395 +-0.35956146714510162 0.021885950177816499 0.98634538249794645 +0.41421333170039232 0.99999935035157317 0.41421467066207651 +-0.7577652373424868 -0.67881294391963398 0.98234539241285534 +0.48620059574218777 -0.27156624787083528 -0.83057856565068322 +0.27193844183888893 -1.1288479282720276 0.0067117177002861666 +-0.83814741252312475 0.10274597158502755 0.67975545027390272 +-1.524093804127796 -0.30219272766027228 0.41061866937902525 +-0.9129972090469709 0.62098822144137045 -0.27516044905497672 +-0.77641954758916065 1.2235795153534084 -0.31618694273741965 +-0.77641996498609056 1.2235795937332985 -0.31618719879232648 +-0.62790145976475409 1.1406252878397924 -0.56990081707649365 +-0.83925807048554923 0.20117830908241774 -0.50837308427548766 +-0.83057927168914891 0.15177053505279753 -0.5358206585541303 +0.44783659860279923 0.48185866724692505 1.3085821637160819 +-0.2974715382924279 0.95606396627920165 -1.1343809181402644 +-0.38946212513113421 1.0074450764968237 -0.97723245366580014 +-0.38946210496404721 1.0074449691003187 -0.97723251534644495 +-0.34023449078558066 -0.10529013962936243 -1.3687174518362824 +-0.30396944239242396 0.021623437195383774 -1.3889843848042585 +-0.34023472506988384 -0.10529017977584437 -1.3687171000424745 +-0.29747086695938485 0.95606395957120793 -1.1343797588829725 +-0.29747008615663395 0.95606395176938741 -1.1343784105934884 +-0.3894612057451271 1.0074448973753358 -0.97723193022057164 +-0.28719775133668923 0.95032637359020389 -1.1519266923309246 +-0.38946014484098179 1.0074446906822523 -0.97723132620309849 +0.095133284460409862 0.95036186181799609 -0.46757265241638024 +1.1340919887472185 0.61004533319797072 -0.73957142915211604 +-0.44783751025392204 -0.4818584740493369 -1.3085827605398883 +-0.44783734732394487 -0.48185832318156763 -1.3085829703657619 +1.4077649258192291 0.037584416082526148 -0.39219837785372136 +0.27155370699255155 0.95037823728207238 -0.15178863914214819 +1.4292636358342201 -0.029676426551693891 -0.35762196645048683 +0.68708738795322355 0.703395859770229 1.0004700895507042 +1.5072058725328681 0.24309125919106167 -0.40118075068661596 +1.2220644840973112 -0.75479576644520385 -0.24182588864224386 +0.41421484673476494 0.99999893567010378 0.41421582230800547 +-0.76676902396234126 -0.17838023021088162 -0.72824685455838911 +1.222064345548366 -0.75479553113184639 -0.24182604668334456 +1.4292649789425722 -0.029677843651672746 -0.35762071689400343 +0.37550684449321892 1.0361869872501148 0.57156506052969003 +1.5661220842664205 0.44926673729569366 -0.43410388202830419 +1.5199169871423215 0.28757131046145723 -0.40828319560065218 +-1.1136630075853859 -0.7921740613253152 -0.36437873494756845 +1.157870093275887 0.06700233056911023 -0.54809889645182963 +1.2612090075751983 0.14763630457559679 -0.51397104279059125 +1.1203097590274873 0.071423977426554958 -0.57153145617484102 +1.0452100286007089 -1.3737118320067454 -0.14299104520290434 +1.0452108940583411 -1.373711990148776 -0.14299048688003513 +-0.72751963597000624 -0.17165453486738147 -0.78718247879265246 +-0.72014045100817414 -0.17039005273211066 -0.79826282664802783 +-0.8305727735821995 0.15175157945420126 -0.5358361003821559 +-0.77642048269762487 1.2235796909505283 -0.31618751638589071 +-0.86965540136299002 1.2756552216257839 -0.15691351643463364 +-0.90738683792052188 -0.90738603671859797 -0.71676187552180548 +1.0452113941343657 -1.3737102400847099 -0.14299076634961111 +1.0746258428811872 -1.2707715523526586 -0.15942915393287915 +-0.83057999767209534 0.15177425042664283 -0.53581848084261807 +1.0452087798835654 -1.3737097623939301 -0.14299245285090922 +1.1380687961739882 -1.0487468455829099 -0.194884513461483 +1.2220638873214873 -0.75479621211157077 -0.24182609226436275 +1.0834904095564175 -1.239749150106888 -0.16438315405776349 +1.2220635980208741 -0.7547964281584485 -0.24182619097480235 +0.77419805703538058 0.17965320509613719 0.71709170334587902 +1.2220640148400603 -0.75479496945249336 -0.24182642391829706 +0.79258842003809105 0.18280458943891725 0.68947727615443588 +0.10185373275699072 0.83380638021501019 0.99098047731429029 +0.10185356457094763 0.83380662676924122 0.99098046653870564 +1.4458438109185323 0.55307906784072025 -0.53845419994843779 +0.072810735377973779 -0.83058142102189758 1.5181638896549785 +1.4458437225557028 0.55307933788714414 -0.53845433996820247 +-1.0125636526481077 0.60875791626865494 -0.093143699038921168 +1.4292643515600516 -0.029677181706748268 -0.35762130057728936 +-0.81603801271282306 0.57901053036341943 -0.43734740266198213 +0.10185342147420814 0.83380683654352428 0.99098045737057827 +-0.83057932777357757 0.15177214812018536 -0.53582011472364544 +1.5883456238235283 0.52704014785526554 -0.446523599965439 +-0.27156847099282599 -0.95037751236686785 0.15176676036085746 +-0.35761762389546126 0.98965925304635549 -1.0316274671711323 +-0.27156793165815096 -0.95037768576021042 0.15176663963315207 +-0.27156856136572216 -0.95037762347678512 0.15176590286933572 +-0.41421415831437203 -0.99999906494482338 -0.41421539998968815 +-1.5883442463488482 -0.52704221642059768 0.44652476235826544 +0.48619963055037729 -0.27156584727541377 -0.83057926162799012 +0.3575313113308296 1.0106432488086914 0.37944271043082933 +0.37311751033582174 1.0077164314782587 0.38900416728124387 +-0.83818057983909333 0.21870998001352437 -0.5050775542180439 +0.56813000412031323 0.12579769277621816 1.0212643003120978 +0.56813022662341672 0.12579759134989454 1.0212643108034283 +0.54576908307258831 0.0073106413166960406 1.0223651591915304 +0.59282588163991856 0.3885708056726056 -0.98400210887340034 +-0.6686048966319913 -0.68628177103823784 -1.0242722209969144 +0.90738566618019822 0.90738486497530646 0.71676353261448478 +-0.83424892030571662 0.096124692230853209 0.68420239768570967 +-0.33857972549682358 -1.0327652109593064 -0.48406084964610241 +-0.77642081985357692 1.2235793787552698 -0.31618708218683511 +0.27190836535643725 1.1330390944315289 0.99268875329033102 +0.4142147829021029 0.99999900488310445 0.41421568545818921 +-0.027075109047542005 -0.81232960181397984 1.4537258553105232 +0.56812939602470292 0.12579796997191206 1.021264271639545 +-0.88235295526540147 0.60772099414133085 -0.32642021955895084 +0.81020901979149795 -0.05529500777750887 -0.71162442057529951 +-0.83481229375168287 0.27351822894460798 -0.49477456965968092 +0.82442186203611634 -0.079434286710452079 -0.69541200384222956 +0.67881033809143498 0.71227499449811504 1.0158153656611932 +-1.1340968518449421 -0.61004855826206228 0.73956803697253082 +1.2220642224815101 -0.75479596181733344 -0.24182597790652305 +-1.445841451164616 -0.5530847177614886 0.5384564458443204 +0.67566047776784455 0.69558435443318567 1.0159704379310104 +-1.1520472350715649 -0.2444011322851401 -0.14972503647242519 +-0.617643379127778 0.75672864189090516 -0.69454195994204126 +0.48619955273309079 -0.27156558557528598 -0.83057939274575743 +-0.36007995212553245 -1.0234509404767054 -0.46420622866653505 +-0.074419173603612054 0.5236310176632355 0.9892097494592853 +-0.59570478455779607 0.70531482275136614 -0.74311179322118059 +-0.4796697448768189 0.43338288449631346 -1.0000016552342497 +0.48620228309213676 -0.27156441251701424 -0.83057817800687972 +0.48620788453993269 -0.2715613826969383 -0.83057588969339324 +-0.29746987288154847 0.95606394963833186 -1.1343780423102636 +-0.28719753540123827 0.95032637361024719 -1.1519263058169238 +-0.072811829829335512 0.83058183578790756 -1.5181632507272078 +-0.2871985265276864 0.95032637351825011 -1.1519280798852711 +1.0273885913248795 -0.42415565968310753 -0.46389031792303437 +-0.30177899354822857 1.0803714830474735 -0.36366235255158574 +0.27190676956496695 1.1330390369550494 0.99268869119259273 +0.089530643867226062 0.95219702092433356 -0.46610589994655693 +1.1376277010962972 -0.81785233280656233 -0.27063603139495485 +-0.072813442040384896 0.83058128703248424 -1.5181667838625406 +-1.1520473672515705 -0.24439924597314211 -0.14972429729050257 +-1.4292638485365683 0.029676662488341304 0.35762128991384001 +0.67128642222132462 0.67240754814968695 1.0161857680551036 +-1.4292641344160133 0.029676945129070979 0.35762181311388253 +-0.52308872849605104 -0.74520874743653898 -1.2665282514673235 +-0.58747276260093106 -0.61115609870739807 -1.1287564982222711 +-0.53333303768975404 -0.78105988300412688 -1.2608031694820392 +-0.013099405546480057 1.1851167776626772 0.80882465341165144 +-0.27194082028078403 1.1288471767346184 -0.0067111313759620084 +-1.1136627958808609 -0.79217396161387477 -0.36437824750258396 +-1.1047738821920916 -0.79176904403135717 -0.34593694887258897 +-1.4292626746597219 0.029682442800686527 0.35762110752653276 +-0.80709396884338802 -0.77820880089057209 0.27164179814016198 +1.204256477890703 0.20772634010500357 -0.56695664338755147 +-1.2220641680510327 0.75479522966803203 0.24182624915239931 +1.2482393891047301 0.16132041727455276 -0.52603728511517511 +1.5294945662364308 0.32109084343635286 -0.41363627884556542 +1.5199163941236864 0.28757098969799921 -0.40828343786168708 +0.70694765859429665 0.1200854515305835 -0.8294134026339004 +-1.1864922052378737 0.2471555157024799 0.042899401331524797 +-0.52308870243016159 -0.74520882347322792 -1.2665283134092071 +-0.5333330176618869 -0.78105994585650396 -1.2608032183299631 +0.54289072312332887 -0.90909405903677887 -0.7623582691405062 +0.63285145159774481 0.46874660178698591 1.0180779744897759 +-0.94263638907891112 0.63382027162331722 -0.22558196567462385 +1.0180832165770153 0.083458206599923562 -0.63530696853865121 +1.3983870686886992 0.0029011257902096556 -0.38634788018322097 +0.54576819718794889 0.0073106555794466514 1.0223651239454266 +-0.57302117823536403 -0.91995308509536788 -1.2386232592342319 +1.2220641680510327 -0.75479522966803203 -0.24182624915239931 +-0.90738920715564286 -0.90738840595971948 -0.71675852491408598 +-0.90738915382869934 -0.90738841597369602 -0.71675849220014354 +1.0634378340294068 0.3563026607654689 -0.69796681030330743 +-0.57123413507822218 -0.35058502787403278 0.98421913574964104 +0.65214501039869899 0.57097913341855033 1.0171281435415453 +-0.95844261627848315 0.64066345353299203 -0.19914234178234413 +0.64770543952277215 0.54745477616097116 1.0173467056978756 +-0.84098764113202873 0.63152363964805391 0.95711045884409174 +1.4292640219296575 -0.029676833917068005 -0.35762160724785341 +-0.64094653866439133 -1.0562103411549888 -1.1719262634935519 +-1.0667722705531353 0.4128894875332012 0.95185000777861895 +1.4292640624067188 -0.029681051156896635 -0.35762020468411226 +1.174362358924455 -0.82563719946430214 -0.24658716253020951 +1.1862940401583586 -0.78150878524868839 -0.25403089645497279 +0.27191074527549086 1.1330387625298317 0.99268885289571784 +0.27191118393666458 1.1330383089222793 0.99268887782742921 +1.20250094293083 -0.72156878981337513 -0.26414178272638844 +0.82852461154631207 -0.086402450650786555 -0.69073204724622372 +-0.55237438339679001 -1.0817906788621872 -1.173623027502376 +-0.52145132308223396 1.2780074238248122 0.4808786798302277 +-0.61594623478336907 -1.0701741023914546 -1.2146343420191323 +0.27191010419318429 1.1330394254555549 0.99268881645921492 +-0.74593746155824059 0.028107128230675099 0.97097288865186493 +1.2795164257979992 0.12832033358090827 -0.49693879584232359 +-0.69454149007507437 0.098347866023093866 0.97182745530185932 +1.3602086399154922 0.043182798161007244 -0.42186705711185135 +-0.6478465809396452 0.026527864175968058 0.97487556538225606 +-1.0452071659525917 1.3737109327895078 0.14299053655152399 +-0.67493464455747776 0.026963982242331416 0.97379783058279279 +-1.0452096714934114 1.3737113906174736 0.14298892017599946 +-0.68396402360472774 0.059837814187550672 0.97289042988639252 +-1.0452082863500229 1.3737106169502771 0.14298655392851506 +0.77494643744520553 0.17978144109360261 0.71596796401748963 +-0.61594631836521363 -1.0701743948954312 -1.2146342953089331 +0.48593111517925569 1.093931768111625 1.1307591197237832 +0.38638893464977109 -1.197268216026806 -0.21694622438814903 +0.55237435459077378 1.0817906653814435 1.1736228915398144 +0.7577644397557195 0.67881154045265535 -0.98234540042477869 +0.48593094540974702 1.0939316244966619 1.1307590673013781 +0.75776944843298755 0.678810269338048 -0.98234439781438154 +0.69526306502378055 0.69526167843519637 1.0167504715353339 +-0.35956219294041802 0.021886482952461254 0.98634534489371051 +0.57302095122740049 0.91995294613543854 1.238623171783932 +-0.21463332574652161 1.2219433269854618 0.67881067409293294 +0.83839526703305656 0.0025993571394057752 1.0340076828557461 +0.59235088551558013 0.11475679079941878 1.0224063485125869 +-0.35956051024187774 0.021886455860999715 0.98634541184211999 +-1.0735096534079211 0.37888401712234954 0.45169541720968731 +0.2186047920510526 -0.32035995890559144 1.4366887635451384 +-1.0551527607365569 -0.079094514171498348 0.61218046944253746 +-0.89344383009160255 0.5096673887639307 -0.33700135366289208 +0.90989172146872455 0.51830760436125112 -0.84081793629238044 +-0.52145191763817689 1.2780069798161615 0.4808784769654223 +0.67881030432336775 0.71227502941675214 1.0158153637419538 +0.21860718301321552 -0.32035817335807992 1.4366895793507486 +-0.3039695966302205 0.021623798656741286 -1.3889840433373499 +0.54576934922039122 0.0073106370317140359 1.0223651697805765 +0.77011456310522353 0.17895345496975645 0.72322335750650635 +0.67881063311706358 0.71227468942016126 1.0158153824292464 +0.56813043852104483 0.12579749475799512 1.0212643207946956 +0.22703704951656206 -0.29084872093030578 1.4319758198907655 +0.22703736940106317 -0.2908493914192416 1.4319762263651725 +0.2186041391249452 -0.32036044650451889 1.4366885407642052 +-0.57348346917380133 -0.59820247574779262 -1.1467723094675111 +-0.32548166196180228 -1.016661657628521 -0.35978157007083222 +0.67881024073446916 0.71227509517229759 1.0158153601278204 +0.57322441811195501 0.0068686101771632691 1.0234575063751579 +0.54576962635947135 0.0073106325697723674 1.0223651808069247 +0.57322463842246818 0.0068698529001360135 1.0234574942672694 +-0.75776584542800673 -0.67881401393230512 0.98234538630451107 +-0.34696879550904236 -1.0126267057342875 -0.37296306525053291 +0.27191184876908026 1.1330376214372158 0.99268891561379125 +-0.09152889241393003 -1.0605943752510463 -0.21626092329433305 +-0.83057698002591507 0.1517647803100769 -0.53582584087508622 +0.48621875529912806 -0.27155550270918327 -0.83057144875137578 +0.48621321629392567 -0.2715578238232722 -0.83057393223120735 +0.76133931886211914 0.027705937550682735 -0.76736949558924183 +0.48620332258904431 -0.27156328184188527 -0.83057793919777234 +0.30396944239242396 -0.021623437195383774 1.3889843848042585 +-0.48619963055037729 0.27156584727541377 0.83057926162799012 +-0.48619932004170763 0.27156523507753583 0.8305796435552435 +0.27191038945414914 1.1330391304749736 0.99268883267228447 +-0.48619991772845861 0.27156641347478006 0.83057890839748016 +0.27190721446948096 1.1330389129650973 0.99268871085039767 +-0.39520075956845313 -1.0082359985256333 -0.43177353238302441 +-1.0452098932181846 1.3737114311323997 0.14298877713682245 +-1.0452100977296741 1.3737115453617008 0.14298912650542911 +-1.045209942402717 1.3737115419329577 0.14298938297174152 +-0.96620376760261162 1.3295827880598505 0.0080219832821557986 +-0.27156842183625018 -0.95037809043868138 0.15176322838563783 +-0.77641940576174528 1.2235794887206843 -0.31618685573245375 +-0.27156895541660708 -0.95037834014554456 0.15176070992033402 +-0.27156860146080086 -0.95037823873210492 0.15176197834243399 +-0.84588315084438293 0.59193171711697112 -0.38742445958425986 +-1.0452108940583411 1.373711990148776 0.14299048688003513 +-0.84454588371104 0.55347002539964918 -0.40039145687837685 +-0.86965536727323101 1.2756542411561562 -0.15691384699073879 +-0.77642578574840759 1.2235747805009241 -0.31618068696577561 +-0.77642136498233305 1.2235788739840738 -0.31618638015446854 +0.5333330176618869 0.78105994585650396 1.2608032183299631 +-1.2025011395454763 0.72157183446017803 0.26414301012863672 +-0.87327087943289317 0.52773825615424341 -0.36315311983311871 +0.86360518791792695 0.19497317984491008 0.58284143947747324 +-1.1862949853258695 0.78150930217415993 0.25403266136427283 +0.67881033245110212 0.71227500033062929 1.0158153653406194 +1.2930182316043002 -0.38679749229436311 -0.32061216600831399 +-1.3602090234473687 -0.043182402295491071 0.421867065833752 +-0.21860748489564913 0.32035830405539101 -1.4366890743820839 +-0.22703902286392691 0.29085116940840094 -1.4319770684070883 +0.60309850863004244 1.0252120534647196 1.22181436841583 +-0.96419293279434704 1.3284577067920784 0.0045855756415792287 +0.61594631836521363 1.0701743948954312 1.2146342953089331 +-0.43266416333363322 -0.99653443889140325 -0.4255337385522594 +-0.9073899339285032 -0.90738798024777201 -0.71675715954437114 +-0.22703851413773107 0.29085179082673895 -1.4319776809719333 +-0.21860718301321552 0.32035817335807992 -1.4366895793507486 +-1.045211396627058 1.3737116177778734 0.1429919276851474 +-0.86611873836192799 1.0206131182234297 0.36327681415454216 +-1.0452107636009407 1.3737103697056496 0.14299270631051236 +-0.8661179011788096 1.0206137434237181 0.36327709980468559 +0.19822265023655056 -1.3624364707764474 -0.32322537652761174 +-0.52145285619027115 1.2780062789144986 0.480878156727789 +-0.71819377734807732 0.72896474867767536 0.54522527345255356 +-0.38945991273093039 1.0074446454608794 -0.97723119405305714 +-0.31573840091778826 1.0576938320357567 -0.5306506380028071 +-0.68604904151549539 -0.26983795024546608 -0.8792762181843321 +-0.69338006118687812 -0.27879292464403793 -0.87044882740694529 +0.0040863101347461302 0.66177218869659016 0.98999835917524259 +0.030952620580752571 0.70904687256055854 0.99026824345888853 +-0.21463356450891963 1.2219431937001923 0.67881245000746882 +-0.27156920166470855 -0.95037841069917461 0.15175982747532663 +-0.60309850863004244 -1.0252120534647196 -1.22181436841583 +-0.056409532623570943 1.0000000951021462 -0.42789925242846294 +0.27190865978645318 1.1330396125185191 0.99268875624801423 +0.13213638420284735 -0.091933656664433427 1.3113863836658779 +0.27190811897369127 1.1330386608898091 0.99268875081530461 +-0.27193977989849749 1.1288465547821267 -0.0067131644759595467 +0.27190746085165041 1.1330393465076871 0.99268871332538677 +-0.03947024995286226 0.58512889178829797 0.98956081375787153 +-0.074828137311621135 -0.53949284395825825 1.3365683041865739 +-0.73705156556398665 -0.33213846471545894 -0.81786331376033106 +1.1812171152200754 0.23203493761809746 -0.58839123944916838 +0.52145036883992657 -1.2780066968099693 -0.4808794761227021 +0.27190874487662398 1.1330397622454766 0.99268875710278359 +-0.22724660716986028 -0.23898508706486976 1.1490928060069909 +0.072810802002770847 -0.83057729405640845 1.5181649553300613 +0.072811153970318621 -0.83057798799447502 1.5181653882519468 +0.52145065768491405 -1.2780073022390157 -0.48087910908993048 +0.52145133427203461 -1.2780069836623102 -0.48087954490856499 +1.0951932894718208 0.074380717852411238 -0.58720073028199127 +0.90299358787555262 0.097006693461271998 -0.70710730397259702 +0.30396789028092608 -0.021624072284470844 1.3889836838870364 +0.24385073305101523 -0.23201555783695532 1.4225820747655242 +-0.07281161300016778 0.83058191121452118 -1.5181623904104735 +0.54576781905682248 0.0073106616673611659 1.0223651089009747 +0.56812904467167225 0.12579813013348129 1.0212642550727615 +-0.7764219101008758 1.2235786561582715 -0.31618616796444199 +-0.83925816708417922 0.20117667379125953 -0.50837339833833117 +-1.2071067648415252 0.79289155856051186 0.29289445335832132 +-1.2025010767148054 0.72157086150519056 0.2641426178968882 +-0.35312885409261263 0.13683013806663791 -1.2801504108337607 +-1.2930186362419884 0.38679771359758963 0.32061292158775456 +-1.2025008473009184 0.72156730895063537 0.26414118573948864 +-1.1862933399617361 0.7815084023012584 0.25402958897929662 +-1.1862935851556413 0.78150853640127105 0.25403004682935915 +0.70694769665182333 0.12008574945710734 -0.82941316505699891 +0.83266333482258958 0.10528605381888581 -0.75098385320933025 +-1.2930182316043002 0.38679749229436311 0.32061216600831399 +0.79353122006074628 -0.026969061802141821 -0.73064850370508805 +-1.2930179272105264 0.3867973258162366 0.32061159761420766 +0.78748379893842291 -0.016698070228541077 -0.7375467387792678 +-1.1862940401583586 0.78150878524868839 0.25403089645497279 +0.81796994082617114 -0.068476227061178202 -0.70277161524204024 +-1.174362358924455 0.82563719946430214 0.24658716253020951 +-1.2930176848500778 0.38679719326518969 0.32061114505485044 +-1.2025007931351865 0.72156647017526487 0.26414084760017653 +-1.1767769117963174 0.32322313958523374 0.10355489750212843 +1.1864924922004318 -0.24715399974316421 -0.042898001140897549 +0.64644458604923938 -0.35355200412986787 -1.2071082708454126 +0.64644458605017707 -0.35355200413158272 -1.2071082708444081 +-0.81603575593809108 0.57900929610141971 -0.43735161673267919 +-0.81603792223059446 0.57900737349673426 -0.43734848175308327 +-0.81603822313265018 0.57900710644336928 -0.4373480462985897 +-0.84029573358317089 0.1842929178305967 -0.51154731275605592 +1.2071064563573226 -0.79289234423845212 -0.29289550658342878 +-0.27157000274639775 -0.9503793955975659 0.15175222651546288 +0.90718991961293227 -0.55787469771155318 -0.78193808398299636 +-0.38808466109685491 -1.0049057810529258 -0.39818600077441013 +1.2071067648415252 -0.79289155856051186 -0.29289445335832132 +1.2220638116578195 -0.75479747908030803 -0.24182818448154247 +1.2025011395454763 -0.72157183446017803 -0.26414301012863672 +-0.81604341253558355 0.57900250080014293 -0.43734053638370729 +-0.8160443469810017 0.57900167147116877 -0.4373391840883385 +-0.83057817746198648 0.15176734308765671 -0.53582325882953308 +-0.83821753717876346 0.21811287702393695 -0.50518935198943771 +1.2220644990656084 -0.75479572832246999 -0.24182583753756298 +1.2220643940221483 -0.75479422926609585 -0.24182525010744371 +1.2220641081880745 -0.75479630160059141 -0.2418269459419678 +1.2220642478310584 -0.75479636819135787 -0.24182669530121342 +-0.61475856861629263 0.70562159246354805 -0.74386988741563309 +0.22703851413773107 -0.29085179082673895 1.4319776809719333 +0.30396733299253953 -0.021624300314334134 1.3889834322214649 +-1.1743616165923831 0.82563794179825378 0.24658611271309872 +0.48620301041673575 -0.27156362139601242 -0.83057801091476335 +1.0517806850469382 -0.094670739894718692 1.0440691017065475 +1.2220641332954343 -0.75479665990196287 -0.2418270863481265 +0.69338006117987927 0.27879292463548822 0.87044882741537299 +-1.2025010238236309 0.72157004246678591 0.26414228771422854 +1.2220642076500234 -0.75479647052837495 -0.24182683248708836 +-1.1862944280319456 0.78150899738223556 0.254031620730504 +-1.1442916479997494 0.30545639689972715 0.042895205767437466 +0.6553314059754296 -0.19822513155702026 1.2374358753334485 +1.2220639047419639 -0.75479339826781477 -0.24182580822429517 +-1.1318983661102142 0.29867830047609312 0.019753246271335713 +1.2025008473009184 -0.72156730895063537 -0.26414118573948864 +0.29289428574807685 -0.29289478762968879 1.4142128863929768 +0.31573793404158446 -1.0576942502624291 0.53065124324349888 +-0.83995946589692894 0.1897659161998646 -0.51051834908742988 +-0.84297733574755473 0.14066248028665851 -0.51974862593817761 +-0.77644198536066034 1.2235585808476421 -0.31615777723200222 +-1.1743612303381536 0.82563832805346138 0.24658556646659457 +1.1864919245293857 -0.24715382803310931 -0.042899073049182335 +1.3802062205499084 -0.0088857235128048419 0.88387852813866896 +0.88299173107607931 0.5104074444857809 0.64213427050829419 +0.35312885409261274 -0.13683013806663796 1.2801504108337607 +-0.81604071340340356 0.57901200740927172 -0.43734235966815704 +0.3531293483202671 -0.13683023847314818 1.2801503409776176 +0.70694763186682286 0.12008524229934719 -0.82941356948211586 +0.70694762216537876 0.12008516635333111 -0.82941363004409241 +1.1864933379585363 -0.24715425556944171 -0.042896404133043242 +1.159182203026333 0.14259372444748269 0.10983218860207541 +1.1864930021990281 -0.24715415400836332 -0.042897038132964721 +0.57302117823536403 0.91995308509536788 1.2386232592342319 +0.24384905945373048 -0.23201536081788426 1.422581030668431 +1.113664094666619 0.79217412360528328 0.36438107015356613 +1.3086481755859141 -0.11125901525265189 0.280327410801539 +0.85355264851542056 1.2677671234864119 0.085786632512320965 +-0.81603557775124314 0.57900947616848919 -0.43735147570221433 +-0.77642484306345994 1.2235757231882594 -0.31618202012491847 +0.83814741252312475 -0.10274597158502755 -0.67975545027390272 +0.41421510553760854 0.99999879831907434 0.41421438783060571 +1.2220641739970457 -0.75479308296093128 -0.24182508732797553 +1.2220639964998199 -0.75479278149813034 -0.24182528979735268 +1.2220640579529922 -0.75479365848293267 -0.24182563345805835 +-0.71709758429079207 0.72873244240187551 0.54594291073502066 +-0.71775075942856903 0.72809129599586564 0.54577018776142672 +0.3576176563156086 -0.98965920037844723 1.0316278549945319 +1.1864922425266529 -0.24715392422143634 -0.042898472588919684 +-0.50000103797404427 0.40616544177607328 -1.027482579016691 +0.48593058346717033 1.0939313183146502 1.1307589555386675 +-0.59282826268216859 0.48179450980126826 0.69942549825726807 +-0.21463418297802367 1.2219425866206812 0.67881228646201741 +-0.40047230556164304 0.14644835894744784 -1.2734586952083236 +1.1864920904951912 -0.24715387823471419 -0.042898759663246855 +0.8160434125355811 -0.57900250080014515 0.43734053638371062 +1.0942188310204912 0.79795181908362078 0.36576648031769676 +1.1136610300710061 0.79217503417664581 0.36438128849577989 +1.1136627061656412 0.79217631654814857 0.36437984096124298 +1.1136622024176108 0.79217646622364346 0.36437987685250173 +-0.33009457443405799 -0.037200106993190166 -1.4473907904892376 +1.1136623627213362 0.79217666203814763 0.36437968382795105 +0.27190852792111464 1.1330393804847159 0.99268875492336694 +0.35762120740513859 -0.98965576175000525 1.0316279377297151 +0.35761961448634594 -0.98965730422191989 1.0316279006170408 +1.0273882390608287 -0.42415605157104885 -0.46389125001981069 +1.2025010238236309 -0.72157004246678591 -0.26414228771422854 +1.0273883803434369 -0.42415589439647938 -0.46389087618358349 +0.53033113782233943 0.030329037126419822 1.1035524733359177 +0.35312990775101494 -0.13683035212621603 1.2801502619054048 +-1.2930184723881357 0.38679762398313366 0.32061261562366361 +-1.20250094293083 0.72156878981337513 0.26414178272638844 +1.0273888509979501 -0.42415537080110299 -0.46388963082359413 +0.41421505155208393 0.99999875755638379 0.41421443405057135 +-1.186294680490513 0.78150913545539469 0.25403209214585465 +0.48620585751404244 -0.271562004067739 -0.83057687309889983 +-1.1743629950243757 0.82563656336277003 0.24658806211222523 +0.48621033461380425 -0.27155974730577193 -0.83057499019072245 +1.3964470366981199 -0.31066111203607361 0.35355008549930356 +1.3964469393280101 -0.31066136002785538 0.35354975305879877 +1.3950248555638129 -0.015166384691681245 0.50888160125451387 +-0.27156926034861595 -0.95037848284872783 0.15175927066067113 +-0.81603773747111719 0.57901037982984027 -0.43734791662023875 +0.35312690916208844 -0.13682974293762223 1.2801506857381364 +1.1864925699937459 -0.24715510991759337 -0.042898436181172589 +1.2220643325691314 -0.75479335228111322 -0.24182490644632343 +1.073508536546163 -0.37888501760464688 -0.45169396935225148 +1.2522597301260281 -0.21876009305681454 -0.68342027105698921 +0.83424892030571662 -0.096124692230853209 -0.68420239768570967 +1.0735092288420565 -0.3788843974475139 -0.45169486681852233 +-1.1743634077930256 0.82563615059307449 0.24658864585581947 +-0.81603675089528727 0.57900984025757385 -0.43734975885120531 +-0.62963515023891325 0.74444156221338442 -0.70710378298482746 +0.80590612735622891 -0.047986709818551659 -0.71653256604857085 +1.1728451024691151 -0.26233769224505443 -0.079009871497086381 +-0.48619983975025682 0.27156625973321236 0.83057900431106746 +0.63695441439076528 0.23896231938135487 -0.90925415904610674 +0.13213704644145241 -0.091933791203783227 1.3113862900623849 +-0.81603684367006069 0.57900833072920976 -0.43735004260659738 +1.4292622125873042 -0.029682805573593297 -0.35761957788029264 +1.4129127241529722 -0.02274789552032714 0.056215364235996809 +1.4292654253051582 -0.029679652020516339 -0.35761872832337815 +1.2025007931351865 -0.72156647017526487 -0.26414084760017653 +-0.81604117557764932 0.57900448612105349 -0.43734377362774024 +1.0273890344101693 -0.42415516675803688 -0.46388914551168703 +0.4142150865595593 0.99999872099445386 0.41421445107129029 +1.4213785934887198 -0.041761914232589514 -0.43867848597006465 +0.81862440769883493 -0.069587785432050353 -0.7020250745295733 +0.41421513118457776 0.9999986708668358 0.41421447539472345 +0.41421487226173503 0.99999874779957199 0.41421449384211229 +-0.8429767905753287 0.14066218212270576 -0.5197496439375815 +-0.84297646990541764 0.14066200674288332 -0.51975024272409809 +1.2220648616029046 -0.75479425079658213 -0.24182430298258983 +1.222064380522486 -0.75479603023976627 -0.2418262422668554 +0.41421497553895781 0.99999883694475855 0.41421439709280616 +-0.58578841197149178 -0.14736776042234945 -1.0000015464802798 +-0.83925776951051456 0.20118652940682075 -0.50837119038747902 +0.22703787812692916 -0.29084877000544951 1.4319756138038149 +0.22703755824219907 -0.29084809951749724 1.431975207330209 +-0.81604275965901873 0.57901312653539083 -0.43733853869936279 +1.1715731573214461 -0.24264117523132156 -0.071069525430321301 +-0.83918531856078626 0.2023619842840394 -0.50815058818667924 +1.4292620324423058 -0.029683018097160174 -0.35762027497156246 +1.4292631214763936 -0.029681991393339387 -0.35762075614045896 +1.0273880855424085 -0.42415622235775674 -0.46389165623220741 +1.2220642354502513 -0.75479395994602494 -0.24182543098876852 +0.8829922173478939 0.51040624546566482 0.64213502251892951 +-0.8160436144444867 0.57901359402964547 -0.43733694256026168 +0.99412001484076984 0.64614982065571214 0.50832516403098116 +0.24970129293738175 -0.26316965597880548 1.404689732993297 +-0.26092094583344649 -0.17259287104226828 1.1076731970665814 +0.81882007074938512 -0.069920101483017638 -0.70180188370922414 +1.2025010767148054 -0.72157086150519056 -0.2641426178968882 +0.88299228519744588 0.51040617460335547 0.64213505550754535 +1.3802051993043256 -0.0088847325129869162 0.88388117337769234 +0.45278763616944395 1.0999880274683376 1.1093775596609943 +0.747284565601958 0.34463816363339284 0.80554167760916129 +0.8106294274154966 0.42201516655462423 0.72926710637826164 +1.0735082410469592 -0.37888528231218088 -0.45169358627823564 +0.35761780027730827 -0.98965906097593681 1.0316278583486285 +0.2719101598498056 1.1330393679025614 0.99268881962251032 +0.41421494027440064 0.99999886991351894 0.41421454044515393 +1.1864926448390989 -0.24715494252656389 -0.042896707535919898 +0.41421498145119895 0.99999882774516924 0.41421452568467276 +1.2220638432887538 -0.75479252128315033 -0.24182546456374099 +0.4142151907438929 0.99999861819003999 0.41421425210256357 +0.88297780527286673 0.51038848722898678 0.64215249091401616 +0.88297890517243594 0.51038998452707895 0.64215105181451881 +0.74118509721889358 0.3371875422351871 0.8128861460054162 +0.75776897528971188 0.67881071167897122 -0.98234247447237766 +0.70694771875146167 0.12008592246016431 -0.82941302709838527 +0.66803150735113204 0.76270613288907474 -0.61755690053056944 +0.66802878193460602 0.76270888690875083 -0.61755438470001556 +-0.83971906104877947 0.19367751764016189 -0.50978306114775185 +0.22703902286392691 -0.29085116940840094 1.4319770684070883 +0.22703487093169483 -0.29085138209074812 1.4319784431420075 +0.22703929359798497 -0.29085173687507604 1.431977412425538 +0.27193862996196894 -1.1288479635986373 0.0067118331062553851 +1.2220640271438601 -0.75479693025924322 -0.24182744877026047 +0.61572547242762798 0.81160709721190094 -0.40493676103108278 +-1.5661220842664205 -0.44926673729569366 0.43410388202830419 +0.85356079647655081 -0.12892437986632893 -0.66217365093804359 +-1.2042564778907034 -0.20772634010500357 0.56695664338755125 +-0.48620059574218777 0.27156624787083528 0.83057856565068322 +-0.4862007563189481 0.27156570407682668 0.83057864945268589 +0.41421512329381793 0.99999871007985108 0.41421444845401911 +0.27190701594699107 1.1330394704980287 0.99268869366756962 +-1.0273888509979501 0.42415537080110299 0.46388963082359413 +-0.91484367160130375 -0.78311982773635136 0.048098479061979518 +-1.2977619596650869 -0.67872917589403148 0.016623633112330324 +0.90989081806324523 0.51830851724793914 -0.8408171023592601 +-1.0398007640912215 -0.72898679814685563 0.16349200454673751 +-0.83033177924123569 -0.95043010347403456 -0.84839705186010006 +-0.67825992723039619 -0.95041598807117178 -0.57619580081769439 +-1.1187665459765821 1.1162943796426017 0.18409664974257767 +-0.82375464079758753 -0.95410373329709008 -0.85963286099177383 +-0.77643357357442655 1.2235669926551807 -0.31616967330581991 +-1.2220631005099052 0.75479621276442632 0.24182535877001748 +-0.7764398516984703 1.2235607145152363 -0.31616079468896219 +1.1812169504650423 0.2320351025797196 -0.58839102408556143 +-1.0919081392097749 1.210287502185416 0.16908677111361059 +1.1544498908107506 0.2602767573290049 -0.61329375468092251 +1.1812170242423941 0.23203502870985693 -0.58839112052544773 +-1.0452101349557346 1.3737108680784154 0.14298949058041144 +-1.0452104424804203 1.3737097918714114 0.14298966244124628 +1.1812171371240989 0.23203491568660795 -0.58839126808155351 +-0.48620086776005678 0.2715653266809499 0.83057870761171237 +-0.48619976214191707 0.27156599844454843 0.83057913517237414 +-0.83925787755819226 0.20118268259917171 -0.50837213264592873 +-0.61594630901932379 -1.0701741021422695 -1.2146344732943155 +-0.65389671961203044 -1.0489770783385191 -1.1498033049158991 +1.1767769117963174 -0.32322313958523374 -0.10355489750212843 +0.74620741736245222 0.68370976946155837 -0.68972104172438953 +-0.27156904355127975 -0.9503773282922503 0.15176688852556025 +-1.0452094976099948 1.3737130985203305 0.14298913439836819 +1.0484001128975806 0.36501848132403336 -0.41477621756911898 +1.1812169162055355 0.23203513688218469 -0.58839097930240225 +0.76468301238321845 0.6715158607428986 -0.97591332118678387 +0.40047230556164304 -0.14644835894744784 1.2734586952083236 +-1.2307300697780295 -0.17979432087629238 0.54232696703719552 +-0.83915376243376061 0.20287556842742527 -0.50805403213866107 +0.7577696385676933 0.67881009158140304 -0.98234517071782257 +-0.27156951454830913 -0.95037845383100095 0.15175899751361777 +1.1368506065192712 0.27884558473156196 -0.62966724661624696 +0.52145285619027115 -1.2780062789144986 -0.480878156727789 +0.4142151093239288 0.99999869971209776 0.41421435853267863 +-1.1376261762013087 0.81785288061950667 0.27063554285191693 +-0.83777825308475373 -0.76834609411438737 0.2785120838986086 +0.8829914260544991 0.51040707189525492 0.64213463779017288 +0.43320209685729227 1.00000006975728 -0.40078599587611718 +-0.80709267269421381 -0.77821123666888559 0.27164315112268 +-0.90739025087898817 -0.90738944968570823 -0.71675704886493108 +-0.27156676989653628 -0.95037807547354247 0.15176627803541848 +0.74632973180413753 0.34347182581016034 0.80669140052501476 +-0.27156733854167714 -0.95037789265916173 0.15176640532599583 +0.73705156555256246 0.33213846470150354 0.81786331377408739 +0.46940554270608525 0.94840129177467936 0.18986173204308471 +0.77093212419820945 0.37352418577185165 0.77706722478134194 +-0.86611458707291478 0.15024557352714624 0.64785351754312082 +0.35312628670764357 -0.13682961648075959 1.2801507737183746 +0.21463418297802367 -1.2219425866206812 -0.67881228646201741 +-0.27156867619457925 -0.95037833826173657 0.15176122134859316 +-0.27156795375820963 -0.95037823867198479 0.15176313769870736 +-0.27156600847564594 -0.9503783202636209 0.1517661075922056 +-0.2715686805067089 -0.95037823873944194 0.15176183685408628 +-0.44301071713733453 -0.99459154286915963 -0.43188088847322137 +0.24970182151676723 -0.26317001974363863 1.4046898495340194 +-0.5303311378223392 -0.03032903712641985 -1.1035524733359177 +1.0942200180438806 0.79795343498375049 0.36576492722611342 +0.41421492610961153 0.9999988831561506 0.41421459802579441 +-0.71979842944459249 -1.0121679874693652 -1.0372225770699295 +-0.5062087630020724 -0.98272409074415967 -0.47065007475743337 +-0.27156846830664549 -0.95037808997434681 0.15176314814060132 +0.27385976430244652 -1.1257278796616252 0.029673159706278443 +0.29987890257776517 -1.1340928023700889 0.023848804767375165 +0.27194047810807342 -1.1288458492050668 0.0067137170914983602 +0.21463316853550335 -1.221943582381448 -0.67881255471706647 +0.52145312226368112 -1.2780064379752414 -0.48087867668288542 +-0.48620788453993269 0.2715613826969383 0.83057588969339324 +-1.4292613340620943 0.029683703616119432 0.35762045964777034 +-1.3752383639393724 0.082711795831114737 0.37190602659085858 +-1.3983869275454537 -0.0029012647728289863 0.38634759852898259 +-0.45696856155577115 -0.14951276369865213 0.98536685999502294 +-0.60538180535576491 -0.13204151963281491 0.89277700594220555 +-1.0620045291102764 -0.078287778737066244 0.60790599128662626 +-1.0551525124660546 -0.079094399844921781 0.6121807258373444 +0.75776719940320936 0.67881258539858624 -0.98234412665455961 +-1.108490564801015 -0.14380388857200083 0.60211545863247129 +0.75776737433312746 0.67881242185697377 -0.98234483775421544 +1.0452068030148483 -1.373709126848131 -0.14299201033106268 +0.41421478015221003 1.000000415317055 0.41421327689678955 +-0.57123554533806686 -0.35057989345173302 0.98421899402663238 +-0.55740142356739408 -0.3740759020363984 0.99999943380881096 +1.0452116489811218 -1.373710686655349 -0.14299310681753419 +0.61572514103453502 0.81160743926195145 -0.40493675349487057 +1.0452105442676181 -1.3737103296277895 -0.14299284780630173 +1.0452116624711243 -1.3737106891203217 -0.14299309811490324 +-0.34236923933252228 -0.73928868030415673 1.2452844248475796 +-0.41421413789312123 -0.99999902059839041 -0.41421546971238743 +0.71712105068730048 0.30779278350934136 0.84186208997611733 +0.71201667530797641 0.30155773734189761 0.84800831394519527 +-0.4327842144741465 -0.99195422310023362 -0.39706665036562372 +-0.69705217638259787 -0.68990490613565503 1.0215152431588654 +-0.38946005237611303 1.007445389118407 -0.97723076695091815 +-0.46667156532587917 -0.97727378416064736 -0.36577286138413112 +-0.59282588163991856 -0.3885708056726056 0.98400210887340034 +0.82671340030757268 -0.083326210098740139 -0.69279804422893787 +-0.91484389489490692 -0.78311932060890044 0.048098292839121426 +0.61572683431809749 0.81160569152568085 -0.40493679200184196 +-0.66434862392724359 -0.95302827969645176 -0.56766183585348617 +0.072808442554713498 -0.83057994521894662 1.5181678617685557 +-0.76637271782882355 -0.67723805675727511 0.9767951468001459 +0.66802936069797791 0.76270830207127771 -0.6175549189561782 +0.27193954451756963 -1.128846937168456 0.0067103487505814838 +-0.35125070300284456 1.0000019075749313 -0.95547604779994288 +-0.90989205932063588 -0.51830726296359586 0.84081824816330109 +-0.59282942435085384 -0.31390463678771763 0.9595870793251644 +0.055986231873994416 0.92065973181045546 -0.72361980911365809 +-0.81882007074938512 0.069920101483017638 0.70180188370922414 +0.084991332592518593 0.91500866969015804 -0.70710603633427871 +0.88299160373853658 0.51040688632142461 0.64213472418058037 +0.88299155458909362 0.51040693765327472 0.64213470028400255 +0.75776915021992908 0.67881054813697927 -0.98234318556910427 +0.084991282705748572 0.91500871957691099 -0.70710603633420144 +-0.48620039536968962 0.27156692643331082 0.83057846108003064 +-1.073508536546163 0.37888501760464688 0.45169396935225148 +0.21463413636529727 -1.2219426623452194 -0.67881284406630771 +-0.5957050267298365 0.70531482665038414 -0.74311180285649581 +0.26092050228299979 0.17259332171134817 -1.1076731920321454 +0.10876495267094979 0.19050543984400498 -1.2025975077854865 +-1.222064614603648 0.75479460390388597 0.24182499849240585 +-1.222064440907022 0.75479521176899089 0.24182490142167135 +0.60538180535576491 0.13204151963281485 -0.89277700594220555 +-1.2220643940221483 0.75479422926609585 0.24182525010744371 +0.52145191763817689 -1.2780069798161615 -0.4808784769654223 +0.054094744741793294 0.054099234426674386 -1.3377090474521638 +0.90299308714888848 0.097007194187765433 -0.7071073039718212 +-0.47966926201824345 0.43338353089767878 -1.0000010025753339 +0.50876662701641995 -1.2012483572999662 -0.022910478212592907 +-0.5957040595794787 0.70531481107907101 -0.74311176437641913 +-1.2977621133359425 -0.67872828023396803 0.016624157779021514 +0.90299331966285701 0.09700696167387618 -0.70710730397218136 +-1.1047737180456232 -0.79177158589702934 -0.34593797358640399 +-1.429264805548542 0.029677672222001884 0.35762039955882996 +-1.0398014447179067 -0.72898596141596839 0.16349211493046789 +-0.45190355698346263 -0.07322241354894124 -1.2500001952006992 +0.90299345321050284 0.097006828126275979 -0.7071073039723883 +0.90299340767857039 0.097006873658192799 -0.70710730397231791 +0.75776684584186693 0.67881297946269559 -0.98234532943273423 +0.9029937092360838 0.097006572100782312 -0.7071073039727851 +0.75776667091211158 0.67881314300411755 -0.98234461833213804 +-0.69326831395536659 -0.4296696243028868 0.93864332811905271 +-0.63695441439076528 -0.23896231938135487 0.90925415904610674 +-0.47967023778609752 0.43338222464010101 -1.0000023214782634 +-0.59570539094838337 0.70531483251437521 -0.74311181734768383 +-0.7577696385676933 -0.67881009158140304 0.98234517071782257 +-0.47966996214580038 0.43338259363896225 -1.0000019489072733 +-0.27156770393210616 -0.95037809761201597 0.15176446806186378 +0.91762638706130506 0.68094988996278949 -0.68290078358832762 +-0.35125134009959857 1.0000012407955849 -0.95547696977986729 +-0.30396733299253953 0.021624300314334134 -1.3889834322214649 +-0.13213704644145252 0.091933791203783199 -1.3113862900623849 +-0.30396748723060596 0.02162466177534722 -1.3889830907549046 +-0.47966869098611653 0.43338429533672029 -1.0000002307360671 +-0.75776963856664858 -0.678810091581594 0.98234517071849647 +-0.59570322838421697 0.70531479769666205 -0.74311173130559705 +-0.75776963562565802 -0.67881008640655094 0.98234517074804018 +0.75776926221858165 0.67881044342961072 -0.98234364084708004 +0.22724660716986028 0.23898508706486976 -1.1490928060069909 +-0.27156789346409016 -0.950377654228173 0.15176690543326687 +0.41421513589647296 0.99999866946680882 0.41421447505901665 +0.59199430615069581 0.94717637867607474 0.40154789802151103 +-0.47966847022183789 0.43338459087321568 -0.9999999323386024 +-0.5957030837389703 0.70531479536784492 -0.7431117255505868 +0.88298885082410261 0.51040352358617302 0.64213803900615374 +0.90989205932063588 0.51830726296359586 -0.84081824816330109 +1.235891412278848 -0.23589101737691026 -0.70710781985630722 +0.90989198076465727 0.51830734234401676 -0.84081817564831884 +-0.48621321629392567 0.2715578238232722 0.83057393223120735 +-0.27156907689828436 -0.95037834096513651 0.15176048741223447 +0.2719401352284182 -1.128846406228988 0.0067096153969256854 +-0.28033088062110689 0.70023724018596689 -0.73056399038462994 +0.90989137123814645 0.51830795826748677 -0.84081761299471913 +0.30925562014666874 0.69074445864176237 -0.70710638387122304 +1.0505613053574496 -1.3549923987737467 -0.14598166077435426 +1.0505611205470737 -1.3549913879254585 -0.14598108798073001 +-0.70694762216537876 -0.12008516635333116 0.82941363004409241 +-0.060662065971648249 -0.23223149164781515 -1.6213209998005538 +-1.1136626165894197 -0.79217652024090612 -0.36437925014176287 +-1.0180832165770153 -0.08345820659992359 0.63530696853865121 +-0.81020901979149795 0.05529500777750887 0.71162442057529951 +0.22724624215323269 0.23898530335829132 -1.1490926167805755 +-0.10355483672211788 0.60355457526693757 -1.0606598252002586 +1.4292637483202602 -0.029676537763380917 -0.35762217231609639 +-0.38946023474172808 1.0074463602765951 -0.9772302091891476 +-0.27156966197060828 -0.95037858225626737 0.1517579295089877 +0.83057949518943786 -0.1517686322441964 0.53582085106653632 +0.83057949428733413 -0.15176862731000357 0.53582085386247935 +0.88235295522312818 -0.6077209941230286 0.32642021962966306 +0.27193977212256959 -1.1288467325937845 0.0067100661843154091 +0.27194127238722221 -1.128847014317035 0.0067109865309369094 +0.38639113152082505 -1.1972662876613764 -0.2169449835622822 +0.91019430253799261 -0.61977471786492067 0.27984898021317162 +1.4292638815730987 -0.029676669506599744 -0.35762241618793 +1.4292638350085234 -0.029676623469553888 -0.35762233096806906 +-1.0456932272357982 -0.067618436922063069 0.61396575977168699 +-1.0630831217387433 -0.078160806543904393 0.60723309490962407 +-1.2220640243926759 0.75479552281782403 0.24182504353787326 +0.83934734303336733 -0.1997257015085746 0.50864614658136054 +1.3296754274875835 0.068783548173368209 -0.17536124145553789 +-0.37311751036072827 -1.0077164314735816 -0.3890041672965231 +1.4309237805535435 0.29219014426862833 -0.26902829190201905 +-1.4292637635185357 0.029681318900138164 0.35761981721432867 +1.4292632210471554 -0.029676016463746978 -0.35762120733058333 +-1.4292651322429424 0.029679975381929229 0.35761945527561823 +1.4989573707080663 0.21422457603472084 -0.39657102751719897 +-0.70710406090324041 0.081179122674621185 0.97161857601116508 +-0.86611701770889726 1.0206132602384659 0.36327545009794149 +1.1340903121640435 0.61004588237246304 -0.73957099022301986 +0.77642162261353054 -1.2235789223625617 0.3161865381997333 +0.78151003581424994 -1.1407547854643463 0.33175846805155373 +0.90989116701382233 0.51830816463513774 -0.84081742447535346 +1.4292634624415168 -0.029676255123354534 -0.35762164911693584 +1.524093804127796 0.30219272766027228 -0.41061866937902525 +1.5783979909014438 0.49223714869006641 -0.4409668796702737 +1.5883429343936277 0.52704074562125558 -0.44652466912200395 +1.5883403830479916 0.52704217067918169 -0.44652031062137976 +1.1340925654260698 0.61004514430348578 -0.73957158012650881 +0.52145132308223396 -1.2780074238248122 -0.4808786798302277 +0.38639072428105348 -1.1972666451275535 -0.21694521357744023 +0.52145218371116608 -1.2780071388772622 -0.48087899692073732 +1.5883438593765393 0.52704398271681563 -0.44652518605407832 +1.5883429640703515 0.52704448278828364 -0.44652365659046911 +1.588344051927455 0.5270446565732807 -0.44652529366227645 +1.588343501354915 0.52704496409388879 -0.44652435311195959 +0.31543812778409708 -0.61323810569020942 1.2036364898373697 +0.37190789393687684 -0.91395872833308389 1.0309246833642538 +0.50876666071571552 -1.2012493322465265 -0.022909332789165057 +-1.2301228739621086 -0.1804349670446731 0.54289187097962488 +0.45169504410487293 -0.49117761474757682 1.0269966291202928 +0.59570539094838337 -0.70531483251437521 0.74311181734768383 +0.48977563452476747 -0.45706458997388377 0.97762995938032482 +-0.76468301238321845 -0.6715158607428986 0.97591332118678387 +-0.35312797720722688 0.13682995991998687 -1.2801505347763009 +-0.75776964511595102 -0.67881008467240234 0.98234516462565846 +0.50430600894154254 -0.44404811578099612 0.9587931664860565 +0.83818057981735827 -0.21870998036715522 0.50507755415157152 +1.1340943509114298 0.61004753493660058 -0.73956916636756298 +0.74355477563769745 -0.54762925740930091 0.55859300850167037 +1.1340953196580359 0.61004793132581403 -0.73956872889187664 +0.91763550630972346 0.68094974314107648 -0.68290042076017432 +-0.39887275516157761 -1.002879967194533 -0.40480402373983393 +0.83057937158073947 -0.15176873723196282 0.53582101293606188 +0.83057972616838938 -0.15177185996421066 0.53581957878895503 +0.91054842832168337 -0.85602888955857037 0.21238224854255577 +0.93951286216397101 -0.79211826408581509 0.18558662171303197 +0.96419293279434681 -1.3284577067920784 -0.0045855756415788731 +0.27194082028078403 -1.1288471767346184 0.0067111313759619096 +0.29987868402399465 -1.1340934220669605 0.023849798641015441 +1.037741760626556 -1.3695380595458078 -0.13022997228326999 +0.1541956024978291 1.2819347274269615 -0.1432352484651373 +-0.40332539655032063 -1.0047162920919317 -0.42427072110215036 +-0.36979623608427803 -1.0192417038110237 -0.45523359460960544 +-1.0469460943398645 -0.069138409740680085 0.6137293349000883 +-0.28033126967590216 0.70023671935944809 -0.73056451625305985 +1.2094601219929588 0.18763693590946845 0.044650033962486971 +-0.30396789028092608 0.021624072284470844 -1.3889836838870364 +1.3013960594013074 0.26999419129396551 -0.074533282504718551 +-0.30396874661590623 0.021623721891472991 -1.3889840705989038 +-1.1812169042863316 -0.23203516135138286 0.58839148470190761 +-0.81862440769883493 0.069587785432050353 0.7020250745295733 +-0.35753131133932603 -1.0106432488070958 -0.37944271043604172 +0.1541953255852051 1.2819350276800452 -0.14323584213365292 +0.25203697550946991 1.1869911092644827 -0.39666611878839642 +-0.70132965314953921 -0.94608389442814489 -0.590348076741807 +0.15419481614858149 1.2819355220289168 -0.14323452258656261 +-0.35312628670764346 0.13682961648075953 -1.2801507737183746 +-0.35312690916208844 0.13682974293762218 -1.2801506857381364 +0.038252201917098952 1.4076507856273461 -0.39180443799755715 +0.014088185883278936 1.4178926781447938 0.21967086685427567 +1.0746253613524357 -1.2707693444481367 -0.15942778213373476 +0.023667655872879632 1.4138325602444985 -0.022744969955833479 +0.46966700785978144 -0.030327770672891219 -1.3964477181725279 +0.38639177703948679 -1.1972657210391939 -0.21694461896361739 +-0.13213638420284746 0.091933656664433372 -1.3113863836658779 +-0.38945989256400904 1.0074445380652453 -0.97723125573320324 +-0.35956101521815709 0.021885567287266365 0.9863454067694688 +0.9999987297941153 -0.65865493959780341 0.12962983186854948 +-0.35125194998501152 1.0000006024953669 -0.95547785238067062 +-0.38946287152529169 1.0074449272414876 -0.97723308698527789 +-0.38946243397420832 1.0074450332003533 -0.97723270266589357 +-0.38946134539049893 1.0074456410345354 -0.97723150311738416 +1.050560379694871 -1.3549873357223361 -0.14597879181409479 +0.27194199364818994 -1.1288467552066717 0.0067107554546812238 +0.96025377479698104 -0.74635300913661839 0.16639875296185769 +0.27385921085979681 -1.1257283575457349 0.029674202633516743 +0.91763368963606817 0.68094977238988363 -0.68290049304029177 +1.2220631005099052 -0.75479621276442632 -0.24182535877001748 +1.0452105310876663 -1.3737097062493961 -0.14298896771392905 +-1.2220639047419639 0.75479339826781477 0.24182580822429517 +-0.53482785041289649 -0.9477475888820952 -0.30283291452633265 +0.91665504268804709 -0.62257185178434593 0.26904186398660579 +-0.27157168779741103 -0.9503803470323442 0.15174325335471567 +-1.2688442968275018 -0.62976217561575698 0.37500573462216691 +-0.38946012467407998 1.0074445832865342 -0.97723138788331809 +0.94531290329588913 -0.77932035273954225 0.18022087769010353 +-0.27156626275510531 -0.95037823851502479 0.15176616451237757 +-0.52870036393875441 -0.95040210586049345 -0.30849142492544213 +-0.35125208472556113 1.0000004614772009 -0.95547804737159003 +0.84297733444426326 -0.14066250149235726 0.51974862195201288 +-0.38946028448596637 1.0074454343400352 -0.97723089910063932 +-0.38946021713599221 1.0074462665201342 -0.97723026303595661 +-0.38946044924560896 1.0074463117420467 -0.97723039518530941 +-1.4292634624415168 0.029676255123354534 0.35762164911693584 +-0.44709709517450325 -0.99382428639272091 -0.43438754310694583 +-1.1047736861685746 -0.7917720795243135 -0.34593817258460557 +-0.38946118557812881 1.0074447899791967 -0.97723199190102039 +-0.84060457817856182 -0.94469225231654774 -0.83084789118288449 +0.7764219101008758 -1.2235786561582715 0.31618616796444199 +-0.27156767107812674 -0.95037776118735273 0.15176663357878273 +-0.52481135875549834 -0.95208687323514951 -0.31208278584607685 +-0.43524141601708377 -0.99088982583799012 -0.39479742014971975 +0.83971906106927441 -0.19367751730667432 0.50978306121044148 +0.8160367508952866 -0.57900984025757318 0.43734975885120653 +-0.35956008977055531 0.021886449091407661 0.98634542857113328 +-0.41421418256871401 -0.99999911761513038 -0.41421531717996207 +1.0942198767224265 0.79795324260223688 0.36576511212993512 +0.35761743560106685 -0.98965895934471426 1.0316278422356553 +-0.4569679127004278 -0.14951336211696348 0.9853668956582835 +1.222064019840758 -0.75479661078252502 -0.24182689656834183 +-0.45696693601370153 -0.14951426288356345 0.98536694934025393 +-0.45696730951972986 -0.14951391841102568 0.98536692881111287 +-0.35956076396266212 0.021885262757884182 0.98634542179868356 +-1.0452110866107143 1.3737113162932557 0.14299059448873358 +1.2220628228156376 -0.75479609253856417 -0.24182489426066484 +-1.1136635977294271 -0.79217408820830415 -0.36437995928423605 +0.21463356450891963 -1.2219431937001923 -0.67881245000746882 +0.21463351789600993 -1.2219432694249193 -0.6788130076119665 +-0.2272489750103297 -0.23898459262770366 1.1490931536533213 +-1.5883448263821305 -0.52704059326665331 0.44652223768915233 +1.0452121833970516 -1.373710629139052 -0.14299179037503595 +-1.1520469055432137 -0.24439966052955614 -0.14972688460858374 +-0.86360116580403679 -0.19497285561662187 -0.58284712994132648 +-0.27156728596240609 -0.95037786161268678 0.15176669381602614 +-1.1591816326425457 -0.14259437761151239 -0.10983136896675438 +0.50000138608230849 -0.40616635015359104 1.0274817186991045 +0.21650660047852283 -0.95033293519963546 1.0253929554199614 +0.47967023778609741 -0.43338222464010079 1.0000023214782638 +-0.54733301954324864 -0.32766639278525445 1.0454959782751114 +-1.4292640624067188 0.029681051156896635 0.35762020468411226 +-0.46966730398369949 0.030327558998333913 1.3964474968065663 +-1.2220644990656084 0.75479572832246999 0.24182583753756298 +0.59570308373897052 -0.70531479536784492 0.7431117255505868 +-0.11022180365472106 -0.85927693830291996 1.0109566748900902 +0.48977245922184676 -0.45706355796503251 0.97763078284999017 +0.35761740341400217 -0.98965912989725369 1.0316278438202398 +-1.0746253613524357 1.2707693444481376 0.15942778213373465 +-0.93498909462592028 0.63050945604714825 -0.23837382509406219 +0.75776748633167168 0.67881231714977042 -0.98234529303440454 +-0.90615159359016961 0.49828381275438693 -0.32052729803761026 +-0.90989198076465727 -0.51830734234401676 0.84081817564831884 +-1.0452113941343657 1.3737102400847099 0.14299076634961111 +-1.0452103932942554 1.373709681071039 0.14298905660723521 +-1.0452100857705724 1.3737107572779337 0.1429888847458412 +-0.90989172146872455 -0.51830760436125112 0.84081793629238044 +-1.045209945547497 1.3737106789568867 0.14298864520168586 +-1.0452100074485995 1.3737110313727494 0.14298884097515235 +-1.1340921879128922 -0.61004521678163948 0.73957153085047755 +-0.91299573643746013 0.62098766329936872 -0.27516277677332002 +0.78151256164297744 -1.1407492121707441 0.33175613135253912 +-0.89344273785560158 0.50966837200115056 -0.33700268199920047 +-0.8305791672402365 0.15177297810127771 -0.53582012847625626 +-0.83058237377862576 0.15178400022465743 -0.53581203604095351 +-0.07280831090715556 0.83058040592989046 -1.5181679353400401 +-0.35312990775101494 0.13683035212621597 -1.2801502619054048 +0.83058102221513752 -0.15178327380498335 0.53581433686444147 +1.4458437648670617 0.55307929592333904 -0.53845452703789576 +-0.74620741736245222 -0.68370976946155837 0.68972104172438953 +1.1340953881567462 0.61004719518427186 -0.73956943791489937 +0.0131001364971912 -1.185117660312581 -0.80882478720575701 +1.429264805548542 -0.029677672222001884 -0.35762039955882996 +0.46783528837398802 -0.40564844579695269 1.0262019470286114 +0.47966996214580038 -0.43338259363896192 1.0000019489072738 +0.4796697448768189 -0.43338288449631313 1.0000016552342501 +0.69326831395536659 0.4296696243028868 -0.93864332811905271 +-0.59282457165103053 -0.38857082676465593 0.98400216099307869 +0.47966869098611653 -0.43338429533671996 1.0000002307360676 +-1.3602082918358711 -0.043183157434192418 0.42186704919617057 +-1.4077648623347971 -0.037584786097193401 0.3921981611036629 +0.48621314357677614 -0.2715581944826424 -0.8305738536067131 +1.045208472389938 -1.3737129111845605 -0.14298979578832566 +0.83918531855160872 -0.20236198443335052 0.50815058815861414 +0.46783564247417975 -0.40564845149829809 1.0262019611169659 +0.47966847022183789 -0.43338459087321535 0.99999993233860263 +1.0452080517268763 -1.373711196456707 -0.14299060268388131 +1.4077648623347971 0.037584786097193401 -0.3921981611036629 +-0.77241843460649529 -0.17934818017366089 -0.71976399667022961 +0.48977508452788954 -0.45706430144053001 0.9776302083140167 +0.46783608589456005 -0.40564845863778232 1.0262019787590453 +0.61475856861629263 -0.70562159246354805 0.74386988741563309 +1.1380684168310533 -1.0487457390033375 -0.19488361200688842 +-0.61594673267759559 -1.0701741521609969 -1.2146341403623091 +1.2220633898100588 -0.75479599671790565 -0.2418252600597583 +-0.55740140691407114 -0.37407582527422845 0.99999950906092061 +-1.222063746697287 0.75479540259253075 0.24182457902844484 +0.8305819471396112 -0.15178204355634317 0.53581325159371751 +0.50000150211782324 -0.40616569562286642 1.0274817123219915 +-0.97935948640667592 0.64971914976712775 -0.16415413634873738 +1.1090459100057202 0.072750055648647755 -0.57855851204534114 +1.2554679461415374 0.15369363755368748 -0.51931211166654978 +1.2307300697780295 0.17979432087629238 -0.54232696703719552 +1.2930179272105264 -0.3867973258162366 -0.32061159761420766 +0.83057865803650355 -0.15176937643298161 0.53582193795592747 +-1.4292655622342139 0.029678470593406177 0.35761969557716877 +-1.329676130931519 -0.068782774635043592 0.17535928438622539 +-1.1864924922004318 0.24715399974316432 0.042898001140897521 +0.8305787696503284 -0.15176927644805149 0.53582179326271828 +-1.4292649789425722 0.029677843651672746 0.35762071689400343 +0.30925574823126845 0.69074477822229596 -0.70710606732390913 +-0.38946239670593696 1.0074448347341951 -0.97723281665025641 +0.46783323953039779 -0.40564841280864838 1.0262018655126002 +-0.59282255097688852 -0.38857085929940582 0.98400224138833048 +-0.55740168644548072 -0.37407711375207509 0.99999824592992459 +-0.55740176478129233 -0.37407747483478104 0.99999789195041378 +-0.30396804451878501 0.021624433745630653 -1.3889833424203233 +0.3039695966302205 -0.021623798656741286 1.3889840433373499 +-1.5883453668385501 -0.52704019898098453 0.44652318713144601 +0.3039700173004598 -0.021623626527995224 1.3889842333075588 +-0.30396890085371842 0.021624083352746883 -1.388983729132077 +-1.0454926138889569 -0.38128244651686138 0.965992151142123 +-1.152047893906694 -0.24439868336312331 -0.14972507576605421 +-1.1520478145192059 -0.24439981628772089 -0.14972551972136028 +-1.1340919192805075 -0.61004530477374797 0.73957146052255984 +0.13213348038300643 -0.091933066728977469 1.3113867941035622 +-0.56065841208631562 -0.38908873211724027 0.98528193512461204 +0.59570502672983672 -0.70531482665038414 0.74311180285649581 +-1.4292645641532862 0.029677433561482898 0.35761995777196298 +-1.4309235866240426 -0.29218675325282784 0.26902478992309731 +-1.1864915920356065 0.24715598596989985 0.042897168385221271 +0.48620718388421524 -0.27156148906094268 -0.83057626506294557 +-1.4292633474159193 0.029681691643757745 0.35761927779122771 +0.48619976214191707 -0.27156599844454843 -0.83057913517237414 +-0.92820875574870154 0.47852506541679196 -0.29193304665458275 +0.48619983975025682 -0.27156625973321236 -0.83057900431106746 +0.084991071770632781 0.91500893051195487 -0.70710603633387459 +0.084991200936097966 0.91500880134653362 -0.70710603633407465 +-1.0452097024989997 1.3737092952311949 0.14298787651671996 +-0.35312934832026699 0.13683023847314818 -1.2801503409776176 +0.50000037162183864 -0.40616633381982559 1.0274816783374234 +-0.3039700173004598 0.021623626527995224 -1.3889842333075588 +0.50000103797404427 -0.40616544177607317 1.027482579016691 +1.1376261762013087 -0.81785288061950667 -0.27063554285191693 +1.1862935851556413 -0.78150853640127105 -0.25403004682935915 +-0.38946008740614146 1.0074443848218873 -0.97723150186684737 +-0.38201598973512874 0.96780325383314758 -0.99999829117277383 +-0.38945985529603067 1.007444339600736 -0.97723136971660729 +0.30396804451878501 -0.021624433745630653 1.3889833424203233 +0.45169232651863966 -0.49117574276971399 1.0269964903773503 +-0.83057584553061869 0.1517540669169396 -0.53583063398553099 +-0.67772522245872291 0.89753586009225961 -0.56152349515997146 +-0.38074345384530006 0.99946244914658444 -0.44638054052632348 +-0.61764377549042448 0.75672823576745829 -0.69454237514654937 +-0.30177951410874793 1.0803709496676648 -0.36366289785795181 +-0.74407438584444985 -0.3407167501913807 -0.80940719292089947 +1.4292638485365683 -0.029676662488341304 -0.35762128991384001 +-0.45814548797117005 -0.76231402501273449 0.99558389478821052 +-0.90989137123814645 -0.51830795826748677 0.84081761299471913 +-0.90989116701382233 -0.51830816463513774 0.84081742447535346 +-0.61764353320138476 0.7567284840230919 -0.69454212133983373 +1.1812170491639304 0.23203500375707131 -0.58839115310224854 +1.1136618409201495 0.79217479325219675 0.36438123072548345 +1.1136615338166633 0.79217488450065998 0.3643812526055823 +0.48620098986307925 -0.27156491317844822 -0.83057877133499214 +1.3602082918358711 0.043183157434192404 -0.42186704919617057 +0.4862007563189481 -0.27156570407682668 -0.83057864945268589 +1.0630831217387433 0.078160806543904365 -0.60723309490962407 +-0.68868488703366215 1.2071064156600841 -0.26236885532641219 +-0.68868467016554047 1.2071064349129625 -0.26236882467404588 +0.30396663235994803 -0.02162265836321197 1.3889849833469832 +1.0620045291102764 0.078287778737066244 -0.60790599128662626 +-0.90739016465368283 -0.90738936346018439 -0.71675717080604695 +-0.90737753998503035 -0.90737673875955727 -0.71677502480114819 +-0.61764231832238981 0.75672972881961709 -0.69454084870922617 +0.45169466467621455 -0.49117708548380923 1.0269966052621209 +-0.12965375847792349 1.2567354628316587 -0.18335481298027489 +-0.75776814534304249 -0.67881050173766777 0.98234523659526829 +1.4692105747396007 0.11012187321951453 -0.37994685775834081 +-0.75776814828397088 -0.6788105069126138 0.98234523656572548 +1.2220637249696518 -0.75479574642400515 -0.24182514570209246 +-0.056409693912996897 0.99999987918446265 -0.42789947043635845 +1.1340913494053178 0.61004554261809907 -0.73957126177255095 +-0.5802651981219944 -0.31770506489606154 0.98331156582126944 +-0.38201842122353702 0.96780070906072213 -1.0000018099216681 +-0.61764224510588961 0.7567298038391419 -0.69454077201223874 +-0.45696870156613223 -0.14951263457162134 0.98536685229958487 +-0.59282600323180001 -0.38857080371486219 0.98400210403570298 +0.46389138647241446 -0.42655087727215291 1.0263961828793038 +-1.2220643325691314 0.75479335228111322 0.24182490644632343 +0.19344592617689443 0.91815937819942639 -0.49331050271520771 +0.21536850378437389 0.91097851141831021 -0.49904982857466107 +-0.3595624218205099 0.021886080208883732 0.98634534259450612 +-0.55740155826571502 -0.37407652291761828 0.99999882514152527 +-1.1187663858448746 1.116293843704979 0.18409624971984512 +0.56066051226441638 1.318019419584465 -0.085785074490945412 +0.45169437651422883 -0.49117663356923025 1.0269965863059931 +-0.05640959246723197 1.0000000149896122 -0.4278993333165344 +-0.30177919127702313 1.0803712804494223 -0.36366255967979944 +0.055089188215989113 -0.9053476933040725 1.0182608362268097 +-0.23904104964532974 -0.82337611976504466 1.0052648782022704 +-0.23904123942445688 -0.82337622690072987 1.0052648724971975 +-0.0091968156534509501 -0.57481544204860979 -1.0214211451417947 +-0.45814561652493391 -0.76231355697890746 0.99558388186929614 +-0.61764288324931238 0.75672914998084151 -0.69454144049103794 +-0.0055812839891286343 -0.57558164895933017 -1.0190541895211456 +-0.66670585750967493 0.70645795414443624 -0.74593671771069237 +1.2301228739621086 0.1804349670446731 -0.54289187097962488 +-0.90738970905978444 -0.90738893010031552 -0.71675777715600009 +-0.90739000939801739 -0.90738920820412572 -0.71675739037092945 +1.5432587638881081 0.36926027825641583 -0.42132847812370644 +-0.90739012057037804 -0.90738931937676814 -0.71675723314931528 +-0.90738925995771713 -0.90738845876192742 -0.71675845024060325 +-0.90738972777964033 -0.90738892658503545 -0.71675778863984729 +-0.90738921014064866 -0.90738846811679985 -0.71675841967983511 +0.46783360967299303 -0.4056484187682915 1.0262018802392237 +-0.30177840729588168 1.0803720837368318 -0.36366173843060468 +0.46388813197498513 -0.42655271452800458 1.0263960850437606 +-1.0454932739691074 -0.38128291835370098 0.96599165770249029 +-1.1340940654790881 -0.61004618295014712 0.73957049132161923 +-0.6813101313494494 -0.69804602973633623 -1.0079106860460514 +-0.056408979630846859 1.0000008353918917 -0.42789850497227166 +-0.056409004367584809 1.0000008022768929 -0.42789853840784342 +0.48977464366790335 -0.4570640477180915 0.97763042958349278 +0.17282622672120318 0.92491347972476201 -0.48791227006122306 +-0.90736870411390136 -0.90736790286604929 -0.71678752062216322 +1.4292641781666169 -0.029677010277673846 -0.35762098324289615 +-0.6813102088399019 -0.69804627557398269 -1.0079102890722367 +-0.57123449591736564 -0.35058371414411871 0.98421909948738118 +-0.67609349992869272 -0.6932158744647392 -1.014628347036759 +-0.57123473681033188 -0.35058283710984506 0.98421907527902275 +-1.1864925699937459 0.24715510991759337 0.042898436181172506 +0.59570478455779607 -0.70531482275136614 0.74311179322118059 +0.5957040595794787 -0.70531481107907101 0.74311176437641913 +-0.59934147189082254 -0.62214608431073448 -1.1134717152754661 +-0.62255030769338005 -0.64363660742579154 -1.0835828698226373 +0.066351721690829674 -0.70710576743618625 -0.77346035066237251 +-1.1340930663532265 -0.61004651021790934 0.7395702297523199 +-1.1340950283734483 -0.61004731303220172 0.73956934372484162 +0.098644732929631468 0.94921168421183078 -0.46849193178932247 +0.1473581000164661 0.93325558392008889 -0.48124484385452926 +-0.056409286416046311 1.0000004246994409 -0.42789891964047022 +0.17666358794114295 -0.888588342844707 1.3407516806795607 +0.77641906367960223 -1.2235804283116685 0.3161883595177678 +0.77641864628065504 -1.2235803499310349 0.31618810346100124 +0.46388854705939764 -0.42655248020111314 1.0263960975218804 +-0.65868015821290427 -0.77144877493566888 0.57954670593456536 +-0.34372497355942011 -1.0132358647951683 -0.37097307740823449 +-0.79092321255508247 -0.7774730195097701 0.30518984749812472 +0.56066088268423497 1.3180191514531661 -0.085785313613498615 +-1.0746258428811868 1.2707715523526586 0.1594291539328791 +-0.75776836502632872 -0.67881139004800284 0.98234447554531412 +-0.75776825302772366 -0.67881149475529567 0.98234402026622702 +0.17666451243179804 -0.888588215401241 1.3407541330031809 +-0.79092330929169763 -0.77747377679501883 0.30518924361270805 +-0.56066051226441638 -1.318019419584465 0.085785074490945412 +-0.65867958181131137 -0.7714493906883626 0.57954755794288726 +-0.57123559001525503 -0.35057973079266547 0.98421898953683185 +0.37638497612533472 0.85823715837732584 -0.54120339965606901 +-0.14558610848240622 -0.8792447785915396 0.82263620901145584 +1.1743616165923831 -0.82563794179825378 -0.24658611271309872 +0.27193979054806061 -1.1288475466623309 0.0067114612798285268 +-0.62499893157351827 -0.6856612501850361 0.69454357194268468 +0.96620397284557802 -1.3295845704498852 -0.008022806284884245 +1.0452094484268519 -1.3737129877198302 -0.14298852856260585 +0.77641996498609056 -1.2235795937332985 0.31618719879232648 +0.77641954758916065 -1.2235795153534084 0.31618694273741965 +0.68868693767924838 -1.2071057829656957 0.26236837587033268 +0.50876640201292567 -1.2012501900150498 -0.022908771713071534 +0.2998796991277024 -1.1340942003778314 0.023851424613910904 +0.46389087922109007 -0.426551163629873 1.0263961676304949 +0.27193902611663512 -1.1288474031147251 0.0067109923331759008 +0.37638504556238994 0.85823733162790572 -0.54120322804985399 +1.1340909896229934 0.61004566046687536 -0.73957116758161967 +1.1340950283734483 0.61004731303220172 -0.73956934372484162 +-0.75776737433312746 -0.67881242185697377 0.98234483775421544 +-0.75776660846219945 -0.67881256180203797 0.98234533183082906 +0.28719852652768663 -0.95032637351825033 1.1519280798852707 +0.12965375847792349 -1.2567354628316587 0.18335481298027489 +-0.75776709167465417 -0.67881162272457418 0.98234529700767337 +0.41421513028750268 0.99999867532483688 0.41421447233192177 +-0.41421209040336371 -0.92226512695107177 0.99999894872931172 +0.07281209872351066 -0.8305815694960994 1.51816608987451 +-0.83058213934916703 0.1517829253192432 -0.53581270389335089 +1.134095997120705 0.6100477094216652 -0.7395689062488775 +0.28719753540123871 -0.95032637361024741 1.1519263058169229 +-1.4458428516154349 -0.5530811749437059 0.53845493153110091 +1.2220640243926759 -0.75479552281782403 -0.24182504353787326 +-0.64158251363944063 -0.66125981556013325 -1.0590726263391037 +-1.5883422888136005 -0.52704305492963788 0.44652301430360519 +-1.1340934261360585 -0.61004639236957137 0.73957032394279865 +-1.2688455368066518 -0.62975923305715376 0.37500457962388556 +-1.268847448494276 -0.62975840488360268 0.37500634499538432 +0.29987893818832023 -1.1340928090571083 0.023848826612864568 +-0.75776621382009735 -0.6788118673751069 0.98234533579512018 +-1.4458423336274859 -0.55308275796571049 0.53845575232965337 +0.2998779017272899 -1.134093862855698 0.023850321984062242 +-1.1340953881567462 -0.61004719518427186 0.73956943791489937 +0.29987934091924717 -1.1340935454204741 0.023850201617752177 +-0.44783731129238968 -0.48185851621337006 -1.3085826302872334 +-0.44783686558882752 -0.48185842527133216 -1.3085826549914965 +-0.44783714836222843 -0.4818583653457239 -1.3085828401128432 +0.38946212513113421 -1.0074450764968237 0.97723245366580014 +0.15419412457514509 1.2819345962215762 -0.1432354573562698 +0.17742892142187872 0.92340586358881871 -0.48911723215460656 +-0.80709332623917773 -0.77820963830694301 0.27164266717174335 +-0.027074649844412234 -0.812329342532911 1.4537283006391606 +-0.027074846053778058 -0.81232945331912032 1.4537272557935355 +0.072809775871901183 -0.83058088509333672 1.5181655287819473 +0.072810188752003457 -0.83058111570598769 1.5181648234576874 +-0.12132171523337321 -0.36395893074206909 -1.4142154447995918 +-0.27156727233306532 -0.95037785391711616 0.15176676639440173 +0.072811714300651309 -0.83058123929585204 1.5181667792969775 +-0.75776964650227763 -0.67881008337531479 0.98234517026746349 +0.072813327130850675 -0.83058168917158515 1.5181668480802921 +0.072812127180298197 -0.83058146990858539 1.5181660739713871 +-0.59282331541870281 -0.38857084699117528 0.98400221097397966 +-1.5883433421094391 -0.52704427163531276 0.44652430239972951 +-1.2688451545845489 -0.62976053096133855 0.37500530940269072 +-1.2688491516347438 -0.62975879938059176 0.37500900053284458 +1.3983869275454537 0.0029012647728289829 -0.38634759852898259 +0.2738586785155902 -1.1257288477206004 0.029674650726041175 +-0.80709294194526637 -0.77821038723517999 0.27164305399226429 +-0.83778069688341561 -0.76834384339804784 0.27851194737295348 +-0.30177771032750589 1.0803727978687054 -0.36366100833049497 +-0.75776855123512821 -0.67881121595759364 0.98234523251791939 +0.18597815091344044 0.92060546178518687 -0.49135546920047968 +-0.75776855124063247 -0.678811215956588 0.98234523251436845 +0.18598139443589806 0.92060442863898873 -0.49135628999365277 +0.30396748723060596 -0.02162466177534722 1.3889830907549046 +1.543259392831327 0.36926065954405851 -0.42132823462229196 +1.5437543455326637 0.37099461723599603 -0.42160543883731083 +0.68868646379997522 -1.2071047667630532 0.26236650231218051 +-0.83057708847269995 0.15176114324495221 -0.53582670295571089 +-0.27156607609792194 -0.95037823849769909 0.15176649861969693 +0.37638479137408232 0.85823669740930963 -0.5412038562489212 +0.68868904877740644 -1.2071048508903468 0.26237060098049159 +-0.57123513183904007 -0.35058139890381812 0.98421903558090795 +-0.23904192673608243 -0.82337661490758296 1.0052648518354803 +0.29289329211006132 -1.1213200779060966 -1.5828209002514565e-06 +0.28874746188658185 -1.1137397375554672 -0.014156286217712827 +-0.44783659860279923 -0.48185866724692505 -1.3085821637160819 +0.072809095941840096 -0.8305806207988129 1.518166657599668 +-0.6553314059754296 0.19822513155702026 -1.2374358753334485 +-0.45814523268240726 -0.76231495445869513 0.99558392044326394 +-0.19981749764309487 -0.53441900630100903 -1.1462133580902321 +0.1915140119301878 0.89425506801365762 -0.64645823642391376 +-0.072807175787076628 0.83058107827374283 -1.5181616939028357 +1.0452100646407754 -1.3737114624557991 -0.14298866654861037 +-0.035458405445584054 0.8237563740497611 -1.4940673481343936 +0.15881909181098436 0.87133394902376859 -0.84849591339436325 +0.96620376760261117 -1.3295827880598505 -0.0080219832821549313 +0.12660372386671592 0.89059281946576485 -0.7855408465041076 +-0.19981746384083315 -0.53441893289660558 -1.1462134734986833 +-0.44783775226039002 -0.48185842276319824 -1.3085829189724487 +-0.072808617031966893 0.8305805769158443 -1.5181674123858446 +0.13941478500140181 0.90440555945078893 -0.67612042454515686 +0.11671008147281994 0.8965073996559747 -0.76620675354035472 +0.1534607368281849 0.90166898691125774 -0.66812349848716668 +-0.44783702851918783 -0.48185857613881655 -1.3085824451662211 +-0.44783643567248788 -0.48185851637961197 -1.3085823735410789 +0.88299144377763383 0.51040705338515102 0.64213464640720375 +-0.65130059115069394 -0.67025841635928196 -1.0465574387172825 +0.88298964751167364 0.51040460812044652 0.6421369966267263 +0.69696574492081909 1.0249208097510007 1.076227866514627 +1.44584340816004 0.55307947408877833 -0.5384540496360557 +-0.63203820049766635 -0.65242204506507351 -1.0713641543251078 +0.90738993889576403 0.90738806106953884 0.71675717473693901 +-0.27156666551133546 -0.95037806108376821 0.15176655492982749 +-0.14735809994933391 -0.93325558394207819 0.48124484383695432 +0.41421513717466985 0.99999866827182449 0.41421446986310673 +-0.30177775489326297 1.0803727522054749 -0.3636610550147712 +-0.75776748633167168 -0.67881231714977042 0.98234529303440454 +-0.75776748631779833 -0.6788123171523055 0.98234529304335427 +0.41421491737495575 0.99999876349285888 0.41421467283958002 +0.41421500333735584 0.99999879339612407 0.41421501391591475 +0.79150304622495993 0.97211690661790939 0.91472872952716289 +0.048934019258993697 0.52015573470812737 -1.3454028488319749 +0.61594674062423738 1.070174098472076 1.21463381837735 +0.61594669235713617 1.0701740816816661 1.2146336268661089 +-1.4458429533543846 -0.55308113086877109 0.53845502548318813 +-0.57302095122740049 -0.91995294613543854 -1.238623171783932 +-0.8377793273358809 -0.76834494560629696 0.27851213640821637 +1.4458431271377674 0.55307959583248301 -0.53845379012293493 +0.07281016029567558 -0.83058121529155216 1.5181648393604417 +-0.072812634426824674 0.83057969474613658 -1.5181657904958277 +-0.21860509393451583 0.3203600896022456 -1.4366882585766336 +0.17104437496839897 0.92549704768913843 -0.4874458667494157 +-0.072811681758696234 0.83057781647101914 -1.5181646187116309 +-0.61059759546288683 -1.0514556255045222 -1.2176236408681405 +1.0452073180252763 -1.3737109605771725 -0.14299043844633114 +-0.22703787812692916 0.2908487700054494 -1.4319756138038149 +1.0452098932181846 -1.3737114311323997 -0.14298877713682245 +1.4458435098981659 0.55307943001406401 -0.53845414358725185 +-0.22724624215323269 -0.23898530335829132 1.1490926167805755 +-0.64345985775890213 -0.77075542424982513 0.61112336482066398 +-0.34946572817317323 -0.7573627167932071 1.2210556307768843 +0.77642048269762487 -1.2235796909505283 0.31618751638589071 +0.056409532623570763 -1.0000000951021462 0.42789925242846316 +-0.02663435604066474 -0.950355503738612 0.59018241702872754 +1.5883426739202631 0.52704134455944041 -0.44652138460706348 +-0.54238983006680641 -0.81275497779873596 -1.2557417989690096 +0.48619932004170763 -0.27156523507753583 -0.8305796435552435 +-0.34023445135826991 -0.1052910162653965 -1.3687166663217734 +-0.3402341090770632 -0.10529206231035337 -1.3687161239463776 +-0.21860804376932252 0.32035788669388909 -1.4366892650720047 +-0.22703929359798497 0.29085173687507604 -1.431977412425538 +0.064817404480921215 0.80543307351506233 -1.4293776672027656 +0.46389047669523464 -0.42655139086710381 1.0263961555299059 +-0.21860639949114202 0.32035911462507227 -1.4366887040377483 +0.27156575381668269 0.95037618696542148 -0.15177992220206799 +0.27193868103922547 -1.1288479452493196 0.0067118167422183569 +-0.21860444100880605 0.32036057720090672 -1.4366880357957839 +1.2999391977874186 0.37606792731888616 -0.56598708287459454 +-0.072811329791083956 0.83057712253365668 -1.5181641857905817 +1.4108731776106533 0.51065247206206643 -0.5450529811248046 +0.27193846755290108 -1.1288479051599007 0.0067116857769434178 +0.064817185882190043 0.80543292026411351 -1.4293790180297341 +0.074827683632386788 0.53949287504579191 -1.3365678275377006 +-0.035458745048744925 0.82375623399317766 -1.4940688328602856 +0.78151018848179499 -1.1407546763349141 0.33175858217741749 +0.48619936194826197 -0.27156520942499163 -0.83057962741157754 +-0.34946588120173538 -0.75736310654141614 1.2210551083075898 +1.3296757940308495 0.068783145106045468 -0.1753602216861701 +1.4309236820805631 0.2921884223880945 -0.26902651367694141 +1.3296756282103139 0.068783327449701448 -0.17536068301970992 +0.20791523041799503 -0.62082594168385818 -0.87928602945434364 +0.78150978569844298 -1.1407549642515007 0.33175828107872662 +0.78151644940099119 -1.1407402606725499 0.33175211636437396 +0.68868599188212665 -1.207103754766556 0.26236463650883768 +0.6886903823190953 -1.2071038976514177 0.26237159786294662 +0.85901874817821056 -0.96973005115766742 0.26005330775654789 +0.71775098903405699 -0.72809109348474221 -0.54577054306947881 +0.71709786066262415 -0.72873219399486922 -0.5459432538441642 +0.78150887620869258 -1.1407556143706854 0.33175760119418862 +0.78152428697547149 -1.1407222147876057 0.33174402229867594 +1.4458437348932001 0.553077738475654 -0.53845282708298559 +1.2420379377578472 0.1651536404034819 -0.41917973648061102 +0.78150984622250563 -1.1407549209878418 0.33175832632318869 +0.78151550867545838 -1.1407424266774497 0.33175308787594116 +0.71819397557073827 -0.7289644832459381 -0.54522566851395959 +1.4129127241529877 -0.022747895520055787 0.056215364235716589 +1.3602088318422969 0.043182600062209725 -0.42186706147645991 +1.4077649626440665 0.037584201451483515 -0.3921985035819564 +0.038251280087154324 1.4076509437886093 -0.39180497799204872 +-0.17962370447525761 1.1796250765841925 -0.70710459382043989 +0.86611923397087565 -1.0206130897179091 -0.36327722821903941 +1.3115612825063869 0.048909356070059931 -0.45221660553532961 +1.185300968692701 0.063773088008831164 -0.53098578027400745 +1.2977622084737699 0.67872772572965134 -0.016624482600856215 +1.0398018682983219 0.72898544068584648 -0.16349218362654955 +1.0398040725351931 0.72898273089924359 -0.1634925411086961 +1.2977627363375732 0.67872464911160102 -0.016626284846014118 +1.4077647556921136 0.037585407656776315 -0.39219779700167479 +0.38638987332780395 -1.1972673920757306 -0.216945694208655 +1.355788354179511 0.34052630669551509 -0.21473873009508115 +1.0398014447179067 0.72898596141596816 -0.16349211493046795 +1.360208996735818 0.043182429866033462 -0.42186706522630446 +0.41345089257155609 -1.0133238148482029 -0.38128440647854855 +0.59763171976735396 -1.0118439129688603 -0.097633117006101944 +-0.27156841723230729 -0.95037749791659287 0.15176694704755989 +0.53988624021140841 -0.88801256556746022 -0.32593918582602466 +0.35355317570304345 1.3535536057793505 -0.20710574166846552 +0.1418510643375539 -0.48235347561534636 -0.96323295562655242 +-0.41421416882811535 -0.99999908777628543 -0.41421536409342663 +-0.41421419828084027 -0.9999991517353104 -0.41421526353526295 +1.407764993208573 0.037584023308348896 -0.39219860793602201 +-0.24613493619910309 -0.39286836882275311 -1.2196075105401381 +1.3602090234473687 0.043182402295491071 -0.421867065833752 +1.4077650016670344 0.037583974008783175 -0.39219863681510359 +0.78153058481089133 -1.1407077141262509 0.3317375183612945 +1.4168318027377476 -0.015261255515257192 -0.4231547247898797 +-0.56114940226257537 -0.8784058610582155 -1.2452580491384091 +1.4458438238526066 0.55307929400357492 -0.53845443351194722 +-1.4458431660132058 -0.55308103874157988 0.53845522186559758 +-0.15699516662073615 -0.66528825217241039 -1.0783575182748488 +1.4309237256797647 0.29218918475576094 -0.26902730099132011 +1.5883437661514845 0.5270405359134791 -0.44652449399719618 +0.48620086776005678 -0.2715653266809499 -0.83057870761171237 +1.5883443299676756 0.52704041957252046 -0.44652421365151673 +1.4458437707751766 0.5530783659013363 -0.53845347503971674 +1.375345200475433 0.22654056649738979 -0.28151018010530271 +-0.0055812849344658542 -0.5755816472308517 -1.0190541927487184 +-1.1136627088878654 -0.79217520307095857 -0.36437873398752141 +1.3296767194418937 0.068782127482788807 -0.17535764707650447 +1.4309234284537027 0.29218398751517605 -0.26902193368310034 +0.1094318196855559 0.9102470049959428 -0.69319102971574753 +0.13941037397074119 0.90440637575725424 -0.67612296639506253 +0.11314821138526154 0.90952307551178246 -0.69107504275796483 +0.086133968367144015 0.91478609177704606 -0.70645545821661471 +0.086133947507471914 0.91478605755158204 -0.70645549716771128 +-0.91484440280239099 -0.7831181670880456 0.04809786925339353 +0.086134005648411838 0.91478615294620957 -0.70645538860160584 +-0.90738998290530049 -0.90738877714397814 -0.71675730934188464 +-1.4458424353672008 -0.55308271389057428 0.5384558462825717 +0.94333714139200109 0.092257589714865834 -0.68193826030418458 +0.91958702074380172 0.095053441813231554 -0.69675514618309586 +1.2977621133359425 0.67872828023396803 -0.016624157779021514 +0.072500637319001721 0.92293628599384481 -0.67981334518356062 +-0.34023361695083365 -0.10529281015770678 -1.3687160671629854 +-0.34023490792763711 -0.10528962094460603 -1.3687173897970513 +-0.52145187191625575 1.2780056905078783 0.480876233280082 +-0.17666358794114279 0.888588342844707 -1.3407516806795612 +-0.11076112582648379 0.85177894331585602 -1.4533329952812473 +1.329676130931519 0.06878277463504362 -0.17535928438622539 +1.4309235866240426 0.29218675325282784 -0.26902478992309731 +-1.0452121833970516 1.373710629139052 0.14299179037503595 +-1.0452105310876663 1.3737097062493961 0.14298896771392905 +1.4458437863465838 0.55307863818011782 -0.53845375622818947 +0.99999880085233861 -0.65865487722444716 0.12962987200330445 +-1.4458438109185323 -0.55307906784072025 0.53845419994843779 +1.0024719693607627 -0.65319795085790489 0.12734208225716742 +-1.4458435546318111 -0.55307934632789135 0.53845412340559751 +-0.627901627514452 1.1406244693914083 -0.56990078887121287 +-0.17666381735793102 0.88858831121899984 -1.3407522892354242 +-0.2806216819575319 0.94665291360363102 -1.1631633508768311 +-0.17666451243179798 0.888588215401241 -1.3407541330031809 +-1.4458434326776537 -0.55307939916054405 0.53845401078568855 +-0.21463434018805805 1.2219423312256801 0.67881040583849517 +1.058416785771124 0.078710136532653796 -0.61014425392269844 +-1.0377417606265564 1.3695380595458078 0.13022997228327049 +-1.4458437707751766 -0.5530783659013363 0.53845347503971674 +-1.1520486858781491 -0.24439783732355147 -0.14972624641908289 +-1.0452105243412451 1.3737097050166538 0.14298897206618133 +-1.4129127241529877 0.022747895520055787 -0.056215364235716589 +-0.7724191720309046 -0.17934837422630179 -0.7197628246516854 +-0.77011456319384242 -0.17895345498494264 -0.72322335737343879 +-0.0725006372863434 -0.9229362860133683 0.6798133451197399 +-1.2688457012235732 -0.62975793936652424 0.37500356251354661 +0.99999922815198183 -0.65865450215015287 0.12963011334858021 +-0.34023385123449956 -0.10529285030253044 -1.3687157153716156 +0.10596569087795321 0.90293061810887143 -0.74521005334565626 +-1.2688455225800488 -0.62975795878571561 0.3750033421089678 +-1.1440335344822943 -0.6008478633230625 0.18039642847010212 +-1.355788354179511 -0.34052630669551509 0.2147387300950811 +-1.4309237805535435 -0.29219014426862833 0.26902829190201905 +-1.4309234735352048 -0.29218477580208113 0.26902274776486468 +-0.2719401352284182 1.128846406228988 -0.0067096153969255969 +-0.27194199364819016 1.1288467552066717 -0.0067107554546812428 +-0.27194047810807342 1.1288458492050668 -0.0067137170914986551 +-1.2688510664801553 -0.62975924291461838 0.3750119861607587 +-1.1380716503780173 -0.27614141748207677 -0.13806964961702078 +-1.0088837180551611 -0.56954322540952873 -0.03032923221839133 +-1.1248652062494271 -0.27223590436674872 -0.15947059898567623 +-1.1520482955720874 -0.24439872375699795 -0.14972592091083126 +0.93842687712264738 -0.79451450076913055 0.18659127673000803 +-1.2026651973035194 -0.12944146565510645 -0.19193950868109577 +-1.3086481755859141 0.11125901525265186 -0.28032741080153911 +-0.86359823135318647 -0.19497198781782826 -0.58285188519818898 +-1.122681658738188 0.26912767593482145 -0.68005423316057323 +-0.65533140597646033 0.19822513155675103 -1.2374358753329457 +-0.24613482431715228 -0.39286834290763128 -1.2196076849865314 +-0.86360537321934272 -0.19497409986643649 -0.58284031185456064 +0.27156904133561921 0.95037733057647356 -0.15176687818622703 +0.99999891810442154 -0.65865477430312969 0.12962993822904728 +0.086134081115946559 0.91478627676941193 -0.70645524768169032 +0.12256890188628056 0.90768767734847455 -0.68571143964473591 +0.086134060006811008 0.9147862421346411 -0.70645528709860783 +-0.072810130899360531 0.83058131816668945 -1.5181648557885059 +-1.1047738027093605 -0.79177027484934492 -0.3459374450578161 +-0.12132122916493743 -0.36395787520430967 -1.4142171043455072 +0.27155361632825692 0.95037196476437069 -0.15182808058361735 +-1.2977624600046465 -0.67872625969915146 0.016625341383560595 +-1.0398029227307561 -0.72898414441550408 0.16349235463392847 +-0.072810653852819623 0.830581413724091 -1.5181651931547977 +-0.07281209872351066 0.8305815694960994 -1.51816608987451 +-0.27156843684099541 -0.95037751499847944 0.15176680499191519 +-1.0346194156389981 1.3677940936843509 0.12489606377575965 +1.4458421016732754 0.55308346684053955 -0.53845611988198816 +0.53566671816584921 1.0848432627096987 1.1628447382916485 +1.4458423336274859 0.55308275796571049 -0.53845575232965337 +-1.1520470102423954 -0.24440164290005301 -0.14972484896893212 +-1.0452078911220251 1.3737083668255625 0.14298530394467768 +-1.0452101715709414 1.3737096405565552 0.14298919964541301 +0.27193916715621391 -1.1288471739900467 0.0067126795056594111 +-0.73363007807153346 -0.17270157643778855 -0.7780072645849081 +-0.74519890291919655 -0.17468392736019295 -0.76063594441763982 +-0.75432812435037477 -0.17624830344588455 -0.74692778707102137 +0.10042617816555738 0.90624218165899562 -0.73438485339267823 +-0.28062260405689243 0.94665290738256691 -1.1631650398111693 +1.3983872245530442 0.0029009723118427096 -0.38634819121371344 +0.96589974715566584 -0.733895089286003 0.16117558116355185 +1.3602076653198565 0.043183804097744444 -0.42186703494856626 +-0.28062069301019055 0.94665292027569392 -1.1631615395024881 +-0.11076135009238947 0.8517788854797681 -1.4533337587530712 +-0.097810912595023752 0.84454568438250588 -1.4754558717745918 +-0.35761779736408317 0.9896590657086064 -1.0316278234992011 +0.91144579569244977 -0.85404852252670116 0.21155172995065713 +-0.35761775352872627 0.98965913692117913 -1.0316272991191662 +1.0452125895310149 -1.3737108585181756 -0.14299250005273639 +0.064817023607928237 0.80543280650002869 -1.4293800208006471 +-0.22703850367754008 0.29085008117822109 -1.4319764086833096 +-0.77241796474068791 -0.17934799073908625 -0.7197648063565163 +-0.31573875472934554 1.0576935150921449 -0.53065017933485636 +0.94990797462362764 -0.76918134612177291 0.1759700050127746 +1.228093884095649 0.18257573349341855 -0.54477952893443149 +1.5454196389936055 0.37682250744793044 -0.42253609770290479 +1.5883446911372996 0.52704377301006589 -0.44652501093085961 +0.68868713947144022 -1.2071062156956547 0.26236917368831525 +-0.072810188752003457 0.83058111570598769 -1.5181648234576874 +0.99735514382920409 0.085898617998440979 -0.648238280865155 +-0.072812127180298197 0.83058146990858539 -1.5181660739713871 +-0.072810711705406289 0.83058121126353512 -1.5181651608239943 +-0.77642042987702409 1.2235786983881778 -0.31618580650901129 +-0.9662035438868577 1.3295808452467175 0.0080210862054897573 +-0.77642084727191207 1.2235787767674031 -0.31618606256218429 +-1.0452116489811218 1.373710686655349 0.14299310681753419 +-0.52145312226368112 1.2780064379752414 0.48087867668288542 +0.99999892444020677 -0.65865476874171569 0.12962994180759418 +-1.0452061365767564 1.3737089032605887 0.14299180270147299 +-0.58578846786566752 -0.14736748265706029 -1.0000017373146877 +-0.38322571805375139 -1.0134238553262502 -0.44283195754364069 +-0.77642142764901689 1.223578885751746 -0.31618641859768792 +-0.58578835120173389 -0.14736806241677219 -1.0000013389996143 +1.1442916479997494 -0.30545639689972715 -0.042895205767437369 +-0.77642162261353054 1.2235789223625617 -0.3161865381997333 +-1.4129127241529722 0.02274789552032714 -0.056215364235996809 +-1.15204788841534 -0.24439865398953547 -0.14972653228236732 +0.48620652267531472 -0.27156082608040732 -0.83057686888400273 +0.48620426620723944 -0.27156262194488645 -0.83057760258737168 +-0.58578851941818821 -0.14736722646756212 -1.0000019133257778 +-0.74978908279838263 -0.17547046769054853 -0.75374349982135058 +0.98528235400887487 -0.67157265284419032 0.12131780112458065 +-1.3964470366981199 0.31066111203607361 -0.35355008549930356 +0.28719919251063142 -0.95032637345643312 1.151929271962493 +1.3142135972265985 0.085786066306790698 -0.21837799371752437 +-0.2186041391249452 0.32036044650451889 -1.4366885407642052 +-0.22703736940106317 0.2908493914192416 -1.4319762263651725 +-0.22703704951656206 0.29084872093030578 -1.4319758198907655 +-0.28062091052323601 0.94665291880821378 -1.1631619379034275 +-0.21860609760824867 0.32035898392805362 -1.4366892090063428 +-0.072812106638088153 0.830579866271135 -1.5181665600381802 +-0.68131018374994379 -0.69804636052622393 -1.0079101367013572 +-0.2186047920510526 0.32035995890559144 -1.4366887635451384 +1.2930186362419884 -0.38679771359758963 -0.32061292158775456 +1.4458437837654867 0.55307859304752616 -0.53845370961873851 +1.1743634077930256 -0.82563615059307449 -0.24658864585581947 +-0.34023421707414792 -0.10529097611949037 -1.3687170181147881 +-0.58578827044546045 -0.14736846373389245 -1.0000010632808038 +-0.58578817919808568 -0.14736891718638817 -1.0000007517431784 +-0.5234605677963291 -0.45710507080875928 -0.78720124844442041 +1.3431544959466439 0.061176459157698537 -0.43773361271976852 +-0.75887101571730597 -0.17702675351256608 -0.74010633696000738 +1.0452107636009407 -1.3737103697056496 -0.14299270631051236 +1.0452121766517641 -1.3737106279065139 -0.14299179472653978 +0.77642142764901689 -1.223578885751746 0.31618641859768792 +0.04893430423630242 0.52015557884901886 -1.3454033809711929 +0.029329972958724755 0.94874404309317084 -0.59545013526490664 +-0.072811153970318621 0.83057798799447502 -1.5181653882519468 +-0.072810802002770847 0.83057729405640845 -1.5181649553300613 +-0.65867877786158635 -0.77145024952396435 0.57954874630160225 +-0.21463413636529727 1.2219426623452194 0.67881284406630771 +0.20791511870044849 -0.62082600977323033 -0.87928594593998799 +-1.228093884095649 -0.18257573349341855 0.54477952893443149 +-1.2999391977874186 -0.3760679273188865 0.56598708287459454 +-1.4292619762791765 0.02968312832001703 0.35762129220361971 +0.097810912595023836 -0.84454568438250588 1.4754558717745918 +-1.360208996735818 -0.043182429866033462 0.42186706522630446 +-1.3752389853145677 0.082711244354866764 0.37190692582240525 +0.056409693912996592 -0.99999987918446265 0.42789947043635856 +-0.48619995316711928 0.27156605458177296 0.83057900499678383 +-1.2688456097765308 -0.62975797898296326 0.37500347806576551 +-1.1376298591458052 0.81785155753517413 0.27063672278686723 +0.71709758429079207 -0.72873244240187529 -0.54594291073502066 +0.71775075942856903 -0.72809129599586564 -0.54577018776142672 +-0.48620652267531472 0.27156082608040732 0.83057686888400273 +0.30177951410874793 -1.0803709496676648 0.36366289785795181 +1.588341765372697 0.52704165345094811 -0.44652107604112778 +-1.1812170406825815 -0.23203501136398341 0.58839110523042271 +-0.2270379949514848 0.29085070259447843 -1.4319770212465617 +-1.1544498908107506 -0.2602767573290049 0.61329375468092251 +0.86611873836192776 -1.0206131182234297 -0.36327681415454216 +-0.71775098903405699 0.72809109348474221 0.54577054306947881 +-0.59282829867337505 0.48179422062838473 0.69942576675743173 +-1.0273882390608287 0.42415605157104885 0.46389125001981069 +-0.86611430676583723 0.15024548873940868 0.64785404683465453 +-0.48619983736200956 0.27156614674805934 0.83057904265147076 +1.0452105243412451 -1.3737097050166538 -0.14298897206618133 +-0.48619936194826197 0.27156520942499163 0.83057962741157754 +-0.86611923397087565 1.0206130897179095 0.36327722821903941 +-1.4458437837654867 -0.55307859304752616 0.53845370961873851 +0.77642084727191207 -1.2235787767674031 0.31618606256218429 +0.77642042987702409 -1.2235786983881778 0.31618580650901129 +-0.70694771875146167 -0.12008592246016436 0.82941302709838527 +-0.22703755824219907 0.29084809951749724 -1.431975207330209 +-0.34237016365929052 -0.73929103447057765 1.2452812690160942 +-1.1520452622758213 -0.24440134336738512 -0.14972747366403405 +-0.75776915021992908 -0.67881054813697927 0.98234318556910427 +-0.074827683632386816 -0.53949287504579191 1.3365678275377006 +-1.012588581617071 -0.027456108280711204 0.62021293073344563 +-0.77642028804890995 1.2235786717554187 -0.31618571950378038 +-0.82442186203611634 0.079434286710452079 0.69541200384222956 +0.71819377734807732 -0.72896474867767536 -0.54522527345255378 +-0.34946626731316843 -0.75736408992802984 1.2210537900480096 +-0.35698850058479781 -1.0247902361552081 -0.46706103939722476 +1.186294680490513 -0.78150913545539469 -0.25403209214585465 +0.072811239039318632 -0.83057744012789558 1.5181642365070003 +0.072811681758696234 -0.83057781647101914 1.5181646187116309 +0.072812634426824674 -0.83057969474613658 1.5181657904958277 +0.072813442040384896 -0.83058128703248424 1.5181667838625406 +0.86965536727323078 -1.2756542411561562 0.15691384699073901 +0.074828137311621107 0.53949284395825825 -1.3365683041865739 +1.0346194156389976 -1.3677940936843505 -0.12489606377575913 +0.77642136498233305 -1.2235788739840738 0.31618638015446854 +-1.2522597301260281 0.21876009305681454 0.68342027105698921 +-0.71774973962498012 0.72809220551099796 0.54576879253806343 +-1.0273883803434369 0.42415589439647938 0.46389087618358349 +-1.0735094368299789 0.37888421113239201 0.45169513644621628 +-1.0735092288420565 0.3788843974475139 0.45169486681852233 +-0.27193847654816306 1.1288478718853705 -0.0067121329065388726 +-0.27193850694178212 1.128847841171039 -0.0067121569623335205 +-0.26092050228299979 -0.17259332171134817 1.1076731920321454 +-1.0273885913248795 0.42415565968310753 0.46389031792303437 +-0.81796994082617114 0.068476227061178202 0.70277161524204024 +-1.0735089216040259 0.37888467267066328 0.45169446852673401 +-1.407764993208573 -0.037584023308348896 0.39219860793602201 +-1.4292638350085234 0.029676623469553888 0.35762233096806906 +-0.48620301041673575 0.27156362139601242 0.83057801091476335 +-1.0273890344101693 0.42415516675803688 0.46388914551168703 +-0.48619955273309079 0.27156558557528598 0.83057939274575743 +-1.0735082410469592 0.37888528231218088 0.45169358627823564 +1.429264221104487 -0.029677030835455025 -0.35762197176611865 +-1.045647742622998 0.40384265528775531 0.41557628751149622 +-0.41421421349150478 -0.99999918476652505 -0.41421521160266594 +-1.058416785771124 -0.078710136532653796 0.61014425392269844 +-0.86611816523416363 1.0206138878402409 0.36327759287625716 +0.11670743299300088 0.8965089213772004 -0.76620168302727332 +-0.79353122006074628 0.026969061802141821 0.73064850370508805 +-0.94333714139200109 -0.092257589714865862 0.68193826030418458 +-0.21463199025484209 1.2219446378829906 0.67881102724445208 +-1.0951932894718208 -0.074380717852411266 0.58720073028199105 +-0.34023387479317491 -0.10529202216514519 -1.3687164757384123 +-0.59235070438334336 -0.11475654422331316 -1.0224065855045072 +-0.27193902611663512 1.1288474031147255 -0.0067109923331759441 +-0.31573740594497546 1.0576947233302056 -0.53065192784801374 +-0.31573736407416164 1.0576947608379883 -0.53065198212775666 +-0.27193868103922536 1.1288479452493196 -0.0067118167422184471 +-0.27193862996196871 1.1288479635986373 -0.0067118331062555308 +-1.0511887815878844 -0.074285609140682579 0.61292869867285482 +-1.3983872245530442 -0.0029009723118427139 0.38634819121371344 +-0.27194004892364121 1.1288462829182389 -0.0067133774026794241 +-1.2482393891047301 -0.16132041727455282 0.52603728511517511 +-0.31573793404158446 1.0576942502624291 -0.53065124324349888 +-0.27194127238722243 1.128847014317035 -0.0067109865309369198 +-0.55008229494023442 0.84776908917341776 -0.22685605738286962 +-0.52144916787195505 1.2780077098624569 0.48087715591112279 +-0.59283075708665223 -0.31390423366169162 0.95958456277763693 +-0.79092342048322117 -0.77747464723792437 0.30518854949146701 +-0.86611637185172019 1.0206135184128873 0.36327528782488694 +-0.86611684445066528 1.0206131654804875 0.36327512657218242 +-0.61594622323243264 -1.0701738019205616 -1.2146345212369449 +-0.74999927979663439 0.95710642462161211 0.14644835425751868 +-0.52145093336592696 1.2780063914083417 0.48087655351731573 +-1.2220640271438601 0.75479693025924322 0.24182744877026047 +-0.31573853380379258 1.0576937129967674 -0.530650465734406 +-0.2719391671562138 1.1288471739900467 -0.0067126795056596071 +0.072811329791083956 -0.83057712253365668 1.5181641857905817 +-0.21463351789600993 1.2219432694249193 0.6788130076119665 +-0.2719397721225697 1.1288467325937845 -0.0067100661843153032 +-1.5883467823115227 -0.52703994033368229 0.44652227397986144 +-0.21463199516116205 1.2219446330670247 0.67881102594704656 +-0.76133931886211914 -0.027705937550682735 0.76736949558924183 +-0.83266333482258958 -0.10528605381888584 0.75098385320933025 +-1.0452094484268519 1.3737129877198302 0.14298852856260585 +-1.2220635980208741 0.7547964281584485 0.24182619097480235 +-1.2220645531508172 0.75479372691892843 0.2418246548309172 +-1.222064163211054 0.75479509154400914 0.24182443691223382 +-0.21463266738327957 1.2219439732244166 0.67881084818759985 +-1.2220638432887538 0.75479252128315033 0.24182546456374099 +-0.71709647856768743 0.72873343624181941 0.54594153800573531 +-0.48620024480884838 0.27156662958587063 0.83057864627245026 +-0.96620368159935466 1.3295820411823769 0.008021638418132148 +-1.2220628228156376 0.75479609253856417 0.24182489426066484 +-0.48620228309213676 0.27156441251701424 0.83057817800687972 +-0.71819281341145991 0.72896577474815261 0.54522380417425365 +-1.0452088978154404 1.3737140981648017 0.14298848780438528 +-1.0452088522705285 1.3737142575528281 0.14298846235151225 +-1.0452080815290761 1.3737127379503531 0.14298941037673024 +-1.398386710376569 -0.0029014786172832617 0.38634716516402534 +-1.4077647556921136 -0.037585407656776315 0.39219779700167479 +-1.4292632210471554 0.029676016463746978 0.35762120733058333 +-1.3602076653198565 -0.043183804097744444 0.42186703494856626 +-1.4108731776106533 -0.51065247206206643 0.54505298112480438 +-0.27193846755290108 1.1288479051599007 -0.0067116857769434698 +-1.1376277010962972 0.81785233280656233 0.27063603139495485 +-1.2612090075751983 -0.14763630457559679 0.51397104279059125 +-0.88311930462613186 0.60805297686754001 -0.32513798278039074 +-1.1203097590274873 -0.071423977426554985 0.57153145617484102 +-0.87381491410816681 0.52725092443582056 -0.3624476110568039 +-0.59282822158037529 0.48179554217325016 0.69942440431477593 +-0.86611480384371142 0.15024563909632699 0.64785310822435305 +-1.0452098640463614 1.3737107167631764 0.14298902778463374 +-0.48620006990462428 0.27156628474274469 0.83057886140764836 +-0.96620397284557824 1.3295845704498856 0.008022806284884592 +-1.3752386484279526 0.082711543344861665 0.37190643829236836 +-1.0452067695951692 1.3737101513267773 0.14299102407795788 +-0.99132046034294397 -0.0016537357013615465 0.62422639550883408 +-0.21463372171954459 1.2219429383045997 0.6788105693835762 +-0.27193825111388303 1.1288480996984256 -0.0067119544809049764 +-0.072811714300651309 0.83058123929585204 -1.5181667792969775 +-0.34236960970599684 -0.73928962360778816 1.2452831603204531 +-0.59282938261149476 -0.31390464941304219 0.95958715813979589 +-0.70694765859429665 -0.12008545153058353 0.8294134026339004 +-0.70694763186682286 -0.12008524229934722 0.82941356948211586 +-0.072810683248936248 0.83058131084962228 -1.518165176726836 +-0.26092379474400373 -0.17259094108768158 1.1076725472706754 +-0.75776964650362455 -0.67881008337506854 0.9823451702665944 +0.072809580192489537 -0.83057892612296924 1.5181663869760658 +0.48620241411878318 -0.27156334107907842 -0.83057845162363253 +-0.34236914770496707 -0.73928844693807738 1.2452847376818865 +-0.074831028253152188 -0.53949352260787897 1.3365698447896088 +-1.0551525380812108 -0.079094411640496076 0.6121806993839678 +-1.3602086399154922 -0.043182798161007244 0.42186705711185135 +-1.0551531028629157 -0.079094671717944598 0.61218011612057222 +-1.1376253941929635 0.8178531615531428 0.27063529231352879 +-1.4292647161387255 0.029680348127080203 0.35761891585221628 +-1.05515245282109 -0.079094372378893663 0.61218078743410698 +-1.0452102168185973 1.373710781223803 0.14298880020409827 +-1.2220644840973112 0.75479576644520385 0.24182588864224386 +0.098325266891444524 0.90749796458515486 -0.73027956636429892 +-1.1368506065192712 -0.27884558473156196 0.62966724661624696 +-0.91958702074380172 -0.095053441813231582 0.69675514618309586 +-1.0634378340294068 -0.3563026607654689 0.69796681030330743 +-0.59282994771801567 -0.31390447847957859 0.95958609107352566 +-1.0919079938544898 1.210286913421823 0.16908637903297463 +-0.78748379893842291 0.016698070228541077 0.7375467387792678 +-0.072814344290859312 0.83058229349728996 -1.5181662874770656 +-0.1156837542633582 0.85452748325456507 -1.4449280780455083 +-0.77641974291864013 1.2235791765258761 -0.31618642153444354 +-1.0452081341688806 1.3737097505477158 0.14298607262666041 +-0.072813410485762231 0.83058212286636568 -1.5181656850638192 +-1.0452118691293077 1.373711704116467 0.14299162286554779 +-0.27193844183888871 1.1288479282720276 -0.0067117177002863279 +-0.86611445247348162 0.15024553281329228 0.6478537717013142 +-0.81603536450835734 0.57900969166150706 -0.43735130692576607 +-0.7181939755707385 0.7289644832459381 0.54522566851395959 +-0.072812645348556276 0.83058187481288837 -1.5181651560703204 +0.53566707339632291 1.0848435454284289 1.1628448537968481 +-0.27193979054806061 1.1288475466623309 -0.0067114612798286136 +0.27158171138078124 0.95038355151478848 -0.1517052505963602 +0.38808466120633911 1.0049057810323667 0.39818600084157396 +0.27157540044140349 0.95038135618882258 -0.15173029058216836 +-0.77642088252062291 1.2235793905230361 -0.31618712063032173 +-1.2220640148400603 0.75479496945249336 0.24182642391829706 +-0.72756856979653328 -0.32055465641780589 -0.82928204746562262 +-1.4292616329494776 0.029683435873713325 0.35762084711868392 +-1.4458437863465838 -0.55307863818011782 0.53845375622818947 +-0.072812494160273161 0.83058244161972694 -1.5181620493487742 +0.27156191037981181 0.95037666353045269 -0.15178381525267975 +-0.82852461154631207 0.086402450650786555 0.69073204724622372 +-0.71709786066262393 0.72873219399486922 0.5459432538441642 +-0.91484480972078885 -0.78311724292592411 0.048097529890751459 +-1.3983870686886992 -0.002901125790209659 0.38634788018322097 +-1.4077649258192291 -0.037584416082526148 0.39219837785372136 +-1.4292636358342201 0.029676426551693891 0.35762196645048683 +-1.429260917962234 0.029684076357104336 0.35761992022522615 +-0.8377823350848832 -0.76834262234075634 0.27851165240995346 +-0.77641906367960223 1.2235804283116685 -0.3161883595177678 +-1.045211989914193 1.3737046009290825 0.14298978299582354 +-0.75776945498126347 -0.67881026242902842 0.98234439172221411 +-0.77642030214247004 1.2235792815382514 -0.31618676459375761 +-1.4292653208384802 0.029678231932401662 0.35761925378998738 +-0.77641988474632195 1.2235792031586143 -0.31618650853951136 +-1.1136641157886089 -0.79217411180759223 -0.3643810340707424 +-1.5883410111814578 -0.52704181983429321 0.44652138367085892 +0.29289448340953583 -0.29289593968597483 1.41421221153252 +-1.2977627363375732 -0.67872464911160102 0.016626284846014125 +-0.72228344498170327 -0.31409879977840649 -0.83564593075624694 +0.40738027195103521 1.006388573291694 0.44199840772867016 +0.7764398516984703 -1.2235607145152363 0.31616079468896219 +0.77643357357442655 -1.2235669926551807 0.31616967330581991 +0.4142140458050303 0.99999969399344502 0.41421868180473098 +0.55237438339679001 1.0817906788621872 1.173623027502376 +0.84051346998445631 -0.18074953945179134 0.51221344782099765 +0.77642578574840759 -1.2235747805009241 0.31618068696577561 +0.77642484306345994 -1.2235757231882594 0.31618202012491847 +0.81603773747111585 -0.57901037982983916 0.43734791662024153 +1.1743612303381536 -0.82563832805346138 -0.24658556646659457 +-1.1812171298287697 -0.23203491333485943 0.58839085721454021 +1.1862933399617361 -0.7815084023012584 -0.25402958897929662 +1.1743639116075348 -0.8256356467772894 -0.24658935835782847 +0.40200046010716373 1.0114181468848691 0.46386768548619206 +1.1743629950243757 -0.82563656336277003 -0.24658806211222523 +-0.62790152326928372 1.1406249780020974 -0.56990080639890017 +-0.83057611949931842 0.15175988113245931 -0.53582856245438348 +-1.3752380011973404 0.082712117768032112 0.37190550164380387 +0.84297646990541453 -0.14066200674288171 0.51975024272410364 +0.84297635143907024 -0.14066194195162524 0.51975046393615765 +0.84297625055959058 -0.14066358379129373 0.51975015526317403 +-0.69964480252751682 -0.28644536957279398 -0.8629053964234259 +0.83984490177115934 -0.19162962260644917 0.51016805381447616 +0.84297706241498149 -0.14066233079643042 0.51974913633174347 +0.84297718211514305 -0.14066239626248239 0.51974891281578439 +0.84297703837510896 -0.14066272196965224 0.51974906279807409 +-0.83057735400749833 0.15176690947402038 -0.53582465808708357 +0.84297733574755362 -0.14066248028665795 0.51974862593817961 +1.13763089946027 -0.81785118380600963 -0.27063705608089261 +1.2930176848500778 -0.38679719326518969 -0.32061114505485044 +-1.104773876487732 -0.79176913236536839 -0.34593698448307875 +-1.0346196434947297 1.3677954516383362 0.12489680161028344 +1.2930188033275432 -0.38679780497951821 -0.32061323358639793 +-0.90902149572239432 0.61926696758633715 -0.28181076248386228 +-1.1136627895896081 -0.79217405139489538 -0.36437828268472183 +0.83915376242871731 -0.20287556850944627 0.50805403212324673 +-0.74118509728005488 -0.337187542309897 -0.81288614593177089 +-0.89099890272548676 0.51185754751180945 -0.34017089777597675 +0.83821753711691072 -0.21811287803055207 0.50518935180019575 +0.83481229375343702 -0.27351822891602928 0.49477456966505695 +-1.0398040725351936 -0.72898273089924359 0.1634925411086961 +1.1376253941929635 -0.8178531615531428 -0.27063529231352879 +1.2930184723881357 -0.38679762398313366 -0.32061261562366361 +0.81604275965901674 -0.5790131265353895 0.43733853869936679 +0.75000097775033514 -0.54289394252564693 0.56065821876424771 +0.9220211855473428 -0.62489500115702756 0.260065867515755 +-0.11568289385741745 0.8545276962180961 -1.4449252048590338 +0.84297716416104884 -0.14066268840439849 0.51974885789871883 +0.90902149570936386 -0.61926696758069522 0.28181076250565917 +1.2220647456495315 -0.75479465658449096 -0.24182423818182897 +-0.8160351354371238 0.57900992314989264 -0.43735112562157386 +-0.74896222340712404 0.54997154823241767 -0.5495457709367344 +-0.72658765216190591 0.65913676229913643 -0.55330781089378567 +1.1862949853258695 -0.78150930217415993 -0.25403266136427283 +1.222063746697287 -0.75479540259253075 -0.24182457902844484 +-1.0452092267008006 1.3737129472044378 0.14298867160268314 +-0.74407409776844169 -0.34071620320627927 -0.80940768533322593 +-0.71712105070238663 -0.30779278352776984 -0.84186208995795164 +-0.91299457872284351 0.62098729643973982 -0.27516448394823756 +-0.89344186537268921 0.50966916171636845 -0.33700366482748911 +0.3988727552285477 1.0028799671819568 0.40480402378091729 +-0.8160355994848989 0.57900945420550065 -0.43735149290386321 +0.83946784812691466 -0.1977637423931991 0.50901507761948661 +-1.0452087464980777 1.373714627711895 0.14298840324034862 +-0.77641850445397664 1.2235803232983256 -0.31618801645627603 +-0.77641751297117589 1.2235812413747094 -0.31618929330947332 +-0.11568311884839105 0.85452764052941488 -1.4449259561799996 +-0.62790126115423606 1.1406262568576784 -0.56990085047068462 +-0.52145218371116608 1.2780071388772622 0.48087899692073732 +1.0050996243141395 -0.66086307132535183 0.12109783355128767 +1.2220631121154568 -0.75479587649220914 -0.24182479555037617 +-0.80709379475231957 -0.77820883219993942 0.27164213830230499 +0.74355460995368849 -0.54762937911909848 0.55859295542044363 +-1.1812169307534339 -0.23203513224697686 0.58839141106710757 +-0.072811229874317984 0.83058161616634663 -1.5181642429236515 +0.8160380127128215 -0.57901053036341854 0.43734740266198491 +-0.90738993889576403 -0.90738806106953884 -0.71675717473693901 +-0.55008279830087781 0.84776858050132953 -0.22685645578031777 +-0.91299786094665825 0.62098849958927982 -0.27515936557665677 +-0.91019430256197076 0.61977471787530214 -0.27984898017306226 +-1.0452127193265759 1.3737087535899923 0.14299208988366718 +-1.0452086378853584 1.3737126183225232 0.1429876657259832 +-0.83058229747144363 0.15178356579571178 -0.5358122773750944 +-0.83057530420534031 0.15175523947463482 -0.53583114097690809 +-0.71201667531383483 -0.30155773734905433 -0.84800831393814069 +-1.4583295913371837 -0.55079779113560789 0.53039911675759033 +-0.072811174771464038 0.83058180900424317 -1.5181642737176908 +-0.072811200478614058 0.83058171903952482 -1.5181642593513391 +-0.7440748033054787 -0.34071738137060714 -0.80940659980578777 +-0.072811258330985396 0.83058151657941992 -1.5181642270207414 +-0.35761766711473519 0.98965921433063064 -1.0316274111431989 +1.2220634472747198 -0.75479562619845764 -0.24182468119265665 +-0.072810298825574188 0.83058098065088903 -1.5181658661487081 +-0.81603567738144811 0.57900937548698983 -0.43735155455704722 +-1.222064019840758 0.75479661078252502 0.24182689656834183 +-1.2220641081880745 0.75479630160059141 0.2418269459419678 +-0.86611437216916287 0.15024550852271229 0.64785392333642955 +-1.1376290105009135 0.81785186240774577 0.27063645089958555 +0.61059759546288683 1.0514556255045227 1.2176236408681405 +-0.89344430088651228 0.50966696677941781 -0.33700074784464862 +-0.8917250969377033 0.51120702443025801 -0.33922948535933684 +0.84060457817856182 0.94469225231654774 0.83084789118288427 +-0.627901038923391 1.1406273411188028 -0.56990088783637582 +-1.4292618268494941 0.029683262178670601 0.35762109848632428 +0.83057835599043783 -0.15176760091294256 0.53582290906688623 +1.191224320457299 0.22147642740508722 -0.57908066866722496 +-0.70694769665182333 -0.12008574945710737 0.82941316505699891 +0.26414238167181558 -0.340070891431138 1.3605236451953227 +-0.34236995121200697 -0.73929049338891883 1.2452819943524682 +-0.072812277331180564 0.83058251704598418 -1.5181611890335223 +-0.59283045123912803 -0.31390432617447417 0.95958514029632558 +1.2921274837554604 0.11501453581140117 -0.48520619625222539 +0.83057936195803417 -0.15176865248808602 0.53582105185556439 +0.072810595546436013 -0.83057801656885255 1.5181650707079126 +1.4458420526031932 0.55308287970955416 -0.5384554928139631 +-0.072810735377973779 0.83058142102189758 -1.5181638896549785 +-0.75776926221858165 -0.67881044342961072 0.98234364084708004 +0.73925227335181298 0.65251780545567328 0.90519793229752921 +0.83057913751344037 -0.15176667588125314 0.53582195963271095 +-0.072810632149011151 0.83058178228178825 -1.5181639473440973 +-1.0551525352605977 -0.079094410341626314 0.61218070229688171 +0.68455650516532374 0.70659392593837977 1.0052990439585252 +0.83056563216001478 -0.1516928063089325 0.53586381756581458 +0.74355451783088533 -0.5476294467915781 0.55859292590648257 +0.09152889367508879 1.0605943750142206 0.21626092406800312 +-1.2220642076500234 0.75479647052837495 0.24182683248708836 +0.27156815715756344 0.95037787185292388 -0.15176507079986962 +0.27156806958034729 0.95037792546597655 -0.15176489177951907 +0.4862050367585099 -0.27156208307813567 -0.83057732771393966 +-1.3752388409403995 0.082711372488279977 0.37190671688936827 +-1.3602088318422969 -0.043182600062209725 0.42186706147645991 +0.88299169201619709 0.51040680894663404 0.64213415104206595 +-0.072810677525546208 0.83058162348214837 -1.5181639219855909 +-1.3983871553179221 -0.0029010404871108123 0.38634805305360898 +-1.4077649626440665 -0.037584201451483515 0.3921985035819564 +-1.4292637483202602 0.029676537763380917 0.35762217231609639 +1.0834899170453709 -1.2397470314121914 -0.16438179050329355 +0.27156926049960572 0.95037848279667436 -0.15175927071645789 +1.1380682460993308 -1.0487452409625964 -0.19488320628720435 +1.1520452622758213 0.24440134336738495 0.14972747366403383 +0.61594635107861762 1.0701743766234761 1.2146342394242984 +0.27156842169951589 0.95037809025197739 -0.15176322979946671 +1.3983872527325563 0.002900944563703569 -0.38634824744650742 +1.4458418206485577 0.55308358858437989 -0.53845586036572568 +-0.072810651818749961 0.83058171344560594 -1.5181639363517379 +0.84060468907630637 0.94469225120845191 0.8308480826810094 +-0.77641759488966877 1.2235813234793689 -0.31618945746388027 +1.4292645641532862 -0.029677433561482898 -0.35761995777196298 +0.27156846802397028 0.95037808978910121 -0.15176314980644062 +0.2715696618447182 0.95037858213568205 -0.15175793048936953 +0.53482785065168659 0.94774758877864795 0.30283291430581849 +0.3254816620596348 1.0166616576101499 0.35978157013084833 +-0.072810706921448559 0.83058152060830159 -1.5181639055578011 +0.79150301416217372 0.9721178287889356 0.91472904042844339 +1.3983871553179221 0.0029010404871108088 -0.38634805305360898 +-0.77641864628065504 1.2235803499310349 -0.31618810346100124 +0.27156770354903181 0.95037809742777313 -0.15176446990107395 +0.88298920333152697 0.51040925953441718 0.64213911726330197 +0.8829796589878347 0.51041865777290574 0.64215816319664087 +0.88298060943693213 0.51041772187332191 0.64215626655599833 +0.35611142036729593 1.0543197393437307 0.65040806545038454 +0.88298989171432796 0.51040858168940839 0.64213774358132225 +1.398386710376569 0.0029014786172832574 -0.38634716516402534 +0.86360537321934205 0.19497409986643593 0.58284031185456175 +0.83057927165976908 -0.15177053411915503 0.53582065886412256 +-0.67962120953886762 0.093834755467327613 1.000000765234248 +-0.72653990999678686 -0.27345987888755308 0.70710733617885313 +-1.2977622084737699 -0.67872772572965134 0.016624482600856215 +-0.91484403297591355 -0.78311900700981818 0.048098177682039556 +-1.1047737372914788 -0.79177128786820328 -0.34593785344069417 +0.84730969642936871 -0.070135629485791995 0.53300971677855502 +0.8305786538099047 -0.15176935158772759 0.53582195154490297 +-1.2220641332954343 0.75479665990196287 0.2418270863481265 +1.1248652062494275 0.27223590436674849 0.15947059898567606 +0.41421507659473056 0.99999873031054909 0.41421449157895385 +-1.2071064563573226 0.79289234423845212 0.29289550658342878 +0.34372497356543963 1.013235864794038 0.37097307741192709 +-1.1812170105697244 -0.2320350444774244 0.58839118900817122 +0.6869474061002081 0.70423011096024002 1.0009233739300507 +-1.1864928493230598 0.24715479916834282 0.04289769707097249 +-1.0398018682983223 -0.72898544068584648 0.16349218362654955 +0.21860285286482078 -0.32035988963621986 1.4366906923225642 +-1.1136626373994734 -0.79217622326540016 -0.36437913376713149 +-1.1464469893898013 -0.14644635347424367 -0.085785091354490001 +-1.1715731573214461 0.24264117523132167 0.071069525430321356 +-1.1591820240208452 -0.14259425922737445 -0.10983210798951745 +-1.1864927998254045 0.24715409279406292 0.042897420266182998 +0.37288492168944276 1.0386382233706013 0.58222307009725105 +0.83057816919663963 -0.15176851227721982 0.53582294047422474 +0.83057826043188698 -0.15176806714174929 0.53582292513401364 +1.1520481964260583 0.24439833856181453 0.14972642187100432 +0.95226132525908214 0.44192187105524128 0.51536324583683912 +1.301396602011736 0.26998939026322188 -0.074529417519675401 +-1.1864920545378297 0.24715568335379096 0.042899800086449627 +0.56114940226257537 0.8784058610582155 1.2452580491384091 +0.90303123119381912 0.20172894408923686 0.52364074885482603 +0.24384802785389981 -0.23201242278500633 1.4225823787241092 +0.21860444100880605 -0.32036057720090672 1.4366880357957839 +0.83057784949597946 -0.15177007209218252 0.53582299422840141 +1.588344346402601 0.52704396556084809 -0.44652442201649467 +1.1520478884153404 0.24439865398953514 0.1497265322823671 +-1.3802051993043256 0.0088847325129869162 -0.88388117337769234 +1.4458424353672008 0.55308271389057428 -0.5384558462825717 +-0.66803152932523657 -0.76270611068435246 0.61755692081485392 +-1.3296765337832608 -0.068782331641301708 0.17535816360212159 +0.21860509393451583 -0.3203600896022456 1.4366882585766336 +-1.1864904201836306 0.24715714740329475 0.042897681346251368 +-1.1864919245293857 0.24715382803310942 0.042899073049182404 +0.50430099314110732 -0.44404889654413993 0.95879651665009491 +-1.1864922270728964 0.24715535657853399 0.042896890406953395 +-1.1728451024691151 0.26233769224505443 0.079009871497086381 +1.429263607141944 -0.029676423828465366 -0.35762084812734518 +1.4292639367717452 -0.029676771617545082 -0.35762054145630084 +-1.1864933379585363 0.24715425556944176 0.04289640413304345 +0.83057849919371729 -0.15176949009291607 0.53582215198373917 +-1.1568553048199113 0.27652878593735997 0.055870018825324219 +0.8305786145499845 -0.15176942112897268 0.53582199270302544 +-1.3296754274875835 -0.068783548173368209 0.17536124145553794 +-1.4168318027377476 0.015261255515257192 0.4231547247898797 +-1.2420379377578477 -0.16515364040348185 0.41917973648061102 +-1.3142135972265985 -0.085786066306790698 0.21837799371752442 +-1.3964469393280101 0.31066136002785538 -0.35354975305879877 +-1.375345200475433 -0.22654056649738979 0.28151018010530271 +-0.79092310845921276 -0.77747220461391775 0.30519049732422665 +0.83057846881967312 -0.15176945256805646 0.53582220969429817 +-0.072809775871901183 0.83058088509333672 -1.5181655287819473 +-1.1591809672448208 -0.14259457888106697 -0.109830112524929 +-0.77436680684397441 -0.64786416584284945 0.40854442454801621 +-0.65868075858478403 -0.77144813357622977 0.579545818494551 +-0.91432046320307014 0.49096616428412898 -0.30993735833238689 +0.31543754463992091 -0.6132374442787456 1.2036365451818298 +-0.95042064274841276 0.63719044083838794 -0.21256091043687475 +0.21860804376932252 -0.32035788669388909 1.4366892650720047 +0.26414203003304537 -0.34007146838172653 1.3605229885830994 +0.5043050994581626 -0.4440481828317373 0.95879390116447283 +-1.2821703357904686 -0.1053927452994077 -0.34206563264979861 +-1.3950248555638129 0.015166384691681245 -0.50888160125451387 +0.83057921094129261 -0.15176878777000358 0.53582124762929939 +0.83057921428301662 -0.15176888388270582 0.53582121522580661 +1.1520457216373599 0.24440087294426444 0.14972730899855136 +0.83057837899372444 -0.15176959776807575 0.53582230780666507 +0.83057836832893295 -0.15176954258840702 0.53582233996758677 +0.53333303768975404 0.78105988300412688 1.2608031694820392 +1.2094605796402234 0.18763646523885052 0.044649953162085518 +-1.4213785934887198 0.041761914232589514 0.43867848597006465 +0.24385126380971905 -0.23201627097173155 1.4225819458050157 +0.072813557744436153 -0.83058088211287973 1.5181667192007691 +1.1520460654258855 0.24440052087719483 0.14972718576206195 +0.50430435872583135 -0.44404822116661391 0.95879452730926884 +0.24385085799358841 -0.23201622319807824 1.4225816926310855 +0.80487075533746899 0.58764270994710954 0.78510687345880492 +1.2094623148886519 0.18763465120095019 0.044650869093986634 +1.4292644640466872 -0.029677292919032039 -0.35762150644366697 +1.3013965136136783 0.26999350525230759 -0.074533234103341478 +-1.1520471629062521 -0.24439946426917381 -0.14972399523736085 +1.3013966032255482 0.26999292544728914 -0.074532799557073287 +0.21860748489564913 -0.32035830405539101 1.4366890743820839 +-0.44473393551358653 -1.00000116721302 0.89579142914623144 +1.4292641344160133 -0.029676945129070979 -0.35762181311388253 +-1.3802062205499084 0.0088857235128048419 -0.88387852813866896 +1.2094608437175896 0.18763618996671189 0.044650059480039639 +-1.1520483311318501 -0.24439821628848124 -0.14972572205065199 +-1.1392377899621238 -0.25808333675365225 -0.13078981378689414 +0.83057850420766943 -0.15176951997461507 0.53582213574773307 +1.0580579017646907 -1.3287494503126491 -0.15016870452753056 +1.4292657128928177 -0.029678645584980158 -0.35761888904228356 +0.83057942777298077 -0.1517750241556447 0.53581914509058826 +-0.81603520292265253 0.57900985495225887 -0.43735117903469378 +3 82 81 80 +3 84 81 83 +3 87 86 85 +3 90 89 88 +3 93 92 91 +3 96 95 94 +3 99 98 97 +3 102 101 100 +3 103 102 100 +3 40 105 104 +3 82 80 106 +3 110 108 107 +3 112 111 110 +3 118 116 114 +3 132 121 120 +3 98 44 97 +3 99 97 134 +3 139 137 136 +3 136 118 140 +3 83 81 82 +3 121 145 107 +3 148 147 146 +3 150 148 149 +3 149 151 150 +3 83 152 84 +3 156 155 154 +3 158 145 157 +3 154 160 159 +3 163 162 161 +3 96 164 101 +3 96 101 102 +3 103 100 104 +3 174 81 170 +3 149 177 156 +3 85 174 170 +3 189 186 184 +3 108 120 107 +3 111 112 193 +3 146 147 195 +3 137 118 136 +3 199 110 111 +3 149 201 151 +3 161 205 204 +3 114 208 140 +3 118 137 108 +3 217 214 212 +3 92 86 90 +3 189 184 204 +3 226 189 204 +3 145 121 201 +3 189 160 186 +3 156 195 155 +3 170 87 85 +3 226 204 158 +3 212 87 170 +3 91 245 93 +3 162 87 212 +3 93 164 96 +3 93 96 94 +3 107 83 106 +3 107 106 112 +3 45 193 80 +3 45 80 81 +3 107 152 83 +3 106 83 82 +3 264 212 170 +3 84 170 81 +3 204 214 158 +3 84 269 170 +3 132 151 201 +3 201 157 145 +3 157 226 158 +3 152 107 145 +3 90 91 92 +3 159 160 189 +3 298 120 291 +3 269 84 152 +3 311 152 145 +3 80 193 112 +3 80 112 106 +3 199 108 110 +3 112 110 107 +3 116 108 199 +3 116 199 111 +3 114 140 118 +3 116 118 108 +3 134 136 208 +3 298 150 151 +3 134 139 136 +3 208 136 140 +3 121 107 120 +3 148 146 357 +3 372 291 137 +3 372 137 139 +3 121 132 201 +3 357 149 148 +3 156 201 149 +3 120 298 132 +3 160 155 195 +3 177 357 195 +3 149 357 177 +3 156 177 195 +3 189 226 159 +3 419 416 409 +3 157 159 226 +3 86 89 90 +3 201 154 157 +3 120 108 137 +3 160 154 155 +3 357 146 195 +3 184 186 419 +3 419 161 184 +3 214 311 158 +3 161 488 163 +3 204 205 214 +3 269 152 311 +3 158 311 145 +3 186 416 419 +3 204 184 161 +3 205 161 162 +3 154 201 156 +3 214 205 162 +3 162 163 88 +3 162 88 89 +3 409 91 488 +3 419 409 488 +3 488 90 163 +3 488 161 419 +3 214 162 212 +3 214 217 311 +3 269 311 217 +3 264 217 212 +3 269 217 264 +3 269 264 170 +3 409 245 91 +3 163 90 88 +3 159 157 154 +3 91 90 488 +3 89 86 87 +3 89 87 162 +3 245 164 93 +3 92 93 94 +3 95 96 102 +3 95 103 105 +3 95 102 103 +3 105 103 104 +3 99 134 208 +3 208 114 99 +3 151 132 298 +3 195 147 160 +3 137 291 120 +3 307 275 760 +3 831 826 820 +3 855 848 839 +3 528 872 863 +3 902 898 896 +3 307 916 506 +3 955 168 933 +3 848 964 960 +3 977 973 964 +3 307 760 916 +3 1004 998 993 +3 839 896 1011 +3 1027 977 855 +3 1040 1037 1032 +3 1027 1052 1046 +3 760 1059 916 +3 1040 1032 1067 +3 1079 1075 1073 +3 1082 1073 1080 +3 1087 1086 1084 +3 1082 1079 1073 +3 1103 863 1095 +3 1119 1116 1109 +3 1148 1144 924 +3 1162 1156 1144 +3 1162 1144 520 +3 1156 1162 1186 +3 1162 1197 1186 +3 1197 1 1186 +3 1221 872 1080 +3 1235 1231 1224 +3 1252 1037 307 +3 1281 211 1255 +3 1086 1087 1281 +3 898 1297 1292 +3 1311 955 993 +3 1348 1288 1326 +3 1040 1353 1037 +3 1369 1364 1359 +3 1385 1381 1375 +3 1397 1394 1388 +3 964 219 221 +3 1375 1417 1385 +3 1375 1381 826 +3 1469 935 1109 +3 307 820 1474 +3 1474 820 1394 +3 1489 1397 1388 +3 1505 1502 1288 +3 1052 760 1046 +3 1052 1059 760 +3 1067 1032 1252 +3 1067 1075 1040 +3 960 221 168 +3 211 973 1538 +3 1546 1545 1543 +3 1505 1551 1417 +3 1558 1554 1255 +3 955 1004 993 +3 1281 1554 1086 +3 1311 190 955 +3 1581 1554 1558 +3 1588 1586 1581 +3 1084 1590 1589 +3 1394 1588 1558 +3 848 855 977 +3 1586 1489 1381 +3 964 848 977 +3 1364 1612 1359 +3 1618 1545 1551 +3 933 221 1087 +3 528 863 1103 +3 1103 1162 528 +3 520 1469 528 +3 528 1162 520 +3 1675 1197 1162 +3 1675 1103 1095 +3 1675 1162 1103 +3 528 1469 1109 +3 520 1144 1148 +3 1700 1224 1502 +3 1469 520 1148 +3 1545 1618 1711 +3 1712 1369 1590 +3 1148 935 1469 +3 1148 924 935 +3 1589 1004 1084 +3 1381 1388 826 +3 1554 1581 1712 +3 1737 1546 1364 +3 1700 1375 826 +3 820 1388 1394 +3 1375 1700 1505 +3 1388 820 826 +3 1348 1326 1231 +3 1288 1502 1326 +3 935 1119 1109 +3 935 1288 1119 +3 1116 1348 1231 +3 1417 1375 1505 +3 1109 1116 1231 +3 1119 1348 1116 +3 1109 872 528 +3 1369 1712 1737 +3 1231 1235 1109 +3 221 933 168 +3 1235 1224 1785 +3 1785 1082 1235 +3 1785 1792 1790 +3 1037 1252 1032 +3 1804 820 1037 +3 820 307 1037 +3 872 1082 1080 +3 1004 955 933 +3 1079 1040 1075 +3 1082 1785 1079 +3 863 872 1221 +3 1590 1359 1589 +3 1004 1589 998 +3 1037 1353 1804 +3 1252 307 506 +3 1474 275 307 +3 1385 1737 1586 +3 1087 219 1281 +3 1474 1394 1558 +3 1397 1588 1394 +3 1790 831 1353 +3 960 896 848 +3 831 1804 1353 +3 831 820 1804 +3 1790 1792 831 +3 1224 1326 1502 +3 1785 1224 1792 +3 1231 1326 1224 +3 1381 1489 1388 +3 1288 1348 1119 +3 1545 1546 1417 +3 190 1297 902 +3 973 211 219 +3 1551 1505 1288 +3 3 898 1292 +3 1385 1586 1381 +3 1353 1040 1790 +3 973 1046 1538 +3 896 839 848 +3 1046 275 1538 +3 977 1027 1046 +3 760 275 1046 +3 1235 872 1109 +3 221 960 964 +3 273 211 1538 +3 273 1255 211 +3 1554 1281 1255 +3 1084 933 1087 +3 275 273 1538 +3 275 1255 273 +3 1474 1255 275 +3 1474 1558 1255 +3 933 1084 1004 +3 168 955 190 +3 211 1281 219 +3 219 1087 221 +3 826 831 1700 +3 1359 1590 1369 +3 1790 1079 1785 +3 1397 1489 1586 +3 168 902 960 +3 1737 1364 1369 +3 1737 1581 1586 +3 898 1011 896 +3 1502 1505 1700 +3 902 168 190 +3 896 960 902 +3 1581 1737 1712 +3 1558 1588 1581 +3 1397 1586 1588 +3 1086 1712 1590 +3 1700 831 1792 +3 1712 1086 1554 +3 1700 1792 1224 +3 1543 1364 1546 +3 1011 898 3 +3 1543 1711 1364 +3 1618 998 1612 +3 1546 1737 1385 +3 1417 1551 1545 +3 1385 1417 1546 +3 1545 1711 1543 +3 1284 1618 1551 +3 1711 1612 1364 +3 219 964 973 +3 898 902 1297 +3 1590 1084 1086 +3 1618 1612 1711 +3 973 977 1046 +3 0 998 1618 +3 0 1284 924 +3 0 1618 1284 +3 1284 1288 924 +3 924 1288 935 +3 1288 1284 1551 +3 1612 1589 1359 +3 1589 1612 998 +3 872 1235 1082 +3 1790 1040 1079 +3 2147 2145 1607 +3 2161 2157 1743 +3 2181 2179 30 +3 1739 2188 1765 +3 2188 2207 2204 +3 2214 2213 2211 +3 239 237 2215 +3 2225 2223 2222 +3 2230 2228 2226 +3 2238 2237 1765 +3 2245 2243 2241 +3 2250 2243 2247 +3 2256 2254 2252 +3 2265 2128 2257 +3 2272 2270 2179 +3 1706 2207 1739 +3 2215 237 2188 +3 2214 2256 2292 +3 2225 2222 2297 +3 2304 2228 2230 +3 2311 2063 2001 +3 2166 2063 2311 +3 1812 1789 2223 +3 2343 2093 2334 +3 2092 2354 1607 +3 2379 981 31 +3 1398 2386 1150 +3 1401 1398 2400 +3 2270 2413 2412 +3 981 2416 26 +3 981 26 31 +3 1765 237 239 +3 2272 2429 2270 +3 1812 2223 2431 +3 2447 2445 2323 +3 402 2092 1607 +3 2472 901 966 +3 1150 2386 2474 +3 1401 2400 2472 +3 2484 2225 2297 +3 2265 2257 2485 +3 2145 2147 2489 +3 2504 2238 1787 +3 1787 2215 1789 +3 2225 2431 2223 +3 2292 2215 2188 +3 2504 2521 2445 +3 1787 239 2215 +3 2540 2243 2537 +3 2334 2166 2311 +3 2445 2447 2504 +3 1743 2157 2547 +3 2557 2379 1607 +3 2413 2447 2323 +3 2569 2568 1743 +3 2574 2304 2230 +3 969 966 901 +3 699 2590 966 +3 2574 2247 2304 +3 2145 2590 699 +3 2607 2540 2604 +3 2354 2147 1607 +3 2618 2616 2489 +3 2616 2145 2489 +3 2590 2386 966 +3 2590 2627 2474 +3 2265 2157 2128 +3 2634 2627 2618 +3 2639 2574 2635 +3 2639 2640 2250 +3 1150 2245 2241 +3 2634 2508 2245 +3 2311 2568 2651 +3 2188 237 1765 +3 30 2179 2102 +3 2181 2272 2179 +3 2334 2093 2166 +3 1706 1739 2429 +3 2207 2188 1739 +3 2207 2213 2204 +3 2214 2204 2213 +3 2292 2188 2204 +3 2256 2214 2211 +3 2574 2639 2250 +3 2214 2292 2204 +3 2297 2215 2292 +3 2540 2247 2243 +3 2429 2237 2413 +3 1789 2504 1787 +3 2445 2265 2485 +3 2489 2604 2618 +3 2222 2215 2297 +3 2521 2504 1789 +3 2323 2412 2413 +3 2238 1765 239 +3 2237 1739 1765 +3 2215 2222 1789 +3 2412 2102 2270 +3 2237 2429 1739 +3 2568 2311 2001 +3 2413 2270 2429 +3 2311 2651 2334 +3 239 1787 2238 +3 1789 1812 2547 +3 2604 2749 2748 +3 2485 2323 2445 +3 2607 2748 2756 +3 2265 2445 2521 +3 2749 2604 2489 +3 2238 2504 2447 +3 2569 1743 1812 +3 1743 2547 1812 +3 2431 2756 2569 +3 1511 2001 2161 +3 1511 2161 1743 +3 2001 2128 2161 +3 2568 1511 1743 +3 2568 2001 1511 +3 1607 699 2557 +3 2557 699 969 +3 1933 2379 31 +3 402 1607 2379 +3 402 1933 31 +3 402 2379 1933 +3 2748 2334 2651 +3 2343 2693 2354 +3 2756 2651 2569 +3 2547 2521 1789 +3 2431 2569 1812 +3 2651 2568 2569 +3 969 2416 981 +3 2223 1789 2222 +3 2256 2297 2292 +3 2822 2820 2484 +3 2756 2748 2651 +3 2489 2147 2688 +3 2820 2831 2484 +3 2431 2225 2831 +3 2540 2607 2822 +3 2748 2607 2604 +3 2748 2749 2334 +3 2749 2343 2334 +3 2749 2489 2688 +3 2092 2343 2354 +3 2343 2749 2693 +3 2379 2557 981 +3 2688 2147 2354 +3 2693 2688 2354 +3 2693 2749 2688 +3 2247 2574 2250 +3 699 966 969 +3 699 1607 2145 +3 2237 2238 2447 +3 981 2557 969 +3 2521 2547 2157 +3 2447 2413 2237 +3 2590 2145 2616 +3 2508 2634 2618 +3 2590 2616 2627 +3 2537 2618 2604 +3 2627 2616 2618 +3 2820 2822 2607 +3 2431 2831 2820 +3 2537 2243 2508 +3 2820 2756 2431 +3 1150 2474 2245 +3 2386 2590 2474 +3 966 1401 2472 +3 966 2386 1401 +3 2400 1398 1150 +3 1401 2386 1398 +3 2474 2634 2245 +3 2474 2627 2634 +3 2540 2537 2604 +3 2508 2618 2537 +3 2247 2540 2252 +3 2756 2820 2607 +3 2484 2252 2822 +3 2822 2252 2540 +3 2508 2243 2245 +3 2831 2225 2484 +3 2157 2265 2521 +3 2297 2252 2484 +3 2297 2256 2252 +3 2635 2230 2226 +3 2252 2304 2247 +3 2228 2920 2226 +3 2252 2228 2304 +3 2920 2254 2226 +3 2241 2250 2640 +3 2241 2243 2250 +3 2574 2230 2635 +3 2416 969 901 +3 2252 2920 2228 +3 2252 2254 2920 +3 2179 2270 2102 +3 2157 2161 2128 +3 2429 2272 1706 +3 2343 2092 2093 +3 95 2969 2517 +3 94 95 2517 +3 1106 2982 2981 +3 2989 2987 2985 +3 2990 2028 1956 +3 2384 2441 2991 +3 2246 1794 1802 +3 2570 86 92 +3 3018 2517 2969 +3 2517 2511 94 +3 1800 2545 2248 +3 2028 3046 2227 +3 1100 1106 3051 +3 3061 1100 2384 +3 3062 3061 2991 +3 86 2570 2668 +3 3075 2985 3062 +3 2990 2987 2989 +3 2234 2486 915 +3 3086 3084 3082 +3 3082 3089 3086 +3 3093 3089 3082 +3 3100 587 431 +3 915 911 2234 +3 2183 1270 1471 +3 587 346 431 +3 1313 2813 1321 +3 415 1653 1872 +3 2183 1471 1653 +3 2665 85 2668 +3 3175 3174 3172 +3 2849 3176 2567 +3 2108 2486 2246 +3 2271 3189 2183 +3 1462 2711 1424 +3 2271 3207 3189 +3 3207 1800 1802 +3 2227 2567 2028 +3 2248 2545 2675 +3 81 174 2981 +3 2209 3233 3232 +3 3235 2987 2990 +3 2990 2989 3075 +3 2219 2193 2227 +3 3189 1794 2711 +3 2665 3051 2981 +3 2991 2670 3232 +3 2570 3254 3253 +3 3262 2545 2439 +3 92 2439 2570 +3 92 3262 2439 +3 105 40 3271 +3 94 2675 92 +3 3018 1233 1930 +3 2517 3018 1930 +3 337 3288 373 +3 2711 1794 915 +3 1872 1653 1471 +3 2115 1270 1462 +3 1270 2711 1462 +3 2115 1462 1424 +3 3323 2271 3317 +3 3325 2183 2813 +3 2519 2271 3323 +3 3325 3100 431 +3 1800 3337 2010 +3 373 415 41 +3 3344 3342 3175 +3 3344 3345 3342 +3 2813 1313 3100 +3 3089 392 3086 +3 2668 2441 2384 +3 3061 2384 2991 +3 2668 3051 2665 +3 1106 2981 3051 +3 2989 2985 3075 +3 3062 2991 3232 +3 3366 3365 2210 +3 2384 3051 2668 +3 3233 2209 2210 +3 3232 3075 3062 +3 3365 2219 2210 +3 2248 1802 1800 +3 3232 3233 3075 +3 1956 3235 2990 +3 3233 2990 3075 +3 2246 2234 1794 +3 3383 3344 3175 +3 2219 2010 2193 +3 2227 2849 2567 +3 2248 2246 1802 +3 3100 3325 2813 +3 2545 92 2675 +3 3046 2219 2227 +3 2990 3233 2210 +3 3325 431 3093 +3 174 85 2665 +3 174 2665 2981 +3 2991 2441 2670 +3 3232 2670 2209 +3 2441 2668 2570 +3 3046 2028 2990 +3 3254 3366 3253 +3 3365 3366 3254 +3 1800 3365 2545 +3 92 2545 3262 +3 2108 2246 2248 +3 3084 3086 3174 +3 2969 95 105 +3 3271 2969 105 +3 2511 2675 94 +3 3440 3323 3438 +3 2969 3271 3018 +3 2711 2183 3189 +3 3271 1233 3018 +3 3174 3175 3084 +3 40 1233 3271 +3 1930 2511 2517 +3 1233 1598 2108 +3 2246 2486 2234 +3 431 392 3089 +3 2219 3365 2010 +3 3176 2010 3337 +3 2193 2010 2849 +3 3337 1800 3207 +3 2010 3176 2849 +3 2193 2849 2227 +3 2567 3176 3337 +3 2010 3365 1800 +3 3337 3207 2519 +3 3533 3344 3383 +3 3207 2271 2519 +3 2912 3440 2567 +3 2511 1930 2248 +3 915 1424 2711 +3 1794 3189 1802 +3 2990 2210 3046 +3 1802 3189 3207 +3 431 3089 3093 +3 2108 2248 1930 +3 1598 1424 2486 +3 1598 2486 2108 +3 2486 1424 915 +3 911 915 1794 +3 2234 911 1794 +3 2183 2711 1270 +3 1471 2115 1872 +3 1471 1270 2115 +3 1872 2115 1424 +3 3288 1313 415 +3 41 415 1872 +3 415 1313 1321 +3 415 1321 1653 +3 3533 2028 3440 +3 1321 2813 1653 +3 3317 2271 2183 +3 2813 2183 1653 +3 337 346 587 +3 3323 3317 3438 +3 337 587 3609 +3 3288 3100 1313 +3 337 3609 3288 +3 373 3288 415 +3 3609 587 3100 +3 3609 3100 3288 +3 3317 2183 3325 +3 2028 3533 3383 +3 3440 2519 3323 +3 3254 2570 2439 +3 2912 2519 3440 +3 2567 3440 2028 +3 3337 2519 2912 +3 3337 2912 2567 +3 2248 2675 2511 +3 3645 3175 3172 +3 3345 3344 3533 +3 3175 3645 3383 +3 3317 3325 3438 +3 2439 3365 3254 +3 3093 3342 3345 +3 3438 3345 3533 +3 3365 2439 2545 +3 3342 3084 3175 +3 3440 3438 3533 +3 3342 3082 3084 +3 3383 1956 2028 +3 3438 3093 3345 +3 3082 3342 3093 +3 3383 3645 1956 +3 2982 45 81 +3 2982 81 2981 +3 1100 3051 2384 +3 2219 3046 2210 +3 3093 3438 3325 +3 3366 2210 2209 +3 2570 3253 2670 +3 3253 3366 2670 +3 3366 2209 2670 +3 1930 1233 2108 +3 2670 2441 2570 +3 2668 85 86 +3 2475 2218 2532 +3 2475 2894 2218 +3 3719 1919 1855 +3 3627 2348 3721 +3 2133 13 2893 +3 3337 1800 2101 +3 2042 2080 2085 +3 2042 3746 2047 +3 3719 1965 1919 +3 3754 3719 3752 +3 3719 1821 3756 +3 1368 2101 1611 +3 3082 3342 3769 +3 741 745 1501 +3 1501 2082 741 +3 3800 2133 2186 +3 2478 2894 2475 +3 1965 3791 3684 +3 2068 3807 3791 +3 3813 3812 3811 +3 1930 3007 2532 +3 2532 3286 3018 +3 1299 2600 1501 +3 3746 3395 3401 +3 2047 2082 2042 +3 2082 1239 741 +3 2047 1239 2082 +3 807 2047 3746 +3 3746 3842 807 +3 3082 3684 3342 +3 2600 1299 2321 +3 2461 3863 2067 +3 3344 3684 3791 +3 3873 1879 2012 +3 927 1238 1241 +3 814 1239 2047 +3 3842 9 807 +3 1183 1604 3675 +3 1604 3769 3675 +3 1855 1821 3719 +3 3886 2851 2477 +3 3811 378 3440 +3 3342 3673 3769 +3 1930 1238 1770 +3 3721 2165 2851 +3 3912 2068 1965 +3 3807 3533 3791 +3 3926 1879 2158 +3 3627 3929 2893 +3 3931 3086 3082 +3 1241 3018 3271 +3 3873 2012 3337 +3 2067 3933 2461 +3 3337 2012 1800 +3 3937 2571 1877 +3 2186 2893 3929 +3 3933 2560 2461 +3 3863 3440 3807 +3 3684 1055 1919 +3 1408 1494 2248 +3 927 3949 3948 +3 1425 1883 1368 +3 3812 1204 406 +3 3948 3949 3395 +3 1357 1368 1883 +3 3746 3401 3842 +3 1770 2248 1930 +3 1299 1303 2321 +3 2084 3948 2085 +3 1611 1425 1368 +3 3948 3991 1399 +3 141 1055 3931 +3 141 3931 1330 +3 3813 1622 1501 +3 2532 3018 1930 +3 3754 3800 2186 +3 3342 3684 3344 +3 1022 1010 3752 +3 3756 3752 3719 +3 3721 3886 3627 +3 3926 3721 2478 +3 3752 3800 3754 +3 3719 2477 2851 +3 1022 3752 3756 +3 1022 3756 1821 +3 3932 2067 2068 +3 3932 2068 3912 +3 3933 2067 3932 +3 2851 3912 3719 +3 2165 3932 3912 +3 3719 3912 1965 +3 1879 3937 1877 +3 3807 2068 2067 +3 2475 3007 2478 +3 2158 2560 3933 +3 2248 1770 1408 +3 2571 2461 1877 +3 2571 3863 2461 +3 1877 2560 1879 +3 1877 2461 2560 +3 2478 3007 2012 +3 1879 2560 2158 +3 2165 3933 3932 +3 3754 2186 2477 +3 3754 2477 3719 +3 3721 2851 3886 +3 2851 2165 3912 +3 1238 1930 3018 +3 2165 2158 3933 +3 3344 3673 3342 +3 2186 4092 2477 +3 4092 3929 3886 +3 4092 3886 2477 +3 1238 927 1399 +3 2893 2348 3627 +3 3929 3627 3886 +3 3082 1330 3931 +3 2894 2478 2348 +3 3286 8 3271 +3 2218 8 3286 +3 3018 1241 1238 +3 2218 3286 2532 +3 2475 2532 3007 +3 3286 3271 3018 +3 2298 1611 1371 +3 2165 3721 3926 +3 3873 2571 3937 +3 2085 3395 2042 +3 1930 2248 3007 +3 1611 2101 1396 +3 2080 1501 2600 +3 2600 2085 2080 +3 1879 3926 2012 +3 1879 3873 3937 +3 2165 3926 2158 +3 2566 2571 3873 +3 2566 3873 2912 +3 3863 2571 2566 +3 3863 2566 2912 +3 1608 1357 1883 +3 3684 1919 1965 +3 3948 1425 3991 +3 2298 1425 1611 +3 1357 2101 1368 +3 3807 2067 3863 +3 1494 1800 2248 +3 3395 2085 3948 +3 3991 1425 2298 +3 2101 1800 1408 +3 1396 1371 1611 +3 1800 1494 1408 +3 1396 1408 1770 +3 1399 1770 1238 +3 1371 1396 1770 +3 1371 1770 1399 +3 2186 2133 2893 +3 3991 2298 1399 +3 3401 3395 3949 +3 1608 1883 1303 +3 2085 2600 2084 +3 1349 1622 3811 +3 1303 1883 2321 +3 3337 1357 1608 +3 2321 1883 2084 +3 2042 3395 3746 +3 2084 1883 1425 +3 1408 1396 2101 +3 1622 1299 1501 +3 1425 3948 2084 +3 1501 2080 2082 +3 1371 1399 2298 +3 2080 2042 2082 +3 745 1204 3813 +3 1299 2780 1303 +3 807 814 2047 +3 2101 1357 3337 +3 3811 1622 3813 +3 745 3813 1501 +3 2780 1349 1608 +3 378 406 1208 +3 1608 1303 2780 +3 1622 2780 1299 +3 2912 3337 1608 +3 2912 1608 3440 +3 3873 3337 2912 +3 3440 1349 3811 +3 3863 2912 3440 +3 2478 2012 3926 +3 2780 1622 1349 +3 1608 1349 3440 +3 1399 927 3948 +3 3929 4092 2186 +3 2321 2084 2600 +3 3791 1965 2068 +3 3533 3673 3344 +3 3533 3344 3791 +3 1183 3675 3533 +3 1055 3684 3086 +3 3931 1055 3086 +3 1330 3082 3769 +3 3086 3684 3082 +3 3769 1604 1330 +3 3813 1204 3812 +3 406 1204 1208 +3 3811 3812 406 +3 3811 406 378 +3 3673 3533 3675 +3 3673 3675 3769 +3 1010 13 2133 +3 1010 2133 3800 +3 3800 3752 1010 +3 3007 2248 1800 +3 3007 1800 2012 +3 378 1183 3533 +3 3440 378 3533 +3 3721 2348 2478 +3 3533 3807 3440 +3 1175 4335 4333 +3 3981 4340 3832 +3 4345 4344 4343 +3 4348 4347 1272 +3 4350 750 4349 +3 3866 3981 4351 +3 1964 1967 4350 +3 4355 1272 4354 +3 1272 4355 4348 +3 4357 4356 3823 +3 4359 4358 4347 +3 379 3474 351 +3 3482 3552 3531 +3 3552 3482 4361 +3 4188 4187 188 +3 1622 3813 3841 +3 4374 1337 1339 +3 351 3506 349 +3 4378 3895 1617 +3 3895 4379 3750 +3 4381 1229 1069 +3 745 3813 3895 +3 3373 56 1638 +3 4354 4390 4355 +3 3288 373 3373 +3 1218 4187 4256 +3 4256 4252 1199 +3 1199 750 4350 +3 3821 4396 4345 +3 4333 4400 4356 +3 3823 3821 4401 +3 4400 4333 4335 +3 1920 4405 4404 +3 4343 4425 4424 +3 4335 1175 593 +3 4335 3163 4428 +3 3988 579 60 +3 3163 579 3988 +3 3163 593 579 +3 3899 379 4429 +3 4429 351 4431 +3 3531 3594 3482 +3 349 3500 454 +3 3500 349 3506 +3 3988 60 4393 +3 3500 3430 454 +3 3531 59 4449 +3 4252 750 1199 +3 516 1809 4431 +3 1988 3899 1986 +3 4404 3484 1916 +3 4465 3917 3867 +3 4404 4405 4361 +3 4424 1901 1920 +3 516 3430 1916 +3 4343 3500 3506 +3 3594 516 1916 +3 4474 2117 4429 +3 379 375 3572 +3 3821 3474 3572 +3 952 3572 375 +3 952 825 4357 +3 3506 351 3474 +3 4357 755 749 +3 3163 3988 4393 +3 1920 1901 4405 +3 4501 3917 3906 +3 4345 3506 3474 +3 4507 3917 4465 +3 4351 4359 4348 +3 1313 1318 3288 +3 3813 1622 1617 +3 3484 4404 4361 +3 4514 3866 3867 +3 4187 4252 4256 +3 4333 573 1175 +3 4518 4187 1218 +3 4518 180 4187 +3 1920 1916 3430 +3 4356 749 4333 +3 4507 3906 3917 +3 3867 3866 4465 +3 3552 59 3531 +3 1807 1809 4449 +3 4528 4431 1809 +3 4474 4528 1807 +3 4474 4431 4528 +3 349 4431 351 +3 3981 3866 59 +3 4429 4431 4474 +3 4528 1809 1807 +3 749 4356 4357 +3 1069 375 4534 +3 4357 3823 4401 +3 454 4431 349 +3 3906 1988 4501 +3 4534 375 379 +3 4514 1807 4449 +3 4534 3899 4542 +3 1916 3484 3594 +3 3484 4361 3482 +3 3594 3484 3482 +3 3500 4343 4424 +3 3917 4501 4514 +3 454 3430 516 +3 4507 1988 3906 +3 3572 952 4545 +3 4507 4355 4390 +3 3821 3823 4396 +3 3899 1988 4542 +3 4545 4401 3821 +3 3572 4545 3821 +3 4357 4401 4545 +3 952 4357 4545 +3 825 755 4357 +3 4335 4428 4555 +3 4429 379 351 +3 593 3163 4335 +3 379 3899 4534 +3 4343 4344 4425 +3 4345 4396 4344 +3 952 1069 1229 +3 952 375 1069 +3 4514 3867 3917 +3 4351 4465 3866 +3 4424 3430 3500 +3 4424 4425 1901 +3 4465 4351 4507 +3 2117 4474 1807 +3 1809 516 4449 +3 3474 379 3572 +3 516 4431 454 +3 4390 4354 1967 +3 1337 4374 418 +3 373 3288 188 +3 306 56 373 +3 745 3895 3750 +3 4347 4348 4359 +3 3849 4252 4188 +3 4378 1229 4381 +3 4252 3849 750 +3 745 750 3849 +3 4379 4381 1069 +3 4379 4378 4381 +3 4507 4390 1964 +3 4335 4555 4400 +3 188 418 4374 +3 3288 3373 1638 +3 1313 3288 1638 +3 373 56 3373 +3 188 3288 418 +3 188 4187 180 +3 4188 4374 3841 +3 4378 4379 3895 +3 373 180 306 +3 4374 4188 188 +3 745 3841 3813 +3 3813 1617 3895 +3 750 745 4349 +3 3849 3841 745 +3 4351 4348 4355 +3 1986 4501 1988 +3 1964 4542 1988 +3 1986 4429 2117 +3 3866 4514 59 +3 4542 4379 1069 +3 1807 4514 2117 +3 2117 4501 1986 +3 4355 4507 4351 +3 2117 4514 4501 +3 4542 1964 4379 +3 4449 516 3594 +3 4449 3594 3531 +3 3430 4424 1920 +3 4390 1967 1964 +3 4429 1986 3899 +3 4349 1964 4350 +3 4514 4449 59 +3 3506 4345 4343 +3 1964 1988 4507 +3 59 4340 3981 +3 4358 4359 3981 +3 4379 1964 4349 +3 4534 4542 1069 +3 4351 3981 4359 +3 4358 3981 3832 +3 3474 3821 4345 +3 4187 4188 4252 +3 1916 1920 4404 +3 1318 418 3288 +3 3841 1339 1622 +3 188 180 373 +3 1339 3841 4374 +3 418 1318 1337 +3 3841 3849 4188 +3 4349 3750 4379 +3 3750 4349 745 +3 4333 697 573 +3 4333 749 697 +3 1532 484 55 +3 2887 4624 3263 +3 54 3263 4624 +3 786 4625 3619 +3 4628 4627 4626 +3 4624 2887 3300 +3 4244 4630 4629 +3 4634 4628 4632 +3 3737 4634 3619 +3 3497 2676 3498 +3 4640 3737 4638 +3 4642 4640 4638 +3 2887 2620 2794 +3 2620 2615 3260 +3 3296 1030 1423 +3 1395 55 4649 +3 2481 833 840 +3 4653 3022 2336 +3 4630 4244 4291 +3 4291 4655 4654 +3 4654 4136 4291 +3 3218 4662 3377 +3 4074 4664 4459 +3 4655 4244 4365 +3 4118 4459 4660 +3 52 4365 4364 +3 4364 4244 4096 +3 2481 2502 2448 +3 2481 2448 55 +3 2359 3382 3025 +3 4074 4513 4072 +3 4513 4074 4674 +3 3377 4118 3218 +3 3619 4638 3737 +3 509 1532 4571 +3 3263 2620 2887 +3 4118 3377 4674 +3 4677 55 3025 +3 2122 3025 55 +3 1583 2502 840 +3 3022 4678 2338 +3 4677 3025 3382 +3 4680 1391 1395 +3 2359 2572 3382 +3 4687 1423 1391 +3 2129 4689 786 +3 2481 840 2502 +3 704 2300 4689 +3 833 3891 840 +3 2572 2359 1423 +3 1583 840 4703 +3 4136 3389 4675 +3 4629 4096 4244 +3 4678 4660 4457 +3 2677 1523 1569 +3 4678 3389 4660 +3 3296 4687 476 +3 1580 2336 472 +3 4717 1030 3296 +3 3300 2887 4594 +3 4632 4626 3498 +3 472 2338 476 +3 1030 2572 1423 +3 4664 2790 2300 +3 505 1610 484 +3 4571 3382 3504 +3 2359 1391 1423 +3 2359 3025 2122 +3 1395 2122 55 +3 1532 55 4677 +3 4571 4677 3382 +3 4680 2502 2495 +3 2624 2572 1030 +3 3504 2572 2624 +3 1523 4571 3504 +3 505 484 1532 +3 4571 1532 4677 +3 3382 2572 3504 +3 1523 2677 3497 +3 2110 2624 1030 +3 840 3891 4752 +3 4687 4680 2495 +3 2110 1030 4717 +3 2110 4717 4438 +3 1423 4687 3296 +3 711 4689 2129 +3 1391 4680 4687 +3 1569 2129 2677 +3 2122 1395 1391 +3 2122 1391 2359 +3 4752 4703 840 +3 2448 4649 55 +3 4770 505 509 +3 4649 4680 1395 +3 4438 4717 873 +3 779 2742 2296 +3 4571 1523 509 +3 2110 4438 704 +3 4680 4649 2502 +3 2495 1580 472 +3 1583 2495 2502 +3 2448 2502 4649 +3 1580 2495 1583 +3 1580 1583 2336 +3 472 2336 2338 +3 4365 4244 4364 +3 3893 4718 3891 +3 3893 52 4364 +3 3893 4364 4096 +3 4678 4457 2742 +3 4653 4630 4675 +3 4718 4096 4629 +3 4703 4630 4653 +3 3893 4096 4718 +3 4752 4718 4629 +3 3891 4718 4752 +3 4703 4752 4629 +3 779 2296 873 +3 704 2296 2300 +3 3504 1569 1523 +3 2338 2742 476 +3 704 873 2296 +3 476 2742 779 +3 4703 4653 1583 +3 3022 4675 3389 +3 3022 3389 4678 +3 4660 3218 4118 +3 4629 4630 4703 +3 476 779 3296 +3 2300 4457 4664 +3 2742 2338 4678 +3 3022 4653 4675 +3 4457 4660 4459 +3 4457 4459 4664 +3 4655 4291 4244 +3 779 873 4717 +3 4291 4675 4630 +3 4653 2336 1583 +3 509 3497 4770 +3 2790 4642 4638 +3 3619 2676 786 +3 2296 4457 2300 +3 4689 2300 4625 +3 4675 4291 4136 +3 4664 4074 4072 +3 3389 4136 3218 +3 4457 2296 2742 +3 4626 4632 4628 +3 3619 4632 2676 +3 4594 1823 4592 +3 4662 3218 4136 +3 3498 4770 3497 +3 2790 4625 2300 +3 3260 484 2620 +3 4625 786 4689 +3 3498 4592 4770 +3 4674 4074 4118 +3 4625 2790 4638 +3 4626 4594 3498 +3 4592 1610 4770 +3 4136 4654 4662 +3 4638 3619 4625 +3 2676 3497 2677 +3 1610 505 4770 +3 2677 786 2676 +3 2110 704 711 +3 4632 3498 2676 +3 4687 2495 472 +3 4717 3296 779 +3 1569 3504 2624 +3 2677 2129 786 +3 2129 1569 711 +3 472 476 4687 +3 711 2624 2110 +3 2624 711 1569 +3 4438 873 704 +3 3022 2338 2336 +3 3497 509 1523 +3 4689 711 704 +3 509 505 1532 +3 2794 484 1610 +3 1823 1610 4592 +3 4594 4592 3498 +3 1823 2794 1610 +3 3263 2615 2620 +3 2794 2620 484 +3 4627 3300 4594 +3 2887 2794 1823 +3 4632 3619 4634 +3 4594 2887 1823 +3 4594 4626 4627 +3 4459 4118 4074 +3 3218 4660 3389 +3 4867 4866 2772 +3 4764 4824 4562 +3 4 4426 4868 +3 4426 4427 4868 +3 4427 4778 4868 +3 3085 151 2966 +3 3152 151 201 +3 4203 4870 3984 +3 2772 4866 3079 +3 870 1912 1914 +3 4070 4871 4562 +3 3766 1033 3765 +3 1213 3901 3 +3 4440 4778 4427 +3 4440 3079 4778 +3 2967 2608 4870 +3 4104 3766 4073 +3 157 2552 2554 +3 683 3765 1033 +3 242 1292 1297 +3 191 242 1297 +3 4446 4876 4445 +3 3986 1311 993 +3 904 993 1283 +3 904 3986 993 +3 1636 4764 4845 +3 4149 4876 4824 +3 3543 2553 2550 +3 4309 4670 3002 +3 4309 0 4670 +3 2967 2554 2552 +3 3181 4871 151 +3 2555 2554 2967 +3 2919 2608 2552 +3 4871 3765 693 +3 2565 893 870 +3 4073 3901 4104 +3 4871 693 904 +3 2967 4870 4203 +3 4871 904 4541 +3 3181 3550 4881 +3 2658 4535 3901 +3 2553 4867 2772 +3 2553 2772 3363 +3 201 151 4871 +3 3986 190 1311 +3 4888 4887 4867 +3 298 151 3085 +3 3181 3765 4871 +3 2552 157 2919 +3 189 4446 4445 +3 4824 1126 4149 +3 1126 4824 4764 +3 3765 3181 4881 +3 4149 4552 4876 +3 870 1117 4282 +3 998 1636 1283 +3 1914 1912 2017 +3 4286 1126 1636 +3 3002 2951 2233 +3 2608 159 189 +3 157 4871 4070 +3 2233 4309 3002 +3 151 298 3181 +3 2919 159 2608 +3 4881 3766 3765 +3 4446 4562 4824 +3 4764 1636 1126 +3 4540 4845 4541 +3 4540 4541 904 +3 159 4562 4446 +3 298 3085 3410 +3 4871 157 201 +3 2555 2967 3152 +3 2555 3152 201 +3 2555 201 2554 +3 4203 2966 2967 +3 2608 2967 2552 +3 159 4070 4562 +3 4446 189 159 +3 3410 4887 3573 +3 3410 3573 298 +3 3543 3354 3195 +3 3573 4887 4888 +3 3181 4888 3354 +3 4888 3181 3573 +3 870 4282 1912 +3 3354 4888 3195 +3 2553 3195 4867 +3 4866 4867 4887 +3 3766 4881 4073 +3 2550 2553 3363 +3 2550 3363 3409 +3 4535 3409 3363 +3 3409 4535 2658 +3 4073 2550 2658 +3 4073 2658 3901 +3 2658 2550 3409 +3 4073 4881 3543 +3 2553 3543 3195 +3 3543 4881 3550 +3 3543 3550 3354 +3 298 3573 3181 +3 3550 3181 3354 +3 1636 4845 4540 +3 4824 4876 4446 +3 4845 4764 4541 +3 1636 4540 1283 +3 998 1283 993 +3 693 3986 904 +3 4540 904 1283 +3 242 1033 3 +3 4867 3195 4888 +3 191 3986 242 +3 3766 4104 1033 +3 3765 683 693 +3 4562 4541 4764 +3 1033 1213 3 +3 4104 3901 1213 +3 4104 1213 1033 +3 3986 693 242 +3 242 683 1033 +3 693 683 242 +3 1292 242 3 +3 190 3986 191 +3 190 191 1297 +3 870 1914 2565 +3 4282 1126 4286 +3 2550 4073 3543 +3 998 4286 1636 +3 1881 4552 870 +3 4282 1117 1126 +3 4149 1117 870 +3 1881 870 893 +3 1126 1117 4149 +3 4552 4149 870 +3 2951 1881 893 +3 4282 2017 1912 +3 159 2919 157 +3 2951 2565 2233 +3 2017 0 1914 +3 2951 893 2565 +3 2233 2565 1914 +3 4309 2233 1914 +3 4309 1914 0 +3 157 4070 159 +3 2017 4282 4286 +3 998 0 2017 +3 998 2017 4286 +3 4440 3363 2772 +3 2772 3079 4440 +3 2966 4203 3984 +3 2966 3984 3085 +3 4871 4541 4562 +3 3152 2967 2966 +3 2966 151 3152 +3 2554 201 157 +3 4920 4767 4897 +3 2903 731 3604 +3 4920 4478 4484 +3 4192 1317 731 +3 4278 4407 4246 +3 3861 4931 4204 +3 4750 4484 11 +3 4875 4767 4920 +3 4484 4750 4875 +3 4269 1246 1389 +3 1412 1727 2505 +3 4278 4646 4407 +3 2184 2453 2535 +3 4936 1736 4915 +3 4269 4897 634 +3 4481 4246 4768 +3 930 3557 3657 +3 4925 4761 4937 +3 3072 4768 3073 +3 3762 3861 3760 +3 930 3657 962 +3 2647 930 2785 +3 2647 2785 2786 +3 4269 4920 4897 +3 1727 1412 3668 +3 1559 4941 4933 +3 2453 4941 1716 +3 2453 2428 2535 +3 2184 2535 4928 +3 2184 4928 2180 +3 4928 15 2180 +3 4944 4929 4915 +3 2903 3762 2902 +3 1428 4417 1378 +3 4272 2788 1008 +3 4936 3706 1736 +3 4759 4937 4761 +3 3762 3604 3862 +3 3861 4204 3760 +3 2647 2645 930 +3 4889 3513 2736 +3 4791 3192 2786 +3 2428 2453 1716 +3 3072 1691 4944 +3 4944 4768 3072 +3 731 2812 1294 +3 634 4646 4272 +3 4339 4269 1389 +3 1246 2903 1389 +3 2788 4269 1008 +3 4339 4478 4920 +3 1727 3668 4936 +3 1870 4938 1412 +3 4768 4944 4915 +3 3557 930 2645 +3 2596 3617 2425 +3 576 4272 4278 +3 2735 3783 1716 +3 2389 4759 962 +3 3846 869 856 +3 1715 2425 2428 +3 4889 1559 4933 +3 3846 856 10 +3 2428 3192 4791 +3 3783 3680 1378 +3 3192 2647 2786 +3 2389 3657 2596 +3 4761 4925 1691 +3 4944 1731 4929 +3 2785 930 962 +3 1559 1716 4941 +3 3192 2645 2647 +3 4962 3557 2645 +3 3192 4962 2645 +3 4920 4269 4339 +3 3657 2389 962 +3 3557 3617 3657 +3 4962 3617 3557 +3 4962 3192 3617 +3 1376 1727 4936 +3 3668 3706 4936 +3 4937 4759 2505 +3 4937 1727 4925 +3 869 3846 4417 +3 2505 1727 4937 +3 4925 1376 1731 +3 4925 1727 1376 +3 4925 1731 1691 +3 1731 4944 1691 +3 3706 3668 1384 +3 571 1736 4192 +3 4915 4929 4936 +3 735 1170 2812 +3 4929 1376 4936 +3 2453 2184 2409 +3 4272 4646 4278 +3 731 1294 4192 +3 1376 4929 1731 +3 1170 2788 1294 +3 1170 1246 2788 +3 3513 4933 856 +3 2903 1246 735 +3 1008 4269 634 +3 1389 2903 2902 +3 4484 4875 4920 +3 4750 4767 4875 +3 1294 576 4192 +3 1294 4272 576 +3 735 2812 731 +3 1170 1294 2812 +3 3617 2596 3657 +3 1246 1170 735 +3 4481 571 4110 +3 4192 576 571 +3 4481 4110 4246 +3 571 576 4110 +3 3513 4889 4933 +3 1736 571 4481 +3 3073 1691 3072 +3 1378 1384 3668 +3 1320 3604 1317 +3 2596 1715 1870 +3 4938 1378 3668 +3 4931 4488 4204 +3 3862 1320 1384 +3 1320 4192 3706 +3 4192 1320 1317 +3 3706 1384 1320 +3 3604 731 1317 +3 2903 735 731 +3 2902 3762 3760 +3 2903 3604 3762 +3 1320 3862 3604 +3 3862 4376 3861 +3 3862 3861 3762 +3 3862 1384 4376 +3 4376 4931 3861 +3 3845 10 4488 +3 4417 3846 4931 +3 3846 10 3845 +3 3680 3513 1428 +3 4417 4376 1378 +3 4272 1008 634 +3 3845 4931 3846 +3 1378 4376 1384 +3 4417 4931 4376 +3 1428 869 4417 +3 2788 4272 1294 +3 10 856 4933 +3 4931 3845 4488 +3 2736 3513 3680 +3 856 869 3513 +3 4938 3783 1378 +3 3513 869 1428 +3 2389 1870 1412 +3 1715 3783 4938 +3 1412 4938 3668 +3 1870 1715 4938 +3 1716 1559 2735 +3 2596 1870 2389 +3 1716 3783 1715 +3 2735 3680 3783 +3 2409 2184 2180 +3 3192 2425 3617 +3 4269 2788 1246 +3 1715 2596 2425 +3 2535 2428 4791 +3 1716 1715 2428 +3 3192 2428 2425 +3 2409 4941 2453 +3 4278 4110 576 +3 2735 1559 4889 +3 4889 2736 2735 +3 4110 4278 4246 +3 1378 3680 1428 +3 2735 2736 3680 +3 4481 4915 1736 +3 4915 4481 4768 +3 4192 1736 3706 +3 2505 2389 1412 +3 2389 2505 4759 +3 1189 3306 1597 +3 47 1654 1662 +3 3398 2306 4901 +3 1107 47 1662 +3 1088 1107 1662 +3 1025 4966 1607 +3 1597 4909 1025 +3 550 489 2221 +3 4249 236 1756 +3 4005 4137 4069 +3 3722 4727 356 +3 362 3607 4969 +3 4005 4069 3966 +3 253 575 3671 +3 1817 1937 2817 +3 4032 3671 575 +3 568 1723 2500 +3 1662 1654 1723 +3 3398 4901 4616 +3 3398 4616 4676 +3 4909 1597 3306 +3 1697 531 1699 +3 3454 422 4249 +3 3408 3671 3407 +3 4976 2304 2228 +3 4977 2304 4976 +3 4807 4808 3483 +3 2825 938 1607 +3 3580 938 2825 +3 4978 978 3580 +3 937 3580 978 +3 3580 4979 4978 +3 1263 4980 978 +3 4980 42 978 +3 1574 3362 2375 +3 531 575 1699 +3 3667 2708 2707 +3 639 3295 1723 +3 2839 4249 1937 +3 1607 4966 2147 +3 1189 2375 1237 +3 550 533 2500 +3 533 568 2500 +3 4978 4983 1647 +3 2750 550 2500 +3 489 4090 4984 +3 4910 3285 3158 +3 4985 3570 3313 +3 1699 575 1884 +3 531 4069 4137 +3 2159 568 1525 +3 2817 3408 2708 +3 550 2750 4090 +3 489 550 4090 +3 3607 441 4984 +3 3570 1699 1884 +3 2840 3454 2839 +3 2723 1817 3225 +3 3048 3588 3128 +3 3454 2840 2151 +3 622 1597 1025 +3 2840 2907 2224 +3 2221 2151 2840 +3 639 631 3295 +3 422 3454 222 +3 1777 2497 1774 +3 2489 2825 2147 +3 3048 4966 4909 +3 2489 3588 2618 +3 2681 2508 4958 +3 1607 2147 2825 +3 3048 2858 3225 +3 2247 4977 4892 +3 3578 3580 4947 +3 937 938 3580 +3 2825 4947 3580 +3 3128 4966 3048 +3 2723 1189 1237 +3 2618 4947 2489 +3 2707 2304 4910 +3 4807 3483 4958 +3 2304 4996 4986 +3 2304 3407 4996 +3 3362 3295 1237 +3 4616 1697 4676 +3 2306 2109 362 +3 46 3722 356 +3 2109 2306 3398 +3 2306 4727 4901 +3 4676 3315 3398 +3 356 4727 2306 +3 4676 4985 3315 +3 1697 1699 4985 +3 1574 2375 616 +3 4977 5002 4959 +3 1662 3295 3362 +3 2224 2221 2840 +3 3570 236 422 +3 2508 2243 4958 +3 4985 4676 1697 +3 1662 3362 1574 +3 1884 241 236 +3 1884 575 253 +3 241 253 3671 +3 241 1884 253 +3 2497 1237 631 +3 575 531 4137 +3 1937 1756 3671 +3 489 224 2151 +3 1937 1817 3109 +3 3315 3313 2111 +3 4807 4892 4808 +3 3570 4985 1699 +3 224 441 2111 +3 362 441 3607 +3 2111 2109 3315 +3 441 362 2109 +3 1189 616 2375 +3 2109 2111 441 +3 2151 2221 489 +3 616 1189 1597 +3 224 489 4984 +3 1756 1937 4249 +3 2111 222 224 +3 2159 639 568 +3 236 4249 422 +3 2839 3109 2907 +3 441 224 4984 +3 3313 3315 4985 +3 236 3570 1884 +3 639 2159 2497 +3 1525 2224 1774 +3 631 1237 3295 +3 3225 1817 2817 +3 1756 241 3671 +3 2497 1777 2723 +3 3109 1777 2907 +3 222 2111 3313 +3 1817 2723 1777 +3 3048 3665 3588 +3 639 1723 568 +3 241 1756 236 +3 5002 4977 4976 +3 2221 2224 533 +3 1574 1088 1662 +3 2375 3362 1237 +3 2907 2840 2839 +3 2224 1525 533 +3 4966 1025 4909 +3 2497 631 639 +3 222 2151 224 +3 2907 1774 2224 +3 1774 2497 2159 +3 1774 2907 1777 +3 1817 1777 3109 +3 1774 2159 1525 +3 3313 422 222 +3 2151 222 3454 +3 2708 3225 2817 +3 422 3313 3570 +3 2825 2489 4947 +3 2836 4966 3128 +3 4892 4958 2243 +3 2489 2147 2836 +3 2858 2723 3225 +3 2858 3306 2723 +3 622 616 1597 +3 622 1088 616 +3 3109 2839 1937 +3 616 1088 1574 +3 4958 4892 4807 +3 2858 3048 4909 +3 3306 2858 4909 +3 4977 2247 2304 +3 2147 4966 2836 +3 4910 2508 3285 +3 3225 2708 3667 +3 3285 2618 3588 +3 2618 2681 3599 +3 3599 3578 4947 +3 4979 3580 3578 +3 2618 3599 4947 +3 2618 2508 2681 +3 3599 4979 3578 +3 1266 5039 1263 +3 4978 1263 978 +3 5039 4980 1263 +3 3665 3667 2707 +3 3295 1662 1723 +3 3483 4983 4958 +3 4979 3599 2681 +3 4983 4978 4979 +3 4983 3483 1647 +3 4978 1266 1263 +3 1647 5039 1266 +3 4978 1647 1266 +3 3483 5039 1647 +3 2304 2707 3407 +3 5029 2228 2920 +3 3128 2489 2836 +3 3665 3225 3667 +3 2679 2681 4958 +3 2679 4979 2681 +3 4983 2679 4958 +3 4983 4979 2679 +3 2618 3285 2508 +3 3128 3588 2489 +3 3588 3158 3285 +3 3158 3665 2707 +3 3665 3158 3588 +3 568 533 1525 +3 2708 3408 3407 +3 2817 1937 3408 +3 2723 1237 2497 +3 2708 3407 2707 +3 5029 2920 5028 +3 4910 2247 2243 +3 4249 2839 3454 +3 4996 4032 4005 +3 4032 575 4137 +3 3407 4032 4996 +3 3407 3671 4032 +3 4996 4005 3966 +3 4032 4137 4005 +3 4986 2228 2304 +3 4986 2920 2228 +3 5029 4976 2228 +3 4959 4892 4977 +3 4808 4892 4959 +3 2243 2247 4892 +3 3671 3408 1937 +3 1189 2723 3306 +3 5002 5029 5028 +3 5002 4976 5029 +3 356 4969 46 +3 356 362 4969 +3 2243 2508 4910 +3 3398 3315 2109 +3 362 356 2306 +3 4910 3158 2707 +3 4910 2304 2247 +3 3665 3048 3225 +3 533 550 2221 +3 543 548 57 +3 4441 4702 4574 +3 4455 5010 5005 +3 5007 4455 2855 +3 2533 4997 4050 +3 4992 112 80 +3 3059 5005 2952 +3 118 2514 108 +3 4049 2592 4026 +3 2952 2534 3059 +3 2514 5009 108 +3 2941 4995 2943 +3 2539 2533 4050 +3 2533 118 4997 +3 5009 2514 62 +3 2314 2548 4994 +3 4974 108 110 +3 2401 2539 2360 +3 2548 2401 2943 +3 3670 4710 3011 +3 2314 3463 3166 +3 3463 5003 2791 +3 5009 4536 5001 +3 5001 4536 4444 +3 3044 3015 4753 +3 4026 4456 4049 +3 2949 2581 2593 +3 2949 2672 2581 +3 1813 2671 4593 +3 2621 1813 1640 +3 4953 2621 3277 +3 1171 1090 2621 +3 3015 3044 4716 +3 2621 4953 1171 +3 1171 4953 3962 +3 642 1171 3962 +3 642 2983 1171 +3 4994 3463 2314 +3 2791 4709 2585 +3 3014 3015 4716 +3 4733 3011 4710 +3 4041 3699 4138 +3 2672 2949 3503 +3 4595 1640 4593 +3 2671 3503 4593 +3 3670 2949 2593 +3 4041 3962 3275 +3 2671 2672 3503 +3 2319 1090 1171 +3 2983 642 58 +3 4041 4736 3699 +3 4709 2791 4710 +3 4709 4710 3670 +3 4994 4972 5003 +3 4997 4027 4050 +3 2943 4995 4994 +3 2592 2941 2594 +3 2941 2592 2952 +3 118 108 4997 +3 4536 5009 62 +3 3302 3817 3011 +3 3015 3014 4884 +3 4710 4972 4733 +3 4736 3275 3828 +3 2592 4049 2534 +3 2883 5007 2855 +3 4908 3699 3697 +3 4609 3828 3014 +3 1640 1813 4593 +3 3503 4753 4884 +3 2319 1171 2983 +3 2319 2983 58 +3 3277 2621 1640 +3 4884 4593 3503 +3 3828 4953 3277 +3 2884 3277 1640 +3 3275 4953 3828 +3 3828 4609 4736 +3 3962 4953 3275 +3 3697 3699 4736 +3 4731 3302 2881 +3 4595 3014 2884 +3 4027 4992 4026 +3 110 4444 112 +3 4972 2791 5003 +3 4884 3014 4595 +3 4992 4027 4974 +3 3828 3277 2884 +3 4595 2884 1640 +3 2593 4709 3670 +3 3670 4753 2949 +3 2593 2585 4709 +3 3817 4609 4716 +3 2548 2943 4994 +3 2952 4995 2941 +3 4710 2791 4972 +3 4965 3699 4908 +3 108 4974 4997 +3 2401 2360 2943 +3 5001 110 108 +3 4753 3503 2949 +3 4994 5003 3463 +3 3166 3463 2791 +3 4027 4997 4974 +3 4444 110 5001 +3 2539 4050 2360 +3 2594 4050 4027 +3 2594 4026 2592 +3 4972 4994 4995 +3 4995 2952 5005 +3 112 4974 110 +3 4658 4731 4908 +3 4972 5008 5007 +3 2881 4798 4588 +3 5009 5001 108 +3 4026 2594 4027 +3 5005 5010 5008 +3 5005 5008 4972 +3 4965 4861 3699 +3 4972 5007 4733 +3 4884 4753 3015 +3 4609 3817 3875 +3 4444 80 112 +3 5005 4972 4995 +3 4456 4026 4992 +3 4574 2855 4441 +3 4593 4884 4595 +3 5008 5010 5007 +3 4430 548 543 +3 3011 4716 3044 +3 5007 5010 4455 +3 4798 4574 4588 +3 2883 4574 4798 +3 2883 4798 2881 +3 3875 4658 3697 +3 4574 4965 4588 +3 3697 4736 3875 +3 2534 2952 2592 +3 5007 2883 2881 +3 4702 4861 4965 +3 4861 3881 3699 +3 4992 80 4456 +3 4702 4430 4861 +3 4753 3670 3044 +3 3881 4138 3699 +3 2943 2360 2941 +3 4588 4965 4731 +3 2360 4050 2594 +3 4731 2881 4588 +3 4733 5007 2881 +3 4965 4574 4702 +3 3011 3044 3670 +3 3014 4716 4609 +3 2594 2941 2360 +3 4658 3875 3817 +3 4974 112 4992 +3 3302 4658 3817 +3 3828 2884 3014 +3 3302 4731 4658 +3 4716 3011 3817 +3 4736 4041 3275 +3 3011 4733 3302 +3 4658 4908 3697 +3 4609 3875 4736 +3 543 57 3881 +3 4430 543 3881 +3 57 4138 3881 +3 4430 3881 4861 +3 3302 4733 2881 +3 2855 4574 2883 +3 4702 4441 4600 +3 4965 4908 4731 +3 4702 4600 4766 +3 4702 4766 4430 +3 5005 3059 4455 +3 1624 1057 1102 +3 5034 3307 22 +3 1740 1358 1550 +3 3995 4328 4116 +3 4328 1358 565 +3 3225 3667 4905 +3 5036 5029 2252 +3 4320 961 823 +3 5037 3606 1550 +3 4906 4900 4813 +3 2792 4906 4811 +3 1189 2723 3318 +3 1624 2375 1623 +3 1744 2161 2767 +3 1051 623 4299 +3 3318 3058 618 +3 1367 3362 3485 +3 1720 565 1740 +3 3477 1366 1358 +3 2523 2482 4082 +3 2805 3182 3184 +3 2230 4976 5012 +3 2039 2161 1511 +3 2832 3352 5030 +3 2723 1367 2138 +3 3362 1624 1645 +3 1624 1102 1645 +3 4928 1102 1057 +3 2747 2833 2767 +3 957 2556 1253 +3 2556 957 4320 +3 3606 5037 3405 +3 1253 2556 18 +3 1742 1806 2759 +3 3453 3606 3405 +3 3453 3307 5044 +3 3606 5044 1740 +3 4299 1184 1051 +3 1139 1350 5035 +3 3352 2039 5030 +3 2138 680 2832 +3 823 834 5043 +3 2431 3246 2569 +3 708 705 3187 +3 3786 2699 2691 +3 2431 2805 2831 +3 1550 1358 1366 +3 3995 4116 4143 +3 3993 3477 1358 +3 2747 4037 1806 +3 680 667 3485 +3 2482 1578 4284 +3 667 1367 3485 +3 1623 1057 1624 +3 1367 2375 3362 +3 2482 2453 1578 +3 623 1623 1189 +3 2184 4928 1057 +3 2707 2304 3160 +3 4284 4296 2482 +3 4906 2230 5025 +3 2453 2184 1553 +3 1350 1139 5048 +3 2178 2184 2407 +3 4941 1253 23 +3 3318 3080 2838 +3 1253 18 23 +3 834 708 3732 +3 3187 3732 708 +3 3477 3182 1806 +3 1511 2568 2039 +3 5038 3589 4945 +3 5036 3993 3995 +3 2707 2970 2252 +3 1189 618 623 +3 5025 4900 4906 +3 1139 4811 4813 +3 1544 1550 1366 +3 5030 2568 2680 +3 1550 3606 1740 +3 2568 5030 2039 +3 1720 1740 5044 +3 565 1358 1740 +3 1544 5037 1550 +3 5044 3606 3453 +3 1358 4328 3993 +3 565 4116 4328 +3 5036 3995 4143 +3 3993 4328 3995 +3 1806 1973 3477 +3 4037 2747 3331 +3 1806 4037 1973 +3 3331 3405 4037 +3 3477 1544 1366 +3 2375 1624 3362 +3 3667 3225 3246 +3 2759 2431 1742 +3 4037 5037 1973 +3 2767 2746 2747 +3 1189 1623 2375 +3 4296 4082 2482 +3 2805 2759 3182 +3 2805 2431 2759 +3 2569 1742 2431 +3 1744 2767 2833 +3 3993 3184 3477 +3 3993 5036 3184 +3 3331 2747 2746 +3 3182 2759 1806 +3 2138 667 680 +3 4905 3667 3669 +3 2723 2138 5030 +3 1742 1744 2833 +3 1744 1511 2161 +3 2568 2569 2680 +3 1744 2568 1511 +3 1744 2569 2568 +3 705 708 4296 +3 1189 2375 1367 +3 2184 2453 2407 +3 2138 1367 667 +3 3364 4928 23 +3 1057 1623 1051 +3 2178 4928 2184 +3 3364 1102 4928 +3 4928 2178 23 +3 2184 1057 1184 +3 2304 2707 2252 +3 4296 4284 618 +3 1184 1057 1051 +3 2304 2230 4906 +3 1578 1553 4284 +3 4284 1553 618 +3 2407 2453 23 +3 5030 2138 2832 +3 1544 1973 5037 +3 23 2178 2407 +3 1553 2184 4299 +3 623 1051 1623 +3 1973 1544 3477 +3 4941 2523 1253 +3 2833 2747 1806 +3 1744 1742 2569 +3 3225 2680 3246 +3 2569 3246 2680 +3 2723 1189 1367 +3 2230 2304 4976 +3 3318 2723 3080 +3 5030 2680 2723 +3 2723 3225 3080 +3 5038 3187 2731 +3 2838 3225 4905 +3 2723 2680 3225 +3 3225 2838 3080 +3 3058 705 618 +3 3058 3318 2838 +3 5037 4037 3405 +3 4905 3058 2838 +3 2731 3187 705 +3 2453 4941 23 +3 4299 2184 1184 +3 1806 1742 2833 +3 4813 4811 4906 +3 618 705 4296 +3 3058 2731 705 +3 823 961 834 +3 4905 2731 3058 +3 4945 3732 3187 +3 2482 2523 4941 +3 623 618 1553 +3 2523 957 1253 +3 4082 708 961 +3 2523 4082 957 +3 834 1669 5043 +3 957 4082 961 +3 4905 3669 5038 +3 4905 5038 2731 +3 2699 3786 3589 +3 5038 4945 3187 +3 5038 3669 3589 +3 708 834 961 +3 5035 2691 1139 +3 5043 1669 5048 +3 834 3732 5035 +3 1669 1350 5048 +3 1669 5035 1350 +3 834 5035 1669 +3 3732 2691 5035 +3 1139 2691 4811 +3 2792 3669 3160 +3 3732 3786 2691 +3 3732 4945 3786 +3 3182 3477 3184 +3 3786 4945 3589 +3 2707 3160 3669 +3 2707 3669 3667 +3 2831 3459 2431 +3 2831 2484 3459 +3 4082 4296 708 +3 3459 2970 3667 +3 3589 3669 2792 +3 2484 2805 3184 +3 4976 5029 5012 +3 2970 2484 2252 +3 3667 2970 2707 +3 2831 2805 2484 +3 5036 2252 3184 +3 2970 3459 2484 +3 1189 3318 618 +3 4811 2691 2699 +3 2792 2699 3589 +3 2792 4811 2699 +3 3160 4906 2792 +3 2484 3184 2252 +3 4906 3160 2304 +3 2252 5029 4976 +3 961 4320 957 +3 2304 2252 4976 +3 5034 5044 3307 +3 5044 5034 1720 +3 1553 4299 623 +3 2453 2482 4941 +3 1553 1578 2453 +3 3459 3246 2431 +3 3246 3459 3667 +3 187 4263 70 +3 2289 2283 4075 +3 1808 1295 1810 +3 4989 1295 1808 +3 4075 161 2289 +3 153 166 960 +3 2281 161 419 +3 2283 4844 4075 +3 2280 419 2458 +3 2280 4560 2308 +3 4824 416 4876 +3 419 4876 416 +3 3567 3378 4530 +3 544 4540 904 +3 964 973 234 +3 2041 1409 1785 +3 2057 1922 2330 +3 2397 2057 4572 +3 2394 2397 4346 +3 904 3679 3986 +3 1469 2394 1109 +3 501 1469 1109 +3 3245 501 1135 +3 2710 1135 1127 +3 2710 69 3245 +3 4558 4559 3379 +3 3986 187 191 +3 4845 2877 1277 +3 544 535 4530 +3 1785 2804 1790 +3 1277 1295 4652 +3 3567 4530 535 +3 902 960 166 +3 1948 2014 1203 +3 4470 4652 1295 +3 4559 1258 4560 +3 3378 4809 4872 +3 205 2289 161 +3 1922 2324 1984 +3 416 4824 3393 +3 3393 4560 2458 +3 1804 2776 1353 +3 3679 4470 4263 +3 544 3986 4059 +3 3505 3986 3679 +3 2283 2877 4844 +3 4075 4844 4764 +3 1143 3747 3894 +3 3361 3367 4589 +3 535 1631 3567 +3 3361 4589 4511 +3 1631 3413 3855 +3 960 964 153 +3 3505 187 3986 +3 3367 187 70 +3 1939 1952 1906 +3 964 4511 4311 +3 902 191 1297 +3 4787 4872 4809 +3 4604 4311 4548 +3 4589 3367 2014 +3 902 4326 3361 +3 333 323 4548 +3 2118 2014 1948 +3 1203 2014 70 +3 323 333 3773 +3 2776 820 3896 +3 2808 1995 2048 +3 4604 4548 323 +3 1790 1353 2004 +3 535 4059 3413 +3 3896 2009 2776 +3 2808 2030 1995 +3 2329 1306 4156 +3 1334 3747 1409 +3 1906 333 1939 +3 2329 4156 2324 +3 1262 1109 4346 +3 2804 1785 2030 +3 1660 4346 4572 +3 1127 1143 3431 +3 2302 205 161 +3 2302 161 2281 +3 2458 4560 2280 +3 4876 3052 4824 +3 3052 419 161 +3 4764 4824 4075 +3 3052 4075 4824 +3 161 4075 3052 +3 3888 1474 1258 +3 3052 4876 419 +3 1984 2330 1922 +3 4845 4787 4764 +3 416 2458 419 +3 4845 4764 4844 +3 2329 2308 1306 +3 4559 4560 3393 +3 4844 2877 4845 +3 258 3888 3889 +3 234 153 964 +3 419 2280 2281 +3 3393 2458 416 +3 4530 4540 544 +3 3855 153 234 +3 3413 1631 535 +3 4824 4764 4787 +3 1264 1258 4558 +3 1306 4560 1258 +3 3773 1474 323 +3 4558 4533 1264 +3 4845 1277 4540 +3 3378 3379 4809 +3 4059 535 544 +3 3855 1264 1631 +3 3567 4533 3378 +3 3889 1258 1264 +3 4533 4558 3378 +3 4558 1258 4559 +3 4156 1306 2048 +3 3413 166 153 +3 4540 4872 4845 +3 3379 3378 4558 +3 3393 3379 4559 +3 65 4989 1808 +3 65 1808 1810 +3 1474 1306 1258 +3 4540 1274 904 +3 3679 904 4652 +3 1277 1274 4540 +3 3393 4809 3379 +3 3747 1143 1409 +3 4263 3505 3679 +3 4652 904 1274 +3 4470 3679 4652 +3 1277 4652 1274 +3 3393 4787 4809 +3 4787 4845 4872 +3 3505 4263 187 +3 4326 187 3367 +3 4530 3378 4872 +3 2804 2751 1353 +3 1409 2712 1235 +3 1660 2048 4383 +3 3361 960 902 +3 1297 191 187 +3 4326 902 1297 +3 4326 1297 187 +3 3361 4326 3367 +3 2014 3367 70 +3 960 3361 4511 +3 960 4511 964 +3 4383 1235 1262 +3 4872 4540 4530 +3 973 964 4311 +3 4548 4311 4547 +3 275 261 1538 +3 4604 973 4311 +3 234 3889 3855 +3 1538 973 4604 +3 973 1538 258 +3 3889 234 258 +3 261 3888 258 +3 2383 4156 2048 +3 275 3888 261 +3 1538 261 258 +3 1143 1127 1409 +3 1952 1203 290 +3 70 299 1203 +3 299 290 1203 +3 4383 1995 2030 +3 2033 1334 2041 +3 1235 2030 1785 +3 2009 3896 1906 +3 820 1306 1474 +3 323 275 4604 +3 275 1538 4604 +3 4548 1939 333 +3 2014 2118 4589 +3 4511 4547 4311 +3 4547 4511 4589 +3 2118 1948 1952 +3 1952 1948 1203 +3 290 1906 1952 +3 4547 4589 2118 +3 4547 1939 4548 +3 2118 1952 1939 +3 2118 1939 4547 +3 1235 1785 1409 +3 2009 2004 2776 +3 1474 3888 275 +3 3747 299 70 +3 1474 3773 820 +3 2009 2033 2004 +3 3896 3773 333 +3 333 1906 3896 +3 2048 1306 2808 +3 1334 2033 299 +3 70 3431 3894 +3 70 3894 3747 +3 3431 1143 3894 +3 1995 4383 2048 +3 3747 1334 299 +3 2308 4560 1306 +3 2751 1306 820 +3 2004 2041 1790 +3 1804 2751 820 +3 2048 1660 1945 +3 1906 290 2009 +3 1945 2383 2048 +3 1785 1790 2041 +3 2030 2808 2804 +3 2751 2804 2808 +3 1235 4383 2030 +3 2041 2004 2033 +3 275 323 1474 +3 1409 2041 1334 +3 2776 2004 1353 +3 1353 2751 1804 +3 2776 1804 820 +3 4059 191 166 +3 166 3413 4059 +3 2808 1306 2751 +3 290 299 2033 +3 4383 1262 1660 +3 1353 1790 2804 +3 2033 2009 290 +3 2330 4572 2057 +3 1409 1127 2712 +3 4346 1660 1262 +3 1984 1945 2330 +3 1235 2712 1109 +3 4156 2383 2324 +3 2383 1945 1984 +3 2383 1984 2324 +3 1109 1262 1235 +3 1945 4572 2330 +3 3889 3888 1258 +3 501 1109 1135 +3 4572 1945 1660 +3 4346 1109 2394 +3 1135 2712 1127 +3 3432 1127 3431 +3 1109 2712 1135 +3 3245 1135 2710 +3 3432 69 2710 +3 3432 2710 1127 +3 2877 1810 1295 +3 2877 1295 1277 +3 153 3855 3413 +3 4787 3393 4824 +3 3773 3896 820 +3 166 191 902 +3 191 4059 3986 +3 4572 4346 2397 +3 4533 3567 1631 +3 1631 1264 4533 +3 1264 3855 3889 +3 258 234 973 +3 3986 544 904 +3 701 445 732 +3 5047 1808 5024 +3 4444 54 5024 +3 4989 53 1808 +3 5024 1808 5023 +3 2155 3953 4537 +3 84 5023 1808 +3 3060 1042 1113 +3 4991 194 397 +3 2043 4606 2964 +3 4606 2043 2692 +3 2854 2859 4701 +3 2964 5042 3223 +3 4172 2915 4195 +3 1959 732 5015 +3 701 732 1959 +3 701 1959 1951 +3 455 821 1596 +3 1596 1974 455 +3 732 445 5015 +3 730 1134 1042 +3 4537 5049 83 +3 450 1974 606 +3 3850 4573 3614 +3 4606 5050 5042 +3 2882 397 490 +3 4588 4590 4965 +3 4166 5016 815 +3 4048 3755 4781 +3 4742 4078 3976 +3 4166 1134 1153 +3 497 4171 4247 +3 4171 4292 4247 +3 397 194 490 +3 5045 2637 49 +3 4904 4171 497 +3 497 4247 3767 +3 4588 4965 4573 +3 2859 4705 2863 +3 4573 2854 4588 +3 54 5006 2869 +3 4661 3651 3850 +3 4590 2882 4079 +3 3881 4742 3727 +3 2863 2866 4732 +3 2869 5006 3359 +3 2563 3953 2377 +3 4918 4732 2866 +3 5006 4025 4029 +3 4772 3693 4732 +3 3224 4774 3004 +3 4965 3614 4573 +3 4029 3755 2353 +3 2358 3004 2353 +3 4698 5008 4701 +3 2935 4636 2871 +3 4659 2874 4636 +3 4923 4636 3226 +3 4577 3359 4659 +3 1853 1959 5015 +3 1042 3060 730 +3 4042 3953 2563 +3 5050 1853 5015 +3 2387 4048 2592 +3 2692 4463 4606 +3 3989 5015 445 +3 1042 4176 1044 +3 2563 3223 2592 +3 1044 450 4570 +3 4607 4172 4904 +3 490 485 4079 +3 4740 4861 4965 +3 4991 3989 445 +3 3881 54 3614 +3 2866 2863 4705 +3 497 3767 3856 +3 4042 2563 4026 +3 4779 3856 3854 +3 3856 3767 4726 +3 3767 4247 49 +3 485 4904 4779 +3 1104 5045 1113 +3 4247 4292 49 +3 3693 4772 3925 +3 3999 4701 2859 +3 4781 193 4992 +3 2883 5015 2882 +3 2869 3359 4577 +3 4732 4918 4772 +3 2866 2869 4918 +3 2859 2863 3999 +3 4078 4742 4740 +3 1044 4176 455 +3 3976 4078 4779 +3 2915 1153 1134 +3 2883 4590 4798 +3 4798 4590 4588 +3 4798 4588 2854 +3 1834 2377 3953 +3 4026 2592 4048 +3 4992 4026 4781 +3 2854 2883 4798 +3 3727 4138 3881 +3 2854 5007 2883 +3 4861 3881 3614 +3 4732 3999 2863 +3 2869 4577 4918 +3 3223 5042 2952 +3 1134 730 2915 +3 5008 5050 5007 +3 3614 54 4661 +3 5015 3989 2882 +3 2882 3989 397 +3 4701 5008 5007 +3 3999 4698 4701 +3 2883 5007 5015 +3 4636 2874 2871 +3 4921 4772 4918 +3 4698 3693 4700 +3 4659 4921 4577 +3 5005 2952 5042 +3 4742 3881 4861 +3 4772 4921 4774 +3 2874 4659 3359 +3 4918 4577 4921 +3 5006 2874 3359 +3 2698 3226 2935 +3 5006 2871 2874 +3 3693 4698 3999 +3 3226 2698 2353 +3 5006 4029 2935 +3 5006 2935 2871 +3 4636 4923 4659 +3 4774 4923 3004 +3 5042 5050 5005 +3 3224 2358 2387 +3 4923 3226 3004 +3 4774 3224 3925 +3 4636 2935 3226 +3 3004 3226 2353 +3 4029 2353 2698 +3 4029 2698 2935 +3 5006 54 4025 +3 4029 4025 3755 +3 2924 2387 2952 +3 4025 4781 3755 +3 4025 54 193 +3 4025 193 4781 +3 3755 4048 2358 +3 4700 5008 4698 +3 4048 2387 2358 +3 3755 2358 2353 +3 2387 2924 3224 +3 2358 3224 3004 +3 4442 112 4444 +3 4923 4774 4921 +3 193 54 4444 +3 193 4444 112 +3 5047 53 4989 +3 5047 4989 1808 +3 4701 5007 2854 +3 5024 5023 4444 +3 5023 83 4442 +3 5023 4442 4444 +3 193 112 4992 +3 2377 3223 2563 +3 455 450 1044 +3 3999 4732 3693 +3 5049 4042 4992 +3 4861 4740 4742 +3 4992 112 5049 +3 4921 4659 4923 +3 3925 4700 3693 +3 2924 3925 3224 +3 4774 3925 4772 +3 4700 3925 2924 +3 4078 4079 485 +3 4779 3854 3976 +3 5005 5050 5008 +3 485 4779 4078 +3 4700 2924 5005 +3 5007 5050 5015 +3 1852 1853 4463 +3 5005 5008 4700 +3 198 445 5016 +3 1953 2005 815 +3 4590 2883 2882 +3 3223 2377 2964 +3 5049 4537 4042 +3 4661 3850 3614 +3 106 83 5049 +3 106 5049 112 +3 4442 83 106 +3 4442 106 112 +3 3953 4042 4537 +3 4537 84 2155 +3 4705 2859 3651 +3 4026 4992 4042 +3 1853 5050 4463 +3 1852 4463 2692 +3 4463 5050 4606 +3 1836 2964 2377 +3 4606 5042 2964 +3 2377 1834 1836 +3 821 455 4176 +3 815 703 1953 +3 445 701 703 +3 1065 450 606 +3 1044 1113 1042 +3 2854 4573 3651 +3 455 1974 450 +3 5016 1153 198 +3 194 4991 198 +3 2854 3651 2859 +3 815 821 4166 +3 4573 3850 3651 +3 4965 4861 3614 +3 4570 450 1104 +3 4176 4166 821 +3 2922 198 1153 +3 1153 5016 4166 +3 703 701 1951 +3 4570 1113 1044 +3 1951 1953 703 +3 397 3989 4991 +3 1104 1113 4570 +3 1104 450 1065 +3 198 2922 194 +3 2637 1104 1065 +3 4740 4079 4078 +3 2869 2866 4661 +3 2005 1596 821 +3 1153 2915 2922 +3 1104 2637 5045 +3 3060 5045 49 +3 4965 4590 4740 +3 1134 4166 4176 +3 4079 2882 490 +3 4176 1042 1134 +3 2952 2592 3223 +3 198 4991 445 +3 2592 2952 2387 +3 3854 3856 4726 +3 2964 1836 2043 +3 4048 4781 4026 +3 4661 54 2869 +3 2866 4705 4661 +3 3651 4661 4705 +3 54 4138 3767 +3 4742 3972 3727 +3 4138 3854 4726 +3 4742 3976 3972 +3 3727 3854 4138 +3 490 194 4607 +3 490 4607 485 +3 4607 4904 485 +3 3972 3976 3854 +3 3972 3854 3727 +3 4138 4726 3767 +3 54 3767 49 +3 4779 4904 497 +3 4779 497 3856 +3 4195 4292 4171 +3 4172 4171 4904 +3 725 4195 730 +3 2592 4026 2563 +3 4607 2922 4172 +3 4171 4172 4195 +3 4607 194 2922 +3 4172 2922 2915 +3 730 4195 2915 +3 703 815 5016 +3 4292 4195 725 +3 5016 445 703 +3 730 3060 725 +3 4292 725 49 +3 821 815 2005 +3 725 3060 49 +3 4138 54 3881 +3 4079 4740 4590 +3 2952 5005 2924 +3 3953 2155 1834 +3 1113 5045 3060 +3 84 4537 83 +3 83 5023 84 +3 2311 1725 4982 +3 1689 4489 3295 +3 14 5034 4619 +3 1491 4856 748 +3 5044 5034 5020 +3 233 3570 3569 +3 748 4571 4677 +3 2504 2747 2521 +3 2609 4571 517 +3 3936 629 1718 +3 2898 2753 3380 +3 5044 3608 3606 +3 4037 2504 5037 +3 1864 555 539 +3 3485 4886 3295 +3 1570 4886 15 +3 4856 12 4526 +3 4645 4526 4599 +3 4527 509 748 +3 748 509 4571 +3 3032 3380 1227 +3 2487 2955 3380 +3 2754 1573 1677 +3 861 4596 2264 +3 2264 2263 861 +3 2264 4596 3639 +3 2264 3639 4639 +3 3936 3944 4631 +3 255 4608 458 +3 255 4314 4608 +3 4985 4608 4676 +3 4993 4617 2272 +3 2429 4993 2272 +3 5034 4618 4619 +3 5037 2237 3606 +3 5044 5020 3608 +3 675 4886 3485 +3 667 3295 631 +3 4755 509 4645 +3 1491 748 4677 +3 236 4249 458 +3 255 1718 629 +3 2237 4993 2429 +3 2905 2547 2826 +3 2429 3606 2237 +3 3570 236 458 +3 2272 4618 5034 +3 5020 5034 14 +3 1743 1513 2547 +3 2547 2833 1743 +3 2521 4068 2504 +3 1662 1570 1107 +3 1107 1570 15 +3 4886 1570 1662 +3 1091 1107 15 +3 1777 5030 2497 +3 1513 2568 5030 +3 2547 2905 2521 +3 2905 4249 4068 +3 4037 2745 2747 +3 2765 2747 2745 +3 4068 2521 2905 +3 3295 4489 2955 +3 4856 4526 4527 +3 4856 4527 748 +3 4755 4770 509 +3 4755 4645 4599 +3 2237 5037 2238 +3 667 631 2138 +3 2487 3380 2753 +3 3936 2390 3944 +3 2156 1677 1831 +3 2826 2839 2905 +3 2796 1677 1718 +3 1744 1743 2833 +3 629 4314 255 +3 1718 255 3549 +3 2267 2264 4639 +3 1677 1573 1718 +3 2497 350 2156 +3 4993 2237 3569 +3 3569 2238 233 +3 2138 2497 5030 +3 3606 2429 5044 +3 5033 3606 3608 +3 2833 2521 2747 +3 3606 5033 5037 +3 4985 3569 3570 +3 5044 2429 5034 +3 458 4985 3570 +3 458 4608 4985 +3 2263 1659 468 +3 4617 4618 2272 +3 2272 5034 2429 +3 3549 458 4249 +3 3549 4249 2839 +3 255 458 3549 +3 1718 3549 2839 +3 233 4249 236 +3 233 236 3570 +3 2833 2765 1744 +3 2747 2504 4037 +3 2796 1718 2839 +3 3219 3618 4677 +3 4039 2745 4037 +3 4039 4037 5033 +3 631 2497 2138 +3 1662 1689 3295 +3 2504 4068 2238 +3 2839 4249 2905 +3 2156 1777 2497 +3 4068 4249 233 +3 3219 4489 3618 +3 1744 1725 2568 +3 2166 2311 4982 +3 2138 2311 2166 +3 2138 2166 4982 +3 3295 4886 1662 +3 5037 5033 4037 +3 1689 1662 1091 +3 350 2497 631 +3 1662 1107 1091 +3 4792 1091 15 +3 555 1097 861 +3 4792 1689 1091 +3 3208 1097 555 +3 1689 4792 4489 +3 631 2487 350 +3 675 667 4982 +3 2765 1725 1744 +3 2568 1725 2311 +3 4757 3618 4489 +3 4757 4489 4792 +3 1743 1744 2568 +3 1777 2156 1831 +3 2753 335 2487 +3 2311 5030 2568 +3 2521 2833 2547 +3 2487 631 3295 +3 2747 2765 2833 +3 1513 1743 2568 +3 2238 5037 2504 +3 3219 4677 4571 +3 3109 2839 2826 +3 3109 2826 1777 +3 2796 2839 3109 +3 2796 3109 1777 +3 1864 2754 335 +3 350 2754 2156 +3 2743 1573 2754 +3 335 2754 350 +3 4985 4676 4617 +3 3380 2955 3169 +3 2754 1677 2156 +3 350 2487 335 +3 233 2238 4068 +3 3569 4985 4993 +3 3295 2955 2487 +3 4571 2609 3219 +3 3169 2955 3219 +3 2826 2547 1513 +3 1513 1777 2826 +3 335 2753 3208 +3 517 3380 3169 +3 4592 2642 4770 +3 509 517 4571 +3 4527 4526 4645 +3 4527 4645 509 +3 3169 3219 2609 +3 3169 2609 517 +3 4755 4592 4770 +3 509 2421 517 +3 4592 4593 2642 +3 4770 2642 509 +3 4993 4985 4617 +3 2642 2421 509 +3 2138 4982 667 +3 3032 2898 3380 +3 5030 1777 1513 +3 1227 3380 517 +3 1097 3032 1227 +3 2421 1227 517 +3 2898 3032 3208 +3 468 861 2263 +3 2642 4593 2671 +3 2642 2671 2421 +3 3032 1097 3208 +3 539 2743 1864 +3 2263 2390 1659 +3 4489 3219 2955 +3 2753 2898 3208 +3 539 555 861 +3 1831 1677 2796 +3 1831 2796 1777 +3 335 3208 1864 +3 468 539 861 +3 2754 1864 2743 +3 468 2743 539 +3 1573 2743 463 +3 463 468 1659 +3 2238 3569 2237 +3 1659 3936 1718 +3 3333 2267 4639 +3 1573 1659 1718 +3 2743 468 463 +3 1573 463 1659 +3 4631 4314 629 +3 4631 629 3936 +3 2263 2267 3333 +3 3485 3295 667 +3 555 1864 3208 +3 667 675 3485 +3 3333 2390 2263 +3 3333 4598 2390 +3 2263 2264 2267 +3 5030 2311 2138 +3 4639 4598 3333 +3 2390 3936 1659 +3 4596 861 1097 +3 1097 1227 4596 +3 1227 2421 4596 +3 2421 2671 4596 +3 2671 4593 4596 +3 477 2240 56 +3 4586 1199 4350 +3 1060 1121 57 +3 1042 1128 1050 +3 1987 435 1056 +3 850 660 1880 +3 1615 4256 1199 +3 726 577 4152 +3 577 726 4358 +3 4991 440 198 +3 3989 440 4991 +3 1261 4315 1134 +3 953 1065 1056 +3 1695 1215 1615 +3 4315 1261 466 +3 175 306 180 +3 175 180 4518 +3 175 4518 1218 +3 4358 3832 577 +3 4256 1615 1215 +3 3832 4340 607 +3 4340 600 607 +3 4340 1036 600 +3 1272 4347 660 +3 1967 832 4350 +3 1967 4354 1280 +3 1280 4354 1272 +3 607 577 3832 +3 4152 4153 726 +3 4047 4152 577 +3 3852 4047 607 +3 4340 59 1036 +3 4011 3852 600 +3 1036 4011 600 +3 660 726 4153 +3 461 444 366 +3 4579 1223 451 +3 762 56 414 +3 4182 3989 4991 +3 1060 1746 1056 +3 1026 663 135 +3 144 1026 143 +3 4991 876 4182 +3 527 446 4289 +3 828 850 3964 +3 4175 2240 1987 +3 414 56 306 +3 1177 4289 446 +3 4579 4586 832 +3 135 143 1026 +3 1134 1042 1261 +3 1223 828 3964 +3 4153 1880 660 +3 4289 209 527 +3 394 1056 435 +3 394 435 391 +3 527 456 446 +3 4318 1209 1215 +3 128 663 4182 +3 1026 144 1177 +3 953 1056 394 +3 762 4198 313 +3 1987 1056 1746 +3 467 313 1987 +3 4175 1987 1746 +3 1987 2240 467 +3 2240 477 467 +3 318 4198 414 +3 1215 1695 4318 +3 328 306 175 +3 1215 1218 4256 +3 414 306 328 +3 359 143 366 +3 435 4198 318 +3 444 953 359 +3 313 4198 435 +3 313 435 1987 +3 414 4198 762 +3 56 762 477 +3 435 318 391 +3 318 209 391 +3 1026 1177 446 +3 209 4289 123 +3 175 1209 218 +3 394 144 359 +3 218 328 175 +3 175 1218 1209 +3 4347 4358 726 +3 1035 1104 953 +3 726 660 4347 +3 832 1280 828 +3 850 1280 660 +3 832 1967 1280 +3 828 1280 850 +3 1199 4586 1615 +3 1026 446 451 +3 577 607 4047 +3 391 123 394 +3 4350 832 4586 +3 4289 1177 123 +3 451 456 4579 +3 4315 881 1153 +3 656 1035 444 +3 1615 4579 1695 +3 1615 4586 4579 +3 1223 832 828 +3 456 1695 4579 +3 1223 4579 832 +3 198 1153 881 +3 527 218 1209 +3 527 4318 456 +3 4318 1695 456 +3 143 359 144 +3 123 391 209 +3 128 127 663 +3 582 127 128 +3 876 128 4182 +3 135 663 127 +3 123 1177 144 +3 4315 128 881 +3 144 394 123 +3 881 128 876 +3 1261 656 461 +3 1130 1134 1153 +3 466 128 4315 +3 607 600 3852 +3 4991 198 876 +3 1880 3964 850 +3 1153 1134 4315 +3 1153 1158 1130 +3 1261 461 466 +3 1050 1113 1042 +3 1104 1065 953 +3 1121 1060 1104 +3 1113 1035 656 +3 1209 4318 527 +3 1104 1035 1113 +3 271 582 466 +3 209 318 218 +3 318 414 328 +3 456 451 446 +3 271 466 461 +3 218 527 209 +3 466 582 128 +3 127 582 271 +3 366 271 461 +3 444 461 656 +3 366 135 271 +3 762 313 467 +3 762 467 477 +3 881 876 198 +3 135 366 143 +3 127 271 135 +3 394 359 953 +3 359 366 444 +3 451 663 1026 +3 953 444 1035 +3 1065 1060 1056 +3 328 218 318 +3 1104 1060 1065 +3 1121 1104 1113 +3 1134 1130 1128 +3 1158 1153 198 +3 198 440 1158 +3 1128 1042 1134 +3 1113 1050 1121 +3 1218 1215 1209 +3 451 1223 663 +3 1042 1113 656 +3 656 1261 1042 +3 660 1280 1272 +3 934 1307 2 +3 589 1329 1325 +3 1365 989 1342 +3 1382 1376 1370 +3 1200 623 610 +3 1420 1415 1412 +3 1430 1382 1426 +3 1445 1439 1434 +3 1451 1434 1447 +3 842 1451 1447 +3 1499 1496 1493 +3 1506 1504 1439 +3 1039 1043 3 +3 1524 842 1493 +3 1493 1496 1530 +3 1382 1370 1426 +3 1541 1365 1342 +3 1553 1549 623 +3 1564 1559 1556 +3 1574 1570 1567 +3 1584 1579 1578 +3 1579 1553 1578 +3 623 1592 1553 +3 1606 623 1597 +3 616 626 1597 +3 1625 1624 1623 +3 1624 1574 616 +3 1574 626 616 +3 1645 1624 1643 +3 1574 1624 1645 +3 1662 1657 1654 +3 1654 7 1570 +3 1673 1671 1668 +3 1506 1439 1445 +3 1451 1445 1434 +3 1683 1682 1370 +3 1643 1624 1625 +3 1643 1689 1645 +3 1693 1691 1430 +3 1689 1662 1645 +3 1445 1451 1314 +3 1708 989 1365 +3 1716 1715 1579 +3 1671 1325 1708 +3 589 1673 1719 +3 1307 1556 2 +3 610 1541 1724 +3 1662 1574 1645 +3 1727 1683 1370 +3 1412 1727 1420 +3 1430 1691 1731 +3 1719 1738 589 +3 884 1310 1741 +3 1741 1504 1506 +3 1031 1758 842 +3 1727 1412 1683 +3 1741 1310 934 +3 1575 610 1768 +3 1781 1778 1671 +3 1578 1553 1592 +3 1579 1549 1553 +3 1623 616 1597 +3 1623 1624 616 +3 1200 1625 1623 +3 1724 1541 1342 +3 989 1325 985 +3 1793 1708 1365 +3 1793 1781 1708 +3 1342 989 985 +3 1708 1325 989 +3 1819 1793 1541 +3 1541 1793 1365 +3 1781 1671 1708 +3 1715 1716 1824 +3 1376 1382 1731 +3 1673 1835 1719 +3 1768 1840 1835 +3 1549 1840 1768 +3 1200 610 1724 +3 1835 1668 1768 +3 1870 1412 1415 +3 1412 1870 1873 +3 1575 1768 1668 +3 1662 1689 1657 +3 1668 1835 1673 +3 1575 1819 1541 +3 1575 1778 1819 +3 1819 1781 1793 +3 1819 1778 1781 +3 1890 1376 1731 +3 1727 1370 1376 +3 1890 1727 1376 +3 1895 1420 1727 +3 1731 1382 1430 +3 1682 1683 1287 +3 623 1623 1597 +3 1758 1043 1499 +3 1039 1499 1043 +3 1921 1426 1917 +3 1921 1924 1426 +3 1917 1493 1530 +3 1917 1682 1493 +3 3 1031 1447 +3 3 1043 1031 +3 1493 842 1499 +3 1031 1043 1758 +3 1691 1890 1731 +3 1895 1727 1890 +3 1890 1738 1895 +3 1895 1738 1420 +3 1738 1719 1415 +3 1840 1969 1835 +3 1671 1673 1325 +3 1325 1673 589 +3 1370 1917 1426 +3 1329 1890 1691 +3 1969 1840 1870 +3 1623 623 1200 +3 1683 1412 1873 +3 1549 1768 610 +3 1370 1682 1917 +3 1873 884 1683 +3 1287 1683 884 +3 1031 842 1447 +3 1758 1499 842 +3 1287 1314 1682 +3 1524 1493 1314 +3 1451 1524 1314 +3 1451 842 1524 +3 1445 1314 1287 +3 1314 1493 1682 +3 1445 1287 1506 +3 1890 589 1738 +3 1504 1741 2 +3 1506 884 1741 +3 1287 884 1506 +3 1873 1824 884 +3 1741 934 2 +3 1715 1873 1870 +3 1574 1662 1570 +3 1579 1584 1716 +3 1310 2104 934 +3 1310 884 2104 +3 1564 1824 1716 +3 2104 884 1824 +3 1873 1715 1824 +3 1870 1415 1969 +3 1715 1840 1579 +3 1715 1870 1840 +3 1719 1969 1415 +3 1719 1835 1969 +3 623 1549 610 +3 1579 1840 1549 +3 1559 1716 1584 +3 1668 1778 1575 +3 1662 1654 1570 +3 1657 7 1654 +3 1541 610 1575 +3 1716 1559 1564 +3 1778 1668 1671 +3 1567 626 1574 +3 1307 1564 1556 +3 2104 1824 1564 +3 1606 1592 623 +3 2104 1307 934 +3 2104 1564 1307 +3 1924 1430 1426 +3 1693 1329 1691 +3 1693 2220 1329 +3 1693 1924 2220 +3 1430 1924 1693 +3 589 1890 1329 +3 1415 1420 1738 +3 1584 2249 1579 +3 2255 2253 2251 +3 2259 2258 27 +3 2259 2262 2258 +3 2259 2253 2255 +3 2276 557 1015 +3 2255 2279 2278 +3 2285 2284 2282 +3 2282 2284 2287 +3 2291 2290 2288 +3 2255 2251 2293 +3 2279 2276 2295 +3 2279 2255 2293 +3 2282 2303 2285 +3 2310 746 2305 +3 2318 1415 926 +3 2326 1420 2291 +3 2351 1566 951 +3 1577 2357 617 +3 2369 2366 2362 +3 2376 2369 2372 +3 936 2389 932 +3 2398 2395 2392 +3 2398 2392 2402 +3 2405 2404 2376 +3 2409 2407 31 +3 1769 31 26 +3 2415 2282 2287 +3 926 1415 928 +3 2398 2428 2425 +3 1577 617 2285 +3 2437 2405 2433 +3 2415 2290 2438 +3 2437 2446 2442 +3 2453 2407 2409 +3 2462 2460 2456 +3 2467 2395 2398 +3 2479 1518 928 +3 2402 2407 2428 +3 1769 2482 31 +3 1579 2428 2453 +3 926 2496 2494 +3 2505 932 2389 +3 2305 1013 1455 +3 2518 2515 2290 +3 2357 2522 2520 +3 2528 2482 2523 +3 2366 557 2310 +3 2541 2538 2404 +3 2518 2291 1210 +3 2293 617 2357 +3 2405 2437 2549 +3 2291 2518 2290 +3 2446 2556 26 +3 2433 2559 2437 +3 1455 2494 2305 +3 2405 2549 2541 +3 2559 2433 2573 +3 957 2556 2577 +3 1455 926 2494 +3 1969 2389 2596 +3 1415 2318 1420 +3 2622 2496 928 +3 2596 2425 1840 +3 1566 2622 1518 +3 2249 2643 1579 +3 2653 1518 2479 +3 1840 2479 1969 +3 2528 2523 951 +3 2643 2653 2479 +3 2523 1769 957 +3 2404 2405 2541 +3 2674 2467 2398 +3 2395 936 932 +3 2369 2376 2404 +3 2456 2467 2674 +3 936 2395 2467 +3 2467 2456 2460 +3 2674 2398 2462 +3 2467 2460 936 +3 2456 2674 2462 +3 2366 2369 2696 +3 2596 2460 2462 +3 2428 1840 2425 +3 2700 2528 2643 +3 1969 1415 2389 +3 2596 2462 2425 +3 746 1205 1202 +3 2713 1210 2318 +3 1566 2351 2622 +3 2505 2389 1415 +3 1840 1969 2596 +3 2479 928 1969 +3 2326 2291 2288 +3 2729 2303 1202 +3 1420 1210 2291 +3 1420 2318 1210 +3 1202 1304 2713 +3 2522 2357 1577 +3 2249 1584 2482 +3 1210 1304 2518 +3 1202 2515 1304 +3 2438 2290 2515 +3 2482 2528 2700 +3 617 2284 2285 +3 2515 2303 2438 +3 2398 2425 2462 +3 2522 2285 2729 +3 2255 2278 2262 +3 1400 2696 2538 +3 1400 2761 2295 +3 2515 2518 1304 +3 2276 2357 2520 +3 2279 2293 2357 +3 2262 2278 2761 +3 2276 2279 2357 +3 2428 2398 2402 +3 2262 2259 2255 +3 2768 2520 2522 +3 2768 2729 1205 +3 557 2276 2520 +3 557 2520 645 +3 1015 2696 1400 +3 557 2366 1015 +3 1205 2784 1259 +3 1259 645 2768 +3 645 1259 742 +3 2303 2515 1202 +3 742 1259 2784 +3 1259 2768 1205 +3 1202 1205 2729 +3 2713 1013 746 +3 2729 2768 2522 +3 2713 746 1202 +3 2372 2362 2494 +3 2369 2404 2696 +3 2362 2305 2494 +3 2362 2310 2305 +3 2713 1455 1013 +3 2310 645 742 +3 2538 2696 2404 +3 2362 2372 2369 +3 2523 2482 1769 +3 746 2310 742 +3 746 1013 2305 +3 2310 2362 2366 +3 2784 746 742 +3 2784 1205 746 +3 2556 957 1769 +3 2442 2549 2437 +3 2389 2460 2596 +3 2372 2837 2376 +3 2496 2372 2494 +3 1015 2295 2276 +3 2295 1015 1400 +3 2520 2768 645 +3 2460 2389 936 +3 2573 2837 2351 +3 2496 2837 2372 +3 2496 2622 2837 +3 2438 2282 2415 +3 2446 2437 2559 +3 2282 2438 2303 +3 2559 2556 2446 +3 2559 2577 2556 +3 957 951 2523 +3 2556 1769 26 +3 2577 2559 2573 +3 2573 2351 2577 +3 2837 2622 2351 +3 2653 2528 1566 +3 2577 951 957 +3 2653 1566 1518 +3 951 2577 2351 +3 1969 928 1415 +3 1518 2622 928 +3 2318 926 1455 +3 928 2496 926 +3 2713 2318 1455 +3 1304 1210 2713 +3 2482 2409 31 +3 1584 1579 2453 +3 645 2310 557 +3 2428 2407 2453 +3 2442 2446 26 +3 2643 2479 1579 +3 1579 1840 2428 +3 1579 2479 1840 +3 2376 2433 2405 +3 2700 2643 2249 +3 2837 2573 2433 +3 1015 2366 2696 +3 2482 2453 2409 +3 2453 2482 1584 +3 1566 2528 951 +3 2653 2643 2528 +3 2482 2700 2249 +3 2433 2376 2837 +3 2278 2295 2761 +3 2285 2522 1577 +3 2295 2278 2279 +3 2303 2729 2285 +3 1415 1420 2505 +3 2978 2977 2974 +3 728 737 2197 +3 2978 19 2977 +3 1423 665 2359 +3 478 650 2997 +3 3010 3009 2974 +3 478 3012 470 +3 2853 2740 1048 +3 3021 3020 3019 +3 3023 3020 3022 +3 2455 3025 3024 +3 3033 2853 2799 +3 3035 2978 2974 +3 3009 3035 2974 +3 3009 3040 3035 +3 2740 2853 3043 +3 2799 3047 3033 +3 728 665 3054 +3 470 3064 591 +3 3068 3066 3064 +3 3071 3070 3069 +3 3073 3072 3070 +3 3073 1693 3072 +3 2220 3021 1693 +3 2220 3020 3021 +3 1663 2799 2853 +3 3020 3091 3090 +3 2705 944 948 +3 944 2740 3097 +3 3106 3105 3104 +3 3066 3069 3064 +3 584 650 478 +3 3118 3117 3116 +3 3117 3119 3116 +3 3120 3117 3118 +3 3071 3012 3121 +3 3126 3070 3121 +3 2168 2170 1981 +3 1981 3047 3135 +3 2170 3033 3047 +3 23 3043 3033 +3 737 728 3054 +3 479 2512 3054 +3 766 1423 2359 +3 775 3120 3173 +3 2197 696 728 +3 3180 3179 1663 +3 2512 479 2338 +3 790 2797 765 +3 2338 790 3023 +3 3118 3105 3106 +3 3071 3121 3070 +3 3214 3213 650 +3 3119 3117 3214 +3 3120 3118 3106 +3 3009 3216 3215 +3 3106 2356 3218 +3 3220 3126 3121 +3 944 1048 2740 +3 3071 3066 3068 +3 3071 3069 3066 +3 3012 3220 3121 +3 3022 3231 2512 +3 3073 2220 1693 +3 3126 3020 2220 +3 3091 3180 948 +3 2359 2365 766 +3 1663 2853 1048 +3 3116 3216 3110 +3 470 584 478 +3 3047 1981 2170 +3 584 470 591 +3 948 944 3097 +3 3047 2799 2797 +3 514 2797 522 +3 1495 3025 696 +3 1495 2197 3272 +3 1495 696 2197 +3 3284 3282 3280 +3 20 3272 2189 +3 3111 3116 3110 +3 2797 514 3135 +3 476 3296 790 +3 479 1423 3296 +3 2096 2526 3024 +3 766 2463 522 +3 2338 476 790 +3 479 3296 476 +3 2338 479 476 +3 665 1423 479 +3 3054 665 479 +3 2526 2096 2546 +3 3338 3282 3284 +3 3338 3339 3282 +3 3282 3340 3280 +3 3284 3343 3341 +3 2197 2189 3272 +3 3119 3215 3216 +3 3347 20 2189 +3 3105 3118 3111 +3 98 20 3347 +3 2189 2197 737 +3 3339 98 3347 +3 3340 3347 2189 +3 3340 3282 3339 +3 3340 3339 3347 +3 3338 98 3339 +3 3105 3111 3147 +3 97 20 98 +3 3054 3280 737 +3 3147 20 3341 +3 3280 3054 2512 +3 3341 20 97 +3 3231 2349 2512 +3 2356 2349 3218 +3 2356 3343 2349 +3 3104 3341 3343 +3 2356 3106 3343 +3 3105 3341 3104 +3 3343 3106 3104 +3 3147 3341 3105 +3 3376 3120 3106 +3 3012 478 3377 +3 2997 3376 3106 +3 657 3213 3117 +3 3216 3009 3010 +3 3377 2997 3106 +3 3376 3173 3120 +3 3376 2997 3173 +3 2997 657 3173 +3 3117 3120 775 +3 3216 3116 3119 +3 3010 3110 3216 +3 3214 3117 3213 +3 3117 775 657 +3 3173 657 775 +3 650 3213 657 +3 3106 3218 3377 +3 3385 3126 3220 +3 3338 97 98 +3 650 657 2997 +3 2349 3231 3389 +3 2512 2338 3022 +3 3385 3389 3126 +3 3218 2349 3389 +3 3023 3022 2338 +3 3389 3231 3022 +3 470 3071 3068 +3 3377 3218 3385 +3 3377 3385 3012 +3 3218 3389 3385 +3 470 3012 3071 +3 3385 3220 3012 +3 3064 470 3068 +3 3338 3341 97 +3 3406 3214 591 +3 3389 3020 3126 +3 3406 3119 3214 +3 3341 3338 3284 +3 3022 3020 3389 +3 3215 3040 3009 +3 3214 584 591 +3 3214 650 584 +3 3377 478 2997 +3 665 728 696 +3 1048 944 2705 +3 3179 3091 3023 +3 3090 3019 3020 +3 3180 3091 3179 +3 948 3090 3091 +3 3126 3073 3070 +3 3126 2220 3073 +3 3180 1048 2705 +3 3179 3023 765 +3 948 3180 2705 +3 3179 765 1663 +3 790 765 3023 +3 790 3296 766 +3 3135 3047 2797 +3 2799 765 2797 +3 3180 1663 1048 +3 765 2799 1663 +3 1168 658 3267 +3 2797 790 522 +3 2365 2359 3025 +3 2365 3025 2455 +3 3043 2853 3033 +3 3267 658 3135 +3 1168 514 3514 +3 3296 1423 766 +3 2359 696 3025 +3 522 790 766 +3 2546 2463 2365 +3 514 522 2463 +3 696 2359 665 +3 2463 766 2365 +3 658 1168 2100 +3 514 2463 2546 +3 3118 3116 3111 +3 2546 2365 2526 +3 2526 2455 3024 +3 2526 2365 2455 +3 2168 658 2100 +3 2546 3514 514 +3 514 1168 3135 +3 3514 2546 2096 +3 2096 2100 3514 +3 3267 3135 1168 +3 3514 2100 1168 +3 1981 3135 658 +3 3024 2100 2096 +3 3024 3587 2100 +3 3587 2168 2100 +3 3033 2170 23 +3 23 3587 3024 +3 23 2170 3587 +3 2168 1981 658 +3 2170 2168 3587 +3 3340 737 3280 +3 737 3340 2189 +3 3343 3284 2349 +3 2349 3284 3280 +3 3215 3119 3406 +3 3020 3023 3091 +3 2512 2349 3280 +3 102 1935 96 +3 1316 3273 103 +3 2028 3046 2169 +3 3623 3621 3620 +3 3627 3625 3624 +3 2312 1500 2328 +3 93 2954 96 +3 102 3641 103 +3 2545 2432 3642 +3 93 2545 3262 +3 3654 2027 2028 +3 2095 3656 2040 +3 3620 1936 1943 +3 3620 3662 3659 +3 3663 3624 3625 +3 3666 3093 3664 +3 2169 2579 2028 +3 1028 1387 3672 +3 3675 3674 3673 +3 3089 3676 3093 +3 2444 2162 3677 +3 3683 3682 2436 +3 3687 3686 3685 +3 3689 3656 2137 +3 947 2543 2196 +3 3689 1156 1186 +3 2137 1144 1156 +3 3654 1968 2027 +3 2040 3701 2078 +3 2040 3153 3701 +3 3708 3707 3705 +3 3705 3707 3689 +3 3656 3689 3707 +3 2726 3710 954 +3 3716 3713 2027 +3 3675 3673 3383 +3 2202 5 3663 +3 1355 1705 1362 +3 96 2543 93 +3 2137 2152 3738 +3 2081 2312 2307 +3 297 3750 1497 +3 1497 2078 297 +3 3666 3089 3093 +3 3674 3345 3673 +3 2444 3365 2219 +3 3383 3673 3344 +3 3713 2028 2027 +3 3791 3654 3383 +3 2579 1620 3792 +3 3710 1896 954 +3 403 3792 3687 +3 3662 3620 1943 +3 3677 3365 2444 +3 3792 403 3383 +3 3642 2432 2436 +3 96 2954 102 +3 2976 102 2954 +3 2726 2579 3710 +3 2177 2219 1896 +3 2169 2219 2177 +3 2312 2081 2146 +3 2081 2152 2095 +3 2095 2146 2081 +3 1710 1028 1355 +3 2169 3046 2219 +3 1516 1472 2286 +3 2146 2078 1497 +3 2152 2137 3656 +3 2095 2078 2146 +3 2770 1617 1620 +3 1500 1617 2770 +3 1865 1500 2770 +3 3895 3750 3686 +3 2762 2169 2177 +3 3905 3895 3686 +3 3792 1620 1617 +3 3677 3683 2432 +3 3707 3153 2040 +3 2078 3701 297 +3 3663 2200 2202 +3 3915 3623 3659 +3 3621 5 2202 +3 2232 3919 3620 +3 3915 5 3621 +3 3915 3621 3623 +3 3621 2202 3927 +3 3919 2068 1936 +3 3621 3927 3620 +3 3623 3620 3659 +3 2328 2307 2312 +3 3932 3716 1968 +3 1557 2196 1935 +3 2146 1497 2312 +3 2232 3620 2200 +3 2165 3919 2232 +3 3620 3919 1936 +3 3677 2432 2545 +3 1613 1865 2770 +3 103 3273 102 +3 1552 1508 1472 +3 3713 3046 2028 +3 3683 2436 2432 +3 2219 3046 2444 +3 2162 3713 3716 +3 3713 2162 2444 +3 3713 2444 3046 +3 3932 2162 3716 +3 1968 3716 2027 +3 3927 2202 2200 +3 3927 2200 3620 +3 3932 3919 2165 +3 3721 2232 3625 +3 2162 3932 2165 +3 2162 2165 3683 +3 3625 2200 3663 +3 3624 3663 5 +3 2232 2200 3625 +3 3683 3721 3682 +3 3689 1186 3705 +3 3262 2545 3642 +3 3344 3673 3345 +3 2545 93 2543 +3 3674 3918 3664 +3 103 104 1316 +3 2196 2543 96 +3 2196 96 1935 +3 104 2103 1316 +3 104 103 3641 +3 3664 3093 3674 +3 3676 3089 1943 +3 3674 3675 3918 +3 3273 1935 102 +3 0 924 1316 +3 3273 1316 1552 +3 3676 1943 1936 +3 2103 104 3641 +3 1710 2726 1393 +3 3792 2028 2579 +3 0 1316 2103 +3 0 2103 3641 +3 1316 924 1508 +3 1028 3672 2307 +3 3677 2162 3683 +3 947 1896 3365 +3 102 2976 3641 +3 2762 2177 1896 +3 1472 1508 3672 +3 2219 3365 1896 +3 1355 2726 1710 +3 1472 1557 1552 +3 3672 1387 1472 +3 1387 2286 1472 +3 947 3365 2545 +3 1508 3738 3672 +3 954 947 2196 +3 1936 3791 3676 +3 3932 1968 2068 +3 1896 947 954 +3 1393 954 1557 +3 1393 1516 1710 +3 1516 1393 1557 +3 1508 1552 1316 +3 1472 1516 1557 +3 1705 1613 1362 +3 1355 1362 2726 +3 2152 2081 3672 +3 2068 3919 3932 +3 1028 1710 2286 +3 1705 1355 1028 +3 1387 1028 2286 +3 2307 1705 1028 +3 1705 1865 1613 +3 3672 3738 2152 +3 3721 3683 2165 +3 2165 2232 3721 +3 2307 3672 2081 +3 3738 1144 2137 +3 2307 2328 1705 +3 2328 1500 1865 +3 2328 1865 1705 +3 2040 2078 2095 +3 954 1393 2726 +3 3656 2095 2152 +3 2028 3792 3383 +3 2137 1156 3689 +3 1497 1500 2312 +3 1497 1617 1500 +3 947 2545 2543 +3 2726 1362 2579 +3 1620 1613 2770 +3 2762 1896 3710 +3 2762 2579 2169 +3 1362 1613 2579 +3 3710 2579 2762 +3 1497 3750 3895 +3 1497 3895 1617 +3 3791 3344 3676 +3 3093 3345 3674 +3 2068 3654 3791 +3 3344 3791 3383 +3 2068 1968 3654 +3 2579 1613 1620 +3 3791 1936 2068 +3 3093 3676 3345 +3 3685 403 3687 +3 3895 3792 1617 +3 3365 3677 2545 +3 3687 3905 3686 +3 1 3708 3705 +3 3383 3654 2028 +3 3707 2040 3656 +3 1186 1 3705 +3 3792 3895 3905 +3 3792 3905 3687 +3 3627 3682 3721 +3 3721 3625 3627 +3 3345 3676 3344 +3 1557 954 2196 +3 1935 1552 1557 +3 2286 1710 1516 +3 1552 1935 3273 +3 403 3675 3383 +3 1508 924 3738 +3 924 1144 3738 +3 2891 3290 3601 +3 4111 4266 4110 +3 4269 4267 676 +3 2788 4272 4270 +3 4275 3985 35 +3 4275 4267 3985 +3 4278 4277 4276 +3 4270 2303 2729 +3 4102 3779 4193 +3 1835 1619 1719 +3 4284 2741 1549 +3 4193 4285 4102 +3 1738 3720 594 +3 2739 4083 4287 +3 3782 1768 4290 +3 3734 4193 3779 +3 4193 3734 3830 +3 4294 3560 3561 +3 3597 1719 3561 +3 3782 4294 4295 +3 4296 4083 2739 +3 1768 2771 1549 +3 1592 4299 4298 +3 4303 3837 4285 +3 1406 4083 1228 +3 2771 4299 1549 +3 2891 3734 2899 +3 676 4277 4272 +3 3165 3122 4313 +3 2515 2518 744 +3 4255 744 740 +3 594 744 2518 +3 4320 961 969 +3 4102 4313 3122 +3 4278 4272 4277 +3 4270 2872 2788 +3 3508 1835 1768 +3 2872 4327 2788 +3 3603 3601 1196 +3 3290 1658 3601 +3 4298 4296 1592 +3 2518 2515 4330 +3 4327 4337 4269 +3 4339 4267 4269 +3 1019 2899 1454 +3 4082 4296 2557 +3 3720 1719 1619 +3 1686 2520 1976 +3 2276 1019 2295 +3 1196 2729 2303 +3 2872 4270 2729 +3 2814 3292 3653 +3 2891 659 3290 +3 2829 1454 2899 +3 2295 1019 1454 +3 1686 1976 716 +3 3734 2891 3601 +3 4269 2788 4327 +3 3603 1709 3770 +3 3165 3171 4393 +3 2416 983 34 +3 969 2416 4320 +3 4399 4313 4397 +3 3509 1406 1483 +3 1709 1843 740 +3 4299 1553 1549 +3 3292 3122 3653 +3 3837 4303 3838 +3 2416 969 983 +3 2276 4337 4327 +3 3597 3561 3560 +3 3782 3560 4294 +3 4290 3597 3560 +3 2771 3782 4295 +3 4290 3560 3782 +3 2295 1454 2761 +3 1835 1719 3597 +3 3508 1768 1549 +3 1719 3720 1738 +3 1592 1553 4299 +3 4284 1549 1553 +3 2557 2379 3487 +3 1014 4269 676 +3 2379 2557 4296 +3 4284 1553 1592 +3 1658 716 1196 +3 1535 1619 4371 +3 1535 1709 3720 +3 3603 1843 1709 +3 740 3720 1709 +3 1592 4296 4284 +3 2303 4255 740 +3 744 3720 740 +3 2515 4255 2303 +3 2515 744 4255 +3 3561 1719 1738 +3 4327 2872 2520 +3 4473 594 2518 +3 4473 1738 594 +3 4481 4110 4248 +3 4481 4111 4110 +3 4111 2515 2303 +3 3487 2379 39 +3 4278 4110 4266 +3 1619 1835 3508 +3 4111 4330 2515 +3 3601 3603 3770 +3 2520 2872 2768 +3 4110 4278 4248 +3 4272 4278 4266 +3 4276 4248 4278 +3 2761 1454 633 +3 4510 2295 2761 +3 3985 4339 4510 +3 3985 4267 4339 +3 659 2891 1019 +3 4083 4296 4082 +3 3985 2761 633 +3 3985 4510 2761 +3 4327 2520 2276 +3 4330 4111 4481 +3 659 2276 2520 +3 2741 4284 4296 +3 2768 1976 2520 +3 2768 2783 1976 +3 1976 2783 716 +3 2768 2872 2729 +3 2729 716 2783 +3 1196 1843 3603 +3 3601 1658 1196 +3 1686 716 1658 +3 2768 2729 2783 +3 4270 4266 2303 +3 4272 4266 4270 +3 2899 1019 2891 +3 1196 2303 740 +3 4266 4111 2303 +3 2729 1196 716 +3 740 1843 1196 +3 3830 3734 3601 +3 1454 2829 633 +3 4371 3830 3770 +3 3839 3165 3988 +3 3830 3601 3770 +3 4337 2276 2295 +3 4272 2788 1014 +3 3292 2829 3779 +3 2276 659 1019 +3 1686 3290 659 +3 4290 1835 3597 +3 4296 4298 2379 +3 3779 2899 3734 +3 1686 1658 3290 +3 1835 4290 1768 +3 2899 3779 2829 +3 2814 2829 3292 +3 2814 633 2829 +3 3988 3165 4393 +3 4285 4193 4303 +3 3653 3122 3839 +3 4272 1014 676 +3 3122 3165 3839 +3 3830 4303 4193 +3 3720 1619 1535 +3 4313 4102 4285 +3 3779 4102 3292 +3 4285 4397 4313 +3 4371 4372 4303 +3 3838 4587 3837 +3 4397 4285 3837 +3 3171 3165 4399 +3 4393 3171 3988 +3 34 3171 2416 +3 2416 3171 4399 +3 34 3988 3171 +3 4587 4397 3837 +3 4397 4587 4320 +3 4320 4399 4397 +3 4399 4320 2416 +3 3830 4371 4303 +3 4313 4399 3165 +3 4303 4372 3838 +3 3122 3292 4102 +3 1535 4371 3770 +3 1619 4372 4371 +3 1709 1535 3770 +3 1768 3782 2771 +3 1619 1483 4372 +3 1619 3508 1483 +3 1483 1406 4372 +3 1483 3508 3509 +3 4587 1228 961 +3 1406 3509 4083 +3 3838 1406 1228 +3 4287 1549 2741 +3 2520 1686 659 +3 2788 4269 1014 +3 2739 2741 4296 +3 4287 3508 1549 +3 2739 4287 2741 +3 4082 1228 4083 +3 3508 4287 3509 +3 3509 4287 4083 +3 1228 4082 961 +3 3487 983 969 +3 969 2557 3487 +3 969 961 2557 +3 2557 961 4082 +3 4339 4337 4510 +3 4337 4339 4269 +3 2295 4510 4337 +3 961 4320 4587 +3 744 594 3720 +3 1406 3838 4372 +3 1228 4587 3838 +3 4117 4101 4459 +3 493 3876 3793 +3 3372 4645 3374 +3 4272 2284 4646 +3 643 2069 1966 +3 4142 4475 4477 +3 3887 1140 4382 +3 2733 4657 4656 +3 4663 3231 4660 +3 4665 417 560 +3 2190 412 1286 +3 1059 751 712 +3 2201 3372 2597 +3 4668 743 4421 +3 4668 4669 3829 +3 4567 4418 4410 +3 4668 4671 4669 +3 684 698 4672 +3 4459 4458 4663 +3 3887 4382 3884 +3 4161 3389 4675 +3 4477 4418 4142 +3 4117 4459 4660 +3 2784 738 742 +3 735 3005 2812 +3 2812 1031 735 +3 493 3793 487 +3 742 1265 2784 +3 1976 712 751 +3 654 643 2424 +3 702 672 4338 +3 1059 760 3804 +3 1966 1354 1970 +3 1970 2424 1966 +3 4621 1908 4566 +3 2424 4621 654 +3 70 1354 2069 +3 643 679 2069 +3 3887 4223 3891 +3 3066 487 3071 +3 721 2783 1265 +3 4161 4142 4418 +3 1758 1294 1499 +3 1333 4270 1294 +3 4142 4675 4630 +3 493 572 3876 +3 4142 4141 4475 +3 4141 4718 4223 +3 2729 1205 2783 +3 1294 1758 2812 +3 1205 2729 1333 +3 830 4475 3885 +3 4718 2733 827 +3 4101 3012 3071 +3 4141 4223 3885 +3 830 4382 71 +3 837 1031 1758 +3 1059 3804 751 +3 751 3804 493 +3 2783 1976 751 +3 2284 3064 4739 +3 3064 487 3066 +3 4739 4410 4409 +3 830 1499 4451 +3 4477 4475 4498 +3 4630 4657 4629 +3 712 702 1059 +3 4566 4338 4621 +3 4646 4277 4272 +3 3071 3012 4567 +3 2730 4421 2513 +3 2513 2512 4663 +3 4675 4758 4656 +3 4297 1059 4338 +3 4671 2728 2774 +3 3389 3231 4758 +3 2512 4672 3054 +3 2728 4671 4668 +3 698 2597 2191 +3 2197 3305 3272 +3 1908 4621 2424 +3 1679 2733 2834 +3 3885 4223 3884 +3 4382 1140 71 +3 3885 3884 4382 +3 3885 4382 830 +3 3891 1140 3887 +3 4223 3887 3884 +3 827 1140 3891 +3 4718 4657 2733 +3 3012 3385 4161 +3 3054 2340 2512 +3 3012 4117 3385 +3 3389 4161 3385 +3 3012 4101 4117 +3 3385 4660 3389 +3 4663 4458 2513 +3 3071 3793 4101 +3 4270 2285 4272 +3 487 3793 3071 +3 2834 2733 4656 +3 4272 1294 4270 +3 4451 4498 4475 +3 4418 4567 4161 +3 2512 2340 3231 +3 4567 3012 4161 +3 4739 3066 4410 +3 4409 4410 4418 +3 4409 4418 4412 +3 4409 4412 4739 +3 4412 4418 4477 +3 2340 2834 4758 +3 1499 830 1758 +3 4412 4477 4498 +3 830 837 1758 +3 4498 4739 4412 +3 2729 751 2285 +3 1333 2812 3005 +3 1265 742 721 +3 4498 4451 4277 +3 2783 751 2729 +3 2285 4270 2729 +3 2812 1758 1031 +3 3231 4663 2512 +3 4270 1333 2729 +3 721 1976 2783 +3 1265 2783 1205 +3 4660 3385 4117 +3 3005 1205 1333 +3 2784 1265 1205 +3 2784 1205 3005 +3 2069 1354 1966 +3 672 654 4621 +3 679 70 2069 +3 4338 1059 702 +3 2812 1333 1294 +3 1966 2424 643 +3 4675 4142 4161 +3 2285 751 3064 +3 4277 4646 4498 +3 2285 3064 2284 +3 3005 735 738 +3 738 2784 3005 +3 3066 4739 3064 +3 4272 4277 1361 +3 3064 493 487 +3 1361 1499 1294 +3 2284 4272 2285 +3 1294 4272 1361 +3 4141 4629 4718 +3 4718 827 3891 +3 3389 4660 3231 +3 4656 4758 2834 +3 2728 4458 4459 +3 4758 3231 2340 +3 4629 4657 4718 +3 4223 4718 3891 +3 4656 4657 4630 +3 4630 4629 4141 +3 4297 760 1059 +3 4621 4338 672 +3 4101 4664 4459 +3 4660 4459 4663 +3 3389 4758 4675 +3 4630 4141 4142 +3 4675 4656 4630 +3 4141 3885 4475 +3 4664 4101 3793 +3 4865 3793 3876 +3 3804 572 493 +3 751 493 3064 +3 4865 2774 4664 +3 2513 4421 4672 +3 2728 4459 4664 +3 4865 4664 3793 +3 4664 2774 2728 +3 4458 2730 2513 +3 2728 4421 2730 +3 2728 2730 4458 +3 4665 560 2834 +3 4338 4566 4297 +3 4410 3066 4567 +3 2340 3054 4665 +3 4475 830 4451 +3 4672 2512 2513 +3 684 4421 743 +3 2201 743 3829 +3 560 1679 2834 +3 743 4668 3829 +3 3305 4527 4856 +3 2597 743 2201 +3 2597 698 684 +3 2597 684 743 +3 728 3054 698 +3 684 4672 4421 +3 4665 2834 2340 +3 827 2733 1679 +3 412 417 4665 +3 2424 1970 1908 +3 4665 3054 728 +3 1286 2197 2190 +3 3054 4672 698 +3 728 698 2191 +3 1503 66 2190 +3 412 2190 66 +3 4665 728 1286 +3 4665 1286 412 +3 728 2191 2197 +3 728 2197 1286 +3 4856 2190 3272 +3 2197 3272 2190 +3 4421 2728 4668 +3 3374 3305 2191 +3 2197 2191 3305 +3 3272 3305 4856 +3 2191 2597 3374 +3 4645 4527 3374 +3 3305 3374 4527 +3 1503 1591 66 +3 4856 4527 1503 +3 4856 1503 2190 +3 4645 1591 4527 +3 1591 1503 4527 +3 3372 3374 2597 +3 3071 4567 3066 +3 4739 4646 2284 +3 4646 4739 4498 +3 4451 1499 1361 +3 1361 4277 4451 +3 3959 4108 3851 +3 2892 1582 3257 +3 2653 2643 3509 +3 4886 7 404 +3 4886 1570 7 +3 1559 4889 1556 +3 2343 586 2892 +3 1606 618 1592 +3 1559 2249 4889 +3 3257 1582 2718 +3 2250 2243 4892 +3 3847 1882 6 +3 4895 4010 3521 +3 3959 3851 3853 +3 4895 1882 3847 +3 4895 1730 1882 +3 4010 3959 3857 +3 2741 4284 984 +3 2250 4892 4028 +3 3864 4900 2250 +3 3838 1406 867 +3 3600 3310 3665 +3 4284 2741 1584 +3 984 4284 618 +3 2653 3509 1566 +3 867 1406 1356 +3 2749 2604 3600 +3 1566 2351 1435 +3 2351 1566 3838 +3 3844 1435 2351 +3 2 877 3846 +3 4905 3665 3669 +3 3048 3665 4905 +3 2537 2604 2510 +3 3521 1803 1457 +3 2243 2250 4906 +3 1582 1803 2718 +3 3509 4287 995 +3 2604 2749 3257 +3 986 984 4905 +3 4284 1578 1592 +3 2755 3320 2510 +3 3050 3058 4909 +3 4815 4906 3921 +3 3678 1464 1730 +3 3158 4910 3160 +3 3257 2749 2892 +3 984 618 3058 +3 3203 399 404 +3 2653 3511 2850 +3 2249 1584 2741 +3 7 1582 586 +3 618 1606 4909 +3 4886 1567 1570 +3 2653 1435 3511 +3 3846 869 3844 +3 4906 2250 4900 +3 877 2 1556 +3 2741 986 4287 +3 3660 3669 4919 +3 3511 4889 2850 +3 3879 867 1356 +3 2682 4919 3669 +3 1125 1487 3877 +3 4889 3511 3513 +3 3669 3160 2682 +3 1487 1125 4927 +3 3669 3665 3158 +3 1464 3521 1457 +3 3312 2718 1803 +3 4108 4895 3847 +3 3521 1464 3678 +3 4895 3678 1730 +3 4895 3521 3678 +3 4895 4108 4010 +3 3847 3851 4108 +3 3857 3959 3853 +3 4010 4108 3959 +3 3665 3056 3600 +3 3203 404 2092 +3 4010 3320 3521 +3 4010 3857 3320 +3 2604 2537 3600 +3 3058 618 4909 +3 3312 3320 2755 +3 3312 3521 3320 +3 3600 3056 2749 +3 3048 4905 3050 +3 2755 3711 3257 +3 2510 2604 3711 +3 2755 3257 2718 +3 3711 2604 3257 +3 3312 2755 2718 +3 2510 3711 2755 +3 3310 3600 2537 +3 586 1582 2892 +3 3203 2092 2343 +3 2749 2343 2892 +3 1567 2187 626 +3 1584 1578 4284 +3 618 4284 1592 +3 399 3357 1597 +3 399 626 2187 +3 626 399 1597 +3 399 2187 404 +3 2537 2243 4910 +3 404 2187 4886 +3 1597 4909 1606 +3 2643 2653 2850 +3 2187 1567 4886 +3 3203 3048 4909 +3 3048 3050 4909 +3 4905 3058 3050 +3 3357 3203 4909 +3 2243 2537 2510 +3 3053 2749 3056 +3 3203 3056 3048 +3 3203 2343 3053 +3 3203 3053 3056 +3 2343 2749 3053 +3 1406 3838 1566 +3 4905 3669 3660 +3 986 3476 995 +3 986 4905 3476 +3 4287 986 995 +3 399 3203 3357 +3 3058 4905 984 +3 986 2741 984 +3 2249 2850 4889 +3 4287 2643 2249 +3 3665 3048 3056 +3 4287 2249 2741 +3 2643 2850 2249 +3 4287 3509 2643 +3 3511 1435 869 +3 4889 877 1556 +3 3513 3511 869 +3 869 3846 877 +3 877 3513 869 +3 2653 1566 1435 +3 3509 995 1406 +3 4889 3513 877 +3 3476 4919 995 +3 3509 1406 1566 +3 995 4919 1356 +3 3879 1356 782 +3 1406 995 1356 +3 3879 782 3877 +3 1356 4919 4927 +3 782 1125 3877 +3 782 4927 1125 +3 1487 4927 4951 +3 782 1356 4927 +3 1487 4951 4815 +3 4927 4919 4951 +3 4815 2682 3160 +3 4951 4919 2682 +3 3476 3660 4919 +3 3476 4905 3660 +3 3310 3158 3665 +3 3160 3669 3158 +3 3160 4906 4815 +3 4906 3809 3921 +3 4910 3310 2537 +3 4910 3158 3310 +3 4906 3160 4910 +3 3521 3312 1803 +3 4959 4892 3857 +3 4959 4028 4892 +3 4024 4959 3857 +3 4024 4028 4959 +3 3809 4900 3864 +3 3809 4906 4900 +3 2243 4906 4910 +3 1435 3844 869 +3 1487 4815 3921 +3 4951 2682 4815 +3 586 404 7 +3 404 586 2092 +3 2343 2092 586 +3 1584 2249 1559 +3 4909 1597 3357 +3 4892 2510 3320 +3 4892 3320 3857 +3 2510 4892 2243 +3 4237 2916 2931 +3 2544 1534 1377 +3 2079 2582 2051 +3 4955 4238 4237 +3 4956 2003 4242 +3 3684 3174 3781 +3 2232 2316 3919 +3 3676 3438 3345 +3 4231 138 3955 +3 1510 3849 1515 +3 1604 4231 3955 +3 3918 4254 1601 +3 946 1802 2246 +3 3323 3725 383 +3 3849 3870 3841 +3 3869 380 3725 +3 1936 2316 1931 +3 2065 3400 3840 +3 2079 3688 3400 +3 2163 2160 2065 +3 3142 4006 2099 +3 17 3142 2099 +3 2163 4310 1510 +3 2703 1410 3207 +3 1534 2703 1404 +3 4957 2900 4956 +3 3084 3955 142 +3 921 1377 1788 +3 1788 1598 921 +3 1646 1410 1413 +3 2106 3624 16 +3 3207 1940 1802 +3 3869 3870 380 +3 2582 2079 2160 +3 3918 3438 4254 +3 138 3781 142 +3 3676 3914 3438 +3 4957 4956 4955 +3 4302 4956 4242 +3 3345 3674 3342 +3 3883 3323 3914 +3 1946 2910 1931 +3 3323 383 3438 +3 3625 2232 2851 +3 1788 1377 1404 +3 3624 3929 2893 +3 2205 3822 2206 +3 2232 3919 3912 +3 1931 2910 3822 +3 2205 2206 4531 +3 4643 2910 1946 +3 2501 2051 2582 +3 2163 4006 4310 +3 1515 1327 2582 +3 2160 2079 2065 +3 1936 3919 2316 +3 2079 3400 2065 +3 2160 2163 1515 +3 2099 2163 2065 +3 3849 1510 4310 +3 2099 4006 2163 +3 2173 2893 3929 +3 3955 3084 3769 +3 3674 3345 3438 +3 1601 4231 1604 +3 3929 4131 2173 +3 3725 3323 1341 +3 380 3870 3907 +3 4302 4238 4968 +3 4302 4968 4956 +3 4968 4955 4956 +3 2900 4957 2173 +3 4968 4238 4955 +3 4957 4955 4970 +3 3886 2900 4131 +3 2173 4970 2134 +3 2851 2232 3912 +3 4956 1965 2003 +3 1940 3207 3874 +3 3912 3919 1936 +3 3912 1965 4956 +3 3342 3684 3345 +3 1936 1965 3912 +3 2232 2026 2316 +3 2316 1946 1931 +3 3822 3883 3914 +3 3207 1802 2703 +3 2026 1946 2316 +3 2160 1515 2582 +3 3769 1604 3955 +3 2851 3912 4956 +3 3625 2851 3886 +3 2900 2851 4956 +3 4957 4970 2173 +3 4970 4955 4237 +3 1377 921 2544 +3 4237 2931 4970 +3 2134 2931 2136 +3 16 2136 21 +3 4970 2931 2134 +3 2173 4131 2900 +3 3624 3625 3886 +3 2900 3886 2851 +3 3874 1978 1940 +3 2051 1646 1422 +3 3929 3886 4131 +3 2108 2244 2106 +3 3624 3886 3929 +3 2051 3688 2079 +3 2136 16 2893 +3 2106 1598 2108 +3 1940 2106 2244 +3 16 3624 2893 +3 142 3174 3084 +3 2244 1802 1940 +3 2246 2244 2108 +3 2244 2246 1802 +3 4531 1978 3874 +3 2703 1802 941 +3 1598 2106 16 +3 2246 2108 1788 +3 921 1598 16 +3 383 4254 3438 +3 2026 1978 4531 +3 2205 2519 3883 +3 4643 2026 4531 +3 2205 3883 3822 +3 1946 2026 4643 +3 2910 4643 4531 +3 2910 4531 2206 +3 2910 2206 3822 +3 3323 2519 1300 +3 3874 2205 4531 +3 1422 1413 1534 +3 941 946 2246 +3 2205 3874 2519 +3 1410 2703 1413 +3 2246 1788 941 +3 1422 1534 2544 +3 3684 2003 1965 +3 921 3688 1427 +3 921 1427 2544 +3 941 1404 2703 +3 1404 1377 1534 +3 1422 1427 3688 +3 946 941 1802 +3 2108 1598 1788 +3 941 1788 1404 +3 1341 1339 3725 +3 1534 1413 2703 +3 1646 1413 1422 +3 1427 1422 2544 +3 1300 3207 1410 +3 1300 1646 1293 +3 1300 1410 1646 +3 3684 3781 2003 +3 1293 1646 2501 +3 1293 2501 1327 +3 2501 1646 2051 +3 1422 3688 2051 +3 2929 1293 1327 +3 1327 1515 1339 +3 1931 3822 1936 +3 2582 1327 2501 +3 2929 1327 1339 +3 2065 3840 2099 +3 1515 3841 1339 +3 1341 3323 1300 +3 1515 3849 3841 +3 1339 3841 3725 +3 3840 17 2099 +3 2173 2134 2893 +3 3841 3870 3869 +3 3841 3869 3725 +3 2929 1339 1341 +3 2519 3874 3207 +3 2929 1341 1300 +3 2929 1300 1293 +3 3323 3883 2519 +3 1300 2519 3207 +3 1965 3676 3684 +3 3625 1978 2026 +3 383 3725 380 +3 383 380 3907 +3 1936 3914 3676 +3 3674 3438 3918 +3 3914 1936 3822 +3 2026 2232 3625 +3 3438 3914 3323 +3 3684 3676 3345 +3 3342 3674 3769 +3 3174 3684 3084 +3 3769 3918 1604 +3 3084 3684 3342 +3 3084 3342 3769 +3 3676 1965 1936 +3 3769 3674 3918 +3 3918 1601 1604 +3 1515 2163 1510 +3 3781 3174 142 +3 138 142 3955 +3 2916 21 2136 +3 2916 2136 2931 +3 2134 2136 2893 +3 2106 1940 1978 +3 1978 3625 2106 +3 3625 3624 2106 +3 643 3985 633 +3 633 2814 641 +3 2070 35 3985 +3 1782 1861 3653 +3 579 3839 3988 +3 3992 1745 1747 +3 3136 34 1745 +3 4001 547 556 +3 2088 4002 33 +3 4002 1761 1763 +3 4006 1248 1761 +3 3835 3834 4007 +3 3701 1786 1784 +3 1798 4012 1805 +3 1798 4014 4012 +3 4014 1798 3909 +3 4012 1760 1992 +3 4022 4021 4020 +3 3465 3467 4023 +3 643 2070 3985 +3 1054 1963 643 +3 643 1963 1966 +3 1054 3078 2062 +3 3761 781 3248 +3 3078 3744 2417 +3 4051 3328 3529 +3 1082 4053 2059 +3 4055 3099 2038 +3 2038 3099 1441 +3 2417 1080 1082 +3 2139 2141 3524 +3 4064 4063 3467 +3 2078 2143 1786 +3 3701 2078 1786 +3 1239 2082 3701 +3 2088 2163 4006 +3 613 3559 3248 +3 4001 3718 547 +3 3574 4076 1436 +3 4084 3744 3328 +3 4020 4021 4085 +3 4055 4086 3099 +3 4087 4022 4020 +3 1080 4053 1082 +3 4091 4087 613 +3 3524 556 547 +3 3577 4100 3496 +3 4063 3524 3467 +3 4002 4006 1761 +3 2163 2082 1239 +3 1805 4012 1992 +3 2082 2078 3701 +3 4014 3909 3465 +3 3577 3574 1436 +3 3467 3524 4023 +3 4023 1181 268 +3 3992 3136 1745 +3 4130 4022 4127 +3 3787 3761 3481 +3 3236 579 3988 +3 3637 588 579 +3 2062 1963 1054 +3 1782 3653 3839 +3 1436 4146 1442 +3 2814 3653 641 +3 2062 3078 2417 +3 3538 836 4020 +3 1054 764 3078 +3 781 3787 588 +3 3196 3481 3761 +3 4127 4091 781 +3 787 3248 781 +3 836 547 3718 +3 3744 4084 2417 +3 556 1444 4001 +3 1248 1239 1784 +3 4001 1444 3212 +3 3559 613 619 +3 4084 3328 4051 +3 4180 4064 3909 +3 4063 2139 3524 +3 3909 3467 3465 +3 4064 3467 3909 +3 4100 4014 3496 +3 3834 3835 4076 +3 4063 4064 4180 +3 2143 2139 4063 +3 33 4002 1763 +3 2088 4006 4002 +3 1784 1239 3701 +3 4006 2163 1239 +3 619 3583 3559 +3 3577 4207 4100 +3 3496 3574 3577 +3 3496 4014 3465 +3 1760 4207 3449 +3 3574 3496 268 +3 3449 4207 3577 +3 3583 619 836 +3 2091 1760 3449 +3 4240 1181 4085 +3 4023 3538 1181 +3 3574 268 3834 +3 3212 4086 4051 +3 4086 3212 3099 +3 1442 3992 1747 +3 4146 4250 3992 +3 4146 1436 4076 +3 4127 4251 4130 +3 3992 1442 4146 +3 1442 3449 1436 +3 1441 3212 1444 +3 4076 3574 3834 +3 2417 4084 1080 +3 4130 4251 4250 +3 3988 34 3136 +3 4251 3136 4250 +3 3136 3992 4250 +3 3236 3136 4251 +3 3136 3236 3988 +3 781 3637 3236 +3 588 3787 579 +3 781 588 3637 +3 781 3761 3787 +3 781 3236 4127 +3 3637 579 3236 +3 4020 1181 3538 +3 4130 4076 3835 +3 836 3538 547 +3 4022 3835 4021 +3 4240 4085 4007 +3 4021 3835 4085 +3 268 3465 4023 +3 268 4240 3834 +3 4085 3835 4007 +3 3834 4240 4007 +3 268 1181 4240 +3 3248 787 613 +3 3996 641 3649 +3 1181 4020 4085 +3 3185 641 3996 +3 619 4087 4020 +3 641 3185 633 +3 4091 787 781 +3 4091 613 787 +3 3583 3328 3559 +3 3548 3744 3078 +3 3449 1442 2091 +3 759 764 3185 +3 3649 1782 3787 +3 3839 579 3787 +3 3787 1782 3839 +3 2091 1442 1747 +3 3787 3996 3649 +3 3787 3481 3996 +3 641 1861 3649 +3 641 3653 1861 +3 3185 1054 633 +3 1966 2070 643 +3 3577 1436 3449 +3 1861 1782 3649 +3 633 1054 643 +3 764 759 3078 +3 3185 764 1054 +3 3185 3996 759 +3 3481 3548 3996 +3 3548 3078 759 +3 3996 3548 759 +3 3481 3744 3548 +3 4022 4130 3835 +3 4001 3583 3718 +3 3481 3328 3744 +3 3529 3212 4051 +3 3328 3196 3559 +3 3328 3481 3196 +3 4001 3529 3328 +3 4001 3212 3529 +3 4091 4127 4087 +3 3583 4001 3328 +3 3583 836 3718 +3 3538 3524 547 +3 3465 268 3496 +3 619 4020 836 +3 3099 3212 1441 +3 613 4087 619 +3 4051 4086 4398 +3 2038 1441 2036 +3 4398 4084 4051 +3 3196 3248 3559 +3 4023 3524 3538 +3 2141 556 3524 +3 1441 1444 2036 +3 4146 4130 4250 +3 4022 4087 4127 +3 2058 2038 2036 +3 2058 4055 2038 +3 4398 1080 4084 +3 3248 3196 3761 +3 2059 4053 2058 +3 1239 1248 4006 +3 4053 4055 2058 +3 4053 4086 4055 +3 4053 4398 4086 +3 4398 4053 1080 +3 1786 3909 1798 +3 4012 4207 1760 +3 4251 4127 3236 +3 4012 4100 4207 +3 4012 4014 4100 +3 4076 4130 4146 +3 4180 1786 4063 +3 4063 1786 2143 +3 3909 1786 4180 +3 2024 4419 2886 +3 2377 2381 3953 +3 2844 1868 1833 +3 4043 2381 4049 +3 4394 57 548 +3 4432 341 4430 +3 2381 3204 2534 +3 4441 1151 4437 +3 80 4444 4442 +3 4446 186 4445 +3 4239 1029 2844 +3 4212 4239 2846 +3 4448 4212 2848 +3 3031 4008 4446 +3 4454 4453 4452 +3 2855 4455 4454 +3 4049 4456 4043 +3 1029 4460 1868 +3 3059 2534 3204 +3 4463 4462 4461 +3 1853 1850 4462 +3 82 83 4464 +3 4467 152 4466 +3 152 4469 4468 +3 4470 62 3512 +3 4419 2024 4471 +3 4472 1853 4463 +3 1713 2031 1331 +3 993 4420 1004 +3 1331 4480 1713 +3 1331 342 4480 +3 2361 3512 1331 +3 4419 4450 4324 +3 3799 61 4480 +3 2660 204 184 +3 3204 4491 3059 +3 4497 4496 4495 +3 4469 152 4467 +3 1558 1394 1137 +3 4470 3512 3757 +3 2031 1713 2035 +3 3031 184 204 +3 1554 1558 1267 +3 158 4512 4008 +3 4008 3031 204 +3 4206 2846 4215 +3 4430 341 548 +3 993 1004 1283 +3 2855 1151 4441 +3 3132 4495 3144 +3 2964 2377 2965 +3 1868 2844 1029 +3 4462 4453 4461 +3 553 1629 4530 +3 1630 1267 4533 +3 4466 4536 4467 +3 4043 4537 3953 +3 311 3954 152 +3 4496 4541 4540 +3 4008 204 158 +3 311 4468 158 +3 3954 311 158 +3 1820 62 4470 +3 3204 2377 2964 +3 4543 62 4469 +3 4497 3132 4446 +3 1629 553 1084 +3 2035 2886 2031 +3 1558 1554 4450 +3 1084 1004 3115 +3 3512 342 1331 +3 4324 1554 1086 +3 4471 4450 4419 +3 2368 4557 2361 +3 1137 4559 4558 +3 3144 3145 4558 +3 3132 4560 2611 +3 4533 3567 1630 +3 4008 4512 4562 +3 3132 4497 4495 +3 2965 2420 2760 +3 421 2848 4206 +3 2844 2846 4239 +3 1833 57 4414 +3 4215 2844 1833 +3 204 2660 2760 +3 341 4394 548 +3 1833 4414 4215 +3 1833 1868 3202 +3 57 1833 3202 +3 57 3202 4460 +3 4206 4300 421 +3 3202 1868 4460 +3 4581 4212 4448 +3 4581 4448 4452 +3 2760 158 204 +3 4445 3031 4446 +3 4215 2846 2844 +3 1558 1137 1267 +3 2848 2846 4206 +3 4300 4206 4414 +3 515 4437 421 +3 4437 4600 4441 +3 2848 1151 4448 +3 1151 421 4437 +3 1301 4541 4512 +3 4463 1853 4462 +3 4461 4454 4491 +3 4461 4491 4606 +3 4453 4454 4461 +3 4463 4461 4606 +3 515 4432 1188 +3 2534 4049 2381 +3 1151 2848 421 +3 4437 515 1188 +3 4414 57 4394 +3 4414 4394 4300 +3 4394 341 515 +3 4215 4414 4206 +3 515 341 4432 +3 4600 4437 1188 +3 1283 3757 993 +3 2965 4472 2964 +3 4606 4491 2964 +3 158 2760 3954 +3 4464 83 4537 +3 4464 4537 4043 +3 1267 1137 4558 +3 2381 4043 3953 +3 1267 1630 1554 +3 3204 2381 2377 +3 1630 1629 1086 +3 2855 4454 4452 +3 4444 4466 4442 +3 82 4442 83 +3 4536 62 4543 +3 4536 4543 4467 +3 62 1820 4469 +3 4543 4469 4467 +3 4444 4536 4466 +3 4442 4466 83 +3 4541 4562 4512 +3 2377 3953 2420 +3 2420 3954 2760 +3 4541 4497 4562 +3 4512 158 4468 +3 4530 3145 4496 +3 184 4445 186 +3 3031 4445 184 +3 4562 4446 4008 +3 2420 2965 2377 +3 4541 1301 4540 +3 4496 4540 4530 +3 152 3953 4537 +3 4468 4469 860 +3 1301 4512 4468 +3 1850 4472 4560 +3 184 2611 2660 +3 4468 860 1301 +3 1283 4652 3757 +3 860 4469 1820 +3 1274 1301 4652 +3 4470 4652 860 +3 2886 2368 2031 +3 4323 4324 1086 +3 4450 4471 4387 +3 4450 1554 4324 +3 4472 4463 4606 +3 1394 1558 4387 +3 4468 311 152 +3 4470 3757 4652 +3 4652 1301 860 +3 4470 860 1820 +3 3512 4420 993 +3 3512 993 3757 +3 4323 3115 4557 +3 4387 1558 4450 +3 4323 1086 1084 +3 2886 2035 2024 +3 3115 3113 4557 +3 4323 4651 4324 +3 1004 4420 3115 +3 1084 3115 4323 +3 4420 3512 3113 +3 4420 3113 3115 +3 3113 3512 2361 +3 3113 2361 4557 +3 2031 2465 1331 +3 1331 2465 2361 +3 2361 2465 2368 +3 4557 4651 4323 +3 4419 4324 4651 +3 2368 4651 4557 +3 4651 2886 4419 +3 4472 1850 1853 +3 4651 2368 2886 +3 3953 152 3954 +3 2368 2465 2031 +3 2660 4560 4472 +3 3145 4495 4496 +3 3954 2420 3953 +3 4558 4533 1267 +3 1629 1630 3567 +3 4300 4394 515 +3 4472 4606 2964 +3 553 1283 1004 +3 4530 4540 553 +3 4540 1283 553 +3 2964 4491 3204 +3 4540 1274 1283 +3 4540 1301 1274 +3 1283 1274 4652 +3 3145 3567 4533 +3 4559 1132 4560 +3 3145 4530 3567 +3 1086 1554 1630 +3 4446 4562 4497 +3 1084 1086 1629 +3 4472 2760 2660 +3 3132 2611 186 +3 2611 4560 2660 +3 186 2611 184 +3 186 4446 3132 +3 152 4537 83 +3 83 4466 152 +3 4497 4541 4496 +3 3145 3144 4495 +3 1004 1084 553 +3 3567 4530 1629 +3 4558 4559 3144 +3 515 421 4300 +3 3132 3144 4559 +3 3145 4533 4558 +3 4559 4560 3132 +3 1137 1132 4559 +3 4472 2965 2760 +3 342 61 3799 +3 342 3799 4480 +3 4766 1188 4432 +3 4432 4430 4766 +3 1188 4766 4600 +3 4456 80 4464 +3 4464 4043 4456 +3 4455 3059 4491 +3 80 4442 82 +3 80 82 4464 +3 2846 2848 4212 +3 1151 2855 4452 +3 4452 4448 1151 +3 1394 1132 1137 +3 4491 4454 4455 +3 2423 4013 2895 +3 2027 1962 4771 +3 2689 3951 3947 +3 4581 4776 4448 +3 3642 2434 2423 +3 3642 2432 2434 +3 2895 2531 3642 +3 2530 2464 2444 +3 2244 1797 1940 +3 3084 3931 142 +3 3684 3175 3791 +3 3654 1962 2027 +3 2979 3947 4783 +3 3684 3093 3082 +3 530 2689 2687 +3 4784 530 3138 +3 2697 2183 4614 +3 4581 4448 4786 +3 2669 2422 2423 +3 3325 3914 4167 +3 2027 3807 3654 +3 2470 2444 2464 +3 1797 1431 2697 +3 3654 277 1962 +3 182 4331 418 +3 1471 2115 1875 +3 1475 1471 1875 +3 423 200 188 +3 2480 2183 1533 +3 3863 3883 3914 +3 423 418 1318 +3 3677 2434 2432 +3 1465 2115 1471 +3 1465 2183 2697 +3 2450 4818 2492 +3 3931 3084 3082 +3 4336 1318 418 +3 2470 3713 2444 +3 2669 2492 4822 +3 2913 2895 4013 +3 4818 2450 4771 +3 3007 1940 2012 +3 4828 4581 4786 +3 4786 4448 4784 +3 4784 3138 4822 +3 2689 3947 2687 +3 3325 215 3093 +3 4336 3325 2480 +3 2432 2012 3677 +3 2531 3007 2432 +3 2566 3873 2205 +3 200 423 1475 +3 2205 3873 3874 +3 2564 2470 2824 +3 4336 418 4331 +3 1471 2183 1465 +3 2205 3874 2176 +3 2012 3873 2530 +3 2183 4167 2176 +3 2824 2530 4384 +3 188 418 423 +3 1533 2183 1471 +3 3883 4167 3914 +3 182 418 188 +3 401 4336 4331 +3 401 4331 182 +3 3713 2450 2444 +3 4822 4786 4784 +3 2669 3138 2422 +3 3138 2687 2422 +3 4776 4581 4828 +3 4786 4822 4818 +3 4771 1962 4859 +3 4859 4776 4771 +3 4771 4828 4786 +3 4786 4818 4771 +3 4828 4771 4776 +3 3807 2027 3863 +3 3883 2205 2176 +3 3325 2183 2480 +3 2564 3873 2566 +3 2492 4818 4822 +3 4864 2450 2492 +3 2422 2687 2666 +3 2666 2687 3947 +3 4822 3138 2669 +3 2492 2669 4864 +3 2979 2666 3947 +3 2450 4864 3677 +3 4132 4864 2669 +3 2444 2450 3677 +3 4134 4864 4132 +3 2423 4134 4132 +3 3093 3914 3325 +3 1940 3007 2244 +3 2531 2895 3036 +3 142 3175 3084 +3 2895 3642 2423 +3 2432 3642 2531 +3 2913 4013 32 +3 2244 2229 1797 +3 3007 2531 3036 +3 3874 2012 1940 +3 3873 4384 2530 +3 1797 4614 1940 +3 4134 3677 4864 +3 3677 2012 2530 +3 3677 2530 2444 +3 3873 2564 4384 +3 2530 2824 2464 +3 3863 2470 2564 +3 3863 2564 2566 +3 2470 2464 2824 +3 2564 2824 4384 +3 4134 2423 2434 +3 4614 3874 1940 +3 3791 3676 3684 +3 4167 3883 2176 +3 3863 2566 2205 +3 3863 2205 3883 +3 3873 2012 3874 +3 2176 3874 4614 +3 2183 2176 4614 +3 1475 2130 200 +3 1461 1431 1797 +3 3645 277 3654 +3 2423 4132 2669 +3 2432 3007 2012 +3 2229 1431 1461 +3 2229 1461 1797 +3 423 1533 1475 +3 2130 1475 1875 +3 423 1526 1533 +3 1475 1533 1471 +3 2480 1533 1526 +3 1318 1526 423 +3 2434 3677 4134 +3 3325 4167 2183 +3 3863 3914 3807 +3 1318 2480 1526 +3 3931 3666 165 +3 3914 3093 3676 +3 215 3325 4336 +3 215 401 192 +3 215 4336 401 +3 192 401 182 +3 2470 3863 2027 +3 3175 3645 3654 +3 3807 3791 3654 +3 2027 3713 2470 +3 3791 3807 3676 +3 2422 2666 2423 +3 3654 3791 3175 +3 3676 3807 3914 +3 4486 3175 142 +3 4486 277 3645 +3 4486 3645 3175 +3 2480 1318 4336 +3 4614 1797 2697 +3 3175 3684 3084 +3 3082 3666 3931 +3 3084 3684 3082 +3 2130 33 200 +3 3684 3676 3093 +3 3713 2027 4771 +3 3082 3093 3666 +3 4771 2450 3713 +3 3951 37 4783 +3 3951 4783 3947 +3 530 2687 3138 +3 4013 2423 2666 +3 2666 2979 32 +3 2666 32 4013 +3 215 165 3666 +3 215 3666 3093 +3 1383 4907 4505 +3 2502 4649 2476 +3 1383 43 4907 +3 2797 4801 2811 +3 4244 4655 4089 +3 967 3806 447 +3 2811 2605 715 +3 2468 3396 3587 +3 765 2811 1351 +3 4752 840 4912 +3 1045 1383 4505 +3 967 664 4505 +3 4451 453 4475 +3 447 4655 453 +3 4476 4224 1664 +3 4224 1917 1734 +3 1319 4914 1210 +3 4914 1319 4915 +3 4473 594 1210 +3 1062 2172 3289 +3 2605 1563 724 +3 724 1563 1548 +3 2605 958 1563 +3 4801 3131 2811 +3 840 4752 2733 +3 3289 1094 1062 +3 1094 3289 4792 +3 4925 1376 3019 +3 1890 594 2288 +3 4801 1947 1206 +3 1269 2503 810 +3 4761 4925 3020 +3 4089 2725 2733 +3 1426 4929 4915 +3 1426 1382 4929 +3 2291 2288 4473 +3 4912 1426 4629 +3 1736 1917 1426 +3 44 1679 2733 +3 44 4649 1679 +3 4629 1426 1917 +3 2291 4929 2288 +3 4934 4089 4655 +3 1361 4451 1664 +3 4244 4629 4141 +3 3020 3023 4761 +3 2443 605 3396 +3 724 1548 2636 +3 2476 4649 605 +3 589 1890 4761 +3 3019 1426 3020 +3 4929 1376 2288 +3 3131 958 2605 +3 4760 3023 765 +3 3587 2168 2468 +3 1278 3396 2468 +3 3289 2172 3287 +3 1206 970 4801 +3 1269 2443 3396 +3 605 4649 3396 +3 1269 1041 2443 +3 2476 810 2502 +3 1041 605 2443 +3 1041 1269 810 +3 1278 3592 4948 +3 771 765 3023 +3 2172 2168 3287 +3 3135 658 1947 +3 1947 4801 3135 +3 765 1351 4760 +3 4939 4912 810 +3 1648 1679 2502 +3 4752 4912 4629 +3 810 2503 771 +3 1041 2476 605 +3 1041 810 2476 +3 1269 1278 4948 +3 1679 4649 2502 +3 810 840 2502 +3 2733 1679 1648 +3 840 2733 1648 +3 2725 4934 44 +3 2502 840 1648 +3 2168 1947 658 +3 4657 4089 2733 +3 4629 4244 4089 +3 1278 1269 3396 +3 4629 4089 4657 +3 2733 2725 44 +3 4089 4934 2725 +3 4934 4655 3806 +3 4244 4141 4655 +3 1361 664 4451 +3 3806 4655 447 +3 664 967 447 +3 4505 3806 967 +3 1045 664 1361 +3 1917 4141 4629 +3 453 664 447 +3 1045 4505 664 +3 664 453 4451 +3 4655 4141 453 +3 4451 4475 4476 +3 453 4141 4475 +3 4657 4752 4629 +3 4657 2733 4752 +3 4451 4476 1664 +3 4475 4141 4224 +3 1664 4224 1734 +3 4476 4475 4224 +3 4473 2288 594 +3 3023 3020 4939 +3 2172 1062 1206 +3 2288 1376 1890 +3 1376 1382 3019 +3 4939 3020 4912 +3 1210 4914 2291 +3 4915 4929 4914 +3 1210 2291 4473 +3 4914 4929 2291 +3 1734 1917 1736 +3 4224 4141 1917 +3 4925 3019 3020 +3 1382 1426 3019 +3 4761 1890 4925 +3 1890 1376 4925 +3 4912 840 810 +3 2168 2172 1947 +3 1890 589 594 +3 2605 724 715 +3 1548 589 4760 +3 1376 4929 1382 +3 715 724 2636 +3 2636 4760 1351 +3 2636 1548 4760 +3 658 3135 4948 +3 3131 2605 2811 +3 715 1351 2811 +3 970 958 3131 +3 2797 3135 4801 +3 1351 715 2636 +3 771 2797 765 +3 1278 647 3592 +3 4939 771 3023 +3 2797 2811 765 +3 647 1278 2468 +3 810 771 4939 +3 2503 2797 771 +3 2468 658 647 +3 3135 2797 2503 +3 647 4948 3592 +3 647 658 4948 +3 4948 3135 2503 +3 3131 4801 970 +3 2468 2168 658 +3 3587 3287 2168 +3 2503 1269 4948 +3 2172 1206 1947 +3 4792 3289 3287 +3 4792 1091 1094 +3 47 4792 3287 +3 47 1091 4792 +3 4761 4760 589 +3 1736 4915 1319 +3 4915 1736 1426 +3 4760 4761 3023 +3 1426 4912 3020 +3 4194 3700 3859 +3 4522 4880 4719 +3 2978 4719 19 +3 2978 3035 4521 +3 4521 3035 3040 +3 4522 4521 3040 +3 2279 4519 4903 +3 738 541 1174 +3 4270 2872 2522 +3 1564 2732 3043 +3 4111 4266 2438 +3 1430 4929 4944 +3 4877 3040 3215 +3 4903 3215 3406 +3 2732 1564 1824 +3 3406 591 2357 +3 2815 3724 3698 +3 4903 2357 2279 +3 3698 2823 2815 +3 4914 4936 1319 +3 1382 4929 1430 +3 2740 2652 3097 +3 4266 4270 2285 +3 3668 1372 923 +3 1683 1370 3090 +3 2652 975 3097 +3 2732 2649 2652 +3 549 4337 4327 +3 1419 23 18 +3 2815 727 3724 +3 2282 3064 3069 +3 2872 4327 2522 +3 591 3064 2285 +3 1333 4270 564 +3 3698 3700 2823 +3 3700 2821 2823 +3 4944 3072 1693 +3 4517 4490 3843 +3 4938 1873 1824 +3 3668 3611 4936 +3 1370 3019 3090 +3 1372 3668 4938 +3 3090 948 1683 +3 4938 3783 1372 +3 975 948 3097 +3 2282 2285 3064 +3 2357 2522 4327 +3 2732 1824 3493 +3 4194 4490 3990 +3 1767 4510 4337 +3 2522 2357 597 +3 2815 541 738 +3 2278 2279 4510 +3 4327 541 549 +3 4987 1419 18 +3 3724 1003 1460 +3 4517 4987 18 +3 862 4987 3844 +3 4990 4517 18 +3 3843 4987 4517 +3 1460 3908 3724 +3 4194 3990 3970 +3 3783 4938 1824 +3 4369 1432 1435 +3 4369 4370 1372 +3 23 1564 3043 +3 1556 4933 4889 +3 1419 4933 23 +3 2282 2438 4266 +3 4944 4929 4914 +3 4929 1382 4936 +3 3021 1430 1693 +3 3021 1382 1430 +3 3611 3668 923 +3 2522 2285 4270 +3 1382 1370 4936 +3 3510 4933 1419 +3 3566 975 2649 +3 1683 948 975 +3 2740 2732 2652 +3 3593 3566 2649 +3 3043 2732 2740 +3 2649 975 2652 +3 3493 1873 1683 +3 3681 2649 2732 +3 3019 1382 3021 +3 1319 689 4330 +3 4936 4914 4929 +3 689 1319 4178 +3 4914 4330 2290 +3 1693 1430 4944 +3 4178 1003 727 +3 4330 4914 1319 +3 2290 4944 4914 +3 3070 3072 2290 +3 1382 3019 1370 +3 4111 4330 689 +3 4936 3611 1319 +3 4944 2290 3072 +3 564 4111 689 +3 2438 4330 4111 +3 4337 2279 2357 +3 4519 2279 2278 +3 597 2357 591 +3 2872 4270 1333 +3 2279 4337 4510 +3 1767 2823 2821 +3 5013 4519 2278 +3 4519 4880 4522 +3 4903 4877 3215 +3 4519 5013 4880 +3 4877 4522 3040 +3 4877 4903 4522 +3 4903 4519 4522 +3 3700 4194 3970 +3 4719 4521 4522 +3 4719 2978 4521 +3 2357 4327 4337 +3 541 2815 549 +3 738 1174 3005 +3 541 2872 1174 +3 738 3005 727 +3 1174 2872 1333 +3 3005 1333 727 +3 3005 1174 1333 +3 4178 1333 564 +3 4889 3511 2738 +3 2285 2282 4266 +3 3069 3070 2282 +3 727 1333 4178 +3 4266 4111 564 +3 727 1003 3724 +3 564 689 4178 +3 3511 4889 4933 +3 3611 923 1460 +3 3844 1435 862 +3 1460 1003 4178 +3 3908 1460 923 +3 1460 4178 3611 +3 3908 3698 3724 +3 4270 4266 564 +3 3859 3700 3698 +3 3970 2821 3700 +3 549 2823 1767 +3 2823 549 2815 +3 738 727 2815 +3 3844 4987 3843 +3 4990 3990 4490 +3 1370 1683 3668 +3 3859 4902 4194 +3 3908 3859 3698 +3 3908 4370 3859 +3 4370 4902 3859 +3 4370 4369 4902 +3 2438 2282 3070 +3 4987 862 1419 +3 4369 3844 4902 +3 3843 4902 3844 +3 4369 1372 1432 +3 2285 2522 597 +3 4370 923 1372 +3 4370 3908 923 +3 4902 3843 4490 +3 2738 3938 2735 +3 3511 4933 3510 +3 2285 597 591 +3 862 3510 1419 +3 1435 1432 3511 +3 862 1435 3510 +3 2357 4903 3406 +3 1435 3511 3510 +3 1556 1564 23 +3 1432 3938 3511 +3 1432 1372 3938 +3 4938 3668 1683 +3 4490 4194 4902 +3 1683 1873 4938 +3 1683 975 3566 +3 4337 549 1767 +3 1564 2735 3783 +3 3681 3493 3593 +3 1824 1873 3493 +3 3493 3681 2732 +3 3593 2649 3681 +3 3493 3566 3593 +3 3493 1683 3566 +3 1556 2735 1564 +3 3783 1824 1564 +3 3938 3783 2735 +3 3938 1372 3783 +3 4490 4517 4990 +3 3511 3938 2738 +3 4327 2872 541 +3 2738 2735 4889 +3 2735 1556 4889 +3 23 4933 1556 +3 2290 2438 3070 +3 2438 2290 4330 +3 4178 1319 3611 +3 1435 3844 4369 +3 3668 4936 1370 +3 4551 4719 4880 +3 4880 5013 4568 +3 4551 19 4719 +3 5013 2278 4569 +3 4086 4055 3178 +3 3805 3827 5046 +3 2696 2821 3970 +3 2405 3970 3990 +3 1019 2295 1015 +3 5046 5040 3575 +3 4130 4250 3137 +3 2437 2446 4313 +3 3797 4563 4591 +3 4087 4022 3141 +3 390 5046 3575 +3 3240 4130 3137 +3 4516 802 4399 +3 2446 2437 18 +3 4568 4551 4880 +3 4569 4568 5013 +3 4621 4569 2278 +3 4728 4341 1075 +3 672 666 3780 +3 4621 672 3780 +3 666 811 2956 +3 4416 776 624 +3 3655 4416 3759 +3 1040 2802 4538 +3 4055 4086 1309 +3 3583 3270 3327 +3 4439 4087 624 +3 3519 4584 1191 +3 3519 3518 327 +3 332 3941 4802 +3 4802 3797 4591 +3 3461 508 390 +3 3518 332 327 +3 4102 3779 2404 +3 18 2437 4990 +3 811 666 3094 +3 3140 3141 4022 +3 502 3541 4368 +3 3140 3240 3827 +3 3461 3941 3450 +3 3797 3952 4564 +3 4584 3519 4612 +3 4830 3450 3518 +3 4612 3519 327 +3 1626 17 838 +3 3141 3140 4368 +3 3797 390 3575 +3 4130 4022 4515 +3 3797 3575 17 +3 4942 4363 3805 +3 3797 3941 3461 +3 3423 4416 3425 +3 2295 1019 672 +3 1175 4335 4515 +3 1175 3655 4335 +3 4250 4130 4516 +3 4022 4087 4515 +3 3779 2899 2404 +3 3240 5046 3827 +3 3094 1179 3794 +3 2899 3779 1182 +3 4515 4081 1175 +3 5046 390 3805 +3 3655 776 4416 +3 460 3780 666 +3 871 4368 3541 +3 3827 3805 4363 +3 4416 3423 3759 +3 3541 3519 864 +3 864 3519 1191 +3 4830 3518 3519 +3 4341 4322 1040 +3 1075 4341 1040 +3 3211 4341 4728 +3 4439 4515 4087 +3 4001 3583 3327 +3 3941 3518 3450 +3 677 3270 3583 +3 3270 677 871 +3 327 332 4802 +3 3518 3941 332 +3 4591 327 4802 +3 4591 4612 327 +3 4564 3952 1626 +3 3797 17 3952 +3 4564 1626 838 +3 3952 17 1626 +3 4563 4564 838 +3 4563 3797 4564 +3 4081 4439 630 +3 4830 3519 3541 +3 4830 502 508 +3 4516 4515 4335 +3 3827 4362 4899 +3 4362 502 4368 +3 4362 4368 4899 +3 4362 4942 502 +3 508 502 4942 +3 4830 3541 502 +3 4362 4363 4942 +3 4362 3827 4363 +3 3805 508 4942 +3 3779 4102 905 +3 4022 4130 3240 +3 390 3797 3461 +3 3425 619 3583 +3 508 3805 390 +3 4399 4313 2446 +3 4335 802 4516 +3 3140 4022 3240 +3 2696 1015 2821 +3 4899 3140 3827 +3 4899 4368 3140 +3 4250 4516 4399 +3 3941 3797 4802 +3 4335 4555 802 +3 4555 795 802 +3 4555 4335 795 +3 795 4313 802 +3 4313 4102 2405 +3 905 1179 3779 +3 2295 672 4621 +3 4102 2404 2405 +3 4102 4313 795 +3 3794 1179 905 +3 905 3655 3794 +3 1175 630 3655 +3 5040 3240 3137 +3 4087 3141 619 +3 1175 4081 630 +3 4515 4439 4081 +3 4368 871 677 +3 871 3541 864 +3 4001 4916 4538 +3 776 4439 624 +3 3759 3418 3794 +3 624 4087 619 +3 4916 4001 3212 +3 818 2956 811 +3 508 3450 4830 +3 3759 3794 3655 +3 624 3425 4416 +3 630 776 3655 +3 3094 1182 1179 +3 3425 4001 4538 +3 3583 4001 3425 +3 3779 1179 1182 +3 1019 2899 1182 +3 2696 2404 2899 +3 3970 2405 2404 +3 2404 2696 3970 +3 2899 1019 2696 +3 3094 1019 1182 +3 2821 1015 1767 +3 3423 4538 3418 +3 3418 4538 2802 +3 1019 666 672 +3 3450 508 3461 +3 2295 1767 1015 +3 3418 818 3794 +3 666 1019 3094 +3 818 811 3094 +3 2956 2802 460 +3 3794 818 3094 +3 3418 2802 2956 +3 666 2956 460 +3 818 3418 2956 +3 3270 3492 3327 +3 5046 3240 5040 +3 3759 3423 3418 +3 3211 3178 4341 +3 1414 3327 1191 +3 776 630 4439 +3 3212 3327 1414 +3 2437 3990 4990 +3 4916 4728 4538 +3 2437 2405 3990 +3 3425 4538 3423 +3 3492 3270 871 +3 3492 871 864 +3 677 3141 4368 +3 1015 2696 1019 +3 619 3141 677 +3 3583 619 677 +3 905 4335 3655 +3 3425 624 619 +3 3327 864 1191 +3 4313 2405 2437 +3 3492 864 3327 +3 4916 3212 3211 +3 4001 3327 3212 +3 3212 4086 3211 +3 1309 1414 4055 +3 905 795 4335 +3 3211 4728 4916 +3 4538 1075 1040 +3 4538 4728 1075 +3 3178 3211 4086 +3 3178 4322 4341 +3 3212 1309 4086 +3 3212 1414 1309 +3 2278 2295 4621 +3 2295 4510 1767 +3 2295 2278 4510 +3 4515 4516 4130 +3 4313 4399 802 +3 795 905 4102 +3 4932 4874 4504 +3 2507 1038 4975 +3 4275 35 4874 +3 810 2495 2476 +3 4915 1921 1426 +3 2476 4680 2056 +3 3726 4890 4654 +3 3923 3924 4890 +3 605 1034 2476 +3 4142 4630 1921 +3 1038 810 1034 +3 754 1663 3179 +3 3274 4975 1220 +3 3274 1220 653 +3 4788 1214 4299 +3 3179 3091 4964 +3 4299 1214 1184 +3 4298 1184 1178 +3 2379 1178 1933 +3 2379 1933 39 +3 4932 4275 4874 +3 4423 3923 1680 +3 4423 676 4267 +3 671 4056 4498 +3 4914 4330 4915 +3 4477 4056 4142 +3 4144 4481 4248 +3 1426 1370 4936 +3 4788 2709 2789 +3 4937 4759 1738 +3 4759 3561 1738 +3 4848 3561 4759 +3 1701 2602 2646 +3 2646 2602 4295 +3 4299 2771 4788 +3 4298 4299 1184 +3 2379 4298 1178 +3 4656 2834 4703 +3 1038 2507 810 +3 4481 4915 4330 +3 653 4975 3274 +3 605 2476 2056 +3 1426 4912 3091 +3 1426 3091 3090 +3 2834 4851 560 +3 4853 2662 4088 +3 4291 4142 4654 +3 4890 3726 3923 +3 4654 4056 3726 +3 1680 3923 3726 +3 3090 4937 1727 +3 3091 3179 4759 +3 1921 4144 4142 +3 4915 1426 4936 +3 4144 1921 4481 +3 1583 4703 2834 +3 1426 3090 1370 +3 2709 4788 2771 +3 4936 1727 2326 +3 2326 2291 4936 +3 1220 4975 1038 +3 754 3179 4964 +3 1214 4788 3047 +3 2646 4295 4294 +3 3047 2799 2507 +3 2709 2771 4295 +3 810 1583 2495 +3 1583 2834 729 +3 2495 729 560 +3 3924 4423 4504 +3 2476 2495 4680 +3 1583 729 2495 +3 2056 4680 1395 +3 2495 560 4680 +3 1034 810 2476 +3 1981 3047 4975 +3 1727 4936 1370 +3 810 2507 754 +3 4330 4914 2518 +3 4912 1583 810 +3 4890 4853 4088 +3 4703 4912 4630 +3 4851 2834 2662 +3 4703 4630 4656 +3 729 2834 560 +3 2662 4853 4851 +3 4656 4088 2834 +3 4656 4630 4088 +3 4890 4291 4654 +3 4088 4630 4291 +3 4890 4088 4291 +3 2662 2834 4088 +3 4408 4477 4142 +3 4291 4630 4142 +3 671 1680 3726 +3 1680 671 4423 +3 3923 4423 3924 +3 4267 4275 4932 +3 676 671 4277 +3 4654 4142 4056 +3 4056 671 3726 +3 676 4423 671 +3 4277 4498 4276 +3 4277 671 4498 +3 4498 4477 4408 +3 4498 4056 4477 +3 4276 4408 4144 +3 4276 4498 4408 +3 4276 4144 4248 +3 4408 4142 4144 +3 4473 2326 1895 +3 1738 1895 4937 +3 3091 4937 3090 +3 2326 1727 1895 +3 4914 4915 4936 +3 2291 2326 4473 +3 2291 4914 4936 +3 2291 2518 4914 +3 1895 1738 4473 +3 4473 2518 2291 +3 4759 4937 3091 +3 3090 1727 1370 +3 3047 1981 1214 +3 1895 1727 4937 +3 4964 3091 4912 +3 4630 1426 1921 +3 3179 4848 4759 +3 810 4964 4912 +3 4912 1426 4630 +3 1663 4848 3179 +3 891 720 2638 +3 2602 2709 4295 +3 2602 2789 2709 +3 3561 2646 4294 +3 3561 1701 2646 +3 720 2602 1701 +3 720 2789 2602 +3 4848 2638 3561 +3 3561 2638 1701 +3 2638 720 1701 +3 4423 4932 4504 +3 891 2638 4848 +3 4932 4423 4267 +3 1981 4975 653 +3 3047 2507 4975 +3 2799 1663 754 +3 2799 4788 2789 +3 810 754 4964 +3 2507 2799 754 +3 4703 1583 4912 +3 4788 2799 3047 +3 1663 891 4848 +3 1663 2799 2789 +3 720 891 2789 +3 891 1663 2789 +3 4851 4680 560 +3 4680 36 1395 +3 4680 4851 36 +3 4915 4481 1921 +3 1746 1748 1056 +3 1249 612 1257 +3 694 1762 703 +3 450 455 1750 +3 1746 1056 606 +3 458 249 255 +3 629 464 255 +3 694 701 1078 +3 1078 701 732 +3 670 124 265 +3 1254 612 450 +3 343 287 345 +3 663 432 732 +3 1089 77 4785 +3 228 483 917 +3 917 621 228 +3 246 1753 638 +3 575 531 538 +3 475 511 483 +3 5037 2238 1544 +3 504 475 498 +3 222 224 248 +3 450 953 444 +3 3468 1464 3678 +3 263 292 240 +3 565 2207 559 +3 171 276 1685 +3 304 1999 1732 +3 857 813 806 +3 3847 1089 4785 +3 1225 1123 554 +3 638 255 246 +3 249 458 422 +3 304 1748 1999 +3 519 504 498 +3 1358 565 5018 +3 1476 1159 806 +3 300 304 1561 +3 450 606 953 +3 685 1561 77 +3 278 1650 635 +3 1681 171 1685 +3 718 1603 1609 +3 806 1605 1476 +3 1616 1485 1603 +3 1609 1694 1681 +3 305 545 1165 +3 1650 278 1225 +3 1159 545 345 +3 345 857 1159 +3 276 77 1089 +3 276 1089 1064 +3 230 4984 76 +3 3678 4895 4785 +3 76 1464 3468 +3 230 231 4984 +3 5033 1547 1464 +3 1366 1547 1544 +3 444 461 455 +3 5018 3847 5021 +3 2207 538 393 +3 3848 1089 3847 +3 5018 554 1599 +3 538 2207 581 +3 646 207 300 +3 124 670 119 +3 304 1056 1748 +3 436 464 629 +3 2207 565 2188 +3 235 253 238 +3 464 436 427 +3 809 1522 821 +3 1762 809 815 +3 3581 1464 1547 +3 466 461 314 +3 343 663 670 +3 266 207 285 +3 287 343 1315 +3 592 336 444 +3 1358 5021 1366 +3 292 263 1694 +3 821 455 461 +3 240 685 263 +3 1485 1165 1437 +3 1485 1476 1603 +3 1746 606 612 +3 606 1056 953 +3 1750 1254 450 +3 1547 1366 3581 +3 1064 1089 3848 +3 3848 3847 1599 +3 3848 1599 1064 +3 1123 1064 1599 +3 278 276 1123 +3 1694 813 292 +3 1123 1225 278 +3 276 1064 1123 +3 395 305 1616 +3 545 344 345 +3 305 1165 1485 +3 171 77 276 +3 3581 1366 5021 +3 1685 276 640 +3 4222 640 635 +3 1685 640 4222 +3 1685 4222 1670 +3 640 278 635 +3 635 1670 4222 +3 640 276 278 +3 857 806 1159 +3 300 1561 646 +3 857 292 813 +3 1358 2188 565 +3 554 5018 565 +3 1599 3847 5018 +3 2207 393 559 +3 2188 581 2207 +3 1616 1650 395 +3 538 545 393 +3 344 575 464 +3 581 253 575 +3 531 575 344 +3 308 592 953 +3 126 336 119 +3 344 663 343 +3 4895 5021 3847 +3 237 238 2188 +3 857 345 287 +3 2188 1358 237 +3 5021 1358 5018 +3 3678 3581 4895 +3 4785 4895 3847 +3 1464 3581 3678 +3 3468 3678 4785 +3 444 953 592 +3 559 393 395 +3 243 575 253 +3 953 1056 304 +3 5037 1544 1547 +3 248 249 222 +3 2238 239 1544 +3 581 2188 238 +3 237 1544 239 +3 464 575 243 +3 233 239 2238 +3 5037 1547 5033 +3 2447 5037 3405 +3 2238 5037 2447 +3 3405 5037 5033 +3 76 5033 1464 +3 2323 2447 3405 +3 76 3405 5033 +3 202 2323 438 +3 202 2447 2323 +3 76 4984 2323 +3 76 2323 3405 +3 2238 2447 3486 +3 4984 438 2323 +3 233 3486 422 +3 224 202 438 +3 236 233 422 +3 202 3486 2447 +3 235 239 233 +3 3486 233 2238 +3 1225 395 1650 +3 4984 224 438 +3 395 1225 559 +3 236 241 235 +3 461 444 336 +3 458 243 236 +3 519 498 230 +3 519 230 76 +3 238 239 235 +3 1544 237 1366 +3 1485 1616 305 +3 248 231 621 +3 5021 4895 3581 +3 422 3486 222 +3 300 125 308 +3 222 3486 202 +3 224 4984 231 +3 224 222 202 +3 231 230 228 +3 236 235 233 +3 239 238 237 +3 243 241 236 +3 249 248 246 +3 253 235 241 +3 246 255 249 +3 243 253 241 +3 266 265 125 +3 124 125 265 +3 292 287 285 +3 308 304 300 +3 336 126 314 +3 345 344 343 +3 285 207 240 +3 125 300 207 +3 305 395 393 +3 422 222 249 +3 436 432 427 +3 455 450 444 +3 255 464 458 +3 475 228 230 +3 483 228 475 +3 498 475 230 +3 511 475 504 +3 511 504 519 +3 545 538 531 +3 565 559 554 +3 581 575 538 +3 236 422 458 +3 231 248 224 +3 344 464 427 +3 612 606 450 +3 228 621 231 +3 255 638 629 +3 670 663 126 +3 427 432 663 +3 427 663 344 +3 703 701 694 +3 732 133 663 +3 531 344 545 +3 701 703 133 +3 821 815 809 +3 703 815 133 +3 701 133 732 +3 133 466 582 +3 133 127 663 +3 582 314 127 +3 582 127 133 +3 126 119 670 +3 127 314 126 +3 308 124 592 +3 126 663 127 +3 582 466 314 +3 243 458 464 +3 621 246 248 +3 461 466 821 +3 125 207 266 +3 466 133 815 +3 1249 1244 612 +3 1257 612 1254 +3 292 857 287 +3 1298 266 285 +3 265 266 1298 +3 1315 1298 285 +3 265 1298 1315 +3 592 119 336 +3 265 1315 343 +3 1366 237 1358 +3 1315 285 287 +3 953 304 308 +3 1165 545 1159 +3 1165 1159 1437 +3 1437 1159 1476 +3 1437 1476 1485 +3 285 240 292 +3 336 314 461 +3 393 545 305 +3 119 592 124 +3 124 308 125 +3 685 646 1561 +3 1599 554 1123 +3 1476 1605 1603 +3 1603 1605 1609 +3 1603 718 1616 +3 554 559 1225 +3 1650 718 635 +3 1650 1616 718 +3 1670 718 1609 +3 635 718 1670 +3 1685 1670 1681 +3 1694 263 1681 +3 1609 1681 1670 +3 240 646 685 +3 263 171 1681 +3 685 77 171 +3 685 171 263 +3 815 821 466 +3 1605 1694 1609 +3 1732 77 1561 +3 1732 1561 304 +3 238 253 581 +3 670 265 343 +3 72 1244 1249 +3 72 1249 1257 +3 1244 1748 1746 +3 1244 1746 612 +3 1522 1750 455 +3 621 917 1753 +3 815 703 1762 +3 1753 246 621 +3 455 821 1522 +3 1605 806 813 +3 813 1694 1605 +3 207 646 240 +3 1797 1794 1461 +3 1494 1802 1800 +3 53 1810 1808 +3 269 84 1810 +3 1830 90 91 +3 1836 1834 1832 +3 1836 1832 1839 +3 1839 1832 1841 +3 1830 1847 1844 +3 1853 1852 1850 +3 1847 91 1859 +3 1869 162 1867 +3 1876 1874 90 +3 1879 1878 1877 +3 1881 865 893 +3 946 1794 1802 +3 1461 1886 1797 +3 1886 1461 48 +3 1800 1896 947 +3 1323 875 1898 +3 1876 90 1869 +3 245 1363 1889 +3 1934 1932 1931 +3 1931 1938 1936 +3 1802 1940 1800 +3 1056 606 1943 +3 1931 1932 1946 +3 1953 1951 1949 +3 1962 1959 1956 +3 1968 1965 1949 +3 1974 1919 1943 +3 606 1974 1943 +3 1797 1886 1978 +3 1056 1065 606 +3 469 1987 467 +3 1999 469 467 +3 2005 2003 1596 +3 2008 162 2006 +3 1800 2012 2010 +3 1962 1951 1959 +3 2010 1896 1800 +3 1832 264 2015 +3 1931 1946 2019 +3 1943 1965 1936 +3 2012 1800 1940 +3 91 1847 1830 +3 1844 1896 2020 +3 1878 2026 1932 +3 2005 1953 2003 +3 2028 2027 1956 +3 1853 1956 1959 +3 893 245 1881 +3 2049 2045 2043 +3 2052 269 1810 +3 1839 2053 2049 +3 2015 1841 1832 +3 91 1874 1881 +3 1869 1867 1876 +3 2026 1946 1932 +3 1056 1943 1987 +3 264 2052 212 +3 1940 1978 2012 +3 2068 2067 1931 +3 1943 1936 1987 +3 1886 2071 1938 +3 1794 939 911 +3 1877 1932 1934 +3 2020 2008 1844 +3 1999 762 49 +3 762 467 280 +3 486 1987 469 +3 2124 1766 1867 +3 1056 486 304 +3 486 469 1999 +3 865 1881 1874 +3 2155 84 269 +3 2155 269 1834 +3 2169 2028 1850 +3 1878 2012 1978 +3 1896 2177 2020 +3 2027 1968 1962 +3 2045 2049 2185 +3 2045 2185 2020 +3 2045 2020 1850 +3 1853 1850 1956 +3 2193 2177 2010 +3 1874 1876 865 +3 1810 53 1766 +3 2052 2124 212 +3 2053 1841 2008 +3 1841 2015 2008 +3 1841 2053 1839 +3 212 2015 264 +3 2028 2169 2227 +3 2003 1949 1965 +3 2008 2020 2053 +3 2006 1830 1844 +3 1810 84 1808 +3 2185 2049 2053 +3 2185 2053 2020 +3 2169 1850 2020 +3 1936 2068 1931 +3 2124 2052 1810 +3 2027 2067 1968 +3 1934 1931 2067 +3 1847 1896 1844 +3 1938 1987 1936 +3 2068 1936 1965 +3 1929 1867 1766 +3 2006 162 88 +3 875 865 1876 +3 88 162 1869 +3 88 1869 90 +3 245 1889 1859 +3 1323 1898 1929 +3 893 1363 245 +3 245 1859 91 +3 1898 1876 1867 +3 1949 1962 1968 +3 1876 1898 875 +3 1867 1929 1898 +3 1874 91 90 +3 1962 1956 2027 +3 91 1881 245 +3 1800 947 1494 +3 2177 2169 2020 +3 2006 88 90 +3 2006 90 1830 +3 1938 280 467 +3 2461 1877 1934 +3 1877 2466 2464 +3 2193 2227 2177 +3 2464 2466 2470 +3 2006 1844 2008 +3 2464 2470 2193 +3 1938 467 1987 +3 2461 2067 2027 +3 1968 2068 1965 +3 1978 1940 1797 +3 1879 2012 1878 +3 2015 212 162 +3 2177 1896 2010 +3 1978 2019 2026 +3 1461 1794 911 +3 946 939 1794 +3 1886 1938 2019 +3 2461 1934 2067 +3 1978 1886 2019 +3 1978 2026 1878 +3 2010 2012 2530 +3 2464 2193 2530 +3 2026 2019 1946 +3 2027 2028 2470 +3 1987 486 1056 +3 2530 2012 1879 +3 2028 2227 2470 +3 2193 2470 2227 +3 2470 2461 2027 +3 1878 1932 1877 +3 2068 1968 2067 +3 1938 1931 2019 +3 2466 1877 2461 +3 2466 2461 2470 +3 2177 2227 2169 +3 162 2008 2015 +3 2124 1810 1766 +3 2530 1879 2464 +3 1940 1802 1797 +3 1879 1877 2464 +3 212 2124 162 +3 2010 2530 2193 +3 2003 1953 1949 +3 1919 2003 1965 +3 1949 1951 1962 +3 1956 1850 2028 +3 1802 1494 946 +3 1867 162 2124 +3 1596 2003 1919 +3 1596 1919 1974 +3 2637 1065 1056 +3 1938 2071 280 +3 2637 1056 304 +3 2637 1999 49 +3 1794 1797 1802 +3 304 1999 2637 +3 467 762 1999 +3 486 1999 304 +3 1834 269 1832 +3 269 2052 264 +3 269 264 1832 +3 2043 1839 2049 +3 2045 1850 1852 +3 2045 1852 2692 +3 2045 2692 2043 +3 2043 1836 1839 +3 1965 1943 1919 +3 1896 1847 947 +3 1847 1859 947 +3 1859 1889 947 +3 2704 2702 2701 +3 2378 1572 524 +3 1129 2710 48 +3 1135 1119 2712 +3 1572 2378 2715 +3 2724 1666 1667 +3 2021 1231 1116 +3 2044 2339 1994 +3 1994 2339 1993 +3 831 2341 2751 +3 1009 1017 2701 +3 2702 2704 2764 +3 513 1328 1155 +3 2776 2018 2004 +3 2783 481 751 +3 1577 2522 597 +3 1291 1170 2788 +3 2044 1994 2793 +3 1043 1758 1170 +3 2806 2018 2802 +3 2809 1133 2807 +3 1170 2812 1174 +3 2814 52 51 +3 2701 1017 51 +3 2310 746 2815 +3 1072 2814 51 +3 716 1658 1328 +3 2696 2823 2821 +3 2829 2814 641 +3 2788 1014 1291 +3 2835 990 811 +3 2724 2793 1231 +3 1585 1409 2417 +3 2004 1792 831 +3 439 2239 524 +3 1252 1306 561 +3 2857 1072 1017 +3 2702 1009 2701 +3 1071 752 2860 +3 2788 2872 2522 +3 2857 1017 1009 +3 2809 1328 1658 +3 2890 752 1071 +3 1072 637 2814 +3 2366 2891 2310 +3 2538 2821 52 +3 2696 2899 2366 +3 2902 1447 52 +3 2902 2823 2903 +3 499 2783 716 +3 2815 2823 2366 +3 2696 2829 2899 +3 2814 637 641 +3 2783 1265 716 +3 1083 523 513 +3 523 2944 1252 +3 2776 2802 2018 +3 2944 523 2956 +3 2872 2788 1170 +3 731 2812 1758 +3 2522 2768 751 +3 1265 719 716 +3 3005 1174 2812 +3 481 499 561 +3 481 2783 499 +3 1328 513 499 +3 1071 1072 2857 +3 1224 1231 1993 +3 2044 2239 439 +3 1306 2044 439 +3 1409 1231 1224 +3 1116 1231 2712 +3 1666 2724 2021 +3 3078 764 752 +3 752 764 2860 +3 2710 2702 2764 +3 1182 3094 674 +3 1135 2712 1076 +3 811 2956 523 +3 1585 2857 1009 +3 2890 1071 2857 +3 1585 2890 2857 +3 731 2903 727 +3 1409 1585 1076 +3 2004 2018 2041 +3 2956 811 990 +3 3078 2018 2806 +3 752 2890 3078 +3 1409 1076 2712 +3 2806 990 764 +3 641 3185 1176 +3 764 3078 2806 +3 3005 727 746 +3 674 2807 1133 +3 1155 1083 513 +3 2807 674 3094 +3 1155 2809 2807 +3 1155 1328 2809 +3 2807 1083 1155 +3 2815 727 2903 +3 3094 811 1083 +3 3185 641 2860 +3 990 2835 3185 +3 3094 1182 2835 +3 1017 1072 51 +3 2860 637 1072 +3 1071 2860 1072 +3 1083 2807 3094 +3 2860 641 637 +3 727 3005 2812 +3 1182 674 2891 +3 2835 1176 3185 +3 2829 1176 2899 +3 811 3094 2835 +3 1176 2829 641 +3 2696 2821 2538 +3 2812 1170 1758 +3 1182 2899 1176 +3 2814 2538 52 +3 2814 2829 2538 +3 2829 2696 2538 +3 2899 1182 2891 +3 2821 2902 52 +3 2821 2823 2902 +3 2696 2366 2823 +3 2891 674 3290 +3 2899 2891 2366 +3 674 1133 3290 +3 499 716 1328 +3 719 746 1658 +3 1174 3005 1259 +3 764 3185 2860 +3 2768 2522 2872 +3 842 731 1758 +3 837 52 1447 +3 1447 731 842 +3 746 2310 1658 +3 719 1658 716 +3 3290 1133 1658 +3 2041 1224 1792 +3 1447 2902 2903 +3 1792 1224 2341 +3 2903 2823 2815 +3 2815 2366 2310 +3 2310 3290 1658 +3 2310 2891 3290 +3 2802 2956 2806 +3 1037 1306 1252 +3 1252 513 523 +3 1447 842 837 +3 2944 2802 1037 +3 3078 2417 2018 +3 2417 2041 2018 +3 2341 1993 2339 +3 1176 2835 1182 +3 2903 731 1447 +3 3185 764 990 +3 842 1758 837 +3 2812 731 727 +3 2783 2768 1259 +3 499 1252 561 +3 499 513 1252 +3 1252 2944 1037 +3 2802 2776 1037 +3 2417 3078 1585 +3 1265 2783 1259 +3 1008 2788 1577 +3 2522 1577 2788 +3 1008 1014 2788 +3 1076 1585 1009 +3 1170 1174 2872 +3 2044 2378 2239 +3 1170 1291 1043 +3 2784 1265 1259 +3 2784 746 719 +3 3005 2784 1259 +3 746 2784 3005 +3 2041 2417 1409 +3 2751 1306 1037 +3 2793 2715 2044 +3 1804 2751 1037 +3 1224 2041 1409 +3 2751 2339 1306 +3 2715 2793 2724 +3 2815 746 727 +3 1993 2793 1994 +3 1993 2341 1224 +3 1804 831 2751 +3 1804 2776 831 +3 1804 1037 2776 +3 523 1083 811 +3 2956 2802 2944 +3 1133 2809 1658 +3 2341 831 1792 +3 2776 2004 831 +3 990 2806 2956 +3 1993 1231 2793 +3 931 1119 1135 +3 1792 2004 2041 +3 2702 1076 1009 +3 2702 2710 1076 +3 2710 1135 1076 +3 2710 1129 1135 +3 1119 1116 2712 +3 1119 1593 1116 +3 2768 2783 751 +3 2724 1231 2021 +3 1585 3078 2890 +3 2339 2751 2341 +3 1174 1259 2768 +3 1231 1409 2712 +3 2768 2872 1174 +3 2044 2715 2378 +3 524 2239 2378 +3 2339 2044 1306 +3 931 1129 48 +3 931 1135 1129 +3 1593 2021 1116 +3 2715 1667 1572 +3 597 2522 751 +3 1667 2715 2724 +3 2021 1593 1666 +3 719 1265 2784 +3 1758 1043 837 +3 837 1043 52 +3 3614 3039 3612 +3 3616 3547 3615 +3 2580 2995 2994 +3 2123 3619 786 +3 2999 3626 2719 +3 3632 2999 3629 +3 734 737 3635 +3 3635 3636 734 +3 3639 3616 3638 +3 737 3340 3635 +3 737 707 3340 +3 3340 707 3646 +3 3646 707 36 +3 3638 1644 3639 +3 3102 3651 2859 +3 3619 2593 786 +3 3619 3658 3415 +3 3670 3011 3055 +3 2593 3077 1322 +3 734 3636 691 +3 691 3636 3632 +3 743 691 3632 +3 2261 1438 868 +3 3639 2264 1438 +3 1644 722 3639 +3 3049 3690 3077 +3 3693 3692 3691 +3 2275 3695 3694 +3 3699 3697 3696 +3 3694 910 2275 +3 3704 3694 3703 +3 910 3704 908 +3 908 3704 3709 +3 370 908 3709 +3 3704 3717 3714 +3 3722 356 3709 +3 3722 38 356 +3 3727 360 3723 +3 3728 3717 3703 +3 3077 3055 3730 +3 3736 2261 868 +3 3042 3011 3737 +3 3745 3743 3742 +3 2650 2940 2576 +3 2358 3755 2388 +3 3703 3694 3728 +3 3764 3763 3728 +3 3767 3723 360 +3 356 370 3709 +3 382 3709 3714 +3 910 3694 3704 +3 3778 3767 3776 +3 3547 3616 3639 +3 2926 3102 3224 +3 2888 3049 3790 +3 3802 3801 3798 +3 3695 2275 2879 +3 1438 2261 3547 +3 778 786 2593 +3 778 2593 1322 +3 722 2264 3639 +3 2879 3790 3695 +3 3042 3818 3817 +3 3745 3819 3743 +3 2123 3658 3619 +3 3742 3826 3824 +3 3829 743 3632 +3 3743 2719 2737 +3 3011 3670 3737 +3 3415 3658 3417 +3 3737 3670 3619 +3 2995 2576 2940 +3 2358 3824 3755 +3 3615 3736 3690 +3 3764 3694 3695 +3 3850 2926 3039 +3 3818 3651 3850 +3 3856 3854 3723 +3 3778 3854 3856 +3 382 38 3722 +3 382 3722 3709 +3 3730 3055 3011 +3 3727 3798 3801 +3 3714 3778 3776 +3 3767 3778 3856 +3 3767 3856 3723 +3 3699 3727 3801 +3 3854 3727 3723 +3 3763 3727 3854 +3 3697 3801 3875 +3 3696 3875 3818 +3 3692 3042 3737 +3 3042 3817 3011 +3 3699 3801 3697 +3 3696 3697 3875 +3 360 3727 3881 +3 3875 3801 3882 +3 3727 3763 3798 +3 3798 3763 3764 +3 3798 3764 3695 +3 3763 3717 3728 +3 3764 3728 3694 +3 3714 3709 3704 +3 3717 3704 3703 +3 1644 3638 2879 +3 2879 2888 3790 +3 2879 3638 2888 +3 3077 3690 1322 +3 3824 2650 3745 +3 3077 2593 3670 +3 3691 3422 3911 +3 3077 3670 3055 +3 2888 3638 3616 +3 3615 2261 3736 +3 3224 3925 2940 +3 3736 868 1322 +3 2261 3615 3547 +3 1438 3547 3639 +3 3616 3615 3690 +3 3690 2888 3616 +3 2358 2388 2926 +3 3695 3790 3798 +3 2888 3690 3049 +3 3790 3049 3077 +3 2123 743 3829 +3 3455 3658 3632 +3 2593 3619 3670 +3 3730 3790 3077 +3 3882 3817 3875 +3 3745 3742 3824 +3 3790 3730 3882 +3 3790 3802 3798 +3 3882 3730 3817 +3 3882 3802 3790 +3 3736 1322 3690 +3 3875 3817 3818 +3 2995 2580 2576 +3 3911 3422 3415 +3 3422 3737 3619 +3 3422 3619 3415 +3 3911 3415 3629 +3 3911 3629 2994 +3 3911 2994 2995 +3 3415 3417 3629 +3 2358 3224 2650 +3 2123 3829 3658 +3 3658 3829 3632 +3 2719 3743 3819 +3 3629 3455 3632 +3 3417 3658 3455 +3 3417 3455 3629 +3 3692 3737 3422 +3 3730 3011 3817 +3 2576 3819 3745 +3 3819 2576 2580 +3 2650 3824 2358 +3 3692 3422 3691 +3 3693 4000 3999 +3 3818 3042 3651 +3 3691 2940 3925 +3 2940 2650 3224 +3 2940 3691 2995 +3 3801 3802 3882 +3 3224 2358 2926 +3 2999 2994 3629 +3 3755 3824 3826 +3 3925 3224 3102 +3 4025 3755 3826 +3 2859 3999 3102 +3 3626 2737 2719 +3 3693 3691 3925 +3 2999 2719 2994 +3 3999 3692 3693 +3 4000 3693 3925 +3 3717 3763 3778 +3 3696 3818 3850 +3 3881 3727 3699 +3 3651 3042 2859 +3 3999 2859 3042 +3 3999 3042 3692 +3 543 3881 3614 +3 3850 3614 3699 +3 543 360 3881 +3 3614 3881 3699 +3 2719 3819 2580 +3 3850 3699 3696 +3 3999 4000 3102 +3 2926 3850 3651 +3 3763 3854 3778 +3 3778 3714 3717 +3 3039 2926 2388 +3 3612 543 3614 +3 37 543 3612 +3 3612 3039 2388 +3 3039 3614 3850 +3 37 3612 4025 +3 3651 3102 2926 +3 3102 4000 3925 +3 3612 2388 3755 +3 3755 4025 3612 +3 2719 2580 2994 +3 2275 1644 2879 +3 2275 722 1644 +3 3911 2995 3691 +3 2576 3745 2650 +3 2322 4071 2333 +3 2345 4072 2325 +3 2658 4073 2998 +3 2347 4074 2345 +3 4080 3739 4073 +3 2370 3218 2356 +3 3205 3209 4080 +3 3209 3205 3751 +3 2725 4089 4088 +3 3777 4094 3785 +3 4096 2725 3893 +3 3121 4101 3220 +3 4072 3793 4105 +3 4111 4110 571 +3 1296 1571 3661 +3 3872 849 4115 +3 4118 4117 4101 +3 2325 4072 4071 +3 2325 4071 2322 +3 1445 1296 60 +3 4071 4094 4124 +3 3544 3452 4126 +3 3544 3766 3452 +3 4124 3751 3205 +3 3751 4124 3777 +3 3385 3218 4136 +3 3739 4080 3209 +3 3793 3785 4105 +3 4144 4142 4141 +3 3770 3603 2305 +3 740 1344 4030 +3 757 3644 1344 +3 757 753 3644 +3 3862 3604 1451 +3 1451 1445 3862 +3 1524 1493 1571 +3 1445 1451 1571 +3 4161 4160 4159 +3 2713 1013 740 +3 2347 4118 4074 +3 2356 4118 2347 +3 3872 4115 4169 +3 1317 3604 1003 +3 689 4178 1304 +3 4110 4111 2438 +3 1296 1445 1571 +3 571 4192 689 +3 3604 3862 3908 +3 1304 2713 747 +3 1524 4192 1493 +3 747 2713 740 +3 3661 4169 1296 +3 3070 2438 4030 +3 3872 4169 3661 +3 4224 4141 4223 +3 3603 3770 753 +3 3887 3893 1140 +3 3887 1140 849 +3 63 3893 2725 +3 3887 849 3872 +3 3793 4072 4101 +3 4088 2370 2373 +3 4074 4118 4101 +3 2345 4074 4072 +3 2656 3205 4080 +3 571 689 4111 +3 4142 4144 4160 +3 4142 4244 4141 +3 4144 4248 4246 +3 4117 4118 3218 +3 1838 3603 757 +3 4141 4224 4144 +3 1838 757 1344 +3 3603 753 757 +3 2515 4255 4030 +3 2305 2494 3770 +3 2494 2305 3724 +3 4101 3121 3793 +3 740 1838 1344 +3 4178 689 4192 +3 4255 747 740 +3 1013 2713 1003 +3 4030 4255 740 +3 4224 3872 3661 +3 2713 1304 4178 +3 740 1843 1838 +3 1013 2305 1843 +3 1571 1451 1524 +3 4255 2515 1304 +3 1524 1451 1317 +3 3603 1843 2305 +3 1843 740 1013 +3 4192 571 1493 +3 2515 2438 4111 +3 3724 1003 3604 +3 4088 4291 4136 +3 4255 1304 747 +3 4224 4223 3872 +3 1003 2713 4178 +3 1003 4178 1317 +3 4291 4088 4089 +3 4248 4144 4224 +3 63 1140 3893 +3 63 849 1140 +3 2415 2438 3070 +3 1317 4192 1524 +3 571 1734 1530 +3 4224 1734 4248 +3 2415 4307 4246 +3 2515 4111 689 +3 4110 4248 1734 +3 4192 1317 4178 +3 3724 3908 2494 +3 3070 3121 4159 +3 4144 4246 4307 +3 3218 3385 4117 +3 2438 2415 4110 +3 3121 4030 3793 +3 4142 4291 4244 +3 1003 3724 1013 +3 4101 4117 3220 +3 4160 4144 4307 +3 3220 3385 4161 +3 3220 4159 3121 +3 4291 4142 4161 +3 4161 4159 3220 +3 4160 4161 4142 +3 4141 4096 4223 +3 4223 3887 3872 +3 4223 3893 3887 +3 4096 4089 2725 +3 4307 4159 4160 +3 4223 4096 3893 +3 4244 4089 4096 +3 2662 4088 2373 +3 2662 2725 4088 +3 4141 4244 4096 +3 4291 4089 4244 +3 4159 4307 3070 +3 4094 3777 4124 +3 4072 4074 4101 +3 2333 4124 2332 +3 3604 1317 1451 +3 1571 1493 3661 +3 4307 2415 3070 +3 4136 4161 3385 +3 4071 4072 4105 +3 2332 3205 2656 +3 4161 4136 4291 +3 4117 3385 3220 +3 2305 1013 3724 +3 4110 4246 4248 +3 3121 3070 4030 +3 1734 4224 1530 +3 1734 571 4110 +3 2370 4136 3218 +3 4105 3785 4094 +3 4246 4110 2415 +3 4224 3661 1530 +3 4124 2333 4071 +3 3908 3724 3604 +3 2356 3218 4118 +3 4088 4136 2370 +3 2998 4073 3544 +3 689 1304 2515 +3 2332 4124 3205 +3 1843 3603 1838 +3 4094 4071 4105 +3 2656 4080 2658 +3 2998 4126 62 +3 2998 3544 4126 +3 2658 4080 4073 +3 1493 571 1530 +3 3766 4073 3739 +3 4073 3766 3544 +3 2438 2515 4030 +3 1493 1530 3661 +3 4418 4057 3729 +3 4421 691 684 +3 671 4423 4422 +3 3974 3973 3636 +3 2946 4426 4 +3 2950 4427 4426 +3 2597 2192 3374 +3 2597 684 691 +3 4433 2345 4074 +3 4436 4435 4434 +3 1018 4438 2110 +3 4443 4440 4427 +3 773 985 2798 +3 3119 780 1250 +3 4451 1496 1499 +3 2601 2113 3336 +3 4459 4458 4457 +3 4160 1924 1921 +3 1924 4160 3126 +3 3126 4459 4457 +3 4457 1329 3126 +3 992 1342 773 +3 1342 1243 1724 +3 1243 1342 992 +3 3374 739 2597 +3 2174 1200 1194 +3 1625 2174 3502 +3 4443 4487 4440 +3 1643 3502 4489 +3 4493 4492 4058 +3 1924 3126 2220 +3 3729 4057 4498 +3 4499 3 3901 +3 4435 4436 4499 +3 2624 2231 1018 +3 4503 578 1696 +3 4505 3 4504 +3 4508 1250 4506 +3 4436 3 4499 +3 2406 3230 1243 +3 4224 4476 4144 +3 4433 4513 3920 +3 879 4421 608 +3 599 2597 739 +3 608 2110 879 +3 3219 4489 3502 +3 3126 1329 2220 +3 4525 4524 4523 +3 2192 2597 691 +3 4524 4525 3349 +3 1503 4526 4 +3 3374 3371 4527 +3 2947 3371 2950 +3 2529 4492 4529 +3 3363 4440 4487 +3 4532 4031 3901 +3 1921 4144 4160 +3 2529 4074 2345 +3 4535 3363 3349 +3 4498 671 3729 +3 3324 1200 1724 +3 3729 1696 473 +3 4031 4532 3351 +3 2296 873 773 +3 4499 4031 3010 +3 664 4505 4423 +3 3216 792 780 +3 3214 584 4503 +3 4436 4504 3 +3 985 773 1342 +3 1250 584 3214 +3 1250 4508 3920 +3 3126 4101 4459 +3 4434 4549 4422 +3 4513 4101 3071 +3 1917 1530 4224 +3 1194 1200 3324 +3 4525 173 252 +3 4433 4074 4513 +3 2110 608 2624 +3 470 3071 473 +3 4438 1018 773 +3 4549 3119 4503 +3 739 3504 599 +3 2174 1194 3388 +3 3324 1724 1194 +3 1458 4527 1503 +3 4487 3349 3363 +3 4160 4418 4567 +3 4571 748 1532 +3 2296 2730 879 +3 252 3010 4031 +3 4489 3219 1722 +3 2624 599 3504 +3 748 4571 739 +3 1458 1532 748 +3 879 2110 4438 +3 3349 4487 4524 +3 4408 4144 4476 +3 3336 3504 3219 +3 684 608 4421 +3 879 4438 873 +3 3119 4549 3216 +3 2296 879 873 +3 3336 3502 2174 +3 3219 4571 1722 +3 3502 3336 3219 +3 2798 2296 773 +3 2730 4421 879 +3 4438 773 873 +3 985 1325 2798 +3 2529 2730 4458 +3 4144 1921 1917 +3 3973 3974 4443 +3 4610 4492 2529 +3 252 3351 4525 +3 4610 2529 2345 +3 2950 3371 3973 +3 4527 4526 1503 +3 3636 691 4529 +3 4058 4524 4487 +3 3636 4529 4493 +3 2192 3973 3371 +3 4526 2946 4 +3 4526 2947 2946 +3 2946 2947 4426 +3 4526 3371 2947 +3 2947 2950 4426 +3 691 3636 2192 +3 3974 3636 4493 +3 3973 2192 3636 +3 4058 3974 4493 +3 3371 3374 2192 +3 748 4527 1458 +3 578 473 1696 +3 4527 748 3374 +3 4492 4610 4524 +3 4058 4443 3974 +3 4523 4524 4610 +3 4532 4535 3349 +3 4433 4525 4523 +3 3351 3349 4525 +3 3351 4532 3349 +3 4506 4065 4508 +3 1194 1243 3388 +3 4067 3920 4508 +3 4433 4523 4610 +3 4532 3901 4535 +3 4433 4610 2345 +3 3351 252 4031 +3 3920 584 1250 +3 3071 470 4513 +3 1696 3729 671 +3 739 3374 748 +3 4423 671 664 +3 4031 4499 3901 +3 4506 1250 780 +3 4549 4434 4435 +3 792 4506 780 +3 4433 3920 4067 +3 470 584 3920 +3 4065 4067 4508 +3 4065 4433 4067 +3 664 4451 1499 +3 173 4433 4065 +3 2529 4458 4459 +3 2730 2296 4457 +3 3126 4160 4159 +3 4074 2529 4459 +3 1329 4457 2798 +3 4458 2730 4457 +3 4434 4504 4436 +3 584 470 578 +3 4513 470 3920 +3 3230 2406 2231 +3 792 173 4506 +3 584 578 4503 +3 3216 173 792 +3 4503 1696 4422 +3 3119 3214 4503 +3 3119 1250 3214 +3 4418 4160 4408 +3 3010 4435 4499 +3 4408 4160 4144 +3 4549 4503 4422 +3 4504 4434 4423 +3 671 4498 4451 +3 4423 4505 4504 +3 1039 3 4505 +3 4505 664 1039 +3 4434 4422 4423 +3 671 4422 1696 +3 473 578 470 +3 2231 2624 3504 +3 780 3119 3216 +3 1499 1039 664 +3 4451 664 671 +3 4498 4476 4451 +3 599 2624 608 +3 4476 1496 4451 +3 4057 4412 4498 +3 4057 4418 4412 +3 4408 4476 4498 +3 4476 4224 1496 +3 4412 4408 4498 +3 4412 4418 4408 +3 473 3071 4567 +3 3729 473 4567 +3 4513 4074 4101 +3 3729 4567 4418 +3 3071 4159 4567 +3 1496 4224 1530 +3 4567 4159 4160 +3 3502 1643 1625 +3 3126 3121 4101 +3 1329 2798 1325 +3 4457 2296 2798 +3 3071 3121 4159 +3 3126 4159 3121 +3 173 4525 4433 +3 252 3216 3010 +3 4224 4144 1917 +3 3071 4101 3121 +3 4074 4459 4101 +3 1243 992 2406 +3 4487 4443 4058 +3 2624 1018 2110 +3 992 773 1018 +3 1018 2406 992 +3 3230 3388 1243 +3 1018 2231 2406 +3 4065 4506 173 +3 2113 2601 3230 +3 608 684 599 +3 3216 4435 3010 +3 2231 2113 3230 +3 1243 1194 1724 +3 2231 2452 2113 +3 7 4489 1722 +3 4435 3216 4549 +3 2452 3336 2113 +3 173 3216 252 +3 3504 739 4571 +3 2174 1625 1200 +3 3336 2174 2601 +3 1722 4571 1532 +3 3504 3336 2452 +3 3388 3230 2601 +3 2601 2174 3388 +3 7 1657 4489 +3 3504 2452 2231 +3 4489 1689 1643 +3 4571 3219 3504 +3 1657 1689 4489 +3 2950 4443 4427 +3 4492 4493 4529 +3 4443 2950 3973 +3 4527 3371 4526 +3 4421 4529 691 +3 4529 4421 2730 +3 4524 4058 4492 +3 2597 599 684 +3 2730 2529 4529 +3 3650 3468 4785 +3 3265 3266 4064 +3 3650 2610 3468 +3 4355 4790 4789 +3 4793 2241 1816 +3 4790 4355 4348 +3 4359 4795 4794 +3 4359 4796 3935 +3 389 4355 4390 +3 4799 4542 4797 +3 4615 4556 4800 +3 4556 4615 332 +3 3266 3265 4802 +3 4023 3467 3358 +3 600 4011 903 +3 3467 4064 3269 +3 2610 2613 76 +3 4062 3319 3650 +3 3650 3319 3520 +3 4806 1816 2241 +3 4808 4807 3319 +3 4810 3820 3934 +3 4813 4812 4811 +3 3921 4815 4812 +3 4180 4064 4799 +3 3643 4542 3554 +3 3554 4817 3643 +3 3554 4023 4817 +3 3584 4554 3518 +3 4554 3584 4820 +3 3584 4615 3443 +3 2591 2273 4810 +3 4003 3858 4823 +3 4340 3981 600 +3 4823 4827 4826 +3 3443 4820 3584 +3 4542 3643 4534 +3 3269 3358 3467 +3 3358 3269 4830 +3 4831 1964 2046 +3 4813 4811 2245 +3 3957 4011 4832 +3 4827 4823 3858 +3 77 903 4785 +3 77 600 903 +3 4835 4812 4813 +3 4806 4807 4808 +3 1816 1815 4793 +3 1815 1816 4808 +3 4835 3921 4812 +3 377 4542 4534 +3 4832 3858 4018 +3 1964 4542 2046 +3 4826 3934 3820 +3 389 4831 3507 +3 3935 3981 4359 +3 3266 3269 4064 +3 4850 3858 4003 +3 4830 3518 4554 +3 3269 3266 3518 +3 77 4340 600 +3 2810 4797 1964 +3 903 3957 4062 +3 3957 4832 4018 +3 903 4062 4785 +3 3319 3321 3520 +3 4062 3957 4018 +3 903 4011 3957 +3 600 4832 4011 +3 632 315 4832 +3 600 632 4832 +3 3935 315 632 +3 4831 2046 334 +3 4823 3820 4003 +3 332 3518 3266 +3 3518 332 3584 +3 4826 3820 4823 +3 4831 4390 1964 +3 4826 405 3507 +3 405 4826 4827 +3 4863 4348 4355 +3 4826 1893 3934 +3 3981 3935 600 +3 3820 4810 4850 +3 2273 4793 1815 +3 2241 2245 4806 +3 4062 3650 4785 +3 3520 2613 3650 +3 1816 4806 4808 +3 4807 3321 3319 +3 2245 2241 4813 +3 3921 1893 377 +3 4018 3319 4062 +3 4793 4813 2241 +3 3468 2610 76 +3 3650 2613 2610 +3 3518 4830 3269 +3 4813 4793 4835 +3 1893 3921 2591 +3 377 4815 3921 +3 4835 2591 3921 +3 377 334 4542 +3 4802 332 3266 +3 2591 4793 2273 +3 4064 4180 3265 +3 2591 4835 4793 +3 334 1893 4826 +3 3467 4023 3554 +3 600 3935 632 +3 4827 315 338 +3 3935 4796 338 +3 4796 4863 534 +3 3935 338 315 +3 3934 1893 4810 +3 4796 534 338 +3 4796 4348 4863 +3 4863 405 534 +3 389 3507 405 +3 2046 4542 334 +3 4831 334 3507 +3 332 4802 4556 +3 4863 389 405 +3 315 3858 4832 +3 4796 4359 4348 +3 4799 3554 4542 +3 4850 4003 3820 +3 3858 315 4827 +3 4799 3467 3554 +3 4615 3584 332 +3 389 4390 4831 +3 3858 4850 4018 +3 78 3441 4800 +3 78 3443 3441 +3 3441 4841 4800 +3 3441 3443 4841 +3 4841 4615 4800 +3 4841 3443 4615 +3 4820 3443 78 +3 4064 3467 4799 +3 4180 4799 4797 +3 4355 389 4863 +3 2591 4810 1893 +3 4797 4542 1964 +3 3930 4340 77 +3 4795 4359 3981 +3 4827 534 405 +3 2273 4850 4810 +3 4827 338 534 +3 1815 4850 2273 +3 4808 4850 1815 +3 4826 3507 334 +3 4390 2810 1964 +3 3930 3981 4340 +3 4348 4794 4790 +3 4789 4390 4355 +3 4390 4789 2810 +3 4794 4348 4359 +3 3981 3930 4795 +3 1893 334 377 +3 4850 3319 4018 +3 4850 4808 3319 +3 1133 669 2809 +3 2372 2837 4303 +3 2520 712 1059 +3 4388 4367 4561 +3 749 4356 4893 +3 4303 3837 874 +3 3443 4816 3576 +3 858 968 3613 +3 1416 4367 4388 +3 4561 4899 4098 +3 4098 4899 3827 +3 3129 3827 3276 +3 2837 2573 4303 +3 4356 859 3836 +3 4902 3843 2837 +3 3843 4902 3845 +3 4903 2357 1052 +3 3837 4303 2573 +3 2974 1011 4746 +3 4750 4875 4756 +3 4903 1052 1027 +3 1052 2357 1059 +3 4877 4862 4903 +3 871 3492 3540 +3 712 916 1059 +3 709 506 916 +3 513 1252 506 +3 3276 3139 4021 +3 2362 2310 3698 +3 4051 3529 3327 +3 4084 1080 1073 +3 4084 1221 1080 +3 3527 3529 4051 +3 968 3576 863 +3 3443 4841 4816 +3 3545 4520 836 +3 3576 1095 863 +3 3276 4021 3129 +3 3529 3527 4916 +3 4899 4561 4367 +3 4368 858 871 +3 3009 3040 855 +3 4756 4862 3040 +3 1073 3330 4084 +3 4368 942 3139 +3 3836 4893 4356 +3 4051 1221 4084 +3 1 3442 381 +3 4800 1197 4816 +3 1 4800 3442 +3 4816 1675 3576 +3 3442 4800 4841 +3 1 1197 4800 +3 1169 3576 968 +3 381 1416 4930 +3 3540 942 871 +3 4267 4920 4932 +3 3748 3622 661 +3 2837 2372 3859 +3 1447 1246 3 +3 2573 2837 3843 +3 968 858 1169 +3 661 4520 3748 +3 645 2520 541 +3 4931 3845 4902 +3 874 859 4356 +3 859 874 3837 +3 1383 4267 4907 +3 4269 4920 4267 +3 3040 4862 4877 +3 4875 4940 4862 +3 4893 3836 3835 +3 4728 1073 1075 +3 3859 3698 3762 +3 1155 513 709 +3 3601 3290 2362 +3 3698 2815 3762 +3 532 4916 1252 +3 2310 2362 3290 +3 1252 513 532 +3 2809 669 3622 +3 4728 4916 4539 +3 3529 4001 3327 +3 3442 4820 381 +3 3442 3443 4820 +3 4820 1416 381 +3 4820 1169 1416 +3 4820 3443 3576 +3 3442 4841 3443 +3 4800 4816 4841 +3 1197 1675 4816 +3 4820 3576 1169 +3 1675 1095 3576 +3 3613 968 863 +3 3613 3492 858 +3 3718 3540 3327 +3 4021 4020 661 +3 3327 3492 3613 +3 942 3540 3718 +3 1252 4916 1067 +3 3545 836 3718 +3 2310 645 2815 +3 836 3139 942 +3 4020 4021 3139 +3 3718 4001 3545 +3 887 836 4520 +3 4020 3139 836 +3 661 690 4893 +3 4020 836 887 +3 4520 3545 3748 +3 4001 3718 3327 +3 4893 4021 661 +3 4389 4561 4098 +3 4367 4368 4899 +3 3815 4930 4389 +3 3815 381 4930 +3 3815 4389 4098 +3 4388 4561 4389 +3 4930 4388 4389 +3 4930 1416 4388 +3 645 2310 1686 +3 3276 3827 4899 +3 4368 3276 4899 +3 2815 3698 2310 +3 2903 1246 1447 +3 661 887 4520 +3 749 4893 690 +3 3835 3129 4021 +3 4269 4327 2357 +3 4893 3835 4021 +3 4368 871 942 +3 4367 858 4368 +3 1504 2 4931 +3 2357 4903 2293 +3 3648 749 690 +3 874 4356 749 +3 4916 3545 4001 +3 2815 541 2903 +3 3830 3601 2362 +3 1434 1439 3861 +3 2809 1686 1133 +3 2362 2372 3830 +3 2520 1686 712 +3 1161 669 3601 +3 541 2815 645 +3 3622 669 1161 +3 749 3648 1161 +3 2809 709 1686 +3 3622 3648 661 +3 3622 1161 3648 +3 690 661 3648 +3 4020 887 661 +3 532 3748 3545 +3 532 3622 3748 +3 3718 836 942 +3 1085 3622 532 +3 4728 1075 1067 +3 3859 4902 2837 +3 1246 2903 541 +3 4902 3859 3861 +3 541 4327 1246 +3 3830 4303 874 +3 1161 874 749 +3 3545 4916 532 +3 1686 2520 645 +3 4269 4267 1383 +3 4051 3613 863 +3 4920 4874 4932 +3 3 1383 4907 +3 4940 4875 4920 +3 3613 4051 3327 +3 4051 863 1221 +3 4267 4932 4907 +3 4907 4874 3 +3 4907 4932 4874 +3 4750 3 4874 +3 839 1011 2974 +3 1011 3 4746 +3 3009 4750 4756 +3 4746 3 4750 +3 4750 2974 4746 +3 1027 4877 4903 +3 3040 3009 4756 +3 855 839 3009 +3 4920 4875 4874 +3 4877 1027 855 +3 4862 4940 4903 +3 4920 2293 4940 +3 4920 4269 2293 +3 4940 2293 4903 +3 4862 4756 4875 +3 4877 855 3040 +3 709 712 1686 +3 709 916 712 +3 3290 1133 1686 +3 3492 871 858 +3 2310 3290 1686 +3 3601 669 1133 +3 3861 3762 1434 +3 3762 3861 3859 +3 4303 3830 2372 +3 3601 3830 1161 +3 4931 1439 1504 +3 1447 1434 2903 +3 4931 3861 1439 +3 2903 1434 3762 +3 3290 3601 1133 +3 3139 3276 4368 +3 2362 3698 2372 +3 3698 3859 2372 +3 2903 3762 2815 +3 3540 3492 3327 +3 1085 2809 3622 +3 1085 1155 2809 +3 858 4367 1169 +3 4916 4001 3529 +3 4084 3527 4051 +3 1169 4367 1416 +3 4539 4916 3527 +3 3861 4931 4902 +3 4084 3330 3527 +3 3330 1073 4728 +3 3330 4539 3527 +3 3845 4931 2 +3 2809 1155 709 +3 1085 513 1155 +3 709 513 506 +3 1085 532 513 +3 3330 4728 4539 +3 1067 4916 4728 +3 2974 3009 839 +3 3009 2974 4750 +3 4875 4750 4874 +3 1246 1383 3 +3 2357 2293 4269 +3 1383 1246 4269 +3 2520 2357 4327 +3 2520 4327 541 +3 2357 2520 1059 +3 4327 4269 1246 +3 874 1161 3830 +3 911 915 1461 +3 1295 1820 860 +3 1431 48 1461 +3 1180 845 854 +3 535 1332 1631 +3 900 1301 860 +3 553 1779 1283 +3 1002 889 683 +3 1226 1323 1929 +3 1862 1142 1888 +3 1363 1888 1889 +3 1219 254 1098 +3 1539 1466 1480 +3 584 1250 650 +3 1250 780 767 +3 648 1250 767 +3 1862 1120 1142 +3 1250 584 987 +3 1219 792 780 +3 780 785 767 +3 657 648 775 +3 657 775 758 +3 1680 671 1696 +3 1494 1408 946 +3 1289 1112 561 +3 1039 664 52 +3 1371 1393 1516 +3 939 909 911 +3 954 1396 1408 +3 1424 1421 1405 +3 1267 1751 1775 +3 1472 1466 1508 +3 1539 1666 1593 +3 518 959 1340 +3 959 524 1572 +3 617 1577 597 +3 524 959 518 +3 634 1008 617 +3 518 1306 439 +3 524 518 439 +3 553 544 535 +3 572 481 561 +3 591 584 578 +3 617 597 591 +3 628 617 591 +3 617 628 634 +3 657 650 648 +3 676 671 664 +3 693 688 683 +3 572 493 481 +3 751 591 597 +3 657 758 756 +3 775 648 767 +3 792 785 780 +3 835 829 181 +3 860 854 845 +3 875 870 865 +3 889 693 683 +3 870 893 865 +3 693 904 900 +3 915 911 909 +3 927 924 921 +3 924 935 931 +3 946 941 939 +3 959 954 947 +3 664 967 52 +3 987 493 572 +3 1002 835 994 +3 676 1014 1008 +3 1033 683 1023 +3 1043 1039 52 +3 1014 676 1045 +3 584 591 493 +3 493 751 481 +3 1045 664 1039 +3 1098 181 829 +3 578 628 591 +3 1112 572 561 +3 1126 1120 1117 +3 1142 1137 1132 +3 1180 683 688 +3 1192 987 1112 +3 1120 1201 1142 +3 1033 1213 835 +3 780 1192 1219 +3 1126 1230 1226 +3 544 889 1240 +3 648 650 1250 +3 1267 1264 1258 +3 1283 1277 1274 +3 1258 1289 561 +3 1301 1277 1295 +3 1132 1258 1306 +3 889 544 904 +3 544 553 1283 +3 1230 875 1323 +3 1336 1332 994 +3 1132 1306 1340 +3 254 1219 1192 +3 870 1363 893 +3 1377 1371 921 +3 924 48 921 +3 1396 1393 1371 +3 927 921 1399 +3 1405 1404 1377 +3 941 1408 1404 +3 1405 1377 921 +3 1404 1396 1377 +3 1421 1404 1405 +3 921 48 1424 +3 915 1424 1431 +3 1405 921 1424 +3 935 1119 931 +3 1424 48 1431 +3 1461 915 1431 +3 909 1424 915 +3 1472 1470 1466 +3 941 1421 909 +3 909 1421 1424 +3 941 1404 1421 +3 954 1393 1396 +3 1399 921 1371 +3 941 946 1408 +3 1371 1377 1396 +3 947 954 1494 +3 1396 1404 1408 +3 1508 1466 935 +3 1371 1516 1399 +3 1508 935 924 +3 1516 1472 1399 +3 954 1527 1393 +3 1472 927 1399 +3 1527 1472 1516 +3 1119 935 1539 +3 1508 924 927 +3 931 48 924 +3 1472 1508 927 +3 1240 994 1332 +3 1393 1527 1516 +3 959 1562 1527 +3 1572 1562 959 +3 617 1008 1577 +3 683 1033 1002 +3 1539 1593 1119 +3 1562 1572 1480 +3 1340 1306 518 +3 1264 1614 1289 +3 1045 1291 1014 +3 1043 1045 1039 +3 1043 1291 1045 +3 1631 1630 1629 +3 1332 1336 1614 +3 1226 1636 1126 +3 664 1045 676 +3 1630 1631 1264 +3 493 591 751 +3 671 634 628 +3 909 939 941 +3 1539 1667 1666 +3 1408 1494 954 +3 1631 1332 1614 +3 671 676 634 +3 671 1680 967 +3 1480 1572 1667 +3 756 578 650 +3 1696 671 628 +3 628 578 1696 +3 1240 535 544 +3 1192 780 1250 +3 1008 634 676 +3 1480 1667 1539 +3 1562 1477 1527 +3 1562 1480 1477 +3 1470 1472 1527 +3 835 1002 1033 +3 994 1240 1002 +3 1470 1480 1466 +3 1477 1470 1527 +3 1477 1480 1470 +3 1751 1267 1137 +3 1192 1755 254 +3 959 947 1340 +3 994 181 1336 +3 1636 1226 1766 +3 181 994 835 +3 1289 1755 1112 +3 650 578 584 +3 1779 1775 1773 +3 954 959 1527 +3 181 1098 254 +3 250 1033 1023 +3 250 1213 1033 +3 1201 1120 1126 +3 1466 1539 935 +3 987 572 1112 +3 904 693 889 +3 889 1002 1240 +3 493 987 584 +3 1636 1283 1779 +3 1023 1180 854 +3 1023 683 1180 +3 860 845 900 +3 1180 688 845 +3 1751 1142 1773 +3 845 688 693 +3 967 664 671 +3 53 1820 1295 +3 1295 860 1301 +3 1820 854 860 +3 693 900 845 +3 1142 1132 1340 +3 904 1274 1301 +3 1137 1142 1751 +3 904 1301 900 +3 1274 1277 1301 +3 1336 254 1755 +3 1773 1775 1751 +3 1862 1363 870 +3 1192 1250 987 +3 1629 1775 553 +3 1629 1630 1775 +3 1614 1264 1631 +3 1267 1775 1630 +3 904 1283 1274 +3 904 544 1283 +3 535 1629 553 +3 535 1240 1332 +3 1629 535 1631 +3 1258 561 1306 +3 1277 1636 1766 +3 1137 1258 1132 +3 1264 1267 1630 +3 1264 1289 1258 +3 1137 1267 1258 +3 1283 1636 1277 +3 1755 1614 1336 +3 1889 1888 1340 +3 254 1336 181 +3 1126 1117 1230 +3 1340 1888 1142 +3 829 835 1213 +3 756 1696 578 +3 650 657 756 +3 1230 1117 870 +3 1126 1636 1201 +3 1117 1120 870 +3 1340 947 1889 +3 1363 1862 1888 +3 1755 1192 1112 +3 1230 1323 1226 +3 1929 1766 1226 +3 875 1230 870 +3 1120 1862 870 +3 1614 1755 1289 +3 1779 1773 1201 +3 1779 1201 1636 +3 1773 1142 1201 +3 1779 553 1775 +3 1277 1766 1295 +3 1295 1766 53 +3 1696 756 1680 +3 1952 420 1948 +3 1961 1958 1955 +3 1970 1966 1963 +3 1958 1972 1971 +3 1979 1977 1975 +3 1628 1302 1410 +3 1995 1994 1993 +3 1883 1357 1362 +3 1551 2017 1618 +3 2023 1505 1551 +3 2030 1785 2025 +3 2034 2033 2031 +3 2041 1502 2035 +3 1994 2048 2044 +3 2054 1502 1993 +3 1551 1505 2055 +3 2025 2059 2058 +3 290 2033 2034 +3 2061 2060 35 +3 2064 1963 2062 +3 1970 1963 2064 +3 2070 2061 35 +3 2058 2036 2025 +3 2082 2080 2078 +3 2090 2088 2086 +3 2033 2041 2035 +3 1357 2101 1362 +3 1270 2115 1465 +3 2127 1996 2121 +3 1875 1628 2130 +3 2142 2141 2139 +3 2146 2144 2143 +3 2146 2143 2078 +3 2121 2153 2054 +3 2163 2160 2082 +3 2088 2090 2163 +3 2086 33 2130 +3 2175 2090 2086 +3 2088 33 2086 +3 1628 2182 2130 +3 2160 2163 2090 +3 1961 2153 1996 +3 954 2196 1975 +3 2060 2061 1948 +3 2034 420 363 +3 1509 1707 1362 +3 2234 1431 2229 +3 2242 2239 524 +3 2248 2246 2244 +3 1509 1482 1707 +3 1222 556 2142 +3 1410 1646 1628 +3 1875 2115 1628 +3 2182 1628 1646 +3 2080 2312 2146 +3 2321 1883 1705 +3 2328 2312 2321 +3 1684 1222 1482 +3 556 2141 2142 +3 959 2383 2324 +3 1684 556 1222 +3 2417 2064 2062 +3 1952 363 420 +3 2023 2035 1502 +3 2025 1082 2059 +3 524 2239 2383 +3 2044 2383 2239 +3 2457 2454 1551 +3 2031 2465 2034 +3 2070 1970 2061 +3 2070 1966 1970 +3 2048 1444 2383 +3 2034 363 290 +3 2041 1224 1502 +3 2044 2239 2242 +3 1646 2501 2182 +3 2023 1502 1505 +3 2248 2511 2196 +3 909 2527 915 +3 2234 915 1431 +3 2182 2175 2130 +3 2244 2246 2229 +3 2246 941 2234 +3 1914 2565 1913 +3 1618 2457 1551 +3 2582 2160 2090 +3 2143 2144 2139 +3 954 1977 959 +3 2160 2582 2600 +3 2080 2146 2078 +3 2080 2160 2600 +3 2130 2175 2086 +3 2582 2090 2175 +3 2080 2600 2312 +3 1646 1410 1357 +3 2146 2312 2144 +3 1955 1551 2055 +3 1705 1362 1707 +3 1994 1995 2048 +3 2501 1646 1883 +3 1883 1362 1705 +3 2600 2321 2312 +3 2144 2312 2328 +3 2697 1270 1465 +3 1302 2115 1270 +3 2527 2703 1410 +3 1408 2101 941 +3 2711 2527 1302 +3 2527 909 2703 +3 2697 2711 1270 +3 2697 1431 2711 +3 2527 1410 1302 +3 2101 2726 1362 +3 2711 1302 1270 +3 1357 1883 1646 +3 1996 1977 1961 +3 2328 2321 1705 +3 2703 941 2101 +3 2144 1705 1707 +3 941 2703 909 +3 959 2324 1362 +3 2383 1684 2324 +3 2324 1509 1362 +3 2324 1482 1509 +3 1705 2144 2328 +3 1707 1482 2144 +3 2144 2142 2139 +3 2144 1482 1222 +3 2144 1222 2142 +3 1482 2324 1684 +3 915 2711 1431 +3 2036 2048 2025 +3 1224 2041 1785 +3 2030 2025 1995 +3 2044 2048 2383 +3 1995 2025 2048 +3 2080 2082 2160 +3 2153 2121 1996 +3 2383 1444 1684 +3 1551 1955 2017 +3 2041 2064 2417 +3 2030 1224 1785 +3 2033 2064 2041 +3 1994 2121 2054 +3 1993 1502 1224 +3 2127 2121 1994 +3 1979 1972 1977 +3 959 524 2383 +3 2055 2054 2153 +3 2127 1994 2044 +3 1972 1979 1971 +3 959 1362 2726 +3 2242 1996 2127 +3 2703 1357 1410 +3 1996 2242 524 +3 2703 2101 1357 +3 1883 2321 2501 +3 954 1975 1977 +3 2127 2044 2242 +3 2175 2182 2582 +3 2711 915 2527 +3 2101 1408 2726 +3 1505 1502 2055 +3 2153 1961 1955 +3 1996 524 959 +3 959 1977 1996 +3 2246 2234 2229 +3 1994 2054 1993 +3 2054 2055 1502 +3 2064 290 1970 +3 2064 2033 290 +3 2061 290 1952 +3 2061 1970 290 +3 2454 2035 2023 +3 2457 2465 2031 +3 2896 2034 2465 +3 2896 420 2034 +3 2061 1952 1948 +3 290 363 1952 +3 2035 2031 2033 +3 2035 2454 2031 +3 1551 2454 2023 +3 2457 2031 2454 +3 1993 2030 1995 +3 1302 1628 2115 +3 2914 2895 2913 +3 1955 1958 2017 +3 1971 1918 1914 +3 1961 1972 1958 +3 941 2246 1408 +3 1958 1971 2017 +3 1972 1961 1977 +3 1914 2017 1971 +3 2565 2914 2913 +3 1785 1082 2025 +3 2914 2565 2951 +3 2895 2954 94 +3 2895 2914 2954 +3 2951 2954 2914 +3 2321 2600 2501 +3 2017 1914 1913 +3 1975 164 2565 +3 2030 1993 1224 +3 1918 1979 1975 +3 1918 1971 1979 +3 1918 2565 1914 +3 1082 1785 2041 +3 2017 1913 32 +3 1082 2041 2417 +3 1684 1444 556 +3 2048 2036 1444 +3 3007 2248 2244 +3 2248 1408 2246 +3 2511 2248 3007 +3 909 915 2234 +3 2726 954 959 +3 2582 2501 2600 +3 2726 1408 954 +3 1975 2196 164 +3 2501 2582 2182 +3 909 2234 941 +3 3036 2511 3007 +3 3036 2895 94 +3 1408 2248 954 +3 1955 2055 2153 +3 96 94 2954 +3 2511 96 2196 +3 2565 164 2951 +3 2511 94 96 +3 2511 3036 94 +3 96 164 2196 +3 2954 164 96 +3 2954 2951 164 +3 2913 1913 2565 +3 2565 1918 1975 +3 1913 2913 32 +3 2196 954 2248 +3 1911 2258 2262 +3 2262 2761 1910 +3 1911 27 2258 +3 2038 3099 1411 +3 1176 1454 2829 +3 3122 2541 2549 +3 3129 3127 3125 +3 3133 1433 3130 +3 3137 3136 3134 +3 3141 3140 3139 +3 2099 3142 25 +3 3142 822 3143 +3 3142 814 822 +3 3153 3151 3150 +3 3156 3155 3154 +3 3155 3156 3157 +3 3155 3157 3159 +3 3165 3163 770 +3 3167 3137 3134 +3 3163 3171 3136 +3 1910 1911 2262 +3 2424 1910 2761 +3 3099 2038 3178 +3 654 1942 2424 +3 649 1941 1942 +3 651 3198 3196 +3 3154 3155 3201 +3 1079 1073 3206 +3 3211 3178 3206 +3 3099 3211 3212 +3 3217 2074 991 +3 945 1190 3217 +3 2094 2072 3221 +3 2040 2094 3151 +3 3153 2040 3151 +3 3153 2047 2040 +3 3139 1190 942 +3 3171 3165 26 +3 3239 3238 3236 +3 3240 3239 3137 +3 2018 2806 3241 +3 3139 1187 1190 +3 3248 803 651 +3 3127 1047 3249 +3 3252 974 3133 +3 774 770 3255 +3 2072 2074 3217 +3 3127 3129 3261 +3 3130 3264 3154 +3 3221 3266 3265 +3 3221 2072 3217 +3 3157 3266 3269 +3 3269 3221 3217 +3 677 3270 3198 +3 3269 3266 3221 +3 1047 1187 3249 +3 3278 3276 3129 +3 3264 3167 3134 +3 3140 3141 3238 +3 3167 1433 3261 +3 1433 3167 3264 +3 1941 2806 2018 +3 2829 2541 3292 +3 774 3292 3122 +3 2829 2538 2541 +3 3238 3239 3240 +3 3292 2541 3122 +3 2835 906 3304 +3 3130 1433 3264 +3 3276 3139 3140 +3 781 803 3248 +3 3139 3278 1187 +3 2002 3178 2038 +3 25 3142 3143 +3 2099 2047 814 +3 651 3196 3248 +3 3212 3327 1418 +3 3330 3329 3328 +3 3198 3328 3196 +3 3270 677 942 +3 3201 3155 3252 +3 3196 3328 3329 +3 3201 3133 3130 +3 3201 3252 3133 +3 3165 3122 2549 +3 3252 3155 3159 +3 822 814 3150 +3 3142 2099 814 +3 814 3153 3150 +3 814 2047 3153 +3 3265 3266 3157 +3 677 3139 942 +3 3358 3159 3269 +3 945 3217 991 +3 1190 3358 3217 +3 3358 3269 3217 +3 3159 3157 3269 +3 3358 1187 1047 +3 3358 1190 1187 +3 974 1047 3127 +3 1433 3133 974 +3 3240 3140 3238 +3 3159 1047 3252 +3 3140 3240 3129 +3 3252 1047 974 +3 3122 3165 770 +3 3167 3240 3137 +3 3140 3129 3276 +3 3249 1187 3278 +3 3125 3249 3278 +3 3125 3127 3249 +3 974 3261 1433 +3 3125 3278 3129 +3 3241 3330 2018 +3 3136 3236 3163 +3 3137 3239 3136 +3 3236 3136 3239 +3 3240 3261 3129 +3 3165 3171 3163 +3 26 3165 2442 +3 3163 593 770 +3 3255 770 593 +3 1110 3255 593 +3 3304 906 774 +3 3261 974 3127 +3 3255 3304 774 +3 3236 3394 593 +3 781 3255 1110 +3 781 3394 3236 +3 1110 593 3394 +3 3394 781 1110 +3 3238 3402 781 +3 3163 3236 593 +3 3329 3330 3241 +3 3248 3196 3403 +3 3276 3278 3139 +3 677 3141 3139 +3 3261 3240 3167 +3 3402 803 781 +3 3402 3141 651 +3 3255 3248 3403 +3 3165 2549 2442 +3 1047 3159 3358 +3 803 3402 651 +3 3238 781 3236 +3 651 3141 677 +3 3402 3238 3141 +3 3255 781 3248 +3 3241 3419 3329 +3 3419 3304 3255 +3 3403 3419 3255 +3 906 3292 774 +3 3196 3419 3403 +3 3241 3304 3419 +3 3241 769 3304 +3 649 990 2806 +3 906 1176 3292 +3 1454 2835 649 +3 3206 3456 3211 +3 649 2835 990 +3 2538 1454 1400 +3 2538 2829 1454 +3 3292 1176 2829 +3 906 2835 1176 +3 1176 2835 1454 +3 649 2806 1941 +3 3304 769 2835 +3 3241 2806 769 +3 769 990 2835 +3 769 2806 990 +3 654 649 1942 +3 654 1454 649 +3 3327 991 1418 +3 3328 3529 3527 +3 3328 3327 3529 +3 3198 651 677 +3 3328 3198 3327 +3 3419 3196 3329 +3 942 1190 945 +3 2018 3330 1073 +3 2018 1073 1079 +3 3327 945 991 +3 3540 942 945 +3 3327 3270 3540 +3 3327 3198 3270 +3 3327 3540 945 +3 3270 942 3540 +3 3154 3201 3130 +3 3527 3212 3211 +3 3328 3527 3330 +3 1411 1418 2038 +3 3527 3456 3330 +3 3527 3211 3456 +3 3529 3212 3527 +3 3529 3327 3212 +3 3212 1411 3099 +3 3212 1418 1411 +3 3206 1997 1079 +3 3456 1073 3330 +3 3178 3211 3099 +3 2002 1997 3206 +3 3151 3157 3156 +3 2002 3206 3178 +3 2761 654 2424 +3 2761 1454 654 +3 1454 2761 1400 +3 3456 3206 1073 +3 770 774 3122 +3 3265 3151 3221 +3 3221 3151 2094 +3 3157 3151 3265 +3 2456 2460 3566 +3 2456 3525 2460 +3 2734 2481 55 +3 2714 434 2481 +3 2481 434 833 +3 3595 3566 3593 +3 1719 3597 1673 +3 3603 3601 2362 +3 1434 1451 3604 +3 1719 1415 2389 +3 2318 1455 3611 +3 1683 3566 1412 +3 3622 678 669 +3 3634 3633 3631 +3 1110 630 3394 +3 1110 3394 3637 +3 1110 3637 588 +3 1845 3622 3644 +3 3648 3622 3647 +3 906 3304 3649 +3 3653 51 52 +3 630 3655 3633 +3 1602 51 3653 +3 3597 1719 3657 +3 1571 830 3661 +3 1415 3668 1412 +3 1845 602 1115 +3 3647 3622 1845 +3 2734 2629 2481 +3 3593 3681 3595 +3 2628 3593 3566 +3 3525 3657 2460 +3 1415 2318 3668 +3 424 1683 434 +3 3700 3698 2369 +3 3706 1320 1682 +3 1673 602 1719 +3 3720 602 1528 +3 3724 1460 1455 +3 1314 1571 1682 +3 2369 2362 3734 +3 3734 2362 3601 +3 1861 906 3649 +3 2541 3292 3653 +3 1861 3292 906 +3 1434 3762 3760 +3 3653 3292 1861 +3 3603 1709 1528 +3 3779 906 3292 +3 3601 3603 757 +3 1179 906 3779 +3 3649 3789 3787 +3 3304 3794 3255 +3 3789 3255 3787 +3 3631 3633 3648 +3 3647 1845 1115 +3 1412 2389 1415 +3 2714 424 434 +3 2628 2734 3681 +3 2714 2629 424 +3 2714 2481 2629 +3 2629 2628 424 +3 2629 2734 2628 +3 2456 3566 3595 +3 2628 3681 3593 +3 1451 1434 830 +3 1671 1115 1673 +3 3657 1719 2389 +3 424 2628 3566 +3 1683 1682 3661 +3 630 3633 3634 +3 1682 1683 3668 +3 1683 3661 3872 +3 1460 3611 1455 +3 3794 906 1179 +3 1455 2318 1709 +3 2318 1415 3720 +3 3611 1460 3706 +3 1412 3668 1683 +3 3885 3884 3872 +3 3887 3872 3884 +3 3890 3887 3884 +3 3893 3891 3887 +3 3890 3885 52 +3 3885 3872 3661 +3 3893 3890 52 +3 3893 3887 3890 +3 830 3885 3661 +3 3890 3884 3885 +3 3720 1719 602 +3 3668 3611 3706 +3 1709 3720 1528 +3 1682 3668 3706 +3 602 1673 1115 +3 3611 3668 2318 +3 3885 830 52 +3 588 3787 3255 +3 1719 3720 1415 +3 1451 830 1571 +3 1682 1571 3661 +3 1314 1451 1571 +3 1320 1314 1682 +3 1320 1451 1314 +3 3833 3633 3655 +3 3787 588 1602 +3 1709 3603 2305 +3 1412 3566 2389 +3 3655 630 1110 +3 1845 1528 602 +3 1845 3644 1528 +3 3304 906 3794 +3 1320 3706 1460 +3 2541 3970 2404 +3 2460 2389 3566 +3 3700 2369 2404 +3 3698 2362 2369 +3 3760 3762 3700 +3 1602 588 51 +3 3970 3700 2404 +3 3762 3698 3700 +3 3970 3760 3700 +3 757 669 3601 +3 52 3970 2541 +3 52 3760 3970 +3 52 1434 3760 +3 52 830 1434 +3 2404 3292 2541 +3 2404 2369 3779 +3 2541 3653 52 +3 1863 1602 3653 +3 3653 1861 1863 +3 3724 3698 3762 +3 2404 3779 3292 +3 3734 1179 3779 +3 678 1179 3734 +3 669 757 3644 +3 2369 3734 3779 +3 3601 678 3734 +3 669 678 3601 +3 3255 1110 588 +3 1110 3255 3655 +3 3698 3724 2305 +3 3566 1683 424 +3 2362 2305 3603 +3 3649 1602 1863 +3 678 3833 1179 +3 1602 3649 3787 +3 3304 3255 3789 +3 3622 669 3644 +3 2305 2362 3698 +3 1460 3724 3604 +3 3762 3604 3724 +3 1861 3649 1863 +3 3304 3789 3649 +3 3633 3622 3648 +3 3604 3762 1434 +3 3644 757 1528 +3 2389 2460 3657 +3 3833 678 3622 +3 757 3603 1528 +3 3655 3794 3833 +3 3634 563 630 +3 434 3872 3887 +3 434 3891 833 +3 3633 3833 3622 +3 3794 1179 3833 +3 3637 51 588 +3 3794 3655 3255 +3 630 4081 3394 +3 434 3887 3891 +3 563 4081 630 +3 2305 1455 1709 +3 1320 3604 1451 +3 3604 1320 1460 +3 3720 1709 2318 +3 434 1683 3872 +3 1673 914 1671 +3 1673 3597 914 +3 1455 2305 3724 +3 1388 2408 1340 +3 4092 3886 3663 +3 2408 2344 518 +3 4125 2127 4122 +3 2054 1502 1326 +3 4131 4129 4128 +3 4134 4133 4132 +3 4134 4132 3254 +3 4132 3253 3254 +3 4093 89 2657 +3 1847 3365 2473 +3 1230 4140 1226 +3 89 87 4145 +3 4149 2986 4147 +3 1879 3937 1878 +3 1862 409 4149 +3 4155 3316 4154 +3 518 4156 2329 +3 1700 1502 2337 +3 1867 4140 4147 +3 3440 3323 3883 +3 3323 3317 4167 +3 2619 3822 2910 +3 4175 1748 1244 +3 3870 1204 1212 +3 4181 3725 3869 +3 3609 337 319 +3 4191 3317 3725 +3 185 331 337 +3 496 1999 1748 +3 4198 414 1732 +3 1732 1999 4198 +3 1999 313 4198 +3 414 77 1732 +3 2473 1830 1847 +3 1120 4208 3186 +3 1212 1204 4213 +3 3870 4218 4216 +3 4221 4220 4219 +3 2054 2337 1502 +3 4230 1276 73 +3 1326 1502 1463 +3 4154 3316 3228 +3 4122 2054 1326 +3 1463 1459 4230 +3 2127 2121 4122 +3 163 4147 2986 +3 2657 3254 3149 +3 4145 1867 89 +3 4131 3886 4092 +3 4218 4189 4216 +3 331 414 4198 +3 1987 3325 313 +3 4198 337 331 +3 313 469 1987 +3 313 1999 469 +3 3869 3870 4216 +3 3905 3812 3792 +3 3870 3869 3812 +3 4191 3725 4181 +3 3686 4213 1204 +3 3811 3792 3812 +3 4260 4259 3792 +3 1588 1581 4261 +3 2657 2006 2473 +3 2408 826 2337 +3 4265 1397 1588 +3 2435 4220 4221 +3 4221 4219 3123 +3 826 4273 2120 +3 3123 1589 4274 +3 1581 3228 3316 +3 4280 4261 4279 +3 3186 1862 1120 +3 4282 1120 1117 +3 2457 1980 998 +3 4219 4220 4279 +3 3124 1980 4221 +3 2454 2449 2435 +3 4286 1226 1929 +3 1869 4147 163 +3 1117 1120 4149 +3 998 4286 1929 +3 1847 2469 1340 +3 3440 2567 2579 +3 163 2986 488 +3 488 409 2469 +3 409 1862 1888 +3 3883 3863 3440 +3 4181 4216 182 +3 2023 1502 1700 +3 3863 3883 3822 +3 4175 496 1748 +3 469 1999 496 +3 488 1830 163 +3 4280 4273 4261 +3 2567 3440 3863 +3 2010 3365 1896 +3 337 3609 182 +3 3812 1204 3870 +3 4218 3870 1212 +3 1204 3812 3905 +3 1204 3905 3686 +3 4259 4213 3686 +3 3811 3812 3869 +3 3325 4167 3317 +3 3609 4331 182 +3 4331 4336 4191 +3 313 319 4198 +3 4282 1117 1230 +3 319 3100 3609 +3 3625 2026 2195 +3 319 337 4198 +3 4175 1987 496 +3 469 496 1987 +3 3325 3100 319 +3 4336 3609 3100 +3 182 4331 4181 +3 3609 4336 4331 +3 4331 4191 4181 +3 4336 3100 3325 +3 4336 3325 4191 +3 3317 4191 3325 +3 4167 3822 3883 +3 3323 3725 3317 +3 4282 1230 1226 +3 4384 2564 3937 +3 1878 4385 2026 +3 2579 3176 3710 +3 1700 2120 2023 +3 4385 1878 3937 +3 2530 4384 1879 +3 4128 3721 3886 +3 4402 4122 1326 +3 4402 4125 4122 +3 4260 2579 2329 +3 518 2329 1340 +3 3625 2195 1244 +3 3176 2010 3710 +3 3440 3811 3323 +3 2910 3822 1938 +3 4259 3905 3792 +3 4259 3686 3905 +3 3725 3811 3869 +3 2010 3176 2530 +3 3937 1879 4384 +3 4156 4260 2329 +3 185 182 4189 +3 2054 4122 2121 +3 2337 826 1700 +3 4189 182 4216 +3 2408 1388 826 +3 3228 1581 1588 +3 1340 1397 1388 +3 2579 3792 3440 +3 2530 3365 2010 +3 2473 3254 2657 +3 3792 2579 4260 +3 2530 3677 3365 +3 4273 4280 2120 +3 1388 1397 4265 +3 1340 3710 1896 +3 2023 2454 1459 +3 4230 1459 1276 +3 2195 1987 4175 +3 4155 4154 4208 +3 4265 4261 4273 +3 2457 2454 2435 +3 1276 1459 2454 +3 2120 2449 2023 +3 2121 2408 2054 +3 4273 826 1388 +3 4273 1388 4265 +3 3123 4274 3124 +3 1980 2435 4221 +3 2457 2435 1980 +3 2449 4220 2435 +3 1276 2457 998 +3 1276 2454 2457 +3 1590 3123 4219 +3 4274 1980 3124 +3 1276 998 73 +3 1588 3186 3228 +3 998 4274 1589 +3 998 1980 4274 +3 1712 1590 4219 +3 3316 1589 1590 +3 4221 3123 3124 +3 1590 1589 3123 +3 4279 1712 4219 +3 1581 3316 1712 +3 3710 1340 2329 +3 2026 3625 3721 +3 2449 4280 4220 +3 4261 4265 1588 +3 4280 4279 4220 +3 1581 1712 4279 +3 4261 1581 4279 +3 4155 4208 4286 +3 3186 1888 1862 +3 4140 1867 1929 +3 1862 4149 1120 +3 4147 1869 1867 +3 4147 1230 4149 +3 1226 4140 1929 +3 4149 1230 1117 +3 4286 998 4155 +3 4282 4286 4208 +3 1226 4286 4282 +3 1340 1888 3186 +3 1340 2408 518 +3 4154 3186 4208 +3 1589 4155 998 +3 4155 1589 3316 +3 1712 3316 1590 +3 2337 2054 2408 +3 2408 2121 2344 +3 2026 3721 3926 +3 4208 1120 4282 +3 2469 1888 1340 +3 409 488 4552 +3 4149 4552 2986 +3 2469 1847 488 +3 409 1888 2469 +3 4552 4149 409 +3 73 1929 4145 +3 73 998 1929 +3 4384 2530 3176 +3 4167 3883 3323 +3 89 1867 1869 +3 1230 4147 4140 +3 89 1869 88 +3 3228 3186 4154 +3 89 88 2006 +3 1869 163 88 +3 2454 2023 2449 +3 88 163 2006 +3 1896 1847 1340 +3 2006 163 1830 +3 4134 3677 3683 +3 4552 488 2986 +3 3186 1588 1340 +3 89 4093 87 +3 3253 3149 3254 +3 4128 4133 4134 +3 4128 3683 3721 +3 4129 4133 4128 +3 1830 488 1847 +3 3822 2619 3863 +3 3725 3323 3811 +3 1340 1588 1397 +3 1879 3926 3677 +3 1938 1987 2195 +3 1867 4145 1929 +3 3926 3721 3683 +3 3926 1879 1878 +3 2010 1896 3710 +3 1502 2023 1459 +3 319 313 3325 +3 2026 3926 1878 +3 2449 2120 4280 +3 3886 3721 3625 +3 3677 4134 3254 +3 1987 1938 3822 +3 1847 1896 3365 +3 2006 2657 89 +3 3811 3440 3792 +3 2473 2006 1830 +3 2571 2564 3863 +3 2571 3937 2564 +3 2579 2567 3176 +3 3863 2564 2567 +3 2329 2579 3710 +3 2120 1700 826 +3 2619 2571 3863 +3 2619 4385 2571 +3 1987 4167 3325 +3 2910 4643 2619 +3 1987 3822 4167 +3 1938 2019 2910 +3 1879 3677 2530 +3 2195 2026 2019 +3 2567 2564 4384 +3 3683 4128 4134 +3 2567 4384 3176 +3 4128 3886 4131 +3 2571 4385 3937 +3 4643 2026 4385 +3 2619 4643 4385 +3 2019 2026 4643 +3 2910 2019 4643 +3 1938 2195 2019 +3 2195 4175 1244 +3 3254 2473 3365 +3 3663 3625 72 +3 72 3625 1244 +3 3625 3663 3886 +3 2657 2516 4093 +3 2657 3149 2516 +3 1459 1463 1502 +3 4216 4181 3869 +3 2121 2127 2344 +3 182 185 337 +3 3683 3677 3926 +3 3254 3365 3677 +3 1332 3145 3146 +3 2525 3029 4524 +3 28 4683 3339 +3 3338 3339 4683 +3 3978 3339 3338 +3 4524 4691 4525 +3 1912 875 4282 +3 3227 1711 4321 +3 4321 4208 4154 +3 357 3446 3983 +3 3447 3640 3982 +3 3628 2333 2331 +3 3105 3903 3118 +3 4708 3982 4706 +3 148 3640 3447 +3 3749 3751 254 +3 4219 1086 4323 +3 3338 4713 3341 +3 173 3928 3116 +3 4521 4305 3035 +3 4719 4485 27 +3 4562 4008 4070 +3 4497 4562 4070 +3 3029 4058 4524 +3 4550 2011 2014 +3 4221 1980 3243 +3 4323 4221 4219 +3 4557 2911 2361 +3 1230 4147 1126 +3 4154 1201 1773 +3 173 4124 2333 +3 4321 1711 1960 +3 4208 1927 1928 +3 4208 4321 1927 +3 1928 4282 4208 +3 1913 875 1912 +3 1913 4013 875 +3 2913 24 4013 +3 3980 3029 2525 +3 3478 4708 4706 +3 3478 4754 3555 +3 4525 3628 4524 +3 4756 4485 3035 +3 4485 4719 4521 +3 3447 4708 3555 +3 4764 4075 4562 +3 4511 848 4329 +3 4008 4562 4075 +3 3243 1369 4221 +3 4435 4436 4747 +3 1876 4147 1230 +3 1126 4147 4075 +3 4282 1230 1126 +3 1630 4533 1631 +3 3146 4253 155 +3 179 1336 254 +3 3983 3640 148 +3 176 3751 4124 +3 3216 1219 173 +3 3105 4713 4777 +3 4058 4691 4524 +3 2525 4524 2331 +3 3628 4525 2333 +3 4780 4525 4691 +3 2331 4124 3478 +3 413 4589 2014 +3 4305 3009 3035 +3 173 3116 3216 +3 4551 2011 4550 +3 3009 4747 4756 +3 4305 4550 4329 +3 1201 4764 4787 +3 413 2911 3880 +3 1336 1332 3749 +3 216 348 4040 +3 4323 1086 4040 +3 855 848 179 +3 1631 3145 1332 +3 1876 1230 875 +3 1712 4219 1369 +3 4040 1087 216 +3 1980 4557 2361 +3 4787 1773 1201 +3 1126 1201 4208 +3 4497 4495 4787 +3 1773 4787 4809 +3 195 4814 3146 +3 4809 1775 1773 +3 4013 1876 875 +3 1927 4321 1960 +3 3378 1775 4809 +3 1201 4154 4208 +3 3378 4533 1775 +3 1773 3316 4154 +3 4435 4747 3009 +3 3316 1773 1775 +3 875 1230 4282 +3 4208 4282 1126 +3 4533 3378 3145 +3 4533 3145 1631 +3 3145 3378 4809 +3 4787 4764 4497 +3 1775 4533 1630 +3 1775 1630 1712 +3 4589 413 348 +3 3145 4495 3146 +3 3749 3447 4754 +3 3146 148 3447 +3 3146 155 195 +3 4495 4497 3146 +3 155 3446 195 +3 4321 4154 3227 +3 4754 3751 3749 +3 4814 148 3146 +3 357 3983 148 +3 357 148 4814 +3 4764 1201 1126 +3 4524 3628 2331 +3 4124 2331 2333 +3 3928 4525 4780 +3 3447 3982 4708 +3 3555 4708 3478 +3 3980 2525 4706 +3 3980 4706 3982 +3 3105 4777 3903 +3 4691 3341 4780 +3 4282 1928 1912 +3 195 3446 357 +3 4497 4070 4253 +3 357 4814 195 +3 3977 3978 3338 +3 4253 3146 4497 +3 3146 3447 3749 +3 4525 3928 173 +3 855 179 3216 +3 3116 4435 3216 +3 179 254 3216 +3 4495 3145 4809 +3 4754 4124 3751 +3 216 964 4511 +3 4562 4497 4764 +3 3555 4754 3447 +3 4124 4754 3478 +3 2525 3478 4706 +3 4124 173 176 +3 1087 4040 1086 +3 3146 3749 1332 +3 4550 2014 4589 +3 3855 1332 179 +3 254 3751 176 +3 4329 855 4305 +3 4436 4435 3903 +3 1332 1336 179 +3 3928 3118 3116 +3 1336 3749 254 +3 4809 4787 4495 +3 179 234 3855 +3 3216 254 1219 +3 4435 3116 3903 +3 1219 254 176 +3 1126 4075 4764 +3 4329 4589 4511 +3 173 1219 176 +3 3338 4683 4713 +3 4551 4521 4719 +3 4551 4305 4521 +3 4485 4521 3035 +3 4305 855 3009 +3 3035 3009 4756 +3 27 2011 4551 +3 27 4551 4719 +3 4511 348 216 +3 3341 3977 3338 +3 964 179 848 +3 4329 848 855 +3 848 4511 964 +3 179 964 234 +3 4221 4323 4557 +3 4589 4329 4550 +3 4550 4305 4551 +3 348 4511 4589 +3 4040 3880 4323 +3 219 3855 234 +3 964 216 219 +3 964 219 234 +3 3855 1087 1086 +3 1087 3855 219 +3 1631 3855 1086 +3 3880 4040 348 +3 1631 1332 3855 +3 348 413 3880 +3 1630 1631 1086 +3 3880 2911 4557 +3 1712 1630 1086 +3 4557 4323 3880 +3 4557 1980 4221 +3 1086 4219 1712 +3 3009 855 3216 +3 3341 4713 3105 +3 3216 4435 3009 +3 3227 1369 1364 +3 1913 24 2913 +3 1913 2913 4013 +3 4154 3316 3227 +3 219 216 1087 +3 1711 1364 3243 +3 1711 3243 1980 +3 1369 3243 1364 +3 3227 1364 1711 +3 1369 4219 4221 +3 3478 2525 2331 +3 3316 1775 1712 +3 3316 1369 3227 +3 3118 3903 3116 +3 1712 1369 3316 +3 4780 3105 3118 +3 4780 3118 3928 +3 3105 4780 3341 +3 3977 3341 4691 +3 4691 4058 3977 +3 173 2333 4525 +3 3913 627 4833 +3 1468 1595 423 +3 496 64 477 +3 2090 2065 2160 +3 4831 471 2046 +3 4063 4064 4799 +3 3909 3157 4014 +3 69 3437 4816 +3 374 3687 4259 +3 3941 3458 3461 +3 3941 3461 3451 +3 3157 3451 3155 +3 3201 3565 3130 +3 3201 3130 3448 +3 3201 3448 4100 +3 3448 1760 4207 +3 1595 2086 2090 +3 386 4863 389 +3 462 3531 3530 +3 996 3530 68 +3 467 496 477 +3 4331 3609 3288 +3 627 3913 358 +3 486 313 435 +3 615 340 542 +3 406 378 380 +3 521 378 512 +3 552 398 529 +3 398 552 215 +3 587 431 319 +3 324 4366 1197 +3 3860 632 4832 +3 1897 353 615 +3 603 3860 4860 +3 4911 542 567 +3 542 4911 615 +3 996 2862 2864 +3 4259 4379 374 +3 389 340 347 +3 4837 1760 3448 +3 3813 3812 3841 +3 2080 1501 1515 +3 3437 3441 4841 +3 2087 2065 2090 +3 4816 1197 69 +3 1595 1468 2086 +3 4591 3656 3689 +3 3860 603 632 +3 2080 2160 2042 +3 2143 4063 4829 +3 4542 2046 374 +3 3905 3895 4259 +3 2116 4833 627 +3 4615 3610 332 +3 3814 3810 4836 +3 1759 1760 4837 +3 369 358 3913 +3 4841 3441 3442 +3 1759 4842 4207 +3 4014 3155 4100 +3 3157 3941 3451 +3 3451 3565 3155 +3 4207 1760 1759 +3 4816 3437 4841 +3 4615 4841 3442 +3 4064 4063 3221 +3 3157 3266 332 +3 4366 324 327 +3 2095 2094 2143 +3 3810 3531 462 +3 4615 324 4816 +3 2094 3221 4063 +3 4366 3689 1186 +3 4429 4858 4857 +3 2065 2042 2160 +3 3842 1186 3689 +3 69 1197 1186 +3 1515 1595 2160 +3 2086 2087 2090 +3 4799 4542 4829 +3 2094 4063 2143 +3 4860 567 603 +3 1515 2160 2080 +3 425 431 244 +3 3810 3935 386 +3 401 215 587 +3 3687 3905 4259 +3 319 3288 3609 +3 386 4796 4863 +3 1897 376 353 +3 3895 3905 3813 +3 376 512 374 +3 496 467 469 +3 319 3373 3288 +3 996 2864 462 +3 2862 4832 2864 +3 996 462 3530 +3 2864 4832 462 +3 3935 3810 462 +3 3810 4833 3531 +3 4374 1595 1515 +3 471 353 374 +3 1595 418 423 +3 4863 542 340 +3 462 632 3935 +3 462 4832 632 +3 3935 603 567 +3 3610 4615 3442 +3 3946 4542 4799 +3 3689 4366 4591 +3 632 603 3935 +3 4833 3810 3814 +3 1595 4374 418 +3 386 4836 3810 +3 3909 4064 3266 +3 3841 3869 4374 +3 4064 3909 3946 +3 332 3941 3157 +3 4833 3814 3913 +3 386 3935 4796 +3 369 389 4831 +3 4831 347 471 +3 2076 4833 2116 +3 365 3899 1983 +3 2116 627 1983 +3 3899 365 4542 +3 3869 3841 3812 +3 4836 386 369 +3 2046 4542 365 +3 2116 4474 2076 +3 4449 2076 1809 +3 1983 627 365 +3 1759 1809 4857 +3 369 4831 2046 +3 3531 4837 3448 +3 1809 4837 4449 +3 3812 3813 3905 +3 4879 4014 4100 +3 4857 4858 4879 +3 4449 4837 3531 +3 4857 4879 4842 +3 4858 4014 4879 +3 4857 4842 1759 +3 4879 4100 4842 +3 4100 4207 4842 +3 4100 3448 4207 +3 3155 3201 4100 +3 3155 3565 3201 +3 4014 3157 3155 +3 3610 3458 3941 +3 4858 3909 4014 +3 1983 4429 2116 +3 3946 3909 4858 +3 1809 1759 4837 +3 3946 3899 4542 +3 4429 1983 3899 +3 3899 3946 4858 +3 4829 4379 1651 +3 4836 3913 3814 +3 4615 4816 4841 +3 327 332 3266 +3 3266 3157 3909 +3 4379 4829 4542 +3 4858 4429 3899 +3 2094 2095 3656 +3 4799 4829 4063 +3 1197 4816 324 +3 4474 2116 4429 +3 567 4796 3935 +3 4528 4857 1809 +3 4796 567 542 +3 369 3913 4836 +3 347 4831 389 +3 2076 4528 1809 +3 4474 4857 4528 +3 2076 4474 4528 +3 4429 4857 4474 +3 2046 365 369 +3 1651 1497 2143 +3 4591 327 3221 +3 313 319 431 +3 3288 3373 415 +3 2146 1497 1501 +3 3813 1501 1497 +3 4366 327 4591 +3 1497 1651 4379 +3 3221 2094 4591 +3 4366 1186 1197 +3 2143 2146 2095 +3 2143 1497 2146 +3 2042 3746 3656 +3 3656 3746 3689 +3 3656 4591 2094 +3 3746 2065 3840 +3 2087 3842 3840 +3 2087 1186 3842 +3 3689 3746 3842 +3 3656 2095 2042 +3 2146 2080 2095 +3 2065 3746 2042 +3 2095 2080 2042 +3 2146 1501 2080 +3 2087 3840 2065 +3 3842 3746 3840 +3 69 2087 2086 +3 69 1186 2087 +3 2160 1595 2090 +3 3687 374 403 +3 467 280 313 +3 477 3373 280 +3 567 4860 4911 +3 4374 4181 418 +3 4064 3946 4799 +3 1515 3841 4374 +3 3941 332 3610 +3 3266 3221 327 +3 4379 3895 1497 +3 4379 4259 3895 +3 3895 3813 1497 +3 418 4331 3288 +3 4449 4833 2076 +3 4331 418 4181 +3 380 383 4494 +3 280 3373 319 +3 4494 398 401 +3 319 3609 587 +3 324 4615 332 +3 401 3609 4331 +3 4494 383 398 +3 587 3609 401 +3 4181 4374 3869 +3 4494 401 4331 +3 4833 4449 3531 +3 3812 406 3869 +3 3841 1515 1501 +3 3905 3687 3812 +3 2143 4829 1651 +3 1501 3813 3841 +3 3221 3266 4064 +3 380 3869 406 +3 415 418 3288 +3 4494 4181 380 +3 380 4181 3869 +3 4494 4331 4181 +3 406 3687 403 +3 406 3812 3687 +3 4542 374 4379 +3 2046 471 374 +3 542 4863 4796 +3 353 471 347 +3 340 389 4863 +3 319 313 280 +3 332 327 324 +3 353 347 340 +3 369 365 358 +3 376 374 353 +3 383 380 378 +3 389 369 386 +3 401 398 215 +3 378 406 403 +3 423 418 415 +3 435 431 425 +3 435 313 431 +3 469 467 313 +3 477 280 467 +3 486 469 313 +3 486 496 469 +3 403 512 378 +3 529 383 521 +3 512 403 374 +3 244 215 552 +3 431 587 215 +3 378 521 383 +3 383 529 398 +3 215 244 431 +3 340 615 353 +3 358 365 627 +3 654 649 643 +3 672 666 654 +3 687 70 679 +3 702 700 672 +3 712 709 702 +3 721 719 716 +3 735 731 727 +3 746 742 738 +3 764 759 752 +3 759 764 769 +3 800 793 782 +3 818 811 804 +3 842 837 830 +3 862 856 852 +3 877 856 869 +3 920 912 884 +3 928 926 923 +3 869 934 877 +3 862 869 856 +3 957 951 862 +3 969 966 961 +3 969 961 957 +3 983 981 978 +3 769 990 818 +3 1013 727 1003 +3 978 981 68 +3 731 735 1031 +3 1049 752 687 +3 649 990 1054 +3 700 702 709 +3 1074 1071 752 +3 759 1074 752 +3 1083 804 811 +3 804 1083 1085 +3 1013 746 727 +3 1115 1105 1099 +3 1105 1125 1099 +3 1139 1136 1131 +3 1150 1146 1136 +3 1083 700 1155 +3 1216 1211 1150 +3 666 811 649 +3 834 1228 961 +3 957 862 1253 +3 1271 1266 1263 +3 1228 951 961 +3 1296 920 1287 +3 1310 1305 934 +3 1320 1317 1314 +3 1328 1324 1085 +3 679 1049 687 +3 1328 1344 1324 +3 1350 1139 1346 +3 1356 782 1352 +3 1346 1131 1360 +3 1384 1378 1372 +3 1211 1146 1150 +3 1401 1398 1350 +3 1211 1216 1266 +3 800 1356 1406 +3 782 1356 800 +3 800 1406 1228 +3 862 852 1419 +3 1435 1432 1428 +3 1324 1115 1099 +3 1305 884 912 +3 1460 923 1455 +3 1483 1005 733 +3 1125 1490 1487 +3 869 1310 934 +3 733 1352 1115 +3 1296 912 920 +3 1378 1287 884 +3 1406 1483 1518 +3 1528 1535 723 +3 1378 1428 1372 +3 1460 1003 1320 +3 1031 837 842 +3 1378 1384 1287 +3 1566 1518 1432 +3 1524 830 1571 +3 1196 1344 1328 +3 990 649 811 +3 1049 679 1054 +3 1619 1483 733 +3 742 746 719 +3 811 666 1083 +3 700 1083 666 +3 1346 1490 1350 +3 1641 1639 1271 +3 1641 1271 1263 +3 1639 1647 1271 +3 1656 1216 1398 +3 1263 1266 1216 +3 1139 1350 1398 +3 834 1669 793 +3 1136 1139 1150 +3 1360 1099 1487 +3 1131 1346 1139 +3 1360 1487 1346 +3 1099 1125 1487 +3 1115 1352 1105 +3 1005 1356 1352 +3 928 1518 1619 +3 1483 1406 1356 +3 1428 1378 1310 +3 1455 926 1709 +3 1483 1619 1518 +3 1432 1435 1566 +3 1352 782 1105 +3 1266 1647 1211 +3 782 1125 1105 +3 782 793 1125 +3 1398 1150 1139 +3 1263 1216 1656 +3 1150 1398 1216 +3 1656 1398 1401 +3 764 1054 990 +3 1669 834 966 +3 1641 978 68 +3 1647 1266 1271 +3 966 834 961 +3 969 1498 966 +3 951 957 961 +3 966 1401 1669 +3 981 969 957 +3 981 983 969 +3 1498 983 978 +3 1498 969 983 +3 1435 869 862 +3 1432 1372 1428 +3 1253 862 1419 +3 951 1435 862 +3 1769 957 1253 +3 1769 981 957 +3 834 800 1228 +3 1228 1406 1566 +3 793 1490 1125 +3 1566 1435 951 +3 1518 928 1432 +3 1228 1566 951 +3 1619 1535 926 +3 1535 1619 733 +3 1498 1656 1401 +3 1428 869 1435 +3 1320 1384 1460 +3 1401 966 1498 +3 1535 1709 926 +3 1350 1669 1401 +3 1709 1535 1528 +3 733 1005 1352 +3 1483 1356 1005 +3 723 733 1115 +3 1838 1709 1528 +3 1843 1709 1838 +3 1528 723 1845 +3 1669 1350 1490 +3 1344 1528 1845 +3 869 1428 1310 +3 1384 1320 1287 +3 926 928 1619 +3 1372 923 1384 +3 926 1455 923 +3 1287 920 884 +3 1656 1498 978 +3 71 1296 830 +3 71 912 1296 +3 1518 1566 1406 +3 1320 1314 1287 +3 1524 1571 1314 +3 830 1296 1571 +3 842 1524 1317 +3 1314 1296 1287 +3 733 723 1535 +3 1571 1296 1314 +3 1317 1524 1314 +3 1524 842 830 +3 1372 1432 928 +3 1455 1013 1460 +3 1013 1455 1843 +3 746 1013 1196 +3 1013 1843 1196 +3 793 800 834 +3 1843 1838 1196 +3 1709 1843 1455 +3 719 746 1196 +3 721 716 1976 +3 1317 1320 1003 +3 731 1031 842 +3 716 719 1196 +3 716 712 1976 +3 1328 716 1196 +3 1328 712 716 +3 1838 1344 1196 +3 1838 1528 1344 +3 1344 1845 1324 +3 1490 793 1669 +3 2013 1324 1099 +3 1845 723 1115 +3 990 769 764 +3 727 738 735 +3 1155 709 1328 +3 738 727 746 +3 764 752 1049 +3 1071 687 752 +3 1085 1324 2013 +3 1845 1115 1324 +3 1310 884 1305 +3 884 1310 1378 +3 923 1372 928 +3 1003 731 1317 +3 923 1460 1384 +3 1003 727 731 +3 1085 1083 1155 +3 1003 1460 1013 +3 1155 700 709 +3 1054 764 1049 +3 978 1263 1656 +3 649 654 666 +3 1085 1155 1328 +3 1317 731 842 +3 643 1054 679 +3 709 712 1328 +3 811 818 990 +3 666 672 700 +3 719 721 742 +3 1054 643 649 +3 1263 978 1641 +3 1490 1346 1487 +3 2063 2007 2001 +3 1525 1514 2066 +3 2093 2092 1053 +3 2100 2098 2096 +3 2105 30 2102 +3 2111 2109 2107 +3 2114 2113 2112 +3 202 2111 2107 +3 2125 2098 2122 +3 2131 2128 2126 +3 2138 2093 1367 +3 2007 1525 2126 +3 2131 2151 2149 +3 2159 2156 2154 +3 2138 2166 2093 +3 2172 2170 2168 +3 1625 2172 2174 +3 2184 2180 2178 +3 2187 402 31 +3 2190 28 2189 +3 2194 2192 2191 +3 2191 2197 2194 +3 2201 2192 2198 +3 2201 2198 2203 +3 2112 2174 2208 +3 1569 2217 682 +3 2126 2224 2221 +3 2235 2231 682 +3 847 1279 2236 +3 2261 2260 868 +3 2260 2267 2263 +3 2263 1207 918 +3 621 248 2274 +3 621 2294 248 +3 621 2301 2294 +3 2109 2294 2306 +3 2109 2306 2309 +3 1237 2313 339 +3 202 2323 2149 +3 1057 1574 1088 +3 2365 2122 2359 +3 1053 2375 1367 +3 2170 2172 2178 +3 1514 1796 2066 +3 1279 847 2411 +3 2418 2098 2100 +3 696 686 2359 +3 248 2294 2109 +3 2375 2187 1574 +3 2208 2096 2112 +3 1367 1237 2138 +3 2168 2468 2100 +3 621 442 1753 +3 1525 2066 2224 +3 2128 2131 2257 +3 339 2497 1237 +3 2149 2257 2131 +3 1057 1088 2184 +3 2178 2180 31 +3 1624 1057 1062 +3 2180 1088 1567 +3 2526 2114 2096 +3 2418 2100 2468 +3 2535 2178 2172 +3 1062 1057 2535 +3 1053 404 2187 +3 2359 2459 2365 +3 2172 2168 2208 +3 2459 2359 2572 +3 2217 2581 2236 +3 696 2122 652 +3 2597 599 2191 +3 696 652 2190 +3 2112 2113 2601 +3 2572 2231 2459 +3 682 2624 1569 +3 918 1791 2625 +3 2601 2174 2112 +3 2601 2113 2313 +3 868 2263 847 +3 1796 442 2066 +3 1627 2663 448 +3 2221 2224 2066 +3 2263 468 847 +3 2677 2203 2676 +3 2412 2323 2107 +3 222 202 2151 +3 2485 2257 2149 +3 2274 2221 442 +3 2221 2274 2151 +3 2107 2323 202 +3 2126 2221 2131 +3 2485 2149 2323 +3 2107 2109 2105 +3 1624 1625 2375 +3 1625 2174 2375 +3 2412 2105 2102 +3 2717 1753 2663 +3 2151 2274 248 +3 248 2109 2111 +3 222 2111 202 +3 248 2111 222 +3 248 222 2151 +3 1207 448 1791 +3 2625 2744 2743 +3 448 442 1796 +3 2235 2113 2231 +3 2754 2744 2156 +3 2156 339 2754 +3 2572 2359 686 +3 1237 2497 2138 +3 686 599 2572 +3 2154 1796 1514 +3 2154 1514 1525 +3 2151 2131 2221 +3 442 2221 2066 +3 1525 2224 2126 +3 2744 1796 2154 +3 2063 1525 2007 +3 2001 2007 2128 +3 2187 2375 1053 +3 2172 1062 2535 +3 2092 404 1053 +3 1367 2375 1237 +3 2092 402 404 +3 2497 339 2156 +3 2187 31 2180 +3 1574 2187 1567 +3 1574 1567 1088 +3 1088 2180 2184 +3 2535 2184 2178 +3 2172 1625 1062 +3 2180 1567 2187 +3 1624 1574 1057 +3 2535 1057 2184 +3 1525 2063 2159 +3 1625 1624 1062 +3 404 402 2187 +3 2468 2168 2170 +3 2096 2098 2526 +3 2112 2096 2114 +3 2625 468 918 +3 2313 2174 2601 +3 2114 2231 2113 +3 2235 2313 2113 +3 2526 2365 2459 +3 2063 2166 2832 +3 2359 2122 696 +3 2105 2412 2107 +3 2832 2138 2497 +3 2832 2497 2159 +3 2166 2138 2832 +3 2063 2832 2159 +3 2154 1525 2159 +3 339 2313 2841 +3 2231 2114 2459 +3 1429 2841 2763 +3 2411 500 2763 +3 2841 2313 2235 +3 2841 1429 339 +3 2526 2459 2114 +3 2208 2174 2172 +3 2122 2365 2125 +3 1574 1624 2375 +3 2526 2098 2125 +3 2526 2125 2365 +3 2624 2572 599 +3 2100 2208 2168 +3 2096 2208 2100 +3 2149 2151 202 +3 682 2231 2624 +3 2572 2624 2231 +3 2191 2192 2597 +3 2191 599 686 +3 2191 686 2197 +3 1279 2217 2236 +3 2197 686 696 +3 2197 696 2190 +3 1569 2624 599 +3 1569 599 2597 +3 2597 2192 2201 +3 2597 2201 1569 +3 2677 2655 1569 +3 2203 1569 2201 +3 2841 2235 2411 +3 847 2236 868 +3 2217 1569 2655 +3 2949 2655 2676 +3 1569 2203 2677 +3 2655 2677 2676 +3 2235 682 2411 +3 1273 2217 1279 +3 2949 2581 2655 +3 1273 682 2217 +3 2581 2217 2655 +3 2411 1273 1279 +3 1207 2263 1627 +3 682 1273 2411 +3 2411 847 500 +3 2841 2411 2763 +3 500 847 2743 +3 1791 1796 2744 +3 2743 2744 2754 +3 2754 339 1429 +3 2754 500 2743 +3 1429 2763 500 +3 1429 500 2754 +3 448 1796 1791 +3 2126 2128 2007 +3 1791 2744 2625 +3 2743 847 468 +3 1753 2301 621 +3 442 621 2274 +3 2717 2301 1753 +3 2717 2663 3096 +3 2663 442 448 +3 2309 30 2105 +3 2105 2109 2309 +3 918 1207 1791 +3 468 2625 2743 +3 918 468 2263 +3 1627 2263 2267 +3 2260 2263 868 +3 2261 868 2236 +3 1753 442 2663 +3 3096 2663 1627 +3 1627 448 1207 +3 2189 2194 2197 +3 2197 2190 2189 +3 2581 2949 2236 +3 1053 1367 2093 +3 1237 2174 2313 +3 2154 2156 2744 +3 2156 2159 2497 +3 2174 1237 2375 +3 3184 3183 3182 +3 3191 2096 2112 +3 2223 3194 2222 +3 3203 2354 3199 +3 1449 3208 1481 +3 3219 1621 3169 +3 3225 2858 3080 +3 500 2763 2801 +3 2934 2621 2623 +3 2222 2759 2223 +3 2817 3246 3225 +3 3250 2222 3194 +3 1621 2320 1825 +3 3259 3257 2748 +3 2615 2934 3260 +3 2615 3263 2934 +3 3268 3267 1247 +3 1247 1194 3268 +3 1220 3274 55 +3 3263 54 3275 +3 3263 3277 2934 +3 3283 3281 3279 +3 717 1791 886 +3 3257 3293 2690 +3 3277 3279 3294 +3 3283 3279 3277 +3 3298 3297 3293 +3 1163 448 3299 +3 1659 459 463 +3 2858 3203 3306 +3 3183 3184 3309 +3 2690 2842 3311 +3 3309 3312 3183 +3 3318 2491 3080 +3 3321 3320 3319 +3 3321 3319 2870 +3 2673 2870 3298 +3 2491 3318 3324 +3 3259 2431 2721 +3 3267 3334 1168 +3 2601 3336 2313 +3 507 1232 2841 +3 2354 3203 2693 +3 717 1687 878 +3 3357 3203 3199 +3 1687 3294 878 +3 3312 3320 2673 +3 3309 3320 3312 +3 3298 2870 3297 +3 2673 3320 3321 +3 2673 3321 2870 +3 1449 886 2625 +3 2222 3250 2297 +3 886 1687 717 +3 1194 2313 1232 +3 3306 3080 2858 +3 3306 3318 3080 +3 1232 2491 3324 +3 3381 3380 2801 +3 3380 3381 3169 +3 2721 2431 2759 +3 2297 3182 2222 +3 2841 3381 2763 +3 1164 3386 1168 +3 1194 3191 3388 +3 3390 2112 3024 +3 1232 3324 1194 +3 2098 3386 3396 +3 2748 2749 2727 +3 3183 2718 2721 +3 2320 484 491 +3 3297 50 3293 +3 1163 1058 1576 +3 2763 507 2841 +3 3408 3407 3194 +3 507 459 2491 +3 448 2663 3299 +3 2623 574 491 +3 3275 3281 3283 +3 2621 574 2623 +3 2752 3298 2718 +3 3312 2718 3183 +3 2752 2673 3298 +3 3162 2313 3336 +3 3312 2673 2752 +3 3312 2752 2718 +3 2721 3182 3183 +3 3257 3259 2718 +3 2756 3246 2431 +3 2625 1791 1576 +3 3336 3219 3169 +3 3259 2756 2431 +3 459 3407 3408 +3 459 3408 2817 +3 2827 2431 3246 +3 3408 2827 2817 +3 2431 2827 2223 +3 3246 2817 2827 +3 2320 491 574 +3 3169 1621 3380 +3 2756 2748 3225 +3 2759 2431 2223 +3 2320 574 1825 +3 2756 3259 2748 +3 3219 1722 1621 +3 3246 2756 3225 +3 3357 3306 3203 +3 3225 3080 2491 +3 2898 1481 3208 +3 2623 484 2934 +3 2727 2858 3225 +3 2749 3053 2727 +3 2801 2763 3381 +3 2727 3053 3203 +3 2858 2727 3203 +3 2693 2690 3311 +3 3293 2842 2690 +3 3336 3169 3162 +3 3053 2693 3203 +3 3324 3268 1194 +3 2601 3390 3336 +3 3334 3592 1164 +3 3396 1220 55 +3 1278 3274 1220 +3 1278 3396 1164 +3 1278 1220 3396 +3 2096 3191 3514 +3 2693 3311 2354 +3 3024 2112 2096 +3 1164 1168 3334 +3 1247 1168 3514 +3 1164 3396 3386 +3 1168 3386 3514 +3 3336 3390 3618 +3 55 3024 3396 +3 3514 3386 2098 +3 3024 2098 3396 +3 2098 3024 2096 +3 2098 2096 3514 +3 3388 2112 2601 +3 3336 3618 3219 +3 1247 3514 3191 +3 1247 3191 1194 +3 3182 2297 3184 +3 1791 717 448 +3 3191 2112 3388 +3 1168 1247 3267 +3 2112 3390 2601 +3 3388 2601 2313 +3 2721 2718 3259 +3 3381 3162 3169 +3 1825 3380 1621 +3 1791 2625 886 +3 1232 2313 2841 +3 3182 2721 2759 +3 2841 2313 3161 +3 2827 3408 3194 +3 2718 3298 3257 +3 3618 3390 3024 +3 1722 3219 3618 +3 1722 3618 3024 +3 3592 3274 1278 +3 55 1722 3024 +3 1194 3388 2313 +3 448 1576 1791 +3 3161 2313 3162 +3 2749 2690 2693 +3 1481 574 1687 +3 2759 2222 3182 +3 2625 2743 1449 +3 3194 2223 2827 +3 55 484 2320 +3 55 2320 1722 +3 3161 3162 3381 +3 3161 3381 2841 +3 3208 500 2801 +3 3391 2898 3380 +3 2801 2898 3208 +3 2898 2801 3380 +3 1481 2898 3391 +3 1825 3391 3380 +3 1481 3391 1825 +3 1481 1825 574 +3 2625 1576 463 +3 500 459 507 +3 484 2623 491 +3 507 2491 1232 +3 3828 3277 3263 +3 3260 2934 484 +3 500 3208 1864 +3 1864 1449 2743 +3 1449 1864 3208 +3 3225 2491 2817 +3 2749 2748 3257 +3 500 1864 2743 +3 2690 2749 3257 +3 1687 886 1481 +3 463 459 2743 +3 2743 459 500 +3 2743 2625 463 +3 2727 3225 2748 +3 1659 1058 1163 +3 448 1163 1576 +3 1565 3407 459 +3 500 507 2763 +3 1565 459 1659 +3 1058 463 1576 +3 1278 1164 3592 +3 886 1449 1481 +3 463 1058 1659 +3 3194 3407 3250 +3 2749 2693 3053 +3 717 878 2663 +3 3277 3294 2621 +3 2491 459 2817 +3 3828 3283 3277 +3 2934 3277 2621 +3 3275 3283 3828 +3 3275 3828 3263 +3 3936 1565 1659 +3 3299 3936 1659 +3 1722 2320 1621 +3 3299 1659 1163 +3 3298 3293 3257 +3 448 717 2663 +3 1687 574 2621 +3 1687 2621 3294 +3 908 475 3950 +3 3959 3853 3957 +3 3950 3962 3960 +3 3966 1223 3964 +3 58 519 2769 +3 2149 2445 2485 +3 519 642 636 +3 3976 3763 3972 +3 364 3979 360 +3 1158 3013 2921 +3 3013 1158 440 +3 246 2301 3397 +3 440 2882 3013 +3 2882 440 3989 +3 3995 3994 3993 +3 3717 3997 3704 +3 3998 3966 1944 +3 4004 3521 3479 +3 3998 4005 3966 +3 1944 2211 3998 +3 4009 3853 3959 +3 255 1771 3549 +3 4009 3959 3994 +3 3853 3852 4011 +3 3704 4015 3717 +3 636 475 498 +3 2214 3998 2211 +3 228 475 908 +3 642 519 58 +3 3521 3650 1457 +3 4005 4032 1223 +3 4035 4034 4033 +3 1467 4039 4037 +3 3960 3962 4041 +3 636 3950 475 +3 4044 1198 3976 +3 4046 2927 2925 +3 4047 3852 3853 +3 3464 59 2610 +3 3957 3853 4011 +3 3521 4004 4010 +3 4004 3993 3994 +3 3650 3464 2610 +3 3650 2610 1457 +3 4060 4010 3959 +3 1036 1007 3957 +3 1007 59 3464 +3 3957 4062 4060 +3 1771 464 4032 +3 4068 3404 3454 +3 4039 1467 1457 +3 3521 1457 3479 +3 2504 2445 3404 +3 1467 3477 3479 +3 3331 2485 2445 +3 4079 4078 480 +3 3404 2445 2149 +3 2610 2769 4045 +3 808 475 228 +3 2610 4045 4090 +3 498 519 636 +3 3479 1457 1467 +3 4045 2769 519 +3 3964 1944 3966 +3 498 475 4045 +3 3717 4015 4107 +3 1130 2921 2923 +3 3397 4113 4034 +3 908 3704 4113 +3 4032 464 427 +3 427 4046 663 +3 908 3950 3704 +3 621 908 2301 +3 3950 3960 4015 +3 3763 3717 4107 +3 1783 3671 3535 +3 4139 360 4138 +3 2211 4143 2214 +3 4011 1036 3957 +3 1036 59 1007 +3 246 3549 3387 +3 3994 4143 4009 +3 4047 3853 4009 +3 1944 3964 1880 +3 4009 4152 4047 +3 2211 1944 1880 +3 2211 1880 4153 +3 4143 4153 4152 +3 3966 4005 1223 +3 3998 4032 4005 +3 4152 4009 4143 +3 2151 489 2274 +3 4158 2904 4157 +3 2214 4143 3995 +3 2214 3995 2292 +3 3995 4143 3994 +3 2292 4135 2214 +3 427 1223 4032 +3 3994 3959 4004 +3 2274 228 621 +3 4182 4046 2925 +3 1787 3535 2215 +3 3535 1787 1783 +3 4078 3976 1198 +3 2215 4135 2292 +3 3976 4078 3997 +3 2292 3477 2215 +3 3993 3479 3477 +3 426 364 4210 +3 4010 3650 3521 +3 4062 3650 4010 +3 3959 4010 4004 +3 1007 4062 3957 +3 4236 4033 4034 +3 4062 4010 4060 +3 3957 4060 3959 +3 3464 3650 4062 +3 3464 4062 1007 +3 1771 4032 3671 +3 3535 3671 4032 +3 1756 3671 1783 +3 4249 4068 3454 +3 2504 3404 4068 +3 1783 4068 4249 +3 1783 1787 4068 +3 2215 1973 1787 +3 1973 4037 2504 +3 2882 3989 4182 +3 1973 2504 1787 +3 3331 2445 4037 +3 1467 4037 1973 +3 3331 4037 4039 +3 2610 4039 1457 +3 2610 2485 3331 +3 2610 3331 4039 +3 2151 3404 2149 +3 482 2149 2485 +3 4037 2445 2504 +3 1787 2504 4068 +3 3404 2151 3454 +3 3477 2292 3993 +3 489 2149 482 +3 4090 482 2485 +3 3535 4032 4135 +3 2610 4090 2485 +3 228 2274 808 +3 4090 489 482 +3 3549 246 255 +3 489 2151 2149 +3 475 808 4045 +3 498 4045 519 +3 808 2274 489 +3 4045 808 4090 +3 4249 1771 1756 +3 4249 1756 1783 +3 2274 3387 2151 +3 1756 1771 3671 +3 4210 4157 426 +3 3387 3549 3454 +3 3549 1771 4249 +3 4135 2215 3535 +3 4035 1692 4314 +3 1223 427 663 +3 4113 3704 3997 +3 3950 4015 3704 +3 642 3950 636 +3 3397 255 246 +3 3397 2301 4113 +3 2927 427 1692 +3 4314 3397 4034 +3 464 1692 427 +3 4249 3454 3549 +3 255 3397 4314 +3 3454 2151 3387 +3 621 228 908 +3 1692 4035 2927 +3 3993 2292 3995 +3 4314 1692 464 +3 255 464 1771 +3 642 3962 3950 +3 2301 908 4113 +3 4143 2211 4153 +3 2927 4035 2925 +3 4034 4113 4236 +3 4314 464 255 +3 4015 3960 4107 +3 3717 3763 3997 +3 3387 621 246 +3 3997 4236 4113 +3 489 4090 808 +3 4033 2925 4035 +3 427 2927 4046 +3 663 4046 4182 +3 3998 2214 4135 +3 2301 246 621 +3 4041 3727 3763 +3 3727 3972 3763 +3 1050 2904 736 +3 4138 3727 4041 +3 360 3979 3727 +3 480 3013 4079 +3 4041 3763 4107 +3 1198 480 4078 +3 430 1198 426 +3 364 4044 3979 +3 430 426 4157 +3 2925 4033 2882 +3 2923 1128 1130 +3 426 4044 364 +3 4079 2882 4033 +3 2882 4182 2925 +3 621 3387 2274 +3 3976 3972 4044 +3 3013 2882 4079 +3 4033 4236 4079 +3 4314 4034 4035 +3 4107 3960 4041 +3 2923 2921 430 +3 4157 4210 4158 +3 430 480 1198 +3 426 1198 4044 +3 1128 2923 2904 +3 430 2921 480 +3 2921 1130 1158 +3 2921 3013 480 +3 2904 1050 1128 +3 4157 2923 430 +3 2904 2923 4157 +3 3727 4138 360 +3 364 360 4139 +3 57 4139 4138 +3 3200 1121 736 +3 4139 4210 364 +3 3479 3993 4004 +3 736 2904 4158 +3 3477 1467 1973 +3 1973 2215 3477 +3 4217 4158 4210 +3 57 4217 4139 +3 3200 736 1829 +3 57 1829 4217 +3 57 1121 3200 +3 57 3200 1829 +3 1829 736 4158 +3 4158 4217 1829 +3 4210 4139 4217 +3 3979 4044 3972 +3 3972 3727 3979 +3 736 1121 1050 +3 4135 4032 3998 +3 4236 3997 4078 +3 4078 4079 4236 +3 3997 3763 3976 +3 2255 2253 4478 +3 4051 3613 980 +3 4485 11 4484 +3 4398 4053 3206 +3 4490 4204 4488 +3 2369 3700 2376 +3 3633 3833 1166 +3 384 495 4500 +3 3816 4386 4098 +3 2433 2559 4285 +3 3708 4509 9 +3 3708 3796 4509 +3 843 4333 4400 +3 613 3402 651 +3 4127 3238 3402 +3 4516 4515 4333 +3 4490 4517 2433 +3 4517 4490 10 +3 4519 2279 4334 +3 2559 2433 4517 +3 4305 3222 2978 +3 4485 4522 4521 +3 4522 4519 4308 +3 3613 4051 3328 +3 4285 4193 2376 +3 2891 2366 2369 +3 4338 702 3803 +3 523 2944 3740 +3 3198 3613 3328 +3 4367 858 651 +3 4539 4538 3527 +3 4341 1032 1067 +3 3206 3456 4398 +3 971 980 3613 +3 3517 4352 980 +3 3517 3584 324 +3 3705 4366 3796 +3 3559 3198 3328 +3 2279 2255 4339 +3 613 624 4091 +3 4308 4305 4522 +3 4478 4339 2255 +3 2891 3734 674 +3 3760 4204 4194 +3 1172 4554 3517 +3 384 3796 3610 +3 4366 4556 3796 +3 324 4360 3517 +3 3705 3708 9 +3 3705 3796 3708 +3 387 384 3816 +3 4098 3238 3239 +3 4098 4386 4561 +3 2366 557 2823 +3 4397 4285 2559 +3 4127 4091 4515 +3 4333 573 3633 +3 4193 3734 2369 +3 1166 678 3734 +3 549 2823 557 +3 4193 4285 1479 +3 2376 2433 4285 +3 700 702 659 +3 3633 1166 4333 +3 907 570 4439 +3 659 2276 557 +3 678 3833 2807 +3 678 1166 3833 +3 3634 907 3633 +3 4337 1389 549 +3 3559 613 651 +3 3328 3527 4538 +3 4515 4439 570 +3 4439 4091 624 +3 3527 3328 4051 +3 2944 523 3602 +3 2944 4538 1032 +3 4194 3700 3760 +3 4053 4398 1312 +3 4367 651 3402 +3 4556 3610 3796 +3 4615 324 3584 +3 4333 843 4516 +3 3517 4360 4352 +3 3610 3584 4554 +3 3610 4556 4615 +3 3610 4615 3584 +3 4556 4366 324 +3 4556 324 4615 +3 4366 4360 324 +3 858 1172 971 +3 4554 3584 3517 +3 971 1172 3517 +3 4367 495 1172 +3 980 971 3517 +3 4091 4127 3402 +3 3613 3198 858 +3 613 4091 3402 +3 3613 858 971 +3 4415 3421 3753 +3 624 3425 4415 +3 3602 3833 3753 +3 4377 4367 4561 +3 495 4554 1172 +3 4098 4561 3238 +3 4386 4500 4377 +3 4386 4377 4561 +3 4500 495 4377 +3 4377 495 4367 +3 3816 4641 387 +3 4127 4251 3239 +3 4554 495 384 +3 4500 3816 384 +3 4500 4386 3816 +3 4515 4251 4127 +3 4515 4516 4251 +3 4561 4367 3238 +3 4641 4098 3239 +3 4641 3816 4098 +3 4333 4515 573 +3 2276 2279 4337 +3 4516 843 4397 +3 4400 1479 843 +3 843 1479 4285 +3 2276 4337 549 +3 2279 2276 4338 +3 4400 4333 1479 +3 4127 3239 3238 +3 4515 570 573 +3 907 4415 3633 +3 4538 3425 3328 +3 2376 4193 2369 +3 3634 3633 573 +3 2276 702 4338 +3 2276 659 702 +3 2823 549 2902 +3 3633 3753 3833 +3 3421 4415 3425 +3 573 570 3634 +3 557 2366 659 +3 3238 4367 3402 +3 907 4439 624 +3 4194 4490 2433 +3 3633 4415 3753 +3 907 624 4415 +3 3760 2823 2902 +3 700 2807 1083 +3 3734 2891 2369 +3 3734 4193 1166 +3 3700 2366 2823 +3 674 2807 659 +3 2366 3700 2369 +3 2823 3760 3700 +3 700 659 2807 +3 1166 1479 4333 +3 3602 4538 2944 +3 3425 4538 3421 +3 3421 4538 3602 +3 570 907 3634 +3 2276 549 557 +3 1389 2902 549 +3 4521 2978 4485 +3 2977 11 2978 +3 3222 2977 2978 +3 3222 11 2977 +3 4724 4522 4485 +3 2978 11 4485 +3 4484 4724 4485 +3 4305 2978 4521 +3 2253 4724 4484 +3 2253 4519 4522 +3 4478 2253 4484 +3 2255 4519 2253 +3 4728 4341 1067 +3 4728 3206 4341 +3 4308 4519 4334 +3 4051 980 1268 +3 4521 4522 4305 +3 4724 2253 4522 +3 3740 700 523 +3 2807 3833 804 +3 3803 700 3740 +3 3602 3753 3421 +3 523 700 1083 +3 3803 702 700 +3 1083 804 523 +3 1083 2807 804 +3 4490 4194 4204 +3 678 2807 674 +3 659 2891 674 +3 659 2366 2891 +3 3425 624 613 +3 651 3198 3559 +3 804 3602 523 +3 804 3833 3602 +3 674 3734 678 +3 4439 4515 4091 +3 1312 4051 1268 +3 858 4367 1172 +3 3425 613 3559 +3 3700 4194 2376 +3 3425 3559 3328 +3 3198 651 858 +3 3456 4539 3527 +3 4728 4538 4539 +3 4051 3456 3527 +3 384 3610 4554 +3 3456 4728 4539 +3 1067 4538 4728 +3 3456 3206 4728 +3 1032 4538 1067 +3 3796 384 387 +3 3456 4051 4398 +3 4053 1312 1268 +3 4398 4051 1312 +3 2433 2376 4194 +3 4339 4337 2279 +3 4337 4339 1389 +3 10 4490 4488 +3 2255 2279 4519 +3 4334 2279 4338 +3 4285 4397 843 +3 1479 1166 4193 +3 4230 4480 1154 +3 3439 78 3437 +3 4480 73 3799 +3 4381 1456 1891 +3 3831 3930 77 +3 4623 4794 4795 +3 2239 2383 4156 +3 4602 4789 4790 +3 327 4802 3265 +3 303 4602 1982 +3 2383 2239 1678 +3 2810 4349 4379 +3 303 4349 2810 +3 324 4556 4802 +3 4252 2029 4187 +3 4556 324 4816 +3 1463 4230 1154 +3 1127 1116 1348 +3 2724 2021 1776 +3 2715 4402 2724 +3 2242 2239 439 +3 4125 2715 2242 +3 175 178 309 +3 2127 4125 2242 +3 1222 1217 1684 +3 1251 4346 528 +3 4381 4379 4260 +3 4260 4379 4259 +3 1891 4063 4829 +3 4189 4187 185 +3 2139 4063 1891 +3 331 328 414 +3 1212 750 4218 +3 4185 4186 1982 +3 4789 4602 303 +3 4794 4623 4601 +3 1195 4186 2029 +3 710 4185 1982 +3 4186 4163 4164 +3 4349 303 750 +3 1752 178 4518 +3 4185 4163 4186 +3 4612 327 3221 +3 1456 4381 1229 +3 4360 4583 4353 +3 1116 1109 1776 +3 4252 4218 750 +3 4317 309 4163 +3 4164 309 178 +3 3221 3265 4180 +3 4816 4800 4556 +3 528 1076 2702 +3 1675 4816 324 +3 1684 2383 1984 +3 2704 78 3439 +3 2702 2704 3439 +3 3432 78 2704 +3 1127 2702 1076 +3 1103 1675 4360 +3 2242 2344 2127 +3 1348 1326 1463 +3 2075 997 4583 +3 1195 750 303 +3 1103 528 3439 +3 4583 1260 4353 +3 2139 1891 1456 +3 1229 4156 1217 +3 1678 2378 1676 +3 1217 4156 1684 +3 4518 175 4187 +3 77 414 328 +3 710 4601 644 +3 4790 4601 4602 +3 4317 3831 77 +3 1649 644 4623 +3 4317 1649 3831 +3 4317 644 1649 +3 4317 710 644 +3 1982 4602 710 +3 4317 4185 710 +3 4317 4163 4185 +3 997 2330 1260 +3 1195 1982 4186 +3 4186 4164 2029 +3 4601 4790 4794 +3 4789 303 2810 +3 4802 327 324 +3 1676 4572 1678 +3 303 1982 1195 +3 644 4601 4623 +3 710 4602 4601 +3 4063 4180 4797 +3 4565 1649 4623 +3 3831 4565 3930 +3 3831 1649 4565 +3 4797 4829 4063 +3 4381 4260 1229 +3 2072 2075 4583 +3 3265 3221 327 +3 2029 4252 1195 +3 2075 2072 2139 +3 324 4360 1675 +3 4187 4189 4252 +3 4583 4612 2072 +3 4360 4353 1103 +3 4180 4063 3221 +3 3437 4800 4816 +3 3439 3437 4816 +3 78 4800 3437 +3 4360 327 4612 +3 1229 4260 4156 +3 178 175 4518 +3 4795 4565 4623 +3 2072 4063 2139 +3 3439 4816 1675 +3 528 2702 3439 +3 2702 1127 3432 +3 2072 3221 4063 +3 439 4156 518 +3 2702 3432 2704 +3 1154 78 3432 +3 2239 4156 439 +3 3439 1675 1103 +3 4612 4583 4360 +3 1891 4829 4381 +3 4346 1251 4572 +3 3221 2072 4612 +3 1251 4353 1260 +3 4565 4795 3930 +3 2142 1456 1217 +3 2142 2075 2139 +3 2142 2139 1456 +3 4360 324 327 +3 4572 1260 2330 +3 1260 4572 1251 +3 528 1103 1251 +3 2712 1116 1127 +3 1109 1116 2712 +3 4572 1676 4346 +3 4353 1251 1103 +3 750 1195 4252 +3 1116 1776 2021 +3 1678 2239 2378 +3 2242 2378 2239 +3 1154 3432 1127 +3 2715 1676 2378 +3 1127 1076 2712 +3 1776 4346 1676 +3 518 2344 2242 +3 1154 4480 3799 +3 4230 73 4480 +3 2715 4125 4402 +3 439 518 2242 +3 185 175 328 +3 1348 2021 2724 +3 175 185 4187 +3 1348 1116 2021 +3 1752 4187 2029 +3 4213 4349 1212 +3 2715 2724 1776 +3 4349 4213 4379 +3 997 2075 1222 +3 1984 1678 2330 +3 1984 2383 1678 +3 1984 2330 1684 +3 2330 1678 4572 +3 4156 2383 1684 +3 1676 2715 1776 +3 1260 4583 997 +3 997 1222 1684 +3 1456 1229 1217 +3 2142 1222 2075 +3 528 2712 1076 +3 309 4164 4163 +3 77 309 4317 +3 77 328 309 +3 4164 1752 2029 +3 4164 178 1752 +3 2330 997 1684 +3 528 1109 2712 +3 4829 4797 4379 +3 4379 4797 2810 +3 528 4346 1109 +3 175 309 328 +3 1222 2142 1217 +3 4379 4213 4259 +3 4829 4379 4381 +3 750 1212 4349 +3 4218 4252 4189 +3 1348 1154 1127 +3 1348 1463 1154 +3 2242 2715 2378 +3 185 328 331 +3 2724 4402 1348 +3 1348 4402 1326 +3 4187 1752 4518 +3 4346 1776 1109 +3 4862 4485 4756 +3 4665 707 1286 +3 2259 27 4485 +3 4160 1924 4768 +3 3646 4683 28 +3 1391 4687 569 +3 4855 4777 4943 +3 525 2503 609 +3 4422 3715 756 +3 1391 388 2122 +3 2503 771 798 +3 4943 4777 4713 +3 3020 4925 3021 +3 2503 525 4948 +3 3033 2170 2407 +3 3922 4422 4434 +3 2407 2170 2178 +3 2407 2178 31 +3 4724 2259 4485 +3 4724 2253 2259 +3 4724 2251 2253 +3 1164 647 3334 +3 4434 4422 4834 +3 628 2284 617 +3 4739 4406 2287 +3 4855 4943 4852 +3 3729 3735 4739 +3 1890 2288 1731 +3 1924 4160 4161 +3 1731 4925 1890 +3 4939 3020 4653 +3 940 932 2787 +3 2889 2395 932 +3 2889 2392 2395 +3 3033 2402 2853 +3 3020 4939 3091 +3 1890 1895 2326 +3 2370 2364 4136 +3 4739 2287 2284 +3 628 4834 4422 +3 932 2505 3091 +3 3091 4937 3020 +3 932 3091 3180 +3 2336 472 798 +3 4834 628 617 +3 652 1286 2190 +3 2654 609 596 +3 771 4964 4939 +3 647 1164 2418 +3 1391 596 4687 +3 4758 4675 2364 +3 4944 2288 2290 +3 628 1696 3729 +3 4675 4136 2364 +3 3729 3771 4662 +3 4739 4409 4406 +3 4854 4434 4834 +3 628 4739 2284 +3 4925 4937 1895 +3 2251 4862 4940 +3 4756 4747 4862 +3 2415 4768 2290 +3 4307 4160 4768 +3 1924 1430 4944 +3 1895 1420 2326 +3 940 1048 2853 +3 2507 4975 3033 +3 1924 3021 1430 +3 653 4975 4948 +3 2787 3180 1048 +3 2787 932 3180 +3 798 472 4687 +3 4975 2503 4948 +3 388 569 4665 +3 4687 472 569 +3 652 388 1286 +3 652 2122 388 +3 3334 647 4948 +3 2122 596 1391 +3 2122 2584 596 +3 2654 2589 525 +3 2584 2589 2654 +3 2503 2507 771 +3 596 2584 2654 +3 754 2853 1048 +3 2654 525 609 +3 4862 4854 4940 +3 2098 2584 2122 +3 2098 2589 2584 +3 771 4939 798 +3 798 596 609 +3 569 472 2336 +3 4687 596 798 +3 1048 3180 754 +3 4964 3180 3091 +3 569 2340 4665 +3 569 2336 2340 +3 4697 4665 2340 +3 1286 388 4665 +3 3646 4697 4843 +3 4665 4697 707 +3 2190 707 28 +3 2190 1286 707 +3 707 3646 28 +3 707 4697 3646 +3 4683 4869 4713 +3 4843 4697 4869 +3 4683 4843 4869 +3 4683 3646 4843 +3 4855 4852 2370 +3 4852 2364 2370 +3 4136 4855 2370 +3 4943 4713 4852 +3 4662 4855 4136 +3 3903 4777 4855 +3 4855 3922 3903 +3 4855 3771 3715 +3 4854 4862 4747 +3 3922 4855 3715 +3 4434 4854 4436 +3 3715 3771 756 +3 1696 628 4422 +3 4436 4854 4747 +3 4834 617 2293 +3 3715 4422 3922 +3 4739 628 3729 +3 756 1696 4422 +3 756 3771 1696 +3 4161 4662 4136 +3 3771 4855 4662 +3 4675 4161 4136 +3 4418 4409 3735 +3 2340 4758 2364 +3 2340 2336 4653 +3 4758 4653 4675 +3 4758 2340 4653 +3 4662 4161 3729 +3 3729 4161 4418 +3 4937 2505 1420 +3 1164 525 3386 +3 4418 4406 4409 +3 1731 4944 1430 +3 4160 4418 4161 +3 4944 1731 2288 +3 3771 3729 1696 +3 4418 3735 3729 +3 2853 2889 940 +3 3735 4409 4739 +3 2251 4940 2293 +3 388 1391 569 +3 4862 4724 4485 +3 4862 2251 4724 +3 4406 4307 2287 +3 1430 3021 1731 +3 1924 4161 4675 +3 4925 1731 3021 +3 2288 1890 2326 +3 2889 2853 2402 +3 2415 4307 4768 +3 2415 2287 4307 +3 4975 2507 2503 +3 4937 1420 1895 +3 4925 1895 1890 +3 4160 4406 4418 +3 4307 4406 4160 +3 4975 653 2170 +3 1924 3020 3021 +3 1048 940 2787 +3 4834 4940 4854 +3 647 2418 2468 +3 4925 3020 4937 +3 2402 2392 2889 +3 4937 3091 2505 +3 2889 932 940 +3 2507 754 771 +3 2507 2853 754 +3 4939 4964 3091 +3 754 3180 4964 +3 609 2503 798 +3 754 4964 771 +3 525 1164 4948 +3 2589 3386 525 +3 2336 4939 4653 +3 2336 798 4939 +3 3386 2589 2098 +3 4948 1164 3334 +3 3386 2418 1164 +3 3903 4434 4436 +3 2098 2418 3386 +3 4940 4834 2293 +3 3922 4434 3903 +3 4675 3020 1924 +3 2407 2402 3033 +3 2507 3033 2853 +3 4653 3020 4675 +3 2170 653 2468 +3 653 4948 647 +3 2468 653 647 +3 2170 3033 4975 +3 4869 4852 4713 +3 4852 4869 2364 +3 2364 4697 2340 +3 4768 4944 2290 +3 4944 4768 1924 +3 2364 4869 4697 +3 317 717 1687 +3 1090 598 1118 +3 599 1569 608 +3 1573 1058 1163 +3 652 412 66 +3 569 417 388 +3 452 1163 448 +3 1171 511 1688 +3 317 1687 1688 +3 636 504 511 +3 1569 599 1523 +3 459 463 1573 +3 673 773 704 +3 491 494 574 +3 417 569 560 +3 1234 1111 1279 +3 833 434 866 +3 925 779 476 +3 472 569 479 +3 517 1227 1234 +3 975 932 936 +3 940 932 948 +3 932 940 962 +3 765 1351 1663 +3 833 840 810 +3 798 771 810 +3 849 71 1140 +3 642 1171 1118 +3 511 504 1688 +3 713 717 1207 +3 925 479 604 +3 417 412 388 +3 434 428 424 +3 452 448 442 +3 468 463 459 +3 479 476 472 +3 494 491 484 +3 517 509 505 +3 66 484 505 +3 555 546 539 +3 569 472 560 +3 583 491 574 +3 484 598 494 +3 608 604 599 +3 642 636 511 +3 652 388 412 +3 665 479 569 +3 682 681 673 +3 696 692 686 +3 711 673 704 +3 724 720 715 +3 560 472 729 +3 748 509 739 +3 771 765 754 +3 784 779 773 +3 798 472 790 +3 754 810 771 +3 840 833 827 +3 866 71 849 +3 779 879 873 +3 891 720 885 +3 918 546 713 +3 779 925 879 +3 936 932 930 +3 948 944 940 +3 720 962 885 +3 948 975 428 +3 517 505 979 +3 503 989 985 +3 468 847 539 +3 1048 434 833 +3 1063 1058 463 +3 1090 574 494 +3 555 1097 1093 +3 1111 555 847 +3 67 642 1118 +3 1140 866 849 +3 1090 494 598 +3 1163 1058 1063 +3 1171 1090 1118 +3 642 511 1171 +3 833 866 1140 +3 918 1063 463 +3 1063 918 1207 +3 940 1048 891 +3 1111 1234 1227 +3 1093 713 546 +3 1227 517 979 +3 1234 1279 1273 +3 1077 681 503 +3 1227 979 583 +3 847 1279 1111 +3 1345 1279 503 +3 715 1351 985 +3 1273 1279 1345 +3 673 681 1077 +3 555 1111 1097 +3 1234 1402 517 +3 790 765 771 +3 1351 715 891 +3 979 484 491 +3 66 598 484 +3 583 979 491 +3 891 715 720 +3 509 748 505 +3 608 711 879 +3 505 1458 66 +3 748 739 692 +3 696 686 665 +3 604 479 665 +3 505 748 1458 +3 739 599 686 +3 1402 509 517 +3 599 604 686 +3 1458 1491 652 +3 1458 748 1491 +3 692 1495 1491 +3 1491 748 692 +3 1458 652 66 +3 1491 1495 652 +3 652 696 388 +3 652 1495 696 +3 686 692 739 +3 696 1495 692 +3 1402 1523 509 +3 608 925 604 +3 665 569 388 +3 636 642 67 +3 696 665 388 +3 686 604 665 +3 879 925 608 +3 1523 739 509 +3 754 1048 833 +3 810 754 833 +3 879 711 704 +3 1569 673 711 +3 463 468 918 +3 1583 1580 798 +3 1345 681 682 +3 681 1345 503 +3 711 608 1569 +3 713 1207 918 +3 682 1569 1523 +3 704 873 879 +3 873 773 779 +3 1351 773 985 +3 1569 682 673 +3 704 773 873 +3 476 784 790 +3 765 790 784 +3 779 784 476 +3 476 790 472 +3 1648 729 1583 +3 771 798 790 +3 1663 891 1048 +3 729 472 1580 +3 891 1663 1351 +3 1580 472 798 +3 1207 448 1063 +3 729 1580 1583 +3 840 1648 1583 +3 827 1679 1648 +3 827 833 1140 +3 1688 1687 1171 +3 1171 1687 1090 +3 827 1648 840 +3 720 1701 962 +3 1708 715 989 +3 442 717 317 +3 1573 1718 1672 +3 442 448 717 +3 1573 452 1718 +3 930 962 1701 +3 503 847 459 +3 713 1093 1687 +3 1701 720 724 +3 724 715 1708 +3 891 885 940 +3 1097 1227 583 +3 1754 434 424 +3 1754 866 434 +3 932 962 930 +3 428 944 948 +3 682 1273 1345 +3 962 940 885 +3 1273 682 1402 +3 428 975 424 +3 847 503 1279 +3 546 918 468 +3 468 539 546 +3 1708 989 459 +3 1227 1097 1111 +3 989 715 985 +3 975 948 932 +3 1402 1234 1273 +3 539 847 555 +3 1048 940 944 +3 979 505 484 +3 1048 944 428 +3 847 468 459 +3 1663 754 765 +3 1048 428 434 +3 476 479 925 +3 583 1093 1097 +3 1077 773 673 +3 985 1077 503 +3 1093 583 574 +3 1351 784 773 +3 682 1523 1402 +3 503 459 989 +3 448 1163 1063 +3 1163 452 1573 +3 459 1573 1672 +3 463 1058 1573 +3 560 729 1679 +3 1679 729 1648 +3 1048 754 1663 +3 773 1077 985 +3 784 1351 765 +3 717 713 1687 +3 1583 810 840 +3 1093 546 555 +3 1687 1093 574 +3 1687 574 1090 +3 448 1207 717 +3 810 1583 798 +3 739 1523 599 +3 1908 1906 1904 +3 1911 1910 1904 +3 1914 1913 1912 +3 1918 1914 1912 +3 1911 1923 27 +3 1928 1927 1926 +3 1935 1557 1930 +3 1906 1939 1904 +3 457 1942 1941 +3 1957 1954 1950 +3 1417 1957 1960 +3 1545 1711 1980 +3 1788 1405 1600 +3 1996 1977 1990 +3 2002 2000 1997 +3 2009 457 2004 +3 1923 2014 2011 +3 2018 2004 457 +3 457 1908 1942 +3 2024 2004 1700 +3 1079 2004 2018 +3 1906 1908 457 +3 2002 2038 2036 +3 2047 2042 2040 +3 1422 2051 2050 +3 1678 2057 1478 +3 2036 2048 2000 +3 2042 2047 2065 +3 1450 2050 1405 +3 2075 2074 2072 +3 2079 2077 2050 +3 2085 2084 2081 +3 2077 2079 2087 +3 2095 2094 2040 +3 2065 2099 2087 +3 2099 2065 2047 +3 1930 2108 2106 +3 2099 25 2087 +3 2118 352 413 +3 1375 1417 2120 +3 1375 2120 1700 +3 2150 2075 2072 +3 1557 2164 1977 +3 1557 1977 1527 +3 1960 1545 1417 +3 1960 1711 1545 +3 1923 1911 1904 +3 2218 2216 24 +3 1790 1079 2000 +3 2233 24 1913 +3 1024 1028 1478 +3 2004 2024 2009 +3 1945 1418 997 +3 991 2074 2075 +3 2298 1371 2286 +3 2150 2094 2095 +3 2079 2051 2085 +3 1028 2307 2084 +3 1997 2000 1079 +3 2048 1418 1945 +3 2002 2036 2000 +3 2038 1418 2036 +3 997 2330 1945 +3 2341 2339 2337 +3 2339 2044 2344 +3 2368 1980 2361 +3 1678 2378 2044 +3 1700 2120 2024 +3 1996 2408 2344 +3 2018 457 1941 +3 2118 413 2014 +3 1079 1790 2004 +3 1908 2424 1942 +3 352 2430 413 +3 2449 1417 2435 +3 1792 2337 1700 +3 1996 1572 1562 +3 2242 2344 2044 +3 2108 1788 2486 +3 1950 1990 1957 +3 2499 1960 1957 +3 2048 2036 1418 +3 1979 2164 1918 +3 1935 2517 102 +3 2532 2506 2218 +3 2544 1377 2298 +3 2085 2042 2065 +3 2079 2085 2065 +3 2042 2081 2095 +3 2042 2095 2040 +3 2042 2085 2081 +3 2079 2065 2087 +3 1930 1770 2108 +3 2072 2094 2150 +3 2150 2095 2081 +3 1377 2544 1405 +3 1377 1788 1770 +3 2544 1450 1405 +3 1422 2050 1450 +3 2084 2085 2051 +3 1371 2298 1377 +3 1024 2307 1028 +3 2081 2084 2307 +3 1770 1371 1377 +3 1478 2057 1024 +3 1527 1562 1478 +3 1572 1678 1478 +3 1527 1478 2286 +3 1562 1572 1478 +3 1516 1527 2286 +3 352 2118 1939 +3 2286 1028 2298 +3 1788 1377 1405 +3 2298 1425 2544 +3 2544 1422 1450 +3 2544 1425 1422 +3 2298 1028 1425 +3 2286 1478 1028 +3 1024 2150 2307 +3 2081 2307 2150 +3 997 2075 2150 +3 997 991 2075 +3 997 1024 2057 +3 997 2150 1024 +3 1926 1979 1928 +3 997 2057 2330 +3 2057 1678 2330 +3 1572 2378 1678 +3 1678 1945 2330 +3 1678 2044 2048 +3 1770 1930 1557 +3 1945 1678 2048 +3 2804 1790 2000 +3 2430 2368 2361 +3 2808 2804 2000 +3 2804 2341 1792 +3 2048 2808 2000 +3 2048 2044 2339 +3 1790 2804 1792 +3 2368 2430 2816 +3 1790 1792 2004 +3 2341 2337 1792 +3 1910 1908 1904 +3 1910 2424 1908 +3 2408 2339 2344 +3 2341 2804 2808 +3 1792 1700 2004 +3 2337 1954 1700 +3 1788 2108 1770 +3 2337 2339 2408 +3 2378 2242 2044 +3 2378 1572 2242 +3 1954 2337 1950 +3 1562 1527 1996 +3 1977 1926 1990 +3 1979 1926 1977 +3 1977 1996 1527 +3 2009 1906 457 +3 1545 2435 1417 +3 1954 1375 1700 +3 1954 1417 1375 +3 2816 2009 2886 +3 2816 1906 2009 +3 2886 2024 2449 +3 2120 2449 2024 +3 2808 2339 2341 +3 2339 2808 2048 +3 27 1923 2011 +3 1914 2233 1913 +3 1918 2233 1914 +3 1904 1939 2118 +3 367 352 1939 +3 367 2816 352 +3 1906 367 1939 +3 1906 2816 367 +3 2911 2430 2361 +3 2009 2024 2886 +3 2368 2435 1980 +3 2911 413 2430 +3 2430 352 2816 +3 2435 2368 2886 +3 2368 2816 2886 +3 2435 1545 1980 +3 1926 1927 2499 +3 2886 2449 2435 +3 2120 1417 2449 +3 1990 2499 1957 +3 1927 1960 2499 +3 1990 1926 2499 +3 997 1418 991 +3 1977 2164 1979 +3 102 95 2908 +3 95 2532 2218 +3 2242 1996 2344 +3 1996 2242 1572 +3 102 2908 2976 +3 95 2218 2908 +3 101 102 2976 +3 2517 95 102 +3 1950 2408 1996 +3 2164 101 2233 +3 2164 1935 101 +3 2051 2079 2050 +3 1930 2517 1935 +3 1928 1918 1912 +3 1935 102 101 +3 1425 2084 2051 +3 101 2976 3002 +3 2486 1788 1600 +3 2051 1422 1425 +3 1923 2118 2014 +3 1557 1516 1371 +3 1557 1527 1516 +3 2233 1918 2164 +3 1516 2286 1371 +3 2118 1923 1904 +3 1371 1770 1557 +3 2106 2108 2486 +3 2084 1425 1028 +3 2106 2216 1930 +3 2908 2218 24 +3 95 2517 2532 +3 1930 2532 2517 +3 2506 2216 2218 +3 1930 2506 2532 +3 1930 2216 2506 +3 2908 3002 2976 +3 2908 2233 3002 +3 2233 2908 24 +3 2233 101 3002 +3 1918 1928 1979 +3 2408 1950 2337 +3 1557 1935 2164 +3 1990 1950 1996 +3 1954 1957 1417 +3 3108 2612 2558 +3 3112 3111 3110 +3 3115 3114 3113 +3 221 206 933 +3 3115 3124 3123 +3 3132 2458 2611 +3 896 960 183 +3 3146 3145 3144 +3 3148 20 3147 +3 3152 2555 2562 +3 3168 2551 2335 +3 149 177 3170 +3 3181 2648 2782 +3 3186 1926 1979 +3 3190 3147 3111 +3 3195 2782 2483 +3 149 151 3197 +3 2335 3205 3168 +3 181 3210 3209 +3 181 994 3210 +3 839 183 3010 +3 2974 3222 839 +3 2974 2977 3222 +3 3229 3228 3227 +3 535 1084 1629 +3 3243 1543 1364 +3 3229 1543 3244 +3 2499 3229 3244 +3 1590 1629 1084 +3 1972 1958 3251 +3 252 3205 2332 +3 2196 2675 2543 +3 2517 2511 2196 +3 3036 2475 2531 +3 1935 3273 2969 +3 2517 2969 2532 +3 2517 1935 2969 +3 3286 2532 2969 +3 3286 16 2506 +3 1935 2517 2196 +3 2675 2511 2531 +3 3148 3147 3190 +3 2553 3195 2483 +3 3144 160 3146 +3 1142 2469 2458 +3 206 203 3308 +3 1359 3124 3243 +3 1775 3316 1751 +3 1888 1889 1859 +3 2558 2555 3170 +3 181 3010 183 +3 149 3146 3326 +3 183 994 181 +3 3146 1240 3145 +3 2612 160 2611 +3 3146 3197 3210 +3 132 151 2562 +3 3348 3346 3168 +3 3351 3350 3349 +3 3354 2782 3195 +3 2551 3349 2335 +3 151 3181 3197 +3 3361 896 3360 +3 2410 3363 2553 +3 3363 2551 2553 +3 3368 3367 3360 +3 203 3361 3367 +3 151 149 3152 +3 2974 839 3010 +3 153 960 221 +3 3351 3112 252 +3 3227 1543 3229 +3 3124 3115 3113 +3 3229 2499 1926 +3 1543 3227 1364 +3 3379 3378 1775 +3 1359 3243 1364 +3 2506 2475 2532 +3 2506 2532 3286 +3 3384 3273 1935 +3 2196 2511 2675 +3 2499 1958 1926 +3 1889 2543 1859 +3 3145 3378 3379 +3 3393 1751 1142 +3 3144 3393 3132 +3 160 3132 2611 +3 3145 3379 3144 +3 3132 3393 2458 +3 3308 933 206 +3 3379 1775 1751 +3 2469 1142 1888 +3 2469 1888 1859 +3 3146 3210 1240 +3 1142 2458 3393 +3 3228 3229 3186 +3 1888 1142 3186 +3 1888 3186 1889 +3 3144 3132 160 +3 3146 195 3326 +3 535 1240 3413 +3 3170 2555 3152 +3 3379 3393 3144 +3 2196 2543 1975 +3 3205 252 256 +3 1975 2164 2196 +3 3446 177 195 +3 195 3146 160 +3 177 3326 195 +3 2612 195 160 +3 256 3209 3205 +3 2612 3446 195 +3 3170 177 3108 +3 3170 3108 2558 +3 3351 2332 3350 +3 2551 3346 2553 +3 3490 3197 3435 +3 3346 3354 3195 +3 3349 2551 3363 +3 2410 2553 2483 +3 3195 2553 3346 +3 3186 1979 1975 +3 3354 3197 3181 +3 3349 3350 2335 +3 3148 3190 3351 +3 3350 2332 2335 +3 3363 20 3148 +3 3181 2782 3354 +3 3148 3349 3363 +3 20 3363 2410 +3 3152 149 3170 +3 3209 3490 3205 +3 3348 3354 3346 +3 3168 3346 2551 +3 3123 1084 3115 +3 3186 3229 1926 +3 3205 2335 2332 +3 3360 3367 3361 +3 3197 3348 3435 +3 3490 3435 3168 +3 3490 3209 3210 +3 3435 3348 3168 +3 3354 3348 3197 +3 3197 3146 149 +3 132 2648 3181 +3 3210 3197 3490 +3 151 132 3181 +3 177 149 3326 +3 1240 3210 994 +3 3115 1084 3308 +3 183 1240 994 +3 3222 3368 3360 +3 3567 3145 535 +3 933 3413 221 +3 1098 181 256 +3 256 181 3209 +3 3360 839 3222 +3 3190 3111 3112 +3 3010 181 1098 +3 252 1098 256 +3 3349 3148 3351 +3 1975 1889 3186 +3 3010 1098 252 +3 252 2332 3351 +3 3152 2562 151 +3 3205 3490 3168 +3 3413 1240 183 +3 896 183 839 +3 206 960 3361 +3 3360 896 839 +3 19 3368 3222 +3 19 3222 2977 +3 3361 203 206 +3 1751 3393 3379 +3 896 3361 960 +3 183 960 153 +3 3145 1240 535 +3 1926 1958 1972 +3 3413 183 153 +3 3413 153 221 +3 3308 3114 3115 +3 960 206 221 +3 1084 3413 933 +3 1084 3123 1590 +3 1084 933 3308 +3 3114 3308 203 +3 1775 1590 3316 +3 1751 3228 1142 +3 1359 1590 3123 +3 1359 3123 3124 +3 1751 3316 3228 +3 1142 3228 3186 +3 1629 3567 535 +3 1084 535 3413 +3 3378 3145 3567 +3 3378 3567 1775 +3 1775 3567 1629 +3 1775 1629 1590 +3 2543 1889 1975 +3 2164 1979 3384 +3 3351 3190 3112 +3 1935 2196 2164 +3 2532 2475 3036 +3 2511 3036 2531 +3 3036 2511 2517 +3 3036 2517 2532 +3 2164 3384 1935 +3 3384 1979 3251 +3 1975 1979 2164 +3 3316 1590 1359 +3 3227 1359 1364 +3 3316 1359 3227 +3 3316 3227 3228 +3 1972 3251 1979 +3 1926 1972 1979 +3 3446 2612 3108 +3 3108 177 3446 +3 252 3112 3110 +3 252 3110 3010 +3 3209 3210 3739 +3 61 342 3747 +3 3751 3749 3209 +3 1338 2033 1334 +3 3766 3765 3452 +3 3739 3768 3766 +3 1161 753 3770 +3 3774 3773 3772 +3 3777 3775 3751 +3 465 3780 1942 +3 3777 3785 3784 +3 3210 3209 3749 +3 3795 561 3793 +3 666 3803 700 +3 1390 687 1068 +3 1380 1963 1390 +3 3185 2860 1049 +3 3622 3644 753 +3 1072 3787 1602 +3 3830 3770 2494 +3 1344 2809 1328 +3 3622 1161 3833 +3 763 3122 3839 +3 774 3304 905 +3 2549 60 1602 +3 3855 1332 1614 +3 3795 1344 1328 +3 3862 3861 3859 +3 687 1072 1068 +3 3839 2549 1602 +3 3794 905 3304 +3 3210 1240 3768 +3 3784 3876 561 +3 3880 3878 2430 +3 1054 1963 649 +3 3855 1087 933 +3 1281 3889 3888 +3 3894 3747 1390 +3 3780 465 3741 +3 3772 3896 2816 +3 1390 1054 1049 +3 2372 2494 3908 +3 499 3795 1328 +3 3803 3741 307 +3 889 3768 1240 +3 1054 3185 1049 +3 3986 693 889 +3 3908 3859 2372 +3 3794 3094 3833 +3 2405 3990 2549 +3 3990 60 2549 +3 1072 2860 3996 +3 3996 2860 3185 +3 3861 3862 1445 +3 3185 1054 2835 +3 1963 1380 2064 +3 1338 1334 3512 +3 1474 561 307 +3 3413 933 955 +3 3876 3793 561 +3 307 499 916 +3 3793 4030 3795 +3 1087 3855 3889 +3 4040 1087 4036 +3 1474 3888 561 +3 933 1087 4040 +3 465 3896 3773 +3 3774 4036 1281 +3 1334 2033 1380 +3 1334 342 3512 +3 2911 2896 1338 +3 3772 4036 3774 +3 2430 2911 3880 +3 4059 955 1311 +3 3114 4061 3308 +3 4059 1311 3986 +3 3833 2807 3622 +3 3741 3803 3780 +3 700 3803 916 +3 649 1963 1942 +3 1614 3889 3855 +3 1942 457 465 +3 457 1942 1963 +3 1963 1054 1390 +3 3894 1390 1068 +3 753 1161 3622 +3 2064 457 1963 +3 457 2009 3896 +3 1390 3747 1380 +3 3894 61 3747 +3 1474 307 3741 +3 916 3803 307 +3 4102 2405 3122 +3 3094 666 2807 +3 649 1942 3780 +3 649 3780 666 +3 2809 3622 2807 +3 2835 3304 3996 +3 2809 709 1328 +3 2809 700 709 +3 709 499 1328 +3 700 2807 666 +3 3889 1614 1289 +3 1240 3210 1332 +3 3622 1344 3644 +3 649 2835 1054 +3 2835 649 3094 +3 693 3986 3505 +3 1049 2860 687 +3 3185 2835 3996 +3 3622 2809 1344 +3 3787 1072 3996 +3 3304 774 3789 +3 3787 3996 3789 +3 3304 2835 3794 +3 3789 3996 3304 +3 2549 3122 2405 +3 2034 2033 1338 +3 3122 2549 3839 +3 2009 457 2064 +3 2376 4193 2372 +3 1445 1439 3861 +3 3990 2405 4194 +3 2372 3859 2376 +3 2009 2816 3896 +3 2816 2009 2034 +3 3861 1439 4204 +3 1439 60 4204 +3 2405 4102 2376 +3 1445 60 1439 +3 3859 3861 4194 +3 2860 1072 687 +3 4194 4204 3990 +3 1166 3833 1161 +3 4204 4194 3861 +3 4204 60 3990 +3 1161 3830 1166 +3 3830 2372 4193 +3 2807 3833 3094 +3 1166 3830 4193 +3 1344 3795 4030 +3 499 561 3795 +3 2033 2034 2009 +3 763 3789 774 +3 3789 763 3787 +3 3787 3839 1602 +3 1166 4193 905 +3 774 4102 3122 +3 905 4193 4102 +3 774 3122 763 +3 4193 2376 4102 +3 3839 3787 763 +3 905 4102 774 +3 3859 3908 3862 +3 3770 3830 1161 +3 3794 2835 3094 +3 2376 4194 2405 +3 666 3094 649 +3 889 693 3765 +3 3888 1289 561 +3 3888 3889 1289 +3 4263 3505 3512 +3 3501 693 3505 +3 499 307 561 +3 3413 1240 1332 +3 3768 889 3765 +3 3785 3876 3784 +3 3785 3793 3876 +3 4194 2376 3859 +3 1240 3413 4059 +3 1332 3855 3413 +3 1332 3749 1614 +3 1614 3775 1289 +3 889 4059 3986 +3 1289 3775 3784 +3 666 3780 3803 +3 1289 3784 561 +3 3775 3777 3784 +3 4059 889 1240 +3 905 3794 1166 +3 3765 3766 3768 +3 688 3765 693 +3 916 709 700 +3 4263 854 3501 +3 62 4126 854 +3 854 1180 3501 +3 709 916 499 +3 3501 688 693 +3 1180 3765 688 +3 4263 3501 3505 +3 1180 688 3501 +3 62 4263 3512 +3 62 854 4263 +3 3749 1332 3210 +3 3775 1614 3749 +3 955 4059 3413 +3 4036 3878 4040 +3 1255 3774 1281 +3 3878 3880 4040 +3 1255 1281 3888 +3 4036 1087 1281 +3 1474 1255 3888 +3 4036 3772 3878 +3 3889 1281 1087 +3 3833 1166 3794 +3 3896 465 457 +3 3896 3772 3773 +3 3747 1334 1380 +3 3747 342 1334 +3 3773 3774 1474 +3 2033 2064 1380 +3 1474 3774 1255 +3 3772 2816 3878 +3 3741 3773 1474 +3 2430 2896 2911 +3 3773 3741 465 +3 2034 1338 2896 +3 2911 1338 3512 +3 2896 2430 2034 +3 933 3413 3855 +3 2064 2033 2009 +3 2816 2430 3878 +3 2816 2034 2430 +3 3114 2911 3512 +3 3114 3880 2911 +3 4061 3114 3512 +3 3308 3880 3114 +3 3308 4040 3880 +3 3308 933 4040 +3 3308 955 933 +3 1311 3505 3986 +3 3308 4061 955 +3 3512 3505 1311 +3 1311 4061 3512 +3 1311 955 4061 +3 3452 1180 4126 +3 4126 1180 854 +3 1180 3452 3765 +3 2807 700 2809 +3 3768 3739 3210 +3 2494 2372 3830 +3 3749 3751 3775 +3 1390 1049 687 +3 1968 3807 3654 +3 3822 4167 3914 +3 2928 2374 2933 +3 2171 4403 2933 +3 2631 29 24 +3 4411 4225 4243 +3 4411 1968 1949 +3 4413 4133 4128 +3 2106 2478 2216 +3 2490 3683 2162 +3 2234 2486 1600 +3 2894 2216 2478 +3 3172 1138 3654 +3 1330 4288 1167 +3 3664 3438 4288 +3 3673 3533 3438 +3 909 939 2234 +3 2619 1932 4385 +3 2271 4167 2176 +3 4188 4216 4374 +3 1595 1337 1837 +3 2067 3933 1934 +3 1837 2175 1595 +3 2090 2175 2077 +3 2088 1595 2090 +3 2088 4002 1517 +3 2087 25 2088 +3 3807 3914 3438 +3 2171 2346 2350 +3 2106 2486 2229 +3 2162 3716 2490 +3 25 4002 2088 +3 2087 2088 2090 +3 3769 3664 1330 +3 1330 1167 3955 +3 3673 3438 3674 +3 3664 4288 1330 +3 4482 4403 4479 +3 4483 4411 4243 +3 4167 3317 3914 +3 3175 3955 4486 +3 1949 4225 4411 +3 4479 4411 4482 +3 4411 2490 3716 +3 4191 4494 398 +3 1932 1878 4385 +3 1878 2158 3926 +3 2216 2894 24 +3 3933 2162 2158 +3 2527 1302 3189 +3 1302 1308 3189 +3 3769 1330 3955 +3 1405 2050 1374 +3 1540 2527 1421 +3 1421 909 1600 +3 1374 1628 1275 +3 939 1794 2234 +3 1628 1846 1308 +3 4494 4216 4241 +3 4167 3822 2176 +3 2206 2619 4531 +3 3673 3674 3769 +3 3533 3807 3438 +3 3172 3654 3175 +3 3317 398 3438 +3 4133 4413 2171 +3 3654 1138 1949 +3 4209 2928 2933 +3 909 1421 2527 +3 2928 2371 2374 +3 4413 2490 2493 +3 4211 4209 4482 +3 4483 4482 4411 +3 2229 2234 1794 +3 4403 4482 4209 +3 2493 4479 4403 +3 2493 4403 2171 +3 2374 2631 2346 +3 2374 2346 2933 +3 4211 4482 4483 +3 4211 4483 4243 +3 4411 3716 1968 +3 3438 3914 3317 +3 2067 2619 3822 +3 4531 2176 2206 +3 2478 2106 1978 +3 2158 2536 3933 +3 3716 2067 1968 +3 3716 3933 2067 +3 4191 3317 1537 +3 1878 2536 2158 +3 3926 2158 2162 +3 4479 2490 4411 +3 3716 2162 3933 +3 4479 2493 2490 +3 2162 3683 3926 +3 2346 2171 2933 +3 4128 3683 4413 +3 2171 4413 2493 +3 4413 3683 2490 +3 2527 1794 909 +3 2478 3682 2350 +3 4486 3172 3175 +3 2350 2894 2478 +3 4128 4133 2350 +3 24 2350 2631 +3 4128 2350 3682 +3 2229 1794 1797 +3 2350 24 2894 +3 2175 1837 2182 +3 1797 2106 2229 +3 2234 2229 2486 +3 3189 1797 1794 +3 3682 3683 4128 +3 3807 1968 2067 +3 4614 1978 1797 +3 4614 2176 4531 +3 4614 4531 1978 +3 2176 3822 2206 +3 4531 2619 4385 +3 4531 4385 1878 +3 3189 1794 2527 +3 2536 1878 1932 +3 1934 1932 2619 +3 3822 2619 2206 +3 2536 1932 1934 +3 2536 1934 3933 +3 1374 2050 1628 +3 1275 1628 1302 +3 2067 3822 3914 +3 1797 3189 4614 +3 2176 4614 2271 +3 2234 1600 909 +3 1628 1308 1302 +3 1275 1302 2527 +3 1374 1275 1540 +3 2182 2050 2175 +3 909 1794 939 +3 2067 3914 3807 +3 1275 2527 1540 +3 1374 1540 1405 +3 1421 1405 1540 +3 1405 1421 1600 +3 1628 2182 1846 +3 2175 2050 2077 +3 1628 2050 2182 +3 1846 2182 1837 +3 1934 2619 2067 +3 2088 1517 1595 +3 1308 1846 2664 +3 1837 1337 2664 +3 2077 2087 2090 +3 1595 1517 4188 +3 2175 2090 1595 +3 2271 3189 1308 +3 1337 1537 2664 +3 1837 2664 1846 +3 3317 1308 1537 +3 2664 1537 1308 +3 4191 4181 4494 +3 398 4494 4241 +3 4216 4494 4181 +3 3683 3682 2478 +3 4216 4181 4374 +3 4188 4374 1595 +3 4374 4191 1337 +3 4374 1337 1595 +3 4374 4181 4191 +3 3926 3683 2478 +3 1978 4531 1878 +3 398 3317 4191 +3 1308 3317 2271 +3 3189 2271 4614 +3 1878 3926 1978 +3 3317 4167 2271 +3 4380 1138 4486 +3 3955 3175 3769 +3 3769 3175 3673 +3 3654 3807 3533 +3 3654 3533 3383 +3 3654 3383 3175 +3 1537 1337 4191 +3 2478 1978 3926 +3 3383 3533 3673 +3 3383 3673 3175 +3 1138 3172 4486 +3 4380 4486 3955 +3 398 4288 3438 +3 3654 1949 1968 +3 3674 3438 3664 +3 3674 3664 3769 +3 2371 29 2631 +3 2371 2631 2374 +3 4209 2933 4403 +3 2106 1797 1978 +3 2350 4133 2171 +3 2346 2631 2350 +3 4747 4746 4499 +3 4749 4748 4691 +3 4750 11 4746 +3 734 3635 2194 +3 3369 4751 12 +3 3945 4737 4751 +3 2352 4749 4715 +3 4549 3117 4503 +3 3291 3618 4757 +3 4761 4760 4759 +3 3190 4762 3148 +3 2114 2112 2561 +3 3110 4499 3902 +3 3012 478 4674 +3 3289 3364 2535 +3 4767 4750 4746 +3 4768 4307 3126 +3 3213 650 4503 +3 628 4646 634 +3 4159 3012 3220 +3 4782 4691 4748 +3 4567 3012 4159 +3 4663 4660 2352 +3 784 2742 779 +3 4678 4663 2513 +3 1691 1329 4761 +3 4788 1214 2535 +3 4759 2694 962 +3 885 2786 2785 +3 2535 4791 4788 +3 3364 3289 4792 +3 3916 3117 3928 +3 4117 3126 3220 +3 4663 2352 2513 +3 3731 4410 4739 +3 3268 1947 4801 +3 4678 4761 4660 +3 4674 4803 4118 +3 3126 3073 4768 +3 478 3900 4674 +3 2191 686 698 +3 1214 4788 4801 +3 734 2191 698 +3 4660 4761 3126 +3 604 925 4672 +3 1691 3073 1329 +3 3390 3382 3618 +3 2513 925 2742 +3 4748 4749 2352 +3 3148 4819 4691 +3 698 4672 734 +3 3977 4737 3975 +3 4780 3190 3148 +3 4780 4691 4782 +3 3928 3117 3116 +3 3117 3213 4503 +3 3116 4435 3110 +3 3117 767 648 +3 2172 2208 3291 +3 4435 4747 4499 +3 4503 578 628 +3 578 473 628 +3 473 3012 4567 +3 4834 628 634 +3 885 891 2786 +3 473 3731 4739 +3 473 4567 3731 +3 4406 4410 4567 +3 3731 4567 4410 +3 2572 686 3382 +3 4848 4759 4760 +3 962 2694 885 +3 4848 891 2694 +3 3382 2451 2459 +3 3928 4780 4803 +3 3289 3291 4757 +3 2208 2112 3390 +3 1351 891 4848 +3 1351 2789 891 +3 4691 4780 3148 +3 604 698 686 +3 604 1030 925 +3 1491 3305 4856 +3 1491 692 3305 +3 698 604 4672 +3 2172 2535 1214 +3 3305 692 2191 +3 1491 4677 692 +3 1403 1247 4801 +3 4406 4307 4407 +3 1061 1021 2471 +3 1030 604 2572 +3 2112 2114 3390 +3 2572 1021 1030 +3 1030 4717 925 +3 1030 1021 4717 +3 628 4739 4646 +3 2451 3390 2114 +3 4739 628 473 +3 925 779 2742 +3 4717 779 925 +3 4717 1021 784 +3 2561 2471 2459 +3 779 4717 784 +3 4672 925 2513 +3 784 4760 2742 +3 3382 3390 2451 +3 2742 4760 4678 +3 4672 4715 734 +3 3635 734 4715 +3 3975 3945 3635 +3 3112 3110 3902 +3 3945 3975 4737 +3 3635 4715 4711 +3 3369 3945 4751 +3 3369 2194 3945 +3 2194 3635 3945 +3 3977 4691 4819 +3 4711 3975 3635 +3 4711 4749 3977 +3 3977 4819 4737 +3 2191 2194 3305 +3 4780 4782 4803 +3 3618 3382 4677 +3 4715 4749 4711 +3 4748 2352 2347 +3 4711 3977 3975 +3 2194 2191 734 +3 4803 4748 2347 +3 4780 3112 3190 +3 4803 4782 4748 +3 473 578 478 +3 3291 3390 3618 +3 2208 2172 1947 +3 4747 4435 4854 +3 2572 2459 1021 +3 2352 4118 2347 +3 648 4878 3900 +3 3916 4803 3897 +3 4878 3916 3897 +3 3928 4803 3916 +3 3117 4549 3116 +3 648 3213 3117 +3 3900 4878 3897 +3 648 767 4878 +3 4803 3900 3897 +3 478 578 650 +3 4117 4118 4660 +3 4803 2347 4118 +3 4117 4674 4118 +3 3900 4803 4674 +3 2742 4678 2513 +3 3126 4761 1329 +3 2789 2786 891 +3 4118 2352 4660 +3 2535 2172 3289 +3 4660 4663 4678 +3 648 650 3213 +3 891 885 2694 +3 3190 3112 3902 +3 686 2191 692 +3 3900 650 648 +3 3900 478 650 +3 767 3916 4878 +3 650 578 4503 +3 3117 3916 767 +3 4503 628 4834 +3 3110 4435 4499 +3 4549 4503 4834 +3 4747 4767 4746 +3 4307 4768 4246 +3 4897 4854 4834 +3 4767 4854 4897 +3 4897 4834 634 +3 4854 4767 4747 +3 3012 4117 3220 +3 3012 4674 4117 +3 4307 4159 3126 +3 3220 3126 4159 +3 4646 4739 4407 +3 3190 3902 4762 +3 4739 4406 4407 +3 4739 4410 4406 +3 4407 4307 4246 +3 4567 4159 4307 +3 4760 4761 4678 +3 2786 2789 4791 +3 3073 3126 1329 +3 4117 4660 3126 +3 1061 2471 1403 +3 2694 4759 4848 +3 4760 1351 4848 +3 962 885 2785 +3 2471 2561 1403 +3 2811 4788 2789 +3 478 3012 473 +3 3364 4792 15 +3 4791 2789 4788 +3 2561 3191 1403 +3 1247 1947 3268 +3 784 2811 1351 +3 4801 4788 2811 +3 784 1351 4760 +3 2811 2789 1351 +3 3291 3289 2172 +3 686 2572 604 +3 784 1061 2811 +3 784 1021 1061 +3 4549 4854 4435 +3 2471 1021 2459 +3 2459 2114 2561 +3 2459 2451 2114 +3 4854 4549 4834 +3 2208 3191 2112 +3 3191 2561 2112 +3 4307 4406 4567 +3 3390 3291 2208 +3 2208 1247 3191 +3 3268 4801 1247 +3 3382 692 4677 +3 692 3382 686 +3 2459 2572 3382 +3 1247 1403 3191 +3 2811 1403 4801 +3 4757 4792 3289 +3 1403 2811 1061 +3 3112 3116 3110 +3 3928 3116 3112 +3 1947 1247 2208 +3 1947 1214 4801 +3 1947 2172 1214 +3 4928 3364 15 +3 4928 2535 3364 +3 4780 3928 3112 +3 3369 3305 2194 +3 3305 3369 4856 +3 4856 3369 12 +3 4715 4672 2513 +3 4691 3977 4749 +3 4435 3116 4549 +3 2513 2352 4715 +3 1440 1005 1352 +3 1181 4023 3358 +3 986 982 2930 +3 986 2739 982 +3 4287 2700 2739 +3 4287 2643 2700 +3 2736 3680 1307 +3 3298 3598 3293 +3 2819 3298 2613 +3 2673 3298 2819 +3 3680 2736 3938 +3 502 4830 4554 +3 4942 4363 3249 +3 1483 4372 2622 +3 4372 1483 1005 +3 1005 1440 4372 +3 4363 4942 4386 +3 3293 2843 76 +3 4811 2699 2245 +3 4945 3187 2616 +3 4947 2825 4946 +3 2699 4811 2685 +3 377 1099 4815 +3 2699 3786 2627 +3 4946 3598 3599 +3 4949 2930 4945 +3 986 4949 3476 +3 2930 4949 986 +3 4023 1181 408 +3 375 3643 3546 +3 2627 2634 2699 +3 3572 408 4545 +3 4373 4401 4545 +3 4373 4950 4007 +3 4500 4386 4942 +3 4386 4500 4389 +3 3125 3249 4363 +3 3249 3125 4240 +3 1187 3249 4240 +3 4240 1181 1187 +3 4554 495 502 +3 1187 3358 4830 +3 4417 1428 1432 +3 4240 4007 4950 +3 1416 4820 3558 +3 4820 78 3558 +3 3321 2673 2819 +3 3321 4807 4958 +3 3520 2819 2613 +3 3520 3321 2819 +3 4958 4806 2245 +3 1518 2479 3508 +3 1352 4375 1440 +3 2738 3938 2736 +3 1105 4961 1099 +3 1005 999 4919 +3 3599 2681 2634 +3 2643 2850 2700 +3 1416 3558 4391 +3 2643 2479 2738 +3 3938 2738 2479 +3 377 4534 375 +3 3938 1432 1428 +3 1741 79 1305 +3 4830 502 1187 +3 2104 1305 1307 +3 4930 4500 1416 +3 4283 2685 2683 +3 4391 4930 1416 +3 4391 4389 4930 +3 377 3572 1099 +3 408 4817 4023 +3 377 375 3572 +3 4534 3643 375 +3 3321 4958 2509 +3 3786 2699 2685 +3 2509 2673 3321 +3 2509 3298 2673 +3 4958 2634 2681 +3 999 4287 986 +3 2479 2643 3508 +3 2509 4958 2681 +3 4807 4806 4958 +3 4947 4946 3599 +3 1483 3508 999 +3 4945 4283 4949 +3 4283 4951 4919 +3 4283 4945 3786 +3 3249 1187 502 +3 2616 4947 2627 +3 3598 2509 2681 +3 2627 4947 3599 +3 3298 2509 3598 +3 2616 3187 2145 +3 4946 3293 3598 +3 3786 2616 2627 +3 4945 2930 3187 +3 4947 2145 2825 +3 2843 3293 4946 +3 2613 3293 76 +3 2613 3298 3293 +3 2739 986 4287 +3 2616 2145 4947 +3 4283 2683 4951 +3 2738 2850 2643 +3 3476 999 986 +3 3476 4919 999 +3 1428 4417 1741 +3 4007 4240 3125 +3 3786 4945 2616 +3 1428 3680 3938 +3 4281 4919 3476 +3 3508 1483 1518 +3 4961 4919 4951 +3 3476 4949 4281 +3 4283 4281 4949 +3 4283 4919 4281 +3 3680 1428 1310 +3 1428 1741 1310 +3 2634 2627 3599 +3 4287 3508 2643 +3 3508 4287 999 +3 1305 79 1307 +3 1310 1305 2104 +3 1310 1741 1305 +3 3680 2104 1307 +3 3680 1310 2104 +3 4500 495 1416 +3 999 1005 1483 +3 495 4500 4942 +3 1432 4369 4417 +3 1432 3938 2479 +3 4369 1432 1518 +3 2681 3599 3598 +3 4919 4961 1005 +3 1105 4375 1352 +3 2479 1518 1432 +3 1352 1005 4961 +3 2685 4283 3786 +3 4930 4389 4500 +3 4545 408 4950 +3 3358 1187 1181 +3 4373 4545 4950 +3 495 4554 4820 +3 4961 1105 1352 +3 502 4942 3249 +3 4375 4545 4401 +3 1099 3572 4545 +3 4545 1105 1099 +3 3572 3546 408 +3 375 3546 3572 +3 3643 4817 3546 +3 4950 408 1181 +3 3546 4817 408 +3 1518 2622 4369 +3 1105 4545 4375 +3 2622 1518 1483 +3 4942 502 495 +3 1416 495 4820 +3 1181 4240 4950 +3 2245 2634 4958 +3 4951 4815 4961 +3 2683 4812 4951 +3 2685 4812 2683 +3 4946 2825 2843 +3 2634 2245 2699 +3 4961 4815 1099 +3 4951 4812 4815 +3 4812 2685 4811 +3 115 129 385 +3 274 131 115 +3 175 227 218 +3 4099 497 4904 +3 178 200 1542 +3 341 515 364 +3 33 1542 200 +3 263 171 167 +3 240 227 263 +3 113 382 3714 +3 279 382 385 +3 272 474 38 +3 2684 510 515 +3 515 341 2684 +3 3951 2689 2684 +3 510 526 421 +3 2848 4784 4448 +3 274 109 301 +3 1379 251 282 +3 1951 277 133 +3 4859 694 5011 +3 2921 430 2848 +3 113 3714 109 +3 4486 138 4380 +3 142 138 4486 +3 3931 141 142 +3 244 215 218 +3 218 192 185 +3 194 1158 198 +3 175 188 180 +3 244 165 215 +3 277 1951 1962 +3 4776 4859 5011 +3 126 196 128 +3 263 227 171 +3 229 227 240 +3 272 279 282 +3 360 543 341 +3 282 130 1379 +3 220 1379 130 +3 295 194 3028 +3 497 3776 3767 +3 3028 194 400 +3 128 703 133 +3 5011 694 5016 +3 426 430 4904 +3 694 703 5016 +3 2921 194 4607 +3 277 135 133 +3 703 128 5016 +3 1951 694 4859 +3 4776 1158 4448 +3 421 2848 430 +3 209 123 165 +3 277 4486 4380 +3 143 4380 138 +3 3931 165 141 +3 2848 4448 2921 +3 123 209 125 +3 227 175 178 +3 117 232 251 +3 127 133 135 +3 272 282 167 +3 126 119 122 +3 257 316 326 +3 119 124 117 +3 122 1379 220 +3 316 259 580 +3 566 3028 400 +3 396 223 131 +3 430 2921 4607 +3 396 3028 566 +3 400 194 196 +3 301 4099 4904 +3 566 400 580 +3 316 580 326 +3 385 113 115 +3 1379 122 117 +3 426 364 515 +3 515 421 426 +3 580 400 196 +3 580 196 326 +3 143 144 119 +3 117 251 1379 +3 4607 4904 430 +3 3776 4099 3714 +3 119 126 143 +3 196 198 881 +3 4607 194 295 +3 5016 1158 5011 +3 4099 3776 497 +3 4904 4607 301 +3 251 167 282 +3 360 364 3767 +3 209 244 218 +3 295 3028 396 +3 530 4784 526 +3 341 537 2684 +3 548 341 543 +3 144 138 141 +3 109 3714 4099 +3 37 3951 537 +3 526 4784 2848 +3 3951 2684 537 +3 37 537 543 +3 2689 510 2684 +3 2848 421 526 +3 4380 143 135 +3 510 2689 530 +3 135 277 4380 +3 4099 301 109 +3 1951 703 694 +3 295 301 4607 +3 133 703 1951 +3 1962 1951 4859 +3 881 5016 128 +3 126 122 326 +3 198 5016 881 +3 196 881 128 +3 4904 497 426 +3 497 3767 364 +3 5016 198 1158 +3 5011 1158 4776 +3 1158 194 2921 +3 1158 2921 4448 +3 196 126 326 +3 115 113 109 +3 122 119 117 +3 125 124 123 +3 128 127 126 +3 131 130 129 +3 128 133 127 +3 126 127 135 +3 142 141 138 +3 138 144 143 +3 141 123 144 +3 135 143 126 +3 141 165 123 +3 171 169 167 +3 180 178 175 +3 188 185 182 +3 192 182 185 +3 198 196 194 +3 200 178 180 +3 200 180 188 +3 125 209 207 +3 218 215 192 +3 130 223 220 +3 229 218 227 +3 124 125 232 +3 240 207 229 +3 165 244 209 +3 207 209 229 +3 207 251 232 +3 207 232 125 +3 259 257 223 +3 167 251 260 +3 251 240 260 +3 144 123 124 +3 260 240 263 +3 124 119 144 +3 207 240 251 +3 167 169 272 +3 115 109 274 +3 129 282 279 +3 124 232 117 +3 301 295 274 +3 259 316 257 +3 220 257 326 +3 223 257 220 +3 364 360 341 +3 167 260 263 +3 175 218 185 +3 385 382 113 +3 279 385 129 +3 131 223 130 +3 129 130 282 +3 131 274 396 +3 218 229 209 +3 396 274 295 +3 430 426 421 +3 38 382 272 +3 185 188 175 +3 382 279 272 +3 474 272 169 +3 220 326 122 +3 129 115 131 +3 364 426 497 +3 421 515 510 +3 530 526 510 +3 548 543 537 +3 341 548 537 +3 223 396 566 +3 566 580 259 +3 566 259 223 +3 456 601 446 +3 644 640 635 +3 706 656 444 +3 718 714 710 +3 736 730 725 +3 750 745 741 +3 783 777 287 +3 801 796 789 +3 822 814 807 +3 838 822 807 +3 806 857 846 +3 888 897 895 +3 282 279 888 +3 965 279 282 +3 976 972 965 +3 976 14 972 +3 976 1000 14 +3 1016 13 1010 +3 1029 1010 1022 +3 1029 1022 736 +3 1050 1044 1042 +3 144 359 1055 +3 592 585 444 +3 124 1124 117 +3 1157 1152 1147 +3 1044 1050 1160 +3 1177 144 1167 +3 1185 1183 378 +3 1199 1195 714 +3 1212 1208 1204 +3 1212 1204 745 +3 1195 750 741 +3 1242 741 1239 +3 1256 1239 1248 +3 1248 814 822 +3 585 706 444 +3 890 282 888 +3 1167 141 1330 +3 1347 640 270 +3 1185 456 446 +3 282 890 1379 +3 895 1407 890 +3 1443 777 783 +3 1379 1452 282 +3 144 1055 141 +3 124 265 1124 +3 585 1379 956 +3 1512 1347 1147 +3 270 1000 1157 +3 1160 1522 1044 +3 635 710 644 +3 730 1050 1042 +3 1177 446 1536 +3 1536 601 287 +3 359 592 444 +3 1596 444 455 +3 1604 1601 1167 +3 1604 1167 1330 +3 378 1615 521 +3 822 801 789 +3 1626 801 822 +3 1626 822 838 +3 710 635 718 +3 1635 1633 796 +3 1208 1212 1615 +3 710 1635 644 +3 1649 644 1635 +3 1661 1655 1652 +3 1665 1443 1655 +3 117 777 1379 +3 806 1661 1674 +3 1674 1652 1443 +3 1443 1665 1452 +3 706 1690 1407 +3 1615 846 1695 +3 585 1690 706 +3 895 706 1407 +3 1379 777 1452 +3 1690 956 1407 +3 806 714 1476 +3 777 117 1124 +3 1726 279 965 +3 1655 1661 1728 +3 956 1379 890 +3 956 890 1407 +3 972 1726 965 +3 1655 1728 1603 +3 1633 1635 710 +3 730 895 897 +3 287 1124 1315 +3 265 1315 1124 +3 124 117 592 +3 1690 585 956 +3 117 585 592 +3 965 282 1452 +3 1695 521 1615 +3 706 895 1042 +3 897 725 730 +3 895 730 1042 +3 1022 1821 1050 +3 736 1050 730 +3 1022 1050 736 +3 1829 736 725 +3 1833 13 1016 +3 144 141 1167 +3 656 1042 1044 +3 1160 1821 1855 +3 359 444 1055 +3 1833 1868 1829 +3 706 1042 656 +3 444 656 1044 +3 444 1044 455 +3 1596 1522 1855 +3 1868 1010 1029 +3 287 857 783 +3 789 796 1633 +3 1044 1522 455 +3 1050 1821 1160 +3 1522 1160 1855 +3 1167 1185 1177 +3 1601 1604 1183 +3 1185 1167 1601 +3 1185 1601 1183 +3 1855 1919 1596 +3 1522 1596 455 +3 846 601 1695 +3 1695 456 521 +3 265 124 1177 +3 446 1177 1185 +3 1177 1536 265 +3 1147 270 1157 +3 144 592 359 +3 1982 1195 1633 +3 446 601 1536 +3 265 1536 1315 +3 789 1248 822 +3 714 806 846 +3 1536 287 1315 +3 890 888 895 +3 1147 1665 1512 +3 1615 714 846 +3 1665 1147 1152 +3 601 846 857 +3 456 1695 601 +3 1185 378 521 +3 1185 521 456 +3 378 1208 1615 +3 857 287 601 +3 714 1615 1199 +3 1256 1633 1195 +3 736 1829 1868 +3 1239 814 1248 +3 1868 1029 736 +3 1195 1199 750 +3 1256 1242 1239 +3 9 1626 838 +3 9 838 807 +3 1256 1248 789 +3 1452 1152 965 +3 750 1199 1615 +3 714 1195 1982 +3 976 965 1152 +3 644 1649 640 +3 1982 710 714 +3 1661 806 2073 +3 1603 1476 714 +3 718 1512 1655 +3 718 635 1512 +3 2073 1476 1603 +3 718 1603 714 +3 635 1347 1512 +3 1728 1661 2073 +3 750 1615 1212 +3 1674 857 806 +3 2073 806 1476 +3 783 857 1674 +3 1652 1674 1661 +3 1379 585 117 +3 124 592 144 +3 1655 1512 1665 +3 1674 1443 783 +3 777 1443 1452 +3 1124 287 777 +3 1157 1000 976 +3 1728 2073 1603 +3 1603 718 1655 +3 635 640 1347 +3 270 1147 1347 +3 1152 1157 976 +3 1652 1655 1443 +3 144 1177 124 +3 1152 1452 1665 +3 1212 745 750 +3 710 1982 1633 +3 1016 1010 1868 +3 1868 1833 1016 +3 444 1596 1055 +3 1596 1919 1055 +3 1633 1256 789 +3 1195 741 1242 +3 1195 1242 1256 +3 2300 2299 2296 +3 784 773 1061 +3 2317 2315 2314 +3 2320 2319 58 +3 2327 2325 2322 +3 2322 2331 2327 +3 2335 2333 2332 +3 2340 2338 2336 +3 2345 2325 2342 +3 2352 2349 2347 +3 2349 2356 2347 +3 2364 2356 2349 +3 2370 2356 2364 +3 2370 2364 2373 +3 2385 2382 2380 +3 2406 1077 681 +3 1061 522 784 +3 2421 2140 979 +3 2140 491 979 +3 2452 2451 2231 +3 2459 2451 2455 +3 2365 2463 2459 +3 2459 2471 2231 +3 1041 2476 609 +3 1061 992 2406 +3 2502 1648 2495 +3 790 784 522 +3 2513 2512 2352 +3 2410 62 2514 +3 2525 2342 2327 +3 2352 2345 2529 +3 2539 2396 2533 +3 2401 2396 2539 +3 2548 2396 2401 +3 2553 2551 2550 +3 2299 1066 1077 +3 2476 2502 2495 +3 2585 2578 2299 +3 778 2578 2585 +3 778 2585 2593 +3 2606 682 1402 +3 1402 2609 2606 +3 2623 2621 494 +3 494 1090 2319 +3 2231 2451 2459 +3 2365 2459 2455 +3 682 2606 2231 +3 2654 2584 2587 +3 2658 2550 2656 +3 2332 2661 2335 +3 2662 2373 2364 +3 2672 2671 2641 +3 2320 491 2319 +3 2443 2448 1034 +3 2443 1041 2587 +3 2125 2584 2365 +3 2125 2365 2455 +3 2365 2584 2463 +3 2471 2463 522 +3 2606 2452 2231 +3 2406 2231 2471 +3 1034 2476 1041 +3 1041 2654 2587 +3 2495 729 1580 +3 827 63 2725 +3 2300 2730 2728 +3 2733 827 2725 +3 2495 1580 798 +3 790 2338 784 +3 2331 2551 2525 +3 784 2338 2742 +3 522 609 790 +3 2757 140 2533 +3 729 1648 2733 +3 816 2578 778 +3 682 1066 2217 +3 2352 2529 2513 +3 2553 2410 2772 +3 2774 2529 2342 +3 2551 2553 2775 +3 2533 2396 2757 +3 2779 2778 2777 +3 2779 2588 2781 +3 2406 992 1077 +3 2791 2585 2790 +3 2299 773 2296 +3 2578 1066 2299 +3 2529 2774 2728 +3 2342 2385 2380 +3 609 522 2463 +3 2463 2584 2654 +3 2463 2654 609 +3 2443 1034 1041 +3 2654 1041 609 +3 2459 2463 2471 +3 2406 2471 1061 +3 2380 2774 2342 +3 522 1061 2471 +3 2421 979 517 +3 2217 1402 682 +3 2340 2662 2364 +3 491 2320 979 +3 2772 2775 2553 +3 2317 2380 2382 +3 682 681 1066 +3 2336 2834 2340 +3 2231 681 682 +3 681 1077 1066 +3 681 2231 2406 +3 1077 773 2299 +3 827 1648 2502 +3 798 790 609 +3 2296 773 2742 +3 773 784 2742 +3 1034 2448 2476 +3 517 2641 2421 +3 2476 2448 2502 +3 2550 62 2553 +3 1648 729 2495 +3 2349 2352 2512 +3 773 992 1061 +3 2336 790 798 +3 1580 729 2336 +3 1580 2336 798 +3 2336 2338 790 +3 2448 827 2502 +3 2551 2661 2550 +3 2448 63 827 +3 1402 2217 2641 +3 2551 2335 2661 +3 140 2588 208 +3 2513 2296 2742 +3 816 778 2581 +3 2609 1402 517 +3 2725 2834 2733 +3 609 2476 798 +3 517 2119 2609 +3 2325 2327 2342 +3 2345 2342 2529 +3 2998 62 2550 +3 2998 2550 2658 +3 2512 2340 2349 +3 2529 2730 2513 +3 2217 816 2581 +3 979 2320 2119 +3 2347 2345 2352 +3 2581 2672 2217 +3 2551 2331 2335 +3 2730 2529 2728 +3 2296 2513 2730 +3 2333 2335 2331 +3 2296 2730 2300 +3 2525 2327 2331 +3 2553 62 2410 +3 2973 3029 2775 +3 2775 2772 2973 +3 1648 827 2733 +3 2834 2336 729 +3 2774 2380 2790 +3 3029 2973 2972 +3 2410 134 2772 +3 3065 2777 2382 +3 2410 2514 208 +3 208 2972 134 +3 2742 2512 2513 +3 2972 3079 134 +3 2364 2349 2340 +3 2661 2332 2656 +3 3029 2972 3065 +3 2385 3065 2382 +3 2331 2322 2333 +3 134 2410 208 +3 729 2733 2834 +3 2385 3029 3065 +3 2973 3079 2972 +3 3029 2385 2525 +3 2342 2525 2385 +3 2777 3065 2972 +3 2340 2834 2662 +3 2781 2315 2779 +3 2778 2382 2777 +3 2778 2779 2315 +3 2315 2317 2778 +3 2641 517 1402 +3 2757 2588 140 +3 2757 2396 2586 +3 2586 2588 2757 +3 2586 2396 2781 +3 2314 3166 2317 +3 3166 2380 2317 +3 2396 2315 2781 +3 2586 2781 2588 +3 2772 134 3079 +3 773 1077 992 +3 2656 2550 2661 +3 2779 2777 208 +3 3166 2791 2380 +3 3079 2973 2772 +3 2585 2299 2790 +3 2790 2300 2774 +3 2525 2775 3029 +3 2728 2774 2300 +3 2299 2300 2790 +3 2791 2790 2380 +3 2972 208 2777 +3 2641 2217 2672 +3 816 1066 2578 +3 2671 1813 2421 +3 2588 2779 208 +3 208 2514 140 +3 2217 1066 816 +3 2119 517 979 +3 2623 491 2140 +3 2621 2140 1813 +3 2382 2778 2317 +3 2140 2421 1813 +3 2421 2641 2671 +3 2581 778 2593 +3 494 491 2623 +3 2621 2623 2140 +3 2319 491 494 +3 1090 494 2621 +3 2548 2314 2315 +3 140 2514 118 +3 140 118 2533 +3 2775 2525 2551 +3 2315 2396 2548 +3 2512 2742 2338 +3 2338 2340 2512 +3 2495 798 2476 +3 2834 2725 2662 +3 3291 3289 3287 +3 680 3295 639 +3 2270 3301 2179 +3 692 3305 739 +3 2270 22 3307 +3 3315 3314 3313 +3 1449 555 546 +3 1453 2744 1173 +3 3331 2746 2445 +3 3333 2260 3332 +3 861 3335 1438 +3 2161 2157 2767 +3 1507 1774 2830 +3 1507 2161 2039 +3 1774 1507 3352 +3 639 2832 680 +3 2159 2832 639 +3 1643 3362 1645 +3 3289 1094 3364 +3 2445 2746 2265 +3 3272 20 3369 +3 3335 861 1111 +3 3372 3371 3370 +3 3374 1523 739 +3 3375 1523 3372 +3 2644 2641 1523 +3 3382 3025 692 +3 918 2625 546 +3 2744 1568 2154 +3 1173 2159 639 +3 1438 2263 861 +3 2260 1438 3332 +3 246 249 3387 +3 246 3392 249 +3 246 3397 3392 +3 3315 3392 3398 +3 3315 3398 3399 +3 2179 22 2270 +3 3404 2265 2766 +3 3331 2445 3405 +3 2746 2767 2265 +3 1173 2487 1453 +3 452 2795 1568 +3 3381 2487 2488 +3 2830 2161 1507 +3 1774 2795 2907 +3 452 3387 2840 +3 1780 1568 2795 +3 2487 3381 2753 +3 3453 3405 2413 +3 249 422 3454 +3 3313 422 249 +3 246 452 638 +3 2159 1173 2154 +3 3352 1507 2039 +3 1102 3364 1094 +3 1102 1094 1645 +3 3485 3362 3295 +3 3404 3454 3486 +3 3024 3291 3287 +3 3024 3287 23 +3 2159 3352 2832 +3 3498 2644 3497 +3 1402 3381 3162 +3 3502 3336 2488 +3 3498 3503 2644 +3 1523 1402 3504 +3 2263 1632 1063 +3 2753 2801 3208 +3 2744 1576 1568 +3 2447 3314 2413 +3 1449 2625 2744 +3 1568 1163 452 +3 1438 3335 3547 +3 1576 1063 1163 +3 3332 1438 3547 +3 2413 3301 2270 +3 3453 2270 3307 +3 2487 639 3295 +3 1774 3352 2159 +3 2270 3453 2413 +3 3314 2447 3486 +3 3486 422 3313 +3 2159 2154 1774 +3 249 3392 3315 +3 249 3315 3313 +3 3502 3295 3362 +3 3502 3362 1643 +3 3486 3313 3314 +3 3454 422 3486 +3 3301 2413 3314 +3 3582 638 3299 +3 3454 3387 249 +3 1063 1576 918 +3 1576 2744 2625 +3 2840 3387 3454 +3 2447 3405 2445 +3 2766 3454 3404 +3 2445 3404 2447 +3 3486 2447 3404 +3 452 2840 2795 +3 2753 1453 2487 +3 2766 2840 3454 +3 3295 2488 2487 +3 2840 2907 2795 +3 3336 3382 3504 +3 1774 2907 2830 +3 2157 2766 2265 +3 2157 2161 2830 +3 1774 2154 1780 +3 3295 680 3485 +3 3382 3336 3390 +3 2265 3404 2445 +3 23 3287 3289 +3 3364 23 3289 +3 1094 3289 1643 +3 1094 1643 1645 +3 2830 2840 2766 +3 3314 3315 3301 +3 3502 3289 3291 +3 2413 3405 2447 +3 3336 3502 3390 +3 3162 2488 3336 +3 3208 1111 555 +3 2265 2767 2157 +3 3390 3025 3382 +3 2766 2157 2830 +3 1774 1780 2795 +3 3504 2606 3336 +3 2830 2907 2840 +3 3390 3024 3025 +3 1780 2154 1568 +3 3381 1402 1234 +3 692 739 3382 +3 3381 1234 2800 +3 2801 2800 3208 +3 3295 3502 2488 +3 2801 2753 3381 +3 2800 2801 3381 +3 3162 3381 2488 +3 2606 3504 1402 +3 1234 1402 2641 +3 546 2625 1449 +3 3504 3382 739 +3 3162 3336 2606 +3 3162 2606 1402 +3 1523 3504 739 +3 918 861 2263 +3 1111 1234 3335 +3 3305 3374 739 +3 3371 3374 3305 +3 3272 692 1495 +3 3272 3305 692 +3 1495 692 3025 +3 2641 1402 1523 +3 3375 3372 3370 +3 3374 3371 3372 +3 3374 3372 1523 +3 3375 3498 3497 +3 3375 3497 1523 +3 2672 2641 2644 +3 3497 2644 1523 +3 2263 1063 918 +3 2263 2260 3333 +3 3390 3502 3291 +3 3503 2672 2644 +3 2800 1234 1111 +3 555 1111 861 +3 555 1449 3208 +3 3291 3024 3390 +3 1163 1568 1576 +3 918 1576 2625 +3 3208 2800 1111 +3 3208 1453 2753 +3 1449 2744 1453 +3 1449 1453 3208 +3 3299 452 1163 +3 1643 3289 3502 +3 638 3397 246 +3 452 246 3387 +3 3582 3397 638 +3 3582 3299 3898 +3 3399 2179 3301 +3 3301 3315 3399 +3 638 452 3299 +3 3898 3299 1632 +3 3333 1632 2263 +3 1632 3299 1163 +3 2263 1438 2260 +3 1632 1163 1063 +3 546 555 861 +3 546 861 918 +3 3369 3371 3305 +3 3305 3272 3369 +3 1234 2641 3335 +3 2641 2672 3335 +3 2672 3503 3335 +3 2154 1173 2744 +3 639 2487 1173 +3 1869 1876 89 +3 3347 3339 3945 +3 3108 2558 2971 +3 3951 1106 3947 +3 2630 29 3951 +3 3956 3954 3953 +3 3963 3961 2720 +3 2558 2554 2971 +3 3000 2961 3968 +3 3971 3088 3969 +3 3974 3973 3945 +3 3347 28 3339 +3 3945 3339 3975 +3 3975 3978 3977 +3 3975 3977 3974 +3 3088 3605 3083 +3 3969 3029 3980 +3 3971 3982 3640 +3 3984 3640 3983 +3 2959 3436 3083 +3 2558 157 2554 +3 3108 157 2558 +3 2391 2539 2396 +3 3969 3980 3971 +3 3000 3065 2777 +3 4008 214 158 +3 2542 3954 214 +3 4013 2630 2666 +3 2603 4016 3819 +3 2396 4019 2391 +3 3065 3000 3968 +3 3605 3088 3971 +3 4027 3956 4026 +3 3968 3029 3065 +3 3961 3755 4029 +3 4038 1106 3951 +3 2967 2971 2554 +3 4043 4042 3953 +3 158 214 3954 +3 3612 4029 3755 +3 1876 4013 86 +3 4049 4048 4026 +3 4050 2539 2391 +3 4026 4052 4027 +3 4016 2603 2583 +3 4054 2391 4019 +3 2554 157 3562 +3 3974 4058 3968 +3 2971 3983 3108 +3 1834 3953 3954 +3 3824 4048 3755 +3 3980 3982 3971 +3 158 3562 157 +3 2959 2367 3436 +3 3954 3562 158 +3 4008 158 4070 +3 2719 2720 3626 +3 2289 4075 162 +3 3953 3051 4043 +3 2015 214 162 +3 1834 3051 3953 +3 2719 2603 3819 +3 2015 4093 1832 +3 1832 2668 1834 +3 2367 2959 2554 +3 3745 4109 3824 +3 537 3612 4038 +3 4038 3612 4048 +3 3626 4114 2719 +3 4043 4049 4042 +3 2779 2603 4114 +3 4026 4048 4052 +3 3947 2630 3951 +3 4042 4049 4026 +3 4042 4026 3956 +3 4042 3956 3953 +3 1106 4049 3051 +3 3051 1834 2668 +3 2391 3436 2367 +3 3824 3961 3745 +3 3065 3247 2777 +3 2777 4019 2779 +3 2367 3956 4050 +3 4109 3745 4016 +3 4050 3956 4027 +3 4109 4016 2539 +3 4151 4027 4052 +3 3088 4054 3247 +3 4052 4048 3824 +3 2554 3562 2367 +3 4050 4027 4151 +3 3247 3969 3088 +3 4052 3824 4109 +3 4052 4109 4151 +3 4050 4151 4109 +3 4050 4109 2539 +3 3745 3819 4016 +3 3436 2391 4054 +3 3745 3961 3963 +3 3745 3963 3819 +3 4114 2603 2719 +3 2720 2719 3963 +3 3000 4114 3626 +3 2961 3626 2720 +3 3968 4170 3974 +3 2961 3000 3626 +3 4058 3029 3968 +3 4170 3968 2961 +3 3339 3978 3975 +3 3974 3977 4058 +3 3945 3975 3974 +3 3973 3974 4170 +3 2583 2781 2396 +3 2539 4016 2583 +3 2781 2779 4019 +3 2539 2583 2396 +3 4114 2777 2779 +3 2583 2779 2781 +3 2396 2781 4019 +3 4203 3983 2967 +3 3562 3956 2367 +3 2777 4114 3000 +3 3755 3961 3824 +3 4054 3083 3436 +3 3971 3640 3605 +3 157 4070 158 +3 3029 3969 3065 +3 2367 4050 2391 +3 3247 4019 2777 +3 4019 3247 4054 +3 3969 3247 3065 +3 3083 4054 3088 +3 3083 3984 2959 +3 2779 2583 2603 +3 3605 3640 3984 +3 3605 3984 3083 +3 3984 3983 4203 +3 3984 4203 2959 +3 3983 2971 2967 +3 4203 2967 2959 +3 4253 157 154 +3 2967 2554 2959 +3 2668 4093 86 +3 86 2666 2668 +3 3446 155 3108 +3 3446 3108 3983 +3 4008 2289 214 +3 2542 214 2015 +3 4008 4075 2289 +3 214 2289 162 +3 162 4093 2015 +3 2542 1832 1834 +3 4093 2668 1832 +3 2015 1832 2542 +3 3956 3562 3954 +3 1834 3954 2542 +3 155 4253 154 +3 155 154 3108 +3 4253 4070 157 +3 154 157 3108 +3 2666 86 4013 +3 86 89 1876 +3 3947 2666 2630 +3 29 2630 24 +3 2668 3947 3051 +3 4043 3051 4049 +3 2668 2666 3947 +3 3051 3947 1106 +3 89 4093 162 +3 4147 162 4075 +3 86 4093 89 +3 1876 1869 4147 +3 162 4147 1869 +3 162 1869 89 +3 4013 24 2630 +3 3819 3963 2719 +3 537 4038 3951 +3 3951 29 537 +3 3612 3755 4048 +3 4048 4049 4038 +3 4049 1106 4038 +3 3741 323 4297 +3 3251 1972 4301 +3 4308 4306 4305 +3 3251 4309 1971 +3 4311 213 216 +3 1737 4279 1586 +3 3741 3803 3740 +3 4036 213 3774 +3 1972 1961 4301 +3 1316 1241 3271 +3 3227 3229 4321 +3 2000 4322 1997 +3 4036 4324 4323 +3 3360 4326 4325 +3 4322 2000 1032 +3 3741 4297 3803 +3 820 2751 2339 +3 4305 4329 3222 +3 1032 1037 2944 +3 4308 4334 4332 +3 4297 4338 3803 +3 4322 1032 4341 +3 1997 4322 3206 +3 2059 3206 4053 +3 1262 4346 1776 +3 4040 4323 3115 +3 4353 980 4352 +3 1466 2394 1714 +3 4353 4360 2148 +3 2137 3401 3949 +3 1285 3738 1714 +3 3401 2137 3842 +3 3689 4366 3705 +3 3689 3705 3842 +3 3705 9 3842 +3 1268 2059 4053 +3 3123 1359 4274 +3 3741 3773 323 +3 197 4326 3361 +3 4040 216 4036 +3 1995 2025 4383 +3 4261 4387 4265 +3 4321 4392 1612 +3 4395 4301 1961 +3 1737 3229 3227 +3 4346 1539 1776 +3 1994 2793 2121 +3 1714 2394 1285 +3 2808 2751 1037 +3 4346 1251 2394 +3 2148 4366 3689 +3 1466 1539 2394 +3 1037 820 3741 +3 1666 2724 1776 +3 1539 4122 4402 +3 1995 2339 2808 +3 3115 4274 4420 +3 2793 1262 1776 +3 3308 206 4040 +3 1776 2724 2793 +3 2808 2025 1995 +3 1316 100 4301 +3 4219 1369 3123 +3 2944 3741 3740 +3 3229 1737 1586 +3 4450 3774 3773 +3 216 4040 206 +3 1926 3229 1990 +3 3115 3308 4040 +3 3361 206 197 +3 3227 1612 1359 +3 2408 1994 2121 +3 4402 1666 1539 +3 1990 1950 2153 +3 1531 1466 1508 +3 1508 3738 3949 +3 105 103 3271 +3 1972 3251 1971 +3 1285 2148 3738 +3 2148 4360 4366 +3 2137 3689 3842 +3 2137 2148 3689 +3 3738 2148 2137 +3 4353 4352 4360 +3 3949 3738 2137 +3 4329 4511 3361 +3 4511 216 206 +3 4301 4395 1531 +3 1508 1466 1714 +3 1539 1666 1776 +3 4511 4329 4306 +3 927 1241 1316 +3 3738 1508 1714 +3 4395 4122 1539 +3 1316 103 100 +3 1369 4219 1737 +3 1388 2408 1950 +3 2408 2153 1950 +3 4265 4387 1388 +3 1388 820 2408 +3 4122 4395 2121 +3 2408 820 2339 +3 2121 2793 4122 +3 2724 1666 4402 +3 1531 1539 1466 +3 1531 4395 1539 +3 1285 1251 2148 +3 1251 980 4353 +3 2148 1251 4353 +3 1285 2394 1251 +3 1539 4346 2394 +3 206 3308 197 +3 1994 1995 4383 +3 4383 2793 1994 +3 1995 1994 2339 +3 3773 820 4387 +3 3741 2944 1037 +3 1990 1586 1950 +3 2751 820 1037 +3 1268 1262 2025 +3 2000 2808 1037 +3 3206 4322 4341 +3 2059 2025 2000 +3 3206 2059 1997 +3 1262 1268 4346 +3 2025 2059 1268 +3 1997 2059 2000 +3 3361 3360 4329 +3 4450 3773 4387 +3 4334 4297 4332 +3 4334 4338 4297 +3 820 3773 3741 +3 4323 4040 4036 +3 2808 2339 2751 +3 2793 4402 4122 +3 2000 1037 1032 +3 2724 4402 2793 +3 2339 1994 2408 +3 2793 4383 1262 +3 1489 1388 1950 +3 4387 820 1388 +3 1316 1531 1508 +3 1586 4261 4265 +3 1489 4265 1388 +3 3123 3115 4323 +3 1972 1926 1961 +3 213 4311 4604 +3 1961 1926 1990 +3 3773 3774 323 +3 3229 1926 4321 +3 11 3360 4325 +3 4383 2025 1262 +3 1251 1268 980 +3 4311 4332 4604 +3 4329 4305 4306 +3 4332 323 4604 +3 216 4511 4311 +3 4297 323 4332 +3 323 210 4604 +3 323 3774 210 +3 210 213 4604 +3 210 3774 213 +3 1586 1990 3229 +3 4324 4036 3774 +3 3308 3115 4420 +3 213 4036 216 +3 4261 4279 4450 +3 1359 3123 1369 +3 4061 3308 4420 +3 4061 197 3308 +3 4261 4450 4387 +3 4324 3774 4450 +3 2153 2121 4395 +3 4219 4323 4324 +3 4324 4279 4219 +3 4323 4219 3123 +3 103 1316 3271 +3 1927 4392 4321 +3 3227 4321 1612 +3 3227 1359 1369 +3 1612 4274 1359 +3 3227 1369 1737 +3 3115 3123 4274 +3 2121 2153 2408 +3 4311 4306 4332 +3 4279 1737 4219 +3 4279 4324 4450 +3 3360 3361 4326 +3 4261 1586 4279 +3 1489 1586 4265 +3 1489 1950 1586 +3 4306 4311 4511 +3 1531 1316 4301 +3 4392 1972 1971 +3 2808 2000 2025 +3 1926 1927 4321 +3 1926 4392 1927 +3 206 3361 4511 +3 1508 927 1316 +3 4306 4308 4332 +3 4346 1268 1251 +3 1508 3949 927 +3 3641 8 4670 +3 3222 3360 11 +3 4301 4309 3251 +3 103 3641 100 +3 8 4309 4670 +3 100 3641 4670 +3 103 105 3641 +3 8 105 3271 +3 8 3641 105 +3 2153 1961 1990 +3 4301 100 4309 +3 4309 100 4670 +3 3360 3222 4329 +3 1926 1972 4392 +3 1961 2153 4395 +3 3612 4430 3614 +3 4430 3612 537 +3 2353 3961 4029 +3 3802 4682 4681 +3 3420 4634 4632 +3 4170 2961 4684 +3 2261 4690 3615 +3 2194 3945 3973 +3 2194 2189 3945 +3 3945 2189 3347 +3 2192 3973 4170 +3 28 3347 2189 +3 3004 2353 2937 +3 4632 2949 2676 +3 3523 4704 3424 +3 4707 3038 4705 +3 4690 2261 2236 +3 2260 2261 3332 +3 3973 2192 2194 +3 2192 4170 2198 +3 4639 4693 4637 +3 2267 4639 1627 +3 1627 4639 1827 +3 4714 3038 4634 +3 3038 4716 3044 +3 4661 3614 3699 +3 497 4099 4097 +3 4720 2294 2301 +3 4099 4245 109 +3 4681 4722 2880 +3 497 4247 4099 +3 3790 2901 4611 +3 2294 113 2306 +3 2306 113 4727 +3 2309 4727 1849 +3 4727 113 4262 +3 1849 30 2309 +3 1827 4637 2880 +3 4705 2861 2937 +3 2937 4661 4705 +3 2937 2861 3004 +3 2861 2863 4732 +3 4650 3699 4736 +3 4738 3961 2632 +3 2936 2937 2355 +3 364 497 4044 +3 4682 4742 3976 +3 4722 3976 4743 +3 497 364 4247 +3 2524 30 1849 +3 2524 1849 4262 +3 4257 4743 3997 +3 4113 4720 2301 +3 4681 4682 4722 +3 4743 3976 3997 +3 3044 3188 4753 +3 2996 2632 3004 +3 109 1006 113 +3 3615 4690 3690 +3 3049 3790 2878 +3 4765 3420 4763 +3 4763 3420 3523 +3 2203 4632 2676 +3 2575 3237 2598 +3 4704 2203 2198 +3 3044 4769 3188 +3 3790 2880 2878 +3 4609 3801 3802 +3 4714 4772 4732 +3 2996 4765 3237 +3 4774 4773 4772 +3 4714 4634 3420 +3 4044 4742 1193 +3 4774 3004 2861 +3 4742 3801 3699 +3 3044 4753 4634 +3 4257 3997 4113 +3 1006 109 4245 +3 2309 2306 4727 +3 1849 4727 4262 +3 3997 109 4113 +3 2880 3790 4681 +3 3997 4779 4097 +3 3997 4097 109 +3 4247 4245 4099 +3 4097 4099 109 +3 4139 4247 364 +3 4779 497 4097 +3 2720 4738 2598 +3 4044 497 4779 +3 4742 4044 3976 +3 3997 3976 4779 +3 4704 2198 4170 +3 3976 4044 4779 +3 4637 1827 4639 +3 4682 3976 4722 +3 3801 4742 4682 +3 4705 4661 4707 +3 3096 4722 3940 +3 4113 2301 2717 +3 3940 4743 4257 +3 3940 4113 2717 +3 4722 4743 3940 +3 3096 3940 2717 +3 109 4720 4113 +3 4257 4113 3940 +3 2878 2880 4637 +3 113 4720 109 +3 4763 3237 4765 +3 2901 3690 2236 +3 2901 3049 3690 +3 2236 3690 4690 +3 2901 3790 3049 +3 3690 3049 2878 +3 2878 4637 4693 +3 2878 4693 3690 +3 113 2294 4720 +3 2260 4639 2267 +3 3332 3615 4693 +3 2260 3332 4639 +3 4639 3332 4693 +3 4693 3615 3690 +3 4632 4634 4753 +3 2949 2901 2236 +3 4769 4611 2901 +3 4753 2901 2949 +3 4753 3188 2901 +3 4611 4716 4609 +3 3188 4769 2901 +3 2353 3004 2632 +3 4611 3802 3790 +3 4716 4611 4769 +3 4716 3038 4707 +3 341 4394 4139 +3 4609 4716 4707 +3 4736 3801 4609 +3 4736 4609 4650 +3 364 1193 341 +3 3096 1627 1827 +3 4753 2949 4632 +3 2996 4774 4765 +3 3074 4763 4684 +3 4704 3523 4632 +3 3237 4763 3074 +3 4763 3523 4684 +3 4684 3426 4170 +3 4684 3523 3424 +3 2961 3074 4684 +3 4632 2203 4704 +3 3426 4704 4170 +3 3424 4704 3426 +3 3424 3426 4684 +3 4632 3523 3420 +3 4634 3038 3044 +3 2598 3237 3074 +3 2720 3961 4738 +3 2961 2720 3074 +3 4738 2575 2598 +3 2720 2598 3074 +3 4765 4772 4714 +3 4765 4714 3420 +3 4609 3802 4611 +3 3801 4682 3802 +3 2632 2996 2575 +3 1193 364 4044 +3 3237 2575 2996 +3 4765 4774 4772 +3 3038 2863 4705 +3 341 29 4394 +3 2861 4705 2863 +3 4650 4707 4661 +3 2861 4732 4773 +3 4772 4773 4732 +3 4769 3044 4716 +3 4430 1193 4861 +3 4661 3699 4650 +3 2632 3961 2353 +3 341 4139 364 +3 4707 4650 4609 +3 4732 2863 3038 +3 4732 3038 4714 +3 3801 4736 3699 +3 4742 3699 4861 +3 3802 4681 3790 +3 1193 4430 341 +3 3699 3614 4861 +3 4742 4861 1193 +3 3614 2936 3612 +3 4430 4861 3614 +3 2936 3614 4661 +3 4661 2937 2936 +3 2353 2355 2937 +3 2355 3612 2936 +3 2575 4738 2632 +3 4029 3612 2355 +3 2861 4773 4774 +3 537 29 341 +3 341 4430 537 +3 2353 4029 2355 +3 3615 3332 2261 +3 4722 3096 2880 +3 3096 1827 2880 +3 3004 4774 2996 +3 3445 4847 3579 +3 4839 3568 3445 +3 4696 4869 4695 +3 147 3568 4839 +3 3284 4852 3343 +3 4696 4851 4869 +3 4541 4512 4871 +3 3119 4549 3215 +3 4838 3445 3579 +3 4541 4496 4845 +3 4804 3146 4496 +3 4809 4872 4495 +3 1773 3228 4154 +3 3343 4852 3106 +3 4724 4484 2259 +3 3343 4749 3284 +3 4496 4871 4804 +3 3579 4846 2385 +3 3326 3146 4804 +3 2325 4433 4071 +3 3146 3326 4814 +3 4547 4306 4553 +3 3777 1192 3775 +3 3146 4495 4496 +3 4286 4392 2017 +3 2118 420 352 +3 4541 4844 4512 +3 3119 1192 780 +3 1226 1898 4140 +3 1323 32 1898 +3 1545 1960 4321 +3 4321 1618 4392 +3 2017 32 1323 +3 1554 1267 1264 +3 4844 1636 4140 +3 4767 4875 4862 +3 4094 4065 172 +3 4492 2342 2385 +3 3916 3120 3117 +3 4522 4308 4877 +3 4568 4880 1911 +3 262 1755 1192 +3 4154 1779 1773 +3 4809 1751 1773 +3 4549 3117 3922 +3 4286 1323 1226 +3 1636 1226 4140 +3 4495 3146 3144 +3 354 4311 4547 +3 4558 1264 1267 +3 4814 147 3146 +3 3924 4855 4890 +3 3568 4847 3445 +3 172 3777 4094 +3 2017 1323 4286 +3 3472 2342 4492 +3 4433 2325 4610 +3 4862 3215 4854 +3 3120 4803 3106 +3 3120 3922 3117 +3 3579 4071 4840 +3 3777 172 1192 +3 1779 4154 4155 +3 3579 2385 2342 +3 3117 785 3916 +3 4506 785 780 +3 1773 4872 4809 +3 4495 3144 4809 +3 3916 785 4065 +3 172 4506 780 +3 3775 1755 1614 +3 4155 1636 1779 +3 2259 2258 4880 +3 2259 4880 4522 +3 4875 4484 4862 +3 4522 4880 4568 +3 1911 2060 1923 +3 2258 4484 35 +3 4853 4890 4855 +3 2017 4392 1618 +3 4279 1554 4324 +3 1779 4845 4872 +3 4877 1027 3215 +3 3916 4433 4803 +3 4306 1027 4308 +3 1226 1323 1898 +3 4155 4321 4392 +3 1636 4286 1226 +3 1737 1546 3229 +3 1581 3228 1751 +3 3229 3228 1737 +3 4872 1773 1779 +3 4308 4553 4306 +3 1192 3119 262 +3 1960 1618 4321 +3 4855 3924 3922 +3 1545 3229 3244 +3 3229 1545 4321 +3 1618 1960 1545 +3 4220 2435 1546 +3 3922 3106 4855 +3 3244 3229 1546 +3 2457 1618 1545 +3 211 213 1281 +3 4155 4286 1636 +3 780 3117 3119 +3 4558 1267 1751 +3 1773 1751 3228 +3 1614 1264 3144 +3 1751 1267 1581 +3 4872 4845 4496 +3 3379 4558 1751 +3 3144 4558 3379 +3 4809 3379 1751 +3 3144 3379 4809 +3 4154 3229 4321 +3 4496 4495 4872 +3 354 352 3878 +3 3229 4154 3228 +3 4854 4504 4767 +3 1264 4558 3144 +3 2118 4553 1923 +3 1614 3144 3146 +3 4071 2342 2325 +3 4839 3445 4838 +3 4839 4838 4840 +3 146 3568 147 +3 146 147 4814 +3 4845 4844 4541 +3 4840 4094 3777 +3 4847 4846 3579 +3 4838 3579 4840 +3 3343 3106 4803 +3 4610 4748 4433 +3 2325 2342 3472 +3 2342 4071 3579 +3 36 4851 4696 +3 36 4696 4695 +3 4851 4853 4852 +3 4549 4854 3215 +3 4852 4853 4855 +3 4855 3106 4852 +3 2325 3472 4610 +3 4549 4434 4854 +3 4392 4286 4155 +3 4071 4433 4094 +3 4845 1779 1636 +3 4065 4094 4433 +3 1636 4844 4845 +3 1923 1948 2118 +3 2435 4651 2368 +3 4065 785 4506 +3 4321 4155 4154 +3 172 4065 4506 +3 4854 4767 4862 +3 1192 172 780 +3 4839 4840 3777 +3 4839 3775 3146 +3 213 973 4311 +3 4071 4094 4840 +3 4839 3777 3775 +3 1264 3889 1554 +3 258 3889 262 +3 3775 1614 3146 +3 262 1614 1755 +3 1192 1755 3775 +3 1948 420 2118 +3 1581 1267 1554 +3 4311 977 4306 +3 1948 1923 2060 +3 352 4547 2118 +3 4311 354 213 +3 4803 4433 4748 +3 977 973 262 +3 1027 4306 977 +3 3889 1264 1614 +3 4504 4854 4434 +3 4433 3916 4065 +3 780 785 3117 +3 3119 3117 4549 +3 3878 4036 354 +3 4504 4434 3924 +3 1027 262 3119 +3 3215 1027 3119 +3 1923 4568 1911 +3 4504 4874 4767 +3 4767 4874 4875 +3 4724 4862 4484 +3 1027 977 262 +3 4724 4877 4862 +3 4803 3120 3916 +3 4308 1027 4877 +3 4862 4877 3215 +3 4484 2258 2259 +3 4724 2259 4522 +3 4874 35 4484 +3 4874 4484 4875 +3 4877 4724 4522 +3 4308 4522 4568 +3 4568 1923 4553 +3 4553 4308 4568 +3 4748 3343 4803 +3 2060 1911 35 +3 1911 4880 2258 +3 1911 2258 35 +3 4547 352 354 +3 4651 2435 4220 +3 4306 4547 4311 +3 4311 973 977 +3 2430 2896 2368 +3 973 258 262 +3 4553 2118 4547 +3 2368 4651 2430 +3 1546 1737 4220 +3 213 211 973 +3 211 3889 258 +3 211 258 973 +3 213 354 4036 +3 262 3889 1614 +3 1554 3889 1281 +3 2430 420 2896 +3 1545 1546 2435 +3 1281 4036 1554 +3 352 420 2430 +3 2430 3878 352 +3 3922 3924 4434 +3 1545 3244 1546 +3 4220 1737 4279 +3 3106 3922 3120 +3 4036 1281 213 +3 1737 3228 1581 +3 1737 1581 4279 +3 4036 3878 4324 +3 4651 4324 3878 +3 4220 4324 4651 +3 3878 2430 4651 +3 2465 2457 2368 +3 2368 2457 2435 +3 4434 4549 3922 +3 1554 4279 1581 +3 2435 2457 1545 +3 4324 4220 4279 +3 4324 1554 4036 +3 2465 2368 2896 +3 4869 4851 4852 +3 4610 3472 4492 +3 4748 4610 4492 +3 4839 3146 147 +3 4496 4541 4871 +3 4748 4492 4749 +3 4749 3343 4748 +3 4852 3284 4869 +3 1281 3889 211 +3 1465 1520 1462 +3 1450 1422 1374 +3 1638 56 1520 +3 1422 1413 1374 +3 3991 1425 1427 +3 1425 1368 1413 +3 1028 3991 1387 +3 1714 1285 1290 +3 1285 1714 1148 +3 971 980 863 +3 630 776 781 +3 997 1024 1290 +3 1070 1143 1068 +3 1143 3894 1068 +3 1127 1009 1076 +3 661 690 755 +3 871 677 942 +3 579 1602 60 +3 668 697 749 +3 1357 1608 1410 +3 1529 1308 1537 +3 1537 1308 1300 +3 991 997 1260 +3 1349 1622 1339 +3 536 547 844 +3 1620 4378 1617 +3 1300 1302 1410 +3 945 991 1191 +3 1533 1471 1308 +3 836 942 677 +3 1285 1251 1260 +3 1300 1410 1608 +3 1110 593 1175 +3 907 661 887 +3 593 1110 588 +3 1471 1533 1653 +3 588 1602 579 +3 864 871 945 +3 520 528 1251 +3 1028 1425 3991 +3 4378 1509 1229 +3 1154 61 3894 +3 563 907 630 +3 858 651 677 +3 803 651 799 +3 799 1602 781 +3 1613 1362 1509 +3 942 945 871 +3 651 858 799 +3 630 907 776 +3 787 776 624 +3 968 1017 858 +3 836 887 853 +3 536 952 1229 +3 1017 1009 1070 +3 844 853 952 +3 1017 799 858 +3 1072 1602 799 +3 1251 980 1191 +3 697 668 570 +3 61 1154 1129 +3 1302 1308 1471 +3 1024 1028 1392 +3 613 787 624 +3 1009 1127 1070 +3 1154 3894 1143 +3 1482 1217 1229 +3 1191 864 945 +3 4378 1613 1509 +3 1622 1349 1620 +3 1608 1357 1613 +3 1613 4378 1620 +3 528 520 501 +3 556 547 536 +3 573 570 563 +3 593 588 579 +3 624 619 613 +3 573 563 630 +3 651 613 619 +3 668 661 570 +3 619 677 651 +3 690 661 668 +3 570 573 697 +3 749 690 668 +3 749 755 690 +3 787 781 776 +3 803 799 781 +3 825 661 755 +3 853 844 836 +3 871 864 858 +3 677 619 836 +3 836 619 887 +3 858 677 871 +3 907 570 661 +3 570 907 563 +3 624 907 887 +3 624 776 907 +3 787 803 781 +3 613 651 803 +3 945 942 547 +3 536 844 952 +3 619 624 887 +3 858 971 968 +3 980 971 864 +3 858 864 971 +3 997 991 556 +3 1017 968 1009 +3 1028 1024 1020 +3 968 863 1009 +3 968 971 863 +3 1072 1070 1068 +3 1009 863 1076 +3 1072 1017 1070 +3 1072 799 1017 +3 630 781 1110 +3 1135 1129 1127 +3 1070 1127 1143 +3 1127 1129 1154 +3 1143 1127 1154 +3 1076 1135 1127 +3 630 1175 573 +3 991 945 547 +3 980 864 1191 +3 1175 630 1110 +3 1217 556 536 +3 1217 1222 556 +3 1217 536 1229 +3 991 547 556 +3 980 1251 528 +3 1191 1260 1251 +3 1282 1275 1270 +3 1260 1290 1285 +3 1308 1302 1300 +3 1321 1318 1313 +3 528 501 1135 +3 520 1129 501 +3 1341 1339 1337 +3 836 547 942 +3 1339 1341 1349 +3 1362 1357 1355 +3 1357 1368 1355 +3 1275 1282 1374 +3 1392 1028 1387 +3 1355 1368 1028 +3 528 1135 1076 +3 501 1129 1135 +3 1357 1410 1368 +3 1368 1410 1413 +3 1427 1425 1422 +3 1028 1368 1425 +3 1413 1275 1374 +3 1413 1302 1275 +3 1427 1422 1450 +3 1425 1413 1422 +3 1282 1270 1462 +3 1270 1471 1465 +3 1462 1270 1465 +3 1302 1471 1270 +3 1275 1302 1270 +3 1251 1285 520 +3 1413 1410 1302 +3 1290 1260 997 +3 1509 1482 1229 +3 1020 1024 1482 +3 1465 1471 1520 +3 1526 1318 1321 +3 1533 1308 1529 +3 1337 1537 1341 +3 1482 1509 1020 +3 1355 1509 1362 +3 556 1222 997 +3 1217 1482 1222 +3 1260 1191 991 +3 1222 1482 997 +3 863 980 528 +3 1110 781 588 +3 863 528 1076 +3 588 781 1602 +3 1608 1349 1341 +3 1608 1613 1349 +3 1622 1620 1617 +3 1349 1613 1620 +3 1537 1318 1526 +3 1313 1638 1321 +3 1300 1341 1537 +3 1300 1608 1341 +3 1537 1337 1318 +3 1638 1520 1653 +3 1526 1529 1537 +3 547 836 844 +3 1471 1653 1520 +3 787 613 803 +3 1526 1533 1529 +3 1526 1321 1533 +3 1653 1321 1638 +3 1653 1533 1321 +3 1355 1020 1509 +3 1020 1355 1028 +3 1613 1357 1362 +3 1024 997 1482 +3 887 661 853 +3 853 661 825 +3 1392 1290 1024 +3 520 1148 1129 +3 1148 520 1285 +3 1290 1392 1714 +3 952 853 825 +3 1665 1681 1655 +3 850 1733 1280 +3 972 38 474 +3 1749 1747 1745 +3 1752 178 1542 +3 1760 1759 1757 +3 1764 1763 1761 +3 33 1763 1519 +3 1248 1256 1761 +3 1784 284 1248 +3 1519 1542 33 +3 1795 284 1786 +3 1801 1795 1798 +3 1801 1798 1805 +3 1759 1809 1807 +3 1815 516 1811 +3 1815 1811 1816 +3 1828 1826 393 +3 1842 171 227 +3 1848 1745 34 +3 1854 1851 1849 +3 1854 1856 1851 +3 1856 1860 1858 +3 1681 1866 171 +3 1871 538 393 +3 1880 1871 393 +3 305 1880 393 +3 655 850 1280 +3 1894 1893 1892 +3 1899 1880 1897 +3 1900 1899 1897 +3 1749 1848 1901 +3 1905 1903 1902 +3 1909 1892 1907 +3 1916 1811 516 +3 1916 1920 1811 +3 1901 1925 1920 +3 1195 1256 303 +3 1880 1899 1944 +3 169 976 474 +3 1280 1967 1964 +3 1983 449 365 +3 1920 1985 1811 +3 1988 1986 1983 +3 1903 1907 1989 +3 1992 1757 1991 +3 305 850 1880 +3 1195 1733 714 +3 1752 2016 1842 +3 1815 1448 516 +3 2022 1752 1519 +3 178 1842 227 +3 1764 2029 2022 +3 976 2032 972 +3 2037 1856 1858 +3 972 2032 1860 +3 1860 2032 1858 +3 365 329 2046 +3 1903 1989 1902 +3 449 1983 595 +3 1807 1757 1759 +3 1988 1983 365 +3 620 1747 1749 +3 2046 329 334 +3 2076 1809 1448 +3 1815 1907 1892 +3 1909 1903 2083 +3 2091 2089 1759 +3 1759 2089 1809 +3 1655 1603 2097 +3 2117 2076 2116 +3 2022 1519 1763 +3 1828 1858 1665 +3 1991 1801 1805 +3 1795 1786 1798 +3 2016 1609 1681 +3 1988 365 2046 +3 1752 1842 178 +3 1485 2097 1603 +3 1826 305 393 +3 2029 2016 1752 +3 1681 1842 2016 +3 850 305 1485 +3 1603 714 1733 +3 1195 714 2029 +3 1752 2022 2029 +3 1256 1195 1764 +3 2029 1764 1195 +3 1448 1815 2273 +3 1485 302 2097 +3 1485 305 302 +3 284 303 1256 +3 1733 1485 1603 +3 303 1733 1195 +3 353 1900 1897 +3 302 1826 2097 +3 302 305 1826 +3 2016 2029 714 +3 2097 1826 1655 +3 1655 1828 1665 +3 1485 1733 850 +3 1866 1681 1665 +3 169 171 1866 +3 1842 1681 171 +3 169 1866 1152 +3 976 972 474 +3 1860 1856 1854 +3 1665 1152 1866 +3 1967 1280 1733 +3 1152 976 169 +3 1702 2037 1858 +3 1856 2037 1851 +3 2524 38 972 +3 1849 2524 1854 +3 1849 38 2524 +3 1871 1880 1944 +3 471 2046 334 +3 976 1152 2032 +3 1704 2037 1702 +3 655 353 1897 +3 1893 1894 1900 +3 2273 1815 1892 +3 1757 1807 2117 +3 449 2591 1893 +3 1894 1892 1909 +3 2083 1903 1905 +3 1848 1749 1745 +3 2117 1991 1757 +3 1988 1795 1801 +3 1907 1815 1816 +3 1801 1986 1988 +3 1991 2117 1986 +3 1880 850 655 +3 1893 353 334 +3 1897 1880 655 +3 2046 655 1280 +3 2046 471 655 +3 1795 1988 1964 +3 2591 449 595 +3 2116 595 1983 +3 2046 1964 1988 +3 2273 595 1448 +3 329 365 449 +3 353 471 334 +3 353 655 471 +3 1964 2046 1280 +3 1809 516 1448 +3 329 1893 334 +3 329 449 1893 +3 1893 2591 1892 +3 2591 2273 1892 +3 1907 1816 1989 +3 2089 625 516 +3 620 1920 1916 +3 625 620 1916 +3 2089 1747 620 +3 1749 1920 620 +3 1925 1985 1920 +3 1749 1901 1920 +3 1848 1925 1901 +3 516 625 1916 +3 2089 620 625 +3 1903 1909 1907 +3 1983 1986 2116 +3 2116 2076 1448 +3 2116 1986 2117 +3 714 1603 1609 +3 1809 2076 1807 +3 1760 2091 1759 +3 1809 2089 516 +3 2091 1747 2089 +3 1603 1655 1609 +3 1992 1760 1757 +3 1609 1655 1681 +3 1805 1992 1991 +3 1858 1828 1702 +3 2076 2117 1807 +3 595 2273 2591 +3 1826 1828 1655 +3 1900 353 1893 +3 595 2116 1448 +3 2032 1152 1858 +3 538 1828 393 +3 2810 1967 303 +3 1702 1828 1704 +3 1609 2016 714 +3 1704 1828 538 +3 303 284 2810 +3 1964 2810 1795 +3 1964 1967 2810 +3 1764 2022 1763 +3 1665 1858 1152 +3 1256 1764 1761 +3 1733 303 1967 +3 284 1256 1248 +3 1786 284 1784 +3 1795 2810 284 +3 2524 1860 1854 +3 1860 2524 972 +3 2083 1894 1909 +3 1894 2083 1900 +3 1986 1801 1991 +3 1519 1752 1542 +3 2845 1016 2844 +3 2847 2845 2846 +3 526 2847 2848 +3 1141 526 1151 +3 2856 2855 2854 +3 1141 2855 2856 +3 2863 2861 2859 +3 2863 2865 2861 +3 2863 2866 2865 +3 2866 2869 2867 +3 2874 2873 2871 +3 2876 1587 2875 +3 2880 2879 2878 +3 2883 2882 2881 +3 2885 1640 2884 +3 2887 1823 1594 +3 2879 1637 2888 +3 2879 1644 1637 +3 2879 1827 1644 +3 890 6 2897 +3 2885 2901 2888 +3 2844 736 2904 +3 2909 1772 2906 +3 566 772 223 +3 2904 730 2915 +3 1692 2918 1698 +3 2923 2922 2921 +3 2927 2925 566 +3 976 2032 2932 +3 965 976 2932 +3 2962 1717 1858 +3 2962 1488 1717 +3 2980 1484 1488 +3 1000 6 1484 +3 2881 2882 2984 +3 2927 1555 2988 +3 2897 282 890 +3 2874 2992 2873 +3 1594 1587 2876 +3 2875 1587 4 +3 3006 2873 3001 +3 2887 1640 1823 +3 3011 2984 3008 +3 3013 2883 1151 +3 3016 3015 3014 +3 3017 2980 2962 +3 2962 2980 1488 +3 1000 2980 3017 +3 3017 2962 1858 +3 3026 3016 3014 +3 566 3028 3027 +3 2882 3030 2909 +3 2927 1692 1555 +3 2906 3037 3034 +3 3042 3038 2859 +3 3044 3038 3011 +3 3028 3045 194 +3 2878 2888 3049 +3 3055 3044 3011 +3 1692 2927 2918 +3 736 3060 730 +3 1772 2909 2988 +3 3067 2867 2869 +3 3011 3008 3055 +3 2884 1640 2887 +3 2866 3026 2869 +3 3067 2874 2871 +3 2904 2846 2844 +3 3077 2901 3055 +3 3037 1634 1827 +3 2865 2866 2867 +3 3055 3008 3077 +3 3045 3028 566 +3 3098 730 895 +3 3030 2988 2909 +3 3101 2901 2885 +3 2859 2861 3102 +3 976 474 1000 +3 965 474 976 +3 2888 1637 1640 +3 2980 1000 1484 +3 2906 3077 3008 +3 2032 3017 1858 +3 976 3017 2032 +3 965 272 474 +3 3008 2909 2906 +3 474 272 2897 +3 6 474 2897 +3 1858 1717 1702 +3 2932 2032 3164 +3 1702 3164 1858 +3 3164 2032 1858 +3 272 282 2897 +3 1000 3017 976 +3 3015 3188 3101 +3 3193 1698 223 +3 282 3193 130 +3 1868 3202 3200 +3 949 772 3098 +3 130 890 282 +3 772 566 3027 +3 223 130 3193 +3 223 772 949 +3 223 949 130 +3 2923 2848 2846 +3 890 130 949 +3 1702 1703 3164 +3 2846 2904 2923 +3 965 2932 282 +3 965 282 272 +3 2921 1151 2848 +3 3030 3256 2988 +3 1772 2988 1555 +3 3045 566 2925 +3 2927 566 2918 +3 3256 2925 2927 +3 3256 2927 2988 +3 3049 2888 2901 +3 2888 1640 2885 +3 474 6 1000 +3 2878 2879 2888 +3 2906 2426 3037 +3 3034 3037 2880 +3 3034 2880 2878 +3 3034 2878 2906 +3 2859 2881 3042 +3 3077 3049 2901 +3 2906 3049 3077 +3 3049 2906 2878 +3 223 2918 566 +3 194 3045 397 +3 2925 3256 3030 +3 2925 3030 2882 +3 3300 2992 3026 +3 2984 3302 2881 +3 194 2922 3028 +3 2925 397 3045 +3 2923 2915 2922 +3 2922 2915 3027 +3 2915 730 3098 +3 3027 3028 2922 +3 3014 3300 3026 +3 736 3200 3060 +3 3098 895 949 +3 3322 895 3060 +3 730 2904 736 +3 895 730 3060 +3 2921 2922 194 +3 3008 2984 2909 +3 3038 3016 2863 +3 3011 3038 3042 +3 3044 3055 3188 +3 3302 3011 3042 +3 2863 2859 3038 +3 3014 3101 2885 +3 3055 2901 3188 +3 194 3013 2921 +3 3188 2901 3101 +3 3016 3038 3044 +3 3300 2884 2887 +3 2876 2887 1594 +3 3001 2992 3300 +3 3001 3300 2887 +3 3014 2885 2884 +3 3014 2884 3300 +3 2887 2876 3353 +3 3006 2875 4 +3 3353 2876 3356 +3 3353 3006 3001 +3 3356 2876 2875 +3 3356 3006 3353 +3 3356 2875 3006 +3 2873 3006 4 +3 3026 2992 3359 +3 3067 2871 2867 +3 2873 2992 3001 +3 3353 3001 2887 +3 1868 3200 736 +3 3016 3026 2866 +3 2992 2874 3359 +3 3026 3359 2869 +3 3359 2874 3067 +3 3359 3067 2869 +3 3016 3044 3015 +3 2866 2863 3016 +3 2854 3102 2856 +3 1827 2879 2880 +3 2854 2881 2859 +3 2854 2859 3102 +3 736 2844 1868 +3 3188 3015 3044 +3 2984 3011 3302 +3 2881 3302 3042 +3 3027 3098 772 +3 2909 2984 2882 +3 397 2925 2882 +3 3013 2882 2883 +3 2880 3037 1827 +3 2883 2881 2854 +3 2883 2854 2855 +3 2915 2923 2904 +3 3322 6 890 +3 397 3013 194 +3 895 3322 890 +3 397 2882 3013 +3 890 949 895 +3 3098 3027 2915 +3 3101 3014 3015 +3 223 1698 2918 +3 2848 2923 2921 +3 5 3202 1868 +3 2883 2855 1151 +3 2848 1151 526 +3 2844 2846 2845 +3 1016 5 1868 +3 1151 2855 1141 +3 3037 2426 1634 +3 2846 2848 2847 +3 1772 2426 2906 +3 1868 2844 1016 +3 1703 1698 3193 +3 2932 3164 3193 +3 3164 1703 3193 +3 3193 282 2932 +3 1151 2921 3013 +3 3418 818 804 +3 3425 3423 3421 +3 3430 1811 1916 +3 1070 3432 3431 +3 2857 3196 1009 +3 69 3439 3437 +3 3443 3442 3441 +3 3449 3448 3133 +3 3252 3451 3450 +3 3450 3461 3458 +3 3450 3451 3461 +3 3467 3465 3269 +3 818 3418 3241 +3 1360 3474 1099 +3 1068 3431 70 +3 3481 3480 3329 +3 3484 3483 3482 +3 3430 1146 1811 +3 3482 3483 3488 +3 864 3492 945 +3 3496 3495 3494 +3 3269 3217 3467 +3 3133 3448 3130 +3 1136 3500 1131 +3 1146 3430 1136 +3 3483 3484 1811 +3 1360 3506 3474 +3 3506 562 3474 +3 3519 3518 3517 +3 3524 547 844 +3 3488 1639 1641 +3 3531 3488 3530 +3 3532 68 3530 +3 3537 3536 2089 +3 2089 2091 3449 +3 3492 3270 3540 +3 3448 3449 2091 +3 844 3545 952 +3 1074 3548 1071 +3 3545 532 2013 +3 3524 3556 3554 +3 3488 3483 1639 +3 3198 3196 3559 +3 1149 3554 3556 +3 3564 614 3482 +3 3451 3252 3565 +3 3465 3496 3159 +3 562 3506 551 +3 3564 3482 3531 +3 551 3500 3536 +3 1131 3506 1360 +3 3492 3198 3270 +3 3494 551 3537 +3 3572 1099 3474 +3 3488 3532 3530 +3 1641 68 3532 +3 3576 968 971 +3 3133 3577 3449 +3 3423 3425 3196 +3 3577 3133 3252 +3 3159 3269 3465 +3 3545 3583 3425 +3 3583 3270 3198 +3 2013 1099 952 +3 3584 3517 3518 +3 625 2089 3536 +3 3495 3496 3465 +3 2764 2702 3439 +3 3432 1070 1009 +3 562 3495 411 +3 3536 3537 551 +3 3596 3467 3554 +3 3500 551 3506 +3 3564 3448 2091 +3 2089 3564 2091 +3 3531 3448 3564 +3 3423 3418 3602 +3 3577 3494 3537 +3 3565 3133 3130 +3 3450 3518 3159 +3 3565 3252 3133 +3 3494 3577 3496 +3 3610 3450 3458 +3 3159 3252 3450 +3 3198 3613 1009 +3 3196 3198 1009 +3 3467 3524 3554 +3 3425 3421 3545 +3 3519 864 945 +3 3584 3443 3576 +3 3418 3423 3329 +3 3443 3437 3576 +3 3500 3430 3536 +3 3217 945 547 +3 3613 3198 3492 +3 3556 844 952 +3 3596 3495 3465 +3 3596 3554 3643 +3 3596 411 3495 +3 844 3556 3524 +3 3217 3269 3519 +3 1136 3430 3500 +3 3430 625 3536 +3 3484 3482 614 +3 3196 3481 3329 +3 625 1916 614 +3 3584 3610 3443 +3 3484 614 1916 +3 3443 3610 3442 +3 1916 625 3430 +3 3532 3488 1641 +3 3531 3482 3488 +3 1211 1811 1146 +3 1211 1647 3483 +3 1211 3483 1811 +3 1647 1639 3483 +3 3518 3450 3584 +3 411 3596 3643 +3 3584 3450 3610 +3 3196 3329 3423 +3 952 1099 3572 +3 3474 562 411 +3 1149 3546 3643 +3 3572 3474 411 +3 3572 411 3546 +3 1149 3643 3554 +3 3546 411 3643 +3 3718 547 3540 +3 3425 3583 3559 +3 968 3576 3439 +3 1009 2702 3432 +3 3540 945 3492 +3 3492 864 3613 +3 3518 3519 3269 +3 864 3519 3517 +3 547 3718 844 +3 3559 3196 3425 +3 3545 844 3718 +3 3449 3537 2089 +3 3602 3421 3423 +3 3496 3252 3159 +3 3495 562 3494 +3 769 3241 3548 +3 3537 3449 3577 +3 3481 2857 3548 +3 3480 3241 3329 +3 3480 3548 3241 +3 3241 3418 3329 +3 1131 3500 3506 +3 759 3548 1074 +3 759 769 3548 +3 2089 625 3564 +3 3548 3480 3481 +3 687 1068 70 +3 532 1085 2013 +3 1068 2857 1070 +3 1068 687 2857 +3 1068 1070 3431 +3 547 3524 3217 +3 952 3545 2013 +3 3198 3559 3583 +3 2857 1009 1070 +3 3718 3540 3270 +3 3252 3496 3577 +3 3421 3602 532 +3 971 968 3613 +3 3517 3584 3576 +3 3465 3467 3596 +3 971 3613 864 +3 3494 562 551 +3 971 3517 3576 +3 3546 952 3572 +3 532 3545 3421 +3 3564 625 614 +3 945 3540 547 +3 3481 3196 2857 +3 3269 3159 3518 +3 952 1149 3556 +3 952 3546 1149 +3 3545 3718 3583 +3 3441 3437 3443 +3 3270 3583 3718 +3 1009 968 2702 +3 3439 3576 3437 +3 968 1009 3613 +3 2764 3439 69 +3 2702 968 3439 +3 3432 2764 69 +3 3432 2702 2764 +3 945 3217 3519 +3 3517 971 864 +3 1071 2857 687 +3 2857 1071 3548 +3 3602 1085 532 +3 3524 3467 3217 +3 1916 1811 3484 +3 3602 804 1085 +3 804 3602 3418 +3 3241 769 818 +3 3776 54 49 +3 1826 3939 1728 +3 3096 3694 3940 +3 3096 2663 878 +3 3299 2663 3898 +3 3944 3943 3942 +3 3299 3944 3936 +3 3944 1565 3936 +3 1379 695 251 +3 3939 545 3958 +3 3958 344 3965 +3 1674 1108 3967 +3 3967 1661 1674 +3 1599 554 1236 +3 3967 1245 3499 +3 1661 3499 1728 +3 2097 1826 1728 +3 1826 3591 3516 +3 903 1007 3957 +3 3515 1236 554 +3 554 559 3515 +3 3848 1599 1096 +3 3184 2297 3993 +3 3848 3851 1599 +3 3309 3184 4004 +3 3320 3309 4010 +3 393 3939 1826 +3 4018 3319 3320 +3 2292 3993 2297 +3 3319 2868 2870 +3 545 1871 4069 +3 4018 3957 1007 +3 1012 2868 1007 +3 1012 3457 2868 +3 2297 3250 2292 +3 3098 895 4077 +3 1089 903 3848 +3 393 545 3939 +3 4095 554 1599 +3 1826 3516 393 +3 3778 4099 4097 +3 4106 3279 4103 +3 4060 4108 3957 +3 4112 3294 3279 +3 2213 4116 2204 +3 251 1373 260 +3 260 4119 251 +3 4123 4121 4120 +3 1690 4077 706 +3 4135 2292 3250 +3 1236 1096 1599 +3 4137 4069 1871 +3 3407 427 4032 +3 1661 3939 1674 +3 251 777 1379 +3 3942 4150 4148 +3 4135 3407 4032 +3 4077 4123 3098 +3 4018 1007 2868 +3 3297 2870 2868 +3 3457 1012 50 +3 3703 3940 3694 +3 3944 1772 1565 +3 4010 4018 3320 +3 1565 427 3407 +3 2213 1871 393 +3 4165 4032 4137 +3 4119 260 1108 +3 2275 3096 878 +3 878 3294 2275 +3 1373 251 695 +3 432 1772 2988 +3 4119 777 251 +3 4107 4177 4103 +3 4103 3279 3281 +3 3703 4107 3717 +3 4004 3993 4190 +3 301 4097 4099 +3 4107 4103 4041 +3 4099 4199 301 +3 4201 3322 49 +3 580 427 4046 +3 4097 883 3997 +3 400 4046 2925 +3 1379 3965 220 +3 432 4046 427 +3 4112 4106 3694 +3 4041 4233 4107 +3 4196 3098 4214 +3 3993 4004 3184 +3 1089 3848 1096 +3 3250 3407 4135 +3 3957 3851 903 +3 4116 2213 559 +3 4123 400 3027 +3 1871 2213 4165 +3 4165 4137 1871 +3 2097 3591 1826 +3 3256 432 2988 +3 4201 49 695 +3 3939 1661 1728 +3 1108 1245 3967 +3 1661 3967 3499 +3 3717 4257 3703 +3 706 4258 1690 +3 559 393 3516 +3 3516 3515 559 +3 3958 545 344 +3 3965 777 783 +3 805 580 797 +3 706 4264 4258 +3 695 1379 956 +3 257 812 220 +3 956 220 812 +3 4121 761 4120 +3 3027 3098 4123 +3 580 316 427 +3 895 706 4077 +3 3965 783 3958 +3 4120 761 805 +3 316 761 257 +3 580 805 316 +3 812 761 4121 +3 3778 4097 3717 +3 4258 4201 695 +3 4177 3694 4106 +3 3965 344 257 +3 257 220 3965 +3 4106 4103 4177 +3 3851 3957 4108 +3 1599 3851 4095 +3 4121 1690 812 +3 4108 4060 4010 +3 4108 4010 4004 +3 777 4119 783 +3 4010 4060 4018 +3 2868 3319 4018 +3 3957 4018 4060 +3 3717 4107 3778 +3 1565 1772 432 +3 3297 2868 3457 +3 3297 3457 50 +3 3045 400 2925 +3 812 257 761 +3 2925 4033 3045 +3 4004 4010 3309 +3 4135 4032 4165 +3 4328 2204 4116 +3 4137 4032 344 +3 2204 4328 2292 +3 4328 4116 4190 +3 427 1565 432 +3 316 805 761 +3 344 4032 427 +3 3965 1379 777 +3 4116 559 554 +3 4069 4137 344 +3 4190 4116 4095 +3 2204 4165 2213 +3 2213 393 559 +3 4095 4108 4190 +3 554 4095 4116 +3 4095 3851 4108 +3 4069 344 545 +3 903 3851 3848 +3 1871 545 393 +3 220 956 1379 +3 4150 3997 4236 +3 257 344 316 +3 4165 2204 4135 +3 4257 3717 3997 +3 4033 3256 4148 +3 432 3256 4046 +3 3940 3703 4257 +3 2292 4135 2204 +3 3997 4150 4257 +3 4077 1690 4121 +3 1772 3942 2988 +3 4121 4123 4077 +3 2663 3096 3898 +3 3299 3898 3944 +3 3096 2275 3694 +3 4112 2275 3294 +3 3694 4177 3703 +3 3279 4106 4112 +3 1674 3958 783 +3 1108 783 4119 +3 4148 2988 3942 +3 3942 1772 3944 +3 4150 3942 3943 +3 4257 3943 3940 +3 3943 4257 4150 +3 4236 4148 4150 +3 3703 4177 4107 +3 3275 4103 3281 +3 3275 54 4041 +3 3275 4041 4103 +3 3997 3717 4097 +3 4120 797 4123 +3 4033 4236 880 +3 344 427 316 +3 883 880 4236 +3 3993 2292 4328 +3 4328 4190 3993 +3 3256 4033 2925 +3 3256 2925 4046 +3 3776 4099 3778 +3 4233 3778 4107 +3 4041 3776 4233 +3 4245 3776 49 +3 4041 54 3776 +3 4233 3776 3778 +3 4099 3776 4245 +3 4293 4245 49 +3 4196 4214 4199 +3 4245 4199 4099 +3 883 4097 301 +3 295 301 4214 +3 295 883 301 +3 880 883 295 +3 4214 301 4199 +3 880 3045 4033 +3 3045 880 3028 +3 295 3028 880 +3 4236 3997 883 +3 400 3045 3028 +3 3027 3028 295 +3 3027 295 4214 +3 3027 4214 3098 +3 4123 797 400 +3 400 580 4046 +3 695 956 4258 +3 3958 1674 3939 +3 2275 4112 3694 +3 4264 4201 4258 +3 895 3322 706 +3 4148 4236 4033 +3 797 4120 805 +3 3322 4264 706 +3 797 580 400 +3 3027 400 3028 +3 897 895 4196 +3 2988 4148 3256 +3 4196 895 3098 +3 4190 4108 4004 +3 4199 4245 4293 +3 897 4293 49 +3 3322 895 897 +3 4293 4196 4199 +3 4196 4293 897 +3 3322 897 49 +3 3322 4201 4264 +3 1690 4258 956 +3 3898 3940 3943 +3 3898 3096 3940 +3 3944 3898 3943 +3 1108 1674 783 +3 695 49 1373 +3 956 812 1690 +3 465 3896 333 +3 16 3286 3018 +3 1040 2776 2802 +3 4301 4395 1560 +3 4548 4547 4546 +3 465 3780 460 +3 3018 3286 2969 +3 4551 4550 19 +3 3251 4301 3384 +3 4550 4551 4553 +3 1040 1353 2776 +3 1472 3672 3948 +3 1546 1385 3244 +3 4301 1560 1552 +3 3124 4221 3243 +3 2058 2002 3178 +3 3878 354 3772 +3 4550 3367 3368 +3 465 2776 3896 +3 465 4566 3780 +3 3896 2776 4471 +3 4568 4553 4551 +3 4568 4569 4546 +3 333 4566 465 +3 1660 1414 4572 +3 807 3746 3707 +3 3746 807 3840 +3 2715 1676 1667 +3 3395 3948 2152 +3 1470 1392 1472 +3 4584 4583 1191 +3 3948 3395 3688 +3 3395 3400 3688 +3 4589 4550 4553 +3 3707 4591 4563 +3 807 4563 838 +3 807 838 17 +3 807 17 3840 +3 3948 1399 1472 +3 831 2341 2337 +3 2802 2776 465 +3 354 4547 4548 +3 2337 1954 826 +3 3124 3113 4557 +3 3746 3656 3707 +3 2167 4591 3656 +3 1260 2167 1290 +3 4612 4591 2167 +3 3880 348 3878 +3 3656 4591 3707 +3 4612 4583 4584 +3 4612 2167 4583 +3 1955 1958 2499 +3 3880 3113 3114 +3 831 826 2776 +3 2058 2025 2000 +3 2337 826 831 +3 4322 2000 1040 +3 2802 465 460 +3 333 4548 4546 +3 2055 2054 4395 +3 1385 4220 4280 +3 4553 4568 4546 +3 4566 4621 3780 +3 1399 1238 1552 +3 4547 4553 4546 +3 4566 333 4546 +3 3880 3114 203 +3 1954 1381 826 +3 1546 4220 1385 +3 3273 3018 2969 +3 1233 16 3018 +3 2499 1957 1955 +3 1399 3948 3688 +3 1472 1399 1552 +3 3400 3395 3840 +3 3840 3395 3746 +3 3878 4651 4557 +3 3707 4563 807 +3 3656 3746 2152 +3 2152 3746 3395 +3 3656 2152 2167 +3 4550 4589 3367 +3 2152 3948 3672 +3 1993 2030 4383 +3 1470 1480 2397 +3 4651 4220 4221 +3 1290 3672 1392 +3 2167 2152 3672 +3 4125 1667 1480 +3 2397 1290 1392 +3 4395 4122 1480 +3 1667 1676 1480 +3 1660 4572 1676 +3 1676 4572 1480 +3 2804 2000 2025 +3 1290 2167 3672 +3 2793 1660 1676 +3 1260 4583 2167 +3 1470 2397 1392 +3 348 3880 203 +3 2397 1260 1290 +3 1191 4583 1260 +3 4572 2397 1480 +3 4572 1260 2397 +3 2804 2025 2030 +3 1385 1381 1954 +3 2000 2804 1353 +3 4383 2025 1660 +3 2793 4383 1660 +3 2000 4322 2002 +3 2058 4055 1414 +3 4383 2030 2025 +3 3178 2002 4322 +3 1238 1399 921 +3 2025 2058 1414 +3 3178 4055 2058 +3 1414 1660 2025 +3 2000 2002 2058 +3 1993 2337 2341 +3 2804 2030 2341 +3 2776 1353 831 +3 4572 1414 1260 +3 1353 2804 831 +3 4589 348 203 +3 2054 2337 1993 +3 831 2804 2341 +3 2715 2793 1676 +3 2793 2054 1993 +3 4122 4125 1480 +3 2715 1667 4125 +3 2000 1353 1040 +3 2715 4125 2793 +3 2793 4122 2054 +3 2793 4125 4122 +3 267 4548 333 +3 4383 2793 1993 +3 3772 354 267 +3 1385 1957 3244 +3 3772 267 333 +3 354 4548 267 +3 4547 354 348 +3 203 3367 4589 +3 2030 1993 2341 +3 19 4550 3368 +3 4553 4547 4589 +3 4569 4566 4546 +3 4569 4621 4566 +3 3880 4557 3113 +3 4395 4301 1955 +3 3896 3772 333 +3 3896 4419 3772 +3 2054 2055 2337 +3 354 3878 348 +3 4651 3878 3772 +3 4557 3880 3878 +3 4419 4651 3772 +3 4220 4651 4419 +3 4471 4419 3896 +3 4471 4280 4419 +3 4220 1546 3243 +3 4419 4280 4220 +3 4221 4220 3243 +3 1399 3688 921 +3 826 4273 4471 +3 4280 4471 4273 +3 2055 1955 1957 +3 1955 2055 4395 +3 4557 4221 3124 +3 1954 2337 2055 +3 4221 4557 4651 +3 3672 1472 1392 +3 4122 4395 2054 +3 1381 4273 826 +3 2776 826 4471 +3 348 4589 4547 +3 1552 1238 3018 +3 921 16 1233 +3 1552 1560 1472 +3 4395 1480 1560 +3 1233 1238 921 +3 1233 3018 1238 +3 1560 1470 1472 +3 1560 1480 1470 +3 1543 1546 3244 +3 1543 3243 1546 +3 3244 1957 2499 +3 1957 1385 1954 +3 1958 4301 3251 +3 1958 1955 4301 +3 1957 1954 2055 +3 3273 1552 3018 +3 1552 3384 4301 +3 1552 3273 3384 +3 1260 1414 1191 +3 1385 4273 1381 +3 1385 4280 4273 +3 777 4179 1124 +3 4162 777 4119 +3 1842 4164 4163 +3 4168 1762 4166 +3 115 1006 1092 +3 4172 4171 4157 +3 1866 4173 1152 +3 1124 285 777 +3 4184 4183 2022 +3 1763 2022 4002 +3 4189 4188 4187 +3 777 4162 1452 +3 1452 3193 777 +3 1152 4173 1157 +3 4202 1860 2032 +3 1860 30 2524 +3 1860 4202 30 +3 2678 29 2371 +3 3177 2847 4206 +3 2847 2928 4209 +3 4212 4209 4211 +3 4172 2922 4214 +3 271 1138 135 +3 4225 1762 4168 +3 115 4227 4226 +3 1177 4231 1167 +3 4231 1177 1026 +3 3955 1167 4231 +3 913 223 131 +3 1152 1452 1866 +3 4189 4241 4216 +3 4189 4216 4188 +3 2932 4227 3193 +3 1521 1517 4002 +3 4168 1130 4243 +3 4247 4171 4245 +3 223 772 257 +3 1138 1953 1949 +3 1092 131 115 +3 4120 4123 794 +3 1026 1177 670 +3 1694 1108 292 +3 3193 131 223 +3 1006 115 113 +3 1953 1138 466 +3 4172 4199 4171 +3 4262 113 4226 +3 2032 1157 3017 +3 135 314 271 +3 1752 1517 1521 +3 131 3193 4227 +3 2022 4183 1752 +3 4206 2846 4157 +3 466 1138 271 +3 1298 285 1124 +3 4243 4225 4168 +3 2922 3027 4214 +3 1953 1762 4225 +3 4243 1130 4211 +3 398 4241 1209 +3 4164 1752 4183 +3 25 4184 1763 +3 25 1763 4002 +3 1209 4241 4189 +3 4171 4247 4210 +3 2032 2932 1152 +3 552 4289 4288 +3 1842 1694 292 +3 4179 670 1124 +3 670 126 1026 +3 1685 1681 1842 +3 1866 1452 4162 +3 1108 4162 4119 +3 3193 1452 2932 +3 4210 4139 4300 +3 4300 4206 4210 +3 4304 4226 4227 +3 4245 4171 4199 +3 135 1026 126 +3 4179 777 3965 +3 4315 466 4123 +3 3027 4123 4316 +3 3965 326 4179 +3 4316 4120 761 +3 794 761 4120 +3 4123 4120 4316 +3 4123 3027 1153 +3 4210 4247 4139 +3 670 4179 126 +3 314 794 4123 +3 257 761 794 +3 326 794 314 +3 4166 1130 4168 +3 2922 4172 2923 +3 1153 2922 1130 +3 1153 1130 4166 +3 1130 2922 2923 +3 1130 2923 4211 +3 4157 2923 4172 +3 2923 4212 4211 +3 1177 4289 265 +3 3027 4316 772 +3 4380 4231 1026 +3 1752 1521 2022 +3 3027 2922 1153 +3 4166 1762 815 +3 135 1138 4380 +3 4394 4300 4139 +3 4380 1026 135 +3 1092 1006 4199 +3 2928 2847 3177 +3 4206 4300 3177 +3 3177 2371 2928 +3 3177 2678 2371 +3 2846 4209 4212 +3 772 913 3027 +3 126 314 135 +3 1953 4225 1949 +3 4226 113 115 +3 326 314 126 +3 4380 3955 4231 +3 1167 4288 1177 +3 815 1762 1953 +3 815 1953 466 +3 4315 1153 4166 +3 466 4166 815 +3 4123 1153 4315 +3 466 4315 4166 +3 466 271 314 +3 1681 1685 1866 +3 126 4179 326 +3 466 314 4123 +3 1694 1681 4162 +3 1685 4173 1866 +3 3469 285 527 +3 2923 4157 2846 +3 1209 3469 527 +3 4447 285 1298 +3 265 1298 1124 +3 4447 1298 265 +3 670 265 1124 +3 292 285 3469 +3 1681 1866 4162 +3 257 3965 223 +3 4289 1177 4288 +3 285 4447 527 +3 1209 552 398 +3 527 4447 4289 +3 527 4289 552 +3 1006 4245 4199 +3 4184 2022 1763 +3 2846 4212 2923 +3 2022 1521 4002 +3 1209 4187 1218 +3 1209 1218 1842 +3 4214 4199 4172 +3 1218 4187 1752 +3 1842 1752 4164 +3 4163 4164 4183 +3 1152 1157 2032 +3 398 552 4288 +3 4163 1685 1842 +3 1752 1842 1218 +3 1842 292 3469 +3 1842 3469 1209 +3 292 1108 4119 +3 292 4119 285 +3 265 670 1177 +3 1681 1694 1842 +3 4162 1108 1694 +3 4289 4447 265 +3 257 794 326 +3 4119 777 285 +3 326 3965 257 +3 4227 2932 4304 +3 761 257 772 +3 761 772 4316 +3 913 772 223 +3 131 1092 913 +3 527 552 1209 +3 4262 4226 4304 +3 4262 4304 2524 +3 4227 115 131 +3 4210 4157 4171 +3 3193 223 3965 +3 4157 4210 4206 +3 3965 777 3193 +3 4187 1209 4189 +3 3017 4202 2032 +3 4304 1860 2524 +3 4199 4214 1092 +3 4304 2932 1860 +3 1752 4187 1517 +3 2932 2032 1860 +3 2932 1452 1152 +3 4187 4188 1517 +3 2846 4206 2847 +3 2847 4209 2846 +3 2678 3177 4300 +3 4300 4394 2678 +3 4394 29 2678 +3 4214 3027 913 +3 913 1092 4214 +3 1866 4173 169 +3 1784 284 3701 +3 1121 1113 3060 +3 303 4349 297 +3 3200 4460 3915 +3 3150 3153 4563 +3 4509 4564 3708 +3 451 4319 446 +3 4565 3831 276 +3 270 276 6 +3 4460 5 3915 +3 3200 3915 1121 +3 1121 4570 1113 +3 1113 4570 1035 +3 308 232 662 +3 695 167 4576 +3 4579 4319 451 +3 392 1943 3089 +3 392 3089 3666 +3 1183 3675 403 +3 4586 1733 841 +3 4213 3685 3686 +3 4213 3686 3750 +3 303 4350 4349 +3 293 297 3701 +3 3150 4597 281 +3 1784 3153 3150 +3 4563 3707 3708 +3 4173 1866 1147 +3 4602 4601 1733 +3 165 3666 3664 +3 167 695 251 +3 284 289 303 +3 284 293 3701 +3 3918 4288 3664 +3 1443 4119 783 +3 270 6 4173 +3 169 4173 6 +3 3958 783 345 +3 270 4544 278 +3 285 287 4119 +3 4613 6 3322 +3 169 167 1866 +3 6 4576 169 +3 251 695 662 +3 4258 4264 953 +3 125 266 232 +3 251 4162 167 +3 3952 3910 4597 +3 3060 1113 3322 +3 394 392 165 +3 4264 4613 3322 +3 403 1185 1183 +3 3675 1183 3918 +3 3868 3831 4620 +3 1 3952 4509 +3 1 4509 3708 +3 403 4586 512 +3 3701 3153 1784 +3 3910 3871 4597 +3 281 4622 289 +3 3685 4213 4586 +3 4623 4601 4620 +3 1536 4319 287 +3 4565 4620 3831 +3 1866 4162 1665 +3 1665 4162 1443 +3 302 296 1485 +3 4205 1828 1443 +3 1159 841 1733 +3 1616 1650 4197 +3 4576 6 4613 +3 4258 953 662 +3 1035 953 4264 +3 1113 4264 3322 +3 123 4289 125 +3 4258 695 4613 +3 662 695 4258 +3 4264 4258 4613 +3 4119 251 285 +3 251 662 232 +3 4570 1121 4667 +3 167 169 4576 +3 4623 278 1650 +3 4667 1750 4570 +3 4119 4162 251 +3 1536 287 285 +3 266 285 232 +3 4289 1536 4447 +3 1828 3939 1826 +3 4447 285 266 +3 308 662 953 +3 1536 285 4447 +3 1536 446 4319 +3 1650 4601 4623 +3 1665 1147 1866 +3 4447 266 125 +3 308 125 232 +3 3915 3659 1121 +3 3200 1121 3060 +3 4570 953 1035 +3 1113 1035 4264 +3 450 953 4570 +3 4667 1121 3659 +3 3662 1974 1750 +3 3662 4667 3659 +3 1974 953 450 +3 1750 450 4570 +3 3202 5 4460 +3 3202 4460 3200 +3 4564 3952 4597 +3 1750 4667 3662 +3 3662 1943 1974 +3 1750 1974 450 +3 4288 1185 4289 +3 4288 165 3664 +3 4576 4613 695 +3 4254 4288 3918 +3 123 394 165 +3 165 392 3666 +3 4213 3750 4349 +3 4254 1185 4288 +3 1183 1185 4254 +3 1183 4254 3918 +3 4319 841 345 +3 403 512 1185 +3 841 4319 4579 +3 512 451 1185 +3 4289 446 1536 +3 4579 451 512 +3 1147 1665 4197 +3 451 446 1185 +3 308 953 394 +3 123 165 4288 +3 308 394 123 +3 1147 270 4173 +3 4620 289 4622 +3 446 4289 1185 +3 4197 1826 3591 +3 4197 3591 1616 +3 3958 1159 3939 +3 841 1159 345 +3 403 3685 4586 +3 345 287 4319 +3 296 1159 1437 +3 1733 1437 1159 +3 4622 3868 4620 +3 303 4602 1733 +3 4350 303 1733 +3 4586 4349 4350 +3 4586 4350 1733 +3 1616 1733 4601 +3 4601 1650 1616 +3 783 4119 287 +3 4565 276 278 +3 3150 4563 4564 +3 3952 4564 4509 +3 3153 3707 4563 +3 4564 4563 3708 +3 1485 1616 302 +3 287 345 783 +3 4597 3871 4622 +3 232 285 251 +3 4622 281 4597 +3 281 284 1784 +3 4623 4620 4565 +3 3591 302 1616 +3 278 4623 4565 +3 3868 4622 3871 +3 4349 3750 297 +3 1733 1485 1437 +3 4601 4602 289 +3 1650 4544 4197 +3 1826 4197 1828 +3 289 4620 4601 +3 1616 1485 1733 +3 1147 4544 270 +3 1485 296 1437 +3 345 1159 3958 +3 1650 278 4544 +3 3939 4205 3958 +3 3939 1159 296 +3 4197 4544 1147 +3 302 3939 296 +3 1665 1443 1828 +3 3958 1443 783 +3 281 1784 3150 +3 4162 1866 167 +3 4162 4119 1443 +3 1828 4197 1665 +3 302 3591 1826 +3 4349 4586 4213 +3 4579 512 4586 +3 4586 841 4579 +3 3939 1828 4205 +3 3958 4205 1443 +3 4289 4447 125 +3 302 1826 3939 +3 125 308 123 +3 4597 3150 4564 +3 4602 303 289 +3 4289 123 4288 +3 394 953 392 +3 953 1974 392 +3 1974 1943 392 +3 278 276 270 +3 289 284 281 +3 303 297 293 +3 303 293 284 +3 330 322 317 +3 350 339 335 +3 38 362 356 +3 231 228 370 +3 404 402 399 +3 362 410 407 +3 441 438 224 +3 492 489 482 +3 507 503 500 +3 525 522 514 +3 550 540 533 +3 568 540 558 +3 550 492 540 +3 558 586 568 +3 609 605 596 +3 626 622 616 +3 350 639 631 +3 658 653 647 +3 680 675 667 +3 698 691 684 +3 36 707 412 +3 722 717 713 +3 737 734 728 +3 684 691 743 +3 684 743 711 +3 522 596 766 +3 791 786 778 +3 808 550 317 +3 778 824 816 +3 847 500 503 +3 868 861 847 +3 722 878 717 +3 713 717 886 +3 317 228 808 +3 917 910 908 +3 228 908 370 +3 362 370 356 +3 910 917 878 +3 441 407 438 +3 816 711 791 +3 1018 673 992 +3 1030 1018 1021 +3 1041 1038 1034 +3 1053 404 399 +3 1061 766 1021 +3 1077 673 1066 +3 1021 992 1061 +3 631 339 350 +3 609 1041 605 +3 1101 330 568 +3 568 533 540 +3 489 231 224 +3 489 224 438 +3 550 808 489 +3 482 489 438 +3 1168 1164 514 +3 639 350 1173 +3 1184 622 1178 +3 1200 1194 1189 +3 1214 1206 1184 +3 653 1220 647 +3 1237 1232 339 +3 1247 1243 1194 +3 1232 1194 1243 +3 330 533 568 +3 1278 1220 1269 +3 728 1286 737 +3 698 608 604 +3 824 778 1322 +3 728 698 604 +3 728 604 665 +3 667 675 1367 +3 399 1189 1053 +3 596 1395 1391 +3 1403 514 1061 +3 605 1041 1034 +3 503 1232 1077 +3 1030 1423 604 +3 339 1232 1429 +3 861 868 1438 +3 1453 1449 322 +3 231 370 362 +3 410 362 38 +3 489 492 550 +3 317 550 330 +3 362 407 441 +3 231 441 224 +3 362 441 231 +3 808 231 489 +3 228 231 808 +3 228 317 917 +3 878 917 317 +3 717 317 322 +3 335 1429 500 +3 847 503 1322 +3 500 1864 335 +3 1391 766 596 +3 1101 322 330 +3 533 330 550 +3 1269 525 1278 +3 604 608 1030 +3 1864 1453 335 +3 1429 335 339 +3 1429 1232 507 +3 1429 507 500 +3 1173 322 1101 +3 1173 1101 568 +3 639 586 680 +3 622 1051 616 +3 1423 1391 665 +3 639 680 631 +3 1623 1051 1206 +3 1237 631 667 +3 680 667 631 +3 402 39 1933 +3 586 675 680 +3 1178 626 399 +3 39 402 586 +3 1367 1053 1189 +3 1453 322 1173 +3 1947 1200 1206 +3 1864 847 539 +3 1189 399 616 +3 1200 1947 1194 +3 1173 350 1453 +3 1947 1981 658 +3 626 616 399 +3 1184 1206 1051 +3 1184 1051 622 +3 1206 1214 1947 +3 1178 622 626 +3 1206 1200 1623 +3 1051 1623 616 +3 1278 1164 647 +3 1247 1194 1947 +3 647 1164 1168 +3 1237 1194 1232 +3 647 1220 1278 +3 1423 1021 766 +3 653 658 1981 +3 1214 1981 1947 +3 399 1933 1178 +3 1237 1367 1189 +3 404 1053 675 +3 514 1403 1168 +3 1053 1367 675 +3 339 631 1237 +3 1623 1200 1189 +3 525 609 522 +3 335 1453 350 +3 1243 1403 992 +3 514 522 1061 +3 1243 992 1232 +3 1403 1061 992 +3 1232 992 1077 +3 1269 609 525 +3 1403 1243 1247 +3 1038 1041 1269 +3 1038 1269 1220 +3 658 647 1168 +3 2056 1395 596 +3 2056 596 605 +3 1269 1041 609 +3 412 1286 388 +3 1021 1018 992 +3 847 1322 868 +3 388 1286 665 +3 1395 36 412 +3 1395 412 388 +3 503 824 1322 +3 1286 728 665 +3 684 608 698 +3 1021 1423 1030 +3 684 711 608 +3 766 1391 1423 +3 2110 1030 608 +3 766 1061 522 +3 711 2110 608 +3 1367 1237 667 +3 2129 711 2123 +3 1030 2110 1018 +3 2129 786 791 +3 546 886 1449 +3 2123 786 2129 +3 2123 711 743 +3 1018 2110 711 +3 791 711 2129 +3 791 778 816 +3 503 507 1232 +3 711 1066 673 +3 711 673 1018 +3 992 673 1077 +3 500 847 1864 +3 568 586 639 +3 1066 503 1077 +3 824 503 1066 +3 816 1066 711 +3 713 861 722 +3 816 824 1066 +3 861 1438 2264 +3 1449 886 322 +3 713 886 546 +3 1864 1449 1453 +3 2275 910 878 +3 228 917 908 +3 586 402 404 +3 886 717 322 +3 404 675 586 +3 539 1449 1864 +3 639 1173 568 +3 1933 399 402 +3 388 665 1391 +3 546 861 713 +3 665 604 1423 +3 861 2264 722 +3 539 847 861 +3 539 861 546 +3 722 2275 878 +3 717 878 317 +3 698 728 734 +3 734 691 698 +3 707 737 1286 +3 1286 412 707 +3 1947 658 1247 +3 1247 1168 1403 +3 525 514 1164 +3 1164 1278 525 +3 596 522 609 +3 1391 1395 388 +3 1449 539 546 +3 1194 1237 1189 +3 1168 1247 658 +3 616 1623 1189 +3 1038 2448 2443 +3 1831 2156 1780 +3 2481 63 2448 +3 2488 2487 339 +3 2156 1831 2491 +3 2507 1038 2503 +3 2510 2509 2508 +3 1038 2507 2448 +3 2451 2452 2113 +3 2114 2546 2526 +3 2113 2561 2114 +3 2114 2561 2546 +3 2526 2546 2125 +3 2589 2587 2584 +3 2131 2221 550 +3 2614 2613 2610 +3 2503 525 514 +3 2629 2628 2626 +3 1563 2602 2605 +3 2647 2646 2645 +3 2652 2649 2628 +3 2646 2602 1563 +3 1793 1365 2659 +3 2646 1563 963 +3 2509 2510 2673 +3 2681 2679 2634 +3 2685 2683 2682 +3 2685 2686 2683 +3 2685 2691 2686 +3 1232 1243 2235 +3 2634 2474 2699 +3 1243 1232 1342 +3 2708 2707 2659 +3 2395 2467 2649 +3 1101 1514 2154 +3 2721 1799 2718 +3 339 2156 2491 +3 525 2587 2589 +3 2452 2606 2113 +3 2448 2507 2481 +3 2740 2652 2629 +3 1803 2718 1799 +3 2649 2652 2395 +3 963 1563 1793 +3 2652 2628 2629 +3 2747 2746 2745 +3 2257 2750 2610 +3 2755 2718 2752 +3 2745 2610 1803 +3 2223 1789 2759 +3 2747 2521 2265 +3 2265 2521 2766 +3 2773 2498 2769 +3 58 2498 2773 +3 58 2769 2498 +3 2605 1342 1365 +3 2789 2602 2786 +3 2792 2685 2682 +3 2487 1173 350 +3 2796 1831 2795 +3 2799 2507 2797 +3 1232 339 2491 +3 2805 2759 2803 +3 2811 1403 1243 +3 2811 1243 1342 +3 2491 1365 1342 +3 1101 330 1514 +3 2818 2708 2817 +3 2699 2792 2634 +3 2614 2819 2613 +3 2066 1514 330 +3 2602 2646 2647 +3 2827 2818 2817 +3 2540 2822 2828 +3 2789 2605 2602 +3 2474 2634 2679 +3 2795 2840 2839 +3 1789 2223 1915 +3 1721 1621 2320 +3 1915 2827 1937 +3 2853 2507 2799 +3 2797 2811 2799 +3 1012 59 988 +3 988 2864 2862 +3 1012 988 2862 +3 2870 2614 2868 +3 2614 59 1012 +3 2746 2257 2610 +3 2746 2747 2265 +3 2257 492 2750 +3 2750 2769 2610 +3 2257 2131 492 +3 2257 2746 2265 +3 2257 2265 2131 +3 2747 1799 1806 +3 2747 2745 1799 +3 2746 2610 2745 +3 1789 2521 1806 +3 1789 2905 2521 +3 2745 1803 1799 +3 2610 2613 1803 +3 2827 1915 2223 +3 2521 2747 1806 +3 2503 2797 2507 +3 2766 2131 2265 +3 1915 2905 1789 +3 2221 2131 2766 +3 2905 2766 2521 +3 2905 2839 2840 +3 2750 2773 2769 +3 2487 2488 2955 +3 1721 1173 2487 +3 2970 2818 2484 +3 1780 2795 1831 +3 1780 2154 1514 +3 1721 1101 1173 +3 2818 2970 2708 +3 1814 1831 2796 +3 1814 2491 1831 +3 2066 2221 2840 +3 2707 2970 2822 +3 2905 1915 2839 +3 350 339 2487 +3 2766 2905 2840 +3 2773 1721 58 +3 330 550 2221 +3 1937 2839 1915 +3 2131 550 492 +3 550 2773 2750 +3 492 550 2750 +3 330 1101 2773 +3 2766 2840 2221 +3 1780 2156 2154 +3 2484 2828 2822 +3 2487 2955 1721 +3 2221 2066 330 +3 2840 2795 2066 +3 339 2841 2488 +3 2320 58 1721 +3 2796 2839 1937 +3 2507 2853 2481 +3 1937 1814 2796 +3 2789 2799 2811 +3 2889 2853 2789 +3 2225 2223 2805 +3 2841 339 1232 +3 2818 2827 2225 +3 2759 2805 2223 +3 3160 2707 3158 +3 2235 3162 3161 +3 3169 2488 3162 +3 2235 3161 2841 +3 3162 2488 3161 +3 2235 2841 1232 +3 3161 2488 2841 +3 2125 2546 2584 +3 2561 514 2546 +3 2455 2526 2125 +3 2455 2451 2114 +3 2546 2589 2584 +3 2546 525 2589 +3 2587 1269 2443 +3 2481 2626 63 +3 2443 1269 1038 +3 550 330 2773 +3 2587 525 1269 +3 2839 2796 2795 +3 2546 514 525 +3 2828 2803 2755 +3 3230 2561 2113 +3 1403 514 2561 +3 2455 2114 2526 +3 2451 2113 2114 +3 1173 2154 2156 +3 2606 3162 2235 +3 2795 1780 2066 +3 1243 1403 3230 +3 3230 1403 2561 +3 2708 2659 2491 +3 2647 2786 2602 +3 2156 350 1173 +3 2799 2789 2853 +3 2540 2828 2510 +3 1621 1721 2955 +3 1806 2759 1789 +3 2792 3285 2508 +3 1937 2827 2817 +3 1365 1793 1563 +3 1269 2503 1038 +3 2759 1806 2721 +3 2797 514 1403 +3 1269 525 2503 +3 2481 2629 2626 +3 3285 2792 3160 +3 2681 2508 2509 +3 2853 2740 2629 +3 3310 2540 2537 +3 2803 2721 2755 +3 2721 2803 2759 +3 2707 2822 2540 +3 514 2797 2503 +3 2853 2629 2481 +3 3310 2508 3285 +3 1721 2773 1101 +3 3169 2955 2488 +3 2540 3310 2707 +3 2395 2889 2647 +3 2652 2740 2889 +3 1563 2605 1365 +3 2652 2889 2395 +3 2707 2708 2970 +3 2223 2225 2827 +3 2510 2508 2537 +3 1342 1232 2491 +3 2811 2605 2789 +3 2509 3355 2681 +3 2707 3160 2659 +3 2679 2681 3355 +3 2691 2699 2474 +3 2862 3355 2509 +3 3310 3285 3158 +3 2634 2508 2681 +3 2819 2614 2870 +3 3160 3158 3285 +3 1514 2066 1780 +3 3160 2682 2659 +3 1799 2721 1806 +3 2699 2691 2685 +3 2805 2803 2484 +3 2510 2755 2673 +3 2484 2818 2225 +3 2510 2537 2540 +3 2805 2484 2225 +3 3158 2707 3310 +3 2154 1173 1101 +3 2755 2510 2828 +3 1814 1937 2817 +3 2605 2811 1342 +3 2156 339 350 +3 1365 2491 2659 +3 2491 2817 2708 +3 2491 1814 2817 +3 2868 2614 1012 +3 2610 59 2614 +3 2755 2721 2718 +3 2752 2718 2819 +3 2508 2634 2792 +3 2682 3160 2792 +3 2718 2613 2819 +3 2113 2235 3230 +3 3230 2235 1243 +3 2673 2752 2819 +3 2673 2755 2752 +3 2685 2792 2699 +3 2955 3169 1621 +3 2235 2113 2606 +3 2673 2819 2870 +3 1012 2862 2868 +3 2864 3355 2862 +3 1403 2811 2797 +3 1621 2119 2320 +3 3169 2119 1621 +3 3169 2609 2119 +3 3162 2609 3169 +3 3162 2606 2609 +3 2647 2645 2395 +3 2395 2645 2467 +3 2889 2789 2786 +3 2889 2786 2647 +3 2853 2889 2740 +3 2718 1803 2613 +3 2803 2828 2484 +3 2484 2822 2970 +3 2537 2508 3310 +3 2509 2868 2862 +3 2509 2870 2868 +3 2509 2673 2870 +3 3457 3297 2614 +3 2831 2820 3459 +3 3468 67 3464 +3 3476 1998 995 +3 3479 3182 3477 +3 3487 981 2557 +3 3489 912 71 +3 2462 2425 3493 +3 3183 2803 3182 +3 3509 3508 995 +3 3513 3511 3510 +3 3510 1419 852 +3 3510 1253 1419 +3 3510 3511 2528 +3 3312 3521 3520 +3 2462 2460 3525 +3 237 2215 3535 +3 1771 1672 1718 +3 504 498 1688 +3 3549 1718 452 +3 1708 1781 1548 +3 1718 3549 1771 +3 3561 3560 3557 +3 2659 1708 459 +3 1548 724 1708 +3 3566 2460 3493 +3 3566 3493 424 +3 936 3566 975 +3 1548 922 3561 +3 922 1548 1781 +3 930 3525 2460 +3 1885 3570 3569 +3 231 808 230 +3 3453 2413 2412 +3 3580 2590 3578 +3 1366 1550 3581 +3 3194 2818 3408 +3 3586 68 3585 +3 856 3513 3510 +3 3589 3588 2618 +3 866 3489 71 +3 3535 238 237 +3 2803 3183 2755 +3 3599 3598 3585 +3 3600 2618 3588 +3 3598 3586 3585 +3 3606 2413 3453 +3 407 3607 2412 +3 1730 1729 3608 +3 2237 3314 2413 +3 3617 1768 2425 +3 3453 67 3468 +3 1366 3477 2215 +3 3569 3313 3314 +3 1715 3493 2425 +3 1781 1708 2659 +3 2107 441 407 +3 3569 1765 1885 +3 3650 3521 3468 +3 498 504 636 +3 2460 2462 3493 +3 1819 3660 1575 +3 3669 3667 3665 +3 3671 1672 1771 +3 3520 3521 3650 +3 2225 2222 2805 +3 2614 3520 3464 +3 3479 3581 3678 +3 3680 3513 2104 +3 1884 3570 1885 +3 2274 248 3387 +3 243 3570 1884 +3 3479 3183 3182 +3 1548 1701 724 +3 3493 1824 3702 +3 3493 1754 424 +3 2604 2618 3600 +3 3702 1754 3493 +3 2607 3712 3711 +3 975 3566 424 +3 3549 458 1771 +3 3387 249 3549 +3 1998 3733 3732 +3 249 3387 248 +3 3521 3312 3183 +3 3578 3599 3585 +3 943 3487 2557 +3 981 1769 2523 +3 708 3732 2590 +3 3660 2659 3669 +3 995 3508 999 +3 3782 1768 3617 +3 2104 1824 3783 +3 2627 2590 3786 +3 3312 2819 2752 +3 3617 2425 2462 +3 2653 2479 3509 +3 2752 2819 3298 +3 708 2590 699 +3 937 981 3487 +3 2107 407 2412 +3 3607 67 2412 +3 441 3607 407 +3 3580 3578 3585 +3 2107 2111 441 +3 1998 3732 708 +3 2107 3314 2111 +3 3667 2708 3459 +3 2111 3314 3313 +3 2237 3606 1550 +3 2107 2413 3314 +3 2107 2412 2413 +3 3608 3453 3468 +3 2412 67 3453 +3 1730 3608 3468 +3 3606 3453 3608 +3 3678 1730 3468 +3 1729 3606 3608 +3 3678 1729 1730 +3 1550 3606 1729 +3 3581 3479 3477 +3 2237 2413 3606 +3 1765 2237 1550 +3 1765 3569 2237 +3 3313 3569 3570 +3 3314 2237 3569 +3 2831 3712 2820 +3 3667 3459 2820 +3 3938 3511 3680 +3 3459 2818 2831 +3 3464 3650 3468 +3 3464 3520 3650 +3 3667 2820 2607 +3 1824 1305 912 +3 3477 2222 2215 +3 3508 3509 2479 +3 1885 238 1884 +3 2805 3182 2803 +3 3671 253 238 +3 243 1884 253 +3 1824 3493 1715 +3 253 1884 238 +3 3665 3667 3600 +3 3669 3665 3588 +3 699 2590 3580 +3 243 253 3671 +3 230 3607 231 +3 458 3570 243 +3 67 3607 230 +3 2111 248 441 +3 67 230 498 +3 808 231 2274 +3 3313 249 2111 +3 3476 995 999 +3 3570 458 3313 +3 2215 237 1366 +3 2104 3513 934 +3 231 441 248 +3 442 2274 3387 +3 441 231 3607 +3 2274 442 317 +3 230 808 4045 +3 230 4045 498 +3 808 1688 4045 +3 67 498 636 +3 4045 1688 498 +3 2819 3312 3520 +3 2708 459 3408 +3 1765 237 1885 +3 2222 2225 3194 +3 248 2274 231 +3 243 1771 458 +3 1550 1366 1765 +3 3182 2805 2222 +3 1729 3581 1550 +3 3678 3521 3479 +3 3660 3669 3589 +3 2528 4083 4082 +3 2460 936 930 +3 3557 930 3561 +3 930 3557 3525 +3 4083 2528 2653 +3 3525 3557 2462 +3 3477 1366 3581 +3 3557 3617 2462 +3 2479 2653 3938 +3 3560 3561 922 +3 1575 950 1819 +3 1575 3782 950 +3 3408 2818 2708 +3 2225 2831 2818 +3 1771 243 3671 +3 2805 2831 2225 +3 237 1765 1366 +3 2755 2752 3298 +3 2755 3183 3312 +3 2755 3312 2752 +3 2803 3712 2831 +3 3712 2803 2755 +3 3511 3938 2653 +3 2818 3194 2225 +3 1824 2104 1305 +3 238 1885 237 +3 1768 3782 1575 +3 2479 1840 3508 +3 2479 3938 3783 +3 3786 3589 2627 +3 3298 3598 3711 +3 2614 2819 3520 +3 2819 2614 3297 +3 3702 3489 866 +3 2755 3711 3712 +3 1715 2425 1840 +3 936 2460 3566 +3 2659 1819 1781 +3 1781 1819 950 +3 3557 3560 4200 +3 922 1781 950 +3 249 3313 458 +3 866 1754 3702 +3 3557 4200 3617 +3 3560 922 3782 +3 4200 3782 3617 +3 4200 3560 3782 +3 3782 922 950 +3 3298 3711 2755 +3 3194 3535 2215 +3 3783 3680 2104 +3 3783 3938 3680 +3 1305 2104 934 +3 3599 3578 2627 +3 856 3510 852 +3 3511 2653 2528 +3 877 3513 856 +3 877 934 3513 +3 3183 3479 3521 +3 2523 1769 1253 +3 1253 3510 2523 +3 2523 3510 2528 +3 4083 708 4082 +3 2557 981 2523 +3 1998 4083 3509 +3 4082 2523 2528 +3 1998 3509 995 +3 4083 2653 3509 +3 3671 3408 1672 +3 708 4083 1998 +3 699 2557 4082 +3 708 699 4082 +3 4082 2557 2523 +3 699 943 2557 +3 3580 937 943 +3 699 3580 943 +3 943 937 3487 +3 68 981 937 +3 3513 3680 3511 +3 68 937 3580 +3 3508 1768 999 +3 68 3580 3585 +3 3599 2618 3598 +3 3732 3786 2590 +3 2627 2618 3599 +3 1768 1840 2425 +3 3660 4281 3476 +3 1715 3783 1824 +3 3733 4281 4283 +3 3733 3476 4281 +3 3733 1998 3476 +3 4283 4281 3660 +3 3588 3589 3669 +3 1840 2479 3783 +3 3786 3732 4283 +3 3598 3298 3297 +3 3732 3733 4283 +3 4283 3589 3786 +3 3476 1575 3660 +3 3711 2604 2607 +3 458 3549 249 +3 3586 3297 3457 +3 238 3535 3671 +3 999 1575 3476 +3 3589 4283 3660 +3 3598 3297 3586 +3 3600 3588 3665 +3 2803 2831 2805 +3 3535 3194 3408 +3 1575 999 1768 +3 3711 3598 2618 +3 248 2111 249 +3 3711 2618 2604 +3 3298 2819 3297 +3 1768 3508 1840 +3 3477 3182 2222 +3 2590 2627 3578 +3 2618 2627 3589 +3 2215 2222 3194 +3 3702 1824 3489 +3 2607 2820 3712 +3 1672 3408 459 +3 1840 3783 1715 +3 3521 3678 3468 +3 452 3387 3549 +3 3387 452 442 +3 1701 3561 930 +3 317 808 2274 +3 808 317 1688 +3 3561 1701 1548 +3 3669 2659 3667 +3 3535 3408 3671 +3 3581 1729 3678 +3 1824 912 3489 +3 2607 3600 3667 +3 3600 2607 2604 +3 2708 3667 2659 +3 2818 3459 2708 +3 3660 1819 2659 +3 2708 2659 459 +3 4363 4362 3125 +3 912 920 3489 +3 4365 74 4364 +3 4368 4362 4367 +3 2622 2496 4369 +3 4370 4369 2496 +3 4372 4371 2622 +3 4007 4085 4373 +3 4372 1440 929 +3 1440 4375 929 +3 1741 4376 1506 +3 4362 4363 4377 +3 4376 1384 1506 +3 3661 3885 4382 +3 4386 4377 4363 +3 1384 4376 923 +3 4386 4389 4388 +3 4388 4391 3558 +3 4362 4377 4367 +3 3141 4087 4020 +3 3885 4364 3890 +3 3539 3558 78 +3 3402 4091 4087 +3 4365 3885 453 +3 443 4365 453 +3 4408 4407 4406 +3 4410 3731 4409 +3 3731 4410 3068 +3 4057 4412 3735 +3 3066 487 3068 +3 1845 1324 4030 +3 929 4375 3647 +3 4020 3139 3141 +3 4415 3753 3748 +3 3753 4415 4416 +3 4416 3758 3759 +3 4416 3403 3758 +3 4417 4376 1741 +3 776 787 3248 +3 926 2496 1535 +3 3125 3278 4007 +3 4369 4370 4417 +3 2303 4266 564 +3 3661 4169 920 +3 4406 2287 3069 +3 3611 4178 3706 +3 4020 887 853 +3 4439 4087 4091 +3 4362 4368 3278 +3 4375 4401 4357 +3 4416 776 3248 +3 3402 4367 3539 +3 803 3402 3539 +3 4416 3248 3403 +3 3278 3139 4085 +3 4357 3647 4375 +3 4178 564 4192 +3 923 4370 926 +3 4368 3141 3139 +3 4370 923 4376 +3 3795 2282 4030 +3 79 912 3489 +3 79 1741 1506 +3 2282 2287 4278 +3 4476 4475 3885 +3 4412 4057 4477 +3 4278 4407 4276 +3 2287 4406 4407 +3 4368 3402 3141 +3 576 1664 1496 +3 2303 4255 4030 +3 576 4192 564 +3 4255 2303 1202 +3 4502 825 4357 +3 4091 787 4439 +3 4030 744 1845 +3 602 1845 744 +3 3661 920 1682 +3 4192 3706 4178 +3 3278 3125 4362 +3 4389 4391 4388 +3 4367 4377 4388 +3 2496 926 4370 +3 3539 4367 3558 +3 4377 4386 4388 +3 4373 4085 4502 +3 907 4415 4520 +3 4373 4502 4401 +3 1682 1493 3661 +3 3558 4367 4388 +3 1535 3720 926 +3 3788 3539 78 +3 3788 799 3539 +3 1384 3706 1287 +3 4192 576 1493 +3 3248 803 799 +3 3706 1384 3611 +3 3248 787 803 +3 776 4439 787 +3 803 3539 799 +3 907 4439 776 +3 4415 907 776 +3 1682 4192 1493 +3 3611 923 2318 +3 3139 3278 4368 +3 887 4520 853 +3 853 4520 825 +3 4367 3402 4368 +3 4502 4357 4401 +3 2318 2713 3611 +3 907 887 4439 +3 2713 2318 744 +3 787 4091 803 +3 923 3611 1384 +3 4371 929 723 +3 4357 825 3647 +3 1845 929 3647 +3 4371 4372 929 +3 4085 4007 3278 +3 4371 1535 2496 +3 1287 920 1506 +3 912 79 920 +3 1535 4371 723 +3 920 79 1506 +3 4408 4412 4477 +3 4030 1324 3795 +3 1384 1287 1506 +3 1682 920 1287 +3 3489 4169 4382 +3 3489 920 4169 +3 1493 576 1496 +3 2303 2282 4266 +3 907 4520 887 +3 3647 1324 1845 +3 1535 723 602 +3 4412 4408 4406 +3 723 1845 602 +3 723 929 1845 +3 4376 4417 4370 +3 2287 2282 3069 +3 1664 4476 1496 +3 3069 2282 3795 +3 1664 4278 4276 +3 4520 1324 3647 +3 4276 4408 4476 +3 4502 4020 853 +3 3069 3066 4406 +3 1664 576 4278 +3 4407 4278 2287 +3 3885 1496 4476 +3 4091 3402 803 +3 4169 3661 4382 +3 564 4178 1202 +3 4382 3885 3890 +3 776 4416 4415 +3 453 4475 4056 +3 453 3885 4475 +3 576 564 4266 +3 4475 4476 4408 +3 3885 4365 4364 +3 443 74 4365 +3 4087 3141 3402 +3 4085 4020 4502 +3 4412 4406 4409 +3 4410 3066 3068 +3 4410 4406 3066 +3 3748 4520 4415 +3 4409 4406 4410 +3 4476 1664 4276 +3 3066 3069 487 +3 887 4087 4439 +3 2713 744 747 +3 887 4020 4087 +3 825 4520 3647 +3 4520 3748 1324 +3 487 3069 3795 +3 1202 747 4255 +3 1202 2713 747 +3 4278 4266 2282 +3 926 2318 923 +3 1202 4178 2713 +3 4266 4278 576 +3 4502 853 825 +3 2282 2303 4030 +3 602 744 3720 +3 3761 3248 799 +3 4408 4477 4475 +3 3753 4416 3759 +3 2496 2622 4371 +3 3706 4192 1682 +3 3720 744 2318 +3 3720 1535 602 +3 1287 3706 1682 +3 2318 926 3720 +3 4178 3611 2713 +3 747 744 4255 +3 4408 4276 4407 +3 4255 744 4030 +3 4409 3735 4412 +3 3735 4409 3731 +3 3403 3248 3761 +3 4056 4477 4057 +3 4477 4056 4475 +3 564 1202 2303 +3 4020 4085 3139 +3 1493 3885 3661 +3 1493 1496 3885 +3 4048 4679 4038 +3 3008 4585 2906 +3 4686 114 4685 +3 4692 2953 4688 +3 3615 3736 4693 +3 4669 4694 4668 +3 4695 44 4683 +3 4695 4697 4696 +3 4700 4699 4698 +3 4699 4701 4698 +3 2924 2387 1114 +3 4701 4699 2856 +3 1145 4702 4574 +3 2856 4574 2854 +3 1145 2856 1122 +3 3695 4112 2879 +3 4638 4709 4625 +3 4638 4625 4694 +3 4709 4638 4710 +3 3280 3282 4711 +3 4712 3615 3616 +3 4529 4715 4493 +3 3338 4683 98 +3 2993 2603 2953 +3 3638 1637 4580 +3 4580 1637 1642 +3 2906 3736 4709 +3 3763 4107 4721 +3 3695 4723 3764 +3 4106 4725 4112 +3 3763 4233 4107 +3 3854 3723 4726 +3 4177 4721 4107 +3 4730 3950 4729 +3 4729 4015 4107 +3 4729 46 4730 +3 3695 2879 2880 +3 4710 4733 2984 +3 4734 4694 4669 +3 4685 116 4735 +3 4493 4711 3975 +3 3978 98 4737 +3 3616 4580 4712 +3 3974 4737 4443 +3 4741 4648 4740 +3 4744 2993 4692 +3 2953 4692 2993 +3 116 4685 114 +3 4745 4647 4741 +3 4702 4432 1193 +3 4233 46 4729 +3 4015 4106 4177 +3 3972 3763 4682 +3 3695 4106 4112 +3 3763 3764 4682 +3 2906 4710 3008 +3 4690 3615 4712 +3 4580 3616 3638 +3 4690 3736 3615 +3 4744 4529 4493 +3 4640 4710 4638 +3 4744 4668 4529 +3 2938 2595 2924 +3 2906 3034 4693 +3 3638 4693 4637 +3 4648 2984 4590 +3 99 4114 3000 +3 4775 3427 4688 +3 4711 4493 4715 +3 3978 3338 98 +3 3974 3975 4737 +3 4443 4737 4427 +3 44 98 4683 +3 44 4695 4696 +3 2939 4688 2953 +3 4734 4638 4694 +3 99 114 2722 +3 4637 2879 3638 +3 4778 2948 4427 +3 4742 4682 4741 +3 2939 2403 2399 +3 111 4781 4735 +3 4052 2595 4109 +3 4233 4729 4107 +3 4233 3854 4726 +3 3950 4725 4015 +3 3950 4015 4729 +3 4106 4721 4177 +3 4015 4177 4107 +3 3972 3854 3763 +3 3764 3763 4721 +3 3979 3723 3972 +3 3763 3854 4233 +3 3723 3854 3972 +3 4590 4740 4648 +3 4574 4590 4798 +3 4740 4574 4702 +3 4574 4740 4590 +3 4798 4590 2881 +3 3979 3972 4742 +3 3979 4742 1193 +3 2906 4709 4710 +3 4741 4682 4745 +3 4701 2854 2881 +3 4647 3008 4648 +3 4775 4698 4805 +3 2984 4733 2881 +3 4112 1642 1637 +3 2881 2854 4798 +3 4702 1193 4740 +3 4682 4742 3972 +3 1193 4742 4740 +3 4723 4682 3764 +3 4015 4725 4106 +3 4721 4106 3764 +3 3764 4106 3695 +3 4723 3695 4681 +3 4682 4723 4681 +3 1637 3638 2879 +3 4585 2880 3034 +3 4693 3736 2906 +3 4585 3034 2906 +3 4745 4681 4585 +3 3974 2948 2975 +3 4682 4681 4745 +3 4647 4745 4585 +3 2984 4648 3008 +3 3008 4710 2984 +3 4681 3695 2880 +3 2880 4585 4681 +3 3616 3615 4693 +3 3616 4693 3638 +3 4693 3034 4637 +3 4637 3034 2880 +3 4637 2880 2879 +3 3282 4697 4843 +3 3282 4843 4683 +3 4843 4697 4695 +3 4843 4695 4683 +3 3282 4683 3338 +3 4711 3978 3975 +3 3280 4697 3282 +3 4711 3282 3978 +3 3282 3338 3978 +3 3975 3978 4737 +3 2948 3974 4443 +3 4427 4737 98 +3 4493 3975 3974 +3 2603 4016 2403 +3 2984 2881 4590 +3 3008 4647 4585 +3 4733 4710 4640 +3 3428 4734 3416 +3 2881 4733 4701 +3 3427 4640 4638 +3 99 2722 4114 +3 116 111 4735 +3 2993 4114 2603 +3 4688 2939 4775 +3 3473 3416 4734 +3 4685 4735 4052 +3 3000 4114 2993 +3 2948 4778 2975 +3 2948 4443 4427 +3 4648 4741 4647 +3 4715 3280 4711 +3 2975 4778 98 +3 2603 4686 4016 +3 99 2975 98 +3 3000 2993 4744 +3 4114 2722 2603 +3 2939 2399 2938 +3 3416 4692 3428 +3 4734 3428 4638 +3 4692 3416 3473 +3 2595 4052 2387 +3 4109 4016 4686 +3 2387 2924 2595 +3 2953 2403 2939 +3 2399 2403 4016 +3 4109 2399 4016 +3 4685 4109 4686 +3 4109 4685 4052 +3 4805 4733 4640 +3 2595 2938 2399 +3 2722 114 4686 +3 2387 4052 4048 +3 4686 2603 2722 +3 4048 4735 4781 +3 193 4781 111 +3 4740 4742 4741 +3 3428 3427 4638 +3 4688 3427 3428 +3 4688 3428 4692 +3 3427 4775 4805 +3 3427 4805 4640 +3 2938 4700 4775 +3 2975 99 3000 +3 2938 4775 2939 +3 3000 3968 2975 +3 4775 4700 4698 +3 4805 4701 4733 +3 4427 98 4778 +3 4698 4701 4805 +3 2924 4700 2938 +3 2854 4574 4798 +3 4766 4432 4702 +3 4873 4702 1145 +3 4873 4432 4766 +3 4873 4766 4702 +3 4700 2924 2856 +3 4048 4781 4679 +3 4574 2856 1145 +3 2387 4038 1114 +3 4052 4735 4048 +3 2924 1114 1122 +3 2399 4109 2595 +3 4112 1637 2879 +3 2856 4699 4700 +3 1122 2856 2924 +3 2387 4048 4038 +3 2854 4701 2856 +3 4781 193 45 +3 4781 45 4679 +3 3968 4493 3974 +3 4493 3968 4744 +3 3968 3000 4744 +3 2603 2403 2953 +3 3974 2975 3968 +3 3473 4734 4744 +3 4734 4669 4744 +3 4669 4668 4744 +3 4692 3473 4744 +3 3041 4702 4573 +3 2388 3041 2926 +3 3041 2388 2684 +3 3003 2633 3226 +3 4882 3528 2963 +3 3460 4883 3522 +3 4751 3369 20 +3 4712 3335 3690 +3 4210 515 4300 +3 4884 4626 4628 +3 4626 3375 4885 +3 2963 3370 3371 +3 4885 3370 3528 +3 3335 3503 2901 +3 3335 2901 3690 +3 4598 1634 1632 +3 1634 4585 1632 +3 4891 3522 4883 +3 2865 4705 2866 +3 4894 3943 3898 +3 4210 4217 4292 +3 4171 4210 4292 +3 3397 3582 4034 +3 3392 3397 4896 +3 4150 4898 4236 +3 115 385 4226 +3 4226 3392 115 +3 4300 4414 4217 +3 4226 3398 3392 +3 4226 4901 3398 +3 4901 1851 3399 +3 4901 4228 1851 +3 1851 4228 1854 +3 2181 1851 1854 +3 4232 22 2181 +3 22 2179 2181 +3 4232 2181 1854 +3 4904 1198 426 +3 3943 4034 3582 +3 4883 3460 4882 +3 2947 2945 4426 +3 3037 1634 4598 +3 301 883 4904 +3 4884 2901 3503 +3 4740 4078 4741 +3 485 1198 4904 +3 4293 1001 1092 +3 4199 4293 1092 +3 1092 274 4199 +3 4034 3943 4150 +3 4740 4741 4908 +3 4078 485 4236 +3 4644 4658 3818 +3 3730 4633 3077 +3 4633 4741 4745 +3 4894 4741 4078 +3 3817 4716 4707 +3 3333 3332 4598 +3 3333 4598 1632 +3 3375 3370 4885 +3 3375 4626 3498 +3 3371 3369 2945 +3 4868 20 2963 +3 3371 2945 2947 +3 2963 4913 4882 +3 4426 20 4868 +3 2963 2633 3003 +3 3616 3332 3547 +3 2698 3226 2633 +3 3730 4716 3817 +3 4917 4628 3522 +3 2865 2866 4918 +3 3817 4633 3730 +3 2678 4300 515 +3 2926 2937 2355 +3 4923 4922 4921 +3 4923 4891 3003 +3 4633 4585 3077 +3 883 4236 485 +3 4226 4228 4901 +3 3398 4901 3399 +3 2179 3399 1851 +3 2179 1851 2181 +3 1092 1001 115 +3 4633 3817 4658 +3 3077 2901 3730 +3 301 4171 4199 +3 274 883 301 +3 4199 4171 4292 +3 274 301 4199 +3 4293 4199 4292 +3 4904 4171 301 +3 4078 1198 485 +3 4078 4236 4898 +3 4716 3730 4769 +3 4894 4078 4898 +3 2926 2355 2388 +3 515 4873 2684 +3 4745 4741 4894 +3 3651 4573 3818 +3 274 4034 4236 +3 274 4236 883 +3 883 485 4904 +3 4896 3397 4034 +3 4896 4034 274 +3 3943 4898 4150 +3 4034 4150 4236 +3 4894 4898 3943 +3 3898 3943 3582 +3 2926 4573 3651 +3 4598 4693 3037 +3 3898 1632 4585 +3 4913 3003 4891 +3 4598 3332 4693 +3 3651 2937 2926 +3 2906 4585 3037 +3 2906 3037 4693 +3 115 1001 385 +3 2906 4693 3690 +3 3332 3616 4693 +3 4693 3616 3690 +3 3037 4585 1634 +3 4300 4217 4210 +3 3547 3335 4712 +3 3616 4712 3690 +3 4626 4884 3503 +3 4707 3016 4705 +3 3101 4769 2901 +3 3101 2901 4884 +3 3818 4707 3651 +3 2901 3077 3690 +3 2901 4769 3730 +3 4883 4913 4891 +3 3101 4884 3015 +3 3101 3015 4769 +3 4745 4894 4585 +3 4769 3015 4716 +3 3818 3817 4707 +3 4633 4745 4585 +3 3818 4658 3817 +3 4894 3898 4585 +3 4658 4644 4908 +3 4658 4908 4741 +3 4885 3462 3460 +3 4884 4628 3015 +3 4885 3460 4626 +3 4705 3651 4707 +3 3522 4628 4626 +3 3498 4626 3503 +3 4917 4918 3016 +3 3370 2963 3528 +3 4885 3528 3462 +3 2963 20 2633 +3 4965 4740 4908 +3 2945 20 4426 +3 2947 4426 4868 +3 2945 3369 4751 +3 2945 4751 20 +3 3528 4882 3462 +3 4882 3460 3462 +3 4644 3818 4573 +3 3016 4716 3015 +3 4908 4644 4965 +3 4882 4913 4883 +3 4626 3460 3522 +3 4628 4917 3016 +3 4923 4921 4891 +3 4573 4965 4644 +3 4891 4921 4917 +3 4891 4917 3522 +3 4917 4921 4918 +3 2865 2937 4705 +3 2865 4918 4922 +3 4921 4922 4918 +3 2906 3690 3077 +3 426 4171 4904 +3 115 4896 274 +3 515 4210 426 +3 3016 4918 2866 +3 3016 2866 4705 +3 3226 4923 3003 +3 3547 4712 3616 +3 4658 4741 4633 +3 426 1188 515 +3 3015 4628 3016 +3 4716 3016 4707 +3 3003 4913 2963 +3 3077 4585 2906 +3 2963 3371 2947 +3 1198 4078 4740 +3 2947 4868 2963 +3 4965 4573 4702 +3 4965 4702 4740 +3 426 4210 4171 +3 3226 2698 2937 +3 115 3392 4896 +3 4873 515 1188 +3 274 1092 115 +3 4702 4873 4600 +3 4702 4600 1188 +3 2684 2678 515 +3 4600 4873 1188 +3 3651 4705 2937 +3 4923 3226 2865 +3 4702 3041 4873 +3 2865 4922 4923 +3 4873 3041 2684 +3 2678 21 4300 +3 21 4414 4300 +3 2937 2865 3226 +3 4573 2926 3041 +3 2698 2355 2937 +3 1188 426 1198 +3 1198 4740 4702 +3 1198 4702 1188 +3 4452 3062 2985 +3 359 3781 1055 +3 1141 3061 3062 +3 1122 1100 3061 +3 4038 1106 1114 +3 4038 4679 2982 +3 1198 480 485 +3 3979 1193 4044 +3 41 306 373 +3 4044 3723 3979 +3 3856 4726 3723 +3 566 797 768 +3 433 3235 1078 +3 306 309 328 +3 913 949 894 +3 391 321 300 +3 888 2897 46 +3 4679 45 2982 +3 4038 2982 1106 +3 3061 1141 1122 +3 1141 3062 1151 +3 3062 4452 1151 +3 4437 4873 1145 +3 490 397 880 +3 440 4991 397 +3 2987 3235 433 +3 797 566 400 +3 274 109 883 +3 3781 359 366 +3 956 695 890 +3 3174 1055 3781 +3 425 392 431 +3 318 431 346 +3 318 346 331 +3 331 337 373 +3 1006 3714 109 +3 321 328 309 +3 331 373 328 +3 2897 888 890 +3 890 4576 2897 +3 956 611 585 +3 4432 4873 1188 +3 4432 1188 1193 +3 4233 4726 3856 +3 883 4097 485 +3 3778 4097 3714 +3 480 3013 490 +3 890 949 956 +3 3778 3714 4233 +3 3013 397 490 +3 1188 4873 4437 +3 794 196 314 +3 271 277 1138 +3 3013 440 397 +3 1092 109 274 +3 880 883 490 +3 1956 277 1959 +3 585 695 956 +3 3172 3174 3781 +3 3172 1138 3645 +3 4452 2985 3013 +3 277 1956 3645 +3 1138 277 3645 +3 894 1092 913 +3 128 133 582 +3 4576 695 1373 +3 4576 1373 685 +3 685 1373 646 +3 761 768 805 +3 611 956 812 +3 888 1001 894 +3 4437 1151 480 +3 1092 894 1001 +3 46 4233 3714 +3 46 3714 1006 +3 396 274 880 +3 566 396 3045 +3 4779 3723 4044 +3 400 566 3045 +3 128 701 133 +3 4991 440 445 +3 4097 883 109 +3 314 582 271 +3 949 772 812 +3 1001 1006 1092 +3 485 490 883 +3 3045 397 400 +3 1198 485 4779 +3 913 274 396 +3 4044 1198 4779 +3 880 397 3045 +3 480 1198 4437 +3 880 3045 396 +3 695 4576 890 +3 3856 3723 4779 +3 4779 4097 3778 +3 485 4097 4779 +3 3856 3778 4233 +3 314 611 794 +3 3856 4779 3778 +3 3013 2985 440 +3 1198 4044 1193 +3 440 2985 2987 +3 1188 4437 1198 +3 433 440 2987 +3 1145 1122 1141 +3 1145 1151 4437 +3 1151 4452 3013 +3 1078 3235 1959 +3 3013 480 1151 +3 1959 3235 1956 +3 196 128 314 +3 366 1138 3781 +3 701 1078 1959 +3 133 271 582 +3 701 1959 133 +3 318 321 391 +3 876 445 128 +3 109 3714 4097 +3 701 128 445 +3 701 445 1078 +3 797 400 196 +3 797 196 794 +3 196 4991 876 +3 196 876 128 +3 391 425 318 +3 876 4991 445 +3 128 582 314 +3 425 431 318 +3 611 314 336 +3 646 1373 695 +3 1055 392 394 +3 271 366 314 +3 4991 196 397 +3 321 309 685 +3 1055 394 359 +3 3781 1138 3172 +3 3086 392 1055 +3 3086 1055 3174 +3 133 1959 277 +3 133 277 271 +3 41 309 306 +3 328 321 318 +3 346 337 331 +3 366 359 336 +3 373 306 328 +3 336 314 366 +3 394 392 391 +3 196 400 397 +3 392 425 391 +3 445 440 433 +3 490 485 480 +3 391 300 394 +3 394 300 308 +3 592 585 336 +3 394 308 592 +3 336 585 611 +3 321 646 300 +3 308 662 592 +3 321 685 646 +3 300 646 695 +3 300 695 662 +3 300 662 308 +3 662 695 585 +3 662 585 592 +3 772 768 761 +3 359 394 592 +3 805 797 794 +3 761 794 812 +3 768 797 805 +3 761 805 794 +3 883 880 274 +3 894 890 888 +3 772 913 396 +3 772 396 566 +3 812 956 949 +3 592 336 359 +3 761 812 772 +3 812 794 611 +3 772 949 913 +3 46 1006 1001 +3 46 1001 888 +3 894 949 890 +3 328 318 331 +3 433 1078 445 +3 1092 1006 109 +3 1114 1106 1100 +3 1100 1122 1114 +3 1138 366 271 +3 1151 1145 1141 +3 566 768 772 +3 913 1092 274 +3 1198 1193 1188 +3 299 294 1203 +3 1241 1238 1233 +3 1268 1262 1235 +3 1288 1284 1276 +3 1303 1299 1293 +3 1268 1312 1309 +3 1238 1241 1316 +3 1327 1293 1299 +3 1338 1334 1331 +3 1354 299 1343 +3 1380 299 1354 +3 1380 1390 1386 +3 1354 1390 1380 +3 1354 1343 43 +3 1380 1409 1334 +3 1414 1309 1411 +3 1414 1411 1418 +3 1444 1441 536 +3 1456 536 1446 +3 1409 1463 1459 +3 200 1475 1468 +3 1480 1478 1477 +3 1217 1486 1482 +3 1501 1500 1497 +3 297 293 741 +3 741 1242 1510 +3 1517 1515 1510 +3 200 1521 1519 +3 200 1517 1521 +3 1531 1316 1288 +3 1540 1421 1534 +3 1542 1519 41 +3 1557 1552 1527 +3 1477 1527 1560 +3 1585 1409 1380 +3 1338 294 299 +3 1595 1517 200 +3 1600 1424 1598 +3 1396 1611 1404 +3 1628 1275 1413 +3 1510 1515 741 +3 1510 1521 1517 +3 1288 1316 1284 +3 1646 1413 1368 +3 1486 1651 1497 +3 1660 1414 1418 +3 1500 1486 1497 +3 1414 1262 1268 +3 1676 1480 1539 +3 1678 1478 1480 +3 1411 1441 1418 +3 536 1217 1684 +3 872 1312 1268 +3 1707 1705 1355 +3 1396 1393 1710 +3 1713 1409 1459 +3 1288 1593 1539 +3 1463 1409 1231 +3 1585 872 1409 +3 1288 1276 1459 +3 741 1501 297 +3 1770 1396 1404 +3 1776 1231 1235 +3 1539 1531 1288 +3 1598 1233 1238 +3 1288 1348 1593 +3 1355 1478 1020 +3 1404 1788 1770 +3 1262 1776 1235 +3 1788 1404 1421 +3 1235 872 1268 +3 1517 1595 1515 +3 293 1242 741 +3 200 1542 41 +3 200 1519 1542 +3 741 1515 1501 +3 1651 293 297 +3 1515 1327 1299 +3 1651 297 1497 +3 1468 1475 1837 +3 1515 1595 1327 +3 1628 1846 1475 +3 1595 1837 1327 +3 1468 1595 200 +3 1468 1837 1595 +3 1421 1540 1424 +3 1303 1865 1500 +3 872 1235 1409 +3 1299 1303 1500 +3 1424 1875 1872 +3 1846 1837 1475 +3 1275 1628 1875 +3 1846 1628 1646 +3 1413 1646 1628 +3 1293 1646 1883 +3 1368 1883 1646 +3 1303 1883 1705 +3 1705 1865 1303 +3 1486 1456 1891 +3 1865 1705 1486 +3 1501 1299 1500 +3 1501 1515 1299 +3 1705 1707 1486 +3 1217 536 1456 +3 1651 1486 1891 +3 1500 1865 1486 +3 1891 1456 1446 +3 1486 1707 1482 +3 1020 1922 1482 +3 1444 1418 1441 +3 1486 1217 1456 +3 1482 1707 1020 +3 1482 1684 1217 +3 1945 1418 1444 +3 1684 1444 536 +3 1660 1678 1676 +3 1418 1945 1660 +3 1268 1309 1414 +3 1684 1945 1444 +3 1660 1676 1262 +3 1414 1660 1262 +3 1238 1770 1598 +3 1776 1262 1676 +3 1945 1678 1660 +3 297 1501 1497 +3 1984 1678 1945 +3 1684 1984 1945 +3 1684 1482 1922 +3 1355 1020 1707 +3 1922 1984 1684 +3 1316 1531 1552 +3 1560 1552 1531 +3 1478 1922 1020 +3 1678 1984 1922 +3 1611 1396 1710 +3 1593 1776 1539 +3 1776 1676 1539 +3 1770 1552 1557 +3 2021 1776 1593 +3 2021 1231 1776 +3 1348 2021 1593 +3 1231 1409 1235 +3 1585 1380 1386 +3 1334 299 1380 +3 1348 1231 2021 +3 1348 1463 1231 +3 1527 1552 1560 +3 1409 1713 1334 +3 1343 299 1203 +3 1334 1338 299 +3 2069 1354 43 +3 2069 1390 1354 +3 1288 1459 1463 +3 1713 1331 1334 +3 1276 1713 1459 +3 1276 1331 1713 +3 1560 1480 1477 +3 1560 1531 1480 +3 1478 1678 1922 +3 1531 1539 1480 +3 1241 40 2103 +3 1710 1527 1478 +3 1477 1478 1527 +3 1788 1600 1598 +3 1875 1475 1872 +3 1600 1421 1424 +3 1233 40 1241 +3 1552 1238 1316 +3 1396 1770 1557 +3 1598 1770 1788 +3 1293 1327 1846 +3 1480 1676 1678 +3 1557 1393 1396 +3 1557 1527 1393 +3 1883 1303 1293 +3 1348 1288 1463 +3 1355 1710 1478 +3 1393 1527 1710 +3 1282 1275 1875 +3 1611 1710 1355 +3 1883 1355 1705 +3 1368 1611 1355 +3 1534 1404 1611 +3 1413 1534 1368 +3 1404 1534 1421 +3 1275 1540 1413 +3 1424 1282 1875 +3 1837 1846 1327 +3 1282 1540 1275 +3 1282 1424 1540 +3 1534 1611 1368 +3 1646 1293 1846 +3 1540 1534 1413 +3 1883 1368 1355 +3 2103 1316 1241 +3 1316 2103 1284 +3 1770 1238 1552 +3 1421 1600 1788 +3 1475 1875 1628 +3 1475 200 1872 +3 1872 200 41 +3 2350 2348 2346 +3 2358 2355 2353 +3 2367 2363 2360 +3 2374 2135 2371 +3 2384 2381 2377 +3 1114 2388 2387 +3 2396 2393 2391 +3 2403 2401 2399 +3 208 2410 136 +3 2419 120 2414 +3 1836 2377 2420 +3 2423 2350 2422 +3 2367 2427 2363 +3 2420 2377 2363 +3 2436 2434 2432 +3 2434 2439 2432 +3 1836 2441 2384 +3 2420 2363 2427 +3 2423 2439 2434 +3 2469 1844 2458 +3 2469 1859 1847 +3 1859 2439 2473 +3 2478 2432 2475 +3 136 2483 137 +3 2216 16 2478 +3 1859 2473 1847 +3 2216 2506 16 +3 1841 2516 1839 +3 2432 2531 2475 +3 2384 2534 2381 +3 2475 2216 2478 +3 2545 1859 2543 +3 2475 2506 2216 +3 2554 2552 2427 +3 2558 2554 2555 +3 2562 2367 2414 +3 2534 2563 2381 +3 2358 2387 2388 +3 2570 2423 2441 +3 2563 2377 2381 +3 2580 2576 2575 +3 2545 2432 2439 +3 2588 2586 2583 +3 99 20 2410 +3 2403 2399 2576 +3 2595 2594 2592 +3 2599 2598 2575 +3 2419 2391 2393 +3 2393 2588 208 +3 2403 2580 2603 +3 2612 2611 2608 +3 2612 2554 2558 +3 1844 2008 2277 +3 2353 2633 2632 +3 2648 132 120 +3 2650 2387 2358 +3 2657 1844 2473 +3 2277 2660 2611 +3 2473 1844 1847 +3 2280 2611 2458 +3 21 2135 16 +3 2588 2583 2603 +3 2135 2348 16 +3 2545 2543 2675 +3 2348 2478 16 +3 21 2678 2371 +3 2387 2534 1114 +3 2135 21 2371 +3 2388 1114 2684 +3 2689 1100 2687 +3 1100 2689 1114 +3 2388 2355 2358 +3 1100 2534 2384 +3 2374 2371 2689 +3 2687 2374 2689 +3 2360 2363 2594 +3 2353 2355 2698 +3 2363 2377 2563 +3 2363 2563 2592 +3 2687 1100 2384 +3 2441 1839 2516 +3 2563 2534 2592 +3 2391 2401 2396 +3 2363 2592 2594 +3 2650 2632 2576 +3 2594 2595 2706 +3 2575 2576 2632 +3 2595 2650 2399 +3 2698 2633 2353 +3 2632 2358 2353 +3 2595 2387 2650 +3 2393 136 2419 +3 2592 2534 2387 +3 2592 2387 2595 +3 2720 2719 2598 +3 2576 2399 2650 +3 2367 2360 2391 +3 208 2722 99 +3 2706 2595 2399 +3 2401 2403 2583 +3 2348 2135 2346 +3 2598 2580 2575 +3 2350 2436 2478 +3 2580 2403 2576 +3 2633 20 2599 +3 2633 2599 2575 +3 2391 2414 2367 +3 2403 2603 2583 +3 2599 20 2720 +3 2719 2720 2737 +3 2350 2434 2436 +3 2737 2722 2719 +3 2720 20 2737 +3 2719 2722 2603 +3 2737 20 99 +3 2737 99 2722 +3 2580 2598 2719 +3 99 2410 208 +3 2393 2586 2588 +3 2478 2348 2350 +3 2396 2586 2393 +3 136 2393 208 +3 2401 2391 2360 +3 2401 2360 2399 +3 2360 2594 2706 +3 2360 2706 2399 +3 2583 2586 2396 +3 2583 2396 2401 +3 2758 2552 2554 +3 2555 2554 2562 +3 2277 2760 2660 +3 2377 1836 2384 +3 2760 2427 2552 +3 132 2414 120 +3 2432 2478 2436 +3 2414 2391 2419 +3 2545 2675 2531 +3 2277 2280 1844 +3 2422 2441 2423 +3 120 2419 137 +3 2782 2648 137 +3 2782 137 2483 +3 2410 2483 136 +3 2439 1859 2545 +3 2277 2611 2280 +3 2611 2660 2608 +3 2758 2608 2552 +3 2719 2603 2580 +3 2612 2608 2758 +3 2612 2758 2554 +3 2266 2760 2277 +3 2660 2760 2608 +3 1839 1836 2268 +3 2760 2420 2427 +3 2420 2760 2266 +3 2266 2277 2008 +3 1844 2280 2458 +3 2268 2420 2266 +3 1844 2469 1847 +3 1841 2266 2008 +3 2008 2657 2516 +3 2008 1844 2657 +3 2570 2473 2439 +3 1841 2008 2516 +3 1836 2420 2268 +3 1841 2268 2266 +3 2441 1836 1839 +3 1841 1839 2268 +3 2598 2599 2720 +3 2441 2687 2384 +3 2346 2374 2422 +3 2441 2422 2687 +3 2346 2135 2374 +3 2422 2374 2687 +3 137 2419 136 +3 137 2648 120 +3 2722 208 2588 +3 2439 2423 2570 +3 2570 2516 2657 +3 2570 2657 2473 +3 2588 2603 2722 +3 2554 2427 2367 +3 2346 2422 2350 +3 2358 2632 2650 +3 2432 2545 2531 +3 2367 2562 2554 +3 2552 2608 2760 +3 2632 2633 2575 +3 2684 1114 2689 +3 2689 2371 2684 +3 2371 2678 2684 +3 2534 1100 1114 +3 2414 132 2562 +3 2434 2350 2423 +3 2441 2516 2570 +3 2132 2893 13 +3 2895 2894 2423 +3 2570 2657 90 +3 2895 2908 2218 +3 8 2218 2908 +3 2670 2570 2423 +3 510 1122 530 +3 2917 2916 13 +3 2552 2919 226 +3 1122 2926 2924 +3 2933 2931 2928 +3 2937 2936 2935 +3 2940 2939 2938 +3 2943 2942 2941 +3 2946 12 2945 +3 2946 2945 2947 +3 2947 2950 2948 +3 2941 2952 2938 +3 2548 2939 2953 +3 2959 2958 2957 +3 2963 2961 2960 +3 2965 2964 2942 +3 2968 2967 2966 +3 2967 2959 2966 +3 2552 2967 2971 +3 2975 2973 2972 +3 2965 2942 2958 +3 2760 2958 2552 +3 90 2986 1874 +3 92 2570 90 +3 2895 2914 2908 +3 2994 2993 2953 +3 2940 2996 2995 +3 3000 2993 2999 +3 3004 3003 2996 +3 2350 2893 2171 +3 90 1874 92 +3 2670 2991 2043 +3 2350 2894 2348 +3 204 3031 161 +3 3041 3039 2926 +3 2552 2971 2758 +3 2931 2916 2928 +3 2963 2960 3003 +3 161 3031 3052 +3 3059 2924 2952 +3 2942 2943 2957 +3 2942 2952 2941 +3 3063 2972 2973 +3 2943 2939 2548 +3 2315 2548 2953 +3 2961 2999 3074 +3 3076 2946 2947 +3 2948 2973 2975 +3 2963 2975 2961 +3 2975 3000 2961 +3 2893 2132 2134 +3 3085 3083 3081 +3 3081 3088 3087 +3 3083 3092 3088 +3 3063 3103 3087 +3 3087 3107 3081 +3 3087 3088 3063 +3 3085 2968 2966 +3 2968 3085 3107 +3 2669 2670 2423 +3 2008 2006 2657 +3 2669 3138 2670 +3 3149 2008 2657 +3 2171 2933 2669 +3 2423 2894 2350 +3 2893 2350 2348 +3 1874 2914 92 +3 161 3052 2986 +3 2917 3177 2916 +3 2171 2134 2931 +3 3177 2928 2916 +3 530 2928 510 +3 510 3041 1122 +3 1122 3041 2926 +3 1122 3061 530 +3 530 3061 3138 +3 2999 2993 2994 +3 2991 3204 2964 +3 2670 3149 2570 +3 2423 92 2895 +3 2936 2926 3039 +3 3149 2657 2570 +3 3204 3059 3223 +3 2926 2937 3224 +3 3226 2937 2935 +3 3223 2952 2942 +3 2964 2965 2043 +3 2991 3059 3204 +3 2964 3223 2942 +3 3059 2952 3223 +3 3204 3223 2964 +3 2996 3224 3004 +3 2952 2924 2938 +3 2995 2939 2940 +3 3234 3226 2935 +3 3224 2937 3004 +3 3237 2995 2996 +3 3004 2937 3226 +3 3003 3076 2963 +3 2995 2953 2939 +3 2938 3242 2941 +3 2957 2943 3092 +3 2924 2940 2938 +3 3224 2924 2926 +3 3247 3063 3088 +3 2994 2953 2995 +3 3088 3081 3083 +3 3074 2960 2961 +3 3088 3092 3247 +3 3237 3074 2994 +3 3237 2994 2995 +3 3074 3237 2960 +3 2947 2948 2963 +3 2669 2423 2350 +3 2993 2777 2778 +3 3258 2777 3247 +3 2778 2953 2993 +3 2945 2950 2947 +3 3000 2999 2961 +3 2948 2975 2963 +3 3258 2778 2777 +3 3224 2996 2940 +3 2315 2953 2778 +3 2972 3000 2975 +3 2939 2943 3242 +3 2939 3242 2938 +3 2548 3092 2943 +3 3242 2943 2941 +3 3258 2548 2315 +3 3258 2315 2778 +3 2893 2134 2171 +3 2957 2958 2942 +3 2991 2964 2043 +3 2053 2008 3149 +3 2960 3237 3003 +3 2959 2957 3083 +3 3226 3234 3003 +3 3092 3083 2957 +3 3303 3107 3087 +3 3303 3087 3103 +3 3247 2972 3063 +3 3103 3063 2973 +3 3092 2548 3258 +3 3247 2777 2972 +3 3092 3258 3247 +3 3083 3085 2959 +3 3003 3004 3226 +3 2963 3076 2947 +3 2966 2959 3085 +3 3107 3085 3081 +3 2552 2959 2967 +3 2971 2967 2968 +3 3000 2972 2777 +3 2919 2552 2758 +3 2302 2760 204 +3 3031 204 226 +3 2996 3003 3237 +3 2302 161 2008 +3 2266 2965 2760 +3 204 2760 226 +3 2049 2043 2269 +3 2760 2965 2958 +3 2008 163 2006 +3 2423 2570 92 +3 163 2986 90 +3 2006 90 2657 +3 2552 226 2760 +3 2006 163 90 +3 2266 2302 2008 +3 2053 3149 2049 +3 2760 2302 2266 +3 2053 2266 2008 +3 2269 2053 2049 +3 2049 3149 2670 +3 2670 2043 2049 +3 2053 2269 2266 +3 2965 2266 2269 +3 2965 2269 2043 +3 161 2986 163 +3 2928 3177 510 +3 3061 2991 3138 +3 2933 3138 2669 +3 3061 3059 2991 +3 3138 2991 2670 +3 2994 3074 2999 +3 2933 2928 530 +3 2132 2931 2134 +3 2895 2218 2894 +3 2931 2933 2171 +3 2777 2993 3000 +3 161 2302 204 +3 2940 2924 3224 +3 2958 2959 2552 +3 2171 2669 2350 +3 92 2914 2895 +3 163 2008 161 +3 3138 2933 530 +3 2931 2132 2916 +3 2132 13 2916 +3 2926 2936 2937 +3 3003 3234 3076 +3 2924 3059 1122 +3 3059 3061 1122 +3 1335 292 3469 +3 50 1012 996 +3 846 813 1335 +3 3475 50 996 +3 1561 646 49 +3 3469 292 240 +3 1373 49 646 +3 3469 240 229 +3 2073 1728 819 +3 1728 2073 302 +3 3499 1245 819 +3 1123 577 1064 +3 2097 1728 302 +3 302 2073 296 +3 3507 347 471 +3 1069 375 377 +3 3515 1225 1236 +3 302 305 3516 +3 395 3516 305 +3 1036 632 988 +3 841 806 846 +3 305 850 395 +3 828 832 374 +3 846 806 813 +3 819 806 2073 +3 462 632 315 +3 603 607 567 +3 411 351 379 +3 3538 1181 408 +3 1169 1416 495 +3 1416 1169 3539 +3 3541 502 1187 +3 3536 1081 625 +3 3546 411 379 +3 551 3551 3536 +3 268 1181 1187 +3 3552 51 3532 +3 3482 3553 3552 +3 516 1448 355 +3 381 3558 387 +3 620 1081 1442 +3 3558 3539 51 +3 1081 3536 3551 +3 632 600 603 +3 1036 988 1007 +3 1108 292 813 +3 1123 1236 1225 +3 1728 3499 819 +3 1181 268 286 +3 562 349 351 +3 595 361 449 +3 614 3553 3482 +3 996 462 3488 +3 562 351 411 +3 974 1047 508 +3 3553 614 620 +3 3488 3482 3552 +3 1747 3558 3553 +3 395 660 1225 +3 1433 3264 1442 +3 1442 1747 620 +3 268 3574 288 +3 595 355 1448 +3 3575 387 3264 +3 502 3541 1172 +3 590 320 429 +3 338 567 542 +3 988 996 1012 +3 334 3507 471 +3 726 542 577 +3 577 567 607 +3 655 347 340 +3 726 1225 660 +3 405 340 347 +3 1373 646 240 +3 1561 321 646 +3 305 1165 828 +3 1225 3515 395 +3 542 726 340 +3 408 3590 3538 +3 3591 302 3516 +3 3591 2097 302 +3 850 305 828 +3 3516 395 3515 +3 3594 614 3482 +3 516 454 3536 +3 996 3488 3532 +3 390 508 384 +3 3488 3594 3482 +3 347 3507 405 +3 3488 3552 3532 +3 3553 51 3552 +3 3475 996 3532 +3 632 462 988 +3 600 632 1036 +3 449 361 329 +3 371 361 590 +3 1172 495 502 +3 551 454 349 +3 551 3536 454 +3 590 3594 3488 +3 516 625 3594 +3 3590 408 3546 +3 3546 379 375 +3 361 371 368 +3 3590 3546 1149 +3 325 371 437 +3 1149 3546 375 +3 1187 1047 268 +3 551 349 562 +3 1448 516 3594 +3 625 516 3536 +3 449 355 595 +3 614 3594 625 +3 2073 806 1159 +3 2073 1159 296 +3 620 1747 3553 +3 3264 3558 1747 +3 3574 3551 288 +3 1436 1081 3551 +3 411 286 562 +3 288 562 286 +3 3594 590 1448 +3 3574 1436 3551 +3 325 3507 334 +3 3551 551 288 +3 1436 3574 974 +3 1747 1442 3264 +3 387 3558 3264 +3 3264 1433 3575 +3 3575 390 387 +3 390 3575 1433 +3 974 1433 1436 +3 1047 974 3574 +3 1416 381 384 +3 577 1123 726 +3 1416 3539 3558 +3 1047 1187 502 +3 1069 334 374 +3 3553 3558 51 +3 381 1416 3558 +3 312 338 534 +3 495 384 508 +3 590 3488 462 +3 312 534 405 +3 329 379 449 +3 1187 1190 3541 +3 3546 408 411 +3 1181 3538 1190 +3 329 334 377 +3 325 405 3507 +3 1433 974 390 +3 429 320 437 +3 3574 268 1047 +3 286 408 1181 +3 288 286 268 +3 305 302 296 +3 320 315 312 +3 334 329 325 +3 312 315 338 +3 355 351 349 +3 368 329 361 +3 325 368 371 +3 379 377 375 +3 387 384 381 +3 384 387 390 +3 405 325 312 +3 286 411 408 +3 379 329 377 +3 437 371 429 +3 449 351 355 +3 355 349 454 +3 315 320 462 +3 374 334 471 +3 508 502 495 +3 355 454 516 +3 542 534 338 +3 562 288 551 +3 577 542 567 +3 595 590 361 +3 607 603 600 +3 625 620 614 +3 603 315 632 +3 449 379 351 +3 340 660 655 +3 340 405 534 +3 660 340 726 +3 320 590 462 +3 374 471 655 +3 655 471 347 +3 819 813 806 +3 841 832 828 +3 660 395 850 +3 828 374 655 +3 903 607 600 +3 325 329 368 +3 534 542 340 +3 567 338 315 +3 508 390 974 +3 567 315 603 +3 996 988 462 +3 1012 1007 988 +3 850 655 660 +3 850 828 655 +3 903 600 1036 +3 502 508 1047 +3 1064 607 903 +3 377 334 1069 +3 903 1036 1007 +3 620 625 1081 +3 1089 1064 903 +3 1089 1096 1064 +3 813 819 1108 +3 1064 1096 1123 +3 607 1064 577 +3 375 1069 1149 +3 1165 296 1159 +3 495 1172 1169 +3 828 1165 1159 +3 1190 1187 1181 +3 841 1159 806 +3 305 296 1165 +3 1159 841 828 +3 1225 726 1123 +3 1236 1123 1096 +3 1245 1108 819 +3 229 646 321 +3 229 240 646 +3 1335 813 292 +3 437 312 325 +3 260 240 292 +3 240 260 1373 +3 292 1108 260 +3 312 437 320 +3 384 495 1416 +3 590 429 371 +3 1442 1436 1433 +3 1448 590 595 +3 1436 1442 1081 +3 1467 1464 1457 +3 1481 322 1473 +3 1492 1488 1484 +3 1458 1503 505 +3 1513 1511 1507 +3 1525 1101 1514 +3 505 979 1532 +3 1550 1547 1544 +3 1565 1555 436 +3 1576 1573 1568 +3 558 1582 7 +3 1591 4 1587 +3 1591 1587 1594 +3 1591 1594 505 +3 1594 1610 505 +3 583 1621 979 +3 713 722 1627 +3 1627 1634 1632 +3 1642 1640 1637 +3 1642 1637 1644 +3 1063 1659 1058 +3 1565 436 1672 +3 1677 1568 1573 +3 436 1692 464 +3 1699 1698 1697 +3 1704 1703 1702 +3 1704 1702 1706 +3 1702 1717 1706 +3 1717 1488 1720 +3 1722 1621 1721 +3 568 558 1723 +3 1725 1582 558 +3 1723 7 1722 +3 1735 1730 1729 +3 1492 1484 6 +3 1720 1740 1739 +3 1744 1743 1742 +3 1697 1703 1704 +3 1720 1735 1740 +3 1547 1550 1729 +3 1756 241 235 +3 1730 1464 1729 +3 1765 1544 239 +3 1771 1672 464 +3 1565 1772 1555 +3 1780 1777 1774 +3 1550 1739 1740 +3 1783 1756 235 +3 1774 1507 1525 +3 235 239 1783 +3 1101 1525 568 +3 1789 1783 1787 +3 1796 886 1791 +3 1803 1582 1799 +3 1742 1789 1806 +3 1467 1803 1799 +3 1803 1467 1457 +3 1743 1513 1812 +3 1642 1813 1640 +3 1817 1777 1814 +3 1742 1818 1744 +3 1823 1822 1610 +3 1825 1473 1621 +3 722 1644 1827 +3 1677 1831 1780 +3 1756 243 241 +3 1692 436 1555 +3 1568 1677 1780 +3 1513 1777 1857 +3 1514 1774 1525 +3 1774 1514 1780 +3 464 243 1771 +3 1698 464 1692 +3 1720 1488 1492 +3 1882 1492 6 +3 1740 1729 1550 +3 1885 1884 1699 +3 1739 1550 1765 +3 1765 1887 1739 +3 1885 1699 1887 +3 1887 1765 1885 +3 1796 322 886 +3 1730 1735 1882 +3 1735 1720 1492 +3 1729 1740 1735 +3 1706 1717 1720 +3 1725 1744 1818 +3 1698 1703 1697 +3 1739 1887 1706 +3 1706 1720 1739 +3 1812 1915 1789 +3 1884 235 241 +3 243 1698 1699 +3 1937 1672 1771 +3 241 243 1884 +3 1756 1771 243 +3 1884 243 1699 +3 235 1884 1885 +3 1544 1765 1550 +3 1973 1787 1544 +3 239 1544 1787 +3 1544 1547 1973 +3 1787 1783 239 +3 1937 1771 1756 +3 1885 239 235 +3 1729 1464 1547 +3 1573 1672 1677 +3 1937 1756 1915 +3 1799 1973 1467 +3 1725 2001 1511 +3 1857 1937 1915 +3 1725 1511 1744 +3 558 568 2007 +3 1915 1756 1783 +3 1783 1789 1915 +3 1796 1568 1514 +3 1723 1722 1721 +3 568 1721 1101 +3 558 7 1723 +3 1547 1464 1467 +3 1725 558 2001 +3 1514 1101 1796 +3 568 1525 2007 +3 2001 2007 2039 +3 1511 2001 2039 +3 1511 2039 1507 +3 1743 1511 1513 +3 1721 568 1723 +3 1744 1511 1743 +3 2007 2001 558 +3 1812 1742 1743 +3 1817 1857 1777 +3 1774 1777 1513 +3 1677 1672 1814 +3 1817 1937 1857 +3 1787 1806 1789 +3 1507 1774 1513 +3 322 1796 1101 +3 1857 1812 1513 +3 1915 1812 1857 +3 1777 1780 1831 +3 1817 1814 1937 +3 1101 1721 322 +3 1814 1672 1937 +3 1789 1742 1812 +3 1973 1799 1806 +3 1796 1791 1576 +3 1473 1721 1621 +3 1806 1818 1742 +3 1780 1514 1568 +3 1507 2039 2007 +3 1806 1787 1973 +3 2119 979 1621 +3 1467 1973 1547 +3 239 1885 1765 +3 1799 1582 1818 +3 1721 1473 322 +3 1818 1806 1799 +3 1822 2140 505 +3 1532 979 2119 +3 1503 4 1591 +3 1503 1591 505 +3 1722 1532 2119 +3 1722 2119 1621 +3 2140 979 505 +3 1458 505 1532 +3 1640 1822 1823 +3 1823 1610 1594 +3 1813 2140 1822 +3 1610 1822 505 +3 583 1481 1825 +3 583 1825 1621 +3 1093 1481 583 +3 1825 1481 1473 +3 886 1093 713 +3 2140 583 979 +3 1207 1791 713 +3 1207 1627 1632 +3 886 1481 1093 +3 1207 713 1627 +3 713 1093 722 +3 1640 1813 1822 +3 1058 1576 1063 +3 1063 1207 1632 +3 322 1481 886 +3 1791 886 713 +3 1831 1677 1814 +3 1831 1814 1777 +3 1207 1576 1791 +3 1568 1796 1576 +3 1627 1827 1634 +3 2007 1525 1507 +3 1699 1697 1704 +3 1207 1063 1576 +3 2390 1565 1659 +3 1573 1659 1672 +3 1058 1659 1573 +3 1058 1573 1576 +3 1698 243 464 +3 436 464 1672 +3 2426 1772 1565 +3 1659 1565 1672 +3 2426 1565 2390 +3 2426 1632 1634 +3 1492 1882 1735 +3 2390 1632 2426 +3 1887 1699 1704 +3 1627 722 1827 +3 1632 1659 1063 +3 722 1642 1644 +3 1632 2390 1659 +3 1704 1706 1887 +3 1642 722 1093 +3 1093 583 1642 +3 583 2140 1642 +3 2140 1813 1642 +3 1818 1582 1725 +3 2500 2498 76 +3 540 1582 2128 +3 715 2605 2602 +3 2620 2617 2615 +3 2421 1822 2140 +3 715 2638 2636 +3 2644 2642 2641 +3 2655 2644 2217 +3 791 2655 816 +3 2636 1325 989 +3 791 2578 2667 +3 2578 2299 2667 +3 2651 2680 2569 +3 2693 2690 2688 +3 720 2694 2638 +3 989 1365 2605 +3 944 2705 940 +3 2602 2605 2709 +3 2626 2714 2629 +3 2626 2716 2714 +3 2723 2491 1817 +3 2727 2723 2334 +3 2145 2731 2147 +3 2716 2734 2732 +3 2738 2736 2735 +3 2736 1307 2735 +3 982 2739 984 +3 984 2739 2741 +3 2741 2739 2700 +3 1307 79 1564 +3 1564 2735 1307 +3 1453 335 2753 +3 2763 507 2411 +3 2767 2128 2765 +3 2641 2421 1234 +3 610 2771 970 +3 1453 322 2744 +3 715 989 2605 +3 2785 940 885 +3 885 2787 2694 +3 2299 2578 824 +3 1822 2794 2140 +3 2798 2299 503 +3 816 2578 791 +3 2801 2763 2800 +3 816 824 2578 +3 322 2773 330 +3 989 1325 503 +3 1796 2744 322 +3 533 2126 2224 +3 2147 2825 2145 +3 2830 2547 2826 +3 2833 2765 1818 +3 1549 984 2741 +3 2343 2690 2693 +3 2688 2147 2836 +3 1541 2491 2838 +3 76 2843 2842 +3 1818 2569 1742 +3 2850 2738 2249 +3 2852 2651 2569 +3 2838 610 1541 +3 2723 2727 2858 +3 2709 970 2771 +3 2680 2651 2723 +3 2629 2652 2734 +3 583 574 1825 +3 2889 2647 2392 +3 2734 2626 2629 +3 1582 2842 2892 +3 2732 2734 2652 +3 2753 2801 2898 +3 2754 2744 1568 +3 2795 2066 2907 +3 2898 1473 2753 +3 2319 574 494 +3 503 2299 824 +3 2731 2930 984 +3 2140 2794 2934 +3 1473 1825 2319 +3 2623 2140 2934 +3 2620 2615 2934 +3 2615 2617 75 +3 1365 2491 1541 +3 2651 2852 2334 +3 2319 2983 2773 +3 1677 2491 2754 +3 533 2773 2500 +3 322 1453 1473 +3 2830 2157 2547 +3 2796 1817 1814 +3 2157 2128 2767 +3 2773 2498 2500 +3 533 540 2126 +3 1825 3032 583 +3 2983 2319 598 +3 2732 1716 1564 +3 3050 2838 3048 +3 3056 3053 2693 +3 2731 3058 3057 +3 3056 2727 3053 +3 3058 3050 3057 +3 2602 2785 720 +3 2852 2892 2334 +3 2421 2140 1227 +3 3057 2147 2731 +3 2858 3080 2723 +3 2795 1677 1568 +3 2680 1817 1857 +3 3095 2842 2843 +3 1857 2569 2680 +3 2843 2147 3095 +3 3080 3048 2838 +3 1857 3109 2826 +3 2688 3056 2693 +3 1579 2428 1549 +3 2491 1814 1817 +3 2688 3128 3056 +3 3131 2709 2605 +3 3058 2838 3050 +3 3048 3080 2858 +3 2858 3056 3048 +3 3080 2491 2723 +3 2852 2569 1818 +3 2858 2727 3056 +3 1818 1582 2852 +3 2605 1365 3131 +3 3057 3050 3128 +3 2343 2334 2892 +3 2836 3057 3128 +3 2147 3057 2836 +3 2688 2836 3128 +3 2690 2842 3095 +3 2690 3095 2688 +3 3095 2147 2688 +3 2838 2491 3080 +3 2147 2843 2825 +3 2741 1579 1549 +3 2731 2145 3187 +3 3192 2392 2647 +3 2731 3187 2930 +3 982 984 2930 +3 2744 2754 1453 +3 2249 2741 2700 +3 507 503 2411 +3 2850 2249 2700 +3 2140 574 583 +3 2652 2392 2732 +3 2754 2491 1429 +3 2249 1716 1579 +3 2771 610 1549 +3 3192 2771 1549 +3 2838 3058 610 +3 2428 2398 3192 +3 2892 2852 1582 +3 2651 2334 2723 +3 2771 3192 2709 +3 2428 1579 1716 +3 1541 970 3131 +3 1541 3131 1365 +3 2343 2693 3053 +3 970 1541 610 +3 2343 3053 2727 +3 3032 2800 1227 +3 3131 970 2709 +3 1564 2716 2732 +3 2690 2343 2892 +3 944 940 3097 +3 428 2705 944 +3 3097 2889 2652 +3 3192 1549 2428 +3 2629 428 3097 +3 2398 2732 2392 +3 720 2785 885 +3 2140 583 1227 +3 2787 885 940 +3 940 2705 2787 +3 2735 1564 1716 +3 428 944 3097 +3 428 2629 2714 +3 2716 2626 2734 +3 2652 2629 3097 +3 2224 2907 2066 +3 2066 330 2224 +3 507 2491 503 +3 2652 2889 2392 +3 1227 583 3032 +3 2249 2738 2735 +3 2249 2735 1716 +3 989 2491 1365 +3 2334 2343 2727 +3 1817 2680 2723 +3 1429 335 2754 +3 2709 3192 2602 +3 335 1453 2754 +3 330 2773 533 +3 2411 2800 2763 +3 1473 2898 3391 +3 1568 2066 2795 +3 3032 1825 3391 +3 2907 3109 2795 +3 2801 3032 2898 +3 2217 2641 1273 +3 3391 1825 1473 +3 533 2224 330 +3 2638 715 720 +3 1429 2753 335 +3 2798 1325 2636 +3 2140 2623 574 +3 2066 1568 1796 +3 1325 2798 503 +3 2898 3032 3391 +3 2641 1234 1273 +3 3192 2398 2392 +3 824 1273 1345 +3 503 1345 2411 +3 824 1345 503 +3 503 2491 989 +3 2800 3032 2801 +3 2623 2934 494 +3 1564 79 2716 +3 816 2217 824 +3 2641 2217 2644 +3 2754 1568 1677 +3 2794 2617 2620 +3 2794 2620 2934 +3 2753 1429 2801 +3 3109 1817 2796 +3 1429 2491 507 +3 1273 1234 2411 +3 2796 2795 3109 +3 1345 1273 2411 +3 574 2623 494 +3 2319 494 598 +3 1429 507 2763 +3 574 2319 1825 +3 1429 2763 2801 +3 494 2934 598 +3 598 2615 75 +3 1796 330 2066 +3 940 2785 2889 +3 1227 1234 2421 +3 1234 1227 2800 +3 2934 2615 598 +3 2983 598 75 +3 2773 322 1473 +3 2491 1677 1814 +3 3128 3048 3056 +3 2785 2647 2889 +3 2800 2411 1234 +3 2744 1796 1568 +3 1473 2319 2773 +3 1677 2795 2796 +3 1812 1742 2569 +3 1677 2796 1814 +3 2732 2398 2428 +3 2830 2826 2907 +3 2732 2428 1716 +3 2889 3097 940 +3 1453 2753 1473 +3 720 715 2602 +3 2983 2498 2773 +3 1812 2826 2547 +3 2833 2157 2767 +3 2569 1857 1812 +3 1742 1812 2547 +3 1742 2547 2833 +3 1742 2833 1818 +3 76 2842 1582 +3 76 1582 2500 +3 1273 824 2217 +3 2765 2833 2767 +3 1582 1818 2765 +3 1582 2765 2128 +3 2126 2157 2830 +3 2547 2157 2833 +3 2128 2157 2126 +3 3109 1857 1817 +3 3048 3128 3050 +3 1812 1857 2826 +3 2907 2826 3109 +3 2647 2602 3192 +3 2224 2830 2907 +3 330 1796 322 +3 540 2128 2126 +3 2224 2126 2830 +3 2500 1582 540 +3 2500 540 533 +3 2642 1822 2421 +3 2636 989 715 +3 2217 816 2655 +3 2694 720 885 +3 2421 2641 2642 +3 2785 2602 2647 +3 984 1549 610 +3 3058 2731 984 +3 984 610 3058 +3 2892 2842 2690 +3 1579 2741 2249 +3 2997 3376 3715 +3 191 187 247 +3 453 3726 447 +3 216 213 354 +3 3731 473 3729 +3 1906 367 333 +3 3735 3731 3729 +3 3068 470 473 +3 470 487 493 +3 470 3068 487 +3 3741 3740 465 +3 3740 3741 506 +3 2806 3241 3744 +3 3753 3602 3748 +3 3759 3758 3419 +3 3419 3403 3761 +3 3418 2956 3602 +3 179 254 262 +3 478 2997 3771 +3 3761 3481 3419 +3 1017 799 2701 +3 799 3788 2701 +3 3431 78 1154 +3 3799 342 3747 +3 987 3804 283 +3 242 1033 225 +3 413 348 352 +3 3795 481 487 +3 3806 74 443 +3 213 267 354 +3 166 190 191 +3 457 1906 465 +3 352 363 420 +3 3747 342 299 +3 413 73 203 +3 3741 323 307 +3 323 3741 333 +3 2890 1386 3078 +3 3788 78 2701 +3 1070 2857 1017 +3 3418 2806 2956 +3 3748 532 2013 +3 1154 3799 3747 +3 3759 3418 3753 +3 1386 2890 1143 +3 3418 3419 3241 +3 3758 3403 3419 +3 3480 3744 3241 +3 1017 3761 799 +3 3748 3602 532 +3 2956 1941 460 +3 3900 3897 3376 +3 3903 3902 3901 +3 3753 3418 3602 +3 275 307 323 +3 460 465 3740 +3 307 3804 481 +3 3916 3376 3897 +3 3920 470 987 +3 3923 3715 3922 +3 3924 74 3806 +3 3928 173 252 +3 3901 74 3924 +3 283 1192 987 +3 3923 3726 3771 +3 242 191 247 +3 179 234 183 +3 1906 457 290 +3 262 258 179 +3 367 352 354 +3 206 348 203 +3 221 216 206 +3 190 73 187 +3 261 273 211 +3 333 465 1906 +3 299 342 294 +3 3799 73 342 +3 267 367 354 +3 465 333 3741 +3 352 420 413 +3 363 294 420 +3 3419 3480 3241 +3 523 3602 2956 +3 3418 3759 3419 +3 3481 3744 3480 +3 2857 2890 3744 +3 3419 3481 3480 +3 2857 3744 3481 +3 1070 1017 2701 +3 2857 3481 1017 +3 3431 1070 2701 +3 3481 3761 1017 +3 1143 3431 1154 +3 2701 78 3431 +3 3747 1143 1154 +3 1070 3431 1143 +3 3241 2806 3418 +3 2806 2062 1941 +3 3744 3078 2806 +3 2890 1070 1143 +3 3744 2890 3078 +3 2857 1070 2890 +3 2064 2062 1380 +3 1941 457 460 +3 457 1941 2064 +3 1380 299 2064 +3 3078 2062 2806 +3 3747 299 1380 +3 523 3740 513 +3 363 290 294 +3 513 3740 506 +3 290 363 1906 +3 3741 307 506 +3 310 4031 256 +3 2806 1941 2956 +3 2062 2064 1941 +3 2062 3078 1386 +3 1380 1386 3747 +3 3747 1386 1143 +3 1386 1380 2062 +3 1324 2013 513 +3 478 3900 2997 +3 1324 513 3795 +3 3897 3900 3920 +3 1324 3748 2013 +3 513 499 3795 +3 506 307 499 +3 499 481 3795 +3 499 307 481 +3 523 460 3740 +3 481 3804 493 +3 2956 460 523 +3 4056 3726 453 +3 4057 3729 4056 +3 4057 3735 3729 +3 3376 2997 3900 +3 3771 3715 3923 +3 3806 447 3726 +3 3715 3771 2997 +3 473 3731 3068 +3 3806 443 447 +3 210 323 267 +3 4067 4066 4065 +3 1033 242 250 +3 3729 3771 3726 +3 172 1192 176 +3 254 176 1192 +3 290 2064 299 +3 478 3920 3900 +3 176 254 256 +3 3922 3120 3118 +3 3923 3924 3806 +3 3903 3901 3924 +3 3923 3922 3924 +3 3715 3120 3922 +3 3928 3120 3916 +3 221 153 234 +3 3715 3376 3120 +3 3897 4067 4065 +3 3916 4065 173 +3 4065 172 173 +3 3928 3916 173 +3 3120 3376 3916 +3 3916 3897 4065 +3 267 333 367 +3 2064 290 457 +3 367 1906 363 +3 1192 172 987 +3 172 4065 4066 +3 3920 4067 3897 +3 987 470 493 +3 470 3920 478 +3 4066 987 172 +3 310 835 4104 +3 3726 3923 3806 +3 3920 4066 4067 +3 3920 987 4066 +3 3112 252 4031 +3 3729 3726 4056 +3 3112 3928 252 +3 835 310 181 +3 3118 3928 3112 +3 3118 3120 3928 +3 3111 3118 3112 +3 3903 3922 3118 +3 3922 3903 3924 +3 3111 3902 3903 +3 3118 3111 3903 +3 3112 3902 3111 +3 4031 3901 3902 +3 250 74 3901 +3 3112 4031 3902 +3 532 513 2013 +3 252 256 4031 +3 3602 523 532 +3 3771 473 478 +3 1033 250 4104 +3 3771 3729 473 +3 4104 3901 310 +3 4104 250 3901 +3 247 74 250 +3 835 1033 4104 +3 225 835 183 +3 4031 310 3901 +3 254 179 181 +3 307 283 3804 +3 181 183 835 +3 835 225 1033 +3 1192 262 254 +3 3804 987 493 +3 256 252 176 +3 261 262 283 +3 262 1192 283 +3 168 166 153 +3 176 173 172 +3 183 181 179 +3 191 190 187 +3 197 73 190 +3 168 197 190 +3 203 73 197 +3 168 206 197 +3 213 211 210 +3 221 219 216 +3 183 153 225 +3 153 183 234 +3 221 206 168 +3 242 166 191 +3 166 225 153 +3 250 242 247 +3 173 176 252 +3 181 256 254 +3 219 234 258 +3 225 166 242 +3 258 211 219 +3 258 262 261 +3 211 258 261 +3 234 219 221 +3 213 210 267 +3 166 168 190 +3 273 210 211 +3 273 275 210 +3 261 275 273 +3 261 283 275 +3 234 179 258 +3 299 294 290 +3 307 275 283 +3 256 181 310 +3 323 210 275 +3 333 267 323 +3 153 221 168 +3 342 73 294 +3 354 352 348 +3 367 363 352 +3 348 216 354 +3 219 211 213 +3 206 216 348 +3 219 213 216 +3 206 203 197 +3 420 294 413 +3 348 413 203 +3 294 73 413 +3 453 447 443 +3 465 460 457 +3 478 473 470 +3 493 487 481 +3 513 506 499 +3 532 523 513 +3 557 549 541 +3 576 571 564 +3 602 594 589 +3 623 618 610 +3 641 637 633 +3 659 557 645 +3 678 674 669 +3 689 564 571 +3 708 705 699 +3 633 637 43 +3 602 733 723 +3 747 744 740 +3 669 757 753 +3 774 770 763 +3 795 788 770 +3 795 802 788 +3 834 823 817 +3 859 851 843 +3 859 874 867 +3 851 823 882 +3 901 899 892 +3 774 906 905 +3 922 919 914 +3 723 929 753 +3 943 938 937 +3 963 958 950 +3 958 970 950 +3 986 984 982 +3 1005 999 995 +3 1019 1015 557 +3 1051 622 1025 +3 1062 1057 1051 +3 1057 622 1051 +3 1088 622 1057 +3 1102 1094 1091 +3 1102 1091 1107 +3 1091 47 1107 +3 669 674 1133 +3 1025 705 618 +3 1166 678 1161 +3 1174 541 1170 +3 1182 1179 1176 +3 541 1174 645 +3 1205 1202 1196 +3 594 744 1210 +3 549 557 1015 +3 817 851 859 +3 1246 1170 541 +3 905 906 1179 +3 1205 1265 1259 +3 1294 1291 1045 +3 1304 1202 689 +3 929 1161 753 +3 1210 1304 1319 +3 963 950 922 +3 1170 1294 1333 +3 674 659 1133 +3 1045 1361 1294 +3 1389 1383 1246 +3 1400 633 43 +3 557 659 1019 +3 1333 564 1202 +3 645 557 541 +3 623 1051 1025 +3 757 669 1196 +3 867 874 1440 +3 633 1176 641 +3 1019 1182 1454 +3 774 905 770 +3 1479 905 1166 +3 905 1179 1166 +3 1304 1210 744 +3 882 901 892 +3 899 1498 42 +3 867 817 859 +3 1498 899 901 +3 1051 623 1206 +3 1479 843 802 +3 1528 602 723 +3 42 1498 978 +3 978 1498 937 +3 699 834 708 +3 1015 1454 1400 +3 914 1548 922 +3 963 922 1548 +3 950 919 922 +3 1563 963 1548 +3 1563 958 963 +3 970 610 1575 +3 1166 1179 678 +3 1088 1102 1107 +3 1088 1057 1102 +3 1094 1057 1062 +3 1094 1102 1057 +3 1607 699 705 +3 610 999 1575 +3 1606 623 1025 +3 986 999 610 +3 1015 1019 1454 +3 1206 1062 1051 +3 740 744 602 +3 1606 618 623 +3 1658 719 1196 +3 576 1361 1664 +3 753 1528 723 +3 1528 740 602 +3 1686 721 719 +3 1548 1673 589 +3 1356 867 1440 +3 1548 914 1673 +3 867 1356 800 +3 1176 1454 1182 +3 1668 1673 914 +3 1736 571 1734 +3 1736 689 571 +3 1304 747 1202 +3 1304 744 747 +3 602 1673 733 +3 1361 576 1294 +3 1664 1734 576 +3 1205 1259 1174 +3 1259 645 1174 +3 1333 1174 1170 +3 1174 1333 1205 +3 549 1246 541 +3 1383 1045 1246 +3 1767 1015 1400 +3 43 1383 1389 +3 1196 669 1658 +3 43 1389 1767 +3 1767 1400 43 +3 1400 1454 633 +3 1161 669 753 +3 906 774 1782 +3 1668 733 1673 +3 1265 721 1259 +3 719 721 1265 +3 1319 689 1736 +3 721 645 1259 +3 674 678 1182 +3 1196 719 1205 +3 689 1319 1304 +3 1202 747 740 +3 719 1265 1205 +3 576 564 1294 +3 733 1668 999 +3 1294 564 1333 +3 564 689 1202 +3 1196 1202 740 +3 1294 1170 1291 +3 1838 1196 740 +3 1838 757 1196 +3 1863 1861 1782 +3 1133 1658 669 +3 757 1528 753 +3 1838 740 1528 +3 874 1161 929 +3 1838 1528 757 +3 1202 1205 1333 +3 1479 1166 874 +3 1686 1658 1133 +3 1686 719 1658 +3 659 1686 1133 +3 1206 623 610 +3 1025 618 1606 +3 984 618 705 +3 618 984 610 +3 1782 1861 906 +3 1863 637 1861 +3 795 905 1479 +3 1861 637 641 +3 641 906 1861 +3 641 1176 906 +3 1454 1176 633 +3 906 1176 1179 +3 1782 774 763 +3 1673 602 589 +3 1179 1182 678 +3 905 795 770 +3 874 1166 1161 +3 1291 1246 1045 +3 1170 1246 1291 +3 823 834 966 +3 1182 1019 674 +3 1479 802 795 +3 817 800 834 +3 851 817 823 +3 882 823 901 +3 1498 901 966 +3 659 674 1019 +3 929 1440 874 +3 1161 678 669 +3 1440 929 733 +3 1686 645 721 +3 1356 1998 800 +3 571 576 1734 +3 733 929 723 +3 733 1005 1440 +3 1005 1356 1440 +3 1005 995 1356 +3 800 817 867 +3 1356 995 1998 +3 733 999 1005 +3 1668 919 1575 +3 645 1686 659 +3 610 984 986 +3 1575 999 1668 +3 1206 610 970 +3 919 1668 914 +3 950 1575 919 +3 705 982 984 +3 843 1479 874 +3 834 800 708 +3 708 800 1998 +3 943 699 938 +3 699 966 834 +3 1498 966 943 +3 966 901 823 +3 937 1498 943 +3 874 859 843 +3 943 966 699 +3 1389 549 1767 +3 549 1389 1246 +3 1015 1767 549 +3 744 594 602 +3 705 1025 1607 +3 986 995 999 +3 982 1998 986 +3 705 1998 982 +3 986 1998 995 +3 1575 950 970 +3 1998 705 708 +3 699 1607 938 +3 2134 2133 2132 +3 2136 2135 2134 +3 2148 1162 2137 +3 2137 2152 2148 +3 2165 2162 2158 +3 2167 2148 2152 +3 2173 2134 2171 +3 2183 2071 2176 +3 2134 2173 2186 +3 2133 2134 2186 +3 2071 2195 1938 +3 2202 2200 2199 +3 2206 2205 2176 +3 2212 2210 2209 +3 2177 2219 2020 +3 2232 1244 1249 +3 2240 477 64 +3 174 65 1810 +3 174 1810 170 +3 2269 2268 2266 +3 1308 2183 2271 +3 2281 2280 2277 +3 2289 214 2283 +3 205 214 2289 +3 2302 214 205 +3 2020 2308 2177 +3 1931 1938 2195 +3 2316 2195 2232 +3 2329 2324 1509 +3 1024 1922 2057 +3 2057 1290 1024 +3 1285 2397 2394 +3 415 1321 1526 +3 423 415 1526 +3 1290 2148 2167 +3 2440 2133 2186 +3 2440 2186 2202 +3 2450 2210 2444 +3 2134 2346 2171 +3 2071 477 2195 +3 2444 2158 2162 +3 477 2240 2195 +3 2186 2173 2477 +3 2183 1308 2480 +3 2493 2492 2490 +3 2266 214 2302 +3 2397 1285 1290 +3 1290 2057 2397 +3 2205 2519 2176 +3 2302 2277 2266 +3 1249 1244 64 +3 1934 2316 2536 +3 214 2266 2542 +3 1020 2324 1922 +3 2158 2444 2560 +3 2567 2566 2564 +3 2571 2564 2566 +3 2579 2329 1613 +3 1832 264 2542 +3 2542 217 214 +3 2619 2566 2206 +3 2346 2422 2171 +3 2346 2631 2630 +3 2271 2176 2519 +3 2664 1327 1837 +3 2668 2666 2665 +3 2441 2670 2669 +3 2542 2268 1832 +3 2695 217 2052 +3 2450 2490 2492 +3 2490 2450 2162 +3 1300 2271 2519 +3 217 2542 264 +3 2195 1244 2232 +3 170 264 1832 +3 1285 1162 2148 +3 2271 1300 1308 +3 2394 520 1285 +3 2077 69 2086 +3 1020 1707 1509 +3 2150 2167 2081 +3 2212 2209 2670 +3 1327 2600 2582 +3 2669 2493 2171 +3 170 2052 264 +3 2762 2579 2567 +3 2312 2600 1299 +3 1613 1486 2770 +3 1024 1290 2167 +3 1613 2780 1608 +3 1526 2480 1529 +3 2085 2582 2600 +3 2175 2077 2086 +3 2175 1837 2582 +3 2600 1327 1299 +3 2152 2081 2167 +3 2175 1468 1837 +3 2813 1638 2071 +3 1244 2240 64 +3 2177 2762 2193 +3 264 2052 217 +3 2824 2466 2464 +3 2219 2193 2464 +3 2195 2316 1931 +3 2144 2150 2312 +3 1934 2536 2461 +3 2466 2461 2560 +3 2824 2461 2466 +3 2464 2466 2560 +3 2824 2849 2564 +3 2560 2461 2536 +3 2162 2165 2851 +3 2193 2849 2464 +3 2849 2567 2564 +3 2762 2849 2193 +3 2849 2824 2464 +3 2219 2444 2210 +3 2695 1810 2877 +3 2695 2877 2283 +3 2308 2762 2177 +3 2444 2162 2450 +3 2232 1249 2199 +3 1839 1832 2268 +3 2268 2542 2266 +3 2206 2071 1938 +3 2210 2450 2209 +3 2900 2490 2851 +3 2020 2266 2277 +3 2477 2900 2851 +3 2490 2900 2493 +3 2200 2477 2851 +3 1024 2167 2150 +3 2206 1938 2910 +3 2493 2173 2171 +3 2136 2134 2132 +3 1608 2519 2912 +3 2492 2669 2670 +3 2135 2346 2134 +3 2666 2668 2422 +3 2135 2631 2346 +3 1299 2929 2780 +3 2912 2579 1613 +3 2441 2668 1832 +3 2176 2271 2183 +3 2670 2209 2492 +3 2536 2316 2158 +3 2493 2669 2492 +3 2441 2669 2422 +3 2666 2422 2346 +3 2979 2665 2666 +3 2630 2666 2346 +3 174 2665 2979 +3 2630 2979 2666 +3 2630 65 174 +3 2630 174 2979 +3 1810 2052 170 +3 174 170 2665 +3 2219 2177 2193 +3 170 2668 2665 +3 1934 2571 2619 +3 2668 2441 2422 +3 2212 2049 2185 +3 2210 2212 2219 +3 2162 2851 2490 +3 2268 2269 1839 +3 2212 2020 2219 +3 1613 2329 1509 +3 2519 2205 2912 +3 2280 2308 2277 +3 2302 2281 2277 +3 2477 2200 2186 +3 2283 214 2695 +3 1810 2695 2052 +3 2049 2212 2670 +3 2185 2269 2020 +3 2664 2929 1327 +3 2049 1839 2269 +3 2277 2308 2020 +3 2266 2020 2269 +3 2780 1500 1299 +3 2492 2209 2450 +3 2049 2269 2185 +3 2200 2202 2186 +3 2212 2185 2020 +3 217 2695 214 +3 2579 2308 2329 +3 2071 2183 2813 +3 2664 1300 2929 +3 1837 423 2664 +3 1162 1285 520 +3 1922 1024 1020 +3 2165 2232 2851 +3 2571 1934 2461 +3 2206 2910 2619 +3 2619 1931 1934 +3 2176 2071 2206 +3 2910 1938 1931 +3 2910 1931 2619 +3 1931 2316 1934 +3 2564 2461 2824 +3 2762 2308 2579 +3 2912 2566 2567 +3 2171 2422 2669 +3 2567 2579 2912 +3 2461 2564 2571 +3 2619 2571 2566 +3 2324 1020 1509 +3 2444 2219 2464 +3 1024 1707 1020 +3 1469 520 2394 +3 2668 170 1832 +3 1469 501 520 +3 1290 1285 2148 +3 520 3245 1162 +3 2912 1613 1608 +3 2150 1707 1024 +3 2670 1839 2049 +3 1707 2150 2144 +3 1707 2144 1486 +3 423 1526 2664 +3 2849 2762 2567 +3 2519 1608 1300 +3 2232 2165 2316 +3 1308 2664 1529 +3 2312 1500 2144 +3 1300 1608 2929 +3 1613 2770 2780 +3 1608 2780 2929 +3 1486 2144 1500 +3 1486 1500 2770 +3 2600 2312 2081 +3 1162 1156 2137 +3 2600 2081 2085 +3 1162 3245 1156 +3 1500 2312 1299 +3 1509 1707 1613 +3 2158 2316 2165 +3 1707 1486 1613 +3 1308 1300 2664 +3 1526 1321 2480 +3 2081 2312 2150 +3 1321 2813 2480 +3 520 501 3245 +3 2670 2441 1839 +3 1308 1529 2480 +3 1321 415 1638 +3 2441 1832 1839 +3 2560 2536 2158 +3 2900 2477 2173 +3 1638 415 3373 +3 2664 1526 1529 +3 2079 2582 2085 +3 2152 2085 2081 +3 1468 423 1837 +3 1468 2175 2086 +3 2173 2493 2900 +3 1837 1327 2582 +3 3373 477 2071 +3 3373 2071 1638 +3 2813 1321 1638 +3 2780 2770 1500 +3 2079 2077 2175 +3 2079 2175 2582 +3 2085 3395 2079 +3 2077 1156 69 +3 3400 2077 2079 +3 3395 2085 2152 +3 3400 2079 3395 +3 1156 3245 69 +3 3395 2152 2137 +3 3395 3401 3400 +3 3395 2137 3401 +3 3401 1156 2077 +3 2137 1156 3401 +3 3400 3401 2077 +3 2232 2199 2200 +3 2200 2851 2232 +3 2929 1299 1327 +3 2195 2240 1244 +3 2444 2464 2560 +3 2205 2206 2566 +3 2566 2912 2205 +3 2480 2813 2183 +3 2998 3409 74 +3 3081 3410 291 +3 3411 75 2875 +3 3414 3001 3412 +3 3417 3416 3415 +3 3422 3420 3415 +3 3426 3417 3424 +3 3422 3428 3427 +3 3428 3429 3427 +3 3433 845 3181 +3 3197 3435 3434 +3 2414 3436 120 +3 3436 2957 3083 +3 3447 3445 3444 +3 3433 3452 845 +3 3417 3426 3455 +3 3462 3424 3460 +3 3455 3416 3417 +3 3166 3463 3429 +3 3166 3466 3463 +3 3466 3166 3445 +3 3471 3466 3470 +3 2342 3473 3472 +3 3478 2327 2331 +3 3491 2550 2661 +3 2550 3491 3409 +3 3460 3412 3462 +3 3452 1023 1180 +3 1023 74 247 +3 845 1180 3501 +3 3505 3501 247 +3 187 3505 247 +3 187 3512 3505 +3 2958 3471 2957 +3 2327 2342 3472 +3 3522 3414 3460 +3 3420 3522 3523 +3 3455 3473 3416 +3 3526 3462 3412 +3 3528 3424 3462 +3 2957 3436 2367 +3 3168 3534 3435 +3 3168 2331 2335 +3 3415 3523 3417 +3 3462 3542 3528 +3 3544 3433 3543 +3 3543 3534 2661 +3 3544 1023 3452 +3 3550 3197 3434 +3 2380 3166 3416 +3 3435 3197 3555 +3 3534 3543 3434 +3 3436 2414 2367 +3 120 3081 291 +3 3563 3562 2367 +3 3563 2367 2414 +3 2367 3562 2427 +3 121 2414 120 +3 3445 3447 3568 +3 3107 3410 3081 +3 2957 2367 2958 +3 3416 3473 2380 +3 3571 3444 3445 +3 3555 3197 3447 +3 3444 3571 3478 +3 3444 3478 3555 +3 3181 2648 3573 +3 3571 2342 2327 +3 3478 3168 3555 +3 3534 3434 3435 +3 3168 3435 3555 +3 3543 3550 3434 +3 2380 2342 3579 +3 2380 3579 3445 +3 2327 3478 3571 +3 3579 3571 3445 +3 3473 2342 2380 +3 3166 2380 3445 +3 3166 3429 3428 +3 3166 3428 3416 +3 3424 3528 3426 +3 3428 3415 3416 +3 3523 3415 3420 +3 3523 3460 3424 +3 3412 3460 3414 +3 3412 3353 3526 +3 3542 3462 3526 +3 3424 3417 3523 +3 2331 3168 3478 +3 3353 3356 3526 +3 3605 3083 3470 +3 3353 75 3411 +3 3356 3411 2875 +3 3353 3411 3356 +3 3526 3356 2875 +3 3409 2998 2550 +3 3571 3579 2342 +3 3181 3197 3550 +3 2661 3350 3491 +3 3628 2335 2331 +3 2331 3630 3628 +3 2550 3544 3543 +3 2648 291 3573 +3 3605 3568 3640 +3 2335 3628 3350 +3 3568 3605 3470 +3 3350 2661 2335 +3 3181 845 2648 +3 3550 3433 3181 +3 3640 3568 3447 +3 3447 3652 3640 +3 3568 3466 3445 +3 3544 3452 3433 +3 3543 3433 3550 +3 3543 2661 2550 +3 3501 3505 900 +3 2998 74 3544 +3 2998 3544 2550 +3 3544 74 1023 +3 1180 1023 3501 +3 3452 1180 845 +3 900 3505 3679 +3 1023 247 3501 +3 845 3501 900 +3 3640 3107 3081 +3 3652 3573 3107 +3 3534 2335 2661 +3 3107 3640 3652 +3 2327 3472 3630 +3 3447 3444 3555 +3 3197 3181 3652 +3 3630 2331 2327 +3 3470 3466 3568 +3 3083 3605 3081 +3 3640 3081 3605 +3 2648 845 120 +3 3081 120 3083 +3 291 2648 120 +3 3652 3447 3197 +3 3436 3083 120 +3 3573 291 3410 +3 3573 3652 3181 +3 3410 3107 3573 +3 2957 3470 3083 +3 3471 3470 2957 +3 2958 2367 2427 +3 3757 3679 3505 +3 3512 187 73 +3 3757 3505 3512 +3 3757 3512 73 +3 3001 75 3353 +3 3415 3428 3422 +3 2414 121 3563 +3 3460 3523 3522 +3 3526 2875 3542 +3 3353 3412 3001 +3 120 845 900 +3 120 900 121 +3 2335 3534 3168 +3 3458 3797 3796 +3 508 3805 3127 +3 1096 6 276 +3 3809 3808 1894 +3 3814 429 3810 +3 3816 381 3815 +3 3820 371 368 +3 3825 3823 3821 +3 3129 3127 3827 +3 3832 276 3831 +3 3835 3834 3129 +3 3836 3825 3835 +3 3838 3837 2351 +3 867 3836 859 +3 607 1064 276 +3 2351 3837 2573 +3 3844 2573 3843 +3 3846 3843 3845 +3 3846 3845 2 +3 3848 3847 6 +3 3852 3851 3848 +3 3852 3853 3851 +3 3852 3857 3853 +3 3860 3858 3857 +3 3865 3864 2640 +3 3868 3867 3866 +3 2640 3864 2250 +3 3871 3867 3868 +3 3805 508 384 +3 411 3474 379 +3 1360 3877 1487 +3 867 3879 3823 +3 3838 867 859 +3 1064 607 3852 +3 3844 2351 2573 +3 3846 3844 3843 +3 411 3596 286 +3 1786 1795 3892 +3 867 3823 3836 +3 3879 3821 3823 +3 3816 384 381 +3 3899 329 365 +3 3904 3151 3892 +3 3906 3892 1795 +3 3465 3909 3159 +3 3860 3857 3852 +3 3904 3910 3797 +3 3899 3596 379 +3 3917 358 3913 +3 1893 3921 1894 +3 3860 607 603 +3 3930 3831 3868 +3 1893 329 379 +3 3809 1894 3921 +3 508 3450 384 +3 1894 3820 3934 +3 320 3935 3810 +3 3834 268 1047 +3 3159 1047 3465 +3 368 3934 3820 +3 3474 411 286 +3 3858 315 320 +3 3157 3941 3450 +3 3805 3827 3127 +3 1988 1795 3946 +3 3796 3952 1 +3 1795 1988 3906 +3 3910 3904 3871 +3 3952 3797 3910 +3 3904 3917 3867 +3 3852 3848 1064 +3 3851 3847 3848 +3 1064 1096 276 +3 3848 6 1096 +3 3797 3941 3151 +3 3848 1096 1064 +3 603 607 3935 +3 3941 3797 3458 +3 3866 3981 3868 +3 607 276 3832 +3 3981 3930 3868 +3 3981 3832 3930 +3 3930 3832 3831 +3 3981 607 3832 +3 3866 3810 3935 +3 3867 3917 3913 +3 3820 1909 3987 +3 3810 3866 3814 +3 1909 3820 1894 +3 3814 3867 3913 +3 371 3913 368 +3 315 3935 320 +3 4003 429 371 +3 3860 3852 607 +3 315 603 3935 +3 429 4003 3858 +3 315 3860 603 +3 3858 3987 3857 +3 4017 1909 1894 +3 1047 3127 3834 +3 3450 508 3159 +3 4024 3857 3987 +3 3987 1907 4024 +3 3808 3809 3864 +3 4028 1989 2640 +3 1907 4017 3865 +3 4024 1989 4028 +3 3864 3865 3808 +3 4028 2640 2250 +3 1989 3865 2640 +3 4017 3808 3865 +3 4017 1894 3808 +3 3127 1047 508 +3 1907 1909 4017 +3 3935 3981 3866 +3 1360 3921 1893 +3 1909 1907 3987 +3 3987 4003 3820 +3 429 3858 320 +3 4003 3987 3858 +3 3913 371 3814 +3 1894 3934 1893 +3 384 3816 3805 +3 329 1893 3934 +3 429 3814 371 +3 320 3810 429 +3 1893 379 1360 +3 329 358 365 +3 3906 365 358 +3 3899 379 329 +3 1988 3899 365 +3 3946 3596 3899 +3 3821 3474 286 +3 379 3596 411 +3 1360 3474 3821 +3 1360 379 3474 +3 3825 3821 286 +3 3879 3877 3821 +3 3877 1360 3821 +3 1487 3921 1360 +3 1047 3159 508 +3 3825 3836 3823 +3 268 3825 286 +3 3127 3129 3834 +3 4098 3805 3816 +3 3596 268 286 +3 315 3858 3860 +3 4098 3816 3815 +3 3465 268 3596 +3 268 3834 3825 +3 3892 3906 3917 +3 3834 3835 3825 +3 3917 3904 3892 +3 3159 3157 3450 +3 3837 3838 859 +3 3946 3465 3596 +3 3906 1988 365 +3 3946 3899 1988 +3 3159 3909 3157 +3 3946 1795 3909 +3 3934 368 329 +3 3981 3935 607 +3 368 358 329 +3 3906 358 3917 +3 3814 3866 3867 +3 3909 3465 3946 +3 3797 3952 3796 +3 3151 3904 3797 +3 3827 3805 4098 +3 3904 3867 3871 +3 3941 3458 3450 +3 3157 3151 3941 +3 3151 3157 1786 +3 3909 1786 3157 +3 1786 3892 3151 +3 1786 3909 1795 +3 1989 1907 3865 +3 1907 1989 4024 +3 358 368 3913 +3 371 3820 4003 +3 268 3465 1047 +3 3458 384 3450 +3 3796 384 3458 +3 384 3796 381 +3 381 3796 1 +3 4176 1128 4174 +3 670 343 4179 +3 4186 4185 2016 +3 143 3781 138 +3 4196 4195 2915 +3 1512 1347 4197 +3 3143 3142 17 +3 4197 1828 1512 +3 1674 1652 4205 +3 4158 4217 4215 +3 1670 4222 1512 +3 4229 4228 4226 +3 4232 1854 1856 +3 1858 1856 3164 +3 2980 4234 2962 +3 4235 4234 22 +3 2917 21 2916 +3 2845 2916 4237 +3 4239 4237 4238 +3 220 3965 130 +3 1128 1134 2915 +3 4174 4242 809 +3 1261 4077 1134 +3 143 366 3781 +3 4252 1215 4218 +3 4231 1185 1026 +3 4218 3849 4252 +3 1185 4254 383 +3 1215 4252 4256 +3 1215 3907 4218 +3 4218 3870 3849 +3 4227 3164 4229 +3 894 130 129 +3 129 1001 894 +3 1854 4228 4229 +3 1856 4229 3164 +3 3193 130 3965 +3 3958 1674 4205 +3 4006 1761 1764 +3 4271 4268 17 +3 1670 1512 1655 +3 3967 819 3499 +3 813 3967 1674 +3 3967 813 819 +3 461 611 4077 +3 4227 4226 385 +3 949 894 3098 +3 894 1001 4196 +3 143 1026 119 +3 1001 129 385 +3 4158 4292 4217 +3 4195 4196 4293 +3 2904 4158 2844 +3 2915 1134 3098 +3 461 2005 3781 +3 129 3193 4227 +3 4302 4242 4174 +3 336 122 611 +3 1601 1185 4231 +3 2029 4310 1764 +3 1215 2016 1335 +3 4229 4226 4227 +3 4271 1764 4312 +3 4271 4312 4268 +3 2029 4186 2016 +3 4317 4185 4271 +3 2016 813 1335 +3 4318 529 1215 +3 4319 345 343 +3 4179 345 3965 +3 1655 1652 3967 +3 1609 1670 1655 +3 1655 3967 3499 +3 857 345 601 +3 345 857 3958 +3 3958 3965 345 +3 4077 611 4121 +3 4342 812 949 +3 894 4196 3098 +3 4077 3098 1134 +3 1670 2016 4185 +3 122 336 119 +3 4342 3098 4077 +3 4342 4077 4121 +3 4121 611 812 +3 4121 812 4342 +3 812 611 220 +3 812 220 949 +3 119 4179 122 +3 949 130 894 +3 4158 2904 4195 +3 1001 4293 4196 +3 3965 4205 3193 +3 1026 138 4231 +3 345 4179 343 +3 601 4318 1335 +3 3965 122 4179 +3 336 366 143 +3 3098 4342 949 +3 3098 4196 2915 +3 2904 2915 4195 +3 4292 4195 4293 +3 3499 819 1609 +3 2904 4239 4238 +3 4176 1134 1128 +3 4302 1128 4238 +3 1128 2915 2904 +3 1128 2904 4238 +3 366 461 3781 +3 4414 4215 4217 +3 461 4077 1261 +3 4176 1261 1134 +3 461 1261 4176 +3 4174 1128 4302 +3 2917 2916 2845 +3 2844 4215 2845 +3 4414 21 2917 +3 2845 4237 2844 +3 2844 4237 4239 +3 4227 385 129 +3 2844 4239 2904 +3 809 4242 2005 +3 821 4176 809 +3 2005 4242 2003 +3 821 809 2005 +3 821 2005 461 +3 1601 4254 1185 +3 119 336 143 +3 456 601 451 +3 456 451 1185 +3 1215 1335 4318 +3 451 1026 1185 +3 122 3965 220 +3 461 366 336 +3 1764 4271 2029 +3 821 461 4176 +3 670 119 1026 +3 461 336 611 +3 451 670 1026 +3 220 611 122 +3 4319 343 670 +3 119 670 4179 +3 1828 4205 1655 +3 451 4319 670 +3 1655 1512 1828 +3 1828 4197 1858 +3 4319 451 601 +3 4319 601 345 +3 4318 601 456 +3 4318 456 529 +3 4185 4222 1670 +3 529 456 1185 +3 383 3907 1215 +3 383 1215 529 +3 4185 4317 4222 +3 383 529 1185 +3 3907 3870 4218 +3 3143 4268 4312 +3 4205 1828 3164 +3 4317 4271 17 +3 1761 3142 3143 +3 4268 3143 17 +3 4310 4006 1764 +3 3164 3193 4205 +3 4006 3142 1761 +3 1764 1761 4312 +3 4312 1761 3143 +3 4256 2016 1215 +3 4256 4252 2029 +3 4186 2029 4271 +3 4256 2029 2016 +3 4185 4186 4271 +3 4252 3849 4310 +3 2029 4252 4310 +3 857 1335 813 +3 813 1605 819 +3 1605 2016 1609 +3 1605 1609 819 +3 1609 2016 1670 +3 601 1335 857 +3 1655 3499 1609 +3 2016 1605 813 +3 1674 3967 1652 +3 4205 1652 1655 +3 4197 4544 2962 +3 857 813 1674 +3 1858 3164 1828 +3 857 1674 3958 +3 4197 1347 4544 +3 4195 4292 4158 +3 4174 809 4176 +3 129 130 3193 +3 4227 3193 3164 +3 1854 4229 1856 +3 2962 4544 2980 +3 4232 1856 4235 +3 1856 1858 4235 +3 4232 4235 22 +3 4235 1858 2962 +3 4235 2962 4234 +3 3965 3958 4205 +3 130 949 220 +3 2962 1858 4197 +3 4215 2844 4158 +3 1026 143 138 +3 2917 2845 4215 +3 4215 4414 2917 +3 2005 2003 3781 +3 4222 1347 1512 +3 3177 2917 4206 +3 510 3177 421 +3 3041 4574 4573 +3 3076 3234 4575 +3 3039 4573 3850 +3 3850 2936 3039 +3 4578 4577 3026 +3 3639 4580 3638 +3 3412 4582 3526 +3 3076 4526 2946 +3 2426 4585 2390 +3 12 2946 4526 +3 4574 4590 4588 +3 4594 4593 4592 +3 3412 4594 4582 +3 4595 3014 2885 +3 4580 3639 4596 +3 3037 2426 4598 +3 4526 3076 4599 +3 4585 3944 2390 +3 3850 4573 3696 +3 421 4157 430 +3 3942 3944 4603 +3 4035 396 4605 +3 4195 4196 4214 +3 4607 880 490 +3 4172 4195 4214 +3 4608 4314 4605 +3 4196 725 897 +3 4611 3014 4609 +3 3790 4585 2878 +3 4206 4158 4157 +3 4617 4616 2037 +3 131 129 4227 +3 2037 4618 4617 +3 4235 4618 1856 +3 4234 14 4619 +3 4235 1856 4202 +3 1860 4304 972 +3 1856 4618 2037 +3 4229 4304 1860 +3 1829 725 4158 +3 421 1145 510 +3 4227 279 4304 +3 4215 1833 1829 +3 894 913 4196 +3 888 129 894 +3 4214 4196 913 +3 4158 725 4195 +3 131 913 894 +3 888 894 897 +3 131 894 129 +3 3942 4631 3944 +3 3875 4633 3882 +3 4636 2867 4635 +3 4314 4631 4035 +3 4639 3638 4637 +3 4607 4172 295 +3 2390 4598 2426 +3 3638 4580 2888 +3 4644 3696 4573 +3 4598 4639 3037 +3 4648 4603 4647 +3 3696 4650 3850 +3 4594 4627 4595 +3 4590 4079 4648 +3 2885 3790 2888 +3 4633 3875 4658 +3 4575 4659 4578 +3 2869 2867 4661 +3 2867 2936 4661 +3 4658 4648 4633 +3 4227 4608 131 +3 4585 3790 4633 +3 4666 4079 4033 +3 295 880 4607 +3 4157 4172 430 +3 480 4607 490 +3 4575 4673 3076 +3 4574 480 4590 +3 972 14 4202 +3 972 4202 1860 +3 4619 4618 4235 +3 4619 4235 4234 +3 4202 14 4234 +3 4202 4234 4235 +3 4617 4676 4616 +3 4304 279 1726 +3 4202 1856 1860 +3 972 4304 1726 +3 2037 4229 1856 +3 4229 1860 1856 +3 4215 1829 4158 +3 4616 4229 2037 +3 3882 4609 3875 +3 4196 897 894 +3 880 295 396 +3 2888 4596 4593 +3 4603 4079 4666 +3 295 4172 4214 +3 4195 725 4196 +3 4214 396 295 +3 4157 4195 4172 +3 880 4033 490 +3 4033 396 4035 +3 880 396 4033 +3 4609 3882 4611 +3 4304 4229 4227 +3 913 396 4214 +3 4195 4157 4158 +3 4607 480 430 +3 2888 4580 4596 +3 3942 4148 4035 +3 4314 4035 4605 +3 4035 4631 3942 +3 4148 3942 4666 +3 2878 4585 3034 +3 4637 3638 2888 +3 3034 4585 3037 +3 4637 3037 4639 +3 3034 3037 4637 +3 3034 4637 2878 +3 3037 4585 2426 +3 129 888 279 +3 2888 4593 2885 +3 4637 2888 2878 +3 430 4437 421 +3 4588 4590 4731 +3 4731 4644 4588 +3 4573 4588 4644 +3 430 4172 4607 +3 3014 4627 3026 +3 4593 4595 2885 +3 3026 4650 4609 +3 2885 3014 4611 +3 2885 4611 3790 +3 4647 4603 4585 +3 4611 3882 3790 +3 4079 490 4033 +3 4148 4033 4035 +3 3942 4603 4666 +3 4148 4666 4033 +3 4648 4647 4633 +3 3882 4633 3790 +3 4650 3875 4609 +3 4633 4647 4585 +3 3696 4658 3875 +3 4603 3944 4585 +3 2878 2888 3790 +3 4636 3234 2935 +3 4592 4755 4594 +3 4595 4627 3014 +3 4595 4593 4594 +3 3412 3526 4673 +3 4599 3542 4582 +3 3638 4639 3639 +3 4755 4599 4582 +3 4755 4582 4594 +3 4599 3076 3542 +3 4582 3542 3526 +3 3412 4673 3414 +3 4627 4578 3026 +3 3542 3076 4673 +3 3542 4673 3526 +3 4627 4594 3414 +3 3414 4575 4578 +3 4594 3412 3414 +3 4627 3414 4578 +3 4577 4578 4659 +3 4659 4636 4635 +3 3234 4636 4575 +3 279 4227 129 +3 3026 4577 2869 +3 3026 2869 4661 +3 4575 4636 4659 +3 2867 2935 2936 +3 4577 4659 4635 +3 4577 4635 2869 +3 3026 4609 3014 +3 4636 2935 2867 +3 4635 2867 2869 +3 4158 4206 4215 +3 4661 3850 4650 +3 4616 4676 4227 +3 4661 4650 3026 +3 4229 4616 4227 +3 4650 3696 3875 +3 4644 4658 3696 +3 4590 4648 4731 +3 4644 4731 4658 +3 4079 4603 4648 +3 4731 4648 4658 +3 480 4079 4590 +3 4676 4608 4227 +3 4079 480 490 +3 4441 4437 4574 +3 4573 4574 4588 +3 2917 4215 4206 +3 131 4605 396 +3 3850 4661 2936 +3 131 4608 4605 +3 421 4437 1145 +3 510 1145 3041 +3 1145 4437 4441 +3 4575 3414 4673 +3 4574 3041 1145 +3 396 913 131 +3 2917 13 4215 +3 13 1833 4215 +3 3177 4206 421 +3 1145 4441 4574 +3 4573 3039 3041 +3 4157 421 4206 +3 4437 430 480 +3 480 4574 4437 +3 3197 4804 149 +3 4487 3349 2775 +3 12 4751 2945 +3 4751 2950 2945 +3 2948 2950 4443 +3 2950 4751 4737 +3 3197 3768 4804 +3 154 156 4804 +3 4487 2775 2973 +3 2233 4309 2908 +3 225 1002 835 +3 4821 3303 3103 +3 1201 4824 4787 +3 3303 4821 4825 +3 3108 2612 2971 +3 4825 3197 3652 +3 4031 829 310 +3 4499 1011 225 +3 1011 4746 11 +3 4443 4737 4819 +3 2973 2948 4487 +3 4446 3031 226 +3 902 4326 197 +3 870 4208 1928 +3 4149 3052 4824 +3 4080 4031 310 +3 1004 4420 4274 +3 1612 1589 4274 +3 4080 4849 3534 +3 1612 4392 4155 +3 4031 3902 4499 +3 4499 829 4031 +3 4208 4392 1971 +3 4309 8 2908 +3 4325 4326 898 +3 168 902 197 +3 3652 3303 4825 +3 149 150 3197 +3 3107 3303 3652 +3 150 149 2968 +3 4326 902 898 +3 902 166 225 +3 154 4253 159 +3 4824 1201 4149 +3 159 2919 154 +3 4787 1779 1201 +3 2758 2971 2612 +3 154 2612 3108 +3 4804 3768 889 +3 154 2758 2612 +3 3348 3197 4825 +3 3348 4825 3346 +3 835 4499 225 +3 1004 4274 1589 +3 1002 3768 835 +3 870 1928 1918 +3 4499 835 829 +3 3534 2551 2661 +3 829 835 310 +3 2661 4080 3534 +3 310 3739 4080 +3 4155 1589 1612 +3 4446 4497 4824 +3 870 865 1874 +3 1874 2986 870 +3 4155 1201 1779 +3 4309 1918 1971 +3 2908 2914 2233 +3 4804 889 544 +3 159 4253 4497 +3 4253 154 4804 +3 4031 2656 4532 +3 4487 2948 4443 +3 226 2919 159 +3 4208 1971 1928 +3 4149 2986 3052 +3 955 4061 1004 +3 3052 3031 4446 +3 4031 4080 2656 +3 156 3108 3170 +3 156 3170 149 +3 159 4497 4446 +3 3170 3108 2971 +3 4446 226 159 +3 4804 156 149 +3 2968 3107 150 +3 4443 4819 4487 +3 150 3107 3652 +3 150 3652 3197 +3 4849 3197 3434 +3 3534 3348 3346 +3 4532 3902 4031 +3 2775 4821 3103 +3 3346 4825 4821 +3 2775 3103 2973 +3 3346 4821 2775 +3 4487 4819 3148 +3 2551 2775 3349 +3 4532 3148 4762 +3 3148 3349 4487 +3 4787 4824 4497 +3 2950 4737 4443 +3 4497 4496 4787 +3 2661 3491 2656 +3 3491 4532 2656 +3 4532 4762 3902 +3 3491 2661 3349 +3 4849 3739 3768 +3 1589 553 1004 +3 2551 3349 2661 +3 4080 3739 4849 +3 2551 3534 3346 +3 2551 3346 2775 +3 3434 3348 3534 +3 3768 3197 4849 +3 3197 3348 3434 +3 4849 3434 3534 +3 4059 544 889 +3 4059 225 166 +3 553 1589 1779 +3 889 3768 1002 +3 889 225 4059 +3 835 3768 3739 +3 835 3739 310 +3 870 1918 2565 +3 168 197 955 +3 2661 2656 4080 +3 955 4059 168 +3 889 1002 225 +3 1011 4499 4746 +3 898 225 1011 +3 4325 1011 11 +3 902 225 898 +3 4325 898 1011 +3 166 902 168 +3 166 168 4059 +3 4061 4420 1004 +3 544 1004 553 +3 1004 4059 955 +3 4061 955 197 +3 1004 544 4059 +3 2565 865 870 +3 1779 4530 553 +3 4530 544 553 +3 4530 1779 4872 +3 4787 4872 1779 +3 4155 1779 1589 +3 2919 2758 154 +3 1120 1201 4208 +3 4530 4872 4496 +3 4530 4496 544 +3 4824 3052 4446 +3 4872 4787 4496 +3 4149 870 2986 +3 1120 870 4149 +3 1120 4149 1201 +3 2914 1874 865 +3 4392 4208 4155 +3 1201 4155 4208 +3 1120 4208 870 +3 2914 865 2565 +3 2233 2565 1918 +3 2914 2565 2233 +3 4309 2233 1918 +3 1918 1928 1971 +3 2968 149 3170 +3 3170 2971 2968 +3 4804 544 4496 +3 4253 4804 4497 +3 4804 4496 4497 +3 3349 3148 4532 +3 4532 3491 3349 +3 3108 156 154 +3 2962 4202 3017 +3 3906 3892 4924 +3 4235 4232 4202 +3 4012 4207 4926 +3 2962 4197 1717 +3 660 395 1616 +3 4012 3154 3448 +3 3892 3151 3156 +3 789 3143 822 +3 25 3143 4312 +3 3150 281 822 +3 4312 4184 25 +3 3892 281 3151 +3 1991 4012 4926 +3 4185 4271 710 +3 3448 3154 3264 +3 4271 4312 789 +3 4425 4424 4935 +3 892 3136 3171 +3 892 4935 3136 +3 4232 2181 30 +3 4235 4618 2181 +3 1991 2117 4501 +3 4601 718 710 +3 395 4153 559 +3 559 4153 2213 +3 325 389 369 +3 4185 4163 4183 +3 361 627 595 +3 4826 2256 615 +3 4935 892 4425 +3 4012 1805 3154 +3 3934 1894 4826 +3 1146 1150 2241 +3 1146 2400 1150 +3 901 2472 4425 +3 2416 901 892 +3 4924 4501 3906 +3 3892 3906 4507 +3 4924 3892 3156 +3 1633 710 4271 +3 3136 4935 3992 +3 1670 1512 1685 +3 4431 454 355 +3 454 1146 4793 +3 4857 4926 4842 +3 4501 4924 1991 +3 281 289 1633 +3 1147 1685 1512 +3 4790 1272 4601 +3 1616 1512 718 +3 4601 1616 718 +3 4197 1147 1512 +3 1157 2962 3017 +3 1717 2272 4618 +3 3449 3537 4842 +3 4207 4012 3448 +3 4952 3865 2640 +3 2256 4153 615 +3 1670 4185 710 +3 4857 3537 454 +3 1146 2241 4793 +3 4935 4424 1081 +3 2472 2400 4424 +3 1442 3992 4935 +3 368 325 369 +3 627 3906 4501 +3 3449 3448 3264 +3 4207 4842 4926 +3 3154 1805 3156 +3 1805 1991 4924 +3 3156 1805 4924 +3 1616 4601 1272 +3 4185 1670 1685 +3 289 281 3892 +3 4185 1685 4163 +3 559 2213 2207 +3 1616 1272 660 +3 4271 4185 4183 +3 4601 289 4790 +3 789 1633 4271 +3 660 1272 4355 +3 1633 789 281 +3 289 4507 4355 +3 4507 369 389 +3 2207 4197 559 +3 1706 4197 2207 +3 1616 395 3516 +3 4197 2962 1147 +3 3865 2241 2640 +3 4153 2211 2213 +3 3516 395 559 +3 1147 2962 1157 +3 2083 1894 4017 +3 4173 1685 1147 +3 1706 2272 1717 +3 2962 4235 4202 +3 4618 2272 2181 +3 2962 4618 4235 +3 2962 1717 4618 +3 4202 4232 30 +3 4235 2181 4232 +3 340 615 660 +3 4826 2254 2256 +3 615 4153 660 +3 2256 2211 4153 +3 4952 4017 3865 +3 4826 1894 2254 +3 2639 2635 4952 +3 1894 1892 4017 +3 2639 4952 2640 +3 4017 1892 3865 +3 2226 2083 2635 +3 1805 4012 1991 +3 2635 2083 4952 +3 2226 2254 2083 +3 2116 595 627 +3 4793 1892 2273 +3 4826 405 325 +3 1894 3934 1892 +3 627 361 358 +3 2273 1892 4810 +3 4810 1892 3934 +3 595 2116 355 +3 4017 4952 2083 +3 325 405 389 +3 361 4810 3934 +3 3865 4793 2241 +3 405 615 340 +3 389 340 660 +3 389 405 340 +3 389 4355 4507 +3 369 4507 358 +3 1442 3449 3264 +3 358 3906 627 +3 3449 1442 3537 +3 4793 3865 1892 +3 368 358 361 +3 4826 325 368 +3 4474 4431 2116 +3 405 4826 615 +3 2273 595 355 +3 4810 361 595 +3 595 2273 4810 +3 358 368 369 +3 3134 3992 3264 +3 2416 3171 26 +3 3430 1146 454 +3 4424 2400 1146 +3 718 1512 1670 +3 2472 4424 4425 +3 4793 355 454 +3 3171 2416 892 +3 355 4793 2273 +3 4424 1146 3430 +3 1442 1081 3537 +3 1442 4935 1081 +3 1081 3536 3537 +3 1081 4424 3430 +3 3536 3430 454 +3 3536 1081 3430 +3 3449 4207 3448 +3 3449 4842 4207 +3 3992 1442 3264 +3 3536 454 3537 +3 2117 4857 4474 +3 4842 3537 4857 +3 2116 4431 355 +3 4857 454 4431 +3 2117 4474 2116 +3 4857 4431 4474 +3 4501 2117 2116 +3 4355 389 660 +3 627 4501 2116 +3 2117 1991 4926 +3 4790 289 4355 +3 3906 358 4507 +3 1272 4790 4355 +3 1616 4197 1512 +3 1717 4197 1706 +3 3892 4507 289 +3 4197 1616 3516 +3 4197 3516 559 +3 289 4601 1633 +3 368 3934 4826 +3 789 4312 3143 +3 4183 4184 4312 +3 3151 281 3150 +3 4312 4271 4183 +3 3136 3992 3134 +3 3934 368 361 +3 822 281 789 +3 710 1633 4601 +3 2117 4926 4857 +3 1147 1157 4173 +3 1894 2083 2254 +3 4425 892 901 +3 395 660 4153 +3 710 718 1670 +3 3994 4190 4095 +3 2247 2574 4906 +3 1492 5018 1735 +3 1228 4587 951 +3 2180 2187 1178 +3 1492 5020 14 +3 1735 5018 5021 +3 3994 4095 4009 +3 1729 3608 1735 +3 1735 3608 5020 +3 4004 3994 5022 +3 1818 1725 2765 +3 2852 4982 1725 +3 2187 2180 4886 +3 2093 1053 675 +3 1467 1799 4039 +3 3203 2093 2334 +3 3310 3285 3588 +3 2574 4977 5004 +3 5026 5025 2574 +3 3808 3809 5025 +3 4933 3510 852 +3 3809 3808 4835 +3 1346 1490 5027 +3 2828 2607 3712 +3 4083 1998 1228 +3 951 2577 862 +3 3183 3479 3309 +3 2577 951 4587 +3 4987 862 2577 +3 852 4987 10 +3 852 10 4933 +3 4812 4906 4835 +3 3183 2721 1799 +3 399 3203 3199 +3 3600 3310 3588 +3 3479 1547 3581 +3 5033 3608 1729 +3 3203 399 1053 +3 1818 1799 2721 +3 4083 4296 1998 +3 1467 1547 3479 +3 2607 2540 3600 +3 3203 1053 2093 +3 5021 4190 4004 +3 5018 4095 4190 +3 3056 3588 3128 +3 3259 2803 3712 +3 3203 2727 3056 +3 2334 2748 2727 +3 3199 3203 4966 +3 2727 2748 3056 +3 4298 2409 2180 +3 1053 4886 675 +3 2731 5038 2930 +3 3479 3183 1799 +3 4941 2482 4933 +3 3056 3600 3588 +3 4283 2685 2686 +3 3589 4949 5038 +3 1346 2686 4812 +3 817 800 5041 +3 2792 4906 4812 +3 2540 2247 4910 +3 1346 4812 4835 +3 2685 2792 4812 +3 2803 3183 3309 +3 3128 5038 3057 +3 5021 1729 1735 +3 1547 5033 1729 +3 1492 1735 5020 +3 2540 2607 2828 +3 3479 3581 5021 +3 1547 1729 3581 +3 1799 1467 3479 +3 4039 5033 1467 +3 1729 5021 3581 +3 5018 4190 5021 +3 5022 3994 4009 +3 4004 4190 3994 +3 3310 3600 2540 +3 5021 4004 3479 +3 2607 3259 3712 +3 2721 3183 2803 +3 2852 3259 2748 +3 1818 2721 3259 +3 3259 2721 2803 +3 1799 2745 4039 +3 1547 1467 5033 +3 4906 2792 4910 +3 4004 3309 3479 +3 4004 5022 3309 +3 4977 3309 5022 +3 3259 2852 1818 +3 2828 4977 2247 +3 2765 2745 1799 +3 705 4966 2731 +3 1178 399 4298 +3 4886 2180 15 +3 1725 1818 2852 +3 4966 1025 3199 +3 2187 4886 1053 +3 399 2187 1053 +3 4298 4296 2409 +3 2930 705 2731 +3 1025 4966 705 +3 1025 4298 399 +3 1025 705 4296 +3 2180 1178 4298 +3 399 1178 2187 +3 2482 2409 4296 +3 4941 2409 2482 +3 4933 2528 3510 +3 4982 2852 2334 +3 4966 3057 2731 +3 4966 3056 3128 +3 3203 2334 2727 +3 2852 2748 2334 +3 4966 3128 3057 +3 399 3199 1025 +3 4966 3203 3056 +3 2482 2528 4933 +3 2930 4949 3733 +3 3600 3056 2748 +3 3128 3588 5038 +3 5038 2731 3057 +3 3733 4949 4283 +3 862 4987 852 +3 4296 4083 2482 +3 4949 2930 5038 +3 2482 4083 2528 +3 3733 1998 2930 +3 1490 1346 5031 +3 2607 2748 3259 +3 705 1998 4296 +3 951 862 2528 +3 1998 705 2930 +3 4587 1228 817 +3 2247 2540 2828 +3 3510 862 852 +3 3510 2528 862 +3 1228 951 4083 +3 1228 800 817 +3 2528 4083 951 +3 2748 2607 3600 +3 3733 800 1998 +3 800 793 5041 +3 1998 800 1228 +3 3733 4283 2686 +3 5041 793 5031 +3 800 3733 5027 +3 793 1490 5031 +3 2686 2685 4812 +3 793 5027 1490 +3 793 800 5027 +3 5027 2686 1346 +3 5027 3733 2686 +3 3285 2792 3589 +3 1799 1818 2765 +3 2685 3589 2792 +3 4283 4949 3589 +3 3589 3588 3285 +3 3589 5038 3588 +3 5002 4977 5022 +3 5002 5004 4977 +3 4910 3285 3310 +3 4910 2792 3285 +3 2803 2828 3712 +3 2803 3309 2828 +3 2685 4283 3589 +3 2540 4910 3310 +3 5051 5002 5022 +3 5051 5004 5002 +3 4977 2828 3309 +3 4910 2247 4906 +3 3808 5025 5026 +3 4906 3809 4835 +3 4906 5025 3809 +3 2334 675 4982 +3 2334 2093 675 +3 4906 2574 5025 +3 2574 2247 4977 +3 4296 4298 1025 +3 4619 4234 2980 +3 1488 4544 1720 +3 4619 22 4234 +3 3868 4351 4620 +3 4623 1650 635 +3 1907 1815 4793 +3 1436 3551 3494 +3 1136 349 3500 +3 4514 5052 1757 +3 5000 4343 3551 +3 4320 4399 2556 +3 882 4250 4399 +3 5000 882 4344 +3 2556 2446 18 +3 1488 5034 4619 +3 565 1720 4544 +3 554 565 4544 +3 1225 4152 554 +3 554 4152 4116 +3 4152 5036 4143 +3 4827 5029 5036 +3 4952 3865 3864 +3 1905 1903 4952 +3 5012 5029 5028 +3 5026 4952 3864 +3 1136 4813 4793 +3 5048 1139 1136 +3 4343 5048 1136 +3 823 5043 4344 +3 4320 823 882 +3 882 5000 4250 +3 5028 5054 1903 +3 1907 3865 1903 +3 1635 3868 4620 +3 4100 4012 3201 +3 4344 882 823 +3 726 1225 1650 +3 4863 4348 4351 +3 1757 1807 4514 +3 644 635 4222 +3 4116 565 554 +3 3515 1225 554 +3 3868 3866 4351 +3 4544 1488 2980 +3 1720 5034 1488 +3 4827 3987 5054 +3 534 4827 4911 +3 3864 3865 4813 +3 5026 5025 2230 +3 2230 2635 5026 +3 2230 5012 1905 +3 4900 3864 4813 +3 4900 5025 3864 +3 1807 4926 4857 +3 3858 4850 3987 +3 4813 1136 1139 +3 1433 3133 3575 +3 3133 1433 3577 +3 726 4863 542 +3 1815 1448 355 +3 320 386 3810 +3 3987 4827 3858 +3 1635 4317 17 +3 1436 4146 5000 +3 4911 5036 4152 +3 4879 3577 3494 +3 3865 4793 4813 +3 4620 4348 4794 +3 3858 320 590 +3 1650 4347 726 +3 644 4222 4317 +3 4012 1992 3154 +3 1650 1225 3515 +3 1650 4623 4347 +3 4623 635 644 +3 4348 726 4347 +3 1635 644 4317 +3 4623 4620 4794 +3 4351 4348 4620 +3 4348 4347 4794 +3 1635 4623 644 +3 4794 4347 4623 +3 4620 4623 1635 +3 320 3858 4827 +3 4793 3865 1907 +3 3810 386 3866 +3 1448 590 4833 +3 386 4351 3866 +3 4833 590 3810 +3 4863 4351 386 +3 3810 590 320 +3 1807 1757 4926 +3 590 4850 3858 +3 4911 4827 5036 +3 4116 4152 4143 +3 726 542 4911 +3 1488 4619 2980 +3 5034 22 4619 +3 5028 1903 1905 +3 5054 1907 1903 +3 3987 1907 5054 +3 4827 534 312 +3 726 4911 4152 +3 4348 4863 726 +3 2230 1905 2635 +3 1903 3865 4952 +3 2635 1905 4952 +3 5012 5028 1905 +3 4827 5028 5029 +3 4827 5054 5028 +3 4952 5026 2635 +3 3864 5025 5026 +3 4850 1815 3987 +3 355 4793 1815 +3 4793 355 349 +3 4431 349 355 +3 4793 349 1136 +3 1815 1907 3987 +3 312 386 320 +3 4863 386 312 +3 1448 1815 4850 +3 4863 312 534 +3 320 4827 312 +3 542 534 4911 +3 542 4863 534 +3 551 3500 349 +3 5052 4514 3866 +3 4528 1807 4857 +3 4833 3810 3866 +3 4431 4528 4857 +3 2076 1807 4528 +3 4431 2076 4528 +3 4833 4514 2076 +3 4879 3494 4857 +3 3500 4343 1136 +3 2076 4431 355 +3 4857 349 4431 +3 3494 551 349 +3 3551 4343 3500 +3 3137 4146 3167 +3 2556 4399 2446 +3 1436 5000 3551 +3 5043 5048 4343 +3 1225 726 4152 +3 5043 4343 4344 +3 4399 4320 882 +3 4344 4343 5000 +3 5040 3167 3575 +3 5040 3137 3167 +3 4146 1436 1433 +3 4850 590 1448 +3 3551 551 3494 +3 3551 3500 551 +3 4857 3494 349 +3 4012 4100 4926 +3 3565 3133 3201 +3 3133 3577 4100 +3 1436 3577 1433 +3 1433 3167 4146 +3 3575 3565 17 +3 3575 3133 3565 +3 3201 3154 3565 +3 3201 3133 4100 +3 2076 1448 4833 +3 4100 3577 4879 +3 1807 2076 4514 +3 1448 2076 355 +3 4514 4833 3866 +3 1992 4012 1757 +3 4146 4250 5000 +3 5052 3866 3868 +3 3577 1436 3494 +3 3868 1635 17 +3 3167 1433 3575 +3 17 5052 3868 +3 17 1992 5052 +3 5052 1992 1757 +3 4250 4146 3137 +3 4879 4926 4100 +3 4879 4857 4926 +3 1757 4012 4926 +3 1992 17 3154 +3 3154 3201 4012 +3 17 3565 3154 +3 4544 3515 554 +3 4544 1650 3515 +3 635 1347 4222 +3 1650 1347 635 +3 1650 4544 1347 +3 1721 2500 1723 +3 2418 3587 3396 +3 46 4969 4730 +3 475 3950 4730 +3 4730 4969 230 +3 230 3607 4984 +3 2750 4045 4090 +3 1688 2773 1687 +3 4045 2750 1688 +3 1721 2773 2500 +3 4757 47 3287 +3 1657 47 4757 +3 4421 704 879 +3 1111 2236 3335 +3 4696 4697 4851 +3 4717 1018 1021 +3 3280 4715 3054 +3 1279 1322 2236 +3 4421 4668 704 +3 879 4438 4717 +3 4709 1322 2585 +3 1018 4438 704 +3 2056 4649 4680 +3 1642 1687 1093 +3 2236 1322 3736 +3 1097 3335 4596 +3 4580 1642 4596 +3 1473 3380 3391 +3 1688 483 475 +3 475 4730 230 +3 4725 483 3294 +3 4090 230 4984 +3 2955 3381 3380 +3 2800 3380 3381 +3 3054 4665 3280 +3 1721 1723 4489 +3 1322 824 2585 +3 2174 2313 3502 +3 2750 2773 1688 +3 2406 673 681 +3 3381 2488 3161 +3 2100 3587 2418 +3 4489 1723 1657 +3 2500 2773 2750 +3 2488 3381 2955 +3 2411 3381 2235 +3 3191 3514 2561 +3 3514 3386 2546 +3 3388 3191 3230 +3 4757 3287 3291 +3 3291 3587 2208 +3 4687 4680 569 +3 4687 766 596 +3 2056 2587 3396 +3 4694 704 4668 +3 2418 3396 3386 +3 3054 925 479 +3 2654 2587 2056 +3 4649 2056 3396 +3 3230 2235 2313 +3 2235 2406 681 +3 4694 4689 704 +3 2546 2561 3514 +3 2208 2174 3502 +3 596 4680 4687 +3 4625 2667 4689 +3 2667 2578 704 +3 925 879 4717 +3 824 1345 1066 +3 475 4045 1688 +3 1687 1481 1093 +3 4969 3607 230 +3 4045 230 4090 +3 483 3950 475 +3 4045 475 230 +3 1687 1473 1481 +3 1093 1481 3032 +3 3294 1688 1687 +3 3294 1687 1642 +3 4725 3950 483 +3 4725 3294 4112 +3 3335 1097 1111 +3 1097 2800 1111 +3 1687 2773 1473 +3 1481 1473 3391 +3 1481 3391 3032 +3 1721 3380 1473 +3 3032 3391 3380 +3 3032 3380 2800 +3 3381 2411 2800 +3 1473 2773 1721 +3 3381 3161 2235 +3 2463 2589 2654 +3 2235 681 2411 +3 2654 2056 596 +3 2235 3161 2313 +3 2561 2471 2406 +3 2313 3161 2488 +3 2313 2488 3502 +3 2488 2955 3502 +3 3587 3291 3287 +3 3032 2800 1097 +3 3380 1721 2955 +3 1654 47 1657 +3 1657 4757 4489 +3 1723 1654 1657 +3 1097 1093 3032 +3 3502 4489 3291 +3 3386 3396 2589 +3 2208 3502 3291 +3 2313 2174 3388 +3 596 2463 2654 +3 569 479 4687 +3 2208 3587 2100 +3 3291 4489 4757 +3 2546 2589 2463 +3 1021 2406 2471 +3 2587 2654 2589 +3 2587 2589 3396 +3 2471 2561 2546 +3 2471 766 1021 +3 2463 2471 2546 +3 2100 3386 3514 +3 3230 2561 2406 +3 3514 2208 2100 +3 2235 3230 2406 +3 2174 3191 3388 +3 2313 3388 3230 +3 3191 2174 2208 +3 2561 3230 3191 +3 1021 3296 4717 +3 4489 3502 2955 +3 673 2406 1018 +3 2208 3514 3191 +3 766 4687 3296 +3 1018 4717 4438 +3 704 4438 879 +3 4665 4851 4697 +3 3386 2100 2418 +3 2955 1721 4489 +3 2589 2546 3386 +3 417 4665 569 +3 2236 1111 1279 +3 44 4696 4851 +3 4697 3280 4665 +3 4672 3054 4715 +3 4851 4665 417 +3 4715 4529 4672 +3 569 4665 479 +3 925 4672 879 +3 4665 3054 479 +3 4529 4421 4672 +3 4529 4668 4421 +3 4672 4421 879 +3 3054 4672 925 +3 4680 596 2056 +3 1345 681 1066 +3 2578 1066 704 +3 4709 2667 4625 +3 4625 4689 4694 +3 2585 2578 2667 +3 4689 2667 704 +3 1279 1345 824 +3 2578 824 1066 +3 1066 681 673 +3 1066 673 704 +3 2406 1021 1018 +3 673 1018 704 +3 1111 2411 1279 +3 4717 3296 925 +3 1345 1279 2411 +3 1345 2411 681 +3 483 1688 3294 +3 4112 3294 1642 +3 4596 1093 1097 +3 1093 4596 1642 +3 2800 2411 1111 +3 2463 596 766 +3 4712 4580 4596 +3 4712 3335 4690 +3 4712 4596 3335 +3 4690 2236 3736 +3 4709 3736 1322 +3 824 1322 1279 +3 766 2471 2463 +3 3335 2236 4690 +3 824 2578 2585 +3 4709 2585 2667 +3 3296 4687 479 +3 479 925 3296 +3 3296 1021 766 +3 417 569 4680 +3 4851 417 4680 +3 4680 4649 4851 +3 4649 44 4851 +3 3576 1169 3517 +3 2051 2050 3688 +3 1732 49 762 +3 3672 2167 2150 +3 3439 2710 2764 +3 2780 1303 2770 +3 3811 1349 3792 +3 3792 1349 1620 +3 3539 3788 51 +3 1732 1561 49 +3 3685 406 3687 +3 1561 318 321 +3 3792 1620 4260 +3 1615 846 1335 +3 3687 374 3685 +3 846 1615 4586 +3 4586 832 841 +3 3687 3792 4260 +3 3519 3541 3217 +3 3556 1149 1069 +3 3538 3590 3556 +3 3517 1172 3519 +3 1172 3517 1169 +3 1190 3217 3541 +3 3217 1190 3524 +3 2144 2328 2307 +3 2813 1886 1653 +3 374 832 4586 +3 374 4381 1069 +3 3738 2148 2167 +3 1456 1486 2144 +3 1475 1533 1653 +3 3792 3687 406 +3 3100 319 280 +3 3811 3792 406 +3 3907 1215 1209 +3 3517 4352 1095 +3 3590 1149 3556 +3 587 401 192 +3 3685 4586 1615 +3 2148 4353 4583 +3 1456 1446 4381 +3 2142 2141 1456 +3 1446 1069 4381 +3 3524 3538 3556 +3 4583 2167 2148 +3 3217 2074 4584 +3 2710 3245 48 +3 2710 1103 3245 +3 1653 2480 2813 +3 2770 1486 4378 +3 1486 1456 4381 +3 1537 4191 2480 +3 2182 2130 2050 +3 2167 3672 3738 +3 2321 2084 2307 +3 3725 1341 3811 +3 2929 2780 1349 +3 1341 3725 1537 +3 1162 1103 4353 +3 4191 1537 3725 +3 2328 2144 1486 +3 2141 3524 1446 +3 192 218 346 +3 229 218 1209 +3 346 218 318 +3 401 4191 4494 +3 280 319 762 +3 3100 587 319 +3 374 3687 4260 +3 406 1208 380 +3 846 4586 841 +3 3519 4584 3517 +3 4241 4494 380 +3 3469 1209 1215 +3 218 229 321 +3 1209 3469 229 +3 1335 1215 1615 +3 3217 4584 3519 +3 1732 318 1561 +3 218 321 318 +3 319 346 4198 +3 1215 1335 3469 +3 4586 3685 374 +3 1208 406 3685 +3 1209 4241 3907 +3 3811 380 3725 +3 3907 1615 1215 +3 380 4494 3725 +3 380 3811 406 +3 4336 2480 4191 +3 380 3907 4241 +3 4494 4191 3725 +3 4378 4260 1620 +3 4353 4352 4584 +3 4241 1209 218 +3 3685 1615 1208 +3 2141 1446 1456 +3 374 4260 4381 +3 2770 4378 1620 +3 4381 4260 4378 +3 2480 4336 2813 +3 3788 1169 3576 +3 2167 4583 2075 +3 3788 3576 3439 +3 1103 3439 1095 +3 1303 2780 1293 +3 2813 3100 280 +3 3788 3439 2701 +3 2074 2075 4583 +3 3439 2704 2701 +3 4352 4353 1103 +3 2075 2074 2141 +3 2764 2704 3439 +3 51 3788 2701 +3 3539 1169 3788 +3 2074 3217 3524 +3 3439 3576 1095 +3 1475 1653 1872 +3 1293 2929 1846 +3 2150 2075 2142 +3 2148 3738 1144 +3 4353 2148 1162 +3 3100 2813 4336 +3 2150 2307 3672 +3 2929 1293 2780 +3 4583 4584 2074 +3 4352 1103 1095 +3 2075 2150 2167 +3 3556 1446 3524 +3 2074 3524 2141 +3 1446 3556 1069 +3 3538 3524 1190 +3 2075 2141 2142 +3 2321 2307 2328 +3 3949 48 1144 +3 1303 1293 2321 +3 1293 2501 2321 +3 2328 1303 2321 +3 3688 48 3949 +3 2084 3672 2307 +3 2148 1144 1162 +3 2084 3948 3672 +3 2182 2051 2501 +3 3948 3738 3672 +3 1144 3245 1162 +3 3948 3949 3738 +3 2501 2051 2084 +3 3949 1144 3738 +3 48 3245 1144 +3 3439 1103 2710 +3 1872 48 2130 +3 3948 2051 3688 +3 2130 48 2050 +3 2084 2051 3948 +3 2084 2321 2501 +3 3948 3688 3949 +3 2050 48 3688 +3 1886 1520 1653 +3 1520 48 1872 +3 1872 2130 1475 +3 1846 2501 1293 +3 1846 2182 2501 +3 2144 2142 1456 +3 1475 2130 2182 +3 1475 2182 1846 +3 2050 2051 2182 +3 1865 1303 2328 +3 1865 2770 1303 +3 1653 1520 1872 +3 1886 48 1520 +3 1486 1865 2328 +3 2664 1341 1537 +3 1103 1162 3245 +3 1533 2480 1653 +3 1486 2770 1865 +3 1620 1349 2780 +3 2780 2770 1620 +3 2664 1846 2929 +3 2664 2929 1341 +3 1846 1533 1475 +3 1529 2664 1537 +3 1846 2664 1533 +3 1529 1533 2664 +3 1486 4381 4378 +3 1349 3811 1341 +3 4336 587 3100 +3 4584 4583 4353 +3 401 4336 4191 +3 192 401 4494 +3 587 4336 401 +3 2929 1349 1341 +3 2307 2150 2144 +3 2142 2144 2150 +3 280 2071 2813 +3 2480 1529 1537 +3 2480 1533 1529 +3 2071 1886 2813 +3 319 4198 762 +3 346 318 4198 +3 4198 1732 762 +3 4198 318 1732 +3 346 587 192 +3 587 346 319 +3 3907 380 1208 +3 1208 1615 3907 +3 218 192 4241 +3 4494 4241 192 +3 3541 3519 1172 +3 3517 1095 3576 +3 4352 3517 4584 +3 4948 3274 3592 +3 3268 4801 3135 +3 3267 3135 4948 +3 3135 4801 3047 +3 3131 1724 1541 +3 3821 3877 5031 +3 4899 3140 3276 +3 3318 3306 4909 +3 4909 3357 3199 +3 2354 2688 4966 +3 3095 3311 2842 +3 2688 3311 3095 +3 3095 2842 3293 +3 4975 3033 55 +3 1216 2400 1398 +3 3586 3475 4979 +3 1641 4979 3532 +3 4361 3532 51 +3 4377 4500 4388 +3 4295 3782 4962 +3 1778 4961 1671 +3 2674 2456 3595 +3 2674 4962 2456 +3 3557 3657 3525 +3 919 914 3597 +3 919 1819 1778 +3 4979 4978 4988 +3 4927 5027 1125 +3 1985 1216 5039 +3 5040 3134 4641 +3 1745 3134 3992 +3 4919 5027 4927 +3 690 3648 755 +3 690 668 3648 +3 3648 668 3631 +3 3597 4290 919 +3 2402 3033 4788 +3 3278 3249 4362 +3 4021 4085 3276 +3 2709 4295 3192 +3 2838 4905 1541 +3 4979 3475 3532 +3 4391 3134 1745 +3 563 570 4081 +3 3131 4801 1724 +3 755 4357 4893 +3 3805 4942 3127 +3 2836 3057 4966 +3 4361 1641 3532 +3 4905 3660 1541 +3 4022 3140 3238 +3 4946 3293 50 +3 3637 3236 51 +3 2688 2354 3311 +3 4081 3236 3394 +3 3318 2838 3324 +3 3732 4945 2590 +3 4919 4961 1778 +3 3199 4966 4909 +3 3047 4975 3135 +3 4788 2709 4791 +3 4948 3334 3267 +3 2402 4788 4791 +3 2732 3043 2402 +3 3681 2674 3595 +3 4962 3525 2456 +3 3782 4200 4962 +3 4200 4290 3657 +3 4290 3597 3657 +3 4200 3657 3557 +3 3033 2734 55 +3 1778 1671 914 +3 4919 1778 3660 +3 3733 5027 4919 +3 570 4515 4081 +3 5031 1490 1350 +3 1216 1985 2400 +3 3877 3821 4545 +3 3648 3647 755 +3 4362 4942 4377 +3 4500 4930 4388 +3 4999 4345 5000 +3 4146 5000 4935 +3 4641 3815 3816 +3 4502 4950 4085 +3 3167 3261 4146 +3 5046 4641 3816 +3 4801 3131 4788 +3 3732 5035 5027 +3 4391 4930 3815 +3 4085 4021 4502 +3 4424 4935 4343 +3 1271 4361 5039 +3 1271 4978 1641 +3 5038 3057 2489 +3 4979 3578 3585 +3 4893 570 668 +3 3585 3586 4979 +3 50 3475 3586 +3 3057 3050 4966 +3 3306 3357 4909 +3 4081 4515 3236 +3 4893 4022 4515 +3 950 958 1819 +3 3592 3334 4948 +3 3192 4791 2709 +3 1105 3647 1115 +3 3050 4905 2838 +3 4545 1105 3877 +3 2489 2836 2688 +3 2489 3057 2836 +3 2489 2688 3095 +3 2836 4966 2688 +3 4893 4502 4021 +3 3394 3236 3637 +3 3586 4946 50 +3 2616 2489 4947 +3 3057 4905 3050 +3 4788 3131 2709 +3 4947 2489 4946 +3 2616 2590 4945 +3 3585 4947 4946 +3 3057 5038 4905 +3 3660 5038 4949 +3 2590 2386 5035 +3 1920 1749 4424 +3 3050 4909 4966 +3 4946 3586 3585 +3 3821 3825 4545 +3 4909 3050 2838 +3 3732 3733 4949 +3 3733 4281 4949 +3 3733 4919 4281 +3 3249 3278 4240 +3 4919 3660 4281 +3 4979 2590 3578 +3 3660 4949 4281 +3 1541 3660 1819 +3 3276 3278 4899 +3 4788 3047 4801 +3 3047 4788 3033 +3 4948 3135 4975 +3 3033 2402 3043 +3 4500 4377 4942 +3 4791 3192 2402 +3 3043 2732 2734 +3 958 950 4295 +3 2838 3318 4909 +3 2732 2402 2398 +3 1819 958 1541 +3 4502 4893 4357 +3 1819 3660 1778 +3 3033 3043 2734 +3 2732 3681 2734 +3 4345 4999 3821 +3 1350 5035 2386 +3 2402 3192 2398 +3 4966 3199 2354 +3 3131 958 2709 +3 3131 1541 958 +3 3782 4295 950 +3 1490 5027 5035 +3 4295 2709 958 +3 1671 4961 1115 +3 950 4290 3782 +3 950 919 4290 +3 914 919 1778 +3 950 1819 919 +3 4962 4200 3557 +3 3782 4290 4200 +3 3525 4962 3557 +3 2386 2590 4979 +3 4945 3732 4949 +3 4988 4978 1216 +3 4919 4927 4961 +3 1105 4927 1125 +3 4961 1105 1115 +3 4961 4927 1105 +3 1350 5048 5031 +3 4962 3192 4295 +3 5048 1350 1398 +3 5035 1350 1490 +3 4343 5048 2400 +3 1398 4988 1216 +3 1749 1920 5053 +3 1266 4978 1271 +3 5031 4343 4345 +3 1216 4978 1266 +3 1350 2386 1398 +3 3732 5027 3733 +3 2398 2674 3681 +3 3192 4962 2398 +3 3578 4947 3585 +3 4978 4979 1641 +3 2838 1541 1724 +3 2398 4962 2674 +3 1398 2386 4988 +3 2398 3681 2732 +3 3140 4022 4021 +3 4127 3236 4515 +3 3236 3238 51 +3 3238 4127 4022 +3 4085 4240 3278 +3 4899 3238 3140 +3 3278 3276 4085 +3 3238 4561 51 +3 4515 570 4893 +3 1398 2400 5048 +3 668 570 3631 +3 5027 1490 1125 +3 570 3634 3631 +3 4357 755 3647 +3 563 3634 570 +3 1490 5031 3877 +3 4979 4988 2386 +3 4893 690 755 +3 51 4561 4391 +3 4561 3238 4899 +3 4942 3805 4500 +3 3816 4500 3805 +3 4021 3276 3140 +3 4388 4391 4561 +3 4949 5038 4945 +3 4893 4021 4022 +3 3167 5040 5046 +3 4502 4357 4545 +3 4388 4561 4377 +3 3825 3821 4999 +3 4377 4561 4362 +3 4388 4930 4391 +3 3249 3127 4942 +3 4240 4085 4950 +3 3238 3236 4127 +3 4362 4899 3278 +3 4240 4950 3825 +3 3127 3249 3834 +3 4076 5000 4146 +3 4545 4950 4502 +3 4935 4424 1749 +3 2590 2616 3578 +3 3660 4905 5038 +3 4930 3816 3815 +3 4343 5000 4345 +3 1745 3992 1749 +3 3134 3167 3992 +3 3992 4935 1749 +3 3992 4146 4935 +3 4391 1745 51 +3 4641 5046 5040 +3 4146 3992 3167 +3 3127 3834 4076 +3 3167 3134 5040 +3 4391 4641 3134 +3 4391 3815 4641 +3 3261 5046 3805 +3 3261 3167 5046 +3 3816 3805 5046 +3 3834 4240 3825 +3 3805 3127 3261 +3 4515 4022 4127 +3 3825 4999 3834 +3 5000 4343 4935 +3 4893 668 690 +3 4950 4545 3825 +3 4999 4076 3834 +3 4999 5000 4076 +3 4076 3261 3127 +3 4076 4146 3261 +3 4240 3834 3249 +3 4357 3647 4545 +3 5031 4345 3821 +3 3877 1125 1490 +3 4945 5038 2616 +3 1105 1125 3877 +3 4404 5039 4361 +3 5048 4343 5031 +3 4424 2400 1985 +3 5039 4404 1985 +3 5039 1216 1266 +3 4361 1271 1641 +3 4946 3095 3293 +3 5039 1266 1271 +3 4942 4362 3249 +3 5035 3732 2590 +3 2400 4424 4343 +3 3095 4946 2489 +3 1745 5053 51 +3 1745 1749 5053 +3 4899 4362 4561 +3 4424 1985 1920 +3 1920 4404 5053 +3 1920 1985 4404 +3 5053 4361 51 +3 5053 4404 4361 +3 3274 4975 55 +3 4975 3274 4948 +3 3033 4975 3047 +3 1724 3324 2838 +3 4947 3578 2616 +3 2489 2616 5038 +3 4500 3816 4930 +3 1105 4545 3647 +3 3324 1724 4801 +3 3135 3267 3268 +3 4801 3268 3324 +3 527 552 529 +3 2294 4720 3392 +3 2637 5045 64 +3 391 435 425 +3 521 1695 4318 +3 1748 2637 64 +3 1695 521 512 +3 300 662 2637 +3 4258 4613 4201 +3 805 768 4316 +3 4896 3392 4720 +3 768 805 316 +3 4137 575 344 +3 4969 4730 370 +3 4720 2294 3709 +3 4730 4969 67 +3 4605 4608 4896 +3 3995 4328 2204 +3 662 300 232 +3 207 4447 266 +3 1897 1899 376 +3 5036 4911 5022 +3 4018 4832 2868 +3 4832 4018 3857 +3 3994 5022 3959 +3 3857 4860 3860 +3 3857 3860 4832 +3 2868 4832 2862 +3 4062 2614 3464 +3 2868 2614 4018 +3 3457 2868 2862 +3 3457 2862 996 +3 3457 996 3586 +3 3475 68 3586 +3 4895 1882 1735 +3 4005 3998 4137 +3 1536 1315 4447 +3 2429 4993 1887 +3 376 1223 512 +3 266 232 207 +3 4860 5022 4911 +3 343 4179 1124 +3 662 4258 5045 +3 527 4447 209 +3 1699 1887 4993 +3 362 2109 410 +3 1740 5020 5044 +3 4318 529 521 +3 2429 5044 3307 +3 5020 4785 3307 +3 4062 4018 2614 +3 575 1698 344 +3 3998 1899 2214 +3 376 4996 1223 +3 391 304 435 +3 1740 1358 5021 +3 117 232 1124 +3 5036 3995 2256 +3 2204 2214 3995 +3 1897 2256 1899 +3 4121 611 794 +3 3959 4018 4060 +3 259 316 2918 +3 370 3709 2294 +3 4579 1695 512 +3 1690 585 611 +3 1124 266 1298 +3 1358 4328 4190 +3 1298 266 4447 +3 344 1698 316 +3 259 768 316 +3 122 326 611 +3 585 662 117 +3 4785 4062 3464 +3 1699 4993 4985 +3 2105 410 2109 +3 2102 67 4969 +3 4993 3301 4985 +3 4730 67 4729 +3 2102 2270 3307 +3 2102 3301 2270 +3 5044 5020 3307 +3 1882 4785 5020 +3 2270 2429 3307 +3 1739 1740 5044 +3 4993 2429 2270 +3 1739 5044 2429 +3 2105 2102 410 +3 3307 67 2102 +3 4985 3301 3315 +3 4993 2270 3301 +3 3301 2105 3315 +3 3301 2102 2105 +3 2105 2109 3315 +3 209 244 552 +3 2188 1739 1887 +3 244 209 391 +3 581 1887 1699 +3 1735 5020 1740 +3 2429 1887 1739 +3 611 585 122 +3 1887 581 2188 +3 1882 5020 1735 +3 615 5036 2256 +3 4328 1358 2188 +3 1899 3998 4996 +3 1358 1740 1739 +3 67 4785 3464 +3 67 3307 4785 +3 4996 376 1899 +3 4785 1882 4895 +3 316 326 344 +3 1739 2188 1358 +3 5022 4860 3857 +3 5022 3994 5036 +3 3959 3857 4018 +3 3457 2614 2868 +3 4062 4060 4018 +3 4062 4108 4060 +3 4190 3959 4108 +3 4060 4108 3959 +3 1735 5021 4895 +3 1315 1536 343 +3 996 3475 3586 +3 996 68 3475 +3 615 2256 1897 +3 3857 3959 5022 +3 3995 5036 3994 +3 2256 2214 1899 +3 5021 1735 1740 +3 2214 2256 3995 +3 344 343 1223 +3 207 232 300 +3 2214 2204 4165 +3 5045 4258 4201 +3 344 4005 4137 +3 4996 3998 4005 +3 326 4179 344 +3 2204 2188 581 +3 4108 4895 5021 +3 4179 343 344 +3 2188 2204 4328 +3 4895 4108 4062 +3 4328 3995 3994 +3 207 209 4447 +3 3998 4165 4137 +3 4190 5021 1358 +3 4165 575 4137 +3 581 1699 575 +3 512 1223 4579 +3 1223 4996 4005 +3 4319 343 1536 +3 4911 5036 615 +3 581 4165 2204 +3 1536 601 4319 +3 794 611 326 +3 4190 3994 3959 +3 343 4319 1223 +3 601 1695 4579 +3 552 527 209 +3 1695 601 4318 +3 244 391 425 +3 5021 4190 4108 +3 209 207 300 +3 4165 3998 2214 +3 4318 601 527 +3 486 304 496 +3 3994 4190 4328 +3 1748 304 2637 +3 486 435 304 +3 496 1748 64 +3 496 304 1748 +3 1536 527 601 +3 304 300 2637 +3 4447 527 1536 +3 300 304 391 +3 1315 1298 4447 +3 1315 1124 1298 +3 326 316 794 +3 1124 1315 343 +3 232 266 1124 +3 4319 4579 1223 +3 122 117 4179 +3 662 5045 2637 +3 4165 581 575 +3 2918 1698 4605 +3 4579 4319 601 +3 1690 4613 4258 +3 805 4120 794 +3 4342 4121 4120 +3 4120 4121 794 +3 4121 4342 1407 +3 1124 4179 117 +3 4258 662 585 +3 232 117 662 +3 117 122 585 +3 4179 326 122 +3 316 805 794 +3 3709 4730 4729 +3 1699 1698 575 +3 1699 4985 1698 +3 611 4121 1690 +3 1223 4005 344 +3 529 4318 527 +3 3315 3392 4608 +3 410 4969 362 +3 410 2102 4969 +3 585 1690 4258 +3 4608 4985 3315 +3 209 300 391 +3 2109 2294 3392 +3 4062 4785 4895 +3 4985 4608 1698 +3 3392 4896 4608 +3 2294 2109 362 +3 3392 3315 2109 +3 370 362 4969 +3 4316 4120 805 +3 4120 4316 4342 +3 3709 370 4730 +3 1407 1690 4121 +3 1690 1407 4613 +3 1698 2918 316 +3 362 370 2294 +3 4608 4605 1698 +3 4354 1280 1733 +3 4262 4304 4228 +3 42 4405 5053 +3 4003 4850 3987 +3 5052 4514 3867 +3 3871 4268 5052 +3 1982 714 4186 +3 3871 3867 4622 +3 614 3594 3564 +3 4162 1694 1245 +3 4405 4404 5053 +3 382 3722 46 +3 272 965 1726 +3 4229 4304 3164 +3 4727 3722 4262 +3 2073 296 3939 +3 3964 4069 545 +3 3964 3966 4069 +3 828 1280 655 +3 1900 4986 4996 +3 4271 4186 4183 +3 4986 1900 2254 +3 5051 5002 5028 +3 4024 4959 5002 +3 3483 4808 4850 +3 3594 3483 4850 +3 4404 5039 3483 +3 5054 4823 3987 +3 4024 5002 5051 +3 2920 4986 2254 +3 5054 3987 4024 +3 3564 4449 4837 +3 3964 4996 3966 +3 4271 4268 796 +3 4602 289 4789 +3 1842 4164 2016 +3 3867 4514 4833 +3 1652 3967 1661 +3 1280 4354 4390 +3 2073 1476 1437 +3 3967 1245 819 +3 1661 3967 819 +3 1605 1245 1694 +3 429 3814 590 +3 4162 1245 1443 +3 4576 272 2897 +3 1633 1982 4271 +3 3507 4826 353 +3 796 1633 4271 +3 4390 4831 1280 +3 655 376 3964 +3 4837 4449 4514 +3 3484 3553 4404 +3 4449 4833 4514 +3 3594 614 3484 +3 4826 5054 2254 +3 347 655 4831 +3 289 4465 4507 +3 4850 590 3594 +3 4183 4186 4164 +3 1900 353 4826 +3 4183 4164 309 +3 796 4268 3871 +3 309 1842 227 +3 4514 5052 4837 +3 4268 4183 41 +3 353 1900 376 +3 1605 2016 714 +3 167 272 4576 +3 272 167 965 +3 1842 1694 263 +3 965 167 1452 +3 309 227 685 +3 1443 1652 4205 +3 4186 714 2016 +3 1437 1733 828 +3 3867 3871 5052 +3 2073 1661 819 +3 1165 828 3964 +3 1443 3164 1452 +3 828 1165 1437 +3 1733 4602 4354 +3 531 545 4069 +3 4465 4622 3867 +3 4622 4465 289 +3 296 2073 1437 +3 1165 296 1437 +3 1165 3939 296 +3 819 1605 1476 +3 4205 3164 1443 +3 1476 2073 819 +3 1443 1452 4162 +3 1652 1245 3967 +3 1694 4162 263 +3 3939 1652 1661 +3 3939 1165 545 +3 1476 714 1733 +3 1443 1245 1652 +3 714 1476 1605 +3 227 263 685 +3 1726 965 2932 +3 1733 1437 1476 +3 4304 4262 1726 +3 4304 4229 4228 +3 4616 4229 3164 +3 1726 2932 4304 +3 4727 4228 4901 +3 4304 2932 3164 +3 382 4262 3722 +3 4229 4616 4901 +3 2897 382 46 +3 1726 4262 382 +3 4901 4228 4229 +3 4727 4262 4228 +3 3164 1703 4616 +3 1697 4616 1703 +3 1982 1633 4602 +3 4826 3507 325 +3 4602 1733 1982 +3 429 4003 4823 +3 1661 2073 3939 +3 167 4162 1452 +3 2016 1605 1694 +3 4576 685 167 +3 4205 3939 545 +3 1605 819 1245 +3 3964 545 1165 +3 3939 4205 1652 +3 1733 1280 828 +3 4823 437 429 +3 4831 4507 369 +3 3564 3594 4449 +3 4831 325 3507 +3 3814 4833 590 +3 1280 4831 655 +3 4831 4390 4507 +3 4823 4003 3987 +3 4823 5054 4826 +3 1633 796 4622 +3 4850 4808 3987 +3 4808 4024 3987 +3 4808 4959 4024 +3 2920 2254 5028 +3 5028 5054 5051 +3 5051 5054 4024 +3 5054 5028 2254 +3 5053 4404 3553 +3 4980 5039 4404 +3 4980 4405 42 +3 4980 4404 4405 +3 3553 3484 614 +3 4404 3483 3484 +3 3553 614 3564 +3 3484 3483 3594 +3 4833 4449 590 +3 590 4449 3594 +3 325 437 4826 +3 325 369 437 +3 965 1452 2932 +3 437 4836 429 +3 2932 1452 3164 +3 3867 3814 4465 +3 4465 4836 4507 +3 4836 437 369 +3 4507 4836 369 +3 4836 4465 3814 +3 3164 4205 1703 +3 3814 429 4836 +3 369 325 4831 +3 655 347 353 +3 4831 3507 347 +3 828 655 3964 +3 347 3507 353 +3 376 655 353 +3 167 263 4162 +3 3964 376 4996 +3 4826 2254 1900 +3 289 4602 1633 +3 1982 1733 714 +3 376 1900 4996 +3 4789 4390 4354 +3 4003 429 590 +3 4354 4602 4789 +3 4164 1842 309 +3 4622 289 1633 +3 4186 2016 4164 +3 4390 289 4507 +3 4390 4789 289 +3 437 4823 4826 +3 1694 1842 2016 +3 41 4183 309 +3 4186 4271 1982 +3 3871 4622 796 +3 4268 4271 4183 +3 382 272 1726 +3 272 382 2897 +3 590 4850 4003 +3 263 167 685 +3 3814 3867 4833 +3 263 227 1842 +3 1703 4205 1697 +3 1697 4205 531 +3 531 4205 545 +3 2594 2941 2706 +3 116 3963 5009 +3 3962 3960 67 +3 5009 4543 4467 +3 3237 2576 2995 +3 4883 3237 4763 +3 4626 4594 3460 +3 4883 4913 2960 +3 4673 4960 4883 +3 4027 4974 3956 +3 3411 3006 3353 +3 3260 598 66 +3 3008 4633 3730 +3 4611 3882 3802 +3 3412 4673 4883 +3 4543 5024 4467 +3 4467 5023 4466 +3 4972 4642 4998 +3 4466 107 4467 +3 2594 4027 2363 +3 2363 2942 2594 +3 5014 4971 4995 +3 4995 2941 5014 +3 4973 3956 4974 +3 2617 3260 66 +3 4603 2909 3030 +3 4722 4894 4898 +3 4633 3008 4647 +3 4743 3764 4722 +3 3764 4743 3728 +3 3764 3728 4721 +3 3281 4953 3283 +3 4721 4103 3764 +3 3283 3277 3802 +3 2909 4954 3030 +3 1118 598 4953 +3 1118 4953 3962 +3 4960 4913 4883 +3 3798 4681 4723 +3 3101 2885 4884 +3 3798 4723 3764 +3 2884 2885 3277 +3 4722 4898 4743 +3 4710 4954 3008 +3 4953 3281 3962 +3 4633 4647 4745 +3 4884 4753 3101 +3 4722 4723 4681 +3 2706 4151 2594 +3 3670 4710 3055 +3 4963 3353 2617 +3 4745 4603 4894 +3 3460 3412 4883 +3 4953 598 3277 +3 2576 3237 2575 +3 3730 4611 4769 +3 4685 4967 4151 +3 4738 3963 2575 +3 4151 2706 4109 +3 2599 4738 2575 +3 4647 2909 4603 +3 3745 4685 4109 +3 3237 2599 2575 +3 2939 2399 3242 +3 3745 3742 4685 +3 3911 4688 3415 +3 4710 4972 4971 +3 3101 3188 4769 +3 107 4973 110 +3 4974 110 4973 +3 3745 2575 3963 +3 4027 4967 4974 +3 2576 4109 2399 +3 3798 3283 3802 +3 3281 3960 3962 +3 1118 3962 67 +3 4894 4603 4666 +3 3764 3281 3798 +3 3764 4723 4722 +3 4894 4722 4681 +3 4753 4626 4632 +3 4894 4666 4898 +3 4633 3882 3730 +3 4632 4626 3523 +3 4594 4884 4595 +3 4883 4763 3460 +3 4688 2939 4981 +3 4611 3730 3882 +3 3353 3412 2887 +3 3055 3188 3670 +3 3415 3523 3911 +3 3882 4633 3802 +3 3802 4681 3798 +3 4594 2887 3412 +3 3412 3460 4594 +3 2887 2617 3353 +3 3619 4632 3415 +3 3802 3277 4611 +3 2887 4595 2884 +3 4953 3277 3283 +3 4710 4971 4954 +3 2706 3242 2399 +3 2934 2620 2884 +3 4753 3670 3188 +3 2884 2620 2887 +3 4626 4753 4884 +3 3277 2934 2884 +3 4595 4884 2885 +3 2885 3101 4611 +3 2884 4595 2885 +3 3055 4769 3188 +3 3101 4769 4611 +3 4642 4710 4638 +3 4611 3277 2885 +3 3277 598 2934 +3 2620 3260 2617 +3 3260 2620 2934 +3 3260 2934 598 +3 2887 2620 2617 +3 4963 2617 66 +3 4963 3411 3353 +3 4688 3429 3428 +3 3670 4632 3619 +3 4763 3911 3523 +3 4769 3055 3730 +3 3188 3101 4753 +3 3619 3428 4638 +3 4638 3428 4642 +3 4638 4710 3619 +3 4642 4972 4710 +3 4884 4594 4626 +3 4595 2887 4594 +3 4109 2576 3745 +3 4632 3670 4753 +3 3429 4981 4998 +3 4894 4681 4745 +3 3415 3428 3619 +3 4603 4745 4647 +3 116 199 4967 +3 3523 3415 4632 +3 3523 3460 4763 +3 3956 2363 4027 +3 3281 3764 4103 +3 3460 3523 4626 +3 4685 3742 116 +3 2960 2599 3237 +3 2909 4647 3008 +3 3963 116 3742 +3 3237 4883 2960 +3 2995 4763 3237 +3 2995 2399 2939 +3 2399 4109 2706 +3 3911 4763 2995 +3 3242 4981 2939 +3 2575 3745 2576 +3 4109 4685 4151 +3 2941 2594 2942 +3 2942 5014 2941 +3 3911 2939 4688 +3 3415 4688 3428 +3 3619 4710 3670 +3 4467 107 5001 +3 3963 3742 3745 +3 2594 4151 4027 +3 4151 4967 4027 +3 3242 2706 2941 +3 3802 4745 4681 +3 2939 3911 2995 +3 4972 4998 4981 +3 4995 4981 3242 +3 4642 3428 3429 +3 4642 3429 4998 +3 4603 3030 4666 +3 2399 2995 2576 +3 4995 4971 4972 +3 4995 4972 4981 +3 4103 3960 3281 +3 2941 4995 3242 +3 3008 3730 3055 +3 4974 4967 199 +3 4745 3802 4633 +3 110 4974 199 +3 3798 3281 3283 +3 5001 110 199 +3 5024 5023 4467 +3 5009 4467 5001 +3 65 5023 5024 +3 65 5024 4543 +3 116 5009 5001 +3 116 5001 199 +3 3008 4954 2909 +3 4685 116 4967 +3 3412 3353 4673 +3 3353 3006 4673 +3 110 5001 107 +3 3008 3055 4710 +3 4981 3429 4688 +3 4294 2645 2646 +3 3595 3493 3593 +3 2674 4962 2462 +3 3593 2649 2467 +3 3702 1873 4115 +3 4961 2659 4951 +3 4356 4375 3823 +3 929 4375 4356 +3 920 1296 4169 +3 3165 3163 4393 +3 3165 788 3163 +3 2437 4313 2442 +3 4303 874 4285 +3 1668 733 1835 +3 60 1296 920 +3 2716 3702 866 +3 4951 5027 4927 +3 3593 2628 2649 +3 3560 4294 922 +3 2659 1781 1793 +3 2433 4285 2437 +3 1873 3493 1870 +3 2686 4951 2683 +3 3493 1873 3702 +3 1506 1504 60 +3 2691 5027 2686 +3 2691 5035 5027 +3 793 3879 782 +3 1656 1925 1401 +3 1352 4375 929 +3 2864 462 4983 +3 4371 1619 733 +3 4983 3355 2864 +3 462 988 59 +3 3530 59 3552 +3 1969 4938 1870 +3 1870 2596 1969 +3 920 1506 60 +3 4490 2433 4990 +3 788 4428 3163 +3 4488 60 1504 +3 1873 920 4169 +3 874 1479 4285 +3 3823 3879 4396 +3 1925 1656 4980 +3 4361 1271 1639 +3 929 733 1352 +3 2386 2474 4983 +3 1669 5043 793 +3 2496 928 1619 +3 2596 3617 1835 +3 1969 928 4938 +3 4962 2645 4294 +3 928 1969 1619 +3 2716 2628 3493 +3 2433 4490 2837 +3 884 1506 920 +3 793 5027 5035 +3 4393 60 2442 +3 4376 4931 1504 +3 4396 5041 4344 +3 4990 2437 2442 +3 2837 2496 4371 +3 4990 2433 2437 +3 795 4555 4428 +3 2837 4303 2433 +3 4303 4371 929 +3 4400 1479 874 +3 1901 1925 4405 +3 793 5041 3879 +3 1656 1263 4980 +3 1504 1506 4376 +3 3488 4983 462 +3 2864 988 462 +3 3530 3488 462 +3 4927 1352 4961 +3 2682 2683 4951 +3 3488 3530 3552 +3 462 59 3530 +3 1639 3488 3552 +3 1639 4983 3488 +3 1925 1901 2472 +3 4375 1352 3879 +3 4361 1639 3552 +3 4978 4983 1639 +3 4951 2659 2682 +3 1401 1669 2386 +3 4961 1778 2659 +3 1401 2386 4988 +3 4978 1656 4988 +3 4988 1656 1401 +3 2472 4425 5043 +3 1352 733 4961 +3 1835 1969 2596 +3 4951 4927 4961 +3 4285 2433 4303 +3 1668 919 1778 +3 2686 5027 4951 +3 1668 4290 919 +3 1835 4290 1668 +3 1781 2659 1778 +3 1778 4961 1668 +3 2474 2386 5035 +3 4962 3560 4200 +3 922 1781 919 +3 3617 4200 4290 +3 1835 3617 4290 +3 963 4294 2646 +3 4294 3560 4962 +3 2645 4962 2674 +3 3493 2628 3593 +3 922 1793 1781 +3 733 1668 4961 +3 3595 2674 3493 +3 922 963 1793 +3 63 2626 866 +3 2716 3493 3702 +3 63 866 849 +3 1619 1835 733 +3 2674 2462 3493 +3 2626 2716 866 +3 2626 2628 2716 +3 4962 3617 2462 +3 4962 4200 3617 +3 3560 4290 4200 +3 3560 922 4290 +3 922 919 4290 +3 4983 4978 4988 +3 1781 1778 919 +3 1870 4938 1873 +3 1372 4370 4376 +3 4371 4303 2837 +3 874 929 4356 +3 4371 733 929 +3 4428 788 795 +3 1479 4400 4555 +3 4370 4902 4931 +3 2496 2837 4902 +3 4938 928 1372 +3 1873 4169 4115 +3 4938 1372 1378 +3 4902 4370 2496 +3 1835 1619 1969 +3 1378 1506 884 +3 4938 1378 884 +3 4931 4376 4370 +3 4931 4488 1504 +3 4990 60 4488 +3 884 1873 4938 +3 4902 4488 4931 +3 4902 4490 4488 +3 4902 2837 4490 +3 4490 4990 4488 +3 2442 60 4990 +3 4983 4988 2386 +3 928 2496 4370 +3 788 4313 795 +3 874 4356 4400 +3 4313 2437 4285 +3 1873 884 920 +3 4555 795 1479 +3 4303 929 874 +3 1669 2472 5043 +3 782 3879 1352 +3 4313 1479 795 +3 4370 1372 928 +3 2442 3165 4393 +3 4313 788 3165 +3 2442 4313 3165 +3 4285 1479 4313 +3 1271 4361 4980 +3 5041 4396 3879 +3 4980 4405 1925 +3 4405 4980 4361 +3 5043 4344 5041 +3 1401 2472 1669 +3 793 5043 5041 +3 1619 4371 2496 +3 1639 1271 4978 +3 1271 4980 1263 +3 4978 1271 1263 +3 1378 4376 1506 +3 1656 4978 1263 +3 5027 793 782 +3 2462 2596 3493 +3 2386 1669 5035 +3 4927 5027 782 +3 4376 1378 1372 +3 4927 782 1352 +3 4344 5043 4425 +3 5035 1669 793 +3 1401 1925 2472 +3 3617 2596 2462 +3 4425 2472 1901 +3 2467 3595 3593 +3 2467 2674 3595 +3 963 922 4294 +3 2674 2467 2645 +3 2596 1870 3493 +3 866 4115 849 +3 3702 4115 866 +3 4983 2679 3355 +3 4983 2474 2679 +3 3879 3823 4375 +3 2474 5035 2691 +3 2440 3624 5 +3 4994 5014 4995 +3 3925 4765 3691 +3 3065 4744 3968 +3 2975 3079 2972 +3 2434 3682 4134 +3 93 3262 91 +3 4763 3911 4765 +3 2954 93 2951 +3 2976 2954 3002 +3 3641 2976 4670 +3 0 3641 4670 +3 3632 4744 3629 +3 1010 1016 2845 +3 4237 2845 2847 +3 4237 2847 4209 +3 2847 526 4209 +3 2861 2865 4774 +3 3800 1010 4237 +3 5042 5014 4606 +3 2865 2867 4923 +3 3102 2861 3925 +3 3925 4700 3102 +3 4684 4882 4170 +3 4170 3968 3632 +3 3984 3470 3605 +3 184 4445 419 +3 3971 3081 3605 +3 5042 4455 5005 +3 3081 3410 3085 +3 4472 4606 5014 +3 3470 3984 4870 +3 4870 3471 3470 +3 2608 189 2660 +3 2608 3471 4870 +3 2045 2020 2212 +3 4882 4960 2963 +3 488 4552 91 +3 93 1881 2951 +3 2954 2951 3002 +3 2976 3002 4670 +3 419 2281 184 +3 5019 3969 5017 +3 4744 3065 2382 +3 4775 4700 3691 +3 2972 3079 3063 +3 3629 4684 3632 +3 3232 4606 2692 +3 4472 3471 2660 +3 1844 2212 2020 +3 2277 184 2281 +3 4744 4692 3629 +3 4981 4775 4688 +3 2173 4129 3929 +3 4636 2867 2871 +3 4765 3925 4774 +3 3911 4688 3691 +3 4170 3632 4684 +3 4960 4882 4883 +3 2660 3471 2608 +3 2473 91 2439 +3 3968 4744 3632 +3 4684 4763 4883 +3 4868 3076 4 +3 419 4552 488 +3 3682 3627 4128 +3 419 1844 2281 +3 2277 2281 1844 +3 3079 4866 3063 +3 4891 4774 4923 +3 3087 3410 3081 +3 5019 2314 2317 +3 2473 1844 1830 +3 4960 3076 2963 +3 3366 2212 1844 +3 2963 4170 4882 +3 5017 3605 3470 +3 4960 4883 4575 +3 3254 3366 1844 +3 2212 3366 2209 +3 4134 4128 4864 +3 3366 4864 2209 +3 1010 2845 4237 +3 4403 4970 4209 +3 5 1016 1010 +3 4822 4403 4784 +3 4970 3800 4237 +3 4784 1141 3062 +3 4784 3062 4822 +3 3062 1141 2856 +3 4774 3925 2861 +3 3232 2692 2209 +3 3232 4491 4606 +3 184 189 4445 +3 4923 4774 2865 +3 2856 4455 3062 +3 4455 5042 4491 +3 2493 4970 4403 +3 3911 4763 3629 +3 2692 4606 4472 +3 5017 2314 5019 +3 4606 4491 5042 +3 5014 5042 5005 +3 4891 4575 4883 +3 2873 4636 2871 +3 3971 5017 3969 +3 3691 4765 3911 +3 3076 4960 4575 +3 5005 4700 4775 +3 4636 2873 4575 +3 3605 5017 3971 +3 3969 3063 3971 +3 488 1844 419 +3 4923 2867 4636 +3 3063 4866 3087 +3 4688 2314 4994 +3 3629 4763 4684 +3 4995 5005 4775 +3 4688 4775 3691 +3 3081 3971 3087 +3 3629 4692 3911 +3 4692 4688 3911 +3 4883 4763 4891 +3 4128 4134 3682 +3 4774 4891 4765 +3 3254 2473 2439 +3 2963 3076 4868 +3 4882 4684 4883 +3 3605 3085 3984 +3 2975 3968 4170 +3 4868 4778 2963 +3 3691 4700 3925 +3 3079 2975 4778 +3 2975 4170 2963 +3 2975 2963 4778 +3 2314 4688 4692 +3 4765 4891 4763 +3 2382 5019 2317 +3 2382 2317 4692 +3 3081 3085 3605 +3 2317 2314 4692 +3 4995 4775 4981 +3 4994 4981 4688 +3 5014 5005 4995 +3 5014 4994 3470 +3 2314 5017 4994 +3 4981 4994 4995 +3 4134 3254 2434 +3 3087 3971 3063 +3 3627 3624 3929 +3 3470 3471 5014 +3 3063 3969 2972 +3 3929 2440 2186 +3 3929 2186 2173 +3 4887 3410 3087 +3 4887 3087 4866 +3 3065 5019 2382 +3 2972 3968 2975 +3 3969 3065 2972 +3 2382 4692 4744 +3 3969 5019 3065 +3 4575 4923 4636 +3 5014 3471 4472 +3 2045 2277 2020 +3 2660 189 184 +3 2660 184 2277 +3 3968 2972 3065 +3 4472 2660 2277 +3 4445 4876 419 +3 419 4876 4552 +3 2045 4472 2277 +3 2020 2277 1844 +3 2692 4472 2045 +3 2692 2045 2212 +3 3366 3254 4134 +3 3262 3642 2439 +3 1830 1844 488 +3 91 4552 1881 +3 1830 488 91 +3 1830 91 2473 +3 2492 2209 4864 +3 4403 4822 2492 +3 2493 2492 4413 +3 2212 2209 2692 +3 4129 2173 2493 +3 2492 4822 2209 +3 4923 4575 4891 +3 4403 2492 2493 +3 4455 3232 3062 +3 3232 4822 3062 +3 4455 4491 3232 +3 4822 3232 2209 +3 4403 4209 4784 +3 4970 2493 2173 +3 4970 4237 4209 +3 3800 4970 2173 +3 2856 3102 4700 +3 2186 3800 2173 +3 91 1881 93 +3 3470 4994 5017 +3 3929 3624 2440 +3 2186 2440 3800 +3 4128 3929 4129 +3 4128 4413 4864 +3 4413 4129 2493 +3 4129 4413 4128 +3 3254 2439 2434 +3 3366 4134 4864 +3 3262 2439 91 +3 2473 3254 1844 +3 3627 3929 4128 +3 4864 4413 2492 +3 2436 3682 2434 +3 2434 2439 3642 +3 2436 2434 3642 +3 526 1141 4784 +3 4784 4209 526 +3 3800 2440 5 +3 3800 5 1010 +3 4700 5005 4455 +3 4700 4455 2856 +3 4575 2873 3076 +3 2873 4 3076 +3 3649 637 1863 +3 1863 1782 3649 +3 679 43 637 +3 3255 3419 3789 +3 697 668 3631 +3 1749 5053 3553 +3 4935 1848 1749 +3 892 5000 882 +3 281 3892 3904 +3 899 1848 892 +3 882 4999 851 +3 1749 1848 5053 +3 5053 1848 42 +3 4893 3836 4502 +3 4184 4268 41 +3 3910 3904 4268 +3 3211 4916 1441 +3 4935 892 1848 +3 1390 2069 679 +3 1049 1390 679 +3 1049 1386 1390 +3 3631 668 661 +3 408 3590 853 +3 3744 3548 3480 +3 3537 1081 2089 +3 3758 3423 3419 +3 1221 1312 872 +3 3329 3330 3744 +3 3495 4858 3596 +3 4799 3946 4797 +3 1795 284 293 +3 1795 293 1651 +3 843 4333 4335 +3 4333 843 3836 +3 2022 1521 1764 +3 3330 3329 4538 +3 3556 3554 4829 +3 286 408 4950 +3 851 4999 3836 +3 4335 788 4428 +3 5000 3551 4999 +3 4916 844 536 +3 4950 3825 286 +3 851 3836 843 +3 801 281 4597 +3 3892 1795 4924 +3 4829 1795 1651 +3 3556 1891 1446 +3 1759 1757 4926 +3 4799 4829 3554 +3 4858 3946 3596 +3 3554 4817 3596 +3 3946 3554 3596 +3 620 1081 4935 +3 4502 3836 4373 +3 42 1848 899 +3 882 5000 4999 +3 802 4428 788 +3 3836 3825 4373 +3 3553 620 1749 +3 3494 3551 3537 +3 3904 4924 5052 +3 844 3590 3556 +3 1256 1242 284 +3 4950 4373 3825 +3 2890 752 1074 +3 3255 763 770 +3 4333 697 3633 +3 4335 802 843 +3 4398 3456 3211 +3 4415 3633 4520 +3 1309 4086 3099 +3 4086 1309 1312 +3 4520 3633 661 +3 3633 4415 3655 +3 4084 3744 3330 +3 4829 1891 3556 +3 4312 789 801 +3 1256 284 789 +3 3456 4084 3330 +3 3744 4084 1585 +3 801 4597 3910 +3 3904 5052 4268 +3 801 3910 4268 +3 4597 3904 3910 +3 4312 801 4268 +3 789 281 801 +3 789 284 281 +3 1242 293 284 +3 1519 4184 41 +3 1519 1521 2022 +3 4184 2022 1764 +3 4184 1519 2022 +3 4184 1764 4312 +3 1521 1510 4310 +3 4312 1256 789 +3 4310 1510 1242 +3 4184 4312 4268 +3 1764 1256 4312 +3 1801 4926 1991 +3 4924 1801 1991 +3 281 3904 4597 +3 284 1795 3892 +3 3564 620 3553 +3 1651 1891 4829 +3 1757 1759 4837 +3 4924 1991 5052 +3 1795 1801 4924 +3 1991 1757 5052 +3 1991 4926 1757 +3 3495 288 3494 +3 1757 4837 5052 +3 3596 286 3495 +3 4416 3655 4415 +3 286 3596 4817 +3 1801 3946 4858 +3 661 4502 853 +3 4924 3904 3892 +3 4520 853 844 +3 408 286 4817 +3 3551 3494 288 +3 286 3825 288 +3 3551 5000 1081 +3 3655 4335 4333 +3 5000 4935 1081 +3 3545 4916 4538 +3 4916 3211 4539 +3 3836 4893 4333 +3 853 4502 408 +3 4893 697 4333 +3 4502 4950 408 +3 4502 4373 4950 +3 620 4935 1749 +3 2089 620 3564 +3 4837 1759 2089 +3 788 4335 770 +3 4428 802 4335 +3 4916 536 1441 +3 3655 4416 3255 +3 4879 3495 3494 +3 4842 3494 3537 +3 1795 3946 1801 +3 4842 3537 1759 +3 4837 2089 3564 +3 1759 3537 2089 +3 3946 1795 4797 +3 4879 3494 4842 +3 4879 4858 3495 +3 4797 1795 4829 +3 4829 4799 4797 +3 3554 3946 4799 +3 661 4893 4502 +3 668 697 4893 +3 3456 4398 4084 +3 3548 3996 3419 +3 3329 3419 3423 +3 3480 3548 3419 +3 3495 286 288 +3 668 4893 661 +3 3633 3631 661 +3 3633 697 3631 +3 3421 4415 3545 +3 3655 4333 3633 +3 3996 3789 3419 +3 1782 763 3789 +3 3423 4416 3421 +3 3789 763 3255 +3 288 4999 3551 +3 4916 3545 844 +3 3996 3649 3789 +3 1782 3789 3649 +3 3996 2860 637 +3 2069 43 679 +3 2890 1049 752 +3 637 3649 3996 +3 637 2860 679 +3 3996 3548 1074 +3 2860 1049 679 +3 2890 1074 3548 +3 2860 752 1049 +3 2890 3548 3744 +3 3329 3744 3480 +3 1585 1386 2890 +3 2860 1074 752 +3 2860 3996 1074 +3 1585 2890 3744 +3 1386 1049 2890 +3 3419 3329 3480 +3 3423 4538 3329 +3 1585 4084 1221 +3 4335 3655 770 +3 4539 4538 4916 +3 4538 3421 3545 +3 4538 3423 3421 +3 3545 4520 844 +3 3419 3255 3758 +3 4520 3545 4415 +3 3758 3255 4416 +3 4817 3590 408 +3 4520 661 853 +3 4999 288 3825 +3 4416 3423 3758 +3 3590 844 853 +3 1585 1221 872 +3 4539 3456 3330 +3 620 2089 1081 +3 4538 4539 3330 +3 770 3655 3255 +3 1764 4310 1256 +3 1764 1521 4310 +3 3554 3556 4817 +3 3556 536 844 +3 4817 3556 3590 +3 1446 536 3556 +3 1081 3537 3551 +3 1242 1256 4310 +3 4539 3211 3456 +3 4086 4398 3211 +3 1441 3099 3211 +3 3099 1411 1309 +3 4084 4398 1221 +3 3211 3099 4086 +3 1441 1411 3099 +3 1312 4398 4086 +3 4398 1312 1221 +3 3892 281 284 +3 4415 3421 4416 +3 4926 4842 1759 +3 3825 3836 4999 +3 892 4935 5000 +3 1801 4858 4926 +3 4926 4879 4842 +3 4926 4858 4879 +3 4723 4722 3695 +3 519 2498 2983 +3 4828 2989 4786 +3 2769 2498 519 +3 4894 4603 3943 +3 3359 5006 3067 +3 3359 3067 4635 +3 3999 4732 4000 +3 4000 4699 3999 +3 4922 4773 4918 +3 4918 4577 4922 +3 3999 4699 4701 +3 4701 5010 5007 +3 4453 4454 3075 +3 4968 4483 4955 +3 4955 3752 4968 +3 2987 4776 433 +3 4786 4482 4828 +3 3621 72 1257 +3 2989 5015 4453 +3 4667 1254 1750 +3 917 483 910 +3 5011 1762 694 +3 910 2717 917 +3 694 433 5011 +3 2717 910 3940 +3 3798 3828 3801 +3 3042 4733 3302 +3 1555 432 436 +3 3697 4736 3696 +3 3582 629 638 +3 3582 638 1753 +3 3942 2988 4631 +3 3943 3942 3582 +3 910 483 4725 +3 2983 511 519 +3 4482 4955 4483 +3 694 1078 433 +3 4725 483 1171 +3 4603 4741 4648 +3 3038 3016 4732 +3 4741 3801 4908 +3 3943 3940 4894 +3 732 432 4954 +3 4908 4648 4741 +3 4736 3801 3828 +3 4631 1555 436 +3 4723 4682 4722 +3 4723 3695 3798 +3 3798 4682 4723 +3 2909 4648 2984 +3 3696 4644 3697 +3 1171 4953 3279 +3 4650 3818 3696 +3 3302 3818 3042 +3 2983 75 1118 +3 1171 483 511 +3 5010 4701 4699 +3 3752 3621 3756 +3 2909 4954 2988 +3 3940 3695 4722 +3 3302 4733 2984 +3 5032 4624 75 +3 5010 4454 5007 +3 2909 2988 3942 +3 4650 3696 4736 +3 5015 5007 4453 +3 5007 4454 4453 +3 4243 4776 4483 +3 1160 1750 1522 +3 433 1078 5015 +3 1753 917 2717 +3 3016 4707 4650 +3 1555 4631 2988 +3 4631 3582 3942 +3 732 4954 5015 +3 732 5015 1078 +3 3694 3940 910 +3 2987 2989 4828 +3 4968 3756 4302 +3 3801 4741 4682 +3 3756 3623 1821 +3 809 4168 4174 +3 4667 1160 3659 +3 4174 1522 809 +3 3263 4624 4736 +3 3695 3279 3798 +3 4736 4624 4650 +3 4106 1171 3279 +3 629 3582 4631 +3 4631 436 629 +3 910 4725 3694 +3 3940 3943 2717 +3 2717 3582 1753 +3 3694 4725 4106 +3 3940 3694 3695 +3 3798 3283 3828 +3 3695 3694 4106 +3 1171 1118 4953 +3 3695 4106 3279 +3 1171 2983 1118 +3 3798 3279 3283 +3 3828 4953 3263 +3 3283 3279 4953 +3 3283 4953 3828 +3 76 2498 2769 +3 76 2769 519 +3 511 2983 1171 +3 4725 1171 4106 +3 3828 3263 4736 +3 4731 3302 2984 +3 1118 75 3263 +3 1118 3263 4953 +3 4722 4894 3940 +3 3801 4682 3798 +3 3042 4707 3038 +3 2984 4954 2909 +3 4732 3999 3038 +3 4648 4908 4731 +3 4731 2984 4648 +3 4722 4682 4894 +3 3801 3697 4908 +3 4733 5015 2984 +3 4644 3302 4731 +3 4954 432 2988 +3 3801 4736 3697 +3 4644 3696 3818 +3 4908 3697 4644 +3 4908 4644 4731 +3 4707 3042 3818 +3 5015 4954 2984 +3 3999 4701 3042 +3 4741 4603 4894 +3 4701 4733 3042 +3 4648 2909 4603 +3 3075 4786 2989 +3 3942 3943 4603 +3 3263 75 4624 +3 3818 4650 4707 +3 5032 5006 3359 +3 5032 3026 4624 +3 3756 4968 3752 +3 4577 4918 3026 +3 3359 4577 3026 +3 3359 3026 5032 +3 4918 4732 3016 +3 3026 3016 4650 +3 4650 4624 3026 +3 3016 3026 4918 +3 4776 2987 4828 +3 3756 3621 3623 +3 4776 4243 5011 +3 4828 4483 4776 +3 1522 4174 1160 +3 5011 433 4776 +3 3582 2717 3943 +3 3623 3621 1257 +3 433 5015 2987 +3 3016 3038 4707 +3 3042 3038 3999 +3 5015 4733 5007 +3 4603 2909 3942 +3 4894 4682 4741 +3 4168 809 1762 +3 4302 1821 4174 +3 1750 1160 4667 +3 1254 4667 3659 +3 1257 1254 3659 +3 4243 4302 4168 +3 3623 1257 3659 +3 3659 1821 3623 +3 1821 4302 3756 +3 4174 4168 4302 +3 1821 3659 1160 +3 1762 5011 4168 +3 4483 4968 4243 +3 4168 5011 4243 +3 1160 4174 1821 +3 2989 2987 5015 +3 4732 4918 4773 +3 4773 4000 4732 +3 4483 4828 4482 +3 4635 4922 4577 +3 4577 3359 4635 +3 2989 4453 3075 +3 2988 432 1555 +3 4302 4243 4968 +3 3302 4644 3818 +3 4701 5007 4733 +3 1492 1484 270 +3 627 361 3913 +3 1484 14 1000 +3 3261 974 390 +3 338 4796 312 +3 4924 3904 3156 +3 4076 4130 4999 +3 4564 4509 3796 +3 9 4509 4564 +3 4597 801 1626 +3 3904 3917 4465 +3 437 4823 4827 +3 3574 4999 288 +3 4587 4397 2577 +3 1801 1986 4501 +3 851 4516 4397 +3 851 4999 4130 +3 4987 2559 4517 +3 4987 4517 10 +3 5018 1492 270 +3 1236 1599 270 +3 1123 4047 1599 +3 1599 4047 4095 +3 4836 4465 3913 +3 4860 4827 5022 +3 1903 4952 1902 +3 1902 4952 2639 +3 2639 5026 2574 +3 4952 3808 5026 +3 351 1131 2591 +3 562 3506 351 +3 1131 5031 1346 +3 817 5041 4396 +3 4587 817 851 +3 851 4130 4516 +3 4987 2577 2559 +3 4130 4076 3240 +3 796 801 4597 +3 4130 3240 3239 +3 371 3913 361 +3 4795 4358 4565 +3 278 4358 577 +3 1983 4429 449 +3 361 4810 3820 +3 1599 1236 1123 +3 4516 4130 4251 +3 4620 4359 4795 +3 1649 1635 4565 +3 361 627 449 +3 4620 4565 1635 +3 3917 627 3913 +3 4047 5022 4009 +3 1983 449 627 +3 4465 4622 3904 +3 3506 288 4345 +3 1131 4835 2591 +3 3808 4017 1892 +3 1903 5051 5054 +3 4641 5046 387 +3 3506 1131 351 +3 3239 3240 4641 +3 3451 390 3252 +3 4564 3797 4597 +3 5041 5031 4345 +3 4827 338 312 +3 4397 4587 851 +3 390 5046 3261 +3 1986 1801 4858 +3 4823 437 371 +3 4924 4501 3917 +3 1801 4924 1798 +3 3917 3904 4924 +3 3904 3797 3156 +3 3904 4597 3797 +3 5018 1599 4095 +3 5018 270 1599 +3 270 1484 1000 +3 1492 14 1484 +3 1236 278 1123 +3 3156 3155 1798 +3 4358 4359 577 +3 4860 567 338 +3 4565 4620 4795 +3 4358 4795 4359 +3 4017 4952 1903 +3 1892 4835 3808 +3 386 312 4796 +3 4622 4620 1635 +3 4565 640 1649 +3 371 3820 4823 +3 4622 4465 4620 +3 4860 5022 4047 +3 4952 4017 3808 +3 4796 338 567 +3 4095 4047 4009 +3 577 567 4860 +3 5054 5022 4827 +3 4047 577 4860 +3 3820 1909 4823 +3 1909 1892 4017 +3 390 3797 3796 +3 1903 1909 4017 +3 1909 3820 1892 +3 2591 4835 1892 +3 390 3796 387 +3 5051 5022 5054 +3 5004 1902 2639 +3 278 4565 4358 +3 5051 1902 5004 +3 5051 1903 1902 +3 5004 2639 2574 +3 4952 5026 2639 +3 4796 4359 4351 +3 4810 1892 3820 +3 4823 1909 5054 +3 2591 1892 4810 +3 1909 1903 5054 +3 3797 3451 3156 +3 437 4836 371 +3 4823 5054 4827 +3 577 1123 278 +3 4810 361 449 +3 3574 4076 4999 +3 437 386 4836 +3 1123 577 4047 +3 4076 3574 974 +3 312 437 4827 +3 312 386 437 +3 4858 3495 4429 +3 4429 351 449 +3 3496 3495 4858 +3 4501 627 3917 +3 4796 4351 386 +3 386 4351 4465 +3 3495 562 351 +3 3495 288 562 +3 288 3506 562 +3 1131 1346 4835 +3 4345 1131 3506 +3 4345 5031 1131 +3 2591 449 351 +3 5041 4345 4396 +3 3240 4076 3261 +3 4999 4345 288 +3 4641 3240 5046 +3 4359 4796 577 +3 4251 4130 3239 +3 2577 4397 2559 +3 974 3261 4076 +3 4396 4345 4999 +3 4620 4465 4351 +3 5046 3240 3261 +3 577 4796 567 +3 3797 4564 3796 +3 338 4827 4860 +3 974 3252 390 +3 3495 3574 288 +3 3574 3496 974 +3 3252 3155 3451 +3 4014 4858 1801 +3 5046 390 387 +3 3496 4858 4014 +3 4429 3495 351 +3 3252 974 3496 +3 3252 4014 3155 +3 3252 3496 4014 +3 4465 3917 3913 +3 4501 1983 627 +3 4429 1986 4858 +3 4429 1983 1986 +3 449 2591 4810 +3 1986 1983 4501 +3 4622 4597 3904 +3 1635 796 4622 +3 3820 371 361 +3 4465 4836 386 +3 3913 371 4836 +3 4351 4359 4620 +3 1626 4564 4597 +3 1626 9 4564 +3 4597 4622 796 +3 4501 4924 1801 +3 1798 4014 1801 +3 1798 4924 3156 +3 4014 1798 3155 +3 4565 278 640 +3 270 278 1236 +3 278 270 640 +3 3155 3156 3451 +3 3496 3574 3495 +3 4999 851 4396 +3 4396 851 817 +3 3797 390 3451 +3 3472 4671 2529 +3 4934 4777 4943 +3 3455 4704 3658 +3 3658 3473 3455 +3 3528 4582 4885 +3 79 3702 2716 +3 3491 3351 4532 +3 4656 4089 4088 +3 3023 4939 3022 +3 4912 4939 4964 +3 4115 3489 4382 +3 4678 4457 4760 +3 4532 4535 3409 +3 4780 3190 4525 +3 4964 3179 3180 +3 4364 74 4096 +3 2203 3658 4704 +3 75 2617 4963 +3 4689 4694 2123 +3 4885 4755 3375 +3 2644 2677 3497 +3 3872 4912 4964 +3 791 4689 2129 +3 2300 4457 2728 +3 3180 2705 434 +3 4848 2636 2638 +3 4088 2364 4758 +3 2529 4458 4663 +3 434 2716 1754 +3 428 2714 434 +3 2129 2123 2677 +3 4525 3350 3628 +3 2129 2655 791 +3 3497 2203 3375 +3 79 3489 3702 +3 2716 434 2714 +3 3022 4678 3023 +3 4663 3231 2352 +3 4671 3472 3473 +3 2352 2349 4748 +3 4663 4678 3231 +3 2349 2352 3231 +3 3022 4758 3231 +3 4912 4703 4653 +3 3343 4748 2349 +3 4718 4657 4752 +3 4653 4656 4758 +3 4703 4656 4653 +3 4718 4912 4223 +3 4752 4657 4703 +3 74 3409 4535 +3 3179 4760 4848 +3 3104 4748 3343 +3 74 4089 4096 +3 4088 4934 4853 +3 4943 4852 4853 +3 4748 3104 4782 +3 4943 4853 4934 +3 4885 3426 3528 +3 2677 2644 2655 +3 4963 2617 2876 +3 2875 2876 3542 +3 2642 3497 4770 +3 2203 3497 2677 +3 1594 1610 4755 +3 2677 2123 2203 +3 2705 428 434 +3 1754 2716 3702 +3 4610 3472 2529 +3 3180 2787 2705 +3 2529 2352 4610 +3 4848 2638 2694 +3 2636 4848 4760 +3 3180 4848 2787 +3 4848 2694 2787 +3 2364 2349 4758 +3 4760 2798 2636 +3 4657 4096 4089 +3 4848 3180 3179 +3 4458 4457 4663 +3 3105 3104 4777 +3 3872 4964 3180 +3 2123 4694 3658 +3 4457 4458 2728 +3 3658 2203 2123 +3 3022 3231 4678 +3 3702 4115 3872 +3 2349 2364 3343 +3 4457 4678 4663 +3 4653 4758 3022 +3 4088 4758 4656 +3 4718 4752 4912 +3 3872 3180 434 +3 3884 4223 3872 +3 3884 3872 4382 +3 4657 4656 4703 +3 4752 4703 4912 +3 3702 3489 4115 +3 2352 2529 4663 +3 4223 4912 3872 +3 4382 3872 4115 +3 4096 4223 3890 +3 4657 4718 4096 +3 4364 4096 3890 +3 3890 4223 3884 +3 3890 3884 4382 +3 434 1754 3872 +3 4458 2529 2728 +3 4457 2798 4760 +3 4748 4610 2352 +3 1754 3702 3872 +3 4943 3104 3343 +3 4089 4934 4088 +3 4770 1822 2642 +3 4088 2373 2364 +3 4852 3343 2364 +3 4939 4912 4653 +3 2364 2373 4852 +3 4089 4656 4657 +3 4653 3022 4939 +3 2728 2529 4671 +3 4782 3104 3105 +3 3104 4943 4777 +3 4782 3105 4780 +3 4782 4523 4610 +3 3231 4758 2349 +3 4532 3409 3491 +3 2373 4853 4852 +3 4964 3023 3179 +3 3343 4852 4943 +3 4762 3147 4535 +3 3147 4777 4934 +3 4853 2373 4088 +3 3105 4777 3147 +3 74 4934 4089 +3 3105 3147 4780 +3 3147 3190 4780 +3 74 4535 3147 +3 74 3147 4934 +3 3190 3147 4762 +3 3190 4762 3351 +3 4762 4535 4532 +3 4782 4610 4748 +3 4762 4532 3351 +3 1594 4582 2876 +3 3630 3472 4610 +3 3628 4523 4525 +3 4780 4525 4523 +3 4780 4523 4782 +3 4760 3023 4678 +3 3351 4525 3190 +3 4704 3375 2203 +3 3350 4525 3351 +3 2875 75 4963 +3 2875 4963 2876 +3 4755 4885 4582 +3 4523 3628 3630 +3 2655 2129 2677 +3 3351 3491 3350 +3 2300 4671 4694 +3 3658 4734 3473 +3 4671 4734 4694 +3 791 2667 4689 +3 2300 2728 4671 +3 4734 4671 3473 +3 2794 1822 1610 +3 4760 3179 3023 +3 4689 2123 2129 +3 4689 2667 2299 +3 2300 4694 4689 +3 2300 4689 2299 +3 3497 2642 2644 +3 4755 4770 3497 +3 3023 4964 4939 +3 3375 4755 3497 +3 1822 4770 1610 +3 2794 1610 1594 +3 2617 2794 1594 +3 4694 4734 3658 +3 4755 1610 4770 +3 3375 4704 4885 +3 3542 2876 4582 +3 4704 3455 3426 +3 3630 4610 4523 +3 3426 4885 4704 +3 4582 3528 3542 +3 2876 2617 1594 +3 4582 1594 4755 +3 4223 4096 4718 +3 4457 2300 2798 +3 2300 2299 2798 +3 2120 2023 1375 +3 1534 2703 1611 +3 1470 1714 1392 +3 1714 1470 1466 +3 4531 2019 4643 +3 2711 2697 3189 +3 3337 2726 2101 +3 1560 1477 1562 +3 1710 2726 1478 +3 3932 3716 3933 +3 4265 1394 4387 +3 3713 3716 4771 +3 2120 4471 2024 +3 1877 4384 3937 +3 2697 1520 4614 +3 4614 3189 2697 +3 1886 1520 56 +3 4238 1022 4239 +3 1257 3620 612 +3 4460 3915 57 +3 4581 4452 2985 +3 1850 2308 2169 +3 4211 4828 4483 +3 2989 4453 4462 +3 2989 2990 4828 +3 1560 1996 4395 +3 1392 1478 1470 +3 1340 1132 1397 +3 1132 1394 1397 +3 1932 3937 4385 +3 2023 2024 2035 +3 1886 2195 2019 +3 2035 1459 2023 +3 4230 1713 4480 +3 2023 1459 1505 +3 2298 3991 1427 +3 3933 3713 2560 +3 2560 2536 3933 +3 3912 3620 3719 +3 3919 3932 2316 +3 3937 1932 1877 +3 3713 3046 2470 +3 1387 3991 2286 +3 1387 2286 1392 +3 3919 1746 612 +3 1374 1540 1534 +3 1877 2560 2466 +3 3176 3710 3337 +3 3710 2308 1340 +3 3337 3710 2726 +3 4384 1877 2824 +3 4384 3873 3937 +3 3207 2101 2703 +3 1946 4643 2019 +3 3756 3915 1022 +3 2990 4462 1850 +3 3919 4175 1746 +3 2153 4395 1996 +3 3756 3623 3915 +3 2169 2762 2227 +3 2195 4175 3919 +3 3932 3933 2316 +3 4483 4771 4411 +3 612 1746 1060 +3 4273 4387 4471 +3 3046 2227 2470 +3 1886 2240 2195 +3 4395 1531 1560 +3 2035 1713 1459 +3 3713 3933 3716 +3 1288 931 935 +3 1288 61 931 +3 1950 2153 1996 +3 4395 1288 1531 +3 2298 2286 3991 +3 1520 1886 4614 +3 1462 1520 2697 +3 1462 2711 1282 +3 2527 1534 1540 +3 2849 3176 4384 +3 1466 1148 1714 +3 2849 2762 3176 +3 2536 1932 2316 +3 2703 3189 3207 +3 4531 1886 2019 +3 2019 2195 2316 +3 2316 2195 3919 +3 3620 1257 3623 +3 2536 1877 1932 +3 2316 1946 2019 +3 3873 4385 3937 +3 4385 3873 4531 +3 4385 1946 1932 +3 959 1340 1996 +3 1375 1381 2120 +3 1505 1954 1375 +3 3176 3873 4384 +3 3176 2762 3710 +3 4385 4643 1946 +3 1932 1946 2316 +3 2195 2240 4175 +3 2470 2824 2466 +3 3337 3873 3176 +3 2824 1877 2466 +3 4531 4643 4385 +3 2849 2470 2227 +3 2824 2849 4384 +3 2762 2849 2227 +3 2849 2824 2470 +3 4828 2990 4771 +3 2470 2466 2560 +3 2560 1877 2536 +3 2308 2762 2169 +3 4771 2990 3713 +3 4614 1886 4531 +3 2024 2023 2120 +3 3046 2169 2227 +3 4968 4411 4956 +3 2169 3046 1850 +3 4411 4771 3716 +3 4771 4483 4828 +3 3716 3912 4411 +3 3756 4956 3719 +3 1531 935 1466 +3 4239 4212 4238 +3 1029 3915 4460 +3 1022 4968 3756 +3 2985 4453 2989 +3 4452 4453 2985 +3 4211 4581 4828 +3 4212 4581 4211 +3 4212 4211 4238 +3 1060 57 1257 +3 1060 1257 612 +3 3915 3623 1257 +3 3915 1257 57 +3 3623 3719 3620 +3 2989 4462 2990 +3 1954 1505 2055 +3 2536 2316 3933 +3 4956 3756 4968 +3 3912 3719 4956 +3 3719 3623 3756 +3 3874 4531 3873 +3 4411 3912 4956 +3 3873 3337 3874 +3 3713 2470 2560 +3 4387 4273 4265 +3 1288 4395 2055 +3 4531 3874 4614 +3 1562 959 1996 +3 1381 1375 1954 +3 1478 959 1562 +3 2990 1850 3046 +3 1466 1560 1531 +3 1996 1340 1950 +3 4480 61 4230 +3 3620 3912 3919 +3 4560 1132 2308 +3 1132 1340 2308 +3 1850 4560 2308 +3 2762 2308 3710 +3 3046 3713 2990 +3 3716 3932 3912 +3 1996 1560 1562 +3 4230 61 1288 +3 1950 2055 2153 +3 1950 1340 1489 +3 4273 1489 4265 +3 3932 3919 3912 +3 4471 2120 4273 +3 1459 4230 1288 +3 1459 1713 4230 +3 4273 2120 1381 +3 4265 1489 1397 +3 4265 1397 1394 +3 1381 1489 4273 +3 1397 1489 1340 +3 4395 2153 2055 +3 935 1531 1288 +3 3710 1340 959 +3 2055 1950 1954 +3 1288 2055 1505 +3 959 1478 2726 +3 2726 3710 959 +3 3919 612 3620 +3 1288 1505 1459 +3 1489 1381 1950 +3 1129 1148 931 +3 1129 931 61 +3 1478 1477 1470 +3 1466 1470 1560 +3 1381 1954 1950 +3 1478 1562 1477 +3 1470 1477 1560 +3 1505 1375 2023 +3 3874 3337 3207 +3 1466 935 1148 +3 935 931 1148 +3 3874 3207 4614 +3 3189 4614 3207 +3 1611 2101 1710 +3 1534 1450 1374 +3 2101 3207 3337 +3 1282 2711 2527 +3 2703 2527 3189 +3 1478 1392 2286 +3 2240 1886 56 +3 1462 2697 2711 +3 2527 2711 3189 +3 1282 2527 1540 +3 1282 1540 1374 +3 2527 2703 1534 +3 1450 2544 1427 +3 2703 2101 1611 +3 2544 2298 1427 +3 2101 2726 1710 +3 1611 1710 2286 +3 1611 2286 2298 +3 1611 2298 1534 +3 1534 2298 2544 +3 1534 2544 1450 +3 1029 4239 1022 +3 1022 3915 1029 +3 4581 2985 4828 +3 2985 2989 4828 +3 4238 4483 4968 +3 4238 4211 4483 +3 1022 4238 4968 +3 4411 4968 4483 +3 2286 1710 1478 +3 2905 2826 2830 +3 2311 4982 558 +3 4617 3399 2037 +3 3998 1944 1899 +3 1849 2309 38 +3 2105 407 410 +3 538 1871 4165 +3 238 1885 581 +3 1915 1857 2826 +3 3246 2756 2680 +3 1783 235 3535 +3 4982 586 558 +3 4617 2037 1704 +3 4982 2852 2892 +3 1704 538 1887 +3 2818 3194 3250 +3 2826 1857 1513 +3 2651 2756 3259 +3 4986 2252 1900 +3 4979 3585 3598 +3 1498 3580 4988 +3 4988 4979 4983 +3 1211 4983 1811 +3 943 938 3580 +3 1656 1985 1925 +3 899 1925 1848 +3 1498 1925 899 +3 899 34 983 +3 3301 3314 2107 +3 581 538 4165 +3 492 2131 540 +3 2007 558 540 +3 2766 3404 2905 +3 3194 3535 3250 +3 1211 4988 4983 +3 2126 2007 540 +3 1811 4806 1816 +3 3259 3712 3711 +3 2149 2131 482 +3 482 438 2149 +3 4617 4993 3301 +3 3404 3486 4068 +3 238 581 3535 +3 1871 1944 3998 +3 3314 3301 4993 +3 2756 2820 3712 +3 2830 2766 2905 +3 2830 1507 2126 +3 3352 2007 1507 +3 2063 558 2007 +3 2818 2970 3459 +3 2756 2651 2680 +3 1900 2252 1899 +3 1902 5004 1905 +3 2820 2756 3246 +3 2852 3259 3257 +3 3580 3585 4979 +3 2828 4977 4892 +3 39 938 3487 +3 2892 2852 3257 +3 3487 943 983 +3 1656 1925 1498 +3 1985 1211 1811 +3 1216 1656 4988 +3 4028 4892 4977 +3 4958 3355 2509 +3 5012 1905 5004 +3 2226 2228 4986 +3 2252 2970 3250 +3 2083 2226 4986 +3 2083 1905 2226 +3 1989 4028 1902 +3 1902 4028 5004 +3 2892 586 4982 +3 3486 3404 202 +3 38 2309 410 +3 1849 1851 2309 +3 5004 4977 4976 +3 3399 1851 2037 +3 3399 3301 2105 +3 2309 1851 3399 +3 1704 1887 4993 +3 538 581 1887 +3 4135 581 4165 +3 1885 1887 581 +3 4068 233 1783 +3 4165 1871 3998 +3 4135 3998 1899 +3 4135 4165 3998 +3 2826 2905 1915 +3 2105 2107 407 +3 4977 2828 2252 +3 233 3569 1885 +3 235 238 3535 +3 3712 2828 3711 +3 3569 233 3486 +3 438 407 2107 +3 235 1885 238 +3 235 233 1885 +3 1885 3569 1887 +3 3569 4993 1887 +3 4993 4617 1704 +3 4068 2905 3404 +3 2820 2822 3712 +3 2107 2105 3301 +3 5030 2311 2007 +3 4993 3569 3314 +3 1857 1915 2827 +3 3535 1915 1783 +3 4135 3535 581 +3 2818 3250 2970 +3 2766 2830 2126 +3 1783 1915 4068 +3 233 4068 3486 +3 2252 2822 2970 +3 482 2131 492 +3 2311 2651 2852 +3 2107 202 438 +3 2131 2126 540 +3 2252 2828 2822 +3 5030 1513 2680 +3 1915 3194 2827 +3 5030 2680 2651 +3 202 2107 3314 +3 2126 2131 2766 +3 2311 2063 2007 +3 2311 558 2063 +3 4977 5004 4028 +3 3311 2892 2690 +3 5030 3352 1507 +3 5030 2007 3352 +3 3314 3486 202 +3 2905 4068 1915 +3 2149 202 3404 +3 3486 3314 3569 +3 2131 2149 2766 +3 2311 5030 2651 +3 2830 2826 1513 +3 202 2149 438 +3 1857 2680 1513 +3 1857 3246 2680 +3 3404 2766 2149 +3 2007 2126 1507 +3 1507 2830 1513 +3 3459 2820 3246 +3 2970 2820 3459 +3 1513 5030 1507 +3 3711 3257 3259 +3 3712 3259 2756 +3 3257 3711 4946 +3 2843 938 39 +3 2690 2892 3257 +3 4982 2311 2852 +3 3095 2690 3257 +3 5004 4976 5012 +3 2843 3311 3095 +3 39 586 3311 +3 3580 2843 4946 +3 3311 2690 3095 +3 1498 899 983 +3 1848 34 899 +3 943 3580 1498 +3 938 2843 3580 +3 983 943 1498 +3 3487 938 943 +3 3311 2843 39 +3 4946 3598 3585 +3 2828 2510 3711 +3 3585 3580 4946 +3 3095 4946 2843 +3 3095 3257 4946 +3 4806 4892 1816 +3 3535 3194 1915 +3 4958 4892 4806 +3 3598 4946 3711 +3 3711 2509 3598 +3 4988 3580 4979 +3 4988 1656 1498 +3 4988 1211 1216 +3 1985 1216 1211 +3 1985 1656 1216 +3 1811 4983 4958 +3 4979 3598 2509 +3 4983 3355 4958 +3 4983 4979 3355 +3 4958 2509 2510 +3 3355 4979 2509 +3 2828 4892 2510 +3 2509 3711 2510 +3 3246 2818 3459 +3 2252 3250 1899 +3 2510 4892 4958 +3 2822 2820 2970 +3 4976 2252 2228 +3 2827 3194 2818 +3 3250 4135 1899 +3 3259 2852 2651 +3 3535 4135 3250 +3 3246 2827 2818 +3 3246 1857 2827 +3 2083 4986 1900 +3 2228 2252 4986 +3 5012 4976 2228 +3 4977 2252 4976 +3 4806 1811 4958 +3 1816 4028 1989 +3 1816 4892 4028 +3 2226 5012 2228 +3 2226 1905 5012 +3 2309 2105 410 +3 4617 3301 3399 +3 2105 2309 3399 +3 586 2892 3311 +3 235 1783 233 +3 2828 3712 2822 +3 5047 4989 65 +3 4469 4989 5047 +3 845 3501 4470 +3 283 1112 3804 +3 1970 1354 1343 +3 3411 4963 3356 +3 4706 3579 3571 +3 3543 4469 3195 +3 3819 4016 4686 +3 2580 3963 2598 +3 3963 4738 2598 +3 2598 2599 3074 +3 3103 4866 3063 +3 2960 4882 4684 +3 4913 4882 2960 +3 3579 4846 2380 +3 3370 4704 4885 +3 1587 1591 4599 +3 4645 3372 3370 +3 1591 4645 4599 +3 4645 3370 4599 +3 2198 2201 3829 +3 2198 3370 3372 +3 848 183 179 +3 4734 4671 2380 +3 860 4469 3433 +3 3768 994 1002 +3 3784 3876 572 +3 1112 572 3804 +3 4332 4553 4306 +3 3804 760 283 +3 4332 4306 1046 +3 2061 1908 1970 +3 179 994 1336 +3 1970 1343 2061 +3 4865 4839 4838 +3 4470 3501 4263 +3 3417 3416 4692 +3 1343 1354 70 +3 3417 4704 3658 +3 2011 1343 70 +3 3168 4754 3490 +3 2774 2380 4671 +3 3195 3346 3543 +3 4839 4865 3876 +3 3063 136 3247 +3 4706 4821 3980 +3 3372 2201 2198 +3 3829 4734 3658 +3 66 1591 1587 +3 4849 3543 3534 +3 4754 3168 3478 +3 3543 4881 3433 +3 1002 183 225 +3 3765 845 3433 +3 1112 3775 3784 +3 4882 4673 3462 +3 3195 2483 4867 +3 977 179 262 +3 994 179 183 +3 977 4306 4329 +3 3360 4325 896 +3 2060 2011 1923 +3 247 3368 70 +3 3360 896 848 +3 1908 2061 1904 +3 4325 3368 247 +3 4263 247 70 +3 3462 4684 4882 +3 1046 760 4332 +3 4838 4839 5055 +3 4838 3579 4865 +3 1336 3210 3749 +3 3490 3534 3168 +3 3478 5055 4754 +3 4846 5019 2380 +3 3629 3424 3417 +3 5055 3478 3571 +3 2876 66 1587 +3 2583 2586 2757 +3 4686 114 3743 +3 114 2514 5009 +3 2393 140 2757 +3 136 3063 139 +3 3980 4846 4706 +3 2483 139 4867 +3 247 4263 3501 +3 3195 5009 2483 +3 5019 3258 2317 +3 3356 3526 3006 +3 2994 2580 3074 +3 3963 3819 3743 +3 4963 66 2876 +3 3534 3490 4849 +3 3829 4669 4734 +3 3658 2198 3829 +3 3571 4838 5055 +3 4754 5055 4839 +3 4849 4881 3543 +3 4821 4706 3346 +3 4706 3571 3478 +3 139 2483 136 +3 4582 1587 4599 +3 3969 3247 5019 +3 4846 3969 5019 +3 4881 3768 3765 +3 898 242 225 +3 4846 3980 3969 +3 4543 5009 4469 +3 3247 3969 3063 +3 3210 3768 4849 +3 3571 3579 4838 +3 225 896 898 +3 3478 3346 4706 +3 3346 3478 3168 +3 1002 3765 3768 +3 3346 3168 3534 +3 3543 3433 4469 +3 3765 1002 683 +3 845 3765 688 +3 688 3765 683 +3 3749 1755 1336 +3 136 2514 140 +3 262 1336 1755 +3 2315 2583 2953 +3 4839 3775 3749 +3 1336 262 179 +3 4839 3784 3775 +3 140 2393 136 +3 4839 3876 3784 +3 1755 283 262 +3 283 1755 1112 +3 572 1112 3784 +3 4704 3417 3424 +3 760 1046 283 +3 262 283 1046 +3 977 1046 4306 +3 977 4329 848 +3 3768 4881 4849 +3 4329 4306 4550 +3 4550 2011 3368 +3 4553 4332 4546 +3 4550 3368 4329 +3 4546 4297 4566 +3 4546 1923 4553 +3 4566 1904 4546 +3 1923 2011 4553 +3 2061 1343 2060 +3 2061 2060 1904 +3 2060 1343 2011 +3 3368 2011 70 +3 1904 2060 1923 +3 1904 1923 4546 +3 4553 2011 4550 +3 4553 4550 4306 +3 4329 3360 848 +3 3490 3749 3210 +3 4329 3368 3360 +3 896 4325 898 +3 3360 3368 4325 +3 1292 4325 247 +3 898 4325 1292 +3 3210 4849 3490 +3 1292 247 242 +3 1292 242 898 +3 1904 4566 1908 +3 683 225 242 +3 3658 3416 3417 +3 994 3768 3210 +3 4297 4546 4332 +3 3749 3490 4754 +3 4332 760 4297 +3 1755 3749 3775 +3 4867 4821 3195 +3 262 1046 977 +3 3346 3534 3543 +3 3501 688 683 +3 4470 860 845 +3 3501 845 688 +3 3501 242 247 +3 2781 2393 2586 +3 2757 114 4686 +3 3258 5019 3247 +3 4754 4839 3749 +3 179 977 848 +3 1587 4582 2876 +3 3063 4866 139 +3 4885 4599 3370 +3 3103 3980 4821 +3 3210 1336 994 +3 4019 2393 2781 +3 2781 2315 4019 +3 3195 4469 5009 +3 4821 4867 3103 +3 3980 3103 3063 +3 3416 4734 2380 +3 3980 3063 3969 +3 2483 2514 136 +3 183 1002 994 +3 3579 4706 4846 +3 2757 140 114 +3 4019 3258 3247 +3 4470 1295 860 +3 3765 3433 4881 +3 1295 4989 4469 +3 4469 5047 65 +3 65 4543 4469 +3 1295 4469 860 +3 2315 2317 3258 +3 3424 3629 4684 +3 4686 2583 2757 +3 2953 2317 2315 +3 4673 3006 3526 +3 2781 2586 2583 +3 2393 4019 136 +3 2586 2393 2757 +3 4019 3247 136 +3 2953 3629 4692 +3 183 848 896 +3 3424 4885 4704 +3 4692 2380 2317 +3 3775 1112 1755 +3 3963 3743 114 +3 3963 114 5009 +3 4692 3416 2380 +3 896 225 183 +3 4738 2599 2598 +3 2994 3629 2953 +3 3963 2580 3819 +3 3743 3819 4686 +3 3819 2580 4016 +3 4686 4016 2583 +3 4016 2580 2403 +3 4016 2403 2583 +3 2403 2994 2953 +3 2403 2953 2583 +3 2315 2781 2583 +3 2960 4684 3074 +3 4866 3103 4867 +3 2403 2580 2994 +3 3629 2994 4684 +3 2599 2960 3074 +3 2598 3074 2580 +3 3416 3658 4734 +3 2317 2380 5019 +3 2953 4692 2317 +3 4684 3462 3424 +3 4669 4671 4734 +3 845 860 3433 +3 2198 3658 4704 +3 3346 3195 4821 +3 4704 3370 2198 +3 4599 4885 4582 +3 4963 2876 3356 +3 3526 2876 4582 +3 2380 4865 3579 +3 4582 3462 3526 +3 5009 2514 2483 +3 4867 139 4866 +3 3417 4692 3629 +3 3074 4684 2994 +3 4960 4673 4882 +3 4960 4882 4913 +3 2876 3526 3356 +3 3411 3356 3006 +3 3258 4019 2315 +3 140 2514 114 +3 3462 4582 4885 +3 2380 2774 4865 +3 3526 3462 4673 +3 242 3501 683 +3 4885 3424 3462 +3 225 683 1002 +3 4818 4482 4786 +3 4955 4479 4957 +3 3420 3692 4714 +3 4971 3466 3471 +3 1766 1277 3757 +3 3075 4454 4461 +3 5008 4454 5010 +3 4699 5008 5010 +3 4699 4000 4698 +3 3075 4461 3233 +3 4000 4773 3693 +3 4773 4922 4772 +3 4922 4635 4921 +3 5006 2992 2874 +3 2015 212 4093 +3 2199 72 3621 +3 3149 3366 2053 +3 2877 1766 2124 +3 3693 4714 3692 +3 1841 2015 2516 +3 4463 4971 3471 +3 212 2124 87 +3 2516 3149 1841 +3 3149 3253 3366 +3 3366 3253 4132 +3 4864 3366 4132 +3 4413 4129 4131 +3 5032 75 3001 +3 5032 3001 2992 +3 3001 4578 2992 +3 2477 2900 4092 +3 2053 1841 3149 +3 3692 3420 3422 +3 4482 4818 4479 +3 4092 3663 2477 +3 3429 5003 4998 +3 2965 4472 2958 +3 2695 311 4468 +3 4472 1852 4463 +3 4472 3471 2958 +3 3954 2420 3562 +3 2965 2268 2269 +3 1301 1277 2877 +3 4652 900 3679 +3 4652 3679 3757 +3 4461 5050 4463 +3 4957 3752 4955 +3 4131 4092 2900 +3 4578 3001 3414 +3 4971 4463 5050 +3 4472 2269 2045 +3 3422 4805 3692 +3 2874 4659 3067 +3 5032 2992 5006 +3 4805 3422 3427 +3 5008 4971 5050 +3 4972 5008 4805 +3 2542 2420 3954 +3 3562 145 3954 +3 4479 2450 2490 +3 2124 217 2695 +3 1852 2210 3233 +3 2420 2427 3562 +3 2124 1766 4145 +3 3692 4698 3693 +3 2268 2542 2015 +3 2199 3621 3927 +3 2124 4145 87 +3 2900 2490 4131 +3 2420 2542 2268 +3 2420 2965 2427 +3 3754 2900 2477 +3 3663 72 2199 +3 3927 3621 3754 +3 3663 2199 2200 +3 2477 3927 3754 +3 2200 2199 3927 +3 217 3954 311 +3 2200 3927 2477 +3 2200 2477 3663 +3 4818 2210 2450 +3 3414 4917 4578 +3 2450 4479 4818 +3 2212 2210 1852 +3 2450 4864 4413 +3 4413 4131 2490 +3 4917 4772 4921 +3 4463 1852 3233 +3 4714 3522 3420 +3 2268 2965 2420 +3 2210 4818 3233 +3 4463 3233 4461 +3 4454 5050 4461 +3 4786 3233 4818 +3 3463 5003 3429 +3 2045 1852 4472 +3 3693 4698 4000 +3 4772 4917 4714 +3 5008 4699 4698 +3 4578 4921 4659 +3 3752 4957 3754 +3 4921 4772 4922 +3 2992 4659 2874 +3 5006 2874 3067 +3 4659 2992 4578 +3 4917 3414 3522 +3 4805 3427 4998 +3 3429 4998 3427 +3 3466 4972 5003 +3 3466 5003 3463 +3 3466 4971 4972 +3 5003 4972 4998 +3 4698 3692 4805 +3 4972 4805 4998 +3 3522 4714 4917 +3 4714 3693 4772 +3 4972 4971 5008 +3 4805 5008 4698 +3 3563 145 3562 +3 5050 4454 5008 +3 2490 2450 4413 +3 2965 2958 2427 +3 2269 4472 2965 +3 4957 2490 2900 +3 145 311 3954 +3 145 4468 311 +3 121 900 145 +3 121 145 3563 +3 4468 1301 2877 +3 2877 1277 1766 +3 1301 900 4652 +3 1277 4652 3757 +3 4468 900 1301 +3 1277 1301 4652 +3 145 900 4468 +3 2210 3366 4864 +3 2542 217 212 +3 2877 2695 4468 +3 2542 212 2015 +3 2053 2269 1841 +3 2900 3754 4957 +3 2268 2015 1841 +3 311 2695 217 +3 2269 2268 1841 +3 2185 2269 2053 +3 2185 2053 2212 +3 3366 2210 2212 +3 2045 2212 1852 +3 2185 2212 2045 +3 2185 2045 2269 +3 2490 4957 4479 +3 2450 2210 4864 +3 2695 2877 2124 +3 3954 217 2542 +3 217 2124 212 +3 4133 4413 4864 +3 4133 4864 4132 +3 4133 4129 4413 +3 4921 4578 4917 +3 73 4145 1766 +3 73 1766 3757 +3 4635 3067 4659 +3 4479 4955 4482 +3 4772 3693 4773 +3 3754 3621 3752 +3 4659 4921 4635 +3 3233 4786 3075 +3 4472 4463 3471 +3 3366 2212 2053 +3 87 4093 212 +3 4093 2516 2015 +3 2775 2772 4487 +3 3573 291 372 +3 2322 4433 4071 +3 148 3447 4839 +3 3376 4803 3106 +3 147 148 4839 +3 4503 3214 3213 +3 4825 4706 4708 +3 148 150 3447 +3 4423 3806 4505 +3 1284 2103 100 +3 4569 4519 5013 +3 4275 4907 43 +3 147 3784 160 +3 160 1289 1258 +3 186 160 3132 +3 4878 4067 3897 +3 1385 1957 1990 +3 160 1258 3132 +3 261 273 3888 +3 3132 416 186 +3 2816 3772 367 +3 1862 245 409 +3 1363 164 245 +3 1955 1551 1284 +3 101 164 2164 +3 101 2164 3384 +3 100 101 3384 +3 1952 294 363 +3 2103 104 100 +3 2103 40 104 +3 4487 4524 2775 +3 4839 5055 4840 +3 283 1289 1112 +3 3447 4708 3444 +3 4839 3444 5055 +3 4433 3897 4067 +3 4332 1052 4334 +3 3715 3106 4855 +3 4903 4334 1052 +3 2262 2070 1910 +3 1904 4569 1910 +3 2061 1910 2070 +3 1203 294 1952 +3 1952 1904 2061 +3 2454 2886 2031 +3 3447 4825 4708 +3 3444 4708 3571 +3 1142 3186 1862 +3 1142 1862 409 +3 3376 758 3173 +3 1862 1363 245 +3 4888 3652 3573 +3 4867 372 139 +3 5055 3444 3571 +3 4821 4706 4825 +3 4332 4548 4604 +3 4706 4821 2525 +3 4825 4888 4821 +3 4503 3213 758 +3 4691 4487 4819 +3 44 4934 4713 +3 4440 4487 2772 +3 2772 2775 4867 +3 164 1363 1975 +3 3806 4890 4934 +3 4897 4834 4423 +3 4261 1558 4450 +3 3785 4839 4840 +3 4423 4422 3923 +3 4569 4334 4519 +3 1052 1046 283 +3 2449 4419 2886 +3 4867 4821 4888 +3 4066 4067 4508 +3 4523 4782 4433 +3 4519 4334 4903 +3 3406 4903 1052 +3 4932 4907 4275 +3 1910 2061 1904 +3 4478 2251 4920 +3 3985 4275 43 +3 4419 2449 4280 +3 2061 1203 1952 +3 267 4604 4548 +3 261 283 1538 +3 3897 3173 4878 +3 4604 1046 4332 +3 1255 3888 273 +3 4066 3785 4105 +3 210 1538 4604 +3 1258 1558 1137 +3 273 210 1255 +3 3772 2816 4419 +3 1331 1276 2031 +3 2886 2454 2449 +3 3393 416 3132 +3 1289 3784 1112 +3 298 291 3573 +3 298 3573 3652 +3 4839 3784 147 +3 3573 372 4888 +3 1142 416 3393 +3 4559 3132 1258 +3 409 416 1142 +3 3186 1977 1975 +3 164 1975 2164 +3 3186 1363 1862 +3 100 3384 4301 +3 1990 3186 1586 +3 4523 3630 4524 +3 1385 1586 4280 +3 1276 1284 1551 +3 4505 4907 4932 +3 3393 4559 1142 +3 4419 4450 3772 +3 1142 4559 1137 +3 1142 1137 1588 +3 3393 3132 4559 +3 1137 4559 1258 +3 4071 2327 2322 +3 3784 4839 3785 +3 4782 3104 4803 +3 1112 3784 987 +3 160 3784 1289 +3 1558 4261 1588 +3 987 3784 3785 +3 4301 1284 100 +3 3785 4840 4105 +3 2034 2816 363 +3 4105 4840 4071 +3 4105 4071 4433 +3 4708 4706 3571 +3 5055 3571 4840 +3 4546 1939 4548 +3 4548 367 267 +3 1904 1952 1939 +3 3444 4839 3447 +3 4867 139 2772 +3 4821 4867 2775 +3 139 134 2772 +3 283 1112 987 +3 1939 363 367 +3 3652 4888 4825 +3 4524 2327 2525 +3 2775 2525 4821 +3 4890 3806 3923 +3 4067 4105 4433 +3 4897 4932 4920 +3 3104 4943 3106 +3 3774 3772 4450 +3 3384 1977 4301 +3 4523 2322 3630 +3 4855 3106 4943 +3 3630 2322 2327 +3 4422 758 3715 +3 4422 4503 758 +3 4803 4433 4782 +3 4819 3341 4691 +3 2772 134 4440 +3 4604 267 210 +3 4819 4487 4440 +3 97 4440 134 +3 3652 3447 150 +3 2775 4524 2525 +3 3630 2327 4524 +3 4691 4524 4487 +3 4713 4934 4943 +3 3106 3715 3376 +3 4943 3104 4713 +3 4943 4934 4855 +3 4934 4890 4855 +3 4782 4523 4691 +3 3923 3806 4423 +3 3715 758 3376 +3 4878 3173 648 +3 987 3785 4066 +3 1975 1363 3186 +3 648 1250 4878 +3 3897 4433 4803 +3 648 3173 657 +3 3213 657 758 +3 2454 1276 1551 +3 657 3173 758 +3 4508 4067 4878 +3 4508 4878 1250 +3 3106 4803 3104 +3 1250 648 3213 +3 363 294 2034 +3 987 4066 1250 +3 4066 4508 1250 +3 4691 3341 4782 +3 1551 1417 2454 +3 2034 1338 2031 +3 1588 1137 1558 +3 987 3214 283 +3 3341 4713 3104 +3 1203 2061 1343 +3 3104 4782 3341 +3 5013 1910 4569 +3 367 4548 1939 +3 4569 1904 4546 +3 4548 4332 4546 +3 4546 4334 4569 +3 4825 3447 3652 +3 1939 4546 1904 +3 3888 1289 283 +3 1052 283 3214 +3 2031 2886 2034 +3 4888 372 4867 +3 648 657 3213 +3 4803 3376 3897 +3 4433 2322 4523 +3 4855 3923 3715 +3 1250 3213 3214 +3 4422 4423 4834 +3 1538 283 1046 +3 4332 1046 1052 +3 4920 4932 4478 +3 4932 4897 4423 +3 4940 4903 3406 +3 2070 1343 2061 +3 363 1939 1952 +3 3406 1052 3214 +3 4940 4920 2251 +3 4071 4840 3571 +3 4903 2251 4519 +3 4334 4546 4332 +3 4275 4478 4932 +3 2070 43 1343 +3 5013 4519 2255 +3 2251 4903 4940 +3 2255 4478 2262 +3 2255 4519 2251 +3 4478 2255 2251 +3 2327 4071 3571 +3 2262 5013 2255 +3 3571 2525 2327 +3 4478 4275 2262 +3 5013 2262 1910 +3 2262 4275 2070 +3 3571 4706 2525 +3 2070 4275 3985 +3 2070 3985 43 +3 1538 1046 4604 +3 2886 4419 2816 +3 4524 4691 4523 +3 1538 210 273 +3 3715 3923 4422 +3 2816 2034 2886 +3 4450 4280 4261 +3 1338 2034 294 +3 1255 3774 1558 +3 1538 273 261 +3 283 261 3888 +3 3888 1255 1558 +3 2449 2454 1417 +3 1258 3888 1558 +3 3186 1142 1588 +3 1258 1289 3888 +3 1417 1385 2449 +3 267 367 3772 +3 2031 1276 2454 +3 3772 3774 267 +3 4280 4450 4419 +3 4450 1558 3774 +3 1331 2031 1338 +3 4280 2449 1385 +3 4105 4067 4066 +3 4897 4920 4940 +3 210 267 3774 +3 1977 3384 2164 +3 1586 1385 1990 +3 4301 1955 1284 +3 1957 1551 1955 +3 1975 1977 2164 +3 1961 1955 4301 +3 4503 4422 4834 +3 1385 1417 1957 +3 4940 3406 4834 +3 4834 4897 4940 +3 1955 1990 1957 +3 1551 1957 1417 +3 1588 1586 3186 +3 3214 987 1250 +3 1990 1961 1977 +3 3173 3897 3376 +3 367 363 2816 +3 1990 1955 1961 +3 3774 1255 210 +3 1586 1588 4261 +3 1586 4261 4280 +3 3186 1990 1977 +3 1961 4301 1977 +3 97 44 4713 +3 97 4713 3341 +3 150 298 3652 +3 4819 4440 97 +3 3341 4819 97 +3 3923 4855 4890 +3 3214 4503 3406 +3 4503 4834 3406 +3 4423 4505 4932 +3 2982 4783 37 +3 2665 2979 4783 +3 4145 32 85 +3 3340 3646 3282 +3 2981 4456 4464 +3 4973 4537 5049 +3 4735 4685 4967 +3 4686 3742 3743 +3 4686 3743 2722 +3 2722 2737 4114 +3 4114 3626 2993 +3 4744 2999 3632 +3 4493 3632 3636 +3 4493 3636 3635 +3 4711 3635 3340 +3 3646 36 4695 +3 3646 4695 4843 +3 3282 3284 4711 +3 2968 3983 3170 +3 4744 2385 2382 +3 145 3563 201 +3 3436 2419 4054 +3 5017 4847 3568 +3 3470 3568 4870 +3 3568 146 4870 +3 146 4203 4870 +3 201 2562 3152 +3 3470 3092 5017 +3 2155 152 269 +3 4992 4974 4973 +3 2283 4844 4140 +3 2695 2124 2052 +3 85 2979 2665 +3 2979 85 32 +3 4512 4844 2283 +3 2695 2283 2124 +3 4685 4686 2533 +3 2722 3743 2737 +3 2124 170 2052 +3 4512 145 4871 +3 2419 2533 2393 +3 3092 3470 2957 +3 4054 2957 3436 +3 3170 3152 2968 +3 2981 4783 2982 +3 4679 2982 37 +3 2385 5019 2382 +3 2757 2533 4686 +3 2993 2999 4744 +3 2385 4744 4492 +3 4493 3635 4711 +3 3284 3282 4869 +3 3470 4870 2957 +3 2966 2562 2959 +3 5017 3568 3470 +3 3258 5019 3092 +3 2588 4686 2722 +3 2414 4973 4997 +3 201 3152 3170 +3 4973 3563 145 +3 2414 2959 2562 +3 4512 2283 4468 +3 152 4973 145 +3 2052 170 269 +3 2695 4468 2283 +3 5049 4992 4973 +3 4711 3284 4749 +3 4456 2982 4679 +3 4749 4493 4711 +3 4974 4997 4973 +3 170 2665 2981 +3 2981 2155 170 +3 4464 5049 4537 +3 4456 5049 4464 +3 4456 2981 2982 +3 4468 269 152 +3 152 4537 4973 +3 4967 4997 4974 +3 4735 4974 4992 +3 5019 3258 2382 +3 2533 2419 4997 +3 3258 2778 2382 +3 4686 4685 3742 +3 4685 4997 4967 +3 4685 4735 3826 +3 4456 4781 4992 +3 4456 4992 5049 +3 4025 3826 4781 +3 4974 4735 4967 +3 4735 4992 4781 +3 4735 4781 3826 +3 2382 2993 4744 +3 4114 2737 3626 +3 2533 4997 4685 +3 3742 4685 3826 +3 4744 3632 4493 +3 2993 3626 2999 +3 2778 4114 2993 +3 2993 2382 2778 +3 2722 2779 2588 +3 4492 4493 4749 +3 4843 4869 3282 +3 3340 3282 4711 +3 4019 2778 3258 +3 4493 4492 4744 +3 4695 4869 4843 +3 3646 4843 3282 +3 4019 2779 2778 +3 2957 4054 3092 +3 2419 3436 2414 +3 4019 3258 4054 +3 2393 2533 2757 +3 2588 2757 4686 +3 2414 4997 2419 +3 4019 2393 2779 +3 2393 2757 2588 +3 2393 2588 2779 +3 3563 2562 201 +3 5017 3092 5019 +3 3563 4973 2414 +3 2959 3436 2957 +3 5019 4846 5017 +3 201 4871 145 +3 2959 2414 3436 +3 4846 4847 5017 +3 3092 4054 3258 +3 2393 4019 2419 +3 4846 5019 2385 +3 4203 2966 2959 +3 177 4814 3326 +3 2966 2968 3152 +3 4870 4203 2959 +3 3983 2966 4203 +3 2562 3563 2414 +3 357 3170 3983 +3 3983 2968 2966 +3 2957 4870 2959 +3 3983 146 357 +3 4814 177 357 +3 3326 156 177 +3 177 3170 357 +3 4814 357 146 +3 2695 269 4468 +3 4512 4468 145 +3 156 3326 4804 +3 4114 2778 2779 +3 4804 201 156 +3 177 156 3170 +3 4804 4871 201 +3 156 201 3170 +3 3152 2562 2966 +3 4203 146 3983 +3 2155 4537 152 +3 4468 152 145 +3 1898 4145 1867 +3 170 85 2665 +3 2665 4783 2981 +3 4537 2981 4464 +3 2981 4537 2155 +3 170 2155 269 +3 85 170 4145 +3 2695 2052 269 +3 4145 170 2124 +3 1867 2124 2283 +3 4140 1898 1867 +3 4140 1867 2283 +3 1898 32 4145 +3 1867 4145 2124 +3 4679 37 4781 +3 37 4025 4781 +3 4781 4456 4679 +3 4054 2419 4019 +3 2779 2722 4114 +3 3232 4461 4491 +3 2687 2384 3051 +3 4743 4898 4257 +3 3235 4859 433 +3 2563 2942 2363 +3 5050 4462 5015 +3 4771 4411 4859 +3 81 4464 82 +3 5014 5042 4971 +3 5042 5050 4971 +3 5015 4954 4971 +3 4822 3232 2991 +3 3051 2981 3947 +3 3947 2630 2374 +3 2931 2135 2136 +3 2931 2136 2132 +3 2931 2132 2133 +3 3800 2133 2440 +3 3800 2440 2202 +3 4954 5015 4182 +3 4859 4225 5011 +3 1060 64 5045 +3 3703 4177 3728 +3 881 4315 196 +3 4898 4666 4150 +3 3728 4743 3703 +3 4316 797 4123 +3 4177 4721 3728 +3 4177 4103 4721 +3 4015 3960 4177 +3 4201 4613 4264 +3 4077 1407 4342 +3 3709 4729 3704 +3 797 4316 768 +3 4896 4720 4034 +3 768 580 797 +3 4034 4035 4896 +3 4113 4034 4720 +3 4720 3709 4113 +3 3704 4015 3703 +3 4605 4896 4035 +3 4035 2927 4605 +3 4729 67 3960 +3 4315 1261 4077 +3 2563 4043 2381 +3 3960 4103 4177 +3 1035 4570 1104 +3 4442 82 106 +3 81 5023 65 +3 2933 2931 4970 +3 4148 4150 4666 +3 2933 4970 4403 +3 4970 2931 3800 +3 3719 3620 1855 +3 4150 4257 4898 +3 5045 1104 1060 +3 876 4182 445 +3 4166 4176 4315 +3 3030 4954 4046 +3 4264 5045 4201 +3 4123 196 4315 +3 768 259 580 +3 4342 4123 4077 +3 580 259 2918 +3 656 4264 706 +3 445 5016 876 +3 4034 4113 4150 +3 3800 2202 3927 +3 4046 4954 4182 +3 580 196 797 +3 2363 4042 2563 +3 5049 3956 4973 +3 82 5049 106 +3 4973 106 5049 +3 4957 4403 4970 +3 4822 4479 4818 +3 5011 445 433 +3 4818 4479 4771 +3 656 1261 1044 +3 3927 2202 2199 +3 4315 881 4166 +3 3235 2990 4771 +3 1060 1104 1254 +3 4176 1044 1261 +3 4462 2990 3235 +3 612 1249 1060 +3 3204 5042 3223 +3 5011 4168 5016 +3 4168 5011 4225 +3 4667 3662 1254 +3 1160 4242 1855 +3 1407 4077 706 +3 4666 3030 4148 +3 1254 612 1060 +3 1855 4667 1160 +3 1855 4242 3719 +3 1249 64 1060 +3 4411 4956 4225 +3 3662 612 1254 +3 1249 612 3620 +3 1249 3620 2199 +3 5011 433 4859 +3 4174 4225 4242 +3 4859 3235 4771 +3 4225 4859 4411 +3 445 5015 433 +3 3620 612 3662 +3 4166 5016 4168 +3 3620 3662 1855 +3 4168 4174 4166 +3 4174 4168 4225 +3 1855 3662 4667 +3 5016 4166 881 +3 4182 5015 445 +3 881 876 5016 +3 1044 4570 656 +3 1254 1104 4570 +3 4570 1044 4667 +3 2381 3223 2563 +3 4264 656 1035 +3 2918 4605 2927 +3 1035 5045 4264 +3 706 4264 4613 +3 4464 81 2981 +3 196 4123 797 +3 4046 196 580 +3 4046 580 2918 +3 4729 4015 3704 +3 1035 1104 5045 +3 4729 3960 4015 +3 4113 3704 4257 +3 4035 4034 4148 +3 4150 4148 4034 +3 4035 3256 2927 +3 3703 4257 3704 +3 2927 3256 4046 +3 2981 4043 4464 +3 1261 656 706 +3 3256 4148 3030 +3 4257 4150 4113 +3 706 4613 1407 +3 4015 4177 3703 +3 3704 4113 3709 +3 4148 3256 4035 +3 4046 3256 3030 +3 196 4182 876 +3 4491 2991 3232 +3 1261 706 4077 +3 4182 196 4046 +3 1261 4315 4176 +3 876 881 196 +3 4667 1254 4570 +3 2384 3204 2381 +3 4570 1035 656 +3 4315 4077 4123 +3 2927 4046 2918 +3 4771 2990 4818 +3 4242 1160 4174 +3 5015 4971 5050 +3 5015 4462 3235 +3 5016 445 5011 +3 1044 4176 1160 +3 3233 2990 4462 +3 3223 2381 3204 +3 4491 4461 5050 +3 4043 2981 3051 +3 4464 4043 4042 +3 4403 4957 4479 +3 2991 4491 3204 +3 3223 5042 5014 +3 4123 4342 4316 +3 5050 4461 4462 +3 4970 3754 4957 +3 4464 5049 82 +3 4818 3232 4822 +3 4042 5049 4464 +3 4257 3703 4743 +3 5023 4442 4466 +3 5023 82 4442 +3 4466 4442 107 +3 2381 3051 2384 +3 5042 4491 5050 +3 4174 1160 4176 +3 4043 2563 4042 +3 433 5015 3235 +3 3204 4491 5042 +3 4956 3719 4242 +3 3204 2384 2991 +3 4818 2990 3233 +3 4461 3233 4462 +3 4403 3138 2933 +3 3754 4970 3800 +3 4783 2981 81 +3 2630 81 65 +3 3138 2687 2933 +3 3800 3927 3754 +3 3051 2381 4043 +3 4461 3232 3233 +3 4956 4411 4957 +3 3232 4818 3233 +3 4479 4957 4411 +3 4479 4822 4403 +3 4411 4771 4479 +3 4176 4166 4174 +3 3620 3719 3927 +3 1160 4667 1044 +3 3719 4956 3754 +3 2931 2374 2135 +3 2384 3138 2991 +3 2991 3138 4822 +3 4957 3754 4956 +3 4822 3138 4403 +3 3927 2199 3620 +3 2931 2133 3800 +3 3754 3927 3719 +3 2631 2135 2374 +3 2374 2687 3947 +3 3138 2384 2687 +3 2933 2687 2374 +3 4783 2630 3947 +3 3051 3947 2687 +3 3947 2981 4783 +3 2630 4783 81 +3 2931 2933 2374 +3 2631 2374 2630 +3 107 4442 106 +3 4042 2363 3956 +3 2942 2563 3223 +3 3223 5014 2942 +3 3956 5049 4042 +3 106 4973 107 +3 82 5023 81 +3 4242 4225 4956 +3 4469 53 5047 +3 2650 4052 3824 +3 3205 4124 256 +3 4775 4805 4981 +3 4080 4073 4849 +3 4066 4105 3920 +3 4825 4708 3348 +3 4878 4506 4508 +3 767 785 4506 +3 108 2419 137 +3 767 3173 775 +3 775 3173 758 +3 1680 3771 3726 +3 4124 4094 176 +3 3726 4662 4654 +3 447 443 52 +3 52 443 4365 +3 4469 1820 53 +3 5032 54 4624 +3 4714 4628 4634 +3 4998 4994 4981 +3 5003 4994 4998 +3 4887 3303 4888 +3 3737 4805 3692 +3 4805 3737 4640 +3 3490 3434 3435 +3 4513 3900 3920 +3 176 256 4124 +3 4094 4124 4840 +3 4105 4072 4513 +3 4662 3726 3771 +3 3771 3377 4662 +3 3490 4754 3205 +3 4674 2997 3900 +3 3900 4513 4674 +3 443 4655 4365 +3 4050 2706 2360 +3 4469 854 1820 +3 4105 4840 4865 +3 2391 4050 2360 +3 4664 4072 4865 +3 3544 1023 4126 +3 4654 4655 447 +3 4754 4840 4124 +3 137 3087 372 +3 3771 1680 756 +3 4714 3691 4765 +3 2938 3691 4775 +3 2790 4664 4865 +3 2782 4469 137 +3 372 4888 2782 +3 3354 2782 4888 +3 4847 3466 3445 +3 4838 3444 3445 +3 172 4508 4506 +3 4840 4838 4865 +3 172 4105 4066 +3 767 4506 4878 +3 250 1023 4104 +3 4878 3173 767 +3 4104 1023 4073 +3 4126 1023 854 +3 4865 4072 4105 +3 4849 3490 4080 +3 3982 3087 3971 +3 3982 3303 3087 +3 3971 4847 3982 +3 4825 4888 3303 +3 5003 4642 2791 +3 3971 3088 5017 +3 3920 4105 4513 +3 4847 3971 5017 +3 4640 4998 4805 +3 4878 3920 3900 +3 5017 3466 4847 +3 3087 4887 372 +3 4917 4627 4628 +3 3444 4838 5055 +3 4998 4640 4642 +3 111 54 5032 +3 3555 5055 4754 +3 2873 2992 4575 +3 3348 3555 3435 +3 2650 2595 4052 +3 4967 199 4735 +3 176 172 1219 +3 2790 2791 4642 +3 3354 3348 3550 +3 4575 2992 4578 +3 372 2782 137 +3 3303 3982 4825 +3 2992 4624 3300 +3 3092 2391 2943 +3 3300 4578 2992 +3 2419 4054 137 +3 4994 5017 3092 +3 172 4066 4508 +3 3303 4887 3087 +3 3982 4847 4708 +3 3435 4754 3490 +3 4708 3444 3555 +3 3824 2632 2650 +3 3550 4469 3354 +3 4849 3550 3434 +3 4708 3445 3444 +3 3173 3900 2997 +3 4994 3466 5017 +3 3433 4469 3550 +3 5055 3555 3444 +3 2391 4997 4050 +3 4881 3433 3550 +3 4881 3550 4849 +3 2391 2360 2943 +3 4840 5055 4838 +3 4865 4838 3445 +3 3555 3348 4708 +3 3348 3354 4825 +3 5055 4840 4754 +3 4888 4825 3354 +3 3092 4054 2391 +3 447 52 967 +3 4655 443 447 +3 3726 447 967 +3 3900 3173 4878 +3 3377 3771 2997 +3 310 4104 4080 +3 2997 4674 3377 +3 4126 4469 3433 +3 4054 2419 2391 +3 4578 4891 4575 +3 3205 4080 3490 +3 256 310 3205 +3 3726 967 1680 +3 1219 1098 176 +3 758 3173 756 +3 4654 447 3726 +3 1098 829 256 +3 4066 3920 4508 +3 4467 5001 108 +3 256 176 1098 +3 137 4467 108 +3 792 1219 4506 +3 792 4506 785 +3 3433 4881 3544 +3 250 4104 1213 +3 3544 4126 3433 +3 4104 310 1213 +3 4124 3205 4754 +3 756 2997 3771 +3 4881 4849 4073 +3 4981 3242 4775 +3 4073 4080 4104 +3 3544 4073 1023 +3 4840 4105 4094 +3 4126 854 4469 +3 4094 4105 172 +3 4073 3544 4881 +3 172 176 4094 +3 4080 3205 310 +3 829 1213 310 +3 3692 4634 3737 +3 5003 4998 4642 +3 4151 4050 4997 +3 2943 3242 4981 +3 4994 2943 4981 +3 4735 4052 4967 +3 4628 4714 4917 +3 4754 3435 3555 +3 4054 3088 137 +3 3434 3490 4849 +3 5024 4469 5047 +3 4994 5003 3466 +3 2791 3466 5003 +3 2706 4050 4151 +3 4151 4997 4967 +3 199 4967 108 +3 4997 108 4967 +3 4469 5024 4467 +3 3354 4469 2782 +3 5024 54 4536 +3 5024 4536 4467 +3 4467 4536 5001 +3 108 5001 199 +3 4151 4967 4052 +3 4917 4765 4891 +3 3242 2360 2706 +3 3691 4714 3692 +3 2943 2360 3242 +3 3692 4775 3691 +3 3824 4052 4735 +3 3824 4735 3826 +3 4536 54 111 +3 3826 3961 3824 +3 111 5032 3826 +3 111 3826 4735 +3 3826 5032 3961 +3 3961 2633 2632 +3 3961 3234 2633 +3 2632 3003 2996 +3 2940 2650 2996 +3 3003 2632 2633 +3 2633 3234 3003 +3 2632 3824 3961 +3 2940 2938 2595 +3 4575 3003 3234 +3 4765 3691 2940 +3 137 4469 4467 +3 3691 2938 2940 +3 2996 2650 2632 +3 4891 4578 4917 +3 3088 3971 3087 +3 2940 2595 2650 +3 3348 3435 3434 +3 4634 3692 4714 +3 4765 4917 4714 +3 4775 3692 4805 +3 4981 4805 4998 +3 4888 372 4887 +3 4052 2595 4151 +3 4627 4917 4578 +3 3003 4575 4891 +3 4578 3300 4627 +3 3087 137 3088 +3 5032 4624 2992 +3 5032 2992 2873 +3 4891 2996 3003 +3 3242 2706 2938 +3 4765 2940 2996 +3 2938 4775 3242 +3 2790 4865 3445 +3 2791 2790 3445 +3 3961 5032 3234 +3 3234 2873 4575 +3 3234 5032 2873 +3 3466 2791 3445 +3 4997 2391 2419 +3 2419 108 4997 +3 2943 4994 3092 +3 4054 3092 3088 +3 3092 5017 3088 +3 111 4735 199 +3 199 5001 111 +3 5001 4536 111 +3 4708 4825 3982 +3 3445 4708 4847 +3 310 256 829 +3 3348 3434 3550 +3 2595 2938 2706 +3 2706 4151 2595 +3 2996 4891 4765 +3 2997 756 3173 +3 4878 4508 3920 +3 4506 1219 172 + From 2e24464f3e2793dadfadcfc734727e747a1832de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Fri, 25 Apr 2025 17:33:23 +0200 Subject: [PATCH 48/79] Test for snap rounding --- .../test_snap_rounding.cmd | 39 ++++++++ .../test_snap_rounding.cpp | 94 ++----------------- 2 files changed, 47 insertions(+), 86 deletions(-) create mode 100644 Polygon_mesh_processing/test/Polygon_mesh_processing/test_snap_rounding.cmd diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/test_snap_rounding.cmd b/Polygon_mesh_processing/test/Polygon_mesh_processing/test_snap_rounding.cmd new file mode 100644 index 000000000000..f82ae47ab660 --- /dev/null +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/test_snap_rounding.cmd @@ -0,0 +1,39 @@ +data-autoref/test_01.off 4 2 +data-autoref/test_02.off 10 17 +data-autoref/test_03.off 11 14 +data-autoref/test_04.off 12 20 +data-autoref/test_05.off 12 20 +data-autoref/test_06.off 89 248 +data-autoref/test_07.off 8 12 +data-autoref/test_08.off 57 148 +data-autoref/test_09.off 4 3 +data-autoref/test_10.off 10 13 +data-autoref/test_11.off 9 12 +data-autoref/test_12.off 9 6 +data-autoref/test_13.off 12 22 +data-autoref/test_14.off 12 22 +data-autoref/test_15.off 12 22 +data-autoref/test_16.off 4 2 +data-autoref/test_17.off 4 2 +data-autoref/triple_inter_exception/triple.off 15 18 +data-autoref/triple_inter_exception/cubes_cpln_1.off 66 206 +data-autoref/triple_inter_exception/cubes_cpln_2.off 54 158 +data-autoref/triple_inter_exception/cubes_cpln_3.off 61 188 +data-autoref/open_01.off 1313 2622 +data-autoref/open_02.off 562 1056 +data-autoref/cpln_01.off 30 78 +data-autoref/cpln_02.off 24 56 +data-autoref/cpln_03.off 27 68 +data-autoref/four_cubes.off 106 352 +data-autoref/spiral.off 19 31 +data-snap/intersection_when_rounded_1.off 9 6 +data-snap/intersection_when_rounded_2.off 10 7 +data-snap/intersection_when_rounded_3.off 16 14 +data-snap/collapse_1.off 6 4 +data-snap/collapse_2.off 13 16 +data-snap/collapse_3.off 11 10 +data-snap/no_collapse_1.off 8 4 +data-snap/no_collapse_2.off 12 4 +data-snap/cubes.off 5042 26036 +data-snap/coplanar_cubes.off 1514 5544 +data-snap/coplanar_refined_cubes.off 1872 6880 diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/test_snap_rounding.cpp b/Polygon_mesh_processing/test/Polygon_mesh_processing/test_snap_rounding.cpp index 76d806a50fc2..f2e6a35bb57f 100644 --- a/Polygon_mesh_processing/test/Polygon_mesh_processing/test_snap_rounding.cpp +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/test_snap_rounding.cpp @@ -3,33 +3,18 @@ #include #include #include +#include #include - -#include #include #include #include typedef CGAL::Exact_predicates_inexact_constructions_kernel K; -typedef CGAL::Surface_mesh Mesh; namespace PMP = CGAL::Polygon_mesh_processing; -template -struct My_exp_visitor : - public CGAL::Polygon_mesh_processing::Corefinement::Default_visitor -{ - void after_subface_creations(TriangleMesh&){++(*i);} - - My_exp_visitor() - : i (new int(0) ) - {} - - std::shared_ptr i; -}; - struct My_visitor : public PMP::Autorefinement::Default_visitor { My_visitor(std::size_t nb_input, std::size_t expected_nb_output) @@ -47,6 +32,7 @@ struct My_visitor : public PMP::Autorefinement::Default_visitor void number_of_output_triangles(std::size_t nbt) { tgt_check.assign(expected_nb_output, 0); + std::cout << nbt << " " << expected_nb_output << std::endl; assert(nbt==expected_nb_output); } @@ -76,70 +62,6 @@ struct My_visitor : public PMP::Autorefinement::Default_visitor std::vector tgt_check; }; -void test_coref_based(const char* fname, std::size_t nb_polylines, std::size_t total_nb_points, - std::size_t nb_vertices_after_autorefine, bool all_fixed, std::size_t nb_vertices_after_fix, - bool triple_intersection) -{ - std::cout << "Running tests (coref based) on " << fname << "\n"; - std::ifstream input(fname); - - Mesh mesh; - if (!input || !(input >> mesh)) - { - std::cerr << " Input mesh is not a valid off file." << std::endl; - exit(EXIT_FAILURE); - } - input.close(); - std::size_t nb_vertices_before_autorefine = num_vertices(mesh); - -// Testing PMP::experimental::surface_self_intersection() - try{ - std::vector< std::vector >polylines; - PMP::experimental::surface_self_intersection(mesh, std::back_inserter(polylines)); - assert(polylines.size() == nb_polylines); - std::size_t total_nb_pt=0; - for(const std::vector& polyline : polylines) - total_nb_pt+=polyline.size(); - assert(total_nb_points == total_nb_pt); - assert( !triple_intersection ); - } - catch(const PMP::Corefinement::Triple_intersection_exception&) - { - assert( triple_intersection ); - } - -// Testing PMP::experimental::autorefine() - try{ - My_exp_visitor visitor; - PMP::experimental::autorefine(mesh, - CGAL::parameters::visitor(visitor)); - mesh.collect_garbage(); - assert( nb_vertices_after_autorefine==num_vertices(mesh)); - assert( (nb_vertices_before_autorefine!=nb_vertices_after_autorefine)== (*(visitor.i) != 0) ); - assert( !triple_intersection ); - } - catch(const PMP::Corefinement::Triple_intersection_exception&) - { - assert( triple_intersection ); - } - -// Testing PMP::experimental::autorefine_and_remove_self_intersections() - try{ - input.open(fname); - mesh.clear(); - input >> mesh; - bool res=PMP::experimental::autorefine_and_remove_self_intersections(mesh); - assert(res==all_fixed); - mesh.collect_garbage(); - assert( nb_vertices_after_fix==num_vertices(mesh)); - assert( !triple_intersection ); - } - catch(const PMP::Corefinement::Triple_intersection_exception&) - { - assert( triple_intersection ); - } -} - template void test(const char* fname, std::size_t nb_vertices_after_autorefine, std::size_t expected_nb_output, Tag tag) { @@ -160,6 +82,8 @@ void test(const char* fname, std::size_t nb_vertices_after_autorefine, std::size // Testing autorefine() My_visitor visitor(triangles.size(), expected_nb_output); PMP::autorefine_triangle_soup(points, triangles, CGAL::parameters::visitor(visitor).concurrency_tag(tag).apply_iterative_snap_rounding(true)); + std::cout << points.size() << " " << nb_vertices_after_autorefine << std::endl; + std::cout << triangles.size() << " " << expected_nb_output << std::endl; assert( nb_vertices_after_autorefine==points.size()); assert( expected_nb_output==triangles.size()); assert( !PMP::does_triangle_soup_self_intersect(points, triangles) ); @@ -168,14 +92,12 @@ void test(const char* fname, std::size_t nb_vertices_after_autorefine, std::size int main(int argc, const char** argv) { - // file nb_polylines total_nb_points nb_vertices_after_autorefine all_fixed nb_vertices_after_fix triple_intersection - for (int i=0;i<(argc-1)/9; ++i) + // file expected_nb_of_vertices expected_nb_of_faces (after repair) + for (int i=0;i<(argc-1)/3; ++i) { - test_coref_based(argv[1+9*i], atoi(argv[1+9*i+1]), atoi(argv[1+9*i+2]), - atoi(argv[1+9*i+3]), atoi(argv[1+9*i+4])==0?false:true, atoi(argv[1+9*i+5]), atoi(argv[1+9*i+6])==0?false:true); - test(argv[1+9*i], atoi(argv[1+9*i+7]), atoi(argv[1+9*i+8]), CGAL::Sequential_tag()); + test(argv[1+3*i], atoi(argv[1+3*i+1]), atoi(argv[1+3*i+2]), CGAL::Sequential_tag()); #ifdef CGAL_LINKED_WITH_TBB - test(argv[1+9*i], atoi(argv[1+9*i+7]), atoi(argv[1+9*i+8]), CGAL::Parallel_tag()); + test(argv[1+3*i], atoi(argv[1+3*i+1]), atoi(argv[1+3*i+2]), CGAL::Parallel_tag()); #endif } } From f4d46b84a5247e45f71ecd467a7d4641e5fdb5f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Fri, 25 Apr 2025 17:34:15 +0200 Subject: [PATCH 49/79] update cmakelist to compile examples with rotated cubes --- .../examples/Polygon_mesh_processing/CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/CMakeLists.txt b/Polygon_mesh_processing/examples/Polygon_mesh_processing/CMakeLists.txt index 1747148f26f5..da14e538df41 100644 --- a/Polygon_mesh_processing/examples/Polygon_mesh_processing/CMakeLists.txt +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/CMakeLists.txt @@ -59,6 +59,8 @@ create_single_source_cgal_program("isotropic_remeshing_with_allow_move.cpp") create_single_source_cgal_program("triangle_mesh_autorefinement.cpp") create_single_source_cgal_program("soup_autorefinement.cpp") create_single_source_cgal_program("snap_polygon_soup.cpp") +create_single_source_cgal_program("rotated_cubes_autorefinement.cpp") +create_single_source_cgal_program("coplanar_cubes_autorefinement.cpp") find_package(Eigen3 3.2.0 QUIET) #(requires 3.2.0 or greater) include(CGAL_Eigen3_support) @@ -140,6 +142,8 @@ if(TARGET CGAL::TBB_support) target_link_libraries(hausdorff_bounded_error_distance_example PRIVATE CGAL::TBB_support) target_link_libraries(soup_autorefinement PRIVATE CGAL::TBB_support) target_link_libraries(snap_polygon_soup PRIVATE CGAL::TBB_support) + target_link_libraries(rotated_cubes_autorefinement PRIVATE CGAL::TBB_support) + target_link_libraries(coplanar_cubes_autorefinement PRIVATE CGAL::TBB_support) create_single_source_cgal_program("corefinement_parallel_union_meshes.cpp") target_link_libraries(corefinement_parallel_union_meshes PRIVATE CGAL::TBB_support) From 34094464370ef751dc5dba04ca9e53112adf7cdb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Fri, 25 Apr 2025 17:35:04 +0200 Subject: [PATCH 50/79] Solve mistake in test_snap_rounding.cmd --- .../test/Polygon_mesh_processing/test_snap_rounding.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/test_snap_rounding.cmd b/Polygon_mesh_processing/test/Polygon_mesh_processing/test_snap_rounding.cmd index f82ae47ab660..82f194039a55 100644 --- a/Polygon_mesh_processing/test/Polygon_mesh_processing/test_snap_rounding.cmd +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/test_snap_rounding.cmd @@ -36,4 +36,4 @@ data-snap/no_collapse_1.off 8 4 data-snap/no_collapse_2.off 12 4 data-snap/cubes.off 5042 26036 data-snap/coplanar_cubes.off 1514 5544 -data-snap/coplanar_refined_cubes.off 1872 6880 +data-snap/refined_coplanar_cubes.off 1872 6880 From afa80c2a8af2fd9adbd727509a8e14d3c5bb099a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Mon, 28 Apr 2025 11:51:19 +0200 Subject: [PATCH 51/79] simplify the example code of snap_rounding --- .../snap_polygon_soup.cpp | 87 ++++++++----------- 1 file changed, 35 insertions(+), 52 deletions(-) diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp b/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp index 8ec5e8bff864..cc81e6ffbdb0 100644 --- a/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/snap_polygon_soup.cpp @@ -1,5 +1,3 @@ -#include -#include #include #include #include @@ -13,53 +11,9 @@ #include -typedef CGAL::Exact_predicates_inexact_constructions_kernel EPICK; -typedef CGAL::Exact_predicates_exact_constructions_kernel EPECK; -typedef CGAL::Simple_cartesian Cartesian; - +typedef CGAL::Exact_predicates_inexact_constructions_kernel Kernel; namespace PMP = CGAL::Polygon_mesh_processing; -template -struct Example{ - void operator()(const std::string& filename, int grid_size){ - const std::string out_file = "rounded_soup.off"; - std::vector input_points; - std::vector> input_triangles; - std::cout << "Snap rounding on " << filename << " with " << typeid(Kernel).name() << "\n"; - if (!CGAL::IO::read_polygon_soup(filename, input_points, input_triangles)) - { - std::cerr << "Cannot read " << filename << "\n"; - return; - } - std::cout << "#points = " << input_points.size() << " and #triangles = " << input_triangles.size() << std::endl; - std::cout << "Is 2-manifold: " << PMP::is_polygon_soup_a_polygon_mesh(input_triangles) << std::endl; - - std::vector> pairs_of_intersecting_triangles; - PMP::triangle_soup_self_intersections(input_points, input_triangles, std::back_inserter(pairs_of_intersecting_triangles)); - std::cout << "Nb of pairs of intersecting triangles: " << pairs_of_intersecting_triangles.size() << std::endl; - - PMP::repair_polygon_soup(input_points, input_triangles); - PMP::triangulate_polygons(input_points, input_triangles); - - CGAL::Real_timer t; - t.start(); - bool success=PMP::autorefine_triangle_soup(input_points, input_triangles, CGAL::parameters::apply_iterative_snap_rounding(true).erase_all_duplicates(false).concurrency_tag(CGAL::Parallel_if_available_tag()).snap_grid_size(grid_size).number_of_iterations(15)); - t.stop(); - std::cout << "\nOutput:" << std::endl; - std::cout << "#points = " << input_points.size() << " and #triangles = " << input_triangles.size() << " in " << t.time() << " sec." << std::endl; - if(success) - std::cout << "Does self-intersect: " << PMP::does_triangle_soup_self_intersect(input_points, input_triangles) << std::endl; - else - std::cout << "ROUNDING FAILED" << std::endl; - - std::vector output_points; - for(auto &p: input_points) - output_points.emplace_back(CGAL::to_double(p.x()),CGAL::to_double(p.y()),CGAL::to_double(p.z())); - CGAL::IO::write_polygon_soup(out_file, output_points, input_triangles, CGAL::parameters::stream_precision(17)); - std::cout << "Is 2-manifold: " << PMP::orient_polygon_soup(input_points, input_triangles) << "\n\n" << std::endl; - } -}; - int main(int argc, char** argv) { const std::string filename = argc == 1 ? CGAL::data_file_path("meshes/elephant.off") @@ -68,12 +22,41 @@ int main(int argc, char** argv) const int grid_size = argc <= 2 ? 23 : std::stoi(std::string(argv[2])); - const bool epeck = argc <= 3 ? false - : std::string(argv[3])=="EPECK"; + const std::string out_file = "rounded_soup.off"; + + std::vector points; + std::vector> triangles; - if(epeck) - Example()(filename, grid_size); + std::cout << "Snap rounding on " << filename << "\n"; + if (!CGAL::IO::read_polygon_soup(filename, points, triangles)) + { + std::cerr << "Cannot read " << filename << "\n"; + return 1; + } + + std::cout << "#points = " << points.size() << " and #triangles = " << triangles.size() << std::endl; + std::cout << "Is 2-manifold: " << PMP::is_polygon_soup_a_polygon_mesh(triangles) << std::endl; + + std::vector> pairs_of_intersecting_triangles; + PMP::triangle_soup_self_intersections(points, triangles, std::back_inserter(pairs_of_intersecting_triangles)); + std::cout << "Nb of pairs of intersecting triangles: " << pairs_of_intersecting_triangles.size() << std::endl; + + PMP::repair_polygon_soup(points, triangles); + PMP::triangulate_polygons(points, triangles); + + CGAL::Real_timer t; + t.start(); + bool success=PMP::autorefine_triangle_soup(points, triangles, CGAL::parameters::apply_iterative_snap_rounding(true).erase_all_duplicates(false).concurrency_tag(CGAL::Parallel_if_available_tag()).snap_grid_size(grid_size).number_of_iterations(15)); + t.stop(); + + std::cout << "\nOutput:" << std::endl; + std::cout << "#points = " << points.size() << " and #triangles = " << triangles.size() << " in " << t.time() << " sec." << std::endl; + if(success) + std::cout << "Does self-intersect: " << PMP::does_triangle_soup_self_intersect(points, triangles) << std::endl; else - Example()(filename, grid_size); + std::cout << "ROUNDING FAILED" << std::endl; + + CGAL::IO::write_polygon_soup(out_file, points, triangles, CGAL::parameters::stream_precision(17)); + std::cout << "Is 2-manifold: " << PMP::orient_polygon_soup(points, triangles) << "\n\n" << std::endl; return 0; } From d56fe4870afb98abd42ba2ac08984bed06afdb59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Mon, 28 Apr 2025 12:00:05 +0200 Subject: [PATCH 52/79] less verbose test and add another test file --- .../test/Polygon_mesh_processing/test_snap_rounding.cmd | 1 + .../test/Polygon_mesh_processing/test_snap_rounding.cpp | 3 --- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/test_snap_rounding.cmd b/Polygon_mesh_processing/test/Polygon_mesh_processing/test_snap_rounding.cmd index 82f194039a55..44c57e68d6d1 100644 --- a/Polygon_mesh_processing/test/Polygon_mesh_processing/test_snap_rounding.cmd +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/test_snap_rounding.cmd @@ -35,5 +35,6 @@ data-snap/collapse_3.off 11 10 data-snap/no_collapse_1.off 8 4 data-snap/no_collapse_2.off 12 4 data-snap/cubes.off 5042 26036 +data-snap/refined_cubes.off 5908 29863 data-snap/coplanar_cubes.off 1514 5544 data-snap/refined_coplanar_cubes.off 1872 6880 diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/test_snap_rounding.cpp b/Polygon_mesh_processing/test/Polygon_mesh_processing/test_snap_rounding.cpp index f2e6a35bb57f..b8d8689a752d 100644 --- a/Polygon_mesh_processing/test/Polygon_mesh_processing/test_snap_rounding.cpp +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/test_snap_rounding.cpp @@ -32,7 +32,6 @@ struct My_visitor : public PMP::Autorefinement::Default_visitor void number_of_output_triangles(std::size_t nbt) { tgt_check.assign(expected_nb_output, 0); - std::cout << nbt << " " << expected_nb_output << std::endl; assert(nbt==expected_nb_output); } @@ -82,8 +81,6 @@ void test(const char* fname, std::size_t nb_vertices_after_autorefine, std::size // Testing autorefine() My_visitor visitor(triangles.size(), expected_nb_output); PMP::autorefine_triangle_soup(points, triangles, CGAL::parameters::visitor(visitor).concurrency_tag(tag).apply_iterative_snap_rounding(true)); - std::cout << points.size() << " " << nb_vertices_after_autorefine << std::endl; - std::cout << triangles.size() << " " << expected_nb_output << std::endl; assert( nb_vertices_after_autorefine==points.size()); assert( expected_nb_output==triangles.size()); assert( !PMP::does_triangle_soup_self_intersect(points, triangles) ); From a5f5e829c729bc73bab216ff3ff67762c9d447ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Mon, 28 Apr 2025 14:21:27 +0200 Subject: [PATCH 53/79] add specialization of repair_triangle_soup for indexes_range of array --- .../internal/triangle_soup_snap_rounding.h | 72 ++++++++++++++++--- 1 file changed, 63 insertions(+), 9 deletions(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h index 86115e6717cc..776d47066e41 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h @@ -33,6 +33,7 @@ namespace Polygon_mesh_processing namespace internal { +// Certified ceil function for exact number types template double double_ceil(Lazy_exact_nt< NT > x); template double double_ceil(NT x); @@ -42,7 +43,7 @@ double double_ceil(Lazy_exact_nt< NT > x){ double ceil_left=std::ceil(to_interval(x).first); if(ceil_left==std::ceil(to_interval(x).second)) return ceil_left; - // If not refine interval by contracting the DAG and try again + // If not refine the interval by contracting the DAG and try again x.exact(); ceil_left=std::ceil(to_interval(x).first); if(ceil_left==std::ceil(to_interval(x).second)) @@ -69,6 +70,7 @@ double double_ceil(NT x){ } }; +// Color a range by an index, it is used by the visitor to track the correspondance between the input and the output template class Indexes_range : public Range{ typedef std::remove_cv_t::value_type> Value_type; @@ -98,18 +100,71 @@ class Indexes_range : public Range{ bool modified; }; -//repair_polygon_soup for triangles +// Repair_polygon_soup without remove_pinched_polygons since our polygon are triangles template ::Polygon_3, - typename NamedParameters> + typename Polygon = typename Polygon_types::Polygon_3> +struct Triangle_soup_fixer +{ + template + void operator()(PointRange& points, + PolygonRange& polygons, + const NamedParameters& np) const + { + using parameters::get_parameter; + using parameters::choose_parameter; + + typedef typename GetPolygonGeomTraits::type Traits; + Traits traits = choose_parameter(get_parameter(np, internal_np::geom_traits), Traits()); + + merge_duplicate_points_in_polygon_soup(points, polygons, np); + simplify_polygons_in_polygon_soup(points, polygons, traits); + remove_invalid_polygons_in_polygon_soup(points, polygons); + merge_duplicate_polygons_in_polygon_soup(points, polygons, np); + remove_isolated_points_in_polygon_soup(points, polygons); + } +}; + +// Specialization for array and Indexes_range of array +template +struct Triangle_soup_fixer > +{ + template + void operator()(PointRange& points, + PolygonRange& polygons, + const NamedParameters& np) const + { + repair_polygon_soup(points, polygons, np); + } +}; + +template +struct Triangle_soup_fixer > > +{ + template + void operator()(PointRange& points, + PolygonRange& polygons, + const NamedParameters& np) const + { + using parameters::get_parameter; + using parameters::choose_parameter; + + typedef typename GetPolygonGeomTraits::type Traits; + Traits traits = choose_parameter(get_parameter(np, internal_np::geom_traits), Traits()); + + merge_duplicate_points_in_polygon_soup(points, polygons, np); + remove_invalid_polygons_in_array_polygon_soup(points, polygons, traits); + merge_duplicate_polygons_in_polygon_soup(points, polygons, np); + remove_isolated_points_in_polygon_soup(points, polygons); + } +}; + +template void repair_triangle_soup(PointRange& points, PolygonRange& polygons, const NamedParameters& np) { - merge_duplicate_points_in_polygon_soup(points, polygons, np); - remove_invalid_polygons_in_polygon_soup(points, polygons); - merge_duplicate_polygons_in_polygon_soup(points, polygons, np); - remove_isolated_points_in_polygon_soup(points, polygons); + Triangle_soup_fixer fixer; + fixer(points, polygons, np); } struct Wrapp_id_visitor : public Autorefinement::Default_visitor @@ -280,7 +335,6 @@ bool polygon_soup_snap_rounding_impl(PointRange &points, #endif for (Point_3 &p : points) p = Point_3(to_double(p.x()), to_double(p.y()), to_double(p.z())); - repair_triangle_soup(points, triangles, np); // Get all intersecting triangles From 8301f15193eb1a189313059f0e759bee5c32146a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Mon, 28 Apr 2025 14:36:02 +0200 Subject: [PATCH 54/79] some cleaning --- .../internal/triangle_soup_snap_rounding.h | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h index 776d47066e41..26d81d8a1708 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h @@ -167,6 +167,7 @@ void repair_triangle_soup(PointRange& points, fixer(points, polygons, np); } +// A visitor of Autorefinement to track the correspondance between input and output triangles struct Wrapp_id_visitor : public Autorefinement::Default_visitor { template< typename Triangle> @@ -248,7 +249,7 @@ bool polygon_soup_snap_rounding_impl(PointRange &points, typedef typename internal_np::Lookup_named_param_def < internal_np::visitor_t, NamedParameters, - Autorefinement::Default_visitor//default + Autorefinement::Default_visitor >::type Visitor; Visitor visitor(choose_parameter(get_parameter(np, internal_np::visitor))); @@ -301,7 +302,6 @@ bool polygon_soup_snap_rounding_impl(PointRange &points, auto snap = [](typename Kernel::FT x, double scale) { // Scale the coordinate, round to nearest integer and scale back - // TODO replace this ceil by the one of Algebraic_fondation when it will be add to master return internal::double_ceil((x * scale) - 0.5) / scale; }; auto snap_p = [scale, snap](const Point_3 &p) @@ -376,6 +376,7 @@ bool polygon_soup_snap_rounding_impl(PointRange &points, std::cout << "Snap the coordinates of the vertices of the intersecting triangles" << std::endl; #endif +// Variants of the rounding process depending of the macros defined #if defined(PMP_ROUNDING_VERTICES_NAIVE_SNAP) // Nothing @@ -478,6 +479,8 @@ bool polygon_soup_snap_rounding_impl(PointRange &points, } } #elif defined(PMP_ROUNDING_VERTICES_FLOAT_SNAP) + // Version where points are rounded to the closest simple precision float. + for (auto &pair : pairs_of_intersecting_triangles) { for (size_t pi : triangles[pair.first]) @@ -491,8 +494,6 @@ bool polygon_soup_snap_rounding_impl(PointRange &points, // Get all the snap version of the points of the vertices of the intersecting triangles // Note: points will not be modified here, they will be modified in the next for loop - //TODO: TBB version of this for loop - std::vector snap_points; snap_points.reserve(pairs_of_intersecting_triangles.size() * 3); From 484ade6f510112f576234971e5cc17cf7bec90d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Mon, 28 Apr 2025 16:40:43 +0200 Subject: [PATCH 55/79] move experiments with rotated cubes in benchmark --- .../benchmark/Polygon_mesh_processing/CMakeLists.txt | 10 ++++++++++ .../coplanar_cubes_autorefinement.cpp | 0 .../rotated_cubes_autorefinement.cpp | 0 .../examples/Polygon_mesh_processing/CMakeLists.txt | 4 ---- 4 files changed, 10 insertions(+), 4 deletions(-) rename Polygon_mesh_processing/{examples => benchmark}/Polygon_mesh_processing/coplanar_cubes_autorefinement.cpp (100%) rename Polygon_mesh_processing/{examples => benchmark}/Polygon_mesh_processing/rotated_cubes_autorefinement.cpp (100%) diff --git a/Polygon_mesh_processing/benchmark/Polygon_mesh_processing/CMakeLists.txt b/Polygon_mesh_processing/benchmark/Polygon_mesh_processing/CMakeLists.txt index c24a90d79040..a59b7181d0cc 100644 --- a/Polygon_mesh_processing/benchmark/Polygon_mesh_processing/CMakeLists.txt +++ b/Polygon_mesh_processing/benchmark/Polygon_mesh_processing/CMakeLists.txt @@ -37,7 +37,17 @@ else() endif() create_single_source_cgal_program("fast.cpp") +create_single_source_cgal_program("rotated_cubes_autorefinement.cpp") +create_single_source_cgal_program("coplanar_cubes_autorefinement.cpp") create_single_source_cgal_program("polygon_mesh_slicer.cpp") target_link_libraries(polygon_mesh_slicer PRIVATE CGAL::Eigen3_support) +find_package(TBB QUIET) +include(CGAL_TBB_support) +if(TARGET CGAL::TBB_support) + target_link_libraries(rotated_cubes_autorefinement PRIVATE CGAL::TBB_support) + target_link_libraries(coplanar_cubes_autorefinement PRIVATE CGAL::TBB_support) +else() + message(STATUS "NOTICE: Intel TBB was not found. Sequential code will be used.") +endif() \ No newline at end of file diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/coplanar_cubes_autorefinement.cpp b/Polygon_mesh_processing/benchmark/Polygon_mesh_processing/coplanar_cubes_autorefinement.cpp similarity index 100% rename from Polygon_mesh_processing/examples/Polygon_mesh_processing/coplanar_cubes_autorefinement.cpp rename to Polygon_mesh_processing/benchmark/Polygon_mesh_processing/coplanar_cubes_autorefinement.cpp diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/rotated_cubes_autorefinement.cpp b/Polygon_mesh_processing/benchmark/Polygon_mesh_processing/rotated_cubes_autorefinement.cpp similarity index 100% rename from Polygon_mesh_processing/examples/Polygon_mesh_processing/rotated_cubes_autorefinement.cpp rename to Polygon_mesh_processing/benchmark/Polygon_mesh_processing/rotated_cubes_autorefinement.cpp diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/CMakeLists.txt b/Polygon_mesh_processing/examples/Polygon_mesh_processing/CMakeLists.txt index da14e538df41..1747148f26f5 100644 --- a/Polygon_mesh_processing/examples/Polygon_mesh_processing/CMakeLists.txt +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/CMakeLists.txt @@ -59,8 +59,6 @@ create_single_source_cgal_program("isotropic_remeshing_with_allow_move.cpp") create_single_source_cgal_program("triangle_mesh_autorefinement.cpp") create_single_source_cgal_program("soup_autorefinement.cpp") create_single_source_cgal_program("snap_polygon_soup.cpp") -create_single_source_cgal_program("rotated_cubes_autorefinement.cpp") -create_single_source_cgal_program("coplanar_cubes_autorefinement.cpp") find_package(Eigen3 3.2.0 QUIET) #(requires 3.2.0 or greater) include(CGAL_Eigen3_support) @@ -142,8 +140,6 @@ if(TARGET CGAL::TBB_support) target_link_libraries(hausdorff_bounded_error_distance_example PRIVATE CGAL::TBB_support) target_link_libraries(soup_autorefinement PRIVATE CGAL::TBB_support) target_link_libraries(snap_polygon_soup PRIVATE CGAL::TBB_support) - target_link_libraries(rotated_cubes_autorefinement PRIVATE CGAL::TBB_support) - target_link_libraries(coplanar_cubes_autorefinement PRIVATE CGAL::TBB_support) create_single_source_cgal_program("corefinement_parallel_union_meshes.cpp") target_link_libraries(corefinement_parallel_union_meshes PRIVATE CGAL::TBB_support) From b7fe173d8272c9d3eb8b95c769f8cf0209c9eb26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Mon, 28 Apr 2025 16:41:21 +0200 Subject: [PATCH 56/79] modified example of cmd --- .../test/Polygon_mesh_processing/test_snap_rounding.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/test_snap_rounding.cmd b/Polygon_mesh_processing/test/Polygon_mesh_processing/test_snap_rounding.cmd index 44c57e68d6d1..fa1b6a98c715 100644 --- a/Polygon_mesh_processing/test/Polygon_mesh_processing/test_snap_rounding.cmd +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/test_snap_rounding.cmd @@ -1,6 +1,6 @@ data-autoref/test_01.off 4 2 data-autoref/test_02.off 10 17 -data-autoref/test_03.off 11 14 +data-autoref/test_03.off 13 20 data-autoref/test_04.off 12 20 data-autoref/test_05.off 12 20 data-autoref/test_06.off 89 248 From 3bfe64ef06d80bb609ade53341587b40d489bbed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Mon, 28 Apr 2025 18:34:09 +0200 Subject: [PATCH 57/79] reduce running time of test_snap_rounding, add a full test version --- .../test_snap_rounding.cmd | 2 - .../test_snap_rounding_full.cmd | 40 +++++++++++++++++++ 2 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 Polygon_mesh_processing/test/Polygon_mesh_processing/test_snap_rounding_full.cmd diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/test_snap_rounding.cmd b/Polygon_mesh_processing/test/Polygon_mesh_processing/test_snap_rounding.cmd index fa1b6a98c715..81ea3e2afad4 100644 --- a/Polygon_mesh_processing/test/Polygon_mesh_processing/test_snap_rounding.cmd +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/test_snap_rounding.cmd @@ -34,7 +34,5 @@ data-snap/collapse_2.off 13 16 data-snap/collapse_3.off 11 10 data-snap/no_collapse_1.off 8 4 data-snap/no_collapse_2.off 12 4 -data-snap/cubes.off 5042 26036 -data-snap/refined_cubes.off 5908 29863 data-snap/coplanar_cubes.off 1514 5544 data-snap/refined_coplanar_cubes.off 1872 6880 diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/test_snap_rounding_full.cmd b/Polygon_mesh_processing/test/Polygon_mesh_processing/test_snap_rounding_full.cmd new file mode 100644 index 000000000000..fa1b6a98c715 --- /dev/null +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/test_snap_rounding_full.cmd @@ -0,0 +1,40 @@ +data-autoref/test_01.off 4 2 +data-autoref/test_02.off 10 17 +data-autoref/test_03.off 13 20 +data-autoref/test_04.off 12 20 +data-autoref/test_05.off 12 20 +data-autoref/test_06.off 89 248 +data-autoref/test_07.off 8 12 +data-autoref/test_08.off 57 148 +data-autoref/test_09.off 4 3 +data-autoref/test_10.off 10 13 +data-autoref/test_11.off 9 12 +data-autoref/test_12.off 9 6 +data-autoref/test_13.off 12 22 +data-autoref/test_14.off 12 22 +data-autoref/test_15.off 12 22 +data-autoref/test_16.off 4 2 +data-autoref/test_17.off 4 2 +data-autoref/triple_inter_exception/triple.off 15 18 +data-autoref/triple_inter_exception/cubes_cpln_1.off 66 206 +data-autoref/triple_inter_exception/cubes_cpln_2.off 54 158 +data-autoref/triple_inter_exception/cubes_cpln_3.off 61 188 +data-autoref/open_01.off 1313 2622 +data-autoref/open_02.off 562 1056 +data-autoref/cpln_01.off 30 78 +data-autoref/cpln_02.off 24 56 +data-autoref/cpln_03.off 27 68 +data-autoref/four_cubes.off 106 352 +data-autoref/spiral.off 19 31 +data-snap/intersection_when_rounded_1.off 9 6 +data-snap/intersection_when_rounded_2.off 10 7 +data-snap/intersection_when_rounded_3.off 16 14 +data-snap/collapse_1.off 6 4 +data-snap/collapse_2.off 13 16 +data-snap/collapse_3.off 11 10 +data-snap/no_collapse_1.off 8 4 +data-snap/no_collapse_2.off 12 4 +data-snap/cubes.off 5042 26036 +data-snap/refined_cubes.off 5908 29863 +data-snap/coplanar_cubes.off 1514 5544 +data-snap/refined_coplanar_cubes.off 1872 6880 From 87eb08ef7caddb4e8179fb60a5bb0479e5ccd737 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Tue, 29 Apr 2025 10:17:00 +0200 Subject: [PATCH 58/79] Delete unused includes and solve a compilation error on some testing --- .../internal/triangle_soup_snap_rounding.h | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h index 26d81d8a1708..3ae0c445fdc1 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h @@ -12,18 +12,16 @@ #ifndef CGAL_POLYGON_MESH_PROCESSING_POLYGON_SOUP_SNAP_ROUNDING_H #define CGAL_POLYGON_MESH_PROCESSING_POLYGON_SOUP_SNAP_ROUNDING_H -#include +#include + #include #include -#include #include #include #include -#include - namespace CGAL { @@ -102,7 +100,7 @@ class Indexes_range : public Range{ // Repair_polygon_soup without remove_pinched_polygons since our polygon are triangles template ::Polygon_3> + typename Polygon = typename internal::Polygon_types::Polygon_3> struct Triangle_soup_fixer { template From 246d86bb63af06b24a8d2c7b322fd1389bb1784c Mon Sep 17 00:00:00 2001 From: lvalque <131978677+LeoValque@users.noreply.github.com> Date: Tue, 29 Apr 2025 14:00:42 +0200 Subject: [PATCH 59/79] Update Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h Co-authored-by: Sebastien Loriot --- .../include/CGAL/Polygon_mesh_processing/autorefinement.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h index 0ba1c28cdc15..50ab119eb3dc 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h @@ -1669,7 +1669,7 @@ bool autorefine_triangle_soup(PointRange& soup_points, * \cgalParamNEnd * \cgalParamNBegin{apply_iterative_snap_rounding} * \cgalParamDescription{Enable the rounding of the coordinates so that they fit in doubles.} -* \cgalParamType{boolean} +* \cgalParamType{Boolean} * \cgalParamDefault{false} * \cgalParamNEnd * \cgalParamNBegin{snap_grid_size} From f72cfbd9e98b941a6adaa0ae8e3bae80a58b8be1 Mon Sep 17 00:00:00 2001 From: lvalque <131978677+LeoValque@users.noreply.github.com> Date: Tue, 29 Apr 2025 14:01:36 +0200 Subject: [PATCH 60/79] Update Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h Co-authored-by: Sebastien Loriot --- .../include/CGAL/Polygon_mesh_processing/autorefinement.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h index 50ab119eb3dc..addd24128ae0 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h @@ -1628,7 +1628,7 @@ bool autorefine_triangle_soup(PointRange& soup_points, * `soup_triangles` will be updated to contain both the input triangles and the new subdivided triangles. Degenerate triangles will be removed. * Also triangles in `soup_triangles` will be triangles without intersection first, followed by triangles coming from a subdivision induced * by an intersection. The named parameter `visitor()` can be used to track -* the creation of new triangles. +* the creation and removal of triangles. * If the `apply_iterative_snap_rounding()` parameter is set to `true`, the coordinates of the vertices are rounded to fit within the precision of a double-precision floating point, * while trying to make the triangle soup free of intersections. The `snap_grid_size()` parameter limits the drift of the snapped vertices. * A smaller value is more likely to output an intersection free output and perform more vertex collapses, but it may increase the Hausdorff distance from the input. From 00d1f1e002eb8d6ad637f36155eeac4136a7c2da Mon Sep 17 00:00:00 2001 From: lvalque <131978677+LeoValque@users.noreply.github.com> Date: Tue, 29 Apr 2025 14:08:39 +0200 Subject: [PATCH 61/79] Update Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h Co-authored-by: Sebastien Loriot --- .../include/CGAL/Polygon_mesh_processing/autorefinement.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h index addd24128ae0..5a70fe947149 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h @@ -1629,7 +1629,7 @@ bool autorefine_triangle_soup(PointRange& soup_points, * Also triangles in `soup_triangles` will be triangles without intersection first, followed by triangles coming from a subdivision induced * by an intersection. The named parameter `visitor()` can be used to track * the creation and removal of triangles. -* If the `apply_iterative_snap_rounding()` parameter is set to `true`, the coordinates of the vertices are rounded to fit within the precision of a double-precision floating point, +* If the `apply_iterative_snap_rounding()` parameter is set to `true`, each coordinate of the point of each vertex is rounded to fit within the precision of a double-precision floating point number, * while trying to make the triangle soup free of intersections. The `snap_grid_size()` parameter limits the drift of the snapped vertices. * A smaller value is more likely to output an intersection free output and perform more vertex collapses, but it may increase the Hausdorff distance from the input. * From bbe48cafce2d706767f951d42cc40627b0c81fb6 Mon Sep 17 00:00:00 2001 From: lvalque <131978677+LeoValque@users.noreply.github.com> Date: Tue, 29 Apr 2025 14:11:00 +0200 Subject: [PATCH 62/79] Update Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h Co-authored-by: Sebastien Loriot --- .../include/CGAL/Polygon_mesh_processing/autorefinement.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h index 5a70fe947149..c930b50b3f7f 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h @@ -1674,7 +1674,7 @@ bool autorefine_triangle_soup(PointRange& soup_points, * \cgalParamNEnd * \cgalParamNBegin{snap_grid_size} * \cgalParamDescription{A value `gs` used to scale the points to `[-2^gs, 2^gs]` before rounding them on integers. Used only if `apply_iterative_snap_rounding()` is set to `true`} -* \cgalParamType{unsigned int} +* \cgalParamType{`unsigned int`} * \cgalParamDefault{23} * \cgalParamExtra{Must be lower than 52.} * \cgalParamNEnd From c1b8e6f2ce78b8a9508559d62ce6dbb65e252424 Mon Sep 17 00:00:00 2001 From: lvalque <131978677+LeoValque@users.noreply.github.com> Date: Tue, 29 Apr 2025 14:11:58 +0200 Subject: [PATCH 63/79] Update Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h Co-authored-by: Sebastien Loriot --- .../internal/triangle_soup_snap_rounding.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h index 3ae0c445fdc1..c377bd1c06a8 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h @@ -7,7 +7,7 @@ // $Id$ // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-Commercial // -// Author(s) : Léo Valque, Sylvain Lazard +// Author(s) : Léo Valque #ifndef CGAL_POLYGON_MESH_PROCESSING_POLYGON_SOUP_SNAP_ROUNDING_H #define CGAL_POLYGON_MESH_PROCESSING_POLYGON_SOUP_SNAP_ROUNDING_H From c7b3e231da8a1e4e193b91ad485f8470e99b9229 Mon Sep 17 00:00:00 2001 From: lvalque <131978677+LeoValque@users.noreply.github.com> Date: Tue, 29 Apr 2025 14:14:19 +0200 Subject: [PATCH 64/79] Update Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h Co-authored-by: Sebastien Loriot --- .../include/CGAL/Polygon_mesh_processing/autorefinement.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h index c930b50b3f7f..3b478fc4ee20 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h @@ -1685,7 +1685,7 @@ bool autorefine_triangle_soup(PointRange& soup_points, * \cgalParamNEnd * \cgalNamedParamsEnd * -* \return `true` if `apply_iterative_snap_rounding` is set to `false`; otherwise, return `true` if the modified triangle soup is free from +* \return `true` if `apply_iterative_snap_rounding` is set to `false`; otherwise, returns `true` if the modified triangle soup is free from * self-intersection, and `false` if the algorithm was unable to provide such a triangle soup within the number of iterations. * */ From dd9aca8f97f2c11328b2a172ae590f9562845a6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Tue, 29 Apr 2025 14:17:56 +0200 Subject: [PATCH 65/79] solved conflict on the documentation of autorefinement --- .../CGAL/Polygon_mesh_processing/autorefinement.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h index 3b478fc4ee20..c365857ce7f8 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h @@ -1622,14 +1622,14 @@ bool autorefine_triangle_soup(PointRange& soup_points, * * refines a soup of triangles so that no pair of triangles intersects. * Output triangles may share a common edge or a common vertex (but with the same indexed position in `points`). -* Note that points in `soup_points` can only be added (intersection points) at the end of the container, with the initial order preserved. +* Note that if `apply_iterative_snap_rounding` option is set to `false`, points in `soup_points` can only be added (intersection points) at the end of the container, with the initial order preserved. * Note that if `soup_points` contains two or more identical points then only the first copy (following the order in the `soup_points`) -* will be used in `soup_triangles`. +* will be used in `soup_triangles`. if `apply_iterative_snap_rounding` is set to `true`, all duplicates points are removed. * `soup_triangles` will be updated to contain both the input triangles and the new subdivided triangles. Degenerate triangles will be removed. -* Also triangles in `soup_triangles` will be triangles without intersection first, followed by triangles coming from a subdivision induced -* by an intersection. The named parameter `visitor()` can be used to track -* the creation and removal of triangles. -* If the `apply_iterative_snap_rounding()` parameter is set to `true`, each coordinate of the point of each vertex is rounded to fit within the precision of a double-precision floating point number, +* Also if `apply_iterative_snap_rounding` option is set to `false`, triangles in `soup_triangles` will be triangles without intersection first, followed by triangles coming from a subdivision induced +* by an intersection. The named parameter `visitor()` can be used to track the creation and removal of triangles independantly of +* the `apply_iterative_snap_rounding` option. +* If the `apply_iterative_snap_rounding` parameter is set to `true`, the coordinates of the vertices are rounded to fit within the precision of a double-precision floating point, * while trying to make the triangle soup free of intersections. The `snap_grid_size()` parameter limits the drift of the snapped vertices. * A smaller value is more likely to output an intersection free output and perform more vertex collapses, but it may increase the Hausdorff distance from the input. * From 9e5c09837740f10d52b7b9ac41e4bd572d8e3b43 Mon Sep 17 00:00:00 2001 From: lvalque <131978677+LeoValque@users.noreply.github.com> Date: Tue, 29 Apr 2025 14:49:35 +0200 Subject: [PATCH 66/79] Update Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h Co-authored-by: Sebastien Loriot --- .../internal/triangle_soup_snap_rounding.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h index c377bd1c06a8..7c0c287d5070 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h @@ -321,7 +321,7 @@ bool polygon_soup_snap_rounding_impl(PointRange &points, #endif #ifdef CGAL_LINKED_WITH_TBB - if constexpr(parallel_execution) + if constexpr (parallel_execution) { tbb::parallel_for(tbb::blocked_range(0, points.size()), [&](const tbb::blocked_range& r){ From da03f99e0a36dc669596bf9c7997979236bdb83a Mon Sep 17 00:00:00 2001 From: lvalque <131978677+LeoValque@users.noreply.github.com> Date: Tue, 29 Apr 2025 14:50:38 +0200 Subject: [PATCH 67/79] Update Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h Co-authored-by: Sebastien Loriot --- .../internal/triangle_soup_snap_rounding.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h index 7c0c287d5070..ec8701385e5d 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h @@ -342,7 +342,7 @@ bool polygon_soup_snap_rounding_impl(PointRange &points, if (pairs_of_intersecting_triangles.empty()) { #ifdef PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE - std::cout << "End of the snapping" << std::endl; + std::cout << "End of the snapping" << std::endl; #endif CGAL_assertion(!does_triangle_soup_self_intersect(points, triangles)); if constexpr(has_visitor) From 0bb77096b158b2f5f60b5761f20fe1e1968fc39a Mon Sep 17 00:00:00 2001 From: lvalque <131978677+LeoValque@users.noreply.github.com> Date: Tue, 29 Apr 2025 14:51:22 +0200 Subject: [PATCH 68/79] Update Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h Co-authored-by: Sebastien Loriot --- .../internal/triangle_soup_snap_rounding.h | 1 - 1 file changed, 1 deletion(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h index ec8701385e5d..fb9c1a5f7cc1 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h @@ -344,7 +344,6 @@ bool polygon_soup_snap_rounding_impl(PointRange &points, #ifdef PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE std::cout << "End of the snapping" << std::endl; #endif - CGAL_assertion(!does_triangle_soup_self_intersect(points, triangles)); if constexpr(has_visitor) { std::vector > map_io(number_of_input_triangles); From 992c018e2441223a3ec30e716dbbb1c697a8a20f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Tue, 29 Apr 2025 14:22:43 +0200 Subject: [PATCH 69/79] avoid copy of the input in double_ceil --- .../internal/triangle_soup_snap_rounding.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h index fb9c1a5f7cc1..75e282f02937 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h @@ -32,11 +32,11 @@ namespace internal { // Certified ceil function for exact number types -template double double_ceil(Lazy_exact_nt< NT > x); -template double double_ceil(NT x); +template double double_ceil(const Lazy_exact_nt< NT > &x); +template double double_ceil(const NT &x); template -double double_ceil(Lazy_exact_nt< NT > x){ +double double_ceil(const Lazy_exact_nt< NT > &x){ // If both sides are in the same ceil, return this ceil double ceil_left=std::ceil(to_interval(x).first); if(ceil_left==std::ceil(to_interval(x).second)) @@ -51,7 +51,7 @@ double double_ceil(Lazy_exact_nt< NT > x){ }; template -double double_ceil(NT x){ +double double_ceil(const NT &x){ using FT = Fraction_traits; if constexpr(std::is_same::value){ // If NT is a fraction, the ceil value is the result of the euclidian division of the numerator and the denominator. From f2a7995d7e07335c81d596e82fcea889e18f47ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Tue, 29 Apr 2025 14:27:43 +0200 Subject: [PATCH 70/79] simplify constexpr test of NT is a fraction --- .../internal/triangle_soup_snap_rounding.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h index 75e282f02937..68de2864268b 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h @@ -53,7 +53,7 @@ double double_ceil(const Lazy_exact_nt< NT > &x){ template double double_ceil(const NT &x){ using FT = Fraction_traits; - if constexpr(std::is_same::value){ + if constexpr(FT::Is_fraction::value){ // If NT is a fraction, the ceil value is the result of the euclidian division of the numerator and the denominator. typename FT::Numerator_type num, r, e; typename FT::Denominator_type denom; From 5d41cfd85fed49604d73e2ba518e95b946b5b646 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Tue, 29 Apr 2025 14:31:41 +0200 Subject: [PATCH 71/79] avoid copy in indexes_range constructor --- .../internal/triangle_soup_snap_rounding.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h index 68de2864268b..f92a724a6fae 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h @@ -77,7 +77,7 @@ class Indexes_range : public Range{ typedef typename Range::iterator iterator; Indexes_range(){} - Indexes_range(std::initializer_list l): Range(l), m_id(0), modified(true){} + Indexes_range(const std::initializer_list &l): Range(l), m_id(0), modified(true){} Indexes_range(const Indexes_range &ir): Range(ir), m_id(ir.id()), modified(ir.was_modified()){} Indexes_range(Range &p): Range(p), modified(true){} Indexes_range(Range &p, size_t id): Range(p), m_id(id),modified(false){} From b03ecb8eb0aacb9f350fcdd161a1eb0241ea132e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Tue, 29 Apr 2025 14:33:16 +0200 Subject: [PATCH 72/79] add internal in copy protection macro of triangle_soup_snap_rounding --- .../internal/triangle_soup_snap_rounding.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h index f92a724a6fae..d8e5f77649d8 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h @@ -9,8 +9,8 @@ // // Author(s) : Léo Valque -#ifndef CGAL_POLYGON_MESH_PROCESSING_POLYGON_SOUP_SNAP_ROUNDING_H -#define CGAL_POLYGON_MESH_PROCESSING_POLYGON_SOUP_SNAP_ROUNDING_H +#ifndef CGAL_POLYGON_MESH_PROCESSING_INTERNAL_POLYGON_SOUP_SNAP_ROUNDING_H +#define CGAL_POLYGON_MESH_PROCESSING_INTERNAL_POLYGON_SOUP_SNAP_ROUNDING_H #include From e7bf83f73a0d3b920c761c2e7e5509a23cefc4f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Tue, 29 Apr 2025 14:36:54 +0200 Subject: [PATCH 73/79] correct Indexes_range constructor --- .../internal/triangle_soup_snap_rounding.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h index d8e5f77649d8..b1821a1b88bd 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h @@ -76,9 +76,8 @@ class Indexes_range : public Range{ typedef typename Range::const_iterator const_iterator; typedef typename Range::iterator iterator; - Indexes_range(){} + Indexes_range() = default; Indexes_range(const std::initializer_list &l): Range(l), m_id(0), modified(true){} - Indexes_range(const Indexes_range &ir): Range(ir), m_id(ir.id()), modified(ir.was_modified()){} Indexes_range(Range &p): Range(p), modified(true){} Indexes_range(Range &p, size_t id): Range(p), m_id(id),modified(false){} From 40c83a3545bd2a2b9c5ae02aae2902d1d4abd3a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Tue, 29 Apr 2025 14:41:35 +0200 Subject: [PATCH 74/79] add std:: to size_t use in indexes_range --- .../internal/triangle_soup_snap_rounding.h | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h index b1821a1b88bd..0562e335b64d 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h @@ -79,21 +79,14 @@ class Indexes_range : public Range{ Indexes_range() = default; Indexes_range(const std::initializer_list &l): Range(l), m_id(0), modified(true){} Indexes_range(Range &p): Range(p), modified(true){} - Indexes_range(Range &p, size_t id): Range(p), m_id(id),modified(false){} + Indexes_range(Range &p, std::size_t id): Range(p), m_id(id),modified(false){} - void operator=(const Indexes_range &ir) - { - Range::operator=(ir); - modified=ir.was_modified(); - m_id=ir.id(); - } - - inline size_t id() const { return m_id; } - inline void set_id(size_t id){ m_id=id; } + inline std::size_t id() const { return m_id; } + inline void set_id(std::size_t id){ m_id=id; } inline bool was_modified() const { return modified; } private: - size_t m_id; + std::size_t m_id; bool modified; }; From 1d66903bb79cc5add0ba00879708d189d9455ed5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Tue, 29 Apr 2025 14:42:50 +0200 Subject: [PATCH 75/79] solved orthograph mystake in wrapp_id_visitor --- .../internal/triangle_soup_snap_rounding.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h index 0562e335b64d..406af631985d 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h @@ -158,7 +158,7 @@ void repair_triangle_soup(PointRange& points, } // A visitor of Autorefinement to track the correspondance between input and output triangles -struct Wrapp_id_visitor : public Autorefinement::Default_visitor +struct Wrap_id_visitor : public Autorefinement::Default_visitor { template< typename Triangle> inline void internal_new_subtriangle(Triangle& new_t, const Triangle& old_t) { @@ -531,7 +531,7 @@ bool polygon_soup_snap_rounding_impl(PointRange &points, #endif if constexpr(has_visitor) { - Wrapp_id_visitor visitor; + Wrap_id_visitor visitor; autorefine_triangle_soup(points, triangles, parameters::point_map(pm).concurrency_tag(Concurrency_tag()).visitor(visitor)); } else From a7e54fbc25b4ce285f0697d262b906b935bf9d51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Tue, 29 Apr 2025 14:44:47 +0200 Subject: [PATCH 76/79] Correct default value of number_of_iterations in the documentation --- .../include/CGAL/Polygon_mesh_processing/autorefinement.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h index c365857ce7f8..722829cb6788 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h @@ -1681,7 +1681,7 @@ bool autorefine_triangle_soup(PointRange& soup_points, * \cgalParamNBegin{number_of_iterations} * \cgalParamDescription{Maximum number of iterations performed by the snap rounding algorithm. Used only if `apply_iterative_snap_rounding` is true.} * \cgalParamType{unsigned int} -* \cgalParamDefault{15} +* \cgalParamDefault{5} * \cgalParamNEnd * \cgalNamedParamsEnd * From a34a220a8613c7d0ae141b546251e46b12bbed86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Tue, 29 Apr 2025 15:00:18 +0200 Subject: [PATCH 77/79] remove useless forward declaration --- .../include/CGAL/Polygon_mesh_processing/autorefinement.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h index 722829cb6788..08914b1de662 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h @@ -986,9 +986,6 @@ bool polygon_soup_snap_rounding(PointRange &points, PolygonRange &triangles, const NamedParameters& np = parameters::default_values()); -template -class Indexes_range; - template bool autorefine_triangle_soup(PointRange& soup_points, TriangleRange& soup_triangles, From f32a4a713b0827739e13ce2f15de94d4e2638b2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Tue, 29 Apr 2025 15:01:50 +0200 Subject: [PATCH 78/79] remove useless inline in Wrap_id_visitor --- .../internal/triangle_soup_snap_rounding.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h index 406af631985d..e5c711fb841b 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h @@ -161,7 +161,7 @@ void repair_triangle_soup(PointRange& points, struct Wrap_id_visitor : public Autorefinement::Default_visitor { template< typename Triangle> - inline void internal_new_subtriangle(Triangle& new_t, const Triangle& old_t) { + void internal_new_subtriangle(Triangle& new_t, const Triangle& old_t) { new_t.set_id(old_t.id()); } }; From d98154a3896a64c58e466e3d291879f04305e453 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Valque?= Date: Tue, 29 Apr 2025 16:02:13 +0200 Subject: [PATCH 79/79] use a set in triangle_soup_snap_rounding instead of vector, sort and unique --- .../internal/triangle_soup_snap_rounding.h | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h index e5c711fb841b..524bf5bd3962 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h @@ -483,24 +483,19 @@ bool polygon_soup_snap_rounding_impl(PointRange &points, // Get all the snap version of the points of the vertices of the intersecting triangles // Note: points will not be modified here, they will be modified in the next for loop - std::vector snap_points; - snap_points.reserve(pairs_of_intersecting_triangles.size() * 3); - + std::set snap_points; for (auto &pair : pairs_of_intersecting_triangles) { for (size_t pi : triangles[pair.first]) - snap_points.emplace_back(snap_p(points[pi])); + snap_points.emplace(snap_p(points[pi])); for (size_t pi : triangles[pair.second]) - snap_points.emplace_back(snap_p(points[pi])); + snap_points.emplace(snap_p(points[pi])); } #ifdef PMP_ROUNDING_VERTICES_IN_POLYGON_SOUP_VERBOSE std::cout << "Snap the coordinates of the vertices close-by the previous ones" << std::endl; #endif - std::sort(snap_points.begin(), snap_points.end()); - snap_points.erase(std::unique(snap_points.begin(), snap_points.end()), snap_points.end()); - // If the snapped version of a point correspond to one of the previous point, we snap it #ifdef CGAL_LINKED_WITH_TBB if constexpr(parallel_execution)