From: Daniel Arndt Date: Fri, 17 Nov 2017 17:54:38 +0000 (+0100) Subject: Test serialization of hp::DoFHandler X-Git-Tag: v9.0.0-rc1~718^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F5496%2Fhead;p=dealii.git Test serialization of hp::DoFHandler --- diff --git a/include/deal.II/hp/dof_handler.h b/include/deal.II/hp/dof_handler.h index e3a5c63349..100604a096 100644 --- a/include/deal.II/hp/dof_handler.h +++ b/include/deal.II/hp/dof_handler.h @@ -951,14 +951,33 @@ namespace hp ar &vertex_dof_offsets; ar &number_cache; ar &mg_number_cache; - ar &levels; - ar &faces; - ar &has_children; + + // some versions of gcc have trouble with loading vectors of + // std::unique_ptr objects because std::unique_ptr does not + // have a copy constructor. do it one level at a time + const unsigned int n_levels = levels.size(); + ar &n_levels; + for (unsigned int i = 0; i < n_levels; ++i) + ar &levels[i]; + + // boost dereferences a nullptr when serializing a nullptr + // at least up to 1.65.1. This causes problems with clang-5. + // Therefore, work around it. + bool faces_is_nullptr = (faces.get()==nullptr); + ar &faces_is_nullptr; + if (!faces_is_nullptr) + ar &faces; + + // the same issue as above + const unsigned int n_has_children = has_children.size(); + ar &n_has_children; + for (unsigned int i = 0; i < n_has_children; ++i) + ar &has_children[i]; // write out the number of triangulation cells and later check during // loading that this number is indeed correct; same with something that // identifies the policy - unsigned int n_cells = tria->n_cells(); + const unsigned int n_cells = tria->n_cells(); std::string policy_name = dealii::internal::policy_to_string(*policy); ar &n_cells &policy_name; @@ -983,9 +1002,34 @@ namespace hp has_children.clear (); faces.reset (); - ar &levels; - ar &faces; - ar &has_children; + // some versions of gcc have trouble with loading vectors of + // std::unique_ptr objects because std::unique_ptr does not + // have a copy constructor. do it one level at a time + unsigned int size; + ar &size; + levels.resize(size); + for (unsigned int i = 0; i < size; ++i) + { + std::unique_ptr level; + ar &level; + levels[i] = std::move(level); + } + + //Workaround for nullptr, see in save(). + bool faces_is_nullptr = true; + ar &faces_is_nullptr; + if (!faces_is_nullptr) + ar &faces; + + // the same issue as above + ar &size; + has_children.resize(size); + for (unsigned int i = 0; i < size; ++i) + { + std::unique_ptr > has_children_on_level; + ar &has_children_on_level; + has_children[i] = std::move(has_children_on_level); + } // these are the checks that correspond to the last block in the save() // function diff --git a/tests/serialization/hp_dof_handler_01.cc b/tests/serialization/hp_dof_handler_01.cc new file mode 100644 index 0000000000..b5538c1cc2 --- /dev/null +++ b/tests/serialization/hp_dof_handler_01.cc @@ -0,0 +1,191 @@ +// --------------------------------------------------------------------- +// +// Copyright (C) 2017 by the deal.II authors +// +// This file is part of the deal.II library. +// +// The deal.II library is free software; you can use it, redistribute +// it, and/or modify it under the terms of the GNU Lesser General +// Public License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// The full text of the license can be found in the file LICENSE at +// the top level of the deal.II distribution. +// +// --------------------------------------------------------------------- + + +// check serialization for hp::DoFHandler + +#include "serialization.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace dealii +{ + template + bool operator == (const hp::DoFHandler &t1, + const hp::DoFHandler &t2) + { + // test a few attributes, though we can't + // test everything unfortunately... + typename hp::DoFHandler::cell_iterator + c1 = t1.begin(), + c2 = t2.begin(); + for (; (c1 != t1.end()) && (c2 != t2.end()); ++c1, ++c2) + { + for (unsigned int v=0; v::vertices_per_cell; ++v) + { + if (c1->vertex(v) != c2->vertex(v)) + return false; + if (c1->vertex_index(v) != c2->vertex_index(v)) + return false; + } + + for (unsigned int f=0; f::faces_per_cell; ++f) + { + if (c1->face(f)->at_boundary() != c2->face(f)->at_boundary()) + return false; + + if (c1->face(f)->at_boundary()) + { + if (c1->face(f)->boundary_id() != + c2->face(f)->boundary_id()) + return false; + } + else + { + if (c1->neighbor(f)->level() != c2->neighbor(f)->level()) + return false; + if (c1->neighbor(f)->index() != c2->neighbor(f)->index()) + return false; + } + } + + if (c1->active() && c2->active() + && (c1->subdomain_id() != c2->subdomain_id())) + return false; + + if (c1->material_id() != c2->material_id()) + return false; + + if (c1->user_index() != c2->user_index()) + return false; + + if (c1->user_flag_set() != c2->user_flag_set()) + return false; + + if (c1->active() && c2->active() + && c1->get_fe().get_name() != c2->get_fe().get_name()) + return false; + + if (c1->active() && c2->active() + && c1->active_fe_index() != c2->active_fe_index()) + return false; + + // compare dofs on this cell and then on the faces + if (c1->has_children() == false) + { + std::vector local_dofs_1 (c1->get_fe().dofs_per_cell); + std::vector local_dofs_2 (c2->get_fe().dofs_per_cell); + + c1->get_dof_indices (local_dofs_1); + c2->get_dof_indices (local_dofs_2); + if (local_dofs_1 != local_dofs_2) + return false; + + for (unsigned int f=0; f::faces_per_cell; ++f) + { + std::vector local_dofs_1 (c1->get_fe().dofs_per_face); + std::vector local_dofs_2 (c2->get_fe().dofs_per_face); + + c1->face(f)->get_dof_indices (local_dofs_1, c1->active_fe_index()); + c2->face(f)->get_dof_indices (local_dofs_2, c2->active_fe_index()); + if (local_dofs_1 != local_dofs_2) + return false; + } + } + } + + // also check the order of raw iterators as they contain + // something about the history of the triangulation + typename hp::DoFHandler::cell_iterator + r1 = t1.begin(), + r2 = t2.begin(); + for (; (r1 != t1.end()) && (r2 != t2.end()); ++r1, ++r2) + { + if (r1->level() != r2->level()) + return false; + if (r1->index() != r2->index()) + return false; + } + + return true; + } +} + +template +void do_boundary (Triangulation &t1) +{ + typename Triangulation::cell_iterator + c1 = t1.begin(); + for (; c1 != t1.end(); ++c1) + for (unsigned int f=0; f::faces_per_cell; ++f) + if (c1->at_boundary(f)) + c1->face(f)->set_boundary_id (42); +} + + +template +void do_boundary (Triangulation<1,spacedim> &) +{} + + +template +void test () +{ + Triangulation tria; + + GridGenerator::hyper_cube (tria); + tria.refine_global (2); + tria.begin_active()->set_subdomain_id (1); + tria.begin_active()->set_material_id (2); + tria.begin_active()->set_user_index (3); + tria.begin_active()->set_user_flag (); + tria.begin_active()->set_refine_flag (RefinementCase::cut_x); + + do_boundary (tria); + + hp::FECollection fe_collection; + fe_collection.push_back (FESystem (FE_Q(2),dim, + FE_Q(1),1)); + + hp::DoFHandler dof_1 (tria); + hp::DoFHandler dof_2 (tria); + + dof_1.distribute_dofs (fe_collection); + dof_2.distribute_dofs (fe_collection); + + // right now, both hp::DoFHandlers are the same. Renumber one of them + DoFRenumbering::random (dof_1); + + verify (dof_1, dof_2); +} + + +int main () +{ + initlog(); + + test<1,1> (); + test<2,2> (); + test<3,3> (); + + deallog << "OK" << std::endl; +} diff --git a/tests/serialization/hp_dof_handler_01.output b/tests/serialization/hp_dof_handler_01.output new file mode 100644 index 0000000000..441a1c3612 --- /dev/null +++ b/tests/serialization/hp_dof_handler_01.output @@ -0,0 +1,19 @@ + +DEAL::0 0 20 0 0 5 11 4294967295 0 8 7 4294967295 0 2 9 4294967295 0 0 13 4294967295 0 1 6 4294967295 5 0 0 4 8 12 16 0 0 14 14 0 0 0 0 1 0 0 0 0 14 0 1 14 0 1 0 14 0 0 1 0 1 0 0 14 0 1 14 0 0 0 0 0 3 0 0 9 1 0 +0 1 0 0 1 0 4294967295 0 0 0 0 1 0 4294967295 9 +1 2 0 0 0 2 0 4294967295 4294967295 0 0 0 0 2 0 4294967295 4294967295 9 +2 4 0 65535 65535 65535 65535 4 0 0 5 10 15 20 0 5 11 0 13 4 0 13 2 9 12 2 9 1 6 3 1 6 8 7 10 4 0 4 12 3 10 4 0 0 1 2 3 1 0 7 23 Policy::Sequential<1,1> + +DEAL::0 0 125 0 0 104 43 148 4294967295 0 182 77 159 4294967295 0 80 52 164 4294967295 0 90 124 40 4294967295 0 16 36 75 4294967295 0 147 178 78 4294967295 0 118 165 185 4294967295 0 126 139 0 4294967295 0 110 73 51 4294967295 0 88 86 2 4294967295 0 72 18 11 4294967295 0 69 12 15 4294967295 0 97 66 84 4294967295 0 106 132 57 4294967295 0 4 29 8 4294967295 0 173 175 45 4294967295 0 115 145 48 4294967295 0 24 119 41 4294967295 0 141 79 98 4294967295 0 155 53 93 4294967295 0 112 67 127 4294967295 0 183 82 162 4294967295 0 95 125 50 4294967295 0 103 113 186 4294967295 0 128 123 37 4294967295 25 0 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 105 110 115 120 0 0 187 187 0 0 0 0 1 0 0 0 0 187 0 1 187 0 1 0 187 0 0 1 0 1 0 0 187 0 1 187 0 0 0 0 0 3 0 0 9 1 0 +0 1 0 0 1 0 4294967295 0 0 0 0 1 0 4294967295 9 +1 4 0 0 0 0 0 4 0 4294967295 4294967295 4294967295 4294967295 0 0 0 0 4 0 4294967295 4294967295 4294967295 4294967295 9 +2 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16 0 0 22 44 66 88 110 132 154 176 198 220 242 264 286 308 330 352 0 104 43 148 88 86 2 69 12 15 183 82 162 7 181 33 1 89 107 135 19 137 134 88 86 2 16 36 75 183 82 162 24 119 41 33 1 101 25 153 138 150 49 42 81 69 12 15 183 82 162 147 178 78 155 53 93 92 61 146 91 135 19 94 22 144 171 183 82 162 24 119 41 155 53 93 110 73 51 146 91 151 14 150 49 130 161 39 76 16 36 75 72 18 11 24 119 41 95 125 50 101 25 184 3 177 174 117 108 58 102 72 18 11 182 77 159 95 125 50 106 132 57 184 3 63 20 100 68 35 17 60 31 24 119 41 95 125 50 110 73 51 112 67 127 151 14 6 121 117 108 167 10 30 180 95 125 50 106 132 57 112 67 127 118 165 185 6 121 176 5 35 17 122 179 70 136 147 178 78 155 53 93 97 66 84 103 113 186 13 9 27 140 94 22 129 71 172 170 155 53 93 110 73 51 103 113 186 141 79 98 27 140 23 168 130 161 116 26 131 44 97 66 84 103 113 186 80 52 164 173 175 45 55 65 163 64 129 71 152 149 85 142 103 113 186 141 79 98 173 175 45 126 139 0 163 64 46 47 116 26 143 120 156 83 110 73 51 112 67 127 141 79 98 128 123 37 23 168 54 169 167 10 28 87 160 99 112 67 127 118 165 185 128 123 37 4 29 8 54 169 32 111 122 179 157 56 38 158 141 79 98 128 123 37 126 139 0 115 145 48 46 47 105 154 28 87 59 96 166 34 128 123 37 4 29 8 115 145 48 90 124 40 105 154 109 133 157 56 74 114 21 62 32 0 137 134 42 81 144 171 39 76 58 102 60 31 30 180 70 136 172 170 131 44 85 142 156 83 160 99 38 158 166 34 21 62 16 0 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 0 0 0 12 1 0 +3 0 0 160 0 0 7 181 4294967295 0 33 1 4294967295 0 89 107 4294967295 0 135 19 4294967295 0 101 25 4294967295 0 153 138 4294967295 0 150 49 4294967295 0 92 61 4294967295 0 146 91 4294967295 0 94 22 4294967295 0 151 14 4294967295 0 130 161 4294967295 0 184 3 4294967295 0 177 174 4294967295 0 117 108 4294967295 0 63 20 4294967295 0 100 68 4294967295 0 35 17 4294967295 0 6 121 4294967295 0 167 10 4294967295 0 176 5 4294967295 0 122 179 4294967295 0 13 9 4294967295 0 27 140 4294967295 0 129 71 4294967295 0 23 168 4294967295 0 116 26 4294967295 0 55 65 4294967295 0 163 64 4294967295 0 152 149 4294967295 0 46 47 4294967295 0 143 120 4294967295 0 54 169 4294967295 0 28 87 4294967295 0 32 111 4294967295 0 157 56 4294967295 0 105 154 4294967295 0 59 96 4294967295 0 109 133 4294967295 0 74 114 4294967295 56 0 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 8 20 52 64 0 28 88 108 60 80 136 152 116 124 148 156 16 40 100 120 36 44 76 84 4 32 12 24 48 72 56 68 92 112 96 104 128 144 132 140 0 21 23 Policy::Sequential<2,2> + +DEAL::0 0 750 0 0 1217 903 1574 88 4294967295 0 11 1499 2123 1391 4294967295 0 1551 1531 98 448 4294967295 0 1728 0 931 2022 4294967295 0 324 2143 997 95 4294967295 0 828 907 514 1316 4294967295 0 1464 2291 619 1867 4294967295 0 1294 1727 2173 1197 4294967295 0 2120 751 715 2066 4294967295 0 1059 340 156 298 4294967295 0 479 2046 43 1303 4294967295 0 1696 1337 1108 2108 4294967295 0 972 1293 1934 99 4294967295 0 1042 1005 1891 2204 4294967295 0 1837 316 313 1314 4294967295 0 2167 1991 2171 1903 4294967295 0 1158 1599 922 1967 4294967295 0 458 1792 216 1336 4294967295 0 1362 1388 1532 1866 4294967295 0 282 502 1214 411 4294967295 0 131 1308 1806 2088 4294967295 0 1598 896 1924 462 4294967295 0 1651 660 1646 1616 4294967295 0 1823 891 16 315 4294967295 0 1156 28 1538 1552 4294967295 0 1423 975 220 1148 4294967295 0 1056 1785 1657 807 4294967295 0 86 347 1134 424 4294967295 0 336 311 628 2263 4294967295 0 1990 526 1666 994 4294967295 0 1086 1608 1075 2149 4294967295 0 1668 791 2132 1491 4294967295 0 512 1426 2098 2061 4294967295 0 1684 1805 139 2062 4294967295 0 1798 616 209 1373 4294967295 0 1717 789 705 130 4294967295 0 20 2147 1804 177 4294967295 0 824 618 813 485 4294967295 0 1699 2080 1870 14 4294967295 0 1091 1469 901 1768 4294967295 0 2064 1762 1252 268 4294967295 0 50 1519 2269 1721 4294967295 0 1756 1046 1242 924 4294967295 0 1 306 1311 1144 4294967295 0 928 79 812 407 4294967295 0 1032 1449 226 580 4294967295 0 1034 799 685 958 4294967295 0 535 1535 1121 555 4294967295 0 767 865 1782 1839 4294967295 0 163 9 292 541 4294967295 0 837 1920 1468 1583 4294967295 0 300 795 1414 1763 4294967295 0 152 654 829 1161 4294967295 0 165 1178 2255 285 4294967295 0 1369 2086 664 1490 4294967295 0 1511 2213 724 1567 4294967295 0 464 2013 1280 1849 4294967295 0 570 1630 1675 1774 4294967295 0 2083 1537 788 1476 4294967295 0 634 536 548 776 4294967295 0 1566 905 1500 2178 4294967295 0 673 1663 941 369 4294967295 0 960 1655 967 254 4294967295 0 1771 1932 1795 809 4294967295 0 792 403 1856 816 4294967295 0 1085 2155 264 898 4294967295 0 734 1113 2011 614 4294967295 0 373 1639 1016 635 4294967295 0 1074 1546 1002 546 4294967295 0 1173 764 1473 952 4294967295 0 451 965 1559 971 4294967295 0 1402 859 855 1131 4294967295 0 1918 2278 199 1062 4294967295 0 135 760 1810 1953 4294967295 0 657 4 1788 1244 4294967295 0 2303 2151 125 1718 4294967295 0 869 24 1603 552 4294967295 0 370 2160 61 930 4294967295 0 1096 653 396 1767 4294967295 0 1916 1880 1013 417 4294967295 0 154 889 2218 528 4294967295 0 339 2205 291 721 4294967295 0 1724 1238 1641 2010 4294967295 0 1389 1472 991 854 4294967295 0 36 342 880 269 4294967295 0 7 1743 2280 1543 4294967295 0 910 1420 2243 443 4294967295 0 180 1018 184 308 4294967295 0 85 1700 987 1060 4294967295 0 191 968 119 815 4294967295 0 1243 1813 53 1817 4294967295 0 1104 820 2292 2298 4294967295 0 1952 2207 1135 722 4294967295 0 765 1115 2272 2087 4294967295 0 1467 1561 1610 921 4294967295 0 1796 1645 708 785 4294967295 0 530 1755 431 963 4294967295 0 1975 995 1860 1247 4294967295 0 2222 142 1407 147 4294967295 0 926 1014 1799 1205 4294967295 0 2268 1310 229 215 4294967295 0 39 2254 1846 129 4294967295 0 1611 1193 515 1634 4294967295 0 964 1791 1022 1152 4294967295 0 706 30 468 946 4294967295 0 1029 74 951 1033 4294967295 0 1255 1241 52 201 4294967295 0 2223 682 1850 319 4294967295 0 1451 1441 1100 162 4294967295 0 2099 1669 1824 1422 4294967295 0 955 1126 1534 2153 4294967295 0 2229 2082 1127 983 4294967295 0 1297 1741 1187 1083 4294967295 0 1827 1258 1288 1188 4294967295 0 1734 160 1614 293 4294967295 0 562 1401 338 202 4294967295 0 122 1842 860 1249 4294967295 0 101 1766 1256 329 4294967295 0 872 694 1540 362 4294967295 0 1130 111 1697 1267 4294967295 0 265 325 1106 96 4294967295 0 1665 1917 2163 471 4294967295 0 1155 1571 1330 1979 4294967295 0 1349 2134 1219 1704 4294967295 0 287 1955 1437 1301 4294967295 125 0 0 6 12 18 24 30 36 42 48 54 60 66 72 78 84 90 96 102 108 114 120 126 132 138 144 150 156 162 168 174 180 186 192 198 204 210 216 222 228 234 240 246 252 258 264 270 276 282 288 294 300 306 312 318 324 330 336 342 348 354 360 366 372 378 384 390 396 402 408 414 420 426 432 438 444 450 456 462 468 474 480 486 492 498 504 510 516 522 528 534 540 546 552 558 564 570 576 582 588 594 600 606 612 618 624 630 636 642 648 654 660 666 672 678 684 690 696 702 708 714 720 726 732 738 744 0 0 2312 2312 0 0 0 0 1 0 0 0 0 2312 0 1 2312 0 1 0 2312 0 0 1 0 1 0 0 2312 0 1 2312 0 0 0 0 0 3 0 0 9 1 0 +0 1 0 0 1 0 4294967295 0 0 0 0 1 0 4294967295 9 +1 8 0 0 0 0 0 0 0 0 0 8 0 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 0 0 0 0 8 0 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 9 +2 64 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 64 0 0 89 178 267 356 445 534 623 712 801 890 979 1068 1157 1246 1335 1424 1513 1602 1691 1780 1869 1958 2047 2136 2225 2314 2403 2492 2581 2670 2759 2848 2937 3026 3115 3204 3293 3382 3471 3560 3649 3738 3827 3916 4005 4094 4183 4272 4361 4450 4539 4628 4717 4806 4895 4984 5073 5162 5251 5340 5429 5518 5607 5696 0 1217 903 1574 88 86 347 1134 424 1990 526 1666 994 7 1743 2280 1543 1668 791 2132 1491 339 2205 291 721 191 968 119 815 101 1766 1256 329 919 1942 1808 1400 1988 271 2107 1941 2034 1285 1383 607 2063 1863 356 22 1089 640 2017 225 529 637 1068 1305 817 846 848 879 18 2266 2093 1291 1719 1199 1039 988 371 996 1919 1384 1966 537 1545 803 1409 310 518 1487 341 1591 447 1120 1418 1510 1363 1290 2127 86 347 1134 424 2120 751 715 2066 7 1743 2280 1543 1511 2213 724 1567 339 2205 291 721 165 1178 2255 285 101 1766 1256 329 122 1842 860 1249 1400 1988 271 1878 2154 500 976 1035 1343 641 856 1037 22 1089 640 1406 1200 1593 2110 497 1997 1140 1904 1266 879 18 2266 1525 2279 284 1199 1039 988 1965 713 797 1384 1966 537 1680 849 1416 1642 2124 1368 1940 1748 441 1787 1497 2103 1595 1647 1694 1439 240 187 1990 526 1666 994 7 1743 2280 1543 1059 340 156 298 570 1630 1675 1774 191 968 119 815 101 1766 1256 329 634 536 548 776 1297 1741 1187 1083 1321 219 1577 56 1667 2216 1285 1383 607 387 1112 252 1212 1761 532 382 1679 1607 637 1068 1305 945 2175 1167 2093 1291 1719 1199 1039 988 109 2097 590 190 1828 1895 740 1770 1910 1753 1347 247 310 518 1487 1466 584 167 668 916 1477 1908 476 1028 1579 1592 990 7 1743 2280 1543 1511 2213 724 1567 570 1630 1675 1774 1598 896 1924 462 101 1766 1256 329 122 1842 860 1249 1297 1741 1187 1083 869 24 1603 552 56 1667 2216 161 2076 1928 641 856 1037 140 1737 702 382 1679 1607 402 1714 763 1140 1904 1266 2245 2253 1864 1199 1039 988 1965 713 797 190 1828 1895 1198 1739 2129 1753 1347 247 1354 499 973 1940 1748 441 2275 1861 1169 243 375 1759 223 1350 2200 281 2241 818 1668 791 2132 1491 339 2205 291 721 191 968 119 815 101 1766 1256 329 479 2046 43 1303 300 795 1414 1763 673 1663 941 369 1451 1441 1100 162 2063 1863 356 22 1089 640 2017 225 529 637 1068 1305 401 651 1896 1944 1456 932 1093 1007 1299 1279 886 1004 2128 947 655 1654 2195 1339 1331 914 743 1231 1821 599 565 1484 1292 2015 143 2309 589 1090 757 2121 1911 1825 1120 1418 1510 390 1210 2274 1797 597 25 339 2205 291 721 165 1178 2255 285 101 1766 1256 329 122 1842 860 1249 300 795 1414 1763 131 1308 1806 2088 1451 1441 1100 162 154 889 2218 528 22 1089 640 1406 1200 1593 2110 497 1997 1140 1904 1266 1944 1456 932 2308 194 1901 1000 239 1479 2293 802 929 1654 2195 1339 1949 1705 974 1231 1821 599 1009 636 1882 2015 143 2309 174 397 418 450 203 1783 214 1670 1899 1595 1647 1694 730 579 304 825 793 1236 191 968 119 815 101 1766 1256 329 634 536 548 776 1297 1741 1187 1083 673 1663 941 369 1451 1441 1100 162 1651 660 1646 1616 1096 653 396 1767 1212 1761 532 382 1679 1607 637 1068 1305 945 2175 1167 2 899 513 1937 1228 576 1279 886 1004 1638 573 543 1331 914 743 1231 1821 599 94 843 1604 2033 1485 756 1026 2176 1776 251 736 400 2121 1911 1825 1216 1309 2049 1908 476 1028 486 2021 64 1554 1179 1081 101 1766 1256 329 122 1842 860 1249 1297 1741 1187 1083 869 24 1603 552 1451 1441 1100 162 154 889 2218 528 1096 653 396 1767 1056 1785 1657 807 382 1679 1607 402 1714 763 1140 1904 1266 2245 2253 1864 1937 1228 576 1690 1045 302 2293 802 929 426 1773 842 1231 1821 599 1009 636 1882 2033 1485 756 2125 700 1202 251 736 400 798 1066 857 214 1670 1899 549 169 2233 223 1350 2200 1671 200 1594 1996 892 1893 2120 751 715 2066 336 311 628 2263 1511 2213 724 1567 910 1420 2243 443 165 1178 2255 285 1389 1472 991 854 122 1842 860 1249 872 694 1540 362 1878 2154 500 1387 909 527 1041 1073 228 595 906 826 1406 1200 1593 185 35 1868 992 1052 917 427 2249 1103 1525 2279 284 1570 412 925 1965 713 797 432 259 1392 1680 849 1416 1475 2074 753 1775 861 68 1509 1963 2007 1877 1539 188 1707 2250 2041 170 435 642 336 311 628 2263 11 1499 2123 1391 910 1420 2243 443 1684 1805 139 2062 1389 1472 991 854 1717 789 705 130 872 694 1540 362 765 1115 2272 2087 1387 909 527 2267 2193 1318 1462 525 93 2146 1123 1095 185 35 1868 59 1458 727 1017 1405 1682 1685 171 703 1570 412 925 312 2162 149 432 259 1392 457 2221 1220 1475 2074 753 1507 1936 2196 615 1959 1658 1270 934 249 238 44 334 421 839 1548 569 1174 388 1511 2213 724 1567 910 1420 2243 443 1598 896 1924 462 2083 1537 788 1476 122 1842 860 1249 872 694 1540 362 869 24 1603 552 955 1126 1534 2153 161 2076 1928 183 2231 1326 595 906 826 606 1613 496 402 1714 763 752 1834 367 427 2249 1103 1338 218 1432 1965 713 797 432 259 1392 1198 1739 2129 1360 823 2037 1354 499 973 1865 2058 1224 1509 1963 2007 748 155 1731 289 1482 57 1379 423 1845 210 2008 1122 910 1420 2243 443 1684 1805 139 2062 2083 1537 788 1476 1696 1337 1108 2108 872 694 1540 362 765 1115 2272 2087 955 1126 1534 2153 1771 1932 1795 809 183 2231 1326 557 773 1067 2146 1123 1095 542 2032 608 752 1834 367 970 1448 2081 1685 171 703 250 602 444 432 259 1392 457 2221 1220 1360 823 2037 386 231 1428 1865 2058 1224 2310 217 1286 1270 934 249 126 1001 1488 1836 377 1319 1227 871 1191 902 1195 2052 165 1178 2255 285 1389 1472 991 854 122 1842 860 1249 872 694 1540 362 131 1308 1806 2088 152 654 829 1161 154 889 2218 528 2223 682 1850 319 1406 1200 1593 185 35 1868 992 1052 917 427 2249 1103 2308 194 1901 178 893 1643 808 320 1440 508 625 1588 1949 1705 974 351 794 999 1009 636 1882 2150 1366 566 174 397 418 1275 1843 1246 1565 100 1576 2236 1568 1900 1707 2250 2041 1892 610 1929 1981 1460 1181 1389 1472 991 854 1717 789 705 130 872 694 1540 362 765 1115 2272 2087 152 654 829 1161 972 1293 1934 99 2223 682 1850 319 1085 2155 264 898 185 35 1868 59 1458 727 1017 1405 1682 1685 171 703 178 893 1643 1372 2050 1831 321 372 330 1664 1760 2026 351 794 999 1323 1746 1393 2150 1366 566 1019 1162 2140 1275 1843 1246 1015 1315 667 1672 1049 120 598 1023 1544 421 839 1548 782 1851 1644 1084 1980 2054 122 1842 860 1249 872 694 1540 362 869 24 1603 552 955 1126 1534 2153 154 889 2218 528 2223 682 1850 319 1056 1785 1657 807 370 2160 61 930 402 1714 763 752 1834 367 427 2249 1103 1338 218 1432 1690 1045 302 1203 45 624 508 625 1588 467 2197 1715 1009 636 1882 2150 1366 566 2125 700 1202 1677 442 578 798 1066 857 1459 1970 2036 2236 1568 1900 40 317 1626 1379 423 1845 1964 299 935 1930 198 366 872 694 1540 362 765 1115 2272 2087 955 1126 1534 2153 1771 1932 1795 809 2223 682 1850 319 1085 2155 264 898 370 2160 61 930 1823 891 16 315 752 1834 367 970 1448 2081 1685 171 703 250 602 444 1203 45 624 986 408 510 1664 1760 2026 911 1424 1516 2150 1366 566 1019 1162 2140 1677 442 578 2261 1375 1116 1459 1970 2036 1281 1894 676 598 1023 1544 2003 327 483 1227 871 1191 2055 696 305 1807 915 168 1059 340 156 298 570 1630 1675 1774 1086 1608 1075 2149 180 1018 184 308 634 536 548 776 1297 1741 1187 1083 1243 1813 53 1817 1130 111 1697 1267 211 670 1745 1061 1723 1027 387 1112 252 920 314 208 582 1274 1168 1221 887 2025 945 2175 1167 6 966 1333 109 2097 590 190 1828 1895 1010 1447 749 2185 771 985 422 600 353 2043 611 37 1466 584 167 1522 1517 2265 394 1147 1933 1977 2181 1564 148 1353 1992 570 1630 1675 1774 1598 896 1924 462 180 1018 184 308 464 2013 1280 1849 1297 1741 1187 1083 869 24 1603 552 1130 111 1697 1267 562 1401 338 202 1061 1723 1027 806 1922 1857 140 1737 702 436 2059 2305 1221 887 2025 1586 132 2073 2245 2253 1864 738 1082 374 190 1828 1895 1198 1739 2129 2185 771 985 1859 2152 1047 2043 611 37 1054 103 1935 2275 1861 1169 1194 1661 648 1189 1283 15 54 2126 1051 585 405 863 1086 1608 1075 2149 180 1018 184 308 1551 1531 98 448 824 618 813 485 1243 1813 53 1817 1130 111 1697 1267 1091 1469 901 1768 1975 995 1860 1247 632 759 1711 574 1847 484 920 314 208 2215 1520 3 2012 2090 75 230 270 2056 6 966 1333 73 1736 2142 1010 1447 749 2185 771 985 2019 236 1474 235 355 1335 669 1650 1875 389 70 1957 1522 1517 2265 939 2144 12 5 84 248 1960 1581 1563 844 1184 48 180 1018 184 308 464 2013 1280 1849 824 618 813 485 1042 1005 1891 2204 1130 111 1697 1267 562 1401 338 202 1975 995 1860 1247 1173 764 1473 952 574 1847 484 256 361 1124 436 2059 2305 437 1995 2094 230 270 2056 1673 2161 2277 738 1082 374 1508 520 1890 2185 771 985 1859 2152 1047 235 355 1335 1304 2295 1348 389 70 1957 116 60 1706 1194 1661 648 545 547 1141 245 1395 204 2191 47 278 1758 723 888 634 536 548 776 1297 1741 1187 1083 1243 1813 53 1817 1130 111 1697 1267 1651 660 1646 1616 1096 653 396 1767 960 1655 967 254 1255 1241 52 201 582 1274 1168 1221 887 2025 945 2175 1167 6 966 1333 276 1778 850 104 13 1182 1638 573 543 453 1702 498 94 843 1604 2033 1485 756 399 1751 2102 2164 2192 1730 2130 781 1854 956 592 612 1216 1309 2049 1558 2085 735 1977 2181 1564 1619 206 836 567 273 2016 1297 1741 1187 1083 869 24 1603 552 1130 111 1697 1267 562 1401 338 202 1096 653 396 1767 1056 1785 1657 807 1255 1241 52 201 1916 1880 1013 417 1221 887 2025 1586 132 2073 2245 2253 1864 738 1082 374 104 13 1182 659 1496 1573 426 1773 842 1222 1300 1322 2033 1485 756 2125 700 1202 2164 2192 1730 1521 604 571 956 592 612 1582 1660 279 549 169 2233 1512 197 605 54 2126 1051 1802 1261 783 716 679 747 1243 1813 53 1817 1130 111 1697 1267 1091 1469 901 1768 1975 995 1860 1247 960 1655 967 254 1255 1241 52 201 1837 316 313 1314 373 1639 1016 635 2012 2090 75 230 270 2056 6 966 1333 73 1736 2142 1053 1457 1907 2283 2208 1211 453 1702 498 841 1781 1542 399 1751 2102 2164 2192 1730 105 862 294 2189 1128 1884 1157 1125 1793 473 2060 1020 1558 2085 735 1376 438 1989 1960 1581 1563 775 1886 335 940 391 1927 1130 111 1697 1267 562 1401 338 202 1975 995 1860 1247 1173 764 1473 952 1255 1241 52 201 1916 1880 1013 417 373 1639 1016 635 1156 28 1538 1552 230 270 2056 1673 2161 2277 738 1082 374 1508 520 1890 2283 2208 1211 164 2294 984 1222 1300 1322 1536 227 1201 2164 2192 1730 1521 604 571 2189 1128 1884 1132 883 1031 473 2060 1020 1822 1055 890 1512 197 605 1163 1374 295 2191 47 278 1738 1547 358 2184 1915 261 1598 896 1924 462 2083 1537 788 1476 464 2013 1280 1849 85 1700 987 1060 869 24 1603 552 955 1126 1534 2153 562 1401 338 202 265 325 1106 96 806 1922 1857 323 242 1686 606 1613 496 750 814 884 1586 132 2073 878 2288 137 1338 218 1432 1931 1764 1938 1198 1739 2129 1360 823 2037 1859 2152 1047 1858 1494 112 1054 103 1935 461 962 2227 748 155 1731 272 1659 796 1820 1872 416 638 822 419 2044 687 943 2083 1537 788 1476 1696 1337 1108 2108 85 1700 987 1060 1798 616 209 1373 955 1126 1534 2153 1771 1932 1795 809 265 325 1106 96 1467 1561 1610 921 323 242 1686 280 1506 1143 542 2032 608 352 1526 874 878 2288 137 1284 108 1465 250 602 444 144 744 1601 1360 823 2037 386 231 1428 1858 1494 112 1606 1435 41 461 962 2227 1632 2247 1550 126 1001 1488 2079 77 1962 1826 1150 691 1025 2138 1968 274 2289 1235 464 2013 1280 1849 85 1700 987 1060 1042 1005 1891 2204 1699 2080 1870 14 562 1401 338 202 265 325 1106 96 1173 764 1473 952 926 1014 1799 1205 256 361 1124 2095 501 76 750 814 884 1412 343 1390 1673 2161 2277 534 2113 19 1931 1764 1938 1328 414 2078 1859 2152 1047 1858 1494 112 1304 2295 1348 895 1030 647 116 60 1706 232 923 904 272 1659 796 2159 2220 83 2281 622 1747 707 621 1159 629 1622 900 85 1700 987 1060 1798 616 209 1373 1699 2080 1870 14 1728 0 931 2022 265 325 1106 96 1467 1561 1610 921 926 1014 1799 1205 50 1519 2269 1721 2095 501 76 2031 368 237 352 1526 874 876 384 1602 534 2113 19 742 1589 1575 144 744 1601 26 558 1230 1858 1494 112 1606 1435 41 895 1030 647 69 17 1050 232 923 904 1365 1693 1950 2079 77 1962 1371 1399 1840 1848 72 581 2148 712 847 1527 938 693 869 24 1603 552 955 1126 1534 2153 562 1401 338 202 265 325 1106 96 1056 1785 1657 807 370 2160 61 930 1916 1880 1013 417 1029 74 951 1033 1586 132 2073 878 2288 137 1338 218 1432 1931 1764 1938 659 1496 1573 350 2077 701 467 2197 1715 2169 1186 1403 2125 700 1202 1677 442 578 1521 604 571 1621 277 1215 1582 1660 279 173 787 1069 40 317 1626 192 2296 1092 638 822 419 1735 159 1223 1617 1154 459 955 1126 1534 2153 1771 1932 1795 809 265 325 1106 96 1467 1561 1610 921 370 2160 61 930 1823 891 16 315 1029 74 951 1033 734 1113 2011 614 878 2288 137 1284 108 1465 250 602 444 144 744 1601 350 2077 701 1562 1580 666 911 1424 1516 1869 257 1569 1677 442 578 2261 1375 1116 1621 277 1215 23 1111 875 173 787 1069 588 398 425 2003 327 483 465 1196 1394 1025 2138 1968 1584 58 733 1259 509 1811 562 1401 338 202 265 325 1106 96 1173 764 1473 952 926 1014 1799 1205 1916 1880 1013 417 1029 74 951 1033 1156 28 1538 1552 1074 1546 1002 546 1673 2161 2277 534 2113 19 1931 1764 1938 1328 414 2078 164 2294 984 1974 376 1454 2169 1186 1403 867 80 469 1521 604 571 1621 277 1215 1132 883 1031 1237 1779 357 1822 1055 890 1442 2172 1998 192 2296 1092 1902 1833 2257 707 621 1159 309 504 1175 1332 2001 1357 265 325 1106 96 1467 1561 1610 921 926 1014 1799 1205 50 1519 2269 1721 1029 74 951 1033 734 1113 2011 614 1074 1546 1002 546 2167 1991 2171 1903 534 2113 19 742 1589 1575 144 744 1601 26 558 1230 1974 376 1454 1226 118 472 1869 257 1569 1945 1649 1914 1621 277 1215 23 1111 875 1237 1779 357 1597 1640 107 1442 2172 1998 1367 684 1107 465 1196 1394 2252 671 942 2148 712 847 307 1695 593 561 1889 1888 479 2046 43 1303 300 795 1414 1763 673 1663 941 369 1451 1441 1100 162 512 1426 2098 2061 1724 1238 1641 2010 1104 820 2292 2298 1665 1917 2163 471 401 651 1896 1944 1456 932 1093 1007 1299 1279 886 1004 90 1726 1117 1678 2047 2009 838 586 2131 695 1982 1713 741 89 1683 1590 1969 1502 141 1816 2119 662 1325 491 568 123 697 1461 2186 1012 1818 539 572 1733 1493 2158 390 1210 2274 1909 559 157 1832 2096 761 300 795 1414 1763 131 1308 1806 2088 1451 1441 1100 162 154 889 2218 528 1724 1238 1641 2010 1369 2086 664 1490 1665 1917 2163 471 1734 160 1614 293 1944 1456 932 2308 194 1901 1000 239 1479 2293 802 929 1678 2047 2009 1271 553 1984 2057 1190 1208 897 2018 1709 1590 1969 1502 1265 524 1344 662 1325 491 55 1306 1133 1461 2186 1012 433 2302 1750 92 1317 1361 46 1855 480 730 579 304 420 689 630 1530 1529 1898 673 1663 941 369 1451 1441 1100 162 1651 660 1646 1616 1096 653 396 1767 1104 820 2292 2298 1665 1917 2163 471 1566 905 1500 2178 2229 2082 1127 983 2 899 513 1937 1228 576 1279 886 1004 1638 573 543 1298 1883 1312 601 263 1145 695 1982 1713 1676 1251 1885 141 1816 2119 662 1325 491 1662 858 1421 688 213 790 845 1971 121 1585 1629 1528 1733 1493 2158 1334 674 596 486 2021 64 779 38 957 110 492 1620 1451 1441 1100 162 154 889 2218 528 1096 653 396 1767 1056 1785 1657 807 1665 1917 2163 471 1734 160 1614 293 2229 2082 1127 983 2303 2151 125 1718 1937 1228 576 1690 1045 302 2293 802 929 426 1773 842 601 263 1145 446 1881 2273 897 2018 1709 1556 645 1874 662 1325 491 55 1306 1133 688 213 790 544 494 1879 1585 1629 1528 1268 1204 1518 46 1855 480 2258 784 2109 1671 200 1594 1071 331 1386 1948 1105 1396 512 1426 2098 2061 1724 1238 1641 2010 1104 820 2292 2298 1665 1917 2163 471 324 2143 997 95 1 306 1311 1144 1032 1449 226 580 39 2254 1846 129 90 1726 1117 1678 2047 2009 838 586 2131 695 1982 1713 2232 1612 2157 2023 882 1397 835 1429 470 2300 1961 1410 1024 1415 333 2170 33 1302 1183 345 2053 587 63 2246 1800 2029 521 714 864 2112 913 2286 729 2225 1505 710 1909 559 157 241 681 1463 1206 253 1114 1724 1238 1641 2010 1369 2086 664 1490 1665 1917 2163 471 1734 160 1614 293 1 306 1311 1144 1158 1599 922 1967 39 2254 1846 129 1402 859 855 1131 1678 2047 2009 1271 553 1984 2057 1190 1208 897 2018 1709 2023 882 1397 1355 639 8 380 34 1351 1656 1972 360 2170 33 1302 1057 1812 207 587 63 2246 29 1295 2203 714 864 2112 392 2240 1164 1419 1436 49 365 1443 1378 420 689 630 1618 359 1480 176 2069 1080 1104 820 2292 2298 1665 1917 2163 471 1566 905 1500 2178 2229 2082 1127 983 1032 1449 226 580 39 2254 1846 129 458 1792 216 1336 135 760 1810 1953 1298 1883 1312 601 263 1145 695 1982 1713 1676 1251 1885 554 478 1921 977 1434 378 2300 1961 1410 2048 774 2190 1183 345 2053 587 63 2246 2217 1897 2306 463 1600 2177 303 381 2166 449 1146 474 2225 1505 710 2256 51 505 779 38 957 1624 609 969 1627 1129 1340 1665 1917 2163 471 1734 160 1614 293 2229 2082 1127 983 2303 2151 125 1718 39 2254 1846 129 1402 859 855 1131 135 760 1810 1953 1423 975 220 1148 601 263 1145 446 1881 2273 897 2018 1709 1556 645 1874 977 1434 378 2282 877 650 1656 1972 360 332 1703 1524 587 63 2246 29 1295 2203 463 1600 2177 1234 1829 927 449 1146 474 296 2199 1438 365 1443 1378 1102 1076 718 1071 331 1386 1170 1232 1008 1327 800 2242 131 1308 1806 2088 152 654 829 1161 154 889 2218 528 2223 682 1850 319 1369 2086 664 1490 36 342 880 269 1734 160 1614 293 1155 1571 1330 1979 2308 194 1901 178 893 1643 808 320 1440 508 625 1588 1271 553 1984 1983 1652 222 2219 413 2070 1541 1572 1278 1265 524 1344 2165 699 762 55 1306 1133 1346 1689 1503 433 2302 1750 583 1273 1560 452 1789 885 1342 81 440 1892 610 1929 393 475 2301 1635 1433 801 152 654 829 1161 972 1293 1934 99 2223 682 1850 319 1085 2155 264 898 36 342 880 269 20 2147 1804 177 1155 1571 1330 1979 1796 1645 708 785 178 893 1643 1372 2050 1831 321 372 330 1664 1760 2026 1983 1652 222 633 2111 1151 153 244 2004 246 831 726 2165 699 762 873 1225 1192 1346 1689 1503 665 1533 1486 583 1273 1560 328 672 698 1489 1064 516 1356 1470 563 782 1851 1644 67 2290 2100 2089 1109 1740 154 889 2218 528 2223 682 1850 319 1056 1785 1657 807 370 2160 61 930 1734 160 1614 293 1155 1571 1330 1979 2303 2151 125 1718 2099 1669 1824 1422 1690 1045 302 1203 45 624 508 625 1588 467 2197 1715 446 1881 2273 2248 2311 1623 1541 1572 1278 196 1450 2114 55 1306 1133 1346 1689 1503 544 494 1879 1987 481 1021 1268 1204 1518 1263 1786 166 1342 81 440 1720 62 348 1964 299 935 1445 1905 2211 2027 777 2002 2223 682 1850 319 1085 2155 264 898 370 2160 61 930 1823 891 16 315 1155 1571 1330 1979 1796 1645 708 785 2099 1669 1824 1422 792 403 1856 816 1203 45 624 986 408 510 1664 1760 2026 911 1424 1516 2248 2311 1623 1455 1119 71 246 831 726 2237 1478 1427 1346 1689 1503 665 1533 1486 1987 481 1021 434 840 78 1263 1786 166 755 2201 804 1356 1470 563 2106 1320 953 2055 696 305 27 255 1906 1160 1296 1999 1369 2086 664 1490 36 342 880 269 1734 160 1614 293 1155 1571 1330 1979 1158 1599 922 1967 928 79 812 407 1402 859 855 1131 1611 1193 515 1634 1271 553 1984 1983 1652 222 2219 413 2070 1541 1572 1278 1355 639 8 1523 758 2174 2259 686 853 1742 1732 1277 1057 1812 207 1498 993 2244 29 1295 2203 322 1790 2156 392 2240 1164 1048 680 66 117 1166 1358 1411 1976 383 393 475 2301 1504 1958 2304 1079 1681 1065 36 342 880 269 20 2147 1804 177 1155 1571 1330 1979 1796 1645 708 785 928 79 812 407 828 907 514 1316 1611 1193 515 1634 535 1535 1121 555 1983 1652 222 633 2111 1151 153 244 2004 246 831 726 1523 758 2174 1801 1359 1452 1674 1815 134 2262 1954 719 1498 993 2244 456 1324 1871 322 1790 2156 1712 2224 1492 1048 680 66 1943 1862 1951 950 1257 490 488 1852 1245 67 2290 2100 1631 577 2038 1844 1078 675 1734 160 1614 293 1155 1571 1330 1979 2303 2151 125 1718 2099 1669 1824 1422 1402 859 855 1131 1611 1193 515 1634 1423 975 220 1148 657 4 1788 1244 446 1881 2273 2248 2311 1623 1541 1572 1278 196 1450 2114 2282 877 650 506 768 1947 1742 1732 1277 1691 810 42 29 1295 2203 322 1790 2156 1234 1829 927 1213 1398 870 296 2199 1438 772 1913 1495 1411 1976 383 1097 517 1381 1445 1905 2211 2260 1553 1653 745 428 720 1155 1571 1330 1979 1796 1645 708 785 2099 1669 1824 1422 792 403 1856 816 1611 1193 515 1634 535 1535 1121 555 657 4 1788 1244 1362 1388 1532 1866 2248 2311 1623 1455 1119 71 246 831 726 2237 1478 1427 506 768 1947 2230 326 1555 2262 1954 719 1729 959 717 322 1790 2156 1712 2224 1492 1213 1398 870 2238 1710 1752 772 1913 1495 495 260 1772 488 1852 1245 318 477 2006 27 255 1906 1413 2235 2287 2028 404 692 1651 660 1646 1616 1096 653 396 1767 960 1655 967 254 1255 1241 52 201 1566 905 1500 2178 2229 2082 1127 983 1952 2207 1135 722 1349 2134 1219 1704 276 1778 850 104 13 1182 1638 573 543 453 1702 498 1137 2168 2226 646 550 2284 1676 1251 1885 1138 406 1754 1662 858 1421 688 213 790 1513 364 982 87 2065 623 1072 179 10 2039 1118 32 1334 674 596 834 1036 301 1619 206 836 1180 556 575 2136 1993 766 1096 653 396 1767 1056 1785 1657 807 1255 1241 52 201 1916 1880 1013 417 2229 2082 1127 983 2303 2151 125 1718 1349 2134 1219 1704 1827 1258 1288 1188 104 13 1182 659 1496 1573 426 1773 842 1222 1300 1322 646 550 2284 379 1587 2117 1556 645 1874 1431 1240 1229 688 213 790 544 494 1879 87 2065 623 1887 21 1609 2039 1118 32 267 1172 1239 2258 784 2109 1417 221 1404 1802 1261 783 1139 1153 1515 656 1688 2092 960 1655 967 254 1255 1241 52 201 1837 316 313 1314 373 1639 1016 635 1952 2207 1135 722 1349 2134 1219 1704 2064 1762 1252 268 2222 142 1407 147 1053 1457 1907 2283 2208 1211 453 1702 498 841 1781 1542 1838 1769 181 769 1596 1352 1138 406 1754 82 1716 2187 1513 364 982 87 2065 623 65 649 1176 948 819 1341 1248 1254 138 2035 643 1382 834 1036 301 1307 175 678 775 1886 335 1819 711 617 1040 1149 2122 1255 1241 52 201 1916 1880 1013 417 373 1639 1016 635 1156 28 1538 1552 1349 2134 1219 1704 1827 1258 1288 1188 2222 142 1407 147 451 965 1559 971 2283 2208 1211 164 2294 984 1222 1300 1322 1536 227 1201 769 1596 1352 2188 102 2198 1431 1240 1229 385 136 1501 87 2065 623 1887 21 1609 948 819 1341 2212 1784 91 2035 643 1382 531 1253 1615 1417 221 1404 1446 2105 258 1738 1547 358 106 868 746 998 2276 2182 1566 905 1500 2178 2229 2082 1127 983 1952 2207 1135 722 1349 2134 1219 1704 458 1792 216 1336 135 760 1810 1953 1034 799 685 958 964 1791 1022 1152 1137 2168 2226 646 550 2284 1676 1251 1885 1138 406 1754 2030 912 172 658 2014 2005 2048 774 2190 1058 564 1708 2217 1897 2306 463 1600 2177 1250 652 2133 1088 981 262 778 275 1557 1207 1725 1370 2256 51 505 663 31 2251 1180 556 575 1628 2234 2068 466 661 1185 2229 2082 1127 983 2303 2151 125 1718 1349 2134 1219 1704 1827 1258 1288 1188 135 760 1810 1953 1423 975 220 1148 964 1791 1022 1152 1918 2278 199 1062 646 550 2284 379 1587 2117 1556 645 1874 1431 1240 1229 658 2014 2005 1136 519 1994 332 1703 1524 1605 811 1329 463 1600 2177 1234 1829 927 1088 981 262 1218 1578 1165 1207 1725 1370 1835 2209 2020 1102 1076 718 937 894 151 1139 1153 1515 2228 415 933 1377 2116 1514 1952 2207 1135 722 1349 2134 1219 1704 2064 1762 1252 268 2222 142 1407 147 1034 799 685 958 964 1791 1022 1152 1464 2291 619 1867 163 9 292 541 1838 1769 181 769 1596 1352 1138 406 1754 82 1716 2187 830 1003 2271 439 739 2091 1058 564 1708 146 1444 603 1250 652 2133 1088 981 262 2051 1313 1425 349 737 1408 533 1986 833 936 182 1625 663 31 2251 1830 2101 1038 1819 711 617 97 523 2214 158 1926 881 1349 2134 1219 1704 1827 1258 1288 1188 2222 142 1407 147 451 965 1559 971 964 1791 1022 1152 1918 2278 199 1062 163 9 292 541 282 502 1214 411 769 1596 1352 2188 102 2198 1431 1240 1229 385 136 1501 439 739 2091 1289 2202 2239 1605 811 1329 2024 1637 949 1088 981 262 1218 1578 1165 349 737 1408 133 1087 2071 936 182 1625 1094 354 2118 937 894 151 1648 1794 511 106 868 746 2139 1364 193 445 2299 2067 1056 1785 1657 807 370 2160 61 930 1916 1880 1013 417 1029 74 951 1033 2303 2151 125 1718 2099 1669 1824 1422 1827 1258 1288 1188 287 1955 1437 1301 659 1496 1573 350 2077 701 467 2197 1715 2169 1186 1403 379 1587 2117 538 978 409 196 1450 2114 1481 2145 2183 544 494 1879 1987 481 1021 1887 21 1609 683 522 1809 267 1172 1239 115 1101 1698 1720 62 348 1471 2040 1549 1735 159 1223 2297 344 832 286 1262 1701 370 2160 61 930 1823 891 16 315 1029 74 951 1033 734 1113 2011 614 2099 1669 1824 1422 792 403 1856 816 287 1955 1437 1301 530 1755 431 963 350 2077 701 1562 1580 666 911 1424 1516 1869 257 1569 538 978 409 1912 1780 805 2237 1478 1427 1006 626 1692 1987 481 1021 434 840 78 683 522 1809 1345 954 410 115 1101 1698 1233 189 1077 2106 1320 953 297 1483 2042 1584 58 733 709 631 455 1011 2307 195 1916 1880 1013 417 1029 74 951 1033 1156 28 1538 1552 1074 1546 1002 546 1827 1258 1288 1188 287 1955 1437 1301 451 965 1559 971 2268 1310 229 215 164 2294 984 1974 376 1454 2169 1186 1403 867 80 469 2188 102 2198 821 1749 627 1481 2145 2183 283 1070 2179 1887 21 1609 683 522 1809 2212 1784 91 1142 1722 460 531 1253 1615 2045 429 1985 1471 2040 1549 770 1973 1939 309 504 1175 1876 1430 780 1853 2135 1043 1029 74 951 1033 734 1113 2011 614 1074 1546 1002 546 2167 1991 2171 1903 287 1955 1437 1301 530 1755 431 963 2268 1310 229 215 1756 1046 1242 924 1974 376 1454 1226 118 472 1869 257 1569 1945 1649 1914 821 1749 627 1380 2072 395 1006 626 1692 363 503 613 683 522 1809 1345 954 410 1142 1722 460 827 704 128 2045 429 1985 851 1110 224 297 1483 2042 1282 2137 1269 307 1695 593 1744 866 290 1453 489 1978 2303 2151 125 1718 2099 1669 1824 1422 1827 1258 1288 1188 287 1955 1437 1301 1423 975 220 1148 657 4 1788 1244 1918 2278 199 1062 706 30 468 946 379 1587 2117 538 978 409 196 1450 2114 1481 2145 2183 1136 519 1994 2084 234 1803 1691 810 42 487 1636 551 1234 1829 927 1213 1398 870 1218 1578 1165 288 1633 145 1835 2209 2020 1177 430 591 1097 517 1381 212 979 2000 2297 344 832 1276 731 1099 266 989 961 2099 1669 1824 1422 792 403 1856 816 287 1955 1437 1301 530 1755 431 963 657 4 1788 1244 1362 1388 1532 1866 706 30 468 946 767 865 1782 1839 538 978 409 1912 1780 805 2237 1478 1427 1006 626 1692 2084 234 1803 493 754 114 1729 959 717 1873 1757 337 1213 1398 870 2238 1710 1752 288 1633 145 1841 786 205 1177 430 591 2210 1272 2075 318 477 2006 852 482 1063 709 631 455 908 677 1923 1946 644 1209 1827 1258 1288 1188 287 1955 1437 1301 451 965 1559 971 2268 1310 229 215 1918 2278 199 1062 706 30 468 946 282 502 1214 411 837 1920 1468 1583 2188 102 2198 821 1749 627 1481 2145 2183 283 1070 2179 1289 2202 2239 2206 1171 2180 487 1636 551 2194 454 732 1218 1578 1165 288 1633 145 133 1087 2071 1956 1814 1765 1094 354 2118 1925 113 150 212 979 2000 2141 540 2285 1876 1430 780 124 1777 1260 2115 944 980 287 1955 1437 1301 530 1755 431 963 2268 1310 229 215 1756 1046 1242 924 706 30 468 946 767 865 1782 1839 837 1920 1468 1583 1294 1727 2173 1197 821 1749 627 1380 2072 395 1006 626 1692 363 503 613 2206 1171 2180 346 1098 233 1873 1757 337 1687 728 127 288 1633 145 1841 786 205 1956 1814 1765 620 1385 507 1925 113 150 2104 2264 725 852 482 1063 1264 594 1287 1744 866 290 186 690 2270 560 1044 918 192 0 1363 1290 2127 1439 240 187 1579 1592 990 281 2241 818 1797 597 25 825 793 1236 1554 1179 1081 1996 892 1893 170 435 642 569 1174 388 210 2008 1122 902 1195 2052 1981 1460 1181 1084 1980 2054 1930 198 366 1807 915 168 148 1353 1992 585 405 863 844 1184 48 1758 723 888 567 273 2016 716 679 747 940 391 1927 2184 1915 261 2044 687 943 274 2289 1235 629 1622 900 1527 938 693 1617 1154 459 1259 509 1811 1332 2001 1357 561 1889 1888 1832 2096 761 1530 1529 1898 110 492 1620 1948 1105 1396 1206 253 1114 176 2069 1080 1627 1129 1340 1327 800 2242 1635 1433 801 2089 1109 1740 2027 777 2002 1160 1296 1999 1079 1681 1065 1844 1078 675 745 428 720 2028 404 692 2136 1993 766 656 1688 2092 1040 1149 2122 998 2276 2182 466 661 1185 1377 2116 1514 158 1926 881 445 2299 2067 286 1262 1701 1011 2307 195 1853 2135 1043 1453 489 1978 266 989 961 1946 644 1209 2115 944 980 560 1044 918 64 0 0 3 6 9 12 15 18 21 24 27 30 33 36 39 42 45 48 51 54 57 60 63 66 69 72 75 78 81 84 87 90 93 96 99 102 105 108 111 114 117 120 123 126 129 132 135 138 141 144 147 150 153 156 159 162 165 168 171 174 177 180 183 186 189 0 0 0 12 1 0 +3 0 0 1500 0 0 2107 1941 2034 4294967295 0 976 1035 1343 4294967295 0 1041 1073 228 4294967295 0 1462 525 93 4294967295 0 919 1942 1808 4294967295 0 1321 219 1577 4294967295 0 211 670 1745 4294967295 0 632 759 1711 4294967295 0 817 846 848 4294967295 0 2128 947 655 4294967295 0 741 89 1683 4294967295 0 1024 1415 333 4294967295 0 2267 2193 1318 4294967295 0 557 773 1067 4294967295 0 280 1506 1143 4294967295 0 2031 368 237 4294967295 0 312 2162 149 4294967295 0 1323 1746 1393 4294967295 0 873 1225 1192 4294967295 0 456 1324 1871 4294967295 0 2215 1520 3 4294967295 0 437 1995 2094 4294967295 0 1412 343 1390 4294967295 0 876 384 1602 4294967295 0 2019 236 1474 4294967295 0 105 862 294 4294967295 0 65 649 1176 4294967295 0 2051 1313 1425 4294967295 0 69 17 1050 4294967295 0 1597 1640 107 4294967295 0 827 704 128 4294967295 0 620 1385 507 4294967295 0 835 1429 470 4294967295 0 380 34 1351 4294967295 0 2259 686 853 4294967295 0 1674 1815 134 4294967295 0 2232 1612 2157 4294967295 0 554 478 1921 4294967295 0 2030 912 172 4294967295 0 830 1003 2271 4294967295 0 1801 1359 1452 4294967295 0 2230 326 1555 4294967295 0 493 754 114 4294967295 0 346 1098 233 4294967295 0 146 1444 603 4294967295 0 2024 1637 949 4294967295 0 2194 454 732 4294967295 0 1687 728 127 4294967295 0 1093 1007 1299 4294967295 0 1000 239 1479 4294967295 0 808 320 1440 4294967295 0 321 372 330 4294967295 0 1525 2279 284 4294967295 0 1949 1705 974 4294967295 0 1265 524 1344 4294967295 0 1057 1812 207 4294967295 0 1878 2154 500 4294967295 0 161 2076 1928 4294967295 0 806 1922 1857 4294967295 0 256 361 1124 4294967295 0 387 1112 252 4294967295 0 140 1737 702 4294967295 0 606 1613 496 4294967295 0 542 2032 608 4294967295 0 109 2097 590 4294967295 0 94 843 1604 4294967295 0 1662 858 1421 4294967295 0 2217 1897 2306 4294967295 0 401 651 1896 4294967295 0 2 899 513 4294967295 0 276 1778 850 4294967295 0 1053 1457 1907 4294967295 0 386 231 1428 4294967295 0 2261 1375 1116 4294967295 0 434 840 78 4294967295 0 2238 1710 1752 4294967295 0 1372 2050 1831 4294967295 0 986 408 510 4294967295 0 1562 1580 666 4294967295 0 1226 118 472 4294967295 0 841 1781 1542 4294967295 0 1536 227 1201 4294967295 0 867 80 469 4294967295 0 1945 1649 1914 4294967295 0 1304 2295 1348 4294967295 0 1132 883 1031 4294967295 0 2212 1784 91 4294967295 0 133 1087 2071 4294967295 0 1355 639 8 4294967295 0 2282 877 650 4294967295 0 1136 519 1994 4294967295 0 1289 2202 2239 4294967295 0 2048 774 2190 4294967295 0 332 1703 1524 4294967295 0 1691 810 42 4294967295 0 1729 959 717 4294967295 0 544 494 1879 4294967295 0 1234 1829 927 4294967295 0 1198 1739 2129 4294967295 0 2125 700 1202 4294967295 0 467 2197 1715 4294967295 0 911 1424 1516 4294967295 0 1638 573 543 4294967295 0 426 1773 842 4294967295 0 659 1496 1573 4294967295 0 164 2294 984 4294967295 0 2308 194 1901 4294967295 0 1690 1045 302 4294967295 0 2017 225 529 4294967295 0 2110 497 1997 4294967295 0 879 18 2266 4294967295 0 1654 2195 1339 4294967295 0 838 586 2131 4294967295 0 2057 1190 1208 4294967295 0 1590 1969 1502 4294967295 0 2170 33 1302 4294967295 0 992 1052 917 4294967295 0 1017 1405 1682 4294967295 0 1570 412 925 4294967295 0 351 794 999 4294967295 0 2219 413 2070 4294967295 0 153 244 2004 4294967295 0 2165 699 762 4294967295 0 1498 993 2244 4294967295 0 1400 1988 271 4294967295 0 56 1667 2216 4294967295 0 1285 1383 607 4294967295 0 641 856 1037 4294967295 0 1387 909 527 4294967295 0 183 2231 1326 4294967295 0 595 906 826 4294967295 0 2146 1123 1095 4294967295 0 1061 1723 1027 4294967295 0 574 1847 484 4294967295 0 920 314 208 4294967295 0 436 2059 2305 4294967295 0 323 242 1686 4294967295 0 2095 501 76 4294967295 0 750 814 884 4294967295 0 352 1526 874 4294967295 0 2093 1291 1719 4294967295 0 1331 914 743 4294967295 0 2063 1863 356 4294967295 0 1212 1761 532 4294967295 0 1010 1447 749 4294967295 0 399 1751 2102 4294967295 0 582 1274 1168 4294967295 0 2012 2090 75 4294967295 0 141 1816 2119 4294967295 0 1183 345 2053 4294967295 0 90 1726 1117 4294967295 0 1298 1883 1312 4294967295 0 1513 364 982 4294967295 0 1250 652 2133 4294967295 0 1137 2168 2226 4294967295 0 1838 1769 181 4294967295 0 457 2221 1220 4294967295 0 1019 1162 2140 4294967295 0 59 1458 727 4294967295 0 970 1448 2081 4294967295 0 1606 1435 41 4294967295 0 23 1111 875 4294967295 0 1284 108 1465 4294967295 0 742 1589 1575 4294967295 0 665 1533 1486 4294967295 0 1712 2224 1492 4294967295 0 633 2111 1151 4294967295 0 1455 1119 71 4294967295 0 1345 954 410 4294967295 0 1841 786 205 4294967295 0 1912 1780 805 4294967295 0 1380 2072 395 4294967295 0 73 1736 2142 4294967295 0 1508 520 1890 4294967295 0 235 355 1335 4294967295 0 2189 1128 1884 4294967295 0 82 1716 2187 4294967295 0 385 136 1501 4294967295 0 948 819 1341 4294967295 0 349 737 1408 4294967295 0 1328 414 2078 4294967295 0 26 558 1230 4294967295 0 895 1030 647 4294967295 0 1237 1779 357 4294967295 0 283 1070 2179 4294967295 0 363 503 613 4294967295 0 1142 1722 460 4294967295 0 1956 1814 1765 4294967295 0 2023 882 1397 4294967295 0 977 1434 378 4294967295 0 2300 1961 1410 4294967295 0 1656 1972 360 4294967295 0 1523 758 2174 4294967295 0 506 768 1947 4294967295 0 1742 1732 1277 4294967295 0 2262 1954 719 4294967295 0 658 2014 2005 4294967295 0 439 739 2091 4294967295 0 1058 564 1708 4294967295 0 1605 811 1329 4294967295 0 2084 234 1803 4294967295 0 2206 1171 2180 4294967295 0 487 1636 551 4294967295 0 1873 1757 337 4294967295 0 350 2077 701 4294967295 0 1974 376 1454 4294967295 0 2169 1186 1403 4294967295 0 1869 257 1569 4294967295 0 104 13 1182 4294967295 0 2283 2208 1211 4294967295 0 453 1702 498 4294967295 0 1222 1300 1322 4294967295 0 178 893 1643 4294967295 0 1203 45 624 4294967295 0 508 625 1588 4294967295 0 1664 1760 2026 4294967295 0 1944 1456 932 4294967295 0 1937 1228 576 4294967295 0 1279 886 1004 4294967295 0 2293 802 929 4294967295 0 196 1450 2114 4294967295 0 2237 1478 1427 4294967295 0 1987 481 1021 4294967295 0 1213 1398 870 4294967295 0 1338 218 1432 4294967295 0 250 602 444 4294967295 0 1360 823 2037 4294967295 0 1677 442 578 4294967295 0 1676 1251 1885 4294967295 0 1556 645 1874 4294967295 0 688 213 790 4294967295 0 463 1600 2177 4294967295 0 945 2175 1167 4294967295 0 2245 2253 1864 4294967295 0 190 1828 1895 4294967295 0 2033 1485 756 4294967295 0 1887 21 1609 4294967295 0 1218 1578 1165 4294967295 0 379 1587 2117 4294967295 0 2188 102 2198 4294967295 0 55 1306 1133 4294967295 0 29 1295 2203 4294967295 0 1271 553 1984 4294967295 0 446 1881 2273 4294967295 0 1859 2152 1047 4294967295 0 1521 604 571 4294967295 0 1586 132 2073 4294967295 0 1673 2161 2277 4294967295 0 1965 713 797 4294967295 0 1009 636 1882 4294967295 0 1406 1200 1593 4294967295 0 402 1714 763 4294967295 0 288 1633 145 4294967295 0 683 522 1809 4294967295 0 1006 626 1692 4294967295 0 1481 2145 2183 4294967295 0 821 1749 627 4294967295 0 538 978 409 4294967295 0 1088 981 262 4294967295 0 87 2065 623 4294967295 0 1431 1240 1229 4294967295 0 1138 406 1754 4294967295 0 769 1596 1352 4294967295 0 646 550 2284 4294967295 0 322 1790 2156 4294967295 0 1346 1689 1503 4294967295 0 246 831 726 4294967295 0 1541 1572 1278 4294967295 0 2248 2311 1623 4294967295 0 1983 1652 222 4294967295 0 587 63 2246 4294967295 0 662 1325 491 4294967295 0 897 2018 1709 4294967295 0 695 1982 1713 4294967295 0 601 263 1145 4294967295 0 1678 2047 2009 4294967295 0 1621 277 1215 4294967295 0 1858 1494 112 4294967295 0 144 744 1601 4294967295 0 1931 1764 1938 4294967295 0 534 2113 19 4294967295 0 878 2288 137 4294967295 0 2164 2192 1730 4294967295 0 2185 771 985 4294967295 0 738 1082 374 4294967295 0 6 966 1333 4294967295 0 230 270 2056 4294967295 0 1221 887 2025 4294967295 0 2150 1366 566 4294967295 0 432 259 1392 4294967295 0 1685 171 703 4294967295 0 427 2249 1103 4294967295 0 752 1834 367 4294967295 0 185 35 1868 4294967295 0 1231 1821 599 4294967295 0 1199 1039 988 4294967295 0 1140 1904 1266 4294967295 0 637 1068 1305 4294967295 0 382 1679 1607 4294967295 0 22 1089 640 4294967295 366 0 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 105 110 115 120 125 130 135 140 145 150 155 160 165 170 175 180 185 190 195 200 205 210 215 220 225 230 235 240 245 250 255 260 265 270 275 280 285 290 295 300 305 310 315 320 325 330 335 340 345 350 355 360 365 370 375 380 385 390 395 400 405 410 415 420 425 430 435 440 445 450 455 460 465 470 475 480 485 490 495 500 505 510 515 520 525 530 535 540 545 550 555 560 565 570 575 580 585 590 595 600 605 610 615 620 625 630 635 640 645 650 655 660 665 670 675 680 685 690 695 700 705 710 715 720 725 730 735 740 745 750 755 760 765 770 775 780 785 790 795 800 805 810 815 820 825 830 835 840 845 850 855 860 865 870 875 880 885 890 895 900 905 910 915 920 925 930 935 940 945 950 955 960 965 970 975 980 985 990 995 1000 1005 1010 1015 1020 1025 1030 1035 1040 1045 1050 1055 1060 1065 1070 1075 1080 1085 1090 1095 1100 1105 1110 1115 1120 1125 1130 1135 1140 1145 1150 1155 1160 1165 1170 1175 1180 1185 1190 1195 1200 1205 1210 1215 1220 1225 1230 1235 1240 1245 1250 1255 1260 1265 1270 1275 1280 1285 1290 1295 1300 1305 1310 1315 1320 1325 1330 1335 1340 1345 1350 1355 1360 1365 1370 1375 1380 1385 1390 1395 1400 1405 1410 1415 1420 1425 1430 1435 1440 1445 1450 1455 1460 1465 1470 1475 1480 1485 1490 1495 0 0 1200 0 0 371 996 1919 4294967295 0 1384 1966 537 4294967295 0 1545 803 1409 4294967295 0 310 518 1487 4294967295 0 341 1591 447 4294967295 0 1120 1418 1510 4294967295 0 1680 849 1416 4294967295 0 1642 2124 1368 4294967295 0 1940 1748 441 4294967295 0 1787 1497 2103 4294967295 0 1595 1647 1694 4294967295 0 740 1770 1910 4294967295 0 1753 1347 247 4294967295 0 1466 584 167 4294967295 0 668 916 1477 4294967295 0 1908 476 1028 4294967295 0 1354 499 973 4294967295 0 2275 1861 1169 4294967295 0 243 375 1759 4294967295 0 223 1350 2200 4294967295 0 565 1484 1292 4294967295 0 2015 143 2309 4294967295 0 589 1090 757 4294967295 0 2121 1911 1825 4294967295 0 390 1210 2274 4294967295 0 174 397 418 4294967295 0 450 203 1783 4294967295 0 214 1670 1899 4294967295 0 730 579 304 4294967295 0 1026 2176 1776 4294967295 0 251 736 400 4294967295 0 1216 1309 2049 4294967295 0 486 2021 64 4294967295 0 798 1066 857 4294967295 0 549 169 2233 4294967295 0 1671 200 1594 4294967295 0 1475 2074 753 4294967295 0 1775 861 68 4294967295 0 1509 1963 2007 4294967295 0 1877 1539 188 4294967295 0 1707 2250 2041 4294967295 0 1507 1936 2196 4294967295 0 615 1959 1658 4294967295 0 1270 934 249 4294967295 0 238 44 334 4294967295 0 421 839 1548 4294967295 0 1865 2058 1224 4294967295 0 748 155 1731 4294967295 0 289 1482 57 4294967295 0 1379 423 1845 4294967295 0 2310 217 1286 4294967295 0 126 1001 1488 4294967295 0 1836 377 1319 4294967295 0 1227 871 1191 4294967295 0 1275 1843 1246 4294967295 0 1565 100 1576 4294967295 0 2236 1568 1900 4294967295 0 1892 610 1929 4294967295 0 1015 1315 667 4294967295 0 1672 1049 120 4294967295 0 598 1023 1544 4294967295 0 782 1851 1644 4294967295 0 1459 1970 2036 4294967295 0 40 317 1626 4294967295 0 1964 299 935 4294967295 0 1281 1894 676 4294967295 0 2003 327 483 4294967295 0 2055 696 305 4294967295 0 422 600 353 4294967295 0 2043 611 37 4294967295 0 1522 1517 2265 4294967295 0 394 1147 1933 4294967295 0 1977 2181 1564 4294967295 0 1054 103 1935 4294967295 0 1194 1661 648 4294967295 0 1189 1283 15 4294967295 0 54 2126 1051 4294967295 0 669 1650 1875 4294967295 0 389 70 1957 4294967295 0 939 2144 12 4294967295 0 5 84 248 4294967295 0 1960 1581 1563 4294967295 0 116 60 1706 4294967295 0 545 547 1141 4294967295 0 245 1395 204 4294967295 0 2191 47 278 4294967295 0 2130 781 1854 4294967295 0 956 592 612 4294967295 0 1558 2085 735 4294967295 0 1619 206 836 4294967295 0 1582 1660 279 4294967295 0 1512 197 605 4294967295 0 1802 1261 783 4294967295 0 1157 1125 1793 4294967295 0 473 2060 1020 4294967295 0 1376 438 1989 4294967295 0 775 1886 335 4294967295 0 1822 1055 890 4294967295 0 1163 1374 295 4294967295 0 1738 1547 358 4294967295 0 461 962 2227 4294967295 0 272 1659 796 4294967295 0 1820 1872 416 4294967295 0 638 822 419 4294967295 0 1632 2247 1550 4294967295 0 2079 77 1962 4294967295 0 1826 1150 691 4294967295 0 1025 2138 1968 4294967295 0 232 923 904 4294967295 0 2159 2220 83 4294967295 0 2281 622 1747 4294967295 0 707 621 1159 4294967295 0 1365 1693 1950 4294967295 0 1371 1399 1840 4294967295 0 1848 72 581 4294967295 0 2148 712 847 4294967295 0 173 787 1069 4294967295 0 192 2296 1092 4294967295 0 1735 159 1223 4294967295 0 588 398 425 4294967295 0 465 1196 1394 4294967295 0 1584 58 733 4294967295 0 1442 2172 1998 4294967295 0 1902 1833 2257 4294967295 0 309 504 1175 4294967295 0 1367 684 1107 4294967295 0 2252 671 942 4294967295 0 307 1695 593 4294967295 0 568 123 697 4294967295 0 1461 2186 1012 4294967295 0 1818 539 572 4294967295 0 1733 1493 2158 4294967295 0 1909 559 157 4294967295 0 433 2302 1750 4294967295 0 92 1317 1361 4294967295 0 46 1855 480 4294967295 0 420 689 630 4294967295 0 845 1971 121 4294967295 0 1585 1629 1528 4294967295 0 1334 674 596 4294967295 0 779 38 957 4294967295 0 1268 1204 1518 4294967295 0 2258 784 2109 4294967295 0 1071 331 1386 4294967295 0 1800 2029 521 4294967295 0 714 864 2112 4294967295 0 913 2286 729 4294967295 0 2225 1505 710 4294967295 0 241 681 1463 4294967295 0 392 2240 1164 4294967295 0 1419 1436 49 4294967295 0 365 1443 1378 4294967295 0 1618 359 1480 4294967295 0 303 381 2166 4294967295 0 449 1146 474 4294967295 0 2256 51 505 4294967295 0 1624 609 969 4294967295 0 296 2199 1438 4294967295 0 1102 1076 718 4294967295 0 1170 1232 1008 4294967295 0 583 1273 1560 4294967295 0 452 1789 885 4294967295 0 1342 81 440 4294967295 0 393 475 2301 4294967295 0 328 672 698 4294967295 0 1489 1064 516 4294967295 0 1356 1470 563 4294967295 0 67 2290 2100 4294967295 0 1263 1786 166 4294967295 0 1720 62 348 4294967295 0 1445 1905 2211 4294967295 0 755 2201 804 4294967295 0 2106 1320 953 4294967295 0 27 255 1906 4294967295 0 1048 680 66 4294967295 0 117 1166 1358 4294967295 0 1411 1976 383 4294967295 0 1504 1958 2304 4294967295 0 1943 1862 1951 4294967295 0 950 1257 490 4294967295 0 488 1852 1245 4294967295 0 1631 577 2038 4294967295 0 772 1913 1495 4294967295 0 1097 517 1381 4294967295 0 2260 1553 1653 4294967295 0 495 260 1772 4294967295 0 318 477 2006 4294967295 0 1413 2235 2287 4294967295 0 1072 179 10 4294967295 0 2039 1118 32 4294967295 0 834 1036 301 4294967295 0 1180 556 575 4294967295 0 267 1172 1239 4294967295 0 1417 221 1404 4294967295 0 1139 1153 1515 4294967295 0 1248 1254 138 4294967295 0 2035 643 1382 4294967295 0 1307 175 678 4294967295 0 1819 711 617 4294967295 0 531 1253 1615 4294967295 0 1446 2105 258 4294967295 0 106 868 746 4294967295 0 778 275 1557 4294967295 0 1207 1725 1370 4294967295 0 663 31 2251 4294967295 0 1628 2234 2068 4294967295 0 1835 2209 2020 4294967295 0 937 894 151 4294967295 0 2228 415 933 4294967295 0 533 1986 833 4294967295 0 936 182 1625 4294967295 0 1830 2101 1038 4294967295 0 97 523 2214 4294967295 0 1094 354 2118 4294967295 0 1648 1794 511 4294967295 0 2139 1364 193 4294967295 0 115 1101 1698 4294967295 0 1471 2040 1549 4294967295 0 2297 344 832 4294967295 0 1233 189 1077 4294967295 0 297 1483 2042 4294967295 0 709 631 455 4294967295 0 2045 429 1985 4294967295 0 770 1973 1939 4294967295 0 1876 1430 780 4294967295 0 851 1110 224 4294967295 0 1282 2137 1269 4294967295 0 1744 866 290 4294967295 0 1177 430 591 4294967295 0 212 979 2000 4294967295 0 1276 731 1099 4294967295 0 2210 1272 2075 4294967295 0 852 482 1063 4294967295 0 908 677 1923 4294967295 0 1925 113 150 4294967295 0 2141 540 2285 4294967295 0 124 1777 1260 4294967295 0 2104 2264 725 4294967295 0 1264 594 1287 4294967295 0 186 690 2270 4294967295 282 0 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 10 110 35 130 650 730 670 750 185 275 210 295 805 875 825 895 20 45 70 90 195 220 240 260 355 375 400 420 510 530 550 570 0 55 100 145 340 385 430 465 640 685 720 765 940 975 1010 1045 205 250 290 325 520 560 595 625 820 855 890 925 1095 1125 1155 1185 395 475 415 490 985 1055 1000 1070 545 615 565 630 1115 1175 1130 1190 740 760 780 795 885 905 920 935 1025 1040 1060 1075 1150 1165 1180 1195 590 605 620 635 445 460 480 495 285 305 320 335 120 140 160 175 845 915 860 930 235 315 255 330 695 775 710 790 65 155 85 170 960 995 1030 1065 665 705 745 785 365 410 450 485 30 80 125 165 1135 1120 1105 1090 1160 1100 1145 1085 1170 1140 1110 1080 1005 990 970 955 1035 965 1020 950 1050 1015 980 945 865 850 835 815 900 830 880 810 910 870 840 800 715 700 680 660 755 675 735 655 770 725 690 645 575 555 535 515 600 525 585 505 610 580 540 500 425 405 380 360 455 370 440 350 470 435 390 345 265 245 225 200 300 215 280 190 310 270 230 180 95 75 50 25 135 40 115 15 150 105 60 5 0 73 23 Policy::Sequential<3,3> + +DEAL::OK