diff --git a/CMakeLists.txt b/CMakeLists.txt index 5bd4589b3..15964e4f4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,9 +8,10 @@ endif() project(FESOM2.0) set(TOPLEVEL_DIR ${CMAKE_CURRENT_LIST_DIR}) -set(FESOM_COUPLED ON CACHE BOOL "compile fesom standalone or with oasis support (i.e. coupled)") -#set(FESOM_COUPLED ON CACHE BOOL "compile fesom standalone or with oasis support (i.e. coupled)") -#set(OIFS_COUPLED ON CACHE BOOL "compile fesom coupled to OpenIFS. Also needs FESOM_COUPLED to work)") +set(FESOM_COUPLED OFF CACHE BOOL "compile fesom standalone or with oasis support (i.e. coupled)") +set(OIFS_COUPLED OFF CACHE BOOL "compile fesom coupled to OpenIFS. (Also needs FESOM_COUPLED to work)") +set(CRAY OFF CACHE BOOL "compile with cray ftn") +set(USE_ICEPACK OFF CACHE BOOL "compile fesom with the Iceapck modules for sea ice column physics.") #set(VERBOSE OFF CACHE BOOL "toggle debug output") set(ASYNC_ICEBERGS ON CACHE BOOL "compile fesom with or without support for asynchronous iceberg computations") #add_subdirectory(oasis3-mct/lib/psmile) diff --git a/COPYING.LESSER.txt b/COPYING.LESSER.txt new file mode 100644 index 000000000..0a041280b --- /dev/null +++ b/COPYING.LESSER.txt @@ -0,0 +1,165 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. diff --git a/HOWTO.run b/HOWTO.run deleted file mode 100644 index 805f5d9c7..000000000 --- a/HOWTO.run +++ /dev/null @@ -1,45 +0,0 @@ -# Tutorial in 6 steps: how to run FESOM 2.0 ocean only -# Cray CS400 (ollie) platform with intel enviroment was used! - -cd $HOME - -1. get the code (DKRZ account aXXXXXX must be provided!): - git clone https://aXXXXXX@gitlab.dkrz.de/FESOM/fesom2.git fesom2.0 - -2.ollie: prepare the mesh: - mkdir /work/ollie/$USER/mesh_F2GLO04 - cp /work/ollie/dsidoren/input/fesom2.0/meshes/mesh_F2GLO04/* /work/ollie/$USER/mesh_F2GLO04/. - mkdir /work/ollie/$USER/mesh_F2GLO04/dist_1440 - -3. path for the results: - mkdir /work/ollie/$USER/results - cd fesom2.0_ALE/ - ln -s /work/ollie/dsidoren/results/ results - cp /home/ollie/dsidoren/fesom2.0_ALE/results/fesom.clock results/. - -4. FESOM 2.0 basic settings: - edit config/namelist.config: - &paths: meshpath - & run_config !from Vadym - -5. compile the code -5.1 Simple way (use Cmake, Recomended): - cd fesom2.0 - bash -l configure.sh -5.2 Less simple way (use make, not recomended, you should have proper Makefile.in for your platform) - cd lib/parms/; make cleanall; make; cd ../../ # Solver for solving linear systems of equations - cd src/; make clean; make run; cd ../ # FESOM2.0 -5.3 Compile executable that is needed for mesh partitioning - cd lib/metis-5.1.0/; make clean; make; cd ../../ # Metis 5 will be used to partition the mesh - cd src/; make clean; make run_ini; cd ../ # mesh partitioner - -6. run the model: -cd work/ - -edit: - job_ini_ollie # to run the mesh partitioning - job_ollie # to run FESOM2.0 model - -and run! - sbatch job_ini_ollie # for partitioning - sbatch job_ollie # for model run diff --git a/LICENSE.txt b/LICENSE.txt index 2f095a5ad..0a2daba84 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,301 +1,622 @@ GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 + Version 3, 29 June 2007 - Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of this License. - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - FESOM 2 (Finite-volumE Sea ice-Ocean Model) - multi-resolution ocean general circulation model - Copyright (C) 2018 FESOM team - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - diff --git a/Makefile.in_dkrz b/Makefile.in_dkrz deleted file mode 100644 index 121a84748..000000000 --- a/Makefile.in_dkrz +++ /dev/null @@ -1,54 +0,0 @@ - -# Compiler and Linker -CC = icc -MPICC = mpiicc -MPIFC = mpiifort -LD = $(MPIFC) - -# Optimization specs for compiler - used for FESOM an parms. -# Metis falls back to conservative and non-compiler specific -O2, as -# it is only used in the less runtime-critical setup phase. -OPT = -O3 -r8 -fp-model precise -xHost -ip -implicitnone -COPT = -O3 -xHost -DLINUX -DUNDER_ -DMPI2 -Iinclude - -# NetCDF library and include definitions -NCFDIR = /sw/rhel6-x64/netcdf/netcdf_fortran-4.4.3-intel14 -NC_LIB = -L$(NCFDIR)/lib -lnetcdff -NC_INC = -I$(NCFDIR)/include - -# Definitions for MPI, if not set by compiler wrappers -MPIROOT = /sw/rhel6-x64/intel/impi/5.1.3.223/compilers_and_libraries/linux/mpi/intel64 -MPI_LIB = -L$(MPIROOT)/lib -MPI_INC = -I$(MPIROOT)/include - -# Definition of BLAS and LAPACK include and library -LIB_LAP = -mkl=sequential -static-intel - - -## For partitioning, the FESOM initialization offers an interface to Metis 5. -## The option -DPART_WEIGHTED distributes 2D _and_ 3D-nodes equally, but the -## partitioning might be quite irregular. -## Without DPART_WEIGHTED, only the number of 2D nodes is considered for load balancing. -## You can start Metis 5 with different random seeds -> different partitions. - -METIS_DEFS = -DMETIS_VERSION=5 -DPART_WEIGHTED -DMETISRANDOMSEED=35243 -# METISRANDDOMSEED: any integer - -# Used to compile the fesom wrapper to parms -PARMS_DEFS = -DUSE_MPI -DREAL=double -DDBL -DVOID_POINTER_SIZE_8 - -###################################################### -# -# Preprocessor -CPP = /usr/bin/cpp -P -C - -###################################################### -# Preprocessor definition - -CPP_DEFS= - -####################################################### -# for pARMS and metis Library, archive and options - -AR = ar qv -RANLIB = ranlib diff --git a/Makefile.in_hlrn3_crayintel b/Makefile.in_gnu_impi similarity index 65% rename from Makefile.in_hlrn3_crayintel rename to Makefile.in_gnu_impi index e73c5080c..cdf9a6792 100644 --- a/Makefile.in_hlrn3_crayintel +++ b/Makefile.in_gnu_impi @@ -1,28 +1,30 @@ # Compiler and Linker -CC = cc -MPICC = cc -MPIFC = ftn +CC = gcc +MPICC = mpicc +MPIFC = mpif90 LD = $(MPIFC) # Optimization specs for compiler - used for FESOM an parms. # Metis falls back to conservative and non-compiler specific -O2, as # it is only used in the less runtime-critical setup phase. -OPT = -O3 -r8 -fp-model precise -xHost -ip -implicitnone -COPT = -O3 -xHost -DLINUX -DMPI2 -Iinclude +OPT = -O3 -march=native -funroll-loops -ffree-line-length-none +COPT = -O3 -march=native -funroll-loops -DLINUX -DUNDER_ -DMPI2 -Iinclude +## Options for debugging: +# OPT = -g -fbounds-check -fbacktrace + +# Preprocessor flags for FESOM2 +CPP_DEFS = -DDISABLE_MULTITHREADING # NetCDF library and include definitions -NCDIR = /opt/cray/netcdf/4.4.1/INTEL/15.0 -NC_LIB = -L$(NCDIR)/lib -Wl,-rpath,$(NCDIR)/lib -lnetcdff -lnetcdf -NC_INC = -I$(NCDIR)/include +NCFDIR = /global/AWIsoft/netcdf/4.6.1_gnu +NC_LIB = -L$(NCFDIR)/lib -Wl,-rpath,$(NCFDIR)/lib -lnetcdff +NC_INC = -I$(NCFDIR)/include # Definitions for MPI, if not set by compiler wrappers -MPI_LIB = -MPI_INC = - -# Definition of BLAS, LAPACK include and library -LIB_LAP = -mkl - +MPIROOT = +MPI_LIB = +MPI_INC = ## For partitioning, the FESOM initialization offers an interface to Metis 5. ## The option -DPART_WEIGHTED distributes 2D _and_ 3D-nodes equally, but the @@ -36,16 +38,6 @@ METIS_DEFS = -DMETIS_VERSION=5 -DPART_WEIGHTED -DMETISRANDOMSEED=35243 # Used to compile the fesom wrapper to parms PARMS_DEFS = -DUSE_MPI -DREAL=double -DDBL -DVOID_POINTER_SIZE_8 -###################################################### -# -# Preprocessor -CPP = /usr/bin/cpp -P -C - -###################################################### -# Preprocessor definition - -CPP_DEFS= - ####################################################### # for pARMS and metis Library, archive and options diff --git a/Makefile.in_ollie b/Makefile.in_intel similarity index 79% rename from Makefile.in_ollie rename to Makefile.in_intel index 2a582f0d3..1bb5c4800 100644 --- a/Makefile.in_ollie +++ b/Makefile.in_intel @@ -8,8 +8,13 @@ LD = $(MPIFC) # Optimization specs for compiler - used for FESOM an parms. # Metis falls back to conservative and non-compiler specific -O2, as # it is only used in the less runtime-critical setup phase. -OPT = -O3 -r8 -fp-model precise -xHost -ip -implicitnone +OPT = -O3 -r8 -fp-model precise -xHost -ip -implicitnone -static-intel COPT = -O3 -xHost -DLINUX -DUNDER_ -DMPI2 -Iinclude +## Options for debugging: +# OPT = -g -xHost -traceback -fpe:0 -check all -static-intel + +# Preprocessor flags for FESOM2 +CPP_DEFS = -DDISABLE_MULTITHREADING # NetCDF library and include definitions NCFDIR = /global/AWIsoft/netcdf/4.6.1_intel_18.0.3 @@ -21,10 +26,6 @@ MPIROOT = MPI_LIB = MPI_INC = -# Definition of BLAS and LAPACK include and library -LIB_LAP = -mkl=sequential -static-intel - - ## For partitioning, the FESOM initialization offers an interface to Metis 5. ## The option -DPART_WEIGHTED distributes 2D _and_ 3D-nodes equally, but the ## partitioning might be quite irregular. @@ -37,16 +38,6 @@ METIS_DEFS = -DMETIS_VERSION=5 -DPART_WEIGHTED -DMETISRANDOMSEED=35243 # Used to compile the fesom wrapper to parms PARMS_DEFS = -DUSE_MPI -DREAL=double -DDBL -DVOID_POINTER_SIZE_8 -###################################################### -# -# Preprocessor -CPP = /usr/bin/cpp -P -C - -###################################################### -# Preprocessor definition - -CPP_DEFS= - ####################################################### # for pARMS and metis Library, archive and options diff --git a/README.md b/README.md index 5c31ef790..de34d9620 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,29 @@ The Finite Element Sea Ice-Ocean Model (FESOM2) ====== +[![Build Status](https://github.com/FESOM/fesom2/workflows/FESOM2%20main%20test/badge.svg)](https://github.com/FESOM/fesom2/actions) Multi-resolution ocean general circulation model that solves the equations of motion describing the ocean and sea ice using finite-element and finite-volume methods on unstructured computational grids. The model is developed and supported by researchers at the Alfred Wegener Institute, Helmholtz Centre for Polar and Marine Research (AWI), in Bremerhaven, Germany. -Documentation -============= +**Website:** [fesom.de](https://fesom.de/) -[Quick Start (HOWTO.run)](HOWTO.run) +**Documentation:** [fesom2.readthedocs.io](https://fesom2.readthedocs.io/en/latest/index.html) -[Basic tutorial](/docs/README.md) +**Basic tutorial:** [Getting started](https://fesom2.readthedocs.io/en/latest/getting_started/getting_started.html) -[Convert grid to netCDF that CDO understands](/docs/convert_grid_to_nc.md) References -========== -* Danilov, S., Q. Wang, R. Timmermann, N. Iakovlev, D. Sidorenko, M. Kimmritz, T. Jung, and Schröter, J. (2015), Finite-Element Sea Ice Model (FESIM), version 2, Geosci. Model Dev., 8, 1747–1761, http://www.geosci-model-dev.net/8/1747/2015/ -* Wang, Q., Danilov, S., Sidorenko, D., Timmermann, R., Wekerle, C., Wang, X., Jung, T., and Schröter, J. (2014), The Finite Element Sea Ice-Ocean Model (FESOM) v.1.4: formulation of an ocean general circulation model, Geosci. Model Dev., 7, 663–693, doi:10.5194/gmd-7-663-2014, http://www.geosci-model-dev.net/7/663/2014/ -* Sidorenko, D., Rackow, T., Jung, T., Semmler, T., Barbi, D., Danilov, S., Dethloff, K., Dorn, W., Fieg, K., Goessling, H. F., Handorf, D., Harig, S., Hiller, W., Juricke, S., Losch, M., Schröter, J., Sein, D. V., & Wang, Q. (2014), Towards multi-resolution global climate modeling with ECHAM6-FESOM. Part I: model formulation and mean climate. Clim. Dyn., 44, 757–780, doi:10.1007/s00382-014-2290-6 \ No newline at end of file +---------- + +[Complete list of references on fesom.de](https://fesom.de/publications/) + +* **[Ocean model formulation]** Danilov, S., Sidorenko, D., Wang, Q., and Jung, T.: The Finite-volumE Sea ice–Ocean Model (FESOM2), Geosci. Model Dev., 10, 765–789, https://doi.org/10.5194/gmd-10-765-2017, 2017. + +* **[Sea ice model formulation]** Danilov, S., Q. Wang, R. Timmermann, N. Iakovlev, D. Sidorenko, M. Kimmritz, T. Jung, and Schröter, J. (2015), Finite-Element Sea Ice Model (FESIM), version 2, Geosci. Model Dev., 8, 1747–1761, http://www.geosci-model-dev.net/8/1747/2015/ + +* **[Evaluation of standard sumulations]** Scholz, P., Sidorenko, D., Gurses, O., Danilov, S., Koldunov, N., Wang, Q., Sein, D., Smolentseva, M., Rakowsky, N., and Jung, T.: Assessment of the Finite-volumE Sea ice-Ocean Model (FESOM2.0) – Part 1: Description of selected key model elements and comparison to its predecessor version, Geosci. Model Dev., 12, 4875–4899, https://doi.org/10.5194/gmd-12-4875-2019, 2019. + +* **[Evaluation of computational performance]** Koldunov, N. V., Aizinger, V., Rakowsky, N., Scholz, P., Sidorenko, D., Danilov, S., and Jung, T.: Scalability and some optimization of the Finite-volumE Sea ice–Ocean Model, Version 2.0 (FESOM2), Geosci. Model Dev., 12, 3991–4012, https://doi.org/10.5194/gmd-12-3991-2019, 2019. + +* **[Version coupled with ECHAM6 atmosphere]** Sidorenko, D., Goessling, H. F., Koldunov, N. V., Scholz, P., Danilov, S., Barbi, D., et al ( 2019). Evaluation of FESOM2.0 coupled to ECHAM6.3: Pre‐industrial and HighResMIP simulations. Journal of Advances in Modeling Earth Systems, 11. https://doi.org/10.1029/2019MS001696 + +* **[Version with ICEPACK sea ice thermodynamics]** Zampieri, Lorenzo, Frank Kauker, Jörg Fröhle, Hiroshi Sumata, Elizabeth C. Hunke, and Helge Goessling. Impact of Sea-Ice Model Complexity on the Performance of an Unstructured-Mesh Sea-ice/ocean Model Under Different Atmospheric Forcings. Washington: American Geophysical Union, 2020. https://dx.doi.org/10.1002/essoar.10505308.1. diff --git a/cmake/FindOASIS.cmake b/cmake/FindOASIS.cmake index acac55f21..cb669ea1a 100644 --- a/cmake/FindOASIS.cmake +++ b/cmake/FindOASIS.cmake @@ -7,5 +7,5 @@ find_library(MCT_Fortran_LIBRARIES mct HINTS ${TOPLEVEL_DIR}/../oasis/build/lib/ find_path(MPEU_Fortran_INCLUDE_DIRECTORIES m_mpout.mod HINTS ${TOPLEVEL_DIR}/../oasis/build/lib/psmile/mct/mpeu) find_library(MPEU_Fortran_LIBRARIES mpeu HINTS ${TOPLEVEL_DIR}/../oasis/build/lib/psmile/mct/mpeu) -find_path(SCRIP_Fortran_INCLUDE_DIRECTORIES remap_bicubic.mod HINTS ${TOPLEVEL_DIR}/../oasis/build/lib/psmile/scrip) +find_path(SCRIP_Fortran_INCLUDE_DIRECTORIES remap_bicubic_reduced.mod HINTS ${TOPLEVEL_DIR}/../oasis/build/lib/psmile/scrip) find_library(SCRIP_Fortran_LIBRARIES scrip HINTS ${TOPLEVEL_DIR}/../oasis/build/lib/psmile/scrip) diff --git a/cmake/FindOASIS_oifs.cmake b/cmake/FindOASIS_oifs.cmake deleted file mode 100644 index ac3b749e7..000000000 --- a/cmake/FindOASIS_oifs.cmake +++ /dev/null @@ -1,11 +0,0 @@ -find_path(OASIS_Fortran_INCLUDE_DIRECTORIES mod_oasis.mod HINTS ${TOPLEVEL_DIR}/../oasis3-mct/ecconf/build/lib/psmile.MPI1) -find_library(OASIS_Fortran_LIBRARIES psmile HINTS ${TOPLEVEL_DIR}/../oasis3-mct/ecconf/lib) - -find_path(MCT_Fortran_INCLUDE_DIRECTORIES mct_mod.mod HINTS ${TOPLEVEL_DIR}/../oasis3-mct/ecconf/build/lib/mct) -find_library(MCT_Fortran_LIBRARIES mct HINTS ${TOPLEVEL_DIR}/../oasis3-mct/ecconf/build/lib/mctdir/mct) - -find_path(MPEU_Fortran_INCLUDE_DIRECTORIES m_mpout.mod HINTS ${TOPLEVEL_DIR}/../oasis3-mct//ecconf/build/lib/mct) -find_library(MPEU_Fortran_LIBRARIES mpeu HINTS ${TOPLEVEL_DIR}/../oasis3-mct/ecconf/build/lib/mctdir/mpeu) - -find_path(SCRIP_Fortran_INCLUDE_DIRECTORIES remap_bicubic.mod HINTS ${TOPLEVEL_DIR}/../oasis3-mct/ecconf/build/lib/scrip) -find_library(SCRIP_Fortran_LIBRARIES scrip HINTS ${TOPLEVEL_DIR}/../oasis3-mct/ecconf/lib) diff --git a/config/namelist.config b/config/namelist.config index 3b1a165c1..f239c4afa 100644 --- a/config/namelist.config +++ b/config/namelist.config @@ -13,7 +13,7 @@ run_length_unit='y' ! y, m, d, s &clockinit ! the model starts at timenew=0.0 daynew=1 -yearnew=1958 ! 1850 for anthropogenic D14C, 1930 for CFC-12 +yearnew=1958 / &paths diff --git a/config/namelist.config.dkrz b/config/namelist.config.dkrz deleted file mode 100755 index a488c5604..000000000 --- a/config/namelist.config.dkrz +++ /dev/null @@ -1,85 +0,0 @@ -! This is the namelist file for model general configuration - -&modelname -runid='fesom' -/ - -×tep -step_per_day=1440 -run_length=1 -run_length_unit='m' ! y, m, d, s -/ - -&clockinit ! the model starts at -timenew=0.0 -daynew=1 -yearnew=1948 -/ - -&paths -MeshPath='/mnt/lustre02/work/ab0995/a270029/fesom2.0/meshes/fron_l1/' -OpbndPath='' -ClimateDataPath='/mnt/lustre01/work/ba1035/a270092/input/fesom2/hydrography/' -ForcingDataPath='/mnt/lustre01/work/ba1035/a270092/input/fesom2/forcing/' -TideForcingPath='/mnt/lustre01/work/ba1035/a270092/input/fesom2/tide_forcing/' -ResultPath='/work/ab0995/a270029/fesom2output/' -/ - -&initialization -OceClimaDataName='Winter_PHC3_ts.out' !which T/S data to initial. ocean - !'Winter_PHC3_ts.out' - !'Annual_PHC3_ts.out' -use_prepared_init_ice=.false. !how to init. ice; runid.initial_ice.nc -/ - -&inout -restartflag='last' !restart from which saved record,'last','#' -output_length=1 !only required for d,h,s cases, y, m take 1 -output_length_unit='y' !output period: y, d, h, s -output_offset=64 -restart_length=1 !only required for d,h,s cases, y, m take 1 -restart_length_unit='m' !output period: y, d, h, s -restart_offset=64 -logfile_outfreq=10 !in logfile info. output frequency, # steps -use_means=.false. !average output, if false prints out snapshots -/ - -&mesh_def -grid_type=1 !1 z-level, 2 sigma, 3 z+sigma -use_ALE=.true. ! switch on/off ALE -which_ALE='linfs' ! 'linfs','zlevel', 'zstar','zstar-weight', 'ztilde' -use_partial_cell=.false. -min_hnode=0.25 -lzstar_lev=3 -/ - -&geometry -cartesian=.false. -fplane=.false. -betaplane=.false. -f_fplane=-1.4e-4 ![1/s] -beta_betaplane=2.0e-11 ![1/s/m] -cyclic_length=360. ![degree] -rotated_grid=.true. !option only valid for coupled model case now -alphaEuler=50. ![degree] Euler angles, convention: -betaEuler=15. ![degree] first around z, then around new x, -gammaEuler=-90. ![degree] then around new z. -force_rotation=.true. -/ - -&calendar -include_fleapyear=.false. -/ - -&run_config -use_ice=.true. ! ocean+ice -use_floatice = .false. -use_sw_pene=.true. -toy_ocean=.false. ! use toy forcing/initialization -/ - -&machine -! system_arch=1 -n_levels=3 -n_part= 2, 4, 36 ! number of partitions on each hierarchy level -/ diff --git a/config/namelist.config.hlrn b/config/namelist.config.hlrn deleted file mode 100755 index 707e5d079..000000000 --- a/config/namelist.config.hlrn +++ /dev/null @@ -1,97 +0,0 @@ -! This is the namelist file for model general configuration - -&modelname -runid='fesom' -/ - -×tep -! 96 100 108 120 128 135 144 150 160 180 240 -! 288 360 480 720 1440 -step_per_day=120 !288 !96 - -run_length=20 !24 -run_length_unit='y' ! y, m, d, s -/ - -&clockinit ! the model starts at -timenew=0.0 -daynew=1 -yearnew=1948 -/ - -&paths -!MeshPath='/work/ollie/dsidoren/input/fesom2.0/meshes/mesh_CORE2_final/' -MeshPath='/work/ollie/pscholz/mesh_fesom2.0/mesh_CORE2_final/' -!MeshPath='/work/ollie/dsidoren/input/fesom2.0/meshes/mesh_CORE2_topo_smooth_77/' -!MeshPath='/work/ollie/pscholz/mesh_fesom2.0/mesh_CORE2_topo_smooth_77/' - -OpbndPath='' -ClimateDataPath='/work/ollie/dsidoren/input/hydrography/' -ForcingDataPath='/work/ollie/dsein/input/forcing/' -TideForcingPath='/work/ollie/dsein/input/tide_forcing/' -ResultPath='../results/git/' -/ - -&initialization -OceClimaDataName='Winter_PHC3_ts.out' !which T/S data to initial. ocean - !'Winter_PHC3_ts.out' - !'Annual_PHC3_ts.out' -use_prepared_init_ice=.false. !how to init. ice; runid.initial_ice.nc -/ - -&inout -restartflag='last' !restart from which saved record,'last','#' -output_length=1 !only required for d,h,s cases, y, m take 1 -output_length_unit='d' !output period: y, d, h, s -output_offset=64 -restart_length=1 !only required for d,h,s cases, y, m take 1 -restart_length_unit='m' !output period: y, d, h, s -restart_offset=64 -logfile_outfreq=600 !in logfile info. output frequency, # steps -use_means=.true. !average output, if false prints out snapshots -/ - -&mesh_def -grid_type=1 !1 z-level, 2 sigma, 3 z+sigma -use_ALE=.true. ! switch on/off ALE -which_ALE='zlevel' ! 'linfs','zlevel', 'zstar','zstar-weight', 'ztilde' -use_partial_cell=.true. -min_hnode=0.5 -lzstar_lev=20 -max_ice_loading=4.0 -/ - -&geometry -cartesian=.false. -fplane=.false. -betaplane=.false. -f_fplane=-1.4e-4 ![1/s] -beta_betaplane=2.0e-11 ![1/s/m] -cyclic_length=360. ![degree] -rotated_grid=.true. !option only valid for coupled model case now -alphaEuler=50. ![degree] Euler angles, convention: -betaEuler=15. ![degree] first around z, then around new x, -gammaEuler=-90. ![degree] then around new z. -force_rotation=.false. -/ - -&calendar -include_fleapyear=.false. -/ - -&run_config -use_ice=.true. ! ocean+ice -use_floatice = .true. -use_sw_pene=.false. -toy_ocean=.false. ! use toy forcing/initialization -/ - -&machine -! system_arch=1 -n_levels=3 -!n_part= 18, 2, 10 ! number of partitions on each hierarchy level -n_part= 18, 2, 12 ! 432 number of partitions on each hierarchy level -! n_part= 15, 2, 12 ! 360 number of partitions on each hierarchy level -!n_part= 12, 2, 12 ! 288 number of partitions on each hierarchy level - -/ diff --git a/config/namelist.config.orig b/config/namelist.config.orig deleted file mode 100755 index 342ca287e..000000000 --- a/config/namelist.config.orig +++ /dev/null @@ -1,94 +0,0 @@ -! This is the namelist file for model general configuration - -&modelname -runid='fesom' -/ - -×tep -! 96 100 108 120 128 135 144 150 160 180 240 -! 288 360 480 720 1440 -step_per_day=120 !288 !96 - -run_length=20 !24 -run_length_unit='y' ! y, m, d, s -/ - -&clockinit ! the model starts at -timenew=0.0 -daynew=1 -yearnew=1948 -/ - -&paths -!MeshPath='/work/ollie/dsidoren/input/fesom2.0/meshes/mesh_CORE2_final/' -MeshPath='/work/ollie/pscholz/mesh_fesom2.0/mesh_CORE2_final/' -!MeshPath='/work/ollie/dsidoren/input/fesom2.0/meshes/mesh_CORE2_topo_smooth_77/' -!MeshPath='/work/ollie/pscholz/mesh_fesom2.0/mesh_CORE2_topo_smooth_77/' - -OpbndPath='' -ClimateDataPath='/work/ollie/dsidoren/input/hydrography/' -ForcingDataPath='/work/ollie/dsein/input/forcing/' -TideForcingPath='/work/ollie/dsein/input/tide_forcing/' -ResultPath='../results/git/' -/ - -&initialization -OceClimaDataName='Winter_PHC3_ts.out' !which T/S data to initial. ocean - !'Winter_PHC3_ts.out' - !'Annual_PHC3_ts.out' -use_prepared_init_ice=.false. !how to init. ice; runid.initial_ice.nc -/ - -&inout -restartflag='last' !restart from which saved record,'last','#' -restart_length=1 !only required for d,h,s cases, y, m take 1 -restart_length_unit='m' !output period: y, d, h, s -restart_offset=64 -logfile_outfreq=600 !in logfile info. output frequency, # steps -use_means=.true. !average output, if false prints out snapshots -/ - -&mesh_def -grid_type=1 !1 z-level, 2 sigma, 3 z+sigma -use_ALE=.true. ! switch on/off ALE -which_ALE='zlevel' ! 'linfs','zlevel', 'zstar','zstar-weight', 'ztilde' -use_partial_cell=.true. -min_hnode=0.5 -lzstar_lev=20 -max_ice_loading=4.0 -/ - -&geometry -cartesian=.false. -fplane=.false. -betaplane=.false. -f_fplane=-1.4e-4 ![1/s] -beta_betaplane=2.0e-11 ![1/s/m] -cyclic_length=360. ![degree] -rotated_grid=.true. !option only valid for coupled model case now -alphaEuler=50. ![degree] Euler angles, convention: -betaEuler=15. ![degree] first around z, then around new x, -gammaEuler=-90. ![degree] then around new z. -force_rotation=.false. -/ - -&calendar -include_fleapyear=.false. -/ - -&run_config -use_ice=.true. ! ocean+ice -use_floatice = .true. -use_sw_pene=.false. -toy_ocean=.false. ! use toy forcing/initialization -/ - -&machine -! system_arch=1 -n_levels=3 -!n_part= 18, 2, 10 ! number of partitions on each hierarchy level -n_part= 18, 2, 12 ! 432 number of partitions on each hierarchy level -! n_part= 15, 2, 12 ! 360 number of partitions on each hierarchy level -!n_part= 12, 2, 12 ! 288 number of partitions on each hierarchy level - -/ diff --git a/docs/.gitkeep b/docs/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/docs/README.md b/docs/README.md deleted file mode 100644 index 9e23d16d4..000000000 --- a/docs/README.md +++ /dev/null @@ -1,227 +0,0 @@ -FESOM2 tutorial -============== - -Very fast version ----------------- -```bash -git clone https://gitlab.dkrz.de/FESOM/fesom2.git fesom2 -cd fesom2 -bash -l configure.sh -``` - -create file fesom.clock in the output directory with the following content: - -```bash - 0 1 1948 - 0 1 1948 -``` - -```bash -cd ../bin -sbatch job_ollie -``` - -Longer version -------------- - -First thing is to checkout FESOM 2 code from the repository. Now it is located at DKRZ gitlab (https://gitlab.dkrz.de/). You have to have an active DKRZ account (more information on how to register [here](https://www.dkrz.de/up/my-dkrz/getting-started/account/DKRZ-user-account)). Before your account can be added to the members of the project you have to at least once log in to https://gitlab.dkrz.de/ with your DKRZ account so that it appears in the GitLab data base. To be added as a member of the FESOM project on GitLab you have to send an email to Dmitry Sidorenko (dmitry.sidorenko@awi.de) with the request. Please make sure that you are able to login to https://gitlab.dkrz.de/ before sending the request. - -The project with FESOM2 is located here: -https://gitlab.dkrz.de/FESOM/fesom2/ - -Clone the repository with git command: - -```bash -git clone https://gitlab.dkrz.de/FESOM/fesom2.git -``` -The repository contains model code and two additional libraries (`Metis` and `Parms`) necessary for running FESOM2. To build FESOM2 executable one have to compile `Parms` library and the code of the model (`src` folder). In order to build executable that is used for model domain partitioning (distribution of the model mesh between CPUs) one have to compile `Metis` library and also some code located in the `src` directory. The first step of building model executable is usually done automatically with the use of CMake, but it will work only on supported platforms (ollie, DKRZ, HLRN, and HAZELHEN). To build executable for partitioning and model executable on other, unsupported, platforms you can still use good old Makefiles for now, but it might change in the future in favor of complete CMake based build process. Both ways will be explained below. - -#### Build model executable with Cmake (default and recommended) - -Go to the `fesom2` folder and execute: - -```bash -bash -l configure.sh -``` -In the best case scenario, your platform will be recognized and the `Parms` library and model executable will be built and copied to the `bin` directory. If it does not work - try to use `make` (see below). - -#### Build partitioner executable with make (the only way for now) - -First, build `Metis` library. In the ideal case, the only things you have to do is: - -```bash -cd lib/metis-5.1.0 -make clean -make install -``` - -However, you might need modification of the build options in your `Makefile`. The `Makefile` consist of the two parts - generic one contained in the `Makefile` itself and the `Makefile.in` that have all platform/compiler specific options and is "imported" during the `make` command execution. There are several `Makefile.in_*` files present, and you have to copy the one that is suitable for your platform into the `Makefile.in`. - -After successful compilation of `Metis` you can build partitioner executable: -```bash -cd ../src/ -make run_ini -``` -The `Makefiles` have the same structure, and you might need to replace default `Makefile.ini` with the one that is suitable for your platform. - -#### Build model executable with make (not recommended, but sometimes the only way) - -If Cmake fails, your platform is not supported, or you would like to do something crazy, you still can use make. -First, we have to build `Parms` library: - -```bash -cd ../parms/ -make cleanall -make -``` -note the `cleanall` instead of usual `clean`. - -To build model executable: -```bash -cd ../../src/ -make clean -make -``` - -Please see note related to the Makefiles in the previous section. - -Preparing the run ----------------- - -You have to do several basic things in order to prepare the run. First, create a directory where results will be stored. Usually, it is created in the model root directory: - -```bash -mkdir results -``` - -you might make a link to some other directory located on the part of the system where you have a lot of storage. In the `results` directory, you have to create `runid.clock` file, where `runid` is usually `fesom`, so the file is most often named `fesom.clock`. Inside the file you have to put two identical lines: -``` -0 1 1948 -0 1 1948 -``` -the meaning of this lines will be explained later. - -The next step is to make some changes in the model configuration. All runtime options can be set in the namelists that are located in the `config` directory: -```bash -cd ../config/ -``` - -There are four configuration files, but we are only interested in the `namelist.config` for now. The options that you might want to change for your first FESOM2 run are: - -* `run_length` length of the model run in `run_length_unit` (see below) -* `run_length_unit` units of the `run_length`. Can be `y`(year), `m`(month), `d`(days), `s`(model steps) -* `MeshPath` - path to the mesh you would like to use -* `ClimateDataPath` - path to the file with model temperature and salinity initial conditions -* `ForcingDataPath` - path to the forcing data - -Running mesh partitioner ------------------------ -You have to do this step only if your mesh does not have partitioning for the desired amount of CPU yet. You can understand if the partitioning exists by the presence of the `dist_XXXX` folder in the folder with your mesh, where `XXX` is the number of CPUs. If the folder contains files with partitioning, you can just skip to the next step, otherwise see instructions in this section. - -Partitioning is going to split your mesh into pieces that correspond to the number of CPUs you going to request. Now FESOM2 scales until 300 nodes per CPU, further increase in the amount of CPU will probably have relatively small effect. - -In order to tell the partitioner how many CPUs you need the partitioning for, one has to edit `&machine` section in the `namelist.config` file. There are two options: `n_levels` and `n_part`. FESOM mesh can be partitioned with use of several hierarchy levels and `n_levels` define the number of levels while `n_part` the number of partitions on each hierarchy level. The simplest case is to use one level and `n_part` just equal to the number of CPUs: -```bash -n_levels=1 -n_part= 288 -``` -If you would like to use more level, note that the product of levels should be equal to the number of CPUs, so for three levels and 288 CPUs: -```bash -n_levels=3 -n_part= 2, 4, 36 -``` - -Then change to the `work` directory. You should find several batch scripts that are used to submit model jobs to HPC machines. The scripts also link `fvom_ini.x` executable to the `work` directory and copy namelists with configurations from `config` folder. **NOTE, model executable, configuration namelists and job script have to be located in the same directory (usually `work`)**. - -If you are working on AWI's `ollie` supercomputer, you have to use `job_ini_ollie`, in other case use the job script for your specific HPC platform, or try to modify one of the existing ones. - -On `ollie` the submission of your partitioning job is done by executing the following command: -```bash -sbatch job_ini_ollie -``` -The job is then submitted to the supercomputer. In order to check the status of your job on `ollie` you can execute: -```bash -squeue -u yourusername -``` - - -Running the model ----------------- -Change to the `work` directory. You should find several batch scripts that are used to submit model jobs to HPC machines. The scripts also link `fesom.x` executable to the `work` directory and copy namelists with configurations from `config` folder. **NOTE, model executable, configuration namelists and job script have to be located in the same directory (usually `work`)**. If you are working on AWI's `ollie` supercomputer, you have to use `job_ollie`, in other case use the job script for your specific HPC platform, or try to modify one of the existing ones. - -On `ollie` the submission of your job is done by executing the following command: -```bash -sbatch job_ollie -``` -The job is then submitted to the supercomputer. In order to check the status of your job on `ollie` you can execute: -```bash -squeue -u yourusername -``` - -Results of the model run should appear in the `results` directory that you have specified in the `namelist.config`. After the run is finished the `fesom.clock`file (or if you change your `runid`, `runid.clock`) will be updated with information about the time of your run's end, that allows running the next time portion of the model experiment by just resubmitting the job with `sbatch job_ollie`. - - -The clock file ----------------- - -The clock file is usually located in your output directory (e.g. `results`) and controls the time. -At the start of a new experiment that we want to be initialized from climatology (a so-called cold start), -the `fesom.clock` file would usually look like this -``` -0 1 1948 -0 1 1948 -``` -In this example, 1948 is the first available year of the atmospheric `CORE2` forcing. The two identical -lines tell the model that this is the start of the experiment and that there is no restart file to be read. - -Let's assume that we run the model with a timestep of 30 minutes (= 1800 seconds) for a full year (1948). -After the run is successfully finished, the clock file will then automatically be updated and look like this: -``` -84600.0 365 1948 -0.0 1 1949 -``` -where the first row is the second last time step of the model, and the second row gives the time where the simulation -is to be continued. The first row indicates that the model ran for 365 days (in 1948) and 84600 seconds, which is `1 day - 1 FESOM timestep` -in seconds. In the next job, FESOM2 will look for restart files for the year 1948 and continue the simulation at the 1st of January in 1949. - -Since 1948 is a leap year (366 days), this is an exceptional case and the `fesom.clock` file after two full years -(1948--1949) would look like this: -``` -84600.0 364 1949 -0.0 1 1950 -``` -Note that dependent on the forcing data set (using a different calendar), a year could only have 360 days. - -Tricking FESOM2 into accepting existing restart files ----------------- - -The simple time management of FESOM allows to easily trick FESOM to accept existing restart files. Let's assume that you have performed a full `CORE2` cycle until the year 2009 and you want -to perform a second cycle, restarting from the last year of the first cycle. This can be done by (copying and) -renaming the last year into: -```bash -mv fesom.2009.ice.nc fesom.1947.ice.nc -mv fesom.2009.oce.nc fesom.1947.oce.nc -``` -By changing the clock file into -``` -84600.0 364 1947 -0.0 1 1948 -``` -the model will then restart from the last year of the first cycle, but using CORE2 forcing from 1948 onwards. - -Model spinup / Cold start at higher resolutions ----------------- - -Cold starting the model at high mesh resolutions with standard values for timestep and viscosity will lead to instabilities that cause the model to crash. If no restart files are available and a spinup has to be performed, the following changes should be made for the first month long simulation and then taken back gradually over the next 6-8 months: -In config.namelist set: -``` -step_per_day=720 -``` -In namelist.oce set: -``` -Div_c=5 -Leith_c=.5 -``` -After one month change one of the parameters to more standard values. Increase the timestep gradually. Very highly resolved meshes may require an inital timestep of one instead of two minutes. - - diff --git a/docs/convert_grid_to_nc.md b/docs/convert_grid_to_nc.md deleted file mode 100644 index f1223163a..000000000 --- a/docs/convert_grid_to_nc.md +++ /dev/null @@ -1,65 +0,0 @@ -Convert grid to netCDF that CDO understands -=========================================== - -We are going to use spheRlab for conversion. You have to have R already installed. - -Clone spheRlab - -```bash -git clone https://github.com/FESOM/spheRlab.git spheRlab -``` -Build package: -```bash -cd spheRlab/ -R CMD build spheRlab -``` -Make sure you have cdo installed (`cdo -V`) and launch R (type `R`). -Install the package: -```R -R>install.packages("spheRlab_1.1.0.tar.gz",repos=NULL) -``` -If you don;t have netCDF library installed, you also have to do: - -```R -R>install.packages("ncdf4") -``` - -Load libraries: -```R -R>library(spheRlab) -R>ibrary(ncdf4) -``` -You can get help (for any function) by typing, e.g.: -```R -R>?sl.grid.writeCDO -``` - -Define path to the mesh -```R -R>meshpath="/work/ollie/dsidoren/input/fesom2.0/meshes/mesh_CORE2_final/" -``` -Read the grid in to R structure (the arguments `rot` etc. might be different for different meshes, but this is the standard): -For rotated meshes: -```R -R>grid = sl.grid.readFESOM(griddir=meshpath,rot=TRUE,rot.invert=TRUE,rot.abg=c(50,15,-90)) -``` -For unrotated meshes: -```R -R>grid = sl.grid.readFESOM(griddir=meshpath,rot=FALSE,rot.invert=FALSE,rot.abg=c(0,0,0), threeD=FALSE) -``` -Define path to the output file: -```R -R>ofile = paste0(meshpath, "sl.grid.CDO", , sep = "") -``` -Directrly write netCDF file with mesh description: -```R -R>sl.grid.writeCDO(grid, ofile=ofile, netcdf=TRUE, depth=FALSE) -``` - -Conservative remapping with cdo (interpolate topography to mesh) ---------------------------------------------------------------- -```bash -$bash> export MESHPATH=/work/ollie/dsidoren/input/fesom2.0/meshes/mesh_CORE2_final/ -$bash> export DATAPATH=/work/ollie/dsidoren/ETOPO5/etopo5_lonlat.nc -$bash> cdo remapycon,$MESHPATH/sl.grid.CDO.nc -selname,topo $DATAPATH $MESHPATH/topo.nc -``` \ No newline at end of file diff --git a/docs/initial_conditions.md b/docs/initial_conditions.md deleted file mode 100644 index 6c82b87e9..000000000 --- a/docs/initial_conditions.md +++ /dev/null @@ -1,66 +0,0 @@ -## Initial conditions in FESOM2 - -Initial conditions are loaded from netCDF file (or files) that contain values on regular grid. - -### In the namelist.oce - -One have to specify several parameters in the `namelist.oce`. The section of the `namelist.oce` might look like this: - -```bash -&oce_init3d ! initial conditions for tracers -n_ic3d = 2 ! number of tracers to initialize -idlist = 1, 0 ! their IDs (0 is temperature, 1 is salinity, etc.). The reading order is defined here! -filelist = 'phc3.0_winter.nc', 'phc3.0_winter.nc' ! list of files in ClimateDataPath to read (one file per tracer), same order as idlist -varlist = 'salt', 'temp' ! variables to read from specified files -t_insitu = .true. ! if T is insitu it will be converted to potential after reading it -``` - -* **n_ic3d** - how many tracers you want to initialise. As a minimum you have to initialise temperature and salinity. They have reserved id's 0 and 1 respectivelly (see `idlist` below). In this example only two tracers (temperature and salinity) are initialised. -* **idlist** - IDs of tracers. In this variable you define the reading order. Here we on purpose change the order of temperature and salinity to demonstrate that the order can be arbitrary. Once again remember that ID 0 and 1 are reserved for temperature and salinity respectively. -* **filelist** - coma separated list of files (each in qoutation marks) that contain initial conditions (see the section below about requirements to the file format). The path to the folder with this files is defined in `namelist.config` (`ClimateDataPath` variable). In this case the file `phc3.0_winter.nc` is the same for temperature and salinity since it contains both variables. -* **varlist** - names of the variables in the netCDF files specified above. Note again the order of the variables in the example, it can be arbitrary and in this case temperature comes after salinity. -* **t_insitu** - most of climatologies are distributed with *in situ* temperature, while model needs potential temperature. This flag allows to do the conversion (UNESCO equation) on the fly. - -### netCDF files for initial conditions - -The netCDF files have to satisfy the following criteria: - -* shoudl have dimentions named lon/longitude/LON , lat/latitude/LAT and depth -* should have variables named lon/longitude/LON , lat/latitude/LAT and depth -* lon/lat dimentions should be one dimentional (e.g `lon(lon)`) -* each variable with initial conditions should have only three dimentions (e.g. `temp(depth, lat, lon)`) -* The fields should start from 0th meridian and longitudes should have values from 0 to 360 -* the missing values should have values larger than 1e11 - -The file that would be read potentially without problems can be created with the following python code (variables `lat`,`lon_reshaped`, `depth`, `salt_reshaped`, `temp_reshaped` should be prepeared from the original file): - -```python -from netCDF4 import Dataset - -fw = Dataset('woa18_netcdf.nc', 'w', ) - -fw.createDimension('time', 366) -fw.createDimension('lat', lat.shape[0]) -fw.createDimension('lon', lon_reshaped.shape[0]) -fw.createDimension('depth', depth.shape[0]) - -latitude = fw.createVariable('lat', 'd', ('lat',)) -latitude[:] = lat[:] - -longitude = fw.createVariable('lon', 'd', ('lon',)) -longitude[:] = lon_reshaped[:] - -ddepth = fw.createVariable('depth', 'd', ('depth',)) -ddepth[:] = depth[:] - -salinity = fw.createVariable('salt','d', ('depth', 'lat', 'lon'), fill_value= 1e+20) -salinity[:] = salt_reshaped[:] -salinity.missing_value = 1e+20 - -temperature = fw.createVariable('temp','d', ('depth', 'lat', 'lon'), fill_value= 1e+20) -temperature[:] = temp_reshaped[:] -temperature.missing_value = 1e+20 -``` - -We will try to provide convertion instructions in the form of jupyter notebooks to all files with initial conditions. - diff --git a/env.sh b/env.sh index 57ffd1874..f568651e3 100755 --- a/env.sh +++ b/env.sh @@ -37,8 +37,16 @@ elif [[ $LOGINHOST =~ \.hww\.de$ ]] || [[ $LOGINHOST =~ ^nid[0-9]{5}$ ]]; then STRATEGY="hazelhen.hww.de" elif [[ $LOGINHOST =~ \.jureca$ ]]; then STRATEGY="jureca" -elif [[ $LOGINHOST =~ ^juwels[0-9]+\.fz\-juelich\.de$ ]]; then +elif [[ $LOGINHOST = ubuntu ]]; then + STRATEGY="ubuntu" +elif [[ $LOGINHOST = bsc ]]; then + STRATEGY="bsc" +elif [[ $LOGINHOST =~ ^juwels[0-9][0-9].ib.juwels.fzj.de$ ]]; then STRATEGY="juwels" +elif [[ $LOGINHOST =~ ^jwlogin[0-9][0-9].juwels$ ]]; then + STRATEGY="juwels" +elif [[ $LOGINHOST =~ ^cc[a-b]+-login[0-9]+\.ecmwf\.int$ ]]; then + STRATEGY="ecaccess.ecmwf.int" else echo "can not determine environment for host: "$LOGINHOST [ $BEING_EXECUTED = true ] && exit 1 diff --git a/env/bsc/shell b/env/bsc/shell new file mode 100644 index 000000000..a5ccfb77a --- /dev/null +++ b/env/bsc/shell @@ -0,0 +1,7 @@ + +module load intel/2017.4 impi/2017.4 mkl/2017.4 bsc/1.0 netcdf/4.2 + +export FC=mpiifort CC=mpiicc CXX=mpiicpc + + + diff --git a/env/ecaccess.ecmwf.int/shell b/env/ecaccess.ecmwf.int/shell new file mode 100644 index 000000000..743116a12 --- /dev/null +++ b/env/ecaccess.ecmwf.int/shell @@ -0,0 +1,11 @@ +export PATH=/home/rd/natr/cmake-3.11.2-Linux-x86_64/bin:$PATH + +module unload cray-hdf5 +module load cray-netcdf +module load cray-hdf5 + +#export CRAYPE_LINK_TYPE=dynamic + +# enable full MPI thread support level (MPI_THREAD_MULTIPLE) +export MPICH_MAX_THREAD_SAFETY=multiple # to also switch to an alternative (probably with faster locking) multi threading implementation of the cray-mpich library, use the compiler flag -craympich-mt +export FC=ftn CC=cc CXX=CC diff --git a/env/juwels/shell b/env/juwels/shell index 833976b88..0b5451c82 100644 --- a/env/juwels/shell +++ b/env/juwels/shell @@ -1,10 +1,22 @@ -# make the contents as shell agnostic as possible so we can include them with bash, zsh and others +########## +module --force purge +module use /gpfs/software/juwels/otherstages +module load Stages/2019a +module load StdEnv +# For intel MPI +#module load Intel/2019.3.199-GCC-8.3.0 IntelMPI/2018.5.288 imkl/2019.3.199 +#export FC=mpiifort CC=mpiicc CXX=mpiicpc -module load CMake Intel IntelMPI imkl netCDF netCDF-Fortran #intel.compiler intel.mpi netcdf/4.4.0_intel -# the netcdf c++ path given by the netcdf module is broken, we have to workaround this -export FC=mpiifort CC=mpiicc CXX=mpiicpc -export NETCDF_Fortran_INCLUDE_DIRECTORIES=/gpfs/software/juwels/stages/2018a/software/netCDF-Fortran/4.4.4-iimpi-2018a/include/ -export NETCDF_C_INCLUDE_DIRECTORIES=/gpfs/software/juwels/stages/2018a/software/netCDF/4.6.1-iimpi-2018a/include/ -export NETCDF_CXX_INCLUDE_DIRECTORIES=/gpfs/software/juwels/stages/2018a/software/netCDF/4.6.1-iimpi-2018a/include/ +# For ParaStation MPI +module load Intel/2019.3.199-GCC-8.3.0 ParaStationMPI/5.4 imkl/2019.5.281 +export FC=mpifort CC=mpicc CXX=mpicxx +module load netCDF/4.6.3 +module load netCDF-Fortran/4.4.5 +module load CMake +export NETCDF_DIR=$EBROOTNETCDF +export NETCDFF_DIR=$EBROOTNETCDFMINFORTRAN +export NETCDF_Fortran_INCLUDE_DIRECTORIES=${NETCDFF_DIR}/include/ +export NETCDF_C_INCLUDE_DIRECTORIES=${NETCDF_DIR}/include/ +export NETCDF_CXX_INCLUDE_DIRECTORIES=${NETCDFCXX_DIR}/include/ diff --git a/env/ollie/shell b/env/ollie/shell index 27eabcd3c..3b9efbf52 100644 --- a/env/ollie/shell +++ b/env/ollie/shell @@ -1,9 +1,11 @@ # make the contents as shell agnostic as possible so we can include them with bash, zsh and others module load intel.compiler intel.mpi netcdf/4.4.0_intel +module load centoslibs # required on compute nodes + # the netcdf c++ path given by the netcdf module is broken, we have to workaround this export NETCDF_CXX_INCLUDE_DIRECTORIES=/global/AWIsoft/tkleiner/netcdf/4.4.0_intel_impi/include -export PATH=/work/ollie/jhegewal/sw/cmake/bin:$PATH +export PATH=/home/ollie/dsidoren/cmake-3.13.2-Linux-x86_64/bin:$PATH export FC="mpiifort -mkl" CC=mpiicc CXX=mpiicpc diff --git a/env/ollie/shell_cray b/env/ollie/shell_cray new file mode 100644 index 000000000..4c7d399f8 --- /dev/null +++ b/env/ollie/shell_cray @@ -0,0 +1,6 @@ +# make the contents as shell agnostic as possible so we can include them with bash, zsh and others + +module load cmake +module load PrgEnv-cray + +export FC=ftn CC=cc CXX=CC diff --git a/env/ubuntu/shell b/env/ubuntu/shell new file mode 100644 index 000000000..29fc59dbc --- /dev/null +++ b/env/ubuntu/shell @@ -0,0 +1,5 @@ +export FC=mpifort CC=mpicc CXX=mpicxx +export BLAS_LIBRARIES=/usr/lib/x86_64-linux-gnu/blas/ +export UBUNTU_BLAS_LIBRARY="libblas.a" + + diff --git a/fpost2/do_work.F90 b/fpost2/do_work.F90 index ebf0f1ba2..d550acc0e 100644 --- a/fpost2/do_work.F90 +++ b/fpost2/do_work.F90 @@ -16,7 +16,7 @@ PROGRAM MAIN INTEGER :: year, io, ncid real, allocatable, dimension(:) :: temp, salt, ssh -character(len=100) :: nmlfile +character(len=MAX_PATH) :: nmlfile nmlfile ='namelist.interp' ! name of general configuration namelist file open (20,file=nmlfile) diff --git a/fpost2/g_oce_2_reg.F90 b/fpost2/g_oce_2_reg.F90 index bdbb38c87..cb936d716 100644 --- a/fpost2/g_oce_2_reg.F90 +++ b/fpost2/g_oce_2_reg.F90 @@ -16,7 +16,7 @@ module g_oce_2_reg real(kind=8) :: RegDx=.25, RegDy=.25 real(kind=8), allocatable :: reg_lon(:), reg_lat(:) type(sparse_matrix) :: oce_2_reg, oce_2_reg_el - character*100 :: o2r_filename='oce_2_reg.bin_25' + character(MAX_PATH) :: o2r_filename='oce_2_reg.bin_25' logical :: do_mesh=.false. namelist /regular_mesh/ LonMin, LonMax, LatMin, LatMax, RegDx, RegDy, o2r_filename, do_mesh diff --git a/fpost2/gen_modules_config.F90 b/fpost2/gen_modules_config.F90 index 196ce7855..f5e1c56ca 100644 --- a/fpost2/gen_modules_config.F90 +++ b/fpost2/gen_modules_config.F90 @@ -6,12 +6,12 @@ module g_config ! *** Modelname *** character(5) :: runid='fesom' ! a model/setup name integer :: year_start=1948, year_end=1953, snap_per_year=12 - CHARACTER*100 :: datapath ='/home/h/hbkdsido/fvom/results/core2_sw_chl0.1/' - CHARACTER*100 :: outpath ='/home/h/hbkdsido/fvom/results/' + CHARACTER(MAX_PATH) :: datapath ='/home/h/hbkdsido/fvom/results/core2_sw_chl0.1/' + CHARACTER(MAX_PATH) :: outpath ='/home/h/hbkdsido/fvom/results/' namelist /config/ runid, datapath, outpath, year_start, year_end, snap_per_year logical :: use_mask=.false. - character(500) :: mask_file='/uv/user/dsidoren/mask_NA.dat' + character(MAX_PATH) :: mask_file='/uv/user/dsidoren/mask_NA.dat' real(kind=8), dimension(:), allocatable :: mask_n2 namelist /mask/ use_mask, mask_file @@ -31,6 +31,6 @@ module g_config real(kind=8) :: alphaEuler=50. ![grad] Euler angles, convention: real(kind=8) :: betaEuler=15. ![grad] first around z, then around new x, real(kind=8) :: gammaEuler=-90. ![grad] then around new z. - CHARACTER*100 :: meshpath ='/gfs2/work/hbkdsido/input/mesh/mesh_CORE2_final/' + CHARACTER(MAX_PATH) :: meshpath ='/gfs2/work/hbkdsido/input/mesh/mesh_CORE2_final/' namelist /fesom_mesh/ meshpath, rotated_grid, rotated_rslt, alphaEuler, betaEuler, gammaEuler end module g_config diff --git a/lib/metis-4.0/CHANGES b/lib/metis-4.0/CHANGES deleted file mode 100755 index b15cacc2c..000000000 --- a/lib/metis-4.0/CHANGES +++ /dev/null @@ -1,149 +0,0 @@ - -METIS 4.0.1, 11/29/98 ------------------------------------------------------------------------------- -This is mostly a bug-fix release - - - Fixed some bugs in the multi-constraint partitioning routines - - Fixed some bugs in the volume-minimization routines - - - -METIS 4.0.0, 9/20/98 ------------------------------------------------------------------------------- -METIS 4.0 contains a number of changes over the previous major release (ver -3.0.x). Most of these changes are concentrated on the graph and mesh -partitioning routines and they do not affect the sparse matrix re-ordering -routines. Here is a list of the major changes: - - Multi-Constraint Partitioning - ----------------------------- - METIS now includes partitioning routines that can be used to a partition - a graph in the presence of multiple balancing constraints. - - Minimizing the Total Communication Volume - ----------------------------------------- - METIS now includes partitioning routines whose objective is to minimize - the total communication volume (as opposed to minimizing the edge-cut). - - Minimizing the Maximum Connectivity of the Subdomains - ----------------------------------------------------- - The k-way partitioning routines in METIS can now directly minimize the number - of adjacent subdomains. For most graphs corresponding to finite element - meshes, METIS is able to significantly reduce the maximum (and total) number of - adjacent subdomains. - - - - -METIS 3.0.6, 1/28/98 -------------------------------------------------------------------------------- - - Fixed some problems when too many partitions were asked, and each partition - end up having 0 vertices - - Fixed some bugs in the I/O routines - - Added support for the g77 compiler under Linux - - -METIS 3.0.5, 12/22/97 -------------------------------------------------------------------------------- - - Fixed problems on 64-bit architectures (eg., -64 option on SGIs). - - Added some options in Makefile.in - - -METIS 3.0.4, 12/1/97 -------------------------------------------------------------------------------- - Fixed a memory leak in the ordering code. - - -METIS 3.0.3, 11/5/97 -------------------------------------------------------------------------------- - This is mostly a bug-fix release with just a few additions - - Added functionality - - Added support for quadrilateral elements. - - Added a routine METIS_EstimateMemory that estimates the amount of - memory that will be allocated by METIS. This is useful in determining - if a problem can run on your system. - - Added hooks to allow PARMETIS to use the orderings produced by METIS. - This is hidden from the user but it will be used in the next release - of PARMETIS. - - Bug-fixes - - Fixed a bug related to memory allocation. This should somewhat reduce the - overall memory used by METIS. - - Fixed some bugs in the 'graphchk' program in the case of weighted graphs. - - Removed some code corresponding to unused options. - - Fixed some minor bugs in the node-refinement code - - - -------------------------------------------------------------------------------- -METIS 3.0 contains a number of changes over METIS 2.0. -The major changes are the following: - - General Changes - --------------- - 1. Added code to directly partition finite element meshes. - - 2. Added code to convert finite element meshes into graphs so they - can be used by METIS. - - 1. The names, calling sequences, and options of the routines in - METISlib have been changed. - - 2. Better support has been added for Fortran programs. - - 3. Eliminated the 'metis' program. The only way to tune METIS's - behavior is to use METISlib. - - 4. Improved memory management. METIS should now only abort if truly - there is no more memory left in the system. - - - Graph Partitioning - ------------------ - 1. Added partitioning routines that can be used to compute a partition - with prescribed partition weights. For example, they can be used to - compute a 3-way partition such that partition 1 has 50% of the weight, - partition 2 has 20% of the way, and partition 3 has 30% of the weight. - - 2. Improved the speed of the k-way partitioning algorithm (kmetis). The - new code has better cache locality which dramatically improves the - speed for large graphs. A factor of 4 speedup can be obtained for - certain graphs. METIS can now partition a 4 million node graph - in well under a minute on a MIPS R10000. - - 3. Eliminated some of the options that were seldom used. - - - Fill-Reducing Orderings - ---------------------- - 1. Added a node based ordering code `onmetis' that greatly improves - ordering quality. - - 2. Improved the quality of the orderings produced by the original - edge-based ordering code (it is now called 'oemetis'). - - 3. METIS can now analyze the graph and try to compress together - nodes with identical sparsity pattern. For some problems, this - significantly reduces ordering time - - 4. METIS can now prune dense columns prior to ordering. This can be - helpful for LP matrices. - - - Mesh Partitioning - ----------------- - 1. METIS can now directly partition the element node array of finite - element meshes. It produces two partitioning vectors. One for the - elements and one for the nodes. METIS supports the following - elements: triangles, tetrahedra, hexahedra - - - Mesh-To-Graph Conversion Routines - --------------------------------- - 1. METIS now includes a number of mesh conversion functions that can - be used to create the dual and nodal graphs directly from the - element connectivity arrays. These are highly optimized routines. - - - diff --git a/lib/metis-4.0/Doc/manual.ps b/lib/metis-4.0/Doc/manual.ps deleted file mode 100755 index d77abe565..000000000 Binary files a/lib/metis-4.0/Doc/manual.ps and /dev/null differ diff --git a/lib/metis-4.0/FILES b/lib/metis-4.0/FILES deleted file mode 100755 index 2b44c9b90..000000000 --- a/lib/metis-4.0/FILES +++ /dev/null @@ -1,16 +0,0 @@ - -The distribution of METIS 4.0 consists of a number of files arranged -in five directories. The files contained in each directory are as follows: - -Doc/ Contains METIS's user manual - -Graphs/ Contains some small sample graphs and meshes - that can be used with METIS. - -Lib/ Contains the code for METIS's library - -Programs/ Contains the code for METIS's stand-alone programs - -Test/ Contains a comprehensive tester for METIS's partitioning - routines. - diff --git a/lib/metis-4.0/Graphs/0README b/lib/metis-4.0/Graphs/0README deleted file mode 100755 index e8cd0d73b..000000000 --- a/lib/metis-4.0/Graphs/0README +++ /dev/null @@ -1,81 +0,0 @@ - -This file contains two test problems - -4elt.graph - This is a small graph corresponding to a 2D finite element mesh - -test.mgraph - This is a very small graph with two vertex weights (multi-constraint) - -metis.mesh - This is a small 2D mesh (It is a triangulation of 'METIS') - - -You can use them to test the various partitioning, and ordering routines. -For example try something like - - ../kmetis 4elt.graph 40 - ../onmetis 4elt.graph - ../pmetis test.mgraph 2 - ../kmetis test.mgraph 2 - ../kmetis test.mgraph 5 - ../partnmesh metis.mesh 10 - ../partdmesh metis.mesh 10 - ../mesh2dual metis.mesh - ../kmetis metis.mesh.dgraph 10 - -and so on... - - -You can also use the 'mtest' program that tests the various partitioning -routines. Here is how the correct output of 'mtest 4elt.graph' should -look like. - -prompt%: mtest 4elt.graph -********************************************************************** - METIS 4.0 Copyright 1998, Regents of the University of Minnesota - -Graph Information --------------------------------------------------- - Name: 4elt.graph, #Vertices: 15606, #Edges: 45878 - -Testing METIS_PartGraphRecursive ------------------------------------ - [1:ok][2:ok][3:ok][4:ok][5:ok][6:ok] - -Testing METIS_WPartGraphRecursive ----------------------------------- - [1:ok][2:ok][3:ok][4:ok][5:ok][6:ok] - -Testing METIS_PartGraphKway ----------------------------------------- - [1:ok][2:ok][3:ok][4:ok][5:ok][6:ok][7:ok][8:ok] - -Testing METIS_WPartGraphKway ---------------------------------------- - [1:ok][2:ok][3:ok][4:ok][5:ok][6:ok][7:ok][8:ok] - -Testing METIS_PartGraphVKway ---------------------------------------- - [1:ok][2:ok][3:ok][4:ok][5:ok][6:ok][7:ok] - -Testing METIS_WPartGraphVKway --------------------------------------- - [1:ok][2:ok][3:ok][4:ok][5:ok][6:ok][7:ok] - -Testing METIS_mCPartGraphRecursive ---------------------------------- - [1:ok][2:ok][3:ok][4:ok][5:ok][6:ok][7:ok][8:ok][9:ok][10:ok] - [11:ok][12:ok] - -Testing METIS_mCPartGraphKway --------------------------------------- - [1:ok][2:ok][3:ok][4:ok][5:ok][6:ok][7:ok][8:ok][9:ok][10:ok] - [11:ok][12:ok][13:ok][14:ok] - -Testing METIS_EdgeND ------------------------------------------------ - [1:ok][2:ok][3:ok] - -Testing METIS_NodeND ------------------------------------------------ - [1:ok][2:ok][3:ok][4:ok][5:ok][6:ok][7:ok][8:ok][9:ok][10:ok] - [11:ok][12:ok][13:ok] - -Testing METIS_NodeWND ----------------------------------------------- - [1:ok][2:ok][3:ok][4:ok][5:ok][6:ok] - ---------------------------------------------------------------------- - Testing completed. -********************************************************************** - - diff --git a/lib/metis-4.0/Graphs/4elt.graph b/lib/metis-4.0/Graphs/4elt.graph deleted file mode 100755 index 13bcfc7c8..000000000 --- a/lib/metis-4.0/Graphs/4elt.graph +++ /dev/null @@ -1,15607 +0,0 @@ -15606 45878 - 2 3 6 7 - 1 4 6 9 - 1 5 7 11 - 2 9 12 14 - 3 8 11 15 - 1 2 7 9 13 - 1 3 6 11 13 17 - 5 10 15 18 - 2 4 6 13 14 19 - 8 16 18 21 - 3 5 7 15 17 23 24 - 4 14 20 26 33 - 6 7 9 17 19 22 - 4 9 12 19 26 27 - 5 8 11 18 24 28 - 10 21 25 32 - 7 11 13 22 23 31 - 8 10 15 21 28 30 - 9 13 14 22 27 29 - 12 33 45 - 10 16 18 30 32 40 - 13 17 19 29 31 34 - 11 17 24 31 35 36 - 11 15 23 28 35 38 - 16 32 61 62 - 12 14 27 33 39 47 - 14 19 26 29 37 39 - 15 18 24 30 38 42 - 19 22 27 34 37 41 - 18 21 28 40 42 51 - 17 22 23 34 36 43 44 - 16 21 25 40 62 70 - 12 20 26 45 47 69 - 22 29 31 41 44 46 - 23 24 36 38 48 50 - 23 31 35 43 48 54 - 27 29 39 41 52 53 - 24 28 35 42 50 56 - 26 27 37 47 53 66 - 21 30 32 51 70 76 - 29 34 37 46 49 52 - 28 30 38 51 56 60 - 31 36 44 54 55 63 - 31 34 43 46 55 57 - 20 33 69 120 - 34 41 44 49 57 58 - 26 33 39 66 69 91 - 35 36 50 54 64 65 - 41 46 52 58 59 - 35 38 48 56 65 75 - 30 40 42 60 76 85 - 37 41 49 53 59 67 - 37 39 52 66 67 87 - 36 43 48 63 64 72 - 43 44 57 63 68 73 - 38 42 50 60 75 83 - 44 46 55 58 68 71 - 46 49 57 59 71 74 - 49 52 58 67 74 80 - 42 51 56 83 85 105 - 25 62 150 176 - 25 32 61 70 133 150 - 43 54 55 72 73 79 84 - 48 54 65 72 81 82 - 48 50 64 75 81 99 - 39 47 53 87 91 113 - 52 53 59 80 87 104 - 55 57 71 73 77 78 - 33 45 47 91 120 168 - 32 40 62 76 123 133 - 57 58 68 74 77 86 - 54 63 64 79 82 88 - 55 63 68 78 84 89 - 58 59 71 80 86 93 - 50 56 65 83 99 108 - 40 51 70 85 116 123 - 68 71 78 86 90 - 68 73 77 89 90 92 - 63 72 84 88 94 96 - 59 67 74 93 104 125 - 64 65 82 99 101 110 - 64 72 81 88 97 101 - 56 60 75 105 108 132 - 63 73 79 89 94 98 - 51 60 76 105 116 148 - 71 74 77 90 93 100 - 53 66 67 104 113 135 - 72 79 82 96 97 102 - 73 78 84 92 95 98 - 77 78 86 92 100 107 - 47 66 69 113 168 211 - 78 89 90 95 103 107 - 74 80 86 100 124 125 - 79 84 96 98 109 111 - 89 92 98 103 106 - 79 88 94 102 111 112 - 82 88 101 102 114 - 84 89 94 95 106 109 - 65 75 81 108 110 131 141 - 86 90 93 107 124 127 - 81 82 97 110 114 122 - 88 96 97 112 114 118 - 92 95 106 107 115 121 - 67 80 87 125 135 173 - 60 83 85 132 148 200 - 95 98 103 109 115 117 - 90 92 100 103 121 127 130 - 75 83 99 132 141 167 - 94 98 106 111 117 119 - 81 99 101 122 131 137 - 94 96 109 112 119 126 - 96 102 111 118 126 128 - 66 87 91 135 211 270 - 97 101 102 118 122 136 - 103 106 117 121 129 - 76 85 123 148 223 - 106 109 115 119 129 134 - 102 112 114 128 136 138 - 109 111 117 126 134 139 - 45 69 168 15200 - 103 107 115 129 130 140 - 101 110 114 136 137 146 - 70 76 116 133 223 5176 - 93 100 125 127 175 203 - 80 93 104 124 173 203 1438 - 111 112 119 128 139 142 143 - 100 107 124 130 154 175 - 112 118 126 138 142 145 - 115 117 121 134 140 144 - 107 121 127 140 152 154 - 99 110 137 141 161 199 - 83 105 108 167 200 410 - 62 70 123 150 5176 15053 - 117 119 129 139 144 147 - 87 104 113 173 252 270 - 114 118 122 138 146 149 158 - 110 122 131 146 161 165 - 118 128 136 145 149 151 - 119 126 134 143 147 155 - 121 129 130 144 152 159 - 99 108 131 167 199 239 - 126 128 143 145 156 157 - 126 139 142 155 156 160 - 129 134 140 147 159 164 - 128 138 142 151 153 157 - 122 136 137 158 165 174 - 134 139 144 155 164 169 - 85 105 116 200 223 5408 - 136 138 151 158 163 171 - 61 62 133 176 15053 15123 - 138 145 149 153 162 163 - 130 140 154 159 182 190 - 145 151 157 162 166 - 127 130 152 175 190 226 - 139 143 147 160 169 180 - 142 143 157 160 170 172 - 142 145 153 156 166 170 - 136 146 149 171 174 185 - 140 144 152 164 182 186 - 143 155 156 172 180 181 - 131 137 165 199 201 253 - 151 153 163 166 177 178 - 149 151 162 171 178 184 - 144 147 159 169 186 187 - 137 146 161 174 201 204 - 153 157 162 170 177 179 - 108 132 141 239 410 5091 - 69 91 120 211 15165 15200 - 147 155 164 180 187 193 - 156 157 166 172 179 183 - 149 158 163 184 185 195 - 156 160 170 181 183 188 - 104 125 135 252 1438 6142 - 146 158 165 185 204 208 - 124 127 154 203 226 275 - 61 150 15123 - 162 166 178 179 189 191 - 162 163 177 184 191 194 - 166 170 177 183 189 192 - 155 160 169 181 193 196 210 - 160 172 180 188 196 198 - 152 159 186 190 225 244 - 170 172 179 188 192 197 - 163 171 178 194 195 209 - 158 171 174 195 208 216 - 159 164 182 187 215 225 - 164 169 186 193 215 219 - 172 181 183 197 198 207 - 177 179 191 192 202 205 - 152 154 182 226 244 361 - 177 178 189 194 202 206 - 179 183 189 197 205 213 - 169 180 187 210 219 233 - 178 184 191 206 209 214 - 171 184 185 209 216 229 - 180 181 198 210 221 231 - 183 188 192 207 213 218 - 181 188 196 207 220 221 - 131 141 161 239 253 4560 4672 - 105 132 148 410 5408 7666 - 161 165 204 253 295 460 - 189 191 205 206 212 217 - 124 125 175 275 1438 4201 - 165 174 201 208 293 295 - 189 192 202 212 213 222 - 191 194 202 214 217 224 - 188 197 198 218 220 230 - 174 185 204 216 268 293 - 184 194 195 214 229 235 246 - 180 193 196 231 233 249 - 91 113 168 270 15098 15165 - 202 205 217 222 227 - 192 197 205 218 222 234 243 - 194 206 209 224 232 235 - 186 187 219 225 245 264 - 185 195 208 229 263 268 - 202 206 212 224 227 228 - 197 207 213 230 234 238 - 187 193 215 233 245 262 - 198 207 221 230 237 240 - 196 198 220 231 240 247 - 205 212 213 227 242 243 - 116 123 148 5176 5408 15071 - 206 214 217 228 232 236 - 182 186 215 244 264 312 - 154 175 190 275 361 2535 - 212 217 222 228 241 242 - 217 224 227 236 241 - 195 209 216 246 263 277 - 207 218 220 237 238 248 - 196 210 221 247 249 267 - 214 224 235 236 250 255 - 193 210 219 249 262 284 - 213 218 238 243 254 256 - 209 214 232 246 255 265 - 224 228 232 241 250 251 - 220 230 240 248 259 - 218 230 234 248 256 261 - 141 167 199 4560 5091 6408 - 220 221 237 247 259 266 - 227 228 236 242 251 257 - 222 227 241 243 257 258 - 213 222 234 242 254 258 260 - 182 190 225 312 361 4557 - 215 219 262 264 302 - 209 229 235 265 277 296 - 221 231 240 266 267 287 - 230 237 238 259 261 279 - 210 231 233 267 284 301 - 232 236 251 255 272 280 - 236 241 250 257 269 272 - 135 173 270 6142 12330 - 161 199 201 460 4672 4995 - 234 243 256 260 271 274 - 232 235 250 265 280 290 - 234 238 254 261 271 273 - 241 242 251 258 269 276 - 242 243 257 260 276 278 - 237 240 248 266 279 282 - 243 254 258 274 278 289 - 238 248 256 273 279 283 - 219 233 245 284 302 446 - 216 229 268 277 307 372 - 215 225 245 302 312 894 - 235 246 255 290 296 316 - 240 247 259 282 287 313 - 231 247 249 287 301 338 - 208 216 263 293 372 1146 - 251 257 272 276 286 291 - 113 135 211 252 12330 15098 - 254 256 273 274 281 285 - 250 251 269 280 286 297 - 256 261 271 281 283 288 - 254 260 271 285 289 298 - 175 203 226 2535 4201 5293 - 257 258 269 278 291 292 - 229 246 263 296 307 348 - 258 260 276 289 292 304 - 248 259 261 282 283 311 314 - 250 255 272 290 297 324 - 271 273 285 288 294 - 259 266 279 313 314 346 - 261 273 279 288 306 310 311 - 233 249 262 301 446 1168 - 271 274 281 294 298 299 - 269 272 291 297 317 - 247 266 267 313 338 396 - 273 281 283 294 300 305 306 308 - 260 274 278 298 304 323 329 - 255 265 280 316 324 544 - 269 276 286 292 317 328 - 276 278 291 304 327 328 - 204 208 268 295 1146 2565 3697 - 281 285 288 299 300 303 - 201 204 293 460 2565 3878 - 246 265 277 316 348 527 - 272 280 286 317 324 370 - 274 285 289 299 319 323 337 - 285 294 298 303 315 319 - 288 294 303 305 309 - 249 267 284 338 882 1168 - 245 262 264 446 894 1987 - 294 299 300 309 315 318 - 278 289 292 327 329 344 - 288 300 308 309 320 - 283 288 308 310 321 331 - 263 277 348 372 612 - 288 305 306 320 321 - 300 303 305 318 320 322 - 283 306 311 331 342 - 279 283 310 314 342 353 - 225 244 264 894 4557 4780 - 266 282 287 346 396 621 - 279 282 311 346 353 435 - 299 303 318 319 325 - 265 290 296 527 544 813 - 286 291 297 328 370 428 - 303 309 315 322 325 326 - 298 299 315 325 333 337 341 - 305 308 309 321 322 330 332 - 306 308 320 331 332 336 - 309 318 320 326 330 334 - 289 298 329 337 355 356 375 - 280 290 297 370 544 797 - 315 318 319 326 333 335 - 318 322 325 334 335 339 - 292 304 328 344 397 520 - 291 292 317 327 428 520 - 289 304 323 344 355 367 - 320 322 332 334 340 343 - 306 310 321 336 342 358 368 - 320 321 330 336 340 350 - 319 325 335 341 349 351 - 322 326 330 339 343 347 - 325 326 333 339 345 349 - 321 331 332 350 358 363 - 298 319 323 341 356 366 374 - 267 287 301 396 882 1028 - 326 334 335 345 347 352 - 330 332 343 350 357 - 319 333 337 351 364 366 - 310 311 331 353 368 458 466 - 330 334 340 347 357 362 - 304 327 329 367 397 418 - 335 339 349 352 354 - 282 313 314 435 621 956 - 334 339 343 352 359 362 - 277 296 307 527 612 1264 - 333 335 345 351 354 360 - 332 336 340 357 363 371 - 333 341 349 360 364 369 - 339 345 347 354 359 365 - 311 314 342 435 458 656 - 345 349 352 360 365 373 - 323 329 367 375 409 - 323 337 374 375 390 405 411 - 340 343 350 362 371 381 382 - 331 336 363 368 392 393 - 347 352 362 365 377 378 - 349 351 354 369 373 376 - 190 226 244 2535 4557 5550 - 343 347 357 359 377 380 381 - 336 350 358 371 387 393 - 341 351 366 369 385 386 - 352 354 359 373 378 379 - 337 341 364 374 386 404 408 413 - 329 344 355 409 418 450 - 331 342 358 392 453 466 - 351 360 364 376 383 385 - 297 317 324 428 797 809 - 350 357 363 382 387 389 - 263 268 307 612 1146 2062 - 354 360 365 376 379 384 - 337 356 366 404 411 414 - 323 355 356 390 409 419 - 360 369 373 383 384 388 - 359 362 378 380 391 400 - 359 365 377 379 394 400 - 365 373 378 384 394 398 - 362 377 381 391 395 - 357 362 380 382 395 401 - 357 371 381 389 401 406 - 369 376 385 388 399 403 - 373 376 379 388 398 402 - 364 369 383 386 403 421 - 364 366 385 413 421 424 - 363 371 389 393 412 416 - 376 383 384 399 402 - 371 382 387 406 416 427 - 356 375 405 419 451 - 377 380 395 400 407 417 - 358 368 393 437 453 470 - 358 363 387 392 412 429 437 - 378 379 398 400 415 423 - 380 381 391 401 407 422 - 287 313 338 621 1028 1249 - 327 344 418 520 680 721 - 379 384 394 402 415 420 - 383 388 402 403 425 426 - 377 378 391 394 417 423 432 - 381 382 395 406 422 430 - 384 388 398 399 420 425 - 383 385 399 421 426 433 - 366 374 408 414 436 439 - 356 390 411 447 451 - 382 389 401 427 430 445 - 391 395 417 422 434 - 366 404 413 431 436 - 355 367 375 419 450 494 507 - 132 167 200 5091 7666 13608 - 356 374 405 414 447 457 - 387 393 416 429 444 - 366 386 408 424 431 438 - 374 404 411 439 457 464 - 394 398 420 423 440 441 - 387 389 412 427 444 459 - 391 400 407 432 434 448 - 344 367 397 450 598 680 - 375 390 409 451 478 494 - 398 402 415 425 441 442 - 385 386 403 424 433 454 456 - 395 401 407 430 434 452 - 394 400 415 432 440 449 - 386 413 421 438 454 463 - 399 402 420 426 442 443 - 399 403 425 433 443 455 - 389 406 416 445 459 474 - 317 328 370 520 809 870 - 393 412 437 444 479 - 401 406 422 445 452 473 - 408 413 436 438 461 - 400 417 423 448 449 462 - 403 421 426 455 456 472 - 407 417 422 448 452 465 - 314 346 353 656 908 956 - 404 408 431 439 461 477 - 392 393 429 470 479 508 - 413 424 431 461 463 476 - 404 414 436 464 477 487 - 415 423 441 449 468 471 - 415 420 440 442 467 468 - 420 425 441 443 467 469 - 425 426 442 455 469 475 - 412 416 429 459 479 490 - 406 427 430 473 474 496 - 262 284 302 1168 1987 3287 - 405 411 451 457 501 505 - 417 432 434 462 465 481 - 423 432 440 462 471 480 - 367 409 418 507 588 598 - 390 405 419 447 478 505 517 - 422 430 434 465 473 483 - 368 392 466 470 545 553 - 421 424 456 463 482 484 - 426 433 443 472 475 485 - 421 433 454 472 482 492 - 411 414 447 464 500 501 - 342 353 466 550 607 656 690 - 416 427 444 474 490 506 - 201 253 295 3878 4995 5317 - 431 436 438 476 477 486 - 432 448 449 480 481 495 - 424 438 454 476 484 493 - 414 439 457 487 500 518 - 434 448 452 481 483 499 - 342 368 453 458 550 553 - 441 442 468 469 488 489 - 440 441 467 471 489 491 - 442 443 467 475 488 497 - 392 437 453 508 545 559 - 440 449 468 480 491 498 - 433 455 456 485 492 504 - 430 445 452 483 496 525 - 427 445 459 496 506 526 - 443 455 469 485 497 503 - 438 461 463 486 493 502 - 436 439 461 486 487 511 - 419 451 494 517 557 - 429 437 444 490 508 536 - 449 462 471 495 498 509 - 448 462 465 495 499 510 - 454 456 484 492 515 522 - 452 465 473 499 525 532 - 454 463 482 493 515 519 - 455 472 475 503 504 523 - 461 476 477 502 511 528 - 439 464 477 511 518 533 - 467 469 489 497 512 516 - 467 468 488 491 512 513 - 444 459 479 506 536 542 - 468 471 489 498 513 521 - 456 472 482 504 522 530 - 463 476 484 502 514 519 - 409 419 478 507 557 587 - 462 480 481 509 510 529 - 445 473 474 525 526 547 - 469 475 488 503 516 524 - 471 480 491 509 521 531 - 465 481 483 510 532 538 - 457 464 501 518 552 554 - 447 457 500 505 548 552 - 476 486 493 514 528 535 - 475 485 497 523 524 534 - 472 485 492 523 530 537 - 447 451 501 517 548 561 - 459 474 490 526 542 560 - 409 450 494 587 588 641 - 437 470 479 536 559 578 - 480 495 498 529 531 539 - 481 495 499 529 538 546 - 477 486 487 528 533 555 565 - 488 489 513 516 - 489 491 512 521 - 493 502 519 535 540 - 482 484 519 522 541 543 - 488 497 512 524 - 451 478 505 557 561 590 - 464 487 500 533 554 564 - 484 493 514 515 540 541 - 327 328 397 428 721 870 920 - 491 498 513 531 - 482 492 515 530 543 551 - 485 503 504 534 537 549 - 497 503 516 534 - 473 483 496 532 547 563 574 - 474 496 506 547 560 576 - 296 316 348 813 1264 15299 - 486 502 511 535 555 15286 - 495 509 510 539 546 556 - 492 504 522 537 551 558 - 498 509 521 539 - 483 499 525 538 563 566 - 487 511 518 564 565 570 - 503 523 524 549 - 502 514 528 540 562 15286 - 479 490 508 542 578 591 - 504 523 530 549 558 567 - 499 510 532 546 566 569 - 509 529 531 556 - 514 519 535 541 562 568 - 515 519 540 543 568 571 - 490 506 536 560 581 591 - 515 522 541 551 571 572 - 290 316 324 797 813 1495 1656 - 453 470 553 559 633 635 - 510 529 538 556 569 573 - 496 525 526 574 576 599 - 501 505 552 561 583 597 - 523 534 537 567 - 458 466 553 607 642 - 522 530 543 558 572 575 - 500 501 548 554 577 583 - 453 466 545 550 635 642 - 500 518 552 564 577 585 600 - 511 528 565 580 584 15286 - 529 539 546 573 - 478 494 517 587 590 650 - 530 537 551 567 575 579 - 470 508 545 578 633 645 - 506 526 542 576 581 604 - 505 517 548 590 597 623 - 535 540 568 582 586 15286 - 525 532 566 574 594 605 - 518 533 554 570 585 602 - 511 533 555 570 584 592 - 532 538 563 569 593 594 - 537 549 558 579 - 540 541 562 571 586 589 - 538 546 566 573 593 596 - 533 564 565 592 602 - 541 543 568 572 589 595 - 543 551 571 575 595 601 - 546 556 569 596 - 525 547 563 599 605 622 - 551 558 572 579 601 603 - 526 547 560 599 604 615 - 552 554 583 600 606 - 508 536 559 591 644 645 - 558 567 575 603 - 555 582 584 608 610 15286 - 542 560 591 604 629 - 562 580 586 608 611 15286 - 548 552 577 597 606 618 - 555 565 580 592 610 614 - 554 564 600 602 626 627 - 562 568 582 589 611 613 - 494 507 557 641 650 672 - 450 507 598 641 674 696 - 568 571 586 595 613 616 - 517 557 561 623 650 673 - 536 542 578 581 629 644 - 565 570 584 602 609 614 - 566 569 594 596 617 619 - 563 566 593 605 619 628 - 571 572 589 601 616 620 - 569 573 593 617 - 548 561 583 618 623 634 - 418 450 588 680 696 753 - 547 574 576 615 622 625 - 554 577 585 606 627 631 - 572 575 595 603 620 624 - 564 570 585 592 609 626 632 - 575 579 601 624 - 560 576 581 615 629 653 - 563 574 594 622 628 648 - 577 583 600 618 630 631 - 458 550 642 690 714 - 580 582 610 611 636 638 - 592 602 614 632 637 - 580 584 608 614 638 640 - 582 586 608 613 636 639 - 307 348 372 1264 2062 2078 - 586 589 611 616 639 643 - 584 592 609 610 637 640 - 576 599 604 625 653 654 - 589 595 613 620 643 646 - 593 596 619 647 - 583 597 606 630 634 651 - 593 594 617 628 647 652 - 595 601 616 624 646 649 - 313 346 396 956 1249 1576 - 574 599 605 625 648 655 - 561 590 597 634 667 673 - 601 603 620 649 - 599 615 622 654 655 - 585 602 627 632 658 669 - 585 600 626 631 659 669 - 594 605 619 648 652 665 - 581 591 604 644 653 679 - 606 618 631 651 657 - 600 606 627 630 657 659 - 602 609 626 637 658 660 - 545 559 635 645 713 715 - 597 618 623 651 667 668 - 545 553 633 642 713 717 - 608 611 638 639 661 662 - 609 614 632 640 660 15287 - 608 610 636 640 662 664 - 611 613 636 643 661 663 - 610 614 637 638 664 15287 - 507 587 588 672 674 700 - 550 553 607 635 714 717 - 613 616 639 646 663 666 - 578 591 629 645 679 724 - 559 578 633 644 715 724 - 616 620 643 649 666 670 - 617 619 652 671 - 605 622 628 655 665 676 - 620 624 646 670 - 557 587 590 672 673 719 728 - 618 630 634 657 668 675 - 619 628 647 665 671 677 - 604 615 629 654 679 699 - 615 625 653 655 685 699 - 622 625 648 654 676 685 - 353 435 458 690 848 908 1013 - 630 631 651 659 675 678 - 626 632 660 669 681 691 - 627 631 657 669 678 688 - 632 637 658 681 682 15287 - 636 639 662 663 683 15288 - 636 638 661 664 687 15288 - 639 643 661 666 683 684 - 638 640 662 686 687 15287 - 628 648 652 676 677 693 - 643 646 663 670 684 689 - 623 634 668 673 695 720 - 634 651 667 675 695 15289 - 626 627 658 659 688 691 697 - 646 649 666 689 - 647 652 677 692 - 587 641 650 700 728 748 - 590 623 650 667 719 720 739 - 588 641 696 700 743 - 651 657 668 678 694 15289 - 648 655 665 685 693 704 - 652 665 671 692 693 701 - 657 659 675 688 694 698 - 629 644 653 699 724 752 - 397 418 598 721 753 837 949 - 658 660 682 691 708 712 - 660 681 686 707 708 15287 - 661 663 684 702 703 15288 - 663 666 683 689 702 705 - 654 655 676 699 704 730 - 664 682 687 707 709 15287 - 662 664 686 706 709 15288 - 659 669 678 697 698 710 - 666 670 684 705 - 458 607 656 714 802 848 - 658 669 681 697 712 718 - 671 677 701 15290 - 665 676 677 701 704 723 - 675 678 698 711 716 15289 - 667 668 711 720 726 15289 - 588 598 674 743 753 783 - 669 688 691 710 718 725 - 678 688 694 710 716 722 - 653 654 679 685 730 752 771 - 641 672 674 743 748 759 - 677 692 693 723 736 15290 - 683 684 703 705 729 731 - 683 702 706 729 732 15288 - 676 685 693 723 730 747 - 684 689 702 731 - 687 703 709 732 733 15288 - 682 686 708 709 734 735 - 681 682 707 712 735 738 - 686 687 706 707 733 734 - 688 697 698 722 725 727 - 694 695 716 726 737 15289 - 681 691 708 718 738 741 - 633 635 715 717 788 795 - 607 642 690 717 796 802 - 633 645 713 724 795 815 - 694 698 711 722 737 740 - 635 642 713 714 788 796 - 691 697 712 725 741 745 - 650 673 728 739 774 777 - 667 673 695 726 739 761 769 - 397 520 680 920 949 1104 - 698 710 716 727 740 742 - 693 701 704 736 747 757 - 644 645 679 715 752 815 860 - 697 710 718 727 745 746 - 695 711 720 737 749 761 - 710 722 725 742 746 - 650 672 719 748 777 794 - 702 703 731 732 750 751 - 685 699 704 747 771 780 - 702 705 729 750 - 703 706 729 733 751 754 - 706 709 732 734 754 755 - 707 709 733 735 755 758 - 707 708 734 738 758 760 - 701 723 744 757 764 15290 - 711 716 726 740 749 756 - 708 712 735 741 760 763 - 673 719 720 769 774 790 - 716 722 737 742 756 762 - 712 718 738 745 763 766 - 722 727 740 746 762 765 - 674 696 700 759 783 805 - 736 764 768 15290 - 718 725 741 746 766 767 - 725 727 742 745 765 767 - 704 723 730 757 780 789 - 672 700 728 759 794 804 - 726 737 756 761 770 - 729 731 751 772 - 729 732 750 754 772 773 - 679 699 724 771 845 860 - 598 680 696 783 837 864 - 732 733 751 755 773 775 - 733 734 754 758 775 776 - 737 740 749 762 770 779 - 723 736 747 764 789 792 - 734 735 755 760 776 778 - 700 743 748 804 805 - 735 738 758 763 778 781 - 720 726 749 769 770 784 - 740 742 756 765 779 782 - 738 741 760 766 781 786 - 736 744 757 768 792 793 - 742 746 762 767 782 785 - 741 745 763 767 786 787 - 745 746 765 766 785 787 - 744 764 791 793 - 720 739 761 784 790 817 - 749 756 761 779 784 801 - 699 730 752 780 839 845 - 750 751 773 798 - 751 754 772 775 798 799 - 719 739 777 790 820 824 - 754 755 773 776 799 800 - 755 758 775 778 800 803 - 719 728 774 794 820 829 - 758 760 776 781 803 806 - 756 762 770 782 801 807 - 730 747 771 789 831 839 - 760 763 778 786 806 808 - 762 765 779 785 807 810 - 696 743 753 805 864 867 - 761 769 770 801 817 822 - 765 767 782 787 810 811 - 763 766 781 787 808 812 - 766 767 785 786 811 812 - 713 717 795 796 840 869 - 747 757 780 792 825 831 - 739 769 774 817 824 828 - 768 793 814 816 - 757 764 789 793 818 825 - 764 768 791 792 816 818 - 728 748 777 804 829 841 - 713 715 788 815 840 876 - 714 717 788 802 869 916 - 324 370 544 809 1495 1882 15297 - 772 773 799 819 - 773 775 798 800 819 821 - 775 776 799 803 821 823 - 770 779 784 807 822 832 - 690 714 796 848 916 987 - 776 778 800 806 823 826 - 748 759 794 805 841 862 - 743 759 783 804 862 867 - 778 781 803 808 826 830 - 779 782 801 810 832 836 - 781 786 806 812 830 833 - 370 428 797 870 1443 15297 - 782 785 807 811 835 836 - 785 787 810 812 834 835 - 786 787 808 811 833 834 - 316 527 544 1656 2019 15299 - 791 816 827 838 - 715 724 795 860 876 923 - 791 793 814 818 838 843 - 769 784 790 822 828 854 15291 - 792 793 816 825 843 851 - 798 799 821 844 - 774 777 824 829 859 865 - 799 800 819 823 844 846 - 784 801 817 832 854 855 - 800 803 821 826 846 847 - 774 790 820 828 859 863 - 789 792 818 831 851 866 - 803 806 823 830 847 849 - 814 838 842 853 - 790 817 824 863 15291 - 777 794 820 841 865 877 - 806 808 826 833 849 850 - 780 789 825 839 866 883 - 801 807 822 836 855 858 - 808 812 830 834 850 852 - 811 812 833 835 852 856 - 810 811 834 836 856 857 - 807 810 832 835 857 858 - 680 753 864 949 994 - 814 816 827 843 853 868 - 771 780 831 845 883 909 - 788 795 869 876 922 - 794 804 829 862 877 891 - 827 853 861 873 - 816 818 838 851 868 879 - 819 821 846 871 - 752 771 839 860 909 954 - 821 823 844 847 871 872 - 823 826 846 849 872 874 - 656 690 802 987 1013 1149 - 826 830 847 850 874 878 - 830 833 849 852 878 880 - 818 825 843 866 879 892 - 833 834 850 856 880 881 - 827 838 842 868 873 887 - 817 822 855 888 901 15291 - 822 832 854 858 886 888 - 834 835 852 857 881 884 - 835 836 856 858 884 885 - 832 836 855 857 885 886 - 820 824 863 865 897 898 - 724 752 815 845 923 954 1043 - 842 873 875 889 - 804 805 841 867 891 948 - 824 828 859 897 902 15291 - 753 783 837 867 994 15292 - 820 829 859 877 895 898 - 825 831 851 883 892 913 - 783 805 862 864 948 15292 - 838 843 853 879 887 899 - 788 796 840 916 922 974 - 428 520 809 920 1408 1443 - 844 846 872 893 - 846 847 871 874 893 896 - 842 853 861 887 889 903 - 847 849 872 878 896 900 - 861 889 890 906 - 795 815 840 922 923 975 - 829 841 865 891 895 928 - 849 850 874 880 900 904 - 843 851 868 892 899 914 - 850 852 878 881 904 907 - 852 856 880 884 907 910 - 301 338 1028 1168 2171 2700 - 831 839 866 909 913 945 - 856 857 881 885 910 911 - 857 858 884 886 911 912 - 855 858 885 888 912 915 - 853 868 873 899 903 917 - 854 855 886 901 915 927 - 861 873 875 903 906 919 - 875 905 906 921 - 841 862 877 928 948 965 - 851 866 879 913 914 935 - 871 872 896 924 - 264 302 312 1987 4780 4973 - 865 877 898 928 934 - 872 874 893 900 924 925 - 859 863 898 902 939 941 - 859 865 895 897 934 941 - 868 879 887 914 917 932 - 874 878 896 904 925 929 - 854 888 926 927 944 15291 - 863 897 926 933 939 15291 - 873 887 889 917 919 937 - 878 880 900 907 929 930 - 890 918 921 938 - 875 889 890 919 921 940 - 880 881 904 910 930 936 - 435 656 956 1013 1439 1544 - 839 845 883 945 954 1000 - 881 884 907 911 936 942 - 884 885 910 912 942 943 - 885 886 911 915 943 946 - 866 883 892 935 945 964 - 879 892 899 932 935 950 - 886 888 912 927 946 955 - 796 802 869 974 987 1067 - 887 899 903 932 937 951 - 905 931 938 952 - 889 903 906 937 940 957 - 520 721 870 1104 1375 1408 - 890 905 906 938 940 958 - 840 869 876 974 975 993 - 815 860 876 975 1043 1053 - 893 896 925 953 - 896 900 924 929 953 959 - 901 902 933 944 960 15291 - 888 901 915 944 955 966 - 877 891 895 934 965 979 - 900 904 925 930 959 961 - 904 907 929 936 961 963 - 918 947 952 968 - 899 914 917 950 951 967 - 902 926 939 960 976 - 895 898 928 941 978 979 - 892 913 914 950 964 970 - 907 910 930 942 963 969 - 903 917 919 951 957 972 - 905 918 921 952 958 973 - 897 902 933 941 976 981 - 906 919 921 957 958 977 - 897 898 934 939 978 981 - 910 911 936 943 969 971 - 911 912 942 946 971 980 - 901 926 927 960 966 982 - 883 909 913 964 1000 1011 - 912 915 943 955 980 985 - 931 962 968 986 - 862 867 891 965 1034 1072 15292 - 680 721 837 994 1104 1143 1275 - 914 932 935 967 970 983 - 917 932 937 967 972 990 - 918 931 938 968 973 992 - 924 925 959 988 - 845 860 909 1000 1043 1088 - 915 927 946 966 985 995 - 346 435 621 908 1544 1576 1895 - 919 937 940 972 977 998 - 921 938 940 973 977 997 - 925 929 953 961 988 989 - 926 933 944 976 982 991 - 929 930 959 963 989 996 - 947 984 986 1001 - 930 936 961 969 996 999 - 913 935 945 970 1008 1011 - 891 928 948 979 1027 1034 - 927 944 955 982 995 1004 - 932 950 951 983 990 1003 - 931 947 952 986 992 1007 - 936 942 963 971 999 1005 - 935 950 964 983 1008 1009 - 942 943 969 980 1005 1010 - 937 951 957 990 998 1017 - 938 952 958 992 997 1012 - 869 916 922 993 1067 1074 - 876 922 923 993 1053 1071 - 933 939 960 981 991 1021 1025 - 940 957 958 997 998 1022 - 934 941 979 981 1018 1020 - 928 934 965 978 1020 1027 - 943 946 971 985 1010 1014 - 939 941 976 978 1018 1025 - 944 960 966 991 1004 1006 - 950 967 970 1003 1009 - 962 1001 1002 1015 - 946 955 980 995 1014 1023 - 947 962 968 1001 1007 1016 - 802 848 916 1067 1149 1200 - 953 959 989 1019 - 959 961 988 996 1019 1026 - 951 967 972 1003 1017 1038 - 960 976 982 1006 1021 1030 - 952 968 973 1007 1012 1029 - 922 974 975 1071 1074 - 837 864 949 1143 1170 15292 - 955 966 985 1004 1023 1032 - 961 963 989 999 1026 1031 - 958 973 977 1012 1022 1041 - 957 972 977 1017 1022 1048 - 963 969 996 1005 1031 1035 - 909 945 954 1011 1073 1088 - 962 984 986 1015 1016 1036 - 984 1015 1024 1039 - 967 983 990 1009 1038 1040 - 966 982 995 1006 1032 1033 - 969 971 999 1010 1035 1042 - 982 991 1004 1030 1033 - 968 986 992 1016 1029 1037 - 964 970 1009 1011 1044 1054 - 970 983 1003 1008 1040 1044 - 971 980 1005 1014 1042 1045 - 945 964 1000 1008 1054 1073 - 973 992 997 1029 1041 1047 - 656 848 908 1149 1433 1439 - 980 985 1010 1023 1045 1051 - 984 1001 1002 1036 1039 1052 - 986 1001 1007 1036 1037 1050 - 972 990 998 1038 1048 1086 - 978 981 1020 1025 1049 1060 - 988 989 1026 1055 - 978 979 1018 1027 1049 1078 - 976 991 1025 1030 1061 1075 - 977 997 998 1041 1048 1069 - 985 995 1014 1032 1051 1057 - 1002 1039 1046 1059 - 976 981 1018 1021 1060 1075 - 989 996 1019 1031 1055 1058 - 965 979 1020 1034 1078 1121 - 338 396 882 1249 2073 2171 - 992 1007 1012 1037 1047 1056 - 991 1006 1021 1033 1061 1062 - 996 999 1026 1035 1058 1064 - 995 1004 1023 1033 1057 1063 - 1004 1006 1030 1032 1062 1063 - 948 965 1027 1072 1121 1165 - 999 1005 1031 1042 1064 15293 - 1001 1015 1016 1050 1052 1065 - 1007 1016 1029 1050 1056 1066 - 990 1003 1017 1040 1086 1090 - 1002 1015 1024 1052 1059 1070 - 1003 1009 1038 1044 1080 1090 - 997 1012 1022 1047 1069 1077 - 1005 1010 1035 1045 1076 15293 - 860 923 954 1053 1088 1159 1204 - 1008 1009 1040 1054 1080 1085 - 1010 1014 1042 1051 1076 1082 - 1024 1059 1068 1083 - 1012 1029 1041 1056 1077 1079 - 998 1017 1022 1069 1086 1114 - 1018 1020 1060 1078 1100 - 1016 1036 1037 1065 1066 1081 - 1014 1023 1045 1057 1082 1089 - 1015 1036 1039 1065 1070 1087 - 923 975 1043 1071 1159 1179 - 1008 1011 1044 1073 1085 1112 - 1019 1026 1058 1091 - 1029 1037 1047 1066 1079 1084 - 1023 1032 1051 1063 1089 1092 - 1026 1031 1055 1064 1091 1094 - 1024 1039 1046 1070 1083 1095 - 1018 1025 1049 1075 1100 1110 - 1021 1030 1062 1075 1098 1108 - 1030 1033 1061 1063 1096 1098 - 1032 1033 1057 1062 1092 1096 - 1031 1035 1058 1094 1101 15293 - 1036 1050 1052 1081 1087 1099 - 1037 1050 1056 1081 1084 1093 - 916 974 987 1074 1200 1240 - 1046 1083 1097 1109 - 1022 1041 1048 1077 1114 1115 - 1039 1052 1059 1087 1095 1107 - 975 993 1053 1074 1162 1179 - 948 1034 1165 1170 1236 15292 - 1000 1011 1054 1088 1112 1183 - 974 993 1067 1071 1162 1240 - 1021 1025 1060 1061 1108 1110 1129 - 1042 1045 1082 1106 1113 15293 - 1041 1047 1069 1079 1103 1115 - 1020 1027 1049 1100 1121 1135 - 1047 1056 1077 1084 1102 1103 - 1040 1044 1085 1090 1117 1130 - 1050 1065 1066 1093 1099 1111 - 1045 1051 1076 1089 1113 1119 - 1046 1059 1068 1095 1109 1120 - 1056 1066 1079 1093 1102 1105 - 1044 1054 1080 1112 1117 - 1017 1038 1048 1090 1114 1137 1147 - 1052 1065 1070 1099 1107 1116 - 954 1000 1043 1073 1183 1204 1226 - 1051 1057 1082 1092 1119 1123 - 1038 1040 1080 1086 1130 1137 - 1055 1058 1094 1124 - 1057 1063 1089 1096 1123 1127 - 1066 1081 1084 1105 1111 1118 - 1058 1064 1091 1101 1124 1132 - 1059 1070 1083 1107 1120 1131 - 1062 1063 1092 1098 1127 1133 - 1068 1109 1122 1136 - 1061 1062 1096 1108 1133 1141 - 1065 1081 1087 1111 1116 1128 - 1049 1060 1078 1110 1134 1135 - 1064 1094 1106 1132 1139 15293 - 1079 1084 1103 1105 1125 1126 - 1077 1079 1102 1115 1125 1138 - 721 920 949 1275 1375 1471 - 1084 1093 1102 1118 1126 - 1076 1101 1113 1139 1144 15293 - 1070 1087 1095 1116 1131 1142 - 1061 1075 1098 1129 1141 1154 - 1068 1083 1097 1120 1136 1145 - 1060 1075 1100 1129 1134 1155 - 1081 1093 1099 1118 1128 1140 - 1054 1073 1085 1117 1160 1183 - 1076 1082 1106 1119 1144 1151 - 1048 1069 1086 1115 1147 1169 1176 - 1069 1077 1103 1114 1138 1169 - 1087 1099 1107 1128 1142 1153 - 1080 1085 1112 1130 1160 1174 - 1093 1105 1111 1126 1140 1148 - 1082 1089 1113 1123 1151 1158 - 1083 1095 1109 1131 1145 1157 - 1027 1034 1078 1135 1165 1186 1234 - 1097 1136 1152 1164 - 1089 1092 1119 1127 1158 1161 - 1091 1094 1132 1166 - 1102 1103 1126 1138 1150 1156 - 1102 1105 1118 1125 1148 1150 - 1092 1096 1123 1133 1161 1171 - 1099 1111 1116 1140 1153 1163 - 1075 1108 1110 1154 1155 1178 - 1080 1090 1117 1137 1174 1188 - 1095 1107 1120 1142 1157 1172 - 1094 1101 1124 1139 1166 1173 - 1096 1098 1127 1141 1171 1177 - 1100 1110 1135 1155 1167 - 1078 1100 1121 1134 1167 1186 - 1097 1109 1122 1145 1164 1180 - 1086 1090 1130 1147 1188 1189 - 1103 1115 1125 1156 1169 1187 - 1101 1106 1132 1144 1173 1182 - 1111 1118 1128 1148 1163 1175 - 1098 1108 1133 1154 1177 1190 - 1107 1116 1131 1153 1172 1184 - 949 994 1170 1275 1354 1412 - 1106 1113 1139 1151 1182 1193 - 1109 1120 1136 1157 1180 1192 - 268 293 372 2062 3697 4176 - 1086 1114 1137 1176 1189 1201 - 1118 1126 1140 1150 1175 1181 - 848 987 1013 1200 1433 1493 - 1125 1126 1148 1156 1181 1185 - 1113 1119 1144 1158 1193 1197 - 1122 1164 1191 1198 - 1116 1128 1142 1163 1184 1195 - 1108 1129 1141 1178 1190 1194 - 1110 1129 1134 1167 1178 1196 - 1125 1138 1150 1185 1187 - 1120 1131 1145 1172 1192 1199 - 1119 1123 1151 1161 1197 1203 - 1043 1053 1179 1204 1285 1314 - 1112 1117 1174 1183 1224 1242 - 1123 1127 1158 1171 1203 1205 - 1071 1074 1179 1240 1253 1297 - 1128 1140 1153 1175 1195 1202 - 1122 1136 1152 1180 1198 1206 - 1034 1072 1121 1234 1236 1291 - 1124 1132 1173 1207 - 1134 1135 1155 1186 1196 1222 - 284 301 446 882 2700 3287 4501 - 1114 1115 1138 1176 1187 1214 1216 - 994 1072 1143 1236 1349 1354 15292 - 1127 1133 1161 1177 1205 1211 - 1131 1142 1157 1184 1199 1209 - 1132 1139 1166 1182 1207 1212 - 1117 1130 1160 1188 1224 1230 - 1140 1148 1163 1181 1202 1208 - 1114 1147 1169 1201 1214 1228 - 1133 1141 1171 1190 1211 1221 - 1129 1154 1155 1194 1196 1217 - 1053 1071 1159 1162 1253 1285 - 1136 1145 1164 1192 1206 1215 - 1148 1150 1175 1185 1208 1210 - 1139 1144 1173 1193 1212 1223 - 1073 1088 1112 1160 1226 1242 1263 - 1142 1153 1172 1195 1209 1218 - 1150 1156 1181 1187 1210 1213 - 1121 1135 1167 1222 1234 1273 - 1138 1156 1169 1185 1213 1216 - 1130 1137 1174 1189 1220 1230 - 1137 1147 1188 1201 1220 1225 - 1141 1154 1177 1194 1221 1227 - 1152 1198 1219 1233 - 1145 1157 1180 1199 1215 1231 - 1144 1151 1182 1197 1223 1232 - 1154 1178 1190 1217 1227 - 1153 1163 1184 1202 1218 1229 - 1155 1167 1178 1217 1222 1252 - 1151 1158 1193 1203 1232 1237 - 1152 1164 1191 1206 1233 1239 - 1157 1172 1192 1209 1231 1238 - 987 1067 1149 1240 1382 1493 - 1147 1176 1189 1225 1228 1241 - 1163 1175 1195 1208 1229 1235 - 1158 1161 1197 1205 1237 1243 - 1043 1088 1159 1226 1314 1329 1369 - 1161 1171 1203 1211 1243 1250 - 1164 1180 1198 1215 1239 1248 - 1166 1173 1212 1251 - 1175 1181 1202 1210 1235 1244 - 1172 1184 1199 1218 1238 1247 - 1181 1185 1208 1213 1244 1245 - 1171 1177 1205 1221 1250 1258 - 1173 1182 1207 1223 1251 1257 - 1185 1187 1210 1216 1245 1255 - 1169 1176 1216 1228 1261 1265 - 1180 1192 1206 1231 1248 1262 - 1169 1187 1213 1214 1255 1261 - 1178 1194 1196 1227 1252 1266 - 1184 1195 1209 1229 1247 1260 - 1191 1233 1254 1268 - 1188 1189 1225 1230 1246 1259 - 1177 1190 1211 1227 1258 1267 - 1167 1186 1196 1252 1273 1311 - 1182 1193 1212 1232 1257 1270 - 1160 1174 1230 1242 1279 1294 - 1189 1201 1220 1241 1246 1256 - 1088 1183 1204 1263 1319 1329 - 1190 1194 1217 1221 1266 1267 - 1176 1201 1214 1241 1265 1271 - 1195 1202 1218 1235 1260 1269 - 1174 1188 1220 1224 1259 1279 - 1192 1199 1215 1238 1262 1272 - 1193 1197 1223 1237 1270 1276 - 1191 1198 1219 1239 1268 1274 - 1121 1165 1186 1273 1291 1345 - 1202 1208 1229 1244 1269 1277 - 1072 1165 1170 1291 1349 1356 - 1197 1203 1232 1243 1276 1283 - 1199 1209 1231 1247 1272 1281 - 1198 1206 1233 1248 1274 1282 - 1067 1074 1162 1200 1297 1382 1383 - 1201 1225 1228 1256 1271 1278 - 1160 1183 1224 1263 1294 1306 - 1203 1205 1237 1250 1283 1287 - 1208 1210 1235 1245 1277 1286 - 1210 1213 1244 1255 1286 1288 - 1220 1225 1256 1259 1280 1284 - 1209 1218 1238 1260 1281 1292 - 1206 1215 1239 1262 1282 1290 - 396 621 1028 1576 2073 2193 - 1205 1211 1243 1258 1287 1296 - 1207 1212 1257 1293 - 1196 1217 1222 1266 1308 1311 - 1162 1179 1285 1297 1357 - 1219 1268 1289 1299 - 1213 1216 1245 1261 1288 1295 - 1225 1241 1246 1278 1284 - 1212 1223 1251 1270 1293 1301 - 1211 1221 1250 1267 1296 1304 - 1220 1230 1246 1279 1280 1303 - 1218 1229 1247 1269 1292 1298 - 1214 1216 1255 1265 1295 1300 - 1215 1231 1248 1272 1290 1302 - 1183 1226 1242 1306 1319 - 348 527 612 2078 2587 15299 - 1214 1228 1261 1271 1300 1307 - 1217 1227 1252 1267 1308 1309 - 1221 1227 1258 1266 1304 1309 - 1219 1233 1254 1274 1299 1310 - 1229 1235 1260 1277 1298 1305 - 1223 1232 1257 1276 1301 15294 - 1228 1241 1265 1278 1307 1312 - 1231 1238 1262 1281 1302 1315 - 1186 1222 1234 1311 1345 1363 - 1233 1239 1268 1282 1310 1317 - 949 1104 1143 1412 1471 1551 - 1232 1237 1270 1283 1318 15294 - 1235 1244 1269 1286 1305 15295 - 1241 1256 1271 1284 1312 1316 - 1224 1230 1259 1294 1303 1325 - 1246 1259 1284 1303 1313 - 1238 1247 1272 1292 1315 1324 - 1239 1248 1274 1290 1317 1320 - 1237 1243 1276 1287 1318 1322 - 1246 1256 1278 1280 1313 1316 - 1159 1179 1253 1314 1357 1381 - 1244 1245 1277 1288 1321 15295 - 1243 1250 1283 1296 1322 1327 - 1245 1255 1286 1295 1321 1330 - 1254 1299 1323 1328 - 1248 1262 1282 1302 1320 1326 - 1165 1234 1236 1345 1356 1387 - 1247 1260 1281 1298 1324 1332 - 1251 1257 1301 1331 - 1224 1242 1279 1306 1325 1361 1368 - 1255 1261 1288 1300 1330 1339 - 1250 1258 1287 1304 1327 1336 - 1162 1240 1253 1357 1383 1418 - 1260 1269 1292 1305 1332 1334 - 1254 1268 1289 1310 1328 1337 - 1261 1265 1295 1307 1339 1343 - 1257 1270 1293 1331 1340 15294 - 1262 1272 1290 1315 1326 1338 - 1259 1279 1280 1313 1325 1333 - 1258 1267 1296 1309 1336 1341 - 1269 1277 1298 1334 1335 15295 - 1242 1263 1294 1319 1361 1374 - 1265 1271 1300 1312 1343 1347 - 1252 1266 1309 1311 1346 1355 - 1266 1267 1304 1308 1341 1346 - 1268 1274 1299 1317 1337 1342 - 1222 1252 1273 1308 1355 1363 1385 - 1271 1278 1307 1316 1347 1353 - 1280 1284 1303 1316 1333 1344 - 1159 1204 1285 1369 1381 1423 - 1272 1281 1302 1324 1338 1352 - 1278 1284 1312 1313 1344 1353 - 1274 1282 1310 1320 1342 1351 - 1276 1283 1322 1350 1359 15294 - 1226 1263 1306 1329 1374 1398 - 1282 1290 1317 1326 1351 1358 - 1286 1288 1330 1348 1366 15295 - 1283 1287 1318 1327 1359 1365 - 1289 1328 1360 1364 - 1281 1292 1315 1332 1352 1372 - 1279 1294 1303 1333 1367 1368 - 1290 1302 1320 1338 1358 1362 - 1287 1296 1322 1336 1365 1373 - 1289 1299 1323 1337 1364 1371 - 1204 1226 1319 1369 1398 1425 - 1288 1295 1321 1339 1366 1379 - 1293 1301 1340 1378 - 1292 1298 1324 1334 1372 1391 - 1303 1313 1325 1344 1367 1380 - 1298 1305 1332 1335 1377 1391 - 1305 1334 1348 1377 15295 - 1296 1304 1327 1341 1373 1384 - 1299 1310 1328 1342 1371 1376 - 1302 1315 1326 1352 1362 1370 - 1295 1300 1330 1343 1379 1390 - 1301 1331 1350 1378 1389 15294 - 1304 1309 1336 1346 1384 1394 - 1310 1317 1337 1351 1376 1386 - 1300 1307 1339 1347 1390 1392 - 1313 1316 1333 1353 1380 1395 - 1234 1273 1291 1363 1387 1414 1444 - 1308 1309 1341 1355 1394 1401 - 1307 1312 1343 1353 1388 1392 - 1321 1335 1366 1377 1403 15295 - 1170 1236 1354 1356 1475 1510 - 1318 1340 1359 1389 1397 15294 - 1317 1320 1342 1358 1386 1393 - 1315 1324 1338 1370 1372 1400 - 1312 1316 1344 1347 1388 1395 - 1143 1170 1349 1412 1510 1563 - 1308 1311 1346 1385 1401 1416 - 1236 1291 1349 1387 1475 1479 - 1253 1285 1297 1381 1418 1446 - 1320 1326 1351 1362 1393 1396 - 1318 1322 1350 1365 1397 1404 - 1323 1364 1402 1405 - 1294 1306 1368 1374 1410 1440 - 1326 1338 1358 1370 1396 1399 - 1273 1311 1345 1385 1414 1430 - 1323 1328 1360 1371 1405 1406 - 1322 1327 1359 1373 1404 1409 - 1321 1330 1348 1379 1403 1419 - 1325 1333 1368 1380 1413 1415 - 1294 1325 1361 1367 1410 1413 - 1204 1314 1329 1423 1425 1474 - 1338 1352 1362 1399 1400 1407 - 1328 1337 1364 1376 1406 1411 - 1324 1332 1352 1391 1400 1435 - 1327 1336 1365 1384 1409 1421 - 1306 1319 1361 1398 1440 1459 - 920 1104 1408 1471 1710 1766 - 1337 1342 1371 1386 1411 1417 - 1334 1335 1348 1391 1403 1432 - 1331 1340 1389 1424 - 1330 1339 1366 1390 1419 1428 - 1333 1344 1367 1395 1415 1437 - 1285 1314 1357 1423 1446 1481 - 1200 1240 1383 1493 1534 1595 - 1240 1297 1382 1418 1485 1534 - 1336 1341 1373 1394 1421 1431 - 1311 1355 1363 1416 1430 1450 - 1342 1351 1376 1393 1417 1422 - 1291 1345 1356 1444 1473 1479 - 1347 1353 1392 1395 1420 1447 - 1340 1350 1378 1397 1424 1436 - 1339 1343 1379 1392 1428 1429 - 1332 1334 1372 1377 1432 1435 1467 - 1343 1347 1388 1390 1420 1429 - 1351 1358 1386 1396 1422 1426 - 1341 1346 1384 1401 1431 15296 - 1344 1353 1380 1388 1437 1447 - 1358 1362 1393 1399 1426 1427 - 1350 1359 1389 1404 1436 1442 - 1319 1329 1374 1425 1459 1489 - 1362 1370 1396 1407 1427 1434 - 1352 1370 1372 1407 1435 1448 - 1346 1355 1394 1416 1453 15296 - 1360 1405 1441 1445 - 1348 1366 1377 1419 1432 1462 - 1359 1365 1397 1409 1442 1451 - 1360 1364 1402 1406 1445 1449 - 1364 1371 1405 1411 1449 1452 - 1370 1399 1400 1434 1448 - 870 920 1375 1443 1766 1962 - 1365 1373 1404 1421 1451 1458 - 1361 1368 1413 1440 1465 - 1371 1376 1406 1417 1452 1455 - 1143 1275 1354 1551 1563 1664 - 1367 1368 1410 1415 1454 1465 - 1345 1363 1430 1444 1472 1497 - 1367 1380 1413 1437 1454 1463 - 1355 1385 1401 1450 1453 1476 - 1376 1386 1411 1422 1455 1457 - 1297 1357 1383 1446 1485 1540 - 1366 1379 1403 1428 1462 1482 - 1388 1392 1429 1447 1469 - 1373 1384 1409 1431 1458 1466 - 1386 1393 1417 1426 1457 1460 - 1314 1369 1381 1474 1481 1513 - 1378 1389 1436 1468 - 1329 1369 1398 1474 1489 1509 - 1393 1396 1422 1427 1460 1461 - 1396 1399 1426 1434 1456 1461 - 1379 1390 1419 1429 1482 1484 - 1390 1392 1420 1428 1469 1484 - 1363 1385 1414 1450 1470 1472 - 1384 1394 1421 1466 1477 15296 - 1377 1391 1403 1462 1467 1527 - 1013 1149 1439 1493 1751 1812 - 1399 1407 1427 1448 1456 1464 - 1372 1391 1400 1448 1467 1480 1504 - 1389 1397 1424 1442 1468 1478 - 1380 1395 1415 1447 1463 1490 - 125 173 203 4201 6142 7847 14856 - 908 1013 1433 1544 1812 1903 - 1361 1374 1410 1459 1465 1502 - 1402 1445 1483 15298 - 1397 1404 1436 1451 1478 1486 - 809 870 1408 1962 1984 15297 - 1345 1387 1414 1473 1497 1516 - 1402 1405 1441 1449 1487 15298 - 1357 1381 1418 1481 1540 1562 - 1388 1395 1420 1437 1469 1490 1518 - 1400 1407 1434 1435 1464 1480 - 1405 1406 1445 1452 1487 1491 - 1385 1416 1430 1470 1476 1496 - 1404 1409 1442 1458 1486 1498 - 1406 1411 1449 1455 1491 1494 - 1401 1416 1476 1488 1503 15296 - 1413 1415 1463 1465 1492 - 1411 1417 1452 1457 1494 1499 - 1427 1434 1461 1464 1500 - 1417 1422 1455 1460 1499 1501 - 1409 1421 1451 1466 1498 1507 - 1374 1398 1440 1489 1502 1549 - 1422 1426 1457 1461 1501 1505 - 1426 1427 1456 1460 1500 1505 - 1403 1419 1432 1482 1527 1533 - 1415 1437 1454 1490 1492 1517 - 1434 1448 1456 1480 1500 1508 - 1410 1413 1440 1454 1492 1502 1530 - 1421 1431 1458 1477 1507 1511 - 1391 1432 1435 1504 1527 1542 - 1424 1436 1478 1512 - 1420 1429 1447 1484 1518 1536 - 1430 1450 1472 1496 1506 - 1104 1275 1375 1551 1701 1710 - 1414 1430 1470 1497 1506 1522 - 1387 1444 1479 1516 1524 - 1369 1423 1425 1509 1513 1539 - 1349 1356 1479 1510 1552 1615 - 1416 1450 1453 1496 1503 1514 - 1431 1466 1488 1511 1521 15296 - 1436 1442 1468 1486 1512 1519 - 1356 1387 1473 1475 1524 1552 - 1435 1448 1464 1504 1508 - 1381 1423 1446 1513 1562 1580 - 1419 1428 1462 1484 1533 1538 - 1441 1515 1520 15298 - 1428 1429 1469 1482 1536 1538 - 1383 1418 1534 1540 1567 - 1442 1451 1478 1498 1519 1529 - 1445 1449 1491 1523 1525 15298 - 1453 1477 1503 1521 1532 15296 - 1398 1425 1459 1509 1549 1573 - 1437 1447 1463 1517 1518 1564 - 1449 1452 1487 1494 1525 1528 - 1454 1463 1465 1517 1530 - 1149 1200 1382 1433 1595 1725 1751 - 1452 1455 1491 1499 1528 1531 - 544 797 1656 1882 2219 2312 - 1450 1470 1476 1506 1514 1526 - 1414 1444 1472 1516 1522 1557 - 1451 1458 1486 1507 1529 1537 - 1455 1457 1494 1501 1531 1535 - 1456 1461 1464 1505 1508 1546 15300 - 1457 1460 1499 1505 1535 1541 - 1440 1459 1465 1530 1549 1607 - 1453 1476 1488 1514 1532 1543 - 1435 1467 1480 1508 1542 1550 - 1460 1461 1500 1501 1541 15300 - 1470 1472 1496 1522 1526 1548 - 1458 1466 1498 1511 1537 1547 - 1464 1480 1500 1504 1546 1550 - 1425 1474 1489 1539 1573 1583 - 1349 1354 1475 1563 1615 1669 - 1466 1477 1507 1521 1547 1555 - 1468 1478 1519 1554 - 1423 1474 1481 1539 1580 1596 - 1476 1496 1503 1526 1543 1545 - 1483 1520 1553 1556 - 1444 1473 1497 1524 1557 1577 - 1463 1490 1492 1530 1564 1601 - 1447 1469 1490 1536 1564 1604 - 1478 1486 1512 1529 1554 1560 - 1483 1515 1523 1556 1558 15298 - 1477 1488 1511 1532 1555 1565 - 1472 1497 1506 1548 1557 1598 - 1487 1520 1525 1558 1559 15298 - 1473 1479 1516 1552 1577 1582 - 1487 1491 1523 1528 1559 1561 - 1496 1506 1514 1545 1548 1569 - 1432 1462 1467 1533 1542 1578 1587 - 1491 1494 1525 1531 1561 1566 - 1486 1498 1519 1537 1560 1570 - 1465 1492 1502 1517 1601 1607 - 1494 1499 1528 1535 1566 1568 - 1488 1503 1521 1543 1565 1571 - 1462 1482 1527 1538 1578 1592 - 1382 1383 1485 1567 1595 1639 - 1499 1501 1531 1541 1568 1572 - 1469 1484 1518 1538 1604 1606 - 1498 1507 1529 1547 1570 1575 - 1482 1484 1533 1536 1592 1606 - 1474 1509 1513 1583 1596 - 1418 1446 1485 1562 1567 1618 1643 - 1501 1505 1535 1572 1579 15300 - 1467 1504 1527 1550 1587 1605 - 1503 1514 1532 1545 1571 1574 - 908 956 1439 1895 1903 2125 - 1514 1526 1543 1569 1574 - 1500 1508 1550 1591 1611 15300 - 1507 1511 1537 1555 1575 1581 - 1506 1522 1526 1569 1598 1599 - 1459 1489 1502 1573 1607 1634 - 1504 1508 1542 1546 1605 1611 - 1275 1412 1471 1664 1701 1707 - 1475 1479 1524 1582 1615 1627 - 1515 1556 1584 1585 - 1512 1519 1560 1589 - 1511 1521 1547 1565 1581 1593 - 1515 1520 1553 1558 1585 1586 - 1497 1516 1522 1577 1598 1614 - 1520 1523 1556 1559 1586 1588 - 1523 1525 1558 1561 1588 1590 - 1519 1529 1554 1570 1589 1600 - 1525 1528 1559 1566 1590 1594 - 1446 1481 1540 1580 1618 1644 - 1354 1412 1510 1664 1669 1760 - 1490 1517 1518 1601 1604 1665 - 1521 1532 1555 1571 1593 1603 - 1528 1531 1561 1568 1594 1597 - 1485 1534 1540 1639 1643 - 1531 1535 1566 1572 1597 1602 - 1526 1545 1548 1574 1599 1608 - 1529 1537 1560 1575 1600 1610 - 1532 1543 1565 1574 1603 1609 - 1535 1541 1568 1579 1602 1612 - 1489 1509 1549 1583 1634 1661 - 1543 1545 1569 1571 1608 1609 - 1537 1547 1570 1581 1610 1613 - 621 956 1249 1895 2193 2805 - 1516 1524 1557 1582 1614 1631 - 1527 1533 1587 1592 1629 1648 - 1541 1572 1591 1612 1616 15300 - 1481 1513 1562 1596 1644 1670 - 1547 1555 1575 1593 1613 1622 - 1524 1552 1577 1627 1631 - 1509 1539 1573 1596 1661 1672 - 1553 1585 1617 1621 - 1553 1556 1584 1586 1621 15301 - 1556 1558 1585 1588 1619 15301 - 1527 1542 1578 1605 1629 1642 - 1558 1559 1586 1590 1619 1620 - 1554 1560 1600 1626 - 1559 1561 1588 1594 1620 1623 - 1546 1579 1611 1616 1635 15300 - 1533 1538 1578 1606 1648 1667 - 1555 1565 1581 1603 1622 1628 - 1561 1566 1590 1597 1623 1624 - 1382 1493 1534 1639 1725 1730 - 1513 1539 1580 1583 1670 1672 - 1566 1568 1594 1602 1624 1625 - 1522 1548 1557 1599 1614 1640 1662 - 1548 1569 1598 1608 1637 1640 - 1560 1570 1589 1610 1626 1632 - 1517 1530 1564 1607 1665 1694 - 1568 1572 1597 1612 1625 1630 - 1565 1571 1593 1609 1628 1633 - 1518 1536 1564 1606 1665 1676 - 1542 1550 1587 1611 1642 1645 - 1536 1538 1592 1604 1667 1676 - 1502 1530 1549 1601 1634 1694 1708 - 1569 1574 1599 1609 1637 1638 - 1571 1574 1603 1608 1633 1638 - 1570 1575 1600 1613 1632 1641 - 1546 1550 1591 1605 1635 1645 1659 - 1572 1579 1602 1616 1630 1636 - 1575 1581 1610 1622 1641 1647 - 1557 1577 1598 1631 1662 1677 - 1475 1510 1552 1627 1669 1698 1752 - 1579 1591 1612 1635 1636 1658 - 1584 1621 1654 1657 - 1540 1562 1643 1644 1688 - 1586 1588 1620 1652 1653 15301 - 1588 1590 1619 1623 1651 1652 - 1584 1585 1617 1655 1657 15301 - 1581 1593 1613 1628 1647 1663 - 1590 1594 1620 1624 1649 1651 - 1594 1597 1623 1625 1646 1649 - 1597 1602 1624 1630 1646 1650 - 1589 1600 1632 1666 - 1552 1582 1615 1631 1685 1698 - 1593 1603 1622 1633 1663 1668 - 1578 1587 1642 1648 1681 - 1602 1612 1625 1636 1650 1660 - 1577 1582 1614 1627 1677 1685 - 1600 1610 1626 1641 1666 1673 - 1603 1609 1628 1638 1668 1671 - 1549 1573 1607 1661 1708 1729 - 1591 1611 1616 1658 1659 1683 - 1612 1616 1630 1658 1660 - 1599 1608 1638 1640 1674 1679 - 1608 1609 1633 1637 1671 1674 - 1534 1567 1595 1643 1720 1730 - 1598 1599 1637 1662 1679 1695 - 1610 1613 1632 1647 1673 1680 - 1587 1605 1629 1645 1681 1697 - 1540 1567 1618 1639 1688 1720 - 1562 1580 1618 1670 1688 1739 - 1605 1611 1642 1659 1697 1703 - 1624 1625 1649 1650 1675 1678 - 1613 1622 1641 1663 1680 1689 - 1578 1592 1629 1667 1681 1705 - 1623 1624 1646 1651 1678 1682 - 1625 1630 1646 1660 1675 1693 - 1620 1623 1649 1652 1682 1684 - 1619 1620 1651 1653 1684 1686 - 1619 1652 1655 1686 1687 15301 - 1617 1657 1691 1692 - 1621 1653 1657 1687 1690 15301 - 544 813 1495 2019 2219 2790 - 1617 1621 1654 1655 1690 1692 - 1616 1635 1636 1660 1683 1712 - 1611 1635 1645 1683 1703 - 1630 1636 1650 1658 1693 1712 - 1573 1583 1634 1672 1729 1755 - 1598 1614 1640 1677 1695 1709 - 1622 1628 1647 1668 1689 1696 - 1412 1551 1563 1707 1760 1802 - 1564 1601 1604 1676 1694 1756 1761 - 1626 1632 1673 1700 - 1592 1606 1648 1676 1705 1735 - 1628 1633 1663 1671 1696 1699 - 1510 1563 1615 1752 1760 1833 - 1580 1596 1644 1672 1739 1758 - 1633 1638 1668 1674 1699 1704 - 1583 1596 1661 1670 1755 1758 - 1632 1641 1666 1680 1700 1706 - 1637 1638 1671 1679 1704 1711 - 1646 1650 1678 1693 1702 - 1604 1606 1665 1667 1735 1756 - 1614 1631 1662 1685 1709 1726 - 1646 1649 1675 1682 1702 1713 - 1637 1640 1674 1695 1711 1724 - 1641 1647 1673 1689 1706 1715 - 1629 1642 1648 1697 1705 1733 - 1649 1651 1678 1684 1713 1714 - 1635 1658 1659 1703 1712 1740 - 1651 1652 1682 1686 1714 1716 - 1627 1631 1677 1698 1726 1741 - 1652 1653 1684 1687 1716 1717 - 1653 1655 1686 1690 1717 1718 - 1618 1643 1644 1720 1739 1788 - 1647 1663 1680 1696 1715 1723 - 1655 1657 1687 1692 1718 1719 - 1654 1692 1721 1722 - 1654 1657 1690 1691 1719 1721 - 1650 1660 1675 1702 1712 1728 - 1601 1607 1665 1708 1761 1768 - 1640 1662 1679 1709 1724 1734 - 1663 1668 1689 1699 1723 1727 - 1642 1645 1681 1703 1733 1747 - 1615 1627 1685 1741 1752 1791 - 1668 1671 1696 1704 1727 1731 - 1666 1673 1706 1732 - 1471 1551 1707 1710 1832 1890 - 1675 1678 1693 1713 1728 1736 - 1645 1659 1683 1697 1740 1747 - 1671 1674 1699 1711 1731 1737 - 1648 1667 1681 1733 1735 1794 - 1673 1680 1700 1715 1732 1738 - 1551 1664 1701 1802 1832 - 1607 1634 1694 1729 1768 1787 - 1662 1677 1695 1726 1734 1759 - 1375 1471 1701 1766 1890 1919 - 1674 1679 1704 1724 1737 1749 - 1658 1660 1683 1693 1728 1740 1784 - 1678 1682 1702 1714 1736 1744 - 1682 1684 1713 1716 1742 1744 - 1680 1689 1706 1723 1738 1746 - 1684 1686 1714 1717 1742 1743 - 1686 1687 1716 1718 1743 1745 - 1687 1690 1717 1719 1745 1748 - 1690 1692 1718 1721 1748 1750 - 1639 1643 1688 1730 1788 1858 - 1691 1692 1719 1722 1750 1753 - 1691 1721 1753 1754 - 1689 1696 1715 1727 1746 1757 - 1679 1695 1711 1734 1749 1762 - 1493 1595 1730 1751 1924 1972 - 1677 1685 1709 1741 1759 1776 - 1696 1699 1723 1731 1757 1763 - 1693 1702 1712 1736 1782 1784 1789 - 1634 1661 1708 1755 1787 1815 - 1595 1639 1720 1725 1858 1924 - 1699 1704 1727 1737 1763 1765 - 1700 1706 1738 1764 - 1681 1697 1705 1747 1794 1805 - 1695 1709 1724 1759 1762 1771 - 1667 1676 1705 1756 1794 1822 - 1702 1713 1728 1744 1778 1782 - 1704 1711 1731 1749 1765 1769 - 1706 1715 1732 1746 1764 1767 - 1644 1670 1688 1758 1788 1819 - 1683 1703 1712 1747 1784 1806 1813 - 1685 1698 1726 1776 1791 1823 - 1714 1716 1743 1744 1772 1775 - 1716 1717 1742 1745 1770 1772 - 1713 1714 1736 1742 1775 1778 - 1717 1718 1743 1748 1770 1773 - 1715 1723 1738 1757 1767 1779 - 1697 1703 1733 1740 1805 1806 - 1718 1719 1745 1750 1773 1774 - 1711 1724 1737 1762 1769 1783 - 1719 1721 1748 1753 1774 1777 - 1433 1493 1725 1812 1972 2060 - 1615 1669 1698 1791 1833 1864 - 1721 1722 1750 1754 1777 1780 - 1722 1753 1780 1781 - 1661 1672 1729 1758 1815 1828 - 1665 1676 1735 1761 1818 1822 - 1723 1727 1746 1763 1779 1785 - 1670 1672 1739 1755 1819 1828 - 1709 1726 1734 1771 1776 1801 - 1563 1664 1669 1802 1833 1900 - 1665 1694 1756 1768 1818 1825 - 1724 1734 1749 1771 1783 1786 - 1727 1731 1757 1765 1785 1790 - 1732 1738 1767 1792 - 1731 1737 1763 1769 1790 1793 - 1375 1408 1710 1919 1962 2147 - 1738 1746 1764 1779 1792 1799 - 1694 1708 1761 1787 1825 1830 - 1737 1749 1765 1783 1793 1804 - 1743 1745 1772 1773 1795 1797 - 1734 1759 1762 1786 1801 1808 - 1742 1743 1770 1775 1795 1796 - 1745 1748 1770 1774 1797 1798 - 1748 1750 1773 1777 1798 1800 - 1742 1744 1772 1778 1796 1809 - 1726 1741 1759 1801 1823 1835 - 1750 1753 1774 1780 1800 1803 - 1736 1744 1775 1782 1809 1816 - 1746 1757 1767 1785 1799 1811 - 1753 1754 1777 1781 1803 1807 - 1754 1780 1807 1810 - 1728 1736 1778 1789 1816 1821 - 1749 1762 1769 1786 1804 1814 - 1712 1728 1740 1789 1813 1820 - 1757 1763 1779 1790 1811 1817 - 1762 1771 1783 1808 1814 - 1708 1729 1768 1815 1830 1892 - 1688 1720 1739 1819 1858 1914 - 1728 1782 1784 1820 1821 - 1763 1765 1785 1793 1817 1824 - 1698 1741 1752 1823 1864 15302 - 1764 1767 1799 1831 - 1765 1769 1790 1804 1824 1837 - 1705 1733 1735 1805 1822 1907 1922 - 1770 1772 1796 1797 1826 1827 - 1772 1775 1795 1809 1826 1836 - 1770 1773 1795 1798 1827 1829 - 1773 1774 1797 1800 1829 1834 - 1767 1779 1792 1811 1831 1840 - 1774 1777 1798 1803 1834 1838 - 1759 1771 1776 1808 1835 1845 1861 - 1664 1707 1760 1832 1900 1950 - 1777 1780 1800 1807 1838 1841 - 1769 1783 1793 1814 1837 1842 - 1733 1747 1794 1806 1897 1922 - 1740 1747 1805 1813 1873 1897 - 1780 1781 1803 1810 1841 1843 - 1771 1786 1801 1814 1844 1845 - 1775 1778 1796 1816 1836 1839 - 1781 1807 1843 1846 - 1779 1785 1799 1817 1840 1847 - 1433 1439 1751 1903 2060 2263 - 1740 1784 1806 1820 1856 1873 - 1783 1786 1804 1808 1842 1844 - 1729 1755 1787 1828 1892 1927 - 1778 1782 1809 1821 1839 1848 1850 - 1785 1790 1811 1824 1847 1849 - 1756 1761 1822 1825 1876 1891 - 1739 1758 1788 1828 1914 1937 - 1784 1789 1813 1821 1851 1856 - 1782 1789 1816 1820 1848 1851 - 1735 1756 1794 1818 1876 1907 - 1741 1776 1791 1835 1889 15302 - 1790 1793 1817 1837 1849 1860 - 1761 1768 1818 1830 1891 1893 - 1795 1796 1827 1836 1853 1854 - 1795 1797 1826 1829 1854 1855 - 1755 1758 1815 1819 1927 1937 - 1797 1798 1827 1834 1855 1857 - 1768 1787 1825 1892 1893 - 1792 1799 1840 1863 - 1701 1707 1802 1890 1950 2018 - 1669 1752 1760 1864 1900 1981 - 1798 1800 1829 1838 1857 1859 - 1776 1801 1823 1861 1880 1889 - 1796 1809 1826 1839 1852 1853 - 1793 1804 1824 1842 1860 1865 - 1800 1803 1834 1841 1859 1862 - 1809 1816 1836 1850 1852 - 1799 1811 1831 1847 1863 1867 - 1803 1807 1838 1843 1862 1866 - 1804 1814 1837 1844 1865 1869 - 1807 1810 1841 1846 1866 1870 - 1808 1814 1842 1845 1869 1871 - 1801 1808 1844 1861 1871 1887 - 1810 1843 1870 1872 - 1811 1817 1840 1849 1867 1874 - 1816 1821 1850 1851 1868 1877 - 1817 1824 1847 1860 1874 1883 - 1816 1839 1848 1852 1868 1875 - 1820 1821 1848 1856 1877 1886 - 1836 1839 1850 1853 1875 1878 - 1826 1836 1852 1854 1878 1879 - 1826 1827 1853 1855 1879 1881 - 1827 1829 1854 1857 1881 1884 - 1813 1820 1851 1873 1886 1921 - 1829 1834 1855 1859 1884 1885 - 1720 1730 1788 1914 1924 1997 - 1834 1838 1857 1862 1885 1888 - 1824 1837 1849 1865 1883 1896 - 1801 1835 1845 1880 1887 1909 - 1838 1841 1859 1866 1888 1894 - 1831 1840 1867 1899 - 1752 1791 1833 1980 1981 15302 - 1837 1842 1860 1869 1896 1902 - 1841 1843 1862 1870 1894 1901 - 1840 1847 1863 1874 1899 1905 - 1848 1850 1875 1877 1898 - 1842 1844 1865 1871 1902 1906 - 1843 1846 1866 1872 1901 1904 - 1844 1845 1869 1887 1906 1918 - 1846 1870 1904 1908 - 1806 1813 1856 1897 1921 1948 - 1847 1849 1867 1883 1905 1913 - 1850 1852 1868 1878 1898 1911 - 1818 1822 1891 1907 1961 - 1848 1851 1868 1886 1898 1916 - 1852 1853 1875 1879 1911 1912 - 1853 1854 1878 1881 1912 1915 - 1835 1861 1889 1909 1920 - 1854 1855 1879 1884 1910 1915 - 797 1495 2261 2312 3001 15297 - 1849 1860 1874 1896 1913 1925 - 1855 1857 1881 1885 1910 1917 - 1857 1859 1884 1888 1917 1923 - 1851 1856 1877 1916 1921 1951 - 1845 1861 1871 1909 1918 1931 - 1859 1862 1885 1894 1923 1926 - 1823 1835 1880 1920 1933 15302 - 1701 1710 1832 1919 2018 2083 - 1818 1825 1876 1893 1961 1986 - 1787 1815 1830 1893 1927 2012 2034 - 1825 1830 1891 1892 1986 2012 - 1862 1866 1888 1901 1926 1928 - 956 1544 1576 2125 2805 2889 - 1860 1865 1883 1902 1925 1930 - 1805 1806 1873 1922 1948 1978 - 1868 1875 1877 1911 1916 1929 - 1863 1867 1905 1934 - 1760 1802 1833 1950 1981 2026 - 1866 1870 1894 1904 1928 1932 - 1865 1869 1896 1906 1930 1938 - 1439 1544 1812 2125 2263 2489 - 1870 1872 1901 1908 1932 1939 - 1867 1874 1899 1913 1934 1941 - 1869 1871 1902 1918 1938 1946 - 1794 1822 1876 1922 1961 1991 - 1872 1904 1939 1944 - 1861 1880 1887 1920 1931 1942 - 1881 1884 1915 1917 1935 1936 - 1875 1878 1898 1912 1929 1945 - 1878 1879 1911 1915 1940 1945 - 1874 1883 1905 1925 1941 1949 - 1788 1819 1858 1937 1997 2037 - 1879 1881 1910 1912 1936 1940 - 1877 1886 1898 1929 1951 1963 - 1884 1885 1910 1923 1935 1943 - 1871 1887 1906 1931 1946 1954 - 1710 1766 1890 2083 2147 - 1880 1889 1909 1933 1942 1958 - 1856 1873 1886 1948 1951 1967 - 1794 1805 1897 1907 1978 1991 2027 - 1885 1888 1917 1926 1943 1947 - 1725 1730 1858 1972 1997 2063 - 1883 1896 1913 1930 1949 1953 - 1888 1894 1923 1928 1947 1952 - 1815 1828 1892 1937 2034 2056 - 1894 1901 1926 1932 1952 1957 - 1898 1911 1916 1945 1963 1973 - 1896 1902 1925 1938 1953 1959 - 1887 1909 1918 1942 1954 1955 - 1901 1904 1928 1939 1957 1960 - 1889 1920 1958 1980 1993 15302 - 1899 1905 1941 15303 - 1910 1917 1936 1943 1956 1968 - 1910 1915 1935 1940 1956 - 1819 1828 1914 1927 2037 2056 - 1902 1906 1930 1946 1959 1966 - 1904 1908 1932 1944 1960 1965 - 1912 1915 1936 1945 1956 1979 - 1905 1913 1934 1949 1969 15303 - 1909 1920 1931 1955 1958 1974 - 1917 1923 1935 1947 1968 1970 - 1908 1939 1965 1971 - 1911 1912 1929 1940 1973 1979 1995 - 1906 1918 1938 1954 1966 1977 - 1923 1926 1943 1952 1964 1970 - 1873 1897 1921 1967 1978 2007 - 1913 1925 1941 1953 1969 1976 - 1802 1832 1900 2018 2026 2116 - 1886 1916 1921 1963 1967 1983 - 1926 1928 1947 1957 1964 1975 - 1925 1930 1949 1959 1976 15304 - 1918 1931 1946 1955 1977 1982 - 1931 1942 1954 1974 1982 - 1935 1936 1940 1968 1979 2004 - 1928 1932 1952 1960 1975 1985 - 1920 1933 1942 1974 1993 2000 - 1930 1938 1953 1966 1990 15304 - 1932 1939 1957 1965 1985 1989 - 1876 1891 1907 1986 1991 2066 2079 - 1408 1443 1766 1984 2147 2685 2755 - 1916 1929 1951 1973 1983 1999 - 1947 1952 1970 1975 1988 - 1939 1944 1960 1971 1989 1994 - 1938 1946 1959 1977 1990 1998 - 1921 1948 1951 1983 2007 2009 - 1935 1943 1956 1970 2004 2006 - 1941 1949 1976 1992 1996 15303 - 1943 1947 1964 1968 1988 2006 - 1944 1965 1994 15305 - 1725 1751 1924 2060 2063 2195 - 1929 1945 1963 1995 1999 2008 - 1942 1955 1958 1982 2000 2003 - 1952 1957 1964 1985 1988 15306 - 1949 1953 1969 1996 2001 15304 - 1946 1954 1966 1982 1998 2002 - 1897 1922 1948 2007 2027 2058 - 1940 1945 1956 1995 2004 2011 - 1864 1933 1981 1993 2046 2085 15302 - 1833 1864 1900 1980 2026 2085 2117 - 1954 1955 1974 1977 2002 2003 - 1951 1963 1967 1999 2009 2014 - 1443 1962 2261 2755 3305 15297 - 1957 1960 1975 1989 2005 15306 - 1891 1893 1961 2012 2079 2082 - 302 446 894 3287 4973 5181 - 1964 1970 1975 2006 2020 15306 - 1960 1965 1985 1994 2005 2013 - 1959 1966 1998 2010 2016 15304 - 1907 1922 1961 2027 2066 2086 - 1969 1996 2015 15303 - 1933 1958 1980 2000 2040 2046 - 1965 1971 1989 2013 2017 15305 - 1945 1973 1979 2008 2011 2021 - 1969 1976 1992 2001 2015 2024 - 1858 1914 1924 2037 2063 2131 - 1966 1977 1990 2002 2016 2025 - 1963 1973 1983 2008 2014 2022 - 1958 1974 1993 2003 2035 2040 - 1976 1996 2010 2024 2030 15304 - 1977 1982 1998 2003 2025 2029 - 1974 1982 2000 2002 2029 2035 - 1956 1968 1979 2006 2011 2042 2052 - 1985 1989 2013 2028 2033 15306 - 1968 1970 1988 2004 2020 2052 2057 - 1948 1967 1978 2009 2053 2058 - 1973 1995 1999 2021 2022 2031 - 1967 1983 2007 2014 2048 2053 - 1990 2001 2016 2030 2036 15304 - 1979 1995 2004 2021 2032 2042 - 1892 1893 1986 2034 2082 2095 - 1989 1994 2005 2017 2033 2038 - 1983 1999 2009 2022 2041 2048 - 1992 1996 2024 2043 - 1990 1998 2010 2025 2036 2044 - 1994 2013 2023 2038 2045 15305 - 1832 1890 1950 2083 2116 2207 - 813 1656 2447 2790 3675 15299 - 1988 2006 2028 2057 2065 15306 - 1995 2008 2011 2031 2032 2047 - 1999 2008 2014 2031 2039 2041 - 2017 2045 2049 15305 - 1996 2001 2015 2030 2043 2050 - 1998 2002 2016 2029 2044 2051 - 1900 1950 1981 2116 2117 2214 - 1922 1978 1991 2058 2086 2114 - 2005 2020 2033 2065 2068 15306 - 2002 2003 2025 2035 2051 2067 - 2001 2010 2024 2036 2050 2055 - 2008 2021 2022 2039 2047 2054 - 2011 2021 2042 2047 2061 - 2005 2013 2028 2038 2068 2070 - 1892 1927 2012 2056 2095 2128 - 2000 2003 2029 2040 2067 2084 - 2010 2016 2030 2044 2055 2064 - 1914 1937 1997 2056 2131 2155 - 2013 2017 2033 2045 2070 2071 - 2022 2031 2041 2054 2059 - 1993 2000 2035 2046 2084 2099 - 2014 2022 2039 2048 2059 2072 - 2004 2011 2032 2052 2061 2074 - 2015 2024 2050 2075 - 2016 2025 2036 2051 2064 2069 - 2017 2023 2038 2049 2071 2077 - 1980 1993 2040 2085 2099 2133 - 2021 2031 2032 2054 2061 2076 - 2009 2014 2041 2053 2072 2096 - 2023 2045 2077 2080 - 2024 2030 2043 2055 2075 2081 - 2025 2029 2044 2067 2069 2088 - 2004 2006 2042 2057 2074 2093 2098 - 2007 2009 2048 2058 2096 2102 - 2031 2039 2047 2059 2076 2089 - 2030 2036 2050 2064 2081 2087 - 1927 1937 2034 2037 2128 2155 2190 - 2006 2020 2052 2065 2093 2094 - 1978 2007 2027 2053 2102 2114 2141 - 2039 2041 2054 2072 2089 2090 - 1751 1812 1972 2195 2263 2540 - 2032 2042 2047 2074 2076 2092 - 372 612 1146 2078 4176 4383 15374 - 1924 1972 1997 2131 2195 2326 - 2036 2044 2055 2069 2087 2091 - 2020 2028 2057 2068 2094 2100 - 1961 1991 2079 2086 2150 2174 - 2029 2035 2051 2084 2088 2109 - 2028 2033 2065 2070 2097 2100 - 2044 2051 2064 2088 2091 - 2033 2038 2068 2071 2097 2101 - 2038 2045 2070 2077 2101 2103 - 2041 2048 2059 2090 2096 2107 - 1028 1249 2171 2193 3690 3813 - 2042 2052 2061 2092 2098 2106 - 2043 2050 2081 2105 - 2047 2054 2061 2089 2092 2110 - 2045 2049 2071 2080 2103 2104 - 612 1264 2062 2587 4169 4383 - 1961 1986 2066 2082 2154 2174 - 2049 2077 2104 2108 - 2050 2055 2075 2087 2105 2112 - 1986 2012 2079 2095 2154 2163 - 1890 1919 2018 2147 2207 2364 - 2035 2040 2067 2099 2109 2134 - 1980 1981 2046 2117 2133 2203 - 1991 2027 2066 2114 2150 2165 - 2055 2064 2081 2091 2112 2120 - 2051 2067 2069 2091 2109 2121 - 2054 2059 2076 2090 2110 2115 - 2059 2072 2089 2107 2115 - 2064 2069 2087 2088 2120 2121 - 2061 2074 2076 2106 2110 2122 - 2052 2057 2094 2098 2111 2113 - 2057 2065 2093 2100 2113 2123 - 2012 2034 2082 2128 2160 2163 - 2048 2053 2072 2102 2107 2132 2142 - 2068 2070 2100 2101 2118 2130 - 2052 2074 2093 2106 2111 2119 2126 - 2040 2046 2084 2133 2134 2177 - 2065 2068 2094 2097 2123 2130 2146 - 2070 2071 2097 2103 2118 2124 2136 - 2053 2058 2096 2141 2142 2166 - 2071 2077 2101 2104 2124 2129 - 2077 2080 2103 2108 2129 2135 - 2075 2081 2112 2137 - 2074 2092 2098 2122 2126 2138 - 2072 2090 2096 2115 2132 2140 - 2080 2104 2135 2137 - 2067 2084 2088 2121 2134 2162 - 2076 2089 2092 2115 2122 2144 2148 - 2093 2098 2113 2119 2127 - 2081 2087 2105 2120 2137 2159 - 2093 2094 2111 2123 2127 2139 - 2027 2058 2086 2141 2165 2181 - 2089 2090 2107 2110 2140 2148 - 1950 2018 2026 2207 2214 2356 - 1981 2026 2085 2203 2214 2333 - 2097 2101 2130 2136 2145 - 2098 2111 2126 2127 15307 - 2087 2091 2112 2121 2159 2178 - 2088 2091 2109 2120 2162 2178 - 2092 2106 2110 2138 2144 2157 - 2094 2100 2113 2139 2146 2149 2152 - 2101 2103 2129 2136 2143 - 1544 1895 1903 2489 2889 2990 - 2098 2106 2119 2138 2156 15307 - 2111 2113 2119 2139 2151 15307 - 2034 2056 2095 2160 2190 2223 - 2103 2104 2124 2135 2143 2153 - 2097 2100 2118 2145 2146 2176 - 1997 2037 2063 2155 2326 2553 - 2096 2107 2140 2142 2167 2185 - 2046 2085 2099 2177 2203 2244 - 2084 2099 2109 2162 2177 2206 - 2104 2108 2129 2137 2153 2161 - 2101 2118 2124 2143 2145 2158 - 2105 2108 2112 2135 2159 2161 2189 - 2106 2122 2126 2156 2157 2169 - 2113 2123 2127 2149 2151 2164 - 2107 2115 2132 2148 2167 2175 - 2058 2102 2114 2166 2181 2201 2224 - 2096 2102 2132 2166 2185 2188 - 2124 2129 2136 2153 2158 2168 - 2110 2122 2148 2157 2172 2180 - 2118 2130 2136 2158 2176 2182 - 2100 2123 2130 2152 2173 2176 - 1766 1919 1962 2083 2364 2685 3003 - 2110 2115 2140 2144 2175 2180 - 2123 2139 2152 2164 2170 - 2066 2086 2165 2174 2213 2239 - 2127 2139 2164 2179 2183 15307 - 2123 2146 2149 2170 2173 - 2129 2135 2143 2161 2168 2184 - 2079 2082 2163 2174 2251 2255 - 2037 2056 2131 2190 2367 2553 - 2126 2138 2169 2179 2187 15307 - 2122 2138 2144 2169 2172 2186 - 2136 2143 2145 2168 2182 2192 - 2112 2120 2137 2178 2189 2217 - 2095 2128 2163 2223 2241 - 2135 2137 2153 2184 2189 - 2109 2121 2134 2178 2206 2230 - 2082 2095 2154 2160 2241 2255 - 2139 2149 2151 2170 2183 2191 - 2086 2114 2150 2181 2213 2242 - 2102 2141 2142 2188 2201 2210 - 2132 2140 2175 2185 2199 2211 - 2143 2153 2158 2184 2192 2202 - 2138 2156 2157 2186 2187 2197 - 2149 2152 2164 2173 2191 2196 - 882 1028 2073 2700 3813 4525 - 2144 2157 2180 2186 2194 - 2146 2152 2170 2176 2196 2198 - 2066 2079 2150 2154 2239 2251 2294 - 2140 2148 2167 2180 2199 2204 - 2130 2145 2146 2173 2182 2198 2205 - 2099 2133 2134 2206 2244 2284 - 2120 2121 2159 2162 2217 2230 2272 - 2151 2156 2183 2187 2200 2208 15307 - 2144 2148 2172 2175 2194 2204 - 2114 2141 2165 2224 2242 2286 - 2145 2158 2176 2192 2205 2218 - 2151 2164 2179 2191 2200 2212 - 2153 2161 2168 2189 2202 2226 - 2132 2142 2167 2188 2211 2216 2227 - 2157 2169 2172 2194 2197 2209 - 2156 2169 2179 2197 2208 2215 - 2142 2166 2185 2210 2216 2221 - 2137 2159 2161 2184 2217 2226 2254 - 2056 2128 2155 2223 2345 2367 - 2164 2170 2183 2196 2212 2220 - 2158 2168 2182 2202 2218 2229 - 1249 1576 2073 2805 3690 3839 - 2172 2180 2186 2204 2209 2228 - 1972 2060 2063 2326 2540 2724 - 2170 2173 2191 2198 2220 2225 - 2169 2186 2187 2209 2215 2222 - 2173 2176 2196 2205 2225 2232 - 2167 2175 2204 2211 2238 2247 - 2179 2183 2208 2212 2233 2234 - 2141 2166 2210 2224 2240 2260 - 2168 2184 2192 2226 2229 2253 - 2085 2117 2133 2244 2333 2373 - 2175 2180 2194 2199 2228 2247 15308 - 2176 2182 2198 2218 2232 2245 - 2134 2162 2177 2230 2284 2319 - 2018 2083 2116 2356 2364 2650 - 2179 2187 2200 2215 2233 2235 - 2186 2194 2197 2222 2228 2237 - 2166 2188 2201 2221 2236 2240 - 2167 2185 2199 2227 2238 2248 - 2183 2191 2200 2220 2234 2243 - 2150 2165 2239 2242 2285 - 2026 2116 2117 2333 2356 2557 - 2187 2197 2208 2222 2231 2235 - 2185 2188 2221 2227 2246 2249 - 2159 2178 2189 2254 2272 2306 - 2182 2192 2205 2229 2245 2256 - 1495 1656 2312 2790 3581 3809 - 2191 2196 2212 2225 2243 2252 - 2188 2210 2216 2236 2246 - 2197 2209 2215 2231 2237 2250 - 2128 2160 2190 2241 2345 2350 - 2141 2181 2201 2260 2286 2297 - 2196 2198 2220 2232 2252 2262 - 2184 2189 2202 2253 2254 2277 - 2185 2211 2216 2248 2249 2259 - 2194 2204 2209 2237 2267 2278 15308 - 2192 2202 2218 2253 2256 2275 - 2162 2178 2206 2272 2319 2346 - 2215 2222 2235 2250 2257 - 2198 2205 2225 2245 2262 2271 - 2200 2208 2234 2235 2264 2265 - 2200 2212 2233 2243 2265 2268 - 2208 2215 2231 2233 2257 2264 - 2210 2221 2240 2246 2270 2276 - 2209 2222 2228 2250 2267 2269 - 2199 2211 2247 2248 2273 2274 - 2150 2174 2213 2285 2294 2327 - 2201 2210 2236 2260 2276 2290 - 2160 2163 2223 2255 2350 2377 - 2165 2181 2213 2285 2286 2352 - 2212 2220 2234 2252 2268 2282 - 2133 2177 2203 2284 2373 15309 - 2205 2218 2232 2256 2271 2288 - 2216 2221 2236 2249 2258 2270 - 2199 2204 2238 2273 2287 15308 - 2211 2227 2238 2259 2274 2283 - 2216 2227 2246 2258 2259 2266 - 2222 2231 2237 2257 2269 2279 - 2154 2174 2255 2294 2414 2418 - 2220 2225 2243 2262 2282 2289 - 2202 2226 2229 2275 2277 2295 - 2189 2217 2226 2277 2306 2314 2329 - 2154 2163 2241 2251 2377 2414 - 2218 2229 2245 2275 2288 2302 - 2231 2235 2250 2264 2279 2291 - 2246 2249 2266 2270 2281 - 2227 2248 2249 2266 2280 2283 - 2201 2224 2240 2290 2297 2323 - 1882 1984 3001 3305 15297 15355 - 2225 2232 2252 2271 2289 2299 - 1812 1903 2060 2489 2540 3033 3271 - 2233 2235 2257 2265 2291 2296 - 2233 2234 2264 2268 2296 2301 - 2249 2258 2259 2280 2281 2292 - 2228 2237 2269 2278 2293 2303 - 2234 2243 2265 2282 2301 2311 - 2237 2250 2267 2279 2293 2305 - 2236 2246 2258 2276 2281 2308 2310 - 2232 2245 2262 2288 2299 2317 - 2178 2217 2230 2306 2346 2371 - 2238 2247 2274 2287 2307 2309 - 2238 2248 2273 2283 2304 2309 - 2229 2253 2256 2295 2302 2325 - 2236 2240 2270 2290 2310 2320 - 2226 2253 2254 2295 2314 2321 - 2228 2267 2300 2303 2316 15308 - 2250 2257 2269 2291 2305 2315 - 2259 2266 2283 2292 2298 - 2258 2266 2270 2292 2308 2313 - 2243 2252 2268 2289 2311 2324 - 2248 2259 2274 2280 2298 2304 - 2177 2206 2244 2319 2449 15309 - 2213 2239 2242 2327 2352 2393 - 2181 2224 2242 2297 2352 2376 2429 - 2247 2273 2300 2307 2318 15308 - 2245 2256 2271 2302 2317 2336 - 2252 2262 2282 2299 2324 2335 - 2240 2260 2276 2320 2323 2344 - 2257 2264 2279 2296 2315 2332 - 2266 2280 2281 2298 2313 2322 - 2267 2269 2303 2305 2330 - 2174 2239 2251 2327 2418 2443 - 2253 2275 2277 2321 2325 2347 - 2264 2265 2291 2301 2332 2338 - 2224 2260 2286 2323 2376 2379 - 2280 2283 2292 2304 2322 2328 - 2262 2271 2289 2317 2335 2357 - 2278 2287 2316 2318 2334 2341 15308 - 2265 2268 2296 2311 2338 2351 - 2256 2275 2288 2325 2336 2363 - 2267 2278 2293 2316 2330 2349 - 2274 2283 2298 2309 2328 2331 - 2269 2279 2293 2315 2330 2362 - 2217 2254 2272 2329 2371 2398 - 2273 2287 2309 2318 2339 2340 - 2270 2281 2310 2313 2342 2343 - 2273 2274 2304 2307 2331 2340 2353 - 2270 2276 2308 2320 2343 2355 - 2268 2282 2301 2324 2351 2360 - 1495 1882 2219 3001 3581 15350 - 2281 2292 2308 2322 2342 2348 - 2254 2277 2321 2329 2375 2400 - 2279 2291 2305 2332 2362 2372 - 2278 2300 2303 2341 2349 2361 - 2271 2288 2299 2336 2357 2383 - 2287 2300 2307 2334 2337 2339 - 2206 2230 2284 2346 2449 2507 - 2276 2290 2310 2344 2355 2374 - 2277 2295 2314 2347 2375 - 2292 2298 2313 2328 2348 2354 - 2260 2290 2297 2344 2379 2388 - 2282 2289 2311 2335 2360 2378 - 2275 2295 2302 2347 2363 2392 - 2063 2131 2195 2553 2724 2909 - 2239 2285 2294 2393 2443 2499 - 2298 2304 2322 2331 2354 2359 - 2254 2306 2314 2398 2400 - 2293 2303 2305 2349 2362 2387 - 2304 2309 2328 2353 2359 2369 - 2291 2296 2315 2338 2372 2386 - 2117 2203 2214 2373 2557 2638 2776 - 2300 2318 2337 2341 2365 2368 - 2289 2299 2324 2357 2378 2401 - 2288 2302 2317 2363 2383 2408 - 2318 2334 2339 2358 2365 - 2296 2301 2332 2351 2386 2394 - 2307 2318 2337 2340 2358 2366 - 2307 2309 2339 2353 2366 2370 - 2300 2316 2334 2361 2368 2384 - 2308 2313 2343 2348 2380 2381 - 2308 2310 2342 2355 2381 2390 - 2290 2320 2323 2374 2388 2403 - 2190 2223 2350 2367 2590 2742 - 2230 2272 2319 2371 2505 2507 - 2295 2321 2325 2375 2392 2417 - 2313 2322 2342 2354 2380 2385 - 2303 2316 2330 2361 2387 2397 - 2223 2241 2345 2377 2495 2590 - 2301 2311 2338 2360 2394 2405 - 2242 2285 2286 2393 2429 2480 2518 - 2309 2331 2340 2369 2370 2389 - 2322 2328 2348 2359 2385 2391 - 2310 2320 2343 2374 2390 2402 - 2116 2207 2214 2557 2650 2852 - 2299 2317 2335 2383 2401 2427 - 2337 2339 2365 2366 2382 - 2328 2331 2354 2369 2391 2399 - 2311 2324 2351 2378 2405 2421 - 2316 2341 2349 2384 2397 2407 - 2305 2315 2330 2372 2387 2415 2422 - 2302 2325 2336 2392 2408 2436 - 2083 2147 2207 2650 3003 3250 - 2334 2337 2358 2368 2382 2395 - 2339 2340 2358 2370 2382 2396 - 2155 2190 2345 2553 2742 2945 - 2334 2341 2365 2384 2395 2404 - 2331 2353 2359 2389 2399 2409 - 2340 2353 2366 2389 2396 2406 - 2272 2306 2346 2398 2505 2517 - 2315 2332 2362 2386 2415 2428 - 2203 2244 2333 2596 2638 15309 - 2320 2344 2355 2402 2403 2426 - 2314 2321 2347 2400 2417 2446 - 2286 2297 2379 2429 2454 2469 - 2241 2255 2350 2414 2495 2577 - 2324 2335 2360 2401 2421 2441 - 2297 2323 2376 2388 2434 2454 - 2342 2348 2381 2385 2411 2412 - 2342 2343 2380 2390 2411 2416 - 2358 2365 2366 2395 2396 2410 - 2317 2336 2357 2408 2427 2455 - 2341 2361 2368 2404 2407 2419 - 2348 2354 2380 2391 2412 2413 - 2332 2338 2372 2394 2428 2433 - 2330 2349 2362 2397 2422 2432 - 2323 2344 2379 2403 2434 2451 - 2353 2369 2370 2406 2409 2423 - 2343 2355 2381 2402 2416 2430 - 2354 2359 2385 2399 2413 2420 - 2325 2347 2363 2417 2436 15310 - 2285 2327 2352 2480 2499 2543 - 2338 2351 2386 2405 2433 2453 - 2365 2368 2382 2404 2410 2424 - 2366 2370 2382 2406 2410 2425 - 2349 2361 2387 2407 2432 2435 - 2306 2329 2371 2400 2477 2517 - 2359 2369 2391 2409 2420 2431 - 2314 2329 2375 2398 2446 2477 - 2335 2357 2378 2427 2441 2467 - 2355 2374 2390 2426 2430 2450 - 2344 2374 2388 2426 2451 2460 - 2368 2384 2395 2419 2424 2437 - 2351 2360 2394 2421 2453 2465 - 2370 2389 2396 2423 2425 2438 - 2361 2384 2397 2419 2435 2445 - 2336 2363 2383 2436 2455 2482 - 2369 2389 2399 2423 2431 2442 - 2382 2395 2396 2424 2425 2439 - 2380 2381 2412 2416 2440 2448 - 2380 2385 2411 2413 2440 2444 - 2385 2391 2412 2420 2444 2452 - 2251 2255 2377 2418 2577 2578 2608 - 2362 2372 2422 2428 2464 2468 - 2381 2390 2411 2430 2448 2456 - 2347 2375 2392 2446 2503 15310 - 2251 2294 2414 2443 2578 2614 - 2384 2404 2407 2437 2445 2462 - 2391 2399 2413 2431 2452 2457 - 2360 2378 2405 2441 2465 2481 - 2362 2387 2415 2432 2464 2485 - 2389 2406 2409 2438 2442 2461 - 2395 2404 2410 2437 2439 2459 - 2396 2406 2410 2438 2439 2458 - 2374 2402 2403 2450 2460 2472 - 2357 2383 2401 2455 2467 2492 - 2372 2386 2415 2433 2468 2479 - 2286 2352 2376 2469 2518 2522 - 2390 2402 2416 2450 2456 2466 - 2399 2409 2420 2442 2457 2463 - 2387 2397 2422 2435 2470 2485 - 2386 2394 2428 2453 2479 2488 - 2379 2388 2451 2454 2490 2494 - 2397 2407 2432 2445 2470 2475 - 2363 2392 2408 2482 2515 15310 - 2404 2419 2424 2459 2462 2474 - 2406 2423 2425 2458 2461 2473 - 2410 2424 2425 2458 2459 2471 - 2411 2412 2444 2448 - 2378 2401 2421 2467 2481 2504 - 2409 2423 2431 2461 2463 2476 - 2294 2327 2418 2499 2611 2614 - 2412 2413 2440 2452 - 2407 2419 2435 2462 2475 2478 - 2375 2400 2417 2477 2503 2534 - 2019 2587 3675 15299 15364 - 2411 2416 2440 2456 - 2284 2319 2507 2606 2641 15309 - 2402 2426 2430 2466 2472 2484 - 2388 2403 2434 2460 2490 2491 - 2413 2420 2444 2457 - 2394 2405 2433 2465 2488 2500 - 2376 2379 2434 2469 2494 2509 - 2383 2408 2427 2482 2492 2521 - 2416 2430 2448 2466 - 2420 2431 2452 2463 - 2425 2438 2439 2471 2473 15311 - 2424 2437 2439 2471 2474 2483 - 2403 2426 2451 2472 2491 2498 - 2423 2438 2442 2473 2476 2486 - 2419 2437 2445 2474 2478 2487 - 2431 2442 2457 2476 - 2415 2422 2468 2485 2508 2513 - 2405 2421 2453 2481 2500 2519 - 2430 2450 2456 2484 - 2401 2427 2441 2492 2504 2526 - 2415 2428 2464 2479 2508 2516 - 2376 2429 2454 2509 2522 2537 - 2432 2435 2475 2485 2502 2510 - 2439 2458 2459 2483 15311 15312 - 2426 2450 2460 2484 2498 2506 - 2438 2458 2461 2486 2497 15311 - 2437 2459 2462 2483 2487 2496 - 2435 2445 2470 2478 2493 2502 - 2442 2461 2463 2486 - 2398 2400 2446 2517 2534 2571 - 2445 2462 2475 2487 2493 2501 - 2428 2433 2468 2488 2516 2523 - 2352 2393 2518 2543 2551 2581 - 2421 2441 2465 2504 2519 2539 - 2408 2436 2455 2515 2521 2548 - 2459 2471 2474 2496 2511 15312 - 2450 2466 2472 2506 - 2422 2432 2464 2470 2510 2513 2532 - 2461 2473 2476 2497 - 2462 2474 2478 2496 2501 2514 - 2433 2453 2479 2500 2523 2536 - 1903 2125 2263 2990 3033 3393 - 2434 2451 2491 2494 2527 2530 - 2451 2460 2490 2498 2527 2529 - 2427 2455 2467 2521 2526 2554 - 2475 2478 2501 2502 2520 - 2434 2454 2490 2509 2530 2541 - 2350 2377 2577 2590 2692 - 2474 2483 2487 2511 2514 2525 - 2473 2486 2512 15311 - 2460 2472 2491 2506 2529 2531 - 2327 2393 2443 2543 2611 2612 - 2453 2465 2488 2519 2536 2550 - 2478 2487 2493 2514 2520 2528 - 2470 2475 2493 2510 2520 2533 - 2417 2446 2534 2546 2591 15310 - 2441 2467 2481 2526 2539 2561 - 2346 2371 2507 2517 2639 2674 - 2472 2484 2498 2531 - 2319 2346 2449 2505 2641 2674 2713 - 2464 2468 2513 2516 2545 2547 - 2454 2469 2494 2537 2541 2558 - 2470 2485 2502 2532 2533 2549 - 2483 2496 2524 2525 2538 15312 - 2497 2524 15311 15312 - 2464 2485 2508 2532 2545 2559 - 2487 2496 2501 2525 2528 2542 - 2436 2482 2546 2548 2585 15310 - 2468 2479 2508 2523 2547 2556 - 2371 2398 2477 2505 2571 2639 2669 - 2352 2429 2480 2522 2551 2576 2593 - 2465 2481 2500 2539 2550 2572 - 2493 2501 2502 2528 2533 2544 - 2455 2482 2492 2548 2554 2583 - 2429 2469 2518 2537 2575 2576 - 2479 2488 2516 2536 2556 2567 - 2511 2512 2538 15312 - 2496 2511 2514 2538 2542 2552 - 2467 2492 2504 2554 2561 15313 - 2490 2491 2529 2530 2563 2564 - 2501 2514 2520 2542 2544 2555 - 2491 2498 2527 2531 2562 2563 - 2490 2494 2527 2541 2564 2573 - 2498 2506 2529 2562 - 2485 2510 2513 2549 2559 2568 2569 - 2502 2510 2520 2544 2549 2560 - 2446 2477 2503 2571 2591 2637 - 226 275 361 5293 5550 6549 - 2488 2500 2523 2550 2567 2582 - 2469 2509 2522 2558 2575 2586 - 2511 2524 2525 2552 - 2481 2504 2519 2561 2572 2595 - 2060 2195 2263 2724 3271 3518 - 2494 2509 2530 2558 2573 2580 - 2514 2525 2528 2552 2555 2566 - 2393 2480 2499 2581 2612 2658 - 2520 2528 2533 2555 2560 2570 - 2508 2513 2547 2559 2584 2588 - 2503 2515 2585 2591 2630 15310 - 2508 2516 2545 2556 2584 2592 - 2482 2515 2521 2583 2585 2625 - 2510 2532 2533 2560 2569 2574 - 2500 2519 2536 2572 2582 2603 - 2480 2518 2581 2593 2618 - 2525 2538 2542 2566 - 2131 2155 2326 2367 2909 2945 3134 - 2492 2521 2526 2583 2621 15313 - 2528 2542 2544 2566 2570 2579 - 2516 2523 2547 2567 2592 2602 - 2214 2333 2356 2776 2852 3019 - 2509 2537 2541 2580 2586 2599 - 2513 2532 2545 2568 2588 15314 - 2533 2544 2549 2570 2574 2589 - 2504 2526 2539 2595 2623 15313 - 2529 2531 2563 2598 - 2527 2529 2562 2564 2598 2601 - 2527 2530 2563 2573 2601 2605 - 293 295 3697 3878 4830 4888 - 2542 2552 2555 2579 - 2523 2536 2556 2582 2602 2615 - 2532 2559 2569 2597 15314 - 2532 2549 2568 2574 2594 2597 - 2544 2555 2560 2579 2589 2600 - 2477 2517 2534 2637 2669 2695 - 2519 2539 2550 2595 2603 2629 - 2530 2541 2564 2580 2605 2609 - 2549 2560 2569 2589 2594 2604 - 2522 2537 2576 2586 2607 2610 - 2518 2522 2575 2593 2607 2624 - 2377 2414 2495 2608 2692 2759 - 2414 2418 2608 2614 2680 2687 - 2555 2566 2570 2600 - 2541 2558 2573 2599 2609 2628 - 2480 2543 2551 2618 2658 2666 - 2536 2550 2567 2603 2615 2635 - 2521 2548 2554 2621 2625 15315 - 2545 2547 2588 2592 2620 2626 - 2515 2546 2548 2625 2630 2665 - 2537 2558 2575 2599 2610 2622 - 1264 2078 2447 4169 15299 15364 - 2545 2559 2584 2619 2620 15314 - 2560 2570 2574 2600 2604 2613 - 2345 2350 2495 2692 2742 2811 - 2503 2534 2546 2630 2637 2671 - 2547 2556 2584 2602 2626 2632 - 2518 2551 2576 2618 2624 2645 - 2569 2574 2597 2604 2616 2627 - 2539 2561 2572 2623 2629 2651 - 2373 2606 2638 2753 2834 15309 - 2568 2569 2594 2616 2617 15314 - 2562 2563 2601 2634 - 2558 2580 2586 2622 2628 2631 - 2570 2579 2589 2613 - 2563 2564 2598 2605 2634 2642 - 2556 2567 2592 2615 2632 2648 - 2550 2572 2582 2629 2635 2659 - 2574 2589 2594 2613 2627 2633 - 2564 2573 2601 2609 2642 2647 - 2449 2596 2641 2752 2753 15309 - 2575 2576 2610 2624 2636 2657 - 2414 2577 2578 2680 2754 2759 - 2573 2580 2605 2628 2647 2652 - 2575 2586 2607 2622 2636 2646 - 2443 2499 2612 2614 2715 2716 - 2499 2543 2611 2658 2697 2715 - 2589 2600 2604 2633 - 2418 2443 2578 2611 2687 2716 2740 - 2567 2582 2602 2635 2648 2664 - 2594 2597 2617 2627 2640 2644 - 2597 2616 2619 2640 2643 15314 - 2551 2581 2593 2645 2666 2690 - 2588 2617 2620 2643 2649 15314 - 2584 2588 2619 2626 2649 2656 - 2554 2583 2653 2688 15313 15315 - 2586 2599 2610 2631 2646 2655 - 2561 2595 2651 2653 2676 15313 - 2576 2593 2607 2645 2657 2673 - 2548 2583 2585 2665 2703 15315 - 2584 2592 2620 2632 2656 2662 - 2594 2604 2616 2633 2644 2654 - 2580 2599 2609 2631 2652 2661 - 2572 2595 2603 2651 2659 2679 - 2546 2585 2591 2665 2671 2701 - 2599 2622 2628 2655 2661 - 2592 2602 2626 2648 2662 2675 - 2604 2613 2627 2654 - 2598 2601 2642 2672 - 2582 2603 2615 2659 2664 2684 - 2607 2610 2646 2657 2670 - 2534 2571 2591 2671 2695 2712 - 2333 2373 2596 2776 2834 2923 - 2505 2517 2669 2674 2761 2768 - 2616 2617 2643 2644 2660 2663 - 2449 2507 2606 2713 2752 2809 - 2601 2605 2634 2647 2672 2678 - 2617 2619 2640 2649 2660 2667 - 2616 2627 2640 2654 2663 2668 - 2593 2618 2624 2673 2690 2711 - 2610 2622 2636 2655 2670 2677 - 2605 2609 2642 2652 2678 2683 - 2602 2615 2632 2664 2675 2694 - 2619 2620 2643 2656 2667 2681 - 2207 2356 2364 2852 3250 3316 - 2595 2623 2629 2676 2679 2699 - 2609 2628 2647 2661 2683 2686 - 2621 2623 2676 2688 2705 15313 - 2627 2633 2644 2668 - 2622 2631 2646 2661 2677 2691 - 2620 2626 2649 2662 2681 2693 - 2607 2624 2636 2670 2673 2702 - 2543 2581 2612 2666 2697 2726 2736 - 2603 2629 2635 2679 2684 2706 - 2640 2643 2663 2667 2682 - 2628 2631 2652 2655 2686 2691 - 2626 2632 2656 2675 2693 2698 - 2640 2644 2660 2668 2682 2689 - 2615 2635 2648 2684 2694 2707 - 2585 2625 2630 2701 2703 2738 - 2581 2618 2658 2690 2726 2729 - 2643 2649 2660 2681 2682 2696 - 2644 2654 2663 2689 - 2517 2571 2639 2695 2764 2768 - 2636 2646 2657 2677 2702 2710 - 2591 2630 2637 2701 2712 2732 - 2634 2642 2678 2708 - 2624 2645 2657 2702 2711 2746 - 2505 2507 2639 2713 2761 2774 - 2632 2648 2662 2694 2698 15316 - 2623 2651 2653 2699 2705 2721 - 2646 2655 2670 2691 2710 2717 - 2642 2647 2672 2683 2708 2714 - 2629 2651 2659 2699 2706 2725 - 2578 2608 2687 2750 2754 - 2649 2656 2667 2693 2696 2709 2722 - 2660 2663 2667 2689 2696 2704 - 2647 2652 2678 2686 2714 2719 - 2635 2659 2664 2706 2707 2735 - 1962 2147 2755 3003 3755 3759 - 2652 2661 2683 2691 2718 2719 - 2578 2614 2680 2740 2750 2757 - 2621 2653 2705 2727 2734 15315 - 2663 2668 2682 2704 - 2618 2645 2666 2711 2729 2733 - 2655 2661 2677 2686 2717 2718 - 2495 2577 2590 2759 2811 2870 - 2656 2662 2681 2698 2709 2720 - 2648 2664 2675 2707 2728 15316 - 2571 2637 2669 2712 2762 2764 - 2667 2681 2682 2704 2722 2723 - 2612 2658 2715 2736 2766 - 2662 2675 2693 2720 2731 15316 - 2651 2676 2679 2721 2725 2741 - 882 1168 2171 4501 4525 4893 - 2630 2665 2671 2732 2738 2778 - 2657 2670 2673 2710 2746 2747 - 2625 2665 2727 2738 2787 2801 15315 - 2682 2689 2696 2723 - 2653 2676 2688 2721 2734 2739 - 2659 2679 2684 2725 2735 2749 - 2664 2684 2694 2728 2735 2760 - 2672 2678 2714 2743 - 2681 2693 2720 2722 2730 2737 - 2670 2677 2702 2717 2747 15318 - 2645 2673 2690 2733 2746 2758 - 2637 2671 2695 2732 2762 2771 - 2507 2641 2674 2774 2809 2828 2868 - 2678 2683 2708 2719 2743 2745 - 2611 2612 2697 2716 2766 2784 2817 - 2611 2614 2715 2740 2784 2788 - 2677 2691 2710 2718 2748 15318 - 2686 2691 2717 2719 2748 15320 - 2683 2686 2714 2718 2745 15320 - 2693 2698 2709 2731 2737 15319 - 2676 2699 2705 2739 2741 2756 - 2681 2696 2709 2723 2730 15317 - 2696 2704 2722 15317 - 2195 2326 2540 2909 3336 3518 - 2679 2699 2706 2741 2749 2779 - 2658 2666 2729 2736 2765 2772 - 2688 2703 2734 2783 2787 15315 - 2694 2707 2744 2760 2773 15316 - 2666 2690 2726 2733 2765 2767 - 2709 2722 2737 2751 15317 - 2698 2720 2744 2763 15316 15319 - 2671 2701 2712 2771 2778 2807 - 2690 2711 2729 2758 2767 2769 - 2688 2705 2727 2739 2775 2783 - 2684 2706 2707 2749 2760 2785 2789 - 2658 2697 2726 2766 2772 2798 - 2709 2720 2730 2751 2770 15319 - 2665 2701 2703 2778 2801 15322 - 2705 2721 2734 2756 2775 - 2614 2687 2716 2757 2788 2819 - 2699 2721 2725 2756 2779 2795 - 2345 2367 2590 2811 2945 3067 3137 - 2708 2714 2745 2782 - 2728 2731 2763 2773 2781 15316 - 2714 2719 2743 2782 2786 15320 - 2673 2702 2711 2747 2758 2799 2804 - 2702 2710 2746 2794 2799 15318 - 2717 2718 2791 2793 15318 15320 - 2706 2725 2735 2779 2785 2816 - 2680 2687 2754 2757 2831 2856 - 2730 2737 2770 2777 15317 - 2606 2641 2753 2809 2854 2901 - 2596 2606 2752 2834 2901 2960 - 2608 2680 2750 2759 2856 2905 - 1962 1984 2685 3305 3759 3960 - 2721 2739 2741 2775 2795 2813 - 2687 2740 2750 2819 2831 - 2711 2733 2746 2769 2804 2808 - 2577 2608 2692 2754 2870 2905 2973 - 2707 2728 2735 2773 2789 2792 - 2639 2674 2768 2774 2857 2863 - 2695 2712 2764 2771 2829 2847 - 2731 2744 2780 2781 15319 15321 - 2669 2695 2762 2768 2847 15323 - 2726 2729 2767 2772 2797 2803 - 2697 2715 2736 2798 2817 2823 - 2729 2733 2765 2769 2803 2806 - 2639 2669 2761 2764 2863 15323 - 2733 2758 2767 2806 2808 - 2737 2751 2777 2780 2796 15319 - 2712 2732 2762 2807 2829 - 2726 2736 2765 2797 2798 2824 - 2728 2744 2760 2781 2792 2802 - 2674 2713 2761 2828 2857 - 2734 2739 2756 2783 2813 2821 - 2333 2557 2638 2923 3019 3122 - 2751 2770 2796 - 2701 2732 2738 2807 2850 15322 - 2725 2741 2749 2795 2816 2841 - 2763 2770 2796 2800 15319 15321 - 2744 2763 2773 2802 2810 15321 - 2743 2745 2786 2822 - 2727 2734 2775 2787 2821 2826 - 2715 2716 2788 2817 2849 2862 - 2735 2749 2789 2812 2816 2839 - 2745 2782 2791 2822 2827 15320 - 2703 2727 2783 2801 2826 2837 - 2716 2740 2784 2819 2849 2861 - 2735 2760 2785 2792 2812 2815 - 1656 2019 2219 3675 3809 4157 - 2748 2786 2793 2827 2832 15320 - 2760 2773 2789 2802 2815 2820 - 2748 2791 2794 2832 2835 15318 - 2747 2793 2799 2835 2840 15318 - 2741 2756 2779 2813 2841 2858 - 2770 2777 2780 2800 2818 - 2765 2772 2803 2824 2833 - 2736 2766 2772 2823 2824 2866 - 2746 2747 2794 2804 2840 2842 - 2780 2796 2814 2818 15321 - 2703 2738 2787 2837 2855 15322 - 2773 2781 2792 2810 2820 2825 - 2765 2767 2797 2806 2833 2838 - 2746 2758 2799 2808 2842 2846 - 1576 1895 2193 2889 3839 3931 4130 - 2767 2769 2803 2808 2838 2845 - 2732 2771 2778 2829 2850 2882 - 2758 2769 2804 2806 2845 2846 - 2641 2713 2752 2854 2868 2916 - 2781 2802 2814 2825 2830 15321 - 2590 2692 2742 2870 3008 3067 - 2785 2789 2815 2839 2843 - 2756 2775 2795 2821 2858 2860 - 2800 2810 2818 2830 2836 15321 - 2789 2792 2812 2820 2843 2844 - 2749 2779 2785 2839 2841 2867 2879 - 2715 2766 2784 2823 2862 2880 2900 - 2796 2800 2814 2836 - 2740 2757 2788 2831 2861 2898 - 2792 2802 2815 2825 2844 2848 - 2775 2783 2813 2826 2860 2869 - 2782 2786 2827 2859 - 2766 2798 2817 2866 2880 - 2772 2797 2798 2833 2866 2877 - 2802 2810 2820 2830 2848 2851 - 2783 2787 2821 2837 2869 2875 - 2786 2791 2822 2832 2859 2872 - 2713 2774 2857 2868 15326 - 2762 2771 2807 2847 2882 15325 - 2810 2814 2825 2836 2851 2853 - 2750 2757 2819 2856 2898 2944 - 2791 2793 2827 2835 2872 2874 - 2797 2803 2824 2838 2877 2881 - 2596 2638 2753 2923 2960 3057 - 2793 2794 2832 2840 2874 2878 - 2814 2818 2830 2853 - 2787 2801 2826 2855 2875 2885 - 2803 2806 2833 2845 2881 2886 - 2785 2812 2816 2843 2864 2867 - 2794 2799 2835 2842 2878 2883 - 2779 2795 2816 2858 2879 2887 - 2799 2804 2840 2846 2883 2884 - 2812 2815 2839 2844 2864 2865 - 2815 2820 2843 2848 2865 2871 - 2806 2808 2838 2846 2886 2888 - 2804 2808 2842 2845 2884 2888 - 2762 2764 2829 2957 15323 15325 - 2820 2825 2844 2851 2871 2873 - 2784 2788 2861 2862 2902 2939 - 2778 2807 2882 2896 2925 15322 - 2825 2830 2848 2853 2873 2876 - 2356 2557 2650 3019 3316 3404 - 2830 2836 2851 2876 - 2752 2809 2901 2916 15329 - 2801 2837 2885 2893 2899 15322 - 2750 2754 2831 2905 2944 2998 - 2761 2774 2828 2863 2952 15326 - 2795 2813 2841 2860 2887 2906 2907 2935 - 2822 2827 2872 2903 - 2813 2821 2858 2869 2907 2918 - 2788 2819 2849 2898 2939 2965 - 2784 2817 2849 2900 2902 2936 - 2761 2768 2857 2952 3005 15323 - 2839 2843 2865 2867 2890 2891 - 2843 2844 2864 2871 2890 2892 - 2798 2823 2824 2877 2880 2929 2930 - 2816 2839 2864 2879 2891 2895 - 2713 2809 2828 2916 3002 15326 - 2821 2826 2860 2875 2912 2918 - 2692 2759 2811 2973 3008 3066 - 2844 2848 2865 2873 2892 2894 - 2827 2832 2859 2874 2903 2908 - 2848 2851 2871 2876 2894 2897 - 2832 2835 2872 2878 2908 2920 - 2826 2837 2869 2885 2912 2915 - 2851 2853 2873 2897 - 2824 2833 2866 2881 2930 2932 - 2835 2840 2874 2883 2920 2924 - 2816 2841 2867 2887 2895 2904 15324 - 2817 2823 2866 2900 2929 2941 - 2833 2838 2877 2886 2931 2932 - 2807 2829 2850 2925 2971 15325 - 2840 2842 2878 2884 2924 2926 - 2842 2846 2883 2888 2926 2928 - 2837 2855 2875 2899 2915 2922 - 2838 2845 2881 2888 2931 2934 - 2841 2858 2879 2906 2921 15324 - 2845 2846 2884 2886 2928 2934 - 1895 2125 2805 2990 3748 3931 - 2864 2865 2891 2892 2910 2913 - 2864 2867 2890 2895 2910 2911 - 2865 2871 2890 2894 2913 2917 - 2855 2896 2899 2933 2938 15322 - 2871 2873 2892 2897 2917 2919 - 2867 2879 2891 2904 2911 2914 - 2850 2893 2925 2938 2968 15322 - 2873 2876 2894 2919 - 2819 2831 2861 2944 2965 3011 - 2855 2885 2893 2922 2933 - 2817 2862 2880 2936 2941 2955 - 2752 2753 2854 2960 3125 15329 - 2849 2862 2936 2939 2967 - 2859 2872 2908 2954 - 2879 2895 2914 2927 2937 15324 - 2754 2759 2856 2973 2998 3060 - 2858 2887 2921 2935 2943 - 2858 2860 2918 2935 2951 2959 - 2872 2874 2903 2920 2954 2963 - 2326 2553 2724 3134 3336 3496 - 2890 2891 2911 2913 2942 15327 - 2891 2895 2910 2914 2940 2942 - 2869 2875 2915 2918 2949 2956 15328 - 2890 2892 2910 2917 2946 15327 - 2895 2904 2911 2937 2940 - 2875 2885 2912 2922 2953 2956 - 2809 2854 2868 3002 3083 15329 - 2892 2894 2913 2919 2946 2947 - 2860 2869 2907 2912 2949 2951 2974 - 2894 2897 2917 2947 - 2874 2878 2908 2924 2963 2972 - 2887 2906 2927 2943 2948 15324 - 2885 2899 2915 2933 2953 2962 - 2638 2776 2834 3057 3122 3206 - 2878 2883 2920 2926 2972 2975 - 2850 2882 2896 2968 2971 3010 - 2883 2884 2924 2928 2975 2977 - 2904 2921 2937 2948 2950 15324 - 2884 2888 2926 2934 2977 2979 - 2866 2880 2930 2941 2986 2989 - 2866 2877 2929 2932 2982 2986 - 2881 2886 2932 2934 2984 2985 - 2877 2881 2930 2931 2982 2985 - 2893 2899 2922 2938 2962 2970 - 2886 2888 2928 2931 2979 2984 - 2858 2906 2907 2943 2959 2981 - 2862 2900 2902 2955 2967 2999 - 2904 2914 2927 2940 2950 2958 - 2893 2896 2933 2968 2970 2992 - 2849 2861 2902 2965 2967 3007 - 2911 2914 2937 2942 2958 2961 - 2880 2900 2929 2955 2978 2989 - 2910 2911 2940 2961 2964 15327 - 2906 2921 2935 2948 2976 2981 - 2831 2856 2898 2998 3011 3068 - 2367 2553 2742 3134 3137 3311 3483 - 2913 2917 2947 2966 2969 15327 - 2917 2919 2946 2969 - 2921 2927 2943 2950 2976 2983 - 2912 2918 2974 2987 15328 - 2927 2937 2948 2958 2983 2988 - 2907 2918 2959 2974 2980 15330 - 2857 2863 3005 3044 3077 15326 - 2915 2922 2956 2962 3000 3014 - 2903 2908 2963 3009 - 2900 2936 2941 2978 2999 3024 - 2912 2915 2953 2994 3000 15328 - 2847 3015 3030 15323 15325 15331 - 2937 2940 2950 2961 2988 2991 - 2907 2935 2951 2980 2981 2996 - 2753 2834 2901 3057 3125 3169 - 2940 2942 2958 2964 2991 2993 - 2922 2933 2953 2970 3014 3029 - 2908 2920 2954 2972 3009 3018 - 2942 2961 2966 2993 2995 15327 - 2861 2898 2939 3007 3011 3062 - 2946 2964 2969 2995 2997 15327 - 2902 2936 2939 2999 3007 3046 - 2896 2925 2938 2992 3010 3031 - 2946 2947 2966 2997 - 2933 2938 2962 2992 3027 3029 - 2882 2925 3010 3015 3042 15325 - 2920 2924 2963 2975 3018 3028 - 2759 2870 2905 3060 3066 3140 - 2918 2949 2951 2987 3004 15330 - 2924 2926 2972 2977 3028 3032 - 2943 2948 2981 2983 3012 3013 - 2926 2928 2975 2979 3032 3035 - 2941 2955 2989 3024 3040 - 2928 2934 2977 2984 3035 3039 - 2951 2959 2996 3006 15330 - 2935 2943 2959 2976 2996 3012 3020 - 2930 2932 2985 2986 3037 3043 - 2948 2950 2976 2988 3013 3016 - 2931 2934 2979 2985 3039 3045 - 2931 2932 2982 2984 3043 3045 - 2929 2930 2982 2989 3037 3038 - 2949 2974 2994 3004 3034 15328 - 2950 2958 2983 2991 3016 3017 - 2929 2941 2978 2986 3038 3040 - 2125 2489 2889 3393 3716 3748 - 2958 2961 2988 2993 3017 3021 - 2938 2968 2970 3027 3031 - 2961 2964 2991 2995 3021 3023 - 2956 2987 3000 3034 3036 15328 - 2964 2966 2993 2997 3023 3026 - 2959 2980 2981 3006 3020 3022 - 2966 2969 2995 3026 - 2856 2905 2944 3060 3068 3141 - 2936 2955 2967 3024 3046 3065 - 2953 2956 2994 3014 3036 3056 - 1882 2261 2312 3994 15350 15355 - 2868 2916 3044 3083 3136 15326 - 2147 2364 2685 3250 3755 3760 - 2974 2987 3025 3034 3055 15330 - 2863 2952 3030 3077 3127 15323 15334 - 2980 2996 3022 3025 3041 15330 - 2939 2965 2967 3046 3062 3100 - 2811 2870 3066 3067 3159 3193 - 2954 2963 3018 3064 - 2925 2968 2971 3031 3042 3069 3082 - 2898 2944 2965 3062 3068 3120 - 2976 2981 3013 3020 3047 3051 - 2976 2983 3012 3016 3047 3048 - 2953 2962 3000 3029 3056 3059 - 2957 2971 3042 3073 3089 15325 15331 - 2983 2988 3013 3017 3048 3049 - 2988 2991 3016 3021 3049 3052 - 2963 2972 3009 3028 3064 3072 - 2557 2776 2852 3122 3404 3407 - 2981 2996 3012 3022 3050 3051 - 2991 2993 3017 3023 3052 3053 - 2996 3006 3020 3041 3050 - 2993 2995 3021 3026 3053 3054 - 2955 2978 2999 3040 3065 3087 - 3004 3006 3041 3055 3058 15330 - 2995 2997 3023 3054 - 2970 2992 3029 3031 3061 3063 - 2972 2975 3018 3032 3072 3081 - 2962 2970 3014 3027 3059 3061 3070 - 2957 3005 3112 15323 15331 15334 - 2968 2992 3010 3027 3063 3082 - 2975 2977 3028 3035 3081 3085 - 2263 2489 3271 3393 3596 3667 - 2987 2994 3004 3036 3055 3080 3084 - 2977 2979 3032 3039 3085 3092 - 2994 3000 3034 3056 3080 3086 - 2982 2986 3038 3043 3093 3097 - 2986 2989 3037 3040 3090 3093 - 2979 2984 3035 3045 3092 3095 - 2978 2989 3024 3038 3087 3090 - 3006 3022 3025 3050 3058 15332 - 2971 3010 3015 3069 3089 3110 - 2982 2985 3037 3045 3097 3099 - 2952 3002 3077 3136 3192 15326 - 2984 2985 3039 3043 3095 3099 - 2967 2999 3007 3065 3100 3118 - 3012 3013 3048 3051 3071 15333 - 3013 3016 3047 3049 3074 15333 - 3016 3017 3048 3052 3074 3076 - 3020 3022 3041 3051 3075 15332 - 3012 3020 3047 3050 3071 3075 - 3017 3021 3049 3053 3076 3078 - 3021 3023 3052 3054 3078 3079 - 3023 3026 3053 3079 - 3004 3025 3034 3058 3084 3088 - 3000 3014 3036 3059 3086 3094 - 2834 2923 2960 3169 3206 3268 3304 - 3025 3041 3055 3088 3096 15332 - 3014 3029 3056 3070 3094 3098 - 2905 2973 2998 3140 3141 3202 - 3027 3029 3063 3070 3091 - 2965 3007 3011 3100 3120 3168 - 3027 3031 3061 3082 3091 3104 - 3009 3018 3072 3117 - 2999 3024 3046 3087 3118 3144 - 2870 2973 3008 3140 3159 3226 - 2742 2811 3008 3137 3193 3196 - 2944 2998 3011 3120 3141 3225 - 3010 3042 3082 3110 3119 - 3029 3059 3061 3091 3098 3109 - 3047 3051 3075 3102 3103 15333 - 3018 3028 3064 3081 3117 3129 - 3015 3089 3114 3146 15331 - 3048 3049 3076 3105 3106 15333 - 3050 3051 3071 3101 3102 15332 - 3049 3052 3074 3078 3106 3107 - 2952 3005 3044 3127 3192 3204 - 3052 3053 3076 3079 3107 3108 - 3053 3054 3078 3108 - 3034 3036 3084 3086 3113 3116 - 3028 3032 3072 3085 3129 3139 - 3010 3031 3063 3069 3104 3119 3135 - 2916 3002 3136 3158 3210 15329 - 3034 3055 3080 3088 3113 3115 - 3032 3035 3081 3092 3139 3142 - 3036 3056 3080 3094 3116 3123 - 3024 3040 3065 3090 3144 3147 - 3055 3058 3084 3096 3115 3121 - 3015 3042 3073 3110 3114 3143 - 3038 3040 3087 3093 3147 3151 - 3061 3063 3070 3104 3109 3111 - 3035 3039 3085 3095 3142 3149 - 3037 3038 3090 3097 3151 3152 - 3056 3059 3086 3098 3123 3126 - 3039 3045 3092 3099 3149 3150 - 3058 3088 3101 3121 3124 15332 - 3037 3043 3093 3099 3152 3153 - 3059 3070 3094 3109 3126 3138 - 3043 3045 3095 3097 3150 3153 - 3007 3046 3062 3118 3168 3191 - 3075 3096 3102 3124 3128 15332 - 3071 3075 3101 3103 3128 3130 - 3071 3102 3105 3130 3131 15333 - 3063 3082 3091 3111 3135 3148 - 3074 3103 3106 3131 15333 15335 - 3074 3076 3105 3107 3133 15335 - 3076 3078 3106 3108 3132 3133 - 3078 3079 3107 3132 - 3070 3091 3098 3111 3138 3145 - 3042 3069 3089 3119 3143 3167 - 3091 3104 3109 3145 3148 - 3030 3146 3176 15331 15334 15337 - 3080 3084 3115 3116 3154 15336 - 3073 3089 3143 3146 3171 - 3084 3088 3113 3121 3154 3155 - 3080 3086 3113 3123 3156 15336 - 3064 3072 3129 3172 - 3046 3065 3100 3144 3191 3198 - 3069 3082 3110 3135 3167 3173 - 3011 3062 3068 3168 3225 3247 - 3088 3096 3115 3124 3155 3157 - 2776 2923 3019 3206 3407 3413 - 3086 3094 3116 3126 3156 3161 - 3096 3101 3121 3128 3157 3160 - 2901 2960 3158 3169 3254 3267 15329 - 3094 3098 3123 3138 3161 3170 - 3005 3077 3174 3204 3223 15334 - 3101 3102 3124 3130 3160 3163 - 3072 3081 3117 3139 3172 3180 - 3102 3103 3128 3131 3163 3165 - 3103 3105 3130 3165 3166 15335 - 3107 3108 3133 3162 - 3106 3107 3132 3162 3164 15335 - 2553 2909 2945 3483 3496 3574 - 3082 3104 3119 3148 3173 3188 - 3002 3044 3083 3192 3210 3251 - 2742 2945 3067 3196 3311 3323 - 3098 3109 3126 3145 3170 3175 - 3081 3085 3129 3142 3180 3190 - 2973 3060 3066 3202 3226 3284 - 2998 3060 3068 3202 3225 3262 - 3085 3092 3139 3149 3190 3195 - 3089 3110 3114 3167 3171 3197 - 3065 3087 3118 3147 3198 3200 - 3109 3111 3138 3148 3175 3189 - 3073 3112 3114 3171 3176 3217 15331 - 3087 3090 3144 3151 3200 3203 - 3104 3111 3135 3145 3188 3189 - 3092 3095 3142 3150 3195 3199 - 3095 3099 3149 3153 3199 3201 - 3090 3093 3147 3152 3203 3208 - 3093 3097 3151 3153 3208 3209 - 3097 3099 3150 3152 3201 3209 - 3113 3115 3155 3178 3179 15336 - 3115 3121 3154 3157 3179 3182 - 3116 3123 3161 3177 3181 15336 - 3121 3124 3155 3160 3182 15338 - 3083 3125 3210 3267 3303 15329 - 3008 3066 3193 3226 3263 - 3124 3128 3157 3163 3186 15338 - 3123 3126 3156 3170 3181 3194 - 3132 3133 3164 3183 - 3128 3130 3160 3165 3186 3187 - 3133 3162 3166 3183 3184 15335 - 3130 3131 3163 3166 3185 3187 - 3131 3164 3165 3184 3185 15335 - 3110 3119 3143 3173 3197 3224 - 3062 3100 3120 3191 3247 3282 - 2960 3057 3125 3254 3268 3320 - 3126 3138 3161 3175 3194 3205 - 3114 3143 3146 3197 3217 3234 - 3117 3129 3180 3227 - 3119 3135 3167 3188 3224 3228 - 3127 3207 3223 3233 15334 15337 - 3138 3145 3170 3189 3205 3229 - 3112 3146 3207 3217 3245 15337 - 3156 3178 3181 3212 3213 15336 - 3154 3177 3179 3213 3215 15336 - 3154 3155 3178 3182 3215 3219 - 3129 3139 3172 3190 3227 3235 - 3156 3161 3177 3194 3211 3212 - 3155 3157 3179 3219 3221 15338 - 3162 3164 3184 3214 - 3164 3166 3183 3185 3214 3216 - 3165 3166 3184 3187 3216 3218 - 3160 3163 3187 3220 3222 15338 - 3163 3165 3185 3186 3218 3220 - 3135 3148 3173 3189 3228 3231 - 3145 3148 3175 3188 3229 3231 - 3139 3142 3180 3195 3235 3246 - 3100 3118 3168 3198 3261 3282 - 3044 3077 3136 3204 3251 3313 15340 - 3008 3067 3159 3196 3263 3298 - 3161 3170 3181 3205 3211 3230 - 3142 3149 3190 3199 3246 3248 - 3067 3137 3193 3298 3323 - 3143 3167 3171 3224 3234 3257 - 3118 3144 3191 3200 3260 3261 - 3149 3150 3195 3201 3248 3252 - 3144 3147 3198 3203 3256 3260 - 3150 3153 3199 3209 3252 3253 - 3060 3140 3141 3262 3284 3334 - 3147 3151 3200 3208 3256 3259 - 3077 3127 3192 3223 3288 15340 - 3170 3175 3194 3229 3230 3249 - 2923 3057 3122 3304 3387 3413 - 3174 3176 3233 3245 3264 15337 - 3151 3152 3203 3209 3258 3259 - 3152 3153 3201 3208 3253 3258 - 3083 3136 3158 3251 3303 15343 - 3181 3194 3212 3230 3232 - 3177 3181 3211 3213 3232 3237 - 3177 3178 3212 3215 3237 3240 - 3183 3184 3216 3236 - 3178 3179 3213 3219 3240 3244 - 3184 3185 3214 3218 3236 3238 - 3146 3171 3176 3234 3245 3270 - 3185 3187 3216 3220 3238 3239 - 3179 3182 3215 3221 3243 3244 - 3186 3187 3218 3222 3239 3241 - 3182 3219 3222 3242 3243 15338 - 3186 3220 3221 3241 3242 15338 - 3127 3174 3204 3233 3288 15339 - 3167 3173 3197 3228 3257 3283 - 3068 3120 3141 3247 3262 3327 3329 - 3066 3140 3159 3263 3284 3333 - 3172 3180 3235 3280 - 3173 3188 3224 3231 3281 3283 - 3175 3189 3205 3231 3249 3278 3279 - 3194 3205 3211 3232 3249 3255 - 3188 3189 3228 3229 3279 3281 - 3211 3212 3230 3237 3255 3265 - 3174 3207 3223 3264 15339 - 3171 3197 3217 3257 3270 3293 - 3180 3190 3227 3246 3280 3286 - 3214 3216 3238 3266 - 3212 3213 3232 3240 3265 3273 - 3216 3218 3236 3239 3266 3269 - 3218 3220 3238 3241 3269 3272 - 3213 3215 3237 3244 3273 3277 - 3220 3222 3239 3242 3272 3274 - 3221 3222 3241 3243 3274 3275 - 3219 3221 3242 3244 3275 3276 - 3215 3219 3240 3243 3276 3277 - 3176 3207 3217 3264 3270 3308 - 3190 3195 3235 3248 3286 3294 - 3120 3168 3225 3282 3329 3339 - 3195 3199 3246 3252 3294 3301 - 3205 3229 3230 3255 3278 3285 - 2364 2650 3003 3316 3760 3777 - 3136 3192 3210 3313 3335 15343 - 3199 3201 3248 3253 3301 3302 - 3201 3209 3252 3258 3302 3306 - 3125 3169 3267 3320 3363 - 3230 3232 3249 3265 3285 3289 - 3200 3203 3259 3260 3310 3312 - 3197 3224 3234 3283 3293 15341 - 3208 3209 3253 3259 3306 3309 - 3203 3208 3256 3258 3309 3310 - 3198 3200 3256 3261 3312 3321 - 3191 3198 3260 3282 3321 3332 - 3141 3202 3225 3327 3334 3378 - 3159 3193 3226 3298 3333 3370 - 3207 3233 3245 3308 3331 15339 - 3232 3237 3255 3273 3289 3295 - 3236 3238 3269 3290 - 3125 3158 3254 3303 3363 3405 - 3057 3169 3304 3320 15345 - 3238 3239 3266 3272 3290 3291 - 3217 3234 3245 3293 3307 3308 - 2263 2540 3033 3518 3667 3869 - 3239 3241 3269 3274 3291 3292 - 3237 3240 3265 3277 3295 3300 - 3241 3242 3272 3275 3292 3296 - 3242 3243 3274 3276 3296 3297 - 3243 3244 3275 3277 3297 3299 - 3240 3244 3273 3276 3299 3300 - 3229 3249 3279 3285 3314 3317 - 3229 3231 3278 3281 3314 3330 - 3227 3235 3286 15344 - 3228 3231 3279 3283 3330 3338 - 3168 3191 3247 3261 3332 3339 3356 - 3224 3228 3257 3281 3338 3361 15341 - 3140 3202 3226 3333 3334 3390 - 3249 3255 3278 3289 3317 3318 - 3235 3246 3280 3294 3337 15344 - 446 1168 1987 4501 5174 5181 - 3204 3223 3341 3354 15339 15340 - 3255 3265 3285 3295 3318 15342 - 3266 3269 3291 3315 - 3269 3272 3290 3292 3315 3319 - 3272 3274 3291 3296 3319 3322 - 3234 3257 3270 3307 3342 15341 - 3246 3248 3286 3301 3337 3343 - 3265 3273 3289 3300 3328 15342 - 3274 3275 3292 3297 3322 3324 - 3275 3276 3296 3299 3324 3325 - 3193 3196 3263 3323 3370 3432 - 3276 3277 3297 3300 3325 3326 - 3273 3277 3295 3299 3326 3328 - 3248 3252 3294 3302 3343 3347 - 3252 3253 3301 3306 3347 3355 - 3158 3210 3267 3405 3458 15343 - 3057 3206 3268 3387 3424 15345 - 1984 2261 2755 3960 4172 15355 - 3253 3258 3302 3309 3355 3359 - 3270 3293 3308 3342 3358 - 3245 3264 3270 3307 3331 3358 3386 - 3258 3259 3306 3310 3359 3360 - 3256 3259 3309 3312 3360 3362 - 2945 3137 3323 3483 3501 3606 - 3256 3260 3310 3321 3362 3366 - 3192 3251 3335 3365 3383 15340 - 3278 3279 3317 3330 3353 3357 - 3290 3291 3319 3340 - 2650 2852 3250 3404 3777 3788 - 3278 3285 3314 3318 3348 3353 - 3285 3289 3317 3348 3349 15342 - 3291 3292 3315 3322 3340 3344 - 3169 3254 3268 3363 3438 15345 - 3260 3261 3312 3332 3366 3374 - 3292 3296 3319 3324 3344 3345 - 3137 3196 3298 3311 3432 3501 - 3296 3297 3322 3325 3345 3346 - 3297 3299 3324 3326 3346 3350 - 3299 3300 3325 3328 3350 3351 - 3225 3262 3329 3372 3378 3423 - 3295 3300 3326 3351 3352 15342 - 3225 3247 3327 3339 3372 3385 - 3279 3281 3314 3338 3357 3364 - 3264 3308 3341 3386 3397 15339 - 3261 3282 3321 3356 3374 3389 - 3226 3263 3284 3370 3390 3461 - 3202 3262 3284 3378 3390 3440 - 3251 3313 3383 3398 15343 - 2724 2909 3496 3518 3767 3782 - 3286 3294 3343 3376 3388 15344 - 3281 3283 3330 3361 3364 3382 - 3247 3282 3329 3356 3385 3401 - 3315 3319 3344 3367 - 3288 3331 3354 3397 3410 15339 - 3293 3307 3358 3369 3392 15341 - 3294 3301 3337 3347 3388 3395 - 3319 3322 3340 3345 3367 3368 - 3322 3324 3344 3346 3368 3371 - 3324 3325 3345 3350 3371 3373 - 3301 3302 3343 3355 3395 3400 - 3317 3318 3349 3353 3380 3381 - 3318 3348 3352 3379 3380 15342 - 3325 3326 3346 3351 3373 3375 - 3326 3328 3350 3352 3375 3377 - 3328 3349 3351 3377 3379 15342 - 3314 3317 3348 3357 3381 3384 - 3288 3341 3365 3410 3417 15340 - 3302 3306 3347 3359 3400 3408 - 3282 3332 3339 3389 3401 3418 - 3314 3330 3353 3364 3384 3391 - 3307 3308 3342 3386 3392 3460 - 3306 3309 3355 3360 3408 3414 - 3309 3310 3359 3362 3414 3421 - 3283 3338 3369 3382 3403 15341 15346 - 3310 3312 3360 3366 3421 3426 - 3254 3267 3320 3405 3438 3484 - 3330 3338 3357 3382 3391 3394 - 3313 3354 3383 3417 3420 15340 - 3312 3321 3362 3374 3425 3426 - 3340 3344 3368 3396 - 3344 3345 3367 3371 3396 3399 - 3342 3361 3392 3403 3428 15341 - 3263 3298 3333 3432 3461 3529 - 3345 3346 3368 3373 3399 3402 - 3327 3329 3385 3423 3436 - 3346 3350 3371 3375 3402 3406 - 3321 3332 3366 3389 3425 3427 - 3350 3351 3373 3377 3406 3409 - 3337 3388 3437 15344 - 3351 3352 3375 3379 3409 3412 - 3262 3327 3334 3423 3440 3477 - 3349 3352 3377 3380 3412 3415 - 3348 3349 3379 3381 3415 3416 - 3348 3353 3380 3384 3416 3419 - 3338 3361 3364 3394 3411 15346 - 3313 3335 3365 3398 3420 3463 - 3353 3357 3381 3391 3419 3422 - 3329 3339 3372 3401 3436 3448 - 3308 3331 3358 3397 3460 3469 - 3206 3304 3413 3424 3548 - 3337 3343 3376 3395 3437 3446 - 3332 3356 3374 3418 3427 3453 - 3284 3333 3334 3440 3461 3505 - 3357 3364 3384 3394 3422 3429 - 3342 3358 3369 3428 3460 3462 - 2489 2990 3033 3596 3716 3817 - 3364 3382 3391 3411 3429 3430 - 3343 3347 3388 3400 3446 3459 - 3367 3368 3399 3433 - 3331 3341 3386 3410 3469 15347 - 3335 3383 3458 3463 3514 15343 - 3368 3371 3396 3402 3433 3434 - 3347 3355 3395 3408 3459 3464 - 3339 3356 3385 3418 3448 3456 - 3371 3373 3399 3406 3434 3439 - 3361 3369 3428 3431 3444 15346 - 2852 3019 3316 3407 3788 3802 - 3267 3303 3363 3458 3484 3525 - 3373 3375 3402 3409 3439 3441 - 3019 3122 3404 3413 3623 3802 - 3355 3359 3400 3414 3464 3470 - 3375 3377 3406 3412 3441 3442 - 3341 3354 3397 3417 3486 15347 - 3382 3394 3430 3435 15346 - 3377 3379 3409 3415 3442 3445 - 3122 3206 3387 3407 3548 3623 - 3359 3360 3408 3421 3470 3472 - 3379 3380 3412 3416 3445 3447 - 3380 3381 3415 3419 3447 3450 - 3354 3365 3410 3420 3479 3486 - 3356 3389 3401 3453 3456 3485 - 3381 3384 3416 3422 3450 3451 - 3365 3383 3417 3463 3479 - 3360 3362 3414 3426 3472 3480 - 3384 3391 3419 3429 3451 3452 - 3327 3372 3378 3436 3477 15349 - 3304 3387 3548 3556 15345 15348 - 3366 3374 3426 3427 3466 3481 - 3362 3366 3421 3425 3480 3481 - 3374 3389 3425 3453 3466 - 3369 3392 3403 3444 3462 3473 - 3391 3394 3422 3430 3452 3457 - 3394 3411 3429 3435 3454 3457 - 3403 3443 3444 3449 15346 - 3298 3323 3370 3501 3529 3538 - 3396 3399 3434 3465 - 3399 3402 3433 3439 3465 3467 - 3411 3430 3443 3454 3455 15346 - 3372 3385 3423 3448 3517 15349 - 3376 3388 3446 3494 - 3320 3363 3484 3541 15345 15348 - 3402 3406 3434 3441 3467 3471 - 3334 3378 3390 3477 3505 3532 - 3406 3409 3439 3442 3471 3474 - 3409 3412 3441 3445 3474 3478 - 3431 3435 3449 3455 3468 15346 - 3403 3428 3431 3449 3473 3475 - 3412 3415 3442 3447 3478 3482 - 3388 3395 3437 3459 3494 3498 - 3415 3416 3445 3450 3482 3487 - 3385 3401 3436 3456 3513 3517 - 3431 3443 3444 3468 3475 - 3416 3419 3447 3451 3487 3488 - 3419 3422 3450 3452 3488 3490 - 3422 3429 3451 3457 3489 3490 - 3389 3418 3427 3466 3485 3500 - 3430 3435 3455 3457 3476 3491 - 3435 3443 3454 3468 3476 - 3401 3418 3448 3485 3513 - 3429 3430 3452 3454 3489 3491 - 3303 3398 3405 3514 3525 3591 15343 - 3395 3400 3446 3464 3498 3508 - 3358 3386 3392 3462 3469 3515 3524 - 3333 3370 3390 3505 3529 3611 - 3392 3428 3460 3473 3504 3515 - 3383 3398 3420 3479 3514 3540 - 3400 3408 3459 3470 3508 3516 - 3433 3434 3467 3493 - 3425 3427 3453 3481 3500 3523 - 3434 3439 3465 3471 3493 3495 - 3443 3449 3455 3475 3476 3492 - 3386 3397 3460 3524 3537 15347 - 3408 3414 3464 3472 3516 3520 - 3439 3441 3467 3474 3495 3497 - 3414 3421 3470 3480 3520 3522 - 3428 3444 3462 3475 3504 3512 - 3441 3442 3471 3478 3497 3499 - 3444 3449 3468 3473 3492 3512 - 3454 3455 3468 3491 3492 3503 - 3378 3423 3440 3532 3555 15349 - 3442 3445 3474 3482 3499 3502 - 3417 3420 3463 3486 3540 3551 - 3421 3426 3472 3481 3522 3527 - 3425 3426 3466 3480 3523 3527 - 3445 3447 3478 3487 3502 3507 - 2945 3134 3311 3574 3606 3714 3771 - 3363 3405 3438 3525 3541 3584 - 3418 3453 3456 3500 3513 3559 - 3410 3417 3479 3543 3551 15347 - 3447 3450 3482 3488 3507 3509 - 3450 3451 3487 3490 3509 3511 - 3452 3457 3490 3491 3506 3510 - 3451 3452 3488 3489 3510 3511 - 3454 3457 3476 3489 3503 3506 - 3468 3475 3476 3503 3512 15351 - 3465 3467 3495 3519 - 3437 3446 3498 3539 - 3467 3471 3493 3497 3519 3521 - 2909 3134 3336 3574 3773 3782 - 3471 3474 3495 3499 3521 3526 - 3446 3459 3494 3508 3539 3545 - 3474 3478 3497 3502 3526 3528 - 3453 3466 3485 3523 3559 3566 - 3311 3323 3432 3538 3606 3630 - 3478 3482 3499 3507 3528 3531 - 3476 3491 3492 3506 3530 15351 - 3462 3473 3512 3515 3544 3550 - 3390 3440 3461 3532 3611 3616 - 3489 3491 3503 3510 3530 3534 - 3482 3487 3502 3509 3531 3533 - 3459 3464 3498 3516 3545 3554 - 3487 3488 3507 3511 3533 3535 - 3489 3490 3506 3511 3534 3536 - 3488 3490 3509 3510 3535 3536 - 3473 3475 3492 3504 3544 3547 15351 - 3448 3456 3485 3517 3559 3573 - 3398 3458 3463 3540 3591 3604 - 3460 3462 3504 3524 3550 3564 - 3464 3470 3508 3520 3554 3560 - 3436 3448 3513 3569 3573 15349 - 2540 2724 3271 3336 3767 3869 3898 - 3493 3495 3521 3542 - 3470 3472 3516 3522 3560 3565 - 3495 3497 3519 3526 3542 3546 - 3472 3480 3520 3527 3565 3567 - 3466 3481 3500 3527 3566 3570 - 3460 3469 3515 3537 3564 3577 - 3405 3458 3484 3584 3591 3627 - 3497 3499 3521 3528 3546 3549 - 3480 3481 3522 3523 3567 3570 - 3499 3502 3526 3531 3549 3553 - 3370 3432 3461 3538 3611 3632 - 3503 3506 3534 3552 3558 15351 - 3502 3507 3528 3533 3553 3557 - 3440 3477 3505 3555 3613 3616 - 3507 3509 3531 3535 3557 3561 - 3506 3510 3530 3536 3558 3562 - 3509 3511 3533 3536 3561 3563 - 3510 3511 3534 3535 3562 3563 - 3469 3524 3543 3577 3594 15347 - 3432 3501 3529 3630 3632 - 3494 3498 3545 3582 - 3463 3479 3514 3551 3604 3617 - 3438 3484 3556 3584 3624 15348 - 3519 3521 3546 3568 - 3486 3537 3551 3594 3622 15347 - 3504 3512 3547 3550 3576 3580 - 3498 3508 3539 3554 3582 3588 - 3521 3526 3542 3549 3568 3571 - 3512 3544 3552 3576 3578 15351 - 3387 3413 3424 3556 3623 3648 3749 - 3526 3528 3546 3553 3571 3572 - 3504 3515 3544 3564 3580 3589 - 3479 3486 3540 3543 3617 3622 - 3530 3547 3558 3578 3583 15351 - 3528 3531 3549 3557 3572 3575 - 3508 3516 3545 3560 3588 3593 - 3477 3532 3569 3598 3613 15349 - 3424 3541 3548 3624 3648 15348 - 3531 3533 3553 3561 3575 3579 - 3530 3534 3552 3562 3583 3586 - 3485 3500 3513 3566 3573 3614 3633 - 3516 3520 3554 3565 3593 3597 - 3533 3535 3557 3563 3579 3585 - 3534 3536 3558 3563 3586 3587 - 3535 3536 3561 3562 3585 3587 - 3515 3524 3550 3577 3589 3600 - 3520 3522 3560 3567 3597 3602 - 3500 3523 3559 3570 3612 3614 - 3522 3527 3565 3570 3602 3609 - 3542 3546 3571 3590 - 3517 3555 3573 3598 3619 15349 - 3523 3527 3566 3567 3609 3612 - 3546 3549 3568 3572 3590 3592 - 3549 3553 3571 3575 3592 3595 - 3513 3517 3559 3569 3619 3633 - 3134 3483 3496 3771 3773 3829 - 3553 3557 3572 3579 3595 3599 - 3544 3547 3578 3580 3608 15352 - 3524 3537 3564 3594 3600 3641 - 3547 3552 3576 3583 3607 15352 - 3557 3561 3575 3585 3599 3601 - 3544 3550 3576 3589 3603 3608 - 2219 2312 3809 4134 4251 15350 - 3539 3545 3588 3620 - 3552 3558 3578 3586 3607 3610 - 3484 3525 3541 3624 3627 3663 - 3561 3563 3579 3587 3601 3605 - 3558 3562 3583 3587 3610 15353 - 3562 3563 3585 3586 3605 15353 - 3545 3554 3582 3593 3620 3629 - 3550 3564 3580 3600 3603 3626 - 3568 3571 3592 3615 - 3458 3514 3525 3604 3627 3671 3680 - 3571 3572 3590 3595 3615 3618 - 3554 3560 3588 3597 3629 3639 - 3537 3543 3577 3622 3641 3657 - 3572 3575 3592 3599 3618 3621 - 3033 3393 3667 3817 3889 - 3560 3565 3593 3602 3639 3642 - 3555 3569 3613 3619 3659 - 3575 3579 3595 3601 3621 3625 - 3564 3577 3589 3626 3641 3646 - 3579 3585 3599 3605 3625 3628 - 3565 3567 3597 3609 3642 3645 - 3580 3589 3608 3626 3638 - 3514 3540 3591 3617 3671 15354 - 3585 3587 3601 3628 3631 15353 - 3311 3483 3501 3630 3714 3769 - 3578 3583 3610 3636 3637 15352 - 3576 3580 3603 3635 3638 15352 - 3567 3570 3602 3612 3645 3649 - 3583 3586 3607 3634 3636 15353 - 3461 3505 3529 3616 3632 3705 3722 - 3566 3570 3609 3614 3649 3651 - 3532 3555 3598 3616 3659 3673 - 3559 3566 3612 3633 3651 3666 - 3590 3592 3618 3640 - 3505 3532 3611 3613 3673 3705 - 3540 3551 3604 3622 3686 15354 - 3592 3595 3615 3621 3640 3643 - 3569 3573 3598 3633 3659 3684 - 3582 3588 3629 3661 - 3595 3599 3618 3625 3643 3644 - 3543 3551 3594 3617 3657 3686 3699 - 3407 3413 3548 3749 3802 3867 - 3541 3556 3584 3648 3663 3693 - 3599 3601 3621 3628 3644 3647 - 3589 3600 3603 3638 3646 3655 - 3525 3584 3591 3663 3680 3708 - 3601 3605 3625 3631 3647 3650 - 3588 3593 3620 3639 3661 3664 - 3501 3538 3606 3632 3720 3769 - 3605 3628 3634 3650 3652 15353 - 3529 3538 3611 3630 3720 3722 - 3559 3573 3614 3619 3666 3684 3700 - 3610 3631 3636 3652 3653 15353 - 3608 3637 3638 3654 3658 15352 - 3607 3610 3634 3637 3653 3656 - 3607 3635 3636 3656 3658 15352 - 3603 3608 3626 3635 3654 3655 - 3593 3597 3629 3642 3664 3669 - 3615 3618 3643 3660 - 3577 3594 3600 3646 3657 3676 3691 - 3597 3602 3639 3645 3669 3674 - 3618 3621 3640 3644 3660 3662 - 3621 3625 3643 3647 3662 3665 - 3602 3609 3642 3649 3674 3685 - 3600 3626 3641 3655 3676 3679 - 3625 3628 3644 3650 3665 3668 - 3548 3556 3624 3693 3749 3779 - 3609 3612 3645 3651 3685 3689 - 3628 3631 3647 3652 3668 3670 - 3612 3614 3649 3666 3689 3696 - 3631 3634 3650 3653 3670 3672 - 3634 3636 3652 3656 3672 3677 - 3635 3638 3655 3658 3681 3683 - 3626 3638 3646 3654 3679 3681 - 3636 3637 3653 3658 3677 3682 - 3594 3622 3641 3691 3699 3719 - 3635 3637 3654 3656 3682 3683 - 3598 3613 3619 3673 3684 3725 - 3640 3643 3662 3678 - 3620 3629 3664 3694 - 3643 3644 3660 3665 3678 3687 - 3584 3624 3627 3693 3708 3718 - 3629 3639 3661 3669 3694 3702 - 3644 3647 3662 3668 3687 3688 - 3614 3633 3651 3696 3700 3709 - 3033 3271 3596 3869 3889 3979 - 3647 3650 3665 3670 3688 3692 - 3639 3642 3664 3674 3702 3711 - 3650 3652 3668 3672 3692 3695 - 3591 3604 3680 3729 3734 15354 - 3652 3653 3670 3677 3695 3698 - 3613 3616 3659 3705 3725 3795 - 3642 3645 3669 3685 3711 3715 - 2019 2447 2790 4157 4463 15364 - 3641 3646 3679 3691 3712 3724 - 3653 3656 3672 3682 3698 3703 - 3660 3662 3687 3701 - 3646 3655 3676 3681 3710 3712 - 3591 3627 3671 3708 3734 3750 - 3654 3655 3679 3683 3706 3710 - 3656 3658 3677 3683 3703 3704 - 3654 3658 3681 3682 3704 3706 - 3619 3633 3659 3700 3725 3754 - 3645 3649 3674 3689 3715 3723 - 3617 3622 3699 3732 3738 15354 - 3662 3665 3678 3688 3701 3707 - 3665 3668 3687 3692 3707 3713 - 3649 3651 3685 3696 3723 3730 - 2073 2193 3813 3839 4440 4509 - 3641 3657 3676 3719 3724 3741 - 3668 3670 3688 3695 3713 3717 - 3624 3648 3663 3718 3779 3783 - 3661 3664 3702 3735 - 3670 3672 3692 3698 3717 3721 - 3651 3666 3689 3709 3730 3739 - 293 1146 2565 4176 4830 5050 - 3672 3677 3695 3703 3721 3726 - 3622 3657 3686 3719 3738 3746 - 3633 3666 3684 3709 3744 3754 - 3678 3687 3707 3727 - 3664 3669 3694 3711 3735 3743 - 3677 3682 3698 3704 3726 3728 - 3682 3683 3703 3706 3728 3733 - 3611 3616 3673 3722 3795 3798 - 3681 3683 3704 3710 3733 3736 - 3687 3688 3701 3713 3727 3731 - 3627 3663 3680 3718 3750 3766 - 3666 3696 3700 3739 3744 - 3679 3681 3706 3712 3736 3740 - 3669 3674 3702 3715 3743 3751 - 3676 3679 3710 3724 3740 3747 - 3688 3692 3707 3717 3731 3737 - 3483 3606 3769 3771 3856 3885 - 3674 3685 3711 3723 3751 3756 - 2990 3393 3748 3817 4044 4097 - 3692 3695 3713 3721 3737 3742 - 3663 3693 3708 3766 3783 - 3657 3691 3699 3741 3746 3765 - 3630 3632 3722 3769 3811 3862 - 3695 3698 3717 3726 3742 3745 - 3611 3632 3705 3720 3798 3811 - 3685 3689 3715 3730 3756 3762 - 3676 3691 3712 3741 3747 3764 - 3659 3673 3684 3754 3795 3807 - 3698 3703 3721 3728 3745 3753 - 3701 3707 3731 3752 - 3703 3704 3726 3733 3753 3758 - 3671 3732 3734 3781 15354 15356 - 3689 3696 3723 3739 3762 3768 - 3707 3713 3727 3737 3752 3757 - 3686 3729 3738 15354 15356 15357 - 3704 3706 3728 3736 3758 3761 - 3671 3680 3729 3750 3781 3791 - 3694 3702 3743 3778 - 3706 3710 3733 3740 3761 3770 - 3713 3717 3731 3742 3757 3763 - 3686 3699 3732 3746 3789 15357 - 3696 3709 3730 3744 3768 3774 - 3710 3712 3736 3747 3770 3776 - 3691 3719 3724 3764 3765 3786 - 3717 3721 3737 3745 3763 3772 - 3702 3711 3735 3751 3778 3790 - 3700 3709 3739 3754 3774 3799 - 3721 3726 3742 3753 3772 3775 - 3699 3719 3738 3765 3784 3789 - 3712 3724 3740 3764 3776 3792 - 2889 2990 3716 3931 4097 4203 - 3548 3623 3648 3779 3867 3924 - 3680 3708 3734 3766 3791 3804 - 3711 3715 3743 3756 3790 3797 - 3727 3731 3757 3780 - 3726 3728 3745 3758 3775 3785 - 3684 3700 3725 3744 3799 3807 3841 - 2685 3003 3759 3760 4129 4193 - 3715 3723 3751 3762 3797 3801 - 3731 3737 3752 3763 3780 3787 - 3728 3733 3753 3761 3785 3793 - 2685 2755 3755 3960 4193 4294 - 3003 3250 3755 3777 4065 4129 - 3733 3736 3758 3770 3793 3796 - 3723 3730 3756 3768 3801 3810 - 3737 3742 3757 3772 3787 3794 - 3724 3741 3747 3786 3792 3806 - 3719 3741 3746 3784 3786 3808 - 3708 3718 3750 3783 3804 3837 - 3336 3518 3782 3898 3916 4002 - 3730 3739 3762 3774 3800 3810 - 3606 3630 3714 3720 3862 3885 3921 - 3736 3740 3761 3776 3796 3805 - 3483 3574 3714 3829 3856 3928 - 3742 3745 3763 3775 3794 3803 - 3496 3574 3782 3829 3958 3964 - 3739 3744 3768 3799 3800 3825 - 3745 3753 3772 3785 3803 3812 - 3740 3747 3770 3792 3805 3815 - 3250 3316 3760 3788 4065 4072 - 3735 3743 3790 3824 - 3648 3693 3749 3783 3870 3924 - 3752 3757 3787 3814 - 3729 3734 3791 3827 3831 15356 - 3336 3496 3767 3773 3916 3958 - 3693 3718 3766 3779 3837 3870 - 3746 3765 3789 3808 3819 - 3753 3758 3775 3793 3812 3816 - 3741 3764 3765 3806 3808 3822 - 3757 3763 3780 3794 3814 3818 - 3316 3404 3777 3802 4036 4072 - 3738 3746 3784 3819 3848 15357 - 3743 3751 3778 3797 3824 3830 - 3734 3750 3781 3804 3827 3838 - 3747 3764 3776 3806 3815 3820 - 3758 3761 3785 3796 3816 3821 - 3763 3772 3787 3803 3818 3823 - 3673 3705 3725 3798 3807 3880 3891 - 3761 3770 3793 3805 3821 3826 - 3751 3756 3790 3801 3830 3842 - 3705 3722 3795 3811 3865 3891 - 3744 3754 3774 3825 3841 3857 - 3768 3774 3810 3825 3844 - 3756 3762 3797 3810 3842 3843 - 3404 3407 3623 3788 3867 4014 4036 - 3772 3775 3794 3812 3823 3828 - 3750 3766 3791 3837 3838 - 3770 3776 3796 3815 3826 3832 - 3764 3786 3792 3820 3822 3834 - 3725 3754 3795 3841 3880 3892 - 3765 3784 3786 3819 3822 3840 - 2219 2790 3581 4157 4251 4365 - 3762 3768 3800 3801 3843 3844 - 3720 3722 3798 3862 3865 - 3775 3785 3803 3816 3828 3836 - 2073 2171 3690 4509 4525 4706 - 3780 3787 3818 3833 - 3776 3792 3805 3820 3832 3835 - 3785 3793 3812 3821 3836 3847 - 3393 3596 3716 3889 3996 4044 - 3787 3794 3814 3823 3833 3845 - 3784 3789 3808 3840 3848 3863 - 3792 3806 3815 3834 3835 3846 - 3793 3796 3816 3826 3847 3849 - 3786 3806 3808 3834 3840 3851 - 3794 3803 3818 3828 3845 3850 - 3778 3790 3830 3861 - 3774 3799 3800 3844 3857 3871 - 3796 3805 3821 3832 3849 3852 - 3781 3791 3831 3838 3864 3886 - 3803 3812 3823 3836 3850 3853 - 3574 3771 3773 3928 3964 3987 - 3790 3797 3824 3842 3861 3868 - 3781 3827 3864 3874 15356 15358 - 3805 3815 3826 3835 3852 3854 - 3814 3818 3845 3858 - 3806 3820 3822 3846 3851 3859 - 3815 3820 3832 3846 3854 3855 - 3812 3816 3828 3847 3853 3860 - 3766 3783 3804 3838 3870 3912 - 3791 3804 3827 3837 3886 3912 - 2193 2805 3690 4130 4440 4467 - 3808 3819 3822 3851 3863 3872 - 3754 3799 3807 3857 3892 3899 - 3797 3801 3830 3843 3868 3877 - 3801 3810 3842 3844 3876 3877 - 3800 3810 3825 3843 3871 3876 - 3818 3823 3833 3850 3858 15359 - 3820 3834 3835 3855 3859 - 3816 3821 3836 3849 3860 3866 - 3789 3819 3863 3910 15357 15358 15360 - 3821 3826 3847 3852 3866 3875 - 3823 3828 3845 3853 3873 15359 - 3822 3834 3840 3859 3872 3883 - 3826 3832 3849 3854 3875 3879 - 3828 3836 3850 3860 3873 3881 - 3832 3835 3852 3855 3879 3882 - 3835 3846 3854 3859 3882 3884 - 3714 3771 3885 3928 3973 - 3799 3825 3841 3871 3899 3907 - 3833 3845 3887 15359 - 3834 3846 3851 3855 3883 3884 - 3836 3847 3853 3866 3881 3888 - 3824 3830 3868 3896 - 3720 3769 3811 3865 3921 3953 - 3819 3840 3848 3872 3908 3910 - 3827 3831 3874 3886 3897 - 3798 3811 3862 3891 3948 3953 - 3847 3849 3860 3875 3888 3893 - 3623 3749 3802 3924 4014 4026 - 3830 3842 3861 3877 3896 3906 - 3271 3518 3667 3898 3979 4093 4133 - 3779 3783 3837 3912 3924 3962 - 3825 3844 3857 3876 3907 3911 - 3840 3851 3863 3883 3904 3908 - 3850 3853 3881 3890 3894 15359 - 3831 3864 3897 3915 15358 15360 - 3849 3852 3866 3879 3893 3895 - 3843 3844 3871 3877 3911 3913 - 3842 3843 3868 3876 3906 3913 - 295 460 2565 4888 5317 5611 - 3852 3854 3875 3882 3895 3900 - 3795 3807 3891 3892 3940 3944 - 3853 3860 3873 3888 3894 3902 - 3854 3855 3879 3884 3900 3901 - 3851 3859 3872 3884 3903 3904 - 3855 3859 3882 3883 3901 3903 - 3714 3769 3856 3921 3973 4003 - 3827 3838 3864 3897 3912 3930 - 3858 3890 3905 15359 - 3860 3866 3881 3893 3902 3909 - 3596 3667 3817 3979 3996 4108 - 3873 3887 3894 3905 3914 15359 - 3795 3798 3865 3880 3944 3948 - 3807 3841 3880 3899 3940 3941 - 3866 3875 3888 3895 3909 3917 - 3873 3881 3890 3902 3914 3918 - 3875 3879 3893 3900 3917 3919 - 3861 3868 3906 3934 - 3864 3874 3886 3915 3930 3935 - 3518 3767 3869 4002 4093 4118 - 3841 3857 3892 3907 3941 3942 - 3879 3882 3895 3901 3919 3920 - 3882 3884 3900 3903 3920 3923 - 3881 3888 3894 3909 3918 3922 - 3883 3884 3901 3904 3923 3926 - 3872 3883 3903 3908 3926 3932 - 3887 3890 3914 3925 - 3868 3877 3896 3913 3934 3938 - 3857 3871 3899 3911 3942 3946 - 3863 3872 3904 3910 3932 15361 - 3888 3893 3902 3917 3922 3929 - 3848 3863 3908 3927 3957 15360 15361 - 3871 3876 3907 3913 3945 3946 - 3837 3838 3870 3886 3930 3962 4004 - 3876 3877 3906 3911 3938 3945 - 3890 3894 3905 3918 3925 3933 - 3874 3897 3927 3935 3951 15360 - 3767 3782 3958 4002 4064 - 3893 3895 3909 3919 3929 3936 - 3894 3902 3914 3922 3933 3937 - 3895 3900 3917 3920 3936 3939 - 3900 3901 3919 3923 3939 3943 - 3769 3862 3885 3953 4003 4058 - 3902 3909 3918 3929 3937 3947 - 3901 3903 3920 3926 3943 3950 - 3749 3779 3867 3870 3962 4026 4052 - 3905 3914 3933 3949 - 3903 3904 3923 3932 3950 3954 - 3910 3915 3951 3957 3967 15360 - 3771 3829 3856 3973 3987 4048 - 3909 3917 3922 3936 3947 3952 - 3886 3897 3912 3935 4004 15362 - 2805 2889 3748 4130 4203 4357 - 3904 3908 3926 3954 3959 15361 - 3914 3918 3925 3937 3949 3955 - 3896 3906 3938 3969 - 3897 3915 3930 3951 15362 - 3917 3919 3929 3939 3952 3956 - 3918 3922 3933 3947 3955 3961 - 3906 3913 3934 3945 3969 3975 - 3919 3920 3936 3943 3956 3963 - 3880 3892 3941 3944 3985 3988 - 3892 3899 3940 3942 3984 3985 - 3899 3907 3941 3946 3982 3984 - 3920 3923 3939 3950 3963 3965 - 3880 3891 3940 3948 3988 3997 - 3911 3913 3938 3946 3975 3978 - 3907 3911 3942 3945 3978 3982 - 3922 3929 3937 3952 3961 3966 - 3865 3891 3944 3953 3997 4006 - 3925 3933 3955 3968 - 3923 3926 3943 3954 3965 3971 - 3915 3927 3935 3967 3981 15362 - 3929 3936 3947 3956 3966 3972 - 3862 3865 3921 3948 4006 4050 4058 - 3926 3932 3950 3959 3971 3976 - 3933 3937 3949 3961 3968 3974 - 3936 3939 3952 3963 3972 3977 - 3910 3927 3967 3970 3990 3993 15361 - 3773 3782 3916 3964 4064 4099 - 3932 3954 3970 3976 3986 15361 - 2755 3305 3759 4172 4294 4436 - 3937 3947 3955 3966 3974 3980 - 3870 3912 3924 4004 4052 4066 - 3939 3943 3956 3965 3977 3983 - 3773 3829 3958 3987 4099 4100 - 3943 3950 3963 3971 3983 3992 - 3947 3952 3961 3972 3980 3989 - 3927 3951 3957 3981 3993 3998 - 3949 3955 3974 3991 - 3934 3938 3975 4009 - 3957 3959 3986 3990 3995 15361 - 3950 3954 3965 3976 3992 4000 - 3952 3956 3966 3977 3989 3999 - 3856 3885 3928 4003 4048 4083 - 3955 3961 3968 3980 3991 4001 - 3938 3945 3969 3978 4009 4020 - 3954 3959 3971 3986 4000 4005 - 3956 3963 3972 3983 3999 15363 - 3945 3946 3975 3982 4020 4024 - 3667 3869 3889 4108 4133 4220 - 3961 3966 3974 3989 4001 4008 - 3951 3967 3998 4007 4018 15362 - 3942 3946 3978 3984 4024 4028 - 3963 3965 3977 3992 4012 15363 - 3941 3942 3982 3985 4028 4034 - 3940 3941 3984 3988 4031 4034 - 3959 3970 3976 3995 4005 4011 - 3829 3928 3964 4048 4100 4109 - 3940 3944 3985 3997 4031 4035 - 3966 3972 3980 3999 4008 4015 - 3957 3970 3993 3995 4010 4013 - 3968 3974 4001 4016 - 3965 3971 3983 4000 4012 4019 - 3957 3967 3990 3998 4013 4017 - 3001 4134 4323 4485 15350 15355 - 3970 3986 3990 4010 4011 - 3817 3889 4044 4108 4190 - 3944 3948 3988 4006 4035 4037 - 3967 3981 3993 4017 4018 - 3972 3977 3989 4015 4021 15363 - 3971 3976 3992 4005 4019 4022 - 3974 3980 3991 4008 4016 4023 - 3767 3898 3916 4064 4118 4178 - 3885 3921 3973 4058 4083 4115 - 3912 3930 3962 4007 4057 4066 4084 15362 - 3976 3986 4000 4011 4022 4025 - 3948 3953 3997 4037 4050 4069 - 3981 4004 4018 4042 4057 15362 - 3980 3989 4001 4015 4023 4032 - 3969 3975 4020 4054 - 3990 3995 4011 4013 4027 4033 - 3986 3995 4005 4010 4025 4033 - 3983 3992 4019 4030 4038 15363 - 3990 3993 4010 4017 4027 4029 - 3802 3867 4026 4036 4150 4179 - 3989 3999 4008 4021 4032 4040 - 3991 4001 4023 4039 - 3993 3998 4013 4018 4029 4047 - 3981 3998 4007 4017 4042 4047 - 3992 4000 4012 4022 4038 4041 - 3975 3978 4009 4024 4054 4060 - 3999 4015 4030 4040 4045 15363 - 4000 4005 4019 4025 4041 4043 - 4001 4008 4016 4032 4039 4046 - 3978 3982 4020 4028 4060 4067 - 4005 4011 4022 4033 4043 4049 - 3867 3924 4014 4052 4145 4150 - 4010 4013 4029 4033 4051 4053 - 3982 3984 4024 4034 4067 4073 - 4013 4017 4027 4047 4051 - 4012 4021 4038 4045 4055 15363 - 3985 3988 4034 4035 4076 4078 - 4008 4015 4023 4040 4046 4056 - 4010 4011 4025 4027 4049 4053 - 3984 3985 4028 4031 4073 4078 - 3988 3997 4031 4037 4075 4076 - 3788 3802 4014 4072 4179 4248 - 3997 4006 4035 4069 4075 - 4012 4019 4030 4041 4055 4059 - 4016 4023 4046 4061 - 4015 4021 4032 4045 4056 4062 - 4019 4022 4038 4043 4059 4063 - 4007 4018 4047 4057 4081 4088 - 4022 4025 4041 4049 4063 4068 - 3716 3817 3996 4097 4190 4296 - 4021 4030 4040 4055 4062 4070 - 4023 4032 4039 4056 4061 4071 - 4017 4018 4029 4042 4051 4080 4081 - 3928 3973 3987 4083 4109 4138 - 4025 4033 4043 4053 4068 4074 - 3953 4006 4058 4069 4113 4125 - 4027 4029 4047 4053 4077 4080 - 3924 3962 4026 4066 4141 4145 - 4027 4033 4049 4051 4074 4077 - 4009 4020 4060 4094 - 4030 4038 4045 4059 4070 4079 - 4032 4040 4046 4062 4071 4082 - 4004 4007 4042 4084 4088 4105 - 3921 3953 4003 4050 4115 4125 4162 - 4038 4041 4055 4063 4079 4085 - 4020 4024 4054 4067 4094 4101 - 4039 4046 4071 4086 - 4040 4045 4056 4070 4082 4087 - 4041 4043 4059 4068 4085 4089 - 3916 3958 4002 4099 4178 4202 - 3760 3777 4072 4129 4253 4353 - 3962 4004 4052 4084 4141 4142 - 4024 4028 4060 4073 4101 4107 - 4043 4049 4063 4074 4089 4090 - 4006 4037 4050 4075 4113 4120 - 4045 4055 4062 4079 4087 4092 - 4046 4056 4061 4082 4086 4091 - 3777 3788 4036 4065 4248 4253 - 4028 4034 4067 4078 4107 4112 - 4049 4053 4068 4077 4090 4095 - 4035 4037 4069 4076 4120 15366 - 4031 4035 4075 4078 4119 15366 - 4051 4053 4074 4080 4095 15365 - 4031 4034 4073 4076 4112 4119 - 4055 4059 4070 4085 4092 4096 - 4047 4051 4077 4081 4102 15365 - 4042 4047 4080 4088 4102 4110 - 4056 4062 4071 4087 4091 4098 - 3973 4003 4048 4115 4138 4166 - 4004 4057 4066 4105 4137 4142 - 4059 4063 4079 4089 4096 4103 - 4061 4071 4091 4104 - 4062 4070 4082 4092 4098 4106 - 4042 4057 4081 4105 4110 4121 - 4063 4068 4085 4090 4103 4111 - 4068 4074 4089 4095 4111 4117 - 4071 4082 4086 4098 4104 4114 - 4070 4079 4087 4096 4106 4116 - 3869 3898 4118 4133 4264 4276 - 4054 4060 4101 4135 - 4074 4077 4090 4117 4122 15365 - 4079 4085 4092 4103 4116 4123 - 3716 3748 4044 4203 4296 4387 - 4082 4087 4091 4106 4114 4124 - 3958 3964 4064 4100 4202 4227 - 3964 3987 4099 4109 4206 4227 - 4060 4067 4094 4107 4135 4146 - 4080 4081 4110 4126 4132 15365 - 4085 4089 4096 4111 4123 4128 - 4086 4091 4114 4127 - 4057 4084 4088 4121 4137 4151 - 4087 4092 4098 4116 4124 4131 - 4067 4073 4101 4112 4146 4153 - 3889 3979 3996 4190 4220 4278 - 3987 4048 4100 4138 4206 4210 - 4081 4088 4102 4121 4132 4143 - 4089 4090 4103 4117 4128 4136 - 4073 4078 4107 4119 4153 4159 - 4050 4069 4120 4125 4171 4175 - 4091 4098 4104 4124 4127 4139 - 4003 4058 4083 4162 4166 4207 - 4092 4096 4106 4123 4131 4140 - 4090 4095 4111 4122 4136 4144 - 3898 4002 4093 4178 4264 4286 - 4076 4078 4112 4159 4164 15366 - 4069 4075 4113 4168 4171 15366 - 4088 4105 4110 4143 4151 - 4095 4117 4126 4144 4148 15365 - 4096 4103 4116 4128 4140 4149 - 4098 4106 4114 4131 4139 4147 - 4050 4058 4113 4162 4175 4196 - 4102 4122 4132 4148 4154 15365 - 4104 4114 4139 4152 - 4103 4111 4123 4136 4149 4155 - 3755 3760 4065 4193 4353 4428 - 2805 3839 3931 4357 4467 4528 - 4106 4116 4124 4140 4147 4156 - 4102 4110 4126 4143 4154 4158 - 3869 3979 4093 4220 4276 4287 - 3581 3994 4251 4485 4522 15350 - 4094 4101 4146 4181 - 4111 4117 4128 4144 4155 4160 - 4084 4105 4142 4151 4180 4191 - 4048 4083 4109 4166 4199 4210 - 4114 4124 4127 4147 4152 4161 - 4116 4123 4131 4149 4156 4165 - 4052 4066 4142 4145 4218 4255 - 4066 4084 4137 4141 4191 4218 - 4110 4121 4132 4151 4158 4163 - 4117 4122 4136 4148 4160 4167 - 4026 4052 4141 4150 4255 4263 - 4101 4107 4135 4153 4181 4189 - 4124 4131 4139 4156 4161 4170 - 4122 4126 4144 4154 4167 4174 - 4123 4128 4140 4155 4165 4173 - 4014 4026 4145 4179 4263 4269 - 4105 4121 4137 4143 4163 4180 4185 - 4127 4139 4161 4177 - 4107 4112 4146 4159 4189 4198 - 4126 4132 4148 4158 4174 4184 - 4128 4136 4149 4160 4173 15367 - 4131 4140 4147 4165 4170 4183 - 2790 3675 3809 4365 4463 4600 - 4132 4143 4154 4163 4182 4184 - 4112 4119 4153 4164 4198 4205 - 4136 4144 4155 4167 4187 15367 - 4139 4147 4152 4170 4177 4186 - 4058 4115 4125 4196 4207 4238 - 4143 4151 4158 4182 4185 - 4119 4159 4168 4205 4213 15366 - 4140 4149 4156 4173 4183 4188 - 4083 4115 4138 4199 4207 4237 - 4144 4148 4160 4174 4187 4192 - 4120 4164 4171 4213 4219 15366 - 2078 2587 4383 4762 4894 15364 - 4147 4156 4161 4183 4186 4194 - 4113 4120 4168 4175 4219 4226 - 3305 3960 4323 4436 4535 15355 - 4149 4155 4165 4188 4195 15367 - 4148 4154 4167 4184 4192 4197 - 4113 4125 4171 4196 4226 4233 - 1146 2062 3697 5050 5180 15374 - 4152 4161 4186 4200 - 4002 4064 4118 4202 4286 4343 - 4014 4036 4150 4248 4269 4346 - 4137 4151 4185 4191 4216 4217 - 4135 4146 4189 4225 - 4158 4163 4184 4185 4209 4212 - 4156 4165 4170 4188 4194 4204 - 4154 4158 4174 4182 4197 4209 - 4151 4163 4180 4182 4212 4216 - 4161 4170 4177 4194 4200 4211 - 4160 4167 4192 4208 4214 15367 - 4165 4173 4183 4195 4204 4215 - 4146 4153 4181 4198 4225 4234 - 3996 4044 4108 4278 4296 4433 - 4137 4142 4180 4217 4218 4240 - 4167 4174 4187 4197 4214 4221 - 3755 3759 4129 4294 4428 4526 - 4170 4183 4186 4204 4211 4222 - 4173 4188 4208 4215 4223 15367 - 4125 4162 4175 4233 4238 4243 - 4174 4184 4192 4209 4221 4228 - 4153 4159 4189 4205 4234 4241 - 4138 4166 4210 4237 4262 - 4177 4186 4211 4224 - 203 275 1438 5293 7003 7847 - 4064 4099 4178 4227 4316 4343 - 3748 3931 4097 4357 4387 4503 - 4183 4188 4194 4215 4222 4229 - 4159 4164 4198 4213 4241 4249 - 4100 4109 4210 4227 4277 4330 - 4115 4162 4166 4237 4238 4265 - 4187 4195 4214 4223 4230 15367 - 4182 4184 4197 4212 4228 4232 - 4109 4138 4199 4206 4262 4277 - 4186 4194 4200 4222 4224 4231 - 4182 4185 4209 4216 4232 4247 - 4164 4168 4205 4219 4249 4257 - 4187 4192 4208 4221 4230 4235 - 4188 4195 4204 4223 4229 4236 - 4180 4185 4212 4217 4246 4247 - 4180 4191 4216 4240 4246 - 4141 4142 4191 4240 4255 4267 4293 - 4168 4171 4213 4226 4257 4260 - 3979 4108 4133 4278 4287 4373 - 4192 4197 4214 4228 4235 4242 - 4194 4204 4211 4229 4231 4239 - 4195 4208 4215 4230 4236 4244 - 4200 4211 4231 4245 - 4181 4189 4234 4268 - 4171 4175 4219 4233 4260 4270 - 4099 4100 4202 4206 4316 4330 - 4197 4209 4221 4232 4242 4252 - 4204 4215 4222 4236 4239 4250 - 4208 4214 4223 4235 4244 4254 - 4211 4222 4224 4239 4245 4256 - 4209 4212 4228 4247 4252 4261 - 4175 4196 4226 4243 4270 4283 - 4189 4198 4225 4241 4268 4280 - 4214 4221 4230 4242 4254 4259 - 4215 4223 4229 4244 4250 4258 - 4166 4199 4207 4262 4265 4324 - 4162 4196 4207 4243 4265 4274 4301 - 4222 4229 4231 4250 4256 4266 - 4191 4217 4218 4246 4267 4279 - 4198 4205 4234 4249 4280 4292 - 4221 4228 4235 4252 4259 4273 - 4196 4233 4238 4274 4283 - 4223 4230 4236 4254 4258 4272 - 4224 4231 4256 4271 - 4216 4217 4240 4247 4279 4282 - 4212 4216 4232 4246 4261 4282 4289 - 4036 4072 4179 4253 4346 4441 4451 - 4205 4213 4241 4257 4292 4298 - 4229 4236 4239 4258 4266 4275 - 3581 3809 4134 4365 4522 4577 - 4228 4232 4242 4261 4273 4281 - 4065 4072 4248 4353 4451 - 4230 4235 4244 4259 4272 4284 - 4141 4145 4218 4263 4293 4335 4358 - 4231 4239 4245 4266 4271 4285 - 4213 4219 4249 4260 4298 4304 - 4236 4244 4250 4272 4275 4288 - 4235 4242 4254 4273 4284 4291 - 4219 4226 4257 4270 4304 4307 - 4232 4247 4252 4281 4289 4290 - 4199 4210 4237 4277 4324 4332 - 4145 4150 4255 4269 4358 15368 - 4093 4118 4276 4286 4397 4399 - 4207 4237 4238 4301 4324 4333 - 4239 4250 4256 4275 4285 4295 - 4218 4240 4279 4293 4311 - 4225 4234 4280 4314 - 4150 4179 4263 4346 15368 - 4226 4233 4260 4283 4307 4313 - 4245 4256 4285 4297 - 4244 4254 4258 4284 4288 4299 - 4242 4252 4259 4281 4291 4300 - 4238 4243 4283 4301 4318 - 4250 4258 4266 4288 4295 4302 - 4093 4133 4264 4287 4399 4402 - 4206 4210 4262 4330 4332 4372 - 4108 4190 4220 4373 4433 4457 - 4240 4246 4267 4282 4310 4311 - 4234 4241 4268 4292 4314 4322 - 4252 4261 4273 4290 4300 4303 - 4246 4247 4279 4289 4308 4310 - 4233 4243 4270 4274 4313 4318 - 4254 4259 4272 4291 4299 4306 - 4256 4266 4271 4295 4297 4305 - 4118 4178 4264 4343 4397 4416 - 4133 4220 4276 4373 4402 - 4258 4272 4275 4299 4302 4312 - 4247 4261 4282 4290 4308 4309 - 4261 4281 4289 4303 4309 - 4259 4273 4284 4300 4306 4315 - 4241 4249 4280 4298 4322 4331 - 4218 4255 4267 4311 4335 4340 - 3759 3960 4193 4436 4526 4589 - 4266 4275 4285 4302 4305 4317 - 4044 4097 4190 4387 4433 4511 - 4271 4285 4305 4319 - 4249 4257 4292 4304 4331 4339 - 4272 4284 4288 4306 4312 4321 - 4273 4281 4291 4303 4315 4320 - 4238 4265 4274 4318 4333 4350 - 4275 4288 4295 4312 4317 4325 - 4281 4290 4300 4309 4320 4326 - 4257 4260 4298 4307 4339 4347 - 4285 4295 4297 4317 4319 4327 - 4284 4291 4299 4315 4321 4328 - 4260 4270 4304 4313 4347 4348 - 4282 4289 4309 4310 4329 4336 - 4289 4290 4303 4308 4326 4329 - 4279 4282 4308 4311 4336 4341 - 4267 4279 4293 4310 4340 4341 - 4288 4299 4302 4321 4325 4334 - 4270 4283 4307 4318 4348 4351 - 4268 4280 4322 4356 - 4291 4300 4306 4320 4328 4337 - 4202 4227 4330 4343 4400 4417 - 4295 4302 4305 4325 4327 4338 - 4274 4283 4301 4313 4350 4351 - 4297 4305 4327 4342 - 4300 4303 4315 4326 4337 4344 - 4299 4306 4312 4328 4334 4345 - 4280 4292 4314 4331 4356 4367 - 3994 4172 4485 4535 4661 15355 - 4237 4262 4265 4332 4333 4381 4391 - 4302 4312 4317 4334 4338 4349 - 4303 4309 4320 4329 4344 4355 - 4305 4317 4319 4338 4342 4352 - 4306 4315 4321 4337 4345 4354 - 4308 4309 4326 4336 4355 4363 - 4206 4227 4277 4316 4372 4400 4420 - 4292 4298 4322 4339 4367 4374 - 4262 4277 4324 4372 4391 4409 - 4265 4301 4324 4350 4381 4386 - 4312 4321 4325 4345 4349 4359 - 4255 4293 4340 4358 4385 4411 - 4308 4310 4329 4341 4363 4364 - 4315 4320 4328 4344 4354 4360 - 4317 4325 4327 4349 4352 4361 - 4298 4304 4331 4347 4374 4376 - 4293 4311 4335 4341 4366 4385 - 4310 4311 4336 4340 4364 4366 - 4319 4327 4352 4362 - 4178 4202 4286 4316 4416 4417 4468 - 4320 4326 4337 4355 4360 4369 - 4321 4328 4334 4354 4359 4368 - 4179 4248 4269 4441 4458 15368 - 4304 4307 4339 4348 4376 4384 - 4307 4313 4347 4351 4384 4388 - 4325 4334 4338 4359 4361 4370 - 4301 4318 4333 4351 4386 4390 - 4313 4318 4348 4350 4388 4390 - 4327 4338 4342 4361 4362 4371 - 4065 4129 4253 4428 4451 4537 - 4328 4337 4345 4360 4368 4375 - 4326 4329 4344 4363 4369 4378 - 4314 4322 4367 4396 - 3931 4130 4203 4503 4528 4573 - 4255 4263 4335 4411 4446 15368 - 4334 4345 4349 4368 4370 4377 - 4337 4344 4354 4369 4375 4380 - 4338 4349 4352 4370 4371 4379 - 4342 4352 4371 4382 - 4329 4336 4355 4364 4378 4392 - 4336 4341 4363 4366 4392 15369 - 3809 4157 4251 4577 4600 - 4340 4341 4364 4385 15369 - 4322 4331 4356 4374 4396 4405 - 4345 4354 4359 4375 4377 4389 - 4344 4355 4360 4378 4380 4395 - 4349 4359 4361 4377 4379 4393 - 4352 4361 4362 4379 4382 4394 - 4277 4330 4332 4409 4420 4439 - 4220 4278 4287 4402 4457 4489 - 4331 4339 4367 4376 4405 4412 - 4354 4360 4368 4380 4389 4398 - 4339 4347 4374 4384 4412 4418 - 4359 4368 4370 4389 4393 4403 - 4355 4363 4369 4392 4395 4401 - 4361 4370 4371 4393 4394 4404 - 4360 4369 4375 4395 4398 4407 - 4324 4333 4386 4391 4430 4438 - 4362 4371 4394 4406 - 2062 2078 4169 4894 5221 15374 - 4347 4348 4376 4388 4418 4423 - 4335 4340 4366 4411 4448 15369 - 4333 4350 4381 4390 4429 4430 - 4097 4203 4296 4503 4511 4583 - 4348 4351 4384 4390 4423 4426 - 4368 4375 4377 4398 4403 4410 - 4350 4351 4386 4388 4426 4429 - 4324 4332 4381 4409 4438 4450 - 4363 4364 4378 4401 4408 15369 - 4370 4377 4379 4403 4404 4413 - 4371 4379 4382 4404 4406 4414 - 4369 4378 4380 4401 4407 4415 - 4356 4367 4405 4434 - 4264 4286 4399 4416 4488 4493 - 4375 4380 4389 4407 4410 4419 - 4264 4276 4397 4402 4493 4502 - 4316 4330 4417 4420 4453 4475 - 4378 4392 4395 4408 4415 4421 - 4276 4287 4373 4399 4489 4502 - 4377 4389 4393 4410 4413 4422 - 4379 4393 4394 4413 4414 4424 - 4367 4374 4396 4412 4434 4444 - 4382 4394 4414 4425 - 4380 4395 4398 4415 4419 4427 - 4392 4401 4421 4445 15369 - 4332 4372 4391 4439 4450 4465 - 4389 4398 4403 4419 4422 4431 - 4335 4358 4385 4446 4448 4492 - 4374 4376 4405 4418 4444 4456 - 4393 4403 4404 4422 4424 4435 - 4394 4404 4406 4424 4425 4437 - 4395 4401 4407 4421 4427 4432 - 4286 4343 4397 4468 4488 4514 - 4316 4343 4400 4468 4475 4513 - 4376 4384 4412 4423 4456 4461 - 4398 4407 4410 4427 4431 4442 - 4330 4372 4400 4439 4453 4476 - 4401 4408 4415 4432 4445 4454 - 4403 4410 4413 4431 4435 4443 - 4384 4388 4418 4426 4461 4466 - 4404 4413 4414 4435 4437 4447 - 4406 4414 4437 4449 - 4388 4390 4423 4429 4466 4471 - 4407 4415 4419 4432 4442 4452 - 4129 4193 4353 4526 4537 4647 - 4386 4390 4426 4430 4471 4477 - 4381 4386 4429 4438 4477 4480 - 4410 4419 4422 4442 4443 4455 - 4415 4421 4427 4452 4454 - 4190 4278 4296 4457 4511 4554 4603 - 4396 4405 4444 4474 - 4413 4422 4424 4443 4447 4459 - 3960 4172 4294 4535 4589 4664 - 4414 4424 4425 4447 4449 4460 - 4381 4391 4430 4450 4480 4487 - 4372 4409 4420 4465 4476 4479 - 3690 3839 4467 4509 4685 4715 - 4248 4346 4451 4458 4551 4567 - 4419 4427 4431 4452 4455 4462 - 4422 4431 4435 4455 4459 4464 - 4405 4412 4434 4456 4474 4486 - 4408 4421 4448 4454 4481 4495 15369 - 4358 4411 4458 4492 4517 15368 - 4424 4435 4437 4459 4460 4469 - 4385 4411 4445 4492 4495 4523 15369 - 4425 4437 4460 4472 - 4391 4409 4438 4465 4487 4496 - 4248 4253 4353 4441 4537 4567 4628 - 4427 4432 4442 4454 4462 4473 - 4400 4420 4475 4476 4497 - 4421 4432 4445 4452 4473 4481 - 4431 4442 4443 4462 4464 4470 - 4412 4418 4444 4461 4486 4491 - 4278 4373 4433 4489 4554 4563 - 4346 4441 4446 4517 4551 15368 - 4435 4443 4447 4464 4469 4478 - 4437 4447 4449 4469 4472 4483 - 4418 4423 4456 4466 4491 4499 - 4442 4452 4455 4470 4473 4484 - 3675 4157 4600 4762 4851 15364 - 4443 4455 4459 4470 4478 4482 - 4409 4439 4450 4479 4496 4507 - 4423 4426 4461 4471 4499 4506 - 3839 4130 4440 4528 4679 4685 - 4343 4416 4417 4513 4514 4538 - 4447 4459 4460 4478 4483 4490 - 4455 4462 4464 4482 4484 - 4426 4429 4466 4477 4506 4510 - 4449 4460 4483 4494 - 4452 4454 4462 4481 4484 4498 - 4434 4444 4486 4512 - 4400 4417 4453 4497 4513 4545 - 4420 4439 4453 4479 4497 4505 4521 - 4429 4430 4471 4480 4510 4515 - 4459 4464 4469 4482 4490 4500 - 4439 4465 4476 4505 4507 - 4430 4438 4477 4487 4515 4520 - 4445 4454 4473 4495 4498 4531 - 4464 4470 4478 4484 4500 4504 - 4460 4469 4472 4490 4494 4508 - 4462 4470 4473 4482 4498 4504 - 3994 4134 4323 4522 4661 4745 - 4444 4456 4474 4491 4512 4518 - 4438 4450 4480 4496 4520 4530 - 4397 4416 4493 4514 4544 4562 - 4373 4402 4457 4502 4563 4578 - 4469 4478 4483 4500 4508 4516 - 4456 4461 4486 4499 4518 4529 - 4411 4446 4448 4517 4523 4559 - 4397 4399 4488 4502 4562 4566 - 4472 4483 4508 4519 - 4445 4448 4481 4523 4531 4543 - 4450 4465 4487 4507 4530 4534 - 4453 4475 4476 4521 4545 4546 - 4473 4481 4484 4504 4527 4531 - 4461 4466 4491 4506 4529 15370 - 4478 4482 4490 4504 4516 4524 - 1168 2700 3287 4893 5174 5290 - 4399 4402 4489 4493 4566 4578 - 4203 4357 4387 4573 4583 4667 - 4482 4484 4498 4500 4524 4527 - 4476 4479 4507 4521 4532 - 4466 4471 4499 4510 4536 15370 - 4465 4479 4496 4505 4532 4534 - 4483 4490 4494 4516 4519 4533 - 3690 3813 4440 4706 4715 4827 - 4471 4477 4506 4515 4536 4541 - 4296 4387 4433 4583 4603 4644 - 4474 4486 4518 4540 - 4417 4468 4475 4538 4545 4565 - 4416 4468 4488 4538 4544 4571 - 4477 4480 4510 4520 4541 4547 - 4490 4500 4508 4524 4533 4539 - 4446 4458 4492 4551 4559 4579 4594 - 4486 4491 4512 4529 4540 4549 - 4494 4508 4533 4542 - 4480 4487 4515 4530 4547 4550 - 4476 4497 4505 4532 4546 4552 - 4134 4251 4485 4577 4745 4796 - 4448 4492 4495 4543 4559 4576 - 4500 4504 4516 4527 4539 4548 - 2171 2700 3813 4706 4893 4958 - 4193 4294 4428 4589 4647 4690 - 4498 4504 4524 4531 4548 4553 - 4130 4357 4467 4573 4675 4679 - 4491 4499 4518 4549 4556 15370 - 4487 4496 4520 4534 4550 4558 - 4481 4495 4498 4527 4543 4553 4570 - 4505 4507 4521 4534 4552 4561 - 4508 4516 4519 4539 4542 4555 - 4496 4507 4530 4532 4558 4561 - 4172 4323 4436 4661 4664 4776 - 4506 4510 4541 4564 4569 15370 - 4353 4428 4451 4628 4647 4701 - 4468 4513 4514 4565 4571 4596 - 4516 4524 4533 4548 4555 4568 - 4512 4518 4549 4574 - 4510 4515 4536 4547 4569 4575 - 4519 4533 4555 4572 - 4495 4523 4531 4570 4576 4591 - 4488 4514 4562 4571 4595 - 4475 4497 4513 4546 4565 4586 4601 - 4497 4521 4545 4552 4585 4586 - 4515 4520 4541 4550 4575 4580 - 4524 4527 4539 4553 4568 4581 - 4518 4529 4540 4556 4574 4582 - 4520 4530 4547 4558 4580 15371 - 4441 4458 4517 4567 4594 4632 4654 - 4521 4532 4546 4561 4585 4587 - 4527 4531 4548 4570 4581 4593 - 4433 4457 4563 4603 4641 4646 - 4533 4539 4542 4568 4572 4584 - 4529 4549 4564 4582 4588 15370 - 244 312 361 4780 5550 6345 6996 - 4530 4534 4550 4561 4590 15371 - 4492 4517 4523 4576 4579 4592 - 199 239 4672 6408 6740 7295 - 4532 4534 4552 4558 4587 4590 - 4488 4493 4544 4566 4595 4615 - 4457 4489 4554 4578 4641 4652 - 4536 4556 4569 4588 4597 15370 - 4513 4538 4545 4596 4601 4614 - 4493 4502 4562 4578 4615 4649 - 4441 4451 4551 4628 4654 4695 - 4539 4548 4555 4581 4584 4599 - 4536 4541 4564 4575 4597 4602 - 4531 4543 4553 4591 4593 4607 - 4514 4538 4544 4595 4596 4617 - 4542 4555 4584 4598 - 4357 4503 4528 4667 4675 4730 - 4540 4549 4582 4604 - 4541 4547 4569 4580 4602 4606 - 4523 4543 4559 4591 4592 4605 - 4251 4365 4522 4600 4796 4869 - 4489 4502 4563 4566 4649 4652 - 4517 4559 4592 4594 4608 - 4547 4550 4575 4606 4609 15371 - 4548 4553 4568 4593 4599 4611 - 4549 4556 4574 4588 4604 4610 - 4387 4503 4511 4644 4667 4731 - 4555 4568 4572 4598 4599 4612 - 4546 4552 4586 4587 4618 4621 - 4545 4546 4585 4601 4621 4629 - 4552 4561 4585 4590 4616 4618 - 4556 4564 4582 4597 4610 4619 - 4294 4436 4526 4664 4690 4751 - 4558 4561 4587 4613 4616 15371 - 4543 4570 4576 4605 4607 4622 - 4559 4576 4579 4605 4608 4620 - 4553 4570 4581 4607 4611 4626 - 4517 4551 4579 4608 4632 4643 - 4544 4562 4571 4615 4617 4642 - 4538 4565 4571 4614 4617 4634 - 4564 4569 4588 4602 4619 4623 - 4572 4584 4612 4624 - 4568 4581 4584 4611 4612 4627 - 4157 4365 4463 4577 4851 4869 - 4545 4565 4586 4614 4629 4635 - 4569 4575 4597 4606 4623 4630 - 4433 4511 4554 4644 4646 4709 - 4574 4582 4610 4631 - 4576 4591 4592 4620 4622 4625 - 4575 4580 4602 4609 4630 4633 - 4570 4591 4593 4622 4626 4636 - 4579 4592 4594 4620 4643 4655 - 4580 4606 4613 4633 4638 15371 - 4582 4588 4604 4619 4631 4637 - 4581 4593 4599 4626 4627 4640 - 4584 4598 4599 4624 4627 4639 - 4590 4609 4616 4638 4645 15371 - 4565 4596 4601 4634 4635 4659 - 4562 4566 4595 4642 4649 4702 - 4587 4590 4613 4618 4645 4650 - 4571 4595 4596 4634 4642 4669 - 4585 4587 4616 4621 4650 4656 - 4588 4597 4610 4623 4637 4651 - 4592 4605 4608 4625 4653 4655 - 4585 4586 4618 4629 4656 4660 - 4591 4605 4607 4625 4636 4648 - 4597 4602 4619 4630 4651 4658 - 4598 4612 4639 4657 - 4605 4620 4622 4648 4653 - 4593 4607 4611 4636 4640 4663 - 4599 4611 4612 4639 4640 4662 - 4451 4537 4567 4695 4701 4744 - 4586 4601 4621 4635 4660 4668 - 4602 4606 4623 4633 4658 4665 - 4604 4610 4637 4666 - 4551 4594 4643 4654 4703 4711 - 4606 4609 4630 4638 4665 4671 - 4596 4614 4617 4659 4669 4682 - 4601 4614 4629 4659 4668 4670 - 4607 4622 4626 4648 4663 4673 - 4610 4619 4631 4651 4666 4674 - 4609 4613 4633 4645 4671 4676 - 4612 4624 4627 4657 4662 4677 - 4611 4626 4627 4662 4663 4678 - 4554 4563 4646 4652 4733 4742 - 4595 4615 4617 4669 4702 4712 - 4594 4608 4632 4655 4697 4703 - 4511 4583 4603 4709 4731 4768 - 4613 4616 4638 4650 4676 4681 - 4554 4603 4641 4709 4742 - 4428 4526 4537 4690 4701 4794 4799 - 4622 4625 4636 4653 4673 4680 - 4566 4578 4615 4652 4702 4737 - 4616 4618 4645 4656 4681 4684 - 4619 4623 4637 4658 4674 4683 - 4563 4578 4641 4649 4733 4737 - 4620 4625 4648 4655 4680 4686 - 4551 4567 4632 4695 4711 4739 - 4608 4620 4643 4653 4686 4697 - 4618 4621 4650 4660 4684 4689 - 4624 4639 4677 4687 - 4623 4630 4651 4665 4683 4688 - 4614 4634 4635 4670 4682 4693 - 4621 4629 4656 4668 4689 4694 - 4323 4485 4535 4745 4776 4892 - 4627 4639 4640 4677 4678 4692 - 4626 4636 4640 4673 4678 4691 - 4436 4535 4589 4751 4776 4844 - 4630 4633 4658 4671 4688 4696 - 4631 4637 4674 4698 - 4503 4573 4583 4730 4731 4795 - 4629 4635 4660 4670 4694 4699 - 4617 4634 4642 4682 4712 4718 - 4635 4659 4668 4693 4699 - 4633 4638 4665 4676 4696 4700 - 199 253 4560 4995 6562 6740 - 4636 4648 4663 4680 4691 4704 - 4637 4651 4666 4683 4698 4705 - 4528 4573 4679 4730 4804 - 4638 4645 4671 4681 4700 4707 - 4639 4657 4662 4687 4692 4708 - 4640 4662 4663 4691 4692 4710 - 4467 4528 4675 4685 4804 4821 - 4648 4653 4673 4686 4704 4716 - 4645 4650 4676 4684 4707 4713 - 4634 4659 4669 4693 4718 4721 - 4651 4658 4674 4688 4705 4714 - 4650 4656 4681 4689 4713 4717 - 4440 4467 4679 4715 4821 4823 - 4653 4655 4680 4697 4716 4728 - 4657 4677 4708 4720 - 4658 4665 4683 4696 4714 4719 - 4656 4660 4684 4694 4717 4722 - 4526 4589 4647 4751 4794 4835 - 4663 4673 4678 4704 4710 4724 - 4662 4677 4678 4708 4710 4726 - 4659 4670 4682 4699 4721 4723 - 4660 4668 4689 4699 4722 4725 - 4567 4628 4654 4739 4744 4777 - 4665 4671 4688 4700 4719 4727 - 4643 4655 4686 4703 4728 4738 - 4666 4674 4705 4729 - 4668 4670 4693 4694 4723 4725 - 4671 4676 4696 4707 4727 4732 - 4537 4628 4647 4744 4799 4824 - 4615 4642 4649 4712 4737 4766 4779 - 4632 4643 4697 4711 4738 4755 - 4673 4680 4691 4716 4724 4736 - 4674 4683 4698 4714 4729 4734 - 3813 4509 4525 4827 4958 5028 - 4676 4681 4700 4713 4732 4735 - 4677 4687 4692 4720 4726 15372 - 4603 4644 4646 4742 4768 4808 - 4678 4691 4692 4724 4726 4740 - 4632 4654 4703 4739 4755 4773 - 4642 4669 4702 4718 4761 4766 - 4681 4684 4707 4717 4735 4743 - 4683 4688 4705 4719 4734 4741 - 4440 4509 4685 4823 4827 4947 - 4680 4686 4704 4728 4736 4749 - 4684 4689 4713 4722 4743 4746 - 4669 4682 4712 4721 4754 4761 - 4688 4696 4714 4727 4741 4747 - 4687 4708 4748 15372 - 4682 4693 4718 4723 4753 4754 - 4689 4694 4717 4725 4746 4750 - 4693 4699 4721 4725 4752 4753 - 4691 4704 4710 4736 4740 4759 - 4694 4699 4722 4723 4750 4752 - 4692 4708 4710 4740 4758 15372 - 4696 4700 4719 4732 4747 4756 - 4686 4697 4716 4738 4749 4764 - 4698 4705 4734 4757 - 4573 4667 4675 4795 4804 4913 - 4583 4644 4667 4768 4795 4877 - 4700 4707 4727 4735 4756 4760 - 4641 4652 4737 4742 4816 4836 - 4705 4714 4729 4741 4757 4763 - 4707 4713 4732 4743 4760 4765 - 4704 4716 4724 4749 4759 4770 - 4649 4652 4702 4733 4779 4812 4816 - 4697 4703 4728 4755 4764 4783 - 4654 4695 4711 4773 4777 4806 - 4710 4724 4726 4758 4759 4772 - 4714 4719 4734 4747 4763 4769 - 4641 4646 4709 4733 4808 4836 - 4713 4717 4735 4746 4765 4771 - 4628 4695 4701 4777 4824 4840 - 4485 4522 4661 4796 4892 4976 - 4717 4722 4743 4750 4771 4774 - 4719 4727 4741 4756 4769 4775 - 4720 4767 4782 15372 - 4716 4728 4736 4764 4770 4787 - 4722 4725 4746 4752 4774 4778 - 4589 4664 4690 4835 4844 4898 - 4723 4725 4750 4753 4778 4781 - 4721 4723 4752 4754 4781 4786 - 4718 4721 4753 4761 4786 4790 - 4703 4711 4738 4773 4783 4800 - 4727 4732 4747 4760 4775 4785 - 4729 4734 4763 4784 - 4726 4740 4767 4772 4788 15372 - 4724 4736 4740 4770 4772 4791 - 4732 4735 4756 4765 4785 4789 - 4712 4718 4754 4766 4790 4802 - 4169 4463 4851 4894 5272 5282 15364 - 4734 4741 4757 4769 4784 4792 - 4728 4738 4749 4783 4787 4803 - 4735 4743 4760 4771 4789 4793 - 4702 4712 4761 4779 4802 4819 - 4748 4758 4782 4788 4801 15372 - 4644 4709 4731 4808 4877 4883 - 4741 4747 4763 4775 4792 4797 - 4736 4749 4759 4787 4791 4809 - 4743 4746 4765 4774 4793 4798 - 4740 4758 4759 4788 4791 4807 - 4711 4739 4755 4800 4806 4833 - 4746 4750 4771 4778 4798 4805 - 4747 4756 4769 4785 4797 15373 - 4535 4661 4664 4844 4892 5012 - 4695 4739 4744 4806 4840 4857 - 4750 4752 4774 4781 4805 4810 - 4702 4737 4766 4812 4819 4853 - 312 894 4557 4973 6102 6345 - 4752 4753 4778 4786 4810 4814 - 4748 4767 4801 4815 - 4738 4755 4764 4800 4803 4828 - 4757 4763 4792 4811 - 4756 4760 4775 4789 4813 15373 - 4753 4754 4781 4790 4814 4818 - 4749 4764 4770 4803 4809 4826 - 4758 4767 4772 4801 4807 4822 - 4760 4765 4785 4793 4813 4817 - 4754 4761 4786 4802 4818 4831 - 4759 4770 4772 4807 4809 4829 - 4763 4769 4784 4797 4811 4820 - 4765 4771 4789 4798 4817 4825 - 4647 4690 4799 4835 4884 15375 - 4667 4730 4731 4877 4913 4966 - 4522 4577 4745 4869 4976 5213 - 4769 4775 4792 4820 4832 15373 - 4771 4774 4793 4805 4825 4834 - 4647 4701 4794 4824 4884 4902 - 4755 4773 4783 4828 4833 4855 - 4767 4782 4788 4815 4822 4838 - 4761 4766 4790 4819 4831 4841 - 4764 4783 4787 4826 4828 4848 - 4675 4679 4730 4821 4913 4941 - 4774 4778 4798 4810 4834 4839 - 4739 4773 4777 4833 4857 4870 - 4772 4788 4791 4822 4829 4845 - 4709 4742 4768 4836 4883 4911 - 4770 4787 4791 4826 4829 4847 - 4778 4781 4805 4814 4839 4842 - 4784 4792 4820 4843 - 4737 4779 4816 4853 4865 - 4785 4789 4817 4837 4846 15373 - 4781 4786 4810 4818 4842 4849 - 4782 4801 4838 4850 - 4733 4737 4812 4836 4865 4921 - 4789 4793 4813 4825 4846 4852 - 4786 4790 4814 4831 4849 4856 - 4766 4779 4802 4841 4853 4858 - 4792 4797 4811 4832 4843 4854 - 4679 4685 4804 4823 4941 4953 - 4788 4801 4807 4838 4845 4860 - 4685 4715 4821 4947 4953 - 4701 4744 4799 4840 4902 4933 - 4793 4798 4817 4834 4852 4859 - 4787 4803 4809 4847 4848 4866 - 4509 4706 4715 4947 5028 5107 - 4783 4800 4803 4848 4855 4872 - 4791 4807 4809 4845 4847 4863 - 2565 3697 4888 5050 5372 5652 - 4790 4802 4818 4841 4856 4864 - 4797 4820 4837 4854 4861 15373 - 4773 4800 4806 4855 4870 4882 - 4798 4805 4825 4839 4859 4862 - 4690 4751 4794 4898 4954 15375 - 4733 4742 4808 4816 4911 4921 - 4813 4832 4846 4861 4867 15373 - 4801 4815 4822 4850 4860 4873 - 4805 4810 4834 4842 4862 4868 - 4744 4777 4824 4857 4926 4933 - 4802 4819 4831 4858 4864 4871 - 4810 4814 4839 4849 4868 4875 - 4811 4820 4854 4874 - 4664 4751 4776 4898 5010 5012 - 4807 4822 4829 4860 4863 4878 - 4813 4817 4837 4852 4867 4876 - 4809 4826 4829 4863 4866 4887 - 4803 4826 4828 4866 4872 4889 - 4814 4818 4842 4856 4875 4880 - 4815 4838 4873 4886 - 4463 4600 4762 4869 5255 5272 - 4817 4825 4846 4859 4876 4879 - 4779 4812 4819 4858 4865 4885 4904 - 4820 4832 4843 4861 4874 4881 - 4800 4828 4833 4872 4882 4901 - 4818 4831 4849 4864 4880 4891 - 4777 4806 4840 4870 4924 4926 - 4819 4841 4853 4871 4885 - 4825 4834 4852 4862 4879 4890 - 4822 4838 4845 4873 4878 4896 - 4832 4837 4854 4867 4881 4895 - 4834 4839 4859 4868 4890 4899 - 4829 4845 4847 4878 4887 4905 - 4831 4841 4856 4871 4891 4897 - 4812 4816 4853 4904 4921 4943 - 4826 4847 4848 4887 4889 4907 - 4837 4846 4861 4876 4895 4900 - 4839 4842 4862 4875 4899 4903 - 4577 4600 4796 4851 5213 5255 - 4806 4833 4857 4882 4924 4927 - 4841 4858 4864 4885 4897 4909 - 4828 4848 4855 4889 4901 4914 - 4838 4850 4860 4886 4896 4912 - 4843 4854 4881 4906 - 4842 4849 4868 4880 4903 4910 - 4846 4852 4867 4879 4900 4908 - 4731 4768 4795 4883 4966 5026 - 4845 4860 4863 4896 4905 4918 - 4852 4859 4876 4890 4908 4915 - 4849 4856 4875 4891 4910 4917 - 4854 4861 4874 4895 4906 4916 - 4833 4855 4870 4901 4927 4932 - 4768 4808 4877 4911 4991 5026 - 4794 4799 4902 4940 4960 15375 - 4853 4858 4871 4904 4909 4931 - 4850 4873 4912 4922 - 4847 4863 4866 4905 4907 4925 - 2565 3878 4830 5611 5652 - 4848 4866 4872 4907 4914 4928 - 4859 4862 4879 4899 4915 15376 - 4856 4864 4880 4897 4917 4919 - 4661 4745 4776 4976 5012 5096 - 2700 4501 4525 4958 5290 5355 5486 - 4169 4383 4762 5221 5282 5498 - 4861 4867 4881 4900 4916 4923 - 4860 4873 4878 4912 4918 4934 - 4864 4871 4891 4909 4919 4920 - 4751 4835 4844 4954 5010 5018 - 4862 4868 4890 4903 4929 15376 - 4867 4876 4895 4908 4923 4930 - 4855 4872 4882 4914 4932 4937 - 4799 4824 4884 4933 4940 4978 - 4868 4875 4899 4910 4929 4935 - 4853 4865 4885 4931 4943 4982 - 4863 4878 4887 4918 4925 4942 - 4874 4881 4916 4936 - 4866 4887 4889 4925 4928 4946 - 4876 4879 4900 4915 4930 4938 - 4871 4885 4897 4920 4931 4944 - 4875 4880 4903 4917 4935 4939 - 4808 4836 4883 4921 4991 5003 - 4873 4886 4896 4922 4934 4951 - 4730 4795 4804 4941 4966 5080 5105 - 4872 4889 4901 4928 4937 4945 - 4879 4890 4908 4938 4948 15376 - 4881 4895 4906 4923 4936 4949 - 4880 4891 4910 4919 4939 4950 - 4878 4896 4905 4934 4942 4957 - 4891 4897 4917 4920 4950 4952 - 4897 4909 4919 4944 4952 - 4816 4836 4865 4911 4943 5000 5003 - 4886 4912 4951 4959 - 4895 4900 4916 4930 4949 4956 - 4857 4870 4926 4927 4975 4985 - 4887 4905 4907 4942 4946 4963 - 4840 4857 4924 4933 4985 4992 - 4870 4882 4924 4932 4970 4975 - 4889 4907 4914 4945 4946 4964 - 4899 4903 4935 4955 4961 15376 - 4900 4908 4923 4938 4956 4962 - 4885 4904 4909 4944 4977 4982 - 4882 4901 4927 4937 4965 4970 - 4824 4840 4902 4926 4978 4992 15377 - 4896 4912 4918 4951 4957 4972 - 4903 4910 4929 4939 4961 4968 - 4906 4916 4949 4969 - 4901 4914 4932 4945 4965 4967 - 4908 4915 4930 4948 4962 4971 - 4910 4917 4935 4950 4968 4974 - 4884 4902 4960 4978 5013 - 4804 4821 4913 4953 5105 5131 - 4905 4918 4925 4957 4963 4986 - 4865 4904 4921 4982 5000 5027 - 4909 4920 4931 4952 4977 4983 - 4914 4928 4937 4964 4967 4984 - 4907 4925 4928 4963 4964 4987 - 4715 4823 4827 4953 5107 5173 - 4915 4938 4955 4971 4980 15376 - 4916 4923 4936 4956 4969 4979 - 4917 4919 4939 4952 4974 4981 - 4912 4922 4934 4959 4972 4988 - 4919 4920 4944 4950 4981 4983 - 4821 4823 4941 4947 5131 5173 - 4835 4898 4993 5018 5033 15375 - 4929 4948 4961 4980 4989 15376 - 4923 4930 4949 4962 4979 4990 - 4918 4934 4942 4972 4986 4998 - 4525 4706 4893 5028 5190 5355 - 4922 4951 4988 4999 - 4884 4940 4993 5013 5044 15375 - 4929 4935 4955 4968 4989 4994 - 4930 4938 4956 4971 4990 4996 - 4925 4942 4946 4986 4987 5005 - 4928 4945 4946 4984 4987 5004 - 4932 4937 4967 4970 4997 5007 - 4795 4877 4913 5026 5080 5112 - 4937 4945 4965 4984 4997 - 4935 4939 4961 4974 4994 5002 - 4936 4949 4979 5001 - 4927 4932 4965 4975 5007 5017 - 4938 4948 4962 4980 4996 5006 - 4934 4951 4957 4988 4998 5015 - 894 1987 4780 5181 6066 6102 - 4939 4950 4968 4981 5002 5008 - 4924 4927 4970 4985 5017 5023 - 4745 4796 4892 5096 5213 5309 - 4931 4944 4982 4983 5016 5020 - 4902 4933 4940 5013 5066 15377 - 4949 4956 4969 4990 5001 5011 - 4948 4955 4971 4989 5006 5014 - 4950 4952 4974 4983 5008 5009 - 4904 4931 4943 4977 5020 5027 5041 - 4944 4952 4977 4981 5009 5016 - 4945 4964 4967 4997 5004 5019 - 4924 4926 4975 4992 5023 5032 - 4942 4957 4963 4998 5005 5024 - 4946 4963 4964 5004 5005 5025 - 4951 4959 4972 4999 5015 5029 - 4955 4961 4980 4994 5014 5021 - 4956 4962 4979 4996 5011 5022 - 4883 4911 5003 5026 5068 5093 - 4926 4933 4985 5032 5038 15377 - 4954 4960 5033 5044 5069 15375 - 4961 4968 4989 5002 5021 5031 - 253 460 4672 5317 6494 6562 - 4962 4971 4990 5006 5022 5030 - 4965 4967 4984 5007 5019 5034 - 4957 4972 4986 5015 5024 5037 - 4959 4988 5029 5040 - 4921 4943 5003 5027 5060 5082 - 4969 4979 5011 5035 - 4968 4974 4994 5008 5031 5036 - 4911 4921 4991 5000 5068 5082 - 4964 4984 4987 5019 5025 5043 - 4963 4986 4987 5024 5025 5045 - 4971 4980 4996 5014 5030 5039 - 4965 4970 4997 5017 5034 5049 - 4974 4981 5002 5009 5036 5042 - 4981 4983 5008 5016 5042 5048 - 4844 4898 5012 5018 5123 5160 - 4979 4990 5001 5022 5035 5046 - 4776 4844 4892 5010 5096 5160 5223 - 4940 4960 4978 5044 5066 5100 - 4980 4989 5006 5021 5039 5047 - 4972 4988 4998 5029 5037 5052 - 4977 4983 5009 5020 5048 5051 - 4970 4975 5007 5023 5049 5055 - 4898 4954 5010 5033 5101 5123 - 4984 4997 5004 5034 5043 5057 - 4977 4982 5016 5041 5051 5062 - 4989 4994 5014 5031 5047 5054 - 4990 4996 5011 5030 5046 5053 - 4975 4985 5017 5032 5055 5064 - 4986 4998 5005 5037 5045 15378 - 4987 5004 5005 5043 5045 5059 - 4877 4883 4966 4991 5093 5112 5149 - 4943 4982 5000 5041 5060 5070 - 4706 4827 4958 5107 5190 5256 - 4988 4999 5015 5040 5052 5061 - 4996 5006 5022 5039 5053 5056 - 4994 5002 5021 5036 5054 5058 - 4985 4992 5023 5038 5064 5072 - 4954 4993 5018 5069 5101 - 4997 5007 5019 5049 5057 5076 - 5001 5011 5046 5063 - 5002 5008 5031 5042 5058 5065 - 4998 5015 5024 5052 5074 15378 - 4992 5032 5072 5078 15377 - 5006 5014 5030 5047 5056 5067 - 4999 5029 5061 5077 - 4982 5020 5027 5062 5070 5086 - 5008 5009 5036 5048 5065 5071 - 5004 5019 5025 5057 5059 5083 - 4960 4993 5013 5069 5100 5134 - 5005 5024 5025 5059 5081 15378 - 5011 5022 5035 5053 5063 5073 - 5014 5021 5039 5054 5067 5075 - 5009 5016 5042 5051 5071 5079 - 5007 5017 5034 5055 5076 5092 - 3697 4176 4830 5180 5372 5667 - 5016 5020 5048 5062 5079 5087 - 5015 5029 5037 5061 5074 5088 - 5022 5030 5046 5056 5073 5084 - 5021 5031 5047 5058 5075 5085 - 5017 5023 5049 5064 5092 5113 - 5030 5039 5053 5067 5084 5089 - 5019 5034 5043 5076 5083 5104 - 5031 5036 5054 5065 5085 5090 - 5025 5043 5045 5081 5083 5102 - 5000 5027 5070 5082 5094 5114 - 5029 5040 5052 5077 5088 5103 - 5020 5041 5051 5086 5087 5106 - 5035 5046 5073 5095 - 5023 5032 5055 5072 5113 5130 - 5036 5042 5058 5071 5090 5097 - 4978 5013 5078 5100 5151 5164 15377 - 5039 5047 5056 5075 5089 5099 - 4991 5003 5082 5093 5136 5155 - 4993 5033 5044 5101 5134 5170 - 5027 5041 5060 5086 5094 5109 - 5042 5048 5065 5079 5097 5110 - 5032 5038 5064 5078 5130 5143 - 5046 5053 5063 5084 5095 5108 - 5037 5052 5088 5098 5115 15378 - 5047 5054 5067 5085 5099 5111 - 5034 5049 5057 5092 5104 5126 - 5040 5061 5103 5119 - 5038 5066 5072 5143 5151 15377 - 5048 5051 5071 5087 5110 5117 - 4913 4966 5105 5112 5218 5228 - 5045 5059 5098 5102 5121 15378 - 5000 5003 5060 5068 5114 5136 5141 - 5043 5057 5059 5102 5104 5125 - 5053 5056 5073 5089 5108 5116 - 5054 5058 5075 5090 5111 5118 - 5041 5062 5070 5106 5109 5120 - 5051 5062 5079 5106 5117 5127 - 5052 5061 5074 5103 5115 5129 - 5056 5067 5084 5099 5116 5122 - 5058 5065 5085 5097 5118 15379 - 167 239 410 6408 13608 14718 - 5049 5055 5076 5113 5126 5153 - 4991 5026 5068 5149 5155 5191 - 5060 5070 5109 5114 5124 - 5063 5073 5108 5128 - 4892 4976 5012 5223 5309 5375 - 5065 5071 5090 5110 5132 15379 - 5074 5081 5115 5121 5140 15378 - 5067 5075 5089 5111 5122 5133 - 5013 5044 5066 5134 5164 5200 - 5018 5033 5069 5123 5170 5203 - 5059 5081 5083 5121 5125 5146 - 5061 5077 5088 5119 5129 5145 - 5057 5076 5083 5125 5126 5148 - 4913 4941 5080 5131 5228 5300 - 5062 5086 5087 5120 5127 5138 - 4827 4947 5028 5173 5256 5336 - 5073 5084 5095 5116 5128 5137 - 5070 5086 5094 5120 5124 5135 - 5071 5079 5097 5117 5132 5142 - 5075 5085 5099 5118 5133 5139 - 4966 5026 5080 5149 5207 5218 5231 - 5055 5064 5092 5130 5153 5183 - 5060 5082 5094 5124 5141 5154 - 5074 5088 5098 5129 5140 5157 - 5084 5089 5108 5122 5137 5147 - 5079 5087 5110 5127 5142 5152 - 5085 5090 5111 5139 5150 15379 - 5077 5103 5145 5158 - 5086 5106 5109 5135 5138 5144 - 5081 5098 5102 5140 5146 5166 - 5089 5099 5116 5133 5147 5156 - 5010 5018 5101 5160 5203 5241 - 5094 5109 5114 5135 5154 5161 - 5083 5102 5104 5146 5148 5171 - 5076 5092 5104 5148 5153 5178 - 5087 5106 5117 5138 5152 5163 - 5095 5108 5137 5162 - 5088 5103 5115 5145 5157 5175 - 5064 5072 5113 5143 5183 5192 - 4941 4953 5105 5173 5300 5365 - 5097 5110 5142 5159 5169 15379 - 5099 5111 5122 5139 5156 5167 - 5044 5069 5100 5170 5200 5229 - 5109 5120 5124 5144 5161 5165 - 5068 5082 5141 5155 5194 5212 - 5108 5116 5128 5147 5162 5172 - 5106 5120 5127 5144 5163 5168 - 5111 5118 5133 5150 5167 5177 - 5098 5115 5121 5157 5166 5184 - 5082 5114 5136 5154 5194 5201 - 5110 5117 5132 5152 5169 5179 - 5072 5078 5130 5151 5192 5209 - 5120 5135 5138 5165 5168 - 5103 5119 5129 5158 5175 5187 - 5102 5121 5125 5166 5171 5188 - 5116 5122 5137 5156 5172 5182 - 5104 5125 5126 5171 5178 5195 - 5026 5093 5112 5191 5207 5243 - 5118 5139 5159 5177 5185 15379 - 5066 5078 5143 5164 5209 5222 - 5117 5127 5142 5163 5179 5186 - 5092 5113 5126 5178 5183 5210 - 5114 5124 5141 5161 5201 5202 - 5068 5093 5136 5191 5212 5238 - 5122 5133 5147 5167 5182 5189 - 5115 5129 5140 5175 5184 5205 - 5119 5145 5187 5204 - 5132 5150 5169 5185 5197 15379 - 5010 5012 5123 5223 5241 5334 - 5124 5135 5154 5165 5196 5202 - 5128 5137 5172 5199 - 5127 5138 5152 5168 5186 5193 - 5066 5100 5151 5200 5222 5266 - 5135 5144 5161 5168 5196 5198 - 5121 5140 5146 5184 5188 5215 - 5133 5139 5156 5177 5189 5206 - 5138 5144 5163 5165 5193 5198 - 5132 5142 5159 5179 5197 5208 - 5069 5101 5134 5203 5229 5262 - 5125 5146 5148 5188 5195 5217 - 5137 5147 5162 5182 5199 5211 - 4947 4953 5107 5131 5336 5365 5416 - 3287 4501 5181 5290 5828 5952 - 5129 5145 5157 5187 5205 5219 - 123 133 223 15053 15071 15220 - 5139 5150 5167 5185 5206 5214 - 5126 5148 5153 5195 5210 5226 - 5142 5152 5169 5186 5208 5216 - 4176 5050 5528 5667 5905 15374 - 1987 3287 4973 5174 5952 6066 6276 - 5147 5156 5172 5189 5211 5220 - 5113 5130 5153 5192 5210 5239 5249 - 5140 5157 5166 5205 5215 5233 - 5150 5159 5177 5197 5214 5225 - 5152 5163 5179 5193 5216 5224 - 5145 5158 5175 5204 5219 5236 - 5146 5166 5171 5215 5217 5242 - 5156 5167 5182 5206 5220 5230 - 4958 5028 5256 5355 5387 - 5093 5149 5155 5238 5243 5278 - 5130 5143 5183 5209 5239 5248 - 5163 5168 5186 5198 5224 5227 - 5136 5141 5201 5212 5250 5260 - 5148 5171 5178 5217 5226 5246 - 5161 5165 5198 5202 5232 5237 - 5159 5169 5185 5208 5225 5235 - 5165 5168 5193 5196 5227 5232 - 5162 5172 5211 5234 - 5100 5134 5164 5229 5266 5274 - 5141 5154 5194 5202 5244 5250 - 5154 5161 5196 5201 5237 5244 - 5101 5123 5170 5241 5262 5284 - 5158 5187 5236 5251 - 5157 5175 5184 5219 5233 5253 - 5167 5177 5189 5214 5230 5240 - 5112 5149 5231 5243 5276 - 5169 5179 5197 5216 5235 5245 - 5143 5151 5192 5222 5248 5257 - 5153 5178 5183 5226 5249 5258 - 5172 5182 5199 5220 5234 5247 - 5136 5155 5194 5238 5260 5277 - 4796 4869 4976 5255 5309 5549 5559 - 5177 5185 5206 5225 5240 5252 - 5166 5184 5188 5233 5242 5264 - 5179 5186 5208 5224 5245 5254 - 5171 5188 5195 5242 5246 5269 - 5080 5112 5228 5231 5301 15380 - 5175 5187 5205 5236 5253 5268 - 5182 5189 5211 5230 5247 5259 - 4383 4894 5498 5528 5763 15374 - 5151 5164 5209 5257 5266 5310 - 5012 5096 5160 5334 5375 5432 - 5186 5193 5216 5227 5254 5261 - 5185 5197 5214 5235 5252 5263 - 5178 5195 5210 5246 5258 5275 - 5193 5198 5224 5232 5261 5265 - 5080 5105 5218 5300 5398 15380 - 5134 5170 5200 5262 5274 5311 - 5189 5206 5220 5240 5259 5267 - 5112 5207 5218 5276 5301 - 5196 5198 5227 5237 5265 5270 - 5184 5205 5215 5253 5264 5283 - 5199 5211 5247 5271 - 5197 5208 5225 5245 5263 5273 - 5187 5204 5219 5251 5268 5285 - 5196 5202 5232 5244 5270 5280 - 5155 5191 5212 5277 5278 5315 - 5183 5192 5248 5249 5295 5302 - 5206 5214 5230 5252 5267 5279 - 5123 5160 5203 5284 5334 5400 - 5188 5215 5217 5264 5269 5292 - 5149 5191 5207 5276 5278 5319 - 5201 5202 5237 5250 5280 5287 - 5208 5216 5235 5254 5273 5281 - 5195 5217 5226 5269 5275 5298 - 5211 5220 5234 5259 5271 5286 - 5192 5209 5239 5257 5302 5307 - 5183 5210 5239 5258 5291 5295 - 5194 5201 5244 5260 5287 5297 - 5204 5236 5285 5299 - 5214 5225 5240 5263 5279 5288 - 5205 5219 5233 5268 5283 5304 - 5216 5224 5245 5261 5281 5289 - 4851 4869 5213 5272 5549 5583 - 5028 5107 5190 5336 5387 5446 - 5209 5222 5248 5307 5310 - 5210 5226 5249 5275 5291 5305 - 5220 5230 5247 5267 5286 5294 - 5194 5212 5250 5277 5297 5318 - 5224 5227 5254 5265 5289 5296 - 5170 5203 5229 5284 5311 5335 - 5225 5235 5252 5273 5288 5303 - 5215 5233 5242 5283 5292 5314 - 5227 5232 5261 5270 5296 5306 - 5164 5200 5222 5274 5310 5339 - 5230 5240 5259 5279 5294 5308 - 5219 5236 5253 5285 5304 5320 - 5217 5242 5246 5292 5298 5323 - 5232 5237 5265 5280 5306 5316 - 5234 5247 5286 5312 - 4762 4851 5255 5282 5583 5609 - 5235 5245 5263 5281 5303 5313 - 5200 5229 5266 5311 5339 5384 - 5226 5246 5258 5298 5305 5328 - 5207 5231 5243 5301 5319 5353 - 5212 5238 5260 5315 5318 5340 - 5191 5238 5243 5315 5319 5343 - 5240 5252 5267 5288 5308 5321 - 5237 5244 5270 5287 5316 5324 - 5245 5254 5273 5289 5313 5322 - 4762 4894 5272 5498 5609 5647 - 5233 5253 5264 5304 5314 5330 - 5203 5241 5262 5335 5400 - 5236 5251 5268 5299 5320 5331 - 5247 5259 5271 5294 5312 5325 - 5244 5250 5280 5297 5324 5333 - 5252 5263 5279 5303 5321 5326 - 5254 5261 5281 5296 5322 5327 - 4501 4893 5174 5486 5828 5831 - 5249 5258 5295 5305 5329 - 5242 5264 5269 5314 5323 5341 - 275 2535 4201 6549 7003 11051 - 5259 5267 5286 5308 5325 5332 - 5239 5249 5291 5302 5329 5350 - 5261 5265 5289 5306 5327 5337 - 5250 5260 5287 5318 5333 5348 - 5246 5269 5275 5323 5328 5351 - 5251 5285 5331 5346 - 5105 5131 5228 5365 5398 5423 - 5218 5231 5276 5353 5402 15380 - 5239 5248 5295 5307 5350 5369 - 5263 5273 5288 5313 5326 5338 - 5253 5268 5283 5320 5330 5349 - 5258 5275 5291 5328 5329 5356 - 5265 5270 5296 5316 5337 5344 - 5248 5257 5302 5310 5369 5382 - 5267 5279 5294 5321 5332 5342 - 4976 5096 5213 5375 5559 5568 - 5222 5257 5266 5307 5339 5382 5389 - 5229 5262 5274 5335 5384 5420 - 5271 5286 5325 5345 - 5273 5281 5303 5322 5338 5347 - 5264 5283 5292 5330 5341 5359 - 5238 5277 5278 5340 5343 5364 - 5270 5280 5306 5324 5344 5352 - 460 3878 4995 5611 6494 6507 - 5260 5277 5297 5340 5348 5366 - 5243 5276 5278 5343 5353 5385 - 5268 5285 5304 5331 5349 5362 - 5279 5288 5308 5326 5342 5354 - 5281 5289 5313 5327 5347 5357 - 5269 5292 5298 5341 5351 5368 - 5280 5287 5316 5333 5352 5361 - 5286 5294 5312 5332 5345 5358 - 5288 5303 5321 5338 5354 5360 - 5289 5296 5322 5337 5357 5363 - 5275 5298 5305 5351 5356 5378 - 5291 5295 5305 5350 5356 5379 - 5283 5304 5314 5349 5359 5376 - 5285 5299 5320 5346 5362 5373 - 5294 5308 5325 5342 5358 5367 - 5287 5297 5324 5348 5361 5377 - 5160 5223 5241 5400 5432 5492 - 5262 5284 5311 5400 5420 - 5107 5173 5256 5416 5446 5503 - 5296 5306 5327 5344 5363 5370 - 5303 5313 5326 5347 5360 5371 - 5266 5274 5310 5384 5389 5447 - 5277 5315 5318 5364 5366 5393 - 5292 5314 5323 5359 5368 5386 - 5308 5321 5332 5354 5367 5374 - 5278 5315 5319 5364 5385 5403 - 5306 5316 5337 5352 5370 5381 - 5312 5325 5358 5380 - 5299 5331 5373 5391 - 5313 5322 5338 5357 5371 5383 - 5297 5318 5333 5366 5377 5396 - 5304 5320 5330 5362 5376 5395 - 5295 5302 5329 5369 5379 5425 - 5298 5323 5328 5368 5378 5399 - 5316 5324 5344 5361 5381 5390 - 5276 5301 5319 5385 5402 5440 - 5321 5326 5342 5360 5374 5388 - 4893 4958 5190 5387 5486 5625 5679 - 5305 5328 5329 5378 5379 5412 - 5322 5327 5347 5363 5383 5392 - 5325 5332 5345 5367 5380 5394 - 5314 5330 5341 5376 5386 5407 - 5326 5338 5354 5371 5388 5397 - 5324 5333 5352 5377 5390 5405 - 5320 5331 5349 5373 5395 5410 - 5327 5337 5357 5370 5392 5401 - 5315 5340 5343 5393 5403 5406 - 5131 5173 5300 5416 5423 5518 5520 - 5318 5340 5348 5393 5396 5419 - 5332 5342 5358 5374 5394 5404 - 5323 5341 5351 5386 5399 15381 - 5302 5307 5350 5382 5425 5433 - 5337 5344 5363 5381 5401 5411 - 5338 5347 5360 5383 5397 5409 - 4830 5050 5652 5667 5974 - 5331 5346 5362 5391 5410 5421 - 5342 5354 5367 5388 5404 5413 - 5096 5223 5309 5432 5568 5580 - 5330 5349 5359 5395 5407 5424 - 5333 5348 5361 5396 5405 5415 - 5328 5351 5356 5399 5412 5428 - 5329 5350 5356 5412 5425 5445 - 5345 5358 5394 5414 - 5344 5352 5370 5390 5411 5417 - 5307 5310 5369 5389 5433 5441 - 5347 5357 5371 5392 5409 5418 - 5274 5311 5339 5420 5447 5509 - 5319 5343 5353 5403 5440 5464 - 5341 5359 5368 5407 5435 15381 - 5190 5256 5355 5446 5578 5625 - 5354 5360 5374 5397 5413 5422 - 5310 5339 5382 5441 5447 5477 - 5352 5361 5381 5405 5417 5429 - 5346 5373 5421 5437 - 5357 5363 5383 5401 5418 5427 - 5340 5364 5366 5406 5419 5434 - 5358 5367 5380 5404 5414 5426 - 5349 5362 5376 5410 5424 5439 - 5348 5366 5377 5415 5419 5430 - 5360 5371 5388 5409 5422 5431 - 5228 5300 5423 5493 5521 15380 - 5351 5368 5378 5428 5443 15381 - 5241 5284 5334 5335 5420 5492 5553 - 5363 5370 5392 5411 5427 5436 - 5301 5353 5440 5493 5516 15380 - 5343 5364 5385 5406 5449 5464 - 5367 5374 5394 5413 5426 5438 - 5361 5377 5390 5415 5429 5442 - 5364 5393 5403 5434 5449 - 5359 5376 5386 5424 5435 5453 - 148 200 223 7666 15071 15133 - 5371 5383 5397 5418 5431 5444 - 5362 5373 5395 5421 5439 5454 - 5370 5381 5401 5417 5436 5448 - 5356 5378 5379 5428 5445 5462 - 5374 5388 5404 5422 5438 5451 - 5380 5394 5426 5452 - 5377 5396 5405 5430 5442 5450 - 5173 5336 5365 5503 5520 5566 - 5381 5390 5411 5429 5448 5456 - 5383 5392 5409 5427 5444 5455 - 5366 5393 5396 5430 5434 5457 5459 - 5311 5335 5384 5400 5509 5553 5582 - 5373 5391 5410 5437 5454 5467 - 5388 5397 5413 5431 5451 5458 - 5300 5365 5398 5518 5521 - 5376 5395 5407 5439 5453 5468 - 5350 5369 5379 5433 5445 5474 5482 - 5394 5404 5414 5438 5452 5460 - 5392 5401 5418 5436 5455 5463 - 5378 5399 5412 5443 5462 5471 - 5390 5405 5417 5442 5456 5465 - 5396 5415 5419 5450 5459 - 5397 5409 5422 5444 5458 5466 - 5223 5334 5375 5492 5580 5585 - 5369 5382 5425 5441 5474 5480 - 5393 5406 5419 5449 5457 5473 - 5386 5407 5453 5461 5476 15381 - 5401 5411 5427 5448 5463 5469 - 5391 5421 5467 5478 - 5404 5413 5426 5451 5460 5470 - 5395 5410 5424 5454 5468 5484 - 5353 5385 5402 5464 5516 5540 - 5382 5389 5433 5477 5480 - 5405 5415 5429 5450 5465 5472 - 5399 5428 5461 5471 5487 15381 - 5409 5418 5431 5455 5466 5475 - 5379 5412 5425 5462 5482 5497 - 5256 5336 5387 5503 5578 5634 - 5339 5384 5389 5477 5509 5536 - 5411 5417 5436 5456 5469 5479 - 5403 5406 5434 5464 5473 5501 - 5415 5430 5442 5459 5472 5488 - 5413 5422 5438 5458 5470 5481 - 5414 5426 5460 5485 - 5407 5424 5435 5468 5476 5495 - 5410 5421 5439 5467 5484 5499 - 5418 5427 5444 5463 5475 5489 - 5417 5429 5448 5465 5479 5490 - 5419 5434 5459 5473 5483 - 5422 5431 5451 5466 5481 5491 - 5419 5430 5450 5457 5483 5488 - 5426 5438 5452 5470 5485 5494 - 5435 5443 5476 5487 5506 15381 - 5412 5428 5445 5471 5497 5505 - 5427 5436 5455 5469 5489 5496 - 5385 5403 5440 5449 5501 5540 5561 - 5429 5442 5456 5472 5490 5500 - 5431 5444 5458 5475 5491 5504 - 5421 5437 5454 5478 5499 5510 - 5424 5439 5453 5484 5495 5512 - 5436 5448 5463 5479 5496 5508 - 5438 5451 5460 5481 5494 5507 - 5428 5443 5462 5487 5505 5513 - 5442 5450 5465 5488 5500 5502 - 5434 5449 5457 5483 5501 5519 - 5425 5433 5480 5482 5538 5541 - 5444 5455 5466 5489 5504 5511 - 5435 5453 5461 5495 5506 5524 - 5389 5441 5447 5480 5536 5548 - 5437 5467 5510 5527 - 5448 5456 5469 5490 5508 5515 - 5433 5441 5474 5477 5541 5548 - 5451 5458 5470 5491 5507 5514 - 5425 5445 5474 5497 5523 5538 - 5457 5459 5473 5488 5519 5526 - 5439 5454 5468 5499 5512 5530 - 5452 5460 5494 5517 - 4893 5290 5355 5679 5831 5863 - 5443 5461 5471 5506 5513 5534 - 5450 5459 5472 5483 5502 5526 5531 - 5455 5463 5475 5496 5511 5522 - 5456 5465 5479 5500 5515 5525 - 5458 5466 5481 5504 5514 5529 - 5334 5400 5432 5553 5585 5607 - 5398 5402 5516 5521 5621 5629 15380 - 5460 5470 5485 5507 5517 5532 - 5453 5468 5476 5512 5524 5545 - 5463 5469 5489 5508 5522 5535 - 5445 5462 5482 5505 5523 5537 - 4894 5221 5282 5647 5763 5889 - 5454 5467 5484 5510 5530 5546 - 5465 5472 5490 5502 5525 5533 - 5449 5464 5473 5519 5561 5577 - 5472 5488 5500 5531 5533 - 5336 5416 5446 5566 5634 5682 - 5466 5475 5491 5511 5529 5539 - 5462 5471 5497 5513 5537 5544 - 5461 5476 5487 5524 5534 5554 - 5470 5481 5494 5514 5532 5542 - 5469 5479 5496 5515 5535 5543 - 5384 5420 5447 5536 5582 5608 - 5467 5478 5499 5527 5546 5556 - 5475 5489 5504 5522 5539 5547 - 5468 5484 5495 5530 5545 5560 - 5471 5487 5505 5534 5544 5562 - 5481 5491 5507 5529 5542 5551 - 5479 5490 5508 5525 5543 5552 - 5402 5440 5493 5540 5620 5621 - 5485 5494 5532 5555 - 5365 5423 5520 5521 5636 5641 - 5473 5483 5501 5526 5577 5592 - 5365 5416 5518 5566 5641 5672 - 5398 5423 5493 5518 5629 5636 - 5489 5496 5511 5535 5547 5557 - 5482 5497 5537 5538 5574 - 5476 5495 5506 5545 5554 5572 - 5490 5500 5515 5533 5552 5558 - 5483 5488 5519 5531 5570 5592 - 5478 5510 5556 5571 - 5180 5221 5763 5905 6206 15374 - 5491 5504 5514 5539 5551 5563 - 5484 5499 5512 5546 5560 5575 - 5488 5502 5526 5533 5564 5570 - 5494 5507 5517 5542 5555 5565 - 5500 5502 5525 5531 5558 5564 - 5487 5506 5513 5554 5562 5581 - 5496 5508 5522 5543 5557 5567 - 5447 5477 5509 5548 5608 5635 - 5497 5505 5523 5544 5569 5574 - 5474 5482 5523 5541 5574 5595 - 5504 5511 5529 5547 5563 5573 - 5440 5464 5516 5561 5620 5623 - 5474 5480 5538 5548 5595 5650 - 5507 5514 5532 5551 5565 5576 - 5508 5515 5535 5552 5567 5579 - 5505 5513 5537 5562 5569 5587 - 5495 5512 5524 5560 5572 5590 - 5499 5510 5530 5556 5575 5591 - 5511 5522 5539 5557 5573 5584 - 5477 5480 5536 5541 5635 5650 - 5213 5255 5559 5583 5790 5820 - 361 2535 4557 6549 6996 8429 - 5514 5529 5542 5563 5576 5586 - 5515 5525 5543 5558 5579 5588 - 5400 5420 5492 5582 5607 5664 5670 - 5506 5524 5534 5572 5581 5598 - 5517 5532 5565 5589 - 5510 5527 5546 5571 5591 5600 - 5522 5535 5547 5567 5584 5593 - 5525 5533 5552 5564 5588 5594 - 5213 5309 5549 5568 5764 5790 - 5512 5530 5545 5575 5590 5602 - 5464 5501 5540 5577 5623 5628 - 5513 5534 5544 5581 5587 5605 - 5529 5539 5551 5573 5586 5596 - 5531 5533 5558 5570 5594 5599 - 5532 5542 5555 5576 5589 5597 - 5416 5503 5520 5672 5682 - 5535 5543 5557 5579 5593 5601 - 5309 5375 5559 5580 5734 5764 - 5537 5544 5574 5587 5604 - 5526 5531 5564 5592 5599 5617 - 5527 5556 5600 5612 - 5524 5545 5554 5590 5598 5613 - 5539 5547 5563 5584 5596 5603 - 5523 5537 5538 5569 5595 5604 5631 - 5530 5546 5560 5591 5602 5616 - 5542 5551 5565 5586 5597 5606 - 5501 5519 5561 5592 5628 5639 - 5387 5446 5625 5634 5742 5761 - 5543 5552 5567 5588 5601 5610 - 5375 5432 5568 5585 5707 5734 - 5534 5554 5562 5598 5605 5622 - 5420 5509 5553 5608 5664 5694 - 5255 5272 5549 5609 5820 5848 - 5547 5557 5573 5593 5603 5614 - 5432 5492 5580 5607 5701 5707 - 5551 5563 5576 5596 5606 5615 - 5544 5562 5569 5604 5605 5637 - 5552 5558 5579 5594 5610 5618 - 5555 5565 5597 5619 - 5545 5560 5572 5602 5613 5633 - 5546 5556 5575 5600 5616 5632 - 5519 5526 5570 5577 5617 5639 5651 - 5557 5567 5584 5601 5614 5624 - 5558 5564 5588 5599 5618 5627 - 5538 5541 5574 5631 5650 5676 - 5563 5573 5586 5603 5615 5626 - 5565 5576 5589 5606 5619 5630 - 5554 5572 5581 5613 5622 5643 - 5564 5570 5594 5617 5627 5644 - 5556 5571 5591 5612 5632 5646 - 5567 5579 5593 5610 5624 5638 - 5560 5575 5590 5616 5633 5648 - 5573 5584 5596 5614 5626 5640 - 5569 5574 5587 5631 5637 5658 - 5562 5581 5587 5622 5637 5656 - 5576 5586 5597 5615 5630 5642 - 5492 5553 5585 5670 5701 - 5509 5536 5582 5635 5688 5694 - 5272 5282 5583 5647 5848 5870 - 5579 5588 5601 5618 5638 5645 - 3878 4888 5317 5652 6391 6507 - 5571 5600 5646 5657 - 5572 5590 5598 5633 5643 5660 - 5584 5593 5603 5624 5640 5649 - 5586 5596 5606 5626 5642 5653 - 5575 5591 5602 5632 5648 5662 - 5570 5592 5599 5644 5651 5666 - 5588 5594 5610 5627 5645 5655 - 5589 5597 5630 5654 - 5516 5540 5621 5623 5691 5699 - 5493 5516 5620 5629 5699 5713 - 5581 5598 5605 5643 5656 5669 - 5540 5561 5620 5628 5686 5691 - 5593 5601 5614 5638 5649 5659 - 5355 5387 5578 5679 5761 5784 - 5596 5603 5615 5640 5653 5661 - 5594 5599 5618 5644 5655 5665 - 5561 5577 5623 5639 5678 5686 - 5493 5521 5621 5636 5713 5726 - 5597 5606 5619 5642 5654 5663 - 5574 5595 5604 5658 5676 5700 - 5591 5600 5616 5646 5662 5674 - 5590 5602 5613 5648 5660 5675 - 5446 5503 5578 5682 5742 5803 - 5536 5548 5608 5650 5688 5711 - 5518 5521 5629 5641 5726 5745 - 5587 5604 5605 5656 5658 5684 - 5601 5610 5624 5645 5659 5668 - 5577 5592 5628 5651 5678 5681 - 5603 5614 5626 5649 5661 5671 - 5518 5520 5636 5672 5745 5825 - 5606 5615 5630 5653 5663 5673 - 5598 5613 5622 5660 5669 5689 - 5599 5617 5627 5665 5666 5685 - 5610 5618 5638 5655 5668 5677 - 5600 5612 5632 5657 5674 5690 - 5282 5498 5609 5870 5889 - 5602 5616 5633 5662 5675 5693 - 5614 5624 5640 5659 5671 5680 - 5541 5548 5595 5635 5676 5711 5728 - 5592 5617 5639 5666 5681 5696 - 4830 4888 5372 5611 5974 6391 6710 - 5615 5626 5642 5661 5673 5683 - 5619 5630 5663 5687 - 5618 5627 5645 5665 5677 5692 - 5605 5622 5637 5669 5684 5703 - 5612 5646 5690 5702 - 5604 5631 5637 5684 5700 5717 - 5624 5638 5649 5668 5680 5695 - 5613 5633 5643 5675 5689 5708 - 5626 5640 5653 5671 5683 5697 - 5616 5632 5648 5674 5693 5710 - 5630 5642 5654 5673 5687 5698 - 5553 5582 5670 5694 5736 5759 - 5627 5644 5655 5685 5692 5705 - 5617 5644 5651 5685 5696 5709 - 5050 5180 5372 5905 5974 6160 - 5638 5645 5659 5677 5695 5704 - 5622 5643 5656 5689 5703 5718 - 5553 5607 5664 5701 5759 5785 - 5640 5649 5661 5680 5697 5706 - 5520 5566 5641 5682 5825 5841 - 5642 5653 5663 5683 5698 5712 - 5632 5646 5662 5690 5710 5722 - 5633 5648 5660 5693 5708 5723 - 5595 5631 5650 5700 5728 5743 - 5645 5655 5668 5692 5704 5715 - 5628 5639 5681 5686 5729 5746 - 5355 5486 5625 5784 5851 5863 - 5649 5659 5671 5695 5706 5716 - 5639 5651 5678 5696 5714 5729 - 5503 5566 5634 5672 5803 5841 - 5653 5661 5673 5697 5712 5719 - 5637 5656 5658 5703 5717 5733 - 5644 5665 5666 5705 5709 5720 - 5623 5628 5678 5691 5746 5757 - 5654 5663 5698 5721 - 5608 5635 5694 5711 5775 5792 - 5643 5660 5669 5708 5718 5735 - 5646 5657 5674 5702 5722 5732 - 5620 5623 5686 5699 5757 5767 - 5655 5665 5677 5705 5715 5724 - 5648 5662 5675 5710 5723 5740 - 5582 5608 5664 5688 5736 5775 - 5659 5668 5680 5704 5716 5727 - 5651 5666 5681 5709 5714 5725 - 5661 5671 5683 5706 5719 5730 - 5663 5673 5687 5712 5721 5731 - 5620 5621 5691 5713 5767 5780 - 5631 5658 5676 5717 5743 5753 - 5585 5607 5670 5707 5785 5810 - 5657 5690 5732 5748 - 5656 5669 5684 5718 5733 5750 - 5668 5677 5695 5715 5727 5738 - 5665 5685 5692 5720 5724 5737 - 5671 5680 5697 5716 5730 5741 - 5580 5585 5701 5734 5810 5888 - 5660 5675 5689 5723 5735 5754 - 5666 5685 5696 5720 5725 5739 - 5662 5674 5693 5722 5740 5756 - 5635 5650 5688 5728 5792 5804 - 5673 5683 5698 5719 5731 5744 - 5621 5629 5699 5726 5780 5809 - 5681 5696 5725 5729 5749 - 5677 5692 5704 5724 5738 5751 - 5680 5695 5706 5727 5741 5752 - 5658 5684 5700 5733 5753 5774 - 5669 5689 5703 5735 5750 5769 - 5683 5697 5712 5730 5744 5755 - 5685 5705 5709 5737 5739 5747 - 5687 5698 5731 5758 - 5674 5690 5710 5732 5756 5770 - 5675 5693 5708 5740 5754 5773 - 5692 5705 5715 5737 5751 5762 - 5696 5709 5714 5739 5749 5760 - 5629 5636 5713 5745 5809 5816 - 5695 5704 5716 5738 5752 5765 - 5650 5676 5711 5743 5804 5808 - 5678 5681 5714 5746 5749 5791 - 5697 5706 5719 5741 5755 5766 - 5698 5712 5721 5744 5758 5768 - 5690 5702 5722 5748 5770 5779 - 5684 5703 5717 5750 5774 5781 - 5568 5580 5707 5764 5888 5934 - 5689 5708 5718 5754 5769 5782 - 5664 5694 5759 5775 5834 - 5705 5720 5724 5747 5762 5772 - 5704 5715 5727 5751 5765 5776 - 5709 5720 5725 5747 5760 5771 - 5693 5710 5723 5756 5773 5786 - 5706 5716 5730 5752 5766 5777 - 5578 5634 5761 5803 5871 5903 - 5676 5700 5728 5753 5807 5808 - 5712 5719 5731 5755 5768 5778 - 5636 5641 5726 5816 5825 5891 - 5678 5686 5729 5757 5791 5813 - 5720 5737 5739 5771 5772 - 5702 5732 5779 5793 - 5714 5725 5729 5760 5791 5796 - 5703 5718 5733 5769 5781 5798 - 5715 5724 5738 5762 5776 5783 - 5716 5727 5741 5765 5777 5787 - 5700 5717 5743 5774 5794 5807 - 5708 5723 5735 5773 5782 5805 - 5719 5730 5744 5766 5778 5788 - 5710 5722 5740 5770 5786 5802 - 5686 5691 5746 5767 5813 5837 - 5721 5731 5768 5789 - 5664 5670 5736 5785 5834 5883 - 5725 5739 5749 5771 5796 5797 - 5578 5625 5742 5784 5871 5892 - 5724 5737 5751 5772 5783 5795 - 5221 5498 5528 5889 6206 6248 - 5559 5568 5734 5790 5934 5995 - 5727 5738 5752 5776 5787 5800 - 5730 5741 5755 5777 5788 5801 - 5691 5699 5757 5780 5837 5860 - 5731 5744 5758 5778 5789 5806 - 5718 5735 5750 5782 5798 5817 - 5722 5732 5756 5779 5802 5815 - 5739 5747 5760 5772 5797 5799 - 5737 5747 5762 5771 5795 5799 - 5723 5740 5754 5786 5805 5819 - 5717 5733 5753 5781 5794 5818 - 5688 5694 5736 5792 5834 5878 - 5738 5751 5765 5783 5800 5811 - 5741 5752 5766 5787 5801 5812 - 5744 5755 5768 5788 5806 5814 - 5732 5748 5770 5793 5815 5827 - 5699 5713 5767 5809 5860 5897 - 5733 5750 5774 5798 5818 5830 - 5735 5754 5769 5805 5817 5832 - 5751 5762 5776 5795 5811 5821 - 5625 5679 5761 5851 5892 5913 - 5670 5701 5759 5810 5883 5933 - 5740 5756 5773 5802 5819 5833 - 5752 5765 5777 5800 5812 5822 - 5755 5766 5778 5801 5814 5823 - 5758 5768 5806 5824 - 5549 5559 5764 5820 5995 6058 - 5729 5746 5749 5796 5813 5850 5858 - 5688 5711 5775 5804 5878 5916 - 5748 5779 5827 5842 - 5753 5774 5807 5818 5840 - 5762 5772 5783 5799 5821 5826 - 5749 5760 5791 5797 5839 5850 - 5760 5771 5796 5799 5829 5839 - 5750 5769 5781 5817 5830 5849 - 5771 5772 5795 5797 5826 5829 - 5765 5776 5787 5811 5822 5835 - 5766 5777 5788 5812 5823 5836 - 5756 5770 5786 5815 5833 5845 - 5634 5682 5742 5841 5903 5969 - 5711 5728 5792 5808 5896 5916 - 5754 5773 5782 5819 5832 5847 - 5768 5778 5789 5814 5824 5838 - 5743 5753 5794 5808 5840 5864 - 5728 5743 5804 5807 5864 5896 - 5713 5726 5780 5816 5895 5897 - 5701 5707 5785 5888 5933 - 5776 5783 5800 5821 5835 5843 - 5777 5787 5801 5822 5836 5844 - 5746 5757 5791 5837 5858 5882 - 5778 5788 5806 5823 5838 5846 - 5770 5779 5802 5827 5845 5856 - 5726 5745 5809 5891 5895 - 5769 5782 5798 5832 5849 5862 - 5774 5781 5794 5830 5840 5859 - 5773 5786 5805 5833 5847 5861 - 5549 5583 5790 5848 6058 6141 - 5783 5795 5811 5826 5843 5852 - 5787 5800 5812 5835 5844 5853 - 5788 5801 5814 5836 5846 5854 - 5789 5806 5838 5855 - 5641 5672 5745 5841 5891 5976 6020 - 5795 5799 5821 5829 5852 5857 - 5779 5793 5815 5842 5856 5869 - 5174 5290 5831 5952 6127 6203 - 5797 5799 5826 5839 5857 5867 - 5781 5798 5818 5849 5859 5877 - 5290 5486 5828 5863 6127 6131 - 5782 5805 5817 5847 5862 5875 - 5786 5802 5819 5845 5861 5873 - 5736 5759 5775 5878 5883 5954 - 5800 5811 5822 5843 5853 5865 - 5801 5812 5823 5844 5854 5866 - 5757 5767 5813 5860 5882 5915 - 5806 5814 5824 5846 5855 5868 - 5796 5797 5829 5850 5867 5879 - 5794 5807 5818 5859 5864 5893 - 5672 5682 5803 5825 5969 6020 - 5793 5827 5869 5880 - 5811 5821 5835 5852 5865 5872 - 5812 5822 5836 5853 5866 5874 - 5802 5815 5833 5856 5873 5887 - 5814 5823 5838 5854 5868 5876 - 5805 5819 5832 5861 5875 5890 - 5583 5609 5820 5870 6141 6180 - 5798 5817 5830 5862 5877 5898 - 5791 5796 5839 5858 5879 5899 - 5679 5784 5863 5913 6055 - 5821 5826 5843 5857 5872 5881 - 5822 5835 5844 5865 5874 5884 - 5823 5836 5846 5866 5876 5885 - 5824 5838 5868 5886 - 5815 5827 5845 5869 5887 5904 - 5826 5829 5852 5867 5881 5894 - 5791 5813 5850 5882 5899 5918 - 5818 5830 5840 5877 5893 5912 - 5767 5780 5837 5897 5915 5949 - 5819 5833 5847 5873 5890 5906 - 5817 5832 5849 5875 5898 5907 - 5486 5679 5831 5851 6055 6131 6201 - 5807 5808 5840 5893 5896 5945 - 5835 5843 5853 5872 5884 5900 - 5836 5844 5854 5874 5885 5901 - 5829 5839 5857 5879 5894 5909 - 5838 5846 5855 5876 5886 5902 - 5827 5842 5856 5880 5904 5914 - 5609 5647 5848 5889 6180 6225 - 5742 5761 5892 5903 5991 - 5843 5852 5865 5881 5900 5908 - 5833 5845 5861 5887 5906 5919 - 5844 5853 5866 5884 5901 5910 - 5832 5847 5862 5890 5907 5923 - 5846 5854 5868 5885 5902 5911 - 5830 5849 5859 5898 5912 5926 - 5775 5792 5834 5916 5954 5992 - 5839 5850 5867 5899 5909 5925 - 5842 5869 5914 5924 - 5852 5857 5872 5894 5908 5917 - 5813 5837 5858 5915 5918 5940 - 5759 5785 5834 5933 5954 6034 - 5853 5865 5874 5900 5910 5920 - 5854 5866 5876 5901 5911 5921 - 5855 5868 5902 5922 - 5845 5856 5873 5904 5919 5931 - 5707 5734 5810 5933 5934 6064 - 5498 5647 5763 5870 6225 6248 - 5847 5861 5875 5906 5923 5932 - 5745 5816 5825 5895 5976 5984 - 5761 5784 5871 5913 5991 6022 - 5840 5859 5864 5912 5945 5953 - 5857 5867 5881 5909 5917 5930 - 5809 5816 5891 5897 5972 5984 - 5804 5808 5864 5916 5945 5982 - 5780 5809 5860 5895 5949 5972 5996 - 5849 5862 5877 5907 5926 5936 - 5850 5858 5879 5918 5925 5941 - 5865 5872 5884 5908 5920 5927 - 5866 5874 5885 5910 5921 5928 - 5868 5876 5886 5911 5922 5929 - 5742 5803 5871 5969 5991 6068 - 5856 5869 5887 5914 5931 5939 - 5180 5528 5667 6160 6206 6522 - 5861 5873 5890 5919 5932 5943 - 5862 5875 5898 5923 5936 5944 - 5872 5881 5900 5917 5927 5937 - 5867 5879 5894 5925 5930 5942 - 5874 5884 5901 5920 5928 5935 - 5876 5885 5902 5921 5929 5938 - 5859 5877 5893 5926 5953 5960 - 5784 5851 5892 6022 6055 - 5869 5880 5904 5924 5939 5951 - 5837 5860 5882 5940 5949 5973 - 5792 5804 5878 5896 5982 5992 6029 - 5881 5894 5908 5930 5937 5950 - 5858 5882 5899 5940 5941 5965 - 5873 5887 5906 5931 5943 5955 - 5884 5900 5910 5927 5935 5948 - 5885 5901 5911 5928 5938 5946 - 5886 5902 5929 5947 - 5875 5890 5907 5932 5944 5959 - 5880 5914 5951 5961 - 5879 5899 5909 5941 5942 5962 - 5877 5898 5912 5936 5960 5970 - 5900 5908 5920 5937 5948 5958 - 5901 5910 5921 5935 5946 5957 - 5902 5911 5922 5938 5947 5956 - 5894 5909 5917 5942 5950 5963 - 5887 5904 5919 5939 5955 5967 - 5890 5906 5923 5943 5959 5971 - 5785 5810 5883 5888 6034 6064 6135 - 5734 5764 5888 5995 6064 6199 - 5910 5920 5928 5948 5957 5964 - 5898 5907 5926 5944 5970 5975 - 5908 5917 5927 5950 5958 5968 - 5911 5921 5929 5946 5956 5966 - 5904 5914 5931 5951 5967 5981 - 5882 5915 5918 5965 5973 6003 - 5899 5918 5925 5962 5965 5990 - 5909 5925 5930 5962 5963 5980 - 5906 5919 5932 5955 5971 5985 - 5907 5923 5936 5959 5975 5986 - 5864 5893 5896 5953 5982 6012 6027 - 5921 5928 5938 5957 5966 5978 - 5922 5929 5956 5977 - 5920 5927 5935 5958 5964 5979 - 5860 5897 5915 5973 5996 6017 - 5917 5930 5937 5963 5968 5983 - 5914 5924 5939 5961 5981 5993 - 5174 5181 5828 6203 6276 6418 - 5893 5912 5945 5960 6005 6012 - 5834 5878 5883 5992 6034 6090 - 5919 5931 5943 5967 5985 5998 - 5929 5938 5947 5966 5977 5987 - 5928 5935 5946 5964 5978 5988 - 5927 5937 5948 5968 5979 5989 - 5923 5932 5944 5971 5986 5999 - 5912 5926 5953 5970 6005 6006 - 5924 5951 5993 6002 - 5925 5941 5942 5980 5990 6004 - 5930 5942 5950 5980 5983 5994 - 5935 5948 5957 5979 5988 5997 - 5918 5940 5941 5990 6003 6025 - 5938 5946 5956 5978 5987 6000 - 5931 5939 5955 5981 5998 6011 - 5937 5950 5958 5983 5989 6001 - 5803 5841 5903 6020 6068 6175 - 5926 5936 5960 5975 6006 6009 - 5932 5943 5959 5985 5999 6014 - 5895 5897 5984 5996 6036 6098 - 5915 5940 5949 6003 6017 6049 - 5372 5652 5667 6160 6710 6724 - 5936 5944 5970 5986 6009 6015 - 5825 5891 5984 6020 6122 6138 - 5947 5956 5987 6007 - 5946 5957 5966 5988 6000 6008 - 5948 5958 5964 5989 5997 6010 - 5942 5962 5963 5994 6004 6016 - 5939 5951 5967 5993 6011 6024 - 5896 5916 5945 6027 6029 6062 - 5950 5963 5968 5994 6001 6013 - 5891 5895 5972 5976 6098 6122 - 5943 5955 5971 5998 6014 6028 - 5944 5959 5975 5999 6015 6026 - 5956 5966 5977 6000 6007 6019 - 5957 5964 5978 5997 6008 6021 - 5958 5968 5979 6001 6010 6023 - 5941 5962 5965 6004 6025 6035 - 5871 5892 5903 6022 6068 6153 - 5878 5916 5954 6029 6090 6107 - 5951 5961 5981 6002 6024 6033 - 5963 5980 5983 6013 6016 6018 - 5764 5790 5934 6058 6199 6302 - 5897 5949 5972 6017 6036 6070 - 5964 5979 5988 6010 6021 6030 - 5955 5967 5985 6011 6028 6040 - 5959 5971 5986 6014 6026 6041 - 5966 5978 5987 6008 6019 6031 - 5968 5983 5989 6013 6023 6032 - 5961 5993 6033 6048 - 5940 5965 5973 6025 6049 6081 - 5962 5980 5990 6016 6035 6039 - 5953 5960 6006 6012 6046 6050 - 5960 5970 6005 6009 6044 6046 - 5977 5987 6019 6037 - 5978 5988 6000 6021 6031 6038 - 5970 5975 6006 6015 6044 6045 - 5979 5989 5997 6023 6030 6043 - 5967 5981 5998 6024 6040 6053 - 5945 5953 6005 6027 6050 6059 - 5983 5994 6001 6018 6032 6042 - 5971 5985 5999 6028 6041 6057 - 5975 5986 6009 6026 6045 6056 - 5980 5994 6004 6018 6039 6047 - 5949 5973 5996 6049 6070 6092 - 5994 6013 6016 6042 6047 - 5987 6000 6007 6031 6037 6051 - 5825 5841 5969 5976 6138 6175 6234 - 5988 5997 6008 6030 6038 6052 - 5892 5913 5991 6055 6153 6237 - 5989 6001 6010 6032 6043 6054 - 5981 5993 6011 6033 6053 6065 - 5965 5990 6003 6035 6079 6081 - 5986 5999 6015 6041 6056 6067 - 5945 5982 6012 6059 6062 6085 - 5985 5998 6014 6040 6057 6069 - 5916 5982 5992 6062 6107 6119 - 5997 6010 6021 6043 6052 6060 - 6000 6008 6019 6038 6051 6061 - 6001 6013 6023 6042 6054 6063 - 5993 6002 6024 6048 6065 6077 - 5883 5933 5954 6090 6135 6190 - 5990 6004 6025 6039 6079 6087 - 5972 5996 6070 6094 6098 - 6007 6019 6051 6072 - 6008 6021 6031 6052 6061 6073 - 6004 6016 6035 6047 6076 6087 - 5998 6011 6028 6053 6069 6088 - 5999 6014 6026 6057 6067 6089 - 6013 6018 6032 6047 6063 6071 - 6010 6023 6030 6054 6060 6075 - 6006 6009 6045 6046 6074 6078 - 6009 6015 6044 6056 6074 6083 - 6005 6006 6044 6050 6078 6080 - 6016 6018 6039 6042 6071 6076 - 6002 6033 6077 6093 - 5973 6003 6017 6081 6092 6120 - 6005 6012 6046 6059 6080 6082 - 6019 6031 6037 6061 6072 6084 - 6021 6030 6038 6060 6073 6086 - 6011 6024 6040 6065 6088 6099 - 6023 6032 6043 6063 6075 6091 - 5851 5863 5913 6022 6201 6237 - 6015 6026 6045 6067 6083 6100 - 6014 6028 6041 6069 6089 6101 - 5790 5820 5995 6141 6302 6447 - 6012 6027 6050 6082 6085 6109 - 6030 6043 6052 6075 6086 6095 - 6031 6038 6051 6073 6084 6097 - 5982 6027 6029 6085 6119 6123 - 6032 6042 6054 6071 6091 6096 - 5888 5933 5934 6135 6199 6318 - 6024 6033 6053 6077 6099 6111 - 4973 5181 6102 6276 6767 6884 - 6026 6041 6056 6089 6100 6113 - 5903 5969 5991 6153 6175 6269 - 6028 6040 6057 6088 6101 6115 - 5996 6017 6036 6092 6094 6132 - 6042 6047 6063 6076 6096 6103 - 6037 6051 6084 6104 - 6038 6052 6061 6086 6097 6105 - 6044 6045 6078 6083 6106 - 6043 6054 6060 6091 6095 6108 - 6039 6047 6071 6087 6103 6114 - 6033 6048 6065 6093 6111 6121 - 6044 6046 6074 6080 6106 6110 - 6025 6035 6081 6087 6143 6148 - 6046 6050 6078 6082 6110 6112 - 6003 6025 6049 6079 6120 6148 6163 - 6050 6059 6080 6109 6112 - 6045 6056 6074 6100 6106 6124 - 6051 6061 6072 6097 6104 6116 - 6027 6059 6062 6109 6123 6144 - 6052 6060 6073 6095 6105 6117 - 6035 6039 6076 6079 6114 6143 - 6040 6053 6069 6099 6115 6129 - 6041 6057 6067 6101 6113 6130 - 5954 5992 6034 6107 6190 6211 - 6054 6063 6075 6096 6108 6118 - 6017 6049 6070 6120 6132 6155 - 6048 6077 6121 6133 - 6036 6070 6098 6132 6154 - 6060 6075 6086 6108 6117 6125 - 6063 6071 6091 6103 6118 6128 - 6061 6073 6084 6105 6116 6126 - 5972 5984 6036 6094 6122 6154 6220 - 6053 6065 6088 6111 6129 6140 - 6056 6067 6083 6113 6124 6145 - 6057 6069 6089 6115 6130 6146 - 4780 4973 6066 6345 6884 7178 - 6071 6076 6096 6114 6128 6139 - 6072 6084 6116 6134 - 6073 6086 6097 6117 6126 6136 - 6074 6078 6083 6110 6124 6147 - 5992 6029 6090 6119 6207 6211 - 6075 6091 6095 6118 6125 6137 - 6059 6082 6085 6112 6144 6172 - 6078 6080 6106 6112 6147 6165 - 6065 6077 6099 6121 6140 6152 - 6080 6082 6109 6110 6165 6172 - 6067 6089 6100 6130 6145 6161 - 6076 6087 6103 6139 6143 6157 - 6069 6088 6101 6129 6146 6156 - 6084 6097 6104 6126 6134 6149 - 6086 6095 6105 6125 6136 6150 - 6091 6096 6108 6128 6137 6151 - 6029 6062 6107 6123 6186 6207 - 6049 6081 6092 6155 6163 6191 - 6077 6093 6111 6133 6152 6164 - 5976 5984 6098 6138 6220 6246 - 6062 6085 6119 6144 6186 - 6083 6100 6106 6145 6147 6170 - 6095 6108 6117 6137 6150 6159 - 6097 6105 6116 6136 6149 6158 - 5828 5831 6131 6203 6335 6360 - 6096 6103 6118 6139 6151 6162 - 6088 6099 6115 6140 6156 6169 - 6089 6101 6113 6146 6161 6173 - 5831 5863 6127 6201 6335 6350 - 6070 6092 6094 6154 6155 6193 - 6093 6121 6164 6171 - 6104 6116 6149 6166 - 5933 6034 6064 6190 6318 6324 - 6105 6117 6126 6150 6158 6167 - 6108 6118 6125 6151 6159 6168 - 5976 6020 6122 6234 6246 6289 - 6103 6114 6128 6157 6162 6174 - 6099 6111 6129 6152 6169 6178 - 5820 5848 6058 6180 6447 6490 - 173 252 1438 12330 14856 15094 - 6079 6087 6114 6148 6157 6181 6182 - 6085 6109 6123 6172 6186 6244 - 6100 6113 6124 6161 6170 6188 - 6101 6115 6130 6156 6173 6183 - 6106 6110 6124 6165 6170 6195 - 6079 6081 6143 6163 6181 6196 - 6116 6126 6134 6158 6166 6176 - 6117 6125 6136 6159 6167 6177 - 6118 6128 6137 6162 6168 6179 - 6111 6121 6140 6164 6178 6187 - 5991 6022 6068 6237 6269 6346 - 6094 6098 6132 6193 6220 6255 - 6092 6120 6132 6191 6193 6241 - 6115 6129 6146 6169 6183 6198 - 6114 6139 6143 6174 6182 6192 - 6126 6136 6149 6167 6176 6184 - 6125 6137 6150 6168 6177 6185 - 5667 5905 5974 6522 6724 - 6113 6130 6145 6173 6188 6204 - 6128 6139 6151 6174 6179 6189 - 6081 6120 6148 6191 6196 6219 - 6121 6133 6152 6171 6187 6202 - 6110 6112 6147 6172 6195 6238 - 6134 6149 6176 6194 - 6136 6150 6158 6177 6184 6197 - 6137 6151 6159 6179 6185 6200 - 6129 6140 6156 6178 6198 6212 - 6124 6145 6147 6188 6195 6224 - 6133 6164 6202 6213 - 6109 6112 6144 6165 6238 6244 - 6130 6146 6161 6183 6204 6216 - 6139 6157 6162 6189 6192 6208 - 5969 6020 6068 6234 6269 6353 6400 - 6149 6158 6166 6184 6194 6205 - 6150 6159 6167 6185 6197 6210 - 6140 6152 6169 6187 6212 6221 - 6151 6162 6168 6189 6200 6214 - 5848 5870 6141 6225 6490 6630 - 6143 6148 6182 6196 6215 6223 - 6143 6157 6181 6192 6209 6215 - 6146 6156 6173 6198 6216 6230 - 6158 6167 6176 6197 6205 6217 - 6159 6168 6177 6200 6210 6218 - 6119 6123 6144 6207 6244 6287 - 6152 6164 6178 6202 6221 6233 - 6145 6161 6170 6204 6224 6240 - 6162 6174 6179 6208 6214 6226 - 6034 6090 6135 6211 6324 6328 - 6120 6155 6163 6219 6241 6267 - 6157 6174 6182 6208 6209 6222 - 6132 6154 6155 6241 6255 6281 - 6166 6176 6205 6227 - 6147 6165 6170 6224 6238 6260 - 6148 6163 6181 6219 6223 6232 - 6167 6177 6184 6210 6217 6228 - 6156 6169 6183 6212 6230 6242 - 5934 5995 6064 6302 6318 6435 - 6168 6179 6185 6214 6218 6231 - 5863 6055 6131 6237 6350 6390 - 6164 6171 6187 6213 6233 6245 - 5828 5952 6127 6360 6418 6455 - 6161 6173 6188 6216 6240 6252 - 6176 6184 6194 6217 6227 6235 - 5528 5763 5905 6248 6522 7007 7248 - 6107 6119 6186 6211 6287 6316 - 6174 6189 6192 6222 6226 6236 - 6182 6192 6215 6222 6229 - 6177 6185 6197 6218 6228 6239 - 6090 6107 6190 6207 6316 6328 - 6169 6178 6198 6221 6242 6253 - 6171 6202 6245 6254 - 6179 6189 6200 6226 6231 6247 - 6181 6182 6209 6223 6229 6249 - 6173 6183 6204 6230 6252 6262 - 6184 6197 6205 6228 6235 6250 - 6185 6200 6210 6231 6239 6251 - 6163 6191 6196 6232 6266 6267 - 6098 6122 6154 6246 6255 6311 6322 - 6178 6187 6212 6233 6253 6265 - 6192 6208 6209 6229 6236 6243 - 6181 6196 6215 6232 6249 6256 - 6170 6188 6195 6240 6260 6275 - 5870 5889 6180 6248 6630 6811 - 6189 6208 6214 6236 6247 6257 - 6194 6205 6235 6258 - 6197 6210 6217 6239 6250 6259 - 6209 6215 6222 6243 6249 6261 - 6183 6198 6216 6242 6262 6271 - 6200 6214 6218 6247 6251 6263 - 6196 6219 6223 6256 6266 - 6187 6202 6221 6245 6265 6272 - 6020 6138 6175 6289 6353 6382 - 6205 6217 6227 6250 6258 6268 - 6208 6222 6226 6243 6257 6264 - 6022 6055 6153 6201 6346 6390 6471 - 6165 6172 6195 6244 6260 6317 6319 - 6210 6218 6228 6251 6259 6270 - 6188 6204 6224 6252 6275 6285 - 6155 6191 6193 6267 6281 6300 - 6198 6212 6230 6253 6271 6278 - 6222 6229 6236 6261 6264 - 6144 6172 6186 6238 6287 6319 - 6202 6213 6233 6254 6272 6279 - 6122 6138 6220 6289 6311 6340 - 6214 6226 6231 6257 6263 6273 - 5763 5889 6206 6225 6811 7007 - 6215 6223 6229 6256 6261 6283 6294 - 6217 6228 6235 6259 6268 6274 - 6218 6231 6239 6263 6270 6277 - 6204 6216 6240 6262 6285 6291 - 6212 6221 6242 6265 6278 6292 - 6213 6245 6279 6290 - 6154 6193 6220 6281 6322 6341 - 6223 6232 6249 6266 6293 6294 - 6226 6236 6247 6264 6273 6280 - 6227 6235 6268 6282 - 6228 6239 6250 6270 6274 6286 - 6195 6224 6238 6275 6315 6317 - 6229 6243 6249 6264 6283 6284 - 6216 6230 6252 6271 6291 6297 - 6231 6247 6251 6273 6277 6288 - 6236 6243 6257 6261 6280 6284 - 6221 6233 6253 6272 6292 6298 - 6219 6232 6256 6267 6293 6305 - 6191 6219 6241 6266 6300 6305 6321 - 6235 6250 6258 6274 6282 6295 - 6068 6153 6175 6346 6400 6454 - 6239 6251 6259 6277 6286 6296 - 6230 6242 6262 6278 6297 6306 - 6233 6245 6265 6279 6298 6307 - 6247 6257 6263 6280 6288 6299 - 6250 6259 6268 6286 6295 6301 - 6224 6240 6260 6285 6315 6323 - 5181 5952 6066 6418 6767 6815 - 6251 6263 6270 6288 6296 6303 - 6242 6253 6271 6292 6306 6313 - 6245 6254 6272 6290 6307 6314 - 6257 6264 6273 6284 6299 6304 - 6193 6241 6255 6300 6341 6354 - 6258 6268 6295 6308 - 6249 6261 6284 6294 6309 6326 - 6261 6264 6280 6283 6304 6309 - 6240 6252 6275 6291 6323 6325 - 6259 6270 6274 6296 6301 6310 - 6186 6207 6244 6316 6319 6431 6453 - 6263 6273 6277 6299 6303 6312 - 6138 6234 6246 6340 6382 6411 - 6254 6279 6314 6332 - 6252 6262 6285 6297 6325 6331 - 6253 6265 6278 6298 6313 6333 - 6256 6266 6294 6305 6330 - 6249 6256 6283 6293 6326 6330 6359 - 6268 6274 6282 6301 6308 6320 - 6270 6277 6286 6303 6310 6327 - 6262 6271 6291 6306 6331 6338 - 6265 6272 6292 6307 6333 6339 - 6273 6280 6288 6304 6312 6329 - 6241 6267 6281 6321 6354 6366 - 6274 6286 6295 6310 6320 6334 - 5995 6058 6199 6435 6447 6581 - 6277 6288 6296 6312 6327 6336 - 6280 6284 6299 6309 6329 6337 - 6266 6267 6293 6321 6330 6344 - 6271 6278 6297 6313 6338 6348 - 6272 6279 6298 6314 6339 6349 - 6282 6295 6320 6342 - 6283 6284 6304 6326 6337 6351 - 6286 6296 6301 6327 6334 6343 - 6220 6246 6322 6340 6373 6377 - 6288 6299 6303 6329 6336 6347 - 6278 6292 6306 6333 6348 6357 - 6279 6290 6307 6332 6349 6356 - 6260 6275 6317 6323 6371 6381 - 6207 6211 6287 6328 6453 6464 - 6238 6260 6315 6319 6381 6402 - 6064 6135 6199 6324 6435 6517 6558 - 6238 6244 6287 6317 6402 6431 - 6295 6301 6308 6334 6342 6352 - 6267 6300 6305 6344 6366 6379 - 6220 6255 6311 6341 6373 6389 - 6275 6285 6315 6325 6363 6371 - 6135 6190 6318 6328 6484 6517 - 6285 6291 6323 6331 6361 6363 - 6283 6294 6309 6351 6359 6374 - 6296 6303 6310 6336 6343 6355 - 6190 6211 6316 6324 6464 6484 - 6299 6304 6312 6337 6347 6358 - 6293 6294 6305 6344 6359 6369 - 6291 6297 6325 6338 6361 6365 - 6290 6314 6356 6367 - 6292 6298 6313 6339 6357 6368 - 6301 6310 6320 6343 6352 6362 - 6127 6131 6350 6360 6552 6569 - 6303 6312 6327 6347 6355 6364 - 6304 6309 6329 6351 6358 6370 - 6297 6306 6331 6348 6365 6375 - 6298 6307 6333 6349 6368 6378 - 6246 6289 6311 6377 6411 6436 - 6255 6281 6322 6354 6389 6409 - 6308 6320 6352 15382 - 6310 6327 6334 6355 6362 6372 - 6305 6321 6330 6369 6379 - 4557 4780 6102 6996 7178 8355 - 6153 6237 6269 6454 6471 6540 - 6312 6329 6336 6358 6364 6376 - 6306 6313 6338 6357 6375 6384 - 6307 6314 6339 6356 6378 6385 - 6131 6201 6335 6390 6569 6604 - 6309 6326 6337 6370 6374 6386 - 6320 6334 6342 6362 6380 15382 - 6175 6234 6382 6400 6476 6530 - 6281 6300 6341 6366 6409 6422 - 6327 6336 6343 6364 6372 6383 - 6314 6332 6349 6367 6385 6394 - 6313 6333 6348 6368 6384 6395 - 6329 6337 6347 6370 6376 6387 - 6294 6326 6330 6369 6374 6404 6412 - 6127 6203 6335 6455 6552 6573 - 6325 6331 6363 6365 6393 6396 - 6334 6343 6352 6372 6380 6388 - 6323 6325 6361 6371 6393 6403 - 6336 6347 6355 6376 6383 6392 - 6331 6338 6361 6375 6396 6399 - 6300 6321 6354 6379 6422 6432 - 6332 6356 6394 6405 - 6333 6339 6357 6378 6395 6406 - 6330 6344 6359 6379 6412 6428 - 6337 6351 6358 6386 6387 6401 - 6315 6323 6363 6381 6403 6413 - 6343 6355 6362 6383 6388 6398 - 6311 6322 6377 6389 6419 6426 - 6326 6351 6359 6386 6404 6414 - 6338 6348 6365 6384 6399 6416 - 6347 6358 6364 6387 6392 6407 - 6311 6340 6373 6426 6436 - 6339 6349 6368 6385 6406 6417 - 6321 6344 6366 6369 6428 6432 - 6352 6362 6388 6397 6410 15382 - 6315 6317 6371 6402 6413 6445 - 6234 6289 6353 6411 6476 6512 - 6355 6364 6372 6392 6398 6415 - 6348 6357 6375 6395 6416 6424 - 6349 6356 6378 6394 6417 6427 - 6351 6370 6374 6401 6414 6423 - 6358 6370 6376 6401 6407 6421 - 6362 6372 6380 6398 6410 6420 - 6322 6341 6373 6409 6419 6462 - 6201 6237 6350 6471 6604 6643 - 5611 5652 6507 6710 7436 7933 - 6364 6376 6383 6407 6415 6425 - 6361 6363 6396 6403 6429 6433 - 6356 6367 6385 6405 6427 6440 - 6357 6368 6384 6406 6424 6441 - 6361 6365 6393 6399 6429 6438 - 6380 6410 6430 15382 - 6372 6383 6388 6415 6420 6434 - 6365 6375 6396 6416 6438 6448 - 6175 6269 6353 6454 6530 6563 - 6370 6386 6387 6421 6423 6442 - 6317 6319 6381 6431 6445 6496 6514 - 6363 6371 6393 6413 6433 6437 - 6359 6374 6412 6414 6439 6452 - 6367 6394 6440 6450 - 6368 6378 6395 6417 6441 6451 - 6376 6387 6392 6421 6425 6443 - 239 4560 5091 7295 14718 14884 - 6341 6354 6389 6422 6462 6488 - 6380 6388 6397 6420 6430 6444 - 6289 6340 6382 6436 6512 6526 - 6359 6369 6404 6428 6452 6473 - 6371 6381 6403 6437 6445 6468 - 6374 6386 6404 6423 6439 6446 - 6383 6392 6398 6425 6434 6449 - 6375 6384 6399 6424 6448 6460 - 6378 6385 6406 6427 6451 6463 - 5952 6203 6276 6455 6685 6815 6912 - 6373 6389 6426 6462 6499 - 6388 6398 6410 6434 6444 6456 - 6387 6401 6407 6442 6443 6458 - 6354 6366 6409 6432 6488 6519 - 6386 6401 6414 6442 6446 6457 - 6384 6395 6416 6441 6460 6472 - 6392 6407 6415 6443 6449 6461 - 6373 6377 6419 6436 6499 6531 - 6385 6394 6417 6440 6463 6474 - 6369 6379 6412 6432 6473 6504 - 6393 6396 6433 6438 6459 6469 - 6397 6410 6444 6465 - 6287 6319 6402 6453 6514 6532 - 6366 6379 6422 6428 6504 6519 - 6393 6403 6429 6437 6459 6466 - 6398 6415 6420 6449 6456 6470 - 6199 6302 6318 6558 6581 6649 - 6340 6377 6411 6426 6526 6531 - 6403 6413 6433 6466 6468 - 6396 6399 6429 6448 6469 6481 - 6404 6414 6446 6452 6467 - 6394 6405 6427 6450 6474 6483 - 6395 6406 6424 6451 6472 6485 - 6401 6421 6423 6457 6458 6475 - 6407 6421 6425 6458 6461 6478 - 6410 6420 6430 6456 6465 6479 - 6381 6402 6413 6468 6496 6508 - 6414 6423 6439 6457 6467 6477 - 6058 6141 6302 6490 6581 6721 6765 - 6399 6416 6438 6460 6481 6493 - 6415 6425 6434 6461 6470 6482 - 6405 6440 6483 6495 - 6406 6417 6441 6463 6485 6497 - 6404 6412 6439 6467 6473 6487 - 6287 6316 6431 6464 6532 6560 6571 - 6269 6346 6400 6540 6563 6619 - 6203 6360 6418 6573 6685 - 6420 6434 6444 6470 6479 6486 - 6423 6442 6446 6475 6477 6480 - 6421 6442 6443 6475 6478 6489 - 6429 6433 6466 6469 6491 - 6416 6424 6448 6472 6493 6505 - 6425 6443 6449 6478 6482 6492 - 6389 6409 6419 6488 6499 6543 - 6417 6427 6451 6474 6497 6506 - 6316 6328 6453 6484 6571 6608 - 6430 6444 6479 6498 - 6433 6437 6459 6468 6491 6510 - 6439 6446 6452 6477 6487 6500 - 6413 6437 6445 6466 6508 6510 - 6429 6438 6459 6481 6491 6513 - 6434 6449 6456 6482 6486 6502 - 6237 6346 6390 6540 6643 6686 - 6424 6441 6460 6485 6505 6518 - 6412 6428 6452 6487 6504 6523 - 6427 6440 6463 6483 6506 6516 - 6442 6457 6458 6480 6489 6501 - 6353 6382 6512 6530 6590 - 6446 6457 6467 6480 6500 6503 - 6443 6458 6461 6489 6492 6509 - 6444 6456 6465 6486 6498 6511 - 6457 6475 6477 6501 6503 - 6438 6448 6469 6493 6513 15383 - 6449 6461 6470 6492 6502 6515 - 6440 6450 6474 6495 6516 6525 - 6324 6328 6464 6517 6608 6647 - 6441 6451 6472 6497 6518 6527 - 6456 6470 6479 6502 6511 6521 - 6452 6467 6473 6500 6523 6541 - 6409 6422 6462 6519 6543 6570 - 6458 6475 6478 6501 6509 6520 - 6141 6180 6447 6630 6721 6882 - 6459 6466 6469 6510 6513 6536 - 6461 6478 6482 6509 6515 6524 - 6448 6460 6481 6505 6539 15383 - 4995 5317 6507 6562 8232 11299 - 6450 6483 6525 6535 - 6402 6445 6508 6514 6578 6580 - 6451 6463 6485 6506 6527 6538 - 6465 6479 6511 6528 - 6419 6426 6462 6531 6543 6613 - 6467 6477 6487 6503 6533 6541 - 6475 6480 6489 6503 6520 6529 - 6470 6482 6486 6515 6521 6534 - 6477 6480 6500 6501 6529 6533 - 6428 6432 6473 6519 6523 6555 6575 - 6460 6472 6493 6518 6539 6546 - 6463 6474 6497 6516 6538 6545 - 5317 5611 6391 6494 7436 8232 - 6445 6468 6496 6510 6576 6580 - 6478 6489 6492 6520 6524 6537 - 6466 6468 6491 6508 6536 6576 - 6479 6486 6498 6521 6528 6542 - 6382 6411 6476 6526 6590 6622 - 6469 6481 6491 6536 6557 15383 - 6402 6431 6496 6532 6572 6578 - 6482 6492 6502 6524 6534 6544 - 6474 6483 6506 6525 6545 6551 - 6318 6324 6484 6558 6647 6699 - 6472 6485 6505 6527 6546 6556 - 6422 6432 6488 6504 6570 6575 6602 - 6489 6501 6509 6529 6537 6547 - 6486 6502 6511 6534 6542 6548 - 5905 6160 6206 6724 7248 7709 - 6473 6487 6504 6541 6555 6568 - 6492 6509 6515 6537 6544 6550 - 6483 6495 6516 6535 6551 6561 - 6411 6436 6512 6531 6622 6632 - 6485 6497 6518 6538 6556 6565 - 6498 6511 6542 6553 - 6501 6503 6520 6533 6547 6554 - 6353 6400 6476 6563 6590 6660 - 6426 6436 6499 6526 6613 6632 - 6431 6453 6514 6560 6572 6589 - 6500 6503 6529 6541 6554 6566 - 6502 6515 6521 6544 6548 6559 - 6495 6525 6561 6579 - 6491 6510 6513 6557 6576 6594 - 6509 6520 6524 6547 6550 6564 - 6497 6506 6527 6545 6565 6582 - 6493 6505 6546 6574 6585 15383 - 6346 6454 6471 6619 6686 6692 - 6487 6500 6523 6533 6566 6568 6595 - 6511 6521 6528 6548 6553 6567 - 6462 6488 6499 6570 6613 6635 - 6515 6524 6534 6550 6559 6577 - 6506 6516 6538 6551 6582 6587 - 6505 6518 6539 6556 6585 6591 - 6520 6529 6537 6554 6564 6583 - 6521 6534 6542 6559 6567 6584 - 2535 5293 5550 8429 11051 14806 - 6524 6537 6544 6564 6577 6586 - 6516 6525 6545 6561 6587 6596 - 6335 6360 6569 6573 6708 6730 - 6528 6542 6567 6588 - 6529 6533 6547 6566 6583 6593 - 6504 6523 6568 6575 6603 - 6518 6527 6546 6565 6591 6598 - 6513 6536 6574 6594 6606 15383 - 6318 6435 6517 6649 6699 6770 - 6534 6544 6548 6577 6584 6592 - 6453 6532 6571 6589 6644 6667 - 6525 6535 6551 6579 6596 6600 - 4672 4995 6494 6740 11299 13260 - 6400 6454 6530 6619 6660 6738 - 6537 6547 6550 6583 6586 6599 - 6527 6538 6556 6582 6598 6605 - 6533 6541 6554 6593 6595 6610 - 6542 6548 6553 6584 6588 6597 - 6523 6541 6555 6595 6603 6631 - 6335 6350 6552 6604 6730 6776 - 6488 6519 6543 6602 6635 6655 - 6453 6464 6560 6608 6644 6676 - 6514 6532 6578 6589 6620 6651 - 6360 6455 6552 6685 6708 6852 - 6539 6557 6585 6606 6614 15383 - 6504 6519 6555 6602 6603 6627 - 6508 6510 6536 6580 6594 6636 6641 - 6544 6550 6559 6586 6592 6601 - 6496 6514 6572 6580 6620 6638 - 6535 6561 6600 6611 - 6496 6508 6576 6578 6636 6638 - 6302 6435 6447 6649 6750 6765 - 6538 6545 6565 6587 6605 6616 - 6547 6554 6564 6593 6599 6609 - 6548 6559 6567 6592 6597 6607 - 6539 6546 6574 6591 6614 6618 - 6550 6564 6577 6599 6601 6615 - 6545 6551 6582 6596 6616 6621 - 6553 6567 6597 6612 - 6532 6560 6572 6651 6667 - 6476 6512 6530 6622 6660 6743 - 6546 6556 6585 6598 6618 6625 - 6559 6577 6584 6601 6607 6617 - 6554 6566 6583 6609 6610 6624 - 6536 6557 6576 6606 6641 6648 - 6541 6566 6568 6610 6631 6637 - 6551 6561 6587 6600 6621 6628 - 6567 6584 6588 6607 6612 6623 - 6556 6565 6591 6605 6625 6633 - 6564 6583 6586 6609 6615 6626 - 6561 6579 6596 6611 6628 6639 - 6577 6586 6592 6615 6617 6629 - 6519 6570 6575 6627 6655 6665 - 6555 6568 6575 6627 6631 6658 - 6350 6390 6569 6643 6776 6810 - 6565 6582 6598 6616 6633 6645 - 6557 6574 6594 6614 6648 6654 - 6584 6592 6597 6617 6623 6634 - 6464 6484 6571 6647 6676 6751 - 6583 6593 6599 6624 6626 6642 - 6566 6593 6595 6624 6637 6653 - 6579 6600 6639 6652 - 6588 6597 6623 6640 - 6499 6531 6543 6632 6635 6747 6757 - 6574 6585 6606 6618 6654 6659 - 6586 6599 6601 6626 6629 6646 - 6582 6587 6605 6621 6645 6657 - 6592 6601 6607 6629 6634 6650 - 6585 6591 6614 6625 6659 6662 - 6454 6540 6563 6692 6738 6791 - 6572 6578 6638 6651 6687 - 6587 6596 6616 6628 6657 6663 - 6512 6526 6590 6632 6743 6762 - 6597 6607 6612 6634 6640 6656 - 6593 6609 6610 6642 6653 6666 - 6591 6598 6618 6633 6662 6669 - 6599 6609 6615 6642 6646 6661 - 6575 6602 6603 6658 6665 6679 - 6596 6600 6621 6639 6663 6670 - 6601 6615 6617 6646 6650 6664 - 6180 6225 6490 6811 6882 7112 - 6568 6595 6603 6637 6658 6680 6690 - 6526 6531 6613 6622 6747 6762 - 6598 6605 6625 6645 6669 6674 - 6607 6617 6623 6650 6656 6668 - 6543 6570 6613 6655 6745 6757 - 6576 6580 6638 6641 6712 6714 - 6595 6610 6631 6653 6671 6680 - 6578 6580 6620 6636 6687 6714 - 6600 6611 6628 6652 6670 6678 - 6612 6623 6656 6672 - 6576 6594 6636 6648 6701 6712 - 6609 6624 6626 6661 6666 6675 - 6390 6471 6604 6686 6809 6810 - 6560 6571 6667 6676 6764 - 6605 6616 6633 6657 6674 6683 - 6615 6626 6629 6661 6664 6673 - 6484 6517 6608 6699 6751 6830 - 6594 6606 6641 6654 6697 6701 - 6435 6558 6581 6750 6770 6825 - 6617 6629 6634 6664 6668 6677 - 6572 6589 6620 6667 6687 6773 - 6611 6639 6678 6684 - 6610 6624 6637 6666 6671 6681 - 6606 6614 6648 6659 6694 6697 - 6570 6602 6635 6665 6734 6745 - 6623 6634 6640 6668 6672 6682 - 6616 6621 6645 6663 6683 6691 - 6603 6627 6631 6679 6690 6716 - 6614 6618 6654 6662 6694 6696 - 6530 6563 6590 6738 6743 6863 - 6626 6642 6646 6673 6675 6688 - 6618 6625 6659 6669 6696 6703 - 6621 6628 6657 6670 6691 6702 - 6629 6646 6650 6673 6677 6689 - 6602 6627 6655 6679 6729 6734 - 6624 6642 6653 6675 6681 6693 - 6560 6589 6644 6651 6764 6773 - 6634 6650 6656 6677 6682 6695 - 6625 6633 6662 6674 6703 6707 - 6628 6639 6663 6678 6702 6709 - 6637 6653 6680 6681 6698 - 6640 6656 6682 6700 - 6646 6661 6664 6688 6689 6704 - 6633 6645 6669 6683 6707 6715 - 6642 6661 6666 6688 6693 6705 - 6571 6608 6644 6751 6764 6854 - 6650 6664 6668 6689 6695 6706 - 6639 6652 6670 6684 6709 6717 - 6627 6658 6665 6716 6729 - 6631 6637 6671 6690 6698 6723 - 6653 6666 6671 6693 6698 6711 - 6656 6668 6672 6695 6700 6713 - 6645 6657 6674 6691 6715 6722 - 6652 6678 6717 6726 - 6418 6455 6573 6852 6912 7030 - 6471 6540 6643 6692 6809 6845 - 6620 6638 6651 6714 6773 6801 - 6661 6673 6675 6704 6705 6718 - 6664 6673 6677 6704 6706 6720 - 6631 6658 6680 6716 6723 6761 - 6657 6663 6683 6702 6722 6728 - 6540 6619 6686 6791 6845 - 6666 6675 6681 6705 6711 6719 - 6654 6659 6696 6697 6732 6739 - 6668 6677 6682 6706 6713 6725 - 6659 6662 6694 6703 6732 6736 - 6648 6654 6694 6701 6739 6744 - 6671 6680 6681 6711 6723 6735 - 6517 6558 6647 6770 6830 6915 - 6672 6682 6713 6727 - 6641 6648 6697 6712 6744 6756 - 6663 6670 6691 6709 6728 6741 - 6662 6669 6696 6707 6736 6742 - 6673 6688 6689 6718 6720 6731 - 6675 6688 6693 6718 6719 6733 - 6677 6689 6695 6720 6725 6737 - 6669 6674 6703 6715 6742 6753 - 6552 6573 6730 6852 6892 - 6670 6678 6702 6717 6741 6752 - 5652 5974 6391 6724 7933 8666 - 6681 6693 6698 6719 6735 6748 - 6636 6641 6701 6714 6756 6794 - 6682 6695 6700 6725 6727 6746 - 6636 6638 6687 6712 6794 6801 6838 - 6674 6683 6707 6722 6753 6759 - 6658 6679 6690 6729 6761 6784 - 6678 6684 6709 6726 6752 6760 - 6688 6704 6705 6731 6733 6754 - 6693 6705 6711 6733 6748 6749 - 6689 6704 6706 6731 6737 6755 - 6447 6490 6765 6882 6987 - 6683 6691 6715 6728 6759 6768 - 6680 6690 6698 6735 6761 6786 - 5974 6160 6522 6710 7709 8666 - 6695 6706 6713 6737 6746 6758 - 6684 6717 6760 6771 - 6700 6713 6746 6763 - 6691 6702 6722 6741 6768 15384 - 6665 6679 6716 6734 6784 6799 - 6552 6569 6708 6776 6892 6941 - 6704 6718 6720 6754 6755 6769 - 6694 6696 6736 6739 6777 6780 - 6705 6718 6719 6749 6754 6766 - 6655 6665 6729 6745 6799 6821 - 6698 6711 6723 6748 6779 6786 - 6696 6703 6732 6742 6777 6781 - 6706 6720 6725 6755 6758 6772 - 6563 6619 6660 6791 6863 6936 - 6694 6697 6732 6744 6778 6780 - 4560 4672 6562 7295 13260 14209 - 6702 6709 6728 6752 6785 15384 - 6703 6707 6736 6753 6781 6788 - 6590 6622 6660 6762 6863 6972 - 6697 6701 6739 6756 6778 6783 - 6635 6655 6734 6757 6821 6851 - 6713 6725 6727 6758 6763 6775 - 6613 6632 6757 6762 6905 6937 - 6711 6719 6735 6749 6774 6779 - 6719 6733 6748 6766 6774 - 6581 6649 6765 6825 15386 - 6608 6647 6676 6830 6854 6970 - 6709 6717 6741 6760 6785 6790 - 6707 6715 6742 6759 6788 6792 - 6718 6731 6733 6766 6769 6782 - 6720 6731 6737 6769 6772 6787 - 6701 6712 6744 6783 6794 6822 - 6613 6635 6745 6747 6851 6905 - 6725 6737 6746 6772 6775 6789 - 6715 6722 6753 6768 6792 6798 - 6717 6726 6752 6771 6790 6797 - 6690 6716 6723 6784 6786 6829 6833 - 6622 6632 6743 6747 6937 6972 - 6727 6746 6775 6793 - 6644 6667 6676 6773 6854 6895 - 6447 6581 6721 6750 6987 15386 - 6733 6749 6754 6774 6782 6795 - 6066 6276 6815 6884 7528 7730 - 6722 6728 6759 6798 6804 15384 - 6731 6754 6755 6782 6787 6796 - 6558 6649 6699 6825 6915 7006 - 6726 6760 6797 6805 - 6737 6755 6758 6787 6789 6800 - 6651 6667 6687 6764 6801 6895 6928 - 6748 6749 6766 6779 6795 6802 - 6746 6758 6763 6789 6793 6803 - 6569 6604 6730 6810 6941 6998 - 6732 6736 6780 6781 6813 6816 - 6739 6744 6780 6783 6806 6807 - 6735 6748 6774 6786 6802 6826 - 6732 6739 6777 6778 6807 6813 - 6736 6742 6777 6788 6816 6818 - 6754 6766 6769 6795 6796 6808 - 6744 6756 6778 6806 6822 - 6716 6729 6761 6799 6833 6848 - 6741 6752 6790 6812 6819 15384 - 6723 6735 6761 6779 6826 6829 - 6755 6769 6772 6796 6800 6814 - 6742 6753 6781 6792 6818 6824 - 6758 6772 6775 6800 6803 6817 - 6752 6760 6785 6797 6819 6827 - 6619 6692 6738 6845 6936 6961 - 6753 6759 6788 6798 6824 6832 - 6763 6775 6803 6820 - 6712 6714 6756 6822 6838 6862 - 6766 6774 6782 6802 6808 6823 - 6769 6782 6787 6808 6814 6828 - 6760 6771 6790 6805 6827 6835 - 6759 6768 6792 6804 6832 6836 - 6729 6734 6784 6821 6848 6871 - 6772 6787 6789 6814 6817 6831 - 6687 6714 6773 6838 6922 6928 - 6774 6779 6795 6823 6826 6840 - 6775 6789 6793 6817 6820 6834 - 6768 6798 6812 6836 6843 15384 - 6771 6797 6835 6842 - 6778 6783 6807 6822 6837 6853 - 6778 6780 6806 6813 6837 6844 - 6782 6795 6796 6823 6828 6839 - 6643 6686 6810 6845 7008 7078 - 6604 6643 6776 6809 6998 7078 - 6225 6248 6630 7007 7112 7455 - 6785 6804 6819 6843 6850 15384 - 6777 6780 6807 6816 6844 6849 - 6787 6796 6800 6828 6831 6841 - 6276 6418 6767 6912 7437 7528 - 6777 6781 6813 6818 6849 6855 - 6789 6800 6803 6831 6834 6846 - 6781 6788 6816 6824 6855 6860 - 6785 6790 6812 6827 6850 6856 - 6793 6803 6834 6847 - 6734 6745 6799 6851 6871 6908 - 6756 6783 6794 6806 6853 6862 6883 - 6795 6802 6808 6839 6840 6857 - 6788 6792 6818 6832 6860 6864 - 6649 6750 6770 7006 15386 - 6779 6786 6802 6829 6840 6869 6875 - 6790 6797 6819 6835 6856 6865 - 6796 6808 6814 6839 6841 6858 - 6761 6786 6826 6833 6869 6876 - 6647 6699 6751 6915 6970 7130 - 6800 6814 6817 6841 6846 6859 - 6792 6798 6824 6836 6864 6866 - 6761 6784 6829 6848 6876 6889 - 6803 6817 6820 6846 6847 6861 - 6797 6805 6827 6842 6865 6867 - 6798 6804 6832 6843 6866 6874 - 6806 6807 6844 6853 6868 - 6714 6794 6801 6862 6922 6927 - 6808 6823 6828 6857 6858 6872 - 6802 6823 6826 6857 6875 6879 - 6814 6828 6831 6858 6859 6870 - 6805 6835 6867 6878 - 6804 6812 6836 6850 6874 6880 - 6807 6813 6837 6849 6868 6881 - 6686 6692 6791 6809 6961 7008 - 6817 6831 6834 6859 6861 6873 - 6820 6834 6861 6877 - 6784 6799 6833 6871 6889 6913 - 6813 6816 6844 6855 6881 6890 - 6812 6819 6843 6856 6880 6887 - 6745 6757 6821 6905 6908 6967 - 6573 6685 6708 6892 7030 7117 - 6806 6822 6837 6868 6883 6902 - 6676 6751 6764 6895 6970 7058 - 6816 6818 6849 6860 6890 6894 - 6819 6827 6850 6865 6887 6893 - 6823 6839 6840 6872 6879 6891 - 6828 6839 6841 6870 6872 6885 - 6831 6841 6846 6870 6873 6886 - 6818 6824 6855 6864 6894 6896 - 6834 6846 6847 6873 6877 6888 - 6794 6822 6838 6883 6927 15385 - 6660 6738 6743 6936 6972 7151 - 6824 6832 6860 6866 6896 6899 - 6827 6835 6856 6867 6893 6897 - 6832 6836 6864 6874 6899 6904 - 6835 6842 6865 6878 6897 6907 - 6837 6844 6853 6881 6902 6910 - 6826 6829 6875 6876 6911 6916 - 6841 6858 6859 6885 6886 6898 - 6799 6821 6848 6908 6913 6945 - 6839 6857 6858 6885 6891 6901 - 6846 6859 6861 6886 6888 6900 - 6836 6843 6866 6880 6904 6914 - 6826 6840 6869 6879 6909 6911 - 6829 6833 6869 6889 6916 6924 - 6847 6861 6888 6903 - 6842 6867 6907 6919 - 6840 6857 6875 6891 6906 6909 - 6843 6850 6874 6887 6914 6921 - 6844 6849 6868 6890 6910 6925 - 6490 6630 6721 6987 7112 7332 - 6822 6853 6862 6902 6946 15385 - 6066 6102 6767 7178 7730 7911 - 6858 6870 6872 6898 6901 6917 - 6859 6870 6873 6898 6900 6918 - 6850 6856 6880 6893 6921 6926 - 6861 6873 6877 6900 6903 6920 - 6833 6848 6876 6913 6924 6943 - 6849 6855 6881 6894 6925 6934 - 6857 6872 6879 6901 6906 6923 - 6708 6730 6852 6941 7117 7177 - 6856 6865 6887 6897 6926 6930 - 6855 6860 6890 6896 6934 6939 - 6764 6773 6854 6928 7058 7081 - 6860 6864 6894 6899 6939 6942 - 6865 6867 6893 6907 6930 6940 - 6870 6885 6886 6917 6918 6931 - 6864 6866 6896 6904 6942 6944 - 6873 6886 6888 6918 6920 6933 - 6872 6885 6891 6917 6923 6932 - 6853 6868 6883 6910 6946 6947 - 6877 6888 6920 6935 - 6866 6874 6899 6914 6944 6951 - 6747 6757 6851 6937 6967 7071 7105 - 6879 6891 6909 6923 6929 - 6867 6878 6897 6919 6940 6948 - 6821 6851 6871 6945 6967 6986 - 6875 6879 6906 6911 6929 6938 - 6868 6881 6902 6925 6947 6957 - 6869 6875 6909 6916 6938 6954 - 6418 6685 6815 7030 7315 7437 - 6848 6871 6889 6943 6945 6968 - 6874 6880 6904 6921 6951 6955 - 6699 6770 6830 7006 7130 7326 - 6869 6876 6911 6924 6954 6960 - 6885 6898 6901 6931 6932 6949 - 6886 6898 6900 6931 6933 6950 - 6878 6907 6948 6956 - 6888 6900 6903 6933 6935 6952 - 6880 6887 6914 6926 6955 6958 - 6801 6838 6927 6928 7016 7039 - 6891 6901 6906 6929 6932 6953 - 6876 6889 6916 6943 6960 6974 - 6881 6890 6910 6934 6957 6971 - 6887 6893 6921 6930 6958 6966 - 6838 6862 6922 7005 7016 15385 - 6773 6801 6895 6922 7039 7081 - 6906 6909 6923 6938 6953 6959 - 6893 6897 6926 6940 6966 6969 - 6898 6917 6918 6949 6950 6962 - 6901 6917 6923 6949 6953 6964 - 6900 6918 6920 6950 6952 6963 - 6890 6894 6925 6939 6971 6977 - 6903 6920 6952 6965 - 6738 6791 6863 6961 7148 7151 - 6747 6762 6905 6972 7105 7195 - 6909 6911 6929 6954 6959 6990 - 6894 6896 6934 6942 6977 6980 - 6897 6907 6930 6948 6969 6973 - 6730 6776 6892 6998 7177 7243 - 6896 6899 6939 6944 6980 6983 - 6889 6913 6924 6968 6974 7001 - 6899 6904 6942 6951 6983 6984 - 6871 6908 6913 6968 6986 7004 - 6883 6902 6947 6981 6994 15385 - 6902 6910 6946 6957 6981 6993 - 6907 6919 6940 6956 6973 6982 - 6917 6931 6932 6962 6964 6979 - 6918 6931 6933 6962 6963 6975 - 6904 6914 6944 6955 6984 6985 - 6920 6933 6935 6963 6965 6976 - 6923 6929 6932 6959 6964 6978 - 6911 6916 6938 6960 6990 6999 - 6914 6921 6951 6958 6985 6988 - 6919 6948 6982 6989 - 6910 6925 6947 6971 6993 7018 - 6921 6926 6955 6966 6988 6997 - 6929 6938 6953 6978 6990 7009 - 6916 6924 6954 6974 6999 7013 - 6791 6845 6936 7008 7148 7196 - 6931 6949 6950 6975 6979 6995 - 6933 6950 6952 6975 6976 6992 - 6932 6949 6953 6978 6979 7000 - 6935 6952 6976 6991 - 6926 6930 6958 6969 6997 7002 - 6851 6905 6908 6986 7049 7071 - 6913 6943 6945 7001 7004 7035 - 6930 6940 6966 6973 7002 7011 - 6751 6830 6854 7058 7130 7280 - 6925 6934 6957 6977 7018 7026 - 6743 6762 6863 6937 7151 7195 7322 - 6940 6948 6969 6982 7011 7015 - 6924 6943 6960 7001 7013 7031 - 6950 6962 6963 6992 6995 7012 - 6952 6963 6965 6991 6992 7010 - 6934 6939 6971 6980 7026 7028 - 6953 6959 6964 7000 7009 7017 - 6949 6962 6964 6995 7000 7014 - 6939 6942 6977 6983 7028 7029 - 6946 6947 6993 6994 7033 - 6948 6956 6973 6989 7015 7019 - 6942 6944 6980 6984 7023 7029 - 6944 6951 6983 6985 7022 7023 - 6951 6955 6984 6988 7022 7024 - 6908 6945 6967 7004 7047 7049 - 6721 6765 6882 7332 7379 15386 - 6955 6958 6985 6997 7024 7034 - 6956 6982 7019 7032 - 6938 6954 6959 6999 7009 7027 7040 - 6965 6976 7010 7020 - 6963 6975 6976 7010 7012 7021 - 6947 6957 6981 7018 7033 7073 - 6946 6981 7005 7033 7052 15385 - 6962 6975 6979 7012 7014 7025 - 4557 5550 6345 8355 8429 13856 14069 - 6958 6966 6988 7002 7034 7038 - 6776 6810 6941 7078 7243 7316 - 6954 6960 6990 7013 7027 7037 - 6964 6978 6979 7014 7017 7036 - 6943 6968 6974 7031 7035 7062 - 6966 6969 6997 7011 7038 7043 - 4201 5293 7847 11051 14945 - 6945 6968 6986 7035 7047 7074 - 6927 6994 7016 7052 7077 15385 - 6770 6825 6915 7326 7346 15386 - 6206 6248 6811 7248 7455 8151 - 6809 6845 6961 7078 7196 7249 - 6959 6978 6990 7017 7040 7048 - 6976 6991 6992 7020 7021 7041 - 6969 6973 7002 7015 7043 7045 - 6975 6992 6995 7021 7025 7042 - 6960 6974 6999 7031 7037 7046 - 6979 6995 7000 7025 7036 7044 - 6973 6982 7011 7019 7045 7050 - 6922 6927 7005 7039 7077 7096 - 6978 7000 7009 7036 7048 7056 - 6957 6971 6993 7026 7073 7100 - 6982 6989 7015 7032 7050 7057 - 6991 7010 7041 7051 - 6992 7010 7012 7041 7042 7053 - 6984 6985 7023 7024 7060 7064 - 6983 6984 7022 7029 7064 7072 - 6985 6988 7022 7034 7060 7063 - 6995 7012 7014 7042 7044 7055 - 6971 6977 7018 7028 7090 7100 - 6990 6999 7037 7040 7054 7061 - 6977 6980 7026 7029 7080 7090 - 6980 6983 7023 7028 7072 7080 - 6685 6852 6912 7117 7269 7315 - 6974 7001 7013 7046 7062 7085 - 6989 7019 7057 7065 - 6981 6993 6994 7052 7073 7104 - 6988 6997 7024 7038 7063 7070 - 6968 7001 7004 7062 7074 7108 - 7000 7014 7017 7044 7056 7059 - 6999 7013 7027 7046 7061 7075 - 6997 7002 7034 7043 7070 7076 - 6922 6928 7016 7081 7096 7186 - 6990 7009 7027 7048 7054 7066 - 7010 7020 7021 7051 7053 7067 - 7012 7021 7025 7053 7055 7069 - 7002 7011 7038 7045 7076 7082 - 7014 7025 7036 7055 7059 7068 - 7011 7015 7043 7050 7082 7086 - 7013 7031 7037 7075 7085 - 6986 7004 7049 7074 7118 - 7009 7017 7040 7056 7066 7079 - 6967 6986 7047 7071 7118 7155 - 7015 7019 7045 7057 7086 7091 - 7020 7041 7067 7084 - 6994 7005 7033 7077 7104 7128 - 7021 7041 7042 7067 7069 7088 - 7027 7040 7061 7066 7092 - 7025 7042 7044 7068 7069 7089 - 7017 7036 7048 7059 7079 7083 - 7019 7032 7050 7065 7091 7093 - 6854 6895 6970 7081 7280 7285 - 7036 7044 7056 7068 7083 7087 - 7022 7024 7063 7064 7094 7097 - 7027 7037 7054 7075 7092 7113 - 7001 7031 7035 7085 7108 7125 - 7024 7034 7060 7070 7094 7102 - 7022 7023 7060 7072 7097 7107 - 7032 7057 7093 7101 - 7040 7048 7054 7079 7092 7103 - 7041 7051 7053 7084 7088 7095 - 7044 7055 7059 7087 7089 7099 - 7042 7053 7055 7088 7089 7098 - 7034 7038 7063 7076 7102 7106 - 6905 6967 7049 7105 7155 7214 - 7023 7029 7064 7080 7107 7121 - 6993 7018 7033 7100 7104 7154 - 7004 7035 7047 7108 7118 7152 - 7037 7046 7061 7085 7113 7131 - 7038 7043 7070 7082 7106 7110 - 7005 7016 7052 7096 7128 7150 - 6809 6810 6998 7008 7249 7316 7438 - 7048 7056 7066 7083 7103 7111 - 7028 7029 7072 7090 7121 7134 - 6895 6928 7039 7058 7186 7285 - 7043 7045 7076 7086 7110 7116 - 7056 7059 7079 7087 7111 7115 - 7051 7067 7095 7109 - 7031 7046 7062 7075 7125 7131 - 7045 7050 7082 7091 7116 7120 - 7059 7068 7083 7099 7115 - 7053 7067 7069 7095 7098 7114 - 7055 7068 7069 7098 7099 7119 - 7026 7028 7080 7100 7134 7159 - 7050 7057 7086 7093 7120 7122 - 7054 7061 7066 7103 7113 7138 - 7057 7065 7091 7101 7122 7124 - 7060 7063 7097 7102 7126 7127 - 7067 7084 7088 7109 7114 7123 - 7016 7039 7077 7150 7186 7211 - 7060 7064 7094 7107 7126 7132 - 7069 7088 7089 7114 7119 7129 - 7068 7087 7089 7115 7119 7137 - 7018 7026 7073 7090 7154 7159 7198 - 7065 7093 7124 7133 - 7063 7070 7094 7106 7127 7136 - 7066 7079 7092 7111 7138 7143 - 7033 7052 7073 7128 7154 7183 - 6905 6937 7071 7195 7214 7334 - 7070 7076 7102 7110 7136 7140 - 7064 7072 7097 7121 7132 7145 - 7035 7062 7074 7125 7152 7167 - 7084 7095 7123 7135 - 7076 7082 7106 7116 7140 7141 - 7079 7083 7103 7115 7142 7143 - 6630 6811 6882 7332 7455 8166 - 7061 7075 7092 7131 7138 7174 - 7088 7095 7098 7123 7129 7139 - 7083 7087 7099 7111 7137 7142 - 7082 7086 7110 7120 7141 7144 - 6852 6892 7030 7177 7269 7376 - 7047 7049 7074 7152 7155 7199 - 7089 7098 7099 7129 7137 7146 - 7086 7091 7116 7122 7144 7147 - 7072 7080 7107 7134 7145 7161 - 7091 7093 7120 7124 7147 7153 - 7095 7109 7114 7135 7139 7149 - 7093 7101 7122 7133 7153 7157 - 7062 7085 7108 7131 7167 7185 - 7094 7097 7127 7132 7156 7158 - 7094 7102 7126 7136 7158 7166 - 7052 7077 7104 7150 7183 7202 - 7098 7114 7119 7139 7146 7162 - 6830 6915 6970 7280 7326 7608 - 7075 7085 7113 7125 7174 7185 7216 - 7097 7107 7126 7145 7156 7164 - 7101 7124 7157 7163 - 7080 7090 7121 7159 7161 7188 - 7109 7123 7149 7160 - 7102 7106 7127 7140 7166 7168 - 7099 7115 7119 7142 7146 7172 7175 - 7092 7103 7113 7143 7174 7191 - 7114 7123 7129 7149 7162 7165 - 7106 7110 7136 7141 7168 7170 - 7110 7116 7140 7144 7170 7171 - 7111 7115 7137 7143 7172 7181 - 7103 7111 7138 7142 7181 7191 - 7116 7120 7141 7147 7171 7176 - 7107 7121 7132 7161 7164 7169 - 7119 7129 7137 7162 7175 7180 - 7120 7122 7144 7153 7176 7179 - 6936 6961 7151 7196 7380 7395 - 7123 7135 7139 7160 7165 7173 - 7077 7096 7128 7202 7211 7239 - 6863 6936 6972 7148 7322 7395 7557 - 7074 7108 7118 7167 7199 7218 - 7122 7124 7147 7157 7179 7182 - 7073 7100 7104 7183 7198 7226 - 7049 7071 7118 7199 7214 7259 - 7126 7132 7158 7164 7184 - 7124 7133 7153 7163 7182 7190 - 7126 7127 7156 7166 7184 7201 - 7090 7100 7134 7188 7198 7222 - 7135 7149 7173 7187 - 7121 7134 7145 7169 7188 7197 - 7129 7139 7146 7165 7180 7189 - 7133 7157 7190 7192 - 7132 7145 7156 7169 7184 7194 - 7139 7149 7162 7173 7189 7193 - 7127 7136 7158 7168 7201 7224 - 7108 7125 7152 7185 7218 7227 - 7136 7140 7166 7170 7215 7224 - 7145 7161 7164 7194 7197 - 7140 7141 7168 7171 7207 7215 - 7141 7144 7170 7176 7204 7207 - 7137 7142 7175 7181 7208 7219 - 7149 7160 7165 7187 7193 7200 - 7113 7131 7138 7191 7216 7231 - 7137 7146 7172 7180 7203 7208 - 7144 7147 7171 7179 7204 7205 - 6892 6941 7117 7243 7376 7460 - 6102 6345 6884 7911 8355 10635 - 7147 7153 7176 7182 7205 7209 - 7146 7162 7175 7189 7203 7206 - 7142 7143 7172 7191 7219 7233 - 7153 7157 7179 7190 7209 7213 - 7104 7128 7154 7202 7226 7251 - 7156 7158 7164 7194 7201 7232 - 7125 7131 7167 7216 7227 7260 - 7039 7081 7096 7211 7285 7381 - 7160 7173 7200 7210 - 7134 7159 7161 7197 7222 7230 - 7162 7165 7180 7193 7206 7212 - 7157 7163 7182 7192 7213 7217 - 7138 7143 7174 7181 7231 7233 7257 - 7163 7190 7217 7221 - 7165 7173 7189 7200 7212 7220 - 7164 7169 7184 7197 7232 7246 - 6937 6972 7105 7322 7334 7430 - 6961 7008 7148 7249 7380 7451 - 7161 7169 7188 7194 7230 7246 - 7100 7154 7159 7222 7226 7275 7300 - 7118 7152 7155 7218 7259 7267 - 7173 7187 7193 7210 7220 7225 - 7158 7166 7184 7224 7232 7279 - 7128 7150 7183 7239 7251 7276 - 7175 7180 7206 7208 7223 7228 - 7171 7176 7205 7207 7234 7242 - 7176 7179 7204 7209 7234 7235 - 7180 7189 7203 7212 7223 7229 - 7170 7171 7204 7215 7242 7250 - 7172 7175 7203 7219 7228 7240 - 7179 7182 7205 7213 7235 7238 - 7187 7200 7225 7236 - 7096 7150 7186 7239 7349 7381 - 7189 7193 7206 7220 7229 7237 - 7182 7190 7209 7217 7238 7241 - 7071 7105 7155 7259 7334 7357 - 7168 7170 7207 7224 7250 7286 - 7131 7174 7185 7231 7260 7287 - 7190 7192 7213 7221 7241 7245 - 7152 7167 7199 7227 7267 7281 - 7172 7181 7208 7233 7240 7253 - 7193 7200 7212 7225 7237 7247 - 7192 7217 7245 7252 - 7159 7188 7198 7230 7275 7278 - 7203 7206 7228 7229 7244 - 7166 7168 7201 7215 7279 7286 - 7200 7210 7220 7236 7247 7254 - 7154 7183 7198 7251 7300 7324 - 7167 7185 7218 7260 7281 7323 - 7203 7208 7223 7240 7244 7255 - 7206 7212 7223 7237 7244 7256 - 7188 7197 7222 7246 7278 7304 - 7174 7191 7216 7257 7287 7297 - 7184 7194 7201 7246 7279 7311 - 7181 7191 7219 7253 7257 7271 - 7204 7205 7235 7242 7258 7265 - 7205 7209 7234 7238 7258 7262 - 7210 7225 7254 7261 - 7212 7220 7229 7247 7256 7263 - 7209 7213 7235 7241 7262 7264 - 7150 7202 7211 7276 7349 - 7208 7219 7228 7253 7255 7268 - 7213 7217 7238 7245 7264 7266 - 7204 7207 7234 7250 7265 7273 - 6941 6998 7177 7316 7460 7551 - 7223 7228 7229 7255 7256 7270 - 7217 7221 7241 7252 7266 7272 - 7194 7197 7230 7232 7304 7311 - 7220 7225 7237 7254 7263 7274 - 6206 6522 7007 7709 8151 10752 - 7008 7078 7196 7438 7451 7571 - 7207 7215 7242 7273 7286 7299 - 7183 7202 7226 7276 7324 7328 - 7221 7245 7272 7277 - 7219 7233 7240 7268 7271 7290 - 7225 7236 7247 7261 7274 7282 - 7228 7240 7244 7268 7270 7293 - 7229 7237 7244 7263 7270 7283 - 7191 7231 7233 7271 7297 7302 - 7234 7235 7262 7265 7284 7288 - 7155 7199 7214 7267 7329 7357 - 7185 7216 7227 7287 7323 7351 - 7236 7254 7282 7292 - 7235 7238 7258 7264 7288 7291 - 7237 7247 7256 7274 7283 7296 - 7238 7241 7262 7266 7291 7294 - 7234 7242 7258 7273 7284 7289 - 7241 7245 7264 7272 7294 7298 - 7199 7218 7259 7281 7329 7340 - 7240 7253 7255 7290 7293 7314 - 7030 7117 7315 7376 7609 - 7244 7255 7256 7283 7293 7307 - 7233 7253 7257 7290 7302 7310 - 7245 7252 7266 7277 7298 7306 - 7242 7250 7265 7289 7299 7308 - 7247 7254 7263 7282 7296 7305 - 7198 7222 7278 7300 7345 - 7202 7239 7251 7328 7349 7368 - 7252 7272 7306 7312 - 7222 7230 7275 7304 7345 7371 - 7201 7224 7232 7286 7311 7352 7359 - 6970 7058 7130 7285 7592 7608 - 7218 7227 7267 7323 7340 7383 - 7254 7261 7274 7292 7305 7313 - 7256 7263 7270 7296 7307 7317 - 7258 7265 7288 7289 7301 7303 - 7058 7081 7186 7280 7381 7549 7592 - 7215 7224 7250 7279 7299 7339 7352 - 7216 7231 7260 7297 7348 7351 - 7258 7262 7284 7291 7301 7309 - 7265 7273 7284 7303 7308 - 7253 7268 7271 7310 7314 7337 - 7262 7264 7288 7294 7309 7318 - 7261 7282 7313 7319 - 7255 7268 7270 7307 7314 7331 - 7264 7266 7291 7298 7318 7321 - 4560 6408 6740 14209 14884 - 7263 7274 7283 7305 7317 7325 - 7231 7257 7287 7302 7348 7353 - 7266 7272 7294 7306 7321 7327 - 7250 7273 7286 7308 7338 7339 - 7198 7226 7275 7324 7345 7407 - 7284 7288 7303 7309 7320 - 7257 7271 7297 7310 7353 7361 - 7284 7289 7301 7308 7320 7330 - 7230 7246 7278 7311 7371 7384 - 7274 7282 7296 7313 7325 7335 - 7272 7277 7298 7312 7327 7336 - 7270 7283 7293 7317 7331 7341 - 7273 7289 7299 7303 7330 7338 - 7288 7291 7301 7318 7320 7333 - 7271 7290 7302 7337 7361 - 7232 7246 7279 7304 7359 7384 - 7277 7306 7336 7343 - 7282 7292 7305 7319 7335 7342 - 7268 7290 7293 7331 7337 7360 - 6912 7030 7269 7437 7609 8118 - 6998 7078 7243 7438 7551 7660 - 7283 7296 7307 7325 7341 7350 - 7291 7294 7309 7321 7333 7344 - 7292 7313 7342 7347 - 7301 7303 7309 7330 7333 7354 - 7294 7298 7318 7327 7344 7355 - 6972 7151 7195 7430 7557 7645 7669 - 7227 7260 7281 7351 7383 7414 - 7226 7251 7300 7328 7407 7408 - 7296 7305 7317 7335 7350 7356 - 6915 7006 7130 7346 7608 8108 - 7298 7306 7321 7336 7355 7358 - 7251 7276 7324 7368 7408 - 7259 7267 7340 7357 7404 7415 - 7303 7308 7320 7338 7354 7374 - 7293 7307 7314 7341 7360 7365 - 6882 6987 7112 7379 8166 10539 - 7309 7318 7320 7344 7354 7363 - 7105 7195 7214 7357 7430 7505 7523 - 7305 7313 7325 7342 7356 7362 - 7306 7312 7327 7343 7358 7364 - 7290 7310 7314 7360 7361 7390 - 7299 7308 7330 7339 7374 7378 - 7286 7299 7338 7352 7378 7388 - 7267 7281 7329 7383 7404 - 7307 7317 7331 7350 7365 7369 - 7313 7319 7335 7347 7362 7366 - 7312 7336 7364 7367 - 7318 7321 7333 7355 7363 7370 - 7275 7278 7300 7371 7407 7449 - 7006 7326 7379 8108 8722 15386 - 7319 7342 7366 7372 - 7287 7297 7351 7353 7389 7402 - 7211 7239 7276 7368 7381 7425 - 7317 7325 7341 7356 7369 7373 - 7260 7287 7323 7348 7402 7414 - 7279 7286 7339 7359 7388 7400 - 7297 7302 7348 7361 7389 7397 - 7320 7330 7333 7363 7374 7385 - 7321 7327 7344 7358 7370 7375 - 7325 7335 7350 7362 7373 7377 - 7214 7259 7329 7334 7415 7505 - 7327 7336 7355 7364 7375 7382 - 7279 7311 7352 7384 7400 7434 - 7314 7331 7337 7365 7390 7394 - 7302 7310 7337 7353 7390 7397 7412 - 7335 7342 7356 7366 7377 7386 - 7333 7344 7354 7370 7385 7393 - 7336 7343 7358 7367 7382 7387 - 7331 7341 7360 7369 7392 7394 - 7342 7347 7362 7372 7386 7391 - 7343 7364 7387 7396 - 7276 7328 7349 7408 7425 7487 - 7341 7350 7365 7373 7392 7399 - 7344 7355 7363 7375 7393 7401 - 7278 7304 7345 7384 7449 7486 - 7347 7366 7391 7398 - 7350 7356 7369 7377 7399 7403 - 7330 7338 7354 7378 7385 7417 7423 - 7355 7358 7370 7382 7401 7406 - 7117 7177 7269 7460 7609 7753 - 7356 7362 7373 7386 7403 7405 - 7338 7339 7374 7388 7423 7428 - 6987 7332 7346 8722 10539 15386 - 7148 7196 7395 7451 7591 7639 - 7186 7211 7285 7349 7425 7514 7549 - 7358 7364 7375 7387 7406 7409 - 7281 7323 7340 7404 7414 7506 - 7304 7311 7359 7371 7434 7486 - 7354 7363 7374 7393 7417 7421 - 7362 7366 7377 7391 7405 7410 - 7364 7367 7382 7396 7409 7411 - 7339 7352 7378 7400 7428 7444 - 7348 7353 7397 7402 7427 7433 - 7337 7360 7361 7394 7412 7431 7447 - 7366 7372 7386 7398 7410 7413 - 7365 7369 7394 7399 7416 7418 - 7363 7370 7385 7401 7421 7424 - 7360 7365 7390 7392 7418 7431 - 7148 7151 7380 7557 7591 7670 - 7367 7387 7411 7419 - 7353 7361 7389 7412 7427 7441 - 7372 7391 7413 7420 - 7369 7373 7392 7403 7416 7422 - 7352 7359 7388 7434 7444 7468 - 7370 7375 7393 7406 7424 7429 - 7348 7351 7389 7414 7433 7473 - 7373 7377 7399 7405 7422 7426 - 7329 7340 7383 7415 7506 7525 - 7377 7386 7403 7410 7426 7432 - 7375 7382 7401 7409 7429 7435 - 7300 7324 7345 7408 7449 7545 7603 - 7324 7328 7368 7407 7487 7545 - 7382 7387 7406 7411 7435 7440 - 7386 7391 7405 7413 7432 7439 - 7387 7396 7409 7419 7440 7443 - 7361 7390 7397 7441 7447 7463 - 7391 7398 7410 7420 7439 7442 - 7323 7351 7383 7402 7473 7506 7563 - 7329 7357 7404 7505 7525 7579 - 7392 7399 7418 7422 7445 7446 - 7374 7385 7421 7423 7453 7459 - 7392 7394 7416 7431 7445 7456 - 7396 7411 7443 7450 - 7398 7413 7442 7448 - 7385 7393 7417 7424 7453 7454 - 7399 7403 7416 7426 7446 7452 - 7374 7378 7417 7428 7459 7476 - 7393 7401 7421 7429 7454 7458 - 7349 7368 7381 7487 7514 7570 - 7403 7405 7422 7432 7452 7457 - 7389 7397 7433 7441 7464 7469 - 7378 7388 7423 7444 7476 7500 - 7401 7406 7424 7435 7458 7462 - 7195 7322 7334 7523 7640 7645 - 7390 7394 7418 7447 7456 7466 - 7405 7410 7426 7439 7457 7461 - 7389 7402 7427 7464 7473 - 7359 7384 7400 7468 7486 7550 - 7406 7409 7429 7440 7462 7465 - 6391 6507 7933 8232 13750 - 6815 6912 7315 7528 8118 8472 - 7078 7249 7316 7571 7660 7808 - 7410 7413 7432 7442 7461 7467 - 7409 7411 7435 7443 7465 7470 - 7397 7412 7427 7463 7469 7485 - 7413 7420 7439 7448 7467 7471 - 7411 7419 7440 7450 7470 7474 - 7388 7400 7428 7468 7500 7521 - 7416 7418 7446 7456 7472 7477 - 7416 7422 7445 7452 7472 7475 - 7390 7412 7431 7463 7466 7495 7498 - 7420 7442 7471 7479 - 7345 7371 7407 7486 7603 7607 - 7419 7443 7474 7483 - 7196 7249 7380 7571 7639 7703 - 7422 7426 7446 7457 7475 7482 - 7417 7421 7454 7459 7480 7481 - 7421 7424 7453 7458 7481 7484 - 6811 7007 7112 8151 8166 10767 - 7418 7431 7445 7466 7477 7478 - 7426 7432 7452 7461 7482 7488 - 7424 7429 7454 7462 7484 7489 - 7417 7423 7453 7476 7480 7508 - 7177 7243 7376 7551 7753 7852 - 7432 7439 7457 7467 7488 7490 - 7429 7435 7458 7465 7489 7491 - 7412 7441 7447 7485 7495 7509 - 7427 7433 7469 7473 7493 7517 - 7435 7440 7462 7470 7491 7496 - 7431 7447 7456 7478 7494 7498 - 7439 7442 7461 7471 7490 7497 - 7400 7434 7444 7521 7550 - 7427 7441 7464 7485 7493 7507 - 7440 7443 7465 7474 7496 7501 - 7442 7448 7467 7479 7497 7502 - 7445 7446 7475 7477 7499 7503 - 7402 7414 7433 7464 7517 7563 7583 - 7443 7450 7470 7483 7501 7512 - 7446 7452 7472 7482 7503 7510 - 7423 7428 7459 7500 7508 7526 - 7445 7456 7472 7478 7492 7499 - 7456 7466 7477 7492 7494 - 7448 7471 7502 7511 - 7453 7459 7481 7504 7508 - 7453 7454 7480 7484 7504 7513 - 7452 7457 7475 7488 7510 7515 - 7450 7474 7512 7519 - 7454 7458 7481 7489 7513 7516 - 7441 7463 7469 7507 7509 7534 - 7371 7384 7434 7449 7550 7607 7634 - 7368 7408 7425 7545 7570 7679 - 7457 7461 7482 7490 7515 7522 - 7458 7462 7484 7491 7516 7524 - 7461 7467 7488 7497 7522 7527 - 7462 7465 7489 7496 7524 7529 - 7477 7478 7494 7499 7518 7520 - 7464 7469 7507 7517 7560 - 7466 7478 7492 7498 7518 7530 - 7447 7463 7498 7509 7536 7540 - 7465 7470 7491 7501 7529 7533 - 7467 7471 7490 7502 7527 7532 - 7447 7466 7494 7495 7530 7536 - 7472 7477 7492 7503 7520 7531 - 7428 7444 7476 7521 7526 7562 7573 - 7470 7474 7496 7512 7533 7538 - 7471 7479 7497 7511 7532 7535 - 7472 7475 7499 7510 7531 7539 - 7480 7481 7508 7513 7541 7544 - 7334 7357 7415 7523 7579 7672 7696 - 7383 7404 7414 7525 7563 7654 7684 - 7469 7485 7493 7534 7560 - 7459 7476 7480 7504 7526 7542 7544 - 7463 7485 7495 7534 7540 7574 - 7475 7482 7503 7515 7539 7547 - 7479 7502 7535 7543 - 7474 7483 7501 7519 7538 7546 - 7481 7484 7504 7516 7541 7548 - 7381 7425 7549 7570 7729 - 7482 7488 7510 7522 7547 7553 - 7484 7489 7513 7524 7548 7554 - 7464 7473 7493 7560 7583 7596 - 7492 7494 7520 7530 7537 - 7483 7512 7546 7555 - 7492 7499 7518 7531 7537 7552 - 7444 7468 7500 7550 7573 7616 - 7488 7490 7515 7527 7553 7556 - 7334 7430 7505 7640 7672 7713 - 7489 7491 7516 7529 7554 7558 - 7404 7415 7506 7579 7681 7684 - 7476 7500 7508 7542 7562 7565 - 7490 7497 7522 7532 7556 7559 - 6767 6815 7437 7730 8472 8881 - 7491 7496 7524 7533 7558 7561 - 7494 7498 7518 7536 7537 7566 7576 - 7499 7503 7520 7539 7552 7567 - 7497 7502 7527 7535 7559 7564 - 7496 7501 7529 7538 7561 7569 - 7485 7507 7509 7560 7574 7621 - 7502 7511 7532 7543 7564 7572 - 7495 7498 7530 7540 7576 7580 - 7518 7520 7530 7552 7566 - 7501 7512 7533 7546 7569 7575 - 7503 7510 7531 7547 7567 7581 - 7495 7509 7536 7574 7580 - 7504 7513 7544 7548 7578 7584 - 7508 7526 7544 7565 7568 - 7511 7535 7572 7577 - 7504 7508 7541 7542 7568 7578 - 7407 7408 7487 7603 7679 7772 - 7512 7519 7538 7555 7575 7582 - 7510 7515 7539 7553 7581 7585 - 7513 7516 7541 7554 7584 7586 - 7285 7381 7514 7592 7729 7963 - 7434 7468 7486 7521 7616 7634 7674 - 7243 7316 7460 7660 7852 7966 - 7520 7531 7537 7566 7567 7595 - 7515 7522 7547 7556 7585 7587 - 7516 7524 7548 7558 7586 7589 - 7519 7546 7582 7588 - 7522 7527 7553 7559 7587 7590 - 7151 7322 7395 7669 7670 7884 - 7524 7529 7554 7561 7589 7594 - 7527 7532 7556 7564 7590 7593 - 7493 7507 7517 7534 7596 7621 7628 - 7529 7533 7558 7569 7594 7598 - 7500 7526 7565 7573 7602 7612 - 7414 7473 7506 7583 7638 7654 - 7532 7535 7559 7572 7593 7597 - 7526 7542 7562 7568 7600 7602 - 7530 7537 7552 7576 7595 7614 - 7531 7539 7552 7581 7595 7606 - 7542 7544 7565 7578 7600 7610 - 7533 7538 7561 7575 7598 7601 - 7425 7487 7514 7679 7729 7794 - 7249 7438 7451 7703 7808 7832 - 7535 7543 7564 7577 7597 7599 - 7500 7521 7562 7612 7616 7644 - 7509 7534 7540 7580 7621 7631 - 7538 7546 7569 7582 7601 7605 - 7530 7536 7566 7580 7614 7629 - 7543 7572 7599 7604 - 7541 7544 7568 7584 7610 7613 - 7415 7505 7525 7681 7696 - 7536 7540 7574 7576 7629 7631 - 7539 7547 7567 7585 7606 7615 - 7546 7555 7575 7588 7605 7611 - 7473 7517 7563 7596 7630 7638 - 7541 7548 7578 7586 7613 7617 - 7547 7553 7581 7587 7615 7623 - 7548 7554 7584 7589 7617 7620 - 7553 7556 7585 7590 7619 7623 - 7555 7582 7611 7618 - 7554 7558 7586 7594 7620 7625 - 7556 7559 7587 7593 7619 7622 - 7380 7395 7639 7670 7873 7874 - 7280 7285 7549 7608 7963 8358 - 7559 7564 7590 7597 7622 7624 - 7558 7561 7589 7598 7625 7627 - 7552 7566 7567 7606 7614 7652 - 7517 7560 7583 7628 7630 7661 - 7564 7572 7593 7599 7624 7626 - 7561 7569 7594 7601 7627 7633 - 7572 7577 7597 7604 7626 7632 - 7565 7568 7602 7610 7637 7646 - 7569 7575 7598 7605 7633 7635 - 7562 7565 7600 7612 7637 7642 - 7407 7449 7545 7607 7772 7778 - 7577 7599 7632 7636 - 7575 7582 7601 7611 7635 7641 - 7567 7581 7595 7615 7652 7655 - 7449 7486 7603 7634 7771 7778 - 7130 7280 7326 7592 8108 8358 9530 - 7269 7315 7376 7753 8118 8739 - 7568 7578 7600 7613 7646 7665 - 7582 7588 7605 7618 7641 7643 - 7562 7573 7602 7642 7644 7667 - 7578 7584 7610 7617 7657 7665 - 7566 7576 7595 7629 7652 7685 - 7581 7585 7606 7623 7655 7662 - 7521 7550 7573 7644 7674 7683 - 7584 7586 7613 7620 7651 7657 - 7588 7611 7643 7650 - 7587 7590 7622 7623 7647 7656 - 7586 7589 7617 7625 7651 7653 - 7534 7560 7574 7628 7631 7694 7724 - 7590 7593 7619 7624 7647 7648 - 7585 7587 7615 7619 7656 7662 - 7593 7597 7622 7626 7648 7649 - 7589 7594 7620 7627 7653 7659 - 7597 7599 7624 7632 7649 7658 - 7594 7598 7625 7633 7659 7663 - 7560 7596 7621 7661 7694 - 7576 7580 7614 7631 7685 7706 - 7583 7596 7638 7661 7690 - 7574 7580 7621 7629 7706 7724 - 7599 7604 7626 7636 7658 7664 - 7598 7601 7627 7635 7663 7668 - 7486 7550 7607 7674 7761 7771 - 7601 7605 7633 7641 7668 7673 - 7604 7632 7664 7671 - 7600 7602 7642 7646 7698 - 7563 7583 7630 7654 7690 7718 - 7380 7451 7591 7703 7874 7905 - 7430 7523 7645 7713 7814 7858 - 7605 7611 7635 7643 7673 7675 - 7602 7612 7637 7667 7698 - 7611 7618 7641 7650 7675 7677 - 7573 7612 7616 7667 7683 7710 - 7322 7430 7640 7669 7858 7872 - 7600 7610 7637 7665 7698 7715 - 7619 7622 7648 7656 7676 7682 - 7622 7624 7647 7649 7676 7678 - 7624 7626 7648 7658 7678 7680 - 7618 7643 7677 7687 - 7617 7620 7653 7657 7686 7692 - 7595 7606 7614 7655 7685 7727 7745 - 7620 7625 7651 7659 7686 7689 - 7506 7563 7638 7684 7718 7754 - 7606 7615 7652 7662 7712 7727 - 7619 7623 7647 7662 7682 7699 - 7613 7617 7651 7665 7692 7695 - 7626 7632 7649 7664 7680 7688 - 7625 7627 7653 7663 7689 7691 - 7316 7438 7551 7808 7966 8100 - 7596 7628 7630 7690 7694 7736 - 7615 7623 7655 7656 7699 7712 - 7627 7633 7659 7668 7691 7697 - 7632 7636 7658 7671 7688 7693 - 7610 7613 7646 7657 7695 7715 - 200 410 5408 13608 15133 15144 - 7612 7642 7644 7698 7710 7747 - 7633 7635 7663 7673 7697 7701 - 7322 7557 7645 7872 7884 7984 - 7395 7557 7591 7873 7884 7995 - 7636 7664 7693 7700 - 7505 7523 7696 7713 7807 7819 - 7635 7641 7668 7675 7701 7704 - 7550 7616 7634 7683 7738 7761 - 7641 7643 7673 7677 7704 7708 - 7647 7648 7678 7682 7702 7705 - 7643 7650 7675 7687 7708 7714 - 7648 7649 7676 7680 7705 7707 - 7487 7545 7570 7772 7794 7937 - 7649 7658 7678 7688 7707 7711 - 7525 7579 7684 7696 7844 7866 - 7647 7656 7676 7699 7702 7717 - 7616 7644 7674 7710 7738 7756 - 7506 7525 7654 7681 7754 7844 7867 - 7614 7629 7652 7706 7745 7770 - 7651 7653 7689 7692 7720 7722 - 7650 7677 7714 7721 - 7658 7664 7680 7693 7711 7716 - 7653 7659 7686 7691 7720 7725 - 7630 7638 7661 7718 7736 7767 - 7659 7663 7689 7697 7725 7728 - 7651 7657 7686 7695 7719 7722 - 7664 7671 7688 7700 7716 7726 - 7621 7628 7661 7724 7736 7777 - 7657 7665 7692 7715 7719 7741 - 7505 7579 7672 7681 7819 7866 - 7663 7668 7691 7701 7728 7732 - 7637 7642 7646 7667 7715 7747 7764 - 7656 7662 7682 7712 7717 7749 - 7671 7693 7726 7733 - 7668 7673 7697 7704 7732 7734 - 7676 7682 7705 7717 7723 - 7451 7571 7639 7832 7905 7934 - 7673 7675 7701 7708 7734 7737 - 7676 7678 7702 7707 7723 7731 - 7629 7631 7685 7724 7770 7800 - 7678 7680 7705 7711 7731 7735 - 7675 7677 7704 7714 7737 7740 - 6522 6724 7248 8666 10752 12141 - 7644 7667 7683 7747 7756 7804 - 7680 7688 7707 7716 7735 7739 - 7655 7662 7699 7727 7749 7765 - 7523 7640 7672 7807 7814 7891 - 7677 7687 7708 7721 7740 7743 - 7646 7665 7695 7698 7741 7764 7779 - 7688 7693 7711 7726 7739 7744 - 7682 7699 7702 7723 7742 7749 - 7638 7654 7690 7754 7767 7799 - 7692 7695 7722 7741 7746 - 7686 7689 7722 7725 7751 7755 - 7687 7714 7743 7750 - 7686 7692 7719 7720 7746 7751 - 7702 7705 7717 7731 7742 7748 - 7621 7631 7694 7706 7777 7800 7841 - 7689 7691 7720 7728 7755 7758 - 7693 7700 7716 7733 7744 7752 - 7652 7655 7712 7745 7765 7785 - 7691 7697 7725 7732 7758 7759 - 7514 7549 7570 7794 7963 8177 - 6767 6884 7528 7911 8881 10857 11227 - 7705 7707 7723 7735 7748 7757 - 7697 7701 7728 7734 7759 7762 - 7700 7726 7752 7760 - 7701 7704 7732 7737 7762 7766 - 7707 7711 7731 7739 7757 7763 - 7661 7690 7694 7767 7777 7805 - 7704 7708 7734 7740 7766 7769 - 7674 7683 7756 7761 7834 7835 - 7711 7716 7735 7744 7763 7768 - 7708 7714 7737 7743 7769 7774 - 7695 7715 7719 7746 7779 7784 - 7717 7723 7748 7749 7773 7780 - 7714 7721 7740 7750 7774 7776 - 7716 7726 7739 7752 7768 7775 - 7652 7685 7727 7770 7785 7811 - 7719 7722 7741 7751 7784 7787 - 7667 7698 7710 7764 7804 7824 - 7723 7731 7742 7757 7773 7783 - 7699 7712 7717 7742 7765 7780 7795 - 7721 7743 7776 7782 - 7720 7722 7746 7755 7787 7788 - 7726 7733 7744 7760 7775 7781 - 7376 7460 7609 7852 8739 8918 - 7654 7684 7718 7799 7842 7867 - 7720 7725 7751 7758 7788 7790 - 7683 7710 7738 7804 7835 - 7731 7735 7748 7763 7783 7786 - 7725 7728 7755 7759 7790 7791 - 7728 7732 7758 7762 7791 7793 - 7733 7752 7781 7789 - 7634 7674 7738 7771 7834 7897 - 7732 7734 7759 7766 7793 7796 - 7735 7739 7757 7768 7786 7792 - 7698 7715 7747 7779 7824 7828 - 7712 7727 7749 7785 7795 7813 - 7734 7737 7762 7769 7796 7798 - 7690 7718 7736 7799 7805 7838 - 7739 7744 7763 7775 7792 7797 - 7737 7740 7766 7774 7798 7801 - 7685 7706 7745 7800 7811 7856 - 7607 7634 7761 7778 7897 7924 - 7545 7603 7679 7778 7937 8045 8145 - 7742 7748 7780 7783 7810 - 7740 7743 7769 7776 7801 7802 - 7744 7752 7768 7781 7797 7803 - 7743 7750 7774 7782 7802 7806 - 7694 7724 7736 7805 7841 7859 - 7603 7607 7771 7772 7924 8045 - 7715 7741 7764 7784 7828 7830 - 7742 7749 7773 7795 7810 7836 - 7752 7760 7775 7789 7803 7809 - 7750 7776 7806 7812 - 7748 7757 7773 7786 7810 7817 - 7741 7746 7779 7787 7827 7830 - 7727 7745 7765 7811 7813 7846 - 7757 7763 7783 7792 7816 7817 - 7746 7751 7784 7788 7827 7831 - 7751 7755 7787 7790 7826 7831 - 7760 7781 7809 7815 - 7755 7758 7788 7791 7820 7826 - 7758 7759 7790 7793 7820 7821 - 7763 7768 7786 7797 7816 7818 - 7759 7762 7791 7796 7821 7823 - 7570 7679 7729 7937 8177 8194 - 7749 7765 7780 7813 7836 7855 - 7762 7766 7793 7798 7823 7825 - 7768 7775 7792 7803 7818 7822 - 7766 7769 7796 7801 7825 7829 - 7718 7754 7767 7838 7842 7869 - 7706 7724 7770 7841 7856 7908 - 7769 7774 7798 7802 7829 15387 - 7774 7776 7801 7806 7837 15387 - 7775 7781 7797 7809 7822 7833 - 7710 7747 7756 7824 7835 7926 7955 - 7736 7767 7777 7838 7859 7886 - 7776 7782 7802 7812 7837 7840 - 7672 7713 7819 7891 7936 8028 - 7438 7571 7660 7832 8100 8337 8426 - 7781 7789 7803 7815 7833 7839 - 7773 7780 7783 7817 7836 7854 7878 - 7745 7770 7785 7846 7856 7929 - 7782 7806 7840 7843 - 7765 7785 7795 7846 7855 7890 - 7640 7713 7858 7891 8049 - 7789 7809 7839 7848 - 7786 7792 7817 7818 7845 7850 - 7783 7786 7810 7816 7850 7854 - 7792 7797 7816 7822 7845 7849 - 7672 7696 7807 7866 7936 8007 - 7790 7791 7821 7826 7853 7862 - 7791 7793 7820 7823 7853 7857 - 7797 7803 7818 7833 7849 7851 - 7793 7796 7821 7825 7857 7860 - 7747 7764 7804 7828 7913 7926 - 7796 7798 7823 7829 7860 7863 - 7788 7790 7820 7831 7862 7870 - 7784 7787 7830 7831 7882 7887 - 7764 7779 7824 7830 7895 7913 - 7798 7801 7825 7863 7864 15387 - 7779 7784 7827 7828 7887 7895 - 7787 7788 7826 7827 7870 7882 - 7571 7703 7808 7934 8307 8337 - 7803 7809 7822 7839 7851 7861 - 7738 7761 7835 7897 7942 - 7738 7756 7804 7834 7942 7955 - 7780 7795 7810 7855 7878 7888 - 7802 7806 7840 7865 7868 15387 - 7767 7799 7805 7869 7886 7923 - 7809 7815 7833 7848 7861 7871 - 7806 7812 7837 7843 7868 7875 - 7724 7777 7800 7859 7908 7961 7987 - 7754 7799 7867 7869 7916 7969 - 7812 7840 7875 7881 - 7681 7684 7866 7867 8018 8037 - 7816 7818 7849 7850 7876 7877 - 7785 7811 7813 7890 7929 7952 - 1438 4201 7003 14856 14945 15069 - 7815 7839 7871 7883 - 7818 7822 7845 7851 7877 7879 - 7816 7817 7845 7854 7876 7880 - 7822 7833 7849 7861 7879 7885 - 7460 7551 7753 7966 8918 9066 - 7820 7821 7857 7862 7893 7896 - 7810 7817 7850 7878 7880 7889 - 7795 7813 7836 7888 7890 7914 - 7770 7800 7811 7908 7929 7965 - 7821 7823 7853 7860 7896 7900 - 7640 7645 7814 7872 8049 8140 8176 - 7777 7805 7841 7886 7961 7967 - 7823 7825 7857 7863 7900 7901 - 7833 7839 7851 7871 7885 7892 - 7820 7826 7853 7870 7893 7925 - 7825 7829 7860 7864 7901 7902 - 7829 7863 7865 7902 7903 15387 - 7837 7864 7868 7903 7904 15387 - 7681 7696 7819 7844 8007 8037 8152 8198 - 7684 7754 7842 7844 7969 8009 8018 - 7837 7840 7865 7875 7904 7907 - 7799 7838 7842 7916 7923 7939 - 7826 7831 7862 7882 7925 7931 - 7839 7848 7861 7883 7892 7906 - 7645 7669 7858 7984 8139 8140 - 7591 7670 7874 7995 8189 8246 - 7591 7639 7873 7905 8189 8219 - 7840 7843 7868 7881 7907 7912 - 7845 7850 7877 7880 7894 7898 - 7845 7849 7876 7879 7894 7899 - 7810 7836 7854 7888 7889 7915 7917 - 7849 7851 7877 7885 7899 7910 - 7850 7854 7876 7889 7898 7909 - 7843 7875 7912 7920 - 7827 7831 7870 7887 7931 7953 - 7848 7871 7906 7919 - 7557 7669 7670 7984 7995 8311 8350 - 7851 7861 7879 7892 7910 7918 - 7805 7838 7859 7923 7967 8001 - 7827 7830 7882 7895 7953 7973 - 7836 7855 7878 7914 7915 7935 7940 - 7854 7878 7880 7909 7917 7922 - 7813 7846 7855 7914 7952 7970 - 7713 7807 7814 8028 8049 8155 - 7861 7871 7885 7906 7918 7930 - 7853 7862 7896 7925 7945 - 7876 7877 7898 7899 7921 7927 - 7828 7830 7887 7913 7973 7994 - 7853 7857 7893 7900 7945 7964 - 7761 7771 7834 7924 7942 8109 8117 - 7876 7880 7894 7909 7927 7932 - 7877 7879 7894 7910 7921 7928 - 7857 7860 7896 7901 7958 7964 - 7860 7863 7900 7902 7951 7958 - 7863 7864 7901 7903 7947 7951 - 7864 7865 7902 7904 7943 7947 - 7865 7868 7903 7907 7943 7944 - 7639 7703 7874 7934 8219 8224 - 7871 7883 7892 7919 7930 7941 - 7868 7875 7904 7912 7944 7949 - 7800 7841 7856 7965 7987 8000 - 7880 7889 7898 7922 7932 7938 - 7879 7885 7899 7918 7928 15388 - 6884 7178 7730 10635 10857 11933 - 7875 7881 7907 7920 7949 7954 - 7824 7828 7895 7926 7994 8034 - 7855 7888 7890 7935 7970 7974 - 7878 7888 7917 7940 7948 - 7842 7869 7939 7969 8006 - 7878 7889 7915 7922 7948 7950 - 7885 7892 7910 7930 7956 15388 - 7883 7906 7941 7960 - 7881 7912 7954 7959 - 7894 7899 7927 7928 7946 - 7889 7909 7917 7938 7950 - 7838 7869 7886 7939 7996 8001 - 7771 7778 7897 8045 8109 8212 - 7862 7870 7893 7931 7945 8003 - 7804 7824 7913 7955 8034 8095 - 7894 7898 7921 7932 7946 7957 - 7899 7910 7921 7946 7962 15388 - 7811 7846 7856 7952 7965 8027 8046 - 7892 7906 7918 7941 7956 7972 - 7870 7882 7925 7953 8003 8016 - 7898 7909 7927 7938 7957 7968 - 6391 6710 7436 8666 13750 14308 - 7703 7832 7905 8224 8307 - 7888 7914 7940 7971 7974 - 7807 7819 8007 8028 8110 - 7679 7772 7794 8145 8194 8306 - 7909 7922 7932 7950 7968 7975 - 7869 7916 7923 7996 8006 - 7888 7915 7935 7948 7971 7976 - 7906 7919 7930 7960 7972 7980 - 7834 7835 7897 7955 8117 8119 - 7903 7904 7944 7947 7982 7985 - 7904 7907 7943 7949 7981 7982 - 7893 7896 7925 7964 8003 8015 - 7921 7927 7928 7957 7962 7979 - 7902 7903 7943 7951 7985 7989 - 7915 7917 7940 7950 7976 7977 - 7907 7912 7944 7954 7981 7983 - 7917 7922 7938 7948 7975 7977 - 7901 7902 7947 7958 7989 7999 - 7846 7890 7929 7970 8033 8046 - 7882 7887 7931 7973 8016 8026 - 7912 7920 7949 7959 7983 7986 - 7804 7835 7926 7942 8095 8119 - 7918 7930 7972 7978 7988 15388 - 7927 7932 7946 7968 7979 7991 - 7900 7901 7951 7964 7999 8021 - 7920 7954 7986 7990 - 7919 7941 7980 7993 - 7841 7859 7967 7987 8030 8047 - 7928 7946 7978 7979 7992 15388 - 7549 7592 7729 8177 8358 9305 - 7896 7900 7945 7958 8015 8021 - 7856 7908 7929 8000 8027 8044 - 7551 7660 7852 8100 8935 9066 - 7859 7886 7961 8001 8030 8083 - 7932 7938 7957 7975 7991 8004 - 7842 7867 7916 8006 8009 8075 8081 - 7890 7914 7952 7974 7998 8025 8033 - 7935 7940 7974 7976 8002 15389 - 7930 7941 7956 7980 7988 7997 - 7887 7895 7953 7994 8026 8054 - 7914 7935 7970 7971 7998 15389 - 7938 7950 7968 7977 8004 8013 - 7940 7948 7971 7977 8002 8019 - 7948 7950 7975 7976 8013 8019 - 7956 7962 7988 7992 8005 15388 - 7946 7957 7962 7991 7992 15390 - 7941 7960 7972 7993 7997 8012 - 7944 7949 7982 7983 8008 8010 - 7943 7944 7981 7985 8010 8014 - 7949 7954 7981 7986 8008 8011 - 7669 7872 7884 8139 8350 8432 - 7943 7947 7982 7989 8014 8022 - 7954 7959 7983 7990 8011 8017 - 7841 7908 7961 8000 8047 8064 - 7956 7972 7978 7997 8005 8020 - 7947 7951 7985 7999 8022 8038 - 7959 7986 8017 8023 - 7957 7968 7979 8004 8039 15390 - 7962 7978 7979 8005 8024 15390 - 7960 7980 8012 8029 - 7895 7913 7973 8034 8054 8106 - 7670 7873 7884 8246 8311 8439 - 7923 7939 8001 8006 8089 8093 - 7972 7980 7988 8012 8020 8035 - 7970 7974 8025 8031 15389 - 7951 7958 7989 8021 8038 8057 - 7908 7965 7987 8044 8064 8074 - 7886 7923 7967 7996 8083 8093 8162 - 7971 7976 8019 8032 8036 15389 - 7925 7931 7945 8015 8016 8088 8091 - 7968 7975 7991 8013 8039 8051 - 7978 7988 7992 8020 8024 8041 - 7916 7939 7969 7996 8081 8089 - 7819 7866 7936 8110 8198 8243 - 7981 7983 8010 8011 8042 8043 - 7867 7969 8018 8075 8136 8142 - 7981 7982 8008 8014 8040 8043 - 7983 7986 8008 8017 8042 8048 - 7980 7993 7997 8029 8035 8052 - 7975 7977 8004 8019 8051 8058 - 7982 7985 8010 8022 8040 8050 - 7945 7964 8003 8021 8088 8099 - 7931 7953 8003 8026 8091 8097 - 7986 7990 8011 8023 8048 8055 - 7844 7867 8009 8037 8128 8136 - 7976 7977 8002 8013 8036 8058 8069 - 7988 7997 8005 8035 8041 8056 - 7958 7964 7999 8015 8057 8099 - 7985 7989 8014 8038 8050 8059 - 7990 8017 8055 8060 - 7992 8005 8041 8053 8063 15390 - 7970 7998 8031 8033 8061 8076 - 7953 7973 8016 8054 8097 8113 - 7929 7965 8044 8046 8124 8132 - 7807 7891 7936 8110 8155 8236 - 7993 8012 8052 8065 - 7961 7967 8047 8083 8114 - 7998 8025 8032 8061 8066 15389 - 8002 8031 8036 8066 8067 15389 - 7952 7970 8025 8046 8076 8120 - 7913 7926 7994 8095 8106 8171 - 7997 8012 8020 8052 8056 8071 - 8002 8019 8032 8067 8069 - 7844 7866 8018 8128 8152 8223 - 7989 7999 8022 8057 8059 8072 - 7991 8004 8051 8053 8078 8082 15390 - 8010 8014 8043 8050 8062 8070 - 8005 8020 8024 8056 8063 8077 - 8008 8011 8043 8048 8068 8073 - 8008 8010 8040 8042 8062 8068 - 7965 8000 8027 8074 8124 8129 - 7772 7778 7924 8145 8212 8417 - 7929 7952 8027 8033 8120 8132 8168 - 7961 7987 8030 8064 8114 8143 - 8011 8017 8042 8055 8073 8080 - 7814 7858 7891 8155 8176 8305 8333 - 8014 8022 8040 8059 8070 8079 - 8004 8013 8039 8058 8078 8084 - 8012 8029 8035 8065 8071 8086 - 8024 8039 8063 8082 8090 15390 - 7973 7994 8026 8106 8113 8157 - 8017 8023 8048 8060 8080 8087 - 8020 8035 8041 8071 8077 8094 - 7999 8021 8038 8072 8099 8102 8141 - 8013 8019 8051 8069 8084 8096 - 8022 8038 8050 8072 8079 8092 - 8023 8055 8087 8098 - 8025 8031 8066 8076 8112 - 8040 8043 8068 8070 8085 - 8024 8041 8053 8077 8090 8103 - 7987 8000 8047 8074 8143 8160 - 8029 8052 8086 8107 - 8031 8032 8061 8067 8104 8112 - 8032 8036 8066 8069 8104 8111 - 8042 8043 8062 8073 8085 8101 - 8019 8036 8058 8067 8096 8111 - 8040 8050 8062 8079 8085 8105 - 8035 8052 8056 8086 8094 8116 - 8038 8057 8059 8092 8102 - 8042 8048 8068 8080 8101 8115 - 8000 8044 8064 8129 8160 - 7969 8009 8081 8138 8142 8182 - 8025 8033 8061 8112 8120 8170 - 8041 8056 8063 8094 8103 8123 - 8039 8051 8082 8084 8122 8125 - 8050 8059 8070 8092 8105 8127 - 8048 8055 8073 8087 8115 8126 - 7969 8006 8075 8089 8138 8161 - 8039 8053 8078 8090 8121 8122 - 7967 8001 8030 8114 8162 8216 - 8051 8058 8078 8096 8125 8134 - 8062 8068 8070 8101 8105 8130 - 8052 8065 8071 8107 8116 8133 - 8055 8060 8080 8098 8126 8135 - 8003 8015 8091 8099 8179 8187 - 7996 8006 8081 8093 8161 8190 - 8053 8063 8082 8103 8121 8131 - 8003 8016 8088 8097 8179 8184 - 8059 8072 8079 8102 8127 8147 - 7996 8001 8089 8162 8190 8213 - 8056 8071 8077 8116 8123 8137 - 7926 7955 8034 8119 8171 8291 15393 - 8058 8069 8084 8111 8134 8146 - 8016 8026 8091 8113 8184 8186 - 8060 8087 8135 8144 - 8015 8021 8057 8088 8141 8187 8206 - 7660 7808 7966 8426 8742 8935 - 8068 8073 8085 8115 8130 8149 - 8057 8072 8092 8141 8147 - 8063 8077 8090 8123 8131 8148 - 8066 8067 8111 8112 8154 8183 - 8070 8079 8085 8127 8130 8167 - 7994 8034 8054 8157 8171 8188 - 8065 8086 8133 8153 - 7326 7346 7608 8722 9530 11037 - 7897 7924 8117 8212 8401 8405 - 7936 8007 8028 8236 8243 8364 - 8067 8069 8096 8104 8146 8154 - 8061 8066 8076 8104 8170 8183 - 8026 8054 8097 8157 8186 8202 - 8030 8047 8083 8143 8216 8252 - 8073 8080 8101 8126 8149 8159 - 8071 8086 8094 8133 8137 8158 - 7897 7942 8109 8119 8344 8401 - 7315 7437 7609 8472 8739 11028 11079 - 7942 7955 8095 8117 8344 15393 - 8033 8046 8076 8168 8170 8204 - 8082 8090 8122 8131 8150 8156 - 8078 8082 8121 8125 8156 8164 - 8077 8094 8103 8137 8148 8163 - 8027 8044 8129 8132 8193 8200 - 8078 8084 8122 8134 8164 8172 - 8080 8087 8115 8135 8159 8169 - 8079 8092 8105 8147 8167 8201 - 8018 8037 8136 8223 8229 - 8044 8074 8124 8160 8193 8276 - 8085 8101 8105 8149 8167 8181 - 8090 8103 8121 8148 8150 8165 - 8027 8046 8124 8168 8200 8220 - 8086 8107 8116 8153 8158 8174 - 8084 8096 8125 8146 8172 8191 - 8087 8098 8126 8144 8169 8175 - 8009 8018 8128 8142 8229 8233 - 8094 8116 8123 8158 8163 8178 - 8075 8081 8161 8182 8209 - 7872 7984 8140 8420 8432 - 7858 7872 8139 8176 8420 8452 - 8057 8099 8102 8147 8206 8214 - 8009 8075 8136 8182 8233 8244 - 8047 8064 8114 8160 8252 8285 - 8098 8135 8175 8185 - 7772 7937 8045 8306 8417 8519 - 8096 8111 8134 8154 8191 8203 - 8092 8102 8127 8141 8201 8214 - 8103 8123 8131 8163 8165 8180 - 8101 8115 8130 8159 8181 15391 - 8121 8131 8156 8165 8173 - 7007 7248 7455 10752 10767 12039 - 7866 8037 8198 8223 8296 - 8107 8133 8174 8196 - 8104 8111 8146 8183 8203 8215 - 7891 8028 8049 8236 8333 8393 - 8121 8122 8150 8164 8173 8192 - 8054 8106 8113 8188 8202 8208 - 8116 8133 8137 8174 8178 8197 - 8115 8126 8149 8169 8205 15391 - 8064 8074 8129 8143 8276 8285 - 8081 8089 8138 8190 8209 8247 - 8001 8083 8093 8213 8216 8293 - 8123 8137 8148 8178 8180 8199 - 8122 8125 8156 8172 8192 8207 - 8131 8148 8150 8173 8180 8195 - 7112 7332 7455 10539 10767 15544 - 8105 8127 8130 8181 8201 8226 - 8046 8120 8132 8204 8220 8249 - 8126 8135 8159 8175 8205 8210 - 8076 8112 8120 8183 8204 8234 8241 - 8034 8095 8106 8188 8262 8291 - 8125 8134 8164 8191 8207 8227 - 8150 8156 8165 8192 8195 8211 - 8133 8153 8158 8196 8197 8221 - 8135 8144 8169 8185 8210 8222 - 7858 8049 8140 8305 8410 8452 - 7729 7794 7963 8194 9305 15422 - 8137 8158 8163 8197 8199 8218 - 8088 8091 8184 8187 8264 8290 - 8148 8163 8165 8195 8199 8217 - 8130 8149 8167 8226 8228 15391 - 8075 8138 8142 8209 8244 8269 - 8104 8112 8154 8170 8215 8241 8242 - 8091 8097 8179 8186 8261 8264 - 8144 8175 8222 8225 - 8097 8113 8184 8202 8260 8261 - 8088 8099 8179 8206 8290 8308 - 8106 8157 8171 8208 8257 8262 - 7873 7874 8219 8246 8458 8517 - 8089 8093 8161 8213 8247 8284 - 8134 8146 8172 8203 8227 8237 - 8156 8164 8173 8207 8211 8230 - 8124 8129 8200 8276 15392 - 7794 7937 8177 8306 15422 - 8165 8173 8180 8211 8217 8231 - 8153 8174 8221 8240 - 8158 8174 8178 8218 8221 8238 - 7866 8007 8152 8243 8296 8373 - 8163 8178 8180 8217 8218 8235 - 8124 8132 8193 8220 8273 15392 - 8127 8147 8167 8214 8226 8275 8279 - 8113 8157 8186 8208 8255 8260 - 8146 8154 8191 8215 8237 8248 - 8120 8168 8170 8234 8249 8268 - 8159 8169 8210 8239 8245 15391 - 8099 8141 8187 8214 8297 8308 - 8164 8172 8192 8227 8230 8254 - 8157 8188 8202 8255 8257 - 8138 8161 8182 8247 8269 8327 - 8169 8175 8205 8222 8245 8250 - 8173 8192 8195 8230 8231 8251 - 7924 8045 8109 8405 8417 8521 - 8093 8162 8190 8284 8293 8335 - 8141 8147 8201 8206 8275 8297 - 8154 8183 8203 8242 8248 8263 - 8083 8114 8162 8252 8293 8346 - 8180 8195 8199 8231 8235 8253 - 8178 8197 8199 8235 8238 8256 - 7874 7905 8189 8224 8517 8534 - 8132 8168 8200 8249 8273 8274 - 8174 8196 8197 8238 8240 8259 - 8175 8185 8210 8225 8250 8258 - 8037 8128 8152 8229 8296 8381 - 7905 7934 8219 8307 8534 8645 - 8185 8222 8258 8265 - 8167 8181 8201 8228 8270 8279 - 8172 8191 8207 8237 8254 8272 8289 - 8181 8226 8239 8270 8277 15391 - 8128 8136 8223 8233 8377 8381 - 8192 8207 8211 8251 8254 8266 - 8195 8211 8217 8251 8253 8271 - 6494 6507 7436 11299 13750 14955 - 8136 8142 8229 8244 8367 8377 - 8170 8204 8241 8268 8280 8316 - 8199 8217 8218 8253 8256 8278 - 8028 8110 8155 8364 8393 8441 - 8191 8203 8227 8248 8267 8272 - 8197 8218 8221 8256 8259 8283 - 8205 8228 8245 8277 8287 15391 - 8196 8221 8259 8286 - 8170 8183 8234 8242 8280 8281 - 8183 8215 8241 8263 8281 8282 - 8007 8110 8198 8364 8373 8535 - 8142 8182 8233 8269 8367 - 8205 8210 8239 8250 8287 8292 - 7873 7995 8189 8439 8458 8630 - 8161 8190 8209 8284 8327 8370 - 8203 8215 8237 8263 8267 8288 - 8168 8204 8220 8268 8274 8321 - 8210 8222 8245 8258 8292 8298 - 8211 8230 8231 8266 8271 8294 - 8114 8143 8216 8285 8346 8380 - 8217 8231 8235 8271 8278 8299 - 8207 8227 8230 8266 8289 8295 - 8202 8208 8257 8260 8322 8336 - 8218 8235 8238 8278 8283 8300 - 8188 8208 8255 8262 8322 8328 - 8222 8225 8250 8265 8298 8302 - 8221 8238 8240 8283 8286 8303 - 8186 8202 8255 8261 8329 8336 - 8184 8186 8260 8264 8329 8349 - 8171 8188 8257 8291 8328 8374 - 8215 8242 8248 8282 8288 8313 - 8179 8184 8261 8290 8349 8388 - 8225 8258 8302 8309 - 8230 8251 8254 8294 8295 8304 - 8237 8248 8272 8288 8301 8319 - 8204 8234 8249 8316 8321 8357 - 8182 8209 8244 8327 8367 8479 - 8226 8228 8277 8279 8312 8330 - 8231 8251 8253 8294 8299 8314 - 8227 8237 8267 8289 8301 8310 - 8200 8220 8274 8343 8371 15392 - 8220 8249 8273 8321 8343 - 8201 8214 8279 8297 8348 8362 - 8129 8160 8193 8285 8391 8418 15392 - 8228 8239 8270 8287 8312 8317 - 8235 8253 8256 8299 8300 8318 - 8201 8226 8270 8275 8330 8348 - 8234 8241 8281 8316 8334 - 8241 8242 8280 8282 8323 8334 - 8242 8263 8281 8313 8323 - 8238 8256 8259 8300 8303 8324 - 8190 8213 8247 8335 8370 - 8143 8160 8252 8276 8380 8418 - 8240 8259 8303 8326 - 8239 8245 8277 8292 8317 8325 - 8248 8263 8267 8313 8319 - 8227 8254 8272 8295 8310 8315 - 8179 8187 8264 8308 8388 8416 - 8095 8171 8262 8374 8450 15393 - 8245 8250 8287 8298 8325 8332 - 8162 8213 8216 8335 8346 8444 - 8251 8266 8271 8304 8314 8331 - 8254 8266 8289 8304 8315 8320 - 8152 8198 8223 8373 8381 8470 - 8206 8214 8275 8308 8362 8400 - 8250 8258 8292 8302 8332 8338 - 8253 8271 8278 8314 8318 8339 - 8256 8278 8283 8318 8324 8342 - 8267 8272 8310 8319 8340 - 8258 8265 8298 8309 8338 8345 - 8259 8283 8286 8324 8326 8347 - 8266 8294 8295 8320 8331 8341 - 8049 8176 8333 8410 8456 8461 - 7937 8145 8194 8519 15422 - 7832 7934 8224 8337 8643 8645 - 8187 8206 8290 8297 8400 8416 - 8265 8302 8345 8354 - 8272 8289 8301 8315 8340 8351 - 7884 7995 8350 8439 8586 8601 - 8270 8277 8317 8330 8352 8359 - 8263 8282 8288 8319 8323 8361 - 8271 8294 8299 8331 8339 8356 - 8289 8295 8310 8320 8351 8353 - 8234 8268 8280 8334 8357 8384 - 8277 8287 8312 8325 8352 8360 - 8278 8299 8300 8339 8342 8363 - 8267 8288 8301 8313 8340 8361 8386 - 8295 8304 8315 8341 8353 - 8249 8268 8274 8343 8357 8397 - 8255 8257 8328 8336 8390 8404 - 8281 8282 8313 8334 8361 8395 - 8283 8300 8303 8342 8347 8365 - 8287 8292 8317 8332 8360 8366 - 8286 8303 8347 8369 - 8209 8247 8269 8370 8462 8479 - 8257 8262 8322 8374 8390 - 8260 8261 8336 8349 8407 - 8270 8279 8312 8348 8359 8387 - 8294 8304 8314 8341 8356 8368 - 8292 8298 8325 8338 8366 8372 - 8049 8155 8305 8393 8461 8495 - 8280 8281 8316 8323 8384 8395 - 8213 8284 8293 8370 8444 8453 - 8255 8260 8322 8329 8404 8407 - 7808 7832 8307 8426 8643 8701 - 8298 8302 8332 8345 8372 8376 - 8299 8314 8318 8356 8363 8375 - 8301 8310 8319 8351 8386 8399 - 8304 8320 8331 8353 8368 8379 - 8300 8318 8324 8363 8365 8378 - 8273 8274 8321 8371 8397 8436 - 8117 8119 8401 8516 8624 15393 - 8302 8309 8338 8354 8376 8382 - 8216 8252 8293 8380 8444 8464 - 8303 8324 8326 8365 8369 8385 - 8275 8279 8330 8362 8387 8413 - 8261 8264 8329 8388 8407 8477 - 7884 7984 8311 8432 8601 8688 - 8310 8315 8340 8353 8394 8399 - 8312 8317 8359 8360 8383 8389 - 8315 8320 8341 8351 8379 8394 - 8309 8345 8382 8392 - 6345 6996 7178 10635 13535 13856 - 8314 8331 8339 8368 8375 15394 - 8268 8316 8321 8384 8397 8433 - 7592 7608 7963 9305 9530 10946 - 8312 8330 8352 8383 8387 - 8317 8325 8352 8366 8389 8396 - 8313 8319 8323 8386 8395 8423 - 8275 8297 8348 8400 8413 8455 - 8318 8339 8342 8375 8378 8398 - 8110 8236 8243 8441 8535 8573 - 8324 8342 8347 8378 8385 8402 - 8325 8332 8360 8372 8396 8403 - 8233 8244 8269 8377 8479 8507 - 8331 8341 8356 8379 8408 15394 - 8326 8347 8385 8406 - 8247 8284 8327 8335 8453 8462 - 8273 8343 8391 8436 15392 15395 - 8332 8338 8366 8376 8403 8409 - 8198 8243 8296 8470 8535 8613 - 8262 8291 8328 8390 8450 8460 - 8339 8356 8363 8398 8411 15394 - 8338 8345 8372 8382 8409 8412 - 8229 8233 8367 8381 8507 8529 - 8342 8363 8365 8398 8402 8414 - 8341 8353 8368 8394 8408 8427 - 8252 8285 8346 8418 8464 8498 - 8223 8229 8296 8377 8470 8529 8556 - 8345 8354 8376 8392 8412 8419 - 8352 8359 8387 8389 8415 8421 - 8316 8334 8357 8395 8433 8469 - 8347 8365 8369 8402 8406 8422 - 8319 8340 8361 8399 8423 8442 - 8330 8348 8359 8383 8413 8421 8435 - 8264 8290 8349 8416 8477 8536 - 8352 8360 8383 8396 8415 8425 - 8322 8328 8374 8404 8460 8474 - 8276 8371 8418 8499 15392 15395 - 8354 8382 8419 8424 - 8155 8236 8333 8441 8495 8539 - 8351 8353 8379 8399 8427 8447 - 8323 8334 8361 8384 8423 8469 8486 - 8360 8366 8389 8403 8425 8430 - 8321 8343 8357 8433 8436 8491 - 8363 8375 8378 8411 8414 8431 - 8340 8351 8386 8394 8442 8447 - 8297 8308 8362 8416 8455 8511 - 8109 8117 8344 8405 8624 8690 - 8365 8378 8385 8414 8422 8434 - 8366 8372 8396 8409 8430 8437 - 8322 8336 8390 8407 8474 8490 - 8109 8212 8401 8521 8690 - 8369 8385 8422 8438 - 8329 8336 8349 8404 8477 8490 - 8368 8379 8427 8428 8448 15394 - 8372 8376 8403 8412 8437 8440 - 8176 8305 8452 8456 8676 - 8375 8398 8428 8431 8445 15394 - 8376 8382 8409 8419 8440 8443 - 8348 8362 8387 8435 8455 8465 - 8378 8398 8402 8431 8434 8449 - 8383 8389 8421 8425 8446 8457 - 8290 8308 8388 8400 8511 8536 - 8045 8145 8212 8519 8521 8816 - 8276 8285 8380 8391 8498 8499 8564 - 8382 8392 8412 8424 8443 8451 - 8139 8140 8432 8452 8728 8856 - 8383 8387 8415 8435 8446 - 8385 8402 8406 8434 8438 8454 - 8361 8386 8395 8442 8486 8492 - 8392 8419 8451 8459 - 8389 8396 8415 8430 8457 8463 - 7808 8100 8337 8701 8742 9359 - 8379 8394 8408 8447 8448 8480 - 8408 8411 8445 8448 8467 15394 - 5550 6549 6996 14069 14806 14963 - 8396 8403 8425 8437 8463 8468 - 8398 8411 8414 8445 8449 8466 - 7984 8139 8350 8420 8688 8856 - 8357 8384 8397 8469 8491 8548 - 8402 8414 8422 8449 8454 8471 - 8387 8413 8421 8446 8465 8476 - 8343 8371 8397 8491 8532 15395 - 8403 8409 8430 8440 8468 8473 - 8406 8422 8454 8475 - 7995 8246 8311 8586 8630 8835 - 8409 8412 8437 8443 8473 8478 - 8236 8364 8393 8539 8573 8589 - 8386 8399 8423 8447 8492 8501 - 8412 8419 8440 8451 8478 8481 - 8293 8335 8346 8453 8464 8585 8587 - 8411 8428 8431 8466 8467 8482 - 8415 8421 8435 8457 8476 8485 - 8394 8399 8427 8442 8480 8501 8510 - 8408 8427 8428 8467 8480 8489 - 8414 8431 8434 8466 8471 8483 - 8291 8374 8460 8516 8649 15393 15397 - 8419 8424 8443 8459 8481 8484 - 8140 8176 8410 8420 8676 8728 - 8335 8370 8444 8462 8585 8598 - 8422 8434 8438 8471 8475 8487 - 8362 8400 8413 8465 8504 8511 15396 - 8305 8410 8461 8544 8676 - 8415 8425 8446 8463 8485 8493 - 8189 8246 8517 8630 8778 - 8424 8451 8484 8488 - 8374 8390 8450 8474 8542 15397 - 8305 8333 8456 8495 8544 8608 - 8327 8370 8453 8479 8598 8615 - 8425 8430 8457 8468 8493 8494 - 8346 8380 8444 8498 8587 8617 - 8413 8435 8455 8476 8504 8508 - 8431 8445 8449 8482 8483 8496 - 8428 8445 8448 8482 8489 8502 - 8430 8437 8463 8473 8494 8497 - 8384 8395 8433 8486 8543 8548 - 8296 8373 8381 8556 8613 8699 - 8434 8449 8454 8483 8487 8500 - 7437 7528 8118 8881 11028 11137 - 8437 8440 8468 8478 8497 8503 - 8390 8404 8460 8490 8542 8568 - 8438 8454 8487 8505 - 8435 8446 8465 8485 8508 8523 - 8349 8388 8407 8490 8536 8580 8626 - 8440 8443 8473 8481 8503 8506 - 8269 8327 8367 8462 8507 8615 8629 - 8427 8447 8448 8489 8510 8520 - 8443 8451 8478 8484 8506 8509 - 8445 8466 8467 8496 8502 8514 - 8449 8466 8471 8496 8500 8512 - 8451 8459 8481 8488 8509 8513 - 8446 8457 8476 8493 8523 8524 - 8395 8423 8469 8492 8543 8569 - 8454 8471 8475 8500 8505 8515 - 8459 8484 8513 8518 - 8448 8467 8480 8502 8520 8522 - 8404 8407 8474 8477 8568 8580 - 8397 8433 8436 8532 8548 8592 - 8423 8442 8486 8501 8555 8569 - 8457 8463 8485 8494 8524 8526 - 8463 8468 8493 8497 8525 8526 - 8333 8393 8461 8539 8608 8693 - 8466 8482 8483 8512 8514 8527 - 8468 8473 8494 8503 8525 8528 - 8380 8418 8464 8564 8617 8656 - 8391 8418 8564 8574 8662 15395 - 8471 8483 8487 8512 8515 8530 - 8442 8447 8492 8510 8554 8555 - 8467 8482 8489 8514 8522 8531 - 8473 8478 8497 8506 8528 8533 - 8455 8465 8508 8540 15396 - 8475 8487 8515 8537 - 8478 8481 8503 8509 8533 8538 - 8367 8377 8479 8529 8629 8655 - 8465 8476 8504 8523 8540 8551 - 8481 8484 8506 8513 8538 8541 - 8447 8480 8501 8520 8554 8560 - 8400 8416 8455 8536 8611 8642 15396 - 8483 8496 8500 8527 8530 8545 - 8484 8488 8509 8518 8541 8546 - 8482 8496 8502 8527 8531 8547 - 8487 8500 8505 8530 8537 8549 - 8344 8450 8624 8649 8779 15393 - 8189 8219 8458 8534 8778 8942 - 8488 8513 8546 8550 - 8145 8306 8417 8816 10106 15422 - 8480 8489 8510 8522 8553 8560 - 8212 8405 8417 8690 8816 9209 - 8489 8502 8520 8531 8552 8553 - 8476 8485 8508 8524 8551 8571 8583 - 8485 8493 8523 8526 8566 8571 - 8494 8497 8526 8528 8558 8559 - 8493 8494 8524 8525 8559 8566 - 8496 8512 8514 8545 8547 8557 - 8497 8503 8525 8533 8558 8562 - 8377 8381 8507 8556 8655 8670 - 8500 8512 8515 8545 8549 8561 - 8502 8514 8522 8547 8552 8563 - 8436 8491 8574 8592 8652 15395 - 8503 8506 8528 8538 8562 8565 - 8219 8224 8517 8645 8942 9424 - 8243 8364 8373 8573 8613 8842 8861 - 8388 8416 8477 8511 8626 8642 8695 - 8505 8515 8549 8567 - 8506 8509 8533 8541 8565 8570 - 8393 8441 8495 8589 8693 8755 - 8504 8508 8551 8579 15396 - 8509 8513 8538 8546 8570 8572 - 8460 8474 8568 8658 8663 15397 - 8469 8486 8548 8569 8610 8634 - 8456 8461 8608 8676 8703 - 8512 8527 8530 8557 8561 8575 - 8513 8518 8541 8550 8572 8577 - 8514 8527 8531 8557 8563 8576 - 8433 8469 8491 8543 8592 8634 8661 - 8515 8530 8537 8561 8567 8581 - 8518 8546 8577 8582 - 8508 8523 8540 8579 8583 15398 - 8522 8531 8553 8563 8578 8584 - 8520 8522 8552 8560 8584 8588 - 8501 8510 8555 8560 8597 8622 - 8492 8501 8554 8569 8622 8633 - 8381 8470 8529 8670 8699 8774 - 8527 8545 8547 8575 8576 8591 - 8525 8528 8559 8562 8594 8595 - 8525 8526 8558 8566 8595 8602 - 8510 8520 8553 8554 8588 8597 8612 - 8530 8545 8549 8575 8581 8593 - 8528 8533 8558 8565 8594 8596 - 8531 8547 8552 8576 8578 8590 - 8418 8498 8499 8656 8662 8733 - 8533 8538 8562 8570 8596 8600 - 8524 8526 8559 8571 8602 8606 - 8537 8549 8581 8603 - 8474 8490 8542 8580 8663 8691 - 8486 8492 8543 8555 8610 8633 8668 - 8538 8541 8565 8572 8600 8604 - 8523 8524 8566 8583 8606 8618 - 8541 8546 8570 8577 8604 8607 - 8364 8441 8535 8589 8818 8842 - 8499 8532 8652 8662 8780 15395 - 8545 8557 8561 8591 8593 8614 - 8547 8557 8563 8590 8591 8609 - 8546 8550 8572 8582 8607 8616 - 8552 8563 8584 8590 8599 - 8540 8551 8625 15396 15398 15400 - 8477 8490 8568 8626 8691 8738 - 8549 8561 8567 8593 8603 8620 - 8550 8577 8616 8621 - 8523 8551 8571 8618 8628 15398 - 8552 8553 8578 8588 8599 8605 - 8444 8453 8587 8598 8758 8772 - 8311 8439 8601 8835 8927 - 8444 8464 8585 8617 8758 8762 - 8553 8560 8584 8605 8612 8619 - 8441 8539 8573 8755 8818 - 8563 8576 8578 8599 8609 8623 - 8557 8575 8576 8609 8614 8627 - 8491 8532 8548 8652 8661 8718 - 8561 8575 8581 8614 8620 8632 - 8558 8562 8595 8596 8635 8636 - 8558 8559 8594 8602 8636 8639 - 8562 8565 8594 8600 8635 8637 - 8554 8560 8612 8622 8665 15401 - 8453 8462 8585 8615 8772 8800 - 8578 8584 8590 8605 8623 8631 - 8565 8570 8596 8604 8637 8640 - 8311 8350 8586 8688 8927 9139 - 8559 8566 8595 8606 8639 15399 - 8567 8581 8620 8644 - 8570 8572 8600 8607 8640 8646 - 8584 8588 8599 8619 8631 8638 - 8566 8571 8602 8618 8647 15399 - 8572 8577 8604 8616 8646 8648 - 8461 8495 8544 8693 8703 8841 - 8576 8590 8591 8623 8627 8641 - 8543 8569 8634 8668 8698 - 8511 8625 8642 8705 8726 15396 - 8560 8588 8597 8619 8653 15401 - 8373 8470 8535 8699 8861 8911 - 8575 8591 8593 8627 8632 8650 - 8462 8479 8598 8629 8800 8821 - 8577 8582 8607 8621 8648 8654 - 8464 8498 8587 8656 8762 8777 - 8571 8583 8606 8628 8647 8651 - 8588 8605 8612 8638 8653 - 8581 8593 8603 8632 8644 8659 - 8582 8616 8654 8660 - 8554 8555 8597 8633 8665 8679 - 8590 8599 8609 8631 8641 8657 - 8344 8401 8516 8690 8779 9129 9162 - 8579 8611 8700 8705 15396 15400 - 8477 8536 8580 8695 8738 8802 - 8591 8609 8614 8641 8650 8667 - 8583 8618 8651 8664 8672 15398 - 8479 8507 8615 8655 8793 8821 - 8246 8439 8458 8778 8835 9382 - 8599 8605 8623 8638 8657 8669 - 8593 8614 8620 8650 8659 8671 - 8555 8569 8622 8668 8679 8709 - 8543 8548 8610 8661 8698 8734 - 8594 8596 8636 8637 8674 8677 - 8594 8595 8635 8639 8677 8682 - 8596 8600 8635 8640 8674 8675 - 8605 8619 8631 8653 8669 8689 - 8595 8602 8636 8682 8684 15399 - 8600 8604 8637 8646 8675 8678 - 8609 8623 8627 8657 8667 8673 - 8511 8536 8611 8695 8726 8768 - 8307 8337 8645 8701 9296 9719 - 8603 8620 8659 8680 - 8224 8307 8534 8643 9424 9719 - 8604 8607 8640 8648 8678 8681 - 8606 8618 8651 8683 8685 15399 - 8607 8616 8646 8654 8681 8687 - 8450 8516 8730 8779 8846 15397 - 8614 8627 8632 8667 8671 8686 - 8618 8628 8647 8672 8683 - 8532 8574 8592 8718 8780 8837 - 8612 8619 8638 8689 8704 15401 - 8616 8621 8648 8660 8687 8692 - 8507 8529 8629 8670 8793 8799 - 8498 8564 8617 8733 8777 8792 - 8623 8631 8641 8669 8673 8694 - 8542 8663 8730 8756 15397 - 8620 8632 8644 8671 8680 8697 - 8621 8654 8692 8696 - 8548 8592 8634 8718 8734 8798 - 8499 8564 8574 8733 8780 8838 - 8542 8568 8658 8691 8756 8789 - 8628 8672 8706 8711 15398 15400 - 8597 8622 8679 8707 8737 15401 - 6710 6724 7709 7933 12141 14308 - 8627 8641 8650 8673 8686 8702 - 8569 8610 8633 8698 8709 8749 - 8631 8638 8657 8689 8694 8710 - 8529 8556 8655 8774 8799 - 8632 8650 8659 8686 8697 8708 - 8628 8651 8664 8683 8711 8723 - 8641 8657 8667 8694 8702 8712 - 8635 8637 8675 8677 8714 8721 - 8637 8640 8674 8678 8713 8714 - 8410 8452 8456 8544 8703 8728 8990 9658 - 8635 8636 8674 8682 8721 8725 - 8640 8646 8675 8681 8713 8715 - 8622 8633 8665 8709 8737 8759 - 8644 8659 8697 8716 - 8646 8648 8678 8687 8715 8717 - 8636 8639 8677 8684 8725 8727 - 8647 8651 8672 8685 8723 8735 - 8639 8682 8685 8727 8731 15399 - 8647 8683 8684 8731 8735 15399 - 8650 8667 8671 8702 8708 8719 - 8648 8654 8681 8692 8717 8720 - 8350 8432 8601 8856 9139 9604 - 8638 8653 8669 8704 8710 8740 - 8401 8405 8521 8624 9162 9209 - 8568 8580 8663 8738 8789 8867 - 8654 8660 8687 8696 8720 8724 - 8495 8539 8608 8755 8841 8999 - 8657 8669 8673 8710 8712 8732 - 8536 8626 8642 8768 8802 8847 - 8660 8692 8724 15402 - 8659 8671 8680 8708 8716 8729 - 8610 8634 8668 8734 8749 8781 - 8470 8556 8613 8774 8911 8998 - 8625 8705 8706 8743 8765 15400 - 8337 8426 8643 9296 9359 - 8667 8673 8686 8712 8719 8736 - 8544 8608 8676 8841 8990 - 8653 8689 8707 8740 8767 15401 - 8611 8625 8700 8726 8765 8808 - 8664 8700 8711 8743 8745 15400 - 8665 8704 8737 8767 8773 15401 - 8671 8686 8697 8719 8729 8741 - 8633 8668 8679 8749 8759 8803 - 8669 8689 8694 8732 8740 8751 - 8664 8672 8706 8723 8745 8766 - 8673 8694 8702 8732 8736 8744 - 8675 8678 8714 8715 8748 8752 - 8674 8675 8713 8721 8752 8760 - 8678 8681 8713 8717 8748 8750 - 8680 8697 8729 8746 - 8681 8687 8715 8720 8747 8750 - 8592 8652 8661 8798 8837 8898 - 8686 8702 8708 8736 8741 8754 - 8687 8692 8717 8724 8747 8753 - 8674 8677 8714 8725 8760 8764 - 7346 7379 8108 10539 11037 11903 - 8672 8683 8711 8735 8766 8786 - 8692 8696 8720 8753 8757 15402 - 8677 8682 8721 8727 8764 8769 - 8611 8642 8705 8768 8808 8851 - 8682 8684 8725 8731 8769 8776 - 8420 8452 8676 8856 9658 9840 - 8697 8708 8716 8741 8746 8763 - 8649 8658 8756 8846 8853 15397 - 8684 8685 8727 8735 8776 8782 - 8694 8710 8712 8744 8751 8771 - 8564 8656 8662 8792 8838 8922 - 8634 8661 8698 8781 8798 8868 - 8683 8685 8723 8731 8782 8786 - 8702 8712 8719 8744 8754 8770 - 8665 8679 8707 8759 8773 8796 - 8580 8626 8691 8802 8867 8969 - 7609 7753 8118 8918 11034 11079 - 8689 8704 8710 8751 8767 8783 - 8708 8719 8729 8754 8763 8775 - 8100 8426 8935 9359 10199 - 8700 8706 8745 8765 8804 8810 - 8712 8732 8736 8770 8771 8791 - 8706 8711 8743 8766 8804 8820 - 8716 8729 8763 8785 - 8717 8720 8750 8753 8784 8788 - 8713 8715 8750 8752 8790 8797 - 8668 8698 8709 8781 8803 8872 8877 - 8715 8717 8747 8748 8788 8790 - 8710 8732 8740 8771 8783 8806 - 8713 8714 8748 8760 8797 8805 - 8720 8724 8747 8757 8784 8787 - 8719 8736 8741 8770 8775 8794 - 8539 8589 8693 8818 8999 9246 - 8658 8663 8730 8789 8853 8895 - 8724 8753 8761 8787 8795 15402 - 8585 8587 8762 8772 8976 9031 - 8679 8709 8737 8796 8803 8828 - 8714 8721 8752 8764 8805 8809 - 8757 8795 8801 15402 - 8587 8617 8758 8777 8939 8976 - 8729 8741 8746 8775 8785 8807 - 8721 8725 8760 8769 8809 8813 - 8700 8705 8743 8808 8810 8850 - 8711 8723 8745 8786 8820 8862 - 8704 8707 8740 8773 8783 8814 8834 - 8642 8695 8726 8847 8851 8912 - 8725 8727 8764 8776 8813 8819 - 8736 8744 8754 8791 8794 8811 - 8732 8744 8751 8791 8806 8815 - 8585 8598 8758 8800 9031 9078 - 8707 8737 8767 8796 8814 8817 - 8556 8670 8699 8799 8998 9101 - 8741 8754 8763 8794 8807 8812 - 8727 8731 8769 8782 8819 8832 - 8617 8656 8762 8792 8939 8949 - 8458 8517 8630 8942 9382 9994 - 8516 8624 8649 8846 9049 9129 - 8574 8652 8662 8837 8838 9039 9041 - 8698 8734 8749 8868 8872 8905 - 8731 8735 8776 8786 8832 8858 - 8740 8751 8767 8806 8830 8834 - 8747 8753 8787 8788 8824 15403 - 8746 8763 8807 8823 - 8723 8735 8766 8782 8858 8862 - 8753 8757 8784 8795 8822 15403 - 8747 8750 8784 8790 8824 8827 - 8663 8691 8756 8867 8895 9074 - 8748 8750 8788 8797 8827 8833 - 8744 8770 8771 8811 8815 8829 - 8656 8733 8777 8922 8949 - 8629 8655 8799 8821 9133 9170 - 8754 8770 8775 8811 8812 8826 - 8757 8761 8787 8801 8822 8825 - 8737 8759 8773 8817 8828 8848 - 8748 8752 8790 8805 8833 8839 - 8661 8718 8734 8868 8898 8982 - 8655 8670 8774 8793 9101 9133 - 8598 8615 8772 8821 9078 9090 - 8761 8795 8825 8831 - 8626 8695 8738 8847 8969 9008 - 8709 8749 8759 8828 8877 8886 - 8743 8745 8810 8820 8852 - 8752 8760 8797 8809 8839 8844 - 8751 8771 8783 8815 8830 8840 - 8763 8775 8785 8812 8823 8836 - 8705 8726 8765 8850 8851 8919 - 8760 8764 8805 8813 8844 8854 - 8743 8765 8804 8850 8852 8883 - 8770 8791 8794 8826 8829 8843 - 8775 8794 8807 8826 8836 8845 - 8764 8769 8809 8819 8854 8870 - 8767 8773 8817 8834 8849 8869 - 8771 8791 8806 8829 8840 8860 - 8417 8519 8521 9209 10106 10288 - 8773 8796 8814 8848 8849 8880 - 8573 8589 8755 8842 9246 9308 - 8769 8776 8813 8832 8870 8875 - 8745 8766 8804 8852 8862 8915 - 8615 8629 8793 8800 9090 9170 - 8787 8795 8825 8855 8857 15403 - 8785 8807 8836 15404 - 8784 8788 8827 8863 8871 15403 - 8795 8801 8822 8831 8855 8859 - 8794 8811 8812 8843 8845 8864 - 8788 8790 8824 8833 8871 8876 - 8759 8796 8803 8848 8886 8893 - 8791 8811 8815 8843 8860 8873 - 8783 8806 8834 8840 8866 8878 - 8801 8825 8859 8865 - 8776 8782 8819 8858 8875 8903 - 8790 8797 8827 8839 8876 8882 - 8767 8783 8814 8830 8869 8878 8887 - 8439 8586 8630 8927 9382 9947 - 8807 8812 8823 8845 8874 15404 - 8652 8718 8780 8898 9041 9098 - 8662 8733 8780 8922 9039 9163 - 8797 8805 8833 8844 8882 8889 - 8806 8815 8830 8860 8866 8879 - 8608 8693 8703 8990 8999 9437 - 8535 8573 8818 8861 9308 9364 - 8811 8826 8829 8864 8873 8884 - 8805 8809 8839 8854 8889 8904 - 8812 8826 8836 8864 8874 8885 - 8649 8730 8779 8853 9028 9049 9117 - 8695 8768 8802 8912 9008 9017 - 8796 8817 8828 8880 8893 8909 - 8814 8817 8869 8880 8891 - 8765 8808 8810 8883 8919 8962 - 8726 8768 8808 8912 8919 8984 - 8804 8810 8820 8883 8915 8943 - 8730 8756 8846 8895 9028 - 8809 8813 8844 8870 8904 8916 - 8822 8825 8857 8859 8890 8894 - 8420 8432 8688 8728 9604 9840 10227 - 8822 8855 8863 8894 8900 15403 - 8782 8786 8832 8862 8903 8975 - 8825 8831 8855 8865 8890 8892 - 8815 8829 8840 8873 8879 8901 15405 - 8535 8613 8842 8911 9364 9423 - 8766 8786 8820 8858 8915 8975 9012 - 8824 8857 8871 8900 8906 15403 - 8826 8843 8845 8884 8885 8902 - 8831 8859 8892 8897 - 8830 8840 8878 8879 8888 8899 - 8691 8738 8789 8969 9074 15437 - 8734 8781 8798 8905 8977 8982 - 8814 8834 8849 8887 8891 8917 - 8813 8819 8854 8875 8916 8930 - 8824 8827 8863 8876 8906 8910 - 8749 8781 8877 8905 8934 8967 8986 - 8829 8843 8860 8884 8907 15405 - 8836 8845 8885 8896 15404 15406 - 8819 8832 8870 8903 8930 8945 - 8827 8833 8871 8882 8910 8925 - 8749 8803 8872 8886 8934 8948 - 8830 8834 8866 8887 8899 8914 - 8840 8860 8866 8888 8901 8908 - 8817 8848 8849 8891 8909 8926 - 7528 7730 8472 11137 11227 - 8833 8839 8876 8889 8925 8946 - 8810 8850 8852 8943 8962 - 8843 8864 8873 8902 8907 8920 - 8845 8864 8874 8902 8921 15406 - 8803 8828 8877 8893 8948 8979 - 8834 8869 8878 8914 8917 8947 - 8866 8879 8899 8908 8913 - 8839 8844 8882 8904 8946 15408 - 8855 8859 8892 8894 8929 15407 - 8849 8869 8880 8917 8926 8953 - 8859 8865 8890 8897 8928 8929 - 8828 8848 8886 8909 8979 8988 - 8855 8857 8890 8900 8940 15407 - 8756 8789 8853 9028 9074 9274 - 8874 8937 15404 15406 - 8865 8892 8928 8933 - 8718 8798 8837 8982 9098 9167 - 8866 8878 8888 8913 8914 8931 - 8857 8863 8894 8906 8940 8951 - 8860 8879 8908 8923 8924 15405 - 8864 8884 8885 8920 8921 8938 - 8832 8858 8875 8945 8975 9011 - 8844 8854 8889 8916 8985 15408 - 8781 8868 8872 8967 8977 9021 - 8863 8871 8900 8910 8951 8957 - 8873 8884 8920 8932 8944 15405 - 8879 8888 8901 8913 8924 8936 - 8848 8880 8893 8926 8988 8989 - 8871 8876 8906 8925 8957 15410 - 8613 8699 8861 8998 9423 9524 - 8768 8847 8851 8984 9017 9068 - 8888 8899 8908 8931 8936 8954 - 8878 8887 8899 8931 8947 8955 - 8820 8852 8862 8943 9012 9050 - 8854 8870 8904 8930 8985 9019 - 8869 8887 8891 8947 8953 8972 - 7753 7852 8739 9066 10971 11034 - 8808 8850 8851 8962 8984 9146 15421 - 8884 8902 8907 8938 8944 8959 - 8885 8902 8938 8950 8960 15406 - 8733 8792 8838 8949 9163 9247 - 8901 8924 8932 8941 8952 15405 - 8901 8908 8923 8936 8941 8956 - 8876 8882 8910 8946 8997 15410 - 8880 8891 8909 8953 8989 9000 - 8586 8601 8835 9139 9947 10103 - 8892 8897 8929 8933 8963 8964 - 8890 8892 8928 8964 8970 15407 - 8870 8875 8916 8945 9010 9019 - 8899 8913 8914 8954 8955 8965 - 8907 8923 8944 8952 8958 15405 - 8897 8928 8963 8966 - 8872 8877 8948 8986 9003 - 7966 8100 8742 9066 10199 10889 - 8908 8913 8924 8954 8956 8968 - 8896 8950 8974 15406 - 8902 8920 8921 8959 8960 15409 - 8762 8777 8949 8976 9262 9458 - 8894 8900 8951 8978 8987 15407 - 8923 8924 8952 8956 8961 - 8517 8534 8778 9424 9994 10403 - 8852 8883 8915 8962 9050 15418 - 8907 8920 8932 8958 8959 8971 - 8875 8903 8930 9010 9011 - 8882 8889 8925 8997 9026 15408 - 8887 8914 8917 8955 8972 8983 9007 - 8877 8886 8934 8979 9003 9024 - 8777 8792 8922 8939 9247 9262 - 8921 8937 8960 8974 8981 15406 - 8900 8906 8940 8957 8987 9001 - 8923 8932 8941 8958 8961 8973 - 8891 8917 8926 8972 9000 9018 - 8913 8931 8936 8965 8968 8992 - 8914 8931 8947 8965 8983 - 8924 8936 8941 8961 8968 8980 - 8906 8910 8951 9001 9023 15410 - 8932 8944 8952 8971 8973 15411 - 8920 8938 8944 8971 8991 15409 - 8921 8938 8950 8981 15409 15412 - 8941 8952 8956 8973 8980 8993 - 8850 8883 8919 8943 15418 15421 - 8928 8933 8964 8966 8994 8996 - 8928 8929 8963 8970 8996 9004 - 8931 8954 8955 8983 8992 9016 - 8933 8963 8994 8995 - 8872 8905 8986 9021 9035 9079 - 8936 8954 8956 8980 8992 9005 - 8738 8802 8867 9008 9325 15437 - 8929 8964 8978 9004 9014 15407 - 8944 8958 8959 8991 9002 15411 - 8917 8947 8953 9007 9018 9047 - 8952 8958 8961 8993 9006 15411 - 8937 8950 8981 9009 - 8858 8862 8903 9011 9012 9137 15424 - 8758 8762 8939 9031 9458 9584 - 8868 8905 8982 9021 9057 9124 - 8940 8970 8987 9014 9034 15407 - 8886 8893 8948 8988 9024 9054 9084 - 8956 8961 8968 8993 9005 9015 - 8950 8960 8974 9009 9022 15412 - 8798 8868 8898 8977 9124 9167 9188 - 8947 8955 8965 9007 9016 9043 - 8851 8912 8919 9068 9146 9226 - 8904 8916 9019 9063 9123 15408 - 8872 8934 8967 9003 9035 9065 - 8940 8951 8978 9001 9034 9048 - 8893 8909 8979 8989 9038 9044 9054 - 8909 8926 8988 9000 9038 15413 - 8676 8703 8841 9437 9658 9934 - 8959 8971 9002 9013 9033 15409 - 8954 8965 8968 9005 9016 9040 - 8961 8973 8980 9006 9015 9029 - 8963 8966 8995 8996 9025 9030 - 8966 8994 9025 9027 - 8963 8964 8994 9004 9030 9036 - 8925 8946 9026 9081 15410 15414 - 8699 8774 8911 9101 9524 9748 - 8693 8755 8841 9246 9437 9979 - 8926 8953 8989 9018 9061 15413 - 8951 8957 8987 9023 9048 9073 - 8971 8991 9020 9032 9033 15411 - 8934 8948 8986 9024 9065 9119 - 8964 8970 8996 9014 9036 9052 - 8968 8980 8992 9015 9040 9042 - 8973 8993 9020 9029 9037 15411 - 8947 8972 8983 9043 9047 9088 - 8802 8847 8969 9017 9294 9325 - 8974 8981 9022 9045 - 8930 8945 9011 9019 9134 9158 - 8903 8945 8975 9010 9134 15424 - 8862 8915 8975 9050 9137 9198 - 8991 9033 9053 9058 15409 15412 - 8970 8978 9004 9034 9052 9069 - 8980 8993 9005 9029 9042 9055 - 8965 8983 8992 9040 9043 9067 - 8847 8912 9008 9068 9294 9367 - 8953 8972 9000 9047 9061 15417 - 8916 8930 8985 9010 9123 9158 - 9002 9006 9032 9037 9051 15411 - 8905 8967 8977 9057 9079 9112 - 8981 9009 9045 9059 9072 15412 - 8957 9001 9073 9099 15410 15414 - 8948 8979 9003 9084 9109 9119 - 8994 8995 9027 9030 9046 9056 - 8946 8997 9063 9081 15408 15423 - 8995 9025 9045 9046 - 8846 8853 8895 9117 9274 15451 - 8993 9006 9015 9037 9055 9062 - 8994 8996 9025 9036 9056 9064 - 8758 8772 8976 9078 9543 9584 - 9002 9020 9033 9051 9060 - 8991 9002 9013 9032 9053 9060 9070 - 8978 8987 9014 9048 9069 9096 - 8967 8986 9065 9079 9114 - 8996 9004 9030 9052 9064 9082 - 9006 9020 9029 9051 9062 9071 - 8988 8989 9044 9075 9077 15413 - 8780 8838 9041 9163 9255 9389 9472 - 8992 9005 9016 9042 9067 9083 9087 - 8780 8837 9039 9098 9255 9316 - 9005 9015 9040 9055 9083 9085 - 8983 9007 9016 9067 9088 9097 - 8988 9038 9054 9075 9106 - 9009 9022 9027 9046 9072 15415 - 9025 9027 9045 9056 9076 15415 - 8972 9007 9018 9088 9116 15417 - 8987 9001 9034 9073 9096 15425 - 8779 8846 9117 9129 9550 9661 - 8915 8943 9012 9198 9236 15418 - 9020 9032 9037 9060 9071 15416 - 9004 9014 9036 9069 9082 15419 - 9013 9033 9058 9070 9080 - 8979 8988 9044 9084 9106 9155 - 9015 9029 9042 9062 9085 9092 - 9025 9030 9046 9064 9076 9086 - 8977 9021 9112 9124 9130 - 9013 9053 9059 9080 9089 15412 - 9022 9058 9072 9089 9094 15412 - 9032 9033 9051 9070 9091 15416 - 9000 9018 9093 9113 15413 15417 - 9029 9037 9055 9071 9092 9095 - 8985 9026 9123 9182 15408 15423 - 9030 9036 9056 9082 9086 9103 - 8986 9003 9035 9114 9119 9166 - 7852 7966 8918 8935 10889 10971 - 9016 9040 9043 9087 9097 9102 - 8912 8984 9017 9226 9367 - 9014 9034 9052 9096 9141 15419 - 9033 9053 9060 9080 9091 9100 - 9037 9051 9062 9095 9104 15416 - 9022 9045 9059 9094 9105 15415 - 9001 9023 9048 9099 9160 15425 - 8789 8867 8895 9274 15437 15475 - 9038 9044 9077 9106 9132 9136 - 9046 9056 9086 9107 9108 15415 - 9038 9075 9093 9132 9143 15413 - 8772 8800 9031 9090 9543 9649 - 8967 9021 9035 9112 9114 9195 - 9053 9058 9070 9089 9100 9111 - 8997 9026 9128 9156 15414 15423 - 9036 9052 9064 9103 9126 15419 - 9040 9042 9085 9087 9110 15420 - 8979 9024 9054 9109 9155 9179 - 9042 9055 9083 9092 9110 9118 - 9056 9064 9076 9103 9107 9121 - 9040 9067 9083 9102 9120 15420 - 9007 9043 9047 9097 9116 9154 9165 - 9058 9059 9080 9094 9111 9122 - 8800 8821 9078 9170 9649 9731 - 9060 9070 9100 9115 9127 15416 - 9055 9062 9085 9095 9118 9125 - 9061 9077 9113 9143 9161 15413 - 9059 9072 9089 9105 9122 9138 - 9062 9071 9092 9104 9125 9135 - 9034 9048 9069 9141 9184 15425 - 9043 9067 9088 9102 9140 9154 - 8837 8898 9041 9167 9316 9433 - 9023 9073 9128 9160 9190 15414 - 9070 9080 9091 9111 9127 9144 - 8774 8799 8998 9133 9748 9970 - 9067 9087 9097 9120 9140 9147 - 9064 9082 9086 9121 9126 9145 - 9071 9095 9115 9135 9148 15416 - 9072 9094 9108 9138 9151 15415 - 9044 9054 9075 9136 9155 9174 - 9076 9086 9108 9121 9153 15427 - 9076 9105 9107 9151 15415 15427 - 9024 9084 9119 9179 9183 - 9083 9085 9118 9131 9142 15420 - 9080 9089 9100 9122 9144 9152 - 9021 9057 9079 9130 9195 9220 - 9061 9093 9149 9161 9192 15417 - 9035 9065 9079 9166 9195 9228 - 9091 9104 9127 9148 9159 15416 - 9047 9088 9149 9165 9185 15417 - 8846 9028 9049 9550 15451 - 9085 9092 9110 9125 9142 9157 - 9003 9024 9065 9109 9166 9183 9231 - 9087 9102 9147 9150 15420 - 9086 9103 9107 9145 9153 - 9089 9094 9111 9138 9152 15426 - 8985 9019 9063 9158 9182 9269 9273 - 8977 8982 9057 9130 9188 9234 9250 - 9092 9095 9118 9135 9157 9169 - 9082 9103 9145 9164 9172 15419 - 9091 9100 9115 9144 9159 9171 - 9081 9099 9156 9190 9208 15414 - 8624 8779 9049 9162 9661 9964 - 9057 9112 9124 9220 9234 - 9110 9142 9150 9168 15420 - 9075 9077 9136 9143 9187 9191 - 8793 8799 9101 9170 9809 9970 - 9010 9011 9158 9289 9301 15424 - 9095 9104 9125 9148 9169 9175 - 9075 9106 9132 9174 9191 - 8975 9012 9198 9280 9312 15424 - 9094 9105 9122 9151 9176 15426 - 8601 8688 8927 9604 10103 10240 - 9097 9102 9147 9154 9173 9181 - 9069 9096 9164 9184 9221 15419 - 9110 9118 9131 9157 9168 9180 - 9077 9093 9132 9161 9187 9201 - 9100 9111 9127 9152 9171 9178 - 9103 9121 9126 9153 9172 9177 - 8919 8984 9226 9352 9468 15421 - 9102 9120 9140 9150 9173 9189 - 9104 9115 9135 9159 9175 9186 - 9113 9116 9185 9192 9217 15417 - 9120 9131 9147 9168 9189 9200 15420 - 9105 9108 9138 9176 9193 15427 - 9111 9122 9144 9178 9196 15426 - 9107 9121 9145 9177 9194 15427 - 9088 9097 9140 9165 9181 9202 - 9054 9084 9106 9174 9179 9229 9238 - 9081 9128 9208 9213 15423 - 9118 9125 9142 9169 9180 9197 - 9010 9019 9123 9134 9273 9301 - 9115 9127 9148 9171 9186 9199 - 9073 9099 9190 9214 9257 15425 - 9093 9113 9143 9192 9201 9223 - 8624 8690 9129 9209 9964 10325 - 8838 8922 9039 9247 9472 9605 - 9126 9141 9172 9221 9227 15419 - 9088 9116 9154 9185 9202 9225 - 9065 9114 9119 9228 9231 9264 - 8898 8982 9098 9188 9321 9368 9433 - 9131 9142 9150 9180 9200 9207 - 9125 9135 9157 9175 9197 9203 - 8793 8821 9090 9133 9731 9809 - 9127 9144 9159 9178 9199 9206 - 9126 9145 9164 9177 9215 9227 - 9140 9147 9181 9189 9219 - 9106 9136 9155 9191 9229 9232 - 9135 9148 9169 9186 9203 9210 - 9138 9151 9193 9204 9211 15426 - 9145 9153 9172 9194 9212 9215 - 9144 9152 9171 9196 9206 9216 - 9084 9109 9155 9183 9238 9261 - 9142 9157 9168 9197 9207 15428 - 9140 9154 9173 9202 9219 9243 - 9063 9123 9213 9269 15423 15435 - 9109 9119 9179 9231 9261 9275 - 9096 9141 9214 9221 9279 15425 - 9116 9149 9165 9217 9225 9235 - 9148 9159 9175 9199 9210 15429 - 9132 9143 9191 9201 9218 9222 - 8982 9124 9167 9250 9310 9321 - 9147 9150 9173 9200 9219 9239 - 9099 9128 9160 9208 9257 9298 - 9132 9136 9174 9187 9222 9232 - 9113 9149 9161 9217 9223 9260 - 9151 9176 9205 9211 15427 15430 - 9153 9177 9205 9212 9224 15427 - 9079 9112 9114 9220 9228 9346 9347 - 9152 9178 9204 9216 15426 15431 - 9157 9169 9180 9203 9230 15428 - 9012 9050 9137 9236 9312 9366 - 9159 9171 9186 9206 9233 15429 - 9150 9168 9189 9207 9237 9239 - 9143 9161 9187 9218 9223 9242 - 9154 9165 9181 9225 9243 9256 - 9169 9175 9197 9210 9230 15432 - 9176 9196 9211 9240 15426 15431 - 9193 9194 9224 9241 15427 15430 - 9171 9178 9199 9216 9233 9244 - 9168 9180 9200 9237 9245 15428 - 9128 9156 9190 9213 9298 15439 - 8521 8690 8816 9162 10288 10325 - 9175 9186 9203 9249 15429 15432 - 9176 9193 9204 9240 9248 15430 - 9177 9194 9215 9224 9252 - 9156 9182 9208 15423 15435 15439 - 9160 9184 9257 9279 9340 15425 - 9172 9177 9212 9227 9252 9290 - 9178 9196 9206 9244 9253 15431 - 9149 9185 9192 9235 9260 9284 - 9187 9201 9222 9242 9254 - 9173 9181 9189 9239 9243 9266 9268 - 9112 9130 9195 9234 9342 9346 - 9141 9164 9184 9227 9279 9319 - 9187 9191 9218 9232 9254 9265 - 9161 9192 9201 9242 9260 9270 - 9194 9205 9212 9241 9252 - 9165 9185 9202 9235 9256 9277 - 8984 9068 9146 9367 9468 9680 - 9164 9172 9215 9221 9290 9319 - 9114 9166 9195 9264 9333 9347 - 9155 9174 9232 9238 9297 9307 - 9197 9203 9251 9263 15428 15432 - 9119 9166 9183 9264 9275 9309 - 9174 9191 9222 9229 9265 9307 - 9199 9206 9244 9259 9271 15429 - 9124 9130 9220 9250 9339 9342 - 9185 9217 9225 9277 9284 - 9050 9198 9287 9366 15418 15455 - 9200 9207 9239 9245 9267 9272 - 9155 9179 9229 9261 9297 9327 - 9189 9200 9219 9237 9266 9267 - 9204 9211 9248 15431 15433 15434 - 9205 9224 9252 9258 9278 15430 - 9201 9218 9223 9254 9270 9288 - 9181 9202 9219 9256 9268 9295 - 9206 9216 9233 9253 9271 9282 - 9207 9237 9251 9272 9281 15428 - 8755 8818 8999 9308 9979 10207 - 8922 8949 9163 9262 9605 9692 - 9211 9240 9258 9283 15430 15434 - 9210 9259 9276 9286 15429 15432 - 9124 9188 9234 9310 9339 9358 - 9230 9245 9263 9281 9291 15428 - 9212 9215 9224 9241 9278 9290 9311 - 9216 9244 9282 9292 15431 15433 - 9218 9222 9242 9265 9288 9328 - 9039 9041 9316 9389 9517 - 9202 9225 9243 9277 9295 15436 - 9160 9190 9214 9298 9340 15448 - 9241 9248 9278 9283 9293 15430 - 9233 9249 9271 9286 9299 15429 - 9192 9217 9223 9270 9284 9320 9329 - 9179 9183 9238 9275 9327 9365 9374 9377 - 8939 8949 9247 9458 9692 9974 - 9230 9251 9276 9291 9304 15432 - 9166 9228 9231 9309 9333 15441 - 9222 9232 9254 9307 9328 9338 - 9219 9239 9267 9268 9285 9300 - 9237 9239 9266 9272 9300 9303 - 9219 9243 9266 9285 9295 9302 - 9123 9182 9273 15435 15446 15457 - 9223 9242 9260 9288 9313 9320 - 9233 9244 9259 9282 9299 9314 - 9237 9245 9267 9281 9303 9315 - 9123 9158 9269 9301 9411 15446 - 8895 9028 9074 9885 15451 15475 - 9183 9231 9261 9309 9365 9371 - 9249 9263 9286 9304 9317 15432 - 9225 9235 9256 9284 9349 15436 - 9241 9252 9258 9293 9311 9322 - 9184 9214 9221 9319 9340 9387 - 9137 9289 9312 9452 9482 15424 - 9245 9251 9272 9291 9315 9323 - 9244 9253 9271 9292 9314 9324 - 9248 9258 9293 9318 15434 15438 - 9217 9235 9260 9277 9329 9349 9351 - 9266 9268 9300 9302 9326 - 9249 9259 9276 9299 9317 9330 - 9236 9352 9533 15418 15421 15455 - 9242 9254 9270 9313 9328 9335 - 9134 9280 9301 9478 9482 15424 - 9215 9227 9252 9311 9319 9344 9369 - 9251 9263 9281 9304 9323 9332 - 9253 9282 9306 9324 9334 15433 - 9258 9278 9283 9322 15438 - 9008 9017 9325 9367 9640 9698 - 9243 9256 9268 9302 9343 9354 15436 - 8643 8701 9359 9719 10573 10666 - 9229 9238 9307 9327 9362 9375 - 9190 9208 9257 9510 15439 15448 - 9259 9271 9286 9314 9330 9337 - 9266 9267 9285 9303 9326 9331 - 9134 9158 9273 9289 9411 9478 - 9268 9285 9295 9326 9336 9343 - 9267 9272 9300 9315 9331 15440 - 9263 9276 9291 9317 9332 9341 - 7963 8177 8358 10865 10946 11175 15422 - 9292 9318 9334 9348 15433 15434 - 9229 9232 9265 9297 9338 9362 15444 - 8818 8842 9246 9364 9835 10207 - 9231 9264 9275 9370 9371 15441 - 9188 9250 9321 9358 9401 - 9252 9278 9290 9322 9344 15443 - 9137 9198 9280 9366 9452 9538 - 9270 9288 9320 9335 9345 - 9271 9282 9299 9324 9337 9350 - 9272 9281 9303 9323 15440 15442 - 9041 9098 9255 9433 9517 9656 - 9276 9286 9304 9330 9341 9353 - 9283 9306 9348 9355 15434 15438 - 9221 9227 9279 9290 9369 9387 15450 - 9260 9270 9313 9329 9345 9357 - 9167 9188 9310 9368 9401 9408 - 9278 9293 9311 9360 15438 15443 - 9281 9291 9315 9332 9361 15442 - 9282 9292 9314 9334 9350 9363 - 8969 9008 9294 9640 9761 15437 - 9285 9300 9302 9331 9336 9356 - 9238 9261 9297 9374 9375 9395 - 9254 9265 9288 9335 9338 9383 9388 - 9260 9284 9320 9351 9357 15445 - 9286 9299 9317 9337 9353 9373 - 9300 9303 9326 9356 9372 15440 - 9291 9304 9323 9341 9361 9376 - 9228 9264 9347 9404 15441 15452 - 9292 9306 9324 9348 9363 9381 - 9288 9313 9328 9345 9383 9386 - 9302 9326 9343 9356 9380 - 9299 9314 9330 9350 9373 9385 - 9265 9307 9328 9388 9400 15444 - 9234 9250 9342 9358 9457 9466 - 9214 9257 9279 9387 9462 15448 - 9304 9317 9332 9353 9376 9390 - 9220 9234 9339 9346 9457 9487 - 9295 9302 9336 9354 9380 9396 - 9290 9311 9369 9402 15443 - 9313 9320 9335 9357 9379 9386 - 9195 9220 9342 9347 9421 9487 9488 - 9195 9228 9333 9346 9421 15452 - 9306 9318 9334 9355 9381 9394 - 9277 9284 9351 9378 9399 9413 15436 - 9314 9324 9337 9363 9385 9393 - 9284 9329 9349 9399 9405 15445 - 9146 9287 9468 9533 15421 15474 - 9317 9330 9341 9373 9390 9398 - 9295 9343 9378 9396 9416 15436 - 9318 9348 9360 9394 9403 15438 - 9326 9331 9336 9372 9380 9392 - 9320 9329 9345 9379 9397 15445 - 9250 9310 9339 9401 9466 9484 - 8426 8701 8742 9296 10199 10666 - 9322 9355 9403 9409 15438 15443 - 9323 9332 9376 9391 15442 15447 - 9297 9307 9375 9419 15444 15449 - 9324 9334 9350 9381 9393 9406 - 8842 8861 9308 9423 9835 9941 - 9261 9275 9371 9377 9414 9428 - 9198 9236 9312 9538 9612 15455 - 9017 9068 9226 9294 9680 9698 9863 - 9167 9321 9408 9433 9586 9632 - 9290 9319 9344 9402 9465 15450 - 9309 9371 9415 9427 15441 - 9275 9309 9365 9370 9427 9428 - 9331 9356 9384 9392 9407 15440 - 9330 9337 9353 9385 9398 9410 - 9261 9327 9377 9395 9420 9426 - 9297 9327 9362 9395 9419 9431 - 9332 9341 9361 9390 9417 15447 - 9261 9365 9374 9414 9426 - 9349 9354 9413 9416 9436 15436 - 9345 9357 9386 9397 9412 - 9336 9343 9356 9392 9396 9418 - 9334 9348 9363 9394 9406 15454 - 8630 8778 8835 9947 9994 10462 - 9328 9335 9386 9388 9422 9430 - 9372 9391 9407 9425 15440 15442 - 9337 9350 9373 9393 9410 9429 - 9335 9345 9379 9383 9412 9422 - 9279 9319 9340 9462 15450 15462 - 9328 9338 9383 9400 9430 9439 - 9039 9255 9472 9517 9671 - 9341 9353 9376 9398 9417 9432 - 9361 9384 9425 9434 15442 15447 - 9356 9372 9380 9407 9418 9440 - 9350 9363 9385 9406 9429 15456 - 9348 9355 9381 9403 9444 15454 - 9327 9374 9375 9420 9431 9442 - 9343 9354 9380 9416 9418 9453 - 9357 9379 9412 9438 15445 15453 - 9353 9373 9390 9410 9432 9441 - 9349 9351 9405 9413 9445 9450 - 9338 9388 9435 9439 9456 15444 - 9310 9321 9358 9408 9484 9512 - 9344 9369 9409 9465 9469 15443 - 9355 9360 9394 9409 9444 9463 - 9333 9415 9479 9494 15441 15452 - 9351 9399 9445 9449 15445 15453 - 9363 9381 9393 15454 15456 15458 - 9372 9384 9392 9425 9440 9447 - 9321 9368 9401 9512 9586 - 9360 9402 9403 9463 9469 15443 - 9373 9385 9398 9429 9441 9451 - 9273 9301 9478 9534 15446 15473 - 9379 9386 9397 9422 9438 9446 - 9349 9378 9399 9436 9450 9470 - 9365 9377 9426 9428 9454 9501 - 9370 9404 9427 9479 9480 15441 - 9354 9378 9396 9436 9453 9459 - 9376 9390 9432 9443 9455 15447 - 9380 9392 9396 9440 9453 9471 - 9362 9375 9431 9461 15449 15459 - 9374 9395 9426 9442 9448 - 9346 9347 9488 9502 15452 - 9383 9386 9412 9430 9446 9460 - 8861 8911 9364 9524 9941 9988 - 8534 8645 8942 9719 10403 10548 - 9384 9391 9407 9434 9447 9464 - 9374 9377 9414 9420 9448 9454 - 9370 9371 9415 9428 9480 9490 - 9365 9371 9414 9427 9490 9501 - 9385 9393 9410 9451 9475 15456 - 9383 9388 9422 9439 9460 9477 - 9375 9395 9419 9442 9476 15459 - 9390 9398 9417 9441 9455 9473 - 9098 9167 9316 9368 9632 9656 9815 - 9391 9425 9443 9464 9481 15447 - 9400 9456 9474 9492 15444 15449 - 9378 9413 9416 9459 9470 9493 - 8841 8990 8999 9934 9979 10343 - 9397 9412 9446 9467 9483 15453 - 9388 9400 9430 9456 9477 9495 - 9392 9407 9418 9447 9471 9489 - 9398 9410 9432 9451 9473 9485 - 9395 9420 9431 9448 9476 9486 - 9417 9434 9455 9481 15447 15461 - 9394 9403 9463 15454 15460 15464 - 9399 9405 9449 9450 9496 9500 - 9412 9422 9438 9460 9483 9498 - 9407 9425 9440 9464 9489 9503 - 9420 9426 9442 9454 9486 9499 - 9405 9445 9467 9496 9504 15453 - 9399 9413 9445 9470 9500 9509 - 9410 9429 9441 9475 9485 9507 - 9280 9312 9482 9538 9645 - 9396 9416 9418 9459 9471 9511 9518 - 9414 9426 9448 9499 9501 9525 - 9417 9432 9443 9473 9506 15461 - 9400 9435 9439 9492 9495 9520 - 9339 9342 9466 9487 9595 9615 - 8939 8976 9262 9584 9917 9974 - 9416 9436 9453 9493 9518 9521 - 9422 9430 9446 9477 9498 15463 - 9419 9474 9505 9515 15449 15459 - 9340 9387 9581 9597 15448 15462 - 9403 9409 9444 9469 9545 15464 - 9425 9434 9447 9481 9503 9516 - 9369 9402 9469 9568 9569 15450 - 9339 9358 9457 9484 9595 9600 - 9438 9449 9483 9504 9514 15453 - 9146 9226 9352 9680 15474 15480 - 9402 9409 9463 9465 9545 9569 - 9413 9436 9450 9493 9509 9523 - 9418 9440 9453 9489 9511 9522 - 9039 9163 9389 9605 9671 9824 - 9432 9441 9455 9485 9506 9513 - 9435 9461 9492 9515 9531 15449 - 9429 9451 9491 9507 9532 15456 - 9431 9442 9486 9497 9519 15459 - 9430 9439 9460 9495 9528 15463 - 9289 9301 9411 9482 9676 15473 - 9404 9415 9480 9494 9553 9572 - 9415 9427 9479 9490 9548 9553 - 9434 9443 9464 9516 9526 15461 - 9280 9289 9452 9478 9645 9676 9742 - 9438 9446 9467 9498 9514 9527 - 9358 9401 9466 9512 9600 9623 - 9441 9451 9473 9507 9513 9529 - 9442 9448 9476 9499 9519 9536 - 9342 9346 9457 9488 9614 9615 9663 - 9346 9421 9487 9502 9582 9614 - 9440 9447 9471 9503 9522 9535 - 9427 9428 9480 9501 9548 9559 - 9475 9508 9532 9546 15456 15458 - 9435 9456 9474 9520 9531 9554 - 9436 9459 9470 9521 9523 9547 - 9404 9479 9502 9572 9587 15452 - 9439 9456 9477 9520 9528 9551 - 9445 9449 9500 9504 9537 9540 - 9476 9505 9519 9539 15459 - 9446 9460 9483 9527 9542 15463 - 9448 9454 9486 9525 9536 9565 - 9445 9450 9496 9509 9537 9541 - 9414 9428 9454 9490 9525 9559 9575 - 9421 9488 9494 9582 9587 15452 - 9447 9464 9489 9516 9535 9556 - 9449 9467 9496 9514 9540 9549 - 9461 9497 9515 9539 9557 15459 - 9455 9473 9513 9544 9561 15461 - 9451 9475 9485 9529 9532 9566 - 9491 9546 9570 15458 15460 15465 - 9450 9470 9500 9523 9541 9558 - 9298 9552 9581 9697 9714 15439 15448 - 9453 9471 9518 9522 9555 9562 - 9401 9408 9484 9586 9623 9666 - 9473 9485 9506 9529 9560 9561 - 9467 9483 9504 9527 9549 9563 - 9461 9474 9505 9531 9557 9573 - 9464 9481 9503 9526 9556 9567 - 9255 9316 9389 9656 9671 9822 - 9453 9459 9511 9521 9555 9574 - 9476 9486 9497 9536 9539 9571 - 9456 9492 9495 9551 9554 9579 - 9459 9493 9518 9547 9574 9580 - 9471 9489 9511 9535 9562 9576 - 9470 9493 9509 9547 9558 9578 - 8911 8998 9423 9748 9988 9999 - 9454 9499 9501 9565 9575 9593 - 9481 9516 9544 9567 15461 15468 - 9483 9498 9514 9542 9563 9577 - 9477 9495 9551 9564 9583 15463 - 9485 9507 9513 9560 9566 15466 - 7608 8108 8358 10946 11037 11492 - 9474 9492 9515 9554 9573 9588 - 9475 9491 9507 9546 9566 9585 - 9287 9352 9744 15455 15474 15478 - 9411 9727 15446 15457 15473 15476 - 9489 9503 9522 9556 9576 15467 - 9486 9499 9519 9565 9571 9592 - 9496 9500 9540 9541 - 9312 9366 9452 9612 9645 9702 - 9497 9505 9519 9557 9571 9589 - 9496 9504 9537 9549 - 9500 9509 9537 9558 - 9498 9527 9564 9577 9591 15463 - 9031 9078 9584 9649 9922 10049 - 9506 9526 9561 9619 15461 15468 - 9463 9469 9569 9599 9637 9659 15464 - 9491 9508 9532 9570 9585 9603 - 9493 9521 9523 9578 9580 9596 - 9480 9490 9553 9559 9610 9611 - 9504 9514 9540 9563 - 9049 9117 9661 10042 10046 15451 - 9495 9520 9528 9579 9583 9601 - 9510 9714 9755 15435 15439 15457 15476 - 9479 9480 9548 9572 9611 9622 - 9492 9520 9531 9579 9588 15469 - 9511 9518 9562 9574 9590 9594 - 9503 9516 9535 9567 9607 15467 - 9505 9515 9539 9573 9589 9602 - 9509 9523 9541 9578 - 9490 9501 9548 9575 9610 9617 - 9513 9529 9561 9613 15466 - 9506 9513 9544 9560 9613 9619 - 9511 9522 9555 9576 9594 9608 - 9514 9527 9549 9577 - 9528 9542 9583 9591 9606 15463 - 9499 9525 9536 9592 9593 9620 - 9507 9529 9532 9585 9598 15466 - 9516 9526 9556 9607 15468 - 9465 9569 9644 9650 15450 15462 15472 - 9465 9469 9545 9568 9637 9650 - 9508 9546 9603 15465 15470 - 9519 9536 9539 9589 9592 9616 - 9479 9494 9553 9587 9622 9652 - 9515 9531 9557 9588 9602 9618 - 9518 9521 9555 9580 9590 9609 - 9501 9525 9559 9593 9617 9627 - 9522 9535 9562 9608 9621 15467 - 9527 9542 9563 9591 - 9523 9547 9558 9596 - 9520 9551 9554 9601 9625 15469 - 9521 9547 9574 9596 9609 15471 - 9462 9510 9597 9684 9697 15448 - 9488 9502 9587 9614 9646 9667 - 9528 9551 9564 9601 9606 9624 - 8976 9031 9458 9543 9917 9922 10108 - 9532 9546 9566 9598 9603 9628 - 9368 9408 9512 9632 9666 9715 - 9494 9502 9572 9582 9646 9652 - 9531 9554 9573 9618 9631 15469 - 9539 9557 9571 9602 9616 9630 - 9555 9574 9594 9609 9626 - 9542 9564 9577 9606 - 9536 9565 9571 9616 9620 9636 - 9525 9565 9575 9620 9627 9641 - 9555 9562 9590 9608 9626 9633 - 9457 9466 9600 9615 9678 9688 - 9547 9578 9580 15471 - 9462 9581 9684 9686 15462 15472 - 9566 9585 9628 9629 15466 - 9545 9659 15464 15465 15470 15477 - 9466 9484 9595 9623 9678 9696 - 9551 9579 9583 9624 9625 9638 - 9557 9573 9589 9618 9630 9639 - 9546 9570 9585 9628 9654 15470 - 8688 8856 9139 10227 10240 10518 - 9163 9247 9472 9692 9824 9951 - 9564 9583 9591 9624 - 9556 9567 9647 9651 9675 15467 15468 - 9562 9576 9594 9621 9633 9643 - 9574 9580 9590 9626 9635 15471 - 9548 9559 9611 9617 9634 9648 - 9548 9553 9610 9622 9634 9657 - 9366 9538 9702 9771 15455 15478 - 9560 9561 9619 9629 9668 15466 - 9487 9488 9582 9663 9667 9703 - 9457 9487 9595 9663 9688 9712 - 9571 9589 9592 9630 9636 9653 - 9559 9575 9610 9627 9648 9664 - 9573 9588 9602 9631 9639 9655 - 9544 9561 9613 9651 9668 9707 15468 - 9565 9592 9593 9636 9641 9665 - 9576 9608 9643 9647 9672 15467 - 9553 9572 9611 9652 9657 9681 - 9484 9512 9600 9666 9696 9721 - 9583 9601 9606 9638 - 9579 9601 9638 9642 9660 15469 - 9590 9594 9609 9633 9635 9662 - 9575 9593 9617 9641 9664 9674 - 9585 9598 9603 9629 9654 9689 9701 - 9598 9613 9628 9668 9689 15466 - 9589 9602 9616 9639 9653 9669 - 9588 9618 9642 9655 9670 15469 - 9368 9433 9586 9715 9784 9815 - 9594 9608 9626 9643 9662 9673 - 9610 9611 9648 9657 9679 - 9609 9626 9662 15471 - 9592 9616 9620 9653 9665 9677 - 9545 9569 9650 9659 9711 9726 - 9601 9624 9625 9660 - 9602 9618 9630 9655 9669 9682 - 9294 9325 9698 9761 9948 - 9593 9620 9627 9665 9674 9690 - 9625 9631 9660 9670 9683 15469 - 9608 9621 9633 9672 9673 9685 - 9568 9650 9699 9700 15472 - 9452 9482 9538 9702 9742 9808 - 9582 9587 9652 9667 9713 9722 - 9607 9621 9672 9675 9691 15467 - 9610 9617 9634 9664 9679 9695 - 9078 9090 9543 9731 10049 10141 - 9568 9569 9637 9644 9699 9711 - 9607 9619 9675 9707 9718 15468 - 9572 9587 9622 9646 9681 9713 9720 - 9616 9630 9636 9669 9677 9694 - 9603 9628 9701 9716 15470 15477 - 9618 9631 9639 9670 9682 9693 - 9316 9433 9517 9815 9822 9923 - 9611 9622 9634 9679 9681 9710 - 8676 8728 8990 9840 9934 10471 10478 - 9545 9599 9637 9726 9734 15477 - 9625 9638 9642 9683 - 9049 9129 9550 9964 10042 10184 - 9626 9633 9635 9673 9687 - 9487 9614 9615 9703 9712 9739 - 9617 9627 9648 9674 9695 9708 - 9620 9636 9641 9677 9690 9706 - 9512 9586 9623 9715 9721 9766 - 9582 9614 9646 9703 9722 9740 - 9613 9619 9629 9689 9707 9730 - 9630 9639 9653 9682 9694 9709 - 9631 9642 9655 9683 9693 9705 - 9389 9472 9517 9822 9824 9992 - 9621 9643 9647 9685 9691 9704 - 9633 9643 9662 9685 9687 - 9627 9641 9664 9690 9708 9725 - 9607 9647 9651 9691 9718 9728 - 9478 9482 9742 9829 15473 15483 - 9636 9653 9665 9694 9706 9724 - 9595 9600 9688 9696 9750 9764 - 9634 9648 9657 9695 9710 9729 - 9226 9367 9468 9863 9912 15480 - 9622 9652 9657 9710 9720 9737 - 9639 9655 9669 9693 9709 9723 - 9642 9660 9670 9705 - 9581 9597 9686 9697 9747 9782 - 9643 9672 9673 9687 9704 9717 - 9597 9684 9700 9747 9749 15472 - 9662 9673 9685 9717 - 9595 9615 9678 9712 9750 9762 - 9628 9629 9668 9701 9730 9743 - 9641 9665 9674 9706 9725 9735 - 9647 9672 9675 9704 9728 9736 - 9247 9262 9605 9951 9974 10160 - 9655 9670 9682 9705 9723 9732 - 9653 9669 9677 9709 9724 9733 - 9648 9664 9679 9708 9729 9738 - 9600 9623 9678 9721 9753 9764 - 9510 9581 9684 9714 9782 9807 - 9294 9367 9640 9863 9948 10061 - 9644 9650 9700 9711 9760 9773 - 9644 9686 9699 9749 9760 15472 - 9628 9654 9689 9716 9743 15482 - 9538 9612 9645 9771 9808 9865 - 9614 9663 9667 9739 9740 9768 - 9672 9685 9691 9717 9736 15479 - 9670 9683 9693 9732 - 9665 9677 9690 9724 9735 9745 - 9619 9651 9668 9718 9730 9757 9765 - 9664 9674 9695 9725 9738 9746 - 9669 9682 9694 9723 9733 9741 - 9657 9679 9681 9729 9737 9752 - 9637 9650 9699 9726 9773 9783 - 9615 9663 9688 9739 9762 9779 - 9646 9652 9720 9722 9756 9758 - 9510 9552 9697 9755 9807 9860 - 9586 9632 9666 9766 9784 9831 - 9654 9701 9734 9789 15477 15482 - 9685 9687 9704 15479 - 9651 9675 9707 9728 9757 9763 - 8643 8645 9296 9424 10548 10573 - 9652 9681 9713 9737 9756 9769 - 9623 9666 9696 9753 9766 9793 - 9646 9667 9713 9740 9758 9775 - 9682 9693 9709 9732 9741 9751 - 9677 9694 9706 9733 9745 9754 - 9674 9690 9708 9735 9746 9759 - 9637 9659 9711 9734 9783 9804 - 9534 9816 9879 15473 15476 15483 - 9675 9691 9718 9736 9763 9767 - 9679 9695 9710 9738 9752 15481 - 9668 9689 9707 9743 9765 9777 - 9090 9170 9649 9809 10141 10242 - 9693 9705 9723 9751 - 9694 9709 9724 9741 9754 9770 - 9659 9716 9726 9789 9804 15477 - 9690 9706 9725 9745 9759 9774 - 9691 9704 9728 9767 9772 15479 - 9681 9710 9720 9752 9769 9780 - 9695 9708 9729 9746 9778 15481 - 9663 9703 9712 9768 9779 9800 - 9667 9703 9722 9768 9775 9786 - 9709 9723 9733 9751 9770 9776 - 9482 9645 9676 9808 9829 9891 - 9689 9701 9730 9777 9791 15482 - 9533 9802 9839 9900 15474 15478 - 9706 9724 9735 9754 9774 9781 - 9708 9725 9738 9759 9778 9785 - 9684 9686 9749 9782 9811 - 8998 9101 9524 9970 9999 10161 - 9686 9700 9747 9760 9811 9847 - 9678 9688 9762 9764 9817 9820 - 9723 9732 9741 9776 - 9710 9729 9737 9780 9790 15481 - 9696 9721 9764 9793 9818 - 9724 9733 9745 9770 9781 9787 - 9552 9714 9816 9860 9913 15476 - 9713 9720 9758 9769 9797 9801 - 9707 9718 9763 9765 9794 9798 - 9713 9722 9756 9775 9788 9797 - 9725 9735 9746 9774 9785 9796 - 9699 9700 9749 9773 9847 9859 - 9325 9640 9935 9948 10123 15437 - 9688 9712 9750 9779 9820 9833 - 9718 9728 9757 9767 9792 9794 - 9678 9696 9750 9753 9817 9818 - 9707 9730 9757 9777 9798 9806 - 9666 9715 9721 9793 9831 9854 - 9728 9736 9763 9772 9792 9795 - 9703 9739 9740 9786 9800 9821 - 9720 9737 9756 9780 9801 9810 - 9733 9741 9754 9776 9787 9799 - 9612 9702 9839 9865 9977 15478 - 9736 9767 9795 15479 - 9699 9711 9760 9783 9859 15484 - 9735 9745 9759 9781 9796 9805 - 9722 9740 9758 9786 9788 9812 - 9741 9751 9770 9799 - 9730 9743 9765 9791 9806 9819 - 9738 9746 9785 9803 9813 15481 - 9712 9739 9762 9800 9833 9848 - 9737 9752 9769 9790 9810 9825 - 9745 9754 9774 9787 9805 9814 - 9684 9697 9747 9807 9811 9890 - 9711 9726 9773 9804 9853 15484 - 9632 9715 9815 9831 9949 15487 - 9746 9759 9778 9796 9813 9827 - 9740 9768 9775 9812 9821 9843 - 9754 9770 9781 9799 9814 9826 - 9758 9775 9797 9812 9834 - 9716 9734 9804 9823 9846 9855 15482 - 9752 9780 9803 9825 9838 15481 - 9743 9777 9819 9823 9842 15482 - 9763 9767 9794 9795 9828 9830 - 9721 9753 9766 9818 9854 9892 - 9757 9763 9792 9798 9830 9832 - 9767 9772 9792 9828 - 9759 9774 9785 9805 9827 9837 - 9756 9758 9788 9801 9834 9841 - 9757 9765 9794 9806 9832 9836 - 9770 9776 9787 9826 - 9739 9768 9779 9821 9848 9864 - 9756 9769 9797 9810 9841 9850 - 9744 9900 9944 15474 15480 - 9778 9790 9813 9838 9849 15481 - 9726 9734 9783 9789 9853 9855 9870 - 9774 9781 9796 9814 9837 9845 - 9765 9777 9798 9819 9836 9844 - 9697 9714 9782 9860 9890 9942 - 9645 9702 9742 9865 9891 9938 - 9133 9170 9731 9970 10242 10293 - 9769 9780 9801 9825 9850 9857 - 9747 9749 9782 9847 9890 9998 - 9775 9786 9788 9834 9843 9862 - 9778 9785 9803 9827 9849 9856 - 9781 9787 9805 9826 9845 9851 - 9433 9632 9656 9784 9923 10025 15487 - 9727 9755 9879 9913 9968 15476 - 9750 9764 9818 9820 9872 9875 - 9753 9764 9793 9817 9872 9892 - 9777 9791 9806 9842 9844 9852 - 9750 9762 9817 9833 9875 9882 - 9768 9786 9800 9843 9864 9880 - 9517 9656 9671 9923 9992 10068 10072 - 9789 9791 9842 9846 9871 15482 15485 - 9472 9605 9671 9951 9992 10063 - 9780 9790 9810 9838 9857 9869 - 9787 9799 9814 9851 - 9785 9796 9813 9837 9856 9867 - 9792 9795 9830 9858 - 9676 9742 9891 9932 9980 15483 - 9792 9794 9828 9832 9858 9861 - 9715 9766 9784 9854 9949 9956 - 9794 9798 9830 9836 9861 9866 - 9762 9779 9820 9848 9882 9888 - 9788 9797 9812 9841 9862 9877 - 9308 9364 9941 10207 10327 - 9798 9806 9832 9844 9866 9868 - 9796 9805 9827 9845 9867 9876 - 9790 9803 9825 9849 9869 9881 - 9744 9771 9900 9977 10037 15478 - 8728 8856 9658 10227 10471 10568 - 9797 9801 9834 9850 9877 9884 - 9791 9819 9823 9852 9871 9878 - 9786 9812 9821 9862 9880 9894 - 9806 9819 9836 9852 9868 9873 - 9805 9814 9837 9851 9876 9883 - 9789 9823 9855 9887 9889 15485 - 9749 9760 9811 9859 9943 9998 - 9779 9800 9833 9864 9888 9905 - 9803 9813 9838 9856 9881 9886 - 9801 9810 9841 9857 9884 9895 - 9814 9826 9845 9883 - 9819 9842 9844 9873 9878 - 9783 9804 9870 9874 9903 15484 - 9766 9793 9831 9892 9956 15491 - 9789 9804 9846 9870 9889 9899 - 9813 9827 9849 9867 9886 9897 - 9810 9825 9850 9869 9895 9904 - 9828 9830 9861 9893 - 9760 9773 9847 9874 9921 9943 15484 - 9714 9755 9807 9913 9942 9993 - 9830 9832 9858 9866 9893 9898 - 9812 9834 9843 9877 9894 9910 - 9367 9680 9698 9912 10061 10091 - 9800 9821 9848 9880 9905 9914 - 9702 9771 9808 9938 9977 10045 - 9832 9836 9861 9868 9898 9901 - 9827 9837 9856 9876 9897 9907 - 9836 9844 9866 9873 9901 9906 - 9825 9838 9857 9881 9904 9911 - 9804 9853 9855 9899 9903 9916 - 9823 9842 9878 9896 9902 15485 - 9817 9818 9875 9892 9909 9933 - 9844 9852 9868 9878 9906 9908 - 9853 9859 9903 9921 15484 - 9817 9820 9872 9882 9909 9915 - 9837 9845 9867 9883 9907 15486 - 9834 9841 9862 9884 9910 9920 - 9842 9852 9871 9873 9902 9908 - 9727 9816 9932 9968 10019 15483 - 9821 9843 9864 9894 9914 9927 - 9838 9849 9869 9886 9911 9918 - 9820 9833 9875 9888 9915 9926 - 9845 9851 9876 15486 - 9841 9850 9877 9895 9920 9928 - 9274 10046 10139 10326 15451 15475 - 9849 9856 9881 9897 9918 9924 - 9846 9889 9896 9919 9929 15485 - 9833 9848 9882 9905 9926 15488 - 9846 9855 9887 9899 9919 - 9782 9807 9811 9942 9998 10006 - 9742 9808 9829 9938 9980 10020 - 9793 9818 9854 9872 9933 9975 15491 - 9858 9861 9898 9925 - 9843 9862 9880 9910 9927 9945 - 9850 9857 9884 9904 9928 9937 - 9871 9887 9902 9929 9940 15485 - 9856 9867 9886 9907 9924 9931 - 9861 9866 9893 9901 9925 9930 - 9855 9870 9889 9916 9919 9950 - 9744 9802 9839 9944 10037 10087 - 9866 9868 9898 9906 9930 9936 - 9871 9878 9896 9908 9940 9946 - 9853 9870 9874 9916 9921 9966 - 9857 9869 9895 9911 9937 15490 - 9848 9864 9888 9914 9955 15488 - 9868 9873 9901 9908 9936 15489 - 9867 9876 9897 9931 9939 15486 - 9873 9878 9902 9906 9946 15489 - 9872 9875 9915 9933 9953 - 9862 9877 9894 9920 9945 9954 - 9869 9881 9904 9918 9952 15490 - 9680 9863 9944 10091 10111 15480 - 9755 9816 9860 9968 9993 10035 - 9864 9880 9905 9927 9955 9961 - 9875 9882 9909 9926 9953 9962 - 9870 9899 9903 9950 9966 - 9458 9584 9974 10108 10235 - 9881 9886 9911 9924 9952 9957 - 9887 9889 9899 9929 9950 9984 - 9877 9884 9910 9928 9954 9959 - 9859 9874 9903 9943 9966 15493 - 9543 9584 10049 10108 10194 - 9656 9815 9822 10025 10068 10098 - 9886 9897 9918 9931 9957 9960 - 9893 9898 9930 9958 - 9882 9888 9915 9962 9976 15488 - 9880 9894 9914 9945 9961 9971 - 9884 9895 9920 9937 9959 9967 - 9887 9896 9919 9940 9982 9984 - 9898 9901 9925 9936 9958 9963 - 9897 9907 9924 9939 9960 9965 - 9829 9879 9980 10019 10078 15483 - 9872 9892 9909 9953 9975 9990 - 8990 9437 9658 10343 10478 10526 - 9761 10123 10139 10287 15437 15475 - 9901 9906 9930 9963 9969 15489 - 9895 9904 9928 9967 9972 15490 - 9808 9865 9891 10020 10045 - 9907 9931 9965 15486 - 9896 9902 9929 9946 9982 15492 - 9364 9423 9835 9988 10322 10327 - 9807 9860 9890 9993 10006 10041 - 9847 9859 9921 9998 10051 15493 - 9802 9900 9912 10087 10111 15480 - 9894 9910 9927 9954 9971 9981 - 9902 9908 9940 9973 15489 15492 - 8835 8927 9382 10103 10462 10731 - 9640 9698 9761 10061 10123 10220 - 9784 9831 9956 10004 10008 15487 - 9899 9916 9919 9966 9984 10009 - 9605 9692 9824 10063 10160 10239 - 9911 9918 9957 9978 9983 15490 - 9909 9915 9933 9962 9990 10000 - 9910 9920 9945 9959 9981 9989 - 9905 9914 9961 9985 9996 15488 - 9831 9854 9949 10008 10021 15491 - 9918 9924 9952 9960 9983 9986 - 9925 9930 9963 9987 - 9920 9928 9954 9967 9989 9997 - 9924 9931 9957 9965 9986 9991 - 9914 9927 9955 9971 9996 10003 - 9915 9926 9953 9976 10000 10010 - 9930 9936 9958 9969 9987 9995 - 9129 9162 9661 10184 10325 10538 - 9931 9939 9960 9991 - 9903 9916 9921 9950 10009 10029 15493 - 9928 9937 9959 9972 9997 10002 - 9816 9879 9913 10019 10035 10089 - 9936 9963 9973 9995 10001 15489 - 9101 9133 9748 9809 10161 10293 10407 - 9927 9945 9961 9981 10003 10012 - 9937 9967 9978 10002 10005 15490 - 9946 9969 10001 10007 15489 15492 - 9262 9458 9692 9917 10160 10235 10357 - 9892 9933 9990 10027 10032 15491 - 9926 9962 9985 10010 10018 15488 - 9771 9839 9865 10037 10045 10142 - 9952 9972 9983 10005 10011 15490 - 8999 9246 9437 10207 10343 10614 - 9829 9891 9932 10020 10078 10137 - 9945 9954 9971 9989 10012 10017 - 9929 9940 9984 10014 10022 15492 - 9952 9957 9978 9986 10011 10013 - 9919 9929 9950 9982 10009 10022 10034 - 9955 9976 9996 10018 10026 15488 - 9957 9960 9983 9991 10013 10015 - 9958 9963 9995 10016 - 9423 9524 9941 9999 10322 10351 - 9954 9959 9981 9997 10017 10023 - 9933 9953 9975 10000 10032 10038 - 9960 9965 9986 10015 - 9671 9822 9824 10063 10072 10177 - 9860 9913 9942 10035 10041 10088 - 8778 8942 9382 10403 10462 10896 - 9963 9969 9987 10001 10016 10024 - 9955 9961 9985 10003 10026 10033 - 9959 9967 9989 10002 10023 10028 - 9811 9847 9890 9943 10006 10051 10092 10135 - 9524 9748 9988 10161 10351 - 9953 9962 9990 10010 10038 10047 - 9969 9973 9995 10007 10024 10030 - 9967 9972 9997 10005 10028 10031 - 9961 9971 9996 10012 10033 10043 - 9949 10008 10056 10100 15487 - 9972 9978 10002 10011 10031 10036 - 9890 9942 9998 10041 10092 - 9973 10001 10014 10030 10040 15492 - 9949 9956 10004 10021 10056 10069 - 9950 9966 9984 10029 10034 10060 - 9962 9976 10000 10018 10047 10052 - 9978 9983 10005 10013 10036 10039 - 9971 9981 10003 10017 10043 10048 - 9983 9986 10011 10015 10039 10044 - 9982 10007 10022 10040 10050 15492 - 9986 9991 10013 10044 - 9987 9995 10024 15494 - 9981 9989 10012 10023 10048 10053 - 9976 9985 10010 10026 10052 10057 - 9879 9932 9968 10078 10089 10155 - 9891 9938 9980 10045 10137 10190 - 9956 10008 10027 10069 10073 15491 - 9982 9984 10014 10034 10050 10058 - 9989 9997 10017 10028 10053 10055 - 9995 10001 10016 10030 10054 15494 - 9815 9923 10098 10100 10152 15487 - 9985 9996 10018 10033 10057 10065 - 9975 10021 10032 10073 10074 15491 - 9997 10002 10023 10031 10055 10059 - 9966 10009 10060 10085 10114 15493 - 10001 10007 10024 10040 10054 10062 - 10002 10005 10028 10036 10059 10064 - 9975 9990 10027 10038 10074 10079 - 9996 10003 10026 10043 10065 10070 - 9984 10009 10022 10058 10060 10075 - 9913 9968 9993 10088 10089 10136 - 10005 10011 10031 10039 10064 10066 - 9839 9900 9977 10087 10142 10216 - 9990 10000 10032 10047 10079 10082 - 10011 10013 10036 10044 10066 10067 - 10007 10014 10030 10050 10062 10071 - 9942 9993 10006 10088 10092 10133 - 9550 9661 10046 10184 10376 10393 - 10003 10012 10033 10048 10070 10077 - 10013 10015 10039 10067 - 9865 9938 9977 10020 10142 10190 - 9550 9885 10042 10326 10393 15451 - 10000 10010 10038 10052 10082 10086 - 10012 10017 10043 10053 10077 10081 - 9543 9649 9922 10141 10194 10339 - 10014 10022 10040 10058 10071 10080 - 9943 9998 10085 10135 10156 15493 - 10010 10018 10047 10057 10086 10093 - 10017 10023 10048 10055 10081 10084 - 10024 10030 10062 10076 10083 15494 - 10023 10028 10053 10059 10084 10090 - 10004 10008 10069 10100 10128 10167 - 10018 10026 10052 10065 10093 10099 - 10022 10034 10050 10075 10080 15495 - 10028 10031 10055 10064 10090 10094 - 10009 10029 10034 10075 10104 10114 - 9698 9863 9948 10091 10220 10280 - 10030 10040 10054 10071 10083 10095 - 9824 9951 9992 10177 10239 10271 - 10031 10036 10059 10066 10094 10096 - 10026 10033 10057 10070 10099 10102 - 10036 10039 10064 10067 10096 10097 - 10039 10044 10066 10097 - 9822 9923 10072 10098 10210 10212 - 10008 10021 10056 10073 10105 10128 - 10033 10043 10065 10077 10102 10110 - 10040 10050 10062 10080 10095 10101 - 9822 9992 10068 10177 10212 - 10021 10027 10069 10074 10105 10115 - 10027 10032 10073 10079 10115 10116 - 10034 10058 10060 10104 10107 15495 - 10054 10083 10109 15494 - 10043 10048 10070 10081 10110 10113 - 9932 9980 10019 10137 10155 10222 - 10032 10038 10074 10082 10116 10119 - 10050 10058 10071 10101 10112 15495 - 10048 10053 10077 10084 10113 10117 - 10038 10047 10079 10086 10119 10126 - 10054 10062 10076 10095 10109 10118 - 10053 10055 10081 10090 10117 10120 - 10029 10051 10114 10156 10162 15493 - 10047 10052 10082 10093 10126 10129 - 9900 9944 10037 10111 10216 10277 - 9993 10035 10041 10133 10136 10175 - 9968 10019 10035 10136 10155 10188 - 10055 10059 10084 10094 10120 10122 - 9863 9912 10061 10111 10280 10334 - 9998 10006 10041 10133 10135 10174 - 10052 10057 10086 10099 10129 10131 - 10059 10064 10090 10096 10122 10125 - 10062 10071 10083 10101 10118 10127 - 10064 10066 10094 10097 10124 10125 - 10066 10067 10096 10124 - 9923 10025 10068 10152 10208 10210 - 10057 10065 10093 10102 10131 10134 - 10004 10025 10056 10152 10167 15487 15497 - 10071 10080 10095 10112 10127 10132 - 10065 10070 10099 10110 10134 10140 - 8927 9139 9947 10240 10703 10731 - 10060 10075 10107 10114 10130 10146 - 10069 10073 10115 10128 10153 - 8519 8816 10288 10842 10897 15422 - 10075 10104 10121 10130 15495 - 9584 9917 9922 10194 10235 10363 - 10076 10083 10118 10138 - 10070 10077 10102 10113 10140 10144 - 9912 9944 10087 10091 10277 10334 - 10080 10101 10121 10132 10143 15495 - 10077 10081 10110 10117 10144 10147 - 10029 10060 10085 10104 10146 10162 10171 - 10073 10074 10105 10116 10153 10157 - 10074 10079 10115 10119 10157 10158 - 10081 10084 10113 10120 10147 10149 - 10083 10095 10109 10127 10138 10148 - 10079 10082 10116 10126 10158 10159 - 10084 10090 10117 10122 10149 10150 - 10107 10112 10130 10143 10145 15495 - 10090 10094 10120 10125 10150 10154 - 9761 9935 9948 10220 10287 10361 - 10096 10097 10125 10151 - 10094 10096 10122 10124 10151 10154 - 10082 10086 10119 10129 10159 10163 - 10095 10101 10118 10132 10148 15496 - 10056 10069 10105 10153 10167 10196 - 10086 10093 10126 10131 10163 10164 - 10104 10107 10121 10145 10146 - 10093 10099 10129 10134 10164 10166 - 10101 10112 10127 10143 10165 15496 - 10041 10088 10092 10174 10175 10206 - 10099 10102 10131 10140 10166 10169 - 9998 10051 10092 10156 10174 10221 10225 - 10035 10088 10089 10175 10188 10214 - 9980 10020 10078 10190 10222 10299 - 10109 10118 10148 10168 - 9885 9935 10287 10326 10475 15475 - 10102 10110 10134 10144 10169 10172 - 9649 9731 10049 10242 10339 10537 - 9977 10037 10045 10190 10216 10286 - 10112 10121 10132 10145 10165 10170 - 10110 10113 10140 10147 10172 10176 - 10121 10130 10143 10146 10170 10173 - 10104 10114 10130 10145 10171 10173 - 10113 10117 10144 10149 10176 10178 - 10118 10127 10138 10168 10179 15496 - 10117 10120 10147 10150 10178 10181 - 10120 10122 10149 10154 10181 10182 - 10124 10125 10154 10180 - 10025 10098 10100 10208 10217 15497 - 10105 10115 10128 10157 10196 10218 - 10122 10125 10150 10151 10180 10182 - 10019 10078 10089 10188 10222 10257 - 10051 10085 10135 10162 10221 10237 - 10115 10116 10153 10158 10189 10218 - 10116 10119 10157 10159 10186 10189 - 10119 10126 10158 10163 10185 10186 - 9692 9951 9974 10239 10357 10473 - 9748 9970 9999 10351 10407 10414 - 10085 10114 10156 10171 10211 10237 - 10126 10129 10159 10164 10185 10187 - 10129 10131 10163 10166 10187 10191 - 10132 10143 10170 10183 10192 15496 - 10131 10134 10164 10169 10191 10195 - 10056 10100 10128 10196 10263 15497 - 10138 10148 10179 10193 - 10134 10140 10166 10172 10195 10197 - 10143 10145 10165 10173 10192 10200 - 10114 10146 10162 10173 10209 10211 - 10140 10144 10169 10176 10197 10198 - 10145 10146 10170 10171 10200 10209 - 10092 10133 10135 10206 10225 10243 - 10088 10133 10136 10206 10214 10236 - 10144 10147 10172 10178 10198 10202 - 9992 10063 10072 10212 10271 10300 - 10147 10149 10176 10181 10202 10203 - 10148 10168 10183 10193 10205 15496 - 10151 10154 10182 10201 - 10149 10150 10178 10182 10203 10204 - 10150 10154 10180 10181 10201 10204 - 10165 10179 10192 10205 10215 15496 - 9661 9964 10042 10376 10538 - 10159 10163 10186 10187 10213 10219 - 10158 10159 10185 10189 10213 10234 - 10163 10164 10185 10191 10219 10223 - 10089 10136 10155 10214 10257 10262 - 10157 10158 10186 10218 10234 10246 - 10020 10045 10137 10142 10286 10299 10359 - 10164 10166 10187 10195 10223 10226 - 10165 10170 10183 10200 10215 10228 - 10168 10179 10205 10224 - 9922 10049 10108 10339 10363 10488 - 10166 10169 10191 10197 10226 10229 - 10128 10153 10167 10218 10263 10270 - 10169 10172 10195 10198 10229 10231 - 10172 10176 10197 10202 10231 10232 - 8742 8935 9359 10666 10889 11074 - 10170 10173 10192 10209 10228 10241 - 10180 10182 10204 10230 - 10176 10178 10198 10203 10232 10233 - 10178 10181 10202 10204 10233 15498 - 10181 10182 10201 10203 10230 15498 - 10179 10183 10193 10215 10224 10238 - 10133 10174 10175 10236 10243 10258 - 9246 9308 9835 9979 10327 10614 10698 - 10098 10152 10210 10217 10283 10294 - 10171 10173 10200 10211 10241 10249 - 10068 10098 10208 10212 10294 10312 - 10162 10171 10209 10237 10249 10264 - 10068 10072 10177 10210 10300 10312 - 10185 10186 10219 10234 10244 - 10136 10175 10188 10236 10261 10262 - 10183 10192 10205 10228 10238 10245 - 10037 10087 10142 10277 10286 10386 - 10152 10208 10274 10283 15497 - 10153 10157 10189 10196 10246 10270 10278 - 10185 10187 10213 10223 10244 10247 - 9948 10061 10123 10280 10361 10415 - 10135 10156 10225 10237 10265 10268 - 10078 10137 10155 10257 10299 10319 - 10187 10191 10219 10226 10247 10250 - 10193 10205 10238 10248 - 10135 10174 10221 10243 10265 10269 - 10191 10195 10223 10229 10250 10252 - 8856 9604 9840 10518 10568 10710 - 10192 10200 10215 10241 10245 10259 - 10195 10197 10226 10231 10252 10254 - 10201 10204 10251 15498 - 10197 10198 10229 10232 10254 10256 - 10198 10202 10231 10233 10255 10256 - 10202 10203 10232 10253 10255 15498 - 10186 10189 10213 10244 10246 10266 - 9917 9974 10108 10357 10363 10463 - 10175 10206 10214 10258 10261 10267 - 10156 10162 10211 10221 10264 10268 10296 - 10205 10215 10224 10245 10248 10260 - 9951 10063 10160 10271 10439 10473 - 9139 9604 10103 10518 10661 10703 - 10200 10209 10228 10249 10259 10272 - 9731 9809 10141 10293 10537 10570 - 10174 10206 10225 10258 10269 10292 10305 - 10213 10219 10234 10247 10266 10273 - 10215 10228 10238 10259 10260 10275 - 10189 10218 10234 10266 10278 10295 - 10219 10223 10244 10250 10273 10279 - 10224 10238 10260 15499 - 10209 10211 10241 10264 10272 10297 - 10223 10226 10247 10252 10279 10282 - 10230 10253 10276 15498 - 10226 10229 10250 10254 10282 10284 - 10233 10251 10255 10276 10281 15498 - 10229 10231 10252 10256 10284 10285 - 10232 10233 10253 10256 10281 15500 - 10231 10232 10254 10255 10285 15500 - 10155 10188 10222 10262 10309 10319 10323 - 10206 10236 10243 10267 10291 10292 - 10228 10241 10245 10272 10275 10290 - 10238 10245 10248 10275 10289 15499 - 10214 10236 10262 10267 10298 10301 - 10188 10214 10257 10261 10301 10309 - 10167 10196 10270 10274 10340 10353 15497 - 10211 10237 10249 10296 10297 15501 - 10221 10225 10268 10269 10302 10303 - 10234 10244 10246 10273 10295 10304 - 10236 10258 10261 10291 10298 10318 - 10221 10237 10265 10296 10303 10320 - 10225 10243 10265 10302 10305 - 10196 10218 10263 10278 10329 10340 - 10063 10177 10239 10300 10422 10439 - 10241 10249 10259 10290 10297 10314 - 10244 10247 10266 10279 10304 10311 - 10217 10263 10283 10353 10360 15497 - 10245 10259 10260 10289 10290 10308 - 10251 10253 10281 10306 - 10087 10111 10216 10334 10386 10482 - 10218 10246 10270 10295 10329 10330 - 10247 10250 10273 10282 10311 10315 - 10061 10091 10220 10334 10415 15505 - 10253 10255 10276 10306 10310 15500 - 10250 10252 10279 10284 10315 10317 - 10208 10217 10274 10294 10360 10374 - 10252 10254 10282 10285 10316 10317 - 10254 10256 10284 10313 10316 15500 - 10142 10190 10216 10359 10386 10458 - 9935 10123 10139 10361 10475 10496 - 8816 9209 10106 10325 10875 10897 - 10260 10275 10307 10308 10321 15499 - 10259 10272 10275 10308 10314 10324 - 10258 10267 10292 10318 10328 - 10243 10258 10291 10305 10328 10344 - 9809 9970 10242 10407 10570 10621 - 10208 10210 10283 10312 10374 10400 - 10246 10266 10278 10304 10330 10336 - 10237 10264 10268 10320 15501 15502 - 10249 10264 10272 10314 10332 15501 - 10261 10267 10301 10318 10331 - 10137 10190 10222 10319 10359 10409 10426 - 10177 10212 10271 10312 10412 10422 - 10261 10262 10298 10309 10331 10348 - 10265 10269 10303 10305 10354 10355 - 10265 10268 10302 10320 10341 10354 - 10266 10273 10295 10311 10336 10345 - 10243 10269 10292 10302 10344 10355 - 10276 10281 10310 10333 - 10289 10321 10335 15499 - 10275 10289 10290 10321 10324 10337 - 10257 10262 10301 10323 10348 10352 - 10281 10306 10313 10333 10338 15500 - 10273 10279 10304 10315 10345 10350 - 10210 10212 10294 10300 10400 10412 - 10285 10310 10316 10338 10342 15500 - 10272 10290 10297 10324 10332 10346 - 10279 10282 10311 10317 10349 10350 - 10284 10285 10313 10317 10342 10347 - 10282 10284 10315 10316 10347 10349 - 10267 10291 10298 10328 10331 10362 - 10222 10257 10299 10323 10382 10409 - 10268 10296 10303 10341 10364 15502 - 10289 10307 10308 10335 10337 10356 - 9941 9988 10327 10351 10639 10751 - 10257 10309 10319 10352 10382 15503 - 10290 10308 10314 10337 10346 10358 - 9162 9209 9964 10288 10538 10823 10875 - 9885 10046 10139 10393 10475 10644 10677 - 9835 9941 10207 10322 10698 10751 - 10291 10292 10318 10344 10362 10384 - 10270 10278 10330 10340 10383 10395 - 10278 10295 10329 10336 10377 10383 - 10298 10301 10318 10348 10362 10389 - 10297 10314 10346 10365 10367 15501 - 10306 10310 10338 10366 - 10091 10111 10277 10280 10482 10596 15505 - 10307 10321 10356 10368 - 10295 10304 10330 10345 10377 10379 - 10308 10321 10324 10356 10358 10370 - 10310 10313 10333 10342 10366 10372 - 10049 10141 10194 10488 10537 10662 - 10263 10270 10329 10353 10395 10405 - 10303 10320 10354 10364 10381 - 10313 10316 10338 10347 10372 10373 - 9437 9934 9979 10526 10614 10744 - 10292 10305 10328 10355 10384 10397 - 10304 10311 10336 10350 10379 10380 - 10314 10324 10332 10358 10365 10371 - 10316 10317 10342 10349 10373 10375 - 10301 10309 10331 10352 10389 10394 - 10315 10317 10347 10350 10375 10378 - 10311 10315 10345 10349 10378 10380 - 9988 9999 10161 10322 10414 10592 10639 - 10309 10323 10348 10394 15503 - 10263 10274 10340 10360 10405 10424 - 10302 10303 10341 10355 10381 10406 - 10302 10305 10344 10354 10397 10406 - 10321 10335 10337 10368 10370 10388 - 9974 10160 10235 10463 10473 10590 - 10324 10337 10346 10370 10371 10387 - 10190 10286 10299 10426 10458 10494 - 10274 10283 10353 10374 10424 10442 - 10123 10220 10287 10415 10496 10511 - 10318 10328 10331 10384 10389 10435 - 10108 10194 10235 10463 10488 10521 - 10320 10341 10381 10385 10401 15502 - 10332 10346 10367 10371 10390 10391 - 10333 10338 10372 10398 - 10332 10365 10369 10391 10392 15501 - 10335 10356 10388 10402 - 10367 10385 10392 10396 15501 15502 - 10337 10356 10358 10387 10388 15504 - 10346 10358 10365 10387 10390 10399 - 10338 10342 10366 10373 10398 10404 - 10342 10347 10372 10375 10404 10408 - 10283 10294 10360 10400 10442 10468 - 10347 10349 10373 10378 10408 10410 - 10042 10184 10393 10538 10618 - 10330 10336 10379 10383 10418 10425 - 10349 10350 10375 10380 10410 10413 - 10336 10345 10377 10380 10416 10418 - 10345 10350 10378 10379 10413 10416 - 10341 10354 10364 10401 10406 10427 - 10319 10323 10409 10434 10449 15503 - 10329 10330 10377 10395 10425 10430 - 10328 10344 10362 10397 10435 10446 - 10364 10369 10396 10401 10420 15502 - 10216 10277 10286 10458 10482 10559 - 10358 10370 10371 10399 10421 15504 - 10356 10368 10370 10402 10423 15504 - 10331 10348 10362 10394 10435 10451 - 10365 10371 10391 10399 10411 - 10365 10367 10390 10392 10411 10417 - 10367 10369 10391 10396 10417 10419 - 10042 10046 10326 10376 10618 10644 - 10348 10352 10389 10444 10451 15503 - 10329 10340 10383 10405 10430 10452 - 10369 10385 10392 10419 10420 - 10344 10355 10384 10406 10446 10454 - 10366 10372 10404 10429 - 10371 10387 10390 10411 10421 10428 - 10294 10312 10374 10412 10468 10486 - 10364 10381 10385 10420 10427 10440 - 10368 10388 10423 10431 - 8942 9424 9994 10548 10896 10930 - 10372 10373 10398 10408 10429 10433 - 10340 10353 10395 10424 10452 10464 - 10354 10355 10381 10397 10427 10454 10466 - 9970 10161 10293 10414 10621 10625 - 10373 10375 10404 10410 10433 10437 - 10299 10319 10382 10426 10449 10465 - 10375 10378 10408 10413 10437 10438 - 10390 10391 10399 10417 10428 10436 - 10300 10312 10400 10422 10486 10510 - 10378 10380 10410 10416 10438 10443 - 10161 10351 10407 10592 10625 - 10220 10280 10361 10511 10576 15505 - 10379 10380 10413 10418 10443 10447 - 10391 10392 10411 10419 10436 10441 - 10377 10379 10416 10425 10447 10453 - 10392 10396 10417 10420 10441 10445 - 10385 10396 10401 10419 10440 10445 - 10387 10399 10428 10432 10448 15504 - 10271 10300 10412 10439 10510 10555 - 10388 10402 10431 10432 10450 15504 - 10353 10360 10405 10442 10464 10490 - 10377 10383 10418 10430 10453 10457 - 10299 10359 10409 10465 10494 10527 - 10381 10401 10406 10440 10466 10477 - 10399 10411 10421 10436 10448 10456 - 10398 10404 10433 10455 - 10383 10395 10425 10452 10457 10480 - 10402 10423 10450 10459 - 10421 10423 10448 10450 10460 15504 - 10404 10408 10429 10437 10455 10461 - 10382 10444 10449 10493 15503 - 10362 10384 10389 10446 10451 10500 10501 - 10411 10417 10428 10441 10456 10469 - 10408 10410 10433 10438 10461 10467 - 10410 10413 10437 10443 10467 10470 - 10239 10271 10422 10473 10555 10605 - 10401 10420 10427 10445 10477 10485 - 10417 10419 10436 10445 10469 10481 - 10360 10374 10424 10468 10490 10520 - 10413 10416 10438 10447 10470 10472 - 10394 10434 10451 10493 10503 15503 - 10419 10420 10440 10441 10481 10485 - 10384 10397 10435 10454 10500 10504 - 10416 10418 10443 10453 10472 10479 - 10421 10428 10432 10456 10460 10474 - 10382 10409 10434 10465 10493 10515 - 10423 10431 10432 10459 10460 10476 - 10389 10394 10435 10444 10501 10503 - 10395 10405 10430 10464 10480 10497 - 10418 10425 10447 10457 10479 10483 - 10397 10406 10446 10466 10504 10508 - 10429 10433 10461 10484 - 10428 10436 10448 10469 10474 10487 - 10425 10430 10453 10480 10483 10498 - 10286 10359 10386 10494 10559 10579 - 10431 10450 10476 10489 - 10432 10448 10450 10474 10476 10491 - 10433 10437 10455 10467 10484 10492 - 9382 9947 9994 10731 10896 10934 - 10235 10357 10363 10521 10590 10643 - 10405 10424 10452 10490 10497 10550 - 10409 10426 10449 10515 10527 - 10406 10427 10454 10477 10508 10513 - 10437 10438 10461 10470 10492 10495 - 10374 10400 10442 10486 10520 10554 - 10436 10441 10456 10481 10487 10502 - 10438 10443 10467 10472 10495 10499 - 9658 9840 10478 10568 10802 10846 - 10443 10447 10470 10479 10499 10505 - 10160 10239 10357 10439 10590 10605 10727 - 10448 10456 10460 10487 10491 10506 - 10139 10287 10326 10496 10674 10677 - 10450 10459 10460 10489 10491 10507 - 10427 10440 10466 10485 10513 10522 - 9658 9934 10471 10526 10802 10804 - 10447 10453 10472 10483 10505 10509 - 10430 10452 10457 10497 10498 10516 - 10441 10445 10469 10485 10502 10517 - 10277 10334 10386 10559 10596 10671 - 10453 10457 10479 10498 10509 10512 - 10455 10461 10492 10514 - 10440 10445 10477 10481 10517 10522 10532 - 10400 10412 10468 10510 10554 10577 - 10456 10469 10474 10502 10506 10519 - 10194 10339 10363 10521 10662 10664 - 10459 10476 10507 10523 - 10424 10442 10464 10520 10550 10562 - 10460 10474 10476 10506 10507 10524 - 10461 10467 10484 10495 10514 10525 - 10434 10444 10449 10503 10515 10575 10585 - 10359 10426 10458 10527 10579 10609 - 10467 10470 10492 10499 10525 10528 - 10287 10361 10475 10511 10651 10674 - 10452 10464 10480 10516 10550 10552 - 10457 10480 10483 10512 10516 10531 - 10470 10472 10495 10505 10528 10529 - 10435 10446 10501 10504 10540 10543 - 10435 10451 10500 10503 10540 10560 - 10469 10481 10487 10517 10519 10530 - 10444 10451 10493 10501 10560 10575 - 10446 10454 10500 10508 10543 10545 - 10472 10479 10499 10509 10529 10535 - 10474 10487 10491 10519 10524 10533 - 10476 10489 10491 10523 10524 10534 - 10454 10466 10504 10513 10542 10545 - 10479 10483 10505 10512 10535 10536 - 10412 10422 10486 10555 10577 10627 - 10361 10415 10496 10576 10651 - 10483 10498 10509 10531 10536 - 10466 10477 10508 10522 10542 10544 - 10484 10492 10525 10541 - 10449 10465 10493 10527 10585 10602 - 10480 10497 10498 10531 10552 10558 - 10481 10485 10502 10530 10532 10546 - 9604 10227 10240 10661 10710 10854 - 10487 10502 10506 10530 10533 10547 - 10442 10468 10490 10554 10562 10569 - 10363 10463 10488 10643 10664 - 10477 10485 10513 10532 10544 10556 - 10489 10507 10534 10549 - 10491 10506 10507 10533 10534 10551 - 10492 10495 10514 10528 10541 10553 - 9934 10343 10478 10744 10804 - 10426 10465 10494 10515 10602 10609 - 10495 10499 10525 10529 10553 10557 - 10499 10505 10528 10535 10557 10561 - 10502 10517 10519 10546 10547 15506 - 10498 10512 10516 10536 10558 10567 - 10485 10517 10522 10546 10556 10565 - 10506 10519 10524 10547 10551 10563 - 10507 10523 10524 10549 10551 10564 - 10505 10509 10529 10536 10561 10566 - 10509 10512 10531 10535 10566 10567 - 10141 10242 10339 10570 10662 10777 10792 - 9964 10184 10325 10376 10618 10822 10823 - 7332 7379 8166 8722 11903 13752 15544 - 10500 10501 10543 10560 10578 10595 - 10514 10525 10553 10572 - 10508 10513 10544 10545 10586 10593 - 10500 10504 10540 10545 10578 10589 - 10513 10522 10542 10556 10571 10586 - 10504 10508 10542 10543 10589 10593 - 10517 10530 10532 10565 10574 15506 - 10519 10530 10533 10563 10580 15506 - 9424 9719 10403 10573 10930 10975 - 10523 10534 10564 10581 - 10464 10490 10497 10552 10562 10606 10610 - 10524 10533 10534 10563 10564 10582 - 10497 10516 10550 10558 10600 10606 - 10525 10528 10541 10557 10572 10583 - 10468 10486 10520 10569 10577 10608 10638 - 10422 10439 10510 10605 10627 10672 - 10522 10532 10544 10565 10571 10584 - 10528 10529 10553 10561 10583 10587 - 10516 10531 10552 10567 10597 10600 - 10386 10458 10482 10579 10665 10671 - 10501 10503 10540 10575 10595 10617 - 10529 10535 10557 10566 10587 10594 - 10490 10520 10550 10569 10610 10620 - 10533 10547 10551 10580 10582 10601 - 10534 10549 10551 10581 10582 10599 - 10532 10546 10556 10574 10584 10588 - 10535 10536 10561 10567 10594 10598 - 10531 10536 10558 10566 10597 10598 - 9840 10227 10471 10710 10846 10903 - 10520 10554 10562 10608 10620 - 10242 10293 10537 10621 10775 10792 - 10544 10556 10584 10586 10604 - 10541 10553 10583 10607 - 9296 9719 10548 10666 10975 11036 - 10546 10565 10588 10591 10603 15506 - 10493 10503 10560 10585 10617 10637 - 10415 10511 10651 10685 10749 15505 - 10486 10510 10554 10627 10638 10675 - 10540 10543 10589 10595 10622 - 10458 10494 10559 10609 10653 10665 - 10547 10563 10591 10601 10613 15506 - 10549 10564 10599 10612 - 10551 10563 10564 10599 10601 10616 - 10553 10557 10572 10587 10607 10615 - 10556 10565 10571 10588 10604 10611 - 10493 10515 10575 10602 10637 10648 - 10542 10544 10571 10593 10604 10628 - 10557 10561 10583 10594 10615 10619 - 10565 10574 10584 10603 10611 - 10543 10545 10578 10593 10622 10631 - 10357 10463 10473 10643 10727 10747 - 10574 10580 10603 10613 10623 15506 - 10351 10414 10625 10639 10725 10814 - 10542 10545 10586 10589 10628 10631 - 10561 10566 10587 10598 10619 10624 - 10540 10560 10578 10617 10622 10649 - 10334 10482 10671 10685 10738 15505 - 10558 10567 10598 10600 10626 10632 - 10566 10567 10594 10597 10624 10626 - 10564 10581 10582 10612 10616 10629 - 10552 10558 10597 10606 10632 10642 - 10563 10580 10582 10613 10616 10630 - 10515 10527 10585 10609 10648 10660 - 10574 10588 10591 10611 10623 10633 - 10571 10584 10586 10611 10628 10636 - 10439 10473 10555 10672 10727 10739 - 10550 10552 10600 10610 10642 10652 - 10572 10583 10615 10634 - 10554 10569 10620 10638 10669 - 10494 10527 10579 10602 10653 10660 10684 - 10550 10562 10606 10620 10652 10657 - 10584 10588 10603 10604 10633 10636 - 10581 10599 10629 10640 - 10580 10591 10601 10623 10630 10646 - 9979 10207 10343 10698 10744 10917 10939 - 10583 10587 10607 10619 10634 10641 - 10582 10599 10601 10629 10630 10645 - 10560 10575 10595 10637 10649 10676 - 10376 10393 10538 10644 10816 10822 - 10587 10594 10615 10624 10641 10647 - 10562 10569 10608 10610 10657 10669 - 10293 10407 10570 10625 10775 10784 - 10578 10589 10595 10631 10649 10678 - 10591 10603 10613 10633 10646 10656 - 10594 10598 10619 10626 10647 10650 - 10407 10414 10592 10621 10725 10784 - 10597 10598 10624 10632 10650 10655 - 10510 10555 10577 10672 10675 10726 - 10586 10593 10604 10631 10636 10681 10682 - 10599 10612 10616 10640 10645 10654 - 10601 10613 10616 10645 10646 10659 - 10589 10593 10622 10628 10678 10681 - 10597 10600 10626 10642 10655 10668 - 10603 10611 10623 10636 10656 10670 - 10607 10615 10641 10658 - 7178 7911 8355 11933 13535 14090 - 10604 10611 10628 10633 10670 10682 - 10575 10585 10617 10648 10676 10688 - 10554 10577 10608 10669 10675 10704 - 10322 10351 10592 10751 10814 10893 - 10612 10629 10654 10663 - 10615 10619 10634 10647 10658 10667 - 10600 10606 10632 10652 10668 10686 - 10463 10521 10590 10664 10747 10795 - 10326 10393 10618 10677 10816 10859 - 10616 10629 10630 10654 10659 15507 - 10613 10623 10630 10656 10659 10679 - 10619 10624 10641 10650 10667 10673 - 10585 10602 10637 10660 10688 10693 - 10595 10617 10622 10676 10678 10716 - 10624 10626 10647 10655 10673 10680 - 10496 10511 10576 10674 10749 10793 - 10606 10610 10642 10657 10686 10695 - 10579 10609 10665 10684 10709 10713 - 10629 10640 10645 10663 10683 15507 - 10626 10632 10650 10668 10680 10689 - 10623 10633 10646 10670 10679 10694 - 10610 10620 10652 10669 10695 10715 - 10634 10641 10667 10687 - 10630 10645 10646 10679 10691 15507 - 10602 10609 10648 10684 10693 10700 - 10240 10518 10703 10854 10952 - 10339 10488 10537 10664 10761 10777 10844 - 10640 10654 10683 10690 - 10488 10521 10643 10662 10761 10795 - 10559 10579 10653 10671 10709 10743 - 9296 9359 10199 10573 11036 11074 11267 - 10641 10647 10658 10673 10687 10692 - 10632 10642 10655 10686 10689 10699 - 10608 10620 10638 10657 10704 10715 - 10633 10636 10656 10682 10694 10711 - 10482 10559 10596 10665 10738 10743 10788 - 10555 10605 10627 10726 10739 10773 - 10647 10650 10667 10680 10692 10696 - 10475 10496 10651 10677 10793 10843 - 10577 10627 10638 10704 10726 10748 - 10617 10637 10649 10688 10716 10721 - 10326 10475 10644 10674 10843 10859 - 10622 10631 10649 10681 10716 10735 - 10646 10656 10659 10691 10694 10705 - 10650 10655 10673 10689 10696 10701 - 10628 10631 10678 10682 10720 10735 - 10628 10636 10670 10681 10711 10720 - 10654 10663 10690 10697 10702 15507 - 10609 10653 10660 10700 10713 10733 - 10576 10596 10738 10749 10818 15505 - 10642 10652 10668 10695 10699 10717 - 10658 10667 10692 10706 - 10637 10648 10676 10693 10721 10729 - 10655 10668 10680 10699 10701 10707 - 10663 10683 10702 10708 - 10659 10679 10697 10705 10714 15507 - 10667 10673 10687 10696 10706 10712 - 10648 10660 10688 10700 10729 10734 - 10656 10670 10679 10705 10711 15508 - 10652 10657 10686 10715 10717 10740 - 10673 10680 10692 10701 10712 10718 - 10683 10691 10702 10714 10719 15507 - 10207 10327 10614 10751 10939 10958 - 10668 10686 10689 10707 10717 10724 - 10660 10684 10693 10733 10734 - 10680 10689 10696 10707 10718 10723 - 10683 10690 10697 10708 10719 10722 - 10103 10240 10661 10731 10952 11019 - 10638 10669 10675 10715 10748 10764 - 10679 10691 10694 10714 10732 15508 - 10687 10692 10712 10728 - 10689 10699 10701 10723 10724 - 10690 10702 10722 10730 - 10653 10665 10713 10743 10750 - 10227 10518 10568 10854 10903 10984 - 10670 10682 10694 10720 10754 10758 15508 - 10692 10696 10706 10718 10728 10737 - 10653 10684 10709 10733 10750 10768 - 10691 10697 10705 10719 10732 10736 - 10657 10669 10695 10704 10740 10764 10785 - 10649 10676 10678 10721 10735 10769 10781 - 10686 10695 10699 10724 10740 10745 10763 - 10696 10701 10712 10723 10737 10741 - 10697 10702 10714 10722 10736 15509 - 10681 10682 10711 10735 10758 10774 - 10676 10688 10716 10729 10769 10772 - 10702 10708 10719 10730 10746 15509 - 10701 10707 10718 10724 10741 10742 - 10699 10707 10717 10723 10742 10745 - 10592 10625 10784 10814 10907 - 10627 10672 10675 10748 10773 10827 - 10473 10590 10605 10739 10747 10840 10862 - 10706 10712 10737 10753 - 10688 10693 10721 10734 10770 10772 - 10708 10722 10746 10756 - 9947 10103 10462 10703 10934 11019 11072 - 10705 10714 10736 10755 10757 15508 - 10684 10700 10713 10734 10768 10779 - 10693 10700 10729 10733 10770 10779 - 10678 10681 10716 10720 10774 10781 10798 - 10714 10719 10732 10757 10759 15509 - 10712 10718 10728 10741 10753 10760 - 10596 10671 10685 10788 10818 15511 - 10605 10672 10727 10773 10840 10852 - 10695 10715 10717 10763 10785 10796 - 10718 10723 10737 10742 10760 10765 - 10723 10724 10741 10745 10762 10765 - 10665 10671 10709 10750 10788 10820 10853 - 10343 10526 10614 10804 10917 10961 - 10717 10724 10742 10762 10763 10783 - 10722 10730 10756 10766 10771 15509 - 10590 10643 10727 10795 10862 10887 - 10675 10704 10726 10764 10827 10829 - 10576 10651 10685 10793 10818 10908 - 10709 10713 10743 10768 10820 - 10322 10327 10639 10698 10893 10958 10990 - 7248 7709 8151 12039 12141 13965 - 10728 10737 10760 10782 - 10711 10755 10758 10786 10789 15508 - 10732 10754 10757 10776 10786 15508 - 10730 10746 10771 10780 - 10732 10736 10755 10759 10776 10778 - 10711 10720 10754 10774 10789 10799 - 10736 10757 10766 10778 10787 15509 - 10737 10741 10753 10765 10782 10790 - 10662 10664 10795 10844 10921 - 10742 10745 10765 10783 10791 - 10717 10740 10745 10783 10796 10805 - 10704 10715 10748 10785 10829 10832 - 10741 10742 10760 10762 10790 10791 - 10746 10759 10771 10787 10794 15509 - 7455 8151 8166 12039 15544 15579 - 10713 10733 10750 10779 10820 10861 - 10716 10721 10772 10781 10811 10821 - 10729 10734 10772 10779 10847 15510 - 10746 10756 10766 10780 10794 10801 - 10721 10729 10769 10770 10811 15510 - 10672 10726 10739 10827 10852 10870 - 10720 10735 10758 10798 10799 10809 - 10570 10621 10784 10792 10911 10936 - 10755 10757 10778 10786 10797 10800 - 10537 10662 10792 10844 10937 10945 - 10757 10759 10776 10787 10797 10803 - 10733 10734 10768 10770 10847 10861 - 10756 10771 10801 10806 - 10716 10735 10769 10798 10821 10831 - 10753 10760 10790 10808 - 10745 10762 10763 10791 10805 10812 - 10621 10625 10725 10775 10907 10911 - 10715 10740 10764 10796 10832 10834 - 10754 10755 10776 10789 10800 10807 - 10759 10766 10778 10794 10803 10810 - 10671 10738 10743 10853 10883 15511 - 10754 10758 10786 10799 10807 10813 - 10760 10765 10782 10791 10808 10815 - 10762 10765 10783 10790 10812 10815 - 10537 10570 10775 10777 10936 10945 - 10651 10674 10749 10843 10908 10951 - 10766 10771 10787 10801 10810 10819 - 10643 10664 10747 10761 10887 10921 10944 - 10740 10763 10785 10805 10834 10839 - 10776 10778 10800 10803 10817 - 10735 10774 10781 10809 10830 10831 - 10758 10774 10789 10809 10813 10826 - 10776 10786 10797 10807 10817 10824 - 10771 10780 10794 10806 10819 10825 - 10471 10478 10804 10846 11012 11014 - 10778 10787 10797 10810 10817 10828 - 10478 10526 10744 10802 10961 11014 - 10763 10783 10796 10812 10839 10845 - 10780 10801 10825 10833 - 10786 10789 10800 10813 10824 10835 - 10782 10790 10815 10836 - 10774 10798 10799 10826 10830 10838 - 10787 10794 10803 10819 10828 10837 - 10769 10772 10821 10850 10873 15510 - 10783 10791 10805 10815 10845 10848 - 10789 10799 10807 10826 10835 10849 - 10592 10639 10725 10893 10907 10988 - 10790 10791 10808 10812 10836 10848 - 10618 10644 10822 10859 10981 11007 - 10797 10800 10803 10824 10828 10841 - 10685 10738 10749 10908 15511 15514 - 10794 10801 10810 10825 10837 10851 - 10743 10750 10768 10853 10861 10900 - 10769 10781 10811 10831 10850 10864 - 10538 10618 10816 10823 10981 11010 - 10325 10538 10822 10875 11010 11076 - 10800 10807 10817 10835 10841 10855 - 10801 10806 10819 10833 10851 10860 - 10799 10809 10813 10838 10849 10863 - 10726 10748 10773 10829 10870 10891 10904 - 10803 10810 10817 10837 10841 10856 - 10748 10764 10827 10832 10885 10891 - 10798 10809 10831 10838 10858 - 10781 10798 10821 10830 10858 10864 10874 - 10764 10785 10829 10834 10881 10885 - 10806 10825 10860 10866 - 10785 10796 10832 10839 10880 10881 - 10807 10813 10824 10849 10855 10867 - 10808 10815 10848 10872 - 10810 10819 10828 10851 10856 10868 - 10809 10826 10830 10858 10863 10871 - 10796 10805 10834 10845 10879 10880 - 10727 10739 10852 10862 10920 10932 - 10817 10824 10828 10855 10856 10869 - 10106 10865 10897 11294 11322 15422 - 10674 10677 10793 10859 10951 10999 - 10662 10761 10777 10921 10937 10966 - 10805 10812 10839 10848 10877 10879 - 10471 10568 10802 10903 11012 11049 - 10770 10779 10861 10873 10914 15510 - 10812 10815 10836 10845 10872 10877 - 10813 10826 10835 10863 10867 10876 - 10811 10821 10864 10873 10892 - 10819 10825 10837 10860 10868 15512 - 10739 10773 10840 10870 10920 15513 - 10743 10788 10820 10883 10900 10928 - 10518 10661 10710 10952 10984 11070 - 10824 10835 10841 10867 10869 10878 - 10828 10837 10841 10868 10869 10884 - 7730 7911 11227 11933 13414 - 10830 10831 10838 10871 10874 10882 - 10644 10677 10816 10843 10999 11007 - 10825 10833 10851 10866 10888 15512 - 10768 10779 10820 10847 10900 10914 10954 - 10727 10747 10840 10887 10932 10950 - 10826 10838 10849 10871 10876 10890 - 10821 10831 10850 10874 10892 10905 - 9305 10842 11175 11322 15422 - 10833 10860 10888 10895 - 10835 10849 10855 10876 10878 10886 - 10837 10851 10856 10884 10898 15512 - 10841 10855 10856 10878 10884 10894 - 10773 10827 10852 10904 10931 15513 - 10838 10858 10863 10882 10890 10899 - 10836 10848 10877 10906 - 10811 10847 10850 10892 10914 10933 15510 - 10831 10858 10864 10882 10905 10909 - 10288 10325 10823 10897 11076 11198 - 10849 10863 10867 10886 10890 10902 - 10845 10848 10872 10879 10906 10913 - 10855 10867 10869 10886 10894 10901 - 10839 10845 10877 10880 10913 10915 - 10834 10839 10879 10881 10915 10918 - 10832 10834 10880 10885 10918 10922 - 10858 10871 10874 10899 10909 - 10788 10853 10928 10943 15511 - 10856 10868 10869 10894 10898 10912 - 10829 10832 10881 10891 10922 10925 - 10867 10876 10878 10901 10902 - 10747 10795 10862 10944 10950 10979 - 10860 10866 10895 10910 10919 15512 - 8935 9066 10199 10971 11074 11573 11578 - 10863 10871 10876 10899 10902 10916 - 10827 10829 10885 10904 10925 10935 - 10850 10864 10873 10905 10933 10942 - 10639 10751 10814 10988 10990 11048 - 10869 10878 10884 10901 10912 10923 - 10866 10888 10919 10924 - 9994 10403 10462 10930 10934 11179 11182 - 10106 10288 10842 10875 11198 11294 - 10868 10884 10910 10912 10927 15512 - 10871 10882 10890 10909 10916 10929 - 10820 10853 10861 10928 10954 10996 - 10878 10886 10894 10902 10923 10926 - 10876 10886 10890 10901 10916 10926 - 10568 10710 10846 10984 11049 11092 - 10827 10870 10891 10931 10935 10955 - 10864 10874 10892 10909 10940 10942 - 10872 10877 10913 10938 - 10725 10784 10814 10911 10988 11045 - 10749 10793 10818 10951 11025 11029 15514 - 10874 10882 10899 10905 10929 10940 - 10888 10898 10919 10927 10941 15512 - 10775 10784 10907 10936 11035 11045 - 10884 10894 10898 10923 10927 10948 - 10877 10879 10906 10915 10938 10947 - 10847 10861 10873 10933 10954 10983 - 10879 10880 10913 10918 10947 10953 - 10890 10899 10902 10926 10929 10959 - 10614 10744 10939 10961 11091 11097 - 10880 10881 10915 10922 10953 10957 - 10888 10895 10910 10924 10941 10949 - 10840 10852 10932 10969 10985 15513 - 10761 10795 10844 10944 10966 11001 - 10881 10885 10918 10925 10957 10960 - 10894 10901 10912 10926 10948 10963 - 10895 10919 10949 10956 - 10885 10891 10922 10935 10960 10962 - 10901 10902 10916 10923 10959 10963 - 10898 10910 10912 10941 10948 10965 - 10853 10883 10900 10943 10996 11005 - 10899 10909 10916 10940 10959 10970 - 10403 10548 10896 10975 11182 11215 - 10870 10904 10955 10964 10967 15513 - 10840 10862 10920 10950 10985 10997 - 10873 10892 10914 10942 10983 10991 - 10462 10731 10896 11072 11179 11204 - 10891 10904 10925 10955 10962 10968 - 10775 10792 10911 10945 11035 11040 - 10777 10844 10945 10966 11027 11047 - 10906 10913 10947 10972 - 10614 10698 10917 10958 11091 11131 - 10905 10909 10929 10942 10970 10986 - 10910 10919 10927 10949 10965 10973 - 10892 10905 10933 10940 10986 10991 - 10883 10928 11005 11015 15511 15514 - 10795 10887 10921 10979 11001 11026 - 10777 10792 10936 10937 11040 11047 - 8358 9305 9530 11175 11492 11859 - 10913 10915 10938 10953 10972 10977 - 10912 10923 10927 10963 10965 10982 - 10919 10924 10941 10956 10973 10974 - 10862 10887 10932 10979 10997 11020 - 10793 10843 10908 10999 11025 11065 - 10661 10703 10854 11019 11070 11149 - 10915 10918 10947 10957 10977 10980 - 10861 10900 10914 10983 10996 11039 - 10904 10931 10935 10964 10968 10976 - 10924 10949 10974 10978 - 10918 10922 10953 10960 10980 10987 - 10698 10751 10939 10990 11095 11131 - 10916 10926 10929 10963 10970 10995 - 10922 10925 10957 10962 10987 10992 - 10744 10804 10917 11014 11097 11102 - 10925 10935 10960 10968 10989 10992 - 10923 10926 10948 10959 10982 10995 11008 - 10931 10955 10967 10976 10993 - 10927 10941 10948 10973 10982 10998 - 10844 10921 10937 11001 11027 11052 - 10931 10964 10969 10993 11002 15513 - 10935 10955 10962 10976 10989 10994 - 10920 10967 10985 11002 11043 15513 - 10929 10940 10959 10986 10995 11022 - 8918 9066 10889 11034 11578 11733 - 10938 10947 10977 11004 - 10941 10949 10965 10974 10998 11000 - 10949 10956 10973 10978 11000 11006 - 10548 10573 10930 11036 11215 11271 - 10955 10964 10968 10993 10994 11003 - 10947 10953 10972 10980 11004 11013 - 10956 10974 11006 11009 - 10887 10944 10950 11020 11026 11059 - 10953 10957 10977 10987 11013 11016 - 10816 10822 11007 11010 11139 11158 - 10948 10963 10965 10998 11008 11021 - 10914 10933 10954 10991 11039 11042 - 10710 10854 10903 11070 11092 11176 - 10920 10932 10969 10997 11043 11044 - 10940 10942 10970 10991 11022 11030 - 10957 10960 10980 10992 11016 11018 - 10814 10893 10907 11045 11048 11120 - 10962 10968 10992 10994 11011 11017 - 10751 10893 10958 11048 11095 11121 - 10933 10942 10983 10986 11030 11042 - 10960 10962 10987 10989 11017 11018 - 10964 10967 10976 11002 11003 11023 - 10968 10976 10989 11003 11011 - 10959 10963 10970 11008 11022 11033 - 10900 10928 10954 11005 11039 11071 11103 - 10932 10950 10985 11020 11044 11058 - 10965 10973 10982 11000 11021 11024 - 10843 10859 10951 11007 11065 11141 - 10973 10974 10998 11006 11024 11031 - 10921 10944 10966 11026 11052 11062 - 10967 10969 10993 11023 11043 11057 - 10976 10993 10994 11011 11023 11032 - 10972 10977 11013 11046 - 10928 10943 10996 11015 11068 11071 - 10974 10978 11000 11009 11031 11038 - 10816 10859 10981 10999 11141 11158 - 10963 10982 10995 11021 11033 11056 - 10978 11006 11038 11041 - 10822 10823 10981 11076 11139 11180 - 10989 10994 11003 11017 11032 11050 - 10802 10846 11014 11049 11125 11157 - 10977 10980 11004 11016 11046 11053 - 10802 10804 10961 11012 11102 11125 11132 - 10943 11005 11029 11068 11093 15514 - 10980 10987 11013 11018 11053 11055 - 10989 10992 11011 11018 11050 11054 - 10987 10992 11016 11017 11054 11055 - 10703 10731 10952 11072 11149 11239 - 10950 10979 10997 11058 11059 11080 - 10982 10998 11008 11024 11056 11060 - 10970 10986 10995 11030 11033 11075 11078 - 10993 11002 11003 11032 11057 11063 - 10998 11000 11021 11031 11060 11061 - 10908 10951 11029 11065 11122 11136 - 10944 10979 11001 11059 11062 11085 - 10937 10966 11047 11052 11108 11109 - 8118 8472 11079 11137 12969 13265 - 10908 11015 11025 11093 11122 15514 - 10986 10991 11022 11042 11075 11086 - 11000 11006 11024 11038 11061 11064 - 11003 11011 11023 11050 11063 11069 - 10995 11008 11022 11056 11078 11083 - 8739 8918 10971 11079 11733 12178 - 10911 10936 11040 11045 11142 11150 - 10573 10666 10975 11267 11271 11445 - 8108 8722 9530 11492 11903 13212 - 11006 11009 11031 11041 11064 11067 - 10954 10983 10996 11042 11101 11103 - 10936 10945 11035 11047 11115 11150 - 11009 11038 11066 11067 - 10983 10991 11030 11039 11086 11101 - 10969 10985 11002 11044 11057 11084 11090 - 10985 10997 11043 11058 11084 11088 - 10907 10911 10988 11035 11120 11142 11184 - 11004 11013 11053 11073 - 10937 10945 11027 11040 11109 11115 - 10893 10988 10990 11120 11121 11145 - 10846 10903 11012 11092 11157 11206 - 11011 11017 11032 11054 11069 11077 - 5293 6549 7003 14806 14945 15040 - 10966 11001 11027 11062 11106 11108 - 11013 11016 11046 11055 11073 11081 - 11017 11018 11050 11055 11077 11082 - 11016 11018 11053 11054 11081 11082 - 11008 11021 11033 11060 11083 11087 - 11002 11023 11043 11063 11090 11099 - 10997 11020 11044 11080 11088 11107 - 10979 11020 11026 11080 11085 11105 - 11021 11024 11056 11061 11087 11089 - 11024 11031 11060 11064 11089 11094 - 11001 11026 11052 11085 11106 11124 - 11023 11032 11057 11069 11099 11104 - 11031 11038 11061 11067 11094 11098 - 10951 10999 11025 11136 11141 11188 - 11041 11067 11096 11100 - 11038 11041 11064 11066 11098 11100 - 11005 11015 11071 11093 11165 - 11032 11050 11063 11077 11104 11110 - 10854 10952 10984 11149 11176 11304 - 10996 11005 11068 11103 11165 11169 - 10731 10934 11019 11204 11239 11302 - 11046 11053 11081 11112 - 10199 10666 10889 11267 11573 11599 - 11022 11030 11078 11086 11113 11118 - 10823 10875 11010 11180 11198 11337 - 11050 11054 11069 11082 11110 11114 - 11022 11033 11075 11083 11111 11113 - 8118 8739 11028 11034 12178 12969 - 11020 11058 11059 11105 11107 11128 - 11053 11055 11073 11082 11112 11116 - 11054 11055 11077 11081 11114 11116 - 11033 11056 11078 11087 11111 11119 - 11043 11044 11088 11090 11126 11130 - 11026 11059 11062 11105 11124 11144 - 11030 11042 11075 11101 11118 11148 - 11056 11060 11083 11089 11117 11119 - 11044 11058 11084 11107 11123 11126 - 11060 11061 11087 11094 11117 11127 - 11043 11057 11084 11099 11130 11138 - 10917 10939 11097 11131 11216 11238 - 10903 10984 11049 11176 11206 11273 - 11015 11029 11068 11122 11165 11212 - 11061 11064 11089 11098 11127 11133 - 10958 10990 11121 11131 11200 11220 - 11066 11100 11129 11134 - 10917 10961 11091 11102 11216 11222 11249 - 11064 11067 11094 11100 11133 11135 - 11057 11063 11090 11104 11138 11143 - 11066 11067 11096 11098 11134 11135 - 11039 11042 11086 11103 11148 11183 - 10961 11014 11097 11132 11195 11222 - 10996 11039 11071 11101 11169 11183 - 11063 11069 11099 11110 11143 11147 - 11059 11080 11085 11128 11144 11160 - 11052 11062 11108 11124 11185 11186 - 11058 11080 11088 11123 11128 11151 - 11027 11052 11106 11109 11171 11185 - 11027 11047 11108 11115 11171 11178 - 11069 11077 11104 11114 11147 11153 - 11078 11083 11113 11119 11140 11146 - 11073 11081 11116 11155 - 11075 11078 11111 11118 11146 11152 - 11077 11082 11110 11116 11153 11156 - 11040 11047 11109 11150 11178 11190 - 11081 11082 11112 11114 11155 11156 - 11087 11089 11119 11127 11154 11159 - 11075 11086 11113 11148 11152 11172 - 11083 11087 11111 11117 11140 11154 - 10988 11045 11048 11145 11184 11211 11243 - 10990 11048 11095 11145 11200 11218 - 11025 11029 11093 11136 11212 11225 - 11088 11107 11126 11151 11162 - 11062 11085 11106 11144 11186 11191 - 11012 11014 11132 11157 11224 11254 - 11084 11088 11123 11130 11162 11163 - 11089 11094 11117 11133 11159 11166 - 11080 11105 11107 11151 11160 11174 - 11096 11134 11161 11164 - 11084 11090 11126 11138 11163 11168 - 10939 10958 11091 11095 11220 11238 11291 - 11014 11102 11125 11195 11224 - 11094 11098 11127 11135 11166 11170 - 11096 11100 11129 11135 11164 11167 - 11098 11100 11133 11134 11167 11170 - 11025 11065 11122 11188 11225 - 8472 8881 11028 11227 13265 13426 - 11090 11099 11130 11143 11168 11177 - 10981 11010 11158 11180 11310 11348 - 11111 11119 11146 11154 11173 - 10999 11007 11065 11158 11188 11316 - 11035 11045 11150 11184 11240 11261 - 11099 11104 11138 11147 11177 11181 - 11085 11105 11124 11160 11191 11201 - 11048 11120 11121 11211 11218 11234 - 11111 11113 11140 11152 11173 11193 - 11104 11110 11143 11153 11181 11187 - 11086 11101 11118 11172 11183 11213 - 10952 11019 11070 11239 11304 11355 - 11035 11040 11115 11142 11190 11240 11247 - 11107 11123 11128 11162 11174 15515 - 11113 11118 11146 11172 11193 11196 - 11110 11114 11147 11156 11187 11192 - 11117 11119 11140 11159 11173 11189 - 11112 11116 11156 15516 - 11114 11116 11153 11155 11192 15516 - 11012 11049 11125 11206 11254 11314 - 10981 11007 11139 11141 11316 11348 - 11117 11127 11154 11166 11189 11203 - 11105 11128 11144 11174 11201 11209 - 11129 11164 11194 11199 - 11123 11126 11151 11163 11197 15515 - 11126 11130 11162 11168 11197 11205 - 11129 11134 11161 11167 11199 11202 - 11068 11071 11093 11169 11212 11260 - 11127 11133 11159 11170 11203 11208 - 11134 11135 11164 11170 11202 11207 - 11130 11138 11163 11177 11205 11210 - 11071 11103 11165 11183 11260 11264 - 11133 11135 11166 11167 11207 11208 - 11108 11109 11178 11185 11226 11232 - 11118 11148 11152 11196 11213 - 11140 11146 11154 11189 11193 11233 - 11128 11151 11160 11209 11217 15515 - 9305 10865 10946 11322 11859 12320 - 10984 11070 11092 11273 11304 11365 - 11138 11143 11168 11181 11210 11214 - 11109 11115 11171 11190 11219 11232 - 10896 10934 11182 11204 11407 11410 - 11010 11076 11139 11310 11337 - 11143 11147 11177 11187 11214 11221 - 10896 10930 11179 11215 11407 11462 - 11101 11103 11148 11169 11213 11255 11264 - 11045 11120 11142 11243 11261 11289 - 11106 11108 11171 11186 11226 11230 11237 - 11106 11124 11185 11191 11230 11236 - 11147 11153 11181 11192 11221 11228 - 11065 11136 11141 11225 11316 11353 - 11154 11159 11173 11203 11233 11245 - 11115 11150 11178 11219 11247 11263 - 11124 11144 11186 11201 11236 11244 - 11153 11156 11187 11228 11231 15516 - 11146 11152 11173 11196 11233 11246 - 11161 11199 11223 11235 - 11102 11132 11222 11224 11287 - 11152 11172 11193 11213 11246 11256 - 11162 11163 11205 11229 11242 15515 - 10875 10897 11076 11294 11337 11621 - 11161 11164 11194 11202 11235 11241 - 11095 11121 11218 11220 11280 11312 - 11144 11160 11191 11209 11244 11252 - 11164 11167 11199 11207 11241 11248 - 11159 11166 11189 11208 11245 11253 - 10934 11072 11179 11302 11410 11426 - 11163 11168 11197 11210 11242 11251 - 11049 11092 11157 11273 11314 11372 - 11167 11170 11202 11208 11248 11250 - 11166 11170 11203 11207 11250 11253 - 11160 11174 11201 11217 11252 11258 - 11168 11177 11205 11214 11251 11257 - 11120 11145 11234 11243 11295 11297 - 11093 11122 11165 11225 11260 11364 11375 - 11148 11172 11183 11196 11255 11256 11266 - 11177 11181 11210 11221 11257 11265 - 10930 10975 11182 11271 11462 11500 - 11091 11097 11238 11249 11323 11335 - 11174 11209 11229 11258 11269 15515 - 11121 11145 11200 11234 11280 11286 - 11178 11190 11232 11263 11281 - 11095 11131 11200 11291 11312 11354 - 11181 11187 11214 11228 11265 11272 - 11097 11102 11195 11249 11287 11334 - 11194 11235 11259 11270 - 11125 11132 11195 11254 11287 11347 - 11122 11136 11188 11212 11353 11364 - 11171 11185 11232 11237 11274 11282 - 7730 8881 10857 11137 13414 13426 - 11187 11192 11221 11231 11272 11275 - 11197 11217 11242 11269 11278 15515 - 11185 11186 11236 11237 11262 11268 - 11192 11228 11275 15516 - 11171 11178 11219 11226 11281 11282 - 11173 11189 11193 11245 11246 11298 11306 - 11145 11211 11218 11286 11297 - 11194 11199 11223 11241 11270 11277 - 11186 11191 11230 11244 11268 11276 - 11185 11226 11230 11262 11274 - 11091 11131 11216 11291 11335 11373 - 11019 11072 11149 11302 11355 11443 - 11142 11150 11247 11261 11327 11339 - 11199 11202 11235 11248 11277 11279 - 11197 11205 11229 11251 11278 11283 - 11120 11184 11211 11289 11295 11308 - 11191 11201 11236 11252 11276 11285 - 11189 11203 11233 11253 11301 11306 - 11193 11196 11233 11256 11296 11298 - 11150 11190 11240 11263 11325 11327 - 11202 11207 11241 11250 11279 11284 - 11097 11216 11222 11323 11334 11382 - 11207 11208 11248 11253 11284 11290 - 11205 11210 11242 11257 11283 11293 - 11201 11209 11244 11258 11285 11300 - 11203 11208 11245 11250 11290 11301 - 11125 11157 11224 11314 11347 11389 - 11183 11213 11264 11266 11303 15517 - 11196 11213 11246 11266 11288 11296 - 11210 11214 11251 11265 11293 11305 - 11209 11217 11252 11269 11300 11311 - 11223 11270 11292 11307 - 11165 11169 11212 11264 11375 11385 - 11142 11184 11240 11289 11339 11362 - 11230 11237 11268 11274 11309 - 11190 11219 11247 11281 11325 11331 - 11169 11183 11255 11260 11385 15517 - 11214 11221 11257 11272 11305 11313 - 11213 11255 11256 11288 11303 11320 - 10666 11036 11074 11445 11599 11664 - 11230 11236 11262 11276 11309 11318 - 11217 11229 11258 11278 11311 11317 - 11223 11235 11259 11277 11307 11315 - 10975 11036 11215 11445 11500 11630 - 11221 11228 11265 11275 11313 11319 - 11092 11176 11206 11365 11372 11434 - 11226 11237 11262 11282 11309 11338 - 11228 11231 11272 11319 - 11236 11244 11268 11285 11318 11328 - 11235 11241 11270 11279 11315 11321 - 11229 11242 11269 11283 11317 11324 - 11241 11248 11277 11284 11321 11326 - 11200 11218 11286 11312 11358 11381 - 11219 11232 11263 11282 11331 11341 - 11226 11232 11274 11281 11338 11341 - 11242 11251 11278 11293 11324 11333 - 11248 11250 11279 11290 11326 11332 - 11244 11252 11276 11300 11328 11336 - 11218 11234 11280 11297 11346 11358 - 11195 11222 11224 11334 11347 11405 - 11256 11266 11296 11320 11329 - 11184 11243 11261 11308 11362 11367 - 11250 11253 11284 11301 11332 11344 - 11131 11220 11238 11354 11373 11412 - 11259 11307 11330 11340 - 11251 11257 11283 11305 11333 11343 - 10842 10897 11198 11322 11621 11962 - 11211 11243 11297 11308 11351 11359 - 11246 11256 11288 11298 11329 11342 - 11211 11234 11286 11295 11346 11351 - 11233 11246 11296 11306 11342 11360 - 6494 6562 8232 13260 14955 15024 - 11252 11258 11285 11311 11336 11345 - 11245 11253 11290 11306 11344 11357 - 11072 11204 11239 11426 11443 11506 - 11255 11266 11320 11349 15517 - 11070 11149 11176 11355 11365 11491 11514 - 11257 11265 11293 11313 11343 11352 - 11233 11245 11298 11301 11357 11360 11383 - 11259 11270 11292 11315 11340 11350 - 11243 11289 11295 11359 11367 - 11262 11268 11274 11318 11338 11374 11390 - 11139 11180 11337 11348 11556 11680 - 11258 11269 11300 11317 11345 11356 - 11200 11220 11280 11354 11381 11411 - 11265 11272 11305 11319 11352 11361 - 11157 11206 11254 11372 11389 11498 - 11270 11277 11307 11321 11350 11363 - 11141 11158 11188 11348 11353 11520 11534 - 11269 11278 11311 11324 11356 11366 - 11268 11276 11309 11328 11371 11374 - 11272 11275 11313 11361 - 11266 11288 11303 11329 11349 11368 - 11277 11279 11315 11326 11363 11370 - 10842 10865 11175 11294 11962 12320 - 11216 11249 11335 11382 11404 - 11278 11283 11317 11333 11366 11377 - 11247 11263 11327 11331 11397 11408 - 11279 11284 11321 11332 11370 11376 - 11240 11247 11325 11339 11408 11423 - 11276 11285 11318 11336 11371 11379 - 11288 11296 11320 11342 11368 11378 - 11292 11340 11369 11380 - 11263 11281 11325 11341 11396 11397 - 11284 11290 11326 11344 11376 11384 - 11283 11293 11324 11343 11377 11386 - 11222 11249 11287 11382 11405 11437 - 11216 11238 11323 11373 11404 11438 - 11285 11300 11328 11345 11379 11387 - 11076 11180 11198 11310 11621 11680 - 11274 11282 11309 11341 11390 11403 11406 - 11240 11261 11327 11362 11423 11441 - 11292 11307 11330 11350 11380 11391 - 11281 11282 11331 11338 11396 11406 - 11296 11298 11329 11360 11378 11395 - 11293 11305 11333 11352 11386 11394 - 11290 11301 11332 11357 11384 11388 - 11300 11311 11336 11356 11387 11393 - 11286 11297 11351 11358 11392 11421 - 11224 11254 11287 11389 11405 11485 - 11139 11158 11310 11316 11534 11556 - 11303 11320 11368 11398 11427 15517 - 11307 11315 11340 11363 11391 11399 - 11295 11297 11346 11359 11392 11422 - 11305 11313 11343 11361 11394 11401 - 11188 11225 11316 11364 11518 11520 - 11220 11291 11312 11411 11412 11458 - 11149 11239 11304 11443 11491 11545 - 11311 11317 11345 11366 11393 11402 - 11301 11306 11344 11383 11388 11416 - 11280 11286 11346 11381 11421 11447 - 11295 11308 11351 11367 11422 11431 - 11298 11306 11342 11383 11395 11414 - 11313 11319 11352 11401 - 11261 11289 11339 11367 11440 11441 - 11315 11321 11350 11370 11399 11409 - 11212 11225 11353 11375 11518 15519 - 11176 11273 11304 11434 11514 11548 - 11317 11324 11356 11377 11402 11415 - 11289 11308 11359 11362 11431 11440 - 11320 11329 11349 11378 11398 11413 - 11330 11380 11400 11417 - 11321 11326 11363 11376 11409 11419 - 11318 11328 11374 11379 11418 11420 - 11206 11273 11314 11434 11498 11531 - 11238 11291 11335 11412 11438 11472 - 11309 11318 11371 11390 11418 11430 - 11212 11260 11364 11385 11508 15519 - 11326 11332 11370 11384 11419 11425 - 11324 11333 11366 11386 11415 11429 - 11329 11342 11368 11395 11413 11432 - 11328 11336 11371 11387 11420 11428 - 11330 11340 11369 11391 11417 11433 - 11280 11312 11358 11411 11447 11489 - 11249 11323 11334 11404 11437 11473 - 11306 11357 11360 11414 11416 15518 - 11332 11344 11376 11388 11424 11425 - 11260 11264 11375 11427 11508 11513 15517 - 11333 11343 11377 11394 11429 11436 - 11336 11345 11379 11393 11428 11435 - 11344 11357 11384 11416 11424 - 11254 11314 11347 11485 11498 11538 - 11309 11338 11374 11403 11430 11442 - 11340 11350 11380 11399 11433 11444 - 11346 11351 11421 11422 11455 - 11345 11356 11387 11402 11435 11448 - 11343 11352 11386 11401 11436 11449 - 11342 11360 11378 11414 11432 11446 - 11331 11341 11397 11406 11456 11466 - 11325 11331 11396 11408 11466 11481 - 11349 11368 11413 11427 11451 - 11350 11363 11391 11409 11444 11453 - 11369 11417 11439 11452 - 11352 11361 11394 11449 - 11356 11366 11393 11415 11448 11454 - 11338 11390 11406 11442 11450 - 11323 11335 11382 11438 11473 11510 - 11287 11334 11347 11437 11485 11551 - 11338 11341 11396 11403 11450 11456 - 11179 11182 11410 11462 11583 11730 - 11325 11327 11397 11423 11481 11490 - 11363 11370 11399 11419 11453 11461 - 11179 11204 11407 11426 11583 11591 - 11312 11354 11381 11458 11486 11489 - 11291 11354 11373 11458 11472 11501 - 11368 11378 11398 11432 11451 11468 - 11360 11383 11395 11446 11470 15518 - 11366 11377 11402 11429 11454 11463 - 11357 11383 11388 11424 11457 15518 - 11369 11380 11400 11433 11452 11469 - 11371 11374 11420 11430 11459 11460 - 11370 11376 11409 11425 11461 11467 - 11371 11379 11418 11428 11459 11464 - 11346 11358 11392 11447 11455 11478 - 11351 11359 11392 11431 11455 11482 11484 - 11327 11339 11408 11441 11490 11532 - 11384 11388 11416 11425 11457 11465 - 11376 11384 11419 11424 11465 11467 - 11204 11302 11410 11506 11591 11603 - 11349 11385 11398 11451 11495 11513 15517 - 11379 11387 11420 11435 11464 11475 - 11377 11386 11415 11436 11463 11476 - 11374 11390 11418 11442 11460 11471 - 11359 11367 11422 11440 11484 11523 - 11378 11395 11413 11446 11468 11483 - 11380 11391 11417 11444 11469 11479 - 11273 11365 11372 11531 11548 11549 - 11387 11393 11428 11448 11475 11480 - 11386 11394 11429 11449 11476 11487 - 11334 11382 11405 11473 11551 11567 - 11335 11373 11404 11472 11510 11542 - 11400 11452 11474 11488 - 11362 11367 11431 11441 11519 11523 - 11339 11362 11423 11440 11519 11532 - 11390 11403 11430 11450 11471 11477 - 11239 11302 11355 11506 11545 11618 - 11391 11399 11433 11453 11479 11496 - 11036 11267 11271 11630 11664 11868 - 11395 11414 11432 11470 11483 - 11358 11381 11421 11478 11489 11553 - 11393 11402 11435 11454 11480 11493 - 11394 11401 11436 11487 - 11403 11406 11442 11456 11477 11497 - 11398 11413 11427 11468 11495 11502 - 11400 11417 11439 11469 11488 11503 - 11399 11409 11444 11461 11496 11509 - 11402 11415 11448 11463 11493 11504 - 11392 11421 11422 11478 11482 11525 - 11396 11406 11450 11466 11497 11517 - 11416 11424 11465 11522 11528 15518 - 11354 11411 11412 11486 11501 11544 - 11418 11420 11460 11464 11499 11505 - 11418 11430 11459 11471 11494 11499 - 11409 11419 11453 11467 11509 11515 - 11182 11215 11407 11500 11730 11738 - 11415 11429 11454 11476 11504 11516 - 11420 11428 11459 11475 11505 11511 - 11424 11425 11457 11467 11526 11528 - 11396 11397 11456 11481 11517 11563 - 11419 11425 11461 11465 11515 11526 - 11413 11432 11451 11483 11502 11529 - 11417 11433 11452 11479 11503 11521 - 11414 11446 11483 11522 11547 15518 - 11430 11442 11460 11477 11494 11512 - 11373 11412 11438 11501 11542 11574 - 11382 11404 11437 11510 11567 11597 - 11439 11488 11507 11527 - 11428 11435 11464 11480 11511 11524 - 11429 11436 11463 11487 11516 11530 - 11442 11450 11471 11497 11512 11535 - 11421 11447 11455 11525 11553 11558 - 11433 11444 11469 11496 11521 11536 - 11435 11448 11475 11493 11524 11533 - 11397 11408 11466 11490 11555 11563 - 11422 11455 11484 11525 11550 - 11432 11446 11468 11470 11529 11547 - 11422 11431 11482 11523 11550 11560 - 11347 11389 11405 11538 11551 11584 - 11411 11458 11489 11544 11577 - 11436 11449 11476 11530 - 11439 11452 11474 11503 11527 11540 - 11381 11411 11447 11486 11553 11577 11588 - 11408 11423 11481 11532 11555 11575 - 11304 11355 11514 11545 11633 11674 - 9530 10946 11037 11859 13212 13588 - 11448 11454 11480 11504 11533 11543 - 11460 11471 11499 11512 11537 - 11427 11451 11502 11513 11546 - 11444 11453 11479 11509 11536 11554 - 11450 11456 11477 11517 11535 11568 - 11314 11372 11389 11531 11538 11634 11644 - 11459 11460 11494 11505 11537 11541 - 11215 11271 11462 11630 11738 11896 - 11412 11458 11472 11544 11574 11595 - 11451 11468 11495 11529 11546 11569 - 11452 11469 11488 11521 11540 11559 - 11454 11463 11493 11516 11543 11557 - 11459 11464 11499 11511 11541 11552 - 11302 11426 11443 11603 11618 11690 - 11474 11527 11539 11561 - 11375 11385 11513 11607 11648 15519 - 11453 11461 11496 11515 11554 11565 - 11404 11438 11473 11542 11597 11655 - 11464 11475 11505 11524 11552 11562 - 11471 11477 11494 11535 11537 11564 - 11385 11427 11495 11508 11546 11607 11611 - 11304 11365 11491 11548 11633 11651 - 11461 11467 11509 11526 11565 11581 - 11463 11476 11504 11530 11557 11566 - 11456 11466 11497 11563 11568 11594 - 11353 11364 11520 11763 11951 15519 - 11440 11441 11523 11532 11587 11608 - 11316 11353 11518 11534 11951 - 11469 11479 11503 11536 11559 11570 - 11457 11470 11528 11547 11620 11643 15518 - 11431 11440 11484 11519 11560 11587 11605 - 11475 11480 11511 11533 11562 15520 - 11455 11478 11482 11550 11558 11579 - 11465 11467 11515 11528 11581 11598 - 11474 11488 11507 11540 11561 11576 - 11457 11465 11522 11526 11598 11620 - 11468 11483 11502 11547 11569 11616 - 11476 11487 11516 11566 - 11372 11434 11498 11549 11644 11656 - 11423 11441 11490 11519 11575 11608 11624 - 11480 11493 11524 11543 11580 15520 - 11316 11348 11520 11556 11951 12643 - 11477 11497 11512 11564 11568 11589 - 11479 11496 11521 11554 11570 11585 - 11494 11499 11512 11541 11564 11572 - 11389 11485 11498 11584 11634 11645 - 11507 11561 11571 11586 - 11488 11503 11527 11559 11576 11592 - 11499 11505 11537 11552 11572 11582 - 11438 11472 11510 11574 11647 11655 - 11493 11504 11533 11557 11580 11590 - 11458 11486 11501 11577 11595 11619 - 11355 11443 11491 11618 11674 11744 - 11495 11502 11513 11569 11611 11614 - 11470 11483 11522 11529 11616 11643 - 11365 11434 11514 11549 11651 11660 - 11434 11531 11548 11656 11660 - 11482 11484 11525 11560 11579 11596 - 11405 11437 11485 11567 11584 11669 11699 - 11505 11511 11541 11562 11582 11593 - 11447 11478 11489 11558 11588 11617 11640 - 11496 11509 11536 11565 11585 11606 - 11481 11490 11563 11575 11622 11627 - 11310 11348 11534 11680 12643 - 11504 11516 11543 11566 11590 11602 - 11478 11525 11553 11579 11612 11617 - 11503 11521 11540 11570 11592 11610 - 11484 11523 11550 11596 11605 15521 - 11507 11527 11539 11576 11586 11609 - 11511 11524 11552 11593 11601 15520 - 11466 11481 11517 11555 11594 11622 11636 - 11512 11535 11537 11572 11589 11604 - 11509 11515 11554 11581 11606 11626 - 11516 11530 11557 11602 - 11437 11473 11551 11597 11669 11675 - 11497 11517 11535 11589 11594 11650 - 11502 11529 11546 11614 11616 15522 - 11521 11536 11559 11585 11610 11625 - 11539 11586 11600 11623 - 11537 11541 11564 11582 11604 11615 - 10889 11074 11578 11599 12469 12876 - 11472 11501 11542 11595 11647 11701 - 11490 11532 11555 11624 11627 11653 - 11527 11540 11561 11592 11609 11632 - 11486 11489 11544 11588 11619 11639 - 10889 10971 11573 11733 12876 13315 - 11525 11550 11558 11596 11612 11628 - 11533 11543 11590 11613 11629 15520 - 11515 11526 11565 11598 11626 11652 - 11541 11552 11572 11593 11615 11631 - 11407 11410 11591 11730 11809 11880 - 11485 11538 11551 11645 11677 11699 - 11536 11554 11570 11606 11625 11646 - 11539 11561 11571 11609 11623 11642 - 11519 11523 11605 11608 11658 11661 - 11489 11553 11577 11639 11640 11685 - 11535 11564 11568 11604 11650 15523 - 11543 11557 11580 11602 11629 11641 - 11410 11426 11583 11603 11728 11809 - 11540 11559 11576 11610 11632 11649 - 11552 11562 11582 11601 11631 11638 - 11517 11563 11568 11636 11650 11671 - 11501 11544 11574 11619 11684 11701 - 11550 11560 11579 11628 11637 15521 - 11473 11510 11567 11655 11675 11711 - 11526 11528 11581 11620 11652 11682 - 11074 11267 11573 11664 12331 12469 - 11571 11623 11635 11657 - 11562 11593 11613 11638 11654 15520 - 11557 11566 11590 11641 - 11426 11506 11591 11690 11728 11804 - 11564 11572 11589 11615 11659 15523 - 11523 11560 11587 11661 11673 15521 - 11554 11565 11585 11626 11646 11662 - 11508 11513 11611 11648 11689 11710 - 11519 11532 11587 11624 11658 11678 11702 - 11561 11576 11586 11632 11642 15524 - 11559 11570 11592 11625 11649 11667 - 11513 11546 11607 11614 11681 11689 - 11558 11579 11617 11628 11666 11672 - 11580 11601 11629 11654 11663 15520 - 11546 11569 11611 11681 15522 - 11572 11582 11604 11631 11659 11665 - 11529 11547 11569 11643 11722 15522 - 11553 11558 11612 11640 11672 11692 - 11443 11506 11545 11690 11744 11829 - 11544 11577 11595 11639 11684 11694 - 11522 11528 11598 11643 11682 11717 - 11198 11294 11337 11680 11962 13075 - 11555 11563 11627 11636 11687 11691 - 11571 11586 11600 11642 11657 11683 - 11532 11575 11608 11653 11678 11688 - 11570 11585 11610 11646 11667 11693 - 11565 11581 11606 11652 11662 15525 - 11555 11575 11622 11653 11687 11695 - 11579 11596 11612 11637 11666 11670 - 11580 11590 11613 11641 11663 11686 - 11271 11445 11500 11868 11896 12269 - 11582 11593 11615 11638 11665 11679 - 11576 11592 11609 11649 11698 15524 - 11491 11514 11651 11674 11805 11843 - 11498 11538 11644 11645 11754 11779 - 11600 11657 11668 11700 - 11563 11594 11622 11671 11691 11707 - 11596 11628 11670 11676 15521 - 11593 11601 11631 11654 11679 11697 - 11577 11588 11619 11685 11694 11696 - 11553 11588 11617 11685 11692 11712 - 11590 11602 11629 11686 - 11586 11609 11623 11683 11704 15524 - 11522 11547 11616 11620 11717 11722 11815 - 11498 11531 11634 11656 11779 11788 - 11538 11584 11634 11677 11754 11759 - 11585 11606 11625 11662 11693 11705 - 11542 11574 11655 11701 11760 11773 - 11508 11607 11710 11763 11835 15519 - 11592 11610 11632 11667 11698 11713 - 11568 11589 11594 11671 11731 11739 15523 - 11514 11548 11633 11660 11805 11861 - 11581 11598 11626 11682 11721 15525 - 11575 11624 11627 11688 11695 11709 - 11601 11613 11638 11663 11697 11706 - 11510 11542 11597 11647 11711 11760 11794 - 11531 11549 11644 11660 11788 11813 - 11600 11623 11635 11683 11700 11716 - 11587 11608 11661 11702 11725 11729 - 11604 11615 11665 11708 11714 15523 - 11548 11549 11651 11656 11813 11861 - 11587 11605 11658 11673 11729 11736 - 11606 11626 11646 11705 11715 15525 - 11613 11629 11654 11686 11706 11726 - 11267 11445 11599 11868 12164 12331 - 11615 11631 11659 11679 11708 11718 - 11612 11628 11670 11672 11720 11732 - 11610 11625 11649 11693 11713 11742 - 11635 11700 11703 11734 - 11551 11567 11675 11699 11758 11768 - 11628 11637 11666 11676 11720 11723 - 11594 11636 11650 11707 11739 11756 - 11612 11617 11666 11692 11732 11745 - 11605 11661 11676 11735 11736 15521 - 11491 11545 11633 11744 11843 11918 - 11567 11597 11669 11711 11758 11791 - 11637 11670 11673 11723 11735 15521 - 11584 11645 11699 11759 11782 - 11608 11624 11688 11702 11719 11727 - 11631 11638 11665 11697 11718 11737 - 11310 11337 11556 11621 12643 13075 - 11611 11614 11689 11786 11803 15522 - 11598 11620 11652 11717 11721 11771 - 11623 11642 11657 11704 11716 11746 - 11595 11619 11694 11701 11780 11795 - 11588 11639 11640 11696 11712 11749 - 11629 11641 11663 11726 - 11622 11627 11691 11695 11740 11743 - 11624 11653 11678 11709 11719 11724 - 11607 11611 11681 11710 11786 11789 - 11506 11603 11618 11804 11829 11984 - 11622 11636 11687 11707 11743 11752 - 11617 11640 11672 11712 11745 11764 - 11625 11646 11667 11705 11742 11762 - 11619 11639 11684 11696 11765 11780 - 11627 11653 11687 11709 11740 11748 - 11639 11685 11694 11749 11765 - 11638 11654 11679 11706 11737 11747 - 11632 11649 11713 11741 11769 15524 - 11551 11584 11669 11677 11768 11782 11814 - 11635 11657 11668 11716 11734 11761 - 11574 11595 11647 11684 11773 11795 11830 - 11608 11658 11678 11725 11727 11755 11757 - 11668 11734 11772 15526 - 11642 11683 11741 11746 11785 15524 - 11646 11662 11693 11715 11762 11778 - 11654 11663 11697 11726 11747 11770 - 11636 11671 11691 11752 11756 11790 - 11659 11665 11714 11718 11766 11767 - 11653 11688 11695 11724 11748 11753 - 11607 11648 11689 11789 11835 - 11597 11655 11675 11791 11794 11842 - 11640 11685 11692 11749 11764 11811 - 11649 11667 11698 11742 11769 11806 - 11659 11708 11731 11766 11775 15523 - 11662 11705 11778 11787 15525 - 11657 11683 11700 11746 11761 11797 - 11620 11643 11682 11771 11815 11885 - 11665 11679 11708 11737 11767 11776 - 11678 11688 11724 11727 11750 11751 - 11666 11670 11723 11732 11777 11784 - 11652 11682 11771 11787 11860 15525 - 11616 11643 11803 11815 11956 15522 - 11670 11676 11720 11735 11777 11781 - 11688 11709 11719 11751 11753 - 11658 11702 11729 11757 11774 - 11663 11686 11706 11770 - 11678 11702 11719 11750 11755 - 11591 11603 11804 11809 12010 - 11658 11661 11725 11736 11774 11810 - 11407 11462 11583 11738 11880 12208 12232 - 11650 11714 11739 11775 11796 11816 15523 - 11666 11672 11720 11745 11784 11808 - 10971 11034 11578 12178 13315 13654 - 11668 11700 11703 11761 11772 11812 - 11673 11676 11723 11736 11781 11818 - 11661 11673 11729 11735 11810 11818 - 11679 11697 11718 11747 11776 11799 - 11462 11500 11730 11896 12232 12409 - 11650 11671 11731 11756 11796 11802 11849 - 11687 11695 11743 11748 11792 11798 - 11698 11704 11769 11785 11826 15524 - 11667 11693 11713 11762 11806 11841 - 11687 11691 11740 11752 11792 15528 - 11545 11618 11674 11829 11918 12045 - 11672 11692 11732 11764 11808 11867 - 11683 11704 11716 11785 11797 11836 - 11697 11706 11737 11770 11799 11820 - 11695 11709 11740 11753 11798 11801 - 11685 11696 11712 11765 11811 11857 - 11719 11727 11751 11755 11793 11800 - 11719 11724 11750 11753 11793 11807 - 11691 11707 11743 11790 11851 15528 - 11709 11724 11748 11751 11801 11807 - 11634 11645 11759 11779 11895 12004 - 11702 11727 11750 11757 11800 15527 - 11671 11707 11739 11790 11802 11827 - 11702 11725 11755 11774 11824 15527 - 11669 11675 11768 11791 11834 11852 - 11645 11677 11754 11782 11881 11895 - 11647 11655 11773 11794 11892 11893 - 11700 11716 11734 11797 11812 11848 - 11693 11705 11742 11778 11841 11887 - 11518 11648 11835 11951 12361 15519 - 11692 11712 11745 11811 11867 11878 - 11694 11696 11749 11780 11857 11858 - 11708 11714 11767 11775 11819 11821 - 11708 11718 11766 11776 11819 11833 - 11669 11699 11758 11814 11834 11844 - 11698 11713 11741 11806 11826 11876 - 11706 11726 11747 11820 - 11682 11717 11721 11860 11885 11942 - 11703 11734 11812 11817 11853 15526 - 11647 11701 11760 11830 11892 11922 - 11725 11729 11757 11810 11824 11840 - 11714 11731 11766 11816 11821 11825 - 11718 11737 11767 11799 11833 11846 - 11720 11723 11781 11784 11832 11850 - 11705 11715 11762 11787 11887 11941 - 11634 11644 11754 11788 11971 12004 - 11684 11694 11765 11795 11858 11901 - 11723 11735 11777 11818 11850 11865 - 11677 11699 11759 11814 11881 11906 - 11817 11831 11866 15526 - 11720 11732 11777 11808 11832 11855 - 11704 11741 11746 11826 11836 11884 - 11681 11689 11789 11803 11974 - 11715 11721 11778 11860 11941 15525 - 11644 11656 11779 11813 11971 12014 - 11689 11710 11786 11835 11974 12230 - 11707 11752 11756 11827 11851 15529 - 11675 11711 11758 11842 11852 11902 - 11740 11743 11798 11828 11845 15528 - 11750 11751 11800 11807 11823 11838 - 11655 11711 11760 11842 11893 11923 - 11684 11701 11780 11830 11901 11929 - 11731 11739 11816 11839 11849 11872 - 11716 11746 11761 11836 11848 11894 - 11740 11748 11792 11801 11828 11847 - 11737 11747 11776 11820 11846 15530 - 11750 11755 11793 11822 11823 11837 15527 - 11748 11753 11798 11807 11847 11854 - 11739 11756 11827 11849 11862 11873 - 11681 11722 11786 11956 11974 12095 15522 - 11603 11690 11728 11984 12010 12239 - 11633 11651 11843 11861 12106 12119 - 11713 11742 11769 11841 11876 11939 - 11751 11753 11793 11801 11838 11854 11863 - 11732 11745 11784 11855 11867 11897 - 11583 11591 11728 11880 12010 12191 - 11729 11736 11774 11818 11840 11889 11891 - 11712 11749 11764 11857 11878 11927 - 11734 11761 11772 11848 11853 11905 - 11656 11660 11788 11861 12014 12074 - 11699 11768 11782 11844 11906 11945 - 11643 11717 11722 11885 11956 12006 - 11731 11775 11796 11825 11839 11856 - 11772 11783 11853 11866 11910 15526 - 11735 11736 11781 11810 11865 11889 11917 - 11766 11767 11821 11833 11874 11883 - 11747 11770 11799 15530 - 11766 11775 11819 11825 11869 11874 - 11800 11824 11837 11871 11879 15527 - 11793 11800 11837 11838 11864 - 11757 11774 11822 11840 11879 11908 15527 - 11775 11816 11821 11856 11869 - 11741 11769 11785 11876 11884 11946 - 11756 11790 11802 11870 11873 15529 - 11792 11798 11845 11847 11890 - 11618 11690 11744 11984 12045 12248 - 11701 11773 11795 11922 11929 11992 - 11783 11866 11877 11919 - 11777 11784 11850 11855 11900 - 11767 11776 11819 11846 11883 11899 - 11758 11768 11844 11852 11914 11940 - 11648 11710 11763 11789 12230 12361 - 11746 11785 11797 11884 11894 11948 - 11800 11822 11823 11864 11871 11875 - 11793 11807 11823 11863 11864 11886 - 11796 11816 11856 11872 11888 - 11774 11810 11824 11891 11908 11931 - 11742 11762 11806 11887 11939 12013 - 11711 11791 11794 11902 11923 11965 - 11633 11674 11805 11918 12106 12138 - 11768 11814 11834 11940 11945 - 11792 11828 11882 11890 11920 15528 - 11776 11799 11833 11899 11932 15530 - 11798 11801 11828 11854 11890 11909 - 11761 11797 11812 11894 11905 11960 - 11739 11796 11802 11862 11872 11911 11921 - 11777 11781 11832 11865 11900 11944 - 11752 11790 11882 11926 11972 15528 15529 - 11758 11791 11834 11902 11914 11982 - 11772 11812 11817 11905 11910 11968 - 11801 11807 11847 11863 11909 11924 - 11784 11808 11832 11897 11900 11947 - 11816 11825 11839 11869 11888 11907 - 11749 11765 11811 11858 11927 11959 11967 - 11765 11780 11857 11901 11967 11991 - 10946 11175 11492 12320 13588 13730 - 11721 11771 11787 11941 11942 12067 - 11651 11660 11805 11813 12074 12119 12279 - 11802 11849 11873 11911 11913 - 11807 11838 11854 11886 11924 11934 - 11823 11837 11838 11875 11886 11898 - 11781 11818 11850 11917 11944 11969 - 11783 11817 11831 11910 11919 11973 - 11745 11764 11808 11878 11897 11983 12020 - 11445 11630 11664 12164 12269 12600 - 11821 11825 11856 11874 11907 11928 - 11827 11873 11912 11916 15529 - 11822 11837 11875 11879 11904 11915 - 11796 11839 11849 11888 11921 11935 - 11802 11827 11862 11870 11912 11913 - 11819 11821 11869 11883 11928 11943 - 11837 11864 11871 11898 11904 - 11769 11806 11826 11939 11946 12015 - 11831 11919 11930 11979 - 11764 11811 11867 11927 11983 11990 - 11822 11824 11871 11908 11915 11938 - 11583 11730 11809 12191 12208 12366 - 11759 11782 11895 11906 11994 12054 - 11845 11851 11920 11952 11972 15528 - 11819 11833 11874 11899 11943 11955 - 11785 11826 11836 11946 11948 12016 - 11717 11771 11815 11942 12006 12041 - 11838 11863 11864 11898 11925 11934 - 11762 11778 11841 11941 12013 12140 - 11839 11856 11872 11907 11935 11949 - 11810 11818 11891 11917 11957 11975 - 11828 11845 11847 11909 11920 11954 11978 - 11810 11840 11889 11931 11957 11970 - 11760 11773 11893 11922 12035 12064 - 11760 11794 11892 11923 12035 12047 - 11797 11836 11848 11948 11960 12023 - 11754 11759 11881 12004 12054 12149 - 11500 11630 11738 12269 12409 12725 - 11808 11855 11867 11947 12003 12020 - 11864 11875 11886 11904 11925 11937 - 11833 11846 11883 11932 11955 11989 - 11832 11850 11855 11944 11947 11986 - 11780 11795 11858 11929 11991 12076 - 11791 11842 11852 11965 11982 12053 - 8722 10539 11037 13212 13752 14084 - 11871 11875 11898 11915 11936 11937 - 11812 11848 11853 11960 11968 12032 - 11782 11814 11881 11945 11994 12058 - 11856 11869 11888 11928 11949 11976 - 11824 11840 11879 11931 11938 11993 12007 - 11847 11854 11890 11924 11978 11985 - 11817 11853 11866 11968 11973 12033 - 11849 11862 11913 11921 11958 11963 - 11870 11873 11913 11916 11953 11964 - 11862 11873 11911 11912 11953 11958 - 11834 11852 11940 11982 12040 - 11871 11879 11904 11936 11938 11950 - 11870 11912 11926 11964 11988 15529 - 11818 11865 11889 11969 11975 12009 - 11674 11744 11843 12045 12138 12282 - 11831 11866 11877 11973 11979 12031 - 11845 11882 11890 11952 11954 12002 - 11849 11872 11911 11935 11963 11981 - 11773 11830 11892 11992 12064 12086 - 11794 11842 11893 11965 12028 12047 - 11854 11863 11909 11934 11980 11985 - 11886 11898 11934 11937 11966 11977 - 11851 11916 11972 11988 12027 15529 - 11811 11857 11878 11959 11990 12030 - 11869 11874 11907 11943 11976 11998 - 11795 11830 11901 11992 12076 12077 - 11877 11979 11987 12037 - 11840 11891 11908 11970 11993 12008 - 11846 11899 11989 15530 - 7911 10635 10857 13414 14090 14593 - 11863 11886 11924 11925 11977 11980 15531 - 11872 11888 11921 11949 11981 12000 - 11904 11915 11937 11950 11961 - 11898 11904 11925 11936 11961 11966 - 11879 11908 11915 11950 12001 12007 - 11806 11841 11876 12013 12015 12109 - 11834 11844 11914 11945 12040 12113 - 11778 11787 11860 11887 12067 12140 12231 - 11771 11860 11885 12041 12067 12152 - 11874 11883 11928 11955 11998 12012 - 11850 11865 11900 11969 11986 12034 12036 - 11814 11844 11906 11940 12058 12113 - 11826 11876 11884 12015 12016 12085 - 11855 11897 11900 11986 12003 12022 - 11836 11884 11894 12016 12023 12090 - 11888 11907 11935 11976 12000 12018 - 11915 11936 11938 11961 11995 12001 - 11518 11520 11534 11763 12361 12643 13136 - 11882 11920 11972 12002 12052 - 11912 11913 11958 11964 11997 12011 - 11890 11920 11978 12002 12019 - 11883 11899 11943 11989 12012 12048 - 11722 11803 11815 12006 12095 12300 - 11889 11891 11970 11975 12021 12024 - 11911 11913 11953 11963 11997 12005 - 11857 11927 11967 12030 12079 - 11848 11894 11905 12023 12032 12108 - 11936 11937 11950 11966 11995 11999 - 11294 11322 11621 12320 13075 13578 - 11911 11921 11958 11981 12005 15532 - 11912 11916 11953 11988 12011 12046 - 11842 11902 11923 12028 12053 12116 - 11925 11937 11961 11977 11996 11999 - 11857 11858 11959 11991 12079 12111 - 11853 11905 11910 12032 12033 12110 - 11865 11917 11944 12009 12036 12059 - 11891 11931 11957 12008 12021 12038 - 11779 11788 12004 12014 12244 12285 - 11851 11882 11926 11952 12027 12052 12120 - 11866 11910 11919 12031 12033 12105 - 11786 11789 11803 12095 12230 12329 - 11889 11917 11957 12009 12024 12051 - 11907 11928 11949 11998 12018 12049 - 11925 11934 11966 11996 12017 15531 - 11890 11909 11954 11985 12019 12056 - 11877 11919 11930 12031 12037 12097 - 11924 11934 11985 12043 12055 15531 - 11921 11935 11963 12000 12050 15532 - 11852 11902 11914 12040 12053 12136 - 11867 11878 11990 12020 12092 12103 - 11690 11804 11829 12239 12248 12502 - 11909 11924 11978 11980 12043 12056 - 11900 11944 11947 12022 12034 12062 - 11930 12037 12044 12096 - 11916 11926 11964 12027 12046 12081 - 11899 11932 11955 12048 - 11878 11927 11983 12030 12092 12130 - 11858 11901 11967 12076 12111 12153 - 11830 11922 11929 12077 12086 12159 - 11908 11931 12007 12008 12060 12066 - 11881 11906 12054 12058 12160 - 11950 11961 11999 12001 12026 12029 - 11966 11977 11999 12017 12025 - 11953 11958 12005 12011 12042 - 11928 11943 11976 12012 12049 12071 - 11961 11966 11995 11996 12025 12029 - 11935 11949 11981 12018 12050 12068 - 11938 11950 11995 12007 12026 12057 - 11920 11952 11954 12019 12052 12080 - 11897 11947 12020 12022 12082 12101 - 11754 11779 11895 11971 12149 12244 12303 - 11958 11963 11997 12042 12069 15532 - 11815 11885 11956 12041 12300 12317 - 11908 11938 11993 12001 12057 12066 12089 - 11931 11970 11993 12038 12060 12070 - 11917 11969 11975 12051 12059 12084 - 11728 11804 11809 12191 12239 12413 - 11953 11964 11997 12042 12046 12075 - 11943 11955 11998 12048 12071 12104 - 11841 11887 11939 12109 12140 12225 - 11788 11813 11971 12074 12285 12315 - 11876 11939 11946 12085 12109 12168 - 11884 11946 11948 12085 12090 12169 - 11977 11996 12025 12065 12073 15531 - 11949 11976 12000 12049 12068 12094 - 11954 11978 12002 12056 12080 12112 - 11867 11897 11983 12003 12101 12103 12157 - 11957 11970 12024 12038 12072 12078 - 11947 11986 12003 12062 12082 15533 - 11894 11948 11960 12090 12108 12183 - 11957 11975 12021 12051 12072 12083 - 11996 11999 12017 12029 12061 12065 - 11995 12001 12029 12057 12063 - 11926 11972 11988 12081 12120 12133 - 11923 11965 12047 12116 12174 - 11995 11999 12025 12026 12061 12063 - 11927 11959 11990 12079 12130 12167 - 11919 11973 11979 12097 12105 12171 - 11905 11960 11968 12108 12110 12188 - 11910 11968 11973 12105 12110 12180 - 11944 11986 12036 12062 12091 12100 - 11892 11893 12047 12064 12195 12206 - 11944 11969 12034 12059 12091 12107 - 11930 11979 11987 12096 12097 12166 - 11970 12008 12021 12070 12078 12088 - 8151 10752 10767 13965 14823 15579 - 11914 11940 11982 12113 12136 12223 - 11885 11942 12006 12152 12317 - 11997 12005 12011 12069 12075 12114 - 11980 11985 12055 12056 12099 12129 - 11987 12096 12102 15534 - 11744 11829 11918 12248 12282 12511 - 11964 11988 12011 12075 12081 12124 - 11893 11923 12028 12035 12174 12195 - 11955 11989 12012 12104 - 11976 11998 12018 12071 12094 12131 - 11981 12000 12068 12093 12126 15532 - 11975 12009 12024 12083 12084 12118 - 11952 11972 12002 12080 12120 12147 12162 - 11902 11965 11982 12116 12136 12219 - 11881 11895 11994 12149 12160 12280 - 11980 12043 12073 12099 12125 15531 - 11978 11985 12019 12043 12112 12129 12143 - 12001 12007 12026 12063 12089 12115 12117 - 11906 11945 11994 12113 12160 12256 - 11969 12009 12036 12084 12107 12132 - 11993 12008 12066 12070 12121 12127 - 12025 12029 12063 12065 12087 12098 - 11986 12022 12034 12100 12123 15533 - 12026 12029 12057 12061 12098 12115 - 11892 11922 12035 12086 12206 12277 - 12017 12025 12061 12073 12087 12122 - 11993 12007 12060 12089 12127 12142 - 11860 11941 11942 12152 12231 12295 - 12000 12018 12050 12094 12126 12150 - 12005 12042 12093 12114 12146 15532 - 12008 12038 12060 12088 12121 12128 - 11998 12012 12049 12104 12131 12155 - 12021 12024 12078 12083 - 12017 12055 12065 12122 12125 12137 15531 - 11813 11861 12014 12279 12315 12462 - 12011 12042 12046 12114 12124 12156 - 11901 11929 11991 12077 12153 12210 12237 - 11929 11992 12076 12159 12196 12210 - 12021 12038 12072 12088 - 11959 11967 12030 12111 12167 12193 - 12002 12019 12052 12112 12145 12162 - 11988 12027 12046 12124 12133 12173 - 12003 12022 12101 12135 12165 15533 - 12024 12051 12072 12118 - 12009 12051 12059 12118 12132 12151 - 11946 12015 12016 12168 12169 12226 - 11922 11992 12064 12159 12242 12277 - 12061 12065 12098 12122 12139 - 12038 12070 12078 12128 - 12007 12057 12066 12117 12142 12158 - 11948 12016 12023 12169 12183 12253 - 12034 12036 12100 12107 12134 12148 - 11983 11990 12103 12130 12185 12215 - 12050 12069 12126 12146 12176 15532 - 12018 12049 12068 12131 12150 12181 - 11803 11956 11974 12300 12329 12482 - 11987 12037 12044 12166 12222 15534 - 11979 12031 12037 12166 12171 12234 - 12061 12063 12087 12115 12139 12144 - 12043 12055 12125 12129 15535 - 12034 12062 12091 12123 12134 12161 - 12003 12020 12082 12157 12165 12209 - 12044 12163 12213 15534 - 11983 12020 12092 12157 12185 12218 - 12012 12048 12071 12155 - 11973 12031 12033 12171 12180 12245 - 11805 11843 12119 12138 12338 12425 - 12036 12059 12091 12132 12148 12172 - 11960 12023 12032 12183 12188 12274 - 11939 12013 12015 12168 12225 12240 - 11968 12032 12033 12180 12188 12261 - 11967 11991 12079 12153 12193 12241 - 12019 12056 12080 12143 12145 12199 - 11940 11945 12040 12058 12223 12256 12412 - 12042 12069 12075 12146 12156 12186 - 12057 12063 12098 12117 12144 12154 - 11965 12028 12053 12174 12219 12286 - 12057 12089 12115 12154 12158 - 12051 12083 12084 12151 - 11805 11861 12106 12279 12425 12496 - 11972 12027 12052 12133 12147 12207 12220 - 12060 12070 12127 12128 12170 12175 - 12065 12073 12087 12137 12139 12177 - 12062 12100 12135 12161 12179 15533 - 12046 12075 12081 12156 12173 12202 - 12055 12073 12099 12137 12184 15535 - 12050 12068 12093 12150 12176 12198 - 12060 12066 12121 12142 12175 12187 - 12070 12088 12121 12170 - 12043 12056 12099 12143 12192 12197 15535 - 11990 12030 12092 12167 12215 12243 - 12049 12071 12094 12155 12181 12211 - 12059 12084 12107 12151 12172 12189 - 12027 12081 12120 12173 12207 12233 - 12091 12100 12148 12161 12182 - 12082 12123 12165 12179 12212 15533 - 11982 12040 12053 12219 12223 12322 - 12073 12122 12125 12177 12184 12200 - 11843 11918 12106 12282 12338 12456 - 12087 12098 12122 12144 12177 12190 - 11887 11941 12013 12225 12231 12389 15542 - 7709 8666 10752 13965 14308 14913 - 12066 12089 12127 12158 12187 12201 - 12056 12112 12129 12197 12199 12228 - 12098 12115 12139 12154 12190 12194 - 12080 12112 12162 12199 12204 - 12069 12093 12114 12176 12186 12221 - 12052 12120 12162 12217 12220 - 12091 12107 12134 12172 12182 12205 - 11895 12004 12054 12280 12303 12420 - 12068 12094 12126 12181 12198 12229 - 12084 12118 12132 12189 - 11942 12041 12067 12295 12317 15543 - 11991 12076 12111 12237 12241 12314 - 12115 12117 12144 12158 12194 12203 - 12071 12104 12131 12211 - 12075 12114 12124 12186 12202 12236 - 12020 12101 12103 12209 12218 12258 - 12089 12117 12142 12154 12201 12203 - 11992 12077 12086 12196 12242 12272 - 11994 12054 12058 12256 12280 12393 - 12100 12123 12134 12179 12182 15536 - 12052 12080 12145 12147 12204 12217 - 12102 12213 12214 12265 - 11664 11868 12331 12600 12906 - 12082 12101 12135 12209 12212 12252 - 12037 12096 12097 12222 12234 12291 - 12030 12079 12130 12193 12243 12278 - 12015 12085 12109 12226 12240 12284 - 12016 12085 12090 12226 12253 12325 - 12121 12128 12175 12216 - 12031 12097 12105 12234 12245 12304 - 12107 12132 12148 12189 12205 12235 - 12081 12124 12133 12202 12233 12255 - 12028 12047 12116 12195 12286 12334 - 12121 12127 12170 12187 12216 12224 - 12093 12126 12146 12198 12221 12250 - 12122 12137 12139 12190 12200 12238 - 11034 11079 11733 12969 13654 14023 - 12123 12135 12161 12212 12251 15536 - 12033 12105 12110 12245 12261 12333 - 12094 12131 12150 12211 12229 12259 - 12134 12148 12161 12205 12247 15536 - 12023 12090 12108 12253 12274 15539 - 12125 12137 12200 12227 12266 15535 - 12092 12103 12215 12218 12262 12293 - 12114 12146 12156 12221 12236 12268 - 12127 12142 12175 12201 12224 12246 - 12032 12108 12110 12261 12274 12351 - 12132 12151 12172 12235 - 12139 12144 12177 12194 12238 12249 - 11809 11880 12010 12366 12413 12581 - 12129 12197 12227 12257 15535 - 12079 12111 12167 12241 12278 12327 - 12144 12154 12190 12203 12249 12254 - 12035 12047 12174 12206 12334 12352 - 12077 12159 12210 12272 12308 - 12129 12143 12192 12228 12257 12260 - 12126 12150 12176 12229 12250 12283 - 12112 12143 12145 12204 12228 12264 12292 - 12137 12177 12184 12238 12266 12273 - 12142 12158 12187 12203 12246 12271 - 12124 12156 12173 12236 12255 12288 - 12154 12158 12194 12201 12254 12271 - 12145 12162 12199 12217 12264 12270 - 12148 12172 12182 12235 12247 12275 - 12035 12064 12195 12277 12352 12383 - 12120 12133 12220 12233 12302 12305 - 11730 11880 12232 12366 12700 12759 - 12101 12157 12165 12252 12258 12299 - 12076 12077 12196 12237 12308 12339 - 12131 12155 12181 12259 - 12135 12165 12179 12251 12252 12296 - 12102 12163 12265 12276 12323 15534 - 12163 12263 12265 12310 - 12092 12130 12185 12243 12293 12318 - 12170 12175 12224 12267 - 12147 12162 12204 12220 12270 12281 - 12103 12157 12185 12258 12262 12301 - 12053 12116 12136 12286 12322 12460 - 12120 12147 12207 12217 12281 12302 - 12146 12176 12186 12250 12268 12297 - 12096 12166 12276 12291 12348 15534 - 12040 12113 12136 12322 12412 12487 - 12175 12187 12216 12246 12267 12287 - 12013 12109 12140 12240 12354 12389 - 12085 12168 12169 12284 12325 15541 - 12184 12192 12257 12266 12294 15535 - 12143 12197 12199 12260 12292 12306 - 12150 12181 12198 12259 12283 15537 - 11789 11835 11974 12329 12361 12887 13168 - 11941 12067 12140 12295 12476 15542 - 11730 11738 12208 12409 12759 12888 - 12133 12173 12207 12255 12305 12312 - 12097 12166 12171 12291 12304 12364 - 12172 12189 12205 12275 - 12156 12186 12202 12268 12288 12311 - 12076 12153 12210 12314 12339 12394 - 12177 12190 12200 12249 12273 12298 - 11804 11984 12010 12413 12502 12675 - 12109 12168 12225 12284 12354 12397 - 12111 12153 12193 12314 12327 12387 - 12086 12159 12272 12277 12390 12404 - 12130 12167 12215 12278 12318 12350 - 11971 12004 12285 12303 12513 12528 - 12105 12171 12180 12304 12333 12388 - 12187 12201 12224 12271 12287 12290 - 12182 12205 12275 12289 12316 15536 - 11829 11984 12045 12502 12511 12792 - 12190 12194 12238 12254 12298 12307 - 12176 12198 12221 12283 12297 12332 - 12179 12212 12289 12296 12335 15536 - 12165 12209 12212 12296 12299 12343 - 12090 12169 12183 12325 12441 15539 - 12194 12203 12249 12271 12307 12342 - 12173 12202 12233 12288 12312 12341 - 12058 12113 12160 12393 12412 12512 - 12192 12197 12227 12260 12294 12321 - 12157 12209 12218 12299 12301 12349 - 12181 12211 12229 15537 - 12197 12228 12257 12306 12321 12324 - 12110 12180 12188 12333 12351 12424 - 12185 12218 12293 12301 12344 - 12214 12309 12310 12353 - 12199 12204 12270 12292 12337 12340 - 12163 12213 12214 12310 12323 12367 - 12184 12200 12227 12273 12294 12326 12346 - 12216 12224 12287 12319 - 12186 12221 12236 12297 12311 12347 - 11630 11868 11896 12600 12725 13015 - 12204 12217 12264 12281 12313 12340 - 12201 12203 12246 12254 12290 12342 15538 - 12159 12196 12242 12308 12368 12390 - 12200 12238 12266 12298 12326 12328 - 12108 12183 12188 12351 12450 15539 - 12205 12235 12247 12316 - 12213 12222 12323 12348 12391 15534 - 12064 12086 12206 12242 12383 12404 12453 - 12167 12193 12243 12327 12350 12400 - 11861 12074 12119 12462 12496 12638 - 12054 12149 12160 12393 12420 12546 - 12217 12220 12270 12302 12313 12345 - 11918 12045 12138 12456 12511 12668 - 12198 12229 12250 12332 12358 15537 - 12168 12226 12240 12397 15541 - 11971 12014 12244 12315 12513 12542 - 12116 12174 12219 12334 12440 12460 - 12224 12246 12267 12290 12319 12336 - 12202 12236 12255 12311 12341 12359 - 12247 12251 12316 12335 12360 15536 - 12246 12271 12287 12336 15538 - 12166 12222 12234 12348 12364 12415 - 12199 12228 12264 12306 12337 12370 - 12185 12215 12262 12318 12344 12377 - 12227 12257 12266 12321 12346 12357 - 12067 12152 12231 12476 12549 15543 - 12212 12251 12252 12335 12343 12373 - 12221 12250 12268 12332 12347 12371 - 12238 12249 12273 12307 12328 12356 - 12209 12252 12258 12343 12349 12382 - 11956 12006 12095 12317 12482 13041 - 12218 12258 12262 12344 12349 12384 - 12207 12220 12281 12305 12345 12376 12381 - 12004 12149 12244 12420 12519 12528 - 12171 12234 12245 12364 12388 12445 - 12207 12233 12302 12312 12374 12376 - 12228 12260 12292 12324 12362 12370 - 12249 12254 12298 12342 12356 15540 - 12196 12210 12272 12339 12368 12416 - 12263 12353 12355 12399 - 12214 12263 12265 12353 12367 12406 - 12236 12268 12288 12347 12359 12385 - 12233 12255 12305 12341 12374 12386 - 12270 12281 12340 12345 12365 - 12153 12237 12241 12387 12394 12455 - 12014 12074 12285 12462 12542 12652 - 12247 12275 12289 12360 - 12006 12041 12152 12300 13041 15543 - 12215 12243 12293 12350 12377 12418 - 12267 12287 12336 12369 - 11175 11322 11859 11962 13578 13730 - 12257 12260 12294 12324 12357 12363 - 12136 12219 12223 12460 12487 12555 - 12213 12265 12276 12367 12391 12433 - 12260 12306 12321 12362 12363 - 12169 12226 12253 12441 12532 15541 - 12266 12273 12328 12346 12375 12379 - 12193 12241 12278 12387 12400 12459 - 12273 12298 12326 12356 12372 12375 - 11974 12095 12230 12482 12887 - 252 270 6142 15094 15098 15170 - 11599 11664 12164 12469 12906 13213 - 12250 12283 12297 12358 12371 12403 - 12180 12245 12261 12388 12424 12486 - 12174 12195 12286 12352 12440 12463 - 12251 12289 12296 12360 12373 12408 - 12287 12290 12319 12369 12378 15538 - 12264 12292 12340 12370 12395 12401 - 12106 12138 12425 12456 12650 - 12210 12237 12308 12394 12416 12471 - 12264 12270 12313 12337 12365 12380 12395 - 12255 12288 12312 12359 12386 12410 - 12254 12271 12307 12392 12422 15538 15540 - 12252 12296 12299 12373 12382 12421 - 12262 12293 12301 12377 12384 12432 - 12281 12302 12313 12365 12381 12396 - 12266 12294 12326 12357 12379 12398 - 12268 12297 12311 12371 12385 12414 - 12222 12276 12291 12391 12415 12466 - 12258 12299 12301 12382 12384 12431 - 12243 12278 12318 12400 12418 12473 - 12188 12261 12274 12424 12450 12521 - 12195 12206 12334 12383 12463 12501 - 12263 12309 12310 12399 12406 12446 - 12225 12240 12389 12397 12523 - 12309 12399 12402 12443 - 12298 12307 12328 12372 12407 15540 - 12294 12321 12346 12363 12398 12411 - 12283 12332 12403 15537 - 12288 12311 12341 12385 12410 12434 - 12289 12316 12335 12408 - 11763 11835 11951 12230 13136 13168 - 12306 12324 12363 12370 12419 12428 - 12321 12324 12357 12362 12411 12419 - 12234 12291 12304 12415 12445 12499 - 12313 12340 12345 12380 12396 12405 - 11880 12191 12208 12581 12700 12889 - 12265 12310 12323 12406 12433 12467 - 12272 12308 12390 12416 12481 - 12319 12336 12378 12427 - 12292 12306 12337 12362 12401 12428 12439 - 12297 12332 12347 12403 12414 12449 - 12328 12356 12375 12407 12423 - 12296 12335 12343 12408 12421 12454 - 12305 12312 12376 12386 12437 12442 - 12326 12328 12372 12379 12423 12429 - 12302 12305 12374 12381 12430 12437 - 12293 12318 12344 12418 12432 12479 - 12336 12369 12392 12427 12451 15538 - 12326 12346 12375 12398 12429 12436 - 12340 12365 12395 12405 12417 - 12302 12345 12376 12396 12430 12435 - 12299 12343 12349 12421 12431 12474 - 12206 12277 12352 12453 12501 12547 - 12301 12344 12349 12431 12432 12480 - 12311 12347 12359 12414 12434 12461 - 12312 12341 12374 12410 12442 12458 - 12241 12314 12327 12455 12459 12525 - 12245 12304 12333 12445 12486 12539 - 12140 12225 12354 12523 12628 15542 - 12242 12272 12368 12404 12481 12520 - 12276 12323 12348 12433 12466 12506 - 12342 12378 12422 12451 12475 15538 - 12160 12256 12280 12512 12546 12609 - 12237 12314 12339 12455 12471 12530 - 12337 12340 12380 12401 12417 12438 - 12345 12365 12381 12405 12426 12435 - 12240 12284 12354 12523 12605 15541 - 12346 12357 12379 12411 12436 12452 - 12309 12353 12355 12443 12446 12489 - 12278 12327 12350 12459 12473 12527 - 12337 12370 12395 12438 12439 12465 - 12355 12443 12447 12491 - 12332 12358 12371 12449 - 12242 12277 12390 12453 12520 12563 - 12365 12380 12396 12417 12426 12448 - 12310 12353 12367 12446 12467 15545 - 12356 12372 12423 12444 12457 15540 - 12335 12360 12373 12454 - 11738 11896 12232 12725 12888 13094 - 12341 12359 12386 12434 12458 12483 - 12357 12363 12398 12419 12452 12464 - 12113 12223 12256 12487 12512 12606 12633 - 12010 12191 12239 12581 12675 12818 - 12347 12371 12385 12449 12461 12493 - 12291 12348 12364 12466 12499 12554 - 12308 12339 12368 12471 12481 12540 - 12380 12395 12405 12438 12448 12468 - 12318 12350 12377 12473 12479 12533 - 12362 12363 12411 12428 12464 12478 - 12149 12280 12303 12519 12546 12676 - 12343 12373 12382 12454 12474 12508 - 12342 12392 12444 12475 12488 15540 - 12372 12375 12407 12429 12457 12472 - 12261 12333 12351 12486 12521 12577 - 12106 12119 12338 12496 12650 12804 - 12396 12405 12435 12448 12470 - 12369 12378 12451 12485 - 12362 12370 12419 12439 12478 12490 - 12375 12379 12423 12436 12472 12484 - 12376 12381 12435 12437 12477 12492 - 12349 12382 12384 12474 12480 12524 - 12344 12377 12384 12479 12480 15546 - 12323 12367 12391 12467 12506 12544 - 12359 12385 12410 12461 12483 12505 - 12381 12396 12426 12430 12470 12477 - 12379 12398 12429 12452 12484 12497 - 12374 12376 12430 12442 12492 12504 - 12395 12401 12417 12465 12468 12495 - 12370 12401 12428 12465 12490 12503 - 12286 12334 12460 12463 12601 12621 - 12253 12325 12532 12561 12686 15539 - 12374 12386 12437 12458 12504 12509 - 12355 12399 12402 12489 12491 12531 - 12407 12422 12457 12488 12500 15540 - 12304 12364 12388 12499 12539 12583 - 12353 12399 12406 12489 12538 15545 - 12402 12491 12494 12534 - 12405 12417 12426 12468 12470 12498 - 12371 12403 12414 12493 - 12274 12351 12521 12561 12636 15539 - 12378 12392 12427 12475 12485 12514 12517 - 12398 12411 12436 12464 12497 12507 - 12277 12383 12404 12547 12563 12620 - 12373 12408 12421 12508 - 12314 12387 12394 12525 12530 12594 - 12138 12282 12338 12650 12668 12762 - 12407 12423 12444 12472 12500 12510 - 12386 12410 12442 12483 12509 12529 - 12327 12387 12400 12525 12527 12588 - 12219 12286 12322 12440 12555 12621 12665 - 12385 12414 12434 12493 12505 12537 - 12074 12279 12315 12638 12652 12803 - 12334 12352 12440 12501 12571 12601 - 12411 12419 12452 12478 12507 12518 - 12401 12438 12439 12495 12503 12522 - 12348 12391 12415 12506 12554 12595 - 12367 12406 12433 12544 12568 15545 - 12417 12438 12448 12495 12498 12515 - 11573 11599 12331 12876 13213 13437 - 12426 12435 12448 12477 12498 12516 - 12339 12394 12416 12530 12540 12598 - 12423 12429 12457 12484 12510 12526 - 12350 12400 12418 12527 12533 12586 - 12382 12421 12431 12508 12524 12565 - 12392 12422 12451 12488 12517 12536 - 12231 12295 12549 12733 12736 15542 - 12430 12435 12470 12492 12516 12552 - 12419 12428 12464 12490 12518 12535 - 12377 12418 12432 12533 12584 15546 - 12384 12431 12432 12524 12578 15546 - 12368 12390 12416 12520 12540 12590 - 12095 12300 12329 12887 13041 - 12410 12434 12458 12505 12529 12553 - 12429 12436 12472 12497 12526 12543 - 12427 12451 12514 12545 - 12333 12388 12424 12539 12577 12622 - 12223 12322 12412 12555 12633 12673 - 12422 12444 12475 12500 12536 12548 - 12399 12443 12446 12531 12538 12570 - 12428 12439 12478 12503 12535 15547 - 12402 12443 12447 12531 12534 12573 - 12430 12437 12477 12504 12552 12557 - 12414 12449 12461 12537 - 12447 12534 12541 12574 - 12438 12465 12468 12515 12522 12550 - 12119 12279 12425 12638 12731 12804 - 12436 12452 12484 12507 12543 12556 - 12448 12468 12470 12515 12516 12551 - 12364 12415 12445 12554 12583 12632 - 12444 12457 12488 12510 12548 12560 - 12352 12383 12463 12547 12571 12630 - 11984 12239 12248 12675 12792 12971 - 12439 12465 12490 12522 12564 15547 - 12437 12442 12492 12509 12557 12562 - 12434 12461 12483 12537 12553 12576 - 12391 12433 12466 12544 12595 12623 - 12452 12464 12497 12518 12556 12566 - 12421 12454 12474 12565 - 12442 12458 12504 12529 12562 12572 - 12457 12472 12500 12526 12560 12569 - 12045 12248 12282 12668 12792 13011 - 12256 12393 12412 12606 12609 12710 - 12244 12285 12528 12542 12702 12739 - 12451 12485 12517 12545 12558 12567 - 12468 12495 12498 12550 12551 12559 - 12470 12477 12498 12551 12552 12585 - 12451 12475 12514 12536 12567 12579 - 12464 12478 12507 12535 12566 12575 - 12303 12420 12528 12676 12701 - 12390 12404 12481 12563 12590 12644 - 12351 12424 12450 12577 12636 12678 - 12465 12495 12503 12550 12564 12580 - 12354 12389 12397 12605 12628 12781 - 12431 12474 12480 12565 12578 12619 - 12387 12455 12459 12588 12594 12654 - 12472 12484 12510 12543 12569 12582 - 12400 12459 12473 12586 12588 12647 - 12244 12303 12513 12519 12701 12702 - 12458 12483 12509 12553 12572 12596 - 12394 12455 12471 12594 12598 12661 - 12443 12489 12491 12570 12573 12610 - 12325 12441 12605 12686 12850 15541 - 12418 12473 12479 12584 12586 12641 - 12447 12491 12494 12573 12574 12612 - 12478 12490 12518 12575 12587 15547 - 12475 12488 12517 12548 12579 12591 - 12461 12493 12505 12576 - 12446 12489 12570 12589 12613 15545 - 12388 12445 12486 12583 12622 12666 - 12416 12471 12481 12590 12598 12659 - 12494 12574 15548 15550 - 12285 12315 12513 12652 12739 12832 - 12484 12497 12526 12556 12582 12597 - 12433 12467 12506 12568 12623 12642 - 12485 12514 12558 12599 - 12280 12393 12420 12609 12676 12828 - 12383 12453 12501 12620 12630 12697 - 12488 12500 12536 12560 12591 12603 - 12295 12476 12733 12913 15543 - 12495 12515 12522 12559 12580 12593 - 12498 12515 12516 12559 12585 12592 - 12477 12492 12516 12557 12585 12615 15549 - 12483 12505 12529 12576 12596 12617 - 12415 12466 12499 12595 12632 12680 - 12322 12460 12487 12665 12673 12753 - 12497 12507 12543 12566 12597 12607 - 12492 12504 12552 12562 12604 15549 - 12514 12545 12567 12599 12608 - 12515 12550 12551 12592 12593 - 12500 12510 12548 12569 12603 12614 - 12441 12450 12636 12686 12777 15539 - 12504 12509 12557 12572 12604 12616 - 12404 12453 12520 12620 12644 12707 - 12503 12522 12580 12602 12618 15547 - 12474 12508 12524 12619 - 12507 12518 12556 12575 12607 15551 - 12514 12517 12558 12579 12608 12624 - 12467 12544 12589 12642 12660 15545 - 12510 12526 12560 12582 12614 12625 - 12489 12531 12538 12610 12613 12646 - 12463 12501 12601 12630 12703 - 12509 12529 12562 12596 12616 12629 - 12491 12531 12534 12610 12612 15553 - 12494 12534 12541 12612 12655 15550 - 12518 12535 12566 12587 12627 15551 - 12505 12537 12553 12617 - 12424 12486 12521 12622 12678 12708 - 12480 12524 12619 12631 12677 15546 - 12517 12536 12567 12591 12624 12634 - 12522 12550 12564 12593 12618 12626 - 12191 12366 12413 12818 12889 13057 - 12526 12543 12569 12597 12625 12637 - 12445 12499 12539 12632 12666 12723 - 12479 12533 12631 12641 12693 15546 - 12516 12551 12552 12592 12615 12635 12648 - 12473 12527 12533 12641 12647 12705 - 12535 12575 12602 12627 12640 15547 - 12459 12525 12527 12647 12654 12713 - 12538 12568 12613 12660 15545 15555 - 12481 12520 12540 12644 12659 12719 - 12536 12548 12579 12603 12634 12645 - 12551 12559 12585 12593 12635 15552 - 12550 12559 12580 12592 12626 15552 - 12455 12525 12530 12654 12661 12720 - 12466 12506 12554 12623 12680 12714 - 12529 12553 12572 12617 12629 12656 - 12543 12556 12582 12607 12637 12651 - 12471 12530 12540 12659 12661 12724 - 12545 12558 12608 12662 15554 - 11868 12164 12269 12906 13015 13210 - 12440 12463 12571 12621 12703 12752 - 12564 12587 12618 12640 12657 15547 - 12548 12560 12591 12614 12645 12663 - 12557 12562 12616 12639 12658 15549 - 12397 12523 12532 12781 12850 12907 15541 - 12412 12512 12633 12710 12746 12811 - 12556 12566 12597 12651 12664 15551 - 12558 12567 12599 12624 12669 15554 - 12393 12512 12546 12710 12821 12828 - 12531 12570 12573 12646 12689 15553 - 12649 12653 12687 15548 - 12534 12573 12574 12655 15553 15556 - 12538 12570 12589 12646 12685 15555 - 12560 12569 12603 12625 12663 12670 - 12552 12585 12639 12648 12671 15549 - 12562 12572 12604 12629 12658 12672 - 12553 12576 12596 12656 - 12564 12580 12602 12626 12657 12667 - 12524 12565 12578 12677 - 12453 12547 12563 12697 12707 12780 - 12440 12460 12601 12665 12752 12797 - 12486 12539 12577 12666 12708 12750 - 12506 12544 12595 12642 12714 12737 - 12567 12579 12608 12634 12669 12681 - 12569 12582 12614 12637 12670 12682 - 12580 12593 12618 12667 12679 15552 - 12575 12587 12640 12674 12684 15551 - 12389 12523 12736 12781 12927 15542 - 12572 12596 12616 12656 12672 12692 - 12501 12547 12571 12697 12703 12778 - 12578 12584 12677 12693 12742 15546 - 12499 12554 12583 12680 12723 12779 - 12412 12487 12606 12673 12746 12791 - 12579 12591 12624 12645 12681 12691 - 12585 12592 12648 12688 12696 15552 - 12450 12521 12561 12678 12777 12795 - 12582 12597 12625 12651 12682 12695 - 12279 12462 12496 12731 12803 12892 - 12604 12615 12658 12671 12694 15549 - 12587 12602 12627 12657 12684 12699 - 12533 12584 12586 12693 12705 12760 - 12544 12568 12623 12660 12737 12745 - 11534 11556 11680 11951 13075 13136 13616 - 12520 12563 12590 12707 12719 12788 - 12591 12603 12634 12663 12691 12704 - 12570 12610 12613 12685 12689 15557 - 12527 12586 12588 12705 12713 12770 - 12585 12615 12635 12671 12696 12709 - 12611 12683 12687 12722 - 12338 12425 12456 12762 12804 12952 - 12597 12607 12637 12664 12695 12706 - 12315 12462 12542 12803 12832 12949 - 12611 12687 12690 12727 15548 15550 - 12525 12588 12594 12713 12720 12782 - 12574 12612 12690 12734 15550 15556 - 12596 12617 12629 12692 - 12602 12618 12640 12667 12699 12711 - 12604 12616 12639 12672 12694 12712 - 12540 12590 12598 12719 12724 12793 - 12568 12589 12642 12743 12745 15555 - 12530 12594 12598 12720 12724 12790 - 12599 12698 12718 15554 - 12603 12614 12645 12670 12704 12716 - 12607 12651 12674 12706 12717 15551 - 12460 12555 12621 12753 12797 12860 - 12539 12583 12622 12723 12750 12817 - 12618 12626 12657 12679 12711 12721 - 12282 12456 12511 12762 12999 13011 - 12608 12624 12681 12698 12735 15554 - 12614 12625 12663 12682 12716 12726 - 12615 12639 12648 12694 12709 12728 - 12616 12629 12658 12692 12712 12730 - 12487 12555 12633 12753 12791 12857 - 12627 12664 12684 12717 12729 15551 - 12239 12413 12502 12818 12971 13059 - 12420 12519 12546 12701 12828 12933 - 12578 12619 12631 12742 - 12521 12577 12636 12708 12794 12795 - 12626 12667 12688 12721 12732 15552 - 12554 12595 12632 12714 12779 12825 - 12624 12634 12669 12691 12735 12757 - 12625 12637 12670 12695 12726 12741 - 12649 12715 12722 12756 - 12627 12640 12674 12699 12729 12744 - 12613 12646 12738 15555 15557 - 12441 12532 12561 12777 12850 12958 - 12611 12649 12653 12722 12727 12765 - 12635 12679 12696 12732 12747 15552 - 12610 12646 12740 12769 15553 15557 - 12653 12655 12727 12734 12771 15550 - 12634 12645 12681 12704 12757 12758 - 12629 12656 12672 12730 - 12584 12631 12641 12742 12760 12807 - 12639 12658 12671 12712 12728 12749 - 12637 12651 12682 12706 12741 12751 - 12635 12648 12688 12709 12747 12755 - 12547 12620 12630 12778 12780 12858 - 12662 12669 12718 12735 12761 15554 - 12640 12657 12684 12711 12744 12754 - 12208 12366 12759 12889 13046 13109 - 12519 12528 12676 12702 12910 12933 - 12513 12528 12701 12739 12910 12919 - 12571 12601 12630 12752 12778 12849 - 12645 12663 12691 12716 12758 12763 - 12586 12641 12647 12760 12770 12829 - 12651 12664 12695 12717 12751 12764 - 12563 12620 12644 12780 12788 12862 - 12577 12622 12678 12750 12794 12824 - 12648 12671 12696 12728 12755 12768 - 12512 12606 12609 12811 12821 12836 - 12657 12667 12699 12721 12754 12766 - 12658 12672 12694 12730 12749 12767 - 12588 12647 12654 12770 12782 12842 - 12595 12623 12680 12737 12825 12840 - 12683 12748 12756 12786 - 12663 12670 12704 12726 12763 12772 - 12664 12674 12706 12729 12764 12773 - 12662 12698 12761 12776 - 12590 12644 12659 12788 12793 12863 - 12594 12654 12661 12782 12790 12851 - 12667 12679 12711 12732 12766 12774 - 12649 12683 12687 12756 12765 12796 - 12583 12632 12666 12779 12817 12884 - 12598 12659 12661 12790 12793 12861 - 11896 12269 12409 13015 13094 13233 - 12670 12682 12716 12741 12772 12785 - 12653 12687 12690 12765 12771 12808 - 12671 12694 12709 12749 12768 12784 - 12674 12684 12717 12744 12773 12787 - 12672 12692 12712 12767 - 12496 12638 12804 12892 12986 - 12679 12688 12721 12747 12774 12789 - 12476 12549 12736 12913 12975 - 12655 12690 12771 12783 12819 15556 - 12669 12681 12698 12757 12761 12805 - 12476 12628 12733 12927 12975 13032 15542 - 12623 12642 12714 12745 12838 12840 - 12685 12743 12801 12815 15555 15557 - 12513 12542 12702 12832 12919 12923 - 12689 12769 12783 12831 15553 15556 - 12682 12695 12726 12751 12785 12799 - 12631 12677 12693 12807 - 12660 12738 12745 12815 12820 15555 - 12684 12699 12729 12754 12787 12798 - 12642 12660 12737 12743 12820 12838 - 12606 12633 12791 12811 12879 - 12688 12696 12732 12755 12789 12800 - 12715 12775 12786 12816 - 12694 12712 12728 12767 12784 12802 - 12622 12666 12708 12817 12824 12895 - 12695 12706 12741 12764 12799 12810 - 12601 12621 12703 12797 12849 12905 - 12555 12665 12673 12857 12860 12937 - 12699 12711 12744 12766 12798 12809 - 12696 12709 12747 12768 12800 12812 - 12683 12715 12722 12786 12796 12830 - 12681 12691 12735 12758 12805 12833 12866 - 12691 12704 12757 12763 12813 12833 - 12208 12232 12700 12888 13109 13166 - 12641 12693 12705 12807 12829 12873 - 12698 12718 12735 12776 12805 12827 - 12456 12650 12668 12952 12999 - 12704 12716 12758 12772 12813 12814 - 12706 12717 12751 12773 12810 12822 - 12687 12722 12727 12796 12808 12841 - 12711 12721 12754 12774 12809 15558 - 12712 12730 12749 12802 - 12709 12728 12755 12784 12812 12823 - 12689 12740 12801 12831 12859 15557 - 12647 12705 12713 12829 12842 12891 - 12690 12727 12734 12808 12819 12853 - 12716 12726 12763 12785 12814 12826 - 12717 12729 12764 12787 12822 12834 - 12721 12732 12766 12789 12835 15558 - 12748 12806 12816 12845 - 12718 12761 12827 12839 - 12561 12636 12686 12795 12926 12958 - 12630 12697 12703 12849 12858 12922 - 12632 12680 12723 12825 12884 12946 - 12620 12697 12707 12858 12862 12929 - 12523 12605 12628 12907 12927 13031 - 12654 12713 12720 12842 12851 12904 - 12734 12740 12819 12831 12871 15556 - 12728 12749 12768 12802 12823 12837 - 12726 12741 12772 12799 12826 12844 - 12715 12748 12756 12816 12830 12854 - 12729 12744 12773 12798 12834 12843 - 12644 12707 12719 12862 12863 12930 - 12732 12747 12774 12800 12835 12846 - 12661 12720 12724 12851 12861 12917 - 12633 12673 12746 12857 12879 12954 - 12248 12502 12511 12971 13011 13200 - 12659 12719 12724 12861 12863 12925 - 12678 12708 12795 12824 12909 12959 - 12636 12678 12777 12794 12909 12926 - 12722 12756 12765 12830 12841 12870 - 12621 12665 12752 12860 12905 12968 - 12744 12754 12787 12809 12843 12852 - 12741 12751 12785 12810 12844 12856 - 12747 12755 12789 12812 12846 12848 - 12738 12769 12815 12859 15557 15559 - 12749 12767 12784 12837 - 12462 12638 12652 12892 12949 13029 - 12425 12496 12650 12731 12952 12986 13120 - 12735 12757 12761 12827 12866 12874 - 12775 12837 12845 12869 - 12693 12742 12760 12873 - 12727 12765 12771 12841 12853 12882 - 12754 12766 12798 12852 12865 15558 - 12751 12764 12799 12822 12856 12868 - 12606 12710 12746 12836 12879 12948 - 12755 12768 12800 12823 12848 12855 - 12758 12763 12814 12833 12847 - 12763 12772 12813 12826 12847 12864 - 12738 12743 12801 12820 12896 15559 - 12748 12775 12786 12845 12854 12878 - 12666 12723 12750 12884 12895 13001 - 12413 12581 12675 13057 13059 13172 - 12734 12771 12783 12853 12871 12900 - 12743 12745 12815 12838 12896 12903 - 12609 12710 12828 12836 12990 13013 - 12764 12773 12810 12834 12868 12875 - 12768 12784 12812 12837 12855 12867 - 12708 12750 12794 12895 12959 - 12680 12714 12779 12840 12946 12960 - 12772 12785 12814 12844 12864 12880 - 12761 12776 12805 12839 12874 12883 - 12546 12609 12676 12821 12933 13013 13053 - 12705 12760 12770 12873 12891 12943 - 12756 12786 12796 12854 12870 15561 - 12740 12769 12783 12859 12871 12915 - 12542 12652 12739 12923 12949 13045 - 12757 12758 12813 12847 12866 12877 - 12773 12787 12822 12843 12875 15560 - 12774 12789 12846 12872 12881 15558 - 12710 12811 12821 12948 12990 - 12784 12802 12806 12823 12867 12869 12886 - 12737 12745 12820 12840 12903 12931 - 12776 12827 12883 12885 - 12714 12737 12825 12838 12931 12960 - 12765 12796 12808 12870 12882 12911 - 12713 12770 12782 12891 12904 12965 - 12787 12798 12834 12852 12893 15560 - 12785 12799 12826 12856 12880 12899 - 12775 12806 12816 12869 12878 12901 - 12789 12800 12835 12848 12881 12894 - 12813 12814 12833 12864 12877 12890 - 12800 12812 12846 12855 12894 12897 - 12703 12752 12778 12905 12922 12985 - 12532 12605 12686 12907 12958 13085 13126 - 12720 12782 12790 12904 12917 12974 - 12798 12809 12843 12865 12893 12902 - 12771 12808 12819 12882 12900 12928 - 12786 12816 12830 12878 12914 15561 - 12812 12823 12848 12867 12897 12898 - 12799 12810 12844 12868 12899 12908 - 12673 12753 12791 12937 12954 13012 - 12697 12778 12780 12922 12929 12997 - 12769 12801 12831 12915 12955 15559 - 12665 12753 12797 12937 12968 13018 - 12724 12790 12793 12917 12925 12987 - 12707 12780 12788 12929 12930 13000 - 12719 12788 12793 12925 12930 12994 - 12814 12826 12847 12880 12890 12920 - 12809 12852 12872 12902 12912 15558 - 12757 12805 12833 12874 12877 12940 12947 - 12823 12837 12855 12886 12898 15562 - 12810 12822 12856 12875 12908 12916 - 12806 12837 12845 12886 12901 12918 - 12796 12830 12841 12911 15561 15563 - 12783 12819 12831 12900 12915 12967 - 12835 12865 12881 12912 12921 15558 - 12760 12807 12829 12943 - 12805 12827 12866 12883 12934 12940 - 12822 12834 12868 12916 12924 15560 - 11573 11578 12469 13315 13437 13684 - 12833 12847 12866 12890 12941 12947 - 12816 12845 12854 12901 12914 12942 - 12746 12791 12811 12948 12954 13016 - 12826 12844 12864 12899 12920 12953 - 12835 12846 12872 12894 12921 12935 - 12808 12841 12853 12911 12928 12963 - 12827 12839 12874 12885 12934 12938 - 12723 12779 12817 12946 13001 13063 - 12839 12883 12938 12944 - 12837 12867 12869 12918 12936 15562 - 12230 12329 12482 13041 13168 13498 - 12232 12409 12759 13094 13166 13267 - 12366 12581 12700 13046 13057 13154 - 12847 12864 12877 12920 12941 - 12770 12829 12842 12943 12965 13008 - 12638 12731 12803 12986 13029 13099 - 12843 12852 12902 12932 12945 15560 - 12846 12848 12881 12897 12935 12951 - 12750 12817 12824 12959 13001 13078 - 12815 12820 12903 12972 12982 15559 - 12848 12855 12894 12898 12950 12951 - 12855 12867 12897 12939 12950 15562 - 12844 12856 12880 12908 12953 12961 - 12819 12853 12871 12928 12967 12983 - 12845 12869 12878 12918 12942 12957 - 12852 12865 12893 12912 12945 12956 - 12820 12838 12896 12931 12982 12998 - 12782 12842 12851 12965 12974 13017 - 12752 12797 12849 12968 12985 13030 - 12164 12331 12600 13210 13213 13401 - 12605 12781 12850 13031 13085 - 12856 12868 12899 12916 12961 12962 - 12794 12795 12926 12959 13061 - 12701 12702 12919 12933 13098 13110 - 12841 12870 12882 12963 12981 15563 - 12865 12872 12902 12921 12956 12970 - 12549 12733 12975 13041 13371 15543 - 12854 12878 12942 12964 12976 15561 - 12831 12859 12871 12955 12967 13009 - 12868 12875 12908 12924 12962 12966 - 12790 12851 12861 12974 12987 13028 - 12869 12886 12901 12936 12957 12973 - 12702 12739 12910 12923 13060 13110 - 12864 12880 12890 12941 12953 12995 - 12872 12881 12912 12935 12970 12980 - 12778 12849 12858 12985 12997 13040 - 12739 12832 12919 13045 13060 - 12875 12916 12932 12966 12977 15560 - 12793 12861 12863 12987 12994 13035 - 12777 12795 12909 12958 13061 13096 - 12628 12736 12781 13031 13032 13128 - 12853 12882 12900 12963 12983 13002 - 12780 12858 12862 12997 13000 13044 - 12788 12862 12863 12994 13000 13042 - 12838 12840 12903 12960 12998 13025 - 12893 12924 12945 12977 15560 15564 - 12676 12701 12828 12910 13053 13098 13123 - 12874 12883 12938 12940 12988 12996 - 12881 12894 12921 12951 12980 12991 - 12886 12918 12939 12973 12993 15562 - 12753 12857 12860 13012 13018 13076 - 12883 12885 12934 12944 12988 12989 - 12898 12936 12950 12978 12993 15562 - 12866 12874 12934 12947 12996 13005 - 12877 12890 12920 12947 12995 13006 - 12878 12901 12914 12957 12976 12979 - 12829 12873 12891 13008 - 12885 12938 12989 12992 - 12893 12902 12932 12956 15564 - 12779 12825 12884 12960 13063 13067 - 12866 12877 12940 12941 13005 13006 - 12811 12836 12879 12990 13016 13071 - 12652 12803 12832 13029 13045 13143 - 12897 12898 12939 12951 12978 12984 - 12894 12897 12935 12950 12984 12991 - 12650 12762 12804 12999 13120 13158 - 12880 12899 12920 12961 12995 13036 - 12791 12857 12879 13012 13016 13077 - 12859 12915 12972 13009 13033 15559 - 12902 12912 12945 12970 13097 15564 - 12901 12918 12942 12973 12979 13003 - 12686 12777 12850 12926 13096 13126 - 12794 12824 12895 12909 13061 13078 - 12825 12840 12931 12946 13025 13067 - 12899 12908 12953 12962 13022 13036 - 12908 12916 12961 12966 13007 13022 - 12882 12911 12928 12981 13002 15565 - 12914 12976 13004 13010 15561 15563 - 12842 12891 12904 13008 13017 13055 - 12916 12924 12962 12977 13007 - 12871 12900 12915 12983 13009 13038 - 12797 12860 12905 13018 13030 13081 - 11028 11079 12178 13265 14023 14169 - 12912 12921 12956 12980 13097 - 12502 12675 12792 13059 13200 13230 - 12896 12955 12982 13033 13049 15559 - 12918 12936 12957 12993 13003 13021 - 12851 12904 12917 13017 13028 13073 - 12733 12736 12913 13032 13371 - 12914 12942 12964 12979 13010 13014 - 12924 12932 12966 13007 13023 15564 - 12939 12950 12984 12993 13019 13039 - 12942 12957 12976 13003 13014 - 12921 12935 12970 12991 13058 13097 - 12911 12963 13004 13034 15563 15565 - 12896 12903 12972 12998 13049 13051 - 12900 12928 12967 13002 13038 13047 - 12950 12951 12978 12991 13019 - 12849 12905 12922 13030 13040 13088 - 12731 12804 12892 13099 13120 13186 - 12861 12917 12925 13028 13035 13080 - 12934 12938 12989 12996 13020 13026 - 12938 12944 12988 12992 13020 13024 - 12821 12836 12948 13013 13071 13107 - 12935 12951 12980 12984 13019 13058 - 12944 12989 13024 13027 - 12936 12939 12973 12978 13021 13039 - 12863 12925 12930 13035 13042 13086 - 12920 12941 12953 13006 13036 13056 - 12934 12940 12988 13005 13026 13037 - 12858 12922 12929 13040 13044 13092 - 12903 12931 12982 13025 13051 13069 - 12668 12762 12952 13011 13158 13183 - 12862 12929 12930 13042 13044 13091 - 12817 12884 12895 13063 13078 13146 - 12928 12963 12983 13047 13050 15565 - 12957 12973 12979 13014 13021 13052 - 12964 12981 13010 13034 13048 15563 - 12940 12947 12996 13006 13037 13054 - 12941 12947 12995 13005 13054 13056 - 12962 12966 12977 13022 13023 13043 - 12891 12943 12965 13055 - 12915 12955 12967 13033 13038 13089 - 12964 12976 13004 13014 13048 13074 - 12511 12668 12792 12999 13183 13200 13295 - 12857 12937 12954 13076 13077 13125 - 12821 12828 12990 13053 13107 13141 - 12976 12979 13003 13010 13052 13074 - 12269 12600 12725 13210 13233 13367 - 12879 12948 12954 13071 13077 13121 - 12904 12965 12974 13055 13073 13104 - 12860 12937 12968 13076 13081 13130 - 12978 12984 12991 13039 13058 15567 - 12988 12989 13024 13026 13062 13065 - 12973 12993 13003 13039 13052 13083 - 12961 12962 13007 13036 13043 13064 - 12977 13007 13043 13079 15564 - 12989 12992 13020 13027 13065 13068 - 12931 12960 12998 13067 13069 13112 - 12988 12996 13020 13037 13062 13070 - 12992 13024 13068 13072 - 12917 12974 12987 13073 13080 13113 - 12803 12892 12949 13099 13143 13196 - 12905 12968 12985 13081 13088 13134 - 12781 12907 12927 13085 13128 13194 - 12736 12927 12975 13128 13371 - 12955 12972 13009 13049 13089 13114 - 12981 13004 13048 13066 13082 15565 - 12925 12987 12994 13080 13086 13127 - 12953 12961 12995 13022 13056 13064 13105 13106 - 12996 13005 13026 13054 13070 13084 - 12967 12983 13009 13047 13089 13115 - 12978 12993 13019 13021 13083 15567 - 12922 12985 12997 13088 13092 13139 - 12300 12317 12482 12887 12913 13371 13498 15543 - 12930 12994 13000 13086 13091 13133 - 13007 13022 13023 13064 13079 13100 - 12929 12997 13000 13091 13092 15568 - 12832 12923 12949 13060 13143 13203 - 12700 12889 13109 13154 13225 - 12983 13002 13038 13050 13108 13115 - 13004 13010 13034 13074 13082 13142 - 12972 12982 13033 13051 13114 13118 - 13002 13047 13066 13108 15565 - 12982 12998 13049 13069 13111 13118 - 13003 13014 13021 13074 13083 13124 - 12828 12933 13013 13123 13141 13180 - 13005 13006 13037 13056 13084 13093 13102 - 12965 13008 13017 13104 - 12995 13006 13036 13054 13093 13105 - 12581 12818 12889 13154 13172 13239 - 12980 12991 13019 13097 13156 15567 - 12675 12818 12971 13172 13230 13279 - 12919 12923 13045 13110 13185 13203 - 12909 12926 12959 13078 13096 13224 - 13020 13026 13065 13070 13087 13090 - 12884 12946 13001 13067 13146 13153 - 13022 13036 13043 13100 13106 - 13020 13024 13062 13068 13090 13095 - 13034 13050 13082 13108 13119 15565 - 12946 12960 13025 13063 13112 13153 13159 - 13024 13027 13065 13072 13095 13101 - 12998 13025 13051 13111 13112 - 13026 13037 13062 13084 13087 15566 - 12948 12990 13016 13107 13121 13160 - 13027 13068 13101 13103 - 12974 13017 13028 13104 13113 13144 - 13010 13014 13048 13052 13124 13142 - 11621 11680 11962 12643 13578 13616 13931 - 12937 13012 13018 13125 13130 13170 - 12954 13012 13016 13121 13125 13167 - 12895 12959 13001 13061 13146 13224 13247 - 13023 13043 13097 13100 13152 15564 - 12987 13028 13035 13113 13127 13155 - 12968 13018 13030 13130 13134 13175 - 13034 13048 13066 13119 13142 - 13021 13039 13052 13124 13151 15567 - 13037 13054 13070 13102 13116 15566 - 12850 12907 13031 13126 13194 13235 - 12994 13035 13042 13127 13133 13164 - 13062 13070 13090 13117 15566 - 12985 13030 13040 13134 13139 13178 - 13009 13033 13038 13114 13115 13176 - 13062 13065 13087 13095 13117 13129 - 13000 13042 13044 13133 13173 15568 - 12997 13040 13044 13139 13177 15568 - 13054 13056 13102 13105 13122 13131 - 12409 12725 12888 13233 13267 13370 - 13065 13068 13090 13101 13129 13132 - 12926 12958 13061 13126 13224 13261 - 12956 12970 12980 13058 13079 13152 13156 13214 15564 - 12910 12933 13110 13123 13202 13218 - 12892 12986 13029 13186 13196 13238 - 13043 13064 13079 13106 13149 13152 - 13068 13072 13095 13103 13132 13137 - 13054 13084 13093 13116 13122 13135 - 13072 13101 13137 13138 - 13017 13055 13073 13144 - 13036 13056 13093 13106 13131 13148 - 13036 13064 13100 13105 13148 13149 - 12990 13013 13071 13141 13160 13195 - 13047 13050 13066 13115 13119 13171 13187 - 12700 12759 13046 13166 13225 13297 - 12910 12919 13060 13098 13185 13218 - 13051 13069 13112 13118 13165 13181 - 13025 13067 13069 13111 13159 13165 - 13028 13073 13080 13144 13155 13182 - 13033 13049 13089 13118 13176 13189 - 13038 13047 13089 13108 13176 13187 - 13084 13102 13135 13140 13150 15566 - 13087 13090 13129 13140 13147 15566 - 13049 13051 13111 13114 13181 13189 - 13066 13082 13108 13142 13171 - 12804 12952 12986 13158 13186 13282 13292 - 13016 13071 13077 13160 13167 13204 - 13093 13102 13131 13135 13145 - 12933 13053 13098 13180 13202 13222 - 13052 13074 13083 13142 13151 13198 - 13012 13076 13077 13167 13170 13206 - 12850 12958 13085 13096 13235 13261 - 13035 13080 13086 13155 13164 13192 - 12927 13031 13032 13194 13371 13387 - 13090 13095 13117 13132 13147 13157 - 13018 13076 13081 13170 13175 13207 - 13093 13105 13122 13145 13148 13174 - 13095 13101 13129 13137 13157 13161 - 13042 13086 13091 13164 13173 13201 - 13030 13081 13088 13175 13178 13209 - 13102 13116 13122 13145 13150 13169 - 11951 12361 12643 13168 13616 13680 - 13101 13103 13132 13138 13161 13163 - 13103 13137 13162 13163 - 13040 13088 13092 13177 13178 13208 - 13116 13117 13147 13150 13179 15566 - 13013 13053 13107 13180 13195 13231 - 13048 13074 13082 13119 13124 13171 13198 13249 - 12949 13029 13045 13196 13203 13288 - 13073 13104 13113 13182 - 13122 13131 13135 13169 13174 - 13001 13063 13078 13153 13247 13259 - 13117 13129 13140 13157 13179 13184 - 13105 13106 13131 13149 13174 13199 - 13100 13106 13148 13152 13199 13215 - 13116 13135 13140 13169 13179 13197 - 13083 13124 13156 13198 13236 15567 - 13079 13097 13100 13149 13214 13215 - 13063 13067 13146 13159 13259 15569 - 12889 13046 13057 13225 13239 13291 - 13080 13113 13127 13182 13192 13219 - 13058 13097 13151 13214 13236 15567 - 13129 13132 13147 13161 13184 13188 - 12952 12999 13120 13183 13266 13292 - 13067 13112 13153 13165 13227 15569 - 13071 13107 13121 13195 13204 13240 - 13132 13137 13157 13163 13188 13190 - 13138 13163 13191 13193 - 13137 13138 13161 13162 13190 13193 - 13086 13127 13133 13192 13201 13229 - 13111 13112 13159 13181 13216 13227 - 12759 12888 13109 13267 13297 13390 - 13077 13121 13125 13204 13206 13243 - 12230 12361 12887 13136 13498 13680 - 13135 13145 13150 13174 13197 13228 - 13076 13125 13130 13206 13207 13245 - 13108 13119 13142 13187 13249 13251 - 12818 13057 13059 13239 13279 13323 - 13091 13133 13201 13205 13234 15568 - 13131 13145 13148 13169 13199 13228 - 13081 13130 13134 13207 13209 13246 - 13089 13114 13115 13187 13189 13237 13258 - 13092 13139 13205 13208 13241 15568 - 13088 13134 13139 13208 13209 13244 - 13140 13147 13150 13184 13197 13211 - 13053 13123 13141 13222 13231 13264 - 13111 13118 13165 13189 13216 13232 - 13113 13144 13155 13219 - 12999 13011 13158 13266 13295 13334 - 13147 13157 13179 13188 13211 13217 - 13060 13110 13203 13218 13290 13294 - 12986 13099 13120 13238 13282 13293 - 13108 13115 13171 13176 13251 13258 - 13157 13161 13184 13190 13217 13220 - 13114 13118 13176 13181 13232 13237 - 13161 13163 13188 13193 13220 13223 - 13162 13193 13221 13226 - 13127 13155 13164 13219 13229 13256 - 13162 13163 13190 13191 13223 13226 - 13031 13085 13128 13235 13352 13387 - 13107 13141 13160 13231 13240 13271 - 13029 13099 13143 13238 13288 13301 - 13150 13169 13179 13211 13228 13242 - 13124 13142 13151 13236 13249 13325 - 13148 13149 13174 13215 13228 13262 - 12792 12971 13011 13230 13295 13418 13433 - 13133 13164 13173 13229 13234 13263 - 13098 13123 13218 13222 13257 13270 - 13045 13060 13143 13185 13288 13294 13321 - 13121 13160 13167 13240 13243 13275 - 13173 13177 13234 13241 13268 15568 - 13125 13167 13170 13243 13245 13277 - 13130 13170 13175 13245 13246 13276 - 13139 13177 13178 13241 13244 13272 - 13134 13175 13178 13244 13246 13274 - 12600 12906 13015 13367 13401 13523 - 13179 13184 13197 13217 13242 13248 - 11037 11492 11903 13588 14084 14344 - 12331 12469 12906 13401 13437 13629 - 13097 13152 13156 13215 13236 13298 13350 - 13149 13152 13199 13214 13262 13298 - 13165 13181 13227 13232 13269 - 13184 13188 13211 13220 13248 13250 - 13098 13110 13185 13202 13257 13286 13290 - 13155 13182 13192 13256 - 13188 13190 13217 13223 13250 13252 - 13191 13226 13253 13255 - 13123 13180 13202 13264 13270 13300 - 13190 13193 13220 13226 13252 13254 - 13061 13078 13096 13247 13261 13356 13382 - 13046 13109 13154 13291 13297 13420 - 13191 13193 13221 13223 13254 13255 - 13159 13165 13216 13269 13310 15569 - 13169 13174 13197 13199 13242 13262 13287 - 13164 13192 13201 13256 13263 13289 - 12971 13059 13200 13279 13384 13433 - 13141 13180 13195 13264 13271 13305 - 13181 13189 13216 13237 13269 13285 - 12725 13015 13094 13367 13370 13484 - 13173 13201 13205 13263 13268 13296 - 13085 13126 13194 13261 13352 13358 - 13151 13156 13198 13214 13325 13350 - 13176 13189 13232 13258 13285 13299 - 13099 13186 13196 13293 13301 13345 - 13057 13154 13172 13291 13323 13330 - 13160 13195 13204 13271 13275 13309 - 13177 13205 13208 13268 13272 13302 - 13197 13211 13228 13248 13278 13287 - 13167 13204 13206 13275 13277 13313 - 13178 13208 13209 13272 13274 13306 - 13170 13206 13207 13276 13277 13312 - 13175 13207 13209 13274 13276 13308 - 13078 13146 13224 13259 13351 13356 - 13211 13217 13242 13250 13273 13278 - 13142 13171 13198 13251 13325 13346 - 13217 13220 13248 13252 13273 15570 - 13171 13187 13249 13258 13328 13346 - 13220 13223 13250 13254 13280 15570 - 13221 13255 13281 13284 - 13223 13226 13252 13255 13280 13283 - 13221 13226 13253 13254 13283 13284 - 13192 13219 13229 13289 - 13202 13218 13270 13286 13318 - 13176 13187 13237 13251 13299 13328 - 13146 13153 13247 13342 13351 15569 - 6562 6740 11299 14209 15024 15057 - 13096 13126 13224 13235 13358 13382 - 13199 13215 13228 13287 13298 15571 - 13201 13229 13234 13289 13296 13320 - 13180 13222 13231 13300 13305 13332 - 11028 11137 12969 13426 14169 14468 - 13158 13183 13292 13334 13378 - 12888 13094 13166 13370 13390 13475 - 13205 13234 13241 13296 13302 13324 - 13216 13227 13232 13285 13310 13357 - 13202 13222 13257 13300 13318 13338 - 13195 13231 13240 13305 13309 13337 - 13208 13241 13244 13302 13306 13329 - 13248 13250 13278 13303 13304 15570 - 13209 13244 13246 13306 13308 13331 - 13204 13240 13243 13309 13313 13340 - 13207 13245 13246 13308 13312 13336 - 13206 13243 13245 13312 13313 13339 - 13242 13248 13273 13287 13304 13319 - 13059 13172 13230 13323 13384 13424 - 13252 13254 13283 13307 13314 15570 - 13253 13284 13311 13316 - 13120 13186 13292 13293 13363 13386 - 13254 13255 13280 13284 13314 13317 - 13253 13255 13281 13283 13316 13317 - 13232 13237 13269 13299 13348 13357 - 13218 13257 13290 13318 13347 - 13228 13242 13262 13278 13319 13349 15571 - 13143 13196 13203 13301 13321 13385 13391 - 13229 13256 13263 13320 - 13185 13218 13286 13294 13347 13361 - 13154 13225 13239 13330 13420 13435 - 13120 13158 13266 13282 13378 13386 - 13186 13238 13282 13345 13360 13363 - 13185 13203 13290 13321 13361 13389 - 13011 13183 13200 13334 13418 13487 - 13234 13263 13268 13320 13324 13353 - 13109 13166 13225 13390 13420 13479 - 13214 13215 13262 13350 13393 15571 - 13237 13258 13285 13328 13348 13365 - 13222 13264 13270 13332 13338 13373 - 13196 13238 13288 13345 13385 13399 - 13241 13268 13272 13324 13329 13359 - 13273 13304 13307 13322 13326 15570 - 13273 13278 13303 13319 13322 13327 - 13231 13264 13271 13332 13337 13375 - 13244 13272 13274 13329 13331 13366 - 13280 13303 13314 13326 13333 15570 - 13246 13274 13276 13331 13336 13368 - 13240 13271 13275 13337 13340 13377 - 13227 13269 13342 13357 13445 15569 - 13281 13316 13335 13343 - 13245 13276 13277 13336 13339 13374 - 13243 13275 13277 13339 13340 13376 - 13280 13283 13307 13317 13333 13341 - 11578 11733 12876 13654 13684 14021 - 13281 13284 13311 13317 13343 13344 - 13283 13284 13314 13316 13341 13344 - 13257 13270 13286 13338 13347 13383 - 13278 13287 13304 13327 13349 13354 - 13263 13289 13296 13353 - 13203 13288 13294 13389 13391 13419 - 13303 13304 13326 13327 13355 - 13172 13239 13279 13330 13424 13432 - 13268 13296 13302 13353 13359 13392 - 13198 13236 13249 13346 13350 13423 13494 - 13303 13307 13322 13333 13355 13362 - 13304 13319 13322 13354 13355 13364 - 13251 13258 13299 13346 13365 13388 - 13272 13302 13306 13359 13366 13395 - 13239 13291 13323 13432 13435 - 13274 13306 13308 13366 13368 13396 - 13264 13300 13305 13373 13375 13406 - 13307 13314 13326 13341 13362 13372 - 13183 13266 13295 13378 13453 13487 - 13311 13343 13369 13379 - 13276 13308 13312 13368 13374 13400 - 13271 13305 13309 13375 13377 13407 - 13270 13300 13318 13373 13383 13410 - 13277 13312 13313 13374 13376 13404 - 13275 13309 13313 13376 13377 13405 - 13314 13317 13333 13344 13372 13380 - 13259 13310 13351 13445 13461 15569 - 13311 13316 13335 13344 13379 13381 - 13316 13317 13341 13343 13380 13381 - 13238 13293 13301 13360 13399 13417 - 13249 13251 13325 13328 13388 13423 - 13286 13290 13318 13361 13383 13411 - 13285 13299 13357 13365 13403 - 13287 13319 13354 13397 13408 15571 - 13214 13236 13298 13325 13393 13474 13494 - 13247 13259 13342 13356 13461 - 13194 13235 13358 13387 13610 - 13296 13320 13324 13392 - 13319 13327 13349 13364 13397 - 13322 13326 13327 13362 13364 13394 - 13224 13247 13351 13382 13461 13532 - 13269 13285 13310 13348 13403 13445 13459 - 13235 13261 13352 13382 13610 - 13302 13324 13329 13392 13395 13421 - 13293 13345 13363 13417 13422 - 13290 13294 13347 13389 13411 13430 - 13326 13333 13355 13372 13394 13398 - 13282 13293 13360 13386 13422 13444 - 13327 13354 13355 13394 13397 13413 - 13299 13328 13348 13388 13403 13428 - 13306 13329 13331 13395 13396 13425 - 13015 13210 13233 13484 13523 13604 - 13308 13331 13336 13396 13400 13429 - 13335 13379 13402 13412 - 13094 13233 13267 13475 13484 13557 - 12913 12975 13032 13041 13128 13387 13498 13811 - 13333 13341 13362 13380 13398 13409 - 13300 13332 13338 13406 13410 13441 - 13312 13336 13339 13400 13404 13431 - 13305 13332 13337 13406 13407 13439 - 13313 13339 13340 13404 13405 13436 - 13309 13337 13340 13405 13407 13438 - 13266 13292 13334 13386 13453 13456 - 13335 13343 13369 13381 13412 13416 - 13341 13344 13372 13381 13409 13415 - 13343 13344 13379 13380 13415 13416 - 13224 13261 13356 13358 13532 13610 - 13318 13338 13347 13410 13411 13443 - 13230 13279 13424 13433 13509 - 13288 13301 13391 13399 13446 13452 - 13282 13292 13363 13378 13444 13456 - 13128 13194 13352 13371 13610 13811 - 13328 13346 13365 13423 13428 - 13294 13321 13361 13419 13430 13455 - 13166 13267 13297 13475 13479 13537 - 13288 13321 13385 13419 13446 13457 - 13324 13353 13359 13421 - 13298 13350 13408 13466 13474 15571 - 13355 13362 13364 13398 13413 13427 - 13329 13359 13366 13421 13425 13451 - 13331 13366 13368 13425 13429 13454 - 13349 13354 13364 13408 13413 13450 13462 - 13362 13372 13394 13409 13427 13440 - 13301 13345 13385 13417 13452 13458 - 13336 13368 13374 13429 13431 13460 - 12906 13210 13213 13523 13629 13681 - 13369 13412 13434 13442 - 13348 13357 13365 13428 13459 13502 - 13339 13374 13376 13431 13436 13463 - 13340 13376 13377 13436 13438 13465 - 13332 13373 13375 13439 13441 13468 - 13337 13375 13377 13438 13439 13467 - 13349 13393 13397 13462 13466 15571 - 13372 13380 13398 13415 13440 13447 - 13338 13373 13383 13441 13443 13472 - 13347 13361 13383 13430 13443 13471 - 13369 13379 13402 13416 13442 13448 - 13364 13394 13397 13427 13450 - 10857 11227 11933 13426 14593 14738 - 13380 13381 13409 13416 13447 13449 - 13379 13381 13412 13415 13448 13449 - 13345 13360 13399 13422 13458 13470 - 13200 13295 13433 13487 13555 13558 - 13321 13389 13391 13455 13457 13485 - 13225 13291 13297 13435 13479 13561 13581 - 13359 13392 13395 13451 - 13360 13363 13417 13444 13470 13489 - 13325 13346 13388 13428 13494 13525 - 13279 13323 13384 13432 13509 13520 - 13366 13395 13396 13451 13454 13478 - 11137 11227 13265 13414 14468 14738 - 13394 13398 13413 13440 13450 13469 - 13365 13388 13403 13423 13502 13525 - 13368 13396 13400 13454 13460 13483 - 13361 13389 13411 13455 13471 13491 - 13374 13400 13404 13460 13463 13486 - 13323 13330 13424 13435 13520 13540 - 13200 13230 13384 13418 13509 13555 13583 - 13402 13442 13464 13473 - 13291 13330 13420 13432 13540 13581 - 13376 13404 13405 13463 13465 13488 - 12469 12876 13213 13629 13684 13854 - 13377 13405 13407 13465 13467 13490 - 13375 13406 13407 13467 13468 13493 - 13398 13409 13427 13447 13469 13476 - 13373 13406 13410 13468 13472 13495 - 13402 13412 13434 13448 13473 13477 - 13383 13410 13411 13471 13472 13496 - 13363 13386 13422 13456 13489 13506 - 13310 13342 13357 13459 13461 13552 13575 - 13385 13391 13452 13457 13482 13497 - 13409 13415 13440 13449 13476 13481 - 13412 13416 13442 13449 13477 13480 - 13415 13416 13447 13448 13480 13481 - 13397 13413 13427 13462 13469 13501 - 13395 13421 13425 13478 - 13385 13399 13446 13458 13482 13499 - 13334 13378 13456 13487 13524 13571 - 13396 13425 13429 13478 13483 13503 - 13389 13419 13430 13485 13491 13516 - 13378 13386 13444 13453 13506 13524 - 13391 13419 13446 13485 13497 13515 - 13399 13417 13452 13470 13499 13512 - 13357 13403 13445 13502 13552 - 13400 13429 13431 13483 13486 13507 - 13342 13351 13356 13445 13532 13575 - 13397 13408 13450 13466 13501 13550 - 13404 13431 13436 13486 13488 13513 - 13434 13473 13492 13500 - 13405 13436 13438 13488 13490 13514 - 13393 13408 13462 13474 13550 13607 - 13407 13438 13439 13490 13493 13517 - 13406 13439 13441 13493 13495 13519 - 13427 13440 13450 13476 13501 13505 - 13417 13422 13458 13489 13512 13527 - 13411 13430 13443 13491 13496 13518 - 13410 13441 13443 13495 13496 13522 - 13434 13442 13464 13477 13500 13504 - 13350 13393 13466 13494 13607 - 13267 13370 13390 13537 13557 13602 - 13440 13447 13469 13481 13505 13510 - 13442 13448 13473 13480 13504 13508 - 13425 13451 13454 13503 - 13297 13390 13420 13537 13561 13582 - 13448 13449 13477 13481 13508 13511 - 13447 13449 13476 13480 13510 13511 - 13446 13452 13497 13499 13526 - 13429 13454 13460 13503 13507 13529 - 13233 13367 13370 13557 13604 13674 - 13419 13455 13457 13515 13516 13538 - 13431 13460 13463 13507 13513 13530 - 13295 13334 13418 13453 13558 13571 13617 - 13436 13463 13465 13513 13514 13533 - 13422 13444 13470 13506 13527 13551 - 13438 13465 13467 13514 13517 13536 - 13430 13455 13471 13516 13518 13542 - 13464 13500 13521 13528 - 13439 13467 13468 13517 13519 13541 - 13325 13350 13423 13474 13525 13607 13699 - 13441 13468 13472 13519 13522 13545 - 13443 13471 13472 13518 13522 13546 - 13446 13457 13482 13515 13526 13548 - 12887 13041 13168 13371 13680 13811 14098 - 13452 13458 13482 13512 13526 13549 - 13464 13473 13492 13504 13528 13531 - 13450 13462 13469 13505 13550 13564 - 13403 13428 13459 13525 13552 13635 - 13454 13478 13483 13529 - 13473 13477 13500 13508 13531 13534 - 13469 13476 13501 13510 13543 13564 - 13444 13456 13489 13524 13551 13580 - 13460 13483 13486 13529 13530 13553 - 13477 13480 13504 13511 13534 13539 - 13384 13424 13433 13520 13583 13600 13605 - 13476 13481 13505 13511 13543 13544 - 13480 13481 13508 13510 13539 13544 - 13458 13470 13499 13527 13549 13562 - 13463 13486 13488 13530 13533 13556 - 13465 13488 13490 13533 13536 13560 - 13457 13485 13497 13538 13548 13570 - 13455 13485 13491 13538 13542 13566 - 13467 13490 13493 13536 13541 13563 - 13471 13491 13496 13542 13546 13568 - 13468 13493 13495 13541 13545 13565 - 13424 13432 13509 13540 13587 13600 - 13492 13528 13547 13554 - 13472 13495 13496 13545 13546 13569 - 13210 13367 13401 13604 13681 13731 - 13453 13456 13506 13571 13580 13614 - 13423 13428 13494 13502 13635 13699 - 13482 13497 13499 13548 13549 13574 - 13470 13489 13512 13551 13562 13586 - 13492 13500 13521 13531 13554 13559 - 13483 13503 13507 13553 - 13486 13507 13513 13553 13556 13579 - 13500 13504 13528 13534 13559 13567 - 13356 13382 13461 13575 13610 13709 - 13488 13513 13514 13556 13560 13585 - 13504 13508 13531 13539 13567 13572 - 8355 10635 13856 14090 14887 14914 - 13490 13514 13517 13560 13563 13589 - 13390 13475 13479 13582 13602 13657 - 13485 13515 13516 13566 13570 13595 - 13508 13511 13534 13544 13572 13576 - 13432 13435 13520 13581 13587 13641 - 13493 13517 13519 13563 13565 13590 - 13491 13516 13518 13566 13568 13594 - 13505 13510 13544 13564 13577 - 13510 13511 13539 13543 13576 13577 - 13495 13519 13522 13565 13569 13592 - 13496 13518 13522 13568 13569 13593 - 13521 13554 13573 13584 - 13497 13515 13526 13570 13574 13597 - 13499 13512 13526 13562 13574 13596 - 13462 13466 13501 13564 13607 13663 - 13489 13506 13527 13580 13586 13611 - 13445 13459 13502 13575 13635 13706 - 13507 13529 13530 13579 - 13521 13528 13547 13559 13584 13591 - 13418 13433 13558 13583 13648 13651 - 13513 13530 13533 13579 13585 13603 - 13370 13475 13484 13602 13674 13748 - 13418 13487 13555 13617 13648 13683 - 13528 13531 13554 13567 13591 13598 - 13514 13533 13536 13585 13589 13609 - 13420 13479 13581 13582 13676 13687 - 13512 13527 13549 13586 13596 13619 - 13517 13536 13541 13589 13590 13615 - 13501 13505 13543 13550 13577 13663 - 13519 13541 13545 13590 13592 13618 - 13516 13538 13542 13594 13595 13622 - 13531 13534 13559 13572 13598 13601 - 13518 13542 13546 13593 13594 13621 - 13522 13545 13546 13592 13593 13620 - 13515 13538 13548 13595 13597 13623 - 13453 13487 13524 13614 13617 13647 13653 - 13534 13539 13567 13576 13601 13606 - 13547 13584 13599 13613 - 13526 13548 13549 13596 13597 13625 - 13445 13461 13532 13552 13706 13709 - 13539 13544 13572 13577 13606 13612 - 13543 13544 13564 13576 13612 13663 - 11962 12320 13075 13730 13931 14292 - 13530 13553 13556 13603 - 13506 13524 13551 13611 13614 13637 - 13420 13435 13540 13561 13641 13676 13696 - 13479 13537 13561 13657 13687 - 13433 13509 13555 13605 13651 13666 - 13547 13554 13573 13591 13613 13624 - 13533 13556 13560 13603 13609 13628 - 13527 13551 13562 13611 13619 13636 - 13520 13540 13600 13641 13655 - 11492 11859 13212 13730 14344 14483 - 13536 13560 13563 13609 13615 13631 - 13541 13563 13565 13615 13618 13632 - 13554 13559 13584 13598 13624 13627 - 13545 13565 13569 13618 13620 13638 - 13546 13568 13569 13620 13621 13640 - 13542 13566 13568 13621 13622 13642 - 13538 13566 13570 13622 13623 13643 - 13549 13562 13574 13619 13625 13644 - 13548 13570 13574 13623 13625 13645 - 13559 13567 13591 13601 13627 13630 - 13573 13613 13626 13634 - 13509 13520 13587 13605 13655 13660 - 13567 13572 13598 13606 13630 13633 - 13475 13537 13557 13657 13732 13748 - 13556 13579 13585 13628 - 13367 13484 13523 13674 13731 13776 - 13509 13583 13600 13660 13666 - 13572 13576 13601 13612 13633 13639 - 13466 13474 13494 13550 13663 13699 13791 - 410 5091 7666 14718 15121 15144 - 13560 13585 13589 13628 13631 13650 - 13352 13358 13382 13387 13532 13709 13811 13885 - 13551 13580 13586 13636 13637 13659 - 13576 13577 13606 13639 13663 13677 - 13573 13584 13599 13624 13634 13646 - 13524 13571 13580 13637 13647 13671 - 13563 13589 13590 13631 13632 13656 - 12643 13075 13136 13680 13931 14161 - 13487 13558 13571 13653 13683 13700 - 13565 13590 13592 13632 13638 13658 - 13562 13586 13596 13636 13644 13667 - 13569 13592 13593 13638 13640 13661 - 13568 13593 13594 13640 13642 13665 - 13566 13594 13595 13642 13643 13668 - 13570 13595 13597 13643 13645 13669 - 13584 13591 13613 13627 13646 13652 - 13574 13596 13597 13644 13645 13670 - 13599 13634 13649 13664 - 13591 13598 13624 13630 13652 13662 - 13585 13603 13609 13650 - 13213 13401 13437 13681 13854 13876 - 13598 13601 13627 13633 13662 13672 - 13589 13609 13615 13650 13656 13679 - 13590 13615 13618 13656 13658 13682 - 13601 13606 13630 13639 13672 13673 - 13599 13613 13626 13646 13664 13675 - 13502 13525 13552 13699 13706 13832 - 13586 13611 13619 13659 13667 13690 - 13580 13611 13614 13659 13671 13689 - 13592 13618 13620 13658 13661 13685 - 13606 13612 13633 13673 13677 - 13593 13620 13621 13661 13665 13688 - 13540 13581 13587 13655 13696 13744 - 13594 13621 13622 13665 13668 13691 - 13595 13622 13623 13668 13669 13693 - 13596 13619 13625 13667 13670 13692 - 13597 13623 13625 13669 13670 13694 - 13613 13624 13634 13652 13675 13686 - 13571 13614 13653 13671 13697 13708 - 13555 13558 13651 13683 13723 13740 - 13626 13664 13678 13695 - 13609 13628 13631 13679 - 13555 13583 13648 13666 13723 13726 - 13624 13627 13646 13662 13686 13698 - 13571 13617 13647 13700 13708 13725 - 11733 12178 13315 14021 14023 14374 - 13587 13600 13641 13660 13722 13744 - 13615 13631 13632 13679 13682 13702 - 13537 13582 13602 13687 13732 13759 - 13618 13632 13638 13682 13685 13707 - 13611 13636 13637 13689 13690 13712 - 13600 13605 13655 13666 13720 13722 - 13620 13638 13640 13685 13688 13710 - 13627 13630 13652 13672 13698 13701 - 13550 13564 13577 13607 13612 13677 13766 13791 - 13626 13634 13649 13675 13695 13703 - 13621 13640 13642 13688 13691 13711 - 13583 13605 13651 13660 13720 13726 - 13619 13636 13644 13690 13692 13714 - 13622 13642 13643 13691 13693 13713 - 13623 13643 13645 13693 13694 13715 - 13625 13644 13645 13692 13694 13716 - 13614 13637 13647 13689 13697 13718 - 13630 13633 13662 13673 13701 13705 - 13633 13639 13672 13677 13705 13736 - 13484 13557 13604 13748 13776 13823 - 13634 13646 13664 13686 13703 13717 - 13561 13581 13687 13696 13773 13777 - 13612 13639 13663 13673 13736 13766 - 13649 13695 13704 13719 - 13631 13650 13656 13702 - 13136 13168 13498 13616 14098 14161 - 13401 13523 13629 13731 13876 13897 - 13632 13656 13658 13702 13707 13724 - 13558 13617 13648 13700 13740 13770 - 12876 13315 13437 13854 14021 14159 - 13638 13658 13661 13707 13710 13728 - 13646 13652 13675 13698 13717 13721 - 13561 13582 13657 13676 13759 13777 - 13640 13661 13665 13710 13711 13733 - 13637 13659 13671 13712 13718 13737 - 13636 13659 13667 13712 13714 13738 - 13642 13665 13668 13711 13713 13735 - 13644 13667 13670 13714 13716 13741 - 13643 13668 13669 13713 13715 13739 - 13645 13669 13670 13715 13716 13742 - 13649 13664 13678 13703 13719 13729 - 13581 13641 13676 13744 13773 13793 - 13647 13671 13708 13718 13743 - 13652 13662 13686 13701 13721 13734 - 13494 13525 13607 13635 13791 13832 13945 - 13617 13653 13683 13725 13767 13770 - 13662 13672 13698 13705 13734 13745 - 13656 13679 13682 13724 - 13664 13675 13695 13717 13729 13746 - 13678 13719 13727 13747 - 13672 13673 13701 13736 13745 - 13552 13575 13635 13709 13832 13902 - 13658 13682 13685 13724 13728 13749 - 13647 13653 13697 13725 13743 13758 - 13532 13575 13610 13706 13885 13902 - 13661 13685 13688 13728 13733 13753 - 13665 13688 13691 13733 13735 13755 - 13659 13689 13690 13737 13738 13760 - 13668 13691 13693 13735 13739 13757 - 13667 13690 13692 13738 13741 13762 - 13669 13693 13694 13739 13742 13761 - 13670 13692 13694 13741 13742 13763 - 13675 13686 13703 13721 13746 13751 - 13671 13689 13697 13737 13743 13764 - 13678 13695 13704 13729 13747 13756 - 13660 13666 13722 13726 13779 13788 - 13686 13698 13717 13734 13751 13765 - 13655 13660 13720 13744 13774 13788 - 13648 13651 13726 13740 13794 13798 - 13682 13702 13707 13749 - 13653 13700 13708 13758 13767 13778 - 13651 13666 13720 13723 13779 13794 - 13704 13747 13754 13769 - 13685 13707 13710 13749 13753 13772 - 13695 13703 13719 13746 13756 13768 - 11859 12320 13578 13588 14292 14483 - 13523 13604 13681 13776 13897 13917 - 13602 13657 13748 13759 13829 13850 - 13688 13710 13711 13753 13755 13775 - 13698 13701 13721 13745 13765 13771 - 13691 13711 13713 13755 13757 13780 - 13673 13677 13705 13745 13766 13862 - 13689 13712 13718 13760 13764 13784 - 13690 13712 13714 13760 13762 13785 - 13693 13713 13715 13757 13761 13782 - 13648 13683 13723 13770 13798 13808 - 13692 13714 13716 13762 13763 13787 - 13694 13715 13716 13761 13763 13786 - 13697 13708 13718 13758 13764 13789 - 13641 13655 13696 13722 13774 13793 13812 - 13701 13705 13734 13736 13771 13862 - 13703 13717 13729 13751 13768 13783 - 13704 13719 13727 13756 13769 13790 - 13557 13602 13674 13732 13823 13850 13894 - 13707 13724 13728 13772 - 7436 7933 8232 14308 14955 15001 - 13717 13721 13746 13765 13783 13792 - 10539 11903 14084 14768 15544 15601 - 13710 13728 13733 13772 13775 13797 - 13727 13769 13781 13795 - 13711 13733 13735 13775 13780 13799 - 13719 13729 13747 13768 13790 13796 - 13713 13735 13739 13780 13782 13801 - 13708 13725 13743 13778 13789 13807 - 13657 13687 13732 13777 13829 13840 - 13712 13737 13738 13784 13785 13803 - 13715 13739 13742 13782 13786 13802 - 13714 13738 13741 13785 13787 13804 - 13716 13741 13742 13786 13787 15572 - 13718 13737 13743 13784 13789 13805 - 13721 13734 13751 13771 13792 13800 - 13663 13677 13736 13791 13862 14018 - 13700 13725 13770 13778 13818 13826 - 13729 13746 13756 13783 13796 13809 - 13727 13747 13754 13790 13795 13810 - 13683 13700 13740 13767 13808 13826 13836 - 13734 13745 13765 13800 13862 - 13728 13749 13753 13797 - 13676 13696 13777 13793 13857 13858 - 13722 13744 13788 13812 13837 - 13733 13753 13755 13797 13799 13816 - 13604 13674 13731 13823 13917 13928 - 13676 13687 13759 13773 13840 13858 - 13725 13758 13767 13807 13813 13818 - 13720 13726 13788 13794 13830 13833 - 13735 13755 13757 13799 13801 13817 - 13754 13795 13806 13815 - 13739 13757 13761 13801 13802 13820 - 13746 13751 13768 13792 13809 13814 - 13737 13760 13764 13803 13805 13822 - 13738 13760 13762 13803 13804 13824 - 13742 13761 13763 13802 15572 15573 - 13741 13762 13763 13804 13825 15572 - 13720 13722 13774 13779 13833 13837 - 13743 13758 13764 13805 13807 13821 - 13747 13756 13769 13796 13810 13819 - 13607 13663 13699 13766 13945 14018 - 13751 13765 13783 13800 13814 13828 - 13696 13744 13773 13812 13857 13889 - 13723 13726 13779 13798 13830 13835 13859 - 13754 13769 13781 13810 13815 13831 - 13756 13768 13790 13809 13819 13834 - 13753 13772 13775 13816 - 13723 13740 13794 13808 13835 13849 - 13755 13775 13780 13816 13817 13839 - 13765 13771 13792 13828 13862 - 13757 13780 13782 13817 13820 13842 - 13761 13782 13786 13820 13844 15573 - 13760 13784 13785 13822 13824 13845 - 13762 13785 13787 13824 13825 13847 - 13764 13784 13789 13821 13822 13843 - 13781 13815 13827 13841 - 13758 13778 13789 13813 13821 13838 - 13740 13770 13798 13836 13849 13866 - 13768 13783 13796 13814 13834 13848 - 13769 13790 13795 13819 13831 13851 - 13371 13387 13498 13610 13885 14098 14198 - 13744 13774 13793 13837 13882 13889 - 13778 13807 13818 13838 13853 - 13783 13792 13809 13828 13848 13855 - 13781 13795 13806 13831 13841 13860 - 13775 13797 13799 13839 - 13780 13799 13801 13839 13842 13865 - 13767 13778 13813 13826 13853 13861 - 13790 13796 13810 13834 13851 13864 - 13782 13801 13802 13842 13844 13867 - 13789 13805 13807 13838 13843 13863 - 13784 13803 13805 13843 13845 13868 - 13674 13748 13776 13894 13928 13954 - 13785 13803 13804 13845 13847 13870 - 13787 13804 13846 13847 13871 15572 - 13767 13770 13818 13836 13861 13877 - 13806 13841 13852 13872 - 13792 13800 13814 13855 13862 13881 - 13732 13759 13840 13850 13916 13939 - 13779 13794 13833 13859 13873 13883 - 13795 13810 13815 13851 13860 13875 - 13635 13699 13706 13902 13945 14079 - 13779 13788 13830 13837 13883 13899 - 13796 13809 13819 13848 13864 13878 - 13794 13798 13849 13859 13880 - 13770 13808 13826 13866 13877 13904 - 13774 13788 13812 13833 13882 13899 - 13807 13813 13821 13853 13863 13879 - 13799 13816 13817 13865 - 13759 13777 13829 13858 13916 13922 - 13806 13815 13827 13860 13872 13884 - 13801 13817 13820 13865 13867 13888 - 13805 13821 13822 13863 13868 13886 - 13802 13820 13867 13869 13890 15573 - 13803 13822 13824 13868 13870 13891 - 13825 13869 13871 13892 15572 15573 - 13804 13824 13825 13870 13871 13893 - 13809 13814 13834 13855 13878 13887 - 13798 13808 13835 13866 13880 13903 - 13732 13748 13829 13894 13939 13960 - 13810 13819 13831 13864 13875 13895 - 13827 13872 13874 13898 - 13813 13818 13838 13861 13879 13896 - 13437 13629 13684 13876 14103 14159 - 13814 13828 13848 13881 13887 13900 - 6996 8355 13535 14069 14909 14914 - 13773 13793 13858 13889 13933 13943 - 13773 13777 13840 13857 13922 13933 - 13794 13830 13835 13873 13880 13905 - 13815 13831 13841 13875 13884 13906 - 13818 13826 13853 13877 13896 13910 - 13736 13745 13766 13771 13800 13828 13881 13993 14018 - 13821 13838 13843 13879 13886 13907 - 13819 13834 13851 13878 13895 13908 - 13817 13839 13842 13888 - 13808 13836 13849 13903 13904 13927 - 13820 13842 13844 13888 13890 13911 - 13822 13843 13845 13886 13891 13909 - 13844 13846 13890 13892 13913 15573 - 13824 13845 13847 13891 13893 13914 - 13825 13846 13847 13892 13893 13915 - 13827 13841 13852 13884 13898 13912 - 13830 13859 13883 13905 13921 - 13852 13898 13901 13918 - 13831 13851 13860 13895 13906 13919 - 13629 13681 13854 13897 14024 14103 - 13826 13836 13861 13904 13910 13932 - 13834 13848 13864 13887 13908 13920 - 13838 13853 13863 13896 13907 13923 - 13835 13849 13859 13903 13905 13925 - 13828 13855 13862 13900 13993 - 13812 13837 13889 13899 13951 13952 - 13830 13833 13873 13899 13921 13940 - 13841 13860 13872 13906 13912 13929 - 13610 13709 13811 13902 14162 14198 - 13843 13863 13868 13907 13909 13930 - 13848 13855 13878 13900 13920 13926 - 13842 13865 13867 13911 - 13793 13812 13857 13882 13943 13952 13970 - 13844 13867 13869 13911 13913 13934 - 13845 13868 13870 13909 13914 13935 - 13846 13869 13871 13913 13915 13936 - 13847 13870 13871 13914 13915 13937 - 13748 13823 13850 13954 13960 13999 - 13851 13864 13875 13908 13919 13938 - 13853 13861 13879 13910 13923 13942 - 13681 13731 13876 13917 14024 14036 - 13852 13872 13874 13912 13918 13941 - 13833 13837 13882 13883 13940 13947 13951 - 13855 13881 13887 13926 13993 - 13874 13918 13924 13944 - 13706 13709 13832 13885 14079 14162 - 13849 13866 13880 13925 13927 13949 - 13836 13866 13877 13927 13932 13955 - 13859 13873 13880 13921 13925 13946 - 13860 13875 13884 13919 13929 15575 - 13863 13879 13886 13923 13930 13948 - 13864 13878 13895 13920 13938 13950 - 13868 13886 13891 13930 13935 13953 - 13861 13877 13896 13932 13942 13962 - 13867 13888 13890 13934 - 13872 13884 13898 13929 13941 13956 - 13869 13890 13892 13934 13936 13957 - 13870 13891 13893 13935 13937 13958 - 13871 13892 13893 13936 13937 13959 - 13829 13840 13922 13939 13981 14013 - 13731 13776 13897 13928 14036 14058 - 13874 13898 13901 13941 13944 13963 - 13875 13895 13906 13938 13964 15575 - 13878 13887 13908 13926 13950 13961 - 13873 13883 13905 13940 13946 13966 - 13840 13858 13916 13933 13981 13983 - 13879 13896 13907 13942 13948 13968 - 13901 13944 13967 15574 - 13880 13903 13905 13946 13949 13971 - 13887 13900 13920 13961 13993 - 13866 13903 13904 13949 13955 13974 - 13776 13823 13917 13954 14043 14058 - 13884 13906 13912 13956 13972 15575 - 13886 13907 13909 13948 13953 13973 - 13075 13578 13616 14161 14292 14569 - 13877 13904 13910 13955 13962 13982 - 13857 13858 13922 13943 13983 13992 - 13890 13911 13913 13957 - 13891 13909 13914 13953 13958 13975 - 13892 13913 13915 13957 13959 13976 - 13893 13914 13915 13958 13959 13977 - 13895 13908 13919 13950 13964 13978 - 13829 13850 13916 13960 14013 14015 - 13883 13899 13921 13947 13966 13979 - 13898 13912 13918 13956 13963 13980 - 13896 13910 13923 13962 13968 13985 - 13857 13889 13933 13970 13992 14003 - 13901 13918 13924 13963 13967 13984 - 13699 13791 13832 14018 14079 14220 - 13905 13921 13925 13966 13971 13988 - 13899 13940 13951 13979 13990 - 13907 13923 13930 13968 13973 13991 - 13903 13925 13927 13971 13974 13994 - 13908 13920 13938 13961 13978 14132 - 13882 13899 13947 13952 13990 14000 - 13882 13889 13951 13970 14000 14011 - 13909 13930 13935 13973 13975 13996 - 13823 13894 13928 13999 14028 14043 - 13904 13927 13932 13974 13982 13998 - 13912 13929 13941 13972 13980 13995 - 13913 13934 13936 13976 - 13914 13935 13937 13975 13977 13997 - 13915 13936 13937 13976 13977 15576 - 13850 13894 13939 13999 14015 14051 - 13920 13926 13950 13993 14132 - 13910 13932 13942 13982 13985 14005 - 13918 13941 13944 13980 13984 14001 - 13919 13938 13978 13986 14002 15575 - 10752 12039 12141 14823 14913 14968 - 13921 13940 13946 13979 13988 14004 - 13924 13944 13984 13987 14006 15574 - 13923 13942 13948 13985 13991 14009 - 13987 13989 14008 15574 - 13889 13943 13952 14003 14011 14032 - 13925 13946 13949 13988 13994 14012 - 13929 13956 13986 13995 14010 15575 - 13930 13948 13953 13991 13996 14014 - 13927 13949 13955 13994 13998 14020 - 13935 13953 13958 13996 13997 14016 - 13936 13957 13959 15576 - 13937 13958 13959 13997 14017 15576 - 13938 13950 13964 14002 14132 - 13940 13947 13966 13990 14004 14022 - 13941 13956 13963 13995 14001 14019 - 13916 13922 13983 14013 14054 15577 - 13932 13955 13962 13998 14005 14026 - 13922 13933 13981 13992 14031 15577 - 13944 13963 13967 14001 14006 14025 - 13942 13962 13968 14005 14009 14034 - 13964 13972 14002 14010 14027 15575 - 13967 13969 14006 14008 14030 15574 - 13946 13966 13971 14004 14012 14035 - 13969 14007 14008 14033 - 13947 13951 13979 14000 14022 15578 - 13948 13968 13973 14009 14014 14037 - 13933 13943 13983 14003 14031 14042 - 13862 13881 13900 13926 13961 14018 14132 14288 - 13949 13971 13974 14012 14020 14041 - 13956 13972 13980 14010 14019 14038 - 13953 13973 13975 14014 14016 14039 - 13958 13975 13977 14016 14017 14040 - 13955 13974 13982 14020 14026 14045 - 13894 13954 13960 14028 14051 14076 - 13951 13952 13990 14011 14047 15578 - 13963 13980 13984 14019 14025 14044 - 13964 13978 13986 14027 14132 - 13943 13970 13992 14032 14042 14057 - 13966 13979 13988 14022 14035 14049 - 13962 13982 13985 14026 14034 14050 - 13967 13984 13987 14025 14030 14048 - 13989 14029 14033 14052 - 13969 13987 13989 14030 14033 14053 - 13968 13985 13991 14034 14037 14056 - 13972 13986 13995 14027 14038 14055 - 13952 13970 14000 14032 14047 14064 - 13971 13988 13994 14035 14041 14060 - 13916 13939 13981 14015 14054 14072 14092 - 13973 13991 13996 14037 14039 14059 - 13939 13960 14013 14051 14072 14106 - 13975 13996 13997 14039 14040 14061 - 13977 13997 14040 15576 - 13766 13791 13862 13945 13993 14220 14288 - 13980 13995 14001 14038 14044 14062 - 13974 13994 13998 14041 14045 14065 - 13315 13654 13684 14159 14374 14433 - 13979 13990 14004 14049 14063 15578 - 12178 12969 13654 14169 14374 14725 14744 - 13876 13897 14036 14103 14150 14202 - 13984 14001 14006 14044 14048 14068 - 13982 13998 14005 14045 14050 14071 - 13986 14002 14010 14055 14132 - 13954 13999 14043 14076 14095 - 14007 14046 14052 14070 - 13987 14006 14008 14048 14053 14073 - 13983 13992 14042 14067 14075 15577 - 13970 14003 14011 14057 14064 14091 - 13989 14007 14008 14052 14053 14074 - 13985 14005 14009 14050 14056 14077 - 13988 14004 14012 14049 14060 14078 - 13897 13917 14024 14058 14150 14158 - 13991 14009 14014 14056 14059 14081 - 13995 14010 14019 14055 14062 14080 - 13996 14014 14016 14059 14061 14083 - 13997 14016 14017 14061 - 13994 14012 14020 14060 14065 14087 - 13992 14003 14031 14057 14067 14088 - 13928 13954 14028 14058 14095 14140 - 14001 14019 14025 14062 14068 14089 - 13998 14020 14026 14065 14071 14094 - 14029 14066 14070 14093 - 14000 14011 14064 14082 14102 15578 - 14006 14025 14030 14068 14073 14096 - 14004 14022 14035 14063 14078 14097 - 14005 14026 14034 14071 14077 14101 - 13960 13999 14015 14076 14106 14128 - 14007 14029 14033 14070 14074 14099 - 14008 14030 14033 14073 14074 14100 - 13981 14013 14085 14092 14108 15577 - 14010 14027 14038 14080 14132 14143 - 14009 14034 14037 14077 14081 14104 - 14003 14032 14042 14088 14091 14116 - 13917 13928 14036 14043 14140 14158 14189 - 14014 14037 14039 14081 14083 14107 - 14012 14035 14041 14078 14087 14110 - 14016 14039 14040 14083 - 14019 14038 14044 14080 14089 14109 - 14022 14049 14082 14097 14114 15578 - 14011 14032 14047 14091 14102 14123 - 14020 14041 14045 14087 14094 14115 - 14046 14086 14093 14112 - 14031 14042 14075 14088 14111 - 14025 14044 14048 14089 14096 14113 - 6996 8429 13856 14909 14963 14979 - 14029 14046 14052 14093 14099 14117 - 14026 14045 14050 14094 14101 14120 - 14013 14015 14092 14106 14119 14137 - 14030 14048 14053 14096 14100 14118 - 14033 14052 14053 14099 14100 14122 - 14031 14067 14085 14111 14124 15577 - 13999 14028 14051 14095 14128 14145 - 14034 14050 14056 14101 14104 14125 - 14035 14049 14060 14097 14110 14126 - 13832 13902 13945 14162 14220 14360 - 14038 14055 14062 14109 14143 - 14037 14056 14059 14104 14107 14127 - 14047 14063 14102 14114 14131 15578 - 14039 14059 14061 14107 - 11903 13212 13752 14344 14768 14883 - 14054 14075 14108 14124 14135 15577 - 14066 14105 14112 14129 - 14041 14060 14065 14110 14115 14134 - 14042 14057 14067 14111 14116 14136 - 14044 14062 14068 14109 14113 14130 - 10635 11933 13535 14593 14887 14951 - 14032 14057 14064 14116 14123 14146 - 14013 14054 14072 14108 14119 14133 - 14046 14066 14070 14112 14117 14138 - 14045 14065 14071 14115 14120 14142 - 14028 14043 14076 14140 14145 14179 - 14048 14068 14073 14113 14118 14141 - 14049 14063 14078 14114 14126 14147 - 13498 13680 13811 14161 14198 14599 14674 - 14052 14070 14074 14117 14122 14144 - 14053 14073 14074 14118 14122 15580 - 14050 14071 14077 14120 14125 14148 - 14047 14064 14082 14123 14131 14154 - 13854 13876 14024 14159 14202 14376 - 14056 14077 14081 14125 14127 14151 - 14086 14121 14129 14149 - 14015 14051 14072 14128 14137 14176 - 14059 14081 14083 14127 - 14054 14085 14092 14133 14135 14153 - 14062 14080 14089 14130 14143 14221 - 14060 14078 14087 14126 14134 14156 - 14067 14075 14088 14124 14136 14152 - 14066 14086 14093 14129 14138 14157 - 14068 14089 14096 14130 14141 14160 - 14063 14082 14097 14131 14147 14165 - 14065 14087 14094 14134 14142 14163 - 14057 14088 14091 14136 14146 14164 - 14070 14093 14099 14138 14144 15581 - 14073 14096 14100 14141 14166 15580 - 14072 14092 14133 14137 14167 - 14071 14094 14101 14142 14148 14170 - 14105 14139 14149 15582 - 14074 14099 14100 14144 14171 15580 - 14064 14091 14102 14146 14154 14174 - 14075 14085 14111 14135 14152 14168 - 14077 14101 14104 14148 14151 14173 - 14078 14097 14110 14147 14156 14175 - 14081 14104 14107 14151 - 14051 14076 14106 14145 14176 14193 - 14086 14105 14112 14149 14157 15584 - 14089 14109 14113 14160 14221 - 14082 14102 14114 14154 14165 14183 - 13950 13961 13978 13993 14002 14027 14055 14143 14288 14415 - 14092 14108 14119 14153 14167 14172 - 14087 14110 14115 14156 14163 14180 - 14085 14108 14124 14153 14168 14182 - 14088 14111 14116 14152 14164 14177 - 14072 14106 14119 14167 14176 14187 - 14093 14112 14117 14157 14181 15581 - 14121 14155 14178 15582 - 14043 14058 14095 14179 14189 14216 - 14096 14113 14118 14160 14166 14184 - 14094 14115 14120 14163 14170 14186 - 14055 14080 14109 14132 14221 14415 - 14099 14117 14122 14171 15581 15585 - 14076 14095 14128 14179 14193 14223 - 14091 14116 14123 14164 14174 14192 - 14097 14114 14126 14165 14175 14194 - 14101 14120 14125 14170 14173 14191 - 14105 14121 14129 14190 15582 15584 - 14024 14036 14158 14202 14284 14287 - 14104 14125 14127 14173 - 14111 14124 14136 14168 14177 14195 - 14108 14133 14135 14172 14182 14196 - 14102 14123 14131 14174 14183 14204 - 14139 14178 14197 15583 - 14110 14126 14134 14175 14180 14203 - 14112 14129 14138 14181 14200 15584 - 14036 14058 14150 14189 14271 14287 - 13684 13854 14021 14103 14376 14433 14530 - 14113 14130 14141 14184 14221 - 13616 13680 13931 14098 14569 14674 - 13885 13902 14079 14198 14360 14498 - 14115 14134 14142 14180 14186 14206 - 14116 14136 14146 14177 14192 14208 - 14114 14131 14147 14183 14194 14211 - 14118 14141 14184 14188 15580 15586 - 14119 14133 14137 14172 14187 14199 - 14124 14135 14152 14182 14195 14210 - 12969 13265 14023 14468 14725 14902 - 14120 14142 14148 14186 14191 14213 - 14122 14144 14188 14214 15580 15585 - 14133 14153 14167 14196 14199 - 14125 14148 14151 14191 - 14123 14146 14154 14192 14204 14219 - 14126 14147 14156 14194 14203 14218 - 14106 14128 14137 14187 14193 14234 14244 - 14136 14152 14164 14195 14208 14224 - 14139 14155 14197 14205 14222 15582 - 14095 14140 14145 14216 14223 14248 - 14134 14156 14163 14203 14206 14228 - 14138 14157 14200 14207 14225 15581 - 14135 14153 14168 14196 14210 14226 - 14131 14154 14165 14204 14211 14230 - 14141 14160 14166 14221 15586 - 14201 14212 14227 15583 - 14142 14163 14170 14206 14213 15587 - 14137 14167 14176 14199 14231 14234 - 14166 14171 14214 14235 15580 15586 - 14058 14140 14158 14216 14259 14271 - 14149 14205 14217 14233 15582 15584 - 14148 14170 14173 14213 - 14146 14164 14174 14208 14219 14237 - 14128 14145 14176 14223 14244 14264 - 14147 14165 14175 14211 14218 14239 - 14152 14168 14177 14210 14224 14241 - 14153 14172 14182 14199 14226 14232 - 14155 14178 14212 14222 14238 15583 - 13811 13885 14098 14162 14498 14599 - 14167 14172 14187 14196 14231 14232 - 14157 14181 14217 14225 14242 15584 - 14185 14215 14227 14240 - 14024 14103 14150 14284 14376 - 14156 14175 14180 14218 14228 14245 - 14154 14174 14183 14219 14230 14247 - 14178 14190 14222 14233 14246 15582 - 14163 14180 14186 14228 14249 15587 - 14181 14225 14236 14251 15581 15585 - 14164 14177 14192 14224 14237 14252 - 6740 7295 13260 14884 15057 15086 - 14168 14182 14195 14226 14241 14254 - 14165 14183 14194 14230 14239 14257 - 14185 14197 14227 14238 14250 15583 - 14170 14186 14191 15587 - 14171 14188 14235 14236 14258 15585 - 14201 14229 14240 14253 - 14140 14179 14189 14248 14259 14270 - 14190 14200 14233 14242 14256 15584 - 14175 14194 14203 14239 14245 14261 - 14174 14192 14204 14237 14247 14262 - 13945 14018 14079 14288 14360 14475 - 14109 14130 14143 14160 14184 14415 15586 15588 - 14178 14197 14205 14238 14246 15589 - 14145 14179 14193 14248 14264 14285 - 14177 14195 14208 14241 14252 14267 - 14181 14200 14207 14242 14251 14265 - 14182 14196 14210 14232 14254 14260 - 14185 14201 14212 14240 14250 14263 - 14180 14203 14206 14245 14249 14272 - 14215 14243 14253 14266 - 14183 14204 14211 14247 14257 14274 - 14187 14199 14232 14234 14269 14275 - 14196 14199 14226 14231 14260 14269 - 14190 14205 14217 14246 14256 14273 - 14176 14187 14231 14244 14275 14289 - 14188 14214 14258 14277 15586 15588 - 14207 14214 14251 14258 15585 15590 - 14192 14208 14219 14252 14262 14280 - 14197 14212 14222 14250 14276 15589 - 14194 14211 14218 14257 14261 14282 - 14201 14215 14227 14253 14263 14278 - 14195 14210 14224 14254 14267 14283 - 14200 14217 14225 14256 14265 14279 - 14229 14255 14266 14281 - 14176 14193 14234 14264 14289 14305 - 14203 14218 14228 14261 14272 14290 - 14205 14222 14233 14273 14286 15589 - 14204 14219 14230 14262 14274 14293 - 14179 14216 14223 14270 14285 14304 - 14206 14228 14272 15587 - 14212 14227 14238 14263 14276 14291 - 14207 14225 14236 14265 14298 15590 - 14208 14224 14237 14267 14280 14300 - 14215 14229 14240 14266 14278 14294 - 14210 14226 14241 14260 14283 14295 - 14243 14268 14281 14297 - 14217 14233 14242 14273 14279 14296 - 14211 14230 14239 14274 14282 14301 - 14214 14235 14236 14277 14306 15590 - 14189 14216 14270 14271 14326 14347 - 14226 14232 14254 14269 14295 14303 - 14218 14239 14245 14282 14290 14310 - 14219 14237 14247 14280 14293 14311 - 14227 14240 14250 14278 14291 15592 - 14193 14223 14244 14285 14305 14321 - 14225 14242 14251 14279 14298 14309 - 14229 14243 14253 14281 14294 14307 - 14224 14241 14252 14283 14300 14315 - 14255 14297 14312 15591 - 14231 14232 14260 14275 14303 14316 - 14216 14248 14259 14304 14326 - 14158 14189 14259 14287 14347 14380 - 14228 14245 14249 14290 - 14233 14246 14256 14286 14296 14314 - 14230 14247 14257 14293 14301 14319 - 14231 14234 14269 14289 14316 14327 - 14238 14250 14291 14302 14317 15589 - 14235 14258 14306 14407 14415 15588 - 14240 14253 14263 14294 14318 15592 - 14242 14256 14265 14296 14309 15593 - 14237 14252 14262 14300 14311 14325 - 14243 14255 14266 14297 14307 14320 - 14239 14257 14261 14301 14310 14328 - 14241 14254 14267 14295 14315 14324 - 14150 14202 14287 14376 14388 - 14223 14248 14264 14304 14321 14338 - 14246 14273 14302 14314 15589 15594 - 14150 14158 14271 14284 14380 14388 14443 - 13993 14018 14132 14220 14415 14475 14694 - 14234 14244 14275 14305 14327 14341 - 14245 14261 14272 14310 - 14250 14263 14276 14317 14329 15592 - 13578 13730 13931 14483 14569 14858 - 14247 14262 14274 14311 14319 14333 - 14253 14266 14278 14307 14318 14331 - 14254 14260 14283 14303 14324 14335 - 14256 14273 14279 14314 14332 15593 - 14255 14268 14281 14312 14320 14334 - 14251 14265 14309 14330 14342 15590 - 14313 14322 14336 15591 - 14252 14267 14280 14315 14325 14340 - 14257 14274 14282 14319 14328 14345 - 14276 14286 14317 14339 15589 15594 - 14260 14269 14295 14316 14335 14349 - 14248 14270 14285 14326 14338 14361 - 14244 14264 14289 14321 14341 14359 - 14258 14277 14330 14407 15590 - 14266 14281 14294 14320 14331 14346 - 7933 8666 12141 13750 14913 15001 15008 - 14265 14279 14298 14342 14348 15593 - 14261 14282 14290 14328 - 14262 14280 14293 14325 14333 14354 - 14268 14297 14322 14334 14351 15591 - 14299 14323 14336 14353 - 14273 14286 14296 14332 14350 15594 - 14267 14283 14300 14324 14340 14357 - 14269 14275 14303 14327 14349 14362 - 14276 14291 14302 14329 14339 14355 - 14278 14294 14331 14343 14358 15592 - 14274 14293 14301 14333 14345 14364 - 14281 14297 14307 14334 14346 14363 - 14264 14285 14305 14338 14359 14375 - 14299 14312 14336 14351 14365 15591 - 14313 14337 14353 14368 - 14283 14295 14315 14335 14357 14370 - 14280 14300 14311 14340 14354 14372 - 14259 14270 14304 14347 14361 14390 - 14275 14289 14316 14341 14362 14377 - 14282 14301 14310 14345 - 14291 14317 14343 14355 14369 15592 - 14298 14306 14342 14407 15590 15596 - 14294 14307 14318 14346 14358 14373 - 14296 14314 14350 14356 14371 15593 - 14293 14311 14319 14354 14364 14384 - 14297 14312 14320 14351 14363 14378 - 14295 14303 14324 14349 14370 14385 - 14299 14313 14322 14353 14365 14381 - 14323 14352 14368 14386 - 14285 14304 14321 14361 14375 14398 - 14302 14317 14355 14366 14379 15594 - 14300 14315 14325 14357 14372 14389 - 14289 14305 14327 14359 14377 14393 - 14298 14309 14330 14348 14395 15596 - 14318 14329 14358 14369 14382 15592 - 13212 13588 14084 14483 14883 14923 - 14301 14319 14328 14364 - 14307 14320 14331 14363 14373 14391 - 14259 14271 14326 14380 14390 14419 - 14309 14342 14356 14387 14395 15593 - 14303 14316 14335 14362 14385 14400 - 14314 14332 14366 14371 14392 15594 - 14312 14322 14334 14365 14378 14394 - 14337 14367 14386 14401 - 14313 14323 14336 14368 14381 15595 - 14311 14325 14333 14372 14384 14402 - 14317 14329 14339 14369 14379 14396 - 14332 14348 14371 14387 15593 - 14315 14324 14340 14370 14389 14403 - 14318 14331 14343 14373 14382 14397 - 14305 14321 14341 14375 14393 14409 - 14079 14162 14220 14475 14498 14667 - 14304 14326 14338 14390 14398 14418 - 14316 14327 14349 14377 14400 14412 - 14320 14334 14346 14378 14391 14405 - 14319 14333 14345 14384 - 14322 14336 14351 14381 14394 14408 - 14339 14350 14379 14392 14404 15594 - 14352 14383 14401 14414 - 14323 14337 14353 14386 14413 15595 - 14329 14343 14355 14382 14396 14406 - 14324 14335 14357 14385 14403 14416 - 14332 14350 14356 14387 14392 14423 - 14325 14340 14354 14389 14402 14417 - 14331 14346 14358 14391 14397 14410 - 13654 14021 14023 14433 14697 14744 - 14321 14338 14359 14398 14409 14430 - 14103 14159 14202 14284 14388 14530 14562 14658 - 14327 14341 14362 14393 14412 14426 - 14334 14351 14363 14394 14405 14421 - 14339 14355 14366 14396 14404 14422 - 14271 14287 14347 14419 14443 14463 - 14336 14353 14365 14408 14424 15595 - 14343 14358 14369 14397 14406 14420 - 14367 14399 14414 14427 - 14333 14354 14364 14402 - 14335 14349 14370 14400 14416 14431 - 14337 14352 14368 14401 14413 15597 - 14348 14356 14371 14395 14423 14462 - 14284 14287 14376 14443 14562 - 14340 14357 14372 14403 14417 14432 - 14326 14347 14361 14418 14419 14439 - 14346 14363 14373 14405 14410 14428 - 14350 14366 14371 14404 14423 14429 - 14341 14359 14377 14409 14426 14444 - 14351 14365 14378 14408 14421 14436 - 14342 14348 14387 14462 15596 - 14355 14369 14379 14406 14422 14435 - 14358 14373 14382 14410 14420 14434 - 14338 14361 14375 14418 14430 14450 - 14383 14411 14427 14441 - 14349 14362 14385 14412 14431 14445 - 14352 14367 14386 14414 14442 15597 - 14354 14372 14384 14417 - 14357 14370 14389 14416 14432 14448 - 14366 14379 14392 14422 14429 14440 - 14363 14378 14391 14421 14428 14446 - 14369 14382 14396 14420 14435 14447 - 14277 14306 14330 14415 14536 14634 15596 - 14365 14381 14394 14424 14436 14451 - 14359 14375 14393 14430 14444 14460 - 14373 14391 14397 14428 14434 14449 - 14399 14425 14441 14455 - 14362 14377 14400 14426 14445 14457 - 14368 14386 14437 14453 15595 15597 - 14367 14383 14401 14427 14442 14456 - 14132 14143 14221 14277 14288 14407 14634 14694 15588 - 14370 14385 14403 14431 14448 14459 - 14372 14389 14402 14432 - 14361 14390 14398 14439 14450 14470 - 14347 14380 14390 14439 14463 14473 - 14382 14397 14406 14434 14447 14454 - 14378 14394 14405 14436 14446 14461 - 14379 14396 14404 14435 14440 14458 - 14371 14387 14392 14429 14462 14477 - 14381 14408 14437 14451 14465 15595 - 14411 14438 14455 14472 - 14377 14393 14412 14444 14457 14478 - 14383 14399 14414 14441 14456 14474 - 14391 14405 14410 14446 14449 14464 - 14392 14404 14423 14440 14469 14477 - 14375 14398 14409 14450 14460 14482 - 14385 14400 14416 14445 14459 14479 - 14389 14403 14417 14448 - 14021 14159 14374 14530 14697 14723 - 14397 14410 14420 14449 14454 14466 - 14396 14406 14422 14447 14458 14476 - 14394 14408 14421 14451 14461 14481 - 14413 14424 14453 14465 15595 15598 - 14425 14452 14472 14488 - 14390 14418 14419 14470 14473 14492 - 14404 14422 14429 14458 14469 14480 - 14399 14411 14427 14455 14474 14489 - 14401 14414 14456 14471 14487 15597 - 14287 14380 14388 14463 14533 14562 - 14393 14409 14426 14460 14478 14493 - 14400 14412 14431 14457 14479 14491 - 14405 14421 14428 14461 14464 14490 - 14406 14420 14435 14454 14476 14485 - 14403 14416 14432 14459 - 14410 14428 14434 14464 14466 14486 - 14398 14418 14430 14470 14482 14499 - 14408 14424 14436 14465 14481 14494 - 14438 14467 14488 14500 - 14413 14437 14471 14497 15597 15598 - 14420 14434 14447 14466 14485 15599 - 14411 14425 14441 14472 14489 14503 - 14414 14427 14442 14474 14487 14502 - 14412 14426 14445 14478 14491 14506 - 14422 14435 14440 14476 14480 14495 - 14416 14431 14448 14479 - 14409 14430 14444 14482 14493 14508 - 14421 14436 14446 14481 14490 14504 - 14387 14395 14423 14477 14536 14538 15596 - 14380 14419 14443 14473 14509 14533 - 14428 14446 14449 14486 14490 14505 - 14424 14437 14451 14494 14507 15598 - 14434 14449 14454 14486 14501 15599 - 14452 14484 14500 14512 - 13265 13426 14169 14738 14902 14965 - 14429 14440 14477 14480 14520 - 14418 14439 14450 14492 14499 14517 - 14442 14453 14487 14497 14511 15597 - 14425 14438 14455 14488 14503 14515 - 14419 14439 14463 14492 14509 14514 - 14427 14441 14456 14489 14502 14513 - 14220 14288 14360 14667 14694 - 14435 14447 14458 14485 14495 14531 - 14423 14429 14462 14469 14520 14538 - 14426 14444 14457 14493 14506 14519 - 14431 14445 14459 14491 - 14440 14458 14469 14495 14520 - 14436 14451 14461 14494 14504 14518 - 14430 14450 14460 14499 14508 14525 - 13588 13730 14292 14344 14858 14923 - 14467 14496 14512 14524 - 14447 14454 14476 14531 15599 - 14449 14464 14466 14501 14505 14516 - 14442 14456 14471 14502 14511 14527 - 14438 14452 14472 14500 14515 14529 - 14441 14455 14474 14503 14513 14528 - 14446 14461 14464 14504 14505 14526 - 14445 14457 14479 14506 - 14439 14470 14473 14514 14517 14534 - 14444 14460 14478 14508 14519 15600 - 14451 14465 14481 14507 14518 14532 - 14458 14476 14480 14520 14531 14613 - 14484 14510 14524 14539 - 14453 14471 14511 14521 14537 15598 - 14162 14198 14360 14599 14667 14842 - 14450 14470 14482 14517 14525 14545 - 14452 14467 14488 14512 14529 14543 - 14466 14486 14516 14523 15599 - 14456 14474 14487 14513 14527 14542 - 14455 14472 14489 14515 14528 14544 - 14461 14481 14490 14518 14526 14546 - 14464 14486 14490 14516 14526 14540 - 14457 14478 14491 14519 - 14465 14494 14521 14532 14547 15598 - 14460 14482 14493 14525 14551 15600 - 14463 14473 14514 14533 14541 - 14496 14522 14539 14552 - 14471 14487 14497 14527 14537 14550 - 14467 14484 14500 14524 14543 14554 - 14474 14489 14502 14528 14542 14553 - 14473 14492 14509 14534 14541 14556 - 14472 14488 14503 14529 14544 14555 - 14486 14501 14505 14523 14540 14549 - 14470 14492 14499 14534 14545 14561 - 14481 14494 14504 14532 14546 14557 - 14478 14493 14506 15600 - 14469 14477 14480 14495 14538 14613 - 14497 14507 14537 14547 14560 15598 - 14510 14535 14552 14563 - 14501 14516 14531 14549 14558 15599 - 14484 14496 14512 14539 14554 14566 - 14482 14499 14508 14545 14551 14568 - 14490 14504 14505 14540 14546 14565 - 14487 14502 14511 14542 14550 14564 - 14489 14503 14513 14544 14553 14567 - 14488 14500 14515 14543 14555 14570 - 14159 14376 14433 14658 14723 14799 - 14476 14485 14495 14523 14558 14613 15599 - 14494 14507 14518 14547 14557 14571 - 14443 14463 14509 14541 14562 14573 14659 - 14492 14514 14517 14556 14561 14577 - 14522 14548 14563 14576 - 14407 14462 14538 14634 14731 15596 - 14497 14511 14521 14550 14560 14574 - 14462 14477 14520 14536 14613 14731 - 14496 14510 14524 14552 14566 14579 - 14505 14516 14526 14549 14565 14575 - 14509 14514 14533 14556 14573 - 14502 14513 14527 14553 14564 14578 - 14500 14512 14529 14554 14570 14583 - 14503 14515 14528 14555 14567 14581 - 14499 14517 14525 14561 14568 14585 - 14504 14518 14526 14557 14565 14586 - 14507 14521 14532 14560 14571 14582 - 14535 14559 14576 14589 - 14516 14523 14540 14558 14575 14584 - 14511 14527 14537 14564 14574 14588 - 14508 14525 14568 15600 - 14510 14522 14539 14563 14579 14591 - 14513 14528 14542 14567 14578 14590 - 14512 14524 14543 14566 14583 14592 - 14515 14529 14544 14570 14581 14594 - 14514 14534 14541 14573 14577 14597 - 14518 14532 14546 14571 14586 14598 - 14523 14531 14549 14584 14613 14624 - 14548 14572 14589 14600 - 14521 14537 14547 14574 14582 14595 - 14517 14534 14545 14577 14585 14601 - 14376 14388 14443 14533 14658 14659 14715 - 14522 14535 14552 14576 14591 14606 - 14527 14542 14550 14578 14588 14603 - 14526 14540 14546 14575 14586 14608 - 14524 14539 14554 14579 14592 14607 - 14528 14544 14553 14581 14590 14604 - 14525 14545 14551 14585 - 13931 14161 14292 14674 14858 14922 - 14529 14543 14555 14583 14594 14609 - 14532 14547 14557 14582 14598 14605 - 14559 14580 14600 14611 - 14533 14541 14556 14597 14651 14659 - 14537 14550 14560 14588 14595 14612 - 14540 14549 14565 14584 14608 14621 - 14535 14548 14563 14589 14606 14617 - 14534 14556 14561 14597 14601 14620 - 14542 14553 14564 14590 14603 14616 - 14539 14552 14566 14591 14607 14618 - 14572 14587 14611 14622 - 14544 14555 14567 14594 14604 14619 - 14547 14560 14571 14595 14605 14615 - 14543 14554 14570 14592 14609 14623 - 14549 14558 14575 14621 14624 - 14545 14561 14568 14601 - 14546 14557 14565 14598 14608 14633 - 14580 14596 14622 14626 - 14550 14564 14574 14603 14612 14625 - 14548 14559 14576 14600 14617 14629 - 14553 14567 14578 14604 14616 14627 - 14552 14563 14579 14606 14618 14630 - 14554 14566 14583 14607 14623 14631 - 11933 13414 14090 14738 14951 14974 - 14555 14570 14581 14609 14619 14632 - 14560 14574 14582 14612 14615 14628 - 14587 14602 14626 14635 - 14556 14573 14577 14620 14651 - 14557 14571 14586 14605 14633 15602 - 14098 14198 14498 14674 14842 14921 - 14559 14572 14589 14611 14629 14637 - 14561 14577 14585 14620 - 14596 14610 14635 14640 - 14564 14578 14588 14616 14625 14636 - 14567 14581 14590 14619 14627 14639 - 14571 14582 14598 14615 14638 15602 - 14563 14576 14591 14617 14630 14643 - 14566 14579 14592 14618 14631 14641 - 14565 14575 14586 14621 14633 14647 - 14570 14583 14594 14623 14632 14644 - 14602 14614 14640 14646 - 14572 14580 14600 14622 14637 14648 - 14574 14588 14595 14625 14628 14645 - 14495 14520 14531 14538 14558 14624 14704 14731 - 14610 14620 14646 14650 - 14582 14595 14605 14628 14638 14642 - 14578 14590 14603 14627 14636 14649 - 14576 14589 14606 14629 14643 14654 - 14579 14591 14607 14630 14641 14653 - 14581 14594 14604 14632 14639 14652 - 14577 14597 14601 14614 14650 14651 14668 - 14575 14584 14608 14624 14647 14671 - 14580 14587 14611 14626 14648 14657 - 14583 14592 14609 14631 14644 14656 - 14558 14584 14613 14621 14671 14704 - 14588 14603 14612 14636 14645 14660 - 14587 14596 14622 14635 14657 14662 - 14590 14604 14616 14639 14649 14661 - 14595 14612 14615 14642 14645 14655 - 14589 14600 14617 14637 14654 14664 - 14591 14606 14618 14643 14653 14663 - 14592 14607 14623 14641 14656 14665 - 14594 14609 14619 14644 14652 14666 - 14586 14598 14608 14647 14679 15602 - 14407 14415 14536 14694 14731 14868 - 14596 14602 14626 14640 14662 14669 - 14603 14616 14625 14649 14660 14673 - 14600 14611 14629 14648 14664 14678 - 14605 14615 14642 14670 14686 15602 - 14604 14619 14627 14652 14661 14672 - 14602 14610 14635 14646 14669 14675 - 14607 14618 14631 14653 14665 14676 - 14615 14628 14638 14655 14670 - 14606 14617 14630 14654 14663 14680 - 14609 14623 14632 14656 14666 14681 - 14612 14625 14628 14655 14660 14677 - 14610 14614 14640 14650 14675 14682 - 14608 14621 14633 14671 14679 14696 - 14611 14622 14637 14657 14678 14685 - 14616 14627 14636 14661 14673 14683 - 14614 14620 14646 14668 14682 14689 - 14573 14597 14620 14659 14668 14713 - 14619 14632 14639 14666 14672 14687 - 14618 14630 14641 14663 14676 14688 - 14617 14629 14643 14664 14680 14691 - 14628 14642 14645 14670 14677 14684 - 14623 14631 14644 14665 14681 14690 - 14622 14626 14648 14662 14685 14693 - 14376 14530 14562 14715 14799 14809 - 14533 14562 14573 14651 14713 14715 14739 - 14625 14636 14645 14673 14677 14695 - 14627 14639 14649 14672 14683 14692 - 14626 14635 14657 14669 14693 14698 - 14630 14643 14653 14680 14688 14700 - 14629 14637 14654 14678 14691 14703 - 14631 14641 14656 14676 14690 14699 - 14632 14644 14652 14681 14687 14701 - 14360 14475 14498 14694 14842 14911 - 14620 14650 14651 14689 14713 14721 - 14635 14640 14662 14675 14698 14706 - 14638 14642 14655 14684 14686 14702 - 14621 14624 14647 14696 14704 14728 - 14639 14652 14661 14687 14692 14705 - 14636 14649 14660 14683 14695 14709 - 14098 14161 14569 14599 14921 14922 - 14640 14646 14669 14682 14706 14710 - 14641 14653 14665 14688 14699 14707 - 14645 14655 14660 14684 14695 14708 - 14637 14648 14664 14685 14703 14712 - 14633 14647 14686 14696 14732 15602 - 14643 14654 14663 14691 14700 14717 - 14644 14656 14666 14690 14701 14716 - 14646 14650 14675 14689 14710 14711 - 14649 14661 14673 14692 14709 14719 - 14655 14670 14677 14702 14708 14714 - 14648 14657 14678 14693 14712 14724 - 14638 14670 14679 14702 14732 14740 15602 - 14652 14666 14672 14701 14705 14720 - 14653 14663 14676 14700 14707 14722 - 14650 14668 14682 14711 14721 - 14656 14665 14681 14699 14716 14727 - 14654 14664 14680 14703 14717 14729 - 14661 14672 14683 14705 14719 14726 - 14657 14662 14685 14698 14724 14730 - 14288 14415 14475 14634 14667 14868 14911 - 14660 14673 14677 14708 14709 14736 - 14647 14671 14679 14728 14732 14753 - 14374 14433 14723 14744 14874 14890 - 14662 14669 14693 14706 14730 14737 - 14665 14676 14690 14707 14727 14733 - 14663 14680 14688 14717 14722 14735 - 14666 14681 14687 14716 14720 15603 - 14670 14684 14686 14714 14740 - 14664 14678 14691 14712 14729 14743 - 14613 14624 14671 14728 14731 14782 - 14672 14687 14692 14720 14726 14734 - 14669 14675 14698 14710 14737 14742 - 14676 14688 14699 14722 14733 14741 - 14677 14684 14695 14714 14736 15604 - 14673 14683 14695 14719 14736 14747 - 14675 14682 14706 14711 14742 14745 - 14682 14689 14710 14721 14745 14746 - 14678 14685 14703 14724 14743 14752 - 14651 14659 14668 14721 14739 14757 14763 - 14684 14702 14708 14740 14756 15604 - 14562 14658 14659 14739 14790 14809 - 14681 14690 14701 14727 14754 15603 - 14680 14691 14700 14729 14735 14755 - 5091 6408 13608 14884 15106 15121 - 14683 14692 14709 14726 14747 14749 - 14687 14701 14705 14734 14750 15603 - 14668 14689 14711 14713 14746 14757 - 14688 14700 14707 14735 14741 14748 - 14433 14530 14697 14799 14874 14906 - 14685 14693 14712 14730 14752 14759 - 14023 14169 14744 14886 14902 14933 - 14692 14705 14719 14734 14749 14751 - 14690 14699 14716 14733 14754 14760 - 14671 14696 14704 14753 14782 14788 - 14691 14703 14717 14743 14755 14765 - 14693 14698 14724 14737 14759 14764 - 14536 14538 14613 14634 14704 14782 14868 14870 - 14679 14686 14696 14740 14753 14776 14785 - 14699 14707 14727 14741 14760 14761 - 14705 14720 14726 14750 14751 14758 - 14700 14717 14722 14748 14755 15605 - 14695 14708 14709 14747 14775 14778 15604 - 14698 14706 14730 14742 14764 14766 - 13414 13426 14468 14593 14965 14974 15017 - 14659 14713 14715 14763 14787 14790 - 14686 14702 14714 14732 14756 14776 - 14707 14722 14733 14748 14761 14762 - 14706 14710 14737 14745 14766 14769 - 14703 14712 14729 14752 14765 14774 - 14023 14374 14697 14725 14886 14890 - 14710 14711 14742 14746 14769 14771 - 14711 14721 14745 14757 14771 14777 - 14709 14719 14736 14749 14778 14779 - 14722 14735 14741 14762 14770 15605 - 14719 14726 14747 14751 14772 14779 - 14720 14734 14758 14767 14773 15603 - 14726 14734 14749 14758 14772 - 14712 14724 14743 14759 14774 14783 - 14696 14728 14732 14785 14788 - 14716 14727 14760 14767 14786 15603 - 14717 14729 14735 14765 14784 15605 - 14714 14740 14775 14776 14805 15604 - 14713 14721 14746 14763 14777 14780 - 14734 14750 14751 14772 14773 14781 - 14724 14730 14752 14764 14783 14791 - 14727 14733 14754 14761 14786 14793 - 14733 14741 14760 14762 14789 14793 - 14741 14748 14761 14770 14789 - 14713 14739 14757 14780 14787 14794 - 14730 14737 14759 14766 14791 14795 - 14729 14743 14755 14774 14784 14804 - 14737 14742 14764 14769 14795 14798 - 14750 14754 14773 14786 14802 15603 - 13752 14084 14883 14964 14993 15601 - 14742 14745 14766 14771 14798 14800 - 14748 14762 14789 14792 14797 15605 - 14745 14746 14769 14777 14800 14801 - 14749 14751 14758 14779 14781 14808 - 14750 14758 14767 14781 14802 14803 - 14743 14752 14765 14783 14804 14810 - 14736 14756 14778 14805 14816 15604 - 14732 14740 14756 14785 14805 14814 - 14746 14757 14771 14780 14796 14801 - 14736 14747 14775 14779 14815 14816 - 14747 14749 14772 14778 14808 14815 - 14757 14763 14777 14794 14796 14807 - 14758 14772 14773 14803 14808 - 14704 14728 14731 14788 14850 14870 - 14752 14759 14774 14791 14810 14813 - 14755 14765 14792 14804 14819 15605 - 14732 14753 14776 14788 14814 14830 - 14754 14760 14767 14793 14802 14825 - 14739 14763 14790 14794 14811 14820 - 14728 14753 14782 14785 14830 14850 - 14761 14762 14770 14793 14797 14812 - 14715 14739 14787 14809 14820 14849 - 14759 14764 14783 14795 14813 14822 - 14770 14784 14797 14817 14819 15605 - 14760 14761 14786 14789 14812 14825 14829 - 14763 14780 14787 14807 14811 14821 - 14764 14766 14791 14798 14822 14827 - 14777 14780 14801 14807 14818 - 14770 14789 14792 14812 14817 - 14766 14769 14795 14800 14827 14828 - 14530 14658 14723 14809 14895 14906 - 14769 14771 14798 14801 14824 14828 - 14771 14777 14796 14800 14818 14824 - 14767 14773 14786 14803 14825 14826 - 14773 14781 14802 14808 14826 14832 - 14765 14774 14784 14810 14819 14834 - 14756 14775 14776 14814 14816 14837 - 6549 8429 11051 14963 15040 15073 - 14780 14794 14796 14818 14821 14833 - 14772 14779 14781 14803 14815 14832 14845 - 14658 14715 14790 14799 14849 14895 - 14774 14783 14804 14813 14834 14839 - 14787 14794 14820 14821 14831 - 14789 14793 14797 14817 14829 14835 - 14783 14791 14810 14822 14838 14839 - 14776 14785 14805 14830 14837 14851 - 14778 14779 14808 14816 14845 14852 - 14775 14778 14805 14815 14837 14852 - 14792 14797 14812 14819 14835 14836 - 14796 14801 14807 14824 14833 14840 - 14784 14792 14804 14817 14834 14836 14847 - 14787 14790 14811 14831 14849 14855 - 14794 14807 14811 14831 14833 14846 - 14791 14795 14813 14827 14838 14841 - 12039 13965 14938 14968 15016 15579 - 14800 14801 14818 14828 14840 14843 - 14786 14793 14802 14826 14829 14848 14853 - 14802 14803 14825 14832 14848 - 14795 14798 14822 14828 14841 14844 - 14798 14800 14824 14827 14843 14844 - 14793 14812 14825 14835 14853 14854 - 14785 14788 14814 14850 14851 14867 - 14811 14820 14821 14846 14855 - 14803 14808 14826 14845 14848 14861 - 14807 14818 14821 14840 14846 14859 - 14804 14810 14819 14839 14847 14864 - 14812 14817 14829 14836 14854 14857 - 14817 14819 14835 14847 14857 14862 - 14805 14814 14816 14851 14852 14876 - 14813 14822 14839 14841 14865 14869 - 14810 14813 14834 14838 14864 14869 - 14818 14824 14833 14843 14859 14866 - 14822 14827 14838 14844 14860 14865 - 14498 14599 14667 14911 14921 14985 - 14824 14828 14840 14844 14863 14866 - 14827 14828 14841 14843 14860 14863 - 14808 14815 14832 14852 14861 14877 - 14821 14831 14833 14855 14859 14873 - 14819 14834 14836 14862 14864 14871 - 14825 14826 14832 14853 14861 14875 - 14790 14809 14820 14855 14895 14904 - 14782 14788 14830 14867 14870 14896 - 14814 14830 14837 14867 14876 14882 - 14815 14816 14837 14845 14876 14877 14892 - 14825 14829 14848 14854 14875 14878 - 14829 14835 14853 14857 14872 14878 - 14820 14831 14846 14849 14873 14904 - 1438 6142 7847 15069 15094 15125 - 14835 14836 14854 14862 14872 15606 - 14292 14483 14569 14922 14923 14991 - 14833 14840 14846 14866 14873 14885 - 14841 14844 14863 14865 14879 - 14832 14845 14848 14875 14877 14894 - 14836 14847 14857 14871 14880 15606 - 14843 14844 14860 14866 14879 14881 - 14834 14839 14847 14869 14871 14889 - 14838 14841 14860 14869 14879 14888 - 14840 14843 14859 14863 14881 14885 - 14830 14850 14851 14882 14896 - 14634 14694 14731 14870 14911 14944 14973 - 14838 14839 14864 14865 14888 14889 14901 - 14731 14782 14850 14868 14896 14944 - 14847 14862 14864 14880 14889 14893 - 14854 14857 14878 14891 14898 15606 - 14846 14855 14859 14885 14904 14907 - 14697 14723 14890 14906 14943 14956 - 14848 14853 14861 14878 14894 14900 - 14837 14851 14852 14882 14892 14903 - 14845 14852 14861 14892 14894 14905 - 14853 14854 14872 14875 14898 14900 - 14860 14863 14865 14881 14888 14897 - 14862 14871 14891 14893 15606 - 14863 14866 14879 14885 14897 14899 - 14851 14867 14876 14896 14903 14912 - 14084 14344 14768 14923 14993 15018 - 6408 7295 14209 14718 15086 15106 - 14859 14866 14873 14881 14899 14907 - 14725 14744 14890 14933 14939 - 13535 14090 14914 14951 15006 15014 - 14865 14869 14879 14897 14901 14918 - 14864 14869 14871 14893 14901 14910 - 14697 14744 14874 14886 14939 14943 - 14872 14880 14893 14898 14908 15606 - 14852 14876 14877 14903 14905 14917 - 14871 14880 14889 14891 14908 14910 - 14861 14875 14877 14900 14905 14915 - 14799 14809 14849 14904 14906 14935 14950 - 14850 14867 14870 14882 14912 14944 - 14879 14881 14888 14899 14916 14918 - 14872 14878 14891 14900 14908 14920 - 14881 14885 14897 14907 14916 14919 - 14875 14878 14894 14898 14915 14920 14925 - 14869 14888 14889 14910 14918 14926 - 14169 14468 14725 14933 14965 14975 - 14876 14882 14892 14912 14917 14928 - 14849 14855 14873 14895 14907 14929 14935 - 14877 14892 14894 14915 14917 14924 - 14723 14799 14874 14895 14950 14956 - 14873 14885 14899 14904 14919 14929 - 14891 14893 14898 14910 14920 14927 - 13856 14069 14914 14979 14994 15028 - 14889 14893 14901 14908 14926 14927 - 14667 14694 14842 14868 14973 14985 - 14882 14896 14903 14928 14944 14948 - 12141 13965 14308 14968 15008 15031 - 13535 13856 14887 14909 14994 15006 - 14894 14900 14905 14924 14925 14930 - 14897 14899 14918 14919 14931 - 14892 14903 14905 14924 14928 14932 - 14888 14897 14901 14916 14926 14931 14941 - 14899 14907 14916 14929 14931 14936 - 14898 14900 14908 14925 14927 14934 - 14599 14674 14842 14922 14985 15002 - 14569 14674 14858 14921 14991 15002 - 14344 14483 14858 14883 14991 15018 - 14905 14915 14917 14930 14932 14937 - 14900 14915 14920 14930 14934 14940 - 14901 14910 14918 14927 14941 14942 - 14908 14910 14920 14926 14934 14942 - 14903 14912 14917 14932 14946 14948 - 14904 14907 14919 14935 14936 14952 - 14915 14924 14925 14937 14940 14947 - 14916 14918 14919 14936 14941 14953 - 14917 14924 14928 14937 14946 14949 - 14725 14886 14902 14939 14975 14978 - 14920 14925 14927 14940 14942 14957 - 14895 14904 14929 14950 14952 14961 - 14919 14929 14931 14952 14953 14958 - 14924 14930 14932 14947 14949 14954 - 14823 14964 15016 15034 15579 15601 - 14886 14890 14933 14943 14978 14989 - 14925 14930 14934 14947 14957 14959 - 14918 14926 14931 14942 14953 14962 - 14926 14927 14934 14941 14957 14962 14967 - 14874 14890 14939 14956 14986 14989 - 14868 14870 14896 14912 14948 14973 14981 - 7003 7847 11051 15040 15069 15093 - 14928 14932 14948 14949 14971 - 14930 14937 14940 14954 14959 14960 - 14912 14928 14944 14946 14971 14981 - 14932 14937 14946 14954 14971 - 14895 14906 14935 14956 14961 14976 14983 - 14090 14593 14887 14974 15014 15025 - 14929 14935 14936 14958 14961 14966 - 14931 14936 14941 14958 14962 14969 - 14937 14947 14949 14960 14971 - 8232 11299 13750 15001 15024 15067 15085 - 14874 14906 14943 14950 14983 14986 - 14934 14940 14942 14959 14967 14972 - 14936 14952 14953 14966 14969 - 14940 14947 14957 14960 14970 14972 - 14947 14954 14959 14970 14971 - 14935 14950 14952 14966 14976 14980 - 14941 14942 14953 14967 14969 14977 - 8429 14069 14806 14979 15051 15073 - 14768 14938 14993 15034 15036 15601 - 14468 14738 14902 14975 15017 15022 - 14952 14958 14961 14969 14980 14987 - 14942 14957 14962 14972 14977 14988 - 13965 14823 14913 15016 15031 15046 - 14953 14958 14962 14966 14977 14987 - 14959 14960 14971 14972 14982 14984 - 14946 14948 14949 14954 14960 14970 14981 14982 14990 - 14957 14959 14967 14970 14984 14988 - 14868 14911 14944 14981 14985 15021 15035 - 14593 14738 14951 15017 15025 15041 - 14902 14933 14965 14978 15020 15022 - 14950 14961 14980 14983 14995 15000 - 14962 14967 14969 14987 14988 14997 14998 - 14933 14939 14975 14989 15015 15020 - 14069 14909 14963 15028 15051 - 14961 14966 14976 14987 14995 14999 - 14944 14948 14971 14973 14990 15021 - 14970 14971 14984 14990 14992 - 14950 14956 14976 14986 15000 15003 - 14970 14972 14982 14988 14992 14996 - 14842 14911 14921 14973 15002 15035 15048 - 14943 14956 14983 14989 15003 15004 - 14966 14969 14977 14980 14997 14999 - 14967 14972 14977 14984 14996 14998 - 14939 14943 14978 14986 15004 15015 - 14971 14981 14982 14992 15009 15021 - 14858 14922 14923 15002 15018 15047 - 14982 14984 14990 14996 15005 15009 - 14768 14883 14964 15018 15036 15044 - 14909 14914 15006 15028 15049 - 14976 14980 14999 15000 15012 15013 - 14984 14988 14992 14998 15005 15007 - 14977 14987 14998 14999 15010 15011 - 14977 14988 14996 14997 15007 15010 - 14980 14987 14995 14997 15011 15013 - 14976 14983 14995 15003 15012 15019 - 13750 14308 14955 15008 15059 15067 - 14921 14922 14985 14991 15047 15048 - 14983 14986 15000 15004 15019 15023 - 14986 14989 15003 15015 15023 15032 - 14992 14996 15007 15009 15033 - 14887 14914 14994 15014 15049 15052 - 14996 14998 15005 15010 15033 - 14308 14913 15001 15031 15059 15060 - 14990 14992 15005 15021 15033 15055 - 14997 14998 15007 15011 15030 15033 - 14997 14999 15010 15013 15026 15030 - 14995 15000 15013 15019 15027 15029 - 14995 14999 15011 15012 15026 15027 - 14887 14951 15006 15025 15052 15056 - 14978 14989 15004 15020 15032 15037 - 14823 14938 14968 15034 15046 15061 - 14738 14965 14974 15022 15041 15050 15062 - 14883 14923 14991 14993 15044 15047 15063 - 15000 15003 15012 15023 15029 15038 - 14975 14978 15015 15022 15037 15042 - 14973 14981 14990 15009 15035 15055 - 14965 14975 15017 15020 15042 15050 - 15003 15004 15019 15032 15038 - 11299 13260 14955 15057 15085 15110 - 14951 14974 15014 15041 15056 - 15011 15013 15027 15030 15039 15043 - 15012 15013 15026 15029 15039 - 14909 14979 14994 15049 15051 15075 - 15012 15019 15027 15038 15039 - 15010 15011 15026 15033 15043 - 14913 14968 15008 15046 15060 15068 - 15004 15015 15023 15037 15038 15045 - 15005 15007 15009 15010 15030 15043 15055 - 14938 14964 15016 15036 15061 15066 - 14973 14985 15021 15048 15055 15081 - 14964 14993 15034 15044 15066 15076 - 15015 15020 15032 15042 15045 15054 - 15019 15023 15029 15032 15039 15045 15058 - 15026 15027 15029 15038 15043 15058 - 11051 14806 14945 15073 15093 15129 - 14974 15017 15025 15056 15062 15072 - 15020 15022 15037 15050 15054 15064 - 15026 15030 15033 15039 15055 15058 15077 - 14993 15018 15036 15063 15076 - 15032 15037 15038 15054 15058 15065 - 14968 15016 15031 15061 15068 15078 - 14991 15002 15018 15048 15063 15087 - 14985 15002 15035 15047 15081 15087 - 14994 15006 15028 15052 15075 15089 - 15017 15022 15042 15062 15064 15074 - 14963 14979 15028 15073 15075 15102 - 15006 15014 15049 15056 15084 15089 - 133 150 5176 15123 15220 15242 - 15037 15042 15045 15064 15065 15070 - 15009 15021 15033 15035 15043 15077 15081 - 15014 15025 15041 15052 15072 15084 - 13260 14209 15024 15086 15110 15141 - 15038 15039 15043 15045 15065 15077 15079 - 15001 15008 15060 15067 15083 15092 - 15008 15031 15059 15068 15083 15088 - 15016 15034 15046 15066 15078 15090 - 15017 15041 15050 15072 15074 15091 - 15018 15044 15047 15076 15087 15105 - 15042 15050 15054 15070 15074 15082 - 15045 15054 15058 15070 15079 15080 - 15034 15036 15061 15076 15090 15103 - 14955 15001 15059 15085 15092 15109 - 15031 15046 15060 15078 15088 15095 - 7847 14856 14945 15093 15125 15135 - 15054 15064 15065 15080 15082 - 223 5176 5408 15133 15218 15220 - 15041 15056 15062 15084 15091 15101 - 14806 14963 15040 15051 15102 15129 15146 - 15050 15062 15064 15082 15091 15100 - 15028 15049 15051 15089 15102 15117 - 15036 15044 15063 15066 15103 15105 - 15043 15055 15058 15079 15081 15097 15104 - 15046 15061 15068 15090 15095 15108 - 15058 15065 15077 15080 15096 15097 - 15065 15070 15079 15082 15096 15099 - 15035 15048 15055 15077 15087 15104 15116 - 15064 15070 15074 15080 15099 15100 - 15059 15060 15088 15092 15107 - 15052 15056 15072 15089 15101 15112 - 14955 15024 15067 15109 15110 15131 - 14209 14884 15057 15106 15141 15161 - 15047 15048 15063 15081 15105 15116 15128 - 15060 15068 15083 15095 15107 15111 - 15049 15052 15075 15084 15112 15117 - 15061 15066 15078 15103 15108 15124 - 15062 15072 15074 15100 15101 15113 - 15059 15067 15083 15107 15109 15119 - 14945 15040 15069 15129 15135 15162 - 6142 12330 14856 15125 15170 15186 - 15068 15078 15088 15108 15111 15114 - 15079 15080 15097 15099 15115 - 15077 15079 15096 15104 15115 15118 - 211 270 12330 15165 15170 15223 - 15080 15082 15096 15100 15115 15120 - 15074 15082 15091 15099 15113 15120 - 15072 15084 15091 15112 15113 15132 - 15051 15073 15075 15117 15146 15147 - 15066 15076 15090 15105 15124 15136 - 15077 15081 15097 15116 15118 15126 - 15063 15076 15087 15103 15128 15136 - 14718 14884 15086 15121 15161 15179 - 15083 15088 15092 15111 15119 15122 - 15078 15090 15095 15114 15124 15130 - 15067 15085 15092 15119 15131 15137 - 15024 15057 15085 15131 15141 15156 - 15088 15095 15107 15114 15122 15127 - 15084 15089 15101 15117 15132 15142 - 15091 15100 15101 15120 15132 15143 - 15095 15108 15111 15127 15130 - 15096 15097 15099 15118 15120 15134 15139 - 15081 15087 15104 15126 15128 15140 - 15075 15089 15102 15112 15142 15147 - 15097 15104 15115 15126 15134 - 15092 15107 15109 15122 15137 15138 - 15099 15100 15113 15115 15139 15143 - 13608 14718 15106 15144 15179 15199 - 15107 15111 15119 15127 15138 15145 - 150 176 15053 15242 - 15090 15103 15108 15130 15136 15154 - 14856 15069 15094 15135 15185 15186 - 15104 15116 15118 15134 15140 15148 - 15111 15114 15122 15130 15145 15150 - 15087 15105 15116 15136 15140 15153 - 15040 15073 15093 15146 15162 15182 - 15108 15114 15124 15127 15150 15154 - 15085 15109 15110 15137 15152 15156 - 15101 15112 15113 15142 15143 15155 - 5408 7666 15071 15144 15212 15218 - 15115 15118 15126 15139 15148 15151 - 15069 15093 15125 15162 15185 - 15103 15105 15124 15128 15153 15154 15167 - 15109 15119 15131 15138 15149 15152 - 15119 15122 15137 15145 15149 - 15115 15120 15134 15143 15151 15159 - 15116 15126 15128 15148 15153 15157 - 15057 15086 15110 15156 15161 15173 - 15112 15117 15132 15147 15155 15164 - 15113 15120 15132 15139 15155 15159 - 7666 13608 15121 15133 15199 15212 - 15122 15127 15138 15149 15150 15158 - 15073 15102 15129 15147 15175 15182 - 15102 15117 15142 15146 15164 15175 - 15126 15134 15140 15151 15157 15160 - 15137 15138 15145 15152 15158 15163 - 15127 15130 15145 15154 15158 15168 - 15134 15139 15148 15159 15160 15166 - 15131 15137 15149 15156 15163 15172 - 15128 15136 15140 15157 15167 15171 - 15124 15130 15136 15150 15167 15168 15183 - 15132 15142 15143 15159 15164 15176 - 15110 15131 15141 15152 15172 15173 15181 - 15140 15148 15153 15160 15169 15171 - 15145 15149 15150 15163 15168 15174 - 15139 15143 15151 15155 15166 15176 15178 - 15148 15151 15157 15166 15169 - 15086 15106 15141 15173 15179 15192 - 15093 15129 15135 15182 15185 15207 - 15149 15152 15158 15172 15174 15177 - 15142 15147 15155 15175 15176 15191 - 168 211 15098 15200 15223 15249 - 15151 15159 15160 15169 15178 15180 - 15136 15153 15154 15171 15183 15188 - 15150 15154 15158 15174 15183 15190 - 15157 15160 15166 15171 15180 15184 - 12330 15094 15098 15186 15223 15229 - 15153 15157 15167 15169 15184 15188 - 15152 15156 15163 15177 15181 15187 - 15141 15156 15161 15181 15192 15193 - 15158 15163 15168 15177 15189 15190 - 15146 15147 15164 15182 15191 15202 - 15155 15159 15164 15178 15191 15194 - 15163 15172 15174 15187 15189 - 15159 15166 15176 15180 15194 15196 - 15106 15121 15161 15192 15199 15208 - 15166 15169 15178 15184 15196 - 15156 15172 15173 15187 15193 15195 - 15129 15146 15162 15175 15202 15207 - 15154 15167 15168 15188 15190 15198 - 15169 15171 15180 15188 15196 15203 - 15125 15135 15162 15186 15207 15222 - 15094 15125 15170 15185 15222 15229 - 15172 15177 15181 15189 15195 15197 - 15167 15171 15183 15184 15198 15203 - 15174 15177 15187 15190 15197 15201 - 15168 15174 15183 15189 15198 15201 - 15164 15175 15176 15194 15202 15209 - 15161 15173 15179 15193 15205 15208 - 15173 15181 15192 15195 15204 15205 - 15176 15178 15191 15196 15209 15210 - 15181 15187 15193 15197 15204 15206 - 15178 15180 15184 15194 15203 15210 - 15187 15189 15195 15201 15206 15211 - 15183 15188 15190 15201 15203 15214 15216 - 15121 15144 15179 15208 15212 15230 15237 - 120 168 15165 15249 15268 - 15189 15190 15197 15198 15211 15214 - 15175 15182 15191 15207 15209 15225 - 15184 15188 15196 15198 15210 15216 15221 - 15193 15195 15205 15206 15213 - 15192 15193 15204 15208 15213 15217 - 15195 15197 15204 15211 15213 15215 - 15162 15182 15185 15202 15222 15225 15238 - 15179 15192 15199 15205 15217 15230 - 15191 15194 15202 15210 15225 15227 - 15194 15196 15203 15209 15221 15227 - 15197 15201 15206 15214 15215 15219 - 15133 15144 15199 15218 15237 15248 - 15204 15205 15206 15215 15217 15224 - 15198 15201 15211 15216 15219 15226 - 15206 15211 15213 15219 15224 15228 - 15198 15203 15214 15221 15226 15231 - 15205 15208 15213 15224 15230 15233 - 15071 15133 15212 15220 15248 15260 - 15211 15214 15215 15226 15228 15232 - 5176 15053 15071 15218 15242 15260 15270 - 15203 15210 15216 15227 15231 15235 - 15185 15186 15207 15229 15238 15246 - 15098 15165 15170 15229 15249 15252 - 15213 15215 15217 15228 15233 15234 - 15202 15207 15209 15227 15238 15240 - 15214 15216 15219 15231 15232 15236 - 15209 15210 15221 15225 15235 15240 - 15215 15219 15224 15232 15234 - 15170 15186 15222 15223 15246 15252 - 15199 15208 15217 15233 15237 15244 - 15216 15221 15226 15235 15236 15239 - 15219 15226 15228 15234 15236 15241 - 15217 15224 15230 15234 15243 15244 - 15224 15228 15232 15233 15241 15243 - 15221 15227 15231 15239 15240 15247 - 15226 15231 15232 15239 15241 15245 - 15199 15212 15230 15244 15248 15256 - 15207 15222 15225 15240 15246 15255 15259 - 15231 15235 15236 15245 15247 15250 - 15225 15227 15235 15238 15247 15255 - 15232 15234 15236 15243 15245 15251 - 15053 15123 15220 15270 - 15233 15234 15241 15244 15251 15254 - 15230 15233 15237 15243 15254 15256 - 15236 15239 15241 15250 15251 15253 - 15222 15229 15238 15252 15259 15265 - 15235 15239 15240 15250 15255 15257 - 15212 15218 15237 15256 15260 15267 - 15165 15200 15223 15252 15268 15269 - 15239 15245 15247 15253 15257 - 15241 15243 15245 15253 15254 15258 - 15223 15229 15246 15249 15265 15269 - 15245 15250 15251 15257 15258 15261 - 15243 15244 15251 15256 15258 15262 - 15238 15240 15247 15257 15259 15263 - 15237 15244 15248 15254 15262 15267 - 15247 15250 15253 15255 15261 15263 15266 - 15251 15253 15254 15261 15262 15264 - 15238 15246 15255 15263 15265 15271 - 15218 15220 15248 15267 15270 15275 - 15253 15257 15258 15264 15266 - 15254 15256 15258 15264 15267 15273 - 15255 15257 15259 15266 15271 15272 - 15258 15261 15262 15266 15273 15274 - 15246 15252 15259 15269 15271 15276 - 15257 15261 15263 15264 15272 15274 - 15248 15256 15260 15262 15273 15275 15277 - 15200 15249 15269 15281 - 15249 15252 15265 15268 15276 15281 - 15220 15242 15260 15275 - 15259 15263 15265 15272 15276 15280 - 15263 15266 15271 15274 15278 15280 - 15262 15264 15267 15274 15277 15279 - 15264 15266 15272 15273 15278 15279 - 15260 15267 15270 15277 - 15265 15269 15271 15280 15281 15285 - 15267 15273 15275 15279 15282 - 15272 15274 15279 15280 15283 15284 - 15273 15274 15277 15278 15282 15283 - 15271 15272 15276 15278 15284 15285 - 15268 15269 15276 15285 - 15277 15279 15283 - 15278 15279 15282 15284 - 15278 15280 15283 15285 - 15276 15280 15281 15284 - 528 535 555 562 580 582 - 637 640 660 664 682 686 - 661 662 683 687 703 706 - 668 675 694 695 711 - 692 701 736 744 - 817 828 854 863 901 902 926 - 864 867 948 994 1072 1170 - 1035 1042 1064 1076 1101 1106 - 1270 1276 1301 1318 1340 1350 - 1277 1286 1305 1321 1335 1348 - 1394 1401 1431 1453 1477 1488 - 797 809 1443 1882 1984 2261 - 1441 1445 1483 1487 1520 1523 - 527 813 1264 2019 2447 2587 - 1500 1505 1541 1546 1579 1591 - 1585 1586 1619 1621 1653 1655 - 1791 1823 1864 1889 1933 1980 - 1934 1941 1969 1992 - 1953 1959 1976 1990 2001 2010 - 1971 1994 2017 2023 - 1975 1985 1988 2005 2020 2028 - 2119 2126 2127 2151 2156 2179 - 2204 2228 2247 2278 2287 2300 - 2244 2284 2373 2449 2596 2606 - 2392 2417 2436 2503 2515 2546 - 2458 2471 2473 2497 2512 15312 - 2471 2483 2511 2512 2524 15311 - 2526 2554 2561 2621 2623 2653 - 2559 2568 2588 2597 2617 2619 - 2583 2621 2625 2688 2703 2727 - 2675 2694 2698 2728 2731 2744 - 2722 2723 2730 2751 - 2710 2717 2747 2748 2793 2794 - 2720 2731 2737 2763 2770 2780 - 2718 2719 2745 2748 2786 2791 - 2763 2780 2781 2800 2810 2814 - 2738 2778 2801 2850 2855 2893 2896 - 2764 2768 2847 2863 2957 3005 3030 - 2879 2887 2904 2921 2927 - 2829 2847 2882 2957 2971 3015 - 2828 2857 2868 2952 3002 3044 - 2910 2913 2942 2946 2964 2966 - 2912 2949 2956 2987 2994 - 2854 2901 2916 3083 3125 3158 - 2951 2974 2980 3004 3006 3025 - 2957 3015 3030 3073 3112 3146 - 3041 3050 3058 3075 3096 3101 - 3047 3048 3071 3074 3103 3105 - 3005 3030 3112 3127 3174 15337 - 3105 3106 3131 3133 3164 3166 - 3113 3116 3154 3156 3177 3178 - 3112 3174 3176 3207 15334 - 3157 3160 3182 3186 3221 3222 - 3223 3233 3264 3288 3331 3341 - 3192 3204 3288 3313 3354 3365 - 3257 3283 3293 3342 3361 3369 - 3289 3295 3318 3328 3349 3352 - 3210 3251 3303 3335 3398 3458 - 3280 3286 3337 3376 - 3268 3304 3320 3424 3438 15348 - 3361 3382 3403 3411 3431 3435 3443 - 3397 3410 3469 3486 3537 3543 - 3424 3438 3541 3556 15345 - 3423 3436 3477 3517 3555 3569 - 2312 3001 3581 3994 4134 - 3492 3503 3512 3530 3547 3552 - 3576 3578 3607 3608 3635 3637 - 3586 3587 3605 3610 3631 3634 - 3604 3617 3671 3686 3729 3732 - 2261 3001 3305 3994 4172 4323 - 3729 3732 3781 3831 15357 15358 - 3732 3738 3789 3848 15356 15358 - 3831 3848 3874 15356 15357 15360 - 3845 3850 3858 3873 3887 3890 - 3848 3874 3910 3915 3927 15358 - 3908 3910 3932 3957 3959 3970 - 3930 3935 3951 3981 4004 4007 - 3977 3983 3999 4012 4021 4030 - 2447 2587 3675 4169 4463 4762 - 4077 4080 4095 4102 4122 4126 - 4075 4076 4119 4120 4164 4168 - 4155 4160 4173 4187 4195 4208 - 4263 4269 4346 4358 4446 4458 - 4364 4366 4385 4392 4408 4445 4448 - 4499 4506 4529 4536 4556 4564 - 4550 4558 4580 4590 4609 4613 - 4708 4720 4726 4748 4758 4767 - 4775 4785 4797 4813 4832 4837 - 2062 4176 4383 5180 5221 5528 - 4794 4835 4884 4954 4960 4993 - 4890 4899 4915 4929 4948 4955 - 4933 4978 4992 5038 5066 5078 - 5024 5037 5045 5074 5081 5098 - 5090 5097 5118 5132 5150 5159 - 5218 5228 5301 5398 5402 5493 - 5368 5386 5399 5435 5443 5461 - 6342 6352 6380 6397 - 6481 6493 6513 6539 6557 6574 - 6728 6741 6768 6785 6804 6812 - 6862 6883 6927 6946 6994 7005 - 6750 6765 6825 6987 7006 7346 7379 - 7801 7802 7829 7837 7864 7865 - 7910 7918 7928 7956 7962 7978 - 7971 7974 7998 8002 8031 8032 - 7979 7991 7992 8024 8039 8053 - 8149 8159 8181 8205 8228 8239 - 8193 8200 8273 8276 8371 8391 - 8095 8119 8291 8344 8450 8516 - 8356 8368 8375 8408 8411 8428 - 8371 8391 8436 8499 8532 8574 - 8455 8504 8511 8540 8579 8611 8625 - 8450 8460 8542 8649 8658 8730 - 8551 8579 8583 8628 8664 15400 - 8602 8606 8639 8647 8684 8685 - 8579 8625 8664 8700 8706 15398 - 8597 8612 8653 8665 8704 8707 - 8696 8724 8757 8761 - 8784 8787 8822 8824 8857 8863 - 8823 8836 8874 8896 - 8860 8873 8901 8907 8923 8932 - 8874 8885 8896 8921 8937 8950 - 8890 8894 8929 8940 8970 8978 - 8889 8904 8946 8985 9026 9063 - 8938 8959 8960 8991 9013 15412 - 8910 8925 8957 8997 9023 15414 - 8958 8971 8973 9002 9006 9020 - 8960 8981 9013 9022 9058 9059 15409 - 8989 9000 9038 9061 9077 9093 - 8997 9023 9081 9099 9128 15410 - 9045 9046 9072 9076 9105 9108 - 9051 9060 9071 9091 9104 9115 - 9018 9047 9061 9113 9116 9149 - 8943 8962 9050 9236 9287 15421 - 9052 9069 9082 9126 9141 9164 - 9083 9087 9110 9120 9131 9150 - 8919 8962 9146 9287 9352 15418 - 8177 8194 8306 8519 9305 10106 10842 10865 - 9026 9063 9081 9156 9182 9213 - 8975 9011 9134 9137 9280 9289 - 9048 9073 9096 9160 9184 9214 - 9122 9138 9152 9176 9196 9204 - 9107 9108 9151 9153 9193 9194 9205 - 9180 9197 9207 9230 9245 9251 - 9186 9199 9210 9233 9249 9259 - 9193 9205 9211 9241 9248 9258 - 9196 9204 9216 9240 9253 15433 - 9203 9210 9230 9249 9263 9276 - 9240 9253 9292 9306 15431 15434 - 9240 9248 9283 9306 9318 15433 - 9182 9213 9269 9552 15439 15457 - 9256 9277 9295 9349 9354 9378 - 8867 8969 9074 9325 9761 9935 15475 - 9283 9293 9318 9322 9355 9360 - 9208 9213 9298 9510 9552 15435 - 9303 9315 9331 9372 9384 15442 - 9264 9309 9333 9370 9404 9415 - 9315 9323 9361 9384 9391 15440 - 9311 9322 9344 9360 9402 9409 - 9307 9338 9362 9400 9435 15449 - 9329 9351 9357 9397 9405 15453 - 9269 9273 9411 9534 15457 - 9361 9376 9391 9417 9434 9443 - 9257 9298 9340 9462 9510 9581 - 9362 9419 9435 9461 9474 15444 - 9319 9369 9387 9465 9568 15462 - 9028 9117 9274 9550 9885 10046 - 9333 9347 9404 9421 9494 9502 - 9397 9405 9438 9449 9467 15445 - 9381 9394 9406 9444 15458 15460 - 9236 9287 9366 9533 9612 15478 - 9393 9406 9429 9475 9491 15458 - 9269 9534 9552 15435 15446 15476 - 9406 9491 9508 15454 15456 15460 - 9419 9431 9461 9476 9497 9505 - 9444 9508 15454 15458 15464 15465 - 9443 9455 9481 9506 9526 9544 - 9387 9462 9568 9597 15450 15472 - 9460 9477 9498 9528 9542 9564 - 9444 9463 9545 9599 15460 15465 - 9508 9570 9599 15460 15464 15470 - 9529 9560 9566 9598 9613 9629 - 9535 9556 9576 9607 9621 9647 - 9526 9544 9567 9607 9619 9651 - 9554 9579 9588 9625 9631 9642 - 9570 9599 9603 9654 15465 15477 - 9580 9596 9609 9635 - 9568 9597 9644 9686 9700 15462 - 9411 9478 9534 9676 9727 15483 - 9352 9468 9533 9744 9802 15480 - 9074 9274 9885 9935 10139 15437 - 9534 9552 9727 9755 9816 15457 - 9599 9654 9659 9716 9734 15470 - 9533 9612 9744 9771 9839 15455 - 9704 9717 9736 9772 - 9468 9680 9802 9912 9944 15474 - 9729 9738 9752 9778 9790 9803 - 9701 9716 9743 9789 9791 9823 - 9676 9727 9829 9879 9932 15473 - 9773 9783 9853 9859 9874 - 9823 9846 9871 9887 9896 - 9876 9883 9907 9939 - 9784 9815 9949 10004 10025 10100 - 9888 9905 9926 9955 9976 9985 - 9906 9908 9936 9946 9969 9973 - 9904 9911 9937 9952 9972 9978 - 9854 9892 9956 9975 10021 10027 - 9940 9946 9973 9982 10007 10014 - 9921 9943 9966 10029 10051 10085 - 10016 10024 10054 10076 - 10058 10075 10080 10107 10112 10121 - 10127 10132 10148 10165 10179 10183 - 10100 10152 10167 10217 10263 10274 - 10203 10204 10230 10233 10251 10253 - 10248 10260 10289 10307 - 10255 10256 10281 10285 10310 10313 - 10264 10296 10297 10332 10367 10369 15502 - 10296 10320 10364 10369 10385 15501 - 10323 10352 10382 10394 10434 10444 - 10370 10387 10388 10421 10423 10432 - 10280 10334 10415 10576 10596 10685 - 10530 10546 10547 10574 10580 10591 - 10645 10654 10659 10683 10691 10697 - 10694 10705 10711 10732 10754 10755 - 10719 10722 10736 10746 10759 10766 - 10770 10772 10811 10847 10873 - 10738 10788 10818 10883 10943 15514 - 10851 10860 10868 10888 10898 10910 - 10852 10870 10920 10931 10967 10969 - 10818 10908 10943 11015 11029 15511 - 11151 11162 11174 11197 11217 11229 - 11155 11156 11192 11231 - 11255 11264 11303 11349 11385 11427 - 11383 11414 11416 11457 11470 11522 - 11364 11375 11508 11518 11648 11763 - 11524 11533 11562 11580 11601 11613 - 11560 11596 11605 11637 11673 11676 - 11569 11614 11616 11681 11722 11803 - 11589 11604 11650 11659 11714 11731 - 11609 11632 11642 11698 11704 11741 - 11626 11652 11662 11715 11721 11787 - 11703 11772 11783 11817 - 11755 11757 11800 11822 11824 - 11743 11752 11792 11845 11851 11882 - 11790 11827 11851 11870 11916 11926 - 11799 11820 11846 11932 - 11934 11977 11980 12017 12055 12073 - 11963 11981 12005 12050 12069 12093 - 12022 12062 12082 12123 12135 - 12044 12096 12102 12213 12222 12276 - 12099 12125 12129 12184 12192 12227 - 12161 12179 12182 12247 12251 12289 - 12229 12259 12283 12358 - 12271 12290 12336 12342 12378 12392 - 12183 12253 12274 12441 12450 12561 - 12307 12342 12356 12407 12422 12444 - 12226 12284 12325 12397 12532 12605 - 12140 12231 12389 12476 12628 12736 - 12152 12295 12317 12549 12913 13041 - 8166 10539 10767 13752 15579 15601 - 12406 12446 12467 12538 12568 12589 - 12432 12479 12480 12578 12584 12631 - 12490 12503 12535 12564 12587 12602 - 12541 12611 12653 15550 - 12552 12557 12604 12615 12639 - 12541 12574 12653 12655 12690 15548 - 12566 12575 12607 12627 12664 12674 - 12592 12593 12626 12635 12679 12688 - 12573 12610 12612 12689 12740 15556 - 12599 12608 12662 12669 12698 - 12589 12613 12660 12685 12738 12743 - 12612 12655 12734 12740 12783 15553 - 12646 12685 12689 12738 12769 12801 - 12766 12774 12809 12835 12865 12872 - 12801 12815 12859 12896 12955 12972 - 12834 12843 12875 12893 12924 12932 - 12830 12854 12870 12914 12964 15563 - 12867 12886 12898 12936 12939 - 12870 12911 12964 12981 13004 15561 - 12932 12945 12956 12977 13023 13079 13097 - 12963 12981 13002 13034 13050 13066 - 13070 13084 13087 13116 13117 13140 - 13019 13039 13058 13083 13151 13156 - 13044 13091 13092 13173 13177 13205 - 13153 13159 13227 13259 13310 13342 - 13250 13252 13273 13280 13303 13307 - 13262 13287 13298 13349 13393 13408 - 13763 13786 13787 13825 13846 15573 - 13786 13802 13844 13846 13869 15572 - 13924 13967 13969 13987 - 13906 13919 13929 13964 13972 13986 - 13959 13976 13977 14017 - 13981 13983 14031 14054 14075 14085 - 13990 14000 14022 14047 14063 14082 - 10767 12039 14823 14938 15544 15601 - 14100 14118 14122 14166 14171 14188 - 14117 14138 14144 14181 14207 15585 - 14121 14139 14149 14178 14190 14205 - 14155 14185 14197 14212 - 14129 14149 14157 14190 14200 14217 - 14144 14171 14207 14214 14236 15581 - 14166 14184 14188 14221 14235 15588 - 14186 14206 14213 14249 - 14221 14235 14277 14415 15586 - 14222 14238 14246 14276 14286 14302 - 14236 14251 14258 14298 14306 14330 - 14268 14299 14312 14322 - 14263 14278 14291 14318 14329 14343 - 14279 14296 14309 14332 14348 14356 - 14286 14302 14314 14339 14350 14366 - 14353 14368 14381 14413 14424 14437 - 14330 14342 14395 14407 14462 14536 - 14386 14401 14413 14442 14453 14471 - 14437 14453 14465 14497 14507 14521 - 14454 14466 14485 14501 14523 14531 - 14493 14508 14519 14551 - 13752 14768 14938 14964 15544 15579 - 14598 14605 14633 14638 14679 14686 - 14701 14716 14720 14750 14754 14767 - 14708 14714 14736 14756 14775 - 14735 14748 14755 14770 14784 14792 - 14857 14862 14872 14880 14891 \ No newline at end of file diff --git a/lib/metis-4.0/Graphs/metis.mesh b/lib/metis-4.0/Graphs/metis.mesh deleted file mode 100755 index 7ccdf54bf..000000000 --- a/lib/metis-4.0/Graphs/metis.mesh +++ /dev/null @@ -1,7435 +0,0 @@ -7434 1 - 3708 57 2094 - 25 308 2956 - 2411 1300 2468 - 1246 3012 3401 - 3765 920 2854 - 54 613 3240 - 89 2428 4 - 544 545 2198 - 3721 8 1879 - 826 2760 3239 - 3047 1564 3916 - 2086 1466 3119 - 87 88 3004 - 1425 1879 3139 - 957 2775 2199 - 2033 1418 3718 - 2243 280 28 - 962 1638 2942 - 271 272 2256 - 1008 1645 3104 - 3269 246 247 - 2066 20 256 - 272 17 1771 - 103 104 1755 - 2040 1430 3732 - 2223 3064 36 - 1255 2946 2947 - 254 3509 253 - 581 582 2059 - 455 456 3837 - 274 2070 273 - 32 3729 3082 - 33 377 2776 - 424 425 2879 - 31 2274 325 - 3648 467 468 - 3938 943 2413 - 1339 2291 3560 - 2893 430 431 - 611 612 3197 - 1309 3652 2716 - 1088 2230 2833 - 449 450 2441 - 3899 40 427 - 453 2930 452 - 1054 1775 2407 - 427 428 2508 - 575 576 3777 - 129 130 2086 - 477 3949 2340 - 3327 1520 3817 - 1626 444 445 - 404 35 2623 - 554 2927 553 - 2232 1094 2835 - 309 1751 308 - 619 1721 3461 - 280 3005 279 - 3 57 3708 - 138 139 1761 - 1178 2094 2723 - 1836 59 60 - 1179 1836 2742 - 61 2027 1 - 62 63 2339 - 63 64 3051 - 64 65 3585 - 65 66 3429 - 66 67 2422 - 67 68 1738 - 68 69 2545 - 69 70 2017 - 164 165 2791 - 70 71 3516 - 71 72 2343 - 72 73 3893 - 630 631 2101 - 631 55 3058 - 2812 73 74 - 1749 2812 3965 - 768 2090 3699 - 1753 3031 3968 - 2491 77 78 - 1649 78 79 - 2153 79 80 - 1467 3838 3143 - 2418 81 82 - 1265 2418 3165 - 2471 748 3194 - 2 85 2483 - 85 86 1788 - 86 87 2312 - 5 3593 94 - 100 6 2429 - 3493 89 90 - 2424 90 91 - 3567 91 92 - 2131 92 93 - 1723 2131 3745 - 96 2132 3746 - 2226 1015 2425 - 97 2132 96 - 2110 1332 3597 - 99 2425 98 - 2953 104 7 - 6 101 4023 - 101 102 2994 - 102 103 2415 - 3212 1415 4019 - 3282 7 105 - 4019 105 106 - 3212 106 107 - 116 117 3734 - 117 118 2802 - 118 119 3847 - 119 120 3210 - 120 121 2652 - 121 122 3851 - 122 123 3217 - 123 124 2655 - 2041 1420 3722 - 128 2041 127 - 13 193 3738 - 57 58 2094 - 130 131 3024 - 131 132 2541 - 132 9 3572 - 1761 1095 2500 - 1971 9 133 - 134 3903 133 - 135 3546 134 - 136 2448 135 - 825 2588 3295 - 1381 1761 3524 - 2065 140 141 - 3757 141 142 - 3761 1095 2693 - 1122 1969 3826 - 1321 1720 3227 - 144 2134 143 - 3579 889 1677 - 146 2319 145 - 147 2790 146 - 148 2767 147 - 3705 148 149 - 12 150 149 - 149 150 3705 - 150 151 3705 - 151 152 2767 - 152 153 2758 - 153 154 2279 - 11 156 2499 - 2270 157 158 - 2768 159 160 - 3706 160 161 - 10 162 161 - 2726 158 159 - 163 2768 3706 - 1745 1205 2923 - 164 1695 2768 - 2270 158 2726 - 2318 165 166 - 166 167 1678 - 167 168 2135 - 168 169 2524 - 169 170 3750 - 170 171 2053 - 1574 735 3761 - 172 173 3406 - 173 174 2372 - 174 175 1856 - 1624 1112 2570 - 2460 178 3 - 179 2284 16 - 180 181 2844 - 181 182 2397 - 182 183 3001 - 183 184 1843 - 184 185 2583 - 185 186 1918 - 186 187 3290 - 187 188 1920 - 188 189 2554 - 189 190 1700 - 190 191 2546 - 191 192 1928 - 192 13 3302 - 126 2033 125 - 3722 127 2041 - 196 3717 2798 - 3718 125 2033 - 2033 1420 2798 - 2655 124 3718 - 1423 2652 3851 - 3211 198 199 - 2652 121 3851 - 2035 115 116 - 2034 1421 3848 - 1419 2037 3723 - 202 3216 201 - 2037 113 114 - 3847 2802 118 - 1416 2038 3724 - 204 3733 2034 - 2038 111 112 - 3733 205 2797 - 1426 2803 3720 - 1419 2035 2797 - 2036 1424 2803 - 3736 207 2799 - 1424 2392 3716 - 1416 2037 2799 - 2392 107 108 - 210 3731 2804 - 3731 211 2036 - 2803 3716 109 - 212 2036 211 - 214 1579 2654 - 215 3397 3215 - 3397 216 14 - 243 21 2883 - 2955 230 15 - 14 217 2954 - 217 218 1756 - 218 219 2527 - 219 220 1997 - 220 221 3521 - 221 222 1956 - 222 223 2555 - 223 224 1713 - 224 225 2537 - 225 226 1944 - 226 227 3292 - 227 228 1982 - 228 229 2549 - 1203 1925 2846 - 1428 2946 3726 - 2039 1428 2801 - 234 18 3725 - 235 2940 18 - 2645 236 237 - 1898 237 238 - 957 1807 2940 - 809 2107 2769 - 2374 251 19 - 1433 4032 3895 - 241 3157 240 - 242 2262 241 - 243 3425 242 - 21 244 2883 - 3270 244 245 - 1810 245 246 - 22 2882 247 - 22 248 2882 - 2374 1202 2638 - 2168 1202 2919 - 254 255 2669 - 1852 19 252 - 1212 1852 2944 - 255 20 1747 - 2881 259 23 - 24 2884 263 - 256 257 2786 - 257 258 1696 - 258 259 3192 - 2171 1215 3096 - 3268 260 261 - 1811 261 262 - 3271 262 263 - 1239 2171 3130 - 265 3267 264 - 2568 267 268 - 3267 265 1782 - 1618 1107 3606 - 269 3446 268 - 17 3378 1771 - 2256 1553 3981 - 17 273 2942 - 3243 274 275 - 3815 275 276 - 2817 276 16 - 351 352 2603 - 29 277 2000 - 277 278 3266 - 278 279 1989 - 298 299 3671 - 28 281 2807 - 281 282 3306 - 285 3502 284 - 1688 1285 3341 - 2341 1131 1799 - 285 286 1800 - 286 287 3000 - 287 288 2099 - 288 289 2518 - 289 290 3362 - 290 291 3078 - 291 292 2122 - 292 293 2730 - 2109 758 2455 - 26 2231 303 - 295 296 2286 - 296 297 3124 - 297 298 2538 - 3359 299 27 - 1645 297 2538 - 715 1597 2970 - 2095 301 302 - 233 234 2040 - 305 3728 2800 - 304 2800 3727 - 2801 3726 231 - 3037 377 378 - 2528 309 310 - 1995 310 311 - 1977 761 2874 - 1957 312 313 - 2556 313 314 - 1714 314 315 - 2536 315 316 - 1945 316 317 - 1985 747 2823 - 1981 318 319 - 2997 319 320 - 2210 320 321 - 3101 321 32 - 3719 33 3081 - 1417 3082 3729 - 2653 322 323 - 3214 323 324 - 31 326 3424 - 1950 1022 2126 - 328 1950 327 - 329 30 2597 - 328 329 3127 - 1190 1950 3127 - 2126 327 1950 - 2847 331 332 - 3500 332 333 - 334 2924 333 - 335 3974 334 - 336 2413 335 - 358 2281 357 - 29 1815 2085 - 356 2941 355 - 355 4016 354 - 1408 2408 3488 - 2383 343 344 - 3310 344 345 - 2476 345 346 - 4009 1187 2901 - 2395 347 348 - 3504 348 29 - 1878 352 36 - 35 349 3166 - 349 350 2419 - 350 351 3428 - 1438 3813 3404 - 342 2408 341 - 3512 710 2759 - 2224 1439 3405 - 338 2409 337 - 2409 1407 3487 - 713 3831 1728 - 1864 1072 2507 - 1864 1323 3393 - 360 1864 359 - 1774 1072 2482 - 1322 2030 3392 - 1794 364 365 - 2030 1322 3748 - 1298 3415 3551 - 2100 367 368 - 1298 3551 3029 - 325 3849 324 - 1813 784 2610 - 386 2676 385 - 2697 1544 3629 - 417 418 3438 - 2635 371 3629 - 381 382 3582 - 3629 372 2697 - 34 381 1743 - 3213 374 375 - 1422 2697 3850 - 2653 3729 322 - 1216 2879 3854 - 3037 378 379 - 3936 379 380 - 3203 380 34 - 383 384 1869 - 3276 386 387 - 3178 416 3554 - 3825 39 3178 - 437 39 3825 - 394 395 3077 - 395 396 3304 - 396 397 2296 - 1512 45 2895 - 399 3945 2469 - 3555 465 2684 - 459 1792 458 - 586 587 3376 - 403 2289 402 - 2005 1126 2577 - 408 2005 407 - 42 510 3877 - 510 511 2400 - 408 409 2608 - 2029 413 414 - 3602 984 2345 - 1330 3511 2905 - 2578 411 412 - 414 415 3476 - 415 37 3363 - 383 2288 382 - 1209 3841 3154 - 3554 416 417 - 3841 1011 1869 - 1119 3915 2880 - 1002 2857 2177 - 421 3414 420 - 424 2879 1854 - 423 1791 422 - 515 516 3436 - 1916 405 406 - 3804 426 38 - 1819 2754 3952 - 1798 1184 2774 - 394 2154 393 - 2754 391 392 - 1511 1161 2269 - 429 2651 428 - 3059 431 432 - 2102 390 391 - 483 3479 45 - 2282 433 434 - 3622 925 2014 - 436 437 3756 - 2112 1271 3580 - 2071 1324 2102 - 2784 388 389 - 1324 2866 2784 - 481 482 2928 - 2929 50 438 - 440 44 3308 - 441 3314 44 - 1183 1932 3314 - 2315 1036 2251 - 443 3336 442 - 2236 445 446 - 487 3085 37 - 488 1976 487 - 448 3866 2520 - 448 2520 447 - 2209 694 1737 - 451 1775 450 - 2067 612 41 - 3944 553 2927 - 2930 51 452 - 454 40 3309 - 1171 3229 3686 - 46 455 2200 - 2623 1498 3583 - 402 1868 401 - 1193 1848 3946 - 461 3413 460 - 1010 1570 2630 - 2853 1001 2176 - 3092 1118 2794 - 3945 399 400 - 1010 3842 1868 - 3555 464 465 - 2469 398 399 - 1208 3842 3439 - 43 466 1816 - 466 467 2581 - 2093 740 3278 - 2058 1595 3556 - 472 2058 471 - 3613 1278 2761 - 720 1882 1698 - 47 3432 593 - 473 474 1941 - 474 475 3480 - 1171 2612 3693 - 478 479 3283 - 477 2340 48 - 1895 479 49 - 439 2929 438 - 3261 49 480 - 482 50 2928 - 429 430 3375 - 484 485 3953 - 486 2885 485 - 1538 925 2893 - 443 444 2813 - 488 489 3896 - 1235 1874 3233 - 48 3628 490 - 413 2745 412 - 1469 1905 3683 - 2347 493 494 - 2810 494 495 - 3596 495 496 - 1708 496 497 - 1116 1708 2474 - 1904 498 499 - 1079 1904 2683 - 1757 500 501 - 1073 2206 2433 - 2355 502 503 - 1875 503 504 - 2606 504 505 - 3749 505 506 - 3075 506 507 - 2910 507 508 - 2721 852 2896 - 3388 509 42 - 1752 229 230 - 3749 506 3075 - 1563 512 513 - 669 2335 3800 - 3203 34 2783 - 3264 513 514 - 3558 514 515 - 517 518 2371 - 518 519 3260 - 2573 1259 2969 - 2571 660 3951 - 3641 519 520 - 3291 318 1981 - 1487 521 522 - 3111 522 523 - 3522 312 1957 - 1647 524 525 - 2549 229 1752 - 2764 526 527 - 1528 527 528 - 3292 227 1982 - 2937 529 530 - 3144 530 531 - 3521 221 1956 - 976 1622 2254 - 1606 533 534 - 2050 1093 3408 - 2521 535 536 - 3035 536 537 - 845 3013 3221 - 2814 538 539 - 2962 539 540 - 3492 100 2429 - 933 1492 2110 - 1332 2110 3799 - 545 546 3998 - 546 547 2057 - 547 548 1517 - 548 54 2522 - 549 1798 52 - 2590 551 53 - 827 2958 3538 - 552 2590 53 - 2927 554 51 - 179 180 2844 - 56 555 2699 - 555 556 1475 - 556 557 2987 - 557 558 2864 - 561 2544 560 - 562 3711 3473 - 1726 2714 3843 - 3302 13 2167 - 3711 562 563 - 2086 1490 3868 - 3290 187 1920 - 2261 565 566 - 3020 566 567 - 769 1838 3857 - 2364 568 569 - 3891 569 570 - 1258 1970 3299 - 3107 888 1556 - 1593 572 573 - 3147 573 574 - 576 577 3777 - 577 578 2647 - 3266 278 1989 - 1129 2060 2519 - 3566 578 579 - 2625 579 580 - 582 583 2501 - 583 584 3122 - 2191 1132 2897 - 2794 885 3771 - 2146 3744 3122 - 586 3694 585 - 3545 588 589 - 3317 589 590 - 923 3515 1793 - 698 1339 2525 - 3280 590 591 - 3280 591 592 - 3786 1440 3246 - 594 3646 47 - 595 3209 594 - 606 2459 2920 - 597 3806 596 - 598 3333 597 - 599 2124 598 - 2145 1312 3418 - 601 2145 600 - 602 2295 601 - 3182 1741 3668 - 604 2239 603 - 605 2909 604 - 606 2920 605 - 1565 1082 2459 - 1443 3932 3358 - 609 3067 608 - 610 2580 609 - 611 2019 610 - 84 2127 83 - 3311 922 2827 - 1497 975 2354 - 3435 1497 3940 - 616 3435 615 - 1687 1089 2922 - 618 2741 617 - 619 3461 618 - 620 2984 619 - 621 2984 620 - 622 2671 621 - 1967 1148 3645 - 624 1847 623 - 625 2856 624 - 626 3536 625 - 627 3475 626 - 628 3933 627 - 1659 1164 2782 - 630 1659 629 - 634 1555 633 - 635 3320 634 - 636 2462 635 - 637 3073 636 - 2092 1697 3796 - 639 2092 638 - 2097 1337 3300 - 3697 2097 3134 - 1060 2089 2303 - 643 2624 642 - 644 2899 643 - 645 3992 644 - 646 3992 645 - 1764 705 1506 - 648 3667 647 - 649 2915 648 - 2480 1447 3623 - 56 2480 650 - 2779 41 491 - 492 1905 491 - 2051 55 632 - 1555 1061 2516 - 3751 501 502 - 1562 1032 2449 - 733 1640 3153 - 623 3892 622 - 655 1683 3185 - 642 3134 641 - 1082 1565 2694 - 2239 1371 3411 - 3492 99 100 - 544 2633 543 - 294 295 3357 - 1731 293 294 - 3225 587 588 - 458 1853 457 - 3265 516 517 - 424 1854 423 - 1431 2648 2980 - 596 2729 595 - 2458 508 509 - 937 1494 1998 - 3335 947 2728 - 2349 1361 3337 - 2988 652 2513 - 2728 1356 3335 - 3525 558 559 - 560 3958 559 - 3272 1099 3519 - 1845 666 2438 - 3505 1630 3862 - 656 2991 1935 - 990 2454 2182 - 2681 916 3657 - 2862 511 512 - 912 3109 2335 - 1721 1115 2735 - 617 3034 616 - 3396 28 1970 - 575 2644 574 - 1664 570 571 - 3095 1241 2996 - 1631 567 568 - 1314 673 2640 - 3060 564 565 - 1315 2129 3658 - 2603 352 1878 - 581 3329 580 - 3004 88 2302 - 3387 870 3859 - 1492 540 541 - 793 3526 3223 - 2225 1750 3898 - 593 3743 592 - 177 178 3032 - 176 177 4013 - 3967 171 172 - 2308 1930 3158 - 3035 537 538 - 1372 681 2660 - 3303 534 535 - 3927 682 2552 - 1622 531 532 - 3835 683 2689 - 1387 655 2103 - 1693 1130 3667 - 1672 1154 3123 - 2979 727 1533 - 2968 528 529 - 1368 686 2673 - 3038 525 526 - 3930 687 2547 - 2386 523 524 - 3834 688 2664 - 3045 520 521 - 3853 689 2649 - 900 3228 2062 - 1515 690 1906 - 2283 1273 3763 - 2565 691 1769 - 2842 1475 3467 - 3 3708 2891 - 2072 1131 2359 - 2718 693 2047 - 2426 1252 2795 - 807 2529 2702 - 2453 776 3496 - 1865 970 2361 - 2215 1305 3541 - 2598 911 2116 - 2907 1404 3691 - 2907 697 1975 - 1849 3150 3591 - 659 3946 3449 - 2808 652 1687 - 1658 1104 2865 - 1120 1785 3801 - 3273 1617 3798 - 973 3838 2136 - 4034 2542 3463 - 1156 3355 3047 - 613 2354 3240 - 2001 865 1903 - 3372 1889 3805 - 1065 2695 2404 - 1364 2497 2563 - 1590 1068 2195 - 1282 1780 2589 - 2156 684 2753 - 3316 706 1705 - 1618 1128 3275 - 1993 707 3275 - 1808 235 236 - 1949 1111 2007 - 3281 709 2321 - 353 354 3472 - 361 362 1774 - 971 1774 2030 - 282 283 3698 - 2939 283 284 - 366 367 1724 - 365 366 2390 - 2012 356 357 - 1323 2263 3830 - 1384 996 2162 - 714 3665 3052 - 658 2727 1795 - 303 3354 302 - 951 3535 2235 - 2399 791 3074 - 1891 663 2493 - 1017 3669 2505 - 1998 1494 3244 - 2733 937 1871 - 3236 1442 3769 - 632 2516 2051 - 1371 2015 3103 - 978 3163 2081 - 1431 2980 3675 - 754 2249 1496 - 1611 1153 2932 - 1099 3272 2711 - 1277 2290 3453 - 4028 723 1919 - 3588 657 1329 - 98 3568 97 - 1035 1711 2485 - 3048 1437 3605 - 726 1833 2681 - 795 2433 2206 - 1302 2376 3114 - 3519 1099 2348 - 3197 612 2067 - 727 1666 3482 - 1987 1349 3417 - 1987 729 2215 - 2103 655 3137 - 1387 2103 2706 - 1879 8 3855 - 564 1577 2990 - 2448 136 1844 - 1293 2672 3642 - 1934 1354 3904 - 1722 2744 3382 - 1197 2044 3989 - 1683 1148 3185 - 1881 732 2672 - 137 1844 136 - 1510 1008 2297 - 3046 1105 2194 - 1900 2854 3656 - 3533 679 2466 - 1576 3219 3486 - 1059 1835 2204 - 2463 951 3448 - 1389 2515 3614 - 2179 1237 3390 - 1152 1595 2093 - 1143 2135 2524 - 1745 741 2627 - 2543 142 143 - 1965 742 2276 - 3095 902 1866 - 672 2996 2678 - 1958 1024 3542 - 673 3852 2714 - 2574 1071 2387 - 992 1750 2225 - 2073 1042 3638 - 682 4005 2378 - 2074 1044 3640 - 687 4004 2379 - 748 3910 2259 - 1473 2054 3624 - 749 2853 2176 - 460 2615 459 - 3188 1189 1805 - 422 2616 421 - 3616 909 2016 - 1710 1231 2744 - 2520 1531 3599 - 447 3416 446 - 753 3469 3135 - 2502 1763 3097 - 1941 1557 3762 - 1395 2249 3828 - 1049 1867 2650 - 2575 1653 3547 - 2136 841 3383 - 670 3457 2202 - 806 2454 1639 - 1109 1639 3754 - 1340 2820 2841 - 1961 1340 3423 - 2080 3651 3923 - 1561 693 2718 - 1084 1981 2997 - 688 3768 2573 - 2244 25 2956 - 686 3753 2687 - 810 2833 2230 - 2265 1260 3759 - 2247 14 2954 - 681 3773 2670 - 811 2836 2233 - 677 3664 2532 - 1333 3594 3365 - 1584 1192 2839 - 2795 766 2426 - 2165 766 2208 - 2849 1196 2918 - 767 2750 3258 - 2906 716 2157 - 717 3707 3129 - 1866 743 3990 - 999 2211 2816 - 1103 1989 3005 - 4012 1125 2357 - 3423 921 1961 - 1553 1188 2698 - 1214 3022 3506 - 965 2525 2445 - 2879 425 3364 - 660 3692 3180 - 1218 3013 2850 - 3151 2461 1319 - 1329 657 1939 - 2298 1393 3164 - 1363 2550 2934 - 667 2981 1706 - 1232 2472 2988 - 1934 777 2917 - 2267 726 1680 - 3637 2736 667 - 1305 1674 3187 - 1154 1586 2734 - 1968 1210 2604 - 970 1706 2045 - 1058 1903 3033 - 730 1379 1955 - 1946 1291 3534 - 2752 729 3417 - 2858 18 1807 - 1457 3959 3887 - 3385 712 2682 - 370 2084 369 - 785 3587 2992 - 3594 1034 2510 - 2155 483 484 - 433 3617 432 - 2539 1103 3994 - 1196 2189 2918 - 1228 2047 3207 - 1012 1771 2467 - 2031 1178 3689 - 692 3631 2411 - 1137 2586 2133 - 2133 1621 3098 - 1240 2399 3074 - 3184 791 2089 - 2990 563 564 - 1435 1139 3298 - 3223 2382 1220 - 2250 1220 2959 - 677 2532 3888 - 2959 794 2250 - 2304 726 2267 - 2260 2991 656 - 796 2478 3539 - 662 2762 1972 - 2317 1277 2548 - 2317 797 1504 - 718 3909 2220 - 696 2385 3760 - 3293 799 2831 - 1033 1668 2396 - 3393 359 1864 - 800 3294 2832 - 1763 1192 2828 - 1141 2853 2447 - 3625 33 2776 - 689 3853 2695 - 3632 725 2594 - 3632 1508 3237 - 1375 3264 3558 - 700 1785 3450 - 2237 1848 3447 - 3503 2848 3790 - 1639 1109 2622 - 2454 990 2087 - 1927 954 3027 - 954 3113 3027 - 808 2859 1587 - 2978 1291 3090 - 1366 1898 3312 - 2531 1746 3356 - 2947 25 2244 - 2834 810 2229 - 3274 14 2247 - 2835 811 2232 - 3995 994 2488 - 2503 3675 661 - 813 3647 1365 - 1906 1365 3647 - 1920 1024 2363 - 1023 1918 2362 - 815 2366 1343 - 688 3834 3768 - 2369 1087 1851 - 1043 2367 1913 - 1347 2167 2562 - 1025 1928 2370 - 2589 739 1772 - 1636 2806 1037 - 1305 2215 3248 - 1452 3552 2444 - 3128 670 1717 - 2657 820 3752 - 265 266 1782 - 267 3040 266 - 248 249 3132 - 3132 249 250 - 2806 1636 3189 - 1705 706 3072 - 824 2949 2463 - 2241 1380 4015 - 732 2142 1596 - 981 4017 2026 - 2011 1211 3057 - 177 3032 4013 - 827 3538 3287 - 550 3044 549 - 439 3963 2929 - 3817 828 3327 - 2188 1390 2783 - 1009 1655 1909 - 2186 906 1951 - 561 1542 2544 - 2740 1534 3549 - 1409 1888 3765 - 735 2076 1575 - 3955 738 1787 - 742 1999 2338 - 2077 735 1574 - 1607 1065 2668 - 2819 834 1573 - 1113 1635 2478 - 1507 1026 2220 - 2388 1481 3741 - 2388 836 1526 - 2300 694 1873 - 2313 837 1594 - 3238 666 2477 - 607 1565 2459 - 1956 1042 2557 - 1091 2559 1991 - 840 2560 1401 - 1304 1994 2306 - 1477 1923 3129 - 1265 2127 3626 - 3763 915 2283 - 2009 3811 3883 - 3931 693 2666 - 1877 2841 758 - 844 2792 3791 - 677 2169 4007 - 1509 2994 3964 - 3013 845 3979 - 2302 88 4 - 1353 2128 3434 - 2550 1363 3247 - 3289 847 1531 - 2423 706 2931 - 1048 1550 2914 - 1653 755 3547 - 2090 1754 3914 - 2379 1476 2540 - 2908 850 3816 - 1899 1442 3236 - 901 1861 3897 - 1614 495 3596 - 668 3179 2449 - 2378 1488 2504 - 681 2670 2561 - 2511 1975 3778 - 1857 1402 2299 - 1548 2518 3362 - 2069 855 3433 - 856 2680 3507 - 856 2327 3563 - 3171 857 3008 - 939 3672 1885 - 3150 678 3591 - 1567 3208 3827 - 2993 871 1495 - 2646 1041 2540 - 3230 2104 1078 - 1650 715 2020 - 861 3456 3353 - 1408 2383 3939 - 2413 1407 3938 - 3352 1682 3957 - 1478 2679 2904 - 2888 671 2851 - 2357 1483 4012 - 1270 2352 3793 - 3986 652 2808 - 851 2781 1899 - 2998 876 1500 - 2619 1038 2504 - 1350 1592 3224 - 1671 3531 3774 - 2003 1620 3595 - 2701 868 3982 - 1284 1685 3222 - 346 1629 2476 - 1770 702 3774 - 1290 2257 2147 - 2649 689 2533 - 1495 980 3091 - 2381 1201 3049 - 2465 872 1736 - 873 2967 4027 - 671 2113 2111 - 2162 874 1662 - 3136 1384 2162 - 2359 1414 2661 - 2072 875 3279 - 1535 2673 2686 - 1500 976 3087 - 1846 1198 3076 - 3076 877 3775 - 2780 1178 2031 - 2933 878 3996 - 1434 3140 3167 - 3529 879 2855 - 880 3043 1551 - 1654 1150 2657 - 2685 1432 3427 - 1558 673 2427 - 1658 719 2877 - 3011 882 3688 - 1698 987 3028 - 598 2124 3333 - 3161 1179 2515 - 1938 1006 2753 - 2630 461 462 - 2965 749 1767 - 1801 750 3120 - 420 2629 419 - 2171 1239 3079 - 821 3130 2171 - 1027 2512 2427 - 1019 1556 3006 - 1720 154 155 - 2406 742 1730 - 1678 167 2135 - 156 1715 2499 - 873 3466 2967 - 711 3651 3315 - 1661 281 3306 - 1690 1285 3687 - 2161 3803 3911 - 1346 2434 3452 - 2195 1299 3497 - 65 3429 3585 - 3041 1506 3615 - 61 3654 2027 - 1727 730 3993 - 1692 1130 2320 - 1672 696 2444 - 653 1735 3670 - 1164 1486 2330 - 1773 898 1783 - 1450 2787 3861 - 1824 1464 3459 - 2446 1173 3036 - 3036 900 2446 - 1784 1643 3196 - 1955 1379 2190 - 1689 181 2397 - 3990 1241 3095 - 2973 990 1858 - 651 3696 2618 - 1626 445 2236 - 488 3896 1976 - 2886 1587 4025 - 808 2437 2530 - 1264 2587 3331 - 738 3219 1886 - 2617 841 3131 - 2082 1156 2696 - 1532 3359 3540 - 3501 715 1650 - 1765 1028 2751 - 3202 751 2016 - 1760 3037 3936 - 1364 2272 2497 - 3065 798 2116 - 1386 2116 2636 - 669 3534 1617 - 1568 3109 3823 - 1598 1220 3873 - 1939 913 1911 - 3873 657 2869 - 1391 3576 3907 - 1397 1951 691 - 9 3794 2950 - 3696 651 2442 - 1560 3183 3491 - 917 2093 1595 - 1609 2564 3508 - 2926 721 1744 - 1171 1824 3229 - 1089 1687 2472 - 663 1825 3680 - 1317 2018 2738 - 2566 2018 665 - 1961 707 3810 - 255 1747 2669 - 1717 670 2202 - 2708 1717 3311 - 923 3577 1823 - 47 2180 3432 - 2913 434 435 - 3580 924 2112 - 1862 430 2893 - 484 3953 2155 - 2008 1286 3451 - 745 2008 2662 - 2358 1365 2936 - 2936 927 2358 - 1337 2097 3173 - 3010 1727 3993 - 2016 1451 3202 - 623 1847 2253 - 1896 1148 2715 - 1809 777 2728 - 3081 33 3625 - 2649 1360 3853 - 658 3465 3887 - 708 3712 3350 - 933 1455 2722 - 794 2130 4029 - 1121 1806 3016 - 2090 934 1749 - 1733 1889 3372 - 655 1967 3137 - 2939 1876 3789 - 1980 936 1800 - 1174 1871 3105 - 1871 1170 2733 - 938 1923 1753 - 717 2739 3371 - 939 1493 3084 - 727 3672 1533 - 2724 3368 1541 - 1517 940 2057 - 2011 1359 3569 - 826 3239 2011 - 2725 1453 3328 - 726 1947 3190 - 1198 1937 3070 - 862 2022 3199 - 2023 861 3200 - 1922 1187 3089 - 945 2360 1857 - 1651 945 2059 - 2006 1111 2455 - 2109 946 3678 - 2728 777 2049 - 947 1867 2843 - 948 1597 1933 - 860 2719 3935 - 1033 1724 3106 - 784 2048 3415 - 2438 666 3238 - 610 2019 2580 - 2235 1355 3448 - 705 2481 3242 - 2086 130 3024 - 2983 952 2637 - 1704 2637 731 - 3019 1704 731 - 2872 1936 685 - 3885 954 2618 - 1393 2443 3164 - 2132 1723 3746 - 2231 26 1925 - 3528 956 3501 - 1729 2107 3094 - 3350 2775 708 - 2672 732 3642 - 958 3610 2076 - 1292 3295 2142 - 2163 1311 3349 - 960 2841 2820 - 658 2007 1583 - 961 3048 2174 - 1437 3048 3146 - 3259 3039 1414 - 273 2070 2942 - 2106 240 3157 - 1366 2106 3633 - 804 3174 2266 - 1740 964 2309 - 965 1615 3449 - 1339 2445 2525 - 966 1665 3750 - 680 2572 3254 - 2241 739 1790 - 818 2452 1387 - 2065 141 3757 - 3148 1122 2091 - 1769 691 2867 - 1459 969 2365 - 970 2045 2187 - 994 1935 2356 - 799 3293 2246 - 2010 1739 2871 - 2012 357 2281 - 1728 3343 3884 - 1828 3129 3339 - 841 2136 3987 - 3149 1432 3875 - 565 2261 3060 - 820 2708 2184 - 1470 3240 3458 - 976 1500 2873 - 866 1612 2771 - 2025 725 3632 - 1608 977 2909 - 3163 1437 720 - 3103 978 2295 - 2088 738 1886 - 832 2141 3462 - 980 1495 2986 - 1616 980 2840 - 2091 1122 2338 - 1962 2332 741 - 2342 819 3226 - 1076 2203 2778 - 2490 654 1536 - 1361 2974 3337 - 2345 1369 3602 - 2345 984 2139 - 1191 2085 2331 - 2166 1446 2750 - 1312 2081 2957 - 1267 1832 2225 - 1882 961 1872 - 3481 883 3028 - 988 3288 2321 - 3288 988 2223 - 989 1681 2759 - 1438 3353 3813 - 1281 3142 3133 - 668 2377 3179 - 3864 1283 3168 - 3864 991 2752 - 992 1837 1915 - 1837 992 2729 - 1789 2093 3858 - 661 3093 1887 - 1601 2187 2989 - 656 3995 1569 - 995 3453 2290 - 751 3370 1817 - 2162 1662 3136 - 769 2211 1838 - 1787 738 3795 - 737 1632 2075 - 836 2674 3801 - 808 3575 2859 - 2111 996 1942 - 2173 2889 1270 - 1000 1943 2113 - 1839 1000 2213 - 1853 1214 3159 - 2176 1001 3812 - 2177 2857 750 - 3025 1002 1854 - 1003 1386 2385 - 2252 1003 2242 - 2594 725 1540 - 2293 1004 2260 - 1005 1628 2403 - 3043 1005 2353 - 3614 884 2748 - 2423 2931 1412 - 1007 1539 2205 - 812 2648 1431 - 2297 860 1510 - 1650 2020 4020 - 3951 660 1884 - 829 1909 1655 - 1901 462 463 - 885 2632 3380 - 2631 886 3679 - 419 1902 418 - 1012 2121 2120 - 271 2256 3981 - 1013 3137 2659 - 1742 1013 2576 - 2443 775 2925 - 724 2118 2046 - 2461 1461 2675 - 955 1472 2046 - 1845 1016 2217 - 757 2214 2032 - 1017 1870 1952 - 1276 2505 3669 - 1018 1809 3926 - 2414 663 1891 - 1019 1664 2737 - 672 1556 2679 - 2238 759 3050 - 855 2069 3700 - 1975 697 3900 - 577 2647 1663 - 877 3285 3781 - 326 2126 3424 - 1023 1843 2583 - 743 2152 3241 - 1920 188 2554 - 1024 2292 3542 - 1025 1700 2546 - 744 2292 3715 - 835 2185 2710 - 798 2285 3976 - 1027 1726 2639 - 888 2512 3608 - 2751 1536 654 - 1822 2303 3412 - 2607 823 3319 - 1550 1029 2592 - 2542 797 3463 - 756 3997 2082 - 2004 659 3820 - 3495 1906 690 - 1708 1116 2896 - 1716 2376 2523 - 1668 1033 3106 - 1724 1033 2390 - 2196 785 2189 - 1701 1034 3135 - 2477 666 1711 - 1549 1035 2667 - 2813 1626 2818 - 490 2732 489 - 2765 730 1727 - 684 3201 2806 - 2619 866 3822 - 1712 1038 2709 - 2663 863 3787 - 864 2280 3674 - 1560 3491 2217 - 1224 2150 2304 - 2646 859 3701 - 1718 1041 2720 - 1956 222 2555 - 3638 2336 746 - 1043 1713 2537 - 746 2336 3589 - 1957 313 2556 - 3640 2337 747 - 1045 1714 2536 - 747 2337 3590 - 1046 3588 2489 - 2700 1046 2495 - 1047 1873 2209 - 837 2725 3328 - 1550 2592 848 - 692 2411 1699 - 2534 755 1653 - 1842 4011 3191 - 2249 1395 2380 - 2713 858 3779 - 1051 1891 2125 - 717 2398 3707 - 2278 732 1596 - 1856 1052 2372 - 2464 895 1790 - 1780 3055 739 - 776 2934 2451 - 1227 2161 3911 - 2606 505 3749 - 718 2221 3909 - 3220 1555 3785 - 1643 1056 3053 - 3307 1057 2406 - 981 1999 4017 - 2513 652 3986 - 1889 1058 3033 - 2566 665 1860 - 1460 2566 2770 - 1060 1603 3184 - 1734 3412 1028 - 1984 719 1658 - 851 1899 3220 - 2312 87 3004 - 748 2436 3430 - 1063 2976 2323 - 1399 2976 3421 - 3578 735 1575 - 1844 1064 2448 - 2563 704 1805 - 689 2695 1607 - 1066 1815 2000 - 2750 1066 2166 - 1067 2178 1738 - 1485 849 2575 - 1068 2178 2456 - 66 2422 3429 - 2788 853 3874 - 681 2561 2660 - 2347 494 2810 - 2377 1280 3179 - 1887 1505 3999 - 1892 918 1926 - 2482 361 1774 - 2010 1072 1739 - 1073 2193 2492 - 1073 2492 2206 - 2842 848 3881 - 692 2470 3871 - 1075 2824 2533 - 871 2824 3869 - 2778 779 2350 - 1076 2410 3363 - 2208 766 1954 - 752 2439 1874 - 2104 736 3970 - 1510 860 3384 - 2683 500 1757 - 1116 1904 2255 - 2435 891 3954 - 3301 873 4027 - 1970 28 2807 - 1662 1081 3145 - 1082 2694 2613 - 977 1608 2025 - 2891 1491 3639 - 1083 1900 2075 - 3634 931 2140 - 1084 2628 3890 - 1085 1751 2528 - 761 2417 3477 - 1086 1752 2955 - 762 2416 3912 - 1087 1752 2416 - 1851 3561 4018 - 1088 1751 2417 - 3913 2417 761 - 2517 777 1934 - 1640 2922 3153 - 1090 2649 1529 - 688 2573 3091 - 1091 1756 2527 - 763 2420 3478 - 1092 1756 2420 - 3905 2420 763 - 2415 103 1755 - 1093 2421 3408 - 1094 1755 2953 - 764 2421 3906 - 2500 138 1761 - 1844 1095 2098 - 1096 2673 1535 - 683 2582 3087 - 2412 1228 3017 - 707 2743 1543 - 1098 2334 2084 - 371 2635 370 - 2348 903 3519 - 1099 2711 2119 - 2995 2720 850 - 2687 1977 4000 - 1973 2660 3947 - 1492 933 2722 - 2999 2709 853 - 2670 1983 3985 - 3991 1839 770 - 3994 2691 770 - 1104 1658 2877 - 3498 2181 699 - 1561 3433 3710 - 2194 1105 2207 - 2346 736 3950 - 3156 1106 2727 - 2690 921 1747 - 3115 3485 887 - 2483 85 1788 - 2259 1108 2436 - 2779 491 1905 - 757 2325 3754 - 1503 2995 850 - 876 2911 3934 - 2007 658 1949 - 2222 1338 3712 - 1963 732 2278 - 175 2570 1856 - 1113 1803 2910 - 2185 1703 2710 - 1114 1808 2645 - 957 3205 1729 - 2643 723 1628 - 2671 1115 2984 - 2474 498 1904 - 1679 1116 2255 - 1827 1117 3878 - 2688 1117 2535 - 1118 1792 2615 - 749 3092 1767 - 3915 750 1801 - 1791 1119 2616 - 2793 804 2266 - 2674 1120 3801 - 1121 1759 2887 - 934 3016 1806 - 2338 981 2091 - 1965 2276 3826 - 1687 2922 872 - 1104 1702 2465 - 2352 1270 2816 - 1478 3169 2679 - 1269 2888 2851 - 697 2964 4012 - 2437 1309 2530 - 3367 782 2860 - 2332 1962 4037 - 2091 981 3808 - 1128 2121 3548 - 771 3606 2373 - 1129 2992 2621 - 767 2918 2519 - 2320 896 1692 - 823 2634 3319 - 2359 875 2072 - 1799 1131 3923 - 1132 1405 3422 - 1767 1405 2965 - 1133 2662 2509 - 745 2662 1908 - 980 1647 2840 - 1985 1134 3550 - 1135 2284 2844 - 769 2593 2287 - 2863 785 1701 - 2971 900 2062 - 1884 1137 3703 - 1137 1758 3174 - 2949 824 1683 - 2614 1138 2375 - 1769 969 2351 - 1117 2431 3878 - 2771 976 1606 - 1986 1140 3581 - 1141 3584 3340 - 801 2897 2479 - 2514 750 2857 - 3180 3692 1613 - 1665 966 1962 - 890 2703 1745 - 2543 143 2134 - 1965 1144 2890 - 2595 2170 783 - 932 2773 1978 - 2296 1512 2895 - 396 2296 3304 - 830 3331 2587 - 1147 2430 3204 - 824 3026 2715 - 1733 935 3645 - 1878 36 3064 - 1878 1149 2384 - 2108 1551 3128 - 617 2741 3034 - 2052 2640 3562 - 672 2678 1556 - 1152 2093 3278 - 1595 1152 2602 - 1153 1611 2355 - 1494 2932 3244 - 1586 2350 779 - 2013 1514 3170 - 3120 750 1709 - 1499 2631 3679 - 2082 907 3355 - 3253 1859 3262 - 1157 2713 3779 - 805 2848 2237 - 1158 1695 2791 - 1695 1158 2726 - 1159 1694 2758 - 1694 1159 2790 - 2071 435 436 - 924 1863 3489 - 1862 925 3490 - 52 2269 486 - 3194 1353 2641 - 1517 2724 940 - 744 3410 2212 - 2639 3843 881 - 1486 2181 3498 - 628 2782 3933 - 1165 2785 3206 - 1874 2526 752 - 2624 1166 2301 - 1692 896 1821 - 2426 766 2165 - 2313 1394 3250 - 1722 751 1817 - 1783 1168 3536 - 2601 942 3758 - 778 2902 2361 - 3386 3780 653 - 1274 2733 2868 - 1171 3686 2612 - 754 3229 1824 - 1602 865 2001 - 1820 1172 2201 - 1173 2219 3166 - 801 2479 2446 - 1174 1484 3176 - 1871 1174 3780 - 3001 183 1843 - 1960 3241 1023 - 2441 3866 449 - 1176 1775 2451 - 2897 801 1907 - 2447 1177 2484 - 2723 59 1836 - 3689 2656 789 - 2742 1 3865 - 2656 1179 3161 - 2584 979 2141 - 1787 1180 1930 - 1181 3819 3039 - 3433 1181 2069 - 1182 1855 3698 - 711 1690 2148 - 828 3600 3342 - 442 2275 441 - 2774 52 1798 - 427 2508 3899 - 944 2003 3325 - 800 2832 2263 - 2831 799 2396 - 2068 943 3193 - 3595 713 2003 - 345 2476 3310 - 3374 2120 771 - 1272 2789 3485 - 2894 2487 790 - 1805 1189 3251 - 2847 330 331 - 1190 1519 2055 - 1732 2331 3921 - 2085 1191 3504 - 2839 2502 765 - 927 2197 3744 - 813 3973 1914 - 965 1848 2237 - 3078 291 2122 - 2892 1194 2104 - 1018 1842 2333 - 3573 2125 3592 - 1034 1701 2196 - 2855 1331 3529 - 2960 664 2044 - 734 2137 1820 - 1669 1198 3070 - 1937 1198 3974 - 2028 1199 3171 - 1605 939 3084 - 1200 2776 3037 - 1444 2776 3186 - 1201 1640 2809 - 699 3049 3175 - 2919 963 2168 - 250 2638 1644 - 1925 1203 2170 - 1807 1203 2858 - 1873 1047 2725 - 2618 1394 3181 - 1205 1745 2627 - 11 2499 2322 - 1206 1936 2872 - 4036 3027 807 - 1207 1709 2514 - 2571 1207 2585 - 3439 463 464 - 401 3155 400 - 2756 417 3438 - 385 3154 384 - 2981 1630 3496 - 2045 2605 780 - 1211 2011 3218 - 1963 2760 4026 - 3141 758 2109 - 252 2944 1852 - 2051 1061 3867 - 631 3058 2101 - 3159 456 457 - 772 3506 3022 - 887 3485 2789 - 3126 3096 1696 - 1216 1940 3764 - 3025 3764 2277 - 1814 1704 3019 - 2129 2535 674 - 2429 6 2307 - 1319 2429 3151 - 1219 2302 2428 - 2302 1219 3245 - 1598 914 2692 - 793 3223 3080 - 1221 3391 3086 - 1167 2529 2426 - 1594 837 2079 - 1833 916 2681 - 1772 967 2452 - 3389 1223 3201 - 1711 666 2150 - 2267 1224 2304 - 1225 2658 2633 - 1441 2172 3326 - 1502 838 1996 - 1016 2438 2214 - 1816 1227 2314 - 893 3346 1777 - 3017 2579 788 - 3284 3017 788 - 1229 3515 3150 - 858 3208 2898 - 3050 759 1980 - 2238 3050 3809 - 1231 1710 3175 - 751 3382 2016 - 3249 930 2049 - 2192 1089 2951 - 1233 2498 2574 - 1233 2387 2626 - 2600 1193 2450 - 1376 3503 3790 - 1235 2236 3416 - 1874 1235 2526 - 1236 1749 3031 - 768 3699 1923 - 2434 893 3117 - 1007 2205 2179 - 1238 2012 3343 - 2012 1238 2941 - 1239 1782 3040 - 2789 2171 887 - 3198 663 2414 - 2216 1240 2398 - 3095 1866 3990 - 902 3095 2287 - 1242 2478 3152 - 1113 2478 2185 - 3098 790 2133 - 1990 1243 2586 - 1244 1874 2439 - 1976 1244 3085 - 2665 1189 2405 - 1573 834 2078 - 1246 1924 3012 - 1924 1246 3051 - 3270 245 1810 - 243 2883 3425 - 1696 1249 3126 - 1782 1248 3267 - 3192 259 2881 - 821 3126 3351 - 1202 2168 3083 - 3071 4024 822 - 2829 2492 778 - 2829 1935 1251 - 1252 2426 2529 - 2795 1252 2837 - 1253 1987 2215 - 1972 1253 3513 - 1254 2210 3101 - 2210 1254 2628 - 2245 1255 2834 - 3730 25 2947 - 1256 1974 3440 - 3857 1256 2593 - 1257 2248 3232 - 1257 2247 2836 - 1970 1081 2972 - 2243 1258 2691 - 3919 815 3879 - 1988 1090 2969 - 1260 1851 4018 - 1260 2582 3759 - 1261 2325 3305 - 611 3197 2019 - 1262 2070 3243 - 2080 2805 3651 - 712 1953 2682 - 3285 1813 3781 - 3431 1860 665 - 1264 2430 2587 - 841 3987 3131 - 1564 3355 3626 - 1266 2275 3336 - 3628 1266 2251 - 1267 2225 3347 - 594 3209 3646 - 1268 2139 3800 - 2345 1268 3322 - 1125 2213 2815 - 864 2357 2280 - 2816 1124 2352 - 1039 2173 2663 - 3059 432 3617 - 786 2948 2112 - 1272 2373 2553 - 1272 2066 2789 - 3121 2283 842 - 9 2950 3572 - 1274 2868 3564 - 1274 2096 3563 - 3618 935 2234 - 2659 1275 3655 - 1779 701 2505 - 2739 1276 3371 - 2548 1277 3453 - 1005 2403 2317 - 917 1595 3321 - 1941 2761 473 - 3279 875 2412 - 2121 1012 2467 - 1280 2182 2457 - 852 1562 2151 - 2087 728 4021 - 757 3142 2214 - 2748 884 1780 - 684 2156 3389 - 2005 1283 2860 - 2123 2608 409 - 3313 869 2852 - 868 3222 1685 - 1688 3052 3665 - 1182 1690 3088 - 1286 1826 3361 - 3066 1286 2008 - 1287 1903 3118 - 1056 3069 1646 - 1288 2246 3293 - 2021 1288 3257 - 2871 710 3512 - 2010 1289 3294 - 3526 793 2172 - 2147 2257 676 - 1291 1617 3534 - 782 2978 3090 - 1292 2142 3832 - 825 3295 2114 - 1963 1112 2760 - 1293 1781 3894 - 924 1819 2154 - 786 2821 2569 - 3797 2014 786 - 1146 2218 2569 - 2823 747 4030 - 2664 1296 3834 - 1297 4031 3920 - 1913 3920 4031 - 3029 2100 368 - 784 3415 2334 - 2456 755 2235 - 705 1764 2481 - 3426 789 2468 - 3400 1300 3631 - 3186 802 2042 - 1254 2024 3634 - 2449 1032 2376 - 1302 3114 2119 - 1303 2305 3927 - 1991 1303 3478 - 2874 761 3477 - 2547 1304 3930 - 2215 911 2598 - 819 3187 3611 - 1030 2268 3338 - 2083 3256 756 - 3668 2087 2973 - 2711 1858 668 - 3889 982 2029 - 1076 2778 2410 - 1309 2437 3652 - 1309 1916 2530 - 958 2158 3610 - 1310 2466 2921 - 3349 833 2163 - 2228 3684 3690 - 2081 720 3988 - 599 3418 2124 - 1313 1958 3542 - 2389 1313 3852 - 1314 1960 2389 - 743 3324 2052 - 1315 1929 3603 - 1315 3658 2212 - 2843 1867 4010 - 2887 3407 849 - 3373 831 3286 - 920 2738 2018 - 1318 2050 3408 - 3334 1318 3664 - 3151 774 2461 - 2429 1319 3492 - 1320 2443 2925 - 1014 2443 2227 - 1321 1730 3537 - 2322 3307 11 - 3607 799 2246 - 363 3392 2030 - 1072 2010 2507 - 972 2281 3830 - 3445 389 390 - 2866 1324 3756 - 1325 1861 3379 - 2234 3379 781 - 3441 770 2402 - 1921 1326 3140 - 3395 746 1986 - 2073 1327 2305 - 2306 840 2074 - 2540 687 2379 - 3470 1911 775 - 2489 1329 3470 - 2905 2123 410 - 3226 1330 2578 - 3015 3856 675 - 2849 1331 3015 - 3799 2110 542 - 2130 3597 4029 - 3594 2510 675 - 765 1333 2360 - 1334 2539 787 - 2620 1334 787 - 3557 2258 773 - 905 2886 3235 - 3662 1978 3663 - 2199 3663 783 - 901 1697 2092 - 2097 3300 640 - 1831 3030 932 - 2222 3712 708 - 3560 1917 3966 - 2291 1339 698 - 3810 707 2820 - 3423 1340 2841 - 2657 1150 2108 - 2657 1341 4001 - 1024 1958 2363 - 1960 1023 2362 - 1343 1945 3291 - 815 1343 2368 - 1344 2369 816 - 2367 1344 816 - 3356 946 2222 - 809 2531 2107 - 1346 2045 3803 - 695 1346 3452 - 1347 2562 817 - 1929 1025 2370 - 3976 2285 3499 - 2116 1348 2598 - 1591 3360 3367 - 912 3273 1987 - 1350 3997 2268 - 701 3172 2349 - 1351 2197 3464 - 2146 927 3744 - 1352 2610 3116 - 2126 1352 3424 - 3194 748 3430 - 2641 1353 3709 - 1354 1934 2917 - 3904 1354 3680 - 1355 2650 3007 - 1049 2650 2534 - 2044 930 3989 - 3335 1356 3772 - 1357 2719 3062 - 860 3935 2175 - 2869 657 2700 - 2440 1358 2495 - 3032 178 2460 - 3218 2011 941 - 1360 1988 3792 - 802 3860 2042 - 3463 797 3747 - 2349 3337 701 - 3972 1202 2374 - 1362 1746 2531 - 3247 847 2550 - 2209 1363 2453 - 1364 2404 2876 - 704 2563 2497 - 1365 1906 3495 - 813 1365 2358 - 3312 239 2106 - 2769 1366 3821 - 3636 761 1977 - 2830 1367 3753 - 1368 2229 2830 - 762 3635 1979 - 3877 510 2400 - 796 3539 2345 - 3605 803 2293 - 2174 1370 3704 - 2015 803 2164 - 602 3411 2295 - 1372 3773 681 - 764 3643 1973 - 3644 763 1983 - 2233 1373 2826 - 3650 830 3263 - 831 3549 2766 - 1990 2586 804 - 2793 3442 3574 - 1883 805 2600 - 1376 1641 2713 - 1684 1052 2588 - 1966 3460 825 - 2513 1820 3249 - 1232 2988 2517 - 2659 3655 4014 - 3844 1379 730 - 3615 705 2063 - 3598 1380 2241 - 3524 140 2065 - 2693 1761 3659 - 1830 1468 3178 - 2676 1382 2756 - 2684 465 45 - 1208 2755 2677 - 2064 1080 2967 - 1942 996 3466 - 3961 2827 702 - 1385 2054 2184 - 1003 2252 3065 - 2385 1386 3760 - 1387 2452 2614 - 1742 2706 1013 - 3323 979 1971 - 1388 3546 3462 - 3614 2515 884 - 3742 1389 3316 - 1390 2188 3918 - 3517 3918 829 - 1391 2850 3013 - 1391 3979 3576 - 3014 1219 2642 - 676 1797 2147 - 1393 775 2443 - 775 1393 3470 - 1394 1927 4036 - 3181 1394 2313 - 3459 899 2291 - 754 3828 2249 - 1396 794 2692 - 677 4007 2324 - 2283 915 4022 - 2311 842 3811 - 1398 1130 2634 - 1938 1398 3925 - 1737 694 2976 - 752 3421 2056 - 1042 2073 2557 - 2559 1400 839 - 1401 1995 3522 - 1401 1957 2558 - 1402 2747 854 - 945 2299 1604 - 908 1532 2095 - 956 3528 2231 - 1404 2511 854 - 879 3691 2747 - 2632 1498 3380 - 2219 1132 3422 - 1406 2828 2975 - 2971 1406 4006 - 943 1937 2413 - 3957 862 3199 - 861 3353 3200 - 1922 944 2383 - 1888 692 2061 - 1083 2933 1900 - 2259 867 3262 - 1162 1770 2471 - 3969 654 2490 - 2548 1411 3747 - 2931 1006 1938 - 2423 1412 2607 - 1413 2470 2740 - 2738 1413 3373 - 3259 759 3039 - 1228 2661 2047 - 215 216 3397 - 215 3215 214 - 208 209 3735 - 209 210 2804 - 376 2393 375 - 376 33 3719 - 2391 197 198 - 2391 1418 3717 - 206 207 3736 - 208 3735 2799 - 193 194 2796 - 2798 1420 3737 - 204 2034 203 - 202 203 3848 - 373 374 3850 - 372 373 2697 - 201 2394 200 - 200 3846 199 - 212 213 3739 - 213 214 2654 - 1425 2041 3721 - 2796 194 3737 - 209 2804 3735 - 210 211 3731 - 204 205 3733 - 3736 2797 206 - 307 2039 306 - 1428 2039 3730 - 1430 2040 2800 - 1429 2846 3727 - 305 306 3728 - 3728 306 2039 - 2980 2294 3675 - 812 1431 2707 - 3468 674 1827 - 566 1516 2261 - 2262 1247 3071 - 2168 3895 4032 - 2907 1434 3167 - 1446 2166 2717 - 2009 691 2565 - 2637 1435 3298 - 3331 830 2344 - 1436 3685 2496 - 1437 2164 3605 - 720 1437 3146 - 3404 2224 340 - 1438 2408 3200 - 2409 1439 3199 - 2224 3405 339 - 3246 1440 3648 - 2602 3246 469 - 3326 2172 793 - 3080 3326 793 - 1964 865 2945 - 1287 3118 2781 - 3358 1996 838 - 609 1443 3067 - 1200 2876 3186 - 3863 3420 931 - 1445 2146 585 - 813 1914 2450 - 1331 2849 3258 - 3770 2166 787 - 1447 3319 2915 - 1530 1029 3776 - 1919 723 2643 - 622 3892 2671 - 3902 2290 4028 - 929 1919 3971 - 899 1464 3532 - 1214 3861 2787 - 1451 2016 3901 - 1812 995 3471 - 3474 819 2342 - 696 3836 2444 - 1453 2725 3505 - 1453 1894 3328 - 3056 895 2464 - 2339 1454 3654 - 1455 3888 2982 - 2169 1455 933 - 3007 664 2960 - 2463 1456 3026 - 3465 948 3444 - 1949 3887 3959 - 3666 868 3288 - 353 3472 2223 - 3234 792 2351 - 2990 1459 3711 - 1460 2018 2566 - 737 3656 2770 - 1461 2298 724 - 774 1461 2461 - 1462 2342 3226 - 2029 982 3673 - 928 2097 3697 - 2301 1463 2624 - 3138 2612 476 - 1464 2200 3532 - 1741 1465 3695 - 3696 1465 3676 - 3119 129 2086 - 3855 1466 3807 - 3143 2153 80 - 1467 2418 3131 - 3231 387 388 - 437 3825 2866 - 3683 493 2347 - 806 4003 2457 - 1470 3458 3387 - 54 1470 2522 - 1471 1014 2424 - 955 3523 2131 - 2046 2675 724 - 97 3568 2132 - 3624 2054 702 - 1473 3624 2567 - 1474 2561 2792 - 2982 1474 844 - 2592 1530 3881 - 1534 2740 3467 - 3550 1134 3042 - 2540 1476 2646 - 1051 2125 3573 - 1923 3573 768 - 1478 2904 863 - 2352 1478 863 - 1479 2223 3402 - 1149 3064 2863 - 1480 2321 2621 - 3587 1480 2992 - 1481 511 2862 - 984 1481 2388 - 2316 1482 2996 - 769 1482 3110 - 1483 2357 864 - 1663 1021 2875 - 1484 2220 2285 - 2252 1174 3176 - 2017 1485 2575 - 2343 3516 71 - 1710 898 2330 - 882 1486 2838 - 2819 1573 3702 - 1686 2986 3869 - 3581 1140 3054 - 2504 1488 2619 - 1489 2999 853 - 2561 1489 2788 - 1490 2541 3121 - 3868 1490 3121 - 1491 2780 878 - 3639 1491 878 - 2792 1572 3791 - 2110 1492 541 - 1493 939 2938 - 3670 1493 2952 - 3244 718 1998 - 856 1494 2327 - 1495 871 2986 - 2573 1495 3091 - 3591 678 3530 - 754 1496 2564 - 3752 820 2184 - 614 3940 2354 - 1010 1868 2289 - 885 3380 3771 - 1743 1499 3679 - 1869 1011 2288 - 1500 876 2873 - 2582 1500 3087 - 1501 3865 3399 - 884 1501 3068 - 1502 2401 838 - 1502 1996 3381 - 1503 850 2908 - 686 2687 2686 - 2542 1030 3338 - 2353 1504 3457 - 1505 3681 3783 - 926 3999 2509 - 1506 705 3615 - 3056 1246 3401 - 1507 2591 835 - 2710 1507 835 - 1508 2293 803 - 3237 1508 803 - 2994 102 2415 - 3221 1509 3653 - 1731 1510 3384 - 1008 1510 2286 - 2774 1184 2508 - 1161 1511 2651 - 2895 1146 2296 - 2469 1512 3922 - 3831 1513 2701 - 1284 3222 2494 - 1514 2734 3086 - 685 3391 2837 - 1515 2446 2971 - 1515 1906 2966 - 3427 1432 3149 - 1631 2639 4008 - 3859 870 2724 - 547 1517 2057 - 3297 2179 740 - 1789 993 3297 - 2055 1022 3437 - 332 3500 2847 - 2943 1524 3327 - 2928 1520 3942 - 3962 453 454 - 1521 1931 2958 - 3963 439 440 - 828 3342 2943 - 1523 3044 3943 - 3287 1523 2590 - 2340 1524 2943 - 478 3949 477 - 1525 2590 3944 - 827 3601 3818 - 1526 836 2811 - 669 1526 2551 - 3245 3014 846 - 1062 3682 3840 - 1041 1623 2764 - 1582 2908 3816 - 1529 2533 2824 - 1090 1529 2993 - 2480 1530 3776 - 1530 2699 3881 - 1531 847 3599 - 2441 1531 3866 - 3671 299 3359 - 908 2095 3612 - 727 1885 3672 - 2979 1533 3113 - 1534 557 2864 - 2740 3549 831 - 1535 2686 2911 - 1096 1535 2998 - 3767 3494 791 - 1952 983 3767 - 2709 1588 3874 - 1572 2792 3604 - 1538 431 3059 - 786 2014 2948 - 1539 695 2205 - 2488 1539 2648 - 2912 2485 795 - 1642 1004 2912 - 1541 2641 676 - 940 1541 2257 - 1542 2344 830 - 1374 2544 3650 - 707 1993 2743 - 2985 1543 843 - 2697 373 3850 - 2599 1544 31 - 3364 426 3804 - 1216 3854 1940 - 1039 1610 2644 - 3510 1546 3777 - 1547 2950 3794 - 1886 915 3112 - 1020 2099 2518 - 855 3553 2892 - 1549 838 2401 - 725 1549 2667 - 3072 706 2423 - 2914 1550 848 - 3128 2353 670 - 880 1551 2108 - 1552 3046 843 - 2611 1552 843 - 1012 2120 3374 - 270 3981 2698 - 1554 781 3379 - 3173 1554 3366 - 1555 2516 633 - 851 3785 3069 - 1556 888 3006 - 2904 2679 1019 - 3762 918 1941 - 2612 3480 475 - 1558 2427 2512 - 1151 3562 3107 - 2908 1582 3377 - 1622 2873 3934 - 1560 728 2977 - 1833 1040 3183 - 3970 736 3344 - 693 1561 2666 - 2151 2457 1070 - 1032 1562 2721 - 1563 513 3264 - 1120 2674 3442 - 2127 1564 3626 - 1859 1156 3047 - 3358 838 2694 - 608 1565 607 - 1021 2647 3566 - 1604 854 3784 - 3827 3208 858 - 592 1567 3280 - 3322 1268 3109 - 1242 3152 2762 - 1569 2488 812 - 3009 1569 812 - 3413 461 2630 - 885 3619 2632 - 3620 886 2631 - 420 3414 2629 - 2814 1572 3604 - 1572 2962 3791 - 2078 834 2665 - 1573 3045 3702 - 2077 1311 3684 - 833 3349 2693 - 1575 2076 3348 - 2609 3348 832 - 3369 906 2186 - 1835 1059 3219 - 3234 2117 792 - 2990 1577 3234 - 3216 1421 3210 - 201 1578 2394 - 3215 1415 3212 - 213 2654 3739 - 1580 123 2655 - 1423 3217 3211 - 1581 375 2393 - 3213 1581 3214 - 2968 1582 3816 - 2911 3377 1559 - 1583 960 2985 - 3156 1583 843 - 1584 690 2975 - 765 2197 2839 - 1585 2463 2949 - 2481 1585 3242 - 1586 2444 3552 - 2734 1586 779 - 1587 700 4025 - 808 1587 2437 - 1038 1599 3928 - 1588 3035 3874 - 1589 3114 3171 - 939 1885 2938 - 3984 2195 894 - 3012 3984 894 - 3417 1349 3360 - 2752 1591 3864 - 1592 907 3224 - 1779 1592 3172 - 1593 2737 572 - 1610 2663 3787 - 2079 942 2903 - 3181 1594 3518 - 3556 2602 470 - 1595 2058 3321 - 2142 959 3832 - 2588 1596 3295 - 1597 715 1933 - 860 1597 2719 - 1220 2382 3873 - 914 2869 3907 - 2771 1606 3822 - 1599 2521 3928 - 1877 758 3141 - 254 1600 3509 - 2989 2187 695 - 994 2989 1539 - 1602 2808 2945 - 2201 2001 1058 - 1060 1825 3198 - 1603 2414 3570 - 2625 1604 3784 - 2059 945 3329 - 1605 897 2013 - 939 1605 1936 - 1606 2254 533 - 1606 3303 3822 - 1065 1805 2668 - 1075 1607 2819 - 2025 2613 725 - 605 1608 2909 - 3229 754 2564 - 918 3762 3508 - 3147 1610 3787 - 1039 2644 3674 - 1611 502 2355 - 856 3507 2932 - 1612 866 3054 - 683 1612 2689 - 1142 2277 3332 - 964 1613 2258 - 3565 2896 852 - 2151 3829 852 - 1615 2445 3340 - 3449 1615 3584 - 1616 859 3042 - 688 1616 2664 - 2978 782 3798 - 2335 1617 3273 - 1961 921 2690 - 1128 1618 2432 - 3710 855 2892 - 3710 1619 3983 - 1620 2901 869 - 2494 1620 869 - 1621 2133 3265 - 1621 2371 3098 - 3144 1622 3934 - 2254 1622 532 - 2840 1647 3701 - 1041 2764 1528 - 1624 3032 3239 - 176 4013 2570 - 1803 2185 835 - 1055 1625 2591 - 1626 904 2818 - 444 1626 2813 - 1627 558 3525 - 1147 2766 3788 - 1628 723 2403 - 880 1628 3043 - 1629 346 347 - 869 2901 2852 - 1630 2453 3496 - 1630 2981 3862 - 3020 1631 4008 - 1667 1027 2364 - 1632 737 3782 - 2308 3782 997 - 1633 3651 2805 - 3341 1633 3345 - 2696 3872 1634 - 1671 922 3872 - 1635 509 3388 - 2478 1635 3539 - 1636 2900 896 - 1398 2320 1130 - 1637 3223 3526 - 913 3956 3296 - 1638 2072 3279 - 2942 1638 3378 - 1639 2622 806 - 1281 3133 2454 - 1640 733 2809 - 872 1640 2381 - 2713 1157 3503 - 590 1641 3317 - 1642 2206 2991 - 1540 2912 1004 - 1643 703 3196 - 901 3897 3053 - 1644 3083 4035 - 250 1644 3132 - 1008 2286 3124 - 908 2538 1532 - 3785 1555 3320 - 1056 1646 2462 - 1647 2386 524 - 1647 3038 3701 - 1976 904 3419 - 2251 1036 2732 - 938 1753 2491 - 973 1649 2153 - 4020 908 3612 - 3501 1650 3528 - 3464 765 2360 - 3122 2501 583 - 3658 674 3468 - 881 2685 3427 - 1653 2575 849 - 2475 1653 849 - 1654 2657 3752 - 616 1654 3435 - 1655 1009 1893 - 829 1655 2002 - 1656 51 2930 - 2927 1656 3601 - 1657 2929 3600 - 50 1657 2928 - 1658 2865 882 - 1984 1658 3011 - 3688 882 2838 - 629 1659 2782 - 3954 891 3345 - 1974 1080 2817 - 3960 3088 892 - 1768 1081 3108 - 1662 874 2972 - 3136 1662 3145 - 2875 1021 1483 - 577 1663 3777 - 1664 3891 570 - 2737 1664 571 - 1665 169 3750 - 1143 1962 3162 - 1666 727 2979 - 903 1666 3676 - 2364 1027 1631 - 2512 1667 3608 - 1668 712 3003 - 2396 1668 2831 - 1669 712 3385 - 3076 1669 3285 - 1670 3282 3397 - 3232 1670 3274 - 3872 922 1634 - 2827 1671 3774 - 1154 2013 3123 - 3023 1672 897 - 1673 142 2543 - 742 1965 2890 - 1674 991 3511 - 3187 1674 3611 - 3187 819 3474 - 3760 1675 3836 - 3428 351 2603 - 3036 1676 3228 - 2134 1677 2704 - 145 1677 144 - 2135 1143 2703 - 3527 1678 890 - 1679 2255 722 - 2523 1679 722 - 1680 3190 2601 - 1073 1680 2193 - 3353 989 3813 - 1289 3512 3456 - 1682 3257 3455 - 2759 1682 3352 - 1683 824 2715 - 2375 1683 655 - 2588 825 3195 - 173 1684 3406 - 1685 1284 3281 - 868 1685 3288 - 3111 1686 3869 - 980 1686 2386 - 1687 652 2472 - 2916 1687 872 - 1688 3341 891 - 2064 714 3052 - 2397 1175 3063 - 3403 1689 3063 - 1690 711 3315 - 3088 1690 3687 - 1691 3676 3885 - 3676 1691 3696 - 1821 896 3010 - 2763 1692 646 - 1130 2763 3667 - 2634 1693 3319 - 1694 152 2758 - 147 1694 2790 - 2768 163 164 - 2318 1158 2791 - 1696 2786 257 - 1249 1696 3192 - 1056 2462 3073 - 901 2092 3366 - 987 1826 3028 - 3102 1698 3028 - 2914 848 2842 - 692 1699 2470 - 1700 190 2546 - 1024 1700 2292 - 2196 2510 1034 - 3469 1701 3135 - 1702 719 3769 - 872 2465 2916 - 1703 2762 662 - 2326 1703 662 - 3807 1466 2983 - 953 3807 1814 - 3072 1550 1048 - 3161 1389 3742 - 1706 1210 2605 - 667 1706 3637 - 3117 893 3948 - 3278 1707 3786 - 1708 497 2474 - 1614 3596 3565 - 1709 750 2514 - 2188 1709 3918 - 1710 699 3175 - 898 1710 2744 - 2150 1040 2304 - 2485 1711 3002 - 1712 2709 2999 - 682 1712 2552 - 1713 224 2537 - 1042 1713 2336 - 1714 315 2536 - 1044 1714 2337 - 1715 156 157 - 890 1715 2712 - 1716 3008 857 - 2376 1716 857 - 1717 2202 922 - 1341 1717 4001 - 1718 2720 2995 - 687 1718 2547 - 1719 268 3446 - 3079 1719 3115 - 3537 889 2749 - 3227 1720 155 - 1721 2735 880 - 2108 1829 880 - 1817 929 3409 - 898 1722 3018 - 3745 2131 93 - 95 3746 3593 - 1724 949 3106 - 366 1724 2390 - 3853 1360 2870 - 2404 2695 3860 - 1726 673 2714 - 2639 1726 3843 - 1727 3010 896 - 1037 1727 2900 - 1728 3884 713 - 868 2701 3222 - 1729 1114 2107 - 957 1729 2775 - 1730 2704 889 - 3537 1730 889 - 1731 2730 293 - 1510 1731 3357 - 3921 709 3281 - 2852 1732 3313 - 1733 734 2201 - 935 1733 3372 - 1734 1765 909 - 1201 3252 2271 - 1735 1003 3023 - 2952 653 3670 - 1736 872 2381 - 1104 1736 2181 - 694 2323 2976 - 3247 1737 3713 - 1738 2422 67 - 2017 1067 2545 - 1072 1774 3330 - 710 1739 2021 - 1740 1120 2793 - 700 3450 2309 - 1741 903 3676 - 916 2977 3695 - 2576 730 2765 - 2706 1742 3714 - 1743 2783 34 - 3582 1743 381 - 2926 917 3321 - 993 1744 3681 - 1745 3162 741 - 890 1745 2923 - 2531 809 3937 - 19 1746 3660 - 2669 1747 3975 - 2553 1747 20 - 2609 832 3462 - 135 1748 3546 - 934 1806 2812 - 3031 3965 75 - 1750 1915 883 - 3898 1750 3066 - 1751 309 2528 - 2417 1751 1085 - 1752 230 2955 - 2416 1752 1086 - 3968 3031 76 - 938 2491 3339 - 1195 2333 2906 - 768 1754 2090 - 1755 104 2953 - 1093 1755 2421 - 1756 218 2527 - 2420 1756 1091 - 1757 501 3751 - 2680 1757 3507 - 1137 1884 3740 - 964 3180 1613 - 1759 716 3191 - 2887 1759 3407 - 2043 3517 910 - 2272 1760 910 - 1761 139 3524 - 833 2693 3659 - 1762 1057 3099 - 2026 1762 741 - 1763 1034 3097 - 753 1763 2828 - 2481 1764 3535 - 3497 1764 3833 - 1765 1734 1028 - 3471 1765 654 - 1766 2170 2595 - 715 1766 3520 - 1767 2794 3771 - 1132 2965 1405 - 3108 1081 1661 - 1688 2746 1285 - 2867 1436 2344 - 3100 2351 792 - 2471 1410 3910 - 3387 2567 870 - 2467 3284 788 - 272 1771 2256 - 2241 4015 967 - 1223 1772 3021 - 1773 2330 898 - 627 1773 3475 - 1774 362 2030 - 1072 3330 1739 - 1775 2441 450 - 2407 1775 451 - 1776 2237 2848 - 2525 1776 3484 - 1777 2581 467 - 893 1777 3948 - 1778 2263 2832 - 713 1778 2935 - 1779 841 1592 - 701 1779 3172 - 1780 884 3068 - 2589 1780 739 - 1781 3057 3158 - 3894 2158 958 - 1782 266 3040 - 1782 3130 3351 - 3018 1722 1168 - 626 1783 3536 - 1287 2781 3544 - 1643 1784 1056 - 3450 1120 1740 - 2329 1785 700 - 1786 958 2076 - 959 1786 2077 - 738 2088 3795 - 997 1787 1930 - 1788 86 2312 - 2436 1788 1062 - 3858 1744 993 - 1518 3297 993 - 1790 895 3598 - 1053 1790 3055 - 1791 1854 3814 - 422 1791 2616 - 3812 1001 1853 - 1840 1118 2615 - 1793 1229 1567 - 3432 1793 3743 - 2396 799 3607 - 364 1794 3392 - 1795 1106 2346 - 658 1795 3465 - 3979 845 3334 - 1796 2324 3576 - 1797 3434 3978 - 913 2147 3255 - 1798 549 3044 - 2958 1798 3538 - 1799 711 2148 - 936 1980 3571 - 936 1876 3502 - 3000 1800 286 - 1801 2861 886 - 1841 1119 2880 - 1802 2380 698 - 1157 3484 1776 - 3075 507 2910 - 1625 1803 835 - 1804 3021 818 - 1037 3714 1742 - 1805 704 3188 - 834 3251 2665 - 1121 2343 3893 - 934 2812 1749 - 1807 18 2940 - 1807 2199 3061 - 1808 236 2645 - 957 1808 3205 - 1809 947 3926 - 1354 2917 3630 - 1810 246 3269 - 3071 1247 4024 - 1811 3268 261 - 3271 1811 262 - 3471 995 1451 - 2548 1812 3969 - 1813 1263 3514 - 2126 4033 1352 - 1814 3019 1217 - 817 1814 3941 - 2085 985 2331 - 2000 1815 29 - 1816 2407 43 - 2581 1816 466 - 3370 1449 929 - 1722 1817 1168 - 2155 925 3622 - 2269 1161 2885 - 1819 1160 2754 - 924 2154 3621 - 1820 2513 1172 - 734 1820 2201 - 1821 2899 644 - 1692 1821 3992 - 1822 733 2192 - 3627 1822 919 - 1823 2626 678 - 923 1823 3515 - 1824 1171 3693 - 899 3459 1464 - 3198 1603 1060 - 919 3904 3627 - 1826 987 2503 - 3361 1826 661 - 1827 674 2535 - 792 2117 3878 - 3339 1649 973 - 2739 1828 973 - 1829 1721 880 - 618 1829 2741 - 1830 1382 3276 - 1468 1830 3231 - 3030 1831 3543 - 3662 3350 1831 - 2225 745 3347 - 595 1832 3209 - 3183 1040 3491 - 1222 3657 2442 - 2748 3908 1006 - 706 1834 2931 - 3219 1059 3486 - 2204 1835 3955 - 1836 60 2742 - 789 2656 3161 - 1837 986 1915 - 597 1837 3806 - 1838 1942 873 - 2593 769 3857 - 1839 874 1943 - 770 1839 2213 - 1840 460 3413 - 2794 1840 3619 - 1841 2880 3620 - 421 1841 3414 - 1842 3926 4011 - 1018 2333 3318 - 1843 184 2583 - 2152 1843 1023 - 1844 137 2500 - 1064 1844 2098 - 1845 2150 666 - 2214 2438 1226 - 1846 3076 3775 - 333 1846 3500 - 3409 1168 1817 - 3971 2253 929 - 1848 3449 3946 - 805 2237 3447 - 3591 1496 1050 - 1229 1849 3208 - 1850 2368 1084 - 2969 3890 760 - 4018 762 2961 - 816 1851 3880 - 1852 946 1746 - 19 1852 1746 - 1853 1001 3022 - 1792 1853 458 - 1854 1002 3814 - 423 1854 1791 - 3698 283 2939 - 3306 1855 3960 - 1856 3661 1052 - 174 1856 2372 - 1857 675 3856 - 854 2299 1402 - 1858 990 2377 - 1307 1858 3272 - 1859 2 2483 - 1156 1859 3253 - 1860 3755 906 - 1576 1860 906 - 2757 703 1643 - 3366 1861 901 - 3490 1818 1161 - 430 1862 3375 - 1863 434 2913 - 1819 3489 1160 - 1864 360 2482 - 1323 2507 3839 - 1865 1706 970 - 1169 1865 2902 - 1866 902 3063 - 743 1866 2152 - 1867 664 2650 - 1316 4010 2475 - 1868 3155 401 - 1010 2289 1498 - 2288 1011 1499 - 3154 1869 384 - 1870 983 1952 - 701 1870 2505 - 1871 937 3105 - 3386 1871 3780 - 1872 961 3009 - 987 1872 2707 - 1873 694 2209 - 2313 3160 837 - 1874 3419 904 - 3233 1874 904 - 1875 504 2606 - 2221 1875 1055 - 3502 1800 936 - 3789 1876 936 - 3141 1212 3882 - 921 1877 3975 - 3064 1479 2863 - 1136 1878 2384 - 1879 3855 953 - 1879 2167 3139 - 1880 905 1545 - 2716 1880 38 - 1881 958 1786 - 959 1881 1786 - 1882 1872 987 - 1698 1882 987 - 1883 1234 3225 - 1376 3790 3545 - 3740 1758 1137 - 790 2487 3703 - 1885 727 1589 - 1199 1885 1589 - 1886 1576 3369 - 3763 3112 915 - 3093 993 3681 - 926 1887 3999 - 3996 878 3400 - 1888 2061 3765 - 1889 1733 1058 - 2757 1325 3805 - 3207 693 3931 - 1097 1890 1552 - 2493 1018 3318 - 1754 3592 1195 - 1892 721 2926 - 918 1892 3613 - 1893 3917 2894 - 1655 1893 3845 - 1894 3862 667 - 942 1894 3758 - 1895 1524 3283 - 1520 1895 3261 - 1896 1197 2137 - 2473 1896 734 - 1146 2569 2821 - 395 1897 3077 - 1898 238 3312 - 809 2769 3821 - 3236 3769 719 - 1555 3220 1061 - 1900 1409 2854 - 1083 2075 1959 - 1901 463 3439 - 1010 1901 3842 - 2629 1571 1011 - 3438 1902 3841 - 1903 865 3118 - 3033 1903 3196 - 1904 499 2683 - 2255 1904 1079 - 1905 492 3683 - 806 2622 4003 - 1906 3647 1031 - 1515 2966 801 - 2966 1906 1031 - 1177 1907 2705 - 1908 1133 3577 - 3347 1908 3454 - 1909 829 3177 - 1009 1909 3951 - 1910 2486 771 - 2373 1910 771 - 1911 913 1392 - 775 1911 2642 - 1912 1045 2366 - 2264 1296 3919 - 1913 816 3920 - 746 4031 2822 - 1914 1445 3694 - 1234 1914 3376 - 1915 986 3102 - 992 1915 1750 - 1916 2716 405 - 2577 1916 406 - 1917 3506 3966 - 3532 1450 3870 - 1918 186 3290 - 814 2362 1342 - 2643 1115 3886 - 1449 1919 929 - 2554 1700 1024 - 1342 2363 814 - 1921 3994 3441 - 787 1921 3140 - 1922 3089 944 - 3939 2383 944 - 1923 1236 1753 - 3129 1923 938 - 1924 3585 3984 - 64 1924 3051 - 1925 26 2846 - 783 2170 3061 - 2574 2387 1233 - 1892 1926 721 - 1927 3027 4036 - 651 2618 3181 - 1928 192 3302 - 817 2370 1347 - 1929 817 3603 - 3715 1929 3410 - 1930 2466 679 - 997 1930 2308 - 2958 827 3818 - 40 1931 3309 - 1932 1522 3308 - 2275 1183 3314 - 3520 1766 1145 - 948 1933 3444 - 1934 3904 919 - 2951 1934 919 - 2356 1935 2829 - 656 1935 3995 - 1936 1605 685 - 1533 3443 3113 - 1937 943 3070 - 335 1937 3974 - 2753 684 3189 - 1412 1938 823 - 1939 2382 3956 - 1329 1939 1911 - 3235 1545 905 - 773 1940 3557 - 1941 918 3613 - 3480 1941 474 - 3466 996 1384 - 999 1942 1838 - 1943 996 2113 - 1839 1943 1000 - 1944 226 3292 - 1043 1944 2367 - 1945 317 3291 - 1045 1945 2366 - 1946 998 2859 - 2149 1291 3575 - 1947 2903 942 - 3190 1947 942 - 1238 2701 3982 - 355 1948 4016 - 1949 3959 932 - 1111 1949 3030 - 1950 328 3127 - 1022 1950 3437 - 2496 1264 3331 - 691 1951 3685 - 3767 983 1536 - 1017 1952 2399 - 1953 949 2682 - 1668 1953 712 - 1954 2506 1076 - 1077 1954 2159 - 1955 2190 928 - 2301 1955 3697 - 2555 1713 1042 - 1400 2557 839 - 2556 1714 1044 - 1401 2558 840 - 3542 744 2777 - 814 1958 2389 - 2891 3639 1083 - 941 1959 2075 - 1960 814 2389 - 3241 1960 3324 - 2690 1107 1618 - 707 1961 1618 - 4037 1966 1127 - 1665 1962 1143 - 2278 1052 3661 - 4026 2760 826 - 1964 3118 865 - 1702 1964 1123 - 1965 968 1673 - 1144 1965 1673 - 4037 966 3460 - 1127 1966 2114 - 1148 2473 3645 - 3137 1967 3618 - 2314 1054 1816 - 2605 1968 780 - 1969 1122 2163 - 1969 3483 3977 - 2807 1661 1081 - 3299 1970 2972 - 3794 979 1547 - 3323 1971 3903 - 1972 912 1987 - 662 1972 3513 - 1973 1372 2660 - 1318 2845 2532 - 2817 1080 1660 - 2284 1256 3440 - 3900 1483 1021 - 1404 1975 2511 - 1976 1648 904 - 487 1976 3085 - 2874 1304 2547 - 1367 1977 2687 - 1978 2595 783 - 932 1978 3662 - 1979 1368 2673 - 1260 2961 2582 - 2341 1799 3571 - 1230 1980 1800 - 1981 319 2997 - 1343 1981 2368 - 1982 228 2549 - 1344 1982 2369 - 2878 1303 2552 - 1373 1983 2670 - 3236 1061 1899 - 1213 1984 3011 - 1985 3394 747 - 2664 2823 1296 - 2822 1297 2689 - 1327 1986 2378 - 1987 3417 729 - 1972 1987 1253 - 1988 760 3792 - 1090 1988 2649 - 1989 279 3005 - 1334 1989 2539 - 3558 515 3436 - 3574 1990 804 - 1991 839 2305 - 763 3478 2878 - 1992 290 3078 - 1548 1992 3553 - 3548 2121 788 - 2743 1993 1097 - 1994 1085 2560 - 2306 1994 840 - 1995 311 3522 - 1085 1995 2560 - 1996 3358 3932 - 1502 3381 1226 - 1997 220 3521 - 1091 1997 2559 - 1998 718 1484 - 1174 3105 1484 - 1999 742 2406 - 1762 4017 1057 - 2000 277 3266 - 1066 2000 2620 - 2001 1903 1058 - 1602 2001 1172 - 2002 1655 3802 - 829 2002 3517 - 3325 1185 2023 - 2003 3089 4009 - 3820 1907 1031 - 1193 2596 2450 - 2005 2577 407 - 2608 2005 408 - 2006 960 2007 - 758 2006 2455 - 2007 1111 2006 - 1583 2007 960 - 2008 3451 926 - 2662 2008 926 - 2009 1397 691 - 1435 2565 1139 - 2010 2871 1289 - 800 2010 3294 - 2011 3569 941 - 826 2011 3057 - 2012 972 3343 - 356 2012 2941 - 2013 1154 1514 - 1605 3170 685 - 2014 925 1538 - 1271 2948 3059 - 2164 978 3103 - 977 2015 3824 - 2016 909 3901 - 995 3202 1451 - 2545 1067 1738 - 3516 2017 70 - 2018 3204 665 - 920 2018 1460 - 2019 3398 950 - 3932 2580 950 - 2020 2970 1008 - 2020 3104 4020 - 2021 3257 710 - 971 2021 1739 - 2022 862 2143 - 943 3938 3193 - 3939 944 3325 - 861 2023 2144 - 2024 32 3082 - 3634 2024 3863 - 2613 2025 3609 - 977 2025 3237 - 2026 741 2332 - 981 2026 3808 - 2027 2464 1053 - 1501 3399 3068 - 2028 1170 3386 - 2952 2028 653 - 2745 2029 3673 - 3476 2029 414 - 2030 362 363 - 971 2030 3748 - 1178 2656 3689 - 878 2031 3400 - 2032 3381 950 - 3305 2032 3398 - 2033 126 3722 - 195 2798 3737 - 2802 3734 117 - 203 2034 3848 - 2035 3723 115 - 3734 2035 116 - 2036 212 3739 - 3720 2803 110 - 2037 3724 113 - 3723 2037 114 - 2038 3720 111 - 3724 2038 112 - 2039 307 3730 - 3732 2801 232 - 2040 3732 233 - 3725 2040 234 - 2041 128 3721 - 193 2796 3738 - 2042 2870 931 - 1444 2042 3420 - 2043 380 3203 - 1760 2043 910 - 2044 664 3772 - 930 2044 1356 - 2045 780 3803 - 695 2187 1346 - 2675 2046 3586 - 2046 2118 3523 - 2047 1414 3819 - 3207 2047 693 - 3415 2048 3551 - 3514 2048 784 - 2049 930 1356 - 2517 2049 777 - 3408 764 2845 - 845 2050 3334 - 3867 1984 1213 - 55 2051 3058 - 2052 1314 2640 - 1241 2772 2678 - 2053 171 3967 - 966 2053 3460 - 2054 1385 3961 - 975 2054 3458 - 2055 3775 877 - 1022 3781 1813 - 2208 1954 1077 - 2825 2439 1077 - 2057 940 4002 - 546 2057 3998 - 2058 3556 471 - 2761 2058 472 - 3329 945 1604 - 2501 2059 582 - 2060 2331 985 - 2519 2060 985 - 2061 692 3871 - 920 2061 2738 - 2062 2384 753 - 2828 2062 753 - 3242 1585 2949 - 967 2063 2614 - 2064 3136 714 - 1080 2064 3052 - 3757 1673 968 - 3977 2065 968 - 2066 2553 20 - 2786 2066 256 - 2067 41 2779 - 3305 2325 757 - 3193 2022 1186 - 1669 2068 712 - 2069 2238 1020 - 3553 855 3700 - 2070 274 3243 - 962 2070 2805 - 2071 2102 1160 - 1863 2913 1160 - 2072 1638 962 - 2080 2072 962 - 1042 2336 3638 - 839 2073 2305 - 2558 1957 1044 - 1328 2074 3394 - 2075 1900 737 - 941 2075 1632 - 2076 1310 3348 - 1786 2076 735 - 2077 1786 735 - 1311 2077 3349 - 3641 3260 519 - 1573 2078 3641 - 2079 1894 942 - 1594 2903 1222 - 2080 1131 2072 - 2805 2080 962 - 2115 986 2957 - 978 2081 3766 - 3355 1564 3047 - 756 2082 2696 - 2083 756 1634 - 922 2083 1634 - 2084 3029 369 - 1098 2084 2635 - 2085 1815 985 - 29 2085 3504 - 2086 3868 952 - 1466 2086 952 - 2087 990 2973 - 728 2217 4021 - 2088 1547 979 - 3795 2088 979 - 2089 791 3494 - 2303 2089 1028 - 2090 3914 934 - 1236 2090 1749 - 3808 2026 1127 - 2163 1122 3148 - 2092 3796 638 - 3300 2092 639 - 2093 917 3858 - 740 2093 1789 - 2094 58 2723 - 1491 2094 2780 - 2095 3540 301 - 3354 2095 302 - 2680 856 3563 - 722 2096 3564 - 2097 928 3173 - 641 2097 640 - 2098 1095 3761 - 1064 2098 3578 - 2099 3000 287 - 1020 2518 3700 - 2100 949 1724 - 367 2100 1724 - 2101 3011 3688 - 630 2101 1659 - 2102 3445 390 - 2754 2102 391 - 3137 1275 2659 - 1387 2706 818 - 2104 2122 1078 - 736 2104 3230 - 2919 1202 3972 - 809 2105 3937 - 2106 963 3633 - 240 2106 239 - 2107 1345 3094 - 1898 2769 1114 - 2108 1150 1829 - 1341 2108 3128 - 2109 2455 3559 - 1212 3678 1852 - 2110 541 542 - 933 2110 3597 - 2111 1942 999 - 2889 2111 999 - 2112 924 3621 - 786 2112 2821 - 2113 996 2111 - 1000 2113 2888 - 2114 1966 825 - 2572 2114 3254 - 2115 720 1698 - 986 2115 3102 - 2116 798 3976 - 2636 2116 911 - 2117 1577 974 - 1827 2117 974 - 2118 1014 1471 - 2046 3523 955 - 2119 1589 727 - 1099 2119 3482 - 2120 2432 771 - 1012 3374 1553 - 3548 1993 1128 - 2120 2121 1128 - 2122 292 2730 - 1194 2122 2104 - 2123 409 410 - 991 2123 3511 - 2124 2957 986 - 1837 3333 986 - 2125 1891 1195 - 1051 3573 1477 - 2126 1022 4033 - 327 2126 326 - 2127 3165 83 - 3916 2127 84 - 2128 1062 3840 - 3434 2128 846 - 3941 1814 1217 - 3658 2129 674 - 2130 794 1396 - 933 2130 2169 - 2131 3567 92 - 955 2131 1723 - 2132 1472 955 - 1723 2132 955 - 2133 790 3703 - 3265 2133 1243 - 2134 144 1677 - 889 2704 1677 - 2135 168 2524 - 1678 2703 890 - 3383 1779 1276 - 973 2136 2739 - 2137 930 1820 - 1896 2137 734 - 2138 1139 2431 - 1217 2688 2535 - 2139 984 1526 - 669 2139 1526 - 2140 931 3876 - 2628 2140 760 - 2141 979 3323 - 2921 2141 832 - 2142 732 1881 - 959 2142 1881 - 2143 1186 2022 - 3455 2143 862 - 2144 3456 861 - 1185 2144 2023 - 3766 2081 1312 - 600 2145 3418 - 2146 584 585 - 927 2146 4038 - 3255 3978 1392 - 3296 2147 913 - 2148 1690 1182 - 1799 2148 936 - 3575 1291 1946 - 1126 2530 1916 - 2150 1845 1040 - 1711 2150 1224 - 2151 1562 1280 - 1614 3829 1070 - 2152 1866 1175 - 1843 2152 1175 - 2153 1649 79 - 973 2153 3838 - 2154 3952 393 - 3077 2154 394 - 2155 1818 925 - 483 2155 3479 - 2156 1006 3908 - 3201 684 3389 - 2157 716 1759 - 1121 3016 1759 - 2158 1781 679 - 2158 3533 3610 - 2159 1954 1076 - 2439 2825 1244 - 2160 275 3815 - 3345 2160 3954 - 2161 1227 3346 - 2434 2161 893 - 2162 996 1943 - 874 2162 1943 - 3148 680 3690 - 1969 2163 833 - 2164 803 3605 - 978 2164 3163 - 2208 2056 1063 - 2300 2323 694 - 2166 1066 2620 - 2717 3770 1434 - 2167 1879 953 - 2562 2167 953 - 2168 963 3895 - 2638 3083 1644 - 2169 2130 1396 - 3888 2169 677 - 2170 1766 956 - 1925 2170 956 - 2171 3079 887 - 821 2171 3096 - 2172 1441 4002 - 2257 2172 940 - 2173 1039 2851 - 2889 2173 671 - 2174 656 1569 - 961 2174 3009 - 3230 2175 3950 - 1731 3384 1078 - 3812 1792 1118 - 749 2176 3092 - 2177 750 3915 - 1791 3814 1119 - 2178 755 2456 - 1738 2178 1068 - 2179 3390 740 - 1007 2179 1518 - 2180 3454 923 - 1793 3432 923 - 2181 1736 699 - 882 2865 1486 - 2182 806 2457 - 990 2182 2377 - 2183 985 1815 - 1066 2183 1815 - 2184 2054 975 - 1497 2184 975 - 2185 1242 1703 - 1113 2185 1803 - 2186 915 1886 - 1397 2186 1951 - 2187 2045 1346 - 970 2187 1601 - 2188 1155 1709 - 829 3918 3177 - 2189 785 2992 - 2849 2918 767 - 2190 781 1554 - 928 2190 3173 - 1132 2479 2897 - 749 2191 2447 - 2951 2472 1232 - 1822 2192 919 - 2193 1680 1169 - 778 2193 2902 - 2207 736 2346 - 843 2194 3156 - 2195 1068 2456 - 894 2195 3497 - 2196 1701 785 - 1196 2196 2189 - 2197 765 3464 - 1584 2197 927 - 2198 1225 3677 - 3998 2198 545 - 3061 1203 1807 - 957 2199 1807 - 2200 3138 46 - 3837 2200 455 - 2201 1172 2001 - 1733 2201 1058 - 2202 1306 2083 - 922 2202 2083 - 2203 779 2778 - 766 2506 1954 - 2204 3955 997 - 737 2204 3782 - 2205 695 3452 - 2179 2205 1237 - 2206 1251 2991 - 795 2206 1642 - 2207 1105 3344 - 2194 2207 1106 - 2208 1077 2056 - 2165 2208 1063 - 2209 3247 1363 - 1047 2209 2453 - 2210 321 3101 - 1084 2210 2628 - 2211 999 1838 - 1124 2211 3110 - 2212 1652 1163 - 1313 2777 2714 - 2815 1269 2357 - 770 2213 2402 - 2214 1226 2032 - 1016 2214 3142 - 2215 729 3248 - 911 2215 3541 - 2216 1017 2399 - 717 2216 2398 - 2963 1281 2087 - 1560 2217 728 - 2218 45 3479 - 786 2569 3797 - 2219 35 3166 - 2446 2479 1173 - 2220 1026 2285 - 718 2220 1484 - 2221 1153 1875 - 1507 3909 1055 - 2222 946 3559 - 3094 2222 708 - 2223 988 3402 - 353 2223 36 - 2224 989 3352 - 340 2224 339 - 2225 1832 992 - 745 2225 3898 - 2226 2461 1015 - 99 2226 2425 - 2227 1320 3493 - 2424 2227 90 - 2228 959 3684 - 3254 2228 680 - 2229 810 2830 - 2416 1086 3912 - 1088 2417 3913 - 810 2230 2830 - 2231 1403 3354 - 956 2231 1925 - 2232 811 2826 - 2421 1094 3906 - 1092 2420 3905 - 811 2233 2826 - 2234 935 3372 - 3655 2234 781 - 2235 755 2534 - 951 2235 3448 - 2236 446 3416 - 1626 3233 904 - 3447 1848 1193 - 965 2237 1776 - 3809 1230 2099 - 1181 2238 2069 - 2239 977 3824 - 603 2239 3411 - 2240 447 2520 - 2526 2240 1165 - 2241 967 1772 - 739 2241 1772 - 2242 1003 1735 - 653 2242 1735 - 2243 28 3396 - 1103 2243 2691 - 2956 1751 1088 - 3929 2833 810 - 2245 15 2946 - 810 2834 3929 - 2246 1288 2021 - 971 2246 2021 - 2954 1756 1092 - 1257 2836 3924 - 2248 7 3232 - 811 2835 3924 - 2249 2380 1050 - 1496 2249 1050 - 2250 794 2658 - 1220 2250 3223 - 2732 1036 1648 - 2731 1266 3628 - 3065 1386 1003 - 1174 2252 2242 - 2253 1847 929 - 623 2253 3892 - 2254 532 533 - 976 2254 1606 - 2255 1079 2096 - 722 2255 2096 - 2256 1771 1012 - 1553 2256 1012 - 2257 1541 676 - 2172 2257 1290 - 2258 3332 773 - 964 2258 2309 - 2259 3531 867 - 748 2259 2436 - 2260 1004 1642 - 3704 2260 656 - 2261 3149 974 - 1577 3060 974 - 3071 822 4032 - 241 2262 1433 - 2263 3839 800 - 972 2263 1778 - 3919 1296 4030 - 1259 3879 1850 - 3880 1851 1260 - 1297 2265 3835 - 2266 1758 964 - 1740 2266 964 - 2267 1680 1073 - 3002 2433 795 - 3256 3338 2268 - 2349 2268 1030 - 2885 1161 1818 - 2774 2269 52 - 2270 1158 2712 - 157 2270 1715 - 1201 2809 3252 - 1231 2271 3616 - 2272 1200 1760 - 2497 2272 910 - 2273 772 3022 - 1141 2273 2853 - 2274 3849 325 - 1544 2274 31 - 2275 442 3336 - 1183 2275 2731 - 2276 2338 1122 - 1965 3826 968 - 2277 1002 3025 - 1142 3332 3692 - 2278 1596 1052 - 1963 3661 1112 - 2279 154 1720 - 1159 2279 2749 - 2851 671 2173 - 3510 864 3674 - 2281 358 3393 - 2012 2281 972 - 2282 434 1863 - 924 2282 1863 - 4022 2186 1397 - 842 2283 3883 - 2284 179 2844 - 2593 2284 1135 - 2285 1026 3499 - 3176 2285 798 - 2286 1510 295 - 1008 3124 1645 - 2287 1482 769 - 902 2287 3403 - 2288 3582 382 - 1869 2288 383 - 2289 1868 402 - 3583 2289 403 - 2290 2403 723 - 995 2290 3902 - 2291 899 3560 - 1395 2291 698 - 2292 1700 1025 - 3410 744 3715 - 2293 1508 1004 - 1370 2293 2260 - 2294 1518 993 - 661 2294 3093 - 2295 978 2145 - 601 2295 2145 - 3304 1146 1897 - 3922 2296 397 - 2297 1008 2970 - 860 2297 1597 - 2298 3164 724 - 1046 2298 1461 - 2299 854 1604 - 1857 2299 945 - 2323 1167 2165 - 1204 2300 1873 - 2301 730 1955 - 1463 2301 3697 - 2302 4 2428 - 1527 2302 3245 - 3412 733 1822 - 1060 2303 1822 - 2304 1040 1833 - 726 2304 1833 - 2305 1327 4005 - 1991 2305 1303 - 2306 2074 1328 - 3930 2306 4004 - 2307 6 4023 - 845 3221 3653 - 3158 1930 679 - 1632 2308 1211 - 2309 2258 1335 - 700 2309 4025 - 2310 995 3902 - 751 2310 3370 - 3811 2009 1435 - 731 2637 3298 - 2312 3004 3682 - 1788 2312 1062 - 2313 3250 1204 - 1873 3160 1204 - 2314 780 1968 - 1054 2314 1968 - 2813 2818 1036 - 1266 2315 2251 - 2316 672 3169 - 1482 2316 3110 - 2317 2548 797 - 1005 2317 3980 - 2318 166 1678 - 1158 2318 3527 - 2319 1159 3579 - 145 2319 1677 - 2320 1398 3189 - 896 2320 1636 - 2321 709 2621 - 988 2321 3402 - 2322 1205 3099 - 3227 11 3307 - 2323 2300 1167 - 1063 2323 2165 - 2324 1796 677 - 914 2324 2692 - 2325 1261 2067 - 1109 2325 2067 - 2326 1026 1703 - 3513 2326 662 - 2327 1494 937 - 2733 2327 937 - 2872 2837 1252 - 807 2328 2529 - 2329 998 1785 - 1587 2329 700 - 2330 1773 1164 - 3498 2330 1486 - 3921 2060 709 - 1191 2331 1732 - 4037 1962 966 - 2026 2332 1127 - 2333 1842 716 - 1195 2906 1754 - 2334 1298 2084 - 1352 3116 2599 - 2335 669 1617 - 912 2335 3273 - 2336 1713 1043 - 1913 3589 1043 - 2337 1714 1045 - 1912 3590 1045 - 2338 2276 742 - 981 2338 1999 - 2339 1246 3056 - 62 2339 3654 - 2943 3327 828 - 48 2340 2731 - 2341 1980 759 - 1131 2341 3259 - 2342 3673 982 - 3552 2342 982 - 3893 1806 1121 - 1485 2343 1121 - 2344 1542 969 - 2867 2344 969 - 2345 2139 1268 - 796 2345 3322 - 2346 1357 3062 - 2207 2346 1106 - 2810 1614 1070 - 1469 2347 1070 - 2348 1099 3482 - 903 2348 1666 - 2349 1350 2268 - 1361 2349 4034 - 2350 3552 982 - 1308 2350 3889 - 2351 969 1459 - 1769 3100 1139 - 2352 1124 3169 - 3793 2352 863 - 2353 1005 3980 - 670 2353 3457 - 3240 975 3458 - 614 2354 613 - 2355 503 1875 - 1153 2355 1875 - 2356 778 2361 - 994 2356 1601 - 2357 1125 2815 - 2280 2357 1269 - 2358 927 4038 - 813 2358 3973 - 2359 1131 3259 - 875 2359 2661 - 2360 1333 3365 - 1651 2360 945 - 2361 970 1601 - 2356 2361 1601 - 2362 1918 1342 - 1960 2362 814 - 2363 1958 814 - 1920 2363 1342 - 2364 1631 568 - 1667 2364 569 - 2365 969 1542 - 561 3473 1542 - 2366 1945 1343 - 1912 2366 815 - 2367 1944 1344 - 1913 2367 816 - 2368 1981 1084 - 815 2368 1850 - 2369 1982 1087 - 816 2369 1851 - 2370 1928 1347 - 1929 2370 817 - 2371 1621 517 - 3260 2371 518 - 2372 1052 1684 - 173 2372 1684 - 2373 1107 2553 - 1910 2373 1272 - 2374 2638 251 - 3660 2374 19 - 2375 1138 1683 - 1387 2375 655 - 2376 1032 2523 - 3114 2376 857 - 2377 2182 1280 - 1858 2377 668 - 2378 3581 1488 - 682 2378 2504 - 2379 1328 1985 - 1476 2379 3550 - 2380 1395 698 - 1050 2380 1802 - 2381 1640 1201 - 1736 3049 699 - 2382 1637 3956 - 657 2382 1939 - 2383 3488 343 - 1922 2383 344 - 2384 1149 3469 - 1136 2384 2062 - 2385 696 1672 - 1003 2385 3023 - 2386 1686 523 - 980 2386 1647 - 2387 1071 3530 - 1233 2626 2509 - 2388 3741 836 - 984 2388 1526 - 2389 1958 1313 - 1314 3852 673 - 2390 1033 1794 - 365 2390 1794 - 2391 3717 197 - 1580 2391 198 - 2392 1579 107 - 3716 2392 108 - 2393 376 3719 - 1581 2393 2653 - 2394 1578 2652 - 200 2394 3846 - 2395 1191 2852 - 347 2395 1629 - 3607 1322 1794 - 1033 2396 1794 - 2397 182 3001 - 3403 3063 902 - 2398 3570 1051 - 1477 3707 1051 - 2399 1952 791 - 2216 2399 1240 - 2400 511 1481 - 984 3602 1481 - 2401 2477 1035 - 1549 2401 1035 - 2402 2213 1125 - 3167 2964 697 - 2403 2290 1277 - 2317 2403 1277 - 2404 802 2876 - 1065 2404 2563 - 2405 2894 790 - 1245 3098 2371 - 2406 1730 1321 - 1999 2406 1057 - 2407 451 43 - 1054 2407 1816 - 2408 3404 341 - 3488 2408 342 - 2409 3487 337 - 3405 2409 338 - 2410 1308 3476 - 1076 3363 2159 - 2411 2468 1048 - 1699 2411 1048 - 2412 875 2661 - 1279 2412 3284 - 2413 1937 335 - 3487 2413 336 - 2414 1891 1051 - 1603 3570 3074 - 2415 1755 1093 - 3653 1509 3964 - 3912 1086 2229 - 1087 2416 3561 - 3477 1085 1994 - 1088 3913 2230 - 2418 3143 81 - 3165 2418 82 - 2419 350 3428 - 900 3036 3228 - 3478 1091 1991 - 1092 3905 2233 - 2421 1755 1094 - 2232 3906 1094 - 2422 1738 1068 - 1590 2422 1068 - 2423 2607 1029 - 1550 2423 1029 - 2424 1014 2227 - 1471 2424 3567 - 2425 1015 3586 - 98 2425 3568 - 2795 2837 1221 - 1167 2426 2165 - 2427 673 1726 - 1027 2427 1726 - 2428 89 3493 - 1219 2428 2925 - 2429 2307 1218 - 3151 2429 1218 - 2430 1264 3431 - 1147 3204 3286 - 2431 1139 3100 - 2138 2431 1117 - 2432 1618 3606 - 1128 2432 2120 - 2433 1224 2267 - 1073 2433 2267 - 2434 1346 2161 - 1237 3117 3390 - 2435 1688 891 - 1080 2435 1660 - 2436 1108 1788 - 2128 3430 1062 - 2437 2886 905 - 3652 2437 905 - 3238 1502 1226 - 1845 2438 1016 - 2439 752 2056 - 1077 2439 2056 - 3907 3576 914 - 774 2440 2495 - 2441 1775 1176 - 3289 2441 1176 - 3518 1594 1222 - 3695 3657 916 - 2443 1320 2227 - 3164 2443 1014 - 2444 1586 1154 - 1672 2444 1154 - 2445 772 3340 - 965 2445 1615 - 2446 900 2971 - 801 2446 1515 - 2447 2191 1177 - 1141 2447 2484 - 2448 1064 1748 - 135 2448 1748 - 2449 2376 1302 - 668 2449 2711 - 2450 2596 813 - 1234 2450 1914 - 2451 1775 1054 - 1968 2604 1054 - 2452 967 2614 - 3021 2452 818 - 2453 2934 776 - 1047 2453 3505 - 2454 806 2182 - 1281 2454 2087 - 2455 1111 3543 - 3559 2455 1338 - 2456 2235 1299 - 2195 2456 1299 - 2457 1469 1070 - 1280 2457 2151 - 2458 509 1635 - 1113 2458 1635 - 2920 1082 3609 - 607 2459 606 - 2460 3 1959 - 941 3569 1959 - 2461 2675 1015 - 1319 2461 2226 - 2462 1646 635 - 1056 3073 1697 - 2463 1585 951 - 824 2463 3026 - 2464 1790 1053 - 1454 2464 2027 - 2916 1702 1123 - 1104 2465 1736 - 2466 1930 1180 - 3348 2921 832 - 2467 1771 1279 - 2121 2467 788 - 2468 789 3742 - 1048 2468 1705 - 2469 1383 2684 - 398 2469 3922 - 2470 1699 1074 - 2740 2470 1074 - 2471 1770 1410 - 1162 2471 3194 - 2472 652 2988 - 1089 2472 2951 - 2473 1148 1896 - 1733 2473 734 - 2474 497 498 - 1116 2474 1904 - 2475 1049 1653 - 3407 2475 849 - 2476 2901 1187 - 1922 3310 1187 - 2477 1711 1035 - 1502 2477 2401 - 2478 796 3152 - 2185 2478 1242 - 2479 1132 2219 - 1173 2479 2219 - 2480 3623 650 - 1530 2480 56 - 3535 1764 3497 - 1585 2481 951 - 2482 1072 1864 - 361 2482 360 - 2483 1788 1108 - 1859 2483 1108 - 2484 2705 659 - 1141 2484 3584 - 2485 3002 795 - 1035 2485 1540 - 2486 1910 1188 - 1553 2486 1188 - 2487 2894 3917 - 1884 2487 1009 - 2488 994 1539 - 812 2488 2648 - 2489 1393 2298 - 1046 2489 2298 - 2490 1536 983 - 2974 2490 983 - 2491 3968 77 - 1649 2491 78 - 2492 2193 778 - 2206 2492 1251 - 2493 3630 1018 - 1891 3318 1195 - 2494 1513 3595 - 3313 2494 869 - 2495 1046 1461 - 774 2495 1461 - 2496 1951 906 - 1264 2496 3755 - 2497 910 2002 - 704 2497 3802 - 2498 3783 721 - 2574 2498 721 - 2499 2923 1205 - 2322 2499 1205 - 2500 1095 1844 - 138 2500 137 - 2501 1351 3464 - 2059 2501 1651 - 2502 1333 765 - 1763 2502 1192 - 2503 987 2707 - 1826 2503 661 - 2504 1038 1712 - 682 2504 1712 - 2505 1870 1017 - 1779 2505 1276 - 2506 1221 2203 - 1076 2506 2203 - 2507 2010 800 - 1864 2507 1323 - 3899 1184 1931 - 1511 2508 428 - 3999 2498 1233 - 1133 2509 2626 - 2510 2196 1196 - 675 2510 3015 - 3778 1975 1021 - 854 2511 3784 - 2512 1027 1667 - 3107 2512 888 - 3986 1602 1172 - 1378 2513 3249 - 2514 2857 1142 - 2585 2514 1142 - 2515 1179 3865 - 884 2515 1501 - 2516 1061 2051 - 633 2516 632 - 2517 1378 2049 - 1232 2517 1934 - 2518 2099 288 - 3362 2518 289 - 2519 985 2183 - 767 2519 2183 - 2520 3599 1165 - 2240 2520 1165 - 2521 1599 535 - 1588 2521 536 - 1470 3387 3859 - 548 2522 1517 - 2523 1032 1679 - 1716 2523 722 - 2524 169 1665 - 1143 2524 1665 - 2525 965 1776 - 698 2525 3484 - 2526 1235 2240 - 3206 2526 1165 - 2527 219 1997 - 1091 2527 1997 - 2528 310 1995 - 1085 2528 1995 - 2702 1167 2300 - 1252 2529 2328 - 2530 1126 2149 - 808 2530 2149 - 2531 3356 1345 - 2107 2531 1345 - 2532 2845 1101 - 3888 2532 1101 - 2533 689 1607 - 1075 2533 1607 - 2534 1355 2235 - 1049 2534 1653 - 2535 1117 1827 - 1217 2535 2129 - 2536 316 1945 - 1045 2536 1945 - 2537 225 1944 - 1043 2537 1944 - 2538 298 3671 - 1645 2538 908 - 2539 1989 1103 - 787 2539 1921 - 2540 1041 1718 - 687 2540 1718 - 2541 1273 3121 - 131 2541 3024 - 3338 1306 3457 - 797 2542 1504 - 2543 2134 1144 - 1673 2543 1144 - 3650 1542 830 - 560 2544 3958 - 2545 1738 68 - 2017 2545 69 - 2546 191 1928 - 1025 2546 1928 - 2547 1718 1100 - 2874 2547 1100 - 2548 3969 1411 - 797 2548 3747 - 2549 1752 1087 - 1982 2549 1087 - 2550 847 3289 - 1363 2934 2453 - 2551 1526 998 - 1946 2551 998 - 2552 1712 1102 - 2878 2552 1102 - 2553 1107 1747 - 1272 2553 2066 - 2554 189 1700 - 1920 2554 1024 - 2555 223 1713 - 1956 2555 1042 - 2556 314 1714 - 1957 2556 1044 - 2557 2073 839 - 1956 2557 1400 - 2558 1044 2074 - 840 2558 2074 - 2559 1997 1400 - 1991 2559 839 - 2560 1995 1401 - 1994 2560 840 - 2561 2788 1069 - 2792 2561 1069 - 2562 953 1814 - 817 2562 1814 - 2563 1805 1065 - 1364 2563 2404 - 2564 3530 1071 - 3508 2564 1071 - 2565 1769 1139 - 2009 2565 1435 - 2566 3486 1059 - 2770 2566 1059 - 2567 1770 1162 - 870 2567 3368 - 2568 268 1719 - 887 3079 3115 - 2569 2218 1295 - 1146 2821 1897 - 2570 1112 1856 - 176 2570 175 - 2571 1909 1207 - 660 2571 2585 - 2572 1127 2114 - 2091 2572 680 - 2573 2969 1090 - 1495 2573 1090 - 2574 721 1926 - 1071 2574 1926 - 2575 3547 1067 - 2017 2575 1067 - 2576 1013 3844 - 1742 2765 1037 - 2577 1126 1916 - 407 2577 406 - 2578 2905 411 - 2745 2578 412 - 2579 1890 1097 - 1993 2579 1097 - 2580 2019 950 - 609 2580 1443 - 2581 3346 1227 - 1816 2581 1227 - 2582 2961 1096 - 1500 2582 1096 - 2583 185 1918 - 1023 2583 1918 - 2584 2141 1180 - 1787 2584 1180 - 2585 1207 2514 - 660 2585 3692 - 2586 1243 2133 - 804 2586 3174 - 2587 2430 1147 - 830 2587 3263 - 2588 1052 1596 - 3406 3195 1377 - 2589 1772 1223 - 1282 3389 2156 - 2590 3943 551 - 3944 2590 552 - 2591 1625 835 - 1055 2591 1507 - 2592 1029 1530 - 848 2592 3881 - 2593 1256 2284 - 2287 2593 1135 - 2594 1540 1004 - 1508 2594 1004 - 2595 1978 1145 - 1766 2595 1145 - 2596 1193 2004 - 1031 2596 2004 - 2597 30 330 - 2847 2597 330 - 3513 1348 2326 - 2215 2598 1253 - 2599 3116 1098 - 1544 2599 1098 - 2600 2450 1234 - 1883 2600 1234 - 2601 3758 1169 - 1680 2601 1169 - 2602 1152 3786 - 470 2602 469 - 2603 1878 1136 - 1676 2603 1136 - 2604 776 2451 - 1054 2604 2451 - 2605 1210 1968 - 1706 2605 2045 - 3749 1625 1055 - 1875 2606 1055 - 2607 1412 823 - 1029 2607 3776 - 3168 2123 991 - 2005 2608 1283 - 2609 1748 1064 - 3578 2609 1064 - 2610 784 3116 - 1813 2610 1022 - 2611 1097 1552 - 1543 2611 843 - 2612 475 476 - 2612 3138 3693 - 2613 1549 725 - 1608 3609 2025 - 2614 2063 1138 - 1387 2614 2375 - 2615 1792 459 - 1840 2615 460 - 2616 1119 1841 - 421 2616 1841 - 2617 907 1592 - 841 2617 1592 - 2618 954 1927 - 1394 2618 1927 - 2619 3054 866 - 1038 2619 1599 - 2620 2000 1334 - 2166 2620 787 - 2621 709 2060 - 1129 2621 2060 - 2622 1109 1905 - 1469 4003 1905 - 2623 3583 404 - 3422 2623 35 - 2624 1463 642 - 1166 2624 2899 - 2625 1566 579 - 1604 2625 580 - 2626 2387 678 - 1133 2626 1823 - 2627 741 1762 - 1205 2627 3099 - 2628 1254 2140 - 1084 3890 1850 - 2629 1011 1902 - 419 2629 1902 - 2630 462 1901 - 1010 2630 1901 - 2631 1499 1011 - 1571 2631 1011 - 2632 1570 1010 - 1498 2632 1010 - 2633 3799 543 - 3677 2633 544 - 2634 1130 1693 - 3925 2634 823 - 2635 2084 370 - 1098 2635 1544 - 3541 3187 1675 - 696 3760 3836 - 2637 952 2311 - 1435 2637 2311 - 2638 1202 3083 - 251 2638 250 - 2639 881 4008 - 1027 2639 1631 - 2640 673 1558 - 2052 3562 1151 - 2641 3709 676 - 1162 2641 3368 - 2642 2925 775 - 1392 2642 1911 - 2643 2735 1115 - 1919 3886 1448 - 2644 1610 574 - 1546 2644 575 - 2645 237 1898 - 1114 2645 1898 - 2646 3042 859 - 1041 2646 1623 - 3566 3778 1021 - 1663 2647 1021 - 2648 1539 1007 - 2980 2648 1007 - 2649 1988 1360 - 1529 2649 2533 - 2650 664 3007 - 2534 2650 1355 - 2651 1511 428 - 1161 3375 1862 - 2652 1578 120 - 2394 2652 1423 - 2653 2393 1417 - 1581 2653 323 - 2654 1579 2392 - 1424 2654 2392 - 2655 1418 2391 - 1580 2655 2391 - 2656 1178 1836 - 1179 2656 1836 - 2657 2108 1341 - 820 2657 4001 - 2658 1332 2633 - 2250 2658 1225 - 3655 781 4014 - 1013 2659 3844 - 2660 2561 1474 - 1973 3947 1101 - 2661 1414 2047 - 2412 2661 1228 - 2662 926 2509 - 1908 2662 1133 - 3793 2173 1270 - 1039 2663 1610 - 2664 1616 1134 - 2823 2664 1134 - 2665 2405 1245 - 2078 2665 1245 - 2666 3983 1105 - 1552 2666 3046 - 2667 1035 1540 - 725 2667 1540 - 2668 1805 3251 - 2819 2668 834 - 3975 1747 921 - 254 2669 1600 - 3985 1983 1102 - 2561 2670 1489 - 2671 3886 1115 - 621 2671 2984 - 2672 1293 3894 - 1881 2672 958 - 2673 686 2686 - 1979 2673 1096 - 2674 836 3741 - 3264 3442 1563 - 2675 1461 724 - 1472 3586 2046 - 2676 386 3276 - 1209 2676 2756 - 2677 1383 3945 - 1208 2677 3155 - 2678 2772 1151 - 1556 2678 1151 - 2679 1556 1019 - 672 2679 3169 - 2680 2096 1079 - 1757 2680 1079 - 2681 1222 1947 - 726 2681 1947 - 2682 949 2048 - 1263 2682 2048 - 2683 499 500 - 1079 2683 1757 - 2684 45 1512 - 2469 2684 1512 - 2685 1163 1652 - 1432 2685 3468 - 2686 1503 1110 - 2911 2686 1110 - 4000 1977 1100 - 2686 2687 1503 - 2688 731 2138 - 1117 2688 2138 - 2689 1612 1140 - 2822 2689 1140 - 2690 1747 1107 - 1961 2690 1618 - 2691 1258 3991 - 1103 2691 3994 - 2692 2324 1396 - 2959 2692 794 - 2693 1095 1761 - 1381 3659 1761 - 2694 838 1549 - 2613 2694 1549 - 2695 1725 3860 - 1607 2695 1065 - 3253 867 3872 - 756 2696 1634 - 2697 1422 2274 - 1544 2697 2274 - 3446 1188 1719 - 270 2698 269 - 2699 1530 56 - 1475 2699 555 - 2700 657 3588 - 1358 2700 2495 - 3982 1948 1238 - 3343 2701 1238 - 2702 2529 1167 - 1204 2702 2300 - 2703 1143 1745 - 2135 2703 1678 - 2704 2890 1144 - 2134 2704 1144 - 2705 1907 3820 - 1177 2705 2484 - 2706 2103 1013 - 818 2706 3714 - 2707 1872 812 - 2503 2707 1431 - 3311 1717 922 - 2184 2708 1385 - 2709 1038 3928 - 853 2709 3874 - 2710 1703 1026 - 1507 2710 1026 - 2711 2449 1302 - 2119 2711 1302 - 2712 1715 2270 - 890 2712 3527 - 2713 3827 858 - 1157 3779 1802 - 2714 2777 1163 - 3843 2714 1163 - 2715 1148 1683 - 1896 3026 1197 - 2716 38 405 - 1309 2716 1916 - 2717 3691 879 - 3529 2717 879 - 2718 3819 1181 - 1561 2718 3433 - 2719 1597 948 - 3062 2719 948 - 2720 1041 1528 - 850 2720 3816 - 2721 1562 852 - 1032 2721 1679 - 2722 2982 844 - 3791 2722 844 - 2723 58 59 - 1178 2723 1836 - 2724 870 3368 - 940 2724 1541 - 2725 1047 3505 - 1873 2725 3160 - 2726 159 1695 - 2270 2726 1158 - 2727 1106 1795 - 1583 2727 658 - 2728 2049 1356 - 1809 2728 947 - 2729 992 1832 - 595 2729 1832 - 2730 1731 1078 - 2122 2730 1078 - 2731 2340 1183 - 1266 2731 2275 - 2732 3896 489 - 2251 2732 490 - 2733 1170 2868 - 2327 2733 1274 - 2734 779 3086 - 1154 2734 1514 - 2735 2643 1628 - 880 2735 1628 - 2736 1894 667 - 1169 2736 1865 - 2737 571 572 - 1019 2737 1593 - 2738 3871 1413 - 1317 2738 3373 - 2739 2136 1276 - 1828 2739 717 - 2740 1074 3467 - 3373 2740 831 - 2741 1829 1150 - 1654 3034 1150 - 2742 60 1 - 1179 2742 3865 - 2743 1097 2611 - 1543 2743 2611 - 3382 751 1722 - 898 2744 1722 - 2745 1462 2578 - 2029 2745 413 - 2746 1688 3665 - 892 2746 1768 - 2747 1404 854 - 879 2747 2855 - 2748 1780 1282 - 1834 2748 1006 - 2749 889 3579 - 1720 2749 2279 - 2750 767 2183 - 1066 2750 2183 - 2751 1028 3494 - 1765 2751 654 - 2752 991 1674 - 729 2752 3248 - 2753 1398 1938 - 2156 2753 1006 - 2754 1160 2102 - 3952 2754 392 - 2755 464 3555 - 2677 2755 1383 - 2756 1382 3554 - 1209 3438 3841 - 2757 1643 3897 - 1325 2757 1861 - 2758 153 2279 - 1159 2758 2279 - 2759 710 3257 - 989 2759 3352 - 2760 1112 1624 - 1963 4026 3642 - 2761 1278 2058 - 473 2761 472 - 2762 1568 3823 - 1242 2762 1703 - 2763 1130 1692 - 647 2763 646 - 2764 1623 526 - 1528 2764 527 - 2765 1727 1037 - 2576 2765 1742 - 2766 1627 3788 - 831 2766 3286 - 2767 152 1694 - 147 2767 1694 - 2768 1695 159 - 163 3706 162 - 2769 2107 1114 - 1366 2769 1898 - 2770 1059 2204 - 737 2770 2204 - 2771 1612 976 - 866 2771 3822 - 2772 743 2052 - 1151 2772 2052 - 2773 3444 1145 - 1978 2773 1145 - 2774 2508 1511 - 2269 2774 1511 - 2775 1729 708 - 2199 2775 1336 - 2776 377 3037 - 3186 2776 1200 - 2777 744 2212 - 1163 2777 2212 - 2778 2350 1308 - 2410 2778 1308 - 2779 1905 1109 - 2067 2779 1109 - 2780 2094 1178 - 878 2780 2031 - 2781 1442 1899 - 3196 3544 1784 - 3933 1164 1773 - 629 2782 628 - 2783 1743 1155 - 2188 2783 1155 - 2784 3231 388 - 1324 2784 3445 - 2785 847 3713 - 3206 2785 1399 - 2786 1696 1215 - 2066 2786 1215 - 2787 1450 3837 - 3159 2787 456 - 2788 1489 853 - 1069 2788 3604 - 2789 2066 1215 - 2171 2789 1215 - 2790 1159 2319 - 146 2790 2319 - 2791 1695 164 - 2318 2791 165 - 2792 1069 3604 - 1474 2792 844 - 2793 1120 3442 - 1740 2793 2266 - 2794 1118 1840 - 885 2794 3619 - 2795 1221 2506 - 766 2795 2506 - 2796 1420 2041 - 1425 2796 2041 - 2797 2035 1427 - 206 2797 205 - 2798 195 196 - 2033 2798 1418 - 2799 2037 1419 - 208 2799 207 - 2800 2040 1429 - 305 2800 304 - 2801 231 232 - 2039 2801 1430 - 2802 1421 2034 - 1427 2802 2034 - 2803 109 110 - 2036 2803 1426 - 2804 1426 2038 - 1416 2804 2038 - 2805 2070 1262 - 3345 2805 1262 - 2806 1804 1037 - 684 2806 3189 - 2807 281 1661 - 1970 2807 1081 - 2808 1687 1123 - 2945 2808 1123 - 2809 733 3412 - 909 3252 1734 - 2810 495 1614 - 2347 2810 1070 - 2811 1785 998 - 1526 2811 998 - 2812 1806 73 - 3965 2812 74 - 2813 1036 2315 - 443 2813 2315 - 2814 1537 538 - 1572 2814 539 - 2815 2213 1000 - 1269 2815 2888 - 2816 2211 1124 - 999 2816 2889 - 2817 3815 276 - 1974 2817 16 - 2818 904 1648 - 1036 2818 1648 - 2819 1607 2668 - 1075 2819 3702 - 2820 707 1543 - 960 2820 2985 - 2821 2112 1294 - 1897 2821 1294 - 2822 1140 1986 - 746 2822 1986 - 4030 1912 3919 - 1985 2823 1134 - 2824 1075 3702 - 2993 2824 871 - 2825 1077 2159 - 37 2825 2159 - 2826 1373 3773 - 2232 2826 1372 - 2827 922 1671 - 702 2827 3774 - 2828 1192 2975 - 2062 2828 1406 - 2829 1251 2492 - 2356 2829 778 - 2830 2230 1367 - 1368 3753 686 - 2831 1668 1186 - 2143 2831 1186 - 2832 2144 1185 - 1778 2832 1185 - 2833 1255 2244 - 1088 2833 2244 - 2834 2229 1086 - 2245 2834 1086 - 2835 1094 2248 - 1257 2835 2248 - 2836 2247 1092 - 2233 2836 1092 - 2837 2872 685 - 1221 2837 3391 - 2838 1486 1164 - 1659 2838 1164 - 2839 2197 1584 - 2502 2839 1192 - 2840 3701 859 - 1616 2840 859 - 2841 960 2006 - 758 2841 2006 - 2842 3467 1074 - 1699 2842 1074 - 4010 1867 1049 - 4011 2843 1316 - 2844 181 1689 - 1135 2844 3403 - 2845 764 1973 - 1101 2845 1973 - 2846 26 3727 - 18 2858 3725 - 2847 1519 1190 - 2597 2847 1190 - 2848 805 3790 - 1776 2848 1157 - 3258 3529 1331 - 1196 2849 3015 - 2850 1391 2440 - 774 2850 2440 - 2851 1039 2280 - 1269 2851 2280 - 2852 1629 2395 - 1732 2852 1191 - 2853 2273 1001 - 2447 2853 749 - 2854 920 1460 - 1900 3656 737 - 2855 2747 1402 - 3015 1331 3856 - 2856 1168 1847 - 624 2856 1847 - 2857 1002 2277 - 1142 2857 2277 - 2858 1203 2846 - 1429 2858 2846 - 2859 998 2329 - 1587 2859 2329 - 3090 2149 1126 - 2005 2860 1126 - 2861 3120 1155 - 1743 2861 1155 - 2862 512 1563 - 2674 3741 1563 - 2863 1479 3587 - 1149 2863 3469 - 2864 558 1627 - 2766 3549 1627 - 2865 1104 2181 - 1486 2865 2181 - 2866 1468 2784 - 437 2866 3756 - 2867 691 3685 - 1769 2867 969 - 2868 1170 1716 - 722 3564 1716 - 2869 2700 1358 - 1598 2869 914 - 2870 1360 3876 - 1725 2870 2042 - 2871 1739 710 - 3456 3512 1681 - 2872 1252 2328 - 1206 2872 2328 - 2873 876 3934 - 976 2873 1622 - 3477 1994 1304 - 1977 2874 1100 - 2875 1483 864 - 3510 2875 864 - 2876 1200 2272 - 1364 2876 2272 - 2877 719 1702 - 1104 2877 1702 - 2878 1102 1983 - 763 2878 1983 - 3364 1545 3854 - 1854 2879 1216 - 2880 1801 886 - 3620 2880 886 - 2881 23 260 - 1249 2881 3268 - 2882 248 3132 - 247 2882 3269 - 2883 244 3270 - 2262 3425 1247 - 2884 1248 3271 - 264 2884 24 - 2885 3953 485 - 2269 2885 486 - 3235 1335 3557 - 1587 2886 2437 - 2887 849 1485 - 1121 2887 1485 - 2888 2815 1000 - 671 2888 2113 - 2889 2816 1270 - 2111 2889 671 - 2890 2704 1730 - 742 2890 1730 - 2891 1083 1959 - 3 2891 1959 - 2892 1992 1194 - 1619 2892 3970 - 2893 431 1538 - 1862 2893 925 - 2894 2405 1189 - 1893 2894 1189 - 2895 45 2218 - 1146 2895 2218 - 2896 1116 1679 - 2721 2896 1679 - 2897 1907 1177 - 2191 2897 1177 - 2898 1849 1050 - 1802 2898 1050 - 2899 2624 643 - 1166 2899 1821 - 2900 1727 896 - 1037 2900 1636 - 2901 2476 1629 - 2852 2901 1629 - 2902 1865 2361 - 1169 2902 2193 - 2903 1947 1222 - 2079 2903 1594 - 2904 1019 1593 - 863 2904 3787 - 2905 410 411 - 1330 2905 2578 - 2906 2333 716 - 1754 2906 3914 - 2907 1975 1404 - 1434 3691 2717 - 2908 3377 1110 - 1503 2908 1110 - 2909 977 2239 - 604 2909 2239 - 2910 508 2458 - 1113 2910 2458 - 2911 1110 3377 - 2998 2911 876 - 2912 1540 2485 - 1642 2912 795 - 2913 435 2071 - 1160 2913 2071 - 2914 2842 1699 - 1048 2914 1699 - 2915 1693 648 - 3623 2915 649 - 2916 2465 1702 - 1687 2916 1123 - 2917 777 1809 - 1018 3630 1809 - 2918 2189 1129 - 2519 2918 1129 - 3972 1362 2105 - 963 2919 2105 - 2920 2459 1082 - 605 2920 1608 - 2921 2466 1180 - 2141 2921 1180 - 2922 1089 3153 - 872 2922 1640 - 2923 2499 1715 - 890 2923 1715 - 2924 1198 1846 - 333 2924 1846 - 2925 2642 1219 - 1320 2925 2428 - 2926 3858 917 - 1892 2926 1278 - 2927 51 1656 - 1525 2927 3601 - 2928 3817 1520 - 481 2928 3942 - 2929 1522 3600 - 50 2929 1657 - 2930 453 3962 - 3818 2930 1521 - 2931 1834 1006 - 1412 2931 1938 - 2932 1153 3244 - 856 2932 1494 - 3996 1888 1409 - 1900 2933 1409 - 2934 2550 1176 - 2451 2934 1176 - 2935 2003 713 - 1185 2935 1778 - 3495 690 1584 - 927 2936 1584 - 2937 1582 529 - 1559 2937 530 - 2938 1885 1199 - 2952 2938 1199 - 2939 284 1876 - 1182 2939 3789 - 2940 235 1808 - 957 2940 1808 - 2941 1238 1948 - 355 2941 1948 - 2942 2070 962 - 17 2942 3378 - 2943 1932 1183 - 2340 2943 1183 - 2944 252 253 - 1212 3509 3882 - 2945 1123 1964 - 1602 2945 865 - 2946 1255 2245 - 3726 2946 15 - 2947 2946 1428 - 1255 2947 2244 - 2948 2014 1538 - 2112 2948 1271 - 2949 1683 1138 - 3242 2949 1138 - 3763 1547 3112 - 2541 3572 1273 - 2951 1232 1934 - 2192 2951 919 - 2952 1493 2938 - 2028 2952 1199 - 2953 7 2248 - 1094 2953 2248 - 2954 217 1756 - 2247 2954 1092 - 2955 15 2245 - 1086 2955 2245 - 2956 308 1751 - 2244 2956 1088 - 2957 2124 1312 - 2115 3988 720 - 2958 1931 1184 - 1798 2958 1184 - 2959 1220 1598 - 2692 2959 1598 - 2960 2044 1197 - 3026 2960 1197 - 2961 762 1979 - 1096 2961 1979 - 2962 1572 539 - 1492 2962 540 - 2963 2217 1016 - 1281 2963 3142 - 2964 1326 2402 - 1125 2964 2402 - 2965 1132 2191 - 749 2965 2191 - 2966 1031 1907 - 801 2966 1907 - 2967 1080 1974 - 2064 3466 1384 - 2968 1528 528 - 1582 2968 529 - 2969 1259 1850 - 1988 2969 760 - 2970 2020 715 - 2297 2970 1597 - 2971 2062 1406 - 1515 4006 690 - 2972 1081 1662 - 3299 2972 874 - 2973 1858 1307 - 2087 3668 728 - 2974 1411 2490 - 3337 2974 983 - 2975 1192 1584 - 4006 2975 690 - 2976 1063 3421 - 3713 2976 1399 - 2977 916 3183 - 1741 2977 728 - 2978 1617 1291 - 2149 3090 1291 - 2979 3113 954 - 3885 2979 954 - 2980 1007 1518 - 2294 2980 1518 - 2981 3496 1210 - 1706 2981 1210 - 2982 1101 3947 - 1455 2982 2722 - 2983 1466 952 - 1704 2983 2637 - 2984 1115 1721 - 619 2984 1721 - 2985 2820 1543 - 1583 2985 843 - 2986 871 3869 - 980 2986 1686 - 2987 1475 556 - 1534 2987 557 - 2988 2513 1378 - 2517 2988 1378 - 2989 695 1539 - 1601 2989 994 - 2990 3234 1459 - 563 2990 3711 - 2991 1251 1935 - 1642 2991 2260 - 2992 1480 2621 - 2189 2992 1129 - 2993 1529 2824 - 1090 2993 1495 - 3964 2415 1093 - 2307 4023 1509 - 2995 4000 1100 - 1718 2995 1100 - 2996 1241 2678 - 2316 2996 672 - 2997 320 2210 - 1084 2997 2210 - 2998 1535 2911 - 1096 2998 1500 - 2999 3985 1102 - 1712 2999 1102 - 3000 2099 1230 - 1800 3000 1230 - 3001 1843 1175 - 2397 3001 1175 - 3002 1711 1224 - 2433 3002 1224 - 3003 1186 1668 - 2068 3003 712 - 3004 2302 1527 - 3682 3004 1527 - 3005 280 2243 - 1103 3005 2243 - 3006 888 3608 - 1019 3006 1664 - 3007 2960 1456 - 2463 3448 1456 - 3008 1716 1170 - 2028 3008 1170 - 3009 2174 1569 - 1872 3009 812 - 3010 3993 1166 - 1821 3010 1166 - 3011 1658 882 - 1213 3011 2101 - 3012 894 3833 - 3041 3401 1506 - 3221 1218 2307 - 3576 3979 1796 - 3014 2642 1392 - 1797 3978 3255 - 3856 1331 2855 - 1196 3015 2510 - 3016 934 2157 - 1759 3016 2157 - 3017 1228 1890 - 2579 3017 1890 - 3018 1168 1783 - 898 3018 1783 - 3019 731 2688 - 1217 3019 2688 - 3020 1516 566 - 1631 3020 567 - 3021 1772 2452 - 1223 3021 1804 - 3022 1214 1853 - 2273 3022 1001 - 3023 2385 1672 - 3649 3023 897 - 3024 2541 1490 - 2086 3024 1490 - 3025 1854 1216 - 2277 3764 773 - 3026 1456 2960 - 2715 3026 1896 - 3027 1206 2328 - 807 3027 2328 - 3481 1826 1286 - 3102 3028 883 - 3029 368 369 - 1298 3029 2084 - 3030 1949 932 - 1338 3543 3712 - 3031 75 76 - 1236 3031 1753 - 3032 2460 1359 - 3239 3032 1359 - 3033 3196 703 - 3805 3033 703 - 3034 2741 1150 - 616 3034 1654 - 3035 1588 536 - 1537 3035 538 - 3036 1173 2419 - 1676 3036 2419 - 3037 379 3936 - 1200 3037 1760 - 3038 1647 525 - 1623 3038 526 - 3039 759 2238 - 1181 3039 2238 - 3040 267 2568 - 1239 3040 2568 - 3041 1380 3598 - 3401 3041 895 - 3042 1134 1616 - 1476 3042 2646 - 3043 1628 1005 - 1551 3043 2353 - 3044 550 3943 - 3538 3044 1523 - 3045 3641 520 - 1487 3045 521 - 3046 2666 1105 - 843 3046 2194 - 3047 3916 2 - 1859 3047 2 - 3048 1370 2174 - 3146 3048 961 - 3049 1201 2271 - 2381 3049 1736 - 3050 1980 1230 - 2238 3809 1020 - 3051 1246 2339 - 63 3051 2339 - 3052 1688 2435 - 1080 3052 2435 - 3053 1056 1697 - 901 3053 1697 - 3054 1140 1612 - 1488 3054 2619 - 3055 1790 739 - 1053 3055 3068 - 3056 2464 1454 - 2339 3056 1454 - 3057 1211 3158 - 826 3057 3277 - 3058 2051 1213 - 2101 3058 1213 - 3617 2282 1271 - 1538 3059 2948 - 3060 2261 974 - 564 3060 1577 - 3061 2199 783 - 1203 3061 2170 - 3062 948 3465 - 2346 3062 1795 - 3063 1175 1866 - 2397 3063 1689 - 3064 2223 1479 - 1878 3064 1149 - 3065 2252 798 - 1386 3065 2116 - 3066 1750 883 - 1286 3066 3481 - 3067 1443 3358 - 608 3067 1565 - 3068 3399 1053 - 1780 3068 3055 - 3069 1056 1784 - 851 3069 3544 - 3070 943 2068 - 1669 3070 2068 - 4024 3270 1810 - 2262 3071 1433 - 3072 2423 1550 - 1705 3072 1048 - 3073 2462 636 - 3796 3073 637 - 3074 791 3184 - 1240 3074 3570 - 3075 2910 1803 - 1625 3075 1803 - 3076 1198 1669 - 877 3076 3285 - 3077 1897 1294 - 2154 3077 1294 - 3078 2122 1194 - 1992 3078 1194 - 3079 1239 2568 - 1719 3079 2568 - 3080 2250 1225 - 2198 3080 1225 - 3081 3625 1301 - 3082 3081 1301 - 3082 1417 3081 - 2024 3082 1301 - 3083 2168 822 - 4035 3083 822 - 3084 3649 897 - 1605 3084 897 - 3085 1244 2825 - 37 3085 2825 - 3086 779 2203 - 1221 3086 2203 - 3087 976 1612 - 683 3087 1612 - 3088 3687 892 - 1182 3088 1855 - 4009 1620 2003 - 944 3089 2003 - 3090 1126 2860 - 782 3090 2860 - 3091 980 1616 - 688 3091 1616 - 3092 2176 1118 - 1767 3092 2794 - 3093 2294 993 - 1887 3093 1505 - 3094 1345 2222 - 1729 3094 708 - 3095 2996 1482 - 2287 3095 1482 - 3096 1215 1696 - 821 3096 3126 - 3097 1034 3594 - 2502 3097 1333 - 3098 1245 2405 - 790 3098 2405 - 3099 2627 1762 - 2322 3099 1057 - 3100 1769 2351 - 2431 3100 792 - 3101 32 2024 - 1254 3101 2024 - 3102 2115 1698 - 1915 3102 883 - 3103 2295 1371 - 2164 3103 2015 - 3104 2020 1008 - 908 3104 1645 - 3105 937 1998 - 1484 3105 1998 - 3106 949 1953 - 1668 3106 1953 - 3107 1558 2512 - 1151 3107 1556 - 3108 3960 892 - 1768 3108 892 - 3109 1268 2335 - 3823 3109 912 - 3110 2316 1124 - 769 3110 2211 - 3111 1487 522 - 1686 3111 523 - 3112 1547 2088 - 1886 3112 2088 - 3113 3443 1206 - 3027 3113 1206 - 3114 857 3171 - 2119 3114 1589 - 3115 1719 1188 - 1910 3115 1188 - 3116 784 2334 - 1098 3116 2334 - 3948 3786 1707 - 2434 3117 1237 - 3118 1964 1442 - 2781 3118 1442 - 3119 1466 3855 - 129 3119 8 - 3120 1709 1155 - 1801 3120 2861 - 3121 1273 2283 - 3868 3121 842 - 3122 1351 2501 - 2146 3122 584 - 3123 2013 897 - 1672 3123 897 - 3124 2286 296 - 1645 3124 297 - 3125 1810 1250 - 1644 4035 3132 - 3126 1249 1811 - 1248 3351 1811 - 3127 329 2597 - 1190 3127 2597 - 3128 1551 2353 - 1341 3128 1717 - 3129 938 3339 - 717 3129 1828 - 3351 1248 1782 - 1239 3130 1782 - 3131 2418 1265 - 2617 3131 1265 - 3132 4035 1250 - 2882 3132 1250 - 3133 757 3754 - 2454 3133 1639 - 3134 2097 641 - 1463 3134 642 - 3135 1034 1763 - 753 3135 1763 - 3136 3145 714 - 1384 3136 2064 - 3137 3618 1275 - 2103 3137 1013 - 3138 476 46 - 1464 3138 2200 - 3139 2167 13 - 3738 3139 13 - 3140 1326 3167 - 787 3140 3770 - 3141 2109 1212 - 1877 3882 1600 - 3142 2963 1016 - 3133 3142 757 - 3143 80 81 - 1467 3143 2418 - 3144 1559 530 - 1622 3144 531 - 3145 1081 1768 - 714 3145 3665 - 3146 961 1882 - 720 3146 1882 - 3147 1593 573 - 1610 3147 574 - 3148 2091 680 - 2163 3690 1311 - 3149 3875 974 - 1516 3149 2261 - 3150 1823 678 - 1229 3150 1849 - 3151 1218 2850 - 774 3151 2850 - 3152 796 3322 - 2762 3152 1568 - 3153 1089 2192 - 733 3153 2192 - 3154 385 2676 - 1209 3154 2676 - 3155 2677 400 - 1208 3155 3842 - 3156 2194 1106 - 1583 3156 2727 - 3157 241 1433 - 2106 3895 963 - 3158 1211 2308 - 1781 3158 679 - 3159 1214 2787 - 1853 3159 457 - 3160 2725 837 - 1204 3160 2313 - 3161 2515 1389 - 1705 3742 3316 - 3162 1962 741 - 1143 3162 1745 - 3163 2164 1437 - 2081 3163 720 - 3164 1014 2118 - 724 3164 2118 - 3165 82 83 - 1265 3165 2127 - 3166 349 2419 - 1173 3166 2419 - 3167 1326 2964 - 2907 3167 697 - 3168 1283 2608 - 2123 3168 2608 - 3169 1478 2352 - 2316 3169 1124 - 3170 1514 3391 - 2013 3170 1605 - 3171 3008 2028 - 1589 3171 1199 - 3172 1592 1350 - 2349 3172 1350 - 3173 2190 1554 - 1337 3173 3366 - 3174 2586 1137 - 2266 3174 1758 - 3175 3049 2271 - 1231 3175 2271 - 3176 1484 2285 - 2252 3176 798 - 3177 1709 1207 - 1909 3177 1207 - 3178 39 416 - 1830 3178 1382 - 3179 1280 1562 - 2449 3179 1562 - 3180 964 1758 - 660 3180 3740 - 3181 2313 1594 - 651 3181 3518 - 3182 903 1741 - 728 3668 1741 - 3183 1560 2977 - 1833 3183 916 - 3184 2089 1060 - 3074 3184 1603 - 3185 1148 1967 - 655 3185 1967 - 3186 2876 802 - 1444 3186 2042 - 3474 1452 3836 - 1305 3187 3541 - 3188 704 3845 - 1189 3188 1893 - 3189 1636 2320 - 2753 3189 1398 - 3190 942 2601 - 726 3190 1680 - 3191 1316 1759 - 1842 3191 716 - 3192 1696 258 - 1249 3192 2881 - 3193 1186 3003 - 2068 3193 3003 - 3430 2128 1353 - 1162 3194 2641 - 3195 3460 1377 - 2588 3195 1684 - 3196 1903 1287 - 3544 3196 1287 - 3197 2067 1261 - 2019 3197 1261 - 3198 1825 663 - 1603 3198 2414 - 3199 2022 1407 - 2409 3199 1407 - 3200 2408 1408 - 2023 3200 1408 - 3201 1223 1804 - 2806 3201 1804 - 3202 995 2310 - 751 3202 2310 - 3203 2783 1390 - 2043 3203 1390 - 3204 2430 665 - 1317 3204 2018 - 3205 1808 1114 - 1729 3205 1114 - 3206 1399 3421 - 2526 3206 752 - 3931 1552 1890 - 1228 3207 1890 - 3208 1849 2898 - 1229 3208 1567 - 3209 1832 1267 - 2180 3646 1267 - 3210 1421 3847 - 1578 3210 120 - 3211 1580 198 - 1423 3211 3846 - 1415 3282 4019 - 1579 3212 107 - 3213 375 1581 - 1422 3213 3214 - 3214 1581 323 - 1422 3214 3849 - 3215 3212 1579 - 214 3215 1579 - 3216 3210 1578 - 201 3216 1578 - 3217 123 1580 - 3211 3217 1580 - 3218 941 1632 - 1211 3218 1632 - 3219 1576 1886 - 1835 3219 738 - 3220 1899 1061 - 851 3220 3785 - 3221 3013 1218 - 1509 3221 2307 - 3222 2701 1513 - 2494 3222 1513 - 3223 1637 2382 - 3080 3223 2250 - 3224 907 2082 - 1350 3224 3997 - 3225 3376 587 - 3545 3225 588 - 3611 1674 3511 - 1462 3226 2578 - 3227 155 11 - 1321 3227 3307 - 3228 1676 1136 - 2062 3228 1136 - 3229 2564 1609 - 1557 3686 3762 - 3230 1078 2175 - 1357 3950 2175 - 3231 1830 387 - 1468 3231 2784 - 3232 7 3282 - 1257 3232 3274 - 3233 1626 2236 - 1235 3233 2236 - 3234 1577 2117 - 1459 3234 2351 - 3235 2886 1335 - 1545 3235 1940 - 3236 719 1984 - 1061 3236 1984 - 3237 803 2015 - 977 3237 2015 - 3238 2477 1502 - 2438 3238 1226 - 3239 1359 2011 - 1624 3239 2760 - 3240 2354 975 - 54 3240 1470 - 3241 2152 1023 - 743 3241 3324 - 3242 1138 2063 - 705 3242 2063 - 3243 275 2160 - 1262 3243 2160 - 3244 1153 2221 - 718 3244 2221 - 3245 1219 3014 - 3840 3245 846 - 3648 1440 1777 - 469 3246 468 - 3247 2209 1737 - 847 3247 3713 - 3248 2752 1674 - 1305 3248 1674 - 3249 1820 930 - 1378 3249 2049 - 3250 807 2702 - 1204 3250 2702 - 3251 1189 2665 - 2668 3251 834 - 3252 2809 1734 - 2271 3252 909 - 3253 3262 867 - 1156 3253 2696 - 3254 2114 1292 - 2228 3254 1292 - 3255 2147 1797 - 913 3255 1392 - 3256 2268 756 - 1306 3256 2083 - 3257 1288 3455 - 2759 3257 1682 - 3258 2849 767 - 1446 3258 2750 - 3259 2341 759 - 2359 3259 1414 - 3260 2078 1245 - 2371 3260 1245 - 3261 1895 49 - 3942 3261 480 - 3262 1859 1108 - 2259 3262 1108 - 3263 2587 1147 - 1374 3263 3788 - 3264 514 3558 - 3442 3264 1375 - 3265 3436 516 - 1621 3265 517 - 3266 1989 1334 - 2000 3266 1334 - 3267 1248 2884 - 264 3267 2884 - 3268 2881 260 - 1249 3268 1811 - 3269 2882 1250 - 1810 3269 1250 - 3270 4024 1247 - 2883 3270 1247 - 3271 1248 1811 - 2884 3271 263 - 3272 1858 2711 - 1307 3272 3519 - 3273 3798 1349 - 1987 3273 1349 - 3274 1670 14 - 1257 3274 2247 - 3275 707 1618 - 1993 3275 1128 - 3276 1382 2676 - 1830 3276 387 - 3277 3057 1781 - 1293 3277 1781 - 3278 740 3390 - 1152 3278 3786 - 3279 2412 1279 - 3378 3279 1279 - 3827 2713 1641 - 590 3280 1641 - 3281 1284 1732 - 1685 3281 2321 - 3282 1415 3397 - 3232 3282 1670 - 3283 1524 3949 - 1895 3283 479 - 3284 2412 3017 - 1279 3284 2467 - 3285 3385 1263 - 1813 3285 1263 - 3286 2766 1147 - 1317 3286 3204 - 3287 2590 1525 - 827 3287 3601 - 3288 1685 2321 - 1458 3288 2223 - 3289 1531 2441 - 2550 3289 1176 - 3290 1920 1342 - 1918 3290 1342 - 3291 317 318 - 1343 3291 1981 - 3292 1982 1344 - 1944 3292 1344 - 3293 2831 2143 - 1288 3293 2143 - 3294 1289 2144 - 2832 3294 2144 - 3295 1596 2142 - 2114 3295 1292 - 3296 3526 1290 - 2147 3296 1290 - 3297 1518 2179 - 1789 3297 740 - 3298 1139 2138 - 731 3298 2138 - 3299 874 1839 - 1258 3299 3991 - 3300 1337 2092 - 640 3300 639 - 3301 1838 873 - 1256 4027 1974 - 3302 2167 1347 - 1928 3302 1347 - 3303 1606 534 - 1599 3303 535 - 3304 2296 1146 - 395 3304 1897 - 3305 757 2032 - 1261 3305 3398 - 3306 282 3698 - 1661 3306 3960 - 3307 2322 1057 - 1321 3307 2406 - 3308 1522 3963 - 1932 3308 44 - 3309 1931 1521 - 454 3309 3962 - 3310 2476 1187 - 344 3310 1922 - 3311 2827 1385 - 2708 3311 1385 - 3312 238 239 - 1366 3312 2106 - 3313 1732 1284 - 2494 3313 1284 - 3314 1932 44 - 2275 3314 441 - 3315 3341 1285 - 1690 3315 1285 - 3614 2748 1834 - 706 3316 1834 - 3317 1641 1376 - 589 3317 3545 - 3318 2333 1195 - 2493 3318 1891 - 3319 1693 2915 - 2607 3319 1447 - 3320 1555 634 - 1646 3320 635 - 3321 2058 1278 - 2926 3321 1278 - 3322 3109 1568 - 3152 3322 1568 - 3323 3903 1388 - 3462 3323 1388 - 3324 1960 1314 - 2052 3324 1314 - 3325 2003 2935 - 1185 3325 2935 - 3326 3080 2198 - 1441 3326 2198 - 3327 1524 1895 - 1520 3327 1895 - 3328 1894 2079 - 837 3328 2079 - 3329 1604 580 - 2059 3329 581 - 3330 1774 971 - 1739 3330 971 - 3331 2344 1436 - 2496 3331 1436 - 3332 2277 773 - 1613 3332 2258 - 3333 2124 986 - 597 3333 1837 - 3334 2050 1318 - 1796 3664 677 - 3772 664 1867 - 947 3335 1867 - 3336 443 2315 - 1266 3336 2315 - 3337 983 1870 - 701 3337 1870 - 3338 3256 1306 - 2542 3338 1504 - 3339 2491 1649 - 1828 3339 973 - 3340 772 2273 - 1141 3340 2273 - 3341 3315 1633 - 891 3341 3345 - 3342 1522 1932 - 2943 3342 1932 - 3343 972 3884 - 2701 3343 1728 - 3983 1561 3710 - 2207 3344 736 - 3345 1633 2805 - 2160 3345 1262 - 3346 2581 1777 - 2161 3346 893 - 3347 745 1908 - 1267 3347 3454 - 3348 1310 2921 - 1575 3348 2609 - 3349 2077 1574 - 2693 3349 1574 - 3662 1831 932 - 2775 3350 1336 - 3351 3130 821 - 1811 3351 3126 - 3957 1682 3455 - 2224 3352 1439 - 3353 1681 989 - 3200 3353 1438 - 3354 1403 2095 - 2231 3354 303 - 3355 907 3626 - 2082 3355 1156 - 3356 1746 946 - 1345 3356 2222 - 3357 1731 294 - 1510 3357 295 - 3358 2694 1565 - 3067 3358 1565 - 3359 27 300 - 3540 3359 300 - 3798 1617 2978 - 3367 3360 782 - 3361 661 1887 - 1286 3361 3451 - 3362 290 1992 - 1548 3362 1992 - 3363 2410 415 - 2159 3363 37 - 3364 425 426 - 1545 3804 1880 - 3365 675 1857 - 2360 3365 1857 - 3366 1554 1861 - 1337 3366 2092 - 3367 2860 1283 - 1591 3367 3864 - 3368 2567 1162 - 1541 3368 2641 - 3369 1576 906 - 1886 3369 2186 - 3370 2310 1449 - 1817 3370 929 - 3669 1017 2216 - 717 3371 2216 - 3372 3805 1325 - 2234 3372 1325 - 3373 1413 2740 - 1317 3373 3286 - 3374 771 2486 - 1553 3374 2486 - 3375 1161 2651 - 429 3375 2651 - 3376 3694 586 - 1234 3376 3225 - 3377 1582 2937 - 1559 3377 2937 - 3378 1638 3279 - 1771 3378 1279 - 3379 1861 1554 - 1325 3379 2234 - 3380 1498 2623 - 1405 3380 2623 - 3381 3932 950 - 1226 3381 2032 - 3382 2744 1231 - 3616 3382 1231 - 3383 841 1779 - 2136 3383 1276 - 3384 860 2175 - 1078 3384 2175 - 3385 2682 1263 - 1669 3385 3285 - 3386 1170 1871 - 2028 3386 653 - 3387 1473 2567 - 1470 3859 2522 - 3388 42 3877 - 3539 3388 1369 - 3389 1282 2589 - 1223 3389 2589 - 3390 3117 1707 - 3278 3390 1707 - 3391 685 3170 - 3086 3391 1514 - 3392 363 364 - 1322 3392 1794 - 3393 1323 2281 - 359 3393 358 - 3394 2074 3640 - 1328 3394 1985 - 3395 1986 1327 - 2073 3395 1327 - 3396 1970 1258 - 2243 3396 1258 - 3397 1415 3215 - 1670 3397 14 - 3398 2032 950 - 1261 3398 2019 - 3399 1 2027 - 1053 3399 2027 - 3400 2031 1300 - 1888 3631 692 - 3401 3012 1506 - 3056 3401 895 - 3402 2321 1480 - 1479 3402 3587 - 3403 2287 1135 - 1689 3403 2844 - 3404 340 341 - 1438 3404 2408 - 3405 1439 2409 - 339 3405 338 - 3406 1684 3195 - 172 3406 3967 - 3407 1759 1316 - 2475 3407 1316 - 3408 2421 764 - 1318 3408 2845 - 3409 929 1847 - 1168 3409 1847 - 3410 1929 1315 - 2212 3410 1315 - 3411 1371 2295 - 603 3411 602 - 3412 2303 1028 - 2809 3412 1734 - 3413 2630 1570 - 3619 3413 1570 - 3414 3620 1571 - 2629 3414 1571 - 3551 2048 949 - 2334 3415 1298 - 3416 447 2240 - 1235 3416 2240 - 3417 3360 1591 - 2752 3417 1591 - 3418 1312 2124 - 600 3418 599 - 3419 1874 1244 - 1976 3419 1244 - 3420 2042 931 - 1444 3420 3625 - 3421 1063 2056 - 3206 3421 752 - 3422 1405 2623 - 2219 3422 35 - 3423 2841 1877 - 921 3423 1877 - 3424 1352 2599 - 31 3424 2599 - 3425 2883 1247 - 242 3425 2262 - 3426 2468 1300 - 2031 3426 1300 - 3427 3149 1516 - 3020 4008 1516 - 3428 2603 1676 - 2419 3428 1676 - 3429 2422 1590 - 3984 3585 1590 - 3430 2436 1062 - 3194 3430 1353 - 3431 1264 3755 - 2430 3431 665 - 3432 2180 923 - 593 3432 3743 - 3433 855 3710 - 1181 3433 2718 - 3434 846 3978 - 676 3709 1797 - 3435 3752 1497 - 615 3435 3940 - 3436 3265 1243 - 1990 3436 1243 - 3437 1950 1190 - 2055 3437 1190 - 3438 418 1902 - 2756 3438 1209 - 3439 464 2755 - 1208 3439 2755 - 3440 1974 16 - 2284 3440 16 - 3441 2402 1326 - 1921 3441 1326 - 3442 2674 1563 - 3574 3442 1375 - 3443 939 1936 - 1206 3443 1936 - 3444 1933 1145 - 1457 3444 2773 - 3445 2784 389 - 1324 3445 2102 - 3446 269 2698 - 1188 3446 2698 - 3447 1193 2600 - 805 3447 2600 - 3448 1355 3007 - 1456 3448 3007 - 3449 1848 965 - 659 3449 3584 - 3450 1785 1120 - 2309 3450 1740 - 3451 3361 1887 - 926 3451 1887 - 3452 2434 1237 - 2205 3452 1237 - 3453 995 1812 - 2548 3453 1812 - 3454 1908 923 - 1267 3454 2180 - 3455 1288 2143 - 3957 3455 862 - 3456 1681 3353 - 1289 3456 2144 - 3457 1504 3338 - 2202 3457 1306 - 3458 2054 1473 - 3387 3458 1473 - 3459 2291 1395 - 3828 3459 1395 - 3460 2053 1377 - 825 3460 3195 - 3461 1721 1829 - 618 3461 1829 - 3462 2141 3323 - 2609 3462 1748 - 3747 2974 1361 - 2542 4034 1030 - 3464 2360 1651 - 2501 3464 1651 - 3465 1795 3062 - 1457 3465 3444 - 3466 2064 2967 - 1942 3466 873 - 3467 1475 2987 - 1534 3467 2987 - 3468 3875 1432 - 1652 3468 2685 - 3469 2863 1701 - 2384 3469 753 - 3470 1329 1911 - 2489 3470 1393 - 3471 1451 1765 - 3969 3471 654 - 4016 1948 3666 - 2223 3472 1458 - 3473 2365 1542 - 562 3473 561 - 3474 2342 1452 - 3187 3474 1675 - 3475 1773 1783 - 626 3475 1783 - 3476 1308 2029 - 2410 3476 415 - 3477 2417 1085 - 2874 3477 1304 - 3478 2420 1091 - 2878 3478 1303 - 3479 2155 1295 - 2218 3479 1295 - 3480 2612 1557 - 1941 3480 1557 - 3481 3066 883 - 1826 3481 3028 - 3482 2119 727 - 2348 3482 1666 - 3977 968 1969 - 833 3483 1969 - 3484 1157 1802 - 698 3484 1802 - 3485 3115 1910 - 1272 3485 1910 - 3486 2566 1860 - 1576 3486 1860 - 3487 1407 2413 - 337 3487 336 - 3488 342 343 - 1408 3488 2383 - 3489 1863 1160 - 924 3489 1819 - 3490 925 1818 - 1862 3490 1161 - 3491 1040 1845 - 2217 3491 1845 - 3492 1319 2226 - 99 3492 2226 - 3493 1320 2428 - 2227 3493 90 - 3494 1536 2751 - 2089 3494 1028 - 3495 1584 2936 - 1365 3495 2936 - 3496 776 2604 - 1210 3496 2604 - 3497 1299 3535 - 894 3497 3833 - 3498 699 1710 - 2330 3498 1710 - 3499 1026 2326 - 1348 3499 2326 - 3500 3775 1519 - 2847 3500 1519 - 3501 956 1766 - 715 3501 1766 - 3502 1876 284 - 1800 3502 285 - 3503 1376 2713 - 2848 3503 1157 - 3504 1191 2395 - 348 3504 2395 - 3505 2453 1630 - 1453 3505 3862 - 3506 772 3966 - 1450 3861 3870 - 3507 3751 1611 - 2932 3507 1611 - 3508 1071 1926 - 918 3508 1926 - 3509 1212 2944 - 253 3509 2944 - 3510 1663 2875 - 1546 3510 3674 - 3511 2123 2905 - 3611 3511 1330 - 3512 2759 1681 - 2871 3512 1289 - 3513 1253 2598 - 1348 3513 2598 - 3514 1263 2048 - 1813 3514 784 - 3515 1823 3150 - 1793 3515 1229 - 3516 2343 1485 - 2017 3516 1485 - 3517 2002 910 - 1390 3517 2043 - 3518 1222 2442 - 651 3518 2442 - 3519 903 3182 - 1307 3519 3182 - 3520 1145 1933 - 715 3520 1933 - 3521 1956 1400 - 1997 3521 1400 - 3522 311 312 - 1401 3522 1957 - 3523 2118 1471 - 2131 3523 1471 - 3524 139 140 - 1381 3524 2065 - 3525 559 3958 - 3788 3525 1374 - 3526 2172 1290 - 1637 3526 3296 - 3527 2712 1158 - 1678 3527 2318 - 3528 3612 1403 - 2231 3528 1403 - 3529 3258 1446 - 2717 3529 1446 - 3530 2564 1496 - 2387 3530 678 - 3531 3872 867 - 1410 3531 2259 - 3532 2200 1450 - 1917 3870 3861 - 3533 2158 679 - 1310 3533 2466 - 3534 669 2551 - 1946 3534 2551 - 3535 1299 2235 - 2481 3535 951 - 3536 1168 2856 - 625 3536 2856 - 3537 2749 1720 - 1321 3537 1720 - 3538 1798 3044 - 3287 3538 1523 - 3539 1635 3388 - 2345 3539 1369 - 3540 300 301 - 1532 3540 2095 - 3541 1675 2636 - 911 3541 2636 - 3542 2292 744 - 1313 3542 2777 - 3543 1338 2455 - 3030 3543 1111 - 3544 2781 851 - 1784 3544 3069 - 3545 1883 3225 - 1376 3545 3317 - 3546 1748 3462 - 134 3546 3903 - 3547 755 2178 - 1067 3547 2178 - 3548 788 2579 - 1993 3548 2579 - 3549 1534 2864 - 1627 3549 2864 - 3550 3042 1476 - 1985 3550 2379 - 3551 949 2100 - 3029 3551 2100 - 3552 1452 2342 - 1586 3552 2350 - 3553 1992 2892 - 1548 3553 3700 - 3554 1382 3178 - 2756 3554 417 - 3555 2684 1383 - 2755 3555 1383 - 3556 1595 2602 - 471 3556 470 - 3557 1940 3235 - 2258 3557 1335 - 3558 3436 1990 - 1375 3558 1990 - 3559 1338 2222 - 2109 3559 946 - 3560 899 3870 - 1339 3560 3966 - 3561 2416 762 - 1087 3561 1851 - 3562 2640 1558 - 3107 3562 1558 - 3563 2327 1274 - 2680 3563 2096 - 3564 2868 1716 - 1274 3564 2096 - 3565 1708 2896 - 1614 3565 3829 - 3566 2647 578 - 1566 3566 579 - 3567 2424 91 - 1471 3567 2131 - 3568 2425 1472 - 2132 3568 1472 - 3569 1359 2460 - 1959 3569 2460 - 3570 2414 1051 - 1240 3570 2398 - 3571 1799 936 - 2341 3571 1980 - 3572 2950 1273 - 132 3572 2541 - 3573 3592 768 - 1477 3573 1923 - 3574 1375 1990 - 2793 3574 804 - 3575 1946 2859 - 2149 3575 808 - 3576 2324 914 - 1391 3907 2440 - 3577 1133 1823 - 1908 3577 923 - 3578 2098 735 - 2609 3578 1575 - 3579 1677 2319 - 2749 3579 1159 - 3580 1271 2282 - 924 3580 2282 - 3581 3054 1488 - 1986 3581 2378 - 3582 2288 1499 - 1743 3582 1499 - 3583 1498 2289 - 404 3583 403 - 3584 2484 659 - 3340 3584 1615 - 3585 3429 1590 - 64 3585 1924 - 3586 1472 2425 - 2675 3586 1015 - 3587 3402 1480 - 2863 3587 785 - 3588 1329 2489 - 2700 3588 1046 - 3589 2336 1043 - 746 3589 4031 - 3590 2337 1045 - 747 3590 4030 - 3591 3530 1496 - 1849 3591 1050 - 3592 2125 1195 - 768 3592 1754 - 3593 3745 94 - 95 3593 5 - 3594 675 3365 - 3097 3594 1333 - 3595 1620 2494 - 713 3595 3831 - 3596 496 1708 - 3565 3596 1708 - 3597 1332 4029 - 933 3597 2130 - 3598 2241 1790 - 3041 3598 895 - 3599 847 2785 - 1165 3599 2785 - 3600 1522 3342 - 1657 3817 2928 - 3818 1656 2930 - 1525 3601 3287 - 3602 1369 2400 - 1481 3602 2400 - 3603 817 3941 - 1315 3603 2129 - 3604 2788 1537 - 2814 3604 1537 - 3605 2293 1370 - 3048 3605 1370 - 3606 1107 2373 - 2432 3606 771 - 3607 3748 1322 - 2396 3607 1794 - 3608 1667 3891 - 3006 3608 1664 - 3609 1608 2920 - 2613 3609 1082 - 3610 3533 1310 - 2076 3610 1310 - 3611 1330 3226 - 819 3611 3226 - 3612 2095 1403 - 1650 3612 3528 - 3613 1892 1278 - 1941 3613 2761 - 3614 1834 3316 - 1389 3614 3316 - 3615 4015 1380 - 3041 3615 1380 - 3616 2271 909 - 3382 3616 2016 - 3617 433 2282 - 3059 3617 1271 - 3618 3645 935 - 1275 3618 2234 - 3619 1840 3413 - 2632 3619 1570 - 3620 2631 1571 - 1841 3620 3414 - 3621 2154 1294 - 2112 3621 1294 - 3622 3797 1295 - 2155 3622 1295 - 3623 1447 2915 - 650 3623 649 - 3624 702 1770 - 2567 3624 1770 - 3625 2776 1444 - 1301 3625 3420 - 3626 907 2617 - 1265 3626 2617 - 3627 1825 1060 - 1822 3627 1060 - 3628 2251 490 - 2731 3628 48 - 3629 1544 2635 - 372 3629 371 - 3630 2917 1809 - 1354 3630 3680 - 3631 1300 2411 - 3400 3631 1888 - 3632 2594 1508 - 2025 3632 3237 - 3633 963 2105 - 809 3821 2105 - 3634 3863 931 - 1254 3634 2140 - 3635 2229 1368 - 1979 3635 1368 - 3636 1977 1367 - 2230 3636 1367 - 3637 1706 1865 - 2736 3637 1865 - 3638 746 3395 - 2073 3638 3395 - 3639 878 2933 - 1083 3639 2933 - 3640 1044 2337 - 3394 3640 747 - 3641 2078 3260 - 1573 3641 3045 - 3642 732 1963 - 1293 3642 4026 - 3643 2232 1372 - 1973 3643 1372 - 3644 1983 1373 - 2233 3644 1373 - 3645 2473 1733 - 1967 3645 3618 - 3646 3209 1267 - 47 3646 2180 - 3647 813 2596 - 1031 3647 2596 - 3648 1777 467 - 3246 3648 468 - 3649 1735 3023 - 1493 3649 3084 - 3650 2544 1542 - 1374 3650 3263 - 3651 1633 3315 - 3923 3651 711 - 3652 905 1880 - 2716 3652 1880 - 3653 1093 2050 - 845 3653 2050 - 3654 1454 2027 - 62 3654 61 - 3655 1275 2234 - 2659 4014 1379 - 3656 2854 1460 - 2770 3656 1460 - 3695 1465 2442 - 2681 3657 1222 - 3658 3468 1652 - 2212 3658 1652 - 3659 1381 3483 - 833 3659 3483 - 3660 1746 1362 - 2374 3660 1362 - 3661 1856 1112 - 2278 3661 1963 - 3662 3663 1336 - 3350 3662 1336 - 3663 1978 783 - 1336 3663 2199 - 3664 1318 2532 - 3334 3664 1796 - 3665 3145 1768 - 2746 3665 1768 - 3666 3288 1458 - 4016 3666 1458 - 3667 2763 647 - 1693 3667 648 - 3668 2973 1307 - 3182 3668 1307 - 3669 2216 3371 - 1276 3669 3371 - 3670 1735 3649 - 1493 3670 3649 - 3671 3359 1532 - 2538 3671 1532 - 3672 939 3443 - 1533 3672 3443 - 3673 2342 1462 - 2745 3673 1462 - 3674 2280 1039 - 1546 3674 2644 - 3675 2294 661 - 1431 3675 2503 - 3676 1465 1741 - 3885 3676 1666 - 3677 1225 2633 - 2198 3677 544 - 3678 946 1852 - 2109 3678 1212 - 3679 886 2861 - 1743 3679 2861 - 3680 3630 2493 - 663 3680 2493 - 3783 1744 721 - 3093 3681 1505 - 3682 1527 3840 - 2312 3682 1062 - 3683 492 493 - 1469 3683 2347 - 3684 1311 3690 - 2077 3684 959 - 3685 1951 2496 - 2867 3685 1436 - 3686 3229 1609 - 2612 3686 1557 - 3687 1285 2746 - 892 3687 2746 - 3688 2838 1659 - 2101 3688 1659 - 3689 789 3426 - 2031 3689 3426 - 3690 2163 3148 - 2228 3690 680 - 3691 1404 2747 - 2907 3691 1434 - 3692 2585 1142 - 1613 3692 3332 - 3693 3138 1464 - 1824 3693 1464 - 3694 1445 585 - 1914 3694 3376 - 3695 2977 1741 - 3657 3695 2442 - 3696 1691 2618 - 1465 3696 2442 - 3697 1955 928 - 1463 3697 3134 - 3698 2939 1182 - 3306 3698 1855 - 3699 2090 1236 - 1923 3699 1236 - 3700 2069 1020 - 1548 3700 2518 - 3701 3038 1623 - 2646 3701 1623 - 3702 3045 1487 - 2824 3702 1487 - 3703 2487 1884 - 2133 3703 1137 - 3704 1370 2260 - 2174 3704 656 - 3705 151 2767 - 148 3705 2767 - 3706 2768 160 - 162 3706 161 - 3707 2398 1051 - 3129 3707 1477 - 3708 2094 1491 - 2891 3708 1491 - 3709 1353 3434 - 1797 3709 3434 - 3710 2892 1619 - 3344 3983 1619 - 3711 1459 2365 - 3473 3711 2365 - 3712 3543 1831 - 3350 3712 1831 - 3713 1737 2976 - 2785 3713 1399 - 3714 1037 1804 - 818 3714 1804 - 3715 2292 1025 - 1929 3715 1025 - 3716 108 109 - 1424 3716 2803 - 3717 1418 2798 - 197 3717 196 - 3718 1418 2655 - 125 3718 124 - 3719 3081 1417 - 2393 3719 1417 - 3720 110 111 - 1426 3720 2038 - 3721 128 8 - 1425 3721 1879 - 3722 1420 2033 - 127 3722 126 - 3723 114 115 - 1419 3723 2035 - 3724 112 113 - 1416 3724 2037 - 3725 2858 1429 - 2040 3725 1429 - 3726 15 231 - 1428 3726 2801 - 3727 26 304 - 1429 3727 2800 - 3728 2039 1430 - 2800 3728 1430 - 3729 32 322 - 1417 3729 2653 - 3730 307 25 - 1428 3730 2947 - 3731 2036 1426 - 2804 3731 1426 - 3732 1430 2801 - 233 3732 232 - 3733 2797 1427 - 2034 3733 1427 - 3734 2802 1427 - 2035 3734 1427 - 3735 2804 1416 - 2799 3735 1416 - 3736 2799 1419 - 2797 3736 1419 - 3737 1420 2796 - 195 3737 194 - 3738 2796 1425 - 3139 3738 1425 - 3739 2654 1424 - 2036 3739 1424 - 3740 1884 660 - 1758 3740 3180 - 3741 1481 2862 - 1563 3741 2862 - 3742 1705 2468 - 3161 3742 789 - 3743 1793 1567 - 592 3743 1567 - 3744 2197 1351 - 3122 3744 1351 - 3745 93 94 - 1723 3745 3593 - 3746 1723 3593 - 96 3746 95 - 3747 1411 2974 - 3463 3747 1361 - 3748 3607 2246 - 971 3748 2246 - 3749 3075 1625 - 2606 3749 1055 - 3750 170 2053 - 966 3750 2053 - 3751 502 1611 - 1757 3751 3507 - 3752 2184 1497 - 1654 3752 3435 - 3753 1367 2687 - 2830 3753 1368 - 3754 2325 1109 - 3133 3754 1639 - 3755 2496 906 - 3431 3755 1860 - 3756 1324 2071 - 436 3756 2071 - 3757 142 1673 - 2065 3757 968 - 3758 1894 2736 - 1169 3758 2736 - 3759 2582 683 - 3835 3759 683 - 3760 1386 2636 - 1675 3760 2636 - 3761 2693 1574 - 2098 3761 735 - 3762 3686 1609 - 3508 3762 1609 - 3763 1273 2950 - 1547 3763 2950 - 3764 1940 773 - 1216 3764 3025 - 3765 2061 920 - 1409 3765 2854 - 3766 1312 2145 - 978 3766 2145 - 3767 1536 3494 - 1952 3767 791 - 3768 2264 1259 - 2573 3768 1259 - 3769 1442 1964 - 1702 3769 1964 - 3770 3140 1434 - 2166 3770 2717 - 3771 3380 1405 - 1767 3771 1405 - 3772 1356 2044 - 3335 3772 1867 - 3773 1373 2670 - 2826 3773 1372 - 3774 3531 1410 - 1770 3774 1410 - 3775 2055 1519 - 1846 3775 3500 - 3776 2607 1447 - 2480 3776 1447 - 3777 1546 575 - 3510 3777 1663 - 3778 3566 1566 - 2511 3778 1566 - 3779 858 2898 - 1802 3779 2898 - 3780 1174 2242 - 653 3780 2242 - 3781 1022 2055 - 877 3781 2055 - 3782 2204 997 - 1632 3782 2308 - 3783 3681 1744 - 1505 3783 2498 - 3784 2511 1566 - 2625 3784 1566 - 3785 3320 1646 - 3069 3785 1646 - 3786 3948 1440 - 2602 3786 3246 - 3787 2904 1593 - 3147 3787 1593 - 3788 1627 3525 - 1147 3788 3263 - 3789 936 2148 - 1182 3789 2148 - 3790 805 1883 - 3545 3790 1883 - 3791 2962 1492 - 2722 3791 1492 - 3792 760 2140 - 1360 3792 3876 - 3793 863 2663 - 2173 3793 2663 - 3794 9 1971 - 979 3794 1971 - 3795 979 2584 - 1787 3795 2584 - 3796 1697 3073 - 638 3796 637 - 3797 2569 1295 - 2014 3797 3622 - 3798 782 3360 - 1349 3798 3360 - 3799 542 543 - 1332 3799 2633 - 3800 2335 1268 - 669 3800 2139 - 3801 1785 2811 - 836 3801 2811 - 3802 3845 704 - 2002 3802 2497 - 3803 780 3911 - 1346 3803 2161 - 3804 38 1880 - 3364 3804 1545 - 3805 1889 3033 - 2757 3805 703 - 3806 1837 2729 - 596 3806 2729 - 3807 2983 1704 - 1814 3807 1704 - 3808 1127 2572 - 2091 3808 2572 - 3809 3050 1230 - 1020 3809 2099 - 3810 2820 1340 - 1961 3810 1340 - 3811 842 3883 - 2311 3811 1435 - 3812 1853 1792 - 2176 3812 1118 - 3813 989 2224 - 3404 3813 2224 - 3814 1002 2177 - 1119 3814 2177 - 3815 2817 1660 - 3954 3815 1660 - 3816 2720 1528 - 2968 3816 1528 - 3817 1657 3600 - 828 3817 3600 - 3818 3601 1656 - 2958 3818 1521 - 3819 1414 3039 - 2047 3819 2718 - 3820 1031 2004 - 2705 3820 659 - 3821 1366 3633 - 2105 3821 3633 - 3822 3303 1599 - 2619 3822 1599 - 3823 912 1972 - 2762 3823 1972 - 3824 2015 1371 - 2239 3824 1371 - 3825 3178 1468 - 2866 3825 1468 - 3826 2276 1122 - 968 3826 1969 - 3827 1641 3280 - 1567 3827 3280 - 3828 754 1824 - 3459 3828 1824 - 3829 3565 852 - 1070 3829 2151 - 3830 2281 1323 - 972 3830 2263 - 3831 3595 1513 - 1728 3831 2701 - 3832 959 2228 - 1292 3832 2228 - 3833 1764 1506 - 3012 3833 1506 - 3834 1296 2264 - 3768 3834 2264 - 3835 2265 3759 - 1297 3835 2689 - 3836 1675 3474 - 2444 3836 1452 - 3837 1450 2200 - 2787 3837 456 - 3838 2153 3143 - 3987 3838 1467 - 3839 2507 800 - 1323 3839 2263 - 3840 1527 3245 - 2128 3840 846 - 3841 1902 1011 - 3154 3841 1869 - 3842 1901 3439 - 1868 3842 3155 - 3843 1163 2685 - 881 3843 2685 - 3844 2659 1379 - 2576 3844 730 - 3845 1893 3188 - 1655 3845 3802 - 3846 3211 199 - 1423 3846 2394 - 3847 1421 2802 - 3210 3847 119 - 3848 1421 3216 - 202 3848 3216 - 3849 3214 324 - 1422 3849 2274 - 3850 374 3213 - 1422 3850 3213 - 3851 122 3217 - 1423 3851 3217 - 3852 1313 2714 - 2389 3852 1314 - 3853 2870 1725 - 2695 3853 1725 - 3854 1545 1940 - 3364 3854 2879 - 3855 3807 953 - 3119 3855 8 - 3856 2855 1402 - 1857 3856 1402 - 3857 1838 3301 - 1256 3857 3301 - 3858 2926 1744 - 1789 3858 993 - 3859 2724 1517 - 2522 3859 1517 - 3860 1725 2042 - 2404 3860 802 - 3861 1214 3506 - 1917 3861 3506 - 3862 2981 667 - 1453 3862 1894 - 3863 2024 1301 - 3420 3863 1301 - 3864 3367 1283 - 991 3864 3168 - 3865 1 3399 - 2515 3865 1501 - 3866 1531 2520 - 449 3866 448 - 3867 1061 1984 - 2051 3867 1213 - 3868 842 2311 - 952 3868 2311 - 3869 2824 1487 - 3111 3869 1487 - 3870 1917 3560 - 3532 3870 899 - 3871 2470 1413 - 2061 3871 2738 - 3872 2696 3253 - 1671 3872 3531 - 3873 2382 657 - 1598 3873 2869 - 3874 3035 1537 - 2788 3874 1537 - 3875 3468 1827 - 974 3875 1827 - 3876 3792 2140 - 2870 3876 931 - 3877 2400 1369 - 3388 3877 1369 - 3878 2431 792 - 1827 3878 2117 - 3879 815 1850 - 2264 3879 1259 - 3880 1260 2265 - 816 3880 3920 - 3881 2699 1475 - 2842 3881 1475 - 3882 3509 1600 - 3141 3882 1877 - 3883 2283 1397 - 2009 3883 1397 - 3884 972 1778 - 713 3884 1778 - 3885 1666 2979 - 1691 3885 2618 - 3886 2671 1448 - 2643 3886 1919 - 3887 1949 658 - 1457 3887 3465 - 3888 1101 2982 - 2169 3888 1455 - 3889 2350 982 - 1308 3889 2029 - 3890 2628 760 - 1850 3890 2969 - 3891 1667 569 - 3608 3891 1664 - 3892 2253 1448 - 2671 3892 1448 - 3893 2343 72 - 1806 3893 73 - 3894 1781 2158 - 2672 3894 958 - 3895 2106 3157 - 1433 3895 3157 - 3896 2732 1648 - 1976 3896 1648 - 3897 1861 2757 - 3053 3897 1643 - 3898 3066 2008 - 745 3898 2008 - 3899 2508 1184 - 40 3899 1931 - 3900 4012 1483 - 1975 3900 1021 - 3901 909 1765 - 1451 3901 1765 - 3902 4028 1449 - 2310 3902 1449 - 3903 1971 133 - 1388 3903 3546 - 3904 3680 1825 - 3627 3904 1825 - 3905 763 3644 - 2233 3905 3644 - 3906 2232 3643 - 764 3906 3643 - 3907 2869 1358 - 2440 3907 1358 - 3908 2748 1282 - 2156 3908 1282 - 3909 2221 1055 - 2220 3909 1507 - 3910 1410 2259 - 2471 3910 748 - 3911 780 2314 - 1227 3911 2314 - 3912 2229 3635 - 762 3912 3635 - 3913 761 3636 - 2230 3913 3636 - 3914 2906 2157 - 934 3914 2157 - 3915 1801 2880 - 2177 3915 1119 - 3916 1564 2127 - 2 3916 84 - 3917 1893 1009 - 2487 3917 1009 - 3918 1709 3177 - 1390 3918 3517 - 3919 1912 815 - 2264 3919 3879 - 3920 3880 2265 - 1297 3920 2265 - 3921 2331 2060 - 1732 3921 3281 - 3922 1512 2296 - 398 3922 397 - 3923 711 1799 - 2080 3923 1131 - 3924 2836 811 - 1257 3924 2835 - 3925 1398 2634 - 1938 3925 823 - 3926 947 4011 - 1018 3926 1842 - 3927 4005 682 - 1303 3927 2552 - 3928 2521 1588 - 2709 3928 1588 - 3929 2834 1255 - 2833 3929 1255 - 3930 1304 2306 - 687 3930 4004 - 3931 2666 1552 - 3207 3931 1890 - 3932 1443 2580 - 1996 3932 3381 - 3933 2782 1164 - 627 3933 1773 - 3934 2911 1559 - 3144 3934 1559 - 3935 2719 1357 - 2175 3935 1357 - 3936 380 2043 - 1760 3936 2043 - 3937 2105 1362 - 2531 3937 1362 - 3938 1407 2022 - 3193 3938 2022 - 3939 3325 2023 - 1408 3939 2023 - 3940 1497 2354 - 615 3940 614 - 3941 1217 2129 - 3603 3941 2129 - 3942 1520 3261 - 481 3942 480 - 3943 550 551 - 1523 3943 2590 - 3944 552 553 - 1525 3944 2927 - 3945 1383 2469 - 2677 3945 400 - 3946 659 2004 - 1193 3946 2004 - 3947 2660 1474 - 2982 3947 1474 - 3948 1777 1440 - 3117 3948 1707 - 3949 1524 2340 - 3283 3949 478 - 3950 1357 2346 - 3230 3950 736 - 3951 1884 1009 - 2571 3951 1909 - 3952 392 393 - 1819 3952 2154 - 3953 2885 1818 - 2155 3953 1818 - 3954 2160 3815 - 2435 3954 1660 - 3955 1835 738 - 997 3955 1787 - 3956 1637 3296 - 1939 3956 913 - 3957 3199 1439 - 3352 3957 1439 - 3958 2544 1374 - 3525 3958 1374 - 3959 1457 2773 - 932 3959 2773 - 3960 1855 3088 - 1661 3960 3108 - 3961 1385 2827 - 2054 3961 702 - 3962 3309 1521 - 2930 3962 1521 - 3963 1522 2929 - 3308 3963 440 - 3964 2994 2415 - 3653 3964 1093 - 3965 74 75 - 1749 3965 3031 - 3966 772 2445 - 1339 3966 2445 - 3967 3406 1377 - 2053 3967 1377 - 3968 76 77 - 1753 3968 2491 - 3969 1812 3471 - 1411 3969 2490 - 3970 3344 1619 - 2104 3970 2892 - 3971 1919 1448 - 2253 3971 1448 - 3972 2374 1362 - 2919 3972 2105 - 3973 2358 1445 - 1914 3973 1445 - 3974 1198 2924 - 334 3974 2924 - 3975 1877 1600 - 2669 3975 1600 - 3976 3499 1348 - 2116 3976 1348 - 3977 3483 1381 - 2065 3977 1381 - 3978 846 3014 - 1392 3978 3014 - 3979 3334 1796 - 3013 3979 1391 - 3980 2317 1504 - 2353 3980 1504 - 3981 1553 2698 - 271 3981 270 - 3982 868 3666 - 1948 3982 3666 - 3983 3344 1105 - 1561 3983 2666 - 3984 1590 2195 - 1924 3984 3012 - 3985 2999 1489 - 2670 3985 1489 - 3986 2808 1602 - 2513 3986 1172 - 3987 2136 3838 - 3131 3987 1467 - 3988 2115 2957 - 2081 3988 2957 - 3989 930 2137 - 1197 3989 2137 - 3990 743 2772 - 1241 3990 2772 - 3991 3299 1839 - 2691 3991 770 - 3992 1821 644 - 1692 3992 646 - 3993 730 2301 - 1166 3993 2301 - 3994 770 3441 - 2539 3994 1921 - 3995 1935 994 - 1569 3995 2488 - 3996 3400 1888 - 2933 3996 1409 - 3997 3224 2082 - 2268 3997 756 - 3998 2057 1441 - 2198 3998 1441 - 3999 1505 2498 - 2509 3999 1233 - 4000 2995 1503 - 2687 4000 1503 - 4001 1717 2708 - 820 4001 2708 - 4002 1441 2057 - 2172 4002 940 - 4003 2622 1905 - 2457 4003 1469 - 4004 2306 1328 - 2379 4004 1328 - 4005 1327 2378 - 2305 4005 3927 - 4006 1406 2975 - 2971 4006 1515 - 4007 2169 1396 - 2324 4007 1396 - 4008 881 3427 - 1516 4008 3427 - 4009 3089 1187 - 1620 4009 2901 - 4010 1049 2475 - 2843 4010 1316 - 4011 947 2843 - 3191 4011 1316 - 4012 3900 697 - 1125 4012 2964 - 4013 3032 1624 - 2570 4013 1624 - 4014 781 2190 - 1379 4014 2190 - 4015 3615 2063 - 967 4015 2063 - 4016 1458 3472 - 354 4016 3472 - 4017 1999 1057 - 2026 4017 1762 - 4018 3561 762 - 1260 4018 2961 - 4019 3282 105 - 3212 4019 106 - 4020 3104 908 - 1650 4020 3612 - 4021 2217 2963 - 2087 4021 2963 - 4022 915 2186 - 2283 4022 1397 - 4023 101 2994 - 1509 4023 2994 - 4024 1810 3125 - 822 4024 3125 - 4025 2309 1335 - 2886 4025 1335 - 4026 826 3277 - 1293 4026 3277 - 4027 2967 1974 - 3301 4027 1256 - 4028 2290 723 - 1449 4028 1919 - 4029 1332 2658 - 794 4029 2658 - 4030 3590 1912 - 2823 4030 1296 - 4031 3589 1913 - 2822 4031 1297 - 4032 1433 3071 - 2168 4032 822 - 4033 1022 2610 - 1352 4033 2610 - 4034 2349 1030 - 1361 4034 3463 - 4035 822 3125 - 1250 4035 3125 - 4036 807 3250 - 1394 4036 3250 - 4037 3460 1966 - 2332 4037 1127 - 4038 2146 1445 - 2358 4038 1445 \ No newline at end of file diff --git a/lib/metis-4.0/Graphs/test.mgraph b/lib/metis-4.0/Graphs/test.mgraph deleted file mode 100755 index 4a6dab1e0..000000000 --- a/lib/metis-4.0/Graphs/test.mgraph +++ /dev/null @@ -1,770 +0,0 @@ -%% graph file %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% 1st line: n, m -%% ff lines: vwgt1, vwgt2, adjacencies - 766 1314 10 2 - 1 1 479 389 571 2 - 2 2 395 1 534 4 - 4 4 148 207 409 498 - 4 4 2 729 6 695 - 4 4 572 6 708 393 - 2 2 571 727 4 5 - 2 2 746 397 575 573 - 24 8 152 733 638 746 - 1 1 573 524 11 13 - 1 1 11 497 532 14 - 2 2 12 531 10 9 - 4 4 754 490 616 11 - 1 1 9 706 403 14 - 1 1 13 10 18 15 - 1 1 14 402 530 20 - 24 8 742 692 17 581 - 4 4 16 109 116 620 - 1 1 14 512 535 20 - 1 1 20 404 408 24 - 1 1 18 15 19 22 - 38 8 645 628 148 536 - 1 1 20 527 421 24 - 24 8 179 28 629 30 - 1 1 19 22 513 27 - 24 8 742 159 174 28 - 0 0 411 440 539 442 - 1 1 24 411 410 538 - 24 8 25 254 23 29 - 4 4 174 28 750 30 - 4 4 596 23 29 745 - 52 8 645 192 581 525 - 1 1 51 332 406 - 1 1 577 330 51 - 1 1 418 682 423 - 68 8 711 36 606 - 68 8 626 35 153 - 0 0 52 333 420 - 2 2 422 358 419 - 1 1 58 345 578 - 1 1 59 348 58 - 68 8 208 144 734 - 68 8 143 483 484 - 1 1 64 349 425 - 2 2 66 334 426 - 68 8 579 141 427 - 0 0 420 50 339 - 68 8 764 48 564 - 68 8 587 47 443 - 2 2 62 673 687 - 0 0 578 46 565 - 1 1 33 584 32 - 0 0 406 429 37 - 68 8 485 335 731 - 68 8 758 55 519 - 68 8 586 54 183 - 1 1 426 64 577 - 0 0 552 630 - 1 1 40 429 39 - 1 1 425 584 40 - 0 0 462 - 68 8 308 162 647 - 4 4 690 431 49 - 68 8 161 672 305 - 1 1 687 56 43 - 68 8 588 168 253 - 4 4 368 431 44 - 68 8 560 68 709 - 68 8 500 67 196 - 68 8 566 170 433 - 68 8 724 163 366 - 1 1 113 97 - 1 1 177 79 - 1 1 601 142 - 24 8 92 738 739 - 24 8 454 644 595 - 1 1 545 146 502 - 1 1 591 351 435 - 1 1 344 436 437 - 1 1 146 72 487 434 - 1 1 103 354 439 - 2 2 437 463 115 - 1 1 601 304 - 2 2 109 174 592 - 0 0 110 355 440 - 1 1 112 353 441 - 0 0 440 442 593 - 0 0 263 - 1 1 444 381 111 - 0 0 91 442 357 - 8 8 594 740 732 - 0 0 445 446 89 - 24 8 595 447 74 - 8 8 763 741 744 - 1 1 757 667 448 - 1 1 453 436 108 - 52 8 130 686 208 - 1 1 71 268 - 1 1 304 157 - 0 0 101 100 - 0 0 474 99 126 - 0 0 474 630 99 - 1 1 117 383 107 - 1 1 441 449 80 - 2 2 116 207 338 - 52 8 763 187 205 692 - 24 8 713 447 763 - 1 1 102 449 444 - 2 2 95 388 450 - 4 4 742 17 83 - 1 1 439 451 84 - 1 1 88 451 445 - 1 1 435 452 85 - 1 1 309 71 282 - 0 0 743 - 4 4 81 119 454 - 4 4 744 17 104 - 1 1 448 452 102 - 1 1 178 600 - 4 4 450 115 661 - 1 1 356 178 - 1 1 601 602 - 0 0 123 460 - 0 0 663 122 248 - 24 8 222 253 - 24 8 603 461 - 0 0 100 248 - 4 4 220 218 604 - 1 1 549 685 - 0 0 529 234 567 151 - 68 8 606 96 - 0 0 607 261 462 - 68 8 417 711 - 1 1 550 608 267 - 1 1 649 214 - 1 1 235 611 704 - 1 1 280 219 613 - 0 0 654 221 - 1 1 266 211 615 - 24 8 736 176 - 24 8 579 558 - 68 8 676 45 518 - 1 1 177 73 542 - 68 8 42 526 191 - 68 8 179 41 629 - 0 0 224 621 - 1 1 76 79 258 - 68 8 468 747 731 - 8 8 391 392 21 3 - 4 4 346 556 - 2 2 639 229 232 - 0 0 464 129 - 24 8 526 191 8 412 - 52 8 36 738 712 167 - 68 8 466 194 526 - 52 8 496 695 753 748 - 2 2 350 623 - 1 1 98 465 309 - 1 1 233 217 238 - 52 8 167 190 179 25 - 68 8 644 595 626 - 52 8 390 63 308 - 68 8 697 61 749 - 68 8 628 70 725 - 4 4 225 674 - 68 8 629 726 191 - 4 4 710 328 169 318 - 68 8 153 739 159 - 68 8 631 65 751 - 4 4 721 166 398 490 - 68 8 632 69 637 - 0 0 657 226 - 68 8 253 603 - 68 8 468 200 640 - 4 4 25 83 413 29 - 0 0 203 469 470 - 52 8 564 139 609 240 - 1 1 142 72 438 - 1 1 455 120 118 - 52 8 159 144 180 23 - 24 8 190 179 208 596 - 4 4 237 659 - 68 8 183 205 628 - 64 8 55 568 735 182 - 68 8 748 209 715 - 1 1 227 471 - 1 1 231 310 - 68 8 447 105 739 - 1 1 215 650 - 68 8 707 209 619 - 24 8 159 686 180 413 - 52 8 143 165 752 152 - 68 8 31 726 618 - 68 8 599 595 447 - 68 8 624 154 733 - 1 1 241 635 - 68 8 68 210 632 - 8 8 651 756 662 - 24 8 387 683 651 - 52 8 749 651 758 586 - 68 8 641 173 528 - 0 0 252 239 256 - 68 8 213 642 546 - 0 0 696 250 175 - 24 8 759 694 386 - 68 8 105 182 645 - 0 0 246 322 - 4 4 391 407 104 3 - 52 8 96 41 180 223 - 68 8 189 184 617 - 68 8 546 196 624 - 1 1 646 138 354 - 68 8 647 758 - 68 8 475 202 648 - 1 1 134 610 233 330 - 1 1 290 260 472 188 - 68 8 519 694 - 1 1 330 158 332 - 4 4 612 652 127 - 1 1 653 136 353 - 2 2 704 297 127 - 0 0 137 243 657 - 24 8 604 588 124 - 24 8 208 734 350 - 0 0 655 145 270 355 - 4 4 295 249 164 278 - 0 0 467 171 262 339 - 1 1 327 185 681 517 - 1 1 471 259 456 - 4 4 271 150 334 - 4 4 461 561 639 - 1 1 659 244 186 - 1 1 150 299 649 - 1 1 214 291 158 - 0 0 593 129 462 - 1 1 602 236 135 - 1 1 633 235 491 - 8 8 558 242 181 - 1 1 158 301 654 - 0 0 540 201 319 - 24 8 176 718 579 - 1 1 310 247 195 - 24 8 427 518 237 504 - 0 0 614 221 313 333 - 2 2 307 292 231 658 - 0 0 416 460 567 - 0 0 319 256 477 206 - 1 1 241 660 289 635 - 0 0 126 264 123 - 2 2 650 312 225 - 0 0 503 565 203 - 1 1 542 255 465 - 1 1 541 300 201 - 52 8 124 65 172 554 - 24 8 581 28 726 750 - 1 1 478 251 523 - 0 0 201 562 246 - 0 0 265 481 263 - 1 1 146 327 478 - 1 1 523 228 455 - 1 1 482 285 215 - 0 0 363 131 460 - 0 0 226 316 627 - 0 0 257 470 87 - 0 0 480 663 343 248 - 0 0 570 257 - 1 1 613 360 138 - 1 1 133 361 549 - 1 1 97 282 597 - 0 0 671 287 - 1 1 615 362 224 - 24 8 582 315 229 - 1 1 670 284 - 0 0 621 688 547 - 68 8 427 483 - 1 1 352 293 - 68 8 734 484 - 68 8 335 764 - 8 8 225 580 656 674 - 2 2 643 384 - 1 1 668 765 136 - 68 8 485 414 - 1 1 113 356 458 268 - 4 4 486 387 - 1 1 272 665 381 348 - 1 1 487 260 590 - 24 8 724 430 643 - 0 0 269 345 570 - 24 8 324 636 320 - 1 1 488 247 321 - 1 1 548 365 215 - 1 1 537 233 329 - 2 2 318 244 634 - 1 1 428 275 383 349 - 2 2 491 341 297 - 2 2 650 723 225 - 24 8 680 631 331 - 4 4 294 220 563 - 1 1 458 597 358 388 - 1 1 398 232 492 - 1 1 493 252 562 - 1 1 329 238 494 - 8 8 755 473 561 - 1 1 590 341 495 - 1 1 82 98 418 - 68 8 63 761 - 1 1 492 317 537 - 4 4 504 659 675 244 - 68 8 161 61 - 1 1 113 157 422 - 1 1 186 677 241 - 24 8 676 473 559 - 4 4 495 249 669 - 0 0 494 326 243 - 1 1 635 374 540 - 52 8 566 271 368 - 0 0 499 262 760 - 1 1 634 306 488 - 4 4 702 166 292 - 0 0 239 378 246 - 24 8 288 475 678 - 1 1 289 501 493 - 0 0 206 679 474 - 68 8 366 433 - 24 8 669 432 288 - 1 1 550 471 361 - 0 0 313 562 499 - 1 1 502 258 227 - 2 2 561 166 398 - 1 1 291 501 301 - 1 1 214 33 217 - 24 8 296 475 751 - 1 1 217 32 654 - 0 0 243 37 657 467 - 2 2 229 44 649 - 52 8 585 53 277 - 1 1 602 682 611 - 24 8 483 340 569 - 1 1 104 544 757 - 0 0 226 46 503 - 24 8 484 337 372 - 2 2 303 727 294 708 - 0 0 343 469 416 - 0 0 720 264 342 - 1 1 608 78 549 - 1 1 671 39 700 287 - 2 2 685 463 149 - 24 8 556 644 594 - 1 1 284 40 671 - 1 1 293 43 670 - 4 4 596 223 156 745 - 1 1 623 77 653 - 1 1 384 673 275 - 1 1 219 85 646 - 1 1 211 80 655 - 0 0 224 84 621 666 - 1 1 120 282 453 - 0 0 89 470 464 - 2 2 298 38 486 - 0 0 370 679 663 - 1 1 689 266 377 - 1 1 325 267 505 - 1 1 506 270 379 - 0 0 364 507 261 - 0 0 508 688 363 - 1 1 681 290 511 - 52 8 70 323 430 698 - 2 2 505 691 369 - 24 8 433 315 66 - 4 4 367 509 701 - 0 0 510 507 359 - 2 2 372 765 376 - 4 4 340 396 693 371 - 2 2 511 691 723 - 1 1 385 314 405 - 1 1 399 677 514 - 1 1 371 380 689 - 1 1 360 400 506 - 0 0 515 319 510 - 0 0 362 382 508 - 1 1 693 376 399 - 1 1 284 88 671 - 0 0 405 379 515 - 1 1 293 102 670 - 1 1 279 667 352 - 1 1 514 400 374 - 24 8 401 204 766 407 - 24 8 283 664 749 198 - 2 2 298 108 486 - 1 1 517 1 516 505 - 24 8 419 496 697 161 - 8 8 401 744 148 207 - 38 8 401 628 766 148 - 24 8 5 468 707 619 - 52 8 695 622 753 641 - 1 1 523 521 522 2 - 4 4 752 412 372 575 - 2 2 553 7 435 524 - 2 2 639 328 169 299 - 1 1 737 380 375 574 - 1 1 512 377 385 404 - 24 8 735 392 386 391 - 1 1 449 15 444 408 - 1 1 452 13 441 449 - 1 1 400 19 506 405 - 1 1 374 404 513 382 - 1 1 32 421 614 52 - 4 4 386 207 409 - 1 1 402 439 19 451 - 4 4 766 407 3 643 - 1 1 429 27 578 420 - 1 1 451 27 445 26 - 4 4 152 717 396 746 - 4 4 190 174 596 - 68 8 281 415 417 - 52 8 701 424 640 414 - 0 0 459 529 342 245 - 52 8 556 414 132 - 1 1 304 589 465 34 - 4 4 423 38 390 - 0 0 37 410 467 46 - 1 1 584 406 22 429 - 1 1 309 458 522 38 - 2 2 522 34 419 729 - 24 8 463 415 625 556 - 1 1 43 530 665 59 - 1 1 44 531 532 56 - 52 8 45 558 274 242 - 1 1 673 448 687 293 - 1 1 421 58 52 410 - 24 8 366 286 690 - 4 4 533 66 62 531 - 24 8 563 520 324 617 - 52 8 323 69 368 533 - 1 1 478 79 438 699 - 1 1 77 397 653 112 - 1 1 521 78 95 534 - 1 1 78 605 534 81 - 1 1 542 177 434 633 - 1 1 80 408 655 110 - 0 0 84 26 666 86 - 1 1 85 403 646 103 - 0 0 26 89 86 529 - 52 8 636 48 564 678 - 1 1 107 665 402 88 - 1 1 111 700 411 91 - 0 0 700 570 91 481 - 52 8 193 106 92 187 - 1 1 94 524 428 117 - 1 1 403 107 402 103 - 4 4 534 108 622 119 - 1 1 408 111 110 411 - 1 1 524 112 117 403 - 1 1 356 521 458 95 - 24 8 115 625 528 75 - 1 1 178 259 521 600 - 1 1 228 550 600 - 24 8 483 504 526 675 - 1 1 282 422 453 298 - 0 0 507 416 663 460 - 0 0 459 261 245 122 - 24 8 560 125 582 230 - 0 0 131 234 567 60 - 4 4 509 81 346 424 - 0 0 529 357 469 151 - 1 1 157 251 418 522 - 52 8 518 154 702 504 - 0 0 333 499 420 226 - 52 8 393 730 173 147 - 0 0 342 175 464 - 0 0 481 357 175 263 - 1 1 228 185 517 325 - 1 1 215 511 705 650 - 24 8 546 311 302 710 - 0 0 322 101 480 100 - 52 8 617 320 331 213 - 1 1 502 548 681 - 0 0 246 510 499 679 - 1 1 258 255 434 479 - 1 1 517 478 523 1 - 0 0 679 760 474 264 - 0 0 446 565 257 470 - 1 1 545 548 260 - 52 8 274 42 457 337 - 52 8 42 276 752 340 - 52 8 701 53 281 - 4 4 358 388 664 283 - 1 1 545 79 285 - 1 1 317 660 289 535 - 4 4 643 498 690 667 - 2 2 169 12 634 492 - 1 1 236 703 294 704 - 1 1 299 490 497 306 - 1 1 321 541 300 527 - 1 1 301 527 614 313 - 2 2 705 303 312 708 - 24 8 729 390 155 672 - 1 1 492 610 10 537 - 4 4 3 536 757 489 - 0 0 326 467 477 316 - 52 8 648 755 68 546 - 1 1 535 329 321 527 - 1 1 76 476 327 - 0 0 339 627 250 - 24 8 242 457 466 307 - 1 1 361 389 605 367 - 1 1 377 615 404 362 - 0 0 539 370 363 459 - 0 0 379 666 539 364 - 2 2 605 685 369 463 - 0 0 378 538 477 370 - 1 1 365 516 472 373 - 1 1 574 514 18 400 - 1 1 405 540 24 515 - 1 1 375 512 660 385 - 0 0 513 382 378 538 - 2 2 389 511 572 691 - 1 1 479 227 471 389 - 52 8 141 559 466 242 - 52 8 756 54 759 216 - 24 8 708 669 619 432 - 1 1 455 453 395 436 - 1 1 465 422 395 423 - 1 1 259 255 479 395 - 1 1 397 448 9 452 - 24 8 31 536 618 598 - 52 8 143 154 457 152 - 1 1 501 22 494 493 - 52 8 661 454 200 599 - 0 0 442 416 464 129 - 1 1 577 425 15 584 - 2 2 431 11 426 687 - 1 1 426 610 10 577 - 24 8 433 698 637 431 - 2 2 436 2 437 450 - 1 1 537 488 18 501 - 24 8 21 525 725 498 - 1 1 306 497 291 535 - 0 0 515 27 539 510 - 0 0 538 508 26 507 - 1 1 314 541 513 239 - 1 1 635 493 252 540 - 1 1 142 251 438 589 - 1 1 592 544 591 - 2 2 620 338 598 543 - 1 1 76 487 482 - 52 8 202 500 473 210 - 0 0 273 607 - 1 1 476 482 290 - 1 1 267 344 605 128 - 1 1 456 325 133 - 0 0 743 552 696 - 0 0 57 551 720 - 4 4 638 591 598 397 - 24 8 253 555 603 - 24 8 751 554 755 - 24 8 149 424 417 347 - 8 8 674 636 736 - 24 8 140 427 237 - 24 8 311 518 702 - 52 8 603 67 755 461 - 4 4 302 230 328 - 0 0 300 326 256 - 8 8 297 432 680 - 52 8 736 47 443 176 - 0 0 50 481 250 - 68 8 709 315 69 - 0 0 245 129 462 - 32 8 583 741 763 183 - 4 4 337 675 693 - 0 0 287 446 265 - 1 1 699 1 572 6 - 2 2 571 705 516 5 - 1 1 7 616 9 706 - 1 1 399 706 689 512 - 2 2 396 668 7 765 - 52 8 715 604 761 588 - 1 1 56 532 33 530 - 1 1 39 410 700 50 - 52 8 609 240 45 140 - 24 8 278 585 587 764 - 24 8 16 254 31 620 - 24 8 461 709 271 639 - 52 8 651 713 586 568 - 1 1 51 530 59 421 - 24 8 723 731 335 580 - 68 8 199 583 55 - 52 8 580 656 747 48 - 52 8 576 631 222 65 - 1 1 601 542 418 714 - 1 1 285 699 705 303 - 2 2 750 543 553 77 - 2 2 620 83 750 543 - 0 0 86 607 234 - 24 8 347 711 90 626 - 52 8 75 193 92 160 - 4 4 180 413 30 350 - 1 1 268 298 - 4 4 525 544 757 553 - 68 8 528 713 193 - 1 1 118 456 455 608 - 1 1 73 82 121 589 - 1 1 121 714 235 336 - 52 8 172 554 125 560 - 24 8 127 576 652 222 - 1 1 549 505 437 509 - 52 8 740 35 712 130 - 0 0 688 547 593 131 - 1 1 600 133 344 - 68 8 176 579 - 1 1 649 497 532 214 - 1 1 336 135 612 - 2 2 611 719 704 218 - 1 1 136 722 646 266 - 1 1 654 494 406 243 - 1 1 138 506 655 270 - 2 2 746 12 737 573 - 52 8 432 680 209 475 - 52 8 192 716 525 638 - 52 8 393 520 747 189 - 4 4 17 581 592 544 - 0 0 145 355 273 - 24 8 450 394 664 661 - 2 2 745 351 156 668 - 52 8 210 194 710 721 - 52 8 454 424 640 644 - 52 8 594 160 36 738 - 0 0 262 503 696 743 - 64 8 182 392 163 21 - 52 8 144 165 23 762 - 0 0 760 101 57 - 52 8 715 588 296 168 - 52 8 196 170 709 721 - 1 1 438 714 236 703 - 1 1 292 490 658 317 - 1 1 247 195 314 541 - 24 8 656 557 288 443 - 52 8 170 728 754 533 - 24 8 726 618 8 553 - 4 4 230 582 398 150 - 68 8 173 415 625 - 68 8 707 394 200 - 68 8 678 202 676 - 4 4 409 286 279 489 - 52 8 625 75 347 160 - 52 8 205 692 21 31 - 1 1 353 613 441 211 - 52 8 749 61 212 - 68 8 751 213 500 - 1 1 232 334 610 134 - 1 1 188 472 295 249 - 24 8 198 199 197 583 - 24 8 218 761 604 - 1 1 351 668 435 219 - 1 1 238 332 614 137 - 1 1 354 615 439 224 - 24 8 278 669 587 636 - 0 0 221 333 171 - 1 1 244 737 634 677 - 2 2 181 307 231 - 1 1 677 488 247 514 - 24 8 119 622 528 683 - 8 8 197 741 759 - 0 0 359 459 264 123 - 24 8 486 697 622 387 - 1 1 670 444 425 284 - 0 0 355 508 440 688 - 2 2 489 384 94 673 - 2 2 623 575 653 280 - 24 8 312 520 656 324 - 1 1 383 349 665 272 - 1 1 348 381 269 345 - 52 8 496 761 63 748 - 2 2 667 49 352 428 - 8 8 278 164 684 557 - 4 4 457 569 307 717 - 52 8 642 718 141 311 - 1 1 658 310 375 660 - 52 8 443 320 642 718 - 0 0 477 322 359 480 - 24 8 563 715 617 296 - 1 1 476 227 365 - 1 1 714 34 336 719 - 24 8 661 198 713 - 24 8 674 764 736 - 1 1 128 509 346 - 24 8 712 96 190 - 1 1 49 531 428 64 - 0 0 273 666 364 607 - 1 1 376 722 574 360 - 8 8 430 698 489 62 - 4 4 367 516 373 730 - 24 8 105 744 16 645 - 2 2 569 372 717 380 - 52 8 216 204 724 - 24 8 4 394 155 707 - 0 0 627 720 203 551 - 52 8 390 664 753 162 - 24 8 366 725 533 690 - 1 1 434 571 590 727 - 1 1 345 445 578 446 - 24 8 369 730 415 485 - 24 8 559 710 466 318 - 1 1 633 727 719 491 - 1 1 135 491 612 220 - 1 1 590 472 572 495 - 1 1 573 722 574 13 - 52 8 695 393 641 189 - 4 4 495 5 341 520 - 52 8 67 566 582 632 - 24 8 473 624 702 166 - 52 8 594 132 740 35 - 24 8 606 732 153 686 - 52 8 683 599 106 583 - 1 1 589 602 633 682 - 52 8 576 680 184 631 - 68 8 728 618 733 - 2 2 675 412 693 737 - 24 8 678 240 676 - 2 2 682 703 729 612 - 0 0 760 696 343 552 - 24 8 624 632 754 169 - 1 1 765 706 689 613 - 4 4 373 295 585 - 52 8 694 70 766 286 - 52 8 163 728 536 698 - 52 8 192 165 254 638 - 1 1 699 703 6 341 - 68 8 716 725 637 - 4 4 423 4 719 496 - 24 8 691 701 468 731 - 52 8 730 585 53 147 - 8 8 90 738 712 - 52 8 194 716 754 8 - 52 8 41 276 223 762 - 38 8 183 759 741 401 - 24 8 684 557 564 139 - 1 1 717 658 616 399 - 24 8 626 732 74 153 - 52 8 74 187 167 742 - 24 8 711 90 606 - 8 8 568 662 93 735 - 24 8 739 109 16 25 - 0 0 627 114 551 - 8 8 93 692 116 391 - 4 4 30 350 762 623 - 4 4 8 412 616 7 - 68 8 147 619 587 - 68 8 155 672 184 - 52 8 387 647 162 199 - 4 4 592 254 29 591 - 52 8 168 331 648 555 - 24 8 191 484 762 396 - 68 8 155 697 394 - 24 8 721 733 637 12 - 24 8 555 500 560 302 - 24 8 758 197 519 - 2 2 498 338 598 94 - 52 8 199 212 756 54 - 24 8 519 662 735 204 - 0 0 316 480 630 720 - 52 8 672 652 305 576 - 24 8 629 734 752 745 - 24 8 106 568 93 105 - 52 8 580 684 277 47 - 1 1 575 371 280 722 - 24 8 386 392 724 409 diff --git a/lib/metis-4.0/INSTALL b/lib/metis-4.0/INSTALL deleted file mode 100755 index 1e8abe8d7..000000000 --- a/lib/metis-4.0/INSTALL +++ /dev/null @@ -1,79 +0,0 @@ - -Copyright 1998, Regents of the University of Minnesota. -METIS was written by George Karypis (karypis@cs.umn.edu) - -Introduction ------------------------------------------------------------ - -METIS is a software package for partitioning unstructured graphs, partitioning -meshes, and computing fill-reducing orderings of sparse matrices. -The documentation of METIS can be found in the Doc/manual.ps file. - -METIS is written in ANSI C and should compile on Unix systems that have -a ANSI C compiler. It has been extensively tested on the following -architectures: - - AIX - SunOS - Solaris - IRIX - Unicos - Linux - HP-UX - FreeBSD - - -Installation Instructions ----------------------------------------------- - -In order to build METIS you need - (a) a C compiler that is ANSI compatible - (b) make - -Edit the file Makefile.in that resides in the same directory as this file -according to the requirements of your system. In particular you may need -to modify the following: - 1. The CC variable, to be the name of the ANSI C compiler - in your system. The GNU C compiler (gcc) will do. - 2. The settings for the AR and RANLIB variables that are suitable for - you system. Note that some systems do not have 'ranlib' but they use - 'ar -ts' instead, or it is not needed all together. - 3. You can use COPTIONS and LDOPTIONS to provide additional command line - options that are required by your compiler and linker. - - -After saving the modified Makefile.in, type 'make' at the prompt. This will -build all of METIS's stand-alone programs, METIS's library, and a program that -tests the various partitioning algorithms. -Upon successful completion, make creates the following 11 files: - - pmetis, - kmetis, - oemetis, - onmetis, - partnmesh, - partdmesh, - mesh2nodal, - mesh2dual, - graphchk, - libmetis.a - Graphs/mtest - -Please read the instructions in the file Graphs/0README on how to go and -test the various programs. - - -Contact Information ----------------------------------------------------- - -If you have any comments, suggestions, or bug reports, please send them -to metis@cs.umn.edu. - -Any bug fixes and upgrades of the METIS packages is available on WWW at -URL: http://www.cs.umn.edu/~metis -or -URL: http://www.cs.umn.edu/~karypis/metis - - -George Karypis -Sun Sep 20 13:18:36 CDT 1998 - - - diff --git a/lib/metis-4.0/Lib/Makefile b/lib/metis-4.0/Lib/Makefile deleted file mode 100755 index 9c1d74812..000000000 --- a/lib/metis-4.0/Lib/Makefile +++ /dev/null @@ -1,31 +0,0 @@ -include ../Makefile.in - -INCLUDES = -I. - -CFLAGS = $(COPTIONS) $(OPTFLAGS) $(INCLUDES) -LD = $(CC) -L. - - -OBJS = coarsen.o fm.o initpart.o match.o ccgraph.o memory.o \ - pmetis.o pqueue.o refine.o util.o timing.o debug.o \ - bucketsort.o graph.o stat.o kmetis.o kwayrefine.o \ - kwayfm.o balance.o ometis.o srefine.o sfm.o separator.o \ - mincover.o mmd.o mesh.o meshpart.o frename.o fortran.o \ - myqsort.o compress.o parmetis.o estmem.o \ - mpmetis.o mcoarsen.o mmatch.o minitpart.o mbalance.o \ - mrefine.o mutil.o mfm.o mkmetis.o mkwayrefine.o mkwayfmh.o \ - mrefine2.o minitpart2.o mbalance2.o mfm2.o \ - kvmetis.o kwayvolrefine.o kwayvolfm.o subdomains.o - -.c.o: - $(CC) $(CFLAGS) -c $*.c - -../libmetis.a: $(OBJS) - $(AR) $@ $(OBJS) - $(RANLIB) $@ - -clean: - rm -f *.o - -realclean: - rm -f *.o ; rm -f ../libmetis.a diff --git a/lib/metis-4.0/Lib/balance.c b/lib/metis-4.0/Lib/balance.c deleted file mode 100755 index 6641033ee..000000000 --- a/lib/metis-4.0/Lib/balance.c +++ /dev/null @@ -1,278 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * balance.c - * - * This file contains code that is used to forcefully balance either - * bisections or k-sections - * - * Started 7/29/97 - * George - * - * $Id: balance.c,v 1.1 1998/11/27 17:59:10 karypis Exp $ - * - */ - -#include - -/************************************************************************* -* This function is the entry point of the bisection balancing algorithms. -**************************************************************************/ -void Balance2Way(CtrlType *ctrl, GraphType *graph, int *tpwgts, float ubfactor) -{ - int i, j, nvtxs, from, imax, gain, mindiff; - idxtype *id, *ed; - - /* Return right away if the balance is OK */ - mindiff = abs(tpwgts[0]-graph->pwgts[0]); - if (mindiff < 3*(graph->pwgts[0]+graph->pwgts[1])/graph->nvtxs) - return; - if (graph->pwgts[0] > tpwgts[0] && graph->pwgts[0] < (int)(ubfactor*tpwgts[0])) - return; - if (graph->pwgts[1] > tpwgts[1] && graph->pwgts[1] < (int)(ubfactor*tpwgts[1])) - return; - - if (graph->nbnd > 0) - Bnd2WayBalance(ctrl, graph, tpwgts); - else - General2WayBalance(ctrl, graph, tpwgts); - -} - - - -/************************************************************************* -* This function balances two partitions by moving boundary nodes -* from the domain that is overweight to the one that is underweight. -**************************************************************************/ -void Bnd2WayBalance(CtrlType *ctrl, GraphType *graph, int *tpwgts) -{ - int i, ii, j, k, kwgt, nvtxs, nbnd, nswaps, from, to, pass, me, tmp; - idxtype *xadj, *vwgt, *adjncy, *adjwgt, *where, *id, *ed, *bndptr, *bndind, *pwgts; - idxtype *moved, *perm; - PQueueType parts; - int higain, oldgain, mincut, mindiff; - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - vwgt = graph->vwgt; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - where = graph->where; - id = graph->id; - ed = graph->ed; - pwgts = graph->pwgts; - bndptr = graph->bndptr; - bndind = graph->bndind; - - moved = idxwspacemalloc(ctrl, nvtxs); - perm = idxwspacemalloc(ctrl, nvtxs); - - /* Determine from which domain you will be moving data */ - mindiff = abs(tpwgts[0]-pwgts[0]); - from = (pwgts[0] < tpwgts[0] ? 1 : 0); - to = (from+1)%2; - - IFSET(ctrl->dbglvl, DBG_REFINE, - printf("Partitions: [%6d %6d] T[%6d %6d], Nv-Nb[%6d %6d]. ICut: %6d [B]\n", - pwgts[0], pwgts[1], tpwgts[0], tpwgts[1], graph->nvtxs, graph->nbnd, graph->mincut)); - - tmp = graph->adjwgtsum[idxamax(nvtxs, graph->adjwgtsum)]; - PQueueInit(ctrl, &parts, nvtxs, tmp); - - idxset(nvtxs, -1, moved); - - ASSERT(ComputeCut(graph, where) == graph->mincut); - ASSERT(CheckBnd(graph)); - - /* Insert the boundary nodes of the proper partition whose size is OK in the priority queue */ - nbnd = graph->nbnd; - RandomPermute(nbnd, perm, 1); - for (ii=0; ii 0 || id[bndind[i]] == 0); - ASSERT(bndptr[bndind[i]] != -1); - if (where[bndind[i]] == from && vwgt[bndind[i]] <= mindiff) - PQueueInsert(&parts, bndind[i], ed[bndind[i]]-id[bndind[i]]); - } - - mincut = graph->mincut; - for (nswaps=0; nswaps tpwgts[to]) - break; - - mincut -= (ed[higain]-id[higain]); - INC_DEC(pwgts[to], pwgts[from], vwgt[higain]); - - where[higain] = to; - moved[higain] = nswaps; - - IFSET(ctrl->dbglvl, DBG_MOVEINFO, - printf("Moved %6d from %d. [%3d %3d] %5d [%4d %4d]\n", higain, from, ed[higain]-id[higain], vwgt[higain], mincut, pwgts[0], pwgts[1])); - - /************************************************************** - * Update the id[i]/ed[i] values of the affected nodes - ***************************************************************/ - SWAP(id[higain], ed[higain], tmp); - if (ed[higain] == 0 && xadj[higain] < xadj[higain+1]) - BNDDelete(nbnd, bndind, bndptr, higain); - - for (j=xadj[higain]; j 0) { /* It will now become a boundary vertex */ - BNDInsert(nbnd, bndind, bndptr, k); - if (moved[k] == -1 && where[k] == from && vwgt[k] <= mindiff) - PQueueInsert(&parts, k, ed[k]-id[k]); - } - } - } - } - - IFSET(ctrl->dbglvl, DBG_REFINE, - printf("\tMinimum cut: %6d, PWGTS: [%6d %6d], NBND: %6d\n", mincut, pwgts[0], pwgts[1], nbnd)); - - graph->mincut = mincut; - graph->nbnd = nbnd; - - PQueueFree(ctrl, &parts); - - idxwspacefree(ctrl, nvtxs); - idxwspacefree(ctrl, nvtxs); -} - - -/************************************************************************* -* This function balances two partitions by moving the highest gain -* (including negative gain) vertices to the other domain. -* It is used only when tha unbalance is due to non contigous -* subdomains. That is, the are no boundary vertices. -* It moves vertices from the domain that is overweight to the one that -* is underweight. -**************************************************************************/ -void General2WayBalance(CtrlType *ctrl, GraphType *graph, int *tpwgts) -{ - int i, ii, j, k, kwgt, nvtxs, nbnd, nswaps, from, to, pass, me, tmp; - idxtype *xadj, *vwgt, *adjncy, *adjwgt, *where, *id, *ed, *bndptr, *bndind, *pwgts; - idxtype *moved, *perm; - PQueueType parts; - int higain, oldgain, mincut, mindiff; - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - vwgt = graph->vwgt; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - where = graph->where; - id = graph->id; - ed = graph->ed; - pwgts = graph->pwgts; - bndptr = graph->bndptr; - bndind = graph->bndind; - - moved = idxwspacemalloc(ctrl, nvtxs); - perm = idxwspacemalloc(ctrl, nvtxs); - - /* Determine from which domain you will be moving data */ - mindiff = abs(tpwgts[0]-pwgts[0]); - from = (pwgts[0] < tpwgts[0] ? 1 : 0); - to = (from+1)%2; - - IFSET(ctrl->dbglvl, DBG_REFINE, - printf("Partitions: [%6d %6d] T[%6d %6d], Nv-Nb[%6d %6d]. ICut: %6d [B]\n", - pwgts[0], pwgts[1], tpwgts[0], tpwgts[1], graph->nvtxs, graph->nbnd, graph->mincut)); - - tmp = graph->adjwgtsum[idxamax(nvtxs, graph->adjwgtsum)]; - PQueueInit(ctrl, &parts, nvtxs, tmp); - - idxset(nvtxs, -1, moved); - - ASSERT(ComputeCut(graph, where) == graph->mincut); - ASSERT(CheckBnd(graph)); - - /* Insert the nodes of the proper partition whose size is OK in the priority queue */ - RandomPermute(nvtxs, perm, 1); - for (ii=0; iimincut; - nbnd = graph->nbnd; - for (nswaps=0; nswaps tpwgts[to]) - break; - - mincut -= (ed[higain]-id[higain]); - INC_DEC(pwgts[to], pwgts[from], vwgt[higain]); - - where[higain] = to; - moved[higain] = nswaps; - - IFSET(ctrl->dbglvl, DBG_MOVEINFO, - printf("Moved %6d from %d. [%3d %3d] %5d [%4d %4d]\n", higain, from, ed[higain]-id[higain], vwgt[higain], mincut, pwgts[0], pwgts[1])); - - /************************************************************** - * Update the id[i]/ed[i] values of the affected nodes - ***************************************************************/ - SWAP(id[higain], ed[higain], tmp); - if (ed[higain] == 0 && bndptr[higain] != -1 && xadj[higain] < xadj[higain+1]) - BNDDelete(nbnd, bndind, bndptr, higain); - if (ed[higain] > 0 && bndptr[higain] == -1) - BNDInsert(nbnd, bndind, bndptr, higain); - - for (j=xadj[higain]; j 0 && bndptr[k] == -1) - BNDInsert(nbnd, bndind, bndptr, k); - } - } - - IFSET(ctrl->dbglvl, DBG_REFINE, - printf("\tMinimum cut: %6d, PWGTS: [%6d %6d], NBND: %6d\n", mincut, pwgts[0], pwgts[1], nbnd)); - - graph->mincut = mincut; - graph->nbnd = nbnd; - - PQueueFree(ctrl, &parts); - - idxwspacefree(ctrl, nvtxs); - idxwspacefree(ctrl, nvtxs); -} diff --git a/lib/metis-4.0/Lib/bucketsort.c b/lib/metis-4.0/Lib/bucketsort.c deleted file mode 100755 index 3b7e3dbb3..000000000 --- a/lib/metis-4.0/Lib/bucketsort.c +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * bucketsort.c - * - * This file contains code that implement a variety of counting sorting - * algorithms - * - * Started 7/25/97 - * George - * - * $Id: bucketsort.c,v 1.1 1998/11/27 17:59:11 karypis Exp $ - * - */ - -#include - - - -/************************************************************************* -* This function uses simple counting sort to return a permutation array -* corresponding to the sorted order. The keys are assumed to start from -* 0 and they are positive. This sorting is used during matching. -**************************************************************************/ -void BucketSortKeysInc(int n, int max, idxtype *keys, idxtype *tperm, idxtype *perm) -{ - int i, ii; - idxtype *counts; - - counts = idxsmalloc(max+2, 0, "BucketSortKeysInc: counts"); - - for (i=0; i - - - -/************************************************************************* -* This function creates the coarser graph -**************************************************************************/ -void CreateCoarseGraph(CtrlType *ctrl, GraphType *graph, int cnvtxs, idxtype *match, idxtype *perm) -{ - int i, j, jj, k, kk, l, m, istart, iend, nvtxs, nedges, ncon, cnedges, v, u, mask, dovsize; - idxtype *xadj, *vwgt, *vsize, *adjncy, *adjwgt, *adjwgtsum, *auxadj; - idxtype *cmap, *htable; - idxtype *cxadj, *cvwgt, *cvsize, *cadjncy, *cadjwgt, *cadjwgtsum; - float *nvwgt, *cnvwgt; - GraphType *cgraph; - - dovsize = (ctrl->optype == OP_KVMETIS ? 1 : 0); - - mask = HTLENGTH; - if (cnvtxs < 8*mask || graph->nedges/graph->nvtxs > 15) { - CreateCoarseGraphNoMask(ctrl, graph, cnvtxs, match, perm); - return; - } - - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->ContractTmr)); - - nvtxs = graph->nvtxs; - ncon = graph->ncon; - xadj = graph->xadj; - vwgt = graph->vwgt; - vsize = graph->vsize; - nvwgt = graph->nvwgt; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - adjwgtsum = graph->adjwgtsum; - cmap = graph->cmap; - - /* Initialize the coarser graph */ - cgraph = SetUpCoarseGraph(graph, cnvtxs, dovsize); - cxadj = cgraph->xadj; - cvwgt = cgraph->vwgt; - cvsize = cgraph->vsize; - cnvwgt = cgraph->nvwgt; - cadjwgtsum = cgraph->adjwgtsum; - cadjncy = cgraph->adjncy; - cadjwgt = cgraph->adjwgt; - - - iend = xadj[nvtxs]; - auxadj = ctrl->wspace.auxcore; - memcpy(auxadj, adjncy, iend*sizeof(idxtype)); - for (i=0; i= 0 && cadjncy[jj] != cnvtxs) { - for (jj=0; jj= 0 && cadjncy[jj] == cnvtxs) { /* This 2nd check is needed for non-adjacent matchings */ - cadjwgtsum[cnvtxs] -= cadjwgt[jj]; - cadjncy[jj] = cadjncy[--nedges]; - cadjwgt[jj] = cadjwgt[nedges]; - } - } - - ASSERTP(cadjwgtsum[cnvtxs] == idxsum(nedges, cadjwgt), ("%d %d %d %d %d\n", cnvtxs, cadjwgtsum[cnvtxs], idxsum(nedges, cadjwgt), adjwgtsum[u], adjwgtsum[v])); - - for (j=0; jnedges = cnedges; - - ReAdjustMemory(graph, cgraph, dovsize); - - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->ContractTmr)); - - idxwspacefree(ctrl, mask+1); - -} - - -/************************************************************************* -* This function creates the coarser graph -**************************************************************************/ -void CreateCoarseGraphNoMask(CtrlType *ctrl, GraphType *graph, int cnvtxs, idxtype *match, idxtype *perm) -{ - int i, j, k, m, istart, iend, nvtxs, nedges, ncon, cnedges, v, u, dovsize; - idxtype *xadj, *vwgt, *vsize, *adjncy, *adjwgt, *adjwgtsum, *auxadj; - idxtype *cmap, *htable; - idxtype *cxadj, *cvwgt, *cvsize, *cadjncy, *cadjwgt, *cadjwgtsum; - float *nvwgt, *cnvwgt; - GraphType *cgraph; - - dovsize = (ctrl->optype == OP_KVMETIS ? 1 : 0); - - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->ContractTmr)); - - nvtxs = graph->nvtxs; - ncon = graph->ncon; - xadj = graph->xadj; - vwgt = graph->vwgt; - vsize = graph->vsize; - nvwgt = graph->nvwgt; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - adjwgtsum = graph->adjwgtsum; - cmap = graph->cmap; - - - /* Initialize the coarser graph */ - cgraph = SetUpCoarseGraph(graph, cnvtxs, dovsize); - cxadj = cgraph->xadj; - cvwgt = cgraph->vwgt; - cvsize = cgraph->vsize; - cnvwgt = cgraph->nvwgt; - cadjwgtsum = cgraph->adjwgtsum; - cadjncy = cgraph->adjncy; - cadjwgt = cgraph->adjwgt; - - - htable = idxset(cnvtxs, -1, idxwspacemalloc(ctrl, cnvtxs)); - - iend = xadj[nvtxs]; - auxadj = ctrl->wspace.auxcore; - memcpy(auxadj, adjncy, iend*sizeof(idxtype)); - for (i=0; inedges = cnedges; - - ReAdjustMemory(graph, cgraph, dovsize); - - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->ContractTmr)); - - idxwspacefree(ctrl, cnvtxs); -} - - -/************************************************************************* -* This function creates the coarser graph -**************************************************************************/ -void CreateCoarseGraph_NVW(CtrlType *ctrl, GraphType *graph, int cnvtxs, idxtype *match, idxtype *perm) -{ - int i, j, jj, k, kk, l, m, istart, iend, nvtxs, nedges, ncon, cnedges, v, u, mask; - idxtype *xadj, *adjncy, *adjwgtsum, *auxadj; - idxtype *cmap, *htable; - idxtype *cxadj, *cvwgt, *cadjncy, *cadjwgt, *cadjwgtsum; - float *nvwgt, *cnvwgt; - GraphType *cgraph; - - - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->ContractTmr)); - - nvtxs = graph->nvtxs; - ncon = graph->ncon; - xadj = graph->xadj; - nvwgt = graph->nvwgt; - adjncy = graph->adjncy; - adjwgtsum = graph->adjwgtsum; - cmap = graph->cmap; - - /* Initialize the coarser graph */ - cgraph = SetUpCoarseGraph(graph, cnvtxs, 0); - cxadj = cgraph->xadj; - cvwgt = cgraph->vwgt; - cnvwgt = cgraph->nvwgt; - cadjwgtsum = cgraph->adjwgtsum; - cadjncy = cgraph->adjncy; - cadjwgt = cgraph->adjwgt; - - - iend = xadj[nvtxs]; - auxadj = ctrl->wspace.auxcore; - memcpy(auxadj, adjncy, iend*sizeof(idxtype)); - for (i=0; i= 0 && cadjncy[jj] != cnvtxs) { - for (jj=0; jj= 0 && cadjncy[jj] == cnvtxs) { /* This 2nd check is needed for non-adjacent matchings */ - cadjwgtsum[cnvtxs] -= cadjwgt[jj]; - cadjncy[jj] = cadjncy[--nedges]; - cadjwgt[jj] = cadjwgt[nedges]; - } - } - - ASSERTP(cadjwgtsum[cnvtxs] == idxsum(nedges, cadjwgt), ("%d %d %d %d %d\n", cnvtxs, cadjwgtsum[cnvtxs], idxsum(nedges, cadjwgt), adjwgtsum[u], adjwgtsum[v])); - - for (j=0; jnedges = cnedges; - - ReAdjustMemory(graph, cgraph, 0); - - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->ContractTmr)); - - idxwspacefree(ctrl, mask+1); - -} - - -/************************************************************************* -* Setup the various arrays for the coarse graph -**************************************************************************/ -GraphType *SetUpCoarseGraph(GraphType *graph, int cnvtxs, int dovsize) -{ - GraphType *cgraph; - - cgraph = CreateGraph(); - cgraph->nvtxs = cnvtxs; - cgraph->ncon = graph->ncon; - - cgraph->finer = graph; - graph->coarser = cgraph; - - - /* Allocate memory for the coarser graph */ - if (graph->ncon == 1) { - if (dovsize) { - cgraph->gdata = idxmalloc(5*cnvtxs+1 + 2*graph->nedges, "SetUpCoarseGraph: gdata"); - cgraph->xadj = cgraph->gdata; - cgraph->vwgt = cgraph->gdata + cnvtxs+1; - cgraph->vsize = cgraph->gdata + 2*cnvtxs+1; - cgraph->adjwgtsum = cgraph->gdata + 3*cnvtxs+1; - cgraph->cmap = cgraph->gdata + 4*cnvtxs+1; - cgraph->adjncy = cgraph->gdata + 5*cnvtxs+1; - cgraph->adjwgt = cgraph->gdata + 5*cnvtxs+1 + graph->nedges; - } - else { - cgraph->gdata = idxmalloc(4*cnvtxs+1 + 2*graph->nedges, "SetUpCoarseGraph: gdata"); - cgraph->xadj = cgraph->gdata; - cgraph->vwgt = cgraph->gdata + cnvtxs+1; - cgraph->adjwgtsum = cgraph->gdata + 2*cnvtxs+1; - cgraph->cmap = cgraph->gdata + 3*cnvtxs+1; - cgraph->adjncy = cgraph->gdata + 4*cnvtxs+1; - cgraph->adjwgt = cgraph->gdata + 4*cnvtxs+1 + graph->nedges; - } - } - else { - if (dovsize) { - cgraph->gdata = idxmalloc(4*cnvtxs+1 + 2*graph->nedges, "SetUpCoarseGraph: gdata"); - cgraph->xadj = cgraph->gdata; - cgraph->vsize = cgraph->gdata + cnvtxs+1; - cgraph->adjwgtsum = cgraph->gdata + 2*cnvtxs+1; - cgraph->cmap = cgraph->gdata + 3*cnvtxs+1; - cgraph->adjncy = cgraph->gdata + 4*cnvtxs+1; - cgraph->adjwgt = cgraph->gdata + 4*cnvtxs+1 + graph->nedges; - } - else { - cgraph->gdata = idxmalloc(3*cnvtxs+1 + 2*graph->nedges, "SetUpCoarseGraph: gdata"); - cgraph->xadj = cgraph->gdata; - cgraph->adjwgtsum = cgraph->gdata + cnvtxs+1; - cgraph->cmap = cgraph->gdata + 2*cnvtxs+1; - cgraph->adjncy = cgraph->gdata + 3*cnvtxs+1; - cgraph->adjwgt = cgraph->gdata + 3*cnvtxs+1 + graph->nedges; - } - - cgraph->nvwgt = fmalloc(graph->ncon*cnvtxs, "SetUpCoarseGraph: nvwgt"); - } - - return cgraph; -} - - -/************************************************************************* -* This function re-adjusts the amount of memory that was allocated if -* it will lead to significant savings -**************************************************************************/ -void ReAdjustMemory(GraphType *graph, GraphType *cgraph, int dovsize) -{ - - if (cgraph->nedges > 100000 && graph->nedges < 0.7*graph->nedges) { - idxcopy(cgraph->nedges, cgraph->adjwgt, cgraph->adjncy+cgraph->nedges); - - if (graph->ncon == 1) { - if (dovsize) { - cgraph->gdata = realloc(cgraph->gdata, (5*cgraph->nvtxs+1 + 2*cgraph->nedges)*sizeof(idxtype)); - - /* Do this, in case everything was copied into new space */ - cgraph->xadj = cgraph->gdata; - cgraph->vwgt = cgraph->gdata + cgraph->nvtxs+1; - cgraph->vsize = cgraph->gdata + 2*cgraph->nvtxs+1; - cgraph->adjwgtsum = cgraph->gdata + 3*cgraph->nvtxs+1; - cgraph->cmap = cgraph->gdata + 4*cgraph->nvtxs+1; - cgraph->adjncy = cgraph->gdata + 5*cgraph->nvtxs+1; - cgraph->adjwgt = cgraph->gdata + 5*cgraph->nvtxs+1 + cgraph->nedges; - } - else { - cgraph->gdata = realloc(cgraph->gdata, (4*cgraph->nvtxs+1 + 2*cgraph->nedges)*sizeof(idxtype)); - - /* Do this, in case everything was copied into new space */ - cgraph->xadj = cgraph->gdata; - cgraph->vwgt = cgraph->gdata + cgraph->nvtxs+1; - cgraph->adjwgtsum = cgraph->gdata + 2*cgraph->nvtxs+1; - cgraph->cmap = cgraph->gdata + 3*cgraph->nvtxs+1; - cgraph->adjncy = cgraph->gdata + 4*cgraph->nvtxs+1; - cgraph->adjwgt = cgraph->gdata + 4*cgraph->nvtxs+1 + cgraph->nedges; - } - } - else { - if (dovsize) { - cgraph->gdata = realloc(cgraph->gdata, (4*cgraph->nvtxs+1 + 2*cgraph->nedges)*sizeof(idxtype)); - - /* Do this, in case everything was copied into new space */ - cgraph->xadj = cgraph->gdata; - cgraph->vsize = cgraph->gdata + cgraph->nvtxs+1; - cgraph->adjwgtsum = cgraph->gdata + 2*cgraph->nvtxs+1; - cgraph->cmap = cgraph->gdata + 3*cgraph->nvtxs+1; - cgraph->adjncy = cgraph->gdata + 4*cgraph->nvtxs+1; - cgraph->adjwgt = cgraph->gdata + 4*cgraph->nvtxs+1 + cgraph->nedges; - } - else { - cgraph->gdata = realloc(cgraph->gdata, (3*cgraph->nvtxs+1 + 2*cgraph->nedges)*sizeof(idxtype)); - - /* Do this, in case everything was copied into new space */ - cgraph->xadj = cgraph->gdata; - cgraph->adjwgtsum = cgraph->gdata + cgraph->nvtxs+1; - cgraph->cmap = cgraph->gdata + 2*cgraph->nvtxs+1; - cgraph->adjncy = cgraph->gdata + 3*cgraph->nvtxs+1; - cgraph->adjwgt = cgraph->gdata + 3*cgraph->nvtxs+1 + cgraph->nedges; - } - } - } - -} diff --git a/lib/metis-4.0/Lib/coarsen.c b/lib/metis-4.0/Lib/coarsen.c deleted file mode 100755 index e52faac13..000000000 --- a/lib/metis-4.0/Lib/coarsen.c +++ /dev/null @@ -1,83 +0,0 @@ -/* - * coarsen.c - * - * This file contains the driving routines for the coarsening process - * - * Started 7/23/97 - * George - * - * $Id: coarsen.c,v 1.1 1998/11/27 17:59:12 karypis Exp $ - * - */ - -#include - - -/************************************************************************* -* This function takes a graph and creates a sequence of coarser graphs -**************************************************************************/ -GraphType *Coarsen2Way(CtrlType *ctrl, GraphType *graph) -{ - int clevel; - GraphType *cgraph; - - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->CoarsenTmr)); - - cgraph = graph; - - /* The following is ahack to allow the multiple bisections to go through with correct - coarsening */ - if (ctrl->CType > 20) { - clevel = 1; - ctrl->CType -= 20; - } - else - clevel = 0; - - do { - IFSET(ctrl->dbglvl, DBG_COARSEN, printf("%6d %7d [%d] [%d %d]\n", - cgraph->nvtxs, cgraph->nedges, ctrl->CoarsenTo, ctrl->maxvwgt, - (cgraph->vwgt ? idxsum(cgraph->nvtxs, cgraph->vwgt) : cgraph->nvtxs))); - - if (cgraph->adjwgt) { - switch (ctrl->CType) { - case MATCH_RM: - Match_RM(ctrl, cgraph); - break; - case MATCH_HEM: - if (clevel < 1) - Match_RM(ctrl, cgraph); - else - Match_HEM(ctrl, cgraph); - break; - case MATCH_SHEM: - if (clevel < 1) - Match_RM(ctrl, cgraph); - else - Match_SHEM(ctrl, cgraph); - break; - case MATCH_SHEMKWAY: - Match_SHEM(ctrl, cgraph); - break; - default: - errexit("Unknown CType: %d\n", ctrl->CType); - } - } - else { - Match_RM_NVW(ctrl, cgraph); - } - - cgraph = cgraph->coarser; - clevel++; - - } while (cgraph->nvtxs > ctrl->CoarsenTo && cgraph->nvtxs < COARSEN_FRACTION2*cgraph->finer->nvtxs && cgraph->nedges > cgraph->nvtxs/2); - - IFSET(ctrl->dbglvl, DBG_COARSEN, printf("%6d %7d [%d] [%d %d]\n", - cgraph->nvtxs, cgraph->nedges, ctrl->CoarsenTo, ctrl->maxvwgt, - (cgraph->vwgt ? idxsum(cgraph->nvtxs, cgraph->vwgt) : cgraph->nvtxs))); - - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->CoarsenTmr)); - - return cgraph; -} - diff --git a/lib/metis-4.0/Lib/compress.c b/lib/metis-4.0/Lib/compress.c deleted file mode 100755 index 26976e52b..000000000 --- a/lib/metis-4.0/Lib/compress.c +++ /dev/null @@ -1,256 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * compress.c - * - * This file contains code for compressing nodes with identical adjacency - * structure and for prunning dense columns - * - * Started 9/17/97 - * George - * - * $Id: compress.c,v 1.1 1998/11/27 17:59:12 karypis Exp $ - */ - -#include - -/************************************************************************* -* This function compresses a graph by merging identical vertices -* The compression should lead to at least 10% reduction. -**************************************************************************/ -void CompressGraph(CtrlType *ctrl, GraphType *graph, int nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *cptr, idxtype *cind) -{ - int i, ii, iii, j, jj, k, l, cnvtxs, cnedges; - idxtype *cxadj, *cadjncy, *cvwgt, *mark, *map; - KeyValueType *keys; - - mark = idxsmalloc(nvtxs, -1, "CompressGraph: mark"); - map = idxsmalloc(nvtxs, -1, "CompressGraph: map"); - keys = (KeyValueType *)GKmalloc(nvtxs*sizeof(KeyValueType), "CompressGraph: keys"); - - /* Compute a key for each adjacency list */ - for (i=0; i= COMPRESSION_FRACTION*nvtxs) { - graph->nvtxs = nvtxs; - graph->nedges = xadj[nvtxs]; - graph->ncon = 1; - graph->xadj = xadj; - graph->adjncy = adjncy; - - graph->gdata = idxmalloc(3*nvtxs+graph->nedges, "CompressGraph: gdata"); - graph->vwgt = graph->gdata; - graph->adjwgtsum = graph->gdata+nvtxs; - graph->cmap = graph->gdata+2*nvtxs; - graph->adjwgt = graph->gdata+3*nvtxs; - - idxset(nvtxs, 1, graph->vwgt); - idxset(graph->nedges, 1, graph->adjwgt); - for (i=0; iadjwgtsum[i] = xadj[i+1]-xadj[i]; - - graph->label = idxmalloc(nvtxs, "CompressGraph: label"); - for (i=0; ilabel[i] = i; - } - else { /* Ok, form the compressed graph */ - cnedges = 0; - for (i=0; igdata = idxmalloc(4*cnvtxs+1 + 2*cnedges, "CompressGraph: gdata"); - cxadj = graph->xadj = graph->gdata; - cvwgt = graph->vwgt = graph->gdata + cnvtxs+1; - graph->adjwgtsum = graph->gdata + 2*cnvtxs+1; - graph->cmap = graph->gdata + 3*cnvtxs+1; - cadjncy = graph->adjncy = graph->gdata + 4*cnvtxs+1; - graph->adjwgt = graph->gdata + 4*cnvtxs+1 + cnedges; - - /* Now go and compress the graph */ - idxset(nvtxs, -1, mark); - l = cxadj[0] = 0; - for (i=0; invtxs = cnvtxs; - graph->nedges = l; - graph->ncon = 1; - - idxset(graph->nedges, 1, graph->adjwgt); - for (i=0; iadjwgtsum[i] = cxadj[i+1]-cxadj[i]; - - graph->label = idxmalloc(cnvtxs, "CompressGraph: label"); - for (i=0; ilabel[i] = i; - - } - - GKfree(&keys, &map, &mark, LTERM); -} - - - -/************************************************************************* -* This function prunes all the vertices in a graph with degree greater -* than factor*average -**************************************************************************/ -void PruneGraph(CtrlType *ctrl, GraphType *graph, int nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *iperm, float factor) -{ - int i, j, k, l, nlarge, pnvtxs, pnedges; - idxtype *pxadj, *padjncy, *padjwgt, *pvwgt; - idxtype *perm; - - perm = idxmalloc(nvtxs, "PruneGraph: perm"); - - factor = factor*xadj[nvtxs]/nvtxs; - - pnvtxs = pnedges = nlarge = 0; - for (i=0; invtxs = nvtxs; - graph->nedges = xadj[nvtxs]; - graph->ncon = 1; - graph->xadj = xadj; - graph->adjncy = adjncy; - - graph->gdata = idxmalloc(3*nvtxs+graph->nedges, "CompressGraph: gdata"); - graph->vwgt = graph->gdata; - graph->adjwgtsum = graph->gdata+nvtxs; - graph->cmap = graph->gdata+2*nvtxs; - graph->adjwgt = graph->gdata+3*nvtxs; - - idxset(nvtxs, 1, graph->vwgt); - idxset(graph->nedges, 1, graph->adjwgt); - for (i=0; iadjwgtsum[i] = xadj[i+1]-xadj[i]; - - graph->label = idxmalloc(nvtxs, "CompressGraph: label"); - for (i=0; ilabel[i] = i; - } - else { /* Prune the graph */ - /* Allocate memory for the compressed graph*/ - graph->gdata = idxmalloc(4*pnvtxs+1 + 2*pnedges, "PruneGraph: gdata"); - pxadj = graph->xadj = graph->gdata; - graph->vwgt = graph->gdata + pnvtxs+1; - graph->adjwgtsum = graph->gdata + 2*pnvtxs+1; - graph->cmap = graph->gdata + 3*pnvtxs+1; - padjncy = graph->adjncy = graph->gdata + 4*pnvtxs+1; - graph->adjwgt = graph->gdata + 4*pnvtxs+1 + pnedges; - - pxadj[0] = pnedges = l = 0; - for (i=0; invtxs = pnvtxs; - graph->nedges = pnedges; - graph->ncon = 1; - - idxset(pnvtxs, 1, graph->vwgt); - idxset(pnedges, 1, graph->adjwgt); - for (i=0; iadjwgtsum[i] = pxadj[i+1]-pxadj[i]; - - graph->label = idxmalloc(pnvtxs, "CompressGraph: label"); - for (i=0; ilabel[i] = i; - } - - free(perm); - -} - - - - - - - - - diff --git a/lib/metis-4.0/Lib/debug.c b/lib/metis-4.0/Lib/debug.c deleted file mode 100755 index e7cd9036e..000000000 --- a/lib/metis-4.0/Lib/debug.c +++ /dev/null @@ -1,239 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * debug.c - * - * This file contains code that performs self debuging - * - * Started 7/24/97 - * George - * - * $Id: debug.c,v 1.1 1998/11/27 17:59:13 karypis Exp $ - * - */ - -#include - -/************************************************************************* -* This function computes the cut given the graph and a where vector -**************************************************************************/ -int ComputeCut(GraphType *graph, idxtype *where) -{ - int i, j, cut; - - if (graph->adjwgt == NULL) { - for (cut=0, i=0; invtxs; i++) { - for (j=graph->xadj[i]; jxadj[i+1]; j++) - if (where[i] != where[graph->adjncy[j]]) - cut++; - } - } - else { - for (cut=0, i=0; invtxs; i++) { - for (j=graph->xadj[i]; jxadj[i+1]; j++) - if (where[i] != where[graph->adjncy[j]]) - cut += graph->adjwgt[j]; - } - } - - return cut/2; -} - - -/************************************************************************* -* This function checks whether or not the boundary information is correct -**************************************************************************/ -int CheckBnd(GraphType *graph) -{ - int i, j, nvtxs, nbnd; - idxtype *xadj, *adjncy, *where, *bndptr, *bndind; - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - adjncy = graph->adjncy; - where = graph->where; - bndptr = graph->bndptr; - bndind = graph->bndind; - - for (nbnd=0, i=0; inbnd, ("%d %d\n", nbnd, graph->nbnd)); - - return 1; -} - - - -/************************************************************************* -* This function checks whether or not the boundary information is correct -**************************************************************************/ -int CheckBnd2(GraphType *graph) -{ - int i, j, nvtxs, nbnd, id, ed; - idxtype *xadj, *adjncy, *where, *bndptr, *bndind; - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - adjncy = graph->adjncy; - where = graph->where; - bndptr = graph->bndptr; - bndind = graph->bndind; - - for (nbnd=0, i=0; iadjwgt[j]; - else - id += graph->adjwgt[j]; - } - if (ed - id >= 0 && xadj[i] < xadj[i+1]) { - nbnd++; - ASSERTP(bndptr[i] != -1, ("%d %d %d\n", i, id, ed)); - ASSERT(bndind[bndptr[i]] == i); - } - } - - ASSERTP(nbnd == graph->nbnd, ("%d %d\n", nbnd, graph->nbnd)); - - return 1; -} - -/************************************************************************* -* This function checks whether or not the boundary information is correct -**************************************************************************/ -int CheckNodeBnd(GraphType *graph, int onbnd) -{ - int i, j, nvtxs, nbnd; - idxtype *xadj, *adjncy, *where, *bndptr, *bndind; - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - adjncy = graph->adjncy; - where = graph->where; - bndptr = graph->bndptr; - bndind = graph->bndind; - - for (nbnd=0, i=0; indegrees; i++) { - for (j=i+1; jndegrees; j++) - ASSERTP(rinfo->edegrees[i].pid != rinfo->edegrees[j].pid, ("%d %d %d %d\n", i, j, rinfo->edegrees[i].pid, rinfo->edegrees[j].pid)); - } - - return 1; -} - - - -/************************************************************************* -* This function checks the correctness of the NodeFM data structures -**************************************************************************/ -int CheckNodePartitionParams(GraphType *graph) -{ - int i, j, k, l, nvtxs, me, other; - idxtype *xadj, *adjncy, *adjwgt, *vwgt, *where; - idxtype edegrees[2], pwgts[3]; - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - vwgt = graph->vwgt; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - - where = graph->where; - - /*------------------------------------------------------------ - / Compute now the separator external degrees - /------------------------------------------------------------*/ - pwgts[0] = pwgts[1] = pwgts[2] = 0; - for (i=0; inrinfo[i].edegrees[0] || edegrees[1] != graph->nrinfo[i].edegrees[1]) { - printf("Something wrong with edegrees: %d %d %d %d %d\n", i, edegrees[0], edegrees[1], graph->nrinfo[i].edegrees[0], graph->nrinfo[i].edegrees[1]); - return 0; - } - } - } - - if (pwgts[0] != graph->pwgts[0] || pwgts[1] != graph->pwgts[1] || pwgts[2] != graph->pwgts[2]) - printf("Something wrong with part-weights: %d %d %d %d %d %d\n", pwgts[0], pwgts[1], pwgts[2], graph->pwgts[0], graph->pwgts[1], graph->pwgts[2]); - - return 1; -} - - -/************************************************************************* -* This function checks if the separator is indeed a separator -**************************************************************************/ -int IsSeparable(GraphType *graph) -{ - int i, j, nvtxs, other; - idxtype *xadj, *adjncy, *where; - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - adjncy = graph->adjncy; - where = graph->where; - - for (i=0; i - -/************************************************************************* -* This function computes how much memory will be required by the various -* routines in METIS -**************************************************************************/ -void METIS_EstimateMemory(int *nvtxs, idxtype *xadj, idxtype *adjncy, int *numflag, int *optype, int *nbytes) -{ - int i, j, k, nedges, nlevels; - float vfraction, efraction, vmult, emult; - int coresize, gdata, rdata; - - if (*numflag == 1) - Change2CNumbering(*nvtxs, xadj, adjncy); - - nedges = xadj[*nvtxs]; - - InitRandom(-1); - EstimateCFraction(*nvtxs, xadj, adjncy, &vfraction, &efraction); - - /* Estimate the amount of memory for coresize */ - if (*optype == 2) - coresize = nedges; - else - coresize = 0; - coresize += nedges + 11*(*nvtxs) + 4*1024 + 2*(NEG_GAINSPAN+PLUS_GAINSPAN+1)*(sizeof(ListNodeType *)/sizeof(idxtype)); - coresize += 2*(*nvtxs); /* add some more fore other vectors */ - - gdata = nedges; /* Assume that the user does not pass weights */ - - nlevels = (int)(log(100.0/(*nvtxs))/log(vfraction) + .5); - vmult = 0.5 + (1.0 - pow(vfraction, nlevels))/(1.0 - vfraction); - emult = 1.0 + (1.0 - pow(efraction, nlevels+1))/(1.0 - efraction); - - gdata += vmult*4*(*nvtxs) + emult*2*nedges; - if ((vmult-1.0)*4*(*nvtxs) + (emult-1.0)*2*nedges < 5*(*nvtxs)) - rdata = 0; - else - rdata = 5*(*nvtxs); - - *nbytes = sizeof(idxtype)*(coresize+gdata+rdata+(*nvtxs)); - - if (*numflag == 1) - Change2FNumbering2(*nvtxs, xadj, adjncy); -} - - -/************************************************************************* -* This function finds a matching using the HEM heuristic -**************************************************************************/ -void EstimateCFraction(int nvtxs, idxtype *xadj, idxtype *adjncy, float *vfraction, float *efraction) -{ - int i, ii, j, cnvtxs, cnedges, maxidx; - idxtype *match, *cmap, *perm; - - cmap = idxmalloc(nvtxs, "cmap"); - match = idxsmalloc(nvtxs, UNMATCHED, "match"); - perm = idxmalloc(nvtxs, "perm"); - RandomPermute(nvtxs, perm, 1); - - cnvtxs = 0; - for (ii=0; ii - - -/************************************************************************* -* This function performs an edge-based FM refinement -**************************************************************************/ -void FM_2WayEdgeRefine(CtrlType *ctrl, GraphType *graph, int *tpwgts, int npasses) -{ - int i, ii, j, k, kwgt, nvtxs, nbnd, nswaps, from, to, pass, me, limit, tmp; - idxtype *xadj, *vwgt, *adjncy, *adjwgt, *where, *id, *ed, *bndptr, *bndind, *pwgts; - idxtype *moved, *swaps, *perm; - PQueueType parts[2]; - int higain, oldgain, mincut, mindiff, origdiff, initcut, newcut, mincutorder, avgvwgt; - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - vwgt = graph->vwgt; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - where = graph->where; - id = graph->id; - ed = graph->ed; - pwgts = graph->pwgts; - bndptr = graph->bndptr; - bndind = graph->bndind; - - moved = idxwspacemalloc(ctrl, nvtxs); - swaps = idxwspacemalloc(ctrl, nvtxs); - perm = idxwspacemalloc(ctrl, nvtxs); - - limit = amin(amax(0.01*nvtxs, 15), 100); - avgvwgt = amin((pwgts[0]+pwgts[1])/20, 2*(pwgts[0]+pwgts[1])/nvtxs); - - tmp = graph->adjwgtsum[idxamax(nvtxs, graph->adjwgtsum)]; - PQueueInit(ctrl, &parts[0], nvtxs, tmp); - PQueueInit(ctrl, &parts[1], nvtxs, tmp); - - IFSET(ctrl->dbglvl, DBG_REFINE, - printf("Partitions: [%6d %6d] T[%6d %6d], Nv-Nb[%6d %6d]. ICut: %6d\n", - pwgts[0], pwgts[1], tpwgts[0], tpwgts[1], graph->nvtxs, graph->nbnd, graph->mincut)); - - origdiff = abs(tpwgts[0]-pwgts[0]); - idxset(nvtxs, -1, moved); - for (pass=0; passmincut; - mindiff = abs(tpwgts[0]-pwgts[0]); - - ASSERT(ComputeCut(graph, where) == graph->mincut); - ASSERT(CheckBnd(graph)); - - /* Insert boundary nodes in the priority queues */ - nbnd = graph->nbnd; - RandomPermute(nbnd, perm, 1); - for (ii=0; ii 0 || id[bndind[i]] == 0); - ASSERT(bndptr[bndind[i]] != -1); - PQueueInsert(&parts[where[bndind[i]]], bndind[i], ed[bndind[i]]-id[bndind[i]]); - } - - for (nswaps=0; nswaps limit) { /* We hit the limit, undo last move */ - newcut += (ed[higain]-id[higain]); - INC_DEC(pwgts[from], pwgts[to], vwgt[higain]); - break; - } - - where[higain] = to; - moved[higain] = nswaps; - swaps[nswaps] = higain; - - IFSET(ctrl->dbglvl, DBG_MOVEINFO, - printf("Moved %6d from %d. [%3d %3d] %5d [%4d %4d]\n", higain, from, ed[higain]-id[higain], vwgt[higain], newcut, pwgts[0], pwgts[1])); - - /************************************************************** - * Update the id[i]/ed[i] values of the affected nodes - ***************************************************************/ - SWAP(id[higain], ed[higain], tmp); - if (ed[higain] == 0 && xadj[higain] < xadj[higain+1]) - BNDDelete(nbnd, bndind, bndptr, higain); - - for (j=xadj[higain]; j 0) { /* It will now become a boundary vertex */ - BNDInsert(nbnd, bndind, bndptr, k); - if (moved[k] == -1) - PQueueInsert(&parts[where[k]], k, ed[k]-id[k]); - } - } - } - - } - - - /**************************************************************** - * Roll back computations - *****************************************************************/ - for (i=0; imincutorder; nswaps--) { - higain = swaps[nswaps]; - - to = where[higain] = (where[higain]+1)%2; - SWAP(id[higain], ed[higain], tmp); - if (ed[higain] == 0 && bndptr[higain] != -1 && xadj[higain] < xadj[higain+1]) - BNDDelete(nbnd, bndind, bndptr, higain); - else if (ed[higain] > 0 && bndptr[higain] == -1) - BNDInsert(nbnd, bndind, bndptr, higain); - - INC_DEC(pwgts[to], pwgts[(to+1)%2], vwgt[higain]); - for (j=xadj[higain]; j 0) - BNDInsert(nbnd, bndind, bndptr, k); - } - } - - IFSET(ctrl->dbglvl, DBG_REFINE, - printf("\tMinimum cut: %6d at %5d, PWGTS: [%6d %6d], NBND: %6d\n", mincut, mincutorder, pwgts[0], pwgts[1], nbnd)); - - graph->mincut = mincut; - graph->nbnd = nbnd; - - if (mincutorder == -1 || mincut == initcut) - break; - } - - PQueueFree(ctrl, &parts[0]); - PQueueFree(ctrl, &parts[1]); - - idxwspacefree(ctrl, nvtxs); - idxwspacefree(ctrl, nvtxs); - idxwspacefree(ctrl, nvtxs); - -} - - diff --git a/lib/metis-4.0/Lib/fortran.c b/lib/metis-4.0/Lib/fortran.c deleted file mode 100755 index 5b88b27d6..000000000 --- a/lib/metis-4.0/Lib/fortran.c +++ /dev/null @@ -1,141 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * fortran.c - * - * This file contains code for the fortran to C interface - * - * Started 8/19/97 - * George - * - * $Id: fortran.c,v 1.1 1998/11/27 17:59:14 karypis Exp $ - * - */ - -#include - - -/************************************************************************* -* This function changes the numbering to start from 0 instead of 1 -**************************************************************************/ -void Change2CNumbering(int nvtxs, idxtype *xadj, idxtype *adjncy) -{ - int i, nedges; - - for (i=0; i<=nvtxs; i++) - xadj[i]--; - - nedges = xadj[nvtxs]; - for (i=0; i - - -void METIS_PARTGRAPHRECURSIVE(int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, int *options, int *edgecut, idxtype *part) -{ - METIS_PartGraphRecursive(nvtxs, xadj, adjncy, vwgt, adjwgt, wgtflag, numflag, nparts, options, edgecut, part); -} -void metis_partgraphrecursive(int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, int *options, int *edgecut, idxtype *part) -{ - METIS_PartGraphRecursive(nvtxs, xadj, adjncy, vwgt, adjwgt, wgtflag, numflag, nparts, options, edgecut, part); -} -void metis_partgraphrecursive_(int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, int *options, int *edgecut, idxtype *part) -{ - METIS_PartGraphRecursive(nvtxs, xadj, adjncy, vwgt, adjwgt, wgtflag, numflag, nparts, options, edgecut, part); -} -void metis_partgraphrecursive__(int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, int *options, int *edgecut, idxtype *part) -{ - METIS_PartGraphRecursive(nvtxs, xadj, adjncy, vwgt, adjwgt, wgtflag, numflag, nparts, options, edgecut, part); -} - - -void METIS_WPARTGRAPHRECURSIVE(int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, float *tpwgts, int *options, int *edgecut, idxtype *part) -{ - METIS_WPartGraphRecursive(nvtxs, xadj, adjncy, vwgt, adjwgt, wgtflag, numflag, nparts, tpwgts, options, edgecut, part); -} -void metis_wpartgraphrecursive(int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, float *tpwgts, int *options, int *edgecut, idxtype *part) -{ - METIS_WPartGraphRecursive(nvtxs, xadj, adjncy, vwgt, adjwgt, wgtflag, numflag, nparts, tpwgts, options, edgecut, part); -} -void metis_wpartgraphrecursive_(int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, float *tpwgts, int *options, int *edgecut, idxtype *part) -{ - METIS_WPartGraphRecursive(nvtxs, xadj, adjncy, vwgt, adjwgt, wgtflag, numflag, nparts, tpwgts, options, edgecut, part); -} -void metis_wpartgraphrecursive__(int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, float *tpwgts, int *options, int *edgecut, idxtype *part) -{ - METIS_WPartGraphRecursive(nvtxs, xadj, adjncy, vwgt, adjwgt, wgtflag, numflag, nparts, tpwgts, options, edgecut, part); -} - - - -void METIS_PARTGRAPHKWAY(int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, int *options, int *edgecut, idxtype *part) -{ - METIS_PartGraphKway(nvtxs, xadj, adjncy, vwgt, adjwgt, wgtflag, numflag, nparts, options, edgecut, part); -} -void metis_partgraphkway(int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, int *options, int *edgecut, idxtype *part) -{ - METIS_PartGraphKway(nvtxs, xadj, adjncy, vwgt, adjwgt, wgtflag, numflag, nparts, options, edgecut, part); -} -void metis_partgraphkway_(int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, int *options, int *edgecut, idxtype *part) -{ - METIS_PartGraphKway(nvtxs, xadj, adjncy, vwgt, adjwgt, wgtflag, numflag, nparts, options, edgecut, part); -} -void metis_partgraphkway__(int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, int *options, int *edgecut, idxtype *part) -{ - METIS_PartGraphKway(nvtxs, xadj, adjncy, vwgt, adjwgt, wgtflag, numflag, nparts, options, edgecut, part); -} - - - -void METIS_WPARTGRAPHKWAY(int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, float *tpwgts, int *options, int *edgecut, idxtype *part) -{ - METIS_WPartGraphKway(nvtxs, xadj, adjncy, vwgt, adjwgt, wgtflag, numflag, nparts, tpwgts, options, edgecut, part); -} -void metis_wpartgraphkway(int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, float *tpwgts, int *options, int *edgecut, idxtype *part) -{ - METIS_WPartGraphKway(nvtxs, xadj, adjncy, vwgt, adjwgt, wgtflag, numflag, nparts, tpwgts, options, edgecut, part); -} -void metis_wpartgraphkway_(int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, float *tpwgts, int *options, int *edgecut, idxtype *part) -{ - METIS_WPartGraphKway(nvtxs, xadj, adjncy, vwgt, adjwgt, wgtflag, numflag, nparts, tpwgts, options, edgecut, part); -} -void metis_wpartgraphkway__(int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, float *tpwgts, int *options, int *edgecut, idxtype *part) -{ - METIS_WPartGraphKway(nvtxs, xadj, adjncy, vwgt, adjwgt, wgtflag, numflag, nparts, tpwgts, options, edgecut, part); -} - - - -void METIS_EDGEND(int *nvtxs, idxtype *xadj, idxtype *adjncy, int *numflag, int *options, idxtype *perm, idxtype *iperm) -{ - METIS_EdgeND(nvtxs, xadj, adjncy, numflag, options, perm, iperm); -} -void metis_edgend(int *nvtxs, idxtype *xadj, idxtype *adjncy, int *numflag, int *options, idxtype *perm, idxtype *iperm) -{ - METIS_EdgeND(nvtxs, xadj, adjncy, numflag, options, perm, iperm); -} -void metis_edgend_(int *nvtxs, idxtype *xadj, idxtype *adjncy, int *numflag, int *options, idxtype *perm, idxtype *iperm) -{ - METIS_EdgeND(nvtxs, xadj, adjncy, numflag, options, perm, iperm); -} -void metis_edgend__(int *nvtxs, idxtype *xadj, idxtype *adjncy, int *numflag, int *options, idxtype *perm, idxtype *iperm) -{ - METIS_EdgeND(nvtxs, xadj, adjncy, numflag, options, perm, iperm); -} - - - -void METIS_NODEND(int *nvtxs, idxtype *xadj, idxtype *adjncy, int *numflag, int *options, idxtype *perm, idxtype *iperm) -{ - METIS_NodeND(nvtxs, xadj, adjncy, numflag, options, perm, iperm); -} -void metis_nodend(int *nvtxs, idxtype *xadj, idxtype *adjncy, int *numflag, int *options, idxtype *perm, idxtype *iperm) -{ - METIS_NodeND(nvtxs, xadj, adjncy, numflag, options, perm, iperm); -} -void metis_nodend_(int *nvtxs, idxtype *xadj, idxtype *adjncy, int *numflag, int *options, idxtype *perm, idxtype *iperm) -{ - METIS_NodeND(nvtxs, xadj, adjncy, numflag, options, perm, iperm); -} -void metis_nodend__(int *nvtxs, idxtype *xadj, idxtype *adjncy, int *numflag, int *options, idxtype *perm, idxtype *iperm) -{ - METIS_NodeND(nvtxs, xadj, adjncy, numflag, options, perm, iperm); -} - - - -void METIS_NODEWND(int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, int *numflag, int *options, idxtype *perm, idxtype *iperm) -{ - METIS_NodeWND(nvtxs, xadj, adjncy, vwgt, numflag, options, perm, iperm); -} -void metis_nodewnd(int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, int *numflag, int *options, idxtype *perm, idxtype *iperm) -{ - METIS_NodeWND(nvtxs, xadj, adjncy, vwgt, numflag, options, perm, iperm); -} -void metis_nodewnd_(int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, int *numflag, int *options, idxtype *perm, idxtype *iperm) -{ - METIS_NodeWND(nvtxs, xadj, adjncy, vwgt, numflag, options, perm, iperm); -} -void metis_nodewnd__(int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, int *numflag, int *options, idxtype *perm, idxtype *iperm) -{ - METIS_NodeWND(nvtxs, xadj, adjncy, vwgt, numflag, options, perm, iperm); -} - - - -void METIS_PARTMESHNODAL(int *ne, int *nn, idxtype *elmnts, int *etype, int *numflag, int *nparts, int *edgecut, idxtype *epart, idxtype *npart) -{ - METIS_PartMeshNodal(ne, nn, elmnts, etype, numflag, nparts, edgecut, epart, npart); -} -void metis_partmeshnodal(int *ne, int *nn, idxtype *elmnts, int *etype, int *numflag, int *nparts, int *edgecut, idxtype *epart, idxtype *npart) -{ - METIS_PartMeshNodal(ne, nn, elmnts, etype, numflag, nparts, edgecut, epart, npart); -} -void metis_partmeshnodal_(int *ne, int *nn, idxtype *elmnts, int *etype, int *numflag, int *nparts, int *edgecut, idxtype *epart, idxtype *npart) -{ - METIS_PartMeshNodal(ne, nn, elmnts, etype, numflag, nparts, edgecut, epart, npart); -} -void metis_partmeshnodal__(int *ne, int *nn, idxtype *elmnts, int *etype, int *numflag, int *nparts, int *edgecut, idxtype *epart, idxtype *npart) -{ - METIS_PartMeshNodal(ne, nn, elmnts, etype, numflag, nparts, edgecut, epart, npart); -} - - -void METIS_PARTMESHDUAL(int *ne, int *nn, idxtype *elmnts, int *etype, int *numflag, int *nparts, int *edgecut, idxtype *epart, idxtype *npart) -{ - METIS_PartMeshDual(ne, nn, elmnts, etype, numflag, nparts, edgecut, epart, npart); -} -void metis_partmeshdual(int *ne, int *nn, idxtype *elmnts, int *etype, int *numflag, int *nparts, int *edgecut, idxtype *epart, idxtype *npart) -{ - METIS_PartMeshDual(ne, nn, elmnts, etype, numflag, nparts, edgecut, epart, npart); -} -void metis_partmeshdual_(int *ne, int *nn, idxtype *elmnts, int *etype, int *numflag, int *nparts, int *edgecut, idxtype *epart, idxtype *npart) -{ - METIS_PartMeshDual(ne, nn, elmnts, etype, numflag, nparts, edgecut, epart, npart); -} -void metis_partmeshdual__(int *ne, int *nn, idxtype *elmnts, int *etype, int *numflag, int *nparts, int *edgecut, idxtype *epart, idxtype *npart) -{ - METIS_PartMeshDual(ne, nn, elmnts, etype, numflag, nparts, edgecut, epart, npart); -} - - -void METIS_MESHTONODAL(int *ne, int *nn, idxtype *elmnts, int *etype, int *numflag, idxtype *dxadj, idxtype *dadjncy) -{ - METIS_MeshToNodal(ne, nn, elmnts, etype, numflag, dxadj, dadjncy); -} -void metis_meshtonodal(int *ne, int *nn, idxtype *elmnts, int *etype, int *numflag, idxtype *dxadj, idxtype *dadjncy) -{ - METIS_MeshToNodal(ne, nn, elmnts, etype, numflag, dxadj, dadjncy); -} -void metis_meshtonodal_(int *ne, int *nn, idxtype *elmnts, int *etype, int *numflag, idxtype *dxadj, idxtype *dadjncy) -{ - METIS_MeshToNodal(ne, nn, elmnts, etype, numflag, dxadj, dadjncy); -} -void metis_meshtonodal__(int *ne, int *nn, idxtype *elmnts, int *etype, int *numflag, idxtype *dxadj, idxtype *dadjncy) -{ - METIS_MeshToNodal(ne, nn, elmnts, etype, numflag, dxadj, dadjncy); -} - - -void METIS_MESHTODUAL(int *ne, int *nn, idxtype *elmnts, int *etype, int *numflag, idxtype *dxadj, idxtype *dadjncy) -{ - METIS_MeshToDual(ne, nn, elmnts, etype, numflag, dxadj, dadjncy); -} -void metis_meshtodual(int *ne, int *nn, idxtype *elmnts, int *etype, int *numflag, idxtype *dxadj, idxtype *dadjncy) -{ - METIS_MeshToDual(ne, nn, elmnts, etype, numflag, dxadj, dadjncy); -} -void metis_meshtodual_(int *ne, int *nn, idxtype *elmnts, int *etype, int *numflag, idxtype *dxadj, idxtype *dadjncy) -{ - METIS_MeshToDual(ne, nn, elmnts, etype, numflag, dxadj, dadjncy); -} -void metis_meshtodual__(int *ne, int *nn, idxtype *elmnts, int *etype, int *numflag, idxtype *dxadj, idxtype *dadjncy) -{ - METIS_MeshToDual(ne, nn, elmnts, etype, numflag, dxadj, dadjncy); -} - - -void METIS_ESTIMATEMEMORY(int *nvtxs, idxtype *xadj, idxtype *adjncy, int *numflag, int *optype, int *nbytes) -{ - METIS_EstimateMemory(nvtxs, xadj, adjncy, numflag, optype, nbytes); -} -void metis_estimatememory(int *nvtxs, idxtype *xadj, idxtype *adjncy, int *numflag, int *optype, int *nbytes) -{ - METIS_EstimateMemory(nvtxs, xadj, adjncy, numflag, optype, nbytes); -} -void metis_estimatememory_(int *nvtxs, idxtype *xadj, idxtype *adjncy, int *numflag, int *optype, int *nbytes) -{ - METIS_EstimateMemory(nvtxs, xadj, adjncy, numflag, optype, nbytes); -} -void metis_estimatememory__(int *nvtxs, idxtype *xadj, idxtype *adjncy, int *numflag, int *optype, int *nbytes) -{ - METIS_EstimateMemory(nvtxs, xadj, adjncy, numflag, optype, nbytes); -} - - - -void METIS_MCPARTGRAPHRECURSIVE(int *nvtxs, int *ncon, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, int *options, int *edgecut, idxtype *part) -{ - METIS_mCPartGraphRecursive(nvtxs, ncon, xadj, adjncy, vwgt, adjwgt, wgtflag, numflag, nparts, options, edgecut, part); -} -void metis_mcpartgraphrecursive(int *nvtxs, int *ncon, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, int *options, int *edgecut, idxtype *part) -{ - METIS_mCPartGraphRecursive(nvtxs, ncon, xadj, adjncy, vwgt, adjwgt, wgtflag, numflag, nparts, options, edgecut, part); -} -void metis_mcpartgraphrecursive_(int *nvtxs, int *ncon, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, int *options, int *edgecut, idxtype *part) -{ - METIS_mCPartGraphRecursive(nvtxs, ncon, xadj, adjncy, vwgt, adjwgt, wgtflag, numflag, nparts, options, edgecut, part); -} -void metis_mcpartgraphrecursive__(int *nvtxs, int *ncon, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, int *options, int *edgecut, idxtype *part) -{ - METIS_mCPartGraphRecursive(nvtxs, ncon, xadj, adjncy, vwgt, adjwgt, wgtflag, numflag, nparts, options, edgecut, part); -} - - -void METIS_MCPARTGRAPHKWAY(int *nvtxs, int *ncon, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, float *rubvec, int *options, int *edgecut, idxtype *part) -{ - METIS_mCPartGraphKway(nvtxs, ncon, xadj, adjncy, vwgt, adjwgt, wgtflag, numflag, nparts, rubvec, options, edgecut, part); -} -void metis_mcpartgraphkway(int *nvtxs, int *ncon, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, float *rubvec, int *options, int *edgecut, idxtype *part) -{ - METIS_mCPartGraphKway(nvtxs, ncon, xadj, adjncy, vwgt, adjwgt, wgtflag, numflag, nparts, rubvec, options, edgecut, part); -} -void metis_mcpartgraphkway_(int *nvtxs, int *ncon, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, float *rubvec, int *options, int *edgecut, idxtype *part) -{ - METIS_mCPartGraphKway(nvtxs, ncon, xadj, adjncy, vwgt, adjwgt, wgtflag, numflag, nparts, rubvec, options, edgecut, part); -} -void metis_mcpartgraphkway__(int *nvtxs, int *ncon, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, float *rubvec, int *options, int *edgecut, idxtype *part) -{ - METIS_mCPartGraphKway(nvtxs, ncon, xadj, adjncy, vwgt, adjwgt, wgtflag, numflag, nparts, rubvec, options, edgecut, part); -} - - -void METIS_PARTGRAPHVKWAY(int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *vsize, int *wgtflag, int *numflag, int *nparts, int *options, int *volume, idxtype *part) -{ - METIS_PartGraphVKway(nvtxs, xadj, adjncy, vwgt, vsize, wgtflag, numflag, nparts, options, volume, part); -} -void metis_partgraphvkway(int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *vsize, int *wgtflag, int *numflag, int *nparts, int *options, int *volume, idxtype *part) -{ - METIS_PartGraphVKway(nvtxs, xadj, adjncy, vwgt, vsize, wgtflag, numflag, nparts, options, volume, part); -} -void metis_partgraphvkway_(int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *vsize, int *wgtflag, int *numflag, int *nparts, int *options, int *volume, idxtype *part) -{ - METIS_PartGraphVKway(nvtxs, xadj, adjncy, vwgt, vsize, wgtflag, numflag, nparts, options, volume, part); -} -void metis_partgraphvkway__(int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *vsize, int *wgtflag, int *numflag, int *nparts, int *options, int *volume, idxtype *part) -{ - METIS_PartGraphVKway(nvtxs, xadj, adjncy, vwgt, vsize, wgtflag, numflag, nparts, options, volume, part); -} - -void METIS_WPARTGRAPHVKWAY(int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *vsize, int *wgtflag, int *numflag, int *nparts, float *tpwgts, int *options, int *volume, idxtype *part) -{ - METIS_WPartGraphVKway(nvtxs, xadj, adjncy, vwgt, vsize, wgtflag, numflag, nparts, tpwgts, options, volume, part); -} -void metis_wpartgraphvkway(int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *vsize, int *wgtflag, int *numflag, int *nparts, float *tpwgts, int *options, int *volume, idxtype *part) -{ - METIS_WPartGraphVKway(nvtxs, xadj, adjncy, vwgt, vsize, wgtflag, numflag, nparts, tpwgts, options, volume, part); -} -void metis_wpartgraphvkway_(int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *vsize, int *wgtflag, int *numflag, int *nparts, float *tpwgts, int *options, int *volume, idxtype *part) -{ - METIS_WPartGraphVKway(nvtxs, xadj, adjncy, vwgt, vsize, wgtflag, numflag, nparts, tpwgts, options, volume, part); -} -void metis_wpartgraphvkway__(int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *vsize, int *wgtflag, int *numflag, int *nparts, float *tpwgts, int *options, int *volume, idxtype *part) -{ - METIS_WPartGraphVKway(nvtxs, xadj, adjncy, vwgt, vsize, wgtflag, numflag, nparts, tpwgts, options, volume, part); -} - - - diff --git a/lib/metis-4.0/Lib/graph.c b/lib/metis-4.0/Lib/graph.c deleted file mode 100755 index 344c0df37..000000000 --- a/lib/metis-4.0/Lib/graph.c +++ /dev/null @@ -1,616 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * graph.c - * - * This file contains functions that deal with setting up the graphs - * for METIS. - * - * Started 7/25/97 - * George - * - * $Id: graph.c,v 1.1 1998/11/27 17:59:15 karypis Exp $ - * - */ - -#include - -/************************************************************************* -* This function sets up the graph from the user input -**************************************************************************/ -void SetUpGraph(GraphType *graph, int OpType, int nvtxs, int ncon, - idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int wgtflag) -{ - int i, j, k, sum, gsize; - float *nvwgt; - idxtype tvwgt[MAXNCON]; - - if (OpType == OP_KMETIS && ncon == 1 && (wgtflag&2) == 0 && (wgtflag&1) == 0) { - SetUpGraphKway(graph, nvtxs, xadj, adjncy); - return; - } - - InitGraph(graph); - - graph->nvtxs = nvtxs; - graph->nedges = xadj[nvtxs]; - graph->ncon = ncon; - graph->xadj = xadj; - graph->adjncy = adjncy; - - if (ncon == 1) { /* We are in the non mC mode */ - gsize = 0; - if ((wgtflag&2) == 0) - gsize += nvtxs; - if ((wgtflag&1) == 0) - gsize += graph->nedges; - - gsize += 2*nvtxs; - - graph->gdata = idxmalloc(gsize, "SetUpGraph: gdata"); - - /* Create the vertex/edge weight vectors if they are not supplied */ - gsize = 0; - if ((wgtflag&2) == 0) { - vwgt = graph->vwgt = idxset(nvtxs, 1, graph->gdata); - gsize += nvtxs; - } - else - graph->vwgt = vwgt; - - if ((wgtflag&1) == 0) { - adjwgt = graph->adjwgt = idxset(graph->nedges, 1, graph->gdata+gsize); - gsize += graph->nedges; - } - else - graph->adjwgt = adjwgt; - - - /* Compute the initial values of the adjwgtsum */ - graph->adjwgtsum = graph->gdata + gsize; - gsize += nvtxs; - - for (i=0; iadjwgtsum[i] = sum; - } - - graph->cmap = graph->gdata + gsize; - gsize += nvtxs; - - } - else { /* Set up the graph in MOC mode */ - gsize = 0; - if ((wgtflag&1) == 0) - gsize += graph->nedges; - - gsize += 2*nvtxs; - - graph->gdata = idxmalloc(gsize, "SetUpGraph: gdata"); - gsize = 0; - - for (i=0; invwgt = fmalloc(ncon*nvtxs, "SetUpGraph: nvwgt"); - - for (i=0; iadjwgt = idxset(graph->nedges, 1, graph->gdata+gsize); - gsize += graph->nedges; - } - else - graph->adjwgt = adjwgt; - - /* Compute the initial values of the adjwgtsum */ - graph->adjwgtsum = graph->gdata + gsize; - gsize += nvtxs; - - for (i=0; iadjwgtsum[i] = sum; - } - - graph->cmap = graph->gdata + gsize; - gsize += nvtxs; - - } - - if (OpType != OP_KMETIS && OpType != OP_KVMETIS) { - graph->label = idxmalloc(nvtxs, "SetUpGraph: label"); - - for (i=0; ilabel[i] = i; - } - -} - - -/************************************************************************* -* This function sets up the graph from the user input -**************************************************************************/ -void SetUpGraphKway(GraphType *graph, int nvtxs, idxtype *xadj, idxtype *adjncy) -{ - int i; - - InitGraph(graph); - - graph->nvtxs = nvtxs; - graph->nedges = xadj[nvtxs]; - graph->ncon = 1; - graph->xadj = xadj; - graph->vwgt = NULL; - graph->adjncy = adjncy; - graph->adjwgt = NULL; - - graph->gdata = idxmalloc(2*nvtxs, "SetUpGraph: gdata"); - graph->adjwgtsum = graph->gdata; - graph->cmap = graph->gdata + nvtxs; - - /* Compute the initial values of the adjwgtsum */ - for (i=0; iadjwgtsum[i] = xadj[i+1]-xadj[i]; - -} - - - -/************************************************************************* -* This function sets up the graph from the user input -**************************************************************************/ -void SetUpGraph2(GraphType *graph, int nvtxs, int ncon, idxtype *xadj, - idxtype *adjncy, float *nvwgt, idxtype *adjwgt) -{ - int i, j, sum; - - InitGraph(graph); - - graph->nvtxs = nvtxs; - graph->nedges = xadj[nvtxs]; - graph->ncon = ncon; - graph->xadj = xadj; - graph->adjncy = adjncy; - graph->adjwgt = adjwgt; - - graph->nvwgt = fmalloc(nvtxs*ncon, "SetUpGraph2: graph->nvwgt"); - scopy(nvtxs*ncon, nvwgt, graph->nvwgt); - - graph->gdata = idxmalloc(2*nvtxs, "SetUpGraph: gdata"); - - /* Compute the initial values of the adjwgtsum */ - graph->adjwgtsum = graph->gdata; - for (i=0; iadjwgtsum[i] = sum; - } - - graph->cmap = graph->gdata+nvtxs; - - graph->label = idxmalloc(nvtxs, "SetUpGraph: label"); - for (i=0; ilabel[i] = i; - -} - - -/************************************************************************* -* This function sets up the graph from the user input -**************************************************************************/ -void VolSetUpGraph(GraphType *graph, int OpType, int nvtxs, int ncon, idxtype *xadj, - idxtype *adjncy, idxtype *vwgt, idxtype *vsize, int wgtflag) -{ - int i, j, k, sum, gsize; - idxtype *adjwgt; - float *nvwgt; - idxtype tvwgt[MAXNCON]; - - InitGraph(graph); - - graph->nvtxs = nvtxs; - graph->nedges = xadj[nvtxs]; - graph->ncon = ncon; - graph->xadj = xadj; - graph->adjncy = adjncy; - - if (ncon == 1) { /* We are in the non mC mode */ - gsize = graph->nedges; /* This is for the edge weights */ - if ((wgtflag&2) == 0) - gsize += nvtxs; /* vwgts */ - if ((wgtflag&1) == 0) - gsize += nvtxs; /* vsize */ - - gsize += 2*nvtxs; - - graph->gdata = idxmalloc(gsize, "SetUpGraph: gdata"); - - /* Create the vertex/edge weight vectors if they are not supplied */ - gsize = 0; - if ((wgtflag&2) == 0) { - vwgt = graph->vwgt = idxset(nvtxs, 1, graph->gdata); - gsize += nvtxs; - } - else - graph->vwgt = vwgt; - - if ((wgtflag&1) == 0) { - vsize = graph->vsize = idxset(nvtxs, 1, graph->gdata); - gsize += nvtxs; - } - else - graph->vsize = vsize; - - /* Allocate memory for edge weights and initialize them to the sum of the vsize */ - adjwgt = graph->adjwgt = graph->gdata+gsize; - gsize += graph->nedges; - - for (i=0; iadjwgtsum = graph->gdata + gsize; - gsize += nvtxs; - - for (i=0; iadjwgtsum[i] = sum; - } - - graph->cmap = graph->gdata + gsize; - gsize += nvtxs; - - } - else { /* Set up the graph in MOC mode */ - gsize = graph->nedges; - if ((wgtflag&1) == 0) - gsize += nvtxs; - - gsize += 2*nvtxs; - - graph->gdata = idxmalloc(gsize, "SetUpGraph: gdata"); - gsize = 0; - - /* Create the normalized vertex weights along each constrain */ - if ((wgtflag&2) == 0) - vwgt = idxsmalloc(nvtxs, 1, "SetUpGraph: vwgt"); - - for (i=0; invwgt = fmalloc(ncon*nvtxs, "SetUpGraph: nvwgt"); - - for (i=0; ivsize = idxset(nvtxs, 1, graph->gdata); - gsize += nvtxs; - } - else - graph->vsize = vsize; - - /* Allocate memory for edge weights and initialize them to the sum of the vsize */ - adjwgt = graph->adjwgt = graph->gdata+gsize; - gsize += graph->nedges; - - for (i=0; iadjwgtsum = graph->gdata + gsize; - gsize += nvtxs; - - for (i=0; iadjwgtsum[i] = sum; - } - - graph->cmap = graph->gdata + gsize; - gsize += nvtxs; - - } - - if (OpType != OP_KVMETIS) { - graph->label = idxmalloc(nvtxs, "SetUpGraph: label"); - - for (i=0; ilabel[i] = i; - } - -} - - -/************************************************************************* -* This function randomly permutes the adjacency lists of a graph -**************************************************************************/ -void RandomizeGraph(GraphType *graph) -{ - int i, j, k, l, tmp, nvtxs; - idxtype *xadj, *adjncy, *adjwgt; - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - - for (i=0; invtxs; - xadj = graph->xadj; - adjncy = graph->adjncy; - where = graph->where; - - touched = idxsmalloc(nvtxs, 0, "IsConnected: touched"); - queue = idxmalloc(nvtxs, "IsConnected: queue"); - cptr = idxmalloc(nvtxs, "IsConnected: cptr"); - - nleft = 0; - for (i=0; i 1 && report) { - printf("The graph has %d connected components in partition %d:\t", ncmps, pid); - for (i=0; ivwgt[queue[j]]; - printf("[%5d %5d] ", cptr[i+1]-cptr[i], wgt); - /* - if (cptr[i+1]-cptr[i] == 1) - printf("[%d %d] ", queue[cptr[i]], xadj[queue[cptr[i]]+1]-xadj[queue[cptr[i]]]); - */ - } - printf("\n"); - } - - GKfree(&touched, &queue, &cptr, LTERM); - - return (ncmps == 1 ? 1 : 0); -} - - -/************************************************************************* -* This function checks whether a graph is contigous or not -**************************************************************************/ -int IsConnected(CtrlType *ctrl, GraphType *graph, int report) -{ - int i, j, k, nvtxs, first, last; - idxtype *xadj, *adjncy, *touched, *queue; - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - adjncy = graph->adjncy; - - touched = idxsmalloc(nvtxs, 0, "IsConnected: touched"); - queue = idxmalloc(nvtxs, "IsConnected: queue"); - - touched[0] = 1; - queue[0] = 0; - first = 0; last = 1; - - while (first < last) { - i = queue[first++]; - for (j=xadj[i]; jnvtxs; - xadj = graph->xadj; - adjncy = graph->adjncy; - where = graph->where; - - touched = idxsmalloc(nvtxs, 0, "IsConnected: touched"); - queue = idxmalloc(nvtxs, "IsConnected: queue"); - cptr = idxmalloc(nvtxs, "IsConnected: cptr"); - - nleft = nvtxs; - touched[0] = 1; - queue[0] = 0; - first = 0; last = 1; - - cptr[0] = 0; /* This actually points to queue */ - ncmps = 0; - while (first != nleft) { - if (first == last) { /* Find another starting vertex */ - cptr[++ncmps] = first; - for (i=0; i 1 && report) { - printf("%d connected components:\t", ncmps); - for (i=0; i 200) - printf("[%5d] ", cptr[i+1]-cptr[i]); - } - printf("\n"); - } - - GKfree(&touched, &queue, &cptr, LTERM); - - return (ncmps == 1 ? 1 : 0); -} - - -/************************************************************************* -* This function returns the number of connected components in cptr,cind -* The separator of the graph is used to split it and then find its components. -**************************************************************************/ -int FindComponents(CtrlType *ctrl, GraphType *graph, idxtype *cptr, idxtype *cind) -{ - int i, j, k, nvtxs, first, last, nleft, ncmps, wgt; - idxtype *xadj, *adjncy, *where, *touched, *queue; - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - adjncy = graph->adjncy; - where = graph->where; - - touched = idxsmalloc(nvtxs, 0, "IsConnected: queue"); - - for (i=0; inbnd; i++) - touched[graph->bndind[i]] = 1; - - queue = cind; - - nleft = 0; - for (i=0; i - -/************************************************************************* -* This function computes the initial bisection of the coarsest graph -**************************************************************************/ -void Init2WayPartition(CtrlType *ctrl, GraphType *graph, int *tpwgts, float ubfactor) -{ - int dbglvl; - - dbglvl = ctrl->dbglvl; - IFSET(ctrl->dbglvl, DBG_REFINE, ctrl->dbglvl -= DBG_REFINE); - IFSET(ctrl->dbglvl, DBG_MOVEINFO, ctrl->dbglvl -= DBG_MOVEINFO); - - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->InitPartTmr)); - - switch (ctrl->IType) { - case IPART_GGPKL: - GrowBisection(ctrl, graph, tpwgts, ubfactor); - break; - case 3: - RandomBisection(ctrl, graph, tpwgts, ubfactor); - break; - default: - errexit("Unknown initial partition type: %d\n", ctrl->IType); - } - - IFSET(ctrl->dbglvl, DBG_IPART, printf("Initial Cut: %d\n", graph->mincut)); - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->InitPartTmr)); - ctrl->dbglvl = dbglvl; - -/* - IsConnectedSubdomain(ctrl, graph, 0); - IsConnectedSubdomain(ctrl, graph, 1); -*/ -} - -/************************************************************************* -* This function computes the initial bisection of the coarsest graph -**************************************************************************/ -void InitSeparator(CtrlType *ctrl, GraphType *graph, float ubfactor) -{ - int dbglvl; - - dbglvl = ctrl->dbglvl; - IFSET(ctrl->dbglvl, DBG_REFINE, ctrl->dbglvl -= DBG_REFINE); - IFSET(ctrl->dbglvl, DBG_MOVEINFO, ctrl->dbglvl -= DBG_MOVEINFO); - - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->InitPartTmr)); - - GrowBisectionNode(ctrl, graph, ubfactor); - Compute2WayNodePartitionParams(ctrl, graph); - - IFSET(ctrl->dbglvl, DBG_IPART, printf("Initial Sep: %d\n", graph->mincut)); - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->InitPartTmr)); - - ctrl->dbglvl = dbglvl; - -} - - - -/************************************************************************* -* This function takes a graph and produces a bisection by using a region -* growing algorithm. The resulting partition is returned in -* graph->where -**************************************************************************/ -void GrowBisection(CtrlType *ctrl, GraphType *graph, int *tpwgts, float ubfactor) -{ - int i, j, k, nvtxs, drain, nleft, first, last, pwgts[2], minpwgt[2], maxpwgt[2], from, bestcut, icut, mincut, me, pass, nbfs; - idxtype *xadj, *vwgt, *adjncy, *adjwgt, *where; - idxtype *queue, *touched, *gain, *bestwhere; - - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - vwgt = graph->vwgt; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - - Allocate2WayPartitionMemory(ctrl, graph); - where = graph->where; - - bestwhere = idxmalloc(nvtxs, "BisectGraph: bestwhere"); - queue = idxmalloc(nvtxs, "BisectGraph: queue"); - touched = idxmalloc(nvtxs, "BisectGraph: touched"); - - ASSERTP(tpwgts[0]+tpwgts[1] == idxsum(nvtxs, vwgt), ("%d %d\n", tpwgts[0]+tpwgts[1], idxsum(nvtxs, vwgt))); - - maxpwgt[0] = ubfactor*tpwgts[0]; - maxpwgt[1] = ubfactor*tpwgts[1]; - minpwgt[0] = (1.0/ubfactor)*tpwgts[0]; - minpwgt[1] = (1.0/ubfactor)*tpwgts[1]; - - nbfs = (nvtxs <= ctrl->CoarsenTo ? SMALLNIPARTS : LARGENIPARTS); - bestcut = idxsum(nvtxs, graph->adjwgtsum)+1; /* The +1 is for the 0 edges case */ - for (; nbfs>0; nbfs--) { - idxset(nvtxs, 0, touched); - - pwgts[1] = tpwgts[0]+tpwgts[1]; - pwgts[0] = 0; - - idxset(nvtxs, 1, where); - - queue[0] = RandomInRange(nvtxs); - touched[queue[0]] = 1; - first = 0; last = 1; - nleft = nvtxs-1; - drain = 0; - - /* Start the BFS from queue to get a partition */ - for (;;) { - if (first == last) { /* Empty. Disconnected graph! */ - if (nleft == 0 || drain) - break; - - k = RandomInRange(nleft); - for (i=0; i 0 && pwgts[1]-vwgt[i] < minpwgt[1]) { - drain = 1; - continue; - } - - where[i] = 0; - INC_DEC(pwgts[0], pwgts[1], vwgt[i]); - if (pwgts[1] <= maxpwgt[1]) - break; - - drain = 0; - for (j=xadj[i]; jnvtxs, pwgts[0], pwgts[1], graph->pwgts[0], graph->pwgts[1], graph->mincut); */ - - Balance2Way(ctrl, graph, tpwgts, ubfactor); - /*printf("BPART: [%5d %5d] %5d\n", graph->pwgts[0], graph->pwgts[1], graph->mincut);*/ - - FM_2WayEdgeRefine(ctrl, graph, tpwgts, 4); - /*printf("RPART: [%5d %5d] %5d\n", graph->pwgts[0], graph->pwgts[1], graph->mincut);*/ - - if (bestcut > graph->mincut) { - bestcut = graph->mincut; - idxcopy(nvtxs, where, bestwhere); - if (bestcut == 0) - break; - } - } - - graph->mincut = bestcut; - idxcopy(nvtxs, bestwhere, where); - - GKfree(&bestwhere, &queue, &touched, LTERM); -} - - - - -/************************************************************************* -* This function takes a graph and produces a bisection by using a region -* growing algorithm. The resulting partition is returned in -* graph->where -**************************************************************************/ -void GrowBisectionNode(CtrlType *ctrl, GraphType *graph, float ubfactor) -{ - int i, j, k, nvtxs, drain, nleft, first, last, pwgts[2], tpwgts[2], minpwgt[2], maxpwgt[2], from, bestcut, icut, mincut, me, pass, nbfs; - idxtype *xadj, *vwgt, *adjncy, *adjwgt, *where, *bndind; - idxtype *queue, *touched, *gain, *bestwhere; - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - vwgt = graph->vwgt; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - - bestwhere = idxmalloc(nvtxs, "BisectGraph: bestwhere"); - queue = idxmalloc(nvtxs, "BisectGraph: queue"); - touched = idxmalloc(nvtxs, "BisectGraph: touched"); - - tpwgts[0] = idxsum(nvtxs, vwgt); - tpwgts[1] = tpwgts[0]/2; - tpwgts[0] -= tpwgts[1]; - - maxpwgt[0] = ubfactor*tpwgts[0]; - maxpwgt[1] = ubfactor*tpwgts[1]; - minpwgt[0] = (1.0/ubfactor)*tpwgts[0]; - minpwgt[1] = (1.0/ubfactor)*tpwgts[1]; - - /* Allocate memory for graph->rdata. Allocate sufficient memory for both edge and node */ - graph->rdata = idxmalloc(5*nvtxs+3, "GrowBisectionNode: graph->rdata"); - graph->pwgts = graph->rdata; - graph->where = graph->rdata + 3; - graph->bndptr = graph->rdata + nvtxs + 3; - graph->bndind = graph->rdata + 2*nvtxs + 3; - graph->nrinfo = (NRInfoType *)(graph->rdata + 3*nvtxs + 3); - graph->id = graph->rdata + 3*nvtxs + 3; - graph->ed = graph->rdata + 4*nvtxs + 3; - - where = graph->where; - bndind = graph->bndind; - - nbfs = (nvtxs <= ctrl->CoarsenTo ? SMALLNIPARTS : LARGENIPARTS); - bestcut = tpwgts[0]+tpwgts[1]; - for (nbfs++; nbfs>0; nbfs--) { - idxset(nvtxs, 0, touched); - - pwgts[1] = tpwgts[0]+tpwgts[1]; - pwgts[0] = 0; - - idxset(nvtxs, 1, where); - - queue[0] = RandomInRange(nvtxs); - touched[queue[0]] = 1; - first = 0; last = 1; - nleft = nvtxs-1; - drain = 0; - - /* Start the BFS from queue to get a partition */ - if (nbfs >= 1) { - for (;;) { - if (first == last) { /* Empty. Disconnected graph! */ - if (nleft == 0 || drain) - break; - - k = RandomInRange(nleft); - for (i=0; inbnd; i++) - where[bndind[i]] = 2; - - Compute2WayNodePartitionParams(ctrl, graph); - FM_2WayNodeRefine(ctrl, graph, ubfactor, 6); - - /* printf("ISep: [%d %d %d] %d\n", graph->pwgts[0], graph->pwgts[1], graph->pwgts[2], bestcut); */ - - if (bestcut > graph->mincut) { - bestcut = graph->mincut; - idxcopy(nvtxs, where, bestwhere); - } - } - - graph->mincut = bestcut; - idxcopy(nvtxs, bestwhere, where); - - Compute2WayNodePartitionParams(ctrl, graph); - - GKfree(&bestwhere, &queue, &touched, LTERM); -} - - -/************************************************************************* -* This function takes a graph and produces a bisection by using a region -* growing algorithm. The resulting partition is returned in -* graph->where -**************************************************************************/ -void RandomBisection(CtrlType *ctrl, GraphType *graph, int *tpwgts, float ubfactor) -{ - int i, ii, j, k, nvtxs, pwgts[2], minpwgt[2], maxpwgt[2], from, bestcut, icut, mincut, me, pass, nbfs; - idxtype *xadj, *vwgt, *adjncy, *adjwgt, *where; - idxtype *perm, *bestwhere; - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - vwgt = graph->vwgt; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - - Allocate2WayPartitionMemory(ctrl, graph); - where = graph->where; - - bestwhere = idxmalloc(nvtxs, "BisectGraph: bestwhere"); - perm = idxmalloc(nvtxs, "BisectGraph: queue"); - - ASSERTP(tpwgts[0]+tpwgts[1] == idxsum(nvtxs, vwgt), ("%d %d\n", tpwgts[0]+tpwgts[1], idxsum(nvtxs, vwgt))); - - maxpwgt[0] = ubfactor*tpwgts[0]; - maxpwgt[1] = ubfactor*tpwgts[1]; - minpwgt[0] = (1.0/ubfactor)*tpwgts[0]; - minpwgt[1] = (1.0/ubfactor)*tpwgts[1]; - - nbfs = (nvtxs <= ctrl->CoarsenTo ? SMALLNIPARTS : LARGENIPARTS); - bestcut = idxsum(nvtxs, graph->adjwgtsum)+1; /* The +1 is for the 0 edges case */ - for (; nbfs>0; nbfs--) { - RandomPermute(nvtxs, perm, 1); - - idxset(nvtxs, 1, where); - pwgts[1] = tpwgts[0]+tpwgts[1]; - pwgts[0] = 0; - - - if (nbfs != 1) { - for (ii=0; ii minpwgt[0]) - break; - } - } - } - - /************************************************************* - * Do some partition refinement - **************************************************************/ - Compute2WayPartitionParams(ctrl, graph); - /* printf("IPART: %3d [%5d %5d] [%5d %5d] %5d\n", graph->nvtxs, pwgts[0], pwgts[1], graph->pwgts[0], graph->pwgts[1], graph->mincut); */ - - Balance2Way(ctrl, graph, tpwgts, ubfactor); - /* printf("BPART: [%5d %5d] %5d\n", graph->pwgts[0], graph->pwgts[1], graph->mincut); */ - - FM_2WayEdgeRefine(ctrl, graph, tpwgts, 4); - /* printf("RPART: [%5d %5d] %5d\n", graph->pwgts[0], graph->pwgts[1], graph->mincut); */ - - if (bestcut > graph->mincut) { - bestcut = graph->mincut; - idxcopy(nvtxs, where, bestwhere); - if (bestcut == 0) - break; - } - } - - graph->mincut = bestcut; - idxcopy(nvtxs, bestwhere, where); - - GKfree(&bestwhere, &perm, LTERM); -} - - - - diff --git a/lib/metis-4.0/Lib/kmetis.c b/lib/metis-4.0/Lib/kmetis.c deleted file mode 100755 index fab2107dd..000000000 --- a/lib/metis-4.0/Lib/kmetis.c +++ /dev/null @@ -1,129 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * kmetis.c - * - * This file contains the top level routines for the multilevel k-way partitioning - * algorithm KMETIS. - * - * Started 7/28/97 - * George - * - * $Id: kmetis.c,v 1.1 1998/11/27 17:59:15 karypis Exp $ - * - */ - -#include - - -/************************************************************************* -* This function is the entry point for KMETIS -**************************************************************************/ -void METIS_PartGraphKway(int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, - idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, - int *options, int *edgecut, idxtype *part) -{ - int i; - float *tpwgts; - - tpwgts = fmalloc(*nparts, "KMETIS: tpwgts"); - for (i=0; i<*nparts; i++) - tpwgts[i] = 1.0/(1.0*(*nparts)); - - METIS_WPartGraphKway(nvtxs, xadj, adjncy, vwgt, adjwgt, wgtflag, numflag, nparts, - tpwgts, options, edgecut, part); - - free(tpwgts); -} - - -/************************************************************************* -* This function is the entry point for KWMETIS -**************************************************************************/ -void METIS_WPartGraphKway(int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, - idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, - float *tpwgts, int *options, int *edgecut, idxtype *part) -{ - int i, j; - GraphType graph; - CtrlType ctrl; - - if (*numflag == 1) - Change2CNumbering(*nvtxs, xadj, adjncy); - - SetUpGraph(&graph, OP_KMETIS, *nvtxs, 1, xadj, adjncy, vwgt, adjwgt, *wgtflag); - - if (options[0] == 0) { /* Use the default parameters */ - ctrl.CType = KMETIS_CTYPE; - ctrl.IType = KMETIS_ITYPE; - ctrl.RType = KMETIS_RTYPE; - ctrl.dbglvl = KMETIS_DBGLVL; - } - else { - ctrl.CType = options[OPTION_CTYPE]; - ctrl.IType = options[OPTION_ITYPE]; - ctrl.RType = options[OPTION_RTYPE]; - ctrl.dbglvl = options[OPTION_DBGLVL]; - } - ctrl.optype = OP_KMETIS; - ctrl.CoarsenTo = amax((*nvtxs)/(40*log2i(*nparts)), 20*(*nparts)); - ctrl.maxvwgt = 1.5*((graph.vwgt ? idxsum(*nvtxs, graph.vwgt) : (*nvtxs))/ctrl.CoarsenTo); - - InitRandom(-1); - - AllocateWorkSpace(&ctrl, &graph, *nparts); - - IFSET(ctrl.dbglvl, DBG_TIME, InitTimers(&ctrl)); - IFSET(ctrl.dbglvl, DBG_TIME, starttimer(ctrl.TotalTmr)); - - *edgecut = MlevelKWayPartitioning(&ctrl, &graph, *nparts, part, tpwgts, 1.03); - - IFSET(ctrl.dbglvl, DBG_TIME, stoptimer(ctrl.TotalTmr)); - IFSET(ctrl.dbglvl, DBG_TIME, PrintTimers(&ctrl)); - - FreeWorkSpace(&ctrl, &graph); - - if (*numflag == 1) - Change2FNumbering(*nvtxs, xadj, adjncy, part); -} - - -/************************************************************************* -* This function takes a graph and produces a bisection of it -**************************************************************************/ -int MlevelKWayPartitioning(CtrlType *ctrl, GraphType *graph, int nparts, idxtype *part, float *tpwgts, float ubfactor) -{ - int i, j, nvtxs, tvwgt, tpwgts2[2]; - GraphType *cgraph; - int wgtflag=3, numflag=0, options[10], edgecut; - - cgraph = Coarsen2Way(ctrl, graph); - - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->InitPartTmr)); - AllocateKWayPartitionMemory(ctrl, cgraph, nparts); - - options[0] = 1; - options[OPTION_CTYPE] = MATCH_SHEMKWAY; - options[OPTION_ITYPE] = IPART_GGPKL; - options[OPTION_RTYPE] = RTYPE_FM; - options[OPTION_DBGLVL] = 0; - - METIS_WPartGraphRecursive(&cgraph->nvtxs, cgraph->xadj, cgraph->adjncy, cgraph->vwgt, - cgraph->adjwgt, &wgtflag, &numflag, &nparts, tpwgts, options, - &edgecut, cgraph->where); - - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->InitPartTmr)); - IFSET(ctrl->dbglvl, DBG_IPART, printf("Initial %d-way partitioning cut: %d\n", nparts, edgecut)); - - IFSET(ctrl->dbglvl, DBG_KWAYPINFO, ComputePartitionInfo(cgraph, nparts, cgraph->where)); - - RefineKWay(ctrl, graph, cgraph, nparts, tpwgts, ubfactor); - - idxcopy(graph->nvtxs, graph->where, part); - - GKfree(&graph->gdata, &graph->rdata, LTERM); - - return graph->mincut; - -} - diff --git a/lib/metis-4.0/Lib/kvmetis.c b/lib/metis-4.0/Lib/kvmetis.c deleted file mode 100755 index 9e0a91904..000000000 --- a/lib/metis-4.0/Lib/kvmetis.c +++ /dev/null @@ -1,130 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * kvmetis.c - * - * This file contains the top level routines for the multilevel k-way partitioning - * algorithm KMETIS. - * - * Started 7/28/97 - * George - * - * $Id: kvmetis.c,v 1.1 1998/11/27 17:59:16 karypis Exp $ - * - */ - -#include - - -/************************************************************************* -* This function is the entry point for KMETIS -**************************************************************************/ -void METIS_PartGraphVKway(int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, - idxtype *vsize, int *wgtflag, int *numflag, int *nparts, - int *options, int *volume, idxtype *part) -{ - int i; - float *tpwgts; - - tpwgts = fmalloc(*nparts, "KMETIS: tpwgts"); - for (i=0; i<*nparts; i++) - tpwgts[i] = 1.0/(1.0*(*nparts)); - - METIS_WPartGraphVKway(nvtxs, xadj, adjncy, vwgt, vsize, wgtflag, numflag, nparts, - tpwgts, options, volume, part); - - free(tpwgts); -} - - -/************************************************************************* -* This function is the entry point for KWMETIS -**************************************************************************/ -void METIS_WPartGraphVKway(int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, - idxtype *vsize, int *wgtflag, int *numflag, int *nparts, - float *tpwgts, int *options, int *volume, idxtype *part) -{ - int i, j; - GraphType graph; - CtrlType ctrl; - - if (*numflag == 1) - Change2CNumbering(*nvtxs, xadj, adjncy); - - VolSetUpGraph(&graph, OP_KVMETIS, *nvtxs, 1, xadj, adjncy, vwgt, vsize, *wgtflag); - - if (options[0] == 0) { /* Use the default parameters */ - ctrl.CType = KVMETIS_CTYPE; - ctrl.IType = KVMETIS_ITYPE; - ctrl.RType = KVMETIS_RTYPE; - ctrl.dbglvl = KVMETIS_DBGLVL; - } - else { - ctrl.CType = options[OPTION_CTYPE]; - ctrl.IType = options[OPTION_ITYPE]; - ctrl.RType = options[OPTION_RTYPE]; - ctrl.dbglvl = options[OPTION_DBGLVL]; - } - ctrl.optype = OP_KVMETIS; - ctrl.CoarsenTo = amax((*nvtxs)/(40*log2i(*nparts)), 20*(*nparts)); - ctrl.maxvwgt = 1.5*((graph.vwgt ? idxsum(*nvtxs, graph.vwgt) : (*nvtxs))/ctrl.CoarsenTo); - - InitRandom(-1); - - AllocateWorkSpace(&ctrl, &graph, *nparts); - - IFSET(ctrl.dbglvl, DBG_TIME, InitTimers(&ctrl)); - IFSET(ctrl.dbglvl, DBG_TIME, starttimer(ctrl.TotalTmr)); - - *volume = MlevelVolKWayPartitioning(&ctrl, &graph, *nparts, part, tpwgts, 1.03); - - IFSET(ctrl.dbglvl, DBG_TIME, stoptimer(ctrl.TotalTmr)); - IFSET(ctrl.dbglvl, DBG_TIME, PrintTimers(&ctrl)); - - FreeWorkSpace(&ctrl, &graph); - - if (*numflag == 1) - Change2FNumbering(*nvtxs, xadj, adjncy, part); -} - - -/************************************************************************* -* This function takes a graph and produces a bisection of it -**************************************************************************/ -int MlevelVolKWayPartitioning(CtrlType *ctrl, GraphType *graph, int nparts, idxtype *part, - float *tpwgts, float ubfactor) -{ - int i, j, nvtxs, tvwgt, tpwgts2[2]; - GraphType *cgraph; - int wgtflag=3, numflag=0, options[10], edgecut; - - cgraph = Coarsen2Way(ctrl, graph); - - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->InitPartTmr)); - AllocateVolKWayPartitionMemory(ctrl, cgraph, nparts); - - options[0] = 1; - options[OPTION_CTYPE] = MATCH_SHEMKWAY; - options[OPTION_ITYPE] = IPART_GGPKL; - options[OPTION_RTYPE] = RTYPE_FM; - options[OPTION_DBGLVL] = 0; - - METIS_WPartGraphRecursive(&cgraph->nvtxs, cgraph->xadj, cgraph->adjncy, cgraph->vwgt, - cgraph->adjwgt, &wgtflag, &numflag, &nparts, tpwgts, options, - &edgecut, cgraph->where); - - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->InitPartTmr)); - IFSET(ctrl->dbglvl, DBG_IPART, printf("Initial %d-way partitioning cut: %d\n", nparts, edgecut)); - - IFSET(ctrl->dbglvl, DBG_KWAYPINFO, ComputePartitionInfo(cgraph, nparts, cgraph->where)); - - RefineVolKWay(ctrl, graph, cgraph, nparts, tpwgts, ubfactor); - - idxcopy(graph->nvtxs, graph->where, part); - - GKfree(&graph->gdata, &graph->rdata, LTERM); - - return graph->minvol; - -} - diff --git a/lib/metis-4.0/Lib/kwayfm.c b/lib/metis-4.0/Lib/kwayfm.c deleted file mode 100755 index 2debcdcb5..000000000 --- a/lib/metis-4.0/Lib/kwayfm.c +++ /dev/null @@ -1,672 +0,0 @@ -/* - * kwayfm.c - * - * This file contains code that implements the multilevel k-way refinement - * - * Started 7/28/97 - * George - * - * $Id: kwayfm.c,v 1.1 1998/11/27 17:59:16 karypis Exp $ - * - */ - -#include - - -/************************************************************************* -* This function performs k-way refinement -**************************************************************************/ -void Random_KWayEdgeRefine(CtrlType *ctrl, GraphType *graph, int nparts, float *tpwgts, float ubfactor, int npasses, int ffactor) -{ - int i, ii, iii, j, jj, k, l, pass, nvtxs, nmoves, nbnd, tvwgt, myndegrees; - int from, me, to, oldcut, vwgt, gain; - idxtype *xadj, *adjncy, *adjwgt; - idxtype *where, *pwgts, *perm, *bndptr, *bndind, *minwgt, *maxwgt, *itpwgts; - EDegreeType *myedegrees; - RInfoType *myrinfo; - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - - bndptr = graph->bndptr; - bndind = graph->bndind; - - where = graph->where; - pwgts = graph->pwgts; - - /* Setup the weight intervals of the various subdomains */ - minwgt = idxwspacemalloc(ctrl, nparts); - maxwgt = idxwspacemalloc(ctrl, nparts); - itpwgts = idxwspacemalloc(ctrl, nparts); - tvwgt = idxsum(nparts, pwgts); - ASSERT(tvwgt == idxsum(nvtxs, graph->vwgt)); - - for (i=0; idbglvl, DBG_REFINE, - printf("Partitions: [%6d %6d]-[%6d %6d], Balance: %5.3f, Nv-Nb[%6d %6d]. Cut: %6d\n", - pwgts[idxamin(nparts, pwgts)], pwgts[idxamax(nparts, pwgts)], minwgt[0], maxwgt[0], - 1.0*nparts*pwgts[idxamax(nparts, pwgts)]/tvwgt, graph->nvtxs, graph->nbnd, - graph->mincut)); - - for (pass=0; passmincut); - - oldcut = graph->mincut; - nbnd = graph->nbnd; - - RandomPermute(nbnd, perm, 1); - for (nmoves=iii=0; iiinbnd; iii++) { - ii = perm[iii]; - if (ii >= nbnd) - continue; - i = bndind[ii]; - - myrinfo = graph->rinfo+i; - - if (myrinfo->ed >= myrinfo->id) { /* Total ED is too high */ - from = where[i]; - vwgt = graph->vwgt[i]; - - if (myrinfo->id > 0 && pwgts[from]-vwgt < minwgt[from]) - continue; /* This cannot be moved! */ - - myedegrees = myrinfo->edegrees; - myndegrees = myrinfo->ndegrees; - - j = myrinfo->id; - for (k=0; kid. Allow good nodes to move */ - if (pwgts[to]+vwgt <= maxwgt[to]+ffactor*gain && gain >= 0) - break; - } - if (k == myndegrees) - continue; /* break out if you did not find a candidate */ - - for (j=k+1; j myedegrees[k].ed && pwgts[to]+vwgt <= maxwgt[to]) || - (myedegrees[j].ed == myedegrees[k].ed && - itpwgts[myedegrees[k].pid]*pwgts[to] < itpwgts[to]*pwgts[myedegrees[k].pid])) - k = j; - } - - to = myedegrees[k].pid; - - j = 0; - if (myedegrees[k].ed-myrinfo->id > 0) - j = 1; - else if (myedegrees[k].ed-myrinfo->id == 0) { - if ((iii&7) == 0 || pwgts[from] >= maxwgt[from] || itpwgts[from]*(pwgts[to]+vwgt) < itpwgts[to]*pwgts[from]) - j = 1; - } - if (j == 0) - continue; - - /*===================================================================== - * If we got here, we can now move the vertex from 'from' to 'to' - *======================================================================*/ - graph->mincut -= myedegrees[k].ed-myrinfo->id; - - IFSET(ctrl->dbglvl, DBG_MOVEINFO, printf("\t\tMoving %6d to %3d. Gain: %4d. Cut: %6d\n", i, to, myedegrees[k].ed-myrinfo->id, graph->mincut)); - - /* Update where, weight, and ID/ED information of the vertex you moved */ - where[i] = to; - INC_DEC(pwgts[to], pwgts[from], vwgt); - myrinfo->ed += myrinfo->id-myedegrees[k].ed; - SWAP(myrinfo->id, myedegrees[k].ed, j); - if (myedegrees[k].ed == 0) - myedegrees[k] = myedegrees[--myrinfo->ndegrees]; - else - myedegrees[k].pid = from; - - if (myrinfo->ed-myrinfo->id < 0) - BNDDelete(nbnd, bndind, bndptr, i); - - /* Update the degrees of adjacent vertices */ - for (j=xadj[i]; jrinfo+ii; - if (myrinfo->edegrees == NULL) { - myrinfo->edegrees = ctrl->wspace.edegrees+ctrl->wspace.cdegree; - ctrl->wspace.cdegree += xadj[ii+1]-xadj[ii]; - } - myedegrees = myrinfo->edegrees; - - ASSERT(CheckRInfo(myrinfo)); - - if (me == from) { - INC_DEC(myrinfo->ed, myrinfo->id, adjwgt[j]); - - if (myrinfo->ed-myrinfo->id >= 0 && bndptr[ii] == -1) - BNDInsert(nbnd, bndind, bndptr, ii); - } - else if (me == to) { - INC_DEC(myrinfo->id, myrinfo->ed, adjwgt[j]); - - if (myrinfo->ed-myrinfo->id < 0 && bndptr[ii] != -1) - BNDDelete(nbnd, bndind, bndptr, ii); - } - - /* Remove contribution from the .ed of 'from' */ - if (me != from) { - for (k=0; kndegrees; k++) { - if (myedegrees[k].pid == from) { - if (myedegrees[k].ed == adjwgt[j]) - myedegrees[k] = myedegrees[--myrinfo->ndegrees]; - else - myedegrees[k].ed -= adjwgt[j]; - break; - } - } - } - - /* Add contribution to the .ed of 'to' */ - if (me != to) { - for (k=0; kndegrees; k++) { - if (myedegrees[k].pid == to) { - myedegrees[k].ed += adjwgt[j]; - break; - } - } - if (k == myrinfo->ndegrees) { - myedegrees[myrinfo->ndegrees].pid = to; - myedegrees[myrinfo->ndegrees++].ed = adjwgt[j]; - } - } - - ASSERT(myrinfo->ndegrees <= xadj[ii+1]-xadj[ii]); - ASSERT(CheckRInfo(myrinfo)); - - } - nmoves++; - } - } - - graph->nbnd = nbnd; - - IFSET(ctrl->dbglvl, DBG_REFINE, - printf("\t[%6d %6d], Balance: %5.3f, Nb: %6d. Nmoves: %5d, Cut: %6d, Vol: %6d\n", - pwgts[idxamin(nparts, pwgts)], pwgts[idxamax(nparts, pwgts)], - 1.0*nparts*pwgts[idxamax(nparts, pwgts)]/tvwgt, graph->nbnd, nmoves, graph->mincut, ComputeVolume(graph, where))); - - if (graph->mincut == oldcut) - break; - } - - idxwspacefree(ctrl, nparts); - idxwspacefree(ctrl, nparts); - idxwspacefree(ctrl, nparts); - idxwspacefree(ctrl, nvtxs); -} - - - - - - -/************************************************************************* -* This function performs k-way refinement -**************************************************************************/ -void Greedy_KWayEdgeRefine(CtrlType *ctrl, GraphType *graph, int nparts, float *tpwgts, float ubfactor, int npasses) -{ - int i, ii, iii, j, jj, k, l, pass, nvtxs, nbnd, tvwgt, myndegrees, oldgain, gain; - int from, me, to, oldcut, vwgt; - idxtype *xadj, *adjncy, *adjwgt; - idxtype *where, *pwgts, *perm, *bndptr, *bndind, *minwgt, *maxwgt, *moved, *itpwgts; - EDegreeType *myedegrees; - RInfoType *myrinfo; - PQueueType queue; - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - - bndind = graph->bndind; - bndptr = graph->bndptr; - - where = graph->where; - pwgts = graph->pwgts; - - /* Setup the weight intervals of the various subdomains */ - minwgt = idxwspacemalloc(ctrl, nparts); - maxwgt = idxwspacemalloc(ctrl, nparts); - itpwgts = idxwspacemalloc(ctrl, nparts); - tvwgt = idxsum(nparts, pwgts); - ASSERT(tvwgt == idxsum(nvtxs, graph->vwgt)); - - for (i=0; iadjwgtsum[idxamax(nvtxs, graph->adjwgtsum)]); - - IFSET(ctrl->dbglvl, DBG_REFINE, - printf("Partitions: [%6d %6d]-[%6d %6d], Balance: %5.3f, Nv-Nb[%6d %6d]. Cut: %6d\n", - pwgts[idxamin(nparts, pwgts)], pwgts[idxamax(nparts, pwgts)], minwgt[0], maxwgt[0], - 1.0*nparts*pwgts[idxamax(nparts, pwgts)]/tvwgt, graph->nvtxs, graph->nbnd, - graph->mincut)); - - for (pass=0; passmincut); - - PQueueReset(&queue); - idxset(nvtxs, -1, moved); - - oldcut = graph->mincut; - nbnd = graph->nbnd; - - RandomPermute(nbnd, perm, 1); - for (ii=0; iirinfo[i].ed - graph->rinfo[i].id); - moved[i] = 2; - } - - for (iii=0;;iii++) { - if ((i = PQueueGetMax(&queue)) == -1) - break; - moved[i] = 1; - - myrinfo = graph->rinfo+i; - from = where[i]; - vwgt = graph->vwgt[i]; - - if (pwgts[from]-vwgt < minwgt[from]) - continue; /* This cannot be moved! */ - - myedegrees = myrinfo->edegrees; - myndegrees = myrinfo->ndegrees; - - j = myrinfo->id; - for (k=0; kid. Allow good nodes to move */ - if (pwgts[to]+vwgt <= maxwgt[to]+gain && gain >= 0) - break; - } - if (k == myndegrees) - continue; /* break out if you did not find a candidate */ - - for (j=k+1; j myedegrees[k].ed && pwgts[to]+vwgt <= maxwgt[to]) || - (myedegrees[j].ed == myedegrees[k].ed && - itpwgts[myedegrees[k].pid]*pwgts[to] < itpwgts[to]*pwgts[myedegrees[k].pid])) - k = j; - } - - to = myedegrees[k].pid; - - j = 0; - if (myedegrees[k].ed-myrinfo->id > 0) - j = 1; - else if (myedegrees[k].ed-myrinfo->id == 0) { - if ((iii&7) == 0 || pwgts[from] >= maxwgt[from] || itpwgts[from]*(pwgts[to]+vwgt) < itpwgts[to]*pwgts[from]) - j = 1; - } - if (j == 0) - continue; - - /*===================================================================== - * If we got here, we can now move the vertex from 'from' to 'to' - *======================================================================*/ - graph->mincut -= myedegrees[k].ed-myrinfo->id; - - IFSET(ctrl->dbglvl, DBG_MOVEINFO, printf("\t\tMoving %6d to %3d. Gain: %4d. Cut: %6d\n", i, to, myedegrees[k].ed-myrinfo->id, graph->mincut)); - - /* Update where, weight, and ID/ED information of the vertex you moved */ - where[i] = to; - INC_DEC(pwgts[to], pwgts[from], vwgt); - myrinfo->ed += myrinfo->id-myedegrees[k].ed; - SWAP(myrinfo->id, myedegrees[k].ed, j); - if (myedegrees[k].ed == 0) - myedegrees[k] = myedegrees[--myrinfo->ndegrees]; - else - myedegrees[k].pid = from; - - if (myrinfo->ed < myrinfo->id) - BNDDelete(nbnd, bndind, bndptr, i); - - /* Update the degrees of adjacent vertices */ - for (j=xadj[i]; jrinfo+ii; - if (myrinfo->edegrees == NULL) { - myrinfo->edegrees = ctrl->wspace.edegrees+ctrl->wspace.cdegree; - ctrl->wspace.cdegree += xadj[ii+1]-xadj[ii]; - } - myedegrees = myrinfo->edegrees; - - ASSERT(CheckRInfo(myrinfo)); - - oldgain = (myrinfo->ed-myrinfo->id); - - if (me == from) { - INC_DEC(myrinfo->ed, myrinfo->id, adjwgt[j]); - - if (myrinfo->ed-myrinfo->id >= 0 && bndptr[ii] == -1) - BNDInsert(nbnd, bndind, bndptr, ii); - } - else if (me == to) { - INC_DEC(myrinfo->id, myrinfo->ed, adjwgt[j]); - - if (myrinfo->ed-myrinfo->id < 0 && bndptr[ii] != -1) - BNDDelete(nbnd, bndind, bndptr, ii); - } - - /* Remove contribution from the .ed of 'from' */ - if (me != from) { - for (k=0; kndegrees; k++) { - if (myedegrees[k].pid == from) { - if (myedegrees[k].ed == adjwgt[j]) - myedegrees[k] = myedegrees[--myrinfo->ndegrees]; - else - myedegrees[k].ed -= adjwgt[j]; - break; - } - } - } - - /* Add contribution to the .ed of 'to' */ - if (me != to) { - for (k=0; kndegrees; k++) { - if (myedegrees[k].pid == to) { - myedegrees[k].ed += adjwgt[j]; - break; - } - } - if (k == myrinfo->ndegrees) { - myedegrees[myrinfo->ndegrees].pid = to; - myedegrees[myrinfo->ndegrees++].ed = adjwgt[j]; - } - } - - /* Update the queue */ - if (me == to || me == from) { - gain = myrinfo->ed-myrinfo->id; - if (moved[ii] == 2) { - if (gain >= 0) - PQueueUpdate(&queue, ii, oldgain, gain); - else { - PQueueDelete(&queue, ii, oldgain); - moved[ii] = -1; - } - } - else if (moved[ii] == -1 && gain >= 0) { - PQueueInsert(&queue, ii, gain); - moved[ii] = 2; - } - } - - ASSERT(myrinfo->ndegrees <= xadj[ii+1]-xadj[ii]); - ASSERT(CheckRInfo(myrinfo)); - - } - } - - graph->nbnd = nbnd; - - IFSET(ctrl->dbglvl, DBG_REFINE, - printf("\t[%6d %6d], Balance: %5.3f, Nb: %6d. Cut: %6d\n", - pwgts[idxamin(nparts, pwgts)], pwgts[idxamax(nparts, pwgts)], - 1.0*nparts*pwgts[idxamax(nparts, pwgts)]/tvwgt, graph->nbnd, graph->mincut)); - - if (graph->mincut == oldcut) - break; - } - - PQueueFree(ctrl, &queue); - - idxwspacefree(ctrl, nparts); - idxwspacefree(ctrl, nparts); - idxwspacefree(ctrl, nparts); - idxwspacefree(ctrl, nvtxs); - idxwspacefree(ctrl, nvtxs); - -} - - -/************************************************************************* -* This function performs k-way refinement -**************************************************************************/ -void Greedy_KWayEdgeBalance(CtrlType *ctrl, GraphType *graph, int nparts, float *tpwgts, float ubfactor, int npasses) -{ - int i, ii, iii, j, jj, k, l, pass, nvtxs, nbnd, tvwgt, myndegrees, oldgain, gain, nmoves; - int from, me, to, oldcut, vwgt; - idxtype *xadj, *adjncy, *adjwgt; - idxtype *where, *pwgts, *perm, *bndptr, *bndind, *minwgt, *maxwgt, *moved, *itpwgts; - EDegreeType *myedegrees; - RInfoType *myrinfo; - PQueueType queue; - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - - bndind = graph->bndind; - bndptr = graph->bndptr; - - where = graph->where; - pwgts = graph->pwgts; - - /* Setup the weight intervals of the various subdomains */ - minwgt = idxwspacemalloc(ctrl, nparts); - maxwgt = idxwspacemalloc(ctrl, nparts); - itpwgts = idxwspacemalloc(ctrl, nparts); - tvwgt = idxsum(nparts, pwgts); - ASSERT(tvwgt == idxsum(nvtxs, graph->vwgt)); - - for (i=0; iadjwgtsum[idxamax(nvtxs, graph->adjwgtsum)]); - - IFSET(ctrl->dbglvl, DBG_REFINE, - printf("Partitions: [%6d %6d]-[%6d %6d], Balance: %5.3f, Nv-Nb[%6d %6d]. Cut: %6d [B]\n", - pwgts[idxamin(nparts, pwgts)], pwgts[idxamax(nparts, pwgts)], minwgt[0], maxwgt[0], - 1.0*nparts*pwgts[idxamax(nparts, pwgts)]/tvwgt, graph->nvtxs, graph->nbnd, - graph->mincut)); - - for (pass=0; passmincut); - - /* Check to see if things are out of balance, given the tolerance */ - for (i=0; i maxwgt[i]) - break; - } - if (i == nparts) /* Things are balanced. Return right away */ - break; - - PQueueReset(&queue); - idxset(nvtxs, -1, moved); - - oldcut = graph->mincut; - nbnd = graph->nbnd; - - RandomPermute(nbnd, perm, 1); - for (ii=0; iirinfo[i].ed - graph->rinfo[i].id); - moved[i] = 2; - } - - nmoves = 0; - for (;;) { - if ((i = PQueueGetMax(&queue)) == -1) - break; - moved[i] = 1; - - myrinfo = graph->rinfo+i; - from = where[i]; - vwgt = graph->vwgt[i]; - - if (pwgts[from]-vwgt < minwgt[from]) - continue; /* This cannot be moved! */ - - myedegrees = myrinfo->edegrees; - myndegrees = myrinfo->ndegrees; - - for (k=0; k minwgt[to] && myedegrees[k].ed-myrinfo->id < 0) - continue; - - /*===================================================================== - * If we got here, we can now move the vertex from 'from' to 'to' - *======================================================================*/ - graph->mincut -= myedegrees[k].ed-myrinfo->id; - - IFSET(ctrl->dbglvl, DBG_MOVEINFO, printf("\t\tMoving %6d to %3d. Gain: %4d. Cut: %6d\n", i, to, myedegrees[k].ed-myrinfo->id, graph->mincut)); - - /* Update where, weight, and ID/ED information of the vertex you moved */ - where[i] = to; - INC_DEC(pwgts[to], pwgts[from], vwgt); - myrinfo->ed += myrinfo->id-myedegrees[k].ed; - SWAP(myrinfo->id, myedegrees[k].ed, j); - if (myedegrees[k].ed == 0) - myedegrees[k] = myedegrees[--myrinfo->ndegrees]; - else - myedegrees[k].pid = from; - - if (myrinfo->ed == 0) - BNDDelete(nbnd, bndind, bndptr, i); - - /* Update the degrees of adjacent vertices */ - for (j=xadj[i]; jrinfo+ii; - if (myrinfo->edegrees == NULL) { - myrinfo->edegrees = ctrl->wspace.edegrees+ctrl->wspace.cdegree; - ctrl->wspace.cdegree += xadj[ii+1]-xadj[ii]; - } - myedegrees = myrinfo->edegrees; - - ASSERT(CheckRInfo(myrinfo)); - - oldgain = (myrinfo->ed-myrinfo->id); - - if (me == from) { - INC_DEC(myrinfo->ed, myrinfo->id, adjwgt[j]); - - if (myrinfo->ed > 0 && bndptr[ii] == -1) - BNDInsert(nbnd, bndind, bndptr, ii); - } - else if (me == to) { - INC_DEC(myrinfo->id, myrinfo->ed, adjwgt[j]); - - if (myrinfo->ed == 0 && bndptr[ii] != -1) - BNDDelete(nbnd, bndind, bndptr, ii); - } - - /* Remove contribution from the .ed of 'from' */ - if (me != from) { - for (k=0; kndegrees; k++) { - if (myedegrees[k].pid == from) { - if (myedegrees[k].ed == adjwgt[j]) - myedegrees[k] = myedegrees[--myrinfo->ndegrees]; - else - myedegrees[k].ed -= adjwgt[j]; - break; - } - } - } - - /* Add contribution to the .ed of 'to' */ - if (me != to) { - for (k=0; kndegrees; k++) { - if (myedegrees[k].pid == to) { - myedegrees[k].ed += adjwgt[j]; - break; - } - } - if (k == myrinfo->ndegrees) { - myedegrees[myrinfo->ndegrees].pid = to; - myedegrees[myrinfo->ndegrees++].ed = adjwgt[j]; - } - } - - /* Update the queue */ - if (me == to || me == from) { - gain = myrinfo->ed-myrinfo->id; - if (moved[ii] == 2) { - if (myrinfo->ed > 0) - PQueueUpdate(&queue, ii, oldgain, gain); - else { - PQueueDelete(&queue, ii, oldgain); - moved[ii] = -1; - } - } - else if (moved[ii] == -1 && myrinfo->ed > 0) { - PQueueInsert(&queue, ii, gain); - moved[ii] = 2; - } - } - - ASSERT(myrinfo->ndegrees <= xadj[ii+1]-xadj[ii]); - ASSERT(CheckRInfo(myrinfo)); - } - nmoves++; - } - - graph->nbnd = nbnd; - - IFSET(ctrl->dbglvl, DBG_REFINE, - printf("\t[%6d %6d], Balance: %5.3f, Nb: %6d. Nmoves: %5d, Cut: %6d\n", - pwgts[idxamin(nparts, pwgts)], pwgts[idxamax(nparts, pwgts)], - 1.0*nparts*pwgts[idxamax(nparts, pwgts)]/tvwgt, graph->nbnd, nmoves, graph->mincut)); - } - - PQueueFree(ctrl, &queue); - - idxwspacefree(ctrl, nparts); - idxwspacefree(ctrl, nparts); - idxwspacefree(ctrl, nparts); - idxwspacefree(ctrl, nvtxs); - idxwspacefree(ctrl, nvtxs); - -} - diff --git a/lib/metis-4.0/Lib/kwayrefine.c b/lib/metis-4.0/Lib/kwayrefine.c deleted file mode 100755 index b56ac5ea3..000000000 --- a/lib/metis-4.0/Lib/kwayrefine.c +++ /dev/null @@ -1,392 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * kwayrefine.c - * - * This file contains the driving routines for multilevel k-way refinement - * - * Started 7/28/97 - * George - * - * $Id: kwayrefine.c,v 1.1 1998/11/27 17:59:17 karypis Exp $ - */ - -#include - - -/************************************************************************* -* This function is the entry point of refinement -**************************************************************************/ -void RefineKWay(CtrlType *ctrl, GraphType *orggraph, GraphType *graph, int nparts, float *tpwgts, float ubfactor) -{ - int i, nlevels, mustfree=0; - GraphType *ptr; - - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->UncoarsenTmr)); - - /* Compute the parameters of the coarsest graph */ - ComputeKWayPartitionParams(ctrl, graph, nparts); - - /* Take care any non-contiguity */ - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->AuxTmr1)); - if (ctrl->RType == RTYPE_KWAYRANDOM_MCONN) { - EliminateComponents(ctrl, graph, nparts, tpwgts, 1.25); - EliminateSubDomainEdges(ctrl, graph, nparts, tpwgts); - EliminateComponents(ctrl, graph, nparts, tpwgts, 1.25); - } - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->AuxTmr1)); - - /* Determine how many levels are there */ - for (ptr=graph, nlevels=0; ptr!=orggraph; ptr=ptr->finer, nlevels++); - - for (i=0; ;i++) { - /* PrintSubDomainGraph(graph, nparts, graph->where); */ - if (ctrl->RType == RTYPE_KWAYRANDOM_MCONN && (i == nlevels/2 || i == nlevels/2+1)) - EliminateSubDomainEdges(ctrl, graph, nparts, tpwgts); - - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->RefTmr)); - - if (2*i >= nlevels && !IsBalanced(graph->pwgts, nparts, tpwgts, 1.04*ubfactor)) { - ComputeKWayBalanceBoundary(ctrl, graph, nparts); - if (ctrl->RType == RTYPE_KWAYRANDOM_MCONN) - Greedy_KWayEdgeBalanceMConn(ctrl, graph, nparts, tpwgts, ubfactor, 1); - else - Greedy_KWayEdgeBalance(ctrl, graph, nparts, tpwgts, ubfactor, 1); - ComputeKWayBoundary(ctrl, graph, nparts); - } - - switch (ctrl->RType) { - case RTYPE_KWAYRANDOM: - Random_KWayEdgeRefine(ctrl, graph, nparts, tpwgts, ubfactor, 10, 1); - break; - case RTYPE_KWAYGREEDY: - Greedy_KWayEdgeRefine(ctrl, graph, nparts, tpwgts, ubfactor, 10); - break; - case RTYPE_KWAYRANDOM_MCONN: - Random_KWayEdgeRefineMConn(ctrl, graph, nparts, tpwgts, ubfactor, 10, 1); - break; - } - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->RefTmr)); - - if (graph == orggraph) - break; - - GKfree(&graph->gdata, LTERM); /* Deallocate the graph related arrays */ - - graph = graph->finer; - - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->ProjectTmr)); - if (graph->vwgt == NULL) { - graph->vwgt = idxsmalloc(graph->nvtxs, 1, "RefineKWay: graph->vwgt"); - graph->adjwgt = idxsmalloc(graph->nedges, 1, "RefineKWay: graph->adjwgt"); - mustfree = 1; - } - ProjectKWayPartition(ctrl, graph, nparts); - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->ProjectTmr)); - } - - if (!IsBalanced(graph->pwgts, nparts, tpwgts, ubfactor)) { - ComputeKWayBalanceBoundary(ctrl, graph, nparts); - if (ctrl->RType == RTYPE_KWAYRANDOM_MCONN) { - Greedy_KWayEdgeBalanceMConn(ctrl, graph, nparts, tpwgts, ubfactor, 8); - Random_KWayEdgeRefineMConn(ctrl, graph, nparts, tpwgts, ubfactor, 10, 0); - } - else { - Greedy_KWayEdgeBalance(ctrl, graph, nparts, tpwgts, ubfactor, 8); - Random_KWayEdgeRefine(ctrl, graph, nparts, tpwgts, ubfactor, 10, 0); - } - } - - /* Take care any trivial non-contiguity */ - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->AuxTmr2)); - EliminateComponents(ctrl, graph, nparts, tpwgts, ubfactor); - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->AuxTmr2)); - - if (mustfree) - GKfree(&graph->vwgt, &graph->adjwgt, LTERM); - - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->UncoarsenTmr)); -} - - -/************************************************************************* -* This function allocates memory for k-way edge refinement -**************************************************************************/ -void AllocateKWayPartitionMemory(CtrlType *ctrl, GraphType *graph, int nparts) -{ - int nvtxs, pad64; - - nvtxs = graph->nvtxs; - - pad64 = (3*nvtxs+nparts)%2; - - graph->rdata = idxmalloc(3*nvtxs+nparts+(sizeof(RInfoType)/sizeof(idxtype))*nvtxs+pad64, "AllocateKWayPartitionMemory: rdata"); - graph->pwgts = graph->rdata; - graph->where = graph->rdata + nparts; - graph->bndptr = graph->rdata + nvtxs + nparts; - graph->bndind = graph->rdata + 2*nvtxs + nparts; - graph->rinfo = (RInfoType *)(graph->rdata + 3*nvtxs+nparts + pad64); - -/* - if (ctrl->wspace.edegrees != NULL) - free(ctrl->wspace.edegrees); - ctrl->wspace.edegrees = (EDegreeType *)GKmalloc(graph->nedges*sizeof(EDegreeType), "AllocateKWayPartitionMemory: edegrees"); -*/ -} - - -/************************************************************************* -* This function computes the initial id/ed -**************************************************************************/ -void ComputeKWayPartitionParams(CtrlType *ctrl, GraphType *graph, int nparts) -{ - int i, j, k, l, nvtxs, nbnd, mincut, me, other; - idxtype *xadj, *vwgt, *adjncy, *adjwgt, *pwgts, *where, *bndind, *bndptr; - RInfoType *rinfo, *myrinfo; - EDegreeType *myedegrees; - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - vwgt = graph->vwgt; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - - where = graph->where; - pwgts = idxset(nparts, 0, graph->pwgts); - bndind = graph->bndind; - bndptr = idxset(nvtxs, -1, graph->bndptr); - rinfo = graph->rinfo; - - - /*------------------------------------------------------------ - / Compute now the id/ed degrees - /------------------------------------------------------------*/ - ctrl->wspace.cdegree = 0; - nbnd = mincut = 0; - for (i=0; iid = myrinfo->ed = myrinfo->ndegrees = 0; - myrinfo->edegrees = NULL; - - for (j=xadj[i]; jed += adjwgt[j]; - } - myrinfo->id = graph->adjwgtsum[i] - myrinfo->ed; - - if (myrinfo->ed > 0) - mincut += myrinfo->ed; - - if (myrinfo->ed-myrinfo->id >= 0) - BNDInsert(nbnd, bndind, bndptr, i); - - /* Time to compute the particular external degrees */ - if (myrinfo->ed > 0) { - myedegrees = myrinfo->edegrees = ctrl->wspace.edegrees+ctrl->wspace.cdegree; - ctrl->wspace.cdegree += xadj[i+1]-xadj[i]; - - for (j=xadj[i]; jndegrees; k++) { - if (myedegrees[k].pid == other) { - myedegrees[k].ed += adjwgt[j]; - break; - } - } - if (k == myrinfo->ndegrees) { - myedegrees[myrinfo->ndegrees].pid = other; - myedegrees[myrinfo->ndegrees++].ed = adjwgt[j]; - } - } - } - - ASSERT(myrinfo->ndegrees <= xadj[i+1]-xadj[i]); - } - } - - graph->mincut = mincut/2; - graph->nbnd = nbnd; - -} - - - -/************************************************************************* -* This function projects a partition, and at the same time computes the -* parameters for refinement. -**************************************************************************/ -void ProjectKWayPartition(CtrlType *ctrl, GraphType *graph, int nparts) -{ - int i, j, k, nvtxs, nbnd, me, other, istart, iend, ndegrees; - idxtype *xadj, *adjncy, *adjwgt, *adjwgtsum; - idxtype *cmap, *where, *bndptr, *bndind; - idxtype *cwhere; - GraphType *cgraph; - RInfoType *crinfo, *rinfo, *myrinfo; - EDegreeType *myedegrees; - idxtype *htable; - - cgraph = graph->coarser; - cwhere = cgraph->where; - crinfo = cgraph->rinfo; - - nvtxs = graph->nvtxs; - cmap = graph->cmap; - xadj = graph->xadj; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - adjwgtsum = graph->adjwgtsum; - - AllocateKWayPartitionMemory(ctrl, graph, nparts); - where = graph->where; - rinfo = graph->rinfo; - bndind = graph->bndind; - bndptr = idxset(nvtxs, -1, graph->bndptr); - - /* Go through and project partition and compute id/ed for the nodes */ - for (i=0; iwspace.cdegree = 0; - for (nbnd=0, i=0; iid = myrinfo->ed = myrinfo->ndegrees = 0; - myrinfo->edegrees = NULL; - - myrinfo->id = adjwgtsum[i]; - - if (cmap[i] > 0) { /* If it is an interface node. Note cmap[i] = crinfo[cmap[i]].ed */ - istart = xadj[i]; - iend = xadj[i+1]; - - myedegrees = myrinfo->edegrees = ctrl->wspace.edegrees+ctrl->wspace.cdegree; - ctrl->wspace.cdegree += iend-istart; - - ndegrees = 0; - for (j=istart; jed += adjwgt[j]; - if ((k = htable[other]) == -1) { - htable[other] = ndegrees; - myedegrees[ndegrees].pid = other; - myedegrees[ndegrees++].ed = adjwgt[j]; - } - else { - myedegrees[k].ed += adjwgt[j]; - } - } - } - myrinfo->id -= myrinfo->ed; - - /* Remove space for edegrees if it was interior */ - if (myrinfo->ed == 0) { - myrinfo->edegrees = NULL; - ctrl->wspace.cdegree -= iend-istart; - } - else { - if (myrinfo->ed-myrinfo->id >= 0) - BNDInsert(nbnd, bndind, bndptr, i); - - myrinfo->ndegrees = ndegrees; - - for (j=0; jpwgts, graph->pwgts); - graph->mincut = cgraph->mincut; - graph->nbnd = nbnd; - - FreeGraph(graph->coarser); - graph->coarser = NULL; - - idxwspacefree(ctrl, nparts); - - ASSERT(CheckBnd2(graph)); - -} - - - -/************************************************************************* -* This function checks if the partition weights are within the balance -* contraints -**************************************************************************/ -int IsBalanced(idxtype *pwgts, int nparts, float *tpwgts, float ubfactor) -{ - int i, j, tvwgt; - - tvwgt = idxsum(nparts, pwgts); - for (i=0; i tpwgts[i]*tvwgt*(ubfactor+0.005)) - return 0; - } - - return 1; -} - - -/************************************************************************* -* This function computes the boundary definition for balancing -**************************************************************************/ -void ComputeKWayBoundary(CtrlType *ctrl, GraphType *graph, int nparts) -{ - int i, nvtxs, nbnd; - idxtype *bndind, *bndptr; - - nvtxs = graph->nvtxs; - bndind = graph->bndind; - bndptr = idxset(nvtxs, -1, graph->bndptr); - - - /*------------------------------------------------------------ - / Compute the new boundary - /------------------------------------------------------------*/ - nbnd = 0; - for (i=0; irinfo[i].ed-graph->rinfo[i].id >= 0) - BNDInsert(nbnd, bndind, bndptr, i); - } - - graph->nbnd = nbnd; -} - -/************************************************************************* -* This function computes the boundary definition for balancing -**************************************************************************/ -void ComputeKWayBalanceBoundary(CtrlType *ctrl, GraphType *graph, int nparts) -{ - int i, nvtxs, nbnd; - idxtype *bndind, *bndptr; - - nvtxs = graph->nvtxs; - bndind = graph->bndind; - bndptr = idxset(nvtxs, -1, graph->bndptr); - - - /*------------------------------------------------------------ - / Compute the new boundary - /------------------------------------------------------------*/ - nbnd = 0; - for (i=0; irinfo[i].ed > 0) - BNDInsert(nbnd, bndind, bndptr, i); - } - - graph->nbnd = nbnd; -} - diff --git a/lib/metis-4.0/Lib/kwayvolfm.c b/lib/metis-4.0/Lib/kwayvolfm.c deleted file mode 100755 index 2cb21cbe6..000000000 --- a/lib/metis-4.0/Lib/kwayvolfm.c +++ /dev/null @@ -1,1778 +0,0 @@ -/* - * kwayvolfm.c - * - * This file contains code that implements the multilevel k-way refinement - * - * Started 7/8/98 - * George - * - * $Id: kwayvolfm.c,v 1.1 1998/11/27 17:59:17 karypis Exp $ - * - */ - -#include - - -/************************************************************************* -* This function performs k-way refinement -**************************************************************************/ -void Random_KWayVolRefine(CtrlType *ctrl, GraphType *graph, int nparts, float *tpwgts, - float ubfactor, int npasses, int ffactor) -{ - int i, ii, iii, j, jj, k, kk, l, u, pass, nvtxs, nmoves, tvwgt, myndegrees, xgain; - int from, me, to, oldcut, oldvol, vwgt; - idxtype *xadj, *adjncy, *adjwgt; - idxtype *where, *pwgts, *perm, *bndptr, *bndind, *minwgt, *maxwgt, *itpwgts, *updind, *marker, *phtable; - VEDegreeType *myedegrees; - VRInfoType *myrinfo; - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - - bndptr = graph->bndptr; - bndind = graph->bndind; - - where = graph->where; - pwgts = graph->pwgts; - - /* Setup the weight intervals of the various subdomains */ - minwgt = idxwspacemalloc(ctrl, nparts); - maxwgt = idxwspacemalloc(ctrl, nparts); - itpwgts = idxwspacemalloc(ctrl, nparts); - tvwgt = idxsum(nparts, pwgts); - ASSERT(tvwgt == idxsum(nvtxs, graph->vwgt)); - - updind = idxmalloc(nvtxs, "Random_KWayVolRefine: updind"); - marker = idxsmalloc(nvtxs, 0, "Random_KWayVolRefine: marker"); - phtable = idxsmalloc(nparts, -1, "Random_KWayVolRefine: phtable"); - - for (i=0; idbglvl, DBG_REFINE, - printf("VolPart: [%5d %5d]-[%5d %5d], Balance: %3.2f, Nv-Nb[%5d %5d]. Cut: %5d, Vol: %5d\n", - pwgts[idxamin(nparts, pwgts)], pwgts[idxamax(nparts, pwgts)], minwgt[0], maxwgt[0], - 1.0*nparts*pwgts[idxamax(nparts, pwgts)]/tvwgt, graph->nvtxs, graph->nbnd, - graph->mincut, graph->minvol)); - - for (pass=0; passmincut); - - oldcut = graph->mincut; - oldvol = graph->minvol; - - RandomPermute(graph->nbnd, perm, 1); - for (nmoves=iii=0; iiinbnd; iii++) { - ii = perm[iii]; - if (ii >= graph->nbnd) - continue; - i = bndind[ii]; - myrinfo = graph->vrinfo+i; - - if (myrinfo->gv >= 0) { /* Total volume gain is too high */ - from = where[i]; - vwgt = graph->vwgt[i]; - - if (myrinfo->id > 0 && pwgts[from]-vwgt < minwgt[from]) - continue; /* This cannot be moved! */ - - xgain = (myrinfo->id == 0 && myrinfo->ed > 0 ? graph->vsize[i] : 0); - - myedegrees = myrinfo->edegrees; - myndegrees = myrinfo->ndegrees; - - for (k=0; k= 0) - break; - } - if (k == myndegrees) - continue; /* break out if you did not find a candidate */ - - for (j=k+1; j maxwgt[to]) - continue; - if (myedegrees[j].gv > myedegrees[k].gv || - (myedegrees[j].gv == myedegrees[k].gv && myedegrees[j].ed > myedegrees[k].ed) || - (myedegrees[j].gv == myedegrees[k].gv && myedegrees[j].ed == myedegrees[k].ed && - itpwgts[myedegrees[k].pid]*pwgts[to] < itpwgts[to]*pwgts[myedegrees[k].pid])) - k = j; - } - - to = myedegrees[k].pid; - - j = 0; - if (xgain+myedegrees[k].gv > 0 || myedegrees[k].ed-myrinfo->id > 0) - j = 1; - else if (myedegrees[k].ed-myrinfo->id == 0) { - if ((iii&5) == 0 || pwgts[from] >= maxwgt[from] || itpwgts[from]*(pwgts[to]+vwgt) < itpwgts[to]*pwgts[from]) - j = 1; - } - if (j == 0) - continue; - - /*===================================================================== - * If we got here, we can now move the vertex from 'from' to 'to' - *======================================================================*/ - INC_DEC(pwgts[to], pwgts[from], vwgt); - graph->mincut -= myedegrees[k].ed-myrinfo->id; - graph->minvol -= (xgain+myedegrees[k].gv); - where[i] = to; - - IFSET(ctrl->dbglvl, DBG_MOVEINFO, printf("\t\tMoving %6d from %3d to %3d. Gain: [%4d %4d]. Cut: %6d, Vol: %6d\n", - i, from, to, xgain+myedegrees[k].gv, myedegrees[k].ed-myrinfo->id, graph->mincut, graph->minvol)); - - KWayVolUpdate(ctrl, graph, i, from, to, marker, phtable, updind); - - nmoves++; - - /* CheckVolKWayPartitionParams(ctrl, graph, nparts); */ - } - } - - IFSET(ctrl->dbglvl, DBG_REFINE, - printf("\t[%6d %6d], Balance: %5.3f, Nb: %6d. Nmoves: %5d, Cut: %6d, Vol: %6d\n", - pwgts[idxamin(nparts, pwgts)], pwgts[idxamax(nparts, pwgts)], - 1.0*nparts*pwgts[idxamax(nparts, pwgts)]/tvwgt, graph->nbnd, nmoves, graph->mincut, - graph->minvol)); - - if (graph->minvol == oldvol && graph->mincut == oldcut) - break; - } - - GKfree(&marker, &updind, &phtable, LTERM); - - idxwspacefree(ctrl, nparts); - idxwspacefree(ctrl, nparts); - idxwspacefree(ctrl, nparts); - idxwspacefree(ctrl, nvtxs); -} - - -/************************************************************************* -* This function performs k-way refinement -**************************************************************************/ -void Random_KWayVolRefineMConn(CtrlType *ctrl, GraphType *graph, int nparts, float *tpwgts, - float ubfactor, int npasses, int ffactor) -{ - int i, ii, iii, j, jj, k, kk, l, u, pass, nvtxs, nmoves, tvwgt, myndegrees, xgain; - int from, me, to, oldcut, oldvol, vwgt, nadd, maxndoms; - idxtype *xadj, *adjncy, *adjwgt; - idxtype *where, *pwgts, *perm, *bndptr, *bndind, *minwgt, *maxwgt, *itpwgts, *updind, *marker, *phtable; - idxtype *pmat, *pmatptr, *ndoms; - VEDegreeType *myedegrees; - VRInfoType *myrinfo; - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - - bndptr = graph->bndptr; - bndind = graph->bndind; - - where = graph->where; - pwgts = graph->pwgts; - - /* Setup the weight intervals of the various subdomains */ - minwgt = idxwspacemalloc(ctrl, nparts); - maxwgt = idxwspacemalloc(ctrl, nparts); - itpwgts = idxwspacemalloc(ctrl, nparts); - tvwgt = idxsum(nparts, pwgts); - ASSERT(tvwgt == idxsum(nvtxs, graph->vwgt)); - - updind = idxmalloc(nvtxs, "Random_KWayVolRefine: updind"); - marker = idxsmalloc(nvtxs, 0, "Random_KWayVolRefine: marker"); - phtable = idxsmalloc(nparts, -1, "Random_KWayVolRefine: phtable"); - - pmat = ctrl->wspace.pmat; - ndoms = idxwspacemalloc(ctrl, nparts); - - ComputeVolSubDomainGraph(graph, nparts, pmat, ndoms); - - for (i=0; idbglvl, DBG_REFINE, - printf("VolPart: [%5d %5d]-[%5d %5d], Balance: %3.2f, Nv-Nb[%5d %5d]. Cut: %5d, Vol: %5d\n", - pwgts[idxamin(nparts, pwgts)], pwgts[idxamax(nparts, pwgts)], minwgt[0], maxwgt[0], - 1.0*nparts*pwgts[idxamax(nparts, pwgts)]/tvwgt, graph->nvtxs, graph->nbnd, - graph->mincut, graph->minvol)); - - for (pass=0; passmincut); - - maxndoms = ndoms[idxamax(nparts, ndoms)]; - - oldcut = graph->mincut; - oldvol = graph->minvol; - - RandomPermute(graph->nbnd, perm, 1); - for (nmoves=iii=0; iiinbnd; iii++) { - ii = perm[iii]; - if (ii >= graph->nbnd) - continue; - i = bndind[ii]; - myrinfo = graph->vrinfo+i; - - if (myrinfo->gv >= 0) { /* Total volume gain is too high */ - from = where[i]; - vwgt = graph->vwgt[i]; - - if (myrinfo->id > 0 && pwgts[from]-vwgt < minwgt[from]) - continue; /* This cannot be moved! */ - - xgain = (myrinfo->id == 0 && myrinfo->ed > 0 ? graph->vsize[i] : 0); - - myedegrees = myrinfo->edegrees; - myndegrees = myrinfo->ndegrees; - - /* Determine the valid domains */ - for (j=0; j maxndoms-1) { - phtable[to] = 0; - nadd = maxndoms; - break; - } - nadd++; - } - } - if (ndoms[to]+nadd > maxndoms) - phtable[to] = 0; - if (nadd == 0) - phtable[to] = 2; - } - - for (k=0; k= 0) - break; - } - if (k == myndegrees) - continue; /* break out if you did not find a candidate */ - - for (j=k+1; j maxwgt[to]) - continue; - if (myedegrees[j].gv > myedegrees[k].gv || - (myedegrees[j].gv == myedegrees[k].gv && myedegrees[j].ed > myedegrees[k].ed) || - (myedegrees[j].gv == myedegrees[k].gv && myedegrees[j].ed == myedegrees[k].ed && - itpwgts[myedegrees[k].pid]*pwgts[to] < itpwgts[to]*pwgts[myedegrees[k].pid])) - k = j; - } - - to = myedegrees[k].pid; - - j = 0; - if (xgain+myedegrees[k].gv > 0 || myedegrees[k].ed-myrinfo->id > 0) - j = 1; - else if (myedegrees[k].ed-myrinfo->id == 0) { - if ((iii&5) == 0 || phtable[myedegrees[k].pid] == 2 || pwgts[from] >= maxwgt[from] || itpwgts[from]*(pwgts[to]+vwgt) < itpwgts[to]*pwgts[from]) - j = 1; - } - - if (j == 0) - continue; - - for (j=0; jmincut -= myedegrees[k].ed-myrinfo->id; - graph->minvol -= (xgain+myedegrees[k].gv); - where[i] = to; - - IFSET(ctrl->dbglvl, DBG_MOVEINFO, printf("\t\tMoving %6d from %3d to %3d. Gain: [%4d %4d]. Cut: %6d, Vol: %6d\n", - i, from, to, xgain+myedegrees[k].gv, myedegrees[k].ed-myrinfo->id, graph->mincut, graph->minvol)); - - /* Update pmat to reflect the move of 'i' */ - pmat[from*nparts+to] += (myrinfo->id-myedegrees[k].ed); - pmat[to*nparts+from] += (myrinfo->id-myedegrees[k].ed); - if (pmat[from*nparts+to] == 0) { - ndoms[from]--; - if (ndoms[from]+1 == maxndoms) - maxndoms = ndoms[idxamax(nparts, ndoms)]; - } - if (pmat[to*nparts+from] == 0) { - ndoms[to]--; - if (ndoms[to]+1 == maxndoms) - maxndoms = ndoms[idxamax(nparts, ndoms)]; - } - - for (j=xadj[i]; j maxndoms) { - printf("You just increased the maxndoms: %d %d\n", ndoms[me], maxndoms); - maxndoms = ndoms[me]; - } - } - if (pmat[to*nparts+me] == 0) { - ndoms[to]++; - if (ndoms[to] > maxndoms) { - printf("You just increased the maxndoms: %d %d\n", ndoms[to], maxndoms); - maxndoms = ndoms[to]; - } - } - pmat[me*nparts+to] += adjwgt[j]; - pmat[to*nparts+me] += adjwgt[j]; - } - } - - KWayVolUpdate(ctrl, graph, i, from, to, marker, phtable, updind); - - nmoves++; - - /* CheckVolKWayPartitionParams(ctrl, graph, nparts); */ - } - } - - IFSET(ctrl->dbglvl, DBG_REFINE, - printf("\t[%6d %6d], Balance: %5.3f, Nb: %6d. Nmoves: %5d, Cut: %6d, Vol: %6d\n", - pwgts[idxamin(nparts, pwgts)], pwgts[idxamax(nparts, pwgts)], - 1.0*nparts*pwgts[idxamax(nparts, pwgts)]/tvwgt, graph->nbnd, nmoves, graph->mincut, - graph->minvol)); - - if (graph->minvol == oldvol && graph->mincut == oldcut) - break; - } - - GKfree(&marker, &updind, &phtable, LTERM); - - idxwspacefree(ctrl, nparts); - idxwspacefree(ctrl, nparts); - idxwspacefree(ctrl, nparts); - idxwspacefree(ctrl, nparts); - idxwspacefree(ctrl, nvtxs); -} - - - - -/************************************************************************* -* This function performs k-way refinement -**************************************************************************/ -void Greedy_KWayVolBalance(CtrlType *ctrl, GraphType *graph, int nparts, float *tpwgts, - float ubfactor, int npasses) -{ - int i, ii, iii, j, jj, k, kk, l, u, pass, nvtxs, nmoves, tvwgt, myndegrees, xgain; - int from, me, to, vwgt, gain; - idxtype *xadj, *adjncy, *adjwgt; - idxtype *where, *pwgts, *perm, *moved, *bndptr, *bndind, *minwgt, *maxwgt, *itpwgts, *updind, *marker, *phtable; - VEDegreeType *myedegrees; - VRInfoType *myrinfo; - PQueueType queue; - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - - bndptr = graph->bndptr; - bndind = graph->bndind; - - where = graph->where; - pwgts = graph->pwgts; - - /* Setup the weight intervals of the various subdomains */ - minwgt = idxwspacemalloc(ctrl, nparts); - maxwgt = idxwspacemalloc(ctrl, nparts); - itpwgts = idxwspacemalloc(ctrl, nparts); - tvwgt = idxsum(nparts, pwgts); - ASSERT(tvwgt == idxsum(nvtxs, graph->vwgt)); - - updind = idxmalloc(nvtxs, "Random_KWayVolRefine: updind"); - marker = idxsmalloc(nvtxs, 0, "Random_KWayVolRefine: marker"); - phtable = idxsmalloc(nparts, -1, "Random_KWayVolRefine: phtable"); - - for (i=0; iadjwgtsum[idxamax(nvtxs, graph->adjwgtsum)]); - - IFSET(ctrl->dbglvl, DBG_REFINE, - printf("VolPart: [%5d %5d]-[%5d %5d], Balance: %3.2f, Nv-Nb[%5d %5d]. Cut: %5d, Vol: %5d [B]\n", - pwgts[idxamin(nparts, pwgts)], pwgts[idxamax(nparts, pwgts)], minwgt[0], maxwgt[0], - 1.0*nparts*pwgts[idxamax(nparts, pwgts)]/tvwgt, graph->nvtxs, graph->nbnd, - graph->mincut, graph->minvol)); - - - for (pass=0; passmincut); - /* Check to see if things are out of balance, given the tolerance */ - for (i=0; i maxwgt[i]) - break; - } - if (i == nparts) /* Things are balanced. Return right away */ - break; - - PQueueReset(&queue); - idxset(nvtxs, -1, moved); - - RandomPermute(graph->nbnd, perm, 1); - for (ii=0; iinbnd; ii++) { - i = bndind[perm[ii]]; - PQueueInsert(&queue, i, graph->vrinfo[i].gv); - moved[i] = 2; - } - - for (nmoves=0;;) { - if ((i = PQueueGetMax(&queue)) == -1) - break; - moved[i] = 1; - - myrinfo = graph->vrinfo+i; - from = where[i]; - vwgt = graph->vwgt[i]; - - if (pwgts[from]-vwgt < minwgt[from]) - continue; /* This cannot be moved! */ - - xgain = (myrinfo->id == 0 && myrinfo->ed > 0 ? graph->vsize[i] : 0); - - myedegrees = myrinfo->edegrees; - myndegrees = myrinfo->ndegrees; - - for (k=0; k minwgt[to] && - (xgain+myedegrees[k].gv < 0 || - (xgain+myedegrees[k].gv == 0 && myedegrees[k].ed-myrinfo->id < 0)) - ) - continue; - - - /*===================================================================== - * If we got here, we can now move the vertex from 'from' to 'to' - *======================================================================*/ - INC_DEC(pwgts[to], pwgts[from], vwgt); - graph->mincut -= myedegrees[k].ed-myrinfo->id; - graph->minvol -= (xgain+myedegrees[k].gv); - where[i] = to; - - IFSET(ctrl->dbglvl, DBG_MOVEINFO, printf("\t\tMoving %6d from %3d to %3d. Gain: [%4d %4d]. Cut: %6d, Vol: %6d\n", - i, from, to, xgain+myedegrees[k].gv, myedegrees[k].ed-myrinfo->id, graph->mincut, graph->minvol)); - - KWayVolUpdate(ctrl, graph, i, from, to, marker, phtable, updind); - - nmoves++; - - /*CheckVolKWayPartitionParams(ctrl, graph, nparts); */ - } - - IFSET(ctrl->dbglvl, DBG_REFINE, - printf("\t[%6d %6d], Balance: %5.3f, Nb: %6d. Nmoves: %5d, Cut: %6d, Vol: %6d\n", - pwgts[idxamin(nparts, pwgts)], pwgts[idxamax(nparts, pwgts)], - 1.0*nparts*pwgts[idxamax(nparts, pwgts)]/tvwgt, graph->nbnd, nmoves, graph->mincut, - graph->minvol)); - - } - - GKfree(&marker, &updind, &phtable, LTERM); - - PQueueFree(ctrl, &queue); - - idxwspacefree(ctrl, nparts); - idxwspacefree(ctrl, nparts); - idxwspacefree(ctrl, nparts); - idxwspacefree(ctrl, nvtxs); - idxwspacefree(ctrl, nvtxs); -} - - - -/************************************************************************* -* This function performs k-way refinement -**************************************************************************/ -void Greedy_KWayVolBalanceMConn(CtrlType *ctrl, GraphType *graph, int nparts, float *tpwgts, - float ubfactor, int npasses) -{ - int i, ii, iii, j, jj, k, kk, l, u, pass, nvtxs, nmoves, tvwgt, myndegrees, xgain; - int from, me, to, vwgt, gain, maxndoms, nadd; - idxtype *xadj, *adjncy, *adjwgt; - idxtype *where, *pwgts, *perm, *moved, *bndptr, *bndind, *minwgt, *maxwgt, *itpwgts, *updind, *marker, *phtable; - idxtype *pmat, *pmatptr, *ndoms; - VEDegreeType *myedegrees; - VRInfoType *myrinfo; - PQueueType queue; - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - - bndptr = graph->bndptr; - bndind = graph->bndind; - - where = graph->where; - pwgts = graph->pwgts; - - /* Setup the weight intervals of the various subdomains */ - minwgt = idxwspacemalloc(ctrl, nparts); - maxwgt = idxwspacemalloc(ctrl, nparts); - itpwgts = idxwspacemalloc(ctrl, nparts); - tvwgt = idxsum(nparts, pwgts); - ASSERT(tvwgt == idxsum(nvtxs, graph->vwgt)); - - updind = idxmalloc(nvtxs, "Random_KWayVolRefine: updind"); - marker = idxsmalloc(nvtxs, 0, "Random_KWayVolRefine: marker"); - phtable = idxsmalloc(nparts, -1, "Random_KWayVolRefine: phtable"); - - pmat = ctrl->wspace.pmat; - ndoms = idxwspacemalloc(ctrl, nparts); - - ComputeVolSubDomainGraph(graph, nparts, pmat, ndoms); - - for (i=0; iadjwgtsum[idxamax(nvtxs, graph->adjwgtsum)]); - - IFSET(ctrl->dbglvl, DBG_REFINE, - printf("VolPart: [%5d %5d]-[%5d %5d], Balance: %3.2f, Nv-Nb[%5d %5d]. Cut: %5d, Vol: %5d [B]\n", - pwgts[idxamin(nparts, pwgts)], pwgts[idxamax(nparts, pwgts)], minwgt[0], maxwgt[0], - 1.0*nparts*pwgts[idxamax(nparts, pwgts)]/tvwgt, graph->nvtxs, graph->nbnd, - graph->mincut, graph->minvol)); - - - for (pass=0; passmincut); - /* Check to see if things are out of balance, given the tolerance */ - for (i=0; i maxwgt[i]) - break; - } - if (i == nparts) /* Things are balanced. Return right away */ - break; - - PQueueReset(&queue); - idxset(nvtxs, -1, moved); - - RandomPermute(graph->nbnd, perm, 1); - for (ii=0; iinbnd; ii++) { - i = bndind[perm[ii]]; - PQueueInsert(&queue, i, graph->vrinfo[i].gv); - moved[i] = 2; - } - - maxndoms = ndoms[idxamax(nparts, ndoms)]; - - for (nmoves=0;;) { - if ((i = PQueueGetMax(&queue)) == -1) - break; - moved[i] = 1; - - myrinfo = graph->vrinfo+i; - from = where[i]; - vwgt = graph->vwgt[i]; - - if (pwgts[from]-vwgt < minwgt[from]) - continue; /* This cannot be moved! */ - - xgain = (myrinfo->id == 0 && myrinfo->ed > 0 ? graph->vsize[i] : 0); - - myedegrees = myrinfo->edegrees; - myndegrees = myrinfo->ndegrees; - - /* Determine the valid domains */ - for (j=0; j maxndoms-1) { - phtable[to] = 0; - nadd = maxndoms; - break; - } - nadd++; - } - } - if (ndoms[to]+nadd > maxndoms) - phtable[to] = 0; - } - - for (k=0; k minwgt[to] && - (xgain+myedegrees[k].gv < 0 || - (xgain+myedegrees[k].gv == 0 && myedegrees[k].ed-myrinfo->id < 0)) - ) - continue; - - - /*===================================================================== - * If we got here, we can now move the vertex from 'from' to 'to' - *======================================================================*/ - INC_DEC(pwgts[to], pwgts[from], vwgt); - graph->mincut -= myedegrees[k].ed-myrinfo->id; - graph->minvol -= (xgain+myedegrees[k].gv); - where[i] = to; - - IFSET(ctrl->dbglvl, DBG_MOVEINFO, printf("\t\tMoving %6d from %3d to %3d. Gain: [%4d %4d]. Cut: %6d, Vol: %6d\n", - i, from, to, xgain+myedegrees[k].gv, myedegrees[k].ed-myrinfo->id, graph->mincut, graph->minvol)); - - /* Update pmat to reflect the move of 'i' */ - pmat[from*nparts+to] += (myrinfo->id-myedegrees[k].ed); - pmat[to*nparts+from] += (myrinfo->id-myedegrees[k].ed); - if (pmat[from*nparts+to] == 0) { - ndoms[from]--; - if (ndoms[from]+1 == maxndoms) - maxndoms = ndoms[idxamax(nparts, ndoms)]; - } - if (pmat[to*nparts+from] == 0) { - ndoms[to]--; - if (ndoms[to]+1 == maxndoms) - maxndoms = ndoms[idxamax(nparts, ndoms)]; - } - - for (j=xadj[i]; j maxndoms) { - printf("You just increased the maxndoms: %d %d\n", ndoms[me], maxndoms); - maxndoms = ndoms[me]; - } - } - if (pmat[to*nparts+me] == 0) { - ndoms[to]++; - if (ndoms[to] > maxndoms) { - printf("You just increased the maxndoms: %d %d\n", ndoms[to], maxndoms); - maxndoms = ndoms[to]; - } - } - pmat[me*nparts+to] += adjwgt[j]; - pmat[to*nparts+me] += adjwgt[j]; - } - } - - KWayVolUpdate(ctrl, graph, i, from, to, marker, phtable, updind); - - nmoves++; - - /*CheckVolKWayPartitionParams(ctrl, graph, nparts); */ - } - - IFSET(ctrl->dbglvl, DBG_REFINE, - printf("\t[%6d %6d], Balance: %5.3f, Nb: %6d. Nmoves: %5d, Cut: %6d, Vol: %6d\n", - pwgts[idxamin(nparts, pwgts)], pwgts[idxamax(nparts, pwgts)], - 1.0*nparts*pwgts[idxamax(nparts, pwgts)]/tvwgt, graph->nbnd, nmoves, graph->mincut, - graph->minvol)); - - } - - GKfree(&marker, &updind, &phtable, LTERM); - - PQueueFree(ctrl, &queue); - - idxwspacefree(ctrl, nparts); - idxwspacefree(ctrl, nparts); - idxwspacefree(ctrl, nparts); - idxwspacefree(ctrl, nparts); - idxwspacefree(ctrl, nvtxs); - idxwspacefree(ctrl, nvtxs); -} - - - - -/************************************************************************* -* This function updates the edge and volume gains as a result of moving -* v from 'from' to 'to'. -* The working arrays marker and phtable are assumed to be initialized to -* -1, and they left to -1 upon return -**************************************************************************/ -void KWayVolUpdate(CtrlType *ctrl, GraphType *graph, int v, int from, int to, - idxtype *marker, idxtype *phtable, idxtype *updind) -{ - int ii, iii, j, jj, k, kk, l, u, nupd, other, me, myidx; - idxtype *xadj, *vsize, *adjncy, *adjwgt, *where; - VEDegreeType *myedegrees, *oedegrees; - VRInfoType *myrinfo, *orinfo; - - xadj = graph->xadj; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - vsize = graph->vsize; - where = graph->where; - - myrinfo = graph->vrinfo+v; - myedegrees = myrinfo->edegrees; - - - /*====================================================================== - * Remove the contributions on the gain made by 'v'. - *=====================================================================*/ - for (k=0; kndegrees; k++) - phtable[myedegrees[k].pid] = k; - phtable[from] = k; - - myidx = phtable[to]; /* Keep track of the index in myedegrees of the 'to' domain */ - - for (j=xadj[v]; jvrinfo+ii; - oedegrees = orinfo->edegrees; - - if (other == from) { - for (k=0; kndegrees; k++) { - if (phtable[oedegrees[k].pid] == -1) - oedegrees[k].gv += vsize[v]; - } - } - else { - ASSERT(phtable[other] != -1); - - if (myedegrees[phtable[other]].ned > 1) { - for (k=0; kndegrees; k++) { - if (phtable[oedegrees[k].pid] == -1) - oedegrees[k].gv += vsize[v]; - } - } - else { /* There is only one connection */ - for (k=0; kndegrees; k++) { - if (phtable[oedegrees[k].pid] != -1) - oedegrees[k].gv -= vsize[v]; - } - } - } - } - - for (k=0; kndegrees; k++) - phtable[myedegrees[k].pid] = -1; - phtable[from] = -1; - - - /*====================================================================== - * Update the id/ed of vertex 'v' - *=====================================================================*/ - myrinfo->ed += myrinfo->id-myedegrees[myidx].ed; - SWAP(myrinfo->id, myedegrees[myidx].ed, j); - SWAP(myrinfo->nid, myedegrees[myidx].ned, j); - if (myedegrees[myidx].ed == 0) - myedegrees[myidx] = myedegrees[--myrinfo->ndegrees]; - else - myedegrees[myidx].pid = from; - - /*====================================================================== - * Update the degrees of adjacent vertices and their volume gains - *=====================================================================*/ - marker[v] = 1; - updind[0] = v; - nupd = 1; - for (j=xadj[v]; jvrinfo+ii; - if (myrinfo->edegrees == NULL) { - myrinfo->edegrees = ctrl->wspace.vedegrees+ctrl->wspace.cdegree; - ctrl->wspace.cdegree += xadj[ii+1]-xadj[ii]; - } - myedegrees = myrinfo->edegrees; - - if (me == from) { - INC_DEC(myrinfo->ed, myrinfo->id, adjwgt[j]); - myrinfo->nid--; - } - else if (me == to) { - INC_DEC(myrinfo->id, myrinfo->ed, adjwgt[j]); - myrinfo->nid++; - } - - /* Remove the edgeweight from the 'pid == from' entry of the vertex */ - if (me != from) { - for (k=0; kndegrees; k++) { - if (myedegrees[k].pid == from) { - if (myedegrees[k].ned == 1) { - myedegrees[k] = myedegrees[--myrinfo->ndegrees]; - marker[ii] = 1; /* You do a complete .gv calculation */ - - /* All vertices adjacent to 'ii' need to be updated */ - for (jj=xadj[ii]; jjvrinfo+u; - oedegrees = orinfo->edegrees; - - for (kk=0; kkndegrees; kk++) { - if (oedegrees[kk].pid == from) { - oedegrees[kk].gv -= vsize[ii]; - break; - } - } - } - } - else { - myedegrees[k].ed -= adjwgt[j]; - myedegrees[k].ned--; - - /* Update the gv due to single 'ii' connection to 'from' */ - if (myedegrees[k].ned == 1) { - /* find the vertex 'u' that 'ii' was connected into 'from' */ - for (jj=xadj[ii]; jjvrinfo+u; - oedegrees = orinfo->edegrees; - - if (other == from) { - for (kk=0; kkndegrees; kk++) - oedegrees[kk].gv += vsize[ii]; - break; - } - } - } - } - - break; - } - } - } - - /* Add the edgeweight to the 'pid == to' entry of the vertex */ - if (me != to) { - for (k=0; kndegrees; k++) { - if (myedegrees[k].pid == to) { - myedegrees[k].ed += adjwgt[j]; - myedegrees[k].ned++; - - /* Update the gv due to non-single 'ii' connection to 'to' */ - if (myedegrees[k].ned == 2) { - /* find the vertex 'u' that 'ii' was connected into 'to' */ - for (jj=xadj[ii]; jjvrinfo+u; - oedegrees = orinfo->edegrees; - - if (u != v && other == to) { - for (kk=0; kkndegrees; kk++) - oedegrees[kk].gv -= vsize[ii]; - break; - } - } - } - break; - } - } - - if (k == myrinfo->ndegrees) { - myedegrees[myrinfo->ndegrees].pid = to; - myedegrees[myrinfo->ndegrees].ed = adjwgt[j]; - myedegrees[myrinfo->ndegrees++].ned = 1; - marker[ii] = 1; /* You do a complete .gv calculation */ - - /* All vertices adjacent to 'ii' need to be updated */ - for (jj=xadj[ii]; jjvrinfo+u; - oedegrees = orinfo->edegrees; - - for (kk=0; kkndegrees; kk++) { - if (oedegrees[kk].pid == to) { - oedegrees[kk].gv += vsize[ii]; - if (!marker[u]) { /* Need to update boundary etc */ - marker[u] = 2; - updind[nupd++] = u; - } - break; - } - } - } - } - } - - ASSERT(myrinfo->ndegrees <= xadj[ii+1]-xadj[ii]); - } - - /*====================================================================== - * Add the contributions on the volume gain due to 'v' - *=====================================================================*/ - myrinfo = graph->vrinfo+v; - myedegrees = myrinfo->edegrees; - for (k=0; kndegrees; k++) - phtable[myedegrees[k].pid] = k; - phtable[to] = k; - - for (j=xadj[v]; jvrinfo+ii; - oedegrees = orinfo->edegrees; - - if (other == to) { - for (k=0; kndegrees; k++) { - if (phtable[oedegrees[k].pid] == -1) - oedegrees[k].gv -= vsize[v]; - } - } - else { - ASSERT(phtable[other] != -1); - - if (myedegrees[phtable[other]].ned > 1) { - for (k=0; kndegrees; k++) { - if (phtable[oedegrees[k].pid] == -1) - oedegrees[k].gv -= vsize[v]; - } - } - else { /* There is only one connection */ - for (k=0; kndegrees; k++) { - if (phtable[oedegrees[k].pid] != -1) - oedegrees[k].gv += vsize[v]; - } - } - } - } - for (k=0; kndegrees; k++) - phtable[myedegrees[k].pid] = -1; - phtable[to] = -1; - - - /*====================================================================== - * Recompute the volume information of the 'hard' nodes, and update the - * max volume gain for all the update vertices - *=====================================================================*/ - ComputeKWayVolume(graph, nupd, updind, marker, phtable); - - - /*====================================================================== - * Maintain a consistent boundary - *=====================================================================*/ - for (j=0; jvrinfo+k; - - if ((myrinfo->gv >= 0 || myrinfo->ed-myrinfo->id >= 0) && graph->bndptr[k] == -1) - BNDInsert(graph->nbnd, graph->bndind, graph->bndptr, k); - - if (myrinfo->gv < 0 && myrinfo->ed-myrinfo->id < 0 && graph->bndptr[k] != -1) - BNDDelete(graph->nbnd, graph->bndind, graph->bndptr, k); - } - -} - - - - -/************************************************************************* -* This function computes the initial id/ed -**************************************************************************/ -void ComputeKWayVolume(GraphType *graph, int nupd, idxtype *updind, idxtype *marker, idxtype *phtable) -{ - int ii, iii, i, j, k, kk, l, nvtxs, me, other, pid; - idxtype *xadj, *vsize, *adjncy, *adjwgt, *where; - VRInfoType *rinfo, *myrinfo, *orinfo; - VEDegreeType *myedegrees, *oedegrees; - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - vsize = graph->vsize; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - where = graph->where; - rinfo = graph->vrinfo; - - - /*------------------------------------------------------------ - / Compute now the iv/ev degrees - /------------------------------------------------------------*/ - for (iii=0; iiiedegrees; - - if (marker[i] == 1) { /* Only complete gain updates go through */ - for (k=0; kndegrees; k++) - myedegrees[k].gv = 0; - - for (j=xadj[i]; jedegrees; - - for (kk=0; kkndegrees; kk++) - phtable[oedegrees[kk].pid] = kk; - phtable[other] = 1; - - if (me == other) { - /* Find which domains 'i' is connected and 'ii' is not and update their gain */ - for (k=0; kndegrees; k++) { - if (phtable[myedegrees[k].pid] == -1) - myedegrees[k].gv -= vsize[ii]; - } - } - else { - ASSERT(phtable[me] != -1); - - /* I'm the only connection of 'ii' in 'me' */ - if (oedegrees[phtable[me]].ned == 1) { - /* Increase the gains for all the common domains between 'i' and 'ii' */ - for (k=0; kndegrees; k++) { - if (phtable[myedegrees[k].pid] != -1) - myedegrees[k].gv += vsize[ii]; - } - } - else { - /* Find which domains 'i' is connected and 'ii' is not and update their gain */ - for (k=0; kndegrees; k++) { - if (phtable[myedegrees[k].pid] == -1) - myedegrees[k].gv -= vsize[ii]; - } - } - } - - for (kk=0; kkndegrees; kk++) - phtable[oedegrees[kk].pid] = -1; - phtable[other] = -1; - - } - } - - myrinfo->gv = -MAXIDX; - for (k=0; kndegrees; k++) { - if (myedegrees[k].gv > myrinfo->gv) - myrinfo->gv = myedegrees[k].gv; - } - if (myrinfo->ed > 0 && myrinfo->id == 0) - myrinfo->gv += vsize[i]; - - } - -} - - - -/************************************************************************* -* This function computes the total volume -**************************************************************************/ -int ComputeVolume(GraphType *graph, idxtype *where) -{ - int i, j, k, me, nvtxs, nparts, totalv; - idxtype *xadj, *adjncy, *vsize, *marker; - - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - adjncy = graph->adjncy; - vsize = (graph->vsize == NULL ? graph->vwgt : graph->vsize); - - nparts = where[idxamax(nvtxs, where)]+1; - marker = idxsmalloc(nparts, -1, "ComputeVolume: marker"); - - totalv = 0; - - for (i=0; invtxs; - xadj = graph->xadj; - vsize = graph->vsize; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - where = graph->where; - rinfo = graph->vrinfo; - - tmpdegrees = (VEDegreeType *)GKmalloc(nparts*sizeof(VEDegreeType), "CheckVolKWayPartitionParams: tmpdegrees"); - - /*------------------------------------------------------------ - / Compute now the iv/ev degrees - /------------------------------------------------------------*/ - for (i=0; iedegrees; - - for (k=0; kndegrees; k++) - tmpdegrees[k] = myedegrees[k]; - - tmprinfo.ndegrees = myrinfo->ndegrees; - tmprinfo.id = myrinfo->id; - tmprinfo.ed = myrinfo->ed; - - myrinfo = &tmprinfo; - myedegrees = tmpdegrees; - - - for (k=0; kndegrees; k++) - myedegrees[k].gv = 0; - - for (j=xadj[i]; jedegrees; - - if (me == other) { - /* Find which domains 'i' is connected and 'ii' is not and update their gain */ - for (k=0; kndegrees; k++) { - pid = myedegrees[k].pid; - for (kk=0; kkndegrees; kk++) { - if (oedegrees[kk].pid == pid) - break; - } - if (kk == orinfo->ndegrees) - myedegrees[k].gv -= vsize[ii]; - } - } - else { - /* Find the orinfo[me].ed and see if I'm the only connection */ - for (k=0; kndegrees; k++) { - if (oedegrees[k].pid == me) - break; - } - - if (oedegrees[k].ned == 1) { /* I'm the only connection of 'ii' in 'me' */ - for (k=0; kndegrees; k++) { - if (myedegrees[k].pid == other) { - myedegrees[k].gv += vsize[ii]; - break; - } - } - - /* Increase the gains for all the common domains between 'i' and 'ii' */ - for (k=0; kndegrees; k++) { - if ((pid = myedegrees[k].pid) == other) - continue; - for (kk=0; kkndegrees; kk++) { - if (oedegrees[kk].pid == pid) { - myedegrees[k].gv += vsize[ii]; - break; - } - } - } - - } - else { - /* Find which domains 'i' is connected and 'ii' is not and update their gain */ - for (k=0; kndegrees; k++) { - if ((pid = myedegrees[k].pid) == other) - continue; - for (kk=0; kkndegrees; kk++) { - if (oedegrees[kk].pid == pid) - break; - } - if (kk == orinfo->ndegrees) - myedegrees[k].gv -= vsize[ii]; - } - } - } - } - - myrinfo = rinfo+i; - myedegrees = myrinfo->edegrees; - - for (k=0; kndegrees; k++) { - pid = myedegrees[k].pid; - for (kk=0; kknvtxs; - xadj = graph->xadj; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - where = graph->where; - rinfo = graph->vrinfo; - - idxset(nparts*nparts, 0, pmat); - - for (i=0; i 0) { - me = where[i]; - ndegrees = rinfo[i].ndegrees; - edegrees = rinfo[i].edegrees; - - k = me*nparts; - for (j=0; j 0) - ndoms[i]++; - } - } -} - - - -/************************************************************************* -* This function computes the subdomain graph -**************************************************************************/ -void EliminateVolSubDomainEdges(CtrlType *ctrl, GraphType *graph, int nparts, float *tpwgts) -{ - int i, ii, j, k, me, other, nvtxs, total, max, avg, totalout, nind, ncand, ncand2, target, target2, nadd; - int min, move, cpwgt, tvwgt; - idxtype *xadj, *adjncy, *vwgt, *adjwgt, *pwgts, *where, *maxpwgt, *pmat, *ndoms, *mypmat, *otherpmat, *ind; - KeyValueType *cand, *cand2; - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - adjncy = graph->adjncy; - vwgt = graph->vwgt; - adjwgt = graph->adjwgt; - - where = graph->where; - pwgts = idxset(nparts, 0, graph->pwgts); - - maxpwgt = idxwspacemalloc(ctrl, nparts); - ndoms = idxwspacemalloc(ctrl, nparts); - otherpmat = idxwspacemalloc(ctrl, nparts); - ind = idxwspacemalloc(ctrl, nvtxs); - pmat = idxset(nparts*nparts, 0, ctrl->wspace.pmat); - - cand = (KeyValueType *)GKmalloc(nparts*sizeof(KeyValueType), "EliminateSubDomainEdges: cand"); - cand2 = (KeyValueType *)GKmalloc(nparts*sizeof(KeyValueType), "EliminateSubDomainEdges: cand"); - - /* Compute the pmat matrix */ - for (i=0; i 0) - k++; - } - ndoms[i] = k; - } - - /* Get into the loop eliminating subdomain connections */ - for (;;) { - total = idxsum(nparts, ndoms); - avg = total/nparts; - max = ndoms[idxamax(nparts, ndoms)]; - - /* printf("Adjacent Subdomain Stats: Total: %3d, Max: %3d, Avg: %3d\n", total, max, avg); */ - - if (max < 1.5*avg) - break; - - me = idxamax(nparts, ndoms); - mypmat = pmat + me*nparts; - totalout = idxsum(nparts, mypmat); - - /*printf("Me: %d, TotalOut: %d,\n", me, totalout);*/ - - /* Sort the connections according to their cut */ - for (ncand2=0, i=0; i 0) { - cand2[ncand2].key = mypmat[i]; - cand2[ncand2++].val = i; - } - } - ikeysort(ncand2, cand2); - - move = 0; - for (min=0; min totalout/(2*ndoms[me])) - break; - - other = cand2[min].val; - - /*printf("\tMinOut: %d to %d\n", mypmat[other], other);*/ - - idxset(nparts, 0, otherpmat); - - /* Go and find the vertices in 'other' that are connected in 'me' */ - for (nind=0, i=0; i 0) { - cand[ncand].key = -otherpmat[i]; - cand[ncand++].val = i; - } - } - ikeysort(ncand, cand); - - /* - * Go through and the select the first domain that is common with 'me', and - * does not increase the ndoms[target] higher than my ndoms, subject to the - * maxpwgt constraint. Traversal is done from the mostly connected to the least. - */ - target = target2 = -1; - for (i=0; i 0) { - if (pwgts[k] + cpwgt > maxpwgt[k]) /* Check if balance will go off */ - continue; - - for (j=0; j 0 && ndoms[j] >= ndoms[me]-1 && pmat[nparts*j+k] == 0) - break; - } - if (j == nparts) { /* No bad second level effects */ - for (nadd=0, j=0; j 0 && pmat[nparts*k+j] == 0) - nadd++; - } - - /*printf("\t\tto=%d, nadd=%d, %d\n", k, nadd, ndoms[k]);*/ - if (target2 == -1 && ndoms[k]+nadd < ndoms[me]) { - target2 = k; - } - if (nadd == 0) { - target = k; - break; - } - } - } - } - if (target == -1 && target2 != -1) - target = target2; - - if (target == -1) { - /* printf("\t\tCould not make the move\n");*/ - continue; - } - - /*printf("\t\tMoving to %d\n", target);*/ - - /* Update the partition weights */ - INC_DEC(pwgts[target], pwgts[other], cpwgt); - - /* Set all nind vertices to belong to 'target' */ - for (ii=0; iiwhere and tries to push them around to -* remove some of them -**************************************************************************/ -void EliminateVolComponents(CtrlType *ctrl, GraphType *graph, int nparts, float *tpwgts, float ubfactor) -{ - int i, ii, j, jj, k, me, nvtxs, tvwgt, first, last, nleft, ncmps, cwgt, ncand, other, target, deltawgt; - idxtype *xadj, *adjncy, *vwgt, *adjwgt, *where, *pwgts, *maxpwgt; - idxtype *cpvec, *touched, *perm, *todo, *cind, *cptr, *npcmps; - KeyValueType *cand; - int recompute=0; - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - adjncy = graph->adjncy; - vwgt = graph->vwgt; - adjwgt = graph->adjwgt; - - where = graph->where; - pwgts = idxset(nparts, 0, graph->pwgts); - - touched = idxset(nvtxs, 0, idxwspacemalloc(ctrl, nvtxs)); - cptr = idxwspacemalloc(ctrl, nvtxs); - cind = idxwspacemalloc(ctrl, nvtxs); - perm = idxwspacemalloc(ctrl, nvtxs); - todo = idxwspacemalloc(ctrl, nvtxs); - maxpwgt = idxwspacemalloc(ctrl, nparts); - cpvec = idxwspacemalloc(ctrl, nparts); - npcmps = idxset(nparts, 0, idxwspacemalloc(ctrl, nparts)); - - for (i=0; i 0) { - if (first == last) { /* Find another starting vertex */ - cptr[++ncmps] = first; - ASSERT(touched[todo[0]] == 0); - i = todo[0]; - cind[last++] = i; - touched[i] = 1; - me = where[i]; - npcmps[me]++; - } - - i = cind[first++]; - k = perm[i]; - j = todo[k] = todo[--nleft]; - perm[j] = k; - - for (j=xadj[i]; j nparts) { /* There are more components than processors */ - cand = (KeyValueType *)GKmalloc(nparts*sizeof(KeyValueType), "EliminateSubDomainEdges: cand"); - - /* First determine the partition sizes and max allowed load imbalance */ - for (i=0; i .30*pwgts[me]) - continue; /* Skip the component if it is over 30% of the weight */ - - for (ncand=0, j=0; j 0) { - cand[ncand].key = -cpvec[j]; - cand[ncand++].val = j; - } - } - if (ncand == 0) - continue; - - ikeysort(ncand, cand); - - target = -1; - for (j=0; jmincut -= cpvec[target]; - recompute = 1; - } - } - - free(cand); - } - - if (recompute) { - int ttlv; - idxtype *marker; - - marker = idxset(nparts, -1, cpvec); - for (ttlv=0, i=0; ivsize[i]; - marker[where[adjncy[j]]] = i; - } - } - } - graph->minvol = ttlv; - } - - idxwspacefree(ctrl, nparts); - idxwspacefree(ctrl, nparts); - idxwspacefree(ctrl, nparts); - idxwspacefree(ctrl, nvtxs); - idxwspacefree(ctrl, nvtxs); - idxwspacefree(ctrl, nvtxs); - idxwspacefree(ctrl, nvtxs); - idxwspacefree(ctrl, nvtxs); - -} - diff --git a/lib/metis-4.0/Lib/kwayvolrefine.c b/lib/metis-4.0/Lib/kwayvolrefine.c deleted file mode 100755 index f646abf35..000000000 --- a/lib/metis-4.0/Lib/kwayvolrefine.c +++ /dev/null @@ -1,460 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * kwayvolrefine.c - * - * This file contains the driving routines for multilevel k-way refinement - * - * Started 7/28/97 - * George - * - * $Id: kwayvolrefine.c,v 1.2 1998/11/30 16:13:57 karypis Exp $ - */ - -#include - - -/************************************************************************* -* This function is the entry point of refinement -**************************************************************************/ -void RefineVolKWay(CtrlType *ctrl, GraphType *orggraph, GraphType *graph, int nparts, - float *tpwgts, float ubfactor) -{ - int i, nlevels; - GraphType *ptr; - - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->UncoarsenTmr)); - - /* Take care any non-contiguity */ - if (ctrl->RType == RTYPE_KWAYRANDOM_MCONN) { - ComputeVolKWayPartitionParams(ctrl, graph, nparts); - EliminateVolComponents(ctrl, graph, nparts, tpwgts, 1.25); - EliminateVolSubDomainEdges(ctrl, graph, nparts, tpwgts); - EliminateVolComponents(ctrl, graph, nparts, tpwgts, 1.25); - } - - - /* Determine how many levels are there */ - for (ptr=graph, nlevels=0; ptr!=orggraph; ptr=ptr->finer, nlevels++); - - /* Compute the parameters of the coarsest graph */ - ComputeVolKWayPartitionParams(ctrl, graph, nparts); - - for (i=0; ;i++) { - /*PrintSubDomainGraph(graph, nparts, graph->where);*/ - MALLOC_CHECK(NULL); - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->RefTmr)); - - if (2*i >= nlevels && !IsBalanced(graph->pwgts, nparts, tpwgts, 1.04*ubfactor)) { - ComputeVolKWayBalanceBoundary(ctrl, graph, nparts); - switch (ctrl->RType) { - case RTYPE_KWAYRANDOM: - Greedy_KWayVolBalance(ctrl, graph, nparts, tpwgts, ubfactor, 1); - break; - case RTYPE_KWAYRANDOM_MCONN: - Greedy_KWayVolBalanceMConn(ctrl, graph, nparts, tpwgts, ubfactor, 1); - break; - } - ComputeVolKWayBoundary(ctrl, graph, nparts); - } - - switch (ctrl->RType) { - case RTYPE_KWAYRANDOM: - Random_KWayVolRefine(ctrl, graph, nparts, tpwgts, ubfactor, 10, 0); - break; - case RTYPE_KWAYRANDOM_MCONN: - Random_KWayVolRefineMConn(ctrl, graph, nparts, tpwgts, ubfactor, 10, 0); - break; - } - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->RefTmr)); - - if (graph == orggraph) - break; - - GKfree(&graph->gdata, LTERM); /* Deallocate the graph related arrays */ - - graph = graph->finer; - - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->ProjectTmr)); - ProjectVolKWayPartition(ctrl, graph, nparts); - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->ProjectTmr)); - } - - if (!IsBalanced(graph->pwgts, nparts, tpwgts, ubfactor)) { - ComputeVolKWayBalanceBoundary(ctrl, graph, nparts); - switch (ctrl->RType) { - case RTYPE_KWAYRANDOM: - Greedy_KWayVolBalance(ctrl, graph, nparts, tpwgts, ubfactor, 8); - Random_KWayVolRefine(ctrl, graph, nparts, tpwgts, ubfactor, 10, 0); - break; - case RTYPE_KWAYRANDOM_MCONN: - Greedy_KWayVolBalanceMConn(ctrl, graph, nparts, tpwgts, ubfactor, 8); - Random_KWayVolRefineMConn(ctrl, graph, nparts, tpwgts, ubfactor, 10, 0); - break; - } - } - - EliminateVolComponents(ctrl, graph, nparts, tpwgts, ubfactor); - - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->UncoarsenTmr)); -} - - - -/************************************************************************* -* This function allocates memory for k-way edge refinement -**************************************************************************/ -void AllocateVolKWayPartitionMemory(CtrlType *ctrl, GraphType *graph, int nparts) -{ - int nvtxs, pad64; - - nvtxs = graph->nvtxs; - - pad64 = (3*nvtxs+nparts)%2; - - graph->rdata = idxmalloc(3*nvtxs+nparts+(sizeof(VRInfoType)/sizeof(idxtype))*nvtxs+pad64, "AllocateVolKWayPartitionMemory: rdata"); - graph->pwgts = graph->rdata; - graph->where = graph->rdata + nparts; - graph->bndptr = graph->rdata + nvtxs + nparts; - graph->bndind = graph->rdata + 2*nvtxs + nparts; - graph->vrinfo = (VRInfoType *)(graph->rdata + 3*nvtxs+nparts + pad64); - -} - - - -/************************************************************************* -* This function computes the initial id/ed -**************************************************************************/ -void ComputeVolKWayPartitionParams(CtrlType *ctrl, GraphType *graph, int nparts) -{ - int i, ii, j, k, kk, l, nvtxs, nbnd, mincut, minvol, me, other, pid; - idxtype *xadj, *vwgt, *adjncy, *adjwgt, *pwgts, *where; - VRInfoType *rinfo, *myrinfo, *orinfo; - VEDegreeType *myedegrees, *oedegrees; - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - vwgt = graph->vwgt; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - - where = graph->where; - pwgts = idxset(nparts, 0, graph->pwgts); - rinfo = graph->vrinfo; - - - /*------------------------------------------------------------ - / Compute now the id/ed degrees - /------------------------------------------------------------*/ - ctrl->wspace.cdegree = 0; - mincut = 0; - for (i=0; iid = myrinfo->ed = myrinfo->nid = myrinfo->ndegrees = 0; - myrinfo->edegrees = NULL; - - for (j=xadj[i]; jid += adjwgt[j]; - myrinfo->nid++; - } - } - myrinfo->ed = graph->adjwgtsum[i] - myrinfo->id; - - mincut += myrinfo->ed; - - /* Time to compute the particular external degrees */ - if (myrinfo->ed > 0) { - myedegrees = myrinfo->edegrees = ctrl->wspace.vedegrees+ctrl->wspace.cdegree; - ctrl->wspace.cdegree += xadj[i+1]-xadj[i]; - - for (j=xadj[i]; jndegrees; k++) { - if (myedegrees[k].pid == other) { - myedegrees[k].ed += adjwgt[j]; - myedegrees[k].ned++; - break; - } - } - if (k == myrinfo->ndegrees) { - myedegrees[myrinfo->ndegrees].gv = 0; - myedegrees[myrinfo->ndegrees].pid = other; - myedegrees[myrinfo->ndegrees].ed = adjwgt[j]; - myedegrees[myrinfo->ndegrees++].ned = 1; - } - } - } - - ASSERT(myrinfo->ndegrees <= xadj[i+1]-xadj[i]); - } - } - graph->mincut = mincut/2; - - - ComputeKWayVolGains(ctrl, graph, nparts); - -} - - - -/************************************************************************* -* This function computes the initial id/ed -**************************************************************************/ -void ComputeKWayVolGains(CtrlType *ctrl, GraphType *graph, int nparts) -{ - int i, ii, j, k, kk, l, nvtxs, me, other, pid, myndegrees; - idxtype *xadj, *vsize, *adjncy, *adjwgt, *where, *bndind, *bndptr, *ophtable; - VRInfoType *rinfo, *myrinfo, *orinfo; - VEDegreeType *myedegrees, *oedegrees; - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - vsize = graph->vsize; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - - where = graph->where; - bndind = graph->bndind; - bndptr = idxset(nvtxs, -1, graph->bndptr); - rinfo = graph->vrinfo; - - ophtable = idxset(nparts, -1, idxwspacemalloc(ctrl, nparts)); - - /*------------------------------------------------------------ - / Compute now the iv/ev degrees - /------------------------------------------------------------*/ - graph->minvol = graph->nbnd = 0; - for (i=0; igv = -MAXIDX; - - if (myrinfo->ndegrees > 0) { - me = where[i]; - myedegrees = myrinfo->edegrees; - myndegrees = myrinfo->ndegrees; - - graph->minvol += myndegrees*vsize[i]; - - for (j=xadj[i]; jedegrees; - - for (k=0; kndegrees; k++) - ophtable[oedegrees[k].pid] = k; - ophtable[other] = 1; /* this is to simplify coding */ - - if (me == other) { - /* Find which domains 'i' is connected and 'ii' is not and update their gain */ - for (k=0; kndegrees; kk++) - ophtable[oedegrees[kk].pid] = -1; - ophtable[other] = -1; - } - - /* Compute the max vgain */ - for (k=0; k myrinfo->gv) - myrinfo->gv = myedegrees[k].gv; - } - } - - if (myrinfo->ed > 0 && myrinfo->id == 0) - myrinfo->gv += vsize[i]; - - if (myrinfo->gv >= 0 || myrinfo->ed-myrinfo->id >= 0) - BNDInsert(graph->nbnd, bndind, bndptr, i); - } - - idxwspacefree(ctrl, nparts); - -} - - - -/************************************************************************* -* This function projects a partition, and at the same time computes the -* parameters for refinement. -**************************************************************************/ -void ProjectVolKWayPartition(CtrlType *ctrl, GraphType *graph, int nparts) -{ - int i, j, k, nvtxs, me, other, istart, iend, ndegrees; - idxtype *xadj, *adjncy, *adjwgt, *adjwgtsum; - idxtype *cmap, *where; - idxtype *cwhere; - GraphType *cgraph; - VRInfoType *crinfo, *rinfo, *myrinfo; - VEDegreeType *myedegrees; - idxtype *htable; - - cgraph = graph->coarser; - cwhere = cgraph->where; - crinfo = cgraph->vrinfo; - - nvtxs = graph->nvtxs; - cmap = graph->cmap; - xadj = graph->xadj; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - adjwgtsum = graph->adjwgtsum; - - AllocateVolKWayPartitionMemory(ctrl, graph, nparts); - where = graph->where; - rinfo = graph->vrinfo; - - /* Go through and project partition and compute id/ed for the nodes */ - for (i=0; iwspace.cdegree = 0; - for (i=0; iid = myrinfo->ed = myrinfo->nid = myrinfo->ndegrees = 0; - myrinfo->edegrees = NULL; - - myrinfo->id = adjwgtsum[i]; - myrinfo->nid = xadj[i+1]-xadj[i]; - - if (cmap[i] > 0) { /* If it is an interface node. Note cmap[i] = crinfo[cmap[i]].ed */ - istart = xadj[i]; - iend = xadj[i+1]; - - myedegrees = myrinfo->edegrees = ctrl->wspace.vedegrees+ctrl->wspace.cdegree; - ctrl->wspace.cdegree += iend-istart; - - ndegrees = 0; - for (j=istart; jed += adjwgt[j]; - myrinfo->nid--; - if ((k = htable[other]) == -1) { - htable[other] = ndegrees; - myedegrees[ndegrees].gv = 0; - myedegrees[ndegrees].pid = other; - myedegrees[ndegrees].ed = adjwgt[j]; - myedegrees[ndegrees++].ned = 1; - } - else { - myedegrees[k].ed += adjwgt[j]; - myedegrees[k].ned++; - } - } - } - myrinfo->id -= myrinfo->ed; - - /* Remove space for edegrees if it was interior */ - if (myrinfo->ed == 0) { - myrinfo->edegrees = NULL; - ctrl->wspace.cdegree -= iend-istart; - } - else { - myrinfo->ndegrees = ndegrees; - - for (j=0; jpwgts, graph->pwgts); - graph->mincut = cgraph->mincut; - - FreeGraph(graph->coarser); - graph->coarser = NULL; - - idxwspacefree(ctrl, nparts); - -} - - - -/************************************************************************* -* This function computes the boundary definition for balancing -**************************************************************************/ -void ComputeVolKWayBoundary(CtrlType *ctrl, GraphType *graph, int nparts) -{ - int i, nvtxs, nbnd; - idxtype *bndind, *bndptr; - - nvtxs = graph->nvtxs; - bndind = graph->bndind; - bndptr = idxset(nvtxs, -1, graph->bndptr); - - - /*------------------------------------------------------------ - / Compute the new boundary - /------------------------------------------------------------*/ - nbnd = 0; - for (i=0; ivrinfo[i].gv >=0 || graph->vrinfo[i].ed-graph->vrinfo[i].id >= 0) - BNDInsert(nbnd, bndind, bndptr, i); - } - - graph->nbnd = nbnd; -} - -/************************************************************************* -* This function computes the boundary definition for balancing -**************************************************************************/ -void ComputeVolKWayBalanceBoundary(CtrlType *ctrl, GraphType *graph, int nparts) -{ - int i, nvtxs, nbnd; - idxtype *bndind, *bndptr; - - nvtxs = graph->nvtxs; - bndind = graph->bndind; - bndptr = idxset(nvtxs, -1, graph->bndptr); - - - /*------------------------------------------------------------ - / Compute the new boundary - /------------------------------------------------------------*/ - nbnd = 0; - for (i=0; ivrinfo[i].ed > 0) - BNDInsert(nbnd, bndind, bndptr, i); - } - - graph->nbnd = nbnd; -} - diff --git a/lib/metis-4.0/Lib/macros.h b/lib/metis-4.0/Lib/macros.h deleted file mode 100755 index fdf0ade18..000000000 --- a/lib/metis-4.0/Lib/macros.h +++ /dev/null @@ -1,143 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * macros.h - * - * This file contains macros used in multilevel - * - * Started 9/25/94 - * George - * - * $Id: macros.h,v 1.1 1998/11/27 17:59:18 karypis Exp $ - * - */ - - -/************************************************************************* -* The following macro returns a random number in the specified range -**************************************************************************/ -#ifdef __VC__ -#define RandomInRange(u) ((rand()>>3)%(u)) -#define RandomInRangeFast(u) ((rand()>>3)%(u)) -#else -#define RandomInRange(u) ((int)(drand48()*((double)(u)))) -#define RandomInRangeFast(u) ((rand()>>3)%(u)) -#endif - - - -#define amax(a, b) ((a) >= (b) ? (a) : (b)) -#define amin(a, b) ((a) >= (b) ? (b) : (a)) - -#define AND(a, b) ((a) < 0 ? ((-(a))&(b)) : ((a)&(b))) -#define OR(a, b) ((a) < 0 ? -((-(a))|(b)) : ((a)|(b))) -#define XOR(a, b) ((a) < 0 ? -((-(a))^(b)) : ((a)^(b))) - -#define SWAP(a, b, tmp) \ - do {(tmp) = (a); (a) = (b); (b) = (tmp);} while(0) - -#define INC_DEC(a, b, val) \ - do {(a) += (val); (b) -= (val);} while(0) - - -#define scopy(n, a, b) (float *)memcpy((void *)(b), (void *)(a), sizeof(float)*(n)) -#define idxcopy(n, a, b) (idxtype *)memcpy((void *)(b), (void *)(a), sizeof(idxtype)*(n)) - -#define HASHFCT(key, size) ((key)%(size)) - - -/************************************************************************* -* Timer macros -**************************************************************************/ -#define cleartimer(tmr) (tmr = 0.0) -#define starttimer(tmr) (tmr -= seconds()) -#define stoptimer(tmr) (tmr += seconds()) -#define gettimer(tmr) (tmr) - - -/************************************************************************* -* This macro is used to handle dbglvl -**************************************************************************/ -#define IFSET(a, flag, cmd) if ((a)&(flag)) (cmd); - -/************************************************************************* -* These macros are used for debuging memory leaks -**************************************************************************/ -#ifdef DMALLOC -#define imalloc(n, msg) (malloc(sizeof(int)*(n))) -#define fmalloc(n, msg) (malloc(sizeof(float)*(n))) -#define idxmalloc(n, msg) (malloc(sizeof(idxtype)*(n))) -#define ismalloc(n, val, msg) (iset((n), (val), malloc(sizeof(int)*(n)))) -#define idxsmalloc(n, val, msg) (idxset((n), (val), malloc(sizeof(idxtype)*(n)))) -#define GKmalloc(a, b) (malloc((a))) -#endif - -#ifdef DMALLOC -# define MALLOC_CHECK(ptr) \ - if (malloc_verify((ptr)) == DMALLOC_VERIFY_ERROR) { \ - printf("***MALLOC_CHECK failed on line %d of file %s: " #ptr "\n", \ - __LINE__, __FILE__); \ - abort(); \ - } -#else -# define MALLOC_CHECK(ptr) ; -#endif - - - -/************************************************************************* -* This macro converts a length array in a CSR one -**************************************************************************/ -#define MAKECSR(i, n, a) \ - do { \ - for (i=1; i0; i--) a[i] = a[i-1]; \ - a[0] = 0; \ - } while(0) - - -/************************************************************************* -* These macros insert and remove nodes from the boundary list -**************************************************************************/ -#define BNDInsert(nbnd, bndind, bndptr, vtx) \ - do { \ - ASSERT(bndptr[vtx] == -1); \ - bndind[nbnd] = vtx; \ - bndptr[vtx] = nbnd++;\ - } while(0) - -#define BNDDelete(nbnd, bndind, bndptr, vtx) \ - do { \ - ASSERT(bndptr[vtx] != -1); \ - bndind[bndptr[vtx]] = bndind[--nbnd]; \ - bndptr[bndind[nbnd]] = bndptr[vtx]; \ - bndptr[vtx] = -1; \ - } while(0) - - - -/************************************************************************* -* These are debugging macros -**************************************************************************/ -#ifdef DEBUG -# define ASSERT(expr) \ - if (!(expr)) { \ - printf("***ASSERTION failed on line %d of file %s: " #expr "\n", \ - __LINE__, __FILE__); \ - abort(); \ - } -#else -# define ASSERT(expr) ; -#endif - -#ifdef DEBUG -# define ASSERTP(expr, msg) \ - if (!(expr)) { \ - printf("***ASSERTION failed on line %d of file %s: " #expr "\n", \ - __LINE__, __FILE__); \ - printf msg ; \ - abort(); \ - } -#else -# define ASSERTP(expr, msg) ; -#endif diff --git a/lib/metis-4.0/Lib/match.c b/lib/metis-4.0/Lib/match.c deleted file mode 100755 index 0158d198c..000000000 --- a/lib/metis-4.0/Lib/match.c +++ /dev/null @@ -1,267 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * match.c - * - * This file contains the code that computes matchings and creates the next - * level coarse graph. - * - * Started 7/23/97 - * George - * - * $Id: match.c,v 1.1 1998/11/27 17:59:18 karypis Exp $ - * - */ - -#include - - -/************************************************************************* -* This function finds a matching using the HEM heuristic -**************************************************************************/ -void Match_RM(CtrlType *ctrl, GraphType *graph) -{ - int i, ii, j, nvtxs, cnvtxs, maxidx; - idxtype *xadj, *vwgt, *adjncy, *adjwgt; - idxtype *match, *cmap, *perm; - - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->MatchTmr)); - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - vwgt = graph->vwgt; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - - cmap = graph->cmap; - match = idxset(nvtxs, UNMATCHED, idxwspacemalloc(ctrl, nvtxs)); - - perm = idxwspacemalloc(ctrl, nvtxs); - RandomPermute(nvtxs, perm, 1); - - cnvtxs = 0; - for (ii=0; iimaxvwgt) { - maxidx = adjncy[j]; - break; - } - } - - cmap[i] = cmap[maxidx] = cnvtxs++; - match[i] = maxidx; - match[maxidx] = i; - } - } - - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->MatchTmr)); - - CreateCoarseGraph(ctrl, graph, cnvtxs, match, perm); - - idxwspacefree(ctrl, nvtxs); - idxwspacefree(ctrl, nvtxs); -} - - -/************************************************************************* -* This function finds a matching using the HEM heuristic -**************************************************************************/ -void Match_RM_NVW(CtrlType *ctrl, GraphType *graph) -{ - int i, ii, j, nvtxs, cnvtxs, maxidx; - idxtype *xadj, *adjncy; - idxtype *match, *cmap, *perm; - - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->MatchTmr)); - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - adjncy = graph->adjncy; - - cmap = graph->cmap; - match = idxset(nvtxs, UNMATCHED, idxwspacemalloc(ctrl, nvtxs)); - - perm = idxwspacemalloc(ctrl, nvtxs); - RandomPermute(nvtxs, perm, 1); - - cnvtxs = 0; - for (ii=0; iidbglvl, DBG_TIME, stoptimer(ctrl->MatchTmr)); - - CreateCoarseGraph_NVW(ctrl, graph, cnvtxs, match, perm); - - idxwspacefree(ctrl, nvtxs); - idxwspacefree(ctrl, nvtxs); -} - - - -/************************************************************************* -* This function finds a matching using the HEM heuristic -**************************************************************************/ -void Match_HEM(CtrlType *ctrl, GraphType *graph) -{ - int i, ii, j, k, nvtxs, cnvtxs, maxidx, maxwgt; - idxtype *xadj, *vwgt, *adjncy, *adjwgt; - idxtype *match, *cmap, *perm; - - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->MatchTmr)); - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - vwgt = graph->vwgt; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - - cmap = graph->cmap; - match = idxset(nvtxs, UNMATCHED, idxwspacemalloc(ctrl, nvtxs)); - - perm = idxwspacemalloc(ctrl, nvtxs); - RandomPermute(nvtxs, perm, 1); - - cnvtxs = 0; - for (ii=0; iimaxvwgt) { - maxwgt = adjwgt[j]; - maxidx = adjncy[j]; - } - } - - cmap[i] = cmap[maxidx] = cnvtxs++; - match[i] = maxidx; - match[maxidx] = i; - } - } - - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->MatchTmr)); - - CreateCoarseGraph(ctrl, graph, cnvtxs, match, perm); - - idxwspacefree(ctrl, nvtxs); - idxwspacefree(ctrl, nvtxs); -} - - - -/************************************************************************* -* This function finds a matching using the HEM heuristic -**************************************************************************/ -void Match_SHEM(CtrlType *ctrl, GraphType *graph) -{ - int i, ii, j, k, nvtxs, cnvtxs, maxidx, maxwgt, avgdegree; - idxtype *xadj, *vwgt, *adjncy, *adjwgt; - idxtype *match, *cmap, *degrees, *perm, *tperm; - - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->MatchTmr)); - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - vwgt = graph->vwgt; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - - cmap = graph->cmap; - match = idxset(nvtxs, UNMATCHED, idxwspacemalloc(ctrl, nvtxs)); - - perm = idxwspacemalloc(ctrl, nvtxs); - tperm = idxwspacemalloc(ctrl, nvtxs); - degrees = idxwspacemalloc(ctrl, nvtxs); - - RandomPermute(nvtxs, tperm, 1); - avgdegree = 0.7*(xadj[nvtxs]/nvtxs); - for (i=0; i avgdegree ? avgdegree : xadj[i+1]-xadj[i]); - BucketSortKeysInc(nvtxs, avgdegree, degrees, tperm, perm); - - cnvtxs = 0; - - /* Take care any islands. Islands are matched with non-islands due to coarsening */ - for (ii=0; iiii; j--) { - k = perm[j]; - if (match[k] == UNMATCHED && xadj[k] < xadj[k+1]) { - maxidx = k; - break; - } - } - - cmap[i] = cmap[maxidx] = cnvtxs++; - match[i] = maxidx; - match[maxidx] = i; - } - } - - /* Continue with normal matching */ - for (; iimaxvwgt) { - maxwgt = adjwgt[j]; - maxidx = adjncy[j]; - } - } - - cmap[i] = cmap[maxidx] = cnvtxs++; - match[i] = maxidx; - match[maxidx] = i; - } - } - - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->MatchTmr)); - - idxwspacefree(ctrl, nvtxs); /* degrees */ - idxwspacefree(ctrl, nvtxs); /* tperm */ - - CreateCoarseGraph(ctrl, graph, cnvtxs, match, perm); - - idxwspacefree(ctrl, nvtxs); - idxwspacefree(ctrl, nvtxs); -} - diff --git a/lib/metis-4.0/Lib/mbalance.c b/lib/metis-4.0/Lib/mbalance.c deleted file mode 100755 index 51c531ed3..000000000 --- a/lib/metis-4.0/Lib/mbalance.c +++ /dev/null @@ -1,260 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * mbalance.c - * - * This file contains code that is used to forcefully balance either - * bisections or k-sections - * - * Started 7/29/97 - * George - * - * $Id: mbalance.c,v 1.1 1998/11/27 17:59:19 karypis Exp $ - * - */ - -#include - - -/************************************************************************* -* This function is the entry point of the bisection balancing algorithms. -**************************************************************************/ -void MocBalance2Way(CtrlType *ctrl, GraphType *graph, float *tpwgts, float lbfactor) -{ - - if (Compute2WayHLoadImbalance(graph->ncon, graph->npwgts, tpwgts) < lbfactor) - return; - - MocGeneral2WayBalance(ctrl, graph, tpwgts, lbfactor); - -} - - -/************************************************************************* -* This function performs an edge-based FM refinement -**************************************************************************/ -void MocGeneral2WayBalance(CtrlType *ctrl, GraphType *graph, float *tpwgts, float lbfactor) -{ - int i, ii, j, k, l, kwgt, nvtxs, ncon, nbnd, nswaps, from, to, pass, me, limit, tmp, cnum; - idxtype *xadj, *adjncy, *adjwgt, *where, *id, *ed, *bndptr, *bndind; - idxtype *moved, *swaps, *perm, *qnum; - float *nvwgt, *npwgts, mindiff[MAXNCON], origbal, minbal, newbal; - PQueueType parts[MAXNCON][2]; - int higain, oldgain, mincut, newcut, mincutorder; - int qsizes[MAXNCON][2]; - - nvtxs = graph->nvtxs; - ncon = graph->ncon; - xadj = graph->xadj; - nvwgt = graph->nvwgt; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - where = graph->where; - id = graph->id; - ed = graph->ed; - npwgts = graph->npwgts; - bndptr = graph->bndptr; - bndind = graph->bndind; - - moved = idxwspacemalloc(ctrl, nvtxs); - swaps = idxwspacemalloc(ctrl, nvtxs); - perm = idxwspacemalloc(ctrl, nvtxs); - qnum = idxwspacemalloc(ctrl, nvtxs); - - limit = amin(amax(0.01*nvtxs, 15), 100); - - /* Initialize the queues */ - for (i=0; i qsizes[j][from] && nvwgt[i*ncon+qnum[i]] < 1.3*nvwgt[i*ncon+j]) { - qsizes[qnum[i]][from]--; - qsizes[j][from]++; - qnum[i] = j; - } - } - } - } - } - -/* - printf("Weight Distribution (after):\t "); - for (i=0; imincut; - mincutorder = -1; - - if (ctrl->dbglvl&DBG_REFINE) { - printf("Parts: ["); - for (l=0; lnvtxs, graph->nbnd, graph->mincut, origbal); - } - - idxset(nvtxs, -1, moved); - - ASSERT(ComputeCut(graph, where) == graph->mincut); - ASSERT(CheckBnd(graph)); - - /* Insert all nodes in the priority queues */ - nbnd = graph->nbnd; - RandomPermute(nvtxs, perm, 1); - for (ii=0; ii limit) { /* We hit the limit, undo last move */ - newcut += (ed[higain]-id[higain]); - saxpy(ncon, 1.0, nvwgt+higain*ncon, 1, npwgts+from*ncon, 1); - saxpy(ncon, -1.0, nvwgt+higain*ncon, 1, npwgts+to*ncon, 1); - break; - } - - where[higain] = to; - moved[higain] = nswaps; - swaps[nswaps] = higain; - - if (ctrl->dbglvl&DBG_MOVEINFO) { - printf("Moved %6d from %d(%d). Gain: %5d, Cut: %5d, NPwgts: ", higain, from, cnum, ed[higain]-id[higain], newcut); - for (l=0; l 0 && bndptr[higain] == -1) - BNDInsert(nbnd, bndind, bndptr, higain); - - for (j=xadj[higain]; j 0 && bndptr[k] == -1) - BNDInsert(nbnd, bndind, bndptr, k); - } - } - - - - /**************************************************************** - * Roll back computations - *****************************************************************/ - for (nswaps--; nswaps>mincutorder; nswaps--) { - higain = swaps[nswaps]; - - to = where[higain] = (where[higain]+1)%2; - SWAP(id[higain], ed[higain], tmp); - if (ed[higain] == 0 && bndptr[higain] != -1 && xadj[higain] < xadj[higain+1]) - BNDDelete(nbnd, bndind, bndptr, higain); - else if (ed[higain] > 0 && bndptr[higain] == -1) - BNDInsert(nbnd, bndind, bndptr, higain); - - saxpy(ncon, 1.0, nvwgt+higain*ncon, 1, npwgts+to*ncon, 1); - saxpy(ncon, -1.0, nvwgt+higain*ncon, 1, npwgts+((to+1)%2)*ncon, 1); - for (j=xadj[higain]; j 0) - BNDInsert(nbnd, bndind, bndptr, k); - } - } - - if (ctrl->dbglvl&DBG_REFINE) { - printf("\tMincut: %6d at %5d, NBND: %6d, NPwgts: [", mincut, mincutorder, nbnd); - for (l=0; lmincut = mincut; - graph->nbnd = nbnd; - - - for (i=0; i - - -/************************************************************************* -* This function is the entry point of the bisection balancing algorithms. -**************************************************************************/ -void MocBalance2Way2(CtrlType *ctrl, GraphType *graph, float *tpwgts, float *ubvec) -{ - int i; - float tvec[MAXNCON]; - - Compute2WayHLoadImbalanceVec(graph->ncon, graph->npwgts, tpwgts, tvec); - if (!AreAllBelow(graph->ncon, tvec, ubvec)) - MocGeneral2WayBalance2(ctrl, graph, tpwgts, ubvec); -} - - - -/************************************************************************* -* This function performs an edge-based FM refinement -**************************************************************************/ -void MocGeneral2WayBalance2(CtrlType *ctrl, GraphType *graph, float *tpwgts, float *ubvec) -{ - int i, ii, j, k, l, kwgt, nvtxs, ncon, nbnd, nswaps, from, to, pass, me, limit, tmp, cnum; - idxtype *xadj, *adjncy, *adjwgt, *where, *id, *ed, *bndptr, *bndind; - idxtype *moved, *swaps, *perm, *qnum; - float *nvwgt, *npwgts, origbal[MAXNCON], minbal[MAXNCON], newbal[MAXNCON]; - PQueueType parts[MAXNCON][2]; - int higain, oldgain, mincut, newcut, mincutorder; - float *maxwgt, *minwgt, tvec[MAXNCON]; - - - nvtxs = graph->nvtxs; - ncon = graph->ncon; - xadj = graph->xadj; - nvwgt = graph->nvwgt; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - where = graph->where; - id = graph->id; - ed = graph->ed; - npwgts = graph->npwgts; - bndptr = graph->bndptr; - bndind = graph->bndind; - - moved = idxwspacemalloc(ctrl, nvtxs); - swaps = idxwspacemalloc(ctrl, nvtxs); - perm = idxwspacemalloc(ctrl, nvtxs); - qnum = idxwspacemalloc(ctrl, nvtxs); - - limit = amin(amax(0.01*nvtxs, 15), 100); - - /* Setup the weight intervals of the two subdomains */ - minwgt = fwspacemalloc(ctrl, 2*ncon); - maxwgt = fwspacemalloc(ctrl, 2*ncon); - - for (i=0; i<2; i++) { - for (j=0; jmincut; - mincutorder = -1; - - if (ctrl->dbglvl&DBG_REFINE) { - printf("Parts: ["); - for (l=0; lnvtxs, graph->nbnd, graph->mincut); - for (i=0; imincut); - ASSERT(CheckBnd(graph)); - - /* Insert all nodes in the priority queues */ - nbnd = graph->nbnd; - RandomPermute(nvtxs, perm, 1); - for (ii=0; ii limit) { /* We hit the limit, undo last move */ - newcut += (ed[higain]-id[higain]); - saxpy(ncon, 1.0, nvwgt+higain*ncon, 1, npwgts+from*ncon, 1); - saxpy(ncon, -1.0, nvwgt+higain*ncon, 1, npwgts+to*ncon, 1); - break; - } - - where[higain] = to; - moved[higain] = nswaps; - swaps[nswaps] = higain; - - if (ctrl->dbglvl&DBG_MOVEINFO) { - printf("Moved %6d from %d(%d). Gain: %5d, Cut: %5d, NPwgts: ", higain, from, cnum, ed[higain]-id[higain], newcut); - for (i=0; i 0 && bndptr[higain] == -1) - BNDInsert(nbnd, bndind, bndptr, higain); - - for (j=xadj[higain]; j 0 && bndptr[k] == -1) - BNDInsert(nbnd, bndind, bndptr, k); - } - - } - - - - /**************************************************************** - * Roll back computations - *****************************************************************/ - for (i=0; imincutorder; nswaps--) { - higain = swaps[nswaps]; - - to = where[higain] = (where[higain]+1)%2; - SWAP(id[higain], ed[higain], tmp); - if (ed[higain] == 0 && bndptr[higain] != -1 && xadj[higain] < xadj[higain+1]) - BNDDelete(nbnd, bndind, bndptr, higain); - else if (ed[higain] > 0 && bndptr[higain] == -1) - BNDInsert(nbnd, bndind, bndptr, higain); - - saxpy(ncon, 1.0, nvwgt+higain*ncon, 1, npwgts+to*ncon, 1); - saxpy(ncon, -1.0, nvwgt+higain*ncon, 1, npwgts+((to+1)%2)*ncon, 1); - for (j=xadj[higain]; j 0) - BNDInsert(nbnd, bndind, bndptr, k); - } - } - - if (ctrl->dbglvl&DBG_REFINE) { - printf("\tMincut: %6d at %5d, NBND: %6d, NPwgts: [", mincut, mincutorder, nbnd); - for (i=0; imincut = mincut; - graph->nbnd = nbnd; - - - for (i=0; i= maxdiff) { - maxdiff = diff; - *from = j; - *cnum = i; - } - } - } - -/* DELETE -j = *from; -for (i=0; i 0) { - maxdiff = (npwgts[(*from)*ncon+i] - maxwgt[(*from)*ncon+i]); - *cnum = i; - break; - } - } - - for (i++; i maxdiff && PQueueGetSize(&queues[i][*from]) > 0) { - maxdiff = diff; - *cnum = i; - } - } - } - - /* If the constraints ar OK, select a high gain vertex */ - if (*from == -1) { - maxgain = -100000; - for (j=0; j<2; j++) { - for (i=0; i 0 && PQueueGetKey(&queues[i][j]) > maxgain) { - maxgain = PQueueGetKey(&queues[i][0]); - *from = j; - *cnum = i; - } - } - } - - /* printf("(%2d %2d) %3d\n", *from, *cnum, maxgain); */ - } -} diff --git a/lib/metis-4.0/Lib/mcoarsen.c b/lib/metis-4.0/Lib/mcoarsen.c deleted file mode 100755 index 1af3ef79e..000000000 --- a/lib/metis-4.0/Lib/mcoarsen.c +++ /dev/null @@ -1,91 +0,0 @@ -/* - * mcoarsen.c - * - * This file contains the driving routines for the coarsening process - * - * Started 7/23/97 - * George - * - * $Id: mcoarsen.c,v 1.1 1998/11/27 17:59:19 karypis Exp $ - * - */ - -#include - - -/************************************************************************* -* This function takes a graph and creates a sequence of coarser graphs -**************************************************************************/ -GraphType *MCCoarsen2Way(CtrlType *ctrl, GraphType *graph) -{ - int i, clevel; - GraphType *cgraph; - - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->CoarsenTmr)); - - cgraph = graph; - - clevel = 0; - do { - if (ctrl->dbglvl&DBG_COARSEN) { - printf("%6d %7d %10d [%d] [%6.4f", cgraph->nvtxs, cgraph->nedges, - idxsum(cgraph->nvtxs, cgraph->adjwgtsum), ctrl->CoarsenTo, ctrl->nmaxvwgt); - for (i=0; incon; i++) - printf(" %5.3f", ssum_strd(cgraph->nvtxs, cgraph->nvwgt+i, cgraph->ncon)); - printf("]\n"); - } - - switch (ctrl->CType) { - case MATCH_RM: - MCMatch_RM(ctrl, cgraph); - break; - case MATCH_HEM: - if (clevel < 1) - MCMatch_RM(ctrl, cgraph); - else - MCMatch_HEM(ctrl, cgraph); - break; - case MATCH_SHEM: - if (clevel < 1) - MCMatch_RM(ctrl, cgraph); - else - MCMatch_SHEM(ctrl, cgraph); - break; - case MATCH_SHEMKWAY: - MCMatch_SHEM(ctrl, cgraph); - break; - case MATCH_SHEBM_ONENORM: - MCMatch_SHEBM(ctrl, cgraph, 1); - break; - case MATCH_SHEBM_INFNORM: - MCMatch_SHEBM(ctrl, cgraph, -1); - break; - case MATCH_SBHEM_ONENORM: - MCMatch_SBHEM(ctrl, cgraph, 1); - break; - case MATCH_SBHEM_INFNORM: - MCMatch_SBHEM(ctrl, cgraph, -1); - break; - default: - errexit("Unknown CType: %d\n", ctrl->CType); - } - - cgraph = cgraph->coarser; - clevel++; - - } while (cgraph->nvtxs > ctrl->CoarsenTo && cgraph->nvtxs < COARSEN_FRACTION2*cgraph->finer->nvtxs && cgraph->nedges > cgraph->nvtxs/2); - - if (ctrl->dbglvl&DBG_COARSEN) { - printf("%6d %7d %10d [%d] [%6.4f", cgraph->nvtxs, cgraph->nedges, - idxsum(cgraph->nvtxs, cgraph->adjwgtsum), ctrl->CoarsenTo, ctrl->nmaxvwgt); - for (i=0; incon; i++) - printf(" %5.3f", ssum_strd(cgraph->nvtxs, cgraph->nvwgt+i, cgraph->ncon)); - printf("]\n"); - } - - - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->CoarsenTmr)); - - return cgraph; -} - diff --git a/lib/metis-4.0/Lib/memory.c b/lib/metis-4.0/Lib/memory.c deleted file mode 100755 index a05f6fb82..000000000 --- a/lib/metis-4.0/Lib/memory.c +++ /dev/null @@ -1,208 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * memory.c - * - * This file contains routines that deal with memory allocation - * - * Started 2/24/96 - * George - * - * $Id: memory.c,v 1.2 1998/11/27 18:16:18 karypis Exp $ - * - */ - -#include - - -/************************************************************************* -* This function allocates memory for the workspace -**************************************************************************/ -void AllocateWorkSpace(CtrlType *ctrl, GraphType *graph, int nparts) -{ - ctrl->wspace.pmat = NULL; - - if (ctrl->optype == OP_KMETIS) { - ctrl->wspace.edegrees = (EDegreeType *)GKmalloc(graph->nedges*sizeof(EDegreeType), "AllocateWorkSpace: edegrees"); - ctrl->wspace.vedegrees = NULL; - ctrl->wspace.auxcore = (idxtype *)ctrl->wspace.edegrees; - - ctrl->wspace.pmat = idxmalloc(nparts*nparts, "AllocateWorkSpace: pmat"); - - /* Memory requirements for different phases - Coarsening - Matching: 4*nvtxs vectors - Contraction: 2*nvtxs vectors (from the above 4), 1*nparts, 1*Nedges - Total = MAX(4*nvtxs, 2*nvtxs+nparts+nedges) - - Refinement - Random Refinement/Balance: 5*nparts + 1*nvtxs + 2*nedges - Greedy Refinement/Balance: 5*nparts + 2*nvtxs + 2*nedges + 1*PQueue(==Nvtxs) - Total = 5*nparts + 3*nvtxs + 2*nedges - - Total = 5*nparts + 3*nvtxs + 2*nedges - */ - ctrl->wspace.maxcore = 3*(graph->nvtxs+1) + /* Match/Refinement vectors */ - 5*(nparts+1) + /* Partition weights etc */ - graph->nvtxs*(sizeof(ListNodeType)/sizeof(idxtype)) + /* Greedy k-way balance/refine */ - 20 /* padding for 64 bit machines */ - ; - } - else if (ctrl->optype == OP_KVMETIS) { - ctrl->wspace.edegrees = NULL; - ctrl->wspace.vedegrees = (VEDegreeType *)GKmalloc(graph->nedges*sizeof(VEDegreeType), "AllocateWorkSpace: vedegrees"); - ctrl->wspace.auxcore = (idxtype *)ctrl->wspace.vedegrees; - - ctrl->wspace.pmat = idxmalloc(nparts*nparts, "AllocateWorkSpace: pmat"); - - /* Memory requirements for different phases are identical to KMETIS */ - ctrl->wspace.maxcore = 3*(graph->nvtxs+1) + /* Match/Refinement vectors */ - 3*(nparts+1) + /* Partition weights etc */ - graph->nvtxs*(sizeof(ListNodeType)/sizeof(idxtype)) + /* Greedy k-way balance/refine */ - 20 /* padding for 64 bit machines */ - ; - } - else { - ctrl->wspace.edegrees = (EDegreeType *)idxmalloc(graph->nedges, "AllocateWorkSpace: edegrees"); - ctrl->wspace.vedegrees = NULL; - ctrl->wspace.auxcore = (idxtype *)ctrl->wspace.edegrees; - - ctrl->wspace.maxcore = 5*(graph->nvtxs+1) + /* Refinement vectors */ - 4*(nparts+1) + /* Partition weights etc */ - 2*graph->ncon*graph->nvtxs*(sizeof(ListNodeType)/sizeof(idxtype)) + /* 2-way refinement */ - 2*graph->ncon*(NEG_GAINSPAN+PLUS_GAINSPAN+1)*(sizeof(ListNodeType *)/sizeof(idxtype)) + /* 2-way refinement */ - 20 /* padding for 64 bit machines */ - ; - } - - ctrl->wspace.maxcore += HTLENGTH; - ctrl->wspace.core = idxmalloc(ctrl->wspace.maxcore, "AllocateWorkSpace: maxcore"); - ctrl->wspace.ccore = 0; -} - - -/************************************************************************* -* This function allocates memory for the workspace -**************************************************************************/ -void FreeWorkSpace(CtrlType *ctrl, GraphType *graph) -{ - GKfree(&ctrl->wspace.edegrees, &ctrl->wspace.vedegrees, &ctrl->wspace.core, &ctrl->wspace.pmat, LTERM); -} - -/************************************************************************* -* This function returns how may words are left in the workspace -**************************************************************************/ -int WspaceAvail(CtrlType *ctrl) -{ - return ctrl->wspace.maxcore - ctrl->wspace.ccore; -} - - -/************************************************************************* -* This function allocate space from the core -**************************************************************************/ -idxtype *idxwspacemalloc(CtrlType *ctrl, int n) -{ - n += n%2; /* This is a fix for 64 bit machines that require 8-byte pointer allignment */ - - ctrl->wspace.ccore += n; - ASSERT(ctrl->wspace.ccore <= ctrl->wspace.maxcore); - return ctrl->wspace.core + ctrl->wspace.ccore - n; -} - -/************************************************************************* -* This function frees space from the core -**************************************************************************/ -void idxwspacefree(CtrlType *ctrl, int n) -{ - n += n%2; /* This is a fix for 64 bit machines that require 8-byte pointer allignment */ - - ctrl->wspace.ccore -= n; - ASSERT(ctrl->wspace.ccore >= 0); -} - - -/************************************************************************* -* This function allocate space from the core -**************************************************************************/ -float *fwspacemalloc(CtrlType *ctrl, int n) -{ - n += n%2; /* This is a fix for 64 bit machines that require 8-byte pointer allignment */ - - ctrl->wspace.ccore += n; - ASSERT(ctrl->wspace.ccore <= ctrl->wspace.maxcore); - return (float *) (ctrl->wspace.core + ctrl->wspace.ccore - n); -} - -/************************************************************************* -* This function frees space from the core -**************************************************************************/ -void fwspacefree(CtrlType *ctrl, int n) -{ - n += n%2; /* This is a fix for 64 bit machines that require 8-byte pointer allignment */ - - ctrl->wspace.ccore -= n; - ASSERT(ctrl->wspace.ccore >= 0); -} - - - -/************************************************************************* -* This function creates a CoarseGraphType data structure and initializes -* the various fields -**************************************************************************/ -GraphType *CreateGraph(void) -{ - GraphType *graph; - - graph = (GraphType *)GKmalloc(sizeof(GraphType), "CreateCoarseGraph: graph"); - - InitGraph(graph); - - return graph; -} - - -/************************************************************************* -* This function creates a CoarseGraphType data structure and initializes -* the various fields -**************************************************************************/ -void InitGraph(GraphType *graph) -{ - graph->gdata = graph->rdata = NULL; - - graph->nvtxs = graph->nedges = -1; - graph->mincut = graph->minvol = -1; - - graph->xadj = graph->vwgt = graph->adjncy = graph->adjwgt = NULL; - graph->adjwgtsum = NULL; - graph->label = NULL; - graph->cmap = NULL; - - graph->where = graph->pwgts = NULL; - graph->id = graph->ed = NULL; - graph->bndptr = graph->bndind = NULL; - graph->rinfo = NULL; - graph->vrinfo = NULL; - graph->nrinfo = NULL; - - graph->ncon = -1; - graph->nvwgt = NULL; - graph->npwgts = NULL; - - graph->vsize = NULL; - - graph->coarser = graph->finer = NULL; - -} - -/************************************************************************* -* This function deallocates any memory stored in a graph -**************************************************************************/ -void FreeGraph(GraphType *graph) -{ - - GKfree(&graph->gdata, &graph->nvwgt, &graph->rdata, &graph->npwgts, LTERM); - free(graph); -} - diff --git a/lib/metis-4.0/Lib/mesh.c b/lib/metis-4.0/Lib/mesh.c deleted file mode 100755 index 1ca488102..000000000 --- a/lib/metis-4.0/Lib/mesh.c +++ /dev/null @@ -1,398 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * mesh.c - * - * This file contains routines for converting 3D and 4D finite element - * meshes into dual or nodal graphs - * - * Started 8/18/97 - * George - * - * $Id: mesh.c,v 1.1 1998/11/27 17:59:20 karypis Exp $ - * - */ - -#include - -/***************************************************************************** -* This function creates a graph corresponding to the dual of a finite element -* mesh. At this point the supported elements are triangles, tetrahedrons, and -* bricks. -******************************************************************************/ -void METIS_MeshToDual(int *ne, int *nn, idxtype *elmnts, int *etype, int *numflag, - idxtype *dxadj, idxtype *dadjncy) -{ - int esizes[] = {-1, 3, 4, 8, 4}; - - if (*numflag == 1) - ChangeMesh2CNumbering((*ne)*esizes[*etype], elmnts); - - GENDUALMETIS(*ne, *nn, *etype, elmnts, dxadj, dadjncy); - - if (*numflag == 1) - ChangeMesh2FNumbering((*ne)*esizes[*etype], elmnts, *ne, dxadj, dadjncy); -} - - -/***************************************************************************** -* This function creates a graph corresponding to the finite element mesh. -* At this point the supported elements are triangles, tetrahedrons. -******************************************************************************/ -void METIS_MeshToNodal(int *ne, int *nn, idxtype *elmnts, int *etype, int *numflag, - idxtype *dxadj, idxtype *dadjncy) -{ - int esizes[] = {-1, 3, 4, 8, 4}; - - if (*numflag == 1) - ChangeMesh2CNumbering((*ne)*esizes[*etype], elmnts); - - switch (*etype) { - case 1: - TRINODALMETIS(*ne, *nn, elmnts, dxadj, dadjncy); - break; - case 2: - TETNODALMETIS(*ne, *nn, elmnts, dxadj, dadjncy); - break; - case 3: - HEXNODALMETIS(*ne, *nn, elmnts, dxadj, dadjncy); - break; - case 4: - QUADNODALMETIS(*ne, *nn, elmnts, dxadj, dadjncy); - break; - } - - if (*numflag == 1) - ChangeMesh2FNumbering((*ne)*esizes[*etype], elmnts, *nn, dxadj, dadjncy); -} - - - -/***************************************************************************** -* This function creates the dual of a finite element mesh -******************************************************************************/ -void GENDUALMETIS(int nelmnts, int nvtxs, int etype, idxtype *elmnts, idxtype *dxadj, idxtype *dadjncy) -{ - int i, j, jj, k, kk, kkk, l, m, n, nedges, mask; - idxtype *nptr, *nind; - idxtype *mark, ind[200], wgt[200]; - int esize, esizes[] = {-1, 3, 4, 8, 4}, - mgcnum, mgcnums[] = {-1, 2, 3, 4, 2}; - - mask = (1<<11)-1; - mark = idxsmalloc(mask+1, -1, "GENDUALMETIS: mark"); - - /* Get the element size and magic number for the particular element */ - esize = esizes[etype]; - mgcnum = mgcnums[etype]; - - /* Construct the node-element list first */ - nptr = idxsmalloc(nvtxs+1, 0, "GENDUALMETIS: nptr"); - for (j=esize*nelmnts, i=0; i0; i--) - nptr[i] = nptr[i-1]; - nptr[0] = 0; - - for (i=0; i=nptr[n]; k--) { - if ((kk = nind[k]) <= i) - break; - - kkk = kk&mask; - if ((l = mark[kkk]) == -1) { - ind[m] = kk; - wgt[m] = 1; - mark[kkk] = m++; - } - else if (ind[l] == kk) { - wgt[l]++; - } - else { - for (jj=0; jj0; i--) - dxadj[i] = dxadj[i-1]; - dxadj[0] = 0; - - free(mark); - free(nptr); - free(nind); - -} - - - - -/***************************************************************************** -* This function creates the nodal graph of a finite element mesh -******************************************************************************/ -void TRINODALMETIS(int nelmnts, int nvtxs, idxtype *elmnts, idxtype *dxadj, idxtype *dadjncy) -{ - int i, j, jj, k, kk, kkk, l, m, n, nedges; - idxtype *nptr, *nind; - idxtype *mark; - - /* Construct the node-element list first */ - nptr = idxsmalloc(nvtxs+1, 0, "TRINODALMETIS: nptr"); - for (j=3*nelmnts, i=0; i0; i--) - nptr[i] = nptr[i-1]; - nptr[0] = 0; - - - mark = idxsmalloc(nvtxs, -1, "TRINODALMETIS: mark"); - - nedges = dxadj[0] = 0; - for (i=0; i0; i--) - nptr[i] = nptr[i-1]; - nptr[0] = 0; - - - mark = idxsmalloc(nvtxs, -1, "TETNODALMETIS: mark"); - - nedges = dxadj[0] = 0; - for (i=0; i0; i--) - nptr[i] = nptr[i-1]; - nptr[0] = 0; - - - mark = idxsmalloc(nvtxs, -1, "HEXNODALMETIS: mark"); - - nedges = dxadj[0] = 0; - for (i=0; i0; i--) - nptr[i] = nptr[i-1]; - nptr[0] = 0; - - - mark = idxsmalloc(nvtxs, -1, "QUADNODALMETIS: mark"); - - nedges = dxadj[0] = 0; - for (i=0; i - - -/************************************************************************* -* This function partitions a finite element mesh by partitioning its nodal -* graph using KMETIS and then assigning elements in a load balanced fashion. -**************************************************************************/ -void METIS_PartMeshNodal(int *ne, int *nn, idxtype *elmnts, int *etype, int *numflag, - int *nparts, int *edgecut, idxtype *epart, idxtype *npart) -{ - int i, j, k, me; - idxtype *xadj, *adjncy, *pwgts; - int options[10], pnumflag=0, wgtflag=0; - int nnbrs, nbrind[200], nbrwgt[200], maxpwgt; - int esize, esizes[] = {-1, 3, 4, 8, 4}; - - esize = esizes[*etype]; - - if (*numflag == 1) - ChangeMesh2CNumbering((*ne)*esize, elmnts); - - xadj = idxmalloc(*nn+1, "METIS_MESHPARTNODAL: xadj"); - adjncy = idxmalloc(20*(*nn), "METIS_MESHPARTNODAL: adjncy"); - - METIS_MeshToNodal(ne, nn, elmnts, etype, &pnumflag, xadj, adjncy); - - adjncy = realloc(adjncy, xadj[*nn]*sizeof(idxtype)); - - options[0] = 0; - METIS_PartGraphKway(nn, xadj, adjncy, NULL, NULL, &wgtflag, &pnumflag, nparts, options, edgecut, npart); - - /* OK, now compute an element partition based on the nodal partition npart */ - idxset(*ne, -1, epart); - pwgts = idxsmalloc(*nparts, 0, "METIS_MESHPARTNODAL: pwgts"); - for (i=0; i<*ne; i++) { - me = npart[elmnts[i*esize]]; - for (j=1; j0; i--) - nptr[i] = nptr[i-1]; - nptr[0] = 0; - - - /* OK, now compute a nodal partition based on the element partition npart */ - idxset(*nn, -1, npart); - pwgts = idxsmalloc(*nparts, 0, "METIS_MESHPARTDUAL: pwgts"); - for (i=0; i<*nn; i++) { - me = epart[nind[nptr[i]]]; - for (j=nptr[i]+1; j -#ifdef __STDC__ -#include -#else -#include -#endif -#include -#include -#include -#include -#include -#include - -#ifdef DMALLOC -#include -#endif - -#include -#include -#include -#include -#include - diff --git a/lib/metis-4.0/Lib/mfm.c b/lib/metis-4.0/Lib/mfm.c deleted file mode 100755 index 0aebadf34..000000000 --- a/lib/metis-4.0/Lib/mfm.c +++ /dev/null @@ -1,344 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * mfm.c - * - * This file contains code that implements the edge-based FM refinement - * - * Started 7/23/97 - * George - * - * $Id: mfm.c,v 1.3 1998/11/30 14:50:44 karypis Exp $ - */ - -#include - - -/************************************************************************* -* This function performs an edge-based FM refinement -**************************************************************************/ -void MocFM_2WayEdgeRefine(CtrlType *ctrl, GraphType *graph, float *tpwgts, int npasses) -{ - int i, ii, j, k, l, kwgt, nvtxs, ncon, nbnd, nswaps, from, to, pass, me, limit, tmp, cnum; - idxtype *xadj, *adjncy, *adjwgt, *where, *id, *ed, *bndptr, *bndind; - idxtype *moved, *swaps, *perm, *qnum; - float *nvwgt, *npwgts, mindiff[MAXNCON], origbal, minbal, newbal; - PQueueType parts[MAXNCON][2]; - int higain, oldgain, mincut, initcut, newcut, mincutorder; - float rtpwgts[2]; - - nvtxs = graph->nvtxs; - ncon = graph->ncon; - xadj = graph->xadj; - nvwgt = graph->nvwgt; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - where = graph->where; - id = graph->id; - ed = graph->ed; - npwgts = graph->npwgts; - bndptr = graph->bndptr; - bndind = graph->bndind; - - moved = idxwspacemalloc(ctrl, nvtxs); - swaps = idxwspacemalloc(ctrl, nvtxs); - perm = idxwspacemalloc(ctrl, nvtxs); - qnum = idxwspacemalloc(ctrl, nvtxs); - - limit = amin(amax(0.01*nvtxs, 25), 150); - - /* Initialize the queues */ - for (i=0; idbglvl&DBG_REFINE) { - printf("Parts: ["); - for (l=0; lnvtxs, graph->nbnd, graph->mincut, origbal); - } - - idxset(nvtxs, -1, moved); - for (pass=0; passmincut; - for (i=0; imincut); - ASSERT(CheckBnd(graph)); - - /* Insert boundary nodes in the priority queues */ - nbnd = graph->nbnd; - RandomPermute(nbnd, perm, 1); - for (ii=0; ii 0 || id[i] == 0); - ASSERT(bndptr[i] != -1); - PQueueInsert(&parts[qnum[i]][where[i]], i, ed[i]-id[i]); - } - - for (nswaps=0; nswaps limit) { /* We hit the limit, undo last move */ - newcut += (ed[higain]-id[higain]); - saxpy(ncon, 1.0, nvwgt+higain*ncon, 1, npwgts+from*ncon, 1); - saxpy(ncon, -1.0, nvwgt+higain*ncon, 1, npwgts+to*ncon, 1); - break; - } - - where[higain] = to; - moved[higain] = nswaps; - swaps[nswaps] = higain; - - if (ctrl->dbglvl&DBG_MOVEINFO) { - printf("Moved %6d from %d(%d). Gain: %5d, Cut: %5d, NPwgts: ", higain, from, cnum, ed[higain]-id[higain], newcut); - for (l=0; l 0) { /* It will now become a boundary vertex */ - BNDInsert(nbnd, bndind, bndptr, k); - if (moved[k] == -1) - PQueueInsert(&parts[qnum[k]][where[k]], k, ed[k]-id[k]); - } - } - } - - } - - - /**************************************************************** - * Roll back computations - *****************************************************************/ - for (i=0; imincutorder; nswaps--) { - higain = swaps[nswaps]; - - to = where[higain] = (where[higain]+1)%2; - SWAP(id[higain], ed[higain], tmp); - if (ed[higain] == 0 && bndptr[higain] != -1 && xadj[higain] < xadj[higain+1]) - BNDDelete(nbnd, bndind, bndptr, higain); - else if (ed[higain] > 0 && bndptr[higain] == -1) - BNDInsert(nbnd, bndind, bndptr, higain); - - saxpy(ncon, 1.0, nvwgt+higain*ncon, 1, npwgts+to*ncon, 1); - saxpy(ncon, -1.0, nvwgt+higain*ncon, 1, npwgts+((to+1)%2)*ncon, 1); - for (j=xadj[higain]; j 0) - BNDInsert(nbnd, bndind, bndptr, k); - } - } - - if (ctrl->dbglvl&DBG_REFINE) { - printf("\tMincut: %6d at %5d, NBND: %6d, NPwgts: [", mincut, mincutorder, nbnd); - for (l=0; lmincut = mincut; - graph->nbnd = nbnd; - - if (mincutorder == -1 || mincut == initcut) - break; - } - - for (i=0; i= maxdiff) { - maxdiff = npwgts[part*ncon+i]-tpwgts[part]; - *from = part; - *cnum = i; - } - } - } - - /* printf("Selected1 %d(%d) -> %d [%5f]\n", *from, *cnum, PQueueGetSize(&queues[*cnum][*from]), maxdiff); */ - - if (*from != -1 && PQueueGetSize(&queues[*cnum][*from]) == 0) { - /* The desired queue is empty, select a node from that side anyway */ - for (i=0; i 0) { - max = npwgts[(*from)*ncon + i]; - *cnum = i; - break; - } - } - - for (i++; i max && PQueueGetSize(&queues[i][*from]) > 0) { - max = npwgts[(*from)*ncon + i]; - *cnum = i; - } - } - } - - /* Check to see if you can focus on the cut */ - if (maxdiff <= 0.0 || *from == -1) { - maxgain = -100000; - - for (part=0; part<2; part++) { - for (i=0; i 0 && PQueueGetKey(&queues[i][part]) > maxgain) { - maxgain = PQueueGetKey(&queues[i][part]); - *from = part; - *cnum = i; - } - } - } - } - - /* printf("Selected2 %d(%d) -> %d\n", *from, *cnum, PQueueGetSize(&queues[*cnum][*from])); */ -} - - - - - -/************************************************************************* -* This function checks if the balance achieved is better than the diff -* For now, it uses a 2-norm measure -**************************************************************************/ -int BetterBalance(int ncon, float *npwgts, float *tpwgts, float *diff) -{ - int i; - float ndiff[MAXNCON]; - - for (i=0; i - - -/************************************************************************* -* This function performs an edge-based FM refinement -**************************************************************************/ -void MocFM_2WayEdgeRefine2(CtrlType *ctrl, GraphType *graph, float *tpwgts, float *orgubvec, - int npasses) -{ - int i, ii, j, k, l, kwgt, nvtxs, ncon, nbnd, nswaps, from, to, pass, me, limit, tmp, cnum; - idxtype *xadj, *adjncy, *adjwgt, *where, *id, *ed, *bndptr, *bndind; - idxtype *moved, *swaps, *perm, *qnum; - float *nvwgt, *npwgts, origdiff[MAXNCON], origbal[MAXNCON], minbal[MAXNCON]; - PQueueType parts[MAXNCON][2]; - int higain, oldgain, mincut, initcut, newcut, mincutorder; - float *maxwgt, *minwgt, ubvec[MAXNCON], tvec[MAXNCON]; - - nvtxs = graph->nvtxs; - ncon = graph->ncon; - xadj = graph->xadj; - nvwgt = graph->nvwgt; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - where = graph->where; - id = graph->id; - ed = graph->ed; - npwgts = graph->npwgts; - bndptr = graph->bndptr; - bndind = graph->bndind; - - moved = idxwspacemalloc(ctrl, nvtxs); - swaps = idxwspacemalloc(ctrl, nvtxs); - perm = idxwspacemalloc(ctrl, nvtxs); - qnum = idxwspacemalloc(ctrl, nvtxs); - - limit = amin(amax(0.01*nvtxs, 15), 100); - - Compute2WayHLoadImbalanceVec(ncon, npwgts, tpwgts, origbal); - for (i=0; idbglvl&DBG_REFINE) { - printf("Parts: ["); - for (l=0; lnvtxs, graph->nbnd, graph->mincut); - for (i=0; imincut; - Compute2WayHLoadImbalanceVec(ncon, npwgts, tpwgts, minbal); - - ASSERT(ComputeCut(graph, where) == graph->mincut); - ASSERT(CheckBnd(graph)); - - /* Insert boundary nodes in the priority queues */ - nbnd = graph->nbnd; - RandomPermute(nbnd, perm, 1); - for (ii=0; ii 0 || id[i] == 0); - ASSERT(bndptr[i] != -1); - PQueueInsert(&parts[qnum[i]][where[i]], i, ed[i]-id[i]); - } - - for (nswaps=0; nswaps limit) { /* We hit the limit, undo last move */ - newcut += (ed[higain]-id[higain]); - saxpy(ncon, 1.0, nvwgt+higain*ncon, 1, npwgts+from*ncon, 1); - saxpy(ncon, -1.0, nvwgt+higain*ncon, 1, npwgts+to*ncon, 1); - break; - } - - where[higain] = to; - moved[higain] = nswaps; - swaps[nswaps] = higain; - - if (ctrl->dbglvl&DBG_MOVEINFO) { - printf("Moved %6d from %d(%d). Gain: %5d, Cut: %5d, NPwgts: ", higain, from, cnum, ed[higain]-id[higain], newcut); - for (l=0; l 0) { /* It will now become a boundary vertex */ - BNDInsert(nbnd, bndind, bndptr, k); - if (moved[k] == -1) - PQueueInsert(&parts[qnum[k]][where[k]], k, ed[k]-id[k]); - } - } - } - - } - - - /**************************************************************** - * Roll back computations - *****************************************************************/ - for (i=0; imincutorder; nswaps--) { - higain = swaps[nswaps]; - - to = where[higain] = (where[higain]+1)%2; - SWAP(id[higain], ed[higain], tmp); - if (ed[higain] == 0 && bndptr[higain] != -1 && xadj[higain] < xadj[higain+1]) - BNDDelete(nbnd, bndind, bndptr, higain); - else if (ed[higain] > 0 && bndptr[higain] == -1) - BNDInsert(nbnd, bndind, bndptr, higain); - - saxpy(ncon, 1.0, nvwgt+higain*ncon, 1, npwgts+to*ncon, 1); - saxpy(ncon, -1.0, nvwgt+higain*ncon, 1, npwgts+((to+1)%2)*ncon, 1); - for (j=xadj[higain]; j 0) - BNDInsert(nbnd, bndind, bndptr, k); - } - } - - if (ctrl->dbglvl&DBG_REFINE) { - printf("\tMincut: %6d at %5d, NBND: %6d, NPwgts: [", mincut, mincutorder, nbnd); - for (l=0; lmincut = mincut; - graph->nbnd = nbnd; - - if (mincutorder == -1 || mincut == initcut) - break; - } - - for (i=0; i= maxdiff) { - maxdiff = diff; - *from = j; - *cnum = i; - } - } - } - - if (*from != -1 && PQueueGetSize(&queues[*cnum][*from]) == 0) { - /* The desired queue is empty, select a node from that side anyway */ - for (i=0; i 0) { - max = (npwgts[(*from)*ncon+i] - maxwgt[(*from)*ncon+i]); - *cnum = i; - break; - } - } - - for (i++; i max && PQueueGetSize(&queues[i][*from]) > 0) { - max = diff; - *cnum = i; - } - } - } - - /* Check to see if you can focus on the cut */ - if (maxdiff <= 0.0 || *from == -1) { - maxgain = -100000; - - for (j=0; j<2; j++) { - for (i=0; i 0 && PQueueGetKey(&queues[i][j]) > maxgain) { - maxgain = PQueueGetKey(&queues[i][j]); - *from = j; - *cnum = i; - } - } - } - - /* printf("(%2d %2d) %3d\n", *from, *cnum, maxgain); */ - } -} - - -/************************************************************************* -* This function checks if the newbal is better than oldbal given the -* ubvector ubvec -**************************************************************************/ -int IsBetter2wayBalance(int ncon, float *newbal, float *oldbal, float *ubvec) -{ - int i, j; - float max1=0.0, max2=0.0, sum1=0.0, sum2=0.0, tmp; - - for (i=0; i max2) - return 0; - else - return sum1 <= sum2; -} - - diff --git a/lib/metis-4.0/Lib/mincover.c b/lib/metis-4.0/Lib/mincover.c deleted file mode 100755 index 147e365c3..000000000 --- a/lib/metis-4.0/Lib/mincover.c +++ /dev/null @@ -1,259 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * mincover.c - * - * This file implements the minimum cover algorithm - * - * Started 8/1/97 - * George - * - * $Id: mincover.c,v 1.1 1998/11/27 17:59:22 karypis Exp $ - */ - -#include - -/************************************************************************* -* Constants used by mincover algorithm -**************************************************************************/ -#define INCOL 10 -#define INROW 20 -#define VC 1 -#define SC 2 -#define HC 3 -#define VR 4 -#define SR 5 -#define HR 6 - - -/************************************************************************* -* This function returns the min-cover of a bipartite graph. -* The algorithm used is due to Hopcroft and Karp as modified by Duff etal -* adj: the adjacency list of the bipartite graph -* asize: the number of vertices in the first part of the bipartite graph -* bsize-asize: the number of vertices in the second part -* 0..(asize-1) > A vertices -* asize..bsize > B vertices -* -* Returns: -* cover : the actual cover (array) -* csize : the size of the cover -**************************************************************************/ -void MinCover(idxtype *xadj, idxtype *adjncy, int asize, int bsize, idxtype *cover, int *csize) -{ - int i, j; - idxtype *mate, *queue, *flag, *level, *lst; - int fptr, rptr, lstptr; - int row, maxlevel, col; - - mate = idxsmalloc(bsize, -1, "MinCover: mate"); - flag = idxmalloc(bsize, "MinCover: flag"); - level = idxmalloc(bsize, "MinCover: level"); - queue = idxmalloc(bsize, "MinCover: queue"); - lst = idxmalloc(bsize, "MinCover: lst"); - - /* Get a cheap matching */ - for (i=0; i - -/************************************************************************* -* This function computes the initial bisection of the coarsest graph -**************************************************************************/ -void MocInit2WayPartition(CtrlType *ctrl, GraphType *graph, float *tpwgts, float ubfactor) -{ - int i, dbglvl; - - dbglvl = ctrl->dbglvl; - IFSET(ctrl->dbglvl, DBG_REFINE, ctrl->dbglvl -= DBG_REFINE); - IFSET(ctrl->dbglvl, DBG_MOVEINFO, ctrl->dbglvl -= DBG_MOVEINFO); - - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->InitPartTmr)); - - switch (ctrl->IType) { - case IPART_GGPKL: - MocGrowBisection(ctrl, graph, tpwgts, ubfactor); - break; - case IPART_RANDOM: - MocRandomBisection(ctrl, graph, tpwgts, ubfactor); - break; - default: - errexit("Unknown initial partition type: %d\n", ctrl->IType); - } - - IFSET(ctrl->dbglvl, DBG_IPART, printf("Initial Cut: %d [%d]\n", graph->mincut, graph->where[0])); - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->InitPartTmr)); - ctrl->dbglvl = dbglvl; - -} - - - - - -/************************************************************************* -* This function takes a graph and produces a bisection by using a region -* growing algorithm. The resulting partition is returned in -* graph->where -**************************************************************************/ -void MocGrowBisection(CtrlType *ctrl, GraphType *graph, float *tpwgts, float ubfactor) -{ - int i, j, k, nvtxs, ncon, from, bestcut, mincut, nbfs; - idxtype *bestwhere, *where; - - nvtxs = graph->nvtxs; - - MocAllocate2WayPartitionMemory(ctrl, graph); - where = graph->where; - - bestwhere = idxmalloc(nvtxs, "BisectGraph: bestwhere"); - nbfs = 2*(nvtxs <= ctrl->CoarsenTo ? SMALLNIPARTS : LARGENIPARTS); - bestcut = idxsum(graph->nedges, graph->adjwgt); - - for (; nbfs>0; nbfs--) { - idxset(nvtxs, 1, where); - where[RandomInRange(nvtxs)] = 0; - - MocCompute2WayPartitionParams(ctrl, graph); - - MocInit2WayBalance(ctrl, graph, tpwgts); - - MocFM_2WayEdgeRefine(ctrl, graph, tpwgts, 4); - - MocBalance2Way(ctrl, graph, tpwgts, 1.02); - MocFM_2WayEdgeRefine(ctrl, graph, tpwgts, 4); - - if (bestcut >= graph->mincut) { - bestcut = graph->mincut; - idxcopy(nvtxs, where, bestwhere); - if (bestcut == 0) - break; - } - } - - graph->mincut = bestcut; - idxcopy(nvtxs, bestwhere, where); - - GKfree(&bestwhere, LTERM); -} - - - -/************************************************************************* -* This function takes a graph and produces a bisection by using a region -* growing algorithm. The resulting partition is returned in -* graph->where -**************************************************************************/ -void MocRandomBisection(CtrlType *ctrl, GraphType *graph, float *tpwgts, float ubfactor) -{ - int i, ii, j, k, nvtxs, ncon, from, bestcut, mincut, nbfs, qnum; - idxtype *bestwhere, *where, *perm; - int counts[MAXNCON]; - float *nvwgt; - - nvtxs = graph->nvtxs; - ncon = graph->ncon; - nvwgt = graph->nvwgt; - - MocAllocate2WayPartitionMemory(ctrl, graph); - where = graph->where; - - bestwhere = idxmalloc(nvtxs, "BisectGraph: bestwhere"); - nbfs = 2*(nvtxs <= ctrl->CoarsenTo ? SMALLNIPARTS : LARGENIPARTS); - bestcut = idxsum(graph->nedges, graph->adjwgt); - perm = idxmalloc(nvtxs, "BisectGraph: perm"); - - for (; nbfs>0; nbfs--) { - for (i=0; imincut); - for (i=0; incon; i++) - printf("(%.3f %.3f) ", graph->npwgts[i], graph->npwgts[graph->ncon+i]); - printf("]\n"); - */ - - if (bestcut >= graph->mincut) { - bestcut = graph->mincut; - idxcopy(nvtxs, where, bestwhere); - if (bestcut == 0) - break; - } - } - - graph->mincut = bestcut; - idxcopy(nvtxs, bestwhere, where); - - GKfree(&bestwhere, &perm, LTERM); -} - - - - -/************************************************************************* -* This function balances two partitions by moving the highest gain -* (including negative gain) vertices to the other domain. -* It is used only when tha unbalance is due to non contigous -* subdomains. That is, the are no boundary vertices. -* It moves vertices from the domain that is overweight to the one that -* is underweight. -**************************************************************************/ -void MocInit2WayBalance(CtrlType *ctrl, GraphType *graph, float *tpwgts) -{ - int i, ii, j, k, l, kwgt, nvtxs, nbnd, ncon, nswaps, from, to, pass, me, cnum, tmp; - idxtype *xadj, *adjncy, *adjwgt, *where, *id, *ed, *bndptr, *bndind; - idxtype *perm, *qnum; - float *nvwgt, *npwgts; - PQueueType parts[MAXNCON][2]; - int higain, oldgain, mincut; - - nvtxs = graph->nvtxs; - ncon = graph->ncon; - xadj = graph->xadj; - adjncy = graph->adjncy; - nvwgt = graph->nvwgt; - adjwgt = graph->adjwgt; - where = graph->where; - id = graph->id; - ed = graph->ed; - npwgts = graph->npwgts; - bndptr = graph->bndptr; - bndind = graph->bndind; - - perm = idxwspacemalloc(ctrl, nvtxs); - qnum = idxwspacemalloc(ctrl, nvtxs); - - /* This is called for initial partitioning so we know from where to pick nodes */ - from = 1; - to = (from+1)%2; - - if (ctrl->dbglvl&DBG_REFINE) { - printf("Parts: ["); - for (l=0; lnvtxs, graph->nbnd, graph->mincut, - Compute2WayHLoadImbalance(ncon, npwgts, tpwgts)); - } - - for (i=0; imincut); - ASSERT(CheckBnd(graph)); - ASSERT(CheckGraph(graph)); - - /* Compute the queues in which each vertex will be assigned to */ - for (i=0; i 0) - PQueueInsert(&parts[qnum[i]][0], i, ed[i]-id[i]); - else - PQueueInsert(&parts[qnum[i]][1], i, ed[i]-id[i]); - } - } - - - mincut = graph->mincut; - nbnd = graph->nbnd; - for (nswaps=0; nswapsdbglvl&DBG_MOVEINFO) { - printf("Moved %6d from %d(%d). [%5d] %5d, NPwgts: ", higain, from, cnum, ed[higain]-id[higain], mincut); - for (l=0; l 0) - printf("\t Pulled from the interior!\n"); - } - - - /************************************************************** - * Update the id[i]/ed[i] values of the affected nodes - ***************************************************************/ - SWAP(id[higain], ed[higain], tmp); - if (ed[higain] == 0 && bndptr[higain] != -1 && xadj[higain] < xadj[higain+1]) - BNDDelete(nbnd, bndind, bndptr, higain); - if (ed[higain] > 0 && bndptr[higain] == -1) - BNDInsert(nbnd, bndind, bndptr, higain); - - for (j=xadj[higain]; j 0 && bndptr[k] == -1) { /* It moves in boundary */ - PQueueDelete(&parts[qnum[k]][1], k, oldgain); - PQueueInsert(&parts[qnum[k]][0], k, ed[k]-id[k]); - } - else { /* It must be in the boundary already */ - if (bndptr[k] == -1) - printf("What you thought was wrong!\n"); - PQueueUpdate(&parts[qnum[k]][0], k, oldgain, ed[k]-id[k]); - } - } - - /* Update its boundary information */ - if (ed[k] == 0 && bndptr[k] != -1) - BNDDelete(nbnd, bndind, bndptr, k); - else if (ed[k] > 0 && bndptr[k] == -1) - BNDInsert(nbnd, bndind, bndptr, k); - } - - ASSERTP(ComputeCut(graph, where) == mincut, ("%d != %d\n", ComputeCut(graph, where), mincut)); - - } - - if (ctrl->dbglvl&DBG_REFINE) { - printf("\tMincut: %6d, NBND: %6d, NPwgts: ", mincut, nbnd); - for (l=0; lmincut = mincut; - graph->nbnd = nbnd; - - for (i=0; imincut); - ASSERT(CheckBnd(graph)); - - idxwspacefree(ctrl, nvtxs); - idxwspacefree(ctrl, nvtxs); -} - - - - -/************************************************************************* -* This function selects the partition number and the queue from which -* we will move vertices out -**************************************************************************/ -int SelectQueueOneWay(int ncon, float *npwgts, float *tpwgts, int from, PQueueType queues[MAXNCON][2]) -{ - int i, cnum=-1; - float max=0.0; - - for (i=0; i= max && - PQueueGetSize(&queues[i][0]) + PQueueGetSize(&queues[i][1]) > 0) { - max = npwgts[from*ncon+i]-tpwgts[0]; - cnum = i; - } - } - - return cnum; -} - - diff --git a/lib/metis-4.0/Lib/minitpart2.c b/lib/metis-4.0/Lib/minitpart2.c deleted file mode 100755 index 637978a66..000000000 --- a/lib/metis-4.0/Lib/minitpart2.c +++ /dev/null @@ -1,368 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * minitpart2.c - * - * This file contains code that performs the initial partition of the - * coarsest graph - * - * Started 7/23/97 - * George - * - * $Id: minitpart2.c,v 1.1 1998/11/27 17:59:23 karypis Exp $ - * - */ - -#include - -/************************************************************************* -* This function computes the initial bisection of the coarsest graph -**************************************************************************/ -void MocInit2WayPartition2(CtrlType *ctrl, GraphType *graph, float *tpwgts, float *ubvec) -{ - int dbglvl; - - dbglvl = ctrl->dbglvl; - IFSET(ctrl->dbglvl, DBG_REFINE, ctrl->dbglvl -= DBG_REFINE); - IFSET(ctrl->dbglvl, DBG_MOVEINFO, ctrl->dbglvl -= DBG_MOVEINFO); - - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->InitPartTmr)); - - switch (ctrl->IType) { - case IPART_GGPKL: - case IPART_RANDOM: - MocGrowBisection2(ctrl, graph, tpwgts, ubvec); - break; - case 3: - MocGrowBisectionNew2(ctrl, graph, tpwgts, ubvec); - break; - default: - errexit("Unknown initial partition type: %d\n", ctrl->IType); - } - - IFSET(ctrl->dbglvl, DBG_IPART, printf("Initial Cut: %d\n", graph->mincut)); - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->InitPartTmr)); - ctrl->dbglvl = dbglvl; - -} - - - - -/************************************************************************* -* This function takes a graph and produces a bisection by using a region -* growing algorithm. The resulting partition is returned in -* graph->where -**************************************************************************/ -void MocGrowBisection2(CtrlType *ctrl, GraphType *graph, float *tpwgts, float *ubvec) -{ - int i, j, k, nvtxs, ncon, from, bestcut, mincut, nbfs; - idxtype *bestwhere, *where; - - nvtxs = graph->nvtxs; - - MocAllocate2WayPartitionMemory(ctrl, graph); - where = graph->where; - - bestwhere = idxmalloc(nvtxs, "BisectGraph: bestwhere"); - nbfs = 2*(nvtxs <= ctrl->CoarsenTo ? SMALLNIPARTS : LARGENIPARTS); - bestcut = idxsum(graph->nedges, graph->adjwgt); - - for (; nbfs>0; nbfs--) { - idxset(nvtxs, 1, where); - where[RandomInRange(nvtxs)] = 0; - - MocCompute2WayPartitionParams(ctrl, graph); - - MocBalance2Way2(ctrl, graph, tpwgts, ubvec); - - MocFM_2WayEdgeRefine2(ctrl, graph, tpwgts, ubvec, 4); - - MocBalance2Way2(ctrl, graph, tpwgts, ubvec); - MocFM_2WayEdgeRefine2(ctrl, graph, tpwgts, ubvec, 4); - - if (bestcut > graph->mincut) { - bestcut = graph->mincut; - idxcopy(nvtxs, where, bestwhere); - if (bestcut == 0) - break; - } - } - - graph->mincut = bestcut; - idxcopy(nvtxs, bestwhere, where); - - GKfree(&bestwhere, LTERM); -} - - - - - - -/************************************************************************* -* This function takes a graph and produces a bisection by using a region -* growing algorithm. The resulting partition is returned in -* graph->where -**************************************************************************/ -void MocGrowBisectionNew2(CtrlType *ctrl, GraphType *graph, float *tpwgts, float *ubvec) -{ - int i, j, k, nvtxs, ncon, from, bestcut, mincut, nbfs; - idxtype *bestwhere, *where; - - nvtxs = graph->nvtxs; - - MocAllocate2WayPartitionMemory(ctrl, graph); - where = graph->where; - - bestwhere = idxmalloc(nvtxs, "BisectGraph: bestwhere"); - nbfs = 2*(nvtxs <= ctrl->CoarsenTo ? SMALLNIPARTS : LARGENIPARTS); - bestcut = idxsum(graph->nedges, graph->adjwgt); - - for (; nbfs>0; nbfs--) { - idxset(nvtxs, 1, where); - where[RandomInRange(nvtxs)] = 0; - - MocCompute2WayPartitionParams(ctrl, graph); - - MocInit2WayBalance2(ctrl, graph, tpwgts, ubvec); - - MocFM_2WayEdgeRefine2(ctrl, graph, tpwgts, ubvec, 4); - - if (bestcut > graph->mincut) { - bestcut = graph->mincut; - idxcopy(nvtxs, where, bestwhere); - if (bestcut == 0) - break; - } - } - - graph->mincut = bestcut; - idxcopy(nvtxs, bestwhere, where); - - GKfree(&bestwhere, LTERM); -} - - - -/************************************************************************* -* This function balances two partitions by moving the highest gain -* (including negative gain) vertices to the other domain. -* It is used only when tha unbalance is due to non contigous -* subdomains. That is, the are no boundary vertices. -* It moves vertices from the domain that is overweight to the one that -* is underweight. -**************************************************************************/ -void MocInit2WayBalance2(CtrlType *ctrl, GraphType *graph, float *tpwgts, float *ubvec) -{ - int i, ii, j, k, l, kwgt, nvtxs, nbnd, ncon, nswaps, from, to, pass, me, cnum, tmp, imin; - idxtype *xadj, *adjncy, *adjwgt, *where, *id, *ed, *bndptr, *bndind; - idxtype *moved, *perm, *qnum; - float *nvwgt, *npwgts, minwgt; - PQueueType parts[MAXNCON][2]; - int higain, oldgain, mincut; - - nvtxs = graph->nvtxs; - ncon = graph->ncon; - xadj = graph->xadj; - adjncy = graph->adjncy; - nvwgt = graph->nvwgt; - adjwgt = graph->adjwgt; - where = graph->where; - id = graph->id; - ed = graph->ed; - npwgts = graph->npwgts; - bndptr = graph->bndptr; - bndind = graph->bndind; - - moved = idxwspacemalloc(ctrl, nvtxs); - perm = idxwspacemalloc(ctrl, nvtxs); - qnum = idxwspacemalloc(ctrl, nvtxs); - - /* This is called for initial partitioning so we know from where to pick nodes */ - from = 1; - to = (from+1)%2; - - if (ctrl->dbglvl&DBG_REFINE) { - printf("Parts: ["); - for (l=0; lnvtxs, graph->nbnd, graph->mincut, ComputeLoadImbalance(ncon, 2, npwgts, tpwgts)); - } - - for (i=0; imincut); - ASSERT(CheckBnd(graph)); - ASSERT(CheckGraph(graph)); - - /* Compute the queues in which each vertex will be assigned to */ - for (i=0; i 0) - PQueueInsert(&parts[qnum[i]][0], i, ed[i]-id[i]); - else - PQueueInsert(&parts[qnum[i]][1], i, ed[i]-id[i]); - } - } - -/* - for (i=0; imincut; - nbnd = graph->nbnd; - for (nswaps=0; nswaps minwgt) - break; - - if ((cnum = SelectQueueOneWay2(ncon, npwgts+to*ncon, parts, ubvec)) == -1) - break; - - if ((higain = PQueueGetMax(&parts[cnum][0])) == -1) - higain = PQueueGetMax(&parts[cnum][1]); - - mincut -= (ed[higain]-id[higain]); - saxpy(ncon, 1.0, nvwgt+higain*ncon, 1, npwgts+to*ncon, 1); - saxpy(ncon, -1.0, nvwgt+higain*ncon, 1, npwgts+from*ncon, 1); - - where[higain] = to; - moved[higain] = nswaps; - - if (ctrl->dbglvl&DBG_MOVEINFO) { - printf("Moved %6d from %d(%d). [%5d] %5d, NPwgts: ", higain, from, cnum, ed[higain]-id[higain], mincut); - for (l=0; l 0) - printf("\t Pulled from the interior!\n"); - } - - - /************************************************************** - * Update the id[i]/ed[i] values of the affected nodes - ***************************************************************/ - SWAP(id[higain], ed[higain], tmp); - if (ed[higain] == 0 && bndptr[higain] != -1 && xadj[higain] < xadj[higain+1]) - BNDDelete(nbnd, bndind, bndptr, higain); - if (ed[higain] > 0 && bndptr[higain] == -1) - BNDInsert(nbnd, bndind, bndptr, higain); - - for (j=xadj[higain]; j 0 && bndptr[k] == -1) { /* It moves in boundary */ - PQueueDelete(&parts[qnum[k]][1], k, oldgain); - PQueueInsert(&parts[qnum[k]][0], k, ed[k]-id[k]); - } - else { /* It must be in the boundary already */ - if (bndptr[k] == -1) - printf("What you thought was wrong!\n"); - PQueueUpdate(&parts[qnum[k]][0], k, oldgain, ed[k]-id[k]); - } - } - - /* Update its boundary information */ - if (ed[k] == 0 && bndptr[k] != -1) - BNDDelete(nbnd, bndind, bndptr, k); - else if (ed[k] > 0 && bndptr[k] == -1) - BNDInsert(nbnd, bndind, bndptr, k); - } - - ASSERTP(ComputeCut(graph, where) == mincut, ("%d != %d\n", ComputeCut(graph, where), mincut)); - - } - - if (ctrl->dbglvl&DBG_REFINE) { - printf("\tMincut: %6d, NBND: %6d, NPwgts: ", mincut, nbnd); - for (l=0; lmincut = mincut; - graph->nbnd = nbnd; - - for (i=0; imincut); - ASSERT(CheckBnd(graph)); - - idxwspacefree(ctrl, nvtxs); - idxwspacefree(ctrl, nvtxs); - idxwspacefree(ctrl, nvtxs); -} - - - -/************************************************************************* -* This function selects the partition number and the queue from which -* we will move vertices out -**************************************************************************/ -int SelectQueueOneWay2(int ncon, float *pto, PQueueType queues[MAXNCON][2], float *ubvec) -{ - int i, cnum=-1, imax, maxgain; - float max=0.0; - float twgt[MAXNCON]; - - for (i=0; i 0 || PQueueGetSize(&queues[i][1]) > 0)) { - max = twgt[i]; - cnum = i; - } - } - if (max > 1) - return cnum; - - /* optimize of cut */ - maxgain = -10000000; - for (i=0; i 0 && PQueueGetKey(&queues[i][0]) > maxgain) { - maxgain = PQueueGetKey(&queues[i][0]); - cnum = i; - } - } - - return cnum; - -} - diff --git a/lib/metis-4.0/Lib/mkmetis.c b/lib/metis-4.0/Lib/mkmetis.c deleted file mode 100755 index 13a5a766d..000000000 --- a/lib/metis-4.0/Lib/mkmetis.c +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * mkmetis.c - * - * This file contains the top level routines for the multilevel k-way partitioning - * algorithm KMETIS. - * - * Started 7/28/97 - * George - * - * $Id: mkmetis.c,v 1.2 1998/11/27 18:25:09 karypis Exp $ - * - */ - -#include - - - -/************************************************************************* -* This function is the entry point for KWMETIS -**************************************************************************/ -void METIS_mCPartGraphKway(int *nvtxs, int *ncon, idxtype *xadj, idxtype *adjncy, - idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, - int *nparts, float *rubvec, int *options, int *edgecut, - idxtype *part) -{ - int i, j; - GraphType graph; - CtrlType ctrl; - - if (*numflag == 1) - Change2CNumbering(*nvtxs, xadj, adjncy); - - SetUpGraph(&graph, OP_KMETIS, *nvtxs, *ncon, xadj, adjncy, vwgt, adjwgt, *wgtflag); - - if (options[0] == 0) { /* Use the default parameters */ - ctrl.CType = McKMETIS_CTYPE; - ctrl.IType = McKMETIS_ITYPE; - ctrl.RType = McKMETIS_RTYPE; - ctrl.dbglvl = McKMETIS_DBGLVL; - } - else { - ctrl.CType = options[OPTION_CTYPE]; - ctrl.IType = options[OPTION_ITYPE]; - ctrl.RType = options[OPTION_RTYPE]; - ctrl.dbglvl = options[OPTION_DBGLVL]; - } - ctrl.optype = OP_KMETIS; - ctrl.CoarsenTo = amax((*nvtxs)/(20*log2i(*nparts)), 30*(*nparts)); - - ctrl.nmaxvwgt = 1.5/(1.0*ctrl.CoarsenTo); - - InitRandom(-1); - - AllocateWorkSpace(&ctrl, &graph, *nparts); - - IFSET(ctrl.dbglvl, DBG_TIME, InitTimers(&ctrl)); - IFSET(ctrl.dbglvl, DBG_TIME, starttimer(ctrl.TotalTmr)); - - *edgecut = MCMlevelKWayPartitioning(&ctrl, &graph, *nparts, part, rubvec); - - IFSET(ctrl.dbglvl, DBG_TIME, stoptimer(ctrl.TotalTmr)); - IFSET(ctrl.dbglvl, DBG_TIME, PrintTimers(&ctrl)); - - FreeWorkSpace(&ctrl, &graph); - - if (*numflag == 1) - Change2FNumbering(*nvtxs, xadj, adjncy, part); -} - - -/************************************************************************* -* This function takes a graph and produces a bisection of it -**************************************************************************/ -int MCMlevelKWayPartitioning(CtrlType *ctrl, GraphType *graph, int nparts, idxtype *part, - float *rubvec) -{ - int i, j, nvtxs; - GraphType *cgraph; - int options[10], edgecut; - - cgraph = MCCoarsen2Way(ctrl, graph); - - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->InitPartTmr)); - MocAllocateKWayPartitionMemory(ctrl, cgraph, nparts); - - options[0] = 1; - options[OPTION_CTYPE] = MATCH_SBHEM_INFNORM; - options[OPTION_ITYPE] = IPART_RANDOM; - options[OPTION_RTYPE] = RTYPE_FM; - options[OPTION_DBGLVL] = 0; - - /* Determine what you will use as the initial partitioner, based on tolerances */ - for (i=0; incon; i++) { - if (rubvec[i] > 1.2) - break; - } - if (i == graph->ncon) - METIS_mCPartGraphRecursiveInternal(&cgraph->nvtxs, &cgraph->ncon, - cgraph->xadj, cgraph->adjncy, cgraph->nvwgt, cgraph->adjwgt, &nparts, - options, &edgecut, cgraph->where); - else - METIS_mCHPartGraphRecursiveInternal(&cgraph->nvtxs, &cgraph->ncon, - cgraph->xadj, cgraph->adjncy, cgraph->nvwgt, cgraph->adjwgt, &nparts, - rubvec, options, &edgecut, cgraph->where); - - - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->InitPartTmr)); - IFSET(ctrl->dbglvl, DBG_IPART, printf("Initial %d-way partitioning cut: %d\n", nparts, edgecut)); - - IFSET(ctrl->dbglvl, DBG_KWAYPINFO, ComputePartitionInfo(cgraph, nparts, cgraph->where)); - - MocRefineKWayHorizontal(ctrl, graph, cgraph, nparts, rubvec); - - idxcopy(graph->nvtxs, graph->where, part); - - GKfree(&graph->nvwgt, &graph->npwgts, &graph->gdata, &graph->rdata, LTERM); - - return graph->mincut; - -} - diff --git a/lib/metis-4.0/Lib/mkwayfmh.c b/lib/metis-4.0/Lib/mkwayfmh.c deleted file mode 100755 index 177a19140..000000000 --- a/lib/metis-4.0/Lib/mkwayfmh.c +++ /dev/null @@ -1,677 +0,0 @@ -/* - * mkwayfmh.c - * - * This file contains code that implements the multilevel k-way refinement - * - * Started 7/28/97 - * George - * - * $Id: mkwayfmh.c,v 1.1 1998/11/27 17:59:24 karypis Exp $ - * - */ - -#include - - - -/************************************************************************* -* This function performs k-way refinement -**************************************************************************/ -void MCRandom_KWayEdgeRefineHorizontal(CtrlType *ctrl, GraphType *graph, int nparts, - float *orgubvec, int npasses) -{ - int i, ii, iii, j, jj, k, l, pass, nvtxs, ncon, nmoves, nbnd, myndegrees, same; - int from, me, to, oldcut, gain; - idxtype *xadj, *adjncy, *adjwgt; - idxtype *where, *perm, *bndptr, *bndind; - EDegreeType *myedegrees; - RInfoType *myrinfo; - float *npwgts, *nvwgt, *minwgt, *maxwgt, maxlb, minlb, ubvec[MAXNCON], tvec[MAXNCON]; - - nvtxs = graph->nvtxs; - ncon = graph->ncon; - xadj = graph->xadj; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - - bndptr = graph->bndptr; - bndind = graph->bndind; - - where = graph->where; - npwgts = graph->npwgts; - - /* Setup the weight intervals of the various subdomains */ - minwgt = fwspacemalloc(ctrl, nparts*ncon); - maxwgt = fwspacemalloc(ctrl, nparts*ncon); - - /* See if the orgubvec consists of identical constraints */ - maxlb = minlb = orgubvec[0]; - for (i=1; i maxlb ? orgubvec[i] : maxlb); - } - same = (fabs(maxlb-minlb) < .01 ? 1 : 0); - - - /* Let's not get very optimistic. Let Balancing do the work */ - ComputeHKWayLoadImbalance(ncon, nparts, npwgts, ubvec); - for (i=0; i maxlb ? ubvec[i] : maxlb); - - for (i=0; idbglvl&DBG_REFINE) { - printf("Partitions: [%5.4f %5.4f], Nv-Nb[%6d %6d]. Cut: %6d, LB: ", - npwgts[samin(ncon*nparts, npwgts)], npwgts[samax(ncon*nparts, npwgts)], - graph->nvtxs, graph->nbnd, graph->mincut); - ComputeHKWayLoadImbalance(ncon, nparts, npwgts, tvec); - for (i=0; imincut); - - oldcut = graph->mincut; - nbnd = graph->nbnd; - - RandomPermute(nbnd, perm, 1); - for (nmoves=iii=0; iiinbnd; iii++) { - ii = perm[iii]; - if (ii >= nbnd) - continue; - i = bndind[ii]; - - myrinfo = graph->rinfo+i; - - if (myrinfo->ed >= myrinfo->id) { /* Total ED is too high */ - from = where[i]; - nvwgt = graph->nvwgt+i*ncon; - - if (myrinfo->id > 0 && AreAllHVwgtsBelow(ncon, 1.0, npwgts+from*ncon, -1.0, nvwgt, minwgt+from*ncon)) - continue; /* This cannot be moved! */ - - myedegrees = myrinfo->edegrees; - myndegrees = myrinfo->ndegrees; - - for (k=0; kid; - if (gain >= 0 && - (AreAllHVwgtsBelow(ncon, 1.0, npwgts+to*ncon, 1.0, nvwgt, maxwgt+to*ncon) || - IsHBalanceBetterFT(ncon, nparts, npwgts+from*ncon, npwgts+to*ncon, nvwgt, ubvec))) - break; - } - if (k == myndegrees) - continue; /* break out if you did not find a candidate */ - - for (j=k+1; j myedegrees[k].ed && - (AreAllHVwgtsBelow(ncon, 1.0, npwgts+to*ncon, 1.0, nvwgt, maxwgt+to*ncon) || - IsHBalanceBetterFT(ncon, nparts, npwgts+from*ncon, npwgts+to*ncon, nvwgt, ubvec))) || - (myedegrees[j].ed == myedegrees[k].ed && - IsHBalanceBetterTT(ncon, nparts, npwgts+myedegrees[k].pid*ncon, npwgts+to*ncon, nvwgt, ubvec))) - k = j; - } - - to = myedegrees[k].pid; - - if (myedegrees[k].ed-myrinfo->id == 0 - && !IsHBalanceBetterFT(ncon, nparts, npwgts+from*ncon, npwgts+to*ncon, nvwgt, ubvec) - && AreAllHVwgtsBelow(ncon, 1.0, npwgts+from*ncon, 0.0, npwgts+from*ncon, maxwgt+from*ncon)) - continue; - - /*===================================================================== - * If we got here, we can now move the vertex from 'from' to 'to' - *======================================================================*/ - graph->mincut -= myedegrees[k].ed-myrinfo->id; - - IFSET(ctrl->dbglvl, DBG_MOVEINFO, printf("\t\tMoving %6d to %3d. Gain: %4d. Cut: %6d\n", i, to, myedegrees[k].ed-myrinfo->id, graph->mincut)); - - /* Update where, weight, and ID/ED information of the vertex you moved */ - saxpy(ncon, 1.0, nvwgt, 1, npwgts+to*ncon, 1); - saxpy(ncon, -1.0, nvwgt, 1, npwgts+from*ncon, 1); - where[i] = to; - myrinfo->ed += myrinfo->id-myedegrees[k].ed; - SWAP(myrinfo->id, myedegrees[k].ed, j); - if (myedegrees[k].ed == 0) - myedegrees[k] = myedegrees[--myrinfo->ndegrees]; - else - myedegrees[k].pid = from; - - if (myrinfo->ed-myrinfo->id < 0) - BNDDelete(nbnd, bndind, bndptr, i); - - /* Update the degrees of adjacent vertices */ - for (j=xadj[i]; jrinfo+ii; - if (myrinfo->edegrees == NULL) { - myrinfo->edegrees = ctrl->wspace.edegrees+ctrl->wspace.cdegree; - ctrl->wspace.cdegree += xadj[ii+1]-xadj[ii]; - } - myedegrees = myrinfo->edegrees; - - ASSERT(CheckRInfo(myrinfo)); - - if (me == from) { - INC_DEC(myrinfo->ed, myrinfo->id, adjwgt[j]); - - if (myrinfo->ed-myrinfo->id >= 0 && bndptr[ii] == -1) - BNDInsert(nbnd, bndind, bndptr, ii); - } - else if (me == to) { - INC_DEC(myrinfo->id, myrinfo->ed, adjwgt[j]); - - if (myrinfo->ed-myrinfo->id < 0 && bndptr[ii] != -1) - BNDDelete(nbnd, bndind, bndptr, ii); - } - - /* Remove contribution from the .ed of 'from' */ - if (me != from) { - for (k=0; kndegrees; k++) { - if (myedegrees[k].pid == from) { - if (myedegrees[k].ed == adjwgt[j]) - myedegrees[k] = myedegrees[--myrinfo->ndegrees]; - else - myedegrees[k].ed -= adjwgt[j]; - break; - } - } - } - - /* Add contribution to the .ed of 'to' */ - if (me != to) { - for (k=0; kndegrees; k++) { - if (myedegrees[k].pid == to) { - myedegrees[k].ed += adjwgt[j]; - break; - } - } - if (k == myrinfo->ndegrees) { - myedegrees[myrinfo->ndegrees].pid = to; - myedegrees[myrinfo->ndegrees++].ed = adjwgt[j]; - } - } - - ASSERT(myrinfo->ndegrees <= xadj[ii+1]-xadj[ii]); - ASSERT(CheckRInfo(myrinfo)); - - } - nmoves++; - } - } - - graph->nbnd = nbnd; - - if (ctrl->dbglvl&DBG_REFINE) { - printf("\t [%5.4f %5.4f], Nb: %6d, Nmoves: %5d, Cut: %6d, LB: ", - npwgts[samin(ncon*nparts, npwgts)], npwgts[samax(ncon*nparts, npwgts)], - nbnd, nmoves, graph->mincut); - ComputeHKWayLoadImbalance(ncon, nparts, npwgts, tvec); - for (i=0; imincut == oldcut) - break; - } - - fwspacefree(ctrl, ncon*nparts); - fwspacefree(ctrl, ncon*nparts); - idxwspacefree(ctrl, nvtxs); -} - - - -/************************************************************************* -* This function performs k-way refinement -**************************************************************************/ -void MCGreedy_KWayEdgeBalanceHorizontal(CtrlType *ctrl, GraphType *graph, int nparts, - float *ubvec, int npasses) -{ - int i, ii, iii, j, jj, k, l, pass, nvtxs, ncon, nbnd, myndegrees, oldgain, gain, nmoves; - int from, me, to, oldcut; - idxtype *xadj, *adjncy, *adjwgt; - idxtype *where, *perm, *bndptr, *bndind, *moved; - EDegreeType *myedegrees; - RInfoType *myrinfo; - PQueueType queue; - float *npwgts, *nvwgt, *minwgt, *maxwgt, tvec[MAXNCON]; - - nvtxs = graph->nvtxs; - ncon = graph->ncon; - xadj = graph->xadj; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - - bndind = graph->bndind; - bndptr = graph->bndptr; - - where = graph->where; - npwgts = graph->npwgts; - - /* Setup the weight intervals of the various subdomains */ - minwgt = fwspacemalloc(ctrl, ncon*nparts); - maxwgt = fwspacemalloc(ctrl, ncon*nparts); - - for (i=0; iadjwgtsum[idxamax(nvtxs, graph->adjwgtsum)]); - - if (ctrl->dbglvl&DBG_REFINE) { - printf("Partitions: [%5.4f %5.4f], Nv-Nb[%6d %6d]. Cut: %6d, LB: ", - npwgts[samin(ncon*nparts, npwgts)], npwgts[samax(ncon*nparts, npwgts)], - graph->nvtxs, graph->nbnd, graph->mincut); - ComputeHKWayLoadImbalance(ncon, nparts, npwgts, tvec); - for (i=0; imincut); - - /* Check to see if things are out of balance, given the tolerance */ - if (MocIsHBalanced(ncon, nparts, npwgts, ubvec)) - break; - - PQueueReset(&queue); - idxset(nvtxs, -1, moved); - - oldcut = graph->mincut; - nbnd = graph->nbnd; - - RandomPermute(nbnd, perm, 1); - for (ii=0; iirinfo[i].ed - graph->rinfo[i].id); - moved[i] = 2; - } - - nmoves = 0; - for (;;) { - if ((i = PQueueGetMax(&queue)) == -1) - break; - moved[i] = 1; - - myrinfo = graph->rinfo+i; - from = where[i]; - nvwgt = graph->nvwgt+i*ncon; - - if (AreAllHVwgtsBelow(ncon, 1.0, npwgts+from*ncon, -1.0, nvwgt, minwgt+from*ncon)) - continue; /* This cannot be moved! */ - - myedegrees = myrinfo->edegrees; - myndegrees = myrinfo->ndegrees; - - for (k=0; kid >= 0) - j++; - if (!AreAllHVwgtsAbove(ncon, 1.0, npwgts+to*ncon, 0.0, nvwgt, minwgt+to*ncon) && - AreAllHVwgtsBelow(ncon, 1.0, npwgts+to*ncon, 1.0, nvwgt, maxwgt+to*ncon)) - j++; - if (j == 0) - continue; - -/* DELETE - if (myedegrees[k].ed-myrinfo->id < 0 && - AreAllHVwgtsBelow(ncon, 1.0, npwgts+from*ncon, 0.0, nvwgt, maxwgt+from*ncon) && - AreAllHVwgtsAbove(ncon, 1.0, npwgts+to*ncon, 0.0, nvwgt, minwgt+to*ncon) && - AreAllHVwgtsBelow(ncon, 1.0, npwgts+to*ncon, 1.0, nvwgt, maxwgt+to*ncon)) - continue; -*/ - /*===================================================================== - * If we got here, we can now move the vertex from 'from' to 'to' - *======================================================================*/ - graph->mincut -= myedegrees[k].ed-myrinfo->id; - - IFSET(ctrl->dbglvl, DBG_MOVEINFO, printf("\t\tMoving %6d to %3d. Gain: %4d. Cut: %6d\n", i, to, myedegrees[k].ed-myrinfo->id, graph->mincut)); - - /* Update where, weight, and ID/ED information of the vertex you moved */ - saxpy(ncon, 1.0, nvwgt, 1, npwgts+to*ncon, 1); - saxpy(ncon, -1.0, nvwgt, 1, npwgts+from*ncon, 1); - where[i] = to; - myrinfo->ed += myrinfo->id-myedegrees[k].ed; - SWAP(myrinfo->id, myedegrees[k].ed, j); - if (myedegrees[k].ed == 0) - myedegrees[k] = myedegrees[--myrinfo->ndegrees]; - else - myedegrees[k].pid = from; - - if (myrinfo->ed == 0) - BNDDelete(nbnd, bndind, bndptr, i); - - /* Update the degrees of adjacent vertices */ - for (j=xadj[i]; jrinfo+ii; - if (myrinfo->edegrees == NULL) { - myrinfo->edegrees = ctrl->wspace.edegrees+ctrl->wspace.cdegree; - ctrl->wspace.cdegree += xadj[ii+1]-xadj[ii]; - } - myedegrees = myrinfo->edegrees; - - ASSERT(CheckRInfo(myrinfo)); - - oldgain = (myrinfo->ed-myrinfo->id); - - if (me == from) { - INC_DEC(myrinfo->ed, myrinfo->id, adjwgt[j]); - - if (myrinfo->ed > 0 && bndptr[ii] == -1) - BNDInsert(nbnd, bndind, bndptr, ii); - } - else if (me == to) { - INC_DEC(myrinfo->id, myrinfo->ed, adjwgt[j]); - - if (myrinfo->ed == 0 && bndptr[ii] != -1) - BNDDelete(nbnd, bndind, bndptr, ii); - } - - /* Remove contribution from the .ed of 'from' */ - if (me != from) { - for (k=0; kndegrees; k++) { - if (myedegrees[k].pid == from) { - if (myedegrees[k].ed == adjwgt[j]) - myedegrees[k] = myedegrees[--myrinfo->ndegrees]; - else - myedegrees[k].ed -= adjwgt[j]; - break; - } - } - } - - /* Add contribution to the .ed of 'to' */ - if (me != to) { - for (k=0; kndegrees; k++) { - if (myedegrees[k].pid == to) { - myedegrees[k].ed += adjwgt[j]; - break; - } - } - if (k == myrinfo->ndegrees) { - myedegrees[myrinfo->ndegrees].pid = to; - myedegrees[myrinfo->ndegrees++].ed = adjwgt[j]; - } - } - - - /* Update the queue */ - if (me == to || me == from) { - gain = myrinfo->ed-myrinfo->id; - if (moved[ii] == 2) { - if (myrinfo->ed > 0) - PQueueUpdate(&queue, ii, oldgain, gain); - else { - PQueueDelete(&queue, ii, oldgain); - moved[ii] = -1; - } - } - else if (moved[ii] == -1 && myrinfo->ed > 0) { - PQueueInsert(&queue, ii, gain); - moved[ii] = 2; - } - } - - ASSERT(myrinfo->ndegrees <= xadj[ii+1]-xadj[ii]); - ASSERT(CheckRInfo(myrinfo)); - } - nmoves++; - } - - graph->nbnd = nbnd; - - if (ctrl->dbglvl&DBG_REFINE) { - printf("\t [%5.4f %5.4f], Nb: %6d, Nmoves: %5d, Cut: %6d, LB: ", - npwgts[samin(ncon*nparts, npwgts)], npwgts[samax(ncon*nparts, npwgts)], - nbnd, nmoves, graph->mincut); - ComputeHKWayLoadImbalance(ncon, nparts, npwgts, tvec); - for (i=0; i limit[i]) - return 0; - - return 1; -} - - - -/************************************************************************* -* This function checks if the vertex weights of two vertices are above -* a given set of values -**************************************************************************/ -int AreAllHVwgtsAbove(int ncon, float alpha, float *vwgt1, float beta, float *vwgt2, float *limit) -{ - int i; - - for (i=0; i max) - max = npwgts[j*ncon+i]; - } - - lbvec[i] = max*nparts; - } -} - - -/************************************************************************* -* This function determines if a partitioning is horizontally balanced -**************************************************************************/ -int MocIsHBalanced(int ncon, int nparts, float *npwgts, float *ubvec) -{ - int i, j; - float max; - - for (i=0; i max) - max = npwgts[j*ncon+i]; - } - - if (ubvec[i] < max*nparts) - return 0; - } - - return 1; -} - - - - - -/************************************************************************* -* This function checks if the pairwise balance of the between the two -* partitions will improve by moving the vertex v from pfrom to pto, -* subject to the target partition weights of tfrom, and tto respectively -**************************************************************************/ -int IsHBalanceBetterFT(int ncon, int nparts, float *pfrom, float *pto, float *vwgt, float *ubvec) -{ - int i, j, k; - float blb1=0.0, alb1=0.0, sblb=0.0, salb=0.0; - float blb2=0.0, alb2=0.0; - float temp; - - for (i=0; i m11) - return 0; - if (m22 < m12) - return 1; - if (m22 > m12) - return 0; - - return sm2 < sm1; -} - diff --git a/lib/metis-4.0/Lib/mkwayrefine.c b/lib/metis-4.0/Lib/mkwayrefine.c deleted file mode 100755 index d95cfda74..000000000 --- a/lib/metis-4.0/Lib/mkwayrefine.c +++ /dev/null @@ -1,297 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * mkwayrefine.c - * - * This file contains the driving routines for multilevel k-way refinement - * - * Started 7/28/97 - * George - * - * $Id: mkwayrefine.c,v 1.2 1998/11/27 18:16:19 karypis Exp $ - */ - -#include - - -/************************************************************************* -* This function is the entry point of refinement -**************************************************************************/ -void MocRefineKWayHorizontal(CtrlType *ctrl, GraphType *orggraph, GraphType *graph, int nparts, - float *ubvec) -{ - - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->UncoarsenTmr)); - - /* Compute the parameters of the coarsest graph */ - MocComputeKWayPartitionParams(ctrl, graph, nparts); - - for (;;) { - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->RefTmr)); - - if (!MocIsHBalanced(graph->ncon, nparts, graph->npwgts, ubvec)) { - MocComputeKWayBalanceBoundary(ctrl, graph, nparts); - MCGreedy_KWayEdgeBalanceHorizontal(ctrl, graph, nparts, ubvec, 4); - ComputeKWayBoundary(ctrl, graph, nparts); - } - - MCRandom_KWayEdgeRefineHorizontal(ctrl, graph, nparts, ubvec, 10); - - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->RefTmr)); - - if (graph == orggraph) - break; - - graph = graph->finer; - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->ProjectTmr)); - MocProjectKWayPartition(ctrl, graph, nparts); - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->ProjectTmr)); - } - - if (!MocIsHBalanced(graph->ncon, nparts, graph->npwgts, ubvec)) { - MocComputeKWayBalanceBoundary(ctrl, graph, nparts); - MCGreedy_KWayEdgeBalanceHorizontal(ctrl, graph, nparts, ubvec, 4); - ComputeKWayBoundary(ctrl, graph, nparts); - MCRandom_KWayEdgeRefineHorizontal(ctrl, graph, nparts, ubvec, 10); - } - - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->UncoarsenTmr)); -} - - - - -/************************************************************************* -* This function allocates memory for k-way edge refinement -**************************************************************************/ -void MocAllocateKWayPartitionMemory(CtrlType *ctrl, GraphType *graph, int nparts) -{ - int nvtxs, ncon, pad64; - - nvtxs = graph->nvtxs; - ncon = graph->ncon; - - pad64 = (3*nvtxs)%2; - - graph->rdata = idxmalloc(3*nvtxs+(sizeof(RInfoType)/sizeof(idxtype))*nvtxs+pad64, "AllocateKWayPartitionMemory: rdata"); - graph->where = graph->rdata; - graph->bndptr = graph->rdata + nvtxs; - graph->bndind = graph->rdata + 2*nvtxs; - graph->rinfo = (RInfoType *)(graph->rdata + 3*nvtxs + pad64); - - graph->npwgts = fmalloc(ncon*nparts, "MocAllocateKWayPartitionMemory: npwgts"); -} - - -/************************************************************************* -* This function computes the initial id/ed -**************************************************************************/ -void MocComputeKWayPartitionParams(CtrlType *ctrl, GraphType *graph, int nparts) -{ - int i, j, k, l, nvtxs, ncon, nbnd, mincut, me, other; - idxtype *xadj, *adjncy, *adjwgt, *where, *bndind, *bndptr; - RInfoType *rinfo, *myrinfo; - EDegreeType *myedegrees; - float *nvwgt, *npwgts; - - nvtxs = graph->nvtxs; - ncon = graph->ncon; - xadj = graph->xadj; - nvwgt = graph->nvwgt; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - - where = graph->where; - npwgts = sset(ncon*nparts, 0.0, graph->npwgts); - bndind = graph->bndind; - bndptr = idxset(nvtxs, -1, graph->bndptr); - rinfo = graph->rinfo; - - - /*------------------------------------------------------------ - / Compute now the id/ed degrees - /------------------------------------------------------------*/ - ctrl->wspace.cdegree = 0; - nbnd = mincut = 0; - for (i=0; iid = myrinfo->ed = myrinfo->ndegrees = 0; - myrinfo->edegrees = NULL; - - for (j=xadj[i]; jed += adjwgt[j]; - } - myrinfo->id = graph->adjwgtsum[i] - myrinfo->ed; - - if (myrinfo->ed > 0) - mincut += myrinfo->ed; - - if (myrinfo->ed-myrinfo->id >= 0) - BNDInsert(nbnd, bndind, bndptr, i); - - /* Time to compute the particular external degrees */ - if (myrinfo->ed > 0) { - myedegrees = myrinfo->edegrees = ctrl->wspace.edegrees+ctrl->wspace.cdegree; - ctrl->wspace.cdegree += xadj[i+1]-xadj[i]; - - for (j=xadj[i]; jndegrees; k++) { - if (myedegrees[k].pid == other) { - myedegrees[k].ed += adjwgt[j]; - break; - } - } - if (k == myrinfo->ndegrees) { - myedegrees[myrinfo->ndegrees].pid = other; - myedegrees[myrinfo->ndegrees++].ed = adjwgt[j]; - } - } - } - - ASSERT(myrinfo->ndegrees <= xadj[i+1]-xadj[i]); - } - } - - graph->mincut = mincut/2; - graph->nbnd = nbnd; - -} - - - -/************************************************************************* -* This function projects a partition, and at the same time computes the -* parameters for refinement. -**************************************************************************/ -void MocProjectKWayPartition(CtrlType *ctrl, GraphType *graph, int nparts) -{ - int i, j, k, nvtxs, nbnd, me, other, istart, iend, ndegrees; - idxtype *xadj, *adjncy, *adjwgt, *adjwgtsum; - idxtype *cmap, *where, *bndptr, *bndind; - idxtype *cwhere; - GraphType *cgraph; - RInfoType *crinfo, *rinfo, *myrinfo; - EDegreeType *myedegrees; - idxtype *htable; - - cgraph = graph->coarser; - cwhere = cgraph->where; - crinfo = cgraph->rinfo; - - nvtxs = graph->nvtxs; - cmap = graph->cmap; - xadj = graph->xadj; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - adjwgtsum = graph->adjwgtsum; - - MocAllocateKWayPartitionMemory(ctrl, graph, nparts); - where = graph->where; - rinfo = graph->rinfo; - bndind = graph->bndind; - bndptr = idxset(nvtxs, -1, graph->bndptr); - - /* Go through and project partition and compute id/ed for the nodes */ - for (i=0; iwspace.cdegree = 0; - for (nbnd=0, i=0; iid = myrinfo->ed = myrinfo->ndegrees = 0; - myrinfo->edegrees = NULL; - - myrinfo->id = adjwgtsum[i]; - - if (cmap[i] > 0) { /* If it is an interface node. Note cmap[i] = crinfo[cmap[i]].ed */ - istart = xadj[i]; - iend = xadj[i+1]; - - myedegrees = myrinfo->edegrees = ctrl->wspace.edegrees+ctrl->wspace.cdegree; - ctrl->wspace.cdegree += iend-istart; - - ndegrees = 0; - for (j=istart; jed += adjwgt[j]; - if ((k = htable[other]) == -1) { - htable[other] = ndegrees; - myedegrees[ndegrees].pid = other; - myedegrees[ndegrees++].ed = adjwgt[j]; - } - else { - myedegrees[k].ed += adjwgt[j]; - } - } - } - myrinfo->id -= myrinfo->ed; - - /* Remove space for edegrees if it was interior */ - if (myrinfo->ed == 0) { - myrinfo->edegrees = NULL; - ctrl->wspace.cdegree -= iend-istart; - } - else { - if (myrinfo->ed-myrinfo->id >= 0) - BNDInsert(nbnd, bndind, bndptr, i); - - myrinfo->ndegrees = ndegrees; - - for (j=0; jncon*nparts, cgraph->npwgts, graph->npwgts); - graph->mincut = cgraph->mincut; - graph->nbnd = nbnd; - - FreeGraph(graph->coarser); - graph->coarser = NULL; - - idxwspacefree(ctrl, nparts); - - ASSERT(CheckBnd2(graph)); - -} - - - -/************************************************************************* -* This function computes the boundary definition for balancing -**************************************************************************/ -void MocComputeKWayBalanceBoundary(CtrlType *ctrl, GraphType *graph, int nparts) -{ - int i, nvtxs, nbnd; - idxtype *bndind, *bndptr; - - nvtxs = graph->nvtxs; - bndind = graph->bndind; - bndptr = idxset(nvtxs, -1, graph->bndptr); - - - /* Compute the new boundary */ - nbnd = 0; - for (i=0; irinfo[i].ed > 0) - BNDInsert(nbnd, bndind, bndptr, i); - } - - graph->nbnd = nbnd; -} - diff --git a/lib/metis-4.0/Lib/mmatch.c b/lib/metis-4.0/Lib/mmatch.c deleted file mode 100755 index 0170d0633..000000000 --- a/lib/metis-4.0/Lib/mmatch.c +++ /dev/null @@ -1,506 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * mmatch.c - * - * This file contains the code that computes matchings and creates the next - * level coarse graph. - * - * Started 7/23/97 - * George - * - * $Id: mmatch.c,v 1.3 1998/11/30 14:50:44 karypis Exp $ - * - */ - -#include - - -/************************************************************************* -* This function finds a matching using the HEM heuristic -**************************************************************************/ -void MCMatch_RM(CtrlType *ctrl, GraphType *graph) -{ - int i, ii, j, k, nvtxs, ncon, cnvtxs, maxidx; - idxtype *xadj, *adjncy, *adjwgt; - idxtype *match, *cmap, *perm; - float *nvwgt; - - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->MatchTmr)); - - nvtxs = graph->nvtxs; - ncon = graph->ncon; - xadj = graph->xadj; - nvwgt = graph->nvwgt; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - - cmap = graph->cmap; - match = idxset(nvtxs, UNMATCHED, idxwspacemalloc(ctrl, nvtxs)); - - perm = idxwspacemalloc(ctrl, nvtxs); - RandomPermute(nvtxs, perm, 1); - - cnvtxs = 0; - for (ii=0; iinmaxvwgt)) { - maxidx = k; - break; - } - } - - cmap[i] = cmap[maxidx] = cnvtxs++; - match[i] = maxidx; - match[maxidx] = i; - } - } - - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->MatchTmr)); - - CreateCoarseGraph(ctrl, graph, cnvtxs, match, perm); - - idxwspacefree(ctrl, nvtxs); - idxwspacefree(ctrl, nvtxs); -} - - - -/************************************************************************* -* This function finds a matching using the HEM heuristic -**************************************************************************/ -void MCMatch_HEM(CtrlType *ctrl, GraphType *graph) -{ - int i, ii, j, k, l, nvtxs, cnvtxs, ncon, maxidx, maxwgt; - idxtype *xadj, *adjncy, *adjwgt; - idxtype *match, *cmap, *perm; - float *nvwgt; - - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->MatchTmr)); - - nvtxs = graph->nvtxs; - ncon = graph->ncon; - xadj = graph->xadj; - nvwgt = graph->nvwgt; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - - cmap = graph->cmap; - match = idxset(nvtxs, UNMATCHED, idxwspacemalloc(ctrl, nvtxs)); - - perm = idxwspacemalloc(ctrl, nvtxs); - RandomPermute(nvtxs, perm, 1); - - cnvtxs = 0; - for (ii=0; iinmaxvwgt)) { - maxwgt = adjwgt[j]; - maxidx = adjncy[j]; - } - } - - cmap[i] = cmap[maxidx] = cnvtxs++; - match[i] = maxidx; - match[maxidx] = i; - } - } - - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->MatchTmr)); - - CreateCoarseGraph(ctrl, graph, cnvtxs, match, perm); - - idxwspacefree(ctrl, nvtxs); - idxwspacefree(ctrl, nvtxs); -} - - - -/************************************************************************* -* This function finds a matching using the HEM heuristic -**************************************************************************/ -void MCMatch_SHEM(CtrlType *ctrl, GraphType *graph) -{ - int i, ii, j, k, nvtxs, cnvtxs, ncon, maxidx, maxwgt, avgdegree; - idxtype *xadj, *adjncy, *adjwgt; - idxtype *match, *cmap, *degrees, *perm, *tperm; - float *nvwgt; - - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->MatchTmr)); - - nvtxs = graph->nvtxs; - ncon = graph->ncon; - xadj = graph->xadj; - nvwgt = graph->nvwgt; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - - cmap = graph->cmap; - match = idxset(nvtxs, UNMATCHED, idxwspacemalloc(ctrl, nvtxs)); - - perm = idxwspacemalloc(ctrl, nvtxs); - tperm = idxwspacemalloc(ctrl, nvtxs); - degrees = idxwspacemalloc(ctrl, nvtxs); - - RandomPermute(nvtxs, tperm, 1); - avgdegree = 0.7*(xadj[nvtxs]/nvtxs); - for (i=0; i avgdegree ? avgdegree : xadj[i+1]-xadj[i]); - BucketSortKeysInc(nvtxs, avgdegree, degrees, tperm, perm); - - cnvtxs = 0; - - /* Take care any islands. Islands are matched with non-islands due to coarsening */ - for (ii=0; iiii; j--) { - k = perm[j]; - if (match[k] == UNMATCHED && xadj[k] < xadj[k+1]) { - maxidx = k; - break; - } - } - - cmap[i] = cmap[maxidx] = cnvtxs++; - match[i] = maxidx; - match[maxidx] = i; - } - } - - /* Continue with normal matching */ - for (; iinmaxvwgt)) { - maxwgt = adjwgt[j]; - maxidx = adjncy[j]; - } - } - - cmap[i] = cmap[maxidx] = cnvtxs++; - match[i] = maxidx; - match[maxidx] = i; - } - } - - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->MatchTmr)); - - idxwspacefree(ctrl, nvtxs); /* degrees */ - idxwspacefree(ctrl, nvtxs); /* tperm */ - - CreateCoarseGraph(ctrl, graph, cnvtxs, match, perm); - - idxwspacefree(ctrl, nvtxs); - idxwspacefree(ctrl, nvtxs); -} - - - -/************************************************************************* -* This function finds a matching using the HEM heuristic -**************************************************************************/ -void MCMatch_SHEBM(CtrlType *ctrl, GraphType *graph, int norm) -{ - int i, ii, j, k, nvtxs, cnvtxs, ncon, maxidx, maxwgt, avgdegree; - idxtype *xadj, *adjncy, *adjwgt; - idxtype *match, *cmap, *degrees, *perm, *tperm; - float *nvwgt; - - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->MatchTmr)); - - nvtxs = graph->nvtxs; - ncon = graph->ncon; - xadj = graph->xadj; - nvwgt = graph->nvwgt; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - - cmap = graph->cmap; - match = idxset(nvtxs, UNMATCHED, idxwspacemalloc(ctrl, nvtxs)); - - perm = idxwspacemalloc(ctrl, nvtxs); - tperm = idxwspacemalloc(ctrl, nvtxs); - degrees = idxwspacemalloc(ctrl, nvtxs); - - RandomPermute(nvtxs, tperm, 1); - avgdegree = 0.7*(xadj[nvtxs]/nvtxs); - for (i=0; i avgdegree ? avgdegree : xadj[i+1]-xadj[i]); - BucketSortKeysInc(nvtxs, avgdegree, degrees, tperm, perm); - - cnvtxs = 0; - - /* Take care any islands. Islands are matched with non-islands due to coarsening */ - for (ii=0; iiii; j--) { - k = perm[j]; - if (match[k] == UNMATCHED && xadj[k] < xadj[k+1]) { - maxidx = k; - break; - } - } - - cmap[i] = cmap[maxidx] = cnvtxs++; - match[i] = maxidx; - match[maxidx] = i; - } - } - - /* Continue with normal matching */ - for (; iinmaxvwgt) && - (maxwgt < adjwgt[j] || - (maxwgt == adjwgt[j] && - BetterVBalance(ncon, norm, nvwgt+i*ncon, nvwgt+maxidx*ncon, nvwgt+k*ncon) >= 0 - ) - ) - ) { - maxwgt = adjwgt[j]; - maxidx = k; - } - } - - cmap[i] = cmap[maxidx] = cnvtxs++; - match[i] = maxidx; - match[maxidx] = i; - } - } - - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->MatchTmr)); - - idxwspacefree(ctrl, nvtxs); /* degrees */ - idxwspacefree(ctrl, nvtxs); /* tperm */ - - CreateCoarseGraph(ctrl, graph, cnvtxs, match, perm); - - idxwspacefree(ctrl, nvtxs); - idxwspacefree(ctrl, nvtxs); -} - - - -/************************************************************************* -* This function finds a matching using the HEM heuristic -**************************************************************************/ -void MCMatch_SBHEM(CtrlType *ctrl, GraphType *graph, int norm) -{ - int i, ii, j, k, nvtxs, cnvtxs, ncon, maxidx, maxwgt, avgdegree; - idxtype *xadj, *adjncy, *adjwgt; - idxtype *match, *cmap, *degrees, *perm, *tperm; - float *nvwgt, vbal; - - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->MatchTmr)); - - nvtxs = graph->nvtxs; - ncon = graph->ncon; - xadj = graph->xadj; - nvwgt = graph->nvwgt; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - - cmap = graph->cmap; - match = idxset(nvtxs, UNMATCHED, idxwspacemalloc(ctrl, nvtxs)); - - perm = idxwspacemalloc(ctrl, nvtxs); - tperm = idxwspacemalloc(ctrl, nvtxs); - degrees = idxwspacemalloc(ctrl, nvtxs); - - RandomPermute(nvtxs, tperm, 1); - avgdegree = 0.7*(xadj[nvtxs]/nvtxs); - for (i=0; i avgdegree ? avgdegree : xadj[i+1]-xadj[i]); - BucketSortKeysInc(nvtxs, avgdegree, degrees, tperm, perm); - - cnvtxs = 0; - - /* Take care any islands. Islands are matched with non-islands due to coarsening */ - for (ii=0; iiii; j--) { - k = perm[j]; - if (match[k] == UNMATCHED && xadj[k] < xadj[k+1]) { - maxidx = k; - break; - } - } - - cmap[i] = cmap[maxidx] = cnvtxs++; - match[i] = maxidx; - match[maxidx] = i; - } - } - - /* Continue with normal matching */ - for (; iinmaxvwgt)) { - if (maxidx != i) - vbal = BetterVBalance(ncon, norm, nvwgt+i*ncon, nvwgt+maxidx*ncon, nvwgt+k*ncon); - - if (vbal > 0 || (vbal > -.01 && maxwgt < adjwgt[j])) { - maxwgt = adjwgt[j]; - maxidx = k; - } - } - } - - cmap[i] = cmap[maxidx] = cnvtxs++; - match[i] = maxidx; - match[maxidx] = i; - } - } - - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->MatchTmr)); - - idxwspacefree(ctrl, nvtxs); /* degrees */ - idxwspacefree(ctrl, nvtxs); /* tperm */ - - CreateCoarseGraph(ctrl, graph, cnvtxs, match, perm); - - idxwspacefree(ctrl, nvtxs); - idxwspacefree(ctrl, nvtxs); -} - - - - - -/************************************************************************* -* This function checks if v+u2 provides a better balance in the weight -* vector that v+u1 -**************************************************************************/ -float BetterVBalance(int ncon, int norm, float *vwgt, float *u1wgt, float *u2wgt) -{ - int i; - float sum1, sum2, max1, max2, min1, min2, diff1, diff2; - - if (norm == -1) { - max1 = min1 = vwgt[0]+u1wgt[0]; - max2 = min2 = vwgt[0]+u2wgt[0]; - sum1 = vwgt[0]+u1wgt[0]; - sum2 = vwgt[0]+u2wgt[0]; - - for (i=1; i vwgt[i]+u1wgt[i]) - min1 = vwgt[i]+u1wgt[i]; - - if (max2 < vwgt[i]+u2wgt[i]) - max2 = vwgt[i]+u2wgt[i]; - if (min2 > vwgt[i]+u2wgt[i]) - min2 = vwgt[i]+u2wgt[i]; - - sum1 += vwgt[i]+u1wgt[i]; - sum2 += vwgt[i]+u2wgt[i]; - } - - if (sum1 == 0.0) - return 1; - else if (sum2 == 0.0) - return -1; - else - return ((max1-min1)/sum1) - ((max2-min2)/sum2); - } - else if (norm == 1) { - sum1 = sum2 = 0.0; - for (i=0; i limit) - return 0; - - return 1; -} - diff --git a/lib/metis-4.0/Lib/mmd.c b/lib/metis-4.0/Lib/mmd.c deleted file mode 100755 index 68adae348..000000000 --- a/lib/metis-4.0/Lib/mmd.c +++ /dev/null @@ -1,593 +0,0 @@ -/* - * mmd.c - * - * ************************************************************** - * The following C function was developed from a FORTRAN subroutine - * in SPARSPAK written by Eleanor Chu, Alan George, Joseph Liu - * and Esmond Ng. - * - * The FORTRAN-to-C transformation and modifications such as dynamic - * memory allocation and deallocation were performed by Chunguang - * Sun. - * ************************************************************** - * - * Taken from SMMS, George 12/13/94 - * - * The meaning of invperm, and perm vectors is different from that - * in genqmd_ of SparsPak - * - * $Id: mmd.c,v 1.1 1998/11/27 17:59:25 karypis Exp $ - */ - -#include - - -/************************************************************************* -* genmmd -- multiple minimum external degree -* purpose -- this routine implements the minimum degree -* algorithm. it makes use of the implicit representation -* of elimination graphs by quotient graphs, and the notion -* of indistinguishable nodes. It also implements the modifications -* by multiple elimination and minimum external degree. -* Caution -- the adjacency vector adjncy will be destroyed. -* Input parameters -- -* neqns -- number of equations. -* (xadj, adjncy) -- the adjacency structure. -* delta -- tolerance value for multiple elimination. -* maxint -- maximum machine representable (short) integer -* (any smaller estimate will do) for marking nodes. -* Output parameters -- -* perm -- the minimum degree ordering. -* invp -- the inverse of perm. -* *ncsub -- an upper bound on the number of nonzero subscripts -* for the compressed storage scheme. -* Working parameters -- -* head -- vector for head of degree lists. -* invp -- used temporarily for degree forward link. -* perm -- used temporarily for degree backward link. -* qsize -- vector for size of supernodes. -* list -- vector for temporary linked lists. -* marker -- a temporary marker vector. -* Subroutines used -- mmdelm, mmdint, mmdnum, mmdupd. -**************************************************************************/ -void genmmd(int neqns, idxtype *xadj, idxtype *adjncy, idxtype *invp, idxtype *perm, - int delta, idxtype *head, idxtype *qsize, idxtype *list, idxtype *marker, - int maxint, int *ncsub) -{ - int ehead, i, mdeg, mdlmt, mdeg_node, nextmd, num, tag; - - if (neqns <= 0) - return; - - /* Adjust from C to Fortran */ - xadj--; adjncy--; invp--; perm--; head--; qsize--; list--; marker--; - - /* initialization for the minimum degree algorithm. */ - *ncsub = 0; - mmdint(neqns, xadj, adjncy, head, invp, perm, qsize, list, marker); - - /* 'num' counts the number of ordered nodes plus 1. */ - num = 1; - - /* eliminate all isolated nodes. */ - nextmd = head[1]; - while (nextmd > 0) { - mdeg_node = nextmd; - nextmd = invp[mdeg_node]; - marker[mdeg_node] = maxint; - invp[mdeg_node] = -num; - num = num + 1; - } - - /* search for node of the minimum degree. 'mdeg' is the current */ - /* minimum degree; 'tag' is used to facilitate marking nodes. */ - if (num > neqns) - goto n1000; - tag = 1; - head[1] = 0; - mdeg = 2; - - /* infinite loop here ! */ - while (1) { - while (head[mdeg] <= 0) - mdeg++; - - /* use value of 'delta' to set up 'mdlmt', which governs */ - /* when a degree update is to be performed. */ - mdlmt = mdeg + delta; - ehead = 0; - -n500: - mdeg_node = head[mdeg]; - while (mdeg_node <= 0) { - mdeg++; - - if (mdeg > mdlmt) - goto n900; - mdeg_node = head[mdeg]; - }; - - /* remove 'mdeg_node' from the degree structure. */ - nextmd = invp[mdeg_node]; - head[mdeg] = nextmd; - if (nextmd > 0) - perm[nextmd] = -mdeg; - invp[mdeg_node] = -num; - *ncsub += mdeg + qsize[mdeg_node] - 2; - if ((num+qsize[mdeg_node]) > neqns) - goto n1000; - - /* eliminate 'mdeg_node' and perform quotient graph */ - /* transformation. reset 'tag' value if necessary. */ - tag++; - if (tag >= maxint) { - tag = 1; - for (i = 1; i <= neqns; i++) - if (marker[i] < maxint) - marker[i] = 0; - }; - - mmdelm(mdeg_node, xadj, adjncy, head, invp, perm, qsize, list, marker, maxint, tag); - - num += qsize[mdeg_node]; - list[mdeg_node] = ehead; - ehead = mdeg_node; - if (delta >= 0) - goto n500; - - n900: - /* update degrees of the nodes involved in the */ - /* minimum degree nodes elimination. */ - if (num > neqns) - goto n1000; - mmdupd( ehead, neqns, xadj, adjncy, delta, &mdeg, head, invp, perm, qsize, list, marker, maxint, &tag); - }; /* end of -- while ( 1 ) -- */ - -n1000: - mmdnum( neqns, perm, invp, qsize ); - - /* Adjust from Fortran back to C*/ - xadj++; adjncy++; invp++; perm++; head++; qsize++; list++; marker++; -} - - -/************************************************************************** -* mmdelm ...... multiple minimum degree elimination -* Purpose -- This routine eliminates the node mdeg_node of minimum degree -* from the adjacency structure, which is stored in the quotient -* graph format. It also transforms the quotient graph representation -* of the elimination graph. -* Input parameters -- -* mdeg_node -- node of minimum degree. -* maxint -- estimate of maximum representable (short) integer. -* tag -- tag value. -* Updated parameters -- -* (xadj, adjncy) -- updated adjacency structure. -* (head, forward, backward) -- degree doubly linked structure. -* qsize -- size of supernode. -* marker -- marker vector. -* list -- temporary linked list of eliminated nabors. -***************************************************************************/ -void mmdelm(int mdeg_node, idxtype *xadj, idxtype *adjncy, idxtype *head, idxtype *forward, - idxtype *backward, idxtype *qsize, idxtype *list, idxtype *marker, int maxint,int tag) -{ - int element, i, istop, istart, j, - jstop, jstart, link, - nabor, node, npv, nqnbrs, nxnode, - pvnode, rlmt, rloc, rnode, xqnbr; - - /* find the reachable set of 'mdeg_node' and */ - /* place it in the data structure. */ - marker[mdeg_node] = tag; - istart = xadj[mdeg_node]; - istop = xadj[mdeg_node+1] - 1; - - /* 'element' points to the beginning of the list of */ - /* eliminated nabors of 'mdeg_node', and 'rloc' gives the */ - /* storage location for the next reachable node. */ - element = 0; - rloc = istart; - rlmt = istop; - for ( i = istart; i <= istop; i++ ) { - nabor = adjncy[i]; - if ( nabor == 0 ) break; - if ( marker[nabor] < tag ) { - marker[nabor] = tag; - if ( forward[nabor] < 0 ) { - list[nabor] = element; - element = nabor; - } else { - adjncy[rloc] = nabor; - rloc++; - }; - }; /* end of -- if -- */ - }; /* end of -- for -- */ - - /* merge with reachable nodes from generalized elements. */ - while ( element > 0 ) { - adjncy[rlmt] = -element; - link = element; - -n400: - jstart = xadj[link]; - jstop = xadj[link+1] - 1; - for ( j = jstart; j <= jstop; j++ ) { - node = adjncy[j]; - link = -node; - if ( node < 0 ) goto n400; - if ( node == 0 ) break; - if ((marker[node]=0)) { - marker[node] = tag; - /*use storage from eliminated nodes if necessary.*/ - while ( rloc >= rlmt ) { - link = -adjncy[rlmt]; - rloc = xadj[link]; - rlmt = xadj[link+1] - 1; - }; - adjncy[rloc] = node; - rloc++; - }; - }; /* end of -- for ( j = jstart; -- */ - element = list[element]; - }; /* end of -- while ( element > 0 ) -- */ - if ( rloc <= rlmt ) adjncy[rloc] = 0; - /* for each node in the reachable set, do the following. */ - link = mdeg_node; - -n1100: - istart = xadj[link]; - istop = xadj[link+1] - 1; - for ( i = istart; i <= istop; i++ ) { - rnode = adjncy[i]; - link = -rnode; - if ( rnode < 0 ) goto n1100; - if ( rnode == 0 ) return; - - /* 'rnode' is in the degree list structure. */ - pvnode = backward[rnode]; - if (( pvnode != 0 ) && ( pvnode != (-maxint) )) { - /* then remove 'rnode' from the structure. */ - nxnode = forward[rnode]; - if ( nxnode > 0 ) backward[nxnode] = pvnode; - if ( pvnode > 0 ) forward[pvnode] = nxnode; - npv = -pvnode; - if ( pvnode < 0 ) head[npv] = nxnode; - }; - - /* purge inactive quotient nabors of 'rnode'. */ - jstart = xadj[rnode]; - jstop = xadj[rnode+1] - 1; - xqnbr = jstart; - for ( j = jstart; j <= jstop; j++ ) { - nabor = adjncy[j]; - if ( nabor == 0 ) break; - if ( marker[nabor] < tag ) { - adjncy[xqnbr] = nabor; - xqnbr++; - }; - }; - - /* no active nabor after the purging. */ - nqnbrs = xqnbr - jstart; - if ( nqnbrs <= 0 ) { - /* merge 'rnode' with 'mdeg_node'. */ - qsize[mdeg_node] += qsize[rnode]; - qsize[rnode] = 0; - marker[rnode] = maxint; - forward[rnode] = -mdeg_node; - backward[rnode] = -maxint; - } else { - /* flag 'rnode' for degree update, and */ - /* add 'mdeg_node' as a nabor of 'rnode'. */ - forward[rnode] = nqnbrs + 1; - backward[rnode] = 0; - adjncy[xqnbr] = mdeg_node; - xqnbr++; - if ( xqnbr <= jstop ) adjncy[xqnbr] = 0; - }; - }; /* end of -- for ( i = istart; -- */ - return; - } - -/*************************************************************************** -* mmdint ---- mult minimum degree initialization -* purpose -- this routine performs initialization for the -* multiple elimination version of the minimum degree algorithm. -* input parameters -- -* neqns -- number of equations. -* (xadj, adjncy) -- adjacency structure. -* output parameters -- -* (head, dfrow, backward) -- degree doubly linked structure. -* qsize -- size of supernode ( initialized to one). -* list -- linked list. -* marker -- marker vector. -****************************************************************************/ -int mmdint(int neqns, idxtype *xadj, idxtype *adjncy, idxtype *head, idxtype *forward, - idxtype *backward, idxtype *qsize, idxtype *list, idxtype *marker) -{ - int fnode, ndeg, node; - - for ( node = 1; node <= neqns; node++ ) { - head[node] = 0; - qsize[node] = 1; - marker[node] = 0; - list[node] = 0; - }; - - /* initialize the degree doubly linked lists. */ - for ( node = 1; node <= neqns; node++ ) { - ndeg = xadj[node+1] - xadj[node]/* + 1*/; /* george */ - if (ndeg == 0) - ndeg = 1; - fnode = head[ndeg]; - forward[node] = fnode; - head[ndeg] = node; - if ( fnode > 0 ) backward[fnode] = node; - backward[node] = -ndeg; - }; - return 0; -} - -/**************************************************************************** -* mmdnum --- multi minimum degree numbering -* purpose -- this routine performs the final step in producing -* the permutation and inverse permutation vectors in the -* multiple elimination version of the minimum degree -* ordering algorithm. -* input parameters -- -* neqns -- number of equations. -* qsize -- size of supernodes at elimination. -* updated parameters -- -* invp -- inverse permutation vector. on input, -* if qsize[node] = 0, then node has been merged -* into the node -invp[node]; otherwise, -* -invp[node] is its inverse labelling. -* output parameters -- -* perm -- the permutation vector. -****************************************************************************/ -void mmdnum(int neqns, idxtype *perm, idxtype *invp, idxtype *qsize) -{ - int father, nextf, node, nqsize, num, root; - - for ( node = 1; node <= neqns; node++ ) { - nqsize = qsize[node]; - if ( nqsize <= 0 ) perm[node] = invp[node]; - if ( nqsize > 0 ) perm[node] = -invp[node]; - }; - - /* for each node which has been merged, do the following. */ - for ( node = 1; node <= neqns; node++ ) { - if ( perm[node] <= 0 ) { - - /* trace the merged tree until one which has not */ - /* been merged, call it root. */ - father = node; - while ( perm[father] <= 0 ) - father = - perm[father]; - - /* number node after root. */ - root = father; - num = perm[root] + 1; - invp[node] = -num; - perm[root] = num; - - /* shorten the merged tree. */ - father = node; - nextf = - perm[father]; - while ( nextf > 0 ) { - perm[father] = -root; - father = nextf; - nextf = -perm[father]; - }; - }; /* end of -- if ( perm[node] <= 0 ) -- */ - }; /* end of -- for ( node = 1; -- */ - - /* ready to compute perm. */ - for ( node = 1; node <= neqns; node++ ) { - num = -invp[node]; - invp[node] = num; - perm[num] = node; - }; - return; -} - -/**************************************************************************** -* mmdupd ---- multiple minimum degree update -* purpose -- this routine updates the degrees of nodes after a -* multiple elimination step. -* input parameters -- -* ehead -- the beginning of the list of eliminated nodes -* (i.e., newly formed elements). -* neqns -- number of equations. -* (xadj, adjncy) -- adjacency structure. -* delta -- tolerance value for multiple elimination. -* maxint -- maximum machine representable (short) integer. -* updated parameters -- -* mdeg -- new minimum degree after degree update. -* (head, forward, backward) -- degree doubly linked structure. -* qsize -- size of supernode. -* list -- marker vector for degree update. -* *tag -- tag value. -****************************************************************************/ -void mmdupd(int ehead, int neqns, idxtype *xadj, idxtype *adjncy, int delta, int *mdeg, - idxtype *head, idxtype *forward, idxtype *backward, idxtype *qsize, idxtype *list, - idxtype *marker, int maxint,int *tag) -{ - int deg, deg0, element, enode, fnode, i, iq2, istop, - istart, j, jstop, jstart, link, mdeg0, mtag, nabor, - node, q2head, qxhead; - - mdeg0 = *mdeg + delta; - element = ehead; - -n100: - if ( element <= 0 ) return; - - /* for each of the newly formed element, do the following. */ - /* reset tag value if necessary. */ - mtag = *tag + mdeg0; - if ( mtag >= maxint ) { - *tag = 1; - for ( i = 1; i <= neqns; i++ ) - if ( marker[i] < maxint ) marker[i] = 0; - mtag = *tag + mdeg0; - }; - - /* create two linked lists from nodes associated with 'element': */ - /* one with two nabors (q2head) in the adjacency structure, and the*/ - /* other with more than two nabors (qxhead). also compute 'deg0',*/ - /* number of nodes in this element. */ - q2head = 0; - qxhead = 0; - deg0 = 0; - link =element; - -n400: - istart = xadj[link]; - istop = xadj[link+1] - 1; - for ( i = istart; i <= istop; i++ ) { - enode = adjncy[i]; - link = -enode; - if ( enode < 0 ) goto n400; - if ( enode == 0 ) break; - if ( qsize[enode] != 0 ) { - deg0 += qsize[enode]; - marker[enode] = mtag; - - /*'enode' requires a degree update*/ - if ( backward[enode] == 0 ) { - /* place either in qxhead or q2head list. */ - if ( forward[enode] != 2 ) { - list[enode] = qxhead; - qxhead = enode; - } else { - list[enode] = q2head; - q2head = enode; - }; - }; - }; /* enf of -- if ( qsize[enode] != 0 ) -- */ - }; /* end of -- for ( i = istart; -- */ - - /* for each node in q2 list, do the following. */ - enode = q2head; - iq2 = 1; - -n900: - if ( enode <= 0 ) goto n1500; - if ( backward[enode] != 0 ) goto n2200; - (*tag)++; - deg = deg0; - - /* identify the other adjacent element nabor. */ - istart = xadj[enode]; - nabor = adjncy[istart]; - if ( nabor == element ) nabor = adjncy[istart+1]; - link = nabor; - if ( forward[nabor] >= 0 ) { - /* nabor is uneliminated, increase degree count. */ - deg += qsize[nabor]; - goto n2100; - }; - - /* the nabor is eliminated. for each node in the 2nd element */ - /* do the following. */ -n1000: - istart = xadj[link]; - istop = xadj[link+1] - 1; - for ( i = istart; i <= istop; i++ ) { - node = adjncy[i]; - link = -node; - if ( node != enode ) { - if ( node < 0 ) goto n1000; - if ( node == 0 ) goto n2100; - if ( qsize[node] != 0 ) { - if ( marker[node] < *tag ) { - /* 'node' is not yet considered. */ - marker[node] = *tag; - deg += qsize[node]; - } else { - if ( backward[node] == 0 ) { - if ( forward[node] == 2 ) { - /* 'node' is indistinguishable from 'enode'.*/ - /* merge them into a new supernode. */ - qsize[enode] += qsize[node]; - qsize[node] = 0; - marker[node] = maxint; - forward[node] = -enode; - backward[node] = -maxint; - } else { - /* 'node' is outmacthed by 'enode' */ - if (backward[node]==0) backward[node] = -maxint; - }; - }; /* end of -- if ( backward[node] == 0 ) -- */ - }; /* end of -- if ( marker[node] < *tag ) -- */ - }; /* end of -- if ( qsize[node] != 0 ) -- */ - }; /* end of -- if ( node != enode ) -- */ - }; /* end of -- for ( i = istart; -- */ - goto n2100; - -n1500: - /* for each 'enode' in the 'qx' list, do the following. */ - enode = qxhead; - iq2 = 0; - -n1600: if ( enode <= 0 ) goto n2300; - if ( backward[enode] != 0 ) goto n2200; - (*tag)++; - deg = deg0; - - /*for each unmarked nabor of 'enode', do the following.*/ - istart = xadj[enode]; - istop = xadj[enode+1] - 1; - for ( i = istart; i <= istop; i++ ) { - nabor = adjncy[i]; - if ( nabor == 0 ) break; - if ( marker[nabor] < *tag ) { - marker[nabor] = *tag; - link = nabor; - if ( forward[nabor] >= 0 ) - /*if uneliminated, include it in deg count.*/ - deg += qsize[nabor]; - else { -n1700: - /* if eliminated, include unmarked nodes in this*/ - /* element into the degree count. */ - jstart = xadj[link]; - jstop = xadj[link+1] - 1; - for ( j = jstart; j <= jstop; j++ ) { - node = adjncy[j]; - link = -node; - if ( node < 0 ) goto n1700; - if ( node == 0 ) break; - if ( marker[node] < *tag ) { - marker[node] = *tag; - deg += qsize[node]; - }; - }; /* end of -- for ( j = jstart; -- */ - }; /* end of -- if ( forward[nabor] >= 0 ) -- */ - }; /* end of -- if ( marker[nabor] < *tag ) -- */ - }; /* end of -- for ( i = istart; -- */ - -n2100: - /* update external degree of 'enode' in degree structure, */ - /* and '*mdeg' if necessary. */ - deg = deg - qsize[enode] + 1; - fnode = head[deg]; - forward[enode] = fnode; - backward[enode] = -deg; - if ( fnode > 0 ) backward[fnode] = enode; - head[deg] = enode; - if ( deg < *mdeg ) *mdeg = deg; - -n2200: - /* get next enode in current element. */ - enode = list[enode]; - if ( iq2 == 1 ) goto n900; - goto n1600; - -n2300: - /* get next element in the list. */ - *tag = mtag; - element = list[element]; - goto n100; - } diff --git a/lib/metis-4.0/Lib/mpmetis.c b/lib/metis-4.0/Lib/mpmetis.c deleted file mode 100755 index 9e2d9aedf..000000000 --- a/lib/metis-4.0/Lib/mpmetis.c +++ /dev/null @@ -1,402 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * mpmetis.c - * - * This file contains the top level routines for the multilevel recursive - * bisection algorithm PMETIS. - * - * Started 7/24/97 - * George - * - * $Id: mpmetis.c,v 1.4 1998/11/30 14:50:44 karypis Exp $ - * - */ - -#include - - - -/************************************************************************* -* This function is the entry point for PWMETIS that accepts exact weights -* for the target partitions -**************************************************************************/ -void METIS_mCPartGraphRecursive(int *nvtxs, int *ncon, idxtype *xadj, idxtype *adjncy, - idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, - int *options, int *edgecut, idxtype *part) -{ - int i, j; - GraphType graph; - CtrlType ctrl; - - if (*numflag == 1) - Change2CNumbering(*nvtxs, xadj, adjncy); - - SetUpGraph(&graph, OP_PMETIS, *nvtxs, *ncon, xadj, adjncy, vwgt, adjwgt, *wgtflag); - - if (options[0] == 0) { /* Use the default parameters */ - ctrl.CType = McPMETIS_CTYPE; - ctrl.IType = McPMETIS_ITYPE; - ctrl.RType = McPMETIS_RTYPE; - ctrl.dbglvl = McPMETIS_DBGLVL; - } - else { - ctrl.CType = options[OPTION_CTYPE]; - ctrl.IType = options[OPTION_ITYPE]; - ctrl.RType = options[OPTION_RTYPE]; - ctrl.dbglvl = options[OPTION_DBGLVL]; - } - ctrl.optype = OP_PMETIS; - ctrl.CoarsenTo = 100; - - ctrl.nmaxvwgt = 1.5/(1.0*ctrl.CoarsenTo); - - InitRandom(-1); - - AllocateWorkSpace(&ctrl, &graph, *nparts); - - IFSET(ctrl.dbglvl, DBG_TIME, InitTimers(&ctrl)); - IFSET(ctrl.dbglvl, DBG_TIME, starttimer(ctrl.TotalTmr)); - - *edgecut = MCMlevelRecursiveBisection(&ctrl, &graph, *nparts, part, 1.000, 0); - - IFSET(ctrl.dbglvl, DBG_TIME, stoptimer(ctrl.TotalTmr)); - IFSET(ctrl.dbglvl, DBG_TIME, PrintTimers(&ctrl)); - - FreeWorkSpace(&ctrl, &graph); - - if (*numflag == 1) - Change2FNumbering(*nvtxs, xadj, adjncy, part); -} - - - -/************************************************************************* -* This function is the entry point for PWMETIS that accepts exact weights -* for the target partitions -**************************************************************************/ -void METIS_mCHPartGraphRecursive(int *nvtxs, int *ncon, idxtype *xadj, idxtype *adjncy, - idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, - float *ubvec, int *options, int *edgecut, idxtype *part) -{ - int i, j; - GraphType graph; - CtrlType ctrl; - float *myubvec; - - if (*numflag == 1) - Change2CNumbering(*nvtxs, xadj, adjncy); - - SetUpGraph(&graph, OP_PMETIS, *nvtxs, *ncon, xadj, adjncy, vwgt, adjwgt, *wgtflag); - - if (options[0] == 0) { /* Use the default parameters */ - ctrl.CType = PMETIS_CTYPE; - ctrl.IType = PMETIS_ITYPE; - ctrl.RType = PMETIS_RTYPE; - ctrl.dbglvl = PMETIS_DBGLVL; - } - else { - ctrl.CType = options[OPTION_CTYPE]; - ctrl.IType = options[OPTION_ITYPE]; - ctrl.RType = options[OPTION_RTYPE]; - ctrl.dbglvl = options[OPTION_DBGLVL]; - } - ctrl.optype = OP_PMETIS; - ctrl.CoarsenTo = 100; - - ctrl.nmaxvwgt = 1.5/(1.0*ctrl.CoarsenTo); - - myubvec = fmalloc(*ncon, "PWMETIS: mytpwgts"); - scopy(*ncon, ubvec, myubvec); - - InitRandom(-1); - - AllocateWorkSpace(&ctrl, &graph, *nparts); - - IFSET(ctrl.dbglvl, DBG_TIME, InitTimers(&ctrl)); - IFSET(ctrl.dbglvl, DBG_TIME, starttimer(ctrl.TotalTmr)); - - *edgecut = MCHMlevelRecursiveBisection(&ctrl, &graph, *nparts, part, myubvec, 0); - - IFSET(ctrl.dbglvl, DBG_TIME, stoptimer(ctrl.TotalTmr)); - IFSET(ctrl.dbglvl, DBG_TIME, PrintTimers(&ctrl)); - - FreeWorkSpace(&ctrl, &graph); - GKfree(&myubvec, LTERM); - - if (*numflag == 1) - Change2FNumbering(*nvtxs, xadj, adjncy, part); -} - - - -/************************************************************************* -* This function is the entry point for PWMETIS that accepts exact weights -* for the target partitions -**************************************************************************/ -void METIS_mCPartGraphRecursiveInternal(int *nvtxs, int *ncon, idxtype *xadj, idxtype *adjncy, - float *nvwgt, idxtype *adjwgt, int *nparts, int *options, int *edgecut, idxtype *part) -{ - int i, j; - GraphType graph; - CtrlType ctrl; - - SetUpGraph2(&graph, *nvtxs, *ncon, xadj, adjncy, nvwgt, adjwgt); - - if (options[0] == 0) { /* Use the default parameters */ - ctrl.CType = PMETIS_CTYPE; - ctrl.IType = PMETIS_ITYPE; - ctrl.RType = PMETIS_RTYPE; - ctrl.dbglvl = PMETIS_DBGLVL; - } - else { - ctrl.CType = options[OPTION_CTYPE]; - ctrl.IType = options[OPTION_ITYPE]; - ctrl.RType = options[OPTION_RTYPE]; - ctrl.dbglvl = options[OPTION_DBGLVL]; - } - ctrl.optype = OP_PMETIS; - ctrl.CoarsenTo = 100; - - ctrl.nmaxvwgt = 1.5/(1.0*ctrl.CoarsenTo); - - InitRandom(-1); - - AllocateWorkSpace(&ctrl, &graph, *nparts); - - IFSET(ctrl.dbglvl, DBG_TIME, InitTimers(&ctrl)); - IFSET(ctrl.dbglvl, DBG_TIME, starttimer(ctrl.TotalTmr)); - - *edgecut = MCMlevelRecursiveBisection(&ctrl, &graph, *nparts, part, 1.000, 0); - - IFSET(ctrl.dbglvl, DBG_TIME, stoptimer(ctrl.TotalTmr)); - IFSET(ctrl.dbglvl, DBG_TIME, PrintTimers(&ctrl)); - - FreeWorkSpace(&ctrl, &graph); - -} - - -/************************************************************************* -* This function is the entry point for PWMETIS that accepts exact weights -* for the target partitions -**************************************************************************/ -void METIS_mCHPartGraphRecursiveInternal(int *nvtxs, int *ncon, idxtype *xadj, idxtype *adjncy, - float *nvwgt, idxtype *adjwgt, int *nparts, float *ubvec, int *options, int *edgecut, - idxtype *part) -{ - int i, j; - GraphType graph; - CtrlType ctrl; - float *myubvec; - - SetUpGraph2(&graph, *nvtxs, *ncon, xadj, adjncy, nvwgt, adjwgt); - - if (options[0] == 0) { /* Use the default parameters */ - ctrl.CType = PMETIS_CTYPE; - ctrl.IType = PMETIS_ITYPE; - ctrl.RType = PMETIS_RTYPE; - ctrl.dbglvl = PMETIS_DBGLVL; - } - else { - ctrl.CType = options[OPTION_CTYPE]; - ctrl.IType = options[OPTION_ITYPE]; - ctrl.RType = options[OPTION_RTYPE]; - ctrl.dbglvl = options[OPTION_DBGLVL]; - } - ctrl.optype = OP_PMETIS; - ctrl.CoarsenTo = 100; - - ctrl.nmaxvwgt = 1.5/(1.0*ctrl.CoarsenTo); - - myubvec = fmalloc(*ncon, "PWMETIS: mytpwgts"); - scopy(*ncon, ubvec, myubvec); - - InitRandom(-1); - - AllocateWorkSpace(&ctrl, &graph, *nparts); - - IFSET(ctrl.dbglvl, DBG_TIME, InitTimers(&ctrl)); - IFSET(ctrl.dbglvl, DBG_TIME, starttimer(ctrl.TotalTmr)); - - *edgecut = MCHMlevelRecursiveBisection(&ctrl, &graph, *nparts, part, myubvec, 0); - - IFSET(ctrl.dbglvl, DBG_TIME, stoptimer(ctrl.TotalTmr)); - IFSET(ctrl.dbglvl, DBG_TIME, PrintTimers(&ctrl)); - - FreeWorkSpace(&ctrl, &graph); - GKfree(&myubvec, LTERM); - -} - - - - -/************************************************************************* -* This function takes a graph and produces a bisection of it -**************************************************************************/ -int MCMlevelRecursiveBisection(CtrlType *ctrl, GraphType *graph, int nparts, idxtype *part, - float ubfactor, int fpart) -{ - int i, j, nvtxs, ncon, cut; - idxtype *label, *where; - GraphType lgraph, rgraph; - float tpwgts[2]; - - nvtxs = graph->nvtxs; - if (nvtxs == 0) { - printf("\t***Cannot bisect a graph with 0 vertices!\n\t***You are trying to partition a graph into too many parts!\n"); - return 0; - } - - /* Determine the weights of the partitions */ - tpwgts[0] = 1.0*(nparts>>1)/(1.0*nparts); - tpwgts[1] = 1.0 - tpwgts[0]; - - MCMlevelEdgeBisection(ctrl, graph, tpwgts, ubfactor); - cut = graph->mincut; - - label = graph->label; - where = graph->where; - for (i=0; i 2) - SplitGraphPart(ctrl, graph, &lgraph, &rgraph); - - /* Free the memory of the top level graph */ - GKfree(&graph->gdata, &graph->nvwgt, &graph->rdata, &graph->npwgts, &graph->label, LTERM); - - - /* Do the recursive call */ - if (nparts > 3) { - cut += MCMlevelRecursiveBisection(ctrl, &lgraph, nparts/2, part, ubfactor, fpart); - cut += MCMlevelRecursiveBisection(ctrl, &rgraph, nparts-nparts/2, part, ubfactor, fpart+nparts/2); - } - else if (nparts == 3) { - cut += MCMlevelRecursiveBisection(ctrl, &rgraph, nparts-nparts/2, part, ubfactor, fpart+nparts/2); - GKfree(&lgraph.gdata, &lgraph.nvwgt, &lgraph.label, LTERM); - } - - return cut; - -} - - - -/************************************************************************* -* This function takes a graph and produces a bisection of it -**************************************************************************/ -int MCHMlevelRecursiveBisection(CtrlType *ctrl, GraphType *graph, int nparts, idxtype *part, - float *ubvec, int fpart) -{ - int i, j, nvtxs, ncon, cut; - idxtype *label, *where; - GraphType lgraph, rgraph; - float tpwgts[2], *npwgts, *lubvec, *rubvec; - - lubvec = rubvec = NULL; - - nvtxs = graph->nvtxs; - ncon = graph->ncon; - if (nvtxs == 0) { - printf("\t***Cannot bisect a graph with 0 vertices!\n\t***You are trying to partition a graph into too many parts!\n"); - return 0; - } - - /* Determine the weights of the partitions */ - tpwgts[0] = 1.0*(nparts>>1)/(1.0*nparts); - tpwgts[1] = 1.0 - tpwgts[0]; - - /* For now, relax at the coarsest level only */ - if (nparts == 2) - MCHMlevelEdgeBisection(ctrl, graph, tpwgts, ubvec); - else - MCMlevelEdgeBisection(ctrl, graph, tpwgts, 1.000); - cut = graph->mincut; - - label = graph->label; - where = graph->where; - for (i=0; i 2) { - /* Adjust the ubvecs before the split */ - npwgts = graph->npwgts; - lubvec = fmalloc(ncon, "MCHMlevelRecursiveBisection"); - rubvec = fmalloc(ncon, "MCHMlevelRecursiveBisection"); - - for (i=0; igdata, &graph->nvwgt, &graph->rdata, &graph->npwgts, &graph->label, LTERM); - - - /* Do the recursive call */ - if (nparts > 3) { - cut += MCHMlevelRecursiveBisection(ctrl, &lgraph, nparts/2, part, lubvec, fpart); - cut += MCHMlevelRecursiveBisection(ctrl, &rgraph, nparts-nparts/2, part, rubvec, fpart+nparts/2); - } - else if (nparts == 3) { - cut += MCHMlevelRecursiveBisection(ctrl, &rgraph, nparts-nparts/2, part, rubvec, fpart+nparts/2); - GKfree(&lgraph.gdata, &lgraph.nvwgt, &lgraph.label, LTERM); - } - - GKfree(&lubvec, &rubvec, LTERM); - - return cut; - -} - - - - -/************************************************************************* -* This function performs multilevel bisection -**************************************************************************/ -void MCMlevelEdgeBisection(CtrlType *ctrl, GraphType *graph, float *tpwgts, float ubfactor) -{ - GraphType *cgraph; - - cgraph = MCCoarsen2Way(ctrl, graph); - - MocInit2WayPartition(ctrl, cgraph, tpwgts, ubfactor); - - MocRefine2Way(ctrl, graph, cgraph, tpwgts, ubfactor); - -} - - - -/************************************************************************* -* This function performs multilevel bisection -**************************************************************************/ -void MCHMlevelEdgeBisection(CtrlType *ctrl, GraphType *graph, float *tpwgts, float *ubvec) -{ - int i; - GraphType *cgraph; - -/* - for (i=0; incon; i++) - printf("%.4f ", ubvec[i]); - printf("\n"); -*/ - - cgraph = MCCoarsen2Way(ctrl, graph); - - MocInit2WayPartition2(ctrl, cgraph, tpwgts, ubvec); - - MocRefine2Way2(ctrl, graph, cgraph, tpwgts, ubvec); - -} - - diff --git a/lib/metis-4.0/Lib/mrefine.c b/lib/metis-4.0/Lib/mrefine.c deleted file mode 100755 index 305311b5e..000000000 --- a/lib/metis-4.0/Lib/mrefine.c +++ /dev/null @@ -1,219 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * refine.c - * - * This file contains the driving routines for multilevel refinement - * - * Started 7/24/97 - * George - * - * $Id: mrefine.c,v 1.2 1998/11/27 18:25:09 karypis Exp $ - */ - -#include - - -/************************************************************************* -* This function is the entry point of refinement -**************************************************************************/ -void MocRefine2Way(CtrlType *ctrl, GraphType *orggraph, GraphType *graph, float *tpwgts, float ubfactor) -{ - int i; - float tubvec[MAXNCON]; - - for (i=0; incon; i++) - tubvec[i] = 1.0; - - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->UncoarsenTmr)); - - /* Compute the parameters of the coarsest graph */ - MocCompute2WayPartitionParams(ctrl, graph); - - for (;;) { - ASSERT(CheckBnd(graph)); - - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->RefTmr)); - switch (ctrl->RType) { - case RTYPE_FM: - MocBalance2Way(ctrl, graph, tpwgts, 1.03); - MocFM_2WayEdgeRefine(ctrl, graph, tpwgts, 8); - break; - case 2: - MocBalance2Way(ctrl, graph, tpwgts, 1.03); - MocFM_2WayEdgeRefine2(ctrl, graph, tpwgts, tubvec, 8); - break; - default: - errexit("Unknown refinement type: %d\n", ctrl->RType); - } - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->RefTmr)); - - if (graph == orggraph) - break; - - graph = graph->finer; - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->ProjectTmr)); - MocProject2WayPartition(ctrl, graph); - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->ProjectTmr)); - } - - MocBalance2Way(ctrl, graph, tpwgts, 1.01); - MocFM_2WayEdgeRefine(ctrl, graph, tpwgts, 8); - - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->UncoarsenTmr)); -} - - -/************************************************************************* -* This function allocates memory for 2-way edge refinement -**************************************************************************/ -void MocAllocate2WayPartitionMemory(CtrlType *ctrl, GraphType *graph) -{ - int nvtxs, ncon; - - nvtxs = graph->nvtxs; - ncon = graph->ncon; - - graph->rdata = idxmalloc(5*nvtxs, "Allocate2WayPartitionMemory: rdata"); - graph->where = graph->rdata; - graph->id = graph->rdata + nvtxs; - graph->ed = graph->rdata + 2*nvtxs; - graph->bndptr = graph->rdata + 3*nvtxs; - graph->bndind = graph->rdata + 4*nvtxs; - - graph->npwgts = fmalloc(2*ncon, "npwgts"); -} - - -/************************************************************************* -* This function computes the initial id/ed -**************************************************************************/ -void MocCompute2WayPartitionParams(CtrlType *ctrl, GraphType *graph) -{ - int i, j, k, l, nvtxs, ncon, nbnd, mincut; - idxtype *xadj, *adjncy, *adjwgt; - float *nvwgt, *npwgts; - idxtype *id, *ed, *where; - idxtype *bndptr, *bndind; - int me, other; - - nvtxs = graph->nvtxs; - ncon = graph->ncon; - xadj = graph->xadj; - nvwgt = graph->nvwgt; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - - where = graph->where; - npwgts = sset(2*ncon, 0.0, graph->npwgts); - id = idxset(nvtxs, 0, graph->id); - ed = idxset(nvtxs, 0, graph->ed); - bndptr = idxset(nvtxs, -1, graph->bndptr); - bndind = graph->bndind; - - - /*------------------------------------------------------------ - / Compute now the id/ed degrees - /------------------------------------------------------------*/ - nbnd = mincut = 0; - for (i=0; i= 0 && where[i] <= 1); - me = where[i]; - saxpy(ncon, 1.0, nvwgt+i*ncon, 1, npwgts+me*ncon, 1); - - for (j=xadj[i]; j 0 || xadj[i] == xadj[i+1]) { - mincut += ed[i]; - bndptr[i] = nbnd; - bndind[nbnd++] = i; - } - } - - graph->mincut = mincut/2; - graph->nbnd = nbnd; - -} - - - -/************************************************************************* -* This function projects a partition, and at the same time computes the -* parameters for refinement. -**************************************************************************/ -void MocProject2WayPartition(CtrlType *ctrl, GraphType *graph) -{ - int i, j, k, nvtxs, nbnd, me; - idxtype *xadj, *adjncy, *adjwgt, *adjwgtsum; - idxtype *cmap, *where, *id, *ed, *bndptr, *bndind; - idxtype *cwhere, *cid, *ced, *cbndptr; - GraphType *cgraph; - - cgraph = graph->coarser; - cwhere = cgraph->where; - cid = cgraph->id; - ced = cgraph->ed; - cbndptr = cgraph->bndptr; - - nvtxs = graph->nvtxs; - cmap = graph->cmap; - xadj = graph->xadj; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - adjwgtsum = graph->adjwgtsum; - - MocAllocate2WayPartitionMemory(ctrl, graph); - - where = graph->where; - id = idxset(nvtxs, 0, graph->id); - ed = idxset(nvtxs, 0, graph->ed); - bndptr = idxset(nvtxs, -1, graph->bndptr); - bndind = graph->bndind; - - - /* Go through and project partition and compute id/ed for the nodes */ - for (i=0; i 0 || xadj[i] == xadj[i+1]) { - bndptr[i] = nbnd; - bndind[nbnd++] = i; - } - } - } - } - - graph->mincut = cgraph->mincut; - graph->nbnd = nbnd; - scopy(2*graph->ncon, cgraph->npwgts, graph->npwgts); - - FreeGraph(graph->coarser); - graph->coarser = NULL; - -} - diff --git a/lib/metis-4.0/Lib/mrefine2.c b/lib/metis-4.0/Lib/mrefine2.c deleted file mode 100755 index 91f50a88a..000000000 --- a/lib/metis-4.0/Lib/mrefine2.c +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * mrefine2.c - * - * This file contains the driving routines for multilevel refinement - * - * Started 7/24/97 - * George - * - * $Id: mrefine2.c,v 1.1 1998/11/27 17:59:26 karypis Exp $ - */ - -#include - - -/************************************************************************* -* This function is the entry point of refinement -**************************************************************************/ -void MocRefine2Way2(CtrlType *ctrl, GraphType *orggraph, GraphType *graph, float *tpwgts, - float *ubvec) -{ - - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->UncoarsenTmr)); - - /* Compute the parameters of the coarsest graph */ - MocCompute2WayPartitionParams(ctrl, graph); - - for (;;) { - ASSERT(CheckBnd(graph)); - - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->RefTmr)); - switch (ctrl->RType) { - case RTYPE_FM: - MocBalance2Way2(ctrl, graph, tpwgts, ubvec); - MocFM_2WayEdgeRefine2(ctrl, graph, tpwgts, ubvec, 8); - break; - default: - errexit("Unknown refinement type: %d\n", ctrl->RType); - } - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->RefTmr)); - - if (graph == orggraph) - break; - - graph = graph->finer; - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->ProjectTmr)); - MocProject2WayPartition(ctrl, graph); - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->ProjectTmr)); - } - - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->UncoarsenTmr)); -} - - diff --git a/lib/metis-4.0/Lib/mutil.c b/lib/metis-4.0/Lib/mutil.c deleted file mode 100755 index ae808fcc5..000000000 --- a/lib/metis-4.0/Lib/mutil.c +++ /dev/null @@ -1,101 +0,0 @@ -/* - * mutil.c - * - * This file contains various utility functions for the MOC portion of the - * code - * - * Started 2/15/98 - * George - * - * $Id: mutil.c,v 1.1 1998/11/27 17:59:27 karypis Exp $ - * - */ - -#include - - -/************************************************************************* -* This function checks if the vertex weights of two vertices are below -* a given set of values -**************************************************************************/ -int AreAllVwgtsBelow(int ncon, float alpha, float *vwgt1, float beta, float *vwgt2, float limit) -{ - int i; - - for (i=0; i limit) - return 0; - - return 1; -} - - -/************************************************************************* -* This function checks if the vertex weights of two vertices are below -* a given set of values -**************************************************************************/ -int AreAnyVwgtsBelow(int ncon, float alpha, float *vwgt1, float beta, float *vwgt2, float limit) -{ - int i; - - for (i=0; i max) - max = npwgts[j*ncon+i]; - } - if (max*nparts > lb) - lb = max*nparts; - } - - return lb; -} - -/************************************************************************* -* This function checks if the vertex weights of two vertices are below -* a given set of values -**************************************************************************/ -int AreAllBelow(int ncon, float *v1, float *v2) -{ - int i; - - for (i=0; i v2[i]) - return 0; - - return 1; -} diff --git a/lib/metis-4.0/Lib/myqsort.c b/lib/metis-4.0/Lib/myqsort.c deleted file mode 100755 index e77750696..000000000 --- a/lib/metis-4.0/Lib/myqsort.c +++ /dev/null @@ -1,547 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * myqsort.c - * - * This file contains a fast idxtype increasing qsort algorithm. - * Addopted from TeX - * - * Started 10/18/96 - * George - * - * $Id: myqsort.c,v 1.1 1998/11/27 17:59:27 karypis Exp $ - */ - -#include /* only for type declarations */ - -#define THRESH 1 /* threshold for insertion */ -#define MTHRESH 6 /* threshold for median */ - - - - -static void siqst(idxtype *, idxtype *); -static void iiqst(int *, int *); -static void keyiqst(KeyValueType *, KeyValueType *); -static void keyvaliqst(KeyValueType *, KeyValueType *); - - -/************************************************************************* -* Entry point of idxtype increasing sort -**************************************************************************/ -void iidxsort(int n, idxtype *base) -{ - register idxtype *i; - register idxtype *j; - register idxtype *lo; - register idxtype *hi; - register idxtype *min; - register idxtype c; - idxtype *max; - - if (n <= 1) - return; - - max = base + n; - - if (n >= THRESH) { - siqst(base, max); - hi = base + THRESH; - } - else - hi = max; - - for (j = lo = base; lo++ < hi;) { - if (*j > *lo) - j = lo; - } - if (j != base) { /* swap j into place */ - c = *base; - *base = *j; - *j = c; - } - - for (min = base; (hi = min += 1) < max;) { - while (*(--hi) > *min); - if ((hi += 1) != min) { - for (lo = min + 1; --lo >= min;) { - c = *lo; - for (i = j = lo; (j -= 1) >= hi; i = j) - *i = *j; - *i = c; - } - } - } -} - -static void siqst(idxtype *base, idxtype *max) -{ - register idxtype *i; - register idxtype *j; - register idxtype *jj; - register idxtype *mid; - register int ii; - register idxtype c; - idxtype *tmp; - int lo; - int hi; - - lo = max - base; /* number of elements as idxtype */ - do { - mid = base + ((unsigned) lo>>1); - if (lo >= MTHRESH) { - j = (*base > *mid ? base : mid); - tmp = max - 1; - if (*j > *tmp) { - j = (j == base ? mid : base); /* switch to first loser */ - if (*j < *tmp) - j = tmp; - } - - if (j != mid) { /* SWAP */ - c = *mid; - *mid = *j; - *j = c; - } - } - - /* Semi-standard quicksort partitioning/swapping */ - for (i = base, j = max - 1;;) { - while (i < mid && *i <= *mid) - i++; - while (j > mid) { - if (*mid <= *j) { - j--; - continue; - } - tmp = i + 1; /* value of i after swap */ - if (i == mid) /* j <-> mid, new mid is j */ - mid = jj = j; - else /* i <-> j */ - jj = j--; - goto swap; - } - - if (i == mid) - break; - else { /* i <-> mid, new mid is i */ - jj = mid; - tmp = mid = i; /* value of i after swap */ - j--; - } -swap: - c = *i; - *i = *jj; - *jj = c; - i = tmp; - } - - i = (j = mid) + 1; - if ((lo = j - base) <= (hi = max - i)) { - if (lo >= THRESH) - siqst(base, j); - base = i; - lo = hi; - } - else { - if (hi >= THRESH) - siqst(i, max); - max = j; - } - } while (lo >= THRESH); -} - - - - - -/************************************************************************* -* Entry point of int increasing sort -**************************************************************************/ -void iintsort(int n, int *base) -{ - register int *i; - register int *j; - register int *lo; - register int *hi; - register int *min; - register int c; - int *max; - - if (n <= 1) - return; - - max = base + n; - - if (n >= THRESH) { - iiqst(base, max); - hi = base + THRESH; - } - else - hi = max; - - for (j = lo = base; lo++ < hi;) { - if (*j > *lo) - j = lo; - } - if (j != base) { /* swap j into place */ - c = *base; - *base = *j; - *j = c; - } - - for (min = base; (hi = min += 1) < max;) { - while (*(--hi) > *min); - if ((hi += 1) != min) { - for (lo = min + 1; --lo >= min;) { - c = *lo; - for (i = j = lo; (j -= 1) >= hi; i = j) - *i = *j; - *i = c; - } - } - } -} - - -static void iiqst(int *base, int *max) -{ - register int *i; - register int *j; - register int *jj; - register int *mid; - register int ii; - register int c; - int *tmp; - int lo; - int hi; - - lo = max - base; /* number of elements as ints */ - do { - mid = base + ((unsigned) lo>>1); - if (lo >= MTHRESH) { - j = (*base > *mid ? base : mid); - tmp = max - 1; - if (*j > *tmp) { - j = (j == base ? mid : base); /* switch to first loser */ - if (*j < *tmp) - j = tmp; - } - - if (j != mid) { /* SWAP */ - c = *mid; - *mid = *j; - *j = c; - } - } - - /* Semi-standard quicksort partitioning/swapping */ - for (i = base, j = max - 1;;) { - while (i < mid && *i <= *mid) - i++; - while (j > mid) { - if (*mid <= *j) { - j--; - continue; - } - tmp = i + 1; /* value of i after swap */ - if (i == mid) /* j <-> mid, new mid is j */ - mid = jj = j; - else /* i <-> j */ - jj = j--; - goto swap; - } - - if (i == mid) - break; - else { /* i <-> mid, new mid is i */ - jj = mid; - tmp = mid = i; /* value of i after swap */ - j--; - } -swap: - c = *i; - *i = *jj; - *jj = c; - i = tmp; - } - - i = (j = mid) + 1; - if ((lo = j - base) <= (hi = max - i)) { - if (lo >= THRESH) - iiqst(base, j); - base = i; - lo = hi; - } - else { - if (hi >= THRESH) - iiqst(i, max); - max = j; - } - } while (lo >= THRESH); -} - - - - - -/************************************************************************* -* Entry point of KeyVal increasing sort, ONLY key part -**************************************************************************/ -void ikeysort(int n, KeyValueType *base) -{ - register KeyValueType *i; - register KeyValueType *j; - register KeyValueType *lo; - register KeyValueType *hi; - register KeyValueType *min; - register KeyValueType c; - KeyValueType *max; - - if (n <= 1) - return; - - max = base + n; - - if (n >= THRESH) { - keyiqst(base, max); - hi = base + THRESH; - } - else - hi = max; - - for (j = lo = base; lo++ < hi;) { - if (j->key > lo->key) - j = lo; - } - if (j != base) { /* swap j into place */ - c = *base; - *base = *j; - *j = c; - } - - for (min = base; (hi = min += 1) < max;) { - while ((--hi)->key > min->key); - if ((hi += 1) != min) { - for (lo = min + 1; --lo >= min;) { - c = *lo; - for (i = j = lo; (j -= 1) >= hi; i = j) - *i = *j; - *i = c; - } - } - } - - /* Sanity check */ - { - int i; - for (i=0; i base[i+1].key) - printf("Something went wrong!\n"); - } -} - - -static void keyiqst(KeyValueType *base, KeyValueType *max) -{ - register KeyValueType *i; - register KeyValueType *j; - register KeyValueType *jj; - register KeyValueType *mid; - register KeyValueType c; - KeyValueType *tmp; - int lo; - int hi; - - lo = (max - base)>>1; /* number of elements as KeyValueType */ - do { - mid = base + ((unsigned) lo>>1); - if (lo >= MTHRESH) { - j = (base->key > mid->key ? base : mid); - tmp = max - 1; - if (j->key > tmp->key) { - j = (j == base ? mid : base); /* switch to first loser */ - if (j->key < tmp->key) - j = tmp; - } - - if (j != mid) { /* SWAP */ - c = *mid; - *mid = *j; - *j = c; - } - } - - /* Semi-standard quicksort partitioning/swapping */ - for (i = base, j = max - 1;;) { - while (i < mid && i->key <= mid->key) - i++; - while (j > mid) { - if (mid->key <= j->key) { - j--; - continue; - } - tmp = i + 1; /* value of i after swap */ - if (i == mid) /* j <-> mid, new mid is j */ - mid = jj = j; - else /* i <-> j */ - jj = j--; - goto swap; - } - - if (i == mid) - break; - else { /* i <-> mid, new mid is i */ - jj = mid; - tmp = mid = i; /* value of i after swap */ - j--; - } -swap: - c = *i; - *i = *jj; - *jj = c; - i = tmp; - } - - i = (j = mid) + 1; - if ((lo = (j - base)>>1) <= (hi = (max - i)>>1)) { - if (lo >= THRESH) - keyiqst(base, j); - base = i; - lo = hi; - } - else { - if (hi >= THRESH) - keyiqst(i, max); - max = j; - } - } while (lo >= THRESH); -} - - - - -/************************************************************************* -* Entry point of KeyVal increasing sort, BOTH key and val part -**************************************************************************/ -void ikeyvalsort(int n, KeyValueType *base) -{ - register KeyValueType *i; - register KeyValueType *j; - register KeyValueType *lo; - register KeyValueType *hi; - register KeyValueType *min; - register KeyValueType c; - KeyValueType *max; - - if (n <= 1) - return; - - max = base + n; - - if (n >= THRESH) { - keyvaliqst(base, max); - hi = base + THRESH; - } - else - hi = max; - - for (j = lo = base; lo++ < hi;) { - if ((j->key > lo->key) || (j->key == lo->key && j->val > lo->val)) - j = lo; - } - if (j != base) { /* swap j into place */ - c = *base; - *base = *j; - *j = c; - } - - for (min = base; (hi = min += 1) < max;) { - while ((--hi)->key > min->key || (hi->key == min->key && hi->val > min->val)); - if ((hi += 1) != min) { - for (lo = min + 1; --lo >= min;) { - c = *lo; - for (i = j = lo; (j -= 1) >= hi; i = j) - *i = *j; - *i = c; - } - } - } -} - - -static void keyvaliqst(KeyValueType *base, KeyValueType *max) -{ - register KeyValueType *i; - register KeyValueType *j; - register KeyValueType *jj; - register KeyValueType *mid; - register KeyValueType c; - KeyValueType *tmp; - int lo; - int hi; - - lo = (max - base)>>1; /* number of elements as KeyValueType */ - do { - mid = base + ((unsigned) lo>>1); - if (lo >= MTHRESH) { - j = (base->key > mid->key || (base->key == mid->key && base->val > mid->val) ? base : mid); - tmp = max - 1; - if (j->key > tmp->key || (j->key == tmp->key && j->val > tmp->val)) { - j = (j == base ? mid : base); /* switch to first loser */ - if (j->key < tmp->key || (j->key == tmp->key && j->val < tmp->val)) - j = tmp; - } - - if (j != mid) { /* SWAP */ - c = *mid; - *mid = *j; - *j = c; - } - } - - /* Semi-standard quicksort partitioning/swapping */ - for (i = base, j = max - 1;;) { - while (i < mid && (i->key < mid->key || (i->key == mid->key && i->val <= mid->val))) - i++; - while (j > mid) { - if (mid->key < j->key || (mid->key == j->key && mid->val <= j->val)) { - j--; - continue; - } - tmp = i + 1; /* value of i after swap */ - if (i == mid) /* j <-> mid, new mid is j */ - mid = jj = j; - else /* i <-> j */ - jj = j--; - goto swap; - } - - if (i == mid) - break; - else { /* i <-> mid, new mid is i */ - jj = mid; - tmp = mid = i; /* value of i after swap */ - j--; - } -swap: - c = *i; - *i = *jj; - *jj = c; - i = tmp; - } - - i = (j = mid) + 1; - if ((lo = (j - base)>>1) <= (hi = (max - i)>>1)) { - if (lo >= THRESH) - keyvaliqst(base, j); - base = i; - lo = hi; - } - else { - if (hi >= THRESH) - keyvaliqst(i, max); - max = j; - } - } while (lo >= THRESH); -} diff --git a/lib/metis-4.0/Lib/ometis.c b/lib/metis-4.0/Lib/ometis.c deleted file mode 100755 index f2f0e7216..000000000 --- a/lib/metis-4.0/Lib/ometis.c +++ /dev/null @@ -1,764 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * ometis.c - * - * This file contains the top level routines for the multilevel recursive - * bisection algorithm PMETIS. - * - * Started 7/24/97 - * George - * - * $Id: ometis.c,v 1.1 1998/11/27 17:59:27 karypis Exp $ - * - */ - -#include - - -/************************************************************************* -* This function is the entry point for OEMETIS -**************************************************************************/ -void METIS_EdgeND(int *nvtxs, idxtype *xadj, idxtype *adjncy, int *numflag, int *options, - idxtype *perm, idxtype *iperm) -{ - int i, j; - GraphType graph; - CtrlType ctrl; - - if (*numflag == 1) - Change2CNumbering(*nvtxs, xadj, adjncy); - - SetUpGraph(&graph, OP_OEMETIS, *nvtxs, 1, xadj, adjncy, NULL, NULL, 0); - - if (options[0] == 0) { /* Use the default parameters */ - ctrl.CType = OEMETIS_CTYPE; - ctrl.IType = OEMETIS_ITYPE; - ctrl.RType = OEMETIS_RTYPE; - ctrl.dbglvl = OEMETIS_DBGLVL; - } - else { - ctrl.CType = options[OPTION_CTYPE]; - ctrl.IType = options[OPTION_ITYPE]; - ctrl.RType = options[OPTION_RTYPE]; - ctrl.dbglvl = options[OPTION_DBGLVL]; - } - ctrl.oflags = 0; - ctrl.pfactor = -1; - ctrl.nseps = 1; - - ctrl.optype = OP_OEMETIS; - ctrl.CoarsenTo = 20; - ctrl.maxvwgt = 1.5*(idxsum(*nvtxs, graph.vwgt)/ctrl.CoarsenTo); - - InitRandom(-1); - - AllocateWorkSpace(&ctrl, &graph, 2); - - IFSET(ctrl.dbglvl, DBG_TIME, InitTimers(&ctrl)); - IFSET(ctrl.dbglvl, DBG_TIME, starttimer(ctrl.TotalTmr)); - - MlevelNestedDissection(&ctrl, &graph, iperm, ORDER_UNBALANCE_FRACTION, *nvtxs); - - IFSET(ctrl.dbglvl, DBG_TIME, stoptimer(ctrl.TotalTmr)); - IFSET(ctrl.dbglvl, DBG_TIME, PrintTimers(&ctrl)); - - for (i=0; i<*nvtxs; i++) - perm[iperm[i]] = i; - - FreeWorkSpace(&ctrl, &graph); - - if (*numflag == 1) - Change2FNumberingOrder(*nvtxs, xadj, adjncy, perm, iperm); -} - - -/************************************************************************* -* This function is the entry point for ONCMETIS -**************************************************************************/ -void METIS_NodeND(int *nvtxs, idxtype *xadj, idxtype *adjncy, int *numflag, int *options, - idxtype *perm, idxtype *iperm) -{ - int i, ii, j, l, wflag, nflag; - GraphType graph; - CtrlType ctrl; - idxtype *cptr, *cind, *piperm; - - if (*numflag == 1) - Change2CNumbering(*nvtxs, xadj, adjncy); - - if (options[0] == 0) { /* Use the default parameters */ - ctrl.CType = ONMETIS_CTYPE; - ctrl.IType = ONMETIS_ITYPE; - ctrl.RType = ONMETIS_RTYPE; - ctrl.dbglvl = ONMETIS_DBGLVL; - ctrl.oflags = ONMETIS_OFLAGS; - ctrl.pfactor = ONMETIS_PFACTOR; - ctrl.nseps = ONMETIS_NSEPS; - } - else { - ctrl.CType = options[OPTION_CTYPE]; - ctrl.IType = options[OPTION_ITYPE]; - ctrl.RType = options[OPTION_RTYPE]; - ctrl.dbglvl = options[OPTION_DBGLVL]; - ctrl.oflags = options[OPTION_OFLAGS]; - ctrl.pfactor = options[OPTION_PFACTOR]; - ctrl.nseps = options[OPTION_NSEPS]; - } - if (ctrl.nseps < 1) - ctrl.nseps = 1; - - ctrl.optype = OP_ONMETIS; - ctrl.CoarsenTo = 100; - - IFSET(ctrl.dbglvl, DBG_TIME, InitTimers(&ctrl)); - IFSET(ctrl.dbglvl, DBG_TIME, starttimer(ctrl.TotalTmr)); - - InitRandom(-1); - - if (ctrl.pfactor > 0) { - /*============================================================ - * Prune the dense columns - ==============================================================*/ - piperm = idxmalloc(*nvtxs, "ONMETIS: piperm"); - - PruneGraph(&ctrl, &graph, *nvtxs, xadj, adjncy, piperm, (float)(0.1*ctrl.pfactor)); - } - else if (ctrl.oflags&OFLAG_COMPRESS) { - /*============================================================ - * Compress the graph - ==============================================================*/ - cptr = idxmalloc(*nvtxs+1, "ONMETIS: cptr"); - cind = idxmalloc(*nvtxs, "ONMETIS: cind"); - - CompressGraph(&ctrl, &graph, *nvtxs, xadj, adjncy, cptr, cind); - - if (graph.nvtxs >= COMPRESSION_FRACTION*(*nvtxs)) { - ctrl.oflags--; /* We actually performed no compression */ - GKfree(&cptr, &cind, LTERM); - } - else if (2*graph.nvtxs < *nvtxs && ctrl.nseps == 1) - ctrl.nseps = 2; - } - else { - SetUpGraph(&graph, OP_ONMETIS, *nvtxs, 1, xadj, adjncy, NULL, NULL, 0); - } - - - /*============================================================= - * Do the nested dissection ordering - --=============================================================*/ - ctrl.maxvwgt = 1.5*(idxsum(graph.nvtxs, graph.vwgt)/ctrl.CoarsenTo); - AllocateWorkSpace(&ctrl, &graph, 2); - - if (ctrl.oflags&OFLAG_CCMP) - MlevelNestedDissectionCC(&ctrl, &graph, iperm, ORDER_UNBALANCE_FRACTION, graph.nvtxs); - else - MlevelNestedDissection(&ctrl, &graph, iperm, ORDER_UNBALANCE_FRACTION, graph.nvtxs); - - FreeWorkSpace(&ctrl, &graph); - - if (ctrl.pfactor > 0) { /* Order any prunned vertices */ - if (graph.nvtxs < *nvtxs) { - idxcopy(graph.nvtxs, iperm, perm); /* Use perm as an auxiliary array */ - for (i=0; invtxs; - - /* Determine the weights of the partitions */ - tvwgt = idxsum(nvtxs, graph->vwgt); - tpwgts2[0] = tvwgt/2; - tpwgts2[1] = tvwgt-tpwgts2[0]; - - switch (ctrl->optype) { - case OP_OEMETIS: - MlevelEdgeBisection(ctrl, graph, tpwgts2, ubfactor); - - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->SepTmr)); - ConstructMinCoverSeparator(ctrl, graph, ubfactor); - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->SepTmr)); - - break; - case OP_ONMETIS: - MlevelNodeBisectionMultiple(ctrl, graph, tpwgts2, ubfactor); - - IFSET(ctrl->dbglvl, DBG_SEPINFO, printf("Nvtxs: %6d, [%6d %6d %6d]\n", graph->nvtxs, graph->pwgts[0], graph->pwgts[1], graph->pwgts[2])); - - break; - } - - /* Order the nodes in the separator */ - nbnd = graph->nbnd; - bndind = graph->bndind; - label = graph->label; - for (i=0; igdata, &graph->rdata, &graph->label, LTERM); - - if (rgraph.nvtxs > MMDSWITCH) - MlevelNestedDissection(ctrl, &rgraph, order, ubfactor, lastvtx); - else { - MMDOrder(ctrl, &rgraph, order, lastvtx); - GKfree(&rgraph.gdata, &rgraph.rdata, &rgraph.label, LTERM); - } - if (lgraph.nvtxs > MMDSWITCH) - MlevelNestedDissection(ctrl, &lgraph, order, ubfactor, lastvtx-rgraph.nvtxs); - else { - MMDOrder(ctrl, &lgraph, order, lastvtx-rgraph.nvtxs); - GKfree(&lgraph.gdata, &lgraph.rdata, &lgraph.label, LTERM); - } -} - - -/************************************************************************* -* This function takes a graph and produces a bisection of it -**************************************************************************/ -void MlevelNestedDissectionCC(CtrlType *ctrl, GraphType *graph, idxtype *order, float ubfactor, int lastvtx) -{ - int i, j, nvtxs, nbnd, tvwgt, tpwgts2[2], nsgraphs, ncmps, rnvtxs; - idxtype *label, *bndind; - idxtype *cptr, *cind; - GraphType *sgraphs; - - nvtxs = graph->nvtxs; - - /* Determine the weights of the partitions */ - tvwgt = idxsum(nvtxs, graph->vwgt); - tpwgts2[0] = tvwgt/2; - tpwgts2[1] = tvwgt-tpwgts2[0]; - - MlevelNodeBisectionMultiple(ctrl, graph, tpwgts2, ubfactor); - IFSET(ctrl->dbglvl, DBG_SEPINFO, printf("Nvtxs: %6d, [%6d %6d %6d]\n", graph->nvtxs, graph->pwgts[0], graph->pwgts[1], graph->pwgts[2])); - - /* Order the nodes in the separator */ - nbnd = graph->nbnd; - bndind = graph->bndind; - label = graph->label; - for (i=0; i 2) - printf("[%5d] has %3d components\n", nvtxs, ncmps); -*/ - - sgraphs = (GraphType *)GKmalloc(ncmps*sizeof(GraphType), "MlevelNestedDissectionCC: sgraphs"); - - nsgraphs = SplitGraphOrderCC(ctrl, graph, sgraphs, ncmps, cptr, cind); - - GKfree(&cptr, &cind, LTERM); - - /* Free the memory of the top level graph */ - GKfree(&graph->gdata, &graph->rdata, &graph->label, LTERM); - - /* Go and process the subgraphs */ - for (rnvtxs=i=0; inseps == 1 || graph->nvtxs < (ctrl->oflags&OFLAG_COMPRESS ? 1000 : 2000)) { - MlevelNodeBisection(ctrl, graph, tpwgts, ubfactor); - return; - } - - nvtxs = graph->nvtxs; - - if (ctrl->oflags&OFLAG_COMPRESS) { /* Multiple separators at the original graph */ - bestwhere = idxmalloc(nvtxs, "MlevelNodeBisection2: bestwhere"); - mincut = nvtxs; - - for (i=ctrl->nseps; i>0; i--) { - MlevelNodeBisection(ctrl, graph, tpwgts, ubfactor); - - /* printf("%5d ", cgraph->mincut); */ - - if (graph->mincut < mincut) { - mincut = graph->mincut; - idxcopy(nvtxs, graph->where, bestwhere); - } - - GKfree(&graph->rdata, LTERM); - - if (mincut == 0) - break; - } - /* printf("[%5d]\n", mincut); */ - - Allocate2WayNodePartitionMemory(ctrl, graph); - idxcopy(nvtxs, bestwhere, graph->where); - free(bestwhere); - - Compute2WayNodePartitionParams(ctrl, graph); - } - else { /* Coarsen it a bit */ - ctrl->CoarsenTo = nvtxs-1; - - cgraph = Coarsen2Way(ctrl, graph); - - cnvtxs = cgraph->nvtxs; - - bestwhere = idxmalloc(cnvtxs, "MlevelNodeBisection2: bestwhere"); - mincut = nvtxs; - - for (i=ctrl->nseps; i>0; i--) { - ctrl->CType += 20; /* This is a hack. Look at coarsen.c */ - MlevelNodeBisection(ctrl, cgraph, tpwgts, ubfactor); - - /* printf("%5d ", cgraph->mincut); */ - - if (cgraph->mincut < mincut) { - mincut = cgraph->mincut; - idxcopy(cnvtxs, cgraph->where, bestwhere); - } - - GKfree(&cgraph->rdata, LTERM); - - if (mincut == 0) - break; - } - /* printf("[%5d]\n", mincut); */ - - Allocate2WayNodePartitionMemory(ctrl, cgraph); - idxcopy(cnvtxs, bestwhere, cgraph->where); - free(bestwhere); - - Compute2WayNodePartitionParams(ctrl, cgraph); - - Refine2WayNode(ctrl, graph, cgraph, ubfactor); - } - -} - -/************************************************************************* -* This function performs multilevel bisection -**************************************************************************/ -void MlevelNodeBisection(CtrlType *ctrl, GraphType *graph, int *tpwgts, float ubfactor) -{ - GraphType *cgraph; - - ctrl->CoarsenTo = graph->nvtxs/8; - if (ctrl->CoarsenTo > 100) - ctrl->CoarsenTo = 100; - else if (ctrl->CoarsenTo < 40) - ctrl->CoarsenTo = 40; - ctrl->maxvwgt = 1.5*((tpwgts[0]+tpwgts[1])/ctrl->CoarsenTo); - - cgraph = Coarsen2Way(ctrl, graph); - - switch (ctrl->IType) { - case IPART_GGPKL: - Init2WayPartition(ctrl, cgraph, tpwgts, ubfactor); - - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->SepTmr)); - - Compute2WayPartitionParams(ctrl, cgraph); - ConstructSeparator(ctrl, cgraph, ubfactor); - - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->SepTmr)); - break; - case IPART_GGPKLNODE: - InitSeparator(ctrl, cgraph, ubfactor); - break; - } - - Refine2WayNode(ctrl, graph, cgraph, ubfactor); - -} - - - - -/************************************************************************* -* This function takes a graph and a bisection and splits it into two graphs. -* This function relies on the fact that adjwgt is all equal to 1. -**************************************************************************/ -void SplitGraphOrder(CtrlType *ctrl, GraphType *graph, GraphType *lgraph, GraphType *rgraph) -{ - int i, ii, j, k, l, istart, iend, mypart, nvtxs, snvtxs[3], snedges[3]; - idxtype *xadj, *vwgt, *adjncy, *adjwgt, *adjwgtsum, *label, *where, *bndptr, *bndind; - idxtype *sxadj[2], *svwgt[2], *sadjncy[2], *sadjwgt[2], *sadjwgtsum[2], *slabel[2]; - idxtype *rename; - idxtype *auxadjncy, *auxadjwgt; - - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->SplitTmr)); - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - vwgt = graph->vwgt; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - adjwgtsum = graph->adjwgtsum; - label = graph->label; - where = graph->where; - bndptr = graph->bndptr; - bndind = graph->bndind; - ASSERT(bndptr != NULL); - - rename = idxwspacemalloc(ctrl, nvtxs); - - snvtxs[0] = snvtxs[1] = snvtxs[2] = snedges[0] = snedges[1] = snedges[2] = 0; - for (i=0; ixadj; - svwgt[0] = lgraph->vwgt; - sadjwgtsum[0] = lgraph->adjwgtsum; - sadjncy[0] = lgraph->adjncy; - sadjwgt[0] = lgraph->adjwgt; - slabel[0] = lgraph->label; - - SetUpSplitGraph(graph, rgraph, snvtxs[1], snedges[1]); - sxadj[1] = rgraph->xadj; - svwgt[1] = rgraph->vwgt; - sadjwgtsum[1] = rgraph->adjwgtsum; - sadjncy[1] = rgraph->adjncy; - sadjwgt[1] = rgraph->adjwgt; - slabel[1] = rgraph->label; - - /* Go and use bndptr to also mark the boundary nodes in the two partitions */ - for (ii=0; iinbnd; ii++) { - i = bndind[ii]; - for (j=xadj[i]; jnvtxs = snvtxs[0]; - lgraph->nedges = snedges[0]; - rgraph->nvtxs = snvtxs[1]; - rgraph->nedges = snedges[1]; - - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->SplitTmr)); - - idxwspacefree(ctrl, nvtxs); - -} - -/************************************************************************* -* This function uses MMD to order the graph. The vertices are numbered -* from lastvtx downwards -**************************************************************************/ -void MMDOrder(CtrlType *ctrl, GraphType *graph, idxtype *order, int lastvtx) -{ - int i, j, k, nvtxs, nofsub, firstvtx; - idxtype *xadj, *adjncy, *label; - idxtype *perm, *iperm, *head, *qsize, *list, *marker; - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - adjncy = graph->adjncy; - - /* Relabel the vertices so that it starts from 1 */ - k = xadj[nvtxs]; - for (i=0; ilabel; - firstvtx = lastvtx-nvtxs; - for (i=0; idbglvl, DBG_TIME, starttimer(ctrl->SplitTmr)); - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - vwgt = graph->vwgt; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - adjwgtsum = graph->adjwgtsum; - label = graph->label; - where = graph->where; - bndptr = graph->bndptr; - bndind = graph->bndind; - ASSERT(bndptr != NULL); - - /* Go and use bndptr to also mark the boundary nodes in the two partitions */ - for (ii=0; iinbnd; ii++) { - i = bndind[ii]; - for (j=xadj[i]; jdbglvl, DBG_TIME, stoptimer(ctrl->SplitTmr)); - - idxwspacefree(ctrl, nvtxs); - - return ncmps; - -} - - - - - diff --git a/lib/metis-4.0/Lib/parmetis.c b/lib/metis-4.0/Lib/parmetis.c deleted file mode 100755 index c6a6ba8d1..000000000 --- a/lib/metis-4.0/Lib/parmetis.c +++ /dev/null @@ -1,371 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * parmetis.c - * - * This file contains top level routines that are used by ParMETIS - * - * Started 10/14/97 - * George - * - * $Id: parmetis.c,v 1.1 1998/11/27 17:59:27 karypis Exp $ - * - */ - -#include - - -/************************************************************************* -* This function is the entry point for KMETIS with seed specification -* in options[7] -**************************************************************************/ -void METIS_PartGraphKway2(int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, - idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, - int *options, int *edgecut, idxtype *part) -{ - int i; - float *tpwgts; - - tpwgts = fmalloc(*nparts, "KMETIS: tpwgts"); - for (i=0; i<*nparts; i++) - tpwgts[i] = 1.0/(1.0*(*nparts)); - - METIS_WPartGraphKway2(nvtxs, xadj, adjncy, vwgt, adjwgt, wgtflag, numflag, nparts, - tpwgts, options, edgecut, part); - - free(tpwgts); -} - - -/************************************************************************* -* This function is the entry point for KWMETIS with seed specification -* in options[7] -**************************************************************************/ -void METIS_WPartGraphKway2(int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, - idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, - float *tpwgts, int *options, int *edgecut, idxtype *part) -{ - int i, j; - GraphType graph; - CtrlType ctrl; - - if (*numflag == 1) - Change2CNumbering(*nvtxs, xadj, adjncy); - - SetUpGraph(&graph, OP_KMETIS, *nvtxs, 1, xadj, adjncy, vwgt, adjwgt, *wgtflag); - - if (options[0] == 0) { /* Use the default parameters */ - ctrl.CType = KMETIS_CTYPE; - ctrl.IType = KMETIS_ITYPE; - ctrl.RType = KMETIS_RTYPE; - ctrl.dbglvl = KMETIS_DBGLVL; - } - else { - ctrl.CType = options[OPTION_CTYPE]; - ctrl.IType = options[OPTION_ITYPE]; - ctrl.RType = options[OPTION_RTYPE]; - ctrl.dbglvl = options[OPTION_DBGLVL]; - } - ctrl.optype = OP_KMETIS; - ctrl.CoarsenTo = 20*(*nparts); - ctrl.maxvwgt = 1.5*((graph.vwgt ? idxsum(*nvtxs, graph.vwgt) : (*nvtxs))/ctrl.CoarsenTo); - - InitRandom(options[7]); - - AllocateWorkSpace(&ctrl, &graph, *nparts); - - IFSET(ctrl.dbglvl, DBG_TIME, InitTimers(&ctrl)); - IFSET(ctrl.dbglvl, DBG_TIME, starttimer(ctrl.TotalTmr)); - - *edgecut = MlevelKWayPartitioning(&ctrl, &graph, *nparts, part, tpwgts, 1.03); - - IFSET(ctrl.dbglvl, DBG_TIME, stoptimer(ctrl.TotalTmr)); - IFSET(ctrl.dbglvl, DBG_TIME, PrintTimers(&ctrl)); - - FreeWorkSpace(&ctrl, &graph); - - if (*numflag == 1) - Change2FNumbering(*nvtxs, xadj, adjncy, part); -} - - -/************************************************************************* -* This function is the entry point for the node ND code for ParMETIS -**************************************************************************/ -void METIS_NodeNDP(int nvtxs, idxtype *xadj, idxtype *adjncy, int npes, - int *options, idxtype *perm, idxtype *iperm, idxtype *sizes) -{ - int i, ii, j, l, wflag, nflag; - GraphType graph; - CtrlType ctrl; - idxtype *cptr, *cind; - - if (options[0] == 0) { /* Use the default parameters */ - ctrl.CType = ONMETIS_CTYPE; - ctrl.IType = ONMETIS_ITYPE; - ctrl.RType = ONMETIS_RTYPE; - ctrl.dbglvl = ONMETIS_DBGLVL; - ctrl.oflags = ONMETIS_OFLAGS; - ctrl.pfactor = ONMETIS_PFACTOR; - ctrl.nseps = ONMETIS_NSEPS; - } - else { - ctrl.CType = options[OPTION_CTYPE]; - ctrl.IType = options[OPTION_ITYPE]; - ctrl.RType = options[OPTION_RTYPE]; - ctrl.dbglvl = options[OPTION_DBGLVL]; - ctrl.oflags = options[OPTION_OFLAGS]; - ctrl.pfactor = options[OPTION_PFACTOR]; - ctrl.nseps = options[OPTION_NSEPS]; - } - if (ctrl.nseps < 1) - ctrl.nseps = 1; - - ctrl.optype = OP_ONMETIS; - ctrl.CoarsenTo = 100; - - IFSET(ctrl.dbglvl, DBG_TIME, InitTimers(&ctrl)); - IFSET(ctrl.dbglvl, DBG_TIME, starttimer(ctrl.TotalTmr)); - - InitRandom(-1); - - if (ctrl.oflags&OFLAG_COMPRESS) { - /*============================================================ - * Compress the graph - ==============================================================*/ - cptr = idxmalloc(nvtxs+1, "ONMETIS: cptr"); - cind = idxmalloc(nvtxs, "ONMETIS: cind"); - - CompressGraph(&ctrl, &graph, nvtxs, xadj, adjncy, cptr, cind); - - if (graph.nvtxs >= COMPRESSION_FRACTION*(nvtxs)) { - ctrl.oflags--; /* We actually performed no compression */ - GKfree(&cptr, &cind, LTERM); - } - else if (2*graph.nvtxs < nvtxs && ctrl.nseps == 1) - ctrl.nseps = 2; - } - else { - SetUpGraph(&graph, OP_ONMETIS, nvtxs, 1, xadj, adjncy, NULL, NULL, 0); - } - - - /*============================================================= - * Do the nested dissection ordering - --=============================================================*/ - ctrl.maxvwgt = 1.5*(idxsum(graph.nvtxs, graph.vwgt)/ctrl.CoarsenTo); - AllocateWorkSpace(&ctrl, &graph, 2); - - idxset(2*npes-1, 0, sizes); - MlevelNestedDissectionP(&ctrl, &graph, iperm, graph.nvtxs, npes, 0, sizes); - - FreeWorkSpace(&ctrl, &graph); - - if (ctrl.oflags&OFLAG_COMPRESS) { /* Uncompress the ordering */ - if (graph.nvtxs < COMPRESSION_FRACTION*(nvtxs)) { - /* construct perm from iperm */ - for (i=0; invtxs; - - if (nvtxs == 0) { - GKfree(&graph->gdata, &graph->rdata, &graph->label, LTERM); - return; - } - - /* Determine the weights of the partitions */ - tvwgt = idxsum(nvtxs, graph->vwgt); - tpwgts2[0] = tvwgt/2; - tpwgts2[1] = tvwgt-tpwgts2[0]; - - if (cpos >= npes-1) - ubfactor = ORDER_UNBALANCE_FRACTION; - else - ubfactor = 1.05; - - - MlevelNodeBisectionMultiple(ctrl, graph, tpwgts2, ubfactor); - - IFSET(ctrl->dbglvl, DBG_SEPINFO, printf("Nvtxs: %6d, [%6d %6d %6d]\n", graph->nvtxs, graph->pwgts[0], graph->pwgts[1], graph->pwgts[2])); - - if (cpos < npes-1) { - sizes[2*npes-2-cpos] = graph->pwgts[2]; - sizes[2*npes-2-(2*cpos+1)] = graph->pwgts[1]; - sizes[2*npes-2-(2*cpos+2)] = graph->pwgts[0]; - } - - /* Order the nodes in the separator */ - nbnd = graph->nbnd; - bndind = graph->bndind; - label = graph->label; - for (i=0; igdata, &graph->rdata, &graph->label, LTERM); - - if (rgraph.nvtxs > MMDSWITCH || 2*cpos+1 < npes-1) - MlevelNestedDissectionP(ctrl, &rgraph, order, lastvtx, npes, 2*cpos+1, sizes); - else { - MMDOrder(ctrl, &rgraph, order, lastvtx); - GKfree(&rgraph.gdata, &rgraph.rdata, &rgraph.label, LTERM); - } - if (lgraph.nvtxs > MMDSWITCH || 2*cpos+2 < npes-1) - MlevelNestedDissectionP(ctrl, &lgraph, order, lastvtx-rgraph.nvtxs, npes, 2*cpos+2, sizes); - else { - MMDOrder(ctrl, &lgraph, order, lastvtx-rgraph.nvtxs); - GKfree(&lgraph.gdata, &lgraph.rdata, &lgraph.label, LTERM); - } -} - - - - -/************************************************************************* -* This function is the entry point for ONWMETIS. It requires weights on the -* vertices. It is for the case that the matrix has been pre-compressed. -**************************************************************************/ -void METIS_NodeComputeSeparator(int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, - idxtype *adjwgt, int *options, int *sepsize, idxtype *part) -{ - int i, j, tvwgt, tpwgts[2]; - GraphType graph; - CtrlType ctrl; - - SetUpGraph(&graph, OP_ONMETIS, *nvtxs, 1, xadj, adjncy, vwgt, adjwgt, 3); - tvwgt = idxsum(*nvtxs, graph.vwgt); - - if (options[0] == 0) { /* Use the default parameters */ - ctrl.CType = ONMETIS_CTYPE; - ctrl.IType = ONMETIS_ITYPE; - ctrl.RType = ONMETIS_RTYPE; - ctrl.dbglvl = ONMETIS_DBGLVL; - } - else { - ctrl.CType = options[OPTION_CTYPE]; - ctrl.IType = options[OPTION_ITYPE]; - ctrl.RType = options[OPTION_RTYPE]; - ctrl.dbglvl = options[OPTION_DBGLVL]; - } - - ctrl.oflags = 0; - ctrl.pfactor = 0; - ctrl.nseps = 1; - ctrl.optype = OP_ONMETIS; - ctrl.CoarsenTo = amin(100, *nvtxs-1); - ctrl.maxvwgt = 1.5*tvwgt/ctrl.CoarsenTo; - - InitRandom(options[7]); - - AllocateWorkSpace(&ctrl, &graph, 2); - - /*============================================================ - * Perform the bisection - *============================================================*/ - tpwgts[0] = tvwgt/2; - tpwgts[1] = tvwgt-tpwgts[0]; - - MlevelNodeBisectionMultiple(&ctrl, &graph, tpwgts, 1.05); - - *sepsize = graph.pwgts[2]; - idxcopy(*nvtxs, graph.where, part); - - GKfree(&graph.gdata, &graph.rdata, &graph.label, LTERM); - - - FreeWorkSpace(&ctrl, &graph); - -} - - - -/************************************************************************* -* This function is the entry point for ONWMETIS. It requires weights on the -* vertices. It is for the case that the matrix has been pre-compressed. -**************************************************************************/ -void METIS_EdgeComputeSeparator(int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, - idxtype *adjwgt, int *options, int *sepsize, idxtype *part) -{ - int i, j, tvwgt, tpwgts[2]; - GraphType graph; - CtrlType ctrl; - - SetUpGraph(&graph, OP_ONMETIS, *nvtxs, 1, xadj, adjncy, vwgt, adjwgt, 3); - tvwgt = idxsum(*nvtxs, graph.vwgt); - - if (options[0] == 0) { /* Use the default parameters */ - ctrl.CType = ONMETIS_CTYPE; - ctrl.IType = ONMETIS_ITYPE; - ctrl.RType = ONMETIS_RTYPE; - ctrl.dbglvl = ONMETIS_DBGLVL; - } - else { - ctrl.CType = options[OPTION_CTYPE]; - ctrl.IType = options[OPTION_ITYPE]; - ctrl.RType = options[OPTION_RTYPE]; - ctrl.dbglvl = options[OPTION_DBGLVL]; - } - - ctrl.oflags = 0; - ctrl.pfactor = 0; - ctrl.nseps = 1; - ctrl.optype = OP_OEMETIS; - ctrl.CoarsenTo = amin(100, *nvtxs-1); - ctrl.maxvwgt = 1.5*tvwgt/ctrl.CoarsenTo; - - InitRandom(options[7]); - - AllocateWorkSpace(&ctrl, &graph, 2); - - /*============================================================ - * Perform the bisection - *============================================================*/ - tpwgts[0] = tvwgt/2; - tpwgts[1] = tvwgt-tpwgts[0]; - - MlevelEdgeBisection(&ctrl, &graph, tpwgts, 1.05); - ConstructMinCoverSeparator(&ctrl, &graph, 1.05); - - *sepsize = graph.pwgts[2]; - idxcopy(*nvtxs, graph.where, part); - - GKfree(&graph.gdata, &graph.rdata, &graph.label, LTERM); - - - FreeWorkSpace(&ctrl, &graph); - -} diff --git a/lib/metis-4.0/Lib/pmetis.c b/lib/metis-4.0/Lib/pmetis.c deleted file mode 100755 index 29acc01e5..000000000 --- a/lib/metis-4.0/Lib/pmetis.c +++ /dev/null @@ -1,341 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * pmetis.c - * - * This file contains the top level routines for the multilevel recursive - * bisection algorithm PMETIS. - * - * Started 7/24/97 - * George - * - * $Id: pmetis.c,v 1.1 1998/11/27 17:59:28 karypis Exp $ - * - */ - -#include - - -/************************************************************************* -* This function is the entry point for PMETIS -**************************************************************************/ -void METIS_PartGraphRecursive(int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, - idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, - int *options, int *edgecut, idxtype *part) -{ - int i; - float *tpwgts; - - tpwgts = fmalloc(*nparts, "KMETIS: tpwgts"); - for (i=0; i<*nparts; i++) - tpwgts[i] = 1.0/(1.0*(*nparts)); - - METIS_WPartGraphRecursive(nvtxs, xadj, adjncy, vwgt, adjwgt, wgtflag, numflag, nparts, - tpwgts, options, edgecut, part); - - free(tpwgts); -} - - - -/************************************************************************* -* This function is the entry point for PWMETIS that accepts exact weights -* for the target partitions -**************************************************************************/ -void METIS_WPartGraphRecursive(int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, - idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, - float *tpwgts, int *options, int *edgecut, idxtype *part) -{ - int i, j; - GraphType graph; - CtrlType ctrl; - float *mytpwgts; - - if (*numflag == 1) - Change2CNumbering(*nvtxs, xadj, adjncy); - - SetUpGraph(&graph, OP_PMETIS, *nvtxs, 1, xadj, adjncy, vwgt, adjwgt, *wgtflag); - - if (options[0] == 0) { /* Use the default parameters */ - ctrl.CType = PMETIS_CTYPE; - ctrl.IType = PMETIS_ITYPE; - ctrl.RType = PMETIS_RTYPE; - ctrl.dbglvl = PMETIS_DBGLVL; - } - else { - ctrl.CType = options[OPTION_CTYPE]; - ctrl.IType = options[OPTION_ITYPE]; - ctrl.RType = options[OPTION_RTYPE]; - ctrl.dbglvl = options[OPTION_DBGLVL]; - } - ctrl.optype = OP_PMETIS; - ctrl.CoarsenTo = 20; - ctrl.maxvwgt = 1.5*(idxsum(*nvtxs, graph.vwgt)/ctrl.CoarsenTo); - - mytpwgts = fmalloc(*nparts, "PWMETIS: mytpwgts"); - for (i=0; i<*nparts; i++) - mytpwgts[i] = tpwgts[i]; - - InitRandom(-1); - - AllocateWorkSpace(&ctrl, &graph, *nparts); - - IFSET(ctrl.dbglvl, DBG_TIME, InitTimers(&ctrl)); - IFSET(ctrl.dbglvl, DBG_TIME, starttimer(ctrl.TotalTmr)); - - *edgecut = MlevelRecursiveBisection(&ctrl, &graph, *nparts, part, mytpwgts, 1.000, 0); - - IFSET(ctrl.dbglvl, DBG_TIME, stoptimer(ctrl.TotalTmr)); - IFSET(ctrl.dbglvl, DBG_TIME, PrintTimers(&ctrl)); - - FreeWorkSpace(&ctrl, &graph); - free(mytpwgts); - - if (*numflag == 1) - Change2FNumbering(*nvtxs, xadj, adjncy, part); -} - - - -/************************************************************************* -* This function takes a graph and produces a bisection of it -**************************************************************************/ -int MlevelRecursiveBisection(CtrlType *ctrl, GraphType *graph, int nparts, idxtype *part, float *tpwgts, float ubfactor, int fpart) -{ - int i, j, nvtxs, cut, tvwgt, tpwgts2[2]; - idxtype *label, *where; - GraphType lgraph, rgraph; - float wsum; - - nvtxs = graph->nvtxs; - if (nvtxs == 0) { - printf("\t***Cannot bisect a graph with 0 vertices!\n\t***You are trying to partition a graph into too many parts!\n"); - return 0; - } - - /* Determine the weights of the partitions */ - tvwgt = idxsum(nvtxs, graph->vwgt); - tpwgts2[0] = tvwgt*ssum(nparts/2, tpwgts); - tpwgts2[1] = tvwgt-tpwgts2[0]; - - MlevelEdgeBisection(ctrl, graph, tpwgts2, ubfactor); - cut = graph->mincut; - - /* printf("%5d %5d %5d [%5d %f]\n", tpwgts2[0], tpwgts2[1], cut, tvwgt, ssum(nparts/2, tpwgts));*/ - - label = graph->label; - where = graph->where; - for (i=0; i 2) { - SplitGraphPart(ctrl, graph, &lgraph, &rgraph); - /* printf("%d %d\n", lgraph.nvtxs, rgraph.nvtxs); */ - } - - - /* Free the memory of the top level graph */ - GKfree(&graph->gdata, &graph->rdata, &graph->label, LTERM); - - /* Scale the fractions in the tpwgts according to the true weight */ - wsum = ssum(nparts/2, tpwgts); - sscale(nparts/2, 1.0/wsum, tpwgts); - sscale(nparts-nparts/2, 1.0/(1.0-wsum), tpwgts+nparts/2); - /* - for (i=0; i 3) { - cut += MlevelRecursiveBisection(ctrl, &lgraph, nparts/2, part, tpwgts, ubfactor, fpart); - cut += MlevelRecursiveBisection(ctrl, &rgraph, nparts-nparts/2, part, tpwgts+nparts/2, ubfactor, fpart+nparts/2); - } - else if (nparts == 3) { - cut += MlevelRecursiveBisection(ctrl, &rgraph, nparts-nparts/2, part, tpwgts+nparts/2, ubfactor, fpart+nparts/2); - GKfree(&lgraph.gdata, &lgraph.label, LTERM); - } - - return cut; - -} - - -/************************************************************************* -* This function performs multilevel bisection -**************************************************************************/ -void MlevelEdgeBisection(CtrlType *ctrl, GraphType *graph, int *tpwgts, float ubfactor) -{ - GraphType *cgraph; - - cgraph = Coarsen2Way(ctrl, graph); - - Init2WayPartition(ctrl, cgraph, tpwgts, ubfactor); - - Refine2Way(ctrl, graph, cgraph, tpwgts, ubfactor); - -/* - IsConnectedSubdomain(ctrl, graph, 0); - IsConnectedSubdomain(ctrl, graph, 1); -*/ -} - - - - -/************************************************************************* -* This function takes a graph and a bisection and splits it into two graphs. -**************************************************************************/ -void SplitGraphPart(CtrlType *ctrl, GraphType *graph, GraphType *lgraph, GraphType *rgraph) -{ - int i, j, k, kk, l, istart, iend, mypart, nvtxs, ncon, snvtxs[2], snedges[2], sum; - idxtype *xadj, *vwgt, *adjncy, *adjwgt, *adjwgtsum, *label, *where, *bndptr; - idxtype *sxadj[2], *svwgt[2], *sadjncy[2], *sadjwgt[2], *sadjwgtsum[2], *slabel[2]; - idxtype *rename; - idxtype *auxadjncy, *auxadjwgt; - float *nvwgt, *snvwgt[2], *npwgts; - - - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->SplitTmr)); - - nvtxs = graph->nvtxs; - ncon = graph->ncon; - xadj = graph->xadj; - vwgt = graph->vwgt; - nvwgt = graph->nvwgt; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - adjwgtsum = graph->adjwgtsum; - label = graph->label; - where = graph->where; - bndptr = graph->bndptr; - npwgts = graph->npwgts; - - ASSERT(bndptr != NULL); - - rename = idxwspacemalloc(ctrl, nvtxs); - - snvtxs[0] = snvtxs[1] = snedges[0] = snedges[1] = 0; - for (i=0; ixadj; - svwgt[0] = lgraph->vwgt; - snvwgt[0] = lgraph->nvwgt; - sadjwgtsum[0] = lgraph->adjwgtsum; - sadjncy[0] = lgraph->adjncy; - sadjwgt[0] = lgraph->adjwgt; - slabel[0] = lgraph->label; - - SetUpSplitGraph(graph, rgraph, snvtxs[1], snedges[1]); - sxadj[1] = rgraph->xadj; - svwgt[1] = rgraph->vwgt; - snvwgt[1] = rgraph->nvwgt; - sadjwgtsum[1] = rgraph->adjwgtsum; - sadjncy[1] = rgraph->adjncy; - sadjwgt[1] = rgraph->adjwgt; - slabel[1] = rgraph->label; - - snvtxs[0] = snvtxs[1] = snedges[0] = snedges[1] = 0; - sxadj[0][0] = sxadj[1][0] = 0; - for (i=0; inedges = snedges[0]; - rgraph->nedges = snedges[1]; - - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->SplitTmr)); - - idxwspacefree(ctrl, nvtxs); -} - - -/************************************************************************* -* Setup the various arrays for the splitted graph -**************************************************************************/ -void SetUpSplitGraph(GraphType *graph, GraphType *sgraph, int snvtxs, int snedges) -{ - InitGraph(sgraph); - sgraph->nvtxs = snvtxs; - sgraph->nedges = snedges; - sgraph->ncon = graph->ncon; - - /* Allocate memory for the splitted graph */ - if (graph->ncon == 1) { - sgraph->gdata = idxmalloc(4*snvtxs+1 + 2*snedges, "SetUpSplitGraph: gdata"); - - sgraph->xadj = sgraph->gdata; - sgraph->vwgt = sgraph->gdata + snvtxs+1; - sgraph->adjwgtsum = sgraph->gdata + 2*snvtxs+1; - sgraph->cmap = sgraph->gdata + 3*snvtxs+1; - sgraph->adjncy = sgraph->gdata + 4*snvtxs+1; - sgraph->adjwgt = sgraph->gdata + 4*snvtxs+1 + snedges; - } - else { - sgraph->gdata = idxmalloc(3*snvtxs+1 + 2*snedges, "SetUpSplitGraph: gdata"); - - sgraph->xadj = sgraph->gdata; - sgraph->adjwgtsum = sgraph->gdata + snvtxs+1; - sgraph->cmap = sgraph->gdata + 2*snvtxs+1; - sgraph->adjncy = sgraph->gdata + 3*snvtxs+1; - sgraph->adjwgt = sgraph->gdata + 3*snvtxs+1 + snedges; - - sgraph->nvwgt = fmalloc(graph->ncon*snvtxs, "SetUpSplitGraph: nvwgt"); - } - - sgraph->label = idxmalloc(snvtxs, "SetUpSplitGraph: sgraph->label"); -} - diff --git a/lib/metis-4.0/Lib/pqueue.c b/lib/metis-4.0/Lib/pqueue.c deleted file mode 100755 index aa16caea1..000000000 --- a/lib/metis-4.0/Lib/pqueue.c +++ /dev/null @@ -1,579 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * pqueue.c - * - * This file contains functions for manipulating the bucket list - * representation of the gains associated with each vertex in a graph. - * These functions are used by the refinement algorithms - * - * Started 9/2/94 - * George - * - * $Id: pqueue.c,v 1.1 1998/11/27 17:59:28 karypis Exp $ - * - */ - -#include - - -/************************************************************************* -* This function initializes the data structures of the priority queue -**************************************************************************/ -void PQueueInit(CtrlType *ctrl, PQueueType *queue, int maxnodes, int maxgain) -{ - int i, j, ncore; - - queue->nnodes = 0; - queue->maxnodes = maxnodes; - - queue->buckets = NULL; - queue->nodes = NULL; - queue->heap = NULL; - queue->locator = NULL; - - if (maxgain > PLUS_GAINSPAN || maxnodes < 500) - queue->type = 2; - else - queue->type = 1; - - if (queue->type == 1) { - queue->pgainspan = amin(PLUS_GAINSPAN, maxgain); - queue->ngainspan = amin(NEG_GAINSPAN, maxgain); - - j = queue->ngainspan+queue->pgainspan+1; - - ncore = 2 + (sizeof(ListNodeType)/sizeof(idxtype))*maxnodes + (sizeof(ListNodeType *)/sizeof(idxtype))*j; - - if (WspaceAvail(ctrl) > ncore) { - queue->nodes = (ListNodeType *)idxwspacemalloc(ctrl, (sizeof(ListNodeType)/sizeof(idxtype))*maxnodes); - queue->buckets = (ListNodeType **)idxwspacemalloc(ctrl, (sizeof(ListNodeType *)/sizeof(idxtype))*j); - queue->mustfree = 0; - } - else { /* Not enough memory in the wspace, allocate it */ - queue->nodes = (ListNodeType *)idxmalloc((sizeof(ListNodeType)/sizeof(idxtype))*maxnodes, "PQueueInit: queue->nodes"); - queue->buckets = (ListNodeType **)idxmalloc((sizeof(ListNodeType *)/sizeof(idxtype))*j, "PQueueInit: queue->buckets"); - queue->mustfree = 1; - } - - for (i=0; inodes[i].id = i; - - for (i=0; ibuckets[i] = NULL; - - queue->buckets += queue->ngainspan; /* Advance buckets by the ngainspan proper indexing */ - queue->maxgain = -queue->ngainspan; - } - else { - queue->heap = (KeyValueType *)idxwspacemalloc(ctrl, (sizeof(KeyValueType)/sizeof(idxtype))*maxnodes); - queue->locator = idxwspacemalloc(ctrl, maxnodes); - idxset(maxnodes, -1, queue->locator); - } - -} - - -/************************************************************************* -* This function resets the buckets -**************************************************************************/ -void PQueueReset(PQueueType *queue) -{ - int i, j; - queue->nnodes = 0; - - if (queue->type == 1) { - queue->maxgain = -queue->ngainspan; - - j = queue->ngainspan+queue->pgainspan+1; - queue->buckets -= queue->ngainspan; - for (i=0; ibuckets[i] = NULL; - queue->buckets += queue->ngainspan; - } - else { - idxset(queue->maxnodes, -1, queue->locator); - } - -} - - -/************************************************************************* -* This function frees the buckets -**************************************************************************/ -void PQueueFree(CtrlType *ctrl, PQueueType *queue) -{ - - if (queue->type == 1) { - if (queue->mustfree) { - queue->buckets -= queue->ngainspan; - GKfree(&queue->nodes, &queue->buckets, LTERM); - } - else { - idxwspacefree(ctrl, sizeof(ListNodeType *)*(queue->ngainspan+queue->pgainspan+1)/sizeof(idxtype)); - idxwspacefree(ctrl, sizeof(ListNodeType)*queue->maxnodes/sizeof(idxtype)); - } - } - else { - idxwspacefree(ctrl, sizeof(KeyValueType)*queue->maxnodes/sizeof(idxtype)); - idxwspacefree(ctrl, queue->maxnodes); - } - - queue->maxnodes = 0; -} - - -/************************************************************************* -* This function returns the number of nodes in the queue -**************************************************************************/ -int PQueueGetSize(PQueueType *queue) -{ - return queue->nnodes; -} - - -/************************************************************************* -* This function adds a node of certain gain into a partition -**************************************************************************/ -int PQueueInsert(PQueueType *queue, int node, int gain) -{ - int i, j, k; - idxtype *locator; - ListNodeType *newnode; - KeyValueType *heap; - - if (queue->type == 1) { - ASSERT(gain >= -queue->ngainspan && gain <= queue->pgainspan); - - /* Allocate and add the node */ - queue->nnodes++; - newnode = queue->nodes + node; - - /* Attach this node in the doubly-linked list */ - newnode->next = queue->buckets[gain]; - newnode->prev = NULL; - if (newnode->next != NULL) - newnode->next->prev = newnode; - queue->buckets[gain] = newnode; - - if (queue->maxgain < gain) - queue->maxgain = gain; - } - else { - ASSERT(CheckHeap(queue)); - - heap = queue->heap; - locator = queue->locator; - - ASSERT(locator[node] == -1); - - i = queue->nnodes++; - while (i > 0) { - j = (i-1)/2; - if (heap[j].key < gain) { - heap[i] = heap[j]; - locator[heap[i].val] = i; - i = j; - } - else - break; - } - ASSERT(i >= 0); - heap[i].key = gain; - heap[i].val = node; - locator[node] = i; - - ASSERT(CheckHeap(queue)); - } - - return 0; -} - - -/************************************************************************* -* This function deletes a node from a partition and reinserts it with -* an updated gain -**************************************************************************/ -int PQueueDelete(PQueueType *queue, int node, int gain) -{ - int i, j, newgain, oldgain; - idxtype *locator; - ListNodeType *newnode, **buckets; - KeyValueType *heap; - - if (queue->type == 1) { - ASSERT(gain >= -queue->ngainspan && gain <= queue->pgainspan); - ASSERT(queue->nnodes > 0); - - buckets = queue->buckets; - queue->nnodes--; - newnode = queue->nodes+node; - - /* Remove newnode from the doubly-linked list */ - if (newnode->prev != NULL) - newnode->prev->next = newnode->next; - else - buckets[gain] = newnode->next; - if (newnode->next != NULL) - newnode->next->prev = newnode->prev; - - if (buckets[gain] == NULL && gain == queue->maxgain) { - if (queue->nnodes == 0) - queue->maxgain = -queue->ngainspan; - else - for (; buckets[queue->maxgain]==NULL; queue->maxgain--); - } - } - else { /* Heap Priority Queue */ - heap = queue->heap; - locator = queue->locator; - - ASSERT(locator[node] != -1); - ASSERT(heap[locator[node]].val == node); - - ASSERT(CheckHeap(queue)); - - i = locator[node]; - locator[node] = -1; - - if (--queue->nnodes > 0 && heap[queue->nnodes].val != node) { - node = heap[queue->nnodes].val; - newgain = heap[queue->nnodes].key; - oldgain = heap[i].key; - - if (oldgain < newgain) { /* Filter-up */ - while (i > 0) { - j = (i-1)>>1; - if (heap[j].key < newgain) { - heap[i] = heap[j]; - locator[heap[i].val] = i; - i = j; - } - else - break; - } - } - else { /* Filter down */ - while ((j=2*i+1) < queue->nnodes) { - if (heap[j].key > newgain) { - if (j+1 < queue->nnodes && heap[j+1].key > heap[j].key) - j = j+1; - heap[i] = heap[j]; - locator[heap[i].val] = i; - i = j; - } - else if (j+1 < queue->nnodes && heap[j+1].key > newgain) { - j = j+1; - heap[i] = heap[j]; - locator[heap[i].val] = i; - i = j; - } - else - break; - } - } - - heap[i].key = newgain; - heap[i].val = node; - locator[node] = i; - } - - ASSERT(CheckHeap(queue)); - } - - return 0; -} - - - -/************************************************************************* -* This function deletes a node from a partition and reinserts it with -* an updated gain -**************************************************************************/ -int PQueueUpdate(PQueueType *queue, int node, int oldgain, int newgain) -{ - int i, j; - idxtype *locator; - ListNodeType *newnode; - KeyValueType *heap; - - if (oldgain == newgain) - return 0; - - if (queue->type == 1) { - /* First delete the node and then insert it */ - PQueueDelete(queue, node, oldgain); - return PQueueInsert(queue, node, newgain); - } - else { /* Heap Priority Queue */ - heap = queue->heap; - locator = queue->locator; - - ASSERT(locator[node] != -1); - ASSERT(heap[locator[node]].val == node); - ASSERT(heap[locator[node]].key == oldgain); - ASSERT(CheckHeap(queue)); - - i = locator[node]; - - if (oldgain < newgain) { /* Filter-up */ - while (i > 0) { - j = (i-1)>>1; - if (heap[j].key < newgain) { - heap[i] = heap[j]; - locator[heap[i].val] = i; - i = j; - } - else - break; - } - } - else { /* Filter down */ - while ((j=2*i+1) < queue->nnodes) { - if (heap[j].key > newgain) { - if (j+1 < queue->nnodes && heap[j+1].key > heap[j].key) - j = j+1; - heap[i] = heap[j]; - locator[heap[i].val] = i; - i = j; - } - else if (j+1 < queue->nnodes && heap[j+1].key > newgain) { - j = j+1; - heap[i] = heap[j]; - locator[heap[i].val] = i; - i = j; - } - else - break; - } - } - - heap[i].key = newgain; - heap[i].val = node; - locator[node] = i; - - ASSERT(CheckHeap(queue)); - } - - return 0; -} - - - -/************************************************************************* -* This function deletes a node from a partition and reinserts it with -* an updated gain -**************************************************************************/ -void PQueueUpdateUp(PQueueType *queue, int node, int oldgain, int newgain) -{ - int i, j; - idxtype *locator; - ListNodeType *newnode, **buckets; - KeyValueType *heap; - - if (oldgain == newgain) - return; - - if (queue->type == 1) { - ASSERT(oldgain >= -queue->ngainspan && oldgain <= queue->pgainspan); - ASSERT(newgain >= -queue->ngainspan && newgain <= queue->pgainspan); - ASSERT(queue->nnodes > 0); - - buckets = queue->buckets; - newnode = queue->nodes+node; - - /* First delete the node */ - if (newnode->prev != NULL) - newnode->prev->next = newnode->next; - else - buckets[oldgain] = newnode->next; - if (newnode->next != NULL) - newnode->next->prev = newnode->prev; - - /* Attach this node in the doubly-linked list */ - newnode->next = buckets[newgain]; - newnode->prev = NULL; - if (newnode->next != NULL) - newnode->next->prev = newnode; - buckets[newgain] = newnode; - - if (queue->maxgain < newgain) - queue->maxgain = newgain; - } - else { /* Heap Priority Queue */ - heap = queue->heap; - locator = queue->locator; - - ASSERT(locator[node] != -1); - ASSERT(heap[locator[node]].val == node); - ASSERT(heap[locator[node]].key == oldgain); - ASSERT(CheckHeap(queue)); - - - /* Here we are just filtering up since the newgain is greater than the oldgain */ - i = locator[node]; - while (i > 0) { - j = (i-1)>>1; - if (heap[j].key < newgain) { - heap[i] = heap[j]; - locator[heap[i].val] = i; - i = j; - } - else - break; - } - - heap[i].key = newgain; - heap[i].val = node; - locator[node] = i; - - ASSERT(CheckHeap(queue)); - } - -} - - -/************************************************************************* -* This function returns the vertex with the largest gain from a partition -* and removes the node from the bucket list -**************************************************************************/ -int PQueueGetMax(PQueueType *queue) -{ - int vtx, i, j, gain, node; - idxtype *locator; - ListNodeType *tptr; - KeyValueType *heap; - - if (queue->nnodes == 0) - return -1; - - queue->nnodes--; - - if (queue->type == 1) { - tptr = queue->buckets[queue->maxgain]; - queue->buckets[queue->maxgain] = tptr->next; - if (tptr->next != NULL) { - tptr->next->prev = NULL; - } - else { - if (queue->nnodes == 0) { - queue->maxgain = -queue->ngainspan; - } - else - for (; queue->buckets[queue->maxgain]==NULL; queue->maxgain--); - } - - return tptr->id; - } - else { - heap = queue->heap; - locator = queue->locator; - - vtx = heap[0].val; - locator[vtx] = -1; - - if ((i = queue->nnodes) > 0) { - gain = heap[i].key; - node = heap[i].val; - i = 0; - while ((j=2*i+1) < queue->nnodes) { - if (heap[j].key > gain) { - if (j+1 < queue->nnodes && heap[j+1].key > heap[j].key) - j = j+1; - heap[i] = heap[j]; - locator[heap[i].val] = i; - i = j; - } - else if (j+1 < queue->nnodes && heap[j+1].key > gain) { - j = j+1; - heap[i] = heap[j]; - locator[heap[i].val] = i; - i = j; - } - else - break; - } - - heap[i].key = gain; - heap[i].val = node; - locator[node] = i; - } - - ASSERT(CheckHeap(queue)); - return vtx; - } -} - - -/************************************************************************* -* This function returns the vertex with the largest gain from a partition -**************************************************************************/ -int PQueueSeeMax(PQueueType *queue) -{ - int vtx; - - if (queue->nnodes == 0) - return -1; - - if (queue->type == 1) - vtx = queue->buckets[queue->maxgain]->id; - else - vtx = queue->heap[0].val; - - return vtx; -} - - -/************************************************************************* -* This function returns the vertex with the largest gain from a partition -**************************************************************************/ -int PQueueGetKey(PQueueType *queue) -{ - int key; - - if (queue->nnodes == 0) - return -1; - - if (queue->type == 1) - key = queue->maxgain; - else - key = queue->heap[0].key; - - return key; -} - - - - -/************************************************************************* -* This functions checks the consistency of the heap -**************************************************************************/ -int CheckHeap(PQueueType *queue) -{ - int i, j, nnodes; - idxtype *locator; - KeyValueType *heap; - - heap = queue->heap; - locator = queue->locator; - nnodes = queue->nnodes; - - if (nnodes == 0) - return 1; - - ASSERT(locator[heap[0].val] == 0); - for (i=1; imaxnodes; i++) { - if (locator[i] != -1) - j++; - } - ASSERTP(j == nnodes, ("%d %d\n", j, nnodes)); - - return 1; -} diff --git a/lib/metis-4.0/Lib/proto.h b/lib/metis-4.0/Lib/proto.h deleted file mode 100755 index ce1434140..000000000 --- a/lib/metis-4.0/Lib/proto.h +++ /dev/null @@ -1,505 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * proto.h - * - * This file contains header files - * - * Started 10/19/95 - * George - * - * $Id: proto.h,v 1.1 1998/11/27 17:59:28 karypis Exp $ - * - */ - -/* balance.c */ -void Balance2Way(CtrlType *, GraphType *, int *, float); -void Bnd2WayBalance(CtrlType *, GraphType *, int *); -void General2WayBalance(CtrlType *, GraphType *, int *); - -/* bucketsort.c */ -void BucketSortKeysInc(int, int, idxtype *, idxtype *, idxtype *); - -/* ccgraph.c */ -void CreateCoarseGraph(CtrlType *, GraphType *, int, idxtype *, idxtype *); -void CreateCoarseGraphNoMask(CtrlType *, GraphType *, int, idxtype *, idxtype *); -void CreateCoarseGraph_NVW(CtrlType *, GraphType *, int, idxtype *, idxtype *); -GraphType *SetUpCoarseGraph(GraphType *, int, int); -void ReAdjustMemory(GraphType *, GraphType *, int); - -/* coarsen.c */ -GraphType *Coarsen2Way(CtrlType *, GraphType *); - -/* compress.c */ -void CompressGraph(CtrlType *, GraphType *, int, idxtype *, idxtype *, idxtype *, idxtype *); -void PruneGraph(CtrlType *, GraphType *, int, idxtype *, idxtype *, idxtype *, float); - -/* debug.c */ -int ComputeCut(GraphType *, idxtype *); -int CheckBnd(GraphType *); -int CheckBnd2(GraphType *); -int CheckNodeBnd(GraphType *, int); -int CheckRInfo(RInfoType *); -int CheckNodePartitionParams(GraphType *); -int IsSeparable(GraphType *); - -/* estmem.c */ -void METIS_EstimateMemory(int *, idxtype *, idxtype *, int *, int *, int *); -void EstimateCFraction(int, idxtype *, idxtype *, float *, float *); -int ComputeCoarseGraphSize(int, idxtype *, idxtype *, int, idxtype *, idxtype *, idxtype *); - -/* fm.c */ -void FM_2WayEdgeRefine(CtrlType *, GraphType *, int *, int); - -/* fortran.c */ -void Change2CNumbering(int, idxtype *, idxtype *); -void Change2FNumbering(int, idxtype *, idxtype *, idxtype *); -void Change2FNumbering2(int, idxtype *, idxtype *); -void Change2FNumberingOrder(int, idxtype *, idxtype *, idxtype *, idxtype *); -void ChangeMesh2CNumbering(int, idxtype *); -void ChangeMesh2FNumbering(int, idxtype *, int, idxtype *, idxtype *); -void ChangeMesh2FNumbering2(int, idxtype *, int, int, idxtype *, idxtype *); - -/* frename.c */ -void METIS_PARTGRAPHRECURSIVE(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *); -void metis_partgraphrecursive(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *); -void metis_partgraphrecursive_(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *); -void metis_partgraphrecursive__(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *); -void METIS_WPARTGRAPHRECURSIVE(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); -void metis_wpartgraphrecursive(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); -void metis_wpartgraphrecursive_(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); -void metis_wpartgraphrecursive__(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); -void METIS_PARTGRAPHKWAY(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *); -void metis_partgraphkway(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *); -void metis_partgraphkway_(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *); -void metis_partgraphkway__(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *); -void METIS_WPARTGRAPHKWAY(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); -void metis_wpartgraphkway(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); -void metis_wpartgraphkway_(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); -void metis_wpartgraphkway__(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); -void METIS_EDGEND(int *, idxtype *, idxtype *, int *, int *, idxtype *, idxtype *); -void metis_edgend(int *, idxtype *, idxtype *, int *, int *, idxtype *, idxtype *); -void metis_edgend_(int *, idxtype *, idxtype *, int *, int *, idxtype *, idxtype *); -void metis_edgend__(int *, idxtype *, idxtype *, int *, int *, idxtype *, idxtype *); -void METIS_NODEND(int *, idxtype *, idxtype *, int *, int *, idxtype *, idxtype *); -void metis_nodend(int *, idxtype *, idxtype *, int *, int *, idxtype *, idxtype *); -void metis_nodend_(int *, idxtype *, idxtype *, int *, int *, idxtype *, idxtype *); -void metis_nodend__(int *, idxtype *, idxtype *, int *, int *, idxtype *, idxtype *); -void METIS_NODEWND(int *, idxtype *, idxtype *, idxtype *, int *, int *, idxtype *, idxtype *); -void metis_nodewnd(int *, idxtype *, idxtype *, idxtype *, int *, int *, idxtype *, idxtype *); -void metis_nodewnd_(int *, idxtype *, idxtype *, idxtype *, int *, int *, idxtype *, idxtype *); -void metis_nodewnd__(int *, idxtype *, idxtype *, idxtype *, int *, int *, idxtype *, idxtype *); -void METIS_PARTMESHNODAL(int *, int *, idxtype *, int *, int *, int *, int *, idxtype *, idxtype *); -void metis_partmeshnodal(int *, int *, idxtype *, int *, int *, int *, int *, idxtype *, idxtype *); -void metis_partmeshnodal_(int *, int *, idxtype *, int *, int *, int *, int *, idxtype *, idxtype *); -void metis_partmeshnodal__(int *, int *, idxtype *, int *, int *, int *, int *, idxtype *, idxtype *); -void METIS_PARTMESHDUAL(int *, int *, idxtype *, int *, int *, int *, int *, idxtype *, idxtype *); -void metis_partmeshdual(int *, int *, idxtype *, int *, int *, int *, int *, idxtype *, idxtype *); -void metis_partmeshdual_(int *, int *, idxtype *, int *, int *, int *, int *, idxtype *, idxtype *); -void metis_partmeshdual__(int *, int *, idxtype *, int *, int *, int *, int *, idxtype *, idxtype *); -void METIS_MESHTONODAL(int *, int *, idxtype *, int *, int *, idxtype *, idxtype *); -void metis_meshtonodal(int *, int *, idxtype *, int *, int *, idxtype *, idxtype *); -void metis_meshtonodal_(int *, int *, idxtype *, int *, int *, idxtype *, idxtype *); -void metis_meshtonodal__(int *, int *, idxtype *, int *, int *, idxtype *, idxtype *); -void METIS_MESHTODUAL(int *, int *, idxtype *, int *, int *, idxtype *, idxtype *); -void metis_meshtodual(int *, int *, idxtype *, int *, int *, idxtype *, idxtype *); -void metis_meshtodual_(int *, int *, idxtype *, int *, int *, idxtype *, idxtype *); -void metis_meshtodual__(int *, int *, idxtype *, int *, int *, idxtype *, idxtype *); -void METIS_ESTIMATEMEMORY(int *, idxtype *, idxtype *, int *, int *, int *); -void metis_estimatememory(int *, idxtype *, idxtype *, int *, int *, int *); -void metis_estimatememory_(int *, idxtype *, idxtype *, int *, int *, int *); -void metis_estimatememory__(int *, idxtype *, idxtype *, int *, int *, int *); -void METIS_MCPARTGRAPHRECURSIVE(int *, int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *); -void metis_mcpartgraphrecursive(int *, int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *); -void metis_mcpartgraphrecursive_(int *, int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *); -void metis_mcpartgraphrecursive__(int *, int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *); -void METIS_MCPARTGRAPHKWAY(int *, int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); -void metis_mcpartgraphkway(int *, int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); -void metis_mcpartgraphkway_(int *, int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); -void metis_mcpartgraphkway__(int *, int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); -void METIS_PARTGRAPHVKWAY(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *); -void metis_partgraphvkway(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *); -void metis_partgraphvkway_(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *); -void metis_partgraphvkway__(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *); -void METIS_WPARTGRAPHVKWAY(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); -void metis_wpartgraphvkway(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); -void metis_wpartgraphvkway_(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); -void metis_wpartgraphvkway__(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); - -/* graph.c */ -void SetUpGraph(GraphType *, int, int, int, idxtype *, idxtype *, idxtype *, idxtype *, int); -void SetUpGraphKway(GraphType *, int, idxtype *, idxtype *); -void SetUpGraph2(GraphType *, int, int, idxtype *, idxtype *, float *, idxtype *); -void VolSetUpGraph(GraphType *, int, int, int, idxtype *, idxtype *, idxtype *, idxtype *, int); -void RandomizeGraph(GraphType *); -int IsConnectedSubdomain(CtrlType *, GraphType *, int, int); -int IsConnected(CtrlType *, GraphType *, int); -int IsConnected2(GraphType *, int); -int FindComponents(CtrlType *, GraphType *, idxtype *, idxtype *); - -/* initpart.c */ -void Init2WayPartition(CtrlType *, GraphType *, int *, float); -void InitSeparator(CtrlType *, GraphType *, float); -void GrowBisection(CtrlType *, GraphType *, int *, float); -void GrowBisectionNode(CtrlType *, GraphType *, float); -void RandomBisection(CtrlType *, GraphType *, int *, float); - -/* kmetis.c */ -void METIS_PartGraphKway(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *); -void METIS_WPartGraphKway(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); -int MlevelKWayPartitioning(CtrlType *, GraphType *, int, idxtype *, float *, float); - -/* kvmetis.c */ -void METIS_PartGraphVKway(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *); -void METIS_WPartGraphVKway(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); -int MlevelVolKWayPartitioning(CtrlType *, GraphType *, int, idxtype *, float *, float); - -/* kwayfm.c */ -void Random_KWayEdgeRefine(CtrlType *, GraphType *, int, float *, float, int, int); -void Greedy_KWayEdgeRefine(CtrlType *, GraphType *, int, float *, float, int); -void Greedy_KWayEdgeBalance(CtrlType *, GraphType *, int, float *, float, int); - -/* kwayrefine.c */ -void RefineKWay(CtrlType *, GraphType *, GraphType *, int, float *, float); -void AllocateKWayPartitionMemory(CtrlType *, GraphType *, int); -void ComputeKWayPartitionParams(CtrlType *, GraphType *, int); -void ProjectKWayPartition(CtrlType *, GraphType *, int); -int IsBalanced(idxtype *, int, float *, float); -void ComputeKWayBoundary(CtrlType *, GraphType *, int); -void ComputeKWayBalanceBoundary(CtrlType *, GraphType *, int); - -/* kwayvolfm.c */ -void Random_KWayVolRefine(CtrlType *, GraphType *, int, float *, float, int, int); -void Random_KWayVolRefineMConn(CtrlType *, GraphType *, int, float *, float, int, int); -void Greedy_KWayVolBalance(CtrlType *, GraphType *, int, float *, float, int); -void Greedy_KWayVolBalanceMConn(CtrlType *, GraphType *, int, float *, float, int); -void KWayVolUpdate(CtrlType *, GraphType *, int, int, int, idxtype *, idxtype *, idxtype *); -void ComputeKWayVolume(GraphType *, int, idxtype *, idxtype *, idxtype *); -int ComputeVolume(GraphType *, idxtype *); -void CheckVolKWayPartitionParams(CtrlType *, GraphType *, int); -void ComputeVolSubDomainGraph(GraphType *, int, idxtype *, idxtype *); -void EliminateVolSubDomainEdges(CtrlType *, GraphType *, int, float *); -void EliminateVolComponents(CtrlType *, GraphType *, int, float *, float); - -/* kwayvolrefine.c */ -void RefineVolKWay(CtrlType *, GraphType *, GraphType *, int, float *, float); -void AllocateVolKWayPartitionMemory(CtrlType *, GraphType *, int); -void ComputeVolKWayPartitionParams(CtrlType *, GraphType *, int); -void ComputeKWayVolGains(CtrlType *, GraphType *, int); -void ProjectVolKWayPartition(CtrlType *, GraphType *, int); -void ComputeVolKWayBoundary(CtrlType *, GraphType *, int); -void ComputeVolKWayBalanceBoundary(CtrlType *, GraphType *, int); - -/* match.c */ -void Match_RM(CtrlType *, GraphType *); -void Match_RM_NVW(CtrlType *, GraphType *); -void Match_HEM(CtrlType *, GraphType *); -void Match_SHEM(CtrlType *, GraphType *); - -/* mbalance.c */ -void MocBalance2Way(CtrlType *, GraphType *, float *, float); -void MocGeneral2WayBalance(CtrlType *, GraphType *, float *, float); - -/* mbalance2.c */ -void MocBalance2Way2(CtrlType *, GraphType *, float *, float *); -void MocGeneral2WayBalance2(CtrlType *, GraphType *, float *, float *); -void SelectQueue3(int, float *, float *, int *, int *, PQueueType [MAXNCON][2], float *); - -/* mcoarsen.c */ -GraphType *MCCoarsen2Way(CtrlType *, GraphType *); - -/* memory.c */ -void AllocateWorkSpace(CtrlType *, GraphType *, int); -void FreeWorkSpace(CtrlType *, GraphType *); -int WspaceAvail(CtrlType *); -idxtype *idxwspacemalloc(CtrlType *, int); -void idxwspacefree(CtrlType *, int); -float *fwspacemalloc(CtrlType *, int); -void fwspacefree(CtrlType *, int); -GraphType *CreateGraph(void); -void InitGraph(GraphType *); -void FreeGraph(GraphType *); - -/* mesh.c */ -void METIS_MeshToDual(int *, int *, idxtype *, int *, int *, idxtype *, idxtype *); -void METIS_MeshToNodal(int *, int *, idxtype *, int *, int *, idxtype *, idxtype *); -void GENDUALMETIS(int, int, int, idxtype *, idxtype *, idxtype *adjncy); -void TRINODALMETIS(int, int, idxtype *, idxtype *, idxtype *adjncy); -void TETNODALMETIS(int, int, idxtype *, idxtype *, idxtype *adjncy); -void HEXNODALMETIS(int, int, idxtype *, idxtype *, idxtype *adjncy); -void QUADNODALMETIS(int, int, idxtype *, idxtype *, idxtype *adjncy); - -/* meshpart.c */ -void METIS_PartMeshNodal(int *, int *, idxtype *, int *, int *, int *, int *, idxtype *, idxtype *); -void METIS_PartMeshDual(int *, int *, idxtype *, int *, int *, int *, int *, idxtype *, idxtype *); - -/* mfm.c */ -void MocFM_2WayEdgeRefine(CtrlType *, GraphType *, float *, int); -void SelectQueue(int, float *, float *, int *, int *, PQueueType [MAXNCON][2]); -int BetterBalance(int, float *, float *, float *); -float Compute2WayHLoadImbalance(int, float *, float *); -void Compute2WayHLoadImbalanceVec(int, float *, float *, float *); - -/* mfm2.c */ -void MocFM_2WayEdgeRefine2(CtrlType *, GraphType *, float *, float *, int); -void SelectQueue2(int, float *, float *, int *, int *, PQueueType [MAXNCON][2], float *); -int IsBetter2wayBalance(int, float *, float *, float *); - -/* mincover.o */ -void MinCover(idxtype *, idxtype *, int, int, idxtype *, int *); -int MinCover_Augment(idxtype *, idxtype *, int, idxtype *, idxtype *, idxtype *, int); -void MinCover_Decompose(idxtype *, idxtype *, int, int, idxtype *, idxtype *, int *); -void MinCover_ColDFS(idxtype *, idxtype *, int, idxtype *, idxtype *, int); -void MinCover_RowDFS(idxtype *, idxtype *, int, idxtype *, idxtype *, int); - -/* minitpart.c */ -void MocInit2WayPartition(CtrlType *, GraphType *, float *, float); -void MocGrowBisection(CtrlType *, GraphType *, float *, float); -void MocRandomBisection(CtrlType *, GraphType *, float *, float); -void MocInit2WayBalance(CtrlType *, GraphType *, float *); -int SelectQueueoneWay(int, float *, float *, int, PQueueType [MAXNCON][2]); - -/* minitpart2.c */ -void MocInit2WayPartition2(CtrlType *, GraphType *, float *, float *); -void MocGrowBisection2(CtrlType *, GraphType *, float *, float *); -void MocGrowBisectionNew2(CtrlType *, GraphType *, float *, float *); -void MocInit2WayBalance2(CtrlType *, GraphType *, float *, float *); -int SelectQueueOneWay2(int, float *, PQueueType [MAXNCON][2], float *); - -/* mkmetis.c */ -void METIS_mCPartGraphKway(int *, int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); -int MCMlevelKWayPartitioning(CtrlType *, GraphType *, int, idxtype *, float *); - -/* mkwayfmh.c */ -void MCRandom_KWayEdgeRefineHorizontal(CtrlType *, GraphType *, int, float *, int); -void MCGreedy_KWayEdgeBalanceHorizontal(CtrlType *, GraphType *, int, float *, int); -int AreAllHVwgtsBelow(int, float, float *, float, float *, float *); -int AreAllHVwgtsAbove(int, float, float *, float, float *, float *); -void ComputeHKWayLoadImbalance(int, int, float *, float *); -int MocIsHBalanced(int, int, float *, float *); -int IsHBalanceBetterFT(int, int, float *, float *, float *, float *); -int IsHBalanceBetterTT(int, int, float *, float *, float *, float *); - -/* mkwayrefine.c */ -void MocRefineKWayHorizontal(CtrlType *, GraphType *, GraphType *, int, float *); -void MocAllocateKWayPartitionMemory(CtrlType *, GraphType *, int); -void MocComputeKWayPartitionParams(CtrlType *, GraphType *, int); -void MocProjectKWayPartition(CtrlType *, GraphType *, int); -void MocComputeKWayBalanceBoundary(CtrlType *, GraphType *, int); - -/* mmatch.c */ -void MCMatch_RM(CtrlType *, GraphType *); -void MCMatch_HEM(CtrlType *, GraphType *); -void MCMatch_SHEM(CtrlType *, GraphType *); -void MCMatch_SHEBM(CtrlType *, GraphType *, int); -void MCMatch_SBHEM(CtrlType *, GraphType *, int); -float BetterVBalance(int, int, float *, float *, float *); -int AreAllVwgtsBelowFast(int, float *, float *, float); - -/* mmd.c */ -void genmmd(int, idxtype *, idxtype *, idxtype *, idxtype *, int , idxtype *, idxtype *, idxtype *, idxtype *, int, int *); -void mmdelm(int, idxtype *xadj, idxtype *, idxtype *, idxtype *, idxtype *, idxtype *, idxtype *, idxtype *, int, int); -int mmdint(int, idxtype *xadj, idxtype *, idxtype *, idxtype *, idxtype *, idxtype *, idxtype *, idxtype *); -void mmdnum(int, idxtype *, idxtype *, idxtype *); -void mmdupd(int, int, idxtype *, idxtype *, int, int *, idxtype *, idxtype *, idxtype *, idxtype *, idxtype *, idxtype *, int, int *tag); - -/* mpmetis.c */ -void METIS_mCPartGraphRecursive(int *, int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *); -void METIS_mCHPartGraphRecursive(int *, int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); -void METIS_mCPartGraphRecursiveInternal(int *, int *, idxtype *, idxtype *, float *, idxtype *, int *, int *, int *, idxtype *); -void METIS_mCHPartGraphRecursiveInternal(int *, int *, idxtype *, idxtype *, float *, idxtype *, int *, float *, int *, int *, idxtype *); -int MCMlevelRecursiveBisection(CtrlType *, GraphType *, int, idxtype *, float, int); -int MCHMlevelRecursiveBisection(CtrlType *, GraphType *, int, idxtype *, float *, int); -void MCMlevelEdgeBisection(CtrlType *, GraphType *, float *, float); -void MCHMlevelEdgeBisection(CtrlType *, GraphType *, float *, float *); - -/* mrefine.c */ -void MocRefine2Way(CtrlType *, GraphType *, GraphType *, float *, float); -void MocAllocate2WayPartitionMemory(CtrlType *, GraphType *); -void MocCompute2WayPartitionParams(CtrlType *, GraphType *); -void MocProject2WayPartition(CtrlType *, GraphType *); - -/* mrefine2.c */ -void MocRefine2Way2(CtrlType *, GraphType *, GraphType *, float *, float *); - -/* mutil.c */ -int AreAllVwgtsBelow(int, float, float *, float, float *, float); -int AreAnyVwgtsBelow(int, float, float *, float, float *, float); -int AreAllVwgtsAbove(int, float, float *, float, float *, float); -float ComputeLoadImbalance(int, int, float *, float *); -int AreAllBelow(int, float *, float *); - -/* myqsort.c */ -void iidxsort(int, idxtype *); -void iintsort(int, int *); -void ikeysort(int, KeyValueType *); -void ikeyvalsort(int, KeyValueType *); - -/* ometis.c */ -void METIS_EdgeND(int *, idxtype *, idxtype *, int *, int *, idxtype *, idxtype *); -void METIS_NodeND(int *, idxtype *, idxtype *, int *, int *, idxtype *, idxtype *); -void METIS_NodeWND(int *, idxtype *, idxtype *, idxtype *, int *, int *, idxtype *, idxtype *); -void MlevelNestedDissection(CtrlType *, GraphType *, idxtype *, float, int); -void MlevelNestedDissectionCC(CtrlType *, GraphType *, idxtype *, float, int); -void MlevelNodeBisectionMultiple(CtrlType *, GraphType *, int *, float); -void MlevelNodeBisection(CtrlType *, GraphType *, int *, float); -void SplitGraphOrder(CtrlType *, GraphType *, GraphType *, GraphType *); -void MMDOrder(CtrlType *, GraphType *, idxtype *, int); -int SplitGraphOrderCC(CtrlType *, GraphType *, GraphType *, int, idxtype *, idxtype *); - -/* parmetis.c */ -void METIS_PartGraphKway2(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *); -void METIS_WPartGraphKway2(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); -void METIS_NodeNDP(int, idxtype *, idxtype *, int, int *, idxtype *, idxtype *, idxtype *); -void MlevelNestedDissectionP(CtrlType *, GraphType *, idxtype *, int, int, int, idxtype *); -void METIS_NodeComputeSeparator(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, idxtype *); -void METIS_EdgeComputeSeparator(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, idxtype *); - -/* pmetis.c */ -void METIS_PartGraphRecursive(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *); -void METIS_WPartGraphRecursive(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); -int MlevelRecursiveBisection(CtrlType *, GraphType *, int, idxtype *, float *, float, int); -void MlevelEdgeBisection(CtrlType *, GraphType *, int *, float); -void SplitGraphPart(CtrlType *, GraphType *, GraphType *, GraphType *); -void SetUpSplitGraph(GraphType *, GraphType *, int, int); - -/* pqueue.c */ -void PQueueInit(CtrlType *ctrl, PQueueType *, int, int); -void PQueueReset(PQueueType *); -void PQueueFree(CtrlType *ctrl, PQueueType *); -int PQueueGetSize(PQueueType *); -int PQueueInsert(PQueueType *, int, int); -int PQueueDelete(PQueueType *, int, int); -int PQueueUpdate(PQueueType *, int, int, int); -void PQueueUpdateUp(PQueueType *, int, int, int); -int PQueueGetMax(PQueueType *); -int PQueueSeeMax(PQueueType *); -int PQueueGetKey(PQueueType *); -int CheckHeap(PQueueType *); - -/* refine.c */ -void Refine2Way(CtrlType *, GraphType *, GraphType *, int *, float ubfactor); -void Allocate2WayPartitionMemory(CtrlType *, GraphType *); -void Compute2WayPartitionParams(CtrlType *, GraphType *); -void Project2WayPartition(CtrlType *, GraphType *); - -/* separator.c */ -void ConstructSeparator(CtrlType *, GraphType *, float); -void ConstructMinCoverSeparator0(CtrlType *, GraphType *, float); -void ConstructMinCoverSeparator(CtrlType *, GraphType *, float); - -/* sfm.c */ -void FM_2WayNodeRefine(CtrlType *, GraphType *, float, int); -void FM_2WayNodeRefineEqWgt(CtrlType *, GraphType *, int); -void FM_2WayNodeRefine_OneSided(CtrlType *, GraphType *, float, int); -void FM_2WayNodeBalance(CtrlType *, GraphType *, float); -int ComputeMaxNodeGain(int, idxtype *, idxtype *, idxtype *); - -/* srefine.c */ -void Refine2WayNode(CtrlType *, GraphType *, GraphType *, float); -void Allocate2WayNodePartitionMemory(CtrlType *, GraphType *); -void Compute2WayNodePartitionParams(CtrlType *, GraphType *); -void Project2WayNodePartition(CtrlType *, GraphType *); - -/* stat.c */ -void ComputePartitionInfo(GraphType *, int, idxtype *); -void ComputePartitionInfoBipartite(GraphType *, int, idxtype *); -void ComputePartitionBalance(GraphType *, int, idxtype *, float *); -float ComputeElementBalance(int, int, idxtype *); - -/* subdomains.c */ -void Random_KWayEdgeRefineMConn(CtrlType *, GraphType *, int, float *, float, int, int); -void Greedy_KWayEdgeBalanceMConn(CtrlType *, GraphType *, int, float *, float, int); -void PrintSubDomainGraph(GraphType *, int, idxtype *); -void ComputeSubDomainGraph(GraphType *, int, idxtype *, idxtype *); -void EliminateSubDomainEdges(CtrlType *, GraphType *, int, float *); -void MoveGroupMConn(CtrlType *, GraphType *, idxtype *, idxtype *, int, int, int, idxtype *); -void EliminateComponents(CtrlType *, GraphType *, int, float *, float); -void MoveGroup(CtrlType *, GraphType *, int, int, int, idxtype *, idxtype *); - -/* timing.c */ -void InitTimers(CtrlType *); -void PrintTimers(CtrlType *); -double seconds(void); - -/* util.c */ -void errexit(char *,...); -#ifndef DMALLOC -int *imalloc(int, char *); -idxtype *idxmalloc(int, char *); -float *fmalloc(int, char *); -int *ismalloc(int, int, char *); -idxtype *idxsmalloc(int, idxtype, char *); -void *GKmalloc(int, char *); -#endif -/*void GKfree(void **,...); */ -int *iset(int n, int val, int *x); -idxtype *idxset(int n, idxtype val, idxtype *x); -float *sset(int n, float val, float *x); -int iamax(int, int *); -int idxamax(int, idxtype *); -int idxamax_strd(int, idxtype *, int); -int samax(int, float *); -int samax2(int, float *); -int idxamin(int, idxtype *); -int samin(int, float *); -int idxsum(int, idxtype *); -int idxsum_strd(int, idxtype *, int); -void idxadd(int, idxtype *, idxtype *); -int charsum(int, char *); -int isum(int, int *); -float ssum(int, float *); -float ssum_strd(int n, float *x, int); -void sscale(int n, float, float *x); -float snorm2(int, float *); -float sdot(int n, float *, float *); -void saxpy(int, float, float *, int, float *, int); -void RandomPermute(int, idxtype *, int); -double drand48(); -void srand48(long); -int ispow2(int); -void InitRandom(int); -int log2i(int); - - - - - - - - - - -/*************************************************************** -* Programs Directory -****************************************************************/ - -/* io.c */ -void ReadGraph(GraphType *, char *, int *); -void WritePartition(char *, idxtype *, int, int); -void WriteMeshPartition(char *, int, int, idxtype *, int, idxtype *); -void WritePermutation(char *, idxtype *, int); -int CheckGraph(GraphType *); -idxtype *ReadMesh(char *, int *, int *, int *); -void WriteGraph(char *, int, idxtype *, idxtype *); - -/* smbfactor.c */ -void ComputeFillIn(GraphType *, idxtype *); -idxtype ComputeFillIn2(GraphType *, idxtype *); -int smbfct(int, idxtype *, idxtype *, idxtype *, idxtype *, idxtype *, int *, idxtype *, idxtype *, int *); - - -/*************************************************************** -* Test Directory -****************************************************************/ -void Test_PartGraph(int, idxtype *, idxtype *); -int VerifyPart(int, idxtype *, idxtype *, idxtype *, idxtype *, int, int, idxtype *); -int VerifyWPart(int, idxtype *, idxtype *, idxtype *, idxtype *, int, float *, int, idxtype *); -void Test_PartGraphV(int, idxtype *, idxtype *); -int VerifyPartV(int, idxtype *, idxtype *, idxtype *, idxtype *, int, int, idxtype *); -int VerifyWPartV(int, idxtype *, idxtype *, idxtype *, idxtype *, int, float *, int, idxtype *); -void Test_PartGraphmC(int, idxtype *, idxtype *); -int VerifyPartmC(int, int, idxtype *, idxtype *, idxtype *, idxtype *, int, float *, int, idxtype *); -void Test_ND(int, idxtype *, idxtype *); -int VerifyND(int, idxtype *, idxtype *); - diff --git a/lib/metis-4.0/Lib/refine.c b/lib/metis-4.0/Lib/refine.c deleted file mode 100755 index 9b1c4eab9..000000000 --- a/lib/metis-4.0/Lib/refine.c +++ /dev/null @@ -1,204 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * refine.c - * - * This file contains the driving routines for multilevel refinement - * - * Started 7/24/97 - * George - * - * $Id: refine.c,v 1.1 1998/11/27 17:59:29 karypis Exp $ - */ - -#include - - -/************************************************************************* -* This function is the entry point of refinement -**************************************************************************/ -void Refine2Way(CtrlType *ctrl, GraphType *orggraph, GraphType *graph, int *tpwgts, float ubfactor) -{ - - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->UncoarsenTmr)); - - /* Compute the parameters of the coarsest graph */ - Compute2WayPartitionParams(ctrl, graph); - - for (;;) { - ASSERT(CheckBnd(graph)); - - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->RefTmr)); - switch (ctrl->RType) { - case 1: - Balance2Way(ctrl, graph, tpwgts, ubfactor); - FM_2WayEdgeRefine(ctrl, graph, tpwgts, 8); - break; - default: - errexit("Unknown refinement type: %d\n", ctrl->RType); - } - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->RefTmr)); - - if (graph == orggraph) - break; - - graph = graph->finer; - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->ProjectTmr)); - Project2WayPartition(ctrl, graph); - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->ProjectTmr)); - } - - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->UncoarsenTmr)); -} - - -/************************************************************************* -* This function allocates memory for 2-way edge refinement -**************************************************************************/ -void Allocate2WayPartitionMemory(CtrlType *ctrl, GraphType *graph) -{ - int nvtxs; - - nvtxs = graph->nvtxs; - - graph->rdata = idxmalloc(5*nvtxs+2, "Allocate2WayPartitionMemory: rdata"); - graph->pwgts = graph->rdata; - graph->where = graph->rdata + 2; - graph->id = graph->rdata + nvtxs + 2; - graph->ed = graph->rdata + 2*nvtxs + 2; - graph->bndptr = graph->rdata + 3*nvtxs + 2; - graph->bndind = graph->rdata + 4*nvtxs + 2; -} - - -/************************************************************************* -* This function computes the initial id/ed -**************************************************************************/ -void Compute2WayPartitionParams(CtrlType *ctrl, GraphType *graph) -{ - int i, j, k, l, nvtxs, nbnd, mincut; - idxtype *xadj, *vwgt, *adjncy, *adjwgt, *pwgts; - idxtype *id, *ed, *where; - idxtype *bndptr, *bndind; - int me, other; - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - vwgt = graph->vwgt; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - - where = graph->where; - pwgts = idxset(2, 0, graph->pwgts); - id = idxset(nvtxs, 0, graph->id); - ed = idxset(nvtxs, 0, graph->ed); - bndptr = idxset(nvtxs, -1, graph->bndptr); - bndind = graph->bndind; - - - /*------------------------------------------------------------ - / Compute now the id/ed degrees - /------------------------------------------------------------*/ - nbnd = mincut = 0; - for (i=0; i= 0 && where[i] <= 1); - me = where[i]; - pwgts[me] += vwgt[i]; - - for (j=xadj[i]; j 0 || xadj[i] == xadj[i+1]) { - mincut += ed[i]; - bndptr[i] = nbnd; - bndind[nbnd++] = i; - } - } - - graph->mincut = mincut/2; - graph->nbnd = nbnd; - - ASSERT(pwgts[0]+pwgts[1] == idxsum(nvtxs, vwgt)); -} - - - -/************************************************************************* -* This function projects a partition, and at the same time computes the -* parameters for refinement. -**************************************************************************/ -void Project2WayPartition(CtrlType *ctrl, GraphType *graph) -{ - int i, j, k, nvtxs, nbnd, me; - idxtype *xadj, *adjncy, *adjwgt, *adjwgtsum; - idxtype *cmap, *where, *id, *ed, *bndptr, *bndind; - idxtype *cwhere, *cid, *ced, *cbndptr; - GraphType *cgraph; - - cgraph = graph->coarser; - cwhere = cgraph->where; - cid = cgraph->id; - ced = cgraph->ed; - cbndptr = cgraph->bndptr; - - nvtxs = graph->nvtxs; - cmap = graph->cmap; - xadj = graph->xadj; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - adjwgtsum = graph->adjwgtsum; - - Allocate2WayPartitionMemory(ctrl, graph); - - where = graph->where; - id = idxset(nvtxs, 0, graph->id); - ed = idxset(nvtxs, 0, graph->ed); - bndptr = idxset(nvtxs, -1, graph->bndptr); - bndind = graph->bndind; - - - /* Go through and project partition and compute id/ed for the nodes */ - for (i=0; i 0 || xadj[i] == xadj[i+1]) { - bndptr[i] = nbnd; - bndind[nbnd++] = i; - } - } - } - } - - graph->mincut = cgraph->mincut; - graph->nbnd = nbnd; - idxcopy(2, cgraph->pwgts, graph->pwgts); - - FreeGraph(graph->coarser); - graph->coarser = NULL; - -} - diff --git a/lib/metis-4.0/Lib/rename.h b/lib/metis-4.0/Lib/rename.h deleted file mode 100755 index 29fcfc1fa..000000000 --- a/lib/metis-4.0/Lib/rename.h +++ /dev/null @@ -1,418 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * rename.h - * - * This file contains header files - * - * Started 10/2/97 - * George - * - * $Id: rename.h,v 1.1 1998/11/27 17:59:29 karypis Exp $ - * - */ - -/* balance.c */ -#define Balance2Way __Balance2Way -#define Bnd2WayBalance __Bnd2WayBalance -#define General2WayBalance __General2WayBalance - - -/* bucketsort.c */ -#define BucketSortKeysInc __BucketSortKeysInc - - -/* ccgraph.c */ -#define CreateCoarseGraph __CreateCoarseGraph -#define CreateCoarseGraphNoMask __CreateCoarseGraphNoMask -#define CreateCoarseGraph_NVW __CreateCoarseGraph_NVW -#define SetUpCoarseGraph __SetUpCoarseGraph -#define ReAdjustMemory __ReAdjustMemory - - -/* coarsen.c */ -#define Coarsen2Way __Coarsen2Way - - -/* compress.c */ -#define CompressGraph __CompressGraph -#define PruneGraph __PruneGraph - - -/* debug.c */ -#define ComputeCut __ComputeCut -#define CheckBnd __CheckBnd -#define CheckBnd2 __CheckBnd2 -#define CheckNodeBnd __CheckNodeBnd -#define CheckRInfo __CheckRInfo -#define CheckNodePartitionParams __CheckNodePartitionParams -#define IsSeparable __IsSeparable - - -/* estmem.c */ -#define EstimateCFraction __EstimateCFraction -#define ComputeCoarseGraphSize __ComputeCoarseGraphSize - - -/* fm.c */ -#define FM_2WayEdgeRefine __FM_2WayEdgeRefine - - -/* fortran.c */ -#define Change2CNumbering __Change2CNumbering -#define Change2FNumbering __Change2FNumbering -#define Change2FNumbering2 __Change2FNumbering2 -#define Change2FNumberingOrder __Change2FNumberingOrder -#define ChangeMesh2CNumbering __ChangeMesh2CNumbering -#define ChangeMesh2FNumbering __ChangeMesh2FNumbering -#define ChangeMesh2FNumbering2 __ChangeMesh2FNumbering2 - - -/* graph.c */ -#define SetUpGraph __SetUpGraph -#define SetUpGraphKway __SetUpGraphKway -#define SetUpGraph2 __SetUpGraph2 -#define VolSetUpGraph __VolSetUpGraph -#define RandomizeGraph __RandomizeGraph -#define IsConnectedSubdomain __IsConnectedSubdomain -#define IsConnected __IsConnected -#define IsConnected2 __IsConnected2 -#define FindComponents __FindComponents - - -/* initpart.c */ -#define Init2WayPartition __Init2WayPartition -#define InitSeparator __InitSeparator -#define GrowBisection __GrowBisection -#define GrowBisectionNode __GrowBisectionNode -#define RandomBisection __RandomBisection - - -/* kmetis.c */ -#define MlevelKWayPartitioning __MlevelKWayPartitioning - - -/* kvmetis.c */ -#define MlevelVolKWayPartitioning __MlevelVolKWayPartitioning - - -/* kwayfm.c */ -#define Random_KWayEdgeRefine __Random_KWayEdgeRefine -#define Greedy_KWayEdgeRefine __Greedy_KWayEdgeRefine -#define Greedy_KWayEdgeBalance __Greedy_KWayEdgeBalance - - -/* kwayrefine.c */ -#define RefineKWay __RefineKWay -#define AllocateKWayPartitionMemory __AllocateKWayPartitionMemory -#define ComputeKWayPartitionParams __ComputeKWayPartitionParams -#define ProjectKWayPartition __ProjectKWayPartition -#define IsBalanced __IsBalanced -#define ComputeKWayBoundary __ComputeKWayBoundary -#define ComputeKWayBalanceBoundary __ComputeKWayBalanceBoundary - - -/* kwayvolfm.c */ -#define Random_KWayVolRefine __Random_KWayVolRefine -#define Random_KWayVolRefineMConn __Random_KWayVolRefineMConn -#define Greedy_KWayVolBalance __Greedy_KWayVolBalance -#define Greedy_KWayVolBalanceMConn __Greedy_KWayVolBalanceMConn -#define KWayVolUpdate __KWayVolUpdate -#define ComputeKWayVolume __ComputeKWayVolume -#define ComputeVolume __ComputeVolume -#define CheckVolKWayPartitionParams __CheckVolKWayPartitionParams -#define ComputeVolSubDomainGraph __ComputeVolSubDomainGraph -#define EliminateVolSubDomainEdges __EliminateVolSubDomainEdges - - -/* kwayvolrefine.c */ -#define RefineVolKWay __RefineVolKWay -#define AllocateVolKWayPartitionMemory __AllocateVolKWayPartitionMemory -#define ComputeVolKWayPartitionParams __ComputeVolKWayPartitionParams -#define ComputeKWayVolGains __ComputeKWayVolGains -#define ProjectVolKWayPartition __ProjectVolKWayPartition -#define ComputeVolKWayBoundary __ComputeVolKWayBoundary -#define ComputeVolKWayBalanceBoundary __ComputeVolKWayBalanceBoundary - - -/* match.c */ -#define Match_RM __Match_RM -#define Match_RM_NVW __Match_RM_NVW -#define Match_HEM __Match_HEM -#define Match_SHEM __Match_SHEM - - -/* mbalance.c */ -#define MocBalance2Way __MocBalance2Way -#define MocGeneral2WayBalance __MocGeneral2WayBalance - - -/* mbalance2.c */ -#define MocBalance2Way2 __MocBalance2Way2 -#define MocGeneral2WayBalance2 __MocGeneral2WayBalance2 -#define SelectQueue3 __SelectQueue3 - - -/* mcoarsen.c */ -#define MCCoarsen2Way __MCCoarsen2Way - - -/* memory.c */ -#define AllocateWorkSpace __AllocateWorkSpace -#define FreeWorkSpace __FreeWorkSpace -#define WspaceAvail __WspaceAvail -#define idxwspacemalloc __idxwspacemalloc -#define idxwspacefree __idxwspacefree -#define fwspacemalloc __fwspacemalloc -#define CreateGraph __CreateGraph -#define InitGraph __InitGraph -#define FreeGraph __FreeGraph - - -/* mesh.c */ -#define TRIDUALMETIS __TRIDUALMETIS -#define TETDUALMETIS __TETDUALMETIS -#define HEXDUALMETIS __HEXDUALMETIS -#define TRINODALMETIS __TRINODALMETIS -#define TETNODALMETIS __TETNODALMETIS -#define HEXNODALMETIS __HEXNODALMETIS - - -/* mfm.c */ -#define MocFM_2WayEdgeRefine __MocFM_2WayEdgeRefine -#define SelectQueue __SelectQueue -#define BetterBalance __BetterBalance -#define Compute2WayHLoadImbalance __Compute2WayHLoadImbalance -#define Compute2WayHLoadImbalanceVec __Compute2WayHLoadImbalanceVec - - -/* mfm2.c */ -#define MocFM_2WayEdgeRefine2 __MocFM_2WayEdgeRefine2 -#define SelectQueue2 __SelectQueue2 -#define IsBetter2wayBalance __IsBetter2wayBalance - - -/* mincover.c */ -#define MinCover __MinCover -#define MinCover_Augment __MinCover_Augment -#define MinCover_Decompose __MinCover_Decompose -#define MinCover_ColDFS __MinCover_ColDFS -#define MinCover_RowDFS __MinCover_RowDFS - - -/* minitpart.c */ -#define MocInit2WayPartition __MocInit2WayPartition -#define MocGrowBisection __MocGrowBisection -#define MocRandomBisection __MocRandomBisection -#define MocInit2WayBalance __MocInit2WayBalance -#define SelectQueueoneWay __SelectQueueoneWay - - -/* minitpart2.c */ -#define MocInit2WayPartition2 __MocInit2WayPartition2 -#define MocGrowBisection2 __MocGrowBisection2 -#define MocGrowBisectionNew2 __MocGrowBisectionNew2 -#define MocInit2WayBalance2 __MocInit2WayBalance2 -#define SelectQueueOneWay2 __SelectQueueOneWay2 - - -/* mkmetis.c */ -#define MCMlevelKWayPartitioning __MCMlevelKWayPartitioning - - -/* mkwayfmh.c */ -#define MCRandom_KWayEdgeRefineHorizontal __MCRandom_KWayEdgeRefineHorizontal -#define MCGreedy_KWayEdgeBalanceHorizontal __MCGreedy_KWayEdgeBalanceHorizontal -#define AreAllHVwgtsBelow __AreAllHVwgtsBelow -#define AreAllHVwgtsAbove __AreAllHVwgtsAbove -#define ComputeHKWayLoadImbalance __ComputeHKWayLoadImbalance -#define MocIsHBalanced __MocIsHBalanced -#define IsHBalanceBetterFT __IsHBalanceBetterFT -#define IsHBalanceBetterTT __IsHBalanceBetterTT - - -/* mkwayrefine.c */ -#define MocRefineKWayHorizontal __MocRefineKWayHorizontal -#define MocAllocateKWayPartitionMemory __MocAllocateKWayPartitionMemory -#define MocComputeKWayPartitionParams __MocComputeKWayPartitionParams -#define MocProjectKWayPartition __MocProjectKWayPartition -#define MocComputeKWayBalanceBoundary __MocComputeKWayBalanceBoundary - - -/* mmatch.c */ -#define MCMatch_RM __MCMatch_RM -#define MCMatch_HEM __MCMatch_HEM -#define MCMatch_SHEM __MCMatch_SHEM -#define MCMatch_SHEBM __MCMatch_SHEBM -#define MCMatch_SBHEM __MCMatch_SBHEM -#define BetterVBalance __BetterVBalance -#define AreAllVwgtsBelowFast __AreAllVwgtsBelowFast - - -/* mmd.c */ -#define genmmd __genmmd -#define mmdelm __mmdelm -#define mmdint __mmdint -#define mmdnum __mmdnum -#define mmdupd __mmdupd - - -/* mpmetis.c */ -#define MCMlevelRecursiveBisection __MCMlevelRecursiveBisection -#define MCHMlevelRecursiveBisection __MCHMlevelRecursiveBisection -#define MCMlevelEdgeBisection __MCMlevelEdgeBisection -#define MCHMlevelEdgeBisection __MCHMlevelEdgeBisection - - -/* mrefine.c */ -#define MocRefine2Way __MocRefine2Way -#define MocAllocate2WayPartitionMemory __MocAllocate2WayPartitionMemory -#define MocCompute2WayPartitionParams __MocCompute2WayPartitionParams -#define MocProject2WayPartition __MocProject2WayPartition - - -/* mrefine2.c */ -#define MocRefine2Way2 __MocRefine2Way2 - - -/* mutil.c */ -#define AreAllVwgtsBelow __AreAllVwgtsBelow -#define AreAnyVwgtsBelow __AreAnyVwgtsBelow -#define AreAllVwgtsAbove __AreAllVwgtsAbove -#define ComputeLoadImbalance __ComputeLoadImbalance -#define AreAllBelow __AreAllBelow - - -/* myqsort.c */ -#define iidxsort __iidxsort -#define iintsort __iintsort -#define ikeysort __ikeysort -#define ikeyvalsort __ikeyvalsort - - -/* ometis.c */ -#define MlevelNestedDissection __MlevelNestedDissection -#define MlevelNestedDissectionCC __MlevelNestedDissectionCC -#define MlevelNodeBisectionMultiple __MlevelNodeBisectionMultiple -#define MlevelNodeBisection __MlevelNodeBisection -#define SplitGraphOrder __SplitGraphOrder -#define MMDOrder __MMDOrder -#define SplitGraphOrderCC __SplitGraphOrderCC - - -/* parmetis.c */ -#define MlevelNestedDissectionP __MlevelNestedDissectionP - - -/* pmetis.c */ -#define MlevelRecursiveBisection __MlevelRecursiveBisection -#define MlevelEdgeBisection __MlevelEdgeBisection -#define SplitGraphPart __SplitGraphPart -#define SetUpSplitGraph __SetUpSplitGraph - - -/* pqueue.c */ -#define PQueueInit __PQueueInit -#define PQueueReset __PQueueReset -#define PQueueFree __PQueueFree -#define PQueueInsert __PQueueInsert -#define PQueueDelete __PQueueDelete -#define PQueueUpdate __PQueueUpdate -#define PQueueUpdateUp __PQueueUpdateUp -#define PQueueGetMax __PQueueGetMax -#define PQueueSeeMax __PQueueSeeMax -#define CheckHeap __CheckHeap - - -/* refine.c */ -#define Refine2Way __Refine2Way -#define Allocate2WayPartitionMemory __Allocate2WayPartitionMemory -#define Compute2WayPartitionParams __Compute2WayPartitionParams -#define Project2WayPartition __Project2WayPartition - - -/* separator.c */ -#define ConstructSeparator __ConstructSeparator -#define ConstructMinCoverSeparator0 __ConstructMinCoverSeparator0 -#define ConstructMinCoverSeparator __ConstructMinCoverSeparator - - -/* sfm.c */ -#define FM_2WayNodeRefine __FM_2WayNodeRefine -#define FM_2WayNodeRefineEqWgt __FM_2WayNodeRefineEqWgt -#define FM_2WayNodeRefine_OneSided __FM_2WayNodeRefine_OneSided -#define FM_2WayNodeBalance __FM_2WayNodeBalance -#define ComputeMaxNodeGain __ComputeMaxNodeGain - - -/* srefine.c */ -#define Refine2WayNode __Refine2WayNode -#define Allocate2WayNodePartitionMemory __Allocate2WayNodePartitionMemory -#define Compute2WayNodePartitionParams __Compute2WayNodePartitionParams -#define Project2WayNodePartition __Project2WayNodePartition - - -/* stat.c */ -#define ComputePartitionInfo __ComputePartitionInfo -#define ComputePartitionBalance __ComputePartitionBalance -#define ComputeElementBalance __ComputeElementBalance - - -/* subdomains.c */ -#define Random_KWayEdgeRefineMConn __Random_KWayEdgeRefineMConn -#define Greedy_KWayEdgeBalanceMConn __Greedy_KWayEdgeBalanceMConn -#define PrintSubDomainGraph __PrintSubDomainGraph -#define ComputeSubDomainGraph __ComputeSubDomainGraph -#define EliminateSubDomainEdges __EliminateSubDomainEdges -#define MoveGroupMConn __MoveGroupMConn -#define EliminateComponents __EliminateComponents -#define MoveGroup __MoveGroup - - -/* timing.c */ -#define InitTimers __InitTimers -#define PrintTimers __PrintTimers -#define seconds __seconds - - -/* util.c */ -#define errexit __errexit -#define GKfree __GKfree -#ifndef DMALLOC -#define imalloc __imalloc -#define idxmalloc __idxmalloc -#define fmalloc __fmalloc -#define ismalloc __ismalloc -#define idxsmalloc __idxsmalloc -#define GKmalloc __GKmalloc -#endif -#define iset __iset -#define idxset __idxset -#define sset __sset -#define iamax __iamax -#define idxamax __idxamax -#define idxamax_strd __idxamax_strd -#define samax __samax -#define samax2 __samax2 -#define idxamin __idxamin -#define samin __samin -#define idxsum __idxsum -#define idxsum_strd __idxsum_strd -#define idxadd __idxadd -#define charsum __charsum -#define isum __isum -#define ssum __ssum -#define ssum_strd __ssum_strd -#define sscale __sscale -#define snorm2 __snorm2 -#define sdot __sdot -#define saxpy __saxpy -#define RandomPermute __RandomPermute -#define ispow2 __ispow2 -#define InitRandom __InitRandom -#define log2i __log2i - - - - - diff --git a/lib/metis-4.0/Lib/separator.c b/lib/metis-4.0/Lib/separator.c deleted file mode 100755 index 09161b131..000000000 --- a/lib/metis-4.0/Lib/separator.c +++ /dev/null @@ -1,284 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * separator.c - * - * This file contains code for separator extraction - * - * Started 8/1/97 - * George - * - * $Id: separator.c,v 1.1 1998/11/27 17:59:30 karypis Exp $ - * - */ - -#include - -/************************************************************************* -* This function takes a bisection and constructs a minimum weight vertex -* separator out of it. It uses the node-based separator refinement for it. -**************************************************************************/ -void ConstructSeparator(CtrlType *ctrl, GraphType *graph, float ubfactor) -{ - int i, j, k, nvtxs, nbnd; - idxtype *xadj, *where, *bndind; - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - nbnd = graph->nbnd; - bndind = graph->bndind; - - where = idxcopy(nvtxs, graph->where, idxwspacemalloc(ctrl, nvtxs)); - - /* Put the nodes in the boundary into the separator */ - for (i=0; i 0) /* Ignore islands */ - where[j] = 2; - } - - GKfree(&graph->rdata, LTERM); - Allocate2WayNodePartitionMemory(ctrl, graph); - idxcopy(nvtxs, where, graph->where); - idxwspacefree(ctrl, nvtxs); - - ASSERT(IsSeparable(graph)); - - Compute2WayNodePartitionParams(ctrl, graph); - - ASSERT(CheckNodePartitionParams(graph)); - - FM_2WayNodeRefine(ctrl, graph, ubfactor, 8); - - ASSERT(IsSeparable(graph)); -} - - - -/************************************************************************* -* This function takes a bisection and constructs a minimum weight vertex -* separator out of it. It uses an unweighted minimum-cover algorithm -* followed by node-based separator refinement. -**************************************************************************/ -void ConstructMinCoverSeparator0(CtrlType *ctrl, GraphType *graph, float ubfactor) -{ - int i, ii, j, jj, k, l, nvtxs, nbnd, bnvtxs[3], bnedges[2], csize; - idxtype *xadj, *adjncy, *bxadj, *badjncy; - idxtype *where, *bndind, *bndptr, *vmap, *ivmap, *cover; - - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - adjncy = graph->adjncy; - - nbnd = graph->nbnd; - bndind = graph->bndind; - bndptr = graph->bndptr; - where = graph->where; - - vmap = idxwspacemalloc(ctrl, nvtxs); - ivmap = idxwspacemalloc(ctrl, nbnd); - cover = idxwspacemalloc(ctrl, nbnd); - - if (nbnd > 0) { - /* Go through the boundary and determine the sizes of the bipartite graph */ - bnvtxs[0] = bnvtxs[1] = bnedges[0] = bnedges[1] = 0; - for (i=0; i 0) { - bnvtxs[k]++; - bnedges[k] += xadj[j+1]-xadj[j]; - } - } - - bnvtxs[2] = bnvtxs[0]+bnvtxs[1]; - bnvtxs[1] = bnvtxs[0]; - bnvtxs[0] = 0; - - bxadj = idxmalloc(bnvtxs[2]+1, "ConstructMinCoverSeparator: bxadj"); - badjncy = idxmalloc(bnedges[0]+bnedges[1]+1, "ConstructMinCoverSeparator: badjncy"); - - /* Construct the ivmap and vmap */ - ASSERT(idxset(nvtxs, -1, vmap) == vmap); - for (i=0; i 0) { - vmap[j] = bnvtxs[k]; - ivmap[bnvtxs[k]++] = j; - } - } - - /* OK, go through and put the vertices of each part starting from 0 */ - bnvtxs[1] = bnvtxs[0]; - bnvtxs[0] = 0; - bxadj[0] = l = 0; - for (k=0; k<2; k++) { - for (ii=0; iibndptr[jj])); - badjncy[l++] = vmap[jj]; - } - } - bxadj[++bnvtxs[k]] = l; - } - } - } - - ASSERT(l <= bnedges[0]+bnedges[1]); - - MinCover(bxadj, badjncy, bnvtxs[0], bnvtxs[1], cover, &csize); - - IFSET(ctrl->dbglvl, DBG_SEPINFO, - printf("Nvtxs: %6d, [%5d %5d], Cut: %6d, SS: [%6d %6d], Cover: %6d\n", nvtxs, graph->pwgts[0], graph->pwgts[1], graph->mincut, bnvtxs[0], bnvtxs[1]-bnvtxs[0], csize)); - - for (i=0; idbglvl, DBG_SEPINFO, - printf("Nvtxs: %6d, [%5d %5d], Cut: %6d, SS: [%6d %6d], Cover: %6d\n", nvtxs, graph->pwgts[0], graph->pwgts[1], graph->mincut, 0, 0, 0)); - } - - idxwspacefree(ctrl, nvtxs); - idxwspacefree(ctrl, graph->nbnd); - idxwspacefree(ctrl, graph->nbnd); - graph->nbnd = nbnd; - - - ASSERT(IsSeparable(graph)); -} - - - -/************************************************************************* -* This function takes a bisection and constructs a minimum weight vertex -* separator out of it. It uses an unweighted minimum-cover algorithm -* followed by node-based separator refinement. -**************************************************************************/ -void ConstructMinCoverSeparator(CtrlType *ctrl, GraphType *graph, float ubfactor) -{ - int i, ii, j, jj, k, l, nvtxs, nbnd, bnvtxs[3], bnedges[2], csize; - idxtype *xadj, *adjncy, *bxadj, *badjncy; - idxtype *where, *bndind, *bndptr, *vmap, *ivmap, *cover; - - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - adjncy = graph->adjncy; - - nbnd = graph->nbnd; - bndind = graph->bndind; - bndptr = graph->bndptr; - where = graph->where; - - vmap = idxwspacemalloc(ctrl, nvtxs); - ivmap = idxwspacemalloc(ctrl, nbnd); - cover = idxwspacemalloc(ctrl, nbnd); - - if (nbnd > 0) { - /* Go through the boundary and determine the sizes of the bipartite graph */ - bnvtxs[0] = bnvtxs[1] = bnedges[0] = bnedges[1] = 0; - for (i=0; i 0) { - bnvtxs[k]++; - bnedges[k] += xadj[j+1]-xadj[j]; - } - } - - bnvtxs[2] = bnvtxs[0]+bnvtxs[1]; - bnvtxs[1] = bnvtxs[0]; - bnvtxs[0] = 0; - - bxadj = idxmalloc(bnvtxs[2]+1, "ConstructMinCoverSeparator: bxadj"); - badjncy = idxmalloc(bnedges[0]+bnedges[1]+1, "ConstructMinCoverSeparator: badjncy"); - - /* Construct the ivmap and vmap */ - ASSERT(idxset(nvtxs, -1, vmap) == vmap); - for (i=0; i 0) { - vmap[j] = bnvtxs[k]; - ivmap[bnvtxs[k]++] = j; - } - } - - /* OK, go through and put the vertices of each part starting from 0 */ - bnvtxs[1] = bnvtxs[0]; - bnvtxs[0] = 0; - bxadj[0] = l = 0; - for (k=0; k<2; k++) { - for (ii=0; iibndptr[jj])); - badjncy[l++] = vmap[jj]; - } - } - bxadj[++bnvtxs[k]] = l; - } - } - } - - ASSERT(l <= bnedges[0]+bnedges[1]); - - MinCover(bxadj, badjncy, bnvtxs[0], bnvtxs[1], cover, &csize); - - IFSET(ctrl->dbglvl, DBG_SEPINFO, - printf("Nvtxs: %6d, [%5d %5d], Cut: %6d, SS: [%6d %6d], Cover: %6d\n", nvtxs, graph->pwgts[0], graph->pwgts[1], graph->mincut, bnvtxs[0], bnvtxs[1]-bnvtxs[0], csize)); - - for (i=0; idbglvl, DBG_SEPINFO, - printf("Nvtxs: %6d, [%5d %5d], Cut: %6d, SS: [%6d %6d], Cover: %6d\n", nvtxs, graph->pwgts[0], graph->pwgts[1], graph->mincut, 0, 0, 0)); - } - - /* Prepare to refine the vertex separator */ - idxcopy(nvtxs, graph->where, vmap); - GKfree(&graph->rdata, LTERM); - - Allocate2WayNodePartitionMemory(ctrl, graph); - idxcopy(nvtxs, vmap, graph->where); - idxwspacefree(ctrl, nvtxs+2*graph->nbnd); - - Compute2WayNodePartitionParams(ctrl, graph); - - ASSERT(CheckNodePartitionParams(graph)); - - FM_2WayNodeRefine_OneSided(ctrl, graph, ubfactor, 6); - - ASSERT(IsSeparable(graph)); -} - diff --git a/lib/metis-4.0/Lib/sfm.c b/lib/metis-4.0/Lib/sfm.c deleted file mode 100755 index 2193a2d69..000000000 --- a/lib/metis-4.0/Lib/sfm.c +++ /dev/null @@ -1,1069 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * sfm.c - * - * This file contains code that implementes an FM-based separator refinement - * - * Started 8/1/97 - * George - * - * $Id: sfm.c,v 1.1 1998/11/27 17:59:30 karypis Exp $ - * - */ - -#include - - -/************************************************************************* -* This function performs a node-based FM refinement -**************************************************************************/ -void FM_2WayNodeRefine(CtrlType *ctrl, GraphType *graph, float ubfactor, int npasses) -{ - int i, ii, j, k, jj, kk, nvtxs, nbnd, nswaps, nmind; - idxtype *xadj, *vwgt, *adjncy, *where, *pwgts, *edegrees, *bndind, *bndptr; - idxtype *mptr, *mind, *moved, *swaps, *perm; - PQueueType parts[2]; - NRInfoType *rinfo; - int higain, oldgain, mincut, initcut, mincutorder; - int pass, to, other, limit; - int badmaxpwgt, mindiff, newdiff; - int u[2], g[2]; - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - adjncy = graph->adjncy; - vwgt = graph->vwgt; - - bndind = graph->bndind; - bndptr = graph->bndptr; - where = graph->where; - pwgts = graph->pwgts; - rinfo = graph->nrinfo; - - - i = ComputeMaxNodeGain(nvtxs, xadj, adjncy, vwgt); - PQueueInit(ctrl, &parts[0], nvtxs, i); - PQueueInit(ctrl, &parts[1], nvtxs, i); - - moved = idxwspacemalloc(ctrl, nvtxs); - swaps = idxwspacemalloc(ctrl, nvtxs); - mptr = idxwspacemalloc(ctrl, nvtxs+1); - mind = idxwspacemalloc(ctrl, nvtxs); - perm = idxwspacemalloc(ctrl, nvtxs); - - IFSET(ctrl->dbglvl, DBG_REFINE, - printf("Partitions: [%6d %6d] Nv-Nb[%6d %6d]. ISep: %6d\n", pwgts[0], pwgts[1], graph->nvtxs, graph->nbnd, graph->mincut)); - - badmaxpwgt = (int)(ubfactor*(pwgts[0]+pwgts[1]+pwgts[2])/2); - - for (pass=0; passmincut; - nbnd = graph->nbnd; - - RandomPermute(nbnd, perm, 1); - for (ii=0; iioflags&OFLAG_COMPRESS ? amin(5*nbnd, 400) : amin(2*nbnd, 300)); - - /****************************************************** - * Get into the FM loop - *******************************************************/ - mptr[0] = nmind = 0; - mindiff = abs(pwgts[0]-pwgts[1]); - to = (pwgts[0] < pwgts[1] ? 0 : 1); - for (nswaps=0; nswaps g[1] ? 0 : (g[0] < g[1] ? 1 : pass%2)); - /* to = (g[0] > g[1] ? 0 : (g[0] < g[1] ? 1 : (pwgts[0] < pwgts[1] ? 0 : 1))); */ - - if (pwgts[to]+vwgt[u[to]] > badmaxpwgt) - to = (to+1)%2; - } - else if (u[0] == -1 && u[1] == -1) { - break; - } - else if (u[0] != -1 && pwgts[0]+vwgt[u[0]] <= badmaxpwgt) { - to = 0; - } - else if (u[1] != -1 && pwgts[1]+vwgt[u[1]] <= badmaxpwgt) { - to = 1; - } - else - break; - - other = (to+1)%2; - - higain = PQueueGetMax(&parts[to]); - if (moved[higain] == -1) /* Delete if it was in the separator originally */ - PQueueDelete(&parts[other], higain, vwgt[higain]-rinfo[higain].edegrees[to]); - - ASSERT(bndptr[higain] != -1); - - pwgts[2] -= (vwgt[higain]-rinfo[higain].edegrees[other]); - - newdiff = abs(pwgts[to]+vwgt[higain] - (pwgts[other]-rinfo[higain].edegrees[other])); - if (pwgts[2] < mincut || (pwgts[2] == mincut && newdiff < mindiff)) { - mincut = pwgts[2]; - mincutorder = nswaps; - mindiff = newdiff; - } - else { - if (nswaps - mincutorder > limit) { - pwgts[2] += (vwgt[higain]-rinfo[higain].edegrees[other]); - break; /* No further improvement, break out */ - } - } - - BNDDelete(nbnd, bndind, bndptr, higain); - pwgts[to] += vwgt[higain]; - where[higain] = to; - moved[higain] = nswaps; - swaps[nswaps] = higain; - - - /********************************************************** - * Update the degrees of the affected nodes - ***********************************************************/ - for (j=xadj[higain]; jdbglvl, DBG_MOVEINFO, - printf("Moved %6d to %3d, Gain: %5d [%5d] [%4d %4d] \t[%5d %5d %5d]\n", higain, to, g[to], g[other], vwgt[u[to]], vwgt[u[other]], pwgts[0], pwgts[1], pwgts[2])); - - } - - - /**************************************************************** - * Roll back computation - *****************************************************************/ - for (nswaps--; nswaps>mincutorder; nswaps--) { - higain = swaps[nswaps]; - - ASSERT(CheckNodePartitionParams(graph)); - - to = where[higain]; - other = (to+1)%2; - INC_DEC(pwgts[2], pwgts[to], vwgt[higain]); - where[higain] = 2; - BNDInsert(nbnd, bndind, bndptr, higain); - - edegrees = rinfo[higain].edegrees; - edegrees[0] = edegrees[1] = 0; - for (j=xadj[higain]; jdbglvl, DBG_REFINE, - printf("\tMinimum sep: %6d at %5d, PWGTS: [%6d %6d], NBND: %6d\n", mincut, mincutorder, pwgts[0], pwgts[1], nbnd)); - - graph->mincut = mincut; - graph->nbnd = nbnd; - - if (mincutorder == -1 || mincut >= initcut) - break; - } - - PQueueFree(ctrl, &parts[0]); - PQueueFree(ctrl, &parts[1]); - - idxwspacefree(ctrl, nvtxs+1); - idxwspacefree(ctrl, nvtxs); - idxwspacefree(ctrl, nvtxs); - idxwspacefree(ctrl, nvtxs); - idxwspacefree(ctrl, nvtxs); -} - - -/************************************************************************* -* This function performs a node-based FM refinement -**************************************************************************/ -void FM_2WayNodeRefine2(CtrlType *ctrl, GraphType *graph, float ubfactor, int npasses) -{ - int i, ii, j, k, jj, kk, nvtxs, nbnd, nswaps, nmind; - idxtype *xadj, *vwgt, *adjncy, *where, *pwgts, *edegrees, *bndind, *bndptr; - idxtype *mptr, *mind, *moved, *swaps, *perm; - PQueueType parts[2]; - NRInfoType *rinfo; - int higain, oldgain, mincut, initcut, mincutorder; - int pass, to, other, limit; - int badmaxpwgt, mindiff, newdiff; - int u[2], g[2]; - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - adjncy = graph->adjncy; - vwgt = graph->vwgt; - - bndind = graph->bndind; - bndptr = graph->bndptr; - where = graph->where; - pwgts = graph->pwgts; - rinfo = graph->nrinfo; - - - i = ComputeMaxNodeGain(nvtxs, xadj, adjncy, vwgt); - PQueueInit(ctrl, &parts[0], nvtxs, i); - PQueueInit(ctrl, &parts[1], nvtxs, i); - - moved = idxwspacemalloc(ctrl, nvtxs); - swaps = idxwspacemalloc(ctrl, nvtxs); - mptr = idxwspacemalloc(ctrl, nvtxs+1); - mind = idxwspacemalloc(ctrl, nvtxs); - perm = idxwspacemalloc(ctrl, nvtxs); - - IFSET(ctrl->dbglvl, DBG_REFINE, - printf("Partitions: [%6d %6d] Nv-Nb[%6d %6d]. ISep: %6d\n", pwgts[0], pwgts[1], graph->nvtxs, graph->nbnd, graph->mincut)); - - badmaxpwgt = (int)(ubfactor*(pwgts[0]+pwgts[1]+pwgts[2])/2); - - for (pass=0; passmincut; - nbnd = graph->nbnd; - - RandomPermute(nbnd, perm, 1); - for (ii=0; iioflags&OFLAG_COMPRESS ? amin(5*nbnd, 400) : amin(2*nbnd, 300)); - - /****************************************************** - * Get into the FM loop - *******************************************************/ - mptr[0] = nmind = 0; - mindiff = abs(pwgts[0]-pwgts[1]); - to = (pwgts[0] < pwgts[1] ? 0 : 1); - for (nswaps=0; nswaps g[1] ? 0 : (g[0] < g[1] ? 1 : pass%2)); - /* to = (g[0] > g[1] ? 0 : (g[0] < g[1] ? 1 : (pwgts[0] < pwgts[1] ? 0 : 1))); */ - - if (pwgts[to]+vwgt[u[to]] > badmaxpwgt) - to = (to+1)%2; - } - else if (u[0] == -1 && u[1] == -1) { - break; - } - else if (u[0] != -1 && pwgts[0]+vwgt[u[0]] <= badmaxpwgt) { - to = 0; - } - else if (u[1] != -1 && pwgts[1]+vwgt[u[1]] <= badmaxpwgt) { - to = 1; - } - else - break; - - other = (to+1)%2; - - higain = PQueueGetMax(&parts[to]); - if (moved[higain] == -1) /* Delete if it was in the separator originally */ - PQueueDelete(&parts[other], higain, vwgt[higain]-rinfo[higain].edegrees[to]); - - ASSERT(bndptr[higain] != -1); - - pwgts[2] -= (vwgt[higain]-rinfo[higain].edegrees[other]); - - newdiff = abs(pwgts[to]+vwgt[higain] - (pwgts[other]-rinfo[higain].edegrees[other])); - if (pwgts[2] < mincut || (pwgts[2] == mincut && newdiff < mindiff)) { - mincut = pwgts[2]; - mincutorder = nswaps; - mindiff = newdiff; - } - else { - if (nswaps - mincutorder > limit) { - pwgts[2] += (vwgt[higain]-rinfo[higain].edegrees[other]); - break; /* No further improvement, break out */ - } - } - - BNDDelete(nbnd, bndind, bndptr, higain); - pwgts[to] += vwgt[higain]; - where[higain] = to; - moved[higain] = nswaps; - swaps[nswaps] = higain; - - - /********************************************************** - * Update the degrees of the affected nodes - ***********************************************************/ - for (j=xadj[higain]; jdbglvl, DBG_MOVEINFO, - printf("Moved %6d to %3d, Gain: %5d [%5d] [%4d %4d] \t[%5d %5d %5d]\n", higain, to, g[to], g[other], vwgt[u[to]], vwgt[u[other]], pwgts[0], pwgts[1], pwgts[2])); - - } - - - /**************************************************************** - * Roll back computation - *****************************************************************/ - for (nswaps--; nswaps>mincutorder; nswaps--) { - higain = swaps[nswaps]; - - ASSERT(CheckNodePartitionParams(graph)); - - to = where[higain]; - other = (to+1)%2; - INC_DEC(pwgts[2], pwgts[to], vwgt[higain]); - where[higain] = 2; - BNDInsert(nbnd, bndind, bndptr, higain); - - edegrees = rinfo[higain].edegrees; - edegrees[0] = edegrees[1] = 0; - for (j=xadj[higain]; jdbglvl, DBG_REFINE, - printf("\tMinimum sep: %6d at %5d, PWGTS: [%6d %6d], NBND: %6d\n", mincut, mincutorder, pwgts[0], pwgts[1], nbnd)); - - graph->mincut = mincut; - graph->nbnd = nbnd; - - if (mincutorder == -1 || mincut >= initcut) - break; - } - - PQueueFree(ctrl, &parts[0]); - PQueueFree(ctrl, &parts[1]); - - idxwspacefree(ctrl, nvtxs+1); - idxwspacefree(ctrl, nvtxs); - idxwspacefree(ctrl, nvtxs); - idxwspacefree(ctrl, nvtxs); - idxwspacefree(ctrl, nvtxs); -} - - -/************************************************************************* -* This function performs a node-based FM refinement -**************************************************************************/ -void FM_2WayNodeRefineEqWgt(CtrlType *ctrl, GraphType *graph, int npasses) -{ - int i, ii, j, k, jj, kk, nvtxs, nbnd, nswaps, nmind; - idxtype *xadj, *vwgt, *adjncy, *where, *pwgts, *edegrees, *bndind, *bndptr; - idxtype *mptr, *mind, *moved, *swaps, *perm; - PQueueType parts[2]; - NRInfoType *rinfo; - int higain, oldgain, mincut, initcut, mincutorder; - int pass, to, other, limit; - int mindiff, newdiff; - int u[2], g[2]; - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - adjncy = graph->adjncy; - vwgt = graph->vwgt; - - bndind = graph->bndind; - bndptr = graph->bndptr; - where = graph->where; - pwgts = graph->pwgts; - rinfo = graph->nrinfo; - - - i = ComputeMaxNodeGain(nvtxs, xadj, adjncy, vwgt); - PQueueInit(ctrl, &parts[0], nvtxs, i); - PQueueInit(ctrl, &parts[1], nvtxs, i); - - moved = idxwspacemalloc(ctrl, nvtxs); - swaps = idxwspacemalloc(ctrl, nvtxs); - mptr = idxwspacemalloc(ctrl, nvtxs+1); - mind = idxwspacemalloc(ctrl, nvtxs); - perm = idxwspacemalloc(ctrl, nvtxs); - - IFSET(ctrl->dbglvl, DBG_REFINE, - printf("Partitions: [%6d %6d] Nv-Nb[%6d %6d]. ISep: %6d\n", pwgts[0], pwgts[1], graph->nvtxs, graph->nbnd, graph->mincut)); - - for (pass=0; passmincut; - nbnd = graph->nbnd; - - RandomPermute(nbnd, perm, 1); - for (ii=0; iioflags&OFLAG_COMPRESS ? amin(5*nbnd, 400) : amin(2*nbnd, 300)); - - /****************************************************** - * Get into the FM loop - *******************************************************/ - mptr[0] = nmind = 0; - mindiff = abs(pwgts[0]-pwgts[1]); - to = (pwgts[0] < pwgts[1] ? 0 : 1); - for (nswaps=0; nswaps g[1] ? 0 : (g[0] < g[1] ? 1 : pass%2)); - } - } - other = (to+1)%2; - - if ((higain = PQueueGetMax(&parts[to])) == -1) - break; - - if (moved[higain] == -1) /* Delete if it was in the separator originally */ - PQueueDelete(&parts[other], higain, vwgt[higain]-rinfo[higain].edegrees[to]); - - ASSERT(bndptr[higain] != -1); - - pwgts[2] -= (vwgt[higain]-rinfo[higain].edegrees[other]); - - newdiff = abs(pwgts[to]+vwgt[higain] - (pwgts[other]-rinfo[higain].edegrees[other])); - if (pwgts[2] < mincut || (pwgts[2] == mincut && newdiff < mindiff)) { - mincut = pwgts[2]; - mincutorder = nswaps; - mindiff = newdiff; - } - else { - if (nswaps - mincutorder > limit) { - pwgts[2] += (vwgt[higain]-rinfo[higain].edegrees[other]); - break; /* No further improvement, break out */ - } - } - - BNDDelete(nbnd, bndind, bndptr, higain); - pwgts[to] += vwgt[higain]; - where[higain] = to; - moved[higain] = nswaps; - swaps[nswaps] = higain; - - - /********************************************************** - * Update the degrees of the affected nodes - ***********************************************************/ - for (j=xadj[higain]; jdbglvl, DBG_MOVEINFO, - printf("Moved %6d to %3d, Gain: %5d [%5d] [%4d %4d] \t[%5d %5d %5d]\n", higain, to, g[to], g[other], vwgt[u[to]], vwgt[u[other]], pwgts[0], pwgts[1], pwgts[2])); - - } - - - /**************************************************************** - * Roll back computation - *****************************************************************/ - for (nswaps--; nswaps>mincutorder; nswaps--) { - higain = swaps[nswaps]; - - ASSERT(CheckNodePartitionParams(graph)); - - to = where[higain]; - other = (to+1)%2; - INC_DEC(pwgts[2], pwgts[to], vwgt[higain]); - where[higain] = 2; - BNDInsert(nbnd, bndind, bndptr, higain); - - edegrees = rinfo[higain].edegrees; - edegrees[0] = edegrees[1] = 0; - for (j=xadj[higain]; jdbglvl, DBG_REFINE, - printf("\tMinimum sep: %6d at %5d, PWGTS: [%6d %6d], NBND: %6d\n", mincut, mincutorder, pwgts[0], pwgts[1], nbnd)); - - graph->mincut = mincut; - graph->nbnd = nbnd; - - if (mincutorder == -1 || mincut >= initcut) - break; - } - - PQueueFree(ctrl, &parts[0]); - PQueueFree(ctrl, &parts[1]); - - idxwspacefree(ctrl, nvtxs+1); - idxwspacefree(ctrl, nvtxs); - idxwspacefree(ctrl, nvtxs); - idxwspacefree(ctrl, nvtxs); - idxwspacefree(ctrl, nvtxs); -} - - -/************************************************************************* -* This function performs a node-based FM refinement. This is the -* one-way version -**************************************************************************/ -void FM_2WayNodeRefine_OneSided(CtrlType *ctrl, GraphType *graph, float ubfactor, int npasses) -{ - int i, ii, j, k, jj, kk, nvtxs, nbnd, nswaps, nmind; - idxtype *xadj, *vwgt, *adjncy, *where, *pwgts, *edegrees, *bndind, *bndptr; - idxtype *mptr, *mind, *swaps, *perm; - PQueueType parts; - NRInfoType *rinfo; - int higain, oldgain, mincut, initcut, mincutorder; - int pass, to, other, limit; - int badmaxpwgt, mindiff, newdiff; - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - adjncy = graph->adjncy; - vwgt = graph->vwgt; - - bndind = graph->bndind; - bndptr = graph->bndptr; - where = graph->where; - pwgts = graph->pwgts; - rinfo = graph->nrinfo; - - PQueueInit(ctrl, &parts, nvtxs, ComputeMaxNodeGain(nvtxs, xadj, adjncy, vwgt)); - - perm = idxwspacemalloc(ctrl, nvtxs); - swaps = idxwspacemalloc(ctrl, nvtxs); - mptr = idxwspacemalloc(ctrl, nvtxs); - mind = idxwspacemalloc(ctrl, nvtxs+1); - - IFSET(ctrl->dbglvl, DBG_REFINE, - printf("Partitions-N1: [%6d %6d] Nv-Nb[%6d %6d]. ISep: %6d\n", pwgts[0], pwgts[1], graph->nvtxs, graph->nbnd, graph->mincut)); - - badmaxpwgt = (int)(ubfactor*(pwgts[0]+pwgts[1]+pwgts[2])/2); - - to = (pwgts[0] < pwgts[1] ? 1 : 0); - for (pass=0; passmincut; - nbnd = graph->nbnd; - - RandomPermute(nbnd, perm, 1); - for (ii=0; iioflags&OFLAG_COMPRESS ? amin(5*nbnd, 400) : amin(2*nbnd, 300)); - - /****************************************************** - * Get into the FM loop - *******************************************************/ - mptr[0] = nmind = 0; - mindiff = abs(pwgts[0]-pwgts[1]); - for (nswaps=0; nswaps badmaxpwgt) - break; /* No point going any further. Balance will be bad */ - - pwgts[2] -= (vwgt[higain]-rinfo[higain].edegrees[other]); - - newdiff = abs(pwgts[to]+vwgt[higain] - (pwgts[other]-rinfo[higain].edegrees[other])); - if (pwgts[2] < mincut || (pwgts[2] == mincut && newdiff < mindiff)) { - mincut = pwgts[2]; - mincutorder = nswaps; - mindiff = newdiff; - } - else { - if (nswaps - mincutorder > limit) { - pwgts[2] += (vwgt[higain]-rinfo[higain].edegrees[other]); - break; /* No further improvement, break out */ - } - } - - BNDDelete(nbnd, bndind, bndptr, higain); - pwgts[to] += vwgt[higain]; - where[higain] = to; - swaps[nswaps] = higain; - - - /********************************************************** - * Update the degrees of the affected nodes - ***********************************************************/ - for (j=xadj[higain]; jdbglvl, DBG_MOVEINFO, - printf("Moved %6d to %3d, Gain: %5d [%5d] \t[%5d %5d %5d] [%3d %2d]\n", - higain, to, (vwgt[higain]-rinfo[higain].edegrees[other]), vwgt[higain], pwgts[0], pwgts[1], pwgts[2], nswaps, limit)); - - } - - - /**************************************************************** - * Roll back computation - *****************************************************************/ - for (nswaps--; nswaps>mincutorder; nswaps--) { - higain = swaps[nswaps]; - - ASSERT(CheckNodePartitionParams(graph)); - ASSERT(where[higain] == to); - - INC_DEC(pwgts[2], pwgts[to], vwgt[higain]); - where[higain] = 2; - BNDInsert(nbnd, bndind, bndptr, higain); - - edegrees = rinfo[higain].edegrees; - edegrees[0] = edegrees[1] = 0; - for (j=xadj[higain]; jdbglvl, DBG_REFINE, - printf("\tMinimum sep: %6d at %5d, PWGTS: [%6d %6d], NBND: %6d\n", mincut, mincutorder, pwgts[0], pwgts[1], nbnd)); - - graph->mincut = mincut; - graph->nbnd = nbnd; - - if (pass%2 == 1 && (mincutorder == -1 || mincut >= initcut)) - break; - } - - PQueueFree(ctrl, &parts); - - idxwspacefree(ctrl, nvtxs+1); - idxwspacefree(ctrl, nvtxs); - idxwspacefree(ctrl, nvtxs); - idxwspacefree(ctrl, nvtxs); -} - - - -/************************************************************************* -* This function performs a node-based FM refinement -**************************************************************************/ -void FM_2WayNodeBalance(CtrlType *ctrl, GraphType *graph, float ubfactor) -{ - int i, ii, j, k, jj, kk, nvtxs, nbnd, nswaps; - idxtype *xadj, *vwgt, *adjncy, *where, *pwgts, *edegrees, *bndind, *bndptr; - idxtype *perm, *moved; - PQueueType parts; - NRInfoType *rinfo; - int higain, oldgain; - int pass, to, other; - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - adjncy = graph->adjncy; - vwgt = graph->vwgt; - - bndind = graph->bndind; - bndptr = graph->bndptr; - where = graph->where; - pwgts = graph->pwgts; - rinfo = graph->nrinfo; - - if (abs(pwgts[0]-pwgts[1]) < (int)((ubfactor-1.0)*(pwgts[0]+pwgts[1]))) - return; - if (abs(pwgts[0]-pwgts[1]) < 3*idxsum(nvtxs, vwgt)/nvtxs) - return; - - to = (pwgts[0] < pwgts[1] ? 0 : 1); - other = (to+1)%2; - - PQueueInit(ctrl, &parts, nvtxs, ComputeMaxNodeGain(nvtxs, xadj, adjncy, vwgt)); - - perm = idxwspacemalloc(ctrl, nvtxs); - moved = idxset(nvtxs, -1, idxwspacemalloc(ctrl, nvtxs)); - - IFSET(ctrl->dbglvl, DBG_REFINE, - printf("Partitions: [%6d %6d] Nv-Nb[%6d %6d]. ISep: %6d [B]\n", pwgts[0], pwgts[1], graph->nvtxs, graph->nbnd, graph->mincut)); - - nbnd = graph->nbnd; - RandomPermute(nbnd, perm, 1); - for (ii=0; iidbglvl, DBG_MOVEINFO, - printf("Moved %6d to %3d, Gain: %3d, \t[%5d %5d %5d]\n", higain, to, vwgt[higain]-rinfo[higain].edegrees[other], pwgts[0], pwgts[1], pwgts[2])); - - - /********************************************************** - * Update the degrees of the affected nodes - ***********************************************************/ - for (j=xadj[higain]; j pwgts[other]) - break; - } - - IFSET(ctrl->dbglvl, DBG_REFINE, - printf("\tBalanced sep: %6d at %4d, PWGTS: [%6d %6d], NBND: %6d\n", pwgts[2], nswaps, pwgts[0], pwgts[1], nbnd)); - - graph->mincut = pwgts[2]; - graph->nbnd = nbnd; - - - PQueueFree(ctrl, &parts); - - idxwspacefree(ctrl, nvtxs); - idxwspacefree(ctrl, nvtxs); -} - - -/************************************************************************* -* This function computes the maximum possible gain for a vertex -**************************************************************************/ -int ComputeMaxNodeGain(int nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt) -{ - int i, j, k, max; - - max = 0; - for (j=xadj[0]; j - - -/************************************************************************* -* This function is the entry point of the separator refinement -**************************************************************************/ -void Refine2WayNode(CtrlType *ctrl, GraphType *orggraph, GraphType *graph, float ubfactor) -{ - - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->UncoarsenTmr)); - - for (;;) { - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->RefTmr)); - if (ctrl->RType != 15) - FM_2WayNodeBalance(ctrl, graph, ubfactor); - - switch (ctrl->RType) { - case 1: - FM_2WayNodeRefine(ctrl, graph, ubfactor, 8); - break; - case 2: - FM_2WayNodeRefine_OneSided(ctrl, graph, ubfactor, 8); - break; - case 3: - FM_2WayNodeRefine(ctrl, graph, ubfactor, 8); - FM_2WayNodeRefine_OneSided(ctrl, graph, ubfactor, 8); - break; - case 4: - FM_2WayNodeRefine_OneSided(ctrl, graph, ubfactor, 8); - FM_2WayNodeRefine(ctrl, graph, ubfactor, 8); - break; - case 5: - FM_2WayNodeRefineEqWgt(ctrl, graph, 8); - break; - } - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->RefTmr)); - - if (graph == orggraph) - break; - - graph = graph->finer; - IFSET(ctrl->dbglvl, DBG_TIME, starttimer(ctrl->ProjectTmr)); - Project2WayNodePartition(ctrl, graph); - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->ProjectTmr)); - } - - IFSET(ctrl->dbglvl, DBG_TIME, stoptimer(ctrl->UncoarsenTmr)); -} - - -/************************************************************************* -* This function allocates memory for 2-way edge refinement -**************************************************************************/ -void Allocate2WayNodePartitionMemory(CtrlType *ctrl, GraphType *graph) -{ - int nvtxs, pad64; - - nvtxs = graph->nvtxs; - - pad64 = (3*nvtxs+3)%2; - - graph->rdata = idxmalloc(3*nvtxs+3+(sizeof(NRInfoType)/sizeof(idxtype))*nvtxs+pad64, "Allocate2WayPartitionMemory: rdata"); - graph->pwgts = graph->rdata; - graph->where = graph->rdata + 3; - graph->bndptr = graph->rdata + nvtxs + 3; - graph->bndind = graph->rdata + 2*nvtxs + 3; - graph->nrinfo = (NRInfoType *)(graph->rdata + 3*nvtxs + 3 + pad64); -} - - - -/************************************************************************* -* This function computes the initial id/ed -**************************************************************************/ -void Compute2WayNodePartitionParams(CtrlType *ctrl, GraphType *graph) -{ - int i, j, k, l, nvtxs, nbnd; - idxtype *xadj, *adjncy, *adjwgt, *vwgt; - idxtype *where, *pwgts, *bndind, *bndptr, *edegrees; - NRInfoType *rinfo; - int me, other; - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - vwgt = graph->vwgt; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - - where = graph->where; - rinfo = graph->nrinfo; - pwgts = idxset(3, 0, graph->pwgts); - bndind = graph->bndind; - bndptr = idxset(nvtxs, -1, graph->bndptr); - - - /*------------------------------------------------------------ - / Compute now the separator external degrees - /------------------------------------------------------------*/ - nbnd = 0; - for (i=0; i=0 && me <= 2); - - if (me == 2) { /* If it is on the separator do some computations */ - BNDInsert(nbnd, bndind, bndptr, i); - - edegrees = rinfo[i].edegrees; - edegrees[0] = edegrees[1] = 0; - - for (j=xadj[i]; jmincut = pwgts[2]; - graph->nbnd = nbnd; -} - - -/************************************************************************* -* This function computes the initial id/ed -**************************************************************************/ -void Project2WayNodePartition(CtrlType *ctrl, GraphType *graph) -{ - int i, j, nvtxs; - idxtype *cmap, *where, *cwhere; - GraphType *cgraph; - - cgraph = graph->coarser; - cwhere = cgraph->where; - - nvtxs = graph->nvtxs; - cmap = graph->cmap; - - Allocate2WayNodePartitionMemory(ctrl, graph); - where = graph->where; - - /* Project the partition */ - for (i=0; i= 0 && where[i] <= 2, ("%d %d %d %d\n", i, cmap[i], where[i], cwhere[cmap[i]])); - } - - FreeGraph(graph->coarser); - graph->coarser = NULL; - - Compute2WayNodePartitionParams(ctrl, graph); -} diff --git a/lib/metis-4.0/Lib/stat.c b/lib/metis-4.0/Lib/stat.c deleted file mode 100755 index 90be0afe8..000000000 --- a/lib/metis-4.0/Lib/stat.c +++ /dev/null @@ -1,287 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * stat.c - * - * This file computes various statistics - * - * Started 7/25/97 - * George - * - * $Id: stat.c,v 1.1 1998/11/27 17:59:31 karypis Exp $ - * - */ - -#include - - -/************************************************************************* -* This function computes cuts and balance information -**************************************************************************/ -void ComputePartitionInfo(GraphType *graph, int nparts, idxtype *where) -{ - int i, j, k, nvtxs, ncon, mustfree=0; - idxtype *xadj, *adjncy, *vwgt, *adjwgt, *kpwgts, *tmpptr; - idxtype *padjncy, *padjwgt, *padjcut; - - nvtxs = graph->nvtxs; - ncon = graph->ncon; - xadj = graph->xadj; - adjncy = graph->adjncy; - vwgt = graph->vwgt; - adjwgt = graph->adjwgt; - - if (vwgt == NULL) { - vwgt = graph->vwgt = idxsmalloc(nvtxs, 1, "vwgt"); - mustfree = 1; - } - if (adjwgt == NULL) { - adjwgt = graph->adjwgt = idxsmalloc(xadj[nvtxs], 1, "adjwgt"); - mustfree += 2; - } - - printf("%d-way Cut: %5d, Vol: %5d, ", nparts, ComputeCut(graph, where), ComputeVolume(graph, where)); - - /* Compute balance information */ - kpwgts = idxsmalloc(ncon*nparts, 0, "ComputePartitionInfo: kpwgts"); - - for (i=0; iwhere; - graph->where = where; - for (i=0; iwhere = tmpptr; - - if (mustfree == 1 || mustfree == 3) { - free(vwgt); - graph->vwgt = NULL; - } - if (mustfree == 2 || mustfree == 3) { - free(adjwgt); - graph->adjwgt = NULL; - } - - GKfree(&kpwgts, &padjncy, &padjwgt, &padjcut, LTERM); -} - - -/************************************************************************* -* This function computes cuts and balance information -**************************************************************************/ -void ComputePartitionInfoBipartite(GraphType *graph, int nparts, idxtype *where) -{ - int i, j, k, nvtxs, ncon, mustfree=0; - idxtype *xadj, *adjncy, *vwgt, *vsize, *adjwgt, *kpwgts, *tmpptr; - idxtype *padjncy, *padjwgt, *padjcut; - - nvtxs = graph->nvtxs; - ncon = graph->ncon; - xadj = graph->xadj; - adjncy = graph->adjncy; - vwgt = graph->vwgt; - vsize = graph->vsize; - adjwgt = graph->adjwgt; - - if (vwgt == NULL) { - vwgt = graph->vwgt = idxsmalloc(nvtxs, 1, "vwgt"); - mustfree = 1; - } - if (adjwgt == NULL) { - adjwgt = graph->adjwgt = idxsmalloc(xadj[nvtxs], 1, "adjwgt"); - mustfree += 2; - } - - printf("%d-way Cut: %5d, Vol: %5d, ", nparts, ComputeCut(graph, where), ComputeVolume(graph, where)); - - /* Compute balance information */ - kpwgts = idxsmalloc(ncon*nparts, 0, "ComputePartitionInfo: kpwgts"); - - for (i=0; ivwgt = NULL; - } - if (mustfree == 2 || mustfree == 3) { - free(adjwgt); - graph->adjwgt = NULL; - } - - GKfree(&kpwgts, &padjncy, &padjwgt, &padjcut, LTERM); -} - - - -/************************************************************************* -* This function computes the balance of the partitioning -**************************************************************************/ -void ComputePartitionBalance(GraphType *graph, int nparts, idxtype *where, float *ubvec) -{ - int i, j, nvtxs, ncon; - idxtype *kpwgts, *vwgt; - float balance; - - nvtxs = graph->nvtxs; - ncon = graph->ncon; - vwgt = graph->vwgt; - - kpwgts = idxsmalloc(nparts, 0, "ComputePartitionInfo: kpwgts"); - - if (vwgt == NULL) { - for (i=0; invtxs; i++) - kpwgts[where[i]] += vwgt[i*ncon+j]; - - ubvec[j] = 1.0*nparts*kpwgts[idxamax(nparts, kpwgts)]/(1.0*idxsum(nparts, kpwgts)); - } - } - - free(kpwgts); - -} - - -/************************************************************************* -* This function computes the balance of the element partitioning -**************************************************************************/ -float ComputeElementBalance(int ne, int nparts, idxtype *where) -{ - int i; - idxtype *kpwgts; - float balance; - - kpwgts = idxsmalloc(nparts, 0, "ComputeElementBalance: kpwgts"); - - for (i=0; i - - -/************************************************************************* -* This function performs k-way refinement -**************************************************************************/ -void Random_KWayEdgeRefineMConn(CtrlType *ctrl, GraphType *graph, int nparts, float *tpwgts, float ubfactor, int npasses, int ffactor) -{ - int i, ii, iii, j, jj, k, l, pass, nvtxs, nmoves, nbnd, tvwgt, myndegrees; - int from, me, to, oldcut, vwgt, gain; - int maxndoms, nadd; - idxtype *xadj, *adjncy, *adjwgt; - idxtype *where, *pwgts, *perm, *bndptr, *bndind, *minwgt, *maxwgt, *itpwgts; - idxtype *phtable, *pmat, *pmatptr, *ndoms; - EDegreeType *myedegrees; - RInfoType *myrinfo; - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - - bndptr = graph->bndptr; - bndind = graph->bndind; - - where = graph->where; - pwgts = graph->pwgts; - - pmat = ctrl->wspace.pmat; - phtable = idxwspacemalloc(ctrl, nparts); - ndoms = idxwspacemalloc(ctrl, nparts); - - ComputeSubDomainGraph(graph, nparts, pmat, ndoms); - - /* Setup the weight intervals of the various subdomains */ - minwgt = idxwspacemalloc(ctrl, nparts); - maxwgt = idxwspacemalloc(ctrl, nparts); - itpwgts = idxwspacemalloc(ctrl, nparts); - tvwgt = idxsum(nparts, pwgts); - ASSERT(tvwgt == idxsum(nvtxs, graph->vwgt)); - - for (i=0; idbglvl, DBG_REFINE, - printf("Partitions: [%6d %6d]-[%6d %6d], Balance: %5.3f, Nv-Nb[%6d %6d]. Cut: %6d\n", - pwgts[idxamin(nparts, pwgts)], pwgts[idxamax(nparts, pwgts)], minwgt[0], maxwgt[0], - 1.0*nparts*pwgts[idxamax(nparts, pwgts)]/tvwgt, graph->nvtxs, graph->nbnd, - graph->mincut)); - - for (pass=0; passmincut); - - maxndoms = ndoms[idxamax(nparts, ndoms)]; - - oldcut = graph->mincut; - nbnd = graph->nbnd; - - RandomPermute(nbnd, perm, 1); - for (nmoves=iii=0; iiinbnd; iii++) { - ii = perm[iii]; - if (ii >= nbnd) - continue; - i = bndind[ii]; - - myrinfo = graph->rinfo+i; - - if (myrinfo->ed >= myrinfo->id) { /* Total ED is too high */ - from = where[i]; - vwgt = graph->vwgt[i]; - - if (myrinfo->id > 0 && pwgts[from]-vwgt < minwgt[from]) - continue; /* This cannot be moved! */ - - myedegrees = myrinfo->edegrees; - myndegrees = myrinfo->ndegrees; - - /* Determine the valid domains */ - for (j=0; j maxndoms-1) { - phtable[to] = 0; - nadd = maxndoms; - break; - } - nadd++; - } - } - if (ndoms[to]+nadd > maxndoms) - phtable[to] = 0; - if (nadd == 0) - phtable[to] = 2; - } - - /* Find the first valid move */ - j = myrinfo->id; - for (k=0; kid. Allow good nodes to move */ - if (pwgts[to]+vwgt <= maxwgt[to]+ffactor*gain && gain >= 0) - break; - } - if (k == myndegrees) - continue; /* break out if you did not find a candidate */ - - for (j=k+1; j myedegrees[k].ed && pwgts[to]+vwgt <= maxwgt[to]) || - (myedegrees[j].ed == myedegrees[k].ed && - itpwgts[myedegrees[k].pid]*pwgts[to] < itpwgts[to]*pwgts[myedegrees[k].pid])) - k = j; - } - - to = myedegrees[k].pid; - - j = 0; - if (myedegrees[k].ed-myrinfo->id > 0) - j = 1; - else if (myedegrees[k].ed-myrinfo->id == 0) { - if (/*(iii&7) == 0 ||*/ phtable[myedegrees[k].pid] == 2 || pwgts[from] >= maxwgt[from] || itpwgts[from]*(pwgts[to]+vwgt) < itpwgts[to]*pwgts[from]) - j = 1; - } - if (j == 0) - continue; - - /*===================================================================== - * If we got here, we can now move the vertex from 'from' to 'to' - *======================================================================*/ - graph->mincut -= myedegrees[k].ed-myrinfo->id; - - IFSET(ctrl->dbglvl, DBG_MOVEINFO, printf("\t\tMoving %6d to %3d. Gain: %4d. Cut: %6d\n", i, to, myedegrees[k].ed-myrinfo->id, graph->mincut)); - - /* Update pmat to reflect the move of 'i' */ - pmat[from*nparts+to] += (myrinfo->id-myedegrees[k].ed); - pmat[to*nparts+from] += (myrinfo->id-myedegrees[k].ed); - if (pmat[from*nparts+to] == 0) { - ndoms[from]--; - if (ndoms[from]+1 == maxndoms) - maxndoms = ndoms[idxamax(nparts, ndoms)]; - } - if (pmat[to*nparts+from] == 0) { - ndoms[to]--; - if (ndoms[to]+1 == maxndoms) - maxndoms = ndoms[idxamax(nparts, ndoms)]; - } - - /* Update where, weight, and ID/ED information of the vertex you moved */ - where[i] = to; - INC_DEC(pwgts[to], pwgts[from], vwgt); - myrinfo->ed += myrinfo->id-myedegrees[k].ed; - SWAP(myrinfo->id, myedegrees[k].ed, j); - if (myedegrees[k].ed == 0) - myedegrees[k] = myedegrees[--myrinfo->ndegrees]; - else - myedegrees[k].pid = from; - - if (myrinfo->ed-myrinfo->id < 0) - BNDDelete(nbnd, bndind, bndptr, i); - - /* Update the degrees of adjacent vertices */ - for (j=xadj[i]; jrinfo+ii; - if (myrinfo->edegrees == NULL) { - myrinfo->edegrees = ctrl->wspace.edegrees+ctrl->wspace.cdegree; - ctrl->wspace.cdegree += xadj[ii+1]-xadj[ii]; - } - myedegrees = myrinfo->edegrees; - - ASSERT(CheckRInfo(myrinfo)); - - if (me == from) { - INC_DEC(myrinfo->ed, myrinfo->id, adjwgt[j]); - - if (myrinfo->ed-myrinfo->id >= 0 && bndptr[ii] == -1) - BNDInsert(nbnd, bndind, bndptr, ii); - } - else if (me == to) { - INC_DEC(myrinfo->id, myrinfo->ed, adjwgt[j]); - - if (myrinfo->ed-myrinfo->id < 0 && bndptr[ii] != -1) - BNDDelete(nbnd, bndind, bndptr, ii); - } - - /* Remove contribution from the .ed of 'from' */ - if (me != from) { - for (k=0; kndegrees; k++) { - if (myedegrees[k].pid == from) { - if (myedegrees[k].ed == adjwgt[j]) - myedegrees[k] = myedegrees[--myrinfo->ndegrees]; - else - myedegrees[k].ed -= adjwgt[j]; - break; - } - } - } - - /* Add contribution to the .ed of 'to' */ - if (me != to) { - for (k=0; kndegrees; k++) { - if (myedegrees[k].pid == to) { - myedegrees[k].ed += adjwgt[j]; - break; - } - } - if (k == myrinfo->ndegrees) { - myedegrees[myrinfo->ndegrees].pid = to; - myedegrees[myrinfo->ndegrees++].ed = adjwgt[j]; - } - } - - /* Update pmat to reflect the move of 'i' for domains other than 'from' and 'to' */ - if (me != from && me != to) { - pmat[me*nparts+from] -= adjwgt[j]; - pmat[from*nparts+me] -= adjwgt[j]; - if (pmat[me*nparts+from] == 0) { - ndoms[me]--; - if (ndoms[me]+1 == maxndoms) - maxndoms = ndoms[idxamax(nparts, ndoms)]; - } - if (pmat[from*nparts+me] == 0) { - ndoms[from]--; - if (ndoms[from]+1 == maxndoms) - maxndoms = ndoms[idxamax(nparts, ndoms)]; - } - - if (pmat[me*nparts+to] == 0) { - ndoms[me]++; - if (ndoms[me] > maxndoms) { - printf("You just increased the maxndoms: %d %d\n", ndoms[me], maxndoms); - maxndoms = ndoms[me]; - } - } - if (pmat[to*nparts+me] == 0) { - ndoms[to]++; - if (ndoms[to] > maxndoms) { - printf("You just increased the maxndoms: %d %d\n", ndoms[to], maxndoms); - maxndoms = ndoms[to]; - } - } - pmat[me*nparts+to] += adjwgt[j]; - pmat[to*nparts+me] += adjwgt[j]; - } - - ASSERT(myrinfo->ndegrees <= xadj[ii+1]-xadj[ii]); - ASSERT(CheckRInfo(myrinfo)); - - } - nmoves++; - } - } - - graph->nbnd = nbnd; - - IFSET(ctrl->dbglvl, DBG_REFINE, - printf("\t[%6d %6d], Balance: %5.3f, Nb: %6d. Nmoves: %5d, Cut: %5d, Vol: %5d, %d\n", - pwgts[idxamin(nparts, pwgts)], pwgts[idxamax(nparts, pwgts)], - 1.0*nparts*pwgts[idxamax(nparts, pwgts)]/tvwgt, graph->nbnd, nmoves, - graph->mincut, ComputeVolume(graph, where), idxsum(nparts, ndoms))); - - if (graph->mincut == oldcut) - break; - } - - idxwspacefree(ctrl, nparts); - idxwspacefree(ctrl, nparts); - idxwspacefree(ctrl, nparts); - idxwspacefree(ctrl, nparts); - idxwspacefree(ctrl, nparts); - idxwspacefree(ctrl, nvtxs); -} - - - -/************************************************************************* -* This function performs k-way refinement -**************************************************************************/ -void Greedy_KWayEdgeBalanceMConn(CtrlType *ctrl, GraphType *graph, int nparts, float *tpwgts, float ubfactor, int npasses) -{ - int i, ii, iii, j, jj, k, l, pass, nvtxs, nbnd, tvwgt, myndegrees, oldgain, gain, nmoves; - int from, me, to, oldcut, vwgt, maxndoms, nadd; - idxtype *xadj, *adjncy, *adjwgt; - idxtype *where, *pwgts, *perm, *bndptr, *bndind, *minwgt, *maxwgt, *moved, *itpwgts; - idxtype *phtable, *pmat, *pmatptr, *ndoms; - EDegreeType *myedegrees; - RInfoType *myrinfo; - PQueueType queue; - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - - bndind = graph->bndind; - bndptr = graph->bndptr; - - where = graph->where; - pwgts = graph->pwgts; - - pmat = ctrl->wspace.pmat; - phtable = idxwspacemalloc(ctrl, nparts); - ndoms = idxwspacemalloc(ctrl, nparts); - - ComputeSubDomainGraph(graph, nparts, pmat, ndoms); - - - /* Setup the weight intervals of the various subdomains */ - minwgt = idxwspacemalloc(ctrl, nparts); - maxwgt = idxwspacemalloc(ctrl, nparts); - itpwgts = idxwspacemalloc(ctrl, nparts); - tvwgt = idxsum(nparts, pwgts); - ASSERT(tvwgt == idxsum(nvtxs, graph->vwgt)); - - for (i=0; iadjwgtsum[idxamax(nvtxs, graph->adjwgtsum)]); - - IFSET(ctrl->dbglvl, DBG_REFINE, - printf("Partitions: [%6d %6d]-[%6d %6d], Balance: %5.3f, Nv-Nb[%6d %6d]. Cut: %6d [B]\n", - pwgts[idxamin(nparts, pwgts)], pwgts[idxamax(nparts, pwgts)], minwgt[0], maxwgt[0], - 1.0*nparts*pwgts[idxamax(nparts, pwgts)]/tvwgt, graph->nvtxs, graph->nbnd, - graph->mincut)); - - for (pass=0; passmincut); - - /* Check to see if things are out of balance, given the tolerance */ - for (i=0; i maxwgt[i]) - break; - } - if (i == nparts) /* Things are balanced. Return right away */ - break; - - PQueueReset(&queue); - idxset(nvtxs, -1, moved); - - oldcut = graph->mincut; - nbnd = graph->nbnd; - - RandomPermute(nbnd, perm, 1); - for (ii=0; iirinfo[i].ed - graph->rinfo[i].id); - moved[i] = 2; - } - - maxndoms = ndoms[idxamax(nparts, ndoms)]; - - for (nmoves=0;;) { - if ((i = PQueueGetMax(&queue)) == -1) - break; - moved[i] = 1; - - myrinfo = graph->rinfo+i; - from = where[i]; - vwgt = graph->vwgt[i]; - - if (pwgts[from]-vwgt < minwgt[from]) - continue; /* This cannot be moved! */ - - myedegrees = myrinfo->edegrees; - myndegrees = myrinfo->ndegrees; - - /* Determine the valid domains */ - for (j=0; j maxndoms-1) { - phtable[to] = 0; - nadd = maxndoms; - break; - } - nadd++; - } - } - if (ndoms[to]+nadd > maxndoms) - phtable[to] = 0; - } - - for (k=0; k minwgt[to] && myedegrees[k].ed-myrinfo->id < 0) - continue; - - /*===================================================================== - * If we got here, we can now move the vertex from 'from' to 'to' - *======================================================================*/ - graph->mincut -= myedegrees[k].ed-myrinfo->id; - - IFSET(ctrl->dbglvl, DBG_MOVEINFO, printf("\t\tMoving %6d to %3d. Gain: %4d. Cut: %6d\n", i, to, myedegrees[k].ed-myrinfo->id, graph->mincut)); - - /* Update pmat to reflect the move of 'i' */ - pmat[from*nparts+to] += (myrinfo->id-myedegrees[k].ed); - pmat[to*nparts+from] += (myrinfo->id-myedegrees[k].ed); - if (pmat[from*nparts+to] == 0) { - ndoms[from]--; - if (ndoms[from]+1 == maxndoms) - maxndoms = ndoms[idxamax(nparts, ndoms)]; - } - if (pmat[to*nparts+from] == 0) { - ndoms[to]--; - if (ndoms[to]+1 == maxndoms) - maxndoms = ndoms[idxamax(nparts, ndoms)]; - } - - - /* Update where, weight, and ID/ED information of the vertex you moved */ - where[i] = to; - INC_DEC(pwgts[to], pwgts[from], vwgt); - myrinfo->ed += myrinfo->id-myedegrees[k].ed; - SWAP(myrinfo->id, myedegrees[k].ed, j); - if (myedegrees[k].ed == 0) - myedegrees[k] = myedegrees[--myrinfo->ndegrees]; - else - myedegrees[k].pid = from; - - if (myrinfo->ed == 0) - BNDDelete(nbnd, bndind, bndptr, i); - - /* Update the degrees of adjacent vertices */ - for (j=xadj[i]; jrinfo+ii; - if (myrinfo->edegrees == NULL) { - myrinfo->edegrees = ctrl->wspace.edegrees+ctrl->wspace.cdegree; - ctrl->wspace.cdegree += xadj[ii+1]-xadj[ii]; - } - myedegrees = myrinfo->edegrees; - - ASSERT(CheckRInfo(myrinfo)); - - oldgain = (myrinfo->ed-myrinfo->id); - - if (me == from) { - INC_DEC(myrinfo->ed, myrinfo->id, adjwgt[j]); - - if (myrinfo->ed > 0 && bndptr[ii] == -1) - BNDInsert(nbnd, bndind, bndptr, ii); - } - else if (me == to) { - INC_DEC(myrinfo->id, myrinfo->ed, adjwgt[j]); - - if (myrinfo->ed == 0 && bndptr[ii] != -1) - BNDDelete(nbnd, bndind, bndptr, ii); - } - - /* Remove contribution from the .ed of 'from' */ - if (me != from) { - for (k=0; kndegrees; k++) { - if (myedegrees[k].pid == from) { - if (myedegrees[k].ed == adjwgt[j]) - myedegrees[k] = myedegrees[--myrinfo->ndegrees]; - else - myedegrees[k].ed -= adjwgt[j]; - break; - } - } - } - - /* Add contribution to the .ed of 'to' */ - if (me != to) { - for (k=0; kndegrees; k++) { - if (myedegrees[k].pid == to) { - myedegrees[k].ed += adjwgt[j]; - break; - } - } - if (k == myrinfo->ndegrees) { - myedegrees[myrinfo->ndegrees].pid = to; - myedegrees[myrinfo->ndegrees++].ed = adjwgt[j]; - } - } - - /* Update pmat to reflect the move of 'i' for domains other than 'from' and 'to' */ - if (me != from && me != to) { - pmat[me*nparts+from] -= adjwgt[j]; - pmat[from*nparts+me] -= adjwgt[j]; - if (pmat[me*nparts+from] == 0) { - ndoms[me]--; - if (ndoms[me]+1 == maxndoms) - maxndoms = ndoms[idxamax(nparts, ndoms)]; - } - if (pmat[from*nparts+me] == 0) { - ndoms[from]--; - if (ndoms[from]+1 == maxndoms) - maxndoms = ndoms[idxamax(nparts, ndoms)]; - } - - if (pmat[me*nparts+to] == 0) { - ndoms[me]++; - if (ndoms[me] > maxndoms) { - printf("You just increased the maxndoms: %d %d\n", ndoms[me], maxndoms); - maxndoms = ndoms[me]; - } - } - if (pmat[to*nparts+me] == 0) { - ndoms[to]++; - if (ndoms[to] > maxndoms) { - printf("You just increased the maxndoms: %d %d\n", ndoms[to], maxndoms); - maxndoms = ndoms[to]; - } - } - pmat[me*nparts+to] += adjwgt[j]; - pmat[to*nparts+me] += adjwgt[j]; - } - - /* Update the queue */ - if (me == to || me == from) { - gain = myrinfo->ed-myrinfo->id; - if (moved[ii] == 2) { - if (myrinfo->ed > 0) - PQueueUpdate(&queue, ii, oldgain, gain); - else { - PQueueDelete(&queue, ii, oldgain); - moved[ii] = -1; - } - } - else if (moved[ii] == -1 && myrinfo->ed > 0) { - PQueueInsert(&queue, ii, gain); - moved[ii] = 2; - } - } - - ASSERT(myrinfo->ndegrees <= xadj[ii+1]-xadj[ii]); - ASSERT(CheckRInfo(myrinfo)); - } - nmoves++; - } - - graph->nbnd = nbnd; - - IFSET(ctrl->dbglvl, DBG_REFINE, - printf("\t[%6d %6d], Balance: %5.3f, Nb: %6d. Nmoves: %5d, Cut: %6d, %d\n", - pwgts[idxamin(nparts, pwgts)], pwgts[idxamax(nparts, pwgts)], - 1.0*nparts*pwgts[idxamax(nparts, pwgts)]/tvwgt, graph->nbnd, nmoves, graph->mincut,idxsum(nparts, ndoms))); - } - - PQueueFree(ctrl, &queue); - - idxwspacefree(ctrl, nparts); - idxwspacefree(ctrl, nparts); - idxwspacefree(ctrl, nparts); - idxwspacefree(ctrl, nparts); - idxwspacefree(ctrl, nparts); - idxwspacefree(ctrl, nvtxs); - idxwspacefree(ctrl, nvtxs); - -} - - - - -/************************************************************************* -* This function computes the subdomain graph -**************************************************************************/ -void PrintSubDomainGraph(GraphType *graph, int nparts, idxtype *where) -{ - int i, j, k, me, nvtxs, total, max; - idxtype *xadj, *adjncy, *adjwgt, *pmat; - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - - pmat = idxsmalloc(nparts*nparts, 0, "ComputeSubDomainGraph: pmat"); - - for (i=0; i 0) - k++; - } - total += k; - - if (k > max) - max = k; -/* - printf("%2d -> %2d ", i, k); - for (j=0; j 0) - printf("[%2d %4d] ", j, pmat[i*nparts+j]); - } - printf("\n"); -*/ - } - printf("Total adjacent subdomains: %d, Max: %d\n", total, max); - - free(pmat); -} - - - -/************************************************************************* -* This function computes the subdomain graph -**************************************************************************/ -void ComputeSubDomainGraph(GraphType *graph, int nparts, idxtype *pmat, idxtype *ndoms) -{ - int i, j, k, me, nvtxs, ndegrees; - idxtype *xadj, *adjncy, *adjwgt, *where; - RInfoType *rinfo; - EDegreeType *edegrees; - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - where = graph->where; - rinfo = graph->rinfo; - - idxset(nparts*nparts, 0, pmat); - - for (i=0; i 0) { - me = where[i]; - ndegrees = rinfo[i].ndegrees; - edegrees = rinfo[i].edegrees; - - k = me*nparts; - for (j=0; j 0) - ndoms[i]++; - } - } - -} - - - - - -/************************************************************************* -* This function computes the subdomain graph -**************************************************************************/ -void EliminateSubDomainEdges(CtrlType *ctrl, GraphType *graph, int nparts, float *tpwgts) -{ - int i, ii, j, k, me, other, nvtxs, total, max, avg, totalout, nind, ncand, ncand2, target, target2, nadd; - int min, move, cpwgt, tvwgt; - idxtype *xadj, *adjncy, *vwgt, *adjwgt, *pwgts, *where, *maxpwgt, *pmat, *ndoms, *mypmat, *otherpmat, *ind; - KeyValueType *cand, *cand2; - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - adjncy = graph->adjncy; - vwgt = graph->vwgt; - adjwgt = graph->adjwgt; - - where = graph->where; - pwgts = graph->pwgts; /* We assume that this is properly initialized */ - - maxpwgt = idxwspacemalloc(ctrl, nparts); - ndoms = idxwspacemalloc(ctrl, nparts); - otherpmat = idxwspacemalloc(ctrl, nparts); - ind = idxwspacemalloc(ctrl, nvtxs); - pmat = ctrl->wspace.pmat; - - cand = (KeyValueType *)GKmalloc(nparts*sizeof(KeyValueType), "EliminateSubDomainEdges: cand"); - cand2 = (KeyValueType *)GKmalloc(nparts*sizeof(KeyValueType), "EliminateSubDomainEdges: cand"); - - /* Compute the pmat matrix and ndoms */ - ComputeSubDomainGraph(graph, nparts, pmat, ndoms); - - - /* Compute the maximum allowed weight for each domain */ - tvwgt = idxsum(nparts, pwgts); - for (i=0; i 0) { - cand2[ncand2].key = mypmat[i]; - cand2[ncand2++].val = i; - } - } - ikeysort(ncand2, cand2); - - move = 0; - for (min=0; min totalout/(2*ndoms[me])) - break; - - other = cand2[min].val; - - /*printf("\tMinOut: %d to %d\n", mypmat[other], other);*/ - - idxset(nparts, 0, otherpmat); - - /* Go and find the vertices in 'other' that are connected in 'me' */ - for (nind=0, i=0; i 0) { - cand[ncand].key = -otherpmat[i]; - cand[ncand++].val = i; - } - } - ikeysort(ncand, cand); - - /* - * Go through and the select the first domain that is common with 'me', and - * does not increase the ndoms[target] higher than my ndoms, subject to the - * maxpwgt constraint. Traversal is done from the mostly connected to the least. - */ - target = target2 = -1; - for (i=0; i 0) { - if (pwgts[k] + cpwgt > maxpwgt[k]) /* Check if balance will go off */ - continue; - - for (j=0; j 0 && ndoms[j] >= ndoms[me]-1 && pmat[nparts*j+k] == 0) - break; - } - if (j == nparts) { /* No bad second level effects */ - for (nadd=0, j=0; j 0 && pmat[nparts*k+j] == 0) - nadd++; - } - - /*printf("\t\tto=%d, nadd=%d, %d\n", k, nadd, ndoms[k]);*/ - if (target2 == -1 && ndoms[k]+nadd < ndoms[me]) { - target2 = k; - } - if (nadd == 0) { - target = k; - break; - } - } - } - } - if (target == -1 && target2 != -1) - target = target2; - - if (target == -1) { - /* printf("\t\tCould not make the move\n");*/ - continue; - } - - /*printf("\t\tMoving to %d\n", target);*/ - - /* Update the partition weights */ - INC_DEC(pwgts[target], pwgts[other], cpwgt); - - MoveGroupMConn(ctrl, graph, ndoms, pmat, nparts, target, nind, ind); - - move = 1; - break; - } - - if (move == 0) - break; - } - - idxwspacefree(ctrl, nparts); - idxwspacefree(ctrl, nparts); - idxwspacefree(ctrl, nparts); - idxwspacefree(ctrl, nvtxs); - - GKfree(&cand, &cand2, LTERM); -} - - -/************************************************************************* -* This function moves a collection of vertices and updates their rinfo -**************************************************************************/ -void MoveGroupMConn(CtrlType *ctrl, GraphType *graph, idxtype *ndoms, idxtype *pmat, - int nparts, int to, int nind, idxtype *ind) -{ - int i, ii, iii, j, jj, k, l, nvtxs, nbnd, myndegrees; - int from, me; - idxtype *xadj, *adjncy, *adjwgt; - idxtype *where, *bndptr, *bndind; - EDegreeType *myedegrees; - RInfoType *myrinfo; - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - - where = graph->where; - bndptr = graph->bndptr; - bndind = graph->bndind; - - nbnd = graph->nbnd; - - for (iii=0; iiirinfo+i; - if (myrinfo->edegrees == NULL) { - myrinfo->edegrees = ctrl->wspace.edegrees+ctrl->wspace.cdegree; - ctrl->wspace.cdegree += xadj[i+1]-xadj[i]; - myrinfo->ndegrees = 0; - } - myedegrees = myrinfo->edegrees; - - /* find the location of 'to' in myrinfo or create it if it is not there */ - for (k=0; kndegrees; k++) { - if (myedegrees[k].pid == to) - break; - } - if (k == myrinfo->ndegrees) { - myedegrees[k].pid = to; - myedegrees[k].ed = 0; - myrinfo->ndegrees++; - } - - graph->mincut -= myedegrees[k].ed-myrinfo->id; - - /* Update pmat to reflect the move of 'i' */ - pmat[from*nparts+to] += (myrinfo->id-myedegrees[k].ed); - pmat[to*nparts+from] += (myrinfo->id-myedegrees[k].ed); - if (pmat[from*nparts+to] == 0) - ndoms[from]--; - if (pmat[to*nparts+from] == 0) - ndoms[to]--; - - /* Update where, weight, and ID/ED information of the vertex you moved */ - where[i] = to; - myrinfo->ed += myrinfo->id-myedegrees[k].ed; - SWAP(myrinfo->id, myedegrees[k].ed, j); - if (myedegrees[k].ed == 0) - myedegrees[k] = myedegrees[--myrinfo->ndegrees]; - else - myedegrees[k].pid = from; - - if (myrinfo->ed-myrinfo->id < 0 && bndptr[i] != -1) - BNDDelete(nbnd, bndind, bndptr, i); - - /* Update the degrees of adjacent vertices */ - for (j=xadj[i]; jrinfo+ii; - if (myrinfo->edegrees == NULL) { - myrinfo->edegrees = ctrl->wspace.edegrees+ctrl->wspace.cdegree; - ctrl->wspace.cdegree += xadj[ii+1]-xadj[ii]; - } - myedegrees = myrinfo->edegrees; - - ASSERT(CheckRInfo(myrinfo)); - - if (me == from) { - INC_DEC(myrinfo->ed, myrinfo->id, adjwgt[j]); - - if (myrinfo->ed-myrinfo->id >= 0 && bndptr[ii] == -1) - BNDInsert(nbnd, bndind, bndptr, ii); - } - else if (me == to) { - INC_DEC(myrinfo->id, myrinfo->ed, adjwgt[j]); - - if (myrinfo->ed-myrinfo->id < 0 && bndptr[ii] != -1) - BNDDelete(nbnd, bndind, bndptr, ii); - } - - /* Remove contribution from the .ed of 'from' */ - if (me != from) { - for (k=0; kndegrees; k++) { - if (myedegrees[k].pid == from) { - if (myedegrees[k].ed == adjwgt[j]) - myedegrees[k] = myedegrees[--myrinfo->ndegrees]; - else - myedegrees[k].ed -= adjwgt[j]; - break; - } - } - } - - /* Add contribution to the .ed of 'to' */ - if (me != to) { - for (k=0; kndegrees; k++) { - if (myedegrees[k].pid == to) { - myedegrees[k].ed += adjwgt[j]; - break; - } - } - if (k == myrinfo->ndegrees) { - myedegrees[myrinfo->ndegrees].pid = to; - myedegrees[myrinfo->ndegrees++].ed = adjwgt[j]; - } - } - - /* Update pmat to reflect the move of 'i' for domains other than 'from' and 'to' */ - if (me != from && me != to) { - pmat[me*nparts+from] -= adjwgt[j]; - pmat[from*nparts+me] -= adjwgt[j]; - if (pmat[me*nparts+from] == 0) - ndoms[me]--; - if (pmat[from*nparts+me] == 0) - ndoms[from]--; - - if (pmat[me*nparts+to] == 0) - ndoms[me]++; - if (pmat[to*nparts+me] == 0) - ndoms[to]++; - - pmat[me*nparts+to] += adjwgt[j]; - pmat[to*nparts+me] += adjwgt[j]; - } - - ASSERT(CheckRInfo(myrinfo)); - } - - ASSERT(CheckRInfo(graph->rinfo+i)); - } - - graph->nbnd = nbnd; - -} - - - - -/************************************************************************* -* This function finds all the connected components induced by the -* partitioning vector in wgraph->where and tries to push them around to -* remove some of them -**************************************************************************/ -void EliminateComponents(CtrlType *ctrl, GraphType *graph, int nparts, float *tpwgts, float ubfactor) -{ - int i, ii, j, jj, k, me, nvtxs, tvwgt, first, last, nleft, ncmps, cwgt, other, target, deltawgt; - idxtype *xadj, *adjncy, *vwgt, *adjwgt, *where, *pwgts, *maxpwgt; - idxtype *cpvec, *touched, *perm, *todo, *cind, *cptr, *npcmps; - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - adjncy = graph->adjncy; - vwgt = graph->vwgt; - adjwgt = graph->adjwgt; - - where = graph->where; - pwgts = graph->pwgts; - - touched = idxset(nvtxs, 0, idxwspacemalloc(ctrl, nvtxs)); - cptr = idxwspacemalloc(ctrl, nvtxs); - cind = idxwspacemalloc(ctrl, nvtxs); - perm = idxwspacemalloc(ctrl, nvtxs); - todo = idxwspacemalloc(ctrl, nvtxs); - maxpwgt = idxwspacemalloc(ctrl, nparts); - cpvec = idxwspacemalloc(ctrl, nparts); - npcmps = idxset(nparts, 0, idxwspacemalloc(ctrl, nparts)); - - for (i=0; i 0) { - if (first == last) { /* Find another starting vertex */ - cptr[++ncmps] = first; - ASSERT(touched[todo[0]] == 0); - i = todo[0]; - cind[last++] = i; - touched[i] = 1; - me = where[i]; - npcmps[me]++; - } - - i = cind[first++]; - k = perm[i]; - j = todo[k] = todo[--nleft]; - perm[j] = k; - - for (j=xadj[i]; j nparts) { /* There are more components than processors */ - /* First determine the max allowed load imbalance */ - tvwgt = idxsum(nparts, pwgts); - for (i=0; i .30*pwgts[me]) - continue; /* Skip the component if it is over 30% of the weight */ - - /* Determine the connectivity */ - idxset(nparts, 0, cpvec); - for (j=cptr[i]; j 0 && (cwgt < deltawgt || pwgts[j] + cwgt < maxpwgt[j])) { - if (target == -1 || cpvec[target] < cpvec[j]) - target = j; - } - } - - /* printf("\tMoving it to %d [%d]\n", target, cpvec[target]);*/ - - if (target != -1) { - /* Assign all the vertices of 'me' to 'target' and update data structures */ - INC_DEC(pwgts[target], pwgts[me], cwgt); - npcmps[me]--; - - MoveGroup(ctrl, graph, nparts, target, i, cptr, cind); - } - } - - } - - idxwspacefree(ctrl, nparts); - idxwspacefree(ctrl, nparts); - idxwspacefree(ctrl, nparts); - idxwspacefree(ctrl, nvtxs); - idxwspacefree(ctrl, nvtxs); - idxwspacefree(ctrl, nvtxs); - idxwspacefree(ctrl, nvtxs); - idxwspacefree(ctrl, nvtxs); - -} - - -/************************************************************************* -* This function moves a collection of vertices and updates their rinfo -**************************************************************************/ -void MoveGroup(CtrlType *ctrl, GraphType *graph, int nparts, int to, int gid, idxtype *ptr, idxtype *ind) -{ - int i, ii, iii, j, jj, k, l, nvtxs, nbnd, myndegrees; - int from, me; - idxtype *xadj, *adjncy, *adjwgt; - idxtype *where, *bndptr, *bndind; - EDegreeType *myedegrees; - RInfoType *myrinfo; - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - - where = graph->where; - bndptr = graph->bndptr; - bndind = graph->bndind; - - nbnd = graph->nbnd; - - for (iii=ptr[gid]; iiirinfo+i; - if (myrinfo->edegrees == NULL) { - myrinfo->edegrees = ctrl->wspace.edegrees+ctrl->wspace.cdegree; - ctrl->wspace.cdegree += xadj[i+1]-xadj[i]; - myrinfo->ndegrees = 0; - } - myedegrees = myrinfo->edegrees; - - /* find the location of 'to' in myrinfo or create it if it is not there */ - for (k=0; kndegrees; k++) { - if (myedegrees[k].pid == to) - break; - } - if (k == myrinfo->ndegrees) { - myedegrees[k].pid = to; - myedegrees[k].ed = 0; - myrinfo->ndegrees++; - } - - graph->mincut -= myedegrees[k].ed-myrinfo->id; - - - /* Update where, weight, and ID/ED information of the vertex you moved */ - where[i] = to; - myrinfo->ed += myrinfo->id-myedegrees[k].ed; - SWAP(myrinfo->id, myedegrees[k].ed, j); - if (myedegrees[k].ed == 0) - myedegrees[k] = myedegrees[--myrinfo->ndegrees]; - else - myedegrees[k].pid = from; - - if (myrinfo->ed-myrinfo->id < 0 && bndptr[i] != -1) - BNDDelete(nbnd, bndind, bndptr, i); - - /* Update the degrees of adjacent vertices */ - for (j=xadj[i]; jrinfo+ii; - if (myrinfo->edegrees == NULL) { - myrinfo->edegrees = ctrl->wspace.edegrees+ctrl->wspace.cdegree; - ctrl->wspace.cdegree += xadj[ii+1]-xadj[ii]; - } - myedegrees = myrinfo->edegrees; - - ASSERT(CheckRInfo(myrinfo)); - - if (me == from) { - INC_DEC(myrinfo->ed, myrinfo->id, adjwgt[j]); - - if (myrinfo->ed-myrinfo->id >= 0 && bndptr[ii] == -1) - BNDInsert(nbnd, bndind, bndptr, ii); - } - else if (me == to) { - INC_DEC(myrinfo->id, myrinfo->ed, adjwgt[j]); - - if (myrinfo->ed-myrinfo->id < 0 && bndptr[ii] != -1) - BNDDelete(nbnd, bndind, bndptr, ii); - } - - /* Remove contribution from the .ed of 'from' */ - if (me != from) { - for (k=0; kndegrees; k++) { - if (myedegrees[k].pid == from) { - if (myedegrees[k].ed == adjwgt[j]) - myedegrees[k] = myedegrees[--myrinfo->ndegrees]; - else - myedegrees[k].ed -= adjwgt[j]; - break; - } - } - } - - /* Add contribution to the .ed of 'to' */ - if (me != to) { - for (k=0; kndegrees; k++) { - if (myedegrees[k].pid == to) { - myedegrees[k].ed += adjwgt[j]; - break; - } - } - if (k == myrinfo->ndegrees) { - myedegrees[myrinfo->ndegrees].pid = to; - myedegrees[myrinfo->ndegrees++].ed = adjwgt[j]; - } - } - - ASSERT(CheckRInfo(myrinfo)); - } - - ASSERT(CheckRInfo(graph->rinfo+i)); - } - - graph->nbnd = nbnd; - -} - diff --git a/lib/metis-4.0/Lib/timing.c b/lib/metis-4.0/Lib/timing.c deleted file mode 100755 index 8a27ecac3..000000000 --- a/lib/metis-4.0/Lib/timing.c +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * timing.c - * - * This file contains routines that deal with timing Metis - * - * Started 7/24/97 - * George - * - * $Id: timing.c,v 1.1 1998/11/27 17:59:32 karypis Exp $ - * - */ - -#include - - -/************************************************************************* -* This function clears the timers -**************************************************************************/ -void InitTimers(CtrlType *ctrl) -{ - cleartimer(ctrl->TotalTmr); - cleartimer(ctrl->InitPartTmr); - cleartimer(ctrl->MatchTmr); - cleartimer(ctrl->ContractTmr); - cleartimer(ctrl->CoarsenTmr); - cleartimer(ctrl->UncoarsenTmr); - cleartimer(ctrl->RefTmr); - cleartimer(ctrl->ProjectTmr); - cleartimer(ctrl->SplitTmr); - cleartimer(ctrl->SepTmr); - cleartimer(ctrl->AuxTmr1); - cleartimer(ctrl->AuxTmr2); - cleartimer(ctrl->AuxTmr3); - cleartimer(ctrl->AuxTmr4); - cleartimer(ctrl->AuxTmr5); - cleartimer(ctrl->AuxTmr6); -} - - - -/************************************************************************* -* This function prints the various timers -**************************************************************************/ -void PrintTimers(CtrlType *ctrl) -{ - printf("\nTiming Information -------------------------------------------------"); - printf("\n Multilevel: \t\t %7.3f", gettimer(ctrl->TotalTmr)); - printf("\n Coarsening: \t\t %7.3f", gettimer(ctrl->CoarsenTmr)); - printf("\n Matching: \t\t\t %7.3f", gettimer(ctrl->MatchTmr)); - printf("\n Contract: \t\t\t %7.3f", gettimer(ctrl->ContractTmr)); - printf("\n Initial Partition: \t %7.3f", gettimer(ctrl->InitPartTmr)); - printf("\n Construct Separator: \t %7.3f", gettimer(ctrl->SepTmr)); - printf("\n Uncoarsening: \t\t %7.3f", gettimer(ctrl->UncoarsenTmr)); - printf("\n Refinement: \t\t\t %7.3f", gettimer(ctrl->RefTmr)); - printf("\n Projection: \t\t\t %7.3f", gettimer(ctrl->ProjectTmr)); - printf("\n Splitting: \t\t %7.3f", gettimer(ctrl->SplitTmr)); - printf("\n AUX1: \t\t %7.3f", gettimer(ctrl->AuxTmr1)); - printf("\n AUX2: \t\t %7.3f", gettimer(ctrl->AuxTmr2)); - printf("\n AUX3: \t\t %7.3f", gettimer(ctrl->AuxTmr3)); - printf("\n********************************************************************\n"); -} - - -/************************************************************************* -* This function returns the seconds -**************************************************************************/ -double seconds(void) -{ - return((double) clock()/CLOCKS_PER_SEC); -} - - diff --git a/lib/metis-4.0/Lib/util.c b/lib/metis-4.0/Lib/util.c deleted file mode 100755 index 6f443eff5..000000000 --- a/lib/metis-4.0/Lib/util.c +++ /dev/null @@ -1,519 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * util.c - * - * This function contains various utility routines - * - * Started 9/28/95 - * George - * - * $Id: util.c,v 1.1 1998/11/27 17:59:32 karypis Exp $ - */ - -#include - - -/************************************************************************* -* This function prints an error message and exits -**************************************************************************/ -void errexit(char *f_str,...) -{ - va_list argp; - char out1[256], out2[256]; - - va_start(argp, f_str); - vsprintf(out1, f_str, argp); - va_end(argp); - - sprintf(out2, "Error! %s", out1); - - fprintf(stdout, out2); - fflush(stdout); - - abort(); -} - - - -#ifndef DMALLOC -/************************************************************************* -* The following function allocates an array of integers -**************************************************************************/ -int *imalloc(int n, char *msg) -{ - if (n == 0) - return NULL; - - return (int *)GKmalloc(sizeof(int)*n, msg); -} - - -/************************************************************************* -* The following function allocates an array of integers -**************************************************************************/ -idxtype *idxmalloc(int n, char *msg) -{ - if (n == 0) - return NULL; - - return (idxtype *)GKmalloc(sizeof(idxtype)*n, msg); -} - - -/************************************************************************* -* The following function allocates an array of float -**************************************************************************/ -float *fmalloc(int n, char *msg) -{ - if (n == 0) - return NULL; - - return (float *)GKmalloc(sizeof(float)*n, msg); -} - - -/************************************************************************* -* The follwoing function allocates an array of integers -**************************************************************************/ -int *ismalloc(int n, int ival, char *msg) -{ - if (n == 0) - return NULL; - - return iset(n, ival, (int *)GKmalloc(sizeof(int)*n, msg)); -} - - - -/************************************************************************* -* The follwoing function allocates an array of integers -**************************************************************************/ -idxtype *idxsmalloc(int n, idxtype ival, char *msg) -{ - if (n == 0) - return NULL; - - return idxset(n, ival, (idxtype *)GKmalloc(sizeof(idxtype)*n, msg)); -} - - -/************************************************************************* -* This function is my wrapper around malloc -**************************************************************************/ -void *GKmalloc(int nbytes, char *msg) -{ - void *ptr; - - if (nbytes == 0) - return NULL; - - ptr = (void *)malloc(nbytes); - if (ptr == NULL) - errexit("***Memory allocation failed for %s. Requested size: %d bytes", msg, nbytes); - - return ptr; -} -#endif - -/************************************************************************* -* This function is my wrapper around free, allows multiple pointers -**************************************************************************/ -void GKfree(void **ptr1,...) -{ - va_list plist; - void **ptr; - - if (*ptr1 != NULL) - free(*ptr1); - *ptr1 = NULL; - - va_start(plist, ptr1); - - /* while ((int)(ptr = va_arg(plist, void **)) != -1) { */ - while ((ptr = va_arg(plist, void **)) != LTERM) { - if (*ptr != NULL) - free(*ptr); - *ptr = NULL; - } - - va_end(plist); -} - - -/************************************************************************* -* These functions set the values of a vector -**************************************************************************/ -int *iset(int n, int val, int *x) -{ - int i; - - for (i=0; i x[max] ? i : max); - - return max; -} - - -/************************************************************************* -* These functions return the index of the maximum element in a vector -**************************************************************************/ -int idxamax(int n, idxtype *x) -{ - int i, max=0; - - for (i=1; i x[max] ? i : max); - - return max; -} - -/************************************************************************* -* These functions return the index of the maximum element in a vector -**************************************************************************/ -int idxamax_strd(int n, idxtype *x, int incx) -{ - int i, max=0; - - n *= incx; - for (i=incx; i x[max] ? i : max); - - return max/incx; -} - - - -/************************************************************************* -* These functions return the index of the maximum element in a vector -**************************************************************************/ -int samax(int n, float *x) -{ - int i, max=0; - - for (i=1; i x[max] ? i : max); - - return max; -} - -/************************************************************************* -* These functions return the index of the almost maximum element in a vector -**************************************************************************/ -int samax2(int n, float *x) -{ - int i, max1, max2; - - if (x[0] > x[1]) { - max1 = 0; - max2 = 1; - } - else { - max1 = 1; - max2 = 0; - } - - for (i=2; i x[max1]) { - max2 = max1; - max1 = i; - } - else if (x[i] > x[max2]) - max2 = i; - } - - return max2; -} - - -/************************************************************************* -* These functions return the index of the minimum element in a vector -**************************************************************************/ -int idxamin(int n, idxtype *x) -{ - int i, min=0; - - for (i=1; i=0; n--) - y[n] += x[n]; -} - - -/************************************************************************* -* This function sums the entries in an array -**************************************************************************/ -int charsum(int n, char *x) -{ - int i, sum = 0; - - for (i=0; i>1); - return (a > 1 ? 0 : 1); -} - - -/************************************************************************* -* This function initializes the random number generator -**************************************************************************/ -void InitRandom(int seed) -{ - if (seed == -1) { -#ifndef __VC__ - srand48(7654321L); -#endif - srand(4321); - } - else { -#ifndef __VC__ - srand48(seed); -#endif - srand(seed); - } -} - -/************************************************************************* -* This function returns the log2(x) -**************************************************************************/ -int log2i(int a) -{ - int i; - - for (i=1; a > 1; i++, a = a>>1); - return i-1; -} - diff --git a/lib/metis-4.0/Makefile b/lib/metis-4.0/Makefile deleted file mode 100755 index 20e12484f..000000000 --- a/lib/metis-4.0/Makefile +++ /dev/null @@ -1,16 +0,0 @@ - - -default: - (cd Lib ; make ) - (cd Programs ; make ) - (cd Test ; make ) - -clean: - (cd Lib ; make clean ) - (cd Programs ; make clean ) - (cd Test ; make clean ) - -realclean: - (cd Lib ; make realclean ) - (cd Programs ; make realclean ) - (cd Test ; make realclean ) diff --git a/lib/metis-4.0/Programs/Makefile b/lib/metis-4.0/Programs/Makefile deleted file mode 100755 index f8b2d15e2..000000000 --- a/lib/metis-4.0/Programs/Makefile +++ /dev/null @@ -1,83 +0,0 @@ -include ../Makefile.in - -BINDIR = .. - -INCLUDES = -I../Lib -CFLAGS = $(COPTIONS) $(OPTFLAGS) $(INCLUDES) - -LIBS = -lmetis -lm -LD = $(CC) $(LDOPTIONS) -L. -L.. -METISLIB = ../libmetis.a - - - -PMETISOBJS = pmetis.o io.o -KMETISOBJS = kmetis.o io.o -OEMETISOBJS = oemetis.o io.o smbfactor.o -ONMETISOBJS = onmetis.o io.o smbfactor.o -MESH2DUALOBJ = mesh2dual.o io.o -MESH2NODALOBJ = mesh2nodal.o io.o -PARTDMESHOBJ = partdmesh.o io.o -PARTNMESHOBJ = partnmesh.o io.o -GRAPHCHKOBJ = graphchk.o io.o - - -.c.o: - $(CC) $(CFLAGS) -c $*.c - -default: $(BINDIR)/pmetis$(VERNUM) $(BINDIR)/kmetis$(VERNUM) \ - $(BINDIR)/oemetis$(VERNUM) $(BINDIR)/onmetis$(VERNUM) $(BINDIR)/mesh2dual$(VERNUM) \ - $(BINDIR)/mesh2nodal$(VERNUM) $(BINDIR)/partdmesh$(VERNUM) $(BINDIR)/partnmesh$(VERNUM) \ - $(BINDIR)/graphchk$(VERNUM) - -$(BINDIR)/pmetis$(VERNUM): $(PMETISOBJS) $(METISLIB) - $(LD) -o $@ $(PMETISOBJS) $(LIBS) - chmod 755 $@ - -$(BINDIR)/kmetis$(VERNUM): $(KMETISOBJS) $(METISLIB) - $(LD) -o $@ $(KMETISOBJS) $(LIBS) - chmod 755 $@ - -$(BINDIR)/oemetis$(VERNUM): $(OEMETISOBJS) $(METISLIB) - $(LD) -o $@ $(OEMETISOBJS) $(LIBS) - chmod 755 $@ - -$(BINDIR)/onmetis$(VERNUM): $(ONMETISOBJS) $(METISLIB) - $(LD) -o $@ $(ONMETISOBJS) $(LIBS) - chmod 755 $@ - -$(BINDIR)/mesh2dual$(VERNUM): $(MESH2DUALOBJ) $(METISLIB) - $(LD) -o $@ $(MESH2DUALOBJ) $(LIBS) - chmod 755 $@ - -$(BINDIR)/mesh2nodal$(VERNUM): $(MESH2NODALOBJ) $(METISLIB) - $(LD) -o $@ $(MESH2NODALOBJ) $(LIBS) - chmod 755 $@ - -$(BINDIR)/partdmesh$(VERNUM): $(PARTDMESHOBJ) $(METISLIB) - $(LD) -o $@ $(PARTDMESHOBJ) $(LIBS) - chmod 755 $@ - -$(BINDIR)/partnmesh$(VERNUM): $(PARTNMESHOBJ) $(METISLIB) - $(LD) -o $@ $(PARTNMESHOBJ) $(LIBS) - chmod 755 $@ - -$(BINDIR)/graphchk$(VERNUM): $(GRAPHCHKOBJ) $(METISLIB) - $(LD) -o $@ $(GRAPHCHKOBJ) $(LIBS) - chmod 755 $@ - - -clean: - rm -f *.o - -realclean: - rm -f *.o ;\ - rm -f $(BINDIR)/pmetis$(VERNUM) ;\ - rm -f $(BINDIR)/kmetis$(VERNUM) ;\ - rm -f $(BINDIR)/oemetis$(VERNUM) ;\ - rm -f $(BINDIR)/onmetis$(VERNUM) ;\ - rm -f $(BINDIR)/mesh2dual$(VERNUM) ;\ - rm -f $(BINDIR)/mesh2nodal$(VERNUM) ;\ - rm -f $(BINDIR)/partdmesh$(VERNUM) ;\ - rm -f $(BINDIR)/partnmesh$(VERNUM) ;\ - rm -f $(BINDIR)/graphchk$(VERNUM) diff --git a/lib/metis-4.0/Programs/graphchk.c b/lib/metis-4.0/Programs/graphchk.c deleted file mode 100755 index 3258aaf8e..000000000 --- a/lib/metis-4.0/Programs/graphchk.c +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * graphchk.c - * - * This file checks the validity of a graph - * - * Started 8/28/94 - * George - * - * $Id: graphchk.c,v 1.1 1998/11/27 17:59:33 karypis Exp $ - * - */ - -#include - - - -/************************************************************************* -* Let the game begin -**************************************************************************/ -main(int argc, char *argv[]) -{ - GraphType graph; - char filename[256]; - int wgtflag; - - if (argc != 2) { - printf("Usage: %s \n", argv[0]); - exit(0); - } - - strcpy(filename, argv[1]); - - ReadGraph(&graph, filename, &wgtflag); - if (graph.nvtxs == 0) { - printf("Empty graph!\n"); - exit(0); - } - - printf("**********************************************************************\n"); - printf("%s", METISTITLE); - printf("Graph Information ---------------------------------------------------\n"); - printf(" Name: %s, #Vertices: %d, #Edges: %d\n\n", filename, graph.nvtxs, graph.nedges/2); - printf("Checking Graph... ---------------------------------------------------\n"); - - if (CheckGraph(&graph)) - printf(" The format of the graph is correct!\n"); - else - printf(" The format of the graph is incorrect!\n"); - - printf("\n**********************************************************************\n"); - - - GKfree(&graph.xadj, &graph.adjncy, &graph.vwgt, &graph.adjwgt, LTERM); -} - - diff --git a/lib/metis-4.0/Programs/io.c b/lib/metis-4.0/Programs/io.c deleted file mode 100755 index 58ec3a42b..000000000 --- a/lib/metis-4.0/Programs/io.c +++ /dev/null @@ -1,382 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * io.c - * - * This file contains routines related to I/O - * - * Started 8/28/94 - * George - * - * $Id: io.c,v 1.1 1998/11/27 17:59:34 karypis Exp $ - * - */ - -#include - - - -/************************************************************************* -* This function reads the spd matrix -**************************************************************************/ -void ReadGraph(GraphType *graph, char *filename, int *wgtflag) -{ - int i, j, k, l, fmt, readew, readvw, ncon, edge, ewgt; - idxtype *xadj, *adjncy, *vwgt, *adjwgt; - char *line, *oldstr, *newstr; - FILE *fpin; - - InitGraph(graph); - - line = (char *)malloc(sizeof(char)*(MAXLINE+1)); - - if ((fpin = fopen(filename, "r")) == NULL) { - printf("Failed to open file %s\n", filename); - exit(0); - } - - do { - fgets(line, MAXLINE, fpin); - } while (line[0] == '%' && !feof(fpin)); - - if (feof(fpin)) { - graph->nvtxs = 0; - free(line); - return; - } - - fmt = ncon = 0; - sscanf(line, "%d %d %d %d", &(graph->nvtxs), &(graph->nedges), &fmt, &ncon); - - readew = (fmt%10 > 0); - readvw = ((fmt/10)%10 > 0); - if (fmt >= 100) { - printf("Cannot read this type of file format!"); - exit(0); - } - - - *wgtflag = 0; - if (readew) - *wgtflag += 1; - if (readvw) - *wgtflag += 2; - - if (ncon > 0 && !readvw) { - printf("------------------------------------------------------------------------------\n"); - printf("*** I detected an error in your input file ***\n\n"); - printf("You specified ncon=%d, but the fmt parameter does not specify vertex weights\n", ncon); - printf("Make sure that the fmt parameter is set to either 10 or 11.\n"); - printf("------------------------------------------------------------------------------\n"); - exit(0); - } - - graph->nedges *=2; - ncon = graph->ncon = (ncon == 0 ? 1 : ncon); - - /*printf("%d %d %d %d %d [%d %d]\n", fmt, fmt%10, (fmt/10)%10, ncon, graph->ncon, readew, readvw);*/ - - if (graph->nvtxs > MAXIDX) - errexit("\nThe matrix is too big: %d [%d %d]\n", graph->nvtxs, MAXIDX, sizeof(idxtype)); - - xadj = graph->xadj = idxsmalloc(graph->nvtxs+1, 0, "ReadGraph: xadj"); - adjncy = graph->adjncy = idxmalloc(graph->nedges, "ReadGraph: adjncy"); - - vwgt = graph->vwgt = (readvw ? idxmalloc(ncon*graph->nvtxs, "ReadGraph: vwgt") : NULL); - adjwgt = graph->adjwgt = (readew ? idxmalloc(graph->nedges, "ReadGraph: adjwgt") : NULL); - - /* Start reading the graph file */ - for (xadj[0]=0, k=0, i=0; invtxs; i++) { - do { - fgets(line, MAXLINE, fpin); - } while (line[0] == '%' && !feof(fpin)); - oldstr = line; - newstr = NULL; - - if (strlen(line) == MAXLINE) - errexit("\nBuffer for fgets not big enough!\n"); - - if (readvw) { - for (l=0; lnedges) { - printf("------------------------------------------------------------------------------\n"); - printf("*** I detected an error in your input file ***\n\n"); - printf("In the first line of the file, you specified that the graph contained\n%d edges. However, I only found %d edges in the file.\n", graph->nedges/2, k/2); - if (2*k == graph->nedges) { - printf("\n *> I detected that you specified twice the number of edges that you have in\n"); - printf(" the file. Remember that the number of edges specified in the first line\n"); - printf(" counts each edge between vertices v and u only once.\n\n"); - } - printf("Please specify the correct number of edges in the first line of the file.\n"); - printf("------------------------------------------------------------------------------\n"); - exit(0); - } - - free(line); -} - - - -/************************************************************************* -* This function writes out the partition vector -**************************************************************************/ -void WritePartition(char *fname, idxtype *part, int n, int nparts) -{ - FILE *fpout; - int i; - char filename[256]; - - sprintf(filename,"%s.part.%d",fname, nparts); - - if ((fpout = fopen(filename, "w")) == NULL) - errexit("Problems in opening the partition file: %s", filename); - - for (i=0; invtxs; - xadj = graph->xadj; - adjncy = graph->adjncy; - adjwgt = graph->adjwgt; - - - for (i=0; i 0) - printf("A total of %d errors exist in the input file. Correct them, and run again!\n", err); - - return (err == 0 ? 1 : 0); -} - - -/************************************************************************* -* This function reads the element node array of a mesh -**************************************************************************/ -idxtype *ReadMesh(char *filename, int *ne, int *nn, int *etype) -{ - int i, j, k, esize; - idxtype *elmnts; - FILE *fpin; - - if ((fpin = fopen(filename, "r")) == NULL) { - printf("Failed to open file %s\n", filename); - exit(0); - } - - fscanf(fpin, "%d %d", ne, etype); - - switch (*etype) { - case 1: - esize = 3; - break; - case 2: - esize = 4; - break; - case 3: - esize = 8; - break; - case 4: - esize = 4; - break; - default: - errexit("Unknown mesh-element type: %d\n", *etype); - } - - elmnts = idxmalloc(esize*(*ne), "ReadMesh: elmnts"); - - for (j=esize*(*ne), i=0; invtxs; - ncon = graph->ncon; - xadj = graph->xadj; - adjncy = graph->adjncy; - nvwgt = graph->nvwgt; - - sprintf(filename, "moc.graph.%d.%d", nvtxs, ncon); - - if ((fpout = fopen(filename, "w")) == NULL) { - printf("Failed to open file %s\n", filename); - exit(0); - } - - fprintf(fpout, "%d %d 10 1 %d", nvtxs, xadj[nvtxs]/2, ncon); - - for (i=0; i - - - -/************************************************************************* -* Let the game begin -**************************************************************************/ -main(int argc, char *argv[]) -{ - int i, nparts, options[10]; - idxtype *part; - float rubvec[MAXNCON], lbvec[MAXNCON]; - GraphType graph; - char filename[256]; - int numflag = 0, wgtflag = 0, edgecut; - timer TOTALTmr, METISTmr, IOTmr; - - if (argc != 3) { - printf("Usage: %s \n",argv[0]); - exit(0); - } - - strcpy(filename, argv[1]); - nparts = atoi(argv[2]); - - if (nparts < 2) { - printf("The number of partitions should be greater than 1!\n"); - exit(0); - } - - cleartimer(TOTALTmr); - cleartimer(METISTmr); - cleartimer(IOTmr); - - starttimer(TOTALTmr); - starttimer(IOTmr); - ReadGraph(&graph, filename, &wgtflag); - if (graph.nvtxs <= 0) { - printf("Empty graph. Nothing to do.\n"); - exit(0); - } - stoptimer(IOTmr); - - printf("**********************************************************************\n"); - printf("%s", METISTITLE); - printf("Graph Information ---------------------------------------------------\n"); - printf(" Name: %s, #Vertices: %d, #Edges: %d, #Parts: %d\n", filename, graph.nvtxs, graph.nedges/2, nparts); - if (graph.ncon > 1) - printf(" Balancing Constraints: %d\n", graph.ncon); - printf("\nK-way Partitioning... -----------------------------------------------\n"); - - part = idxmalloc(graph.nvtxs, "main: part"); - options[0] = 0; - - starttimer(METISTmr); - if (graph.ncon == 1) { - METIS_PartGraphKway(&graph.nvtxs, graph.xadj, graph.adjncy, graph.vwgt, graph.adjwgt, - &wgtflag, &numflag, &nparts, options, &edgecut, part); - } - else { - for (i=0; i - - - -/************************************************************************* -* Let the game begin -**************************************************************************/ -main(int argc, char *argv[]) -{ - int i, j, ne, nn, etype, numflag=0; - idxtype *elmnts, *xadj, *adjncy; - timer IOTmr, DUALTmr; - char fileout[256], etypestr[4][5] = {"TRI", "TET", "HEX", "QUAD"}; - - if (argc != 2) { - printf("Usage: %s \n",argv[0]); - exit(0); - } - - cleartimer(IOTmr); - cleartimer(DUALTmr); - - starttimer(IOTmr); - elmnts = ReadMesh(argv[1], &ne, &nn, &etype); - stoptimer(IOTmr); - - printf("**********************************************************************\n"); - printf("%s", METISTITLE); - printf("Mesh Information ----------------------------------------------------\n"); - printf(" Name: %s, #Elements: %d, #Nodes: %d, Etype: %s\n\n", argv[1], ne, nn, etypestr[etype-1]); - printf("Forming Dual Graph... -----------------------------------------------\n"); - - xadj = idxmalloc(ne+1, "main: xadj"); - adjncy = idxmalloc(10*ne, "main: adjncy"); - - starttimer(DUALTmr); - METIS_MeshToDual(&ne, &nn, elmnts, &etype, &numflag, xadj, adjncy); - stoptimer(DUALTmr); - - printf(" Dual Information: #Vertices: %d, #Edges: %d\n", ne, xadj[ne]/2); - - sprintf(fileout, "%s.dgraph", argv[1]); - starttimer(IOTmr); - WriteGraph(fileout, ne, xadj, adjncy); - stoptimer(IOTmr); - - - printf("\nTiming Information --------------------------------------------------\n"); - printf(" I/O: \t\t %7.3f\n", gettimer(IOTmr)); - printf(" Dual Creation:\t\t %7.3f\n", gettimer(DUALTmr)); - printf("**********************************************************************\n"); - - GKfree(&elmnts, &xadj, &adjncy, LTERM); - -} - - diff --git a/lib/metis-4.0/Programs/mesh2nodal.c b/lib/metis-4.0/Programs/mesh2nodal.c deleted file mode 100755 index dab467d4e..000000000 --- a/lib/metis-4.0/Programs/mesh2nodal.c +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * mesh2nodal.c - * - * This file reads in the element node connectivity array of a mesh and writes - * out its dual in the format suitable for Metis. - * - * Started 9/29/97 - * George - * - * $Id: mesh2nodal.c,v 1.1 1998/11/27 17:59:35 karypis Exp $ - * - */ - -#include - - - -/************************************************************************* -* Let the game begin -**************************************************************************/ -main(int argc, char *argv[]) -{ - int i, j, ne, nn, etype, numflag=0; - idxtype *elmnts, *xadj, *adjncy; - timer IOTmr, DUALTmr; - char fileout[256], etypestr[4][5] = {"TRI", "TET", "HEX", "QUAD"}; - - if (argc != 2) { - printf("Usage: %s \n",argv[0]); - exit(0); - } - - cleartimer(IOTmr); - cleartimer(DUALTmr); - - starttimer(IOTmr); - elmnts = ReadMesh(argv[1], &ne, &nn, &etype); - stoptimer(IOTmr); - - printf("**********************************************************************\n"); - printf("%s", METISTITLE); - printf("Mesh Information ----------------------------------------------------\n"); - printf(" Name: %s, #Elements: %d, #Nodes: %d, Etype: %s\n\n", argv[1], ne, nn, etypestr[etype-1]); - printf("Forming Nodal Graph... ----------------------------------------------\n"); - - xadj = idxmalloc(nn+1, "main: xadj"); - adjncy = idxmalloc(20*nn, "main: adjncy"); - - starttimer(DUALTmr); - METIS_MeshToNodal(&ne, &nn, elmnts, &etype, &numflag, xadj, adjncy); - stoptimer(DUALTmr); - - printf(" Nodal Information: #Vertices: %d, #Edges: %d\n", nn, xadj[nn]/2); - - sprintf(fileout, "%s.ngraph", argv[1]); - starttimer(IOTmr); - WriteGraph(fileout, nn, xadj, adjncy); - stoptimer(IOTmr); - - - printf("\nTiming Information --------------------------------------------------\n"); - printf(" I/O: \t\t %7.3f\n", gettimer(IOTmr)); - printf(" Nodal Creation:\t\t %7.3f\n", gettimer(DUALTmr)); - printf("**********************************************************************\n"); - - GKfree(&elmnts, &xadj, &adjncy, LTERM); - -} - - diff --git a/lib/metis-4.0/Programs/oemetis.c b/lib/metis-4.0/Programs/oemetis.c deleted file mode 100755 index a533247ef..000000000 --- a/lib/metis-4.0/Programs/oemetis.c +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * oemetis.c - * - * This file contains the driving routine for multilevel method - * - * Started 8/28/94 - * George - * - * $Id: oemetis.c,v 1.1 1998/11/27 17:59:37 karypis Exp $ - * - */ - -#include - - - -/************************************************************************* -* Let the game begin -**************************************************************************/ -main(int argc, char *argv[]) -{ - int i, options[10]; - idxtype *perm, *iperm; - GraphType graph; - char filename[256]; - int numflag = 0, wgtflag; - timer TOTALTmr, METISTmr, IOTmr, SMBTmr; - - - if (argc != 2) { - printf("Usage: %s \n",argv[0]); - exit(0); - } - - strcpy(filename, argv[1]); - - cleartimer(TOTALTmr); - cleartimer(METISTmr); - cleartimer(IOTmr); - cleartimer(SMBTmr); - - starttimer(TOTALTmr); - starttimer(IOTmr); - ReadGraph(&graph, filename, &wgtflag); - if (graph.nvtxs <= 0) { - printf("Empty graph. Nothing to do.\n"); - exit(0); - } - if (graph.ncon != 1) { - printf("Ordering can only be applied to graphs with one constraint.\n"); - exit(0); - } - stoptimer(IOTmr); - - /* Ordering does not use weights! */ - GKfree(&graph.vwgt, &graph.adjwgt, LTERM); - - printf("**********************************************************************\n"); - printf("%s", METISTITLE); - printf("Graph Information ---------------------------------------------------\n"); - printf(" Name: %s, #Vertices: %d, #Edges: %d\n\n", filename, graph.nvtxs, graph.nedges/2); - printf("Edge-Based Ordering... ----------------------------------------------\n"); - - perm = idxmalloc(graph.nvtxs, "main: perm"); - iperm = idxmalloc(graph.nvtxs, "main: iperm"); - options[0] = 0; - - starttimer(METISTmr); - METIS_EdgeND(&graph.nvtxs, graph.xadj, graph.adjncy, &numflag, options, perm, iperm); - stoptimer(METISTmr); - - starttimer(IOTmr); - WritePermutation(filename, iperm, graph.nvtxs); - stoptimer(IOTmr); - - starttimer(SMBTmr); - ComputeFillIn(&graph, iperm); - stoptimer(SMBTmr); - - stoptimer(TOTALTmr); - - printf("\nTiming Information --------------------------------------------------\n"); - printf(" I/O: \t %7.3f\n", gettimer(IOTmr)); - printf(" Ordering: \t %7.3f (OEMETIS time)\n", gettimer(METISTmr)); - printf(" Symbolic Factorization: \t %7.3f\n", gettimer(SMBTmr)); - printf(" Total: \t %7.3f\n", gettimer(TOTALTmr)); - printf("**********************************************************************\n"); - - - GKfree(&graph.xadj, &graph.adjncy, &perm, &iperm, LTERM); -} - - diff --git a/lib/metis-4.0/Programs/onmetis.c b/lib/metis-4.0/Programs/onmetis.c deleted file mode 100755 index 86f18427b..000000000 --- a/lib/metis-4.0/Programs/onmetis.c +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * onmetis.c - * - * This file contains the driving routine for multilevel method - * - * Started 8/28/94 - * George - * - * $Id: onmetis.c,v 1.1 1998/11/27 17:59:38 karypis Exp $ - * - */ - -#include - - - -/************************************************************************* -* Let the game begin -**************************************************************************/ -main(int argc, char *argv[]) -{ - int i, options[10]; - idxtype *perm, *iperm; - GraphType graph; - char filename[256]; - int numflag = 0, wgtflag; - timer TOTALTmr, METISTmr, IOTmr, SMBTmr; - - - if (argc != 2) { - printf("Usage: %s \n",argv[0]); - exit(0); - } - - strcpy(filename, argv[1]); - - cleartimer(TOTALTmr); - cleartimer(METISTmr); - cleartimer(IOTmr); - cleartimer(SMBTmr); - - starttimer(TOTALTmr); - starttimer(IOTmr); - ReadGraph(&graph, filename, &wgtflag); - if (graph.nvtxs <= 0) { - printf("Empty graph. Nothing to do.\n"); - exit(0); - } - if (graph.ncon != 1) { - printf("Ordering can only be applied to graphs with one constraint.\n"); - exit(0); - } - stoptimer(IOTmr); - - /* Ordering does not use weights! */ - GKfree(&graph.vwgt, &graph.adjwgt, LTERM); - - printf("**********************************************************************\n"); - printf("%s", METISTITLE); - printf("Graph Information ---------------------------------------------------\n"); - printf(" Name: %s, #Vertices: %d, #Edges: %d\n\n", filename, graph.nvtxs, graph.nedges/2); - printf("Node-Based Ordering... ----------------------------------------------\n"); - - perm = idxmalloc(graph.nvtxs, "main: perm"); - iperm = idxmalloc(graph.nvtxs, "main: iperm"); - options[0] = 0; - - starttimer(METISTmr); - METIS_NodeND(&graph.nvtxs, graph.xadj, graph.adjncy, &numflag, options, perm, iperm); - stoptimer(METISTmr); - - starttimer(IOTmr); - WritePermutation(filename, iperm, graph.nvtxs); - stoptimer(IOTmr); - - starttimer(SMBTmr); - ComputeFillIn(&graph, iperm); - stoptimer(SMBTmr); - - stoptimer(TOTALTmr); - - printf("\nTiming Information --------------------------------------------------\n"); - printf(" I/O: \t %7.3f\n", gettimer(IOTmr)); - printf(" Ordering: \t %7.3f (ONMETIS time)\n", gettimer(METISTmr)); - printf(" Symbolic Factorization: \t %7.3f\n", gettimer(SMBTmr)); - printf(" Total: \t %7.3f\n", gettimer(TOTALTmr)); - printf("**********************************************************************\n"); - - - GKfree(&graph.xadj, &graph.adjncy, &perm, &iperm, LTERM); -} - - diff --git a/lib/metis-4.0/Programs/partdmesh.c b/lib/metis-4.0/Programs/partdmesh.c deleted file mode 100755 index d465ee514..000000000 --- a/lib/metis-4.0/Programs/partdmesh.c +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * partdmesh.c - * - * This file reads in the element node connectivity array of a mesh and - * partitions both the elements and the nodes using KMETIS on the dual graph. - * - * Started 9/29/97 - * George - * - * $Id: partdmesh.c,v 1.1 1998/11/27 17:59:38 karypis Exp $ - * - */ - -#include - - - -/************************************************************************* -* Let the game begin -**************************************************************************/ -main(int argc, char *argv[]) -{ - int i, j, ne, nn, etype, numflag=0, nparts, edgecut; - idxtype *elmnts, *epart, *npart; - timer IOTmr, DUALTmr; - char etypestr[4][5] = {"TRI", "TET", "HEX", "QUAD"}; - GraphType graph; - - if (argc != 3) { - printf("Usage: %s \n",argv[0]); - exit(0); - } - - nparts = atoi(argv[2]); - if (nparts < 2) { - printf("nparts must be greater than one.\n"); - exit(0); - } - - cleartimer(IOTmr); - cleartimer(DUALTmr); - - starttimer(IOTmr); - elmnts = ReadMesh(argv[1], &ne, &nn, &etype); - stoptimer(IOTmr); - - epart = idxmalloc(ne, "main: epart"); - npart = idxmalloc(nn, "main: npart"); - - printf("**********************************************************************\n"); - printf("%s", METISTITLE); - printf("Mesh Information ----------------------------------------------------\n"); - printf(" Name: %s, #Elements: %d, #Nodes: %d, Etype: %s\n\n", argv[1], ne, nn, etypestr[etype-1]); - printf("Partitioning Dual Graph... ------------------------------------------\n"); - - - starttimer(DUALTmr); - METIS_PartMeshDual(&ne, &nn, elmnts, &etype, &numflag, &nparts, &edgecut, epart, npart); - stoptimer(DUALTmr); - - printf(" %d-way Edge-Cut: %7d, Balance: %5.2f\n", nparts, edgecut, ComputeElementBalance(ne, nparts, epart)); - - starttimer(IOTmr); - WriteMeshPartition(argv[1], nparts, ne, epart, nn, npart); - stoptimer(IOTmr); - - - printf("\nTiming Information --------------------------------------------------\n"); - printf(" I/O: \t\t %7.3f\n", gettimer(IOTmr)); - printf(" Partitioning: \t\t %7.3f\n", gettimer(DUALTmr)); - printf("**********************************************************************\n"); - -/* - graph.nvtxs = nn; - graph.xadj = idxmalloc(nn+1, "xadj"); - graph.vwgt = idxsmalloc(nn, 1, "vwgt"); - graph.adjncy = idxmalloc(20*nn, "adjncy"); - graph.adjwgt = idxsmalloc(20*nn, 1, "adjncy"); - - METIS_MeshToNodal(&ne, &nn, elmnts, &etype, &numflag, graph.xadj, graph.adjncy); - - ComputePartitionInfo(&graph, nparts, npart); - - GKfree(&graph.xadj, &graph.adjncy, &graph.vwgt, &graph.adjwgt, LTERM); -*/ - - GKfree(&elmnts, &epart, &npart, LTERM); - -} - - diff --git a/lib/metis-4.0/Programs/partnmesh.c b/lib/metis-4.0/Programs/partnmesh.c deleted file mode 100755 index e0a4f40c6..000000000 --- a/lib/metis-4.0/Programs/partnmesh.c +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * partnmesh.c - * - * This file reads in the element node connectivity array of a mesh and - * partitions both the elements and the nodes using KMETIS on the dual graph. - * - * Started 9/29/97 - * George - * - * $Id: partnmesh.c,v 1.1 1998/11/27 17:59:39 karypis Exp $ - * - */ - -#include - - - -/************************************************************************* -* Let the game begin -**************************************************************************/ -main(int argc, char *argv[]) -{ - int i, j, ne, nn, etype, numflag=0, nparts, edgecut; - idxtype *elmnts, *epart, *npart; - timer IOTmr, DUALTmr; - char etypestr[4][5] = {"TRI", "TET", "HEX", "QUAD"}; - GraphType graph; - - if (argc != 3) { - printf("Usage: %s \n",argv[0]); - exit(0); - } - - nparts = atoi(argv[2]); - if (nparts < 2) { - printf("nparts must be greater than one.\n"); - exit(0); - } - - cleartimer(IOTmr); - cleartimer(DUALTmr); - - starttimer(IOTmr); - elmnts = ReadMesh(argv[1], &ne, &nn, &etype); - stoptimer(IOTmr); - - epart = idxmalloc(ne, "main: epart"); - npart = idxmalloc(nn, "main: npart"); - - printf("**********************************************************************\n"); - printf("%s", METISTITLE); - printf("Mesh Information ----------------------------------------------------\n"); - printf(" Name: %s, #Elements: %d, #Nodes: %d, Etype: %s\n\n", argv[1], ne, nn, etypestr[etype-1]); - printf("Partitioning Nodal Graph... -----------------------------------------\n"); - - - starttimer(DUALTmr); - METIS_PartMeshNodal(&ne, &nn, elmnts, &etype, &numflag, &nparts, &edgecut, epart, npart); - stoptimer(DUALTmr); - - printf(" %d-way Edge-Cut: %7d, Balance: %5.2f\n", nparts, edgecut, ComputeElementBalance(ne, nparts, epart)); - - starttimer(IOTmr); - WriteMeshPartition(argv[1], nparts, ne, epart, nn, npart); - stoptimer(IOTmr); - - - printf("\nTiming Information --------------------------------------------------\n"); - printf(" I/O: \t\t %7.3f\n", gettimer(IOTmr)); - printf(" Partitioning: \t\t %7.3f\n", gettimer(DUALTmr)); - printf("**********************************************************************\n"); - -/* - graph.nvtxs = ne; - graph.xadj = idxmalloc(ne+1, "xadj"); - graph.vwgt = idxsmalloc(ne, 1, "vwgt"); - graph.adjncy = idxmalloc(10*ne, "adjncy"); - graph.adjwgt = idxsmalloc(10*ne, 1, "adjncy"); - - METIS_MeshToDual(&ne, &nn, elmnts, &etype, &numflag, graph.xadj, graph.adjncy); - - ComputePartitionInfo(&graph, nparts, epart); - - GKfree(&graph.xadj, &graph.adjncy, &graph.vwgt, &graph.adjwgt, LTERM); -*/ - - GKfree(&elmnts, &epart, &npart, LTERM); - -} - - diff --git a/lib/metis-4.0/Programs/pmetis.c b/lib/metis-4.0/Programs/pmetis.c deleted file mode 100755 index 1812ce681..000000000 --- a/lib/metis-4.0/Programs/pmetis.c +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * pmetis.c - * - * This file contains the driving routine for multilevel method - * - * Started 8/28/94 - * George - * - * $Id: pmetis.c,v 1.1 1998/11/27 17:59:39 karypis Exp $ - * - */ - -#include - - - -/************************************************************************* -* Let the game begin -**************************************************************************/ -main(int argc, char *argv[]) -{ - int i, nparts, options[10]; - idxtype *part; - float lbvec[MAXNCON]; - GraphType graph; - char filename[256]; - int numflag = 0, wgtflag = 0, edgecut; - timer TOTALTmr, METISTmr, IOTmr; - - - if (argc != 3) { - printf("Usage: %s \n",argv[0]); - exit(0); - } - - strcpy(filename, argv[1]); - nparts = atoi(argv[2]); - - if (nparts < 2) { - printf("The number of partitions should be greater than 1!\n"); - exit(0); - } - - cleartimer(TOTALTmr); - cleartimer(METISTmr); - cleartimer(IOTmr); - - starttimer(TOTALTmr); - starttimer(IOTmr); - ReadGraph(&graph, filename, &wgtflag); - if (graph.nvtxs <= 0) { - printf("Empty graph. Nothing to do.\n"); - exit(0); - } - stoptimer(IOTmr); - - printf("**********************************************************************\n"); - printf("%s", METISTITLE); - printf("Graph Information ---------------------------------------------------\n"); - printf(" Name: %s, #Vertices: %d, #Edges: %d, #Parts: %d\n", filename, graph.nvtxs, graph.nedges/2, nparts); - if (graph.ncon > 1) - printf(" Balancing Constraints: %d\n", graph.ncon); - printf("\nRecursive Partitioning... -------------------------------------------\n"); - - part = idxmalloc(graph.nvtxs, "main: part"); - options[0] = 0; - - starttimer(METISTmr); - if (graph.ncon == 1) { - METIS_PartGraphRecursive(&graph.nvtxs, graph.xadj, graph.adjncy, graph.vwgt, graph.adjwgt, - &wgtflag, &numflag, &nparts, options, &edgecut, part); - } - else { - METIS_mCPartGraphRecursive(&graph.nvtxs, &graph.ncon, graph.xadj, graph.adjncy, graph.vwgt, - graph.adjwgt, &wgtflag, &numflag, &nparts, options, &edgecut, part); - } - - stoptimer(METISTmr); - - ComputePartitionBalance(&graph, nparts, part, lbvec); - - printf(" %d-way Edge-Cut: %7d, Balance: ", nparts, edgecut); - for (i=0; i - - -/************************************************************************* -* This function sets up data structures for fill-in computations -**************************************************************************/ -void ComputeFillIn(GraphType *graph, idxtype *iperm) -{ - int i, j, k, nvtxs, maxlnz, maxsub; - idxtype *xadj, *adjncy; - idxtype *perm, *xlnz, *xnzsub, *nzsub; - double opc; - -/* - printf("\nSymbolic factorization... --------------------------------------------\n"); -*/ - - nvtxs = graph->nvtxs; - xadj = graph->xadj; - adjncy = graph->adjncy; - - maxsub = 4*xadj[nvtxs]; - - /* Relabel the vertices so that it starts from 1 */ - k = xadj[nvtxs]; - for (i=0; invtxs; - xadj = graph->xadj; - adjncy = graph->adjncy; - - maxsub = 4*xadj[nvtxs]; - - /* Relabel the vertices so that it starts from 1 */ - k = xadj[nvtxs]; - for (i=0; i= xadj[node+1]) { - xlnz[k+1] = xlnz[k]; - continue; - } - - /* USE RCHLNK TO LINK THROUGH THE STRUCTURE OF A(*,K) BELOW DIAGONAL */ - rchlnk[k] = neqns+1; - for (j=xadj[node]; j lmax) { - lmax = inz; - xnzsub[k] = jstrt; - } - - /* MERGE STRUCTURE OF L(*,I) IN NZSUB INTO RCHLNK. */ - rchm = k; - for (j = jstrt; j <= jstop; ++j) { - nabor = nzsub[j]; - do { - m = rchm; - rchm = rchlnk[m]; - } while (rchm < nabor); - - if (rchm != nabor) { - knz++; - rchlnk[m] = nabor; - rchlnk[nabor] = rchm; - rchm = nabor; - } - } - } - - /* CHECK IF SUBSCRIPTS DUPLICATE THOSE OF ANOTHER COLUMN */ - if (knz == lmax) - goto L1400; - - /* OR IF TAIL OF K-1ST COLUMN MATCHES HEAD OF KTH */ - if (nzbeg > nzend) - goto L1200; - - i = rchlnk[k]; - for (jstrt = nzbeg; jstrt <= nzend; ++jstrt) { - if (nzsub[jstrt] < i) - continue; - - if (nzsub[jstrt] == i) - goto L1000; - else - goto L1200; - } - goto L1200; - -L1000: - xnzsub[k] = jstrt; - for (j = jstrt; j <= nzend; ++j) { - if (nzsub[j] != i) - goto L1200; - - i = rchlnk[i]; - if (i > neqns) - goto L1400; - } - nzend = jstrt - 1; - - /* COPY THE STRUCTURE OF L(*,K) FROM RCHLNK TO THE DATA STRUCTURE (XNZSUB, NZSUB) */ -L1200: - nzbeg = nzend + 1; - nzend += knz; - - if (nzend > *maxsub) { - flag = 1; /* Out of memory */ - break; - } - - i = k; - for (j=nzbeg; j<=nzend; ++j) { - i = rchlnk[i]; - nzsub[j] = i; - marker[i] = k; - } - xnzsub[k] = nzbeg; - marker[k] = k; - - /* - * UPDATE THE VECTOR MRGLNK. NOTE COLUMN L(*,K) JUST FOUND - * IS REQUIRED TO DETERMINE COLUMN L(*,J), WHERE - * L(J,K) IS THE FIRST NONZERO IN L(*,K) BELOW DIAGONAL. - */ -L1400: - if (knz > 1) { - kxsub = xnzsub[k]; - i = nzsub[kxsub]; - mrglnk[k] = mrglnk[i]; - mrglnk[i] = k; - } - - xlnz[k + 1] = xlnz[k] + knz; - } - - if (flag == 0) { - *maxlnz = xlnz[neqns] - 1; - *maxsub = xnzsub[neqns]; - xnzsub[neqns + 1] = xnzsub[neqns]; - } - - marker++; - mrglnk++; - rchlnk++; - nzsub++; - xnzsub++; - xlnz++; - invp++; - perm++; - adjncy++; - xadj++; - GKfree(&rchlnk, &mrglnk, &marker, LTERM); - - return flag; - -} - diff --git a/lib/metis-4.0/Test/Makefile b/lib/metis-4.0/Test/Makefile deleted file mode 100755 index 75e4d83c4..000000000 --- a/lib/metis-4.0/Test/Makefile +++ /dev/null @@ -1,31 +0,0 @@ -include ../Makefile.in - -BINDIR = ../Graphs - -INCLUDES = -I../Lib -CFLAGS = $(COPTIONS) $(OPTFLAGS) $(INCLUDES) - -LIBS = -lmetis -lm -LD = $(CC) $(LDOPTIONS) -L. -L.. -METISLIB = ../libmetis.a - - - -MTESTOBJS = mtest.o ../Programs/io.o - - -.c.o: - $(CC) $(CFLAGS) -c $*.c - -default: $(BINDIR)/mtest - -$(BINDIR)/mtest: $(MTESTOBJS) $(METISLIB) - $(LD) -o $@ $(MTESTOBJS) $(LIBS) - chmod 755 $@ - -clean: - rm -f *.o - -realclean: - rm -f *.o ;\ - rm -f $(BINDIR)/mtest diff --git a/lib/metis-4.0/Test/mtest.c b/lib/metis-4.0/Test/mtest.c deleted file mode 100755 index c9a1a8148..000000000 --- a/lib/metis-4.0/Test/mtest.c +++ /dev/null @@ -1,1776 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * mtest.c - * - * This file is a comprehensive tester for all the graph partitioning/ordering - * routines of METIS - * - * Started 9/18/98 - * George - * - * $Id: mtest.c,v 1.8 1998/09/20 17:36:14 karypis Exp $ - * - */ - -#include - - - -/************************************************************************* -* Let the game begin -**************************************************************************/ -main(int argc, char *argv[]) -{ - int i, nparts, options[10]; - idxtype *part; - float lbvec[MAXNCON], rubvec[MAXNCON]; - GraphType graph; - int numflag = 0, wgtflag = 0, edgecut; - - - if (argc != 2) { - printf("Usage: %s \n",argv[0]); - exit(0); - } - - ReadGraph(&graph, argv[1], &wgtflag); - - printf("**********************************************************************\n"); - printf("%s", METISTITLE); - printf("Graph Information ---------------------------------------------------\n"); - printf(" Name: %s, #Vertices: %d, #Edges: %d\n", argv[1], graph.nvtxs, graph.nedges/2); - - Test_PartGraph(graph.nvtxs, graph.xadj, graph.adjncy); - - Test_PartGraphV(graph.nvtxs, graph.xadj, graph.adjncy); - - Test_PartGraphmC(graph.nvtxs, graph.xadj, graph.adjncy); - - Test_ND(graph.nvtxs, graph.xadj, graph.adjncy); - - printf("\n---------------------------------------------------------------------\n"); - printf(" Testing completed.\n"); - printf("**********************************************************************\n"); - - GKfree(&graph.xadj, &graph.adjncy, &graph.vwgt, &graph.adjwgt, LTERM); -} - - - -/************************************************************************* -* This function tests the regular graph partitioning routines -**************************************************************************/ -void Test_PartGraph(int nvtxs, idxtype *xadj, idxtype *adjncy) -{ - int i, j, jj, k, tstnum, rcode; - int nparts, numflag, wgtflag, edgecut, options[10]; - idxtype *part, *vwgt, *adjwgt; - float tpwgts[256]; - - vwgt = idxmalloc(nvtxs, "vwgt"); - for (i=0; i 1.10*idxsum(nparts, pwgts)) - rcode = 3; - - if (vfree) - free(vwgt); - - if (efree) - free(adjwgt); - - free(pwgts); - - MALLOC_CHECK(NULL); - - return rcode; -} - - -/************************************************************************* -* This function verifies that the partitioning was computed correctly -**************************************************************************/ -int VerifyWPart(int nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, - idxtype *adjwgt, int nparts, float *tpwgts, int edgecut, idxtype *part) -{ - int i, j, k, tvwgt, cut, vfree=0, efree=0, rcode=0; - idxtype *pwgts; - - if (part[idxamax(nvtxs, part)] != nparts-1) - return 1; /* the total number of partitions is different than nparts */ - - /* compute the cut and the pwgts */ - if (vwgt == NULL) { - vfree = 1; - vwgt = idxsmalloc(nvtxs, 1, "vwgt"); - } - if (adjwgt == NULL) { - efree = 1; - adjwgt = idxsmalloc(xadj[nvtxs], 1, "adjwgt"); - } - pwgts = idxsmalloc(nparts, 0, "pwgts"); - - for (cut=0, i=0; i 1.10*tpwgts[i]*tvwgt) { - rcode = 3; - break; - } - } - - if (vfree) - free(vwgt); - - if (efree) - free(adjwgt); - - free(pwgts); - - MALLOC_CHECK(NULL); - - return rcode; -} - - - -/************************************************************************* -* This function tests the regular graph partitioning routines -**************************************************************************/ -void Test_PartGraphV(int nvtxs, idxtype *xadj, idxtype *adjncy) -{ - int i, j, jj, k, tstnum, rcode; - int nparts, numflag, wgtflag, totalv, options[10]; - idxtype *part, *vwgt, *vsize; - float tpwgts[256]; - - vwgt = idxmalloc(nvtxs, "vwgt"); - for (i=0; i 1.05*idxsum(nparts, pwgts)) - rcode = 3; - - if (vfree) - free(vwgt); - - if (efree) - free(vsize); - - free(pwgts); - free(marker); - - MALLOC_CHECK(NULL); - - return rcode; -} - - -/************************************************************************* -* This function verifies that the partitioning was computed correctly -**************************************************************************/ -int VerifyWPartV(int nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, - idxtype *vsize, int nparts, float *tpwgts, int totalv, idxtype *part) -{ - int i, j, k, tvwgt, ttlv, vfree=0, efree=0, rcode=0; - idxtype *pwgts, *marker; - - if (part[idxamax(nvtxs, part)] != nparts-1) - return 1; /* the total number of partitions is different than nparts */ - - /* compute the cut and the pwgts */ - if (vwgt == NULL) { - vfree = 1; - vwgt = idxsmalloc(nvtxs, 1, "vwgt"); - } - if (vsize == NULL) { - efree = 1; - vsize = idxsmalloc(nvtxs, 1, "vsize"); - } - pwgts = idxsmalloc(nparts, 0, "pwgts"); - - marker = idxsmalloc(nparts, -1, "htable"); - for (ttlv=0, i=0; i 1.05*tpwgts[i]*tvwgt) { - rcode = 3; - break; - } - } - - if (vfree) - free(vwgt); - - if (efree) - free(vsize); - - free(pwgts); - free(marker); - - MALLOC_CHECK(NULL); - - return rcode; -} - - - -/************************************************************************* -* This function tests the regular graph partitioning routines -**************************************************************************/ -void Test_PartGraphmC(int nvtxs, idxtype *xadj, idxtype *adjncy) -{ - int i, j, jj, k, tstnum, rcode; - int nparts, ncon, numflag, wgtflag, edgecut, options[10]; - idxtype *part, *vwgt, *adjwgt; - float ubvec[MAXNCON]; - - ncon = 3; - - vwgt = idxmalloc(nvtxs*ncon, "vwgt"); - for (i=0; i ubvec[i]) - rcode = 3; - } - - - if (efree) - free(adjwgt); - - free(pwgts); - - MALLOC_CHECK(NULL); - - return rcode; -} - - -/************************************************************************* -* This function tests the regular graph partitioning routines -**************************************************************************/ -void Test_ND(int nvtxs, idxtype *xadj, idxtype *adjncy) -{ - int i, j, jj, k, tstnum, rcode; - int numflag, wgtflag, options[10]; - idxtype *perm, *iperm, *vwgt; - - vwgt = idxmalloc(nvtxs, "vwgt"); - for (i=0; iisserial) { for(j=0; j EPSILON) { t1 = 1.0/t; - GSCAL(nrow, t1, vv[i1], incx); + /* GSCAL(nrow, t1, vv[i1], incx); */ + for (i = 0; i < nrow; i++) vv[i1][i] *= t1; } /* done with modified gram Schmidt and Arnoldi step.. @@ -439,7 +449,7 @@ static int pc_schur_apply(parms_PC self, FLOAT *y, FLOAT *x) /* form linear combination of v(*,i)'s to update solution */ for(j = 0; j < i+1; j++) { - GAXPY(nrow, rs[j], vv[j], incx, &x[schur_start], incx); + for (i=0; ininf; i++) { x[i+is->nint] -= z2[i+is->nint-schur_start]; } diff --git a/lib/parms/src/parms_vec.c b/lib/parms/src/parms_vec.c index 423e8af43..5616eb2ae 100755 --- a/lib/parms/src/parms_vec.c +++ b/lib/parms/src/parms_vec.c @@ -743,8 +743,7 @@ int parms_VecGather(FLOAT *self, FLOAT *ga, parms_Map map) lsize = parms_MapGetLocalSize(map); if (isserial) { - incx = 1; - GCOPY(lsize, self, incx, ga, incx); + for (i = 0; i < lsize; i++) ga[i] = self[i]; } else { PARMS_NEWARRAY0(num_recv, npro); diff --git a/mesh_part/CMakeLists.txt b/mesh_part/CMakeLists.txt index 1ffb53b38..81bbe0cc4 100644 --- a/mesh_part/CMakeLists.txt +++ b/mesh_part/CMakeLists.txt @@ -4,7 +4,7 @@ project(fesom_ini C Fortran) # get our source files set(src_home ${CMAKE_CURRENT_LIST_DIR}/../src) -set(sources_Fortran ${src_home}/oce_modules.F90 ${src_home}/gen_modules_config.F90 ${src_home}/gen_modules_partitioning.F90 ${src_home}/gen_modules_rotate_grid.F90 ${src_home}/fvom_init.F90 ${src_home}/oce_local.F90 ${src_home}/gen_comm.F90) +set(sources_Fortran ${src_home}/MOD_MESH.F90 ${src_home}/oce_modules.F90 ${src_home}/gen_modules_config.F90 ${src_home}/gen_modules_partitioning.F90 ${src_home}/gen_modules_rotate_grid.F90 ${src_home}/fvom_init.F90 ${src_home}/oce_local.F90 ${src_home}/gen_comm.F90) set(sources_C ${src_home}/fort_part.c) @@ -19,6 +19,7 @@ add_executable(${PROJECT_NAME} ${sources_Fortran}) # CMAKE_Fortran_COMPILER_ID will also work if a wrapper is being used (e.g. mpif90 wraps ifort -> compiler id is Intel) if(${CMAKE_Fortran_COMPILER_ID} STREQUAL Intel ) target_compile_options(${PROJECT_NAME} PRIVATE -r8 -i4 -fp-model precise -no-prec-div -no-prec-sqrt -fast-transcendentals -xHost -ip) +# target_compile_options(${PROJECT_NAME} PRIVATE -r8 -i4 -fp-model precise -no-prec-div -no-prec-sqrt -fast-transcendentals -xHost -ip -g -traceback -check all,noarg_temp_created,bounds,uninit) elseif(${CMAKE_Fortran_COMPILER_ID} STREQUAL GNU ) target_compile_options(${PROJECT_NAME} PRIVATE -fdefault-real-8 -ffree-line-length-none) endif() diff --git a/result_tmp/fvom.clock b/result_tmp/fvom.clock deleted file mode 100644 index c5ecf9124..000000000 --- a/result_tmp/fvom.clock +++ /dev/null @@ -1,2 +0,0 @@ -0 1 1948 -0 1 1948 diff --git a/setups/core2/setup.yml b/setups/core2/setup.yml new file mode 100644 index 000000000..9ead343e6 --- /dev/null +++ b/setups/core2/setup.yml @@ -0,0 +1,17 @@ +mesh: core2 +forcing: JRA55 +clim: + type: phc + filelist: ['phc3.0_winter.nc','phc3.0_winter.nc'] + varlist: ['salt', 'temp'] +ntasks: 288 +time: "08:00:00" + +namelist.config: + timestep: + step_per_day: 32 + run_length: 10 + run_length_unit: "y" + inout: + restart_length: 1 + restart_length_unit: "y" diff --git a/setups/farc/setup.yml b/setups/farc/setup.yml new file mode 100644 index 000000000..fe696a10c --- /dev/null +++ b/setups/farc/setup.yml @@ -0,0 +1,23 @@ +mesh: farc +forcing: JRA55 +clim: + type: phc + filelist: ['phc3.0_winter.nc','phc3.0_winter.nc'] + varlist: ['salt', 'temp'] +ntasks: 1296 +time: "08:00:00" + +namelist.config: + timestep: + step_per_day: 288 + run_length: 10 + run_length_unit: "y" + inout: + restart_length: 1 + restart_length_unit: "y" + +namelist.ice: + ice_dyn: + whichEVP: 1 + evp_rheol_steps: 120 + diff --git a/setups/forcings.yml b/setups/forcings.yml new file mode 100644 index 000000000..c043ae0c0 --- /dev/null +++ b/setups/forcings.yml @@ -0,0 +1,253 @@ +CORE2: + forcing_exchange_coeff: + Ce_atm_oce: 1.75e-3 + Ch_atm_oce: 1.75e-3 + Cd_atm_oce: 1.0e-3 + Ce_atm_ice: 1.75e-3 + Ch_atm_ice: 1.75e-3 + Cd_atm_ice: 1.2e-3 + forcing_bulk: + AOMIP_drag_coeff: False + ncar_bulk_formulae: True + ncar_bulk_z_wind: 10.0 + ncar_bulk_z_tair: 10.0 + ncar_bulk_z_shum: 10.0 + land_ice: + use_landice_water: False + landice_start_mon: 5 + landice_end_mon: 10 + nam_sbc: + nm_xwind_file: u_10. + nm_ywind_file: v_10. + nm_humi_file: q_10. + nm_qsr_file: ncar_rad. + nm_qlw_file: ncar_rad. + nm_tair_file: t_10. + nm_prec_file: ncar_precip. + nm_snow_file: ncar_precip. + nm_mslp_file: slp. + nm_xwind_var: U_10_MOD + nm_ywind_var: V_10_MOD + nm_humi_var: Q_10_MOD + nm_qsr_var: SWDN_MOD + nm_qlw_var: LWDN_MOD + nm_tair_var: T_10_MOD + nm_prec_var: RAIN + nm_snow_var: SNOW + nm_mslp_var: SLP + nm_nc_iyear: 1948 + nm_nc_imm: 1 + nm_nc_idd: 1 + nm_nc_freq: 1 + nm_nc_tmid: 1 + l_xwind: True + l_ywind: True + l_humi: True + l_qsr: True + l_qlw: True + l_tair: True + l_prec: True + l_mslp: False + l_cloud: False + l_snow: True + nm_runoff_file: runoff.nc + runoff_data_source: CORE2 + nm_sss_data_file: PHC2_salx.nc + sss_data_source: CORE2 + namelist.config: + clockinit: + yearnew: 1948 + calendar: + include_fleapyear: False + +JRA55: + forcing_exchange_coeff: + Ce_atm_oce: 1.75e-3 + Ch_atm_oce: 1.75e-3 + Cd_atm_oce: 1.0e-3 + Ce_atm_ice: 1.75e-3 + Ch_atm_ice: 1.75e-3 + Cd_atm_ice: 1.2e-3 + forcing_bulk: + AOMIP_drag_coeff: False + ncar_bulk_formulae: True + ncar_bulk_z_wind: 10.0 + ncar_bulk_z_tair: 10.0 + ncar_bulk_z_shum: 10.0 + land_ice: + use_landice_water: False + landice_start_mon: 5 + landice_end_mon: 10 + nam_sbc: + nm_xwind_file: uas. + nm_ywind_file: vas. + nm_humi_file: huss. + nm_qsr_file: rsds. + nm_qlw_file: rlds. + nm_tair_file: tas. + nm_prec_file: prra. + nm_snow_file: prsn. + nm_mslp_file: psl. + nm_xwind_var: uas + nm_ywind_var: vas + nm_humi_var: huss + nm_qsr_var: rsds + nm_qlw_var: rlds + nm_tair_var: tas + nm_prec_var: prra + nm_snow_var: prsn + nm_mslp_var: psl + nm_nc_iyear: 1900 + nm_nc_imm: 1 + nm_nc_idd: 1 + nm_nc_freq: 1 + nm_nc_tmid: 0 + l_xwind: True + l_ywind: True + l_humi: True + l_qsr: True + l_qlw: True + l_tair: True + l_prec: True + l_mslp: False + l_cloud: False + l_snow: True + nm_runoff_file: CORE2_runoff.nc + runoff_data_source: CORE2 + nm_sss_data_file: PHC2_salx.nc + sss_data_source: CORE2 + # forcing related modifications in other namelists + # (only namelist.config and namelist.ice supported for now). + namelist.config: + clockinit: + yearnew: 1958 + calendar: + include_fleapyear: True + +ERA5: + forcing_exchange_coeff: + Ce_atm_oce: 1.75e-3 + Ch_atm_oce: 1.75e-3 + Cd_atm_oce: 1.0e-3 + Ce_atm_ice: 1.75e-3 + Ch_atm_ice: 1.75e-3 + Cd_atm_ice: 1.2e-3 + forcing_bulk: + AOMIP_drag_coeff: False + ncar_bulk_formulae: True + ncar_bulk_z_wind: 10.0 + ncar_bulk_z_tair: 2.0 + ncar_bulk_z_shum: 2.0 + land_ice: + use_landice_water: False + landice_start_mon: 5 + landice_end_mon: 10 + nam_sbc: + nm_xwind_file: u. + nm_ywind_file: v. + nm_humi_file: q. + nm_qsr_file: ssrd. + nm_qlw_file: strd. + nm_tair_file: t2m. + nm_prec_file: rf. + nm_snow_file: sf. + nm_mslp_file: sp. + nm_xwind_var: u + nm_ywind_var: v + nm_humi_var: q + nm_qsr_var: ssrd + nm_qlw_var: strd + nm_tair_var: t2m + nm_prec_var: rf + nm_snow_var: sf + nm_mslp_var: sp + nm_nc_iyear: 1900 + nm_nc_imm: 1 + nm_nc_idd: 1 + nm_nc_freq: 1 + nm_nc_tmid: 0 + l_xwind: True + l_ywind: True + l_humi: True + l_qsr: True + l_qlw: True + l_tair: True + l_prec: True + l_mslp: False + l_cloud: False + l_snow: True + nm_runoff_file: CORE2_runoff.nc + runoff_data_source: CORE2 + nm_sss_data_file: PHC2_salx.nc + sss_data_source: CORE2 + # forcing related modifications in other namelists + # (only namelist.config and namelist.ice supported for now). + namelist.config: + clockinit: + yearnew: 2000 + calendar: + include_fleapyear: True + +test_global: + forcing_exchange_coeff: + Ce_atm_oce: 1.75e-3 + Ch_atm_oce: 1.75e-3 + Cd_atm_oce: 1.0e-3 + Ce_atm_ice: 1.75e-3 + Ch_atm_ice: 1.75e-3 + Cd_atm_ice: 1.2e-3 + forcing_bulk: + AOMIP_drag_coeff: False + ncar_bulk_formulae: True + ncar_bulk_z_wind: 10.0 + ncar_bulk_z_tair: 10.0 + ncar_bulk_z_shum: 10.0 + land_ice: + use_landice_water: False + landice_start_mon: 5 + landice_end_mon: 10 + nam_sbc: + nm_xwind_file: u_10. + nm_ywind_file: v_10. + nm_humi_file: q_10. + nm_qsr_file: ncar_rad. + nm_qlw_file: ncar_rad. + nm_tair_file: t_10. + nm_prec_file: ncar_precip. + nm_snow_file: ncar_precip. + nm_mslp_file: slp. + nm_xwind_var: U_10_MOD + nm_ywind_var: V_10_MOD + nm_humi_var: Q_10_MOD + nm_qsr_var: SWDN_MOD + nm_qlw_var: LWDN_MOD + nm_tair_var: T_10_MOD + nm_prec_var: RAIN + nm_snow_var: SNOW + nm_mslp_var: SLP + nm_nc_iyear: 1948 + nm_nc_imm: 1 + nm_nc_idd: 1 + nm_nc_freq: 1 + nm_nc_tmid: 1 + l_xwind: True + l_ywind: True + l_humi: True + l_qsr: True + l_qlw: True + l_tair: True + l_prec: True + l_mslp: False + l_cloud: False + l_snow: True + nm_runoff_file: runoff.nc + runoff_data_source: CORE2 + nm_sss_data_file: PHC2_salx.nc + sss_data_source: CORE2 + namelist.config: + clockinit: + yearnew: 1948 + calendar: + include_fleapyear: False + + diff --git a/setups/paths.yml b/setups/paths.yml new file mode 100644 index 000000000..b352c7473 --- /dev/null +++ b/setups/paths.yml @@ -0,0 +1,70 @@ +ollie: + lnodename: + - 'ollie0*' + - 'ollie1*' + meshes: + test_global: ./test/meshes/pi/ + test_souf: ./test/meshes/soufflet/ + pi: /work/ollie/clidyn/FESOM2/meshes/pi/ + core2: /work/ollie/clidyn/FESOM2/meshes/core2/ + mr: /work/ollie/clidyn/FESOM2/meshes/mr/ + hr: /work/ollie/clidyn/FESOM2/meshes/hr/ + orca25: /work/ollie/clidyn/FESOM2/meshes/orca25/ + farc: /work/ollie/clidyn/FESOM2/meshes/farc/ + forcing: + test_global: ./test/input/global/ + CORE2: /work/ollie/clidyn/forcing/CORE2/ + JRA55: /work/ollie/clidyn/forcing/JRA55-do-v1.4.0/ + ERA5: /work/ollie/clidyn/forcing/ERA5/inverted/ + clim: + test_global: ./test/input/global/ + phc: /work/ollie/clidyn/FESOM2/hydrography/phc3.0/ + woa18: /work/ollie/clidyn/FESOM2/hydrography/woa18/ + en4-2-0: /work/ollie/clidyn/FESOM2/hydrography/en4-2-0/ + mit: /work/ollie/clidyn/FESOM2/hydrography/mit/ + gur: /work/ollie/clidyn/FESOM2/hydrography/gur/ + opath: + opath: /work/ollie/${USER}/ + +mistral: + lnodename: + - 'mlogin*' + - 'mistralpp*' + meshes: + test_global: ./test/meshes/pi/ + test_souf: ./test/meshes/soufflet/ + pi: /pool/data/AWICM/FESOM2/MESHES_FESOM2.1/pi/ + core2: /pool/data/AWICM/FESOM2/MESHES_FESOM2.1/core2/ + mr: /pool/data/AWICM/FESOM2/MESHES_FESOM2.1/mr/ + hr: /pool/data/AWICM/FESOM2/MESHES_FESOM2.1/hr/ + orca25: /pool/data/AWICM/FESOM2/MESHES_FESOM2.1/orca25/ + farc: /pool/data/AWICM/FESOM2/MESHES_FESOM2.1/farc/ + forcing: + test_global: ./test/input/global/ + CORE2: /pool/data/AWICM/FESOM2/FORCING/CORE2/ + JRA55: /pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/ + ERA5: /pool/data/AWICM/FESOM2/FORCING/ + clim: + test_global: ./test/input/global/ + phc: /pool/data/AWICM/FESOM2/INITIAL/phc3.0/ + opath: + opath: /scratch/a/${USER}/ + +docker: + lnodename: + - ' ' + meshes: + pi: /fesom/pi/ + test_souf: ./test/meshes/soufflet/ + test_global: ./test/meshes/pi/ + forcing: + CORE2: /fesom/dCORE2/ + JRA55: /fesom/dJRA55/ + test_global: ./test/input/global/ + clim: + phc: /fesom/phc3/ + test_global: ./test/input/global/ + opath: + opath: ../results/ + + diff --git a/setups/pi/setup.yml b/setups/pi/setup.yml new file mode 100644 index 000000000..bbf81c2e0 --- /dev/null +++ b/setups/pi/setup.yml @@ -0,0 +1,19 @@ +mesh: pi +forcing: JRA55 +clim: + type: phc + filelist: ['phc3.0_winter.nc','phc3.0_winter.nc'] + varlist: ['salt', 'temp'] +ntasks: 8 +time: "08:00:00" + +namelist.config: + timestep: + step_per_day: 96 + run_length: 10 + run_length_unit: "y" + inout: + restart_length: 1 + restart_length_unit: "y" + + diff --git a/setups/souf/setup.yml b/setups/souf/setup.yml new file mode 100644 index 000000000..f3ee3656c --- /dev/null +++ b/setups/souf/setup.yml @@ -0,0 +1,69 @@ +mesh: test_souf +forcing: test_global +clim: + type: test_global + filelist: ['woa18_netcdf_5deg.nc','woa18_netcdf_5deg.nc'] + varlist: ['salt', 'temp'] +ntasks: 8 +time: "03:00:00" + +namelist.config: + timestep: + step_per_day: 72 + run_length: 10 + run_length_unit: "y" + geometry: + force_rotation: False + inout: + restart_length: 1 + restart_length_unit: "y" + logfile_outfreq: 720 + geometry: + cyclic_length: 4.5 + rotated_grid: False + force_rotation: False + run_config: + use_ice: False + toy_ocean: True + which_toy: "soufflet" + use_sw_pene: False + calendar: + include_fleapyear: False + +namelist.oce: + oce_dyn: + state_equation: 0 + Div_c: 0.5 + Leith_c: 0.05 + w_split: False + Fer_GM: False + Redi: False + mix_scheme: "PP" + oce_tra: + use_momix: False + K_hor: 10 + surf_relax_S: 0.0 + balance_salt_water: False + +namelist.ice: + ice_dyn: + whichEVP: 0 + evp_rheol_steps: 150 + +namelist.io: + diag_list: + ldiag_energy: True + nml_list: + io_list: + "sst ": + freq: 1 + unit: d + prec: 4 + "m_snow ": + freq: 1 + unit: d + prec: 4 + + + + diff --git a/setups/test_core2/setup.yml b/setups/test_core2/setup.yml new file mode 100644 index 000000000..6f56396b4 --- /dev/null +++ b/setups/test_core2/setup.yml @@ -0,0 +1,39 @@ +mesh: core2 +forcing: JRA55 +clim: + type: phc + filelist: ['phc3.0_winter.nc','phc3.0_winter.nc'] + varlist: ['salt', 'temp'] +ntasks: 288 +time: "00:30:00" + +namelist.config: + timestep: + step_per_day: 32 + run_length: 1 + run_length_unit: "y" + inout: + restart_length: 1 + restart_length_unit: "y" + +namelist.io: + diag_list: + ldiag_energy: False + nml_list: + io_list: + "temp ": + freq: 1 + unit: m + prec: 4 + "salt ": + freq: 1 + unit: m + prec: 4 + +fcheck: + a_ice: 0.24199584126472473 + salt: 21.45014190673828 + temp: 4.137086868286133 + sst: 11.215014457702637 + + diff --git a/setups/test_pi/setup.yml b/setups/test_pi/setup.yml new file mode 100644 index 000000000..e7f20c760 --- /dev/null +++ b/setups/test_pi/setup.yml @@ -0,0 +1,78 @@ +mesh: test_global +forcing: test_global +clim: + type: test_global + filelist: ['woa18_netcdf_5deg.nc','woa18_netcdf_5deg.nc'] + varlist: ['salt', 'temp'] +ntasks: 2 +time: "00:10:00" + +namelist.config: + timestep: + step_per_day: 96 + run_length: 1 + run_length_unit: "d" + geometry: + force_rotation: True + restart_log: + restart_length: 1 + restart_length_unit: "d" + logfile_outfreq: 10 + +namelist.oce: + oce_dyn: + Div_c: 0.5 + Leith_c: 0.05 + w_split: True + +namelist.ice: + ice_dyn: + whichEVP: 1 + evp_rheol_steps: 120 + +namelist.io: + diag_list: + ldiag_energy: False + nml_list: + io_list: + "sst ": + freq: 1 + unit: d + prec: 8 + "a_ice ": + freq: 1 + unit: d + prec: 8 + "temp ": + freq: 1 + unit: d + prec: 8 + "salt ": + freq: 1 + unit: d + prec: 8 + "u ": + freq: 1 + unit: d + prec: 8 + "v ": + freq: 1 + unit: d + prec: 8 + +fcheck: + a_ice: 0.26911274194532003 + salt: 23.9440531023692 + temp: 1.7017743034836539 + sst: 8.532529081624512 + u: -0.0014065854610620704 + v: 0.00014195144238082126 + + + + + + + + + diff --git a/setups/test_pi_icepack/setup.yml b/setups/test_pi_icepack/setup.yml new file mode 100644 index 000000000..9180b3d59 --- /dev/null +++ b/setups/test_pi_icepack/setup.yml @@ -0,0 +1,90 @@ +mesh: test_global +forcing: test_global +clim: + type: test_global + filelist: ['woa18_netcdf_5deg.nc','woa18_netcdf_5deg.nc'] + varlist: ['salt', 'temp'] +ntasks: 2 +time: "00:10:00" + +namelist.config: + timestep: + step_per_day: 96 + run_length: 1 + run_length_unit: "d" + geometry: + force_rotation: True + restart_log: + restart_length: 1 + restart_length_unit: "d" + logfile_outfreq: 10 + +namelist.oce: + oce_dyn: + Div_c: 0.5 + Leith_c: 0.05 + w_split: True + +namelist.ice: + ice_dyn: + whichEVP: 0 + evp_rheol_steps: 120 + +namelist.icepack: + nml_list_icepack: + io_list_icepack: + "aicen ": + freq: 1 + unit: d + prec: 8 + "vicen ": + freq: 1 + unit: d + prec: 8 + +namelist.io: + diag_list: + ldiag_energy: False + nml_list: + io_list: + "sst ": + freq: 1 + unit: d + prec: 8 + "a_ice ": + freq: 1 + unit: d + prec: 8 + "temp ": + freq: 1 + unit: d + prec: 8 + "salt ": + freq: 1 + unit: d + prec: 8 + "u ": + freq: 1 + unit: d + prec: 8 + "v ": + freq: 1 + unit: d + prec: 8 + +fcheck: + a_ice: 0.3059942958760058 + salt: 23.866224273520945 + temp: 1.7172059436119271 + sst: 8.725966058658427 + u: -0.0014448488412238854 + v: 0.00018596541127645607 + aicen: 0.061198859175201174 + + + + + + + + diff --git a/setups/test_souf/setup.yml b/setups/test_souf/setup.yml new file mode 100644 index 000000000..be91281af --- /dev/null +++ b/setups/test_souf/setup.yml @@ -0,0 +1,88 @@ +mesh: test_souf +forcing: test_global +clim: + type: test_global + filelist: ['woa18_netcdf_5deg.nc','woa18_netcdf_5deg.nc'] + varlist: ['salt', 'temp'] +ntasks: 8 +time: "00:10:00" + +namelist.config: + timestep: + step_per_day: 72 + run_length: 1 + run_length_unit: "d" + restart_log: + restart_length: 1 + restart_length_unit: 'd' + logfile_outfreq: 10 + geometry: + force_rotation: False + inout: + restart_length: 1 + restart_length_unit: "y" + geometry: + cyclic_length: 4.5 + rotated_grid: False + force_rotation: False + run_config: + use_ice: False + toy_ocean: True + which_toy: "soufflet" + use_sw_pene: False + calendar: + include_fleapyear: False + +namelist.oce: + oce_dyn: + state_equation: 0 + Div_c: 0.5 + Leith_c: 0.05 + w_split: False + Fer_GM: False + Redi: False + mix_scheme: "PP" + oce_tra: + use_momix: False + K_hor: 10 + surf_relax_S: 0.0 + balance_salt_water: False + +namelist.ice: + ice_dyn: + whichEVP: 0 + evp_rheol_steps: 150 + +namelist.io: + diag_list: + ldiag_energy: False + nml_list: + io_list: + "sst ": + freq: 1 + unit: d + prec: 8 + "temp ": + freq: 1 + unit: d + prec: 8 + "salt ": + freq: 1 + unit: d + prec: 8 + "u ": + freq: 1 + unit: d + prec: 8 + "v ": + freq: 1 + unit: d + prec: 8 + +fcheck: + salt: 35.0 + temp: 14.329708493584528 + sst: 18.939699611886315 + u: 0.027431619139927817 + v: -0.0008870629489199685 + diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt new file mode 100644 index 000000000..3088327d3 --- /dev/null +++ b/test/CMakeLists.txt @@ -0,0 +1,6 @@ +cmake_minimum_required(VERSION 3.16.5) + +project(fesom2_tests Fortran) + +add_subdirectory(fortran) +add_subdirectory(fortran_parallel) diff --git a/test/fortran/CMakeLists.txt b/test/fortran/CMakeLists.txt new file mode 100644 index 000000000..47bb252b1 --- /dev/null +++ b/test/fortran/CMakeLists.txt @@ -0,0 +1,43 @@ +cmake_minimum_required(VERSION 3.16.5) + +project(fesom2_fortran_tests Fortran CXX) +set(LIB_TARGET ${PROJECT_NAME}-lib) + +include(${CMAKE_CURRENT_LIST_DIR}/../../cmake/FindNETCDF.cmake) + +find_package(PFUNIT REQUIRED) +enable_testing() + +add_library(${LIB_TARGET} ${CMAKE_CURRENT_LIST_DIR}/../../src/forcing_provider_async_module.F90 + ${CMAKE_CURRENT_LIST_DIR}/../../src/async_threads_module.F90 + ${CMAKE_CURRENT_LIST_DIR}/../../src/forcing_provider_netcdf_module.F90 + ${CMAKE_CURRENT_LIST_DIR}/../../src/forcing_lookahead_reader_module.F90 + ) + +add_subdirectory(../../src/async_threads_cpp ${PROJECT_BINARY_DIR}/async_threads_cpp) + +target_include_directories(${LIB_TARGET} PRIVATE ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_LIST_DIR} ${NETCDF_Fortran_INCLUDE_DIRECTORIES}) +target_link_libraries(${LIB_TARGET} ${NETCDF_Fortran_LIBRARIES} ${NETCDF_C_LIBRARIES}) +target_link_libraries(${LIB_TARGET} async_threads_cpp) +set_target_properties(${LIB_TARGET} PROPERTIES Fortran_MODULE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) + +add_pfunit_ctest (${PROJECT_NAME} + TEST_SOURCES forcing_provider_module_tests.pf # must be a path relative to CMAKE_CURRENT_SOURCE_DIR, then the generated files will be placed in CMAKE_CURRENT_BINARY_DIR (see add_pfunit_ctest.cmake) + forcing_provider_netcdf_module_tests.pf + forcing_lookahead_reader_module_tests.pf + LINK_LIBRARIES ${LIB_TARGET} + ) + +if(${CMAKE_Fortran_COMPILER_ID} STREQUAL Intel) + target_compile_options(${LIB_TARGET} PRIVATE -fpp -fp-model precise) + target_compile_options(${PROJECT_NAME} PRIVATE -fpp -fp-model precise) +elseif(${CMAKE_Fortran_COMPILER_ID} STREQUAL GNU) + target_compile_options(${LIB_TARGET} PRIVATE -cpp -ffree-line-length-none) + target_compile_options(${PROJECT_NAME} PRIVATE -cpp -ffree-line-length-none) +endif() + +add_custom_command( + TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_directory + ${CMAKE_CURRENT_SOURCE_DIR}/fixtures/ + ${CMAKE_CURRENT_BINARY_DIR}/fixtures/) diff --git a/test/fortran/fixtures/test.1948.nc b/test/fortran/fixtures/test.1948.nc new file mode 100644 index 000000000..da031e476 Binary files /dev/null and b/test/fortran/fixtures/test.1948.nc differ diff --git a/test/fortran/forcing_lookahead_reader_module_tests.pf b/test/fortran/forcing_lookahead_reader_module_tests.pf new file mode 100644 index 000000000..a3953e18f --- /dev/null +++ b/test/fortran/forcing_lookahead_reader_module_tests.pf @@ -0,0 +1,26 @@ +module forcing_lookahead_reader_module_tests + use forcing_lookahead_reader_module + use funit; implicit none + +contains + + + @test + subroutine test_is_not_initialized_without_call_to_initialize() + type(forcing_lookahead_reader_type) r + + @assertTrue(.not. r%is_initialized()) + end subroutine + + + @test + subroutine test_is_initialized_after_call_to_initialize() + type(forcing_lookahead_reader_type) r + + call r%initialize("fixtures/test.1948.nc", 0, "q") + @assertTrue(r%is_initialized()) + call r%finalize() + end subroutine + + +end module diff --git a/test/fortran/forcing_provider_module_tests.pf b/test/fortran/forcing_provider_module_tests.pf new file mode 100644 index 000000000..e078212ad --- /dev/null +++ b/test/fortran/forcing_provider_module_tests.pf @@ -0,0 +1,63 @@ +module forcing_provider_module_tests + use forcing_provider_async_module + use funit; implicit none + +contains + + + + @test + subroutine test_can_read_across_two_years() + real(4), allocatable :: forcingdata(:,:) + + allocate(forcingdata(3,4)) + call forcing_provider%get_forcingdata(1, 1, .false., "fixtures/test.1948.nc", 2015, "q", 1, forcingdata) + @assertEqual(0.0000, forcingdata(1,1), tolerance=1.e-6) + @assertEqual(0.0001, forcingdata(2,1), tolerance=1.e-6) + @assertEqual(0.0007, forcingdata(2,3), tolerance=1.e-6) + + call forcing_provider%get_forcingdata(1, 1, .false., "fixtures/test.1948.nc", 2016, "q", 1, forcingdata) + @assertEqual(0.0000, forcingdata(1,1), tolerance=1.e-6) + @assertEqual(0.0001, forcingdata(2,1), tolerance=1.e-6) + @assertEqual(0.0007, forcingdata(2,3), tolerance=1.e-6) + end subroutine + + + @test + subroutine test_netcdf_forcing_can_get_timestep1_twice() + real(4), allocatable :: forcingdata(:,:) + character(:), allocatable :: filepath + character(:), allocatable :: varname + + filepath = "fixtures/test.1948.nc" + varname = "q" + allocate(forcingdata(3,4)) + call forcing_provider%get_forcingdata(1, 1, .false., filepath, 2015, varname, 1, forcingdata) + @assertEqual(0.0000, forcingdata(1,1), tolerance=1.e-6) + @assertEqual(0.0001, forcingdata(2,1), tolerance=1.e-6) + @assertEqual(0.0007, forcingdata(2,3), tolerance=1.e-6) + + call forcing_provider%get_forcingdata(1, 1, .false., filepath, 2015, varname, 1, forcingdata) + @assertEqual(0.0000, forcingdata(1,1), tolerance=1.e-6) + @assertEqual(0.0001, forcingdata(2,1), tolerance=1.e-6) + @assertEqual(0.0007, forcingdata(2,3), tolerance=1.e-6) + end subroutine + + + @test + subroutine test_netcdf_forcing_timestep5_equals_fixture() + real(4), allocatable :: forcingdata(:,:) + character(:), allocatable :: filepath + character(:), allocatable :: varname + + filepath = "fixtures/test.1948.nc" + varname = "q" + allocate(forcingdata(3,4)) + + call forcing_provider%get_forcingdata(1, 1, .false., filepath, 2015, varname, 5, forcingdata) + @assertEqual(0.0048, forcingdata(1,1), tolerance=1.e-6) + @assertEqual(0.0049, forcingdata(2,1), tolerance=1.e-6) + @assertEqual(0.0055, forcingdata(2,3), tolerance=1.e-6) + end subroutine + +end module diff --git a/test/fortran/forcing_provider_netcdf_module_tests.pf b/test/fortran/forcing_provider_netcdf_module_tests.pf new file mode 100644 index 000000000..21b1eaa65 --- /dev/null +++ b/test/fortran/forcing_provider_netcdf_module_tests.pf @@ -0,0 +1,60 @@ +module forcing_provider_netcdf_module_tests + use forcing_provider_netcdf_module + use funit; implicit none + +contains + + + @test + subroutine test_can_read_timestep1_and_5_twice() + character(:), allocatable :: filepath + character(:), allocatable :: varname + type(netcdf_reader_handle) handle + real(4), allocatable :: values(:,:,:) + + filepath = "fixtures/test.1948.nc" + varname = "q" + + call handle%initialize(filepath, varname) + + call handle%read_netcdf_timesteps(1, 1, values) + @assertEqual(0.0000, values(1,1, 1), tolerance=1.e-6) + @assertEqual(0.0001, values(2,1, 1), tolerance=1.e-6) + @assertEqual(0.0007, values(2,3, 1), tolerance=1.e-6) + + call handle%read_netcdf_timesteps(5, 5, values) + @assertEqual(0.0048, values(1,1, 1), tolerance=1.e-6) + @assertEqual(0.0049, values(2,1, 1), tolerance=1.e-6) + @assertEqual(0.0055, values(2,3, 1), tolerance=1.e-6) + + call handle%finalize() + end subroutine + + + @test + subroutine test_can_read_timestep_size_of_variable() + type(netcdf_reader_handle) handle + + call handle%initialize("fixtures/test.1948.nc", "q") + @assertEqual(5, handle%timestep_size()) + + call handle%finalize() + end subroutine + + + @test + subroutine test_can_read_netcdf_2d() + type(netcdf_reader_handle) handle + real(4), allocatable :: values(:,:) + + call handle%initialize("fixtures/test.1948.nc", "q") + + call handle%read_netcdf_timestep_2d(1, values) + @assertEqual(0.0000, values(1,1), tolerance=1.e-6) + @assertEqual(0.0001, values(2,1), tolerance=1.e-6) + @assertEqual(0.0007, values(2,3), tolerance=1.e-6) + + call handle%finalize() + end subroutine + +end module diff --git a/test/fortran_parallel/CMakeLists.txt b/test/fortran_parallel/CMakeLists.txt new file mode 100644 index 000000000..88cc7cd34 --- /dev/null +++ b/test/fortran_parallel/CMakeLists.txt @@ -0,0 +1,26 @@ +cmake_minimum_required(VERSION 3.16.5) + +project(fesom2_fortran_tests_parallel Fortran) +set(LIB_TARGET ${PROJECT_NAME}-lib) + +find_package(PFUNIT REQUIRED) +enable_testing() + +add_library(${LIB_TARGET} ${CMAKE_CURRENT_LIST_DIR}/../../src/mpi_topology_module.F90) +target_include_directories(${LIB_TARGET} PRIVATE ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_LIST_DIR} ${NETCDF_Fortran_INCLUDE_DIRECTORIES}) +target_link_libraries(${LIB_TARGET} ${NETCDF_Fortran_LIBRARIES} ${NETCDF_C_LIBRARIES}) +set_target_properties(${LIB_TARGET} PROPERTIES Fortran_MODULE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) + +add_pfunit_ctest (${PROJECT_NAME} + TEST_SOURCES mpi_topology_module_tests.pf # must be a path relative to CMAKE_CURRENT_SOURCE_DIR, then the generated files will be placed in CMAKE_CURRENT_BINARY_DIR (see add_pfunit_ctest.cmake) + LINK_LIBRARIES ${LIB_TARGET} + MAX_PES 6 + ) + +if(${CMAKE_Fortran_COMPILER_ID} STREQUAL Intel) + target_compile_options(${LIB_TARGET} PRIVATE -fpp -fp-model precise) + target_compile_options(${PROJECT_NAME} PRIVATE -fpp -fp-model precise) +elseif(${CMAKE_Fortran_COMPILER_ID} STREQUAL GNU) + target_compile_options(${LIB_TARGET} PRIVATE -cpp -ffree-line-length-none) + target_compile_options(${PROJECT_NAME} PRIVATE -cpp -ffree-line-length-none) +endif() diff --git a/test/fortran_parallel/mpi_topology_module_tests.pf b/test/fortran_parallel/mpi_topology_module_tests.pf new file mode 100644 index 000000000..b5b7c8da9 --- /dev/null +++ b/test/fortran_parallel/mpi_topology_module_tests.pf @@ -0,0 +1,211 @@ +module mpi_topology_module_tests + use mpi_topology_module + use pFUnit ! not FUnit + implicit none + +contains + + @before + subroutine setup(mpitest) + class(MpiTestMethod), intent(inout) :: mpitest + end subroutine + + @after + subroutine teardown(mpitest) + class(MpiTestMethod), intent(inout) :: mpitest + + call mpi_topology%reset_state() + end subroutine + + + @test(npes=[3]) + subroutine next_host_head_rank_ShouldAlwaysBeZeroForFirstCall(mpitest) + class(MpiTestMethod), intent(inout) :: mpitest + integer next + + next = mpi_topology%next_host_head_rank(mpitest%getMpiCommunicator()) + @assertEqual(0, next) + end subroutine + + + @test(npes=[3]) + subroutine testHeadIsDifferentForOnlyDifferentHosts(mpitest) + class(MpiTestMethod), intent(inout) :: mpitest + character(1), dimension(3) :: hostnames = ["a","b","c"] + + call mpi_topology%set_hostname_strategy(hostname_mock) + + @assertEqual(0, mpi_topology%next_host_head_rank(mpitest%getMpiCommunicator())) + @assertEqual(1, mpi_topology%next_host_head_rank(mpitest%getMpiCommunicator())) + @assertEqual(2, mpi_topology%next_host_head_rank(mpitest%getMpiCommunicator())) + + contains + + subroutine hostname_mock(hostname) + implicit none + character(len=:), allocatable, intent(out) :: hostname + + allocate(character(32) :: hostname) + write(hostname, '(aa)') 'mockhost_', hostnames(mpitest%getProcessRank()+1) + end subroutine + end subroutine + + + @test(npes=[6]) + subroutine testHeadIsDifferentForSomeDifferentHosts(mpitest) + class(MpiTestMethod), intent(inout) :: mpitest + character(1), dimension(6) :: hostnames = ["a","a","b","b","c","c"] + + call mpi_topology%set_hostname_strategy(hostname_mock2) + + @assertEqual(0, mpi_topology%next_host_head_rank(mpitest%getMpiCommunicator())) + @assertEqual(2, mpi_topology%next_host_head_rank(mpitest%getMpiCommunicator())) + @assertEqual(4, mpi_topology%next_host_head_rank(mpitest%getMpiCommunicator())) + @assertEqual(1, mpi_topology%next_host_head_rank(mpitest%getMpiCommunicator())) + + contains + + subroutine hostname_mock2(hostname) + implicit none + character(len=:), allocatable, intent(out) :: hostname + + allocate(character(32) :: hostname) + write(hostname, '(aa)') 'mockhost_', hostnames(mpitest%getProcessRank()+1) + end subroutine + end subroutine + + + @test(npes=[6]) + subroutine testFirstHeadRankIsIncrementedForTwoRounds(mpitest) + class(MpiTestMethod), intent(inout) :: mpitest + character(1), dimension(6) :: hostnames = ["a","a","b","b","c","c"] + + call mpi_topology%set_hostname_strategy(hostname_mock2) + + @assertEqual(0, mpi_topology%next_host_head_rank(mpitest%getMpiCommunicator())) + @assertEqual(2, mpi_topology%next_host_head_rank(mpitest%getMpiCommunicator())) + @assertEqual(4, mpi_topology%next_host_head_rank(mpitest%getMpiCommunicator())) + @assertEqual(1, mpi_topology%next_host_head_rank(mpitest%getMpiCommunicator())) + @assertEqual(3, mpi_topology%next_host_head_rank(mpitest%getMpiCommunicator())) + @assertEqual(5, mpi_topology%next_host_head_rank(mpitest%getMpiCommunicator())) + + contains + + subroutine hostname_mock2(hostname) + implicit none + character(len=:), allocatable, intent(out) :: hostname + + allocate(character(32) :: hostname) + write(hostname, '(aa)') 'mockhost_', hostnames(mpitest%getProcessRank()+1) + end subroutine + end subroutine + + + @test(npes=[6]) + subroutine next_host_head_rank_ShouldBeZeroAfterLastRank(mpitest) + class(MpiTestMethod), intent(inout) :: mpitest + character(1), dimension(6) :: hostnames = ["a","a","b","b","c","c"] + integer i, r + call mpi_topology%set_hostname_strategy(hostname_mock2) + + ! exhaust the available ranks + do i=1, mpitest%getNumProcesses() + r = mpi_topology%next_host_head_rank(mpitest%getMpiCommunicator()) + end do + + @assertEqual(0, mpi_topology%next_host_head_rank(mpitest%getMpiCommunicator())) + @assertEqual(2, mpi_topology%next_host_head_rank(mpitest%getMpiCommunicator())) + @assertEqual(4, mpi_topology%next_host_head_rank(mpitest%getMpiCommunicator())) + + contains + + subroutine hostname_mock2(hostname) + implicit none + character(len=:), allocatable, intent(out) :: hostname + + allocate(character(32) :: hostname) + write(hostname, '(aa)') 'mockhost_', hostnames(mpitest%getProcessRank()+1) + end subroutine + end subroutine + + + @test(npes=[4]) + subroutine next_host_head_rank_UsecountShouldBe1ForFirstLap(mpitest) + class(MpiTestMethod), intent(inout) :: mpitest + character(1), dimension(4) :: hostnames = ["a","a","b","b"] + integer i, r, usecount + call mpi_topology%set_hostname_strategy(hostname_mock) + + @assertEqual(0, mpi_topology%next_host_head_rank(mpitest%getMpiCommunicator(), usecount)) + @assertEqual(1, usecount) + @assertEqual(2, mpi_topology%next_host_head_rank(mpitest%getMpiCommunicator(), usecount)) + @assertEqual(1, usecount) + + contains + + subroutine hostname_mock(hostname) + implicit none + character(len=:), allocatable, intent(out) :: hostname + + allocate(character(32) :: hostname) + write(hostname, '(aa)') 'mockhost_', hostnames(mpitest%getProcessRank()+1) + end subroutine + end subroutine + + + @test(npes=[4]) + subroutine next_host_head_rank_UsecountShouldBe1ForSecondLap(mpitest) + class(MpiTestMethod), intent(inout) :: mpitest + character(1), dimension(4) :: hostnames = ["a","a","b","b"] + integer i, r, usecount + call mpi_topology%set_hostname_strategy(hostname_mock) + + @assertEqual(0, mpi_topology%next_host_head_rank(mpitest%getMpiCommunicator())) + @assertEqual(2, mpi_topology%next_host_head_rank(mpitest%getMpiCommunicator())) + + @assertEqual(1, mpi_topology%next_host_head_rank(mpitest%getMpiCommunicator(), usecount)) + @assertEqual(1, usecount) + @assertEqual(3, mpi_topology%next_host_head_rank(mpitest%getMpiCommunicator(), usecount)) + @assertEqual(1, usecount) + + contains + + subroutine hostname_mock(hostname) + implicit none + character(len=:), allocatable, intent(out) :: hostname + + allocate(character(32) :: hostname) + write(hostname, '(aa)') 'mockhost_', hostnames(mpitest%getProcessRank()+1) + end subroutine + end subroutine + + + @test(npes=[6]) + subroutine next_host_head_rank_UsecountShouldIncrementAfterLastRank(mpitest) + class(MpiTestMethod), intent(inout) :: mpitest + character(1), dimension(6) :: hostnames = ["a","a","a","b","b","b"] + integer i, r, usecount + call mpi_topology%set_hostname_strategy(hostname_mock2) + + ! exhaust the available ranks to start over with rank 0 + do i=1, mpitest%getNumProcesses() + r = mpi_topology%next_host_head_rank(mpitest%getMpiCommunicator()) + end do + + @assertEqual(0, mpi_topology%next_host_head_rank(mpitest%getMpiCommunicator(), usecount)) + @assertEqual(2, usecount) + @assertEqual(3, mpi_topology%next_host_head_rank(mpitest%getMpiCommunicator(), usecount)) + @assertEqual(2, usecount) + + contains + + subroutine hostname_mock2(hostname) + implicit none + character(len=:), allocatable, intent(out) :: hostname + + allocate(character(32) :: hostname) + write(hostname, '(aa)') 'mockhost_', hostnames(mpitest%getProcessRank()+1) + end subroutine + end subroutine + +end module diff --git a/test/input/global/PHC2_salx.nc b/test/input/global/PHC2_salx.nc new file mode 100644 index 000000000..b3561fa1e Binary files /dev/null and b/test/input/global/PHC2_salx.nc differ diff --git a/test/input/global/ncar_precip.1948.nc b/test/input/global/ncar_precip.1948.nc new file mode 100644 index 000000000..6cb3996fe Binary files /dev/null and b/test/input/global/ncar_precip.1948.nc differ diff --git a/test/input/global/ncar_rad.1948.nc b/test/input/global/ncar_rad.1948.nc new file mode 100644 index 000000000..f6a21fb2d Binary files /dev/null and b/test/input/global/ncar_rad.1948.nc differ diff --git a/test/input/global/q_10.1948.nc b/test/input/global/q_10.1948.nc new file mode 100644 index 000000000..239f0cd89 Binary files /dev/null and b/test/input/global/q_10.1948.nc differ diff --git a/test/input/global/runoff.nc b/test/input/global/runoff.nc new file mode 100644 index 000000000..305a2b0f2 Binary files /dev/null and b/test/input/global/runoff.nc differ diff --git a/test/input/global/slp.1948.nc b/test/input/global/slp.1948.nc new file mode 100644 index 000000000..4405855fe Binary files /dev/null and b/test/input/global/slp.1948.nc differ diff --git a/test/input/global/t_10.1948.nc b/test/input/global/t_10.1948.nc new file mode 100644 index 000000000..e9db4b1f0 Binary files /dev/null and b/test/input/global/t_10.1948.nc differ diff --git a/test/input/global/u_10.1948.nc b/test/input/global/u_10.1948.nc new file mode 100644 index 000000000..2329a225d Binary files /dev/null and b/test/input/global/u_10.1948.nc differ diff --git a/test/input/global/v_10.1948.nc b/test/input/global/v_10.1948.nc new file mode 100644 index 000000000..3aff75069 Binary files /dev/null and b/test/input/global/v_10.1948.nc differ diff --git a/test/input/global/woa18_netcdf_5deg.nc b/test/input/global/woa18_netcdf_5deg.nc new file mode 100644 index 000000000..2215b266a Binary files /dev/null and b/test/input/global/woa18_netcdf_5deg.nc differ diff --git a/test/meshes/pi/aux3d.out b/test/meshes/pi/aux3d.out new file mode 100644 index 000000000..58716a08a --- /dev/null +++ b/test/meshes/pi/aux3d.out @@ -0,0 +1,3189 @@ +48 +0.0 +-5.0 +-10.0 +-20.0 +-30.0 +-40.0 +-50.0 +-60.0 +-70.0 +-80.0 +-90.0 +-100.0 +-115.0 +-135.0 +-160.0 +-190.0 +-230.0 +-280.0 +-340.0 +-410.0 +-490.0 +-580.0 +-680.0 +-790.0 +-910.0 +-1040.0 +-1180.0 +-1330.0 +-1500.0 +-1700.0 +-1920.0 +-2150.0 +-2400.0 +-2650.0 +-2900.0 +-3150.0 +-3400.0 +-3650.0 +-3900.0 +-4150.0 +-4400.0 +-4650.0 +-4900.0 +-5150.0 +-5400.0 +-5650.0 +-6000.0 +-6250.0 +-672 + -534 + -621 + -744 + -594 + -732 + -721 + -2288 + -477 + -335 + -807 + -435 + -37 + -629 + -2219 + -681 + -270 + -765 + -130 + -941 + -1572 + -2225 + -2324 + -2318 + -315 + -686 + -296 + -168 + -130 + -869 + -259 + -32 + -63 + -281 + -30 + -77 + -209 + -1677 + -2029 + -1423 + -719 + -2089 + -281 + -199 + -963 + -78 + -2171 + -2094 + -1919 + -1254 + -2341 + -2027 + -2319 + -1574 + -343 + -678 + -214 + -883 + -64 + -797 + -30 + -169 + -314 + -184 + -269 + -219 + -301 + -203 + -282 + -225 + -305 + -165 + -294 + -274 + -52 + -1043 + -920 + -876 + -979 + -1489 + -360 + -722 + -213 + -257 + -237 + -2278 + -2202 + -2319 + -1390 + -1993 + -145 + -2291 + -1871 + -627 + -422 + -323 + -184 + -237 + -52 + -358 + -124 + -200 + -311 + -173 + -264 + -285 + -233 + -232 + -313 + -261 + -268 + -248 + -219 + -213 + -797 + -201 + -159 + -217 + -102 + -799 + -864 + -816 + -588 + -400 + -149 + -332 + -662 + -615 + -407 + -204 + -2212 + -2059 + -2144 + -1986 + -192 + -2005 + -921 + -482 + -496 + -311 + -213 + -356 + -242 + -282 + -30 + -3659 + -1202 + -3436 + -3069 + -2399 + -1105 + -1892 + -439 + -698 + -317 + -1286 + -512 + -274 + -323 + -1660 + -3573 + -2819 + -2771 + -274 + -322 + -304 + -166 + -75 + -446 + -721 + -590 + -382 + -630 + -96 + -30 + -474 + -189 + -1795 + -2048 + -1642 + -1750 + -109 + -1070 + -316 + -409 + -442 + -277 + -84 + -218 + -284 + -30 + -3518 + -3468 + -3020 + -3330 + -2716 + -2449 + -1767 + -1342 + -1664 + -1634 + -3309 + -304 + -215 + -2631 + -2522 + -3156 + -3104 + -177 + -177 + -445 + -256 + -79 + -194 + -359 + -505 + -459 + -362 + -30 + -93 + -1811 + -1957 + -1468 + -40 + -1538 + -558 + -236 + -181 + -372 + -457 + -467 + -295 + -30 + -438 + -193 + -2882 + -2886 + -1579 + -2699 + -3027 + -3118 + -2891 + -2381 + -1515 + -1090 + -1318 + -2996 + -2416 + -2198 + -232 + -1434 + -2970 + -3053 + -2251 + -2643 + -296 + -75 + -332 + -30 + -79 + -246 + -258 + -237 + -499 + -30 + -44 + -1860 + -1709 + -1503 + -476 + -525 + -325 + -389 + -244 + -210 + -32 + -1272 + -310 + -30 + -400 + -1253 + -1003 + -2060 + -2326 + -2620 + -967 + -2902 + -2036 + -2560 + -2495 + -2227 + -677 + -1170 + -645 + -1873 + -2137 + -886 + -1613 + -337 + -2665 + -2398 + -2124 + -2647 + -205 + -171 + -51 + -151 + -173 + -702 + -393 + -143 + -30 + -1648 + -1571 + -97 + -1114 + -683 + -358 + -244 + -139 + -124 + -30 + -1419 + -531 + -1380 + -1418 + -597 + -1173 + -1393 + -439 + -413 + -1555 + -2370 + -429 + -2942 + -3195 + -1625 + -3035 + -2064 + -1454 + -785 + -1753 + -143 + -133 + -1125 + -307 + -30 + -289 + -447 + -257 + -235 + -1728 + -2922 + -2410 + -1167 + -210 + -30 + -161 + -181 + -354 + -30 + -226 + -103 + -42 + -572 + -852 + -509 + -534 + -213 + -108 + -182 + -374 + -1077 + -1446 + -897 + -989 + -532 + -1447 + -1686 + -816 + -1169 + -1342 + -328 + -2699 + -977 + -2153 + -365 + -30 + -3084 + -3223 + -3228 + -1798 + -3115 + -2582 + -2059 + -1851 + -54 + -80 + -149 + -199 + -344 + -382 + -310 + -251 + -30 + -116 + -1804 + -2636 + -2634 + -1003 + -145 + -30 + -42 + -216 + -30 + -30 + -97 + -108 + -261 + -287 + -155 + -564 + -282 + -467 + -594 + -667 + -593 + -113 + -30 + -345 + -287 + -642 + -48 + -706 + -534 + -1235 + -1560 + -727 + -683 + -188 + -2867 + -2933 + -202 + -2694 + -2259 + -30 + -3000 + -2276 + -1281 + -2824 + -1816 + -3589 + -1917 + -1603 + -1497 + -108 + -81 + -53 + -304 + -289 + -178 + -240 + -248 + -30 + -115 + -157 + -3000 + -732 + -2951 + -655 + -2680 + -30 + -534 + -30 + -30 + -30 + -30 + -96 + -30 + -429 + -266 + -340 + -422 + -30 + -366 + -215 + -405 + -787 + -203 + -743 + -86 + -588 + -196 + -216 + -539 + -224 + -30 + -1813 + -1537 + -30 + -271 + -647 + -1410 + -2892 + -3442 + -1598 + -3288 + -879 + -1336 + -198 + -133 + -220 + -271 + -224 + -192 + -308 + -281 + -115 + -30 + -41 + -309 + -114 + -30 + -2036 + -2850 + -908 + -758 + -3331 + -778 + -2961 + -1075 + -485 + -155 + -30 + -30 + -30 + -148 + -470 + -193 + -320 + -405 + -471 + -30 + -294 + -1044 + -1145 + -889 + -110 + -234 + -77 + -200 + -256 + -30 + -360 + -990 + -2866 + -3393 + -3381 + -2126 + -468 + -844 + -151 + -191 + -192 + -333 + -307 + -135 + -289 + -49 + -203 + -228 + -145 + -83 + -2336 + -1723 + -3163 + -940 + -2784 + -3219 + -3541 + -2946 + -76 + -307 + -86 + -246 + -89 + -30 + -30 + -1566 + -590 + -30 + -30 + -250 + -301 + -761 + -413 + -264 + -351 + -2043 + -1389 + -70 + -645 + -30 + -197 + -61 + -67 + -601 + -30 + -30 + -2209 + -2730 + -3230 + -2648 + -336 + -953 + -218 + -319 + -266 + -229 + -239 + -112 + -188 + -93 + -3748 + -2143 + -387 + -386 + -96 + -620 + -2281 + -3047 + -3486 + -2721 + -3835 + -2948 + -289 + -443 + -308 + -1421 + -254 + -204 + -2652 + -2284 + -1128 + -30 + -294 + -457 + -422 + -333 + -1168 + -1088 + -1849 + -1455 + -775 + -2577 + -30 + -30 + -297 + -113 + -30 + -1233 + -1010 + -30 + -30 + -33 + -30 + -1809 + -412 + -470 + -2586 + -2853 + -1800 + -489 + -259 + -51 + -341 + -131 + -72 + -30 + -4120 + -3305 + -98 + -2425 + -918 + -1642 + -3893 + -3618 + -3959 + -3454 + -1381 + -2198 + -1815 + -2427 + -194 + -107 + -3199 + -2764 + -1855 + -52 + -1733 + -1468 + -2083 + -1874 + -2065 + -2153 + -2533 + -1519 + -779 + -3085 + -30 + -30 + -3413 + -263 + -30 + -512 + -1207 + -2030 + -1142 + -30 + -30 + -67 + -92 + -30 + -1190 + -141 + -867 + -654 + -302 + -152 + -210 + -56 + -271 + -30 + -30 + -125 + -156 + -3919 + -3959 + -210 + -3774 + -1831 + -3053 + -3725 + -4092 + -1231 + -806 + -2710 + -2917 + -1092 + -159 + -139 + -3449 + -3095 + -75 + -2753 + -1917 + -1826 + -2696 + -2551 + -2428 + -1756 + -1238 + -2945 + -30 + -30 + -3417 + -1151 + -1634 + -1618 + -2319 + -2305 + -1989 + -1454 + -129 + -127 + -30 + -511 + -119 + -1055 + -485 + -544 + -580 + -300 + -569 + -335 + -93 + -236 + -44 + -3412 + -3848 + -3399 + -3550 + -4198 + -3692 + -1137 + -787 + -493 + -2376 + -314 + -1601 + -1630 + -1673 + -493 + -3566 + -3544 + -3051 + -55 + -2797 + -2311 + -2601 + -2954 + -2852 + -1937 + -1278 + -3000 + -2193 + -72 + -1857 + -3417 + -1650 + -2330 + -1933 + -2579 + -2661 + -1054 + -1013 + -106 + -153 + -1019 + -956 + -2179 + -30 + -375 + -62 + -112 + -30 + -3282 + -3694 + -3636 + -3924 + -4231 + -2002 + -1944 + -1205 + -179 + -400 + -592 + -1698 + -1941 + -2176 + -2105 + -475 + -30 + -200 + -129 + -30 + -56 + -30 + -3662 + -3479 + -875 + -2466 + -2883 + -2984 + -2907 + -3027 + -1435 + -1657 + -2452 + -2198 + -2748 + -3590 + -2241 + -2839 + -1089 + -699 + -1569 + -1782 + -30 + -701 + -3467 + -88 + -127 + -30 + -37 + -113 + -42 + -4257 + -4268 + -3856 + -4085 + -2486 + -3040 + -1281 + -568 + -513 + -2470 + -1480 + -2766 + -529 + -92 + -363 + -174 + -30 + -30 + -140 + -201 + -241 + -257 + -30 + -3538 + -3512 + -2792 + -1674 + -3195 + -3144 + -2367 + -2746 + -2043 + -3481 + -3317 + -3304 + -3167 + -2689 + -2990 + -1215 + -1099 + -175 + -793 + -41 + -3377 + -1107 + -3429 + -85 + -107 + -37 + -1902 + -4197 + -4252 + -3097 + -1960 + -1802 + -2227 + -1553 + -3144 + -2754 + -1962 + -447 + -37 + -308 + -30 + -30 + -144 + -128 + -1177 + -1063 + -265 + -99 + -3466 + -3817 + -1678 + -2807 + -1750 + -2567 + -3523 + -3400 + -3004 + -3104 + -1461 + -795 + -459 + -2869 + -132 + -86 + -30 + -1544 + -4026 + -3420 + -3697 + -733 + -30 + -3847 + -1640 + -1213 + -2335 + -2678 + -3011 + -2958 + -2679 + -2029 + -221 + -30 + -30 + -30 + -45 + -1013 + -413 + -173 + -3649 + -2735 + -1749 + -88 + -104 + -4011 + -2667 + -1625 + -3028 + -3067 + -3603 + -2299 + -3274 + -2743 + -1236 + -2374 + -489 + -31 + -1341 + -359 + -57 + -3932 + -4413 + -34 + -54 + -2110 + -3491 + -3184 + -3379 + -1590 + -30 + -30 + -1996 + -3306 + -2785 + -3128 + -3472 + -3592 + -3474 + -3389 + -2800 + -101 + -74 + -30 + -377 + -1635 + -335 + -4171 + -69 + -1061 + -729 + -72 + -4312 + -2934 + -3689 + -3771 + -3592 + -373 + -4020 + -3224 + -3957 + -1340 + -30 + -4862 + -30 + -5037 + -4341 + -4339 + -5033 + -4957 + -5262 + -30 + -30 + -150 + -3366 + -3745 + -30 + -2073 + -890 + -2486 + -2527 + -55 + -30 + -2685 + -2711 + -2623 + -3144 + -3675 + -3674 + -3641 + -3613 + -3399 + -34 + -1939 + -4535 + -2753 + -3950 + -2028 + -3286 + -3730 + -4108 + -3908 + -2973 + -3955 + -752 + -4170 + -4716 + -2296 + -155 + -30 + -5153 + -5251 + -3800 + -5065 + -5219 + -4880 + -5413 + -5255 + -1065 + -239 + -2775 + -1776 + -30 + -77 + -109 + -56 + -40 + -1464 + -2681 + -2165 + -237 + -3038 + -3726 + -3699 + -3647 + -3198 + -2113 + -30 + -5212 + -3172 + -4104 + -4589 + -4818 + -4839 + -4356 + -2874 + -3862 + -4835 + -4302 + -4585 + -146 + -2942 + -549 + -45 + -5409 + -5167 + -4559 + -4309 + -1229 + -5459 + -5206 + -4760 + -750 + -30 + -4469 + -4201 + -2853 + -584 + -45 + -57 + -30 + -1193 + -460 + -77 + -1025 + -1798 + -3489 + -3791 + -3640 + -2573 + -30 + -5384 + -4603 + -4792 + -3259 + -3947 + -4727 + -3660 + -2082 + -4586 + -4127 + -4496 + -4798 + -63 + -5509 + -4822 + -5444 + -5418 + -5373 + -5491 + -5281 + -2290 + -30 + -5822 + -1541 + -1491 + -41 + -30 + -790 + -65 + -48 + -3766 + -195 + -890 + -3299 + -3707 + -30 + -4680 + -4803 + -4366 + -3426 + -3495 + -4303 + -1742 + -4757 + -4374 + -4020 + -38 + -5201 + -4266 + -5533 + -5975 + -5431 + -5906 + -5776 + -410 + -1579 + -2261 + -666 + -157 + -30 + -30 + -56 + -36 + -61 + -1212 + -46 + -30 + -2647 + -5245 + -2528 + -4405 + -2898 + -2241 + -5332 + -5036 + -2954 + -3987 + -3930 + -3859 + -4886 + -5266 + -5226 + -5452 + -2414 + -3461 + -4143 + -1638 + -39 + -30 + -37 + -52 + -44 + -32 + -4235 + -5186 + -2297 + -4189 + -5027 + -4892 + -4582 + -53 + -5177 + -4615 + -3482 + -5058 + -4511 + -5343 + -4498 + -1254 + -748 + -30 + -49 + -30 + -30 + -5781 + -4688 + -4716 + -5197 + -5175 + -5255 + -3870 + -5104 + -5368 + -5109 + -3507 + -5469 + -4255 + -5088 + -2051 + -143 + -4570 + -30 + -181 + -877 + -81 + -52 + -30 + -187 + -4993 + -5429 + -5079 + -2548 + -4956 + -4742 + -4439 + -4378 + -30 + -5074 + -5283 + -4143 + -4882 + -4742 + -4970 + -30 + -4658 + -89 + -3846 + -3717 + -3540 + -422 + -152 + -97 + -30 + -30 + -4344 + -30 + -3433 + -4811 + -4890 + -3648 + -3961 + -685 + -5720 + -5696 + -3927 + -4622 + -4645 + -4158 + -30 + -5005 + -3124 + -3634 + -4037 + -2834 + -3604 + -3693 + -3875 + -322 + -3636 + -3440 + -83 + -97 + -30 + -4554 + -4516 + -1804 + -3106 + -3755 + -40 + -5136 + -3790 + -4280 + -4136 + -4401 + -30 + -5169 + -5205 + -2212 + -3398 + -3842 + -1434 + -2662 + -4336 + -3781 + -4111 + -4257 + -4286 + -390 + -2682 + -735 + -4198 + -3615 + -3808 + -1617 + -1745 + -4970 + -4494 + -4789 + -4256 + -4221 + -502 + -3958 + -3688 + -4494 + -30 + -4080 + -4157 + -2959 + -116 + -383 + -4837 + -2871 + -3918 + -5519 + -131 + -3188 + -4974 + -3826 + -4179 + -4656 + -4533 + -4707 + -872 + -1603 + -3062 + -3473 + -3250 + -4089 + -957 + -2953 + -2964 + -2258 + -3583 + -1765 + -374 + -4876 + -5076 + -5062 + -4716 + -4969 + -30 + -2739 + -4578 + -767 + -3638 + -4514 + -5104 + -5136 + -4767 + -1045 + -5007 + -1085 + -199 + -2945 + -4735 + -5859 + -5091 + -6000 + -4632 + -5255 + -4854 + -5190 + -4501 + -5039 + -4495 + -203 + -4164 + -4206 + -3711 + -3703 + -3327 + -3938 + -3271 + -3211 + -3974 + -1774 + -2364 + -2990 + -2840 + -3842 + -3566 + -3292 + -5354 + -5640 + -5371 + -5548 + -5375 + -2406 + -4785 + -5010 + -4988 + -4891 + -778 + -4817 + -4222 + -4129 + -4164 + -3679 + -3148 + -5667 + -668 + -6000 + -5310 + -5720 + -5469 + -5587 + -5186 + -5074 + -5309 + -5332 + -2591 + -1472 + -1310 + -5676 + -4594 + -81 + -4692 + -4608 + -3973 + -4477 + -4221 + -3935 + -3853 + -4076 + -3608 + -3128 + -3308 + -4500 + -3064 + -3839 + -4256 + -3391 + -3286 + -5641 + -6000 + -5365 + -5628 + -5563 + -4461 + -4985 + -2902 + -30 + -225 + -4337 + -5407 + -5523 + -5239 + -277 + -4542 + -5105 + -2770 + -4257 + -39 + -30 + -32 + -53 + -5408 + -2942 + -3567 + -5466 + -5611 + -5674 + -5726 + -5822 + -4520 + -5672 + -5456 + -4764 + -4705 + -3242 + -3888 + -4180 + -2316 + -4027 + -3740 + -3362 + -3842 + -3508 + -315 + -4431 + -4588 + -4198 + -4421 + -3972 + -4036 + -3952 + -3796 + -3668 + -4601 + -4143 + -3589 + -4042 + -3952 + -3477 + -3605 + -4135 + -4412 + -5937 + -5483 + -4468 + -5203 + -4336 + -4101 + -3137 + -3914 + -299 + -3555 + -1892 + -2925 + -480 + -263 + -4185 + -4161 + -5180 + -5454 + -5541 + -30 + -2275 + -4502 + -4263 + -3006 + -3662 + -3721 + -4459 + -5314 + -4745 + -4135 + -3684 + -5452 + -4697 + -5527 + -5461 + -5915 + -4834 + -5485 + -5296 + -4014 + -4434 + -3840 + -2254 + -4017 + -3479 + -4037 + -3827 + -4047 + -3697 + -3886 + -4128 + -4036 + -342 + -267 + -4251 + -5010 + -5246 + -4396 + -4607 + -3971 + -4092 + -3755 + -4364 + -4061 + -3533 + -3459 + -4477 + -4986 + -5288 + -4490 + -4717 + -5366 + -5607 + -5121 + -4132 + -645 + -3622 + -227 + -3474 + -5823 + -2210 + -5942 + -1796 + -3387 + -4793 + -5453 + -4827 + -4135 + -4984 + -5402 + -3554 + -2766 + -3909 + -5711 + -5164 + -4896 + -1263 + -5603 + -5877 + -6000 + -5848 + -6000 + -5798 + -5409 + -5127 + -3516 + -3837 + -96 + -3501 + -3501 + -3911 + -4315 + -3887 + -4621 + -4469 + -4958 + -4873 + -4463 + -3922 + -4329 + -4217 + -4863 + -4992 + -4382 + -4457 + -4125 + -4200 + -4306 + -3747 + -3369 + -5800 + -5582 + -3158 + -5475 + -5316 + -5536 + -5074 + -1108 + -3487 + -3705 + -4120 + -744 + -201 + -5607 + -2976 + -5060 + -3926 + -5287 + -5234 + -5012 + -5103 + -4087 + -3107 + -4713 + -5174 + -5136 + -4733 + -3373 + -470 + -5652 + -5920 + -3834 + -4821 + -4982 + -5155 + -5419 + -4631 + -5353 + -5202 + -3150 + -299 + -3740 + -3853 + -3703 + -3151 + -4896 + -4565 + -5092 + -4858 + -4494 + -4706 + -4180 + -4653 + -2673 + -5036 + -4529 + -4506 + -4403 + -3058 + -3999 + -3629 + -4864 + -5041 + -4823 + -5375 + -5484 + -4953 + -1175 + -3018 + -2541 + -3756 + -3071 + -3304 + -1704 + -117 + -5880 + -2476 + -4757 + -4669 + -4869 + -4458 + -4701 + -3343 + -4378 + -4935 + -5309 + -3987 + -4770 + -5469 + -1753 + -5339 + -4711 + -2413 + -2633 + -5266 + -4935 + -4832 + -4877 + -219 + -4964 + -3635 + -3750 + -3159 + -1948 + -4096 + -4192 + -3306 + -4626 + -4524 + -4150 + -4978 + -4982 + -4368 + -4883 + -3422 + -4426 + -4571 + -4365 + -3760 + -3445 + -3140 + -5877 + -5101 + -5327 + -181 + -3004 + -66 + -4800 + -452 + -3246 + -3646 + -3683 + -4346 + -4779 + -2680 + -30 + -5021 + -5181 + -2474 + -2709 + -4492 + -3789 + -3796 + -3828 + -4247 + -4724 + -59 + -4568 + -5704 + -6000 + -2552 + -5229 + -6000 + -704 + -5271 + -3986 + -3680 + -3697 + -4332 + -198 + -5218 + -4020 + -3548 + -3599 + -2204 + -2663 + -3992 + -4116 + -4424 + -4117 + -4367 + -5108 + -5173 + -4886 + -3092 + -4547 + -4277 + -3387 + -3534 + -4813 + -147 + -110 + -479 + -5340 + -5391 + -5021 + -5267 + -570 + -600 + -53 + -82 + -757 + -617 + -821 + -515 + -227 + -4663 + -2539 + -3428 + -2177 + -3823 + -4483 + -4271 + -4649 + -399 + -30 + -4964 + -5103 + -4613 + -6000 + -4589 + -2661 + -3322 + -3787 + -38 + -3124 + -4891 + -5034 + -5817 + -1190 + -5327 + -5565 + -5459 + -4559 + -2488 + -4106 + -2349 + -4768 + -2198 + -3890 + -3035 + -316 + -214 + -3402 + -4307 + -2876 + -3949 + -3730 + -4534 + -3322 + -3848 + -4868 + -5154 + -5147 + -3862 + -3694 + -4142 + -2967 + -3673 + -5615 + -5376 + -727 + -99 + -60 + -438 + -716 + -527 + -407 + -496 + -5496 + -3884 + -4939 + -6000 + -5617 + -425 + -579 + -625 + -438 + -599 + -638 + -392 + -602 + -595 + -2786 + -3656 + -4150 + -2539 + -30 + -147 + -4520 + -3784 + -4934 + -2455 + -4144 + -4756 + -4447 + -684 + -309 + -30 + -5039 + -5070 + -4286 + -4426 + -3456 + -3860 + -2580 + -4293 + -3453 + -30 + -3846 + -5753 + -5636 + -57 + -4100 + -2949 + -4540 + -1014 + -5357 + -1892 + -1498 + -2073 + -177 + -3155 + -5306 + -2931 + -3572 + -3797 + -3750 + -4574 + -3524 + -4425 + -3676 + -2872 + -5031 + -4741 + -4510 + -4713 + -4723 + -4843 + -5375 + -5346 + -3969 + -3588 + -3799 + -3836 + -3477 + -3503 + -2393 + -758 + -538 + -2653 + -1111 + -3145 + -1324 + -3964 + -5254 + -427 + -482 + -412 + -527 + -564 + -398 + -485 + -668 + -30 + -84 + -1095 + -3793 + -4537 + -3610 + -4108 + -66 + -4444 + -3511 + -2550 + -30 + -658 + -30 + -30 + -4850 + -4954 + -5080 + -4880 + -3344 + -4163 + -4595 + -403 + -30 + -4631 + -5109 + -4639 + -3572 + -4955 + -3909 + -2581 + -53 + -121 + -4929 + -4475 + -6000 + -3598 + -4310 + -3068 + -3056 + -2560 + -889 + -2867 + -5635 + -1579 + -5299 + -4360 + -4189 + -4256 + -4462 + -5116 + -3701 + -4897 + -3504 + -4431 + -5015 + -5430 + -5291 + -5130 + -5312 + -4235 + -4190 + -3785 + -4207 + -3949 + -3713 + -3511 + -2496 + -1915 + -3139 + -4434 + -3781 + -6000 + -2136 + -5639 + -496 + -432 + -382 + -591 + -390 + -549 + -754 + -2418 + -4854 + -5102 + -4969 + -3553 + -4537 + -4202 + -4420 + -43 + -4563 + -2601 + -3122 + -30 + -3307 + -2917 + -76 + -3783 + -2140 + -3612 + -55 + -4641 + -92 + -4989 + -5180 + -4893 + -4853 + -4725 + -3022 + -4109 + -30 + -4829 + -5308 + -3048 + -3586 + -3437 + -5124 + -2357 + -4755 + -3987 + -4460 + -867 + -3474 + -4451 + -2465 + -4103 + -373 + -5180 + -4358 + -4338 + -4582 + -4412 + -4831 + -4965 + -4240 + -4458 + -3409 + -4745 + -5228 + -5126 + -3208 + -4060 + -4012 + -4195 + -581 + -3909 + -3834 + -2814 + -4066 + -4099 + -3682 + -3577 + -3664 + -2268 + -2454 + -842 + -5043 + -4062 + -401 + -401 + -489 + -400 + -738 + -136 + -3030 + -30 + -5049 + -4416 + -4578 + -2829 + -4189 + -3973 + -30 + -3266 + -2812 + -44 + -30 + -3314 + -124 + -3519 + -4053 + -4140 + -2896 + -5146 + -30 + -3741 + -458 + -4724 + -2378 + -4603 + -5158 + -3190 + -4898 + -4661 + -4571 + -30 + -4208 + -5311 + -2952 + -4816 + -2217 + -770 + -2444 + -124 + -1215 + -3487 + -2802 + -4492 + -3165 + -1384 + -4201 + -4348 + -4369 + -4208 + -4081 + -4905 + -3378 + -3412 + -4479 + -4889 + -5157 + -4278 + -571 + -4271 + -904 + -4192 + -3771 + -1906 + -3363 + -1226 + -2845 + -2112 + -30 + -2933 + -2944 + -516 + -598 + -1961 + -408 + -687 + -245 + -1213 + -190 + -2334 + -4607 + -3393 + -4081 + -2665 + -4721 + -3584 + -4710 + -4930 + -3853 + -1925 + -4428 + -4267 + -4454 + -4270 + -3399 + -4349 + -5137 + -1985 + -4945 + -3569 + -3951 + -4841 + -4791 + -5128 + -4197 + -4305 + -4214 + -3656 + -30 + -3210 + -5183 + -5123 + -30 + -3626 + -1025 + -1334 + -2375 + -1683 + -2726 + -428 + -4857 + -4135 + -4251 + -3795 + -3105 + -4735 + -3394 + -4664 + -5250 + -4072 + -1885 + -4200 + -2919 + -3956 + -2924 + -2641 + -315 + -1130 + -2101 + -1665 + -98 + -741 + -345 + -2366 + -394 + -396 + -500 + -1835 + -549 + -81 + -1848 + -4924 + -4039 + -3905 + -3703 + -1807 + -4371 + -477 + -4308 + -2015 + -4858 + -2790 + -1009 + -4774 + -4736 + -4739 + -3819 + -1752 + -2802 + -5090 + -5170 + -4870 + -5230 + -4963 + -4203 + -4079 + -5068 + -4570 + -3786 + -3139 + -30 + -4255 + -5209 + -4819 + -1557 + -1040 + -1145 + -988 + -52 + -2394 + -1469 + -3838 + -203 + -5206 + -4135 + -3851 + -2903 + -3597 + -5031 + -4340 + -5108 + -2700 + -3753 + -2374 + -3966 + -4122 + -1892 + -2268 + -546 + -1513 + -2764 + -2463 + -866 + -36 + -4570 + -2951 + -2276 + -2387 + -510 + -1485 + -300 + -5069 + -3247 + -5194 + -3804 + -3653 + -5010 + -3424 + -635 + -4185 + -4939 + -5185 + -4536 + -5318 + -4471 + -4961 + -4208 + -5572 + -1792 + -4942 + -4277 + -2831 + -1402 + -5427 + -3769 + -5050 + -4711 + -4202 + -30 + -5338 + -5172 + -5753 + -5819 + -5598 + -5250 + -3619 + -85 + -2743 + -89 + -4479 + -3750 + -3297 + -4519 + -5031 + -5478 + -3463 + -3527 + -3377 + -3258 + -4064 + -2982 + -1698 + -4424 + -4819 + -2319 + -1009 + -85 + -1201 + -1490 + -922 + -165 + -396 + -2579 + -2644 + -2657 + -2010 + -2125 + -391 + -4810 + -4239 + -5074 + -3280 + -5294 + -4234 + -2849 + -4702 + -5091 + -4849 + -5392 + -4750 + -5762 + -6000 + -5597 + -3648 + -3621 + -3197 + -1891 + -3995 + -5332 + -5216 + -4924 + -4026 + -185 + -5148 + -4795 + -5585 + -5378 + -2958 + -5687 + -30 + -81 + -4656 + -2594 + -3641 + -4827 + -5218 + -5357 + -3499 + -2919 + -2533 + -3635 + -3374 + -3158 + -4983 + -4585 + -4604 + -1252 + -1465 + -30 + -3067 + -4718 + -3759 + -1796 + -1631 + -2345 + -2443 + -2348 + -2479 + -269 + -2568 + -4803 + -3561 + -5140 + -4168 + -4046 + -5382 + -5828 + -5490 + -5894 + -5098 + -5032 + -3931 + -4455 + -2662 + -5365 + -5096 + -5276 + -5177 + -5243 + -3652 + -66 + -4960 + -4511 + -1533 + -2670 + -30 + -2131 + -4940 + -3646 + -4550 + -5009 + -5060 + -3574 + -2690 + -3198 + -2852 + -2050 + -4973 + -4691 + -4514 + -534 + -1194 + -69 + -4741 + -4922 + -4781 + -3032 + -2718 + -573 + -2612 + -2404 + -2463 + -1839 + -372 + -5176 + -4645 + -4434 + -4681 + -3369 + -4687 + -5104 + -5186 + -4978 + -4601 + -3569 + -4753 + -4528 + -4405 + -4889 + -4929 + -4647 + -5115 + -4945 + -4653 + -372 + -4399 + -5575 + -30 + -3746 + -531 + -3712 + -5308 + -4432 + -5154 + -2927 + -2627 + -2845 + -1920 + -4533 + -3900 + -612 + -676 + -5094 + -4574 + -4631 + -4307 + -3349 + -191 + -2642 + -2438 + -2355 + -2011 + -288 + -5023 + -4282 + -3683 + -4342 + -4218 + -5084 + -2267 + -4754 + -1889 + -4339 + -4729 + -3041 + -4813 + -4575 + -4580 + -3875 + -4712 + -414 + -5236 + -213 + -60 + -40 + -2068 + -1158 + -3723 + -5417 + -4772 + -2761 + -3196 + -1860 + -2763 + -4541 + -4415 + -485 + -4996 + -4675 + -4797 + -4116 + -2312 + -1105 + -2562 + -2847 + -2304 + -2122 + -1846 + -759 + -5039 + -3961 + -2996 + -2654 + -3832 + -5492 + -4430 + -4405 + -1098 + -3815 + -380 + -4570 + -4386 + -4268 + -4223 + -44 + -2560 + -95 + -172 + -4805 + -46 + -5148 + -5572 + -5463 + -1179 + -4792 + -56 + -3456 + -2306 + -3699 + -4256 + -5115 + -1202 + -2873 + -2437 + -2922 + -4587 + -4700 + -4320 + -4668 + -4832 + -4130 + -4661 + -2985 + -2611 + -2269 + -2406 + -1591 + -324 + -4849 + -3391 + -3357 + -3270 + -4536 + -4012 + -3630 + -2900 + -2280 + -3602 + -3657 + -4031 + -3270 + -2682 + -463 + -5246 + -5040 + -5238 + -5350 + -4542 + -4552 + -5645 + -5542 + -5450 + -5275 + -4962 + -4698 + -4808 + -4862 + -2499 + -2984 + -4645 + -3414 + -4486 + -2735 + -2801 + -3024 + -4717 + -1891 + -4250 + -4714 + -4333 + -4213 + -2489 + -3310 + -349 + -377 + -467 + -530 + -347 + -892 + -4239 + -4103 + -3336 + -3222 + -4014 + -4460 + -1081 + -4742 + -3381 + -3576 + -3690 + -3828 + -1581 + -345 + -4793 + -5310 + -4855 + -4979 + -4352 + -4385 + -5115 + -5282 + -4955 + -4588 + -4757 + -4614 + -2385 + -4550 + -2286 + -2735 + -2190 + -3247 + -4184 + -4334 + -4245 + -4368 + -3811 + -1529 + -2306 + -3393 + -501 + -548 + -320 + -761 + -756 + -3762 + -4065 + -4248 + -3310 + -3133 + -4660 + -1598 + -4544 + -2205 + -3345 + -3469 + -3682 + -1598 + -701 + -4285 + -4450 + -4948 + -4643 + -4001 + -4184 + -4816 + -4816 + -4434 + -4101 + -4099 + -4024 + -3769 + -3212 + -2837 + -3595 + -4440 + -3772 + -3875 + -3643 + -413 + -3795 + -2993 + -3594 + -614 + -541 + -687 + -493 + -3344 + -3967 + -3661 + -4458 + -3654 + -4152 + -3723 + -2656 + -3448 + -445 + -4243 + -4513 + -4248 + -4533 + -3647 + -3865 + -4497 + -4151 + -3655 + -3172 + -3583 + -2826 + -3926 + -3457 + -3150 + -3131 + -3230 + -4113 + -3879 + -1606 + -3611 + -3263 + -485 + -220 + -509 + -599 + -3608 + -3922 + -4328 + -4189 + -3846 + -3609 + -3347 + -105 + -4414 + -4354 + -4148 + -3482 + -3570 + -3882 + -3218 + -3301 + -2580 + -3596 + -3805 + -3190 + -3568 + -4111 + -3911 + -3751 + -3285 + -1331 + -3038 + -826 + -360 + -218 + -2490 + -3697 + -4185 + -4433 + -4441 + -2980 + -3584 + -2877 + -1677 + -582 + -4569 + -4180 + -4142 + -4601 + -3911 + -3764 + -4112 + -4267 + -3954 + -4177 + -3811 + -3695 + -3252 + -2586 + -305 + -137 + -488 + -4508 + -4529 + -4336 + -4274 + -4301 + -1548 + -1162 + -318 + -3327 + -4318 + -4576 + -4738 + -4554 + -4358 + -4591 + -4396 + -4061 + -3876 + -3161 + -3473 + -2345 + -710 + -338 + -4506 + -4311 + -3770 + -4094 + -3717 + -1559 + -131 + -3126 + -4797 + -4524 + -4740 + -4654 + -4631 + -4532 + -4570 + -4436 + -3771 + -2848 + -2082 + -2581 + -420 + -490 + -4314 + -3825 + -3306 + -3421 + -3493 + -324 + -2116 + -4490 + -4260 + -4459 + -4489 + -4325 + -4117 + -2430 + -1520 + -418 + -615 + -562 + -3871 + -2863 + -2358 + -2730 + -2102 + -493 + -4210 + -3807 + -4135 + -4224 + -4013 + -2623 + -391 + -437 + -79 + -3401 + -2393 + -995 + -643 + -120 + -3777 + -3368 + -3815 + -2339 + -2848 + -321 + -192 + -2824 + -756 + -69 + -2863 + -2607 + -2720 + -990 + -526 + -489 + -396 + -323 + -1200 + -850 + -560 + -121 + -209 diff --git a/test/meshes/pi/dist_2/com_info00000.out b/test/meshes/pi/dist_2/com_info00000.out new file mode 100644 index 000000000..8bb297ec4 --- /dev/null +++ b/test/meshes/pi/dist_2/com_info00000.out @@ -0,0 +1,47 @@ + 0 + 1 + 1 + 1 21 + 1570 1571 1572 1573 1574 1575 + 1576 1577 1578 1579 1580 1581 + 1582 1583 1584 1585 1586 1587 + 1588 1589 + 1 + 1 + 1 22 + 1290 1291 1292 1403 1409 1435 + 1458 1537 1538 1539 1549 1550 + 1551 1552 1553 1554 1555 1556 + 1563 1568 1569 + 1 + 1 + 1 18 + 2914 2915 2916 2917 2918 2919 + 2920 2921 2922 2923 2924 2925 + 2926 2927 2928 2929 2930 + 1 + 1 + 1 19 + 2340 2382 2596 2644 2647 2824 + 2836 2840 2844 2846 2865 2867 + 2869 2870 2873 2876 2902 2912 + 1 + 1 + 1 37 + 2931 2914 2932 2933 2915 2916 + 2934 2917 2935 2936 2918 2937 + 2938 2919 2920 2939 2921 2922 + 2940 2941 2923 2942 2924 2943 + 2925 2926 2944 2927 2945 2928 + 2929 2946 2947 2930 2948 2949 + 1 + 1 + 1 47 + 2339 2340 2342 2344 2376 2377 + 2382 2581 2583 2596 2644 2647 + 2648 2688 2689 2695 2800 2805 + 2823 2824 2828 2829 2831 2834 + 2836 2838 2840 2842 2844 2846 + 2864 2865 2866 2867 2869 2870 + 2873 2874 2876 2880 2900 2902 + 2907 2908 2911 2912 diff --git a/test/meshes/pi/dist_2/com_info00001.out b/test/meshes/pi/dist_2/com_info00001.out new file mode 100644 index 000000000..337118c79 --- /dev/null +++ b/test/meshes/pi/dist_2/com_info00001.out @@ -0,0 +1,47 @@ + 1 + 1 + 0 + 1 22 + 1572 1573 1574 1575 1576 1577 + 1578 1579 1580 1581 1582 1583 + 1584 1585 1586 1587 1588 1589 + 1590 1591 1592 + 1 + 0 + 1 21 + 1 2 7 182 206 227 + 249 478 551 552 553 554 + 555 556 557 558 634 635 + 718 795 + 1 + 0 + 1 19 + 2962 2963 2964 2965 2966 2967 + 2968 2969 2970 2971 2972 2973 + 2974 2975 2976 2977 2978 2979 + 1 + 0 + 1 18 + 6 12 328 377 414 1033 + 1036 1040 1041 1048 1179 1185 + 1188 1190 1195 1332 1339 + 1 + 0 + 1 47 + 2980 2962 2981 2982 2983 2984 + 2963 2985 2986 2964 2965 2966 + 2987 2988 2989 2990 2991 2992 + 2993 2967 2994 2995 2996 2997 + 2968 2998 2969 2999 2970 2971 + 3000 2972 3001 2973 2974 2975 + 2976 3002 2977 3003 3004 2978 + 3005 3006 3007 2979 + 1 + 0 + 1 37 + 5 6 9 11 12 328 + 376 377 411 412 414 415 + 1029 1033 1036 1037 1040 1041 + 1042 1045 1048 1050 1179 1184 + 1185 1188 1189 1190 1193 1195 + 1332 1333 1338 1339 1340 1477 diff --git a/test/meshes/pi/dist_2/my_list00000.out b/test/meshes/pi/dist_2/my_list00000.out new file mode 100644 index 000000000..d7f823c09 --- /dev/null +++ b/test/meshes/pi/dist_2/my_list00000.out @@ -0,0 +1,1516 @@ + 0 + 1569 + 20 + 1 2 3 4 5 6 + 7 8 9 10 11 12 + 13 14 15 16 17 18 + 19 20 21 22 23 24 + 25 26 27 28 29 30 + 31 32 33 34 35 36 + 37 38 39 40 41 42 + 43 44 45 46 47 48 + 49 50 51 52 53 54 + 55 56 57 58 59 60 + 61 62 63 64 65 66 + 67 68 69 70 71 72 + 73 74 75 76 77 78 + 79 80 81 82 83 84 + 85 86 87 88 89 90 + 91 92 93 94 95 96 + 97 98 99 100 101 102 + 103 104 105 106 107 108 + 109 110 111 112 113 114 + 115 116 117 118 119 120 + 121 122 123 124 125 126 + 127 128 129 130 131 132 + 133 134 135 136 137 138 + 139 140 141 142 143 144 + 145 146 147 148 149 150 + 151 152 153 154 155 156 + 157 158 159 160 161 162 + 163 164 165 166 167 168 + 169 170 171 172 173 174 + 175 176 177 178 179 180 + 181 182 183 184 185 186 + 187 188 189 190 191 192 + 193 194 195 196 197 198 + 199 200 201 202 203 204 + 205 206 207 208 209 210 + 211 212 213 214 215 216 + 217 218 219 220 221 222 + 223 224 225 226 227 228 + 229 230 231 232 233 234 + 235 236 237 238 239 240 + 241 242 243 244 245 246 + 247 248 249 250 251 252 + 253 254 255 256 257 258 + 259 260 261 262 263 264 + 265 266 267 268 269 270 + 271 272 273 274 275 276 + 277 278 279 280 281 282 + 283 284 285 286 287 288 + 289 290 291 292 293 294 + 295 296 297 298 299 300 + 301 302 303 304 305 306 + 307 308 309 310 311 312 + 313 314 315 316 317 318 + 319 320 321 322 323 324 + 325 326 327 328 329 330 + 331 332 333 334 335 336 + 337 338 339 340 341 342 + 343 344 345 346 347 348 + 349 350 351 352 353 354 + 355 356 357 358 359 360 + 361 362 363 364 365 366 + 367 368 369 370 371 372 + 373 374 375 376 377 378 + 379 380 381 382 383 384 + 385 386 387 388 389 390 + 391 392 393 394 395 396 + 397 398 399 400 401 402 + 403 404 405 406 407 408 + 409 410 411 412 413 414 + 415 416 417 418 419 420 + 421 422 423 424 425 426 + 427 428 429 430 431 432 + 433 434 435 436 437 438 + 439 440 441 442 443 444 + 445 446 447 448 449 450 + 451 452 453 454 455 456 + 457 458 459 460 461 462 + 463 464 465 466 467 468 + 469 470 471 472 473 474 + 475 476 477 478 479 480 + 481 482 483 484 485 486 + 487 488 489 490 491 492 + 493 494 495 496 497 498 + 499 500 501 502 503 504 + 505 506 507 508 509 510 + 511 512 513 514 515 516 + 517 518 519 520 521 522 + 523 524 525 526 527 528 + 529 530 531 532 533 534 + 535 536 537 538 539 540 + 541 542 543 544 545 546 + 547 548 549 550 551 552 + 553 554 555 556 557 558 + 559 560 561 562 563 564 + 565 566 567 568 569 570 + 571 572 573 574 575 576 + 577 578 579 580 581 582 + 583 584 585 586 587 588 + 589 590 591 592 593 594 + 595 596 597 598 599 600 + 601 602 603 604 605 606 + 607 608 609 610 611 612 + 613 614 615 616 617 618 + 619 620 621 622 623 624 + 625 626 627 628 629 630 + 631 632 633 634 635 636 + 637 638 639 640 641 642 + 643 644 645 646 647 648 + 649 650 651 652 653 654 + 655 656 657 658 659 660 + 661 662 663 664 665 666 + 667 668 669 670 671 672 + 673 674 675 676 677 678 + 679 680 681 682 683 684 + 685 686 687 688 689 690 + 691 692 693 694 695 696 + 697 698 699 700 701 702 + 703 704 705 706 707 708 + 709 710 711 712 713 714 + 715 716 717 718 719 720 + 721 722 723 724 725 726 + 727 728 729 730 731 732 + 733 734 735 736 737 738 + 739 740 741 742 743 744 + 745 746 747 748 749 750 + 751 752 753 754 755 756 + 757 758 759 760 761 762 + 763 764 765 766 767 768 + 769 770 771 772 773 774 + 775 776 777 778 779 780 + 781 782 783 784 785 786 + 787 788 789 790 791 792 + 793 794 795 796 797 798 + 799 800 801 802 803 804 + 805 806 807 808 809 810 + 811 812 813 814 815 816 + 817 818 819 820 821 822 + 823 824 825 826 827 828 + 829 830 831 832 833 834 + 835 836 837 838 839 840 + 841 842 843 844 845 846 + 847 848 849 850 851 852 + 853 854 855 856 857 858 + 859 860 861 862 863 864 + 865 866 867 868 869 870 + 871 872 873 874 875 876 + 877 878 879 880 881 882 + 883 884 885 886 887 888 + 889 890 891 892 893 894 + 895 896 897 898 899 900 + 901 902 903 904 905 906 + 907 908 909 910 911 912 + 913 914 915 916 917 918 + 919 920 921 922 923 924 + 925 926 927 928 929 930 + 931 932 933 934 935 936 + 937 938 939 940 941 942 + 943 944 945 946 947 948 + 949 950 951 952 953 954 + 955 956 957 958 959 960 + 961 962 963 964 965 966 + 967 968 969 970 971 972 + 973 974 975 976 977 978 + 979 980 981 982 983 984 + 985 986 987 988 989 990 + 991 992 993 994 995 996 + 997 998 999 1000 1001 1002 + 1003 1004 1005 1006 1007 1008 + 1009 1010 1011 1012 1013 1014 + 1015 1016 1017 1018 1019 1020 + 1021 1022 1023 1024 1025 1026 + 1027 1028 1029 1030 1031 1032 + 1033 1034 1035 1036 1037 1038 + 1039 1040 1041 1042 1043 1044 + 1045 1046 1047 1048 1049 1050 + 1051 1052 1053 1054 1055 1056 + 1057 1058 1059 1060 1061 1062 + 1063 1064 1065 1066 1067 1068 + 1069 1070 1071 1072 1073 1074 + 1075 1076 1077 1078 1079 1080 + 1081 1082 1083 1084 1085 1086 + 1087 1088 1089 1090 1091 1092 + 1093 1094 1095 1096 1097 1098 + 1099 1100 1101 1102 1103 1104 + 1105 1106 1107 1108 1109 1110 + 1111 1112 1113 1114 1115 1116 + 1117 1118 1119 1120 1121 1122 + 1123 1124 1125 1126 1127 1128 + 1129 1130 1131 1132 1133 1134 + 1135 1136 1137 1138 1139 1140 + 1141 1142 1143 1144 1145 1146 + 1147 1148 1149 1150 1151 1152 + 1153 1154 1155 1156 1157 1158 + 1159 1160 1161 1162 1163 1164 + 1165 1166 1167 1168 1169 1170 + 1171 1172 1173 1174 1175 1176 + 1177 1178 1179 1180 1181 1182 + 1183 1184 1185 1186 1187 1188 + 1189 1190 1191 1192 1193 1194 + 1195 1196 1197 1198 1199 1200 + 1201 1202 1203 1204 1205 1206 + 1207 1208 1209 1210 1211 1212 + 1213 1214 1215 1216 1217 1218 + 1219 1220 1221 1222 1223 1224 + 1225 1226 1227 1228 1229 1230 + 1231 1232 1233 1234 1235 1236 + 1237 1238 1239 1240 1241 1242 + 1243 1244 1245 1246 1247 1248 + 1249 1250 1251 1252 1253 1254 + 1255 1256 1257 1258 1259 1260 + 1261 1262 1263 1264 1265 1266 + 1267 1268 1269 1270 1271 1272 + 1273 1274 1275 1276 1277 1278 + 1279 1280 1281 1282 1283 1284 + 1285 1286 1287 1288 1289 1290 + 1291 1293 1294 1295 1296 1297 + 1298 1299 1300 1301 1302 1303 + 1304 1305 1306 1307 1308 1309 + 1310 1318 1319 1320 1321 1322 + 1323 1324 1325 1326 1327 1328 + 1329 1330 1331 1332 1333 1334 + 1346 1347 1348 1349 1350 1351 + 1352 1353 1354 1355 1356 1357 + 1358 1359 1375 1376 1377 1378 + 1379 1380 1381 1382 1383 1384 + 1385 1386 1408 1409 1410 1411 + 1412 1413 1414 1415 1416 1417 + 1449 1450 1451 1452 1453 1454 + 1455 1456 1457 1458 1497 1498 + 1499 1500 1501 1502 1503 1504 + 1505 1506 1507 1525 1548 1549 + 1550 1551 1552 1553 1554 1555 + 1556 1557 1558 1559 1560 1561 + 1562 1563 1564 1565 1584 1609 + 1610 1611 1612 1613 1616 1617 + 1618 1619 1620 1621 1622 1623 + 1624 1625 1626 1627 1628 1629 + 1630 1631 1632 1633 1634 1635 + 1636 1678 1679 1680 1681 1682 + 1683 1685 1686 1687 1688 1689 + 1690 1691 1692 1693 1694 1695 + 1696 1697 1698 1699 1700 1701 + 1702 1741 1742 1743 1744 1745 + 1746 1747 1748 1749 1750 1751 + 1752 1753 1754 1755 1756 1757 + 1758 1759 1760 1761 1762 1801 + 1802 1803 1804 1805 1806 1807 + 1808 1809 1810 1811 1812 1813 + 1814 1815 1816 1817 1818 1819 + 1820 1821 1822 1862 1863 1864 + 1865 1866 1867 1868 1869 1870 + 1871 1872 1873 1874 1875 1876 + 1877 1878 1879 1880 1881 1882 + 1932 1933 1934 1935 1936 1937 + 1938 1939 1940 1941 1942 1943 + 1944 1945 1946 1947 1948 1949 + 1950 2015 2016 2017 2018 2019 + 2020 2021 2022 2023 2024 2025 + 2026 2027 2028 2029 2030 2031 + 2107 2108 2109 2110 2111 2112 + 2113 2114 2198 2199 2200 2201 + 2202 2286 2287 1292 1311 1316 + 1585 1614 1656 1684 2032 2105 + 2106 2115 2116 2117 2118 2119 + 2120 2196 2197 2285 2364 + 2913 + 17 + 19 + 1 2 3 4 5 6 + 7 8 9 10 11 12 + 13 14 15 16 17 18 + 19 20 21 22 23 24 + 25 26 27 28 29 30 + 31 32 33 34 35 36 + 37 38 39 40 41 42 + 43 44 45 46 47 48 + 49 50 51 52 53 54 + 55 56 57 58 59 60 + 61 62 63 64 65 66 + 67 68 69 70 71 72 + 73 74 75 76 77 78 + 79 80 81 82 83 84 + 85 86 87 88 89 90 + 91 92 93 94 95 96 + 97 98 99 100 101 102 + 103 104 105 106 107 108 + 109 110 111 112 113 114 + 115 116 117 118 119 120 + 121 122 123 124 125 126 + 127 128 129 130 131 132 + 133 134 135 136 137 138 + 139 140 141 142 143 144 + 145 146 147 148 149 150 + 151 152 153 154 155 156 + 157 158 159 160 161 162 + 163 164 165 166 167 168 + 169 170 171 172 173 174 + 175 176 177 178 179 180 + 181 182 183 184 185 186 + 187 188 189 190 191 192 + 193 194 195 196 197 198 + 199 200 201 202 203 204 + 205 206 207 208 209 210 + 211 212 213 214 215 216 + 217 218 219 220 221 222 + 223 224 225 226 227 228 + 229 230 231 232 233 234 + 235 236 237 238 239 240 + 241 242 243 244 245 246 + 247 248 249 250 251 252 + 253 254 255 256 257 258 + 259 260 261 262 263 264 + 265 266 267 268 269 270 + 271 272 273 274 275 276 + 277 278 279 280 281 282 + 283 284 285 286 287 288 + 289 290 291 292 293 294 + 295 296 297 298 299 300 + 301 302 303 304 305 306 + 307 308 309 310 311 312 + 313 314 315 316 317 318 + 319 320 321 322 323 324 + 325 326 327 328 329 330 + 331 332 333 334 335 336 + 337 338 339 340 341 342 + 343 344 345 346 347 348 + 349 350 351 352 353 354 + 355 356 357 358 359 360 + 361 362 363 364 365 366 + 367 368 369 370 371 372 + 373 374 375 376 377 378 + 379 380 381 382 383 384 + 385 386 387 388 389 390 + 391 392 393 394 395 396 + 397 398 399 400 401 402 + 403 404 405 406 407 408 + 409 410 411 412 413 414 + 415 416 417 418 419 420 + 421 422 423 424 425 426 + 427 428 429 430 431 432 + 433 434 435 436 437 438 + 439 440 441 442 443 444 + 445 446 447 448 449 450 + 451 452 453 454 455 456 + 457 458 459 460 461 462 + 463 464 465 466 467 468 + 469 470 471 472 473 474 + 475 476 477 478 479 480 + 481 482 483 484 485 486 + 487 488 489 490 491 492 + 493 494 495 496 497 498 + 499 500 501 502 503 504 + 505 506 507 508 509 510 + 511 512 513 514 515 516 + 517 518 519 520 521 522 + 523 524 525 526 527 528 + 529 530 531 532 533 534 + 535 536 537 538 539 540 + 541 542 543 544 545 546 + 547 548 549 550 551 552 + 553 554 555 556 557 558 + 559 560 561 562 563 564 + 565 566 567 568 569 570 + 571 572 573 574 575 576 + 577 578 579 580 581 582 + 583 584 585 586 587 588 + 589 590 591 592 593 594 + 595 596 597 598 599 600 + 601 602 603 604 605 606 + 607 608 609 610 611 612 + 613 614 615 616 617 618 + 619 620 621 622 623 624 + 625 626 627 628 629 630 + 631 632 633 634 635 636 + 637 638 639 640 641 642 + 643 644 645 646 647 648 + 649 650 651 652 653 654 + 655 656 657 658 659 660 + 661 662 663 664 665 666 + 667 668 669 670 671 672 + 673 674 675 676 677 678 + 679 680 681 682 683 684 + 685 686 687 688 689 690 + 691 692 693 694 695 696 + 697 698 699 700 701 702 + 703 704 705 706 707 708 + 709 710 711 712 713 714 + 715 716 717 718 719 720 + 721 722 723 724 725 726 + 727 728 729 730 731 732 + 733 734 735 736 737 738 + 739 740 741 742 743 744 + 745 746 747 748 749 750 + 751 752 753 754 755 756 + 757 758 759 760 761 762 + 763 764 765 766 767 768 + 769 770 771 772 773 774 + 775 776 777 778 779 780 + 781 782 783 784 785 786 + 787 788 789 790 791 792 + 793 794 795 796 797 798 + 799 800 801 802 803 804 + 805 806 807 808 809 810 + 811 812 813 814 815 816 + 817 818 819 820 821 822 + 823 824 825 826 827 828 + 829 830 831 832 833 834 + 835 836 837 838 839 840 + 841 842 843 844 845 846 + 847 848 849 850 851 852 + 853 854 855 856 857 858 + 859 860 861 862 863 864 + 865 866 867 868 869 870 + 871 872 873 874 875 876 + 877 878 879 880 881 882 + 883 884 885 886 887 888 + 889 890 891 892 893 894 + 895 896 897 898 899 900 + 901 902 903 904 905 906 + 907 908 909 910 911 912 + 913 914 915 916 917 918 + 919 920 921 922 923 924 + 925 926 927 928 929 930 + 931 932 933 934 935 936 + 937 938 939 940 941 942 + 943 944 945 946 947 948 + 949 950 951 952 953 954 + 955 956 957 958 959 960 + 961 962 963 964 965 966 + 967 968 969 970 971 972 + 973 974 975 976 977 978 + 979 980 981 982 983 984 + 985 986 987 988 989 990 + 991 992 993 994 995 996 + 997 998 999 1000 1001 1002 + 1003 1004 1005 1006 1007 1008 + 1009 1010 1011 1012 1013 1014 + 1015 1016 1017 1018 1019 1020 + 1021 1022 1023 1024 1025 1026 + 1027 1028 1029 1030 1031 1032 + 1033 1034 1035 1036 1037 1038 + 1039 1040 1041 1042 1043 1044 + 1045 1046 1047 1048 1049 1050 + 1051 1052 1053 1054 1055 1056 + 1057 1058 1059 1060 1061 1062 + 1063 1064 1065 1066 1067 1068 + 1069 1070 1071 1072 1073 1074 + 1075 1076 1077 1078 1079 1080 + 1081 1082 1083 1084 1085 1086 + 1087 1088 1089 1090 1091 1092 + 1093 1094 1095 1096 1097 1098 + 1099 1100 1101 1102 1103 1104 + 1105 1106 1107 1108 1109 1110 + 1111 1112 1113 1114 1115 1116 + 1117 1118 1119 1120 1121 1122 + 1123 1124 1125 1126 1127 1128 + 1129 1130 1131 1132 1133 1134 + 1135 1136 1137 1138 1139 1140 + 1141 1142 1143 1144 1145 1146 + 1147 1148 1149 1150 1151 1152 + 1153 1154 1155 1156 1157 1158 + 1159 1160 1161 1162 1163 1164 + 1165 1166 1167 1168 1169 1170 + 1171 1172 1173 1174 1175 1176 + 1177 1178 1179 1180 1181 1182 + 1183 1184 1185 1186 1187 1188 + 1189 1190 1191 1192 1193 1194 + 1195 1196 1197 1198 1199 1200 + 1201 1202 1203 1204 1205 1206 + 1207 1208 1209 1210 1211 1212 + 1213 1214 1215 1216 1217 1218 + 1219 1220 1221 1222 1223 1224 + 1225 1226 1227 1228 1229 1230 + 1231 1232 1233 1234 1235 1236 + 1237 1238 1239 1240 1241 1242 + 1243 1244 1245 1246 1247 1248 + 1249 1250 1251 1252 1253 1254 + 1255 1256 1257 1258 1259 1260 + 1261 1262 1263 1264 1265 1266 + 1267 1268 1269 1270 1271 1272 + 1273 1274 1275 1276 1277 1278 + 1279 1280 1281 1282 1283 1284 + 1285 1286 1287 1288 1289 1290 + 1291 1292 1293 1294 1295 1296 + 1297 1298 1299 1300 1301 1302 + 1303 1304 1305 1306 1307 1308 + 1309 1310 1311 1312 1313 1314 + 1315 1316 1317 1318 1319 1320 + 1321 1322 1323 1324 1325 1326 + 1327 1328 1329 1330 1331 1332 + 1333 1334 1335 1336 1337 1338 + 1339 1340 1341 1342 1343 1344 + 1345 1346 1347 1348 1349 1350 + 1351 1352 1353 1354 1355 1356 + 1357 1358 1359 1360 1361 1362 + 1363 1364 1365 1366 1367 1368 + 1369 1370 1371 1372 1373 1374 + 1375 1376 1377 1378 1379 1380 + 1381 1382 1383 1384 1385 1386 + 1387 1388 1389 1390 1391 1392 + 1393 1394 1395 1396 1397 1398 + 1399 1400 1401 1402 1403 1404 + 1405 1406 1407 1408 1409 1410 + 1411 1412 1413 1414 1415 1416 + 1417 1418 1419 1420 1421 1422 + 1423 1424 1425 1426 1427 1428 + 1429 1430 1431 1432 1433 1434 + 1435 1436 1437 1438 1439 1440 + 1441 1442 1443 1444 1445 1446 + 1447 1448 1449 1450 1451 1452 + 1453 1454 1455 1456 1457 1458 + 1459 1460 1461 1462 1463 1464 + 1465 1466 1467 1468 1469 1470 + 1471 1472 1473 1474 1475 1476 + 1477 1478 1479 1480 1481 1482 + 1483 1484 1485 1486 1487 1488 + 1489 1490 1491 1492 1493 1494 + 1495 1496 1497 1498 1499 1500 + 1501 1502 1503 1504 1505 1506 + 1507 1508 1509 1510 1511 1512 + 1513 1514 1515 1516 1517 1518 + 1519 1520 1521 1522 1523 1524 + 1525 1526 1527 1528 1529 1530 + 1531 1532 1533 1534 1535 1536 + 1537 1538 1539 1540 1541 1542 + 1543 1544 1545 1546 1547 1548 + 1549 1550 1551 1552 1553 1554 + 1555 1556 1557 1558 1559 1560 + 1561 1562 1563 1564 1565 1566 + 1567 1568 1569 1570 1571 1572 + 1573 1574 1575 1576 1577 1578 + 1579 1580 1581 1582 1583 1584 + 1585 1586 1587 1588 1589 1590 + 1591 1592 1593 1594 1595 1596 + 1597 1598 1599 1600 1601 1602 + 1603 1604 1605 1606 1607 1608 + 1609 1610 1611 1612 1613 1614 + 1615 1616 1617 1618 1619 1620 + 1621 1622 1623 1624 1625 1626 + 1627 1628 1629 1630 1631 1632 + 1633 1634 1635 1636 1637 1638 + 1639 1640 1641 1642 1643 1644 + 1645 1646 1647 1648 1649 1650 + 1651 1652 1653 1654 1655 1656 + 1657 1658 1659 1660 1661 1662 + 1663 1664 1665 1666 1667 1668 + 1669 1670 1671 1672 1673 1674 + 1675 1676 1677 1678 1679 1680 + 1681 1682 1683 1684 1685 1686 + 1687 1688 1689 1690 1691 1692 + 1693 1694 1695 1696 1697 1698 + 1699 1700 1701 1702 1703 1704 + 1705 1706 1707 1708 1709 1710 + 1711 1712 1713 1714 1715 1716 + 1717 1718 1719 1720 1721 1722 + 1723 1724 1725 1726 1727 1728 + 1729 1730 1731 1732 1733 1734 + 1735 1736 1737 1738 1739 1740 + 1741 1742 1743 1744 1745 1746 + 1747 1748 1749 1750 1751 1752 + 1753 1754 1755 1756 1757 1758 + 1759 1760 1761 1762 1763 1764 + 1765 1766 1767 1768 1769 1770 + 1771 1772 1773 1774 1775 1776 + 1777 1778 1779 1780 1781 1782 + 1783 1784 1785 1786 1787 1788 + 1789 1790 1791 1792 1793 1794 + 1795 1796 1797 1798 1799 1800 + 1801 1802 1803 1804 1805 1806 + 1807 1808 1809 1810 1811 1812 + 1813 1814 1815 1816 1817 1818 + 1819 1820 1821 1822 1823 1824 + 1825 1826 1827 1828 1829 1830 + 1831 1832 1833 1834 1835 1836 + 1837 1838 1839 1840 1841 1842 + 1843 1844 1845 1846 1847 1848 + 1849 1850 1851 1852 1853 1854 + 1855 1856 1857 1858 1859 1860 + 1861 1862 1863 1864 1865 1866 + 1867 1868 1869 1870 1871 1872 + 1873 1874 1875 1876 1877 1878 + 1879 1880 1881 1882 1883 1884 + 1885 1886 1887 1888 1889 1890 + 1891 1892 1893 1894 1895 1896 + 1897 1898 1899 1900 1901 1902 + 1903 1904 1905 1906 1907 1908 + 1909 1910 1911 1912 1913 1914 + 1915 1916 1917 1918 1919 1920 + 1921 1922 1923 1924 1925 1926 + 1927 1928 1929 1930 1931 1932 + 1933 1934 1935 1936 1937 1938 + 1939 1940 1941 1942 1943 1944 + 1945 1946 1947 1948 1949 1950 + 1951 1952 1953 1954 1955 1956 + 1957 1958 1959 1960 1961 1962 + 1963 1964 1965 1966 1967 1968 + 1969 1970 1971 1972 1973 1974 + 1975 1976 1977 1978 1979 1980 + 1981 1982 1983 1984 1985 1986 + 1987 1988 1989 1990 1991 1992 + 1993 1994 1995 1996 1997 1998 + 1999 2000 2001 2002 2003 2004 + 2005 2006 2007 2008 2009 2010 + 2011 2012 2013 2014 2015 2016 + 2017 2018 2019 2020 2021 2022 + 2023 2024 2025 2026 2027 2028 + 2029 2030 2031 2032 2033 2034 + 2035 2036 2037 2038 2039 2040 + 2041 2042 2043 2044 2045 2046 + 2047 2048 2049 2050 2051 2052 + 2053 2054 2055 2056 2057 2058 + 2059 2060 2061 2062 2063 2064 + 2065 2066 2067 2068 2069 2070 + 2071 2072 2073 2074 2075 2076 + 2077 2078 2079 2080 2081 2082 + 2083 2084 2085 2086 2087 2088 + 2089 2090 2091 2092 2093 2094 + 2095 2096 2097 2098 2099 2100 + 2101 2102 2103 2104 2105 2106 + 2107 2108 2109 2110 2111 2112 + 2113 2114 2115 2116 2117 2118 + 2119 2120 2121 2122 2123 2124 + 2125 2126 2127 2128 2129 2130 + 2131 2132 2133 2134 2135 2136 + 2137 2138 2139 2140 2141 2142 + 2143 2144 2145 2146 2147 2148 + 2149 2150 2151 2152 2153 2154 + 2155 2156 2157 2158 2159 2160 + 2161 2162 2163 2164 2165 2166 + 2167 2168 2169 2170 2171 2172 + 2173 2174 2175 2176 2177 2178 + 2179 2180 2181 2182 2183 2184 + 2185 2186 2187 2188 2189 2190 + 2191 2192 2193 2194 2195 2196 + 2197 2198 2199 2200 2201 2202 + 2203 2204 2205 2206 2207 2208 + 2209 2210 2211 2212 2213 2214 + 2215 2216 2217 2218 2219 2220 + 2221 2222 2223 2224 2225 2226 + 2227 2228 2229 2230 2231 2232 + 2233 2234 2235 2236 2237 2238 + 2239 2240 2241 2242 2243 2244 + 2245 2246 2247 2248 2249 2250 + 2251 2252 2253 2254 2255 2256 + 2257 2258 2259 2260 2261 2262 + 2263 2264 2265 2266 2267 2268 + 2269 2270 2271 2272 2273 2274 + 2275 2276 2277 2278 2279 2280 + 2281 2282 2283 2284 2285 2286 + 2287 2288 2289 2290 2291 2292 + 2293 2294 2295 2296 2297 2298 + 2299 2300 2301 2302 2303 2304 + 2305 2306 2307 2308 2309 2310 + 2311 2312 2313 2314 2315 2316 + 2317 2318 2319 2320 2321 2322 + 2323 2324 2325 2326 2327 2328 + 2329 2330 2331 2332 2333 2334 + 2335 2336 2337 2338 2339 2340 + 2341 2342 2343 2344 2345 2346 + 2347 2348 2349 2350 2351 2352 + 2353 2354 2355 2356 2357 2358 + 2359 2360 2361 2362 2363 2364 + 2365 2366 2367 2368 2369 2370 + 2371 2372 2373 2374 2375 2376 + 2377 2378 2379 2380 2381 2383 + 2384 2385 2386 2387 2388 2389 + 2390 2391 2392 2393 2394 2395 + 2396 2397 2398 2399 2400 2401 + 2402 2403 2404 2405 2406 2407 + 2408 2409 2410 2411 2412 2422 + 2423 2424 2425 2426 2427 2428 + 2429 2430 2431 2432 2433 2434 + 2435 2436 2437 2438 2439 2440 + 2441 2442 2443 2444 2445 2446 + 2447 2448 2449 2450 2451 2452 + 2453 2454 2473 2474 2475 2476 + 2477 2478 2479 2480 2481 2482 + 2483 2484 2485 2486 2487 2488 + 2489 2490 2491 2492 2493 2494 + 2495 2496 2497 2498 2499 2500 + 2501 2502 2503 2504 2505 2531 + 2532 2533 2534 2535 2536 2537 + 2538 2539 2540 2541 2542 2543 + 2544 2545 2546 2582 2583 2584 + 2585 2586 2587 2588 2589 2590 + 2591 2592 2593 2594 2595 2596 + 2597 2598 2599 2600 2652 2653 + 2654 2655 2656 2657 2658 2659 + 2660 2661 2662 2663 2664 2665 + 2666 2667 2668 2744 2745 2746 + 2747 2748 2749 2750 2751 2752 + 2753 2754 2755 2756 2757 2758 + 2759 2760 2761 2762 2763 2764 + 2765 2766 2838 2839 2840 2841 + 2842 2843 2844 2845 2846 2847 + 2848 2849 2850 2851 2852 2853 + 2854 2855 2856 2857 2858 2859 + 2860 2861 2862 2863 2864 2865 + 2901 2902 2903 2904 2905 2953 + 2954 2955 2956 2957 2958 2959 + 2960 2961 2962 2965 2966 2967 + 2968 2969 2970 2971 2972 2973 + 2974 2975 2976 2977 2978 2979 + 2980 2981 2982 2983 2984 2985 + 2986 2987 2988 2989 2990 2991 + 2992 2993 2994 2995 2996 2997 + 2998 2999 3000 3001 3002 3003 + 3077 3078 3079 3080 3081 3082 + 3083 3084 3085 3086 3087 3088 + 3089 3090 3091 3092 3093 3094 + 3095 3096 3097 3098 3099 3100 + 3101 3102 3103 3104 3105 3106 + 3107 3108 3109 3110 3111 3112 + 3113 3114 3115 3116 3117 3118 + 3119 3120 3121 3122 3123 3124 + 3201 3202 3203 3204 3205 3206 + 3207 3208 3209 3210 3211 3212 + 3213 3214 3215 3216 3217 3218 + 3219 3220 3221 3222 3223 3224 + 3225 3226 3227 3228 3229 3230 + 3231 3232 3233 3234 3235 3236 + 3237 3238 3239 3319 3320 3321 + 3322 3323 3324 3325 3326 3327 + 3328 3329 3330 3331 3332 3333 + 3334 3335 3336 3337 3338 3339 + 3340 3341 3342 3343 3344 3345 + 3346 3347 3348 3349 3350 3351 + 3352 3353 3354 3355 3356 3357 + 3358 3359 3360 3361 3362 3363 + 3433 3434 3435 3436 3437 3438 + 3439 3440 3441 3442 3443 3444 + 3445 3446 3447 3448 3449 3450 + 3451 3452 3453 3454 3455 3456 + 3457 3458 3459 3460 3461 3462 + 3463 3464 3465 3466 3467 3468 + 3469 3470 3564 3565 3566 3567 + 3568 3569 3570 3571 3572 3573 + 3574 3575 3576 3577 3578 3579 + 3580 3581 3582 3583 3584 3585 + 3586 3587 3588 3589 3590 3591 + 3592 3593 3594 3595 3596 3597 + 3711 3712 3713 3714 3715 3716 + 3717 3718 3719 3720 3721 3722 + 3723 3724 3725 3726 3727 3728 + 3729 3730 3731 3732 3733 3734 + 3735 3736 3737 3738 3739 3740 + 3741 3742 3743 3744 3745 3884 + 3885 3886 3887 3888 3889 3890 + 3891 3892 3893 3894 3895 3896 + 3897 3898 3899 3901 3902 3905 + 3906 3910 3911 3913 3914 4053 + 4054 4055 4056 4057 4058 4059 + 4060 4061 4062 4216 4217 4218 + 4219 4220 4356 2413 2419 2906 + 2964 3040 3900 3903 3907 3908 + 3915 4046 4052 4063 4065 4070 + 4207 4214 2382 2416 2418 2963 + 3037 3038 3041 3883 3904 3909 + 3912 3917 4051 4064 4068 4208 + 4213 4215 4355 + 4487 + 17 + 1 2 3 4 5 6 + 7 8 9 10 11 12 + 13 14 15 16 17 18 + 19 20 21 22 23 24 + 25 26 27 28 29 30 + 31 32 33 34 35 36 + 37 38 39 40 41 42 + 43 44 45 46 47 48 + 49 50 51 52 53 54 + 55 56 57 58 59 60 + 61 62 63 64 65 66 + 67 68 69 70 71 72 + 73 74 75 76 77 78 + 79 80 81 82 83 84 + 85 86 87 88 89 90 + 91 92 93 94 95 96 + 97 98 99 100 101 102 + 103 104 105 106 107 108 + 109 110 111 112 113 114 + 115 116 117 118 119 120 + 121 122 123 124 125 126 + 127 128 129 130 131 132 + 133 134 135 136 137 138 + 139 140 141 142 143 144 + 145 146 147 148 149 150 + 151 152 153 154 155 156 + 157 158 159 160 161 162 + 163 164 165 166 167 168 + 169 170 171 172 173 174 + 175 176 177 178 179 180 + 181 182 183 184 185 186 + 187 188 189 190 191 192 + 193 194 195 196 197 198 + 199 200 201 202 203 204 + 205 206 207 208 209 210 + 211 212 213 214 215 216 + 217 218 219 220 221 222 + 223 224 225 226 227 228 + 229 230 231 232 233 234 + 235 236 237 238 239 240 + 241 242 243 244 245 246 + 247 248 249 250 251 252 + 253 254 255 256 257 258 + 259 260 261 262 263 264 + 265 266 267 268 269 270 + 271 272 273 274 275 276 + 277 278 279 280 281 282 + 283 284 285 286 287 288 + 289 290 291 292 293 294 + 295 296 297 298 299 300 + 301 302 303 304 305 306 + 307 308 309 310 311 312 + 313 314 315 316 317 318 + 319 320 321 322 323 324 + 325 326 327 328 329 330 + 331 332 333 334 335 336 + 337 338 339 340 341 342 + 343 344 345 346 347 348 + 349 350 351 352 353 354 + 355 356 357 358 359 360 + 361 362 363 364 365 366 + 367 368 369 370 371 372 + 373 374 375 376 377 378 + 379 380 381 382 383 384 + 385 386 387 388 389 390 + 391 392 393 394 395 396 + 397 398 399 400 401 402 + 403 404 405 406 407 408 + 409 410 411 412 413 414 + 415 416 417 418 419 420 + 421 422 423 424 425 426 + 427 428 429 430 431 432 + 433 434 435 436 437 438 + 439 440 441 442 443 444 + 445 446 447 448 449 450 + 451 452 453 454 455 456 + 457 458 459 460 461 462 + 463 464 465 466 467 468 + 469 470 471 472 473 474 + 475 476 477 478 479 480 + 481 482 483 484 485 486 + 487 488 489 490 491 492 + 493 494 495 496 497 498 + 499 500 501 502 503 504 + 505 506 507 508 509 510 + 511 512 513 514 515 516 + 517 518 519 520 521 522 + 523 524 525 526 527 528 + 529 530 531 532 533 534 + 535 536 537 538 539 540 + 541 542 543 544 545 546 + 547 548 549 550 551 552 + 553 554 555 556 557 558 + 559 560 561 562 563 564 + 565 566 567 568 569 570 + 571 572 573 574 575 576 + 577 578 579 580 581 582 + 583 584 585 586 587 588 + 589 590 591 592 593 594 + 595 596 597 598 599 600 + 601 602 603 604 605 606 + 607 608 609 610 611 612 + 613 614 615 616 617 618 + 619 620 621 622 623 624 + 625 626 627 628 629 630 + 631 632 633 634 635 636 + 637 638 639 640 641 642 + 643 644 645 646 647 648 + 649 650 651 652 653 654 + 655 656 657 658 659 660 + 661 662 663 664 665 666 + 667 668 669 670 671 672 + 673 674 675 676 677 678 + 679 680 681 682 683 684 + 685 686 687 688 689 690 + 691 692 693 694 695 696 + 697 698 699 700 701 702 + 703 704 705 706 707 708 + 709 710 711 712 713 714 + 715 716 717 718 719 720 + 721 722 723 724 725 726 + 727 728 729 730 731 732 + 733 734 735 736 737 738 + 739 740 741 742 743 744 + 745 746 747 748 749 750 + 751 752 753 754 755 756 + 757 758 759 760 761 762 + 763 764 765 766 767 768 + 769 770 771 772 773 774 + 775 776 777 778 779 780 + 781 782 783 784 785 786 + 787 788 789 790 791 792 + 793 794 795 796 797 798 + 799 800 801 802 803 804 + 805 806 807 808 809 810 + 811 812 813 814 815 816 + 817 818 819 820 821 822 + 823 824 825 826 827 828 + 829 830 831 832 833 834 + 835 836 837 838 839 840 + 841 842 843 844 845 846 + 847 848 849 850 851 852 + 853 854 855 856 857 858 + 859 860 861 862 863 864 + 865 866 867 868 869 870 + 871 872 873 874 875 876 + 877 878 879 880 881 882 + 883 884 885 886 887 888 + 889 890 891 892 893 894 + 895 896 897 898 899 900 + 901 902 903 904 905 906 + 907 908 909 910 911 912 + 913 914 915 916 917 918 + 919 920 921 922 923 924 + 925 926 927 928 929 930 + 931 932 933 934 935 936 + 937 938 939 940 941 942 + 943 944 945 946 947 948 + 949 950 951 952 953 954 + 955 956 957 958 959 960 + 961 962 963 964 965 966 + 967 968 969 970 971 972 + 973 974 975 976 977 978 + 979 980 981 982 983 984 + 985 986 987 988 989 990 + 991 992 993 994 995 996 + 997 998 999 1000 1001 1002 + 1003 1004 1005 1006 1007 1008 + 1009 1010 1011 1012 1013 1014 + 1015 1016 1017 1018 1019 1020 + 1021 1022 1023 1024 1025 1026 + 1027 1028 1029 1030 1031 1032 + 1033 1034 1035 1036 1037 1038 + 1039 1040 1041 1042 1043 1044 + 1045 1046 1047 1048 1049 1050 + 1051 1052 1053 1054 1055 1056 + 1057 1058 1059 1060 1061 1062 + 1063 1064 1065 1066 1067 1068 + 1069 1070 1071 1072 1073 1074 + 1075 1076 1077 1078 1079 1080 + 1081 1082 1083 1084 1085 1086 + 1087 1088 1089 1090 1091 1092 + 1093 1094 1095 1096 1097 1098 + 1099 1100 1101 1102 1103 1104 + 1105 1106 1107 1108 1109 1110 + 1111 1112 1113 1114 1115 1116 + 1117 1118 1119 1120 1121 1122 + 1123 1124 1125 1126 1127 1128 + 1129 1130 1131 1132 1133 1134 + 1135 1136 1137 1138 1139 1140 + 1141 1142 1143 1144 1145 1146 + 1147 1148 1149 1150 1151 1152 + 1153 1154 1155 1156 1157 1158 + 1159 1160 1161 1162 1163 1164 + 1165 1166 1167 1168 1169 1170 + 1171 1172 1173 1174 1175 1176 + 1177 1178 1179 1180 1181 1182 + 1183 1184 1185 1186 1187 1188 + 1189 1190 1191 1192 1193 1194 + 1195 1196 1197 1198 1199 1200 + 1201 1202 1203 1204 1205 1206 + 1207 1208 1209 1210 1211 1212 + 1213 1214 1215 1216 1217 1218 + 1219 1220 1221 1222 1223 1224 + 1225 1226 1227 1228 1229 1230 + 1231 1232 1233 1234 1235 1236 + 1237 1238 1239 1240 1241 1242 + 1243 1244 1245 1246 1247 1248 + 1249 1250 1251 1252 1253 1254 + 1255 1256 1257 1258 1259 1260 + 1261 1262 1263 1264 1265 1266 + 1267 1268 1269 1270 1271 1272 + 1273 1274 1275 1276 1277 1278 + 1279 1280 1281 1282 1283 1284 + 1285 1286 1287 1288 1289 1290 + 1291 1292 1293 1294 1295 1296 + 1297 1298 1299 1300 1301 1302 + 1303 1304 1305 1306 1307 1308 + 1309 1310 1311 1312 1313 1314 + 1315 1316 1317 1318 1319 1320 + 1321 1322 1323 1324 1325 1326 + 1327 1328 1329 1330 1331 1332 + 1333 1334 1335 1336 1337 1338 + 1339 1340 1341 1342 1343 1344 + 1345 1346 1347 1348 1349 1350 + 1351 1352 1353 1354 1355 1356 + 1357 1358 1359 1360 1361 1362 + 1363 1364 1365 1366 1367 1368 + 1369 1370 1371 1372 1373 1374 + 1375 1376 1377 1378 1379 1380 + 1381 1382 1383 1384 1385 1386 + 1387 1388 1389 1390 1391 1392 + 1393 1394 1395 1396 1397 1398 + 1399 1400 1401 1402 1403 1404 + 1405 1406 1407 1408 1409 1410 + 1411 1412 1413 1414 1415 1416 + 1417 1418 1419 1420 1421 1422 + 1423 1424 1425 1426 1427 1428 + 1429 1430 1431 1432 1433 1434 + 1435 1436 1437 1438 1439 1440 + 1441 1442 1443 1444 1445 1446 + 1447 1448 1449 1450 1451 1452 + 1453 1454 1455 1456 1457 1458 + 1459 1460 1461 1462 1463 1464 + 1465 1466 1467 1468 1469 1470 + 1471 1472 1473 1474 1475 1476 + 1477 1478 1479 1480 1481 1482 + 1483 1484 1485 1486 1487 1488 + 1489 1490 1491 1492 1493 1494 + 1495 1496 1497 1498 1499 1500 + 1501 1502 1503 1504 1505 1506 + 1507 1508 1509 1510 1511 1512 + 1513 1514 1515 1516 1517 1518 + 1519 1520 1521 1522 1523 1524 + 1525 1526 1527 1528 1529 1530 + 1531 1532 1533 1534 1535 1536 + 1537 1538 1539 1540 1541 1542 + 1543 1544 1545 1546 1547 1548 + 1549 1550 1551 1552 1553 1554 + 1555 1556 1557 1558 1559 1560 + 1561 1562 1563 1564 1565 1566 + 1567 1568 1569 1570 1571 1572 + 1573 1574 1575 1576 1577 1578 + 1579 1580 1581 1582 1583 1584 + 1585 1586 1587 1588 1589 1590 + 1591 1592 1593 1594 1595 1596 + 1597 1598 1599 1600 1601 1602 + 1603 1604 1605 1606 1607 1608 + 1609 1610 1611 1612 1613 1614 + 1615 1616 1617 1618 1619 1620 + 1621 1622 1623 1624 1625 1626 + 1627 1628 1629 1630 1631 1632 + 1633 1634 1635 1636 1637 1638 + 1639 1640 1641 1642 1643 1644 + 1645 1646 1647 1648 1649 1650 + 1651 1652 1653 1654 1655 1656 + 1657 1658 1659 1660 1661 1662 + 1663 1664 1665 1666 1667 1668 + 1669 1670 1671 1672 1673 1674 + 1675 1676 1677 1678 1679 1680 + 1681 1682 1683 1684 1685 1686 + 1687 1688 1689 1690 1691 1692 + 1693 1694 1695 1696 1697 1698 + 1699 1700 1701 1702 1703 1704 + 1705 1706 1707 1708 1709 1710 + 1711 1712 1713 1714 1715 1716 + 1717 1718 1719 1720 1721 1722 + 1723 1724 1725 1726 1727 1728 + 1729 1730 1731 1732 1733 1734 + 1735 1736 1737 1738 1739 1740 + 1741 1742 1743 1744 1745 1746 + 1747 1748 1749 1750 1751 1752 + 1753 1754 1755 1756 1757 1758 + 1759 1760 1761 1762 1763 1764 + 1765 1766 1767 1768 1769 1770 + 1771 1772 1773 1774 1775 1776 + 1777 1778 1779 1780 1781 1782 + 1783 1784 1785 1786 1787 1788 + 1789 1790 1791 1792 1793 1794 + 1795 1796 1797 1798 1799 1800 + 1801 1802 1803 1804 1805 1806 + 1807 1808 1809 1810 1811 1812 + 1813 1814 1815 1816 1817 1818 + 1819 1820 1821 1822 1823 1824 + 1825 1826 1827 1828 1829 1830 + 1831 1832 1833 1834 1835 1836 + 1837 1838 1839 1840 1841 1842 + 1843 1844 1845 1846 1847 1848 + 1849 1850 1851 1852 1853 1854 + 1855 1856 1857 1858 1859 1860 + 1861 1862 1863 1864 1865 1866 + 1867 1868 1869 1870 1871 1872 + 1873 1874 1875 1876 1877 1878 + 1879 1880 1881 1882 1883 1884 + 1885 1886 1887 1888 1889 1890 + 1891 1892 1893 1894 1895 1896 + 1897 1898 1899 1900 1901 1902 + 1903 1904 1905 1906 1907 1908 + 1909 1910 1911 1912 1913 1914 + 1915 1916 1917 1918 1919 1920 + 1921 1922 1923 1924 1925 1926 + 1927 1928 1929 1930 1931 1932 + 1933 1934 1935 1936 1937 1938 + 1939 1940 1941 1942 1943 1944 + 1945 1946 1947 1948 1949 1950 + 1951 1952 1953 1954 1955 1956 + 1957 1958 1959 1960 1961 1962 + 1963 1964 1965 1966 1967 1968 + 1969 1970 1971 1972 1973 1974 + 1975 1976 1977 1978 1979 1980 + 1981 1982 1983 1984 1985 1986 + 1987 1988 1989 1990 1991 1992 + 1993 1994 1995 1996 1997 1998 + 1999 2000 2001 2002 2003 2004 + 2005 2006 2007 2008 2009 2010 + 2011 2012 2013 2014 2015 2016 + 2017 2018 2019 2020 2021 2022 + 2023 2024 2025 2026 2027 2028 + 2029 2030 2031 2032 2033 2034 + 2035 2036 2037 2038 2039 2040 + 2041 2042 2043 2044 2045 2046 + 2047 2048 2049 2050 2051 2052 + 2053 2054 2055 2056 2057 2058 + 2059 2060 2061 2062 2063 2064 + 2065 2066 2067 2068 2069 2070 + 2071 2072 2073 2074 2075 2076 + 2077 2078 2079 2080 2081 2082 + 2083 2084 2085 2086 2087 2088 + 2089 2090 2091 2092 2093 2094 + 2095 2096 2097 2098 2099 2100 + 2101 2102 2103 2104 2105 2106 + 2107 2108 2109 2110 2111 2112 + 2113 2114 2115 2116 2117 2118 + 2119 2120 2121 2122 2123 2124 + 2125 2126 2127 2128 2129 2130 + 2131 2132 2133 2134 2135 2136 + 2137 2138 2139 2140 2141 2142 + 2143 2144 2145 2146 2147 2148 + 2149 2150 2151 2152 2153 2154 + 2155 2156 2157 2158 2159 2160 + 2161 2162 2163 2164 2165 2166 + 2167 2168 2169 2170 2171 2172 + 2173 2174 2175 2176 2177 2178 + 2179 2180 2181 2182 2183 2184 + 2185 2186 2187 2188 2189 2190 + 2191 2192 2193 2194 2195 2196 + 2197 2198 2199 2200 2201 2202 + 2203 2204 2205 2206 2207 2208 + 2209 2210 2211 2212 2213 2214 + 2215 2216 2217 2218 2219 2220 + 2221 2222 2223 2224 2225 2226 + 2227 2228 2229 2230 2231 2232 + 2233 2234 2235 2236 2237 2238 + 2239 2240 2241 2242 2243 2244 + 2245 2246 2247 2248 2249 2250 + 2251 2252 2253 2254 2255 2256 + 2257 2258 2259 2260 2261 2262 + 2263 2264 2265 2266 2267 2268 + 2269 2270 2271 2272 2273 2274 + 2275 2276 2277 2278 2279 2280 + 2281 2282 2283 2284 2285 2286 + 2287 2288 2289 2290 2291 2292 + 2293 2294 2295 2296 2297 2298 + 2299 2300 2301 2302 2303 2304 + 2305 2306 2307 2308 2309 2310 + 2311 2312 2313 2314 2315 2316 + 2317 2318 2319 2320 2321 2322 + 2323 2324 2325 2326 2327 2328 + 2329 2330 2331 2332 2333 2334 + 2335 2336 2337 2338 2339 2340 + 2341 2342 2343 2344 2345 2346 + 2347 2348 2349 2350 2351 2352 + 2353 2354 2355 2356 2357 2358 + 2359 2360 2361 2362 2363 2364 + 2365 2366 2367 2368 2369 2370 + 2371 2372 2373 2374 2375 2376 + 2377 2378 2379 2380 2381 2382 + 2383 2384 2385 2386 2387 2388 + 2389 2390 2391 2392 2393 2394 + 2395 2396 2397 2398 2399 2400 + 2401 2402 2403 2404 2405 2406 + 2407 2408 2409 2410 2411 2412 + 2413 2414 2415 2416 2417 2418 + 2419 2420 2421 2422 2423 2424 + 2425 2426 2427 2428 2429 2430 + 2431 2432 2433 2434 2435 2436 + 2437 2438 2439 2440 2441 2442 + 2443 2444 2445 2446 2447 2448 + 2449 2450 2451 2452 2453 2454 + 2455 2456 2457 2458 2459 2460 + 2461 2462 2463 2464 2465 2466 + 2467 2468 2469 2470 2471 2472 + 2473 2474 2475 2476 2477 2478 + 2479 2480 2481 2482 2483 2484 + 2485 2486 2487 2488 2489 2490 + 2491 2492 2493 2494 2495 2496 + 2497 2498 2499 2500 2501 2502 + 2503 2504 2505 2506 2507 2508 + 2509 2510 2511 2512 2513 2514 + 2515 2516 2517 2518 2519 2520 + 2521 2522 2523 2524 2525 2526 + 2527 2528 2529 2530 2531 2532 + 2533 2534 2535 2536 2537 2538 + 2539 2540 2541 2542 2543 2544 + 2545 2546 2547 2548 2549 2550 + 2551 2552 2553 2554 2555 2556 + 2557 2558 2559 2560 2561 2562 + 2563 2564 2565 2566 2567 2568 + 2569 2570 2571 2572 2573 2574 + 2575 2576 2577 2578 2579 2580 + 2581 2582 2583 2584 2585 2586 + 2587 2588 2589 2590 2591 2592 + 2593 2594 2595 2596 2597 2598 + 2599 2600 2601 2602 2603 2604 + 2605 2606 2607 2608 2609 2610 + 2611 2612 2613 2614 2615 2616 + 2617 2618 2619 2620 2621 2622 + 2623 2624 2625 2626 2627 2628 + 2629 2630 2631 2632 2633 2634 + 2635 2636 2637 2638 2639 2640 + 2641 2642 2643 2644 2645 2646 + 2647 2648 2649 2650 2651 2652 + 2653 2654 2655 2656 2657 2658 + 2659 2660 2661 2662 2663 2664 + 2665 2666 2667 2668 2669 2670 + 2671 2672 2673 2674 2675 2676 + 2677 2678 2679 2680 2681 2682 + 2683 2684 2685 2686 2687 2688 + 2689 2690 2691 2692 2693 2694 + 2695 2696 2697 2698 2699 2700 + 2701 2702 2703 2704 2705 2706 + 2707 2708 2709 2710 2711 2712 + 2713 2714 2715 2716 2717 2718 + 2719 2720 2721 2722 2723 2724 + 2725 2726 2727 2728 2729 2730 + 2731 2732 2733 2734 2735 2736 + 2737 2738 2739 2740 2741 2742 + 2743 2744 2745 2746 2747 2748 + 2749 2750 2751 2752 2753 2754 + 2755 2756 2757 2758 2759 2760 + 2761 2762 2763 2764 2765 2766 + 2767 2768 2769 2770 2771 2772 + 2773 2774 2775 2776 2777 2778 + 2779 2780 2781 2782 2783 2784 + 2785 2786 2787 2788 2789 2790 + 2791 2792 2793 2794 2795 2796 + 2797 2798 2799 2800 2801 2802 + 2803 2804 2805 2806 2807 2808 + 2809 2810 2811 2812 2813 2814 + 2815 2816 2817 2818 2819 2820 + 2821 2822 2823 2824 2825 2826 + 2827 2828 2829 2830 2831 2832 + 2833 2834 2835 2836 2837 2838 + 2839 2840 2841 2842 2843 2844 + 2845 2846 2847 2848 2849 2850 + 2851 2852 2853 2854 2855 2856 + 2857 2858 2859 2860 2861 2862 + 2863 2864 2865 2866 2867 2868 + 2869 2870 2871 2872 2873 2874 + 2875 2876 2877 2878 2879 2880 + 2881 2882 2883 2884 2885 2886 + 2887 2888 2889 2890 2891 2892 + 2893 2894 2895 2896 2897 2898 + 2899 2900 2901 2902 2903 2904 + 2905 2906 2907 2908 2909 2910 + 2911 2912 2913 2914 2915 2916 + 2917 2918 2919 2920 2921 2922 + 2923 2924 2925 2926 2927 2928 + 2929 2930 2931 2932 2933 2934 + 2935 2936 2937 2938 2939 2940 + 2941 2942 2943 2944 2945 2946 + 2947 2948 2949 2950 2951 2952 + 2953 2954 2955 2956 2957 2958 + 2959 2960 2961 2962 2963 2964 + 2965 2966 2967 2968 2969 2970 + 2971 2972 2973 2974 2975 2976 + 2977 2978 2979 2980 2981 2982 + 2983 2984 2985 2986 2987 2988 + 2989 2990 2991 2992 2993 2994 + 2995 2996 2997 2998 2999 3000 + 3001 3002 3003 3004 3005 3006 + 3007 3008 3009 3010 3011 3012 + 3013 3014 3015 3016 3017 3018 + 3019 3020 3021 3022 3023 3024 + 3025 3026 3027 3028 3029 3030 + 3031 3032 3033 3034 3035 3036 + 3037 3038 3039 3040 3041 3042 + 3043 3044 3045 3046 3047 3048 + 3049 3050 3051 3052 3053 3054 + 3055 3056 3057 3058 3059 3060 + 3061 3062 3063 3064 3065 3066 + 3067 3068 3069 3070 3071 3072 + 3073 3074 3075 3076 3077 3078 + 3079 3080 3081 3082 3083 3084 + 3085 3086 3087 3088 3089 3090 + 3091 3092 3093 3094 3095 3096 + 3097 3098 3099 3100 3101 3102 + 3103 3104 3105 3106 3107 3108 + 3109 3110 3111 3112 3113 3114 + 3115 3116 3117 3118 3119 3120 + 3121 3122 3123 3124 3125 3126 + 3127 3128 3129 3130 3131 3132 + 3133 3134 3135 3136 3137 3138 + 3139 3140 3141 3142 3143 3144 + 3145 3146 3147 3148 3149 3150 + 3151 3152 3153 3154 3155 3156 + 3157 3158 3159 3160 3161 3162 + 3163 3164 3165 3166 3167 3168 + 3169 3170 3171 3172 3173 3174 + 3175 3176 3177 3178 3179 3180 + 3181 3182 3183 3184 3185 3186 + 3187 3188 3189 3190 3191 3192 + 3193 3194 3195 3196 3197 3198 + 3199 3200 3201 3202 3203 3204 + 3205 3206 3207 3208 3209 3210 + 3211 3212 3213 3214 3215 3216 + 3217 3218 3219 3220 3221 3222 + 3223 3224 3225 3226 3227 3228 + 3229 3230 3231 3232 3233 3234 + 3235 3236 3237 3238 3239 3240 + 3241 3242 3243 3244 3245 3246 + 3247 3248 3249 3250 3251 3252 + 3253 3254 3255 3256 3257 3258 + 3259 3260 3261 3262 3263 3264 + 3265 3266 3267 3268 3269 3270 + 3271 3272 3273 3274 3275 3276 + 3277 3278 3279 3280 3281 3282 + 3283 3284 3285 3286 3287 3288 + 3289 3290 3291 3292 3293 3294 + 3295 3296 3297 3298 3299 3300 + 3301 3302 3303 3304 3305 3306 + 3307 3308 3309 3310 3311 3312 + 3313 3314 3315 3316 3317 3318 + 3319 3320 3321 3322 3323 3324 + 3325 3326 3327 3328 3329 3330 + 3331 3332 3333 3334 3335 3336 + 3337 3338 3339 3340 3341 3342 + 3343 3344 3345 3346 3347 3348 + 3349 3350 3351 3352 3353 3354 + 3355 3356 3357 3358 3359 3360 + 3361 3362 3363 3364 3365 3366 + 3367 3368 3369 3370 3371 3372 + 3373 3374 3375 3376 3377 3378 + 3379 3380 3381 3382 3383 3384 + 3385 3386 3387 3388 3389 3390 + 3391 3392 3393 3394 3395 3396 + 3397 3398 3399 3400 3401 3402 + 3403 3404 3405 3406 3407 3408 + 3409 3410 3411 3412 3413 3414 + 3415 3416 3417 3418 3419 3420 + 3421 3422 3423 3424 3425 3426 + 3427 3428 3429 3430 3431 3432 + 3433 3434 3435 3436 3437 3438 + 3439 3440 3441 3442 3443 3444 + 3445 3446 3447 3448 3449 3450 + 3451 3452 3453 3454 3455 3456 + 3457 3458 3459 3460 3461 3462 + 3463 3464 3465 3466 3467 3468 + 3469 3470 3471 3472 3473 3474 + 3475 3476 3477 3478 3479 3480 + 3481 3482 3483 3484 3486 3490 + 3491 3492 3493 3494 3495 3496 + 3497 3498 3499 3500 3501 3502 + 3503 3504 3505 3506 3507 3508 + 3509 3510 3511 3512 3513 3514 + 3515 3516 3517 3518 3519 3520 + 3521 3522 3523 3524 3525 3526 + 3527 3528 3529 3530 3531 3532 + 3533 3534 3535 3536 3537 3552 + 3553 3554 3555 3556 3557 3558 + 3559 3560 3561 3562 3563 3564 + 3565 3566 3567 3568 3569 3570 + 3571 3572 3573 3574 3575 3576 + 3577 3578 3579 3580 3581 3582 + 3583 3584 3585 3586 3587 3588 + 3589 3590 3591 3592 3593 3594 + 3595 3627 3628 3629 3630 3631 + 3632 3633 3634 3635 3636 3637 + 3638 3639 3640 3641 3642 3643 + 3644 3645 3646 3647 3648 3649 + 3650 3651 3652 3653 3654 3655 + 3656 3657 3658 3659 3660 3661 + 3662 3706 3707 3708 3709 3710 + 3711 3712 3713 3714 3715 3716 + 3717 3718 3719 3720 3721 3722 + 3723 3724 3725 3726 3727 3728 + 3729 3730 3731 3732 3733 3734 + 3790 3791 3792 3793 3794 3795 + 3796 3797 3798 3799 3800 3801 + 3802 3803 3804 3805 3806 3807 + 3808 3809 3810 3811 3812 3813 + 3814 3900 3901 3902 3903 3904 + 3905 3906 3907 3908 3909 3910 + 3911 3912 3913 3914 3915 3916 + 3917 3918 3919 3920 3921 3922 + 3923 3924 3925 3926 3927 4035 + 4036 4037 4038 4039 4040 4041 + 4042 4043 4044 4045 4046 4047 + 4048 4049 4050 4051 4052 4053 + 4054 4055 4056 4057 4058 4059 + 4060 4061 4062 4063 4064 4065 + 4110 4175 4176 4177 4178 4179 + 4180 4181 4182 4183 4184 4185 + 4186 4187 4188 4189 4190 4191 + 4192 4193 4194 4195 4196 4197 + 4198 4199 4200 4201 4202 4203 + 4204 4205 4206 4207 4208 4209 + 4210 4211 4212 4213 4214 4215 + 4216 4217 4218 4219 4220 4221 + 4222 4223 4224 4225 4276 4277 + 4278 4279 4350 4351 4352 4353 + 4354 4355 4356 4357 4358 4359 + 4360 4361 4362 4363 4364 4365 + 4368 4369 4370 4371 4372 4373 + 4374 4375 4376 4377 4378 4379 + 4380 4381 4382 4383 4384 4385 + 4386 4387 4388 4389 4390 4391 + 4392 4393 4394 4395 4396 4397 + 4398 4399 4400 4401 4402 4403 + 4404 4405 4406 4407 4408 4409 + 4410 4411 4412 4413 4414 4415 + 4416 4417 4418 4419 4420 4421 + 4422 4423 4424 4425 4426 4427 + 4541 4542 4543 4544 4545 4546 + 4547 4548 4549 4550 4551 4552 + 4553 4554 4555 4556 4557 4558 + 4559 4560 4561 4562 4563 4564 + 4565 4566 4567 4568 4569 4570 + 4571 4572 4573 4574 4575 4576 + 4577 4578 4579 4580 4581 4582 + 4583 4584 4585 4586 4587 4588 + 4589 4590 4591 4592 4593 4594 + 4595 4596 4597 4598 4599 4600 + 4601 4602 4603 4604 4605 4606 + 4715 4716 4717 4718 4719 4720 + 4721 4722 4723 4724 4725 4726 + 4727 4728 4729 4730 4731 4732 + 4733 4734 4735 4736 4737 4738 + 4739 4740 4741 4742 4743 4744 + 4745 4746 4747 4748 4749 4750 + 4751 4752 4753 4754 4755 4756 + 4757 4758 4759 4760 4761 4762 + 4763 4764 4765 4766 4767 4768 + 4769 4770 4771 4772 4883 4884 + 4885 4886 4887 4888 4889 4890 + 4891 4892 4893 4894 4895 4896 + 4897 4898 4899 4900 4901 4902 + 4903 4904 4905 4906 4907 4908 + 4909 4910 4911 4912 4913 4914 + 4915 4916 4917 4918 4919 4920 + 4921 4922 4923 4924 4925 4926 + 4927 4928 4929 4930 4931 4932 + 4933 4934 4935 4936 4937 4938 + 4939 4940 4941 4942 4943 4944 + 4945 5057 5058 5059 5060 5061 + 5062 5063 5064 5065 5066 5067 + 5068 5069 5070 5071 5072 5073 + 5074 5075 5076 5077 5078 5079 + 5080 5081 5082 5083 5084 5085 + 5086 5087 5088 5089 5090 5091 + 5092 5093 5094 5095 5096 5097 + 5098 5099 5100 5101 5102 5103 + 5104 5105 5106 5107 5108 5109 + 5110 5111 5112 5258 5259 5260 + 5261 5262 5263 5264 5265 5266 + 5267 5268 5269 5270 5271 5272 + 5273 5274 5275 5276 5277 5278 + 5279 5280 5281 5282 5283 5284 + 5285 5286 5287 5288 5289 5290 + 5291 5292 5293 5294 5295 5296 + 5297 5298 5299 5300 5301 5302 + 5303 5304 5305 5306 5307 5308 + 5309 5310 5491 5492 5493 5494 + 5495 5496 5497 5498 5499 5500 + 5501 5502 5503 5504 5505 5506 + 5507 5508 5509 5510 5511 5512 + 5513 5514 5515 5516 5517 5518 + 5519 5520 5521 5522 5523 5524 + 5525 5526 5527 5528 5529 5530 + 5531 5532 5533 5534 5535 5536 + 5740 5741 5742 5743 5744 5745 + 5746 5747 5748 5749 5750 5751 + 5752 5753 5754 5755 5756 5757 + 5758 5759 5760 5986 5988 5989 + 5990 5991 5992 5993 5994 5995 + 5996 5997 6218 6219 6220 8532 + 8533 8534 8535 8536 8537 8538 + 8539 8540 8541 8542 8543 8544 + 8545 8546 8547 8548 8549 8550 + 8551 8552 8553 8554 8555 8556 + 8557 8558 8559 8560 8561 8562 + 8563 8564 8565 8566 8567 8568 + 8569 8570 8571 8572 8573 8574 + 8575 8576 8577 8578 8579 8580 + 8581 8582 8583 8584 8585 8586 + 8587 8588 8589 8590 8591 8592 + 8593 8594 8595 8596 8597 8598 + 8599 8600 8601 8602 8603 8604 + 8605 8606 8607 8608 8609 8610 + 8611 8612 8613 8614 8615 8616 + 8617 8618 8619 8620 8621 8622 + 8623 8624 8625 8626 8627 8628 + 8629 8630 8631 8632 8633 8634 + 8635 8636 8637 8638 8639 8640 + 8641 8642 8643 8644 8645 8646 + 8647 8648 8649 8650 8651 8652 + 8653 8654 8655 8656 8657 8658 + 8659 8660 8661 8662 8663 8664 + 8665 8666 8667 8668 8669 8670 + 8671 8672 8673 8674 8675 8676 + 8677 8678 8679 8680 8681 8682 + 8683 8684 8685 8686 8687 8688 + 8689 8690 8691 8692 8693 8694 + 8695 8696 8697 8698 8699 8700 + 8701 8702 8703 8704 8705 8706 + 8707 8708 8709 8710 8711 8712 + 8713 8714 8715 8716 8717 8718 + 8719 8720 8721 8722 8723 8724 + 8725 8726 8727 8728 8729 8730 + 8731 8732 8733 8734 8735 8736 + 8737 8738 8739 8740 8741 8742 + 8743 8750 8751 8756 8757 8760 + 8761 8769 8770 8782 8783 8786 + 8787 8794 8795 8796 8797 8798 + 8799 8800 8801 8802 8805 8808 + 8815 8816 8819 8820 8821 8822 + 8826 8827 8832 8833 8843 8844 + 8856 8857 8871 8883 8898 3485 + 3487 4280 4281 4367 5735 5737 + 5537 5981 5762 5764 5771 5774 + 5539 5768 5985 6217 diff --git a/test/meshes/pi/dist_2/my_list00001.out b/test/meshes/pi/dist_2/my_list00001.out new file mode 100644 index 000000000..18f9063e9 --- /dev/null +++ b/test/meshes/pi/dist_2/my_list00001.out @@ -0,0 +1,1536 @@ + 1 + 1571 + 21 + 1292 1311 1312 1313 1314 1315 + 1316 1317 1335 1336 1337 1338 + 1339 1340 1341 1342 1343 1344 + 1345 1360 1361 1362 1363 1364 + 1365 1366 1367 1368 1369 1370 + 1371 1372 1373 1374 1387 1388 + 1389 1390 1391 1392 1393 1394 + 1395 1396 1397 1398 1399 1400 + 1401 1402 1403 1404 1405 1406 + 1407 1418 1419 1420 1421 1422 + 1423 1424 1425 1426 1427 1428 + 1429 1430 1431 1432 1433 1434 + 1435 1436 1437 1438 1439 1440 + 1441 1442 1443 1444 1445 1446 + 1447 1448 1459 1460 1461 1462 + 1463 1464 1465 1466 1467 1468 + 1469 1470 1471 1472 1473 1474 + 1475 1476 1477 1478 1479 1480 + 1481 1482 1483 1484 1485 1486 + 1487 1488 1489 1490 1491 1492 + 1493 1494 1495 1496 1508 1509 + 1510 1511 1512 1513 1514 1515 + 1516 1517 1518 1519 1520 1521 + 1522 1523 1524 1526 1527 1528 + 1529 1530 1531 1532 1533 1534 + 1535 1536 1537 1538 1539 1540 + 1541 1542 1543 1544 1545 1546 + 1547 1566 1567 1568 1569 1570 + 1571 1572 1573 1574 1575 1576 + 1577 1578 1579 1580 1581 1582 + 1583 1585 1586 1587 1588 1589 + 1590 1591 1592 1593 1594 1595 + 1596 1597 1598 1599 1600 1601 + 1602 1603 1604 1605 1606 1607 + 1608 1614 1615 1637 1638 1639 + 1640 1641 1642 1643 1644 1645 + 1646 1647 1648 1649 1650 1651 + 1652 1653 1654 1655 1656 1657 + 1658 1659 1660 1661 1662 1663 + 1664 1665 1666 1667 1668 1669 + 1670 1671 1672 1673 1674 1675 + 1676 1677 1684 1703 1704 1705 + 1706 1707 1708 1709 1710 1711 + 1712 1713 1714 1715 1716 1717 + 1718 1719 1720 1721 1722 1723 + 1724 1725 1726 1727 1728 1729 + 1730 1731 1732 1733 1734 1735 + 1736 1737 1738 1739 1740 1763 + 1764 1765 1766 1767 1768 1769 + 1770 1771 1772 1773 1774 1775 + 1776 1777 1778 1779 1780 1781 + 1782 1783 1784 1785 1786 1787 + 1788 1789 1790 1791 1792 1793 + 1794 1795 1796 1797 1798 1799 + 1800 1823 1824 1825 1826 1827 + 1828 1829 1830 1831 1832 1833 + 1834 1835 1836 1837 1838 1839 + 1840 1841 1842 1843 1844 1845 + 1846 1847 1848 1849 1850 1851 + 1852 1853 1854 1855 1856 1857 + 1858 1859 1860 1861 1883 1884 + 1885 1886 1887 1888 1889 1890 + 1891 1892 1893 1894 1895 1896 + 1897 1898 1899 1900 1901 1902 + 1903 1904 1905 1906 1907 1908 + 1909 1910 1911 1912 1913 1914 + 1915 1916 1917 1918 1919 1920 + 1921 1922 1923 1924 1925 1926 + 1927 1928 1929 1930 1931 1951 + 1952 1953 1954 1955 1956 1957 + 1958 1959 1960 1961 1962 1963 + 1964 1965 1966 1967 1968 1969 + 1970 1971 1972 1973 1974 1975 + 1976 1977 1978 1979 1980 1981 + 1982 1983 1984 1985 1986 1987 + 1988 1989 1990 1991 1992 1993 + 1994 1995 1996 1997 1998 1999 + 2000 2001 2002 2003 2004 2005 + 2006 2007 2008 2009 2010 2011 + 2012 2013 2014 2032 2033 2034 + 2035 2036 2037 2038 2039 2040 + 2041 2042 2043 2044 2045 2046 + 2047 2048 2049 2050 2051 2052 + 2053 2054 2055 2056 2057 2058 + 2059 2060 2061 2062 2063 2064 + 2065 2066 2067 2068 2069 2070 + 2071 2072 2073 2074 2075 2076 + 2077 2078 2079 2080 2081 2082 + 2083 2084 2085 2086 2087 2088 + 2089 2090 2091 2092 2093 2094 + 2095 2096 2097 2098 2099 2100 + 2101 2102 2103 2104 2105 2106 + 2115 2116 2117 2118 2119 2120 + 2121 2122 2123 2124 2125 2126 + 2127 2128 2129 2130 2131 2132 + 2133 2134 2135 2136 2137 2138 + 2139 2140 2141 2142 2143 2144 + 2145 2146 2147 2148 2149 2150 + 2151 2152 2153 2154 2155 2156 + 2157 2158 2159 2160 2161 2162 + 2163 2164 2165 2166 2167 2168 + 2169 2170 2171 2172 2173 2174 + 2175 2176 2177 2178 2179 2180 + 2181 2182 2183 2184 2185 2186 + 2187 2188 2189 2190 2191 2192 + 2193 2194 2195 2196 2197 2203 + 2204 2205 2206 2207 2208 2209 + 2210 2211 2212 2213 2214 2215 + 2216 2217 2218 2219 2220 2221 + 2222 2223 2224 2225 2226 2227 + 2228 2229 2230 2231 2232 2233 + 2234 2235 2236 2237 2238 2239 + 2240 2241 2242 2243 2244 2245 + 2246 2247 2248 2249 2250 2251 + 2252 2253 2254 2255 2256 2257 + 2258 2259 2260 2261 2262 2263 + 2264 2265 2266 2267 2268 2269 + 2270 2271 2272 2273 2274 2275 + 2276 2277 2278 2279 2280 2281 + 2282 2283 2284 2285 2288 2289 + 2290 2291 2292 2293 2294 2295 + 2296 2297 2298 2299 2300 2301 + 2302 2303 2304 2305 2306 2307 + 2308 2309 2310 2311 2312 2313 + 2314 2315 2316 2317 2318 2319 + 2320 2321 2322 2323 2324 2325 + 2326 2327 2328 2329 2330 2331 + 2332 2333 2334 2335 2336 2337 + 2338 2339 2340 2341 2342 2343 + 2344 2345 2346 2347 2348 2349 + 2350 2351 2352 2353 2354 2355 + 2356 2357 2358 2359 2360 2361 + 2362 2363 2364 2365 2366 2367 + 2368 2369 2370 2371 2372 2373 + 2374 2375 2376 2377 2378 2379 + 2380 2381 2382 2383 2384 2385 + 2386 2387 2388 2389 2390 2391 + 2392 2393 2394 2395 2396 2397 + 2398 2399 2400 2401 2402 2403 + 2404 2405 2406 2407 2408 2409 + 2410 2411 2412 2413 2414 2415 + 2416 2417 2418 2419 2420 2421 + 2422 2423 2424 2425 2426 2427 + 2428 2429 2430 2431 2432 2433 + 2434 2435 2436 2437 2438 2439 + 2440 2441 2442 2443 2444 2445 + 2446 2447 2448 2449 2450 2451 + 2452 2453 2454 2455 2456 2457 + 2458 2459 2460 2461 2462 2463 + 2464 2465 2466 2467 2468 2469 + 2470 2471 2472 2473 2474 2475 + 2476 2477 2478 2479 2480 2481 + 2482 2483 2484 2485 2486 2487 + 2488 2489 2490 2491 2492 2493 + 2494 2495 2496 2497 2498 2499 + 2500 2501 2502 2503 2504 2505 + 2506 2507 2508 2509 2510 2511 + 2512 2513 2514 2515 2516 2517 + 2518 2519 2520 2521 2522 2523 + 2524 2525 2526 2527 2528 2529 + 2530 2531 2532 2533 2534 2535 + 2536 2537 2538 2539 2540 2541 + 2542 2543 2544 2545 2546 2547 + 2548 2549 2550 2551 2552 2553 + 2554 2555 2556 2557 2558 2559 + 2560 2561 2562 2563 2564 2565 + 2566 2567 2568 2569 2570 2571 + 2572 2573 2574 2575 2576 2577 + 2578 2579 2580 2581 2582 2583 + 2584 2585 2586 2587 2588 2589 + 2590 2591 2592 2593 2594 2595 + 2596 2597 2598 2599 2600 2601 + 2602 2603 2604 2605 2606 2607 + 2608 2609 2610 2611 2612 2613 + 2614 2615 2616 2617 2618 2619 + 2620 2621 2622 2623 2624 2625 + 2626 2627 2628 2629 2630 2631 + 2632 2633 2634 2635 2636 2637 + 2638 2639 2640 2641 2642 2643 + 2644 2645 2646 2647 2648 2649 + 2650 2651 2652 2653 2654 2655 + 2656 2657 2658 2659 2660 2661 + 2662 2663 2664 2665 2666 2667 + 2668 2669 2670 2671 2672 2673 + 2674 2675 2676 2677 2678 2679 + 2680 2681 2682 2683 2684 2685 + 2686 2687 2688 2689 2690 2691 + 2692 2693 2694 2695 2696 2697 + 2698 2699 2700 2701 2702 2703 + 2704 2705 2706 2707 2708 2709 + 2710 2711 2712 2713 2714 2715 + 2716 2717 2718 2719 2720 2721 + 2722 2723 2724 2725 2726 2727 + 2728 2729 2730 2731 2732 2733 + 2734 2735 2736 2737 2738 2739 + 2740 2741 2742 2743 2744 2745 + 2746 2747 2748 2749 2750 2751 + 2752 2753 2754 2755 2756 2757 + 2758 2759 2760 2761 2762 2763 + 2764 2765 2766 2767 2768 2769 + 2770 2771 2772 2773 2774 2775 + 2776 2777 2778 2779 2780 2781 + 2782 2783 2784 2785 2786 2787 + 2788 2789 2790 2791 2792 2793 + 2794 2795 2796 2797 2798 2799 + 2800 2801 2802 2803 2804 2805 + 2806 2807 2808 2809 2810 2811 + 2812 2813 2814 2815 2816 2817 + 2818 2819 2820 2821 2822 2823 + 2824 2825 2826 2827 2828 2829 + 2830 2831 2832 2833 2834 2835 + 2836 2837 2838 2839 2840 2841 + 2842 2843 2844 2845 2846 2847 + 2848 2849 2850 2851 2852 2853 + 2854 2855 2856 2857 2858 2859 + 2860 2861 2862 2863 2864 2865 + 2866 2867 2868 2869 2870 2871 + 2872 2873 2874 2875 2876 2877 + 2878 2879 2880 2881 2882 2883 + 2884 2885 2886 2887 2888 2889 + 2890 2891 2892 2893 2894 2895 + 2896 2897 2898 2899 2900 2901 + 2902 2903 2904 2905 2906 2907 + 2908 2909 2910 2911 2912 2913 + 2914 2915 2916 2917 2918 2919 + 2920 2921 2922 2923 2924 2925 + 2926 2927 2928 2929 2930 2931 + 2932 2933 2934 2935 2936 2937 + 2938 2939 2940 2941 2942 2943 + 2944 2945 2946 2947 2948 2949 + 2950 2951 2952 2953 2954 2955 + 2956 2957 2958 2959 2960 2961 + 2962 2963 2964 2965 2966 2967 + 2968 2969 2970 2971 2972 2973 + 2974 2975 2976 2977 2978 2979 + 2980 2981 2982 2983 2984 2985 + 2986 2987 2988 2989 2990 2991 + 2992 2993 2994 2995 2996 2997 + 2998 2999 3000 3001 3002 3003 + 3004 3005 3006 3007 3008 3009 + 3010 3011 3012 3013 3014 3015 + 3016 3017 3018 3019 3020 3021 + 3022 3023 3024 3025 3026 3027 + 3028 3029 3030 3031 3032 3033 + 3034 3035 3036 3037 3038 3039 + 3040 3041 3042 3043 3044 3045 + 3046 3047 3048 3049 3050 3051 + 3052 3053 3054 3055 3056 3057 + 3058 3059 3060 3061 3062 3063 + 3064 3065 3066 3067 3068 3069 + 3070 3071 3072 3073 3074 3075 + 3076 3077 3078 3079 3080 3081 + 3082 3083 3084 3085 3086 3087 + 3088 3089 3090 3091 3092 3093 + 3094 3095 3096 3097 3098 3099 + 3100 3101 3102 3103 3104 3105 + 3106 3107 3108 3109 3110 3111 + 3112 3113 3114 3115 3116 3117 + 3118 3119 3120 3121 3122 3123 + 3124 3125 3126 3127 3128 3129 + 3130 3131 3132 3133 3134 3135 + 3136 3137 3138 3139 3140 1290 + 1291 1293 1584 1616 1683 1745 + 1950 2015 2016 2026 2027 2028 + 2029 2030 2031 2107 2108 2198 + 2286 2287 + 2961 + 18 + 28 + 2378 2379 2380 2381 2382 2413 + 2414 2415 2416 2417 2418 2419 + 2420 2421 2455 2456 2457 2458 + 2459 2460 2461 2462 2463 2464 + 2465 2466 2467 2468 2469 2470 + 2471 2472 2506 2507 2508 2509 + 2510 2511 2512 2513 2514 2515 + 2516 2517 2518 2519 2520 2521 + 2522 2523 2524 2525 2526 2527 + 2528 2529 2530 2547 2548 2549 + 2550 2551 2552 2553 2554 2555 + 2556 2557 2558 2559 2560 2561 + 2562 2563 2564 2565 2566 2567 + 2568 2569 2570 2571 2572 2573 + 2574 2575 2576 2577 2578 2579 + 2580 2581 2601 2602 2603 2604 + 2605 2606 2607 2608 2609 2610 + 2611 2612 2613 2614 2615 2616 + 2617 2618 2619 2620 2621 2622 + 2623 2624 2625 2626 2627 2628 + 2629 2630 2631 2632 2633 2634 + 2635 2636 2637 2638 2639 2640 + 2641 2642 2643 2644 2645 2646 + 2647 2648 2649 2650 2651 2669 + 2670 2671 2672 2673 2674 2675 + 2676 2677 2678 2679 2680 2681 + 2682 2683 2684 2685 2686 2687 + 2688 2689 2690 2691 2692 2693 + 2694 2695 2696 2697 2698 2699 + 2700 2701 2702 2703 2704 2705 + 2706 2707 2708 2709 2710 2711 + 2712 2713 2714 2715 2716 2717 + 2718 2719 2720 2721 2722 2723 + 2724 2725 2726 2727 2728 2729 + 2730 2731 2732 2733 2734 2735 + 2736 2737 2738 2739 2740 2741 + 2742 2743 2767 2768 2769 2770 + 2771 2772 2773 2774 2775 2776 + 2777 2778 2779 2780 2781 2782 + 2783 2784 2785 2786 2787 2788 + 2789 2790 2791 2792 2793 2794 + 2795 2796 2797 2798 2799 2800 + 2801 2802 2803 2804 2805 2806 + 2807 2808 2809 2810 2811 2812 + 2813 2814 2815 2816 2817 2818 + 2819 2820 2821 2822 2823 2824 + 2825 2826 2827 2828 2829 2830 + 2831 2832 2833 2834 2835 2836 + 2837 2866 2867 2868 2869 2870 + 2871 2872 2873 2874 2875 2876 + 2877 2878 2879 2880 2881 2882 + 2883 2884 2885 2886 2887 2888 + 2889 2890 2891 2892 2893 2894 + 2895 2896 2897 2898 2899 2900 + 2902 2904 2905 2906 2907 2908 + 2909 2910 2911 2912 2913 2914 + 2915 2916 2917 2918 2919 2920 + 2921 2922 2923 2924 2925 2926 + 2927 2928 2929 2930 2931 2932 + 2933 2934 2935 2936 2937 2938 + 2939 2940 2941 2942 2943 2944 + 2945 2946 2947 2948 2949 2950 + 2951 2952 2962 2963 2964 3004 + 3005 3006 3007 3008 3009 3010 + 3011 3012 3013 3014 3015 3016 + 3017 3018 3019 3020 3021 3022 + 3023 3024 3025 3026 3027 3028 + 3029 3030 3031 3032 3033 3034 + 3035 3036 3037 3038 3039 3040 + 3041 3042 3043 3044 3045 3046 + 3047 3048 3049 3050 3051 3052 + 3053 3054 3055 3056 3057 3058 + 3059 3060 3061 3062 3063 3064 + 3065 3066 3067 3068 3069 3070 + 3071 3072 3073 3074 3075 3076 + 3087 3088 3125 3126 3127 3128 + 3129 3130 3131 3132 3133 3134 + 3135 3136 3137 3138 3139 3140 + 3141 3142 3143 3144 3145 3146 + 3147 3148 3149 3150 3151 3152 + 3153 3154 3155 3156 3157 3158 + 3159 3160 3161 3162 3163 3164 + 3165 3166 3167 3168 3169 3170 + 3171 3172 3173 3174 3175 3176 + 3177 3178 3179 3180 3181 3182 + 3183 3184 3185 3186 3187 3188 + 3189 3190 3191 3192 3193 3194 + 3195 3196 3197 3198 3199 3200 + 3240 3241 3242 3243 3244 3245 + 3246 3247 3248 3249 3250 3251 + 3252 3253 3254 3255 3256 3257 + 3258 3259 3260 3261 3262 3263 + 3264 3265 3266 3267 3268 3269 + 3270 3271 3272 3273 3274 3275 + 3276 3277 3278 3279 3280 3281 + 3282 3283 3284 3285 3286 3287 + 3288 3289 3290 3291 3292 3293 + 3294 3295 3296 3297 3298 3299 + 3300 3301 3302 3303 3304 3305 + 3306 3307 3308 3309 3310 3311 + 3312 3313 3314 3315 3316 3317 + 3318 3364 3365 3366 3367 3368 + 3369 3370 3371 3372 3373 3374 + 3375 3376 3377 3378 3379 3380 + 3381 3382 3383 3384 3385 3386 + 3387 3388 3389 3390 3391 3392 + 3393 3394 3395 3396 3397 3398 + 3399 3400 3401 3402 3403 3404 + 3405 3406 3407 3408 3409 3410 + 3411 3412 3413 3414 3415 3416 + 3417 3418 3419 3420 3421 3422 + 3423 3424 3425 3426 3427 3428 + 3429 3430 3431 3432 3471 3472 + 3473 3474 3475 3476 3477 3478 + 3479 3480 3481 3482 3483 3484 + 3485 3486 3487 3488 3489 3490 + 3491 3492 3493 3494 3495 3496 + 3497 3498 3499 3500 3501 3502 + 3503 3504 3505 3506 3507 3508 + 3509 3510 3511 3512 3513 3514 + 3515 3516 3517 3518 3519 3520 + 3521 3522 3523 3524 3525 3526 + 3527 3528 3529 3530 3531 3532 + 3533 3534 3535 3536 3537 3538 + 3539 3540 3541 3542 3543 3544 + 3545 3546 3547 3548 3549 3550 + 3551 3552 3553 3554 3555 3556 + 3557 3558 3559 3560 3561 3562 + 3563 3596 3598 3599 3600 3601 + 3602 3603 3604 3605 3606 3607 + 3608 3609 3610 3611 3612 3613 + 3614 3615 3616 3617 3618 3619 + 3620 3621 3622 3623 3624 3625 + 3626 3627 3628 3629 3630 3631 + 3632 3633 3634 3635 3636 3637 + 3638 3639 3640 3641 3642 3643 + 3644 3645 3646 3647 3648 3649 + 3650 3651 3652 3653 3654 3655 + 3656 3657 3658 3659 3660 3661 + 3662 3663 3664 3665 3666 3667 + 3668 3669 3670 3671 3672 3673 + 3674 3675 3676 3677 3678 3679 + 3680 3681 3682 3683 3684 3685 + 3686 3687 3688 3689 3690 3691 + 3692 3693 3694 3695 3696 3697 + 3698 3699 3700 3701 3702 3703 + 3704 3705 3706 3707 3708 3709 + 3710 3711 3713 3733 3734 3735 + 3740 3743 3744 3746 3747 3748 + 3749 3750 3751 3752 3753 3754 + 3755 3756 3757 3758 3759 3760 + 3761 3762 3763 3764 3765 3766 + 3767 3768 3769 3770 3771 3772 + 3773 3774 3775 3776 3777 3778 + 3779 3780 3781 3782 3783 3784 + 3785 3786 3787 3788 3789 3790 + 3791 3792 3793 3794 3795 3796 + 3797 3798 3799 3800 3801 3802 + 3803 3804 3805 3806 3807 3808 + 3809 3810 3811 3812 3813 3814 + 3815 3816 3817 3818 3819 3820 + 3821 3822 3823 3824 3825 3826 + 3827 3828 3829 3830 3831 3832 + 3833 3834 3835 3836 3837 3838 + 3839 3840 3841 3842 3843 3844 + 3845 3846 3847 3848 3849 3850 + 3851 3852 3853 3854 3855 3856 + 3857 3858 3859 3860 3861 3862 + 3863 3864 3865 3866 3867 3868 + 3869 3870 3871 3872 3873 3874 + 3875 3876 3877 3878 3879 3880 + 3881 3882 3883 3885 3887 3888 + 3900 3901 3902 3903 3904 3905 + 3906 3907 3908 3909 3910 3911 + 3912 3913 3914 3915 3916 3917 + 3918 3919 3920 3921 3922 3923 + 3924 3925 3926 3927 3928 3929 + 3930 3931 3932 3933 3934 3935 + 3936 3937 3938 3939 3940 3941 + 3942 3943 3944 3945 3946 3947 + 3948 3949 3950 3951 3952 3953 + 3954 3955 3956 3957 3958 3959 + 3960 3961 3962 3963 3964 3965 + 3966 3967 3968 3969 3970 3971 + 3972 3973 3974 3975 3976 3977 + 3978 3979 3980 3981 3982 3983 + 3984 3985 3986 3987 3988 3989 + 3990 3991 3992 3993 3994 3995 + 3996 3997 3998 3999 4000 4001 + 4002 4003 4004 4005 4006 4007 + 4008 4009 4010 4011 4012 4013 + 4014 4015 4016 4017 4018 4019 + 4020 4021 4022 4023 4024 4025 + 4026 4027 4028 4029 4030 4031 + 4032 4033 4034 4035 4036 4037 + 4038 4039 4040 4041 4042 4043 + 4044 4045 4046 4047 4048 4049 + 4050 4051 4052 4053 4054 4063 + 4064 4065 4066 4067 4068 4069 + 4070 4071 4072 4073 4074 4075 + 4076 4077 4078 4079 4080 4081 + 4082 4083 4084 4085 4086 4087 + 4088 4089 4090 4091 4092 4093 + 4094 4095 4096 4097 4098 4099 + 4100 4101 4102 4103 4104 4105 + 4106 4107 4108 4109 4110 4111 + 4112 4113 4114 4115 4116 4117 + 4118 4119 4120 4121 4122 4123 + 4124 4125 4126 4127 4128 4129 + 4130 4131 4132 4133 4134 4135 + 4136 4137 4138 4139 4140 4141 + 4142 4143 4144 4145 4146 4147 + 4148 4149 4150 4151 4152 4153 + 4154 4155 4156 4157 4158 4159 + 4160 4161 4162 4163 4164 4165 + 4166 4167 4168 4169 4170 4171 + 4172 4173 4174 4175 4176 4177 + 4178 4179 4180 4181 4182 4183 + 4184 4185 4186 4187 4188 4189 + 4190 4191 4192 4193 4194 4195 + 4196 4197 4198 4199 4200 4201 + 4202 4203 4204 4205 4206 4207 + 4208 4209 4210 4211 4212 4213 + 4214 4215 4217 4218 4221 4222 + 4223 4224 4225 4226 4227 4228 + 4229 4230 4231 4232 4233 4234 + 4235 4236 4237 4238 4239 4240 + 4241 4242 4243 4244 4245 4246 + 4247 4248 4249 4250 4251 4252 + 4253 4254 4255 4256 4257 4258 + 4259 4260 4261 4262 4263 4264 + 4265 4266 4267 4268 4269 4270 + 4271 4272 4273 4274 4275 4276 + 4277 4278 4279 4280 4281 4282 + 4283 4284 4285 4286 4287 4288 + 4289 4290 4291 4292 4293 4294 + 4295 4296 4297 4298 4299 4300 + 4301 4302 4303 4304 4305 4306 + 4307 4308 4309 4310 4311 4312 + 4313 4314 4315 4316 4317 4318 + 4319 4320 4321 4322 4323 4324 + 4325 4326 4327 4328 4329 4330 + 4331 4332 4333 4334 4335 4336 + 4337 4338 4339 4340 4341 4342 + 4343 4344 4345 4346 4347 4348 + 4349 4350 4351 4352 4353 4354 + 4355 4356 4357 4358 4359 4360 + 4361 4362 4363 4364 4365 4366 + 4367 4368 4369 4370 4371 4372 + 4373 4374 4375 4376 4377 4378 + 4379 4380 4381 4382 4383 4384 + 4385 4386 4387 4388 4389 4390 + 4391 4392 4393 4394 4395 4396 + 4397 4398 4399 4400 4401 4402 + 4403 4404 4405 4406 4407 4408 + 4409 4410 4411 4412 4413 4414 + 4415 4416 4417 4418 4419 4420 + 4421 4422 4423 4424 4425 4426 + 4427 4428 4429 4430 4431 4432 + 4433 4434 4435 4436 4437 4438 + 4439 4440 4441 4442 4443 4444 + 4445 4446 4447 4448 4449 4450 + 4451 4452 4453 4454 4455 4456 + 4457 4458 4459 4460 4461 4462 + 4463 4464 4465 4466 4467 4468 + 4469 4470 4471 4472 4473 4474 + 4475 4476 4477 4478 4479 4480 + 4481 4482 4483 4484 4485 4486 + 4487 4488 4489 4490 4491 4492 + 4493 4494 4495 4496 4497 4498 + 4499 4500 4501 4502 4503 4504 + 4505 4506 4507 4508 4509 4510 + 4511 4512 4513 4514 4515 4516 + 4517 4518 4519 4520 4521 4522 + 4523 4524 4525 4526 4527 4528 + 4529 4530 4531 4532 4533 4534 + 4535 4536 4537 4538 4539 4540 + 4541 4542 4543 4544 4545 4546 + 4547 4548 4549 4550 4551 4552 + 4553 4554 4555 4556 4557 4558 + 4559 4560 4561 4562 4563 4564 + 4565 4566 4567 4568 4569 4570 + 4571 4572 4573 4574 4575 4576 + 4577 4578 4579 4580 4581 4582 + 4583 4584 4585 4586 4587 4588 + 4589 4590 4591 4592 4593 4594 + 4595 4596 4597 4598 4599 4600 + 4601 4602 4603 4604 4605 4606 + 4607 4608 4609 4610 4611 4612 + 4613 4614 4615 4616 4617 4618 + 4619 4620 4621 4622 4623 4624 + 4625 4626 4627 4628 4629 4630 + 4631 4632 4633 4634 4635 4636 + 4637 4638 4639 4640 4641 4642 + 4643 4644 4645 4646 4647 4648 + 4649 4650 4651 4652 4653 4654 + 4655 4656 4657 4658 4659 4660 + 4661 4662 4663 4664 4665 4666 + 4667 4668 4669 4670 4671 4672 + 4673 4674 4675 4676 4677 4678 + 4679 4680 4681 4682 4683 4684 + 4685 4686 4687 4688 4689 4690 + 4691 4692 4693 4694 4695 4696 + 4697 4698 4699 4700 4701 4702 + 4703 4704 4705 4706 4707 4708 + 4709 4710 4711 4712 4713 4714 + 4715 4716 4717 4718 4719 4720 + 4721 4722 4723 4724 4725 4726 + 4727 4728 4729 4730 4731 4732 + 4733 4734 4735 4736 4737 4738 + 4739 4740 4741 4742 4743 4744 + 4745 4746 4747 4748 4749 4750 + 4751 4752 4753 4754 4755 4756 + 4757 4758 4759 4760 4761 4762 + 4763 4764 4765 4766 4767 4768 + 4769 4770 4771 4772 4773 4774 + 4775 4776 4777 4778 4779 4780 + 4781 4782 4783 4784 4785 4786 + 4787 4788 4789 4790 4791 4792 + 4793 4794 4795 4796 4797 4798 + 4799 4800 4801 4802 4803 4804 + 4805 4806 4807 4808 4809 4810 + 4811 4812 4813 4814 4815 4816 + 4817 4818 4819 4820 4821 4822 + 4823 4824 4825 4826 4827 4828 + 4829 4830 4831 4832 4833 4834 + 4835 4836 4837 4838 4839 4840 + 4841 4842 4843 4844 4845 4846 + 4847 4848 4849 4850 4851 4852 + 4853 4854 4855 4856 4857 4858 + 4859 4860 4861 4862 4863 4864 + 4865 4866 4867 4868 4869 4870 + 4871 4872 4873 4874 4875 4876 + 4877 4878 4879 4880 4881 4882 + 4883 4884 4885 4886 4887 4888 + 4889 4890 4891 4892 4893 4894 + 4895 4896 4897 4898 4899 4900 + 4901 4902 4903 4904 4905 4906 + 4907 4908 4909 4910 4911 4912 + 4913 4914 4915 4916 4917 4918 + 4919 4920 4921 4922 4923 4924 + 4925 4926 4927 4928 4929 4930 + 4931 4932 4933 4934 4935 4936 + 4937 4938 4939 4940 4941 4942 + 4943 4944 4945 4946 4947 4948 + 4949 4950 4951 4952 4953 4954 + 4955 4956 4957 4958 4959 4960 + 4961 4962 4963 4964 4965 4966 + 4967 4968 4969 4970 4971 4972 + 4973 4974 4975 4976 4977 4978 + 4979 4980 4981 4982 4983 4984 + 4985 4986 4987 4988 4989 4990 + 4991 4992 4993 4994 4995 4996 + 4997 4998 4999 5000 5001 5002 + 5003 5004 5005 5006 5007 5008 + 5009 5010 5011 5012 5013 5014 + 5015 5016 5017 5018 5019 5020 + 5021 5022 5023 5024 5025 5026 + 5027 5028 5029 5030 5031 5032 + 5033 5034 5035 5036 5037 5038 + 5039 5040 5041 5042 5043 5044 + 5045 5046 5047 5048 5049 5050 + 5051 5052 5053 5054 5055 5056 + 5057 5058 5059 5060 5061 5062 + 5063 5064 5065 5066 5067 5068 + 5069 5070 5071 5072 5073 5074 + 5075 5076 5077 5078 5079 5080 + 5081 5082 5083 5084 5085 5086 + 5087 5088 5089 5090 5091 5092 + 5093 5094 5095 5096 5097 5098 + 5099 5100 5101 5102 5103 5104 + 5105 5106 5107 5108 5109 5110 + 5111 5112 5113 5114 5115 5116 + 5117 5118 5119 5120 5121 5122 + 5123 5124 5125 5126 5127 5128 + 5129 5130 5131 5132 5133 5134 + 5135 5136 5137 5138 5139 5140 + 5141 5142 5143 5144 5145 5146 + 5147 5148 5149 5150 5151 5152 + 5153 5154 5155 5156 5157 5158 + 5159 5160 5161 5162 5163 5164 + 5165 5166 5167 5168 5169 5170 + 5171 5172 5173 5174 5175 5176 + 5177 5178 5179 5180 5181 5182 + 5183 5184 5185 5186 5187 5188 + 5189 5190 5191 5192 5193 5194 + 5195 5196 5197 5198 5199 5200 + 5201 5202 5203 5204 5205 5206 + 5207 5208 5209 5210 5211 5212 + 5213 5214 5215 5216 5217 5218 + 5219 5220 5221 5222 5223 5224 + 5225 5226 5227 5228 5229 5230 + 5231 5232 5233 5234 5235 5236 + 5237 5238 5239 5240 5241 5242 + 5243 5244 5245 5246 5247 5248 + 5249 5250 5251 5252 5253 5254 + 5255 5256 5257 5258 5259 5260 + 5261 5262 5263 5264 5265 5266 + 5267 5268 5269 5270 5271 5272 + 5273 5274 5275 5276 5277 5278 + 5279 5280 5281 5282 5283 5284 + 5285 5286 5287 5288 5289 5290 + 5291 5292 5293 5294 5295 5296 + 5297 5298 5299 5300 5301 5302 + 5303 5304 5305 5306 5307 5308 + 5309 5310 5311 5312 5313 5314 + 5315 5316 5317 5318 5319 5320 + 5321 5322 5323 5324 5325 5326 + 5327 5328 5329 5330 5331 5332 + 5333 5334 5335 5336 5337 5338 + 5339 5340 5341 5342 5343 5344 + 5345 5346 5347 5348 5349 5350 + 5351 5352 5353 5354 5355 5356 + 5357 5358 5359 5360 5361 5362 + 5363 5364 5365 5366 5367 5368 + 5369 5370 5371 5372 5373 5374 + 5375 5376 5377 5378 5379 5380 + 5381 5382 5383 5384 5385 5386 + 5387 5388 5389 5390 5391 5392 + 5393 5394 5395 5396 5397 5398 + 5399 5400 5401 5402 5403 5404 + 5405 5406 5407 5408 5409 5410 + 5411 5412 5413 5414 5415 5416 + 5417 5418 5419 5420 5421 5422 + 5423 5424 5425 5426 5427 5428 + 5429 5430 5431 5432 5433 5434 + 5435 5436 5437 5438 5439 5440 + 5441 5442 5443 5444 5445 5446 + 5447 5448 5449 5450 5451 5452 + 5453 5454 5455 5456 5457 5458 + 5459 5460 5461 5462 5463 5464 + 5465 5466 5467 5468 5469 5470 + 5471 5472 5473 5474 5475 5476 + 5477 5478 5479 5480 5481 5482 + 5483 5484 5485 5486 5487 5488 + 5489 5490 5491 5492 5493 5494 + 5495 5496 5497 5498 5499 5500 + 5501 5502 5503 5504 5505 5506 + 5507 5508 5509 5510 5511 5512 + 5513 5514 5515 5516 5517 5518 + 5519 5520 5521 5522 5523 5524 + 5525 5526 5527 5528 5529 5530 + 5531 5532 5533 5534 5535 5536 + 5537 5538 5539 5540 5541 5542 + 5543 5544 5545 5546 5547 5548 + 5549 5550 5551 5552 5553 5554 + 5555 5556 5557 5558 5559 5560 + 5561 5562 5563 5564 5565 5566 + 5567 5568 5569 5570 5571 5572 + 5573 5574 5575 5576 5577 5578 + 5579 5580 5581 5582 5583 5584 + 5585 5586 5587 5588 5589 5590 + 5591 5592 5593 5594 5595 5596 + 5597 5598 5599 5600 5601 5602 + 5603 5604 5605 5606 5607 5608 + 5609 5610 5611 5612 5613 5614 + 5615 5616 5617 5618 5619 5620 + 5621 5622 5623 5624 5625 5626 + 5627 5628 5629 5630 5631 5632 + 5633 5634 5635 5636 5637 5638 + 5639 5640 5641 5642 5643 5644 + 5645 5646 5647 5648 5649 5650 + 5651 5652 5653 5654 5655 5656 + 5657 5658 5659 5660 5661 5662 + 5663 5664 5665 5666 5667 5668 + 5669 5670 5671 5672 5673 5674 + 5675 5676 5677 5678 5679 5680 + 5681 5682 5683 5684 5685 5686 + 5687 5688 5689 5690 5691 5692 + 5693 5694 5695 5696 5697 5698 + 5699 5700 5701 5702 5703 5704 + 5705 5706 5707 5708 5709 5710 + 5711 5712 5713 5714 5715 5716 + 5717 5718 5719 5720 5721 5722 + 5723 5724 5725 5726 5727 5728 + 5729 5730 5731 5732 5733 5734 + 5735 5736 5737 5738 5739 5740 + 5741 5742 5743 5744 5745 5746 + 5747 5748 5749 5750 5751 5752 + 5753 5754 5755 5756 5757 5758 + 5759 5760 5761 5762 5763 5764 + 5765 5766 5767 5768 5769 5770 + 5771 5772 5773 5774 5775 5776 + 5777 5778 5779 5780 5781 5782 + 5783 5784 5785 5786 5787 5788 + 5789 5790 5791 5792 5793 5794 + 5795 5796 5797 5798 5799 5800 + 5801 5802 5803 5804 5805 5806 + 5807 5808 5809 5810 5811 5812 + 5813 5814 5815 5816 5817 5818 + 5819 5820 5821 5822 5823 5824 + 5825 5826 5827 5828 5829 5830 + 5831 5832 5833 5834 5835 5836 + 5837 5838 5839 2340 2383 2965 + 3086 3089 3583 3595 3712 3716 + 3718 3737 3739 3741 3742 3745 + 3886 4057 4220 2339 2342 2344 + 2376 2377 2901 2903 3090 3206 + 3207 3213 3466 3564 3582 3587 + 3588 3590 3593 3597 3714 3736 + 3738 3884 3890 4055 4062 4216 + 4219 + 4537 + 18 + 3482 3483 3485 3486 3487 3488 + 3489 3538 3539 3540 3541 3542 + 3543 3544 3545 3546 3547 3548 + 3549 3550 3551 3596 3597 3598 + 3599 3600 3601 3602 3603 3604 + 3605 3606 3607 3608 3609 3610 + 3611 3612 3613 3614 3615 3616 + 3617 3618 3619 3620 3621 3622 + 3623 3624 3625 3626 3663 3664 + 3665 3666 3667 3668 3669 3670 + 3671 3672 3673 3674 3675 3676 + 3677 3678 3679 3680 3681 3682 + 3683 3684 3685 3686 3687 3688 + 3689 3690 3691 3692 3693 3694 + 3695 3696 3697 3698 3699 3700 + 3701 3702 3703 3704 3705 3735 + 3736 3737 3738 3739 3740 3741 + 3742 3743 3744 3745 3746 3747 + 3748 3749 3750 3751 3752 3753 + 3754 3755 3756 3757 3758 3759 + 3760 3761 3762 3763 3764 3765 + 3766 3767 3768 3769 3770 3771 + 3772 3773 3774 3775 3776 3777 + 3778 3779 3780 3781 3782 3783 + 3784 3785 3786 3787 3788 3789 + 3815 3816 3817 3818 3819 3820 + 3821 3822 3823 3824 3825 3826 + 3827 3828 3829 3830 3831 3832 + 3833 3834 3835 3836 3837 3838 + 3839 3840 3841 3842 3843 3844 + 3845 3846 3847 3848 3849 3850 + 3851 3852 3853 3854 3855 3856 + 3857 3858 3859 3860 3861 3862 + 3863 3864 3865 3866 3867 3868 + 3869 3870 3871 3872 3873 3874 + 3875 3876 3877 3878 3879 3880 + 3881 3882 3883 3884 3885 3886 + 3887 3888 3889 3890 3891 3892 + 3893 3894 3895 3896 3897 3898 + 3899 3928 3929 3930 3931 3932 + 3933 3934 3935 3936 3937 3938 + 3939 3940 3941 3942 3943 3944 + 3945 3946 3947 3948 3949 3950 + 3951 3952 3953 3954 3955 3956 + 3957 3958 3959 3960 3961 3962 + 3963 3964 3965 3966 3967 3968 + 3969 3970 3971 3972 3973 3974 + 3975 3976 3977 3978 3979 3980 + 3981 3982 3983 3984 3985 3986 + 3987 3988 3989 3990 3991 3992 + 3993 3994 3995 3996 3997 3998 + 3999 4000 4001 4002 4003 4004 + 4005 4006 4007 4008 4009 4010 + 4011 4012 4013 4014 4015 4016 + 4017 4018 4019 4020 4021 4022 + 4023 4024 4025 4026 4027 4028 + 4029 4030 4031 4032 4033 4034 + 4066 4067 4068 4069 4070 4071 + 4072 4073 4074 4075 4076 4077 + 4078 4079 4080 4081 4082 4083 + 4084 4085 4086 4087 4088 4089 + 4090 4091 4092 4093 4094 4095 + 4096 4097 4098 4099 4100 4101 + 4102 4103 4104 4105 4106 4107 + 4108 4109 4111 4112 4113 4114 + 4115 4116 4117 4118 4119 4120 + 4121 4122 4123 4124 4125 4126 + 4127 4128 4129 4130 4131 4132 + 4133 4134 4135 4136 4137 4138 + 4139 4140 4141 4142 4143 4144 + 4145 4146 4147 4148 4149 4150 + 4151 4152 4153 4154 4155 4156 + 4157 4158 4159 4160 4161 4162 + 4163 4164 4165 4166 4167 4168 + 4169 4170 4171 4172 4173 4174 + 4226 4227 4228 4229 4230 4231 + 4232 4233 4234 4235 4236 4237 + 4238 4239 4240 4241 4242 4243 + 4244 4245 4246 4247 4248 4249 + 4250 4251 4252 4253 4254 4255 + 4256 4257 4258 4259 4260 4261 + 4262 4263 4264 4265 4266 4267 + 4268 4269 4270 4271 4272 4273 + 4274 4275 4277 4279 4280 4281 + 4282 4283 4284 4285 4286 4287 + 4288 4289 4290 4291 4292 4293 + 4294 4295 4296 4297 4298 4299 + 4300 4301 4302 4303 4304 4305 + 4306 4307 4308 4309 4310 4311 + 4312 4313 4314 4315 4316 4317 + 4318 4319 4320 4321 4322 4323 + 4324 4325 4326 4327 4328 4329 + 4330 4331 4332 4333 4334 4335 + 4336 4337 4338 4339 4340 4341 + 4342 4343 4344 4345 4346 4347 + 4348 4349 4364 4365 4366 4367 + 4428 4429 4430 4431 4432 4433 + 4434 4435 4436 4437 4438 4439 + 4440 4441 4442 4443 4444 4445 + 4446 4447 4448 4449 4450 4451 + 4452 4453 4454 4455 4456 4457 + 4458 4459 4460 4461 4462 4463 + 4464 4465 4466 4467 4468 4469 + 4470 4471 4472 4473 4474 4475 + 4476 4477 4478 4479 4480 4481 + 4482 4483 4484 4485 4486 4487 + 4488 4489 4490 4491 4492 4493 + 4494 4495 4496 4497 4498 4499 + 4500 4501 4502 4503 4504 4505 + 4506 4507 4508 4509 4510 4511 + 4512 4513 4514 4515 4516 4517 + 4518 4519 4520 4521 4522 4523 + 4524 4525 4526 4527 4528 4529 + 4530 4531 4532 4533 4534 4535 + 4536 4537 4538 4539 4540 4555 + 4607 4608 4609 4610 4611 4612 + 4613 4614 4615 4616 4617 4618 + 4619 4620 4621 4622 4623 4624 + 4625 4626 4627 4628 4629 4630 + 4631 4632 4633 4634 4635 4636 + 4637 4638 4639 4640 4641 4642 + 4643 4644 4645 4646 4647 4648 + 4649 4650 4651 4652 4653 4654 + 4655 4656 4657 4658 4659 4660 + 4661 4662 4663 4664 4665 4666 + 4667 4668 4669 4670 4671 4672 + 4673 4674 4675 4676 4677 4678 + 4679 4680 4681 4682 4683 4684 + 4685 4686 4687 4688 4689 4690 + 4691 4692 4693 4694 4695 4696 + 4697 4698 4699 4700 4701 4702 + 4703 4704 4705 4706 4707 4708 + 4709 4710 4711 4712 4713 4714 + 4773 4774 4775 4776 4777 4778 + 4779 4780 4781 4782 4783 4784 + 4785 4786 4787 4788 4789 4790 + 4791 4792 4793 4794 4795 4796 + 4797 4798 4799 4800 4801 4802 + 4803 4804 4805 4806 4807 4808 + 4809 4810 4811 4812 4813 4814 + 4815 4816 4817 4818 4819 4820 + 4821 4822 4823 4824 4825 4826 + 4827 4828 4829 4830 4831 4832 + 4833 4834 4835 4836 4837 4838 + 4839 4840 4841 4842 4843 4844 + 4845 4846 4847 4848 4849 4850 + 4851 4852 4853 4854 4855 4856 + 4857 4858 4859 4860 4861 4862 + 4863 4864 4865 4866 4867 4868 + 4869 4870 4871 4872 4873 4874 + 4875 4876 4877 4878 4879 4880 + 4881 4882 4946 4947 4948 4949 + 4950 4951 4952 4953 4954 4955 + 4956 4957 4958 4959 4960 4961 + 4962 4963 4964 4965 4966 4967 + 4968 4969 4970 4971 4972 4973 + 4974 4975 4976 4977 4978 4979 + 4980 4981 4982 4983 4984 4985 + 4986 4987 4988 4989 4990 4991 + 4992 4993 4994 4995 4996 4997 + 4998 4999 5000 5001 5002 5003 + 5004 5005 5006 5007 5008 5009 + 5010 5011 5012 5013 5014 5015 + 5016 5017 5018 5019 5020 5021 + 5022 5023 5024 5025 5026 5027 + 5028 5029 5030 5031 5032 5033 + 5034 5035 5036 5037 5038 5039 + 5040 5041 5042 5043 5044 5045 + 5046 5047 5048 5049 5050 5051 + 5052 5053 5054 5055 5056 5113 + 5114 5115 5116 5117 5118 5119 + 5120 5121 5122 5123 5124 5125 + 5126 5127 5128 5129 5130 5131 + 5132 5133 5134 5135 5136 5137 + 5138 5139 5140 5141 5142 5143 + 5144 5145 5146 5147 5148 5149 + 5150 5151 5152 5153 5154 5155 + 5156 5157 5158 5159 5160 5161 + 5162 5163 5164 5165 5166 5167 + 5168 5169 5170 5171 5172 5173 + 5174 5175 5176 5177 5178 5179 + 5180 5181 5182 5183 5184 5185 + 5186 5187 5188 5189 5190 5191 + 5192 5193 5194 5195 5196 5197 + 5198 5199 5200 5201 5202 5203 + 5204 5205 5206 5207 5208 5209 + 5210 5211 5212 5213 5214 5215 + 5216 5217 5218 5219 5220 5221 + 5222 5223 5224 5225 5226 5227 + 5228 5229 5230 5231 5232 5233 + 5234 5235 5236 5237 5238 5239 + 5240 5241 5242 5243 5244 5245 + 5246 5247 5248 5249 5250 5251 + 5252 5253 5254 5255 5256 5257 + 5309 5311 5312 5313 5314 5315 + 5316 5317 5318 5319 5320 5321 + 5322 5323 5324 5325 5326 5327 + 5328 5329 5330 5331 5332 5333 + 5334 5335 5336 5337 5338 5339 + 5340 5341 5342 5343 5344 5345 + 5346 5347 5348 5349 5350 5351 + 5352 5353 5354 5355 5356 5357 + 5358 5359 5360 5361 5362 5363 + 5364 5365 5366 5367 5368 5369 + 5370 5371 5372 5373 5374 5375 + 5376 5377 5378 5379 5380 5381 + 5382 5383 5384 5385 5386 5387 + 5388 5389 5390 5391 5392 5393 + 5394 5395 5396 5397 5398 5399 + 5400 5401 5402 5403 5404 5405 + 5406 5407 5408 5409 5410 5411 + 5412 5413 5414 5415 5416 5417 + 5418 5419 5420 5421 5422 5423 + 5424 5425 5426 5427 5428 5429 + 5430 5431 5432 5433 5434 5435 + 5436 5437 5438 5439 5440 5441 + 5442 5443 5444 5445 5446 5447 + 5448 5449 5450 5451 5452 5453 + 5454 5455 5456 5457 5458 5459 + 5460 5461 5462 5463 5464 5465 + 5466 5467 5468 5469 5470 5471 + 5472 5473 5474 5475 5476 5477 + 5478 5479 5480 5481 5482 5483 + 5484 5485 5486 5487 5488 5489 + 5490 5493 5494 5519 5520 5521 + 5523 5525 5526 5527 5530 5531 + 5532 5534 5535 5536 5537 5538 + 5539 5540 5541 5542 5543 5544 + 5545 5546 5547 5548 5549 5550 + 5551 5552 5553 5554 5555 5556 + 5557 5558 5559 5560 5561 5562 + 5563 5564 5565 5566 5567 5568 + 5569 5570 5571 5572 5573 5574 + 5575 5576 5577 5578 5579 5580 + 5581 5582 5583 5584 5585 5586 + 5587 5588 5589 5590 5591 5592 + 5593 5594 5595 5596 5597 5598 + 5599 5600 5601 5602 5603 5604 + 5605 5606 5607 5608 5609 5610 + 5611 5612 5613 5614 5615 5616 + 5617 5618 5619 5620 5621 5622 + 5623 5624 5625 5626 5627 5628 + 5629 5630 5631 5632 5633 5634 + 5635 5636 5637 5638 5639 5640 + 5641 5642 5643 5644 5645 5646 + 5647 5648 5649 5650 5651 5652 + 5653 5654 5655 5656 5657 5658 + 5659 5660 5661 5662 5663 5664 + 5665 5666 5667 5668 5669 5670 + 5671 5672 5673 5674 5675 5676 + 5677 5678 5679 5680 5681 5682 + 5683 5684 5685 5686 5687 5688 + 5689 5690 5691 5692 5693 5694 + 5695 5696 5697 5698 5699 5700 + 5701 5702 5703 5704 5705 5706 + 5707 5708 5709 5710 5711 5712 + 5713 5714 5715 5716 5717 5718 + 5719 5720 5721 5722 5723 5724 + 5725 5726 5727 5728 5729 5730 + 5731 5732 5733 5734 5735 5736 + 5737 5738 5739 5741 5742 5745 + 5746 5761 5762 5763 5764 5765 + 5766 5767 5768 5769 5770 5771 + 5772 5773 5774 5775 5776 5777 + 5778 5779 5780 5781 5782 5783 + 5784 5785 5786 5787 5788 5789 + 5790 5791 5792 5793 5794 5795 + 5796 5797 5798 5799 5800 5801 + 5802 5803 5804 5805 5806 5807 + 5808 5809 5810 5811 5812 5813 + 5814 5815 5816 5817 5818 5819 + 5820 5821 5822 5823 5824 5825 + 5826 5827 5828 5829 5830 5831 + 5832 5833 5834 5835 5836 5837 + 5838 5839 5840 5841 5842 5843 + 5844 5845 5846 5847 5848 5849 + 5850 5851 5852 5853 5854 5855 + 5856 5857 5858 5859 5860 5861 + 5862 5863 5864 5865 5866 5867 + 5868 5869 5870 5871 5872 5873 + 5874 5875 5876 5877 5878 5879 + 5880 5881 5882 5883 5884 5885 + 5886 5887 5888 5889 5890 5891 + 5892 5893 5894 5895 5896 5897 + 5898 5899 5900 5901 5902 5903 + 5904 5905 5906 5907 5908 5909 + 5910 5911 5912 5913 5914 5915 + 5916 5917 5918 5919 5920 5921 + 5922 5923 5924 5925 5926 5927 + 5928 5929 5930 5931 5932 5933 + 5934 5935 5936 5937 5938 5939 + 5940 5941 5942 5943 5944 5945 + 5946 5947 5948 5949 5950 5951 + 5952 5953 5954 5955 5956 5957 + 5958 5959 5960 5961 5962 5963 + 5964 5965 5966 5967 5968 5969 + 5970 5971 5972 5973 5974 5975 + 5976 5977 5978 5979 5980 5981 + 5982 5983 5984 5985 5986 5987 + 5988 5998 5999 6000 6001 6002 + 6003 6004 6005 6006 6007 6008 + 6009 6010 6011 6012 6013 6014 + 6015 6016 6017 6018 6019 6020 + 6021 6022 6023 6024 6025 6026 + 6027 6028 6029 6030 6031 6032 + 6033 6034 6035 6036 6037 6038 + 6039 6040 6041 6042 6043 6044 + 6045 6046 6047 6048 6049 6050 + 6051 6052 6053 6054 6055 6056 + 6057 6058 6059 6060 6061 6062 + 6063 6064 6065 6066 6067 6068 + 6069 6070 6071 6072 6073 6074 + 6075 6076 6077 6078 6079 6080 + 6081 6082 6083 6084 6085 6086 + 6087 6088 6089 6090 6091 6092 + 6093 6094 6095 6096 6097 6098 + 6099 6100 6101 6102 6103 6104 + 6105 6106 6107 6108 6109 6110 + 6111 6112 6113 6114 6115 6116 + 6117 6118 6119 6120 6121 6122 + 6123 6124 6125 6126 6127 6128 + 6129 6130 6131 6132 6133 6134 + 6135 6136 6137 6138 6139 6140 + 6141 6142 6143 6144 6145 6146 + 6147 6148 6149 6150 6151 6152 + 6153 6154 6155 6156 6157 6158 + 6159 6160 6161 6162 6163 6164 + 6165 6166 6167 6168 6169 6170 + 6171 6172 6173 6174 6175 6176 + 6177 6178 6179 6180 6181 6182 + 6183 6184 6185 6186 6187 6188 + 6189 6190 6191 6192 6193 6194 + 6195 6196 6197 6198 6199 6200 + 6201 6202 6203 6204 6205 6206 + 6207 6208 6209 6210 6211 6212 + 6213 6214 6215 6216 6217 6218 + 6219 6221 6222 6223 6224 6225 + 6226 6227 6228 6229 6230 6231 + 6232 6233 6234 6235 6236 6237 + 6238 6239 6240 6241 6242 6243 + 6244 6245 6246 6247 6248 6249 + 6250 6251 6252 6253 6254 6255 + 6256 6257 6258 6259 6260 6261 + 6262 6263 6264 6265 6266 6267 + 6268 6269 6270 6271 6272 6273 + 6274 6275 6276 6277 6278 6279 + 6280 6281 6282 6283 6284 6285 + 6286 6287 6288 6289 6290 6291 + 6292 6293 6294 6295 6296 6297 + 6298 6299 6300 6301 6302 6303 + 6304 6305 6306 6307 6308 6309 + 6310 6311 6312 6313 6314 6315 + 6316 6317 6318 6319 6320 6321 + 6322 6323 6324 6325 6326 6327 + 6328 6329 6330 6331 6332 6333 + 6334 6335 6336 6337 6338 6339 + 6340 6341 6342 6343 6344 6345 + 6346 6347 6348 6349 6350 6351 + 6352 6353 6354 6355 6356 6357 + 6358 6359 6360 6361 6362 6363 + 6364 6365 6366 6367 6368 6369 + 6370 6371 6372 6373 6374 6375 + 6376 6377 6378 6379 6380 6381 + 6382 6383 6384 6385 6386 6387 + 6388 6389 6390 6391 6392 6393 + 6394 6395 6396 6397 6398 6399 + 6400 6401 6402 6403 6404 6405 + 6406 6407 6408 6409 6410 6411 + 6412 6413 6414 6415 6416 6417 + 6418 6419 6420 6421 6422 6423 + 6424 6425 6426 6427 6428 6429 + 6430 6431 6432 6433 6434 6435 + 6436 6437 6438 6439 6440 6441 + 6442 6443 6444 6445 6446 6447 + 6448 6449 6450 6451 6452 6453 + 6454 6455 6456 6457 6458 6459 + 6460 6461 6462 6463 6464 6465 + 6466 6467 6468 6469 6470 6471 + 6472 6473 6474 6475 6476 6477 + 6478 6479 6480 6481 6482 6483 + 6484 6485 6486 6487 6488 6489 + 6490 6491 6492 6493 6494 6495 + 6496 6497 6498 6499 6500 6501 + 6502 6503 6504 6505 6506 6507 + 6508 6509 6510 6511 6512 6513 + 6514 6515 6516 6517 6518 6519 + 6520 6521 6522 6523 6524 6525 + 6526 6527 6528 6529 6530 6531 + 6532 6533 6534 6535 6536 6537 + 6538 6539 6540 6541 6542 6543 + 6544 6545 6546 6547 6548 6549 + 6550 6551 6552 6553 6554 6555 + 6556 6557 6558 6559 6560 6561 + 6562 6563 6564 6565 6566 6567 + 6568 6569 6570 6571 6572 6573 + 6574 6575 6576 6577 6578 6579 + 6580 6581 6582 6583 6584 6585 + 6586 6587 6588 6589 6590 6591 + 6592 6593 6594 6595 6596 6597 + 6598 6599 6600 6601 6602 6603 + 6604 6605 6606 6607 6608 6609 + 6610 6611 6612 6613 6614 6615 + 6616 6617 6618 6619 6620 6621 + 6622 6623 6624 6625 6626 6627 + 6628 6629 6630 6631 6632 6633 + 6634 6635 6636 6637 6638 6639 + 6640 6641 6642 6643 6644 6645 + 6646 6647 6648 6649 6650 6651 + 6652 6653 6654 6655 6656 6657 + 6658 6659 6660 6661 6662 6663 + 6664 6665 6666 6667 6668 6669 + 6670 6671 6672 6673 6674 6675 + 6676 6677 6678 6679 6680 6681 + 6682 6683 6684 6685 6686 6687 + 6688 6689 6690 6691 6692 6693 + 6694 6695 6696 6697 6698 6699 + 6700 6701 6702 6703 6704 6705 + 6706 6707 6708 6709 6710 6711 + 6712 6713 6714 6715 6716 6717 + 6718 6719 6720 6721 6722 6723 + 6724 6725 6726 6727 6728 6729 + 6730 6731 6732 6733 6734 6735 + 6736 6737 6738 6739 6740 6741 + 6742 6743 6744 6745 6746 6747 + 6748 6749 6750 6751 6752 6753 + 6754 6755 6756 6757 6758 6759 + 6760 6761 6762 6763 6764 6765 + 6766 6767 6768 6769 6770 6771 + 6772 6773 6774 6775 6776 6777 + 6778 6779 6780 6781 6782 6783 + 6784 6785 6786 6787 6788 6789 + 6790 6791 6792 6793 6794 6795 + 6796 6797 6798 6799 6800 6801 + 6802 6803 6804 6805 6806 6807 + 6808 6809 6810 6811 6812 6813 + 6814 6815 6816 6817 6818 6819 + 6820 6821 6822 6823 6824 6825 + 6826 6827 6828 6829 6830 6831 + 6832 6833 6834 6835 6836 6837 + 6838 6839 6840 6841 6842 6843 + 6844 6845 6846 6847 6848 6849 + 6850 6851 6852 6853 6854 6855 + 6856 6857 6858 6859 6860 6861 + 6862 6863 6864 6865 6866 6867 + 6868 6869 6870 6871 6872 6873 + 6874 6875 6876 6877 6878 6879 + 6880 6881 6882 6883 6884 6885 + 6886 6887 6888 6889 6890 6891 + 6892 6893 6894 6895 6896 6897 + 6898 6899 6900 6901 6902 6903 + 6904 6905 6906 6907 6908 6909 + 6910 6911 6912 6913 6914 6915 + 6916 6917 6918 6919 6920 6921 + 6922 6923 6924 6925 6926 6927 + 6928 6929 6930 6931 6932 6933 + 6934 6935 6936 6937 6938 6939 + 6940 6941 6942 6943 6944 6945 + 6946 6947 6948 6949 6950 6951 + 6952 6953 6954 6955 6956 6957 + 6958 6959 6960 6961 6962 6963 + 6964 6965 6966 6967 6968 6969 + 6970 6971 6972 6973 6974 6975 + 6976 6977 6978 6979 6980 6981 + 6982 6983 6984 6985 6986 6987 + 6988 6989 6990 6991 6992 6993 + 6994 6995 6996 6997 6998 6999 + 7000 7001 7002 7003 7004 7005 + 7006 7007 7008 7009 7010 7011 + 7012 7013 7014 7015 7016 7017 + 7018 7019 7020 7021 7022 7023 + 7024 7025 7026 7027 7028 7029 + 7030 7031 7032 7033 7034 7035 + 7036 7037 7038 7039 7040 7041 + 7042 7043 7044 7045 7046 7047 + 7048 7049 7050 7051 7052 7053 + 7054 7055 7056 7057 7058 7059 + 7060 7061 7062 7063 7064 7065 + 7066 7067 7068 7069 7070 7071 + 7072 7073 7074 7075 7076 7077 + 7078 7079 7080 7081 7082 7083 + 7084 7085 7086 7087 7088 7089 + 7090 7091 7092 7093 7094 7095 + 7096 7097 7098 7099 7100 7101 + 7102 7103 7104 7105 7106 7107 + 7108 7109 7110 7111 7112 7113 + 7114 7115 7116 7117 7118 7119 + 7120 7121 7122 7123 7124 7125 + 7126 7127 7128 7129 7130 7131 + 7132 7133 7134 7135 7136 7137 + 7138 7139 7140 7141 7142 7143 + 7144 7145 7146 7147 7148 7149 + 7150 7151 7152 7153 7154 7155 + 7156 7157 7158 7159 7160 7161 + 7162 7163 7164 7165 7166 7167 + 7168 7169 7170 7171 7172 7173 + 7174 7175 7176 7177 7178 7179 + 7180 7181 7182 7183 7184 7185 + 7186 7187 7188 7189 7190 7191 + 7192 7193 7194 7195 7196 7197 + 7198 7199 7200 7201 7202 7203 + 7204 7205 7206 7207 7208 7209 + 7210 7211 7212 7213 7214 7215 + 7216 7217 7218 7219 7220 7221 + 7222 7223 7224 7225 7226 7227 + 7228 7229 7230 7231 7232 7233 + 7234 7235 7236 7237 7238 7239 + 7240 7241 7242 7243 7244 7245 + 7246 7247 7248 7249 7250 7251 + 7252 7253 7254 7255 7256 7257 + 7258 7259 7260 7261 7262 7263 + 7264 7265 7266 7267 7268 7269 + 7270 7271 7272 7273 7274 7275 + 7276 7277 7278 7279 7280 7281 + 7282 7283 7284 7285 7286 7287 + 7288 7289 7290 7291 7292 7293 + 7294 7295 7296 7297 7298 7299 + 7300 7301 7302 7303 7304 7305 + 7306 7307 7308 7309 7310 7311 + 7312 7313 7314 7315 7316 7317 + 7318 7319 7320 7321 7322 7323 + 7324 7325 7326 7327 7328 7329 + 7330 7331 7332 7333 7334 7335 + 7336 7337 7338 7339 7340 7341 + 7342 7343 7344 7345 7346 7347 + 7348 7349 7350 7351 7352 7353 + 7354 7355 7356 7357 7358 7359 + 7360 7361 7362 7363 7364 7365 + 7366 7367 7368 7369 7370 7371 + 7372 7373 7374 7375 7376 7377 + 7378 7379 7380 7381 7382 7383 + 7384 7385 7386 7387 7388 7389 + 7390 7391 7392 7393 7394 7395 + 7396 7397 7398 7399 7400 7401 + 7402 7403 7404 7405 7406 7407 + 7408 7409 7410 7411 7412 7413 + 7414 7415 7416 7417 7418 7419 + 7420 7421 7422 7423 7424 7425 + 7426 7427 7428 7429 7430 7431 + 7432 7433 7434 7435 7436 7437 + 7438 7439 7440 7441 7442 7443 + 7444 7445 7446 7447 7448 7449 + 7450 7451 7452 7453 7454 7455 + 7456 7457 7458 7459 7460 7461 + 7462 7463 7464 7465 7466 7467 + 7468 7469 7470 7471 7472 7473 + 7474 7475 7476 7477 7478 7479 + 7480 7481 7482 7483 7484 7485 + 7486 7487 7488 7489 7490 7491 + 7492 7493 7494 7495 7496 7497 + 7498 7499 7500 7501 7502 7503 + 7504 7505 7506 7507 7508 7509 + 7510 7511 7512 7513 7514 7515 + 7516 7517 7518 7519 7520 7521 + 7522 7523 7524 7525 7526 7527 + 7528 7529 7530 7531 7532 7533 + 7534 7535 7536 7537 7538 7539 + 7540 7541 7542 7543 7544 7545 + 7546 7547 7548 7549 7550 7551 + 7552 7553 7554 7555 7556 7557 + 7558 7559 7560 7561 7562 7563 + 7564 7565 7566 7567 7568 7569 + 7570 7571 7572 7573 7574 7575 + 7576 7577 7578 7579 7580 7581 + 7582 7583 7584 7585 7586 7587 + 7588 7589 7590 7591 7592 7593 + 7594 7595 7596 7597 7598 7599 + 7600 7601 7602 7603 7604 7605 + 7606 7607 7608 7609 7610 7611 + 7612 7613 7614 7615 7616 7617 + 7618 7619 7620 7621 7622 7623 + 7624 7625 7626 7627 7628 7629 + 7630 7631 7632 7633 7634 7635 + 7636 7637 7638 7639 7640 7641 + 7642 7643 7644 7645 7646 7647 + 7648 7649 7650 7651 7652 7653 + 7654 7655 7656 7657 7658 7659 + 7660 7661 7662 7663 7664 7665 + 7666 7667 7668 7669 7670 7671 + 7672 7673 7674 7675 7676 7677 + 7678 7679 7680 7681 7682 7683 + 7684 7685 7686 7687 7688 7689 + 7690 7691 7692 7693 7694 7695 + 7696 7697 7698 7699 7700 7701 + 7702 7703 7704 7705 7706 7707 + 7708 7709 7710 7711 7712 7713 + 7714 7715 7716 7717 7718 7719 + 7720 7721 7722 7723 7724 7725 + 7726 7727 7728 7729 7730 7731 + 7732 7733 7734 7735 7736 7737 + 7738 7739 7740 7741 7742 7743 + 7744 7745 7746 7747 7748 7749 + 7750 7751 7752 7753 7754 7755 + 7756 7757 7758 7759 7760 7761 + 7762 7763 7764 7765 7766 7767 + 7768 7769 7770 7771 7772 7773 + 7774 7775 7776 7777 7778 7779 + 7780 7781 7782 7783 7784 7785 + 7786 7787 7788 7789 7790 7791 + 7792 7793 7794 7795 7796 7797 + 7798 7799 7800 7801 7802 7803 + 7804 7805 7806 7807 7808 7809 + 7810 7811 7812 7813 7814 7815 + 7816 7817 7818 7819 7820 7821 + 7822 7823 7824 7825 7826 7827 + 7828 7829 7830 7831 7832 7833 + 7834 7835 7836 7837 7838 7839 + 7840 7841 7842 7843 7844 7845 + 7846 7847 7848 7849 7850 7851 + 7852 7853 7854 7855 7856 7857 + 7858 7859 7860 7861 7862 7863 + 7864 7865 7866 7867 7868 7869 + 7870 7871 7872 7873 7874 7875 + 7876 7877 7878 7879 7880 7881 + 7882 7883 7884 7885 7886 7887 + 7888 7889 7890 7891 7892 7893 + 7894 7895 7896 7897 7898 7899 + 7900 7901 7902 7903 7904 7905 + 7906 7907 7908 7909 7910 7911 + 7912 7913 7914 7915 7916 7917 + 7918 7919 7920 7921 7922 7923 + 7924 7925 7926 7927 7928 7929 + 7930 7931 7932 7933 7934 7935 + 7936 7937 7938 7939 7940 7941 + 7942 7943 7944 7945 7946 7947 + 7948 7949 7950 7951 7952 7953 + 7954 7955 7956 7957 7958 7959 + 7960 7961 7962 7963 7964 7965 + 7966 7967 7968 7969 7970 7971 + 7972 7973 7974 7975 7976 7977 + 7978 7979 7980 7981 7982 7983 + 7984 7985 7986 7987 7988 7989 + 7990 7991 7992 7993 7994 7995 + 7996 7997 7998 7999 8000 8001 + 8002 8003 8004 8005 8006 8007 + 8008 8009 8010 8011 8012 8013 + 8014 8015 8016 8017 8018 8019 + 8020 8021 8022 8023 8024 8025 + 8026 8027 8028 8029 8030 8031 + 8032 8033 8034 8035 8036 8037 + 8038 8039 8040 8041 8042 8043 + 8044 8045 8046 8047 8048 8049 + 8050 8051 8052 8053 8054 8055 + 8056 8057 8058 8059 8060 8061 + 8062 8063 8064 8065 8066 8067 + 8068 8069 8070 8071 8072 8073 + 8074 8075 8076 8077 8078 8079 + 8080 8081 8082 8083 8084 8085 + 8086 8087 8088 8089 8090 8091 + 8092 8093 8094 8095 8096 8097 + 8098 8099 8100 8101 8102 8103 + 8104 8105 8106 8107 8108 8109 + 8110 8111 8112 8113 8114 8115 + 8116 8117 8118 8119 8120 8121 + 8122 8123 8124 8125 8126 8127 + 8128 8129 8130 8131 8132 8133 + 8134 8135 8136 8137 8138 8139 + 8140 8141 8142 8143 8144 8145 + 8146 8147 8148 8149 8150 8151 + 8152 8153 8154 8155 8156 8157 + 8158 8159 8160 8161 8162 8163 + 8164 8165 8166 8167 8168 8169 + 8170 8171 8172 8173 8174 8175 + 8176 8177 8178 8179 8180 8181 + 8182 8183 8184 8185 8186 8187 + 8188 8189 8190 8191 8192 8193 + 8194 8195 8196 8197 8198 8199 + 8200 8201 8202 8203 8204 8205 + 8206 8207 8208 8209 8210 8211 + 8212 8213 8214 8215 8216 8217 + 8218 8219 8220 8221 8222 8223 + 8224 8225 8226 8227 8228 8229 + 8230 8231 8232 8233 8234 8235 + 8236 8237 8238 8239 8240 8241 + 8242 8243 8244 8245 8246 8247 + 8248 8249 8250 8251 8252 8253 + 8254 8255 8256 8257 8258 8259 + 8260 8261 8262 8263 8264 8265 + 8266 8267 8268 8269 8270 8271 + 8272 8273 8274 8275 8276 8277 + 8278 8279 8280 8281 8282 8283 + 8284 8285 8286 8287 8288 8289 + 8290 8291 8292 8293 8294 8295 + 8296 8297 8298 8299 8300 8301 + 8302 8303 8304 8305 8306 8307 + 8308 8309 8310 8311 8312 8313 + 8314 8315 8316 8317 8318 8319 + 8320 8321 8322 8323 8324 8325 + 8326 8327 8328 8329 8330 8331 + 8332 8333 8334 8335 8336 8337 + 8338 8339 8340 8341 8342 8343 + 8344 8345 8346 8347 8348 8349 + 8350 8351 8352 8353 8354 8355 + 8356 8357 8358 8359 8360 8361 + 8362 8363 8364 8365 8366 8367 + 8368 8369 8370 8371 8372 8373 + 8374 8375 8376 8377 8378 8379 + 8380 8381 8382 8383 8384 8385 + 8386 8387 8388 8389 8390 8391 + 8392 8393 8394 8395 8396 8397 + 8398 8399 8400 8401 8402 8403 + 8404 8405 8406 8407 8408 8409 + 8410 8411 8412 8413 8414 8415 + 8416 8417 8418 8419 8420 8421 + 8422 8423 8424 8425 8426 8427 + 8428 8429 8430 8431 8432 8433 + 8434 8435 8436 8437 8438 8439 + 8440 8441 8442 8443 8444 8445 + 8446 8447 8448 8449 8450 8451 + 8452 8453 8454 8455 8456 8457 + 8458 8459 8460 8461 8462 8463 + 8464 8465 8466 8467 8468 8469 + 8470 8471 8472 8473 8474 8475 + 8476 8477 8478 8479 8480 8481 + 8482 8483 8484 8485 8486 8487 + 8488 8489 8490 8491 8492 8493 + 8494 8495 8496 8497 8498 8499 + 8500 8501 8502 8503 8504 8505 + 8506 8507 8508 8509 8510 8511 + 8512 8513 8514 8515 8516 8517 + 8518 8519 8520 8521 8522 8523 + 8524 8525 8526 8527 8528 8529 + 8530 8531 8740 8741 8744 8745 + 8746 8747 8748 8749 8752 8753 + 8754 8755 8758 8759 8762 8763 + 8764 8765 8766 8767 8768 8771 + 8772 8773 8774 8775 8776 8777 + 8778 8779 8780 8781 8784 8785 + 8788 8789 8790 8791 8792 8793 + 8803 8804 8805 8806 8807 8809 + 8810 8811 8812 8813 8814 8816 + 8817 8818 8823 8824 8825 8828 + 8829 8830 8831 8834 8835 8836 + 8837 8838 8839 8840 8841 8842 + 8845 8846 8847 8848 8849 8850 + 8851 8852 8853 8854 8855 8856 + 8858 8859 8860 8861 8862 8863 + 8864 8865 8866 8867 8868 8869 + 8870 8872 8873 8874 8875 8876 + 8877 8878 8879 8880 8881 8882 + 8884 8885 8886 8887 8888 8889 + 8890 8891 8892 8893 8894 8895 + 8896 8897 8898 8899 8900 8901 + 8902 8903 8904 8905 8906 8907 + 8908 8909 8910 8911 8912 8913 + 8914 8915 8916 8917 8918 8919 + 8920 8921 8922 8923 8924 8925 + 8926 8927 8928 8929 8930 8931 + 8932 8933 8934 8935 8936 8937 + 8938 8939 8940 8941 8942 8943 + 8944 8945 8946 8947 8948 8949 + 8950 8951 8952 8953 8954 8955 + 8956 8957 8958 8959 8960 8961 + 8962 8963 8964 8965 8966 8967 + 8968 8969 8970 8971 8972 8973 + 8974 8975 8976 8977 8978 8979 + 8980 8981 8982 8983 8984 8985 + 8986 3481 3484 4276 4368 4554 + 5310 5491 5492 5522 5533 5308 + 5529 5740 5524 5528 5743 5990 + 6220 diff --git a/test/meshes/pi/dist_2/rpart.out b/test/meshes/pi/dist_2/rpart.out new file mode 100644 index 000000000..408ea5fe5 --- /dev/null +++ b/test/meshes/pi/dist_2/rpart.out @@ -0,0 +1,3142 @@ + 2 + 1569 1571 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + 97 + 98 + 99 + 100 + 101 + 102 + 103 + 104 + 105 + 106 + 107 + 108 + 109 + 110 + 111 + 112 + 113 + 114 + 115 + 116 + 117 + 118 + 119 + 120 + 121 + 122 + 123 + 124 + 125 + 126 + 127 + 128 + 129 + 130 + 131 + 132 + 133 + 134 + 135 + 136 + 137 + 138 + 139 + 140 + 141 + 142 + 143 + 144 + 145 + 146 + 147 + 148 + 149 + 150 + 151 + 152 + 153 + 154 + 155 + 156 + 157 + 158 + 159 + 160 + 161 + 162 + 163 + 164 + 165 + 166 + 167 + 168 + 169 + 170 + 171 + 172 + 173 + 174 + 175 + 176 + 177 + 178 + 179 + 180 + 181 + 182 + 183 + 184 + 185 + 186 + 187 + 188 + 189 + 190 + 191 + 192 + 193 + 194 + 195 + 196 + 197 + 198 + 199 + 200 + 201 + 202 + 203 + 204 + 205 + 206 + 207 + 208 + 209 + 210 + 211 + 212 + 213 + 214 + 215 + 216 + 217 + 218 + 219 + 220 + 221 + 222 + 223 + 224 + 225 + 226 + 227 + 228 + 229 + 230 + 231 + 232 + 233 + 234 + 235 + 236 + 237 + 238 + 239 + 240 + 241 + 242 + 243 + 244 + 245 + 246 + 247 + 248 + 249 + 250 + 251 + 252 + 253 + 254 + 255 + 256 + 257 + 258 + 259 + 260 + 261 + 262 + 263 + 264 + 265 + 266 + 267 + 268 + 269 + 270 + 271 + 272 + 273 + 274 + 275 + 276 + 277 + 278 + 279 + 280 + 281 + 282 + 283 + 284 + 285 + 286 + 287 + 288 + 289 + 290 + 291 + 292 + 293 + 294 + 295 + 296 + 297 + 298 + 299 + 300 + 301 + 302 + 303 + 304 + 305 + 306 + 307 + 308 + 309 + 310 + 311 + 312 + 313 + 314 + 315 + 316 + 317 + 318 + 319 + 320 + 321 + 322 + 323 + 324 + 325 + 326 + 327 + 328 + 329 + 330 + 331 + 332 + 333 + 334 + 335 + 336 + 337 + 338 + 339 + 340 + 341 + 342 + 343 + 344 + 345 + 346 + 347 + 348 + 349 + 350 + 351 + 352 + 353 + 354 + 355 + 356 + 357 + 358 + 359 + 360 + 361 + 362 + 363 + 364 + 365 + 366 + 367 + 368 + 369 + 370 + 371 + 372 + 373 + 374 + 375 + 376 + 377 + 378 + 379 + 380 + 381 + 382 + 383 + 384 + 385 + 386 + 387 + 388 + 389 + 390 + 391 + 392 + 393 + 394 + 395 + 396 + 397 + 398 + 399 + 400 + 401 + 402 + 403 + 404 + 405 + 406 + 407 + 408 + 409 + 410 + 411 + 412 + 413 + 414 + 415 + 416 + 417 + 418 + 419 + 420 + 421 + 422 + 423 + 424 + 425 + 426 + 427 + 428 + 429 + 430 + 431 + 432 + 433 + 434 + 435 + 436 + 437 + 438 + 439 + 440 + 441 + 442 + 443 + 444 + 445 + 446 + 447 + 448 + 449 + 450 + 451 + 452 + 453 + 454 + 455 + 456 + 457 + 458 + 459 + 460 + 461 + 462 + 463 + 464 + 465 + 466 + 467 + 468 + 469 + 470 + 471 + 472 + 473 + 474 + 475 + 476 + 477 + 478 + 479 + 480 + 481 + 482 + 483 + 484 + 485 + 486 + 487 + 488 + 489 + 490 + 491 + 492 + 493 + 494 + 495 + 496 + 497 + 498 + 499 + 500 + 501 + 502 + 503 + 504 + 505 + 506 + 507 + 508 + 509 + 510 + 511 + 512 + 513 + 514 + 515 + 516 + 517 + 518 + 519 + 520 + 521 + 522 + 523 + 524 + 525 + 526 + 527 + 528 + 529 + 530 + 531 + 532 + 533 + 534 + 535 + 536 + 537 + 538 + 539 + 540 + 541 + 542 + 543 + 544 + 545 + 546 + 547 + 548 + 549 + 550 + 551 + 552 + 553 + 554 + 555 + 556 + 557 + 558 + 559 + 560 + 561 + 562 + 563 + 564 + 565 + 566 + 567 + 568 + 569 + 570 + 571 + 572 + 573 + 574 + 575 + 576 + 577 + 578 + 579 + 580 + 581 + 582 + 583 + 584 + 585 + 586 + 587 + 588 + 589 + 590 + 591 + 592 + 593 + 594 + 595 + 596 + 597 + 598 + 599 + 600 + 601 + 602 + 603 + 604 + 605 + 606 + 607 + 608 + 609 + 610 + 611 + 612 + 613 + 614 + 615 + 616 + 617 + 618 + 619 + 620 + 621 + 622 + 623 + 624 + 625 + 626 + 627 + 628 + 629 + 630 + 631 + 632 + 633 + 634 + 635 + 636 + 637 + 638 + 639 + 640 + 641 + 642 + 643 + 644 + 645 + 646 + 647 + 648 + 649 + 650 + 651 + 652 + 653 + 654 + 655 + 656 + 657 + 658 + 659 + 660 + 661 + 662 + 663 + 664 + 665 + 666 + 667 + 668 + 669 + 670 + 671 + 672 + 673 + 674 + 675 + 676 + 677 + 678 + 679 + 680 + 681 + 682 + 683 + 684 + 685 + 686 + 687 + 688 + 689 + 690 + 691 + 692 + 693 + 694 + 695 + 696 + 697 + 698 + 699 + 700 + 701 + 702 + 703 + 704 + 705 + 706 + 707 + 708 + 709 + 710 + 711 + 712 + 713 + 714 + 715 + 716 + 717 + 718 + 719 + 720 + 721 + 722 + 723 + 724 + 725 + 726 + 727 + 728 + 729 + 730 + 731 + 732 + 733 + 734 + 735 + 736 + 737 + 738 + 739 + 740 + 741 + 742 + 743 + 744 + 745 + 746 + 747 + 748 + 749 + 750 + 751 + 752 + 753 + 754 + 755 + 756 + 757 + 758 + 759 + 760 + 761 + 762 + 763 + 764 + 765 + 766 + 767 + 768 + 769 + 770 + 771 + 772 + 773 + 774 + 775 + 776 + 777 + 778 + 779 + 780 + 781 + 782 + 783 + 784 + 785 + 786 + 787 + 788 + 789 + 790 + 791 + 792 + 793 + 794 + 795 + 796 + 797 + 798 + 799 + 800 + 801 + 802 + 803 + 804 + 805 + 806 + 807 + 808 + 809 + 810 + 811 + 812 + 813 + 814 + 815 + 816 + 817 + 818 + 819 + 820 + 821 + 822 + 823 + 824 + 825 + 826 + 827 + 828 + 829 + 830 + 831 + 832 + 833 + 834 + 835 + 836 + 837 + 838 + 839 + 840 + 841 + 842 + 843 + 844 + 845 + 846 + 847 + 848 + 849 + 850 + 851 + 852 + 853 + 854 + 855 + 856 + 857 + 858 + 859 + 860 + 861 + 862 + 863 + 864 + 865 + 866 + 867 + 868 + 869 + 870 + 871 + 872 + 873 + 874 + 875 + 876 + 877 + 878 + 879 + 880 + 881 + 882 + 883 + 884 + 885 + 886 + 887 + 888 + 889 + 890 + 891 + 892 + 893 + 894 + 895 + 896 + 897 + 898 + 899 + 900 + 901 + 902 + 903 + 904 + 905 + 906 + 907 + 908 + 909 + 910 + 911 + 912 + 913 + 914 + 915 + 916 + 917 + 918 + 919 + 920 + 921 + 922 + 923 + 924 + 925 + 926 + 927 + 928 + 929 + 930 + 931 + 932 + 933 + 934 + 935 + 936 + 937 + 938 + 939 + 940 + 941 + 942 + 943 + 944 + 945 + 946 + 947 + 948 + 949 + 950 + 951 + 952 + 953 + 954 + 955 + 956 + 957 + 958 + 959 + 960 + 961 + 962 + 963 + 964 + 965 + 966 + 967 + 968 + 969 + 970 + 971 + 972 + 973 + 974 + 975 + 976 + 977 + 978 + 979 + 980 + 981 + 982 + 983 + 984 + 985 + 986 + 987 + 988 + 989 + 990 + 991 + 992 + 993 + 994 + 995 + 996 + 997 + 998 + 999 + 1000 + 1001 + 1002 + 1003 + 1004 + 1005 + 1006 + 1007 + 1008 + 1009 + 1010 + 1011 + 1012 + 1013 + 1014 + 1015 + 1016 + 1017 + 1018 + 1019 + 1020 + 1021 + 1022 + 1023 + 1024 + 1025 + 1026 + 1027 + 1028 + 1029 + 1030 + 1031 + 1032 + 1033 + 1034 + 1035 + 1036 + 1037 + 1038 + 1039 + 1040 + 1041 + 1042 + 1043 + 1044 + 1045 + 1046 + 1047 + 1048 + 1049 + 1050 + 1051 + 1052 + 1053 + 1054 + 1055 + 1056 + 1057 + 1058 + 1059 + 1060 + 1061 + 1062 + 1063 + 1064 + 1065 + 1066 + 1067 + 1068 + 1069 + 1070 + 1071 + 1072 + 1073 + 1074 + 1075 + 1076 + 1077 + 1078 + 1079 + 1080 + 1081 + 1082 + 1083 + 1084 + 1085 + 1086 + 1087 + 1088 + 1089 + 1090 + 1091 + 1092 + 1093 + 1094 + 1095 + 1096 + 1097 + 1098 + 1099 + 1100 + 1101 + 1102 + 1103 + 1104 + 1105 + 1106 + 1107 + 1108 + 1109 + 1110 + 1111 + 1112 + 1113 + 1114 + 1115 + 1116 + 1117 + 1118 + 1119 + 1120 + 1121 + 1122 + 1123 + 1124 + 1125 + 1126 + 1127 + 1128 + 1129 + 1130 + 1131 + 1132 + 1133 + 1134 + 1135 + 1136 + 1137 + 1138 + 1139 + 1140 + 1141 + 1142 + 1143 + 1144 + 1145 + 1146 + 1147 + 1148 + 1149 + 1150 + 1151 + 1152 + 1153 + 1154 + 1155 + 1156 + 1157 + 1158 + 1159 + 1160 + 1161 + 1162 + 1163 + 1164 + 1165 + 1166 + 1167 + 1168 + 1169 + 1170 + 1171 + 1172 + 1173 + 1174 + 1175 + 1176 + 1177 + 1178 + 1179 + 1180 + 1181 + 1182 + 1183 + 1184 + 1185 + 1186 + 1187 + 1188 + 1189 + 1190 + 1191 + 1192 + 1193 + 1194 + 1195 + 1196 + 1197 + 1198 + 1199 + 1200 + 1201 + 1202 + 1203 + 1204 + 1205 + 1206 + 1207 + 1208 + 1209 + 1210 + 1211 + 1212 + 1213 + 1214 + 1215 + 1216 + 1217 + 1218 + 1219 + 1220 + 1221 + 1222 + 1223 + 1224 + 1225 + 1226 + 1227 + 1228 + 1229 + 1230 + 1231 + 1232 + 1233 + 1234 + 1235 + 1236 + 1237 + 1238 + 1239 + 1240 + 1241 + 1242 + 1243 + 1244 + 1245 + 1246 + 1247 + 1248 + 1249 + 1250 + 1251 + 1252 + 1253 + 1254 + 1255 + 1256 + 1257 + 1258 + 1259 + 1260 + 1261 + 1262 + 1263 + 1264 + 1265 + 1266 + 1267 + 1268 + 1269 + 1270 + 1271 + 1272 + 1273 + 1274 + 1275 + 1276 + 1277 + 1278 + 1279 + 1280 + 1281 + 1282 + 1283 + 1284 + 1285 + 1286 + 1287 + 1288 + 1289 + 1290 + 1291 + 1570 + 1292 + 1293 + 1294 + 1295 + 1296 + 1297 + 1298 + 1299 + 1300 + 1301 + 1302 + 1303 + 1304 + 1305 + 1306 + 1307 + 1308 + 1309 + 1571 + 1572 + 1573 + 1574 + 1575 + 1576 + 1577 + 1310 + 1311 + 1312 + 1313 + 1314 + 1315 + 1316 + 1317 + 1318 + 1319 + 1320 + 1321 + 1322 + 1323 + 1324 + 1325 + 1326 + 1578 + 1579 + 1580 + 1581 + 1582 + 1583 + 1584 + 1585 + 1586 + 1587 + 1588 + 1327 + 1328 + 1329 + 1330 + 1331 + 1332 + 1333 + 1334 + 1335 + 1336 + 1337 + 1338 + 1339 + 1340 + 1589 + 1590 + 1591 + 1592 + 1593 + 1594 + 1595 + 1596 + 1597 + 1598 + 1599 + 1600 + 1601 + 1602 + 1603 + 1341 + 1342 + 1343 + 1344 + 1345 + 1346 + 1347 + 1348 + 1349 + 1350 + 1351 + 1352 + 1604 + 1605 + 1606 + 1607 + 1608 + 1609 + 1610 + 1611 + 1612 + 1613 + 1614 + 1615 + 1616 + 1617 + 1618 + 1619 + 1620 + 1621 + 1622 + 1623 + 1624 + 1353 + 1354 + 1355 + 1356 + 1357 + 1358 + 1359 + 1360 + 1361 + 1362 + 1625 + 1626 + 1627 + 1628 + 1629 + 1630 + 1631 + 1632 + 1633 + 1634 + 1635 + 1636 + 1637 + 1638 + 1639 + 1640 + 1641 + 1642 + 1643 + 1644 + 1645 + 1646 + 1647 + 1648 + 1649 + 1650 + 1651 + 1652 + 1653 + 1654 + 1655 + 1363 + 1364 + 1365 + 1366 + 1367 + 1368 + 1369 + 1370 + 1371 + 1372 + 1656 + 1657 + 1658 + 1659 + 1660 + 1661 + 1662 + 1663 + 1664 + 1665 + 1666 + 1667 + 1668 + 1669 + 1670 + 1671 + 1672 + 1673 + 1674 + 1675 + 1676 + 1677 + 1678 + 1679 + 1680 + 1681 + 1682 + 1683 + 1684 + 1685 + 1686 + 1687 + 1688 + 1689 + 1690 + 1691 + 1692 + 1693 + 1373 + 1374 + 1375 + 1376 + 1377 + 1378 + 1379 + 1380 + 1381 + 1382 + 1383 + 1694 + 1695 + 1696 + 1697 + 1698 + 1699 + 1700 + 1701 + 1702 + 1703 + 1704 + 1705 + 1706 + 1707 + 1708 + 1709 + 1710 + 1384 + 1711 + 1712 + 1713 + 1714 + 1715 + 1716 + 1717 + 1718 + 1719 + 1720 + 1721 + 1722 + 1723 + 1724 + 1725 + 1726 + 1727 + 1728 + 1729 + 1730 + 1731 + 1732 + 1385 + 1386 + 1387 + 1388 + 1389 + 1390 + 1391 + 1392 + 1393 + 1394 + 1395 + 1396 + 1397 + 1398 + 1399 + 1400 + 1401 + 1402 + 1733 + 1734 + 1735 + 1736 + 1737 + 1738 + 1739 + 1740 + 1741 + 1742 + 1743 + 1744 + 1745 + 1746 + 1747 + 1748 + 1749 + 1750 + 1403 + 1751 + 1752 + 1753 + 1754 + 1755 + 1756 + 1757 + 1758 + 1759 + 1760 + 1761 + 1762 + 1763 + 1764 + 1765 + 1766 + 1767 + 1768 + 1769 + 1770 + 1771 + 1772 + 1773 + 1774 + 1404 + 1405 + 1406 + 1407 + 1408 + 1775 + 1776 + 1409 + 1410 + 1411 + 1412 + 1413 + 1414 + 1415 + 1416 + 1417 + 1418 + 1419 + 1420 + 1421 + 1422 + 1423 + 1424 + 1425 + 1426 + 1427 + 1428 + 1429 + 1777 + 1778 + 1779 + 1780 + 1781 + 1782 + 1783 + 1784 + 1785 + 1786 + 1787 + 1788 + 1789 + 1790 + 1791 + 1792 + 1793 + 1794 + 1795 + 1796 + 1797 + 1798 + 1799 + 1800 + 1801 + 1802 + 1803 + 1804 + 1805 + 1806 + 1807 + 1808 + 1809 + 1810 + 1811 + 1812 + 1813 + 1814 + 1815 + 1816 + 1817 + 1430 + 1431 + 1432 + 1433 + 1434 + 1435 + 1818 + 1436 + 1437 + 1438 + 1439 + 1440 + 1441 + 1442 + 1443 + 1444 + 1445 + 1446 + 1447 + 1448 + 1449 + 1450 + 1451 + 1452 + 1453 + 1819 + 1820 + 1821 + 1822 + 1823 + 1824 + 1825 + 1826 + 1827 + 1828 + 1829 + 1830 + 1831 + 1832 + 1833 + 1834 + 1835 + 1836 + 1837 + 1838 + 1839 + 1840 + 1841 + 1842 + 1843 + 1844 + 1845 + 1846 + 1847 + 1848 + 1849 + 1850 + 1851 + 1852 + 1853 + 1854 + 1855 + 1856 + 1454 + 1455 + 1456 + 1457 + 1458 + 1459 + 1460 + 1461 + 1462 + 1463 + 1464 + 1465 + 1466 + 1467 + 1468 + 1469 + 1470 + 1471 + 1472 + 1473 + 1474 + 1475 + 1857 + 1858 + 1859 + 1860 + 1861 + 1862 + 1863 + 1864 + 1865 + 1866 + 1867 + 1868 + 1869 + 1870 + 1871 + 1872 + 1873 + 1874 + 1875 + 1876 + 1877 + 1878 + 1879 + 1880 + 1881 + 1882 + 1883 + 1884 + 1885 + 1886 + 1887 + 1888 + 1889 + 1890 + 1891 + 1892 + 1893 + 1894 + 1476 + 1477 + 1478 + 1479 + 1480 + 1481 + 1482 + 1483 + 1484 + 1485 + 1486 + 1487 + 1488 + 1489 + 1490 + 1491 + 1492 + 1493 + 1494 + 1495 + 1496 + 1497 + 1895 + 1896 + 1897 + 1898 + 1899 + 1900 + 1901 + 1902 + 1903 + 1904 + 1905 + 1906 + 1907 + 1908 + 1909 + 1910 + 1911 + 1912 + 1913 + 1914 + 1915 + 1916 + 1917 + 1918 + 1919 + 1920 + 1921 + 1922 + 1923 + 1924 + 1925 + 1926 + 1927 + 1928 + 1929 + 1930 + 1931 + 1932 + 1933 + 1498 + 1499 + 1500 + 1501 + 1502 + 1503 + 1504 + 1505 + 1506 + 1507 + 1508 + 1509 + 1510 + 1511 + 1512 + 1513 + 1514 + 1515 + 1516 + 1517 + 1518 + 1934 + 1935 + 1936 + 1937 + 1938 + 1939 + 1940 + 1941 + 1942 + 1943 + 1944 + 1945 + 1946 + 1947 + 1948 + 1949 + 1950 + 1951 + 1952 + 1953 + 1954 + 1955 + 1956 + 1957 + 1958 + 1959 + 1960 + 1961 + 1962 + 1963 + 1964 + 1965 + 1966 + 1967 + 1968 + 1969 + 1970 + 1971 + 1972 + 1973 + 1974 + 1975 + 1976 + 1977 + 1978 + 1979 + 1980 + 1981 + 1982 + 1519 + 1520 + 1521 + 1522 + 1523 + 1524 + 1525 + 1526 + 1527 + 1528 + 1529 + 1530 + 1531 + 1532 + 1533 + 1534 + 1535 + 1536 + 1537 + 1983 + 1984 + 1985 + 1986 + 1987 + 1988 + 1989 + 1990 + 1991 + 1992 + 1993 + 1994 + 1995 + 1996 + 1997 + 1998 + 1999 + 2000 + 2001 + 2002 + 2003 + 2004 + 2005 + 2006 + 2007 + 2008 + 2009 + 2010 + 2011 + 2012 + 2013 + 2014 + 2015 + 2016 + 2017 + 2018 + 2019 + 2020 + 2021 + 2022 + 2023 + 2024 + 2025 + 2026 + 2027 + 2028 + 2029 + 2030 + 2031 + 2032 + 2033 + 2034 + 2035 + 2036 + 2037 + 2038 + 2039 + 2040 + 2041 + 2042 + 2043 + 2044 + 2045 + 2046 + 1538 + 1539 + 1540 + 1541 + 1542 + 1543 + 1544 + 1545 + 1546 + 1547 + 1548 + 1549 + 1550 + 1551 + 1552 + 1553 + 1554 + 2047 + 2048 + 2049 + 2050 + 2051 + 2052 + 2053 + 2054 + 2055 + 2056 + 2057 + 2058 + 2059 + 2060 + 2061 + 2062 + 2063 + 2064 + 2065 + 2066 + 2067 + 2068 + 2069 + 2070 + 2071 + 2072 + 2073 + 2074 + 2075 + 2076 + 2077 + 2078 + 2079 + 2080 + 2081 + 2082 + 2083 + 2084 + 2085 + 2086 + 2087 + 2088 + 2089 + 2090 + 2091 + 2092 + 2093 + 2094 + 2095 + 2096 + 2097 + 2098 + 2099 + 2100 + 2101 + 2102 + 2103 + 2104 + 2105 + 2106 + 2107 + 2108 + 2109 + 2110 + 2111 + 2112 + 2113 + 2114 + 2115 + 2116 + 2117 + 2118 + 2119 + 2120 + 2121 + 1555 + 1556 + 1557 + 1558 + 1559 + 1560 + 1561 + 1562 + 2122 + 2123 + 2124 + 2125 + 2126 + 2127 + 2128 + 2129 + 2130 + 2131 + 2132 + 2133 + 2134 + 2135 + 2136 + 2137 + 2138 + 2139 + 2140 + 2141 + 2142 + 2143 + 2144 + 2145 + 2146 + 2147 + 2148 + 2149 + 2150 + 2151 + 2152 + 2153 + 2154 + 2155 + 2156 + 2157 + 2158 + 2159 + 2160 + 2161 + 2162 + 2163 + 2164 + 2165 + 2166 + 2167 + 2168 + 2169 + 2170 + 2171 + 2172 + 2173 + 2174 + 2175 + 2176 + 2177 + 2178 + 2179 + 2180 + 2181 + 2182 + 2183 + 2184 + 2185 + 2186 + 2187 + 2188 + 2189 + 2190 + 2191 + 2192 + 2193 + 2194 + 2195 + 2196 + 2197 + 2198 + 2199 + 2200 + 2201 + 2202 + 2203 + 2204 + 1563 + 1564 + 1565 + 1566 + 1567 + 2205 + 2206 + 2207 + 2208 + 2209 + 2210 + 2211 + 2212 + 2213 + 2214 + 2215 + 2216 + 2217 + 2218 + 2219 + 2220 + 2221 + 2222 + 2223 + 2224 + 2225 + 2226 + 2227 + 2228 + 2229 + 2230 + 2231 + 2232 + 2233 + 2234 + 2235 + 2236 + 2237 + 2238 + 2239 + 2240 + 2241 + 2242 + 2243 + 2244 + 2245 + 2246 + 2247 + 2248 + 2249 + 2250 + 2251 + 2252 + 2253 + 2254 + 2255 + 2256 + 2257 + 2258 + 2259 + 2260 + 2261 + 2262 + 2263 + 2264 + 2265 + 2266 + 2267 + 2268 + 2269 + 2270 + 2271 + 2272 + 2273 + 2274 + 2275 + 2276 + 2277 + 2278 + 2279 + 2280 + 2281 + 2282 + 2283 + 2284 + 2285 + 2286 + 2287 + 1568 + 1569 + 2288 + 2289 + 2290 + 2291 + 2292 + 2293 + 2294 + 2295 + 2296 + 2297 + 2298 + 2299 + 2300 + 2301 + 2302 + 2303 + 2304 + 2305 + 2306 + 2307 + 2308 + 2309 + 2310 + 2311 + 2312 + 2313 + 2314 + 2315 + 2316 + 2317 + 2318 + 2319 + 2320 + 2321 + 2322 + 2323 + 2324 + 2325 + 2326 + 2327 + 2328 + 2329 + 2330 + 2331 + 2332 + 2333 + 2334 + 2335 + 2336 + 2337 + 2338 + 2339 + 2340 + 2341 + 2342 + 2343 + 2344 + 2345 + 2346 + 2347 + 2348 + 2349 + 2350 + 2351 + 2352 + 2353 + 2354 + 2355 + 2356 + 2357 + 2358 + 2359 + 2360 + 2361 + 2362 + 2363 + 2364 + 2365 + 2366 + 2367 + 2368 + 2369 + 2370 + 2371 + 2372 + 2373 + 2374 + 2375 + 2376 + 2377 + 2378 + 2379 + 2380 + 2381 + 2382 + 2383 + 2384 + 2385 + 2386 + 2387 + 2388 + 2389 + 2390 + 2391 + 2392 + 2393 + 2394 + 2395 + 2396 + 2397 + 2398 + 2399 + 2400 + 2401 + 2402 + 2403 + 2404 + 2405 + 2406 + 2407 + 2408 + 2409 + 2410 + 2411 + 2412 + 2413 + 2414 + 2415 + 2416 + 2417 + 2418 + 2419 + 2420 + 2421 + 2422 + 2423 + 2424 + 2425 + 2426 + 2427 + 2428 + 2429 + 2430 + 2431 + 2432 + 2433 + 2434 + 2435 + 2436 + 2437 + 2438 + 2439 + 2440 + 2441 + 2442 + 2443 + 2444 + 2445 + 2446 + 2447 + 2448 + 2449 + 2450 + 2451 + 2452 + 2453 + 2454 + 2455 + 2456 + 2457 + 2458 + 2459 + 2460 + 2461 + 2462 + 2463 + 2464 + 2465 + 2466 + 2467 + 2468 + 2469 + 2470 + 2471 + 2472 + 2473 + 2474 + 2475 + 2476 + 2477 + 2478 + 2479 + 2480 + 2481 + 2482 + 2483 + 2484 + 2485 + 2486 + 2487 + 2488 + 2489 + 2490 + 2491 + 2492 + 2493 + 2494 + 2495 + 2496 + 2497 + 2498 + 2499 + 2500 + 2501 + 2502 + 2503 + 2504 + 2505 + 2506 + 2507 + 2508 + 2509 + 2510 + 2511 + 2512 + 2513 + 2514 + 2515 + 2516 + 2517 + 2518 + 2519 + 2520 + 2521 + 2522 + 2523 + 2524 + 2525 + 2526 + 2527 + 2528 + 2529 + 2530 + 2531 + 2532 + 2533 + 2534 + 2535 + 2536 + 2537 + 2538 + 2539 + 2540 + 2541 + 2542 + 2543 + 2544 + 2545 + 2546 + 2547 + 2548 + 2549 + 2550 + 2551 + 2552 + 2553 + 2554 + 2555 + 2556 + 2557 + 2558 + 2559 + 2560 + 2561 + 2562 + 2563 + 2564 + 2565 + 2566 + 2567 + 2568 + 2569 + 2570 + 2571 + 2572 + 2573 + 2574 + 2575 + 2576 + 2577 + 2578 + 2579 + 2580 + 2581 + 2582 + 2583 + 2584 + 2585 + 2586 + 2587 + 2588 + 2589 + 2590 + 2591 + 2592 + 2593 + 2594 + 2595 + 2596 + 2597 + 2598 + 2599 + 2600 + 2601 + 2602 + 2603 + 2604 + 2605 + 2606 + 2607 + 2608 + 2609 + 2610 + 2611 + 2612 + 2613 + 2614 + 2615 + 2616 + 2617 + 2618 + 2619 + 2620 + 2621 + 2622 + 2623 + 2624 + 2625 + 2626 + 2627 + 2628 + 2629 + 2630 + 2631 + 2632 + 2633 + 2634 + 2635 + 2636 + 2637 + 2638 + 2639 + 2640 + 2641 + 2642 + 2643 + 2644 + 2645 + 2646 + 2647 + 2648 + 2649 + 2650 + 2651 + 2652 + 2653 + 2654 + 2655 + 2656 + 2657 + 2658 + 2659 + 2660 + 2661 + 2662 + 2663 + 2664 + 2665 + 2666 + 2667 + 2668 + 2669 + 2670 + 2671 + 2672 + 2673 + 2674 + 2675 + 2676 + 2677 + 2678 + 2679 + 2680 + 2681 + 2682 + 2683 + 2684 + 2685 + 2686 + 2687 + 2688 + 2689 + 2690 + 2691 + 2692 + 2693 + 2694 + 2695 + 2696 + 2697 + 2698 + 2699 + 2700 + 2701 + 2702 + 2703 + 2704 + 2705 + 2706 + 2707 + 2708 + 2709 + 2710 + 2711 + 2712 + 2713 + 2714 + 2715 + 2716 + 2717 + 2718 + 2719 + 2720 + 2721 + 2722 + 2723 + 2724 + 2725 + 2726 + 2727 + 2728 + 2729 + 2730 + 2731 + 2732 + 2733 + 2734 + 2735 + 2736 + 2737 + 2738 + 2739 + 2740 + 2741 + 2742 + 2743 + 2744 + 2745 + 2746 + 2747 + 2748 + 2749 + 2750 + 2751 + 2752 + 2753 + 2754 + 2755 + 2756 + 2757 + 2758 + 2759 + 2760 + 2761 + 2762 + 2763 + 2764 + 2765 + 2766 + 2767 + 2768 + 2769 + 2770 + 2771 + 2772 + 2773 + 2774 + 2775 + 2776 + 2777 + 2778 + 2779 + 2780 + 2781 + 2782 + 2783 + 2784 + 2785 + 2786 + 2787 + 2788 + 2789 + 2790 + 2791 + 2792 + 2793 + 2794 + 2795 + 2796 + 2797 + 2798 + 2799 + 2800 + 2801 + 2802 + 2803 + 2804 + 2805 + 2806 + 2807 + 2808 + 2809 + 2810 + 2811 + 2812 + 2813 + 2814 + 2815 + 2816 + 2817 + 2818 + 2819 + 2820 + 2821 + 2822 + 2823 + 2824 + 2825 + 2826 + 2827 + 2828 + 2829 + 2830 + 2831 + 2832 + 2833 + 2834 + 2835 + 2836 + 2837 + 2838 + 2839 + 2840 + 2841 + 2842 + 2843 + 2844 + 2845 + 2846 + 2847 + 2848 + 2849 + 2850 + 2851 + 2852 + 2853 + 2854 + 2855 + 2856 + 2857 + 2858 + 2859 + 2860 + 2861 + 2862 + 2863 + 2864 + 2865 + 2866 + 2867 + 2868 + 2869 + 2870 + 2871 + 2872 + 2873 + 2874 + 2875 + 2876 + 2877 + 2878 + 2879 + 2880 + 2881 + 2882 + 2883 + 2884 + 2885 + 2886 + 2887 + 2888 + 2889 + 2890 + 2891 + 2892 + 2893 + 2894 + 2895 + 2896 + 2897 + 2898 + 2899 + 2900 + 2901 + 2902 + 2903 + 2904 + 2905 + 2906 + 2907 + 2908 + 2909 + 2910 + 2911 + 2912 + 2913 + 2914 + 2915 + 2916 + 2917 + 2918 + 2919 + 2920 + 2921 + 2922 + 2923 + 2924 + 2925 + 2926 + 2927 + 2928 + 2929 + 2930 + 2931 + 2932 + 2933 + 2934 + 2935 + 2936 + 2937 + 2938 + 2939 + 2940 + 2941 + 2942 + 2943 + 2944 + 2945 + 2946 + 2947 + 2948 + 2949 + 2950 + 2951 + 2952 + 2953 + 2954 + 2955 + 2956 + 2957 + 2958 + 2959 + 2960 + 2961 + 2962 + 2963 + 2964 + 2965 + 2966 + 2967 + 2968 + 2969 + 2970 + 2971 + 2972 + 2973 + 2974 + 2975 + 2976 + 2977 + 2978 + 2979 + 2980 + 2981 + 2982 + 2983 + 2984 + 2985 + 2986 + 2987 + 2988 + 2989 + 2990 + 2991 + 2992 + 2993 + 2994 + 2995 + 2996 + 2997 + 2998 + 2999 + 3000 + 3001 + 3002 + 3003 + 3004 + 3005 + 3006 + 3007 + 3008 + 3009 + 3010 + 3011 + 3012 + 3013 + 3014 + 3015 + 3016 + 3017 + 3018 + 3019 + 3020 + 3021 + 3022 + 3023 + 3024 + 3025 + 3026 + 3027 + 3028 + 3029 + 3030 + 3031 + 3032 + 3033 + 3034 + 3035 + 3036 + 3037 + 3038 + 3039 + 3040 + 3041 + 3042 + 3043 + 3044 + 3045 + 3046 + 3047 + 3048 + 3049 + 3050 + 3051 + 3052 + 3053 + 3054 + 3055 + 3056 + 3057 + 3058 + 3059 + 3060 + 3061 + 3062 + 3063 + 3064 + 3065 + 3066 + 3067 + 3068 + 3069 + 3070 + 3071 + 3072 + 3073 + 3074 + 3075 + 3076 + 3077 + 3078 + 3079 + 3080 + 3081 + 3082 + 3083 + 3084 + 3085 + 3086 + 3087 + 3088 + 3089 + 3090 + 3091 + 3092 + 3093 + 3094 + 3095 + 3096 + 3097 + 3098 + 3099 + 3100 + 3101 + 3102 + 3103 + 3104 + 3105 + 3106 + 3107 + 3108 + 3109 + 3110 + 3111 + 3112 + 3113 + 3114 + 3115 + 3116 + 3117 + 3118 + 3119 + 3120 + 3121 + 3122 + 3123 + 3124 + 3125 + 3126 + 3127 + 3128 + 3129 + 3130 + 3131 + 3132 + 3133 + 3134 + 3135 + 3136 + 3137 + 3138 + 3139 + 3140 diff --git a/test/meshes/pi/dist_8/com_info00000.out b/test/meshes/pi/dist_8/com_info00000.out new file mode 100644 index 000000000..a403f20ff --- /dev/null +++ b/test/meshes/pi/dist_8/com_info00000.out @@ -0,0 +1,58 @@ + 0 + 2 + 1 2 + 1 14 29 + 393 394 395 396 397 398 + 399 400 401 402 403 404 + 405 406 407 408 409 410 + 411 412 413 414 415 416 + 417 418 419 420 + 2 + 1 2 + 1 14 28 + 1 2 5 10 16 385 + 386 387 388 389 390 391 + 392 35 40 42 53 64 + 73 80 85 90 91 93 + 94 95 114 + 2 + 1 2 + 1 12 26 + 750 751 752 753 754 755 + 756 757 758 759 760 761 + 762 763 764 765 766 767 + 768 769 770 771 772 773 + 774 + 2 + 1 2 + 1 12 25 + 6 11 12 33 714 732 + 733 734 739 740 741 74 + 75 99 100 119 168 180 + 181 185 187 208 222 226 + 2 + 1 2 + 1 30 62 + 775 776 777 750 751 778 + 779 752 780 781 753 754 + 782 755 756 783 784 785 + 757 786 758 787 759 788 + 789 790 791 760 792 793 + 794 761 762 763 795 796 + 797 798 764 799 765 800 + 801 766 767 802 803 768 + 804 769 805 806 770 771 + 807 772 773 808 809 810 + 774 + 2 + 1 2 + 1 25 52 + 5 6 9 11 12 17 + 19 32 33 714 715 716 + 723 724 728 729 731 732 + 733 734 738 739 740 741 + 63 74 75 97 98 99 + 100 119 123 126 168 178 + 179 180 181 183 185 187 + 201 207 208 216 221 222 + 223 226 265 diff --git a/test/meshes/pi/dist_8/com_info00001.out b/test/meshes/pi/dist_8/com_info00001.out new file mode 100644 index 000000000..e75114e2f --- /dev/null +++ b/test/meshes/pi/dist_8/com_info00001.out @@ -0,0 +1,63 @@ + 1 + 4 + 0 3 4 6 + 1 14 17 30 34 + 394 395 396 397 398 399 + 400 401 402 403 404 405 + 406 407 408 409 410 411 + 412 413 414 415 416 417 + 418 419 420 421 422 423 + 424 425 426 + 4 + 0 3 4 6 + 1 14 17 31 35 + 170 171 181 189 190 192 + 193 194 195 197 200 201 + 202 185 188 191 361 362 + 363 373 374 375 376 377 + 378 379 380 387 392 393 + 227 233 259 282 + 4 + 0 3 4 6 + 1 12 14 26 29 + 745 746 747 748 749 750 + 751 752 753 754 755 756 + 757 758 759 760 761 762 + 763 764 765 766 767 768 + 769 770 771 772 + 4 + 0 3 4 6 + 1 12 14 27 30 + 304 305 326 342 354 359 + 360 371 373 375 399 333 + 345 655 667 671 675 677 + 696 698 700 701 704 707 + 733 743 427 475 478 + 4 + 0 3 4 6 + 1 25 30 54 61 + 773 745 774 746 747 775 + 776 777 748 749 778 779 + 780 781 782 783 784 750 + 751 752 785 753 754 755 + 756 786 757 787 788 789 + 758 759 790 760 761 791 + 792 762 793 763 794 764 + 765 795 766 796 767 768 + 797 798 769 799 800 770 + 801 771 802 803 772 804 + 4 + 0 3 4 6 + 1 30 34 64 73 + 289 291 292 304 305 308 + 325 326 327 329 342 354 + 356 359 360 362 366 369 + 371 372 373 374 375 382 + 383 389 397 399 402 333 + 336 338 345 631 636 654 + 655 659 660 662 665 667 + 669 671 673 675 677 695 + 696 697 698 700 701 704 + 705 707 711 731 733 738 + 739 742 743 412 414 427 + 475 478 479 519 520 526 diff --git a/test/meshes/pi/dist_8/com_info00002.out b/test/meshes/pi/dist_8/com_info00002.out new file mode 100644 index 000000000..63f5e2713 --- /dev/null +++ b/test/meshes/pi/dist_8/com_info00002.out @@ -0,0 +1,63 @@ + 2 + 2 + 0 3 + 1 15 32 + 394 395 396 397 398 399 + 400 401 402 403 404 405 + 406 407 408 409 410 411 + 412 413 414 415 416 417 + 418 419 420 421 422 423 + 424 + 2 + 0 3 + 1 16 33 + 307 325 328 351 370 371 + 377 384 385 386 387 388 + 389 390 393 110 130 141 + 142 161 171 173 177 180 + 194 203 204 205 206 207 + 226 249 + 2 + 0 3 + 1 14 29 + 763 764 765 766 767 768 + 769 770 771 772 773 774 + 775 776 777 778 779 780 + 781 782 783 784 785 786 + 787 788 789 790 + 2 + 0 3 + 1 15 30 + 586 619 622 704 706 710 + 714 720 731 737 738 743 + 745 761 179 204 245 269 + 272 285 292 311 335 336 + 339 396 398 432 435 + 2 + 0 3 + 1 28 61 + 791 763 764 792 793 765 + 766 767 794 795 768 796 + 797 769 770 798 771 772 + 799 800 773 801 802 774 + 803 775 804 776 805 806 + 777 807 808 778 779 809 + 780 810 811 781 782 812 + 813 783 784 814 815 785 + 816 786 817 787 818 788 + 789 819 790 820 821 822 + 2 + 0 3 + 1 33 68 + 546 547 586 619 622 626 + 665 668 683 704 705 706 + 708 709 710 714 716 719 + 720 721 731 733 735 737 + 738 742 743 745 746 747 + 750 761 179 204 206 208 + 209 245 247 248 269 271 + 272 274 275 276 283 285 + 292 293 311 313 335 336 + 337 339 341 342 346 347 + 372 396 398 432 435 481 + 482 diff --git a/test/meshes/pi/dist_8/com_info00003.out b/test/meshes/pi/dist_8/com_info00003.out new file mode 100644 index 000000000..31bb55d30 --- /dev/null +++ b/test/meshes/pi/dist_8/com_info00003.out @@ -0,0 +1,51 @@ + 3 + 3 + 1 2 7 + 1 4 21 24 + 392 393 394 395 396 397 + 398 399 400 401 402 403 + 404 405 406 407 408 409 + 410 411 412 413 414 + 3 + 1 2 7 + 1 4 21 24 + 50 76 104 1 2 3 + 5 9 15 20 27 28 + 29 30 31 42 44 45 + 46 48 389 390 391 + 3 + 1 2 7 + 1 3 18 20 + 742 743 744 745 746 747 + 748 749 750 751 752 753 + 754 755 756 757 758 759 + 760 + 3 + 1 2 7 + 1 3 18 20 + 110 202 4 13 21 22 + 37 46 59 70 71 94 + 96 98 102 104 107 729 + 741 + 3 + 1 2 7 + 1 5 40 45 + 742 761 762 743 744 745 + 763 764 765 746 766 767 + 747 768 748 769 770 771 + 772 749 750 773 751 774 + 752 753 775 754 776 777 + 778 779 780 755 756 757 + 758 781 782 783 759 784 + 785 760 + 3 + 1 2 7 + 1 6 39 46 + 110 157 202 203 206 4 + 8 10 13 18 20 21 + 22 25 37 39 45 46 + 59 65 67 70 71 74 + 80 94 95 96 97 98 + 99 102 104 105 107 133 + 135 142 728 729 731 733 + 735 736 741 diff --git a/test/meshes/pi/dist_8/com_info00004.out b/test/meshes/pi/dist_8/com_info00004.out new file mode 100644 index 000000000..f1ace9690 --- /dev/null +++ b/test/meshes/pi/dist_8/com_info00004.out @@ -0,0 +1,61 @@ + 4 + 3 + 1 5 7 + 1 15 29 32 + 393 394 395 396 397 398 + 399 400 401 402 403 404 + 405 406 407 408 409 410 + 411 412 413 414 415 416 + 417 418 419 420 421 422 + 423 + 3 + 1 5 7 + 1 14 28 31 + 7 22 23 24 25 26 + 27 28 29 54 55 90 + 126 329 346 348 363 364 + 368 378 379 380 381 383 + 388 391 392 130 131 132 + 3 + 1 5 7 + 1 14 27 29 + 756 757 758 759 760 761 + 762 763 764 765 766 767 + 768 769 770 771 772 773 + 774 775 776 777 778 779 + 780 781 782 783 + 3 + 1 5 7 + 1 13 26 28 + 46 49 53 54 61 97 + 103 106 108 113 157 164 + 624 653 658 660 667 694 + 696 705 726 729 731 745 + 748 241 320 + 3 + 1 5 7 + 1 31 59 65 + 784 785 786 756 787 788 + 789 790 757 791 758 792 + 759 760 793 761 794 762 + 763 764 765 795 766 796 + 797 767 798 799 800 768 + 801 769 802 803 770 771 + 804 805 772 806 773 774 + 807 775 808 776 809 777 + 810 778 811 779 812 813 + 780 814 781 815 816 817 + 818 819 782 783 + 3 + 1 5 7 + 1 25 53 58 + 42 46 49 50 53 54 + 55 58 61 63 97 102 + 103 106 107 108 111 113 + 157 158 163 164 165 228 + 588 624 625 626 653 658 + 659 660 665 667 689 694 + 696 697 699 705 706 719 + 723 724 726 729 730 731 + 745 748 749 750 239 241 + 320 321 323 diff --git a/test/meshes/pi/dist_8/com_info00005.out b/test/meshes/pi/dist_8/com_info00005.out new file mode 100644 index 000000000..a49579dfd --- /dev/null +++ b/test/meshes/pi/dist_8/com_info00005.out @@ -0,0 +1,70 @@ + 5 + 3 + 4 6 7 + 1 15 31 39 + 394 395 396 397 398 399 + 400 401 402 403 404 405 + 406 407 408 409 410 411 + 412 413 414 415 416 417 + 418 419 420 421 422 423 + 424 425 426 427 428 429 + 430 431 + 3 + 4 6 7 + 1 15 30 38 + 89 120 152 156 185 209 + 210 211 236 237 239 240 + 270 295 7 8 18 20 + 26 32 37 39 40 41 + 42 43 45 50 51 1 + 2 3 4 5 6 10 + 19 + 3 + 4 6 7 + 1 14 29 36 + 783 784 785 786 787 788 + 789 790 791 792 793 794 + 795 796 797 798 799 800 + 801 802 803 804 805 806 + 807 808 809 810 811 812 + 813 814 815 816 817 + 3 + 4 6 7 + 1 14 28 35 + 188 309 310 320 434 436 + 443 484 487 490 494 545 + 550 26 47 48 56 79 + 95 98 107 117 127 143 + 145 146 165 13 15 16 + 20 28 35 63 + 3 + 4 6 7 + 1 29 62 76 + 818 783 819 820 784 785 + 821 786 822 787 823 788 + 789 824 825 790 826 827 + 828 829 791 792 830 793 + 794 795 831 832 833 834 + 835 836 796 797 837 798 + 838 799 839 840 800 841 + 842 843 844 845 801 802 + 803 846 804 847 848 805 + 806 807 849 808 809 850 + 810 851 852 811 853 854 + 855 812 813 814 856 815 + 816 817 857 + 3 + 4 6 7 + 1 29 58 72 + 187 188 189 246 309 310 + 313 318 320 433 434 436 + 437 443 445 484 485 487 + 488 490 493 494 500 538 + 545 549 550 600 26 43 + 47 48 55 56 58 67 + 77 79 88 89 94 95 + 98 101 103 107 114 115 + 117 127 141 143 144 145 + 146 154 165 12 13 15 + 16 18 20 28 30 33 + 35 36 40 49 63 diff --git a/test/meshes/pi/dist_8/com_info00006.out b/test/meshes/pi/dist_8/com_info00006.out new file mode 100644 index 000000000..1aea0e9d9 --- /dev/null +++ b/test/meshes/pi/dist_8/com_info00006.out @@ -0,0 +1,71 @@ + 6 + 3 + 1 5 7 + 1 5 20 38 + 394 395 396 397 398 399 + 400 401 402 403 404 405 + 406 407 408 409 410 411 + 412 413 414 415 416 417 + 418 419 420 421 422 423 + 424 425 426 427 428 429 + 430 + 3 + 1 5 7 + 1 5 21 40 + 36 48 60 72 358 364 + 378 381 382 383 384 385 + 386 387 388 389 390 391 + 392 393 3 9 22 40 + 66 89 109 128 146 171 + 201 229 252 258 259 267 + 268 275 292 + 3 + 1 5 7 + 1 4 18 35 + 773 774 775 776 777 778 + 779 780 781 782 783 784 + 785 786 787 788 789 790 + 791 792 793 794 795 796 + 797 798 799 800 801 802 + 803 804 805 806 + 3 + 1 5 7 + 1 4 19 37 + 66 93 113 705 706 710 + 714 719 732 734 737 743 + 746 748 750 753 754 759 + 9 36 75 87 117 169 + 207 243 275 326 379 484 + 511 513 515 539 549 551 + 3 + 1 5 7 + 1 10 39 74 + 807 808 773 774 775 809 + 810 811 812 776 813 777 + 778 814 779 815 816 817 + 780 818 819 820 781 782 + 821 822 783 823 824 784 + 785 825 786 826 787 788 + 827 789 790 828 829 791 + 792 830 793 831 832 794 + 833 834 795 796 835 797 + 798 836 799 837 838 800 + 839 801 840 802 803 841 + 804 842 843 805 844 806 + 845 + 3 + 1 5 7 + 1 8 41 79 + 66 92 93 110 111 113 + 114 686 695 700 702 705 + 706 707 710 713 714 715 + 716 719 721 722 723 724 + 725 732 734 737 740 743 + 744 745 746 748 750 751 + 753 754 757 759 2 9 + 13 25 36 46 75 87 + 117 118 125 169 171 207 + 243 245 275 276 279 326 + 379 380 436 483 484 493 + 511 513 514 515 530 539 + 549 550 551 566 567 568 diff --git a/test/meshes/pi/dist_8/com_info00007.out b/test/meshes/pi/dist_8/com_info00007.out new file mode 100644 index 000000000..a43dfcc2e --- /dev/null +++ b/test/meshes/pi/dist_8/com_info00007.out @@ -0,0 +1,62 @@ + 7 + 4 + 3 4 5 6 + 1 4 7 15 34 + 394 395 396 397 398 399 + 400 401 402 403 404 405 + 406 407 408 409 410 411 + 412 413 414 415 416 417 + 418 419 420 421 422 423 + 424 425 426 + 4 + 3 4 5 6 + 1 4 7 15 33 + 1 2 7 355 356 357 + 384 385 386 387 388 389 + 392 393 72 103 130 154 + 173 190 210 230 250 274 + 301 326 327 328 334 346 + 348 354 + 4 + 3 4 5 6 + 1 3 5 12 30 + 761 762 763 764 765 766 + 767 768 769 770 771 772 + 773 774 775 776 777 778 + 779 780 781 782 783 784 + 785 786 787 788 789 + 4 + 3 4 5 6 + 1 3 5 12 29 + 6 12 683 684 726 740 + 741 742 747 748 749 123 + 178 232 282 353 393 394 + 434 473 522 574 578 619 + 620 623 668 678 + 4 + 3 4 5 6 + 1 8 13 27 65 + 790 761 791 792 793 794 + 762 795 763 764 796 797 + 798 765 766 767 799 768 + 769 800 801 770 802 803 + 804 771 805 772 806 807 + 773 808 774 775 776 809 + 810 777 811 778 779 812 + 780 813 814 781 782 815 + 816 817 783 818 784 785 + 819 786 820 787 788 821 + 789 822 823 824 + 4 + 3 4 5 6 + 1 6 12 26 61 + 5 6 9 11 12 640 + 642 643 647 683 684 723 + 725 726 728 736 739 740 + 741 742 744 747 748 749 + 758 123 176 177 178 232 + 281 282 320 352 353 391 + 392 393 394 433 434 473 + 475 522 526 573 574 575 + 578 579 619 620 621 623 + 627 638 668 669 678 707 diff --git a/test/meshes/pi/dist_8/my_list00000.out b/test/meshes/pi/dist_8/my_list00000.out new file mode 100644 index 000000000..8e52a9beb --- /dev/null +++ b/test/meshes/pi/dist_8/my_list00000.out @@ -0,0 +1,408 @@ + 0 + 392 + 28 + 367 418 423 424 427 480 + 486 487 488 490 538 539 + 545 546 547 548 589 590 + 591 599 600 601 642 643 + 644 645 655 656 696 697 + 698 699 709 710 711 712 + 752 753 754 756 757 759 + 763 764 765 766 804 805 + 806 807 809 810 811 812 + 815 816 817 818 819 858 + 859 860 861 862 863 864 + 865 866 869 870 871 872 + 875 908 909 910 911 912 + 913 914 915 916 917 918 + 919 920 921 922 923 924 + 925 926 927 928 929 955 + 956 957 958 959 960 961 + 962 963 964 965 966 967 + 968 969 970 971 972 973 + 974 975 976 997 998 999 + 1000 1001 1002 1003 1004 1005 + 1006 1007 1008 1009 1010 1011 + 1012 1013 1014 1015 1016 1017 + 1018 1019 1020 1021 1022 1023 + 1044 1045 1046 1047 1048 1049 + 1050 1051 1052 1053 1054 1055 + 1056 1057 1058 1059 1060 1061 + 1062 1063 1064 1065 1066 1067 + 1068 1069 1070 1071 1072 1073 + 1074 1075 1093 1094 1095 1096 + 1097 1098 1099 1100 1101 1102 + 1103 1104 1105 1106 1107 1108 + 1109 1110 1111 1112 1113 1114 + 1115 1116 1117 1118 1119 1120 + 1121 1137 1138 1139 1140 1141 + 1142 1143 1144 1145 1146 1147 + 1148 1149 1150 1151 1152 1153 + 1154 1155 1156 1157 1158 1159 + 1160 1161 1162 1163 1164 1165 + 1180 1181 1182 1183 1184 1185 + 1186 1187 1188 1189 1190 1191 + 1192 1193 1194 1195 1196 1197 + 1198 1199 1200 1201 1202 1203 + 1216 1217 1218 1219 1220 1221 + 1222 1223 1224 1225 1226 1227 + 1228 1229 1230 1231 1232 1233 + 1234 1235 1236 1237 1247 1248 + 1249 1250 1251 1252 1253 1254 + 1255 1256 1257 1258 1259 1260 + 1261 1262 1263 1264 1265 1266 + 1273 1274 1275 1276 1277 1278 + 1279 1280 1281 1282 1283 1284 + 1285 1286 1287 1288 1289 1294 + 1295 1296 1297 1298 1299 1300 + 1301 1302 1303 1304 1305 1306 + 1307 1308 1309 1310 1318 1319 + 1320 1321 1322 1323 1324 1325 + 1326 1327 1328 1329 1330 1331 + 1332 1333 1334 1346 1347 1348 + 1349 1350 1351 1352 1353 1354 + 1355 1356 1357 1358 1359 1375 + 1376 1377 1378 1379 1380 1381 + 1382 1383 1384 1385 1386 1408 + 1409 1410 1411 1412 1413 1414 + 1415 1416 1417 1449 1450 1451 + 1452 1453 363 365 425 489 + 491 1454 1455 1456 1457 1497 + 1500 1501 1502 657 701 704 + 758 808 813 824 867 868 + 873 874 876 877 878 930 + 749 + 25 + 36 + 674 675 677 678 771 772 + 782 783 784 788 789 790 + 884 894 895 896 897 898 + 899 900 982 983 984 985 + 997 998 999 1000 1001 1002 + 1003 1004 1005 1006 1082 1083 + 1084 1085 1086 1095 1096 1097 + 1169 1170 1171 1172 1173 1174 + 1175 1193 1194 1195 1196 1273 + 1274 1275 1276 1277 1279 1285 + 1286 1295 1296 1297 1298 1299 + 1372 1373 1374 1375 1376 1377 + 1378 1380 1381 1382 1383 1384 + 1386 1393 1394 1395 1396 1397 + 1398 1467 1468 1469 1470 1471 + 1472 1473 1474 1478 1479 1480 + 1481 1482 1483 1484 1485 1490 + 1491 1492 1493 1494 1495 1496 + 1497 1498 1505 1566 1567 1568 + 1569 1570 1571 1572 1573 1574 + 1575 1576 1577 1578 1579 1580 + 1581 1582 1584 1586 1587 1588 + 1589 1590 1591 1592 1593 1594 + 1595 1597 1600 1601 1602 1605 + 1661 1662 1663 1664 1665 1666 + 1667 1668 1669 1670 1671 1672 + 1673 1674 1675 1676 1677 1678 + 1679 1680 1681 1682 1683 1684 + 1685 1686 1687 1688 1689 1690 + 1691 1692 1693 1694 1695 1696 + 1697 1698 1699 1700 1701 1702 + 1703 1704 1705 1752 1753 1754 + 1755 1756 1757 1758 1759 1760 + 1761 1762 1763 1764 1765 1766 + 1767 1768 1769 1770 1771 1772 + 1773 1774 1775 1776 1777 1778 + 1779 1780 1781 1782 1783 1784 + 1785 1786 1787 1788 1789 1790 + 1791 1792 1793 1794 1795 1836 + 1837 1838 1839 1840 1841 1842 + 1843 1844 1845 1846 1847 1848 + 1849 1850 1851 1852 1853 1854 + 1855 1856 1857 1858 1859 1860 + 1861 1862 1863 1864 1865 1866 + 1867 1868 1869 1870 1871 1872 + 1873 1874 1911 1912 1913 1914 + 1915 1916 1917 1918 1919 1920 + 1921 1922 1923 1924 1925 1926 + 1927 1928 1929 1930 1931 1932 + 1933 1934 1935 1936 1937 1938 + 1939 1940 1941 1942 1943 1944 + 1945 1946 1947 1948 1949 1950 + 1951 1952 1953 1954 1955 1956 + 1957 1958 1959 1960 1961 1962 + 1963 1964 1965 1966 1967 1968 + 1969 1970 1971 1972 1973 1974 + 2012 2013 2014 2015 2016 2017 + 2018 2019 2020 2021 2022 2023 + 2024 2025 2026 2027 2028 2029 + 2030 2031 2032 2033 2034 2035 + 2036 2037 2038 2039 2040 2041 + 2042 2043 2044 2045 2046 2047 + 2048 2049 2050 2051 2052 2053 + 2054 2055 2056 2057 2058 2059 + 2060 2085 2086 2087 2088 2089 + 2090 2091 2092 2093 2094 2095 + 2096 2097 2098 2099 2100 2101 + 2102 2103 2104 2105 2106 2107 + 2108 2109 2110 2111 2112 2113 + 2114 2115 2116 2117 2118 2119 + 2120 2121 2122 2123 2124 2125 + 2126 2127 2128 2129 2130 2131 + 2132 2133 2134 2135 2136 2137 + 2138 2139 2140 2141 2142 2168 + 2169 2170 2171 2172 2173 2174 + 2175 2176 2177 2178 2179 2180 + 2181 2182 2183 2184 2185 2186 + 2187 2188 2189 2190 2191 2192 + 2193 2194 2195 2196 2197 2198 + 2199 2200 2201 2202 2203 2204 + 2205 2206 2207 2208 2209 2210 + 2234 2235 2236 2237 2238 2239 + 2240 2241 2242 2243 2244 2245 + 2246 2247 2248 2249 2250 2251 + 2252 2253 2254 2255 2256 2257 + 2258 2259 2260 2261 2262 2263 + 2264 2265 2266 2267 2268 2269 + 2270 2271 2272 2273 2274 2275 + 2276 2277 2278 2279 2280 2281 + 2298 2299 2300 2301 2302 2303 + 2304 2305 2306 2307 2308 2309 + 2310 2311 2312 2313 2314 2315 + 2316 2317 2318 2319 2320 2321 + 2322 2323 2324 2325 2326 2327 + 2328 2329 2330 2331 2332 2333 + 2334 2335 2346 2347 2348 2349 + 2350 2351 2352 2353 2354 2355 + 2356 2357 2358 2359 2360 2361 + 2362 2363 2364 2365 2366 2367 + 2368 2369 2370 2371 2372 2373 + 2374 2375 2384 2385 2386 2387 + 2388 2389 2390 2391 2392 2393 + 2394 2395 2396 2397 2398 2399 + 2400 2401 2402 2403 2404 2405 + 2406 2407 2408 2409 2410 2411 + 2412 2422 2423 2424 2425 2426 + 2427 2428 2429 2430 2431 2432 + 2433 2434 2435 2436 2437 2438 + 2439 2440 2441 2442 2443 2444 + 2445 2446 2447 2448 2449 2450 + 2451 2452 2453 2454 2473 2474 + 2475 2476 2477 2478 2479 2480 + 2481 2482 2483 2484 2485 2486 + 2487 2488 2489 2490 2491 2492 + 2493 2494 2495 2496 2497 2498 + 2499 2500 2501 2502 2503 2504 + 2505 2531 2532 2533 2534 2535 + 2536 2537 2538 2539 2540 2541 + 2542 2543 2544 2545 2546 2582 + 2583 2584 2585 2586 2587 2588 + 2589 2590 2591 2592 2593 2594 + 2595 2596 2597 2598 2599 2600 + 2652 2653 2654 2655 2656 2657 + 2658 2659 2660 2661 2663 2665 + 2666 2744 2750 2751 2753 672 + 673 786 901 2662 2667 2668 + 2754 2756 2758 2853 1197 1280 + 1283 1475 1477 1488 1501 1507 + 1583 1598 1599 1604 1606 1706 + 584 586 587 676 785 787 + 791 2664 2745 2749 2752 2755 + 2757 2765 2766 2843 2851 2856 + 1098 1099 1287 1379 1385 1406 + 1476 1486 1487 1503 1506 1508 + 1585 1596 1603 1607 1608 1611 + 1143 + 25 + 1030 1031 1035 1036 1037 1038 + 1039 1173 1186 1187 1188 1189 + 1190 1191 1192 1193 1198 1199 + 1200 1330 1344 1345 1346 1347 + 1348 1349 1350 1351 1352 1353 + 1354 1356 1357 1358 1475 1476 + 1477 1478 1479 1494 1495 1496 + 1497 1498 1499 1500 1501 1502 + 1606 1607 1608 1609 1610 1611 + 1612 1613 1636 1637 1638 1639 + 1640 1641 1746 1747 1748 1749 + 1750 1751 1752 1753 1754 1755 + 1783 1784 1785 1786 1890 1891 + 1892 1893 1894 1895 1896 1897 + 1898 1899 1903 1904 1912 1913 + 1925 1926 1927 1928 1929 1930 + 1931 1932 1933 2041 2042 2043 + 2044 2045 2046 2047 2048 2052 + 2053 2054 2055 2056 2057 2058 + 2060 2061 2062 2063 2072 2073 + 2074 2075 2076 2077 2078 2079 + 2080 2081 2181 2182 2183 2184 + 2185 2186 2187 2188 2189 2190 + 2191 2193 2194 2195 2196 2197 + 2198 2199 2200 2201 2202 2203 + 2204 2205 2208 2212 2213 2214 + 2215 2216 2217 2218 2219 2220 + 2221 2222 2223 2224 2225 2237 + 2327 2328 2329 2330 2331 2332 + 2333 2334 2335 2336 2337 2338 + 2339 2340 2341 2342 2343 2344 + 2345 2346 2347 2348 2349 2350 + 2351 2352 2354 2355 2357 2358 + 2359 2360 2361 2362 2363 2364 + 2365 2366 2367 2368 2369 2371 + 2372 2373 2374 2375 2376 2377 + 2378 2379 2382 2383 2384 2385 + 2465 2466 2467 2468 2469 2470 + 2471 2472 2473 2474 2475 2476 + 2477 2478 2479 2480 2481 2482 + 2483 2484 2485 2486 2487 2488 + 2489 2490 2491 2492 2493 2494 + 2495 2496 2497 2498 2499 2500 + 2501 2502 2503 2504 2505 2506 + 2507 2508 2509 2510 2511 2512 + 2513 2514 2515 2516 2517 2518 + 2519 2520 2521 2522 2523 2524 + 2525 2526 2527 2591 2592 2593 + 2594 2595 2596 2597 2598 2599 + 2600 2601 2602 2603 2604 2605 + 2606 2607 2608 2609 2610 2611 + 2612 2613 2614 2615 2616 2617 + 2618 2619 2620 2621 2622 2623 + 2624 2625 2626 2627 2628 2629 + 2630 2631 2632 2633 2634 2635 + 2636 2637 2638 2639 2640 2641 + 2642 2643 2644 2645 2646 2647 + 2648 2649 2706 2707 2708 2709 + 2710 2711 2712 2713 2714 2715 + 2716 2717 2718 2719 2720 2721 + 2722 2723 2724 2725 2726 2727 + 2728 2729 2730 2731 2732 2733 + 2734 2735 2736 2737 2738 2739 + 2740 2741 2742 2743 2744 2745 + 2746 2747 2748 2749 2750 2751 + 2752 2753 2754 2755 2756 2757 + 2758 2759 2760 2761 2762 2763 + 2764 2765 2766 2767 2768 2769 + 2770 2771 2772 2773 2774 2775 + 2828 2829 2830 2831 2832 2833 + 2834 2835 2836 2837 2838 2839 + 2840 2841 2842 2843 2844 2845 + 2846 2847 2848 2849 2850 2851 + 2852 2853 2854 2855 2856 2857 + 2858 2859 2860 2861 2862 2863 + 2864 2865 2866 2867 2868 2869 + 2870 2871 2872 2873 2874 2875 + 2876 2877 2878 2879 2880 2881 + 2882 2883 2884 2885 2886 2887 + 2888 2889 2890 2891 2892 2893 + 2894 2895 2896 2897 2898 2899 + 2900 2901 2902 2903 2904 2905 + 2906 2907 2908 2909 2910 2911 + 2912 2913 2959 2960 2961 2962 + 2963 2964 2965 2966 2967 2968 + 2969 2970 2971 2972 2973 2974 + 2975 2976 2977 2978 2979 2980 + 2981 2982 2983 2984 2985 2986 + 2987 2988 2989 2990 2991 2992 + 2993 2994 2995 2996 2997 2998 + 2999 3000 3001 3002 3003 3004 + 3005 3006 3007 3008 3009 3010 + 3011 3012 3013 3014 3015 3016 + 3017 3018 3019 3020 3021 3022 + 3023 3024 3025 3026 3027 3028 + 3029 3030 3031 3032 3033 3034 + 3035 3036 3037 3038 3039 3040 + 3080 3081 3082 3083 3084 3085 + 3086 3087 3088 3089 3090 3091 + 3092 3093 3094 3095 3096 3097 + 3098 3099 3100 3101 3102 3103 + 3104 3105 3106 3107 3108 3109 + 3110 3111 3112 3113 3114 3115 + 3116 3117 3118 3119 3120 3121 + 3122 3123 3124 3125 3126 3127 + 3128 3129 3130 3131 3132 3133 + 3134 3135 3136 3137 3138 3139 + 3140 3141 3142 3143 3144 3145 + 3146 3147 3148 3149 3150 3151 + 3152 3153 3154 3155 3156 3157 + 3158 3196 3197 3198 3199 3200 + 3201 3202 3203 3204 3205 3206 + 3207 3208 3209 3210 3211 3212 + 3213 3214 3215 3216 3217 3218 + 3219 3220 3221 3222 3223 3224 + 3225 3226 3227 3228 3229 3230 + 3231 3232 3233 3234 3235 3236 + 3237 3238 3239 3240 3241 3242 + 3243 3244 3245 3246 3247 3248 + 3249 3250 3251 3252 3253 3254 + 3255 3256 3257 3258 3259 3289 + 3290 3291 3292 3293 3294 3295 + 3296 3297 3298 3299 3300 3301 + 3302 3303 3304 3305 3306 3307 + 3308 3309 3310 3311 3312 3313 + 3314 3315 3316 3317 3318 3319 + 3320 3321 3322 3323 3324 3325 + 3326 3327 3328 3329 3330 3331 + 3332 3333 3334 3335 3336 3337 + 3338 3339 3340 3341 3342 3343 + 3344 3345 3346 3347 3348 3349 + 3350 3371 3372 3373 3374 3375 + 3376 3377 3378 3379 3380 3381 + 3382 3383 3384 3385 3386 3387 + 3388 3389 3390 3391 3392 3393 + 3394 3395 3396 3397 3398 3399 + 3400 3401 3402 3403 3404 3405 + 3406 3407 3408 3409 3410 3411 + 3412 3413 3414 3415 3416 3417 + 3418 3419 3420 3421 3422 3423 + 3435 3436 3437 3438 3439 3440 + 3441 3442 3443 3444 3445 3446 + 3447 3448 3449 3450 3451 3452 + 3453 3454 3455 3456 3457 3458 + 3459 3460 3461 3462 3463 3464 + 3465 3466 3467 3468 3469 3470 + 3471 3472 3473 3474 3475 3476 + 3477 3478 3479 3480 3490 3491 + 3492 3493 3494 3495 3496 3497 + 3498 3499 3500 3501 3502 3503 + 3504 3505 3506 3507 3508 3509 + 3510 3511 3512 3513 3514 3515 + 3516 3517 3518 3519 3520 3521 + 3522 3523 3524 3525 3526 3527 + 3528 3529 3530 3531 3532 3533 + 3534 3535 3536 3537 3552 3553 + 3554 3555 3556 3557 3558 3559 + 3560 3561 3562 3563 3564 3565 + 3566 3567 3568 3569 3570 3571 + 3572 3573 3574 3575 3576 3577 + 3578 3579 3580 3581 3582 3583 + 3584 3585 3586 3587 3588 3589 + 3590 3591 3592 3593 3594 3595 + 3627 3628 3629 3630 3631 3632 + 3633 3634 3635 3636 3637 3638 + 3639 3640 3641 3642 3643 3644 + 3645 3646 3647 3648 3649 3650 + 3651 3652 3653 3654 3655 3656 + 3657 3658 3659 3660 3661 3662 + 3706 3707 3708 3709 3710 3711 + 3712 3713 3714 3715 3716 3717 + 3718 3719 3720 3721 3722 3723 + 3724 3725 3726 3727 3728 3729 + 3730 3731 3732 3733 3734 3790 + 3791 3792 3793 3794 3795 3796 + 3797 3798 3799 3800 3801 3802 + 3803 3804 3805 3806 3807 3808 + 3809 3810 3811 3812 3813 3814 + 3900 3901 3902 3903 3904 3905 + 3906 3907 3908 3909 3910 8590 + 8601 8617 8619 8629 8631 8640 + 8642 8651 8652 8653 8661 8662 + 8663 8669 8670 8671 8675 8684 + 8688 8689 8692 8693 8694 8695 + 8696 8699 8700 8701 8702 8703 + 8704 8705 8706 8710 8711 8712 + 8713 8714 8715 8718 8719 8722 + 8723 8726 8727 8730 8731 8734 + 8735 8738 8739 8742 8743 8750 + 8751 8756 8757 8760 8761 8769 + 8770 8782 8783 1024 1029 1195 + 1355 1905 1787 1911 2059 2238 + 2192 2207 2356 2239 2381 2353 + 2370 2380 2387 3917 3911 4048 + 3913 3914 3921 4046 diff --git a/test/meshes/pi/dist_8/my_list00001.out b/test/meshes/pi/dist_8/my_list00001.out new file mode 100644 index 000000000..ff456fd4e --- /dev/null +++ b/test/meshes/pi/dist_8/my_list00001.out @@ -0,0 +1,408 @@ + 1 + 393 + 33 + 1 2 3 4 5 6 + 7 8 9 10 11 12 + 13 14 15 16 17 18 + 19 20 21 22 23 24 + 25 26 27 28 29 30 + 38 39 40 41 42 43 + 44 45 46 47 48 49 + 50 51 52 53 54 55 + 56 57 58 59 60 76 + 77 78 79 80 81 82 + 83 84 85 86 87 88 + 89 90 91 92 93 94 + 95 96 97 98 99 100 + 120 121 122 123 124 125 + 126 127 128 129 130 131 + 132 133 134 135 136 137 + 138 139 140 141 142 143 + 169 170 171 172 173 174 + 175 176 177 178 179 180 + 181 182 183 184 185 186 + 187 188 215 216 217 218 + 219 220 221 222 223 224 + 225 226 227 228 229 230 + 262 263 264 265 266 267 + 268 269 270 271 272 273 + 274 275 276 309 310 311 + 312 313 314 315 316 317 + 318 319 320 321 360 361 + 362 363 365 366 368 369 + 370 371 414 415 416 417 + 425 426 428 429 474 475 + 476 477 489 491 535 1454 + 1455 1456 1457 1458 1497 1498 + 1499 1500 1501 1502 1503 1504 + 1505 1506 1507 1525 1548 1549 + 1550 1551 1552 1553 1554 1555 + 1556 1557 1558 1559 1560 1561 + 1562 1563 1564 1565 1584 1609 + 1610 1611 1612 1613 1616 1617 + 1618 1619 1620 1621 1622 1623 + 1624 1625 1626 1627 1628 1629 + 1630 1631 1632 1633 1634 1635 + 1636 1678 1679 1680 1681 1682 + 1683 1685 1686 1687 1688 1689 + 1690 1691 1692 1693 1694 1695 + 1696 1697 1698 1699 1700 1701 + 1702 1741 1742 1743 1744 1745 + 1746 1747 1748 1749 1750 1751 + 1752 1753 1754 1755 1756 1757 + 1758 1759 1760 1761 1762 1801 + 1802 1803 1804 1805 1806 1807 + 1808 1809 1810 1811 1812 1813 + 1814 1815 1816 1817 1818 1819 + 1820 1821 1822 1862 1863 1864 + 1865 1866 1867 1868 1869 1870 + 1871 1872 1873 1874 1875 1876 + 1877 1878 1879 1880 1881 1882 + 1932 1933 1934 1935 1936 1937 + 1938 1939 1940 1941 1942 1943 + 1944 1945 1946 1947 1948 1949 + 1950 2015 2016 2017 2018 2019 + 2020 2021 2022 2023 2024 2025 + 2026 2027 2028 2029 2030 2031 + 2107 2108 2109 2110 2111 2112 + 2113 2114 2198 2199 2200 2201 + 2202 2286 2287 367 418 427 + 490 548 1415 1416 1417 1449 + 1450 1451 1452 1453 478 534 + 587 2032 2105 2106 2115 2116 + 2117 2118 2119 2120 2196 2197 + 2285 2364 1585 1614 1656 1684 + 744 + 28 + 32 + 1 2 3 4 5 6 + 7 8 9 10 11 12 + 13 14 15 16 17 18 + 19 20 21 22 23 24 + 25 26 27 28 29 30 + 31 32 33 34 35 36 + 37 38 39 40 41 42 + 43 44 45 46 47 48 + 49 50 51 52 53 54 + 55 56 57 58 59 60 + 68 69 70 71 72 73 + 74 75 76 77 78 79 + 80 81 82 83 84 85 + 86 87 88 89 90 91 + 92 93 94 95 96 97 + 98 99 100 101 102 103 + 104 105 106 138 139 140 + 141 142 143 144 145 146 + 147 148 149 150 151 152 + 153 154 155 156 157 158 + 159 160 161 162 163 164 + 165 166 167 168 169 170 + 171 172 173 174 175 176 + 177 178 179 180 181 182 + 183 184 185 218 219 220 + 221 222 223 224 225 226 + 227 228 229 230 231 232 + 233 234 235 236 237 238 + 239 240 241 242 243 244 + 245 246 247 248 249 250 + 251 252 253 254 255 256 + 303 304 305 306 307 308 + 309 310 311 312 313 314 + 315 316 317 318 319 320 + 321 322 323 324 325 326 + 327 328 329 330 331 332 + 333 334 335 336 337 338 + 339 340 341 342 343 397 + 398 399 400 401 402 403 + 404 405 406 407 408 409 + 410 411 412 413 414 415 + 416 417 418 419 420 484 + 485 486 487 488 489 490 + 491 492 493 494 495 496 + 497 498 499 500 501 502 + 503 504 505 506 507 508 + 572 573 574 575 576 577 + 578 579 580 581 582 583 + 584 585 586 587 588 589 + 590 591 592 593 594 595 + 596 670 671 672 673 674 + 675 676 677 678 679 680 + 681 682 683 684 685 686 + 765 766 767 768 769 770 + 785 786 787 788 791 792 + 793 794 876 877 878 879 + 880 881 882 898 900 901 + 976 977 978 1006 2594 2595 + 2598 2654 2655 2656 2661 2662 + 2663 2664 2665 2666 2667 2668 + 2744 2745 2746 2747 2748 2749 + 2750 2751 2752 2753 2754 2755 + 2756 2757 2758 2759 2760 2761 + 2762 2763 2764 2765 2766 2838 + 2839 2840 2841 2842 2843 2844 + 2845 2846 2847 2848 2849 2850 + 2851 2852 2853 2854 2855 2856 + 2857 2858 2859 2860 2861 2862 + 2863 2864 2865 2901 2902 2903 + 2904 2905 2953 2954 2955 2956 + 2957 2958 2959 2960 2961 2962 + 2965 2966 2967 2968 2969 2970 + 2971 2972 2973 2974 2975 2976 + 2977 2978 2979 2980 2981 2982 + 2983 2984 2985 2986 2987 2988 + 2989 2990 2991 2992 2993 2994 + 2995 2996 2997 2998 2999 3000 + 3001 3002 3003 3077 3078 3079 + 3080 3081 3082 3083 3084 3085 + 3086 3087 3088 3089 3090 3091 + 3092 3093 3094 3095 3096 3097 + 3098 3099 3100 3101 3102 3103 + 3104 3105 3106 3107 3108 3109 + 3110 3111 3112 3113 3114 3115 + 3116 3117 3118 3119 3120 3121 + 3122 3123 3124 3201 3202 3203 + 3204 3205 3206 3207 3208 3209 + 3210 3211 3212 3213 3214 3215 + 3216 3217 3218 3219 3220 3221 + 3222 3223 3224 3225 3226 3227 + 3228 3229 3230 3231 3232 3233 + 3234 3235 3236 3237 3238 3239 + 3319 3320 3321 3322 3323 3324 + 3325 3326 3327 3328 3329 3330 + 3331 3332 3333 3334 3335 3336 + 3337 3338 3339 3340 3341 3342 + 3343 3344 3345 3346 3347 3348 + 3349 3350 3351 3352 3353 3354 + 3355 3356 3357 3358 3359 3360 + 3361 3362 3363 3433 3434 3435 + 3436 3437 3438 3439 3440 3441 + 3442 3443 3444 3445 3446 3447 + 3448 3449 3450 3451 3452 3453 + 3454 3455 3456 3457 3458 3459 + 3460 3461 3462 3463 3464 3465 + 3466 3467 3468 3469 3470 3564 + 3565 3566 3567 3568 3569 3570 + 3571 3572 3573 3574 3575 3576 + 3577 3578 3579 3580 3581 3582 + 3583 3584 3585 3586 3587 3588 + 3589 3590 3591 3592 3593 3594 + 3595 3596 3597 3711 3712 3713 + 3714 3715 3716 3717 3718 3719 + 3720 3721 3722 3723 3724 3725 + 3726 3727 3728 3729 3730 3731 + 3732 3733 3734 3735 3736 3737 + 3738 3739 3740 3741 3742 3743 + 3744 3745 3884 3885 3886 3887 + 3888 3889 3890 3891 3892 3893 + 3894 3895 3896 3897 3898 3899 + 3901 3902 3905 3906 3910 3911 + 3913 3914 4053 4054 4055 4056 + 4057 4058 4059 4060 4061 4062 + 4216 4217 4218 4219 4220 4356 + 772 789 790 1005 2582 2600 + 2652 2653 2658 2659 2660 883 + 1077 3900 3903 3907 3908 3915 + 4046 4052 4063 4065 4070 4207 + 4214 2906 2964 3040 771 784 + 897 899 1004 2583 2584 2591 + 2592 2596 2597 2599 2657 979 + 1078 1081 3883 3904 3909 3912 + 3917 4051 4064 4068 4208 4213 + 4215 4355 2963 3037 3038 3041 + 1140 + 28 + 1 2 3 4 5 6 + 7 8 9 10 11 12 + 13 14 15 16 17 18 + 19 20 21 22 23 24 + 25 26 27 28 29 30 + 31 32 33 34 35 36 + 37 38 39 40 41 42 + 43 44 45 46 47 48 + 49 50 51 52 53 54 + 55 56 57 58 59 60 + 61 62 63 64 65 66 + 67 68 69 70 71 72 + 73 74 75 76 77 78 + 79 80 81 82 83 84 + 85 86 87 88 89 90 + 91 92 93 94 95 96 + 97 98 99 100 101 121 + 122 123 124 125 126 127 + 128 129 130 131 132 133 + 134 135 136 137 138 139 + 140 141 142 143 144 145 + 146 147 148 149 150 151 + 152 153 154 155 156 157 + 158 159 160 161 162 163 + 164 165 166 167 168 169 + 170 171 172 173 174 175 + 176 177 178 179 180 181 + 182 183 184 185 186 187 + 188 189 237 238 239 240 + 241 242 243 244 245 246 + 247 248 249 250 251 252 + 253 254 255 256 257 258 + 259 260 261 262 263 264 + 265 266 267 268 269 270 + 271 272 273 274 275 276 + 277 278 279 280 281 282 + 283 284 285 286 287 288 + 289 290 291 292 293 294 + 295 296 297 298 299 300 + 301 302 358 359 360 361 + 362 363 364 365 366 367 + 368 369 370 371 372 373 + 374 375 376 377 378 379 + 380 381 382 383 384 385 + 386 387 388 389 390 391 + 392 393 394 395 396 397 + 398 399 400 401 402 403 + 404 405 406 407 408 409 + 410 411 412 413 414 492 + 493 494 495 496 497 498 + 499 500 501 502 503 504 + 505 506 507 508 509 510 + 511 512 513 514 515 516 + 517 518 519 520 521 522 + 523 524 525 526 527 528 + 529 530 531 532 533 534 + 535 536 537 538 539 618 + 619 620 621 622 623 624 + 625 626 627 628 629 630 + 631 632 633 634 635 636 + 637 638 639 640 641 642 + 643 644 645 646 647 648 + 649 650 651 652 653 654 + 655 746 747 748 749 750 + 751 752 753 754 755 756 + 757 758 759 760 761 762 + 763 764 765 766 767 768 + 769 770 771 772 773 774 + 775 776 777 778 779 780 + 876 877 878 879 880 881 + 882 883 884 885 886 887 + 888 889 890 891 892 893 + 894 895 896 897 898 899 + 900 901 902 903 904 1018 + 1019 1020 1021 1022 1023 1024 + 1028 1029 1030 1031 1032 1033 + 1034 1036 1040 1041 1042 1043 + 1044 1045 1046 1047 1165 1166 + 1167 1168 1169 1170 1171 1172 + 1193 1194 1195 1196 1197 1198 + 1201 1202 1203 1318 1319 1320 + 1321 1322 1323 1324 1354 1355 + 1356 1468 3807 3809 3810 3812 + 3814 3901 3902 3903 3904 3905 + 3908 3909 3910 3911 3912 3913 + 3914 3915 3916 3917 3918 3919 + 3920 3921 3922 3923 3924 3925 + 3926 3927 4035 4036 4037 4038 + 4039 4040 4041 4042 4043 4044 + 4045 4046 4047 4048 4049 4050 + 4051 4052 4053 4054 4055 4056 + 4057 4058 4059 4060 4061 4062 + 4063 4064 4065 4110 4175 4176 + 4177 4178 4179 4180 4181 4182 + 4183 4184 4185 4186 4187 4188 + 4189 4190 4191 4192 4193 4194 + 4195 4196 4197 4198 4199 4200 + 4201 4202 4203 4204 4205 4206 + 4207 4208 4209 4210 4211 4212 + 4213 4214 4215 4216 4217 4218 + 4219 4220 4221 4222 4223 4224 + 4225 4276 4277 4278 4279 4350 + 4351 4352 4353 4354 4355 4356 + 4357 4358 4359 4360 4361 4362 + 4363 4364 4365 4368 4369 4370 + 4371 4372 4373 4374 4375 4376 + 4377 4378 4379 4380 4381 4382 + 4383 4384 4385 4386 4387 4388 + 4389 4390 4391 4392 4393 4394 + 4395 4396 4397 4398 4399 4400 + 4401 4402 4403 4404 4405 4406 + 4407 4408 4409 4410 4411 4412 + 4413 4414 4415 4416 4417 4418 + 4419 4420 4421 4422 4423 4424 + 4425 4426 4427 4541 4542 4543 + 4544 4545 4546 4547 4548 4549 + 4550 4551 4552 4553 4554 4555 + 4556 4557 4558 4559 4560 4561 + 4562 4563 4564 4565 4566 4567 + 4568 4569 4570 4571 4572 4573 + 4574 4575 4576 4577 4578 4579 + 4580 4581 4582 4583 4584 4585 + 4586 4587 4588 4589 4590 4591 + 4592 4593 4594 4595 4596 4597 + 4598 4599 4600 4601 4602 4603 + 4604 4605 4606 4715 4716 4717 + 4718 4719 4720 4721 4722 4723 + 4724 4725 4726 4727 4728 4729 + 4730 4731 4732 4733 4734 4735 + 4736 4737 4738 4739 4740 4741 + 4742 4743 4744 4745 4746 4747 + 4748 4749 4750 4751 4752 4753 + 4754 4755 4756 4757 4758 4759 + 4760 4761 4762 4763 4764 4765 + 4766 4767 4768 4769 4770 4771 + 4772 4883 4884 4885 4886 4887 + 4888 4889 4890 4891 4892 4893 + 4894 4895 4896 4897 4898 4899 + 4900 4901 4902 4903 4904 4905 + 4906 4907 4908 4909 4910 4911 + 4912 4913 4914 4915 4916 4917 + 4918 4919 4920 4921 4922 4923 + 4924 4925 4926 4927 4928 4929 + 4930 4931 4932 4933 4934 4935 + 4936 4937 4938 4939 4940 4941 + 4942 4943 4944 4945 5057 5058 + 5059 5060 5061 5062 5063 5064 + 5065 5066 5067 5068 5069 5070 + 5071 5072 5073 5074 5075 5076 + 5077 5078 5079 5080 5081 5082 + 5083 5084 5085 5086 5087 5088 + 5089 5090 5091 5092 5093 5094 + 5095 5096 5097 5098 5099 5100 + 5101 5102 5103 5104 5105 5106 + 5107 5108 5109 5110 5111 5112 + 5258 5259 5260 5261 5262 5263 + 5264 5265 5266 5267 5268 5269 + 5270 5271 5272 5273 5274 5275 + 5276 5277 5278 5279 5280 5281 + 5282 5283 5284 5285 5286 5287 + 5288 5289 5290 5291 5292 5293 + 5294 5295 5296 5297 5298 5299 + 5300 5301 5302 5303 5304 5305 + 5306 5307 5308 5309 5310 5491 + 5492 5493 5494 5495 5496 5497 + 5498 5499 5500 5501 5502 5503 + 5504 5505 5506 5507 5508 5509 + 5510 5511 5512 5513 5514 5515 + 5516 5517 5518 5519 5520 5521 + 5522 5523 5524 5525 5526 5527 + 5528 5529 5530 5531 5532 5533 + 5534 5535 5536 5740 5741 5742 + 5743 5744 5745 5746 5747 5748 + 5749 5750 5751 5752 5753 5754 + 5755 5756 5757 5758 5759 5760 + 5986 5988 5989 5990 5991 5992 + 5993 5994 5995 5996 5997 6218 + 6219 6220 8532 8533 8534 8535 + 8542 8543 8546 8547 8548 8549 + 8552 8553 8554 8555 8556 8557 + 8558 8561 8562 8563 8564 8567 + 8568 8569 8570 8573 8574 8575 + 8576 8579 8580 8581 8582 8588 + 8589 8590 8592 8599 8600 8603 + 8613 8614 8619 8628 8782 8783 + 8786 8787 8794 8795 8796 8797 + 8798 8799 8800 8801 8802 8805 + 8808 8815 8816 8819 8820 8821 + 8822 8826 8827 8832 8833 8843 + 8844 8856 8857 8871 8883 8898 + 1035 1037 1325 1199 1469 1358 + 3808 3806 3811 3900 3813 3906 + 3907 4280 4281 4367 5735 5737 + 5537 5981 5762 5764 5771 5774 + 5539 5768 5985 6217 diff --git a/test/meshes/pi/dist_8/my_list00002.out b/test/meshes/pi/dist_8/my_list00002.out new file mode 100644 index 000000000..5e40b8e0b --- /dev/null +++ b/test/meshes/pi/dist_8/my_list00002.out @@ -0,0 +1,414 @@ + 2 + 393 + 31 + 31 32 33 34 35 36 + 37 61 62 63 64 65 + 66 67 68 69 70 71 + 72 73 74 75 101 102 + 103 104 105 106 107 108 + 109 110 111 112 113 114 + 115 116 117 118 119 144 + 145 146 147 148 149 150 + 151 152 153 154 155 156 + 157 158 159 160 161 162 + 163 164 165 166 167 168 + 189 190 191 192 193 194 + 195 196 197 198 199 200 + 201 202 203 204 205 206 + 207 208 209 210 211 212 + 213 214 231 232 233 234 + 235 236 237 238 239 240 + 241 242 243 244 245 246 + 247 248 249 250 251 252 + 253 254 255 256 257 258 + 259 260 261 277 278 279 + 280 281 282 283 284 285 + 286 287 288 289 290 291 + 292 293 296 298 299 300 + 301 302 303 304 305 306 + 307 308 322 323 324 325 + 326 327 328 329 332 333 + 335 336 337 338 339 340 + 341 342 347 351 352 353 + 354 355 356 357 358 359 + 364 372 373 374 375 376 + 377 378 379 380 381 382 + 384 386 389 390 391 392 + 393 394 395 396 406 408 + 409 410 412 419 420 421 + 422 430 431 432 433 434 + 435 436 437 438 439 440 + 441 442 444 445 447 448 + 449 450 451 452 453 454 + 455 481 482 483 484 485 + 492 493 494 495 496 497 + 498 499 500 501 502 503 + 504 505 506 507 508 509 + 540 541 542 543 544 549 + 550 551 552 553 554 555 + 556 557 558 559 560 561 + 592 593 594 595 596 597 + 598 602 603 604 605 606 + 607 608 609 610 611 612 + 613 614 615 646 647 648 + 649 650 651 652 653 654 + 657 658 659 660 661 662 + 663 664 665 666 667 668 + 669 670 671 672 673 700 + 701 702 703 704 705 706 + 707 708 713 714 715 716 + 717 718 719 720 721 722 + 723 724 725 726 727 728 + 729 755 758 760 761 762 + 767 768 769 770 771 772 + 773 774 775 776 777 778 + 779 780 781 808 813 814 + 820 821 822 823 824 825 + 826 827 828 829 830 867 + 868 873 874 876 877 878 + 879 880 930 711 756 759 + 811 862 875 914 919 924 + 925 927 928 929 973 294 + 295 297 331 345 385 399 + 407 411 413 443 446 466 + 468 469 470 472 + 762 + 28 + 32 + 61 62 63 64 65 66 + 67 107 108 109 110 111 + 112 113 114 115 116 117 + 118 119 120 121 122 123 + 124 125 126 127 128 129 + 130 131 132 133 134 135 + 136 137 186 187 188 189 + 190 191 192 193 194 195 + 196 197 198 199 200 201 + 202 203 204 205 206 207 + 208 209 210 211 212 213 + 214 215 216 217 257 258 + 259 260 261 262 263 264 + 265 266 267 268 269 270 + 271 272 273 274 275 276 + 277 278 279 280 281 282 + 283 284 285 286 287 288 + 289 290 291 292 293 294 + 295 296 297 298 299 300 + 301 302 344 345 346 347 + 348 349 350 351 352 353 + 354 355 356 357 358 359 + 360 361 362 363 364 365 + 366 367 368 369 370 371 + 372 373 374 375 376 377 + 378 379 380 381 382 383 + 384 385 386 387 388 389 + 390 391 392 393 394 395 + 396 421 422 423 424 425 + 426 427 428 429 430 431 + 432 433 434 435 436 437 + 438 439 440 441 442 443 + 444 445 446 447 448 449 + 450 451 452 453 454 455 + 456 457 458 459 460 461 + 462 463 464 465 466 467 + 468 469 470 471 472 473 + 474 475 476 477 478 479 + 480 481 482 483 509 510 + 511 512 513 514 515 516 + 517 518 519 520 521 522 + 523 524 525 526 527 528 + 529 530 531 532 533 534 + 535 536 537 538 539 540 + 541 543 544 545 547 548 + 549 550 551 552 553 554 + 555 556 557 558 559 560 + 561 562 563 564 565 566 + 567 568 569 570 571 597 + 598 599 600 601 602 603 + 604 605 606 607 608 609 + 610 611 613 614 616 617 + 618 619 620 623 624 625 + 626 627 628 629 630 631 + 632 633 634 635 636 637 + 644 645 655 656 657 658 + 659 660 661 662 663 664 + 665 666 667 668 669 687 + 688 689 690 691 692 693 + 694 695 696 697 698 699 + 700 701 702 703 704 705 + 706 707 708 711 712 713 + 715 716 717 718 719 720 + 721 722 723 724 725 726 + 727 728 729 730 731 732 + 751 753 754 755 756 757 + 758 760 761 763 764 773 + 774 775 776 777 778 779 + 780 781 795 796 797 798 + 799 800 801 802 803 804 + 805 806 807 808 809 810 + 811 812 813 814 815 818 + 819 820 821 822 824 825 + 826 827 828 829 830 831 + 832 833 834 835 836 837 + 838 839 840 841 842 861 + 868 869 885 886 887 888 + 889 890 891 892 893 902 + 903 904 905 906 907 908 + 909 910 911 912 913 914 + 915 916 917 918 919 920 + 921 922 923 924 925 926 + 927 928 929 930 931 932 + 986 987 988 989 990 991 + 992 993 994 995 996 1007 + 1008 1009 1010 1011 1012 1013 + 1014 1015 1016 1017 1018 1019 + 1020 1021 1022 1023 1024 1025 + 1026 1027 1028 1029 1030 1031 + 1032 1033 1034 1087 1088 1089 + 1090 1091 1092 1093 1094 1098 + 1099 1100 1101 1102 1103 1104 + 1105 1106 1107 1108 1109 1110 + 1111 1112 1113 1114 1115 1116 + 1117 1118 1119 1120 1176 1177 + 1178 1179 1180 1181 1182 1183 + 1184 1185 1186 1187 1188 1189 + 1190 1191 1192 1197 1198 1199 + 1200 1201 1202 1203 1204 1205 + 1206 1207 1208 1209 1210 1211 + 1212 1213 1214 1215 1216 1217 + 1218 1219 1220 1221 1222 1223 + 1224 1225 1226 1227 1278 1279 + 1280 1281 1282 1283 1284 1285 + 1286 1287 1288 1289 1290 1291 + 1292 1293 1294 1297 1300 1301 + 1302 1303 1304 1305 1306 1307 + 1308 1309 1310 1311 1312 1313 + 1314 1315 1316 1317 1318 1319 + 1320 1321 1322 1323 1324 1325 + 1326 1327 1328 1329 1379 1383 + 1384 1385 1386 1387 1388 1389 + 1390 1391 1392 1399 1400 1401 + 1402 1403 1404 1405 1406 1407 + 1408 1409 1410 1411 1412 1413 + 1414 1415 1416 1417 1418 1419 + 1420 1421 1422 1423 1424 1425 + 1426 1475 1476 1477 1478 1486 + 1487 1488 1489 1499 1500 1501 + 1502 1503 1504 1505 1506 1507 + 1508 1509 1510 1511 1512 1513 + 1514 1515 1516 1572 1583 1584 + 1585 1586 1596 1597 1598 1599 + 1600 1601 1602 1603 1604 1605 + 1606 1607 1608 1609 1610 1611 + 1612 1674 1675 1685 1692 1693 + 1700 1702 1704 1705 1706 1789 + 1380 1381 1483 1484 1573 1684 + 1696 1697 1701 1703 1770 1784 + 1788 542 615 642 643 710 + 739 752 816 817 862 864 + 866 870 872 875 1296 1481 + 1482 1577 1580 1694 1695 1699 + 1763 1769 1778 1783 1785 1867 + 546 612 639 641 646 714 + 738 759 762 823 848 863 + 865 867 873 954 956 963 + 1158 + 28 + 102 103 104 105 106 107 + 108 109 110 111 112 113 + 114 115 116 117 118 119 + 120 190 191 192 193 194 + 195 196 197 198 199 200 + 201 202 203 204 205 206 + 207 208 209 210 211 212 + 213 214 215 216 217 218 + 219 220 221 222 223 224 + 225 226 227 228 229 230 + 231 232 233 234 235 236 + 303 304 305 306 307 308 + 309 310 311 312 313 314 + 315 316 317 318 319 320 + 321 322 323 324 325 326 + 327 328 329 330 331 332 + 333 334 335 336 337 338 + 339 340 341 342 343 344 + 345 346 347 348 349 350 + 351 352 353 354 355 356 + 357 415 416 417 418 419 + 420 421 422 423 424 425 + 426 427 428 429 430 431 + 432 433 434 435 436 437 + 438 439 440 441 442 443 + 444 445 446 447 448 449 + 450 451 452 453 454 455 + 456 457 458 459 460 461 + 462 463 464 465 466 467 + 468 469 470 471 472 473 + 474 475 476 477 478 479 + 480 481 482 483 484 485 + 486 487 488 489 490 491 + 540 541 542 543 544 545 + 546 547 548 549 550 551 + 552 553 554 555 556 557 + 558 559 560 561 562 563 + 564 565 566 567 568 569 + 570 571 572 573 574 575 + 576 577 578 579 580 581 + 582 583 584 585 586 587 + 588 589 590 591 592 593 + 594 595 596 597 598 599 + 600 601 602 603 604 605 + 606 607 608 609 610 611 + 612 613 614 615 616 617 + 656 657 658 659 660 661 + 662 663 664 665 666 667 + 668 669 670 671 672 673 + 674 675 676 677 678 679 + 680 681 682 683 684 685 + 686 687 688 689 690 691 + 692 693 694 695 696 697 + 698 699 700 701 702 703 + 704 705 706 707 708 709 + 710 711 712 713 714 715 + 716 717 718 719 720 721 + 722 723 724 725 726 727 + 728 729 730 731 732 733 + 734 735 736 737 738 739 + 740 741 742 743 744 745 + 781 782 783 784 785 786 + 787 788 789 790 791 792 + 793 794 795 796 797 798 + 799 800 801 802 803 804 + 805 806 807 808 809 810 + 811 812 813 814 815 816 + 817 818 819 820 821 822 + 823 824 825 826 827 828 + 829 830 831 832 840 841 + 842 846 847 848 849 850 + 851 852 853 854 855 856 + 857 858 859 860 861 862 + 863 864 865 866 867 868 + 869 870 871 872 873 874 + 875 905 906 907 908 909 + 910 911 912 913 914 915 + 916 917 918 919 920 921 + 922 923 924 925 926 927 + 928 929 930 931 939 940 + 941 942 943 944 945 951 + 952 953 954 955 956 957 + 958 959 960 961 962 963 + 964 965 966 967 968 969 + 970 971 972 973 980 996 + 997 998 999 1000 1001 1002 + 1003 1004 1005 1006 1007 1008 + 1009 1010 1011 1012 1013 1014 + 1015 1016 1017 1025 1026 1027 + 1048 1049 1050 1051 1052 1053 + 1054 1055 1056 1057 1058 1059 + 1060 1061 1062 1063 1064 1065 + 1066 1067 1068 1069 1070 1071 + 1072 1073 1074 1075 1076 1077 + 1078 1079 1083 1084 1085 1086 + 1087 1089 1090 1091 1097 1098 + 1099 1100 1101 1102 1103 1104 + 1105 1106 1107 1108 1109 1110 + 1111 1112 1113 1114 1115 1116 + 1117 1118 1119 1120 1121 1145 + 1146 1148 1151 1152 1153 1154 + 1155 1156 1157 1161 1174 1175 + 1176 1177 1178 1179 1180 1181 + 1182 1183 1184 1185 1204 1205 + 1206 1207 1208 1209 1210 1211 + 1212 1213 1214 1215 1216 1217 + 1218 1219 1220 1221 1222 1223 + 1224 1225 1226 1227 1228 1229 + 1230 1231 1232 1233 1234 1235 + 1236 1237 1239 1240 1241 1242 + 1243 1244 1245 1246 1247 1248 + 1249 1250 1251 1252 1253 1254 + 1255 1256 1257 1258 1259 1260 + 1261 1262 1263 1264 1265 1266 + 1267 1268 1269 1270 1331 1332 + 1333 1334 1335 1336 1337 1338 + 1339 1340 1341 1342 1343 1359 + 1360 1361 1362 1363 1364 1365 + 1366 1367 1368 1369 1370 1371 + 1372 1373 1374 1375 1376 1377 + 1378 1379 1380 1381 1382 1383 + 1384 1385 1386 1387 1388 1389 + 1390 1391 1392 1393 1394 1395 + 1396 1397 1398 1399 1400 1401 + 1480 1481 1482 1483 1484 1485 + 1486 1487 1488 1489 1490 1491 + 1492 1493 1503 1504 1505 1506 + 1507 1508 1509 1510 1511 1512 + 1513 1514 1515 1516 1517 1518 + 1519 1520 1521 1522 1523 1524 + 1525 1526 1527 1528 1529 1530 + 1531 1532 1533 1614 1615 1616 + 1617 1618 1619 1620 1621 1622 + 1623 1624 1625 1626 1627 1628 + 1629 1630 1631 1632 1633 1634 + 1635 1642 1643 1644 1645 1646 + 1647 1648 1649 1650 1651 1652 + 1653 1654 1655 1656 1657 1658 + 1659 1660 1661 1662 1663 1664 + 1665 1666 1667 1668 1669 1670 + 1671 1672 1673 1674 1675 1756 + 1757 1758 1759 1760 1761 1762 + 1763 1764 1765 1766 1767 1768 + 1769 1770 1771 1772 1773 1774 + 1775 1776 1777 1778 1779 1780 + 1781 1782 1787 1788 1789 1790 + 1791 1792 1793 1794 1795 1796 + 1797 1798 1799 1800 1801 1802 + 1803 1804 1805 1806 1807 1808 + 1809 1810 1811 1812 1813 1814 + 1815 1816 1817 1818 1819 1820 + 1821 1822 1823 1824 1825 1826 + 1827 1828 1900 1901 1902 1903 + 1904 1905 1906 1907 1908 1909 + 1910 1911 1912 1913 1914 1915 + 1916 1917 1918 1919 1920 1921 + 1922 1923 1924 1934 1935 1936 + 1937 1938 1939 1940 1941 1942 + 1943 1944 1945 1946 1947 1948 + 1949 1950 1951 1952 1953 1954 + 1955 1956 1957 1958 1959 1960 + 1961 1962 1963 1964 1965 1966 + 1967 1968 1969 1970 1971 1972 + 1973 1974 1975 1976 1977 1978 + 1979 2049 2050 2051 2058 2059 + 2060 2064 2065 2066 2067 2068 + 2069 2070 2071 2082 2083 2084 + 2085 2086 2087 2088 2089 2090 + 2091 2092 2093 2094 2095 2096 + 2097 2098 2099 2100 2101 2102 + 2103 2104 2105 2106 2107 2108 + 2109 2110 2111 2112 2113 2114 + 2115 2116 2117 2118 2119 2120 + 2191 2192 2193 2206 2207 2208 + 2209 2210 2211 2226 2227 2228 + 2229 2230 2231 2232 2233 2234 + 2235 2236 2237 2238 2239 2240 + 2241 2242 2243 2244 2245 2246 + 2247 2248 2249 2250 2251 2252 + 2253 2340 2353 2354 2355 2356 + 2357 2369 2370 2371 2372 2373 + 2374 2376 2379 2380 2381 2382 + 2383 2384 2385 2386 2387 2388 + 2389 2526 8536 8537 8538 8539 + 8540 8541 8544 8545 8550 8551 + 8559 8560 8565 8566 8571 8572 + 8577 8578 8583 8584 8585 8586 + 8587 8591 8597 8598 8602 8604 + 8605 8606 8607 8618 8620 8621 + 8622 8630 8632 8633 8634 8641 + 8643 8644 8645 8646 8647 8648 + 8653 8654 8655 8656 8657 8658 + 8664 8665 8672 8676 8685 8689 + 838 833 843 938 835 982 + 1147 1088 1302 1160 1164 1297 + 1150 1307 1238 1929 2052 2062 + 2200 2375 2510 2377 2339 2483 + 2497 2520 2522 2527 diff --git a/test/meshes/pi/dist_8/my_list00003.out b/test/meshes/pi/dist_8/my_list00003.out new file mode 100644 index 000000000..330ad68b2 --- /dev/null +++ b/test/meshes/pi/dist_8/my_list00003.out @@ -0,0 +1,401 @@ + 3 + 391 + 23 + 294 295 297 330 331 334 + 343 344 345 346 348 349 + 350 383 385 387 388 397 + 398 399 400 401 402 403 + 404 405 407 411 413 443 + 446 456 457 458 459 460 + 461 462 463 464 465 466 + 467 468 469 470 471 472 + 473 478 479 510 511 512 + 513 514 515 516 517 518 + 519 520 521 522 523 524 + 525 526 527 528 529 530 + 531 532 533 534 536 537 + 562 563 564 565 566 567 + 568 569 570 571 572 573 + 574 575 576 577 578 579 + 580 581 582 583 584 585 + 586 587 588 616 617 618 + 619 620 621 622 623 624 + 625 626 627 628 629 630 + 631 632 633 634 635 636 + 637 638 639 640 641 674 + 675 676 677 678 679 680 + 681 682 683 684 685 686 + 687 688 689 690 691 692 + 693 694 695 730 731 732 + 733 734 735 736 737 738 + 739 740 741 742 743 744 + 745 746 747 748 749 750 + 751 782 783 784 785 786 + 787 788 789 790 791 792 + 793 794 795 796 797 798 + 799 800 801 802 803 831 + 832 833 834 835 836 837 + 838 839 840 841 842 843 + 844 845 846 847 848 849 + 850 851 852 853 854 855 + 856 857 881 882 883 884 + 885 886 887 888 889 890 + 891 892 893 894 895 896 + 897 898 899 900 901 902 + 903 904 905 906 907 931 + 932 933 934 935 936 937 + 938 939 940 941 942 943 + 944 945 946 947 948 949 + 950 951 952 953 954 977 + 978 979 980 981 982 983 + 984 985 986 987 988 989 + 990 991 992 993 994 995 + 996 1024 1025 1026 1027 1028 + 1029 1030 1031 1032 1033 1034 + 1035 1036 1037 1038 1039 1040 + 1041 1042 1043 1076 1077 1078 + 1079 1080 1081 1082 1083 1084 + 1085 1086 1087 1088 1089 1090 + 1091 1092 1122 1123 1124 1125 + 1126 1127 1128 1129 1130 1131 + 1132 1133 1134 1135 1136 1166 + 1167 1168 1169 1170 1171 1172 + 1173 1174 1175 1176 1177 1178 + 1179 1204 1205 1206 1207 1208 + 1209 1210 1211 1212 1213 1214 + 1215 1238 1239 1240 1241 1242 + 1243 1244 1245 1246 1267 1268 + 1269 1270 1271 1272 1290 1291 + 1293 474 477 535 248 283 + 296 298 332 347 352 356 + 359 386 406 408 409 410 + 412 445 500 1292 1311 1316 + 741 + 19 + 25 + 458 522 541 542 543 544 + 545 546 548 612 613 614 + 615 617 621 622 638 639 + 640 641 642 643 644 645 + 646 647 648 649 650 651 + 652 653 654 656 665 709 + 710 712 714 733 734 735 + 736 737 738 739 740 741 + 742 743 744 745 746 747 + 748 749 750 751 752 753 + 754 755 756 758 759 761 + 762 763 764 816 817 820 + 822 823 843 844 845 846 + 847 848 849 850 851 852 + 853 854 855 856 857 858 + 859 860 861 862 863 864 + 865 866 867 868 869 870 + 871 872 873 874 875 880 + 882 883 917 933 934 935 + 936 937 938 939 940 941 + 942 943 944 945 946 947 + 948 949 950 951 952 953 + 954 955 956 957 958 959 + 960 961 962 963 964 965 + 966 967 968 969 970 971 + 972 973 974 975 976 977 + 979 980 981 1035 1036 1037 + 1038 1039 1040 1041 1042 1043 + 1044 1045 1046 1047 1048 1049 + 1050 1051 1052 1053 1054 1055 + 1056 1057 1058 1059 1060 1061 + 1062 1063 1064 1065 1066 1067 + 1068 1069 1070 1071 1072 1073 + 1074 1075 1076 1077 1078 1079 + 1080 1081 1121 1122 1123 1124 + 1125 1126 1127 1128 1129 1130 + 1131 1132 1133 1134 1135 1136 + 1137 1138 1139 1140 1141 1142 + 1143 1144 1145 1146 1147 1148 + 1149 1150 1151 1152 1153 1154 + 1155 1156 1157 1158 1159 1160 + 1161 1162 1163 1164 1165 1166 + 1167 1168 1228 1229 1230 1231 + 1232 1233 1234 1235 1236 1237 + 1238 1239 1240 1241 1242 1243 + 1244 1245 1246 1247 1248 1249 + 1250 1251 1252 1253 1254 1255 + 1256 1257 1258 1259 1260 1261 + 1262 1263 1264 1265 1266 1267 + 1268 1269 1270 1271 1272 1330 + 1331 1332 1333 1334 1335 1336 + 1337 1338 1339 1340 1341 1342 + 1343 1344 1345 1346 1347 1348 + 1349 1350 1351 1352 1353 1354 + 1355 1356 1357 1358 1359 1360 + 1361 1362 1363 1364 1365 1366 + 1367 1368 1369 1370 1371 1427 + 1428 1429 1430 1431 1432 1433 + 1434 1435 1436 1437 1438 1439 + 1440 1441 1442 1443 1444 1445 + 1446 1447 1448 1449 1450 1451 + 1452 1453 1454 1455 1456 1457 + 1458 1459 1460 1461 1462 1463 + 1464 1465 1466 1517 1518 1519 + 1520 1521 1522 1523 1524 1525 + 1526 1527 1528 1529 1530 1531 + 1532 1533 1534 1535 1536 1537 + 1538 1539 1540 1541 1542 1543 + 1544 1545 1546 1547 1548 1549 + 1550 1551 1552 1553 1554 1555 + 1556 1557 1558 1559 1560 1561 + 1562 1563 1564 1565 1613 1614 + 1615 1616 1617 1618 1619 1620 + 1621 1622 1623 1624 1625 1626 + 1627 1628 1629 1630 1631 1632 + 1633 1634 1635 1636 1637 1638 + 1639 1640 1641 1642 1643 1644 + 1645 1646 1647 1648 1649 1650 + 1651 1652 1653 1654 1655 1656 + 1657 1658 1659 1660 1707 1708 + 1709 1710 1711 1712 1713 1714 + 1715 1716 1717 1718 1719 1720 + 1721 1722 1723 1724 1725 1726 + 1727 1728 1729 1730 1731 1732 + 1733 1734 1735 1736 1737 1738 + 1739 1740 1741 1742 1743 1744 + 1745 1746 1747 1748 1749 1750 + 1751 1796 1797 1798 1799 1800 + 1801 1802 1803 1804 1805 1806 + 1807 1808 1809 1810 1811 1812 + 1813 1814 1815 1816 1817 1818 + 1819 1820 1821 1822 1823 1824 + 1825 1826 1827 1828 1829 1830 + 1831 1832 1833 1834 1835 1875 + 1876 1877 1878 1879 1880 1881 + 1882 1883 1884 1885 1886 1887 + 1888 1889 1890 1891 1892 1893 + 1894 1895 1896 1897 1898 1899 + 1900 1901 1902 1903 1904 1905 + 1906 1907 1908 1909 1910 1975 + 1976 1977 1978 1979 1980 1981 + 1982 1983 1984 1985 1986 1987 + 1988 1989 1990 1991 1992 1993 + 1994 1995 1996 1997 1998 1999 + 2000 2001 2002 2003 2004 2005 + 2006 2007 2008 2009 2010 2011 + 2061 2062 2063 2064 2065 2066 + 2067 2068 2069 2070 2071 2072 + 2073 2074 2075 2076 2077 2078 + 2079 2080 2081 2082 2083 2084 + 2143 2144 2145 2146 2147 2148 + 2149 2150 2151 2152 2153 2154 + 2155 2156 2157 2158 2159 2160 + 2161 2162 2163 2164 2165 2166 + 2167 2211 2212 2213 2214 2215 + 2216 2217 2218 2219 2220 2221 + 2222 2223 2224 2225 2226 2227 + 2228 2229 2230 2231 2232 2233 + 2282 2283 2284 2285 2286 2287 + 2288 2289 2290 2291 2292 2293 + 2294 2295 2296 2297 2336 2337 + 2338 2339 2340 2341 2342 2343 + 2344 2345 2376 2377 2378 2379 + 2380 2381 2383 876 978 430 + 455 521 547 550 563 570 + 616 657 658 661 757 760 + 818 821 2413 2419 879 881 + 457 459 460 523 524 549 + 552 553 554 561 571 618 + 659 663 664 668 669 713 + 915 916 2382 2416 2418 + 1135 + 19 + 709 710 801 802 832 833 + 834 835 836 837 838 839 + 840 841 843 844 845 848 + 932 933 934 935 936 937 + 938 939 941 946 947 948 + 949 950 974 975 976 977 + 978 979 980 981 982 983 + 984 985 986 987 988 989 + 990 991 992 993 994 995 + 999 1010 1011 1015 1017 1080 + 1081 1082 1087 1088 1089 1092 + 1093 1094 1095 1096 1122 1123 + 1124 1125 1126 1127 1128 1129 + 1130 1131 1132 1133 1134 1135 + 1136 1137 1138 1139 1140 1141 + 1142 1143 1144 1146 1147 1148 + 1149 1150 1152 1154 1155 1156 + 1157 1158 1159 1160 1161 1162 + 1163 1164 1237 1238 1239 1271 + 1272 1273 1274 1275 1276 1277 + 1278 1279 1280 1281 1282 1283 + 1284 1285 1286 1287 1288 1289 + 1290 1291 1292 1293 1294 1295 + 1296 1297 1298 1299 1300 1301 + 1302 1303 1304 1305 1306 1307 + 1308 1309 1310 1311 1312 1313 + 1314 1315 1316 1317 1319 1323 + 1325 1326 1327 1328 1329 1402 + 1403 1404 1405 1406 1407 1408 + 1409 1410 1411 1412 1413 1414 + 1415 1416 1417 1418 1419 1420 + 1421 1422 1423 1424 1425 1426 + 1427 1428 1429 1430 1431 1432 + 1433 1434 1435 1436 1437 1438 + 1439 1440 1441 1442 1443 1444 + 1445 1446 1447 1448 1449 1450 + 1451 1452 1453 1454 1455 1456 + 1457 1458 1459 1460 1461 1462 + 1463 1464 1465 1466 1467 1468 + 1469 1470 1471 1472 1473 1474 + 1534 1535 1536 1537 1538 1539 + 1540 1541 1542 1543 1544 1545 + 1546 1547 1548 1549 1550 1551 + 1552 1553 1554 1555 1556 1557 + 1558 1559 1560 1561 1562 1563 + 1564 1565 1566 1567 1568 1569 + 1570 1571 1572 1573 1574 1575 + 1576 1577 1578 1579 1580 1581 + 1582 1583 1584 1585 1586 1587 + 1588 1589 1590 1591 1592 1593 + 1594 1595 1596 1597 1598 1599 + 1600 1601 1602 1603 1604 1605 + 1676 1677 1678 1679 1680 1681 + 1682 1683 1684 1685 1686 1687 + 1688 1689 1690 1691 1692 1693 + 1694 1695 1696 1697 1698 1699 + 1700 1701 1702 1703 1704 1705 + 1706 1707 1708 1709 1710 1711 + 1712 1713 1714 1715 1716 1717 + 1718 1719 1720 1721 1722 1723 + 1724 1725 1726 1727 1728 1729 + 1730 1731 1732 1733 1734 1735 + 1736 1737 1738 1739 1740 1741 + 1742 1743 1744 1745 1829 1830 + 1831 1832 1833 1834 1835 1836 + 1837 1838 1839 1840 1841 1842 + 1843 1844 1845 1846 1847 1848 + 1849 1850 1851 1852 1853 1854 + 1855 1856 1857 1858 1859 1860 + 1861 1862 1863 1864 1865 1866 + 1867 1868 1869 1870 1871 1872 + 1873 1874 1875 1876 1877 1878 + 1879 1880 1881 1882 1883 1884 + 1885 1886 1887 1888 1889 1980 + 1981 1982 1983 1984 1985 1986 + 1987 1988 1989 1990 1991 1992 + 1993 1994 1995 1996 1997 1998 + 1999 2000 2001 2002 2003 2004 + 2005 2006 2007 2008 2009 2010 + 2011 2012 2013 2014 2015 2016 + 2017 2018 2019 2020 2021 2022 + 2023 2024 2025 2026 2027 2028 + 2029 2030 2031 2032 2033 2034 + 2035 2036 2037 2038 2039 2040 + 2121 2122 2123 2124 2125 2126 + 2127 2128 2129 2130 2131 2132 + 2133 2134 2135 2136 2137 2138 + 2139 2140 2141 2142 2143 2144 + 2145 2146 2147 2148 2149 2150 + 2151 2152 2153 2154 2155 2156 + 2157 2158 2159 2160 2161 2162 + 2163 2164 2165 2166 2167 2168 + 2169 2170 2171 2172 2173 2174 + 2175 2176 2177 2178 2179 2180 + 2254 2255 2256 2257 2258 2259 + 2260 2261 2262 2263 2264 2265 + 2266 2267 2268 2269 2270 2271 + 2272 2273 2274 2275 2276 2277 + 2278 2279 2280 2281 2282 2283 + 2284 2285 2286 2287 2288 2289 + 2290 2291 2292 2293 2294 2295 + 2296 2297 2298 2299 2300 2301 + 2302 2303 2304 2305 2306 2307 + 2308 2309 2310 2311 2312 2313 + 2314 2315 2316 2317 2318 2319 + 2320 2321 2322 2323 2324 2325 + 2326 2390 2391 2392 2393 2394 + 2395 2396 2397 2398 2399 2400 + 2401 2402 2403 2404 2405 2406 + 2407 2408 2409 2410 2411 2412 + 2413 2414 2415 2416 2417 2418 + 2419 2420 2421 2422 2423 2424 + 2425 2426 2427 2428 2429 2430 + 2431 2432 2433 2434 2435 2436 + 2437 2438 2439 2440 2441 2442 + 2443 2444 2445 2446 2447 2448 + 2449 2450 2451 2452 2453 2454 + 2455 2456 2457 2458 2459 2460 + 2461 2462 2463 2464 2528 2529 + 2530 2531 2532 2533 2534 2535 + 2536 2537 2538 2539 2540 2541 + 2542 2543 2544 2545 2546 2547 + 2548 2549 2550 2551 2552 2553 + 2554 2555 2556 2557 2558 2559 + 2560 2561 2562 2563 2564 2565 + 2566 2567 2568 2569 2570 2571 + 2572 2573 2574 2575 2576 2577 + 2578 2579 2580 2581 2582 2583 + 2584 2585 2586 2587 2588 2589 + 2590 2650 2651 2652 2653 2654 + 2655 2656 2657 2658 2659 2660 + 2661 2662 2663 2664 2665 2666 + 2667 2668 2669 2670 2671 2672 + 2673 2674 2675 2676 2677 2678 + 2679 2680 2681 2682 2683 2684 + 2685 2686 2687 2688 2689 2690 + 2691 2692 2693 2694 2695 2696 + 2697 2698 2699 2700 2701 2702 + 2703 2704 2705 2776 2777 2778 + 2779 2780 2781 2782 2783 2784 + 2785 2786 2787 2788 2789 2790 + 2791 2792 2793 2794 2795 2796 + 2797 2798 2799 2800 2801 2802 + 2803 2804 2805 2806 2807 2808 + 2809 2810 2811 2812 2813 2814 + 2815 2816 2817 2818 2819 2820 + 2821 2822 2823 2824 2825 2826 + 2827 2914 2915 2916 2917 2918 + 2919 2920 2921 2922 2923 2924 + 2925 2926 2927 2928 2929 2930 + 2931 2932 2933 2934 2935 2936 + 2937 2938 2939 2940 2941 2942 + 2943 2944 2945 2946 2947 2948 + 2949 2950 2951 2952 2953 2954 + 2955 2956 2957 2958 3041 3042 + 3043 3044 3045 3046 3047 3048 + 3049 3050 3051 3052 3053 3054 + 3055 3056 3057 3058 3059 3060 + 3061 3062 3063 3064 3065 3066 + 3067 3068 3069 3070 3071 3072 + 3073 3074 3075 3076 3077 3078 + 3079 3159 3160 3161 3162 3163 + 3164 3165 3166 3167 3168 3169 + 3170 3171 3172 3173 3174 3175 + 3176 3177 3178 3179 3180 3181 + 3182 3183 3184 3185 3186 3187 + 3188 3189 3190 3191 3192 3193 + 3194 3195 3260 3261 3262 3263 + 3264 3265 3266 3267 3268 3269 + 3270 3271 3272 3273 3274 3275 + 3276 3277 3278 3279 3280 3281 + 3282 3283 3284 3285 3286 3287 + 3288 3351 3352 3353 3354 3355 + 3356 3357 3358 3359 3360 3361 + 3362 3363 3364 3365 3366 3367 + 3368 3369 3370 3424 3425 3426 + 3427 3428 3429 3430 3431 3432 + 3433 3434 3481 3482 3483 3484 + 3486 8585 8593 8594 8595 8596 + 8597 8598 8607 8608 8609 8610 + 8611 8612 8613 8615 8616 8623 + 8624 8625 8626 8627 8628 8635 + 8636 8637 8638 8639 8649 8650 + 8659 8660 8666 8667 8668 8673 + 8674 8677 8678 8679 8680 8681 + 8682 8683 8686 8687 8690 8691 + 8697 8698 8707 8708 8709 8716 + 8717 8720 8721 8724 8725 8728 + 8729 8732 8733 8736 8737 8740 + 8741 708 707 799 847 942 + 842 998 1000 1151 1153 1145 + 1009 1016 1243 1091 1318 1324 + 3485 3487 diff --git a/test/meshes/pi/dist_8/my_list00004.out b/test/meshes/pi/dist_8/my_list00004.out new file mode 100644 index 000000000..e6921a299 --- /dev/null +++ b/test/meshes/pi/dist_8/my_list00004.out @@ -0,0 +1,413 @@ + 4 + 392 + 31 + 1931 2010 2011 2012 2013 2014 + 2032 2091 2092 2093 2094 2095 + 2096 2097 2098 2099 2100 2101 + 2102 2103 2104 2105 2106 2115 + 2116 2117 2118 2119 2120 2121 + 2173 2174 2175 2176 2177 2178 + 2179 2180 2181 2182 2183 2184 + 2185 2186 2187 2188 2189 2190 + 2191 2192 2193 2194 2195 2196 + 2197 2203 2204 2205 2206 2207 + 2256 2257 2258 2259 2260 2261 + 2262 2263 2264 2265 2266 2267 + 2268 2269 2270 2271 2272 2273 + 2274 2275 2276 2277 2278 2279 + 2280 2281 2282 2283 2284 2285 + 2288 2289 2290 2291 2333 2334 + 2335 2336 2337 2338 2339 2340 + 2341 2342 2343 2344 2345 2346 + 2347 2348 2349 2350 2351 2352 + 2353 2354 2355 2356 2357 2358 + 2359 2360 2361 2362 2363 2364 + 2365 2366 2367 2368 2369 2370 + 2405 2406 2407 2408 2409 2410 + 2411 2412 2413 2414 2415 2416 + 2417 2418 2419 2420 2421 2422 + 2423 2424 2425 2426 2427 2428 + 2429 2430 2431 2432 2433 2434 + 2435 2436 2437 2438 2439 2440 + 2441 2442 2443 2444 2477 2478 + 2479 2480 2481 2482 2483 2484 + 2485 2486 2487 2488 2489 2490 + 2491 2492 2493 2494 2495 2496 + 2497 2498 2499 2500 2501 2502 + 2503 2504 2505 2506 2507 2508 + 2509 2510 2511 2512 2544 2545 + 2546 2547 2548 2549 2550 2551 + 2552 2553 2554 2555 2556 2557 + 2558 2559 2560 2561 2562 2563 + 2564 2565 2566 2567 2568 2569 + 2570 2571 2572 2573 2574 2575 + 2605 2606 2607 2608 2609 2610 + 2611 2612 2613 2614 2615 2616 + 2617 2618 2619 2620 2621 2622 + 2623 2624 2625 2626 2627 2628 + 2629 2630 2631 2660 2661 2662 + 2663 2664 2665 2666 2667 2668 + 2669 2670 2671 2672 2673 2674 + 2675 2676 2677 2678 2679 2680 + 2681 2682 2683 2709 2710 2711 + 2712 2713 2714 2715 2716 2717 + 2718 2719 2720 2721 2722 2723 + 2724 2725 2726 2727 2728 2755 + 2756 2757 2758 2759 2760 2761 + 2762 2763 2764 2765 2766 2767 + 2768 2769 2770 2771 2772 2774 + 2804 2805 2806 2807 2808 2809 + 2810 2811 2812 2813 2814 2815 + 2816 2817 2818 2819 2823 2824 + 2855 2856 2857 2858 2859 2860 + 2861 2862 2863 2864 2865 2866 + 2867 2868 2873 2900 2901 2902 + 2903 2904 2905 2906 2907 2908 + 2909 2910 2911 2912 2913 2914 + 2943 2944 2945 2946 2947 2948 + 2949 2950 2951 2982 2984 2985 + 3015 3017 1950 2015 2016 2026 + 2027 2028 2029 2030 2031 2107 + 2108 2198 2286 2287 2773 2821 + 2869 2874 2918 2942 2952 2953 + 2978 2979 2981 2983 3016 3042 + 2292 2293 2294 + 755 + 28 + 36 + 3562 3563 3596 3706 3707 3708 + 3709 3710 3711 3713 3733 3734 + 3735 3740 3743 3744 3858 3859 + 3860 3861 3862 3863 3864 3865 + 3866 3867 3868 3869 3870 3871 + 3872 3873 3874 3875 3876 3877 + 3878 3879 3880 3881 3882 3883 + 3885 3887 3888 3900 3901 3902 + 3903 3904 3905 3906 3907 3908 + 3909 3910 3911 3912 3913 3914 + 3915 3916 3917 4013 4014 4015 + 4016 4017 4018 4019 4020 4021 + 4022 4023 4024 4025 4026 4027 + 4028 4029 4030 4031 4032 4033 + 4034 4035 4036 4037 4038 4039 + 4040 4041 4042 4043 4044 4045 + 4046 4047 4048 4049 4050 4051 + 4052 4053 4054 4063 4064 4065 + 4066 4067 4068 4069 4070 4071 + 4072 4166 4167 4168 4169 4170 + 4171 4172 4173 4174 4175 4176 + 4177 4178 4179 4180 4181 4182 + 4183 4184 4185 4186 4187 4188 + 4189 4190 4191 4192 4193 4194 + 4195 4196 4197 4198 4199 4200 + 4201 4202 4203 4204 4205 4206 + 4207 4208 4209 4210 4211 4212 + 4213 4214 4215 4217 4218 4221 + 4222 4223 4224 4225 4226 4229 + 4302 4303 4304 4305 4306 4307 + 4308 4309 4310 4311 4312 4313 + 4314 4315 4316 4317 4318 4319 + 4320 4321 4322 4323 4324 4325 + 4326 4327 4328 4329 4330 4331 + 4332 4333 4334 4335 4336 4337 + 4338 4339 4340 4341 4342 4343 + 4344 4345 4346 4347 4348 4349 + 4350 4351 4352 4353 4354 4355 + 4356 4357 4358 4359 4360 4361 + 4362 4363 4364 4365 4366 4367 + 4368 4433 4434 4435 4436 4437 + 4438 4439 4440 4441 4442 4443 + 4444 4445 4446 4447 4448 4449 + 4450 4451 4452 4453 4454 4455 + 4456 4457 4458 4459 4460 4461 + 4462 4463 4464 4465 4466 4467 + 4468 4469 4470 4471 4472 4473 + 4474 4475 4476 4477 4478 4479 + 4480 4481 4482 4483 4484 4485 + 4486 4487 4488 4489 4490 4491 + 4492 4493 4494 4495 4496 4497 + 4498 4499 4500 4501 4502 4503 + 4504 4505 4506 4507 4508 4509 + 4510 4511 4512 4513 4514 4579 + 4580 4581 4582 4583 4584 4585 + 4586 4587 4588 4589 4590 4591 + 4592 4593 4594 4595 4596 4597 + 4598 4599 4600 4601 4602 4603 + 4604 4605 4606 4607 4608 4609 + 4610 4611 4612 4613 4614 4615 + 4616 4617 4618 4619 4620 4621 + 4622 4623 4624 4625 4626 4627 + 4628 4629 4630 4631 4632 4633 + 4634 4635 4636 4693 4694 4695 + 4696 4697 4698 4699 4700 4701 + 4702 4703 4704 4705 4706 4707 + 4708 4709 4710 4711 4712 4713 + 4714 4715 4716 4717 4718 4719 + 4720 4721 4722 4723 4724 4725 + 4726 4727 4728 4729 4730 4731 + 4732 4733 4734 4735 4736 4737 + 4738 4739 4740 4741 4742 4743 + 4744 4745 4746 4747 4748 4749 + 4750 4751 4752 4753 4754 4755 + 4756 4757 4815 4816 4817 4818 + 4819 4820 4821 4822 4823 4824 + 4825 4826 4827 4828 4829 4830 + 4831 4832 4833 4834 4835 4836 + 4837 4838 4839 4840 4841 4842 + 4843 4844 4845 4846 4847 4848 + 4849 4850 4851 4852 4853 4854 + 4855 4856 4857 4858 4859 4860 + 4861 4862 4863 4864 4865 4866 + 4867 4868 4869 4870 4871 4872 + 4923 4924 4925 4926 4927 4928 + 4929 4930 4931 4932 4933 4934 + 4935 4936 4937 4938 4939 4940 + 4941 4942 4943 4944 4945 4946 + 4947 4948 4949 4950 4951 4952 + 4953 4954 4955 4956 4957 4958 + 4959 4960 4961 4962 4963 4964 + 4965 4966 4967 5012 5013 5014 + 5015 5016 5017 5018 5019 5020 + 5021 5022 5023 5024 5025 5026 + 5027 5028 5029 5030 5031 5032 + 5033 5034 5035 5036 5037 5038 + 5039 5040 5041 5042 5043 5044 + 5045 5046 5047 5048 5049 5050 + 5051 5104 5105 5106 5107 5108 + 5109 5110 5111 5112 5113 5114 + 5115 5116 5117 5118 5119 5120 + 5121 5122 5123 5124 5125 5126 + 5127 5128 5129 5130 5131 5132 + 5133 5134 5135 5136 5137 5138 + 5141 5142 5143 5199 5200 5201 + 5202 5203 5204 5205 5206 5207 + 5208 5209 5210 5211 5212 5213 + 5214 5215 5216 5217 5218 5219 + 5220 5221 5222 5223 5224 5225 + 5226 5228 5230 5231 5232 5292 + 5293 5294 5295 5296 5297 5298 + 5299 5300 5301 5302 5303 5304 + 5305 5306 5307 5308 5309 5310 + 5311 5312 5313 5314 5315 5316 + 5317 5318 5327 5329 5375 5376 + 5377 5378 5379 5380 5381 5382 + 5383 5384 5385 5386 5387 5388 + 5389 5390 5391 5392 5393 5394 + 5395 5396 5397 5398 5399 5400 + 5401 5402 5403 5404 5405 5406 + 5412 5465 5466 5467 5468 5469 + 5470 5471 5472 5473 5474 5475 + 5476 5477 5478 5479 5480 5481 + 5482 5485 5488 5536 5539 5545 + 5546 5547 5548 5549 5550 5551 + 5552 5553 5605 5608 5658 3583 + 3595 3712 3716 3718 3737 3739 + 3741 3742 3745 3886 4057 4220 + 5140 5319 5320 5330 5484 5486 + 5493 5534 5537 5540 5544 5602 + 5607 4227 4228 3466 3564 3582 + 3587 3588 3590 3593 3597 3714 + 3736 3738 3884 3890 4055 4062 + 4216 4219 5139 5144 5227 5323 + 5328 5483 5487 5495 5535 5538 + 5543 5557 5595 5606 5657 4074 + 4076 4077 4081 + 1150 + 28 + 5256 5257 5309 5479 5480 5481 + 5482 5483 5484 5485 5486 5487 + 5488 5489 5490 5493 5494 5519 + 5520 5521 5523 5525 5526 5527 + 5530 5531 5532 5534 5535 5536 + 5537 5538 5539 5700 5701 5702 + 5703 5704 5705 5706 5707 5708 + 5709 5710 5711 5712 5713 5714 + 5715 5716 5717 5718 5719 5720 + 5721 5722 5723 5724 5725 5726 + 5727 5728 5729 5730 5731 5732 + 5733 5734 5735 5736 5737 5738 + 5739 5741 5742 5745 5746 5761 + 5762 5763 5764 5765 5766 5767 + 5768 5769 5770 5771 5772 5773 + 5774 5775 5776 5777 5778 5779 + 5920 5921 5922 5923 5924 5925 + 5926 5927 5928 5929 5930 5931 + 5932 5933 5934 5935 5936 5937 + 5938 5939 5940 5941 5942 5943 + 5944 5945 5946 5947 5948 5949 + 5950 5951 5952 5953 5954 5955 + 5956 5957 5958 5959 5960 5961 + 5962 5963 5964 5965 5966 5967 + 5968 5969 5970 5971 5972 5973 + 5974 5975 5976 5977 5978 5979 + 5980 5981 5982 5983 5984 5985 + 5986 5987 5988 5998 5999 6000 + 6001 6002 6003 6004 6005 6006 + 6007 6008 6009 6010 6011 6012 + 6139 6140 6141 6142 6143 6144 + 6145 6146 6147 6148 6149 6150 + 6151 6152 6153 6154 6155 6156 + 6157 6158 6159 6160 6161 6162 + 6163 6164 6165 6166 6167 6168 + 6169 6170 6171 6172 6173 6174 + 6175 6176 6177 6178 6179 6180 + 6181 6182 6183 6184 6185 6186 + 6187 6188 6189 6190 6191 6192 + 6193 6194 6195 6196 6197 6198 + 6199 6200 6201 6202 6203 6204 + 6205 6206 6207 6208 6209 6210 + 6211 6212 6213 6214 6215 6216 + 6217 6218 6219 6221 6222 6223 + 6224 6225 6226 6227 6228 6229 + 6230 6231 6233 6234 6236 6340 + 6341 6342 6343 6344 6345 6346 + 6347 6348 6349 6350 6351 6352 + 6353 6354 6355 6356 6357 6358 + 6359 6360 6361 6362 6363 6364 + 6365 6366 6367 6368 6369 6370 + 6371 6372 6373 6374 6375 6376 + 6377 6378 6379 6380 6381 6382 + 6383 6384 6385 6386 6387 6388 + 6389 6390 6391 6392 6393 6394 + 6395 6396 6397 6398 6399 6400 + 6401 6402 6403 6404 6405 6406 + 6407 6408 6409 6410 6411 6412 + 6413 6414 6415 6416 6417 6418 + 6419 6420 6421 6422 6423 6424 + 6425 6426 6427 6428 6429 6430 + 6431 6432 6433 6434 6435 6436 + 6437 6438 6439 6440 6441 6532 + 6533 6534 6535 6536 6537 6538 + 6539 6540 6541 6542 6543 6544 + 6545 6546 6547 6548 6549 6550 + 6551 6552 6553 6554 6555 6556 + 6557 6558 6559 6560 6561 6562 + 6563 6564 6565 6566 6567 6568 + 6569 6570 6571 6572 6573 6574 + 6575 6576 6577 6578 6579 6580 + 6581 6582 6583 6584 6585 6586 + 6587 6588 6589 6590 6591 6592 + 6593 6594 6595 6596 6597 6598 + 6599 6600 6601 6602 6603 6604 + 6605 6606 6607 6608 6609 6610 + 6611 6612 6613 6614 6615 6616 + 6617 6618 6619 6620 6621 6622 + 6623 6624 6625 6626 6627 6628 + 6629 6630 6631 6632 6633 6634 + 6635 6636 6637 6724 6725 6726 + 6727 6728 6729 6730 6731 6732 + 6733 6734 6735 6736 6737 6738 + 6739 6740 6741 6742 6743 6744 + 6745 6746 6747 6748 6749 6750 + 6751 6752 6753 6754 6755 6756 + 6757 6758 6759 6760 6761 6762 + 6763 6764 6765 6766 6767 6768 + 6769 6770 6771 6772 6773 6774 + 6775 6776 6777 6778 6779 6780 + 6781 6782 6783 6784 6785 6786 + 6787 6788 6789 6790 6791 6792 + 6793 6794 6795 6796 6797 6798 + 6799 6800 6801 6802 6803 6804 + 6805 6806 6807 6808 6809 6810 + 6811 6812 6813 6814 6815 6816 + 6817 6818 6819 6820 6821 6822 + 6823 6824 6825 6912 6913 6914 + 6915 6916 6917 6918 6919 6920 + 6921 6922 6923 6924 6925 6926 + 6927 6928 6929 6930 6931 6932 + 6933 6934 6935 6936 6937 6938 + 6939 6940 6941 6942 6943 6944 + 6945 6946 6947 6948 6949 6950 + 6951 6952 6953 6954 6955 6956 + 6957 6958 6959 6960 6961 6962 + 6963 6964 6965 6966 6967 6968 + 6969 6970 6971 6972 6973 6974 + 6975 6976 6977 6978 6979 6980 + 6981 6982 6983 6984 6985 6986 + 6987 6988 6989 6990 6991 6992 + 6993 6994 6995 6996 6997 7074 + 7075 7076 7077 7078 7079 7080 + 7081 7082 7083 7084 7085 7086 + 7087 7088 7089 7090 7091 7092 + 7093 7094 7095 7096 7097 7098 + 7099 7100 7101 7102 7103 7104 + 7105 7106 7107 7108 7109 7110 + 7111 7112 7113 7114 7115 7116 + 7117 7118 7119 7120 7121 7122 + 7123 7124 7125 7126 7127 7128 + 7129 7130 7131 7132 7133 7134 + 7135 7136 7137 7138 7139 7140 + 7141 7142 7143 7144 7145 7146 + 7147 7148 7227 7228 7229 7230 + 7231 7232 7233 7234 7235 7236 + 7237 7238 7239 7240 7241 7242 + 7243 7244 7245 7246 7247 7248 + 7249 7250 7251 7252 7253 7254 + 7255 7256 7257 7258 7259 7260 + 7261 7262 7263 7264 7265 7266 + 7267 7268 7269 7270 7271 7272 + 7273 7274 7275 7276 7277 7278 + 7279 7280 7281 7282 7283 7284 + 7285 7286 7287 7288 7289 7290 + 7360 7361 7362 7363 7364 7365 + 7366 7367 7368 7369 7370 7371 + 7372 7373 7374 7375 7376 7377 + 7378 7379 7380 7381 7382 7383 + 7384 7385 7386 7387 7388 7389 + 7390 7391 7392 7393 7394 7395 + 7396 7397 7398 7399 7400 7401 + 7402 7403 7404 7405 7406 7407 + 7408 7409 7410 7411 7412 7413 + 7485 7486 7487 7488 7489 7490 + 7491 7492 7493 7494 7495 7496 + 7497 7498 7499 7500 7501 7502 + 7503 7504 7505 7506 7507 7508 + 7509 7510 7511 7512 7513 7514 + 7515 7516 7517 7518 7519 7520 + 7521 7522 7523 7524 7525 7526 + 7527 7528 7529 7530 7531 7532 + 7533 7534 7538 7539 7540 7541 + 7626 7627 7628 7629 7630 7631 + 7632 7633 7634 7635 7636 7637 + 7638 7639 7640 7641 7642 7643 + 7644 7645 7646 7647 7648 7649 + 7650 7651 7652 7653 7654 7655 + 7656 7657 7658 7659 7660 7661 + 7662 7663 7664 7665 7666 7667 + 7668 7669 7670 7671 7681 7682 + 7683 7684 7685 7686 7770 7771 + 7772 7773 7774 7775 7776 7777 + 7778 7779 7780 7781 7782 7783 + 7784 7785 7786 7787 7788 7789 + 7790 7791 7792 7793 7794 7795 + 7796 7797 7798 7799 7800 7801 + 7802 7803 7804 7805 7806 7807 + 7808 7809 7821 7822 7823 7897 + 7898 7899 7900 7901 7902 7903 + 7904 7905 7906 7907 7908 7909 + 7910 7911 7912 7913 7914 7915 + 7916 7917 7918 7919 7920 7921 + 7922 7923 7924 7925 7926 7927 + 7928 7929 7930 7931 7932 7933 + 7934 7935 7936 7937 8015 8018 + 8019 8020 8021 8022 8023 8024 + 8025 8026 8027 8028 8029 8030 + 8031 8032 8033 8034 8035 8036 + 8037 8038 8039 8126 8127 8128 + 8131 8132 8133 8134 8217 8218 + 8219 8841 8842 8852 8853 8854 + 8855 8856 8863 8864 8865 8866 + 8867 8868 8869 8870 8876 8877 + 8878 8879 8880 8881 8882 8891 + 8892 8893 8894 8895 8896 8897 + 8898 8899 8900 8905 8906 8907 + 8908 8909 8910 8915 8916 8917 + 8918 8919 8920 8921 8926 8927 + 8932 8933 8938 8939 8943 8944 + 8947 8948 8954 8955 8960 8962 + 8964 8966 8968 8970 5310 5491 + 5492 5522 5533 5308 5529 5740 + 5524 5528 5743 5990 6232 6235 + 6220 7676 7537 7812 7947 7826 + 8113 8044 8042 8017 8043 8125 + 8130 8221 diff --git a/test/meshes/pi/dist_8/my_list00005.out b/test/meshes/pi/dist_8/my_list00005.out new file mode 100644 index 000000000..69943daec --- /dev/null +++ b/test/meshes/pi/dist_8/my_list00005.out @@ -0,0 +1,425 @@ + 5 + 393 + 38 + 2527 2529 2533 2534 2535 2536 + 2538 2588 2589 2590 2591 2595 + 2596 2597 2598 2600 2601 2602 + 2632 2640 2641 2642 2643 2644 + 2645 2648 2649 2650 2651 2652 + 2653 2654 2655 2656 2657 2658 + 2659 2684 2685 2686 2687 2688 + 2689 2690 2691 2692 2693 2694 + 2695 2696 2697 2698 2699 2700 + 2701 2702 2703 2704 2705 2706 + 2707 2708 2729 2730 2731 2732 + 2733 2734 2735 2736 2737 2738 + 2739 2740 2741 2742 2743 2744 + 2745 2746 2747 2748 2749 2750 + 2751 2752 2753 2754 2773 2775 + 2776 2777 2778 2779 2780 2781 + 2782 2783 2784 2785 2786 2787 + 2788 2789 2790 2791 2792 2793 + 2794 2795 2796 2797 2798 2799 + 2800 2801 2802 2803 2820 2821 + 2822 2825 2826 2827 2828 2829 + 2830 2831 2832 2833 2834 2835 + 2836 2837 2838 2839 2840 2841 + 2842 2843 2844 2845 2846 2847 + 2848 2849 2850 2851 2852 2853 + 2854 2869 2870 2871 2872 2874 + 2875 2876 2877 2878 2879 2880 + 2881 2882 2883 2884 2885 2886 + 2887 2888 2889 2890 2891 2892 + 2893 2894 2895 2896 2897 2898 + 2899 2915 2916 2917 2918 2919 + 2920 2921 2922 2923 2924 2925 + 2926 2927 2928 2929 2930 2931 + 2932 2933 2934 2935 2936 2937 + 2938 2939 2940 2941 2942 2952 + 2953 2954 2955 2956 2957 2958 + 2959 2960 2961 2962 2963 2964 + 2965 2966 2967 2968 2969 2970 + 2971 2972 2973 2974 2975 2976 + 2977 2978 2979 2980 2981 2983 + 2986 2987 2988 2989 2990 2991 + 2992 2993 2994 2995 2996 2997 + 2998 2999 3000 3001 3002 3003 + 3004 3005 3006 3007 3008 3009 + 3010 3011 3012 3013 3014 3016 + 3018 3019 3020 3021 3022 3023 + 3024 3025 3026 3027 3028 3029 + 3030 3031 3032 3033 3034 3035 + 3036 3037 3038 3039 3040 3041 + 3042 3043 3044 3045 3046 3047 + 3048 3049 3050 3051 3052 3053 + 3054 3055 3056 3057 3058 3059 + 3060 3061 3062 3063 3064 3065 + 3066 3067 3068 3069 3070 3071 + 3072 3073 3074 3075 3076 3077 + 3078 3079 3080 3081 3082 3083 + 3084 3085 3086 3087 3088 3089 + 3090 3091 3092 3093 3094 3095 + 3096 3097 3098 3099 3100 3101 + 3102 3103 3104 3105 3106 3107 + 3108 3109 3110 3111 3112 3113 + 3114 3115 3116 3117 3118 3119 + 3120 3121 3122 3123 3124 3125 + 3126 3127 3128 3129 3130 3131 + 3132 3133 3134 3135 3136 3137 + 3138 3139 3140 2772 2819 2824 + 2873 2900 2904 2914 2943 2944 + 2945 2947 2982 3015 3017 2526 + 2540 2587 2594 2599 2603 2604 + 2633 2634 2635 2636 2637 2638 + 2639 2646 2647 2462 2463 2466 + 2467 2468 2469 2528 2576 + 782 + 35 + 40 + 4551 4552 4560 4562 4563 4666 + 4667 4668 4669 4670 4671 4672 + 4673 4677 4678 4679 4680 4681 + 4682 4683 4686 4687 4759 4780 + 4781 4783 4784 4785 4786 4787 + 4788 4794 4795 4796 4797 4798 + 4799 4800 4801 4802 4803 4805 + 4806 4807 4808 4809 4810 4811 + 4873 4875 4877 4880 4883 4884 + 4885 4886 4887 4888 4889 4890 + 4891 4892 4893 4894 4895 4897 + 4899 4900 4901 4902 4903 4904 + 4905 4906 4907 4908 4909 4910 + 4911 4912 4913 4914 4915 4916 + 4917 4918 4919 4920 4921 4922 + 4968 4969 4970 4971 4972 4973 + 4974 4975 4976 4977 4978 4979 + 4980 4981 4982 4983 4984 4985 + 4986 4987 4988 4989 4990 4991 + 4992 4993 4994 4995 4996 4997 + 4998 4999 5000 5001 5002 5003 + 5004 5005 5006 5007 5008 5009 + 5010 5011 5052 5053 5054 5055 + 5056 5057 5058 5059 5060 5061 + 5062 5063 5064 5065 5066 5067 + 5068 5069 5070 5071 5072 5073 + 5074 5075 5076 5077 5078 5079 + 5080 5081 5082 5083 5084 5085 + 5086 5087 5088 5089 5090 5091 + 5092 5093 5094 5095 5096 5097 + 5098 5099 5100 5101 5102 5103 + 5139 5140 5144 5145 5146 5147 + 5148 5149 5150 5151 5152 5153 + 5154 5155 5156 5157 5158 5159 + 5160 5161 5162 5163 5164 5165 + 5166 5167 5168 5169 5170 5171 + 5172 5173 5174 5175 5176 5177 + 5178 5179 5180 5181 5182 5183 + 5184 5185 5186 5187 5188 5189 + 5190 5191 5192 5193 5194 5195 + 5196 5197 5198 5225 5226 5227 + 5228 5229 5233 5234 5235 5236 + 5237 5238 5239 5240 5241 5242 + 5243 5244 5245 5246 5247 5248 + 5249 5250 5251 5252 5253 5254 + 5255 5256 5257 5258 5259 5260 + 5261 5262 5263 5264 5265 5266 + 5267 5268 5269 5270 5271 5272 + 5273 5274 5275 5276 5277 5278 + 5279 5280 5281 5282 5283 5284 + 5285 5286 5287 5288 5289 5290 + 5291 5318 5319 5320 5321 5322 + 5323 5324 5325 5326 5327 5328 + 5329 5330 5331 5332 5333 5334 + 5335 5336 5337 5338 5339 5340 + 5341 5342 5343 5344 5345 5346 + 5347 5348 5349 5350 5351 5352 + 5353 5354 5355 5356 5357 5358 + 5359 5360 5361 5362 5363 5364 + 5365 5366 5367 5368 5369 5370 + 5371 5372 5373 5374 5376 5377 + 5384 5406 5407 5408 5409 5410 + 5411 5412 5413 5414 5415 5416 + 5417 5418 5419 5420 5421 5422 + 5423 5424 5425 5426 5427 5428 + 5429 5430 5431 5432 5433 5434 + 5435 5436 5437 5438 5439 5440 + 5441 5442 5443 5444 5445 5446 + 5447 5448 5449 5450 5451 5452 + 5453 5454 5455 5456 5457 5458 + 5459 5460 5461 5462 5463 5464 + 5465 5468 5470 5471 5475 5476 + 5483 5484 5485 5486 5487 5488 + 5489 5490 5491 5492 5493 5494 + 5495 5496 5497 5498 5499 5500 + 5501 5502 5503 5504 5505 5506 + 5507 5508 5509 5510 5511 5512 + 5513 5514 5515 5516 5517 5518 + 5519 5520 5521 5522 5523 5524 + 5525 5526 5527 5528 5529 5530 + 5531 5532 5533 5534 5535 5536 + 5537 5538 5539 5540 5541 5542 + 5543 5544 5545 5547 5554 5555 + 5556 5557 5558 5559 5560 5561 + 5562 5563 5564 5565 5566 5567 + 5568 5569 5570 5571 5572 5573 + 5574 5575 5576 5577 5578 5579 + 5580 5581 5582 5583 5584 5585 + 5586 5587 5588 5589 5590 5591 + 5592 5593 5594 5595 5596 5597 + 5598 5599 5600 5601 5602 5603 + 5604 5605 5606 5607 5608 5609 + 5610 5611 5612 5613 5614 5615 + 5616 5617 5618 5619 5620 5621 + 5622 5623 5624 5625 5626 5627 + 5628 5629 5630 5631 5632 5633 + 5634 5635 5636 5637 5638 5639 + 5640 5641 5642 5643 5644 5645 + 5646 5647 5648 5649 5650 5651 + 5652 5653 5654 5655 5656 5657 + 5658 5659 5660 5661 5662 5663 + 5664 5665 5666 5667 5668 5669 + 5670 5671 5672 5673 5674 5675 + 5676 5677 5678 5679 5680 5681 + 5682 5683 5684 5685 5686 5687 + 5688 5689 5690 5691 5692 5693 + 5694 5695 5696 5697 5698 5699 + 5700 5701 5702 5703 5704 5705 + 5706 5707 5708 5709 5710 5711 + 5712 5713 5714 5715 5716 5717 + 5718 5719 5720 5721 5722 5723 + 5724 5725 5726 5727 5728 5729 + 5730 5731 5732 5733 5734 5735 + 5736 5737 5738 5739 5740 5741 + 5742 5743 5744 5745 5746 5747 + 5748 5749 5750 5751 5752 5753 + 5754 5755 5756 5757 5758 5759 + 5760 5761 5762 5763 5764 5765 + 5766 5767 5768 5769 5770 5771 + 5772 5773 5774 5775 5776 5777 + 5778 5779 5780 5781 5782 5783 + 5784 5785 5786 5787 5788 5789 + 5790 5791 5792 5793 5794 5795 + 5796 5797 5798 5799 5800 5801 + 5802 5803 5804 5805 5806 5807 + 5808 5809 5810 5811 5812 5813 + 5814 5815 5816 5817 5818 5819 + 5820 5821 5822 5823 5824 5825 + 5826 5827 5828 5829 5830 5831 + 5832 5833 5834 5835 5836 5837 + 5838 5839 5138 5224 5231 5292 + 5299 5380 5382 5391 5469 5472 + 5474 5546 5549 4688 4689 4760 + 4764 4769 4782 4790 4793 4812 + 4874 4876 4878 4881 4882 4898 + 4413 4554 4558 4559 4564 4637 + 4638 5050 5141 5142 5232 5297 + 5375 5383 5385 5392 5405 5466 + 5467 5473 5550 5551 4656 4665 + 4676 4685 4690 4763 4765 4766 + 4771 4772 4773 4774 4775 4804 + 4813 4814 4879 4896 4410 4412 + 4415 4550 4553 4561 4758 + 1177 + 35 + 6686 6688 6691 6697 6699 6701 + 6702 6703 6705 6706 6865 6866 + 6868 6869 6870 6871 6873 6874 + 6875 6876 6884 6885 6886 6887 + 6888 6889 6890 6891 6892 6893 + 6897 6898 6899 6900 6901 6905 + 6998 7026 7027 7029 7030 7031 + 7032 7033 7034 7035 7036 7037 + 7038 7039 7040 7048 7049 7050 + 7051 7052 7053 7054 7055 7056 + 7057 7060 7061 7062 7063 7064 + 7065 7066 7067 7068 7069 7070 + 7071 7072 7149 7151 7152 7155 + 7156 7158 7160 7161 7162 7163 + 7164 7165 7167 7168 7169 7170 + 7171 7172 7173 7174 7175 7176 + 7177 7178 7179 7180 7181 7182 + 7183 7184 7185 7186 7187 7188 + 7189 7191 7192 7193 7194 7195 + 7196 7197 7198 7199 7200 7201 + 7202 7203 7204 7205 7206 7207 + 7208 7209 7210 7211 7212 7213 + 7214 7215 7216 7217 7218 7219 + 7220 7221 7222 7223 7224 7225 + 7226 7291 7292 7293 7294 7295 + 7296 7297 7298 7299 7300 7301 + 7302 7303 7304 7305 7306 7307 + 7308 7309 7310 7311 7312 7313 + 7314 7315 7316 7317 7318 7319 + 7320 7321 7322 7323 7324 7325 + 7326 7327 7328 7329 7330 7331 + 7332 7333 7334 7335 7336 7337 + 7338 7339 7340 7341 7342 7343 + 7344 7345 7346 7347 7348 7349 + 7350 7351 7352 7353 7354 7355 + 7356 7357 7358 7359 7414 7415 + 7416 7417 7418 7419 7420 7421 + 7422 7423 7424 7425 7426 7427 + 7428 7429 7430 7431 7432 7433 + 7434 7435 7436 7437 7438 7439 + 7440 7441 7442 7443 7444 7445 + 7446 7447 7448 7449 7450 7451 + 7452 7453 7454 7455 7456 7457 + 7458 7459 7460 7461 7462 7463 + 7464 7465 7466 7467 7468 7469 + 7470 7471 7472 7473 7474 7475 + 7476 7477 7478 7479 7480 7481 + 7482 7483 7484 7534 7535 7536 + 7537 7542 7543 7544 7545 7546 + 7547 7548 7549 7550 7551 7552 + 7553 7554 7555 7556 7557 7558 + 7559 7560 7561 7562 7563 7564 + 7565 7566 7567 7568 7569 7570 + 7571 7572 7573 7574 7575 7576 + 7577 7578 7579 7580 7581 7582 + 7583 7584 7585 7586 7587 7588 + 7589 7590 7591 7592 7593 7594 + 7595 7596 7597 7598 7599 7600 + 7601 7602 7603 7604 7605 7606 + 7607 7608 7609 7610 7611 7612 + 7613 7614 7615 7616 7617 7618 + 7619 7620 7621 7622 7623 7624 + 7625 7670 7671 7672 7673 7674 + 7675 7676 7677 7678 7679 7680 + 7685 7686 7687 7688 7689 7690 + 7691 7692 7693 7694 7695 7696 + 7697 7698 7699 7700 7701 7702 + 7703 7704 7705 7706 7707 7708 + 7709 7710 7711 7712 7713 7714 + 7715 7716 7717 7718 7719 7720 + 7721 7722 7723 7724 7725 7726 + 7727 7728 7729 7730 7731 7732 + 7733 7734 7735 7736 7737 7738 + 7739 7740 7741 7742 7743 7744 + 7745 7746 7747 7748 7749 7750 + 7751 7752 7753 7754 7755 7756 + 7757 7758 7759 7760 7761 7762 + 7763 7764 7765 7766 7767 7768 + 7769 7810 7811 7812 7813 7814 + 7815 7816 7817 7818 7819 7820 + 7822 7823 7824 7825 7826 7827 + 7828 7829 7830 7831 7832 7833 + 7834 7835 7836 7837 7838 7839 + 7840 7841 7842 7843 7844 7845 + 7846 7847 7848 7849 7850 7851 + 7852 7853 7854 7855 7856 7857 + 7858 7859 7860 7861 7862 7863 + 7864 7865 7866 7867 7868 7869 + 7870 7871 7872 7873 7874 7875 + 7876 7877 7878 7879 7880 7881 + 7882 7883 7884 7885 7886 7887 + 7888 7889 7890 7891 7892 7893 + 7894 7895 7896 7898 7899 7909 + 7935 7937 7938 7939 7940 7941 + 7942 7943 7944 7945 7946 7947 + 7948 7949 7950 7951 7952 7953 + 7954 7955 7956 7957 7958 7959 + 7960 7961 7962 7963 7964 7965 + 7966 7967 7968 7969 7970 7971 + 7972 7973 7974 7975 7976 7977 + 7978 7979 7980 7981 7982 7983 + 7984 7985 7986 7987 7988 7989 + 7990 7991 7992 7993 7994 7995 + 7996 7997 7998 7999 8000 8001 + 8002 8003 8004 8005 8006 8007 + 8008 8009 8010 8011 8012 8013 + 8014 8015 8016 8017 8019 8020 + 8021 8022 8024 8025 8030 8031 + 8040 8041 8042 8043 8044 8045 + 8046 8047 8048 8049 8050 8051 + 8052 8053 8054 8055 8056 8057 + 8058 8059 8060 8061 8062 8063 + 8064 8065 8066 8067 8068 8069 + 8070 8071 8072 8073 8074 8075 + 8076 8077 8078 8079 8080 8081 + 8082 8083 8084 8085 8086 8087 + 8088 8089 8090 8091 8092 8093 + 8094 8095 8096 8097 8098 8099 + 8100 8101 8102 8103 8104 8105 + 8106 8107 8108 8109 8110 8111 + 8112 8113 8114 8115 8116 8117 + 8118 8119 8120 8121 8122 8123 + 8124 8125 8126 8129 8130 8131 + 8135 8136 8137 8138 8139 8140 + 8141 8142 8143 8144 8145 8146 + 8147 8148 8149 8150 8151 8152 + 8153 8154 8155 8156 8157 8158 + 8159 8160 8161 8162 8163 8164 + 8165 8166 8167 8168 8169 8170 + 8171 8172 8173 8174 8175 8176 + 8177 8178 8179 8180 8181 8182 + 8183 8184 8185 8186 8187 8188 + 8189 8190 8191 8192 8193 8194 + 8195 8196 8197 8198 8199 8200 + 8201 8202 8203 8204 8205 8206 + 8207 8208 8209 8210 8211 8212 + 8213 8214 8215 8216 8217 8219 + 8220 8221 8222 8223 8224 8225 + 8226 8227 8228 8229 8230 8231 + 8232 8233 8234 8235 8236 8237 + 8238 8239 8240 8241 8242 8243 + 8244 8245 8246 8247 8248 8249 + 8250 8251 8252 8253 8254 8255 + 8256 8257 8258 8259 8260 8261 + 8262 8263 8264 8265 8266 8267 + 8268 8269 8270 8271 8272 8273 + 8274 8275 8276 8277 8278 8279 + 8280 8281 8282 8283 8284 8285 + 8286 8287 8288 8289 8290 8291 + 8292 8293 8294 8295 8296 8297 + 8298 8299 8300 8301 8302 8303 + 8304 8305 8306 8307 8308 8309 + 8310 8311 8312 8313 8314 8315 + 8316 8317 8318 8319 8320 8321 + 8322 8323 8324 8325 8326 8327 + 8328 8329 8330 8331 8332 8333 + 8334 8335 8336 8337 8338 8339 + 8340 8341 8342 8343 8344 8345 + 8346 8347 8348 8349 8350 8351 + 8352 8353 8354 8355 8356 8357 + 8358 8359 8360 8361 8362 8363 + 8364 8365 8366 8367 8368 8369 + 8370 8371 8372 8373 8374 8375 + 8376 8377 8378 8379 8380 8381 + 8382 8383 8384 8385 8386 8387 + 8388 8389 8390 8391 8392 8393 + 8394 8395 8396 8397 8398 8399 + 8400 8401 8402 8403 8404 8405 + 8406 8407 8408 8409 8410 8411 + 8412 8413 8414 8415 8416 8417 + 8418 8419 8420 8421 8422 8423 + 8424 8425 8426 8427 8428 8429 + 8430 8431 8432 8433 8434 8435 + 8436 8437 8438 8439 8440 8441 + 8442 8443 8444 8445 8446 8447 + 8448 8449 8450 8451 8452 8453 + 8454 8455 8456 8457 8458 8459 + 8460 8461 8462 8463 8464 8465 + 8466 8467 8468 8469 8470 8471 + 8472 8473 8474 8475 8476 8477 + 8478 8479 8480 8481 8482 8483 + 8484 8485 8486 8487 8488 8489 + 8490 8491 8492 8493 8494 8495 + 8496 8497 8498 8499 8500 8501 + 8502 8503 8504 8505 8506 8507 + 8508 8509 8510 8511 8512 8513 + 8514 8515 8516 8517 8518 8519 + 8520 8521 8522 8523 8524 8525 + 8526 8527 8528 8529 8530 8531 + 8924 8930 8934 8935 8936 8937 + 8940 8941 8942 8945 8946 8949 + 8950 8951 8952 8953 8955 8956 + 8957 8958 8959 8961 8963 8965 + 8967 8969 8970 8971 8972 8973 + 8974 8975 8976 8977 8978 8979 + 8980 8981 8982 8983 8984 8985 + 8986 6685 6689 6700 6704 6864 + 6867 6687 6698 6872 7028 7047 + 7059 6906 7058 7153 7159 7166 + 7073 7150 7154 7157 7190 7533 + 7669 7684 7821 7897 7934 7910 + 8018 8023 8029 7936 8127 8218 diff --git a/test/meshes/pi/dist_8/my_list00006.out b/test/meshes/pi/dist_8/my_list00006.out new file mode 100644 index 000000000..92d30113d --- /dev/null +++ b/test/meshes/pi/dist_8/my_list00006.out @@ -0,0 +1,422 @@ + 6 + 393 + 37 + 1399 1400 1436 1438 1439 1440 + 1441 1442 1484 1485 1486 1487 + 1488 1489 1490 1491 1520 1521 + 1522 1523 1524 1536 1537 1538 + 1539 1540 1541 1542 1577 1578 + 1579 1580 1581 1582 1583 1585 + 1586 1587 1588 1597 1598 1599 + 1600 1601 1602 1603 1604 1614 + 1615 1646 1647 1648 1649 1650 + 1651 1652 1653 1654 1655 1656 + 1657 1658 1659 1660 1661 1668 + 1669 1670 1671 1672 1673 1684 + 1712 1713 1714 1715 1716 1717 + 1718 1719 1720 1721 1722 1723 + 1724 1725 1726 1727 1732 1733 + 1734 1735 1736 1776 1777 1778 + 1779 1780 1781 1782 1783 1784 + 1785 1786 1787 1788 1789 1790 + 1794 1795 1796 1797 1835 1838 + 1839 1840 1841 1842 1843 1844 + 1845 1846 1847 1848 1849 1850 + 1851 1855 1856 1857 1861 1896 + 1899 1900 1901 1902 1903 1904 + 1905 1906 1907 1908 1909 1910 + 1911 1914 1915 1917 1918 1919 + 1924 1925 1926 1927 1928 1929 + 1930 1968 1969 1970 1972 1973 + 1974 1975 1976 1977 1978 1979 + 1980 1981 1983 1984 1988 1989 + 1990 1991 1992 1993 1994 1995 + 2001 2002 2003 2004 2005 2006 + 2007 2008 2009 2051 2052 2053 + 2054 2056 2057 2058 2059 2060 + 2061 2062 2063 2064 2068 2069 + 2070 2071 2072 2073 2074 2075 + 2076 2083 2084 2085 2086 2087 + 2088 2089 2090 2137 2138 2139 + 2140 2142 2143 2144 2145 2146 + 2147 2148 2151 2152 2153 2154 + 2155 2156 2157 2158 2159 2166 + 2167 2168 2169 2170 2171 2172 + 2220 2221 2222 2223 2224 2225 + 2226 2227 2228 2229 2230 2231 + 2232 2233 2234 2235 2236 2237 + 2238 2239 2248 2249 2250 2251 + 2252 2253 2254 2255 2302 2303 + 2304 2305 2306 2307 2308 2309 + 2310 2311 2312 2313 2314 2315 + 2316 2317 2318 2320 2325 2326 + 2327 2328 2329 2330 2331 2332 + 2376 2377 2378 2379 2380 2381 + 2382 2383 2384 2385 2386 2387 + 2388 2389 2391 2392 2397 2398 + 2399 2400 2401 2402 2403 2404 + 2449 2450 2451 2452 2453 2454 + 2455 2456 2457 2458 2459 2460 + 2461 2464 2465 2470 2471 2472 + 2473 2474 2475 2476 2515 2516 + 2517 2518 2519 2520 2521 2522 + 2523 2524 2525 2526 2530 2531 + 2532 2537 2539 2540 2541 2542 + 2543 2577 2578 2579 2580 2581 + 2582 2583 2584 2585 2586 2587 + 2592 2593 2594 2599 2603 2604 + 2633 2634 2635 2636 2637 2638 + 2639 2646 2647 1584 1616 1683 + 1745 2538 2588 2602 2640 2648 + 2654 2659 2685 2686 2687 2688 + 2689 2691 2696 2697 1437 1483 + 1535 1596 1667 1731 1793 1854 + 1913 1982 2055 2141 2149 2150 + 2165 2219 2241 2247 + 772 + 34 + 39 + 2568 2632 2634 2635 2636 2637 + 2638 2639 2640 2641 2714 2715 + 2716 2717 2718 2719 2720 2721 + 2722 2723 2724 2725 2726 2727 + 2728 2729 2730 2731 2787 2788 + 2789 2790 2812 2813 2814 2815 + 2816 2817 2818 2819 2820 2821 + 2822 2823 2824 2825 2826 2827 + 2887 2888 2889 2890 2891 2892 + 2893 2894 2895 2896 2897 2898 + 2899 2900 2902 2904 2905 2906 + 2907 2908 2909 2910 2911 2924 + 2927 2928 2929 2930 2931 2932 + 2933 2934 2935 2936 2937 2938 + 2939 2940 2941 2942 2943 2944 + 2962 2963 2964 3021 3022 3023 + 3024 3025 3026 3027 3028 3029 + 3030 3031 3032 3033 3034 3035 + 3036 3037 3038 3039 3040 3041 + 3042 3043 3055 3056 3057 3058 + 3059 3060 3061 3062 3063 3064 + 3065 3066 3067 3087 3088 3141 + 3142 3143 3144 3145 3146 3147 + 3148 3149 3150 3151 3152 3153 + 3154 3155 3156 3157 3158 3159 + 3160 3161 3162 3163 3164 3165 + 3166 3167 3168 3169 3170 3171 + 3172 3173 3174 3175 3184 3185 + 3186 3187 3188 3189 3190 3191 + 3192 3265 3266 3267 3268 3269 + 3270 3271 3272 3273 3274 3275 + 3276 3277 3278 3279 3280 3281 + 3282 3283 3284 3285 3286 3287 + 3288 3289 3290 3291 3292 3293 + 3294 3295 3302 3303 3304 3305 + 3306 3307 3308 3309 3310 3385 + 3389 3390 3391 3392 3393 3394 + 3395 3396 3397 3398 3399 3400 + 3401 3402 3403 3404 3405 3406 + 3407 3408 3409 3410 3411 3412 + 3413 3419 3420 3421 3422 3423 + 3424 3425 3426 3432 3496 3503 + 3504 3505 3506 3507 3508 3509 + 3510 3511 3512 3513 3514 3515 + 3516 3517 3518 3519 3520 3521 + 3522 3523 3524 3528 3529 3530 + 3531 3532 3533 3534 3538 3539 + 3540 3541 3553 3554 3555 3556 + 3557 3558 3559 3560 3561 3627 + 3628 3629 3630 3631 3633 3634 + 3635 3636 3637 3638 3639 3640 + 3641 3642 3643 3644 3645 3646 + 3647 3648 3649 3650 3651 3652 + 3653 3654 3655 3656 3657 3658 + 3659 3660 3661 3662 3669 3670 + 3671 3672 3673 3674 3675 3676 + 3677 3678 3679 3680 3681 3690 + 3691 3692 3693 3694 3695 3696 + 3697 3698 3699 3700 3701 3702 + 3703 3704 3705 3779 3780 3781 + 3782 3783 3784 3785 3786 3787 + 3788 3789 3790 3791 3792 3793 + 3794 3795 3796 3797 3798 3799 + 3800 3801 3810 3811 3812 3813 + 3814 3815 3816 3817 3818 3819 + 3820 3821 3822 3823 3824 3825 + 3826 3827 3828 3829 3843 3844 + 3845 3846 3847 3848 3849 3850 + 3851 3852 3853 3854 3855 3856 + 3857 3947 3948 3949 3950 3951 + 3952 3953 3955 3956 3957 3958 + 3959 3960 3961 3962 3963 3964 + 3965 3966 3967 3968 3969 3970 + 3972 3973 3974 3975 3976 3977 + 3978 3979 3980 3981 3982 3983 + 3984 3985 3986 3987 3988 3989 + 4000 4001 4002 4003 4004 4005 + 4006 4007 4008 4009 4010 4011 + 4012 4095 4096 4097 4098 4099 + 4100 4101 4102 4103 4104 4105 + 4106 4107 4108 4109 4110 4111 + 4112 4113 4114 4115 4116 4117 + 4118 4119 4120 4121 4122 4123 + 4124 4125 4126 4127 4128 4129 + 4130 4131 4132 4133 4136 4139 + 4148 4149 4150 4151 4152 4153 + 4154 4155 4156 4157 4158 4159 + 4160 4161 4162 4163 4164 4165 + 4240 4241 4242 4243 4244 4245 + 4246 4247 4248 4249 4250 4251 + 4252 4253 4254 4255 4256 4257 + 4258 4259 4260 4261 4262 4263 + 4264 4265 4266 4267 4268 4269 + 4270 4271 4272 4273 4274 4275 + 4276 4278 4279 4290 4291 4292 + 4293 4294 4295 4296 4297 4298 + 4299 4300 4301 4379 4380 4381 + 4382 4383 4384 4385 4386 4387 + 4388 4389 4390 4391 4392 4393 + 4394 4395 4396 4397 4398 4399 + 4400 4401 4402 4403 4404 4407 + 4408 4417 4418 4419 4420 4421 + 4422 4423 4424 4425 4426 4427 + 4428 4429 4430 4431 4432 4521 + 4522 4523 4524 4525 4526 4527 + 4528 4529 4530 4531 4532 4533 + 4534 4535 4536 4537 4538 4539 + 4540 4541 4542 4543 4544 4545 + 4546 4547 4548 4549 4555 4556 + 4557 4565 4566 4567 4568 4569 + 4570 4571 4572 4573 4574 4575 + 4576 4577 4578 4640 4641 4642 + 4643 4644 4645 4646 4647 4648 + 4649 4650 4651 4652 4653 4654 + 4655 4656 4657 4658 4659 4660 + 4661 4662 4663 4664 4665 4666 + 4667 4674 4675 4676 4684 4685 + 4686 4687 4688 4689 4690 4691 + 4692 4760 4761 4762 4763 4764 + 4765 4766 4767 4768 4769 4770 + 4771 4772 4773 4774 4775 4776 + 4777 4778 4779 4780 4781 4782 + 4789 4790 4791 4792 4793 4794 + 4803 4804 4808 4809 4812 4813 + 4814 4874 4875 4876 4877 4878 + 4879 4880 4881 4882 4883 4884 + 4896 4897 4898 4900 4910 4922 + 4969 4970 4973 4974 4976 4977 + 4979 4983 4990 4993 2965 3086 + 3089 4783 4810 4811 4886 4911 + 4972 4975 4984 4994 5004 5060 + 5062 5063 5082 2633 2713 2810 + 2926 3183 3300 3301 3418 3525 + 3632 3804 3808 3944 3945 3954 + 4137 4147 2901 2903 3090 3206 + 3207 3213 4806 4885 4888 4899 + 4909 4920 4921 4971 4978 4980 + 4991 4992 5058 5061 5071 2711 + 2712 2925 3054 3182 3298 3299 + 3417 3527 3664 3803 3805 3809 + 3946 3971 3999 4138 4289 + 1167 + 34 + 3766 3767 3768 3769 3863 3864 + 3866 3867 3868 3869 3870 3871 + 3872 3873 3874 3875 3876 3877 + 3878 3879 3880 3881 3882 3997 + 3998 3999 4000 4001 4002 4003 + 4004 4005 4006 4007 4008 4009 + 4010 4011 4012 4013 4014 4015 + 4016 4017 4018 4019 4099 4100 + 4101 4102 4103 4104 4105 4106 + 4107 4108 4109 4138 4139 4140 + 4141 4142 4143 4144 4145 4146 + 4147 4148 4149 4150 4151 4152 + 4153 4154 4155 4156 4157 4158 + 4159 4160 4256 4257 4258 4259 + 4260 4261 4262 4263 4264 4265 + 4266 4267 4268 4269 4270 4271 + 4272 4273 4274 4275 4277 4279 + 4280 4281 4282 4283 4284 4285 + 4286 4287 4288 4289 4290 4291 + 4292 4313 4315 4316 4317 4318 + 4319 4320 4321 4322 4323 4324 + 4325 4326 4327 4328 4329 4330 + 4331 4332 4333 4334 4335 4336 + 4337 4364 4365 4366 4367 4453 + 4454 4455 4456 4457 4458 4459 + 4460 4461 4462 4463 4464 4465 + 4466 4467 4468 4469 4470 4471 + 4472 4473 4474 4475 4476 4477 + 4478 4479 4480 4481 4482 4483 + 4484 4485 4486 4487 4488 4489 + 4490 4491 4492 4493 4494 4495 + 4510 4512 4513 4514 4515 4516 + 4517 4518 4519 4520 4521 4522 + 4523 4524 4525 4526 4527 4528 + 4555 4632 4633 4634 4635 4636 + 4637 4638 4639 4640 4641 4642 + 4643 4644 4645 4646 4647 4648 + 4649 4650 4651 4652 4653 4654 + 4655 4656 4657 4658 4659 4660 + 4661 4662 4663 4664 4665 4666 + 4667 4668 4669 4670 4671 4672 + 4673 4674 4675 4676 4677 4687 + 4689 4690 4691 4692 4693 4694 + 4695 4696 4697 4698 4699 4700 + 4701 4702 4812 4813 4814 4815 + 4816 4817 4818 4819 4820 4821 + 4822 4823 4824 4825 4826 4827 + 4828 4829 4830 4831 4832 4833 + 4834 4835 4836 4837 4838 4839 + 4840 4841 4842 4843 4844 4845 + 4846 4847 4848 4849 4850 4851 + 4852 4853 4862 4863 4864 4865 + 4866 4867 4868 4869 4870 4871 + 4872 4873 4981 4982 4989 4990 + 4991 4992 4993 4994 4995 4996 + 4997 4998 4999 5000 5001 5002 + 5003 5004 5005 5006 5007 5008 + 5009 5010 5011 5012 5013 5014 + 5015 5016 5017 5018 5019 5020 + 5021 5022 5023 5024 5025 5026 + 5027 5028 5029 5035 5038 5039 + 5040 5041 5042 5043 5044 5045 + 5055 5056 5153 5160 5161 5162 + 5163 5164 5165 5166 5167 5168 + 5169 5170 5171 5172 5173 5174 + 5175 5176 5177 5178 5179 5180 + 5181 5182 5183 5184 5185 5186 + 5187 5188 5189 5190 5191 5192 + 5193 5194 5195 5196 5201 5202 + 5203 5204 5205 5206 5207 5212 + 5213 5214 5215 5216 5217 5218 + 5219 5234 5235 5236 5237 5238 + 5239 5240 5241 5242 5243 5244 + 5245 5246 5247 5248 5249 5250 + 5251 5252 5253 5254 5255 5361 + 5362 5363 5364 5365 5366 5367 + 5368 5372 5373 5374 5375 5376 + 5377 5378 5379 5380 5381 5382 + 5383 5384 5385 5386 5387 5388 + 5389 5390 5391 5392 5393 5394 + 5395 5396 5397 5398 5399 5401 + 5402 5403 5404 5405 5406 5418 + 5419 5420 5421 5422 5423 5424 + 5425 5426 5427 5428 5429 5430 + 5431 5432 5433 5434 5435 5436 + 5437 5438 5439 5455 5456 5457 + 5458 5459 5460 5461 5462 5463 + 5464 5465 5466 5467 5468 5469 + 5470 5471 5472 5473 5474 5475 + 5476 5477 5478 5586 5587 5588 + 5589 5590 5591 5592 5593 5594 + 5595 5596 5597 5598 5601 5602 + 5603 5604 5605 5606 5607 5608 + 5609 5610 5611 5612 5613 5614 + 5615 5616 5617 5618 5619 5620 + 5621 5622 5623 5624 5625 5634 + 5635 5636 5637 5638 5639 5640 + 5641 5642 5643 5644 5645 5646 + 5647 5648 5649 5650 5651 5652 + 5653 5654 5655 5656 5657 5658 + 5659 5660 5679 5680 5681 5682 + 5683 5684 5685 5686 5687 5688 + 5689 5690 5691 5692 5693 5694 + 5695 5696 5697 5698 5699 5815 + 5816 5817 5818 5819 5820 5821 + 5822 5823 5824 5825 5826 5827 + 5828 5830 5831 5832 5833 5834 + 5835 5836 5837 5838 5839 5840 + 5841 5842 5843 5844 5845 5846 + 5847 5848 5849 5851 5852 5854 + 5855 5856 5857 5858 5859 5860 + 5861 5862 5863 5864 5865 5866 + 5867 5868 5869 5870 5871 5872 + 5873 5874 5875 5876 5877 5878 + 5879 5880 5900 5901 5902 5903 + 5904 5905 5906 5907 5908 5909 + 5910 5911 5912 5913 5914 5915 + 5916 5917 5918 5919 6038 6039 + 6040 6041 6042 6043 6044 6045 + 6046 6047 6048 6049 6050 6051 + 6052 6053 6054 6055 6056 6057 + 6058 6059 6060 6061 6062 6063 + 6064 6065 6066 6067 6068 6069 + 6070 6071 6072 6073 6074 6075 + 6076 6077 6078 6079 6080 6081 + 6082 6083 6084 6085 6086 6087 + 6088 6089 6090 6091 6092 6093 + 6094 6095 6096 6100 6102 6118 + 6119 6120 6121 6122 6123 6124 + 6125 6126 6127 6128 6129 6130 + 6131 6132 6133 6134 6135 6136 + 6137 6138 6254 6255 6256 6257 + 6258 6259 6260 6261 6262 6263 + 6264 6265 6266 6267 6268 6269 + 6270 6271 6272 6273 6274 6275 + 6276 6277 6278 6279 6280 6281 + 6282 6283 6284 6285 6286 6287 + 6288 6289 6290 6291 6292 6293 + 6294 6295 6296 6297 6298 6299 + 6300 6301 6302 6306 6307 6318 + 6319 6320 6321 6322 6323 6324 + 6325 6326 6327 6328 6329 6330 + 6331 6332 6333 6334 6335 6336 + 6337 6338 6339 6453 6454 6455 + 6456 6457 6458 6459 6460 6461 + 6462 6463 6464 6465 6466 6467 + 6468 6469 6470 6471 6472 6473 + 6474 6475 6476 6477 6478 6479 + 6480 6481 6482 6483 6484 6485 + 6486 6487 6488 6489 6490 6491 + 6492 6497 6498 6499 6500 6511 + 6512 6513 6514 6515 6516 6517 + 6518 6519 6520 6521 6522 6523 + 6524 6525 6526 6527 6528 6529 + 6530 6531 6647 6648 6649 6650 + 6651 6652 6653 6654 6655 6656 + 6657 6658 6659 6660 6661 6662 + 6663 6664 6665 6666 6667 6668 + 6669 6670 6671 6672 6673 6674 + 6675 6676 6677 6678 6679 6680 + 6681 6682 6683 6684 6692 6693 + 6694 6695 6696 6707 6708 6709 + 6710 6711 6712 6713 6714 6715 + 6716 6717 6718 6719 6720 6721 + 6722 6723 6829 6830 6831 6832 + 6833 6834 6835 6836 6837 6838 + 6839 6840 6841 6842 6843 6844 + 6845 6846 6847 6848 6849 6850 + 6851 6852 6853 6854 6855 6856 + 6857 6858 6859 6860 6861 6862 + 6863 6864 6865 6866 6867 6877 + 6878 6879 6880 6881 6882 6883 + 6894 6895 6896 6897 6902 6903 + 6904 6905 6906 6907 6908 6909 + 6910 6911 6999 7000 7001 7002 + 7003 7004 7005 7006 7007 7008 + 7009 7010 7011 7012 7013 7014 + 7015 7016 7017 7018 7019 7020 + 7021 7022 7023 7024 7025 7026 + 7027 7028 7041 7042 7043 7044 + 7045 7046 7047 7058 7059 7060 + 7069 7072 7073 7150 7151 7152 + 7153 7154 7155 7156 7157 7158 + 7159 7160 7161 7162 7163 7164 + 7165 7166 7167 7168 7169 7188 + 7189 7190 7191 7192 7193 8766 + 8767 8768 8780 8781 8785 8789 + 8790 8791 8792 8793 8804 8805 + 8806 8807 8809 8811 8812 8813 + 8814 8816 8818 8825 8829 8830 + 8831 8835 8836 8837 8838 8839 + 8840 8846 8847 8848 8849 8850 + 8851 8862 8875 8888 8890 8902 + 8904 8912 8914 8923 8925 8929 + 8931 8935 8937 3865 3996 4276 + 4314 4137 4368 4554 4511 4688 + 4861 5037 5200 5400 5600 5829 + 5850 5853 5899 6103 5898 6898 + 6899 7029 7070 7170 7211 7195 + 7212 7292 7298 7296 7303 7297 + 7326 diff --git a/test/meshes/pi/dist_8/my_list00007.out b/test/meshes/pi/dist_8/my_list00007.out new file mode 100644 index 000000000..7d5014233 --- /dev/null +++ b/test/meshes/pi/dist_8/my_list00007.out @@ -0,0 +1,415 @@ + 7 + 393 + 33 + 1292 1311 1312 1313 1314 1315 + 1316 1317 1335 1336 1337 1338 + 1339 1340 1341 1342 1343 1344 + 1345 1360 1361 1362 1363 1364 + 1365 1366 1367 1368 1369 1370 + 1371 1372 1373 1374 1387 1388 + 1389 1390 1391 1392 1393 1394 + 1395 1396 1397 1398 1401 1402 + 1403 1404 1405 1406 1407 1418 + 1419 1420 1421 1422 1423 1424 + 1425 1426 1427 1428 1429 1430 + 1431 1432 1433 1434 1435 1437 + 1443 1444 1445 1446 1447 1448 + 1459 1460 1461 1462 1463 1464 + 1465 1466 1467 1468 1469 1470 + 1471 1472 1473 1474 1475 1476 + 1477 1478 1479 1480 1481 1482 + 1483 1492 1493 1494 1495 1496 + 1508 1509 1510 1511 1512 1513 + 1514 1515 1516 1517 1518 1519 + 1526 1527 1528 1529 1530 1531 + 1532 1533 1534 1535 1543 1544 + 1545 1546 1547 1566 1567 1568 + 1569 1570 1571 1572 1573 1574 + 1575 1576 1589 1590 1591 1592 + 1593 1594 1595 1596 1605 1606 + 1607 1608 1637 1638 1639 1640 + 1641 1642 1643 1644 1645 1662 + 1663 1664 1665 1666 1667 1674 + 1675 1676 1677 1703 1704 1705 + 1706 1707 1708 1709 1710 1711 + 1728 1729 1730 1731 1737 1738 + 1739 1740 1763 1764 1765 1766 + 1767 1768 1769 1770 1771 1772 + 1773 1774 1775 1791 1792 1793 + 1798 1799 1800 1823 1824 1825 + 1826 1827 1828 1829 1830 1831 + 1832 1833 1834 1836 1837 1852 + 1853 1854 1858 1859 1860 1883 + 1884 1885 1886 1887 1888 1889 + 1890 1891 1892 1893 1894 1895 + 1897 1898 1912 1913 1916 1920 + 1921 1922 1923 1951 1952 1953 + 1954 1955 1956 1957 1958 1959 + 1960 1961 1962 1963 1964 1965 + 1966 1967 1971 1982 1985 1986 + 1987 1996 1997 1998 1999 2000 + 2033 2034 2035 2036 2037 2038 + 2039 2040 2041 2042 2043 2044 + 2045 2046 2047 2048 2049 2050 + 2055 2065 2066 2067 2077 2078 + 2079 2080 2081 2082 2122 2123 + 2124 2125 2126 2127 2128 2129 + 2130 2131 2132 2133 2134 2135 + 2136 2141 2149 2150 2160 2161 + 2162 2163 2164 2165 2208 2209 + 2210 2211 2212 2213 2214 2215 + 2216 2217 2218 2219 2240 2241 + 2242 2243 2244 2245 2246 2247 + 2292 2293 2294 2295 2296 2297 + 2298 2299 2300 2301 2319 2321 + 2322 2323 2324 2371 2372 2373 + 2374 2375 2390 2393 2394 2395 + 2396 2445 2446 2447 2448 2462 + 2463 2466 2467 2468 2469 2513 + 2514 2528 2576 1290 1291 1293 + 2368 2369 2370 2527 2529 2533 + 2534 2535 2536 2590 2632 1436 + 1484 1536 1597 1668 1732 1794 + 1855 1914 1983 2063 2147 2225 + 2231 2232 2248 2249 2302 2320 + 760 + 29 + 35 + 2378 2379 2380 2381 2382 2413 + 2414 2415 2416 2417 2418 2419 + 2420 2421 2455 2456 2457 2458 + 2459 2460 2461 2462 2463 2464 + 2465 2466 2467 2468 2469 2470 + 2471 2472 2506 2507 2508 2509 + 2510 2511 2512 2513 2514 2515 + 2516 2517 2518 2519 2520 2521 + 2522 2523 2524 2525 2526 2527 + 2528 2529 2530 2547 2548 2549 + 2550 2551 2552 2553 2554 2555 + 2556 2557 2558 2559 2560 2561 + 2562 2563 2564 2565 2566 2567 + 2569 2570 2571 2572 2573 2574 + 2575 2576 2577 2578 2579 2580 + 2581 2601 2602 2603 2604 2605 + 2606 2607 2608 2609 2610 2611 + 2612 2613 2614 2615 2616 2617 + 2618 2619 2620 2621 2622 2623 + 2624 2625 2626 2627 2628 2629 + 2630 2631 2633 2642 2643 2644 + 2645 2646 2647 2648 2649 2650 + 2651 2669 2670 2671 2672 2673 + 2674 2675 2676 2677 2678 2679 + 2680 2681 2682 2683 2684 2685 + 2686 2687 2688 2689 2690 2691 + 2692 2693 2694 2695 2696 2697 + 2698 2699 2700 2701 2702 2703 + 2704 2705 2706 2707 2708 2709 + 2710 2711 2712 2713 2714 2715 + 2732 2733 2734 2735 2736 2737 + 2738 2739 2740 2741 2742 2743 + 2767 2768 2769 2770 2771 2772 + 2773 2774 2775 2776 2777 2778 + 2779 2780 2781 2782 2783 2784 + 2785 2786 2791 2792 2793 2794 + 2795 2796 2797 2798 2799 2800 + 2801 2802 2803 2804 2805 2806 + 2807 2808 2809 2810 2811 2812 + 2813 2814 2828 2829 2830 2831 + 2832 2833 2834 2835 2836 2837 + 2866 2867 2868 2869 2870 2871 + 2872 2873 2874 2875 2876 2877 + 2878 2879 2880 2881 2882 2883 + 2884 2885 2886 2912 2913 2914 + 2915 2916 2917 2918 2919 2920 + 2921 2922 2923 2924 2925 2926 + 2927 2928 2945 2946 2947 2948 + 2949 2950 2951 2952 3004 3005 + 3006 3007 3008 3009 3010 3011 + 3012 3013 3014 3015 3016 3017 + 3018 3019 3020 3044 3045 3046 + 3047 3048 3049 3050 3051 3052 + 3053 3054 3068 3069 3070 3071 + 3072 3073 3074 3075 3076 3125 + 3126 3127 3128 3129 3130 3131 + 3132 3133 3134 3135 3136 3137 + 3138 3139 3140 3176 3177 3178 + 3179 3180 3181 3182 3183 3184 + 3185 3193 3194 3195 3196 3197 + 3198 3199 3200 3240 3241 3242 + 3243 3244 3245 3246 3247 3248 + 3249 3250 3251 3252 3253 3254 + 3255 3256 3257 3258 3259 3260 + 3261 3262 3263 3264 3296 3297 + 3298 3299 3300 3301 3303 3304 + 3305 3311 3312 3313 3314 3315 + 3316 3317 3318 3364 3365 3366 + 3367 3368 3369 3370 3371 3372 + 3373 3374 3375 3376 3377 3378 + 3379 3380 3381 3382 3383 3384 + 3386 3387 3388 3414 3415 3416 + 3417 3418 3419 3421 3427 3428 + 3429 3430 3431 3471 3472 3473 + 3474 3475 3476 3477 3478 3479 + 3480 3481 3482 3483 3484 3485 + 3486 3487 3488 3489 3490 3491 + 3492 3493 3494 3495 3497 3498 + 3499 3500 3501 3502 3525 3526 + 3527 3528 3531 3532 3535 3536 + 3537 3542 3543 3544 3545 3546 + 3547 3548 3549 3550 3551 3552 + 3598 3599 3600 3601 3602 3603 + 3604 3605 3606 3607 3608 3609 + 3610 3611 3612 3613 3614 3615 + 3616 3617 3618 3619 3620 3621 + 3622 3623 3624 3625 3626 3632 + 3658 3659 3663 3664 3665 3666 + 3667 3668 3682 3683 3684 3685 + 3686 3687 3688 3689 3746 3747 + 3748 3749 3750 3751 3752 3753 + 3754 3755 3756 3757 3758 3759 + 3760 3761 3762 3763 3764 3765 + 3766 3767 3768 3769 3770 3771 + 3772 3773 3774 3775 3776 3777 + 3778 3802 3803 3804 3805 3806 + 3807 3808 3809 3830 3831 3832 + 3833 3834 3835 3836 3837 3838 + 3839 3840 3841 3842 3918 3919 + 3920 3921 3922 3923 3924 3925 + 3926 3927 3928 3929 3930 3931 + 3932 3933 3934 3935 3936 3937 + 3938 3939 3940 3941 3942 3943 + 3944 3945 3946 3953 3954 3955 + 3956 3969 3971 3972 3990 3991 + 3992 3993 3994 3995 3996 3997 + 3998 3999 4073 4074 4075 4076 + 4077 4078 4079 4080 4081 4082 + 4083 4084 4085 4086 4087 4088 + 4089 4090 4091 4092 4093 4094 + 4095 4096 4119 4120 4134 4135 + 4136 4137 4138 4139 4140 4141 + 4142 4143 4144 4145 4146 4147 + 4149 4153 4154 4226 4227 4228 + 4229 4230 4231 4232 4233 4234 + 4235 4236 4237 4238 4239 4240 + 4277 4280 4281 4282 4283 4284 + 4285 4286 4287 4288 4289 4365 + 4367 4369 4370 4371 4372 4373 + 4374 4375 4376 4377 4378 4405 + 4406 4409 4410 4411 4412 4413 + 4414 4415 4416 4515 4516 4517 + 4518 4519 4520 4550 4551 4552 + 4553 4554 4558 4559 4560 4561 + 4562 4563 4564 4637 4638 4639 + 4668 4669 4670 4671 4677 4680 + 4682 4758 4759 4786 2340 2383 + 4368 4511 4673 4678 4679 4683 + 4785 4797 4893 2640 2815 2929 + 2941 3055 3186 3302 3420 3529 + 3660 3800 4109 4148 4150 4152 + 4250 4260 4262 2339 2342 2344 + 2376 2377 4366 4512 4514 4672 + 4681 4787 4795 4798 4802 4873 + 2632 2716 2728 2825 3056 3063 + 3188 3422 3530 3533 3801 3968 + 4108 4118 4151 4241 4261 4278 + 4279 4290 + 1156 + 29 + 3482 3483 3485 3486 3487 3488 + 3489 3538 3539 3540 3541 3542 + 3543 3544 3545 3546 3547 3548 + 3549 3550 3551 3596 3597 3598 + 3599 3600 3601 3602 3603 3604 + 3605 3606 3607 3608 3609 3610 + 3611 3612 3613 3614 3615 3616 + 3617 3618 3619 3620 3621 3622 + 3623 3624 3625 3626 3663 3664 + 3665 3666 3667 3668 3669 3670 + 3671 3672 3673 3674 3675 3676 + 3677 3678 3679 3680 3681 3682 + 3683 3684 3685 3686 3687 3688 + 3689 3690 3691 3692 3693 3694 + 3695 3696 3697 3698 3699 3700 + 3701 3702 3703 3704 3705 3735 + 3736 3737 3738 3739 3740 3741 + 3742 3743 3744 3745 3746 3747 + 3748 3749 3750 3751 3752 3753 + 3754 3755 3756 3757 3758 3759 + 3760 3761 3762 3763 3764 3765 + 3770 3771 3772 3773 3774 3775 + 3776 3777 3778 3779 3780 3781 + 3782 3783 3784 3785 3786 3787 + 3788 3789 3815 3816 3817 3818 + 3819 3820 3821 3822 3823 3824 + 3825 3826 3827 3828 3829 3830 + 3831 3832 3833 3834 3835 3836 + 3837 3838 3839 3840 3841 3842 + 3843 3844 3845 3846 3847 3848 + 3849 3850 3851 3852 3853 3854 + 3855 3856 3857 3858 3859 3860 + 3861 3862 3865 3866 3883 3884 + 3885 3886 3887 3888 3889 3890 + 3891 3892 3893 3894 3895 3896 + 3897 3898 3899 3928 3929 3930 + 3931 3932 3933 3934 3935 3936 + 3937 3938 3939 3940 3941 3942 + 3943 3944 3945 3946 3947 3948 + 3949 3950 3951 3952 3953 3954 + 3955 3956 3957 3958 3959 3960 + 3961 3962 3963 3964 3965 3966 + 3967 3968 3969 3970 3971 3972 + 3973 3974 3975 3976 3977 3978 + 3979 3980 3981 3982 3983 3984 + 3985 3986 3987 3988 3989 3990 + 3991 3992 3993 3994 3995 3996 + 3997 3998 4020 4021 4022 4023 + 4024 4025 4026 4027 4028 4029 + 4030 4031 4032 4033 4034 4066 + 4067 4068 4069 4070 4071 4072 + 4073 4074 4075 4076 4077 4078 + 4079 4080 4081 4082 4083 4084 + 4085 4086 4087 4088 4089 4090 + 4091 4092 4093 4094 4095 4096 + 4097 4098 4111 4112 4113 4114 + 4115 4116 4117 4118 4119 4120 + 4121 4122 4123 4124 4125 4126 + 4127 4128 4129 4130 4131 4132 + 4133 4134 4135 4136 4137 4138 + 4139 4161 4162 4163 4164 4165 + 4166 4167 4168 4169 4170 4171 + 4172 4173 4174 4226 4227 4228 + 4229 4230 4231 4232 4233 4234 + 4235 4236 4237 4238 4239 4240 + 4241 4242 4243 4244 4245 4246 + 4247 4248 4249 4250 4251 4252 + 4253 4254 4255 4293 4294 4295 + 4296 4297 4298 4299 4300 4301 + 4302 4303 4304 4305 4306 4307 + 4308 4309 4310 4311 4312 4313 + 4314 4315 4338 4339 4340 4341 + 4342 4343 4344 4345 4346 4347 + 4348 4349 4428 4429 4430 4431 + 4432 4433 4434 4435 4436 4437 + 4438 4439 4440 4441 4442 4443 + 4444 4445 4446 4447 4448 4449 + 4450 4451 4452 4496 4497 4498 + 4499 4500 4501 4502 4503 4504 + 4505 4506 4507 4508 4509 4510 + 4511 4512 4529 4530 4531 4532 + 4533 4534 4535 4536 4537 4538 + 4539 4540 4607 4608 4609 4610 + 4611 4612 4613 4614 4615 4616 + 4617 4618 4619 4620 4621 4622 + 4623 4624 4625 4626 4627 4628 + 4629 4630 4631 4678 4679 4680 + 4681 4682 4683 4684 4685 4686 + 4687 4688 4689 4703 4704 4705 + 4706 4707 4708 4709 4710 4711 + 4712 4713 4714 4773 4774 4775 + 4776 4777 4778 4779 4780 4781 + 4782 4783 4784 4785 4786 4787 + 4788 4789 4790 4791 4792 4793 + 4794 4795 4796 4797 4798 4799 + 4800 4801 4802 4803 4804 4805 + 4806 4807 4808 4809 4810 4811 + 4854 4855 4856 4857 4858 4859 + 4860 4861 4862 4865 4874 4875 + 4876 4877 4878 4879 4880 4881 + 4882 4946 4947 4948 4949 4950 + 4951 4952 4953 4954 4955 4956 + 4957 4958 4959 4960 4961 4962 + 4963 4964 4965 4966 4967 4968 + 4969 4970 4971 4972 4973 4974 + 4975 4976 4977 4978 4979 4980 + 4983 4984 4985 4986 4987 4988 + 5030 5031 5032 5033 5034 5035 + 5036 5037 5040 5046 5047 5048 + 5049 5050 5051 5052 5053 5054 + 5113 5114 5115 5116 5117 5118 + 5119 5120 5121 5122 5123 5124 + 5125 5126 5127 5128 5129 5130 + 5131 5132 5133 5134 5135 5136 + 5137 5138 5139 5140 5141 5142 + 5143 5144 5145 5146 5147 5148 + 5149 5150 5151 5152 5154 5155 + 5156 5157 5158 5159 5197 5198 + 5199 5200 5201 5202 5208 5209 + 5210 5211 5220 5221 5222 5223 + 5224 5225 5226 5227 5228 5229 + 5230 5231 5232 5233 5311 5312 + 5313 5314 5315 5316 5317 5318 + 5319 5320 5321 5322 5323 5324 + 5325 5326 5327 5328 5329 5330 + 5331 5332 5333 5334 5335 5336 + 5337 5338 5339 5340 5341 5342 + 5343 5344 5345 5346 5347 5348 + 5349 5350 5351 5352 5353 5354 + 5355 5356 5357 5358 5359 5360 + 5369 5370 5371 5399 5400 5401 + 5407 5408 5409 5410 5411 5412 + 5413 5414 5415 5416 5417 5440 + 5441 5442 5443 5444 5445 5446 + 5447 5448 5449 5450 5451 5452 + 5453 5454 5540 5541 5542 5543 + 5544 5545 5546 5547 5548 5549 + 5550 5551 5552 5553 5554 5555 + 5556 5557 5558 5559 5560 5561 + 5562 5563 5564 5565 5566 5567 + 5568 5569 5570 5571 5572 5573 + 5574 5575 5576 5577 5578 5579 + 5580 5581 5582 5583 5584 5585 + 5598 5599 5600 5622 5626 5627 + 5628 5629 5630 5631 5632 5633 + 5661 5662 5663 5664 5665 5666 + 5667 5668 5669 5670 5671 5672 + 5673 5674 5675 5676 5677 5678 + 5780 5781 5782 5783 5784 5785 + 5786 5787 5788 5789 5790 5791 + 5792 5793 5794 5795 5796 5797 + 5798 5799 5800 5801 5802 5803 + 5804 5805 5806 5807 5808 5809 + 5810 5811 5812 5813 5814 5828 + 5829 5830 5850 5851 5852 5853 + 5854 5855 5881 5882 5883 5884 + 5885 5886 5887 5888 5889 5890 + 5891 5892 5893 5894 5895 5896 + 5897 5898 5899 5900 5901 6013 + 6014 6015 6016 6017 6018 6019 + 6020 6021 6022 6023 6024 6025 + 6026 6027 6028 6029 6030 6031 + 6032 6033 6034 6035 6036 6037 + 6038 6039 6040 6097 6098 6099 + 6100 6101 6102 6103 6104 6105 + 6106 6107 6108 6109 6110 6111 + 6112 6113 6114 6115 6116 6117 + 6232 6233 6234 6235 6236 6237 + 6238 6239 6240 6241 6242 6243 + 6244 6245 6246 6247 6248 6249 + 6250 6251 6252 6253 6303 6304 + 6305 6308 6309 6310 6311 6312 + 6313 6314 6315 6316 6317 6442 + 6443 6444 6445 6446 6447 6448 + 6449 6450 6451 6452 6493 6494 + 6495 6496 6501 6502 6503 6504 + 6505 6506 6507 6508 6509 6510 + 6638 6639 6640 6641 6642 6643 + 6644 6645 6646 6685 6686 6687 + 6688 6689 6690 6691 6697 6698 + 6699 6700 6701 6702 6703 6704 + 6705 6706 6826 6827 6828 6871 + 6872 6873 6998 8740 8741 8744 + 8745 8746 8747 8748 8749 8752 + 8753 8754 8755 8758 8759 8762 + 8763 8764 8765 8771 8772 8773 + 8774 8775 8776 8777 8778 8779 + 8780 8784 8788 8803 8810 8817 + 8823 8824 8828 8834 8845 8858 + 8859 8860 8861 8872 8873 8874 + 8884 8885 8886 8887 8888 8889 + 8899 8900 8901 8903 8911 8913 + 8922 8924 8928 8934 3481 3484 + 3864 4141 4000 4317 4514 4864 + 4691 5204 5039 5403 5621 5846 + 6118 6072 6057 6120 6123 6075 + 6438 6436 6884 6868 6869 6874 + 6885 6892 7036 diff --git a/test/meshes/pi/dist_8/rpart.out b/test/meshes/pi/dist_8/rpart.out new file mode 100644 index 000000000..fec23debe --- /dev/null +++ b/test/meshes/pi/dist_8/rpart.out @@ -0,0 +1,3143 @@ + 8 + 392 393 393 391 392 393 + 393 393 + 393 + 394 + 395 + 396 + 397 + 398 + 399 + 400 + 401 + 402 + 403 + 404 + 405 + 406 + 407 + 408 + 409 + 410 + 411 + 412 + 413 + 414 + 415 + 416 + 417 + 418 + 419 + 420 + 421 + 422 + 786 + 787 + 788 + 789 + 790 + 791 + 792 + 423 + 424 + 425 + 426 + 427 + 428 + 429 + 430 + 431 + 432 + 433 + 434 + 435 + 436 + 437 + 438 + 439 + 440 + 441 + 442 + 443 + 444 + 445 + 793 + 794 + 795 + 796 + 797 + 798 + 799 + 800 + 801 + 802 + 803 + 804 + 805 + 806 + 807 + 446 + 447 + 448 + 449 + 450 + 451 + 452 + 453 + 454 + 455 + 456 + 457 + 458 + 459 + 460 + 461 + 462 + 463 + 464 + 465 + 466 + 467 + 468 + 469 + 470 + 808 + 809 + 810 + 811 + 812 + 813 + 814 + 815 + 816 + 817 + 818 + 819 + 820 + 821 + 822 + 823 + 824 + 825 + 826 + 471 + 472 + 473 + 474 + 475 + 476 + 477 + 478 + 479 + 480 + 481 + 482 + 483 + 484 + 485 + 486 + 487 + 488 + 489 + 490 + 491 + 492 + 493 + 494 + 827 + 828 + 829 + 830 + 831 + 832 + 833 + 834 + 835 + 836 + 837 + 838 + 839 + 840 + 841 + 842 + 843 + 844 + 845 + 846 + 847 + 848 + 849 + 850 + 851 + 495 + 496 + 497 + 498 + 499 + 500 + 501 + 502 + 503 + 504 + 505 + 506 + 507 + 508 + 509 + 510 + 511 + 512 + 513 + 514 + 852 + 853 + 854 + 855 + 856 + 857 + 858 + 859 + 860 + 861 + 862 + 863 + 864 + 865 + 866 + 867 + 868 + 869 + 870 + 871 + 872 + 873 + 874 + 875 + 876 + 877 + 515 + 516 + 517 + 518 + 519 + 520 + 521 + 522 + 523 + 524 + 525 + 526 + 527 + 528 + 529 + 530 + 878 + 879 + 880 + 881 + 882 + 883 + 884 + 885 + 886 + 887 + 888 + 889 + 890 + 891 + 892 + 893 + 894 + 895 + 896 + 897 + 898 + 899 + 900 + 901 + 902 + 903 + 904 + 905 + 906 + 907 + 908 + 531 + 532 + 533 + 534 + 535 + 536 + 537 + 538 + 539 + 540 + 541 + 542 + 543 + 544 + 545 + 909 + 910 + 911 + 912 + 913 + 914 + 915 + 916 + 917 + 918 + 919 + 920 + 921 + 922 + 923 + 924 + 925 + 1179 + 1180 + 926 + 1181 + 927 + 928 + 929 + 930 + 931 + 932 + 933 + 934 + 935 + 936 + 937 + 546 + 547 + 548 + 549 + 550 + 551 + 552 + 553 + 554 + 555 + 556 + 557 + 558 + 938 + 939 + 940 + 941 + 942 + 943 + 944 + 945 + 1182 + 1183 + 946 + 947 + 1184 + 948 + 949 + 950 + 951 + 952 + 953 + 954 + 955 + 1185 + 1186 + 1187 + 1188 + 956 + 1189 + 1190 + 1191 + 957 + 958 + 959 + 960 + 961 + 962 + 963 + 964 + 965 + 559 + 560 + 561 + 562 + 966 + 563 + 564 + 1 + 565 + 566 + 567 + 568 + 967 + 968 + 969 + 970 + 971 + 972 + 973 + 974 + 975 + 976 + 977 + 1192 + 978 + 1193 + 979 + 1194 + 1195 + 980 + 981 + 982 + 983 + 984 + 985 + 986 + 987 + 1196 + 1197 + 1198 + 1199 + 1200 + 1201 + 1202 + 1203 + 1204 + 988 + 1205 + 989 + 990 + 991 + 1206 + 992 + 1207 + 569 + 570 + 571 + 572 + 2 + 993 + 994 + 995 + 996 + 3 + 4 + 573 + 574 + 5 + 575 + 576 + 997 + 998 + 999 + 1000 + 1001 + 1002 + 1003 + 1004 + 1005 + 1006 + 1007 + 1008 + 1009 + 1208 + 1010 + 1011 + 1209 + 1012 + 1013 + 1014 + 1015 + 1016 + 1017 + 1018 + 1019 + 1020 + 1210 + 1211 + 1212 + 1213 + 1214 + 1215 + 1216 + 1217 + 1218 + 1219 + 1220 + 1221 + 1222 + 1223 + 1224 + 1225 + 1226 + 1227 + 577 + 578 + 579 + 580 + 1228 + 1229 + 6 + 1021 + 1022 + 1023 + 1024 + 1025 + 7 + 8 + 9 + 581 + 10 + 582 + 1026 + 1027 + 1028 + 1029 + 1030 + 1031 + 1032 + 1033 + 1034 + 1035 + 1036 + 1037 + 1038 + 1039 + 1040 + 1041 + 1042 + 1043 + 1230 + 1231 + 1232 + 1233 + 1234 + 1235 + 1236 + 1237 + 1238 + 1239 + 1240 + 1241 + 1242 + 1243 + 1244 + 1245 + 1246 + 1247 + 1248 + 1249 + 1250 + 1251 + 1252 + 1253 + 1254 + 583 + 1255 + 1256 + 11 + 12 + 1044 + 1045 + 1046 + 1047 + 1048 + 13 + 14 + 15 + 16 + 1049 + 1050 + 1051 + 1052 + 1053 + 1054 + 1055 + 1056 + 1057 + 1058 + 1059 + 1060 + 1061 + 1257 + 1258 + 1259 + 1260 + 1261 + 1262 + 1263 + 1264 + 1265 + 1266 + 1267 + 1268 + 1269 + 1270 + 1271 + 1272 + 1273 + 1274 + 1275 + 1276 + 1277 + 1278 + 1279 + 1280 + 1281 + 1282 + 1283 + 17 + 18 + 19 + 1062 + 1063 + 1064 + 1065 + 1066 + 1067 + 1068 + 20 + 21 + 22 + 1069 + 1070 + 1071 + 1072 + 1073 + 1074 + 1075 + 1076 + 1077 + 1078 + 1079 + 1080 + 1081 + 1082 + 1284 + 1285 + 1286 + 1287 + 1288 + 1289 + 1290 + 1291 + 1292 + 1293 + 1294 + 1295 + 1296 + 1297 + 1298 + 1299 + 1300 + 1301 + 1302 + 1303 + 1304 + 1305 + 1306 + 1307 + 1308 + 1309 + 23 + 24 + 25 + 26 + 1083 + 1084 + 1085 + 1086 + 1087 + 1088 + 1089 + 1090 + 1091 + 27 + 28 + 1092 + 1093 + 1094 + 1095 + 1096 + 1097 + 1098 + 1099 + 1100 + 1101 + 1102 + 1103 + 1104 + 1105 + 1106 + 1107 + 1108 + 1310 + 1311 + 1312 + 1313 + 1314 + 1315 + 1316 + 1317 + 1318 + 1319 + 1320 + 1321 + 1322 + 1323 + 1324 + 1325 + 1326 + 1327 + 1328 + 1329 + 1330 + 1331 + 29 + 30 + 31 + 32 + 1109 + 1110 + 1111 + 1112 + 1113 + 1114 + 1115 + 1116 + 1117 + 33 + 34 + 35 + 36 + 1118 + 1119 + 1120 + 1121 + 1122 + 1123 + 1124 + 1125 + 1126 + 1127 + 1128 + 1129 + 1130 + 1131 + 1132 + 1133 + 1134 + 1332 + 1333 + 1334 + 1335 + 1336 + 1337 + 1338 + 1339 + 1340 + 1341 + 1342 + 1343 + 1344 + 1345 + 1346 + 1347 + 1348 + 1349 + 1350 + 1351 + 1352 + 1353 + 37 + 38 + 39 + 1135 + 40 + 41 + 1136 + 42 + 1137 + 1138 + 1139 + 43 + 44 + 45 + 46 + 1140 + 1141 + 1142 + 1143 + 1144 + 1145 + 1146 + 1147 + 1148 + 1149 + 1150 + 1151 + 1152 + 1153 + 1154 + 1354 + 1355 + 1356 + 1357 + 1358 + 1359 + 1360 + 1361 + 1362 + 1363 + 1364 + 1365 + 1366 + 1367 + 1368 + 1369 + 1370 + 1371 + 1372 + 1373 + 1374 + 1375 + 47 + 48 + 49 + 50 + 1155 + 51 + 52 + 53 + 54 + 1156 + 1157 + 55 + 56 + 57 + 58 + 59 + 1158 + 1159 + 1160 + 1161 + 1162 + 1163 + 1164 + 1165 + 1166 + 1167 + 1168 + 1376 + 1377 + 1378 + 1379 + 1380 + 1381 + 1382 + 1383 + 1384 + 1385 + 1386 + 1387 + 1388 + 1389 + 1390 + 1391 + 1392 + 1393 + 1394 + 1395 + 1396 + 1397 + 1398 + 1399 + 1400 + 1401 + 1402 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 1169 + 1170 + 69 + 70 + 71 + 72 + 1171 + 1172 + 73 + 1173 + 1174 + 1175 + 1176 + 1177 + 1403 + 1404 + 1405 + 1406 + 1407 + 1408 + 1409 + 1410 + 1411 + 1412 + 1413 + 1414 + 1415 + 1416 + 1417 + 1418 + 1419 + 1420 + 1421 + 1422 + 1423 + 1424 + 1425 + 1426 + 1427 + 1428 + 1429 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 1178 + 1430 + 1431 + 1432 + 1433 + 1434 + 1435 + 1436 + 1437 + 1438 + 1439 + 1440 + 1441 + 1442 + 1443 + 1444 + 1445 + 1446 + 1447 + 1448 + 1449 + 1450 + 1451 + 1452 + 1453 + 96 + 97 + 98 + 99 + 100 + 101 + 102 + 103 + 104 + 105 + 106 + 107 + 108 + 109 + 110 + 111 + 112 + 113 + 114 + 115 + 116 + 117 + 1454 + 1455 + 1456 + 1457 + 1458 + 1459 + 1460 + 1461 + 1462 + 1463 + 1464 + 1465 + 1466 + 1467 + 1468 + 1469 + 1470 + 1471 + 1472 + 1473 + 118 + 119 + 120 + 121 + 122 + 123 + 124 + 125 + 126 + 127 + 128 + 129 + 130 + 131 + 132 + 133 + 134 + 135 + 136 + 137 + 138 + 139 + 140 + 141 + 142 + 143 + 144 + 1474 + 1475 + 1476 + 1477 + 1478 + 1479 + 1480 + 1481 + 1482 + 1483 + 1484 + 1485 + 1486 + 1487 + 1488 + 1489 + 1490 + 1491 + 1492 + 1493 + 145 + 146 + 147 + 148 + 149 + 150 + 151 + 152 + 153 + 154 + 155 + 156 + 157 + 158 + 159 + 160 + 161 + 162 + 163 + 164 + 165 + 166 + 167 + 168 + 169 + 170 + 171 + 172 + 173 + 174 + 175 + 176 + 1494 + 1495 + 1496 + 1497 + 1498 + 1499 + 1500 + 1501 + 1502 + 1503 + 1504 + 1505 + 1506 + 1507 + 1508 + 1509 + 1510 + 177 + 178 + 179 + 180 + 181 + 182 + 183 + 184 + 185 + 186 + 187 + 188 + 189 + 190 + 191 + 192 + 193 + 194 + 195 + 196 + 197 + 198 + 199 + 200 + 201 + 202 + 203 + 204 + 205 + 1511 + 1512 + 1513 + 1514 + 1515 + 1516 + 1517 + 1518 + 1519 + 1520 + 1521 + 1522 + 1523 + 1524 + 1525 + 206 + 207 + 208 + 209 + 210 + 211 + 212 + 213 + 214 + 215 + 216 + 217 + 218 + 219 + 220 + 221 + 222 + 223 + 224 + 225 + 226 + 227 + 228 + 229 + 230 + 231 + 232 + 233 + 234 + 1526 + 1527 + 1528 + 1529 + 1530 + 1531 + 1532 + 1533 + 1534 + 1535 + 1536 + 1537 + 1538 + 1539 + 235 + 236 + 237 + 238 + 239 + 240 + 241 + 242 + 243 + 244 + 245 + 246 + 247 + 248 + 249 + 250 + 251 + 252 + 253 + 254 + 255 + 256 + 257 + 258 + 1540 + 1541 + 1542 + 1543 + 1544 + 1545 + 1546 + 1547 + 1548 + 1549 + 1550 + 1551 + 259 + 260 + 261 + 262 + 263 + 264 + 265 + 266 + 267 + 268 + 269 + 270 + 271 + 272 + 273 + 274 + 275 + 276 + 277 + 278 + 279 + 280 + 1552 + 1553 + 1554 + 1555 + 1556 + 1557 + 1558 + 1559 + 1560 + 281 + 282 + 283 + 284 + 285 + 286 + 287 + 288 + 289 + 290 + 291 + 292 + 293 + 294 + 295 + 296 + 297 + 298 + 299 + 300 + 1561 + 1562 + 1563 + 1564 + 1565 + 1566 + 301 + 302 + 303 + 304 + 305 + 306 + 307 + 308 + 309 + 310 + 311 + 312 + 313 + 314 + 315 + 316 + 317 + 1567 + 1568 + 2748 + 1569 + 318 + 319 + 320 + 321 + 322 + 323 + 324 + 325 + 326 + 327 + 328 + 329 + 330 + 331 + 332 + 333 + 334 + 2749 + 2750 + 2751 + 2752 + 2753 + 2754 + 2755 + 335 + 336 + 337 + 338 + 339 + 340 + 341 + 342 + 343 + 344 + 345 + 346 + 347 + 348 + 349 + 350 + 351 + 2756 + 2757 + 2758 + 2759 + 2760 + 2761 + 2762 + 2763 + 2764 + 2765 + 2766 + 352 + 353 + 354 + 355 + 356 + 357 + 358 + 359 + 360 + 361 + 362 + 363 + 364 + 365 + 2767 + 2768 + 2769 + 2770 + 2771 + 2772 + 2773 + 2774 + 2775 + 2776 + 2777 + 2778 + 2779 + 2780 + 2781 + 366 + 367 + 368 + 369 + 370 + 371 + 372 + 373 + 374 + 375 + 376 + 377 + 2782 + 2783 + 2784 + 2785 + 2786 + 2787 + 2788 + 2789 + 2790 + 2791 + 2792 + 2793 + 2355 + 2356 + 2794 + 2795 + 2796 + 2797 + 2798 + 2799 + 2800 + 378 + 379 + 380 + 381 + 382 + 383 + 384 + 385 + 386 + 387 + 2801 + 2802 + 2803 + 2804 + 2805 + 2806 + 2807 + 2808 + 2809 + 2810 + 2811 + 2812 + 2813 + 2814 + 2815 + 2816 + 2817 + 2818 + 2357 + 2819 + 2358 + 2359 + 2360 + 2361 + 2362 + 2820 + 2821 + 2822 + 2823 + 2824 + 2825 + 388 + 389 + 390 + 391 + 392 + 584 + 585 + 586 + 587 + 588 + 2826 + 2827 + 2828 + 2829 + 2830 + 2831 + 2832 + 2833 + 2834 + 2835 + 2836 + 2837 + 2838 + 2839 + 2840 + 2841 + 2842 + 2843 + 2844 + 2845 + 2846 + 2847 + 2848 + 2849 + 2850 + 2363 + 2364 + 2365 + 2366 + 2367 + 2368 + 2369 + 2370 + 2851 + 2852 + 2853 + 2854 + 2855 + 589 + 590 + 591 + 592 + 593 + 594 + 595 + 596 + 597 + 598 + 599 + 2856 + 2857 + 2858 + 2859 + 2860 + 2861 + 2862 + 2863 + 2864 + 2865 + 2866 + 2867 + 2371 + 2372 + 2373 + 2374 + 2375 + 600 + 2868 + 2869 + 2870 + 2871 + 2872 + 2873 + 2874 + 2875 + 2876 + 2877 + 2376 + 2377 + 2378 + 2379 + 2380 + 2381 + 2382 + 2878 + 2879 + 2880 + 2881 + 2882 + 601 + 602 + 603 + 604 + 605 + 606 + 607 + 608 + 609 + 610 + 611 + 612 + 613 + 614 + 615 + 616 + 617 + 618 + 2883 + 2884 + 2885 + 2886 + 2887 + 2888 + 2889 + 2890 + 2891 + 2892 + 2893 + 2383 + 2384 + 2385 + 2386 + 2387 + 2388 + 2389 + 619 + 2390 + 2391 + 2392 + 2393 + 2894 + 2895 + 2896 + 2897 + 2898 + 2899 + 2900 + 2901 + 2394 + 2395 + 2396 + 2397 + 2398 + 2399 + 2400 + 2401 + 2902 + 2903 + 2904 + 2905 + 620 + 621 + 622 + 623 + 624 + 2402 + 2403 + 625 + 626 + 627 + 628 + 629 + 630 + 631 + 632 + 633 + 634 + 635 + 636 + 637 + 638 + 639 + 640 + 641 + 642 + 643 + 644 + 645 + 2906 + 2907 + 2908 + 2909 + 2910 + 2911 + 2912 + 2913 + 2914 + 2404 + 2405 + 2406 + 2407 + 2408 + 2409 + 2410 + 2411 + 2412 + 2413 + 2414 + 2415 + 2416 + 2417 + 2418 + 2419 + 2915 + 2916 + 2917 + 2918 + 2919 + 2920 + 2420 + 2421 + 2422 + 2423 + 2424 + 2425 + 2921 + 2922 + 2923 + 2924 + 646 + 647 + 648 + 649 + 650 + 651 + 2426 + 652 + 653 + 654 + 655 + 656 + 657 + 658 + 659 + 660 + 661 + 662 + 663 + 664 + 665 + 666 + 667 + 668 + 669 + 2925 + 2926 + 2927 + 2928 + 2929 + 2930 + 2931 + 2932 + 2933 + 2427 + 2428 + 2429 + 2430 + 2431 + 2432 + 2433 + 2434 + 2435 + 2436 + 2437 + 2438 + 2439 + 2440 + 2441 + 2442 + 2934 + 2935 + 2936 + 2937 + 2443 + 2444 + 2445 + 2446 + 2447 + 2938 + 2939 + 2940 + 2941 + 670 + 671 + 672 + 673 + 674 + 675 + 676 + 677 + 678 + 679 + 680 + 681 + 682 + 683 + 684 + 685 + 686 + 687 + 688 + 689 + 690 + 691 + 2942 + 2943 + 2944 + 2945 + 2946 + 2947 + 2948 + 2949 + 2950 + 2951 + 2952 + 2953 + 2954 + 2448 + 2449 + 2450 + 2451 + 2452 + 2453 + 2454 + 2455 + 2456 + 2457 + 2458 + 2459 + 2460 + 2461 + 2462 + 2955 + 2956 + 2957 + 2463 + 2464 + 2465 + 2466 + 2958 + 2959 + 2960 + 692 + 693 + 694 + 695 + 696 + 697 + 698 + 699 + 700 + 701 + 702 + 703 + 704 + 705 + 706 + 707 + 708 + 709 + 710 + 711 + 712 + 713 + 2961 + 2962 + 2963 + 2964 + 2965 + 2966 + 2967 + 2968 + 2969 + 2970 + 2971 + 2972 + 2467 + 2973 + 2974 + 2468 + 2469 + 2470 + 2471 + 2472 + 2473 + 2474 + 2475 + 2476 + 2477 + 2478 + 2479 + 2480 + 2481 + 2975 + 2976 + 2977 + 2482 + 2483 + 2484 + 2978 + 2979 + 2980 + 2485 + 714 + 715 + 716 + 717 + 718 + 719 + 720 + 721 + 722 + 723 + 724 + 725 + 726 + 727 + 728 + 729 + 730 + 731 + 732 + 733 + 734 + 2981 + 2982 + 2983 + 2984 + 2985 + 2986 + 2987 + 2988 + 2989 + 2990 + 2991 + 2992 + 2993 + 2486 + 2994 + 2995 + 2487 + 2488 + 2489 + 2490 + 2491 + 2492 + 2493 + 2494 + 2495 + 2496 + 2497 + 2498 + 2499 + 2996 + 2997 + 2500 + 2501 + 2998 + 2502 + 2503 + 2504 + 2999 + 3000 + 3001 + 3002 + 2505 + 2506 + 2507 + 2508 + 2509 + 2510 + 2511 + 1570 + 735 + 736 + 737 + 738 + 739 + 740 + 741 + 742 + 743 + 744 + 745 + 746 + 747 + 748 + 749 + 750 + 751 + 752 + 753 + 3003 + 3004 + 3005 + 3006 + 3007 + 3008 + 3009 + 3010 + 3011 + 3012 + 3013 + 3014 + 3015 + 3016 + 3017 + 3018 + 3019 + 2512 + 2513 + 2514 + 3020 + 2515 + 2516 + 2517 + 2518 + 2519 + 2520 + 2521 + 2522 + 2523 + 2524 + 3021 + 2525 + 2526 + 3022 + 3023 + 3024 + 2527 + 2528 + 2529 + 2530 + 2531 + 2532 + 2533 + 2534 + 3025 + 3026 + 3027 + 3028 + 3029 + 2535 + 2536 + 2537 + 2538 + 2539 + 2540 + 2541 + 2542 + 2543 + 1571 + 1572 + 1573 + 1574 + 1575 + 754 + 755 + 756 + 757 + 758 + 759 + 760 + 761 + 762 + 763 + 764 + 765 + 766 + 767 + 768 + 769 + 770 + 1576 + 3030 + 3031 + 3032 + 3033 + 3034 + 3035 + 3036 + 3037 + 3038 + 3039 + 3040 + 3041 + 3042 + 3043 + 3044 + 3045 + 3046 + 3047 + 2544 + 2545 + 2546 + 2547 + 3048 + 2548 + 2549 + 2550 + 2551 + 2552 + 2553 + 2554 + 2555 + 2556 + 3049 + 3050 + 3051 + 2557 + 2558 + 2559 + 2560 + 2561 + 2562 + 2563 + 2564 + 2565 + 3052 + 3053 + 3054 + 3055 + 3056 + 3057 + 2566 + 2567 + 2568 + 2569 + 2570 + 2571 + 2572 + 2573 + 1577 + 1578 + 1579 + 1580 + 1581 + 1582 + 1583 + 1584 + 1585 + 1586 + 1587 + 1588 + 1589 + 1590 + 1591 + 1592 + 771 + 772 + 773 + 774 + 775 + 776 + 777 + 778 + 1593 + 1594 + 1595 + 1596 + 1597 + 1598 + 1599 + 3058 + 3059 + 3060 + 3061 + 3062 + 3063 + 3064 + 3065 + 3066 + 3067 + 3068 + 3069 + 3070 + 3071 + 3072 + 2574 + 2575 + 2576 + 2577 + 3073 + 2578 + 2579 + 2580 + 2581 + 2582 + 2583 + 2584 + 3074 + 3075 + 2585 + 2586 + 2587 + 2588 + 2589 + 2590 + 2591 + 2592 + 2593 + 3076 + 3077 + 3078 + 3079 + 3080 + 3081 + 2594 + 2595 + 2596 + 2597 + 2598 + 2599 + 2600 + 1600 + 1601 + 1602 + 1603 + 1604 + 1605 + 1606 + 1607 + 1608 + 1609 + 1610 + 1611 + 1612 + 1613 + 1614 + 1615 + 1616 + 1617 + 1618 + 1619 + 1620 + 1621 + 1622 + 1623 + 1624 + 779 + 780 + 781 + 782 + 783 + 1625 + 1626 + 1627 + 1628 + 1629 + 3082 + 3083 + 3084 + 3085 + 3086 + 3087 + 3088 + 3089 + 3090 + 3091 + 3092 + 3093 + 2601 + 2602 + 2603 + 2604 + 2605 + 2606 + 2607 + 2608 + 2609 + 2610 + 2611 + 2612 + 2613 + 2614 + 2615 + 2616 + 2617 + 2618 + 2619 + 2620 + 3094 + 3095 + 3096 + 3097 + 3098 + 3099 + 3100 + 3101 + 2621 + 2622 + 2623 + 2624 + 2625 + 2626 + 2627 + 2628 + 1630 + 1631 + 1632 + 1633 + 1634 + 1635 + 1636 + 1637 + 1638 + 1639 + 1640 + 1641 + 1642 + 1643 + 1644 + 1645 + 1646 + 1647 + 1648 + 1649 + 1650 + 1651 + 1652 + 1653 + 1654 + 1655 + 1656 + 1657 + 1658 + 1659 + 784 + 785 + 1660 + 1661 + 1662 + 1663 + 3102 + 3103 + 3104 + 3105 + 3106 + 3107 + 3108 + 3109 + 3110 + 3111 + 2629 + 2630 + 2631 + 2632 + 2633 + 2634 + 2635 + 2636 + 2637 + 2638 + 2639 + 2640 + 2641 + 2642 + 2643 + 2644 + 2645 + 3112 + 2646 + 3113 + 3114 + 3115 + 3116 + 2647 + 2648 + 2649 + 2650 + 2651 + 2652 + 2653 + 2654 + 1664 + 1665 + 1666 + 1667 + 1668 + 1669 + 1670 + 1671 + 1672 + 1673 + 1674 + 1675 + 1676 + 1677 + 1678 + 1679 + 1680 + 1681 + 1682 + 1683 + 1684 + 1685 + 1686 + 1687 + 1688 + 1689 + 1690 + 1691 + 1692 + 1693 + 1694 + 1695 + 1696 + 1697 + 1698 + 1699 + 1700 + 1701 + 3117 + 3118 + 3119 + 3120 + 3121 + 2655 + 2656 + 2657 + 2658 + 2659 + 2660 + 2661 + 2662 + 2663 + 2664 + 2665 + 2666 + 2667 + 2668 + 3122 + 2669 + 2670 + 3123 + 3124 + 3125 + 3126 + 2671 + 2672 + 2673 + 2674 + 2675 + 2676 + 2677 + 2678 + 1702 + 1703 + 1704 + 1705 + 1706 + 1707 + 1708 + 1709 + 1710 + 1711 + 1712 + 1713 + 1714 + 1715 + 1716 + 1717 + 1718 + 1719 + 1720 + 1721 + 1722 + 1723 + 1724 + 1725 + 1726 + 1727 + 1728 + 1729 + 1730 + 1731 + 1732 + 1733 + 1734 + 1735 + 1736 + 1737 + 1738 + 1739 + 1740 + 1741 + 3127 + 3128 + 3129 + 3130 + 2679 + 2680 + 2681 + 2682 + 2683 + 2684 + 2685 + 2686 + 2687 + 2688 + 2689 + 2690 + 2691 + 3131 + 3132 + 2692 + 2693 + 3133 + 3134 + 3135 + 3136 + 2694 + 2695 + 2696 + 2697 + 2698 + 2699 + 2700 + 1742 + 1743 + 1744 + 1745 + 1746 + 1747 + 1748 + 1749 + 1750 + 1751 + 1752 + 1753 + 1754 + 1755 + 1756 + 1757 + 1758 + 1759 + 1760 + 1761 + 1762 + 1763 + 1764 + 1765 + 1766 + 1767 + 1768 + 1769 + 1770 + 1771 + 1772 + 1773 + 1774 + 1775 + 1776 + 1777 + 3137 + 3138 + 2701 + 2702 + 2703 + 2704 + 2705 + 2706 + 2707 + 2708 + 2709 + 2710 + 2711 + 2712 + 1962 + 3139 + 1963 + 2713 + 2714 + 2715 + 1964 + 1965 + 1966 + 1967 + 2716 + 1968 + 2717 + 2718 + 2719 + 2720 + 2721 + 1778 + 1779 + 1780 + 1781 + 1782 + 1783 + 1784 + 1785 + 1786 + 1787 + 1788 + 1789 + 1790 + 1791 + 1792 + 1793 + 1794 + 1795 + 1796 + 1797 + 1798 + 1799 + 1800 + 1801 + 1802 + 1803 + 1804 + 1805 + 1806 + 1807 + 1808 + 1809 + 3140 + 2722 + 2723 + 2724 + 2725 + 2726 + 2727 + 2728 + 2729 + 2730 + 2731 + 2732 + 1969 + 1970 + 1971 + 1972 + 2733 + 2734 + 2735 + 1973 + 1974 + 1975 + 1976 + 2736 + 1977 + 1978 + 1979 + 2737 + 2738 + 1810 + 1811 + 1812 + 1813 + 1814 + 1815 + 1816 + 1817 + 1818 + 1819 + 1820 + 1821 + 1822 + 1823 + 1824 + 1825 + 1826 + 1827 + 1828 + 1829 + 1830 + 1831 + 1832 + 1833 + 1834 + 1835 + 1836 + 1980 + 2739 + 2740 + 2741 + 2742 + 2743 + 2744 + 2745 + 1981 + 1982 + 1983 + 1984 + 1985 + 1986 + 2746 + 2747 + 1987 + 1988 + 1989 + 1990 + 1991 + 1992 + 1993 + 1994 + 1995 + 1996 + 1997 + 1998 + 1837 + 1838 + 1839 + 1840 + 1841 + 1842 + 1843 + 1844 + 1845 + 1846 + 1847 + 1848 + 1849 + 1850 + 1851 + 1852 + 1853 + 1854 + 1855 + 1856 + 1857 + 1858 + 1859 + 1860 + 1999 + 2000 + 2001 + 2002 + 2003 + 2004 + 2005 + 2006 + 2007 + 2008 + 2009 + 2010 + 2011 + 2012 + 2013 + 2014 + 2015 + 2016 + 2017 + 2018 + 2019 + 2020 + 2021 + 2022 + 2023 + 1861 + 1862 + 1863 + 1864 + 1865 + 1866 + 1867 + 1868 + 1869 + 1870 + 1871 + 1872 + 1873 + 1874 + 1875 + 1876 + 1877 + 1878 + 1879 + 1880 + 2024 + 2025 + 2026 + 2027 + 2028 + 2029 + 2030 + 2031 + 2032 + 2033 + 2034 + 2035 + 2036 + 2037 + 2038 + 2039 + 2040 + 2041 + 2042 + 2043 + 2044 + 2045 + 2046 + 2047 + 2048 + 2049 + 1881 + 1882 + 1883 + 1884 + 1885 + 1886 + 1887 + 1888 + 1889 + 1890 + 1891 + 1892 + 1893 + 1894 + 1895 + 1896 + 1897 + 1898 + 2050 + 1899 + 2051 + 2052 + 2053 + 2054 + 2055 + 2056 + 2057 + 2058 + 2059 + 2060 + 2061 + 2062 + 2063 + 2064 + 2065 + 2066 + 2067 + 2068 + 2069 + 2070 + 2071 + 2072 + 2073 + 2074 + 2075 + 2076 + 2077 + 2078 + 2079 + 1900 + 1901 + 1902 + 1903 + 1904 + 1905 + 1906 + 1907 + 1908 + 1909 + 1910 + 1911 + 1912 + 1913 + 1914 + 1915 + 2080 + 2081 + 2082 + 1916 + 1917 + 2083 + 2084 + 2085 + 2086 + 2087 + 2088 + 2089 + 2090 + 2091 + 2092 + 2093 + 2094 + 2095 + 2096 + 2097 + 2098 + 2099 + 2100 + 2101 + 2102 + 2103 + 2104 + 2105 + 2106 + 2107 + 2108 + 2109 + 2110 + 2111 + 2112 + 1918 + 1919 + 1920 + 1921 + 1922 + 1923 + 1924 + 1925 + 1926 + 1927 + 1928 + 1929 + 1930 + 1931 + 2113 + 2114 + 2115 + 2116 + 1932 + 2117 + 2118 + 2119 + 2120 + 2121 + 2122 + 2123 + 2124 + 2125 + 2126 + 2127 + 2128 + 2129 + 2130 + 2131 + 2132 + 2133 + 2134 + 2135 + 2136 + 2137 + 2138 + 2139 + 2140 + 2141 + 2142 + 1933 + 1934 + 1935 + 1936 + 1937 + 1938 + 1939 + 1940 + 1941 + 1942 + 1943 + 1944 + 1945 + 1946 + 1947 + 2143 + 2144 + 2145 + 2146 + 2147 + 2148 + 2149 + 2150 + 2151 + 2152 + 2153 + 2154 + 2155 + 2156 + 2157 + 2158 + 2159 + 2160 + 2161 + 2162 + 2163 + 2164 + 2165 + 2166 + 2167 + 2168 + 2169 + 2170 + 1948 + 1949 + 1950 + 1951 + 1952 + 1953 + 1954 + 1955 + 1956 + 2171 + 2172 + 2173 + 2174 + 2175 + 2176 + 2177 + 2178 + 2179 + 2180 + 2181 + 2182 + 2183 + 2184 + 2185 + 2186 + 2187 + 2188 + 2189 + 2190 + 2191 + 2192 + 2193 + 2194 + 2195 + 2196 + 2197 + 2198 + 2199 + 2200 + 1957 + 2201 + 1958 + 1959 + 2202 + 2203 + 2204 + 2205 + 2206 + 2207 + 2208 + 2209 + 2210 + 2211 + 2212 + 2213 + 2214 + 2215 + 2216 + 2217 + 2218 + 2219 + 2220 + 2221 + 2222 + 2223 + 2224 + 2225 + 2226 + 2227 + 2228 + 2229 + 2230 + 1960 + 2231 + 1961 + 2232 + 2233 + 2234 + 2235 + 2236 + 2237 + 2238 + 2239 + 2240 + 2241 + 2242 + 2243 + 2244 + 2245 + 2246 + 2247 + 2248 + 2249 + 2250 + 2251 + 2252 + 2253 + 2254 + 2255 + 2256 + 2257 + 2258 + 2259 + 2260 + 2261 + 2262 + 2263 + 2264 + 2265 + 2266 + 2267 + 2268 + 2269 + 2270 + 2271 + 2272 + 2273 + 2274 + 2275 + 2276 + 2277 + 2278 + 2279 + 2280 + 2281 + 2282 + 2283 + 2284 + 2285 + 2286 + 2287 + 2288 + 2289 + 2290 + 2291 + 2292 + 2293 + 2294 + 2295 + 2296 + 2297 + 2298 + 2299 + 2300 + 2301 + 2302 + 2303 + 2304 + 2305 + 2306 + 2307 + 2308 + 2309 + 2310 + 2311 + 2312 + 2313 + 2314 + 2315 + 2316 + 2317 + 2318 + 2319 + 2320 + 2321 + 2322 + 2323 + 2324 + 2325 + 2326 + 2327 + 2328 + 2329 + 2330 + 2331 + 2332 + 2333 + 2334 + 2335 + 2336 + 2337 + 2338 + 2339 + 2340 + 2341 + 2342 + 2343 + 2344 + 2345 + 2346 + 2347 + 2348 + 2349 + 2350 + 2351 + 2352 + 2353 + 2354 diff --git a/test/meshes/pi/edge_tri.out b/test/meshes/pi/edge_tri.out new file mode 100644 index 000000000..d9e74d340 --- /dev/null +++ b/test/meshes/pi/edge_tri.out @@ -0,0 +1,8986 @@ + 23 1 + 1 4 + 4 5 + 5 8 + 8 20 + 20 23 + 1 2 + 2 3 + 3 18 + 18 4 + 25 5 + 18 6 + 6 27 + 27 25 + 31 7 + 7 20 + 8 9 + 9 31 + 10 9 + 34 10 + 25 34 + 21 7 + 37 21 + 31 32 + 32 38 + 38 37 + 6 12 + 12 11 + 11 16 + 16 13 + 13 27 + 11 15 + 48 14 + 14 44 + 15 48 + 44 16 + 3 17 + 40 12 + 17 50 + 50 40 + 2 24 + 54 17 + 24 19 + 19 54 + 21 22 + 22 57 + 57 23 + 56 24 + 57 56 + 13 28 + 28 26 + 26 34 + 72 28 + 44 68 + 68 74 + 74 72 + 10 30 + 30 29 + 29 32 + 26 33 + 76 30 + 33 76 + 29 79 + 36 35 + 35 38 + 79 36 + 50 39 + 39 52 + 41 40 + 60 41 + 52 60 + 46 15 + 41 46 + 14 43 + 86 42 + 42 68 + 43 86 + 45 43 + 91 45 + 48 47 + 47 91 + 46 80 + 94 47 + 80 94 + 49 39 + 53 49 + 54 53 + 49 101 + 101 51 + 51 98 + 98 52 + 19 102 + 100 53 + 102 100 + 56 55 + 55 104 + 104 102 + 98 58 + 58 59 + 59 83 + 83 60 + 61 67 + 115 61 + 66 111 + 67 66 + 111 116 + 116 115 + 61 119 + 119 118 + 121 62 + 118 121 + 62 122 + 122 63 + 63 64 + 64 124 + 136 65 + 65 113 + 66 137 + 113 111 + 137 136 + 69 42 + 71 69 + 138 71 + 86 87 + 87 138 + 69 70 + 70 148 + 148 74 + 147 70 + 71 142 + 142 146 + 146 147 + 77 33 + 72 73 + 73 77 + 151 73 + 148 153 + 153 151 + 76 75 + 75 155 + 155 79 + 156 75 + 77 150 + 150 156 + 158 36 + 155 78 + 78 158 + 92 80 + 83 159 + 159 92 + 59 81 + 81 95 + 95 82 + 82 159 + 45 84 + 84 85 + 85 87 + 85 140 + 139 138 + 140 139 + 94 88 + 88 163 + 163 89 + 89 91 + 90 84 + 89 90 + 93 88 + 92 160 + 160 93 + 81 106 + 171 95 + 174 96 + 96 171 + 106 174 + 51 97 + 105 58 + 97 105 + 100 99 + 99 178 + 178 101 + 176 97 + 179 176 + 178 179 + 183 99 + 104 103 + 103 183 + 105 177 + 185 106 + 177 185 + 124 107 + 107 126 + 65 108 + 108 131 + 131 109 + 109 110 + 110 113 + 110 193 + 193 112 + 112 116 + 199 114 + 114 119 + 115 117 + 117 199 + 112 197 + 197 117 + 114 194 + 200 121 + 194 200 + 201 120 + 120 122 + 200 201 + 203 64 + 120 123 + 123 203 + 125 107 + 203 125 + 125 128 + 127 126 + 204 127 + 128 204 + 187 129 + 129 132 + 132 207 + 189 187 + 209 189 + 207 209 + 108 130 + 129 131 + 130 217 + 217 132 + 215 133 + 133 207 + 217 215 + 134 130 + 135 134 + 136 135 + 139 219 + 144 142 + 219 144 + 140 165 + 165 141 + 141 222 + 222 219 + 220 143 + 143 225 + 144 220 + 225 146 + 231 145 + 145 147 + 225 230 + 230 231 + 145 233 + 233 153 + 151 149 + 149 234 + 234 150 + 152 149 + 233 152 + 154 78 + 235 154 + 156 235 + 234 157 + 157 235 + 82 236 + 167 160 + 236 167 + 171 161 + 161 238 + 238 236 + 93 168 + 168 162 + 162 163 + 90 164 + 164 166 + 166 165 + 162 243 + 243 164 + 167 237 + 169 168 + 237 169 + 96 172 + 241 161 + 172 170 + 170 241 + 245 172 + 174 250 + 247 245 + 248 247 + 250 248 + 185 173 + 173 250 + 180 175 + 175 177 + 176 180 + 181 179 + 182 181 + 183 182 + 253 180 + 181 253 + 256 173 + 175 184 + 184 256 + 127 257 + 257 186 + 192 109 + 187 188 + 188 192 + 266 188 + 189 190 + 190 210 + 210 266 + 192 191 + 191 196 + 196 193 + 272 194 + 199 195 + 195 272 + 196 271 + 274 197 + 271 274 + 198 195 + 274 198 + 202 201 + 276 202 + 272 276 + 278 123 + 202 277 + 277 278 + 205 128 + 278 205 + 204 281 + 258 257 + 281 258 + 205 279 + 279 206 + 206 281 + 133 208 + 208 212 + 285 209 + 212 285 + 211 190 + 286 211 + 285 286 + 263 210 + 211 287 + 264 263 + 287 264 + 208 214 + 213 212 + 297 213 + 214 300 + 300 297 + 134 216 + 301 215 + 216 301 + 299 214 + 301 299 + 222 218 + 218 226 + 226 220 + 221 218 + 143 223 + 223 224 + 224 230 + 308 223 + 226 310 + 310 308 + 227 221 + 228 227 + 311 228 + 313 311 + 229 313 + 224 307 + 232 231 + 304 232 + 307 304 + 317 152 + 232 318 + 318 317 + 316 157 + 317 316 + 322 237 + 238 242 + 242 322 + 170 239 + 239 319 + 240 241 + 324 240 + 319 324 + 240 327 + 327 242 + 169 328 + 244 243 + 328 244 + 322 329 + 329 328 + 246 239 + 245 330 + 330 246 + 247 249 + 249 334 + 331 330 + 334 331 + 248 341 + 339 249 + 341 339 + 256 255 + 255 340 + 340 341 + 251 184 + 252 251 + 253 252 + 251 254 + 254 255 + 259 186 + 258 282 + 345 259 + 282 348 + 348 345 + 259 344 + 353 260 + 260 289 + 290 261 + 261 353 + 289 292 + 292 290 + 268 191 + 266 262 + 262 268 + 260 356 + 267 263 + 264 265 + 265 289 + 356 267 + 354 262 + 267 354 + 268 269 + 269 270 + 270 271 + 198 359 + 275 276 + 359 275 + 270 273 + 273 359 + 275 360 + 362 277 + 360 362 + 283 279 + 364 283 + 362 364 + 206 280 + 280 366 + 366 282 + 367 280 + 283 367 + 365 284 + 284 348 + 366 365 + 213 372 + 371 286 + 372 371 + 377 287 + 371 378 + 378 377 + 288 265 + 379 288 + 377 379 + 288 380 + 380 292 + 369 261 + 290 381 + 381 291 + 291 369 + 384 293 + 293 294 + 294 381 + 380 384 + 297 295 + 295 296 + 296 373 + 373 372 + 296 391 + 374 373 + 387 374 + 391 387 + 390 295 + 300 298 + 298 392 + 392 390 + 302 298 + 299 302 + 307 303 + 303 397 + 398 304 + 397 398 + 227 305 + 305 306 + 306 310 + 400 303 + 308 401 + 401 400 + 306 309 + 309 401 + 402 305 + 311 312 + 312 402 + 229 314 + 314 312 + 404 315 + 315 318 + 398 404 + 246 320 + 321 319 + 320 409 + 409 321 + 321 408 + 326 324 + 408 326 + 325 323 + 323 329 + 327 325 + 410 325 + 326 410 + 332 320 + 331 338 + 333 332 + 338 333 + 334 335 + 335 336 + 336 337 + 337 338 + 417 335 + 339 419 + 419 417 + 340 343 + 343 419 + 254 342 + 342 418 + 418 343 + 350 344 + 345 422 + 422 350 + 284 346 + 346 347 + 347 422 + 421 349 + 350 421 + 439 351 + 351 353 + 369 352 + 352 434 + 434 439 + 351 442 + 441 356 + 442 441 + 357 269 + 354 355 + 355 357 + 443 355 + 441 443 + 358 273 + 357 446 + 446 358 + 358 444 + 444 360 + 444 361 + 361 449 + 449 364 + 452 363 + 363 367 + 449 452 + 363 454 + 368 365 + 454 368 + 424 346 + 368 453 + 453 424 + 291 370 + 431 352 + 370 432 + 432 431 + 374 388 + 388 375 + 375 378 + 375 463 + 463 376 + 376 379 + 376 465 + 383 384 + 465 383 + 294 472 + 456 370 + 472 382 + 382 456 + 473 293 + 383 469 + 469 470 + 470 473 + 473 385 + 385 472 + 387 386 + 386 475 + 461 388 + 475 461 + 478 386 + 391 389 + 389 480 + 480 478 + 479 389 + 390 479 + 392 394 + 394 393 + 393 479 + 396 395 + 395 474 + 478 396 + 474 475 + 487 397 + 400 486 + 486 487 + 484 399 + 399 404 + 488 484 + 487 488 + 489 309 + 402 490 + 490 489 + 485 486 + 489 485 + 399 403 + 332 406 + 495 405 + 405 409 + 406 495 + 405 407 + 407 497 + 497 408 + 411 410 + 496 411 + 497 496 + 333 412 + 413 406 + 412 502 + 502 413 + 337 414 + 500 412 + 414 500 + 336 415 + 507 414 + 415 507 + 508 415 + 417 416 + 416 508 + 420 416 + 418 420 + 347 423 + 512 421 + 423 512 + 425 423 + 424 436 + 436 425 + 349 426 + 426 427 + 428 426 + 511 428 + 512 511 + 514 427 + 428 429 + 429 514 + 457 430 + 430 523 + 525 431 + 432 457 + 523 525 + 525 433 + 433 527 + 527 434 + 453 435 + 435 509 + 509 436 + 527 437 + 437 531 + 534 439 + 531 534 + 533 438 + 438 442 + 534 533 + 438 536 + 536 440 + 440 443 + 440 445 + 445 446 + 447 361 + 445 539 + 539 447 + 447 448 + 448 540 + 540 452 + 451 450 + 450 454 + 540 451 + 528 435 + 450 528 + 459 455 + 455 457 + 456 459 + 522 430 + 455 458 + 458 543 + 543 522 + 382 460 + 550 459 + 460 550 + 461 462 + 462 551 + 551 463 + 551 464 + 464 466 + 466 465 + 466 467 + 467 468 + 468 469 + 468 471 + 557 470 + 471 557 + 385 560 + 549 460 + 560 549 + 557 559 + 559 560 + 476 462 + 474 562 + 562 476 + 481 396 + 480 477 + 477 565 + 565 481 + 393 566 + 566 477 + 482 395 + 481 564 + 564 482 + 482 569 + 569 483 + 483 562 + 493 403 + 484 574 + 574 493 + 485 491 + 578 488 + 491 578 + 577 574 + 578 577 + 493 492 + 492 576 + 498 407 + 495 494 + 494 498 + 413 582 + 583 494 + 582 583 + 585 496 + 498 580 + 580 585 + 503 499 + 499 581 + 502 503 + 581 582 + 500 501 + 501 592 + 592 503 + 593 499 + 592 591 + 591 593 + 504 501 + 506 504 + 507 506 + 508 505 + 505 595 + 595 506 + 510 425 + 509 530 + 520 510 + 530 520 + 510 599 + 599 511 + 517 513 + 514 517 + 515 429 + 605 515 + 599 605 + 515 604 + 604 516 + 516 517 + 519 518 + 518 600 + 530 519 + 600 520 + 541 521 + 521 523 + 522 544 + 544 541 + 620 433 + 521 524 + 524 620 + 526 437 + 619 526 + 620 619 + 610 519 + 528 529 + 529 610 + 526 623 + 627 531 + 623 624 + 624 627 + 627 532 + 532 629 + 629 533 + 631 535 + 535 536 + 629 631 + 535 537 + 537 539 + 634 448 + 537 538 + 538 634 + 637 451 + 634 633 + 633 637 + 626 529 + 637 626 + 614 541 + 544 542 + 542 639 + 615 614 + 639 615 + 641 542 + 543 642 + 642 641 + 545 458 + 645 545 + 550 645 + 545 643 + 643 546 + 546 642 + 561 547 + 547 548 + 548 645 + 549 561 + 554 464 + 476 552 + 552 554 + 555 467 + 554 553 + 553 555 + 556 471 + 555 660 + 660 556 + 556 558 + 558 662 + 662 559 + 655 561 + 662 655 + 483 571 + 563 552 + 571 563 + 666 564 + 565 567 + 567 666 + 666 568 + 568 667 + 667 569 + 669 570 + 570 571 + 667 669 + 572 492 + 573 572 + 577 573 + 572 671 + 671 575 + 575 576 + 575 579 + 586 580 + 583 584 + 584 586 + 581 589 + 587 584 + 589 587 + 672 587 + 589 588 + 588 676 + 676 672 + 682 588 + 593 681 + 681 682 + 504 590 + 590 684 + 684 591 + 685 594 + 594 681 + 684 685 + 683 590 + 595 596 + 596 683 + 513 598 + 598 597 + 597 687 + 600 609 + 609 601 + 601 605 + 516 692 + 691 598 + 692 691 + 601 602 + 602 603 + 603 604 + 603 696 + 693 692 + 696 693 + 689 597 + 700 606 + 606 689 + 691 700 + 518 608 + 705 607 + 607 609 + 608 705 + 707 608 + 610 625 + 625 611 + 611 707 + 622 612 + 612 615 + 647 622 + 639 648 + 648 647 + 612 710 + 710 613 + 613 614 + 616 524 + 613 617 + 617 616 + 616 618 + 618 711 + 711 619 + 654 621 + 621 709 + 709 622 + 647 651 + 651 654 + 715 623 + 711 716 + 716 715 + 628 624 + 720 628 + 715 719 + 719 720 + 701 625 + 626 723 + 723 701 + 725 532 + 628 722 + 722 725 + 725 630 + 630 632 + 632 631 + 635 538 + 632 635 + 730 633 + 635 729 + 729 730 + 730 636 + 636 723 + 734 638 + 638 648 + 641 734 + 546 640 + 640 737 + 737 734 + 548 644 + 739 643 + 644 739 + 646 640 + 739 646 + 638 740 + 649 651 + 740 649 + 649 650 + 650 742 + 742 652 + 652 654 + 653 621 + 652 744 + 743 653 + 744 743 + 655 664 + 657 553 + 563 656 + 656 751 + 751 657 + 657 658 + 658 659 + 659 660 + 663 558 + 659 661 + 661 663 + 663 757 + 757 664 + 570 758 + 665 656 + 758 665 + 668 568 + 668 760 + 760 669 + 763 758 + 760 761 + 761 763 + 670 579 + 769 670 + 671 770 + 770 769 + 670 765 + 765 767 + 672 675 + 687 773 + 773 774 + 774 777 + 676 673 + 673 677 + 677 674 + 674 675 + 785 673 + 682 680 + 680 785 + 772 674 + 677 678 + 678 790 + 784 772 + 790 784 + 594 679 + 679 792 + 792 680 + 683 686 + 794 685 + 686 794 + 793 679 + 794 793 + 698 688 + 688 773 + 689 698 + 694 602 + 607 690 + 690 694 + 693 697 + 697 800 + 800 700 + 694 801 + 801 695 + 695 696 + 695 802 + 802 697 + 606 699 + 803 698 + 699 803 + 804 699 + 800 804 + 702 611 + 701 703 + 731 702 + 703 731 + 798 690 + 705 704 + 704 808 + 808 798 + 706 704 + 708 706 + 707 708 + 702 806 + 806 708 + 709 714 + 817 710 + 714 817 + 618 713 + 713 815 + 717 716 + 815 717 + 822 617 + 817 712 + 712 822 + 818 713 + 822 818 + 653 823 + 816 714 + 823 816 + 743 747 + 747 748 + 717 814 + 814 718 + 718 811 + 811 719 + 721 720 + 826 721 + 811 826 + 721 832 + 831 722 + 832 831 + 636 724 + 732 703 + 724 732 + 726 630 + 838 726 + 831 838 + 726 728 + 728 727 + 727 729 + 833 724 + 727 833 + 807 731 + 732 836 + 839 807 + 836 839 + 736 733 + 733 740 + 737 736 + 646 738 + 738 735 + 735 736 + 848 738 + 741 650 + 733 843 + 843 741 + 742 851 + 745 744 + 851 745 + 741 854 + 850 851 + 854 850 + 745 746 + 746 856 + 856 747 + 750 748 + 856 749 + 749 750 + 750 859 + 757 756 + 756 861 + 665 752 + 868 751 + 752 864 + 864 868 + 753 658 + 868 753 + 754 661 + 753 869 + 869 754 + 754 755 + 755 756 + 759 752 + 872 759 + 763 872 + 764 761 + 875 762 + 762 872 + 764 875 + 766 765 + 768 766 + 769 768 + 766 878 + 877 767 + 878 877 + 881 876 + 877 881 + 772 771 + 774 775 + 775 779 + 778 777 + 779 778 + 688 776 + 886 775 + 776 886 + 778 890 + 779 780 + 780 781 + 781 892 + 892 890 + 894 771 + 783 782 + 782 894 + 784 783 + 895 783 + 790 897 + 897 895 + 788 678 + 785 786 + 786 788 + 787 786 + 792 787 + 788 898 + 898 789 + 789 897 + 901 787 + 793 791 + 791 901 + 887 776 + 803 902 + 902 887 + 796 795 + 795 798 + 799 796 + 809 799 + 808 809 + 795 797 + 797 801 + 802 906 + 805 804 + 906 805 + 797 905 + 905 906 + 805 903 + 907 902 + 903 907 + 908 806 + 807 840 + 840 908 + 706 911 + 810 809 + 911 810 + 908 909 + 909 911 + 718 824 + 824 812 + 812 829 + 829 826 + 819 813 + 813 814 + 815 819 + 820 712 + 816 917 + 917 820 + 818 821 + 916 819 + 821 916 + 820 821 + 813 918 + 914 824 + 918 914 + 828 825 + 825 832 + 829 828 + 812 913 + 919 827 + 827 828 + 913 919 + 825 922 + 922 830 + 830 838 + 833 834 + 834 835 + 835 836 + 927 728 + 830 837 + 837 927 + 926 834 + 927 926 + 839 842 + 931 840 + 842 931 + 835 841 + 841 929 + 929 842 + 735 844 + 934 843 + 844 934 + 845 844 + 847 845 + 848 847 + 846 847 + 933 849 + 849 854 + 934 933 + 852 746 + 850 940 + 940 852 + 849 853 + 853 855 + 855 940 + 858 749 + 852 857 + 857 858 + 858 944 + 860 859 + 948 860 + 944 948 + 860 949 + 935 846 + 936 935 + 861 862 + 862 956 + 759 871 + 871 863 + 863 864 + 755 866 + 865 862 + 866 865 + 863 867 + 867 870 + 870 869 + 963 866 + 870 963 + 762 874 + 957 871 + 874 957 + 954 873 + 873 875 + 873 967 + 966 874 + 967 966 + 876 880 + 880 882 + 878 879 + 879 978 + 978 881 + 976 880 + 978 976 + 882 883 + 883 979 + 981 971 + 979 980 + 980 981 + 894 884 + 889 780 + 886 885 + 885 889 + 990 885 + 887 888 + 888 990 + 893 781 + 889 988 + 988 893 + 892 891 + 994 891 + 893 995 + 995 994 + 782 997 + 984 884 + 982 984 + 997 982 + 895 896 + 896 999 + 999 997 + 789 899 + 1003 896 + 899 1003 + 1006 898 + 901 900 + 900 1006 + 1005 899 + 1006 1005 + 989 888 + 907 1008 + 1008 989 + 904 905 + 1011 903 + 904 1011 + 1010 1008 + 1011 1010 + 1012 909 + 931 910 + 910 1012 + 914 912 + 912 1014 + 1014 913 + 916 915 + 915 1016 + 1016 918 + 1015 912 + 1016 1015 + 1018 919 + 1014 920 + 920 921 + 921 1018 + 1021 827 + 1018 1020 + 1020 1021 + 924 922 + 1021 923 + 923 924 + 928 837 + 924 925 + 925 928 + 932 841 + 926 1028 + 1028 932 + 928 1026 + 1026 1028 + 1032 910 + 929 930 + 930 1032 + 1030 930 + 932 1027 + 1027 1030 + 845 1036 + 938 933 + 1036 938 + 935 1037 + 1037 1036 + 936 951 + 953 937 + 937 1037 + 951 953 + 941 853 + 938 1035 + 1035 941 + 855 939 + 1043 857 + 939 1043 + 942 939 + 941 1040 + 1040 942 + 1045 943 + 943 944 + 1043 1045 + 943 945 + 945 947 + 947 948 + 1044 946 + 946 949 + 947 1044 + 1047 950 + 950 951 + 950 1049 + 1049 952 + 952 953 + 970 954 + 969 970 + 956 955 + 955 1054 + 865 958 + 1053 955 + 958 1053 + 960 867 + 957 964 + 964 960 + 959 958 + 962 959 + 963 962 + 960 961 + 961 962 + 1057 964 + 966 1061 + 1061 1057 + 970 965 + 965 968 + 968 967 + 968 1062 + 1062 1061 + 1065 965 + 969 1051 + 1051 1064 + 1064 1065 + 971 972 + 972 1068 + 975 972 + 981 973 + 973 974 + 974 975 + 1077 883 + 976 977 + 977 1077 + 1079 980 + 1077 1081 + 1081 1079 + 1075 973 + 1079 1075 + 982 1082 + 1082 983 + 983 1084 + 985 984 + 1084 985 + 990 986 + 986 987 + 987 988 + 1088 986 + 989 1009 + 1009 1088 + 987 991 + 991 996 + 996 995 + 1093 992 + 994 1093 + 1092 993 + 993 1093 + 996 1092 + 1000 998 + 998 1082 + 999 1000 + 1001 1000 + 1002 1001 + 1003 1002 + 1097 1002 + 1005 1004 + 1004 1097 + 1105 1007 + 1007 1009 + 1010 1104 + 1104 1105 + 1032 1031 + 1109 920 + 1015 1013 + 1013 1109 + 1017 921 + 1107 1017 + 1109 1107 + 1017 1019 + 1019 1111 + 1111 1020 + 1023 923 + 1111 1022 + 1022 1023 + 1024 925 + 1023 1114 + 1114 1024 + 1024 1115 + 1115 1025 + 1025 1026 + 1025 1034 + 1034 1027 + 1033 1029 + 1029 1119 + 1030 1033 + 1119 1031 + 1120 1033 + 1034 1120 + 937 1038 + 1121 1035 + 1038 1121 + 952 1039 + 1122 1038 + 1039 1122 + 1126 1040 + 1121 1041 + 1041 1126 + 942 1042 + 1042 1130 + 1130 1045 + 1131 1042 + 1126 1127 + 1127 1131 + 945 1046 + 1132 1044 + 1046 1132 + 1134 1046 + 1130 1135 + 1135 1134 + 1132 1133 + 1050 1047 + 1139 1048 + 1048 1050 + 1054 1139 + 1123 1039 + 1049 1143 + 1143 1123 + 1050 1141 + 1141 1144 + 1144 1143 + 1150 1051 + 1052 1150 + 1053 1055 + 1055 1056 + 1056 1139 + 959 1154 + 1151 1055 + 1154 1151 + 1059 961 + 1057 1156 + 1156 1059 + 1059 1058 + 1058 1154 + 1157 1060 + 1060 1156 + 1062 1157 + 1065 1158 + 1158 1157 + 1064 1063 + 1063 1066 + 1066 1158 + 1160 1063 + 1150 1149 + 1149 1160 + 1068 1069 + 1069 1071 + 975 1067 + 1067 1165 + 1070 1069 + 1165 1070 + 1071 1072 + 1072 1166 + 974 1074 + 1073 1067 + 1074 1073 + 1076 1074 + 1075 1080 + 1080 1076 + 1078 1081 + 1078 1080 + 1171 983 + 998 1083 + 1083 1172 + 1172 1171 + 1085 1084 + 1175 1085 + 1171 1086 + 1086 1175 + 992 1087 + 1087 1177 + 1177 1101 + 1100 1102 + 1182 1100 + 1102 1101 + 1177 1176 + 1176 1182 + 1090 991 + 1088 1186 + 1186 1090 + 1007 1089 + 1089 1185 + 1185 1186 + 1090 1184 + 1184 1091 + 1091 1092 + 993 1189 + 1178 1087 + 1189 1178 + 1091 1094 + 1094 1189 + 1001 1193 + 1095 1083 + 1193 1095 + 1097 1096 + 1096 1193 + 1196 1096 + 1181 1098 + 1098 1099 + 1099 1102 + 1100 1181 + 1103 1089 + 1198 1103 + 1105 1199 + 1199 1198 + 1200 1199 + 1205 1106 + 1119 1205 + 1108 1019 + 1107 1208 + 1209 1108 + 1208 1209 + 1110 1212 + 1112 1022 + 1108 1207 + 1207 1112 + 1112 1215 + 1113 1114 + 1215 1113 + 1113 1220 + 1117 1115 + 1220 1117 + 1223 1116 + 1116 1120 + 1117 1223 + 1029 1227 + 1218 1118 + 1118 1205 + 1227 1218 + 1116 1225 + 1225 1227 + 1230 1041 + 1122 1229 + 1229 1230 + 1123 1142 + 1142 1124 + 1124 1229 + 1235 1125 + 1125 1127 + 1230 1235 + 1125 1128 + 1128 1129 + 1129 1239 + 1239 1131 + 1136 1135 + 1239 1136 + 1137 1133 + 1134 1240 + 1240 1137 + 1136 1238 + 1238 1240 + 1140 1048 + 1056 1138 + 1138 1245 + 1245 1140 + 1140 1247 + 1247 1141 + 1231 1142 + 1144 1146 + 1146 1231 + 1247 1145 + 1145 1248 + 1248 1146 + 1147 1052 + 1167 1147 + 1166 1167 + 1147 1148 + 1148 1251 + 1251 1149 + 1243 1138 + 1151 1253 + 1253 1243 + 1058 1152 + 1152 1153 + 1153 1253 + 1060 1155 + 1155 1152 + 1066 1258 + 1255 1155 + 1258 1255 + 1259 1159 + 1159 1258 + 1160 1259 + 1251 1161 + 1161 1259 + 1070 1162 + 1260 1072 + 1162 1260 + 1073 1163 + 1163 1164 + 1164 1264 + 1264 1165 + 1263 1162 + 1264 1263 + 1267 1167 + 1260 1269 + 1269 1267 + 1076 1168 + 1270 1163 + 1168 1270 + 1271 1168 + 1095 1169 + 1169 1273 + 1273 1170 + 1170 1172 + 1173 1086 + 1170 1173 + 1173 1274 + 1274 1174 + 1174 1277 + 1277 1175 + 1179 1176 + 1178 1192 + 1192 1179 + 1179 1180 + 1180 1183 + 1183 1182 + 1284 1181 + 1183 1282 + 1282 1284 + 1197 1098 + 1280 1197 + 1287 1280 + 1284 1287 + 1289 1184 + 1185 1188 + 1188 1289 + 1103 1187 + 1187 1188 + 1190 1094 + 1291 1190 + 1289 1291 + 1190 1191 + 1191 1192 + 1288 1187 + 1198 1294 + 1292 1288 + 1294 1292 + 1195 1169 + 1196 1194 + 1194 1195 + 1295 1194 + 1197 1297 + 1200 1201 + 1201 1302 + 1302 1294 + 1202 1201 + 1305 1202 + 1106 1203 + 1203 1204 + 1204 1306 + 1118 1310 + 1308 1203 + 1310 1308 + 1217 1206 + 1206 1207 + 1209 1313 + 1313 1217 + 1213 1210 + 1212 1213 + 1110 1211 + 1211 1317 + 1315 1213 + 1317 1315 + 1206 1214 + 1214 1219 + 1219 1215 + 1322 1214 + 1217 1216 + 1216 1322 + 1218 1226 + 1226 1311 + 1311 1310 + 1219 1320 + 1222 1220 + 1320 1222 + 1222 1221 + 1221 1224 + 1224 1223 + 1224 1326 + 1326 1225 + 1324 1226 + 1328 1324 + 1326 1328 + 1124 1232 + 1232 1228 + 1228 1235 + 1231 1233 + 1330 1232 + 1233 1330 + 1236 1128 + 1228 1234 + 1234 1236 + 1334 1129 + 1236 1237 + 1237 1335 + 1335 1334 + 1241 1238 + 1336 1241 + 1334 1336 + 1241 1342 + 1254 1242 + 1242 1244 + 1243 1254 + 1244 1245 + 1246 1145 + 1244 1246 + 1347 1233 + 1248 1346 + 1346 1347 + 1246 1249 + 1249 1348 + 1348 1346 + 1250 1148 + 1352 1250 + 1267 1352 + 1353 1161 + 1250 1354 + 1354 1353 + 1153 1252 + 1252 1356 + 1356 1254 + 1256 1252 + 1255 1256 + 1159 1257 + 1357 1256 + 1257 1357 + 1359 1257 + 1353 1359 + 1265 1164 + 1360 1265 + 1270 1361 + 1361 1360 + 1367 1261 + 1261 1269 + 1263 1367 + 1265 1262 + 1262 1367 + 1261 1266 + 1266 1268 + 1268 1352 + 1271 1369 + 1362 1361 + 1369 1362 + 1272 1369 + 1195 1299 + 1375 1273 + 1299 1372 + 1372 1377 + 1377 1375 + 1275 1274 + 1375 1275 + 1276 1174 + 1275 1378 + 1378 1276 + 1281 1180 + 1191 1278 + 1278 1281 + 1286 1279 + 1279 1297 + 1280 1286 + 1281 1379 + 1385 1282 + 1379 1385 + 1385 1283 + 1283 1287 + 1283 1383 + 1383 1285 + 1285 1286 + 1288 1387 + 1387 1290 + 1290 1291 + 1388 1278 + 1290 1388 + 1292 1293 + 1293 1389 + 1389 1387 + 1390 1293 + 1302 1392 + 1392 1390 + 1295 1393 + 1298 1299 + 1393 1298 + 1394 1393 + 1279 1381 + 1381 1296 + 1298 1398 + 1373 1372 + 1398 1373 + 1202 1301 + 1301 1300 + 1300 1392 + 1307 1303 + 1303 1305 + 1306 1307 + 1399 1301 + 1303 1304 + 1304 1399 + 1204 1402 + 1404 1307 + 1402 1405 + 1405 1404 + 1308 1407 + 1407 1309 + 1309 1402 + 1311 1323 + 1323 1312 + 1312 1407 + 1321 1216 + 1314 1321 + 1210 1411 + 1411 1314 + 1315 1316 + 1316 1414 + 1414 1411 + 1413 1316 + 1317 1318 + 1318 1413 + 1416 1319 + 1319 1320 + 1322 1416 + 1321 1418 + 1417 1416 + 1418 1417 + 1409 1323 + 1324 1327 + 1327 1409 + 1423 1221 + 1319 1325 + 1325 1423 + 1329 1328 + 1423 1329 + 1422 1327 + 1329 1426 + 1426 1422 + 1333 1234 + 1330 1430 + 1430 1333 + 1332 1331 + 1331 1430 + 1428 1332 + 1347 1428 + 1337 1237 + 1333 1434 + 1434 1337 + 1335 1338 + 1436 1336 + 1338 1436 + 1337 1339 + 1438 1338 + 1339 1438 + 1436 1340 + 1340 1341 + 1341 1342 + 1344 1242 + 1356 1343 + 1343 1344 + 1345 1249 + 1344 1440 + 1440 1345 + 1348 1445 + 1444 1428 + 1445 1444 + 1345 1349 + 1349 1445 + 1268 1350 + 1350 1351 + 1351 1354 + 1351 1447 + 1358 1359 + 1447 1358 + 1355 1343 + 1450 1355 + 1357 1450 + 1358 1446 + 1446 1450 + 1364 1360 + 1362 1363 + 1363 1455 + 1455 1364 + 1365 1262 + 1364 1454 + 1454 1365 + 1366 1266 + 1365 1366 + 1457 1350 + 1366 1368 + 1368 1457 + 1272 1462 + 1451 1363 + 1458 1451 + 1462 1458 + 1464 1462 + 1463 1464 + 1370 1371 + 1371 1463 + 1373 1374 + 1374 1467 + 1469 1377 + 1467 1469 + 1471 1376 + 1376 1474 + 1474 1378 + 1469 1471 + 1477 1379 + 1388 1476 + 1476 1477 + 1285 1380 + 1380 1481 + 1481 1381 + 1382 1296 + 1479 1382 + 1481 1479 + 1386 1383 + 1477 1384 + 1384 1386 + 1482 1380 + 1386 1484 + 1484 1482 + 1389 1486 + 1475 1476 + 1486 1475 + 1390 1489 + 1487 1486 + 1489 1487 + 1300 1391 + 1391 1489 + 1394 1396 + 1396 1395 + 1395 1398 + 1490 1396 + 1493 1490 + 1382 1397 + 1397 1494 + 1497 1374 + 1395 1496 + 1496 1497 + 1499 1391 + 1399 1500 + 1500 1499 + 1400 1304 + 1502 1400 + 1404 1502 + 1400 1401 + 1401 1504 + 1504 1500 + 1309 1408 + 1408 1403 + 1403 1405 + 1403 1406 + 1406 1506 + 1506 1502 + 1312 1509 + 1510 1408 + 1509 1510 + 1409 1421 + 1421 1410 + 1410 1509 + 1414 1412 + 1412 1419 + 1419 1418 + 1511 1412 + 1413 1511 + 1415 1325 + 1420 1415 + 1417 1420 + 1419 1512 + 1512 1420 + 1514 1421 + 1422 1515 + 1515 1514 + 1415 1516 + 1425 1426 + 1516 1425 + 1425 1424 + 1424 1515 + 1519 1332 + 1442 1427 + 1427 1519 + 1444 1442 + 1331 1429 + 1429 1431 + 1431 1434 + 1432 1429 + 1522 1432 + 1519 1522 + 1437 1339 + 1431 1433 + 1433 1437 + 1435 1340 + 1526 1435 + 1438 1526 + 1437 1525 + 1525 1526 + 1355 1449 + 1449 1439 + 1439 1440 + 1441 1349 + 1439 1528 + 1528 1441 + 1441 1443 + 1531 1442 + 1443 1531 + 1448 1447 + 1534 1448 + 1457 1534 + 1537 1446 + 1448 1536 + 1536 1537 + 1527 1449 + 1537 1527 + 1451 1460 + 1460 1452 + 1452 1455 + 1452 1538 + 1538 1453 + 1453 1454 + 1540 1368 + 1453 1540 + 1540 1456 + 1456 1533 + 1533 1534 + 1549 1370 + 1548 1549 + 1458 1461 + 1461 1459 + 1459 1551 + 1551 1460 + 1554 1461 + 1464 1554 + 1371 1556 + 1555 1554 + 1556 1555 + 1549 1465 + 1465 1466 + 1466 1556 + 1470 1467 + 1497 1468 + 1468 1470 + 1470 1566 + 1472 1471 + 1566 1472 + 1473 1376 + 1472 1568 + 1568 1473 + 1473 1570 + 1478 1384 + 1475 1572 + 1572 1478 + 1480 1397 + 1479 1576 + 1574 1480 + 1576 1574 + 1482 1485 + 1485 1576 + 1478 1483 + 1483 1580 + 1580 1484 + 1582 1485 + 1580 1579 + 1579 1582 + 1487 1488 + 1488 1584 + 1584 1572 + 1583 1488 + 1499 1585 + 1585 1583 + 1490 1491 + 1491 1492 + 1492 1496 + 1588 1491 + 1493 1590 + 1590 1588 + 1494 1593 + 1591 1590 + 1593 1591 + 1480 1495 + 1495 1593 + 1567 1468 + 1492 1498 + 1498 1567 + 1596 1501 + 1501 1585 + 1504 1596 + 1503 1401 + 1599 1503 + 1506 1599 + 1503 1598 + 1598 1596 + 1507 1406 + 1603 1507 + 1510 1603 + 1602 1505 + 1505 1599 + 1507 1602 + 1410 1508 + 1508 1606 + 1606 1603 + 1604 1508 + 1514 1607 + 1607 1604 + 1610 1512 + 1609 1516 + 1610 1609 + 1424 1513 + 1513 1611 + 1611 1607 + 1612 1513 + 1609 1612 + 1517 1427 + 1616 1517 + 1531 1518 + 1518 1616 + 1517 1614 + 1614 1520 + 1520 1522 + 1432 1621 + 1524 1433 + 1621 1524 + 1520 1521 + 1521 1619 + 1619 1621 + 1620 1523 + 1523 1525 + 1524 1620 + 1527 1624 + 1529 1528 + 1624 1529 + 1530 1443 + 1529 1628 + 1628 1530 + 1613 1518 + 1530 1532 + 1532 1613 + 1533 1543 + 1543 1535 + 1535 1536 + 1535 1625 + 1625 1624 + 1539 1538 + 1632 1539 + 1551 1632 + 1541 1456 + 1539 1541 + 1541 1542 + 1542 1634 + 1634 1543 + 1544 1545 + 1545 1548 + 1636 1544 + 1546 1547 + 1547 1636 + 1559 1465 + 1545 1550 + 1550 1559 + 1459 1552 + 1552 1641 + 1641 1553 + 1553 1632 + 1642 1552 + 1555 1642 + 1466 1558 + 1558 1557 + 1557 1642 + 1638 1558 + 1559 1638 + 1546 1652 + 1637 1547 + 1652 1560 + 1560 1645 + 1645 1637 + 1562 1650 + 1650 1652 + 1564 1561 + 1561 1562 + 1563 1657 + 1657 1564 + 1656 1561 + 1660 1656 + 1657 1659 + 1659 1660 + 1565 1563 + 1570 1569 + 1569 1664 + 1666 1566 + 1567 1595 + 1595 1666 + 1571 1568 + 1671 1571 + 1666 1671 + 1661 1569 + 1571 1670 + 1670 1661 + 1573 1483 + 1674 1573 + 1584 1674 + 1677 1495 + 1574 1680 + 1676 1677 + 1680 1676 + 1582 1575 + 1575 1680 + 1573 1577 + 1577 1578 + 1578 1579 + 1581 1575 + 1578 1682 + 1682 1581 + 1583 1685 + 1675 1674 + 1685 1675 + 1501 1586 + 1586 1685 + 1587 1498 + 1589 1587 + 1588 1589 + 1686 1589 + 1591 1592 + 1592 1686 + 1678 1592 + 1677 1678 + 1587 1594 + 1594 1688 + 1688 1595 + 1693 1586 + 1598 1692 + 1692 1693 + 1505 1597 + 1597 1600 + 1600 1692 + 1696 1597 + 1602 1601 + 1601 1701 + 1701 1696 + 1700 1601 + 1606 1700 + 1604 1605 + 1605 1704 + 1702 1700 + 1704 1702 + 1705 1605 + 1611 1706 + 1706 1705 + 1608 1612 + 1608 1706 + 1613 1631 + 1708 1616 + 1631 1708 + 1617 1614 + 1707 1615 + 1615 1617 + 1708 1707 + 1623 1521 + 1617 1713 + 1713 1623 + 1615 1618 + 1618 1715 + 1715 1713 + 1619 1622 + 1717 1620 + 1622 1717 + 1716 1622 + 1623 1716 + 1625 1626 + 1626 1627 + 1627 1628 + 1719 1532 + 1627 1629 + 1629 1719 + 1720 1630 + 1630 1711 + 1711 1631 + 1719 1720 + 1718 1626 + 1634 1721 + 1721 1718 + 1725 1542 + 1553 1633 + 1633 1725 + 1722 1721 + 1725 1722 + 1723 1633 + 1641 1640 + 1640 1723 + 1639 1550 + 1636 1635 + 1635 1639 + 1729 1635 + 1637 1730 + 1730 1729 + 1644 1638 + 1639 1734 + 1734 1644 + 1557 1643 + 1735 1640 + 1643 1735 + 1733 1643 + 1644 1733 + 1645 1649 + 1649 1646 + 1646 1647 + 1647 1730 + 1560 1648 + 1648 1740 + 1739 1649 + 1740 1739 + 1651 1648 + 1650 1654 + 1654 1651 + 1656 1653 + 1653 1654 + 1745 1653 + 1748 1655 + 1655 1745 + 1660 1748 + 1565 1749 + 1658 1659 + 1749 1658 + 1658 1751 + 1751 1748 + 1661 1673 + 1665 1664 + 1753 1665 + 1673 1753 + 1755 1662 + 1662 1758 + 1758 1663 + 1663 1665 + 1753 1755 + 1688 1667 + 1667 1668 + 1668 1671 + 1668 1672 + 1672 1669 + 1669 1670 + 1669 1754 + 1754 1673 + 1763 1577 + 1675 1684 + 1684 1763 + 1676 1681 + 1691 1678 + 1681 1765 + 1765 1691 + 1581 1679 + 1679 1681 + 1683 1682 + 1767 1683 + 1763 1767 + 1764 1679 + 1683 1764 + 1769 1684 + 1693 1770 + 1770 1769 + 1689 1594 + 1686 1772 + 1772 1689 + 1691 1687 + 1687 1772 + 1690 1667 + 1689 1774 + 1774 1690 + 1771 1687 + 1765 1777 + 1777 1771 + 1600 1697 + 1697 1694 + 1694 1770 + 1696 1695 + 1695 1778 + 1778 1697 + 1698 1695 + 1699 1698 + 1701 1699 + 1783 1699 + 1702 1784 + 1784 1783 + 1704 1703 + 1703 1785 + 1785 1784 + 1788 1703 + 1705 1789 + 1789 1788 + 1709 1707 + 1799 1709 + 1711 1799 + 1714 1618 + 1709 1714 + 1630 1710 + 1710 1802 + 1800 1799 + 1802 1800 + 1805 1712 + 1712 1716 + 1715 1805 + 1714 1804 + 1804 1806 + 1806 1805 + 1809 1629 + 1718 1808 + 1808 1810 + 1810 1809 + 1813 1720 + 1809 1812 + 1812 1813 + 1796 1710 + 1813 1796 + 1722 1724 + 1724 1815 + 1815 1808 + 1723 1726 + 1726 1724 + 1817 1726 + 1735 1727 + 1727 1817 + 1820 1728 + 1728 1734 + 1729 1820 + 1647 1731 + 1731 1820 + 1728 1819 + 1819 1732 + 1732 1733 + 1818 1727 + 1732 1818 + 1646 1737 + 1736 1731 + 1737 1736 + 1822 1737 + 1741 1738 + 1738 1822 + 1739 1741 + 1740 1744 + 1828 1741 + 1744 1828 + 1651 1742 + 1742 1743 + 1743 1744 + 1829 1742 + 1745 1829 + 1655 1746 + 1746 1747 + 1747 1829 + 1831 1746 + 1751 1750 + 1750 1831 + 1839 1752 + 1752 1755 + 1754 1839 + 1759 1662 + 1752 1756 + 1756 1757 + 1757 1759 + 1843 1758 + 1759 1841 + 1841 1843 + 1843 1844 + 1848 1672 + 1690 1760 + 1760 1848 + 1848 1761 + 1761 1839 + 1768 1762 + 1762 1767 + 1769 1768 + 1764 1766 + 1766 1776 + 1776 1777 + 1762 1850 + 1850 1766 + 1694 1854 + 1849 1768 + 1854 1849 + 1771 1773 + 1773 1855 + 1855 1774 + 1846 1760 + 1856 1846 + 1855 1856 + 1857 1773 + 1776 1775 + 1775 1857 + 1778 1781 + 1781 1779 + 1779 1854 + 1698 1780 + 1780 1862 + 1862 1781 + 1782 1780 + 1863 1782 + 1783 1863 + 1785 1786 + 1786 1861 + 1861 1863 + 1787 1786 + 1866 1787 + 1788 1867 + 1867 1866 + 1790 1793 + 1792 1790 + 1870 1791 + 1791 1792 + 1792 1795 + 1794 1793 + 1795 1794 + 1796 1797 + 1797 1798 + 1798 1877 + 1877 1802 + 1800 1801 + 1801 1880 + 1880 1804 + 1803 1801 + 1878 1803 + 1877 1878 + 1884 1806 + 1880 1879 + 1879 1885 + 1885 1884 + 1890 1807 + 1807 1810 + 1815 1814 + 1814 1890 + 1807 1811 + 1811 1812 + 1875 1797 + 1811 1889 + 1889 1875 + 1892 1814 + 1817 1893 + 1893 1892 + 1818 1816 + 1816 1894 + 1894 1893 + 1736 1897 + 1896 1819 + 1897 1896 + 1821 1816 + 1896 1821 + 1822 1900 + 1899 1897 + 1900 1899 + 1738 1824 + 1835 1823 + 1823 1900 + 1824 1835 + 1825 1824 + 1826 1825 + 1828 1826 + 1743 1827 + 1905 1826 + 1827 1905 + 1747 1832 + 1832 1827 + 1831 1830 + 1830 1904 + 1904 1832 + 1825 1834 + 1907 1833 + 1833 1835 + 1834 1907 + 1837 1836 + 1836 1870 + 1911 1837 + 1912 1911 + 1915 1756 + 1761 1838 + 1838 1915 + 1840 1757 + 1916 1840 + 1915 1916 + 1840 1842 + 1921 1841 + 1842 1921 + 1923 1844 + 1921 1845 + 1845 1923 + 1914 1912 + 1917 1914 + 1923 1917 + 1926 1838 + 1846 1847 + 1847 1926 + 1849 1928 + 1851 1850 + 1928 1851 + 1858 1775 + 1851 1858 + 1779 1852 + 1852 1853 + 1853 1928 + 1930 1856 + 1857 1859 + 1859 1930 + 1925 1847 + 1930 1925 + 1858 1927 + 1932 1859 + 1927 1932 + 1935 1852 + 1862 1860 + 1860 1935 + 1787 1864 + 1937 1861 + 1864 1939 + 1939 1937 + 1782 1941 + 1942 1860 + 1941 1942 + 1937 1940 + 1940 1941 + 1947 1864 + 1866 1865 + 1865 1947 + 1872 1791 + 1836 1869 + 1869 1868 + 1868 1872 + 1794 1871 + 1871 1955 + 1955 1956 + 1956 1958 + 1873 1795 + 1872 1953 + 1953 1873 + 1954 1871 + 1873 1960 + 1960 1954 + 1968 1874 + 1874 1969 + 1969 1972 + 1876 1798 + 1875 1978 + 1979 1876 + 1978 1979 + 1876 1982 + 1984 1878 + 1982 1984 + 1803 1881 + 1986 1879 + 1881 1986 + 1882 1881 + 1984 1882 + 1985 1883 + 1883 1885 + 1986 1985 + 1883 1987 + 1987 1990 + 1892 1886 + 1886 1887 + 1887 1890 + 1887 1991 + 1991 1888 + 1888 1889 + 1888 1891 + 1891 1975 + 1975 1978 + 1997 1886 + 1894 1999 + 1998 1997 + 1999 1998 + 1821 1895 + 1895 2002 + 2002 1999 + 1898 1895 + 1899 1898 + 1823 1902 + 2005 1898 + 1902 2005 + 1833 1901 + 1901 2006 + 2006 1902 + 2009 1901 + 1907 2010 + 2010 2009 + 1908 1834 + 1905 1903 + 1903 1908 + 1906 1903 + 1904 1906 + 1908 1909 + 1909 1910 + 1910 2010 + 1948 1869 + 1911 2013 + 2013 1948 + 1919 1913 + 1913 2013 + 1914 1919 + 2015 1916 + 1926 2016 + 2016 2015 + 1917 1922 + 1922 1918 + 1918 1919 + 1920 1842 + 2014 1920 + 2015 2014 + 2020 1845 + 1920 2022 + 2022 2020 + 2017 1922 + 2020 2017 + 1931 1924 + 1924 2016 + 1925 1931 + 1853 1929 + 2029 1927 + 1929 2029 + 2030 1929 + 1935 1936 + 1936 2030 + 2023 1931 + 1932 2031 + 2031 2023 + 2029 2027 + 2027 2031 + 1934 1933 + 1933 1939 + 1946 1934 + 1947 1946 + 2035 1936 + 1942 2036 + 2036 2035 + 1933 2033 + 2033 1938 + 1938 1940 + 1938 1943 + 1943 2036 + 1945 1934 + 1946 1944 + 1944 2039 + 2039 1945 + 2040 1944 + 1950 1868 + 1948 2012 + 2042 1950 + 2012 2042 + 1963 1949 + 1958 1964 + 1964 1963 + 1950 1951 + 1951 1952 + 1952 1953 + 1954 1961 + 2048 1956 + 1961 2048 + 2048 1957 + 1957 1964 + 1952 2047 + 2047 1959 + 1959 1960 + 1959 2049 + 2049 1961 + 1957 1962 + 1962 1965 + 2050 1963 + 1965 2050 + 1949 1966 + 1966 1967 + 1967 2053 + 1970 1968 + 2058 1970 + 2055 2058 + 1973 1969 + 1970 1971 + 1971 1973 + 1974 1972 + 1973 1974 + 1975 1996 + 1996 1976 + 1976 1977 + 1977 1979 + 1977 1980 + 1980 1981 + 1981 1982 + 2063 1882 + 1981 1983 + 1983 2063 + 1988 1985 + 2063 1988 + 1988 1989 + 1989 1990 + 1992 1991 + 2067 1992 + 1997 2067 + 1993 1891 + 1992 1993 + 1993 2065 + 2065 1994 + 1994 1995 + 1995 1996 + 1998 2000 + 2000 2068 + 2066 2067 + 2068 2066 + 2001 2000 + 2074 2001 + 2002 2074 + 2005 2075 + 2075 2074 + 2004 2003 + 2003 2075 + 2006 2004 + 2076 2004 + 2009 2078 + 2078 2076 + 1910 2007 + 2007 2008 + 2008 2078 + 2084 1909 + 2011 2007 + 2081 2011 + 2084 2081 + 1913 2086 + 2043 2012 + 2086 2043 + 1918 2087 + 2085 2086 + 2087 2085 + 1924 2094 + 2018 2014 + 2094 2018 + 2017 2096 + 2088 2087 + 2096 2088 + 2018 2095 + 2095 2019 + 2019 2022 + 2019 2021 + 2021 2096 + 2023 2032 + 2032 2024 + 2024 2094 + 2035 2025 + 2025 2091 + 2091 2026 + 2026 2030 + 2026 2028 + 2101 2027 + 2028 2101 + 2100 2032 + 2101 2100 + 1945 2103 + 2102 2033 + 2103 2102 + 1943 2034 + 2090 2025 + 2034 2090 + 2106 2034 + 2102 2106 + 2039 2038 + 2038 2107 + 2104 2103 + 2107 2104 + 2041 2037 + 2037 2038 + 2040 2041 + 2112 2041 + 2045 2042 + 2043 2044 + 2044 2045 + 2117 1951 + 2045 2115 + 2115 2117 + 2118 1966 + 2050 2046 + 2046 2118 + 2121 2047 + 2117 2116 + 2116 2121 + 2051 1962 + 2049 2123 + 2123 2051 + 2121 2124 + 2124 2123 + 1965 2128 + 2126 2046 + 2128 2126 + 2051 2130 + 2130 2052 + 2052 2128 + 2132 2053 + 2118 2054 + 2054 2132 + 2059 2055 + 2138 2059 + 2132 2134 + 2134 2138 + 2057 1971 + 2058 2056 + 2056 2057 + 2140 2056 + 2059 2142 + 2142 2140 + 2057 2060 + 1976 2145 + 2061 1980 + 2145 2061 + 1995 2149 + 2147 2145 + 2149 2147 + 2062 1983 + 2061 2150 + 2150 2062 + 2070 2064 + 2064 2065 + 2066 2070 + 2068 2069 + 2069 2144 + 2144 2070 + 2153 1994 + 2064 2071 + 2071 2153 + 2153 2072 + 2072 2073 + 2073 2149 + 2001 2154 + 2143 2069 + 2154 2143 + 2003 2155 + 2155 2154 + 2076 2164 + 2163 2155 + 2164 2163 + 2008 2079 + 2161 2077 + 2077 2164 + 2079 2161 + 2011 2083 + 2080 2079 + 2083 2080 + 2081 2167 + 2167 2082 + 2082 2083 + 2114 2044 + 2085 2089 + 2089 2114 + 2088 2169 + 2168 2089 + 2169 2168 + 2090 2092 + 2175 2091 + 2092 2172 + 2172 2175 + 2024 2097 + 2097 2093 + 2093 2095 + 2021 2180 + 2170 2169 + 2180 2170 + 2093 2177 + 2177 2180 + 2181 2097 + 2100 2183 + 2183 2181 + 2098 2028 + 2185 2098 + 2175 2185 + 2098 2099 + 2099 2183 + 2104 2105 + 2105 2187 + 2187 2106 + 2186 2092 + 2187 2186 + 2108 2105 + 2107 2190 + 2190 2108 + 2109 2037 + 2192 2109 + 2111 2192 + 2112 2111 + 2109 2189 + 2189 2190 + 2195 2110 + 2110 2192 + 2111 2113 + 2113 2195 + 2114 2198 + 2196 2115 + 2197 2196 + 2198 2197 + 2122 2116 + 2201 2122 + 2196 2201 + 2202 2054 + 2126 2119 + 2119 2202 + 2205 2120 + 2120 2124 + 2122 2205 + 2120 2125 + 2125 2130 + 2052 2127 + 2203 2119 + 2127 2203 + 2125 2204 + 2129 2127 + 2204 2129 + 2208 2131 + 2131 2134 + 2202 2208 + 2131 2133 + 2133 2135 + 2135 2138 + 2135 2137 + 2137 2136 + 2136 2142 + 2139 2060 + 2141 2139 + 2140 2141 + 2136 2209 + 2209 2141 + 2143 2159 + 2211 2144 + 2159 2212 + 2212 2211 + 2148 2146 + 2146 2150 + 2147 2148 + 2073 2215 + 2216 2148 + 2215 2216 + 2152 2071 + 2211 2151 + 2151 2152 + 2221 2072 + 2152 2222 + 2222 2221 + 2214 2215 + 2223 2214 + 2221 2223 + 2225 2156 + 2156 2159 + 2163 2225 + 2156 2158 + 2158 2157 + 2157 2228 + 2228 2212 + 2080 2160 + 2160 2230 + 2230 2161 + 2077 2165 + 2165 2162 + 2162 2225 + 2232 2165 + 2230 2232 + 2082 2166 + 2231 2160 + 2166 2231 + 2168 2234 + 2235 2198 + 2234 2235 + 2170 2179 + 2179 2171 + 2171 2234 + 2240 2172 + 2238 2173 + 2173 2240 + 2186 2238 + 2240 2174 + 2174 2242 + 2242 2185 + 2244 2176 + 2176 2177 + 2181 2244 + 2176 2178 + 2178 2179 + 2099 2184 + 2184 2182 + 2182 2244 + 2241 2184 + 2242 2241 + 2108 2188 + 2188 2250 + 2250 2238 + 2254 2188 + 2189 2191 + 2191 2254 + 2110 2253 + 2253 2191 + 2195 2193 + 2193 2194 + 2194 2253 + 2197 2199 + 2199 2256 + 2256 2201 + 2258 2199 + 2235 2259 + 2259 2258 + 2261 2200 + 2200 2205 + 2256 2261 + 2203 2207 + 2207 2265 + 2265 2208 + 2200 2206 + 2266 2204 + 2206 2266 + 2129 2269 + 2264 2207 + 2269 2264 + 2266 2270 + 2270 2269 + 2273 2133 + 2265 2274 + 2274 2273 + 2277 2137 + 2273 2278 + 2278 2277 + 2210 2209 + 2276 2210 + 2277 2276 + 2210 2281 + 2217 2151 + 2282 2217 + 2228 2282 + 2224 2213 + 2213 2286 + 2214 2224 + 2286 2216 + 2217 2218 + 2218 2219 + 2219 2222 + 2219 2220 + 2220 2289 + 2289 2223 + 2285 2224 + 2289 2285 + 2229 2158 + 2162 2294 + 2294 2229 + 2157 2226 + 2226 2227 + 2227 2292 + 2292 2282 + 2293 2226 + 2229 2293 + 2231 2297 + 2233 2232 + 2297 2233 + 2233 2296 + 2296 2294 + 2171 2236 + 2236 2300 + 2300 2259 + 2237 2173 + 2301 2237 + 2248 2301 + 2250 2248 + 2178 2304 + 2303 2236 + 2304 2303 + 2243 2174 + 2237 2239 + 2239 2243 + 2308 2241 + 2243 2306 + 2306 2308 + 2182 2246 + 2246 2245 + 2245 2304 + 2309 2246 + 2308 2309 + 2248 2247 + 2247 2315 + 2302 2301 + 2315 2302 + 2249 2247 + 2252 2249 + 2254 2252 + 2194 2251 + 2251 2252 + 2258 2255 + 2255 2260 + 2260 2262 + 2262 2261 + 2257 2255 + 2299 2257 + 2300 2299 + 2260 2319 + 2325 2262 + 2319 2322 + 2322 2326 + 2326 2325 + 2268 2206 + 2325 2268 + 2264 2263 + 2263 2275 + 2275 2274 + 2324 2267 + 2267 2270 + 2268 2324 + 2327 2263 + 2267 2271 + 2271 2327 + 2329 2272 + 2272 2278 + 2275 2329 + 2272 2335 + 2280 2276 + 2335 2280 + 2334 2279 + 2279 2281 + 2280 2334 + 2336 2218 + 2292 2283 + 2283 2336 + 2284 2213 + 2290 2284 + 2285 2290 + 2287 2220 + 2338 2287 + 2336 2338 + 2287 2288 + 2288 2290 + 2227 2295 + 2337 2283 + 2295 2291 + 2291 2337 + 2343 2293 + 2296 2345 + 2345 2343 + 2341 2295 + 2343 2341 + 2346 2298 + 2298 2299 + 2303 2346 + 2348 2239 + 2302 2313 + 2313 2348 + 2245 2310 + 2310 2305 + 2305 2346 + 2351 2306 + 2348 2352 + 2352 2351 + 2351 2307 + 2307 2354 + 2354 2309 + 2353 2310 + 2354 2353 + 2249 2311 + 2311 2312 + 2312 2315 + 2312 2314 + 2358 2313 + 2314 2358 + 2316 2311 + 2257 2317 + 2317 2318 + 2318 2319 + 2298 2359 + 2320 2317 + 2359 2320 + 2318 2364 + 2321 2322 + 2366 2321 + 2364 2366 + 2321 2368 + 2368 2323 + 2323 2326 + 2323 2365 + 2370 2324 + 2365 2370 + 2327 2330 + 2330 2328 + 2328 2329 + 2332 2271 + 2373 2332 + 2370 2373 + 2331 2330 + 2332 2331 + 2328 2371 + 2371 2333 + 2333 2335 + 2333 2375 + 2375 2334 + 2337 2377 + 2339 2338 + 2377 2339 + 2288 2376 + 2339 2376 + 2291 2342 + 2342 2340 + 2340 2377 + 2341 2344 + 2383 2342 + 2344 2383 + 2305 2347 + 2347 2361 + 2361 2359 + 2356 2349 + 2349 2352 + 2358 2356 + 2384 2347 + 2353 2388 + 2388 2384 + 2355 2307 + 2349 2350 + 2350 2355 + 2355 2390 + 2391 2388 + 2390 2391 + 2357 2314 + 2316 2395 + 2395 2357 + 2392 2356 + 2357 2396 + 2396 2392 + 2362 2320 + 2387 2360 + 2360 2362 + 2361 2387 + 2362 2398 + 2363 2364 + 2398 2363 + 2363 2401 + 2367 2366 + 2408 2367 + 2401 2408 + 2403 2365 + 2368 2410 + 2404 2403 + 2410 2404 + 2367 2406 + 2406 2410 + 2403 2369 + 2369 2411 + 2411 2373 + 2331 2412 + 2374 2371 + 2412 2374 + 2411 2372 + 2372 2412 + 2340 2379 + 2381 2378 + 2378 2379 + 2383 2381 + 2413 2378 + 2381 2380 + 2380 2419 + 2419 2382 + 2382 2413 + 2397 2360 + 2387 2386 + 2386 2425 + 2426 2397 + 2425 2426 + 2384 2385 + 2385 2386 + 2429 2350 + 2392 2394 + 2394 2429 + 2431 2385 + 2391 2389 + 2389 2431 + 2433 2390 + 2429 2435 + 2435 2433 + 2432 2389 + 2433 2432 + 2436 2393 + 2393 2438 + 2438 2394 + 2396 2436 + 2440 2436 + 2397 2441 + 2399 2398 + 2441 2399 + 2399 2445 + 2445 2400 + 2400 2401 + 2400 2402 + 2402 2447 + 2407 2408 + 2447 2407 + 2450 2369 + 2404 2451 + 2451 2450 + 2407 2405 + 2405 2452 + 2452 2406 + 2452 2409 + 2409 2451 + 2453 2372 + 2450 2448 + 2448 2453 + 2422 2454 + 2426 2422 + 2443 2441 + 2454 2443 + 2413 2416 + 2455 2420 + 2458 2414 + 2414 2455 + 2415 2458 + 2382 2417 + 2462 2416 + 2417 2462 + 2461 2417 + 2419 2418 + 2418 2466 + 2466 2461 + 2420 2421 + 2421 2470 + 2422 2423 + 2423 2424 + 2424 2473 + 2473 2454 + 2427 2423 + 2425 2478 + 2478 2427 + 2431 2428 + 2428 2478 + 2437 2430 + 2430 2435 + 2438 2437 + 2479 2428 + 2432 2434 + 2434 2479 + 2430 2480 + 2480 2434 + 2484 2393 + 2440 2439 + 2439 2484 + 2482 2437 + 2484 2482 + 2486 2442 + 2442 2445 + 2443 2444 + 2444 2486 + 2446 2402 + 2442 2490 + 2490 2446 + 2446 2496 + 2493 2447 + 2492 2493 + 2496 2492 + 2497 2405 + 2493 2498 + 2498 2497 + 2409 2449 + 2501 2448 + 2449 2501 + 2500 2449 + 2497 2500 + 2487 2444 + 2473 2505 + 2505 2487 + 2462 2463 + 2463 2506 + 2414 2456 + 2469 2421 + 2456 2469 + 2513 2456 + 2458 2457 + 2457 2513 + 2415 2460 + 2514 2457 + 2460 2512 + 2512 2514 + 2510 2459 + 2459 2460 + 2461 2465 + 2464 2463 + 2465 2464 + 2518 2465 + 2466 2523 + 2521 2518 + 2523 2521 + 2467 2526 + 2526 2523 + 2525 2467 + 2472 2525 + 2509 2468 + 2468 2470 + 2469 2509 + 2468 2471 + 2471 2530 + 2530 2472 + 2424 2475 + 2533 2474 + 2474 2505 + 2475 2533 + 2427 2477 + 2476 2475 + 2477 2476 + 2483 2477 + 2479 2483 + 2536 2480 + 2482 2481 + 2481 2536 + 2534 2483 + 2536 2534 + 2504 2485 + 2485 2486 + 2487 2504 + 2485 2537 + 2537 2488 + 2488 2490 + 2488 2489 + 2489 2540 + 2540 2496 + 2495 2491 + 2491 2498 + 2492 2495 + 2542 2494 + 2494 2495 + 2540 2542 + 2491 2544 + 2499 2500 + 2544 2499 + 2474 2502 + 2502 2503 + 2503 2546 + 2546 2504 + 2506 2508 + 2508 2507 + 2464 2551 + 2550 2508 + 2551 2550 + 2529 2509 + 2513 2557 + 2557 2529 + 2511 2459 + 2510 2554 + 2559 2511 + 2554 2555 + 2555 2559 + 2511 2561 + 2562 2512 + 2561 2562 + 2514 2565 + 2558 2557 + 2565 2558 + 2562 2515 + 2515 2565 + 2516 2554 + 2520 2517 + 2517 2551 + 2518 2520 + 2524 2519 + 2519 2520 + 2521 2524 + 2574 2522 + 2522 2524 + 2526 2574 + 2525 2528 + 2528 2572 + 2572 2574 + 2530 2527 + 2527 2577 + 2577 2528 + 2581 2471 + 2529 2556 + 2556 2580 + 2580 2581 + 2579 2527 + 2581 2579 + 2545 2502 + 2533 2531 + 2531 2545 + 2476 2586 + 2532 2531 + 2586 2532 + 2534 2535 + 2535 2586 + 2588 2537 + 2546 2589 + 2589 2588 + 2538 2489 + 2587 2538 + 2588 2587 + 2538 2590 + 2590 2539 + 2539 2542 + 2494 2541 + 2541 2593 + 2593 2544 + 2539 2543 + 2543 2541 + 2596 2503 + 2545 2585 + 2585 2597 + 2597 2596 + 2599 2589 + 2596 2600 + 2600 2599 + 2507 2549 + 2602 2547 + 2549 2602 + 2550 2548 + 2548 2603 + 2603 2549 + 2517 2606 + 2606 2548 + 2547 2553 + 2553 2552 + 2516 2566 + 2612 2555 + 2566 2612 + 2614 2556 + 2558 2564 + 2564 2614 + 2560 2559 + 2618 2560 + 2612 2611 + 2611 2618 + 2560 2619 + 2619 2561 + 2563 2515 + 2621 2563 + 2619 2621 + 2563 2622 + 2622 2564 + 2624 2566 + 2567 2624 + 2627 2567 + 2625 2627 + 2635 2568 + 2634 2635 + 2568 2641 + 2641 2632 + 2569 2519 + 2522 2573 + 2573 2569 + 2569 2571 + 2571 2570 + 2570 2606 + 2645 2572 + 2577 2576 + 2576 2645 + 2647 2573 + 2645 2648 + 2648 2647 + 2614 2575 + 2575 2649 + 2649 2580 + 2646 2576 + 2579 2578 + 2578 2646 + 2651 2578 + 2649 2651 + 2653 2582 + 2582 2597 + 2585 2584 + 2584 2652 + 2652 2653 + 2532 2583 + 2583 2584 + 2657 2587 + 2599 2658 + 2658 2657 + 2591 2590 + 2660 2591 + 2657 2660 + 2592 2543 + 2591 2659 + 2659 2592 + 2582 2595 + 2595 2594 + 2594 2600 + 2594 2663 + 2663 2598 + 2598 2658 + 2665 2595 + 2653 2666 + 2666 2665 + 2601 2672 + 2672 2674 + 2677 2553 + 2602 2604 + 2604 2677 + 2603 2607 + 2675 2604 + 2607 2675 + 2570 2605 + 2605 2607 + 2609 2552 + 2677 2608 + 2608 2680 + 2680 2609 + 2609 2610 + 2610 2669 + 2615 2611 + 2686 2615 + 2624 2686 + 2650 2575 + 2620 2613 + 2613 2650 + 2622 2620 + 2615 2693 + 2693 2616 + 2616 2618 + 2616 2617 + 2617 2695 + 2695 2621 + 2690 2620 + 2695 2690 + 2697 2623 + 2623 2686 + 2627 2697 + 2625 2628 + 2628 2626 + 2626 2699 + 2699 2697 + 2703 2628 + 2629 2703 + 2704 2629 + 2705 2704 + 2709 2630 + 2630 2706 + 2631 2709 + 2710 2631 + 2633 2711 + 2711 2710 + 2632 2640 + 2640 2714 + 2715 2633 + 2714 2715 + 2638 2634 + 2717 2638 + 2636 2635 + 2719 2636 + 2638 2719 + 2636 2637 + 2637 2722 + 2722 2641 + 2726 2639 + 2639 2724 + 2717 2726 + 2724 2719 + 2716 2640 + 2727 2716 + 2722 2731 + 2731 2727 + 2735 2571 + 2647 2642 + 2642 2735 + 2678 2605 + 2735 2643 + 2643 2678 + 2740 2644 + 2644 2648 + 2646 2740 + 2734 2642 + 2644 2738 + 2738 2734 + 2650 2689 + 2743 2651 + 2689 2743 + 2742 2740 + 2743 2742 + 2652 2655 + 2744 2654 + 2654 2666 + 2655 2744 + 2598 2656 + 2656 2751 + 2751 2660 + 2753 2659 + 2751 2750 + 2750 2753 + 2753 2661 + 2662 2656 + 2756 2662 + 2663 2756 + 2665 2758 + 2757 2756 + 2758 2757 + 2654 2667 + 2667 2664 + 2664 2758 + 2765 2667 + 2744 2668 + 2668 2766 + 2766 2765 + 2668 2745 + 2745 2760 + 2760 2763 + 2763 2766 + 2671 2601 + 2669 2768 + 2768 2671 + 2610 2682 + 2682 2670 + 2670 2768 + 2671 2767 + 2767 2673 + 2673 2674 + 2676 2608 + 2675 2679 + 2679 2676 + 2678 2770 + 2770 2679 + 2676 2774 + 2681 2680 + 2773 2681 + 2774 2773 + 2681 2775 + 2685 2682 + 2775 2685 + 2683 2670 + 2684 2683 + 2685 2684 + 2623 2687 + 2687 2779 + 2779 2693 + 2613 2692 + 2692 2688 + 2688 2689 + 2690 2691 + 2691 2782 + 2782 2692 + 2696 2617 + 2779 2694 + 2694 2696 + 2783 2691 + 2696 2783 + 2792 2687 + 2699 2791 + 2791 2792 + 2626 2698 + 2698 2700 + 2700 2791 + 2706 2701 + 2701 2795 + 2795 2705 + 2797 2698 + 2703 2702 + 2702 2797 + 2798 2702 + 2704 2800 + 2800 2798 + 2795 2801 + 2801 2800 + 2630 2806 + 2803 2701 + 2807 2803 + 2806 2807 + 2709 2707 + 2707 2708 + 2708 2806 + 2808 2707 + 2710 2811 + 2811 2808 + 2711 2713 + 2713 2712 + 2712 2811 + 2812 2713 + 2715 2814 + 2814 2812 + 2716 2815 + 2815 2814 + 2816 2718 + 2718 2726 + 2721 2637 + 2724 2720 + 2720 2721 + 2721 2723 + 2723 2731 + 2639 2725 + 2820 2720 + 2725 2820 + 2718 2824 + 2821 2725 + 2824 2821 + 2727 2729 + 2729 2728 + 2728 2815 + 2723 2730 + 2826 2729 + 2730 2826 + 2643 2732 + 2732 2733 + 2733 2770 + 2737 2732 + 2734 2736 + 2736 2737 + 2833 2738 + 2742 2739 + 2739 2833 + 2830 2736 + 2833 2741 + 2741 2830 + 2688 2836 + 2831 2739 + 2836 2831 + 2843 2745 + 2748 2746 + 2746 2760 + 2843 2748 + 2761 2746 + 2842 2747 + 2747 2840 + 2748 2842 + 2840 2761 + 2662 2749 + 2749 2752 + 2853 2750 + 2752 2853 + 2754 2661 + 2851 2754 + 2853 2851 + 2754 2755 + 2755 2856 + 2849 2749 + 2757 2858 + 2858 2849 + 2664 2759 + 2759 2858 + 2761 2762 + 2762 2861 + 2861 2763 + 2764 2759 + 2863 2764 + 2765 2863 + 2861 2860 + 2860 2863 + 2683 2869 + 2769 2767 + 2869 2769 + 2684 2777 + 2777 2868 + 2868 2870 + 2870 2869 + 2733 2829 + 2829 2771 + 2771 2774 + 2771 2872 + 2872 2772 + 2772 2773 + 2772 2875 + 2874 2775 + 2875 2874 + 2778 2777 + 2874 2778 + 2876 2776 + 2776 2880 + 2778 2876 + 2880 2868 + 2784 2694 + 2882 2784 + 2792 2882 + 2884 2780 + 2780 2836 + 2782 2884 + 2785 2781 + 2781 2884 + 2783 2785 + 2784 2786 + 2786 2785 + 2787 2887 + 2788 2891 + 2891 2816 + 2789 2788 + 2888 2789 + 2887 2888 + 2889 2787 + 2892 2889 + 2894 2892 + 2898 2790 + 2790 2894 + 2845 2901 + 2700 2913 + 2883 2882 + 2913 2883 + 2797 2793 + 2793 2794 + 2794 2913 + 2918 2796 + 2796 2801 + 2803 2918 + 2916 2793 + 2798 2799 + 2799 2916 + 2796 2917 + 2917 2799 + 2804 2802 + 2802 2918 + 2921 2804 + 2807 2921 + 2708 2805 + 2805 2923 + 2923 2921 + 2809 2805 + 2808 2809 + 2712 2810 + 2925 2809 + 2810 2925 + 2927 2810 + 2812 2813 + 2813 2927 + 2728 2929 + 2929 2813 + 2930 2817 + 2817 2824 + 2891 2818 + 2818 2930 + 2827 2730 + 2820 2819 + 2819 2827 + 2935 2819 + 2821 2822 + 2822 2935 + 2817 2823 + 2936 2822 + 2823 2936 + 2942 2825 + 2825 2929 + 2826 2942 + 2827 2934 + 2934 2944 + 2944 2942 + 2737 2828 + 2828 2871 + 2871 2829 + 2945 2828 + 2830 2949 + 2949 2945 + 2834 2741 + 2831 2832 + 2832 2834 + 2834 2835 + 2835 2949 + 2780 2837 + 2951 2832 + 2837 2951 + 2747 2839 + 2956 2838 + 2838 2848 + 2839 2956 + 2848 2840 + 2958 2839 + 2842 2841 + 2841 2961 + 2961 2958 + 2844 2969 + 2970 2845 + 2969 2970 + 2971 2846 + 2846 2903 + 2903 2901 + 2970 2971 + 2847 2762 + 2953 2847 + 2848 2953 + 2852 2752 + 2849 2857 + 2857 2852 + 2978 2850 + 2850 2851 + 2852 2978 + 2976 2755 + 2850 2854 + 2854 2976 + 2856 2855 + 2855 2981 + 2985 2855 + 2976 2986 + 2986 2985 + 2764 2862 + 2987 2857 + 2862 2987 + 2847 2859 + 2859 2990 + 2990 2860 + 2988 2862 + 2990 2988 + 2980 2993 + 2993 2995 + 2968 2844 + 2864 2968 + 2996 2864 + 2865 3002 + 3002 2996 + 3001 2865 + 2995 3003 + 3003 3001 + 2867 2866 + 2866 2870 + 2881 2867 + 2880 2881 + 2871 2947 + 2873 2872 + 2947 2873 + 2873 3008 + 2877 2875 + 3008 2877 + 3009 2876 + 2877 3009 + 2878 2776 + 3007 2878 + 3009 3007 + 2878 3010 + 3010 2879 + 2879 2881 + 3011 2867 + 2879 3013 + 3013 3011 + 2886 2786 + 2883 2914 + 2914 2886 + 2781 2885 + 3018 2837 + 2885 3018 + 3019 2885 + 2886 3016 + 3016 3019 + 3023 2888 + 2889 2893 + 2893 3023 + 2789 2890 + 2931 2818 + 2890 2931 + 3021 2890 + 3023 3021 + 2892 2895 + 3027 2893 + 2895 3027 + 2790 2900 + 3029 2895 + 2900 3029 + 2896 2897 + 2897 3032 + 3032 2898 + 3032 2899 + 2899 3033 + 3033 2900 + 2965 2902 + 2902 2905 + 2903 2965 + 2902 2904 + 2904 2906 + 3040 2905 + 2906 3041 + 3041 3040 + 2906 2963 + 2909 2908 + 2908 3041 + 2911 2909 + 2963 2911 + 2910 2907 + 2907 3042 + 3042 2908 + 2909 2910 + 2794 2912 + 2912 3046 + 3046 2914 + 3048 2912 + 2916 2915 + 2915 3048 + 2802 3050 + 3049 2917 + 3050 3049 + 2919 2915 + 3049 2919 + 2804 3052 + 3051 3050 + 3052 3051 + 2922 2920 + 2920 3052 + 2923 2922 + 3054 2922 + 2925 2926 + 2926 3054 + 2928 2924 + 2924 2926 + 2927 2928 + 2825 2941 + 2941 2928 + 3058 2930 + 2931 3025 + 3025 2932 + 2932 3058 + 3057 2823 + 3058 3057 + 2938 2933 + 2933 2934 + 2935 2938 + 2936 2937 + 2937 2938 + 3061 2937 + 3057 2939 + 2939 3061 + 2944 2940 + 2940 3063 + 3063 2941 + 2933 2943 + 3067 2940 + 2943 3067 + 2945 2946 + 2946 3070 + 3070 2947 + 2835 2948 + 3068 2946 + 2948 3068 + 3073 2948 + 2951 2950 + 2950 3073 + 3075 2950 + 3018 2952 + 2952 3075 + 2838 2954 + 2974 2953 + 2954 2955 + 2955 2974 + 3077 2954 + 2956 2957 + 2957 3079 + 3079 3077 + 3084 2957 + 2958 2959 + 2959 3084 + 3083 2959 + 2961 2960 + 2960 3083 + 2904 2962 + 2962 3088 + 2964 2963 + 3088 2964 + 3086 2962 + 2965 3090 + 3090 3086 + 2846 2966 + 2966 3093 + 3093 3090 + 2999 2967 + 2967 3096 + 2968 2999 + 3096 2969 + 2972 2971 + 3097 2972 + 3096 3097 + 3094 2966 + 2972 3094 + 2991 2859 + 2974 3100 + 3100 2991 + 2955 2975 + 2975 2973 + 2973 3100 + 2854 2977 + 2977 3104 + 3104 2986 + 2979 2978 + 3105 2979 + 2987 3105 + 3106 2977 + 2979 3106 + 3108 2980 + 2981 2982 + 2982 3108 + 2983 2982 + 2984 2983 + 2985 2984 + 3110 2984 + 3104 3103 + 3103 3110 + 2988 2989 + 2989 3107 + 3107 3105 + 3112 2989 + 2991 3112 + 3108 2992 + 2992 3117 + 2994 2993 + 3117 2994 + 2994 3116 + 3116 3003 + 2996 2997 + 2997 2998 + 2998 2999 + 3120 2997 + 3002 3000 + 3000 3120 + 3123 3000 + 3001 3122 + 3122 3123 + 3116 3121 + 3121 3122 + 3011 3125 + 3005 3004 + 3004 3008 + 3127 3005 + 3070 3127 + 3004 3006 + 3006 3007 + 3006 3133 + 3132 3010 + 3133 3132 + 3014 3012 + 3012 3130 + 3013 3014 + 3130 3125 + 3015 3014 + 3136 3015 + 3132 3136 + 3017 3016 + 3045 3017 + 3046 3045 + 3074 2952 + 3019 3020 + 3020 3074 + 3017 3140 + 3140 3020 + 3141 3021 + 3027 3022 + 3022 3141 + 3141 3024 + 3024 3025 + 3142 3022 + 3029 3026 + 3026 3142 + 3147 2896 + 3035 3028 + 3028 3147 + 3144 3026 + 3033 3030 + 3030 3144 + 3154 2897 + 3148 3031 + 3031 3154 + 3147 3148 + 3034 2899 + 3156 3034 + 3154 3156 + 3152 3030 + 3034 3152 + 3149 3028 + 3035 3158 + 3159 3149 + 3158 3159 + 3038 3036 + 3036 3163 + 3163 3158 + 3040 3037 + 3037 3038 + 3039 3037 + 3165 3039 + 3042 3165 + 2907 3043 + 3043 3168 + 3168 3165 + 3167 3043 + 3146 3167 + 3059 2932 + 3024 3173 + 3173 3059 + 3048 3044 + 3044 3138 + 3138 3045 + 2919 3047 + 3176 3044 + 3047 3176 + 3180 3047 + 3051 3180 + 2920 3053 + 3053 3181 + 3181 3180 + 3182 3053 + 3054 3183 + 3183 3182 + 2924 3185 + 3184 3183 + 3185 3184 + 3056 3055 + 3055 3185 + 3063 3056 + 3060 2939 + 3059 3175 + 3175 3060 + 3064 2943 + 3061 3190 + 3190 3064 + 3060 3189 + 3189 3190 + 3062 3056 + 3066 3062 + 3067 3066 + 3064 3065 + 3065 3066 + 3068 3071 + 3071 3069 + 3069 3195 + 3195 3127 + 3196 3071 + 3073 3072 + 3072 3196 + 3200 3072 + 3075 3199 + 3199 3200 + 3074 3076 + 3076 3199 + 3101 2975 + 3077 3080 + 3080 3201 + 3201 3101 + 3082 3078 + 3078 3080 + 3079 3082 + 3084 3081 + 3081 3205 + 3205 3082 + 3085 3081 + 3083 3085 + 3086 3089 + 3089 3087 + 3087 3088 + 3206 3089 + 3093 3211 + 3208 3206 + 3211 3208 + 3215 2967 + 2998 3091 + 3091 3215 + 3099 3092 + 3092 3211 + 3094 3099 + 3215 3095 + 3095 3098 + 3098 3097 + 3098 3216 + 3216 3099 + 2973 3218 + 3114 3112 + 3218 3114 + 3101 3102 + 3102 3220 + 3220 3218 + 3225 3103 + 3106 3224 + 3224 3225 + 3107 3113 + 3113 3224 + 2983 3109 + 3229 2992 + 3109 3229 + 3228 3109 + 3110 3111 + 3111 3228 + 3227 3111 + 3225 3227 + 3231 3113 + 3114 3219 + 3219 3231 + 3232 3115 + 3115 3117 + 3229 3233 + 3233 3232 + 3115 3118 + 3118 3121 + 3236 3091 + 3120 3237 + 3237 3236 + 3239 3119 + 3119 3237 + 3123 3239 + 3118 3124 + 3124 3239 + 3241 3126 + 3130 3241 + 3128 3005 + 3247 3128 + 3195 3194 + 3194 3247 + 3128 3129 + 3129 3133 + 3012 3249 + 3243 3241 + 3249 3243 + 3129 3131 + 3131 3253 + 3253 3136 + 3015 3135 + 3135 3134 + 3134 3249 + 3252 3135 + 3253 3252 + 3179 3137 + 3137 3140 + 3138 3179 + 3139 3076 + 3137 3263 + 3263 3139 + 3142 3143 + 3143 3172 + 3172 3173 + 3151 3143 + 3144 3151 + 3145 3166 + 3166 3146 + 3150 3148 + 3149 3268 + 3268 3150 + 3271 3031 + 3150 3267 + 3267 3271 + 3272 3151 + 3152 3157 + 3157 3272 + 3274 3153 + 3153 3156 + 3271 3274 + 3153 3155 + 3155 3157 + 3160 3159 + 3164 3160 + 3163 3164 + 3160 3161 + 3161 3162 + 3162 3268 + 3036 3281 + 3279 3164 + 3280 3279 + 3281 3280 + 3039 3282 + 3282 3281 + 3168 3169 + 3169 3284 + 3284 3282 + 3166 3170 + 3288 3169 + 3170 3288 + 3145 3171 + 3287 3170 + 3171 3289 + 3289 3287 + 3172 3174 + 3174 3295 + 3295 3175 + 3176 3177 + 3177 3178 + 3178 3179 + 3296 3177 + 3181 3297 + 3297 3296 + 3182 3300 + 3298 3297 + 3300 3298 + 3184 3304 + 3305 3300 + 3304 3305 + 3055 3186 + 3186 3304 + 3062 3187 + 3188 3186 + 3187 3188 + 3307 3189 + 3295 3294 + 3294 3307 + 3192 3065 + 3307 3191 + 3191 3192 + 3306 3187 + 3192 3306 + 3069 3197 + 3197 3193 + 3193 3260 + 3260 3194 + 3196 3198 + 3198 3197 + 3312 3198 + 3200 3314 + 3314 3312 + 3139 3316 + 3315 3314 + 3316 3315 + 3223 3102 + 3201 3203 + 3203 3322 + 3322 3223 + 3078 3202 + 3202 3320 + 3320 3203 + 3324 3202 + 3205 3204 + 3204 3324 + 3206 3207 + 3207 3213 + 3327 3207 + 3208 3209 + 3209 3327 + 3092 3212 + 3210 3209 + 3212 3210 + 3213 3214 + 3214 3332 + 3332 3337 + 3337 3338 + 3217 3095 + 3339 3217 + 3236 3339 + 3328 3212 + 3216 3342 + 3342 3328 + 3217 3340 + 3340 3342 + 3345 3219 + 3220 3221 + 3221 3345 + 3348 3221 + 3223 3222 + 3222 3348 + 3231 3226 + 3226 3349 + 3349 3227 + 3228 3352 + 3234 3233 + 3352 3234 + 3349 3354 + 3354 3352 + 3350 3226 + 3345 3230 + 3230 3350 + 3357 3232 + 3234 3353 + 3353 3357 + 3358 3124 + 3357 3359 + 3359 3358 + 3119 3235 + 3235 3238 + 3238 3339 + 3362 3235 + 3358 3362 + 3126 3240 + 3240 3365 + 3242 3240 + 3250 3242 + 3243 3250 + 3366 3244 + 3244 3371 + 3365 3366 + 3246 3247 + 3255 3246 + 3256 3255 + 3260 3256 + 3245 3131 + 3246 3245 + 3134 3248 + 3248 3375 + 3375 3250 + 3245 3374 + 3374 3251 + 3251 3252 + 3254 3248 + 3251 3254 + 3378 3255 + 3256 3257 + 3257 3258 + 3258 3378 + 3193 3259 + 3261 3257 + 3259 3261 + 3380 3258 + 3261 3379 + 3379 3383 + 3383 3380 + 3178 3262 + 3262 3387 + 3387 3263 + 3387 3264 + 3264 3318 + 3318 3316 + 3265 3174 + 3266 3265 + 3272 3266 + 3290 3171 + 3392 3290 + 3162 3276 + 3269 3267 + 3276 3269 + 3269 3399 + 3399 3270 + 3270 3274 + 3155 3402 + 3390 3266 + 3402 3390 + 3270 3273 + 3273 3402 + 3275 3161 + 3278 3275 + 3279 3278 + 3275 3404 + 3397 3276 + 3404 3397 + 3285 3277 + 3277 3278 + 3280 3285 + 3284 3283 + 3283 3408 + 3408 3285 + 3406 3283 + 3288 3286 + 3286 3406 + 3291 3286 + 3287 3291 + 3409 3289 + 3290 3391 + 3391 3409 + 3410 3291 + 3409 3292 + 3292 3410 + 3265 3293 + 3293 3413 + 3413 3294 + 3386 3262 + 3296 3414 + 3414 3386 + 3298 3299 + 3299 3416 + 3416 3414 + 3301 3299 + 3419 3301 + 3305 3419 + 3188 3302 + 3302 3303 + 3303 3419 + 3422 3302 + 3306 3309 + 3309 3422 + 3310 3191 + 3413 3308 + 3308 3310 + 3426 3309 + 3310 3426 + 3428 3259 + 3312 3311 + 3311 3428 + 3313 3311 + 3430 3313 + 3315 3430 + 3388 3317 + 3317 3430 + 3318 3388 + 3346 3222 + 3322 3319 + 3319 3343 + 3343 3346 + 3321 3319 + 3320 3323 + 3323 3321 + 3434 3323 + 3324 3434 + 3325 3214 + 3334 3325 + 3327 3326 + 3326 3334 + 3210 3440 + 3439 3326 + 3440 3439 + 3328 3329 + 3329 3442 + 3442 3440 + 3325 3331 + 3445 3330 + 3330 3337 + 3331 3445 + 3333 3331 + 3438 3333 + 3334 3438 + 3330 3335 + 3335 3336 + 3336 3450 + 3450 3338 + 3238 3363 + 3454 3340 + 3363 3454 + 3443 3329 + 3454 3341 + 3341 3443 + 3343 3437 + 3347 3346 + 3458 3347 + 3437 3451 + 3451 3458 + 3356 3230 + 3348 3344 + 3344 3356 + 3460 3344 + 3347 3460 + 3350 3355 + 3355 3351 + 3351 3354 + 3351 3463 + 3464 3353 + 3463 3464 + 3465 3355 + 3356 3459 + 3459 3465 + 3360 3359 + 3467 3360 + 3464 3467 + 3360 3470 + 3361 3362 + 3470 3361 + 3361 3452 + 3452 3363 + 3242 3368 + 3368 3364 + 3364 3366 + 3375 3367 + 3367 3474 + 3474 3368 + 3369 3244 + 3364 3473 + 3473 3369 + 3372 3370 + 3371 3372 + 3369 3373 + 3476 3372 + 3373 3476 + 3479 3374 + 3378 3481 + 3481 3479 + 3254 3376 + 3472 3367 + 3376 3472 + 3483 3376 + 3479 3483 + 3488 3377 + 3377 3481 + 3380 3488 + 3384 3379 + 3427 3384 + 3428 3427 + 3493 3381 + 3381 3488 + 3383 3382 + 3382 3493 + 3491 3382 + 3384 3495 + 3495 3491 + 3385 3394 + 3394 3392 + 3497 3264 + 3386 3499 + 3499 3497 + 3502 3388 + 3497 3501 + 3501 3502 + 3389 3293 + 3400 3389 + 3390 3400 + 3503 3391 + 3394 3505 + 3505 3503 + 3385 3496 + 3496 3393 + 3393 3395 + 3395 3505 + 3397 3396 + 3396 3509 + 3509 3399 + 3398 3273 + 3512 3398 + 3509 3512 + 3398 3401 + 3401 3400 + 3277 3403 + 3403 3513 + 3405 3404 + 3513 3405 + 3516 3396 + 3405 3516 + 3514 3403 + 3408 3518 + 3518 3514 + 3406 3407 + 3407 3518 + 3519 3407 + 3410 3521 + 3521 3519 + 3411 3292 + 3522 3411 + 3503 3517 + 3517 3522 + 3411 3523 + 3523 3521 + 3424 3308 + 3389 3412 + 3412 3424 + 3416 3415 + 3415 3500 + 3500 3499 + 3301 3417 + 3417 3415 + 3303 3421 + 3418 3417 + 3421 3418 + 3422 3420 + 3420 3532 + 3532 3421 + 3530 3420 + 3426 3425 + 3425 3530 + 3424 3423 + 3423 3425 + 3313 3429 + 3544 3427 + 3429 3544 + 3317 3546 + 3545 3429 + 3546 3545 + 3550 3431 + 3431 3546 + 3502 3550 + 3432 3554 + 3554 3539 + 3321 3435 + 3435 3433 + 3433 3437 + 3433 3565 + 3565 3436 + 3436 3451 + 3446 3438 + 3439 3568 + 3568 3446 + 3444 3441 + 3441 3568 + 3442 3444 + 3443 3457 + 3457 3444 + 3448 3335 + 3445 3574 + 3572 3448 + 3574 3572 + 3333 3577 + 3575 3574 + 3577 3575 + 3446 3567 + 3567 3573 + 3573 3577 + 3447 3336 + 3580 3447 + 3448 3449 + 3449 3580 + 3436 3581 + 3585 3458 + 3581 3584 + 3584 3585 + 3453 3341 + 3452 3469 + 3469 3453 + 3453 3455 + 3455 3456 + 3456 3457 + 3461 3460 + 3586 3461 + 3585 3586 + 3589 3459 + 3461 3589 + 3592 3462 + 3462 3463 + 3465 3592 + 3462 3468 + 3468 3467 + 3589 3594 + 3591 3592 + 3594 3591 + 3593 3466 + 3466 3470 + 3468 3593 + 3466 3597 + 3597 3469 + 3370 3599 + 3599 3598 + 3486 3471 + 3471 3603 + 3472 3486 + 3603 3474 + 3475 3473 + 3603 3475 + 3477 3373 + 3475 3602 + 3602 3477 + 3476 3607 + 3605 3599 + 3607 3605 + 3477 3478 + 3478 3608 + 3608 3607 + 3377 3480 + 3480 3482 + 3482 3483 + 3482 3485 + 3485 3484 + 3484 3486 + 3381 3490 + 3615 3480 + 3490 3487 + 3487 3615 + 3542 3489 + 3489 3495 + 3544 3542 + 3618 3490 + 3493 3492 + 3492 3618 + 3491 3494 + 3617 3492 + 3494 3620 + 3620 3617 + 3489 3626 + 3623 3494 + 3626 3623 + 3627 3496 + 3526 3498 + 3498 3501 + 3500 3526 + 3498 3537 + 3537 3551 + 3551 3550 + 3401 3636 + 3635 3412 + 3636 3635 + 3395 3507 + 3507 3504 + 3504 3517 + 3639 3393 + 3627 3506 + 3506 3640 + 3640 3639 + 3638 3507 + 3639 3638 + 3516 3508 + 3508 3511 + 3511 3512 + 3511 3510 + 3510 3636 + 3645 3513 + 3514 3515 + 3515 3641 + 3641 3645 + 3643 3508 + 3645 3643 + 3504 3649 + 3524 3522 + 3649 3524 + 3642 3515 + 3519 3520 + 3520 3642 + 3651 3520 + 3523 3654 + 3654 3651 + 3524 3650 + 3650 3654 + 3534 3423 + 3656 3534 + 3635 3656 + 3418 3525 + 3525 3527 + 3527 3526 + 3528 3525 + 3531 3528 + 3532 3531 + 3533 3529 + 3529 3531 + 3530 3533 + 3661 3533 + 3534 3661 + 3663 3535 + 3535 3551 + 3537 3536 + 3536 3663 + 3538 3541 + 3540 3538 + 3539 3675 + 3675 3540 + 3540 3678 + 3671 3541 + 3672 3671 + 3678 3672 + 3543 3542 + 3549 3543 + 3545 3549 + 3431 3547 + 3547 3548 + 3548 3549 + 3535 3684 + 3682 3547 + 3684 3682 + 3668 3552 + 3552 3665 + 3663 3668 + 3665 3685 + 3685 3684 + 3554 3691 + 3676 3675 + 3679 3676 + 3691 3679 + 3432 3553 + 3553 3694 + 3692 3691 + 3694 3692 + 3555 3553 + 3558 3555 + 3556 3560 + 3560 3557 + 3557 3558 + 3556 3559 + 3559 3699 + 3696 3560 + 3699 3696 + 3559 3705 + 3701 3561 + 3561 3699 + 3704 3701 + 3705 3704 + 3562 3563 + 3563 3709 + 3564 3565 + 3564 3712 + 3582 3581 + 3712 3582 + 3441 3566 + 3566 3717 + 3717 3567 + 3456 3569 + 3569 3566 + 3449 3570 + 3570 3720 + 3720 3571 + 3571 3580 + 3721 3570 + 3572 3723 + 3723 3721 + 3578 3573 + 3725 3578 + 3717 3715 + 3715 3725 + 3575 3576 + 3576 3727 + 3727 3723 + 3579 3576 + 3578 3579 + 3731 3571 + 3720 3719 + 3719 3730 + 3730 3732 + 3732 3731 + 3582 3583 + 3583 3736 + 3736 3584 + 3738 3586 + 3736 3739 + 3739 3738 + 3587 3455 + 3741 3587 + 3597 3741 + 3714 3569 + 3587 3742 + 3742 3714 + 3737 3588 + 3588 3594 + 3738 3737 + 3591 3590 + 3590 3595 + 3595 3593 + 3588 3745 + 3745 3590 + 3595 3744 + 3744 3596 + 3596 3741 + 3598 3600 + 3600 3748 + 3747 3600 + 3605 3606 + 3606 3747 + 3601 3471 + 3484 3612 + 3612 3601 + 3601 3604 + 3752 3602 + 3604 3752 + 3610 3478 + 3750 3610 + 3752 3750 + 3749 3606 + 3608 3609 + 3609 3749 + 3753 3609 + 3610 3753 + 3757 3485 + 3615 3758 + 3758 3757 + 3757 3611 + 3611 3760 + 3760 3612 + 3616 3487 + 3618 3613 + 3613 3614 + 3614 3616 + 3616 3763 + 3763 3758 + 3543 3766 + 3625 3626 + 3766 3625 + 3770 3613 + 3617 3621 + 3621 3770 + 3764 3614 + 3768 3619 + 3619 3764 + 3770 3768 + 3620 3622 + 3773 3621 + 3622 3773 + 3774 3622 + 3623 3624 + 3624 3774 + 3776 3624 + 3625 3767 + 3767 3776 + 3631 3506 + 3628 3631 + 3780 3628 + 3629 3780 + 3785 3630 + 3630 3640 + 3631 3783 + 3783 3785 + 3527 3632 + 3664 3536 + 3632 3664 + 3510 3633 + 3633 3634 + 3634 3656 + 3638 3637 + 3637 3648 + 3648 3649 + 3630 3784 + 3784 3637 + 3646 3641 + 3642 3791 + 3791 3646 + 3793 3633 + 3643 3644 + 3644 3793 + 3790 3644 + 3646 3790 + 3789 3647 + 3647 3650 + 3648 3789 + 3651 3653 + 3653 3652 + 3652 3791 + 3647 3797 + 3797 3653 + 3634 3657 + 3657 3655 + 3655 3661 + 3528 3658 + 3659 3632 + 3658 3659 + 3529 3801 + 3660 3658 + 3801 3660 + 3655 3662 + 3662 3801 + 3664 3803 + 3667 3668 + 3803 3667 + 3552 3807 + 3688 3665 + 3807 3666 + 3666 3777 + 3777 3688 + 3667 3802 + 3802 3806 + 3806 3807 + 3669 3813 + 3812 3629 + 3818 3812 + 3817 3818 + 3814 3670 + 3670 3817 + 3813 3814 + 3821 3669 + 3671 3822 + 3822 3821 + 3672 3677 + 3677 3673 + 3673 3674 + 3674 3822 + 3676 3681 + 3826 3678 + 3681 3826 + 3823 3677 + 3826 3823 + 3679 3680 + 3680 3829 + 3829 3681 + 3548 3683 + 3683 3830 + 3830 3766 + 3682 3833 + 3832 3683 + 3833 3832 + 3685 3687 + 3687 3833 + 3836 3686 + 3686 3834 + 3834 3687 + 3688 3836 + 3839 3689 + 3689 3836 + 3777 3839 + 3555 3690 + 3690 3844 + 3844 3694 + 3828 3680 + 3692 3693 + 3693 3828 + 3847 3693 + 3844 3847 + 3557 3848 + 3695 3690 + 3848 3695 + 3696 3700 + 3700 3697 + 3697 3848 + 3561 3698 + 3698 3851 + 3851 3700 + 3852 3698 + 3701 3703 + 3703 3854 + 3854 3852 + 3704 3702 + 3702 3856 + 3856 3703 + 3863 3706 + 3709 3707 + 3707 3863 + 3562 3866 + 3708 3563 + 3868 3708 + 3866 3868 + 3862 3707 + 3708 3862 + 3865 3866 + 3710 3875 + 3875 3878 + 3711 3712 + 3734 3583 + 3711 3713 + 3713 3734 + 3714 3716 + 3884 3715 + 3716 3884 + 3884 3718 + 3718 3890 + 3724 3725 + 3890 3724 + 3893 3719 + 3721 3722 + 3722 3893 + 3891 3722 + 3727 3894 + 3894 3891 + 3726 3579 + 3724 3889 + 3889 3726 + 3726 3896 + 3896 3894 + 3728 3730 + 3898 3728 + 3893 3898 + 3728 3729 + 3729 3899 + 3899 3732 + 3734 3733 + 3733 3901 + 3901 3735 + 3735 3739 + 3735 3902 + 3905 3737 + 3902 3905 + 3596 3740 + 3740 3906 + 3906 3742 + 3885 3716 + 3910 3885 + 3906 3910 + 3914 3743 + 3743 3745 + 3905 3914 + 3743 3913 + 3913 3744 + 3907 3740 + 3915 3907 + 3913 3915 + 3918 3746 + 3746 3748 + 3747 3918 + 3749 3754 + 3754 3919 + 3919 3918 + 3751 3604 + 3923 3751 + 3760 3923 + 3925 3750 + 3751 3922 + 3922 3925 + 3755 3753 + 3926 3755 + 3925 3926 + 3928 3754 + 3755 3928 + 3756 3611 + 3762 3756 + 3763 3762 + 3756 3759 + 3759 3761 + 3761 3923 + 3932 3762 + 3764 3931 + 3931 3932 + 3830 3765 + 3765 3771 + 3771 3767 + 3938 3768 + 3773 3769 + 3769 3938 + 3938 3939 + 3771 3936 + 3935 3772 + 3772 3776 + 3936 3935 + 3942 3769 + 3774 3775 + 3775 3942 + 3772 3943 + 3943 3775 + 3666 3778 + 3778 3842 + 3840 3839 + 3842 3840 + 3781 3779 + 3779 3783 + 3780 3781 + 3782 3781 + 3948 3782 + 3812 3948 + 3779 3951 + 3786 3785 + 3951 3786 + 3787 3784 + 3786 3949 + 3949 3787 + 3659 3955 + 3804 3803 + 3955 3804 + 3798 3657 + 3793 3794 + 3794 3798 + 3787 3952 + 3952 3788 + 3788 3789 + 3652 3792 + 3961 3790 + 3792 3961 + 3960 3794 + 3961 3960 + 3788 3795 + 3795 3963 + 3963 3797 + 3796 3792 + 3963 3796 + 3964 3662 + 3798 3799 + 3799 3964 + 3660 3800 + 3800 3953 + 3953 3955 + 3968 3800 + 3964 3965 + 3965 3968 + 3971 3802 + 3804 3954 + 3954 3971 + 3805 3778 + 3809 3805 + 3806 3809 + 3971 3808 + 3808 3809 + 3974 3810 + 3810 3811 + 3811 3948 + 3818 3974 + 3819 3814 + 3821 3815 + 3815 3819 + 3670 3816 + 3816 3980 + 3980 3974 + 3978 3816 + 3819 3977 + 3977 3978 + 3674 3820 + 3975 3815 + 3820 3975 + 3673 3984 + 3981 3820 + 3984 3981 + 3823 3825 + 3825 3824 + 3824 3984 + 3827 3825 + 3829 3827 + 3988 3827 + 3828 3845 + 3845 3988 + 3933 3765 + 3832 3831 + 3831 3933 + 3991 3831 + 3834 3991 + 3686 3835 + 3835 3992 + 3992 3991 + 3689 3837 + 3996 3835 + 3837 3996 + 3838 3837 + 3997 3838 + 3840 3841 + 3841 3997 + 3999 3841 + 3842 3946 + 3946 3999 + 3695 3850 + 3850 3843 + 3843 3847 + 3843 3846 + 3989 3845 + 3846 3989 + 3697 3849 + 3849 4000 + 4000 3850 + 4003 3849 + 3851 4006 + 4006 4003 + 3852 3855 + 3855 3853 + 3853 4006 + 3854 4010 + 4007 3855 + 4010 4007 + 3856 4012 + 4012 3857 + 3857 4010 + 3876 3710 + 3872 3876 + 4016 3872 + 3859 3858 + 3858 4016 + 3706 3860 + 4018 3859 + 3860 4018 + 4019 3860 + 3863 3861 + 3861 4019 + 3864 3861 + 3862 4022 + 4022 3864 + 3865 3871 + 3871 3867 + 3867 3868 + 3867 3869 + 3869 3870 + 3870 4022 + 4026 3871 + 3872 4027 + 4030 3873 + 3873 3876 + 4027 4030 + 3873 3874 + 3874 4033 + 4033 3875 + 4033 3877 + 3877 4013 + 4013 3878 + 3879 3880 + 3880 4035 + 4035 3881 + 4013 3882 + 4046 3713 + 3883 4046 + 3900 3733 + 4051 3900 + 4046 4051 + 3888 3718 + 3885 3911 + 3911 3888 + 4054 3886 + 3886 3890 + 3888 3887 + 3887 4054 + 3886 4055 + 4056 3889 + 4055 4056 + 3891 3892 + 3892 4060 + 4060 3898 + 4059 3892 + 3896 4061 + 4061 4059 + 4056 3895 + 3895 4061 + 3897 3729 + 4058 3897 + 4060 4058 + 3900 4064 + 3903 3901 + 4064 3903 + 4063 3902 + 3903 4063 + 4063 3904 + 3904 4070 + 4070 3914 + 3907 3917 + 3917 3908 + 3908 3910 + 3908 3909 + 3909 4065 + 4065 3911 + 4068 3912 + 3912 3915 + 4070 4068 + 3912 3916 + 3916 3917 + 3919 3920 + 4073 3920 + 3928 4075 + 4075 4073 + 3761 3930 + 3930 3921 + 3921 3922 + 3921 4079 + 4079 3924 + 3924 3926 + 3924 3927 + 3927 4075 + 3929 3759 + 4080 3929 + 3932 4080 + 3929 4078 + 4078 3930 + 3933 3990 + 3990 3934 + 3934 3936 + 3934 4083 + 3937 3935 + 4086 3937 + 4083 4086 + 3940 3939 + 3941 3940 + 3942 3941 + 3937 4089 + 4092 3943 + 4089 4092 + 4091 3941 + 4092 4091 + 3805 3944 + 3944 3945 + 3945 3946 + 3782 4097 + 3950 3951 + 4097 3950 + 3811 4100 + 4100 3947 + 3947 4097 + 4102 3949 + 3950 4104 + 4103 4102 + 4104 4103 + 3957 3952 + 4107 3957 + 4102 4107 + 3953 3969 + 3956 3954 + 3969 3956 + 3967 3799 + 3960 3959 + 3959 3967 + 4112 3795 + 3957 4113 + 4113 4112 + 3796 3962 + 3962 3958 + 3958 3959 + 4111 3962 + 4112 4111 + 4117 3965 + 3967 3966 + 3966 4117 + 3968 4118 + 4109 3969 + 4118 4109 + 4117 3970 + 3970 4118 + 3972 3808 + 3956 4120 + 4120 3972 + 4095 3944 + 3972 4119 + 4119 4095 + 3810 4122 + 4122 3973 + 3973 4100 + 3980 3979 + 3979 4122 + 3975 3982 + 3982 3976 + 3976 3977 + 3978 4124 + 4121 3979 + 4124 4121 + 3976 4125 + 4125 4124 + 3981 3983 + 4128 3982 + 3983 4128 + 3824 3985 + 4129 3983 + 3985 4129 + 3986 3985 + 4133 3986 + 3988 4133 + 4127 3987 + 3987 4133 + 3989 4127 + 4134 3990 + 3992 4135 + 4135 4134 + 4142 3993 + 3993 4135 + 3996 4143 + 4143 4142 + 3838 3995 + 3995 3994 + 3994 4143 + 3998 3997 + 4138 3998 + 3999 4137 + 4137 4138 + 4144 3995 + 3998 4145 + 4145 4144 + 3945 4149 + 4136 4137 + 4153 4136 + 4149 4153 + 4002 3846 + 4000 4005 + 4005 4002 + 4002 4001 + 4001 4157 + 4157 4127 + 4003 4004 + 4004 4159 + 4159 4005 + 3853 4161 + 4162 4004 + 4161 4162 + 4007 4009 + 4009 4008 + 4008 4161 + 3857 4011 + 4165 4009 + 4011 4165 + 3877 4014 + 4043 3882 + 4014 4015 + 4015 4168 + 4168 4043 + 3858 4169 + 4029 4027 + 4169 4029 + 4172 4017 + 4017 4169 + 4018 4172 + 4019 4021 + 4021 4173 + 4173 4172 + 3864 4023 + 4023 4020 + 4020 4021 + 3870 4025 + 4175 4023 + 4025 4175 + 4024 3869 + 4180 4024 + 4026 4180 + 4024 4177 + 4177 4025 + 4181 4180 + 4185 4028 + 4028 4030 + 4029 4170 + 4170 4185 + 4031 3874 + 4028 4183 + 4183 4031 + 4032 4014 + 4031 4032 + 3880 4037 + 4039 3881 + 4037 4034 + 4034 4038 + 4038 4039 + 3879 4188 + 4188 4036 + 4036 4037 + 4038 4042 + 4040 4039 + 4192 4040 + 4042 4192 + 4034 4041 + 4041 4194 + 4194 4042 + 4043 4044 + 4044 4197 + 3883 4048 + 4048 4045 + 4045 4047 + 4047 4051 + 4203 4048 + 4204 4203 + 4047 4049 + 4049 4050 + 4050 4064 + 4207 3887 + 4065 4208 + 4208 4207 + 4213 4052 + 4052 4053 + 4053 4054 + 4207 4213 + 4053 4218 + 4057 4055 + 4218 4057 + 4216 3895 + 4057 4216 + 4219 4058 + 4059 4062 + 4062 4219 + 4220 4062 + 4216 4220 + 4069 3904 + 4050 4206 + 4206 4069 + 3909 4225 + 4225 4066 + 4066 4209 + 4209 4208 + 4222 4067 + 4067 4068 + 4069 4222 + 3916 4071 + 4071 4224 + 4224 4225 + 4067 4072 + 4072 4071 + 4073 4074 + 3927 4076 + 4228 4074 + 4076 4228 + 4081 4077 + 4077 4079 + 4078 4081 + 4227 4076 + 4077 4227 + 4134 4082 + 4082 4084 + 4084 4083 + 4084 4232 + 4232 4085 + 4085 4088 + 4088 4086 + 4088 4087 + 4087 4235 + 4235 4089 + 4237 4090 + 4091 4237 + 4235 4093 + 4093 4237 + 4090 4239 + 4239 4094 + 4095 4240 + 4240 4096 + 4096 4149 + 3947 4098 + 4098 4099 + 4099 4104 + 3973 4101 + 4244 4098 + 4101 4244 + 4103 4105 + 4105 4246 + 4246 4107 + 4099 4242 + 4242 4105 + 4247 4106 + 4106 4113 + 4246 4247 + 4109 4108 + 4108 4250 + 4250 4120 + 3958 4115 + 4110 3966 + 4115 4110 + 4106 4254 + 4114 4111 + 4254 4114 + 4114 4253 + 4253 4115 + 4116 3970 + 4110 4258 + 4258 4116 + 4248 4108 + 4116 4257 + 4257 4248 + 4262 4119 + 4250 4261 + 4261 4262 + 4260 4240 + 4262 4260 + 4264 4101 + 4121 4263 + 4263 4264 + 4269 4123 + 4123 4125 + 4128 4269 + 4123 4126 + 4126 4263 + 4270 3987 + 4157 4265 + 4265 4271 + 4271 4270 + 4129 4132 + 4132 4275 + 4275 4269 + 3986 4130 + 4130 4131 + 4131 4132 + 4276 4130 + 4270 4276 + 3993 4140 + 4230 4082 + 4140 4230 + 4136 4154 + 4147 4138 + 4154 4139 + 4139 4147 + 4280 4140 + 4142 4141 + 4141 4281 + 4281 4280 + 3994 4282 + 4282 4141 + 4144 4287 + 4284 4282 + 4287 4284 + 4146 4145 + 4289 4146 + 4147 4289 + 4146 4288 + 4288 4287 + 4096 4150 + 4150 4148 + 4148 4153 + 4148 4151 + 4151 4152 + 4152 4154 + 4155 4001 + 4158 4155 + 4159 4158 + 4155 4156 + 4156 4292 + 4292 4265 + 4298 4158 + 4162 4299 + 4299 4298 + 4008 4164 + 4164 4160 + 4160 4299 + 4301 4163 + 4163 4164 + 4165 4301 + 4167 4044 + 4168 4166 + 4166 4167 + 4017 4171 + 4304 4170 + 4171 4304 + 4305 4171 + 4173 4174 + 4174 4305 + 4020 4306 + 4306 4174 + 4175 4178 + 4178 4176 + 4176 4306 + 4177 4179 + 4307 4178 + 4179 4307 + 4310 4179 + 4181 4182 + 4182 4310 + 4190 4182 + 4313 4183 + 4185 4184 + 4184 4313 + 4314 4184 + 4304 4316 + 4316 4314 + 4318 4186 + 4313 4318 + 4186 4320 + 4320 4302 + 4036 4187 + 4195 4041 + 4187 4195 + 4189 4325 + 4323 4190 + 4325 4323 + 4194 4191 + 4191 4328 + 4193 4192 + 4328 4193 + 4330 4189 + 4193 4330 + 4327 4191 + 4195 4324 + 4324 4327 + 4045 4196 + 4333 4049 + 4196 4333 + 4197 4335 + 4335 4202 + 4167 4198 + 4198 4199 + 4199 4200 + 4200 4335 + 4337 4201 + 4201 4204 + 4202 4337 + 4201 4339 + 4341 4203 + 4339 4341 + 4342 4196 + 4341 4343 + 4343 4342 + 4333 4205 + 4205 4346 + 4346 4206 + 4209 4210 + 4210 4348 + 4348 4213 + 4066 4212 + 4350 4210 + 4212 4211 + 4211 4350 + 4215 4052 + 4353 4215 + 4348 4353 + 4215 4214 + 4214 4217 + 4217 4218 + 4217 4356 + 4356 4220 + 4345 4221 + 4221 4222 + 4346 4345 + 4359 4212 + 4224 4223 + 4223 4359 + 4361 4072 + 4221 4362 + 4362 4361 + 4360 4223 + 4361 4360 + 4228 4226 + 4226 4367 + 4365 4226 + 4227 4229 + 4229 4365 + 4230 4277 + 4277 4231 + 4231 4232 + 4374 4085 + 4231 4371 + 4371 4233 + 4233 4374 + 4373 4087 + 4374 4373 + 4376 4093 + 4373 4234 + 4234 4376 + 4376 4236 + 4236 4239 + 4238 4094 + 4236 4377 + 4377 4238 + 4290 4150 + 4260 4241 + 4241 4290 + 4381 4242 + 4244 4243 + 4243 4381 + 4383 4243 + 4264 4245 + 4245 4383 + 4386 4247 + 4381 4387 + 4387 4386 + 4255 4254 + 4389 4255 + 4386 4389 + 4248 4249 + 4249 4251 + 4251 4261 + 4256 4252 + 4252 4258 + 4253 4256 + 4255 4388 + 4388 4256 + 4252 4394 + 4393 4257 + 4394 4393 + 4390 4249 + 4393 4390 + 4380 4241 + 4251 4259 + 4259 4380 + 4126 4268 + 4385 4245 + 4268 4385 + 4292 4266 + 4266 4295 + 4272 4271 + 4295 4272 + 4401 4267 + 4267 4268 + 4275 4401 + 4272 4273 + 4273 4402 + 4402 4276 + 4131 4274 + 4274 4400 + 4400 4401 + 4404 4274 + 4402 4404 + 4370 4277 + 4280 4406 + 4406 4370 + 4152 4279 + 4279 4278 + 4281 4411 + 4409 4406 + 4411 4409 + 4286 4283 + 4283 4411 + 4284 4286 + 4414 4285 + 4285 4286 + 4288 4414 + 4416 4414 + 4291 4151 + 4290 4418 + 4418 4291 + 4407 4279 + 4291 4419 + 4419 4407 + 4156 4294 + 4296 4266 + 4294 4296 + 4298 4293 + 4293 4423 + 4423 4294 + 4398 4295 + 4296 4426 + 4426 4297 + 4297 4427 + 4427 4398 + 4160 4431 + 4430 4293 + 4431 4430 + 4163 4300 + 4300 4431 + 4433 4198 + 4302 4303 + 4303 4438 + 4305 4441 + 4315 4316 + 4441 4315 + 4176 4444 + 4443 4441 + 4444 4443 + 4307 4309 + 4309 4308 + 4308 4444 + 4446 4309 + 4310 4448 + 4448 4446 + 4323 4311 + 4311 4448 + 4449 4312 + 4312 4318 + 4314 4449 + 4315 4442 + 4442 4317 + 4317 4449 + 4312 4319 + 4319 4452 + 4452 4320 + 4439 4303 + 4456 4439 + 4452 4456 + 4321 4311 + 4322 4321 + 4325 4322 + 4462 4324 + 4458 4322 + 4330 4464 + 4464 4458 + 4332 4326 + 4326 4328 + 4327 4331 + 4331 4332 + 4326 4329 + 4329 4464 + 4466 4331 + 4462 4461 + 4461 4466 + 4465 4332 + 4469 4465 + 4466 4469 + 4338 4199 + 4476 4338 + 4433 4476 + 4347 4205 + 4342 4477 + 4477 4347 + 4200 4334 + 4334 4336 + 4336 4337 + 4480 4334 + 4338 4482 + 4482 4480 + 4336 4340 + 4483 4339 + 4340 4483 + 4344 4343 + 4487 4344 + 4483 4487 + 4344 4486 + 4488 4477 + 4486 4488 + 4490 4345 + 4347 4479 + 4479 4490 + 4349 4211 + 4352 4349 + 4358 4352 + 4359 4358 + 4350 4497 + 4354 4353 + 4497 4354 + 4349 4499 + 4496 4497 + 4499 4496 + 4491 4351 + 4351 4499 + 4352 4491 + 4355 4214 + 4354 4494 + 4494 4355 + 4490 4357 + 4357 4363 + 4363 4362 + 4502 4358 + 4360 4501 + 4501 4502 + 4363 4364 + 4364 4501 + 4367 4511 + 4511 4512 + 4365 4368 + 4368 4366 + 4366 4511 + 4514 4368 + 4405 4369 + 4369 4371 + 4370 4405 + 4518 4233 + 4369 4372 + 4372 4518 + 4375 4234 + 4520 4375 + 4518 4520 + 4375 4378 + 4378 4377 + 4397 4379 + 4379 4418 + 4380 4397 + 4524 4382 + 4382 4387 + 4383 4524 + 4385 4384 + 4384 4526 + 4526 4524 + 4382 4522 + 4527 4389 + 4522 4527 + 4529 4388 + 4527 4530 + 4530 4529 + 4531 4259 + 4390 4396 + 4396 4531 + 4392 4391 + 4391 4394 + 4529 4392 + 4391 4395 + 4395 4396 + 4537 4397 + 4531 4534 + 4534 4537 + 4267 4541 + 4525 4384 + 4541 4525 + 4544 4273 + 4398 4422 + 4422 4544 + 4400 4399 + 4399 4540 + 4540 4541 + 4549 4403 + 4403 4404 + 4544 4549 + 4546 4399 + 4403 4546 + 4515 4405 + 4409 4410 + 4410 4550 + 4550 4515 + 4408 4278 + 4407 4421 + 4421 4408 + 4408 4555 + 4283 4412 + 4559 4410 + 4412 4559 + 4285 4561 + 4558 4412 + 4561 4558 + 4415 4413 + 4413 4561 + 4416 4415 + 4564 4415 + 4379 4521 + 4521 4417 + 4417 4419 + 4417 4420 + 4420 4568 + 4568 4421 + 4539 4422 + 4427 4572 + 4571 4539 + 4572 4571 + 4423 4576 + 4576 4424 + 4424 4426 + 4430 4577 + 4577 4576 + 4429 4297 + 4424 4425 + 4425 4429 + 4429 4428 + 4428 4572 + 4432 4577 + 4437 4434 + 4438 4437 + 4434 4435 + 4435 4436 + 4436 4476 + 4579 4437 + 4439 4581 + 4581 4579 + 4582 4440 + 4440 4442 + 4443 4582 + 4308 4445 + 4445 4585 + 4585 4582 + 4588 4445 + 4446 4587 + 4587 4588 + 4321 4447 + 4447 4587 + 4317 4450 + 4451 4319 + 4450 4451 + 4440 4589 + 4590 4450 + 4589 4590 + 4451 4454 + 4454 4453 + 4453 4456 + 4453 4455 + 4455 4457 + 4457 4581 + 4460 4447 + 4458 4459 + 4459 4460 + 4467 4461 + 4593 4467 + 4472 4463 + 4463 4593 + 4329 4597 + 4598 4459 + 4597 4598 + 4465 4596 + 4596 4597 + 4467 4468 + 4468 4470 + 4470 4469 + 4470 4601 + 4601 4471 + 4471 4596 + 4594 4472 + 4506 4473 + 4473 4594 + 4436 4475 + 4475 4474 + 4474 4482 + 4605 4478 + 4478 4479 + 4488 4605 + 4607 4340 + 4480 4481 + 4481 4607 + 4474 4603 + 4603 4481 + 4611 4484 + 4484 4487 + 4607 4611 + 4484 4485 + 4485 4486 + 4485 4612 + 4612 4489 + 4489 4605 + 4500 4357 + 4478 4615 + 4615 4500 + 4493 4491 + 4621 4493 + 4502 4621 + 4624 4351 + 4619 4492 + 4492 4624 + 4493 4619 + 4626 4494 + 4496 4495 + 4495 4626 + 4498 4495 + 4624 4498 + 4503 4364 + 4500 4616 + 4616 4503 + 4503 4505 + 4505 4504 + 4504 4621 + 4628 4473 + 4506 4508 + 4508 4630 + 4630 4628 + 4509 4507 + 4507 4508 + 4633 4509 + 4512 4634 + 4634 4633 + 4366 4510 + 4510 4636 + 4636 4634 + 4513 4510 + 4514 4513 + 4519 4372 + 4515 4516 + 4516 4519 + 4553 4516 + 4550 4554 + 4554 4553 + 4639 4517 + 4517 4520 + 4519 4639 + 4641 4521 + 4537 4642 + 4642 4641 + 4645 4522 + 4526 4523 + 4523 4645 + 4643 4523 + 4525 4643 + 4648 4530 + 4645 4644 + 4644 4648 + 4528 4392 + 4647 4528 + 4648 4647 + 4395 4533 + 4533 4536 + 4536 4534 + 4528 4532 + 4532 4533 + 4536 4535 + 4535 4653 + 4653 4642 + 4573 4538 + 4538 4659 + 4543 4539 + 4659 4543 + 4571 4573 + 4540 4547 + 4547 4542 + 4542 4643 + 4543 4660 + 4660 4545 + 4545 4549 + 4546 4548 + 4664 4547 + 4548 4664 + 4545 4662 + 4662 4548 + 4559 4551 + 4551 4670 + 4670 4554 + 4668 4552 + 4552 4637 + 4637 4553 + 4670 4668 + 4556 4555 + 4674 4556 + 4568 4567 + 4567 4674 + 4556 4557 + 4669 4551 + 4558 4680 + 4680 4669 + 4413 4562 + 4562 4560 + 4560 4680 + 4677 4562 + 4564 4563 + 4563 4677 + 4682 4563 + 4565 4420 + 4640 4565 + 4641 4640 + 4565 4566 + 4566 4567 + 4428 4569 + 4569 4570 + 4570 4573 + 4654 4538 + 4570 4574 + 4574 4691 + 4691 4654 + 4575 4425 + 4432 4578 + 4578 4575 + 4692 4569 + 4575 4692 + 4694 4435 + 4579 4580 + 4580 4694 + 4697 4475 + 4694 4698 + 4698 4697 + 4457 4699 + 4695 4580 + 4699 4695 + 4585 4583 + 4583 4584 + 4584 4589 + 4701 4583 + 4588 4704 + 4704 4701 + 4460 4586 + 4586 4704 + 4584 4702 + 4708 4590 + 4702 4591 + 4591 4708 + 4707 4454 + 4708 4707 + 4710 4455 + 4707 4711 + 4711 4710 + 4710 4592 + 4592 4699 + 4713 4586 + 4598 4714 + 4714 4713 + 4463 4717 + 4715 4468 + 4717 4715 + 4594 4595 + 4595 4719 + 4719 4717 + 4471 4600 + 4600 4599 + 4599 4714 + 4602 4601 + 4716 4602 + 4715 4716 + 4722 4600 + 4602 4722 + 4720 4595 + 4628 4629 + 4629 4724 + 4724 4720 + 4608 4603 + 4729 4608 + 4697 4729 + 4489 4606 + 4618 4604 + 4604 4615 + 4606 4618 + 4608 4609 + 4609 4610 + 4610 4611 + 4610 4733 + 4613 4612 + 4733 4613 + 4614 4606 + 4613 4614 + 4604 4617 + 4738 4616 + 4617 4738 + 4737 4617 + 4618 4731 + 4731 4739 + 4739 4737 + 4504 4620 + 4743 4619 + 4620 4743 + 4622 4492 + 4744 4622 + 4743 4744 + 4625 4498 + 4622 4623 + 4623 4625 + 4627 4505 + 4736 4627 + 4738 4736 + 4748 4620 + 4627 4746 + 4746 4748 + 4631 4629 + 4630 4750 + 4751 4631 + 4750 4751 + 4631 4728 + 4727 4724 + 4728 4727 + 4507 4632 + 4632 4749 + 4749 4750 + 4753 4632 + 4633 4757 + 4757 4753 + 4636 4635 + 4635 4756 + 4756 4757 + 4637 4638 + 4638 4758 + 4758 4639 + 4684 4640 + 4653 4651 + 4651 4684 + 4542 4661 + 4761 4644 + 4661 4761 + 4762 4646 + 4646 4647 + 4761 4762 + 4650 4532 + 4646 4649 + 4649 4650 + 4652 4535 + 4650 4768 + 4768 4652 + 4770 4651 + 4652 4767 + 4767 4770 + 4654 4656 + 4665 4655 + 4655 4659 + 4656 4665 + 4655 4657 + 4657 4658 + 4658 4660 + 4776 4661 + 4664 4777 + 4777 4776 + 4658 4663 + 4779 4662 + 4663 4779 + 4778 4777 + 4779 4778 + 4656 4688 + 4782 4665 + 4688 4666 + 4666 4686 + 4686 4667 + 4667 4782 + 4785 4668 + 4669 4679 + 4679 4785 + 4552 4671 + 4759 4638 + 4671 4759 + 4673 4671 + 4785 4672 + 4672 4673 + 4566 4789 + 4792 4674 + 4789 4791 + 4791 4792 + 4675 4557 + 4792 4675 + 4675 4676 + 4678 4560 + 4677 4797 + 4797 4678 + 4678 4795 + 4798 4679 + 4795 4798 + 4683 4681 + 4681 4797 + 4682 4683 + 4802 4683 + 4684 4804 + 4804 4685 + 4685 4789 + 4666 4687 + 4783 4686 + 4687 4811 + 4806 4783 + 4811 4806 + 4689 4688 + 4690 4689 + 4691 4690 + 4808 4687 + 4689 4808 + 4813 4574 + 4692 4814 + 4814 4813 + 4812 4690 + 4813 4812 + 4817 4693 + 4693 4698 + 4695 4817 + 4693 4815 + 4815 4696 + 4696 4729 + 4592 4700 + 4700 4820 + 4820 4817 + 4701 4703 + 4705 4702 + 4703 4705 + 4821 4703 + 4713 4821 + 4706 4591 + 4705 4823 + 4823 4706 + 4706 4824 + 4824 4709 + 4709 4711 + 4826 4700 + 4709 4826 + 4599 4721 + 4721 4712 + 4712 4821 + 4718 4716 + 4829 4718 + 4719 4829 + 4720 4725 + 4725 4829 + 4827 4721 + 4722 4723 + 4723 4827 + 4718 4831 + 4831 4723 + 4828 4725 + 4727 4726 + 4726 4828 + 4835 4726 + 4728 4752 + 4752 4834 + 4834 4835 + 4730 4609 + 4696 4837 + 4837 4730 + 4614 4839 + 4735 4731 + 4839 4735 + 4730 4842 + 4842 4732 + 4732 4733 + 4732 4838 + 4838 4839 + 4846 4734 + 4734 4739 + 4735 4847 + 4847 4846 + 4855 4736 + 4737 4741 + 4741 4855 + 4734 4740 + 4740 4849 + 4849 4741 + 4858 4742 + 4742 4744 + 4748 4858 + 4745 4623 + 4742 4860 + 4860 4745 + 4861 4746 + 4855 4747 + 4747 4861 + 4859 4858 + 4864 4859 + 4861 4864 + 4749 4754 + 4868 4751 + 4754 4868 + 4870 4752 + 4868 4867 + 4867 4870 + 4753 4872 + 4866 4754 + 4872 4866 + 4756 4755 + 4755 4872 + 4759 4786 + 4771 4760 + 4760 4804 + 4770 4771 + 4763 4762 + 4775 4763 + 4776 4775 + 4765 4649 + 4763 4764 + 4764 4765 + 4765 4766 + 4766 4768 + 4766 4769 + 4879 4767 + 4769 4879 + 4874 4771 + 4878 4874 + 4879 4878 + 4773 4657 + 4881 4773 + 4782 4881 + 4772 4663 + 4773 4772 + 4778 4774 + 4774 4876 + 4876 4775 + 4772 4882 + 4882 4774 + 4667 4780 + 4780 4781 + 4781 4881 + 4886 4780 + 4783 4888 + 4888 4886 + 4788 4672 + 4798 4784 + 4784 4788 + 4673 4787 + 4893 4786 + 4787 4893 + 4892 4787 + 4788 4895 + 4895 4892 + 4685 4790 + 4790 4896 + 4896 4791 + 4793 4676 + 4898 4793 + 4896 4898 + 4793 4794 + 4681 4796 + 4901 4795 + 4796 4901 + 4890 4784 + 4901 4799 + 4799 4890 + 4801 4796 + 4802 4800 + 4800 4801 + 4905 4800 + 4760 4875 + 4803 4790 + 4875 4803 + 4913 4805 + 4805 4888 + 4806 4807 + 4807 4913 + 4912 4807 + 4811 4921 + 4917 4912 + 4921 4917 + 4808 4809 + 4809 4810 + 4810 4921 + 4922 4809 + 4812 4922 + 4815 4925 + 4836 4837 + 4925 4836 + 4820 4816 + 4816 4927 + 4927 4925 + 4818 4816 + 4819 4818 + 4826 4819 + 4712 4928 + 4928 4822 + 4822 4823 + 4822 4825 + 4932 4824 + 4825 4932 + 4931 4819 + 4932 4931 + 4827 4933 + 4929 4928 + 4933 4929 + 4828 4832 + 4938 4831 + 4832 4938 + 4938 4830 + 4830 4933 + 4937 4832 + 4835 4942 + 4942 4937 + 4870 4833 + 4833 4940 + 4944 4834 + 4940 4944 + 4943 4942 + 4945 4943 + 4944 4945 + 4836 4924 + 4844 4842 + 4924 4844 + 4838 4840 + 4840 4951 + 4951 4841 + 4841 4847 + 4843 4840 + 4844 4843 + 4848 4740 + 4846 4952 + 4850 4848 + 4952 4850 + 4841 4845 + 4845 4952 + 4848 4957 + 4856 4849 + 4958 4856 + 4957 4958 + 4850 4851 + 4851 4852 + 4852 4853 + 4853 4957 + 4854 4747 + 4961 4854 + 4856 4961 + 4962 4857 + 4857 4860 + 4859 4962 + 4854 4862 + 4862 4863 + 4863 4864 + 4863 4865 + 4865 4962 + 4866 4871 + 4869 4867 + 4871 4869 + 4939 4833 + 4869 4967 + 4967 4939 + 4893 4873 + 4874 4969 + 4910 4875 + 4969 4910 + 4877 4764 + 4876 4973 + 4976 4877 + 4973 4976 + 4977 4769 + 4877 4977 + 4878 4880 + 4880 4974 + 4970 4969 + 4974 4970 + 4979 4880 + 4977 4979 + 4781 4884 + 4883 4882 + 4884 4883 + 4883 4983 + 4983 4973 + 4984 4884 + 4886 4885 + 4885 4984 + 4805 4887 + 4985 4885 + 4887 4985 + 4982 4887 + 4913 4889 + 4889 4915 + 4915 4982 + 4890 4904 + 4904 4891 + 4891 4895 + 4987 4873 + 4892 4988 + 4988 4987 + 4891 4894 + 4894 4988 + 4803 4897 + 4897 4990 + 4990 4898 + 4900 4794 + 4993 4900 + 4990 4993 + 4994 4899 + 4900 4994 + 4903 4799 + 4801 4906 + 4906 4903 + 4903 4902 + 4902 4998 + 4998 4904 + 4905 4907 + 4995 4906 + 4907 4995 + 4899 4908 + 5001 4907 + 4908 5001 + 5003 4908 + 4994 4909 + 4909 5003 + 4911 4897 + 4910 5004 + 5004 4911 + 5006 4889 + 4912 4916 + 4916 5006 + 5009 4914 + 4914 4915 + 5006 5010 + 5010 5009 + 5011 4916 + 4917 4918 + 4918 5011 + 4810 4920 + 4919 4918 + 4920 4919 + 5012 4923 + 4923 4924 + 4927 5012 + 4818 4926 + 4926 5014 + 5014 5012 + 5016 4926 + 4931 5015 + 5015 5016 + 4930 4825 + 4929 4936 + 4936 4930 + 4930 5017 + 5017 5015 + 4830 4934 + 4934 4935 + 4935 4936 + 5019 4934 + 4937 5019 + 4939 4965 + 5020 4940 + 4965 5020 + 4947 4941 + 4941 5019 + 4943 4947 + 4946 4945 + 5024 4946 + 5020 5024 + 4946 5028 + 5023 4947 + 5028 5023 + 5032 4843 + 4923 4948 + 4948 5032 + 4953 4845 + 4951 4949 + 4949 4953 + 4950 4949 + 5030 4950 + 5032 5030 + 4954 4851 + 4953 5035 + 5035 4954 + 4955 4852 + 4954 5038 + 5042 4955 + 5038 5042 + 5045 4956 + 4956 4961 + 4958 5045 + 4853 4959 + 4959 5046 + 5046 5045 + 4955 4960 + 4960 4959 + 4964 4862 + 4956 5047 + 5047 4964 + 4865 4963 + 4964 4963 + 5021 4965 + 4967 4966 + 4966 5049 + 5049 5021 + 4987 4968 + 4970 4975 + 4975 4971 + 4971 5004 + 5060 4972 + 4972 4976 + 4983 5060 + 4974 5062 + 5058 4975 + 5062 5058 + 4972 4978 + 4978 5063 + 5063 4979 + 5063 4980 + 4980 5062 + 4982 4981 + 4981 5070 + 4986 4985 + 5070 4986 + 4984 5071 + 5061 5060 + 5071 5061 + 4986 5069 + 5069 5071 + 4914 5076 + 5066 4981 + 5076 5066 + 4989 4894 + 5078 4989 + 4998 5078 + 5055 4968 + 4989 5079 + 5079 5055 + 4911 4991 + 4991 5082 + 5082 4993 + 4992 4909 + 5082 4992 + 4996 4902 + 4995 5000 + 5000 4996 + 4996 4997 + 4997 4999 + 4999 5078 + 5084 5000 + 5001 5002 + 5002 5084 + 5085 5002 + 5003 5088 + 5088 5085 + 4992 5089 + 5087 5088 + 5089 5087 + 4971 5057 + 5005 4991 + 5057 5005 + 5009 5096 + 5075 5076 + 5095 5075 + 5096 5095 + 5011 5007 + 5007 5099 + 5099 5010 + 5101 5008 + 5008 5096 + 5099 5101 + 4919 5102 + 5097 5007 + 5102 5097 + 5031 4948 + 5014 5013 + 5013 5031 + 5110 5013 + 5016 5111 + 5111 5110 + 5017 5018 + 5018 5112 + 5112 5111 + 4935 5116 + 5114 5018 + 5116 5114 + 4941 5115 + 5115 5116 + 5021 5106 + 5025 5024 + 5118 5025 + 5106 5118 + 5027 5022 + 5022 5115 + 5023 5027 + 5025 5119 + 5119 5026 + 5026 5028 + 5026 5120 + 5120 5027 + 5107 5029 + 5029 5030 + 5031 5107 + 4950 5033 + 5033 5034 + 5034 5035 + 5029 5036 + 5123 5033 + 5036 5123 + 5034 5037 + 5037 5039 + 5039 5038 + 5039 5129 + 5129 5040 + 5040 5043 + 5043 5042 + 5041 4960 + 5133 5041 + 5043 5133 + 5046 5044 + 5044 5137 + 5137 5047 + 5041 5136 + 5136 5044 + 5051 5048 + 5048 5106 + 5049 5051 + 5050 5051 + 5052 5145 + 5145 5146 + 5054 5052 + 5148 5053 + 5053 5054 + 5055 5056 + 5056 5154 + 5158 5057 + 5058 5059 + 5059 5158 + 5159 4978 + 5061 5072 + 5072 5159 + 4980 5065 + 5157 5059 + 5065 5157 + 5159 5064 + 5064 5065 + 5066 5067 + 5067 5163 + 5163 5068 + 5068 5070 + 5068 5165 + 5167 5069 + 5165 5167 + 5073 5072 + 5167 5073 + 5162 5067 + 5092 5074 + 5074 5162 + 5075 5092 + 4999 5077 + 5077 5169 + 5169 5079 + 5080 5056 + 5171 5080 + 5169 5171 + 5005 5174 + 5174 5081 + 5081 5089 + 5083 4997 + 5177 5083 + 5084 5177 + 5178 5077 + 5083 5178 + 5085 5180 + 5179 5177 + 5180 5179 + 5090 5086 + 5086 5180 + 5087 5090 + 5081 5173 + 5173 5090 + 5158 5186 + 5185 5174 + 5186 5185 + 5192 5091 + 5091 5092 + 5095 5193 + 5193 5192 + 5189 5074 + 5091 5093 + 5093 5189 + 5008 5100 + 5100 5094 + 5094 5193 + 5097 5103 + 5103 5098 + 5098 5101 + 5098 5196 + 5196 5100 + 5048 5105 + 5143 5104 + 5104 5118 + 5105 5143 + 5108 5107 + 5109 5108 + 5110 5109 + 5201 5109 + 5112 5113 + 5113 5201 + 5203 5113 + 5114 5203 + 5022 5117 + 5117 5205 + 5205 5203 + 5104 5209 + 5121 5119 + 5209 5121 + 5206 5117 + 5120 5210 + 5210 5206 + 5121 5208 + 5208 5210 + 5125 5036 + 5108 5200 + 5200 5125 + 5122 5037 + 5124 5122 + 5123 5124 + 5213 5124 + 5125 5126 + 5126 5213 + 5122 5127 + 5127 5128 + 5128 5129 + 5130 5040 + 5128 5131 + 5217 5130 + 5131 5217 + 5130 5216 + 5216 5132 + 5132 5133 + 5132 5135 + 5135 5134 + 5134 5136 + 5050 5138 + 5141 5105 + 5138 5141 + 5228 5138 + 5226 5228 + 5144 5139 + 5139 5140 + 5140 5226 + 5141 5224 + 5224 5142 + 5142 5230 + 5230 5143 + 5234 5144 + 5146 5235 + 5235 5234 + 5054 5147 + 5238 5145 + 5147 5238 + 5236 5235 + 5241 5236 + 5238 5241 + 5053 5246 + 5237 5147 + 5243 5237 + 5246 5243 + 5149 5148 + 5247 5149 + 5149 5150 + 5150 5151 + 5151 5246 + 5153 5152 + 5152 5247 + 5080 5155 + 5251 5154 + 5155 5251 + 5250 5153 + 5253 5250 + 5251 5253 + 5161 5156 + 5156 5186 + 5157 5161 + 5160 5064 + 5073 5260 + 5260 5160 + 5160 5259 + 5255 5161 + 5259 5255 + 5162 5168 + 5164 5163 + 5168 5164 + 5164 5264 + 5166 5165 + 5264 5166 + 5166 5265 + 5265 5260 + 5263 5168 + 5187 5268 + 5189 5187 + 5268 5263 + 5172 5171 + 5176 5172 + 5178 5176 + 5170 5155 + 5272 5170 + 5172 5272 + 5276 5173 + 5185 5184 + 5184 5276 + 5179 5175 + 5175 5270 + 5270 5176 + 5086 5181 + 5277 5175 + 5181 5277 + 5182 5181 + 5276 5182 + 5156 5256 + 5256 5183 + 5183 5184 + 5187 5280 + 5282 5188 + 5188 5268 + 5280 5282 + 5093 5190 + 5190 5284 + 5284 5191 + 5191 5280 + 5094 5288 + 5194 5192 + 5288 5194 + 5195 5190 + 5194 5287 + 5287 5195 + 5196 5197 + 5197 5198 + 5198 5288 + 5293 5199 + 5199 5209 + 5230 5293 + 5294 5200 + 5201 5202 + 5202 5295 + 5295 5294 + 5204 5202 + 5205 5204 + 5298 5204 + 5206 5211 + 5211 5298 + 5199 5207 + 5207 5301 + 5301 5208 + 5300 5211 + 5301 5300 + 5303 5126 + 5294 5302 + 5302 5303 + 5306 5127 + 5213 5212 + 5212 5306 + 5215 5212 + 5303 5214 + 5214 5215 + 5218 5131 + 5307 5218 + 5306 5307 + 5222 5216 + 5217 5311 + 5223 5222 + 5311 5223 + 5218 5314 + 5313 5219 + 5219 5311 + 5314 5313 + 5220 5135 + 5221 5220 + 5222 5221 + 5317 5221 + 5223 5310 + 5310 5317 + 5318 5224 + 5228 5225 + 5225 5318 + 5229 5139 + 5233 5229 + 5234 5233 + 5140 5227 + 5319 5225 + 5227 5319 + 5321 5227 + 5229 5325 + 5325 5321 + 5142 5231 + 5231 5232 + 5232 5293 + 5327 5231 + 5318 5329 + 5329 5327 + 5331 5233 + 5236 5240 + 5240 5331 + 5237 5242 + 5239 5241 + 5242 5239 + 5239 5332 + 5332 5240 + 5334 5242 + 5243 5245 + 5245 5334 + 5151 5244 + 5244 5336 + 5336 5245 + 5248 5150 + 5152 5338 + 5338 5248 + 5337 5244 + 5248 5337 + 5341 5249 + 5249 5338 + 5250 5341 + 5170 5273 + 5273 5252 + 5252 5253 + 5252 5254 + 5254 5344 + 5344 5341 + 5255 5257 + 5345 5256 + 5257 5345 + 5346 5258 + 5258 5259 + 5265 5346 + 5261 5257 + 5258 5261 + 5269 5262 + 5262 5264 + 5263 5269 + 5262 5349 + 5349 5346 + 5188 5266 + 5266 5267 + 5267 5269 + 5270 5351 + 5351 5271 + 5271 5272 + 5271 5274 + 5354 5273 + 5274 5354 + 5356 5182 + 5183 5275 + 5275 5356 + 5277 5278 + 5278 5279 + 5279 5351 + 5358 5278 + 5356 5358 + 5355 5275 + 5345 5360 + 5360 5355 + 5191 5291 + 5291 5281 + 5281 5362 + 5283 5282 + 5362 5283 + 5350 5266 + 5283 5364 + 5364 5350 + 5195 5366 + 5285 5284 + 5366 5285 + 5285 5286 + 5286 5291 + 5198 5369 + 5289 5287 + 5369 5289 + 5289 5370 + 5370 5366 + 5361 5281 + 5286 5290 + 5290 5368 + 5368 5361 + 5375 5207 + 5232 5292 + 5292 5375 + 5295 5296 + 5296 5378 + 5378 5302 + 5379 5296 + 5298 5381 + 5381 5379 + 5300 5297 + 5297 5383 + 5383 5381 + 5299 5297 + 5375 5299 + 5386 5214 + 5378 5304 + 5304 5305 + 5305 5386 + 5215 5389 + 5308 5307 + 5389 5308 + 5386 5394 + 5387 5389 + 5394 5387 + 5308 5390 + 5316 5314 + 5390 5316 + 5219 5309 + 5309 5396 + 5396 5310 + 5312 5309 + 5315 5312 + 5313 5315 + 5398 5315 + 5316 5395 + 5395 5398 + 5403 5317 + 5396 5401 + 5401 5404 + 5404 5403 + 5319 5323 + 5323 5320 + 5320 5329 + 5324 5325 + 5407 5324 + 5331 5407 + 5321 5326 + 5326 5322 + 5322 5323 + 5324 5409 + 5409 5326 + 5376 5292 + 5327 5412 + 5412 5376 + 5320 5328 + 5328 5330 + 5330 5412 + 5332 5415 + 5408 5407 + 5415 5408 + 5334 5333 + 5333 5417 + 5417 5415 + 5418 5333 + 5336 5335 + 5335 5418 + 5419 5335 + 5337 5422 + 5422 5419 + 5249 5339 + 5339 5425 + 5425 5422 + 5340 5339 + 5342 5340 + 5344 5342 + 5343 5254 + 5429 5343 + 5354 5429 + 5427 5342 + 5343 5427 + 5261 5347 + 5347 5430 + 5430 5360 + 5431 5347 + 5349 5432 + 5432 5431 + 5267 5348 + 5348 5432 + 5434 5348 + 5350 5436 + 5436 5434 + 5352 5274 + 5279 5441 + 5441 5352 + 5352 5438 + 5438 5353 + 5353 5429 + 5355 5359 + 5359 5357 + 5357 5358 + 5357 5440 + 5440 5441 + 5445 5359 + 5430 5446 + 5446 5445 + 5361 5373 + 5449 5362 + 5373 5363 + 5363 5449 + 5365 5364 + 5456 5365 + 5449 5456 + 5365 5455 + 5457 5436 + 5455 5457 + 5367 5290 + 5371 5367 + 5370 5371 + 5367 5458 + 5372 5368 + 5458 5372 + 5372 5461 + 5462 5373 + 5461 5462 + 5451 5363 + 5462 5374 + 5374 5451 + 5384 5299 + 5376 5377 + 5377 5384 + 5466 5304 + 5379 5467 + 5467 5466 + 5405 5305 + 5466 5380 + 5380 5405 + 5469 5382 + 5382 5467 + 5383 5469 + 5384 5465 + 5465 5469 + 5472 5385 + 5385 5394 + 5405 5472 + 5387 5393 + 5393 5388 + 5388 5390 + 5385 5391 + 5391 5392 + 5392 5393 + 5388 5478 + 5477 5395 + 5478 5477 + 5312 5479 + 5400 5401 + 5479 5400 + 5398 5481 + 5481 5479 + 5477 5397 + 5397 5399 + 5399 5481 + 5400 5480 + 5480 5402 + 5402 5404 + 5380 5406 + 5406 5485 + 5488 5472 + 5485 5488 + 5322 5411 + 5414 5328 + 5411 5414 + 5408 5410 + 5491 5409 + 5410 5491 + 5490 5411 + 5491 5490 + 5330 5495 + 5493 5377 + 5495 5493 + 5414 5413 + 5413 5494 + 5494 5495 + 5499 5410 + 5417 5416 + 5416 5499 + 5500 5416 + 5418 5420 + 5420 5500 + 5419 5421 + 5503 5420 + 5421 5503 + 5424 5421 + 5425 5423 + 5423 5424 + 5340 5426 + 5426 5423 + 5507 5426 + 5427 5508 + 5508 5507 + 5353 5428 + 5428 5508 + 5431 5509 + 5447 5446 + 5509 5447 + 5437 5433 + 5433 5509 + 5434 5437 + 5452 5435 + 5435 5437 + 5457 5452 + 5514 5438 + 5440 5439 + 5439 5514 + 5442 5428 + 5512 5442 + 5514 5512 + 5443 5439 + 5444 5443 + 5445 5444 + 5515 5444 + 5447 5448 + 5448 5515 + 5464 5450 + 5450 5456 + 5451 5464 + 5511 5435 + 5452 5453 + 5453 5523 + 5520 5511 + 5523 5520 + 5450 5454 + 5454 5526 + 5526 5455 + 5525 5453 + 5526 5525 + 5458 5460 + 5528 5459 + 5459 5461 + 5460 5528 + 5463 5374 + 5459 5530 + 5530 5463 + 5463 5533 + 5521 5464 + 5533 5521 + 5536 5465 + 5493 5537 + 5537 5536 + 5382 5468 + 5539 5406 + 5468 5539 + 5470 5468 + 5536 5470 + 5475 5391 + 5488 5471 + 5471 5475 + 5392 5474 + 5474 5473 + 5473 5478 + 5476 5474 + 5475 5545 + 5545 5476 + 5548 5397 + 5473 5550 + 5550 5548 + 5399 5482 + 5552 5480 + 5482 5552 + 5553 5482 + 5548 5553 + 5540 5483 + 5483 5484 + 5484 5485 + 5539 5540 + 5486 5471 + 5484 5487 + 5487 5486 + 5496 5413 + 5490 5489 + 5489 5496 + 5492 5489 + 5499 5492 + 5494 5498 + 5498 5557 + 5557 5537 + 5496 5497 + 5497 5559 + 5559 5498 + 5555 5492 + 5500 5501 + 5501 5555 + 5561 5501 + 5503 5564 + 5564 5561 + 5424 5502 + 5502 5504 + 5504 5564 + 5565 5502 + 5507 5567 + 5567 5565 + 5442 5505 + 5505 5506 + 5506 5567 + 5433 5510 + 5517 5448 + 5510 5517 + 5518 5510 + 5511 5518 + 5443 5513 + 5572 5512 + 5513 5572 + 5571 5505 + 5572 5571 + 5574 5513 + 5515 5516 + 5516 5574 + 5568 5516 + 5517 5568 + 5569 5518 + 5520 5519 + 5519 5569 + 5575 5519 + 5523 5522 + 5522 5578 + 5577 5575 + 5578 5577 + 5527 5454 + 5521 5532 + 5532 5527 + 5585 5522 + 5525 5524 + 5524 5585 + 5586 5524 + 5527 5586 + 5528 5587 + 5529 5530 + 5587 5529 + 5529 5589 + 5589 5531 + 5531 5533 + 5531 5591 + 5583 5532 + 5591 5583 + 5534 5470 + 5535 5534 + 5557 5535 + 5534 5538 + 5538 5595 + 5595 5540 + 5541 5483 + 5598 5541 + 5595 5542 + 5542 5598 + 5486 5543 + 5543 5544 + 5544 5545 + 5476 5605 + 5605 5546 + 5546 5550 + 5544 5602 + 5602 5547 + 5547 5605 + 5546 5549 + 5549 5551 + 5551 5553 + 5487 5554 + 5601 5543 + 5554 5604 + 5604 5601 + 5541 5610 + 5610 5554 + 5560 5497 + 5555 5556 + 5556 5560 + 5594 5535 + 5559 5558 + 5558 5594 + 5614 5558 + 5560 5614 + 5611 5556 + 5561 5616 + 5616 5611 + 5504 5562 + 5562 5563 + 5563 5616 + 5620 5562 + 5565 5566 + 5566 5620 + 5506 5618 + 5618 5566 + 5571 5623 + 5619 5618 + 5623 5619 + 5626 5568 + 5569 5570 + 5570 5626 + 5574 5573 + 5573 5624 + 5624 5623 + 5627 5573 + 5626 5627 + 5628 5570 + 5575 5631 + 5631 5628 + 5633 5576 + 5576 5631 + 5577 5636 + 5636 5633 + 5578 5579 + 5579 5580 + 5580 5636 + 5637 5579 + 5592 5581 + 5581 5637 + 5585 5592 + 5641 5582 + 5582 5586 + 5583 5641 + 5582 5584 + 5584 5592 + 5588 5589 + 5588 5590 + 5590 5591 + 5590 5642 + 5642 5641 + 5639 5581 + 5584 5593 + 5593 5639 + 5644 5538 + 5594 5615 + 5615 5644 + 5597 5542 + 5644 5596 + 5596 5597 + 5597 5647 + 5652 5598 + 5647 5599 + 5599 5652 + 5648 5600 + 5600 5610 + 5652 5648 + 5601 5603 + 5606 5602 + 5603 5606 + 5654 5603 + 5604 5609 + 5609 5654 + 5547 5658 + 5608 5549 + 5658 5608 + 5606 5607 + 5607 5658 + 5600 5660 + 5656 5609 + 5660 5656 + 5611 5612 + 5612 5613 + 5613 5614 + 5613 5662 + 5645 5615 + 5662 5645 + 5563 5617 + 5661 5612 + 5617 5661 + 5664 5617 + 5620 5622 + 5622 5664 + 5619 5621 + 5621 5668 + 5668 5622 + 5669 5621 + 5624 5625 + 5625 5669 + 5629 5627 + 5628 5672 + 5672 5629 + 5671 5625 + 5629 5671 + 5576 5632 + 5632 5630 + 5630 5672 + 5675 5632 + 5633 5678 + 5676 5675 + 5678 5676 + 5580 5635 + 5635 5634 + 5634 5678 + 5681 5635 + 5637 5683 + 5683 5681 + 5643 5638 + 5638 5683 + 5639 5643 + 5686 5593 + 5642 5640 + 5640 5686 + 5684 5643 + 5686 5684 + 5646 5596 + 5645 5687 + 5687 5646 + 5646 5649 + 5649 5647 + 5648 5651 + 5651 5659 + 5659 5660 + 5653 5599 + 5649 5690 + 5690 5650 + 5650 5653 + 5694 5651 + 5653 5693 + 5693 5694 + 5655 5654 + 5696 5655 + 5656 5696 + 5657 5607 + 5655 5698 + 5698 5657 + 5659 5701 + 5697 5696 + 5701 5697 + 5661 5702 + 5703 5662 + 5702 5703 + 5703 5663 + 5663 5689 + 5689 5687 + 5664 5665 + 5665 5666 + 5666 5702 + 5708 5665 + 5668 5667 + 5667 5708 + 5710 5667 + 5669 5670 + 5670 5710 + 5713 5670 + 5671 5714 + 5714 5713 + 5630 5673 + 5673 5714 + 5674 5673 + 5716 5674 + 5675 5716 + 5676 5720 + 5718 5677 + 5677 5716 + 5720 5718 + 5679 5634 + 5721 5679 + 5681 5721 + 5679 5680 + 5680 5722 + 5722 5720 + 5638 5682 + 5682 5723 + 5723 5721 + 5726 5682 + 5684 5685 + 5685 5726 + 5705 5688 + 5688 5690 + 5689 5705 + 5691 5650 + 5688 5728 + 5728 5691 + 5694 5695 + 5695 5731 + 5731 5701 + 5691 5730 + 5730 5692 + 5692 5693 + 5692 5734 + 5733 5695 + 5734 5733 + 5697 5700 + 5699 5698 + 5700 5699 + 5735 5700 + 5731 5736 + 5736 5735 + 5704 5663 + 5666 5709 + 5709 5704 + 5704 5741 + 5706 5705 + 5741 5706 + 5711 5707 + 5707 5742 + 5742 5708 + 5710 5711 + 5743 5709 + 5742 5743 + 5715 5711 + 5713 5746 + 5746 5715 + 5674 5712 + 5712 5746 + 5744 5707 + 5715 5747 + 5747 5744 + 5677 5717 + 5749 5712 + 5717 5749 + 5751 5717 + 5718 5719 + 5719 5752 + 5752 5751 + 5753 5719 + 5722 5756 + 5756 5753 + 5759 5680 + 5723 5724 + 5724 5759 + 5757 5756 + 5759 5757 + 5761 5724 + 5726 5725 + 5725 5761 + 5706 5762 + 5727 5728 + 5762 5727 + 5727 5765 + 5767 5729 + 5729 5730 + 5765 5767 + 5733 5770 + 5737 5736 + 5770 5737 + 5729 5732 + 5732 5773 + 5773 5734 + 5771 5770 + 5773 5771 + 5735 5774 + 5737 5738 + 5738 5774 + 5743 5739 + 5739 5740 + 5740 5741 + 5740 5777 + 5764 5762 + 5777 5764 + 5780 5739 + 5744 5779 + 5779 5780 + 5783 5745 + 5745 5747 + 5749 5783 + 5745 5782 + 5782 5748 + 5748 5779 + 5751 5750 + 5750 5786 + 5786 5783 + 5787 5750 + 5752 5754 + 5754 5787 + 5753 5755 + 5790 5754 + 5755 5790 + 5791 5755 + 5757 5758 + 5758 5791 + 5760 5758 + 5761 5760 + 5778 5763 + 5763 5765 + 5764 5778 + 5763 5794 + 5794 5766 + 5766 5767 + 5768 5732 + 5766 5769 + 5769 5768 + 5775 5738 + 5771 5772 + 5772 5775 + 5768 5795 + 5795 5772 + 5776 5777 + 5800 5776 + 5780 5800 + 5776 5801 + 5802 5778 + 5801 5802 + 5748 5781 + 5781 5805 + 5805 5800 + 5784 5782 + 5806 5784 + 5786 5806 + 5804 5781 + 5784 5785 + 5785 5804 + 5787 5789 + 5789 5810 + 5810 5806 + 5790 5788 + 5788 5812 + 5812 5789 + 5813 5788 + 5791 5813 + 5816 5792 + 5792 5794 + 5802 5816 + 5798 5769 + 5792 5793 + 5793 5798 + 5796 5795 + 5797 5796 + 5798 5797 + 5793 5817 + 5819 5797 + 5817 5819 + 5823 5799 + 5799 5801 + 5805 5823 + 5799 5821 + 5821 5803 + 5803 5816 + 5804 5808 + 5808 5825 + 5825 5823 + 5807 5785 + 5827 5807 + 5810 5827 + 5807 5826 + 5829 5808 + 5826 5829 + 5811 5809 + 5809 5827 + 5812 5811 + 5803 5815 + 5815 5814 + 5814 5817 + 5814 5831 + 5818 5819 + 5831 5818 + 5833 5815 + 5821 5820 + 5820 5833 + 5822 5820 + 5834 5822 + 5825 5834 + 5829 5824 + 5824 5834 + 5809 5836 + 5828 5826 + 5836 5828 + 5835 5824 + 5828 5835 + 5833 5830 + 5830 5838 + 5838 5831 + 5822 5832 + 5837 5830 + 5832 5837 + 5839 5832 + 5835 5839 + 22 -999 + 37 -999 + 35 -999 + 55 -999 + 67 -999 + 118 -999 + 62 -999 + 63 -999 + 124 -999 + 137 -999 + 158 -999 + 103 -999 + 126 -999 + 135 -999 + 154 -999 + 141 -999 + 166 -999 + 182 -999 + 186 -999 + 216 -999 + 221 -999 + 228 -999 + 313 -999 + 229 -999 + 316 -999 + 244 -999 + 252 -999 + 344 -999 + 302 -999 + 314 -999 + 315 -999 + 323 -999 + 342 -999 + 349 -999 + 394 -999 + 490 -999 + 403 -999 + 411 -999 + 420 -999 + 427 -999 + 566 -999 + 491 -999 + 576 -999 + 585 -999 + 505 -999 + 513 -999 + 567 -999 + 573 -999 + 579 -999 + 586 -999 + 596 -999 + 687 -999 + 547 -999 + 644 -999 + 664 -999 + 668 -999 + 770 -999 + 767 -999 + 675 -999 + 777 -999 + 686 -999 + 748 -999 + 823 -999 + 848 -999 + 859 -999 + 861 -999 + 764 -999 + 768 -999 + 876 -999 + 771 -999 + 890 -999 + 791 -999 + 796 -999 + 799 -999 + 810 -999 + 917 -999 + 846 -999 + 949 -999 + 936 -999 + 956 -999 + 954 -999 + 882 -999 + 879 -999 + 979 -999 + 971 -999 + 884 -999 + 891 -999 + 900 -999 + 904 -999 + 1012 -999 + 915 -999 + 946 -999 + 1047 -999 + 969 -999 + 1054 -999 + 1068 -999 + 977 -999 + 985 -999 + 992 -999 + 1004 -999 + 1104 -999 + 1031 -999 + 1013 -999 + 1133 -999 + 1052 -999 + 1071 -999 + 1166 -999 + 1078 -999 + 1085 -999 + 1101 -999 + 1196 -999 + 1099 -999 + 1200 -999 + 1106 -999 + 1208 -999 + 1110 -999 + 1212 -999 + 1137 -999 + 1271 -999 + 1277 -999 + 1295 -999 + 1297 -999 + 1305 -999 + 1306 -999 + 1313 -999 + 1210 -999 + 1211 -999 + 1342 -999 + 1272 -999 + 1276 -999 + 1394 -999 + 1296 -999 + 1314 -999 + 1318 -999 + 1341 -999 + 1463 -999 + 1370 -999 + 1474 -999 + 1493 -999 + 1494 -999 + 1511 -999 + 1435 -999 + 1548 -999 + 1570 -999 + 1610 -999 + 1523 -999 + 1544 -999 + 1546 -999 + 1562 -999 + 1564 -999 + 1563 -999 + 1565 -999 + 1664 -999 + 1608 -999 + 1717 -999 + 1749 -999 + 1663 -999 + 1789 -999 + 1712 -999 + 1750 -999 + 1844 -999 + 1867 -999 + 1790 -999 + 1793 -999 + 1870 -999 + 1884 -999 + 1830 -999 + 1837 -999 + 1912 -999 + 1865 -999 + 1955 -999 + 1958 -999 + 1874 -999 + 1968 -999 + 1972 -999 + 1987 -999 + 1990 -999 + 1906 -999 + 2040 -999 + 1949 -999 + 1967 -999 + 2053 -999 + 2055 -999 + 1974 -999 + 1989 -999 + 2084 -999 + 2112 -999 + 2060 -999 + 2062 -999 + 2167 -999 + 2113 -999 + 2139 -999 + 2146 -999 + 2166 -999 + 2193 -999 + 2281 -999 + 2286 -999 + 2297 -999 + 2251 -999 + 2279 -999 + 2284 -999 + 2345 -999 + 2316 -999 + 2375 -999 + 2376 -999 + 2344 -999 + 2395 -999 + 2374 -999 + 2379 -999 + 2380 -999 + 2440 -999 + 2453 -999 + 2416 -999 + 2420 -999 + 2455 -999 + 2415 -999 + 2418 -999 + 2470 -999 + 2439 -999 + 2501 -999 + 2506 -999 + 2510 -999 + 2467 -999 + 2472 -999 + 2481 -999 + 2499 -999 + 2507 -999 + 2516 -999 + 2535 -999 + 2593 -999 + 2547 -999 + 2552 -999 + 2567 -999 + 2625 -999 + 2568 -999 + 2634 -999 + 2632 -999 + 2583 -999 + 2592 -999 + 2601 -999 + 2672 -999 + 2674 -999 + 2669 -999 + 2629 -999 + 2705 -999 + 2631 -999 + 2706 -999 + 2633 -999 + 2714 -999 + 2717 -999 + 2655 -999 + 2661 -999 + 2673 -999 + 2816 -999 + 2843 -999 + 2856 -999 + 2769 -999 + 2787 -999 + 2887 -999 + 2788 -999 + 2894 -999 + 2898 -999 + 2845 -999 + 2901 -999 + 2841 -999 + 2844 -999 + 2981 -999 + 2980 -999 + 2995 -999 + 2864 -999 + 2865 -999 + 2866 -999 + 2896 -999 + 2905 -999 + 2910 -999 + 2911 -999 + 2960 -999 + 2964 -999 + 3125 -999 + 3035 -999 + 3038 -999 + 3167 -999 + 3146 -999 + 3085 -999 + 3087 -999 + 3126 -999 + 3145 -999 + 3204 -999 + 3213 -999 + 3332 -999 + 3338 -999 + 3365 -999 + 3371 -999 + 3392 -999 + 3434 -999 + 3450 -999 + 3370 -999 + 3385 -999 + 3432 -999 + 3539 -999 + 3435 -999 + 3447 -999 + 3598 -999 + 3627 -999 + 3538 -999 + 3541 -999 + 3558 -999 + 3556 -999 + 3705 -999 + 3562 -999 + 3709 -999 + 3564 -999 + 3731 -999 + 3748 -999 + 3628 -999 + 3629 -999 + 3669 -999 + 3813 -999 + 3817 -999 + 3702 -999 + 3706 -999 + 3865 -999 + 3710 -999 + 3878 -999 + 3711 -999 + 3899 -999 + 3746 -999 + 3619 -999 + 3931 -999 + 3939 -999 + 4012 -999 + 4016 -999 + 3859 -999 + 4026 -999 + 3879 -999 + 4035 -999 + 3881 -999 + 3882 -999 + 3883 -999 + 3897 -999 + 3920 -999 + 4080 -999 + 3940 -999 + 4011 -999 + 4181 -999 + 4015 -999 + 4032 -999 + 4188 -999 + 4040 -999 + 4197 -999 + 4204 -999 + 4219 -999 + 4074 -999 + 4081 -999 + 4090 -999 + 4094 -999 + 4139 -999 + 4289 -999 + 4301 -999 + 4166 -999 + 4190 -999 + 4186 -999 + 4302 -999 + 4187 -999 + 4189 -999 + 4202 -999 + 4356 -999 + 4367 -999 + 4229 -999 + 4238 -999 + 4278 -999 + 4416 -999 + 4300 -999 + 4433 -999 + 4438 -999 + 4462 -999 + 4355 -999 + 4512 -999 + 4514 -999 + 4378 -999 + 4555 -999 + 4564 -999 + 4432 -999 + 4434 -999 + 4593 -999 + 4472 -999 + 4506 -999 + 4626 -999 + 4509 -999 + 4513 -999 + 4517 -999 + 4557 -999 + 4682 -999 + 4578 -999 + 4625 -999 + 4635 -999 + 4758 -999 + 4676 -999 + 4802 -999 + 4814 -999 + 4745 -999 + 4755 -999 + 4786 -999 + 4794 -999 + 4905 -999 + 4922 -999 + 4857 -999 + 4871 -999 + 4873 -999 + 4899 -999 + 4920 -999 + 4963 -999 + 4966 -999 + 4968 -999 + 5102 -999 + 5137 -999 + 5050 -999 + 5052 -999 + 5146 -999 + 5148 -999 + 5154 -999 + 5103 -999 + 5134 -999 + 5226 -999 + 5144 -999 + 5247 -999 + 5153 -999 + 5197 -999 + 5220 -999 + 5369 -999 + 5403 -999 + 5371 -999 + 5402 -999 + 5460 -999 + 5552 -999 + 5587 -999 + 5551 -999 + 5588 -999 + 5608 -999 + 5640 -999 + 5657 -999 + 5685 -999 + 5699 -999 + 5725 -999 + 5774 -999 + 5760 -999 + 5775 -999 + 5813 -999 + 5796 -999 + 5811 -999 + 5818 -999 + 5836 -999 + 5838 -999 + 5839 -999 + 5837 -999 diff --git a/test/meshes/pi/edgenum.out b/test/meshes/pi/edgenum.out new file mode 100644 index 000000000..c26583888 --- /dev/null +++ b/test/meshes/pi/edgenum.out @@ -0,0 +1,2 @@ + 8986 + 8531 diff --git a/test/meshes/pi/edges.out b/test/meshes/pi/edges.out new file mode 100644 index 000000000..75b55677a --- /dev/null +++ b/test/meshes/pi/edges.out @@ -0,0 +1,8986 @@ + 1 12 + 1 2 + 1 3 + 1 5 + 1 4 + 1 11 + 2 12 + 2 10 + 2 9 + 2 3 + 3 5 + 3 9 + 3 7 + 3 14 + 4 6 + 4 11 + 4 5 + 4 16 + 5 16 + 5 17 + 5 14 + 6 11 + 6 13 + 6 16 + 6 18 + 6 19 + 7 9 + 7 21 + 7 8 + 7 15 + 7 14 + 8 21 + 8 23 + 8 22 + 8 24 + 8 15 + 9 10 + 9 21 + 9 25 + 9 20 + 10 12 + 10 25 + 10 28 + 10 27 + 11 13 + 11 29 + 11 12 + 12 28 + 12 29 + 14 15 + 14 41 + 14 17 + 15 41 + 15 22 + 15 39 + 15 42 + 16 17 + 16 43 + 16 18 + 17 41 + 17 43 + 17 44 + 18 43 + 18 46 + 18 19 + 18 45 + 20 25 + 20 26 + 20 21 + 20 47 + 20 30 + 21 24 + 21 47 + 22 23 + 22 38 + 22 39 + 22 49 + 23 49 + 23 52 + 23 24 + 23 51 + 24 47 + 24 51 + 24 53 + 25 26 + 25 56 + 25 27 + 26 56 + 26 57 + 26 55 + 26 30 + 27 28 + 27 56 + 27 58 + 28 29 + 28 59 + 28 58 + 30 55 + 30 60 + 30 48 + 30 47 + 31 32 + 31 64 + 31 36 + 31 37 + 31 63 + 31 65 + 32 64 + 32 66 + 33 67 + 33 66 + 34 67 + 34 68 + 35 68 + 35 69 + 36 74 + 36 62 + 36 37 + 36 63 + 36 75 + 38 39 + 38 40 + 38 76 + 38 49 + 38 50 + 39 40 + 39 80 + 39 42 + 40 80 + 40 76 + 40 78 + 40 79 + 41 44 + 41 42 + 41 81 + 42 81 + 42 80 + 42 82 + 43 44 + 43 83 + 43 45 + 44 83 + 44 81 + 44 84 + 45 46 + 45 83 + 45 85 + 47 53 + 47 48 + 47 86 + 48 60 + 48 54 + 48 87 + 48 86 + 49 52 + 49 89 + 49 50 + 50 89 + 50 76 + 50 77 + 51 53 + 51 88 + 51 90 + 51 52 + 52 89 + 52 90 + 53 88 + 53 86 + 53 92 + 54 60 + 54 87 + 54 94 + 54 93 + 54 95 + 55 57 + 55 60 + 55 96 + 56 58 + 56 97 + 56 57 + 57 96 + 57 98 + 57 97 + 58 97 + 58 59 + 58 99 + 60 96 + 60 95 + 60 100 + 61 69 + 61 70 + 62 74 + 62 72 + 62 102 + 62 104 + 62 63 + 63 104 + 63 106 + 63 65 + 64 105 + 64 66 + 64 65 + 64 107 + 65 106 + 65 107 + 66 105 + 66 67 + 66 108 + 67 109 + 67 68 + 67 108 + 68 69 + 68 109 + 68 110 + 69 70 + 69 110 + 70 110 + 70 101 + 70 111 + 70 112 + 71 102 + 71 72 + 71 73 + 71 103 + 71 114 + 71 113 + 72 74 + 72 102 + 72 117 + 72 73 + 73 118 + 73 113 + 73 117 + 74 117 + 74 119 + 74 75 + 76 77 + 76 78 + 76 120 + 77 89 + 77 91 + 77 121 + 77 120 + 78 123 + 78 122 + 78 120 + 78 79 + 79 128 + 79 80 + 79 122 + 79 127 + 80 128 + 80 82 + 81 82 + 81 129 + 81 84 + 82 129 + 82 128 + 83 85 + 83 130 + 83 84 + 84 129 + 84 130 + 86 87 + 86 92 + 86 131 + 87 93 + 87 133 + 87 131 + 88 92 + 88 134 + 88 90 + 89 90 + 89 135 + 89 91 + 90 134 + 90 135 + 92 131 + 92 134 + 92 136 + 93 94 + 93 133 + 93 137 + 93 132 + 94 137 + 94 95 + 94 138 + 94 139 + 94 140 + 95 100 + 95 140 + 96 141 + 96 100 + 96 98 + 97 98 + 97 142 + 97 99 + 98 141 + 98 142 + 100 140 + 100 141 + 100 143 + 101 111 + 101 144 + 102 104 + 102 103 + 102 147 + 103 147 + 103 114 + 103 115 + 103 149 + 104 147 + 104 150 + 104 106 + 105 108 + 105 107 + 105 151 + 106 150 + 106 107 + 106 152 + 107 151 + 107 152 + 108 109 + 108 153 + 108 151 + 109 110 + 109 153 + 109 154 + 110 112 + 110 154 + 111 112 + 111 144 + 111 155 + 112 154 + 112 156 + 112 155 + 113 118 + 113 116 + 113 114 + 113 158 + 114 115 + 114 159 + 114 158 + 115 149 + 115 159 + 115 148 + 115 160 + 116 118 + 116 158 + 116 164 + 116 167 + 116 166 + 117 119 + 117 118 + 117 168 + 118 167 + 118 168 + 120 121 + 120 170 + 120 123 + 121 170 + 122 123 + 122 171 + 122 127 + 123 171 + 123 170 + 123 172 + 124 170 + 124 173 + 125 173 + 125 174 + 126 174 + 127 171 + 127 128 + 127 176 + 127 169 + 128 129 + 128 176 + 128 177 + 129 130 + 129 177 + 131 136 + 131 133 + 131 180 + 132 137 + 132 178 + 132 133 + 132 181 + 132 179 + 133 181 + 133 180 + 134 136 + 134 135 + 134 182 + 136 180 + 136 182 + 137 178 + 137 138 + 137 183 + 138 139 + 138 185 + 138 183 + 138 184 + 139 140 + 139 185 + 139 186 + 140 143 + 140 187 + 140 186 + 141 143 + 141 188 + 141 142 + 143 188 + 143 187 + 144 145 + 144 155 + 144 189 + 144 157 + 144 190 + 145 189 + 146 193 + 146 148 + 146 162 + 146 192 + 146 161 + 146 163 + 147 150 + 147 149 + 147 194 + 148 193 + 148 149 + 148 160 + 148 161 + 148 195 + 149 194 + 149 195 + 150 194 + 150 196 + 150 152 + 151 152 + 151 153 + 151 197 + 152 196 + 152 197 + 153 197 + 153 154 + 153 198 + 154 156 + 154 199 + 154 198 + 155 156 + 155 200 + 155 157 + 156 200 + 156 199 + 157 201 + 157 190 + 157 200 + 158 164 + 158 159 + 158 203 + 159 160 + 159 203 + 159 204 + 160 161 + 160 205 + 160 204 + 161 205 + 161 163 + 162 192 + 162 163 + 162 206 + 162 202 + 163 207 + 163 208 + 163 206 + 163 205 + 164 166 + 164 211 + 164 165 + 164 203 + 165 211 + 165 203 + 165 209 + 165 210 + 166 211 + 166 167 + 166 213 + 166 212 + 167 213 + 167 168 + 169 171 + 169 215 + 169 176 + 169 216 + 170 173 + 170 217 + 170 172 + 171 215 + 171 172 + 171 218 + 172 217 + 172 218 + 173 217 + 173 174 + 173 219 + 174 175 + 174 219 + 176 220 + 176 177 + 176 216 + 178 183 + 178 179 + 178 221 + 178 222 + 179 222 + 179 181 + 179 223 + 180 224 + 180 182 + 180 181 + 181 224 + 181 223 + 183 221 + 183 184 + 183 225 + 183 226 + 184 185 + 184 228 + 184 227 + 184 226 + 185 228 + 185 186 + 185 229 + 186 187 + 186 229 + 187 188 + 187 230 + 187 229 + 189 191 + 189 190 + 189 231 + 190 201 + 190 232 + 190 231 + 191 234 + 191 231 + 192 240 + 192 193 + 192 202 + 192 237 + 192 239 + 193 240 + 193 195 + 193 241 + 194 196 + 194 195 + 194 242 + 195 242 + 195 241 + 196 197 + 196 242 + 196 243 + 197 243 + 197 198 + 198 243 + 198 244 + 198 199 + 199 245 + 199 200 + 199 244 + 200 245 + 200 201 + 200 246 + 201 232 + 201 246 + 201 238 + 202 206 + 202 237 + 202 247 + 202 236 + 203 209 + 203 250 + 203 204 + 204 250 + 204 251 + 204 205 + 205 251 + 205 207 + 205 252 + 206 208 + 206 247 + 206 254 + 206 249 + 207 208 + 207 252 + 207 253 + 207 255 + 208 255 + 208 254 + 209 210 + 209 214 + 209 250 + 209 256 + 210 214 + 210 211 + 210 258 + 210 257 + 211 258 + 211 212 + 212 213 + 212 259 + 212 258 + 214 260 + 214 261 + 214 257 + 214 256 + 215 216 + 215 218 + 215 263 + 216 262 + 216 220 + 216 264 + 216 263 + 217 218 + 217 219 + 217 265 + 218 263 + 218 265 + 220 262 + 221 225 + 221 267 + 221 222 + 221 268 + 222 267 + 222 269 + 222 223 + 223 224 + 223 270 + 223 269 + 225 226 + 225 268 + 225 272 + 225 271 + 226 227 + 226 272 + 226 274 + 227 228 + 227 274 + 227 275 + 228 275 + 228 229 + 228 276 + 229 276 + 229 230 + 231 232 + 231 234 + 231 278 + 232 278 + 232 238 + 232 277 + 233 234 + 233 235 + 234 235 + 234 280 + 234 278 + 235 279 + 235 280 + 235 281 + 236 248 + 236 283 + 236 237 + 236 247 + 236 284 + 237 284 + 237 285 + 237 239 + 238 246 + 238 286 + 238 277 + 239 285 + 239 287 + 239 240 + 239 288 + 240 289 + 240 241 + 240 288 + 241 289 + 241 290 + 241 242 + 242 290 + 242 243 + 243 244 + 243 290 + 243 291 + 244 291 + 244 292 + 244 245 + 245 293 + 245 246 + 245 292 + 246 286 + 246 293 + 247 296 + 247 248 + 247 249 + 248 283 + 248 296 + 248 297 + 248 295 + 249 254 + 249 296 + 249 298 + 250 256 + 250 299 + 250 251 + 251 299 + 251 300 + 251 252 + 252 300 + 252 301 + 252 253 + 253 301 + 253 255 + 253 302 + 254 255 + 254 298 + 254 303 + 255 302 + 255 303 + 256 299 + 256 261 + 256 304 + 257 260 + 257 258 + 257 306 + 257 305 + 258 259 + 258 306 + 260 261 + 260 305 + 260 307 + 261 307 + 261 308 + 261 304 + 262 266 + 262 264 + 262 309 + 263 265 + 263 264 + 263 311 + 264 309 + 264 311 + 266 309 + 266 310 + 267 269 + 267 268 + 267 313 + 268 271 + 268 313 + 268 314 + 269 270 + 269 313 + 269 315 + 271 273 + 271 317 + 271 272 + 271 314 + 272 274 + 272 318 + 272 273 + 273 317 + 273 318 + 273 319 + 274 318 + 274 320 + 274 275 + 275 276 + 275 321 + 275 320 + 277 278 + 277 286 + 277 323 + 277 282 + 278 323 + 278 280 + 279 324 + 279 281 + 280 281 + 280 325 + 280 323 + 281 325 + 281 326 + 281 324 + 282 329 + 282 328 + 282 286 + 282 323 + 283 332 + 283 284 + 283 295 + 283 294 + 284 285 + 284 332 + 284 333 + 285 287 + 285 335 + 285 333 + 286 329 + 286 293 + 286 337 + 287 335 + 287 288 + 287 336 + 287 338 + 288 338 + 288 339 + 288 289 + 289 340 + 289 290 + 289 339 + 290 340 + 290 291 + 291 292 + 291 340 + 291 341 + 292 293 + 292 341 + 292 342 + 293 337 + 293 342 + 294 332 + 294 295 + 294 343 + 294 331 + 294 330 + 295 343 + 295 297 + 295 344 + 296 297 + 296 345 + 296 298 + 297 345 + 297 346 + 297 344 + 298 351 + 298 347 + 298 345 + 298 303 + 299 300 + 299 304 + 299 352 + 300 301 + 300 352 + 300 353 + 301 302 + 301 353 + 301 354 + 302 354 + 302 355 + 302 303 + 303 351 + 303 355 + 304 308 + 304 352 + 304 356 + 305 307 + 305 306 + 305 357 + 307 357 + 307 358 + 307 308 + 308 359 + 308 356 + 308 358 + 309 310 + 309 361 + 309 311 + 310 361 + 310 360 + 310 312 + 312 360 + 313 315 + 313 314 + 313 363 + 314 317 + 314 363 + 314 316 + 316 363 + 316 317 + 316 366 + 316 365 + 317 366 + 317 319 + 317 368 + 318 320 + 318 369 + 318 319 + 319 370 + 319 368 + 319 369 + 320 369 + 320 321 + 320 371 + 322 324 + 322 327 + 322 372 + 323 328 + 323 373 + 323 325 + 324 326 + 324 327 + 324 374 + 325 373 + 325 375 + 325 326 + 326 375 + 326 374 + 326 376 + 327 372 + 327 378 + 327 377 + 327 374 + 328 329 + 328 380 + 328 373 + 328 381 + 329 381 + 329 337 + 329 379 + 329 382 + 330 383 + 330 331 + 330 334 + 330 343 + 330 348 + 331 383 + 331 385 + 331 332 + 332 333 + 332 385 + 332 386 + 333 386 + 333 384 + 333 335 + 334 350 + 334 387 + 334 383 + 334 348 + 334 349 + 335 336 + 335 384 + 335 389 + 336 338 + 336 391 + 336 389 + 336 390 + 337 379 + 337 342 + 337 392 + 338 339 + 338 391 + 338 393 + 339 393 + 339 394 + 339 340 + 340 341 + 340 394 + 341 342 + 341 394 + 341 395 + 342 395 + 342 392 + 343 397 + 343 348 + 343 344 + 344 346 + 344 398 + 344 397 + 345 347 + 345 346 + 345 399 + 346 398 + 346 399 + 348 397 + 348 349 + 348 400 + 349 400 + 349 402 + 349 401 + 349 350 + 350 387 + 350 401 + 350 388 + 350 403 + 351 355 + 352 353 + 352 356 + 352 407 + 352 408 + 353 408 + 353 409 + 353 354 + 354 355 + 354 409 + 354 410 + 355 410 + 355 406 + 356 359 + 356 407 + 356 411 + 357 358 + 358 412 + 358 359 + 359 411 + 359 412 + 359 413 + 360 362 + 360 414 + 360 361 + 360 416 + 362 414 + 362 415 + 363 365 + 364 372 + 364 420 + 364 419 + 365 366 + 365 425 + 365 367 + 365 418 + 366 425 + 366 368 + 366 426 + 367 418 + 367 425 + 367 427 + 367 423 + 367 424 + 368 370 + 368 428 + 368 426 + 369 371 + 369 370 + 369 429 + 370 428 + 370 429 + 372 430 + 372 420 + 372 377 + 373 375 + 373 380 + 373 432 + 374 376 + 374 434 + 374 378 + 375 432 + 375 435 + 375 376 + 376 435 + 376 434 + 377 378 + 377 430 + 377 436 + 378 436 + 378 434 + 379 382 + 379 392 + 379 437 + 379 396 + 380 432 + 380 381 + 380 438 + 380 431 + 381 438 + 381 439 + 381 382 + 382 437 + 382 439 + 383 387 + 383 385 + 383 443 + 384 386 + 384 444 + 384 389 + 384 442 + 385 386 + 385 443 + 385 445 + 386 444 + 386 445 + 387 388 + 387 443 + 387 446 + 388 403 + 388 404 + 389 442 + 389 447 + 389 441 + 389 390 + 390 391 + 390 448 + 390 441 + 391 448 + 391 393 + 391 450 + 392 395 + 392 396 + 392 451 + 393 394 + 393 452 + 393 450 + 394 452 + 394 453 + 394 395 + 395 451 + 395 453 + 396 437 + 396 451 + 396 454 + 396 455 + 397 456 + 397 400 + 397 398 + 398 399 + 398 457 + 398 456 + 399 457 + 400 402 + 400 456 + 400 459 + 401 402 + 401 403 + 401 460 + 402 459 + 402 460 + 402 461 + 403 460 + 403 462 + 403 404 + 404 405 + 404 462 + 404 463 + 405 463 + 406 410 + 406 468 + 407 411 + 407 408 + 407 467 + 407 469 + 408 409 + 408 469 + 409 410 + 409 469 + 409 470 + 410 470 + 410 468 + 411 467 + 411 471 + 411 413 + 412 413 + 413 473 + 413 471 + 413 472 + 414 415 + 414 476 + 414 416 + 415 476 + 415 417 + 415 475 + 417 477 + 417 475 + 418 423 + 419 420 + 419 481 + 419 421 + 419 422 + 420 430 + 420 481 + 420 482 + 421 422 + 422 481 + 422 483 + 422 485 + 422 484 + 423 480 + 423 487 + 423 486 + 423 424 + 424 487 + 424 427 + 424 488 + 425 427 + 425 426 + 425 489 + 426 489 + 426 428 + 427 489 + 427 490 + 427 488 + 428 489 + 428 429 + 428 491 + 430 482 + 430 436 + 430 492 + 431 493 + 431 432 + 431 433 + 431 440 + 431 438 + 432 493 + 432 435 + 434 435 + 434 436 + 434 494 + 435 493 + 435 494 + 436 494 + 436 492 + 436 495 + 437 439 + 437 454 + 437 496 + 438 439 + 438 440 + 438 497 + 439 496 + 439 497 + 441 447 + 441 498 + 441 449 + 441 448 + 442 499 + 442 447 + 442 444 + 443 445 + 443 446 + 443 500 + 444 445 + 444 499 + 444 500 + 445 500 + 447 499 + 447 498 + 447 501 + 448 504 + 448 450 + 448 449 + 449 498 + 449 503 + 449 504 + 449 502 + 450 504 + 450 505 + 450 452 + 451 453 + 451 506 + 451 455 + 452 453 + 452 505 + 452 507 + 453 506 + 453 507 + 454 455 + 454 496 + 454 508 + 455 506 + 455 509 + 455 508 + 456 457 + 456 459 + 456 510 + 457 510 + 457 511 + 457 458 + 458 511 + 459 513 + 459 461 + 459 510 + 460 462 + 460 461 + 460 514 + 461 513 + 461 515 + 461 514 + 462 463 + 462 514 + 462 516 + 463 516 + 463 464 + 463 518 + 463 517 + 464 518 + 465 511 + 465 512 + 466 468 + 466 524 + 467 471 + 467 525 + 467 469 + 468 470 + 468 524 + 468 526 + 469 525 + 469 527 + 469 470 + 470 526 + 470 527 + 471 473 + 471 525 + 471 528 + 472 529 + 472 473 + 473 529 + 473 528 + 473 530 + 474 477 + 474 534 + 475 476 + 475 535 + 475 477 + 477 534 + 477 535 + 478 534 + 478 536 + 479 533 + 479 536 + 479 537 + 480 486 + 481 483 + 481 482 + 481 540 + 482 540 + 482 492 + 482 541 + 483 485 + 483 540 + 483 542 + 484 485 + 485 543 + 485 542 + 485 544 + 486 487 + 486 539 + 486 538 + 486 545 + 487 488 + 487 546 + 487 545 + 488 490 + 488 546 + 488 547 + 489 490 + 489 491 + 489 548 + 490 547 + 490 548 + 492 541 + 492 495 + 492 549 + 493 494 + 494 495 + 494 550 + 495 549 + 495 550 + 496 497 + 496 508 + 496 551 + 498 501 + 498 552 + 498 502 + 499 500 + 499 553 + 499 501 + 501 552 + 501 553 + 502 503 + 502 552 + 502 554 + 502 555 + 503 504 + 503 555 + 503 556 + 504 505 + 504 556 + 504 557 + 505 507 + 505 557 + 505 558 + 506 509 + 506 507 + 506 559 + 507 558 + 507 559 + 508 551 + 508 509 + 508 560 + 509 560 + 509 559 + 509 561 + 510 511 + 510 513 + 510 562 + 511 512 + 511 562 + 512 520 + 512 563 + 512 562 + 512 521 + 513 515 + 513 562 + 513 564 + 514 515 + 514 516 + 514 565 + 515 565 + 515 564 + 515 566 + 516 568 + 516 517 + 516 565 + 517 568 + 517 567 + 517 518 + 518 569 + 518 519 + 518 567 + 520 572 + 520 521 + 521 572 + 521 571 + 521 563 + 522 529 + 522 531 + 523 524 + 523 574 + 524 526 + 524 574 + 524 575 + 525 527 + 525 528 + 525 576 + 526 575 + 526 577 + 526 527 + 527 576 + 527 577 + 528 576 + 528 530 + 528 578 + 529 531 + 529 579 + 529 530 + 530 579 + 530 578 + 531 579 + 531 573 + 531 581 + 531 580 + 532 533 + 532 583 + 533 583 + 533 537 + 533 586 + 533 585 + 534 536 + 534 535 + 534 587 + 536 537 + 536 587 + 536 588 + 537 586 + 537 588 + 538 545 + 538 589 + 538 590 + 538 539 + 538 591 + 540 541 + 540 594 + 540 542 + 541 594 + 541 549 + 541 595 + 542 594 + 542 596 + 542 544 + 543 597 + 543 544 + 544 598 + 544 597 + 544 596 + 545 599 + 545 589 + 545 546 + 546 599 + 546 600 + 546 547 + 547 600 + 547 548 + 547 601 + 549 604 + 549 595 + 549 550 + 549 605 + 551 560 + 552 554 + 552 553 + 552 608 + 554 555 + 554 607 + 554 608 + 555 607 + 555 610 + 555 556 + 556 557 + 556 610 + 556 611 + 557 558 + 557 611 + 557 612 + 558 612 + 558 613 + 558 559 + 559 613 + 559 561 + 560 615 + 560 614 + 560 561 + 560 606 + 561 615 + 561 613 + 562 563 + 562 564 + 562 616 + 563 571 + 563 616 + 563 617 + 564 566 + 564 616 + 564 618 + 565 566 + 565 620 + 565 568 + 566 620 + 566 618 + 566 619 + 567 568 + 567 569 + 567 621 + 568 621 + 568 620 + 568 622 + 569 621 + 570 572 + 570 624 + 570 625 + 570 574 + 571 617 + 571 572 + 571 626 + 572 625 + 572 627 + 572 626 + 573 581 + 573 629 + 574 575 + 574 630 + 574 624 + 575 577 + 575 630 + 575 631 + 576 577 + 576 578 + 576 632 + 577 632 + 577 631 + 578 633 + 578 632 + 578 579 + 579 580 + 579 633 + 580 581 + 580 634 + 580 633 + 581 634 + 581 629 + 581 635 + 582 583 + 582 636 + 583 585 + 583 637 + 583 636 + 583 638 + 584 636 + 584 639 + 585 586 + 585 637 + 585 640 + 586 640 + 586 588 + 586 641 + 587 588 + 588 641 + 589 590 + 589 599 + 589 642 + 589 643 + 590 591 + 590 645 + 590 643 + 590 644 + 592 597 + 592 646 + 592 593 + 593 602 + 593 648 + 593 603 + 593 646 + 593 647 + 594 596 + 594 595 + 594 650 + 595 604 + 595 651 + 595 650 + 596 650 + 596 652 + 596 598 + 597 598 + 597 646 + 597 653 + 598 652 + 598 653 + 599 600 + 599 642 + 599 655 + 600 601 + 600 655 + 601 655 + 602 649 + 602 657 + 602 603 + 602 648 + 604 651 + 604 654 + 604 605 + 604 658 + 605 658 + 606 661 + 606 614 + 607 610 + 607 608 + 607 662 + 607 663 + 609 665 + 610 611 + 610 662 + 610 667 + 611 667 + 611 612 + 611 670 + 612 670 + 612 613 + 612 671 + 613 672 + 613 615 + 613 671 + 614 615 + 614 669 + 614 661 + 614 673 + 615 672 + 615 673 + 616 618 + 616 617 + 616 674 + 617 626 + 617 675 + 617 674 + 618 676 + 618 619 + 618 674 + 619 676 + 619 677 + 619 678 + 619 620 + 620 622 + 620 678 + 621 623 + 621 622 + 621 679 + 622 678 + 622 679 + 624 625 + 624 630 + 624 680 + 624 681 + 625 681 + 625 627 + 626 675 + 626 627 + 626 682 + 627 681 + 627 683 + 627 682 + 628 629 + 628 684 + 628 639 + 629 684 + 629 685 + 629 635 + 630 680 + 630 631 + 630 686 + 631 632 + 631 687 + 631 686 + 632 633 + 632 687 + 633 634 + 633 687 + 633 688 + 634 689 + 634 688 + 634 635 + 635 685 + 635 689 + 636 638 + 636 639 + 636 691 + 637 640 + 637 690 + 637 692 + 637 638 + 638 691 + 638 692 + 639 684 + 639 691 + 639 693 + 640 641 + 640 690 + 640 694 + 641 694 + 642 655 + 642 696 + 642 697 + 642 643 + 643 644 + 643 697 + 644 697 + 644 698 + 644 699 + 644 645 + 646 647 + 646 653 + 646 700 + 647 700 + 647 702 + 647 648 + 648 649 + 648 702 + 648 703 + 649 657 + 649 701 + 649 704 + 649 703 + 650 652 + 650 651 + 650 705 + 651 654 + 651 705 + 652 653 + 652 706 + 652 705 + 653 706 + 653 700 + 654 705 + 654 658 + 654 707 + 654 708 + 655 696 + 655 656 + 655 709 + 656 709 + 657 701 + 658 659 + 658 713 + 658 708 + 659 713 + 659 715 + 660 661 + 660 717 + 660 716 + 661 669 + 661 717 + 661 718 + 662 668 + 662 667 + 662 663 + 662 719 + 664 721 + 664 665 + 665 666 + 665 723 + 665 721 + 665 722 + 667 668 + 667 724 + 667 670 + 668 724 + 668 719 + 668 725 + 669 673 + 669 726 + 669 718 + 670 724 + 670 671 + 670 727 + 671 727 + 671 728 + 671 672 + 672 728 + 672 673 + 673 726 + 673 729 + 673 728 + 674 675 + 674 730 + 674 676 + 675 682 + 675 730 + 675 731 + 676 677 + 676 730 + 676 732 + 677 678 + 677 732 + 677 734 + 677 733 + 678 679 + 678 735 + 678 733 + 679 735 + 680 737 + 680 738 + 680 686 + 680 681 + 681 683 + 681 738 + 682 731 + 682 683 + 682 739 + 683 738 + 683 740 + 683 739 + 684 685 + 684 741 + 684 693 + 685 689 + 685 741 + 685 742 + 686 687 + 686 743 + 686 737 + 687 743 + 687 688 + 688 689 + 688 743 + 688 744 + 689 744 + 689 742 + 690 692 + 690 746 + 690 694 + 690 745 + 691 747 + 691 693 + 691 692 + 692 746 + 692 747 + 693 747 + 693 748 + 693 741 + 694 695 + 694 745 + 694 749 + 695 749 + 696 709 + 696 697 + 696 712 + 696 752 + 696 753 + 697 698 + 697 753 + 698 699 + 698 753 + 698 754 + 700 702 + 700 706 + 700 755 + 701 756 + 701 711 + 701 704 + 702 755 + 702 703 + 702 758 + 703 758 + 703 704 + 704 758 + 704 759 + 704 756 + 705 707 + 705 760 + 705 706 + 706 755 + 706 760 + 707 708 + 707 761 + 707 760 + 708 761 + 708 713 + 708 762 + 709 710 + 709 712 + 709 763 + 710 763 + 711 756 + 711 757 + 712 763 + 712 752 + 712 766 + 713 715 + 713 767 + 713 762 + 714 768 + 714 715 + 714 716 + 715 767 + 715 768 + 715 769 + 716 717 + 716 768 + 716 770 + 716 771 + 717 718 + 717 772 + 717 770 + 718 726 + 718 773 + 718 772 + 719 725 + 719 774 + 720 721 + 720 774 + 721 722 + 721 775 + 721 774 + 722 775 + 722 723 + 722 776 + 724 777 + 724 727 + 724 725 + 725 774 + 725 777 + 725 778 + 726 773 + 726 729 + 726 779 + 727 728 + 727 777 + 727 780 + 728 729 + 728 780 + 729 779 + 729 780 + 729 781 + 730 732 + 730 731 + 730 783 + 731 784 + 731 783 + 731 782 + 731 739 + 732 734 + 732 783 + 732 785 + 733 734 + 733 735 + 733 786 + 734 785 + 734 786 + 734 787 + 735 786 + 735 788 + 735 736 + 737 738 + 737 743 + 737 789 + 738 740 + 738 789 + 738 790 + 739 740 + 739 782 + 739 791 + 740 790 + 740 791 + 741 748 + 741 792 + 741 742 + 742 792 + 742 744 + 742 793 + 743 789 + 743 794 + 743 744 + 744 793 + 744 794 + 745 746 + 745 749 + 745 795 + 745 796 + 746 747 + 746 796 + 746 797 + 747 748 + 747 797 + 748 792 + 748 797 + 748 798 + 749 750 + 749 795 + 749 800 + 749 801 + 750 801 + 750 802 + 751 803 + 751 802 + 752 766 + 752 804 + 752 753 + 752 805 + 753 806 + 753 807 + 753 754 + 753 805 + 755 758 + 755 760 + 755 808 + 756 759 + 756 810 + 756 757 + 757 765 + 757 809 + 757 810 + 758 759 + 758 808 + 758 811 + 759 810 + 759 811 + 759 812 + 760 761 + 760 808 + 760 813 + 761 762 + 761 813 + 761 814 + 762 767 + 762 814 + 763 764 + 763 815 + 763 766 + 764 815 + 764 816 + 765 809 + 765 818 + 766 804 + 766 815 + 766 819 + 767 814 + 767 769 + 767 820 + 768 769 + 768 821 + 768 771 + 769 821 + 769 822 + 769 820 + 770 772 + 770 823 + 770 771 + 771 823 + 771 824 + 771 821 + 772 773 + 772 823 + 772 825 + 773 779 + 773 826 + 773 825 + 774 775 + 774 827 + 774 778 + 775 827 + 775 776 + 777 780 + 777 828 + 777 778 + 778 827 + 778 828 + 779 826 + 779 781 + 779 829 + 780 828 + 780 781 + 780 830 + 781 830 + 781 829 + 782 784 + 782 831 + 782 832 + 782 791 + 783 784 + 783 833 + 783 785 + 784 833 + 784 834 + 784 832 + 785 787 + 785 833 + 785 835 + 786 788 + 786 836 + 786 787 + 787 835 + 787 836 + 789 794 + 789 837 + 789 790 + 790 791 + 790 837 + 790 838 + 791 838 + 791 831 + 791 839 + 792 793 + 792 840 + 792 798 + 793 794 + 793 840 + 793 841 + 794 837 + 794 841 + 795 800 + 795 842 + 795 796 + 796 842 + 796 843 + 796 797 + 797 798 + 797 843 + 798 843 + 798 844 + 798 840 + 799 803 + 799 847 + 800 801 + 800 849 + 800 848 + 800 842 + 801 849 + 801 802 + 802 803 + 802 849 + 802 850 + 803 847 + 803 851 + 803 850 + 804 805 + 804 819 + 804 859 + 805 859 + 805 806 + 805 860 + 806 807 + 806 860 + 806 861 + 807 861 + 808 811 + 808 813 + 808 862 + 809 818 + 809 810 + 809 863 + 809 864 + 810 812 + 810 864 + 811 862 + 811 865 + 811 812 + 812 864 + 812 865 + 812 866 + 813 814 + 813 867 + 813 862 + 814 867 + 814 820 + 814 868 + 815 816 + 815 869 + 815 819 + 816 869 + 816 817 + 816 870 + 817 818 + 817 870 + 817 871 + 818 863 + 818 871 + 819 859 + 819 869 + 819 872 + 820 873 + 820 868 + 820 822 + 821 822 + 821 874 + 821 824 + 822 874 + 822 873 + 823 824 + 823 876 + 823 825 + 824 875 + 824 874 + 824 876 + 825 826 + 825 877 + 825 876 + 826 877 + 826 829 + 826 878 + 827 828 + 828 830 + 828 879 + 829 830 + 829 880 + 829 878 + 830 880 + 830 879 + 831 832 + 831 882 + 831 839 + 831 881 + 832 882 + 832 883 + 832 834 + 833 834 + 833 835 + 833 885 + 834 883 + 834 886 + 834 885 + 835 887 + 835 836 + 835 885 + 837 841 + 837 838 + 837 888 + 838 839 + 838 888 + 838 889 + 839 881 + 839 889 + 839 890 + 840 844 + 840 891 + 840 841 + 841 891 + 841 888 + 842 843 + 842 892 + 842 848 + 843 844 + 843 892 + 844 892 + 844 893 + 844 891 + 845 895 + 845 847 + 846 895 + 846 852 + 846 896 + 847 851 + 847 895 + 847 897 + 848 849 + 848 898 + 848 894 + 848 892 + 849 898 + 849 850 + 850 851 + 850 899 + 850 898 + 851 899 + 851 897 + 852 853 + 852 896 + 852 902 + 852 901 + 852 900 + 853 903 + 853 902 + 854 856 + 854 903 + 855 905 + 855 856 + 856 903 + 856 904 + 856 905 + 856 906 + 857 905 + 858 861 + 858 908 + 859 860 + 859 872 + 859 911 + 860 861 + 860 912 + 860 911 + 861 908 + 861 912 + 861 913 + 862 865 + 862 914 + 862 867 + 863 871 + 863 864 + 863 915 + 863 916 + 864 866 + 864 916 + 865 914 + 865 917 + 865 866 + 866 916 + 866 917 + 866 918 + 867 868 + 867 914 + 867 919 + 868 873 + 868 919 + 869 872 + 869 920 + 869 870 + 870 920 + 870 871 + 870 921 + 871 921 + 871 915 + 872 920 + 872 922 + 872 911 + 873 919 + 873 874 + 873 924 + 874 875 + 874 925 + 874 924 + 875 925 + 875 876 + 875 927 + 875 926 + 876 927 + 876 877 + 877 878 + 877 929 + 877 927 + 877 928 + 878 929 + 878 880 + 878 930 + 879 880 + 880 930 + 881 890 + 881 882 + 881 931 + 882 883 + 882 932 + 882 884 + 882 931 + 883 886 + 883 884 + 883 934 + 884 932 + 884 935 + 884 934 + 885 886 + 885 887 + 885 936 + 886 936 + 886 934 + 888 891 + 888 937 + 888 889 + 889 890 + 889 937 + 889 938 + 890 939 + 890 933 + 890 931 + 890 938 + 891 937 + 891 893 + 891 940 + 892 893 + 892 894 + 892 941 + 893 940 + 893 941 + 894 941 + 894 898 + 894 942 + 895 897 + 895 896 + 895 943 + 896 943 + 896 900 + 896 944 + 897 899 + 897 943 + 897 945 + 898 899 + 898 942 + 898 946 + 899 946 + 899 945 + 900 901 + 900 948 + 900 947 + 900 944 + 901 902 + 901 950 + 901 948 + 901 949 + 902 950 + 902 903 + 902 951 + 903 904 + 903 951 + 904 951 + 904 953 + 904 952 + 904 906 + 905 907 + 905 906 + 905 954 + 906 954 + 906 953 + 908 913 + 908 910 + 908 909 + 908 955 + 909 956 + 909 957 + 909 958 + 909 910 + 909 955 + 911 922 + 911 959 + 911 912 + 912 959 + 912 960 + 912 913 + 913 960 + 913 955 + 914 917 + 914 919 + 914 961 + 915 916 + 915 921 + 915 962 + 915 923 + 916 918 + 916 962 + 917 918 + 917 963 + 917 961 + 918 962 + 918 963 + 919 961 + 919 924 + 919 964 + 920 922 + 920 921 + 920 965 + 921 923 + 921 965 + 922 959 + 922 965 + 922 966 + 923 965 + 923 962 + 923 967 + 924 925 + 924 968 + 924 964 + 925 926 + 925 969 + 925 968 + 926 969 + 926 970 + 926 927 + 927 970 + 927 928 + 927 971 + 928 929 + 928 972 + 928 971 + 929 972 + 929 930 + 929 973 + 931 932 + 931 978 + 931 933 + 932 935 + 932 978 + 933 939 + 933 977 + 933 978 + 933 979 + 934 981 + 934 936 + 934 935 + 935 978 + 935 980 + 935 981 + 937 938 + 937 940 + 937 982 + 937 983 + 938 939 + 938 983 + 938 984 + 939 977 + 939 984 + 940 941 + 940 985 + 940 982 + 941 942 + 941 985 + 942 985 + 942 946 + 942 986 + 943 987 + 943 945 + 943 944 + 944 947 + 944 987 + 945 987 + 945 988 + 945 946 + 946 986 + 946 988 + 947 948 + 947 987 + 947 989 + 948 989 + 948 991 + 948 990 + 948 949 + 949 950 + 949 991 + 949 992 + 950 951 + 950 993 + 950 992 + 951 993 + 951 952 + 952 953 + 952 994 + 952 993 + 953 994 + 953 954 + 953 995 + 955 999 + 955 956 + 955 960 + 956 957 + 956 999 + 956 1000 + 956 1001 + 957 958 + 957 1001 + 957 1002 + 958 1002 + 959 960 + 959 966 + 959 1004 + 960 1004 + 960 999 + 961 1005 + 961 963 + 961 964 + 962 963 + 962 1006 + 962 967 + 963 1005 + 963 1006 + 964 968 + 964 1005 + 964 1007 + 965 967 + 965 1008 + 965 966 + 966 1004 + 966 1009 + 966 1008 + 967 1008 + 967 1006 + 967 1010 + 968 969 + 968 1011 + 968 1007 + 969 970 + 969 1013 + 969 1011 + 970 1013 + 970 1014 + 970 971 + 971 972 + 971 1012 + 971 1014 + 972 1012 + 972 1015 + 972 973 + 972 1016 + 974 976 + 975 976 + 975 1017 + 975 1020 + 976 1020 + 976 1018 + 976 1021 + 977 984 + 977 1024 + 977 1025 + 977 979 + 978 979 + 978 1026 + 978 980 + 979 1026 + 979 1027 + 979 1025 + 980 981 + 980 1026 + 980 1028 + 980 1029 + 982 1032 + 982 983 + 982 985 + 982 1031 + 983 1032 + 983 984 + 984 1024 + 984 1032 + 984 1033 + 985 1031 + 985 986 + 985 1034 + 986 988 + 986 1035 + 986 1034 + 987 989 + 987 988 + 987 1036 + 988 1035 + 988 1036 + 989 990 + 989 1036 + 989 1037 + 990 991 + 990 1038 + 990 1037 + 990 996 + 991 996 + 991 1040 + 991 992 + 992 993 + 992 1040 + 992 1041 + 993 994 + 993 1041 + 994 995 + 994 1042 + 994 1041 + 996 1040 + 996 1039 + 996 1038 + 996 1043 + 997 1044 + 997 1017 + 998 1044 + 998 1045 + 999 1000 + 999 1004 + 999 1046 + 1000 1001 + 1000 1048 + 1000 1046 + 1001 1048 + 1001 1002 + 1001 1049 + 1002 1003 + 1002 1049 + 1002 1050 + 1003 1045 + 1003 1047 + 1003 1050 + 1004 1046 + 1004 1009 + 1004 1051 + 1005 1007 + 1005 1006 + 1005 1052 + 1006 1010 + 1006 1052 + 1007 1011 + 1007 1053 + 1007 1052 + 1008 1009 + 1008 1010 + 1008 1054 + 1009 1051 + 1009 1054 + 1010 1052 + 1010 1054 + 1010 1055 + 1011 1053 + 1011 1013 + 1011 1057 + 1012 1015 + 1012 1014 + 1012 1056 + 1012 1058 + 1013 1014 + 1013 1057 + 1013 1059 + 1014 1058 + 1014 1059 + 1015 1056 + 1015 1016 + 1015 1061 + 1017 1020 + 1017 1044 + 1017 1062 + 1017 1064 + 1018 1021 + 1018 1065 + 1019 1065 + 1019 1066 + 1020 1021 + 1020 1064 + 1020 1067 + 1021 1065 + 1021 1067 + 1021 1068 + 1022 1073 + 1023 1073 + 1023 1074 + 1024 1025 + 1024 1033 + 1024 1077 + 1024 1076 + 1025 1077 + 1025 1027 + 1025 1078 + 1026 1027 + 1026 1028 + 1026 1079 + 1027 1079 + 1027 1078 + 1028 1080 + 1028 1029 + 1028 1079 + 1029 1080 + 1030 1080 + 1031 1034 + 1031 1082 + 1031 1032 + 1032 1082 + 1032 1083 + 1032 1033 + 1033 1083 + 1033 1084 + 1033 1076 + 1034 1082 + 1034 1035 + 1034 1085 + 1034 1086 + 1035 1036 + 1035 1087 + 1035 1086 + 1036 1087 + 1036 1037 + 1037 1038 + 1037 1087 + 1037 1088 + 1038 1039 + 1038 1089 + 1038 1088 + 1039 1089 + 1039 1043 + 1039 1090 + 1040 1043 + 1040 1041 + 1040 1091 + 1041 1091 + 1041 1042 + 1043 1091 + 1043 1092 + 1043 1090 + 1044 1062 + 1044 1045 + 1044 1093 + 1045 1094 + 1045 1093 + 1045 1047 + 1046 1048 + 1046 1051 + 1046 1095 + 1047 1050 + 1047 1096 + 1047 1094 + 1048 1049 + 1048 1097 + 1048 1095 + 1049 1050 + 1049 1097 + 1049 1098 + 1050 1096 + 1050 1098 + 1051 1099 + 1051 1095 + 1051 1054 + 1052 1053 + 1052 1055 + 1052 1101 + 1053 1101 + 1053 1057 + 1053 1100 + 1054 1099 + 1054 1055 + 1054 1102 + 1055 1101 + 1055 1102 + 1056 1103 + 1056 1058 + 1056 1060 + 1056 1061 + 1057 1100 + 1057 1059 + 1057 1104 + 1058 1103 + 1058 1105 + 1058 1059 + 1059 1105 + 1059 1104 + 1060 1103 + 1060 1061 + 1060 1107 + 1060 1106 + 1061 1107 + 1062 1064 + 1062 1093 + 1062 1110 + 1062 1109 + 1063 1111 + 1063 1066 + 1063 1069 + 1064 1110 + 1064 1112 + 1064 1067 + 1065 1068 + 1065 1066 + 1065 1113 + 1066 1113 + 1066 1069 + 1067 1112 + 1067 1114 + 1067 1068 + 1068 1114 + 1068 1113 + 1069 1113 + 1069 1116 + 1069 1111 + 1069 1115 + 1070 1111 + 1070 1117 + 1071 1117 + 1072 1073 + 1072 1119 + 1072 1120 + 1073 1074 + 1073 1119 + 1073 1121 + 1074 1075 + 1074 1121 + 1076 1084 + 1076 1123 + 1076 1122 + 1076 1077 + 1077 1122 + 1077 1124 + 1077 1078 + 1078 1079 + 1078 1124 + 1078 1125 + 1079 1080 + 1079 1125 + 1080 1125 + 1080 1081 + 1082 1083 + 1082 1126 + 1082 1085 + 1083 1084 + 1083 1126 + 1084 1126 + 1084 1128 + 1084 1129 + 1084 1123 + 1085 1086 + 1085 1130 + 1085 1126 + 1085 1127 + 1086 1130 + 1086 1131 + 1086 1087 + 1087 1088 + 1087 1131 + 1088 1132 + 1088 1131 + 1088 1089 + 1089 1132 + 1089 1090 + 1089 1133 + 1090 1092 + 1090 1134 + 1090 1133 + 1091 1092 + 1092 1134 + 1092 1135 + 1092 1136 + 1093 1094 + 1093 1109 + 1093 1137 + 1094 1096 + 1094 1137 + 1094 1138 + 1095 1099 + 1095 1097 + 1095 1140 + 1096 1098 + 1096 1138 + 1096 1141 + 1097 1140 + 1097 1142 + 1097 1098 + 1098 1142 + 1098 1141 + 1099 1102 + 1099 1143 + 1099 1140 + 1100 1104 + 1100 1139 + 1100 1144 + 1100 1101 + 1101 1144 + 1101 1102 + 1101 1145 + 1102 1143 + 1102 1145 + 1103 1106 + 1103 1105 + 1103 1146 + 1104 1105 + 1104 1139 + 1104 1147 + 1105 1147 + 1105 1146 + 1106 1107 + 1106 1150 + 1106 1146 + 1106 1148 + 1107 1149 + 1107 1150 + 1107 1108 + 1108 1149 + 1109 1110 + 1109 1137 + 1109 1153 + 1110 1112 + 1110 1153 + 1110 1154 + 1111 1117 + 1111 1115 + 1111 1155 + 1112 1114 + 1112 1154 + 1112 1156 + 1113 1116 + 1113 1114 + 1113 1157 + 1114 1156 + 1114 1157 + 1115 1116 + 1115 1155 + 1115 1158 + 1116 1157 + 1116 1159 + 1116 1158 + 1117 1118 + 1117 1155 + 1117 1160 + 1118 1120 + 1118 1162 + 1118 1160 + 1118 1161 + 1119 1121 + 1119 1120 + 1119 1163 + 1120 1163 + 1120 1162 + 1120 1164 + 1121 1163 + 1122 1123 + 1122 1124 + 1122 1167 + 1123 1129 + 1123 1167 + 1123 1168 + 1124 1125 + 1124 1167 + 1124 1169 + 1126 1170 + 1126 1128 + 1126 1127 + 1127 1130 + 1127 1166 + 1127 1170 + 1128 1129 + 1128 1170 + 1128 1171 + 1129 1171 + 1129 1172 + 1129 1168 + 1130 1131 + 1130 1166 + 1130 1173 + 1131 1132 + 1131 1173 + 1132 1133 + 1132 1173 + 1132 1176 + 1133 1134 + 1133 1177 + 1133 1176 + 1133 1175 + 1134 1135 + 1134 1175 + 1134 1178 + 1135 1136 + 1135 1179 + 1135 1178 + 1137 1153 + 1137 1138 + 1137 1180 + 1138 1141 + 1138 1180 + 1138 1181 + 1139 1147 + 1139 1144 + 1139 1182 + 1139 1183 + 1140 1143 + 1140 1184 + 1140 1142 + 1141 1142 + 1141 1181 + 1141 1185 + 1142 1184 + 1142 1185 + 1143 1184 + 1143 1145 + 1143 1186 + 1144 1145 + 1144 1187 + 1144 1183 + 1145 1187 + 1145 1186 + 1146 1148 + 1146 1188 + 1146 1147 + 1147 1182 + 1147 1188 + 1148 1188 + 1148 1150 + 1148 1189 + 1149 1150 + 1149 1190 + 1149 1151 + 1149 1152 + 1150 1190 + 1150 1189 + 1151 1191 + 1151 1190 + 1151 1152 + 1151 1192 + 1153 1180 + 1153 1154 + 1153 1193 + 1153 1194 + 1154 1156 + 1154 1195 + 1154 1193 + 1155 1160 + 1155 1158 + 1155 1196 + 1156 1197 + 1156 1157 + 1156 1195 + 1157 1197 + 1157 1159 + 1158 1159 + 1158 1196 + 1158 1198 + 1159 1197 + 1159 1198 + 1159 1199 + 1160 1200 + 1160 1161 + 1160 1196 + 1161 1200 + 1161 1201 + 1161 1162 + 1162 1201 + 1162 1202 + 1162 1164 + 1163 1165 + 1163 1203 + 1163 1164 + 1164 1202 + 1164 1203 + 1166 1173 + 1166 1170 + 1166 1174 + 1166 1204 + 1167 1206 + 1167 1169 + 1167 1168 + 1168 1172 + 1168 1206 + 1168 1205 + 1170 1171 + 1170 1204 + 1170 1207 + 1171 1172 + 1171 1207 + 1171 1208 + 1172 1205 + 1172 1209 + 1172 1208 + 1173 1210 + 1173 1174 + 1173 1176 + 1174 1210 + 1174 1212 + 1174 1211 + 1174 1204 + 1175 1178 + 1175 1213 + 1175 1177 + 1176 1177 + 1176 1214 + 1176 1210 + 1177 1214 + 1177 1213 + 1178 1179 + 1178 1213 + 1178 1215 + 1180 1181 + 1180 1194 + 1180 1216 + 1181 1185 + 1181 1218 + 1181 1216 + 1182 1183 + 1182 1217 + 1182 1219 + 1182 1188 + 1183 1219 + 1183 1220 + 1183 1187 + 1184 1221 + 1184 1185 + 1184 1186 + 1185 1221 + 1185 1218 + 1186 1187 + 1186 1222 + 1186 1221 + 1187 1222 + 1187 1220 + 1188 1189 + 1188 1224 + 1188 1217 + 1189 1224 + 1189 1190 + 1189 1225 + 1190 1191 + 1190 1225 + 1191 1192 + 1191 1226 + 1191 1225 + 1193 1194 + 1193 1227 + 1193 1195 + 1194 1227 + 1194 1216 + 1194 1228 + 1195 1230 + 1195 1197 + 1195 1227 + 1196 1198 + 1196 1231 + 1196 1200 + 1197 1230 + 1197 1199 + 1197 1232 + 1198 1199 + 1198 1231 + 1198 1233 + 1199 1232 + 1199 1233 + 1200 1201 + 1200 1231 + 1200 1234 + 1201 1202 + 1201 1234 + 1201 1235 + 1202 1203 + 1202 1236 + 1202 1235 + 1203 1236 + 1204 1207 + 1204 1238 + 1204 1211 + 1205 1239 + 1205 1240 + 1205 1209 + 1205 1206 + 1207 1238 + 1207 1241 + 1207 1208 + 1208 1241 + 1208 1242 + 1208 1209 + 1209 1239 + 1209 1242 + 1210 1212 + 1210 1214 + 1210 1244 + 1211 1212 + 1211 1245 + 1211 1243 + 1211 1238 + 1212 1245 + 1212 1244 + 1213 1215 + 1213 1214 + 1213 1246 + 1214 1246 + 1214 1244 + 1216 1218 + 1216 1247 + 1216 1228 + 1217 1219 + 1217 1248 + 1217 1223 + 1217 1224 + 1218 1221 + 1218 1247 + 1218 1249 + 1219 1220 + 1219 1248 + 1219 1250 + 1220 1222 + 1220 1250 + 1220 1251 + 1221 1222 + 1221 1252 + 1221 1249 + 1222 1252 + 1222 1251 + 1223 1224 + 1223 1253 + 1223 1248 + 1223 1254 + 1224 1253 + 1224 1255 + 1224 1225 + 1225 1226 + 1225 1255 + 1227 1228 + 1227 1256 + 1227 1229 + 1227 1230 + 1228 1256 + 1228 1257 + 1228 1247 + 1229 1256 + 1229 1230 + 1229 1258 + 1229 1259 + 1229 1260 + 1230 1232 + 1230 1260 + 1231 1233 + 1231 1261 + 1231 1234 + 1232 1262 + 1232 1233 + 1232 1260 + 1233 1261 + 1233 1262 + 1233 1263 + 1234 1264 + 1234 1235 + 1234 1261 + 1235 1264 + 1235 1236 + 1235 1265 + 1236 1266 + 1236 1237 + 1236 1265 + 1238 1241 + 1238 1243 + 1238 1267 + 1239 1240 + 1239 1268 + 1239 1242 + 1241 1242 + 1241 1269 + 1241 1267 + 1242 1269 + 1242 1268 + 1243 1245 + 1243 1267 + 1243 1271 + 1243 1270 + 1244 1245 + 1244 1246 + 1244 1272 + 1245 1271 + 1245 1272 + 1247 1273 + 1247 1257 + 1247 1249 + 1248 1250 + 1248 1254 + 1248 1274 + 1249 1252 + 1249 1275 + 1249 1273 + 1250 1251 + 1250 1274 + 1250 1276 + 1251 1276 + 1251 1277 + 1251 1252 + 1252 1275 + 1252 1277 + 1253 1255 + 1253 1278 + 1253 1254 + 1254 1278 + 1254 1274 + 1254 1279 + 1255 1278 + 1256 1257 + 1256 1282 + 1256 1258 + 1257 1273 + 1257 1282 + 1257 1281 + 1258 1282 + 1258 1259 + 1258 1285 + 1258 1283 + 1259 1285 + 1259 1284 + 1259 1260 + 1260 1284 + 1260 1262 + 1260 1286 + 1261 1263 + 1261 1287 + 1261 1264 + 1262 1263 + 1262 1288 + 1262 1286 + 1263 1287 + 1263 1288 + 1264 1287 + 1264 1289 + 1264 1265 + 1265 1289 + 1265 1266 + 1267 1270 + 1267 1269 + 1267 1290 + 1268 1269 + 1269 1290 + 1270 1271 + 1270 1291 + 1270 1290 + 1271 1272 + 1271 1291 + 1271 1293 + 1273 1275 + 1273 1295 + 1273 1281 + 1274 1296 + 1274 1276 + 1274 1279 + 1275 1295 + 1275 1277 + 1275 1297 + 1276 1277 + 1276 1296 + 1276 1298 + 1277 1298 + 1277 1297 + 1277 1299 + 1278 1279 + 1278 1280 + 1278 1301 + 1279 1296 + 1279 1301 + 1279 1300 + 1281 1282 + 1281 1294 + 1281 1302 + 1281 1295 + 1282 1302 + 1282 1283 + 1282 1303 + 1283 1303 + 1283 1285 + 1283 1306 + 1283 1304 + 1284 1286 + 1284 1285 + 1284 1305 + 1284 1307 + 1285 1306 + 1285 1307 + 1286 1305 + 1286 1308 + 1286 1288 + 1287 1288 + 1287 1289 + 1287 1309 + 1288 1308 + 1288 1309 + 1290 1291 + 1291 1292 + 1291 1311 + 1291 1293 + 1292 1311 + 1292 1293 + 1292 1316 + 1292 1315 + 1292 1314 + 1294 1302 + 1294 1295 + 1294 1320 + 1294 1310 + 1294 1319 + 1295 1297 + 1295 1320 + 1296 1298 + 1296 1300 + 1296 1321 + 1297 1320 + 1297 1299 + 1297 1322 + 1298 1299 + 1298 1321 + 1298 1323 + 1299 1322 + 1299 1323 + 1300 1324 + 1300 1325 + 1300 1321 + 1300 1301 + 1301 1324 + 1302 1310 + 1302 1303 + 1302 1327 + 1303 1327 + 1303 1328 + 1303 1304 + 1304 1328 + 1304 1329 + 1304 1306 + 1304 1330 + 1305 1308 + 1305 1307 + 1305 1331 + 1306 1330 + 1306 1332 + 1306 1307 + 1307 1332 + 1307 1331 + 1308 1309 + 1308 1331 + 1308 1333 + 1310 1318 + 1310 1319 + 1310 1327 + 1310 1334 + 1311 1314 + 1312 1336 + 1313 1337 + 1313 1336 + 1313 1338 + 1314 1315 + 1314 1335 + 1314 1340 + 1315 1340 + 1315 1316 + 1315 1342 + 1315 1341 + 1317 1336 + 1317 1344 + 1318 1319 + 1318 1347 + 1318 1346 + 1318 1334 + 1319 1347 + 1319 1320 + 1319 1348 + 1320 1322 + 1320 1348 + 1321 1349 + 1321 1323 + 1321 1325 + 1322 1348 + 1322 1323 + 1322 1350 + 1323 1349 + 1323 1350 + 1324 1325 + 1324 1326 + 1324 1351 + 1325 1349 + 1325 1351 + 1327 1353 + 1327 1328 + 1327 1334 + 1327 1352 + 1328 1329 + 1328 1353 + 1328 1354 + 1329 1354 + 1329 1330 + 1329 1355 + 1329 1356 + 1330 1332 + 1330 1355 + 1330 1357 + 1331 1332 + 1331 1333 + 1331 1358 + 1332 1358 + 1332 1357 + 1334 1352 + 1334 1346 + 1334 1359 + 1335 1340 + 1335 1361 + 1336 1337 + 1336 1344 + 1336 1362 + 1337 1362 + 1337 1338 + 1337 1365 + 1338 1339 + 1338 1365 + 1338 1364 + 1338 1366 + 1339 1363 + 1339 1364 + 1340 1341 + 1340 1361 + 1340 1368 + 1341 1368 + 1341 1342 + 1341 1369 + 1341 1370 + 1342 1371 + 1342 1370 + 1343 1371 + 1343 1372 + 1344 1373 + 1344 1345 + 1344 1362 + 1345 1373 + 1345 1374 + 1345 1372 + 1346 1347 + 1346 1375 + 1346 1359 + 1346 1376 + 1347 1348 + 1347 1376 + 1347 1377 + 1348 1377 + 1348 1350 + 1349 1350 + 1349 1351 + 1349 1378 + 1350 1377 + 1350 1378 + 1352 1379 + 1352 1353 + 1352 1359 + 1353 1379 + 1353 1380 + 1353 1354 + 1354 1380 + 1354 1381 + 1354 1356 + 1355 1382 + 1355 1357 + 1355 1356 + 1356 1383 + 1356 1382 + 1356 1381 + 1357 1382 + 1357 1358 + 1357 1384 + 1359 1375 + 1359 1385 + 1359 1386 + 1359 1379 + 1360 1361 + 1360 1388 + 1361 1368 + 1361 1388 + 1361 1389 + 1362 1373 + 1362 1365 + 1362 1392 + 1363 1364 + 1363 1367 + 1363 1394 + 1363 1391 + 1363 1393 + 1364 1394 + 1364 1366 + 1364 1395 + 1365 1366 + 1365 1392 + 1365 1396 + 1366 1395 + 1366 1396 + 1367 1391 + 1368 1402 + 1368 1389 + 1368 1369 + 1369 1401 + 1369 1402 + 1369 1370 + 1370 1404 + 1370 1401 + 1370 1371 + 1371 1372 + 1371 1403 + 1371 1404 + 1372 1374 + 1372 1406 + 1372 1403 + 1373 1374 + 1373 1392 + 1373 1405 + 1373 1407 + 1374 1406 + 1374 1407 + 1375 1385 + 1375 1376 + 1375 1409 + 1376 1377 + 1376 1409 + 1376 1410 + 1377 1378 + 1377 1410 + 1379 1380 + 1379 1386 + 1379 1411 + 1380 1381 + 1380 1412 + 1380 1411 + 1381 1412 + 1381 1413 + 1381 1383 + 1382 1383 + 1382 1414 + 1382 1384 + 1383 1413 + 1383 1414 + 1385 1386 + 1385 1409 + 1385 1408 + 1385 1415 + 1386 1411 + 1386 1415 + 1386 1416 + 1387 1388 + 1387 1420 + 1387 1421 + 1388 1389 + 1388 1422 + 1388 1421 + 1389 1402 + 1389 1422 + 1390 1420 + 1390 1423 + 1391 1397 + 1391 1393 + 1391 1425 + 1392 1405 + 1392 1396 + 1392 1426 + 1393 1394 + 1393 1428 + 1393 1425 + 1393 1427 + 1394 1428 + 1394 1395 + 1395 1396 + 1395 1429 + 1395 1428 + 1396 1429 + 1396 1426 + 1397 1425 + 1397 1430 + 1398 1430 + 1398 1431 + 1399 1440 + 1399 1439 + 1400 1440 + 1400 1442 + 1401 1402 + 1401 1404 + 1401 1443 + 1402 1443 + 1402 1444 + 1402 1422 + 1403 1404 + 1403 1406 + 1403 1445 + 1404 1443 + 1404 1445 + 1404 1446 + 1405 1426 + 1405 1447 + 1405 1407 + 1406 1445 + 1406 1407 + 1406 1448 + 1407 1448 + 1407 1447 + 1408 1417 + 1408 1415 + 1408 1409 + 1408 1450 + 1408 1449 + 1409 1410 + 1409 1450 + 1411 1412 + 1411 1416 + 1411 1451 + 1412 1413 + 1412 1452 + 1412 1451 + 1413 1414 + 1413 1452 + 1413 1453 + 1415 1417 + 1415 1455 + 1415 1416 + 1416 1455 + 1416 1454 + 1416 1451 + 1417 1455 + 1417 1449 + 1417 1456 + 1418 1461 + 1419 1461 + 1420 1423 + 1420 1421 + 1420 1463 + 1421 1422 + 1421 1463 + 1421 1464 + 1422 1444 + 1422 1464 + 1423 1424 + 1423 1463 + 1423 1465 + 1423 1466 + 1424 1466 + 1424 1460 + 1425 1427 + 1425 1468 + 1425 1430 + 1426 1447 + 1426 1470 + 1426 1469 + 1426 1429 + 1427 1468 + 1427 1471 + 1427 1428 + 1428 1471 + 1428 1472 + 1428 1429 + 1429 1470 + 1429 1472 + 1430 1473 + 1430 1468 + 1430 1431 + 1431 1432 + 1431 1476 + 1431 1474 + 1431 1473 + 1432 1476 + 1432 1477 + 1433 1477 + 1433 1478 + 1434 1480 + 1434 1479 + 1434 1481 + 1435 1481 + 1435 1483 + 1435 1482 + 1436 1442 + 1436 1484 + 1437 1483 + 1437 1484 + 1438 1439 + 1438 1441 + 1439 1440 + 1439 1486 + 1439 1441 + 1440 1486 + 1440 1487 + 1440 1442 + 1441 1489 + 1441 1488 + 1441 1485 + 1441 1486 + 1442 1484 + 1442 1490 + 1442 1487 + 1442 1491 + 1443 1444 + 1443 1446 + 1443 1493 + 1444 1464 + 1444 1493 + 1444 1492 + 1445 1494 + 1445 1446 + 1445 1448 + 1446 1493 + 1446 1494 + 1446 1495 + 1447 1469 + 1447 1448 + 1447 1496 + 1448 1494 + 1448 1496 + 1449 1450 + 1449 1457 + 1449 1456 + 1449 1497 + 1451 1454 + 1451 1500 + 1451 1452 + 1452 1453 + 1452 1500 + 1452 1501 + 1453 1501 + 1454 1500 + 1454 1503 + 1454 1455 + 1455 1456 + 1455 1503 + 1455 1504 + 1456 1457 + 1456 1506 + 1456 1504 + 1457 1506 + 1457 1497 + 1457 1458 + 1457 1507 + 1458 1497 + 1458 1498 + 1458 1505 + 1458 1507 + 1459 1461 + 1459 1460 + 1459 1508 + 1460 1466 + 1460 1467 + 1460 1508 + 1461 1508 + 1461 1510 + 1461 1462 + 1463 1465 + 1463 1464 + 1463 1511 + 1464 1492 + 1464 1511 + 1465 1511 + 1465 1466 + 1465 1513 + 1465 1512 + 1466 1513 + 1466 1467 + 1466 1514 + 1467 1508 + 1467 1509 + 1467 1514 + 1468 1473 + 1468 1516 + 1468 1471 + 1469 1470 + 1469 1517 + 1469 1496 + 1470 1472 + 1470 1518 + 1470 1517 + 1471 1472 + 1471 1516 + 1471 1519 + 1472 1518 + 1472 1519 + 1473 1516 + 1473 1474 + 1473 1526 + 1474 1476 + 1474 1527 + 1474 1526 + 1475 1479 + 1475 1528 + 1475 1478 + 1476 1527 + 1476 1477 + 1476 1529 + 1477 1529 + 1477 1478 + 1477 1530 + 1478 1528 + 1478 1530 + 1479 1480 + 1479 1528 + 1479 1531 + 1479 1532 + 1480 1481 + 1480 1533 + 1480 1532 + 1481 1533 + 1481 1482 + 1481 1534 + 1482 1483 + 1482 1535 + 1482 1534 + 1483 1535 + 1483 1484 + 1483 1536 + 1484 1490 + 1484 1536 + 1485 1537 + 1485 1489 + 1486 1487 + 1486 1488 + 1486 1538 + 1487 1538 + 1487 1491 + 1488 1489 + 1488 1538 + 1488 1539 + 1489 1537 + 1489 1539 + 1489 1540 + 1490 1491 + 1490 1541 + 1490 1536 + 1491 1538 + 1491 1541 + 1491 1542 + 1492 1493 + 1492 1543 + 1492 1511 + 1493 1543 + 1493 1495 + 1493 1544 + 1494 1495 + 1494 1496 + 1494 1545 + 1495 1544 + 1495 1545 + 1495 1546 + 1496 1517 + 1496 1545 + 1496 1547 + 1497 1498 + 1498 1499 + 1498 1505 + 1498 1550 + 1499 1505 + 1499 1549 + 1499 1548 + 1499 1550 + 1499 1553 + 1500 1503 + 1500 1554 + 1500 1501 + 1500 1555 + 1501 1502 + 1501 1556 + 1501 1555 + 1502 1556 + 1502 1558 + 1503 1554 + 1503 1504 + 1503 1559 + 1504 1506 + 1504 1559 + 1505 1553 + 1505 1560 + 1505 1507 + 1506 1559 + 1506 1561 + 1506 1507 + 1507 1560 + 1507 1561 + 1508 1509 + 1508 1510 + 1508 1567 + 1509 1514 + 1509 1515 + 1509 1566 + 1509 1567 + 1511 1543 + 1511 1568 + 1511 1512 + 1512 1568 + 1512 1569 + 1512 1513 + 1513 1569 + 1513 1514 + 1513 1570 + 1514 1515 + 1514 1570 + 1515 1571 + 1515 1572 + 1515 1570 + 1515 1566 + 1516 1519 + 1516 1574 + 1516 1526 + 1517 1575 + 1517 1547 + 1517 1518 + 1518 1576 + 1518 1575 + 1518 1519 + 1519 1574 + 1519 1576 + 1520 1577 + 1521 1578 + 1521 1537 + 1522 1578 + 1522 1579 + 1522 1577 + 1523 1577 + 1523 1580 + 1523 1581 + 1524 1583 + 1524 1581 + 1525 1552 + 1526 1527 + 1526 1574 + 1526 1589 + 1527 1529 + 1527 1590 + 1527 1589 + 1528 1591 + 1528 1530 + 1528 1531 + 1529 1590 + 1529 1530 + 1529 1592 + 1530 1591 + 1530 1592 + 1531 1593 + 1531 1591 + 1531 1594 + 1531 1532 + 1532 1533 + 1532 1595 + 1532 1594 + 1533 1595 + 1533 1534 + 1534 1535 + 1534 1595 + 1534 1596 + 1535 1596 + 1535 1536 + 1535 1597 + 1536 1541 + 1536 1597 + 1537 1599 + 1537 1540 + 1537 1578 + 1537 1598 + 1538 1542 + 1538 1539 + 1538 1600 + 1539 1600 + 1539 1540 + 1539 1601 + 1540 1599 + 1540 1601 + 1540 1602 + 1541 1603 + 1541 1597 + 1541 1542 + 1542 1600 + 1542 1604 + 1542 1603 + 1543 1544 + 1543 1605 + 1543 1568 + 1544 1605 + 1544 1546 + 1544 1606 + 1545 1546 + 1545 1547 + 1545 1607 + 1546 1607 + 1546 1606 + 1547 1575 + 1547 1607 + 1547 1608 + 1548 1549 + 1548 1610 + 1548 1609 + 1548 1611 + 1548 1553 + 1549 1611 + 1549 1550 + 1549 1613 + 1549 1612 + 1551 1618 + 1551 1552 + 1551 1619 + 1552 1620 + 1552 1617 + 1552 1584 + 1552 1619 + 1553 1560 + 1553 1621 + 1553 1609 + 1554 1555 + 1554 1559 + 1554 1624 + 1555 1625 + 1555 1556 + 1555 1624 + 1556 1558 + 1556 1625 + 1556 1623 + 1557 1558 + 1557 1627 + 1558 1627 + 1558 1623 + 1558 1628 + 1559 1561 + 1559 1624 + 1559 1629 + 1560 1621 + 1560 1630 + 1560 1561 + 1561 1629 + 1561 1630 + 1562 1631 + 1562 1632 + 1563 1618 + 1563 1633 + 1564 1633 + 1564 1635 + 1564 1634 + 1565 1635 + 1565 1632 + 1565 1636 + 1566 1637 + 1566 1567 + 1566 1573 + 1566 1572 + 1568 1605 + 1568 1569 + 1568 1638 + 1569 1638 + 1569 1570 + 1569 1639 + 1570 1571 + 1570 1639 + 1571 1572 + 1571 1640 + 1571 1639 + 1572 1640 + 1572 1642 + 1572 1573 + 1573 1637 + 1573 1642 + 1573 1641 + 1574 1576 + 1574 1589 + 1574 1643 + 1575 1576 + 1575 1608 + 1575 1644 + 1576 1644 + 1576 1643 + 1576 1645 + 1577 1579 + 1577 1580 + 1577 1646 + 1578 1579 + 1578 1598 + 1578 1647 + 1579 1647 + 1579 1646 + 1580 1581 + 1580 1646 + 1580 1648 + 1581 1583 + 1581 1648 + 1581 1650 + 1582 1651 + 1582 1652 + 1582 1583 + 1583 1652 + 1583 1653 + 1583 1650 + 1584 1616 + 1584 1585 + 1584 1617 + 1585 1616 + 1585 1614 + 1585 1656 + 1585 1586 + 1585 1657 + 1586 1614 + 1586 1587 + 1586 1657 + 1586 1588 + 1586 1615 + 1587 1659 + 1587 1658 + 1587 1657 + 1587 1588 + 1589 1590 + 1589 1662 + 1589 1643 + 1590 1662 + 1590 1592 + 1590 1663 + 1591 1593 + 1591 1592 + 1591 1664 + 1592 1663 + 1592 1664 + 1593 1594 + 1593 1664 + 1593 1665 + 1594 1666 + 1594 1665 + 1594 1595 + 1595 1666 + 1595 1596 + 1595 1667 + 1596 1668 + 1596 1667 + 1596 1597 + 1597 1603 + 1597 1668 + 1598 1599 + 1598 1647 + 1598 1661 + 1598 1669 + 1599 1602 + 1599 1669 + 1600 1670 + 1600 1604 + 1600 1601 + 1601 1602 + 1601 1670 + 1602 1670 + 1602 1669 + 1602 1671 + 1603 1604 + 1603 1672 + 1603 1668 + 1604 1670 + 1604 1672 + 1604 1673 + 1605 1606 + 1605 1674 + 1605 1638 + 1606 1607 + 1606 1674 + 1606 1675 + 1607 1675 + 1607 1608 + 1607 1676 + 1608 1676 + 1608 1644 + 1608 1677 + 1609 1610 + 1609 1621 + 1609 1678 + 1609 1622 + 1610 1678 + 1610 1611 + 1610 1680 + 1610 1679 + 1611 1680 + 1611 1612 + 1611 1681 + 1612 1681 + 1612 1613 + 1612 1682 + 1614 1616 + 1614 1683 + 1614 1615 + 1614 1684 + 1616 1683 + 1616 1617 + 1616 1685 + 1617 1620 + 1617 1687 + 1617 1685 + 1618 1686 + 1618 1688 + 1618 1633 + 1618 1619 + 1619 1620 + 1619 1689 + 1619 1688 + 1620 1687 + 1620 1689 + 1621 1630 + 1621 1622 + 1621 1690 + 1622 1678 + 1622 1691 + 1622 1690 + 1623 1625 + 1623 1692 + 1623 1628 + 1624 1625 + 1624 1693 + 1624 1629 + 1625 1692 + 1625 1693 + 1626 1631 + 1626 1627 + 1626 1694 + 1627 1694 + 1627 1695 + 1627 1628 + 1628 1695 + 1628 1692 + 1628 1696 + 1629 1630 + 1629 1697 + 1629 1693 + 1630 1697 + 1630 1690 + 1631 1694 + 1631 1698 + 1631 1632 + 1631 1699 + 1632 1699 + 1632 1636 + 1633 1634 + 1633 1700 + 1633 1686 + 1634 1700 + 1634 1635 + 1634 1701 + 1635 1701 + 1635 1636 + 1635 1702 + 1636 1699 + 1636 1702 + 1637 1641 + 1638 1705 + 1638 1639 + 1638 1704 + 1638 1674 + 1639 1705 + 1639 1640 + 1640 1705 + 1640 1642 + 1640 1707 + 1641 1708 + 1641 1706 + 1641 1642 + 1641 1703 + 1642 1708 + 1642 1709 + 1642 1707 + 1643 1645 + 1643 1710 + 1643 1662 + 1644 1677 + 1644 1645 + 1644 1711 + 1645 1710 + 1645 1711 + 1646 1647 + 1646 1648 + 1646 1712 + 1647 1712 + 1647 1661 + 1648 1712 + 1648 1650 + 1648 1713 + 1649 1651 + 1649 1654 + 1649 1715 + 1650 1713 + 1650 1653 + 1650 1717 + 1651 1652 + 1651 1716 + 1651 1718 + 1651 1715 + 1652 1653 + 1652 1719 + 1652 1718 + 1653 1717 + 1653 1719 + 1654 1715 + 1654 1655 + 1654 1721 + 1654 1720 + 1655 1723 + 1655 1722 + 1655 1720 + 1656 1657 + 1656 1723 + 1657 1723 + 1657 1724 + 1657 1658 + 1658 1659 + 1658 1725 + 1658 1724 + 1659 1725 + 1660 1725 + 1661 1669 + 1661 1712 + 1661 1727 + 1662 1663 + 1662 1728 + 1662 1710 + 1663 1664 + 1663 1728 + 1663 1729 + 1664 1729 + 1664 1665 + 1665 1666 + 1665 1730 + 1665 1729 + 1666 1730 + 1666 1667 + 1666 1731 + 1667 1668 + 1667 1731 + 1667 1732 + 1668 1733 + 1668 1732 + 1668 1672 + 1669 1671 + 1669 1727 + 1669 1734 + 1670 1673 + 1670 1671 + 1670 1735 + 1671 1734 + 1671 1735 + 1672 1733 + 1672 1736 + 1672 1673 + 1673 1735 + 1673 1736 + 1674 1675 + 1674 1738 + 1674 1737 + 1674 1704 + 1675 1738 + 1675 1676 + 1675 1739 + 1676 1739 + 1676 1677 + 1676 1740 + 1677 1711 + 1677 1740 + 1678 1691 + 1678 1679 + 1678 1742 + 1678 1741 + 1679 1743 + 1679 1742 + 1679 1680 + 1680 1681 + 1680 1744 + 1680 1743 + 1681 1744 + 1681 1682 + 1683 1685 + 1683 1745 + 1683 1684 + 1685 1745 + 1685 1687 + 1685 1746 + 1685 1747 + 1686 1688 + 1686 1700 + 1686 1750 + 1687 1751 + 1687 1747 + 1687 1689 + 1688 1750 + 1688 1752 + 1688 1689 + 1689 1752 + 1689 1751 + 1690 1691 + 1690 1697 + 1690 1753 + 1691 1741 + 1691 1754 + 1691 1753 + 1692 1696 + 1692 1693 + 1692 1755 + 1693 1697 + 1693 1755 + 1694 1695 + 1694 1698 + 1694 1756 + 1695 1756 + 1695 1696 + 1695 1757 + 1696 1757 + 1696 1755 + 1697 1755 + 1697 1753 + 1697 1758 + 1698 1760 + 1698 1699 + 1698 1756 + 1698 1759 + 1699 1760 + 1699 1702 + 1700 1750 + 1700 1701 + 1700 1761 + 1701 1762 + 1701 1761 + 1701 1702 + 1702 1760 + 1702 1762 + 1703 1764 + 1703 1706 + 1704 1705 + 1704 1767 + 1704 1737 + 1704 1766 + 1705 1767 + 1705 1707 + 1706 1708 + 1706 1764 + 1706 1768 + 1707 1767 + 1707 1769 + 1707 1709 + 1708 1709 + 1708 1770 + 1708 1768 + 1709 1770 + 1709 1769 + 1710 1774 + 1710 1711 + 1710 1728 + 1711 1740 + 1711 1774 + 1711 1775 + 1712 1713 + 1712 1776 + 1712 1727 + 1713 1776 + 1713 1717 + 1714 1726 + 1714 1725 + 1715 1716 + 1715 1721 + 1715 1778 + 1716 1718 + 1716 1778 + 1716 1779 + 1717 1776 + 1717 1719 + 1717 1780 + 1718 1781 + 1718 1719 + 1718 1779 + 1719 1781 + 1719 1780 + 1720 1721 + 1720 1782 + 1720 1722 + 1721 1782 + 1721 1783 + 1721 1778 + 1722 1723 + 1722 1782 + 1722 1784 + 1722 1785 + 1723 1724 + 1723 1785 + 1724 1725 + 1724 1786 + 1724 1785 + 1725 1726 + 1725 1786 + 1725 1787 + 1726 1777 + 1726 1787 + 1726 1788 + 1726 1789 + 1727 1776 + 1727 1790 + 1727 1734 + 1728 1729 + 1728 1791 + 1728 1774 + 1729 1791 + 1729 1730 + 1729 1792 + 1730 1731 + 1730 1792 + 1730 1793 + 1731 1732 + 1731 1793 + 1731 1794 + 1732 1733 + 1732 1794 + 1733 1736 + 1733 1794 + 1733 1795 + 1734 1735 + 1734 1790 + 1734 1796 + 1735 1736 + 1735 1796 + 1735 1797 + 1736 1795 + 1736 1797 + 1737 1738 + 1737 1798 + 1737 1772 + 1737 1766 + 1738 1739 + 1738 1798 + 1739 1798 + 1739 1740 + 1739 1799 + 1740 1775 + 1740 1799 + 1740 1800 + 1741 1754 + 1741 1742 + 1741 1802 + 1741 1801 + 1742 1743 + 1742 1803 + 1742 1802 + 1743 1803 + 1743 1744 + 1743 1804 + 1745 1746 + 1745 1805 + 1746 1805 + 1746 1747 + 1746 1806 + 1747 1751 + 1747 1806 + 1747 1807 + 1748 1805 + 1748 1808 + 1749 1808 + 1749 1810 + 1750 1752 + 1750 1812 + 1750 1761 + 1751 1807 + 1751 1752 + 1751 1813 + 1752 1812 + 1752 1813 + 1753 1758 + 1753 1754 + 1753 1815 + 1754 1815 + 1754 1801 + 1754 1816 + 1755 1758 + 1755 1817 + 1755 1757 + 1756 1757 + 1756 1759 + 1756 1818 + 1757 1817 + 1757 1818 + 1758 1817 + 1758 1815 + 1758 1819 + 1759 1760 + 1759 1818 + 1759 1820 + 1760 1762 + 1760 1820 + 1760 1821 + 1761 1762 + 1761 1822 + 1761 1812 + 1762 1822 + 1762 1821 + 1763 1764 + 1763 1823 + 1764 1823 + 1764 1824 + 1764 1768 + 1765 1825 + 1765 1827 + 1765 1823 + 1766 1767 + 1766 1828 + 1766 1771 + 1766 1772 + 1767 1769 + 1767 1828 + 1768 1770 + 1768 1829 + 1768 1824 + 1769 1828 + 1769 1830 + 1769 1770 + 1770 1829 + 1770 1830 + 1771 1828 + 1771 1772 + 1771 1773 + 1771 1831 + 1772 1798 + 1772 1773 + 1772 1832 + 1773 1831 + 1773 1832 + 1773 1834 + 1773 1833 + 1774 1791 + 1774 1836 + 1774 1775 + 1775 1836 + 1775 1837 + 1775 1800 + 1776 1790 + 1776 1838 + 1776 1780 + 1777 1788 + 1777 1839 + 1778 1783 + 1778 1779 + 1778 1841 + 1779 1841 + 1779 1842 + 1779 1781 + 1780 1781 + 1780 1838 + 1780 1843 + 1781 1842 + 1781 1843 + 1782 1783 + 1782 1844 + 1782 1784 + 1783 1844 + 1783 1841 + 1783 1845 + 1784 1846 + 1784 1844 + 1784 1785 + 1785 1786 + 1785 1847 + 1785 1846 + 1786 1847 + 1786 1787 + 1786 1848 + 1787 1848 + 1787 1789 + 1788 1789 + 1788 1839 + 1788 1849 + 1789 1848 + 1789 1849 + 1789 1850 + 1790 1838 + 1790 1851 + 1790 1796 + 1791 1836 + 1791 1792 + 1791 1852 + 1792 1793 + 1792 1853 + 1792 1852 + 1793 1853 + 1793 1854 + 1793 1794 + 1794 1795 + 1794 1855 + 1794 1854 + 1795 1855 + 1795 1797 + 1795 1856 + 1796 1797 + 1796 1851 + 1796 1857 + 1797 1856 + 1797 1857 + 1798 1832 + 1798 1799 + 1798 1858 + 1799 1858 + 1799 1859 + 1799 1800 + 1800 1860 + 1800 1859 + 1800 1837 + 1801 1816 + 1801 1802 + 1801 1862 + 1801 1814 + 1802 1862 + 1802 1803 + 1802 1863 + 1803 1863 + 1803 1804 + 1805 1808 + 1805 1809 + 1805 1806 + 1805 1865 + 1806 1807 + 1806 1865 + 1806 1866 + 1807 1813 + 1807 1867 + 1807 1866 + 1808 1809 + 1808 1868 + 1808 1810 + 1808 1869 + 1809 1869 + 1809 1870 + 1809 1865 + 1810 1868 + 1810 1871 + 1810 1872 + 1810 1811 + 1812 1822 + 1812 1813 + 1812 1874 + 1813 1867 + 1813 1874 + 1813 1875 + 1814 1862 + 1814 1816 + 1814 1876 + 1814 1864 + 1814 1873 + 1815 1819 + 1815 1816 + 1815 1877 + 1816 1877 + 1816 1876 + 1817 1819 + 1817 1878 + 1817 1818 + 1818 1878 + 1818 1820 + 1818 1879 + 1819 1878 + 1819 1877 + 1819 1880 + 1820 1821 + 1820 1881 + 1820 1879 + 1821 1881 + 1821 1822 + 1821 1882 + 1822 1882 + 1822 1874 + 1823 1824 + 1823 1885 + 1823 1825 + 1824 1829 + 1824 1884 + 1824 1885 + 1825 1827 + 1825 1885 + 1825 1886 + 1826 1887 + 1826 1827 + 1827 1886 + 1827 1887 + 1827 1888 + 1828 1830 + 1828 1831 + 1828 1889 + 1829 1830 + 1829 1884 + 1829 1890 + 1830 1890 + 1830 1889 + 1831 1891 + 1831 1889 + 1831 1833 + 1832 1834 + 1832 1892 + 1832 1858 + 1833 1893 + 1833 1891 + 1833 1834 + 1833 1894 + 1834 1894 + 1834 1892 + 1834 1895 + 1835 1840 + 1835 1839 + 1836 1837 + 1836 1852 + 1836 1897 + 1837 1860 + 1837 1897 + 1837 1898 + 1838 1851 + 1838 1899 + 1838 1843 + 1839 1849 + 1839 1840 + 1839 1900 + 1840 1896 + 1840 1901 + 1840 1902 + 1840 1900 + 1841 1845 + 1841 1903 + 1841 1842 + 1842 1843 + 1842 1904 + 1842 1903 + 1843 1904 + 1843 1899 + 1844 1846 + 1844 1905 + 1844 1845 + 1844 1906 + 1845 1903 + 1845 1906 + 1846 1905 + 1846 1847 + 1846 1908 + 1847 1848 + 1847 1908 + 1848 1908 + 1848 1850 + 1848 1909 + 1849 1850 + 1849 1910 + 1849 1900 + 1849 1907 + 1850 1910 + 1850 1909 + 1851 1857 + 1851 1899 + 1851 1911 + 1852 1853 + 1852 1912 + 1852 1897 + 1853 1854 + 1853 1912 + 1854 1855 + 1854 1912 + 1854 1913 + 1855 1856 + 1855 1914 + 1855 1913 + 1856 1914 + 1856 1857 + 1856 1915 + 1857 1911 + 1857 1915 + 1858 1859 + 1858 1892 + 1858 1920 + 1859 1860 + 1859 1920 + 1859 1921 + 1860 1922 + 1860 1921 + 1860 1898 + 1861 1925 + 1861 1924 + 1862 1863 + 1862 1932 + 1862 1864 + 1864 1932 + 1864 1933 + 1864 1873 + 1865 1870 + 1865 1866 + 1865 1934 + 1866 1935 + 1866 1934 + 1866 1867 + 1867 1875 + 1867 1935 + 1868 1871 + 1868 1869 + 1868 1937 + 1868 1939 + 1869 1870 + 1869 1939 + 1869 1940 + 1870 1934 + 1870 1938 + 1870 1940 + 1871 1872 + 1871 1942 + 1871 1937 + 1871 1936 + 1873 1933 + 1873 1876 + 1873 1943 + 1873 1944 + 1874 1875 + 1874 1882 + 1874 1945 + 1875 1945 + 1875 1946 + 1875 1935 + 1876 1877 + 1876 1947 + 1876 1944 + 1877 1880 + 1877 1947 + 1878 1948 + 1878 1879 + 1878 1880 + 1879 1948 + 1879 1881 + 1880 1947 + 1880 1948 + 1880 1949 + 1881 1950 + 1881 1882 + 1881 1948 + 1882 1950 + 1882 1945 + 1883 1887 + 1883 1952 + 1884 1953 + 1884 1954 + 1884 1890 + 1884 1885 + 1885 1886 + 1885 1954 + 1886 1888 + 1886 1954 + 1886 1955 + 1887 1888 + 1887 1952 + 1887 1956 + 1888 1955 + 1888 1957 + 1888 1956 + 1889 1891 + 1889 1958 + 1889 1890 + 1890 1958 + 1890 1959 + 1890 1953 + 1891 1893 + 1891 1958 + 1891 1960 + 1891 1961 + 1892 1962 + 1892 1895 + 1892 1920 + 1893 1960 + 1893 1894 + 1893 1963 + 1894 1895 + 1894 1963 + 1894 1966 + 1894 1965 + 1895 1962 + 1895 1966 + 1895 1967 + 1896 1901 + 1897 1971 + 1897 1898 + 1897 1912 + 1898 1971 + 1898 1916 + 1898 1922 + 1899 1904 + 1899 1911 + 1899 1972 + 1900 1902 + 1900 1973 + 1900 1907 + 1901 1902 + 1901 1968 + 1901 1970 + 1901 1974 + 1902 1973 + 1902 1974 + 1903 1906 + 1903 1976 + 1903 1904 + 1904 1976 + 1904 1972 + 1905 1906 + 1905 1908 + 1905 1975 + 1905 1977 + 1906 1976 + 1906 1977 + 1907 1973 + 1907 1910 + 1907 1978 + 1908 1975 + 1908 1909 + 1908 1979 + 1909 1979 + 1909 1910 + 1909 1980 + 1910 1978 + 1910 1980 + 1911 1915 + 1911 1981 + 1911 1972 + 1912 1913 + 1912 1982 + 1912 1971 + 1913 1982 + 1913 1983 + 1913 1914 + 1914 1984 + 1914 1983 + 1914 1915 + 1915 1984 + 1915 1981 + 1916 1923 + 1916 1922 + 1916 1971 + 1916 1985 + 1917 1919 + 1918 1919 + 1918 1924 + 1918 1993 + 1919 1993 + 1919 1991 + 1919 1992 + 1919 1994 + 1920 1962 + 1920 1996 + 1920 1921 + 1921 1922 + 1921 1997 + 1921 1996 + 1922 1923 + 1922 1997 + 1922 1998 + 1923 1987 + 1923 1986 + 1923 1985 + 1923 1999 + 1923 1998 + 1924 1925 + 1924 1993 + 1924 1995 + 1924 2002 + 1925 1926 + 1925 2001 + 1925 2002 + 1925 2003 + 1926 2001 + 1926 2004 + 1927 1928 + 1927 2005 + 1927 2004 + 1928 1930 + 1928 1929 + 1928 2005 + 1928 2006 + 1929 1930 + 1929 2007 + 1929 2006 + 1929 2008 + 1929 2009 + 1931 2011 + 1931 2012 + 1932 1933 + 1933 2015 + 1933 1943 + 1933 2016 + 1934 1935 + 1934 2017 + 1934 1938 + 1935 1946 + 1935 2017 + 1936 1937 + 1936 2019 + 1936 1941 + 1936 1942 + 1937 2019 + 1937 1939 + 1937 2020 + 1938 1940 + 1938 2021 + 1938 2017 + 1938 2018 + 1939 1940 + 1939 2022 + 1939 2020 + 1940 2022 + 1940 2021 + 1941 1942 + 1941 2019 + 1941 2023 + 1941 2024 + 1941 2025 + 1943 2016 + 1943 2026 + 1943 1944 + 1944 1947 + 1944 2026 + 1944 2027 + 1945 1946 + 1945 2028 + 1945 1950 + 1946 2017 + 1946 2028 + 1946 2029 + 1947 2030 + 1947 1949 + 1947 2027 + 1948 1949 + 1948 2031 + 1948 1950 + 1949 2030 + 1949 2031 + 1950 2031 + 1950 2032 + 1950 2028 + 1951 1952 + 1951 2033 + 1952 2033 + 1952 1956 + 1952 2035 + 1953 1954 + 1953 1959 + 1953 2036 + 1954 2036 + 1954 1955 + 1954 2037 + 1955 1957 + 1955 2038 + 1955 2037 + 1956 2035 + 1956 1957 + 1956 2039 + 1957 2039 + 1957 2038 + 1958 1959 + 1958 1961 + 1958 2040 + 1959 2040 + 1959 2041 + 1959 2036 + 1960 1961 + 1960 1963 + 1960 1964 + 1960 2042 + 1961 2042 + 1961 2040 + 1962 1996 + 1962 1967 + 1962 2044 + 1963 1964 + 1963 1965 + 1963 2045 + 1964 2042 + 1964 2046 + 1964 2043 + 1964 2045 + 1965 1966 + 1965 2045 + 1965 2048 + 1966 2048 + 1966 1967 + 1966 2049 + 1967 2049 + 1967 2044 + 1967 2047 + 1968 1970 + 1968 2051 + 1969 2051 + 1969 2052 + 1970 2054 + 1970 1974 + 1970 2051 + 1970 2053 + 1971 1982 + 1971 1985 + 1971 2055 + 1972 1976 + 1972 2056 + 1972 1981 + 1973 1974 + 1973 2057 + 1973 1978 + 1974 2054 + 1974 2057 + 1975 1977 + 1975 1979 + 1975 2058 + 1976 2056 + 1976 1977 + 1976 2059 + 1977 2059 + 1977 2058 + 1978 2060 + 1978 1980 + 1978 2057 + 1979 1980 + 1979 2061 + 1979 2058 + 1980 2060 + 1980 2061 + 1981 2056 + 1981 2062 + 1981 1984 + 1982 1983 + 1982 2055 + 1982 2063 + 1983 1984 + 1983 2063 + 1983 2064 + 1984 2062 + 1984 2064 + 1985 2055 + 1985 1987 + 1985 2065 + 1986 1987 + 1986 1999 + 1986 2066 + 1986 2050 + 1986 2000 + 1987 2065 + 1987 2067 + 1987 2066 + 1988 2069 + 1989 2052 + 1989 2068 + 1989 2070 + 1990 2071 + 1990 2070 + 1990 2069 + 1991 2069 + 1991 1992 + 1991 2072 + 1992 1994 + 1992 2074 + 1992 2073 + 1992 2072 + 1993 1995 + 1993 1994 + 1993 2075 + 1994 2074 + 1994 2075 + 1995 2002 + 1995 2076 + 1995 2075 + 1996 1997 + 1996 2077 + 1996 2044 + 1997 1998 + 1997 2077 + 1997 2078 + 1998 1999 + 1998 2078 + 1999 2080 + 1999 2079 + 1999 2078 + 1999 2000 + 2000 2081 + 2000 2080 + 2000 2050 + 2001 2004 + 2001 2083 + 2001 2003 + 2002 2076 + 2002 2003 + 2002 2084 + 2003 2084 + 2003 2083 + 2004 2005 + 2004 2083 + 2004 2085 + 2005 2006 + 2005 2086 + 2005 2085 + 2006 2007 + 2006 2087 + 2006 2086 + 2007 2087 + 2007 2008 + 2007 2089 + 2007 2088 + 2008 2009 + 2008 2090 + 2008 2089 + 2010 2094 + 2010 2012 + 2010 2095 + 2011 2013 + 2011 2012 + 2011 2097 + 2011 2096 + 2012 2095 + 2012 2097 + 2013 2096 + 2014 2100 + 2014 2101 + 2015 2016 + 2016 2026 + 2016 2105 + 2016 2106 + 2017 2029 + 2017 2018 + 2017 2107 + 2018 2107 + 2018 2108 + 2018 2021 + 2018 2109 + 2019 2023 + 2019 2020 + 2019 2110 + 2020 2110 + 2020 2022 + 2020 2111 + 2021 2022 + 2021 2109 + 2021 2112 + 2022 2112 + 2022 2111 + 2023 2024 + 2023 2113 + 2023 2110 + 2024 2113 + 2024 2114 + 2024 2025 + 2026 2106 + 2026 2115 + 2026 2116 + 2026 2027 + 2027 2116 + 2027 2030 + 2027 2117 + 2028 2032 + 2028 2118 + 2028 2029 + 2029 2107 + 2029 2119 + 2029 2118 + 2030 2120 + 2030 2031 + 2030 2117 + 2031 2120 + 2031 2032 + 2032 2118 + 2032 2121 + 2032 2120 + 2033 2122 + 2033 2034 + 2033 2035 + 2035 2039 + 2035 2123 + 2035 2122 + 2036 2037 + 2036 2124 + 2036 2041 + 2037 2038 + 2037 2124 + 2037 2125 + 2038 2039 + 2038 2126 + 2038 2125 + 2039 2123 + 2039 2126 + 2040 2041 + 2040 2127 + 2040 2042 + 2041 2127 + 2041 2128 + 2041 2124 + 2042 2127 + 2042 2043 + 2042 2129 + 2044 2077 + 2044 2130 + 2044 2047 + 2045 2046 + 2045 2048 + 2045 2132 + 2046 2132 + 2047 2130 + 2047 2134 + 2047 2049 + 2047 2131 + 2048 2132 + 2048 2049 + 2048 2135 + 2049 2134 + 2049 2135 + 2050 2066 + 2050 2136 + 2050 2081 + 2050 2082 + 2051 2137 + 2051 2053 + 2051 2052 + 2052 2137 + 2052 2138 + 2052 2068 + 2053 2137 + 2053 2054 + 2053 2139 + 2054 2057 + 2054 2139 + 2054 2140 + 2055 2063 + 2055 2065 + 2055 2141 + 2056 2062 + 2056 2059 + 2056 2142 + 2057 2140 + 2057 2143 + 2057 2060 + 2058 2061 + 2058 2059 + 2058 2144 + 2059 2142 + 2059 2144 + 2060 2143 + 2060 2145 + 2060 2061 + 2061 2144 + 2061 2145 + 2062 2064 + 2062 2142 + 2062 2146 + 2063 2064 + 2063 2147 + 2063 2141 + 2064 2147 + 2064 2146 + 2064 2148 + 2065 2067 + 2065 2141 + 2065 2149 + 2066 2136 + 2066 2150 + 2066 2067 + 2067 2149 + 2067 2150 + 2068 2152 + 2068 2151 + 2068 2138 + 2068 2070 + 2069 2071 + 2069 2072 + 2069 2153 + 2070 2071 + 2070 2154 + 2070 2152 + 2071 2154 + 2071 2153 + 2071 2155 + 2072 2073 + 2072 2153 + 2072 2156 + 2073 2074 + 2073 2156 + 2073 2157 + 2074 2075 + 2074 2158 + 2074 2157 + 2075 2158 + 2075 2076 + 2076 2158 + 2076 2084 + 2076 2159 + 2077 2130 + 2077 2078 + 2077 2160 + 2078 2160 + 2078 2079 + 2079 2080 + 2079 2161 + 2079 2160 + 2080 2081 + 2080 2161 + 2080 2162 + 2081 2162 + 2081 2164 + 2081 2082 + 2081 2163 + 2082 2163 + 2082 2136 + 2082 2165 + 2083 2085 + 2083 2166 + 2083 2084 + 2084 2166 + 2084 2159 + 2084 2167 + 2085 2086 + 2085 2168 + 2085 2166 + 2086 2168 + 2086 2087 + 2086 2169 + 2087 2088 + 2087 2170 + 2087 2169 + 2088 2089 + 2088 2170 + 2088 2171 + 2089 2090 + 2089 2172 + 2089 2171 + 2091 2100 + 2091 2099 + 2091 2174 + 2092 2175 + 2092 2174 + 2093 2094 + 2093 2175 + 2093 2176 + 2094 2176 + 2094 2095 + 2094 2177 + 2095 2177 + 2095 2097 + 2095 2178 + 2096 2098 + 2096 2179 + 2096 2097 + 2097 2179 + 2097 2180 + 2097 2178 + 2098 2179 + 2099 2174 + 2099 2183 + 2099 2100 + 2099 2182 + 2100 2183 + 2100 2184 + 2100 2101 + 2101 2184 + 2101 2173 + 2101 2104 + 2102 2187 + 2102 2186 + 2103 2186 + 2104 2173 + 2105 2106 + 2105 2193 + 2106 2115 + 2106 2195 + 2106 2193 + 2107 2108 + 2107 2119 + 2107 2196 + 2108 2198 + 2108 2109 + 2108 2196 + 2108 2197 + 2109 2198 + 2109 2112 + 2109 2199 + 2110 2111 + 2110 2200 + 2110 2113 + 2111 2200 + 2111 2112 + 2111 2201 + 2112 2199 + 2112 2201 + 2113 2114 + 2113 2202 + 2113 2200 + 2115 2195 + 2115 2116 + 2115 2203 + 2116 2117 + 2116 2203 + 2117 2203 + 2117 2205 + 2117 2120 + 2118 2121 + 2118 2206 + 2118 2119 + 2119 2206 + 2119 2204 + 2119 2196 + 2120 2207 + 2120 2121 + 2120 2205 + 2121 2207 + 2121 2206 + 2122 2123 + 2123 2208 + 2123 2126 + 2123 2209 + 2124 2128 + 2124 2210 + 2124 2125 + 2125 2210 + 2125 2211 + 2125 2126 + 2126 2211 + 2126 2209 + 2127 2128 + 2127 2212 + 2127 2129 + 2128 2212 + 2128 2210 + 2130 2160 + 2130 2213 + 2130 2131 + 2131 2213 + 2131 2134 + 2131 2215 + 2131 2214 + 2132 2133 + 2132 2216 + 2132 2135 + 2134 2215 + 2134 2135 + 2134 2217 + 2135 2216 + 2135 2217 + 2136 2150 + 2136 2219 + 2136 2165 + 2137 2138 + 2137 2139 + 2137 2220 + 2138 2151 + 2138 2221 + 2138 2220 + 2139 2140 + 2139 2220 + 2139 2222 + 2139 2223 + 2140 2143 + 2140 2224 + 2140 2222 + 2141 2147 + 2141 2149 + 2141 2225 + 2142 2146 + 2142 2144 + 2142 2226 + 2143 2145 + 2143 2224 + 2143 2227 + 2144 2145 + 2144 2228 + 2144 2226 + 2145 2228 + 2145 2227 + 2146 2148 + 2146 2226 + 2146 2229 + 2147 2148 + 2147 2225 + 2147 2230 + 2148 2229 + 2148 2230 + 2149 2150 + 2149 2225 + 2149 2231 + 2150 2219 + 2150 2231 + 2150 2232 + 2151 2152 + 2151 2233 + 2151 2221 + 2152 2154 + 2152 2233 + 2153 2156 + 2153 2234 + 2153 2155 + 2154 2155 + 2154 2233 + 2154 2235 + 2155 2234 + 2155 2235 + 2156 2157 + 2156 2234 + 2156 2237 + 2157 2158 + 2157 2237 + 2157 2238 + 2158 2238 + 2158 2239 + 2158 2159 + 2159 2236 + 2159 2239 + 2159 2167 + 2160 2213 + 2160 2161 + 2160 2240 + 2161 2242 + 2161 2240 + 2161 2162 + 2161 2243 + 2162 2164 + 2162 2244 + 2162 2243 + 2163 2164 + 2163 2245 + 2163 2165 + 2163 2241 + 2164 2244 + 2164 2245 + 2164 2246 + 2165 2219 + 2165 2241 + 2165 2249 + 2165 2248 + 2166 2167 + 2166 2168 + 2166 2250 + 2167 2250 + 2167 2251 + 2167 2236 + 2168 2169 + 2168 2252 + 2168 2250 + 2169 2170 + 2169 2252 + 2169 2253 + 2170 2171 + 2170 2254 + 2170 2253 + 2171 2172 + 2171 2254 + 2171 2255 + 2173 2184 + 2173 2192 + 2173 2185 + 2173 2257 + 2173 2256 + 2174 2175 + 2174 2182 + 2174 2258 + 2175 2259 + 2175 2258 + 2175 2176 + 2176 2177 + 2176 2260 + 2176 2259 + 2177 2178 + 2177 2261 + 2177 2260 + 2178 2180 + 2178 2261 + 2178 2262 + 2179 2180 + 2179 2263 + 2179 2181 + 2180 2263 + 2180 2262 + 2181 2263 + 2182 2265 + 2182 2183 + 2182 2258 + 2182 2266 + 2183 2184 + 2183 2265 + 2183 2267 + 2184 2185 + 2184 2267 + 2186 2187 + 2186 2190 + 2186 2269 + 2186 2191 + 2186 2189 + 2187 2188 + 2187 2270 + 2187 2269 + 2189 2191 + 2189 2190 + 2189 2273 + 2189 2272 + 2191 2269 + 2191 2274 + 2191 2272 + 2192 2256 + 2192 2277 + 2193 2194 + 2193 2280 + 2193 2275 + 2193 2195 + 2194 2280 + 2194 2279 + 2195 2275 + 2195 2281 + 2195 2203 + 2196 2197 + 2196 2204 + 2196 2282 + 2197 2284 + 2197 2285 + 2197 2198 + 2197 2282 + 2198 2285 + 2198 2199 + 2198 2286 + 2199 2201 + 2199 2286 + 2200 2202 + 2200 2201 + 2200 2287 + 2201 2287 + 2201 2286 + 2203 2205 + 2203 2281 + 2203 2288 + 2204 2206 + 2204 2289 + 2204 2283 + 2204 2282 + 2205 2290 + 2205 2207 + 2205 2288 + 2206 2207 + 2206 2291 + 2206 2289 + 2207 2290 + 2207 2291 + 2208 2209 + 2209 2211 + 2209 2292 + 2209 2293 + 2210 2294 + 2210 2211 + 2210 2212 + 2211 2293 + 2211 2294 + 2213 2240 + 2213 2295 + 2213 2214 + 2214 2295 + 2214 2296 + 2214 2297 + 2214 2215 + 2215 2297 + 2215 2298 + 2215 2217 + 2216 2299 + 2216 2217 + 2217 2298 + 2217 2299 + 2218 2299 + 2218 2300 + 2219 2232 + 2219 2302 + 2219 2248 + 2220 2221 + 2220 2303 + 2220 2223 + 2221 2233 + 2221 2303 + 2221 2304 + 2222 2223 + 2222 2305 + 2222 2224 + 2223 2303 + 2223 2305 + 2224 2306 + 2224 2227 + 2224 2305 + 2225 2230 + 2225 2307 + 2225 2231 + 2226 2228 + 2226 2229 + 2226 2308 + 2227 2306 + 2227 2228 + 2227 2309 + 2228 2309 + 2228 2308 + 2229 2230 + 2229 2308 + 2229 2310 + 2230 2307 + 2230 2310 + 2230 2311 + 2231 2232 + 2231 2307 + 2231 2312 + 2232 2302 + 2232 2312 + 2233 2304 + 2233 2235 + 2233 2313 + 2234 2315 + 2234 2235 + 2234 2237 + 2235 2315 + 2235 2313 + 2236 2239 + 2236 2251 + 2236 2314 + 2236 2316 + 2237 2238 + 2237 2317 + 2237 2315 + 2238 2239 + 2238 2318 + 2238 2317 + 2239 2318 + 2239 2316 + 2240 2242 + 2240 2295 + 2240 2319 + 2241 2249 + 2241 2245 + 2241 2320 + 2241 2247 + 2242 2319 + 2242 2243 + 2242 2322 + 2242 2321 + 2243 2244 + 2243 2322 + 2244 2246 + 2244 2322 + 2244 2323 + 2245 2246 + 2245 2324 + 2245 2247 + 2246 2324 + 2246 2323 + 2248 2302 + 2248 2325 + 2248 2249 + 2249 2325 + 2249 2326 + 2249 2320 + 2250 2251 + 2250 2328 + 2250 2252 + 2251 2328 + 2251 2327 + 2251 2314 + 2252 2328 + 2252 2253 + 2252 2330 + 2253 2254 + 2253 2331 + 2253 2330 + 2254 2332 + 2254 2331 + 2254 2255 + 2256 2277 + 2256 2257 + 2256 2333 + 2258 2259 + 2258 2266 + 2258 2335 + 2259 2335 + 2259 2260 + 2259 2336 + 2260 2261 + 2260 2336 + 2261 2262 + 2261 2337 + 2261 2336 + 2262 2263 + 2262 2337 + 2262 2338 + 2263 2338 + 2263 2264 + 2263 2339 + 2264 2339 + 2265 2267 + 2265 2266 + 2265 2340 + 2266 2340 + 2266 2335 + 2266 2341 + 2267 2342 + 2267 2340 + 2268 2342 + 2268 2343 + 2269 2270 + 2269 2274 + 2269 2345 + 2271 2346 + 2271 2339 + 2271 2344 + 2272 2274 + 2272 2347 + 2272 2273 + 2272 2348 + 2273 2346 + 2273 2348 + 2274 2347 + 2274 2345 + 2274 2349 + 2275 2280 + 2275 2281 + 2275 2352 + 2276 2277 + 2276 2353 + 2277 2333 + 2277 2351 + 2277 2354 + 2277 2353 + 2278 2355 + 2278 2279 + 2278 2353 + 2279 2355 + 2279 2280 + 2279 2356 + 2280 2352 + 2280 2356 + 2280 2357 + 2281 2352 + 2281 2358 + 2281 2288 + 2282 2283 + 2282 2360 + 2282 2284 + 2283 2289 + 2283 2360 + 2283 2359 + 2283 2361 + 2284 2285 + 2284 2363 + 2284 2360 + 2285 2363 + 2285 2364 + 2285 2286 + 2286 2364 + 2286 2287 + 2288 2365 + 2288 2290 + 2288 2358 + 2289 2359 + 2289 2291 + 2289 2366 + 2290 2291 + 2290 2365 + 2290 2367 + 2291 2366 + 2291 2367 + 2292 2293 + 2292 2369 + 2293 2369 + 2293 2294 + 2293 2370 + 2295 2319 + 2295 2371 + 2295 2296 + 2296 2297 + 2296 2371 + 2296 2372 + 2296 2373 + 2297 2298 + 2297 2373 + 2298 2299 + 2298 2373 + 2298 2374 + 2299 2374 + 2299 2300 + 2300 2301 + 2300 2374 + 2300 2375 + 2302 2325 + 2302 2312 + 2302 2376 + 2303 2305 + 2303 2304 + 2303 2377 + 2304 2377 + 2304 2313 + 2304 2378 + 2305 2306 + 2305 2377 + 2305 2379 + 2306 2309 + 2306 2380 + 2306 2379 + 2307 2311 + 2307 2381 + 2307 2312 + 2308 2382 + 2308 2310 + 2308 2309 + 2309 2380 + 2309 2382 + 2310 2382 + 2310 2311 + 2310 2383 + 2311 2381 + 2311 2383 + 2312 2376 + 2312 2381 + 2312 2384 + 2313 2315 + 2313 2378 + 2313 2385 + 2314 2327 + 2314 2329 + 2314 2316 + 2314 2386 + 2315 2387 + 2315 2385 + 2315 2317 + 2316 2386 + 2316 2388 + 2316 2318 + 2317 2318 + 2317 2389 + 2317 2387 + 2318 2389 + 2318 2388 + 2319 2371 + 2319 2321 + 2319 2390 + 2320 2326 + 2320 2391 + 2321 2322 + 2321 2390 + 2321 2393 + 2322 2394 + 2322 2393 + 2322 2323 + 2323 2395 + 2323 2394 + 2323 2324 + 2324 2395 + 2325 2326 + 2325 2376 + 2325 2397 + 2326 2391 + 2326 2397 + 2326 2398 + 2327 2328 + 2327 2329 + 2327 2400 + 2328 2330 + 2328 2401 + 2328 2400 + 2329 2386 + 2329 2400 + 2329 2402 + 2329 2403 + 2329 2399 + 2330 2331 + 2330 2401 + 2330 2404 + 2331 2332 + 2331 2404 + 2333 2351 + 2334 2343 + 2334 2407 + 2335 2336 + 2335 2341 + 2335 2408 + 2336 2337 + 2336 2408 + 2336 2409 + 2337 2338 + 2337 2410 + 2337 2409 + 2338 2410 + 2338 2339 + 2338 2411 + 2339 2344 + 2339 2411 + 2340 2412 + 2340 2342 + 2340 2341 + 2341 2408 + 2341 2413 + 2341 2412 + 2342 2412 + 2342 2414 + 2342 2343 + 2343 2407 + 2343 2415 + 2343 2414 + 2344 2411 + 2344 2416 + 2344 2346 + 2345 2349 + 2346 2416 + 2346 2348 + 2346 2419 + 2347 2420 + 2347 2348 + 2347 2349 + 2347 2350 + 2348 2420 + 2348 2419 + 2349 2350 + 2349 2417 + 2349 2421 + 2350 2420 + 2350 2422 + 2350 2421 + 2351 2354 + 2351 2424 + 2351 2406 + 2352 2358 + 2352 2357 + 2352 2425 + 2353 2354 + 2353 2426 + 2353 2355 + 2354 2426 + 2354 2424 + 2354 2427 + 2355 2426 + 2355 2356 + 2355 2428 + 2356 2357 + 2356 2429 + 2356 2428 + 2357 2429 + 2357 2425 + 2357 2430 + 2358 2365 + 2358 2425 + 2358 2431 + 2359 2361 + 2359 2362 + 2359 2432 + 2359 2366 + 2360 2361 + 2360 2363 + 2360 2434 + 2361 2362 + 2361 2434 + 2361 2435 + 2362 2433 + 2362 2435 + 2362 2432 + 2363 2364 + 2363 2434 + 2363 2436 + 2365 2431 + 2365 2437 + 2365 2367 + 2366 2432 + 2366 2367 + 2366 2438 + 2367 2437 + 2367 2438 + 2368 2369 + 2368 2442 + 2369 2370 + 2369 2443 + 2369 2442 + 2370 2443 + 2371 2445 + 2371 2372 + 2371 2390 + 2372 2373 + 2372 2445 + 2372 2447 + 2373 2374 + 2373 2448 + 2373 2447 + 2374 2448 + 2374 2375 + 2376 2449 + 2376 2397 + 2376 2384 + 2377 2450 + 2377 2379 + 2377 2378 + 2378 2385 + 2378 2451 + 2378 2450 + 2379 2450 + 2379 2380 + 2379 2452 + 2380 2382 + 2380 2452 + 2380 2453 + 2381 2384 + 2381 2383 + 2381 2454 + 2382 2455 + 2382 2383 + 2382 2453 + 2383 2455 + 2383 2454 + 2384 2449 + 2384 2454 + 2384 2456 + 2385 2387 + 2385 2451 + 2385 2458 + 2386 2388 + 2386 2399 + 2386 2459 + 2387 2389 + 2387 2460 + 2387 2458 + 2388 2461 + 2388 2389 + 2388 2459 + 2389 2460 + 2389 2461 + 2390 2445 + 2390 2393 + 2390 2462 + 2390 2446 + 2391 2392 + 2391 2398 + 2391 2464 + 2392 2464 + 2393 2394 + 2393 2462 + 2393 2466 + 2394 2395 + 2394 2466 + 2394 2467 + 2395 2468 + 2395 2467 + 2395 2396 + 2396 2468 + 2397 2449 + 2397 2470 + 2397 2398 + 2398 2470 + 2398 2471 + 2398 2464 + 2399 2459 + 2399 2403 + 2399 2457 + 2399 2472 + 2400 2401 + 2400 2474 + 2400 2402 + 2401 2404 + 2401 2474 + 2402 2403 + 2402 2474 + 2402 2475 + 2403 2475 + 2403 2472 + 2404 2474 + 2405 2477 + 2405 2407 + 2406 2477 + 2406 2478 + 2406 2424 + 2407 2477 + 2407 2415 + 2407 2479 + 2408 2480 + 2408 2413 + 2408 2409 + 2409 2410 + 2409 2481 + 2409 2480 + 2410 2481 + 2410 2411 + 2410 2482 + 2411 2416 + 2411 2482 + 2412 2413 + 2412 2414 + 2412 2484 + 2413 2480 + 2413 2484 + 2413 2483 + 2414 2484 + 2414 2485 + 2414 2415 + 2415 2485 + 2415 2486 + 2415 2479 + 2416 2482 + 2416 2419 + 2416 2487 + 2417 2421 + 2417 2488 + 2418 2489 + 2418 2488 + 2419 2420 + 2419 2487 + 2419 2490 + 2420 2422 + 2420 2490 + 2421 2488 + 2421 2491 + 2421 2422 + 2422 2491 + 2422 2492 + 2422 2490 + 2423 2489 + 2423 2439 + 2423 2493 + 2424 2478 + 2424 2494 + 2424 2427 + 2425 2495 + 2425 2431 + 2425 2430 + 2426 2428 + 2426 2427 + 2426 2496 + 2427 2494 + 2427 2496 + 2428 2497 + 2428 2429 + 2428 2496 + 2429 2497 + 2429 2430 + 2430 2497 + 2430 2498 + 2430 2495 + 2431 2437 + 2431 2495 + 2431 2499 + 2432 2433 + 2432 2501 + 2432 2438 + 2433 2435 + 2433 2502 + 2433 2503 + 2433 2501 + 2434 2436 + 2434 2435 + 2434 2504 + 2435 2504 + 2435 2503 + 2437 2438 + 2437 2499 + 2437 2505 + 2438 2505 + 2438 2506 + 2438 2501 + 2439 2493 + 2439 2440 + 2439 2509 + 2439 2507 + 2440 2510 + 2440 2509 + 2441 2510 + 2441 2442 + 2441 2511 + 2442 2443 + 2442 2512 + 2442 2511 + 2443 2512 + 2443 2444 + 2445 2447 + 2445 2446 + 2445 2513 + 2446 2513 + 2446 2462 + 2446 2463 + 2447 2514 + 2447 2448 + 2447 2513 + 2449 2470 + 2449 2456 + 2449 2515 + 2450 2452 + 2450 2451 + 2450 2516 + 2451 2516 + 2451 2458 + 2452 2453 + 2452 2516 + 2452 2517 + 2453 2455 + 2453 2518 + 2453 2517 + 2454 2455 + 2454 2519 + 2454 2456 + 2455 2518 + 2455 2519 + 2456 2519 + 2456 2520 + 2456 2515 + 2457 2473 + 2457 2521 + 2457 2459 + 2457 2522 + 2457 2472 + 2458 2460 + 2458 2523 + 2458 2516 + 2459 2522 + 2459 2524 + 2459 2461 + 2460 2461 + 2460 2523 + 2460 2525 + 2461 2524 + 2461 2525 + 2462 2466 + 2462 2527 + 2462 2463 + 2463 2529 + 2463 2528 + 2463 2513 + 2463 2527 + 2464 2465 + 2464 2531 + 2464 2471 + 2464 2530 + 2465 2531 + 2466 2527 + 2466 2467 + 2466 2534 + 2467 2468 + 2467 2533 + 2467 2534 + 2468 2533 + 2468 2469 + 2468 2535 + 2469 2535 + 2470 2471 + 2470 2537 + 2470 2515 + 2471 2537 + 2471 2530 + 2472 2475 + 2472 2541 + 2472 2473 + 2473 2521 + 2473 2541 + 2473 2542 + 2473 2539 + 2474 2475 + 2474 2476 + 2474 2543 + 2475 2541 + 2475 2543 + 2477 2478 + 2477 2479 + 2477 2544 + 2478 2494 + 2478 2544 + 2478 2545 + 2479 2486 + 2479 2544 + 2479 2546 + 2480 2481 + 2480 2547 + 2480 2483 + 2481 2547 + 2481 2482 + 2481 2548 + 2482 2487 + 2482 2548 + 2483 2547 + 2483 2484 + 2483 2549 + 2483 2550 + 2484 2485 + 2484 2550 + 2485 2486 + 2485 2550 + 2485 2551 + 2486 2551 + 2486 2546 + 2487 2548 + 2487 2490 + 2487 2552 + 2488 2489 + 2488 2491 + 2488 2553 + 2489 2493 + 2489 2554 + 2489 2553 + 2490 2492 + 2490 2555 + 2490 2552 + 2491 2492 + 2491 2556 + 2491 2553 + 2492 2555 + 2492 2556 + 2493 2554 + 2493 2507 + 2493 2508 + 2493 2557 + 2494 2496 + 2494 2559 + 2494 2545 + 2495 2498 + 2495 2500 + 2495 2499 + 2495 2560 + 2496 2559 + 2496 2561 + 2496 2497 + 2497 2561 + 2497 2498 + 2497 2562 + 2498 2560 + 2498 2562 + 2499 2500 + 2499 2505 + 2499 2564 + 2500 2564 + 2500 2560 + 2500 2563 + 2500 2565 + 2501 2506 + 2501 2502 + 2501 2566 + 2502 2503 + 2502 2567 + 2502 2566 + 2503 2504 + 2503 2567 + 2503 2568 + 2505 2506 + 2505 2569 + 2505 2564 + 2506 2566 + 2506 2569 + 2506 2570 + 2507 2508 + 2507 2509 + 2507 2572 + 2507 2571 + 2508 2572 + 2508 2557 + 2508 2558 + 2509 2510 + 2509 2573 + 2509 2571 + 2510 2573 + 2510 2511 + 2510 2574 + 2511 2512 + 2511 2575 + 2511 2574 + 2513 2528 + 2513 2576 + 2513 2514 + 2515 2537 + 2515 2520 + 2515 2577 + 2516 2523 + 2516 2517 + 2516 2578 + 2517 2579 + 2517 2518 + 2517 2578 + 2518 2519 + 2518 2579 + 2518 2580 + 2519 2520 + 2519 2580 + 2519 2581 + 2520 2577 + 2520 2581 + 2520 2582 + 2521 2539 + 2521 2583 + 2521 2522 + 2521 2526 + 2522 2583 + 2522 2584 + 2522 2524 + 2523 2578 + 2523 2525 + 2523 2585 + 2524 2584 + 2524 2525 + 2524 2586 + 2525 2585 + 2525 2586 + 2526 2539 + 2526 2583 + 2526 2540 + 2526 2538 + 2526 2588 + 2526 2587 + 2527 2529 + 2527 2534 + 2527 2589 + 2528 2529 + 2528 2576 + 2528 2590 + 2529 2590 + 2529 2589 + 2529 2591 + 2530 2537 + 2530 2531 + 2530 2592 + 2530 2593 + 2531 2532 + 2531 2593 + 2532 2593 + 2533 2534 + 2533 2535 + 2533 2595 + 2534 2595 + 2534 2589 + 2534 2596 + 2535 2597 + 2535 2595 + 2535 2536 + 2536 2597 + 2537 2577 + 2537 2599 + 2537 2592 + 2538 2540 + 2538 2588 + 2538 2602 + 2538 2600 + 2538 2601 + 2539 2540 + 2539 2603 + 2539 2542 + 2540 2602 + 2540 2603 + 2541 2542 + 2541 2543 + 2541 2604 + 2542 2603 + 2542 2604 + 2544 2606 + 2544 2545 + 2544 2546 + 2545 2606 + 2545 2605 + 2545 2559 + 2546 2551 + 2546 2607 + 2546 2606 + 2547 2548 + 2547 2549 + 2547 2608 + 2548 2608 + 2548 2552 + 2549 2550 + 2549 2608 + 2549 2609 + 2550 2609 + 2550 2610 + 2550 2551 + 2551 2607 + 2551 2610 + 2552 2555 + 2552 2611 + 2552 2608 + 2553 2556 + 2553 2612 + 2553 2554 + 2554 2557 + 2554 2612 + 2555 2611 + 2555 2556 + 2555 2613 + 2556 2612 + 2556 2613 + 2557 2612 + 2557 2558 + 2557 2614 + 2558 2614 + 2558 2572 + 2558 2615 + 2558 2616 + 2559 2561 + 2559 2605 + 2559 2617 + 2560 2562 + 2560 2563 + 2560 2618 + 2561 2617 + 2561 2619 + 2561 2562 + 2562 2619 + 2562 2618 + 2563 2620 + 2563 2565 + 2563 2618 + 2563 2621 + 2564 2569 + 2564 2565 + 2564 2624 + 2565 2620 + 2565 2622 + 2565 2624 + 2566 2625 + 2566 2567 + 2566 2570 + 2567 2568 + 2567 2625 + 2567 2626 + 2569 2570 + 2569 2624 + 2569 2627 + 2570 2625 + 2570 2628 + 2570 2627 + 2571 2573 + 2571 2572 + 2571 2629 + 2572 2615 + 2572 2629 + 2572 2630 + 2573 2574 + 2573 2629 + 2573 2631 + 2574 2575 + 2574 2631 + 2576 2590 + 2577 2633 + 2577 2599 + 2577 2582 + 2578 2579 + 2578 2634 + 2578 2585 + 2579 2580 + 2579 2634 + 2579 2635 + 2580 2635 + 2580 2581 + 2581 2635 + 2581 2582 + 2581 2637 + 2582 2633 + 2582 2636 + 2582 2637 + 2583 2584 + 2583 2638 + 2583 2587 + 2584 2586 + 2584 2638 + 2585 2586 + 2585 2639 + 2585 2634 + 2586 2638 + 2586 2639 + 2587 2588 + 2587 2640 + 2587 2638 + 2588 2640 + 2588 2600 + 2588 2641 + 2589 2591 + 2589 2596 + 2589 2643 + 2590 2591 + 2590 2632 + 2590 2644 + 2591 2644 + 2591 2643 + 2591 2645 + 2592 2599 + 2592 2646 + 2592 2593 + 2593 2594 + 2593 2647 + 2593 2646 + 2594 2647 + 2595 2597 + 2595 2596 + 2595 2649 + 2596 2643 + 2596 2649 + 2596 2650 + 2597 2649 + 2597 2598 + 2597 2651 + 2598 2651 + 2599 2633 + 2599 2646 + 2599 2654 + 2600 2642 + 2600 2641 + 2600 2601 + 2600 2655 + 2601 2655 + 2601 2602 + 2601 2657 + 2601 2658 + 2602 2603 + 2602 2659 + 2602 2658 + 2603 2659 + 2603 2604 + 2605 2606 + 2605 2617 + 2605 2660 + 2606 2607 + 2606 2661 + 2606 2660 + 2607 2661 + 2607 2662 + 2607 2610 + 2608 2611 + 2608 2663 + 2608 2609 + 2609 2663 + 2609 2610 + 2609 2664 + 2610 2662 + 2610 2664 + 2611 2613 + 2611 2663 + 2611 2665 + 2612 2614 + 2612 2613 + 2612 2666 + 2613 2666 + 2613 2665 + 2614 2666 + 2614 2616 + 2614 2668 + 2615 2630 + 2615 2667 + 2615 2616 + 2615 2669 + 2616 2668 + 2616 2670 + 2616 2669 + 2617 2660 + 2617 2619 + 2617 2671 + 2618 2619 + 2618 2673 + 2618 2672 + 2618 2621 + 2619 2673 + 2619 2671 + 2620 2622 + 2620 2621 + 2620 2623 + 2620 2674 + 2621 2672 + 2621 2674 + 2622 2623 + 2622 2624 + 2622 2676 + 2622 2677 + 2623 2674 + 2623 2675 + 2623 2678 + 2623 2677 + 2624 2627 + 2624 2679 + 2624 2676 + 2625 2680 + 2625 2626 + 2625 2628 + 2627 2679 + 2627 2681 + 2627 2628 + 2628 2681 + 2628 2680 + 2629 2631 + 2629 2630 + 2629 2683 + 2630 2667 + 2630 2683 + 2630 2682 + 2632 2644 + 2633 2636 + 2633 2654 + 2633 2685 + 2634 2635 + 2634 2639 + 2634 2688 + 2634 2686 + 2635 2637 + 2635 2688 + 2636 2637 + 2636 2689 + 2636 2685 + 2636 2687 + 2637 2689 + 2637 2688 + 2638 2640 + 2638 2639 + 2638 2691 + 2639 2691 + 2639 2686 + 2640 2691 + 2640 2641 + 2640 2692 + 2641 2642 + 2641 2692 + 2641 2690 + 2642 2690 + 2642 2655 + 2642 2656 + 2642 2693 + 2643 2650 + 2643 2694 + 2643 2645 + 2644 2684 + 2644 2645 + 2644 2695 + 2645 2694 + 2645 2695 + 2646 2654 + 2646 2696 + 2646 2647 + 2647 2648 + 2647 2697 + 2647 2696 + 2648 2653 + 2648 2697 + 2649 2650 + 2649 2651 + 2649 2698 + 2650 2698 + 2650 2699 + 2650 2694 + 2651 2652 + 2651 2698 + 2651 2700 + 2652 2653 + 2652 2700 + 2652 2701 + 2653 2701 + 2653 2697 + 2653 2702 + 2654 2696 + 2654 2685 + 2654 2703 + 2655 2656 + 2655 2657 + 2655 2705 + 2656 2704 + 2656 2693 + 2656 2705 + 2656 2706 + 2657 2705 + 2657 2658 + 2657 2707 + 2658 2659 + 2658 2707 + 2658 2708 + 2660 2709 + 2660 2671 + 2660 2661 + 2661 2662 + 2661 2710 + 2661 2709 + 2662 2710 + 2662 2664 + 2662 2711 + 2663 2664 + 2663 2665 + 2663 2712 + 2664 2712 + 2664 2711 + 2665 2666 + 2665 2713 + 2665 2712 + 2666 2713 + 2666 2668 + 2667 2682 + 2667 2669 + 2667 2714 + 2668 2715 + 2668 2713 + 2668 2670 + 2669 2670 + 2669 2716 + 2669 2714 + 2670 2716 + 2670 2715 + 2670 2717 + 2671 2673 + 2671 2709 + 2671 2718 + 2672 2674 + 2672 2673 + 2672 2719 + 2673 2719 + 2673 2720 + 2673 2718 + 2674 2675 + 2674 2719 + 2674 2721 + 2675 2678 + 2675 2721 + 2675 2723 + 2675 2722 + 2676 2724 + 2676 2679 + 2676 2677 + 2677 2678 + 2677 2725 + 2677 2724 + 2678 2723 + 2678 2725 + 2679 2681 + 2679 2724 + 2679 2726 + 2680 2681 + 2681 2726 + 2682 2714 + 2682 2683 + 2682 2728 + 2682 2727 + 2684 2695 + 2685 2687 + 2685 2732 + 2685 2703 + 2686 2733 + 2686 2688 + 2686 2691 + 2687 2689 + 2687 2732 + 2687 2734 + 2688 2733 + 2688 2735 + 2688 2689 + 2689 2735 + 2689 2734 + 2690 2693 + 2690 2736 + 2690 2692 + 2690 2737 + 2691 2692 + 2691 2733 + 2691 2738 + 2692 2737 + 2692 2738 + 2693 2704 + 2693 2736 + 2693 2739 + 2694 2695 + 2694 2740 + 2694 2699 + 2695 2731 + 2695 2740 + 2695 2741 + 2696 2703 + 2696 2742 + 2696 2697 + 2697 2702 + 2697 2742 + 2698 2699 + 2698 2700 + 2698 2743 + 2699 2743 + 2699 2744 + 2699 2740 + 2700 2743 + 2700 2701 + 2700 2745 + 2701 2745 + 2701 2702 + 2701 2746 + 2702 2742 + 2702 2746 + 2702 2747 + 2703 2732 + 2703 2742 + 2703 2748 + 2704 2706 + 2704 2739 + 2704 2749 + 2704 2751 + 2705 2707 + 2705 2752 + 2705 2706 + 2706 2753 + 2706 2751 + 2706 2752 + 2707 2708 + 2707 2752 + 2707 2754 + 2709 2718 + 2709 2710 + 2709 2756 + 2710 2756 + 2710 2711 + 2710 2757 + 2711 2712 + 2711 2758 + 2711 2757 + 2712 2713 + 2712 2758 + 2712 2759 + 2713 2715 + 2713 2759 + 2714 2727 + 2714 2716 + 2714 2760 + 2714 2755 + 2715 2761 + 2715 2759 + 2715 2717 + 2716 2760 + 2716 2762 + 2716 2717 + 2717 2762 + 2717 2761 + 2718 2763 + 2718 2720 + 2718 2756 + 2719 2720 + 2719 2764 + 2719 2721 + 2720 2763 + 2720 2764 + 2720 2765 + 2721 2764 + 2721 2766 + 2721 2722 + 2722 2766 + 2722 2767 + 2722 2768 + 2722 2723 + 2723 2725 + 2723 2769 + 2723 2768 + 2724 2725 + 2724 2770 + 2724 2726 + 2725 2769 + 2725 2770 + 2727 2771 + 2727 2755 + 2727 2728 + 2728 2771 + 2729 2776 + 2729 2777 + 2730 2776 + 2730 2780 + 2730 2778 + 2731 2741 + 2731 2782 + 2732 2748 + 2732 2734 + 2732 2784 + 2733 2735 + 2733 2738 + 2733 2785 + 2734 2735 + 2734 2784 + 2734 2786 + 2735 2785 + 2735 2786 + 2736 2739 + 2736 2787 + 2736 2788 + 2736 2737 + 2737 2788 + 2737 2738 + 2737 2789 + 2738 2785 + 2738 2789 + 2739 2787 + 2739 2750 + 2739 2790 + 2739 2749 + 2740 2744 + 2740 2791 + 2740 2741 + 2741 2782 + 2741 2792 + 2741 2791 + 2742 2748 + 2742 2793 + 2742 2747 + 2743 2744 + 2743 2794 + 2743 2745 + 2744 2791 + 2744 2794 + 2745 2746 + 2745 2794 + 2745 2795 + 2746 2796 + 2746 2795 + 2746 2747 + 2747 2793 + 2747 2796 + 2748 2784 + 2748 2793 + 2748 2797 + 2749 2801 + 2749 2750 + 2749 2751 + 2749 2800 + 2750 2790 + 2750 2801 + 2750 2799 + 2751 2753 + 2751 2802 + 2751 2800 + 2752 2754 + 2752 2803 + 2752 2753 + 2753 2803 + 2753 2802 + 2755 2771 + 2755 2804 + 2755 2760 + 2755 2774 + 2756 2763 + 2756 2805 + 2756 2757 + 2757 2805 + 2757 2758 + 2757 2806 + 2758 2806 + 2758 2759 + 2759 2761 + 2759 2807 + 2759 2806 + 2760 2804 + 2760 2762 + 2760 2808 + 2761 2807 + 2761 2762 + 2761 2809 + 2762 2808 + 2762 2809 + 2763 2765 + 2763 2805 + 2763 2810 + 2764 2766 + 2764 2811 + 2764 2765 + 2765 2811 + 2765 2810 + 2765 2812 + 2766 2811 + 2766 2813 + 2766 2767 + 2767 2768 + 2767 2813 + 2767 2814 + 2767 2815 + 2768 2814 + 2768 2816 + 2768 2769 + 2769 2816 + 2769 2818 + 2769 2770 + 2771 2772 + 2771 2774 + 2771 2819 + 2772 2819 + 2772 2821 + 2773 2820 + 2773 2822 + 2773 2821 + 2774 2819 + 2774 2824 + 2774 2823 + 2774 2804 + 2775 2820 + 2775 2777 + 2775 2825 + 2776 2778 + 2776 2777 + 2776 2826 + 2777 2825 + 2777 2827 + 2777 2826 + 2778 2780 + 2778 2826 + 2778 2828 + 2778 2829 + 2779 2780 + 2779 2830 + 2780 2830 + 2780 2831 + 2780 2829 + 2781 2832 + 2781 2830 + 2782 2792 + 2782 2783 + 2782 2833 + 2783 2832 + 2783 2834 + 2783 2833 + 2784 2835 + 2784 2797 + 2784 2786 + 2785 2786 + 2785 2789 + 2785 2836 + 2786 2836 + 2786 2835 + 2786 2837 + 2787 2790 + 2787 2788 + 2787 2838 + 2788 2838 + 2788 2789 + 2788 2839 + 2789 2839 + 2789 2836 + 2790 2838 + 2790 2798 + 2790 2799 + 2790 2840 + 2791 2792 + 2791 2841 + 2791 2794 + 2792 2833 + 2792 2842 + 2792 2841 + 2793 2796 + 2793 2797 + 2793 2843 + 2794 2795 + 2794 2844 + 2794 2841 + 2795 2796 + 2795 2844 + 2795 2845 + 2796 2845 + 2796 2843 + 2797 2835 + 2797 2846 + 2797 2843 + 2798 2799 + 2798 2848 + 2798 2840 + 2798 2847 + 2799 2801 + 2799 2849 + 2799 2850 + 2799 2847 + 2800 2802 + 2800 2801 + 2800 2851 + 2801 2849 + 2801 2851 + 2801 2852 + 2802 2803 + 2802 2853 + 2802 2851 + 2804 2855 + 2804 2808 + 2804 2823 + 2805 2810 + 2805 2806 + 2805 2857 + 2805 2856 + 2806 2857 + 2806 2807 + 2807 2857 + 2807 2809 + 2807 2858 + 2808 2855 + 2808 2859 + 2808 2809 + 2809 2858 + 2809 2859 + 2810 2812 + 2810 2856 + 2810 2860 + 2811 2813 + 2811 2812 + 2811 2861 + 2812 2861 + 2812 2860 + 2812 2862 + 2813 2815 + 2813 2863 + 2813 2861 + 2814 2816 + 2814 2815 + 2814 2817 + 2814 2864 + 2815 2863 + 2815 2865 + 2815 2864 + 2815 2866 + 2816 2818 + 2816 2868 + 2816 2817 + 2817 2868 + 2817 2864 + 2817 2867 + 2819 2824 + 2819 2821 + 2819 2869 + 2820 2822 + 2820 2870 + 2820 2825 + 2821 2822 + 2821 2869 + 2821 2871 + 2822 2871 + 2822 2870 + 2822 2872 + 2823 2824 + 2823 2873 + 2823 2855 + 2824 2873 + 2824 2869 + 2824 2874 + 2825 2870 + 2825 2827 + 2825 2875 + 2826 2828 + 2826 2827 + 2826 2876 + 2827 2876 + 2827 2875 + 2828 2876 + 2828 2829 + 2828 2877 + 2829 2831 + 2829 2878 + 2829 2877 + 2830 2831 + 2830 2832 + 2830 2879 + 2831 2878 + 2831 2879 + 2832 2880 + 2832 2879 + 2832 2834 + 2833 2842 + 2833 2881 + 2833 2834 + 2834 2881 + 2834 2882 + 2834 2880 + 2835 2837 + 2835 2846 + 2835 2883 + 2836 2884 + 2836 2837 + 2836 2839 + 2837 2883 + 2837 2884 + 2838 2885 + 2838 2839 + 2838 2840 + 2839 2885 + 2839 2884 + 2840 2848 + 2840 2886 + 2840 2885 + 2841 2844 + 2841 2887 + 2841 2842 + 2842 2887 + 2842 2881 + 2842 2888 + 2843 2845 + 2843 2846 + 2843 2889 + 2844 2845 + 2844 2890 + 2844 2887 + 2845 2890 + 2845 2889 + 2846 2889 + 2846 2883 + 2846 2891 + 2847 2850 + 2847 2854 + 2847 2892 + 2847 2848 + 2847 2893 + 2848 2886 + 2848 2893 + 2848 2894 + 2849 2852 + 2849 2850 + 2849 2895 + 2850 2895 + 2850 2854 + 2851 2853 + 2851 2852 + 2851 2897 + 2852 2897 + 2852 2895 + 2854 2892 + 2854 2895 + 2854 2896 + 2854 2898 + 2855 2859 + 2855 2873 + 2855 2900 + 2856 2857 + 2856 2901 + 2856 2860 + 2857 2901 + 2857 2858 + 2857 2903 + 2858 2859 + 2858 2904 + 2858 2903 + 2859 2904 + 2859 2900 + 2860 2862 + 2860 2901 + 2860 2902 + 2860 2905 + 2861 2862 + 2861 2863 + 2861 2906 + 2862 2905 + 2862 2906 + 2862 2907 + 2863 2906 + 2863 2866 + 2863 2908 + 2864 2865 + 2864 2909 + 2864 2867 + 2865 2909 + 2865 2910 + 2865 2866 + 2866 2910 + 2866 2908 + 2866 2911 + 2867 2868 + 2867 2909 + 2867 2912 + 2867 2913 + 2869 2871 + 2869 2915 + 2869 2874 + 2870 2872 + 2870 2916 + 2870 2875 + 2871 2872 + 2871 2917 + 2871 2915 + 2872 2916 + 2872 2917 + 2873 2900 + 2873 2874 + 2873 2918 + 2874 2915 + 2874 2919 + 2874 2918 + 2875 2876 + 2875 2916 + 2875 2920 + 2876 2877 + 2876 2921 + 2876 2920 + 2877 2921 + 2877 2878 + 2877 2922 + 2878 2922 + 2878 2879 + 2878 2923 + 2879 2880 + 2879 2924 + 2879 2923 + 2880 2924 + 2880 2925 + 2880 2882 + 2881 2882 + 2881 2926 + 2881 2888 + 2882 2925 + 2882 2926 + 2883 2884 + 2883 2927 + 2883 2891 + 2884 2927 + 2884 2885 + 2884 2928 + 2885 2886 + 2885 2928 + 2886 2928 + 2886 2894 + 2886 2929 + 2887 2888 + 2887 2890 + 2887 2930 + 2888 2930 + 2888 2931 + 2888 2926 + 2889 2891 + 2889 2932 + 2889 2890 + 2890 2932 + 2890 2930 + 2891 2932 + 2891 2927 + 2891 2933 + 2892 2898 + 2892 2893 + 2892 2899 + 2892 2934 + 2893 2894 + 2893 2936 + 2893 2934 + 2894 2936 + 2894 2929 + 2894 2937 + 2895 2896 + 2895 2939 + 2895 2897 + 2896 2939 + 2896 2898 + 2896 2938 + 2898 2938 + 2898 2899 + 2898 2940 + 2899 2934 + 2899 2940 + 2899 2941 + 2900 2904 + 2900 2918 + 2900 2942 + 2901 2902 + 2901 2903 + 2901 2943 + 2902 2905 + 2902 2943 + 2902 2914 + 2903 2944 + 2903 2943 + 2903 2904 + 2904 2942 + 2904 2944 + 2905 2945 + 2905 2907 + 2905 2914 + 2906 2907 + 2906 2946 + 2906 2908 + 2907 2945 + 2907 2947 + 2907 2946 + 2908 2946 + 2908 2911 + 2908 2948 + 2909 2910 + 2909 2912 + 2909 2949 + 2910 2911 + 2910 2949 + 2911 2948 + 2911 2950 + 2911 2949 + 2912 2949 + 2912 2951 + 2912 2913 + 2914 2943 + 2914 2952 + 2914 2945 + 2914 2953 + 2915 2917 + 2915 2919 + 2915 2954 + 2916 2920 + 2916 2917 + 2916 2955 + 2917 2954 + 2917 2955 + 2918 2919 + 2918 2942 + 2918 2956 + 2919 2954 + 2919 2957 + 2919 2956 + 2920 2955 + 2920 2921 + 2920 2958 + 2921 2958 + 2921 2922 + 2921 2959 + 2922 2923 + 2922 2959 + 2922 2960 + 2923 2960 + 2923 2924 + 2923 2961 + 2924 2925 + 2924 2961 + 2925 2961 + 2925 2926 + 2925 2962 + 2926 2931 + 2926 2962 + 2927 2928 + 2927 2933 + 2927 2963 + 2928 2964 + 2928 2963 + 2928 2929 + 2929 2935 + 2929 2964 + 2929 2937 + 2930 2931 + 2930 2932 + 2930 2965 + 2931 2962 + 2931 2966 + 2931 2965 + 2932 2965 + 2932 2967 + 2932 2933 + 2933 2967 + 2933 2963 + 2933 2968 + 2934 2971 + 2934 2936 + 2934 2941 + 2935 2964 + 2935 2937 + 2935 2972 + 2935 2969 + 2935 2970 + 2936 2971 + 2936 2973 + 2936 2937 + 2937 2972 + 2937 2973 + 2938 2939 + 2938 2974 + 2938 2940 + 2938 2975 + 2940 2941 + 2940 2974 + 2940 2976 + 2941 2976 + 2941 2971 + 2941 2977 + 2942 2944 + 2942 2956 + 2942 2978 + 2943 2944 + 2943 2952 + 2943 2979 + 2944 2979 + 2944 2978 + 2945 2947 + 2945 2953 + 2945 2981 + 2946 2947 + 2946 2982 + 2946 2948 + 2947 2982 + 2947 2981 + 2947 2983 + 2948 2950 + 2948 2982 + 2948 2984 + 2949 2950 + 2949 2951 + 2949 2985 + 2950 2985 + 2950 2984 + 2952 2980 + 2952 2987 + 2952 2953 + 2952 2979 + 2953 2981 + 2953 2987 + 2953 2986 + 2954 2957 + 2954 2955 + 2954 2988 + 2955 2988 + 2955 2958 + 2956 2957 + 2956 2989 + 2956 2978 + 2957 2988 + 2957 2990 + 2957 2989 + 2958 2988 + 2958 2959 + 2958 2991 + 2959 2991 + 2959 2960 + 2959 2992 + 2960 2961 + 2960 2993 + 2960 2992 + 2961 2993 + 2961 2962 + 2961 2994 + 2962 2966 + 2962 2995 + 2962 2994 + 2963 2964 + 2963 2968 + 2963 2996 + 2964 2996 + 2964 2969 + 2965 2967 + 2965 2966 + 2965 2997 + 2966 2995 + 2966 2997 + 2967 2997 + 2967 2968 + 2967 2998 + 2968 2998 + 2968 2996 + 2969 2996 + 2969 2970 + 2969 2999 + 2970 2999 + 2970 2972 + 2970 3002 + 2970 3000 + 2970 3001 + 2971 2973 + 2971 2977 + 2971 3003 + 2972 3002 + 2972 2973 + 2972 3004 + 2973 3004 + 2973 3003 + 2974 2975 + 2974 2976 + 2974 3005 + 2976 3005 + 2976 3006 + 2976 2977 + 2977 3006 + 2977 3003 + 2977 3007 + 2978 2979 + 2978 3009 + 2978 2989 + 2979 3009 + 2979 3010 + 2979 2980 + 2980 2987 + 2980 3012 + 2980 3010 + 2980 3011 + 2981 2986 + 2981 3013 + 2981 2983 + 2982 2983 + 2982 3015 + 2982 2984 + 2983 3013 + 2983 3016 + 2983 3015 + 2984 3015 + 2984 3017 + 2984 2985 + 2986 2987 + 2986 3013 + 2986 3018 + 2986 3014 + 2987 3012 + 2987 3018 + 2988 2990 + 2988 2991 + 2988 3019 + 2989 3009 + 2989 2990 + 2989 3020 + 2990 3020 + 2990 3019 + 2991 3019 + 2991 2992 + 2991 3021 + 2992 2993 + 2992 3022 + 2992 3021 + 2993 3022 + 2993 2994 + 2993 3023 + 2994 2995 + 2994 3023 + 2995 2997 + 2995 3023 + 2995 3024 + 2996 2998 + 2996 2999 + 2996 3025 + 2997 2998 + 2997 3026 + 2997 3024 + 2998 3026 + 2998 3025 + 2999 3025 + 2999 3000 + 2999 3027 + 3000 3028 + 3000 3027 + 3000 3001 + 3000 3029 + 3001 3002 + 3001 3030 + 3001 3029 + 3002 3030 + 3002 3008 + 3002 3031 + 3002 3004 + 3003 3032 + 3003 3004 + 3003 3007 + 3004 3032 + 3004 3008 + 3005 3006 + 3006 3033 + 3006 3007 + 3007 3033 + 3007 3032 + 3008 3031 + 3008 3032 + 3008 3034 + 3009 3010 + 3009 3020 + 3009 3035 + 3010 3011 + 3010 3035 + 3010 3036 + 3011 3036 + 3011 3012 + 3011 3038 + 3011 3039 + 3012 3037 + 3012 3018 + 3012 3039 + 3013 3014 + 3013 3016 + 3013 3041 + 3014 3041 + 3014 3018 + 3014 3040 + 3015 3016 + 3015 3017 + 3015 3042 + 3016 3041 + 3016 3042 + 3018 3037 + 3018 3040 + 3018 3043 + 3019 3021 + 3019 3044 + 3019 3020 + 3020 3044 + 3020 3035 + 3020 3045 + 3021 3022 + 3021 3044 + 3021 3046 + 3022 3046 + 3022 3023 + 3022 3047 + 3023 3024 + 3023 3048 + 3023 3047 + 3024 3048 + 3024 3026 + 3024 3049 + 3025 3026 + 3025 3027 + 3025 3050 + 3026 3049 + 3026 3050 + 3027 3028 + 3027 3051 + 3027 3050 + 3028 3051 + 3028 3029 + 3028 3052 + 3028 3054 + 3029 3030 + 3029 3053 + 3029 3054 + 3030 3053 + 3030 3031 + 3030 3055 + 3031 3056 + 3031 3055 + 3031 3034 + 3032 3034 + 3032 3033 + 3032 3057 + 3034 3056 + 3034 3057 + 3035 3036 + 3035 3045 + 3035 3058 + 3036 3058 + 3036 3038 + 3037 3039 + 3037 3060 + 3037 3043 + 3038 3039 + 3038 3058 + 3038 3059 + 3038 3061 + 3039 3060 + 3039 3061 + 3039 3062 + 3040 3041 + 3040 3063 + 3040 3043 + 3041 3042 + 3041 3063 + 3041 3064 + 3043 3060 + 3043 3063 + 3043 3065 + 3044 3046 + 3044 3045 + 3044 3066 + 3045 3066 + 3045 3067 + 3045 3058 + 3046 3047 + 3046 3069 + 3046 3066 + 3047 3069 + 3047 3048 + 3047 3068 + 3048 3068 + 3048 3049 + 3048 3070 + 3049 3070 + 3049 3050 + 3049 3071 + 3050 3051 + 3050 3071 + 3051 3071 + 3051 3073 + 3051 3052 + 3052 3054 + 3052 3074 + 3052 3073 + 3052 3075 + 3053 3054 + 3053 3076 + 3053 3055 + 3054 3076 + 3054 3077 + 3054 3075 + 3055 3056 + 3055 3078 + 3055 3076 + 3056 3078 + 3056 3057 + 3056 3079 + 3058 3080 + 3058 3059 + 3058 3067 + 3059 3061 + 3059 3080 + 3059 3081 + 3060 3062 + 3060 3082 + 3060 3065 + 3061 3081 + 3061 3083 + 3061 3062 + 3062 3083 + 3062 3082 + 3062 3084 + 3063 3065 + 3063 3064 + 3063 3085 + 3065 3085 + 3065 3082 + 3065 3086 + 3066 3067 + 3066 3069 + 3066 3087 + 3067 3087 + 3067 3080 + 3067 3088 + 3068 3072 + 3068 3089 + 3068 3069 + 3068 3070 + 3069 3087 + 3069 3089 + 3070 3072 + 3070 3071 + 3070 3090 + 3071 3073 + 3071 3090 + 3072 3089 + 3072 3090 + 3072 3091 + 3073 3074 + 3073 3090 + 3073 3092 + 3074 3092 + 3074 3075 + 3074 3094 + 3074 3093 + 3075 3094 + 3075 3077 + 3075 3095 + 3076 3077 + 3076 3078 + 3076 3096 + 3077 3095 + 3077 3096 + 3078 3096 + 3078 3079 + 3078 3097 + 3080 3088 + 3080 3081 + 3080 3098 + 3081 3098 + 3081 3100 + 3081 3083 + 3081 3099 + 3082 3084 + 3082 3086 + 3082 3101 + 3083 3100 + 3083 3102 + 3083 3084 + 3084 3101 + 3084 3102 + 3085 3086 + 3086 3101 + 3086 3103 + 3087 3089 + 3087 3104 + 3087 3088 + 3088 3104 + 3088 3098 + 3088 3105 + 3089 3104 + 3089 3091 + 3089 3106 + 3090 3107 + 3090 3091 + 3090 3092 + 3091 3107 + 3091 3108 + 3091 3106 + 3092 3093 + 3092 3109 + 3092 3107 + 3093 3109 + 3093 3094 + 3093 3110 + 3094 3095 + 3094 3110 + 3094 3111 + 3095 3111 + 3095 3096 + 3095 3112 + 3096 3112 + 3096 3097 + 3098 3113 + 3098 3099 + 3098 3105 + 3099 3113 + 3099 3114 + 3099 3100 + 3100 3102 + 3100 3114 + 3100 3115 + 3101 3103 + 3101 3102 + 3101 3117 + 3102 3115 + 3102 3117 + 3104 3105 + 3104 3118 + 3104 3106 + 3105 3118 + 3105 3113 + 3105 3119 + 3106 3108 + 3106 3120 + 3106 3118 + 3107 3108 + 3107 3121 + 3107 3109 + 3108 3120 + 3108 3121 + 3108 3122 + 3109 3110 + 3109 3123 + 3109 3121 + 3110 3111 + 3110 3124 + 3110 3123 + 3111 3124 + 3111 3112 + 3113 3125 + 3113 3114 + 3113 3119 + 3114 3115 + 3114 3125 + 3114 3116 + 3115 3117 + 3115 3127 + 3115 3116 + 3116 3125 + 3116 3127 + 3116 3126 + 3118 3129 + 3118 3119 + 3118 3120 + 3119 3129 + 3119 3128 + 3119 3125 + 3120 3122 + 3120 3130 + 3120 3129 + 3121 3122 + 3121 3131 + 3121 3123 + 3122 3131 + 3122 3130 + 3122 3132 + 3123 3133 + 3123 3131 + 3123 3124 + 3125 3128 + 3125 3134 + 3125 3126 + 3126 3134 + 3126 3127 + 3126 3135 + 3128 3134 + 3128 3129 + 3128 3136 + 3129 3136 + 3129 3137 + 3129 3130 + 3130 3132 + 3130 3137 + 3131 3133 + 3131 3132 + 3131 3138 + 3132 3137 + 3132 3138 + 3134 3136 + 3134 3139 + 3134 3135 + 3136 3137 + 3136 3139 + 3136 3140 + 3137 3140 + 3137 3138 + 29 13 + 13 19 + 19 46 + 59 29 + 37 32 + 32 33 + 33 34 + 34 35 + 35 61 + 75 37 + 46 85 + 99 59 + 61 101 + 119 75 + 85 130 + 121 91 + 91 135 + 142 99 + 101 145 + 168 119 + 124 121 + 125 124 + 126 125 + 175 126 + 130 177 + 135 182 + 188 142 + 145 191 + 213 168 + 219 175 + 177 220 + 182 224 + 230 188 + 191 233 + 259 213 + 265 219 + 220 266 + 224 270 + 276 230 + 233 279 + 306 259 + 311 265 + 266 312 + 270 315 + 321 276 + 279 322 + 357 306 + 361 311 + 312 362 + 315 363 + 371 321 + 322 364 + 347 351 + 399 347 + 351 406 + 412 357 + 416 361 + 362 417 + 363 418 + 364 421 + 429 371 + 388 405 + 446 388 + 458 399 + 405 464 + 406 466 + 472 412 + 476 416 + 417 474 + 418 480 + 421 484 + 491 429 + 493 433 + 433 440 + 440 497 + 500 446 + 465 458 + 464 519 + 520 465 + 466 523 + 522 472 + 474 478 + 535 476 + 478 479 + 479 532 + 480 539 + 484 543 + 548 491 + 550 493 + 497 551 + 553 500 + 519 569 + 570 520 + 573 522 + 523 570 + 532 582 + 587 535 + 539 591 + 543 592 + 601 548 + 605 550 + 551 606 + 608 553 + 569 623 + 628 573 + 582 584 + 584 628 + 641 587 + 591 645 + 592 603 + 656 601 + 603 657 + 659 605 + 606 660 + 663 608 + 666 609 + 609 664 + 623 679 + 695 641 + 645 699 + 710 656 + 657 711 + 714 659 + 660 714 + 719 663 + 664 720 + 723 666 + 679 736 + 750 695 + 699 754 + 764 710 + 711 765 + 720 719 + 776 723 + 736 788 + 751 750 + 799 751 + 754 807 + 817 764 + 765 817 + 827 776 + 788 836 + 845 799 + 807 858 + 879 827 + 836 887 + 846 845 + 853 846 + 854 853 + 855 854 + 857 855 + 907 857 + 858 910 + 930 879 + 887 936 + 954 907 + 910 958 + 973 930 + 936 981 + 995 954 + 958 1003 + 1016 973 + 975 974 + 974 1018 + 997 975 + 981 1029 + 1042 995 + 998 997 + 1003 998 + 1061 1016 + 1018 1019 + 1019 1063 + 1022 1023 + 1072 1022 + 1023 1075 + 1029 1030 + 1030 1081 + 1091 1042 + 1108 1061 + 1063 1070 + 1070 1071 + 1071 1118 + 1118 1072 + 1075 1121 + 1081 1125 + 1136 1091 + 1152 1108 + 1121 1165 + 1125 1169 + 1179 1136 + 1192 1152 + 1165 1203 + 1169 1206 + 1215 1179 + 1226 1192 + 1203 1237 + 1206 1240 + 1246 1215 + 1255 1226 + 1237 1266 + 1240 1268 + 1272 1246 + 1280 1255 + 1266 1289 + 1268 1290 + 1293 1272 + 1301 1280 + 1289 1309 + 1290 1311 + 1316 1293 + 1326 1301 + 1309 1333 + 1311 1335 + 1312 1317 + 1313 1312 + 1339 1313 + 1342 1316 + 1317 1345 + 1351 1326 + 1333 1358 + 1335 1360 + 1367 1339 + 1343 1342 + 1345 1343 + 1378 1351 + 1358 1384 + 1360 1387 + 1397 1367 + 1410 1378 + 1384 1414 + 1387 1390 + 1390 1424 + 1398 1397 + 1432 1398 + 1399 1400 + 1438 1399 + 1400 1436 + 1450 1410 + 1414 1453 + 1459 1418 + 1418 1419 + 1419 1462 + 1424 1459 + 1433 1432 + 1475 1433 + 1435 1434 + 1434 1475 + 1437 1435 + 1436 1437 + 1485 1438 + 1497 1450 + 1453 1502 + 1462 1510 + 1521 1485 + 1550 1497 + 1502 1557 + 1510 1567 + 1523 1520 + 1520 1522 + 1522 1521 + 1524 1523 + 1582 1524 + 1551 1525 + 1525 1584 + 1613 1550 + 1563 1551 + 1557 1626 + 1626 1562 + 1562 1565 + 1564 1563 + 1565 1564 + 1567 1637 + 1649 1582 + 1584 1656 + 1659 1588 + 1588 1615 + 1682 1613 + 1615 1684 + 1637 1703 + 1655 1649 + 1656 1655 + 1660 1659 + 1714 1660 + 1744 1682 + 1684 1745 + 1703 1763 + 1777 1714 + 1804 1744 + 1745 1748 + 1748 1749 + 1749 1811 + 1763 1765 + 1765 1826 + 1835 1777 + 1863 1804 + 1811 1872 + 1826 1883 + 1896 1835 + 1926 1861 + 1861 1918 + 1932 1863 + 1872 1942 + 1883 1951 + 1968 1896 + 1918 1917 + 1917 1991 + 1927 1926 + 1930 1927 + 2009 1930 + 2013 1931 + 1931 2010 + 2015 1932 + 1942 2025 + 1951 2034 + 1969 1968 + 1989 1969 + 1991 1988 + 1988 1990 + 1990 1989 + 2090 2009 + 2010 2093 + 2098 2013 + 2091 2014 + 2014 2104 + 2105 2015 + 2025 2114 + 2034 2122 + 2043 2046 + 2129 2043 + 2046 2133 + 2172 2090 + 2092 2091 + 2093 2092 + 2181 2098 + 2188 2102 + 2102 2103 + 2103 2190 + 2104 2192 + 2194 2105 + 2114 2202 + 2122 2208 + 2212 2129 + 2133 2216 + 2255 2172 + 2264 2181 + 2257 2185 + 2185 2267 + 2270 2188 + 2190 2273 + 2192 2276 + 2278 2194 + 2202 2287 + 2208 2292 + 2294 2212 + 2216 2218 + 2218 2301 + 2247 2320 + 2324 2247 + 2332 2255 + 2333 2257 + 2271 2264 + 2267 2268 + 2268 2334 + 2345 2270 + 2273 2271 + 2276 2278 + 2287 2364 + 2292 2368 + 2370 2294 + 2301 2375 + 2320 2392 + 2396 2324 + 2404 2332 + 2406 2333 + 2334 2405 + 2417 2345 + 2364 2436 + 2368 2441 + 2444 2370 + 2375 2448 + 2392 2465 + 2469 2396 + 2476 2404 + 2405 2406 + 2418 2417 + 2423 2418 + 2440 2423 + 2436 2504 + 2441 2440 + 2512 2444 + 2448 2514 + 2465 2532 + 2536 2469 + 2543 2476 + 2504 2568 + 2575 2512 + 2514 2576 + 2532 2594 + 2598 2536 + 2604 2543 + 2568 2626 + 2631 2575 + 2576 2632 + 2594 2648 + 2652 2598 + 2659 2604 + 2626 2680 + 2683 2631 + 2632 2684 + 2648 2652 + 2708 2659 + 2680 2726 + 2728 2683 + 2684 2731 + 2754 2708 + 2726 2770 + 2772 2728 + 2730 2729 + 2729 2775 + 2779 2730 + 2731 2783 + 2803 2754 + 2770 2818 + 2773 2772 + 2775 2773 + 2781 2779 + 2783 2781 + 2853 2803 + 2818 2868 + 2897 2853 + 2868 2913 + 2939 2897 + 2913 2951 + 2975 2939 + 2951 2985 + 3005 2975 + 2985 3017 + 3033 3005 + 3017 3042 + 3057 3033 + 3042 3064 + 3079 3057 + 3064 3085 + 3097 3079 + 3085 3103 + 3112 3097 + 3103 3117 + 3124 3112 + 3117 3127 + 3133 3124 + 3127 3135 + 3138 3133 + 3135 3139 + 3140 3138 + 3139 3140 diff --git a/test/meshes/pi/elem2d.out b/test/meshes/pi/elem2d.out new file mode 100644 index 000000000..7edcc0e94 --- /dev/null +++ b/test/meshes/pi/elem2d.out @@ -0,0 +1,5840 @@ + 5839 + 1 12 2 + 2 12 10 + 2 10 9 + 3 1 2 + 3 5 1 + 3 9 7 + 4 6 11 + 4 1 5 + 4 5 16 + 5 17 16 + 7 21 8 + 7 9 21 + 7 15 14 + 8 23 22 + 8 21 24 + 8 15 7 + 9 10 25 + 9 3 2 + 10 28 27 + 11 1 4 + 11 6 13 + 11 13 29 + 12 1 11 + 12 28 10 + 14 5 3 + 14 41 17 + 14 3 7 + 15 41 14 + 16 43 18 + 16 17 43 + 16 6 4 + 16 18 6 + 17 41 44 + 17 5 14 + 18 46 19 + 18 45 46 + 19 13 6 + 19 6 18 + 20 25 26 + 20 21 9 + 21 20 47 + 22 38 39 + 22 23 49 + 22 15 8 + 23 52 49 + 24 21 47 + 24 51 23 + 24 23 8 + 25 56 26 + 25 20 9 + 26 57 55 + 26 30 20 + 27 56 25 + 27 25 10 + 28 29 59 + 28 12 29 + 29 12 11 + 30 55 60 + 30 60 48 + 30 47 20 + 32 31 64 + 34 33 67 + 35 34 68 + 35 68 69 + 36 74 62 + 36 31 37 + 37 31 32 + 39 15 22 + 39 38 40 + 39 40 80 + 40 38 76 + 41 15 42 + 41 42 81 + 42 15 39 + 44 83 43 + 44 43 17 + 44 41 81 + 45 83 85 + 45 18 43 + 47 53 24 + 48 60 54 + 48 87 86 + 48 47 30 + 49 52 89 + 49 89 50 + 49 38 22 + 50 38 49 + 51 53 88 + 51 90 52 + 52 90 89 + 52 23 51 + 53 47 86 + 53 92 88 + 53 51 24 + 54 87 48 + 54 94 93 + 55 57 96 + 55 30 26 + 56 58 97 + 56 27 58 + 56 57 26 + 58 27 28 + 59 99 58 + 59 58 28 + 60 55 96 + 60 95 54 + 61 69 70 + 62 74 72 + 62 102 104 + 62 104 63 + 63 31 36 + 63 106 65 + 63 36 62 + 64 105 66 + 64 31 65 + 65 31 63 + 65 107 64 + 66 33 32 + 66 32 64 + 67 109 68 + 67 33 66 + 67 68 34 + 68 109 110 + 69 61 35 + 69 110 70 + 70 101 61 + 70 111 101 + 70 110 112 + 71 102 72 + 72 74 117 + 72 102 62 + 72 73 71 + 73 118 113 + 74 119 117 + 75 119 74 + 75 74 36 + 75 36 37 + 76 38 50 + 76 50 77 + 77 50 89 + 77 91 121 + 78 40 76 + 78 123 122 + 78 76 120 + 79 128 80 + 79 40 78 + 80 40 79 + 80 42 39 + 81 82 129 + 81 84 44 + 81 42 82 + 82 128 129 + 82 42 80 + 83 130 85 + 83 45 43 + 84 83 44 + 84 129 130 + 85 46 45 + 86 47 48 + 86 92 53 + 87 93 133 + 88 134 90 + 88 90 51 + 89 90 135 + 89 91 77 + 91 89 135 + 92 86 131 + 92 134 88 + 92 136 134 + 93 137 132 + 93 87 54 + 94 137 93 + 95 100 140 + 95 94 54 + 96 141 100 + 96 57 98 + 96 100 60 + 97 57 56 + 98 57 97 + 98 141 96 + 98 97 142 + 99 142 97 + 99 97 58 + 100 141 143 + 100 95 60 + 101 144 145 + 102 71 103 + 103 147 102 + 103 71 114 + 103 114 115 + 104 147 150 + 104 102 147 + 104 106 63 + 105 108 66 + 105 107 151 + 106 104 150 + 106 107 65 + 107 152 151 + 107 105 64 + 108 67 66 + 109 67 108 + 109 108 153 + 110 69 68 + 112 111 70 + 112 110 154 + 112 156 155 + 113 71 73 + 113 118 116 + 114 71 113 + 115 149 103 + 115 114 159 + 116 158 113 + 116 164 158 + 116 118 167 + 117 118 73 + 117 119 168 + 117 73 72 + 120 121 170 + 120 76 77 + 120 123 78 + 121 124 170 + 121 120 77 + 122 123 171 + 122 171 127 + 122 79 78 + 123 120 170 + 124 173 170 + 125 173 124 + 126 175 174 + 127 79 122 + 127 128 79 + 127 176 128 + 128 82 80 + 129 84 81 + 130 83 84 + 131 86 87 + 131 136 92 + 131 87 133 + 132 137 178 + 133 132 181 + 133 93 132 + 133 180 131 + 134 135 90 + 135 134 182 + 137 94 138 + 137 183 178 + 138 94 139 + 139 94 140 + 139 185 138 + 140 94 95 + 141 188 143 + 142 188 141 + 142 141 98 + 143 188 187 + 143 187 140 + 143 140 100 + 144 101 111 + 144 111 155 + 145 144 189 + 146 193 148 + 146 162 192 + 147 149 194 + 148 149 115 + 148 115 160 + 148 160 161 + 149 147 103 + 149 148 195 + 150 147 194 + 150 194 196 + 150 196 152 + 150 152 106 + 151 108 105 + 152 196 197 + 152 107 106 + 153 151 197 + 153 108 151 + 153 154 109 + 154 110 109 + 154 156 112 + 155 156 200 + 155 111 112 + 155 157 144 + 156 154 199 + 157 201 190 + 158 114 113 + 159 114 158 + 160 115 159 + 161 160 205 + 161 146 148 + 162 146 163 + 162 206 202 + 163 146 161 + 163 207 208 + 163 208 206 + 164 166 211 + 165 164 211 + 166 164 116 + 167 213 166 + 167 118 168 + 167 166 116 + 168 118 117 + 168 213 167 + 169 171 215 + 169 176 127 + 170 173 217 + 170 217 172 + 171 169 127 + 172 171 123 + 172 217 218 + 172 123 170 + 174 173 125 + 174 219 173 + 174 125 126 + 175 219 174 + 176 220 177 + 177 130 129 + 177 129 128 + 177 128 176 + 178 179 132 + 178 183 221 + 179 178 222 + 180 136 131 + 180 224 182 + 181 132 179 + 181 224 180 + 181 179 223 + 181 180 133 + 182 134 136 + 182 136 180 + 183 137 138 + 183 138 184 + 183 225 221 + 183 226 225 + 184 138 185 + 184 185 228 + 184 228 227 + 184 227 226 + 184 226 183 + 185 139 186 + 186 140 187 + 186 139 140 + 187 188 230 + 187 229 186 + 189 191 145 + 189 144 190 + 190 201 232 + 190 232 231 + 190 144 157 + 191 234 233 + 191 189 231 + 192 240 193 + 192 202 237 + 193 146 192 + 194 149 195 + 195 242 194 + 195 148 193 + 196 194 242 + 197 196 243 + 197 151 152 + 197 198 153 + 198 243 244 + 198 154 153 + 199 245 200 + 199 154 198 + 200 201 157 + 200 157 155 + 200 156 199 + 201 200 246 + 202 192 162 + 202 206 247 + 203 159 158 + 203 158 164 + 203 164 165 + 203 165 209 + 203 250 204 + 204 251 205 + 204 160 159 + 204 159 203 + 205 160 204 + 205 163 161 + 206 162 163 + 206 254 249 + 207 205 252 + 207 163 205 + 208 255 254 + 209 210 214 + 209 165 210 + 209 250 203 + 210 211 258 + 211 166 212 + 211 210 165 + 212 166 213 + 212 259 258 + 213 259 212 + 214 260 261 + 214 257 260 + 216 169 215 + 216 176 169 + 216 262 220 + 218 215 171 + 218 171 172 + 219 217 173 + 220 262 266 + 220 176 216 + 221 267 222 + 221 225 268 + 222 267 269 + 222 223 179 + 222 178 221 + 223 224 181 + 223 270 224 + 225 226 272 + 225 271 268 + 226 227 274 + 227 228 275 + 228 229 276 + 228 185 229 + 229 187 230 + 229 185 186 + 230 276 229 + 231 234 191 + 231 189 190 + 231 232 278 + 232 201 238 + 232 277 278 + 233 234 235 + 233 235 279 + 234 280 235 + 235 280 281 + 236 248 283 + 236 237 202 + 236 202 247 + 237 284 285 + 237 239 192 + 238 246 286 + 238 277 232 + 239 285 287 + 240 289 241 + 240 192 239 + 241 290 242 + 241 195 193 + 241 193 240 + 242 195 241 + 243 198 197 + 243 242 290 + 243 196 242 + 243 291 244 + 244 291 292 + 244 199 198 + 245 293 246 + 245 292 293 + 245 199 244 + 246 238 201 + 246 200 245 + 247 296 248 + 247 206 249 + 247 248 236 + 248 296 297 + 249 296 247 + 249 254 298 + 250 209 256 + 250 256 299 + 250 251 204 + 251 299 300 + 252 205 251 + 252 251 300 + 252 300 301 + 252 301 253 + 253 207 252 + 253 255 207 + 253 301 302 + 254 206 208 + 255 208 207 + 256 214 261 + 256 209 214 + 256 304 299 + 257 258 306 + 257 214 210 + 258 211 212 + 258 257 210 + 260 257 305 + 261 260 307 + 261 308 304 + 262 216 264 + 263 218 265 + 263 215 218 + 263 216 215 + 263 264 216 + 265 218 217 + 265 217 219 + 265 311 263 + 266 309 310 + 266 262 309 + 267 268 313 + 268 267 221 + 269 270 223 + 269 223 222 + 269 267 313 + 271 273 317 + 272 226 274 + 272 274 318 + 272 271 225 + 273 271 272 + 274 320 318 + 275 276 321 + 275 320 274 + 275 274 227 + 276 275 228 + 277 238 286 + 277 323 278 + 278 280 234 + 278 234 231 + 279 324 322 + 279 235 281 + 281 280 325 + 281 326 324 + 281 324 279 + 282 329 328 + 282 286 329 + 282 323 277 + 283 332 284 + 283 248 295 + 283 284 236 + 284 332 333 + 284 237 236 + 285 335 287 + 285 239 237 + 286 246 293 + 286 293 337 + 286 282 277 + 287 288 239 + 288 338 339 + 288 289 240 + 288 240 239 + 289 340 290 + 289 290 241 + 290 340 291 + 291 340 341 + 291 243 290 + 292 245 244 + 294 332 283 + 294 295 343 + 295 248 297 + 295 294 283 + 297 296 345 + 297 346 344 + 298 351 347 + 298 347 345 + 298 254 303 + 298 296 249 + 299 251 250 + 299 304 352 + 300 352 353 + 300 299 352 + 301 300 353 + 301 354 302 + 302 255 253 + 302 354 355 + 303 255 302 + 303 254 255 + 303 351 298 + 304 256 261 + 304 356 352 + 305 307 260 + 305 257 306 + 306 258 259 + 306 357 305 + 307 357 358 + 307 308 261 + 308 359 356 + 308 356 304 + 309 361 310 + 309 311 361 + 309 262 264 + 310 360 312 + 310 312 266 + 311 309 264 + 311 264 263 + 312 360 362 + 313 315 269 + 314 271 317 + 314 268 271 + 314 313 268 + 314 363 313 + 315 270 269 + 315 313 363 + 316 363 314 + 317 366 316 + 317 316 314 + 318 320 369 + 318 319 273 + 318 273 272 + 319 317 273 + 319 370 368 + 320 275 321 + 320 321 371 + 322 327 372 + 322 324 327 + 323 280 278 + 323 282 328 + 323 373 325 + 325 373 375 + 325 375 326 + 325 326 281 + 325 280 323 + 327 378 377 + 328 380 373 + 328 329 381 + 328 373 323 + 329 286 337 + 329 379 382 + 330 383 331 + 331 385 332 + 331 332 294 + 331 294 330 + 332 386 333 + 332 385 386 + 333 386 384 + 333 335 285 + 333 285 284 + 334 350 387 + 334 383 330 + 335 336 287 + 336 338 287 + 337 379 329 + 337 293 342 + 338 288 287 + 338 336 391 + 339 289 288 + 339 393 394 + 340 289 339 + 340 339 394 + 341 342 292 + 341 292 291 + 341 340 394 + 342 395 392 + 342 293 292 + 343 397 348 + 343 330 294 + 344 346 398 + 344 343 295 + 344 295 297 + 345 346 297 + 345 347 399 + 345 296 298 + 346 399 398 + 348 334 330 + 348 330 343 + 349 348 400 + 349 400 402 + 349 334 348 + 349 401 350 + 350 388 387 + 350 334 349 + 351 303 355 + 352 356 407 + 353 352 408 + 353 408 409 + 353 409 354 + 353 354 301 + 354 409 410 + 355 303 302 + 355 354 410 + 355 406 351 + 356 411 407 + 357 307 305 + 358 308 307 + 358 357 412 + 359 308 358 + 360 414 362 + 361 360 310 + 363 316 365 + 365 366 425 + 365 367 418 + 365 418 363 + 366 365 316 + 367 365 425 + 367 425 427 + 368 370 428 + 368 426 366 + 368 317 319 + 368 366 317 + 369 320 371 + 369 319 318 + 369 370 319 + 371 429 369 + 372 364 322 + 372 430 420 + 372 327 377 + 373 380 432 + 374 327 324 + 374 324 326 + 374 326 376 + 375 373 432 + 375 435 376 + 376 326 375 + 376 434 374 + 377 430 372 + 377 378 436 + 378 327 374 + 379 337 392 + 379 437 382 + 379 392 396 + 380 381 438 + 381 380 328 + 381 439 438 + 382 381 329 + 382 439 381 + 383 334 387 + 383 385 331 + 384 335 333 + 385 443 445 + 386 444 384 + 387 443 383 + 389 336 335 + 389 335 384 + 389 384 442 + 389 447 441 + 390 336 389 + 390 391 336 + 390 448 391 + 391 393 338 + 392 337 342 + 392 395 451 + 393 339 338 + 393 452 394 + 394 453 395 + 394 452 453 + 394 395 341 + 395 342 341 + 396 437 379 + 396 392 451 + 397 456 400 + 397 343 344 + 398 457 456 + 398 456 397 + 398 397 344 + 399 457 398 + 399 346 345 + 400 348 397 + 402 400 459 + 402 401 349 + 403 388 350 + 403 350 401 + 403 401 460 + 403 460 462 + 404 388 403 + 404 405 388 + 404 462 463 + 405 404 463 + 407 408 352 + 407 411 467 + 409 408 469 + 409 470 410 + 410 470 468 + 410 468 406 + 410 406 355 + 411 356 359 + 411 471 467 + 412 359 358 + 412 413 359 + 413 473 471 + 413 411 359 + 413 412 472 + 414 415 362 + 414 476 415 + 415 417 362 + 416 476 414 + 416 414 360 + 416 360 361 + 418 423 480 + 418 367 423 + 420 364 372 + 420 419 364 + 420 481 419 + 420 430 482 + 421 364 419 + 422 421 419 + 422 419 481 + 422 481 483 + 422 483 485 + 423 487 486 + 423 424 487 + 424 423 367 + 425 366 426 + 426 489 425 + 426 428 489 + 427 425 489 + 427 490 488 + 427 424 367 + 428 429 491 + 428 426 368 + 429 428 370 + 429 370 369 + 431 493 432 + 431 433 493 + 432 493 435 + 432 380 431 + 433 431 440 + 434 378 374 + 435 375 432 + 435 434 376 + 436 430 377 + 436 378 434 + 436 434 494 + 437 439 382 + 437 396 454 + 438 431 380 + 438 440 431 + 440 438 497 + 441 390 389 + 441 498 449 + 442 499 447 + 442 447 389 + 442 384 444 + 443 387 446 + 443 385 383 + 444 386 445 + 444 499 442 + 445 443 500 + 445 500 444 + 445 386 385 + 446 387 388 + 447 498 441 + 448 504 450 + 448 390 441 + 449 503 504 + 449 504 448 + 449 448 441 + 450 505 452 + 450 393 391 + 450 391 448 + 451 395 453 + 451 453 506 + 451 506 455 + 451 455 396 + 452 505 507 + 452 393 450 + 454 396 455 + 454 496 437 + 455 506 509 + 455 508 454 + 456 459 400 + 456 457 510 + 457 511 510 + 458 465 511 + 458 511 457 + 458 457 399 + 459 513 461 + 460 402 461 + 460 401 402 + 460 514 462 + 461 513 515 + 461 402 459 + 461 515 514 + 462 404 403 + 462 514 516 + 463 462 516 + 463 464 405 + 464 463 518 + 466 406 468 + 466 468 524 + 467 525 469 + 467 469 407 + 468 526 524 + 468 470 526 + 469 525 527 + 469 408 407 + 469 470 409 + 470 469 527 + 471 525 467 + 471 411 413 + 472 529 473 + 473 528 471 + 473 413 472 + 474 417 477 + 475 417 415 + 475 415 476 + 475 476 535 + 477 534 474 + 477 417 475 + 478 474 534 + 478 534 536 + 480 486 539 + 482 540 481 + 482 481 420 + 482 430 492 + 482 492 541 + 483 481 540 + 484 421 422 + 484 485 543 + 485 484 422 + 485 483 542 + 486 480 423 + 487 424 488 + 487 488 546 + 488 424 427 + 489 490 427 + 490 547 488 + 491 548 489 + 491 489 428 + 492 430 436 + 494 495 436 + 494 493 550 + 494 435 493 + 494 434 435 + 495 492 436 + 496 439 437 + 496 497 439 + 496 508 551 + 497 438 439 + 498 501 552 + 498 502 449 + 498 447 501 + 499 500 553 + 499 444 500 + 500 443 446 + 501 447 499 + 502 503 449 + 502 552 554 + 502 554 555 + 504 505 450 + 504 556 557 + 505 504 557 + 505 557 558 + 506 453 507 + 507 453 452 + 507 505 558 + 508 455 509 + 508 509 560 + 508 496 454 + 509 506 559 + 510 513 459 + 510 459 456 + 512 511 465 + 512 465 520 + 512 563 562 + 513 510 562 + 514 515 565 + 514 460 461 + 515 513 564 + 515 566 565 + 516 568 517 + 516 517 463 + 517 568 567 + 518 569 519 + 518 517 567 + 518 463 517 + 519 464 518 + 520 572 521 + 520 521 512 + 521 571 563 + 521 563 512 + 522 529 472 + 523 524 574 + 524 523 466 + 525 471 528 + 526 575 524 + 526 577 575 + 527 525 576 + 527 576 577 + 527 577 526 + 527 526 470 + 528 576 525 + 529 531 579 + 530 528 473 + 530 473 529 + 530 529 579 + 531 522 573 + 531 529 522 + 532 479 533 + 532 533 583 + 533 537 586 + 533 586 585 + 533 585 583 + 534 477 535 + 534 535 587 + 535 477 475 + 536 479 478 + 536 537 479 + 537 533 479 + 538 486 545 + 538 589 590 + 539 486 538 + 539 538 591 + 540 541 594 + 540 594 542 + 540 542 483 + 541 492 549 + 541 540 482 + 542 594 596 + 543 597 592 + 544 598 597 + 544 543 485 + 544 485 542 + 544 542 596 + 545 486 487 + 545 599 589 + 545 487 546 + 546 599 545 + 546 600 599 + 546 547 600 + 546 488 547 + 547 548 601 + 547 490 548 + 548 490 489 + 549 604 595 + 549 492 495 + 549 595 541 + 550 549 495 + 550 495 494 + 551 497 496 + 552 553 608 + 552 502 498 + 553 552 501 + 553 501 499 + 555 554 607 + 555 503 502 + 555 607 610 + 556 503 555 + 556 504 503 + 556 610 611 + 556 611 557 + 557 612 558 + 558 613 559 + 558 559 507 + 559 561 509 + 559 506 507 + 560 615 614 + 560 509 561 + 560 606 551 + 560 551 508 + 561 615 560 + 561 559 613 + 562 564 513 + 562 510 511 + 562 511 512 + 563 616 562 + 563 571 617 + 564 566 515 + 564 616 618 + 565 566 620 + 565 516 514 + 567 569 518 + 568 516 565 + 568 621 567 + 570 572 520 + 570 624 625 + 571 521 572 + 572 570 625 + 573 581 531 + 573 628 629 + 574 524 575 + 574 570 523 + 574 575 630 + 574 630 624 + 576 528 578 + 577 632 631 + 577 576 632 + 578 633 632 + 578 528 530 + 579 578 530 + 580 581 634 + 580 531 581 + 580 579 531 + 580 634 633 + 583 585 637 + 583 582 532 + 583 636 582 + 583 638 636 + 584 582 636 + 584 636 639 + 585 640 637 + 585 586 640 + 586 537 588 + 586 641 640 + 587 536 534 + 587 641 588 + 588 537 536 + 588 641 586 + 588 536 587 + 589 538 545 + 589 599 642 + 590 591 538 + 590 645 591 + 590 643 644 + 592 597 646 + 594 541 595 + 595 604 651 + 596 594 650 + 596 652 598 + 596 598 544 + 597 543 544 + 598 652 653 + 599 655 642 + 601 655 600 + 601 600 547 + 602 649 657 + 602 657 603 + 602 593 648 + 603 592 593 + 603 593 602 + 604 654 651 + 605 549 550 + 605 604 549 + 606 661 660 + 607 554 608 + 607 662 610 + 608 554 552 + 609 666 665 + 610 556 555 + 611 610 667 + 612 611 670 + 612 557 611 + 612 613 558 + 613 672 615 + 613 612 671 + 614 669 661 + 614 606 560 + 615 561 613 + 616 564 562 + 617 616 563 + 617 571 626 + 617 675 674 + 618 676 619 + 618 566 564 + 619 566 618 + 619 676 677 + 619 677 678 + 620 568 565 + 620 566 619 + 621 569 567 + 621 623 569 + 622 621 568 + 622 568 620 + 622 620 678 + 623 621 679 + 624 630 680 + 624 570 574 + 624 681 625 + 625 627 572 + 626 675 617 + 626 571 572 + 627 626 572 + 627 681 683 + 627 682 626 + 628 684 629 + 629 684 685 + 629 635 581 + 629 581 573 + 630 575 631 + 631 632 687 + 631 687 686 + 631 575 577 + 632 633 687 + 632 576 578 + 633 578 579 + 633 579 580 + 634 689 688 + 634 581 635 + 635 685 689 + 636 638 691 + 637 640 690 + 637 690 692 + 637 638 583 + 639 628 584 + 639 684 628 + 640 641 694 + 642 655 696 + 642 697 643 + 643 590 589 + 643 589 642 + 644 643 697 + 644 698 699 + 645 590 644 + 646 647 593 + 646 593 592 + 646 597 653 + 646 700 647 + 647 700 702 + 648 649 602 + 648 593 647 + 648 647 702 + 650 652 596 + 650 595 651 + 650 594 595 + 651 654 705 + 651 705 650 + 653 597 598 + 653 652 706 + 653 706 700 + 653 700 646 + 655 599 600 + 655 656 709 + 655 709 696 + 656 655 601 + 657 649 701 + 658 654 604 + 658 604 605 + 658 605 659 + 658 659 713 + 659 715 713 + 660 661 717 + 660 717 716 + 661 606 614 + 662 668 667 + 662 667 610 + 663 607 608 + 663 662 607 + 664 721 720 + 665 666 723 + 665 664 609 + 665 721 664 + 667 668 724 + 667 670 611 + 668 719 725 + 668 662 719 + 669 614 673 + 670 667 724 + 670 671 612 + 671 727 728 + 671 670 727 + 671 672 613 + 672 671 728 + 672 673 615 + 673 726 669 + 673 614 615 + 674 730 676 + 674 616 617 + 674 618 616 + 675 626 682 + 675 730 674 + 675 682 731 + 676 730 732 + 676 618 674 + 676 732 677 + 677 732 734 + 678 679 622 + 678 620 619 + 679 621 622 + 679 678 735 + 680 737 738 + 680 630 686 + 680 738 681 + 681 624 680 + 681 738 683 + 681 627 625 + 683 682 627 + 683 738 740 + 685 684 741 + 685 635 629 + 686 687 743 + 686 630 631 + 686 737 680 + 687 633 688 + 688 743 687 + 688 689 744 + 688 633 634 + 689 634 635 + 691 639 636 + 691 747 693 + 692 746 747 + 692 691 638 + 692 638 637 + 692 690 746 + 693 747 748 + 693 684 639 + 693 748 741 + 693 639 691 + 694 690 640 + 694 641 695 + 695 750 749 + 696 697 642 + 697 698 644 + 698 697 753 + 699 698 754 + 699 645 644 + 700 706 755 + 701 756 711 + 701 649 704 + 702 700 755 + 702 703 648 + 703 758 704 + 703 649 648 + 704 759 756 + 704 756 701 + 704 649 703 + 705 654 707 + 705 652 650 + 705 760 706 + 706 652 705 + 707 654 708 + 707 708 761 + 708 654 658 + 710 709 656 + 711 757 765 + 711 657 701 + 712 709 763 + 712 696 709 + 713 767 762 + 713 715 767 + 713 708 658 + 714 768 715 + 715 768 769 + 715 659 714 + 716 714 660 + 716 768 714 + 717 661 718 + 717 772 770 + 718 661 669 + 718 669 726 + 718 773 772 + 719 662 663 + 719 720 774 + 721 665 722 + 721 722 775 + 722 665 723 + 723 776 722 + 724 777 727 + 724 727 670 + 725 719 774 + 725 724 668 + 726 773 718 + 726 673 729 + 727 777 780 + 728 673 672 + 729 779 726 + 729 673 728 + 729 728 780 + 731 730 675 + 731 784 783 + 731 782 784 + 732 730 783 + 733 678 677 + 733 677 734 + 733 735 678 + 734 732 785 + 734 786 733 + 734 785 787 + 735 786 788 + 735 788 736 + 736 679 735 + 737 743 789 + 738 737 789 + 738 790 740 + 739 682 683 + 739 731 682 + 740 739 683 + 740 790 791 + 741 748 792 + 741 792 742 + 741 684 693 + 742 689 685 + 742 685 741 + 743 794 789 + 743 737 686 + 744 743 688 + 744 742 793 + 744 689 742 + 745 746 690 + 745 690 694 + 745 694 749 + 745 749 795 + 746 745 796 + 746 797 747 + 747 797 748 + 747 691 692 + 748 797 798 + 749 694 695 + 751 799 803 + 751 803 802 + 752 696 712 + 752 712 766 + 752 766 804 + 753 697 696 + 753 806 807 + 753 696 752 + 754 698 753 + 755 758 702 + 756 759 810 + 756 757 711 + 757 809 765 + 758 759 704 + 758 808 811 + 758 703 702 + 759 758 811 + 760 705 707 + 760 755 706 + 761 760 707 + 761 708 762 + 762 767 814 + 762 708 713 + 763 709 710 + 763 710 764 + 763 815 766 + 764 815 763 + 765 809 818 + 766 712 763 + 769 767 715 + 769 768 821 + 769 821 822 + 770 716 717 + 770 823 771 + 771 768 716 + 771 716 770 + 771 823 824 + 772 717 718 + 772 823 770 + 773 726 779 + 773 826 825 + 774 720 721 + 774 775 827 + 775 722 776 + 775 774 721 + 777 828 780 + 777 724 725 + 777 725 778 + 778 725 774 + 778 774 827 + 778 828 777 + 779 826 773 + 779 729 781 + 780 728 727 + 781 830 829 + 781 780 830 + 781 729 780 + 782 831 832 + 782 731 739 + 783 784 833 + 783 730 731 + 783 833 785 + 784 834 833 + 785 833 835 + 785 732 783 + 786 836 788 + 786 735 733 + 787 785 835 + 787 786 734 + 789 837 790 + 790 738 789 + 790 838 791 + 791 831 782 + 791 838 839 + 791 782 739 + 791 739 740 + 793 794 744 + 793 742 792 + 793 792 840 + 794 837 789 + 794 743 744 + 795 749 800 + 795 842 796 + 796 843 797 + 796 797 746 + 796 745 795 + 798 843 844 + 798 792 748 + 800 749 801 + 800 849 848 + 800 842 795 + 801 849 800 + 801 749 750 + 802 750 751 + 802 801 750 + 803 847 851 + 803 851 850 + 804 805 752 + 804 819 859 + 805 753 752 + 805 804 859 + 806 753 805 + 806 805 860 + 807 806 861 + 807 754 753 + 808 760 813 + 808 755 760 + 808 758 755 + 808 862 811 + 809 757 810 + 809 863 818 + 810 757 756 + 810 759 812 + 811 862 865 + 811 812 759 + 812 864 810 + 813 760 761 + 813 761 814 + 813 814 867 + 814 761 762 + 815 764 816 + 815 816 869 + 815 869 819 + 817 816 764 + 818 817 765 + 818 863 871 + 819 766 815 + 819 804 766 + 819 869 872 + 820 814 767 + 820 767 769 + 820 873 868 + 821 768 771 + 822 821 874 + 822 820 769 + 824 875 874 + 824 821 771 + 824 823 876 + 825 826 877 + 825 772 773 + 825 823 772 + 827 775 776 + 827 828 778 + 829 830 880 + 829 826 779 + 829 779 781 + 830 780 828 + 831 882 832 + 831 839 881 + 832 784 782 + 832 883 834 + 834 883 886 + 834 784 832 + 835 887 836 + 835 833 885 + 835 836 787 + 836 786 787 + 837 794 841 + 837 838 790 + 838 837 888 + 838 889 839 + 839 831 791 + 839 889 890 + 840 798 844 + 840 792 798 + 840 891 841 + 840 841 793 + 841 794 793 + 842 843 796 + 842 892 843 + 843 798 797 + 844 843 892 + 844 892 893 + 844 891 840 + 845 846 895 + 845 895 847 + 846 853 852 + 846 852 896 + 847 799 845 + 847 803 799 + 847 895 897 + 848 842 800 + 848 849 898 + 848 894 892 + 849 801 802 + 849 802 850 + 850 802 803 + 850 899 898 + 850 851 899 + 851 847 897 + 852 902 901 + 854 856 903 + 854 903 853 + 855 857 905 + 855 856 854 + 857 907 905 + 859 860 805 + 859 819 872 + 860 861 806 + 861 908 858 + 861 858 807 + 861 860 912 + 862 808 813 + 862 914 865 + 863 809 864 + 864 866 916 + 864 809 810 + 865 914 917 + 865 917 866 + 865 866 812 + 865 812 811 + 866 918 916 + 866 864 812 + 867 814 868 + 867 862 813 + 868 814 820 + 868 873 919 + 869 920 872 + 869 816 870 + 870 920 869 + 870 816 817 + 870 817 871 + 870 871 921 + 871 817 818 + 872 920 922 + 872 911 859 + 873 820 822 + 874 875 925 + 874 873 822 + 874 821 824 + 874 925 924 + 876 927 875 + 876 875 824 + 876 823 825 + 877 826 878 + 877 878 929 + 877 876 825 + 878 826 829 + 879 930 880 + 879 830 828 + 879 828 827 + 880 878 829 + 880 830 879 + 881 839 890 + 882 883 832 + 882 932 884 + 882 831 881 + 884 883 882 + 884 932 935 + 885 834 886 + 885 887 835 + 885 833 834 + 885 886 936 + 886 883 934 + 888 837 841 + 888 841 891 + 888 891 937 + 888 937 889 + 889 838 888 + 889 937 938 + 890 939 933 + 890 931 881 + 892 842 848 + 892 894 941 + 893 891 844 + 895 896 943 + 896 895 846 + 896 852 900 + 897 899 851 + 897 895 943 + 898 942 894 + 898 894 848 + 898 849 850 + 899 946 898 + 899 897 945 + 900 852 901 + 900 948 947 + 900 947 944 + 901 902 950 + 901 948 900 + 902 853 903 + 902 951 950 + 902 852 853 + 903 904 951 + 903 951 902 + 904 953 952 + 904 903 856 + 905 856 855 + 906 905 954 + 906 856 905 + 906 904 856 + 908 861 913 + 909 956 957 + 909 958 910 + 910 858 908 + 910 908 909 + 911 860 859 + 911 922 959 + 911 959 912 + 912 960 913 + 912 913 861 + 912 860 911 + 912 959 960 + 913 955 908 + 914 862 867 + 914 867 919 + 915 863 916 + 915 871 863 + 915 921 871 + 916 918 962 + 916 863 864 + 916 962 915 + 917 918 866 + 918 917 963 + 919 961 914 + 919 867 868 + 921 920 870 + 921 923 965 + 922 911 872 + 922 920 965 + 922 966 959 + 923 921 915 + 924 873 874 + 924 919 873 + 924 968 964 + 925 926 969 + 925 875 926 + 925 968 924 + 926 970 969 + 926 927 970 + 927 876 877 + 927 926 875 + 928 927 877 + 928 929 972 + 929 928 877 + 929 878 930 + 930 878 880 + 931 932 882 + 931 882 881 + 932 931 978 + 933 939 977 + 933 931 890 + 934 981 936 + 934 883 884 + 935 932 978 + 935 934 884 + 936 886 934 + 936 887 885 + 937 891 940 + 938 890 889 + 939 890 938 + 940 891 893 + 940 893 941 + 941 894 942 + 941 985 940 + 941 893 892 + 942 985 941 + 942 946 986 + 943 987 945 + 944 943 896 + 944 896 900 + 944 947 987 + 945 988 946 + 945 946 899 + 945 897 943 + 946 942 898 + 947 989 987 + 947 948 989 + 948 991 990 + 948 901 949 + 949 901 950 + 949 991 948 + 950 951 993 + 950 993 992 + 950 992 949 + 951 904 952 + 952 953 994 + 952 994 993 + 953 904 906 + 954 905 907 + 954 995 953 + 954 953 906 + 955 999 956 + 955 909 908 + 955 913 960 + 956 909 955 + 956 999 1000 + 956 1000 1001 + 957 958 909 + 957 956 1001 + 959 966 1004 + 960 1004 999 + 961 1005 963 + 961 917 914 + 962 918 963 + 962 923 915 + 963 1006 962 + 963 917 961 + 964 1005 961 + 964 961 919 + 964 919 924 + 965 923 967 + 965 920 921 + 965 967 1008 + 966 922 965 + 967 1006 1010 + 967 962 1006 + 967 923 962 + 968 925 969 + 968 1011 1007 + 969 970 1013 + 969 1011 968 + 970 1014 1013 + 971 970 927 + 971 927 928 + 971 928 972 + 972 1012 971 + 972 1015 1012 + 973 972 929 + 973 929 930 + 974 975 976 + 975 1017 1020 + 975 1020 976 + 976 1018 974 + 976 1021 1018 + 976 1020 1021 + 977 939 984 + 977 984 1024 + 977 1024 1025 + 978 931 933 + 978 933 979 + 978 979 1026 + 979 933 977 + 979 1027 1026 + 980 935 978 + 981 934 935 + 981 935 980 + 982 1032 983 + 982 937 940 + 983 938 937 + 983 937 982 + 983 1032 984 + 984 938 983 + 984 939 938 + 985 1031 982 + 985 982 940 + 986 988 1035 + 986 985 942 + 986 946 988 + 987 988 945 + 987 943 944 + 988 1036 1035 + 989 948 990 + 990 1038 1037 + 990 991 996 + 991 1040 996 + 991 992 1040 + 992 993 1041 + 992 991 949 + 993 951 952 + 994 995 1042 + 994 953 995 + 994 1041 993 + 996 1039 1038 + 996 1040 1043 + 996 1038 990 + 997 1044 1017 + 998 1044 997 + 999 1004 1046 + 999 955 960 + 1000 1048 1001 + 1001 1002 957 + 1001 1048 1049 + 1002 958 957 + 1002 1003 958 + 1002 1049 1050 + 1004 966 1009 + 1004 1009 1051 + 1004 960 959 + 1005 964 1007 + 1005 1006 963 + 1006 1005 1052 + 1007 1011 1053 + 1007 1053 1052 + 1007 964 968 + 1008 966 965 + 1008 1009 966 + 1008 967 1010 + 1010 1006 1052 + 1010 1054 1008 + 1011 1013 1057 + 1012 1014 971 + 1013 1011 969 + 1014 970 971 + 1015 1056 1012 + 1015 1016 1061 + 1016 1015 972 + 1016 972 973 + 1017 1062 1064 + 1017 1044 1062 + 1017 975 997 + 1018 1021 1065 + 1020 1017 1064 + 1020 1067 1021 + 1023 1022 1073 + 1024 984 1033 + 1025 1024 1077 + 1025 979 977 + 1025 1027 979 + 1026 1028 980 + 1026 980 978 + 1026 1027 1079 + 1027 1078 1079 + 1028 1080 1029 + 1029 981 980 + 1029 980 1028 + 1031 1034 1082 + 1031 1082 1032 + 1032 1083 1033 + 1032 1033 984 + 1032 982 1031 + 1033 1083 1084 + 1034 1031 985 + 1034 985 986 + 1035 1034 986 + 1036 1087 1035 + 1036 988 987 + 1036 987 989 + 1037 1087 1036 + 1037 1036 989 + 1037 989 990 + 1038 1039 1089 + 1038 1088 1037 + 1040 1041 1091 + 1041 994 1042 + 1041 1040 992 + 1042 1091 1041 + 1043 1039 996 + 1043 1040 1091 + 1043 1091 1092 + 1043 1092 1090 + 1045 1044 998 + 1045 998 1003 + 1045 1094 1093 + 1045 1003 1047 + 1046 1000 999 + 1046 1048 1000 + 1047 1003 1050 + 1047 1096 1094 + 1047 1094 1045 + 1048 1097 1049 + 1049 1002 1001 + 1050 1096 1047 + 1050 1003 1002 + 1051 1099 1095 + 1051 1009 1054 + 1051 1046 1004 + 1052 1055 1010 + 1052 1005 1007 + 1052 1053 1101 + 1054 1009 1008 + 1054 1099 1051 + 1055 1054 1010 + 1056 1103 1058 + 1056 1060 1103 + 1057 1053 1011 + 1057 1100 1053 + 1058 1014 1012 + 1058 1105 1059 + 1058 1012 1056 + 1059 1014 1058 + 1059 1013 1014 + 1059 1057 1013 + 1059 1105 1104 + 1060 1061 1107 + 1060 1106 1103 + 1061 1060 1056 + 1061 1056 1015 + 1062 1044 1093 + 1063 1111 1070 + 1064 1062 1110 + 1064 1110 1112 + 1064 1112 1067 + 1064 1067 1020 + 1065 1021 1068 + 1065 1019 1018 + 1065 1066 1019 + 1066 1113 1069 + 1066 1063 1019 + 1067 1114 1068 + 1068 1021 1067 + 1068 1113 1065 + 1069 1113 1116 + 1069 1111 1063 + 1069 1063 1066 + 1069 1116 1115 + 1070 1111 1117 + 1070 1117 1071 + 1072 1073 1022 + 1073 1074 1023 + 1073 1072 1119 + 1073 1119 1121 + 1074 1075 1023 + 1074 1073 1121 + 1075 1074 1121 + 1076 1033 1084 + 1076 1123 1122 + 1076 1122 1077 + 1076 1024 1033 + 1077 1024 1076 + 1077 1122 1124 + 1077 1124 1078 + 1077 1078 1025 + 1078 1124 1125 + 1078 1027 1025 + 1079 1080 1028 + 1079 1028 1026 + 1080 1030 1029 + 1080 1079 1125 + 1080 1125 1081 + 1081 1030 1080 + 1082 1083 1032 + 1083 1082 1126 + 1084 1083 1126 + 1084 1128 1129 + 1084 1129 1123 + 1084 1123 1076 + 1085 1082 1034 + 1085 1034 1086 + 1086 1034 1035 + 1086 1130 1085 + 1086 1131 1130 + 1087 1086 1035 + 1088 1132 1131 + 1088 1089 1132 + 1088 1087 1037 + 1089 1088 1038 + 1090 1092 1134 + 1090 1134 1133 + 1090 1089 1039 + 1090 1039 1043 + 1092 1135 1134 + 1093 1109 1062 + 1093 1044 1045 + 1095 1097 1048 + 1095 1048 1046 + 1095 1046 1051 + 1096 1050 1098 + 1097 1095 1140 + 1097 1142 1098 + 1098 1050 1049 + 1098 1142 1141 + 1098 1049 1097 + 1099 1054 1102 + 1099 1143 1140 + 1100 1104 1139 + 1100 1144 1101 + 1101 1102 1055 + 1101 1144 1145 + 1101 1055 1052 + 1101 1053 1100 + 1102 1054 1055 + 1102 1143 1099 + 1103 1105 1058 + 1104 1105 1147 + 1104 1100 1057 + 1104 1057 1059 + 1107 1149 1150 + 1107 1150 1106 + 1107 1106 1060 + 1107 1061 1108 + 1108 1149 1107 + 1109 1110 1062 + 1109 1093 1137 + 1109 1137 1153 + 1110 1109 1153 + 1111 1115 1155 + 1112 1114 1067 + 1113 1066 1065 + 1114 1113 1068 + 1115 1111 1069 + 1116 1113 1157 + 1116 1159 1158 + 1117 1118 1071 + 1117 1155 1160 + 1118 1120 1072 + 1119 1120 1163 + 1119 1163 1121 + 1120 1119 1072 + 1120 1118 1162 + 1121 1163 1165 + 1124 1122 1167 + 1125 1124 1169 + 1125 1079 1078 + 1126 1170 1128 + 1126 1128 1084 + 1126 1085 1127 + 1126 1082 1085 + 1127 1085 1130 + 1127 1130 1166 + 1127 1170 1126 + 1128 1170 1171 + 1129 1171 1172 + 1129 1172 1168 + 1131 1086 1087 + 1131 1087 1088 + 1132 1089 1133 + 1133 1177 1176 + 1133 1089 1090 + 1133 1134 1175 + 1134 1178 1175 + 1135 1092 1136 + 1135 1179 1178 + 1135 1178 1134 + 1136 1092 1091 + 1137 1094 1138 + 1137 1093 1094 + 1138 1094 1096 + 1138 1096 1141 + 1138 1180 1137 + 1139 1104 1147 + 1139 1144 1100 + 1139 1147 1182 + 1140 1184 1142 + 1140 1095 1099 + 1140 1142 1097 + 1141 1096 1098 + 1143 1184 1140 + 1145 1144 1187 + 1145 1187 1186 + 1145 1143 1102 + 1145 1102 1101 + 1146 1105 1103 + 1146 1103 1106 + 1146 1106 1148 + 1146 1148 1188 + 1147 1105 1146 + 1148 1106 1150 + 1148 1189 1188 + 1150 1149 1190 + 1151 1191 1190 + 1151 1149 1152 + 1152 1149 1108 + 1152 1192 1151 + 1153 1137 1180 + 1153 1154 1110 + 1154 1156 1112 + 1154 1112 1110 + 1155 1117 1111 + 1155 1158 1196 + 1156 1197 1157 + 1156 1114 1112 + 1156 1154 1195 + 1157 1113 1114 + 1157 1114 1156 + 1157 1197 1159 + 1158 1155 1115 + 1158 1159 1198 + 1158 1115 1116 + 1159 1199 1198 + 1159 1116 1157 + 1160 1200 1161 + 1160 1118 1117 + 1161 1200 1201 + 1161 1118 1160 + 1161 1201 1162 + 1162 1202 1164 + 1162 1201 1202 + 1162 1118 1161 + 1163 1203 1165 + 1163 1120 1164 + 1164 1203 1163 + 1164 1120 1162 + 1166 1130 1173 + 1166 1170 1127 + 1167 1122 1123 + 1167 1206 1169 + 1167 1123 1168 + 1168 1206 1167 + 1168 1123 1129 + 1169 1124 1167 + 1170 1204 1207 + 1171 1170 1207 + 1171 1129 1128 + 1173 1130 1131 + 1173 1131 1132 + 1173 1210 1174 + 1174 1212 1211 + 1174 1210 1212 + 1174 1166 1173 + 1175 1178 1213 + 1175 1177 1133 + 1176 1214 1210 + 1176 1173 1132 + 1176 1132 1133 + 1177 1214 1176 + 1178 1179 1215 + 1179 1135 1136 + 1180 1138 1181 + 1181 1138 1141 + 1181 1141 1185 + 1181 1218 1216 + 1182 1183 1139 + 1182 1217 1219 + 1183 1219 1220 + 1183 1144 1139 + 1184 1221 1185 + 1185 1142 1184 + 1185 1221 1218 + 1185 1218 1181 + 1185 1141 1142 + 1186 1184 1143 + 1186 1222 1221 + 1186 1143 1145 + 1187 1222 1186 + 1187 1144 1183 + 1188 1182 1147 + 1188 1147 1146 + 1188 1189 1224 + 1189 1150 1190 + 1189 1148 1150 + 1189 1190 1225 + 1190 1149 1151 + 1191 1192 1226 + 1191 1226 1225 + 1192 1191 1151 + 1193 1154 1153 + 1193 1153 1194 + 1194 1153 1180 + 1194 1227 1193 + 1195 1230 1197 + 1195 1154 1193 + 1196 1160 1155 + 1196 1158 1198 + 1197 1199 1159 + 1197 1156 1195 + 1197 1230 1232 + 1198 1231 1196 + 1200 1160 1196 + 1202 1203 1164 + 1202 1236 1203 + 1204 1170 1166 + 1204 1166 1174 + 1205 1239 1240 + 1205 1172 1209 + 1205 1168 1172 + 1206 1168 1205 + 1207 1204 1238 + 1207 1238 1241 + 1207 1241 1208 + 1208 1241 1242 + 1208 1172 1171 + 1208 1171 1207 + 1209 1172 1208 + 1209 1239 1205 + 1210 1173 1176 + 1211 1212 1245 + 1211 1245 1243 + 1211 1204 1174 + 1212 1210 1244 + 1213 1177 1175 + 1213 1178 1215 + 1214 1177 1213 + 1214 1213 1246 + 1216 1180 1181 + 1216 1194 1180 + 1216 1218 1247 + 1217 1248 1219 + 1217 1182 1188 + 1219 1248 1250 + 1219 1183 1182 + 1220 1222 1187 + 1220 1187 1183 + 1220 1219 1250 + 1221 1184 1186 + 1221 1252 1249 + 1222 1252 1221 + 1223 1224 1253 + 1223 1217 1224 + 1224 1255 1253 + 1224 1217 1188 + 1225 1226 1255 + 1225 1255 1224 + 1225 1190 1191 + 1225 1224 1189 + 1227 1228 1256 + 1227 1195 1193 + 1228 1257 1256 + 1228 1227 1194 + 1228 1194 1216 + 1229 1227 1256 + 1230 1195 1227 + 1230 1227 1229 + 1231 1233 1261 + 1231 1198 1233 + 1231 1200 1196 + 1232 1199 1197 + 1232 1262 1233 + 1232 1230 1260 + 1233 1198 1199 + 1233 1199 1232 + 1233 1262 1263 + 1234 1264 1235 + 1234 1201 1200 + 1234 1200 1231 + 1234 1231 1261 + 1235 1236 1202 + 1235 1202 1201 + 1235 1201 1234 + 1236 1266 1237 + 1236 1235 1265 + 1237 1203 1236 + 1238 1204 1211 + 1238 1243 1267 + 1239 1268 1240 + 1239 1209 1242 + 1240 1206 1205 + 1241 1269 1242 + 1242 1269 1268 + 1242 1209 1208 + 1242 1268 1239 + 1243 1271 1270 + 1243 1238 1211 + 1244 1245 1212 + 1244 1210 1214 + 1245 1271 1243 + 1246 1244 1214 + 1246 1213 1215 + 1247 1273 1257 + 1247 1257 1228 + 1247 1228 1216 + 1248 1217 1223 + 1248 1223 1254 + 1249 1247 1218 + 1249 1218 1221 + 1249 1275 1273 + 1250 1251 1220 + 1251 1276 1277 + 1251 1222 1220 + 1251 1252 1222 + 1252 1275 1249 + 1253 1255 1278 + 1253 1278 1254 + 1254 1274 1248 + 1254 1278 1279 + 1254 1223 1253 + 1255 1280 1278 + 1256 1257 1282 + 1256 1282 1258 + 1256 1258 1229 + 1257 1281 1282 + 1259 1258 1285 + 1259 1229 1258 + 1259 1284 1260 + 1260 1262 1232 + 1260 1230 1229 + 1260 1229 1259 + 1261 1233 1263 + 1261 1287 1264 + 1261 1264 1234 + 1263 1287 1261 + 1263 1288 1287 + 1263 1262 1288 + 1264 1289 1265 + 1265 1266 1236 + 1265 1235 1264 + 1267 1241 1238 + 1267 1243 1270 + 1269 1241 1267 + 1269 1267 1290 + 1270 1291 1290 + 1271 1245 1272 + 1271 1291 1270 + 1272 1245 1244 + 1272 1293 1271 + 1272 1244 1246 + 1273 1247 1249 + 1273 1275 1295 + 1274 1250 1248 + 1274 1296 1276 + 1276 1296 1298 + 1276 1251 1250 + 1276 1250 1274 + 1277 1275 1252 + 1277 1252 1251 + 1277 1276 1298 + 1279 1296 1274 + 1279 1278 1301 + 1279 1274 1254 + 1281 1257 1273 + 1281 1294 1302 + 1281 1273 1295 + 1282 1281 1302 + 1283 1282 1303 + 1283 1258 1282 + 1284 1286 1260 + 1285 1258 1283 + 1285 1283 1306 + 1285 1284 1259 + 1286 1305 1308 + 1286 1262 1260 + 1287 1289 1264 + 1288 1308 1309 + 1288 1262 1286 + 1289 1287 1309 + 1289 1266 1265 + 1290 1268 1269 + 1290 1267 1270 + 1291 1292 1311 + 1291 1311 1290 + 1292 1293 1316 + 1292 1291 1293 + 1292 1315 1314 + 1293 1291 1271 + 1295 1275 1297 + 1295 1297 1320 + 1295 1320 1294 + 1295 1294 1281 + 1297 1275 1277 + 1297 1299 1322 + 1298 1299 1277 + 1299 1297 1277 + 1300 1296 1279 + 1300 1324 1325 + 1300 1321 1296 + 1301 1278 1280 + 1301 1300 1279 + 1302 1294 1310 + 1302 1303 1282 + 1303 1302 1327 + 1303 1328 1304 + 1303 1304 1283 + 1304 1328 1329 + 1305 1286 1284 + 1305 1284 1307 + 1306 1330 1332 + 1306 1307 1285 + 1306 1304 1330 + 1306 1283 1304 + 1307 1332 1331 + 1307 1284 1285 + 1308 1288 1286 + 1309 1287 1288 + 1311 1292 1314 + 1313 1337 1336 + 1313 1339 1338 + 1314 1335 1311 + 1314 1315 1340 + 1316 1342 1315 + 1316 1315 1292 + 1317 1312 1336 + 1317 1336 1344 + 1318 1310 1319 + 1318 1319 1347 + 1318 1347 1346 + 1319 1294 1320 + 1319 1310 1294 + 1319 1348 1347 + 1320 1322 1348 + 1321 1298 1296 + 1321 1349 1323 + 1322 1320 1297 + 1322 1299 1323 + 1323 1299 1298 + 1323 1350 1322 + 1323 1298 1321 + 1324 1300 1301 + 1325 1349 1321 + 1325 1321 1300 + 1326 1351 1324 + 1326 1324 1301 + 1327 1302 1310 + 1327 1353 1328 + 1327 1310 1334 + 1327 1334 1352 + 1328 1303 1327 + 1329 1328 1354 + 1329 1330 1304 + 1331 1333 1308 + 1331 1332 1358 + 1331 1308 1305 + 1331 1305 1307 + 1332 1307 1306 + 1333 1309 1308 + 1334 1310 1318 + 1336 1312 1313 + 1337 1362 1336 + 1337 1338 1365 + 1338 1337 1313 + 1339 1363 1364 + 1339 1364 1338 + 1340 1315 1341 + 1340 1335 1314 + 1340 1361 1335 + 1340 1368 1361 + 1341 1368 1340 + 1342 1341 1315 + 1342 1343 1371 + 1344 1373 1345 + 1344 1336 1362 + 1344 1345 1317 + 1345 1373 1374 + 1345 1372 1343 + 1346 1334 1318 + 1346 1375 1359 + 1346 1347 1376 + 1347 1377 1376 + 1347 1348 1377 + 1348 1319 1320 + 1348 1322 1350 + 1349 1350 1323 + 1349 1351 1378 + 1349 1325 1351 + 1350 1377 1348 + 1351 1325 1324 + 1352 1379 1353 + 1352 1353 1327 + 1352 1334 1359 + 1353 1380 1354 + 1354 1380 1381 + 1354 1328 1353 + 1355 1382 1357 + 1355 1329 1356 + 1355 1330 1329 + 1356 1383 1382 + 1356 1382 1355 + 1356 1329 1354 + 1357 1332 1330 + 1357 1330 1355 + 1358 1357 1384 + 1358 1332 1357 + 1358 1333 1331 + 1359 1375 1385 + 1359 1385 1386 + 1359 1379 1352 + 1359 1334 1346 + 1360 1335 1361 + 1360 1388 1387 + 1361 1388 1360 + 1362 1373 1344 + 1363 1339 1367 + 1364 1363 1394 + 1364 1366 1338 + 1365 1362 1337 + 1365 1338 1366 + 1366 1395 1396 + 1367 1397 1391 + 1368 1402 1389 + 1368 1341 1369 + 1369 1401 1402 + 1369 1402 1368 + 1369 1341 1370 + 1370 1404 1401 + 1370 1341 1342 + 1370 1401 1369 + 1371 1343 1372 + 1371 1370 1342 + 1372 1374 1406 + 1372 1403 1371 + 1373 1362 1392 + 1374 1372 1345 + 1375 1376 1409 + 1376 1410 1409 + 1376 1375 1346 + 1377 1350 1378 + 1378 1410 1377 + 1378 1350 1349 + 1379 1380 1353 + 1380 1412 1381 + 1381 1413 1383 + 1381 1356 1354 + 1382 1383 1414 + 1383 1356 1381 + 1383 1413 1414 + 1384 1357 1382 + 1385 1375 1409 + 1386 1379 1359 + 1387 1420 1390 + 1388 1389 1422 + 1388 1421 1387 + 1389 1388 1361 + 1389 1361 1368 + 1390 1423 1424 + 1390 1420 1423 + 1391 1363 1367 + 1391 1393 1363 + 1392 1405 1373 + 1392 1362 1365 + 1392 1365 1396 + 1394 1363 1393 + 1394 1393 1428 + 1395 1364 1394 + 1395 1366 1364 + 1396 1395 1429 + 1396 1426 1392 + 1396 1365 1366 + 1397 1425 1391 + 1397 1398 1430 + 1399 1440 1400 + 1401 1443 1402 + 1402 1444 1422 + 1402 1443 1444 + 1403 1404 1371 + 1404 1443 1401 + 1404 1370 1371 + 1405 1426 1447 + 1406 1445 1403 + 1406 1403 1372 + 1406 1407 1448 + 1407 1406 1374 + 1407 1373 1405 + 1407 1374 1373 + 1408 1417 1415 + 1409 1410 1450 + 1409 1450 1408 + 1409 1408 1385 + 1410 1376 1377 + 1411 1412 1380 + 1411 1380 1379 + 1411 1379 1386 + 1412 1413 1381 + 1412 1452 1413 + 1414 1413 1453 + 1414 1384 1382 + 1415 1455 1416 + 1415 1417 1455 + 1415 1386 1385 + 1415 1385 1408 + 1416 1454 1451 + 1416 1411 1386 + 1416 1386 1415 + 1418 1459 1461 + 1420 1387 1421 + 1421 1388 1422 + 1421 1463 1420 + 1422 1444 1464 + 1422 1389 1402 + 1422 1464 1421 + 1423 1463 1465 + 1423 1466 1424 + 1424 1466 1460 + 1425 1427 1393 + 1425 1393 1391 + 1426 1470 1469 + 1426 1405 1392 + 1427 1425 1468 + 1427 1471 1428 + 1428 1471 1472 + 1428 1393 1427 + 1428 1395 1394 + 1429 1470 1426 + 1429 1395 1428 + 1429 1426 1396 + 1430 1473 1468 + 1430 1425 1397 + 1431 1398 1432 + 1431 1476 1474 + 1431 1430 1398 + 1432 1476 1431 + 1433 1477 1432 + 1434 1480 1479 + 1435 1481 1434 + 1436 1400 1442 + 1437 1483 1435 + 1438 1439 1399 + 1439 1440 1399 + 1440 1439 1486 + 1440 1486 1487 + 1441 1439 1438 + 1441 1489 1488 + 1442 1484 1436 + 1442 1400 1440 + 1443 1446 1493 + 1444 1493 1492 + 1445 1494 1446 + 1445 1404 1403 + 1445 1406 1448 + 1446 1443 1404 + 1446 1404 1445 + 1447 1407 1405 + 1447 1426 1469 + 1447 1448 1407 + 1449 1408 1450 + 1449 1417 1408 + 1449 1457 1456 + 1450 1497 1449 + 1451 1454 1500 + 1451 1412 1411 + 1451 1411 1416 + 1452 1453 1413 + 1452 1412 1451 + 1453 1501 1502 + 1454 1503 1500 + 1455 1454 1416 + 1456 1506 1504 + 1456 1455 1417 + 1456 1417 1449 + 1457 1506 1456 + 1457 1497 1458 + 1460 1459 1424 + 1460 1467 1508 + 1461 1459 1508 + 1461 1419 1418 + 1461 1510 1462 + 1462 1419 1461 + 1463 1421 1464 + 1463 1511 1465 + 1463 1423 1420 + 1464 1444 1492 + 1464 1511 1463 + 1465 1466 1423 + 1466 1465 1513 + 1466 1467 1460 + 1467 1509 1508 + 1467 1514 1509 + 1467 1466 1514 + 1468 1425 1430 + 1468 1473 1516 + 1469 1517 1496 + 1469 1496 1447 + 1470 1429 1472 + 1470 1472 1518 + 1470 1517 1469 + 1471 1427 1468 + 1471 1516 1519 + 1472 1429 1428 + 1472 1471 1519 + 1473 1430 1431 + 1474 1476 1527 + 1474 1473 1431 + 1474 1527 1526 + 1475 1479 1528 + 1476 1477 1529 + 1477 1476 1432 + 1477 1433 1478 + 1478 1433 1475 + 1479 1475 1434 + 1480 1481 1533 + 1480 1533 1532 + 1481 1480 1434 + 1481 1435 1482 + 1482 1435 1483 + 1482 1535 1534 + 1483 1535 1482 + 1484 1437 1436 + 1484 1483 1437 + 1484 1442 1490 + 1485 1441 1438 + 1485 1537 1489 + 1486 1439 1441 + 1486 1488 1538 + 1486 1538 1487 + 1487 1442 1440 + 1487 1538 1491 + 1488 1486 1441 + 1488 1489 1539 + 1489 1441 1485 + 1490 1442 1491 + 1490 1541 1536 + 1491 1541 1490 + 1491 1538 1542 + 1491 1442 1487 + 1492 1493 1543 + 1492 1543 1511 + 1493 1446 1495 + 1493 1444 1443 + 1493 1495 1544 + 1493 1544 1543 + 1494 1495 1446 + 1494 1496 1545 + 1494 1445 1448 + 1495 1545 1546 + 1496 1494 1448 + 1496 1448 1447 + 1497 1457 1449 + 1498 1458 1497 + 1498 1499 1505 + 1499 1549 1548 + 1499 1498 1550 + 1500 1503 1554 + 1500 1501 1452 + 1500 1452 1451 + 1500 1554 1555 + 1501 1453 1452 + 1502 1501 1556 + 1502 1556 1558 + 1503 1454 1455 + 1503 1455 1504 + 1504 1455 1456 + 1504 1506 1559 + 1505 1458 1498 + 1505 1499 1553 + 1505 1553 1560 + 1505 1507 1458 + 1506 1561 1559 + 1506 1457 1507 + 1507 1457 1458 + 1508 1510 1461 + 1508 1459 1460 + 1510 1508 1567 + 1511 1464 1492 + 1511 1568 1512 + 1512 1569 1513 + 1512 1513 1465 + 1512 1465 1511 + 1513 1514 1466 + 1515 1571 1572 + 1515 1509 1514 + 1515 1514 1570 + 1516 1471 1468 + 1517 1575 1547 + 1518 1576 1575 + 1518 1517 1470 + 1518 1472 1519 + 1519 1516 1574 + 1519 1576 1518 + 1519 1574 1576 + 1520 1523 1577 + 1521 1522 1578 + 1522 1579 1578 + 1524 1583 1581 + 1526 1473 1474 + 1526 1516 1473 + 1527 1529 1590 + 1527 1590 1589 + 1528 1478 1475 + 1528 1591 1530 + 1529 1527 1476 + 1529 1477 1530 + 1530 1592 1529 + 1530 1477 1478 + 1530 1478 1528 + 1531 1593 1591 + 1531 1528 1479 + 1531 1594 1593 + 1532 1533 1595 + 1532 1479 1480 + 1532 1531 1479 + 1533 1481 1534 + 1534 1595 1533 + 1534 1535 1596 + 1534 1481 1482 + 1535 1483 1536 + 1535 1536 1597 + 1536 1483 1484 + 1536 1484 1490 + 1537 1485 1521 + 1537 1599 1540 + 1537 1578 1598 + 1538 1539 1600 + 1538 1488 1539 + 1539 1489 1540 + 1539 1540 1601 + 1540 1599 1602 + 1540 1489 1537 + 1541 1603 1597 + 1542 1541 1491 + 1542 1538 1600 + 1543 1544 1605 + 1543 1568 1511 + 1544 1495 1546 + 1545 1496 1547 + 1545 1547 1607 + 1545 1495 1494 + 1546 1545 1607 + 1546 1607 1606 + 1547 1496 1517 + 1547 1575 1608 + 1548 1610 1609 + 1548 1549 1611 + 1548 1553 1499 + 1549 1550 1613 + 1550 1549 1499 + 1550 1498 1497 + 1551 1563 1618 + 1552 1525 1551 + 1552 1620 1617 + 1553 1621 1560 + 1553 1548 1609 + 1554 1503 1559 + 1555 1625 1556 + 1555 1556 1501 + 1555 1554 1624 + 1555 1501 1500 + 1556 1625 1623 + 1558 1627 1557 + 1558 1557 1502 + 1559 1624 1554 + 1559 1503 1504 + 1560 1621 1630 + 1560 1561 1507 + 1560 1507 1505 + 1561 1629 1559 + 1561 1506 1507 + 1563 1564 1633 + 1564 1565 1635 + 1566 1637 1567 + 1566 1573 1637 + 1566 1509 1515 + 1567 1508 1509 + 1567 1509 1566 + 1568 1543 1605 + 1568 1569 1512 + 1568 1638 1569 + 1570 1514 1513 + 1570 1513 1569 + 1570 1571 1515 + 1570 1569 1639 + 1572 1571 1640 + 1572 1642 1573 + 1572 1566 1515 + 1573 1566 1572 + 1574 1516 1526 + 1574 1526 1589 + 1575 1517 1518 + 1575 1576 1644 + 1576 1574 1643 + 1577 1522 1520 + 1577 1579 1522 + 1577 1523 1580 + 1578 1579 1647 + 1578 1537 1521 + 1580 1523 1581 + 1580 1646 1577 + 1581 1523 1524 + 1581 1648 1580 + 1582 1649 1651 + 1582 1651 1652 + 1583 1524 1582 + 1583 1652 1653 + 1583 1650 1581 + 1584 1525 1552 + 1584 1616 1585 + 1584 1552 1617 + 1585 1616 1614 + 1585 1656 1584 + 1586 1585 1614 + 1587 1659 1658 + 1587 1657 1586 + 1587 1586 1588 + 1588 1659 1587 + 1588 1586 1615 + 1589 1590 1662 + 1589 1526 1527 + 1589 1643 1574 + 1590 1592 1663 + 1590 1529 1592 + 1591 1592 1530 + 1591 1528 1531 + 1592 1664 1663 + 1594 1666 1665 + 1594 1531 1532 + 1595 1666 1594 + 1595 1594 1532 + 1596 1668 1667 + 1596 1595 1534 + 1596 1667 1595 + 1596 1535 1597 + 1597 1668 1596 + 1597 1536 1541 + 1598 1599 1537 + 1598 1578 1647 + 1598 1661 1669 + 1600 1670 1604 + 1600 1604 1542 + 1600 1539 1601 + 1601 1540 1602 + 1601 1602 1670 + 1601 1670 1600 + 1602 1669 1671 + 1603 1604 1672 + 1603 1668 1597 + 1603 1541 1542 + 1604 1670 1673 + 1604 1603 1542 + 1605 1544 1606 + 1605 1606 1674 + 1605 1638 1568 + 1606 1607 1675 + 1606 1544 1546 + 1607 1608 1676 + 1607 1547 1608 + 1608 1644 1677 + 1609 1621 1553 + 1609 1610 1678 + 1609 1678 1622 + 1610 1548 1611 + 1611 1680 1610 + 1611 1549 1612 + 1612 1681 1611 + 1613 1682 1612 + 1613 1612 1549 + 1614 1616 1683 + 1614 1615 1586 + 1615 1614 1684 + 1617 1616 1584 + 1617 1620 1687 + 1618 1686 1688 + 1618 1563 1633 + 1618 1619 1551 + 1619 1552 1551 + 1619 1620 1552 + 1620 1619 1689 + 1622 1691 1690 + 1622 1621 1609 + 1622 1678 1691 + 1623 1558 1556 + 1623 1625 1692 + 1624 1625 1555 + 1625 1624 1693 + 1626 1631 1562 + 1626 1557 1627 + 1627 1694 1626 + 1627 1695 1694 + 1628 1695 1627 + 1628 1627 1558 + 1628 1558 1623 + 1629 1624 1559 + 1629 1561 1630 + 1629 1630 1697 + 1630 1561 1560 + 1630 1621 1690 + 1631 1694 1698 + 1632 1562 1631 + 1632 1631 1699 + 1632 1565 1562 + 1633 1564 1634 + 1633 1634 1700 + 1633 1700 1686 + 1633 1686 1618 + 1634 1635 1701 + 1635 1565 1636 + 1635 1634 1564 + 1636 1565 1632 + 1638 1705 1639 + 1638 1704 1705 + 1639 1705 1640 + 1639 1640 1571 + 1639 1569 1638 + 1639 1571 1570 + 1640 1642 1572 + 1641 1637 1573 + 1641 1708 1706 + 1641 1573 1642 + 1642 1708 1641 + 1642 1709 1708 + 1643 1645 1576 + 1643 1710 1645 + 1644 1608 1575 + 1644 1576 1645 + 1645 1711 1644 + 1646 1647 1579 + 1646 1648 1712 + 1646 1579 1577 + 1647 1712 1661 + 1647 1661 1598 + 1648 1650 1713 + 1648 1646 1580 + 1649 1654 1715 + 1650 1648 1581 + 1650 1653 1717 + 1651 1716 1718 + 1652 1583 1582 + 1653 1650 1583 + 1653 1652 1719 + 1654 1649 1655 + 1655 1723 1722 + 1656 1657 1723 + 1656 1723 1655 + 1657 1724 1723 + 1657 1656 1585 + 1657 1585 1586 + 1658 1657 1587 + 1658 1659 1725 + 1662 1663 1728 + 1662 1710 1643 + 1662 1643 1589 + 1663 1664 1729 + 1663 1662 1590 + 1664 1592 1591 + 1664 1591 1593 + 1665 1664 1593 + 1665 1593 1594 + 1666 1730 1665 + 1667 1666 1595 + 1668 1733 1732 + 1668 1672 1733 + 1669 1602 1599 + 1669 1599 1598 + 1669 1661 1727 + 1671 1669 1734 + 1671 1670 1602 + 1672 1736 1733 + 1672 1668 1603 + 1673 1670 1735 + 1673 1735 1736 + 1673 1736 1672 + 1673 1672 1604 + 1674 1606 1675 + 1674 1738 1737 + 1674 1638 1605 + 1675 1738 1674 + 1676 1739 1675 + 1676 1675 1607 + 1677 1644 1711 + 1677 1676 1608 + 1677 1711 1740 + 1678 1610 1679 + 1679 1743 1742 + 1679 1610 1680 + 1679 1742 1678 + 1680 1681 1744 + 1680 1743 1679 + 1681 1612 1682 + 1681 1680 1611 + 1682 1744 1681 + 1683 1616 1685 + 1683 1745 1684 + 1684 1614 1683 + 1685 1745 1683 + 1685 1616 1617 + 1686 1700 1750 + 1687 1751 1747 + 1687 1685 1617 + 1687 1620 1689 + 1688 1750 1752 + 1688 1619 1618 + 1689 1619 1688 + 1689 1688 1752 + 1689 1751 1687 + 1690 1621 1622 + 1691 1678 1741 + 1691 1741 1754 + 1692 1696 1628 + 1692 1628 1623 + 1693 1624 1629 + 1693 1692 1625 + 1693 1629 1697 + 1694 1631 1626 + 1694 1695 1756 + 1695 1628 1696 + 1696 1757 1695 + 1697 1630 1690 + 1697 1755 1693 + 1697 1690 1753 + 1698 1760 1699 + 1699 1636 1632 + 1699 1631 1698 + 1699 1760 1702 + 1701 1762 1761 + 1701 1700 1634 + 1702 1636 1699 + 1702 1635 1636 + 1702 1701 1635 + 1702 1760 1762 + 1703 1637 1641 + 1703 1764 1763 + 1704 1638 1674 + 1705 1704 1767 + 1705 1767 1707 + 1706 1703 1641 + 1707 1767 1769 + 1707 1642 1640 + 1707 1640 1705 + 1708 1770 1768 + 1709 1770 1708 + 1709 1642 1707 + 1710 1774 1711 + 1710 1662 1728 + 1711 1775 1740 + 1711 1645 1710 + 1712 1647 1646 + 1712 1648 1713 + 1713 1776 1712 + 1713 1650 1717 + 1714 1777 1726 + 1714 1725 1660 + 1715 1651 1649 + 1715 1716 1651 + 1715 1654 1721 + 1716 1715 1778 + 1717 1776 1713 + 1717 1653 1719 + 1718 1781 1719 + 1718 1652 1651 + 1719 1781 1780 + 1719 1652 1718 + 1719 1780 1717 + 1720 1654 1655 + 1721 1654 1720 + 1721 1720 1782 + 1721 1782 1783 + 1721 1783 1778 + 1722 1720 1655 + 1722 1782 1720 + 1724 1657 1658 + 1725 1714 1726 + 1725 1659 1660 + 1725 1724 1658 + 1725 1786 1724 + 1725 1726 1787 + 1726 1777 1788 + 1727 1712 1776 + 1727 1661 1712 + 1727 1776 1790 + 1727 1734 1669 + 1728 1663 1729 + 1728 1729 1791 + 1728 1791 1774 + 1728 1774 1710 + 1729 1664 1665 + 1730 1729 1665 + 1731 1730 1666 + 1731 1666 1667 + 1732 1731 1667 + 1732 1667 1668 + 1732 1733 1794 + 1733 1736 1795 + 1733 1795 1794 + 1734 1735 1671 + 1735 1670 1671 + 1735 1796 1797 + 1736 1735 1797 + 1737 1798 1772 + 1737 1766 1704 + 1737 1704 1674 + 1738 1675 1739 + 1738 1798 1737 + 1739 1798 1738 + 1740 1676 1677 + 1740 1739 1676 + 1741 1678 1742 + 1742 1743 1803 + 1742 1802 1741 + 1743 1744 1804 + 1744 1743 1680 + 1745 1685 1746 + 1746 1805 1745 + 1746 1685 1747 + 1747 1806 1746 + 1747 1807 1806 + 1747 1685 1687 + 1747 1751 1807 + 1748 1745 1805 + 1748 1805 1808 + 1750 1688 1686 + 1752 1751 1689 + 1752 1750 1812 + 1753 1690 1691 + 1753 1758 1697 + 1753 1691 1754 + 1754 1815 1753 + 1754 1801 1816 + 1754 1741 1801 + 1755 1692 1693 + 1755 1696 1692 + 1755 1758 1817 + 1755 1757 1696 + 1756 1695 1757 + 1756 1698 1694 + 1758 1815 1819 + 1758 1755 1697 + 1759 1760 1698 + 1759 1698 1756 + 1759 1756 1818 + 1761 1762 1822 + 1761 1750 1700 + 1761 1700 1701 + 1761 1822 1812 + 1762 1701 1702 + 1763 1764 1823 + 1764 1703 1706 + 1764 1824 1823 + 1764 1706 1768 + 1765 1825 1827 + 1767 1828 1769 + 1767 1766 1828 + 1767 1704 1766 + 1768 1770 1829 + 1768 1706 1708 + 1768 1824 1764 + 1769 1830 1770 + 1769 1770 1709 + 1769 1709 1707 + 1770 1830 1829 + 1771 1828 1766 + 1771 1766 1772 + 1771 1772 1773 + 1771 1773 1831 + 1772 1798 1832 + 1772 1766 1737 + 1773 1772 1832 + 1774 1791 1836 + 1774 1775 1711 + 1775 1836 1837 + 1776 1838 1790 + 1776 1780 1838 + 1778 1779 1716 + 1778 1715 1721 + 1778 1841 1779 + 1779 1842 1781 + 1779 1718 1716 + 1780 1776 1717 + 1781 1842 1843 + 1781 1718 1779 + 1783 1782 1844 + 1783 1841 1778 + 1784 1846 1844 + 1784 1844 1782 + 1784 1782 1722 + 1784 1722 1785 + 1785 1722 1723 + 1785 1723 1724 + 1785 1786 1847 + 1785 1724 1786 + 1785 1846 1784 + 1787 1848 1786 + 1787 1726 1789 + 1787 1786 1725 + 1788 1789 1726 + 1788 1777 1839 + 1789 1848 1787 + 1789 1849 1850 + 1790 1838 1851 + 1790 1796 1734 + 1790 1734 1727 + 1791 1729 1792 + 1792 1729 1730 + 1792 1730 1793 + 1793 1853 1792 + 1793 1730 1731 + 1793 1854 1853 + 1794 1795 1855 + 1794 1855 1854 + 1794 1731 1732 + 1794 1793 1731 + 1795 1736 1797 + 1796 1735 1734 + 1796 1851 1857 + 1797 1856 1795 + 1797 1796 1857 + 1798 1799 1858 + 1798 1739 1799 + 1799 1859 1858 + 1799 1739 1740 + 1799 1740 1800 + 1800 1740 1775 + 1800 1860 1859 + 1800 1775 1837 + 1801 1802 1862 + 1802 1742 1803 + 1802 1863 1862 + 1802 1801 1741 + 1803 1863 1802 + 1804 1803 1743 + 1805 1809 1808 + 1805 1806 1865 + 1806 1805 1746 + 1807 1751 1813 + 1807 1813 1867 + 1808 1868 1810 + 1808 1809 1869 + 1808 1749 1748 + 1809 1870 1869 + 1809 1805 1865 + 1810 1868 1871 + 1810 1871 1872 + 1810 1749 1808 + 1811 1749 1810 + 1812 1750 1761 + 1812 1813 1752 + 1813 1874 1875 + 1813 1751 1752 + 1814 1801 1862 + 1815 1816 1877 + 1815 1758 1753 + 1816 1801 1814 + 1816 1814 1876 + 1816 1815 1754 + 1817 1757 1755 + 1817 1758 1819 + 1817 1878 1818 + 1818 1756 1757 + 1818 1820 1759 + 1818 1757 1817 + 1819 1878 1817 + 1819 1815 1877 + 1820 1760 1759 + 1821 1762 1760 + 1821 1760 1820 + 1821 1820 1881 + 1822 1821 1882 + 1822 1762 1821 + 1822 1874 1812 + 1823 1885 1825 + 1823 1765 1763 + 1823 1825 1765 + 1824 1829 1884 + 1824 1885 1823 + 1825 1886 1827 + 1826 1887 1883 + 1826 1765 1827 + 1827 1887 1826 + 1827 1886 1888 + 1828 1830 1769 + 1829 1824 1768 + 1829 1830 1890 + 1831 1891 1889 + 1831 1828 1771 + 1832 1834 1773 + 1833 1831 1773 + 1833 1893 1891 + 1833 1834 1894 + 1833 1773 1834 + 1834 1832 1892 + 1835 1896 1840 + 1836 1791 1852 + 1836 1775 1774 + 1837 1860 1800 + 1838 1899 1851 + 1838 1780 1843 + 1839 1849 1788 + 1839 1777 1835 + 1840 1901 1902 + 1840 1839 1835 + 1840 1902 1900 + 1841 1845 1903 + 1841 1783 1845 + 1842 1904 1843 + 1842 1779 1841 + 1843 1899 1838 + 1843 1904 1899 + 1843 1780 1781 + 1844 1846 1905 + 1844 1845 1783 + 1845 1844 1906 + 1847 1786 1848 + 1847 1848 1908 + 1847 1846 1785 + 1849 1789 1788 + 1850 1848 1789 + 1850 1849 1910 + 1851 1899 1911 + 1851 1796 1790 + 1852 1791 1792 + 1852 1853 1912 + 1853 1852 1792 + 1853 1854 1912 + 1854 1913 1912 + 1854 1793 1794 + 1855 1856 1914 + 1855 1913 1854 + 1856 1855 1795 + 1857 1911 1915 + 1857 1851 1911 + 1857 1915 1856 + 1857 1856 1797 + 1858 1892 1832 + 1858 1832 1798 + 1858 1859 1920 + 1859 1799 1800 + 1860 1922 1921 + 1861 1926 1925 + 1862 1932 1864 + 1863 1803 1804 + 1863 1932 1862 + 1864 1933 1873 + 1864 1814 1862 + 1865 1870 1809 + 1865 1806 1866 + 1866 1806 1807 + 1866 1935 1934 + 1866 1807 1867 + 1867 1813 1875 + 1867 1935 1866 + 1869 1868 1808 + 1870 1865 1934 + 1871 1942 1872 + 1871 1868 1937 + 1871 1937 1936 + 1872 1811 1810 + 1873 1814 1864 + 1874 1822 1882 + 1874 1945 1875 + 1874 1813 1812 + 1875 1945 1946 + 1875 1946 1935 + 1875 1935 1867 + 1876 1814 1873 + 1877 1880 1819 + 1877 1816 1876 + 1877 1876 1947 + 1878 1948 1879 + 1878 1879 1818 + 1879 1820 1818 + 1880 1878 1819 + 1881 1950 1882 + 1881 1820 1879 + 1881 1879 1948 + 1882 1945 1874 + 1882 1821 1881 + 1884 1953 1954 + 1884 1829 1890 + 1885 1886 1825 + 1885 1824 1884 + 1886 1885 1954 + 1888 1887 1827 + 1888 1886 1955 + 1888 1955 1957 + 1889 1830 1828 + 1889 1891 1958 + 1889 1828 1831 + 1889 1958 1890 + 1890 1830 1889 + 1890 1959 1953 + 1890 1958 1959 + 1890 1953 1884 + 1891 1960 1961 + 1891 1831 1833 + 1892 1962 1895 + 1893 1960 1891 + 1894 1834 1895 + 1894 1963 1893 + 1894 1893 1833 + 1895 1966 1894 + 1895 1834 1892 + 1896 1901 1840 + 1897 1837 1836 + 1897 1971 1898 + 1897 1836 1852 + 1897 1852 1912 + 1898 1837 1897 + 1898 1860 1837 + 1900 1849 1839 + 1900 1973 1907 + 1900 1839 1840 + 1901 1968 1970 + 1902 1973 1900 + 1903 1906 1976 + 1903 1842 1841 + 1904 1976 1972 + 1904 1903 1976 + 1904 1842 1903 + 1905 1906 1844 + 1905 1846 1908 + 1905 1908 1975 + 1906 1903 1845 + 1907 1849 1900 + 1908 1846 1847 + 1908 1848 1909 + 1908 1909 1979 + 1909 1848 1850 + 1910 1849 1907 + 1910 1909 1850 + 1910 1907 1978 + 1912 1913 1982 + 1912 1971 1897 + 1912 1982 1971 + 1913 1983 1982 + 1914 1984 1983 + 1914 1856 1915 + 1914 1983 1913 + 1914 1913 1855 + 1915 1984 1914 + 1915 1911 1981 + 1916 1923 1922 + 1916 1971 1985 + 1916 1898 1971 + 1918 1919 1917 + 1918 1861 1924 + 1919 1918 1993 + 1919 1991 1917 + 1920 1962 1892 + 1920 1996 1962 + 1920 1892 1858 + 1920 1859 1921 + 1921 1859 1860 + 1921 1922 1997 + 1921 1997 1996 + 1921 1996 1920 + 1922 1860 1898 + 1922 1898 1916 + 1923 1987 1986 + 1925 1926 2001 + 1925 1924 1861 + 1926 2004 2001 + 1927 1930 1928 + 1927 2005 2004 + 1927 2004 1926 + 1928 1930 1929 + 1928 2005 1927 + 1929 2007 2006 + 1931 2013 2011 + 1931 2011 2012 + 1932 2015 1933 + 1932 1933 1864 + 1934 1935 2017 + 1934 1938 1870 + 1934 1865 1866 + 1935 1946 2017 + 1936 1937 2019 + 1936 1941 1942 + 1937 1868 1939 + 1938 1940 1870 + 1939 1868 1869 + 1939 1869 1940 + 1939 1940 2022 + 1940 1869 1870 + 1940 1938 2021 + 1940 2021 2022 + 1942 1871 1936 + 1943 1873 1933 + 1943 1933 2016 + 1943 2016 2026 + 1944 1873 1943 + 1944 1876 1873 + 1944 1947 1876 + 1946 1945 2028 + 1947 2030 1949 + 1947 1880 1877 + 1948 1949 2031 + 1948 1880 1949 + 1948 1878 1880 + 1948 1950 1881 + 1949 1880 1947 + 1950 1948 2031 + 1950 2032 2028 + 1950 1945 1882 + 1951 1883 1952 + 1952 1883 1887 + 1952 2033 1951 + 1953 2036 1954 + 1954 1955 1886 + 1954 1885 1884 + 1954 2036 2037 + 1956 1952 1887 + 1956 2035 1952 + 1956 1887 1888 + 1957 1956 1888 + 1957 2039 1956 + 1957 1955 2038 + 1959 2040 2041 + 1959 2036 1953 + 1960 1963 1964 + 1960 1964 2042 + 1961 1958 1891 + 1961 1960 2042 + 1963 1894 1965 + 1963 1960 1893 + 1964 2046 2043 + 1965 1894 1966 + 1965 2045 1963 + 1966 2048 1965 + 1966 1895 1967 + 1966 1967 2049 + 1967 1962 2044 + 1967 1895 1962 + 1968 1901 1896 + 1969 2051 1968 + 1969 1989 2052 + 1970 2054 1974 + 1970 1968 2051 + 1971 1982 2055 + 1972 1976 2056 + 1972 2056 1981 + 1972 1911 1899 + 1972 1899 1904 + 1974 2057 1973 + 1974 1973 1902 + 1974 1902 1901 + 1974 1901 1970 + 1975 1977 1905 + 1975 1908 1979 + 1976 1906 1977 + 1976 1977 2059 + 1977 1906 1905 + 1977 1975 2058 + 1978 2060 1980 + 1978 1973 2057 + 1978 1907 1973 + 1978 1980 1910 + 1979 1909 1980 + 1979 2061 2058 + 1980 2061 1979 + 1980 1909 1910 + 1981 2062 1984 + 1981 1911 1972 + 1981 2056 2062 + 1982 1983 2063 + 1982 2063 2055 + 1983 2064 2063 + 1984 1915 1981 + 1984 2062 2064 + 1985 1923 1916 + 1985 1971 2055 + 1986 1999 1923 + 1986 2066 2050 + 1987 1985 2065 + 1987 1923 1985 + 1988 1991 2069 + 1990 2071 2070 + 1991 1919 1992 + 1992 1919 1994 + 1992 2074 2073 + 1992 2073 2072 + 1993 1918 1924 + 1993 1924 1995 + 1994 2074 1992 + 1994 1919 1993 + 1995 1924 2002 + 1995 2002 2076 + 1995 2075 1993 + 1997 1922 1998 + 1997 2077 1996 + 1998 1922 1923 + 1998 1923 1999 + 1999 2080 2079 + 1999 2078 1998 + 1999 1986 2000 + 2000 2081 2080 + 2001 2004 2083 + 2002 1924 1925 + 2002 1925 2003 + 2003 2084 2002 + 2003 1925 2001 + 2004 2085 2083 + 2005 1928 2006 + 2005 2086 2085 + 2006 2007 2087 + 2006 1928 1929 + 2006 2086 2005 + 2007 1929 2008 + 2008 2009 2090 + 2008 2089 2007 + 2009 2008 1929 + 2009 1929 1930 + 2010 2094 2093 + 2010 2012 2095 + 2012 2011 2097 + 2012 2010 1931 + 2014 2091 2100 + 2015 2105 2016 + 2016 1933 2015 + 2016 2105 2106 + 2017 1946 2029 + 2017 2018 1938 + 2017 2029 2107 + 2017 1938 1934 + 2018 2107 2108 + 2019 2023 1941 + 2019 1941 1936 + 2019 1937 2020 + 2019 2020 2110 + 2020 1937 1939 + 2021 2018 2109 + 2021 1938 2018 + 2022 2021 2112 + 2022 2020 1939 + 2024 2023 2113 + 2024 2113 2114 + 2024 1941 2023 + 2025 1942 1941 + 2025 1941 2024 + 2026 2106 2115 + 2026 2016 2106 + 2026 2116 2027 + 2026 1944 1943 + 2027 2030 1947 + 2027 1947 1944 + 2027 1944 2026 + 2028 2032 2118 + 2028 1945 1950 + 2029 1946 2028 + 2030 2120 2031 + 2031 2032 1950 + 2031 1949 2030 + 2033 2122 2034 + 2033 1952 2035 + 2034 1951 2033 + 2035 1956 2039 + 2037 2038 1955 + 2037 2036 2124 + 2037 1955 1954 + 2038 2039 1957 + 2039 2123 2035 + 2039 2038 2126 + 2040 2127 2041 + 2040 1959 1958 + 2040 1958 1961 + 2041 2127 2128 + 2041 2036 1959 + 2041 2128 2124 + 2042 2127 2040 + 2042 2040 1961 + 2043 2042 1964 + 2044 2077 2130 + 2044 1962 1996 + 2044 2047 1967 + 2045 2046 1964 + 2045 2048 2132 + 2045 1964 1963 + 2047 2044 2130 + 2047 2134 2049 + 2048 2045 1965 + 2048 1966 2049 + 2048 2049 2135 + 2049 1967 2047 + 2050 2000 1986 + 2050 2066 2136 + 2051 2137 2053 + 2052 2051 1969 + 2052 2137 2051 + 2052 2138 2137 + 2053 1970 2051 + 2054 2057 1974 + 2054 1970 2053 + 2054 2053 2139 + 2057 2054 2140 + 2057 2143 2060 + 2057 2060 1978 + 2058 2059 1977 + 2058 1975 1979 + 2058 2061 2144 + 2059 2056 1976 + 2059 2142 2056 + 2060 2143 2145 + 2061 2145 2144 + 2061 1980 2060 + 2062 2056 2142 + 2062 2142 2146 + 2063 2064 2147 + 2064 1983 1984 + 2065 2067 1987 + 2065 1985 2055 + 2065 2055 2141 + 2066 2150 2136 + 2066 1987 2067 + 2066 1986 1987 + 2067 2149 2150 + 2067 2150 2066 + 2068 2152 2151 + 2068 2151 2138 + 2068 2052 1989 + 2069 1990 1988 + 2069 2071 1990 + 2069 2072 2153 + 2070 2071 2154 + 2070 1989 1990 + 2070 2068 1989 + 2071 2069 2153 + 2072 2073 2156 + 2072 2069 1991 + 2072 1991 1992 + 2074 1994 2075 + 2074 2158 2157 + 2075 2158 2074 + 2075 1994 1993 + 2076 2158 2075 + 2076 2002 2084 + 2076 2075 1995 + 2077 2044 1996 + 2077 2078 2160 + 2078 2077 1997 + 2078 1997 1998 + 2079 2078 1999 + 2079 2080 2161 + 2080 1999 2000 + 2080 2081 2162 + 2081 2164 2162 + 2081 2000 2050 + 2081 2050 2082 + 2082 2163 2081 + 2082 2050 2136 + 2083 2166 2084 + 2083 2003 2001 + 2084 2159 2076 + 2084 2166 2167 + 2084 2003 2083 + 2085 2004 2005 + 2085 2086 2168 + 2085 2166 2083 + 2087 2086 2006 + 2087 2007 2088 + 2087 2170 2169 + 2088 2007 2089 + 2088 2170 2087 + 2089 2008 2090 + 2089 2172 2171 + 2092 2175 2174 + 2093 2175 2092 + 2093 2094 2176 + 2094 2095 2177 + 2095 2012 2097 + 2095 2094 2010 + 2095 2178 2177 + 2096 2013 2098 + 2096 2011 2013 + 2096 2179 2097 + 2097 2011 2096 + 2097 2179 2180 + 2097 2180 2178 + 2098 2179 2096 + 2099 2091 2174 + 2099 2183 2100 + 2100 2183 2184 + 2100 2101 2014 + 2100 2091 2099 + 2101 2184 2173 + 2101 2104 2014 + 2102 2188 2187 + 2102 2187 2186 + 2103 2186 2190 + 2104 2173 2192 + 2105 2194 2193 + 2107 2018 2017 + 2107 2029 2119 + 2108 2198 2109 + 2108 2196 2197 + 2108 2107 2196 + 2109 2112 2021 + 2109 2018 2108 + 2110 2020 2111 + 2110 2111 2200 + 2110 2023 2019 + 2111 2020 2022 + 2112 2199 2201 + 2112 2111 2022 + 2113 2202 2114 + 2113 2023 2110 + 2114 2025 2024 + 2115 2106 2195 + 2115 2116 2026 + 2116 2117 2027 + 2116 2115 2203 + 2117 2203 2205 + 2117 2030 2027 + 2118 2029 2028 + 2118 2032 2121 + 2118 2206 2119 + 2119 2206 2204 + 2119 2029 2118 + 2119 2196 2107 + 2120 2207 2121 + 2120 2032 2031 + 2120 2030 2117 + 2121 2032 2120 + 2121 2207 2206 + 2121 2206 2118 + 2122 2033 2035 + 2122 2035 2123 + 2123 2208 2122 + 2124 2210 2125 + 2124 2125 2037 + 2124 2036 2041 + 2125 2211 2126 + 2125 2038 2037 + 2126 2038 2125 + 2126 2211 2209 + 2126 2123 2039 + 2128 2127 2212 + 2128 2210 2124 + 2129 2042 2043 + 2129 2127 2042 + 2130 2077 2160 + 2130 2213 2131 + 2131 2134 2047 + 2131 2047 2130 + 2131 2215 2134 + 2132 2046 2045 + 2133 2046 2132 + 2133 2132 2216 + 2135 2216 2132 + 2135 2132 2048 + 2135 2049 2134 + 2136 2150 2219 + 2136 2219 2165 + 2136 2165 2082 + 2138 2221 2220 + 2138 2052 2068 + 2139 2140 2054 + 2139 2137 2220 + 2139 2053 2137 + 2140 2143 2057 + 2141 2063 2147 + 2141 2149 2065 + 2141 2055 2063 + 2141 2225 2149 + 2143 2140 2224 + 2144 2228 2226 + 2144 2226 2142 + 2144 2142 2059 + 2144 2059 2058 + 2145 2228 2144 + 2145 2061 2060 + 2146 2064 2062 + 2146 2148 2064 + 2146 2226 2229 + 2146 2142 2226 + 2147 2064 2148 + 2147 2225 2141 + 2148 2229 2230 + 2149 2067 2065 + 2150 2149 2231 + 2151 2233 2221 + 2152 2068 2070 + 2153 2072 2156 + 2153 2234 2155 + 2153 2155 2071 + 2154 2071 2155 + 2154 2233 2152 + 2154 2152 2070 + 2156 2073 2157 + 2156 2234 2153 + 2156 2157 2237 + 2157 2073 2074 + 2157 2158 2238 + 2158 2239 2238 + 2159 2236 2239 + 2159 2158 2076 + 2159 2084 2167 + 2160 2213 2130 + 2160 2078 2079 + 2161 2160 2079 + 2161 2242 2240 + 2162 2244 2243 + 2162 2164 2244 + 2162 2161 2080 + 2163 2164 2081 + 2164 2163 2245 + 2165 2163 2082 + 2166 2085 2168 + 2167 2250 2251 + 2167 2166 2250 + 2168 2086 2169 + 2168 2169 2252 + 2168 2250 2166 + 2169 2086 2087 + 2170 2088 2171 + 2170 2254 2253 + 2171 2254 2170 + 2171 2088 2089 + 2171 2172 2255 + 2172 2089 2090 + 2173 2104 2101 + 2173 2184 2185 + 2173 2185 2257 + 2174 2091 2092 + 2175 2259 2258 + 2176 2175 2093 + 2176 2094 2177 + 2177 2261 2260 + 2177 2260 2176 + 2178 2095 2097 + 2178 2261 2177 + 2180 2179 2263 + 2180 2262 2178 + 2181 2179 2098 + 2182 2099 2174 + 2182 2265 2183 + 2182 2174 2258 + 2183 2099 2182 + 2183 2267 2184 + 2184 2267 2185 + 2184 2101 2100 + 2186 2269 2191 + 2186 2103 2102 + 2187 2270 2269 + 2187 2269 2186 + 2189 2186 2191 + 2189 2190 2186 + 2189 2273 2190 + 2191 2269 2274 + 2191 2272 2189 + 2192 2173 2256 + 2192 2256 2277 + 2193 2280 2275 + 2193 2106 2105 + 2193 2275 2195 + 2194 2280 2193 + 2195 2275 2281 + 2195 2281 2203 + 2195 2106 2193 + 2197 2284 2285 + 2197 2285 2198 + 2197 2198 2108 + 2198 2199 2109 + 2199 2112 2109 + 2199 2198 2286 + 2200 2202 2113 + 2200 2111 2201 + 2200 2113 2110 + 2201 2111 2112 + 2201 2287 2200 + 2203 2117 2116 + 2203 2115 2195 + 2204 2196 2119 + 2204 2289 2283 + 2205 2290 2207 + 2205 2207 2120 + 2205 2203 2288 + 2205 2120 2117 + 2206 2207 2291 + 2207 2290 2291 + 2208 2123 2209 + 2209 2292 2208 + 2209 2123 2126 + 2209 2211 2293 + 2210 2294 2211 + 2210 2128 2212 + 2211 2125 2210 + 2212 2127 2129 + 2212 2294 2210 + 2213 2240 2295 + 2213 2214 2131 + 2214 2213 2295 + 2214 2296 2297 + 2214 2215 2131 + 2215 2297 2298 + 2215 2214 2297 + 2215 2217 2134 + 2216 2299 2218 + 2216 2135 2217 + 2217 2135 2134 + 2217 2298 2299 + 2218 2300 2301 + 2219 2150 2232 + 2219 2302 2248 + 2220 2137 2138 + 2220 2221 2303 + 2220 2303 2223 + 2221 2138 2151 + 2221 2233 2304 + 2222 2140 2139 + 2222 2139 2223 + 2223 2139 2220 + 2223 2305 2222 + 2224 2306 2227 + 2224 2140 2222 + 2225 2230 2307 + 2225 2147 2230 + 2226 2308 2229 + 2227 2228 2145 + 2227 2145 2143 + 2227 2143 2224 + 2228 2227 2309 + 2228 2308 2226 + 2229 2310 2230 + 2229 2148 2146 + 2230 2147 2148 + 2231 2232 2150 + 2231 2149 2225 + 2233 2154 2235 + 2233 2151 2152 + 2234 2315 2235 + 2235 2154 2155 + 2235 2155 2234 + 2235 2315 2313 + 2236 2159 2167 + 2237 2234 2156 + 2237 2157 2238 + 2238 2239 2318 + 2238 2318 2317 + 2238 2317 2237 + 2239 2158 2159 + 2240 2213 2160 + 2240 2160 2161 + 2241 2165 2249 + 2241 2163 2165 + 2241 2245 2163 + 2241 2320 2247 + 2242 2319 2240 + 2242 2243 2322 + 2243 2242 2161 + 2243 2161 2162 + 2246 2244 2164 + 2246 2164 2245 + 2246 2245 2324 + 2247 2245 2241 + 2248 2325 2249 + 2248 2165 2219 + 2248 2302 2325 + 2249 2325 2326 + 2249 2326 2320 + 2249 2165 2248 + 2249 2320 2241 + 2251 2250 2328 + 2251 2328 2327 + 2251 2236 2167 + 2252 2328 2250 + 2252 2250 2168 + 2253 2331 2330 + 2253 2169 2170 + 2253 2252 2169 + 2254 2332 2331 + 2254 2331 2253 + 2255 2254 2171 + 2256 2257 2333 + 2256 2333 2277 + 2257 2256 2173 + 2258 2174 2175 + 2258 2266 2182 + 2258 2259 2335 + 2259 2175 2176 + 2260 2259 2176 + 2260 2336 2259 + 2261 2178 2262 + 2261 2337 2336 + 2262 2180 2263 + 2262 2337 2261 + 2263 2338 2262 + 2263 2179 2181 + 2263 2181 2264 + 2263 2264 2339 + 2265 2267 2183 + 2265 2266 2340 + 2266 2265 2182 + 2268 2267 2342 + 2269 2270 2345 + 2270 2187 2188 + 2271 2273 2346 + 2271 2339 2264 + 2272 2274 2347 + 2272 2273 2189 + 2273 2272 2348 + 2274 2272 2191 + 2274 2269 2345 + 2275 2280 2352 + 2277 2276 2192 + 2277 2333 2351 + 2277 2351 2354 + 2277 2354 2353 + 2278 2355 2279 + 2278 2276 2353 + 2279 2280 2194 + 2279 2194 2278 + 2281 2352 2358 + 2281 2288 2203 + 2282 2197 2196 + 2282 2196 2204 + 2282 2204 2283 + 2283 2360 2282 + 2283 2359 2361 + 2283 2289 2359 + 2284 2197 2282 + 2285 2363 2364 + 2285 2284 2363 + 2286 2201 2199 + 2286 2285 2364 + 2286 2198 2285 + 2287 2202 2200 + 2287 2201 2286 + 2288 2365 2290 + 2288 2290 2205 + 2289 2291 2366 + 2289 2206 2291 + 2289 2204 2206 + 2292 2293 2369 + 2293 2211 2294 + 2293 2292 2209 + 2294 2370 2293 + 2295 2240 2319 + 2295 2371 2296 + 2295 2296 2214 + 2296 2372 2373 + 2298 2373 2374 + 2298 2217 2215 + 2299 2374 2300 + 2299 2216 2217 + 2300 2375 2301 + 2300 2218 2299 + 2302 2219 2232 + 2302 2312 2376 + 2303 2305 2223 + 2303 2304 2377 + 2304 2303 2221 + 2304 2313 2378 + 2305 2224 2222 + 2306 2224 2305 + 2307 2230 2311 + 2307 2311 2381 + 2307 2231 2225 + 2307 2381 2312 + 2308 2382 2310 + 2308 2228 2309 + 2309 2227 2306 + 2309 2306 2380 + 2309 2382 2308 + 2310 2311 2230 + 2310 2229 2308 + 2312 2381 2384 + 2312 2302 2232 + 2312 2231 2307 + 2312 2232 2231 + 2313 2233 2235 + 2313 2304 2233 + 2314 2236 2251 + 2314 2327 2329 + 2315 2387 2385 + 2315 2385 2313 + 2315 2234 2237 + 2316 2239 2236 + 2316 2236 2314 + 2316 2314 2386 + 2316 2386 2388 + 2317 2318 2389 + 2317 2315 2237 + 2318 2239 2316 + 2319 2371 2295 + 2320 2391 2392 + 2320 2326 2391 + 2321 2319 2242 + 2322 2321 2242 + 2322 2243 2244 + 2322 2394 2393 + 2322 2244 2323 + 2323 2395 2394 + 2323 2394 2322 + 2323 2244 2246 + 2324 2323 2246 + 2324 2245 2247 + 2325 2302 2376 + 2326 2325 2397 + 2327 2314 2251 + 2328 2330 2401 + 2328 2400 2327 + 2329 2386 2314 + 2329 2327 2400 + 2329 2402 2403 + 2330 2328 2252 + 2330 2252 2253 + 2331 2332 2404 + 2332 2254 2255 + 2334 2268 2343 + 2334 2343 2407 + 2335 2266 2258 + 2335 2259 2336 + 2336 2260 2261 + 2337 2262 2338 + 2337 2410 2409 + 2338 2410 2337 + 2339 2338 2263 + 2339 2344 2411 + 2340 2412 2342 + 2340 2267 2265 + 2341 2340 2266 + 2341 2335 2408 + 2341 2266 2335 + 2341 2413 2412 + 2342 2267 2340 + 2342 2412 2414 + 2343 2268 2342 + 2344 2416 2411 + 2344 2346 2416 + 2344 2339 2271 + 2345 2349 2274 + 2346 2344 2271 + 2347 2420 2348 + 2347 2274 2349 + 2348 2272 2347 + 2348 2420 2419 + 2348 2346 2273 + 2349 2350 2347 + 2350 2420 2347 + 2352 2281 2275 + 2353 2354 2426 + 2353 2276 2277 + 2353 2426 2355 + 2353 2355 2278 + 2354 2351 2424 + 2355 2356 2279 + 2355 2426 2428 + 2356 2280 2279 + 2357 2352 2280 + 2357 2280 2356 + 2357 2356 2429 + 2358 2365 2288 + 2358 2288 2281 + 2358 2352 2425 + 2360 2284 2282 + 2361 2359 2362 + 2361 2360 2283 + 2362 2433 2435 + 2362 2359 2432 + 2363 2284 2360 + 2363 2360 2434 + 2364 2363 2436 + 2364 2287 2286 + 2365 2431 2437 + 2366 2432 2359 + 2366 2359 2289 + 2367 2366 2291 + 2367 2291 2290 + 2367 2290 2365 + 2367 2365 2437 + 2367 2437 2438 + 2369 2293 2370 + 2369 2443 2442 + 2369 2368 2292 + 2370 2443 2369 + 2371 2445 2372 + 2371 2319 2390 + 2371 2372 2296 + 2372 2445 2447 + 2373 2298 2297 + 2373 2297 2296 + 2374 2373 2448 + 2374 2299 2298 + 2375 2300 2374 + 2375 2374 2448 + 2376 2449 2397 + 2376 2312 2384 + 2377 2305 2303 + 2377 2450 2379 + 2378 2377 2304 + 2378 2385 2451 + 2378 2313 2385 + 2379 2306 2305 + 2379 2305 2377 + 2380 2382 2309 + 2380 2306 2379 + 2381 2311 2383 + 2382 2455 2383 + 2382 2453 2455 + 2383 2311 2310 + 2383 2310 2382 + 2383 2455 2454 + 2383 2454 2381 + 2384 2449 2376 + 2386 2329 2399 + 2387 2389 2460 + 2387 2317 2389 + 2387 2315 2317 + 2388 2318 2316 + 2388 2461 2389 + 2389 2318 2388 + 2390 2445 2371 + 2390 2319 2321 + 2391 2326 2398 + 2392 2391 2464 + 2393 2390 2321 + 2393 2462 2390 + 2393 2321 2322 + 2394 2466 2393 + 2395 2468 2467 + 2395 2323 2324 + 2396 2468 2395 + 2396 2395 2324 + 2397 2470 2398 + 2397 2325 2376 + 2398 2326 2397 + 2398 2470 2471 + 2398 2464 2391 + 2399 2459 2386 + 2400 2328 2401 + 2400 2474 2402 + 2402 2474 2475 + 2402 2329 2400 + 2403 2399 2329 + 2403 2475 2472 + 2403 2402 2475 + 2404 2401 2330 + 2404 2330 2331 + 2404 2476 2474 + 2406 2351 2333 + 2406 2405 2477 + 2406 2477 2478 + 2406 2478 2424 + 2407 2477 2405 + 2407 2405 2334 + 2407 2343 2415 + 2408 2480 2413 + 2408 2335 2336 + 2408 2413 2341 + 2409 2408 2336 + 2409 2336 2337 + 2409 2410 2481 + 2410 2338 2411 + 2411 2416 2482 + 2411 2338 2339 + 2412 2340 2341 + 2412 2413 2484 + 2412 2484 2414 + 2414 2343 2342 + 2414 2485 2415 + 2414 2484 2485 + 2415 2485 2486 + 2415 2343 2414 + 2415 2486 2479 + 2416 2346 2419 + 2416 2419 2487 + 2416 2487 2482 + 2417 2421 2349 + 2417 2349 2345 + 2418 2489 2488 + 2419 2346 2348 + 2420 2350 2422 + 2421 2350 2349 + 2421 2417 2488 + 2421 2488 2491 + 2422 2350 2421 + 2422 2421 2491 + 2422 2492 2490 + 2423 2489 2418 + 2423 2439 2493 + 2424 2494 2427 + 2424 2478 2494 + 2424 2351 2406 + 2425 2352 2357 + 2425 2495 2431 + 2425 2431 2358 + 2426 2354 2427 + 2427 2496 2426 + 2427 2354 2424 + 2428 2356 2355 + 2428 2497 2429 + 2429 2497 2430 + 2429 2430 2357 + 2429 2356 2428 + 2430 2425 2357 + 2430 2498 2495 + 2431 2365 2358 + 2432 2433 2362 + 2433 2502 2503 + 2433 2432 2501 + 2434 2436 2363 + 2434 2435 2504 + 2434 2361 2435 + 2434 2360 2361 + 2435 2503 2504 + 2435 2361 2362 + 2437 2431 2499 + 2438 2366 2367 + 2438 2432 2366 + 2438 2437 2505 + 2438 2506 2501 + 2438 2505 2506 + 2439 2423 2440 + 2440 2510 2509 + 2440 2509 2439 + 2441 2510 2440 + 2442 2443 2512 + 2442 2368 2369 + 2442 2441 2368 + 2443 2444 2512 + 2444 2443 2370 + 2445 2390 2446 + 2446 2513 2445 + 2447 2514 2448 + 2447 2373 2372 + 2447 2445 2513 + 2448 2373 2447 + 2449 2470 2397 + 2450 2452 2379 + 2450 2451 2516 + 2450 2377 2378 + 2451 2385 2458 + 2451 2450 2378 + 2452 2380 2379 + 2453 2518 2455 + 2453 2382 2380 + 2453 2380 2452 + 2454 2384 2381 + 2455 2518 2519 + 2455 2519 2454 + 2456 2384 2454 + 2456 2519 2520 + 2456 2454 2519 + 2456 2449 2384 + 2457 2473 2521 + 2457 2459 2399 + 2458 2387 2460 + 2458 2385 2387 + 2458 2523 2516 + 2459 2457 2522 + 2459 2388 2386 + 2459 2524 2461 + 2460 2389 2461 + 2460 2523 2458 + 2460 2461 2525 + 2461 2388 2459 + 2462 2446 2390 + 2462 2466 2527 + 2463 2529 2528 + 2463 2513 2446 + 2463 2446 2462 + 2464 2465 2392 + 2465 2464 2531 + 2465 2531 2532 + 2466 2394 2467 + 2466 2462 2393 + 2467 2533 2534 + 2467 2394 2395 + 2468 2533 2467 + 2468 2469 2535 + 2469 2468 2396 + 2470 2537 2471 + 2471 2537 2530 + 2471 2530 2464 + 2471 2464 2398 + 2472 2475 2541 + 2472 2541 2473 + 2472 2457 2399 + 2472 2399 2403 + 2473 2457 2472 + 2473 2541 2542 + 2474 2543 2475 + 2474 2400 2401 + 2474 2401 2404 + 2476 2543 2474 + 2477 2407 2479 + 2479 2544 2477 + 2479 2407 2415 + 2480 2408 2409 + 2480 2481 2547 + 2480 2547 2483 + 2481 2480 2409 + 2482 2487 2548 + 2482 2410 2411 + 2482 2481 2410 + 2483 2413 2480 + 2483 2484 2413 + 2483 2549 2550 + 2486 2551 2546 + 2488 2417 2418 + 2489 2423 2493 + 2489 2493 2554 + 2490 2420 2422 + 2490 2419 2420 + 2490 2487 2419 + 2490 2555 2552 + 2490 2492 2555 + 2491 2492 2422 + 2492 2491 2556 + 2494 2496 2427 + 2495 2500 2499 + 2495 2425 2430 + 2495 2498 2560 + 2496 2428 2426 + 2496 2494 2559 + 2496 2559 2561 + 2496 2561 2497 + 2497 2428 2496 + 2498 2430 2497 + 2498 2497 2562 + 2498 2562 2560 + 2499 2431 2495 + 2499 2505 2437 + 2499 2500 2564 + 2500 2495 2560 + 2501 2502 2433 + 2501 2506 2566 + 2501 2432 2438 + 2502 2567 2503 + 2503 2567 2568 + 2503 2435 2433 + 2504 2503 2568 + 2504 2436 2434 + 2506 2505 2569 + 2507 2493 2439 + 2507 2508 2493 + 2507 2439 2509 + 2508 2507 2572 + 2509 2510 2573 + 2511 2510 2441 + 2511 2441 2442 + 2512 2575 2511 + 2512 2511 2442 + 2513 2463 2528 + 2513 2528 2576 + 2513 2514 2447 + 2515 2537 2470 + 2515 2470 2449 + 2515 2449 2456 + 2516 2451 2458 + 2516 2517 2452 + 2516 2452 2450 + 2517 2579 2518 + 2517 2518 2453 + 2517 2453 2452 + 2518 2579 2580 + 2519 2518 2580 + 2520 2577 2515 + 2520 2519 2581 + 2520 2515 2456 + 2521 2473 2539 + 2521 2583 2522 + 2521 2539 2526 + 2522 2583 2584 + 2522 2584 2524 + 2522 2457 2521 + 2522 2524 2459 + 2523 2578 2516 + 2524 2525 2461 + 2524 2584 2586 + 2525 2523 2460 + 2526 2583 2521 + 2526 2540 2538 + 2526 2588 2587 + 2527 2529 2463 + 2527 2466 2534 + 2527 2463 2462 + 2528 2529 2590 + 2529 2589 2591 + 2529 2591 2590 + 2531 2464 2530 + 2531 2593 2532 + 2532 2593 2594 + 2533 2468 2535 + 2534 2533 2595 + 2534 2589 2527 + 2534 2466 2467 + 2535 2597 2595 + 2535 2469 2536 + 2536 2597 2535 + 2537 2515 2577 + 2537 2599 2592 + 2538 2588 2526 + 2538 2540 2602 + 2539 2540 2526 + 2539 2603 2540 + 2542 2603 2539 + 2542 2539 2473 + 2543 2541 2475 + 2544 2606 2545 + 2544 2478 2477 + 2544 2479 2546 + 2545 2605 2559 + 2545 2494 2478 + 2545 2478 2544 + 2546 2479 2486 + 2546 2551 2607 + 2547 2481 2548 + 2547 2549 2483 + 2548 2608 2547 + 2548 2481 2482 + 2549 2547 2608 + 2549 2609 2550 + 2550 2485 2484 + 2550 2484 2483 + 2550 2610 2551 + 2551 2486 2485 + 2551 2485 2550 + 2552 2611 2608 + 2552 2548 2487 + 2552 2487 2490 + 2553 2491 2488 + 2553 2556 2491 + 2553 2488 2489 + 2553 2612 2556 + 2554 2553 2489 + 2554 2493 2557 + 2555 2611 2552 + 2555 2492 2556 + 2556 2613 2555 + 2557 2493 2508 + 2557 2612 2554 + 2558 2614 2557 + 2558 2557 2508 + 2558 2508 2572 + 2559 2494 2545 + 2559 2617 2561 + 2560 2563 2500 + 2561 2619 2562 + 2562 2497 2561 + 2563 2620 2565 + 2563 2560 2618 + 2564 2569 2505 + 2564 2500 2565 + 2564 2505 2499 + 2565 2500 2563 + 2565 2620 2622 + 2565 2624 2564 + 2566 2625 2567 + 2566 2502 2501 + 2567 2502 2566 + 2568 2567 2626 + 2569 2570 2506 + 2569 2624 2627 + 2570 2566 2506 + 2571 2509 2573 + 2571 2507 2509 + 2571 2572 2507 + 2572 2615 2558 + 2573 2510 2574 + 2573 2629 2571 + 2574 2575 2631 + 2574 2511 2575 + 2574 2510 2511 + 2576 2514 2513 + 2576 2528 2590 + 2577 2633 2599 + 2578 2517 2516 + 2578 2579 2517 + 2578 2634 2579 + 2579 2634 2635 + 2580 2579 2635 + 2580 2635 2581 + 2581 2582 2520 + 2581 2519 2580 + 2581 2635 2637 + 2582 2577 2520 + 2582 2633 2577 + 2584 2638 2586 + 2584 2583 2638 + 2585 2586 2639 + 2585 2634 2578 + 2585 2578 2523 + 2585 2523 2525 + 2586 2585 2525 + 2586 2525 2524 + 2587 2588 2640 + 2587 2640 2638 + 2587 2583 2526 + 2588 2538 2600 + 2589 2596 2643 + 2589 2529 2527 + 2590 2632 2576 + 2590 2591 2644 + 2591 2589 2643 + 2592 2530 2537 + 2592 2599 2646 + 2592 2593 2530 + 2593 2531 2530 + 2594 2593 2647 + 2594 2647 2648 + 2595 2596 2534 + 2595 2597 2649 + 2595 2533 2535 + 2596 2589 2534 + 2596 2649 2650 + 2597 2598 2651 + 2597 2651 2649 + 2598 2597 2536 + 2599 2654 2646 + 2599 2537 2577 + 2600 2642 2641 + 2600 2538 2601 + 2601 2655 2600 + 2602 2540 2603 + 2602 2603 2659 + 2602 2659 2658 + 2602 2601 2538 + 2603 2542 2604 + 2604 2542 2541 + 2604 2541 2543 + 2606 2605 2545 + 2606 2607 2661 + 2606 2544 2546 + 2607 2662 2661 + 2607 2610 2662 + 2607 2606 2546 + 2608 2548 2552 + 2608 2663 2609 + 2608 2609 2549 + 2609 2610 2550 + 2609 2663 2664 + 2610 2607 2551 + 2611 2555 2613 + 2612 2557 2614 + 2612 2553 2554 + 2613 2666 2665 + 2613 2556 2612 + 2614 2666 2612 + 2615 2630 2667 + 2615 2616 2558 + 2616 2614 2558 + 2617 2605 2660 + 2617 2559 2605 + 2618 2562 2619 + 2618 2560 2562 + 2618 2619 2673 + 2618 2672 2621 + 2619 2561 2617 + 2619 2671 2673 + 2619 2617 2671 + 2621 2672 2674 + 2621 2620 2563 + 2621 2563 2618 + 2622 2620 2623 + 2622 2624 2565 + 2623 2620 2674 + 2623 2674 2675 + 2623 2675 2678 + 2623 2678 2677 + 2624 2679 2627 + 2624 2569 2564 + 2624 2622 2676 + 2625 2680 2626 + 2625 2566 2570 + 2625 2570 2628 + 2626 2567 2625 + 2627 2570 2569 + 2627 2679 2681 + 2627 2681 2628 + 2628 2570 2627 + 2628 2681 2680 + 2629 2573 2631 + 2629 2630 2572 + 2629 2572 2571 + 2630 2629 2683 + 2630 2615 2572 + 2631 2683 2629 + 2631 2573 2574 + 2632 2644 2684 + 2633 2582 2636 + 2633 2654 2599 + 2634 2585 2639 + 2635 2634 2688 + 2636 2582 2637 + 2637 2582 2581 + 2637 2689 2636 + 2638 2583 2587 + 2639 2586 2638 + 2639 2638 2691 + 2640 2691 2638 + 2640 2641 2692 + 2641 2640 2588 + 2641 2642 2690 + 2641 2588 2600 + 2642 2655 2656 + 2643 2596 2650 + 2643 2694 2645 + 2644 2591 2645 + 2644 2632 2590 + 2645 2694 2695 + 2645 2591 2643 + 2646 2593 2592 + 2646 2654 2696 + 2647 2593 2646 + 2648 2653 2652 + 2648 2647 2697 + 2649 2596 2595 + 2650 2698 2699 + 2650 2649 2698 + 2650 2694 2643 + 2651 2598 2652 + 2651 2698 2649 + 2652 2700 2651 + 2653 2701 2652 + 2653 2697 2702 + 2654 2633 2685 + 2654 2703 2696 + 2655 2601 2657 + 2655 2642 2600 + 2656 2704 2693 + 2656 2693 2642 + 2657 2705 2655 + 2657 2601 2658 + 2658 2707 2657 + 2658 2708 2707 + 2658 2659 2708 + 2658 2601 2602 + 2659 2603 2604 + 2660 2709 2671 + 2660 2671 2617 + 2660 2605 2606 + 2661 2662 2710 + 2661 2660 2606 + 2663 2608 2611 + 2663 2611 2665 + 2663 2712 2664 + 2664 2662 2610 + 2664 2610 2609 + 2665 2611 2613 + 2665 2666 2713 + 2665 2713 2712 + 2665 2712 2663 + 2666 2614 2668 + 2666 2613 2612 + 2667 2630 2682 + 2667 2669 2615 + 2668 2715 2713 + 2668 2614 2616 + 2668 2616 2670 + 2669 2616 2615 + 2670 2616 2669 + 2670 2669 2716 + 2670 2715 2668 + 2671 2709 2718 + 2672 2673 2719 + 2673 2720 2719 + 2673 2672 2618 + 2674 2620 2621 + 2674 2672 2719 + 2675 2674 2721 + 2675 2723 2678 + 2676 2724 2679 + 2677 2622 2623 + 2677 2676 2622 + 2677 2678 2725 + 2678 2723 2725 + 2679 2624 2676 + 2680 2625 2628 + 2681 2726 2680 + 2681 2679 2726 + 2682 2714 2667 + 2682 2683 2728 + 2682 2630 2683 + 2684 2695 2731 + 2685 2633 2636 + 2685 2636 2687 + 2685 2732 2703 + 2686 2733 2688 + 2686 2634 2639 + 2687 2636 2689 + 2687 2732 2685 + 2688 2634 2686 + 2688 2637 2635 + 2688 2733 2735 + 2689 2637 2688 + 2689 2735 2734 + 2690 2693 2736 + 2690 2642 2693 + 2691 2686 2639 + 2692 2691 2640 + 2692 2641 2690 + 2692 2690 2737 + 2695 2684 2644 + 2695 2644 2645 + 2695 2694 2740 + 2696 2647 2646 + 2696 2703 2742 + 2697 2742 2702 + 2697 2647 2696 + 2697 2653 2648 + 2698 2651 2700 + 2698 2743 2699 + 2699 2743 2744 + 2699 2694 2650 + 2699 2744 2740 + 2700 2743 2698 + 2701 2700 2652 + 2701 2745 2700 + 2702 2701 2653 + 2703 2654 2685 + 2703 2748 2742 + 2705 2656 2655 + 2705 2707 2752 + 2706 2753 2751 + 2706 2704 2656 + 2706 2656 2705 + 2707 2705 2657 + 2709 2660 2661 + 2710 2756 2709 + 2710 2709 2661 + 2711 2662 2664 + 2711 2710 2662 + 2712 2711 2664 + 2712 2758 2711 + 2713 2666 2668 + 2714 2669 2667 + 2714 2682 2727 + 2715 2761 2759 + 2715 2670 2717 + 2716 2669 2714 + 2716 2714 2760 + 2716 2762 2717 + 2717 2761 2715 + 2717 2670 2716 + 2718 2763 2720 + 2718 2720 2673 + 2718 2709 2756 + 2718 2673 2671 + 2719 2720 2764 + 2719 2764 2721 + 2719 2721 2674 + 2720 2763 2765 + 2721 2764 2766 + 2721 2722 2675 + 2722 2721 2766 + 2722 2767 2768 + 2723 2769 2725 + 2723 2675 2722 + 2723 2722 2768 + 2724 2725 2770 + 2724 2676 2677 + 2725 2724 2677 + 2726 2679 2724 + 2727 2771 2755 + 2727 2682 2728 + 2728 2772 2771 + 2728 2771 2727 + 2729 2730 2776 + 2730 2780 2778 + 2730 2778 2776 + 2731 2695 2741 + 2731 2741 2782 + 2732 2748 2703 + 2732 2687 2734 + 2732 2734 2784 + 2733 2686 2691 + 2733 2691 2738 + 2734 2687 2689 + 2735 2689 2688 + 2735 2785 2786 + 2735 2786 2734 + 2736 2693 2739 + 2736 2739 2787 + 2736 2788 2737 + 2737 2738 2692 + 2737 2690 2736 + 2738 2691 2692 + 2738 2785 2733 + 2738 2789 2785 + 2739 2750 2790 + 2739 2704 2749 + 2739 2693 2704 + 2740 2744 2791 + 2740 2694 2699 + 2740 2741 2695 + 2741 2792 2782 + 2742 2793 2747 + 2742 2697 2696 + 2744 2743 2794 + 2745 2743 2700 + 2745 2701 2746 + 2746 2796 2795 + 2746 2702 2747 + 2746 2701 2702 + 2747 2702 2742 + 2747 2796 2746 + 2749 2801 2750 + 2749 2750 2739 + 2750 2801 2799 + 2751 2802 2800 + 2751 2749 2704 + 2751 2704 2706 + 2752 2707 2754 + 2752 2803 2753 + 2752 2706 2705 + 2753 2802 2751 + 2753 2706 2752 + 2754 2707 2708 + 2754 2803 2752 + 2755 2804 2760 + 2755 2771 2774 + 2755 2714 2727 + 2756 2763 2718 + 2756 2805 2763 + 2757 2805 2756 + 2757 2756 2710 + 2757 2710 2711 + 2757 2711 2758 + 2758 2806 2757 + 2758 2712 2759 + 2759 2713 2715 + 2759 2712 2713 + 2759 2761 2807 + 2760 2714 2755 + 2760 2762 2716 + 2762 2761 2717 + 2762 2760 2808 + 2764 2811 2766 + 2764 2720 2765 + 2765 2811 2764 + 2765 2763 2810 + 2765 2810 2812 + 2766 2811 2813 + 2766 2813 2767 + 2766 2767 2722 + 2767 2814 2768 + 2767 2813 2815 + 2768 2816 2769 + 2768 2769 2723 + 2769 2818 2770 + 2769 2816 2818 + 2770 2725 2769 + 2770 2726 2724 + 2772 2819 2771 + 2773 2820 2822 + 2773 2822 2821 + 2774 2771 2819 + 2774 2824 2823 + 2774 2804 2755 + 2775 2820 2773 + 2776 2777 2729 + 2777 2775 2729 + 2778 2826 2776 + 2779 2780 2730 + 2779 2830 2780 + 2780 2830 2831 + 2780 2831 2829 + 2781 2832 2830 + 2781 2783 2832 + 2782 2783 2731 + 2782 2792 2833 + 2784 2835 2797 + 2784 2734 2786 + 2784 2748 2732 + 2785 2735 2733 + 2786 2785 2836 + 2786 2835 2784 + 2787 2739 2790 + 2787 2788 2736 + 2787 2838 2788 + 2788 2789 2737 + 2789 2788 2839 + 2789 2738 2737 + 2790 2838 2787 + 2791 2741 2740 + 2792 2842 2833 + 2792 2741 2791 + 2792 2791 2841 + 2793 2796 2747 + 2793 2742 2748 + 2794 2795 2844 + 2794 2841 2791 + 2794 2743 2745 + 2794 2791 2744 + 2795 2794 2745 + 2795 2745 2746 + 2796 2845 2795 + 2796 2843 2845 + 2797 2846 2843 + 2797 2843 2793 + 2797 2793 2748 + 2797 2748 2784 + 2798 2790 2799 + 2798 2848 2840 + 2799 2790 2750 + 2799 2801 2849 + 2799 2850 2847 + 2800 2801 2749 + 2800 2749 2751 + 2801 2800 2851 + 2801 2852 2849 + 2802 2753 2803 + 2802 2803 2853 + 2802 2853 2851 + 2804 2855 2808 + 2805 2810 2763 + 2806 2805 2757 + 2806 2857 2805 + 2806 2758 2759 + 2807 2857 2806 + 2807 2806 2759 + 2807 2761 2809 + 2808 2855 2859 + 2808 2809 2762 + 2808 2760 2804 + 2809 2761 2762 + 2809 2858 2807 + 2811 2812 2861 + 2812 2811 2765 + 2812 2860 2862 + 2812 2862 2861 + 2814 2816 2768 + 2815 2814 2767 + 2815 2813 2863 + 2815 2865 2864 + 2816 2868 2818 + 2817 2868 2816 + 2817 2816 2814 + 2817 2814 2864 + 2819 2824 2774 + 2819 2821 2869 + 2821 2772 2773 + 2821 2822 2871 + 2821 2819 2772 + 2822 2820 2870 + 2823 2804 2774 + 2823 2824 2873 + 2823 2873 2855 + 2825 2870 2820 + 2825 2820 2775 + 2825 2775 2777 + 2825 2777 2827 + 2826 2778 2828 + 2826 2777 2776 + 2827 2826 2876 + 2827 2875 2825 + 2827 2777 2826 + 2828 2876 2826 + 2828 2778 2829 + 2829 2831 2878 + 2829 2877 2828 + 2829 2778 2780 + 2830 2779 2781 + 2831 2830 2879 + 2832 2880 2879 + 2832 2783 2834 + 2833 2783 2782 + 2833 2881 2834 + 2834 2783 2833 + 2834 2881 2882 + 2835 2786 2837 + 2835 2846 2797 + 2835 2837 2883 + 2836 2884 2837 + 2836 2837 2786 + 2836 2785 2789 + 2837 2884 2883 + 2838 2885 2839 + 2838 2790 2840 + 2839 2788 2838 + 2839 2836 2789 + 2840 2848 2886 + 2840 2886 2885 + 2840 2790 2798 + 2840 2885 2838 + 2841 2794 2844 + 2841 2887 2842 + 2841 2842 2792 + 2842 2881 2833 + 2842 2887 2888 + 2843 2846 2889 + 2843 2796 2793 + 2844 2795 2845 + 2844 2845 2890 + 2844 2890 2887 + 2847 2798 2799 + 2847 2854 2892 + 2848 2798 2847 + 2848 2847 2893 + 2849 2850 2799 + 2850 2849 2895 + 2850 2895 2854 + 2851 2852 2801 + 2851 2800 2802 + 2852 2851 2897 + 2854 2895 2896 + 2854 2847 2850 + 2855 2873 2900 + 2855 2804 2823 + 2856 2810 2805 + 2856 2805 2857 + 2856 2857 2901 + 2858 2859 2904 + 2858 2857 2807 + 2859 2900 2904 + 2859 2858 2809 + 2859 2809 2808 + 2860 2810 2856 + 2860 2812 2810 + 2860 2901 2902 + 2860 2902 2905 + 2861 2813 2811 + 2861 2863 2813 + 2863 2861 2906 + 2864 2865 2909 + 2864 2867 2817 + 2864 2814 2815 + 2865 2910 2909 + 2865 2815 2866 + 2866 2815 2863 + 2866 2910 2865 + 2866 2863 2908 + 2867 2868 2817 + 2869 2824 2819 + 2869 2821 2871 + 2869 2915 2874 + 2871 2822 2872 + 2871 2917 2915 + 2871 2915 2869 + 2872 2870 2916 + 2872 2822 2870 + 2872 2917 2871 + 2873 2824 2874 + 2874 2915 2919 + 2874 2824 2869 + 2874 2919 2918 + 2875 2870 2825 + 2876 2875 2827 + 2876 2877 2921 + 2877 2876 2828 + 2877 2878 2922 + 2878 2877 2829 + 2879 2878 2831 + 2879 2830 2832 + 2880 2924 2879 + 2880 2925 2924 + 2880 2832 2834 + 2882 2925 2880 + 2882 2881 2926 + 2882 2880 2834 + 2883 2846 2835 + 2884 2836 2839 + 2884 2927 2883 + 2885 2886 2928 + 2885 2884 2839 + 2886 2848 2894 + 2887 2841 2844 + 2888 2887 2930 + 2888 2931 2926 + 2888 2881 2842 + 2889 2846 2891 + 2889 2845 2843 + 2889 2932 2890 + 2890 2845 2889 + 2891 2932 2889 + 2891 2846 2883 + 2892 2854 2898 + 2892 2893 2847 + 2892 2899 2934 + 2894 2848 2893 + 2894 2893 2936 + 2895 2849 2852 + 2896 2895 2939 + 2896 2898 2854 + 2897 2851 2853 + 2897 2895 2852 + 2897 2939 2895 + 2898 2896 2938 + 2898 2899 2892 + 2899 2940 2941 + 2900 2859 2855 + 2900 2873 2918 + 2900 2918 2942 + 2901 2860 2856 + 2901 2857 2903 + 2902 2943 2914 + 2903 2857 2858 + 2903 2944 2943 + 2904 2903 2858 + 2904 2900 2942 + 2905 2945 2907 + 2905 2862 2860 + 2906 2862 2907 + 2906 2946 2908 + 2906 2861 2862 + 2906 2908 2863 + 2907 2945 2947 + 2907 2947 2946 + 2907 2946 2906 + 2907 2862 2905 + 2908 2911 2866 + 2909 2867 2864 + 2911 2948 2950 + 2911 2910 2866 + 2911 2950 2949 + 2912 2909 2949 + 2912 2867 2909 + 2912 2951 2913 + 2913 2868 2867 + 2913 2867 2912 + 2914 2905 2902 + 2914 2943 2952 + 2916 2870 2875 + 2916 2875 2920 + 2916 2917 2872 + 2916 2920 2955 + 2917 2954 2915 + 2918 2873 2874 + 2919 2954 2957 + 2919 2915 2954 + 2920 2875 2876 + 2920 2921 2958 + 2921 2920 2876 + 2921 2877 2922 + 2922 2878 2923 + 2922 2959 2921 + 2922 2923 2960 + 2923 2878 2879 + 2923 2924 2961 + 2923 2961 2960 + 2924 2923 2879 + 2925 2961 2924 + 2926 2925 2882 + 2926 2931 2962 + 2926 2881 2888 + 2927 2891 2883 + 2928 2927 2884 + 2928 2884 2885 + 2928 2964 2963 + 2928 2886 2929 + 2929 2935 2964 + 2929 2886 2894 + 2929 2964 2928 + 2930 2931 2888 + 2930 2932 2965 + 2930 2890 2932 + 2930 2887 2890 + 2931 2966 2962 + 2932 2967 2965 + 2933 2967 2932 + 2933 2932 2891 + 2933 2891 2927 + 2933 2927 2963 + 2933 2963 2968 + 2934 2893 2892 + 2934 2971 2936 + 2934 2899 2941 + 2935 2929 2937 + 2935 2937 2972 + 2936 2971 2973 + 2936 2937 2894 + 2936 2893 2934 + 2937 2929 2894 + 2938 2896 2939 + 2938 2974 2940 + 2939 2975 2938 + 2940 2898 2938 + 2940 2899 2898 + 2940 2976 2941 + 2941 2971 2934 + 2942 2944 2904 + 2943 2902 2901 + 2943 2901 2903 + 2943 2944 2979 + 2944 2903 2904 + 2944 2978 2979 + 2945 2953 2981 + 2945 2905 2914 + 2946 2982 2948 + 2946 2947 2982 + 2947 2945 2981 + 2947 2983 2982 + 2948 2911 2908 + 2948 2908 2946 + 2949 2909 2910 + 2949 2951 2912 + 2949 2910 2911 + 2949 2950 2985 + 2952 2980 2987 + 2952 2987 2953 + 2952 2953 2914 + 2953 2986 2981 + 2953 2987 2986 + 2953 2945 2914 + 2954 2955 2988 + 2955 2954 2917 + 2955 2917 2916 + 2955 2958 2988 + 2956 2942 2918 + 2956 2919 2957 + 2956 2918 2919 + 2957 2954 2988 + 2957 2988 2990 + 2957 2989 2956 + 2958 2955 2920 + 2958 2921 2959 + 2959 2991 2958 + 2960 2961 2993 + 2960 2959 2922 + 2960 2993 2992 + 2962 2966 2995 + 2962 2995 2994 + 2962 2961 2925 + 2962 2925 2926 + 2963 2927 2928 + 2964 2996 2963 + 2964 2935 2969 + 2965 2966 2931 + 2965 2967 2997 + 2965 2931 2930 + 2968 2967 2933 + 2968 2998 2967 + 2968 2963 2996 + 2969 2996 2964 + 2970 2999 2969 + 2970 2969 2935 + 2971 2941 2977 + 2972 3002 2970 + 2972 2970 2935 + 2972 2973 3004 + 2972 2937 2973 + 2973 2937 2936 + 2973 2971 3003 + 2975 2974 2938 + 2976 2974 3005 + 2976 2940 2974 + 2976 3006 2977 + 2977 3003 2971 + 2977 2941 2976 + 2978 3009 2979 + 2978 2989 3009 + 2978 2944 2942 + 2978 2942 2956 + 2979 3009 3010 + 2979 2952 2943 + 2980 2952 2979 + 2980 3012 2987 + 2980 3010 3011 + 2981 2986 3013 + 2981 3013 2983 + 2981 2983 2947 + 2982 3015 2984 + 2983 3016 3015 + 2984 2950 2948 + 2984 3015 3017 + 2984 2948 2982 + 2984 3017 2985 + 2985 2951 2949 + 2985 2950 2984 + 2986 2987 3018 + 2988 2958 2991 + 2988 2991 3019 + 2989 2978 2956 + 2990 3020 2989 + 2990 2989 2957 + 2990 2988 3019 + 2991 2959 2992 + 2992 2993 3022 + 2992 3022 3021 + 2992 2959 2960 + 2993 2961 2994 + 2993 2994 3023 + 2994 2961 2962 + 2996 2998 2968 + 2996 2969 2999 + 2996 2999 3025 + 2997 2995 2966 + 2997 2966 2965 + 2997 2998 3026 + 2998 2997 2967 + 2999 2970 3000 + 3000 3028 3027 + 3000 2970 3001 + 3001 2970 3002 + 3001 3002 3030 + 3001 3030 3029 + 3002 3008 3031 + 3003 3032 3004 + 3003 2977 3007 + 3004 3032 3008 + 3004 3002 2972 + 3004 2973 3003 + 3005 2974 2975 + 3005 3033 3006 + 3006 2976 3005 + 3007 3006 3033 + 3007 2977 3006 + 3008 3002 3004 + 3008 3032 3034 + 3009 2989 3020 + 3010 2980 2979 + 3010 3035 3036 + 3010 3036 3011 + 3011 3012 2980 + 3011 3038 3039 + 3012 3037 3018 + 3013 2986 3014 + 3013 3016 2983 + 3014 3041 3013 + 3014 2986 3018 + 3015 2982 2983 + 3016 3013 3041 + 3016 3041 3042 + 3017 3015 3042 + 3018 3040 3014 + 3018 2987 3012 + 3019 2991 3021 + 3019 3021 3044 + 3019 3044 3020 + 3019 3020 2990 + 3020 3035 3009 + 3021 2991 2992 + 3021 3022 3046 + 3023 2994 2995 + 3023 2995 3024 + 3023 3022 2993 + 3023 3024 3048 + 3023 3047 3022 + 3024 2995 2997 + 3024 2997 3026 + 3024 3026 3049 + 3025 2998 2996 + 3025 3026 2998 + 3025 2999 3027 + 3026 3025 3050 + 3027 3051 3050 + 3027 2999 3000 + 3028 3051 3027 + 3028 3000 3029 + 3029 3053 3054 + 3029 3030 3053 + 3029 3000 3001 + 3031 3030 3002 + 3031 3056 3055 + 3031 3008 3034 + 3032 3033 3057 + 3032 3003 3007 + 3033 3032 3007 + 3034 3056 3031 + 3035 3010 3009 + 3035 3020 3045 + 3036 3035 3058 + 3036 3038 3011 + 3037 3012 3039 + 3038 3036 3058 + 3038 3059 3061 + 3039 3060 3037 + 3039 3012 3011 + 3039 3038 3061 + 3040 3041 3014 + 3040 3063 3041 + 3040 3018 3043 + 3041 3064 3042 + 3042 3015 3016 + 3043 3037 3060 + 3043 3018 3037 + 3044 3021 3046 + 3045 3020 3044 + 3045 3066 3067 + 3046 3022 3047 + 3046 3047 3069 + 3046 3069 3066 + 3048 3068 3047 + 3048 3047 3023 + 3048 3024 3049 + 3049 3070 3048 + 3050 3049 3026 + 3050 3025 3027 + 3050 3051 3071 + 3051 3073 3071 + 3051 3028 3052 + 3052 3028 3054 + 3052 3074 3073 + 3054 3028 3029 + 3054 3053 3076 + 3054 3076 3077 + 3055 3053 3030 + 3055 3056 3078 + 3055 3030 3031 + 3056 3034 3057 + 3057 3079 3056 + 3057 3034 3032 + 3058 3035 3045 + 3058 3080 3059 + 3058 3045 3067 + 3059 3038 3058 + 3059 3081 3061 + 3061 3083 3062 + 3061 3062 3039 + 3062 3060 3039 + 3062 3082 3060 + 3063 3040 3043 + 3063 3043 3065 + 3064 3041 3063 + 3064 3063 3085 + 3065 3085 3063 + 3065 3043 3060 + 3066 3044 3046 + 3066 3045 3044 + 3067 3066 3087 + 3067 3080 3058 + 3067 3088 3080 + 3068 3072 3089 + 3069 3047 3068 + 3069 3087 3066 + 3070 3068 3048 + 3070 3072 3068 + 3071 3073 3090 + 3071 3070 3049 + 3071 3049 3050 + 3072 3070 3090 + 3073 3051 3052 + 3074 3092 3073 + 3074 3052 3075 + 3074 3075 3094 + 3075 3052 3054 + 3076 3053 3055 + 3077 3075 3054 + 3078 3076 3055 + 3078 3096 3076 + 3078 3079 3097 + 3078 3056 3079 + 3081 3080 3098 + 3081 3059 3080 + 3081 3100 3083 + 3081 3083 3061 + 3082 3065 3060 + 3083 3100 3102 + 3084 3082 3062 + 3084 3062 3083 + 3086 3085 3065 + 3086 3065 3082 + 3086 3082 3101 + 3086 3101 3103 + 3087 3089 3104 + 3087 3104 3088 + 3087 3088 3067 + 3089 3069 3068 + 3089 3087 3069 + 3089 3072 3091 + 3090 3107 3091 + 3090 3070 3071 + 3091 3072 3090 + 3091 3108 3106 + 3092 3090 3073 + 3092 3093 3109 + 3093 3092 3074 + 3093 3074 3094 + 3094 3075 3095 + 3094 3110 3093 + 3095 3111 3094 + 3095 3075 3077 + 3095 3077 3096 + 3096 3112 3095 + 3096 3077 3076 + 3097 3112 3096 + 3097 3096 3078 + 3098 3080 3088 + 3098 3113 3099 + 3098 3088 3105 + 3098 3099 3081 + 3099 3114 3100 + 3100 3081 3099 + 3100 3115 3102 + 3100 3114 3115 + 3101 3082 3084 + 3101 3084 3102 + 3102 3117 3101 + 3102 3084 3083 + 3103 3085 3086 + 3103 3101 3117 + 3105 3104 3118 + 3105 3088 3104 + 3105 3113 3098 + 3106 3089 3091 + 3106 3104 3089 + 3106 3108 3120 + 3107 3108 3091 + 3107 3090 3092 + 3108 3107 3121 + 3108 3121 3122 + 3109 3107 3092 + 3109 3093 3110 + 3110 3111 3124 + 3110 3123 3109 + 3111 3110 3094 + 3112 3111 3095 + 3113 3125 3114 + 3114 3125 3116 + 3114 3099 3113 + 3115 3117 3102 + 3115 3127 3117 + 3116 3127 3115 + 3116 3115 3114 + 3118 3129 3119 + 3118 3104 3106 + 3118 3119 3105 + 3119 3113 3105 + 3119 3128 3125 + 3120 3108 3122 + 3120 3118 3106 + 3121 3107 3109 + 3122 3121 3131 + 3122 3130 3120 + 3123 3133 3131 + 3123 3121 3109 + 3124 3133 3123 + 3124 3123 3110 + 3124 3111 3112 + 3125 3134 3126 + 3125 3128 3134 + 3125 3113 3119 + 3126 3116 3125 + 3127 3126 3135 + 3127 3116 3126 + 3128 3129 3136 + 3128 3119 3129 + 3129 3137 3136 + 3129 3118 3120 + 3130 3132 3137 + 3130 3129 3120 + 3131 3132 3122 + 3131 3121 3123 + 3132 3131 3138 + 3132 3130 3122 + 3134 3136 3139 + 3135 3126 3134 + 3136 3137 3140 + 3136 3134 3128 + 3137 3129 3130 + 3138 3137 3132 + 3138 3131 3133 + 3139 3136 3140 + 3139 3135 3134 + 3140 3137 3138 diff --git a/test/meshes/pi/elvls.out b/test/meshes/pi/elvls.out new file mode 100644 index 000000000..c466332b2 --- /dev/null +++ b/test/meshes/pi/elvls.out @@ -0,0 +1,5839 @@ + 19 + 18 + 20 + 22 + 22 + 22 + 23 + 23 + 23 + 21 + 29 + 25 + 27 + 32 + 31 + 29 + 20 + 22 + 18 + 23 + 19 + 19 + 19 + 18 + 22 + 21 + 22 + 27 + 20 + 20 + 23 + 20 + 20 + 21 + 19 + 20 + 18 + 19 + 22 + 25 + 28 + 31 + 32 + 31 + 32 + 31 + 32 + 32 + 20 + 22 + 20 + 23 + 19 + 19 + 13 + 17 + 19 + 23 + 27 + 28 + 15 + 16 + 15 + 15 + 15 + 15 + 15 + 31 + 30 + 30 + 28 + 27 + 26 + 30 + 17 + 17 + 20 + 20 + 20 + 32 + 27 + 32 + 28 + 30 + 29 + 31 + 29 + 32 + 32 + 30 + 32 + 32 + 32 + 32 + 31 + 27 + 18 + 23 + 19 + 19 + 20 + 19 + 19 + 19 + 21 + 25 + 14 + 16 + 16 + 16 + 16 + 18 + 16 + 17 + 17 + 17 + 17 + 12 + 14 + 18 + 16 + 16 + 18 + 13 + 17 + 14 + 16 + 17 + 17 + 16 + 16 + 17 + 17 + 14 + 14 + 14 + 13 + 28 + 26 + 26 + 23 + 26 + 24 + 25 + 25 + 26 + 26 + 30 + 21 + 18 + 26 + 21 + 26 + 17 + 20 + 17 + 18 + 20 + 32 + 32 + 31 + 32 + 32 + 27 + 23 + 22 + 32 + 32 + 32 + 29 + 31 + 27 + 19 + 25 + 18 + 18 + 21 + 19 + 17 + 18 + 17 + 16 + 19 + 18 + 21 + 14 + 18 + 21 + 18 + 20 + 25 + 21 + 18 + 17 + 21 + 25 + 18 + 24 + 17 + 17 + 18 + 19 + 17 + 17 + 20 + 22 + 17 + 17 + 17 + 28 + 20 + 17 + 17 + 16 + 16 + 13 + 16 + 23 + 25 + 24 + 21 + 23 + 23 + 23 + 24 + 23 + 21 + 17 + 7 + 24 + 24 + 21 + 25 + 18 + 17 + 32 + 32 + 31 + 29 + 31 + 31 + 31 + 27 + 24 + 23 + 28 + 21 + 21 + 20 + 21 + 16 + 16 + 17 + 16 + 18 + 18 + 16 + 18 + 14 + 36 + 36 + 32 + 31 + 31 + 34 + 28 + 36 + 32 + 33 + 33 + 25 + 21 + 33 + 24 + 28 + 21 + 20 + 20 + 22 + 24 + 18 + 19 + 26 + 24 + 17 + 18 + 23 + 34 + 36 + 36 + 35 + 36 + 35 + 34 + 19 + 19 + 17 + 16 + 15 + 16 + 15 + 12 + 20 + 21 + 21 + 21 + 21 + 21 + 20 + 21 + 17 + 17 + 7 + 7 + 17 + 18 + 20 + 20 + 30 + 29 + 30 + 31 + 22 + 30 + 26 + 30 + 31 + 27 + 27 + 23 + 22 + 29 + 24 + 20 + 18 + 17 + 19 + 22 + 20 + 19 + 20 + 16 + 19 + 11 + 18 + 24 + 19 + 19 + 15 + 17 + 36 + 36 + 36 + 36 + 36 + 36 + 34 + 33 + 28 + 28 + 31 + 25 + 27 + 26 + 24 + 24 + 26 + 27 + 36 + 35 + 18 + 18 + 18 + 17 + 17 + 29 + 23 + 18 + 29 + 35 + 34 + 33 + 35 + 35 + 34 + 16 + 17 + 17 + 19 + 19 + 19 + 16 + 14 + 13 + 15 + 13 + 20 + 20 + 18 + 20 + 20 + 17 + 14 + 18 + 30 + 29 + 30 + 30 + 30 + 26 + 23 + 24 + 28 + 19 + 16 + 16 + 18 + 16 + 19 + 16 + 17 + 18 + 19 + 26 + 22 + 15 + 10 + 19 + 21 + 33 + 35 + 35 + 34 + 36 + 27 + 26 + 34 + 34 + 36 + 34 + 36 + 36 + 36 + 31 + 34 + 34 + 31 + 27 + 27 + 27 + 26 + 27 + 27 + 27 + 33 + 33 + 33 + 30 + 33 + 31 + 17 + 18 + 22 + 29 + 33 + 33 + 33 + 34 + 35 + 35 + 34 + 34 + 35 + 17 + 17 + 18 + 14 + 15 + 19 + 15 + 13 + 15 + 16 + 18 + 16 + 19 + 19 + 18 + 16 + 15 + 14 + 18 + 18 + 30 + 30 + 23 + 30 + 30 + 20 + 19 + 18 + 24 + 20 + 17 + 13 + 16 + 16 + 14 + 26 + 23 + 19 + 19 + 16 + 21 + 26 + 26 + 21 + 27 + 27 + 26 + 31 + 30 + 33 + 31 + 34 + 34 + 34 + 27 + 27 + 26 + 34 + 33 + 34 + 34 + 32 + 34 + 32 + 29 + 32 + 26 + 29 + 23 + 30 + 29 + 28 + 20 + 22 + 22 + 31 + 31 + 22 + 23 + 33 + 29 + 33 + 33 + 34 + 31 + 33 + 33 + 28 + 17 + 23 + 13 + 12 + 14 + 10 + 13 + 15 + 16 + 16 + 18 + 18 + 18 + 15 + 15 + 18 + 18 + 14 + 23 + 25 + 28 + 28 + 25 + 23 + 22 + 25 + 23 + 25 + 17 + 19 + 19 + 20 + 17 + 15 + 15 + 19 + 19 + 23 + 26 + 26 + 26 + 26 + 26 + 26 + 25 + 26 + 27 + 26 + 27 + 29 + 20 + 25 + 25 + 20 + 31 + 29 + 33 + 34 + 33 + 19 + 19 + 35 + 35 + 29 + 27 + 34 + 35 + 32 + 34 + 31 + 31 + 26 + 27 + 30 + 30 + 26 + 15 + 20 + 15 + 23 + 23 + 20 + 20 + 28 + 15 + 19 + 18 + 19 + 19 + 19 + 19 + 16 + 19 + 28 + 23 + 33 + 33 + 33 + 33 + 29 + 31 + 29 + 21 + 23 + 13 + 15 + 9 + 15 + 14 + 15 + 22 + 23 + 18 + 18 + 23 + 21 + 21 + 17 + 23 + 20 + 23 + 15 + 17 + 16 + 13 + 15 + 19 + 20 + 24 + 25 + 26 + 26 + 24 + 24 + 26 + 25 + 20 + 25 + 25 + 30 + 29 + 30 + 25 + 26 + 25 + 27 + 26 + 19 + 21 + 34 + 24 + 33 + 18 + 35 + 35 + 35 + 35 + 35 + 35 + 35 + 35 + 30 + 30 + 34 + 34 + 30 + 34 + 30 + 29 + 30 + 30 + 13 + 13 + 11 + 10 + 11 + 11 + 20 + 15 + 18 + 19 + 16 + 18 + 18 + 17 + 16 + 12 + 17 + 12 + 32 + 30 + 33 + 29 + 24 + 22 + 22 + 16 + 30 + 10 + 10 + 25 + 13 + 5 + 11 + 11 + 5 + 11 + 14 + 14 + 18 + 18 + 16 + 16 + 18 + 19 + 15 + 17 + 18 + 19 + 19 + 18 + 20 + 20 + 23 + 21 + 19 + 21 + 22 + 21 + 10 + 19 + 10 + 13 + 20 + 15 + 20 + 22 + 15 + 25 + 23 + 24 + 23 + 25 + 23 + 26 + 30 + 22 + 19 + 19 + 35 + 31 + 33 + 35 + 33 + 14 + 21 + 29 + 33 + 24 + 29 + 29 + 14 + 31 + 34 + 35 + 31 + 32 + 32 + 36 + 35 + 35 + 30 + 30 + 30 + 30 + 36 + 35 + 30 + 25 + 29 + 27 + 16 + 14 + 14 + 11 + 11 + 11 + 17 + 18 + 18 + 17 + 17 + 18 + 16 + 17 + 18 + 18 + 12 + 12 + 19 + 24 + 33 + 33 + 24 + 24 + 32 + 33 + 29 + 29 + 33 + 25 + 18 + 32 + 16 + 5 + 5 + 5 + 5 + 5 + 5 + 5 + 5 + 18 + 18 + 18 + 20 + 20 + 19 + 17 + 14 + 17 + 19 + 18 + 22 + 24 + 22 + 21 + 22 + 14 + 14 + 23 + 23 + 15 + 19 + 21 + 23 + 24 + 19 + 20 + 19 + 24 + 27 + 30 + 21 + 29 + 11 + 30 + 27 + 20 + 23 + 36 + 35 + 36 + 36 + 32 + 34 + 36 + 27 + 25 + 25 + 29 + 16 + 16 + 14 + 14 + 16 + 16 + 17 + 17 + 17 + 17 + 18 + 18 + 16 + 8 + 16 + 16 + 8 + 15 + 15 + 17 + 16 + 18 + 25 + 24 + 33 + 27 + 27 + 32 + 30 + 25 + 24 + 33 + 30 + 32 + 29 + 30 + 20 + 20 + 13 + 17 + 13 + 15 + 17 + 5 + 5 + 5 + 5 + 9 + 13 + 22 + 25 + 18 + 17 + 19 + 19 + 19 + 20 + 19 + 19 + 13 + 18 + 16 + 19 + 19 + 22 + 28 + 24 + 28 + 28 + 24 + 24 + 19 + 19 + 19 + 20 + 20 + 20 + 18 + 18 + 15 + 12 + 24 + 16 + 21 + 23 + 26 + 28 + 30 + 31 + 32 + 35 + 35 + 34 + 34 + 29 + 32 + 22 + 25 + 17 + 20 + 24 + 29 + 16 + 15 + 15 + 16 + 17 + 17 + 17 + 18 + 18 + 12 + 18 + 16 + 14 + 31 + 17 + 24 + 27 + 18 + 27 + 25 + 32 + 32 + 35 + 33 + 33 + 35 + 35 + 35 + 36 + 33 + 33 + 36 + 19 + 17 + 17 + 18 + 15 + 21 + 19 + 16 + 11 + 16 + 5 + 5 + 9 + 11 + 5 + 25 + 32 + 17 + 17 + 28 + 16 + 20 + 23 + 22 + 25 + 19 + 16 + 25 + 32 + 25 + 24 + 19 + 17 + 20 + 12 + 17 + 23 + 13 + 15 + 20 + 17 + 28 + 17 + 5 + 30 + 32 + 35 + 35 + 35 + 29 + 35 + 20 + 18 + 29 + 16 + 17 + 17 + 16 + 18 + 17 + 18 + 17 + 14 + 18 + 18 + 12 + 10 + 16 + 16 + 15 + 10 + 37 + 31 + 31 + 24 + 16 + 17 + 18 + 31 + 18 + 22 + 26 + 30 + 27 + 32 + 37 + 37 + 31 + 37 + 35 + 35 + 35 + 37 + 36 + 34 + 25 + 22 + 25 + 19 + 21 + 22 + 16 + 35 + 32 + 28 + 32 + 31 + 23 + 20 + 19 + 16 + 23 + 24 + 26 + 20 + 20 + 26 + 25 + 23 + 22 + 28 + 28 + 23 + 31 + 31 + 24 + 28 + 26 + 35 + 25 + 21 + 20 + 15 + 15 + 17 + 17 + 26 + 26 + 20 + 26 + 28 + 17 + 19 + 6 + 5 + 5 + 6 + 26 + 32 + 16 + 19 + 20 + 29 + 35 + 28 + 29 + 29 + 28 + 25 + 21 + 22 + 18 + 17 + 17 + 16 + 15 + 9 + 18 + 18 + 17 + 14 + 12 + 15 + 12 + 10 + 38 + 37 + 37 + 37 + 36 + 31 + 25 + 36 + 29 + 30 + 38 + 36 + 38 + 37 + 38 + 38 + 37 + 36 + 25 + 29 + 28 + 25 + 25 + 25 + 31 + 29 + 31 + 29 + 22 + 15 + 21 + 35 + 31 + 31 + 23 + 20 + 32 + 27 + 28 + 32 + 26 + 32 + 25 + 32 + 28 + 28 + 28 + 28 + 31 + 31 + 26 + 28 + 20 + 26 + 22 + 21 + 36 + 36 + 24 + 23 + 20 + 23 + 26 + 17 + 20 + 23 + 26 + 31 + 24 + 24 + 29 + 19 + 8 + 7 + 10 + 7 + 7 + 22 + 29 + 12 + 22 + 27 + 21 + 21 + 25 + 22 + 19 + 19 + 12 + 18 + 18 + 18 + 10 + 8 + 10 + 16 + 7 + 16 + 10 + 10 + 10 + 38 + 38 + 38 + 25 + 13 + 32 + 38 + 34 + 34 + 29 + 34 + 32 + 38 + 38 + 38 + 38 + 38 + 25 + 24 + 24 + 26 + 25 + 28 + 31 + 28 + 31 + 21 + 19 + 23 + 36 + 36 + 37 + 35 + 28 + 36 + 26 + 32 + 32 + 27 + 28 + 32 + 34 + 32 + 34 + 31 + 32 + 31 + 28 + 27 + 24 + 26 + 26 + 36 + 30 + 28 + 36 + 26 + 31 + 31 + 31 + 31 + 30 + 31 + 31 + 29 + 31 + 27 + 27 + 8 + 10 + 10 + 10 + 20 + 22 + 18 + 13 + 13 + 18 + 27 + 22 + 21 + 24 + 20 + 20 + 24 + 18 + 18 + 16 + 18 + 17 + 16 + 18 + 8 + 10 + 16 + 13 + 37 + 38 + 38 + 28 + 38 + 28 + 32 + 38 + 38 + 38 + 37 + 38 + 28 + 28 + 26 + 23 + 26 + 31 + 34 + 28 + 30 + 28 + 30 + 25 + 23 + 25 + 26 + 29 + 37 + 38 + 36 + 38 + 36 + 36 + 28 + 26 + 33 + 33 + 33 + 34 + 32 + 33 + 32 + 34 + 34 + 34 + 34 + 31 + 29 + 29 + 28 + 30 + 33 + 35 + 24 + 23 + 33 + 36 + 37 + 36 + 28 + 28 + 31 + 31 + 32 + 30 + 32 + 31 + 29 + 26 + 29 + 29 + 10 + 13 + 24 + 26 + 24 + 20 + 24 + 36 + 18 + 9 + 9 + 17 + 8 + 15 + 13 + 13 + 38 + 38 + 38 + 38 + 36 + 38 + 33 + 34 + 38 + 38 + 38 + 28 + 31 + 30 + 31 + 32 + 35 + 20 + 20 + 18 + 21 + 19 + 19 + 27 + 30 + 30 + 31 + 30 + 30 + 29 + 32 + 32 + 27 + 18 + 10 + 10 + 8 + 8 + 8 + 38 + 38 + 33 + 19 + 19 + 33 + 33 + 33 + 34 + 35 + 34 + 33 + 34 + 34 + 34 + 35 + 34 + 29 + 31 + 29 + 31 + 36 + 33 + 34 + 29 + 29 + 34 + 29 + 37 + 38 + 31 + 32 + 32 + 32 + 33 + 25 + 29 + 29 + 26 + 24 + 26 + 26 + 18 + 20 + 12 + 24 + 20 + 38 + 10 + 20 + 31 + 10 + 20 + 9 + 8 + 15 + 8 + 9 + 38 + 38 + 37 + 37 + 38 + 37 + 38 + 38 + 31 + 31 + 35 + 26 + 21 + 21 + 32 + 27 + 29 + 29 + 30 + 32 + 34 + 19 + 26 + 26 + 16 + 19 + 16 + 16 + 18 + 10 + 16 + 9 + 10 + 8 + 9 + 9 + 9 + 28 + 21 + 14 + 12 + 14 + 38 + 37 + 37 + 34 + 33 + 37 + 37 + 28 + 31 + 30 + 35 + 35 + 35 + 35 + 35 + 35 + 34 + 33 + 30 + 30 + 34 + 36 + 37 + 37 + 37 + 35 + 33 + 33 + 33 + 30 + 30 + 33 + 27 + 26 + 25 + 26 + 24 + 26 + 24 + 24 + 24 + 29 + 31 + 29 + 37 + 38 + 7 + 9 + 29 + 9 + 8 + 6 + 35 + 38 + 38 + 35 + 33 + 30 + 33 + 32 + 31 + 32 + 34 + 26 + 25 + 32 + 35 + 34 + 34 + 31 + 32 + 30 + 25 + 16 + 14 + 16 + 13 + 13 + 13 + 5 + 9 + 5 + 9 + 8 + 9 + 9 + 31 + 22 + 34 + 22 + 31 + 31 + 15 + 23 + 38 + 38 + 31 + 31 + 33 + 35 + 32 + 31 + 32 + 32 + 33 + 36 + 36 + 36 + 37 + 33 + 33 + 35 + 33 + 34 + 27 + 33 + 27 + 24 + 22 + 26 + 27 + 27 + 26 + 19 + 22 + 30 + 30 + 22 + 32 + 32 + 36 + 33 + 33 + 37 + 37 + 37 + 37 + 37 + 29 + 9 + 18 + 33 + 34 + 33 + 33 + 32 + 33 + 36 + 34 + 34 + 36 + 32 + 35 + 35 + 32 + 36 + 30 + 34 + 25 + 20 + 12 + 6 + 12 + 5 + 6 + 9 + 6 + 32 + 20 + 32 + 23 + 23 + 38 + 34 + 31 + 23 + 27 + 15 + 11 + 18 + 38 + 39 + 38 + 34 + 31 + 33 + 36 + 36 + 34 + 37 + 37 + 35 + 33 + 36 + 35 + 27 + 31 + 27 + 27 + 16 + 26 + 26 + 37 + 34 + 22 + 32 + 37 + 41 + 27 + 32 + 32 + 37 + 37 + 31 + 31 + 35 + 35 + 22 + 18 + 22 + 34 + 34 + 32 + 32 + 34 + 32 + 33 + 33 + 36 + 38 + 36 + 36 + 38 + 36 + 34 + 36 + 37 + 9 + 6 + 9 + 6 + 28 + 15 + 23 + 31 + 23 + 15 + 32 + 15 + 34 + 34 + 10 + 26 + 26 + 30 + 23 + 23 + 11 + 39 + 39 + 39 + 35 + 34 + 36 + 37 + 39 + 36 + 29 + 24 + 36 + 36 + 29 + 35 + 29 + 33 + 33 + 35 + 40 + 21 + 28 + 21 + 18 + 34 + 28 + 44 + 44 + 42 + 41 + 42 + 29 + 29 + 42 + 29 + 42 + 42 + 42 + 42 + 36 + 36 + 42 + 28 + 20 + 27 + 28 + 29 + 29 + 28 + 28 + 28 + 32 + 24 + 24 + 32 + 30 + 19 + 25 + 32 + 25 + 35 + 25 + 31 + 6 + 25 + 6 + 6 + 33 + 33 + 32 + 26 + 26 + 26 + 34 + 37 + 37 + 37 + 37 + 38 + 37 + 37 + 38 + 37 + 33 + 37 + 36 + 31 + 33 + 43 + 32 + 34 + 34 + 39 + 29 + 39 + 39 + 29 + 39 + 30 + 39 + 39 + 40 + 36 + 37 + 36 + 36 + 36 + 37 + 39 + 35 + 40 + 40 + 40 + 26 + 28 + 28 + 9 + 9 + 44 + 43 + 44 + 44 + 42 + 42 + 42 + 42 + 42 + 39 + 44 + 20 + 36 + 23 + 33 + 33 + 29 + 23 + 33 + 8 + 6 + 25 + 30 + 30 + 33 + 33 + 33 + 29 + 30 + 25 + 16 + 13 + 38 + 38 + 37 + 37 + 37 + 37 + 36 + 23 + 25 + 33 + 23 + 38 + 38 + 34 + 37 + 41 + 40 + 37 + 40 + 39 + 39 + 39 + 37 + 39 + 35 + 35 + 39 + 37 + 35 + 34 + 36 + 41 + 40 + 36 + 41 + 30 + 30 + 17 + 9 + 17 + 44 + 44 + 43 + 44 + 36 + 44 + 38 + 42 + 43 + 39 + 37 + 39 + 44 + 45 + 44 + 45 + 39 + 31 + 31 + 25 + 31 + 18 + 31 + 31 + 19 + 33 + 33 + 33 + 31 + 29 + 29 + 9 + 6 + 9 + 6 + 13 + 6 + 24 + 24 + 25 + 34 + 35 + 31 + 25 + 31 + 27 + 36 + 37 + 35 + 35 + 37 + 37 + 25 + 23 + 41 + 40 + 41 + 41 + 39 + 41 + 37 + 37 + 41 + 41 + 41 + 41 + 41 + 39 + 34 + 39 + 33 + 34 + 41 + 41 + 41 + 39 + 39 + 39 + 30 + 30 + 33 + 30 + 44 + 44 + 44 + 44 + 46 + 44 + 40 + 45 + 45 + 43 + 46 + 45 + 40 + 33 + 33 + 26 + 26 + 5 + 8 + 8 + 6 + 22 + 18 + 18 + 7 + 16 + 18 + 8 + 6 + 35 + 20 + 12 + 25 + 31 + 37 + 27 + 37 + 30 + 41 + 42 + 39 + 41 + 41 + 41 + 39 + 33 + 34 + 38 + 39 + 34 + 34 + 42 + 42 + 40 + 41 + 33 + 39 + 33 + 39 + 41 + 44 + 40 + 42 + 42 + 41 + 46 + 46 + 41 + 45 + 40 + 45 + 45 + 46 + 45 + 45 + 41 + 31 + 25 + 34 + 36 + 33 + 31 + 23 + 29 + 33 + 29 + 22 + 10 + 5 + 6 + 5 + 6 + 5 + 7 + 5 + 7 + 12 + 20 + 31 + 7 + 30 + 27 + 38 + 38 + 39 + 42 + 43 + 36 + 36 + 35 + 38 + 39 + 33 + 33 + 33 + 40 + 43 + 43 + 43 + 43 + 34 + 40 + 40 + 41 + 41 + 41 + 41 + 44 + 45 + 46 + 44 + 41 + 36 + 36 + 36 + 34 + 36 + 33 + 32 + 33 + 10 + 7 + 6 + 6 + 6 + 6 + 6 + 20 + 6 + 20 + 36 + 38 + 42 + 42 + 42 + 39 + 42 + 36 + 36 + 42 + 42 + 41 + 43 + 41 + 44 + 41 + 44 + 40 + 39 + 44 + 39 + 39 + 43 + 40 + 44 + 33 + 27 + 36 + 30 + 32 + 5 + 6 + 6 + 6 + 5 + 6 + 7 + 6 + 40 + 43 + 44 + 44 + 40 + 43 + 43 + 43 + 41 + 38 + 38 + 34 + 41 + 44 + 44 + 44 + 41 + 40 + 41 + 43 + 43 + 41 + 42 + 40 + 38 + 42 + 43 + 35 + 30 + 7 + 34 + 30 + 7 + 12 + 6 + 6 + 28 + 29 + 43 + 43 + 41 + 44 + 44 + 43 + 43 + 40 + 38 + 43 + 43 + 43 + 42 + 40 + 38 + 37 + 38 + 30 + 30 + 43 + 44 + 42 + 44 + 44 + 41 + 40 + 30 + 36 + 40 + 42 + 42 + 24 + 42 + 28 + 39 + 38 + 34 + 33 + 33 + 12 + 12 + 28 + 28 + 28 + 8 + 7 + 35 + 39 + 29 + 35 + 5 + 41 + 37 + 39 + 39 + 40 + 43 + 42 + 38 + 29 + 35 + 40 + 35 + 44 + 44 + 44 + 41 + 39 + 41 + 41 + 41 + 41 + 40 + 41 + 40 + 41 + 41 + 28 + 36 + 30 + 38 + 41 + 44 + 41 + 28 + 35 + 35 + 39 + 27 + 37 + 38 + 39 + 38 + 39 + 27 + 38 + 28 + 33 + 33 + 27 + 31 + 9 + 31 + 7 + 9 + 32 + 22 + 39 + 29 + 35 + 33 + 35 + 34 + 29 + 34 + 41 + 39 + 39 + 40 + 35 + 40 + 35 + 28 + 38 + 41 + 35 + 38 + 35 + 38 + 38 + 33 + 35 + 27 + 36 + 42 + 39 + 39 + 37 + 39 + 39 + 39 + 41 + 42 + 39 + 32 + 34 + 32 + 33 + 34 + 31 + 23 + 33 + 23 + 43 + 34 + 32 + 42 + 42 + 42 + 42 + 38 + 29 + 35 + 38 + 33 + 39 + 41 + 41 + 39 + 38 + 30 + 28 + 40 + 39 + 41 + 38 + 37 + 41 + 41 + 21 + 35 + 37 + 37 + 35 + 38 + 37 + 42 + 37 + 37 + 38 + 36 + 44 + 42 + 39 + 41 + 41 + 39 + 39 + 42 + 41 + 42 + 42 + 34 + 34 + 41 + 34 + 36 + 32 + 37 + 37 + 36 + 37 + 29 + 32 + 33 + 34 + 30 + 34 + 37 + 36 + 35 + 37 + 43 + 34 + 42 + 35 + 35 + 43 + 44 + 43 + 35 + 38 + 40 + 33 + 39 + 37 + 37 + 37 + 38 + 32 + 41 + 40 + 41 + 40 + 40 + 40 + 40 + 32 + 42 + 30 + 21 + 21 + 21 + 37 + 42 + 37 + 37 + 42 + 42 + 45 + 42 + 42 + 45 + 45 + 39 + 43 + 44 + 44 + 42 + 43 + 44 + 41 + 43 + 41 + 43 + 42 + 41 + 42 + 42 + 34 + 41 + 36 + 32 + 31 + 33 + 38 + 38 + 37 + 37 + 37 + 37 + 36 + 37 + 37 + 37 + 30 + 34 + 33 + 34 + 34 + 36 + 36 + 33 + 36 + 34 + 37 + 37 + 37 + 36 + 36 + 43 + 43 + 45 + 34 + 45 + 43 + 45 + 45 + 43 + 45 + 44 + 44 + 40 + 39 + 40 + 41 + 40 + 44 + 39 + 39 + 44 + 37 + 37 + 37 + 41 + 41 + 41 + 41 + 40 + 40 + 38 + 40 + 41 + 40 + 40 + 30 + 32 + 30 + 42 + 43 + 45 + 45 + 43 + 45 + 46 + 46 + 46 + 43 + 45 + 45 + 44 + 43 + 43 + 43 + 43 + 35 + 33 + 36 + 39 + 42 + 43 + 41 + 42 + 34 + 40 + 41 + 41 + 41 + 39 + 39 + 40 + 39 + 39 + 39 + 38 + 39 + 38 + 39 + 37 + 37 + 36 + 37 + 37 + 37 + 34 + 40 + 41 + 37 + 36 + 39 + 39 + 40 + 39 + 37 + 37 + 37 + 43 + 43 + 45 + 45 + 45 + 45 + 45 + 45 + 45 + 45 + 42 + 41 + 41 + 38 + 40 + 37 + 26 + 13 + 24 + 38 + 41 + 44 + 44 + 44 + 44 + 44 + 44 + 31 + 31 + 44 + 41 + 37 + 38 + 38 + 41 + 40 + 29 + 30 + 39 + 43 + 46 + 39 + 39 + 41 + 43 + 43 + 45 + 45 + 46 + 44 + 46 + 46 + 46 + 46 + 43 + 42 + 45 + 45 + 43 + 35 + 36 + 39 + 39 + 34 + 39 + 39 + 39 + 39 + 34 + 37 + 37 + 39 + 39 + 13 + 38 + 24 + 38 + 38 + 38 + 34 + 39 + 29 + 28 + 29 + 42 + 42 + 42 + 42 + 41 + 41 + 40 + 42 + 40 + 39 + 39 + 39 + 39 + 39 + 39 + 37 + 38 + 37 + 41 + 41 + 41 + 38 + 37 + 39 + 39 + 39 + 39 + 39 + 37 + 38 + 37 + 38 + 37 + 43 + 41 + 41 + 44 + 45 + 44 + 45 + 44 + 40 + 42 + 42 + 42 + 42 + 40 + 40 + 34 + 38 + 36 + 29 + 29 + 35 + 29 + 41 + 29 + 26 + 17 + 19 + 24 + 40 + 40 + 42 + 42 + 44 + 44 + 44 + 27 + 25 + 32 + 39 + 39 + 38 + 42 + 43 + 38 + 38 + 37 + 37 + 37 + 28 + 37 + 28 + 36 + 44 + 44 + 41 + 43 + 34 + 36 + 34 + 45 + 45 + 45 + 45 + 44 + 45 + 46 + 43 + 43 + 46 + 46 + 46 + 44 + 44 + 45 + 44 + 44 + 39 + 39 + 39 + 39 + 41 + 39 + 39 + 36 + 39 + 39 + 38 + 37 + 39 + 39 + 36 + 41 + 40 + 40 + 40 + 39 + 39 + 39 + 34 + 43 + 44 + 42 + 42 + 42 + 41 + 40 + 40 + 40 + 40 + 39 + 39 + 38 + 40 + 41 + 39 + 39 + 39 + 38 + 38 + 38 + 38 + 38 + 38 + 43 + 45 + 41 + 43 + 41 + 44 + 44 + 43 + 44 + 44 + 44 + 44 + 44 + 37 + 44 + 34 + 40 + 31 + 36 + 33 + 33 + 36 + 35 + 45 + 36 + 34 + 29 + 45 + 34 + 34 + 37 + 33 + 39 + 44 + 44 + 44 + 44 + 43 + 44 + 40 + 32 + 39 + 43 + 43 + 37 + 41 + 38 + 38 + 37 + 37 + 41 + 44 + 44 + 41 + 41 + 43 + 43 + 37 + 36 + 45 + 45 + 45 + 38 + 45 + 46 + 45 + 43 + 44 + 46 + 44 + 44 + 44 + 44 + 39 + 38 + 37 + 39 + 29 + 29 + 36 + 37 + 39 + 38 + 38 + 39 + 38 + 38 + 38 + 38 + 38 + 40 + 40 + 42 + 42 + 40 + 41 + 42 + 40 + 29 + 29 + 40 + 41 + 41 + 34 + 37 + 39 + 37 + 39 + 43 + 43 + 44 + 44 + 42 + 42 + 40 + 40 + 40 + 39 + 39 + 38 + 38 + 39 + 39 + 38 + 38 + 45 + 45 + 45 + 42 + 45 + 42 + 43 + 41 + 44 + 44 + 44 + 33 + 37 + 36 + 36 + 36 + 36 + 36 + 36 + 36 + 33 + 33 + 45 + 37 + 45 + 40 + 39 + 42 + 42 + 42 + 44 + 44 + 44 + 41 + 43 + 42 + 38 + 40 + 41 + 38 + 38 + 40 + 44 + 45 + 44 + 44 + 43 + 36 + 38 + 39 + 39 + 37 + 44 + 44 + 45 + 38 + 43 + 39 + 40 + 44 + 45 + 37 + 44 + 44 + 43 + 43 + 43 + 45 + 43 + 44 + 44 + 42 + 36 + 38 + 38 + 39 + 39 + 38 + 38 + 38 + 38 + 38 + 42 + 40 + 42 + 42 + 42 + 42 + 42 + 42 + 42 + 42 + 42 + 42 + 41 + 41 + 41 + 34 + 42 + 42 + 37 + 38 + 38 + 42 + 42 + 41 + 41 + 41 + 41 + 38 + 40 + 40 + 41 + 37 + 38 + 37 + 37 + 37 + 43 + 41 + 43 + 41 + 43 + 43 + 43 + 42 + 41 + 44 + 35 + 44 + 35 + 33 + 33 + 31 + 36 + 36 + 36 + 34 + 38 + 28 + 38 + 32 + 34 + 25 + 28 + 22 + 45 + 41 + 37 + 37 + 41 + 40 + 40 + 41 + 40 + 42 + 42 + 39 + 40 + 42 + 40 + 42 + 39 + 40 + 40 + 43 + 41 + 41 + 43 + 43 + 43 + 43 + 36 + 37 + 38 + 43 + 45 + 29 + 33 + 33 + 45 + 40 + 38 + 31 + 43 + 43 + 43 + 43 + 40 + 41 + 43 + 42 + 24 + 42 + 44 + 42 + 37 + 38 + 38 + 27 + 32 + 27 + 34 + 40 + 40 + 38 + 39 + 38 + 38 + 37 + 41 + 41 + 41 + 42 + 42 + 42 + 41 + 42 + 42 + 36 + 37 + 42 + 41 + 41 + 41 + 40 + 41 + 37 + 40 + 37 + 36 + 36 + 37 + 37 + 43 + 43 + 43 + 43 + 42 + 18 + 34 + 32 + 26 + 40 + 40 + 34 + 32 + 36 + 36 + 36 + 35 + 36 + 38 + 34 + 25 + 35 + 35 + 22 + 40 + 43 + 40 + 41 + 40 + 39 + 36 + 40 + 39 + 39 + 39 + 37 + 40 + 40 + 38 + 40 + 40 + 38 + 40 + 41 + 42 + 34 + 45 + 43 + 45 + 35 + 45 + 45 + 40 + 40 + 43 + 39 + 36 + 38 + 39 + 37 + 40 + 43 + 40 + 40 + 41 + 36 + 40 + 38 + 41 + 25 + 42 + 41 + 42 + 41 + 41 + 41 + 38 + 39 + 34 + 31 + 37 + 39 + 39 + 37 + 39 + 39 + 41 + 42 + 42 + 40 + 39 + 42 + 43 + 43 + 43 + 42 + 43 + 42 + 40 + 41 + 40 + 40 + 37 + 37 + 39 + 39 + 37 + 37 + 42 + 40 + 41 + 17 + 18 + 19 + 17 + 41 + 41 + 43 + 43 + 43 + 42 + 42 + 42 + 42 + 42 + 45 + 18 + 18 + 18 + 21 + 19 + 16 + 22 + 21 + 22 + 32 + 33 + 30 + 34 + 36 + 38 + 32 + 39 + 35 + 25 + 39 + 41 + 39 + 41 + 41 + 41 + 42 + 42 + 25 + 42 + 42 + 43 + 42 + 40 + 40 + 40 + 39 + 39 + 37 + 36 + 37 + 38 + 39 + 37 + 37 + 40 + 26 + 29 + 29 + 42 + 45 + 43 + 43 + 29 + 29 + 35 + 35 + 32 + 45 + 40 + 40 + 38 + 38 + 40 + 38 + 34 + 38 + 33 + 34 + 32 + 32 + 38 + 34 + 39 + 39 + 25 + 27 + 28 + 38 + 31 + 40 + 36 + 37 + 36 + 37 + 39 + 37 + 35 + 35 + 40 + 42 + 38 + 37 + 40 + 39 + 43 + 41 + 41 + 43 + 43 + 41 + 43 + 43 + 39 + 37 + 39 + 40 + 40 + 40 + 37 + 39 + 42 + 40 + 45 + 45 + 42 + 42 + 29 + 33 + 21 + 21 + 32 + 32 + 19 + 21 + 27 + 21 + 21 + 21 + 22 + 42 + 39 + 42 + 42 + 37 + 37 + 45 + 38 + 20 + 21 + 21 + 21 + 21 + 20 + 21 + 20 + 21 + 22 + 21 + 22 + 21 + 21 + 22 + 22 + 34 + 38 + 39 + 33 + 27 + 29 + 30 + 36 + 40 + 41 + 41 + 38 + 43 + 27 + 27 + 37 + 37 + 39 + 42 + 42 + 42 + 40 + 21 + 15 + 21 + 15 + 15 + 43 + 43 + 43 + 43 + 41 + 41 + 43 + 37 + 40 + 40 + 38 + 37 + 38 + 29 + 29 + 29 + 20 + 45 + 43 + 45 + 38 + 9 + 38 + 38 + 40 + 40 + 38 + 40 + 39 + 38 + 38 + 35 + 37 + 39 + 37 + 33 + 26 + 33 + 37 + 37 + 29 + 32 + 30 + 34 + 45 + 45 + 38 + 28 + 38 + 39 + 37 + 39 + 38 + 39 + 40 + 42 + 42 + 37 + 41 + 39 + 36 + 37 + 42 + 39 + 43 + 39 + 41 + 43 + 39 + 44 + 41 + 43 + 45 + 45 + 45 + 44 + 45 + 40 + 40 + 34 + 29 + 33 + 38 + 39 + 28 + 34 + 38 + 38 + 29 + 29 + 27 + 35 + 28 + 22 + 28 + 21 + 22 + 39 + 33 + 34 + 37 + 37 + 35 + 38 + 35 + 36 + 43 + 43 + 43 + 44 + 21 + 21 + 25 + 21 + 21 + 20 + 20 + 20 + 21 + 21 + 21 + 20 + 21 + 21 + 21 + 32 + 32 + 37 + 39 + 39 + 38 + 39 + 32 + 32 + 39 + 39 + 40 + 40 + 32 + 34 + 34 + 31 + 27 + 34 + 26 + 25 + 26 + 28 + 28 + 24 + 29 + 41 + 41 + 43 + 44 + 44 + 42 + 43 + 37 + 37 + 29 + 40 + 41 + 41 + 15 + 29 + 13 + 43 + 43 + 43 + 43 + 40 + 41 + 40 + 35 + 40 + 42 + 40 + 44 + 36 + 37 + 39 + 35 + 36 + 36 + 29 + 9 + 9 + 41 + 43 + 39 + 41 + 43 + 41 + 33 + 32 + 38 + 39 + 35 + 38 + 33 + 32 + 37 + 34 + 37 + 29 + 29 + 29 + 29 + 25 + 37 + 44 + 44 + 44 + 41 + 39 + 40 + 41 + 39 + 42 + 43 + 44 + 43 + 44 + 42 + 38 + 38 + 37 + 37 + 39 + 42 + 41 + 43 + 41 + 41 + 43 + 43 + 43 + 44 + 44 + 40 + 39 + 38 + 39 + 39 + 39 + 40 + 39 + 38 + 39 + 38 + 35 + 36 + 36 + 29 + 28 + 25 + 33 + 33 + 35 + 35 + 37 + 36 + 35 + 37 + 37 + 43 + 20 + 20 + 20 + 21 + 21 + 20 + 21 + 20 + 21 + 21 + 20 + 21 + 21 + 25 + 26 + 24 + 30 + 39 + 37 + 39 + 38 + 39 + 39 + 38 + 40 + 40 + 29 + 37 + 37 + 38 + 37 + 31 + 26 + 27 + 36 + 28 + 30 + 30 + 36 + 36 + 36 + 36 + 37 + 29 + 29 + 40 + 36 + 43 + 33 + 43 + 43 + 43 + 43 + 43 + 43 + 42 + 42 + 42 + 26 + 37 + 29 + 41 + 33 + 43 + 43 + 44 + 42 + 36 + 36 + 40 + 39 + 38 + 38 + 30 + 30 + 32 + 33 + 38 + 38 + 41 + 38 + 38 + 30 + 32 + 29 + 32 + 37 + 37 + 37 + 37 + 33 + 34 + 37 + 34 + 30 + 42 + 40 + 41 + 41 + 41 + 40 + 40 + 41 + 41 + 41 + 41 + 41 + 41 + 43 + 43 + 40 + 39 + 42 + 42 + 38 + 38 + 43 + 43 + 43 + 42 + 44 + 40 + 40 + 40 + 40 + 40 + 40 + 25 + 39 + 38 + 36 + 39 + 39 + 29 + 33 + 35 + 42 + 42 + 37 + 33 + 32 + 37 + 37 + 37 + 34 + 33 + 29 + 33 + 39 + 42 + 39 + 37 + 37 + 42 + 37 + 21 + 21 + 21 + 21 + 20 + 21 + 21 + 21 + 21 + 21 + 21 + 29 + 29 + 29 + 38 + 38 + 39 + 39 + 39 + 39 + 38 + 38 + 40 + 37 + 38 + 29 + 28 + 32 + 31 + 38 + 38 + 29 + 30 + 26 + 39 + 32 + 38 + 37 + 40 + 37 + 34 + 40 + 28 + 33 + 38 + 38 + 31 + 24 + 33 + 30 + 42 + 42 + 44 + 44 + 42 + 40 + 40 + 42 + 43 + 35 + 40 + 41 + 35 + 42 + 26 + 33 + 37 + 37 + 44 + 42 + 42 + 30 + 33 + 30 + 28 + 30 + 25 + 29 + 30 + 33 + 37 + 33 + 34 + 30 + 33 + 40 + 40 + 41 + 40 + 40 + 40 + 41 + 41 + 43 + 43 + 43 + 43 + 38 + 37 + 38 + 38 + 37 + 43 + 40 + 43 + 40 + 43 + 41 + 40 + 40 + 21 + 25 + 40 + 40 + 40 + 29 + 23 + 27 + 31 + 39 + 40 + 33 + 27 + 27 + 28 + 32 + 32 + 37 + 31 + 34 + 31 + 31 + 34 + 29 + 26 + 39 + 32 + 21 + 21 + 21 + 27 + 25 + 28 + 21 + 20 + 21 + 19 + 30 + 30 + 37 + 39 + 38 + 38 + 38 + 38 + 35 + 35 + 38 + 34 + 38 + 35 + 35 + 34 + 34 + 38 + 30 + 37 + 39 + 35 + 35 + 39 + 40 + 38 + 40 + 42 + 40 + 39 + 39 + 42 + 38 + 28 + 38 + 31 + 38 + 38 + 40 + 38 + 40 + 38 + 40 + 40 + 42 + 42 + 40 + 40 + 39 + 39 + 42 + 40 + 39 + 27 + 29 + 39 + 44 + 44 + 44 + 38 + 38 + 39 + 43 + 30 + 30 + 30 + 30 + 31 + 31 + 30 + 31 + 33 + 32 + 29 + 33 + 30 + 27 + 37 + 43 + 40 + 39 + 40 + 40 + 40 + 40 + 40 + 37 + 38 + 42 + 40 + 39 + 42 + 40 + 42 + 42 + 43 + 32 + 39 + 39 + 40 + 33 + 38 + 38 + 31 + 31 + 28 + 27 + 30 + 31 + 30 + 31 + 29 + 28 + 22 + 22 + 31 + 35 + 28 + 31 + 27 + 32 + 21 + 21 + 24 + 25 + 32 + 31 + 28 + 21 + 21 + 20 + 33 + 33 + 34 + 34 + 33 + 30 + 38 + 34 + 38 + 34 + 38 + 38 + 38 + 36 + 37 + 35 + 38 + 31 + 36 + 38 + 37 + 36 + 38 + 38 + 40 + 42 + 43 + 43 + 39 + 35 + 35 + 42 + 39 + 39 + 39 + 41 + 39 + 41 + 40 + 34 + 40 + 36 + 34 + 34 + 42 + 42 + 42 + 38 + 38 + 38 + 40 + 40 + 39 + 40 + 40 + 42 + 37 + 40 + 42 + 41 + 43 + 28 + 33 + 38 + 39 + 33 + 39 + 42 + 44 + 44 + 43 + 43 + 43 + 34 + 39 + 39 + 34 + 24 + 30 + 24 + 20 + 20 + 31 + 31 + 28 + 30 + 31 + 29 + 37 + 38 + 39 + 40 + 39 + 40 + 36 + 39 + 37 + 36 + 43 + 42 + 42 + 43 + 43 + 43 + 43 + 35 + 33 + 39 + 39 + 38 + 35 + 32 + 36 + 38 + 38 + 38 + 36 + 31 + 31 + 35 + 31 + 31 + 24 + 25 + 25 + 31 + 31 + 30 + 31 + 29 + 19 + 19 + 31 + 28 + 28 + 28 + 31 + 32 + 33 + 32 + 33 + 32 + 24 + 20 + 20 + 20 + 40 + 40 + 40 + 38 + 38 + 37 + 38 + 43 + 37 + 38 + 34 + 29 + 37 + 41 + 35 + 40 + 44 + 40 + 42 + 43 + 42 + 41 + 41 + 43 + 36 + 42 + 42 + 37 + 40 + 36 + 37 + 37 + 40 + 35 + 32 + 33 + 42 + 43 + 42 + 39 + 43 + 43 + 43 + 41 + 29 + 39 + 29 + 28 + 43 + 45 + 46 + 45 + 46 + 39 + 34 + 27 + 27 + 27 + 33 + 33 + 28 + 36 + 37 + 43 + 39 + 36 + 38 + 39 + 39 + 36 + 41 + 42 + 43 + 43 + 43 + 35 + 37 + 35 + 37 + 36 + 35 + 36 + 36 + 37 + 36 + 38 + 37 + 34 + 36 + 35 + 31 + 31 + 35 + 42 + 42 + 28 + 25 + 21 + 26 + 30 + 34 + 31 + 30 + 19 + 30 + 36 + 26 + 34 + 33 + 34 + 33 + 33 + 33 + 25 + 40 + 40 + 41 + 37 + 36 + 40 + 41 + 41 + 40 + 37 + 40 + 40 + 40 + 38 + 34 + 33 + 39 + 39 + 39 + 43 + 43 + 43 + 43 + 43 + 43 + 45 + 44 + 46 + 43 + 43 + 44 + 46 + 46 + 46 + 46 + 46 + 36 + 37 + 39 + 34 + 34 + 43 + 39 + 43 + 42 + 43 + 41 + 43 + 43 + 40 + 43 + 41 + 29 + 43 + 43 + 43 + 39 + 45 + 45 + 44 + 34 + 37 + 31 + 31 + 34 + 25 + 33 + 32 + 36 + 36 + 36 + 39 + 41 + 43 + 43 + 43 + 43 + 43 + 43 + 36 + 37 + 35 + 35 + 35 + 37 + 37 + 37 + 36 + 36 + 37 + 34 + 42 + 35 + 32 + 42 + 42 + 28 + 26 + 28 + 28 + 21 + 20 + 36 + 39 + 30 + 36 + 42 + 36 + 39 + 30 + 25 + 32 + 33 + 33 + 33 + 33 + 29 + 29 + 33 + 29 + 29 + 25 + 39 + 41 + 41 + 40 + 39 + 41 + 43 + 40 + 40 + 38 + 40 + 39 + 44 + 46 + 45 + 44 + 45 + 45 + 41 + 44 + 45 + 39 + 37 + 35 + 35 + 39 + 41 + 36 + 39 + 39 + 42 + 43 + 41 + 43 + 43 + 43 + 43 + 43 + 43 + 43 + 43 + 43 + 28 + 41 + 41 + 29 + 43 + 42 + 42 + 42 + 35 + 29 + 36 + 37 + 28 + 41 + 21 + 31 + 37 + 43 + 31 + 35 + 39 + 43 + 43 + 43 + 37 + 35 + 35 + 35 + 35 + 35 + 33 + 34 + 33 + 42 + 42 + 42 + 37 + 41 + 42 + 26 + 22 + 23 + 27 + 23 + 39 + 43 + 43 + 42 + 36 + 43 + 39 + 37 + 29 + 31 + 20 + 33 + 33 + 33 + 32 + 33 + 32 + 32 + 26 + 24 + 32 + 26 + 41 + 39 + 39 + 40 + 41 + 43 + 43 + 40 + 39 + 39 + 44 + 42 + 41 + 41 + 45 + 45 + 41 + 43 + 38 + 45 + 41 + 43 + 41 + 41 + 38 + 41 + 41 + 39 + 41 + 43 + 42 + 42 + 42 + 41 + 43 + 43 + 42 + 42 + 43 + 35 + 30 + 35 + 43 + 31 + 31 + 36 + 37 + 37 + 22 + 39 + 35 + 43 + 33 + 39 + 42 + 40 + 43 + 43 + 33 + 33 + 35 + 35 + 34 + 34 + 37 + 41 + 41 + 23 + 20 + 29 + 23 + 27 + 43 + 43 + 42 + 42 + 42 + 43 + 39 + 41 + 37 + 20 + 22 + 33 + 32 + 32 + 33 + 33 + 32 + 41 + 41 + 41 + 39 + 39 + 39 + 38 + 42 + 43 + 43 + 37 + 34 + 43 + 43 + 38 + 35 + 37 + 35 + 39 + 41 + 39 + 39 + 41 + 42 + 29 + 41 + 42 + 41 + 41 + 41 + 42 + 41 + 35 + 42 + 42 + 35 + 40 + 34 + 25 + 34 + 30 + 37 + 37 + 37 + 37 + 22 + 37 + 37 + 35 + 34 + 43 + 43 + 40 + 40 + 33 + 32 + 34 + 33 + 34 + 33 + 35 + 35 + 34 + 33 + 33 + 42 + 42 + 41 + 37 + 32 + 22 + 42 + 42 + 41 + 41 + 36 + 37 + 32 + 37 + 34 + 34 + 34 + 31 + 33 + 33 + 26 + 27 + 32 + 31 + 32 + 26 + 26 + 43 + 40 + 43 + 35 + 35 + 36 + 38 + 38 + 36 + 35 + 38 + 37 + 38 + 37 + 43 + 43 + 38 + 43 + 38 + 33 + 33 + 30 + 31 + 38 + 39 + 41 + 39 + 39 + 38 + 41 + 29 + 29 + 35 + 29 + 34 + 37 + 37 + 40 + 42 + 42 + 30 + 31 + 31 + 45 + 31 + 31 + 42 + 43 + 33 + 33 + 34 + 36 + 40 + 40 + 31 + 40 + 40 + 40 + 33 + 32 + 32 + 34 + 34 + 33 + 33 + 41 + 36 + 41 + 41 + 37 + 31 + 42 + 42 + 42 + 42 + 42 + 41 + 41 + 40 + 40 + 40 + 36 + 36 + 34 + 34 + 34 + 27 + 27 + 33 + 33 + 29 + 26 + 27 + 24 + 24 + 42 + 34 + 36 + 37 + 37 + 37 + 37 + 37 + 40 + 40 + 43 + 38 + 37 + 32 + 31 + 37 + 33 + 38 + 39 + 38 + 38 + 28 + 29 + 36 + 36 + 42 + 42 + 31 + 42 + 34 + 44 + 42 + 41 + 41 + 44 + 38 + 38 + 45 + 45 + 45 + 45 + 45 + 45 + 45 + 44 + 43 + 44 + 43 + 31 + 42 + 41 + 34 + 34 + 34 + 34 + 37 + 40 + 40 + 38 + 36 + 40 + 35 + 36 + 34 + 34 + 34 + 35 + 34 + 34 + 34 + 34 + 42 + 38 + 38 + 32 + 37 + 40 + 40 + 41 + 41 + 41 + 34 + 27 + 34 + 34 + 27 + 20 + 22 + 26 + 29 + 20 + 22 + 27 + 40 + 42 + 38 + 38 + 38 + 37 + 37 + 37 + 37 + 40 + 38 + 37 + 40 + 41 + 34 + 34 + 31 + 37 + 34 + 38 + 37 + 38 + 38 + 37 + 36 + 29 + 42 + 42 + 42 + 43 + 42 + 42 + 44 + 44 + 43 + 41 + 41 + 42 + 40 + 44 + 45 + 43 + 44 + 42 + 43 + 42 + 41 + 41 + 40 + 40 + 40 + 37 + 40 + 38 + 35 + 34 + 34 + 34 + 35 + 41 + 39 + 38 + 35 + 39 + 40 + 40 + 40 + 39 + 37 + 25 + 29 + 25 + 35 + 35 + 21 + 21 + 23 + 20 + 21 + 21 + 23 + 25 + 22 + 39 + 40 + 38 + 38 + 38 + 40 + 37 + 38 + 36 + 37 + 41 + 41 + 36 + 33 + 33 + 33 + 40 + 39 + 36 + 41 + 36 + 34 + 36 + 36 + 36 + 32 + 32 + 25 + 25 + 25 + 41 + 40 + 44 + 43 + 43 + 42 + 41 + 40 + 40 + 41 + 43 + 42 + 43 + 42 + 41 + 41 + 40 + 41 + 38 + 38 + 41 + 38 + 38 + 38 + 37 + 36 + 34 + 34 + 36 + 36 + 38 + 36 + 36 + 39 + 39 + 40 + 40 + 37 + 37 + 37 + 37 + 36 + 36 + 36 + 29 + 30 + 22 + 38 + 38 + 32 + 37 + 30 + 37 + 21 + 22 + 20 + 23 + 23 + 22 + 24 + 37 + 40 + 38 + 38 + 37 + 38 + 41 + 41 + 37 + 39 + 40 + 39 + 36 + 36 + 36 + 26 + 36 + 32 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 42 + 41 + 38 + 39 + 39 + 40 + 39 + 38 + 42 + 41 + 40 + 37 + 40 + 37 + 37 + 36 + 38 + 38 + 35 + 37 + 39 + 37 + 36 + 39 + 37 + 37 + 37 + 39 + 39 + 39 + 24 + 38 + 38 + 37 + 37 + 37 + 32 + 20 + 21 + 22 + 21 + 24 + 21 + 38 + 38 + 38 + 38 + 39 + 40 + 40 + 41 + 41 + 38 + 38 + 39 + 37 + 34 + 36 + 28 + 37 + 28 + 26 + 32 + 41 + 40 + 40 + 38 + 38 + 38 + 39 + 38 + 37 + 39 + 38 + 35 + 36 + 36 + 37 + 39 + 39 + 37 + 36 + 38 + 37 + 39 + 39 + 39 + 38 + 37 + 37 + 35 + 29 + 22 + 29 + 37 + 32 + 20 + 17 + 21 + 17 + 20 + 35 + 26 + 38 + 40 + 41 + 41 + 41 + 41 + 41 + 38 + 34 + 32 + 38 + 37 + 31 + 26 + 28 + 36 + 41 + 40 + 40 + 40 + 39 + 40 + 39 + 41 + 36 + 38 + 37 + 40 + 40 + 38 + 38 + 40 + 39 + 39 + 39 + 40 + 40 + 39 + 39 + 39 + 37 + 37 + 39 + 35 + 28 + 28 + 17 + 22 + 17 + 28 + 40 + 41 + 41 + 41 + 41 + 41 + 40 + 39 + 41 + 40 + 32 + 29 + 36 + 22 + 28 + 39 + 39 + 41 + 41 + 42 + 41 + 42 + 42 + 42 + 40 + 40 + 42 + 40 + 40 + 41 + 41 + 39 + 38 + 40 + 38 + 34 + 34 + 34 + 27 + 34 + 21 + 21 + 20 + 41 + 41 + 41 + 41 + 40 + 38 + 39 + 39 + 37 + 32 + 32 + 23 + 23 + 30 + 37 + 42 + 42 + 42 + 41 + 41 + 42 + 42 + 42 + 42 + 42 + 41 + 42 + 41 + 42 + 40 + 40 + 37 + 34 + 37 + 34 + 34 + 27 + 26 + 21 + 21 + 39 + 40 + 35 + 38 + 37 + 34 + 37 + 37 + 30 + 34 + 34 + 27 + 41 + 41 + 41 + 42 + 42 + 41 + 41 + 42 + 41 + 40 + 41 + 36 + 36 + 34 + 29 + 29 + 24 + 29 + 27 + 19 + 27 + 19 + 21 + 39 + 37 + 39 + 37 + 34 + 35 + 31 + 31 + 35 + 35 + 27 + 35 + 26 + 27 + 39 + 39 + 38 + 40 + 40 + 39 + 40 + 41 + 36 + 36 + 36 + 29 + 18 + 27 + 24 + 19 + 35 + 28 + 35 + 26 + 20 + 21 + 28 + 36 + 39 + 38 + 38 + 35 + 36 + 39 + 36 + 29 + 36 + 22 + 27 + 18 + 18 + 17 + 28 + 29 + 35 + 28 + 20 + 21 + 29 + 35 + 29 + 36 + 28 + 36 + 29 + 27 + 23 + 29 + 21 + 20 + 22 + 29 + 29 + 23 + 22 + 21 + 18 + 22 diff --git a/test/meshes/pi/nlvls.out b/test/meshes/pi/nlvls.out new file mode 100644 index 000000000..6c1433871 --- /dev/null +++ b/test/meshes/pi/nlvls.out @@ -0,0 +1,3140 @@ + 23 + 22 + 22 + 23 + 23 + 23 + 29 + 32 + 25 + 20 + 23 + 19 + 19 + 27 + 31 + 23 + 21 + 20 + 19 + 28 + 31 + 32 + 32 + 32 + 22 + 23 + 19 + 19 + 19 + 28 + 17 + 15 + 16 + 16 + 15 + 16 + 15 + 31 + 31 + 30 + 27 + 30 + 20 + 20 + 20 + 20 + 32 + 32 + 32 + 29 + 32 + 32 + 32 + 31 + 23 + 20 + 20 + 19 + 19 + 27 + 14 + 16 + 18 + 17 + 18 + 17 + 18 + 18 + 17 + 17 + 18 + 17 + 17 + 16 + 14 + 28 + 26 + 26 + 26 + 30 + 26 + 26 + 20 + 18 + 20 + 32 + 32 + 32 + 30 + 32 + 23 + 32 + 31 + 27 + 25 + 21 + 19 + 18 + 19 + 21 + 16 + 21 + 28 + 25 + 21 + 25 + 24 + 21 + 20 + 20 + 18 + 22 + 17 + 20 + 31 + 17 + 16 + 17 + 14 + 25 + 23 + 24 + 24 + 21 + 17 + 7 + 24 + 25 + 21 + 18 + 32 + 31 + 31 + 32 + 27 + 32 + 29 + 23 + 21 + 21 + 18 + 17 + 18 + 19 + 14 + 36 + 32 + 36 + 36 + 33 + 28 + 33 + 28 + 26 + 24 + 26 + 24 + 18 + 23 + 34 + 36 + 36 + 36 + 19 + 19 + 19 + 16 + 15 + 21 + 23 + 23 + 21 + 21 + 17 + 7 + 21 + 20 + 30 + 30 + 31 + 31 + 27 + 29 + 22 + 20 + 20 + 19 + 16 + 18 + 24 + 17 + 36 + 36 + 36 + 36 + 34 + 33 + 31 + 27 + 27 + 27 + 36 + 18 + 29 + 35 + 35 + 35 + 35 + 17 + 19 + 19 + 19 + 16 + 17 + 20 + 20 + 21 + 20 + 17 + 18 + 30 + 30 + 30 + 26 + 29 + 24 + 19 + 18 + 19 + 16 + 19 + 26 + 15 + 19 + 21 + 35 + 36 + 27 + 36 + 36 + 36 + 36 + 34 + 31 + 27 + 27 + 35 + 33 + 33 + 22 + 33 + 35 + 35 + 34 + 35 + 18 + 15 + 19 + 14 + 15 + 17 + 18 + 19 + 18 + 16 + 18 + 30 + 30 + 30 + 23 + 28 + 24 + 20 + 19 + 16 + 16 + 26 + 23 + 21 + 26 + 26 + 27 + 33 + 34 + 34 + 27 + 35 + 34 + 34 + 34 + 32 + 27 + 27 + 29 + 30 + 33 + 30 + 31 + 29 + 33 + 34 + 34 + 33 + 23 + 13 + 14 + 15 + 16 + 18 + 18 + 18 + 15 + 30 + 28 + 23 + 25 + 25 + 19 + 20 + 17 + 15 + 19 + 26 + 26 + 26 + 26 + 25 + 27 + 29 + 20 + 25 + 31 + 34 + 19 + 35 + 35 + 30 + 35 + 34 + 32 + 30 + 30 + 23 + 23 + 28 + 20 + 22 + 19 + 19 + 19 + 28 + 33 + 33 + 33 + 31 + 23 + 13 + 15 + 16 + 15 + 18 + 14 + 25 + 16 + 23 + 23 + 21 + 23 + 17 + 17 + 15 + 20 + 26 + 26 + 26 + 26 + 25 + 25 + 30 + 26 + 27 + 29 + 21 + 35 + 29 + 33 + 19 + 16 + 35 + 35 + 35 + 30 + 35 + 34 + 30 + 30 + 15 + 15 + 20 + 19 + 19 + 19 + 18 + 17 + 12 + 22 + 33 + 33 + 33 + 29 + 30 + 10 + 25 + 14 + 11 + 14 + 5 + 18 + 18 + 19 + 17 + 19 + 20 + 22 + 23 + 23 + 22 + 19 + 13 + 23 + 22 + 24 + 15 + 25 + 24 + 25 + 30 + 25 + 26 + 19 + 35 + 35 + 24 + 33 + 29 + 14 + 35 + 35 + 32 + 36 + 30 + 36 + 34 + 30 + 30 + 16 + 14 + 11 + 18 + 18 + 18 + 18 + 18 + 12 + 14 + 24 + 33 + 24 + 33 + 29 + 33 + 18 + 32 + 5 + 5 + 11 + 5 + 5 + 13 + 18 + 19 + 20 + 19 + 17 + 19 + 22 + 24 + 24 + 21 + 22 + 14 + 23 + 20 + 23 + 23 + 25 + 19 + 31 + 33 + 29 + 30 + 27 + 31 + 36 + 36 + 32 + 36 + 27 + 29 + 16 + 15 + 16 + 17 + 18 + 17 + 18 + 18 + 16 + 8 + 15 + 17 + 20 + 25 + 27 + 33 + 27 + 32 + 35 + 30 + 35 + 33 + 17 + 17 + 5 + 5 + 9 + 13 + 25 + 18 + 19 + 20 + 19 + 16 + 19 + 28 + 28 + 24 + 19 + 20 + 18 + 20 + 24 + 21 + 23 + 30 + 35 + 36 + 36 + 34 + 25 + 29 + 16 + 17 + 17 + 18 + 18 + 16 + 18 + 12 + 31 + 17 + 24 + 27 + 32 + 32 + 35 + 33 + 35 + 35 + 36 + 36 + 17 + 19 + 21 + 19 + 16 + 5 + 11 + 32 + 28 + 17 + 16 + 20 + 22 + 23 + 25 + 23 + 25 + 32 + 28 + 25 + 20 + 17 + 23 + 15 + 20 + 28 + 17 + 5 + 32 + 35 + 35 + 35 + 22 + 29 + 17 + 17 + 18 + 18 + 18 + 16 + 16 + 10 + 37 + 31 + 18 + 31 + 22 + 30 + 37 + 37 + 37 + 37 + 37 + 36 + 25 + 25 + 25 + 29 + 22 + 16 + 35 + 32 + 31 + 20 + 24 + 26 + 26 + 28 + 28 + 28 + 31 + 31 + 28 + 35 + 26 + 21 + 20 + 17 + 26 + 26 + 28 + 19 + 6 + 7 + 5 + 32 + 26 + 24 + 35 + 35 + 29 + 25 + 18 + 16 + 18 + 17 + 15 + 12 + 38 + 37 + 25 + 36 + 29 + 34 + 38 + 38 + 38 + 38 + 25 + 29 + 28 + 31 + 24 + 21 + 36 + 35 + 31 + 23 + 32 + 28 + 32 + 32 + 32 + 31 + 32 + 31 + 28 + 36 + 26 + 27 + 36 + 24 + 23 + 26 + 31 + 31 + 29 + 19 + 8 + 10 + 10 + 7 + 29 + 22 + 27 + 29 + 28 + 22 + 18 + 18 + 18 + 10 + 16 + 10 + 10 + 38 + 38 + 32 + 38 + 34 + 38 + 38 + 38 + 26 + 28 + 31 + 34 + 28 + 25 + 23 + 37 + 36 + 26 + 33 + 32 + 32 + 34 + 34 + 33 + 31 + 28 + 36 + 30 + 28 + 37 + 28 + 31 + 31 + 31 + 31 + 31 + 29 + 13 + 10 + 10 + 22 + 18 + 27 + 21 + 24 + 28 + 18 + 18 + 18 + 13 + 16 + 10 + 38 + 38 + 38 + 38 + 38 + 38 + 28 + 28 + 31 + 34 + 19 + 30 + 30 + 30 + 29 + 38 + 38 + 36 + 28 + 34 + 34 + 34 + 34 + 34 + 33 + 29 + 36 + 33 + 29 + 33 + 38 + 31 + 32 + 32 + 31 + 32 + 29 + 27 + 13 + 20 + 26 + 24 + 36 + 24 + 18 + 17 + 16 + 13 + 38 + 38 + 38 + 38 + 38 + 31 + 31 + 35 + 20 + 21 + 27 + 31 + 30 + 32 + 32 + 21 + 18 + 10 + 8 + 10 + 8 + 19 + 38 + 38 + 33 + 34 + 35 + 35 + 34 + 35 + 31 + 31 + 36 + 34 + 35 + 38 + 33 + 33 + 32 + 29 + 26 + 26 + 20 + 24 + 38 + 31 + 10 + 20 + 15 + 9 + 8 + 38 + 38 + 38 + 38 + 32 + 35 + 31 + 27 + 26 + 34 + 32 + 34 + 26 + 19 + 18 + 16 + 10 + 9 + 9 + 8 + 28 + 22 + 14 + 38 + 37 + 34 + 33 + 35 + 35 + 34 + 35 + 33 + 37 + 36 + 37 + 36 + 33 + 33 + 30 + 26 + 26 + 26 + 24 + 38 + 29 + 38 + 9 + 29 + 8 + 37 + 38 + 38 + 35 + 33 + 32 + 34 + 32 + 35 + 35 + 32 + 30 + 16 + 16 + 16 + 9 + 9 + 9 + 34 + 31 + 23 + 15 + 38 + 38 + 32 + 35 + 33 + 34 + 37 + 38 + 36 + 34 + 33 + 27 + 27 + 27 + 26 + 22 + 30 + 32 + 37 + 37 + 37 + 31 + 18 + 34 + 33 + 36 + 34 + 36 + 36 + 36 + 36 + 34 + 25 + 13 + 13 + 9 + 9 + 32 + 23 + 23 + 38 + 34 + 31 + 23 + 15 + 39 + 34 + 33 + 36 + 37 + 39 + 36 + 36 + 29 + 35 + 33 + 27 + 26 + 37 + 32 + 29 + 41 + 42 + 27 + 28 + 33 + 37 + 37 + 37 + 31 + 22 + 6 + 34 + 34 + 32 + 37 + 38 + 38 + 38 + 37 + 36 + 20 + 9 + 6 + 31 + 34 + 32 + 39 + 26 + 34 + 30 + 29 + 39 + 36 + 36 + 39 + 37 + 29 + 40 + 35 + 40 + 28 + 21 + 44 + 36 + 44 + 42 + 42 + 42 + 42 + 42 + 28 + 20 + 29 + 29 + 28 + 28 + 32 + 32 + 35 + 35 + 25 + 6 + 34 + 33 + 32 + 37 + 38 + 38 + 38 + 37 + 37 + 23 + 33 + 43 + 38 + 39 + 37 + 39 + 39 + 39 + 40 + 37 + 39 + 35 + 40 + 40 + 36 + 28 + 9 + 44 + 44 + 42 + 44 + 42 + 42 + 44 + 44 + 36 + 31 + 33 + 33 + 33 + 24 + 26 + 25 + 25 + 33 + 33 + 30 + 26 + 37 + 38 + 37 + 37 + 37 + 33 + 23 + 44 + 41 + 40 + 39 + 41 + 41 + 39 + 37 + 39 + 41 + 41 + 41 + 30 + 39 + 30 + 17 + 44 + 44 + 44 + 43 + 39 + 45 + 45 + 40 + 31 + 31 + 33 + 33 + 33 + 29 + 9 + 13 + 6 + 30 + 25 + 16 + 35 + 31 + 37 + 37 + 37 + 36 + 25 + 44 + 41 + 41 + 39 + 41 + 41 + 39 + 35 + 41 + 41 + 39 + 33 + 30 + 44 + 44 + 46 + 45 + 46 + 45 + 45 + 40 + 31 + 33 + 33 + 26 + 8 + 6 + 24 + 18 + 8 + 35 + 25 + 31 + 37 + 37 + 27 + 42 + 42 + 41 + 41 + 38 + 41 + 34 + 43 + 42 + 39 + 33 + 46 + 42 + 46 + 46 + 45 + 46 + 45 + 36 + 33 + 33 + 29 + 22 + 6 + 5 + 18 + 7 + 12 + 31 + 20 + 30 + 39 + 43 + 36 + 42 + 39 + 36 + 43 + 43 + 40 + 41 + 41 + 41 + 44 + 46 + 41 + 45 + 41 + 36 + 33 + 32 + 10 + 5 + 6 + 7 + 7 + 20 + 41 + 43 + 40 + 42 + 43 + 43 + 43 + 34 + 44 + 44 + 40 + 44 + 43 + 44 + 36 + 36 + 33 + 6 + 6 + 7 + 6 + 44 + 44 + 42 + 43 + 43 + 43 + 41 + 41 + 44 + 44 + 41 + 43 + 42 + 43 + 40 + 30 + 44 + 7 + 28 + 34 + 12 + 12 + 6 + 29 + 43 + 44 + 44 + 40 + 43 + 43 + 38 + 38 + 30 + 44 + 44 + 41 + 41 + 42 + 42 + 30 + 44 + 28 + 39 + 39 + 38 + 33 + 28 + 28 + 9 + 7 + 39 + 35 + 41 + 43 + 43 + 38 + 42 + 35 + 44 + 44 + 41 + 41 + 41 + 41 + 36 + 44 + 35 + 38 + 39 + 37 + 39 + 39 + 39 + 27 + 38 + 33 + 31 + 23 + 32 + 42 + 42 + 38 + 39 + 40 + 34 + 44 + 41 + 40 + 41 + 40 + 28 + 41 + 41 + 35 + 38 + 38 + 35 + 36 + 42 + 39 + 39 + 41 + 42 + 34 + 34 + 32 + 36 + 33 + 38 + 34 + 35 + 43 + 42 + 43 + 38 + 38 + 33 + 41 + 39 + 39 + 35 + 41 + 41 + 40 + 21 + 21 + 37 + 37 + 38 + 42 + 37 + 39 + 44 + 41 + 41 + 42 + 42 + 42 + 36 + 32 + 37 + 37 + 37 + 37 + 30 + 33 + 36 + 34 + 37 + 35 + 37 + 43 + 45 + 44 + 44 + 40 + 35 + 39 + 39 + 37 + 41 + 41 + 41 + 40 + 40 + 32 + 42 + 30 + 21 + 42 + 42 + 45 + 45 + 45 + 43 + 44 + 44 + 43 + 43 + 43 + 42 + 34 + 41 + 41 + 39 + 39 + 38 + 38 + 37 + 37 + 37 + 34 + 34 + 36 + 36 + 39 + 37 + 37 + 43 + 45 + 45 + 45 + 45 + 40 + 40 + 41 + 44 + 44 + 37 + 44 + 41 + 40 + 41 + 40 + 42 + 46 + 30 + 43 + 45 + 45 + 46 + 46 + 43 + 45 + 45 + 43 + 35 + 34 + 36 + 39 + 39 + 13 + 43 + 42 + 40 + 41 + 41 + 40 + 39 + 39 + 39 + 37 + 37 + 41 + 37 + 39 + 40 + 37 + 37 + 43 + 45 + 45 + 45 + 45 + 42 + 41 + 40 + 26 + 24 + 41 + 44 + 44 + 44 + 31 + 42 + 44 + 38 + 41 + 28 + 29 + 36 + 34 + 46 + 39 + 43 + 45 + 46 + 46 + 46 + 46 + 43 + 45 + 45 + 39 + 41 + 39 + 39 + 39 + 37 + 39 + 38 + 39 + 39 + 39 + 29 + 42 + 42 + 41 + 42 + 40 + 40 + 39 + 39 + 38 + 41 + 41 + 39 + 39 + 40 + 38 + 38 + 43 + 45 + 45 + 45 + 42 + 44 + 42 + 40 + 38 + 38 + 29 + 38 + 35 + 41 + 34 + 29 + 40 + 42 + 44 + 44 + 44 + 32 + 39 + 44 + 43 + 38 + 37 + 37 + 44 + 44 + 43 + 41 + 43 + 45 + 45 + 46 + 46 + 46 + 44 + 45 + 44 + 39 + 41 + 39 + 36 + 39 + 38 + 39 + 39 + 40 + 41 + 40 + 40 + 40 + 34 + 29 + 41 + 44 + 43 + 42 + 42 + 40 + 40 + 39 + 41 + 39 + 39 + 38 + 38 + 45 + 44 + 44 + 44 + 44 + 44 + 44 + 40 + 34 + 36 + 33 + 36 + 45 + 36 + 45 + 37 + 40 + 44 + 44 + 44 + 39 + 43 + 44 + 41 + 38 + 41 + 45 + 44 + 43 + 38 + 45 + 45 + 43 + 46 + 46 + 46 + 44 + 44 + 39 + 39 + 29 + 39 + 38 + 39 + 38 + 39 + 42 + 42 + 42 + 42 + 42 + 41 + 41 + 39 + 44 + 43 + 42 + 41 + 40 + 39 + 39 + 39 + 38 + 45 + 45 + 42 + 44 + 44 + 44 + 44 + 37 + 36 + 36 + 36 + 33 + 28 + 45 + 37 + 45 + 42 + 44 + 44 + 42 + 43 + 41 + 40 + 43 + 45 + 44 + 36 + 39 + 37 + 45 + 45 + 43 + 45 + 44 + 44 + 45 + 43 + 44 + 44 + 38 + 34 + 40 + 39 + 38 + 38 + 42 + 42 + 42 + 42 + 42 + 42 + 41 + 42 + 38 + 44 + 42 + 41 + 41 + 38 + 38 + 38 + 45 + 43 + 43 + 44 + 44 + 44 + 33 + 36 + 36 + 36 + 38 + 38 + 34 + 22 + 45 + 41 + 41 + 42 + 42 + 42 + 42 + 40 + 41 + 43 + 44 + 43 + 43 + 45 + 33 + 45 + 44 + 38 + 40 + 43 + 43 + 43 + 43 + 27 + 44 + 42 + 38 + 38 + 34 + 40 + 39 + 38 + 42 + 41 + 42 + 42 + 43 + 42 + 43 + 37 + 42 + 41 + 41 + 40 + 37 + 37 + 43 + 43 + 43 + 18 + 41 + 35 + 40 + 34 + 36 + 36 + 39 + 41 + 41 + 35 + 25 + 42 + 43 + 40 + 40 + 40 + 40 + 40 + 39 + 41 + 43 + 29 + 43 + 45 + 45 + 35 + 45 + 43 + 39 + 43 + 43 + 40 + 41 + 41 + 25 + 42 + 42 + 38 + 39 + 35 + 37 + 40 + 39 + 42 + 41 + 42 + 43 + 43 + 43 + 37 + 41 + 40 + 39 + 37 + 42 + 17 + 19 + 21 + 43 + 43 + 42 + 45 + 21 + 21 + 18 + 21 + 22 + 22 + 22 + 33 + 34 + 42 + 38 + 39 + 35 + 39 + 42 + 41 + 42 + 27 + 25 + 43 + 43 + 40 + 40 + 41 + 38 + 39 + 40 + 29 + 29 + 42 + 45 + 45 + 35 + 45 + 40 + 40 + 40 + 40 + 41 + 38 + 38 + 34 + 38 + 39 + 31 + 28 + 38 + 41 + 37 + 41 + 39 + 42 + 39 + 40 + 43 + 43 + 43 + 39 + 40 + 40 + 39 + 42 + 45 + 45 + 29 + 34 + 33 + 29 + 32 + 22 + 27 + 22 + 42 + 42 + 42 + 45 + 45 + 21 + 21 + 21 + 20 + 21 + 22 + 22 + 22 + 22 + 38 + 39 + 39 + 32 + 27 + 30 + 43 + 41 + 43 + 37 + 40 + 42 + 42 + 29 + 21 + 15 + 43 + 43 + 40 + 41 + 41 + 38 + 37 + 29 + 29 + 29 + 43 + 45 + 45 + 38 + 40 + 40 + 38 + 35 + 39 + 33 + 33 + 37 + 32 + 37 + 45 + 38 + 39 + 39 + 40 + 43 + 39 + 42 + 41 + 37 + 43 + 43 + 41 + 43 + 43 + 44 + 45 + 45 + 40 + 38 + 39 + 39 + 38 + 38 + 35 + 28 + 28 + 39 + 37 + 37 + 38 + 43 + 44 + 21 + 25 + 20 + 21 + 21 + 21 + 21 + 21 + 34 + 32 + 37 + 39 + 39 + 39 + 40 + 32 + 37 + 34 + 27 + 28 + 28 + 25 + 36 + 43 + 44 + 44 + 43 + 37 + 41 + 42 + 29 + 15 + 43 + 43 + 43 + 40 + 44 + 39 + 36 + 29 + 32 + 43 + 43 + 41 + 38 + 39 + 38 + 37 + 37 + 29 + 29 + 37 + 37 + 45 + 41 + 41 + 41 + 42 + 44 + 41 + 42 + 39 + 42 + 43 + 43 + 43 + 44 + 45 + 40 + 40 + 39 + 40 + 40 + 39 + 38 + 36 + 29 + 35 + 37 + 37 + 43 + 37 + 44 + 21 + 25 + 21 + 21 + 21 + 21 + 21 + 29 + 38 + 39 + 39 + 39 + 40 + 40 + 40 + 29 + 38 + 37 + 31 + 26 + 36 + 30 + 26 + 37 + 36 + 37 + 29 + 43 + 33 + 43 + 44 + 44 + 43 + 42 + 37 + 41 + 26 + 43 + 44 + 40 + 42 + 38 + 30 + 33 + 41 + 41 + 38 + 33 + 37 + 37 + 34 + 37 + 33 + 44 + 41 + 41 + 41 + 41 + 42 + 44 + 41 + 42 + 39 + 43 + 43 + 44 + 42 + 40 + 40 + 40 + 29 + 40 + 39 + 36 + 35 + 42 + 37 + 37 + 37 + 37 + 34 + 33 + 42 + 42 + 21 + 21 + 21 + 21 + 21 + 21 + 29 + 29 + 39 + 39 + 39 + 38 + 40 + 40 + 32 + 38 + 38 + 34 + 30 + 36 + 30 + 39 + 40 + 40 + 38 + 43 + 28 + 38 + 31 + 38 + 40 + 43 + 44 + 42 + 43 + 43 + 42 + 33 + 42 + 44 + 38 + 44 + 30 + 33 + 38 + 30 + 32 + 37 + 37 + 34 + 33 + 30 + 40 + 41 + 40 + 41 + 41 + 43 + 40 + 38 + 43 + 43 + 43 + 40 + 27 + 40 + 33 + 40 + 39 + 32 + 37 + 32 + 37 + 34 + 29 + 39 + 37 + 25 + 21 + 32 + 21 + 21 + 21 + 33 + 30 + 39 + 39 + 38 + 38 + 35 + 38 + 38 + 38 + 38 + 39 + 35 + 42 + 40 + 42 + 39 + 39 + 38 + 42 + 38 + 38 + 40 + 40 + 42 + 42 + 44 + 40 + 40 + 42 + 40 + 35 + 40 + 44 + 44 + 30 + 30 + 30 + 31 + 31 + 33 + 33 + 30 + 43 + 40 + 40 + 40 + 38 + 43 + 40 + 42 + 43 + 40 + 32 + 40 + 38 + 39 + 31 + 28 + 27 + 31 + 31 + 31 + 22 + 37 + 31 + 33 + 25 + 21 + 28 + 32 + 21 + 33 + 34 + 40 + 38 + 38 + 38 + 37 + 38 + 34 + 38 + 40 + 43 + 39 + 35 + 43 + 42 + 41 + 41 + 40 + 38 + 42 + 40 + 38 + 40 + 40 + 42 + 42 + 44 + 43 + 39 + 39 + 28 + 43 + 44 + 45 + 39 + 34 + 30 + 30 + 20 + 31 + 31 + 31 + 29 + 43 + 40 + 40 + 38 + 39 + 43 + 42 + 43 + 35 + 39 + 36 + 39 + 38 + 31 + 35 + 28 + 25 + 31 + 31 + 29 + 19 + 37 + 31 + 33 + 35 + 24 + 31 + 20 + 40 + 40 + 41 + 38 + 40 + 43 + 37 + 36 + 39 + 41 + 43 + 43 + 44 + 43 + 43 + 43 + 46 + 36 + 42 + 40 + 40 + 37 + 43 + 42 + 43 + 43 + 41 + 33 + 43 + 43 + 46 + 46 + 45 + 39 + 34 + 27 + 33 + 28 + 43 + 39 + 39 + 42 + 43 + 43 + 37 + 37 + 38 + 37 + 38 + 37 + 35 + 35 + 42 + 28 + 28 + 25 + 30 + 36 + 30 + 30 + 36 + 34 + 35 + 34 + 32 + 33 + 25 + 41 + 40 + 41 + 40 + 43 + 40 + 39 + 41 + 43 + 45 + 46 + 44 + 45 + 46 + 46 + 37 + 39 + 37 + 35 + 43 + 43 + 43 + 43 + 41 + 29 + 43 + 43 + 45 + 46 + 39 + 34 + 31 + 33 + 43 + 36 + 41 + 43 + 43 + 43 + 37 + 37 + 37 + 37 + 37 + 36 + 42 + 42 + 42 + 28 + 28 + 21 + 39 + 42 + 39 + 36 + 32 + 34 + 33 + 33 + 33 + 29 + 39 + 41 + 41 + 43 + 40 + 39 + 44 + 46 + 45 + 46 + 44 + 45 + 39 + 41 + 39 + 43 + 43 + 43 + 43 + 43 + 41 + 29 + 43 + 42 + 37 + 41 + 31 + 37 + 43 + 39 + 43 + 43 + 43 + 37 + 35 + 36 + 35 + 33 + 42 + 42 + 42 + 26 + 23 + 27 + 43 + 43 + 43 + 39 + 37 + 31 + 33 + 33 + 33 + 32 + 29 + 41 + 41 + 40 + 43 + 40 + 44 + 45 + 43 + 45 + 43 + 41 + 41 + 42 + 41 + 43 + 43 + 43 + 43 + 43 + 43 + 35 + 42 + 43 + 31 + 37 + 37 + 39 + 43 + 43 + 43 + 34 + 35 + 35 + 33 + 42 + 41 + 23 + 29 + 43 + 43 + 43 + 41 + 37 + 22 + 33 + 33 + 33 + 32 + 26 + 41 + 41 + 39 + 41 + 42 + 43 + 38 + 43 + 38 + 41 + 42 + 39 + 42 + 42 + 42 + 42 + 42 + 35 + 43 + 34 + 31 + 37 + 37 + 37 + 40 + 43 + 43 + 34 + 34 + 35 + 34 + 42 + 41 + 32 + 43 + 42 + 42 + 41 + 37 + 36 + 34 + 34 + 33 + 32 + 32 + 26 + 43 + 41 + 38 + 38 + 38 + 43 + 38 + 43 + 35 + 41 + 33 + 41 + 41 + 41 + 41 + 35 + 40 + 34 + 37 + 42 + 38 + 45 + 45 + 45 + 31 + 43 + 33 + 37 + 34 + 40 + 40 + 40 + 33 + 34 + 35 + 34 + 42 + 41 + 40 + 42 + 42 + 41 + 40 + 34 + 34 + 33 + 34 + 31 + 27 + 43 + 38 + 37 + 37 + 43 + 40 + 38 + 38 + 37 + 39 + 39 + 39 + 38 + 36 + 29 + 42 + 44 + 42 + 44 + 42 + 42 + 45 + 45 + 45 + 45 + 44 + 42 + 43 + 41 + 36 + 40 + 40 + 40 + 40 + 34 + 35 + 34 + 42 + 38 + 40 + 42 + 41 + 40 + 34 + 35 + 27 + 27 + 29 + 26 + 24 + 27 + 42 + 38 + 38 + 37 + 40 + 41 + 34 + 41 + 38 + 38 + 38 + 38 + 34 + 29 + 42 + 44 + 43 + 44 + 41 + 42 + 45 + 45 + 44 + 43 + 42 + 41 + 37 + 40 + 38 + 36 + 34 + 36 + 41 + 39 + 40 + 41 + 39 + 29 + 35 + 37 + 22 + 23 + 21 + 25 + 25 + 40 + 40 + 41 + 38 + 37 + 41 + 36 + 41 + 36 + 37 + 37 + 36 + 32 + 25 + 41 + 42 + 44 + 43 + 40 + 41 + 43 + 43 + 42 + 41 + 41 + 40 + 38 + 36 + 36 + 38 + 40 + 39 + 40 + 37 + 30 + 39 + 37 + 38 + 23 + 21 + 23 + 24 + 38 + 40 + 38 + 41 + 39 + 40 + 37 + 36 + 36 + 26 + 41 + 41 + 41 + 42 + 39 + 40 + 42 + 41 + 40 + 38 + 38 + 37 + 39 + 39 + 37 + 37 + 37 + 39 + 39 + 32 + 38 + 37 + 22 + 20 + 22 + 24 + 38 + 40 + 41 + 41 + 39 + 39 + 37 + 32 + 41 + 41 + 41 + 38 + 39 + 40 + 39 + 37 + 36 + 38 + 39 + 38 + 39 + 39 + 39 + 39 + 38 + 32 + 37 + 21 + 21 + 22 + 35 + 40 + 41 + 41 + 41 + 38 + 38 + 37 + 34 + 28 + 41 + 40 + 41 + 41 + 41 + 40 + 40 + 40 + 40 + 40 + 39 + 39 + 37 + 35 + 29 + 17 + 28 + 41 + 41 + 41 + 41 + 41 + 36 + 32 + 28 + 39 + 42 + 42 + 42 + 42 + 42 + 42 + 41 + 41 + 40 + 37 + 38 + 34 + 28 + 21 + 41 + 41 + 39 + 40 + 39 + 32 + 23 + 37 + 42 + 42 + 42 + 42 + 42 + 42 + 42 + 41 + 40 + 37 + 34 + 34 + 27 + 21 + 41 + 40 + 37 + 38 + 37 + 30 + 34 + 42 + 41 + 42 + 42 + 41 + 41 + 36 + 34 + 29 + 27 + 21 + 39 + 37 + 35 + 35 + 35 + 27 + 41 + 39 + 40 + 41 + 40 + 36 + 29 + 24 + 19 + 38 + 35 + 31 + 28 + 27 + 39 + 38 + 39 + 36 + 36 + 27 + 18 + 35 + 28 + 21 + 35 + 36 + 36 + 29 + 29 + 22 + 29 + 20 + 29 + 29 + 23 + 21 + 22 diff --git a/test/meshes/pi/nod2d.out b/test/meshes/pi/nod2d.out new file mode 100644 index 000000000..9a06a0dfa --- /dev/null +++ b/test/meshes/pi/nod2d.out @@ -0,0 +1,3141 @@ + 3140 + 1 299.3988166 74.28292396 0 + 2 299.2698627 73.91183809 0 + 3 297.8472869 74.05145544 0 + 4 299.2888643 74.62911128 0 + 5 297.9664426 74.48953890 0 + 6 300.0263454 74.90949094 0 + 7 296.3205154 73.74144053 0 + 8 294.4467467 73.51748871 0 + 9 298.2574709 73.52045373 0 + 10 300.0607634 73.66892311 0 + 11 300.5988532 74.46243486 0 + 12 300.5317687 74.06723304 0 + 13 301.7892418 74.81511452 1 + 14 296.1276898 74.28270565 0 + 15 294.1302622 74.10521378 0 + 16 298.5185750 74.91340459 0 + 17 296.8919613 74.76179413 0 + 18 299.2612603 75.22060446 0 + 19 301.2384483 75.35363504 1 + 20 298.2101811 72.94770914 0 + 21 296.5242529 73.15971162 0 + 22 292.2356955 73.69173144 0 + 23 292.7388713 73.09713373 0 + 24 294.7427702 72.87428151 0 + 25 299.6678252 73.25685914 0 + 26 299.9000016 72.82708439 0 + 27 300.8677846 73.40406999 0 + 28 301.3203376 73.77589969 0 + 29 302.3167195 74.25984227 1 + 30 298.6611083 72.41936723 0 + 31 342.4125447 74.63089965 0 + 32 340.6547094 74.23311831 1 + 33 339.8064270 73.72578432 1 + 34 338.6399850 73.30599390 1 + 35 337.9268095 72.83643713 1 + 36 342.6384884 75.13751959 0 + 37 340.6820071 74.81065658 1 + 38 290.0018663 73.77066415 0 + 39 291.6727231 74.23273244 0 + 40 289.4678111 74.30679702 0 + 41 295.0506927 74.66868627 0 + 42 293.0920607 74.59711365 0 + 43 297.5013333 75.13111528 0 + 44 295.8790752 75.09380071 0 + 45 298.3072504 75.41187693 0 + 46 299.7728844 75.81257499 1 + 47 296.6861840 72.49967638 0 + 48 297.8316553 71.94207730 0 + 49 290.6427802 73.19996794 0 + 50 288.8725566 73.27299699 0 + 51 292.6777798 72.52170963 0 + 52 290.9308889 72.70977309 0 + 53 294.6697221 72.31076936 0 + 54 298.8217512 71.45116509 0 + 55 300.2675966 72.35909313 0 + 56 301.1299508 73.03400257 0 + 57 301.2057525 72.64376036 0 + 58 302.0484765 73.31552534 0 + 59 302.9271501 73.73866118 1 + 60 299.7577180 71.91638548 0 + 61 337.8115400 72.27578009 1 + 62 344.1356180 75.31507733 0 + 63 343.8099892 74.86862726 0 + 64 342.4056151 74.11558163 0 + 65 343.5007309 74.42436041 0 + 66 341.6647063 73.68496680 0 + 67 340.8489872 73.26135666 0 + 68 340.1158730 72.91346502 0 + 69 339.6085688 72.53918457 0 + 70 339.5809427 72.14103337 0 + 71 346.3099275 75.98437592 0 + 72 344.4439019 75.78140956 0 + 73 344.8752837 76.22642993 0 + 74 342.9638430 75.62681974 0 + 75 340.7739203 75.41733055 1 + 76 287.8682498 73.82952712 0 + 77 286.8581723 73.25402750 0 + 78 287.4235405 74.35822597 0 + 79 289.0694204 74.84709621 0 + 80 290.9332108 74.77343895 0 + 81 294.0512579 75.04642712 0 + 82 292.2744356 75.06933191 0 + 83 296.6752797 75.46930746 0 + 84 294.8421808 75.41815407 0 + 85 297.6978899 76.00455627 1 + 86 295.9644410 71.87330733 0 + 87 296.9334964 71.36277617 0 + 88 292.8027505 72.03616325 0 + 89 289.0062870 72.65325509 0 + 90 290.7653453 72.18809402 0 + 91 286.2933702 72.28820793 1 + 92 294.0903277 71.74121825 0 + 93 298.0317053 70.91464265 0 + 94 299.8256309 70.92657890 0 + 95 300.4750749 71.40145391 0 + 96 301.3579692 72.15002293 0 + 97 302.3953176 72.82347185 0 + 98 302.2478212 72.42072686 0 + 99 303.5960602 73.13169965 1 + 100 301.2665244 71.76648755 0 + 101 337.8003561 71.77343952 1 + 102 345.8838202 75.44714944 0 + 103 348.1607781 75.63901509 0 + 104 345.4691265 74.92504915 0 + 105 343.0022434 73.69157942 0 + 106 344.9741990 74.43916124 0 + 107 343.8752770 74.00804222 0 + 108 342.2773476 73.27853244 0 + 109 341.6000142 72.87730762 0 + 110 340.9350383 72.51788268 0 + 111 339.5029808 71.71634844 0 + 112 340.8879450 72.10689653 0 + 113 346.0400255 76.57175586 0 + 114 348.1549884 76.34008695 0 + 115 350.8305864 75.98329449 0 + 116 345.3033821 76.99406378 0 + 117 343.3014001 76.15509365 0 + 118 344.0709625 76.60579874 0 + 119 341.2602105 76.01698165 1 + 120 285.4470360 73.96670153 0 + 121 283.9642266 73.27207714 1 + 122 286.9625000 74.87869735 0 + 123 285.3028347 74.56631677 0 + 124 280.6842152 73.68529989 1 + 125 276.0746361 73.50544576 1 + 126 270.3937537 73.81666024 1 + 127 288.2033004 75.29650642 0 + 128 290.4945097 75.34769234 0 + 129 292.9633506 75.50168944 0 + 130 295.1333580 76.00526792 1 + 131 295.1617189 71.27700266 0 + 132 297.1403207 70.43234951 0 + 133 295.9894830 70.81372028 0 + 134 291.8106168 71.61492447 0 + 135 288.8117474 71.56271788 1 + 136 293.4700389 71.29527219 0 + 137 299.0086499 70.37969874 0 + 138 300.5541196 70.32737258 0 + 139 301.2302770 70.78986604 0 + 140 301.6398691 71.21718197 0 + 141 302.7301353 71.99840351 0 + 142 303.8687609 72.42320351 1 + 143 302.3914932 71.57325186 0 + 144 339.2202496 71.26515974 0 + 145 337.3329547 71.22716977 1 + 146 358.4146465 75.28851672 0 + 147 347.5736163 74.96691449 0 + 148 353.9506876 75.43640791 0 + 149 350.3907749 75.15377680 0 + 150 346.7336752 74.32130367 0 + 151 344.0386912 73.38647381 0 + 152 345.3201178 73.81184016 0 + 153 343.3330994 72.89157443 0 + 154 342.5525858 72.40480384 0 + 155 340.8102996 71.59565320 0 + 156 342.1631556 71.84734551 0 + 157 340.6451666 71.16779682 0 + 158 347.6239331 76.98757348 0 + 159 350.3020462 76.79831832 0 + 160 353.5668997 76.47457025 0 + 161 356.8780531 76.16561267 0 + 162 2.0084290 75.51309258 0 + 163 0.4296224 76.36023231 0 + 164 346.3851981 77.42903850 0 + 165 347.2416361 77.85181103 0 + 166 344.4937413 77.43516372 0 + 167 343.4085107 77.03855910 0 + 168 341.5181734 76.63717714 1 + 169 286.9168735 75.65639506 0 + 170 282.7262047 74.28234576 0 + 171 285.6795274 75.24281671 0 + 172 283.6815865 74.87780166 0 + 173 279.1428270 74.43244903 0 + 174 275.0365527 74.53657230 0 + 175 272.3715869 75.28837438 1 + 176 289.0749285 75.82687152 0 + 177 291.8579666 75.91793589 1 + 178 298.3532404 69.87433616 0 + 179 296.7184686 69.92587528 0 + 180 294.0859891 70.74120504 0 + 181 295.1923287 70.24127713 0 + 182 291.2964556 70.78772712 1 + 183 300.0680383 69.74726389 0 + 184 301.6461739 69.94683659 0 + 185 302.1901787 70.39112358 0 + 186 302.6044678 70.85309526 0 + 187 303.2205283 71.21066812 0 + 188 304.0944499 71.69721864 1 + 189 338.6247935 70.78536878 0 + 190 339.9408003 70.72908566 0 + 191 336.7750161 70.57819201 1 + 192 1.0707213 74.34468606 0 + 193 356.2776961 74.47816104 0 + 194 349.1745451 74.32812194 0 + 195 352.3679999 74.43625815 0 + 196 347.4197567 73.61045587 0 + 197 345.6913809 73.11313728 0 + 198 344.8683351 72.51485531 0 + 199 343.9546295 71.89055080 0 + 200 342.5422509 71.26316684 0 + 201 341.5243249 70.71018749 0 + 202 4.7999724 74.87522781 0 + 203 349.4676650 77.50360658 0 + 204 352.9786311 77.31696124 0 + 205 356.8862637 77.11365678 0 + 206 4.9688255 75.99582153 0 + 207 0.6211965 77.22245171 0 + 208 3.7156738 76.71220208 0 + 209 348.8040228 78.23989788 0 + 210 346.0314832 78.34841816 0 + 211 345.1565783 77.92360072 0 + 212 343.2760542 77.79959470 0 + 213 341.4640247 77.37105695 1 + 214 347.4632937 78.74530317 0 + 215 285.2405952 75.87752894 0 + 216 286.9239976 76.23792699 0 + 217 281.1194490 74.98362562 0 + 218 283.4355762 75.46607986 0 + 219 277.7429243 75.27478516 1 + 220 289.7566933 76.44285249 1 + 221 298.8921760 69.30069116 0 + 222 297.1535295 69.36090615 0 + 223 295.3119199 69.53294887 0 + 224 292.8927599 69.96031151 1 + 225 300.1258590 68.98723232 0 + 226 301.2451952 69.34215181 0 + 227 302.5173952 69.57602342 0 + 228 303.3110457 70.05290666 0 + 229 303.6381235 70.57567326 0 + 230 304.8275828 71.01335321 1 + 231 338.7066708 70.31109586 0 + 232 340.2217659 70.21885220 0 + 233 336.1262414 70.08395143 1 + 234 338.0512510 69.92464045 0 + 235 337.0193724 69.47936316 0 + 236 8.4464296 74.37509669 0 + 237 5.2787537 73.77278866 0 + 238 341.9992134 70.10046319 0 + 239 2.2038979 73.09495711 0 + 240 358.0287078 73.42377955 0 + 241 353.7230609 73.46928673 0 + 242 350.1112820 73.50006994 0 + 243 347.8702808 72.72304313 0 + 244 346.5383474 71.93172493 0 + 245 344.8981857 71.21135751 0 + 246 343.5463339 70.58492443 0 + 247 7.8710358 75.41089324 0 + 248 11.1119250 75.01379303 0 + 249 8.1884486 76.29007392 0 + 250 351.6994616 78.07079157 0 + 251 355.2925259 77.97877871 0 + 252 358.7124681 77.98630926 0 + 253 2.1137488 77.95938147 0 + 254 6.8228313 76.95389283 0 + 255 4.4951755 77.51040689 0 + 256 350.5519162 78.78408392 0 + 257 344.6236677 78.79569069 0 + 258 343.7716579 78.38065244 0 + 259 341.2221795 78.16413117 1 + 260 346.3142422 79.14399622 0 + 261 348.9164633 79.29934049 0 + 262 287.3972693 76.85434316 0 + 263 283.7256962 76.28480273 0 + 264 285.2395258 76.70254938 0 + 265 280.9239881 75.90496874 1 + 266 289.2068909 77.42006450 1 + 267 297.9700576 68.83499760 0 + 268 299.2352989 68.55108572 0 + 269 296.2105130 68.80436090 0 + 270 293.2352938 68.84861169 1 + 271 300.5281513 68.27834326 0 + 272 301.6276144 68.75145323 0 + 273 301.8752452 68.15372802 0 + 274 302.8460937 69.06017729 0 + 275 303.9708045 69.54261826 0 + 276 305.1772554 70.19525627 1 + 277 341.1301281 69.57548564 0 + 278 339.5286241 69.74506157 0 + 279 335.1437702 69.22663221 1 + 280 338.5686052 69.32994650 0 + 281 337.1204630 68.94742364 0 + 282 342.2438396 69.07098189 0 + 283 11.9048687 73.90548150 0 + 284 9.2516045 73.20918297 0 + 285 6.3401951 72.52392397 0 + 286 343.6200432 69.67076447 0 + 287 3.3277808 71.81468685 0 + 288 359.1515756 72.12893920 0 + 289 355.0436258 72.33401802 0 + 290 351.1172308 72.52072061 0 + 291 349.2797228 71.66478391 0 + 292 347.3627191 70.88534985 0 + 293 345.4985654 70.21707173 0 + 294 15.1567678 73.55327088 0 + 295 14.5092186 74.61372695 0 + 296 10.9340382 75.95583245 0 + 297 13.9249121 75.47778438 0 + 298 10.6387199 76.98626042 0 + 299 354.0310283 78.74436677 0 + 300 357.6971135 78.76410482 0 + 301 1.5142755 78.67685385 0 + 302 4.8322674 78.37387936 0 + 303 8.0162822 77.80890185 0 + 304 352.2820588 79.40565517 0 + 305 343.8124564 79.35797605 0 + 306 341.4808052 78.96830507 1 + 307 346.5110021 79.63224763 0 + 308 349.5647100 79.84304551 0 + 309 285.4145328 77.37418862 0 + 310 286.2296787 77.94708864 0 + 311 281.9845440 77.06272756 1 + 312 289.6740257 78.29835960 1 + 313 297.9211326 68.13544615 0 + 314 299.5856950 67.82636533 0 + 315 295.6705015 67.83420418 1 + 316 300.1041169 67.15651497 0 + 317 301.3775919 67.60986274 0 + 318 303.0360849 68.47494868 0 + 319 302.9451891 67.84053889 0 + 320 304.2413890 68.83686113 0 + 321 305.5461415 69.36268632 1 + 322 333.2663053 68.63184235 1 + 323 340.0670347 69.06988664 0 + 324 335.6015617 68.60291390 0 + 325 338.6013744 68.76367757 0 + 326 337.1966635 68.44475298 0 + 327 334.4902149 68.11810407 0 + 328 341.4111449 68.54469390 0 + 329 343.9456475 68.80572760 0 + 330 18.9136436 73.26496932 0 + 331 16.2069924 72.58773505 0 + 332 12.7130176 72.62635144 0 + 333 9.9363441 71.96746103 0 + 334 22.1635725 72.96430521 0 + 335 7.1291258 71.24042855 0 + 336 4.2546418 70.56805288 0 + 337 345.8421027 69.28564222 0 + 338 0.4201438 70.85913927 0 + 339 356.3492923 70.97787324 0 + 340 352.6666265 71.26760010 0 + 341 350.3720829 70.44243565 0 + 342 347.9929413 69.80345994 0 + 343 17.9632711 74.27284213 0 + 344 17.6198317 75.17612531 0 + 345 13.6581587 76.37323539 0 + 346 16.7709328 75.99088478 0 + 347 14.3467144 77.19656783 1 + 348 21.5329056 74.08533529 0 + 349 24.9911728 73.72781925 0 + 350 26.0302076 72.42706194 0 + 351 12.6589976 78.12895950 1 + 352 355.9450779 79.49254701 0 + 353 0.2491076 79.36151406 0 + 354 4.0959233 79.19719101 0 + 355 7.5027989 78.77645179 0 + 356 352.6049829 80.05214584 0 + 357 342.5550246 79.95482320 1 + 358 346.5582407 80.13449944 0 + 359 349.4361052 80.46652906 0 + 360 286.1560339 78.61859972 0 + 361 282.1021192 78.11133100 1 + 362 290.6929582 79.12335748 1 + 363 297.9683440 67.12708197 1 + 364 330.9636956 68.28301772 1 + 365 300.0338737 66.36662514 0 + 366 301.5893828 66.82508759 0 + 367 300.4580008 65.56488025 0 + 368 302.6837769 67.23940026 0 + 369 304.3233639 68.18136924 0 + 370 304.1888636 67.52527911 0 + 371 306.3689881 68.50467972 1 + 372 332.7736547 67.88635546 0 + 373 339.8511746 68.35775600 0 + 374 335.9725732 68.09881020 0 + 375 338.4001283 68.15531755 0 + 376 337.0317415 67.91048846 0 + 377 334.0369309 67.61817987 0 + 378 335.3172637 67.70470882 0 + 379 346.2900334 68.48317761 0 + 380 340.9924217 67.82080370 0 + 381 342.6417919 68.08149353 0 + 382 344.3983113 68.14941179 0 + 383 19.1170833 72.14907428 0 + 384 10.1750375 70.75000227 0 + 385 15.3787906 71.70807812 0 + 386 12.7957147 71.33405455 0 + 387 22.6905382 71.76124753 0 + 388 27.5144027 70.85927692 1 + 389 7.5722983 69.95818863 0 + 390 4.8554822 69.37661997 0 + 391 1.3915027 69.59594661 0 + 392 348.4407709 68.81832024 0 + 393 357.6213284 69.73334151 0 + 394 353.7232670 69.86047686 0 + 395 350.7835989 69.27842739 0 + 396 348.1147632 67.91774406 0 + 397 21.3375357 75.06380222 0 + 398 20.9006183 75.99187489 0 + 399 18.2218545 76.82021534 1 + 400 24.9644781 74.88576163 0 + 401 28.7642914 73.34067390 0 + 402 28.8499847 74.44844240 0 + 403 30.5435818 72.18049074 0 + 404 33.7904440 71.34219952 0 + 405 32.6681145 69.71647700 1 + 406 10.2068878 79.33647689 1 + 407 355.8392584 80.25291941 0 + 408 359.0884233 80.01930897 0 + 409 2.8871964 79.96020583 0 + 410 6.5296406 79.77281559 0 + 411 352.5284607 80.72207185 0 + 412 345.0384299 80.74948117 1 + 413 348.9448377 81.14249479 0 + 414 286.7365936 79.28115361 0 + 415 288.2090312 79.81829842 0 + 416 282.4651094 79.18288272 1 + 417 292.5236192 79.96487113 1 + 418 298.0368428 65.87109091 1 + 419 330.1352838 67.66526755 0 + 420 331.7608619 67.47795069 0 + 421 328.1638966 68.12156819 1 + 422 328.8893771 67.28643720 0 + 423 298.8222578 64.85903370 0 + 424 300.9665681 64.89012628 0 + 425 301.9717464 66.07418019 0 + 426 302.8892173 66.54404189 0 + 427 302.2825098 65.45630752 0 + 428 304.2216924 66.88189757 0 + 429 306.2754603 67.60987690 1 + 430 333.1336224 67.31015872 0 + 431 340.1965824 67.13184758 0 + 432 339.4167589 67.68893050 0 + 433 338.5278999 66.16555943 1 + 434 336.2960703 67.45958492 0 + 435 337.9115414 67.52630220 0 + 436 334.7811255 67.20426415 0 + 437 346.0569218 67.69400046 0 + 438 342.1284831 67.28432713 0 + 439 344.0329585 67.42774688 0 + 440 341.4057804 66.22735178 1 + 441 6.6709034 68.58285629 0 + 442 10.4800837 69.70358947 0 + 443 18.2562181 71.01603561 0 + 444 12.9259405 70.17543823 0 + 445 15.2587923 70.55819543 0 + 446 22.0659973 70.29348359 1 + 447 9.0905567 68.88164170 0 + 448 2.8882080 68.33320023 0 + 449 4.9339449 67.57771543 0 + 450 359.4114258 68.41529417 0 + 451 350.3793857 68.06899467 0 + 452 355.7832385 68.62001551 0 + 453 352.7522079 68.48493206 0 + 454 347.6619829 67.15600227 0 + 455 349.4314001 67.10041225 0 + 456 25.2165183 75.91183602 0 + 457 23.7675709 76.87639108 0 + 458 20.6910786 77.81211260 1 + 459 29.1444327 75.64707136 0 + 460 32.7781539 73.44628409 0 + 461 33.2977074 74.86298921 0 + 462 35.5422877 72.45472695 0 + 463 38.1716221 71.02184032 0 + 464 37.7159851 68.54325303 1 + 465 22.9103120 78.92634560 1 + 466 15.3969984 80.01234659 1 + 467 356.3988323 80.86752093 0 + 468 9.8151471 80.44541146 0 + 469 0.6042862 80.67512771 0 + 470 5.1635305 80.62366029 0 + 471 353.2318330 81.35886075 0 + 472 344.3273433 81.59696430 1 + 473 349.6366608 81.78923500 0 + 474 295.0094936 80.68398822 1 + 475 288.5476008 80.45491075 0 + 476 283.6643382 80.25201512 1 + 477 290.9194379 80.86255695 0 + 478 298.1622669 81.30039541 1 + 479 301.9581159 81.96112245 1 + 480 295.0102848 64.79516682 1 + 481 330.6417723 67.13766789 0 + 482 331.9963073 66.96075847 0 + 483 329.5715015 66.85345610 0 + 484 326.7282957 67.41549660 1 + 485 327.9011700 66.77476060 0 + 486 298.3497940 63.83691616 0 + 487 300.4334425 64.18744486 0 + 488 302.6217941 64.65479544 0 + 489 304.0420455 66.04105378 0 + 490 303.9572488 65.34102599 0 + 491 306.2545480 66.59362217 1 + 492 333.4577934 66.80177816 0 + 493 338.1951891 66.98492543 1 + 494 336.4671132 66.97337157 0 + 495 334.8376653 66.65424812 0 + 496 345.9324060 66.83034352 0 + 497 343.8252339 66.51581943 1 + 498 7.9217127 67.60250350 0 + 499 12.7541756 68.95384840 0 + 500 17.0390709 69.11357584 1 + 501 10.5311681 67.98363175 0 + 502 6.6592807 66.55968147 0 + 503 3.7534016 66.58095226 0 + 504 1.0546233 67.14134079 0 + 505 357.4082678 67.30559557 0 + 506 351.6214838 67.18981856 0 + 507 354.1911989 67.39580722 0 + 508 348.0540295 66.30969516 0 + 509 350.1031964 66.26600883 0 + 510 28.7392963 76.78771421 0 + 511 27.3760449 77.76285370 0 + 512 29.9168134 78.59913732 0 + 513 33.5039773 76.31009439 0 + 514 37.3440247 73.82730007 0 + 515 38.4054088 75.25315527 0 + 516 39.5421905 72.50920401 0 + 517 41.8747775 71.71679909 0 + 518 41.8645642 70.15478707 0 + 519 43.2670365 66.58414754 1 + 520 27.1431136 79.84266234 1 + 521 32.2889981 79.53135128 0 + 522 340.1014023 82.32089153 1 + 523 20.4939449 80.63360868 1 + 524 14.5886837 81.10466266 0 + 525 358.4363951 81.42502404 0 + 526 8.7341574 81.30599540 0 + 527 3.4560839 81.35078439 0 + 528 354.7161552 81.94218435 0 + 529 346.6452513 82.40152164 0 + 530 351.2486509 82.35133971 0 + 531 343.6725665 83.07695207 0 + 532 307.4950457 82.40464131 1 + 533 302.7539010 82.88239117 0 + 534 292.4376002 81.48406813 0 + 535 286.2648646 81.37452346 1 + 536 295.4931558 81.96700706 0 + 537 298.9016671 82.51364383 0 + 538 298.4451954 62.61797202 0 + 539 295.8378514 63.14378402 1 + 540 330.8481629 66.57442363 0 + 541 332.3331153 66.35113146 0 + 542 329.2206465 66.36390681 0 + 543 325.6968355 66.54775386 1 + 544 327.5040761 66.21639071 0 + 545 300.3336809 63.27602581 0 + 546 302.1932461 63.86076852 0 + 547 304.5111449 64.59132142 0 + 548 306.5647715 65.51143835 1 + 549 333.9540393 66.02184364 0 + 550 336.2569106 66.27831934 1 + 551 346.1203176 65.84992500 1 + 552 10.0359208 66.53746761 0 + 553 14.2319709 67.15028629 1 + 554 7.4124768 65.48193122 0 + 555 4.5346920 65.48957192 0 + 556 1.6779136 65.68436973 0 + 557 358.7896407 66.06081826 0 + 558 355.4909081 66.15472708 0 + 559 352.7535117 66.23303183 0 + 560 348.6314629 65.33295719 0 + 561 351.1020902 65.47341580 0 + 562 33.0698391 77.60365686 0 + 563 35.4939569 78.65552859 0 + 564 38.6852099 76.72383006 0 + 565 42.3894279 73.78427463 0 + 566 43.9000976 75.39694697 0 + 567 45.3746057 71.24684645 0 + 568 45.5774348 72.72364835 0 + 569 47.4226579 69.49846273 1 + 570 25.9214999 81.05762649 1 + 571 37.0934686 79.85154448 0 + 572 32.7673672 80.70110474 0 + 573 335.6876951 83.20564742 1 + 574 19.7043256 81.64948170 0 + 575 13.1472256 81.96330470 0 + 576 0.4093574 82.13078495 0 + 577 6.5790349 82.07881314 0 + 578 355.8009148 82.74652033 0 + 579 349.7656802 82.97049084 0 + 580 347.8950240 83.55588257 0 + 581 341.5298583 83.77575438 0 + 582 312.1552469 82.92714360 1 + 583 306.4272413 83.36932049 0 + 584 319.0504203 83.42981061 1 + 585 301.1436305 83.36591891 0 + 586 297.6005223 83.04282037 0 + 587 289.6817653 82.21868138 1 + 588 294.3655197 82.54588888 0 + 589 300.4976285 62.25833219 0 + 590 298.4655584 61.44112929 0 + 591 295.0947741 61.57884236 1 + 592 323.8823040 65.84430613 1 + 593 323.1401683 65.04238599 0 + 594 330.7035658 66.00974556 0 + 595 332.1124952 65.71217103 0 + 596 329.0101031 65.80851344 0 + 597 325.9579275 65.74531163 0 + 598 327.5695164 65.57897732 0 + 599 302.4421796 62.89733618 0 + 600 304.3104689 63.60768606 0 + 601 307.6265082 64.23161945 1 + 602 321.7745115 64.47696489 0 + 603 320.7991224 65.44350983 1 + 604 333.3180518 65.20407644 0 + 605 335.3858687 65.36762671 1 + 606 346.2214664 64.70342579 1 + 607 5.7267255 64.39696466 0 + 608 11.1841375 64.59826097 1 + 609 7.8726219 53.67642664 1 + 610 2.7716015 64.47514181 0 + 611 359.7790433 64.70049769 0 + 612 356.7387998 64.94429140 0 + 613 353.6151470 65.03943880 0 + 614 348.6869905 64.15413660 0 + 615 350.7433126 64.54323095 0 + 616 40.0230063 77.94921136 0 + 617 42.1104914 79.24965349 0 + 618 45.5995349 76.86860357 0 + 619 50.7581736 75.57883247 0 + 620 48.0125059 74.21519997 0 + 621 50.1001772 71.71382935 0 + 622 51.0606817 73.22327771 0 + 623 54.7306077 70.06841511 1 + 624 24.8424812 82.15082085 0 + 625 30.7354828 81.74312482 0 + 626 41.2989433 80.63063927 0 + 627 38.0590039 81.60275752 0 + 628 327.6768224 83.74075376 1 + 629 334.5186809 84.16807226 0 + 630 18.0121471 82.58455606 0 + 631 10.1636111 82.83556091 0 + 632 2.4787846 82.96463885 0 + 633 355.3421131 83.58586393 0 + 634 348.4314582 84.20067818 0 + 635 340.8944443 84.43263242 0 + 636 312.5912523 83.79255307 0 + 637 301.8506699 83.84877549 0 + 638 307.3949814 83.94863308 0 + 639 319.9567323 84.25899737 0 + 640 296.0315048 83.58793209 0 + 641 292.0322452 83.08398239 1 + 642 302.8230037 61.72459175 0 + 643 300.4956506 61.21241348 0 + 644 299.1984408 60.12125214 0 + 645 296.0416425 59.97687838 1 + 646 325.0765638 65.12769235 0 + 647 324.3663761 64.53540019 0 + 648 323.1391586 64.21801346 0 + 649 321.6528652 63.71225203 0 + 650 330.2521474 65.36044426 0 + 651 331.6067816 65.04539843 0 + 652 328.6578132 65.03493801 0 + 653 326.8008974 65.00480637 0 + 654 332.4512822 64.49060431 0 + 655 306.4932535 62.40717538 0 + 656 309.7394001 62.48676941 1 + 657 319.4246350 64.18933552 1 + 658 334.3375448 64.47217646 0 + 659 336.8556203 64.43872540 1 + 660 343.4095059 63.82500798 1 + 661 346.3072780 63.49512782 0 + 662 3.7747607 63.11619883 0 + 663 7.5488629 62.99865371 1 + 664 9.6648002 57.34317836 1 + 665 4.1271906 55.55831313 0 + 666 1.7389625 50.75000037 1 + 667 0.8985477 63.50711116 0 + 668 1.8260477 62.09653210 0 + 669 348.4727283 63.11436943 0 + 670 358.0961982 63.60100204 0 + 671 355.2995040 63.83075942 0 + 672 352.6163354 63.92270622 0 + 673 350.7682651 63.25163420 0 + 674 47.6207724 78.38306311 0 + 675 49.3864231 79.96866052 0 + 676 52.9508840 77.23776231 0 + 677 56.9202192 75.85980231 0 + 678 54.7819517 74.20746551 0 + 679 55.6098275 72.43032060 1 + 680 24.7633794 83.17720793 0 + 681 32.8472255 82.69935203 0 + 682 48.5224751 81.40842812 0 + 683 42.5674759 82.59992600 0 + 684 327.3950232 84.61024771 0 + 685 335.0584228 84.88636084 0 + 686 14.6080280 83.64636368 0 + 687 4.8029058 83.86190874 0 + 688 356.9953803 84.55325170 0 + 689 345.9797932 85.00081928 0 + 690 296.9122348 84.18685113 0 + 691 312.8012391 84.44784923 0 + 692 304.7362569 84.46887299 0 + 693 319.4421695 84.92713953 0 + 694 290.1963004 83.78639369 0 + 695 286.3886054 83.08978360 1 + 696 305.2962151 60.19277141 0 + 697 301.7056450 60.15908254 0 + 698 300.6712276 58.78411001 0 + 699 297.5885638 58.33243596 1 + 700 326.0725960 64.41385744 0 + 701 320.4083966 63.08072574 0 + 702 324.8276146 63.80086277 0 + 703 323.2212164 63.50423117 0 + 704 322.4211191 62.89062190 0 + 705 330.1361122 64.49359861 0 + 706 328.0809699 64.27334762 0 + 707 331.2521495 63.87144212 0 + 708 333.2834948 63.79679448 0 + 709 308.6906174 60.94950864 0 + 710 311.3071077 61.17765299 1 + 711 317.9829126 62.66123191 1 + 712 308.8569722 59.72901236 0 + 713 335.4159640 63.58932147 0 + 714 339.5776847 63.61723904 1 + 715 337.4067902 63.08808256 0 + 716 341.9362194 62.71689526 0 + 717 344.7408556 62.60102842 0 + 718 346.9314665 62.35306080 0 + 719 4.8099114 61.12995447 1 + 720 5.4468376 59.19256523 1 + 721 3.7393107 57.41899917 0 + 722 1.3919709 56.44215696 0 + 723 359.3861937 54.39902476 1 + 724 359.2368675 62.33253145 0 + 725 0.9536942 60.83547578 0 + 726 349.4257829 62.16464721 0 + 727 356.5477168 62.47976482 0 + 728 353.7741605 62.72909127 0 + 729 351.9745105 62.05481102 0 + 730 56.0027079 78.85885626 0 + 731 59.2753388 80.49311005 0 + 732 60.6776179 77.37226204 0 + 733 59.9068100 74.63928802 0 + 734 63.4429066 75.90795456 0 + 735 60.1416041 73.05649161 0 + 736 61.1713549 70.08666621 1 + 737 22.5450385 84.28898835 0 + 738 35.1172268 83.93404805 0 + 739 56.5555749 82.33621486 0 + 740 49.1058152 83.64865418 0 + 741 327.6653155 85.34304791 0 + 742 339.3097712 85.66442538 0 + 743 9.8820769 84.93091088 0 + 744 355.3827154 85.58104524 0 + 745 290.7597258 84.47956847 0 + 746 298.9801258 84.90439850 0 + 747 309.7187973 85.07055782 0 + 748 317.0046822 85.68939339 0 + 749 283.0747027 83.96312730 0 + 750 279.9854489 83.02384935 1 + 751 273.8802470 82.36141487 1 + 752 307.3908551 58.60729980 0 + 753 304.1589048 57.75865867 0 + 754 299.3616048 56.58684538 1 + 755 326.7550494 63.53910343 0 + 756 321.0889929 62.23144497 0 + 757 319.4662822 61.65962360 0 + 758 324.7637775 62.88424494 0 + 759 323.0958796 62.14166562 0 + 760 329.2801590 63.47221435 0 + 761 331.8029507 63.03721688 0 + 762 333.8829106 63.03301261 0 + 763 311.0010231 60.04094898 0 + 764 314.1188400 60.48664638 1 + 765 317.3334364 60.96539970 1 + 766 310.2335374 58.93945347 0 + 767 335.5200163 62.54564952 0 + 768 339.7107080 62.33260488 0 + 769 337.6596081 62.05045674 0 + 770 343.4539932 61.83846438 0 + 771 341.5974591 61.54324620 0 + 772 345.5236806 61.48300546 0 + 773 347.7605933 61.18398860 0 + 774 1.9167229 59.28602582 0 + 775 0.9304171 57.99443960 0 + 776 357.5896415 56.68670708 1 + 777 358.1473592 61.23860301 0 + 778 359.4701756 59.88593519 0 + 779 350.1605221 61.05045649 0 + 780 355.2010054 61.42474019 0 + 781 352.8460205 60.97610999 0 + 782 67.7537380 81.76072225 0 + 783 65.0662681 78.80591711 0 + 784 70.8581787 79.93215991 0 + 785 68.2393729 77.17548320 0 + 786 65.4245065 74.26489138 0 + 787 69.2220304 75.67139320 0 + 788 67.5538503 71.83996386 1 + 789 27.2715165 85.40659950 0 + 790 46.5507785 85.13986682 0 + 791 64.7294765 83.99133775 0 + 792 328.5153192 86.32771732 0 + 793 347.3513255 86.64468520 0 + 794 9.8917942 86.29844314 0 + 795 283.2598591 84.76042685 0 + 796 290.7382589 85.36910047 0 + 797 302.9066121 85.73798293 0 + 798 310.6334828 86.62068389 0 + 799 267.2850181 81.58408220 1 + 800 274.8714743 84.59587289 0 + 801 274.7347617 83.82735068 0 + 802 269.2974688 83.30436436 0 + 803 264.5320260 82.61025644 0 + 804 309.6721048 57.91467349 0 + 805 307.9984965 56.97827507 0 + 806 306.2213067 55.76351976 0 + 807 302.9381382 54.70929693 1 + 808 327.4673844 62.65344373 0 + 809 320.0056562 60.68410014 0 + 810 321.5660586 61.35705215 0 + 811 325.4607450 61.93936276 0 + 812 323.5401487 61.16656112 0 + 813 330.1945243 62.42065870 0 + 814 333.1554752 62.14331346 0 + 815 312.5157185 59.20278937 0 + 816 314.3930166 59.17567992 0 + 817 316.3130872 59.68103574 1 + 818 318.3978464 59.92296546 0 + 819 311.8951956 58.09344678 0 + 820 335.4746201 61.61408647 0 + 821 339.6091793 61.17321834 0 + 822 337.5028383 61.00682615 0 + 823 343.7098409 60.65123539 0 + 824 341.4540698 60.26446165 0 + 825 346.1548790 60.14664759 0 + 826 348.5547222 59.91763502 0 + 827 358.6014739 58.66076474 1 + 828 356.9106614 60.11279718 0 + 829 351.1309842 60.06548562 0 + 830 354.3122373 60.06104169 0 + 831 77.7699886 82.79574643 0 + 832 79.5974605 80.87176971 0 + 833 73.8180122 78.07853560 0 + 834 79.5512669 78.98846925 0 + 835 75.1477624 76.43317502 0 + 836 74.1474845 73.82926739 1 + 837 35.7109276 86.87573279 0 + 838 64.5247030 86.20360499 0 + 839 82.1725951 84.92201881 0 + 840 327.6741188 87.64104411 0 + 841 4.8609709 87.89096529 0 + 842 277.8409534 85.59175708 0 + 843 289.7844096 86.41238905 0 + 844 294.3145492 87.61681574 0 + 845 263.4567844 80.47557850 1 + 846 257.2241843 79.65380601 1 + 847 259.3889772 81.71643301 0 + 848 265.6615318 85.12576463 0 + 849 265.6935634 84.16780576 0 + 850 260.4902465 83.48518776 0 + 851 257.5636100 82.61801335 0 + 852 250.9479970 78.91284476 0 + 853 255.6007453 78.33009152 1 + 854 260.5429776 77.39814063 1 + 855 264.0912221 76.16887491 1 + 856 258.6429039 76.07072448 0 + 857 267.5078319 75.19288791 1 + 858 304.1336385 52.57699888 1 + 859 310.5469540 56.76124099 0 + 860 308.9218231 55.56821654 0 + 861 307.1556703 54.11514397 0 + 862 328.2838360 61.52783758 0 + 863 320.2329648 59.51743294 0 + 864 321.7440912 60.31101264 0 + 865 326.1686267 60.76363751 0 + 866 323.8757942 60.04588505 0 + 867 331.2642821 61.29508754 0 + 868 333.6850385 60.89727597 0 + 869 314.0313985 58.14561594 0 + 870 316.1054926 58.47092599 0 + 871 318.1651282 58.80091264 0 + 872 313.0587249 57.01104586 0 + 873 335.8224141 60.14122613 0 + 874 338.7649149 59.73699574 0 + 875 341.5374935 58.90009387 0 + 876 344.1416216 59.25031709 0 + 877 346.7595069 58.71549544 0 + 878 349.7126440 58.81639447 0 + 879 355.5057819 58.55940771 1 + 880 352.5008006 59.14415418 0 + 881 91.7099831 83.38947573 0 + 882 90.1260279 81.62494399 0 + 883 87.1747019 79.78656002 0 + 884 94.9613318 80.18420599 0 + 885 81.4198732 77.28125039 0 + 886 86.8967392 78.29954257 0 + 887 83.7002839 74.60158666 1 + 888 64.6541738 88.38579432 0 + 889 97.4974470 86.76242838 0 + 890 105.9322873 84.66483313 0 + 891 308.2539208 89.40483957 0 + 892 268.2758997 86.54296300 0 + 893 260.5051562 87.88298105 0 + 894 253.8814617 85.62134533 0 + 895 255.1231333 80.94431067 0 + 896 250.9399957 80.07920756 0 + 897 252.5314144 81.97474168 0 + 898 253.7230240 84.33062019 0 + 899 251.0774219 83.13861153 0 + 900 245.8784082 79.21754544 0 + 901 246.8770832 78.17729294 0 + 902 251.0186569 77.63755878 0 + 903 254.7502995 76.87923227 0 + 904 254.4562599 75.87131920 0 + 905 261.5180723 75.07718350 0 + 906 257.0774921 75.13224041 0 + 907 264.3051987 73.99314180 1 + 908 307.1431444 52.18668537 0 + 909 307.4967360 50.41676502 0 + 910 304.0846210 49.91745407 1 + 911 311.9036650 55.60408174 0 + 912 310.0570082 54.45635972 0 + 913 308.9639436 53.17939013 0 + 914 329.4889019 60.23753430 0 + 915 320.2517242 58.27796153 0 + 916 321.9968811 59.03533726 0 + 917 326.8148616 59.46210836 0 + 918 324.2730572 58.75806454 0 + 919 332.4786587 59.61226874 0 + 920 315.7174638 57.23599614 0 + 921 317.7956764 57.66298652 0 + 922 314.7881366 55.95902008 0 + 923 319.8892082 57.08184897 0 + 924 335.6371064 58.72492321 0 + 925 338.5940848 58.09546732 0 + 926 341.4847554 57.36635788 0 + 927 344.2116110 57.69809900 0 + 928 346.4416388 57.17777500 0 + 929 348.8801663 57.50686239 0 + 930 352.4552331 57.79018331 1 + 931 103.4526466 82.53550991 0 + 932 102.1750774 81.04264363 0 + 933 115.7305525 82.72458832 0 + 934 94.9823229 78.64543157 0 + 935 103.6038121 79.44478705 0 + 936 92.9238954 76.16245481 1 + 937 142.5580019 88.30798090 0 + 938 128.2359248 86.11154177 0 + 939 126.1957150 84.24343582 0 + 940 210.6204535 88.01974583 0 + 941 237.9495541 86.61493288 0 + 942 238.1677286 84.94562147 0 + 943 248.5078418 81.24664987 0 + 944 245.3668851 80.46655809 0 + 945 244.3309613 82.21417483 0 + 946 241.3034645 83.58309702 0 + 947 240.9546207 79.74677865 0 + 948 240.7230331 78.53664156 0 + 949 243.1522850 77.56421947 0 + 950 247.2406570 77.04732393 0 + 951 250.8608569 76.56316103 0 + 952 250.9446163 75.68593477 0 + 953 252.8823862 74.74130500 0 + 954 257.6349562 73.66392281 1 + 955 309.6252018 51.78831025 0 + 956 309.9857034 50.24955179 0 + 957 308.9980379 48.83213305 0 + 958 306.9174598 48.23247603 1 + 959 313.3655155 54.32631750 0 + 960 311.5749959 53.14250142 0 + 961 329.5045325 58.51563037 0 + 962 322.8136896 57.48330053 0 + 963 326.2630981 57.67131304 0 + 964 332.6310494 57.68489721 0 + 965 317.9042043 56.09847218 0 + 966 316.3561600 54.60566921 0 + 967 321.6045169 55.97637837 0 + 968 335.9577272 56.69425903 0 + 969 339.1719230 56.07563491 0 + 970 342.6209302 55.93936105 0 + 971 345.0968063 55.95284916 0 + 972 347.8873939 55.70255392 0 + 973 351.3026241 56.30267705 1 + 974 290.9969820 43.69261205 1 + 975 296.7633212 44.77702545 1 + 976 294.8974749 42.11261780 0 + 977 132.0838294 82.53781698 0 + 978 111.7574619 80.81625939 0 + 979 122.6034893 81.26710125 0 + 980 111.2793098 78.84534316 0 + 981 103.0062766 77.14701317 1 + 982 183.2886445 86.54457265 0 + 983 155.3284802 85.87391384 0 + 984 146.1446853 83.94416859 0 + 985 214.5536888 85.61584332 0 + 986 224.3472825 83.87354564 0 + 987 239.1914722 81.11430719 0 + 988 233.5224817 82.42213911 0 + 989 235.0596144 79.64285375 0 + 990 234.5122956 78.19541657 0 + 991 238.2528478 77.21845896 0 + 992 242.7022945 76.45664038 0 + 993 246.9486904 76.00459729 0 + 994 248.0015471 74.90807851 0 + 995 250.0382703 72.96362203 1 + 996 233.2852777 76.70346387 0 + 997 301.3659089 46.76496522 1 + 998 305.2447975 47.00022994 1 + 999 312.2193743 51.63113294 0 + 1000 312.4020659 50.01363987 0 + 1001 311.5007078 48.52372347 0 + 1002 309.9307306 47.25258930 0 + 1003 308.0504683 46.45771690 1 + 1004 314.8239664 52.63445019 0 + 1005 329.1288535 56.44815961 0 + 1006 325.2478939 55.92608510 0 + 1007 332.6457109 55.40852806 0 + 1008 319.9252401 54.51292094 0 + 1009 317.9987258 52.95461343 0 + 1010 323.6812046 54.17811897 0 + 1011 336.4603317 54.45862747 0 + 1012 345.7744706 54.41215928 0 + 1013 340.3233194 54.39298454 0 + 1014 343.3405046 54.35159413 0 + 1015 348.2384803 54.04856177 0 + 1016 351.1714668 54.38549324 1 + 1017 299.9056183 43.30209348 0 + 1018 291.5590525 40.22020725 1 + 1019 286.9850956 39.92335257 1 + 1020 297.6286510 41.52169632 0 + 1021 294.5930490 39.79676511 0 + 1022 272.1686042 29.84793283 1 + 1023 263.7855803 27.88150544 1 + 1024 145.1595258 81.80464418 0 + 1025 134.6218793 80.77908939 0 + 1026 119.4167563 79.59910795 0 + 1027 127.6615071 79.73944660 0 + 1028 119.6400182 77.86319687 0 + 1029 112.5877002 76.59260172 1 + 1030 117.9349791 74.13800888 1 + 1031 191.4423311 84.59257027 0 + 1032 168.8258911 84.05293175 0 + 1033 158.1187551 82.26155864 0 + 1034 206.1652064 83.15837706 0 + 1035 220.1947088 82.00359570 0 + 1036 229.5978535 80.84349879 0 + 1037 227.7116836 79.11088220 0 + 1038 228.0507327 77.55676931 0 + 1039 228.0962957 76.08577755 0 + 1040 237.4915304 75.87716351 0 + 1041 242.4798464 75.20761844 0 + 1042 243.4569621 73.66521923 1 + 1043 231.9773569 75.30204994 0 + 1044 302.7967664 44.25065555 0 + 1045 305.6694084 44.89049721 0 + 1046 315.1179393 50.64619846 0 + 1047 308.4482634 44.67340895 0 + 1048 314.4016303 48.55303303 0 + 1049 312.8204191 46.84798598 0 + 1050 310.9056170 45.50407663 0 + 1051 318.1247391 50.95477542 0 + 1052 328.6394499 54.13646437 0 + 1053 332.9995048 53.01782046 0 + 1054 321.6996276 52.08539412 0 + 1055 326.2073544 52.30810108 0 + 1056 346.7885281 52.82758429 0 + 1057 337.9343945 52.65531268 0 + 1058 344.3645540 52.79510842 0 + 1059 341.5158338 52.67269683 0 + 1060 347.7619779 51.44395997 0 + 1061 349.9319269 52.43213825 1 + 1062 302.2457812 41.84005977 0 + 1063 284.7274325 35.99812634 1 + 1064 299.9887691 40.30579527 0 + 1065 291.4744880 37.87714795 0 + 1066 289.1357059 36.38625073 0 + 1067 297.0605404 38.95758670 0 + 1068 294.2232601 37.47421872 0 + 1069 288.3996086 33.81112469 0 + 1070 280.5758767 32.65327588 1 + 1071 279.1821434 29.10623680 1 + 1072 275.8390840 26.54883455 1 + 1073 271.2074489 25.41364271 0 + 1074 267.6877425 24.12518540 0 + 1075 264.1540592 18.83532557 1 + 1076 154.8217560 80.37880210 0 + 1077 143.8072676 79.95200973 0 + 1078 135.7164608 78.99686079 0 + 1079 127.5291091 78.28050187 0 + 1080 125.2986447 76.41161542 0 + 1081 133.1034144 73.92078448 1 + 1082 185.2737689 82.53588079 0 + 1083 170.7652943 81.66144096 0 + 1084 165.4684639 79.91097970 0 + 1085 195.4799622 81.06036987 0 + 1086 208.4805243 80.75970055 0 + 1087 219.3552575 79.97659513 0 + 1088 220.1807615 78.08017712 0 + 1089 221.9913214 76.47028813 0 + 1090 225.4727751 74.99190805 0 + 1091 236.6556664 74.39218310 1 + 1092 229.6247066 74.08541051 0 + 1093 305.2339719 42.76691854 0 + 1094 307.9762780 42.76192477 0 + 1095 317.4623608 48.63983393 0 + 1096 311.1535054 43.36838314 0 + 1097 315.9966802 46.46542995 0 + 1098 313.8449752 44.70242150 0 + 1099 321.1337035 49.30976542 0 + 1100 335.3056776 50.96224947 0 + 1101 330.2319413 50.93028765 0 + 1102 325.2033865 49.81430346 0 + 1103 345.3379617 51.21021159 0 + 1104 339.5545838 50.68933563 0 + 1105 342.7190151 50.95034460 0 + 1106 346.9142422 49.76706665 0 + 1107 349.4494562 50.29309892 0 + 1108 351.6730422 51.71987195 1 + 1109 304.8077072 40.54465039 0 + 1110 302.5093251 38.78345402 0 + 1111 285.0348154 31.80305507 0 + 1112 299.1215309 37.20869837 0 + 1113 292.1381949 34.93933825 0 + 1114 296.0021417 35.61556815 0 + 1115 288.1771262 30.90161390 0 + 1116 291.2217833 32.07321177 0 + 1117 282.7621880 28.65222772 0 + 1118 279.9920133 25.67929516 1 + 1119 273.8786975 23.71575759 0 + 1120 277.2202095 23.53361429 0 + 1121 270.6416093 21.62631091 1 + 1122 150.1069921 78.80229012 0 + 1123 158.3753930 78.46258455 0 + 1124 142.4927964 78.07629623 0 + 1125 134.2647612 77.10557221 1 + 1126 180.4455459 80.18645724 0 + 1127 189.6653663 79.01447126 0 + 1128 174.2150647 78.63211187 0 + 1129 165.8619452 77.69360971 0 + 1130 201.1835914 78.80717334 0 + 1131 210.9944335 78.48951459 0 + 1132 214.0599970 76.68269149 0 + 1133 218.8554067 75.17924225 0 + 1134 223.6391194 73.86319563 0 + 1135 226.6636159 72.53890434 0 + 1136 234.4159124 72.41627745 1 + 1137 307.9628385 40.45211999 0 + 1138 311.3904391 41.07826373 0 + 1139 337.6003093 48.61381426 0 + 1140 319.8488237 46.50387447 0 + 1141 314.8626425 42.31007588 0 + 1142 317.7338984 44.12411798 0 + 1143 323.9961332 46.73893930 0 + 1144 333.3005560 48.42417931 0 + 1145 328.7217201 47.68641389 0 + 1146 344.2360199 49.25906443 0 + 1147 341.5013488 48.63719786 0 + 1148 346.0868665 47.96560372 0 + 1149 351.0521550 49.18676889 0 + 1150 348.7175821 48.40271000 0 + 1151 352.3457020 47.83212581 0 + 1152 354.5628799 49.95894001 1 + 1153 306.4546543 37.51759734 0 + 1154 302.3635286 35.53592357 0 + 1155 286.1270324 28.49607920 0 + 1156 299.0971403 33.29729583 0 + 1157 295.0931587 32.42313124 0 + 1158 289.8546490 28.49390368 0 + 1159 293.5656625 29.20311954 0 + 1160 284.0612904 25.96988156 0 + 1161 282.6768747 23.69955610 0 + 1162 280.3392106 22.31609224 0 + 1163 274.7809436 20.88925847 0 + 1164 278.0914908 20.69166494 0 + 1165 272.5654510 16.76267379 1 + 1166 194.6554478 77.15900915 0 + 1167 151.1434248 76.94653282 0 + 1168 158.7587724 76.33867394 0 + 1169 142.9305917 76.08045108 1 + 1170 183.2198861 77.45635313 0 + 1171 174.0935293 76.58475783 0 + 1172 166.3203750 75.86058001 0 + 1173 204.7415389 76.74009627 0 + 1174 197.7244036 75.48860966 0 + 1175 219.2522373 73.60756187 0 + 1176 210.7411307 75.31956121 0 + 1177 214.3783348 74.16289003 0 + 1178 221.4847827 72.23658970 0 + 1179 228.2228859 70.04723038 1 + 1180 310.8837406 38.01450306 0 + 1181 315.2204487 39.36216833 0 + 1182 340.0911917 46.44670376 0 + 1183 336.1465007 45.81052319 0 + 1184 322.1986888 43.54196067 0 + 1185 319.2984172 41.09180187 0 + 1186 327.0306010 43.98946192 0 + 1187 331.8337325 44.98869466 0 + 1188 343.8683439 46.75611656 0 + 1189 347.3507500 46.53774468 0 + 1190 349.9956823 47.15679307 0 + 1191 352.4397755 45.97344552 0 + 1192 356.5980421 47.35697909 1 + 1193 305.9437714 33.73719786 0 + 1194 310.3356744 34.33176289 0 + 1195 302.8263420 30.76989614 0 + 1196 287.6377487 25.67921369 0 + 1197 298.3513730 29.02798453 0 + 1198 291.5906110 25.40590653 0 + 1199 295.5461552 25.91964150 0 + 1200 286.0345688 23.02143397 0 + 1201 283.6510691 20.88033947 0 + 1202 281.0881854 19.06479261 0 + 1203 277.6045958 17.22194258 1 + 1204 188.8615770 75.67430648 0 + 1205 159.7885902 74.46101415 0 + 1206 151.1353069 74.44069025 1 + 1207 180.9977272 75.30706257 0 + 1208 173.4590399 74.70671755 0 + 1209 166.9129148 74.35060779 0 + 1210 204.7652688 74.77463710 0 + 1211 191.8661163 74.01266016 0 + 1212 198.9124613 73.72360925 0 + 1213 215.3898027 72.32590943 0 + 1214 209.4583010 73.37510018 0 + 1215 219.4616842 69.73016067 1 + 1216 315.3431160 35.78737308 0 + 1217 342.4598151 44.64468711 0 + 1218 320.2575247 37.65489549 0 + 1219 338.9677108 43.56586824 0 + 1220 335.0312435 42.32683376 0 + 1221 324.9692644 40.08443754 0 + 1222 330.3570932 41.12356303 0 + 1223 343.8805694 42.85147421 0 + 1224 345.9890265 44.75700876 0 + 1225 349.4504918 45.22866016 0 + 1226 352.9265830 43.76372324 1 + 1227 308.2353364 29.55855914 0 + 1228 314.1197239 31.20284783 0 + 1229 307.4717237 25.05643403 0 + 1230 302.9471192 26.47622451 0 + 1231 289.8808612 22.43232912 0 + 1232 299.0300968 24.09027504 0 + 1233 294.4249854 22.21386919 0 + 1234 287.2862235 20.02360807 0 + 1235 284.5817229 17.96231922 0 + 1236 281.2537147 15.40394642 0 + 1237 276.5690454 11.12643600 1 + 1238 185.3689751 73.67380872 0 + 1239 163.2521152 72.47710657 0 + 1240 153.3252432 71.05466970 1 + 1241 178.4277632 73.42204772 0 + 1242 171.3346645 72.86825790 0 + 1243 188.6856637 72.12916112 0 + 1244 203.8529526 72.52144635 0 + 1245 194.6380609 72.22158193 0 + 1246 210.0682599 70.63729723 1 + 1247 319.8985200 33.10492918 0 + 1248 341.4131760 41.57342013 0 + 1249 325.1256018 35.64353004 0 + 1250 338.3392161 40.16424026 0 + 1251 334.5355283 38.53296943 0 + 1252 330.0032897 37.22929670 0 + 1253 346.4347537 42.22337617 0 + 1254 344.3197690 40.24449142 0 + 1255 349.1011996 43.06330066 1 + 1256 313.1679841 26.54443905 0 + 1257 319.2162258 28.23757782 0 + 1258 312.2591495 22.13204782 0 + 1259 307.3486454 21.10875627 0 + 1260 302.9081968 21.72779853 0 + 1261 291.4122278 19.48037759 0 + 1262 298.5938291 20.20089556 0 + 1263 295.2111805 18.94050695 0 + 1264 288.8081353 17.15063315 0 + 1265 285.4614931 14.69970544 0 + 1266 283.2904414 9.37558775 1 + 1267 182.4462904 71.93783033 0 + 1268 166.9014198 69.46703207 1 + 1269 175.5141712 71.29550550 0 + 1270 185.6926971 70.27469962 0 + 1271 191.7372186 70.02784797 0 + 1272 199.5827325 70.69592608 1 + 1273 324.9935971 31.01611778 0 + 1274 341.8217401 38.57974661 0 + 1275 330.0287581 33.16839738 0 + 1276 338.5182714 36.81101130 0 + 1277 334.7320617 34.71334897 0 + 1278 347.2618217 39.86720500 0 + 1279 345.1987885 37.76148392 0 + 1280 351.0196015 40.46605939 1 + 1281 324.2576699 26.38304475 0 + 1282 318.1993139 23.26406778 0 + 1283 314.7606266 18.50933625 0 + 1284 305.3166055 17.85758256 0 + 1285 309.9170874 17.77091033 0 + 1286 301.3766272 17.67527675 0 + 1287 293.3406721 16.22442234 0 + 1288 297.8236860 16.35299181 0 + 1289 290.2235847 12.48189433 1 + 1290 179.1582285 69.33229609 1 + 1291 186.7649094 67.97822853 0 + 1292 188.4190833 65.23045943 0 + 1293 195.7760001 67.44838220 1 + 1294 329.2348194 24.94884396 0 + 1295 329.4999890 28.86592824 0 + 1296 342.4253344 35.84454534 0 + 1297 333.7276791 30.74599046 0 + 1298 339.4396490 33.84745057 0 + 1299 337.3572331 31.59380638 0 + 1300 345.4785210 35.23982173 0 + 1301 348.7195449 37.28441832 1 + 1302 323.9680428 22.04917169 0 + 1303 319.9181565 18.54661721 0 + 1304 316.1188111 14.54563354 0 + 1305 304.0628677 14.75370484 0 + 1306 311.7093994 14.24120338 0 + 1307 307.8099215 14.30116450 0 + 1308 300.9062491 13.35010870 0 + 1309 296.2265612 11.45759502 1 + 1310 328.9340186 21.03398109 0 + 1311 181.0305790 65.98590551 1 + 1312 219.4609711 59.40160932 1 + 1313 224.4124453 56.12514747 1 + 1314 183.4247246 63.31043114 0 + 1315 188.2950579 62.03872108 0 + 1316 194.6721936 63.50105656 1 + 1317 210.8419981 59.35784244 1 + 1318 333.3068049 20.57347937 0 + 1319 333.4357130 23.77012108 0 + 1320 333.7893331 27.10294687 0 + 1321 342.6633076 32.95227267 0 + 1322 337.4107345 28.34828179 0 + 1323 340.6700622 30.38915786 0 + 1324 348.4646740 33.84882481 0 + 1325 345.4269262 32.13698708 0 + 1326 353.6698880 34.82631414 1 + 1327 325.3769256 17.33248831 0 + 1328 320.9811702 14.12261371 0 + 1329 317.7561255 10.74970204 0 + 1330 313.3537963 10.99358657 0 + 1331 305.5120999 11.19039585 0 + 1332 309.3783705 10.55135027 0 + 1333 302.1285235 7.52668148 1 + 1334 330.9817800 17.38095557 0 + 1335 176.4243246 61.94203709 1 + 1336 216.2884790 56.31869430 0 + 1337 218.8640538 54.33854227 0 + 1338 222.6032822 52.58800565 0 + 1339 228.7372113 52.08005833 1 + 1340 182.5959022 60.55412551 0 + 1341 187.1294202 59.41378417 0 + 1342 193.1179214 59.80893069 1 + 1343 199.5624026 58.30944653 1 + 1344 211.1197543 55.71260919 0 + 1345 205.5981281 56.57741048 1 + 1346 335.1109506 17.62567821 0 + 1347 336.7313494 21.42124377 0 + 1348 337.1985362 24.87273274 0 + 1349 343.9185804 29.13506122 0 + 1350 340.5607849 26.75305262 0 + 1351 349.2210892 29.49016613 1 + 1352 328.8750182 14.20319381 0 + 1353 324.9656343 12.08451062 0 + 1354 321.6194415 9.15650862 0 + 1355 315.4998056 7.80452596 0 + 1356 318.9010009 6.46811256 0 + 1357 311.7947306 6.98760428 0 + 1358 307.2809245 5.59389354 1 + 1359 333.1980026 13.57647259 0 + 1360 167.5483874 59.37532391 1 + 1361 175.7402145 58.78805108 0 + 1362 214.1277161 53.82834547 0 + 1363 228.1921382 47.98215211 0 + 1364 224.3633095 49.61686411 0 + 1365 217.1873244 52.04703299 0 + 1366 220.0403776 50.22242953 0 + 1367 234.3389777 48.20062623 1 + 1368 181.0466725 58.14337184 0 + 1369 184.7032896 57.09564394 0 + 1370 189.7376951 56.84687323 0 + 1371 194.2565735 56.24413330 0 + 1372 199.6411271 55.03403456 0 + 1373 208.8029467 53.30287107 0 + 1374 204.0855925 53.76095817 0 + 1375 336.7002304 14.92975561 0 + 1376 338.5276257 18.43673050 0 + 1377 340.4358978 22.54973399 0 + 1378 344.6218919 24.84713102 1 + 1379 329.3385563 10.09567639 0 + 1380 325.5482099 7.38839174 0 + 1381 322.4531129 4.75448922 0 + 1382 315.6246789 3.94557752 0 + 1383 319.2685892 2.56266606 0 + 1384 311.5537107 0.96849994 1 + 1385 336.5585253 11.39980236 0 + 1386 332.9987892 9.30701402 0 + 1387 163.0640370 55.68131807 1 + 1388 171.3901952 56.06757222 0 + 1389 177.0691008 56.01965375 0 + 1390 159.7783588 52.64237245 1 + 1391 230.3100828 44.98816916 0 + 1392 212.7264808 51.25493561 0 + 1393 226.5838069 44.60895782 0 + 1394 224.3180104 46.59415892 0 + 1395 220.4456080 47.37740706 0 + 1396 215.8158321 48.97941979 0 + 1397 235.2015745 42.77110705 1 + 1398 236.3305883 37.86761943 1 + 1399 278.2890424 7.05921204 1 + 1400 272.7138944 10.76783952 1 + 1401 186.4234937 54.60156012 0 + 1402 181.1481019 54.77737252 0 + 1403 195.4395785 53.54850773 0 + 1404 190.6880973 53.45749094 0 + 1405 208.5418018 50.24900632 0 + 1406 199.5418400 52.05904752 0 + 1407 204.0137029 51.18766463 0 + 1408 339.7006110 9.47755110 0 + 1409 340.2409186 13.80805899 0 + 1410 343.4390683 18.00858116 1 + 1411 329.3426592 5.75175174 0 + 1412 325.9273738 3.01793645 0 + 1413 322.9021659 0.18080600 0 + 1414 317.6807061 -2.37816243 1 + 1415 336.2009709 7.39270153 0 + 1416 332.9647622 4.87841688 0 + 1417 339.1692321 5.61250459 0 + 1418 155.2512459 53.23764865 1 + 1419 153.0526786 57.64190252 1 + 1420 164.7449664 52.07312573 0 + 1421 169.3383545 53.43960245 0 + 1422 174.9343517 53.57162050 0 + 1423 161.7636619 49.53393067 0 + 1424 157.2299309 50.67423728 1 + 1425 229.7093072 41.79748191 0 + 1426 211.3275894 47.39434712 0 + 1427 225.5624858 41.90202763 0 + 1428 221.6124062 43.75559095 0 + 1429 216.4914646 45.32278269 0 + 1430 231.5802079 38.68968570 0 + 1431 233.8167241 34.51560268 0 + 1432 239.8156730 33.58014083 1 + 1433 243.3874060 29.45665022 1 + 1434 251.8705059 21.13375443 1 + 1435 256.7400980 17.74662844 1 + 1436 267.8407378 13.52201651 1 + 1437 262.0508812 15.51627401 1 + 1438 280.3179849 1.48668060 1 + 1439 274.0702862 3.02770321 0 + 1440 271.6460470 5.90637753 0 + 1441 274.8750120 -0.98208589 0 + 1442 267.2075301 7.79250362 0 + 1443 184.6280412 51.63264083 0 + 1444 179.0176031 51.62927977 0 + 1445 194.5250866 50.59598613 0 + 1446 189.0998373 49.62941131 0 + 1447 204.6795594 47.92067563 0 + 1448 199.5479408 48.64135396 0 + 1449 343.1894102 5.96175761 0 + 1450 344.3655393 10.49817934 1 + 1451 329.4939520 1.52938059 0 + 1452 327.1459710 -1.63678481 0 + 1453 323.7038613 -4.78473800 1 + 1454 332.7708812 0.61102747 0 + 1455 336.3843390 2.76802586 0 + 1456 340.5915584 2.24776752 0 + 1457 344.4337949 2.13964433 0 + 1458 347.9093283 1.04226877 0 + 1459 153.0173903 50.46029537 1 + 1460 155.8331375 48.31469943 0 + 1461 150.2562044 53.03317076 0 + 1462 142.2708913 56.74714022 1 + 1463 168.0031275 49.69092890 0 + 1464 172.5466593 50.80493972 0 + 1465 164.6896762 47.25803617 0 + 1466 159.3809778 46.97927537 0 + 1467 154.4637517 46.26470192 0 + 1468 227.1119778 38.73468815 0 + 1469 206.9257876 44.81763757 0 + 1470 212.1464210 42.73981279 0 + 1471 222.4216971 39.44748504 0 + 1472 217.6726606 40.96655002 0 + 1473 229.1974093 35.53268432 0 + 1474 230.8366128 32.14007824 0 + 1475 247.4120258 25.03463916 1 + 1476 234.8606181 30.73085733 0 + 1477 237.9933507 28.56219264 0 + 1478 241.3817367 25.41699021 0 + 1479 245.8225419 20.34178507 0 + 1480 248.3631259 17.61311966 0 + 1481 251.8152669 15.52369146 0 + 1482 254.7708661 12.97792499 0 + 1483 258.4777220 11.79822508 0 + 1484 262.9905972 10.20039829 0 + 1485 278.4511318 -5.12018667 1 + 1486 271.1012310 1.47024372 0 + 1487 268.4610408 3.95962854 0 + 1488 271.3268890 -1.82412237 0 + 1489 273.5958978 -5.60186696 0 + 1490 263.1401857 6.87978208 0 + 1491 264.8880712 3.80845000 0 + 1492 176.3094758 48.33908313 0 + 1493 182.2714833 47.56658035 0 + 1494 194.4374438 46.58712405 0 + 1495 188.0096353 45.23478704 0 + 1496 200.5162500 44.12151144 0 + 1497 348.6234544 5.97877476 1 + 1498 351.9468801 1.77924599 0 + 1499 355.0167417 -1.30382371 0 + 1500 330.8761042 -3.29094977 0 + 1501 328.1568480 -6.37122768 0 + 1502 324.2336650 -10.07951343 1 + 1503 335.0996245 -2.09804442 0 + 1504 338.4478643 -0.96924924 0 + 1505 350.7025232 -2.40185277 0 + 1506 342.3184381 -1.75094792 0 + 1507 346.1663814 -2.36096158 0 + 1508 150.4246591 48.17586539 0 + 1509 152.0435739 44.14948285 0 + 1510 144.8078586 51.41505092 1 + 1511 170.7679041 46.68978363 0 + 1512 167.0736873 44.11150201 0 + 1513 161.9557975 44.22346828 0 + 1514 156.8779786 44.02839733 0 + 1515 154.4600476 41.20411128 0 + 1516 224.4013773 35.65262705 0 + 1517 206.0244824 40.27185491 0 + 1518 212.7774279 37.64660932 0 + 1519 218.7005438 36.03869073 0 + 1520 289.1842877 -20.68743369 1 + 1521 281.0547736 -10.64313267 1 + 1522 284.9742301 -15.72421692 1 + 1523 288.2301093 -27.30935637 1 + 1524 287.1198845 -33.81696703 1 + 1525 292.7246736 -52.95971143 1 + 1526 226.6005849 32.03206294 0 + 1527 230.4391463 28.71497651 0 + 1528 242.1430648 22.20639470 0 + 1529 233.9640680 26.65052966 0 + 1530 237.4571519 24.50183233 0 + 1531 242.1326498 18.32435594 0 + 1532 244.8785692 15.66520345 0 + 1533 248.2083368 13.57002169 0 + 1534 251.0484068 11.13198537 0 + 1535 254.8862759 9.23578506 0 + 1536 258.9909785 8.16045592 0 + 1537 275.5749063 -10.48358457 0 + 1538 267.2313540 -0.19569170 0 + 1539 269.3739130 -4.57458067 0 + 1540 271.2914621 -8.75350206 0 + 1541 259.7648648 4.26314866 0 + 1542 262.1754197 0.41264808 0 + 1543 175.7489204 44.14969451 0 + 1544 181.2962459 42.31170575 0 + 1545 194.3332267 41.65880896 0 + 1546 187.7794260 39.78486038 0 + 1547 199.5870874 38.13286945 0 + 1548 357.8570441 -3.86843087 0 + 1549 358.9087281 -0.09745432 0 + 1550 355.8466723 4.40427461 1 + 1551 294.3030349 -47.41101330 1 + 1552 297.6701038 -51.91366011 0 + 1553 353.5922686 -4.92725624 0 + 1554 334.3087319 -5.70255343 0 + 1555 331.6379652 -8.02987616 0 + 1556 328.9511941 -10.93234732 0 + 1557 321.2205418 -16.67677554 1 + 1558 326.3969185 -15.45400664 0 + 1559 338.9236455 -5.49932382 0 + 1560 348.3696341 -5.82618627 0 + 1561 343.4474343 -6.19536855 0 + 1562 312.9159972 -24.98739958 1 + 1563 297.5631067 -41.17541699 1 + 1564 304.5825953 -36.42290292 1 + 1565 309.4293217 -31.20711751 1 + 1566 149.6343230 40.88931607 0 + 1567 145.6715064 45.24872047 1 + 1568 170.9755310 41.16150816 0 + 1569 165.1598757 40.00757534 0 + 1570 159.9196689 41.10784197 0 + 1571 157.3698648 38.16973470 0 + 1572 152.8269054 37.48863220 0 + 1573 148.7226503 36.65758063 0 + 1574 221.1434234 31.71394402 0 + 1575 207.0249341 34.57791067 0 + 1576 214.2767668 31.67233569 0 + 1577 283.1617673 -22.13723074 0 + 1578 278.4563536 -15.12703621 0 + 1579 280.6037033 -18.98732515 0 + 1580 282.2227749 -25.84348322 0 + 1581 282.0821964 -30.10720524 0 + 1582 285.3087771 -39.97469435 1 + 1583 281.1982483 -34.93091921 0 + 1584 295.4012100 -55.86266469 1 + 1585 293.8325932 -59.05043052 0 + 1586 293.4017506 -61.75179376 0 + 1587 290.0928988 -63.89332429 0 + 1588 294.2926713 -65.02747919 1 + 1589 225.2509212 27.74121964 0 + 1590 229.2310770 24.28124866 0 + 1591 238.0265695 20.73937633 0 + 1592 233.5117638 22.10151995 0 + 1593 238.3176446 16.58711250 0 + 1594 241.4178084 13.13862920 0 + 1595 245.7078053 10.40419127 0 + 1596 250.0855176 7.06757800 0 + 1597 254.7091798 5.17601055 0 + 1598 274.3254044 -15.65558222 0 + 1599 271.9024832 -13.00132709 0 + 1600 264.5550675 -3.98433146 0 + 1601 266.9958391 -8.02238996 0 + 1602 267.7664477 -12.20795374 0 + 1603 256.2837182 0.61679460 0 + 1604 259.2699381 -4.01150395 0 + 1605 175.6340858 37.98107550 0 + 1606 182.2682256 35.71723415 0 + 1607 191.9527597 34.65832902 0 + 1608 199.5702913 31.58894296 0 + 1609 356.7153923 -8.03012537 0 + 1610 0.6102382 -7.46145975 0 + 1611 1.4771090 -3.73014436 0 + 1612 2.6258668 -0.48658418 0 + 1613 2.2827874 5.51142478 1 + 1614 297.5738096 -60.57241087 0 + 1615 297.3341087 -63.06219192 1 + 1616 298.5640307 -57.78623448 0 + 1617 300.4668198 -55.04695162 0 + 1618 301.6665567 -45.57348174 0 + 1619 301.5798459 -49.10813166 0 + 1620 302.4585714 -52.33456677 0 + 1621 351.4117830 -8.90731262 0 + 1622 354.7562289 -12.13709049 0 + 1623 330.3348054 -14.83563383 0 + 1624 336.4187333 -9.52538126 0 + 1625 333.3210255 -12.06868282 0 + 1626 319.1592542 -22.04640898 1 + 1627 324.9000901 -20.59672068 0 + 1628 329.0857979 -18.85580424 0 + 1629 341.0284321 -10.69037375 0 + 1630 346.1161575 -10.64886719 0 + 1631 319.7405107 -27.14026157 0 + 1632 316.0224891 -29.75613127 0 + 1633 304.7062063 -41.55561541 0 + 1634 309.2603739 -39.24428748 0 + 1635 311.6594044 -35.91865417 0 + 1636 315.1290409 -33.34325793 0 + 1637 143.6520448 39.11139785 1 + 1638 168.9096788 35.28835863 0 + 1639 162.2044774 36.25341932 0 + 1640 156.2567022 34.20260559 0 + 1641 145.8462720 33.69734031 0 + 1642 151.1425097 33.10717063 0 + 1643 219.1026181 26.77872570 0 + 1644 207.1865477 28.15693828 0 + 1645 212.7381292 24.80649221 0 + 1646 278.8889212 -23.16684702 0 + 1647 276.6504585 -19.68232217 0 + 1648 278.5533194 -27.11174226 0 + 1649 284.1378441 -46.08038794 1 + 1650 278.1207288 -31.21152841 0 + 1651 279.1652545 -42.32584971 0 + 1652 278.4648356 -38.38001768 0 + 1653 277.0916460 -34.79155471 0 + 1654 279.2739894 -49.11156459 0 + 1655 283.8032429 -52.97284332 1 + 1656 289.6745238 -56.94495787 1 + 1657 288.6942234 -60.72695774 0 + 1658 283.4040625 -65.59084185 0 + 1659 290.2979132 -67.30473102 1 + 1660 283.6533810 -70.14845307 1 + 1661 272.4738225 -19.57719033 0 + 1662 223.4015715 22.31604379 0 + 1663 228.2856329 18.76208251 0 + 1664 233.3068259 17.15457652 0 + 1665 235.3933085 12.11500892 0 + 1666 240.0368938 8.19360108 0 + 1667 245.0273747 5.30734915 0 + 1668 250.0450761 1.43960349 0 + 1669 268.7733111 -17.02903578 0 + 1670 262.3175584 -9.33452139 0 + 1671 263.3740012 -14.39279637 0 + 1672 252.7745387 -4.05135183 0 + 1673 256.9049270 -9.32388989 0 + 1674 175.4854129 31.21144720 0 + 1675 185.1194137 29.73308744 0 + 1676 192.9949293 26.27389828 0 + 1677 201.1264845 23.36039591 0 + 1678 359.4873417 -12.41165266 0 + 1679 3.0522835 -10.27109314 0 + 1680 4.5042033 -6.39722741 0 + 1681 5.9147164 -2.77420702 0 + 1682 8.7058127 3.18214459 1 + 1683 301.4961985 -59.34051211 0 + 1684 302.0119274 -61.75496524 1 + 1685 303.7082451 -57.03154021 0 + 1686 306.6292133 -44.57894335 0 + 1687 305.5524791 -54.31913821 0 + 1688 306.1847674 -47.73583537 0 + 1689 306.4009493 -50.91038031 0 + 1690 349.7151304 -14.45496338 0 + 1691 355.8430820 -16.60326151 0 + 1692 333.9254983 -16.85310855 0 + 1693 338.0740663 -14.75519441 0 + 1694 324.0849624 -25.09254388 0 + 1695 328.6185022 -23.12651284 0 + 1696 333.0244732 -20.97852146 0 + 1697 343.7660725 -16.32364455 0 + 1698 323.7286893 -29.59629271 0 + 1699 320.0503539 -31.81369492 0 + 1700 310.8724059 -42.25615023 0 + 1701 314.7907227 -38.94676773 0 + 1702 318.1349077 -35.74548162 0 + 1703 139.9277138 34.22168967 1 + 1704 167.7486748 29.00263063 0 + 1705 162.1741750 31.61880229 0 + 1706 142.5763363 30.19007452 0 + 1707 156.1519238 29.91770842 0 + 1708 147.0481542 29.64581565 0 + 1709 151.3056443 28.94139023 0 + 1710 216.8890034 19.74692130 0 + 1711 207.5934545 18.86376713 0 + 1712 274.2272684 -23.96402030 0 + 1713 274.2891486 -28.04111529 0 + 1714 270.5952222 -72.37967055 1 + 1715 276.6101128 -46.01857019 0 + 1716 274.6816499 -43.38025262 0 + 1717 273.2220069 -32.14369736 0 + 1718 274.6953542 -40.17676769 0 + 1719 273.4628636 -36.65443682 0 + 1720 275.5895863 -52.21251296 0 + 1721 273.8019779 -49.22903526 0 + 1722 275.2139837 -55.64124838 0 + 1723 281.6724608 -58.42614556 0 + 1724 278.9489627 -63.53830159 0 + 1725 275.3820905 -68.21620856 0 + 1726 265.0233716 -69.03963104 0 + 1727 268.7375590 -22.91866627 0 + 1728 222.4243719 15.39893234 0 + 1729 228.4920382 11.97340533 0 + 1730 233.2036564 6.58350640 0 + 1731 238.4086105 2.14190901 0 + 1732 243.7572914 -0.41121615 0 + 1733 246.4147966 -5.54509166 0 + 1734 263.4537312 -19.76157700 0 + 1735 257.5531620 -15.49677014 0 + 1736 250.9849994 -11.21462252 0 + 1737 172.4605431 23.52283018 0 + 1738 179.8493615 24.26572396 0 + 1739 187.2983159 20.14803342 0 + 1740 196.4894895 16.42713721 0 + 1741 1.0194467 -17.18940125 0 + 1742 3.7435845 -13.97170661 0 + 1743 6.8992962 -9.90767222 0 + 1744 11.1134125 -4.88847208 1 + 1745 305.5017401 -59.81310680 1 + 1746 308.4436395 -58.49756464 0 + 1747 309.2271830 -56.09256204 0 + 1748 305.2257411 -62.12180614 1 + 1749 303.3412557 -64.13897716 1 + 1750 311.5334212 -45.83227293 0 + 1751 311.2255790 -52.94476558 0 + 1752 311.8063819 -49.46428817 0 + 1753 350.5433922 -19.61269613 0 + 1754 357.3256061 -21.09350986 0 + 1755 338.5934987 -20.48111439 0 + 1756 328.6470129 -27.26462376 0 + 1757 333.8371777 -25.21052184 0 + 1758 344.9665859 -22.19943158 0 + 1759 327.9707489 -31.54268766 0 + 1760 323.7093385 -34.85919440 0 + 1761 316.3034296 -42.75959866 0 + 1762 320.5991602 -39.21581119 0 + 1763 134.0931969 31.58420458 1 + 1764 138.7429943 28.22767006 0 + 1765 128.6304980 27.98083137 1 + 1766 164.6845411 22.46420915 0 + 1767 160.0759593 25.88944212 0 + 1768 143.2886327 26.03164293 0 + 1769 153.8762085 24.51410793 0 + 1770 148.0308052 25.02185044 0 + 1771 162.4084298 16.74264721 0 + 1772 170.0357488 16.75636022 0 + 1773 164.8394820 11.26741167 0 + 1774 213.7884828 13.10698129 0 + 1775 204.3652148 10.95852288 0 + 1776 268.9317094 -28.32435901 0 + 1777 259.6888058 -71.59362606 1 + 1778 271.6875601 -46.33570219 0 + 1779 269.8703919 -42.64247190 0 + 1780 268.4229120 -33.97165171 0 + 1781 268.9487943 -38.77596151 0 + 1782 270.8523702 -52.79314082 0 + 1783 269.0373798 -49.83617924 0 + 1784 269.6943140 -56.15155655 0 + 1785 271.7324523 -59.71364768 0 + 1786 269.2173397 -64.02748817 0 + 1787 265.2952753 -66.41372595 0 + 1788 257.9940577 -69.28729960 0 + 1789 260.0952253 -67.24808999 0 + 1790 263.0230199 -25.77672253 0 + 1791 220.3989021 8.44688825 0 + 1792 226.3402752 4.40760341 0 + 1793 232.1391534 -1.19147603 0 + 1794 238.1261772 -6.19725118 0 + 1795 243.4517686 -12.54833365 0 + 1796 256.8945400 -22.14343054 0 + 1797 250.3312615 -18.08905525 0 + 1798 178.3258076 16.03087169 0 + 1799 187.0564829 11.90373156 0 + 1800 195.3936553 6.88527090 0 + 1801 2.5376889 -21.56309401 0 + 1802 5.3850066 -18.30803326 0 + 1803 7.5071168 -14.68828147 0 + 1804 13.0012336 -11.38810446 1 + 1805 310.2270464 -61.31885063 0 + 1806 313.4050319 -58.77390767 0 + 1807 314.9700584 -55.62460456 0 + 1808 309.0270900 -64.60766043 0 + 1809 313.2026224 -63.28072649 0 + 1810 305.0826295 -66.77062429 0 + 1811 299.4405843 -65.66611028 1 + 1812 317.4769086 -47.16935341 0 + 1813 318.0262016 -51.60439252 0 + 1814 3.9189524 -25.56006930 0 + 1815 352.6867725 -24.74630944 0 + 1816 358.9699069 -25.71285070 0 + 1817 339.7122370 -26.40904510 0 + 1818 334.1277804 -30.33509965 0 + 1819 347.3356507 -27.76177941 0 + 1820 330.4325787 -35.64856658 0 + 1821 327.0381890 -39.68742336 0 + 1822 322.7509235 -43.79342321 0 + 1823 134.8380290 25.73655335 0 + 1824 139.3107693 23.80930667 0 + 1825 131.3666307 23.22745435 0 + 1826 123.1145458 24.97110505 1 + 1827 127.2924102 21.58176970 0 + 1828 156.8708392 19.58219063 0 + 1829 144.3138689 21.22170355 0 + 1830 150.1375476 19.97595543 0 + 1831 157.7169949 12.73417703 0 + 1832 171.8918804 10.13471085 0 + 1833 160.1078852 7.72250601 0 + 1834 166.0891027 5.66359628 0 + 1835 253.4226774 -73.43660669 1 + 1836 211.5361832 4.84395605 0 + 1837 203.3284246 0.88606666 0 + 1838 262.9398246 -31.74331291 0 + 1839 252.7153817 -70.50826863 0 + 1840 247.0091397 -71.39467762 0 + 1841 266.0555741 -46.09551256 0 + 1842 263.6644041 -42.15726554 0 + 1843 262.8590078 -37.41385883 0 + 1844 264.8600057 -53.57871332 0 + 1845 263.5395117 -49.88404217 0 + 1846 264.7493142 -57.92006758 0 + 1847 265.7491532 -61.32147394 0 + 1848 261.5320453 -63.89333584 0 + 1849 253.2951200 -68.00158051 0 + 1850 256.5042478 -65.71701454 0 + 1851 256.3737825 -29.20664697 0 + 1852 217.9267813 -0.22967910 0 + 1853 224.2330119 -3.96043891 0 + 1854 229.3722025 -9.58495705 0 + 1855 235.4762334 -14.92904543 0 + 1856 242.3501334 -20.78170515 0 + 1857 249.4713953 -25.71124577 0 + 1858 179.2561315 7.95143102 0 + 1859 186.8587681 3.33379443 0 + 1860 194.4440134 -2.68492145 0 + 1861 183.4760331 -78.08485929 1 + 1862 7.0174414 -21.99058437 0 + 1863 11.9027283 -18.32950657 1 + 1864 8.0165034 -25.85710506 0 + 1865 316.6802900 -61.18357327 0 + 1866 319.5872511 -58.50272284 0 + 1867 321.2625540 -55.06600613 0 + 1868 311.0560343 -67.35228168 0 + 1869 315.1286581 -65.62534051 0 + 1870 319.9258251 -63.56309164 0 + 1871 306.2359675 -69.54372429 0 + 1872 298.5765092 -68.79347323 1 + 1873 5.9140026 -29.42361521 0 + 1874 324.4273190 -48.70689096 0 + 1875 326.9818441 -52.88858265 0 + 1876 1.0932612 -30.12328969 0 + 1877 354.9078473 -30.22455984 0 + 1878 342.0398192 -32.07336430 0 + 1879 337.1232110 -35.48836504 0 + 1880 349.4551497 -33.69759610 0 + 1881 335.3157670 -40.85921446 0 + 1882 330.5519487 -44.98180507 0 + 1883 116.8932139 22.23310278 1 + 1884 139.8636828 19.16996025 0 + 1885 135.4059312 20.96006521 0 + 1886 131.2731552 18.84173842 0 + 1887 122.5665812 19.19278455 0 + 1888 126.6941751 17.53979204 0 + 1889 152.2412420 14.74664048 0 + 1890 145.9980407 15.94853010 0 + 1891 153.7162375 8.80889918 0 + 1892 172.5417885 3.68885724 0 + 1893 156.5773055 4.95245705 0 + 1894 161.3305297 2.48243130 0 + 1895 166.9007971 0.40747188 0 + 1896 243.2601909 -73.64740887 1 + 1897 210.7548389 -5.92204990 0 + 1898 201.8632830 -8.62641631 0 + 1899 256.2962389 -35.89775789 0 + 1900 248.1415171 -69.36688078 0 + 1901 240.1575341 -71.47347363 0 + 1902 243.2705248 -69.99780862 0 + 1903 258.8646668 -46.37848683 0 + 1904 256.6311225 -41.78698465 0 + 1905 259.0668488 -55.55920043 0 + 1906 257.4129330 -51.13281352 0 + 1907 247.5377539 -67.46394544 0 + 1908 258.6052740 -60.21145099 0 + 1909 254.1150311 -62.80324206 0 + 1910 250.2703168 -65.40547321 0 + 1911 249.0627137 -33.40339819 0 + 1912 218.4700241 -11.25047067 0 + 1913 225.7504169 -17.75835310 0 + 1914 233.3738140 -23.73409955 0 + 1915 241.2224262 -29.15801041 0 + 1916 199.0053057 -15.80064222 0 + 1917 199.2718084 -78.11537804 1 + 1918 191.0527662 -78.19313260 1 + 1919 195.1392637 -77.11752816 0 + 1920 179.2105413 0.37359595 0 + 1921 186.1355607 -4.64904890 0 + 1922 192.5742544 -11.10174492 0 + 1923 193.5232954 -20.42239754 0 + 1924 186.6078520 -77.26772427 0 + 1925 182.3665364 -77.08817573 0 + 1926 178.0894849 -77.68408766 1 + 1927 173.4132487 -77.29952854 1 + 1928 171.1697968 -76.60648320 0 + 1929 168.7846264 -76.39094453 0 + 1930 168.9663518 -77.24244165 1 + 1931 58.8982405 20.31753930 1 + 1932 13.7358408 -23.81059358 1 + 1933 10.6319929 -29.32987742 0 + 1934 324.3812408 -61.00144923 0 + 1935 327.2742282 -57.70426245 0 + 1936 309.1532340 -71.60469377 0 + 1937 313.0344853 -69.71345485 0 + 1938 327.9625116 -63.59497461 0 + 1939 317.4573193 -68.03891814 0 + 1940 322.4208406 -66.05545391 0 + 1941 309.9567248 -73.61971368 0 + 1942 299.7106145 -72.42781831 1 + 1943 8.3100004 -32.68213947 0 + 1944 4.2218657 -33.94331391 0 + 1945 333.8686620 -49.79366586 0 + 1946 334.3514282 -55.54767702 0 + 1947 358.2882508 -35.10704341 0 + 1948 344.2303146 -39.14997233 0 + 1949 352.9597387 -38.30103259 0 + 1950 341.1712202 -45.62820890 0 + 1951 110.1528292 18.43974533 1 + 1952 118.6326946 16.96072742 0 + 1953 140.7695163 14.91200761 0 + 1954 135.4736407 15.88721062 0 + 1955 130.6458720 14.75821449 0 + 1956 122.4121321 15.04414247 0 + 1957 126.3311622 14.01656967 0 + 1958 148.5351143 10.81426927 0 + 1959 143.5224765 10.85711408 0 + 1960 152.2613595 3.81003931 0 + 1961 149.3722578 6.18329798 0 + 1962 172.5866315 -2.48503434 0 + 1963 156.1136004 1.18343598 0 + 1964 151.8519563 -0.22137500 0 + 1965 159.2224541 -1.30011844 0 + 1966 163.0251272 -2.62354655 0 + 1967 167.3840292 -5.07191664 0 + 1968 235.2294226 -73.37208646 1 + 1969 227.4859078 -74.19714223 1 + 1970 234.5943485 -71.07607311 0 + 1971 208.7666424 -15.65089163 0 + 1972 249.3990019 -40.64709864 0 + 1973 241.8306822 -68.21016747 0 + 1974 237.6068528 -69.43311795 0 + 1975 252.9326728 -57.46856490 0 + 1976 250.8913960 -47.08835886 0 + 1977 251.0428510 -52.91857726 0 + 1978 242.5867736 -65.82451268 0 + 1979 248.8407670 -60.36019863 0 + 1980 245.4979462 -63.23358142 0 + 1981 241.4300713 -37.22226131 0 + 1982 216.8043236 -20.87350211 0 + 1983 224.3819704 -27.33443091 0 + 1984 232.6003602 -32.83742961 0 + 1985 202.1763795 -21.77271615 0 + 1986 190.3043208 -25.88941548 0 + 1987 196.3550515 -25.96146007 0 + 1988 206.7127865 -77.07547692 1 + 1989 220.0905979 -74.86945971 1 + 1990 212.1728713 -75.62526351 1 + 1991 200.4053554 -76.55049604 1 + 1992 196.6709978 -76.13529055 0 + 1993 190.5445534 -76.95740050 0 + 1994 193.0180870 -76.35102299 0 + 1995 187.3876462 -76.53248526 0 + 1996 178.4052269 -6.54930790 0 + 1997 184.1293759 -11.39236923 0 + 1998 188.4249402 -16.96086468 0 + 1999 185.9353990 -22.33529595 0 + 2000 185.0677069 -27.14498126 0 + 2001 178.9422459 -76.84491892 0 + 2002 184.2575958 -76.47406985 0 + 2003 181.1982546 -76.39393768 0 + 2004 175.9963960 -76.70502874 0 + 2005 173.3880672 -76.39821139 0 + 2006 170.6577258 -76.08239950 0 + 2007 168.7292160 -75.82611664 0 + 2008 167.1434415 -76.06138190 0 + 2009 165.6088040 -76.72513892 1 + 2010 55.1490662 14.06916451 1 + 2011 63.6260449 17.66658275 0 + 2012 60.7132363 14.76943171 0 + 2013 65.2121387 24.41561311 1 + 2014 36.7094973 -8.81490698 1 + 2015 16.5933925 -29.62797907 1 + 2016 12.6979899 -33.64202232 0 + 2017 333.5198208 -60.37920035 0 + 2018 335.5353513 -63.90783813 0 + 2019 315.1937478 -71.90923103 0 + 2020 319.8701738 -70.50657757 0 + 2021 329.7836019 -66.54756438 0 + 2022 324.3595251 -68.69306173 0 + 2023 316.9391791 -73.68386348 0 + 2024 314.3337778 -75.67016854 0 + 2025 302.9466719 -75.96461442 1 + 2026 9.2616497 -36.46021454 0 + 2027 3.6583719 -38.23942330 0 + 2028 341.9425295 -52.32998049 0 + 2029 341.6737342 -57.92139054 0 + 2030 358.9326517 -41.38628291 0 + 2031 351.0280746 -43.84016660 0 + 2032 349.6537457 -49.23515108 0 + 2033 116.5483784 14.03758702 0 + 2034 111.3638312 11.03782021 1 + 2035 120.1722342 11.67705946 0 + 2036 138.1301202 11.17433598 0 + 2037 133.5066089 11.17326871 0 + 2038 129.0229835 10.60587488 0 + 2039 124.6347715 10.86124817 0 + 2040 145.3487891 6.56055479 0 + 2041 140.7381898 7.31956822 0 + 2042 147.5919525 2.34551842 0 + 2043 147.9439890 -3.15847390 1 + 2044 172.1717253 -8.50056143 0 + 2045 155.5926439 -3.19255323 0 + 2046 152.1966256 -5.13758222 1 + 2047 166.8719374 -10.10614628 0 + 2048 159.4517491 -5.34414396 0 + 2049 162.9317815 -7.34569954 0 + 2050 187.2638866 -30.41624990 0 + 2051 229.3089123 -72.12524047 0 + 2052 223.3262611 -72.66902420 0 + 2053 229.8098273 -70.39917922 0 + 2054 232.7312224 -68.89390061 0 + 2055 209.5197320 -24.87115859 0 + 2056 242.3066009 -44.59665569 0 + 2057 236.2633073 -66.77505770 0 + 2058 244.2993973 -56.23880098 0 + 2059 243.2033552 -50.96729667 0 + 2060 237.7033540 -63.59547626 0 + 2061 240.3364457 -59.95954361 0 + 2062 233.5030558 -40.93597715 0 + 2063 216.2429153 -30.26266858 0 + 2064 223.8978107 -36.42139183 0 + 2065 202.7865449 -28.66934164 0 + 2066 192.0753731 -30.70147787 0 + 2067 197.2158704 -31.52356480 0 + 2068 218.0113618 -73.13007989 0 + 2069 205.0759586 -75.57179829 0 + 2070 213.1456094 -74.03565714 0 + 2071 208.1326751 -74.45889075 0 + 2072 200.7213678 -75.51081944 0 + 2073 197.1008738 -75.27803438 0 + 2074 193.0024593 -75.45326746 0 + 2075 189.6519797 -75.97125801 0 + 2076 185.8144965 -75.70580624 0 + 2077 176.9586894 -13.10816910 0 + 2078 181.5122207 -17.44822259 0 + 2079 179.9587686 -22.16703862 0 + 2080 180.9750386 -26.25660062 0 + 2081 182.3503498 -30.54245198 0 + 2082 185.0663687 -33.32430264 0 + 2083 178.3222360 -76.16224294 0 + 2084 181.6911088 -75.71598724 0 + 2085 175.4568535 -76.02705700 0 + 2086 172.7140958 -75.82464176 0 + 2087 170.4328230 -75.52940677 0 + 2088 168.5012451 -75.33889415 0 + 2089 166.8064785 -75.49052652 0 + 2090 164.3771191 -75.90689024 1 + 2091 40.3126292 -2.73531099 1 + 2092 45.1698231 1.98458269 1 + 2093 50.2271867 7.73329508 1 + 2094 55.8777333 8.89876248 0 + 2095 60.3173023 10.87749837 0 + 2096 66.8457392 17.05745204 0 + 2097 64.5970944 13.13598536 0 + 2098 72.1217623 19.11264744 1 + 2099 45.0721008 -5.93210985 0 + 2100 42.5742385 -8.93852605 0 + 2101 41.5754830 -12.93773282 0 + 2102 84.1522104 18.35835685 1 + 2103 80.5744630 13.20422751 1 + 2104 35.5079413 -15.06584064 1 + 2105 18.5521127 -34.06754689 1 + 2106 15.0748945 -37.11477573 0 + 2107 342.2321687 -61.80454477 0 + 2108 342.7967820 -65.14507427 0 + 2109 336.7640174 -66.84163057 0 + 2110 322.1950461 -72.72224777 0 + 2111 326.8433794 -71.14075623 0 + 2112 331.0646308 -69.16840369 0 + 2113 322.8217326 -75.12143120 0 + 2114 317.7599614 -78.51684066 1 + 2115 12.3769036 -39.74631650 0 + 2116 8.0943119 -40.55475471 0 + 2117 5.0889002 -43.77907324 0 + 2118 349.6946052 -55.47871831 0 + 2119 350.2450181 -59.77471323 0 + 2120 359.2104166 -47.08156330 0 + 2121 356.5549269 -52.38222373 0 + 2122 116.8373104 7.37915512 1 + 2123 122.7970377 7.36697949 0 + 2124 136.0606560 7.36884384 0 + 2125 131.6468787 7.12134018 0 + 2126 127.4583864 7.12378986 0 + 2127 143.0927893 3.40199027 0 + 2128 138.6933837 3.96988102 0 + 2129 142.6316417 -2.02624537 1 + 2130 171.1227206 -14.05229403 0 + 2131 165.6978589 -14.49787083 0 + 2132 156.2212261 -7.07630623 0 + 2133 152.9600335 -8.75817969 1 + 2134 162.2140091 -11.62273472 0 + 2135 159.2064077 -9.37135249 0 + 2136 189.2073853 -34.23449063 0 + 2137 225.0384082 -71.03292938 0 + 2138 220.0695244 -71.62658341 0 + 2139 226.5640107 -69.08292331 0 + 2140 230.1584750 -66.85228786 0 + 2141 208.0758455 -32.68658212 0 + 2142 234.9188745 -48.80585573 0 + 2143 231.0219824 -64.06749343 0 + 2144 235.3874775 -55.22767644 0 + 2145 232.7266710 -60.19140189 0 + 2146 226.7164685 -44.97330502 0 + 2147 213.7254587 -37.29340799 0 + 2148 218.5026357 -42.24462161 0 + 2149 201.3336857 -35.14220662 0 + 2150 194.3697974 -35.49584842 0 + 2151 215.4192168 -71.90386753 0 + 2152 212.9001028 -72.82457849 0 + 2153 203.2908185 -74.58568372 0 + 2154 209.1516440 -73.15923084 0 + 2155 205.4205594 -73.67573797 0 + 2156 199.2331664 -74.37536832 0 + 2157 194.2038401 -74.44143799 0 + 2158 189.1898744 -74.88211499 0 + 2159 184.3240120 -74.88934696 0 + 2160 175.0048000 -19.01705897 0 + 2161 175.8654661 -24.68818895 0 + 2162 178.3602823 -28.88401074 0 + 2163 181.8357406 -34.05837215 0 + 2164 179.0089091 -32.09092441 0 + 2165 185.2022644 -36.40060468 0 + 2166 177.8710530 -75.50798285 0 + 2167 180.2549710 -74.91030828 0 + 2168 174.7091834 -75.37945003 0 + 2169 172.0400602 -75.17334635 0 + 2170 169.6492069 -74.96003048 0 + 2171 167.3638224 -74.88975195 0 + 2172 164.3965673 -75.04645649 1 + 2173 41.6702698 -16.95602434 0 + 2174 47.6114891 -2.62607479 0 + 2175 50.7436744 1.42357700 0 + 2176 54.6537284 4.28486131 0 + 2177 59.2444855 6.39209844 0 + 2178 63.3735011 8.45826704 0 + 2179 69.1148683 13.23885535 0 + 2180 66.8812292 10.04970052 0 + 2181 74.5854586 12.83848390 1 + 2182 48.9483963 -6.24518676 0 + 2183 46.5040216 -9.61194022 0 + 2184 45.5822176 -13.01899131 0 + 2185 45.9422025 -16.53868684 1 + 2186 85.6784506 11.82697172 0 + 2187 89.0567476 14.06911222 0 + 2188 91.1773297 20.59814512 1 + 2189 84.4065077 7.94836938 0 + 2190 81.2336086 9.26284907 1 + 2191 87.8054014 8.34660182 0 + 2192 35.4983363 -20.86202901 1 + 2193 20.6565704 -38.10627850 0 + 2194 23.9582565 -34.31091603 1 + 2195 16.8358500 -40.97701559 0 + 2196 349.4291423 -63.37868135 0 + 2197 348.7171984 -66.33807672 0 + 2198 343.2090106 -67.88853120 0 + 2199 337.0554783 -69.08417556 0 + 2200 329.1693962 -73.51308536 0 + 2201 334.2457966 -71.51583446 0 + 2202 332.2630791 -76.48974662 1 + 2203 12.3156390 -43.92759094 0 + 2204 356.9846150 -61.44386928 0 + 2205 8.0053078 -47.83006799 0 + 2206 358.7533759 -57.24577967 0 + 2207 4.1255639 -52.22937697 0 + 2208 120.9205967 2.26502493 1 + 2209 126.1489154 3.29449790 0 + 2210 134.2386930 3.80551901 0 + 2211 129.9742612 3.26468923 0 + 2212 137.5051292 -0.53178792 1 + 2213 169.0889837 -18.44087414 0 + 2214 163.9878737 -18.23993857 0 + 2215 161.0389132 -15.38096825 0 + 2216 155.8390581 -11.02280404 1 + 2217 158.3552541 -13.24486792 0 + 2218 151.5445821 -11.00500924 1 + 2219 189.6147431 -37.48899501 0 + 2220 220.9997552 -70.06415583 0 + 2221 215.6412122 -70.53695091 0 + 2222 224.5860584 -66.87565276 0 + 2223 220.7650430 -68.26840522 0 + 2224 224.1047757 -64.51201411 0 + 2225 206.1921744 -39.29536496 0 + 2226 226.8393446 -51.92345131 0 + 2227 224.9876671 -61.22455575 0 + 2228 226.2903579 -57.06779708 0 + 2229 218.3643687 -48.57764226 0 + 2230 210.5570234 -44.22981563 0 + 2231 198.6141031 -39.36251828 0 + 2232 193.5871639 -39.61439749 0 + 2233 210.2948928 -71.60003649 0 + 2234 201.4475720 -73.23421453 0 + 2235 205.2611362 -72.27727162 0 + 2236 182.1706314 -73.94911408 0 + 2237 196.7312591 -73.26195962 0 + 2238 191.3381074 -73.58398040 0 + 2239 186.5953726 -73.85567243 0 + 2240 171.1784267 -22.68505733 0 + 2241 181.4963510 -36.96048632 0 + 2242 171.4087426 -26.80431644 0 + 2243 174.5734953 -28.52837048 0 + 2244 175.3649803 -31.37587753 0 + 2245 178.8180475 -35.12251122 0 + 2246 176.2845086 -33.92493796 0 + 2247 177.9674561 -37.38266107 1 + 2248 186.4761914 -39.16855905 0 + 2249 183.2395165 -39.27720538 0 + 2250 176.6101847 -74.78495610 0 + 2251 178.5712068 -74.10314921 0 + 2252 173.7617490 -74.71169331 0 + 2253 171.1129222 -74.61774903 0 + 2254 168.7951287 -74.45503914 0 + 2255 166.0501345 -74.15678052 1 + 2256 40.6151685 -21.11239620 0 + 2257 44.4132605 -19.82330943 1 + 2258 51.7799503 -3.15493753 0 + 2259 54.8248102 -0.31871229 0 + 2260 58.2863032 2.09457844 0 + 2261 62.6148871 3.98603828 0 + 2262 67.1142719 5.98554780 0 + 2263 71.0166310 8.52285149 0 + 2264 76.7782979 8.63956627 1 + 2265 49.9980010 -9.37893363 0 + 2266 52.9722741 -6.77136561 0 + 2267 49.7404547 -12.83963476 1 + 2268 49.8260155 -16.60003232 1 + 2269 90.5053653 10.20302309 0 + 2270 96.0517882 14.10167612 1 + 2271 78.9730511 5.63641524 1 + 2272 86.2739927 4.72077066 0 + 2273 82.4526719 4.88291314 1 + 2274 89.8885504 5.45120872 0 + 2275 21.7770777 -41.30147111 0 + 2276 32.8530432 -26.16125728 1 + 2277 38.5946622 -25.44478748 0 + 2278 29.6333542 -31.60008540 1 + 2279 28.4175508 -36.46536094 0 + 2280 25.7756492 -39.49846858 0 + 2281 18.5927903 -44.35755515 0 + 2282 355.5054136 -64.60714058 0 + 2283 2.2255520 -63.82618115 0 + 2284 353.9300572 -66.88497454 0 + 2285 348.8983246 -68.82921970 0 + 2286 341.8448567 -70.50016705 0 + 2287 339.6026310 -73.85518779 1 + 2288 15.3179615 -47.94941759 0 + 2289 4.5729780 -60.37750953 0 + 2290 12.1834317 -52.32380331 0 + 2291 7.7485336 -56.58971146 0 + 2292 125.5369591 -0.83395428 1 + 2293 129.1447895 -1.13819051 0 + 2294 132.7517676 -0.20976792 1 + 2295 165.9493270 -21.90678897 0 + 2296 161.6115417 -21.45551274 0 + 2297 159.7895573 -18.68505294 0 + 2298 157.1687611 -16.70579616 0 + 2299 154.5288282 -14.28715332 0 + 2300 150.6634806 -14.92370330 0 + 2301 145.1913708 -11.06903967 1 + 2302 189.9254070 -41.32309890 0 + 2303 215.5520281 -68.64316340 0 + 2304 210.6760022 -69.85530975 0 + 2305 217.5406912 -65.99457308 0 + 2306 217.7548825 -62.70215627 0 + 2307 201.6378767 -43.26900953 0 + 2308 217.9374080 -54.40103588 0 + 2309 217.5097698 -58.76217537 0 + 2310 210.8252460 -50.80256991 0 + 2311 204.9851502 -47.32471584 0 + 2312 194.9838030 -43.57878608 0 + 2313 205.3466849 -70.79469174 0 + 2314 180.0369941 -73.04703105 0 + 2315 199.8097473 -71.77507757 0 + 2316 183.7780614 -72.75582112 0 + 2317 193.9355541 -72.14268857 0 + 2318 188.2919813 -72.45281616 0 + 2319 167.1655155 -25.51526190 0 + 2320 179.6437588 -39.48646429 1 + 2321 168.1792744 -28.97430795 0 + 2322 171.4261047 -30.85293945 0 + 2323 173.0719067 -33.67622499 0 + 2324 175.2147273 -36.21362974 1 + 2325 185.8176145 -41.88653565 0 + 2326 182.5126628 -41.66872928 0 + 2327 177.1678769 -73.38885943 0 + 2328 175.3424423 -74.06707758 0 + 2329 177.4882937 -72.45133957 0 + 2330 172.7114490 -74.18781916 0 + 2331 170.4160813 -74.11563495 0 + 2332 168.6630512 -73.61824676 1 + 2333 43.4813409 -23.56097547 1 + 2334 48.7575000 -20.05399336 1 + 2335 56.4610763 -3.98581036 0 + 2336 60.9599480 -1.15296262 0 + 2337 65.8785402 1.33897086 0 + 2338 70.4945170 3.44130247 0 + 2339 74.2837023 5.55578421 0 + 2340 53.4406949 -11.04619276 0 + 2341 56.7128801 -8.73417093 0 + 2342 53.2414209 -14.91799345 0 + 2343 52.4977011 -18.87450419 0 + 2344 76.3734830 2.47585600 0 + 2345 95.2689822 7.03729579 1 + 2346 80.3334842 1.64468088 0 + 2347 88.0285443 1.75789130 0 + 2348 84.2421761 1.34367183 0 + 2349 92.1524409 1.87057509 0 + 2350 89.8802222 -1.23543742 0 + 2351 42.1222996 -26.93600246 0 + 2352 24.7081997 -43.73336406 0 + 2353 35.4512628 -30.86321221 0 + 2354 39.4964762 -29.85536543 0 + 2355 33.5356627 -35.20812859 0 + 2356 31.2361131 -38.80333092 0 + 2357 29.2609713 -42.15112830 0 + 2358 22.3186287 -47.64809943 0 + 2359 8.9935455 -62.92066566 0 + 2360 0.1986852 -66.53349134 0 + 2361 6.3927244 -65.80786808 0 + 2362 12.0491775 -65.07030862 0 + 2363 356.2143294 -68.84817503 0 + 2364 348.7495820 -71.93456588 1 + 2365 19.7601838 -51.97937523 0 + 2366 13.0256056 -59.95293371 0 + 2367 16.5025469 -56.47579832 0 + 2368 122.8714156 -4.46000252 1 + 2369 127.5097153 -4.72565109 0 + 2370 132.2387837 -4.59446651 1 + 2371 163.0281914 -25.13219853 0 + 2372 159.6382916 -23.66260038 0 + 2373 157.1539656 -20.88110086 0 + 2374 153.8811644 -18.07506759 0 + 2375 148.7388958 -18.78998004 1 + 2376 189.4264458 -44.35860489 0 + 2377 211.1834593 -67.23933346 0 + 2378 206.3158438 -68.72004709 0 + 2379 211.4024710 -64.26164423 0 + 2380 210.4449294 -60.58799234 0 + 2381 198.2286523 -47.53294988 0 + 2382 208.8254268 -55.91654817 0 + 2383 202.8426538 -51.84721895 0 + 2384 192.4110220 -47.31490515 0 + 2385 200.7182336 -69.88850518 0 + 2386 180.4681370 -71.91079003 0 + 2387 195.2938486 -70.42422160 0 + 2388 184.2486334 -71.38435534 0 + 2389 189.6309617 -70.97019337 0 + 2390 164.1748580 -28.56918834 0 + 2391 179.3042727 -41.96764570 0 + 2392 176.5642307 -40.84187097 1 + 2393 167.1319260 -31.68418503 0 + 2394 169.5533724 -33.69112207 0 + 2395 171.9183227 -36.15579174 0 + 2396 174.0797770 -38.46166238 1 + 2397 184.8488350 -44.38635888 0 + 2398 181.3841087 -44.00275072 0 + 2399 177.8580264 -71.36980503 0 + 2400 175.2008024 -73.13771234 0 + 2401 173.8074609 -73.56591780 0 + 2402 174.8642565 -72.54260986 0 + 2403 175.7897211 -71.83434241 0 + 2404 171.7313733 -73.61836472 1 + 2405 47.6722923 -23.37808586 1 + 2406 45.8717807 -26.63383035 1 + 2407 51.3503658 -22.77302287 0 + 2408 60.7051848 -6.25368043 0 + 2409 65.2848156 -3.79766060 0 + 2410 69.6925859 -1.30779886 0 + 2411 73.6044047 -0.24754649 0 + 2412 56.8684306 -13.34666969 0 + 2413 60.6818790 -11.30918342 0 + 2414 56.3081395 -17.45323881 0 + 2415 55.1937235 -21.39838848 0 + 2416 78.0349039 -1.55737178 0 + 2417 97.3462046 0.19492397 1 + 2418 101.5849358 -4.33205795 1 + 2419 82.2689241 -2.34199552 0 + 2420 86.2163365 -2.19829456 0 + 2421 93.4426250 -3.29105425 0 + 2422 89.4024717 -5.00397561 0 + 2423 106.1960746 -7.55379179 1 + 2424 43.8745345 -30.06495936 0 + 2425 28.7742175 -46.84203420 0 + 2426 38.0601232 -33.98573536 0 + 2427 41.7167367 -33.19417635 0 + 2428 37.3380870 -37.68242044 0 + 2429 34.7841281 -40.92151334 0 + 2430 33.6020235 -44.80605911 0 + 2431 27.0955085 -51.37146904 0 + 2432 16.4428483 -62.73924248 0 + 2433 17.3098397 -65.45970310 0 + 2434 4.9969050 -68.14282761 0 + 2435 11.8852723 -67.34976601 0 + 2436 1.0780126 -71.10487201 1 + 2437 24.1278429 -56.03639011 0 + 2438 21.5789636 -60.15196732 0 + 2439 107.5587258 -12.10663187 0 + 2440 112.0286991 -8.90699346 1 + 2441 118.4364948 -7.47769370 1 + 2442 124.2623370 -9.22428214 0 + 2443 129.0249608 -8.21557388 0 + 2444 136.1727562 -10.58783804 1 + 2445 160.1104189 -27.09937792 0 + 2446 160.8146229 -29.83738847 0 + 2447 157.0512787 -25.30188292 0 + 2448 153.2068804 -22.54528083 1 + 2449 187.0715820 -47.19389714 0 + 2450 205.3336811 -65.88471696 0 + 2451 201.2126684 -67.62384543 0 + 2452 203.9753854 -62.99030872 0 + 2453 202.8596376 -59.00589469 0 + 2454 195.4100388 -51.22821735 0 + 2455 199.1610490 -55.12255820 0 + 2456 189.3956969 -50.35467226 0 + 2457 176.7264568 -70.51595937 0 + 2458 195.8076588 -68.19852074 0 + 2459 180.5611110 -70.60282983 0 + 2460 190.2580748 -69.07699947 0 + 2461 185.2561377 -69.94089390 0 + 2462 163.5633633 -31.96744556 0 + 2463 159.9002512 -32.49648045 0 + 2464 177.4753023 -43.82662891 0 + 2465 174.4387534 -42.76132519 1 + 2466 165.7899036 -34.59895524 0 + 2467 168.2463805 -36.22386163 0 + 2468 170.7956345 -38.48585973 0 + 2469 172.1804646 -40.76443698 1 + 2470 182.6623155 -46.71319344 0 + 2471 179.4869630 -45.83233715 0 + 2472 174.8716689 -71.18790031 0 + 2473 174.0226696 -70.51306729 0 + 2474 172.6680655 -72.86993988 0 + 2475 173.4470152 -71.99129341 0 + 2476 169.8899836 -73.15539690 1 + 2477 49.8283951 -26.61522571 0 + 2478 48.0542578 -29.87999567 0 + 2479 53.6340093 -25.80037722 0 + 2480 65.4074536 -9.04796048 0 + 2481 70.3402320 -6.25838625 0 + 2482 74.8846147 -4.66007500 0 + 2483 64.8497548 -14.40767625 0 + 2484 60.5201793 -16.29144474 0 + 2485 59.6131215 -20.49749361 0 + 2486 57.4703588 -24.36486351 0 + 2487 79.7757827 -6.08686445 0 + 2488 97.1363698 -6.26530701 0 + 2489 101.1154560 -9.78574953 0 + 2490 84.7572263 -6.81020917 0 + 2491 93.2109726 -7.69883934 0 + 2492 89.3101574 -8.98081845 0 + 2493 103.5539145 -13.50671447 0 + 2494 45.8494428 -33.47973002 0 + 2495 34.2539237 -50.23888482 0 + 2496 42.4517111 -37.25484726 0 + 2497 40.1987544 -41.71475263 0 + 2498 38.5881167 -46.30750814 0 + 2499 31.5406801 -55.14232097 0 + 2500 38.2731812 -54.75206987 0 + 2501 22.5523036 -63.54989796 0 + 2502 22.5800682 -65.94434884 0 + 2503 18.4978070 -67.80217844 0 + 2504 12.2990336 -70.38283269 1 + 2505 29.2290039 -59.25370164 0 + 2506 27.9926408 -62.42109688 0 + 2507 107.6669859 -15.35581982 0 + 2508 104.9724913 -17.17795973 0 + 2509 111.5787128 -13.91506298 0 + 2510 115.6888402 -12.38361296 0 + 2511 120.5219345 -12.12669038 0 + 2512 128.0673744 -13.46198926 1 + 2513 157.5789363 -29.61590679 0 + 2514 153.6485276 -27.63274338 1 + 2515 183.9221610 -49.39306765 0 + 2516 197.6772896 -65.27765862 0 + 2517 197.0071428 -61.85006644 0 + 2518 194.9282460 -58.10237784 0 + 2519 191.3762787 -54.16983596 0 + 2520 185.5372633 -52.36513886 0 + 2521 174.8489977 -69.65160397 0 + 2522 178.1016122 -69.60830823 0 + 2523 191.0355715 -66.65909021 0 + 2524 181.8025387 -69.17229676 0 + 2525 185.5813700 -67.89379063 0 + 2526 172.7092107 -68.93573367 0 + 2527 162.1713873 -34.86333113 0 + 2528 156.8834745 -32.72434579 0 + 2529 158.5854423 -35.20895560 0 + 2530 176.7045693 -46.40159878 0 + 2531 174.5767584 -45.05899051 0 + 2532 171.8114645 -44.57749365 1 + 2533 167.3314020 -38.38581767 0 + 2534 164.4187425 -37.27806450 0 + 2535 168.8394565 -40.66758369 0 + 2536 170.0348929 -43.00400390 1 + 2537 179.4256602 -48.32646349 0 + 2538 169.7309133 -68.87946024 0 + 2539 172.3933155 -69.86500933 0 + 2540 170.7014116 -69.48206641 0 + 2541 172.5826176 -71.27774405 0 + 2542 171.9493123 -70.52434911 0 + 2543 170.9037350 -72.15370816 1 + 2544 52.8483646 -29.74970356 0 + 2545 50.5203539 -32.85318006 0 + 2546 57.3816736 -28.36349070 0 + 2547 70.4724656 -11.64306161 0 + 2548 75.5605075 -9.72998483 0 + 2549 69.6248631 -16.74884334 0 + 2550 64.7957031 -20.16792150 0 + 2551 61.7988519 -24.81922696 0 + 2552 80.9777398 -11.18127291 0 + 2553 96.4848620 -10.58963627 0 + 2554 99.0132364 -13.50405647 0 + 2555 86.4699253 -12.22696775 0 + 2556 92.4991518 -12.49713505 0 + 2557 100.7054898 -16.92743791 0 + 2558 103.0540880 -20.49418452 0 + 2559 47.9192271 -37.00348348 0 + 2560 41.9539370 -50.64010020 0 + 2561 46.1792233 -41.32394776 0 + 2562 44.9454457 -45.96800748 0 + 2563 45.1511793 -54.69187789 0 + 2564 36.3720570 -58.75995801 0 + 2565 42.8302551 -58.32662873 0 + 2566 27.8580924 -65.24020655 0 + 2567 26.0033680 -67.48208440 0 + 2568 22.7890898 -70.21143705 1 + 2569 34.5077040 -61.76948445 0 + 2570 32.6365754 -64.33767809 0 + 2571 110.0095040 -17.21897409 0 + 2572 107.3238393 -20.18752105 0 + 2573 113.7443431 -16.47172783 0 + 2574 117.3305480 -15.21126357 0 + 2575 122.0419448 -17.08216466 1 + 2576 152.8243187 -32.06645052 1 + 2577 180.4948557 -50.90590251 0 + 2578 190.9420315 -63.87307064 0 + 2579 189.5929864 -60.84703952 0 + 2580 188.6247409 -57.42416539 0 + 2581 184.8804766 -55.44770515 0 + 2582 180.8152969 -53.63040154 0 + 2583 175.9967615 -68.60167358 0 + 2584 179.1955136 -68.14967168 0 + 2585 185.4508960 -65.29033868 0 + 2586 181.6048546 -66.91138509 0 + 2587 174.0105677 -67.82296033 0 + 2588 171.1038980 -68.03016987 0 + 2589 160.5999438 -37.35424456 0 + 2590 155.2988527 -35.54534504 0 + 2591 156.9834873 -37.68782766 0 + 2592 175.7184761 -48.10984869 0 + 2593 172.9765753 -46.87468089 0 + 2594 170.2163072 -46.13456051 1 + 2595 165.3884387 -40.05518907 0 + 2596 162.3271830 -39.53836572 0 + 2597 166.5674605 -42.37989369 0 + 2598 167.6007298 -44.45421846 1 + 2599 176.5018847 -50.02897229 0 + 2600 168.2507120 -68.13642460 0 + 2601 167.4555621 -68.95180299 0 + 2602 168.3791135 -69.60729691 0 + 2603 169.8994973 -70.15030355 0 + 2604 169.7553289 -71.08998509 1 + 2605 53.2291363 -35.82233514 0 + 2606 57.0212043 -32.70095520 0 + 2607 62.1584003 -29.68069266 0 + 2608 75.9920853 -15.73907009 0 + 2609 71.5693503 -21.45148748 0 + 2610 67.0435598 -25.61044269 0 + 2611 82.7242873 -16.71925435 0 + 2612 95.3413872 -16.44214517 0 + 2613 89.3779766 -16.72129180 0 + 2614 97.9285375 -20.59109919 0 + 2615 105.2822146 -23.71587626 0 + 2616 100.8774563 -24.14412650 0 + 2617 52.3393052 -40.44303291 0 + 2618 49.5991141 -50.39920473 0 + 2619 51.7181374 -45.51337332 0 + 2620 49.3607204 -58.12947958 0 + 2621 51.0773977 -55.14054012 0 + 2622 47.0669830 -60.56237524 0 + 2623 53.1802783 -60.02948938 0 + 2624 41.0520212 -61.40835018 0 + 2625 31.9520519 -66.87248815 0 + 2626 31.9206643 -70.01325288 1 + 2627 38.3332592 -63.67511954 0 + 2628 36.2588435 -65.71703989 0 + 2629 111.7069006 -20.42696518 0 + 2630 108.9145854 -23.76008095 0 + 2631 116.7635774 -20.27525499 1 + 2632 150.6457176 -35.96737438 1 + 2633 176.7182796 -52.26533468 0 + 2634 183.7929594 -62.50923972 0 + 2635 183.5590122 -59.27747101 0 + 2636 176.9288933 -54.81730060 0 + 2637 180.3321116 -56.91296852 0 + 2638 176.8053244 -66.72044035 0 + 2639 179.7678462 -65.00828468 0 + 2640 172.8527853 -66.60136834 0 + 2641 169.4972755 -67.08557327 0 + 2642 166.3249065 -67.45055809 0 + 2643 158.7912691 -39.62290581 0 + 2644 153.7248823 -38.46723375 0 + 2645 155.5451768 -40.05688510 0 + 2646 173.0593387 -49.12190273 0 + 2647 170.5177010 -48.19952373 0 + 2648 168.1761193 -47.19636412 1 + 2649 163.3981022 -41.97384784 0 + 2650 160.3548319 -41.63041275 0 + 2651 164.4850014 -44.06708858 0 + 2652 165.7328291 -45.94477079 1 + 2653 165.9540582 -47.75300261 0 + 2654 173.1898976 -51.09074129 0 + 2655 165.8276933 -68.36258465 0 + 2656 163.9712792 -67.88355533 0 + 2657 165.3788795 -69.01981321 0 + 2658 166.1860854 -69.60984749 0 + 2659 167.0704302 -70.47101692 1 + 2660 58.0972301 -37.91127635 0 + 2661 62.7891791 -34.68548492 0 + 2662 68.0625606 -31.08523413 0 + 2663 78.5360940 -21.90997300 0 + 2664 73.8826463 -27.09235870 0 + 2665 85.7188162 -22.10118803 0 + 2666 92.1316946 -21.35132775 0 + 2667 107.0186392 -26.89025341 0 + 2668 95.2997886 -25.21348285 0 + 2669 103.7550112 -27.50720108 0 + 2670 99.2638343 -28.12898123 0 + 2671 58.1274975 -43.28312166 0 + 2672 55.6773768 -52.95818848 0 + 2673 58.0232545 -48.86505378 0 + 2674 56.1385128 -57.26055356 0 + 2675 58.7073194 -60.01027410 0 + 2676 46.3319812 -62.61289827 0 + 2677 51.1938122 -62.18365301 0 + 2678 56.2463589 -61.91683256 0 + 2679 43.5817902 -63.78956120 0 + 2680 40.1818802 -68.43147666 1 + 2681 41.7739610 -65.52445154 0 + 2682 110.0680695 -27.96720087 0 + 2683 113.1259084 -24.92588656 1 + 2684 149.5012628 -39.79471731 1 + 2685 173.1487368 -53.20749216 0 + 2686 178.2450814 -62.86429688 0 + 2687 173.0548481 -55.54185524 0 + 2688 178.2737152 -60.11216097 0 + 2689 175.6657075 -57.62213667 0 + 2690 166.9397047 -66.33482171 0 + 2691 174.6963901 -64.80938057 0 + 2692 170.3858880 -65.54586744 0 + 2693 163.8662379 -66.90911969 0 + 2694 156.8330355 -41.72697116 0 + 2695 152.8196604 -41.42502871 0 + 2696 170.1494355 -50.25460720 0 + 2697 167.9423141 -49.22577049 0 + 2698 161.4558370 -43.80943942 0 + 2699 158.4128899 -43.47273704 0 + 2700 162.5359925 -45.73644376 0 + 2701 163.3698919 -47.50739795 0 + 2702 165.1616496 -49.32636826 0 + 2703 169.8901928 -52.15189039 0 + 2704 161.9011157 -67.45817945 0 + 2705 163.7474147 -68.65693260 0 + 2706 162.1892815 -68.26471313 0 + 2707 163.8285193 -69.35843089 0 + 2708 164.0222173 -70.22417280 1 + 2709 64.1069830 -40.22893098 0 + 2710 69.4433298 -36.76241953 0 + 2711 75.0297709 -32.85713338 0 + 2712 81.6410209 -28.13615773 0 + 2713 88.8321625 -27.37892763 0 + 2714 106.7825681 -30.37962718 0 + 2715 93.6797655 -30.29952422 0 + 2716 102.9301366 -31.16029120 0 + 2717 98.4994741 -32.15967136 0 + 2718 64.7350921 -45.84138557 0 + 2719 61.0753411 -54.19267216 0 + 2720 65.6222512 -50.87140482 0 + 2721 62.1978212 -57.81006980 0 + 2722 63.7266054 -60.75986816 0 + 2723 60.4804969 -62.45155722 0 + 2724 49.5269094 -64.32897859 0 + 2725 55.1330188 -63.73987056 0 + 2726 48.0211896 -66.78150511 1 + 2727 109.9478894 -31.30785474 0 + 2728 114.7448423 -30.56206977 1 + 2729 132.6103335 -33.01365984 1 + 2730 138.6457715 -36.58685244 1 + 2731 148.7109418 -42.53075250 1 + 2732 169.7188517 -54.41806749 0 + 2733 173.7504281 -62.02491453 0 + 2734 170.3690647 -57.17303147 0 + 2735 172.4705993 -59.42506934 0 + 2736 163.9483916 -65.78146861 0 + 2737 166.9281041 -64.81302927 0 + 2738 170.6638728 -63.60269634 0 + 2739 161.1549321 -66.50315519 0 + 2740 154.8731477 -43.27113656 0 + 2741 151.9467916 -43.76067007 0 + 2742 166.9993948 -51.11893020 0 + 2743 159.5079883 -45.60505956 0 + 2744 156.6069123 -45.15212864 0 + 2745 160.1686527 -47.41198370 0 + 2746 161.9644772 -49.16101014 0 + 2747 163.9749577 -50.69342219 0 + 2748 166.7732813 -53.27147765 0 + 2749 159.7639006 -67.21891535 0 + 2750 158.5620219 -66.57208605 0 + 2751 160.4571417 -67.95055317 0 + 2752 162.1233818 -68.96728748 0 + 2753 160.7475285 -68.57834280 0 + 2754 161.1972894 -69.76718033 1 + 2755 108.1623713 -33.71155600 0 + 2756 71.3209983 -42.66142677 0 + 2757 76.9808116 -39.14269947 0 + 2758 82.1206073 -34.37368052 0 + 2759 88.5848683 -34.07163423 0 + 2760 104.6278610 -33.99944106 0 + 2761 94.6320791 -35.53934660 0 + 2762 100.5342916 -35.42062674 0 + 2763 72.5962857 -47.97172971 0 + 2764 67.1704304 -55.47874790 0 + 2765 72.5008894 -53.05670638 0 + 2766 67.8493204 -58.91497029 0 + 2767 68.5030265 -61.65309556 0 + 2768 64.6393942 -63.10919693 0 + 2769 60.3043384 -64.42483989 0 + 2770 55.2823187 -65.91745072 1 + 2771 111.9124097 -33.97204022 0 + 2772 115.4663850 -34.85098778 1 + 2773 120.0803877 -34.44304168 1 + 2774 110.0610774 -36.31974863 0 + 2775 126.5383224 -32.65860327 1 + 2776 134.0960634 -36.57272496 0 + 2777 129.8678992 -36.13280046 0 + 2778 135.6920296 -39.16744966 0 + 2779 142.8789136 -39.65940167 1 + 2780 138.7729000 -40.33115736 0 + 2781 145.1534411 -42.46753184 1 + 2782 149.1839733 -44.65741399 0 + 2783 146.4049944 -44.43091705 1 + 2784 166.8779586 -55.85798524 0 + 2785 168.9226424 -61.02727113 0 + 2786 166.9945088 -58.61777351 0 + 2787 161.0624584 -65.43322901 0 + 2788 163.2471390 -64.22251768 0 + 2789 166.2372604 -62.89218522 0 + 2790 158.5562684 -65.65265437 0 + 2791 153.9425236 -45.56121191 0 + 2792 151.1009198 -46.12897452 0 + 2793 163.7184928 -52.41354818 0 + 2794 156.6986878 -47.30642680 0 + 2795 158.5776437 -49.24274481 0 + 2796 160.7399574 -51.03678029 0 + 2797 163.5549426 -54.52307805 0 + 2798 156.1801968 -65.71459282 0 + 2799 156.4702870 -66.53883905 0 + 2800 158.7387458 -67.71519539 0 + 2801 157.4860604 -67.27905459 0 + 2802 159.0062160 -68.32606157 0 + 2803 159.2365365 -69.22180006 1 + 2804 106.3552483 -36.73861533 0 + 2805 80.0301248 -45.01465470 0 + 2806 84.9229400 -40.24197148 0 + 2807 91.4529814 -39.88648739 0 + 2808 102.7419728 -38.32533659 0 + 2809 97.6540439 -39.37454268 0 + 2810 78.9931486 -50.96836150 0 + 2811 73.1294307 -57.07359257 0 + 2812 78.9105536 -55.26856240 0 + 2813 73.0771018 -60.15276858 0 + 2814 68.9810421 -63.70897943 0 + 2815 73.1502985 -62.52854728 0 + 2816 64.9347994 -64.97228147 0 + 2817 68.7461513 -65.55295047 0 + 2818 61.8569569 -67.02443770 1 + 2819 113.3917729 -37.17483857 0 + 2820 123.9302372 -35.90292720 0 + 2821 117.2458539 -37.43562996 0 + 2822 120.6945086 -37.70399808 0 + 2823 108.7487602 -38.83715575 0 + 2824 111.8272489 -39.41960090 0 + 2825 126.9155075 -37.12935807 0 + 2826 131.9640676 -38.54213155 0 + 2827 129.2397082 -38.66622916 0 + 2828 133.1751423 -40.61889307 0 + 2829 136.0296918 -41.71327517 0 + 2830 141.5075891 -42.60105112 0 + 2831 138.6480007 -42.73657982 0 + 2832 143.2703820 -44.45580306 0 + 2833 148.0188348 -46.37331839 0 + 2834 145.2695549 -46.11140901 0 + 2835 163.3128523 -56.88875109 0 + 2836 164.0622067 -60.84088689 0 + 2837 162.0993758 -59.04425549 0 + 2838 159.6378361 -64.18701246 0 + 2839 161.4692558 -62.49372830 0 + 2840 156.7690779 -64.52004118 0 + 2841 153.3243102 -47.73334993 0 + 2842 149.9560849 -47.99659917 0 + 2843 160.1408408 -53.18926267 0 + 2844 155.1593080 -49.60563205 0 + 2845 157.2563175 -51.50438793 0 + 2846 159.7702678 -55.45970055 0 + 2847 154.2043543 -66.14912762 0 + 2848 154.1540366 -65.03685405 0 + 2849 155.8302248 -67.22096575 0 + 2850 154.6042344 -66.89109218 0 + 2851 157.2279232 -67.94490572 0 + 2852 155.8645616 -67.75395010 0 + 2853 156.9843579 -68.75193779 1 + 2854 153.1571073 -66.95578716 0 + 2855 105.5500115 -40.59361671 0 + 2856 85.1651996 -49.24072460 0 + 2857 89.1615630 -45.31168705 0 + 2858 95.5834995 -43.86683023 0 + 2859 101.1283265 -42.32205152 0 + 2860 85.1799855 -54.01130707 0 + 2861 78.3964326 -58.67438962 0 + 2862 83.7337199 -57.60935464 0 + 2863 77.8732360 -61.17136026 0 + 2864 72.3300042 -64.74559294 0 + 2865 75.3194579 -63.90412796 0 + 2866 78.4328948 -62.90915786 0 + 2867 72.5409324 -66.42429964 0 + 2868 68.1584213 -67.50630407 1 + 2869 115.1981943 -39.71728585 0 + 2870 124.1436143 -38.62780502 0 + 2871 118.3495331 -39.83975393 0 + 2872 121.4627004 -39.78487410 0 + 2873 109.2538596 -41.91794640 0 + 2874 112.9166536 -42.08374924 0 + 2875 126.7688742 -39.92756763 0 + 2876 130.0370850 -41.20981346 0 + 2877 133.1708249 -43.03737522 0 + 2878 136.4363219 -44.23053906 0 + 2879 139.7221422 -44.83004607 0 + 2880 142.1871090 -46.25122734 0 + 2881 146.7596393 -48.04564145 0 + 2882 143.8290280 -47.70934050 0 + 2883 158.6659772 -57.83858072 0 + 2884 158.6187726 -60.67821766 0 + 2885 157.4364851 -62.77123147 0 + 2886 154.2612452 -63.57874478 0 + 2887 151.6542213 -49.91809861 0 + 2888 148.1530369 -49.92622819 0 + 2889 156.1114256 -53.86290073 0 + 2890 153.4404343 -52.03626265 0 + 2891 155.4936824 -56.19836105 0 + 2892 152.3182830 -66.39996112 0 + 2893 152.1108383 -65.59579686 0 + 2894 151.7161278 -64.48504262 0 + 2895 154.1398380 -67.56570284 0 + 2896 152.6150726 -67.53602937 0 + 2897 154.6751944 -68.38259082 1 + 2898 151.5361010 -67.09241110 0 + 2899 150.7296194 -66.64382390 0 + 2900 105.4533332 -44.14241831 0 + 2901 91.1045575 -50.92834093 0 + 2902 91.3599003 -54.60310472 0 + 2903 95.6026484 -48.56776968 0 + 2904 100.8084966 -46.39946731 0 + 2905 88.8634641 -57.39802507 0 + 2906 82.8424980 -60.33828775 0 + 2907 87.4336755 -59.95761977 0 + 2908 82.4961724 -62.31255939 0 + 2909 75.8742940 -65.43507343 0 + 2910 78.7084069 -64.57333198 0 + 2911 81.8038628 -63.93769423 0 + 2912 76.3127326 -66.72517531 0 + 2913 73.9323711 -69.04640298 1 + 2914 94.5841432 -57.08166793 0 + 2915 116.5396826 -42.28907613 0 + 2916 123.7632509 -41.44979348 0 + 2917 120.1075764 -42.19088215 0 + 2918 109.8931886 -44.94806806 0 + 2919 114.0710666 -44.86174366 0 + 2920 126.6637780 -42.82364100 0 + 2921 129.7682190 -44.21385568 0 + 2922 133.2879424 -45.74701561 0 + 2923 136.7920346 -46.68048811 0 + 2924 139.6690585 -47.13886006 0 + 2925 141.2458394 -48.89593725 0 + 2926 144.4865449 -49.72221063 0 + 2927 155.1569410 -59.17844551 0 + 2928 154.1387347 -61.67107182 0 + 2929 151.1335603 -63.13276611 0 + 2930 149.6176456 -52.14953013 0 + 2931 145.7093907 -51.63496258 0 + 2932 151.6109995 -54.52639375 0 + 2933 151.9874807 -57.27490203 0 + 2934 150.2183359 -66.03853494 0 + 2935 147.8737869 -63.40853394 0 + 2936 149.7652666 -65.26989097 0 + 2937 148.9906345 -64.33886821 0 + 2938 150.7132350 -67.56987129 0 + 2939 152.1050739 -68.21917071 1 + 2940 149.7560005 -67.03236401 0 + 2941 148.9225077 -66.53037316 0 + 2942 105.9274243 -47.74608363 0 + 2943 97.2400149 -53.50268357 0 + 2944 101.2820403 -50.68534452 0 + 2945 92.0810387 -59.62067658 0 + 2946 86.6128380 -61.96730211 0 + 2947 90.5385664 -61.69992602 0 + 2948 85.6213158 -63.48995202 0 + 2949 80.3376726 -65.65121060 0 + 2950 84.1187806 -64.87753848 0 + 2951 80.3902341 -67.63790570 1 + 2952 99.5202736 -56.91734468 0 + 2953 96.6162860 -59.42470420 0 + 2954 118.4756721 -44.95514758 0 + 2955 122.6115532 -44.34381417 0 + 2956 111.0146593 -48.02766687 0 + 2957 115.8188535 -47.55749559 0 + 2958 125.7734262 -45.93305335 0 + 2959 129.7080440 -47.29789590 0 + 2960 133.8992474 -48.60474756 0 + 2961 137.7377960 -49.45441619 0 + 2962 141.4068140 -51.19393888 0 + 2963 151.2494363 -60.08124933 0 + 2964 149.7022060 -61.78553845 0 + 2965 147.0099212 -54.02636598 0 + 2966 143.1870819 -53.34257383 0 + 2967 147.6742663 -56.20004541 0 + 2968 148.3576806 -58.64504215 0 + 2969 146.5061165 -62.29231190 0 + 2970 144.8339778 -63.47018375 0 + 2971 148.1796502 -65.89903598 0 + 2972 146.1613129 -64.40419856 0 + 2973 147.4374978 -65.14512162 0 + 2974 148.8786020 -67.47486914 0 + 2975 149.4118463 -68.25507957 1 + 2976 148.0267492 -66.98683907 0 + 2977 147.2710627 -66.48564646 0 + 2978 106.9714072 -51.24520067 0 + 2979 103.4973042 -54.53811043 0 + 2980 103.6666374 -58.04449204 0 + 2981 94.4085878 -61.48052358 0 + 2982 89.4059270 -63.33034857 0 + 2983 92.8433468 -63.13645075 0 + 2984 87.9911462 -64.73352247 0 + 2985 85.1043769 -66.48331097 1 + 2986 98.0785355 -61.34203939 0 + 2987 100.6758567 -59.73804016 0 + 2988 121.0613492 -47.58292718 0 + 2989 112.6321286 -51.00467298 0 + 2990 117.4273612 -50.21449869 0 + 2991 125.2844135 -49.09648250 0 + 2992 129.8513016 -50.32175097 0 + 2993 134.1068044 -51.47088944 0 + 2994 137.8267591 -52.03341100 0 + 2995 139.5682625 -54.07789166 0 + 2996 146.3410448 -60.51476030 0 + 2997 143.0171735 -55.92731248 0 + 2998 144.2698926 -58.26091491 0 + 2999 143.6208294 -61.98770261 0 + 3000 141.9936412 -63.08146120 0 + 3001 142.9521371 -64.05776235 0 + 3002 144.1135293 -64.70252379 0 + 3003 146.3796370 -65.85671884 0 + 3004 145.4537122 -65.34536232 0 + 3005 147.0490808 -67.81553810 1 + 3006 146.2540460 -67.15036560 0 + 3007 145.7943008 -66.41616593 0 + 3008 143.9297779 -65.46490921 0 + 3009 109.8474241 -54.07682196 0 + 3010 107.4759984 -56.77976147 0 + 3011 107.2601829 -59.55645534 0 + 3012 104.2849926 -60.49645472 0 + 3013 95.9876547 -62.98694309 0 + 3014 98.6652216 -62.75090484 0 + 3015 91.9698111 -64.54239157 0 + 3016 95.2235339 -64.31332537 0 + 3017 90.4161587 -66.20813536 1 + 3018 101.5787361 -61.76157236 0 + 3019 121.3155239 -51.36258619 0 + 3020 116.0686813 -53.69708909 0 + 3021 125.9204715 -52.53130877 0 + 3022 130.5753125 -53.50308720 0 + 3023 134.9154159 -54.55936971 0 + 3024 138.2712193 -56.51524198 0 + 3025 142.2791745 -60.35763499 0 + 3026 140.1370073 -58.48047795 0 + 3027 140.3303078 -61.95451327 0 + 3028 139.0463731 -63.15261728 0 + 3029 140.4869385 -63.92762552 0 + 3030 141.7147629 -64.66292559 0 + 3031 142.4741156 -65.23718702 0 + 3032 144.5226920 -66.06834804 0 + 3033 144.3963709 -66.96221104 1 + 3034 142.8275940 -65.92196668 0 + 3035 113.1284718 -56.43858198 0 + 3036 110.9363437 -58.53915137 0 + 3037 104.9791548 -61.99863893 0 + 3038 110.8879699 -60.56840687 0 + 3039 108.0167492 -61.57712830 0 + 3040 100.9227680 -63.19597873 0 + 3041 98.3587079 -64.11583965 0 + 3042 95.4336911 -66.08588081 1 + 3043 103.6092296 -63.09047776 0 + 3044 121.0265077 -54.66453431 0 + 3045 117.5306298 -57.10528335 0 + 3046 125.9233766 -55.67875308 0 + 3047 130.4303281 -56.39230543 0 + 3048 134.1296769 -57.57270012 0 + 3049 136.2605449 -59.27801538 0 + 3050 138.3712881 -60.69386261 0 + 3051 137.1576700 -62.24542400 0 + 3052 136.4582762 -63.40762453 0 + 3053 139.5849762 -64.62082548 0 + 3054 138.0708960 -64.09769461 0 + 3055 140.5728955 -65.16672279 0 + 3056 141.2831840 -65.72408044 0 + 3057 142.5221116 -66.66526165 1 + 3058 114.8716468 -59.31336680 0 + 3059 114.0148451 -61.24947260 0 + 3060 106.7315641 -63.06733308 0 + 3061 111.5817813 -62.24324114 0 + 3062 109.4684972 -62.97570338 0 + 3063 101.9947218 -64.32268668 0 + 3064 99.7674075 -65.59293617 1 + 3065 105.2199981 -64.09660458 0 + 3066 122.0634514 -57.75289860 0 + 3067 118.9794380 -59.63001603 0 + 3068 130.0708865 -59.03708557 0 + 3069 126.3577298 -58.53739519 0 + 3070 132.9403906 -60.21870548 0 + 3071 134.8146383 -61.37678806 0 + 3072 129.7965984 -61.03387761 0 + 3073 134.2596250 -62.71570410 0 + 3074 134.2676014 -63.77340084 0 + 3075 135.8460254 -64.31749937 0 + 3076 138.5816443 -65.04368158 0 + 3077 137.1895079 -64.74385568 0 + 3078 139.4041327 -65.58742643 0 + 3079 140.4629152 -66.51030663 1 + 3080 117.0601312 -61.30383083 0 + 3081 114.8757356 -62.73755878 0 + 3082 108.2192064 -64.04023427 0 + 3083 112.5603339 -63.44962075 0 + 3084 110.5274332 -64.00205487 0 + 3085 104.1587995 -65.48301385 1 + 3086 107.1768663 -64.92335757 0 + 3087 123.0429087 -60.16314147 0 + 3088 120.5733786 -61.55166976 0 + 3089 126.5448266 -60.82744799 0 + 3090 131.6239451 -62.14994287 0 + 3091 128.2034734 -62.36984159 0 + 3092 132.0856046 -63.39679089 0 + 3093 132.6875345 -64.30744680 0 + 3094 134.1842279 -64.65580303 0 + 3095 135.6968659 -65.08878253 0 + 3096 137.2696261 -65.47012297 0 + 3097 138.2107036 -66.30339775 1 + 3098 118.1778381 -62.73276277 0 + 3099 116.6500051 -63.67209166 0 + 3100 114.6685110 -64.11683278 0 + 3101 109.9505830 -65.00759421 0 + 3102 112.5357706 -64.61672346 0 + 3103 108.2376005 -66.39872153 1 + 3104 123.8632933 -62.08210674 0 + 3105 121.1109299 -63.04425884 0 + 3106 125.8076011 -62.95530177 0 + 3107 129.8923123 -63.35883464 0 + 3108 127.7353300 -63.70748777 0 + 3109 130.9503895 -64.32115880 0 + 3110 132.3102508 -64.99287422 0 + 3111 134.0163344 -65.36315673 0 + 3112 135.5742632 -66.09007553 1 + 3113 119.1067466 -64.02022317 0 + 3114 117.0167594 -64.63263861 0 + 3115 114.8061713 -65.20327751 0 + 3116 116.9512083 -65.45905827 0 + 3117 112.3104196 -65.78167538 1 + 3118 123.4084836 -63.63223536 0 + 3119 121.3637973 -64.27875769 0 + 3120 125.4334351 -64.09260585 0 + 3121 129.2692870 -64.43514421 0 + 3122 127.3524320 -64.59563943 0 + 3123 130.6473258 -65.11463670 0 + 3124 132.4665726 -66.03100319 1 + 3125 119.1479991 -65.03439985 0 + 3126 118.4212600 -65.86231748 0 + 3127 115.5063311 -66.49801416 1 + 3128 121.2435173 -65.09361199 0 + 3129 123.4111719 -64.76581823 0 + 3130 125.4080176 -64.84272739 0 + 3131 128.7063899 -65.18521690 0 + 3132 126.8217874 -65.32162529 0 + 3133 129.8078339 -66.09167344 1 + 3134 120.4273935 -65.81179491 0 + 3135 118.9388262 -66.94318185 1 + 3136 122.6545496 -65.59170342 0 + 3137 124.7276199 -65.48875868 0 + 3138 127.2248174 -66.24740724 1 + 3139 121.9987517 -66.73281897 1 + 3140 124.5142243 -66.46269918 1 diff --git a/test/meshes/soufflet/aux3d.out b/test/meshes/soufflet/aux3d.out new file mode 100644 index 000000000..fed58b83a --- /dev/null +++ b/test/meshes/soufflet/aux3d.out @@ -0,0 +1,2917 @@ +41 +0 +9.03766 +18.9791 +29.9146 +41.9438 +55.1758 +69.731 +85.7418 +103.354 +122.727 +144.037 +167.478 +193.264 +221.628 +252.828 +287.149 +324.901 +366.429 +412.11 +462.358 +517.632 +578.433 +645.314 +718.883 +799.809 +888.827 +986.747 +1094.46 +1212.94 +1343.28 +1486.64 +1644.34 +1817.81 +2008.63 +2218.53 +2449.43 +2703.41 +2982.78 +3290.1 +3628.15 +4000 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 +-4000.0 diff --git a/test/meshes/soufflet/dist_2/com_info00000.out b/test/meshes/soufflet/dist_2/com_info00000.out new file mode 100644 index 000000000..bf2c24b94 --- /dev/null +++ b/test/meshes/soufflet/dist_2/com_info00000.out @@ -0,0 +1,57 @@ + 0 + 1 + 1 + 1 27 + 1438 1439 1440 1441 1442 1443 + 1444 1445 1446 1447 1448 1449 + 1450 1451 1452 1453 1454 1455 + 1456 1457 1458 1459 1460 1461 + 1462 1463 + 1 + 1 + 1 27 + 1 58 115 172 229 286 + 343 344 401 459 517 575 + 633 691 749 807 865 923 + 981 1039 1096 1153 1210 1267 + 1324 1381 + 1 + 1 + 1 27 + 2876 2877 2878 2879 2880 2881 + 2882 2883 2884 2885 2886 2887 + 2888 2889 2890 2891 2892 2893 + 2894 2895 2896 2897 2898 2899 + 2900 2901 + 1 + 1 + 1 27 + 1 115 229 343 457 572 + 744 745 861 977 1093 1209 + 1325 1441 1557 1673 1789 1905 + 2020 2078 2192 2306 2420 2534 + 2648 2762 + 1 + 1 + 1 53 + 2902 2876 2903 2877 2904 2878 + 2905 2879 2906 2880 2881 2907 + 2908 2882 2909 2883 2910 2884 + 2911 2885 2912 2886 2913 2887 + 2914 2888 2915 2889 2916 2890 + 2917 2891 2918 2892 2919 2893 + 2920 2894 2895 2921 2922 2896 + 2923 2897 2924 2898 2925 2899 + 2926 2900 2927 2901 + 1 + 1 + 1 53 + 1 2 115 116 229 230 + 343 344 457 458 572 573 + 688 744 745 860 861 976 + 977 1092 1093 1208 1209 1324 + 1325 1440 1441 1556 1557 1672 + 1673 1788 1789 1904 1905 1964 + 1965 2020 2078 2079 2192 2193 + 2306 2307 2420 2421 2534 2535 + 2648 2649 2762 2763 diff --git a/test/meshes/soufflet/dist_2/com_info00001.out b/test/meshes/soufflet/dist_2/com_info00001.out new file mode 100644 index 000000000..292760427 --- /dev/null +++ b/test/meshes/soufflet/dist_2/com_info00001.out @@ -0,0 +1,57 @@ + 1 + 1 + 0 + 1 27 + 1439 1440 1441 1442 1443 1444 + 1445 1446 1447 1448 1449 1450 + 1451 1452 1453 1454 1455 1456 + 1457 1458 1459 1460 1461 1462 + 1463 1464 + 1 + 0 + 1 27 + 58 116 174 232 290 348 + 405 462 519 576 633 690 + 747 804 861 918 975 1032 + 1089 1090 1148 1206 1264 1322 + 1380 1438 + 1 + 0 + 1 27 + 2878 2879 2880 2881 2882 2883 + 2884 2885 2886 2887 2888 2889 + 2890 2891 2892 2893 2894 2895 + 2896 2897 2898 2899 2900 2901 + 2902 2903 + 1 + 0 + 1 27 + 58 174 290 406 522 637 + 809 923 1037 1151 1265 1379 + 1493 1607 1721 1835 1949 2063 + 2122 2123 2239 2355 2471 2587 + 2703 2819 + 1 + 0 + 1 53 + 2878 2904 2879 2905 2880 2906 + 2881 2907 2882 2908 2883 2909 + 2910 2884 2885 2911 2886 2912 + 2887 2913 2888 2914 2889 2915 + 2890 2916 2891 2917 2892 2918 + 2893 2919 2894 2920 2895 2921 + 2922 2896 2897 2923 2898 2924 + 2899 2925 2900 2926 2901 2927 + 2902 2928 2903 2929 + 1 + 0 + 1 53 + 57 58 173 174 289 290 + 405 406 521 522 637 693 + 694 809 810 923 924 1037 + 1038 1151 1152 1265 1266 1379 + 1380 1493 1494 1607 1608 1721 + 1722 1835 1836 1949 1950 2063 + 2064 2122 2123 2178 2238 2239 + 2354 2355 2470 2471 2586 2587 + 2702 2703 2818 2819 diff --git a/test/meshes/soufflet/dist_2/my_list00000.out b/test/meshes/soufflet/dist_2/my_list00000.out new file mode 100644 index 000000000..ef3a2c594 --- /dev/null +++ b/test/meshes/soufflet/dist_2/my_list00000.out @@ -0,0 +1,1463 @@ + 0 + 1437 + 26 + 59 60 61 62 63 64 + 65 66 67 68 69 70 + 71 72 73 74 75 76 + 77 78 79 80 81 82 + 83 84 85 86 87 88 + 89 90 91 92 93 94 + 95 96 97 98 99 100 + 101 102 103 104 105 106 + 107 108 109 110 111 112 + 113 114 115 174 175 176 + 177 178 179 180 181 182 + 183 184 185 186 187 188 + 189 190 191 192 193 194 + 195 196 197 198 199 200 + 201 202 203 204 205 206 + 207 208 209 210 211 212 + 213 214 215 216 217 218 + 219 220 221 222 223 224 + 225 226 227 228 229 230 + 289 290 291 292 293 294 + 295 296 297 298 299 300 + 301 302 303 304 305 306 + 307 308 309 310 311 312 + 313 314 315 316 317 318 + 319 320 321 322 323 324 + 325 326 327 328 329 330 + 331 332 333 334 335 336 + 337 338 339 340 341 342 + 343 344 345 404 405 406 + 407 408 409 410 411 412 + 413 414 415 416 417 418 + 419 420 421 422 423 424 + 425 426 427 428 429 430 + 431 432 433 434 435 436 + 437 438 439 440 441 442 + 443 444 445 446 447 448 + 449 450 451 452 453 454 + 455 456 457 458 459 460 + 519 520 521 522 523 524 + 525 526 527 528 529 530 + 531 532 533 534 535 536 + 537 538 539 540 541 542 + 543 544 545 546 547 548 + 549 550 551 552 553 554 + 555 556 557 558 559 560 + 561 562 563 564 565 566 + 567 568 569 570 571 572 + 573 574 575 634 635 636 + 637 638 639 640 641 642 + 643 644 645 646 647 648 + 649 650 651 652 653 654 + 655 656 657 658 659 660 + 661 662 663 664 665 666 + 667 668 669 670 671 672 + 673 674 675 676 677 678 + 679 680 681 682 683 684 + 685 686 687 688 689 690 + 748 749 750 751 752 753 + 754 755 756 757 758 759 + 760 761 762 763 764 765 + 766 767 768 769 770 771 + 772 773 774 775 776 777 + 778 779 780 781 782 783 + 784 785 786 787 788 789 + 790 791 792 793 794 795 + 796 797 798 799 800 801 + 802 803 804 805 863 864 + 865 866 867 868 869 870 + 871 872 873 874 875 876 + 877 878 879 880 881 882 + 883 884 885 886 887 888 + 889 890 891 892 893 894 + 895 896 897 898 899 900 + 901 902 903 904 905 906 + 907 908 909 910 911 912 + 913 914 915 916 917 918 + 919 920 978 979 980 981 + 982 983 984 985 986 987 + 988 989 990 991 992 993 + 994 995 996 997 998 999 + 1000 1001 1002 1003 1004 1005 + 1006 1007 1008 1009 1010 1011 + 1012 1013 1014 1015 1016 1017 + 1018 1019 1020 1021 1022 1023 + 1024 1025 1026 1027 1028 1029 + 1030 1031 1032 1033 1034 1035 + 1093 1094 1095 1096 1097 1098 + 1099 1100 1101 1102 1103 1104 + 1105 1106 1107 1108 1109 1110 + 1111 1112 1113 1114 1115 1116 + 1117 1118 1119 1120 1121 1122 + 1123 1124 1125 1126 1127 1128 + 1129 1130 1131 1132 1133 1134 + 1135 1136 1137 1138 1139 1140 + 1141 1142 1143 1144 1145 1146 + 1147 1148 1149 1150 1208 1209 + 1210 1211 1212 1213 1214 1215 + 1216 1217 1218 1219 1220 1221 + 1222 1223 1224 1225 1226 1227 + 1228 1229 1230 1231 1232 1233 + 1234 1235 1236 1237 1238 1239 + 1240 1241 1242 1243 1244 1245 + 1246 1247 1248 1249 1250 1251 + 1252 1253 1254 1255 1256 1257 + 1258 1259 1260 1261 1262 1263 + 1264 1265 1323 1324 1325 1326 + 1327 1328 1329 1330 1331 1332 + 1333 1334 1335 1336 1337 1338 + 1339 1340 1341 1342 1343 1344 + 1345 1346 1347 1348 1349 1350 + 1351 1352 1353 1354 1355 1356 + 1357 1358 1359 1360 1361 1362 + 1363 1364 1365 1366 1367 1368 + 1369 1370 1371 1372 1373 1374 + 1375 1376 1377 1378 1379 1380 + 1438 1439 1440 1441 1442 1443 + 1444 1445 1446 1447 1448 1449 + 1450 1451 1452 1453 1454 1455 + 1456 1457 1458 1459 1460 1461 + 1462 1463 1464 1465 1466 1467 + 1468 1469 1470 1471 1472 1473 + 1474 1475 1476 1477 1478 1479 + 1480 1481 1482 1483 1484 1485 + 1486 1487 1488 1489 1490 1491 + 1492 1493 1494 1495 1553 1554 + 1555 1556 1557 1558 1559 1560 + 1561 1562 1563 1564 1565 1566 + 1567 1568 1569 1570 1571 1572 + 1573 1574 1575 1576 1577 1578 + 1579 1580 1581 1582 1583 1584 + 1585 1586 1587 1588 1589 1590 + 1591 1592 1593 1594 1595 1596 + 1597 1598 1599 1600 1601 1602 + 1603 1604 1605 1606 1607 1608 + 1609 1610 1668 1669 1670 1671 + 1672 1673 1674 1675 1676 1677 + 1678 1679 1680 1681 1682 1683 + 1684 1685 1686 1687 1688 1689 + 1690 1691 1692 1693 1694 1695 + 1696 1697 1698 1699 1700 1701 + 1702 1703 1704 1705 1706 1707 + 1708 1709 1710 1711 1712 1713 + 1714 1715 1716 1717 1718 1719 + 1720 1721 1722 1723 1724 1725 + 1783 1784 1785 1786 1787 1788 + 1789 1790 1791 1792 1793 1794 + 1795 1796 1797 1798 1799 1800 + 1801 1802 1803 1804 1805 1806 + 1807 1808 1809 1810 1811 1812 + 1813 1814 1815 1816 1817 1818 + 1819 1820 1821 1822 1823 1824 + 1825 1826 1827 1828 1829 1830 + 1831 1832 1833 1834 1835 1836 + 1837 1838 1839 1840 1898 1899 + 1900 1901 1902 1903 1904 1905 + 1906 1907 1908 1909 1910 1911 + 1912 1913 1914 1915 1916 1917 + 1918 1919 1920 1921 1922 1923 + 1924 1925 1926 1927 1928 1929 + 1930 1931 1932 1933 1934 1935 + 1936 1937 1938 1939 1940 1941 + 1942 1943 1944 1945 1946 1947 + 1948 1949 1950 1951 1952 1953 + 1954 1955 2013 2014 2015 2016 + 2017 2018 2019 2020 2021 2022 + 2023 2024 2025 2026 2027 2028 + 2029 2030 2031 2032 2033 2034 + 2035 2036 2037 2038 2039 2040 + 2041 2042 2043 2044 2045 2046 + 2047 2048 2049 2050 2051 2052 + 2053 2054 2055 2056 2057 2058 + 2059 2060 2061 2062 2063 2064 + 2065 2066 2067 2068 2069 2070 + 2129 2130 2131 2132 2133 2134 + 2135 2136 2137 2138 2139 2140 + 2141 2142 2143 2144 2145 2146 + 2147 2148 2149 2150 2151 2152 + 2153 2154 2155 2156 2157 2158 + 2159 2160 2161 2162 2163 2164 + 2165 2166 2167 2168 2169 2170 + 2171 2172 2173 2174 2175 2176 + 2177 2178 2179 2180 2181 2182 + 2183 2184 2185 2244 2245 2246 + 2247 2248 2249 2250 2251 2252 + 2253 2254 2255 2256 2257 2258 + 2259 2260 2261 2262 2263 2264 + 2265 2266 2267 2268 2269 2270 + 2271 2272 2273 2274 2275 2276 + 2277 2278 2279 2280 2281 2282 + 2283 2284 2285 2286 2287 2288 + 2289 2290 2291 2292 2293 2294 + 2295 2296 2297 2298 2299 2300 + 2359 2360 2361 2362 2363 2364 + 2365 2366 2367 2368 2369 2370 + 2371 2372 2373 2374 2375 2376 + 2377 2378 2379 2380 2381 2382 + 2383 2384 2385 2386 2387 2388 + 2389 2390 2391 2392 2393 2394 + 2395 2396 2397 2398 2399 2400 + 2401 2402 2403 2404 2405 2406 + 2407 2408 2409 2410 2411 2412 + 2413 2414 2415 2474 2475 2476 + 2477 2478 2479 2480 2481 2482 + 2483 2484 2485 2486 2487 2488 + 2489 2490 2491 2492 2493 2494 + 2495 2496 2497 2498 2499 2500 + 2501 2502 2503 2504 2505 2506 + 2507 2508 2509 2510 2511 2512 + 2513 2514 2515 2516 2517 2518 + 2519 2520 2521 2522 2523 2524 + 2525 2526 2527 2528 2529 2530 + 2589 2590 2591 2592 2593 2594 + 2595 2596 2597 2598 2599 2600 + 2601 2602 2603 2604 2605 2606 + 2607 2608 2609 2610 2611 2612 + 2613 2614 2615 2616 2617 2618 + 2619 2620 2621 2622 2623 2624 + 2625 2626 2627 2628 2629 2630 + 2631 2632 2633 2634 2635 2636 + 2637 2638 2639 2640 2641 2642 + 2643 2644 2645 2704 2705 2706 + 2707 2708 2709 2710 2711 2712 + 2713 2714 2715 2716 2717 2718 + 2719 2720 2721 2722 2723 2724 + 2725 2726 2727 2728 2729 2730 + 2731 2732 2733 2734 2735 2736 + 2737 2738 2739 2740 2741 2742 + 2743 2744 2745 2746 2747 2748 + 2749 2750 2751 2752 2753 2754 + 2755 2756 2757 2758 2759 2760 + 2819 2820 2821 2822 2823 2824 + 2825 2826 2827 2828 2829 2830 + 2831 2832 2833 2834 2835 2836 + 2837 2838 2839 2840 2841 2842 + 2843 2844 2845 2846 2847 2848 + 2849 2850 2851 2852 2853 2854 + 2855 2856 2857 2858 2859 2860 + 2861 2862 2863 2864 2865 2866 + 2867 2868 2869 2870 2871 2872 + 2873 2874 2875 58 173 288 + 403 518 633 747 862 977 + 1092 1207 1322 1437 1552 1667 + 1782 1897 2012 2127 2128 2243 + 2358 2473 2588 2703 2818 + 2875 + 26 + 26 + 59 60 61 62 63 64 + 65 66 67 68 69 70 + 71 72 73 74 75 76 + 77 78 79 80 81 82 + 83 84 85 86 87 88 + 89 90 91 92 93 94 + 95 96 97 98 99 100 + 101 102 103 104 105 106 + 107 108 109 110 111 112 + 113 114 171 172 173 174 + 175 176 177 178 179 180 + 181 182 183 184 185 186 + 187 188 189 190 191 192 + 193 194 195 196 197 198 + 199 200 201 202 203 204 + 205 206 207 208 209 210 + 211 212 213 214 215 216 + 217 218 219 220 221 222 + 223 224 225 226 227 228 + 287 288 289 290 291 292 + 293 294 295 296 297 298 + 299 300 301 302 303 304 + 305 306 307 308 309 310 + 311 312 313 314 315 316 + 317 318 319 320 321 322 + 323 324 325 326 327 328 + 329 330 331 332 333 334 + 335 336 337 338 339 340 + 341 342 399 400 401 402 + 403 404 405 406 407 408 + 409 410 411 412 413 414 + 415 416 417 418 419 420 + 421 422 423 424 425 426 + 427 428 429 430 431 432 + 433 434 435 436 437 438 + 439 440 441 442 443 444 + 445 446 447 448 449 450 + 451 452 453 454 455 456 + 515 516 517 518 519 520 + 521 522 523 524 525 526 + 527 528 529 530 531 532 + 533 534 535 536 537 538 + 539 540 541 542 543 544 + 545 546 547 548 549 550 + 551 552 553 554 555 556 + 557 558 559 560 561 562 + 563 564 565 566 567 568 + 569 570 627 628 629 630 + 631 632 633 634 635 636 + 637 638 639 640 641 642 + 643 644 645 646 647 648 + 649 650 651 652 653 654 + 655 656 657 658 659 660 + 661 662 663 664 665 666 + 667 668 669 670 671 672 + 673 674 675 676 677 678 + 679 680 681 682 683 684 + 743 744 745 746 747 748 + 749 750 751 752 753 754 + 755 756 757 758 759 760 + 761 762 763 764 765 766 + 767 768 769 770 771 772 + 773 774 775 776 777 778 + 779 780 781 782 783 784 + 785 786 787 788 789 790 + 791 792 793 794 795 796 + 797 798 855 856 857 858 + 859 860 861 862 863 864 + 865 866 867 868 869 870 + 871 872 873 874 875 876 + 877 878 879 880 881 882 + 883 884 885 886 887 888 + 889 890 891 892 893 894 + 895 896 897 898 899 900 + 901 902 903 904 905 906 + 907 908 909 910 911 912 + 971 972 973 974 975 976 + 977 978 979 980 981 982 + 983 984 985 986 987 988 + 989 990 991 992 993 994 + 995 996 997 998 999 1000 + 1001 1002 1003 1004 1005 1006 + 1007 1008 1009 1010 1011 1012 + 1013 1014 1015 1016 1017 1018 + 1019 1020 1021 1022 1023 1024 + 1025 1026 1083 1084 1085 1086 + 1087 1088 1089 1090 1091 1092 + 1093 1094 1095 1096 1097 1098 + 1099 1100 1101 1102 1103 1104 + 1105 1106 1107 1108 1109 1110 + 1111 1112 1113 1114 1115 1116 + 1117 1118 1119 1120 1121 1122 + 1123 1124 1125 1126 1127 1128 + 1129 1130 1131 1132 1133 1134 + 1135 1136 1137 1138 1139 1140 + 1198 1199 1200 1201 1202 1203 + 1204 1205 1206 1207 1208 1209 + 1210 1211 1212 1213 1214 1215 + 1216 1217 1218 1219 1220 1221 + 1222 1223 1224 1225 1226 1227 + 1228 1229 1230 1231 1232 1233 + 1234 1235 1236 1237 1238 1239 + 1240 1241 1242 1243 1244 1245 + 1246 1247 1248 1249 1250 1251 + 1252 1253 1254 1311 1312 1313 + 1314 1315 1316 1317 1318 1319 + 1320 1321 1322 1323 1324 1325 + 1326 1327 1328 1329 1330 1331 + 1332 1333 1334 1335 1336 1337 + 1338 1339 1340 1341 1342 1343 + 1344 1345 1346 1347 1348 1349 + 1350 1351 1352 1353 1354 1355 + 1356 1357 1358 1359 1360 1361 + 1362 1363 1364 1365 1366 1367 + 1368 1425 1426 1427 1428 1429 + 1430 1431 1432 1433 1434 1435 + 1436 1437 1438 1439 1440 1441 + 1442 1443 1444 1445 1446 1447 + 1448 1449 1450 1451 1452 1453 + 1454 1455 1456 1457 1458 1459 + 1460 1461 1462 1463 1464 1465 + 1466 1467 1468 1469 1470 1471 + 1472 1473 1474 1475 1476 1477 + 1478 1479 1480 1481 1482 1539 + 1540 1541 1542 1543 1544 1545 + 1546 1547 1548 1549 1550 1551 + 1552 1553 1554 1555 1556 1557 + 1558 1559 1560 1561 1562 1563 + 1564 1565 1566 1567 1568 1569 + 1570 1571 1572 1573 1574 1575 + 1576 1577 1578 1579 1580 1581 + 1582 1583 1584 1585 1586 1587 + 1588 1589 1590 1591 1592 1593 + 1594 1595 1596 1653 1654 1655 + 1656 1657 1658 1659 1660 1661 + 1662 1663 1664 1665 1666 1667 + 1668 1669 1670 1671 1672 1673 + 1674 1675 1676 1677 1678 1679 + 1680 1681 1682 1683 1684 1685 + 1686 1687 1688 1689 1690 1691 + 1692 1693 1694 1695 1696 1697 + 1698 1699 1700 1701 1702 1703 + 1704 1705 1706 1707 1708 1709 + 1710 1767 1768 1769 1770 1771 + 1772 1773 1774 1775 1776 1777 + 1778 1779 1780 1781 1782 1783 + 1784 1785 1786 1787 1788 1789 + 1790 1791 1792 1793 1794 1795 + 1796 1797 1798 1799 1800 1801 + 1802 1803 1804 1805 1806 1807 + 1808 1809 1810 1811 1812 1813 + 1814 1815 1816 1817 1818 1819 + 1820 1821 1822 1823 1824 1881 + 1882 1883 1884 1885 1886 1887 + 1888 1889 1890 1891 1892 1893 + 1894 1895 1896 1897 1898 1899 + 1900 1901 1902 1903 1904 1905 + 1906 1907 1908 1909 1910 1911 + 1912 1913 1914 1915 1916 1917 + 1918 1919 1920 1921 1922 1923 + 1924 1925 1926 1927 1928 1929 + 1930 1931 1932 1933 1934 1935 + 1936 1937 1938 1995 1996 1997 + 1998 1999 2000 2001 2002 2003 + 2004 2005 2006 2007 2008 2009 + 2010 2011 2012 2013 2014 2015 + 2016 2017 2018 2019 2020 2021 + 2022 2023 2024 2025 2026 2027 + 2028 2029 2030 2031 2032 2033 + 2034 2035 2036 2037 2038 2039 + 2040 2041 2042 2043 2044 2045 + 2046 2047 2048 2049 2050 2051 + 2052 2109 2110 2111 2112 2113 + 2114 2115 2116 2117 2118 2119 + 2120 2121 2122 2123 2124 2125 + 2126 2127 2128 2129 2130 2131 + 2132 2133 2134 2135 2136 2137 + 2138 2139 2140 2141 2142 2143 + 2144 2145 2146 2147 2148 2149 + 2150 2151 2152 2153 2154 2155 + 2156 2157 2158 2159 2160 2161 + 2162 2163 2164 2165 2166 2223 + 2224 2225 2226 2227 2228 2229 + 2230 2231 2232 2233 2234 2235 + 2236 2237 2238 2239 2240 2241 + 2242 2243 2244 2245 2246 2247 + 2248 2249 2250 2251 2252 2253 + 2254 2255 2256 2257 2258 2259 + 2260 2261 2262 2263 2264 2265 + 2266 2267 2268 2269 2270 2271 + 2272 2273 2274 2275 2276 2277 + 2278 2279 2280 2337 2338 2339 + 2340 2341 2342 2343 2344 2345 + 2346 2347 2348 2349 2350 2351 + 2352 2353 2354 2355 2356 2357 + 2358 2359 2360 2361 2362 2363 + 2364 2365 2366 2367 2368 2369 + 2370 2371 2372 2373 2374 2375 + 2376 2377 2378 2379 2380 2381 + 2382 2383 2384 2385 2386 2387 + 2388 2389 2390 2391 2392 2393 + 2394 2451 2452 2453 2454 2455 + 2456 2457 2458 2459 2460 2461 + 2462 2463 2464 2465 2466 2467 + 2468 2469 2470 2471 2472 2473 + 2474 2475 2476 2477 2478 2479 + 2480 2481 2482 2483 2484 2485 + 2486 2487 2488 2489 2490 2491 + 2492 2493 2494 2495 2496 2497 + 2498 2499 2500 2501 2502 2503 + 2504 2505 2506 2507 2508 2565 + 2566 2567 2568 2569 2570 2571 + 2572 2573 2574 2575 2576 2577 + 2578 2579 2580 2581 2582 2583 + 2584 2585 2586 2587 2588 2589 + 2590 2591 2592 2593 2594 2595 + 2596 2597 2598 2599 2600 2601 + 2602 2603 2604 2605 2606 2607 + 2608 2609 2610 2611 2612 2613 + 2614 2615 2616 2617 2618 2619 + 2620 2621 2622 2679 2680 2681 + 2682 2683 2684 2685 2686 2687 + 2688 2689 2690 2691 2692 2693 + 2694 2695 2696 2697 2698 2699 + 2700 2701 2702 2703 2704 2705 + 2706 2707 2708 2709 2710 2711 + 2712 2713 2714 2715 2716 2717 + 2718 2719 2720 2721 2722 2723 + 2724 2725 2726 2727 2728 2729 + 2730 2731 2732 2733 2734 2735 + 2736 2793 2794 2795 2796 2797 + 2798 2799 2800 2801 2802 2803 + 2804 2805 2806 2807 2808 2809 + 2810 2811 2812 2813 2814 2815 + 2816 2817 2818 2819 2820 2821 + 2822 2823 2824 2825 2826 2827 + 2828 2829 2830 2831 2832 2833 + 2834 2835 2836 2837 2838 2839 + 2840 2841 2842 2843 2844 2845 + 2846 2847 2848 2849 2850 2907 + 2908 2909 2910 2911 2912 2913 + 2914 2915 2916 2917 2918 2919 + 2920 2921 2922 2923 2924 2925 + 2926 2927 2928 2929 2930 2931 + 2932 2933 2934 2935 2936 2937 + 2938 2939 2940 2941 2942 2943 + 2944 2945 2946 2947 2948 2949 + 2950 2951 2952 2953 2954 2955 + 2956 2957 2958 2959 2960 2961 + 2962 2963 2964 3021 3022 3023 + 3024 3025 3026 3027 3028 3029 + 3030 3031 3032 3033 3034 3035 + 3036 3037 3038 3039 3040 3041 + 3042 3043 3044 3045 3046 3047 + 3048 3049 3050 3051 3052 3053 + 3054 3055 3056 3057 3058 3059 + 3060 3061 3062 3063 3064 3065 + 3066 3067 3068 3069 3070 3071 + 3072 3073 3074 3075 3076 3077 + 3078 3135 3136 3137 3138 3139 + 3140 3141 3142 3143 3144 3145 + 3146 3147 3148 3149 3150 3151 + 3152 3153 3154 3155 3156 3157 + 3158 3159 3160 3161 3162 3163 + 3164 3165 3166 3167 3168 3169 + 3170 3171 3172 3173 3174 3175 + 3176 3177 3178 3179 3180 3181 + 3182 3183 3184 3185 3186 3187 + 3188 3189 3190 3191 3192 3249 + 3250 3251 3252 3253 3254 3255 + 3256 3257 3258 3259 3260 3261 + 3262 3263 3264 3265 3266 3267 + 3268 3269 3270 3271 3272 3273 + 3274 3275 3276 3277 3278 3279 + 3280 3281 3282 3283 3284 3285 + 3286 3287 3288 3289 3290 3291 + 3292 3293 3294 3295 3296 3297 + 3298 3299 3300 3301 3302 3303 + 3304 3305 3306 3363 3364 3365 + 3366 3367 3368 3369 3370 3371 + 3372 3373 3374 3375 3376 3377 + 3378 3379 3380 3381 3382 3383 + 3384 3385 3386 3387 3388 3389 + 3390 3391 3392 3393 3394 3395 + 3396 3397 3398 3399 3400 3401 + 3402 3403 3404 3405 3406 3407 + 3408 3409 3410 3411 3412 3413 + 3414 3415 3416 3417 3418 3419 + 3420 3477 3478 3479 3480 3481 + 3482 3483 3484 3485 3486 3487 + 3488 3489 3490 3491 3492 3493 + 3494 3495 3496 3497 3498 3499 + 3500 3501 3502 3503 3504 3505 + 3506 3507 3508 3509 3510 3511 + 3512 3513 3514 3515 3516 3517 + 3518 3519 3520 3521 3522 3523 + 3524 3525 3526 3527 3528 3529 + 3530 3531 3532 3533 3534 3591 + 3592 3593 3594 3595 3596 3597 + 3598 3599 3600 3601 3602 3603 + 3604 3605 3606 3607 3608 3609 + 3610 3611 3612 3613 3614 3615 + 3616 3617 3618 3619 3620 3621 + 3622 3623 3624 3625 3626 3627 + 3628 3629 3630 3631 3632 3633 + 3634 3635 3636 3637 3638 3639 + 3640 3641 3642 3643 3644 3645 + 3646 3647 3648 3705 3706 3707 + 3708 3709 3710 3711 3712 3713 + 3714 3715 3716 3717 3718 3719 + 3720 3721 3722 3723 3724 3725 + 3726 3727 3728 3729 3730 3731 + 3732 3733 3734 3735 3736 3737 + 3738 3739 3740 3741 3742 3743 + 3744 3745 3746 3747 3748 3749 + 3750 3751 3752 3753 3754 3755 + 3756 3757 3758 3759 3760 3761 + 3762 3819 3820 3821 3822 3823 + 3824 3825 3826 3827 3828 3829 + 3830 3831 3832 3833 3834 3835 + 3836 3837 3838 3839 3840 3841 + 3842 3843 3844 3845 3846 3847 + 3848 3849 3850 3851 3852 3853 + 3854 3855 3856 3857 3858 3859 + 3860 3861 3862 3863 3864 3865 + 3866 3867 3868 3869 3870 3871 + 3872 3873 3874 3875 3876 3933 + 3934 3935 3936 3937 3938 3939 + 3940 3941 3942 3943 3944 3945 + 3946 3947 3948 3949 3950 3951 + 3952 3953 3954 3955 3956 3957 + 3958 3959 3960 3961 3962 3963 + 3964 3965 3966 3967 3968 3969 + 3970 3971 3972 3973 3974 3975 + 3976 3977 3978 3979 3980 3981 + 3982 3983 3984 3985 3986 3987 + 3988 3989 3990 4047 4048 4049 + 4050 4051 4052 4053 4054 4055 + 4056 4057 4058 4059 4060 4061 + 4062 4063 4064 4065 4066 4067 + 4068 4069 4070 4071 4072 4073 + 4074 4075 4076 4077 4078 4079 + 4080 4081 4082 4083 4084 4085 + 4086 4087 4088 4089 4090 4091 + 4092 4093 4094 4095 4096 4097 + 4098 4099 4100 4101 4102 4103 + 4104 4163 4164 4165 4166 4167 + 4168 4169 4170 4171 4172 4173 + 4174 4175 4176 4177 4178 4179 + 4180 4181 4182 4183 4184 4185 + 4186 4187 4188 4189 4190 4191 + 4192 4193 4194 4195 4196 4197 + 4198 4199 4200 4201 4202 4203 + 4204 4205 4206 4207 4208 4209 + 4210 4211 4212 4213 4214 4215 + 4216 4217 4218 4275 4276 4277 + 4278 4279 4280 4281 4282 4283 + 4284 4285 4286 4287 4288 4289 + 4290 4291 4292 4293 4294 4295 + 4296 4297 4298 4299 4300 4301 + 4302 4303 4304 4305 4306 4307 + 4308 4309 4310 4311 4312 4313 + 4314 4315 4316 4317 4318 4319 + 4320 4321 4322 4323 4324 4325 + 4326 4327 4328 4329 4330 4331 + 4332 4391 4392 4393 4394 4395 + 4396 4397 4398 4399 4400 4401 + 4402 4403 4404 4405 4406 4407 + 4408 4409 4410 4411 4412 4413 + 4414 4415 4416 4417 4418 4419 + 4420 4421 4422 4423 4424 4425 + 4426 4427 4428 4429 4430 4431 + 4432 4433 4434 4435 4436 4437 + 4438 4439 4440 4441 4442 4443 + 4444 4445 4446 4503 4504 4505 + 4506 4507 4508 4509 4510 4511 + 4512 4513 4514 4515 4516 4517 + 4518 4519 4520 4521 4522 4523 + 4524 4525 4526 4527 4528 4529 + 4530 4531 4532 4533 4534 4535 + 4536 4537 4538 4539 4540 4541 + 4542 4543 4544 4545 4546 4547 + 4548 4549 4550 4551 4552 4553 + 4554 4555 4556 4557 4558 4559 + 4560 4619 4620 4621 4622 4623 + 4624 4625 4626 4627 4628 4629 + 4630 4631 4632 4633 4634 4635 + 4636 4637 4638 4639 4640 4641 + 4642 4643 4644 4645 4646 4647 + 4648 4649 4650 4651 4652 4653 + 4654 4655 4656 4657 4658 4659 + 4660 4661 4662 4663 4664 4665 + 4666 4667 4668 4669 4670 4671 + 4672 4673 4674 4731 4732 4733 + 4734 4735 4736 4737 4738 4739 + 4740 4741 4742 4743 4744 4745 + 4746 4747 4748 4749 4750 4751 + 4752 4753 4754 4755 4756 4757 + 4758 4759 4760 4761 4762 4763 + 4764 4765 4766 4767 4768 4769 + 4770 4771 4772 4773 4774 4775 + 4776 4777 4778 4779 4780 4781 + 4782 4783 4784 4785 4786 4787 + 4788 4847 4848 4849 4850 4851 + 4852 4853 4854 4855 4856 4857 + 4858 4859 4860 4861 4862 4863 + 4864 4865 4866 4867 4868 4869 + 4870 4871 4872 4873 4874 4875 + 4876 4877 4878 4879 4880 4881 + 4882 4883 4884 4885 4886 4887 + 4888 4889 4890 4891 4892 4893 + 4894 4895 4896 4897 4898 4899 + 4900 4901 4902 4959 4960 4961 + 4962 4963 4964 4965 4966 4967 + 4968 4969 4970 4971 4972 4973 + 4974 4975 4976 4977 4978 4979 + 4980 4981 4982 4983 4984 4985 + 4986 4987 4988 4989 4990 4991 + 4992 4993 4994 4995 4996 4997 + 4998 4999 5000 5001 5002 5003 + 5004 5005 5006 5007 5008 5009 + 5010 5011 5012 5013 5014 5015 + 5016 5075 5076 5077 5078 5079 + 5080 5081 5082 5083 5084 5085 + 5086 5087 5088 5089 5090 5091 + 5092 5093 5094 5095 5096 5097 + 5098 5099 5100 5101 5102 5103 + 5104 5105 5106 5107 5108 5109 + 5110 5111 5112 5113 5114 5115 + 5116 5117 5118 5119 5120 5121 + 5122 5123 5124 5125 5126 5127 + 5128 5129 5130 5187 5188 5189 + 5190 5191 5192 5193 5194 5195 + 5196 5197 5198 5199 5200 5201 + 5202 5203 5204 5205 5206 5207 + 5208 5209 5210 5211 5212 5213 + 5214 5215 5216 5217 5218 5219 + 5220 5221 5222 5223 5224 5225 + 5226 5227 5228 5229 5230 5231 + 5232 5233 5234 5235 5236 5237 + 5238 5239 5240 5241 5242 5243 + 5244 5303 5304 5305 5306 5307 + 5308 5309 5310 5311 5312 5313 + 5314 5315 5316 5317 5318 5319 + 5320 5321 5322 5323 5324 5325 + 5326 5327 5328 5329 5330 5331 + 5332 5333 5334 5335 5336 5337 + 5338 5339 5340 5341 5342 5343 + 5344 5345 5346 5347 5348 5349 + 5350 5351 5352 5353 5354 5355 + 5356 5357 5358 5415 5416 5417 + 5418 5419 5420 5421 5422 5423 + 5424 5425 5426 5427 5428 5429 + 5430 5431 5432 5433 5434 5435 + 5436 5437 5438 5439 5440 5441 + 5442 5443 5444 5445 5446 5447 + 5448 5449 5450 5451 5452 5453 + 5454 5455 5456 5457 5458 5459 + 5460 5461 5462 5463 5464 5465 + 5466 5467 5468 5469 5470 5471 + 5472 5531 5532 5533 5534 5535 + 5536 5537 5538 5539 5540 5541 + 5542 5543 5544 5545 5546 5547 + 5548 5549 5550 5551 5552 5553 + 5554 5555 5556 5557 5558 5559 + 5560 5561 5562 5563 5564 5565 + 5566 5567 5568 5569 5570 5571 + 5572 5573 5574 5575 5576 5577 + 5578 5579 5580 5581 5582 5583 + 5584 5585 5586 5643 5644 5645 + 5646 5647 5648 5649 5650 5651 + 5652 5653 5654 5655 5656 5657 + 5658 5659 5660 5661 5662 5663 + 5664 5665 5666 5667 5668 5669 + 5670 5671 5672 5673 5674 5675 + 5676 5677 5678 5679 5680 5681 + 5682 5683 5684 5685 5686 5687 + 5688 5689 5690 5691 5692 5693 + 5694 5695 5696 5697 5698 5699 + 5700 58 286 514 742 970 + 1197 1537 1765 1993 2221 2449 + 2677 2905 3133 3361 3589 3817 + 4045 4161 4162 4390 4618 4846 + 5074 5302 5530 57 285 513 + 741 969 1309 1310 1538 1766 + 1994 2222 2450 2678 2906 3134 + 3362 3590 3818 4046 4273 4389 + 4617 4845 5073 5301 5529 + 4312 + 26 + 285 286 288 289 290 291 + 292 293 294 295 296 297 + 298 299 300 301 302 303 + 304 305 306 307 308 309 + 310 311 312 313 314 315 + 316 317 318 319 320 321 + 322 323 324 325 326 327 + 328 329 330 331 332 333 + 334 335 336 337 338 339 + 340 341 342 343 344 345 + 346 347 348 349 350 351 + 352 353 354 355 356 357 + 358 359 360 361 362 363 + 364 365 366 367 368 369 + 370 371 372 373 374 375 + 376 377 378 379 380 381 + 382 383 384 385 386 387 + 388 389 390 391 392 393 + 394 395 396 397 398 399 + 400 401 402 403 404 405 + 406 407 408 409 410 411 + 412 413 414 415 416 417 + 418 419 420 421 422 423 + 424 425 426 427 428 429 + 430 431 432 433 434 435 + 436 437 438 439 440 441 + 442 443 444 445 446 447 + 448 449 450 451 452 453 + 454 455 456 457 458 459 + 460 461 462 463 464 465 + 466 467 468 469 470 471 + 472 473 474 475 476 477 + 478 479 480 481 482 483 + 484 485 486 487 488 489 + 490 491 492 493 494 495 + 496 497 498 499 500 501 + 502 503 504 505 506 507 + 508 509 510 511 512 513 + 514 515 516 517 518 519 + 520 521 522 523 524 525 + 526 527 528 529 530 531 + 532 533 534 535 536 537 + 538 539 540 541 542 543 + 544 545 546 547 548 549 + 550 551 552 553 554 555 + 556 557 558 559 560 561 + 562 563 564 565 566 567 + 568 738 741 742 743 744 + 745 746 747 748 749 750 + 751 752 753 754 755 756 + 757 758 759 760 761 762 + 763 764 765 766 767 768 + 769 770 771 772 773 774 + 775 776 777 778 779 780 + 781 782 783 784 785 786 + 787 788 789 790 791 792 + 793 794 795 796 797 798 + 799 800 801 802 803 804 + 805 806 807 808 809 810 + 811 812 813 814 815 816 + 817 818 819 820 821 822 + 823 824 825 826 827 828 + 829 830 831 832 833 834 + 835 836 837 838 839 840 + 841 842 843 844 845 846 + 847 848 849 850 851 852 + 853 854 855 856 857 858 + 859 860 861 862 863 864 + 865 866 867 868 869 870 + 871 872 873 874 875 876 + 877 878 879 880 881 882 + 883 884 885 886 887 888 + 889 890 891 892 893 894 + 895 896 897 898 899 900 + 901 902 903 904 905 906 + 907 908 909 1079 1082 1083 + 1084 1085 1086 1087 1088 1089 + 1090 1091 1092 1093 1094 1095 + 1096 1097 1098 1099 1100 1101 + 1102 1103 1104 1105 1106 1107 + 1108 1109 1110 1111 1112 1113 + 1114 1115 1116 1117 1118 1119 + 1120 1121 1122 1123 1124 1125 + 1126 1127 1128 1129 1130 1131 + 1132 1133 1134 1135 1136 1137 + 1138 1139 1140 1141 1142 1143 + 1144 1145 1146 1147 1148 1149 + 1150 1151 1152 1153 1154 1155 + 1156 1157 1158 1159 1160 1161 + 1162 1163 1164 1165 1166 1167 + 1168 1169 1170 1171 1172 1173 + 1174 1175 1176 1177 1178 1179 + 1180 1181 1182 1183 1184 1185 + 1186 1187 1188 1189 1190 1191 + 1192 1193 1194 1195 1196 1197 + 1198 1199 1200 1201 1202 1203 + 1204 1205 1206 1207 1208 1209 + 1210 1211 1212 1213 1214 1215 + 1216 1217 1218 1219 1220 1221 + 1222 1223 1224 1225 1226 1227 + 1228 1229 1230 1231 1232 1233 + 1234 1235 1236 1237 1238 1239 + 1240 1241 1242 1243 1244 1245 + 1246 1247 1248 1249 1250 1420 + 1423 1424 1425 1426 1427 1428 + 1429 1430 1431 1432 1433 1434 + 1435 1436 1437 1438 1439 1440 + 1441 1442 1443 1444 1445 1446 + 1447 1448 1449 1450 1451 1452 + 1453 1454 1455 1456 1457 1458 + 1459 1460 1461 1462 1463 1464 + 1465 1466 1467 1468 1469 1470 + 1471 1472 1473 1474 1475 1476 + 1477 1478 1479 1480 1481 1482 + 1483 1484 1485 1486 1487 1488 + 1489 1490 1491 1492 1493 1494 + 1495 1496 1497 1498 1499 1500 + 1501 1502 1503 1504 1505 1506 + 1507 1508 1509 1510 1511 1512 + 1513 1514 1515 1516 1517 1518 + 1519 1520 1521 1522 1523 1524 + 1525 1526 1527 1528 1529 1530 + 1531 1532 1533 1534 1535 1536 + 1537 1538 1539 1540 1541 1542 + 1543 1544 1545 1546 1547 1548 + 1549 1550 1551 1552 1553 1554 + 1555 1556 1557 1558 1559 1560 + 1561 1562 1563 1564 1565 1566 + 1567 1568 1569 1570 1571 1572 + 1573 1574 1575 1576 1577 1578 + 1579 1580 1581 1582 1583 1584 + 1585 1586 1587 1588 1589 1590 + 1591 1761 1764 1765 1766 1767 + 1768 1769 1770 1771 1772 1773 + 1774 1775 1776 1777 1778 1779 + 1780 1781 1782 1783 1784 1785 + 1786 1787 1788 1789 1790 1791 + 1792 1793 1794 1795 1796 1797 + 1798 1799 1800 1801 1802 1803 + 1804 1805 1806 1807 1808 1809 + 1810 1811 1812 1813 1814 1815 + 1816 1817 1818 1819 1820 1821 + 1822 1823 1824 1825 1826 1827 + 1828 1829 1830 1831 1832 1833 + 1834 1835 1836 1837 1838 1839 + 1840 1841 1842 1843 1844 1845 + 1846 1847 1848 1849 1850 1851 + 1852 1853 1854 1855 1856 1857 + 1858 1859 1860 1861 1862 1863 + 1864 1865 1866 1867 1868 1869 + 1870 1871 1872 1873 1874 1875 + 1876 1877 1878 1879 1880 1881 + 1882 1883 1884 1885 1886 1887 + 1888 1889 1890 1891 1892 1893 + 1894 1895 1896 1897 1898 1899 + 1900 1901 1902 1903 1904 1905 + 1906 1907 1908 1909 1910 1911 + 1912 1913 1914 1915 1916 1917 + 1918 1919 1920 1921 1922 1923 + 1924 1925 1926 1927 1928 1929 + 1930 1931 1932 2102 2104 2105 + 2106 2107 2108 2109 2110 2111 + 2112 2113 2114 2115 2116 2117 + 2118 2119 2120 2121 2122 2123 + 2124 2125 2126 2127 2128 2129 + 2130 2131 2132 2133 2134 2135 + 2136 2137 2138 2139 2140 2141 + 2142 2143 2144 2145 2146 2147 + 2148 2149 2150 2151 2152 2153 + 2154 2155 2156 2157 2158 2159 + 2160 2161 2162 2163 2164 2165 + 2166 2167 2168 2169 2170 2171 + 2172 2173 2174 2175 2176 2177 + 2178 2179 2180 2181 2182 2183 + 2184 2185 2186 2187 2188 2189 + 2190 2191 2192 2193 2194 2195 + 2196 2197 2198 2199 2200 2201 + 2202 2203 2204 2205 2206 2207 + 2208 2209 2210 2211 2212 2213 + 2214 2215 2216 2217 2218 2219 + 2220 2221 2222 2223 2224 2225 + 2226 2227 2228 2229 2230 2231 + 2232 2233 2234 2235 2236 2237 + 2238 2239 2240 2241 2242 2243 + 2244 2245 2246 2247 2248 2249 + 2250 2251 2252 2253 2254 2255 + 2256 2257 2258 2259 2260 2261 + 2262 2263 2264 2265 2266 2267 + 2268 2269 2270 2271 2272 2273 + 2441 2443 2444 2445 2446 2447 + 2448 2449 2450 2451 2452 2453 + 2454 2455 2456 2457 2458 2459 + 2460 2461 2462 2463 2464 2465 + 2466 2467 2468 2469 2470 2471 + 2472 2473 2474 2475 2476 2477 + 2478 2479 2480 2481 2482 2483 + 2484 2485 2486 2487 2488 2489 + 2490 2491 2492 2493 2494 2495 + 2496 2497 2498 2499 2500 2501 + 2502 2503 2504 2505 2506 2507 + 2508 2509 2510 2511 2512 2513 + 2514 2515 2516 2517 2518 2519 + 2520 2521 2522 2523 2524 2525 + 2526 2527 2528 2529 2530 2531 + 2532 2533 2534 2535 2536 2537 + 2538 2539 2540 2541 2542 2543 + 2544 2545 2546 2547 2548 2549 + 2550 2551 2552 2553 2554 2555 + 2556 2557 2558 2559 2560 2561 + 2562 2563 2564 2565 2566 2567 + 2568 2569 2570 2571 2572 2573 + 2574 2575 2576 2577 2578 2579 + 2580 2581 2582 2583 2584 2585 + 2586 2587 2588 2589 2590 2591 + 2592 2593 2594 2595 2596 2597 + 2598 2599 2600 2601 2602 2603 + 2604 2605 2606 2607 2608 2609 + 2610 2611 2612 2613 2614 2782 + 2784 2785 2786 2787 2788 2789 + 2790 2791 2792 2793 2794 2795 + 2796 2797 2798 2799 2800 2801 + 2802 2803 2804 2805 2806 2807 + 2808 2809 2810 2811 2812 2813 + 2814 2815 2816 2817 2818 2819 + 2820 2821 2822 2823 2824 2825 + 2826 2827 2828 2829 2830 2831 + 2832 2833 2834 2835 2836 2837 + 2838 2839 2840 2841 2842 2843 + 2844 2845 2846 2847 2848 2849 + 2850 2851 2852 2853 2854 2855 + 2856 2857 2858 2859 2860 2861 + 2862 2863 2864 2865 2866 2867 + 2868 2869 2870 2871 2872 2873 + 2874 2875 2876 2877 2878 2879 + 2880 2881 2882 2883 2884 2885 + 2886 2887 2888 2889 2890 2891 + 2892 2893 2894 2895 2896 2897 + 2898 2899 2900 2901 2902 2903 + 2904 2905 2906 2907 2908 2909 + 2910 2911 2912 2913 2914 2915 + 2916 2917 2918 2919 2920 2921 + 2922 2923 2924 2925 2926 2927 + 2928 2929 2930 2931 2932 2933 + 2934 2935 2936 2937 2938 2939 + 2940 2941 2942 2943 2944 2945 + 2946 2947 2948 2949 2950 2951 + 2952 2953 2954 2955 3123 3125 + 3126 3127 3128 3129 3130 3131 + 3132 3133 3134 3135 3136 3137 + 3138 3139 3140 3141 3142 3143 + 3144 3145 3146 3147 3148 3149 + 3150 3151 3152 3153 3154 3155 + 3156 3157 3158 3159 3160 3161 + 3162 3163 3164 3165 3166 3167 + 3168 3169 3170 3171 3172 3173 + 3174 3175 3176 3177 3178 3179 + 3180 3181 3182 3183 3184 3185 + 3186 3187 3188 3189 3190 3191 + 3192 3193 3194 3195 3196 3197 + 3198 3199 3200 3201 3202 3203 + 3204 3205 3206 3207 3208 3209 + 3210 3211 3212 3213 3214 3215 + 3216 3217 3218 3219 3220 3221 + 3222 3223 3224 3225 3226 3227 + 3228 3229 3230 3231 3232 3233 + 3234 3235 3236 3237 3238 3239 + 3240 3241 3242 3243 3244 3245 + 3246 3247 3248 3249 3250 3251 + 3252 3253 3254 3255 3256 3257 + 3258 3259 3260 3261 3262 3263 + 3264 3265 3266 3267 3268 3269 + 3270 3271 3272 3273 3274 3275 + 3276 3277 3278 3279 3280 3281 + 3282 3283 3284 3285 3286 3287 + 3288 3289 3290 3291 3292 3293 + 3294 3295 3296 3464 3466 3467 + 3468 3469 3470 3471 3472 3473 + 3474 3475 3476 3477 3478 3479 + 3480 3481 3482 3483 3484 3485 + 3486 3487 3488 3489 3490 3491 + 3492 3493 3494 3495 3496 3497 + 3498 3499 3500 3501 3502 3503 + 3504 3505 3506 3507 3508 3509 + 3510 3511 3512 3513 3514 3515 + 3516 3517 3518 3519 3520 3521 + 3522 3523 3524 3525 3526 3527 + 3528 3529 3530 3531 3532 3533 + 3534 3535 3536 3537 3538 3539 + 3540 3541 3542 3543 3544 3545 + 3546 3547 3548 3549 3550 3551 + 3552 3553 3554 3555 3556 3557 + 3558 3559 3560 3561 3562 3563 + 3564 3565 3566 3567 3568 3569 + 3570 3571 3572 3573 3574 3575 + 3576 3577 3578 3579 3580 3581 + 3582 3583 3584 3585 3586 3587 + 3588 3589 3590 3591 3592 3593 + 3594 3595 3596 3597 3598 3599 + 3600 3601 3602 3603 3604 3605 + 3606 3607 3608 3609 3610 3611 + 3612 3613 3614 3615 3616 3617 + 3618 3619 3620 3621 3622 3623 + 3624 3625 3626 3627 3628 3629 + 3630 3631 3632 3633 3634 3635 + 3636 3637 3805 3807 3808 3809 + 3810 3811 3812 3813 3814 3815 + 3816 3817 3818 3819 3820 3821 + 3822 3823 3824 3825 3826 3827 + 3828 3829 3830 3831 3832 3833 + 3834 3835 3836 3837 3838 3839 + 3840 3841 3842 3843 3844 3845 + 3846 3847 3848 3849 3850 3851 + 3852 3853 3854 3855 3856 3857 + 3858 3859 3860 3861 3862 3863 + 3864 3865 3866 3867 3868 3869 + 3870 3871 3872 3873 3874 3875 + 3876 3877 3878 3879 3880 3881 + 3882 3883 3884 3885 3886 3887 + 3888 3889 3890 3891 3892 3893 + 3894 3895 3896 3897 3898 3899 + 3900 3901 3902 3903 3904 3905 + 3906 3907 3908 3909 3910 3911 + 3912 3913 3914 3915 3916 3917 + 3918 3919 3920 3921 3922 3923 + 3924 3925 3926 3927 3928 3929 + 3930 3931 3932 3933 3934 3935 + 3936 3937 3938 3939 3940 3941 + 3942 3943 3944 3945 3946 3947 + 3948 3949 3950 3951 3952 3953 + 3954 3955 3956 3957 3958 3959 + 3960 3961 3962 3963 3964 3965 + 3966 3967 3968 3969 3970 3971 + 3972 3973 3974 3975 3976 3977 + 3978 4146 4148 4149 4150 4151 + 4152 4153 4154 4155 4156 4157 + 4158 4159 4160 4161 4162 4163 + 4164 4165 4166 4167 4168 4169 + 4170 4171 4172 4173 4174 4175 + 4176 4177 4178 4179 4180 4181 + 4182 4183 4184 4185 4186 4187 + 4188 4189 4190 4191 4192 4193 + 4194 4195 4196 4197 4198 4199 + 4200 4201 4202 4203 4204 4205 + 4206 4207 4208 4209 4210 4211 + 4212 4213 4214 4215 4216 4217 + 4218 4219 4220 4221 4222 4223 + 4224 4225 4226 4227 4228 4229 + 4230 4231 4232 4233 4234 4235 + 4236 4237 4238 4239 4240 4241 + 4242 4243 4244 4245 4246 4247 + 4248 4249 4250 4251 4252 4253 + 4254 4255 4256 4257 4258 4259 + 4260 4261 4262 4263 4264 4265 + 4266 4267 4268 4269 4270 4271 + 4272 4273 4274 4275 4276 4277 + 4278 4279 4280 4281 4282 4283 + 4284 4285 4286 4287 4288 4289 + 4290 4291 4292 4293 4294 4295 + 4296 4297 4298 4299 4300 4301 + 4302 4303 4304 4305 4306 4307 + 4308 4309 4310 4311 4312 4313 + 4314 4315 4316 4317 4318 4319 + 4487 4489 4490 4491 4492 4493 + 4494 4495 4496 4497 4498 4499 + 4500 4501 4502 4503 4504 4505 + 4506 4507 4508 4509 4510 4511 + 4512 4513 4514 4515 4516 4517 + 4518 4519 4520 4521 4522 4523 + 4524 4525 4526 4527 4528 4529 + 4530 4531 4532 4533 4534 4535 + 4536 4537 4538 4539 4540 4541 + 4542 4543 4544 4545 4546 4547 + 4548 4549 4550 4551 4552 4553 + 4554 4555 4556 4557 4558 4559 + 4560 4561 4562 4563 4564 4565 + 4566 4567 4568 4569 4570 4571 + 4572 4573 4574 4575 4576 4577 + 4578 4579 4580 4581 4582 4583 + 4584 4585 4586 4587 4588 4589 + 4590 4591 4592 4593 4594 4595 + 4596 4597 4598 4599 4600 4601 + 4602 4603 4604 4605 4606 4607 + 4608 4609 4610 4611 4612 4613 + 4614 4615 4616 4617 4618 4619 + 4620 4621 4622 4623 4624 4625 + 4626 4627 4628 4629 4630 4631 + 4632 4633 4634 4635 4636 4637 + 4638 4639 4640 4641 4642 4643 + 4644 4645 4646 4647 4648 4649 + 4650 4651 4652 4653 4654 4655 + 4656 4657 4658 4659 4660 4828 + 4830 4831 4832 4833 4834 4835 + 4836 4837 4838 4839 4840 4841 + 4842 4843 4844 4845 4846 4847 + 4848 4849 4850 4851 4852 4853 + 4854 4855 4856 4857 4858 4859 + 4860 4861 4862 4863 4864 4865 + 4866 4867 4868 4869 4870 4871 + 4872 4873 4874 4875 4876 4877 + 4878 4879 4880 4881 4882 4883 + 4884 4885 4886 4887 4888 4889 + 4890 4891 4892 4893 4894 4895 + 4896 4897 4898 4899 4900 4901 + 4902 4903 4904 4905 4906 4907 + 4908 4909 4910 4911 4912 4913 + 4914 4915 4916 4917 4918 4919 + 4920 4921 4922 4923 4924 4925 + 4926 4927 4928 4929 4930 4931 + 4932 4933 4934 4935 4936 4937 + 4938 4939 4940 4941 4942 4943 + 4944 4945 4946 4947 4948 4949 + 4950 4951 4952 4953 4954 4955 + 4956 4957 4958 4959 4960 4961 + 4962 4963 4964 4965 4966 4967 + 4968 4969 4970 4971 4972 4973 + 4974 4975 4976 4977 4978 4979 + 4980 4981 4982 4983 4984 4985 + 4986 4987 4988 4989 4990 4991 + 4992 4993 4994 4995 4996 4997 + 4998 4999 5000 5001 5169 5171 + 5172 5173 5174 5175 5176 5177 + 5178 5179 5180 5181 5182 5183 + 5184 5185 5186 5187 5188 5189 + 5190 5191 5192 5193 5194 5195 + 5196 5197 5198 5199 5200 5201 + 5202 5203 5204 5205 5206 5207 + 5208 5209 5210 5211 5212 5213 + 5214 5215 5216 5217 5218 5219 + 5220 5221 5222 5223 5224 5225 + 5226 5227 5228 5229 5230 5231 + 5232 5233 5234 5235 5236 5237 + 5238 5239 5240 5241 5242 5243 + 5244 5245 5246 5247 5248 5249 + 5250 5251 5252 5253 5254 5255 + 5256 5257 5258 5259 5260 5261 + 5262 5263 5264 5265 5266 5267 + 5268 5269 5270 5271 5272 5273 + 5274 5275 5276 5277 5278 5279 + 5280 5281 5282 5283 5284 5285 + 5286 5287 5288 5289 5290 5291 + 5292 5293 5294 5295 5296 5297 + 5298 5299 5300 5301 5302 5303 + 5304 5305 5306 5307 5308 5309 + 5310 5311 5312 5313 5314 5315 + 5316 5317 5318 5319 5320 5321 + 5322 5323 5324 5325 5326 5327 + 5328 5329 5330 5331 5332 5333 + 5334 5335 5336 5337 5338 5339 + 5340 5341 5342 5510 5512 5513 + 5514 5515 5516 5517 5518 5519 + 5520 5521 5522 5523 5524 5525 + 5526 5527 5528 5529 5530 5531 + 5532 5533 5534 5535 5536 5537 + 5538 5539 5540 5541 5542 5543 + 5544 5545 5546 5547 5548 5549 + 5550 5551 5552 5553 5554 5555 + 5556 5557 5558 5559 5560 5561 + 5562 5563 5564 5565 5566 5567 + 5568 5569 5570 5571 5572 5573 + 5574 5575 5576 5577 5578 5579 + 5580 5581 5582 5583 5584 5585 + 5586 5587 5588 5589 5590 5591 + 5592 5593 5594 5595 5596 5597 + 5598 5599 5600 5601 5602 5603 + 5604 5605 5606 5607 5608 5609 + 5610 5611 5612 5613 5614 5615 + 5616 5617 5618 5619 5620 5621 + 5622 5623 5624 5625 5626 5627 + 5628 5629 5630 5631 5632 5633 + 5634 5635 5636 5637 5638 5639 + 5640 5641 5642 5643 5644 5645 + 5646 5647 5648 5649 5650 5651 + 5652 5653 5654 5655 5656 5657 + 5658 5659 5660 5661 5662 5663 + 5664 5665 5666 5667 5668 5669 + 5670 5671 5672 5673 5674 5675 + 5676 5677 5678 5679 5680 5681 + 5682 5683 5851 5853 5854 5855 + 5856 5857 5858 5859 5860 5861 + 5862 5863 5864 5865 5866 5867 + 5868 5869 5870 5871 5872 5873 + 5874 5875 5876 5877 5878 5879 + 5880 5881 5882 5883 5884 5885 + 5886 5887 5888 5889 5890 5891 + 5892 5893 5894 5895 5896 5897 + 5898 5899 5900 5901 5902 5903 + 5904 5905 5906 5907 5908 5909 + 5910 5911 5912 5913 5914 5915 + 5916 5917 5918 5919 5920 5921 + 5922 5923 5924 5925 5926 5927 + 5928 5929 5930 5931 5932 5933 + 5934 5935 5936 5937 5938 5939 + 5940 5941 5942 5943 5944 5945 + 5946 5947 5948 5949 5950 5951 + 5952 5953 5954 5955 5956 5957 + 5958 5959 5960 5961 5962 5963 + 5964 5965 5966 5967 5968 5969 + 5970 5971 5972 5973 5974 5975 + 5976 5977 5978 5979 5980 5981 + 5982 5983 5984 5985 5986 5987 + 5988 5989 5990 5991 5992 5993 + 5994 5995 5996 5997 5998 5999 + 6000 6001 6002 6003 6004 6005 + 6006 6007 6008 6009 6010 6011 + 6012 6013 6014 6015 6016 6017 + 6018 6019 6020 6021 6022 6023 + 6024 6192 6194 6195 6196 6197 + 6198 6199 6200 6201 6202 6203 + 6204 6205 6206 6207 6208 6209 + 6210 6211 6212 6213 6214 6215 + 6216 6217 6218 6219 6220 6221 + 6222 6223 6224 6225 6226 6227 + 6228 6229 6230 6231 6232 6233 + 6234 6235 6236 6237 6238 6239 + 6240 6241 6242 6243 6244 6245 + 6246 6247 6248 6249 6250 6251 + 6252 6253 6254 6255 6256 6257 + 6258 6259 6260 6261 6262 6263 + 6264 6265 6266 6267 6268 6269 + 6270 6271 6272 6273 6274 6275 + 6276 6277 6278 6279 6280 6281 + 6282 6283 6284 6285 6286 6287 + 6288 6289 6290 6291 6292 6293 + 6294 6295 6296 6297 6298 6299 + 6300 6301 6302 6303 6304 6305 + 6306 6307 6308 6309 6310 6311 + 6312 6313 6314 6315 6316 6317 + 6318 6319 6320 6321 6322 6323 + 6324 6325 6326 6327 6328 6329 + 6330 6331 6332 6333 6334 6335 + 6336 6337 6338 6339 6340 6341 + 6342 6343 6344 6345 6346 6347 + 6348 6349 6350 6351 6352 6353 + 6354 6355 6356 6357 6358 6359 + 6360 6361 6362 6363 6364 6365 + 6535 6538 6539 6540 6541 6542 + 6543 6544 6545 6546 6547 6548 + 6549 6550 6551 6552 6553 6554 + 6555 6556 6557 6558 6559 6560 + 6561 6562 6563 6564 6565 6566 + 6567 6568 6569 6570 6571 6572 + 6573 6574 6575 6576 6577 6578 + 6579 6580 6581 6582 6583 6584 + 6585 6586 6587 6588 6589 6590 + 6591 6592 6593 6594 6595 6596 + 6597 6598 6599 6600 6601 6602 + 6603 6604 6605 6606 6607 6608 + 6609 6610 6611 6612 6613 6614 + 6615 6616 6617 6618 6619 6620 + 6621 6622 6623 6624 6625 6626 + 6627 6628 6629 6630 6631 6632 + 6633 6634 6635 6636 6637 6638 + 6639 6640 6641 6642 6643 6644 + 6645 6646 6647 6648 6649 6650 + 6651 6652 6653 6654 6655 6656 + 6657 6658 6659 6660 6661 6662 + 6663 6664 6665 6666 6667 6668 + 6669 6670 6671 6672 6673 6674 + 6675 6676 6677 6678 6679 6680 + 6681 6682 6683 6684 6685 6686 + 6687 6688 6689 6690 6691 6692 + 6693 6694 6695 6696 6697 6698 + 6699 6700 6701 6702 6703 6704 + 6705 6706 6876 6879 6880 6881 + 6882 6883 6884 6885 6886 6887 + 6888 6889 6890 6891 6892 6893 + 6894 6895 6896 6897 6898 6899 + 6900 6901 6902 6903 6904 6905 + 6906 6907 6908 6909 6910 6911 + 6912 6913 6914 6915 6916 6917 + 6918 6919 6920 6921 6922 6923 + 6924 6925 6926 6927 6928 6929 + 6930 6931 6932 6933 6934 6935 + 6936 6937 6938 6939 6940 6941 + 6942 6943 6944 6945 6946 6947 + 6948 6949 6950 6951 6952 6953 + 6954 6955 6956 6957 6958 6959 + 6960 6961 6962 6963 6964 6965 + 6966 6967 6968 6969 6970 6971 + 6972 6973 6974 6975 6976 6977 + 6978 6979 6980 6981 6982 6983 + 6984 6985 6986 6987 6988 6989 + 6990 6991 6992 6993 6994 6995 + 6996 6997 6998 6999 7000 7001 + 7002 7003 7004 7005 7006 7007 + 7008 7009 7010 7011 7012 7013 + 7014 7015 7016 7017 7018 7019 + 7020 7021 7022 7023 7024 7025 + 7026 7027 7028 7029 7030 7031 + 7032 7033 7034 7035 7036 7037 + 7038 7039 7040 7041 7042 7043 + 7044 7045 7046 7047 7217 7220 + 7221 7222 7223 7224 7225 7226 + 7227 7228 7229 7230 7231 7232 + 7233 7234 7235 7236 7237 7238 + 7239 7240 7241 7242 7243 7244 + 7245 7246 7247 7248 7249 7250 + 7251 7252 7253 7254 7255 7256 + 7257 7258 7259 7260 7261 7262 + 7263 7264 7265 7266 7267 7268 + 7269 7270 7271 7272 7273 7274 + 7275 7276 7277 7278 7279 7280 + 7281 7282 7283 7284 7285 7286 + 7287 7288 7289 7290 7291 7292 + 7293 7294 7295 7296 7297 7298 + 7299 7300 7301 7302 7303 7304 + 7305 7306 7307 7308 7309 7310 + 7311 7312 7313 7314 7315 7316 + 7317 7318 7319 7320 7321 7322 + 7323 7324 7325 7326 7327 7328 + 7329 7330 7331 7332 7333 7334 + 7335 7336 7337 7338 7339 7340 + 7341 7342 7343 7344 7345 7346 + 7347 7348 7349 7350 7351 7352 + 7353 7354 7355 7356 7357 7358 + 7359 7360 7361 7362 7363 7364 + 7365 7366 7367 7368 7369 7370 + 7371 7372 7373 7374 7375 7376 + 7377 7378 7379 7380 7381 7382 + 7383 7384 7385 7386 7387 7388 + 7558 7561 7562 7563 7564 7565 + 7566 7567 7568 7569 7570 7571 + 7572 7573 7574 7575 7576 7577 + 7578 7579 7580 7581 7582 7583 + 7584 7585 7586 7587 7588 7589 + 7590 7591 7592 7593 7594 7595 + 7596 7597 7598 7599 7600 7601 + 7602 7603 7604 7605 7606 7607 + 7608 7609 7610 7611 7612 7613 + 7614 7615 7616 7617 7618 7619 + 7620 7621 7622 7623 7624 7625 + 7626 7627 7628 7629 7630 7631 + 7632 7633 7634 7635 7636 7637 + 7638 7639 7640 7641 7642 7643 + 7644 7645 7646 7647 7648 7649 + 7650 7651 7652 7653 7654 7655 + 7656 7657 7658 7659 7660 7661 + 7662 7663 7664 7665 7666 7667 + 7668 7669 7670 7671 7672 7673 + 7674 7675 7676 7677 7678 7679 + 7680 7681 7682 7683 7684 7685 + 7686 7687 7688 7689 7690 7691 + 7692 7693 7694 7695 7696 7697 + 7698 7699 7700 7701 7702 7703 + 7704 7705 7706 7707 7708 7709 + 7710 7711 7712 7713 7714 7715 + 7716 7717 7718 7719 7720 7721 + 7722 7723 7724 7725 7726 7727 + 7728 7729 7899 7902 7903 7904 + 7905 7906 7907 7908 7909 7910 + 7911 7912 7913 7914 7915 7916 + 7917 7918 7919 7920 7921 7922 + 7923 7924 7925 7926 7927 7928 + 7929 7930 7931 7932 7933 7934 + 7935 7936 7937 7938 7939 7940 + 7941 7942 7943 7944 7945 7946 + 7947 7948 7949 7950 7951 7952 + 7953 7954 7955 7956 7957 7958 + 7959 7960 7961 7962 7963 7964 + 7965 7966 7967 7968 7969 7970 + 7971 7972 7973 7974 7975 7976 + 7977 7978 7979 7980 7981 7982 + 7983 7984 7985 7986 7987 7988 + 7989 7990 7991 7992 7993 7994 + 7995 7996 7997 7998 7999 8000 + 8001 8002 8003 8004 8005 8006 + 8007 8008 8009 8010 8011 8012 + 8013 8014 8015 8016 8017 8018 + 8019 8020 8021 8022 8023 8024 + 8025 8026 8027 8028 8029 8030 + 8031 8032 8033 8034 8035 8036 + 8037 8038 8039 8040 8041 8042 + 8043 8044 8045 8046 8047 8048 + 8049 8050 8051 8052 8053 8054 + 8055 8056 8057 8058 8059 8060 + 8061 8062 8063 8064 8065 8066 + 8067 8068 8069 8070 8240 8243 + 8244 8245 8246 8247 8248 8249 + 8250 8251 8252 8253 8254 8255 + 8256 8257 8258 8259 8260 8261 + 8262 8263 8264 8265 8266 8267 + 8268 8269 8270 8271 8272 8273 + 8274 8275 8276 8277 8278 8279 + 8280 8281 8282 8283 8284 8285 + 8286 8287 8288 8289 8290 8291 + 8292 8293 8294 8295 8296 8297 + 8298 8299 8300 8301 8302 8303 + 8304 8305 8306 8307 8308 8309 + 8310 8311 8312 8313 8314 8315 + 8316 8317 8318 8319 8320 8321 + 8322 8323 8324 8325 8326 8327 + 8328 8329 8330 8331 8332 8333 + 8334 8335 8336 8337 8338 8339 + 8340 8341 8342 8343 8344 8345 + 8346 8347 8348 8349 8350 8351 + 8352 8353 8354 8355 8356 8357 + 8358 8359 8360 8361 8362 8363 + 8364 8365 8366 8367 8368 8369 + 8370 8371 8372 8373 8374 8375 + 8376 8377 8378 8379 8380 8381 + 8382 8383 8384 8385 8386 8387 + 8388 8389 8390 8391 8392 8393 + 8394 8395 8396 8397 8398 8399 + 8400 8401 8402 8403 8404 8405 + 8406 8407 8408 8409 8410 8411 + 8469 8470 8471 8472 8473 8474 + 8475 8476 8477 8478 8479 8480 + 8481 8482 8483 8484 8485 8486 + 8487 8488 8489 8490 8491 8492 + 8493 8494 8495 8496 8497 8498 + 8499 8500 8501 8502 8503 8504 + 8505 8506 8507 8508 8509 8510 + 8511 8512 8513 8514 8515 8516 + 8517 8518 8519 8520 8521 8522 + 8523 8524 8525 8528 8529 8531 + 8533 8535 8537 8539 8541 8543 + 8545 8547 8549 8551 8553 8555 + 8557 8559 8561 8563 8565 8567 + 8569 8571 8573 8575 284 740 + 1081 1422 1763 2103 2442 2783 + 3124 3465 3806 4147 4488 4829 + 5170 5511 5852 6193 6533 6537 + 6878 7219 7560 7901 8242 287 diff --git a/test/meshes/soufflet/dist_2/my_list00001.out b/test/meshes/soufflet/dist_2/my_list00001.out new file mode 100644 index 000000000..288aabf79 --- /dev/null +++ b/test/meshes/soufflet/dist_2/my_list00001.out @@ -0,0 +1,1465 @@ + 1 + 1438 + 26 + 1 2 3 4 5 6 + 7 8 9 10 11 12 + 13 14 15 16 17 18 + 19 20 21 22 23 24 + 25 26 27 28 29 30 + 31 32 33 34 35 36 + 37 38 39 40 41 42 + 43 44 45 46 47 48 + 49 50 51 52 53 54 + 55 56 57 58 116 117 + 118 119 120 121 122 123 + 124 125 126 127 128 129 + 130 131 132 133 134 135 + 136 137 138 139 140 141 + 142 143 144 145 146 147 + 148 149 150 151 152 153 + 154 155 156 157 158 159 + 160 161 162 163 164 165 + 166 167 168 169 170 171 + 172 173 231 232 233 234 + 235 236 237 238 239 240 + 241 242 243 244 245 246 + 247 248 249 250 251 252 + 253 254 255 256 257 258 + 259 260 261 262 263 264 + 265 266 267 268 269 270 + 271 272 273 274 275 276 + 277 278 279 280 281 282 + 283 284 285 286 287 288 + 346 347 348 349 350 351 + 352 353 354 355 356 357 + 358 359 360 361 362 363 + 364 365 366 367 368 369 + 370 371 372 373 374 375 + 376 377 378 379 380 381 + 382 383 384 385 386 387 + 388 389 390 391 392 393 + 394 395 396 397 398 399 + 400 401 402 403 461 462 + 463 464 465 466 467 468 + 469 470 471 472 473 474 + 475 476 477 478 479 480 + 481 482 483 484 485 486 + 487 488 489 490 491 492 + 493 494 495 496 497 498 + 499 500 501 502 503 504 + 505 506 507 508 509 510 + 511 512 513 514 515 516 + 517 518 576 577 578 579 + 580 581 582 583 584 585 + 586 587 588 589 590 591 + 592 593 594 595 596 597 + 598 599 600 601 602 603 + 604 605 606 607 608 609 + 610 611 612 613 614 615 + 616 617 618 619 620 621 + 622 623 624 625 626 627 + 628 629 630 631 632 633 + 691 692 693 694 695 696 + 697 698 699 700 701 702 + 703 704 705 706 707 708 + 709 710 711 712 713 714 + 715 716 717 718 719 720 + 721 722 723 724 725 726 + 727 728 729 730 731 732 + 733 734 735 736 737 738 + 739 740 741 742 743 744 + 745 746 747 806 807 808 + 809 810 811 812 813 814 + 815 816 817 818 819 820 + 821 822 823 824 825 826 + 827 828 829 830 831 832 + 833 834 835 836 837 838 + 839 840 841 842 843 844 + 845 846 847 848 849 850 + 851 852 853 854 855 856 + 857 858 859 860 861 862 + 921 922 923 924 925 926 + 927 928 929 930 931 932 + 933 934 935 936 937 938 + 939 940 941 942 943 944 + 945 946 947 948 949 950 + 951 952 953 954 955 956 + 957 958 959 960 961 962 + 963 964 965 966 967 968 + 969 970 971 972 973 974 + 975 976 977 1036 1037 1038 + 1039 1040 1041 1042 1043 1044 + 1045 1046 1047 1048 1049 1050 + 1051 1052 1053 1054 1055 1056 + 1057 1058 1059 1060 1061 1062 + 1063 1064 1065 1066 1067 1068 + 1069 1070 1071 1072 1073 1074 + 1075 1076 1077 1078 1079 1080 + 1081 1082 1083 1084 1085 1086 + 1087 1088 1089 1090 1091 1092 + 1151 1152 1153 1154 1155 1156 + 1157 1158 1159 1160 1161 1162 + 1163 1164 1165 1166 1167 1168 + 1169 1170 1171 1172 1173 1174 + 1175 1176 1177 1178 1179 1180 + 1181 1182 1183 1184 1185 1186 + 1187 1188 1189 1190 1191 1192 + 1193 1194 1195 1196 1197 1198 + 1199 1200 1201 1202 1203 1204 + 1205 1206 1207 1266 1267 1268 + 1269 1270 1271 1272 1273 1274 + 1275 1276 1277 1278 1279 1280 + 1281 1282 1283 1284 1285 1286 + 1287 1288 1289 1290 1291 1292 + 1293 1294 1295 1296 1297 1298 + 1299 1300 1301 1302 1303 1304 + 1305 1306 1307 1308 1309 1310 + 1311 1312 1313 1314 1315 1316 + 1317 1318 1319 1320 1321 1322 + 1381 1382 1383 1384 1385 1386 + 1387 1388 1389 1390 1391 1392 + 1393 1394 1395 1396 1397 1398 + 1399 1400 1401 1402 1403 1404 + 1405 1406 1407 1408 1409 1410 + 1411 1412 1413 1414 1415 1416 + 1417 1418 1419 1420 1421 1422 + 1423 1424 1425 1426 1427 1428 + 1429 1430 1431 1432 1433 1434 + 1435 1436 1437 1496 1497 1498 + 1499 1500 1501 1502 1503 1504 + 1505 1506 1507 1508 1509 1510 + 1511 1512 1513 1514 1515 1516 + 1517 1518 1519 1520 1521 1522 + 1523 1524 1525 1526 1527 1528 + 1529 1530 1531 1532 1533 1534 + 1535 1536 1537 1538 1539 1540 + 1541 1542 1543 1544 1545 1546 + 1547 1548 1549 1550 1551 1552 + 1611 1612 1613 1614 1615 1616 + 1617 1618 1619 1620 1621 1622 + 1623 1624 1625 1626 1627 1628 + 1629 1630 1631 1632 1633 1634 + 1635 1636 1637 1638 1639 1640 + 1641 1642 1643 1644 1645 1646 + 1647 1648 1649 1650 1651 1652 + 1653 1654 1655 1656 1657 1658 + 1659 1660 1661 1662 1663 1664 + 1665 1666 1667 1726 1727 1728 + 1729 1730 1731 1732 1733 1734 + 1735 1736 1737 1738 1739 1740 + 1741 1742 1743 1744 1745 1746 + 1747 1748 1749 1750 1751 1752 + 1753 1754 1755 1756 1757 1758 + 1759 1760 1761 1762 1763 1764 + 1765 1766 1767 1768 1769 1770 + 1771 1772 1773 1774 1775 1776 + 1777 1778 1779 1780 1781 1782 + 1841 1842 1843 1844 1845 1846 + 1847 1848 1849 1850 1851 1852 + 1853 1854 1855 1856 1857 1858 + 1859 1860 1861 1862 1863 1864 + 1865 1866 1867 1868 1869 1870 + 1871 1872 1873 1874 1875 1876 + 1877 1878 1879 1880 1881 1882 + 1883 1884 1885 1886 1887 1888 + 1889 1890 1891 1892 1893 1894 + 1895 1896 1897 1956 1957 1958 + 1959 1960 1961 1962 1963 1964 + 1965 1966 1967 1968 1969 1970 + 1971 1972 1973 1974 1975 1976 + 1977 1978 1979 1980 1981 1982 + 1983 1984 1985 1986 1987 1988 + 1989 1990 1991 1992 1993 1994 + 1995 1996 1997 1998 1999 2000 + 2001 2002 2003 2004 2005 2006 + 2007 2008 2009 2010 2011 2012 + 2071 2072 2073 2074 2075 2076 + 2077 2078 2079 2080 2081 2082 + 2083 2084 2085 2086 2087 2088 + 2089 2090 2091 2092 2093 2094 + 2095 2096 2097 2098 2099 2100 + 2101 2102 2103 2104 2105 2106 + 2107 2108 2109 2110 2111 2112 + 2113 2114 2115 2116 2117 2118 + 2119 2120 2121 2122 2123 2124 + 2125 2126 2127 2128 2186 2187 + 2188 2189 2190 2191 2192 2193 + 2194 2195 2196 2197 2198 2199 + 2200 2201 2202 2203 2204 2205 + 2206 2207 2208 2209 2210 2211 + 2212 2213 2214 2215 2216 2217 + 2218 2219 2220 2221 2222 2223 + 2224 2225 2226 2227 2228 2229 + 2230 2231 2232 2233 2234 2235 + 2236 2237 2238 2239 2240 2241 + 2242 2243 2301 2302 2303 2304 + 2305 2306 2307 2308 2309 2310 + 2311 2312 2313 2314 2315 2316 + 2317 2318 2319 2320 2321 2322 + 2323 2324 2325 2326 2327 2328 + 2329 2330 2331 2332 2333 2334 + 2335 2336 2337 2338 2339 2340 + 2341 2342 2343 2344 2345 2346 + 2347 2348 2349 2350 2351 2352 + 2353 2354 2355 2356 2357 2358 + 2416 2417 2418 2419 2420 2421 + 2422 2423 2424 2425 2426 2427 + 2428 2429 2430 2431 2432 2433 + 2434 2435 2436 2437 2438 2439 + 2440 2441 2442 2443 2444 2445 + 2446 2447 2448 2449 2450 2451 + 2452 2453 2454 2455 2456 2457 + 2458 2459 2460 2461 2462 2463 + 2464 2465 2466 2467 2468 2469 + 2470 2471 2472 2473 2531 2532 + 2533 2534 2535 2536 2537 2538 + 2539 2540 2541 2542 2543 2544 + 2545 2546 2547 2548 2549 2550 + 2551 2552 2553 2554 2555 2556 + 2557 2558 2559 2560 2561 2562 + 2563 2564 2565 2566 2567 2568 + 2569 2570 2571 2572 2573 2574 + 2575 2576 2577 2578 2579 2580 + 2581 2582 2583 2584 2585 2586 + 2587 2588 2646 2647 2648 2649 + 2650 2651 2652 2653 2654 2655 + 2656 2657 2658 2659 2660 2661 + 2662 2663 2664 2665 2666 2667 + 2668 2669 2670 2671 2672 2673 + 2674 2675 2676 2677 2678 2679 + 2680 2681 2682 2683 2684 2685 + 2686 2687 2688 2689 2690 2691 + 2692 2693 2694 2695 2696 2697 + 2698 2699 2700 2701 2702 2703 + 2761 2762 2763 2764 2765 2766 + 2767 2768 2769 2770 2771 2772 + 2773 2774 2775 2776 2777 2778 + 2779 2780 2781 2782 2783 2784 + 2785 2786 2787 2788 2789 2790 + 2791 2792 2793 2794 2795 2796 + 2797 2798 2799 2800 2801 2802 + 2803 2804 2805 2806 2807 2808 + 2809 2810 2811 2812 2813 2814 + 2815 2816 2817 2818 59 174 + 289 404 519 634 748 749 + 863 978 1093 1208 1323 1438 + 1553 1668 1783 1898 2013 2129 + 2244 2359 2474 2589 2704 2819 + 2877 + 26 + 26 + 1 2 3 4 5 6 + 7 8 9 10 11 12 + 13 14 15 16 17 18 + 19 20 21 22 23 24 + 25 26 27 28 29 30 + 31 32 33 34 35 36 + 37 38 39 40 41 42 + 43 44 45 46 47 48 + 49 50 51 52 53 54 + 55 56 57 58 115 116 + 117 118 119 120 121 122 + 123 124 125 126 127 128 + 129 130 131 132 133 134 + 135 136 137 138 139 140 + 141 142 143 144 145 146 + 147 148 149 150 151 152 + 153 154 155 156 157 158 + 159 160 161 162 163 164 + 165 166 167 168 169 170 + 171 172 229 230 231 232 + 233 234 235 236 237 238 + 239 240 241 242 243 244 + 245 246 247 248 249 250 + 251 252 253 254 255 256 + 257 258 259 260 261 262 + 263 264 265 266 267 268 + 269 270 271 272 273 274 + 275 276 277 278 279 280 + 281 282 283 284 285 286 + 343 344 345 346 347 348 + 349 350 351 352 353 354 + 355 356 357 358 359 360 + 361 362 363 364 365 366 + 367 368 369 370 371 372 + 373 374 375 376 377 378 + 379 380 381 382 383 384 + 385 386 387 388 389 390 + 391 392 393 394 395 396 + 397 398 399 400 457 458 + 459 460 461 462 463 464 + 465 466 467 468 469 470 + 471 472 473 474 475 476 + 477 478 479 480 481 482 + 483 484 485 486 487 488 + 489 490 491 492 493 494 + 495 496 497 498 499 500 + 501 502 503 504 505 506 + 507 508 509 510 511 512 + 513 514 571 572 573 574 + 575 576 577 578 579 580 + 581 582 583 584 585 586 + 587 588 589 590 591 592 + 593 594 595 596 597 598 + 599 600 601 602 603 604 + 605 606 607 608 609 610 + 611 612 613 614 615 616 + 617 618 619 620 621 622 + 623 624 625 626 627 628 + 685 686 687 688 689 690 + 691 692 693 694 695 696 + 697 698 699 700 701 702 + 703 704 705 706 707 708 + 709 710 711 712 713 714 + 715 716 717 718 719 720 + 721 722 723 724 725 726 + 727 728 729 730 731 732 + 733 734 735 736 737 738 + 739 740 741 742 799 800 + 801 802 803 804 805 806 + 807 808 809 810 811 812 + 813 814 815 816 817 818 + 819 820 821 822 823 824 + 825 826 827 828 829 830 + 831 832 833 834 835 836 + 837 838 839 840 841 842 + 843 844 845 846 847 848 + 849 850 851 852 853 854 + 855 856 913 914 915 916 + 917 918 919 920 921 922 + 923 924 925 926 927 928 + 929 930 931 932 933 934 + 935 936 937 938 939 940 + 941 942 943 944 945 946 + 947 948 949 950 951 952 + 953 954 955 956 957 958 + 959 960 961 962 963 964 + 965 966 967 968 969 970 + 1027 1028 1029 1030 1031 1032 + 1033 1034 1035 1036 1037 1038 + 1039 1040 1041 1042 1043 1044 + 1045 1046 1047 1048 1049 1050 + 1051 1052 1053 1054 1055 1056 + 1057 1058 1059 1060 1061 1062 + 1063 1064 1065 1066 1067 1068 + 1069 1070 1071 1072 1073 1074 + 1075 1076 1077 1078 1079 1080 + 1081 1082 1083 1084 1141 1142 + 1143 1144 1145 1146 1147 1148 + 1149 1150 1151 1152 1153 1154 + 1155 1156 1157 1158 1159 1160 + 1161 1162 1163 1164 1165 1166 + 1167 1168 1169 1170 1171 1172 + 1173 1174 1175 1176 1177 1178 + 1179 1180 1181 1182 1183 1184 + 1185 1186 1187 1188 1189 1190 + 1191 1192 1193 1194 1195 1196 + 1197 1198 1255 1256 1257 1258 + 1259 1260 1261 1262 1263 1264 + 1265 1266 1267 1268 1269 1270 + 1271 1272 1273 1274 1275 1276 + 1277 1278 1279 1280 1281 1282 + 1283 1284 1285 1286 1287 1288 + 1289 1290 1291 1292 1293 1294 + 1295 1296 1297 1298 1299 1300 + 1301 1302 1303 1304 1305 1306 + 1307 1308 1309 1310 1311 1312 + 1369 1370 1371 1372 1373 1374 + 1375 1376 1377 1378 1379 1380 + 1381 1382 1383 1384 1385 1386 + 1387 1388 1389 1390 1391 1392 + 1393 1394 1395 1396 1397 1398 + 1399 1400 1401 1402 1403 1404 + 1405 1406 1407 1408 1409 1410 + 1411 1412 1413 1414 1415 1416 + 1417 1418 1419 1420 1421 1422 + 1423 1424 1425 1426 1483 1484 + 1485 1486 1487 1488 1489 1490 + 1491 1492 1493 1494 1495 1496 + 1497 1498 1499 1500 1501 1502 + 1503 1504 1505 1506 1507 1508 + 1509 1510 1511 1512 1513 1514 + 1515 1516 1517 1518 1519 1520 + 1521 1522 1523 1524 1525 1526 + 1527 1528 1529 1530 1531 1532 + 1533 1534 1535 1536 1537 1538 + 1597 1598 1599 1600 1601 1602 + 1603 1604 1605 1606 1607 1608 + 1609 1610 1611 1612 1613 1614 + 1615 1616 1617 1618 1619 1620 + 1621 1622 1623 1624 1625 1626 + 1627 1628 1629 1630 1631 1632 + 1633 1634 1635 1636 1637 1638 + 1639 1640 1641 1642 1643 1644 + 1645 1646 1647 1648 1649 1650 + 1651 1652 1653 1654 1711 1712 + 1713 1714 1715 1716 1717 1718 + 1719 1720 1721 1722 1723 1724 + 1725 1726 1727 1728 1729 1730 + 1731 1732 1733 1734 1735 1736 + 1737 1738 1739 1740 1741 1742 + 1743 1744 1745 1746 1747 1748 + 1749 1750 1751 1752 1753 1754 + 1755 1756 1757 1758 1759 1760 + 1761 1762 1763 1764 1765 1766 + 1825 1826 1827 1828 1829 1830 + 1831 1832 1833 1834 1835 1836 + 1837 1838 1839 1840 1841 1842 + 1843 1844 1845 1846 1847 1848 + 1849 1850 1851 1852 1853 1854 + 1855 1856 1857 1858 1859 1860 + 1861 1862 1863 1864 1865 1866 + 1867 1868 1869 1870 1871 1872 + 1873 1874 1875 1876 1877 1878 + 1879 1880 1881 1882 1939 1940 + 1941 1942 1943 1944 1945 1946 + 1947 1948 1949 1950 1951 1952 + 1953 1954 1955 1956 1957 1958 + 1959 1960 1961 1962 1963 1964 + 1965 1966 1967 1968 1969 1970 + 1971 1972 1973 1974 1975 1976 + 1977 1978 1979 1980 1981 1982 + 1983 1984 1985 1986 1987 1988 + 1989 1990 1991 1992 1993 1994 + 2053 2054 2055 2056 2057 2058 + 2059 2060 2061 2062 2063 2064 + 2065 2066 2067 2068 2069 2070 + 2071 2072 2073 2074 2075 2076 + 2077 2078 2079 2080 2081 2082 + 2083 2084 2085 2086 2087 2088 + 2089 2090 2091 2092 2093 2094 + 2095 2096 2097 2098 2099 2100 + 2101 2102 2103 2104 2105 2106 + 2107 2108 2109 2110 2167 2168 + 2169 2170 2171 2172 2173 2174 + 2175 2176 2177 2178 2179 2180 + 2181 2182 2183 2184 2185 2186 + 2187 2188 2189 2190 2191 2192 + 2193 2194 2195 2196 2197 2198 + 2199 2200 2201 2202 2203 2204 + 2205 2206 2207 2208 2209 2210 + 2211 2212 2213 2214 2215 2216 + 2217 2218 2219 2220 2221 2222 + 2281 2282 2283 2284 2285 2286 + 2287 2288 2289 2290 2291 2292 + 2293 2294 2295 2296 2297 2298 + 2299 2300 2301 2302 2303 2304 + 2305 2306 2307 2308 2309 2310 + 2311 2312 2313 2314 2315 2316 + 2317 2318 2319 2320 2321 2322 + 2323 2324 2325 2326 2327 2328 + 2329 2330 2331 2332 2333 2334 + 2335 2336 2337 2338 2395 2396 + 2397 2398 2399 2400 2401 2402 + 2403 2404 2405 2406 2407 2408 + 2409 2410 2411 2412 2413 2414 + 2415 2416 2417 2418 2419 2420 + 2421 2422 2423 2424 2425 2426 + 2427 2428 2429 2430 2431 2432 + 2433 2434 2435 2436 2437 2438 + 2439 2440 2441 2442 2443 2444 + 2445 2446 2447 2448 2449 2450 + 2509 2510 2511 2512 2513 2514 + 2515 2516 2517 2518 2519 2520 + 2521 2522 2523 2524 2525 2526 + 2527 2528 2529 2530 2531 2532 + 2533 2534 2535 2536 2537 2538 + 2539 2540 2541 2542 2543 2544 + 2545 2546 2547 2548 2549 2550 + 2551 2552 2553 2554 2555 2556 + 2557 2558 2559 2560 2561 2562 + 2563 2564 2565 2566 2623 2624 + 2625 2626 2627 2628 2629 2630 + 2631 2632 2633 2634 2635 2636 + 2637 2638 2639 2640 2641 2642 + 2643 2644 2645 2646 2647 2648 + 2649 2650 2651 2652 2653 2654 + 2655 2656 2657 2658 2659 2660 + 2661 2662 2663 2664 2665 2666 + 2667 2668 2669 2670 2671 2672 + 2673 2674 2675 2676 2677 2678 + 2737 2738 2739 2740 2741 2742 + 2743 2744 2745 2746 2747 2748 + 2749 2750 2751 2752 2753 2754 + 2755 2756 2757 2758 2759 2760 + 2761 2762 2763 2764 2765 2766 + 2767 2768 2769 2770 2771 2772 + 2773 2774 2775 2776 2777 2778 + 2779 2780 2781 2782 2783 2784 + 2785 2786 2787 2788 2789 2790 + 2791 2792 2793 2794 2851 2852 + 2853 2854 2855 2856 2857 2858 + 2859 2860 2861 2862 2863 2864 + 2865 2866 2867 2868 2869 2870 + 2871 2872 2873 2874 2875 2876 + 2877 2878 2879 2880 2881 2882 + 2883 2884 2885 2886 2887 2888 + 2889 2890 2891 2892 2893 2894 + 2895 2896 2897 2898 2899 2900 + 2901 2902 2903 2904 2905 2906 + 2965 2966 2967 2968 2969 2970 + 2971 2972 2973 2974 2975 2976 + 2977 2978 2979 2980 2981 2982 + 2983 2984 2985 2986 2987 2988 + 2989 2990 2991 2992 2993 2994 + 2995 2996 2997 2998 2999 3000 + 3001 3002 3003 3004 3005 3006 + 3007 3008 3009 3010 3011 3012 + 3013 3014 3015 3016 3017 3018 + 3019 3020 3021 3022 3079 3080 + 3081 3082 3083 3084 3085 3086 + 3087 3088 3089 3090 3091 3092 + 3093 3094 3095 3096 3097 3098 + 3099 3100 3101 3102 3103 3104 + 3105 3106 3107 3108 3109 3110 + 3111 3112 3113 3114 3115 3116 + 3117 3118 3119 3120 3121 3122 + 3123 3124 3125 3126 3127 3128 + 3129 3130 3131 3132 3133 3134 + 3193 3194 3195 3196 3197 3198 + 3199 3200 3201 3202 3203 3204 + 3205 3206 3207 3208 3209 3210 + 3211 3212 3213 3214 3215 3216 + 3217 3218 3219 3220 3221 3222 + 3223 3224 3225 3226 3227 3228 + 3229 3230 3231 3232 3233 3234 + 3235 3236 3237 3238 3239 3240 + 3241 3242 3243 3244 3245 3246 + 3247 3248 3249 3250 3307 3308 + 3309 3310 3311 3312 3313 3314 + 3315 3316 3317 3318 3319 3320 + 3321 3322 3323 3324 3325 3326 + 3327 3328 3329 3330 3331 3332 + 3333 3334 3335 3336 3337 3338 + 3339 3340 3341 3342 3343 3344 + 3345 3346 3347 3348 3349 3350 + 3351 3352 3353 3354 3355 3356 + 3357 3358 3359 3360 3361 3362 + 3421 3422 3423 3424 3425 3426 + 3427 3428 3429 3430 3431 3432 + 3433 3434 3435 3436 3437 3438 + 3439 3440 3441 3442 3443 3444 + 3445 3446 3447 3448 3449 3450 + 3451 3452 3453 3454 3455 3456 + 3457 3458 3459 3460 3461 3462 + 3463 3464 3465 3466 3467 3468 + 3469 3470 3471 3472 3473 3474 + 3475 3476 3477 3478 3535 3536 + 3537 3538 3539 3540 3541 3542 + 3543 3544 3545 3546 3547 3548 + 3549 3550 3551 3552 3553 3554 + 3555 3556 3557 3558 3559 3560 + 3561 3562 3563 3564 3565 3566 + 3567 3568 3569 3570 3571 3572 + 3573 3574 3575 3576 3577 3578 + 3579 3580 3581 3582 3583 3584 + 3585 3586 3587 3588 3589 3590 + 3649 3650 3651 3652 3653 3654 + 3655 3656 3657 3658 3659 3660 + 3661 3662 3663 3664 3665 3666 + 3667 3668 3669 3670 3671 3672 + 3673 3674 3675 3676 3677 3678 + 3679 3680 3681 3682 3683 3684 + 3685 3686 3687 3688 3689 3690 + 3691 3692 3693 3694 3695 3696 + 3697 3698 3699 3700 3701 3702 + 3703 3704 3705 3706 3763 3764 + 3765 3766 3767 3768 3769 3770 + 3771 3772 3773 3774 3775 3776 + 3777 3778 3779 3780 3781 3782 + 3783 3784 3785 3786 3787 3788 + 3789 3790 3791 3792 3793 3794 + 3795 3796 3797 3798 3799 3800 + 3801 3802 3803 3804 3805 3806 + 3807 3808 3809 3810 3811 3812 + 3813 3814 3815 3816 3817 3818 + 3877 3878 3879 3880 3881 3882 + 3883 3884 3885 3886 3887 3888 + 3889 3890 3891 3892 3893 3894 + 3895 3896 3897 3898 3899 3900 + 3901 3902 3903 3904 3905 3906 + 3907 3908 3909 3910 3911 3912 + 3913 3914 3915 3916 3917 3918 + 3919 3920 3921 3922 3923 3924 + 3925 3926 3927 3928 3929 3930 + 3931 3932 3933 3934 3991 3992 + 3993 3994 3995 3996 3997 3998 + 3999 4000 4001 4002 4003 4004 + 4005 4006 4007 4008 4009 4010 + 4011 4012 4013 4014 4015 4016 + 4017 4018 4019 4020 4021 4022 + 4023 4024 4025 4026 4027 4028 + 4029 4030 4031 4032 4033 4034 + 4035 4036 4037 4038 4039 4040 + 4041 4042 4043 4044 4045 4046 + 4048 4105 4106 4107 4108 4109 + 4110 4111 4112 4113 4114 4115 + 4116 4117 4118 4119 4120 4121 + 4122 4123 4124 4125 4126 4127 + 4128 4129 4130 4131 4132 4133 + 4134 4135 4136 4137 4138 4139 + 4140 4141 4142 4143 4144 4145 + 4146 4147 4148 4149 4150 4151 + 4152 4153 4154 4155 4156 4157 + 4158 4159 4160 4161 4162 4219 + 4220 4221 4222 4223 4224 4225 + 4226 4227 4228 4229 4230 4231 + 4232 4233 4234 4235 4236 4237 + 4238 4239 4240 4241 4242 4243 + 4244 4245 4246 4247 4248 4249 + 4250 4251 4252 4253 4254 4255 + 4256 4257 4258 4259 4260 4261 + 4262 4263 4264 4265 4266 4267 + 4268 4269 4270 4271 4272 4273 + 4274 4275 4276 4333 4334 4335 + 4336 4337 4338 4339 4340 4341 + 4342 4343 4344 4345 4346 4347 + 4348 4349 4350 4351 4352 4353 + 4354 4355 4356 4357 4358 4359 + 4360 4361 4362 4363 4364 4365 + 4366 4367 4368 4369 4370 4371 + 4372 4373 4374 4375 4376 4377 + 4378 4379 4380 4381 4382 4383 + 4384 4385 4386 4387 4388 4389 + 4390 4447 4448 4449 4450 4451 + 4452 4453 4454 4455 4456 4457 + 4458 4459 4460 4461 4462 4463 + 4464 4465 4466 4467 4468 4469 + 4470 4471 4472 4473 4474 4475 + 4476 4477 4478 4479 4480 4481 + 4482 4483 4484 4485 4486 4487 + 4488 4489 4490 4491 4492 4493 + 4494 4495 4496 4497 4498 4499 + 4500 4501 4502 4503 4504 4561 + 4562 4563 4564 4565 4566 4567 + 4568 4569 4570 4571 4572 4573 + 4574 4575 4576 4577 4578 4579 + 4580 4581 4582 4583 4584 4585 + 4586 4587 4588 4589 4590 4591 + 4592 4593 4594 4595 4596 4597 + 4598 4599 4600 4601 4602 4603 + 4604 4605 4606 4607 4608 4609 + 4610 4611 4612 4613 4614 4615 + 4616 4617 4618 4675 4676 4677 + 4678 4679 4680 4681 4682 4683 + 4684 4685 4686 4687 4688 4689 + 4690 4691 4692 4693 4694 4695 + 4696 4697 4698 4699 4700 4701 + 4702 4703 4704 4705 4706 4707 + 4708 4709 4710 4711 4712 4713 + 4714 4715 4716 4717 4718 4719 + 4720 4721 4722 4723 4724 4725 + 4726 4727 4728 4729 4730 4731 + 4732 4789 4790 4791 4792 4793 + 4794 4795 4796 4797 4798 4799 + 4800 4801 4802 4803 4804 4805 + 4806 4807 4808 4809 4810 4811 + 4812 4813 4814 4815 4816 4817 + 4818 4819 4820 4821 4822 4823 + 4824 4825 4826 4827 4828 4829 + 4830 4831 4832 4833 4834 4835 + 4836 4837 4838 4839 4840 4841 + 4842 4843 4844 4845 4846 4903 + 4904 4905 4906 4907 4908 4909 + 4910 4911 4912 4913 4914 4915 + 4916 4917 4918 4919 4920 4921 + 4922 4923 4924 4925 4926 4927 + 4928 4929 4930 4931 4932 4933 + 4934 4935 4936 4937 4938 4939 + 4940 4941 4942 4943 4944 4945 + 4946 4947 4948 4949 4950 4951 + 4952 4953 4954 4955 4956 4957 + 4958 4959 4960 5017 5018 5019 + 5020 5021 5022 5023 5024 5025 + 5026 5027 5028 5029 5030 5031 + 5032 5033 5034 5035 5036 5037 + 5038 5039 5040 5041 5042 5043 + 5044 5045 5046 5047 5048 5049 + 5050 5051 5052 5053 5054 5055 + 5056 5057 5058 5059 5060 5061 + 5062 5063 5064 5065 5066 5067 + 5068 5069 5070 5071 5072 5073 + 5074 5131 5132 5133 5134 5135 + 5136 5137 5138 5139 5140 5141 + 5142 5143 5144 5145 5146 5147 + 5148 5149 5150 5151 5152 5153 + 5154 5155 5156 5157 5158 5159 + 5160 5161 5162 5163 5164 5165 + 5166 5167 5168 5169 5170 5171 + 5172 5173 5174 5175 5176 5177 + 5178 5179 5180 5181 5182 5183 + 5184 5185 5186 5187 5188 5245 + 5246 5247 5248 5249 5250 5251 + 5252 5253 5254 5255 5256 5257 + 5258 5259 5260 5261 5262 5263 + 5264 5265 5266 5267 5268 5269 + 5270 5271 5272 5273 5274 5275 + 5276 5277 5278 5279 5280 5281 + 5282 5283 5284 5285 5286 5287 + 5288 5289 5290 5291 5292 5293 + 5294 5295 5296 5297 5298 5299 + 5300 5301 5302 5359 5360 5361 + 5362 5363 5364 5365 5366 5367 + 5368 5369 5370 5371 5372 5373 + 5374 5375 5376 5377 5378 5379 + 5380 5381 5382 5383 5384 5385 + 5386 5387 5388 5389 5390 5391 + 5392 5393 5394 5395 5396 5397 + 5398 5399 5400 5401 5402 5403 + 5404 5405 5406 5407 5408 5409 + 5410 5411 5412 5413 5414 5415 + 5416 5473 5474 5475 5476 5477 + 5478 5479 5480 5481 5482 5483 + 5484 5485 5486 5487 5488 5489 + 5490 5491 5492 5493 5494 5495 + 5496 5497 5498 5499 5500 5501 + 5502 5503 5504 5505 5506 5507 + 5508 5509 5510 5511 5512 5513 + 5514 5515 5516 5517 5518 5519 + 5520 5521 5522 5523 5524 5525 + 5526 5527 5528 5529 5530 5587 + 5588 5589 5590 5591 5592 5593 + 5594 5595 5596 5597 5598 5599 + 5600 5601 5602 5603 5604 5605 + 5606 5607 5608 5609 5610 5611 + 5612 5613 5614 5615 5616 5617 + 5618 5619 5620 5621 5622 5623 + 5624 5625 5626 5627 5628 5629 + 5630 5631 5632 5633 5634 5635 + 5636 5637 5638 5639 5640 5641 + 5642 5643 5644 59 287 515 + 743 971 1199 1539 1540 1768 + 1996 2224 2452 2680 2908 3136 + 3364 3592 3820 4047 4163 4391 + 4619 4847 5075 5303 5531 60 + 288 516 744 972 1200 1427 + 1767 1995 2223 2451 2679 2907 + 3135 3363 3591 3819 3935 3936 + 4164 4392 4620 4848 5076 5304 + 5532 + 4315 + 26 + 1 2 3 4 5 6 + 7 8 9 10 11 12 + 13 14 15 16 17 18 + 19 20 21 22 23 24 + 25 26 27 28 29 30 + 31 32 33 34 35 36 + 37 38 39 40 41 42 + 43 44 45 46 47 48 + 49 50 51 52 53 54 + 55 56 57 58 59 60 + 61 62 63 64 65 66 + 67 68 69 70 71 72 + 73 74 75 76 77 78 + 79 80 81 82 83 84 + 85 86 87 88 89 90 + 91 92 93 94 95 96 + 97 98 99 100 101 102 + 103 104 105 106 107 108 + 109 110 111 112 113 114 + 115 116 117 118 119 120 + 121 122 123 124 125 126 + 127 128 129 130 131 132 + 133 134 135 136 137 138 + 139 140 141 142 143 144 + 145 146 147 148 149 150 + 151 152 153 154 155 156 + 157 158 159 160 161 162 + 163 164 165 166 167 168 + 169 170 171 172 173 174 + 175 176 177 178 179 180 + 181 182 183 184 185 186 + 187 188 189 190 191 192 + 193 194 195 196 197 198 + 199 200 201 202 203 204 + 205 206 207 208 209 210 + 211 212 213 214 215 216 + 217 218 219 220 221 222 + 223 224 225 226 227 228 + 229 230 231 232 233 234 + 235 236 237 238 239 240 + 241 242 243 244 245 246 + 247 248 249 250 251 252 + 253 254 255 256 257 258 + 259 260 261 262 263 264 + 265 266 267 268 269 270 + 271 272 273 274 275 276 + 277 278 279 280 281 282 + 283 284 285 286 287 292 + 569 570 571 572 573 574 + 575 576 577 578 579 580 + 581 582 583 584 585 586 + 587 588 589 590 591 592 + 593 594 595 596 597 598 + 599 600 601 602 603 604 + 605 606 607 608 609 610 + 611 612 613 614 615 616 + 617 618 619 620 621 622 + 623 624 625 626 627 628 + 629 630 631 632 633 634 + 635 636 637 638 639 640 + 641 642 643 644 645 646 + 647 648 649 650 651 652 + 653 654 655 656 657 658 + 659 660 661 662 663 664 + 665 666 667 668 669 670 + 671 672 673 674 675 676 + 677 678 679 680 681 682 + 683 684 685 686 687 688 + 689 690 691 692 693 694 + 695 696 697 698 699 700 + 701 702 703 704 705 706 + 707 708 709 710 711 712 + 713 714 715 716 717 718 + 719 720 721 722 723 724 + 725 726 727 728 729 730 + 731 732 733 734 735 736 + 737 738 739 740 741 910 + 911 912 913 914 915 916 + 917 918 919 920 921 922 + 923 924 925 926 927 928 + 929 930 931 932 933 934 + 935 936 937 938 939 940 + 941 942 943 944 945 946 + 947 948 949 950 951 952 + 953 954 955 956 957 958 + 959 960 961 962 963 964 + 965 966 967 968 969 970 + 971 972 973 974 975 976 + 977 978 979 980 981 982 + 983 984 985 986 987 988 + 989 990 991 992 993 994 + 995 996 997 998 999 1000 + 1001 1002 1003 1004 1005 1006 + 1007 1008 1009 1010 1011 1012 + 1013 1014 1015 1016 1017 1018 + 1019 1020 1021 1022 1023 1024 + 1025 1026 1027 1028 1029 1030 + 1031 1032 1033 1034 1035 1036 + 1037 1038 1039 1040 1041 1042 + 1043 1044 1045 1046 1047 1048 + 1049 1050 1051 1052 1053 1054 + 1055 1056 1057 1058 1059 1060 + 1061 1062 1063 1064 1065 1066 + 1067 1068 1069 1070 1071 1072 + 1073 1074 1075 1076 1077 1078 + 1079 1080 1081 1082 1251 1252 + 1253 1254 1255 1256 1257 1258 + 1259 1260 1261 1262 1263 1264 + 1265 1266 1267 1268 1269 1270 + 1271 1272 1273 1274 1275 1276 + 1277 1278 1279 1280 1281 1282 + 1283 1284 1285 1286 1287 1288 + 1289 1290 1291 1292 1293 1294 + 1295 1296 1297 1298 1299 1300 + 1301 1302 1303 1304 1305 1306 + 1307 1308 1309 1310 1311 1312 + 1313 1314 1315 1316 1317 1318 + 1319 1320 1321 1322 1323 1324 + 1325 1326 1327 1328 1329 1330 + 1331 1332 1333 1334 1335 1336 + 1337 1338 1339 1340 1341 1342 + 1343 1344 1345 1346 1347 1348 + 1349 1350 1351 1352 1353 1354 + 1355 1356 1357 1358 1359 1360 + 1361 1362 1363 1364 1365 1366 + 1367 1368 1369 1370 1371 1372 + 1373 1374 1375 1376 1377 1378 + 1379 1380 1381 1382 1383 1384 + 1385 1386 1387 1388 1389 1390 + 1391 1392 1393 1394 1395 1396 + 1397 1398 1399 1400 1401 1402 + 1403 1404 1405 1406 1407 1408 + 1409 1410 1411 1412 1413 1414 + 1415 1416 1417 1418 1419 1420 + 1421 1422 1423 1592 1593 1594 + 1595 1596 1597 1598 1599 1600 + 1601 1602 1603 1604 1605 1606 + 1607 1608 1609 1610 1611 1612 + 1613 1614 1615 1616 1617 1618 + 1619 1620 1621 1622 1623 1624 + 1625 1626 1627 1628 1629 1630 + 1631 1632 1633 1634 1635 1636 + 1637 1638 1639 1640 1641 1642 + 1643 1644 1645 1646 1647 1648 + 1649 1650 1651 1652 1653 1654 + 1655 1656 1657 1658 1659 1660 + 1661 1662 1663 1664 1665 1666 + 1667 1668 1669 1670 1671 1672 + 1673 1674 1675 1676 1677 1678 + 1679 1680 1681 1682 1683 1684 + 1685 1686 1687 1688 1689 1690 + 1691 1692 1693 1694 1695 1696 + 1697 1698 1699 1700 1701 1702 + 1703 1704 1705 1706 1707 1708 + 1709 1710 1711 1712 1713 1714 + 1715 1716 1717 1718 1719 1720 + 1721 1722 1723 1724 1725 1726 + 1727 1728 1729 1730 1731 1732 + 1733 1734 1735 1736 1737 1738 + 1739 1740 1741 1742 1743 1744 + 1745 1746 1747 1748 1749 1750 + 1751 1752 1753 1754 1755 1756 + 1757 1758 1759 1760 1761 1762 + 1763 1764 1933 1934 1935 1936 + 1937 1938 1939 1940 1941 1942 + 1943 1944 1945 1946 1947 1948 + 1949 1950 1951 1952 1953 1954 + 1955 1956 1957 1958 1959 1960 + 1961 1962 1963 1964 1965 1966 + 1967 1968 1969 1970 1971 1972 + 1973 1974 1975 1976 1977 1978 + 1979 1980 1981 1982 1983 1984 + 1985 1986 1987 1988 1989 1990 + 1991 1992 1993 1994 1995 1996 + 1997 1998 1999 2000 2001 2002 + 2003 2004 2005 2006 2007 2008 + 2009 2010 2011 2012 2013 2014 + 2015 2016 2017 2018 2019 2020 + 2021 2022 2023 2024 2025 2026 + 2027 2028 2029 2030 2031 2032 + 2033 2034 2035 2036 2037 2038 + 2039 2040 2041 2042 2043 2044 + 2045 2046 2047 2048 2049 2050 + 2051 2052 2053 2054 2055 2056 + 2057 2058 2059 2060 2061 2062 + 2063 2064 2065 2066 2067 2068 + 2069 2070 2071 2072 2073 2074 + 2075 2076 2077 2078 2079 2080 + 2081 2082 2083 2084 2085 2086 + 2087 2088 2089 2090 2091 2092 + 2093 2094 2095 2096 2097 2098 + 2099 2100 2101 2102 2103 2104 + 2105 2274 2275 2276 2277 2278 + 2279 2280 2281 2282 2283 2284 + 2285 2286 2287 2288 2289 2290 + 2291 2292 2293 2294 2295 2296 + 2297 2298 2299 2300 2301 2302 + 2303 2304 2305 2306 2307 2308 + 2309 2310 2311 2312 2313 2314 + 2315 2316 2317 2318 2319 2320 + 2321 2322 2323 2324 2325 2326 + 2327 2328 2329 2330 2331 2332 + 2333 2334 2335 2336 2337 2338 + 2339 2340 2341 2342 2343 2344 + 2345 2346 2347 2348 2349 2350 + 2351 2352 2353 2354 2355 2356 + 2357 2358 2359 2360 2361 2362 + 2363 2364 2365 2366 2367 2368 + 2369 2370 2371 2372 2373 2374 + 2375 2376 2377 2378 2379 2380 + 2381 2382 2383 2384 2385 2386 + 2387 2388 2389 2390 2391 2392 + 2393 2394 2395 2396 2397 2398 + 2399 2400 2401 2402 2403 2404 + 2405 2406 2407 2408 2409 2410 + 2411 2412 2413 2414 2415 2416 + 2417 2418 2419 2420 2421 2422 + 2423 2424 2425 2426 2427 2428 + 2429 2430 2431 2432 2433 2434 + 2435 2436 2437 2438 2439 2440 + 2441 2442 2444 2615 2616 2617 + 2618 2619 2620 2621 2622 2623 + 2624 2625 2626 2627 2628 2629 + 2630 2631 2632 2633 2634 2635 + 2636 2637 2638 2639 2640 2641 + 2642 2643 2644 2645 2646 2647 + 2648 2649 2650 2651 2652 2653 + 2654 2655 2656 2657 2658 2659 + 2660 2661 2662 2663 2664 2665 + 2666 2667 2668 2669 2670 2671 + 2672 2673 2674 2675 2676 2677 + 2678 2679 2680 2681 2682 2683 + 2684 2685 2686 2687 2688 2689 + 2690 2691 2692 2693 2694 2695 + 2696 2697 2698 2699 2700 2701 + 2702 2703 2704 2705 2706 2707 + 2708 2709 2710 2711 2712 2713 + 2714 2715 2716 2717 2718 2719 + 2720 2721 2722 2723 2724 2725 + 2726 2727 2728 2729 2730 2731 + 2732 2733 2734 2735 2736 2737 + 2738 2739 2740 2741 2742 2743 + 2744 2745 2746 2747 2748 2749 + 2750 2751 2752 2753 2754 2755 + 2756 2757 2758 2759 2760 2761 + 2762 2763 2764 2765 2766 2767 + 2768 2769 2770 2771 2772 2773 + 2774 2775 2776 2777 2778 2779 + 2780 2781 2782 2783 2785 2956 + 2957 2958 2959 2960 2961 2962 + 2963 2964 2965 2966 2967 2968 + 2969 2970 2971 2972 2973 2974 + 2975 2976 2977 2978 2979 2980 + 2981 2982 2983 2984 2985 2986 + 2987 2988 2989 2990 2991 2992 + 2993 2994 2995 2996 2997 2998 + 2999 3000 3001 3002 3003 3004 + 3005 3006 3007 3008 3009 3010 + 3011 3012 3013 3014 3015 3016 + 3017 3018 3019 3020 3021 3022 + 3023 3024 3025 3026 3027 3028 + 3029 3030 3031 3032 3033 3034 + 3035 3036 3037 3038 3039 3040 + 3041 3042 3043 3044 3045 3046 + 3047 3048 3049 3050 3051 3052 + 3053 3054 3055 3056 3057 3058 + 3059 3060 3061 3062 3063 3064 + 3065 3066 3067 3068 3069 3070 + 3071 3072 3073 3074 3075 3076 + 3077 3078 3079 3080 3081 3082 + 3083 3084 3085 3086 3087 3088 + 3089 3090 3091 3092 3093 3094 + 3095 3096 3097 3098 3099 3100 + 3101 3102 3103 3104 3105 3106 + 3107 3108 3109 3110 3111 3112 + 3113 3114 3115 3116 3117 3118 + 3119 3120 3121 3122 3123 3124 + 3126 3297 3298 3299 3300 3301 + 3302 3303 3304 3305 3306 3307 + 3308 3309 3310 3311 3312 3313 + 3314 3315 3316 3317 3318 3319 + 3320 3321 3322 3323 3324 3325 + 3326 3327 3328 3329 3330 3331 + 3332 3333 3334 3335 3336 3337 + 3338 3339 3340 3341 3342 3343 + 3344 3345 3346 3347 3348 3349 + 3350 3351 3352 3353 3354 3355 + 3356 3357 3358 3359 3360 3361 + 3362 3363 3364 3365 3366 3367 + 3368 3369 3370 3371 3372 3373 + 3374 3375 3376 3377 3378 3379 + 3380 3381 3382 3383 3384 3385 + 3386 3387 3388 3389 3390 3391 + 3392 3393 3394 3395 3396 3397 + 3398 3399 3400 3401 3402 3403 + 3404 3405 3406 3407 3408 3409 + 3410 3411 3412 3413 3414 3415 + 3416 3417 3418 3419 3420 3421 + 3422 3423 3424 3425 3426 3427 + 3428 3429 3430 3431 3432 3433 + 3434 3435 3436 3437 3438 3439 + 3440 3441 3442 3443 3444 3445 + 3446 3447 3448 3449 3450 3451 + 3452 3453 3454 3455 3456 3457 + 3458 3459 3460 3461 3462 3463 + 3464 3465 3467 3638 3639 3640 + 3641 3642 3643 3644 3645 3646 + 3647 3648 3649 3650 3651 3652 + 3653 3654 3655 3656 3657 3658 + 3659 3660 3661 3662 3663 3664 + 3665 3666 3667 3668 3669 3670 + 3671 3672 3673 3674 3675 3676 + 3677 3678 3679 3680 3681 3682 + 3683 3684 3685 3686 3687 3688 + 3689 3690 3691 3692 3693 3694 + 3695 3696 3697 3698 3699 3700 + 3701 3702 3703 3704 3705 3706 + 3707 3708 3709 3710 3711 3712 + 3713 3714 3715 3716 3717 3718 + 3719 3720 3721 3722 3723 3724 + 3725 3726 3727 3728 3729 3730 + 3731 3732 3733 3734 3735 3736 + 3737 3738 3739 3740 3741 3742 + 3743 3744 3745 3746 3747 3748 + 3749 3750 3751 3752 3753 3754 + 3755 3756 3757 3758 3759 3760 + 3761 3762 3763 3764 3765 3766 + 3767 3768 3769 3770 3771 3772 + 3773 3774 3775 3776 3777 3778 + 3779 3780 3781 3782 3783 3784 + 3785 3786 3787 3788 3789 3790 + 3791 3792 3793 3794 3795 3796 + 3797 3798 3799 3800 3801 3802 + 3803 3804 3805 3806 3808 3979 + 3980 3981 3982 3983 3984 3985 + 3986 3987 3988 3989 3990 3991 + 3992 3993 3994 3995 3996 3997 + 3998 3999 4000 4001 4002 4003 + 4004 4005 4006 4007 4008 4009 + 4010 4011 4012 4013 4014 4015 + 4016 4017 4018 4019 4020 4021 + 4022 4023 4024 4025 4026 4027 + 4028 4029 4030 4031 4032 4033 + 4034 4035 4036 4037 4038 4039 + 4040 4041 4042 4043 4044 4045 + 4046 4047 4048 4049 4050 4051 + 4052 4053 4054 4055 4056 4057 + 4058 4059 4060 4061 4062 4063 + 4064 4065 4066 4067 4068 4069 + 4070 4071 4072 4073 4074 4075 + 4076 4077 4078 4079 4080 4081 + 4082 4083 4084 4085 4086 4087 + 4088 4089 4090 4091 4092 4093 + 4094 4095 4096 4097 4098 4099 + 4100 4101 4102 4103 4104 4105 + 4106 4107 4108 4109 4110 4111 + 4112 4113 4114 4115 4116 4117 + 4118 4119 4120 4121 4122 4123 + 4124 4125 4126 4127 4128 4129 + 4130 4131 4132 4133 4134 4135 + 4136 4137 4138 4139 4140 4141 + 4142 4143 4144 4145 4146 4147 + 4149 4320 4321 4322 4323 4324 + 4325 4326 4327 4328 4329 4330 + 4331 4332 4333 4334 4335 4336 + 4337 4338 4339 4340 4341 4342 + 4343 4344 4345 4346 4347 4348 + 4349 4350 4351 4352 4353 4354 + 4355 4356 4357 4358 4359 4360 + 4361 4362 4363 4364 4365 4366 + 4367 4368 4369 4370 4371 4372 + 4373 4374 4375 4376 4377 4378 + 4379 4380 4381 4382 4383 4384 + 4385 4386 4387 4388 4389 4390 + 4391 4392 4393 4394 4395 4396 + 4397 4398 4399 4400 4401 4402 + 4403 4404 4405 4406 4407 4408 + 4409 4410 4411 4412 4413 4414 + 4415 4416 4417 4418 4419 4420 + 4421 4422 4423 4424 4425 4426 + 4427 4428 4429 4430 4431 4432 + 4433 4434 4435 4436 4437 4438 + 4439 4440 4441 4442 4443 4444 + 4445 4446 4447 4448 4449 4450 + 4451 4452 4453 4454 4455 4456 + 4457 4458 4459 4460 4461 4462 + 4463 4464 4465 4466 4467 4468 + 4469 4470 4471 4472 4473 4474 + 4475 4476 4477 4478 4479 4480 + 4481 4482 4483 4484 4485 4486 + 4487 4488 4490 4661 4662 4663 + 4664 4665 4666 4667 4668 4669 + 4670 4671 4672 4673 4674 4675 + 4676 4677 4678 4679 4680 4681 + 4682 4683 4684 4685 4686 4687 + 4688 4689 4690 4691 4692 4693 + 4694 4695 4696 4697 4698 4699 + 4700 4701 4702 4703 4704 4705 + 4706 4707 4708 4709 4710 4711 + 4712 4713 4714 4715 4716 4717 + 4718 4719 4720 4721 4722 4723 + 4724 4725 4726 4727 4728 4729 + 4730 4731 4732 4733 4734 4735 + 4736 4737 4738 4739 4740 4741 + 4742 4743 4744 4745 4746 4747 + 4748 4749 4750 4751 4752 4753 + 4754 4755 4756 4757 4758 4759 + 4760 4761 4762 4763 4764 4765 + 4766 4767 4768 4769 4770 4771 + 4772 4773 4774 4775 4776 4777 + 4778 4779 4780 4781 4782 4783 + 4784 4785 4786 4787 4788 4789 + 4790 4791 4792 4793 4794 4795 + 4796 4797 4798 4799 4800 4801 + 4802 4803 4804 4805 4806 4807 + 4808 4809 4810 4811 4812 4813 + 4814 4815 4816 4817 4818 4819 + 4820 4821 4822 4823 4824 4825 + 4826 4827 4828 4829 4831 5002 + 5003 5004 5005 5006 5007 5008 + 5009 5010 5011 5012 5013 5014 + 5015 5016 5017 5018 5019 5020 + 5021 5022 5023 5024 5025 5026 + 5027 5028 5029 5030 5031 5032 + 5033 5034 5035 5036 5037 5038 + 5039 5040 5041 5042 5043 5044 + 5045 5046 5047 5048 5049 5050 + 5051 5052 5053 5054 5055 5056 + 5057 5058 5059 5060 5061 5062 + 5063 5064 5065 5066 5067 5068 + 5069 5070 5071 5072 5073 5074 + 5075 5076 5077 5078 5079 5080 + 5081 5082 5083 5084 5085 5086 + 5087 5088 5089 5090 5091 5092 + 5093 5094 5095 5096 5097 5098 + 5099 5100 5101 5102 5103 5104 + 5105 5106 5107 5108 5109 5110 + 5111 5112 5113 5114 5115 5116 + 5117 5118 5119 5120 5121 5122 + 5123 5124 5125 5126 5127 5128 + 5129 5130 5131 5132 5133 5134 + 5135 5136 5137 5138 5139 5140 + 5141 5142 5143 5144 5145 5146 + 5147 5148 5149 5150 5151 5152 + 5153 5154 5155 5156 5157 5158 + 5159 5160 5161 5162 5163 5164 + 5165 5166 5167 5168 5169 5170 + 5172 5343 5344 5345 5346 5347 + 5348 5349 5350 5351 5352 5353 + 5354 5355 5356 5357 5358 5359 + 5360 5361 5362 5363 5364 5365 + 5366 5367 5368 5369 5370 5371 + 5372 5373 5374 5375 5376 5377 + 5378 5379 5380 5381 5382 5383 + 5384 5385 5386 5387 5388 5389 + 5390 5391 5392 5393 5394 5395 + 5396 5397 5398 5399 5400 5401 + 5402 5403 5404 5405 5406 5407 + 5408 5409 5410 5411 5412 5413 + 5414 5415 5416 5417 5418 5419 + 5420 5421 5422 5423 5424 5425 + 5426 5427 5428 5429 5430 5431 + 5432 5433 5434 5435 5436 5437 + 5438 5439 5440 5441 5442 5443 + 5444 5445 5446 5447 5448 5449 + 5450 5451 5452 5453 5454 5455 + 5456 5457 5458 5459 5460 5461 + 5462 5463 5464 5465 5466 5467 + 5468 5469 5470 5471 5472 5473 + 5474 5475 5476 5477 5478 5479 + 5480 5481 5482 5483 5484 5485 + 5486 5487 5488 5489 5490 5491 + 5492 5493 5494 5495 5496 5497 + 5498 5499 5500 5501 5502 5503 + 5504 5505 5506 5507 5508 5509 + 5510 5511 5513 5684 5685 5686 + 5687 5688 5689 5690 5691 5692 + 5693 5694 5695 5696 5697 5698 + 5699 5700 5701 5702 5703 5704 + 5705 5706 5707 5708 5709 5710 + 5711 5712 5713 5714 5715 5716 + 5717 5718 5719 5720 5721 5722 + 5723 5724 5725 5726 5727 5728 + 5729 5730 5731 5732 5733 5734 + 5735 5736 5737 5738 5739 5740 + 5741 5742 5743 5744 5745 5746 + 5747 5748 5749 5750 5751 5752 + 5753 5754 5755 5756 5757 5758 + 5759 5760 5761 5762 5763 5764 + 5765 5766 5767 5768 5769 5770 + 5771 5772 5773 5774 5775 5776 + 5777 5778 5779 5780 5781 5782 + 5783 5784 5785 5786 5787 5788 + 5789 5790 5791 5792 5793 5794 + 5795 5796 5797 5798 5799 5800 + 5801 5802 5803 5804 5805 5806 + 5807 5808 5809 5810 5811 5812 + 5813 5814 5815 5816 5817 5818 + 5819 5820 5821 5822 5823 5824 + 5825 5826 5827 5828 5829 5830 + 5831 5832 5833 5834 5835 5836 + 5837 5838 5839 5840 5841 5842 + 5843 5844 5845 5846 5847 5848 + 5849 5850 5851 5852 5854 6025 + 6026 6027 6028 6029 6030 6031 + 6032 6033 6034 6035 6036 6037 + 6038 6039 6040 6041 6042 6043 + 6044 6045 6046 6047 6048 6049 + 6050 6051 6052 6053 6054 6055 + 6056 6057 6058 6059 6060 6061 + 6062 6063 6064 6065 6066 6067 + 6068 6069 6070 6071 6072 6073 + 6074 6075 6076 6077 6078 6079 + 6080 6081 6082 6083 6084 6085 + 6086 6087 6088 6089 6090 6091 + 6092 6093 6094 6095 6096 6097 + 6098 6099 6100 6101 6102 6103 + 6104 6105 6106 6107 6108 6109 + 6110 6111 6112 6113 6114 6115 + 6116 6117 6118 6119 6120 6121 + 6122 6123 6124 6125 6126 6127 + 6128 6129 6130 6131 6132 6133 + 6134 6135 6136 6137 6138 6139 + 6140 6141 6142 6143 6144 6145 + 6146 6147 6148 6149 6150 6151 + 6152 6153 6154 6155 6156 6157 + 6158 6159 6160 6161 6162 6163 + 6164 6165 6166 6167 6168 6169 + 6170 6171 6172 6173 6174 6175 + 6176 6177 6178 6179 6180 6181 + 6182 6183 6184 6185 6186 6187 + 6188 6189 6190 6191 6192 6193 + 6195 6196 6366 6367 6368 6369 + 6370 6371 6372 6373 6374 6375 + 6376 6377 6378 6379 6380 6381 + 6382 6383 6384 6385 6386 6387 + 6388 6389 6390 6391 6392 6393 + 6394 6395 6396 6397 6398 6399 + 6400 6401 6402 6403 6404 6405 + 6406 6407 6408 6409 6410 6411 + 6412 6413 6414 6415 6416 6417 + 6418 6419 6420 6421 6422 6423 + 6424 6425 6426 6427 6428 6429 + 6430 6431 6432 6433 6434 6435 + 6436 6437 6438 6439 6440 6441 + 6442 6443 6444 6445 6446 6447 + 6448 6449 6450 6451 6452 6453 + 6454 6455 6456 6457 6458 6459 + 6460 6461 6462 6463 6464 6465 + 6466 6467 6468 6469 6470 6471 + 6472 6473 6474 6475 6476 6477 + 6478 6479 6480 6481 6482 6483 + 6484 6485 6486 6487 6488 6489 + 6490 6491 6492 6493 6494 6495 + 6496 6497 6498 6499 6500 6501 + 6502 6503 6504 6505 6506 6507 + 6508 6509 6510 6511 6512 6513 + 6514 6515 6516 6517 6518 6519 + 6520 6521 6522 6523 6524 6525 + 6526 6527 6528 6529 6530 6531 + 6532 6533 6534 6535 6536 6537 + 6538 6707 6708 6709 6710 6711 + 6712 6713 6714 6715 6716 6717 + 6718 6719 6720 6721 6722 6723 + 6724 6725 6726 6727 6728 6729 + 6730 6731 6732 6733 6734 6735 + 6736 6737 6738 6739 6740 6741 + 6742 6743 6744 6745 6746 6747 + 6748 6749 6750 6751 6752 6753 + 6754 6755 6756 6757 6758 6759 + 6760 6761 6762 6763 6764 6765 + 6766 6767 6768 6769 6770 6771 + 6772 6773 6774 6775 6776 6777 + 6778 6779 6780 6781 6782 6783 + 6784 6785 6786 6787 6788 6789 + 6790 6791 6792 6793 6794 6795 + 6796 6797 6798 6799 6800 6801 + 6802 6803 6804 6805 6806 6807 + 6808 6809 6810 6811 6812 6813 + 6814 6815 6816 6817 6818 6819 + 6820 6821 6822 6823 6824 6825 + 6826 6827 6828 6829 6830 6831 + 6832 6833 6834 6835 6836 6837 + 6838 6839 6840 6841 6842 6843 + 6844 6845 6846 6847 6848 6849 + 6850 6851 6852 6853 6854 6855 + 6856 6857 6858 6859 6860 6861 + 6862 6863 6864 6865 6866 6867 + 6868 6869 6870 6871 6872 6873 + 6874 6875 6876 6877 6878 6879 + 7048 7049 7050 7051 7052 7053 + 7054 7055 7056 7057 7058 7059 + 7060 7061 7062 7063 7064 7065 + 7066 7067 7068 7069 7070 7071 + 7072 7073 7074 7075 7076 7077 + 7078 7079 7080 7081 7082 7083 + 7084 7085 7086 7087 7088 7089 + 7090 7091 7092 7093 7094 7095 + 7096 7097 7098 7099 7100 7101 + 7102 7103 7104 7105 7106 7107 + 7108 7109 7110 7111 7112 7113 + 7114 7115 7116 7117 7118 7119 + 7120 7121 7122 7123 7124 7125 + 7126 7127 7128 7129 7130 7131 + 7132 7133 7134 7135 7136 7137 + 7138 7139 7140 7141 7142 7143 + 7144 7145 7146 7147 7148 7149 + 7150 7151 7152 7153 7154 7155 + 7156 7157 7158 7159 7160 7161 + 7162 7163 7164 7165 7166 7167 + 7168 7169 7170 7171 7172 7173 + 7174 7175 7176 7177 7178 7179 + 7180 7181 7182 7183 7184 7185 + 7186 7187 7188 7189 7190 7191 + 7192 7193 7194 7195 7196 7197 + 7198 7199 7200 7201 7202 7203 + 7204 7205 7206 7207 7208 7209 + 7210 7211 7212 7213 7214 7215 + 7216 7217 7218 7219 7220 7389 + 7390 7391 7392 7393 7394 7395 + 7396 7397 7398 7399 7400 7401 + 7402 7403 7404 7405 7406 7407 + 7408 7409 7410 7411 7412 7413 + 7414 7415 7416 7417 7418 7419 + 7420 7421 7422 7423 7424 7425 + 7426 7427 7428 7429 7430 7431 + 7432 7433 7434 7435 7436 7437 + 7438 7439 7440 7441 7442 7443 + 7444 7445 7446 7447 7448 7449 + 7450 7451 7452 7453 7454 7455 + 7456 7457 7458 7459 7460 7461 + 7462 7463 7464 7465 7466 7467 + 7468 7469 7470 7471 7472 7473 + 7474 7475 7476 7477 7478 7479 + 7480 7481 7482 7483 7484 7485 + 7486 7487 7488 7489 7490 7491 + 7492 7493 7494 7495 7496 7497 + 7498 7499 7500 7501 7502 7503 + 7504 7505 7506 7507 7508 7509 + 7510 7511 7512 7513 7514 7515 + 7516 7517 7518 7519 7520 7521 + 7522 7523 7524 7525 7526 7527 + 7528 7529 7530 7531 7532 7533 + 7534 7535 7536 7537 7538 7539 + 7540 7541 7542 7543 7544 7545 + 7546 7547 7548 7549 7550 7551 + 7552 7553 7554 7555 7556 7557 + 7558 7559 7560 7561 7730 7731 + 7732 7733 7734 7735 7736 7737 + 7738 7739 7740 7741 7742 7743 + 7744 7745 7746 7747 7748 7749 + 7750 7751 7752 7753 7754 7755 + 7756 7757 7758 7759 7760 7761 + 7762 7763 7764 7765 7766 7767 + 7768 7769 7770 7771 7772 7773 + 7774 7775 7776 7777 7778 7779 + 7780 7781 7782 7783 7784 7785 + 7786 7787 7788 7789 7790 7791 + 7792 7793 7794 7795 7796 7797 + 7798 7799 7800 7801 7802 7803 + 7804 7805 7806 7807 7808 7809 + 7810 7811 7812 7813 7814 7815 + 7816 7817 7818 7819 7820 7821 + 7822 7823 7824 7825 7826 7827 + 7828 7829 7830 7831 7832 7833 + 7834 7835 7836 7837 7838 7839 + 7840 7841 7842 7843 7844 7845 + 7846 7847 7848 7849 7850 7851 + 7852 7853 7854 7855 7856 7857 + 7858 7859 7860 7861 7862 7863 + 7864 7865 7866 7867 7868 7869 + 7870 7871 7872 7873 7874 7875 + 7876 7877 7878 7879 7880 7881 + 7882 7883 7884 7885 7886 7887 + 7888 7889 7890 7891 7892 7893 + 7894 7895 7896 7897 7898 7899 + 7900 7901 7902 8071 8072 8073 + 8074 8075 8076 8077 8078 8079 + 8080 8081 8082 8083 8084 8085 + 8086 8087 8088 8089 8090 8091 + 8092 8093 8094 8095 8096 8097 + 8098 8099 8100 8101 8102 8103 + 8104 8105 8106 8107 8108 8109 + 8110 8111 8112 8113 8114 8115 + 8116 8117 8118 8119 8120 8121 + 8122 8123 8124 8125 8126 8127 + 8128 8129 8130 8131 8132 8133 + 8134 8135 8136 8137 8138 8139 + 8140 8141 8142 8143 8144 8145 + 8146 8147 8148 8149 8150 8151 + 8152 8153 8154 8155 8156 8157 + 8158 8159 8160 8161 8162 8163 + 8164 8165 8166 8167 8168 8169 + 8170 8171 8172 8173 8174 8175 + 8176 8177 8178 8179 8180 8181 + 8182 8183 8184 8185 8186 8187 + 8188 8189 8190 8191 8192 8193 + 8194 8195 8196 8197 8198 8199 + 8200 8201 8202 8203 8204 8205 + 8206 8207 8208 8209 8210 8211 + 8212 8213 8214 8215 8216 8217 + 8218 8219 8220 8221 8222 8223 + 8224 8225 8226 8227 8228 8229 + 8230 8231 8232 8233 8234 8235 + 8236 8237 8238 8239 8240 8241 + 8242 8243 8412 8413 8414 8415 + 8416 8417 8418 8419 8420 8421 + 8422 8423 8424 8425 8426 8427 + 8428 8429 8430 8431 8432 8433 + 8434 8435 8436 8437 8438 8439 + 8440 8441 8442 8443 8444 8445 + 8446 8447 8448 8449 8450 8451 + 8452 8453 8454 8455 8456 8457 + 8458 8459 8460 8461 8462 8463 + 8464 8465 8466 8467 8468 8469 + 8526 8527 8530 8532 8534 8536 + 8538 8540 8542 8544 8546 8548 + 8550 8552 8554 8556 8558 8560 + 8562 8564 8566 8568 8570 8572 + 8574 289 743 1084 1425 1766 + 2107 2443 2445 2786 3127 3468 + 3809 4150 4491 4832 5173 5514 + 5855 6197 6540 6881 7222 7563 + 7904 8245 290 diff --git a/test/meshes/soufflet/dist_2/rpart.out b/test/meshes/soufflet/dist_2/rpart.out new file mode 100644 index 000000000..c8a1df2ff --- /dev/null +++ b/test/meshes/soufflet/dist_2/rpart.out @@ -0,0 +1,2877 @@ + 2 + 1437 1438 + 1438 + 1439 + 1440 + 1441 + 1442 + 1443 + 1444 + 1445 + 1446 + 1447 + 1448 + 1449 + 1450 + 1451 + 1452 + 1453 + 1454 + 1455 + 1456 + 1457 + 1458 + 1459 + 1460 + 1461 + 1462 + 1463 + 1464 + 1465 + 1466 + 1467 + 1468 + 1469 + 1470 + 1471 + 1472 + 1473 + 1474 + 1475 + 1476 + 1477 + 1478 + 1479 + 1480 + 1481 + 1482 + 1483 + 1484 + 1485 + 1486 + 1487 + 1488 + 1489 + 1490 + 1491 + 1492 + 1493 + 1494 + 1495 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 1496 + 1497 + 1498 + 1499 + 1500 + 1501 + 1502 + 1503 + 1504 + 1505 + 1506 + 1507 + 1508 + 1509 + 1510 + 1511 + 1512 + 1513 + 1514 + 1515 + 1516 + 1517 + 1518 + 1519 + 1520 + 1521 + 1522 + 1523 + 1524 + 1525 + 1526 + 1527 + 1528 + 1529 + 1530 + 1531 + 1532 + 1533 + 1534 + 1535 + 1536 + 1537 + 1538 + 1539 + 1540 + 1541 + 1542 + 1543 + 1544 + 1545 + 1546 + 1547 + 1548 + 1549 + 1550 + 1551 + 1552 + 1553 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + 97 + 98 + 99 + 100 + 101 + 102 + 103 + 104 + 105 + 106 + 107 + 108 + 109 + 110 + 111 + 112 + 113 + 114 + 1554 + 1555 + 1556 + 1557 + 1558 + 1559 + 1560 + 1561 + 1562 + 1563 + 1564 + 1565 + 1566 + 1567 + 1568 + 1569 + 1570 + 1571 + 1572 + 1573 + 1574 + 1575 + 1576 + 1577 + 1578 + 1579 + 1580 + 1581 + 1582 + 1583 + 1584 + 1585 + 1586 + 1587 + 1588 + 1589 + 1590 + 1591 + 1592 + 1593 + 1594 + 1595 + 1596 + 1597 + 1598 + 1599 + 1600 + 1601 + 1602 + 1603 + 1604 + 1605 + 1606 + 1607 + 1608 + 1609 + 1610 + 1611 + 115 + 116 + 117 + 118 + 119 + 120 + 121 + 122 + 123 + 124 + 125 + 126 + 127 + 128 + 129 + 130 + 131 + 132 + 133 + 134 + 135 + 136 + 137 + 138 + 139 + 140 + 141 + 142 + 143 + 144 + 145 + 146 + 147 + 148 + 149 + 150 + 151 + 152 + 153 + 154 + 155 + 156 + 157 + 158 + 159 + 160 + 161 + 162 + 163 + 164 + 165 + 166 + 167 + 168 + 169 + 170 + 171 + 1612 + 1613 + 1614 + 1615 + 1616 + 1617 + 1618 + 1619 + 1620 + 1621 + 1622 + 1623 + 1624 + 1625 + 1626 + 1627 + 1628 + 1629 + 1630 + 1631 + 1632 + 1633 + 1634 + 1635 + 1636 + 1637 + 1638 + 1639 + 1640 + 1641 + 1642 + 1643 + 1644 + 1645 + 1646 + 1647 + 1648 + 1649 + 1650 + 1651 + 1652 + 1653 + 1654 + 1655 + 1656 + 1657 + 1658 + 1659 + 1660 + 1661 + 1662 + 1663 + 1664 + 1665 + 1666 + 1667 + 1668 + 1669 + 172 + 173 + 174 + 175 + 176 + 177 + 178 + 179 + 180 + 181 + 182 + 183 + 184 + 185 + 186 + 187 + 188 + 189 + 190 + 191 + 192 + 193 + 194 + 195 + 196 + 197 + 198 + 199 + 200 + 201 + 202 + 203 + 204 + 205 + 206 + 207 + 208 + 209 + 210 + 211 + 212 + 213 + 214 + 215 + 216 + 217 + 218 + 219 + 220 + 221 + 222 + 223 + 224 + 225 + 226 + 227 + 228 + 1670 + 1671 + 1672 + 1673 + 1674 + 1675 + 1676 + 1677 + 1678 + 1679 + 1680 + 1681 + 1682 + 1683 + 1684 + 1685 + 1686 + 1687 + 1688 + 1689 + 1690 + 1691 + 1692 + 1693 + 1694 + 1695 + 1696 + 1697 + 1698 + 1699 + 1700 + 1701 + 1702 + 1703 + 1704 + 1705 + 1706 + 1707 + 1708 + 1709 + 1710 + 1711 + 1712 + 1713 + 1714 + 1715 + 1716 + 1717 + 1718 + 1719 + 1720 + 1721 + 1722 + 1723 + 1724 + 1725 + 1726 + 1727 + 229 + 230 + 231 + 232 + 233 + 234 + 235 + 236 + 237 + 238 + 239 + 240 + 241 + 242 + 243 + 244 + 245 + 246 + 247 + 248 + 249 + 250 + 251 + 252 + 253 + 254 + 255 + 256 + 257 + 258 + 259 + 260 + 261 + 262 + 263 + 264 + 265 + 266 + 267 + 268 + 269 + 270 + 271 + 272 + 273 + 274 + 275 + 276 + 277 + 278 + 279 + 280 + 281 + 282 + 283 + 284 + 285 + 1728 + 1729 + 1730 + 1731 + 1732 + 1733 + 1734 + 1735 + 1736 + 1737 + 1738 + 1739 + 1740 + 1741 + 1742 + 1743 + 1744 + 1745 + 1746 + 1747 + 1748 + 1749 + 1750 + 1751 + 1752 + 1753 + 1754 + 1755 + 1756 + 1757 + 1758 + 1759 + 1760 + 1761 + 1762 + 1763 + 1764 + 1765 + 1766 + 1767 + 1768 + 1769 + 1770 + 1771 + 1772 + 1773 + 1774 + 1775 + 1776 + 1777 + 1778 + 1779 + 1780 + 1781 + 1782 + 1783 + 1784 + 1785 + 286 + 287 + 288 + 289 + 290 + 291 + 292 + 293 + 294 + 295 + 296 + 297 + 298 + 299 + 300 + 301 + 302 + 303 + 304 + 305 + 306 + 307 + 308 + 309 + 310 + 311 + 312 + 313 + 314 + 315 + 316 + 317 + 318 + 319 + 320 + 321 + 322 + 323 + 324 + 325 + 326 + 327 + 328 + 329 + 330 + 331 + 332 + 333 + 334 + 335 + 336 + 337 + 338 + 339 + 340 + 341 + 342 + 1786 + 1787 + 1788 + 1789 + 1790 + 1791 + 1792 + 1793 + 1794 + 1795 + 1796 + 1797 + 1798 + 1799 + 1800 + 1801 + 1802 + 1803 + 1804 + 1805 + 1806 + 1807 + 1808 + 1809 + 1810 + 1811 + 1812 + 1813 + 1814 + 1815 + 1816 + 1817 + 1818 + 1819 + 1820 + 1821 + 1822 + 1823 + 1824 + 1825 + 1826 + 1827 + 1828 + 1829 + 1830 + 1831 + 1832 + 1833 + 1834 + 1835 + 1836 + 1837 + 1838 + 1839 + 1840 + 1841 + 1842 + 343 + 344 + 345 + 346 + 347 + 348 + 349 + 350 + 351 + 352 + 353 + 354 + 355 + 356 + 357 + 358 + 359 + 360 + 361 + 362 + 363 + 364 + 365 + 366 + 367 + 368 + 369 + 370 + 371 + 372 + 373 + 374 + 375 + 376 + 377 + 378 + 379 + 380 + 381 + 382 + 383 + 384 + 385 + 386 + 387 + 388 + 389 + 390 + 391 + 392 + 393 + 394 + 395 + 396 + 397 + 398 + 399 + 400 + 1843 + 1844 + 1845 + 1846 + 1847 + 1848 + 1849 + 1850 + 1851 + 1852 + 1853 + 1854 + 1855 + 1856 + 1857 + 1858 + 1859 + 1860 + 1861 + 1862 + 1863 + 1864 + 1865 + 1866 + 1867 + 1868 + 1869 + 1870 + 1871 + 1872 + 1873 + 1874 + 1875 + 1876 + 1877 + 1878 + 1879 + 1880 + 1881 + 1882 + 1883 + 1884 + 1885 + 1886 + 1887 + 1888 + 1889 + 1890 + 1891 + 1892 + 1893 + 1894 + 1895 + 1896 + 1897 + 1898 + 1899 + 401 + 402 + 403 + 404 + 405 + 406 + 407 + 408 + 409 + 410 + 411 + 412 + 413 + 414 + 415 + 416 + 417 + 418 + 419 + 420 + 421 + 422 + 423 + 424 + 425 + 426 + 427 + 428 + 429 + 430 + 431 + 432 + 433 + 434 + 435 + 436 + 437 + 438 + 439 + 440 + 441 + 442 + 443 + 444 + 445 + 446 + 447 + 448 + 449 + 450 + 451 + 452 + 453 + 454 + 455 + 456 + 457 + 458 + 1900 + 1901 + 1902 + 1903 + 1904 + 1905 + 1906 + 1907 + 1908 + 1909 + 1910 + 1911 + 1912 + 1913 + 1914 + 1915 + 1916 + 1917 + 1918 + 1919 + 1920 + 1921 + 1922 + 1923 + 1924 + 1925 + 1926 + 1927 + 1928 + 1929 + 1930 + 1931 + 1932 + 1933 + 1934 + 1935 + 1936 + 1937 + 1938 + 1939 + 1940 + 1941 + 1942 + 1943 + 1944 + 1945 + 1946 + 1947 + 1948 + 1949 + 1950 + 1951 + 1952 + 1953 + 1954 + 1955 + 1956 + 459 + 460 + 461 + 462 + 463 + 464 + 465 + 466 + 467 + 468 + 469 + 470 + 471 + 472 + 473 + 474 + 475 + 476 + 477 + 478 + 479 + 480 + 481 + 482 + 483 + 484 + 485 + 486 + 487 + 488 + 489 + 490 + 491 + 492 + 493 + 494 + 495 + 496 + 497 + 498 + 499 + 500 + 501 + 502 + 503 + 504 + 505 + 506 + 507 + 508 + 509 + 510 + 511 + 512 + 513 + 514 + 515 + 516 + 1957 + 1958 + 1959 + 1960 + 1961 + 1962 + 1963 + 1964 + 1965 + 1966 + 1967 + 1968 + 1969 + 1970 + 1971 + 1972 + 1973 + 1974 + 1975 + 1976 + 1977 + 1978 + 1979 + 1980 + 1981 + 1982 + 1983 + 1984 + 1985 + 1986 + 1987 + 1988 + 1989 + 1990 + 1991 + 1992 + 1993 + 1994 + 1995 + 1996 + 1997 + 1998 + 1999 + 2000 + 2001 + 2002 + 2003 + 2004 + 2005 + 2006 + 2007 + 2008 + 2009 + 2010 + 2011 + 2012 + 2013 + 517 + 518 + 519 + 520 + 521 + 522 + 523 + 524 + 525 + 526 + 527 + 528 + 529 + 530 + 531 + 532 + 533 + 534 + 535 + 536 + 537 + 538 + 539 + 540 + 541 + 542 + 543 + 544 + 545 + 546 + 547 + 548 + 549 + 550 + 551 + 552 + 553 + 554 + 555 + 556 + 557 + 558 + 559 + 560 + 561 + 562 + 563 + 564 + 565 + 566 + 567 + 568 + 569 + 570 + 571 + 572 + 573 + 574 + 2014 + 2015 + 2016 + 2017 + 2018 + 2019 + 2020 + 2021 + 2022 + 2023 + 2024 + 2025 + 2026 + 2027 + 2028 + 2029 + 2030 + 2031 + 2032 + 2033 + 2034 + 2035 + 2036 + 2037 + 2038 + 2039 + 2040 + 2041 + 2042 + 2043 + 2044 + 2045 + 2046 + 2047 + 2048 + 2049 + 2050 + 2051 + 2052 + 2053 + 2054 + 2055 + 2056 + 2057 + 2058 + 2059 + 2060 + 2061 + 2062 + 2063 + 2064 + 2065 + 2066 + 2067 + 2068 + 2069 + 2070 + 575 + 576 + 577 + 578 + 579 + 580 + 581 + 582 + 583 + 584 + 585 + 586 + 587 + 588 + 589 + 590 + 591 + 592 + 593 + 594 + 595 + 596 + 597 + 598 + 599 + 600 + 601 + 602 + 603 + 604 + 605 + 606 + 607 + 608 + 609 + 610 + 611 + 612 + 613 + 614 + 615 + 616 + 617 + 618 + 619 + 620 + 621 + 622 + 623 + 624 + 625 + 626 + 627 + 628 + 629 + 630 + 631 + 632 + 2071 + 2072 + 2073 + 2074 + 2075 + 2076 + 2077 + 2078 + 2079 + 2080 + 2081 + 2082 + 2083 + 2084 + 2085 + 2086 + 2087 + 2088 + 2089 + 2090 + 2091 + 2092 + 2093 + 2094 + 2095 + 2096 + 2097 + 2098 + 2099 + 2100 + 2101 + 2102 + 2103 + 2104 + 2105 + 2106 + 2107 + 2108 + 2109 + 2110 + 2111 + 2112 + 2113 + 2114 + 2115 + 2116 + 2117 + 2118 + 2119 + 2120 + 2121 + 2122 + 2123 + 2124 + 2125 + 2126 + 2127 + 633 + 634 + 635 + 636 + 637 + 638 + 639 + 640 + 641 + 642 + 643 + 644 + 645 + 646 + 647 + 648 + 649 + 650 + 651 + 652 + 653 + 654 + 655 + 656 + 657 + 658 + 659 + 660 + 661 + 662 + 663 + 664 + 665 + 666 + 667 + 668 + 669 + 670 + 671 + 672 + 673 + 674 + 675 + 676 + 677 + 678 + 679 + 680 + 681 + 682 + 683 + 684 + 685 + 686 + 687 + 688 + 689 + 690 + 2128 + 2129 + 2130 + 2131 + 2132 + 2133 + 2134 + 2135 + 2136 + 2137 + 2138 + 2139 + 2140 + 2141 + 2142 + 2143 + 2144 + 2145 + 2146 + 2147 + 2148 + 2149 + 2150 + 2151 + 2152 + 2153 + 2154 + 2155 + 2156 + 2157 + 2158 + 2159 + 2160 + 2161 + 2162 + 2163 + 2164 + 2165 + 2166 + 2167 + 2168 + 2169 + 2170 + 2171 + 2172 + 2173 + 2174 + 2175 + 2176 + 2177 + 2178 + 2179 + 2180 + 2181 + 2182 + 2183 + 2184 + 691 + 692 + 693 + 694 + 695 + 696 + 697 + 698 + 699 + 700 + 701 + 702 + 703 + 704 + 705 + 706 + 707 + 708 + 709 + 710 + 711 + 712 + 713 + 714 + 715 + 716 + 717 + 718 + 719 + 720 + 721 + 722 + 723 + 724 + 725 + 726 + 727 + 728 + 729 + 730 + 731 + 732 + 733 + 734 + 735 + 736 + 737 + 738 + 739 + 740 + 741 + 742 + 743 + 744 + 745 + 746 + 747 + 748 + 2185 + 2186 + 2187 + 2188 + 2189 + 2190 + 2191 + 2192 + 2193 + 2194 + 2195 + 2196 + 2197 + 2198 + 2199 + 2200 + 2201 + 2202 + 2203 + 2204 + 2205 + 2206 + 2207 + 2208 + 2209 + 2210 + 2211 + 2212 + 2213 + 2214 + 2215 + 2216 + 2217 + 2218 + 2219 + 2220 + 2221 + 2222 + 2223 + 2224 + 2225 + 2226 + 2227 + 2228 + 2229 + 2230 + 2231 + 2232 + 2233 + 2234 + 2235 + 2236 + 2237 + 2238 + 2239 + 2240 + 2241 + 749 + 750 + 751 + 752 + 753 + 754 + 755 + 756 + 757 + 758 + 759 + 760 + 761 + 762 + 763 + 764 + 765 + 766 + 767 + 768 + 769 + 770 + 771 + 772 + 773 + 774 + 775 + 776 + 777 + 778 + 779 + 780 + 781 + 782 + 783 + 784 + 785 + 786 + 787 + 788 + 789 + 790 + 791 + 792 + 793 + 794 + 795 + 796 + 797 + 798 + 799 + 800 + 801 + 802 + 803 + 804 + 805 + 806 + 2242 + 2243 + 2244 + 2245 + 2246 + 2247 + 2248 + 2249 + 2250 + 2251 + 2252 + 2253 + 2254 + 2255 + 2256 + 2257 + 2258 + 2259 + 2260 + 2261 + 2262 + 2263 + 2264 + 2265 + 2266 + 2267 + 2268 + 2269 + 2270 + 2271 + 2272 + 2273 + 2274 + 2275 + 2276 + 2277 + 2278 + 2279 + 2280 + 2281 + 2282 + 2283 + 2284 + 2285 + 2286 + 2287 + 2288 + 2289 + 2290 + 2291 + 2292 + 2293 + 2294 + 2295 + 2296 + 2297 + 2298 + 807 + 808 + 809 + 810 + 811 + 812 + 813 + 814 + 815 + 816 + 817 + 818 + 819 + 820 + 821 + 822 + 823 + 824 + 825 + 826 + 827 + 828 + 829 + 830 + 831 + 832 + 833 + 834 + 835 + 836 + 837 + 838 + 839 + 840 + 841 + 842 + 843 + 844 + 845 + 846 + 847 + 848 + 849 + 850 + 851 + 852 + 853 + 854 + 855 + 856 + 857 + 858 + 859 + 860 + 861 + 862 + 863 + 864 + 2299 + 2300 + 2301 + 2302 + 2303 + 2304 + 2305 + 2306 + 2307 + 2308 + 2309 + 2310 + 2311 + 2312 + 2313 + 2314 + 2315 + 2316 + 2317 + 2318 + 2319 + 2320 + 2321 + 2322 + 2323 + 2324 + 2325 + 2326 + 2327 + 2328 + 2329 + 2330 + 2331 + 2332 + 2333 + 2334 + 2335 + 2336 + 2337 + 2338 + 2339 + 2340 + 2341 + 2342 + 2343 + 2344 + 2345 + 2346 + 2347 + 2348 + 2349 + 2350 + 2351 + 2352 + 2353 + 2354 + 2355 + 865 + 866 + 867 + 868 + 869 + 870 + 871 + 872 + 873 + 874 + 875 + 876 + 877 + 878 + 879 + 880 + 881 + 882 + 883 + 884 + 885 + 886 + 887 + 888 + 889 + 890 + 891 + 892 + 893 + 894 + 895 + 896 + 897 + 898 + 899 + 900 + 901 + 902 + 903 + 904 + 905 + 906 + 907 + 908 + 909 + 910 + 911 + 912 + 913 + 914 + 915 + 916 + 917 + 918 + 919 + 920 + 921 + 922 + 2356 + 2357 + 2358 + 2359 + 2360 + 2361 + 2362 + 2363 + 2364 + 2365 + 2366 + 2367 + 2368 + 2369 + 2370 + 2371 + 2372 + 2373 + 2374 + 2375 + 2376 + 2377 + 2378 + 2379 + 2380 + 2381 + 2382 + 2383 + 2384 + 2385 + 2386 + 2387 + 2388 + 2389 + 2390 + 2391 + 2392 + 2393 + 2394 + 2395 + 2396 + 2397 + 2398 + 2399 + 2400 + 2401 + 2402 + 2403 + 2404 + 2405 + 2406 + 2407 + 2408 + 2409 + 2410 + 2411 + 2412 + 923 + 924 + 925 + 926 + 927 + 928 + 929 + 930 + 931 + 932 + 933 + 934 + 935 + 936 + 937 + 938 + 939 + 940 + 941 + 942 + 943 + 944 + 945 + 946 + 947 + 948 + 949 + 950 + 951 + 952 + 953 + 954 + 955 + 956 + 957 + 958 + 959 + 960 + 961 + 962 + 963 + 964 + 965 + 966 + 967 + 968 + 969 + 970 + 971 + 972 + 973 + 974 + 975 + 976 + 977 + 978 + 979 + 980 + 2413 + 2414 + 2415 + 2416 + 2417 + 2418 + 2419 + 2420 + 2421 + 2422 + 2423 + 2424 + 2425 + 2426 + 2427 + 2428 + 2429 + 2430 + 2431 + 2432 + 2433 + 2434 + 2435 + 2436 + 2437 + 2438 + 2439 + 2440 + 2441 + 2442 + 2443 + 2444 + 2445 + 2446 + 2447 + 2448 + 2449 + 2450 + 2451 + 2452 + 2453 + 2454 + 2455 + 2456 + 2457 + 2458 + 2459 + 2460 + 2461 + 2462 + 2463 + 2464 + 2465 + 2466 + 2467 + 2468 + 2469 + 981 + 982 + 983 + 984 + 985 + 986 + 987 + 988 + 989 + 990 + 991 + 992 + 993 + 994 + 995 + 996 + 997 + 998 + 999 + 1000 + 1001 + 1002 + 1003 + 1004 + 1005 + 1006 + 1007 + 1008 + 1009 + 1010 + 1011 + 1012 + 1013 + 1014 + 1015 + 1016 + 1017 + 1018 + 1019 + 1020 + 1021 + 1022 + 1023 + 1024 + 1025 + 1026 + 1027 + 1028 + 1029 + 1030 + 1031 + 1032 + 1033 + 1034 + 1035 + 1036 + 1037 + 1038 + 2470 + 2471 + 2472 + 2473 + 2474 + 2475 + 2476 + 2477 + 2478 + 2479 + 2480 + 2481 + 2482 + 2483 + 2484 + 2485 + 2486 + 2487 + 2488 + 2489 + 2490 + 2491 + 2492 + 2493 + 2494 + 2495 + 2496 + 2497 + 2498 + 2499 + 2500 + 2501 + 2502 + 2503 + 2504 + 2505 + 2506 + 2507 + 2508 + 2509 + 2510 + 2511 + 2512 + 2513 + 2514 + 2515 + 2516 + 2517 + 2518 + 2519 + 2520 + 2521 + 2522 + 2523 + 2524 + 2525 + 2526 + 2527 + 1039 + 1040 + 1041 + 1042 + 1043 + 1044 + 1045 + 1046 + 1047 + 1048 + 1049 + 1050 + 1051 + 1052 + 1053 + 1054 + 1055 + 1056 + 1057 + 1058 + 1059 + 1060 + 1061 + 1062 + 1063 + 1064 + 1065 + 1066 + 1067 + 1068 + 1069 + 1070 + 1071 + 1072 + 1073 + 1074 + 1075 + 1076 + 1077 + 1078 + 1079 + 1080 + 1081 + 1082 + 1083 + 1084 + 1085 + 1086 + 1087 + 1088 + 1089 + 1090 + 1091 + 1092 + 1093 + 1094 + 1095 + 2528 + 2529 + 2530 + 2531 + 2532 + 2533 + 2534 + 2535 + 2536 + 2537 + 2538 + 2539 + 2540 + 2541 + 2542 + 2543 + 2544 + 2545 + 2546 + 2547 + 2548 + 2549 + 2550 + 2551 + 2552 + 2553 + 2554 + 2555 + 2556 + 2557 + 2558 + 2559 + 2560 + 2561 + 2562 + 2563 + 2564 + 2565 + 2566 + 2567 + 2568 + 2569 + 2570 + 2571 + 2572 + 2573 + 2574 + 2575 + 2576 + 2577 + 2578 + 2579 + 2580 + 2581 + 2582 + 2583 + 2584 + 2585 + 1096 + 1097 + 1098 + 1099 + 1100 + 1101 + 1102 + 1103 + 1104 + 1105 + 1106 + 1107 + 1108 + 1109 + 1110 + 1111 + 1112 + 1113 + 1114 + 1115 + 1116 + 1117 + 1118 + 1119 + 1120 + 1121 + 1122 + 1123 + 1124 + 1125 + 1126 + 1127 + 1128 + 1129 + 1130 + 1131 + 1132 + 1133 + 1134 + 1135 + 1136 + 1137 + 1138 + 1139 + 1140 + 1141 + 1142 + 1143 + 1144 + 1145 + 1146 + 1147 + 1148 + 1149 + 1150 + 1151 + 1152 + 2586 + 2587 + 2588 + 2589 + 2590 + 2591 + 2592 + 2593 + 2594 + 2595 + 2596 + 2597 + 2598 + 2599 + 2600 + 2601 + 2602 + 2603 + 2604 + 2605 + 2606 + 2607 + 2608 + 2609 + 2610 + 2611 + 2612 + 2613 + 2614 + 2615 + 2616 + 2617 + 2618 + 2619 + 2620 + 2621 + 2622 + 2623 + 2624 + 2625 + 2626 + 2627 + 2628 + 2629 + 2630 + 2631 + 2632 + 2633 + 2634 + 2635 + 2636 + 2637 + 2638 + 2639 + 2640 + 2641 + 2642 + 2643 + 1153 + 1154 + 1155 + 1156 + 1157 + 1158 + 1159 + 1160 + 1161 + 1162 + 1163 + 1164 + 1165 + 1166 + 1167 + 1168 + 1169 + 1170 + 1171 + 1172 + 1173 + 1174 + 1175 + 1176 + 1177 + 1178 + 1179 + 1180 + 1181 + 1182 + 1183 + 1184 + 1185 + 1186 + 1187 + 1188 + 1189 + 1190 + 1191 + 1192 + 1193 + 1194 + 1195 + 1196 + 1197 + 1198 + 1199 + 1200 + 1201 + 1202 + 1203 + 1204 + 1205 + 1206 + 1207 + 1208 + 1209 + 2644 + 2645 + 2646 + 2647 + 2648 + 2649 + 2650 + 2651 + 2652 + 2653 + 2654 + 2655 + 2656 + 2657 + 2658 + 2659 + 2660 + 2661 + 2662 + 2663 + 2664 + 2665 + 2666 + 2667 + 2668 + 2669 + 2670 + 2671 + 2672 + 2673 + 2674 + 2675 + 2676 + 2677 + 2678 + 2679 + 2680 + 2681 + 2682 + 2683 + 2684 + 2685 + 2686 + 2687 + 2688 + 2689 + 2690 + 2691 + 2692 + 2693 + 2694 + 2695 + 2696 + 2697 + 2698 + 2699 + 2700 + 2701 + 1210 + 1211 + 1212 + 1213 + 1214 + 1215 + 1216 + 1217 + 1218 + 1219 + 1220 + 1221 + 1222 + 1223 + 1224 + 1225 + 1226 + 1227 + 1228 + 1229 + 1230 + 1231 + 1232 + 1233 + 1234 + 1235 + 1236 + 1237 + 1238 + 1239 + 1240 + 1241 + 1242 + 1243 + 1244 + 1245 + 1246 + 1247 + 1248 + 1249 + 1250 + 1251 + 1252 + 1253 + 1254 + 1255 + 1256 + 1257 + 1258 + 1259 + 1260 + 1261 + 1262 + 1263 + 1264 + 1265 + 1266 + 2702 + 2703 + 2704 + 2705 + 2706 + 2707 + 2708 + 2709 + 2710 + 2711 + 2712 + 2713 + 2714 + 2715 + 2716 + 2717 + 2718 + 2719 + 2720 + 2721 + 2722 + 2723 + 2724 + 2725 + 2726 + 2727 + 2728 + 2729 + 2730 + 2731 + 2732 + 2733 + 2734 + 2735 + 2736 + 2737 + 2738 + 2739 + 2740 + 2741 + 2742 + 2743 + 2744 + 2745 + 2746 + 2747 + 2748 + 2749 + 2750 + 2751 + 2752 + 2753 + 2754 + 2755 + 2756 + 2757 + 2758 + 2759 + 1267 + 1268 + 1269 + 1270 + 1271 + 1272 + 1273 + 1274 + 1275 + 1276 + 1277 + 1278 + 1279 + 1280 + 1281 + 1282 + 1283 + 1284 + 1285 + 1286 + 1287 + 1288 + 1289 + 1290 + 1291 + 1292 + 1293 + 1294 + 1295 + 1296 + 1297 + 1298 + 1299 + 1300 + 1301 + 1302 + 1303 + 1304 + 1305 + 1306 + 1307 + 1308 + 1309 + 1310 + 1311 + 1312 + 1313 + 1314 + 1315 + 1316 + 1317 + 1318 + 1319 + 1320 + 1321 + 1322 + 1323 + 2760 + 2761 + 2762 + 2763 + 2764 + 2765 + 2766 + 2767 + 2768 + 2769 + 2770 + 2771 + 2772 + 2773 + 2774 + 2775 + 2776 + 2777 + 2778 + 2779 + 2780 + 2781 + 2782 + 2783 + 2784 + 2785 + 2786 + 2787 + 2788 + 2789 + 2790 + 2791 + 2792 + 2793 + 2794 + 2795 + 2796 + 2797 + 2798 + 2799 + 2800 + 2801 + 2802 + 2803 + 2804 + 2805 + 2806 + 2807 + 2808 + 2809 + 2810 + 2811 + 2812 + 2813 + 2814 + 2815 + 2816 + 2817 + 1324 + 1325 + 1326 + 1327 + 1328 + 1329 + 1330 + 1331 + 1332 + 1333 + 1334 + 1335 + 1336 + 1337 + 1338 + 1339 + 1340 + 1341 + 1342 + 1343 + 1344 + 1345 + 1346 + 1347 + 1348 + 1349 + 1350 + 1351 + 1352 + 1353 + 1354 + 1355 + 1356 + 1357 + 1358 + 1359 + 1360 + 1361 + 1362 + 1363 + 1364 + 1365 + 1366 + 1367 + 1368 + 1369 + 1370 + 1371 + 1372 + 1373 + 1374 + 1375 + 1376 + 1377 + 1378 + 1379 + 1380 + 2818 + 2819 + 2820 + 2821 + 2822 + 2823 + 2824 + 2825 + 2826 + 2827 + 2828 + 2829 + 2830 + 2831 + 2832 + 2833 + 2834 + 2835 + 2836 + 2837 + 2838 + 2839 + 2840 + 2841 + 2842 + 2843 + 2844 + 2845 + 2846 + 2847 + 2848 + 2849 + 2850 + 2851 + 2852 + 2853 + 2854 + 2855 + 2856 + 2857 + 2858 + 2859 + 2860 + 2861 + 2862 + 2863 + 2864 + 2865 + 2866 + 2867 + 2868 + 2869 + 2870 + 2871 + 2872 + 2873 + 2874 + 2875 + 1381 + 1382 + 1383 + 1384 + 1385 + 1386 + 1387 + 1388 + 1389 + 1390 + 1391 + 1392 + 1393 + 1394 + 1395 + 1396 + 1397 + 1398 + 1399 + 1400 + 1401 + 1402 + 1403 + 1404 + 1405 + 1406 + 1407 + 1408 + 1409 + 1410 + 1411 + 1412 + 1413 + 1414 + 1415 + 1416 + 1417 + 1418 + 1419 + 1420 + 1421 + 1422 + 1423 + 1424 + 1425 + 1426 + 1427 + 1428 + 1429 + 1430 + 1431 + 1432 + 1433 + 1434 + 1435 + 1436 + 1437 diff --git a/test/meshes/soufflet/dist_8/com_info00000.out b/test/meshes/soufflet/dist_8/com_info00000.out new file mode 100644 index 000000000..2cf76935a --- /dev/null +++ b/test/meshes/soufflet/dist_8/com_info00000.out @@ -0,0 +1,91 @@ + 0 + 2 + 1 6 + 1 27 53 + 360 361 362 363 364 365 + 366 367 368 369 370 371 + 372 373 374 375 376 377 + 378 379 380 381 382 383 + 384 385 386 387 388 389 + 390 391 392 393 394 395 + 396 397 398 399 400 401 + 402 403 404 405 406 407 + 408 409 410 411 + 2 + 1 6 + 1 27 53 + 14 28 42 56 70 84 + 99 114 129 144 159 174 + 189 204 218 232 246 260 + 261 275 289 303 317 331 + 345 359 1 15 29 43 + 57 71 85 86 100 115 + 130 145 160 175 190 205 + 219 233 247 262 276 290 + 304 318 332 346 + 2 + 1 6 + 1 27 53 + 771 772 773 774 775 776 + 777 778 779 780 781 782 + 783 784 785 786 787 788 + 789 790 791 792 793 794 + 795 796 797 798 799 800 + 801 802 803 804 805 806 + 807 808 809 810 811 812 + 813 814 815 816 817 818 + 819 820 821 822 + 2 + 1 6 + 1 27 53 + 14 44 74 104 134 165 + 197 229 261 293 325 357 + 389 420 466 496 526 543 + 544 574 604 634 664 694 + 724 754 1 31 61 91 + 121 152 198 199 231 263 + 295 327 359 391 423 455 + 485 515 545 561 591 621 + 651 681 711 741 + 2 + 1 6 + 1 53 105 + 771 823 772 824 773 825 + 774 826 775 827 776 828 + 777 829 778 830 779 831 + 780 832 781 833 782 834 + 783 835 784 836 837 785 + 786 838 787 839 840 788 + 789 841 790 842 791 843 + 792 844 793 845 794 846 + 795 847 796 848 849 797 + 850 798 851 799 852 800 + 853 801 802 854 855 803 + 856 804 857 805 858 806 + 859 807 860 808 861 809 + 862 810 863 811 864 812 + 865 813 866 814 867 815 + 816 868 869 817 870 818 + 871 819 872 820 873 821 + 874 822 + 2 + 1 6 + 1 53 105 + 13 14 43 44 73 74 + 103 104 133 134 164 165 + 196 197 228 229 260 261 + 292 293 324 325 356 357 + 388 389 420 434 435 466 + 467 496 497 526 527 543 + 544 557 573 574 603 604 + 633 634 663 664 693 694 + 723 724 753 754 1 2 + 31 32 61 62 91 92 + 121 122 152 153 184 198 + 199 230 231 262 263 294 + 295 326 327 358 359 390 + 391 422 423 454 455 484 + 485 514 515 531 532 545 + 561 562 591 592 621 622 + 651 652 681 682 711 712 + 741 742 diff --git a/test/meshes/soufflet/dist_8/com_info00001.out b/test/meshes/soufflet/dist_8/com_info00001.out new file mode 100644 index 000000000..a46c2f5e5 --- /dev/null +++ b/test/meshes/soufflet/dist_8/com_info00001.out @@ -0,0 +1,91 @@ + 1 + 2 + 0 2 + 1 27 53 + 360 361 362 363 364 365 + 366 367 368 369 370 371 + 372 373 374 375 376 377 + 378 379 380 381 382 383 + 384 385 386 387 388 389 + 390 391 392 393 394 395 + 396 397 398 399 400 401 + 402 403 404 405 406 407 + 408 409 410 411 + 2 + 0 2 + 1 27 53 + 1 15 29 43 58 73 + 88 103 118 133 147 161 + 175 189 203 204 218 233 + 248 262 276 290 304 318 + 332 346 14 28 42 57 + 72 87 102 117 131 132 + 146 160 174 188 202 217 + 232 247 261 275 289 303 + 317 331 345 359 + 2 + 0 2 + 1 27 53 + 771 772 773 774 775 776 + 777 778 779 780 781 782 + 783 784 785 786 787 788 + 789 790 791 792 793 794 + 795 796 797 798 799 800 + 801 802 803 804 805 806 + 807 808 809 810 811 812 + 813 814 815 816 817 818 + 819 820 821 822 + 2 + 0 2 + 1 27 53 + 1 31 61 93 125 157 + 189 221 253 284 314 344 + 374 405 451 452 484 515 + 531 561 591 621 651 681 + 711 741 14 44 92 123 + 155 187 219 251 252 266 + 297 327 357 387 418 450 + 482 514 544 574 604 634 + 664 694 724 754 + 2 + 0 2 + 1 53 105 + 823 771 824 772 825 773 + 826 774 827 775 828 776 + 829 777 830 778 831 779 + 832 780 833 781 834 782 + 835 783 784 836 837 785 + 838 786 839 787 840 788 + 789 841 842 790 843 791 + 844 792 845 793 846 794 + 847 795 848 796 797 849 + 798 799 850 851 800 852 + 801 853 802 854 803 855 + 804 856 805 806 857 858 + 807 859 808 860 809 861 + 810 862 811 863 812 864 + 813 865 814 866 815 867 + 816 868 817 869 818 870 + 819 871 820 872 821 873 + 822 874 + 2 + 0 2 + 1 53 105 + 1 2 31 32 61 62 + 93 94 125 126 157 158 + 189 190 221 222 253 254 + 284 285 314 315 344 345 + 374 375 405 406 437 451 + 452 483 484 501 502 515 + 531 532 561 562 591 592 + 621 622 651 652 681 682 + 711 712 741 742 13 14 + 43 44 73 74 92 123 + 124 155 156 187 188 219 + 220 234 251 252 265 266 + 296 297 326 327 356 357 + 386 387 417 418 449 450 + 481 482 513 514 543 544 + 573 574 603 604 633 634 + 663 664 693 694 723 724 + 753 754 diff --git a/test/meshes/soufflet/dist_8/com_info00002.out b/test/meshes/soufflet/dist_8/com_info00002.out new file mode 100644 index 000000000..4ce12021b --- /dev/null +++ b/test/meshes/soufflet/dist_8/com_info00002.out @@ -0,0 +1,91 @@ + 2 + 2 + 1 3 + 1 27 54 + 360 361 362 363 364 365 + 366 367 368 369 370 371 + 372 373 374 375 376 377 + 378 379 380 381 382 383 + 384 385 386 387 388 389 + 390 391 392 393 394 395 + 396 397 398 399 400 401 + 402 403 404 405 406 407 + 408 409 410 411 412 + 2 + 1 3 + 1 27 54 + 1 15 29 30 43 56 + 69 82 96 110 124 139 + 155 171 186 201 216 231 + 246 261 276 290 304 318 + 332 346 14 28 42 55 + 68 81 95 109 123 138 + 153 154 170 185 200 215 + 230 245 260 274 275 289 + 303 317 331 345 359 + 2 + 1 3 + 1 27 54 + 772 773 774 775 776 777 + 778 779 780 781 782 783 + 784 785 786 787 788 789 + 790 791 792 793 794 795 + 796 797 798 799 800 801 + 802 803 804 805 806 807 + 808 809 810 811 812 813 + 814 815 816 817 818 819 + 820 821 822 823 824 + 2 + 1 3 + 1 27 54 + 1 31 32 77 105 133 + 163 193 223 237 268 301 + 335 369 401 433 465 497 + 529 561 592 622 652 682 + 712 742 14 44 74 103 + 131 175 204 234 266 298 + 315 316 349 399 431 463 + 495 527 559 560 574 605 + 635 665 695 725 755 + 2 + 1 3 + 1 53 107 + 825 772 826 773 827 828 + 774 775 829 776 830 777 + 831 778 832 833 779 780 + 834 781 835 782 836 783 + 837 784 838 785 839 786 + 840 787 841 788 842 789 + 843 790 844 791 845 792 + 846 793 847 794 848 795 + 849 796 850 797 798 851 + 799 852 800 853 801 854 + 802 803 855 856 804 857 + 805 858 806 859 807 860 + 861 808 809 862 810 863 + 864 811 812 865 813 866 + 814 867 815 868 816 869 + 817 818 870 871 819 872 + 820 873 821 874 822 875 + 823 876 824 877 + 2 + 1 3 + 1 53 107 + 1 2 31 32 48 76 + 77 104 105 132 133 162 + 163 192 193 222 223 237 + 254 255 268 269 301 302 + 335 336 369 370 401 402 + 433 434 465 466 497 498 + 529 530 561 562 592 593 + 622 623 652 653 682 683 + 712 713 742 743 13 14 + 43 44 73 74 102 103 + 130 131 158 159 175 204 + 205 234 235 266 267 298 + 299 315 316 331 349 365 + 366 399 400 431 432 463 + 464 495 496 527 528 542 + 559 560 573 574 604 605 + 634 635 664 665 694 695 + 724 725 754 755 diff --git a/test/meshes/soufflet/dist_8/com_info00003.out b/test/meshes/soufflet/dist_8/com_info00003.out new file mode 100644 index 000000000..cd12c22f6 --- /dev/null +++ b/test/meshes/soufflet/dist_8/com_info00003.out @@ -0,0 +1,57 @@ + 3 + 1 + 2 + 1 28 + 361 362 363 364 365 366 + 367 368 369 370 371 372 + 373 374 375 376 377 378 + 379 380 381 382 383 384 + 385 386 387 + 1 + 2 + 1 28 + 1 16 31 46 61 76 + 77 91 105 119 133 147 + 160 173 174 187 201 215 + 229 243 257 271 286 301 + 316 331 346 + 1 + 2 + 1 28 + 723 724 725 726 727 728 + 729 730 731 732 733 734 + 735 736 737 738 739 740 + 741 742 743 744 745 746 + 747 748 749 + 1 + 2 + 1 28 + 1 31 61 91 121 122 + 167 195 223 251 278 292 + 319 359 360 388 416 444 + 472 500 514 543 573 603 + 633 663 693 + 1 + 2 + 1 55 + 750 723 751 724 752 725 + 753 726 754 727 755 756 + 728 729 757 730 758 731 + 759 732 760 733 734 761 + 735 762 763 736 764 737 + 765 738 766 739 767 740 + 768 769 741 742 770 743 + 771 744 772 745 773 746 + 774 747 775 748 776 749 + 1 + 2 + 1 55 + 1 2 31 32 61 62 + 91 92 121 122 138 166 + 167 194 195 222 223 250 + 251 266 267 278 292 293 + 319 320 347 359 360 387 + 388 415 416 443 444 471 + 472 499 500 514 529 530 + 543 544 573 574 603 604 + 633 634 663 664 693 694 diff --git a/test/meshes/soufflet/dist_8/com_info00004.out b/test/meshes/soufflet/dist_8/com_info00004.out new file mode 100644 index 000000000..c37def9aa --- /dev/null +++ b/test/meshes/soufflet/dist_8/com_info00004.out @@ -0,0 +1,91 @@ + 4 + 2 + 5 7 + 1 27 53 + 360 361 362 363 364 365 + 366 367 368 369 370 371 + 372 373 374 375 376 377 + 378 379 380 381 382 383 + 384 385 386 387 388 389 + 390 391 392 393 394 395 + 396 397 398 399 400 401 + 402 403 404 405 406 407 + 408 409 410 411 + 2 + 5 7 + 1 27 53 + 1 14 28 42 56 71 + 86 101 116 131 146 161 + 176 191 206 221 236 251 + 266 267 281 295 308 321 + 334 347 13 27 41 55 + 70 85 100 115 130 145 + 160 175 190 205 220 235 + 250 265 280 293 294 307 + 320 333 346 359 + 2 + 5 7 + 1 27 53 + 771 772 773 774 775 776 + 777 778 779 780 781 782 + 783 784 785 786 787 788 + 789 790 791 792 793 794 + 795 796 797 798 799 800 + 801 802 803 804 805 806 + 807 808 809 810 811 812 + 813 814 815 816 817 818 + 819 820 821 822 + 2 + 5 7 + 1 27 53 + 18 48 78 92 123 155 + 187 219 251 283 315 347 + 379 411 443 475 507 539 + 540 589 618 646 674 702 + 730 758 30 59 89 121 + 153 185 217 249 281 313 + 345 377 409 441 473 505 + 537 569 600 601 615 644 + 672 700 728 756 + 2 + 5 7 + 1 53 105 + 771 823 772 824 825 773 + 774 826 775 827 776 828 + 777 829 778 830 779 831 + 780 832 781 833 782 834 + 783 835 784 836 785 837 + 786 838 787 839 788 840 + 789 841 842 790 791 843 + 792 844 793 845 794 846 + 795 847 796 848 849 797 + 850 798 851 799 852 800 + 853 801 854 802 855 803 + 856 804 857 805 858 806 + 859 807 860 808 861 809 + 862 810 863 811 864 812 + 865 813 866 814 867 815 + 816 868 869 817 870 818 + 871 819 872 820 873 821 + 822 874 + 2 + 5 7 + 1 53 105 + 17 18 47 48 77 78 + 92 109 110 123 124 155 + 156 187 188 219 220 251 + 252 283 284 315 316 347 + 348 379 380 411 412 443 + 444 475 476 507 508 539 + 540 558 588 589 617 618 + 645 646 673 674 701 702 + 729 730 757 758 13 14 + 30 59 60 89 90 121 + 122 153 154 185 186 217 + 218 249 250 281 282 313 + 314 345 346 377 378 409 + 410 441 442 473 474 505 + 506 537 538 569 570 584 + 600 601 614 615 643 644 + 671 672 699 700 727 728 + 755 756 diff --git a/test/meshes/soufflet/dist_8/com_info00005.out b/test/meshes/soufflet/dist_8/com_info00005.out new file mode 100644 index 000000000..7124e899e --- /dev/null +++ b/test/meshes/soufflet/dist_8/com_info00005.out @@ -0,0 +1,57 @@ + 5 + 1 + 4 + 1 27 + 361 362 363 364 365 366 + 367 368 369 370 371 372 + 373 374 375 376 377 378 + 379 380 381 382 383 384 + 385 386 + 1 + 4 + 1 27 + 15 30 45 59 60 74 + 88 102 116 130 144 158 + 172 186 200 214 228 242 + 256 270 285 300 315 330 + 345 360 + 1 + 4 + 1 27 + 722 723 724 725 726 727 + 728 729 730 731 732 733 + 734 735 736 737 738 739 + 740 741 742 743 744 745 + 746 747 + 1 + 4 + 1 27 + 29 59 89 90 104 133 + 161 189 217 245 273 301 + 329 357 385 413 441 469 + 497 541 570 600 630 660 + 690 720 + 1 + 4 + 1 53 + 748 722 749 723 750 724 + 725 751 752 726 753 727 + 754 728 755 729 756 730 + 757 731 758 732 759 733 + 760 734 761 735 762 736 + 763 737 764 738 765 739 + 740 766 767 741 768 742 + 769 743 770 744 771 745 + 772 746 773 747 + 1 + 4 + 1 53 + 29 30 59 60 74 89 + 90 103 104 132 133 160 + 161 188 189 216 217 244 + 245 272 273 300 301 328 + 329 356 357 384 385 412 + 413 440 441 468 469 496 + 497 524 525 541 570 571 + 600 601 630 631 660 661 + 690 691 720 721 diff --git a/test/meshes/soufflet/dist_8/com_info00006.out b/test/meshes/soufflet/dist_8/com_info00006.out new file mode 100644 index 000000000..e871693e6 --- /dev/null +++ b/test/meshes/soufflet/dist_8/com_info00006.out @@ -0,0 +1,91 @@ + 6 + 2 + 0 7 + 1 27 53 + 360 361 362 363 364 365 + 366 367 368 369 370 371 + 372 373 374 375 376 377 + 378 379 380 381 382 383 + 384 385 386 387 388 389 + 390 391 392 393 394 395 + 396 397 398 399 400 401 + 402 403 404 405 406 407 + 408 409 410 411 + 2 + 0 7 + 1 27 53 + 15 30 45 60 75 90 + 104 118 132 146 160 174 + 188 202 216 229 242 255 + 268 269 284 299 314 329 + 344 359 1 16 31 46 + 61 76 91 105 119 133 + 147 161 175 189 203 217 + 230 243 256 270 271 285 + 300 315 330 345 + 2 + 0 7 + 1 27 53 + 771 772 773 774 775 776 + 777 778 779 780 781 782 + 783 784 785 786 787 788 + 789 790 791 792 793 794 + 795 796 797 798 799 800 + 801 802 803 804 805 806 + 807 808 809 810 811 812 + 813 814 815 816 817 818 + 819 820 821 822 + 2 + 0 7 + 1 27 53 + 16 48 80 112 144 175 + 221 251 281 311 341 371 + 401 431 461 489 517 545 + 561 562 594 626 658 690 + 722 754 18 50 82 114 + 146 178 210 240 270 300 + 330 360 390 420 449 463 + 491 519 549 595 596 628 + 660 692 724 756 + 2 + 0 7 + 1 53 105 + 771 823 772 824 773 825 + 774 826 775 827 776 828 + 829 777 778 830 779 831 + 780 832 781 833 782 834 + 783 835 784 836 785 837 + 786 838 787 839 788 840 + 841 789 790 842 791 843 + 792 844 793 845 794 846 + 795 847 796 848 797 849 + 798 850 799 851 800 852 + 801 853 802 854 803 855 + 804 856 805 857 806 858 + 807 859 808 860 809 861 + 810 862 811 863 812 813 + 864 865 814 866 815 816 + 867 868 817 869 818 870 + 819 871 820 872 821 873 + 822 874 + 2 + 0 7 + 1 53 105 + 15 16 47 48 79 80 + 111 112 143 144 175 189 + 190 221 222 251 252 281 + 282 311 312 341 342 371 + 372 401 402 431 432 461 + 462 489 490 517 518 545 + 546 561 562 575 593 594 + 625 626 657 658 689 690 + 721 722 753 754 17 18 + 49 50 81 82 113 114 + 145 146 177 178 209 210 + 239 240 269 270 299 300 + 329 330 359 360 389 390 + 419 420 435 436 449 463 + 464 491 492 519 520 549 + 550 581 595 596 627 628 + 659 660 691 692 723 724 + 755 756 diff --git a/test/meshes/soufflet/dist_8/com_info00007.out b/test/meshes/soufflet/dist_8/com_info00007.out new file mode 100644 index 000000000..a19f71192 --- /dev/null +++ b/test/meshes/soufflet/dist_8/com_info00007.out @@ -0,0 +1,91 @@ + 7 + 2 + 4 6 + 1 27 53 + 361 362 363 364 365 366 + 367 368 369 370 371 372 + 373 374 375 376 377 378 + 379 380 381 382 383 384 + 385 386 387 388 389 390 + 391 392 393 394 395 396 + 397 398 399 400 401 402 + 403 404 405 406 407 408 + 409 410 411 412 + 2 + 4 6 + 1 27 53 + 1 2 16 30 44 58 + 72 86 100 114 128 142 + 156 170 184 198 212 227 + 242 257 272 286 301 316 + 331 346 15 29 43 57 + 71 85 99 113 127 141 + 155 169 183 197 211 225 + 226 241 256 271 285 300 + 315 330 345 360 + 2 + 4 6 + 1 27 53 + 773 774 775 776 777 778 + 779 780 781 782 783 784 + 785 786 787 788 789 790 + 791 792 793 794 795 796 + 797 798 799 800 801 802 + 803 804 805 806 807 808 + 809 810 811 812 813 814 + 815 816 817 818 819 820 + 821 822 823 824 + 2 + 4 6 + 1 27 53 + 19 49 79 109 139 169 + 199 229 259 289 319 349 + 379 409 439 470 502 534 + 566 582 613 645 677 709 + 741 742 30 60 90 120 + 150 180 210 240 270 300 + 330 360 390 420 450 467 + 468 500 532 563 611 643 + 675 707 739 771 + 2 + 4 6 + 1 53 105 + 825 826 773 774 827 775 + 828 776 829 777 830 778 + 831 779 832 780 833 781 + 834 782 835 783 836 784 + 837 785 838 786 839 787 + 840 788 841 789 842 790 + 843 844 791 792 845 793 + 846 794 847 795 848 796 + 849 797 850 798 851 799 + 852 800 853 801 854 802 + 855 803 856 804 857 805 + 858 806 859 807 860 808 + 861 809 862 810 863 811 + 864 812 865 866 813 814 + 867 815 868 816 869 817 + 870 871 818 819 872 820 + 873 821 874 822 875 823 + 876 824 + 2 + 4 6 + 1 53 105 + 18 19 48 49 78 79 + 108 109 138 139 168 169 + 198 199 228 229 258 259 + 288 289 318 319 348 349 + 378 379 408 409 438 439 + 469 470 501 502 533 534 + 565 566 582 599 600 613 + 614 645 646 677 678 709 + 710 741 742 760 30 31 + 60 61 90 91 120 121 + 150 151 180 181 210 211 + 240 241 270 271 300 301 + 330 331 360 361 390 391 + 420 421 450 451 467 468 + 481 499 500 531 532 563 + 577 578 611 612 643 644 + 675 676 707 708 739 740 + 771 772 diff --git a/test/meshes/soufflet/dist_8/my_list00000.out b/test/meshes/soufflet/dist_8/my_list00000.out new file mode 100644 index 000000000..7a1f1047b --- /dev/null +++ b/test/meshes/soufflet/dist_8/my_list00000.out @@ -0,0 +1,420 @@ + 0 + 359 + 52 + 59 60 61 62 63 64 + 65 66 67 68 69 70 + 71 72 174 175 176 177 + 178 179 180 181 182 183 + 184 185 186 187 289 290 + 291 292 293 294 295 296 + 297 298 299 300 301 302 + 404 405 406 407 408 409 + 410 411 412 413 414 415 + 416 417 519 520 521 522 + 523 524 525 526 527 528 + 529 530 531 532 634 635 + 636 637 638 639 640 641 + 642 643 644 645 646 647 + 748 749 750 751 752 753 + 754 755 756 757 758 759 + 760 761 762 863 864 865 + 866 867 868 869 870 871 + 872 873 874 875 876 877 + 978 979 980 981 982 983 + 984 985 986 987 988 989 + 990 991 992 1093 1094 1095 + 1096 1097 1098 1099 1100 1101 + 1102 1103 1104 1105 1106 1107 + 1208 1209 1210 1211 1212 1213 + 1214 1215 1216 1217 1218 1219 + 1220 1221 1222 1323 1324 1325 + 1326 1327 1328 1329 1330 1331 + 1332 1333 1334 1335 1336 1337 + 1438 1439 1440 1441 1442 1443 + 1444 1445 1446 1447 1448 1449 + 1450 1451 1452 1553 1554 1555 + 1556 1557 1558 1559 1560 1561 + 1562 1563 1564 1565 1566 1567 + 1668 1669 1670 1671 1672 1673 + 1674 1675 1676 1677 1678 1679 + 1680 1681 1783 1784 1785 1786 + 1787 1788 1789 1790 1791 1792 + 1793 1794 1795 1796 1898 1899 + 1900 1901 1902 1903 1904 1905 + 1906 1907 1908 1909 1910 1911 + 2013 2014 2015 2016 2017 2018 + 2019 2020 2021 2022 2023 2024 + 2025 2026 2027 2129 2130 2131 + 2132 2133 2134 2135 2136 2137 + 2138 2139 2140 2141 2142 2244 + 2245 2246 2247 2248 2249 2250 + 2251 2252 2253 2254 2255 2256 + 2257 2359 2360 2361 2362 2363 + 2364 2365 2366 2367 2368 2369 + 2370 2371 2372 2474 2475 2476 + 2477 2478 2479 2480 2481 2482 + 2483 2484 2485 2486 2487 2589 + 2590 2591 2592 2593 2594 2595 + 2596 2597 2598 2599 2600 2601 + 2602 2704 2705 2706 2707 2708 + 2709 2710 2711 2712 2713 2714 + 2715 2716 2717 2819 2820 2821 + 2822 2823 2824 2825 2826 2827 + 2828 2829 2830 2831 2832 73 + 188 303 418 533 648 763 + 878 993 1108 1223 1338 1453 + 1568 1682 1683 1797 1912 2028 + 2143 2258 2373 2488 2603 2718 + 2833 58 173 288 403 518 + 633 747 862 977 1092 1207 + 1322 1437 1552 1667 1782 1897 + 2012 2127 2128 2243 2358 2473 + 2588 2703 2818 + 770 + 52 + 52 + 59 60 61 62 63 64 + 65 66 67 68 69 70 + 71 72 171 172 173 174 + 175 176 177 178 179 180 + 181 182 183 184 185 186 + 287 288 289 290 291 292 + 293 294 295 296 297 298 + 299 300 399 400 401 402 + 403 404 405 406 407 408 + 409 410 411 412 413 414 + 515 516 517 518 519 520 + 521 522 523 524 525 526 + 527 528 627 628 629 630 + 631 632 633 634 635 636 + 637 638 639 640 641 642 + 743 744 745 746 747 748 + 749 750 751 752 753 754 + 755 756 855 856 857 858 + 859 860 861 862 863 864 + 865 866 867 868 869 870 + 971 972 973 974 975 976 + 977 978 979 980 981 982 + 983 984 1083 1084 1085 1086 + 1087 1088 1089 1090 1091 1092 + 1093 1094 1095 1096 1097 1098 + 1198 1199 1200 1201 1202 1203 + 1204 1205 1206 1207 1208 1209 + 1210 1211 1212 1311 1312 1313 + 1314 1315 1316 1317 1318 1319 + 1320 1321 1322 1323 1324 1325 + 1326 1425 1426 1427 1428 1429 + 1430 1431 1432 1433 1434 1435 + 1436 1437 1438 1439 1440 1539 + 1540 1541 1542 1543 1544 1545 + 1546 1547 1548 1549 1550 1551 + 1552 1553 1554 1653 1654 1655 + 1656 1657 1658 1659 1660 1661 + 1662 1663 1664 1665 1666 1667 + 1668 1767 1768 1769 1770 1771 + 1772 1773 1774 1775 1776 1777 + 1778 1779 1780 1781 1782 1881 + 1882 1883 1884 1885 1886 1887 + 1888 1889 1890 1891 1892 1893 + 1894 1895 1896 1995 1996 1997 + 1998 1999 2000 2001 2002 2003 + 2004 2005 2006 2007 2008 2009 + 2010 2109 2110 2111 2112 2113 + 2114 2115 2116 2117 2118 2119 + 2120 2121 2122 2123 2124 2223 + 2224 2225 2226 2227 2228 2229 + 2230 2231 2232 2233 2234 2235 + 2236 2237 2238 2337 2338 2339 + 2340 2341 2342 2343 2344 2345 + 2346 2347 2348 2349 2350 2351 + 2352 2451 2452 2453 2454 2455 + 2456 2457 2458 2459 2460 2461 + 2462 2463 2464 2465 2466 2565 + 2566 2567 2568 2569 2570 2571 + 2572 2573 2574 2575 2576 2577 + 2578 2579 2580 2679 2680 2681 + 2682 2683 2684 2685 2686 2687 + 2688 2689 2690 2691 2692 2693 + 2694 2793 2794 2795 2796 2797 + 2798 2799 2800 2801 2802 2803 + 2804 2805 2806 2807 2808 2907 + 2908 2909 2910 2911 2912 2913 + 2914 2915 2916 2917 2918 2919 + 2920 2921 2922 3021 3022 3023 + 3024 3025 3026 3027 3028 3029 + 3030 3031 3032 3033 3034 3035 + 3036 3135 3136 3137 3138 3139 + 3140 3141 3142 3143 3144 3145 + 3146 3147 3148 3149 3150 3249 + 3250 3251 3252 3253 3254 3255 + 3256 3257 3258 3259 3260 3261 + 3262 3263 3264 3363 3364 3365 + 3366 3367 3368 3369 3370 3371 + 3372 3373 3374 3375 3376 3477 + 3478 3479 3480 3481 3482 3483 + 3484 3485 3486 3487 3488 3489 + 3490 3491 3492 3591 3592 3593 + 3594 3595 3596 3597 3598 3599 + 3600 3601 3602 3603 3604 3705 + 3706 3707 3708 3709 3710 3711 + 3712 3713 3714 3715 3716 3717 + 3718 3719 3720 3819 3820 3821 + 3822 3823 3824 3825 3826 3827 + 3828 3829 3830 3831 3832 3834 + 3933 3934 3935 3936 3937 3938 + 3939 3940 3941 3942 3943 3944 + 3945 3946 3947 3948 4047 4048 + 4049 4050 4051 4052 4053 4054 + 4055 4056 4057 4058 4059 4060 + 4061 4062 4163 4164 4165 4166 + 4167 4168 4169 4170 4171 4172 + 4173 4174 4175 4176 4275 4276 + 4277 4278 4279 4280 4281 4282 + 4283 4284 4285 4286 4287 4288 + 4289 4290 4391 4392 4393 4394 + 4395 4396 4397 4398 4399 4400 + 4401 4402 4403 4404 4503 4504 + 4505 4506 4507 4508 4509 4510 + 4511 4512 4513 4514 4515 4516 + 4517 4518 4619 4620 4621 4622 + 4623 4624 4625 4626 4627 4628 + 4629 4630 4631 4632 4731 4732 + 4733 4734 4735 4736 4737 4738 + 4739 4740 4741 4742 4743 4744 + 4745 4746 4847 4848 4849 4850 + 4851 4852 4853 4854 4855 4856 + 4857 4858 4859 4860 4959 4960 + 4961 4962 4963 4964 4965 4966 + 4967 4968 4969 4970 4971 4972 + 4973 4974 5075 5076 5077 5078 + 5079 5080 5081 5082 5083 5084 + 5085 5086 5087 5088 5187 5188 + 5189 5190 5191 5192 5193 5194 + 5195 5196 5197 5198 5199 5200 + 5201 5202 5303 5304 5305 5306 + 5307 5308 5309 5310 5311 5312 + 5313 5314 5315 5316 5415 5416 + 5417 5418 5419 5420 5421 5422 + 5423 5424 5425 5426 5427 5428 + 5429 5430 5531 5532 5533 5534 + 5535 5536 5537 5538 5539 5540 + 5541 5542 5543 5544 5643 5644 + 5645 5646 5647 5648 5649 5650 + 5651 5652 5653 5654 5655 5656 + 5657 5658 73 301 529 757 + 985 1213 1441 1669 1897 2125 + 2353 2581 2809 3037 3377 3378 + 3606 3833 3949 4177 4405 4633 + 4861 5089 5317 5545 58 286 + 514 742 970 1197 1537 1765 + 1993 2221 2449 2677 2905 3133 + 3361 3589 3817 4045 4161 4162 + 4390 4618 4846 5074 5302 5530 + 74 302 530 758 986 1214 + 1442 1670 1898 2126 2354 2582 + 2810 3038 3265 3605 3721 3722 + 3950 4178 4406 4634 4862 5090 + 5318 5546 57 285 513 741 + 969 1309 1310 1538 1766 1994 + 2222 2450 2678 2906 3134 3362 + 3590 3818 4046 4273 4389 4617 + 4845 5073 5301 5529 + 1129 + 52 + 285 286 288 289 290 291 + 292 293 294 295 296 297 + 298 299 300 301 302 303 + 304 305 306 307 308 309 + 310 311 312 313 314 315 + 316 317 318 319 320 321 + 322 323 324 325 326 327 + 328 329 330 331 332 333 + 334 335 336 337 338 339 + 340 341 342 343 344 345 + 346 347 348 349 350 351 + 352 353 354 355 356 357 + 362 738 741 742 743 744 + 745 746 747 748 749 750 + 751 752 753 754 755 756 + 757 758 759 760 761 762 + 763 764 765 766 767 768 + 769 770 771 772 773 774 + 775 776 777 778 779 780 + 781 782 783 1079 1082 1083 + 1084 1085 1086 1087 1088 1089 + 1090 1091 1092 1093 1094 1095 + 1096 1097 1098 1099 1100 1101 + 1102 1103 1104 1105 1106 1107 + 1108 1109 1110 1111 1112 1113 + 1114 1115 1116 1117 1118 1119 + 1120 1121 1122 1123 1124 1420 + 1423 1424 1425 1426 1427 1428 + 1429 1430 1431 1432 1433 1434 + 1435 1436 1437 1438 1439 1440 + 1441 1442 1443 1444 1445 1446 + 1447 1448 1449 1450 1451 1452 + 1453 1454 1455 1456 1457 1458 + 1459 1460 1461 1462 1463 1464 + 1465 1761 1764 1765 1766 1767 + 1768 1769 1770 1771 1772 1773 + 1774 1775 1776 1777 1778 1779 + 1780 1781 1782 1783 1784 1785 + 1786 1787 1788 1789 1790 1791 + 1792 1793 1794 1795 1796 1797 + 1798 1799 1800 1801 1802 1803 + 1804 1805 1806 2102 2104 2105 + 2106 2107 2108 2109 2110 2111 + 2112 2113 2114 2115 2116 2117 + 2118 2119 2120 2121 2122 2123 + 2124 2125 2126 2127 2128 2129 + 2130 2131 2132 2133 2134 2135 + 2136 2137 2138 2139 2140 2141 + 2142 2143 2144 2145 2146 2147 + 2441 2443 2444 2445 2446 2447 + 2448 2449 2450 2451 2452 2453 + 2454 2455 2456 2457 2458 2459 + 2460 2461 2462 2463 2464 2465 + 2466 2467 2468 2469 2470 2471 + 2472 2473 2474 2475 2476 2477 + 2478 2479 2480 2481 2482 2483 + 2484 2485 2486 2487 2488 2782 + 2784 2785 2786 2787 2788 2789 + 2790 2791 2792 2793 2794 2795 + 2796 2797 2798 2799 2800 2801 + 2802 2803 2804 2805 2806 2807 + 2808 2809 2810 2811 2812 2813 + 2814 2815 2816 2817 2818 2819 + 2820 2821 2822 2823 2824 2825 + 2826 2827 2828 2829 3123 3125 + 3126 3127 3128 3129 3130 3131 + 3132 3133 3134 3135 3136 3137 + 3138 3139 3140 3141 3142 3143 + 3144 3145 3146 3147 3148 3149 + 3150 3151 3152 3153 3154 3155 + 3156 3157 3158 3159 3160 3161 + 3162 3163 3164 3165 3166 3167 + 3168 3169 3170 3464 3466 3467 + 3468 3469 3470 3471 3472 3473 + 3474 3475 3476 3477 3478 3479 + 3480 3481 3482 3483 3484 3485 + 3486 3487 3488 3489 3490 3491 + 3492 3493 3494 3495 3496 3497 + 3498 3499 3500 3501 3502 3503 + 3504 3505 3506 3507 3508 3509 + 3510 3511 3805 3807 3808 3809 + 3810 3811 3812 3813 3814 3815 + 3816 3817 3818 3819 3820 3821 + 3822 3823 3824 3825 3826 3827 + 3828 3829 3830 3831 3832 3833 + 3834 3835 3836 3837 3838 3839 + 3840 3841 3842 3843 3844 3845 + 3846 3847 3848 3849 3850 3851 + 3852 4146 4148 4149 4150 4151 + 4152 4153 4154 4155 4156 4157 + 4158 4159 4160 4161 4162 4163 + 4164 4165 4166 4167 4168 4169 + 4170 4171 4172 4173 4174 4175 + 4176 4177 4178 4179 4180 4181 + 4182 4183 4184 4185 4186 4187 + 4188 4189 4190 4191 4192 4193 + 4487 4489 4490 4491 4492 4493 + 4494 4495 4496 4497 4498 4499 + 4500 4501 4502 4503 4504 4505 + 4506 4507 4508 4509 4510 4511 + 4512 4513 4514 4515 4516 4517 + 4518 4519 4520 4521 4522 4523 + 4524 4525 4526 4527 4528 4529 + 4530 4531 4532 4533 4534 4828 + 4830 4831 4832 4833 4834 4835 + 4836 4837 4838 4839 4840 4841 + 4842 4843 4844 4845 4846 4847 + 4848 4849 4850 4851 4852 4853 + 4854 4855 4856 4857 4858 4859 + 4860 4861 4862 4863 4864 4865 + 4866 4867 4868 4869 4870 4871 + 4872 4873 4874 4875 5169 5171 + 5172 5173 5174 5175 5176 5177 + 5178 5179 5180 5181 5182 5183 + 5184 5185 5186 5187 5188 5189 + 5190 5191 5192 5193 5194 5195 + 5196 5197 5198 5199 5200 5201 + 5202 5203 5204 5205 5206 5207 + 5208 5209 5210 5211 5212 5214 + 5510 5512 5513 5514 5515 5516 + 5517 5518 5519 5520 5521 5522 + 5523 5524 5525 5526 5527 5528 + 5529 5530 5531 5532 5533 5534 + 5535 5536 5537 5538 5539 5540 + 5541 5542 5543 5544 5545 5546 + 5547 5548 5549 5550 5551 5552 + 5553 5555 5851 5853 5854 5855 + 5856 5857 5858 5859 5860 5861 + 5862 5863 5864 5865 5866 5867 + 5868 5869 5870 5871 5872 5873 + 5874 5875 5876 5877 5878 5879 + 5880 5881 5882 5883 5884 5885 + 5886 5887 5888 5889 5890 5891 + 5892 5893 5894 5896 5897 6192 + 6194 6195 6196 6197 6198 6199 + 6200 6201 6202 6203 6204 6205 + 6206 6207 6208 6209 6210 6211 + 6212 6213 6214 6215 6216 6217 + 6218 6219 6220 6221 6222 6223 + 6224 6225 6226 6227 6228 6229 + 6230 6231 6232 6233 6234 6235 + 6236 6237 6238 6239 6535 6538 + 6539 6540 6541 6542 6543 6544 + 6545 6546 6547 6548 6549 6550 + 6551 6552 6553 6554 6555 6556 + 6557 6558 6559 6560 6561 6562 + 6563 6564 6565 6566 6567 6568 + 6569 6570 6571 6572 6573 6574 + 6575 6576 6577 6578 6579 6580 + 6876 6879 6880 6881 6882 6883 + 6884 6885 6886 6887 6888 6889 + 6890 6891 6892 6893 6894 6895 + 6896 6897 6898 6899 6900 6901 + 6902 6903 6904 6905 6906 6907 + 6908 6909 6910 6911 6912 6913 + 6914 6915 6916 6917 6918 6919 + 6920 6921 7217 7220 7221 7222 + 7223 7224 7225 7226 7227 7228 + 7229 7230 7231 7232 7233 7234 + 7235 7236 7237 7238 7239 7240 + 7241 7242 7243 7244 7245 7246 + 7247 7248 7249 7250 7251 7252 + 7253 7254 7255 7256 7257 7258 + 7259 7260 7261 7262 7558 7561 + 7562 7563 7564 7565 7566 7567 + 7568 7569 7570 7571 7572 7573 + 7574 7575 7576 7577 7578 7579 + 7580 7581 7582 7583 7584 7585 + 7586 7587 7588 7589 7590 7591 + 7592 7593 7594 7595 7596 7597 + 7598 7599 7600 7601 7602 7603 + 7899 7902 7903 7904 7905 7906 + 7907 7908 7909 7910 7911 7912 + 7913 7914 7915 7916 7917 7918 + 7919 7920 7921 7922 7923 7924 + 7925 7926 7927 7928 7929 7930 + 7931 7932 7933 7934 7935 7936 + 7937 7938 7939 7940 7941 7942 + 7943 7944 8240 8243 8244 8245 + 8246 8247 8248 8249 8250 8251 + 8252 8253 8254 8255 8256 8257 + 8258 8259 8260 8261 8262 8263 + 8264 8265 8266 8267 8268 8269 + 8270 8271 8272 8273 8274 8275 + 8276 8277 8278 8279 8280 8281 + 8282 8283 8284 8285 8469 8470 + 8471 8472 8473 8474 8475 8476 + 8477 8478 8479 8480 8481 8482 + 8483 284 359 740 785 1081 + 1126 1422 1467 1763 1808 2103 + 2149 2442 2490 2783 2831 3124 + 3172 3465 3513 3806 3854 4147 + 4195 4488 4536 4829 4877 5213 + 5170 5215 5511 5556 5852 5898 + 6193 6533 6241 6537 6582 6878 + 6923 7219 7264 7560 7605 7901 + 7946 8242 8287 287 360 diff --git a/test/meshes/soufflet/dist_8/my_list00001.out b/test/meshes/soufflet/dist_8/my_list00001.out new file mode 100644 index 000000000..9b055c909 --- /dev/null +++ b/test/meshes/soufflet/dist_8/my_list00001.out @@ -0,0 +1,420 @@ + 1 + 359 + 52 + 73 74 75 76 77 78 + 79 80 81 82 83 84 + 85 86 188 189 190 191 + 192 193 194 195 196 197 + 198 199 200 201 303 304 + 305 306 307 308 309 310 + 311 312 313 314 315 316 + 418 419 420 421 422 423 + 424 425 426 427 428 429 + 430 431 432 533 534 535 + 536 537 538 539 540 541 + 542 543 544 545 546 547 + 648 649 650 651 652 653 + 654 655 656 657 658 659 + 660 661 662 763 764 765 + 766 767 768 769 770 771 + 772 773 774 775 776 777 + 878 879 880 881 882 883 + 884 885 886 887 888 889 + 890 891 892 993 994 995 + 996 997 998 999 1000 1001 + 1002 1003 1004 1005 1006 1007 + 1108 1109 1110 1111 1112 1113 + 1114 1115 1116 1117 1118 1119 + 1120 1121 1223 1224 1225 1226 + 1227 1228 1229 1230 1231 1232 + 1233 1234 1235 1236 1338 1339 + 1340 1341 1342 1343 1344 1345 + 1346 1347 1348 1349 1350 1351 + 1453 1454 1455 1456 1457 1458 + 1459 1460 1461 1462 1463 1464 + 1465 1466 1568 1569 1570 1571 + 1572 1573 1574 1575 1576 1577 + 1578 1579 1580 1581 1682 1683 + 1684 1685 1686 1687 1688 1689 + 1690 1691 1692 1693 1694 1695 + 1696 1797 1798 1799 1800 1801 + 1802 1803 1804 1805 1806 1807 + 1808 1809 1810 1811 1912 1913 + 1914 1915 1916 1917 1918 1919 + 1920 1921 1922 1923 1924 1925 + 1926 2028 2029 2030 2031 2032 + 2033 2034 2035 2036 2037 2038 + 2039 2040 2041 2143 2144 2145 + 2146 2147 2148 2149 2150 2151 + 2152 2153 2154 2155 2156 2258 + 2259 2260 2261 2262 2263 2264 + 2265 2266 2267 2268 2269 2270 + 2271 2373 2374 2375 2376 2377 + 2378 2379 2380 2381 2382 2383 + 2384 2385 2386 2488 2489 2490 + 2491 2492 2493 2494 2495 2496 + 2497 2498 2499 2500 2501 2603 + 2604 2605 2606 2607 2608 2609 + 2610 2611 2612 2613 2614 2615 + 2616 2718 2719 2720 2721 2722 + 2723 2724 2725 2726 2727 2728 + 2729 2730 2731 2833 2834 2835 + 2836 2837 2838 2839 2840 2841 + 2842 2843 2844 2845 2846 72 + 187 302 417 532 647 762 + 877 992 1107 1222 1337 1452 + 1567 1681 1796 1911 2026 2027 + 2142 2257 2372 2487 2602 2717 + 2832 87 202 317 318 433 + 548 663 778 893 1008 1122 + 1237 1352 1467 1582 1697 1812 + 1927 2042 2157 2272 2387 2502 + 2617 2732 2847 + 770 + 52 + 52 + 73 74 75 76 77 78 + 79 80 81 82 83 84 + 85 86 185 186 187 188 + 189 190 191 192 193 194 + 195 196 197 198 199 200 + 301 302 303 304 305 306 + 307 308 309 310 311 312 + 313 314 413 414 415 416 + 417 418 419 420 421 422 + 423 424 425 426 427 428 + 529 530 531 532 533 534 + 535 536 537 538 539 540 + 541 542 543 544 641 642 + 643 644 645 646 647 648 + 649 650 651 652 653 654 + 655 656 757 758 759 760 + 761 762 763 764 765 766 + 767 768 769 770 771 772 + 869 870 871 872 873 874 + 875 876 877 878 879 880 + 881 882 883 884 985 986 + 987 988 989 990 991 992 + 993 994 995 996 997 998 + 999 1000 1097 1098 1099 1100 + 1101 1102 1103 1104 1105 1106 + 1107 1108 1109 1110 1111 1112 + 1213 1214 1215 1216 1217 1218 + 1219 1220 1221 1222 1223 1224 + 1225 1226 1227 1228 1325 1326 + 1327 1328 1329 1330 1331 1332 + 1333 1334 1335 1336 1337 1338 + 1339 1340 1441 1442 1443 1444 + 1445 1446 1447 1448 1449 1450 + 1451 1452 1453 1454 1455 1456 + 1553 1554 1555 1556 1557 1558 + 1559 1560 1561 1562 1563 1564 + 1565 1566 1567 1568 1669 1670 + 1671 1672 1673 1674 1675 1676 + 1677 1678 1679 1680 1681 1682 + 1683 1684 1781 1782 1783 1784 + 1785 1786 1787 1788 1789 1790 + 1791 1792 1793 1794 1795 1796 + 1897 1898 1899 1900 1901 1902 + 1903 1904 1905 1906 1907 1908 + 1909 1910 1911 2009 2010 2011 + 2012 2013 2014 2015 2016 2017 + 2018 2019 2020 2021 2022 2023 + 2024 2125 2126 2127 2128 2129 + 2130 2131 2132 2133 2134 2135 + 2136 2137 2138 2237 2238 2239 + 2240 2241 2242 2243 2244 2245 + 2246 2247 2248 2249 2250 2251 + 2252 2353 2354 2355 2356 2357 + 2358 2359 2360 2361 2362 2363 + 2364 2365 2366 2465 2466 2467 + 2468 2469 2470 2471 2472 2473 + 2474 2475 2476 2477 2478 2479 + 2480 2581 2582 2583 2584 2585 + 2586 2587 2588 2589 2590 2591 + 2592 2593 2594 2693 2694 2695 + 2696 2697 2698 2699 2700 2701 + 2702 2703 2704 2705 2706 2707 + 2708 2809 2810 2811 2812 2813 + 2814 2815 2816 2817 2818 2819 + 2820 2821 2822 2921 2922 2923 + 2924 2925 2926 2927 2928 2929 + 2930 2931 2932 2933 2934 2935 + 2936 3036 3037 3038 3039 3040 + 3041 3042 3043 3044 3045 3046 + 3047 3048 3049 3050 3149 3150 + 3151 3152 3153 3154 3155 3156 + 3157 3158 3159 3160 3161 3162 + 3163 3164 3263 3264 3265 3266 + 3267 3268 3269 3270 3271 3272 + 3273 3274 3275 3276 3277 3278 + 3377 3378 3379 3380 3381 3382 + 3383 3384 3385 3386 3387 3388 + 3389 3390 3391 3392 3491 3492 + 3493 3494 3495 3496 3497 3498 + 3499 3500 3501 3502 3503 3504 + 3505 3506 3605 3606 3607 3608 + 3609 3610 3611 3612 3613 3614 + 3615 3616 3617 3618 3619 3620 + 3719 3720 3721 3722 3723 3724 + 3725 3726 3727 3728 3729 3730 + 3731 3732 3733 3734 3833 3834 + 3835 3836 3837 3838 3839 3840 + 3841 3842 3843 3844 3845 3846 + 3847 3848 3949 3950 3951 3952 + 3953 3954 3955 3956 3957 3958 + 3959 3960 3961 3962 4061 4062 + 4063 4064 4065 4066 4067 4068 + 4069 4070 4071 4072 4073 4074 + 4075 4076 4177 4178 4179 4180 + 4181 4182 4183 4184 4185 4186 + 4187 4188 4189 4190 4289 4290 + 4291 4292 4293 4294 4295 4296 + 4297 4298 4299 4300 4301 4302 + 4303 4304 4405 4406 4407 4408 + 4409 4410 4411 4412 4413 4414 + 4415 4416 4417 4418 4517 4518 + 4519 4520 4521 4522 4523 4524 + 4525 4526 4527 4528 4529 4530 + 4531 4532 4633 4634 4635 4636 + 4637 4638 4639 4640 4641 4642 + 4643 4644 4645 4646 4745 4746 + 4747 4748 4749 4750 4751 4752 + 4753 4754 4755 4756 4757 4758 + 4759 4760 4861 4862 4863 4864 + 4865 4866 4867 4868 4869 4870 + 4871 4872 4873 4874 4973 4974 + 4975 4976 4977 4978 4979 4980 + 4981 4982 4983 4984 4985 4986 + 4987 4988 5089 5090 5091 5092 + 5093 5094 5095 5096 5097 5098 + 5099 5100 5101 5102 5201 5202 + 5203 5204 5205 5206 5207 5208 + 5209 5210 5211 5212 5213 5214 + 5215 5216 5317 5318 5319 5320 + 5321 5322 5323 5324 5325 5326 + 5327 5328 5329 5330 5429 5430 + 5431 5432 5433 5434 5435 5436 + 5437 5438 5439 5440 5441 5442 + 5443 5444 5545 5546 5547 5548 + 5549 5550 5551 5552 5553 5554 + 5555 5556 5557 5558 5657 5658 + 5659 5660 5661 5662 5663 5664 + 5665 5666 5667 5668 5669 5670 + 5671 5672 72 300 528 756 + 984 1212 1440 1668 1896 2124 + 2352 2580 2808 3035 3375 3603 + 3831 3947 3948 4176 4404 4632 + 4860 5088 5316 5544 87 315 + 316 658 886 1114 1342 1570 + 1798 1912 2139 2367 2595 2823 + 3051 3279 3507 3735 3963 4191 + 4419 4647 4875 5103 5331 5559 + 71 299 527 755 983 1211 + 1439 1667 1895 2123 2351 2579 + 2807 3147 3148 3376 3604 3832 + 4059 4175 4403 4631 4859 5087 + 5315 5543 88 430 657 885 + 1113 1341 1569 1797 2025 2026 + 2140 2368 2596 2824 3052 3280 + 3508 3736 3964 4192 4420 4648 + 4876 5104 5332 5560 + 1129 + 52 + 355 356 358 359 360 361 + 362 363 364 365 366 367 + 368 369 370 371 372 373 + 374 375 376 377 378 379 + 380 381 382 383 384 385 + 386 387 388 389 390 391 + 392 393 394 395 396 397 + 398 399 400 401 402 403 + 404 405 406 407 408 409 + 410 411 412 413 414 415 + 416 417 418 419 420 421 + 422 423 424 425 426 427 + 432 780 783 784 785 786 + 787 788 789 790 791 792 + 793 794 795 796 797 798 + 799 800 801 802 803 804 + 805 806 807 808 809 810 + 811 812 813 814 815 816 + 817 818 819 820 821 822 + 823 824 825 1121 1124 1125 + 1126 1127 1128 1129 1130 1131 + 1132 1133 1134 1135 1136 1137 + 1138 1139 1140 1141 1142 1143 + 1144 1145 1146 1147 1148 1149 + 1150 1151 1152 1153 1154 1155 + 1156 1157 1158 1159 1160 1161 + 1162 1163 1164 1165 1166 1168 + 1170 1462 1465 1466 1467 1468 + 1469 1470 1471 1472 1473 1474 + 1475 1476 1477 1478 1479 1480 + 1481 1482 1483 1484 1485 1486 + 1487 1488 1489 1490 1491 1492 + 1493 1494 1495 1496 1497 1498 + 1499 1500 1501 1502 1503 1504 + 1505 1506 1507 1508 1509 1511 + 1803 1806 1807 1808 1809 1810 + 1811 1812 1813 1814 1815 1816 + 1817 1818 1819 1820 1821 1822 + 1823 1824 1825 1826 1827 1828 + 1829 1830 1831 1832 1833 1834 + 1835 1836 1837 1838 1839 1840 + 1841 1842 1843 1844 1845 1846 + 1847 1848 1849 1850 1852 2144 + 2147 2148 2149 2150 2151 2152 + 2153 2154 2155 2156 2157 2158 + 2159 2160 2161 2162 2163 2164 + 2165 2166 2167 2168 2169 2170 + 2171 2172 2173 2174 2175 2176 + 2177 2178 2179 2180 2181 2182 + 2183 2184 2185 2186 2187 2188 + 2189 2190 2191 2193 2485 2488 + 2489 2490 2491 2492 2493 2494 + 2495 2496 2497 2498 2499 2500 + 2501 2502 2503 2504 2505 2506 + 2507 2508 2509 2510 2511 2512 + 2513 2514 2515 2516 2517 2518 + 2519 2520 2521 2522 2523 2524 + 2525 2526 2527 2528 2529 2530 + 2531 2532 2534 2826 2829 2830 + 2831 2832 2833 2834 2835 2836 + 2837 2838 2839 2840 2841 2842 + 2843 2844 2845 2846 2847 2848 + 2849 2850 2851 2852 2853 2854 + 2855 2856 2857 2858 2859 2860 + 2861 2862 2863 2864 2865 2866 + 2867 2868 2869 2870 2871 2872 + 2873 2875 3167 3170 3171 3172 + 3173 3174 3175 3176 3177 3178 + 3179 3180 3181 3182 3183 3184 + 3185 3186 3187 3188 3189 3190 + 3191 3192 3193 3194 3195 3196 + 3197 3198 3199 3200 3201 3202 + 3203 3204 3205 3206 3207 3208 + 3209 3210 3211 3212 3213 3214 + 3508 3511 3512 3513 3514 3515 + 3516 3517 3518 3519 3520 3521 + 3522 3523 3524 3525 3526 3527 + 3528 3529 3530 3531 3532 3533 + 3534 3535 3536 3537 3538 3539 + 3540 3541 3542 3543 3544 3545 + 3546 3547 3548 3549 3550 3551 + 3552 3553 3849 3852 3853 3854 + 3855 3856 3857 3858 3859 3860 + 3861 3862 3863 3864 3865 3866 + 3867 3868 3869 3870 3871 3872 + 3873 3874 3875 3876 3877 3878 + 3879 3880 3881 3882 3883 3884 + 3885 3886 3887 3888 3889 3890 + 3891 3892 3893 3894 4190 4193 + 4194 4195 4196 4197 4198 4199 + 4200 4201 4202 4203 4204 4205 + 4206 4207 4208 4209 4210 4211 + 4212 4213 4214 4215 4216 4217 + 4218 4219 4220 4221 4222 4223 + 4224 4225 4226 4227 4228 4229 + 4230 4231 4232 4233 4234 4235 + 4531 4534 4535 4536 4537 4538 + 4539 4540 4541 4542 4543 4544 + 4545 4546 4547 4548 4549 4550 + 4551 4552 4553 4554 4555 4556 + 4557 4558 4559 4560 4561 4562 + 4563 4564 4565 4566 4567 4568 + 4569 4570 4571 4572 4573 4574 + 4575 4576 4872 4874 4875 4876 + 4877 4878 4879 4880 4881 4882 + 4883 4884 4885 4886 4887 4888 + 4889 4890 4891 4892 4893 4894 + 4895 4896 4897 4898 4899 4900 + 4901 4902 4903 4904 4905 4906 + 4907 4908 4909 4910 4911 4912 + 4913 4914 4915 4916 4917 5211 + 5213 5214 5215 5216 5217 5218 + 5219 5220 5221 5222 5223 5224 + 5225 5226 5227 5228 5229 5230 + 5231 5232 5233 5234 5235 5236 + 5237 5238 5239 5240 5241 5242 + 5243 5244 5245 5246 5247 5248 + 5249 5250 5251 5252 5253 5254 + 5255 5256 5257 5258 5552 5554 + 5555 5556 5557 5558 5559 5560 + 5561 5562 5563 5564 5565 5566 + 5567 5568 5569 5570 5571 5572 + 5573 5574 5575 5576 5577 5578 + 5579 5580 5581 5582 5583 5584 + 5585 5586 5587 5588 5589 5590 + 5591 5592 5593 5594 5595 5596 + 5597 5598 5599 5893 5895 5896 + 5897 5898 5899 5900 5901 5902 + 5903 5904 5905 5906 5907 5908 + 5909 5910 5911 5912 5913 5914 + 5915 5916 5917 5918 5919 5920 + 5921 5922 5923 5924 5925 5926 + 5927 5928 5929 5930 5931 5932 + 5933 5934 5935 5936 5937 5938 + 5939 5940 6236 6239 6240 6241 + 6242 6243 6244 6245 6246 6247 + 6248 6249 6250 6251 6252 6253 + 6254 6255 6256 6257 6258 6259 + 6260 6261 6262 6263 6264 6265 + 6266 6267 6268 6269 6270 6271 + 6272 6273 6274 6275 6276 6277 + 6278 6279 6280 6281 6577 6580 + 6581 6582 6583 6584 6585 6586 + 6587 6588 6589 6590 6591 6592 + 6593 6594 6595 6596 6597 6598 + 6599 6600 6601 6602 6603 6604 + 6605 6606 6607 6608 6609 6610 + 6611 6612 6613 6614 6615 6616 + 6617 6618 6619 6620 6621 6622 + 6918 6921 6922 6923 6924 6925 + 6926 6927 6928 6929 6930 6931 + 6932 6933 6934 6935 6936 6937 + 6938 6939 6940 6941 6942 6943 + 6944 6945 6946 6947 6948 6949 + 6950 6951 6952 6953 6954 6955 + 6956 6957 6958 6959 6960 6961 + 6962 6963 7259 7262 7263 7264 + 7265 7266 7267 7268 7269 7270 + 7271 7272 7273 7274 7275 7276 + 7277 7278 7279 7280 7281 7282 + 7283 7284 7285 7286 7287 7288 + 7289 7290 7291 7292 7293 7294 + 7295 7296 7297 7298 7299 7300 + 7301 7302 7303 7304 7600 7603 + 7604 7605 7606 7607 7608 7609 + 7610 7611 7612 7613 7614 7615 + 7616 7617 7618 7619 7620 7621 + 7622 7623 7624 7625 7626 7627 + 7628 7629 7630 7631 7632 7633 + 7634 7635 7636 7637 7638 7639 + 7640 7641 7642 7643 7644 7645 + 7941 7944 7945 7946 7947 7948 + 7949 7950 7951 7952 7953 7954 + 7955 7956 7957 7958 7959 7960 + 7961 7962 7963 7964 7965 7966 + 7967 7968 7969 7970 7971 7972 + 7973 7974 7975 7976 7977 7978 + 7979 7980 7981 7982 7983 7984 + 7985 7986 8282 8285 8286 8287 + 8288 8289 8290 8291 8292 8293 + 8294 8295 8296 8297 8298 8299 + 8300 8301 8302 8303 8304 8305 + 8306 8307 8308 8309 8310 8311 + 8312 8313 8314 8315 8316 8317 + 8318 8319 8320 8321 8322 8323 + 8324 8325 8326 8327 8483 8484 + 8485 8486 8487 8488 8489 8490 + 8491 8492 8493 8494 8495 8496 + 8497 354 429 782 827 1167 + 1171 1123 1512 1464 1853 1805 + 2194 2146 2535 2487 2876 2828 + 3216 3169 3510 3555 3851 3896 + 4192 4237 4533 4578 4873 4919 + 5212 5260 5553 5601 5894 6234 + 5942 6238 6283 6579 6624 6920 + 6965 7261 7306 7602 7647 7943 + 7988 8284 8329 357 430 diff --git a/test/meshes/soufflet/dist_8/my_list00002.out b/test/meshes/soufflet/dist_8/my_list00002.out new file mode 100644 index 000000000..e908bde97 --- /dev/null +++ b/test/meshes/soufflet/dist_8/my_list00002.out @@ -0,0 +1,422 @@ + 2 + 359 + 53 + 87 88 89 90 91 92 + 93 94 95 96 97 98 + 99 100 202 203 204 205 + 206 207 208 209 210 211 + 212 213 214 215 317 318 + 319 320 321 322 323 324 + 325 326 327 328 329 330 + 433 434 435 436 437 438 + 439 440 441 442 443 444 + 445 548 549 550 551 552 + 553 554 555 556 557 558 + 559 560 663 664 665 666 + 667 668 669 670 671 672 + 673 674 675 778 779 780 + 781 782 783 784 785 786 + 787 788 789 790 791 893 + 894 895 896 897 898 899 + 900 901 902 903 904 905 + 906 1008 1009 1010 1011 1012 + 1013 1014 1015 1016 1017 1018 + 1019 1020 1021 1122 1123 1124 + 1125 1126 1127 1128 1129 1130 + 1131 1132 1133 1134 1135 1136 + 1237 1238 1239 1240 1241 1242 + 1243 1244 1245 1246 1247 1248 + 1249 1250 1251 1252 1352 1353 + 1354 1355 1356 1357 1358 1359 + 1360 1361 1362 1363 1364 1365 + 1366 1367 1467 1468 1469 1470 + 1471 1472 1473 1474 1475 1476 + 1477 1478 1479 1480 1481 1582 + 1583 1584 1585 1586 1587 1588 + 1589 1590 1591 1592 1593 1594 + 1595 1596 1697 1698 1699 1700 + 1701 1702 1703 1704 1705 1706 + 1707 1708 1709 1710 1711 1812 + 1813 1814 1815 1816 1817 1818 + 1819 1820 1821 1822 1823 1824 + 1825 1826 1927 1928 1929 1930 + 1931 1932 1933 1934 1935 1936 + 1937 1938 1939 1940 1941 2042 + 2043 2044 2045 2046 2047 2048 + 2049 2050 2051 2052 2053 2054 + 2055 2056 2157 2158 2159 2160 + 2161 2162 2163 2164 2165 2166 + 2167 2168 2169 2170 2171 2272 + 2273 2274 2275 2276 2277 2278 + 2279 2280 2281 2282 2283 2284 + 2285 2387 2388 2389 2390 2391 + 2392 2393 2394 2395 2396 2397 + 2398 2399 2400 2502 2503 2504 + 2505 2506 2507 2508 2509 2510 + 2511 2512 2513 2514 2515 2617 + 2618 2619 2620 2621 2622 2623 + 2624 2625 2626 2627 2628 2629 + 2630 2732 2733 2734 2735 2736 + 2737 2738 2739 2740 2741 2742 + 2743 2744 2745 2847 2848 2849 + 2850 2851 2852 2853 2854 2855 + 2856 2857 2858 2859 2860 86 + 201 316 432 547 662 777 + 892 1006 1007 1121 1236 1351 + 1466 1581 1696 1811 1926 2041 + 2156 2271 2386 2501 2616 2731 + 2846 101 216 331 446 561 + 676 677 792 907 1022 1137 + 1253 1368 1482 1483 1597 1712 + 1827 1942 2057 2172 2286 2401 + 2516 2631 2746 2861 + 771 + 53 + 53 + 87 88 89 90 91 92 + 93 94 95 96 97 98 + 99 100 199 200 201 202 + 203 204 205 206 207 208 + 209 210 211 212 213 214 + 315 316 317 318 319 320 + 321 322 323 324 325 326 + 327 328 427 428 429 430 + 431 432 433 434 435 436 + 437 438 439 440 441 442 + 543 544 545 546 547 548 + 549 550 551 552 553 554 + 555 556 655 657 658 659 + 660 661 662 663 664 665 + 666 667 668 669 670 771 + 772 773 774 775 776 777 + 778 779 780 781 782 783 + 784 885 886 887 888 889 + 890 891 892 893 894 895 + 896 897 898 999 1000 1001 + 1002 1003 1004 1005 1006 1007 + 1008 1009 1010 1011 1012 1113 + 1114 1115 1116 1117 1118 1119 + 1120 1121 1122 1123 1124 1125 + 1126 1227 1228 1229 1230 1231 + 1232 1233 1234 1235 1236 1237 + 1238 1239 1240 1241 1242 1341 + 1342 1343 1344 1345 1346 1347 + 1348 1349 1350 1351 1352 1353 + 1354 1455 1456 1457 1458 1459 + 1460 1461 1462 1463 1464 1465 + 1466 1467 1468 1469 1470 1569 + 1570 1571 1572 1573 1574 1575 + 1576 1577 1578 1579 1580 1581 + 1582 1683 1684 1685 1686 1687 + 1688 1689 1690 1691 1692 1693 + 1694 1695 1696 1697 1698 1797 + 1798 1799 1800 1801 1802 1803 + 1804 1805 1806 1807 1808 1809 + 1810 1911 1912 1913 1914 1915 + 1916 1917 1918 1919 1920 1921 + 1922 1923 1924 1925 1926 2023 + 2024 2025 2026 2027 2028 2029 + 2030 2031 2032 2033 2034 2035 + 2036 2037 2038 2139 2140 2141 + 2142 2143 2144 2145 2146 2147 + 2148 2149 2150 2151 2152 2153 + 2154 2251 2252 2253 2254 2255 + 2256 2257 2258 2259 2260 2261 + 2262 2263 2264 2265 2266 2268 + 2367 2368 2369 2370 2371 2372 + 2373 2374 2375 2376 2377 2378 + 2379 2380 2381 2382 2479 2480 + 2481 2482 2483 2484 2485 2486 + 2487 2488 2489 2490 2491 2492 + 2493 2494 2495 2496 2595 2596 + 2597 2598 2599 2600 2601 2602 + 2603 2604 2605 2606 2607 2608 + 2609 2610 2707 2708 2709 2710 + 2711 2712 2713 2714 2715 2716 + 2717 2718 2719 2720 2721 2722 + 2723 2724 2823 2824 2825 2826 + 2827 2828 2829 2830 2831 2832 + 2833 2834 2835 2836 2837 2838 + 2935 2936 2937 2938 2939 2940 + 2941 2942 2943 2944 2945 2946 + 2947 2948 2949 2950 3051 3052 + 3053 3054 3055 3056 3057 3058 + 3059 3060 3061 3062 3063 3064 + 3065 3066 3163 3164 3165 3166 + 3167 3168 3169 3170 3171 3172 + 3173 3174 3175 3176 3177 3178 + 3279 3280 3281 3282 3283 3284 + 3285 3286 3287 3288 3289 3290 + 3291 3292 3293 3294 3391 3392 + 3393 3394 3395 3396 3397 3398 + 3399 3400 3401 3402 3403 3404 + 3405 3406 3507 3508 3509 3510 + 3511 3512 3513 3514 3515 3516 + 3517 3518 3519 3520 3521 3522 + 3619 3620 3621 3622 3623 3624 + 3625 3626 3627 3628 3629 3630 + 3631 3632 3633 3634 3735 3736 + 3737 3738 3739 3740 3741 3742 + 3743 3744 3745 3746 3747 3748 + 3749 3750 3847 3848 3849 3850 + 3851 3852 3853 3854 3855 3856 + 3857 3858 3859 3860 3861 3862 + 3963 3964 3965 3966 3967 3968 + 3969 3970 3971 3972 3973 3974 + 3975 3976 3977 3978 4075 4076 + 4077 4078 4079 4080 4081 4082 + 4083 4084 4085 4086 4087 4088 + 4089 4090 4191 4192 4193 4194 + 4195 4196 4197 4198 4199 4200 + 4201 4202 4203 4204 4205 4303 + 4304 4305 4306 4307 4308 4309 + 4310 4311 4312 4313 4314 4315 + 4316 4317 4318 4419 4420 4421 + 4422 4423 4424 4425 4426 4427 + 4428 4429 4430 4431 4432 4531 + 4532 4533 4534 4535 4536 4537 + 4538 4539 4540 4541 4542 4543 + 4544 4545 4546 4647 4648 4649 + 4650 4651 4652 4653 4654 4655 + 4656 4657 4658 4659 4660 4759 + 4760 4761 4762 4763 4764 4765 + 4766 4767 4768 4769 4770 4771 + 4772 4773 4774 4875 4876 4877 + 4878 4879 4880 4881 4882 4883 + 4884 4885 4886 4887 4888 4987 + 4988 4989 4990 4991 4992 4993 + 4994 4995 4996 4997 4998 4999 + 5000 5001 5002 5103 5104 5105 + 5106 5107 5108 5109 5110 5111 + 5112 5113 5114 5115 5116 5215 + 5216 5217 5218 5219 5220 5221 + 5222 5223 5224 5225 5226 5227 + 5228 5229 5230 5331 5332 5333 + 5334 5335 5336 5337 5338 5339 + 5340 5341 5342 5343 5344 5443 + 5444 5445 5446 5447 5448 5449 + 5450 5451 5452 5453 5454 5455 + 5456 5457 5458 5559 5560 5561 + 5562 5563 5564 5565 5566 5567 + 5568 5569 5570 5571 5572 5671 + 5672 5673 5674 5675 5676 5677 + 5678 5679 5680 5681 5682 5683 + 5684 5685 5686 86 314 656 + 883 1111 1339 1567 1795 1796 + 1910 2138 2366 2594 2822 3050 + 3278 3506 3734 3962 4190 4418 + 4646 4874 5102 5330 5558 101 + 329 557 785 1013 1014 1356 + 1584 1812 2040 2267 2383 2611 + 2951 2952 3180 3408 3636 3864 + 4092 4206 4433 4661 4889 5117 + 5345 5573 85 313 541 542 + 884 1112 1340 1568 1682 1909 + 2137 2365 2593 2821 3049 3277 + 3505 3733 3961 4189 4417 4645 + 4873 5101 5329 5557 102 330 + 558 786 1128 1355 1583 1811 + 2039 2155 2156 2384 2612 2839 + 3179 3407 3635 3863 4091 4319 + 4320 4434 4662 4890 5118 5346 + 5574 + 1130 + 53 + 425 426 428 429 430 431 + 432 433 434 435 436 437 + 438 439 440 441 442 443 + 444 445 446 447 448 449 + 450 451 452 453 454 455 + 456 457 458 459 460 461 + 462 463 464 465 466 467 + 468 469 470 471 472 473 + 474 475 476 477 478 479 + 480 481 482 483 484 485 + 486 487 488 489 490 491 + 492 493 494 495 496 497 + 502 822 825 826 827 828 + 829 830 831 832 833 834 + 835 836 837 838 839 840 + 841 842 843 844 845 846 + 847 848 849 850 851 852 + 853 854 855 856 857 858 + 859 860 861 862 863 864 + 865 866 867 1163 1167 1168 + 1169 1170 1171 1172 1173 1174 + 1175 1176 1177 1178 1179 1180 + 1181 1182 1183 1184 1185 1186 + 1187 1188 1189 1190 1191 1192 + 1193 1194 1195 1196 1197 1198 + 1199 1200 1201 1202 1203 1204 + 1205 1206 1207 1208 1508 1510 + 1511 1512 1513 1514 1515 1516 + 1517 1518 1519 1520 1521 1522 + 1523 1524 1525 1526 1527 1528 + 1529 1530 1531 1532 1533 1534 + 1535 1536 1537 1538 1539 1540 + 1541 1542 1543 1544 1545 1546 + 1547 1548 1549 1849 1851 1852 + 1853 1854 1855 1856 1857 1858 + 1859 1860 1861 1862 1863 1864 + 1865 1866 1867 1868 1869 1870 + 1871 1872 1873 1874 1875 1876 + 1877 1878 1879 1880 1881 1882 + 1883 1884 1885 1886 1887 1888 + 1889 1890 2190 2192 2193 2194 + 2195 2196 2197 2198 2199 2200 + 2201 2202 2203 2204 2205 2206 + 2207 2208 2209 2210 2211 2212 + 2213 2214 2215 2216 2217 2218 + 2219 2220 2221 2222 2223 2224 + 2225 2226 2227 2228 2229 2230 + 2231 2233 2235 2531 2533 2534 + 2535 2536 2537 2538 2539 2540 + 2541 2542 2543 2544 2545 2546 + 2547 2548 2549 2550 2551 2552 + 2553 2554 2555 2556 2557 2558 + 2559 2560 2561 2562 2563 2564 + 2565 2566 2567 2568 2569 2570 + 2571 2572 2573 2574 2576 2872 + 2874 2875 2876 2877 2878 2879 + 2880 2881 2882 2883 2884 2885 + 2886 2887 2888 2889 2890 2891 + 2892 2893 2894 2895 2896 2897 + 2898 2899 2900 2901 2902 2903 + 2904 2905 2906 2907 2908 2909 + 2910 2911 2912 2913 2914 2915 + 2917 3212 3213 3214 3215 3216 + 3217 3218 3219 3220 3221 3222 + 3223 3224 3225 3226 3227 3228 + 3229 3230 3231 3232 3233 3234 + 3235 3236 3237 3238 3239 3240 + 3241 3242 3243 3244 3245 3246 + 3247 3248 3249 3250 3251 3252 + 3253 3254 3255 3256 3258 3550 + 3553 3554 3555 3556 3557 3558 + 3559 3560 3561 3562 3563 3564 + 3565 3566 3567 3568 3569 3570 + 3571 3572 3573 3574 3575 3576 + 3577 3578 3579 3580 3581 3582 + 3583 3584 3585 3586 3587 3588 + 3589 3590 3591 3592 3593 3594 + 3595 3596 3597 3599 3600 3891 + 3894 3895 3896 3897 3898 3899 + 3900 3901 3902 3903 3904 3905 + 3906 3907 3908 3909 3910 3911 + 3912 3913 3914 3915 3916 3917 + 3918 3919 3920 3921 3922 3923 + 3924 3925 3926 3927 3928 3929 + 3930 3931 3932 3933 3934 3935 + 3936 3937 3938 3939 3940 3941 + 3942 4232 4235 4236 4237 4238 + 4239 4240 4241 4242 4243 4244 + 4245 4246 4247 4248 4249 4250 + 4251 4252 4253 4254 4255 4256 + 4257 4258 4259 4260 4261 4262 + 4263 4264 4265 4266 4267 4268 + 4269 4270 4271 4272 4273 4274 + 4275 4276 4277 4278 4279 4280 + 4281 4282 4283 4573 4576 4577 + 4578 4579 4580 4581 4582 4583 + 4584 4585 4586 4587 4588 4589 + 4590 4591 4592 4593 4594 4595 + 4596 4597 4598 4599 4600 4601 + 4602 4603 4604 4605 4606 4607 + 4608 4609 4610 4611 4612 4613 + 4614 4615 4616 4617 4618 4619 + 4620 4622 4914 4917 4918 4919 + 4920 4921 4922 4923 4924 4925 + 4926 4927 4928 4929 4930 4931 + 4932 4933 4934 4935 4936 4937 + 4938 4939 4940 4941 4942 4943 + 4944 4945 4946 4947 4948 4949 + 4950 4951 4952 4953 4954 4955 + 4956 4957 4958 4959 4960 4961 + 4963 5255 5258 5259 5260 5261 + 5262 5263 5264 5265 5266 5267 + 5268 5269 5270 5271 5272 5273 + 5274 5275 5276 5277 5278 5279 + 5280 5281 5282 5283 5284 5285 + 5286 5287 5288 5289 5290 5291 + 5292 5293 5294 5295 5296 5297 + 5298 5299 5300 5301 5302 5304 + 5596 5599 5600 5601 5602 5603 + 5604 5605 5606 5607 5608 5609 + 5610 5611 5612 5613 5614 5615 + 5616 5617 5618 5619 5620 5621 + 5622 5623 5624 5625 5626 5627 + 5628 5629 5630 5631 5632 5633 + 5634 5635 5636 5637 5638 5639 + 5640 5641 5642 5643 5645 5937 + 5940 5941 5942 5943 5944 5945 + 5946 5947 5948 5949 5950 5951 + 5952 5953 5954 5955 5956 5957 + 5958 5959 5960 5961 5962 5963 + 5964 5965 5966 5967 5968 5969 + 5970 5971 5972 5973 5974 5975 + 5976 5977 5978 5979 5980 5981 + 5982 5983 5984 5986 6278 6281 + 6282 6283 6284 6285 6286 6287 + 6288 6289 6290 6291 6292 6293 + 6294 6295 6296 6297 6298 6299 + 6300 6301 6302 6303 6304 6305 + 6306 6307 6308 6309 6310 6311 + 6312 6313 6314 6315 6316 6317 + 6318 6319 6320 6321 6322 6323 + 6324 6325 6327 6619 6622 6623 + 6624 6625 6626 6627 6628 6629 + 6630 6631 6632 6633 6634 6635 + 6636 6637 6638 6639 6640 6641 + 6642 6643 6644 6645 6646 6647 + 6648 6649 6650 6651 6652 6653 + 6654 6655 6656 6657 6658 6659 + 6660 6661 6662 6663 6664 6665 + 6666 6960 6963 6964 6965 6966 + 6967 6968 6969 6970 6971 6972 + 6973 6974 6975 6976 6977 6978 + 6979 6980 6981 6982 6983 6984 + 6985 6986 6987 6988 6989 6990 + 6991 6992 6993 6994 6995 6996 + 6997 6998 6999 7000 7001 7002 + 7003 7004 7005 7301 7304 7305 + 7306 7307 7308 7309 7310 7311 + 7312 7313 7314 7315 7316 7317 + 7318 7319 7320 7321 7322 7323 + 7324 7325 7326 7327 7328 7329 + 7330 7331 7332 7333 7334 7335 + 7336 7337 7338 7339 7340 7341 + 7342 7343 7344 7345 7346 7642 + 7645 7646 7647 7648 7649 7650 + 7651 7652 7653 7654 7655 7656 + 7657 7658 7659 7660 7661 7662 + 7663 7664 7665 7666 7667 7668 + 7669 7670 7671 7672 7673 7674 + 7675 7676 7677 7678 7679 7680 + 7681 7682 7683 7684 7685 7686 + 7687 7983 7986 7987 7988 7989 + 7990 7991 7992 7993 7994 7995 + 7996 7997 7998 7999 8000 8001 + 8002 8003 8004 8005 8006 8007 + 8008 8009 8010 8011 8012 8013 + 8014 8015 8016 8017 8018 8019 + 8020 8021 8022 8023 8024 8025 + 8026 8027 8028 8324 8327 8328 + 8329 8330 8331 8332 8333 8334 + 8335 8336 8337 8338 8339 8340 + 8341 8342 8343 8344 8345 8346 + 8347 8348 8349 8350 8351 8352 + 8353 8354 8355 8356 8357 8358 + 8359 8360 8361 8362 8363 8364 + 8365 8366 8367 8368 8369 8497 + 8498 8499 8500 8501 8502 8503 + 8504 8505 8506 8507 8508 8509 + 8510 8511 424 499 824 869 + 1166 1210 1509 1551 1850 1892 + 2191 2232 2236 2532 2577 2873 + 2918 3259 3209 3211 3552 3601 + 3893 3944 4234 4285 4621 4623 + 4575 4964 4916 5305 5257 5646 + 5598 5987 5939 6328 6280 6668 + 6621 6962 7007 7303 7348 7644 + 7689 7985 8030 8326 8371 427 + 500 diff --git a/test/meshes/soufflet/dist_8/my_list00003.out b/test/meshes/soufflet/dist_8/my_list00003.out new file mode 100644 index 000000000..34cfc6d83 --- /dev/null +++ b/test/meshes/soufflet/dist_8/my_list00003.out @@ -0,0 +1,388 @@ + 3 + 360 + 27 + 101 102 103 104 105 106 + 107 108 109 110 111 112 + 113 114 115 216 217 218 + 219 220 221 222 223 224 + 225 226 227 228 229 230 + 331 332 333 334 335 336 + 337 338 339 340 341 342 + 343 344 345 446 447 448 + 449 450 451 452 453 454 + 455 456 457 458 459 460 + 561 562 563 564 565 566 + 567 568 569 570 571 572 + 573 574 575 676 677 678 + 679 680 681 682 683 684 + 685 686 687 688 689 690 + 792 793 794 795 796 797 + 798 799 800 801 802 803 + 804 805 907 908 909 910 + 911 912 913 914 915 916 + 917 918 919 920 1022 1023 + 1024 1025 1026 1027 1028 1029 + 1030 1031 1032 1033 1034 1035 + 1137 1138 1139 1140 1141 1142 + 1143 1144 1145 1146 1147 1148 + 1149 1150 1253 1254 1255 1256 + 1257 1258 1259 1260 1261 1262 + 1263 1264 1265 1368 1369 1370 + 1371 1372 1373 1374 1375 1376 + 1377 1378 1379 1380 1482 1483 + 1484 1485 1486 1487 1488 1489 + 1490 1491 1492 1493 1494 1495 + 1597 1598 1599 1600 1601 1602 + 1603 1604 1605 1606 1607 1608 + 1609 1610 1712 1713 1714 1715 + 1716 1717 1718 1719 1720 1721 + 1722 1723 1724 1725 1827 1828 + 1829 1830 1831 1832 1833 1834 + 1835 1836 1837 1838 1839 1840 + 1942 1943 1944 1945 1946 1947 + 1948 1949 1950 1951 1952 1953 + 1954 1955 2057 2058 2059 2060 + 2061 2062 2063 2064 2065 2066 + 2067 2068 2069 2070 2172 2173 + 2174 2175 2176 2177 2178 2179 + 2180 2181 2182 2183 2184 2185 + 2286 2287 2288 2289 2290 2291 + 2292 2293 2294 2295 2296 2297 + 2298 2299 2300 2401 2402 2403 + 2404 2405 2406 2407 2408 2409 + 2410 2411 2412 2413 2414 2415 + 2516 2517 2518 2519 2520 2521 + 2522 2523 2524 2525 2526 2527 + 2528 2529 2530 2631 2632 2633 + 2634 2635 2636 2637 2638 2639 + 2640 2641 2642 2643 2644 2645 + 2746 2747 2748 2749 2750 2751 + 2752 2753 2754 2755 2756 2757 + 2758 2759 2760 2861 2862 2863 + 2864 2865 2866 2867 2868 2869 + 2870 2871 2872 2873 2874 2875 + 100 215 330 445 560 675 + 791 906 1021 1136 1251 1252 + 1367 1481 1596 1711 1826 1941 + 2056 2170 2171 2285 2400 2515 + 2630 2745 2860 + 722 + 27 + 27 + 101 102 103 104 105 106 + 107 108 109 110 111 112 + 113 114 213 214 215 216 + 217 218 219 220 221 222 + 223 224 225 226 227 228 + 329 330 331 332 333 334 + 335 336 337 338 339 340 + 341 342 441 442 443 444 + 445 446 447 448 449 450 + 451 452 453 454 455 456 + 557 558 559 560 561 562 + 563 564 565 566 567 568 + 569 570 669 670 671 672 + 673 674 675 676 677 678 + 679 680 681 682 683 684 + 785 786 787 788 789 790 + 791 792 793 794 795 796 + 797 798 897 898 899 900 + 901 902 903 904 905 906 + 907 908 909 910 911 912 + 1013 1014 1015 1016 1017 1018 + 1019 1020 1021 1022 1023 1024 + 1025 1026 1125 1126 1127 1128 + 1129 1130 1131 1132 1133 1134 + 1135 1136 1137 1138 1139 1140 + 1241 1242 1243 1244 1245 1246 + 1247 1248 1249 1250 1251 1252 + 1253 1254 1353 1355 1356 1357 + 1358 1359 1360 1361 1362 1363 + 1364 1365 1366 1367 1368 1469 + 1470 1471 1472 1473 1474 1475 + 1476 1477 1478 1479 1480 1481 + 1482 1583 1584 1585 1586 1587 + 1588 1589 1590 1591 1592 1593 + 1594 1595 1596 1697 1698 1699 + 1700 1701 1702 1703 1704 1705 + 1706 1707 1708 1709 1710 1811 + 1812 1813 1814 1815 1816 1817 + 1818 1819 1820 1821 1822 1823 + 1824 1925 1926 1927 1928 1929 + 1930 1931 1932 1933 1934 1935 + 1936 1937 1938 2039 2040 2041 + 2042 2043 2044 2045 2046 2047 + 2048 2049 2050 2051 2052 2153 + 2154 2155 2156 2157 2158 2159 + 2160 2161 2162 2163 2164 2165 + 2166 2267 2268 2269 2270 2271 + 2272 2273 2274 2275 2276 2277 + 2278 2279 2280 2383 2384 2385 + 2386 2387 2388 2389 2390 2391 + 2392 2393 2394 2495 2496 2497 + 2498 2499 2500 2501 2502 2503 + 2504 2505 2506 2507 2508 2610 + 2611 2612 2613 2614 2615 2616 + 2617 2618 2619 2620 2621 2622 + 2723 2724 2725 2726 2727 2728 + 2729 2730 2731 2732 2733 2734 + 2735 2736 2837 2838 2839 2840 + 2841 2842 2843 2844 2845 2846 + 2847 2848 2849 2850 2951 2952 + 2953 2954 2955 2956 2957 2958 + 2959 2960 2961 2962 2963 2964 + 3065 3066 3067 3068 3069 3070 + 3071 3072 3073 3074 3075 3076 + 3077 3078 3179 3180 3181 3182 + 3183 3184 3185 3186 3187 3188 + 3189 3190 3191 3192 3293 3294 + 3295 3296 3297 3298 3299 3300 + 3301 3302 3303 3304 3305 3306 + 3407 3408 3409 3410 3411 3412 + 3413 3414 3415 3416 3417 3418 + 3419 3420 3521 3522 3523 3524 + 3525 3526 3527 3528 3529 3530 + 3531 3532 3533 3534 3635 3636 + 3637 3638 3639 3640 3641 3642 + 3643 3644 3645 3646 3647 3648 + 3749 3750 3751 3752 3753 3754 + 3755 3756 3757 3758 3759 3760 + 3761 3762 3863 3864 3865 3866 + 3867 3868 3869 3870 3871 3872 + 3873 3874 3875 3876 3977 3978 + 3979 3980 3981 3982 3983 3984 + 3985 3986 3987 3988 3989 3990 + 4091 4092 4093 4094 4095 4096 + 4097 4098 4099 4100 4101 4102 + 4103 4104 4205 4206 4207 4208 + 4209 4210 4211 4212 4213 4214 + 4215 4216 4217 4218 4317 4318 + 4319 4320 4321 4322 4323 4324 + 4325 4326 4327 4328 4329 4330 + 4331 4332 4433 4434 4435 4436 + 4437 4438 4439 4440 4441 4442 + 4443 4444 4445 4446 4545 4546 + 4547 4548 4549 4550 4551 4552 + 4553 4554 4555 4556 4557 4558 + 4559 4560 4661 4662 4663 4664 + 4665 4666 4667 4668 4669 4670 + 4671 4672 4673 4674 4773 4774 + 4775 4776 4777 4778 4779 4780 + 4781 4782 4783 4784 4785 4786 + 4787 4788 4889 4890 4891 4892 + 4893 4894 4895 4896 4897 4898 + 4899 4900 4901 4902 5001 5002 + 5003 5004 5005 5006 5007 5008 + 5009 5010 5011 5012 5013 5014 + 5015 5016 5117 5118 5119 5120 + 5121 5122 5123 5124 5125 5126 + 5127 5128 5129 5130 5229 5230 + 5231 5232 5233 5234 5235 5236 + 5237 5238 5239 5240 5241 5242 + 5243 5244 5345 5346 5347 5348 + 5349 5350 5351 5352 5353 5354 + 5355 5356 5357 5358 5457 5458 + 5459 5460 5461 5462 5463 5464 + 5465 5466 5467 5468 5469 5470 + 5471 5472 5573 5574 5575 5576 + 5577 5578 5579 5580 5581 5582 + 5583 5584 5585 5586 5685 5686 + 5687 5688 5689 5690 5691 5692 + 5693 5694 5695 5696 5697 5698 + 5699 5700 100 328 556 784 + 1012 1354 1581 1809 2037 2265 + 2381 2382 2609 2949 3177 3405 + 3633 3861 4089 4090 4204 4432 + 4660 4888 5116 5344 5572 99 + 327 555 783 1011 1239 1240 + 1582 1810 2038 2266 2493 2721 + 2722 2950 3178 3406 3634 3862 + 3976 4203 4431 4659 4887 5115 + 5343 5571 + 1082 + 27 + 495 496 498 499 500 501 + 502 503 504 505 506 507 + 508 509 510 511 512 513 + 514 515 516 517 518 519 + 520 521 522 523 524 525 + 526 527 528 529 530 531 + 532 533 534 535 536 537 + 538 539 540 541 542 543 + 544 545 546 547 548 549 + 550 551 552 553 554 555 + 556 557 558 559 560 561 + 562 563 564 565 566 567 + 568 864 867 868 869 870 + 871 872 873 874 875 876 + 877 878 879 880 881 882 + 883 884 885 886 887 888 + 889 890 891 892 893 894 + 895 896 897 898 899 900 + 901 902 903 904 905 906 + 907 908 909 1205 1208 1209 + 1210 1211 1212 1213 1214 1215 + 1216 1217 1218 1219 1220 1221 + 1222 1223 1224 1225 1226 1227 + 1228 1229 1230 1231 1232 1233 + 1234 1235 1236 1237 1238 1239 + 1240 1241 1242 1243 1244 1245 + 1246 1247 1248 1249 1250 1546 + 1549 1550 1551 1552 1553 1554 + 1555 1556 1557 1558 1559 1560 + 1561 1562 1563 1564 1565 1566 + 1567 1568 1569 1570 1571 1572 + 1573 1574 1575 1576 1577 1578 + 1579 1580 1581 1582 1583 1584 + 1585 1586 1587 1588 1589 1590 + 1591 1887 1890 1891 1892 1893 + 1894 1895 1896 1897 1898 1899 + 1900 1901 1902 1903 1904 1905 + 1906 1907 1908 1909 1910 1911 + 1912 1913 1914 1915 1916 1917 + 1918 1919 1920 1921 1922 1923 + 1924 1925 1926 1927 1928 1929 + 1930 1931 1932 2228 2232 2233 + 2234 2235 2236 2237 2238 2239 + 2240 2241 2242 2243 2244 2245 + 2246 2247 2248 2249 2250 2251 + 2252 2253 2254 2255 2256 2257 + 2258 2259 2260 2261 2262 2263 + 2264 2265 2266 2267 2268 2269 + 2270 2271 2272 2273 2573 2575 + 2576 2577 2578 2579 2580 2581 + 2582 2583 2584 2585 2586 2587 + 2588 2589 2590 2591 2592 2593 + 2594 2595 2596 2597 2598 2599 + 2600 2601 2602 2603 2604 2605 + 2606 2607 2608 2609 2610 2611 + 2612 2613 2614 2914 2916 2917 + 2918 2919 2920 2921 2922 2923 + 2924 2925 2926 2927 2928 2929 + 2930 2931 2932 2933 2934 2935 + 2936 2937 2938 2939 2940 2941 + 2942 2943 2944 2945 2946 2947 + 2948 2949 2950 2951 2952 2953 + 2954 2955 3255 3257 3258 3259 + 3260 3261 3262 3263 3264 3265 + 3266 3267 3268 3269 3270 3271 + 3272 3273 3274 3275 3276 3277 + 3278 3279 3280 3281 3282 3283 + 3284 3285 3286 3287 3288 3289 + 3290 3291 3292 3293 3294 3295 + 3296 3596 3598 3599 3600 3601 + 3602 3603 3604 3605 3606 3607 + 3608 3609 3610 3611 3612 3613 + 3614 3615 3616 3617 3618 3619 + 3620 3621 3622 3623 3624 3625 + 3626 3627 3628 3629 3630 3631 + 3632 3633 3634 3635 3636 3637 + 3939 3942 3943 3944 3945 3946 + 3947 3948 3949 3950 3951 3952 + 3953 3954 3955 3956 3957 3958 + 3959 3960 3961 3962 3963 3964 + 3965 3966 3967 3968 3969 3970 + 3971 3972 3973 3974 3975 3976 + 3977 3978 4280 4282 4283 4284 + 4285 4286 4287 4288 4289 4290 + 4291 4292 4293 4294 4295 4296 + 4297 4298 4299 4300 4301 4302 + 4303 4304 4305 4306 4307 4308 + 4309 4310 4311 4312 4313 4314 + 4315 4316 4317 4318 4319 4619 + 4621 4622 4623 4624 4625 4626 + 4627 4628 4629 4630 4631 4632 + 4633 4634 4635 4636 4637 4638 + 4639 4640 4641 4642 4643 4644 + 4645 4646 4647 4648 4649 4650 + 4651 4652 4653 4654 4655 4656 + 4657 4658 4659 4660 4960 4962 + 4963 4964 4965 4966 4967 4968 + 4969 4970 4971 4972 4973 4974 + 4975 4976 4977 4978 4979 4980 + 4981 4982 4983 4984 4985 4986 + 4987 4988 4989 4990 4991 4992 + 4993 4994 4995 4996 4997 4998 + 4999 5000 5001 5301 5303 5304 + 5305 5306 5307 5308 5309 5310 + 5311 5312 5313 5314 5315 5316 + 5317 5318 5319 5320 5321 5322 + 5323 5324 5325 5326 5327 5328 + 5329 5330 5331 5332 5333 5334 + 5335 5336 5337 5338 5339 5340 + 5341 5342 5642 5644 5645 5646 + 5647 5648 5649 5650 5651 5652 + 5653 5654 5655 5656 5657 5658 + 5659 5660 5661 5662 5663 5664 + 5665 5666 5667 5668 5669 5670 + 5671 5672 5673 5674 5675 5676 + 5677 5678 5679 5680 5681 5682 + 5683 5983 5985 5986 5987 5988 + 5989 5990 5991 5992 5993 5994 + 5995 5996 5997 5998 5999 6000 + 6001 6002 6003 6004 6005 6006 + 6007 6008 6009 6010 6011 6012 + 6013 6014 6015 6016 6017 6018 + 6019 6020 6021 6022 6023 6024 + 6324 6326 6327 6328 6329 6330 + 6331 6332 6333 6334 6335 6336 + 6337 6338 6339 6340 6341 6342 + 6343 6344 6345 6346 6347 6348 + 6349 6350 6351 6352 6353 6354 + 6355 6356 6357 6358 6359 6360 + 6361 6362 6363 6364 6365 6664 + 6665 6666 6667 6668 6669 6670 + 6671 6672 6673 6674 6675 6676 + 6677 6678 6679 6680 6681 6682 + 6683 6684 6685 6686 6687 6688 + 6689 6690 6691 6692 6693 6694 + 6695 6696 6697 6698 6699 6700 + 6701 6702 6703 6704 6705 6706 + 7002 7005 7006 7007 7008 7009 + 7010 7011 7012 7013 7014 7015 + 7016 7017 7018 7019 7020 7021 + 7022 7023 7024 7025 7026 7027 + 7028 7029 7030 7031 7032 7033 + 7034 7035 7036 7037 7038 7039 + 7040 7041 7042 7043 7044 7045 + 7046 7047 7343 7346 7347 7348 + 7349 7350 7351 7352 7353 7354 + 7355 7356 7357 7358 7359 7360 + 7361 7362 7363 7364 7365 7366 + 7367 7368 7369 7370 7371 7372 + 7373 7374 7375 7376 7377 7378 + 7379 7380 7381 7382 7383 7384 + 7385 7386 7387 7388 7684 7687 + 7688 7689 7690 7691 7692 7693 + 7694 7695 7696 7697 7698 7699 + 7700 7701 7702 7703 7704 7705 + 7706 7707 7708 7709 7710 7711 + 7712 7713 7714 7715 7716 7717 + 7718 7719 7720 7721 7722 7723 + 7724 7725 7726 7727 7728 7729 + 8025 8028 8029 8030 8031 8032 + 8033 8034 8035 8036 8037 8038 + 8039 8040 8041 8042 8043 8044 + 8045 8046 8047 8048 8049 8050 + 8051 8052 8053 8054 8055 8056 + 8057 8058 8059 8060 8061 8062 + 8063 8064 8065 8066 8067 8068 + 8069 8070 8366 8369 8370 8371 + 8372 8373 8374 8375 8376 8377 + 8378 8379 8380 8381 8382 8383 + 8384 8385 8386 8387 8388 8389 + 8390 8391 8392 8393 8394 8395 + 8396 8397 8398 8399 8400 8401 + 8402 8403 8404 8405 8406 8407 + 8408 8409 8410 8411 8511 8512 + 8513 8514 8515 8516 8517 8518 + 8519 8520 8521 8522 8523 8524 + 8525 8528 8529 8531 8533 8535 + 8537 8539 8541 8543 8545 8547 + 8549 8551 8553 8555 8557 8559 + 8561 8563 8565 8567 8569 8571 + 8573 8575 494 866 1207 1548 + 1889 2231 2574 2915 3256 3597 + 3937 3941 4281 4620 4961 5302 + 5643 5984 6325 6661 6663 7004 + 7345 7686 8027 8368 497 diff --git a/test/meshes/soufflet/dist_8/my_list00004.out b/test/meshes/soufflet/dist_8/my_list00004.out new file mode 100644 index 000000000..1c3cb9519 --- /dev/null +++ b/test/meshes/soufflet/dist_8/my_list00004.out @@ -0,0 +1,420 @@ + 4 + 359 + 52 + 16 17 18 19 20 21 + 22 23 24 25 26 27 + 28 131 132 133 134 135 + 136 137 138 139 140 141 + 142 143 144 246 247 248 + 249 250 251 252 253 254 + 255 256 257 258 259 361 + 362 363 364 365 366 367 + 368 369 370 371 372 373 + 374 475 476 477 478 479 + 480 481 482 483 484 485 + 486 487 488 489 590 591 + 592 593 594 595 596 597 + 598 599 600 601 602 603 + 604 705 706 707 708 709 + 710 711 712 713 714 715 + 716 717 718 719 820 821 + 822 823 824 825 826 827 + 828 829 830 831 832 833 + 834 935 936 937 938 939 + 940 941 942 943 944 945 + 946 947 948 949 1050 1051 + 1052 1053 1054 1055 1056 1057 + 1058 1059 1060 1061 1062 1063 + 1064 1165 1166 1167 1168 1169 + 1170 1171 1172 1173 1174 1175 + 1176 1177 1178 1179 1280 1281 + 1282 1283 1284 1285 1286 1287 + 1288 1289 1290 1291 1292 1293 + 1294 1395 1396 1397 1398 1399 + 1400 1401 1402 1403 1404 1405 + 1406 1407 1408 1409 1510 1511 + 1512 1513 1514 1515 1516 1517 + 1518 1519 1520 1521 1522 1523 + 1524 1625 1626 1627 1628 1629 + 1630 1631 1632 1633 1634 1635 + 1636 1637 1638 1639 1740 1741 + 1742 1743 1744 1745 1746 1747 + 1748 1749 1750 1751 1752 1753 + 1754 1855 1856 1857 1858 1859 + 1860 1861 1862 1863 1864 1865 + 1866 1867 1868 1869 1970 1971 + 1972 1973 1974 1975 1976 1977 + 1978 1979 1980 1981 1982 1983 + 1984 2085 2086 2087 2088 2089 + 2090 2091 2092 2093 2094 2095 + 2096 2097 2098 2099 2201 2202 + 2203 2204 2205 2206 2207 2208 + 2209 2210 2211 2212 2213 2214 + 2316 2317 2318 2319 2320 2321 + 2322 2323 2324 2325 2326 2327 + 2328 2431 2432 2433 2434 2435 + 2436 2437 2438 2439 2440 2441 + 2442 2443 2546 2547 2548 2549 + 2550 2551 2552 2553 2554 2555 + 2556 2557 2558 2661 2662 2663 + 2664 2665 2666 2667 2668 2669 + 2670 2671 2672 2673 2776 2777 + 2778 2779 2780 2781 2782 2783 + 2784 2785 2786 2787 2788 15 + 130 245 359 360 474 589 + 704 819 934 1049 1164 1279 + 1394 1509 1624 1739 1854 1969 + 2084 2200 2315 2430 2545 2660 + 2775 29 30 145 260 375 + 490 605 720 835 950 1065 + 1180 1295 1410 1525 1640 1755 + 1870 1985 2100 2215 2329 2444 + 2559 2674 2789 + 770 + 52 + 52 + 15 16 17 18 19 20 + 21 22 23 24 25 26 + 27 28 29 30 129 130 + 131 132 133 134 135 136 + 137 138 139 140 141 142 + 243 244 245 246 247 248 + 249 250 251 252 253 254 + 255 256 257 258 357 358 + 359 360 361 362 363 364 + 365 366 367 368 369 370 + 471 472 473 474 475 476 + 477 478 479 480 481 482 + 483 484 485 486 585 586 + 587 588 589 590 591 592 + 593 594 595 596 597 598 + 699 700 701 702 703 704 + 705 706 707 708 709 710 + 711 712 713 714 811 812 + 813 814 815 816 817 818 + 819 820 821 822 823 824 + 825 826 927 928 929 930 + 931 932 933 934 935 936 + 937 938 939 940 941 942 + 1039 1040 1041 1042 1043 1044 + 1045 1046 1047 1048 1049 1050 + 1051 1052 1053 1054 1155 1156 + 1157 1158 1159 1160 1161 1162 + 1163 1164 1165 1166 1167 1168 + 1169 1170 1267 1268 1269 1270 + 1271 1272 1273 1274 1275 1276 + 1277 1278 1279 1280 1281 1282 + 1383 1384 1385 1386 1387 1388 + 1389 1390 1391 1392 1393 1394 + 1395 1396 1397 1398 1495 1496 + 1497 1498 1499 1500 1501 1502 + 1503 1504 1505 1506 1507 1508 + 1509 1510 1611 1612 1613 1614 + 1615 1616 1617 1618 1619 1620 + 1621 1622 1623 1624 1625 1626 + 1723 1724 1725 1726 1727 1728 + 1729 1730 1731 1732 1733 1734 + 1735 1736 1737 1738 1839 1840 + 1841 1842 1843 1844 1845 1846 + 1847 1848 1849 1850 1851 1852 + 1853 1854 1951 1952 1953 1954 + 1955 1956 1957 1958 1959 1960 + 1961 1962 1963 1964 1965 1966 + 2067 2068 2069 2070 2071 2072 + 2073 2074 2075 2076 2077 2078 + 2079 2080 2081 2082 2179 2180 + 2181 2182 2183 2184 2185 2186 + 2187 2188 2189 2190 2191 2192 + 2193 2194 2295 2296 2297 2298 + 2299 2300 2301 2302 2303 2304 + 2305 2306 2307 2308 2309 2310 + 2407 2408 2409 2410 2411 2412 + 2413 2414 2415 2416 2417 2418 + 2419 2420 2421 2422 2523 2524 + 2525 2526 2527 2528 2529 2530 + 2531 2532 2533 2534 2535 2536 + 2537 2538 2635 2636 2637 2638 + 2639 2640 2641 2642 2643 2644 + 2645 2646 2647 2648 2649 2650 + 2751 2752 2753 2754 2755 2756 + 2757 2758 2759 2760 2761 2762 + 2763 2764 2765 2766 2863 2864 + 2865 2866 2867 2868 2869 2870 + 2871 2872 2873 2874 2875 2876 + 2877 2878 2979 2980 2981 2982 + 2983 2984 2985 2986 2987 2988 + 2989 2990 2991 2992 2993 2994 + 3091 3092 3093 3094 3095 3096 + 3097 3098 3099 3100 3101 3102 + 3103 3104 3105 3106 3207 3208 + 3209 3210 3211 3212 3213 3214 + 3215 3216 3217 3218 3219 3220 + 3221 3222 3319 3320 3321 3322 + 3323 3324 3325 3326 3327 3328 + 3329 3330 3331 3332 3333 3334 + 3435 3436 3437 3438 3439 3440 + 3441 3442 3443 3444 3445 3446 + 3447 3448 3449 3450 3547 3548 + 3549 3550 3551 3552 3553 3554 + 3555 3556 3557 3558 3559 3560 + 3561 3562 3663 3664 3665 3666 + 3667 3668 3669 3670 3671 3672 + 3673 3674 3675 3676 3677 3678 + 3775 3776 3777 3778 3779 3780 + 3781 3782 3783 3784 3785 3786 + 3787 3788 3789 3790 3891 3892 + 3893 3894 3895 3896 3897 3898 + 3899 3900 3901 3902 3903 3904 + 3905 3906 4003 4004 4005 4006 + 4007 4008 4009 4010 4011 4012 + 4013 4014 4015 4016 4017 4018 + 4119 4120 4121 4122 4123 4124 + 4125 4126 4127 4128 4129 4130 + 4131 4132 4133 4134 4231 4233 + 4234 4235 4236 4237 4238 4239 + 4240 4241 4242 4243 4244 4245 + 4246 4347 4348 4349 4350 4351 + 4352 4353 4354 4355 4356 4357 + 4358 4359 4360 4361 4461 4462 + 4463 4464 4465 4466 4467 4468 + 4469 4470 4471 4472 4473 4474 + 4575 4576 4577 4578 4579 4580 + 4581 4582 4583 4584 4585 4586 + 4587 4588 4689 4690 4691 4692 + 4693 4694 4695 4696 4697 4698 + 4699 4700 4701 4702 4803 4804 + 4805 4806 4807 4808 4809 4810 + 4811 4812 4813 4814 4815 4816 + 4917 4918 4919 4920 4921 4922 + 4923 4924 4925 4926 4927 4928 + 4929 4930 5031 5032 5033 5034 + 5035 5036 5037 5038 5039 5040 + 5041 5042 5043 5044 5145 5146 + 5147 5148 5149 5150 5151 5152 + 5153 5154 5155 5156 5157 5158 + 5259 5260 5261 5262 5263 5264 + 5265 5266 5267 5268 5269 5270 + 5271 5272 5373 5374 5375 5376 + 5377 5378 5379 5380 5381 5382 + 5383 5384 5385 5386 5487 5488 + 5489 5490 5491 5492 5493 5494 + 5495 5496 5497 5498 5499 5500 + 5601 5602 5603 5604 5605 5606 + 5607 5608 5609 5610 5611 5612 + 5613 5614 127 355 583 584 + 698 926 1154 1382 1610 1838 + 2066 2294 2522 2750 2978 3206 + 3434 3662 3890 4232 4459 4687 + 4915 5143 5371 5599 144 372 + 600 828 1056 1284 1512 1740 + 1968 2196 2424 2652 2880 3108 + 3336 3564 3792 4020 4248 4362 + 4589 4817 5045 5273 5501 5502 + 128 356 470 697 925 1153 + 1381 1609 1837 2065 2293 2521 + 2749 2977 3205 3433 3661 3889 + 4117 4118 4460 4688 4916 5144 + 5372 5600 143 371 599 827 + 1055 1283 1511 1739 1967 2195 + 2423 2651 2879 3107 3335 3563 + 3791 4019 4247 4475 4476 4590 + 4818 5046 5274 5616 + 1129 + 52 + 68 71 73 74 75 76 + 77 78 79 80 81 82 + 83 84 85 86 87 88 + 89 90 91 92 93 94 + 95 96 97 98 99 100 + 101 102 103 104 105 106 + 107 108 109 110 111 112 + 113 114 115 116 117 118 + 119 120 121 122 123 124 + 125 126 127 128 129 130 + 131 132 133 134 135 136 + 137 139 142 143 610 612 + 613 614 615 616 617 618 + 619 620 621 622 623 624 + 625 626 627 628 629 630 + 631 632 633 634 635 636 + 637 638 639 640 641 642 + 643 644 645 646 647 648 + 649 650 651 652 653 655 + 951 953 954 955 956 957 + 958 959 960 961 962 963 + 964 965 966 967 968 969 + 970 971 972 973 974 975 + 976 977 978 979 980 981 + 982 983 984 985 986 987 + 988 989 990 991 992 993 + 994 996 1291 1292 1293 1294 + 1295 1296 1297 1298 1299 1300 + 1301 1302 1303 1304 1305 1306 + 1307 1308 1309 1310 1311 1312 + 1313 1314 1315 1316 1317 1318 + 1319 1320 1321 1322 1323 1324 + 1325 1326 1327 1328 1329 1330 + 1331 1332 1333 1334 1335 1337 + 1629 1632 1633 1634 1635 1636 + 1637 1638 1639 1640 1641 1642 + 1643 1644 1645 1646 1647 1648 + 1649 1650 1651 1652 1653 1654 + 1655 1656 1657 1658 1659 1660 + 1661 1662 1663 1664 1665 1666 + 1667 1668 1669 1670 1671 1672 + 1673 1674 1675 1676 1678 1970 + 1973 1974 1975 1976 1977 1978 + 1979 1980 1981 1982 1983 1984 + 1985 1986 1987 1988 1989 1990 + 1991 1992 1993 1994 1995 1996 + 1997 1998 1999 2000 2001 2002 + 2003 2004 2005 2006 2007 2008 + 2009 2010 2011 2012 2013 2014 + 2015 2016 2017 2019 2311 2314 + 2315 2316 2317 2318 2319 2320 + 2321 2322 2323 2324 2325 2326 + 2327 2328 2329 2330 2331 2332 + 2333 2334 2335 2336 2337 2338 + 2339 2340 2341 2342 2343 2344 + 2345 2346 2347 2348 2349 2350 + 2351 2352 2353 2354 2355 2356 + 2357 2358 2360 2652 2655 2656 + 2657 2658 2659 2660 2661 2662 + 2663 2664 2665 2666 2667 2668 + 2669 2670 2671 2672 2673 2674 + 2675 2676 2677 2678 2679 2680 + 2681 2682 2683 2684 2685 2686 + 2687 2688 2689 2690 2691 2692 + 2693 2694 2695 2696 2697 2698 + 2699 2701 2993 2996 2997 2998 + 2999 3000 3001 3002 3003 3004 + 3005 3006 3007 3008 3009 3010 + 3011 3012 3013 3014 3015 3016 + 3017 3018 3019 3020 3021 3022 + 3023 3024 3025 3026 3027 3028 + 3029 3030 3031 3032 3033 3034 + 3035 3036 3037 3038 3039 3040 + 3042 3334 3337 3338 3339 3340 + 3341 3342 3343 3344 3345 3346 + 3347 3348 3349 3350 3351 3352 + 3353 3354 3355 3356 3357 3358 + 3359 3360 3361 3362 3363 3364 + 3365 3366 3367 3368 3369 3370 + 3371 3372 3373 3374 3375 3376 + 3377 3378 3379 3380 3381 3383 + 3675 3678 3679 3680 3681 3682 + 3683 3684 3685 3686 3687 3688 + 3689 3690 3691 3692 3693 3694 + 3695 3696 3697 3698 3699 3700 + 3701 3702 3703 3704 3705 3706 + 3707 3708 3709 3710 3711 3712 + 3713 3714 3715 3716 3717 3718 + 3719 3720 3721 3722 3724 4016 + 4019 4020 4021 4022 4023 4024 + 4025 4026 4027 4028 4029 4030 + 4031 4032 4033 4034 4035 4036 + 4037 4038 4039 4040 4041 4042 + 4043 4044 4045 4046 4047 4048 + 4049 4050 4051 4052 4053 4054 + 4055 4056 4057 4058 4059 4060 + 4061 4062 4063 4065 4357 4360 + 4361 4362 4363 4364 4365 4366 + 4367 4368 4369 4370 4371 4372 + 4373 4374 4375 4376 4377 4378 + 4379 4380 4381 4382 4383 4384 + 4385 4386 4387 4388 4389 4390 + 4391 4392 4393 4394 4395 4396 + 4397 4398 4399 4400 4401 4402 + 4403 4404 4406 4698 4701 4702 + 4703 4704 4705 4706 4707 4708 + 4709 4710 4711 4712 4713 4714 + 4715 4716 4717 4718 4719 4720 + 4721 4722 4723 4724 4725 4726 + 4727 4728 4729 4730 4731 4732 + 4733 4734 4735 4736 4737 4738 + 4739 4740 4741 4742 4743 4744 + 4745 4747 5039 5042 5043 5044 + 5045 5046 5047 5048 5049 5050 + 5051 5052 5053 5054 5055 5056 + 5057 5058 5059 5060 5061 5062 + 5063 5064 5065 5066 5067 5068 + 5069 5070 5071 5072 5073 5074 + 5075 5076 5077 5078 5079 5080 + 5081 5082 5083 5084 5085 5086 + 5088 5380 5383 5384 5385 5386 + 5387 5388 5389 5390 5391 5392 + 5393 5394 5395 5396 5397 5398 + 5399 5400 5401 5402 5403 5404 + 5405 5406 5407 5408 5409 5410 + 5411 5412 5413 5414 5415 5416 + 5417 5418 5419 5420 5421 5422 + 5423 5424 5425 5426 5427 5429 + 5721 5724 5725 5726 5727 5728 + 5729 5730 5731 5732 5733 5734 + 5735 5736 5737 5738 5739 5740 + 5741 5742 5743 5744 5745 5746 + 5747 5748 5749 5750 5751 5752 + 5753 5754 5755 5756 5757 5758 + 5759 5760 5761 5762 5763 5764 + 5765 5766 5767 5768 5770 6062 + 6065 6066 6067 6068 6069 6070 + 6071 6072 6073 6074 6075 6076 + 6077 6078 6079 6080 6081 6082 + 6083 6084 6085 6086 6087 6088 + 6089 6090 6091 6092 6093 6094 + 6095 6096 6097 6098 6099 6100 + 6101 6102 6103 6104 6105 6106 + 6107 6108 6109 6111 6403 6407 + 6408 6409 6410 6411 6412 6413 + 6414 6415 6416 6417 6418 6419 + 6420 6421 6422 6423 6424 6425 + 6426 6427 6428 6429 6430 6431 + 6432 6433 6434 6435 6436 6437 + 6438 6439 6440 6441 6442 6443 + 6444 6445 6446 6447 6448 6449 + 6450 6452 6748 6750 6751 6752 + 6753 6754 6755 6756 6757 6758 + 6759 6760 6761 6762 6763 6764 + 6765 6766 6767 6768 6769 6770 + 6771 6772 6773 6774 6775 6776 + 6777 6778 6779 6780 6781 6782 + 6783 6784 6785 6786 6787 6788 + 6789 6790 6791 7089 7091 7092 + 7093 7094 7095 7096 7097 7098 + 7099 7100 7101 7102 7103 7104 + 7105 7106 7107 7108 7109 7110 + 7111 7112 7113 7114 7115 7116 + 7117 7118 7119 7120 7121 7122 + 7123 7124 7125 7126 7127 7128 + 7129 7130 7430 7432 7433 7434 + 7435 7436 7437 7438 7439 7440 + 7441 7442 7443 7444 7445 7446 + 7447 7448 7449 7450 7451 7452 + 7453 7454 7455 7456 7457 7458 + 7459 7460 7461 7462 7463 7464 + 7465 7466 7467 7468 7469 7470 + 7471 7771 7773 7774 7775 7776 + 7777 7778 7779 7780 7781 7782 + 7783 7784 7785 7786 7787 7788 + 7789 7790 7791 7792 7793 7794 + 7795 7796 7797 7798 7799 7800 + 7801 7802 7803 7804 7805 7806 + 7807 7808 7809 7810 7811 7812 + 8112 8114 8115 8116 8117 8118 + 8119 8120 8121 8122 8123 8124 + 8125 8126 8127 8128 8129 8130 + 8131 8132 8133 8134 8135 8136 + 8137 8138 8139 8140 8141 8142 + 8143 8144 8145 8146 8147 8148 + 8149 8150 8151 8152 8153 8426 + 8427 8428 8429 8430 8431 8432 + 8433 8434 8435 8436 8437 8438 + 8439 69 138 144 611 656 + 952 997 1338 1288 1290 1679 + 1631 2020 1972 2361 2313 2702 + 2654 3043 2995 3384 3336 3725 + 3677 4066 4018 4407 4359 4748 + 4700 5089 5041 5430 5382 5771 + 5723 6112 6064 6453 6406 6749 + 6793 7090 7132 7431 7473 7772 + 7814 8113 8155 70 140 diff --git a/test/meshes/soufflet/dist_8/my_list00005.out b/test/meshes/soufflet/dist_8/my_list00005.out new file mode 100644 index 000000000..a8c9c6cbc --- /dev/null +++ b/test/meshes/soufflet/dist_8/my_list00005.out @@ -0,0 +1,387 @@ + 5 + 360 + 26 + 1 2 3 4 5 6 + 7 8 9 10 11 12 + 13 14 15 116 117 118 + 119 120 121 122 123 124 + 125 126 127 128 129 130 + 231 232 233 234 235 236 + 237 238 239 240 241 242 + 243 244 245 346 347 348 + 349 350 351 352 353 354 + 355 356 357 358 359 360 + 461 462 463 464 465 466 + 467 468 469 470 471 472 + 473 474 576 577 578 579 + 580 581 582 583 584 585 + 586 587 588 589 691 692 + 693 694 695 696 697 698 + 699 700 701 702 703 704 + 806 807 808 809 810 811 + 812 813 814 815 816 817 + 818 819 921 922 923 924 + 925 926 927 928 929 930 + 931 932 933 934 1036 1037 + 1038 1039 1040 1041 1042 1043 + 1044 1045 1046 1047 1048 1049 + 1151 1152 1153 1154 1155 1156 + 1157 1158 1159 1160 1161 1162 + 1163 1164 1266 1267 1268 1269 + 1270 1271 1272 1273 1274 1275 + 1276 1277 1278 1279 1381 1382 + 1383 1384 1385 1386 1387 1388 + 1389 1390 1391 1392 1393 1394 + 1496 1497 1498 1499 1500 1501 + 1502 1503 1504 1505 1506 1507 + 1508 1509 1611 1612 1613 1614 + 1615 1616 1617 1618 1619 1620 + 1621 1622 1623 1624 1726 1727 + 1728 1729 1730 1731 1732 1733 + 1734 1735 1736 1737 1738 1739 + 1841 1842 1843 1844 1845 1846 + 1847 1848 1849 1850 1851 1852 + 1853 1854 1956 1957 1958 1959 + 1960 1961 1962 1963 1964 1965 + 1966 1967 1968 1969 2071 2072 + 2073 2074 2075 2076 2077 2078 + 2079 2080 2081 2082 2083 2084 + 2186 2187 2188 2189 2190 2191 + 2192 2193 2194 2195 2196 2197 + 2198 2199 2200 2301 2302 2303 + 2304 2305 2306 2307 2308 2309 + 2310 2311 2312 2313 2314 2315 + 2416 2417 2418 2419 2420 2421 + 2422 2423 2424 2425 2426 2427 + 2428 2429 2430 2531 2532 2533 + 2534 2535 2536 2537 2538 2539 + 2540 2541 2542 2543 2544 2545 + 2646 2647 2648 2649 2650 2651 + 2652 2653 2654 2655 2656 2657 + 2658 2659 2660 2761 2762 2763 + 2764 2765 2766 2767 2768 2769 + 2770 2771 2772 2773 2774 2775 + 16 131 246 361 475 590 + 705 820 935 1050 1165 1280 + 1395 1510 1625 1740 1855 1970 + 2085 2086 2201 2316 2431 2546 + 2661 2776 + 721 + 26 + 26 + 1 2 3 4 5 6 + 7 8 9 10 11 12 + 13 14 15 16 115 116 + 117 118 119 120 121 122 + 123 124 125 126 127 128 + 229 230 231 232 233 234 + 235 236 237 238 239 240 + 241 242 243 244 343 344 + 345 346 347 348 349 350 + 351 352 353 354 355 356 + 457 458 459 460 461 462 + 463 464 465 466 467 468 + 469 470 471 472 571 572 + 573 574 575 576 577 578 + 579 580 581 582 583 584 + 685 686 687 688 689 690 + 691 692 693 694 695 696 + 697 698 699 799 800 801 + 802 803 804 805 806 807 + 808 809 810 811 812 913 + 914 915 916 917 918 919 + 920 921 922 923 924 925 + 926 1027 1028 1029 1030 1031 + 1032 1033 1034 1035 1036 1037 + 1038 1039 1040 1141 1142 1143 + 1144 1145 1146 1147 1148 1149 + 1150 1151 1152 1153 1154 1255 + 1256 1257 1258 1259 1260 1261 + 1262 1263 1264 1265 1266 1267 + 1268 1369 1370 1371 1372 1373 + 1374 1375 1376 1377 1378 1379 + 1380 1381 1382 1483 1484 1485 + 1486 1487 1488 1489 1490 1491 + 1492 1493 1494 1495 1496 1597 + 1598 1599 1600 1601 1602 1603 + 1604 1605 1606 1607 1608 1609 + 1610 1711 1712 1713 1714 1715 + 1716 1717 1718 1719 1720 1721 + 1722 1723 1724 1825 1826 1827 + 1828 1829 1830 1831 1832 1833 + 1834 1835 1836 1837 1838 1939 + 1940 1941 1942 1943 1944 1945 + 1946 1947 1948 1949 1950 1951 + 1952 2053 2054 2055 2056 2057 + 2058 2059 2060 2061 2062 2063 + 2064 2065 2066 2167 2168 2169 + 2170 2171 2172 2173 2174 2175 + 2176 2177 2178 2179 2180 2281 + 2282 2283 2284 2285 2286 2287 + 2288 2289 2290 2291 2292 2293 + 2294 2395 2396 2397 2398 2399 + 2400 2401 2402 2403 2404 2405 + 2406 2407 2408 2509 2510 2511 + 2512 2513 2514 2515 2516 2517 + 2518 2519 2520 2521 2522 2623 + 2624 2625 2626 2627 2628 2629 + 2630 2631 2632 2633 2634 2635 + 2636 2737 2738 2739 2740 2741 + 2742 2743 2744 2745 2746 2747 + 2748 2749 2750 2851 2852 2853 + 2854 2855 2856 2857 2858 2859 + 2860 2861 2862 2863 2864 2965 + 2966 2967 2968 2969 2970 2971 + 2972 2973 2974 2975 2976 2977 + 2978 3079 3080 3081 3082 3083 + 3084 3085 3086 3087 3088 3089 + 3090 3091 3092 3193 3194 3195 + 3196 3197 3198 3199 3200 3201 + 3202 3203 3204 3205 3206 3307 + 3308 3309 3310 3311 3312 3313 + 3314 3315 3316 3317 3318 3319 + 3320 3421 3422 3423 3424 3425 + 3426 3427 3428 3429 3430 3431 + 3432 3433 3434 3535 3536 3537 + 3538 3539 3540 3541 3542 3543 + 3544 3545 3546 3547 3548 3649 + 3650 3651 3652 3653 3654 3655 + 3656 3657 3658 3659 3660 3661 + 3662 3763 3764 3765 3766 3767 + 3768 3769 3770 3771 3772 3773 + 3774 3775 3776 3877 3878 3879 + 3880 3881 3882 3883 3884 3885 + 3886 3887 3888 3889 3890 3991 + 3992 3993 3994 3995 3996 3997 + 3998 3999 4000 4001 4002 4003 + 4004 4105 4106 4107 4108 4109 + 4110 4111 4112 4113 4114 4115 + 4116 4117 4118 4119 4120 4219 + 4220 4221 4222 4223 4224 4225 + 4226 4227 4228 4229 4230 4231 + 4232 4333 4334 4335 4336 4337 + 4338 4339 4340 4341 4342 4343 + 4344 4345 4346 4347 4348 4447 + 4448 4449 4450 4451 4452 4453 + 4454 4455 4456 4457 4458 4459 + 4460 4561 4562 4563 4564 4565 + 4566 4567 4568 4569 4570 4571 + 4572 4573 4574 4575 4576 4675 + 4676 4677 4678 4679 4680 4681 + 4682 4683 4684 4685 4686 4687 + 4688 4789 4790 4791 4792 4793 + 4794 4795 4796 4797 4798 4799 + 4800 4801 4802 4803 4804 4903 + 4904 4905 4906 4907 4908 4909 + 4910 4911 4912 4913 4914 4915 + 4916 5017 5018 5019 5020 5021 + 5022 5023 5024 5025 5026 5027 + 5028 5029 5030 5031 5032 5131 + 5132 5133 5134 5135 5136 5137 + 5138 5139 5140 5141 5142 5143 + 5144 5245 5246 5247 5248 5249 + 5250 5251 5252 5253 5254 5255 + 5256 5257 5258 5259 5260 5359 + 5360 5361 5362 5363 5364 5365 + 5366 5367 5368 5369 5370 5371 + 5372 5473 5474 5475 5476 5477 + 5478 5479 5480 5481 5482 5483 + 5484 5485 5486 5487 5488 5587 + 5588 5589 5590 5591 5592 5593 + 5594 5595 5596 5597 5598 5599 + 5600 130 358 586 700 927 + 1155 1383 1611 1839 2067 2295 + 2523 2751 2979 3207 3435 3663 + 3891 3892 4234 4462 4690 4918 + 5146 5374 5602 129 357 585 + 813 814 928 1156 1384 1612 + 1840 2068 2296 2524 2752 2980 + 3208 3436 3664 4006 4233 4461 + 4689 4917 5145 5373 5601 + 1081 + 26 + 1 2 3 4 5 6 + 7 8 9 10 11 12 + 13 14 15 16 17 18 + 19 20 21 22 23 24 + 25 26 27 28 29 30 + 31 32 33 34 35 36 + 37 38 39 40 41 42 + 43 44 45 46 47 48 + 49 50 51 52 53 54 + 55 56 57 58 59 60 + 61 62 63 64 65 66 + 67 68 69 70 71 72 + 73 569 570 571 572 573 + 574 575 576 577 578 579 + 580 581 582 583 584 585 + 586 587 588 589 590 591 + 592 593 594 595 596 597 + 598 599 600 601 602 603 + 604 605 606 607 608 609 + 610 611 613 910 911 912 + 913 914 915 916 917 918 + 919 920 921 922 923 924 + 925 926 927 928 929 930 + 931 932 933 934 935 936 + 937 938 939 940 941 942 + 943 944 945 946 947 948 + 949 950 951 952 954 1251 + 1252 1253 1254 1255 1256 1257 + 1258 1259 1260 1261 1262 1263 + 1264 1265 1266 1267 1268 1269 + 1270 1271 1272 1273 1274 1275 + 1276 1277 1278 1279 1280 1281 + 1282 1283 1284 1285 1286 1287 + 1288 1289 1290 1291 1292 1293 + 1592 1593 1594 1595 1596 1597 + 1598 1599 1600 1601 1602 1603 + 1604 1605 1606 1607 1608 1609 + 1610 1611 1612 1613 1614 1615 + 1616 1617 1618 1619 1620 1621 + 1622 1623 1624 1625 1626 1627 + 1628 1629 1630 1631 1632 1933 + 1934 1935 1936 1937 1938 1939 + 1940 1941 1942 1943 1944 1945 + 1946 1947 1948 1949 1950 1951 + 1952 1953 1954 1955 1956 1957 + 1958 1959 1960 1961 1962 1963 + 1964 1965 1966 1967 1968 1969 + 1970 1971 1972 1973 2274 2275 + 2276 2277 2278 2279 2280 2281 + 2282 2283 2284 2285 2286 2287 + 2288 2289 2290 2291 2292 2293 + 2294 2295 2296 2297 2298 2299 + 2300 2301 2302 2303 2304 2305 + 2306 2307 2308 2309 2310 2311 + 2312 2313 2314 2615 2616 2617 + 2618 2619 2620 2621 2622 2623 + 2624 2625 2626 2627 2628 2629 + 2630 2631 2632 2633 2634 2635 + 2636 2637 2638 2639 2640 2641 + 2642 2643 2644 2645 2646 2647 + 2648 2649 2650 2651 2652 2653 + 2654 2655 2956 2957 2958 2959 + 2960 2961 2962 2963 2964 2965 + 2966 2967 2968 2969 2970 2971 + 2972 2973 2974 2975 2976 2977 + 2978 2979 2980 2981 2982 2983 + 2984 2985 2986 2987 2988 2989 + 2990 2991 2992 2993 2994 2995 + 2996 3297 3298 3299 3300 3301 + 3302 3303 3304 3305 3306 3307 + 3308 3309 3310 3311 3312 3313 + 3314 3315 3316 3317 3318 3319 + 3320 3321 3322 3323 3324 3325 + 3326 3327 3328 3329 3330 3331 + 3332 3333 3334 3335 3336 3337 + 3638 3639 3640 3641 3642 3643 + 3644 3645 3646 3647 3648 3649 + 3650 3651 3652 3653 3654 3655 + 3656 3657 3658 3659 3660 3661 + 3662 3663 3664 3665 3666 3667 + 3668 3669 3670 3671 3672 3673 + 3674 3675 3676 3677 3678 3979 + 3980 3981 3982 3983 3984 3985 + 3986 3987 3988 3989 3990 3991 + 3992 3993 3994 3995 3996 3997 + 3998 3999 4000 4001 4002 4003 + 4004 4005 4006 4007 4008 4009 + 4010 4011 4012 4013 4014 4015 + 4016 4017 4018 4019 4320 4321 + 4322 4323 4324 4325 4326 4327 + 4328 4329 4330 4331 4332 4333 + 4334 4335 4336 4337 4338 4339 + 4340 4341 4342 4343 4344 4345 + 4346 4347 4348 4349 4350 4351 + 4352 4353 4354 4355 4356 4357 + 4358 4359 4360 4661 4662 4663 + 4664 4665 4666 4667 4668 4669 + 4670 4671 4672 4673 4674 4675 + 4676 4677 4678 4679 4680 4681 + 4682 4683 4684 4685 4686 4687 + 4688 4689 4690 4691 4692 4693 + 4694 4695 4696 4697 4698 4699 + 4700 4701 5002 5003 5004 5005 + 5006 5007 5008 5009 5010 5011 + 5012 5013 5014 5015 5016 5017 + 5018 5019 5020 5021 5022 5023 + 5024 5025 5026 5027 5028 5029 + 5030 5031 5032 5033 5034 5035 + 5036 5037 5038 5039 5040 5041 + 5042 5343 5344 5345 5346 5347 + 5348 5349 5350 5351 5352 5353 + 5354 5355 5356 5357 5358 5359 + 5360 5361 5362 5363 5364 5365 + 5366 5367 5368 5369 5370 5371 + 5372 5373 5374 5375 5376 5377 + 5378 5379 5380 5381 5382 5383 + 5684 5685 5686 5687 5688 5689 + 5690 5691 5692 5693 5694 5695 + 5696 5697 5698 5699 5700 5701 + 5702 5703 5704 5705 5706 5707 + 5708 5709 5710 5711 5712 5713 + 5714 5715 5716 5717 5718 5719 + 5720 5721 5722 5723 5724 6025 + 6026 6027 6028 6029 6030 6031 + 6032 6033 6034 6035 6036 6037 + 6038 6039 6040 6041 6042 6043 + 6044 6045 6046 6047 6048 6049 + 6050 6051 6052 6053 6054 6055 + 6056 6057 6058 6059 6060 6061 + 6062 6063 6064 6065 6366 6367 + 6368 6369 6370 6371 6372 6373 + 6374 6375 6376 6377 6378 6379 + 6380 6381 6382 6383 6384 6385 + 6386 6387 6388 6389 6390 6391 + 6392 6393 6394 6395 6396 6397 + 6398 6399 6400 6401 6402 6403 + 6404 6405 6406 6408 6410 6707 + 6708 6709 6710 6711 6712 6713 + 6714 6715 6716 6717 6718 6719 + 6720 6721 6722 6723 6724 6725 + 6726 6727 6728 6729 6730 6731 + 6732 6733 6734 6735 6736 6737 + 6738 6739 6740 6741 6742 6743 + 6744 6745 6746 6747 6748 6749 + 6751 7048 7049 7050 7051 7052 + 7053 7054 7055 7056 7057 7058 + 7059 7060 7061 7062 7063 7064 + 7065 7066 7067 7068 7069 7070 + 7071 7072 7073 7074 7075 7076 + 7077 7078 7079 7080 7081 7082 + 7083 7084 7085 7086 7087 7088 + 7089 7090 7092 7389 7390 7391 + 7392 7393 7394 7395 7396 7397 + 7398 7399 7400 7401 7402 7403 + 7404 7405 7406 7407 7408 7409 + 7410 7411 7412 7413 7414 7415 + 7416 7417 7418 7419 7420 7421 + 7422 7423 7424 7425 7426 7427 + 7428 7429 7430 7431 7433 7730 + 7731 7732 7733 7734 7735 7736 + 7737 7738 7739 7740 7741 7742 + 7743 7744 7745 7746 7747 7748 + 7749 7750 7751 7752 7753 7754 + 7755 7756 7757 7758 7759 7760 + 7761 7762 7763 7764 7765 7766 + 7767 7768 7769 7770 7771 7772 + 7774 8071 8072 8073 8074 8075 + 8076 8077 8078 8079 8080 8081 + 8082 8083 8084 8085 8086 8087 + 8088 8089 8090 8091 8092 8093 + 8094 8095 8096 8097 8098 8099 + 8100 8101 8102 8103 8104 8105 + 8106 8107 8108 8109 8110 8111 + 8112 8113 8115 8412 8413 8414 + 8415 8416 8417 8418 8419 8420 + 8421 8422 8423 8424 8425 8426 + 8526 8527 8530 8532 8534 8536 + 8538 8540 8542 8544 8546 8548 + 8550 8552 8554 8556 8558 8560 + 8562 8564 8566 8568 8570 8572 + 8574 74 614 955 1295 1634 + 1975 2316 2657 2998 3339 3680 + 4021 4362 4703 5044 5385 5726 + 6067 6407 6411 6752 7093 7434 + 7775 8116 77 diff --git a/test/meshes/soufflet/dist_8/my_list00006.out b/test/meshes/soufflet/dist_8/my_list00006.out new file mode 100644 index 000000000..16f206a4d --- /dev/null +++ b/test/meshes/soufflet/dist_8/my_list00006.out @@ -0,0 +1,420 @@ + 6 + 359 + 52 + 44 45 46 47 48 49 + 50 51 52 53 54 55 + 56 57 58 159 160 161 + 162 163 164 165 166 167 + 168 169 170 171 172 173 + 274 275 276 277 278 279 + 280 281 282 283 284 285 + 286 287 288 389 390 391 + 392 393 394 395 396 397 + 398 399 400 401 402 403 + 504 505 506 507 508 509 + 510 511 512 513 514 515 + 516 517 518 619 620 621 + 622 623 624 625 626 627 + 628 629 630 631 632 633 + 734 735 736 737 738 739 + 740 741 742 743 744 745 + 746 747 849 850 851 852 + 853 854 855 856 857 858 + 859 860 861 862 964 965 + 966 967 968 969 970 971 + 972 973 974 975 976 977 + 1079 1080 1081 1082 1083 1084 + 1085 1086 1087 1088 1089 1090 + 1091 1092 1194 1195 1196 1197 + 1198 1199 1200 1201 1202 1203 + 1204 1205 1206 1207 1309 1310 + 1311 1312 1313 1314 1315 1316 + 1317 1318 1319 1320 1321 1322 + 1424 1425 1426 1427 1428 1429 + 1430 1431 1432 1433 1434 1435 + 1436 1437 1539 1540 1541 1542 + 1543 1544 1545 1546 1547 1548 + 1549 1550 1551 1552 1654 1655 + 1656 1657 1658 1659 1660 1661 + 1662 1663 1664 1665 1666 1667 + 1770 1771 1772 1773 1774 1775 + 1776 1777 1778 1779 1780 1781 + 1782 1885 1886 1887 1888 1889 + 1890 1891 1892 1893 1894 1895 + 1896 1897 2000 2001 2002 2003 + 2004 2005 2006 2007 2008 2009 + 2010 2011 2012 2115 2116 2117 + 2118 2119 2120 2121 2122 2123 + 2124 2125 2126 2127 2128 2229 + 2230 2231 2232 2233 2234 2235 + 2236 2237 2238 2239 2240 2241 + 2242 2243 2344 2345 2346 2347 + 2348 2349 2350 2351 2352 2353 + 2354 2355 2356 2357 2358 2459 + 2460 2461 2462 2463 2464 2465 + 2466 2467 2468 2469 2470 2471 + 2472 2473 2574 2575 2576 2577 + 2578 2579 2580 2581 2582 2583 + 2584 2585 2586 2587 2588 2689 + 2690 2691 2692 2693 2694 2695 + 2696 2697 2698 2699 2700 2701 + 2702 2703 2804 2805 2806 2807 + 2808 2809 2810 2811 2812 2813 + 2814 2815 2816 2817 2818 59 + 174 289 404 519 634 748 + 749 863 978 1093 1208 1323 + 1438 1553 1668 1783 1898 2013 + 2129 2244 2359 2474 2589 2704 + 2819 43 158 273 388 503 + 618 733 848 963 1078 1193 + 1308 1423 1538 1653 1768 1769 + 1884 1999 2114 2228 2343 2458 + 2573 2688 2803 + 770 + 52 + 52 + 43 44 45 46 47 48 + 49 50 51 52 53 54 + 55 56 57 58 157 158 + 159 160 161 162 163 164 + 165 166 167 168 169 170 + 171 172 271 272 273 274 + 275 276 277 278 279 280 + 281 282 283 284 285 286 + 385 386 387 388 389 390 + 391 392 393 394 395 396 + 397 398 399 400 499 500 + 501 502 503 504 505 506 + 507 508 509 510 511 512 + 513 514 613 614 615 616 + 617 618 619 620 621 622 + 623 624 625 626 627 628 + 727 728 729 730 731 732 + 733 734 735 736 737 738 + 739 740 741 742 841 842 + 843 844 845 846 847 848 + 849 850 851 852 853 854 + 855 856 955 956 957 958 + 959 960 961 962 963 964 + 965 966 967 968 969 970 + 1069 1070 1071 1072 1073 1074 + 1075 1076 1077 1078 1079 1080 + 1081 1082 1083 1084 1183 1184 + 1185 1186 1187 1188 1189 1190 + 1191 1192 1193 1194 1195 1196 + 1197 1198 1297 1298 1299 1300 + 1301 1302 1303 1304 1305 1306 + 1307 1308 1309 1310 1311 1312 + 1411 1412 1413 1414 1415 1416 + 1417 1418 1419 1420 1421 1422 + 1423 1424 1425 1426 1525 1526 + 1527 1528 1529 1530 1531 1532 + 1533 1534 1535 1536 1537 1538 + 1639 1640 1641 1642 1643 1644 + 1645 1646 1647 1648 1649 1650 + 1651 1652 1653 1654 1753 1754 + 1755 1756 1757 1758 1759 1760 + 1761 1762 1763 1764 1765 1766 + 1867 1868 1869 1870 1871 1872 + 1873 1874 1875 1876 1877 1878 + 1879 1880 1881 1882 1981 1982 + 1983 1984 1985 1986 1987 1988 + 1989 1990 1991 1992 1993 1994 + 2095 2096 2097 2098 2099 2100 + 2101 2102 2103 2104 2105 2106 + 2107 2108 2109 2110 2209 2210 + 2211 2212 2213 2214 2215 2216 + 2217 2218 2219 2220 2221 2222 + 2323 2324 2325 2326 2327 2328 + 2329 2330 2331 2332 2333 2334 + 2335 2336 2337 2338 2437 2438 + 2439 2440 2441 2442 2443 2444 + 2445 2446 2447 2448 2449 2450 + 2551 2552 2553 2554 2555 2556 + 2557 2558 2559 2560 2561 2562 + 2563 2564 2565 2566 2665 2666 + 2667 2668 2669 2670 2671 2672 + 2673 2674 2675 2676 2677 2678 + 2779 2780 2781 2782 2783 2784 + 2785 2786 2787 2788 2789 2790 + 2791 2792 2793 2794 2893 2894 + 2895 2896 2897 2898 2899 2900 + 2901 2902 2903 2904 2905 2906 + 3007 3008 3009 3010 3011 3012 + 3013 3014 3015 3016 3017 3018 + 3019 3020 3021 3022 3121 3122 + 3123 3124 3125 3126 3127 3128 + 3129 3130 3131 3132 3133 3134 + 3235 3236 3237 3238 3239 3240 + 3241 3242 3243 3244 3245 3246 + 3247 3248 3249 3250 3349 3350 + 3351 3352 3353 3354 3355 3356 + 3357 3358 3359 3360 3361 3362 + 3465 3466 3467 3468 3469 3470 + 3471 3472 3473 3474 3475 3476 + 3477 3478 3577 3578 3579 3580 + 3581 3582 3583 3584 3585 3586 + 3587 3588 3589 3590 3693 3694 + 3695 3696 3697 3698 3699 3700 + 3701 3702 3703 3704 3705 3706 + 3805 3806 3807 3808 3809 3810 + 3811 3812 3813 3814 3815 3816 + 3817 3818 3921 3922 3923 3924 + 3925 3926 3927 3928 3929 3930 + 3931 3932 3933 3934 4033 4034 + 4035 4036 4037 4038 4039 4040 + 4041 4042 4043 4044 4045 4046 + 4048 4148 4149 4150 4151 4152 + 4153 4154 4155 4156 4157 4158 + 4159 4160 4161 4162 4261 4262 + 4263 4264 4265 4266 4267 4268 + 4269 4270 4271 4272 4273 4274 + 4275 4276 4375 4376 4377 4378 + 4379 4380 4381 4382 4383 4384 + 4385 4386 4387 4388 4389 4390 + 4489 4490 4491 4492 4493 4494 + 4495 4496 4497 4498 4499 4500 + 4501 4502 4503 4504 4603 4604 + 4605 4606 4607 4608 4609 4610 + 4611 4612 4613 4614 4615 4616 + 4617 4618 4717 4718 4719 4720 + 4721 4722 4723 4724 4725 4726 + 4727 4728 4729 4730 4731 4732 + 4831 4832 4833 4834 4835 4836 + 4837 4838 4839 4840 4841 4842 + 4843 4844 4845 4846 4945 4946 + 4947 4948 4949 4950 4951 4952 + 4953 4954 4955 4956 4957 4958 + 4959 4960 5059 5060 5061 5062 + 5063 5064 5065 5066 5067 5068 + 5069 5070 5071 5072 5073 5074 + 5173 5174 5175 5176 5177 5178 + 5179 5180 5181 5182 5183 5184 + 5185 5186 5187 5188 5287 5288 + 5289 5290 5291 5292 5293 5294 + 5295 5296 5297 5298 5299 5300 + 5301 5302 5401 5402 5403 5404 + 5405 5406 5407 5408 5409 5410 + 5411 5412 5413 5414 5415 5416 + 5515 5516 5517 5518 5519 5520 + 5521 5522 5523 5524 5525 5526 + 5527 5528 5529 5530 5629 5630 + 5631 5632 5633 5634 5635 5636 + 5637 5638 5639 5640 5641 5642 + 5643 5644 59 287 515 743 + 971 1199 1539 1540 1768 1996 + 2224 2452 2680 2908 3136 3364 + 3592 3820 4047 4163 4391 4619 + 4847 5075 5303 5531 155 383 + 611 839 1067 1295 1523 1751 + 1979 2207 2435 2663 2891 3119 + 3347 3463 3464 3692 3920 4147 + 4487 4715 4943 5171 5399 5627 + 60 288 516 744 972 1200 + 1427 1767 1995 2223 2451 2679 + 2907 3135 3363 3591 3819 3935 + 3936 4164 4392 4620 4848 5076 + 5304 5532 156 384 612 840 + 1068 1296 1524 1752 1980 2208 + 2436 2664 2892 3120 3348 3575 + 3691 3919 4259 4260 4488 4716 + 4944 5172 5400 5628 + 1129 + 52 + 208 211 213 214 215 216 + 217 218 219 220 221 222 + 223 224 225 226 227 228 + 229 230 231 232 233 234 + 235 236 237 238 239 240 + 241 242 243 244 245 246 + 247 248 249 250 251 252 + 253 254 255 256 257 258 + 259 260 261 262 263 264 + 265 266 267 268 269 270 + 271 272 273 274 275 276 + 277 278 279 280 281 282 + 283 284 285 286 287 292 + 694 696 697 698 699 700 + 701 702 703 704 705 706 + 707 708 709 710 711 712 + 713 714 715 716 717 718 + 719 720 721 722 723 724 + 725 726 727 728 729 730 + 731 732 733 734 735 736 + 737 738 739 740 741 1035 + 1037 1038 1039 1040 1041 1042 + 1043 1044 1045 1046 1047 1048 + 1049 1050 1051 1052 1053 1054 + 1055 1056 1057 1058 1059 1060 + 1061 1062 1063 1064 1065 1066 + 1067 1068 1069 1070 1071 1072 + 1073 1074 1075 1076 1077 1078 + 1079 1080 1081 1082 1376 1378 + 1379 1380 1381 1382 1383 1384 + 1385 1386 1387 1388 1389 1390 + 1391 1392 1393 1394 1395 1396 + 1397 1398 1399 1400 1401 1402 + 1403 1404 1405 1406 1407 1408 + 1409 1410 1411 1412 1413 1414 + 1415 1416 1417 1418 1419 1420 + 1421 1422 1423 1717 1719 1720 + 1721 1722 1723 1724 1725 1726 + 1727 1728 1729 1730 1731 1732 + 1733 1734 1735 1736 1737 1738 + 1739 1740 1741 1742 1743 1744 + 1745 1746 1747 1748 1749 1750 + 1751 1752 1753 1754 1755 1756 + 1757 1758 1759 1760 1761 1762 + 1763 1764 2058 2060 2061 2062 + 2063 2064 2065 2066 2067 2068 + 2069 2070 2071 2072 2073 2074 + 2075 2076 2077 2078 2079 2080 + 2081 2082 2083 2084 2085 2086 + 2087 2088 2089 2090 2091 2092 + 2093 2094 2095 2096 2097 2098 + 2099 2100 2101 2102 2103 2104 + 2105 2399 2401 2402 2403 2404 + 2405 2406 2407 2408 2409 2410 + 2411 2412 2413 2414 2415 2416 + 2417 2418 2419 2420 2421 2422 + 2423 2424 2425 2426 2427 2428 + 2429 2430 2431 2432 2433 2434 + 2435 2436 2437 2438 2439 2440 + 2441 2442 2444 2740 2742 2743 + 2744 2745 2746 2747 2748 2749 + 2750 2751 2752 2753 2754 2755 + 2756 2757 2758 2759 2760 2761 + 2762 2763 2764 2765 2766 2767 + 2768 2769 2770 2771 2772 2773 + 2774 2775 2776 2777 2778 2779 + 2780 2781 2782 2783 2785 3081 + 3083 3084 3085 3086 3087 3088 + 3089 3090 3091 3092 3093 3094 + 3095 3096 3097 3098 3099 3100 + 3101 3102 3103 3104 3105 3106 + 3107 3108 3109 3110 3111 3112 + 3113 3114 3115 3116 3117 3118 + 3119 3120 3121 3122 3123 3124 + 3126 3422 3424 3425 3426 3427 + 3428 3429 3430 3431 3432 3433 + 3434 3435 3436 3437 3438 3439 + 3440 3441 3442 3443 3444 3445 + 3446 3447 3448 3449 3450 3451 + 3452 3453 3454 3455 3456 3457 + 3458 3459 3460 3461 3462 3463 + 3464 3465 3467 3763 3765 3766 + 3767 3768 3769 3770 3771 3772 + 3773 3774 3775 3776 3777 3778 + 3779 3780 3781 3782 3783 3784 + 3785 3786 3787 3788 3789 3790 + 3791 3792 3793 3794 3795 3796 + 3797 3798 3799 3800 3801 3802 + 3803 3804 3805 3806 3808 4104 + 4106 4107 4108 4109 4110 4111 + 4112 4113 4114 4115 4116 4117 + 4118 4119 4120 4121 4122 4123 + 4124 4125 4126 4127 4128 4129 + 4130 4131 4132 4133 4134 4135 + 4136 4137 4138 4139 4140 4141 + 4142 4143 4144 4145 4146 4147 + 4149 4445 4447 4448 4449 4450 + 4451 4452 4453 4454 4455 4456 + 4457 4458 4459 4460 4461 4462 + 4463 4464 4465 4466 4467 4468 + 4469 4470 4471 4472 4473 4474 + 4475 4476 4477 4478 4479 4480 + 4481 4482 4483 4484 4485 4486 + 4487 4488 4490 4786 4788 4789 + 4790 4791 4792 4793 4794 4795 + 4796 4797 4798 4799 4800 4801 + 4802 4803 4804 4805 4806 4807 + 4808 4809 4810 4811 4812 4813 + 4814 4815 4816 4817 4818 4819 + 4820 4821 4822 4823 4824 4825 + 4826 4827 4828 4829 4831 5127 + 5129 5130 5131 5132 5133 5134 + 5135 5136 5137 5138 5139 5140 + 5141 5142 5143 5144 5145 5146 + 5147 5148 5149 5150 5151 5152 + 5153 5154 5155 5156 5157 5158 + 5159 5160 5161 5162 5163 5164 + 5165 5166 5167 5168 5169 5170 + 5172 5470 5473 5474 5475 5476 + 5477 5478 5479 5480 5481 5482 + 5483 5484 5485 5486 5487 5488 + 5489 5490 5491 5492 5493 5494 + 5495 5496 5497 5498 5499 5500 + 5501 5502 5503 5504 5505 5506 + 5507 5508 5509 5510 5511 5513 + 5811 5814 5815 5816 5817 5818 + 5819 5820 5821 5822 5823 5824 + 5825 5826 5827 5828 5829 5830 + 5831 5832 5833 5834 5835 5836 + 5837 5838 5839 5840 5841 5842 + 5843 5844 5845 5846 5847 5848 + 5849 5850 5851 5852 5854 6152 + 6155 6156 6157 6158 6159 6160 + 6161 6162 6163 6164 6165 6166 + 6167 6168 6169 6170 6171 6172 + 6173 6174 6175 6176 6177 6178 + 6179 6180 6181 6182 6183 6184 + 6185 6186 6187 6188 6189 6190 + 6191 6192 6193 6195 6196 6493 + 6495 6496 6497 6498 6499 6500 + 6501 6502 6503 6504 6505 6506 + 6507 6508 6509 6510 6511 6512 + 6513 6514 6515 6516 6517 6518 + 6519 6520 6521 6522 6523 6524 + 6525 6526 6527 6528 6529 6530 + 6531 6532 6533 6534 6535 6536 + 6537 6538 6832 6834 6835 6836 + 6837 6838 6839 6840 6841 6842 + 6843 6844 6845 6846 6847 6848 + 6849 6850 6851 6852 6853 6854 + 6855 6856 6857 6858 6859 6860 + 6861 6862 6863 6864 6865 6866 + 6867 6868 6869 6870 6871 6872 + 6873 6874 6875 6876 6877 6878 + 6879 7173 7175 7176 7177 7178 + 7179 7180 7181 7182 7183 7184 + 7185 7186 7187 7188 7189 7190 + 7191 7192 7193 7194 7195 7196 + 7197 7198 7199 7200 7201 7202 + 7203 7204 7205 7206 7207 7208 + 7209 7210 7211 7212 7213 7214 + 7215 7216 7217 7218 7219 7220 + 7514 7516 7517 7518 7519 7520 + 7521 7522 7523 7524 7525 7526 + 7527 7528 7529 7530 7531 7532 + 7533 7534 7535 7536 7537 7538 + 7539 7540 7541 7542 7543 7544 + 7545 7546 7547 7548 7549 7550 + 7551 7552 7553 7554 7555 7556 + 7557 7558 7559 7560 7561 7855 + 7857 7858 7859 7860 7861 7862 + 7863 7864 7865 7866 7867 7868 + 7869 7870 7871 7872 7873 7874 + 7875 7876 7877 7878 7879 7880 + 7881 7882 7883 7884 7885 7886 + 7887 7888 7889 7890 7891 7892 + 7893 7894 7895 7896 7897 7898 + 7899 7900 7901 7902 8196 8198 + 8199 8200 8201 8202 8203 8204 + 8205 8206 8207 8208 8209 8210 + 8211 8212 8213 8214 8215 8216 + 8217 8218 8219 8220 8221 8222 + 8223 8224 8225 8226 8227 8228 + 8229 8230 8231 8232 8233 8234 + 8235 8236 8237 8238 8239 8240 + 8241 8242 8243 8454 8455 8456 + 8457 8458 8459 8460 8461 8462 + 8463 8464 8465 8466 8467 8468 + 8469 209 289 695 743 1036 + 1084 1377 1425 1718 1766 2059 + 2107 2443 2400 2445 2741 2786 + 3082 3127 3423 3468 3764 3809 + 4105 4150 4446 4491 4787 4832 + 5128 5468 5173 5514 5472 5855 + 5813 6154 6197 6494 6540 6833 + 6881 7174 7222 7515 7563 7856 + 7904 8197 8245 210 290 diff --git a/test/meshes/soufflet/dist_8/my_list00007.out b/test/meshes/soufflet/dist_8/my_list00007.out new file mode 100644 index 000000000..8d05564f3 --- /dev/null +++ b/test/meshes/soufflet/dist_8/my_list00007.out @@ -0,0 +1,421 @@ + 7 + 360 + 52 + 29 30 31 32 33 34 + 35 36 37 38 39 40 + 41 42 43 145 146 147 + 148 149 150 151 152 153 + 154 155 156 157 158 260 + 261 262 263 264 265 266 + 267 268 269 270 271 272 + 273 375 376 377 378 379 + 380 381 382 383 384 385 + 386 387 388 490 491 492 + 493 494 495 496 497 498 + 499 500 501 502 503 605 + 606 607 608 609 610 611 + 612 613 614 615 616 617 + 618 720 721 722 723 724 + 725 726 727 728 729 730 + 731 732 733 835 836 837 + 838 839 840 841 842 843 + 844 845 846 847 848 950 + 951 952 953 954 955 956 + 957 958 959 960 961 962 + 963 1065 1066 1067 1068 1069 + 1070 1071 1072 1073 1074 1075 + 1076 1077 1078 1180 1181 1182 + 1183 1184 1185 1186 1187 1188 + 1189 1190 1191 1192 1193 1295 + 1296 1297 1298 1299 1300 1301 + 1302 1303 1304 1305 1306 1307 + 1308 1410 1411 1412 1413 1414 + 1415 1416 1417 1418 1419 1420 + 1421 1422 1423 1525 1526 1527 + 1528 1529 1530 1531 1532 1533 + 1534 1535 1536 1537 1538 1640 + 1641 1642 1643 1644 1645 1646 + 1647 1648 1649 1650 1651 1652 + 1653 1755 1756 1757 1758 1759 + 1760 1761 1762 1763 1764 1765 + 1766 1767 1768 1769 1870 1871 + 1872 1873 1874 1875 1876 1877 + 1878 1879 1880 1881 1882 1883 + 1884 1985 1986 1987 1988 1989 + 1990 1991 1992 1993 1994 1995 + 1996 1997 1998 1999 2100 2101 + 2102 2103 2104 2105 2106 2107 + 2108 2109 2110 2111 2112 2113 + 2114 2215 2216 2217 2218 2219 + 2220 2221 2222 2223 2224 2225 + 2226 2227 2228 2329 2330 2331 + 2332 2333 2334 2335 2336 2337 + 2338 2339 2340 2341 2342 2343 + 2444 2445 2446 2447 2448 2449 + 2450 2451 2452 2453 2454 2455 + 2456 2457 2458 2559 2560 2561 + 2562 2563 2564 2565 2566 2567 + 2568 2569 2570 2571 2572 2573 + 2674 2675 2676 2677 2678 2679 + 2680 2681 2682 2683 2684 2685 + 2686 2687 2688 2789 2790 2791 + 2792 2793 2794 2795 2796 2797 + 2798 2799 2800 2801 2802 2803 + 28 144 259 374 489 604 + 719 834 949 1064 1179 1294 + 1409 1524 1639 1754 1869 1984 + 2099 2213 2214 2328 2443 2558 + 2673 2788 44 159 274 389 + 504 619 734 849 964 1079 + 1194 1309 1424 1539 1654 1770 + 1885 2000 2115 2229 2230 2344 + 2459 2574 2689 2804 + 772 + 52 + 52 + 29 30 31 32 33 34 + 35 36 37 38 39 40 + 41 42 43 44 141 143 + 144 145 146 147 148 149 + 150 151 152 153 154 155 + 156 257 258 259 260 261 + 262 263 264 265 266 267 + 268 269 270 271 272 371 + 372 373 374 375 376 377 + 378 379 380 381 382 383 + 384 485 486 487 488 489 + 490 491 492 493 494 495 + 496 497 498 499 500 599 + 600 601 602 603 604 605 + 606 607 608 609 610 611 + 612 713 714 715 716 717 + 718 719 720 721 722 723 + 724 725 726 727 728 827 + 828 829 830 831 832 833 + 834 835 836 837 838 839 + 840 941 942 943 944 945 + 946 947 948 949 950 951 + 952 953 954 955 956 1055 + 1056 1057 1058 1059 1060 1061 + 1062 1063 1064 1065 1066 1067 + 1068 1169 1170 1171 1172 1173 + 1174 1175 1176 1177 1178 1179 + 1180 1181 1182 1183 1184 1283 + 1284 1285 1286 1287 1288 1289 + 1290 1291 1292 1293 1294 1295 + 1296 1397 1398 1399 1400 1401 + 1402 1403 1404 1405 1406 1407 + 1408 1409 1410 1411 1412 1511 + 1512 1513 1514 1515 1516 1517 + 1518 1519 1520 1521 1522 1523 + 1524 1625 1626 1627 1628 1629 + 1630 1631 1632 1633 1634 1635 + 1636 1637 1638 1639 1640 1739 + 1740 1741 1742 1743 1744 1745 + 1746 1747 1748 1749 1750 1751 + 1752 1853 1854 1855 1856 1857 + 1858 1859 1860 1861 1862 1863 + 1864 1865 1866 1867 1868 1967 + 1968 1969 1970 1971 1972 1973 + 1974 1975 1976 1977 1978 1979 + 1980 2081 2082 2083 2084 2085 + 2086 2087 2088 2089 2090 2091 + 2092 2093 2094 2095 2096 2195 + 2196 2197 2198 2199 2200 2201 + 2202 2203 2204 2205 2206 2207 + 2208 2309 2310 2311 2312 2313 + 2314 2315 2316 2317 2318 2319 + 2320 2321 2322 2323 2324 2423 + 2424 2425 2426 2427 2428 2429 + 2430 2431 2432 2433 2434 2435 + 2436 2537 2538 2539 2540 2541 + 2542 2543 2544 2545 2546 2547 + 2548 2549 2550 2551 2552 2651 + 2652 2653 2654 2655 2656 2657 + 2658 2659 2660 2661 2662 2663 + 2664 2765 2766 2767 2768 2769 + 2770 2771 2772 2773 2774 2775 + 2776 2777 2778 2779 2780 2879 + 2880 2881 2882 2883 2884 2885 + 2886 2887 2888 2889 2890 2891 + 2892 2993 2994 2995 2996 2997 + 2998 2999 3000 3001 3002 3003 + 3004 3005 3006 3007 3008 3107 + 3108 3109 3110 3111 3112 3113 + 3114 3115 3116 3117 3118 3119 + 3120 3221 3222 3223 3224 3225 + 3226 3227 3228 3229 3230 3231 + 3232 3233 3234 3235 3236 3335 + 3336 3337 3338 3339 3340 3341 + 3342 3343 3344 3345 3346 3347 + 3348 3350 3449 3450 3451 3452 + 3453 3454 3455 3456 3457 3458 + 3459 3460 3461 3462 3463 3464 + 3563 3564 3565 3566 3567 3568 + 3569 3570 3571 3572 3573 3574 + 3575 3576 3577 3578 3677 3678 + 3679 3680 3681 3682 3683 3684 + 3685 3686 3687 3688 3689 3690 + 3691 3692 3791 3792 3793 3794 + 3795 3796 3797 3798 3799 3800 + 3801 3802 3803 3804 3805 3806 + 3905 3906 3907 3908 3909 3910 + 3911 3912 3913 3914 3915 3916 + 3917 3918 3919 3920 4019 4020 + 4021 4022 4023 4024 4025 4026 + 4027 4028 4029 4030 4031 4032 + 4033 4034 4133 4134 4135 4136 + 4137 4138 4139 4140 4141 4142 + 4143 4144 4145 4146 4147 4148 + 4247 4248 4249 4250 4251 4252 + 4253 4254 4255 4256 4257 4258 + 4259 4260 4261 4262 4361 4362 + 4363 4364 4365 4366 4367 4368 + 4369 4370 4371 4372 4373 4374 + 4375 4376 4473 4474 4475 4476 + 4477 4478 4479 4480 4481 4482 + 4483 4484 4485 4486 4487 4488 + 4589 4590 4591 4592 4593 4594 + 4595 4596 4597 4598 4599 4600 + 4601 4602 4603 4604 4701 4702 + 4703 4704 4705 4706 4707 4708 + 4709 4710 4711 4712 4713 4714 + 4715 4716 4817 4818 4819 4820 + 4821 4822 4823 4824 4825 4826 + 4827 4828 4829 4830 4831 4832 + 4929 4930 4931 4932 4933 4934 + 4935 4936 4937 4938 4939 4940 + 4941 4942 4943 4944 5045 5046 + 5047 5048 5049 5050 5051 5052 + 5053 5054 5055 5056 5057 5058 + 5059 5060 5157 5158 5159 5160 + 5161 5162 5163 5164 5165 5166 + 5167 5168 5169 5170 5171 5172 + 5273 5274 5275 5276 5277 5278 + 5279 5280 5281 5282 5283 5284 + 5285 5286 5287 5288 5385 5386 + 5387 5388 5389 5390 5391 5392 + 5393 5394 5395 5396 5397 5398 + 5399 5400 5501 5502 5503 5504 + 5505 5506 5507 5508 5509 5510 + 5511 5512 5513 5514 5515 5516 + 5613 5614 5615 5616 5617 5618 + 5619 5620 5621 5622 5623 5624 + 5625 5626 5627 5628 142 369 + 597 825 1053 1281 1509 1737 + 1965 2193 2421 2649 2877 3105 + 3333 3561 3789 4017 4245 4246 + 4360 4588 4816 5044 5272 5500 + 158 386 614 842 1070 1298 + 1526 1754 1982 2210 2438 2666 + 2894 3122 3349 3465 3693 3921 + 4149 4489 4490 4718 4946 5174 + 5402 5630 27 28 370 598 + 826 1054 1282 1510 1738 1966 + 2194 2422 2650 2878 3106 3334 + 3562 3790 4018 4132 4359 4587 + 4815 5043 5271 5499 157 385 + 613 841 1069 1297 1525 1753 + 1981 2209 2437 2665 2893 3121 + 3237 3238 3466 3694 3922 4150 + 4377 4717 4945 5173 5401 5629 + 1132 + 52 + 135 138 139 140 141 142 + 143 144 145 146 147 148 + 149 150 151 152 153 154 + 155 156 157 158 159 160 + 161 162 163 164 165 166 + 167 168 169 170 171 172 + 173 174 175 176 177 178 + 179 180 181 182 183 184 + 185 186 187 188 189 190 + 191 192 193 194 195 196 + 197 198 199 200 201 202 + 203 204 205 206 207 208 + 209 210 211 212 213 652 + 654 655 656 657 658 659 + 660 661 662 663 664 665 + 666 667 668 669 670 671 + 672 673 674 675 676 677 + 678 679 680 681 682 683 + 684 685 686 687 688 689 + 690 691 692 693 694 695 + 697 993 995 996 997 998 + 999 1000 1001 1002 1003 1004 + 1005 1006 1007 1008 1009 1010 + 1011 1012 1013 1014 1015 1016 + 1017 1018 1019 1020 1021 1022 + 1023 1024 1025 1026 1027 1028 + 1029 1030 1031 1032 1033 1034 + 1035 1036 1038 1334 1336 1337 + 1338 1339 1340 1341 1342 1343 + 1344 1345 1346 1347 1348 1349 + 1350 1351 1352 1353 1354 1355 + 1356 1357 1358 1359 1360 1361 + 1362 1363 1364 1365 1366 1367 + 1368 1369 1370 1371 1372 1373 + 1374 1375 1376 1377 1379 1675 + 1677 1678 1679 1680 1681 1682 + 1683 1684 1685 1686 1687 1688 + 1689 1690 1691 1692 1693 1694 + 1695 1696 1697 1698 1699 1700 + 1701 1702 1703 1704 1705 1706 + 1707 1708 1709 1710 1711 1712 + 1713 1714 1715 1716 1717 1718 + 1720 2016 2018 2019 2020 2021 + 2022 2023 2024 2025 2026 2027 + 2028 2029 2030 2031 2032 2033 + 2034 2035 2036 2037 2038 2039 + 2040 2041 2042 2043 2044 2045 + 2046 2047 2048 2049 2050 2051 + 2052 2053 2054 2055 2056 2057 + 2058 2059 2061 2357 2359 2360 + 2361 2362 2363 2364 2365 2366 + 2367 2368 2369 2370 2371 2372 + 2373 2374 2375 2376 2377 2378 + 2379 2380 2381 2382 2383 2384 + 2385 2386 2387 2388 2389 2390 + 2391 2392 2393 2394 2395 2396 + 2397 2398 2399 2400 2402 2698 + 2700 2701 2702 2703 2704 2705 + 2706 2707 2708 2709 2710 2711 + 2712 2713 2714 2715 2716 2717 + 2718 2719 2720 2721 2722 2723 + 2724 2725 2726 2727 2728 2729 + 2730 2731 2732 2733 2734 2735 + 2736 2737 2738 2739 2740 2741 + 2743 3039 3041 3042 3043 3044 + 3045 3046 3047 3048 3049 3050 + 3051 3052 3053 3054 3055 3056 + 3057 3058 3059 3060 3061 3062 + 3063 3064 3065 3066 3067 3068 + 3069 3070 3071 3072 3073 3074 + 3075 3076 3077 3078 3079 3080 + 3081 3082 3084 3380 3382 3383 + 3384 3385 3386 3387 3388 3389 + 3390 3391 3392 3393 3394 3395 + 3396 3397 3398 3399 3400 3401 + 3402 3403 3404 3405 3406 3407 + 3408 3409 3410 3411 3412 3413 + 3414 3415 3416 3417 3418 3419 + 3420 3421 3422 3423 3425 3721 + 3723 3724 3725 3726 3727 3728 + 3729 3730 3731 3732 3733 3734 + 3735 3736 3737 3738 3739 3740 + 3741 3742 3743 3744 3745 3746 + 3747 3748 3749 3750 3751 3752 + 3753 3754 3755 3756 3757 3758 + 3759 3760 3761 3762 3763 3764 + 3766 4062 4064 4065 4066 4067 + 4068 4069 4070 4071 4072 4073 + 4074 4075 4076 4077 4078 4079 + 4080 4081 4082 4083 4084 4085 + 4086 4087 4088 4089 4090 4091 + 4092 4093 4094 4095 4096 4097 + 4098 4099 4100 4101 4102 4103 + 4104 4105 4107 4403 4405 4406 + 4407 4408 4409 4410 4411 4412 + 4413 4414 4415 4416 4417 4418 + 4419 4420 4421 4422 4423 4424 + 4425 4426 4427 4428 4429 4430 + 4431 4432 4433 4434 4435 4436 + 4437 4438 4439 4440 4441 4442 + 4443 4444 4445 4446 4448 4744 + 4746 4747 4748 4749 4750 4751 + 4752 4753 4754 4755 4756 4757 + 4758 4759 4760 4761 4762 4763 + 4764 4765 4766 4767 4768 4769 + 4770 4771 4772 4773 4774 4775 + 4776 4777 4778 4779 4780 4781 + 4782 4783 4784 4785 4786 4787 + 4789 5085 5087 5088 5089 5090 + 5091 5092 5093 5094 5095 5096 + 5097 5098 5099 5100 5101 5102 + 5103 5104 5105 5106 5107 5108 + 5109 5110 5111 5112 5113 5114 + 5115 5116 5117 5118 5119 5120 + 5121 5122 5123 5124 5125 5126 + 5127 5128 5130 5131 5426 5428 + 5429 5430 5431 5432 5433 5434 + 5435 5436 5437 5438 5439 5440 + 5441 5442 5443 5444 5445 5446 + 5447 5448 5449 5450 5451 5452 + 5453 5454 5455 5456 5457 5458 + 5459 5460 5461 5462 5463 5464 + 5465 5466 5467 5468 5469 5470 + 5471 5472 5473 5767 5769 5770 + 5771 5772 5773 5774 5775 5776 + 5777 5778 5779 5780 5781 5782 + 5783 5784 5785 5786 5787 5788 + 5789 5790 5791 5792 5793 5794 + 5795 5796 5797 5798 5799 5800 + 5801 5802 5803 5804 5805 5806 + 5807 5808 5809 5810 5811 5812 + 5813 5814 6108 6110 6111 6112 + 6113 6114 6115 6116 6117 6118 + 6119 6120 6121 6122 6123 6124 + 6125 6126 6127 6128 6129 6130 + 6131 6132 6133 6134 6135 6136 + 6137 6138 6139 6140 6141 6142 + 6143 6144 6145 6146 6147 6148 + 6149 6150 6151 6152 6153 6154 + 6155 6449 6451 6452 6453 6454 + 6455 6456 6457 6458 6459 6460 + 6461 6462 6463 6464 6465 6466 + 6467 6468 6469 6470 6471 6472 + 6473 6474 6475 6476 6477 6478 + 6479 6480 6481 6482 6483 6484 + 6485 6486 6487 6488 6489 6490 + 6491 6492 6493 6494 6495 6496 + 6789 6790 6791 6792 6793 6794 + 6795 6796 6797 6798 6799 6800 + 6801 6802 6803 6804 6805 6806 + 6807 6808 6809 6810 6811 6812 + 6813 6814 6815 6816 6817 6818 + 6819 6820 6821 6822 6823 6824 + 6825 6826 6827 6828 6829 6830 + 6831 6832 6833 6835 7127 7130 + 7131 7132 7133 7134 7135 7136 + 7137 7138 7139 7140 7141 7142 + 7143 7144 7145 7146 7147 7148 + 7149 7150 7151 7152 7153 7154 + 7155 7156 7157 7158 7159 7160 + 7161 7162 7163 7164 7165 7166 + 7167 7168 7169 7170 7171 7172 + 7173 7174 7176 7468 7471 7472 + 7473 7474 7475 7476 7477 7478 + 7479 7480 7481 7482 7483 7484 + 7485 7486 7487 7488 7489 7490 + 7491 7492 7493 7494 7495 7496 + 7497 7498 7499 7500 7501 7502 + 7503 7504 7505 7506 7507 7508 + 7509 7510 7511 7512 7513 7514 + 7515 7517 7809 7812 7813 7814 + 7815 7816 7817 7818 7819 7820 + 7821 7822 7823 7824 7825 7826 + 7827 7828 7829 7830 7831 7832 + 7833 7834 7835 7836 7837 7838 + 7839 7840 7841 7842 7843 7844 + 7845 7846 7847 7848 7849 7850 + 7851 7852 7853 7854 7855 7856 + 7858 8150 8153 8154 8155 8156 + 8157 8158 8159 8160 8161 8162 + 8163 8164 8165 8166 8167 8168 + 8169 8170 8171 8172 8173 8174 + 8175 8176 8177 8178 8179 8180 + 8181 8182 8183 8184 8185 8186 + 8187 8188 8189 8190 8191 8192 + 8193 8194 8195 8196 8197 8199 + 8439 8440 8441 8442 8443 8444 + 8445 8446 8447 8448 8449 8450 + 8451 8452 8453 8454 214 136 + 653 698 994 1039 1335 1380 + 1676 1721 2017 2062 2358 2403 + 2699 2744 3040 3085 3381 3426 + 3722 3767 4063 4108 4404 4449 + 4745 4790 5086 5132 5427 5475 + 5768 5816 6109 6157 6450 6498 + 6834 6836 6786 6788 7177 7129 + 7518 7470 7859 7811 8200 8152 + 217 137 diff --git a/test/meshes/soufflet/dist_8/rpart.out b/test/meshes/soufflet/dist_8/rpart.out new file mode 100644 index 000000000..4cda2c8d5 --- /dev/null +++ b/test/meshes/soufflet/dist_8/rpart.out @@ -0,0 +1,2878 @@ + 8 + 359 359 359 360 359 360 + 359 360 + 1797 + 1798 + 1799 + 1800 + 1801 + 1802 + 1803 + 1804 + 1805 + 1806 + 1807 + 1808 + 1809 + 1810 + 1811 + 1438 + 1439 + 1440 + 1441 + 1442 + 1443 + 1444 + 1445 + 1446 + 1447 + 1448 + 1449 + 1450 + 2516 + 2517 + 2518 + 2519 + 2520 + 2521 + 2522 + 2523 + 2524 + 2525 + 2526 + 2527 + 2528 + 2529 + 2530 + 2157 + 2158 + 2159 + 2160 + 2161 + 2162 + 2163 + 2164 + 2165 + 2166 + 2167 + 2168 + 2169 + 2170 + 2171 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 360 + 361 + 362 + 363 + 364 + 365 + 366 + 367 + 368 + 369 + 370 + 371 + 372 + 373 + 719 + 720 + 721 + 722 + 723 + 724 + 725 + 726 + 727 + 728 + 729 + 730 + 731 + 732 + 1078 + 1079 + 1080 + 1081 + 1082 + 1083 + 1084 + 1085 + 1086 + 1087 + 1088 + 1089 + 1090 + 1091 + 1092 + 1812 + 1813 + 1814 + 1815 + 1816 + 1817 + 1818 + 1819 + 1820 + 1821 + 1822 + 1823 + 1824 + 1825 + 1826 + 1451 + 1452 + 1453 + 1454 + 1455 + 1456 + 1457 + 1458 + 1459 + 1460 + 1461 + 1462 + 1463 + 1464 + 2531 + 2532 + 2533 + 2534 + 2535 + 2536 + 2537 + 2538 + 2539 + 2540 + 2541 + 2542 + 2543 + 2544 + 2172 + 2173 + 2174 + 2175 + 2176 + 2177 + 2178 + 2179 + 2180 + 2181 + 2182 + 2183 + 2184 + 2185 + 2186 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 374 + 375 + 376 + 377 + 378 + 379 + 380 + 381 + 382 + 383 + 384 + 385 + 386 + 387 + 733 + 734 + 735 + 736 + 737 + 738 + 739 + 740 + 741 + 742 + 743 + 744 + 745 + 746 + 1093 + 1094 + 1095 + 1096 + 1097 + 1098 + 1099 + 1100 + 1101 + 1102 + 1103 + 1104 + 1105 + 1106 + 1107 + 1827 + 1828 + 1829 + 1830 + 1831 + 1832 + 1833 + 1834 + 1835 + 1836 + 1837 + 1838 + 1839 + 1840 + 1841 + 1465 + 1466 + 1467 + 1468 + 1469 + 1470 + 1471 + 1472 + 1473 + 1474 + 1475 + 1476 + 1477 + 1478 + 2545 + 2546 + 2547 + 2548 + 2549 + 2550 + 2551 + 2552 + 2553 + 2554 + 2555 + 2556 + 2557 + 2558 + 2187 + 2188 + 2189 + 2190 + 2191 + 2192 + 2193 + 2194 + 2195 + 2196 + 2197 + 2198 + 2199 + 2200 + 2201 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 388 + 389 + 390 + 391 + 392 + 393 + 394 + 395 + 396 + 397 + 398 + 399 + 400 + 401 + 747 + 748 + 749 + 750 + 751 + 752 + 753 + 754 + 755 + 756 + 757 + 758 + 759 + 760 + 1108 + 1109 + 1110 + 1111 + 1112 + 1113 + 1114 + 1115 + 1116 + 1117 + 1118 + 1119 + 1120 + 1121 + 1122 + 1842 + 1843 + 1844 + 1845 + 1846 + 1847 + 1848 + 1849 + 1850 + 1851 + 1852 + 1853 + 1854 + 1855 + 1856 + 1479 + 1480 + 1481 + 1482 + 1483 + 1484 + 1485 + 1486 + 1487 + 1488 + 1489 + 1490 + 1491 + 1492 + 2559 + 2560 + 2561 + 2562 + 2563 + 2564 + 2565 + 2566 + 2567 + 2568 + 2569 + 2570 + 2571 + 2572 + 2202 + 2203 + 2204 + 2205 + 2206 + 2207 + 2208 + 2209 + 2210 + 2211 + 2212 + 2213 + 2214 + 2215 + 2216 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 402 + 403 + 404 + 405 + 406 + 407 + 408 + 409 + 410 + 411 + 412 + 413 + 414 + 415 + 416 + 761 + 762 + 763 + 764 + 765 + 766 + 767 + 768 + 769 + 770 + 771 + 772 + 773 + 1123 + 1124 + 1125 + 1126 + 1127 + 1128 + 1129 + 1130 + 1131 + 1132 + 1133 + 1134 + 1135 + 1136 + 1137 + 1857 + 1858 + 1859 + 1860 + 1861 + 1862 + 1863 + 1864 + 1865 + 1866 + 1867 + 1868 + 1869 + 1870 + 1493 + 1494 + 1495 + 1496 + 1497 + 1498 + 1499 + 1500 + 1501 + 1502 + 1503 + 1504 + 1505 + 1506 + 1507 + 2573 + 2574 + 2575 + 2576 + 2577 + 2578 + 2579 + 2580 + 2581 + 2582 + 2583 + 2584 + 2585 + 2586 + 2217 + 2218 + 2219 + 2220 + 2221 + 2222 + 2223 + 2224 + 2225 + 2226 + 2227 + 2228 + 2229 + 2230 + 2231 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 417 + 418 + 419 + 420 + 421 + 422 + 423 + 424 + 425 + 426 + 427 + 428 + 429 + 430 + 431 + 774 + 775 + 776 + 777 + 778 + 779 + 780 + 781 + 782 + 783 + 784 + 785 + 786 + 1138 + 1139 + 1140 + 1141 + 1142 + 1143 + 1144 + 1145 + 1146 + 1147 + 1148 + 1149 + 1150 + 1151 + 1152 + 1871 + 1872 + 1873 + 1874 + 1875 + 1876 + 1877 + 1878 + 1879 + 1880 + 1881 + 1882 + 1883 + 1884 + 1508 + 1509 + 1510 + 1511 + 1512 + 1513 + 1514 + 1515 + 1516 + 1517 + 1518 + 1519 + 1520 + 1521 + 1522 + 2587 + 2588 + 2589 + 2590 + 2591 + 2592 + 2593 + 2594 + 2595 + 2596 + 2597 + 2598 + 2599 + 2600 + 2232 + 2233 + 2234 + 2235 + 2236 + 2237 + 2238 + 2239 + 2240 + 2241 + 2242 + 2243 + 2244 + 2245 + 2246 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 432 + 433 + 434 + 435 + 436 + 437 + 438 + 439 + 440 + 441 + 442 + 443 + 444 + 445 + 446 + 787 + 788 + 789 + 790 + 791 + 792 + 793 + 794 + 795 + 796 + 797 + 798 + 799 + 1153 + 1154 + 1155 + 1156 + 1157 + 1158 + 1159 + 1160 + 1161 + 1162 + 1163 + 1164 + 1165 + 1166 + 1167 + 1885 + 1886 + 1887 + 1888 + 1889 + 1890 + 1891 + 1892 + 1893 + 1894 + 1895 + 1896 + 1897 + 1898 + 1523 + 1524 + 1525 + 1526 + 1527 + 1528 + 1529 + 1530 + 1531 + 1532 + 1533 + 1534 + 1535 + 1536 + 1537 + 2601 + 2602 + 2603 + 2604 + 2605 + 2606 + 2607 + 2608 + 2609 + 2610 + 2611 + 2612 + 2613 + 2614 + 2247 + 2248 + 2249 + 2250 + 2251 + 2252 + 2253 + 2254 + 2255 + 2256 + 2257 + 2258 + 2259 + 2260 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + 97 + 98 + 99 + 447 + 448 + 449 + 450 + 451 + 452 + 453 + 454 + 455 + 456 + 457 + 458 + 459 + 460 + 461 + 800 + 801 + 802 + 803 + 804 + 805 + 806 + 807 + 808 + 809 + 810 + 811 + 812 + 813 + 1168 + 1169 + 1170 + 1171 + 1172 + 1173 + 1174 + 1175 + 1176 + 1177 + 1178 + 1179 + 1180 + 1181 + 1899 + 1900 + 1901 + 1902 + 1903 + 1904 + 1905 + 1906 + 1907 + 1908 + 1909 + 1910 + 1911 + 1912 + 1538 + 1539 + 1540 + 1541 + 1542 + 1543 + 1544 + 1545 + 1546 + 1547 + 1548 + 1549 + 1550 + 1551 + 1552 + 2615 + 2616 + 2617 + 2618 + 2619 + 2620 + 2621 + 2622 + 2623 + 2624 + 2625 + 2626 + 2627 + 2628 + 2261 + 2262 + 2263 + 2264 + 2265 + 2266 + 2267 + 2268 + 2269 + 2270 + 2271 + 2272 + 2273 + 2274 + 100 + 101 + 102 + 103 + 104 + 105 + 106 + 107 + 108 + 109 + 110 + 111 + 112 + 113 + 114 + 462 + 463 + 464 + 465 + 466 + 467 + 468 + 469 + 470 + 471 + 472 + 473 + 474 + 475 + 476 + 814 + 815 + 816 + 817 + 818 + 819 + 820 + 821 + 822 + 823 + 824 + 825 + 826 + 827 + 1182 + 1183 + 1184 + 1185 + 1186 + 1187 + 1188 + 1189 + 1190 + 1191 + 1192 + 1193 + 1194 + 1195 + 1913 + 1914 + 1915 + 1916 + 1917 + 1918 + 1919 + 1920 + 1921 + 1922 + 1923 + 1924 + 1925 + 1926 + 1553 + 1554 + 1555 + 1556 + 1557 + 1558 + 1559 + 1560 + 1561 + 1562 + 1563 + 1564 + 1565 + 1566 + 1567 + 2629 + 2630 + 2631 + 2632 + 2633 + 2634 + 2635 + 2636 + 2637 + 2638 + 2639 + 2640 + 2641 + 2642 + 2275 + 2276 + 2277 + 2278 + 2279 + 2280 + 2281 + 2282 + 2283 + 2284 + 2285 + 2286 + 2287 + 2288 + 115 + 116 + 117 + 118 + 119 + 120 + 121 + 122 + 123 + 124 + 125 + 126 + 127 + 128 + 129 + 477 + 478 + 479 + 480 + 481 + 482 + 483 + 484 + 485 + 486 + 487 + 488 + 489 + 490 + 491 + 828 + 829 + 830 + 831 + 832 + 833 + 834 + 835 + 836 + 837 + 838 + 839 + 840 + 841 + 1196 + 1197 + 1198 + 1199 + 1200 + 1201 + 1202 + 1203 + 1204 + 1205 + 1206 + 1207 + 1208 + 1209 + 1927 + 1928 + 1929 + 1930 + 1931 + 1932 + 1933 + 1934 + 1935 + 1936 + 1937 + 1938 + 1939 + 1940 + 1568 + 1569 + 1570 + 1571 + 1572 + 1573 + 1574 + 1575 + 1576 + 1577 + 1578 + 1579 + 1580 + 1581 + 1582 + 2643 + 2644 + 2645 + 2646 + 2647 + 2648 + 2649 + 2650 + 2651 + 2652 + 2653 + 2654 + 2655 + 2656 + 2289 + 2290 + 2291 + 2292 + 2293 + 2294 + 2295 + 2296 + 2297 + 2298 + 2299 + 2300 + 2301 + 2302 + 130 + 131 + 132 + 133 + 134 + 135 + 136 + 137 + 138 + 139 + 140 + 141 + 142 + 143 + 144 + 492 + 493 + 494 + 495 + 496 + 497 + 498 + 499 + 500 + 501 + 502 + 503 + 504 + 505 + 842 + 843 + 844 + 845 + 846 + 847 + 848 + 849 + 850 + 851 + 852 + 853 + 854 + 855 + 856 + 1210 + 1211 + 1212 + 1213 + 1214 + 1215 + 1216 + 1217 + 1218 + 1219 + 1220 + 1221 + 1222 + 1223 + 1941 + 1942 + 1943 + 1944 + 1945 + 1946 + 1947 + 1948 + 1949 + 1950 + 1951 + 1952 + 1953 + 1954 + 1583 + 1584 + 1585 + 1586 + 1587 + 1588 + 1589 + 1590 + 1591 + 1592 + 1593 + 1594 + 1595 + 1596 + 1597 + 2657 + 2658 + 2659 + 2660 + 2661 + 2662 + 2663 + 2664 + 2665 + 2666 + 2667 + 2668 + 2669 + 2670 + 2303 + 2304 + 2305 + 2306 + 2307 + 2308 + 2309 + 2310 + 2311 + 2312 + 2313 + 2314 + 2315 + 2316 + 145 + 146 + 147 + 148 + 149 + 150 + 151 + 152 + 153 + 154 + 155 + 156 + 157 + 158 + 159 + 506 + 507 + 508 + 509 + 510 + 511 + 512 + 513 + 514 + 515 + 516 + 517 + 518 + 519 + 857 + 858 + 859 + 860 + 861 + 862 + 863 + 864 + 865 + 866 + 867 + 868 + 869 + 870 + 871 + 872 + 1224 + 1225 + 1226 + 1227 + 1228 + 1229 + 1230 + 1231 + 1232 + 1233 + 1234 + 1235 + 1236 + 1955 + 1956 + 1957 + 1958 + 1959 + 1960 + 1961 + 1962 + 1963 + 1964 + 1965 + 1966 + 1967 + 1968 + 1598 + 1599 + 1600 + 1601 + 1602 + 1603 + 1604 + 1605 + 1606 + 1607 + 1608 + 1609 + 1610 + 1611 + 1612 + 2671 + 2672 + 2673 + 2674 + 2675 + 2676 + 2677 + 2678 + 2679 + 2680 + 2681 + 2682 + 2683 + 2684 + 2317 + 2318 + 2319 + 2320 + 2321 + 2322 + 2323 + 2324 + 2325 + 2326 + 2327 + 2328 + 2329 + 2330 + 160 + 161 + 162 + 163 + 164 + 165 + 166 + 167 + 168 + 169 + 170 + 171 + 172 + 173 + 174 + 520 + 521 + 522 + 523 + 524 + 525 + 526 + 527 + 528 + 529 + 530 + 531 + 532 + 533 + 873 + 874 + 875 + 876 + 877 + 878 + 879 + 880 + 881 + 882 + 883 + 884 + 885 + 886 + 887 + 888 + 1237 + 1238 + 1239 + 1240 + 1241 + 1242 + 1243 + 1244 + 1245 + 1246 + 1247 + 1248 + 1249 + 1969 + 1970 + 1971 + 1972 + 1973 + 1974 + 1975 + 1976 + 1977 + 1978 + 1979 + 1980 + 1981 + 1982 + 1613 + 1614 + 1615 + 1616 + 1617 + 1618 + 1619 + 1620 + 1621 + 1622 + 1623 + 1624 + 1625 + 1626 + 1627 + 2685 + 2686 + 2687 + 2688 + 2689 + 2690 + 2691 + 2692 + 2693 + 2694 + 2695 + 2696 + 2697 + 2698 + 2331 + 2332 + 2333 + 2334 + 2335 + 2336 + 2337 + 2338 + 2339 + 2340 + 2341 + 2342 + 2343 + 2344 + 175 + 176 + 177 + 178 + 179 + 180 + 181 + 182 + 183 + 184 + 185 + 186 + 187 + 188 + 189 + 534 + 535 + 536 + 537 + 538 + 539 + 540 + 541 + 542 + 543 + 544 + 545 + 546 + 547 + 889 + 890 + 891 + 892 + 893 + 894 + 895 + 896 + 897 + 898 + 899 + 900 + 901 + 902 + 903 + 1250 + 1251 + 1252 + 1253 + 1254 + 1255 + 1256 + 1257 + 1258 + 1259 + 1260 + 1261 + 1262 + 1263 + 1983 + 1984 + 1985 + 1986 + 1987 + 1988 + 1989 + 1990 + 1991 + 1992 + 1993 + 1994 + 1995 + 1996 + 1628 + 1629 + 1630 + 1631 + 1632 + 1633 + 1634 + 1635 + 1636 + 1637 + 1638 + 1639 + 1640 + 1641 + 1642 + 2699 + 2700 + 2701 + 2702 + 2703 + 2704 + 2705 + 2706 + 2707 + 2708 + 2709 + 2710 + 2711 + 2712 + 2345 + 2346 + 2347 + 2348 + 2349 + 2350 + 2351 + 2352 + 2353 + 2354 + 2355 + 2356 + 2357 + 2358 + 190 + 191 + 192 + 193 + 194 + 195 + 196 + 197 + 198 + 199 + 200 + 201 + 202 + 203 + 204 + 548 + 549 + 550 + 551 + 552 + 553 + 554 + 555 + 556 + 557 + 558 + 559 + 560 + 561 + 904 + 905 + 906 + 907 + 908 + 909 + 910 + 911 + 912 + 913 + 914 + 915 + 916 + 917 + 918 + 1264 + 1265 + 1266 + 1267 + 1268 + 1269 + 1270 + 1271 + 1272 + 1273 + 1274 + 1275 + 1276 + 1277 + 1997 + 1998 + 1999 + 2000 + 2001 + 2002 + 2003 + 2004 + 2005 + 2006 + 2007 + 2008 + 2009 + 2010 + 1643 + 1644 + 1645 + 1646 + 1647 + 1648 + 1649 + 1650 + 1651 + 1652 + 1653 + 1654 + 1655 + 1656 + 1657 + 2713 + 2714 + 2715 + 2716 + 2717 + 2718 + 2719 + 2720 + 2721 + 2722 + 2723 + 2724 + 2725 + 2726 + 2359 + 2360 + 2361 + 2362 + 2363 + 2364 + 2365 + 2366 + 2367 + 2368 + 2369 + 2370 + 2371 + 2372 + 205 + 206 + 207 + 208 + 209 + 210 + 211 + 212 + 213 + 214 + 215 + 216 + 217 + 218 + 562 + 563 + 564 + 565 + 566 + 567 + 568 + 569 + 570 + 571 + 572 + 573 + 574 + 575 + 576 + 919 + 920 + 921 + 922 + 923 + 924 + 925 + 926 + 927 + 928 + 929 + 930 + 931 + 932 + 933 + 1278 + 1279 + 1280 + 1281 + 1282 + 1283 + 1284 + 1285 + 1286 + 1287 + 1288 + 1289 + 1290 + 1291 + 2011 + 2012 + 2013 + 2014 + 2015 + 2016 + 2017 + 2018 + 2019 + 2020 + 2021 + 2022 + 2023 + 2024 + 1658 + 1659 + 1660 + 1661 + 1662 + 1663 + 1664 + 1665 + 1666 + 1667 + 1668 + 1669 + 1670 + 1671 + 1672 + 2727 + 2728 + 2729 + 2730 + 2731 + 2732 + 2733 + 2734 + 2735 + 2736 + 2737 + 2738 + 2739 + 2740 + 2741 + 2373 + 2374 + 2375 + 2376 + 2377 + 2378 + 2379 + 2380 + 2381 + 2382 + 2383 + 2384 + 2385 + 219 + 220 + 221 + 222 + 223 + 224 + 225 + 226 + 227 + 228 + 229 + 230 + 231 + 232 + 577 + 578 + 579 + 580 + 581 + 582 + 583 + 584 + 585 + 586 + 587 + 588 + 589 + 590 + 591 + 934 + 935 + 936 + 937 + 938 + 939 + 940 + 941 + 942 + 943 + 944 + 945 + 946 + 947 + 948 + 1292 + 1293 + 1294 + 1295 + 1296 + 1297 + 1298 + 1299 + 1300 + 1301 + 1302 + 1303 + 1304 + 1305 + 2025 + 2026 + 2027 + 2028 + 2029 + 2030 + 2031 + 2032 + 2033 + 2034 + 2035 + 2036 + 2037 + 2038 + 1673 + 1674 + 1675 + 1676 + 1677 + 1678 + 1679 + 1680 + 1681 + 1682 + 1683 + 1684 + 1685 + 1686 + 1687 + 2742 + 2743 + 2744 + 2745 + 2746 + 2747 + 2748 + 2749 + 2750 + 2751 + 2752 + 2753 + 2754 + 2755 + 2756 + 2386 + 2387 + 2388 + 2389 + 2390 + 2391 + 2392 + 2393 + 2394 + 2395 + 2396 + 2397 + 2398 + 233 + 234 + 235 + 236 + 237 + 238 + 239 + 240 + 241 + 242 + 243 + 244 + 245 + 246 + 592 + 593 + 594 + 595 + 596 + 597 + 598 + 599 + 600 + 601 + 602 + 603 + 604 + 605 + 606 + 949 + 950 + 951 + 952 + 953 + 954 + 955 + 956 + 957 + 958 + 959 + 960 + 961 + 962 + 963 + 1306 + 1307 + 1308 + 1309 + 1310 + 1311 + 1312 + 1313 + 1314 + 1315 + 1316 + 1317 + 1318 + 1319 + 2039 + 2040 + 2041 + 2042 + 2043 + 2044 + 2045 + 2046 + 2047 + 2048 + 2049 + 2050 + 2051 + 2052 + 1688 + 1689 + 1690 + 1691 + 1692 + 1693 + 1694 + 1695 + 1696 + 1697 + 1698 + 1699 + 1700 + 1701 + 1702 + 2757 + 2758 + 2759 + 2760 + 2761 + 2762 + 2763 + 2764 + 2765 + 2766 + 2767 + 2768 + 2769 + 2770 + 2771 + 2399 + 2400 + 2401 + 2402 + 2403 + 2404 + 2405 + 2406 + 2407 + 2408 + 2409 + 2410 + 2411 + 247 + 248 + 249 + 250 + 251 + 252 + 253 + 254 + 255 + 256 + 257 + 258 + 259 + 260 + 261 + 607 + 608 + 609 + 610 + 611 + 612 + 613 + 614 + 615 + 616 + 617 + 618 + 619 + 620 + 964 + 965 + 966 + 967 + 968 + 969 + 970 + 971 + 972 + 973 + 974 + 975 + 976 + 977 + 978 + 1320 + 1321 + 1322 + 1323 + 1324 + 1325 + 1326 + 1327 + 1328 + 1329 + 1330 + 1331 + 1332 + 1333 + 2053 + 2054 + 2055 + 2056 + 2057 + 2058 + 2059 + 2060 + 2061 + 2062 + 2063 + 2064 + 2065 + 2066 + 1703 + 1704 + 1705 + 1706 + 1707 + 1708 + 1709 + 1710 + 1711 + 1712 + 1713 + 1714 + 1715 + 1716 + 1717 + 2772 + 2773 + 2774 + 2775 + 2776 + 2777 + 2778 + 2779 + 2780 + 2781 + 2782 + 2783 + 2784 + 2785 + 2786 + 2412 + 2413 + 2414 + 2415 + 2416 + 2417 + 2418 + 2419 + 2420 + 2421 + 2422 + 2423 + 2424 + 2425 + 262 + 263 + 264 + 265 + 266 + 267 + 268 + 269 + 270 + 271 + 272 + 273 + 274 + 275 + 621 + 622 + 623 + 624 + 625 + 626 + 627 + 628 + 629 + 630 + 631 + 632 + 633 + 634 + 979 + 980 + 981 + 982 + 983 + 984 + 985 + 986 + 987 + 988 + 989 + 990 + 991 + 992 + 993 + 1334 + 1335 + 1336 + 1337 + 1338 + 1339 + 1340 + 1341 + 1342 + 1343 + 1344 + 1345 + 1346 + 1347 + 2067 + 2068 + 2069 + 2070 + 2071 + 2072 + 2073 + 2074 + 2075 + 2076 + 2077 + 2078 + 2079 + 2080 + 2081 + 1718 + 1719 + 1720 + 1721 + 1722 + 1723 + 1724 + 1725 + 1726 + 1727 + 1728 + 1729 + 1730 + 1731 + 2787 + 2788 + 2789 + 2790 + 2791 + 2792 + 2793 + 2794 + 2795 + 2796 + 2797 + 2798 + 2799 + 2800 + 2426 + 2427 + 2428 + 2429 + 2430 + 2431 + 2432 + 2433 + 2434 + 2435 + 2436 + 2437 + 2438 + 2439 + 2440 + 276 + 277 + 278 + 279 + 280 + 281 + 282 + 283 + 284 + 285 + 286 + 287 + 288 + 289 + 635 + 636 + 637 + 638 + 639 + 640 + 641 + 642 + 643 + 644 + 645 + 646 + 647 + 648 + 994 + 995 + 996 + 997 + 998 + 999 + 1000 + 1001 + 1002 + 1003 + 1004 + 1005 + 1006 + 1007 + 1348 + 1349 + 1350 + 1351 + 1352 + 1353 + 1354 + 1355 + 1356 + 1357 + 1358 + 1359 + 1360 + 1361 + 1362 + 2082 + 2083 + 2084 + 2085 + 2086 + 2087 + 2088 + 2089 + 2090 + 2091 + 2092 + 2093 + 2094 + 2095 + 2096 + 1732 + 1733 + 1734 + 1735 + 1736 + 1737 + 1738 + 1739 + 1740 + 1741 + 1742 + 1743 + 1744 + 2801 + 2802 + 2803 + 2804 + 2805 + 2806 + 2807 + 2808 + 2809 + 2810 + 2811 + 2812 + 2813 + 2814 + 2815 + 2441 + 2442 + 2443 + 2444 + 2445 + 2446 + 2447 + 2448 + 2449 + 2450 + 2451 + 2452 + 2453 + 2454 + 2455 + 290 + 291 + 292 + 293 + 294 + 295 + 296 + 297 + 298 + 299 + 300 + 301 + 302 + 303 + 649 + 650 + 651 + 652 + 653 + 654 + 655 + 656 + 657 + 658 + 659 + 660 + 661 + 662 + 1008 + 1009 + 1010 + 1011 + 1012 + 1013 + 1014 + 1015 + 1016 + 1017 + 1018 + 1019 + 1020 + 1021 + 1363 + 1364 + 1365 + 1366 + 1367 + 1368 + 1369 + 1370 + 1371 + 1372 + 1373 + 1374 + 1375 + 1376 + 1377 + 2097 + 2098 + 2099 + 2100 + 2101 + 2102 + 2103 + 2104 + 2105 + 2106 + 2107 + 2108 + 2109 + 2110 + 2111 + 1745 + 1746 + 1747 + 1748 + 1749 + 1750 + 1751 + 1752 + 1753 + 1754 + 1755 + 1756 + 1757 + 2816 + 2817 + 2818 + 2819 + 2820 + 2821 + 2822 + 2823 + 2824 + 2825 + 2826 + 2827 + 2828 + 2829 + 2830 + 2456 + 2457 + 2458 + 2459 + 2460 + 2461 + 2462 + 2463 + 2464 + 2465 + 2466 + 2467 + 2468 + 2469 + 2470 + 304 + 305 + 306 + 307 + 308 + 309 + 310 + 311 + 312 + 313 + 314 + 315 + 316 + 317 + 663 + 664 + 665 + 666 + 667 + 668 + 669 + 670 + 671 + 672 + 673 + 674 + 675 + 676 + 1022 + 1023 + 1024 + 1025 + 1026 + 1027 + 1028 + 1029 + 1030 + 1031 + 1032 + 1033 + 1034 + 1035 + 1378 + 1379 + 1380 + 1381 + 1382 + 1383 + 1384 + 1385 + 1386 + 1387 + 1388 + 1389 + 1390 + 1391 + 1392 + 2112 + 2113 + 2114 + 2115 + 2116 + 2117 + 2118 + 2119 + 2120 + 2121 + 2122 + 2123 + 2124 + 2125 + 2126 + 1758 + 1759 + 1760 + 1761 + 1762 + 1763 + 1764 + 1765 + 1766 + 1767 + 1768 + 1769 + 1770 + 2831 + 2832 + 2833 + 2834 + 2835 + 2836 + 2837 + 2838 + 2839 + 2840 + 2841 + 2842 + 2843 + 2844 + 2845 + 2471 + 2472 + 2473 + 2474 + 2475 + 2476 + 2477 + 2478 + 2479 + 2480 + 2481 + 2482 + 2483 + 2484 + 2485 + 318 + 319 + 320 + 321 + 322 + 323 + 324 + 325 + 326 + 327 + 328 + 329 + 330 + 331 + 677 + 678 + 679 + 680 + 681 + 682 + 683 + 684 + 685 + 686 + 687 + 688 + 689 + 690 + 1036 + 1037 + 1038 + 1039 + 1040 + 1041 + 1042 + 1043 + 1044 + 1045 + 1046 + 1047 + 1048 + 1049 + 1393 + 1394 + 1395 + 1396 + 1397 + 1398 + 1399 + 1400 + 1401 + 1402 + 1403 + 1404 + 1405 + 1406 + 1407 + 2127 + 2128 + 2129 + 2130 + 2131 + 2132 + 2133 + 2134 + 2135 + 2136 + 2137 + 2138 + 2139 + 2140 + 2141 + 1771 + 1772 + 1773 + 1774 + 1775 + 1776 + 1777 + 1778 + 1779 + 1780 + 1781 + 1782 + 1783 + 2846 + 2847 + 2848 + 2849 + 2850 + 2851 + 2852 + 2853 + 2854 + 2855 + 2856 + 2857 + 2858 + 2859 + 2860 + 2486 + 2487 + 2488 + 2489 + 2490 + 2491 + 2492 + 2493 + 2494 + 2495 + 2496 + 2497 + 2498 + 2499 + 2500 + 332 + 333 + 334 + 335 + 336 + 337 + 338 + 339 + 340 + 341 + 342 + 343 + 344 + 345 + 691 + 692 + 693 + 694 + 695 + 696 + 697 + 698 + 699 + 700 + 701 + 702 + 703 + 704 + 1050 + 1051 + 1052 + 1053 + 1054 + 1055 + 1056 + 1057 + 1058 + 1059 + 1060 + 1061 + 1062 + 1063 + 1408 + 1409 + 1410 + 1411 + 1412 + 1413 + 1414 + 1415 + 1416 + 1417 + 1418 + 1419 + 1420 + 1421 + 1422 + 2142 + 2143 + 2144 + 2145 + 2146 + 2147 + 2148 + 2149 + 2150 + 2151 + 2152 + 2153 + 2154 + 2155 + 2156 + 1784 + 1785 + 1786 + 1787 + 1788 + 1789 + 1790 + 1791 + 1792 + 1793 + 1794 + 1795 + 1796 + 2861 + 2862 + 2863 + 2864 + 2865 + 2866 + 2867 + 2868 + 2869 + 2870 + 2871 + 2872 + 2873 + 2874 + 2875 + 2501 + 2502 + 2503 + 2504 + 2505 + 2506 + 2507 + 2508 + 2509 + 2510 + 2511 + 2512 + 2513 + 2514 + 2515 + 346 + 347 + 348 + 349 + 350 + 351 + 352 + 353 + 354 + 355 + 356 + 357 + 358 + 359 + 705 + 706 + 707 + 708 + 709 + 710 + 711 + 712 + 713 + 714 + 715 + 716 + 717 + 718 + 1064 + 1065 + 1066 + 1067 + 1068 + 1069 + 1070 + 1071 + 1072 + 1073 + 1074 + 1075 + 1076 + 1077 + 1423 + 1424 + 1425 + 1426 + 1427 + 1428 + 1429 + 1430 + 1431 + 1432 + 1433 + 1434 + 1435 + 1436 + 1437 diff --git a/test/meshes/soufflet/edge_tri.out b/test/meshes/soufflet/edge_tri.out new file mode 100644 index 000000000..9e58d5e8d --- /dev/null +++ b/test/meshes/soufflet/edge_tri.out @@ -0,0 +1,8575 @@ + 5474 1 + 5473 5474 + 2 1 + 116 2 + 5588 115 + 115 116 + 5474 5588 + 5476 3 + 3 115 + 5587 5475 + 5475 5476 + 5588 5587 + 4 3 + 118 4 + 5590 117 + 117 118 + 5476 5590 + 5478 5 + 5 117 + 5589 5477 + 5477 5478 + 5590 5589 + 6 5 + 120 6 + 5592 119 + 119 120 + 5478 5592 + 5480 7 + 7 119 + 5591 5479 + 5479 5480 + 5592 5591 + 8 7 + 122 8 + 5594 121 + 121 122 + 5480 5594 + 5482 9 + 9 121 + 5593 5481 + 5481 5482 + 5594 5593 + 10 9 + 124 10 + 5596 123 + 123 124 + 5482 5596 + 5484 11 + 11 123 + 5595 5483 + 5483 5484 + 5596 5595 + 12 11 + 126 12 + 5598 125 + 125 126 + 5484 5598 + 5486 13 + 13 125 + 5597 5485 + 5485 5486 + 5598 5597 + 14 13 + 128 14 + 5600 127 + 127 128 + 5486 5600 + 5488 15 + 15 127 + 5599 5487 + 5487 5488 + 5600 5599 + 16 15 + 130 16 + 5602 129 + 129 130 + 5488 5602 + 5490 17 + 17 129 + 5601 5489 + 5489 5490 + 5602 5601 + 18 17 + 132 18 + 5604 131 + 131 132 + 5490 5604 + 5492 19 + 19 131 + 5603 5491 + 5491 5492 + 5604 5603 + 20 19 + 134 20 + 5606 133 + 133 134 + 5492 5606 + 5494 21 + 21 133 + 5605 5493 + 5493 5494 + 5606 5605 + 22 21 + 136 22 + 5608 135 + 135 136 + 5494 5608 + 5496 23 + 23 135 + 5607 5495 + 5495 5496 + 5608 5607 + 24 23 + 138 24 + 5610 137 + 137 138 + 5496 5610 + 5498 25 + 25 137 + 5609 5497 + 5497 5498 + 5610 5609 + 26 25 + 140 26 + 5612 139 + 139 140 + 5498 5612 + 5500 27 + 27 139 + 5611 5499 + 5499 5500 + 5612 5611 + 28 27 + 142 28 + 5614 141 + 141 142 + 5500 5614 + 5502 29 + 29 141 + 5613 5501 + 5501 5502 + 5614 5613 + 30 29 + 144 30 + 5616 143 + 143 144 + 5502 5616 + 5504 31 + 31 143 + 5615 5503 + 5503 5504 + 5616 5615 + 32 31 + 146 32 + 5618 145 + 145 146 + 5504 5618 + 5506 33 + 33 145 + 5617 5505 + 5505 5506 + 5618 5617 + 34 33 + 148 34 + 5620 147 + 147 148 + 5506 5620 + 5508 35 + 35 147 + 5619 5507 + 5507 5508 + 5620 5619 + 36 35 + 150 36 + 5622 149 + 149 150 + 5508 5622 + 5510 37 + 37 149 + 5621 5509 + 5509 5510 + 5622 5621 + 38 37 + 152 38 + 5624 151 + 151 152 + 5510 5624 + 5512 39 + 39 151 + 5623 5511 + 5511 5512 + 5624 5623 + 40 39 + 154 40 + 5626 153 + 153 154 + 5512 5626 + 5514 41 + 41 153 + 5625 5513 + 5513 5514 + 5626 5625 + 42 41 + 156 42 + 5628 155 + 155 156 + 5514 5628 + 5516 43 + 43 155 + 5627 5515 + 5515 5516 + 5628 5627 + 44 43 + 158 44 + 5630 157 + 157 158 + 5516 5630 + 5518 45 + 45 157 + 5629 5517 + 5517 5518 + 5630 5629 + 46 45 + 160 46 + 5632 159 + 159 160 + 5518 5632 + 5520 47 + 47 159 + 5631 5519 + 5519 5520 + 5632 5631 + 48 47 + 162 48 + 5634 161 + 161 162 + 5520 5634 + 5522 49 + 49 161 + 5633 5521 + 5521 5522 + 5634 5633 + 50 49 + 164 50 + 5636 163 + 163 164 + 5522 5636 + 5524 51 + 51 163 + 5635 5523 + 5523 5524 + 5636 5635 + 52 51 + 166 52 + 5638 165 + 165 166 + 5524 5638 + 5526 53 + 53 165 + 5637 5525 + 5525 5526 + 5638 5637 + 54 53 + 168 54 + 5640 167 + 167 168 + 5526 5640 + 5528 55 + 55 167 + 5639 5527 + 5527 5528 + 5640 5639 + 56 55 + 170 56 + 5642 169 + 169 170 + 5528 5642 + 5530 57 + 57 169 + 5641 5529 + 5529 5530 + 5642 5641 + 58 57 + 172 58 + 5644 171 + 171 172 + 5530 5644 + 5532 59 + 59 171 + 5643 5531 + 5531 5532 + 5644 5643 + 60 59 + 174 60 + 5646 173 + 173 174 + 5532 5646 + 5534 61 + 61 173 + 5645 5533 + 5533 5534 + 5646 5645 + 62 61 + 176 62 + 5648 175 + 175 176 + 5534 5648 + 5536 63 + 63 175 + 5647 5535 + 5535 5536 + 5648 5647 + 64 63 + 178 64 + 5650 177 + 177 178 + 5536 5650 + 5538 65 + 65 177 + 5649 5537 + 5537 5538 + 5650 5649 + 66 65 + 180 66 + 5652 179 + 179 180 + 5538 5652 + 5540 67 + 67 179 + 5651 5539 + 5539 5540 + 5652 5651 + 68 67 + 182 68 + 5654 181 + 181 182 + 5540 5654 + 5542 69 + 69 181 + 5653 5541 + 5541 5542 + 5654 5653 + 70 69 + 184 70 + 5656 183 + 183 184 + 5542 5656 + 5544 71 + 71 183 + 5655 5543 + 5543 5544 + 5656 5655 + 72 71 + 186 72 + 5658 185 + 185 186 + 5544 5658 + 5546 73 + 73 185 + 5657 5545 + 5545 5546 + 5658 5657 + 74 73 + 188 74 + 5660 187 + 187 188 + 5546 5660 + 5548 75 + 75 187 + 5659 5547 + 5547 5548 + 5660 5659 + 76 75 + 190 76 + 5662 189 + 189 190 + 5548 5662 + 5550 77 + 77 189 + 5661 5549 + 5549 5550 + 5662 5661 + 78 77 + 192 78 + 5664 191 + 191 192 + 5550 5664 + 5552 79 + 79 191 + 5663 5551 + 5551 5552 + 5664 5663 + 80 79 + 194 80 + 5666 193 + 193 194 + 5552 5666 + 5554 81 + 81 193 + 5665 5553 + 5553 5554 + 5666 5665 + 82 81 + 196 82 + 5668 195 + 195 196 + 5554 5668 + 5556 83 + 83 195 + 5667 5555 + 5555 5556 + 5668 5667 + 84 83 + 198 84 + 5670 197 + 197 198 + 5556 5670 + 5558 85 + 85 197 + 5669 5557 + 5557 5558 + 5670 5669 + 86 85 + 200 86 + 5672 199 + 199 200 + 5558 5672 + 5560 87 + 87 199 + 5671 5559 + 5559 5560 + 5672 5671 + 88 87 + 202 88 + 5674 201 + 201 202 + 5560 5674 + 5562 89 + 89 201 + 5673 5561 + 5561 5562 + 5674 5673 + 90 89 + 204 90 + 5676 203 + 203 204 + 5562 5676 + 5564 91 + 91 203 + 5675 5563 + 5563 5564 + 5676 5675 + 92 91 + 206 92 + 5678 205 + 205 206 + 5564 5678 + 5566 93 + 93 205 + 5677 5565 + 5565 5566 + 5678 5677 + 94 93 + 208 94 + 5680 207 + 207 208 + 5566 5680 + 5568 95 + 95 207 + 5679 5567 + 5567 5568 + 5680 5679 + 96 95 + 210 96 + 5682 209 + 209 210 + 5568 5682 + 5570 97 + 97 209 + 5681 5569 + 5569 5570 + 5682 5681 + 98 97 + 212 98 + 5684 211 + 211 212 + 5570 5684 + 5572 99 + 99 211 + 5683 5571 + 5571 5572 + 5684 5683 + 100 99 + 214 100 + 5686 213 + 213 214 + 5572 5686 + 5574 101 + 101 213 + 5685 5573 + 5573 5574 + 5686 5685 + 102 101 + 216 102 + 5688 215 + 215 216 + 5574 5688 + 5576 103 + 103 215 + 5687 5575 + 5575 5576 + 5688 5687 + 104 103 + 218 104 + 5690 217 + 217 218 + 5576 5690 + 5578 105 + 105 217 + 5689 5577 + 5577 5578 + 5690 5689 + 106 105 + 220 106 + 5692 219 + 219 220 + 5578 5692 + 5580 107 + 107 219 + 5691 5579 + 5579 5580 + 5692 5691 + 108 107 + 222 108 + 5694 221 + 221 222 + 5580 5694 + 5582 109 + 109 221 + 5693 5581 + 5581 5582 + 5694 5693 + 110 109 + 224 110 + 5696 223 + 223 224 + 5582 5696 + 5584 111 + 111 223 + 5695 5583 + 5583 5584 + 5696 5695 + 112 111 + 226 112 + 5698 225 + 225 226 + 5584 5698 + 5586 113 + 113 225 + 5697 5585 + 5585 5586 + 5698 5697 + 114 113 + 228 114 + 5700 227 + 227 228 + 5586 5700 + 5700 5699 + 2 229 + 116 343 + 230 229 + 344 230 + 343 344 + 4 231 + 231 343 + 118 345 + 232 231 + 346 232 + 345 346 + 6 233 + 233 345 + 120 347 + 234 233 + 348 234 + 347 348 + 8 235 + 235 347 + 122 349 + 236 235 + 350 236 + 349 350 + 10 237 + 237 349 + 124 351 + 238 237 + 352 238 + 351 352 + 12 239 + 239 351 + 126 353 + 240 239 + 354 240 + 353 354 + 14 241 + 241 353 + 128 355 + 242 241 + 356 242 + 355 356 + 16 243 + 243 355 + 130 357 + 244 243 + 358 244 + 357 358 + 18 245 + 245 357 + 132 359 + 246 245 + 360 246 + 359 360 + 20 247 + 247 359 + 134 361 + 248 247 + 362 248 + 361 362 + 22 249 + 249 361 + 136 363 + 250 249 + 364 250 + 363 364 + 24 251 + 251 363 + 138 365 + 252 251 + 366 252 + 365 366 + 26 253 + 253 365 + 140 367 + 254 253 + 368 254 + 367 368 + 28 255 + 255 367 + 142 369 + 256 255 + 370 256 + 369 370 + 30 257 + 257 369 + 144 371 + 258 257 + 372 258 + 371 372 + 32 259 + 259 371 + 146 373 + 260 259 + 374 260 + 373 374 + 34 261 + 261 373 + 148 375 + 262 261 + 376 262 + 375 376 + 36 263 + 263 375 + 150 377 + 264 263 + 378 264 + 377 378 + 38 265 + 265 377 + 152 379 + 266 265 + 380 266 + 379 380 + 40 267 + 267 379 + 154 381 + 268 267 + 382 268 + 381 382 + 42 269 + 269 381 + 156 383 + 270 269 + 384 270 + 383 384 + 44 271 + 271 383 + 158 385 + 272 271 + 386 272 + 385 386 + 46 273 + 273 385 + 160 387 + 274 273 + 388 274 + 387 388 + 48 275 + 275 387 + 162 389 + 276 275 + 390 276 + 389 390 + 50 277 + 277 389 + 164 391 + 278 277 + 392 278 + 391 392 + 52 279 + 279 391 + 166 393 + 280 279 + 394 280 + 393 394 + 54 281 + 281 393 + 168 395 + 282 281 + 396 282 + 395 396 + 56 283 + 283 395 + 170 397 + 284 283 + 398 284 + 397 398 + 58 285 + 285 397 + 172 399 + 286 285 + 400 286 + 399 400 + 60 287 + 287 399 + 174 401 + 288 287 + 402 288 + 401 402 + 62 289 + 289 401 + 176 403 + 290 289 + 404 290 + 403 404 + 64 291 + 291 403 + 178 405 + 292 291 + 406 292 + 405 406 + 66 293 + 293 405 + 180 407 + 294 293 + 408 294 + 407 408 + 68 295 + 295 407 + 182 409 + 296 295 + 410 296 + 409 410 + 70 297 + 297 409 + 184 411 + 298 297 + 412 298 + 411 412 + 72 299 + 299 411 + 186 413 + 300 299 + 414 300 + 413 414 + 74 301 + 301 413 + 188 415 + 302 301 + 416 302 + 415 416 + 76 303 + 303 415 + 190 417 + 304 303 + 418 304 + 417 418 + 78 305 + 305 417 + 192 419 + 306 305 + 420 306 + 419 420 + 80 307 + 307 419 + 194 421 + 308 307 + 422 308 + 421 422 + 82 309 + 309 421 + 196 423 + 310 309 + 424 310 + 423 424 + 84 311 + 311 423 + 198 425 + 312 311 + 426 312 + 425 426 + 86 313 + 313 425 + 200 427 + 314 313 + 428 314 + 427 428 + 88 315 + 315 427 + 202 429 + 316 315 + 430 316 + 429 430 + 90 317 + 317 429 + 204 431 + 318 317 + 432 318 + 431 432 + 92 319 + 319 431 + 206 433 + 320 319 + 434 320 + 433 434 + 94 321 + 321 433 + 208 435 + 322 321 + 436 322 + 435 436 + 96 323 + 323 435 + 210 437 + 324 323 + 438 324 + 437 438 + 98 325 + 325 437 + 212 439 + 326 325 + 440 326 + 439 440 + 100 327 + 327 439 + 214 441 + 328 327 + 442 328 + 441 442 + 102 329 + 329 441 + 216 443 + 330 329 + 444 330 + 443 444 + 104 331 + 331 443 + 218 445 + 332 331 + 446 332 + 445 446 + 106 333 + 333 445 + 220 447 + 334 333 + 448 334 + 447 448 + 108 335 + 335 447 + 222 449 + 336 335 + 450 336 + 449 450 + 110 337 + 337 449 + 224 451 + 338 337 + 452 338 + 451 452 + 112 339 + 339 451 + 226 453 + 340 339 + 454 340 + 453 454 + 114 341 + 341 453 + 228 455 + 342 341 + 456 342 + 455 456 + 230 457 + 344 571 + 458 457 + 572 458 + 571 572 + 232 459 + 459 571 + 346 573 + 460 459 + 574 460 + 573 574 + 234 461 + 461 573 + 348 575 + 462 461 + 576 462 + 575 576 + 236 463 + 463 575 + 350 577 + 464 463 + 578 464 + 577 578 + 238 465 + 465 577 + 352 579 + 466 465 + 580 466 + 579 580 + 240 467 + 467 579 + 354 581 + 468 467 + 582 468 + 581 582 + 242 469 + 469 581 + 356 583 + 470 469 + 584 470 + 583 584 + 244 471 + 471 583 + 358 585 + 472 471 + 586 472 + 585 586 + 246 473 + 473 585 + 360 587 + 474 473 + 588 474 + 587 588 + 248 475 + 475 587 + 362 589 + 476 475 + 590 476 + 589 590 + 250 477 + 477 589 + 364 591 + 478 477 + 592 478 + 591 592 + 252 479 + 479 591 + 366 593 + 480 479 + 594 480 + 593 594 + 254 481 + 481 593 + 368 595 + 482 481 + 596 482 + 595 596 + 256 483 + 483 595 + 370 597 + 484 483 + 598 484 + 597 598 + 258 485 + 485 597 + 372 599 + 486 485 + 600 486 + 599 600 + 260 487 + 487 599 + 374 601 + 488 487 + 602 488 + 601 602 + 262 489 + 489 601 + 376 603 + 490 489 + 604 490 + 603 604 + 264 491 + 491 603 + 378 605 + 492 491 + 606 492 + 605 606 + 266 493 + 493 605 + 380 607 + 494 493 + 608 494 + 607 608 + 268 495 + 495 607 + 382 609 + 496 495 + 610 496 + 609 610 + 270 497 + 497 609 + 384 611 + 498 497 + 612 498 + 611 612 + 272 499 + 499 611 + 386 613 + 500 499 + 614 500 + 613 614 + 274 501 + 501 613 + 388 615 + 502 501 + 616 502 + 615 616 + 276 503 + 503 615 + 390 617 + 504 503 + 618 504 + 617 618 + 278 505 + 505 617 + 392 619 + 506 505 + 620 506 + 619 620 + 280 507 + 507 619 + 394 621 + 508 507 + 622 508 + 621 622 + 282 509 + 509 621 + 396 623 + 510 509 + 624 510 + 623 624 + 284 511 + 511 623 + 398 625 + 512 511 + 626 512 + 625 626 + 286 513 + 513 625 + 400 627 + 514 513 + 628 514 + 627 628 + 288 515 + 515 627 + 402 629 + 516 515 + 630 516 + 629 630 + 290 517 + 517 629 + 404 631 + 518 517 + 632 518 + 631 632 + 292 519 + 519 631 + 406 633 + 520 519 + 634 520 + 633 634 + 294 521 + 521 633 + 408 635 + 522 521 + 636 522 + 635 636 + 296 523 + 523 635 + 410 637 + 524 523 + 638 524 + 637 638 + 298 525 + 525 637 + 412 639 + 526 525 + 640 526 + 639 640 + 300 527 + 527 639 + 414 641 + 528 527 + 642 528 + 641 642 + 302 529 + 529 641 + 416 643 + 530 529 + 644 530 + 643 644 + 304 531 + 531 643 + 418 645 + 532 531 + 646 532 + 645 646 + 306 533 + 533 645 + 420 647 + 534 533 + 648 534 + 647 648 + 308 535 + 535 647 + 422 649 + 536 535 + 650 536 + 649 650 + 310 537 + 537 649 + 424 651 + 538 537 + 652 538 + 651 652 + 312 539 + 539 651 + 426 653 + 540 539 + 654 540 + 653 654 + 314 541 + 541 653 + 428 655 + 542 541 + 656 542 + 655 656 + 316 543 + 543 655 + 430 657 + 544 543 + 658 544 + 657 658 + 318 545 + 545 657 + 432 659 + 546 545 + 660 546 + 659 660 + 320 547 + 547 659 + 434 661 + 548 547 + 662 548 + 661 662 + 322 549 + 549 661 + 436 663 + 550 549 + 664 550 + 663 664 + 324 551 + 551 663 + 438 665 + 552 551 + 666 552 + 665 666 + 326 553 + 553 665 + 440 667 + 554 553 + 668 554 + 667 668 + 328 555 + 555 667 + 442 669 + 556 555 + 670 556 + 669 670 + 330 557 + 557 669 + 444 671 + 558 557 + 672 558 + 671 672 + 332 559 + 559 671 + 446 673 + 560 559 + 674 560 + 673 674 + 334 561 + 561 673 + 448 675 + 562 561 + 676 562 + 675 676 + 336 563 + 563 675 + 450 677 + 564 563 + 678 564 + 677 678 + 338 565 + 565 677 + 452 679 + 566 565 + 680 566 + 679 680 + 340 567 + 567 679 + 454 681 + 568 567 + 682 568 + 681 682 + 342 569 + 569 681 + 456 683 + 570 569 + 684 570 + 683 684 + 458 685 + 572 799 + 686 685 + 800 686 + 799 800 + 460 687 + 687 799 + 574 801 + 688 687 + 802 688 + 801 802 + 462 689 + 689 801 + 576 803 + 690 689 + 804 690 + 803 804 + 464 691 + 691 803 + 578 805 + 692 691 + 806 692 + 805 806 + 466 693 + 693 805 + 580 807 + 694 693 + 808 694 + 807 808 + 468 695 + 695 807 + 582 809 + 696 695 + 810 696 + 809 810 + 470 697 + 697 809 + 584 811 + 698 697 + 812 698 + 811 812 + 472 699 + 699 811 + 586 813 + 700 699 + 814 700 + 813 814 + 474 701 + 701 813 + 588 815 + 702 701 + 816 702 + 815 816 + 476 703 + 703 815 + 590 817 + 704 703 + 818 704 + 817 818 + 478 705 + 705 817 + 592 819 + 706 705 + 820 706 + 819 820 + 480 707 + 707 819 + 594 821 + 708 707 + 822 708 + 821 822 + 482 709 + 709 821 + 596 823 + 710 709 + 824 710 + 823 824 + 484 711 + 711 823 + 598 825 + 712 711 + 826 712 + 825 826 + 486 713 + 713 825 + 600 827 + 714 713 + 828 714 + 827 828 + 488 715 + 715 827 + 602 829 + 716 715 + 830 716 + 829 830 + 490 717 + 717 829 + 604 831 + 718 717 + 832 718 + 831 832 + 492 719 + 719 831 + 606 833 + 720 719 + 834 720 + 833 834 + 494 721 + 721 833 + 608 835 + 722 721 + 836 722 + 835 836 + 496 723 + 723 835 + 610 837 + 724 723 + 838 724 + 837 838 + 498 725 + 725 837 + 612 839 + 726 725 + 840 726 + 839 840 + 500 727 + 727 839 + 614 841 + 728 727 + 842 728 + 841 842 + 502 729 + 729 841 + 616 843 + 730 729 + 844 730 + 843 844 + 504 731 + 731 843 + 618 845 + 732 731 + 846 732 + 845 846 + 506 733 + 733 845 + 620 847 + 734 733 + 848 734 + 847 848 + 508 735 + 735 847 + 622 849 + 736 735 + 850 736 + 849 850 + 510 737 + 737 849 + 624 851 + 738 737 + 852 738 + 851 852 + 512 739 + 739 851 + 626 853 + 740 739 + 854 740 + 853 854 + 514 741 + 741 853 + 628 855 + 742 741 + 856 742 + 855 856 + 516 743 + 743 855 + 630 857 + 744 743 + 858 744 + 857 858 + 518 745 + 745 857 + 632 859 + 746 745 + 860 746 + 859 860 + 520 747 + 747 859 + 634 861 + 748 747 + 862 748 + 861 862 + 522 749 + 749 861 + 636 863 + 750 749 + 864 750 + 863 864 + 524 751 + 751 863 + 638 865 + 752 751 + 866 752 + 865 866 + 526 753 + 753 865 + 640 867 + 754 753 + 868 754 + 867 868 + 528 755 + 755 867 + 642 869 + 756 755 + 870 756 + 869 870 + 530 757 + 757 869 + 644 871 + 758 757 + 872 758 + 871 872 + 532 759 + 759 871 + 646 873 + 760 759 + 874 760 + 873 874 + 534 761 + 761 873 + 648 875 + 762 761 + 876 762 + 875 876 + 536 763 + 763 875 + 650 877 + 764 763 + 878 764 + 877 878 + 538 765 + 765 877 + 652 879 + 766 765 + 880 766 + 879 880 + 540 767 + 767 879 + 654 881 + 768 767 + 882 768 + 881 882 + 542 769 + 769 881 + 656 883 + 770 769 + 884 770 + 883 884 + 544 771 + 771 883 + 658 885 + 772 771 + 886 772 + 885 886 + 546 773 + 773 885 + 660 887 + 774 773 + 888 774 + 887 888 + 548 775 + 775 887 + 662 889 + 776 775 + 890 776 + 889 890 + 550 777 + 777 889 + 664 891 + 778 777 + 892 778 + 891 892 + 552 779 + 779 891 + 666 893 + 780 779 + 894 780 + 893 894 + 554 781 + 781 893 + 668 895 + 782 781 + 896 782 + 895 896 + 556 783 + 783 895 + 670 897 + 784 783 + 898 784 + 897 898 + 558 785 + 785 897 + 672 899 + 786 785 + 900 786 + 899 900 + 560 787 + 787 899 + 674 901 + 788 787 + 902 788 + 901 902 + 562 789 + 789 901 + 676 903 + 790 789 + 904 790 + 903 904 + 564 791 + 791 903 + 678 905 + 792 791 + 906 792 + 905 906 + 566 793 + 793 905 + 680 907 + 794 793 + 908 794 + 907 908 + 568 795 + 795 907 + 682 909 + 796 795 + 910 796 + 909 910 + 570 797 + 797 909 + 684 911 + 798 797 + 912 798 + 911 912 + 686 913 + 800 1027 + 914 913 + 1028 914 + 1027 1028 + 688 915 + 915 1027 + 802 1029 + 916 915 + 1030 916 + 1029 1030 + 690 917 + 917 1029 + 804 1031 + 918 917 + 1032 918 + 1031 1032 + 692 919 + 919 1031 + 806 1033 + 920 919 + 1034 920 + 1033 1034 + 694 921 + 921 1033 + 808 1035 + 922 921 + 1036 922 + 1035 1036 + 696 923 + 923 1035 + 810 1037 + 924 923 + 1038 924 + 1037 1038 + 698 925 + 925 1037 + 812 1039 + 926 925 + 1040 926 + 1039 1040 + 700 927 + 927 1039 + 814 1041 + 928 927 + 1042 928 + 1041 1042 + 702 929 + 929 1041 + 816 1043 + 930 929 + 1044 930 + 1043 1044 + 704 931 + 931 1043 + 818 1045 + 932 931 + 1046 932 + 1045 1046 + 706 933 + 933 1045 + 820 1047 + 934 933 + 1048 934 + 1047 1048 + 708 935 + 935 1047 + 822 1049 + 936 935 + 1050 936 + 1049 1050 + 710 937 + 937 1049 + 824 1051 + 938 937 + 1052 938 + 1051 1052 + 712 939 + 939 1051 + 826 1053 + 940 939 + 1054 940 + 1053 1054 + 714 941 + 941 1053 + 828 1055 + 942 941 + 1056 942 + 1055 1056 + 716 943 + 943 1055 + 830 1057 + 944 943 + 1058 944 + 1057 1058 + 718 945 + 945 1057 + 832 1059 + 946 945 + 1060 946 + 1059 1060 + 720 947 + 947 1059 + 834 1061 + 948 947 + 1062 948 + 1061 1062 + 722 949 + 949 1061 + 836 1063 + 950 949 + 1064 950 + 1063 1064 + 724 951 + 951 1063 + 838 1065 + 952 951 + 1066 952 + 1065 1066 + 726 953 + 953 1065 + 840 1067 + 954 953 + 1068 954 + 1067 1068 + 728 955 + 955 1067 + 842 1069 + 956 955 + 1070 956 + 1069 1070 + 730 957 + 957 1069 + 844 1071 + 958 957 + 1072 958 + 1071 1072 + 732 959 + 959 1071 + 846 1073 + 960 959 + 1074 960 + 1073 1074 + 734 961 + 961 1073 + 848 1075 + 962 961 + 1076 962 + 1075 1076 + 736 963 + 963 1075 + 850 1077 + 964 963 + 1078 964 + 1077 1078 + 738 965 + 965 1077 + 852 1079 + 966 965 + 1080 966 + 1079 1080 + 740 967 + 967 1079 + 854 1081 + 968 967 + 1082 968 + 1081 1082 + 742 969 + 969 1081 + 856 1083 + 970 969 + 1084 970 + 1083 1084 + 744 971 + 971 1083 + 858 1085 + 972 971 + 1086 972 + 1085 1086 + 746 973 + 973 1085 + 860 1087 + 974 973 + 1088 974 + 1087 1088 + 748 975 + 975 1087 + 862 1089 + 976 975 + 1090 976 + 1089 1090 + 750 977 + 977 1089 + 864 1091 + 978 977 + 1092 978 + 1091 1092 + 752 979 + 979 1091 + 866 1093 + 980 979 + 1094 980 + 1093 1094 + 754 981 + 981 1093 + 868 1095 + 982 981 + 1096 982 + 1095 1096 + 756 983 + 983 1095 + 870 1097 + 984 983 + 1098 984 + 1097 1098 + 758 985 + 985 1097 + 872 1099 + 986 985 + 1100 986 + 1099 1100 + 760 987 + 987 1099 + 874 1101 + 988 987 + 1102 988 + 1101 1102 + 762 989 + 989 1101 + 876 1103 + 990 989 + 1104 990 + 1103 1104 + 764 991 + 991 1103 + 878 1105 + 992 991 + 1106 992 + 1105 1106 + 766 993 + 993 1105 + 880 1107 + 994 993 + 1108 994 + 1107 1108 + 768 995 + 995 1107 + 882 1109 + 996 995 + 1110 996 + 1109 1110 + 770 997 + 997 1109 + 884 1111 + 998 997 + 1112 998 + 1111 1112 + 772 999 + 999 1111 + 886 1113 + 1000 999 + 1114 1000 + 1113 1114 + 774 1001 + 1001 1113 + 888 1115 + 1002 1001 + 1116 1002 + 1115 1116 + 776 1003 + 1003 1115 + 890 1117 + 1004 1003 + 1118 1004 + 1117 1118 + 778 1005 + 1005 1117 + 892 1119 + 1006 1005 + 1120 1006 + 1119 1120 + 780 1007 + 1007 1119 + 894 1121 + 1008 1007 + 1122 1008 + 1121 1122 + 782 1009 + 1009 1121 + 896 1123 + 1010 1009 + 1124 1010 + 1123 1124 + 784 1011 + 1011 1123 + 898 1125 + 1012 1011 + 1126 1012 + 1125 1126 + 786 1013 + 1013 1125 + 900 1127 + 1014 1013 + 1128 1014 + 1127 1128 + 788 1015 + 1015 1127 + 902 1129 + 1016 1015 + 1130 1016 + 1129 1130 + 790 1017 + 1017 1129 + 904 1131 + 1018 1017 + 1132 1018 + 1131 1132 + 792 1019 + 1019 1131 + 906 1133 + 1020 1019 + 1134 1020 + 1133 1134 + 794 1021 + 1021 1133 + 908 1135 + 1022 1021 + 1136 1022 + 1135 1136 + 796 1023 + 1023 1135 + 910 1137 + 1024 1023 + 1138 1024 + 1137 1138 + 798 1025 + 1025 1137 + 912 1139 + 1026 1025 + 1140 1026 + 1139 1140 + 914 1141 + 1028 1255 + 1142 1141 + 1256 1142 + 1255 1256 + 916 1143 + 1143 1255 + 1030 1257 + 1144 1143 + 1258 1144 + 1257 1258 + 918 1145 + 1145 1257 + 1032 1259 + 1146 1145 + 1260 1146 + 1259 1260 + 920 1147 + 1147 1259 + 1034 1261 + 1148 1147 + 1262 1148 + 1261 1262 + 922 1149 + 1149 1261 + 1036 1263 + 1150 1149 + 1264 1150 + 1263 1264 + 924 1151 + 1151 1263 + 1038 1265 + 1152 1151 + 1266 1152 + 1265 1266 + 926 1153 + 1153 1265 + 1040 1267 + 1154 1153 + 1268 1154 + 1267 1268 + 928 1155 + 1155 1267 + 1042 1269 + 1156 1155 + 1270 1156 + 1269 1270 + 930 1157 + 1157 1269 + 1044 1271 + 1158 1157 + 1272 1158 + 1271 1272 + 932 1159 + 1159 1271 + 1046 1273 + 1160 1159 + 1274 1160 + 1273 1274 + 934 1161 + 1161 1273 + 1048 1275 + 1162 1161 + 1276 1162 + 1275 1276 + 936 1163 + 1163 1275 + 1050 1277 + 1164 1163 + 1278 1164 + 1277 1278 + 938 1165 + 1165 1277 + 1052 1279 + 1166 1165 + 1280 1166 + 1279 1280 + 940 1167 + 1167 1279 + 1054 1281 + 1168 1167 + 1282 1168 + 1281 1282 + 942 1169 + 1169 1281 + 1056 1283 + 1170 1169 + 1284 1170 + 1283 1284 + 944 1171 + 1171 1283 + 1058 1285 + 1172 1171 + 1286 1172 + 1285 1286 + 946 1173 + 1173 1285 + 1060 1287 + 1174 1173 + 1288 1174 + 1287 1288 + 948 1175 + 1175 1287 + 1062 1289 + 1176 1175 + 1290 1176 + 1289 1290 + 950 1177 + 1177 1289 + 1064 1291 + 1178 1177 + 1292 1178 + 1291 1292 + 952 1179 + 1179 1291 + 1066 1293 + 1180 1179 + 1294 1180 + 1293 1294 + 954 1181 + 1181 1293 + 1068 1295 + 1182 1181 + 1296 1182 + 1295 1296 + 956 1183 + 1183 1295 + 1070 1297 + 1184 1183 + 1298 1184 + 1297 1298 + 958 1185 + 1185 1297 + 1072 1299 + 1186 1185 + 1300 1186 + 1299 1300 + 960 1187 + 1187 1299 + 1074 1301 + 1188 1187 + 1302 1188 + 1301 1302 + 962 1189 + 1189 1301 + 1076 1303 + 1190 1189 + 1304 1190 + 1303 1304 + 964 1191 + 1191 1303 + 1078 1305 + 1192 1191 + 1306 1192 + 1305 1306 + 966 1193 + 1193 1305 + 1080 1307 + 1194 1193 + 1308 1194 + 1307 1308 + 968 1195 + 1195 1307 + 1082 1309 + 1196 1195 + 1310 1196 + 1309 1310 + 970 1197 + 1197 1309 + 1084 1311 + 1198 1197 + 1312 1198 + 1311 1312 + 972 1199 + 1199 1311 + 1086 1313 + 1200 1199 + 1314 1200 + 1313 1314 + 974 1201 + 1201 1313 + 1088 1315 + 1202 1201 + 1316 1202 + 1315 1316 + 976 1203 + 1203 1315 + 1090 1317 + 1204 1203 + 1318 1204 + 1317 1318 + 978 1205 + 1205 1317 + 1092 1319 + 1206 1205 + 1320 1206 + 1319 1320 + 980 1207 + 1207 1319 + 1094 1321 + 1208 1207 + 1322 1208 + 1321 1322 + 982 1209 + 1209 1321 + 1096 1323 + 1210 1209 + 1324 1210 + 1323 1324 + 984 1211 + 1211 1323 + 1098 1325 + 1212 1211 + 1326 1212 + 1325 1326 + 986 1213 + 1213 1325 + 1100 1327 + 1214 1213 + 1328 1214 + 1327 1328 + 988 1215 + 1215 1327 + 1102 1329 + 1216 1215 + 1330 1216 + 1329 1330 + 990 1217 + 1217 1329 + 1104 1331 + 1218 1217 + 1332 1218 + 1331 1332 + 992 1219 + 1219 1331 + 1106 1333 + 1220 1219 + 1334 1220 + 1333 1334 + 994 1221 + 1221 1333 + 1108 1335 + 1222 1221 + 1336 1222 + 1335 1336 + 996 1223 + 1223 1335 + 1110 1337 + 1224 1223 + 1338 1224 + 1337 1338 + 998 1225 + 1225 1337 + 1112 1339 + 1226 1225 + 1340 1226 + 1339 1340 + 1000 1227 + 1227 1339 + 1114 1341 + 1228 1227 + 1342 1228 + 1341 1342 + 1002 1229 + 1229 1341 + 1116 1343 + 1230 1229 + 1344 1230 + 1343 1344 + 1004 1231 + 1231 1343 + 1118 1345 + 1232 1231 + 1346 1232 + 1345 1346 + 1006 1233 + 1233 1345 + 1120 1347 + 1234 1233 + 1348 1234 + 1347 1348 + 1008 1235 + 1235 1347 + 1122 1349 + 1236 1235 + 1350 1236 + 1349 1350 + 1010 1237 + 1237 1349 + 1124 1351 + 1238 1237 + 1352 1238 + 1351 1352 + 1012 1239 + 1239 1351 + 1126 1353 + 1240 1239 + 1354 1240 + 1353 1354 + 1014 1241 + 1241 1353 + 1128 1355 + 1242 1241 + 1356 1242 + 1355 1356 + 1016 1243 + 1243 1355 + 1130 1357 + 1244 1243 + 1358 1244 + 1357 1358 + 1018 1245 + 1245 1357 + 1132 1359 + 1246 1245 + 1360 1246 + 1359 1360 + 1020 1247 + 1247 1359 + 1134 1361 + 1248 1247 + 1362 1248 + 1361 1362 + 1022 1249 + 1249 1361 + 1136 1363 + 1250 1249 + 1364 1250 + 1363 1364 + 1024 1251 + 1251 1363 + 1138 1365 + 1252 1251 + 1366 1252 + 1365 1366 + 1026 1253 + 1253 1365 + 1140 1367 + 1254 1253 + 1368 1254 + 1367 1368 + 1142 1369 + 1256 1483 + 1370 1369 + 1484 1370 + 1483 1484 + 1144 1371 + 1371 1483 + 1258 1485 + 1372 1371 + 1486 1372 + 1485 1486 + 1146 1373 + 1373 1485 + 1260 1487 + 1374 1373 + 1488 1374 + 1487 1488 + 1148 1375 + 1375 1487 + 1262 1489 + 1376 1375 + 1490 1376 + 1489 1490 + 1150 1377 + 1377 1489 + 1264 1491 + 1378 1377 + 1492 1378 + 1491 1492 + 1152 1379 + 1379 1491 + 1266 1493 + 1380 1379 + 1494 1380 + 1493 1494 + 1154 1381 + 1381 1493 + 1268 1495 + 1382 1381 + 1496 1382 + 1495 1496 + 1156 1383 + 1383 1495 + 1270 1497 + 1384 1383 + 1498 1384 + 1497 1498 + 1158 1385 + 1385 1497 + 1272 1499 + 1386 1385 + 1500 1386 + 1499 1500 + 1160 1387 + 1387 1499 + 1274 1501 + 1388 1387 + 1502 1388 + 1501 1502 + 1162 1389 + 1389 1501 + 1276 1503 + 1390 1389 + 1504 1390 + 1503 1504 + 1164 1391 + 1391 1503 + 1278 1505 + 1392 1391 + 1506 1392 + 1505 1506 + 1166 1393 + 1393 1505 + 1280 1507 + 1394 1393 + 1508 1394 + 1507 1508 + 1168 1395 + 1395 1507 + 1282 1509 + 1396 1395 + 1510 1396 + 1509 1510 + 1170 1397 + 1397 1509 + 1284 1511 + 1398 1397 + 1512 1398 + 1511 1512 + 1172 1399 + 1399 1511 + 1286 1513 + 1400 1399 + 1514 1400 + 1513 1514 + 1174 1401 + 1401 1513 + 1288 1515 + 1402 1401 + 1516 1402 + 1515 1516 + 1176 1403 + 1403 1515 + 1290 1517 + 1404 1403 + 1518 1404 + 1517 1518 + 1178 1405 + 1405 1517 + 1292 1519 + 1406 1405 + 1520 1406 + 1519 1520 + 1180 1407 + 1407 1519 + 1294 1521 + 1408 1407 + 1522 1408 + 1521 1522 + 1182 1409 + 1409 1521 + 1296 1523 + 1410 1409 + 1524 1410 + 1523 1524 + 1184 1411 + 1411 1523 + 1298 1525 + 1412 1411 + 1526 1412 + 1525 1526 + 1186 1413 + 1413 1525 + 1300 1527 + 1414 1413 + 1528 1414 + 1527 1528 + 1188 1415 + 1415 1527 + 1302 1529 + 1416 1415 + 1530 1416 + 1529 1530 + 1190 1417 + 1417 1529 + 1304 1531 + 1418 1417 + 1532 1418 + 1531 1532 + 1192 1419 + 1419 1531 + 1306 1533 + 1420 1419 + 1534 1420 + 1533 1534 + 1194 1421 + 1421 1533 + 1308 1535 + 1422 1421 + 1536 1422 + 1535 1536 + 1196 1423 + 1423 1535 + 1310 1537 + 1424 1423 + 1538 1424 + 1537 1538 + 1198 1425 + 1425 1537 + 1312 1539 + 1426 1425 + 1540 1426 + 1539 1540 + 1200 1427 + 1427 1539 + 1314 1541 + 1428 1427 + 1542 1428 + 1541 1542 + 1202 1429 + 1429 1541 + 1316 1543 + 1430 1429 + 1544 1430 + 1543 1544 + 1204 1431 + 1431 1543 + 1318 1545 + 1432 1431 + 1546 1432 + 1545 1546 + 1206 1433 + 1433 1545 + 1320 1547 + 1434 1433 + 1548 1434 + 1547 1548 + 1208 1435 + 1435 1547 + 1322 1549 + 1436 1435 + 1550 1436 + 1549 1550 + 1210 1437 + 1437 1549 + 1324 1551 + 1438 1437 + 1552 1438 + 1551 1552 + 1212 1439 + 1439 1551 + 1326 1553 + 1440 1439 + 1554 1440 + 1553 1554 + 1214 1441 + 1441 1553 + 1328 1555 + 1442 1441 + 1556 1442 + 1555 1556 + 1216 1443 + 1443 1555 + 1330 1557 + 1444 1443 + 1558 1444 + 1557 1558 + 1218 1445 + 1445 1557 + 1332 1559 + 1446 1445 + 1560 1446 + 1559 1560 + 1220 1447 + 1447 1559 + 1334 1561 + 1448 1447 + 1562 1448 + 1561 1562 + 1222 1449 + 1449 1561 + 1336 1563 + 1450 1449 + 1564 1450 + 1563 1564 + 1224 1451 + 1451 1563 + 1338 1565 + 1452 1451 + 1566 1452 + 1565 1566 + 1226 1453 + 1453 1565 + 1340 1567 + 1454 1453 + 1568 1454 + 1567 1568 + 1228 1455 + 1455 1567 + 1342 1569 + 1456 1455 + 1570 1456 + 1569 1570 + 1230 1457 + 1457 1569 + 1344 1571 + 1458 1457 + 1572 1458 + 1571 1572 + 1232 1459 + 1459 1571 + 1346 1573 + 1460 1459 + 1574 1460 + 1573 1574 + 1234 1461 + 1461 1573 + 1348 1575 + 1462 1461 + 1576 1462 + 1575 1576 + 1236 1463 + 1463 1575 + 1350 1577 + 1464 1463 + 1578 1464 + 1577 1578 + 1238 1465 + 1465 1577 + 1352 1579 + 1466 1465 + 1580 1466 + 1579 1580 + 1240 1467 + 1467 1579 + 1354 1581 + 1468 1467 + 1582 1468 + 1581 1582 + 1242 1469 + 1469 1581 + 1356 1583 + 1470 1469 + 1584 1470 + 1583 1584 + 1244 1471 + 1471 1583 + 1358 1585 + 1472 1471 + 1586 1472 + 1585 1586 + 1246 1473 + 1473 1585 + 1360 1587 + 1474 1473 + 1588 1474 + 1587 1588 + 1248 1475 + 1475 1587 + 1362 1589 + 1476 1475 + 1590 1476 + 1589 1590 + 1250 1477 + 1477 1589 + 1364 1591 + 1478 1477 + 1592 1478 + 1591 1592 + 1252 1479 + 1479 1591 + 1366 1593 + 1480 1479 + 1594 1480 + 1593 1594 + 1254 1481 + 1481 1593 + 1368 1595 + 1482 1481 + 1596 1482 + 1595 1596 + 1370 1597 + 1484 1711 + 1598 1597 + 1712 1598 + 1711 1712 + 1372 1599 + 1599 1711 + 1486 1713 + 1600 1599 + 1714 1600 + 1713 1714 + 1374 1601 + 1601 1713 + 1488 1715 + 1602 1601 + 1716 1602 + 1715 1716 + 1376 1603 + 1603 1715 + 1490 1717 + 1604 1603 + 1718 1604 + 1717 1718 + 1378 1605 + 1605 1717 + 1492 1719 + 1606 1605 + 1720 1606 + 1719 1720 + 1380 1607 + 1607 1719 + 1494 1721 + 1608 1607 + 1722 1608 + 1721 1722 + 1382 1609 + 1609 1721 + 1496 1723 + 1610 1609 + 1724 1610 + 1723 1724 + 1384 1611 + 1611 1723 + 1498 1725 + 1612 1611 + 1726 1612 + 1725 1726 + 1386 1613 + 1613 1725 + 1500 1727 + 1614 1613 + 1728 1614 + 1727 1728 + 1388 1615 + 1615 1727 + 1502 1729 + 1616 1615 + 1730 1616 + 1729 1730 + 1390 1617 + 1617 1729 + 1504 1731 + 1618 1617 + 1732 1618 + 1731 1732 + 1392 1619 + 1619 1731 + 1506 1733 + 1620 1619 + 1734 1620 + 1733 1734 + 1394 1621 + 1621 1733 + 1508 1735 + 1622 1621 + 1736 1622 + 1735 1736 + 1396 1623 + 1623 1735 + 1510 1737 + 1624 1623 + 1738 1624 + 1737 1738 + 1398 1625 + 1625 1737 + 1512 1739 + 1626 1625 + 1740 1626 + 1739 1740 + 1400 1627 + 1627 1739 + 1514 1741 + 1628 1627 + 1742 1628 + 1741 1742 + 1402 1629 + 1629 1741 + 1516 1743 + 1630 1629 + 1744 1630 + 1743 1744 + 1404 1631 + 1631 1743 + 1518 1745 + 1632 1631 + 1746 1632 + 1745 1746 + 1406 1633 + 1633 1745 + 1520 1747 + 1634 1633 + 1748 1634 + 1747 1748 + 1408 1635 + 1635 1747 + 1522 1749 + 1636 1635 + 1750 1636 + 1749 1750 + 1410 1637 + 1637 1749 + 1524 1751 + 1638 1637 + 1752 1638 + 1751 1752 + 1412 1639 + 1639 1751 + 1526 1753 + 1640 1639 + 1754 1640 + 1753 1754 + 1414 1641 + 1641 1753 + 1528 1755 + 1642 1641 + 1756 1642 + 1755 1756 + 1416 1643 + 1643 1755 + 1530 1757 + 1644 1643 + 1758 1644 + 1757 1758 + 1418 1645 + 1645 1757 + 1532 1759 + 1646 1645 + 1760 1646 + 1759 1760 + 1420 1647 + 1647 1759 + 1534 1761 + 1648 1647 + 1762 1648 + 1761 1762 + 1422 1649 + 1649 1761 + 1536 1763 + 1650 1649 + 1764 1650 + 1763 1764 + 1424 1651 + 1651 1763 + 1538 1765 + 1652 1651 + 1766 1652 + 1765 1766 + 1426 1653 + 1653 1765 + 1540 1767 + 1654 1653 + 1768 1654 + 1767 1768 + 1428 1655 + 1655 1767 + 1542 1769 + 1656 1655 + 1770 1656 + 1769 1770 + 1430 1657 + 1657 1769 + 1544 1771 + 1658 1657 + 1772 1658 + 1771 1772 + 1432 1659 + 1659 1771 + 1546 1773 + 1660 1659 + 1774 1660 + 1773 1774 + 1434 1661 + 1661 1773 + 1548 1775 + 1662 1661 + 1776 1662 + 1775 1776 + 1436 1663 + 1663 1775 + 1550 1777 + 1664 1663 + 1778 1664 + 1777 1778 + 1438 1665 + 1665 1777 + 1552 1779 + 1666 1665 + 1780 1666 + 1779 1780 + 1440 1667 + 1667 1779 + 1554 1781 + 1668 1667 + 1782 1668 + 1781 1782 + 1442 1669 + 1669 1781 + 1556 1783 + 1670 1669 + 1784 1670 + 1783 1784 + 1444 1671 + 1671 1783 + 1558 1785 + 1672 1671 + 1786 1672 + 1785 1786 + 1446 1673 + 1673 1785 + 1560 1787 + 1674 1673 + 1788 1674 + 1787 1788 + 1448 1675 + 1675 1787 + 1562 1789 + 1676 1675 + 1790 1676 + 1789 1790 + 1450 1677 + 1677 1789 + 1564 1791 + 1678 1677 + 1792 1678 + 1791 1792 + 1452 1679 + 1679 1791 + 1566 1793 + 1680 1679 + 1794 1680 + 1793 1794 + 1454 1681 + 1681 1793 + 1568 1795 + 1682 1681 + 1796 1682 + 1795 1796 + 1456 1683 + 1683 1795 + 1570 1797 + 1684 1683 + 1798 1684 + 1797 1798 + 1458 1685 + 1685 1797 + 1572 1799 + 1686 1685 + 1800 1686 + 1799 1800 + 1460 1687 + 1687 1799 + 1574 1801 + 1688 1687 + 1802 1688 + 1801 1802 + 1462 1689 + 1689 1801 + 1576 1803 + 1690 1689 + 1804 1690 + 1803 1804 + 1464 1691 + 1691 1803 + 1578 1805 + 1692 1691 + 1806 1692 + 1805 1806 + 1466 1693 + 1693 1805 + 1580 1807 + 1694 1693 + 1808 1694 + 1807 1808 + 1468 1695 + 1695 1807 + 1582 1809 + 1696 1695 + 1810 1696 + 1809 1810 + 1470 1697 + 1697 1809 + 1584 1811 + 1698 1697 + 1812 1698 + 1811 1812 + 1472 1699 + 1699 1811 + 1586 1813 + 1700 1699 + 1814 1700 + 1813 1814 + 1474 1701 + 1701 1813 + 1588 1815 + 1702 1701 + 1816 1702 + 1815 1816 + 1476 1703 + 1703 1815 + 1590 1817 + 1704 1703 + 1818 1704 + 1817 1818 + 1478 1705 + 1705 1817 + 1592 1819 + 1706 1705 + 1820 1706 + 1819 1820 + 1480 1707 + 1707 1819 + 1594 1821 + 1708 1707 + 1822 1708 + 1821 1822 + 1482 1709 + 1709 1821 + 1596 1823 + 1710 1709 + 1824 1710 + 1823 1824 + 1598 1825 + 1712 1939 + 1826 1825 + 1940 1826 + 1939 1940 + 1600 1827 + 1827 1939 + 1714 1941 + 1828 1827 + 1942 1828 + 1941 1942 + 1602 1829 + 1829 1941 + 1716 1943 + 1830 1829 + 1944 1830 + 1943 1944 + 1604 1831 + 1831 1943 + 1718 1945 + 1832 1831 + 1946 1832 + 1945 1946 + 1606 1833 + 1833 1945 + 1720 1947 + 1834 1833 + 1948 1834 + 1947 1948 + 1608 1835 + 1835 1947 + 1722 1949 + 1836 1835 + 1950 1836 + 1949 1950 + 1610 1837 + 1837 1949 + 1724 1951 + 1838 1837 + 1952 1838 + 1951 1952 + 1612 1839 + 1839 1951 + 1726 1953 + 1840 1839 + 1954 1840 + 1953 1954 + 1614 1841 + 1841 1953 + 1728 1955 + 1842 1841 + 1956 1842 + 1955 1956 + 1616 1843 + 1843 1955 + 1730 1957 + 1844 1843 + 1958 1844 + 1957 1958 + 1618 1845 + 1845 1957 + 1732 1959 + 1846 1845 + 1960 1846 + 1959 1960 + 1620 1847 + 1847 1959 + 1734 1961 + 1848 1847 + 1962 1848 + 1961 1962 + 1622 1849 + 1849 1961 + 1736 1963 + 1850 1849 + 1964 1850 + 1963 1964 + 1624 1851 + 1851 1963 + 1738 1965 + 1852 1851 + 1966 1852 + 1965 1966 + 1626 1853 + 1853 1965 + 1740 1967 + 1854 1853 + 1968 1854 + 1967 1968 + 1628 1855 + 1855 1967 + 1742 1969 + 1856 1855 + 1970 1856 + 1969 1970 + 1630 1857 + 1857 1969 + 1744 1971 + 1858 1857 + 1972 1858 + 1971 1972 + 1632 1859 + 1859 1971 + 1746 1973 + 1860 1859 + 1974 1860 + 1973 1974 + 1634 1861 + 1861 1973 + 1748 1975 + 1862 1861 + 1976 1862 + 1975 1976 + 1636 1863 + 1863 1975 + 1750 1977 + 1864 1863 + 1978 1864 + 1977 1978 + 1638 1865 + 1865 1977 + 1752 1979 + 1866 1865 + 1980 1866 + 1979 1980 + 1640 1867 + 1867 1979 + 1754 1981 + 1868 1867 + 1982 1868 + 1981 1982 + 1642 1869 + 1869 1981 + 1756 1983 + 1870 1869 + 1984 1870 + 1983 1984 + 1644 1871 + 1871 1983 + 1758 1985 + 1872 1871 + 1986 1872 + 1985 1986 + 1646 1873 + 1873 1985 + 1760 1987 + 1874 1873 + 1988 1874 + 1987 1988 + 1648 1875 + 1875 1987 + 1762 1989 + 1876 1875 + 1990 1876 + 1989 1990 + 1650 1877 + 1877 1989 + 1764 1991 + 1878 1877 + 1992 1878 + 1991 1992 + 1652 1879 + 1879 1991 + 1766 1993 + 1880 1879 + 1994 1880 + 1993 1994 + 1654 1881 + 1881 1993 + 1768 1995 + 1882 1881 + 1996 1882 + 1995 1996 + 1656 1883 + 1883 1995 + 1770 1997 + 1884 1883 + 1998 1884 + 1997 1998 + 1658 1885 + 1885 1997 + 1772 1999 + 1886 1885 + 2000 1886 + 1999 2000 + 1660 1887 + 1887 1999 + 1774 2001 + 1888 1887 + 2002 1888 + 2001 2002 + 1662 1889 + 1889 2001 + 1776 2003 + 1890 1889 + 2004 1890 + 2003 2004 + 1664 1891 + 1891 2003 + 1778 2005 + 1892 1891 + 2006 1892 + 2005 2006 + 1666 1893 + 1893 2005 + 1780 2007 + 1894 1893 + 2008 1894 + 2007 2008 + 1668 1895 + 1895 2007 + 1782 2009 + 1896 1895 + 2010 1896 + 2009 2010 + 1670 1897 + 1897 2009 + 1784 2011 + 1898 1897 + 2012 1898 + 2011 2012 + 1672 1899 + 1899 2011 + 1786 2013 + 1900 1899 + 2014 1900 + 2013 2014 + 1674 1901 + 1901 2013 + 1788 2015 + 1902 1901 + 2016 1902 + 2015 2016 + 1676 1903 + 1903 2015 + 1790 2017 + 1904 1903 + 2018 1904 + 2017 2018 + 1678 1905 + 1905 2017 + 1792 2019 + 1906 1905 + 2020 1906 + 2019 2020 + 1680 1907 + 1907 2019 + 1794 2021 + 1908 1907 + 2022 1908 + 2021 2022 + 1682 1909 + 1909 2021 + 1796 2023 + 1910 1909 + 2024 1910 + 2023 2024 + 1684 1911 + 1911 2023 + 1798 2025 + 1912 1911 + 2026 1912 + 2025 2026 + 1686 1913 + 1913 2025 + 1800 2027 + 1914 1913 + 2028 1914 + 2027 2028 + 1688 1915 + 1915 2027 + 1802 2029 + 1916 1915 + 2030 1916 + 2029 2030 + 1690 1917 + 1917 2029 + 1804 2031 + 1918 1917 + 2032 1918 + 2031 2032 + 1692 1919 + 1919 2031 + 1806 2033 + 1920 1919 + 2034 1920 + 2033 2034 + 1694 1921 + 1921 2033 + 1808 2035 + 1922 1921 + 2036 1922 + 2035 2036 + 1696 1923 + 1923 2035 + 1810 2037 + 1924 1923 + 2038 1924 + 2037 2038 + 1698 1925 + 1925 2037 + 1812 2039 + 1926 1925 + 2040 1926 + 2039 2040 + 1700 1927 + 1927 2039 + 1814 2041 + 1928 1927 + 2042 1928 + 2041 2042 + 1702 1929 + 1929 2041 + 1816 2043 + 1930 1929 + 2044 1930 + 2043 2044 + 1704 1931 + 1931 2043 + 1818 2045 + 1932 1931 + 2046 1932 + 2045 2046 + 1706 1933 + 1933 2045 + 1820 2047 + 1934 1933 + 2048 1934 + 2047 2048 + 1708 1935 + 1935 2047 + 1822 2049 + 1936 1935 + 2050 1936 + 2049 2050 + 1710 1937 + 1937 2049 + 1824 2051 + 1938 1937 + 2052 1938 + 2051 2052 + 1826 2053 + 1940 2167 + 2054 2053 + 2168 2054 + 2167 2168 + 1828 2055 + 2055 2167 + 1942 2169 + 2056 2055 + 2170 2056 + 2169 2170 + 1830 2057 + 2057 2169 + 1944 2171 + 2058 2057 + 2172 2058 + 2171 2172 + 1832 2059 + 2059 2171 + 1946 2173 + 2060 2059 + 2174 2060 + 2173 2174 + 1834 2061 + 2061 2173 + 1948 2175 + 2062 2061 + 2176 2062 + 2175 2176 + 1836 2063 + 2063 2175 + 1950 2177 + 2064 2063 + 2178 2064 + 2177 2178 + 1838 2065 + 2065 2177 + 1952 2179 + 2066 2065 + 2180 2066 + 2179 2180 + 1840 2067 + 2067 2179 + 1954 2181 + 2068 2067 + 2182 2068 + 2181 2182 + 1842 2069 + 2069 2181 + 1956 2183 + 2070 2069 + 2184 2070 + 2183 2184 + 1844 2071 + 2071 2183 + 1958 2185 + 2072 2071 + 2186 2072 + 2185 2186 + 1846 2073 + 2073 2185 + 1960 2187 + 2074 2073 + 2188 2074 + 2187 2188 + 1848 2075 + 2075 2187 + 1962 2189 + 2076 2075 + 2190 2076 + 2189 2190 + 1850 2077 + 2077 2189 + 1964 2191 + 2078 2077 + 2192 2078 + 2191 2192 + 1852 2079 + 2079 2191 + 1966 2193 + 2080 2079 + 2194 2080 + 2193 2194 + 1854 2081 + 2081 2193 + 1968 2195 + 2082 2081 + 2196 2082 + 2195 2196 + 1856 2083 + 2083 2195 + 1970 2197 + 2084 2083 + 2198 2084 + 2197 2198 + 1858 2085 + 2085 2197 + 1972 2199 + 2086 2085 + 2200 2086 + 2199 2200 + 1860 2087 + 2087 2199 + 1974 2201 + 2088 2087 + 2202 2088 + 2201 2202 + 1862 2089 + 2089 2201 + 1976 2203 + 2090 2089 + 2204 2090 + 2203 2204 + 1864 2091 + 2091 2203 + 1978 2205 + 2092 2091 + 2206 2092 + 2205 2206 + 1866 2093 + 2093 2205 + 1980 2207 + 2094 2093 + 2208 2094 + 2207 2208 + 1868 2095 + 2095 2207 + 1982 2209 + 2096 2095 + 2210 2096 + 2209 2210 + 1870 2097 + 2097 2209 + 1984 2211 + 2098 2097 + 2212 2098 + 2211 2212 + 1872 2099 + 2099 2211 + 1986 2213 + 2100 2099 + 2214 2100 + 2213 2214 + 1874 2101 + 2101 2213 + 1988 2215 + 2102 2101 + 2216 2102 + 2215 2216 + 1876 2103 + 2103 2215 + 1990 2217 + 2104 2103 + 2218 2104 + 2217 2218 + 1878 2105 + 2105 2217 + 1992 2219 + 2106 2105 + 2220 2106 + 2219 2220 + 1880 2107 + 2107 2219 + 1994 2221 + 2108 2107 + 2222 2108 + 2221 2222 + 1882 2109 + 2109 2221 + 1996 2223 + 2110 2109 + 2224 2110 + 2223 2224 + 1884 2111 + 2111 2223 + 1998 2225 + 2112 2111 + 2226 2112 + 2225 2226 + 1886 2113 + 2113 2225 + 2000 2227 + 2114 2113 + 2228 2114 + 2227 2228 + 1888 2115 + 2115 2227 + 2002 2229 + 2116 2115 + 2230 2116 + 2229 2230 + 1890 2117 + 2117 2229 + 2004 2231 + 2118 2117 + 2232 2118 + 2231 2232 + 1892 2119 + 2119 2231 + 2006 2233 + 2120 2119 + 2234 2120 + 2233 2234 + 1894 2121 + 2121 2233 + 2008 2235 + 2122 2121 + 2236 2122 + 2235 2236 + 1896 2123 + 2123 2235 + 2010 2237 + 2124 2123 + 2238 2124 + 2237 2238 + 1898 2125 + 2125 2237 + 2012 2239 + 2126 2125 + 2240 2126 + 2239 2240 + 1900 2127 + 2127 2239 + 2014 2241 + 2128 2127 + 2242 2128 + 2241 2242 + 1902 2129 + 2129 2241 + 2016 2243 + 2130 2129 + 2244 2130 + 2243 2244 + 1904 2131 + 2131 2243 + 2018 2245 + 2132 2131 + 2246 2132 + 2245 2246 + 1906 2133 + 2133 2245 + 2020 2247 + 2134 2133 + 2248 2134 + 2247 2248 + 1908 2135 + 2135 2247 + 2022 2249 + 2136 2135 + 2250 2136 + 2249 2250 + 1910 2137 + 2137 2249 + 2024 2251 + 2138 2137 + 2252 2138 + 2251 2252 + 1912 2139 + 2139 2251 + 2026 2253 + 2140 2139 + 2254 2140 + 2253 2254 + 1914 2141 + 2141 2253 + 2028 2255 + 2142 2141 + 2256 2142 + 2255 2256 + 1916 2143 + 2143 2255 + 2030 2257 + 2144 2143 + 2258 2144 + 2257 2258 + 1918 2145 + 2145 2257 + 2032 2259 + 2146 2145 + 2260 2146 + 2259 2260 + 1920 2147 + 2147 2259 + 2034 2261 + 2148 2147 + 2262 2148 + 2261 2262 + 1922 2149 + 2149 2261 + 2036 2263 + 2150 2149 + 2264 2150 + 2263 2264 + 1924 2151 + 2151 2263 + 2038 2265 + 2152 2151 + 2266 2152 + 2265 2266 + 1926 2153 + 2153 2265 + 2040 2267 + 2154 2153 + 2268 2154 + 2267 2268 + 1928 2155 + 2155 2267 + 2042 2269 + 2156 2155 + 2270 2156 + 2269 2270 + 1930 2157 + 2157 2269 + 2044 2271 + 2158 2157 + 2272 2158 + 2271 2272 + 1932 2159 + 2159 2271 + 2046 2273 + 2160 2159 + 2274 2160 + 2273 2274 + 1934 2161 + 2161 2273 + 2048 2275 + 2162 2161 + 2276 2162 + 2275 2276 + 1936 2163 + 2163 2275 + 2050 2277 + 2164 2163 + 2278 2164 + 2277 2278 + 1938 2165 + 2165 2277 + 2052 2279 + 2166 2165 + 2280 2166 + 2279 2280 + 2054 2281 + 2168 2395 + 2282 2281 + 2396 2282 + 2395 2396 + 2056 2283 + 2283 2395 + 2170 2397 + 2284 2283 + 2398 2284 + 2397 2398 + 2058 2285 + 2285 2397 + 2172 2399 + 2286 2285 + 2400 2286 + 2399 2400 + 2060 2287 + 2287 2399 + 2174 2401 + 2288 2287 + 2402 2288 + 2401 2402 + 2062 2289 + 2289 2401 + 2176 2403 + 2290 2289 + 2404 2290 + 2403 2404 + 2064 2291 + 2291 2403 + 2178 2405 + 2292 2291 + 2406 2292 + 2405 2406 + 2066 2293 + 2293 2405 + 2180 2407 + 2294 2293 + 2408 2294 + 2407 2408 + 2068 2295 + 2295 2407 + 2182 2409 + 2296 2295 + 2410 2296 + 2409 2410 + 2070 2297 + 2297 2409 + 2184 2411 + 2298 2297 + 2412 2298 + 2411 2412 + 2072 2299 + 2299 2411 + 2186 2413 + 2300 2299 + 2414 2300 + 2413 2414 + 2074 2301 + 2301 2413 + 2188 2415 + 2302 2301 + 2416 2302 + 2415 2416 + 2076 2303 + 2303 2415 + 2190 2417 + 2304 2303 + 2418 2304 + 2417 2418 + 2078 2305 + 2305 2417 + 2192 2419 + 2306 2305 + 2420 2306 + 2419 2420 + 2080 2307 + 2307 2419 + 2194 2421 + 2308 2307 + 2422 2308 + 2421 2422 + 2082 2309 + 2309 2421 + 2196 2423 + 2310 2309 + 2424 2310 + 2423 2424 + 2084 2311 + 2311 2423 + 2198 2425 + 2312 2311 + 2426 2312 + 2425 2426 + 2086 2313 + 2313 2425 + 2200 2427 + 2314 2313 + 2428 2314 + 2427 2428 + 2088 2315 + 2315 2427 + 2202 2429 + 2316 2315 + 2430 2316 + 2429 2430 + 2090 2317 + 2317 2429 + 2204 2431 + 2318 2317 + 2432 2318 + 2431 2432 + 2092 2319 + 2319 2431 + 2206 2433 + 2320 2319 + 2434 2320 + 2433 2434 + 2094 2321 + 2321 2433 + 2208 2435 + 2322 2321 + 2436 2322 + 2435 2436 + 2096 2323 + 2323 2435 + 2210 2437 + 2324 2323 + 2438 2324 + 2437 2438 + 2098 2325 + 2325 2437 + 2212 2439 + 2326 2325 + 2440 2326 + 2439 2440 + 2100 2327 + 2327 2439 + 2214 2441 + 2328 2327 + 2442 2328 + 2441 2442 + 2102 2329 + 2329 2441 + 2216 2443 + 2330 2329 + 2444 2330 + 2443 2444 + 2104 2331 + 2331 2443 + 2218 2445 + 2332 2331 + 2446 2332 + 2445 2446 + 2106 2333 + 2333 2445 + 2220 2447 + 2334 2333 + 2448 2334 + 2447 2448 + 2108 2335 + 2335 2447 + 2222 2449 + 2336 2335 + 2450 2336 + 2449 2450 + 2110 2337 + 2337 2449 + 2224 2451 + 2338 2337 + 2452 2338 + 2451 2452 + 2112 2339 + 2339 2451 + 2226 2453 + 2340 2339 + 2454 2340 + 2453 2454 + 2114 2341 + 2341 2453 + 2228 2455 + 2342 2341 + 2456 2342 + 2455 2456 + 2116 2343 + 2343 2455 + 2230 2457 + 2344 2343 + 2458 2344 + 2457 2458 + 2118 2345 + 2345 2457 + 2232 2459 + 2346 2345 + 2460 2346 + 2459 2460 + 2120 2347 + 2347 2459 + 2234 2461 + 2348 2347 + 2462 2348 + 2461 2462 + 2122 2349 + 2349 2461 + 2236 2463 + 2350 2349 + 2464 2350 + 2463 2464 + 2124 2351 + 2351 2463 + 2238 2465 + 2352 2351 + 2466 2352 + 2465 2466 + 2126 2353 + 2353 2465 + 2240 2467 + 2354 2353 + 2468 2354 + 2467 2468 + 2128 2355 + 2355 2467 + 2242 2469 + 2356 2355 + 2470 2356 + 2469 2470 + 2130 2357 + 2357 2469 + 2244 2471 + 2358 2357 + 2472 2358 + 2471 2472 + 2132 2359 + 2359 2471 + 2246 2473 + 2360 2359 + 2474 2360 + 2473 2474 + 2134 2361 + 2361 2473 + 2248 2475 + 2362 2361 + 2476 2362 + 2475 2476 + 2136 2363 + 2363 2475 + 2250 2477 + 2364 2363 + 2478 2364 + 2477 2478 + 2138 2365 + 2365 2477 + 2252 2479 + 2366 2365 + 2480 2366 + 2479 2480 + 2140 2367 + 2367 2479 + 2254 2481 + 2368 2367 + 2482 2368 + 2481 2482 + 2142 2369 + 2369 2481 + 2256 2483 + 2370 2369 + 2484 2370 + 2483 2484 + 2144 2371 + 2371 2483 + 2258 2485 + 2372 2371 + 2486 2372 + 2485 2486 + 2146 2373 + 2373 2485 + 2260 2487 + 2374 2373 + 2488 2374 + 2487 2488 + 2148 2375 + 2375 2487 + 2262 2489 + 2376 2375 + 2490 2376 + 2489 2490 + 2150 2377 + 2377 2489 + 2264 2491 + 2378 2377 + 2492 2378 + 2491 2492 + 2152 2379 + 2379 2491 + 2266 2493 + 2380 2379 + 2494 2380 + 2493 2494 + 2154 2381 + 2381 2493 + 2268 2495 + 2382 2381 + 2496 2382 + 2495 2496 + 2156 2383 + 2383 2495 + 2270 2497 + 2384 2383 + 2498 2384 + 2497 2498 + 2158 2385 + 2385 2497 + 2272 2499 + 2386 2385 + 2500 2386 + 2499 2500 + 2160 2387 + 2387 2499 + 2274 2501 + 2388 2387 + 2502 2388 + 2501 2502 + 2162 2389 + 2389 2501 + 2276 2503 + 2390 2389 + 2504 2390 + 2503 2504 + 2164 2391 + 2391 2503 + 2278 2505 + 2392 2391 + 2506 2392 + 2505 2506 + 2166 2393 + 2393 2505 + 2280 2507 + 2394 2393 + 2508 2394 + 2507 2508 + 2282 2509 + 2396 2623 + 2510 2509 + 2624 2510 + 2623 2624 + 2284 2511 + 2511 2623 + 2398 2625 + 2512 2511 + 2626 2512 + 2625 2626 + 2286 2513 + 2513 2625 + 2400 2627 + 2514 2513 + 2628 2514 + 2627 2628 + 2288 2515 + 2515 2627 + 2402 2629 + 2516 2515 + 2630 2516 + 2629 2630 + 2290 2517 + 2517 2629 + 2404 2631 + 2518 2517 + 2632 2518 + 2631 2632 + 2292 2519 + 2519 2631 + 2406 2633 + 2520 2519 + 2634 2520 + 2633 2634 + 2294 2521 + 2521 2633 + 2408 2635 + 2522 2521 + 2636 2522 + 2635 2636 + 2296 2523 + 2523 2635 + 2410 2637 + 2524 2523 + 2638 2524 + 2637 2638 + 2298 2525 + 2525 2637 + 2412 2639 + 2526 2525 + 2640 2526 + 2639 2640 + 2300 2527 + 2527 2639 + 2414 2641 + 2528 2527 + 2642 2528 + 2641 2642 + 2302 2529 + 2529 2641 + 2416 2643 + 2530 2529 + 2644 2530 + 2643 2644 + 2304 2531 + 2531 2643 + 2418 2645 + 2532 2531 + 2646 2532 + 2645 2646 + 2306 2533 + 2533 2645 + 2420 2647 + 2534 2533 + 2648 2534 + 2647 2648 + 2308 2535 + 2535 2647 + 2422 2649 + 2536 2535 + 2650 2536 + 2649 2650 + 2310 2537 + 2537 2649 + 2424 2651 + 2538 2537 + 2652 2538 + 2651 2652 + 2312 2539 + 2539 2651 + 2426 2653 + 2540 2539 + 2654 2540 + 2653 2654 + 2314 2541 + 2541 2653 + 2428 2655 + 2542 2541 + 2656 2542 + 2655 2656 + 2316 2543 + 2543 2655 + 2430 2657 + 2544 2543 + 2658 2544 + 2657 2658 + 2318 2545 + 2545 2657 + 2432 2659 + 2546 2545 + 2660 2546 + 2659 2660 + 2320 2547 + 2547 2659 + 2434 2661 + 2548 2547 + 2662 2548 + 2661 2662 + 2322 2549 + 2549 2661 + 2436 2663 + 2550 2549 + 2664 2550 + 2663 2664 + 2324 2551 + 2551 2663 + 2438 2665 + 2552 2551 + 2666 2552 + 2665 2666 + 2326 2553 + 2553 2665 + 2440 2667 + 2554 2553 + 2668 2554 + 2667 2668 + 2328 2555 + 2555 2667 + 2442 2669 + 2556 2555 + 2670 2556 + 2669 2670 + 2330 2557 + 2557 2669 + 2444 2671 + 2558 2557 + 2672 2558 + 2671 2672 + 2332 2559 + 2559 2671 + 2446 2673 + 2560 2559 + 2674 2560 + 2673 2674 + 2334 2561 + 2561 2673 + 2448 2675 + 2562 2561 + 2676 2562 + 2675 2676 + 2336 2563 + 2563 2675 + 2450 2677 + 2564 2563 + 2678 2564 + 2677 2678 + 2338 2565 + 2565 2677 + 2452 2679 + 2566 2565 + 2680 2566 + 2679 2680 + 2340 2567 + 2567 2679 + 2454 2681 + 2568 2567 + 2682 2568 + 2681 2682 + 2342 2569 + 2569 2681 + 2456 2683 + 2570 2569 + 2684 2570 + 2683 2684 + 2344 2571 + 2571 2683 + 2458 2685 + 2572 2571 + 2686 2572 + 2685 2686 + 2346 2573 + 2573 2685 + 2460 2687 + 2574 2573 + 2688 2574 + 2687 2688 + 2348 2575 + 2575 2687 + 2462 2689 + 2576 2575 + 2690 2576 + 2689 2690 + 2350 2577 + 2577 2689 + 2464 2691 + 2578 2577 + 2692 2578 + 2691 2692 + 2352 2579 + 2579 2691 + 2466 2693 + 2580 2579 + 2694 2580 + 2693 2694 + 2354 2581 + 2581 2693 + 2468 2695 + 2582 2581 + 2696 2582 + 2695 2696 + 2356 2583 + 2583 2695 + 2470 2697 + 2584 2583 + 2698 2584 + 2697 2698 + 2358 2585 + 2585 2697 + 2472 2699 + 2586 2585 + 2700 2586 + 2699 2700 + 2360 2587 + 2587 2699 + 2474 2701 + 2588 2587 + 2702 2588 + 2701 2702 + 2362 2589 + 2589 2701 + 2476 2703 + 2590 2589 + 2704 2590 + 2703 2704 + 2364 2591 + 2591 2703 + 2478 2705 + 2592 2591 + 2706 2592 + 2705 2706 + 2366 2593 + 2593 2705 + 2480 2707 + 2594 2593 + 2708 2594 + 2707 2708 + 2368 2595 + 2595 2707 + 2482 2709 + 2596 2595 + 2710 2596 + 2709 2710 + 2370 2597 + 2597 2709 + 2484 2711 + 2598 2597 + 2712 2598 + 2711 2712 + 2372 2599 + 2599 2711 + 2486 2713 + 2600 2599 + 2714 2600 + 2713 2714 + 2374 2601 + 2601 2713 + 2488 2715 + 2602 2601 + 2716 2602 + 2715 2716 + 2376 2603 + 2603 2715 + 2490 2717 + 2604 2603 + 2718 2604 + 2717 2718 + 2378 2605 + 2605 2717 + 2492 2719 + 2606 2605 + 2720 2606 + 2719 2720 + 2380 2607 + 2607 2719 + 2494 2721 + 2608 2607 + 2722 2608 + 2721 2722 + 2382 2609 + 2609 2721 + 2496 2723 + 2610 2609 + 2724 2610 + 2723 2724 + 2384 2611 + 2611 2723 + 2498 2725 + 2612 2611 + 2726 2612 + 2725 2726 + 2386 2613 + 2613 2725 + 2500 2727 + 2614 2613 + 2728 2614 + 2727 2728 + 2388 2615 + 2615 2727 + 2502 2729 + 2616 2615 + 2730 2616 + 2729 2730 + 2390 2617 + 2617 2729 + 2504 2731 + 2618 2617 + 2732 2618 + 2731 2732 + 2392 2619 + 2619 2731 + 2506 2733 + 2620 2619 + 2734 2620 + 2733 2734 + 2394 2621 + 2621 2733 + 2508 2735 + 2622 2621 + 2736 2622 + 2735 2736 + 2510 2737 + 2624 2851 + 2738 2737 + 2852 2738 + 2851 2852 + 2512 2739 + 2739 2851 + 2626 2853 + 2740 2739 + 2854 2740 + 2853 2854 + 2514 2741 + 2741 2853 + 2628 2855 + 2742 2741 + 2856 2742 + 2855 2856 + 2516 2743 + 2743 2855 + 2630 2857 + 2744 2743 + 2858 2744 + 2857 2858 + 2518 2745 + 2745 2857 + 2632 2859 + 2746 2745 + 2860 2746 + 2859 2860 + 2520 2747 + 2747 2859 + 2634 2861 + 2748 2747 + 2862 2748 + 2861 2862 + 2522 2749 + 2749 2861 + 2636 2863 + 2750 2749 + 2864 2750 + 2863 2864 + 2524 2751 + 2751 2863 + 2638 2865 + 2752 2751 + 2866 2752 + 2865 2866 + 2526 2753 + 2753 2865 + 2640 2867 + 2754 2753 + 2868 2754 + 2867 2868 + 2528 2755 + 2755 2867 + 2642 2869 + 2756 2755 + 2870 2756 + 2869 2870 + 2530 2757 + 2757 2869 + 2644 2871 + 2758 2757 + 2872 2758 + 2871 2872 + 2532 2759 + 2759 2871 + 2646 2873 + 2760 2759 + 2874 2760 + 2873 2874 + 2534 2761 + 2761 2873 + 2648 2875 + 2762 2761 + 2876 2762 + 2875 2876 + 2536 2763 + 2763 2875 + 2650 2877 + 2764 2763 + 2878 2764 + 2877 2878 + 2538 2765 + 2765 2877 + 2652 2879 + 2766 2765 + 2880 2766 + 2879 2880 + 2540 2767 + 2767 2879 + 2654 2881 + 2768 2767 + 2882 2768 + 2881 2882 + 2542 2769 + 2769 2881 + 2656 2883 + 2770 2769 + 2884 2770 + 2883 2884 + 2544 2771 + 2771 2883 + 2658 2885 + 2772 2771 + 2886 2772 + 2885 2886 + 2546 2773 + 2773 2885 + 2660 2887 + 2774 2773 + 2888 2774 + 2887 2888 + 2548 2775 + 2775 2887 + 2662 2889 + 2776 2775 + 2890 2776 + 2889 2890 + 2550 2777 + 2777 2889 + 2664 2891 + 2778 2777 + 2892 2778 + 2891 2892 + 2552 2779 + 2779 2891 + 2666 2893 + 2780 2779 + 2894 2780 + 2893 2894 + 2554 2781 + 2781 2893 + 2668 2895 + 2782 2781 + 2896 2782 + 2895 2896 + 2556 2783 + 2783 2895 + 2670 2897 + 2784 2783 + 2898 2784 + 2897 2898 + 2558 2785 + 2785 2897 + 2672 2899 + 2786 2785 + 2900 2786 + 2899 2900 + 2560 2787 + 2787 2899 + 2674 2901 + 2788 2787 + 2902 2788 + 2901 2902 + 2562 2789 + 2789 2901 + 2676 2903 + 2790 2789 + 2904 2790 + 2903 2904 + 2564 2791 + 2791 2903 + 2678 2905 + 2792 2791 + 2906 2792 + 2905 2906 + 2566 2793 + 2793 2905 + 2680 2907 + 2794 2793 + 2908 2794 + 2907 2908 + 2568 2795 + 2795 2907 + 2682 2909 + 2796 2795 + 2910 2796 + 2909 2910 + 2570 2797 + 2797 2909 + 2684 2911 + 2798 2797 + 2912 2798 + 2911 2912 + 2572 2799 + 2799 2911 + 2686 2913 + 2800 2799 + 2914 2800 + 2913 2914 + 2574 2801 + 2801 2913 + 2688 2915 + 2802 2801 + 2916 2802 + 2915 2916 + 2576 2803 + 2803 2915 + 2690 2917 + 2804 2803 + 2918 2804 + 2917 2918 + 2578 2805 + 2805 2917 + 2692 2919 + 2806 2805 + 2920 2806 + 2919 2920 + 2580 2807 + 2807 2919 + 2694 2921 + 2808 2807 + 2922 2808 + 2921 2922 + 2582 2809 + 2809 2921 + 2696 2923 + 2810 2809 + 2924 2810 + 2923 2924 + 2584 2811 + 2811 2923 + 2698 2925 + 2812 2811 + 2926 2812 + 2925 2926 + 2586 2813 + 2813 2925 + 2700 2927 + 2814 2813 + 2928 2814 + 2927 2928 + 2588 2815 + 2815 2927 + 2702 2929 + 2816 2815 + 2930 2816 + 2929 2930 + 2590 2817 + 2817 2929 + 2704 2931 + 2818 2817 + 2932 2818 + 2931 2932 + 2592 2819 + 2819 2931 + 2706 2933 + 2820 2819 + 2934 2820 + 2933 2934 + 2594 2821 + 2821 2933 + 2708 2935 + 2822 2821 + 2936 2822 + 2935 2936 + 2596 2823 + 2823 2935 + 2710 2937 + 2824 2823 + 2938 2824 + 2937 2938 + 2598 2825 + 2825 2937 + 2712 2939 + 2826 2825 + 2940 2826 + 2939 2940 + 2600 2827 + 2827 2939 + 2714 2941 + 2828 2827 + 2942 2828 + 2941 2942 + 2602 2829 + 2829 2941 + 2716 2943 + 2830 2829 + 2944 2830 + 2943 2944 + 2604 2831 + 2831 2943 + 2718 2945 + 2832 2831 + 2946 2832 + 2945 2946 + 2606 2833 + 2833 2945 + 2720 2947 + 2834 2833 + 2948 2834 + 2947 2948 + 2608 2835 + 2835 2947 + 2722 2949 + 2836 2835 + 2950 2836 + 2949 2950 + 2610 2837 + 2837 2949 + 2724 2951 + 2838 2837 + 2952 2838 + 2951 2952 + 2612 2839 + 2839 2951 + 2726 2953 + 2840 2839 + 2954 2840 + 2953 2954 + 2614 2841 + 2841 2953 + 2728 2955 + 2842 2841 + 2956 2842 + 2955 2956 + 2616 2843 + 2843 2955 + 2730 2957 + 2844 2843 + 2958 2844 + 2957 2958 + 2618 2845 + 2845 2957 + 2732 2959 + 2846 2845 + 2960 2846 + 2959 2960 + 2620 2847 + 2847 2959 + 2734 2961 + 2848 2847 + 2962 2848 + 2961 2962 + 2622 2849 + 2849 2961 + 2736 2963 + 2850 2849 + 2964 2850 + 2963 2964 + 2738 2965 + 2852 3079 + 2966 2965 + 3080 2966 + 3079 3080 + 2740 2967 + 2967 3079 + 2854 3081 + 2968 2967 + 3082 2968 + 3081 3082 + 2742 2969 + 2969 3081 + 2856 3083 + 2970 2969 + 3084 2970 + 3083 3084 + 2744 2971 + 2971 3083 + 2858 3085 + 2972 2971 + 3086 2972 + 3085 3086 + 2746 2973 + 2973 3085 + 2860 3087 + 2974 2973 + 3088 2974 + 3087 3088 + 2748 2975 + 2975 3087 + 2862 3089 + 2976 2975 + 3090 2976 + 3089 3090 + 2750 2977 + 2977 3089 + 2864 3091 + 2978 2977 + 3092 2978 + 3091 3092 + 2752 2979 + 2979 3091 + 2866 3093 + 2980 2979 + 3094 2980 + 3093 3094 + 2754 2981 + 2981 3093 + 2868 3095 + 2982 2981 + 3096 2982 + 3095 3096 + 2756 2983 + 2983 3095 + 2870 3097 + 2984 2983 + 3098 2984 + 3097 3098 + 2758 2985 + 2985 3097 + 2872 3099 + 2986 2985 + 3100 2986 + 3099 3100 + 2760 2987 + 2987 3099 + 2874 3101 + 2988 2987 + 3102 2988 + 3101 3102 + 2762 2989 + 2989 3101 + 2876 3103 + 2990 2989 + 3104 2990 + 3103 3104 + 2764 2991 + 2991 3103 + 2878 3105 + 2992 2991 + 3106 2992 + 3105 3106 + 2766 2993 + 2993 3105 + 2880 3107 + 2994 2993 + 3108 2994 + 3107 3108 + 2768 2995 + 2995 3107 + 2882 3109 + 2996 2995 + 3110 2996 + 3109 3110 + 2770 2997 + 2997 3109 + 2884 3111 + 2998 2997 + 3112 2998 + 3111 3112 + 2772 2999 + 2999 3111 + 2886 3113 + 3000 2999 + 3114 3000 + 3113 3114 + 2774 3001 + 3001 3113 + 2888 3115 + 3002 3001 + 3116 3002 + 3115 3116 + 2776 3003 + 3003 3115 + 2890 3117 + 3004 3003 + 3118 3004 + 3117 3118 + 2778 3005 + 3005 3117 + 2892 3119 + 3006 3005 + 3120 3006 + 3119 3120 + 2780 3007 + 3007 3119 + 2894 3121 + 3008 3007 + 3122 3008 + 3121 3122 + 2782 3009 + 3009 3121 + 2896 3123 + 3010 3009 + 3124 3010 + 3123 3124 + 2784 3011 + 3011 3123 + 2898 3125 + 3012 3011 + 3126 3012 + 3125 3126 + 2786 3013 + 3013 3125 + 2900 3127 + 3014 3013 + 3128 3014 + 3127 3128 + 2788 3015 + 3015 3127 + 2902 3129 + 3016 3015 + 3130 3016 + 3129 3130 + 2790 3017 + 3017 3129 + 2904 3131 + 3018 3017 + 3132 3018 + 3131 3132 + 2792 3019 + 3019 3131 + 2906 3133 + 3020 3019 + 3134 3020 + 3133 3134 + 2794 3021 + 3021 3133 + 2908 3135 + 3022 3021 + 3136 3022 + 3135 3136 + 2796 3023 + 3023 3135 + 2910 3137 + 3024 3023 + 3138 3024 + 3137 3138 + 2798 3025 + 3025 3137 + 2912 3139 + 3026 3025 + 3140 3026 + 3139 3140 + 2800 3027 + 3027 3139 + 2914 3141 + 3028 3027 + 3142 3028 + 3141 3142 + 2802 3029 + 3029 3141 + 2916 3143 + 3030 3029 + 3144 3030 + 3143 3144 + 2804 3031 + 3031 3143 + 2918 3145 + 3032 3031 + 3146 3032 + 3145 3146 + 2806 3033 + 3033 3145 + 2920 3147 + 3034 3033 + 3148 3034 + 3147 3148 + 2808 3035 + 3035 3147 + 2922 3149 + 3036 3035 + 3150 3036 + 3149 3150 + 2810 3037 + 3037 3149 + 2924 3151 + 3038 3037 + 3152 3038 + 3151 3152 + 2812 3039 + 3039 3151 + 2926 3153 + 3040 3039 + 3154 3040 + 3153 3154 + 2814 3041 + 3041 3153 + 2928 3155 + 3042 3041 + 3156 3042 + 3155 3156 + 2816 3043 + 3043 3155 + 2930 3157 + 3044 3043 + 3158 3044 + 3157 3158 + 2818 3045 + 3045 3157 + 2932 3159 + 3046 3045 + 3160 3046 + 3159 3160 + 2820 3047 + 3047 3159 + 2934 3161 + 3048 3047 + 3162 3048 + 3161 3162 + 2822 3049 + 3049 3161 + 2936 3163 + 3050 3049 + 3164 3050 + 3163 3164 + 2824 3051 + 3051 3163 + 2938 3165 + 3052 3051 + 3166 3052 + 3165 3166 + 2826 3053 + 3053 3165 + 2940 3167 + 3054 3053 + 3168 3054 + 3167 3168 + 2828 3055 + 3055 3167 + 2942 3169 + 3056 3055 + 3170 3056 + 3169 3170 + 2830 3057 + 3057 3169 + 2944 3171 + 3058 3057 + 3172 3058 + 3171 3172 + 2832 3059 + 3059 3171 + 2946 3173 + 3060 3059 + 3174 3060 + 3173 3174 + 2834 3061 + 3061 3173 + 2948 3175 + 3062 3061 + 3176 3062 + 3175 3176 + 2836 3063 + 3063 3175 + 2950 3177 + 3064 3063 + 3178 3064 + 3177 3178 + 2838 3065 + 3065 3177 + 2952 3179 + 3066 3065 + 3180 3066 + 3179 3180 + 2840 3067 + 3067 3179 + 2954 3181 + 3068 3067 + 3182 3068 + 3181 3182 + 2842 3069 + 3069 3181 + 2956 3183 + 3070 3069 + 3184 3070 + 3183 3184 + 2844 3071 + 3071 3183 + 2958 3185 + 3072 3071 + 3186 3072 + 3185 3186 + 2846 3073 + 3073 3185 + 2960 3187 + 3074 3073 + 3188 3074 + 3187 3188 + 2848 3075 + 3075 3187 + 2962 3189 + 3076 3075 + 3190 3076 + 3189 3190 + 2850 3077 + 3077 3189 + 2964 3191 + 3078 3077 + 3192 3078 + 3191 3192 + 2966 3193 + 3080 3307 + 3194 3193 + 3308 3194 + 3307 3308 + 2968 3195 + 3195 3307 + 3082 3309 + 3196 3195 + 3310 3196 + 3309 3310 + 2970 3197 + 3197 3309 + 3084 3311 + 3198 3197 + 3312 3198 + 3311 3312 + 2972 3199 + 3199 3311 + 3086 3313 + 3200 3199 + 3314 3200 + 3313 3314 + 2974 3201 + 3201 3313 + 3088 3315 + 3202 3201 + 3316 3202 + 3315 3316 + 2976 3203 + 3203 3315 + 3090 3317 + 3204 3203 + 3318 3204 + 3317 3318 + 2978 3205 + 3205 3317 + 3092 3319 + 3206 3205 + 3320 3206 + 3319 3320 + 2980 3207 + 3207 3319 + 3094 3321 + 3208 3207 + 3322 3208 + 3321 3322 + 2982 3209 + 3209 3321 + 3096 3323 + 3210 3209 + 3324 3210 + 3323 3324 + 2984 3211 + 3211 3323 + 3098 3325 + 3212 3211 + 3326 3212 + 3325 3326 + 2986 3213 + 3213 3325 + 3100 3327 + 3214 3213 + 3328 3214 + 3327 3328 + 2988 3215 + 3215 3327 + 3102 3329 + 3216 3215 + 3330 3216 + 3329 3330 + 2990 3217 + 3217 3329 + 3104 3331 + 3218 3217 + 3332 3218 + 3331 3332 + 2992 3219 + 3219 3331 + 3106 3333 + 3220 3219 + 3334 3220 + 3333 3334 + 2994 3221 + 3221 3333 + 3108 3335 + 3222 3221 + 3336 3222 + 3335 3336 + 2996 3223 + 3223 3335 + 3110 3337 + 3224 3223 + 3338 3224 + 3337 3338 + 2998 3225 + 3225 3337 + 3112 3339 + 3226 3225 + 3340 3226 + 3339 3340 + 3000 3227 + 3227 3339 + 3114 3341 + 3228 3227 + 3342 3228 + 3341 3342 + 3002 3229 + 3229 3341 + 3116 3343 + 3230 3229 + 3344 3230 + 3343 3344 + 3004 3231 + 3231 3343 + 3118 3345 + 3232 3231 + 3346 3232 + 3345 3346 + 3006 3233 + 3233 3345 + 3120 3347 + 3234 3233 + 3348 3234 + 3347 3348 + 3008 3235 + 3235 3347 + 3122 3349 + 3236 3235 + 3350 3236 + 3349 3350 + 3010 3237 + 3237 3349 + 3124 3351 + 3238 3237 + 3352 3238 + 3351 3352 + 3012 3239 + 3239 3351 + 3126 3353 + 3240 3239 + 3354 3240 + 3353 3354 + 3014 3241 + 3241 3353 + 3128 3355 + 3242 3241 + 3356 3242 + 3355 3356 + 3016 3243 + 3243 3355 + 3130 3357 + 3244 3243 + 3358 3244 + 3357 3358 + 3018 3245 + 3245 3357 + 3132 3359 + 3246 3245 + 3360 3246 + 3359 3360 + 3020 3247 + 3247 3359 + 3134 3361 + 3248 3247 + 3362 3248 + 3361 3362 + 3022 3249 + 3249 3361 + 3136 3363 + 3250 3249 + 3364 3250 + 3363 3364 + 3024 3251 + 3251 3363 + 3138 3365 + 3252 3251 + 3366 3252 + 3365 3366 + 3026 3253 + 3253 3365 + 3140 3367 + 3254 3253 + 3368 3254 + 3367 3368 + 3028 3255 + 3255 3367 + 3142 3369 + 3256 3255 + 3370 3256 + 3369 3370 + 3030 3257 + 3257 3369 + 3144 3371 + 3258 3257 + 3372 3258 + 3371 3372 + 3032 3259 + 3259 3371 + 3146 3373 + 3260 3259 + 3374 3260 + 3373 3374 + 3034 3261 + 3261 3373 + 3148 3375 + 3262 3261 + 3376 3262 + 3375 3376 + 3036 3263 + 3263 3375 + 3150 3377 + 3264 3263 + 3378 3264 + 3377 3378 + 3038 3265 + 3265 3377 + 3152 3379 + 3266 3265 + 3380 3266 + 3379 3380 + 3040 3267 + 3267 3379 + 3154 3381 + 3268 3267 + 3382 3268 + 3381 3382 + 3042 3269 + 3269 3381 + 3156 3383 + 3270 3269 + 3384 3270 + 3383 3384 + 3044 3271 + 3271 3383 + 3158 3385 + 3272 3271 + 3386 3272 + 3385 3386 + 3046 3273 + 3273 3385 + 3160 3387 + 3274 3273 + 3388 3274 + 3387 3388 + 3048 3275 + 3275 3387 + 3162 3389 + 3276 3275 + 3390 3276 + 3389 3390 + 3050 3277 + 3277 3389 + 3164 3391 + 3278 3277 + 3392 3278 + 3391 3392 + 3052 3279 + 3279 3391 + 3166 3393 + 3280 3279 + 3394 3280 + 3393 3394 + 3054 3281 + 3281 3393 + 3168 3395 + 3282 3281 + 3396 3282 + 3395 3396 + 3056 3283 + 3283 3395 + 3170 3397 + 3284 3283 + 3398 3284 + 3397 3398 + 3058 3285 + 3285 3397 + 3172 3399 + 3286 3285 + 3400 3286 + 3399 3400 + 3060 3287 + 3287 3399 + 3174 3401 + 3288 3287 + 3402 3288 + 3401 3402 + 3062 3289 + 3289 3401 + 3176 3403 + 3290 3289 + 3404 3290 + 3403 3404 + 3064 3291 + 3291 3403 + 3178 3405 + 3292 3291 + 3406 3292 + 3405 3406 + 3066 3293 + 3293 3405 + 3180 3407 + 3294 3293 + 3408 3294 + 3407 3408 + 3068 3295 + 3295 3407 + 3182 3409 + 3296 3295 + 3410 3296 + 3409 3410 + 3070 3297 + 3297 3409 + 3184 3411 + 3298 3297 + 3412 3298 + 3411 3412 + 3072 3299 + 3299 3411 + 3186 3413 + 3300 3299 + 3414 3300 + 3413 3414 + 3074 3301 + 3301 3413 + 3188 3415 + 3302 3301 + 3416 3302 + 3415 3416 + 3076 3303 + 3303 3415 + 3190 3417 + 3304 3303 + 3418 3304 + 3417 3418 + 3078 3305 + 3305 3417 + 3192 3419 + 3306 3305 + 3420 3306 + 3419 3420 + 3194 3421 + 3308 3535 + 3422 3421 + 3536 3422 + 3535 3536 + 3196 3423 + 3423 3535 + 3310 3537 + 3424 3423 + 3538 3424 + 3537 3538 + 3198 3425 + 3425 3537 + 3312 3539 + 3426 3425 + 3540 3426 + 3539 3540 + 3200 3427 + 3427 3539 + 3314 3541 + 3428 3427 + 3542 3428 + 3541 3542 + 3202 3429 + 3429 3541 + 3316 3543 + 3430 3429 + 3544 3430 + 3543 3544 + 3204 3431 + 3431 3543 + 3318 3545 + 3432 3431 + 3546 3432 + 3545 3546 + 3206 3433 + 3433 3545 + 3320 3547 + 3434 3433 + 3548 3434 + 3547 3548 + 3208 3435 + 3435 3547 + 3322 3549 + 3436 3435 + 3550 3436 + 3549 3550 + 3210 3437 + 3437 3549 + 3324 3551 + 3438 3437 + 3552 3438 + 3551 3552 + 3212 3439 + 3439 3551 + 3326 3553 + 3440 3439 + 3554 3440 + 3553 3554 + 3214 3441 + 3441 3553 + 3328 3555 + 3442 3441 + 3556 3442 + 3555 3556 + 3216 3443 + 3443 3555 + 3330 3557 + 3444 3443 + 3558 3444 + 3557 3558 + 3218 3445 + 3445 3557 + 3332 3559 + 3446 3445 + 3560 3446 + 3559 3560 + 3220 3447 + 3447 3559 + 3334 3561 + 3448 3447 + 3562 3448 + 3561 3562 + 3222 3449 + 3449 3561 + 3336 3563 + 3450 3449 + 3564 3450 + 3563 3564 + 3224 3451 + 3451 3563 + 3338 3565 + 3452 3451 + 3566 3452 + 3565 3566 + 3226 3453 + 3453 3565 + 3340 3567 + 3454 3453 + 3568 3454 + 3567 3568 + 3228 3455 + 3455 3567 + 3342 3569 + 3456 3455 + 3570 3456 + 3569 3570 + 3230 3457 + 3457 3569 + 3344 3571 + 3458 3457 + 3572 3458 + 3571 3572 + 3232 3459 + 3459 3571 + 3346 3573 + 3460 3459 + 3574 3460 + 3573 3574 + 3234 3461 + 3461 3573 + 3348 3575 + 3462 3461 + 3576 3462 + 3575 3576 + 3236 3463 + 3463 3575 + 3350 3577 + 3464 3463 + 3578 3464 + 3577 3578 + 3238 3465 + 3465 3577 + 3352 3579 + 3466 3465 + 3580 3466 + 3579 3580 + 3240 3467 + 3467 3579 + 3354 3581 + 3468 3467 + 3582 3468 + 3581 3582 + 3242 3469 + 3469 3581 + 3356 3583 + 3470 3469 + 3584 3470 + 3583 3584 + 3244 3471 + 3471 3583 + 3358 3585 + 3472 3471 + 3586 3472 + 3585 3586 + 3246 3473 + 3473 3585 + 3360 3587 + 3474 3473 + 3588 3474 + 3587 3588 + 3248 3475 + 3475 3587 + 3362 3589 + 3476 3475 + 3590 3476 + 3589 3590 + 3250 3477 + 3477 3589 + 3364 3591 + 3478 3477 + 3592 3478 + 3591 3592 + 3252 3479 + 3479 3591 + 3366 3593 + 3480 3479 + 3594 3480 + 3593 3594 + 3254 3481 + 3481 3593 + 3368 3595 + 3482 3481 + 3596 3482 + 3595 3596 + 3256 3483 + 3483 3595 + 3370 3597 + 3484 3483 + 3598 3484 + 3597 3598 + 3258 3485 + 3485 3597 + 3372 3599 + 3486 3485 + 3600 3486 + 3599 3600 + 3260 3487 + 3487 3599 + 3374 3601 + 3488 3487 + 3602 3488 + 3601 3602 + 3262 3489 + 3489 3601 + 3376 3603 + 3490 3489 + 3604 3490 + 3603 3604 + 3264 3491 + 3491 3603 + 3378 3605 + 3492 3491 + 3606 3492 + 3605 3606 + 3266 3493 + 3493 3605 + 3380 3607 + 3494 3493 + 3608 3494 + 3607 3608 + 3268 3495 + 3495 3607 + 3382 3609 + 3496 3495 + 3610 3496 + 3609 3610 + 3270 3497 + 3497 3609 + 3384 3611 + 3498 3497 + 3612 3498 + 3611 3612 + 3272 3499 + 3499 3611 + 3386 3613 + 3500 3499 + 3614 3500 + 3613 3614 + 3274 3501 + 3501 3613 + 3388 3615 + 3502 3501 + 3616 3502 + 3615 3616 + 3276 3503 + 3503 3615 + 3390 3617 + 3504 3503 + 3618 3504 + 3617 3618 + 3278 3505 + 3505 3617 + 3392 3619 + 3506 3505 + 3620 3506 + 3619 3620 + 3280 3507 + 3507 3619 + 3394 3621 + 3508 3507 + 3622 3508 + 3621 3622 + 3282 3509 + 3509 3621 + 3396 3623 + 3510 3509 + 3624 3510 + 3623 3624 + 3284 3511 + 3511 3623 + 3398 3625 + 3512 3511 + 3626 3512 + 3625 3626 + 3286 3513 + 3513 3625 + 3400 3627 + 3514 3513 + 3628 3514 + 3627 3628 + 3288 3515 + 3515 3627 + 3402 3629 + 3516 3515 + 3630 3516 + 3629 3630 + 3290 3517 + 3517 3629 + 3404 3631 + 3518 3517 + 3632 3518 + 3631 3632 + 3292 3519 + 3519 3631 + 3406 3633 + 3520 3519 + 3634 3520 + 3633 3634 + 3294 3521 + 3521 3633 + 3408 3635 + 3522 3521 + 3636 3522 + 3635 3636 + 3296 3523 + 3523 3635 + 3410 3637 + 3524 3523 + 3638 3524 + 3637 3638 + 3298 3525 + 3525 3637 + 3412 3639 + 3526 3525 + 3640 3526 + 3639 3640 + 3300 3527 + 3527 3639 + 3414 3641 + 3528 3527 + 3642 3528 + 3641 3642 + 3302 3529 + 3529 3641 + 3416 3643 + 3530 3529 + 3644 3530 + 3643 3644 + 3304 3531 + 3531 3643 + 3418 3645 + 3532 3531 + 3646 3532 + 3645 3646 + 3306 3533 + 3533 3645 + 3420 3647 + 3534 3533 + 3648 3534 + 3647 3648 + 3422 3649 + 3536 3763 + 3650 3649 + 3764 3650 + 3763 3764 + 3424 3651 + 3651 3763 + 3538 3765 + 3652 3651 + 3766 3652 + 3765 3766 + 3426 3653 + 3653 3765 + 3540 3767 + 3654 3653 + 3768 3654 + 3767 3768 + 3428 3655 + 3655 3767 + 3542 3769 + 3656 3655 + 3770 3656 + 3769 3770 + 3430 3657 + 3657 3769 + 3544 3771 + 3658 3657 + 3772 3658 + 3771 3772 + 3432 3659 + 3659 3771 + 3546 3773 + 3660 3659 + 3774 3660 + 3773 3774 + 3434 3661 + 3661 3773 + 3548 3775 + 3662 3661 + 3776 3662 + 3775 3776 + 3436 3663 + 3663 3775 + 3550 3777 + 3664 3663 + 3778 3664 + 3777 3778 + 3438 3665 + 3665 3777 + 3552 3779 + 3666 3665 + 3780 3666 + 3779 3780 + 3440 3667 + 3667 3779 + 3554 3781 + 3668 3667 + 3782 3668 + 3781 3782 + 3442 3669 + 3669 3781 + 3556 3783 + 3670 3669 + 3784 3670 + 3783 3784 + 3444 3671 + 3671 3783 + 3558 3785 + 3672 3671 + 3786 3672 + 3785 3786 + 3446 3673 + 3673 3785 + 3560 3787 + 3674 3673 + 3788 3674 + 3787 3788 + 3448 3675 + 3675 3787 + 3562 3789 + 3676 3675 + 3790 3676 + 3789 3790 + 3450 3677 + 3677 3789 + 3564 3791 + 3678 3677 + 3792 3678 + 3791 3792 + 3452 3679 + 3679 3791 + 3566 3793 + 3680 3679 + 3794 3680 + 3793 3794 + 3454 3681 + 3681 3793 + 3568 3795 + 3682 3681 + 3796 3682 + 3795 3796 + 3456 3683 + 3683 3795 + 3570 3797 + 3684 3683 + 3798 3684 + 3797 3798 + 3458 3685 + 3685 3797 + 3572 3799 + 3686 3685 + 3800 3686 + 3799 3800 + 3460 3687 + 3687 3799 + 3574 3801 + 3688 3687 + 3802 3688 + 3801 3802 + 3462 3689 + 3689 3801 + 3576 3803 + 3690 3689 + 3804 3690 + 3803 3804 + 3464 3691 + 3691 3803 + 3578 3805 + 3692 3691 + 3806 3692 + 3805 3806 + 3466 3693 + 3693 3805 + 3580 3807 + 3694 3693 + 3808 3694 + 3807 3808 + 3468 3695 + 3695 3807 + 3582 3809 + 3696 3695 + 3810 3696 + 3809 3810 + 3470 3697 + 3697 3809 + 3584 3811 + 3698 3697 + 3812 3698 + 3811 3812 + 3472 3699 + 3699 3811 + 3586 3813 + 3700 3699 + 3814 3700 + 3813 3814 + 3474 3701 + 3701 3813 + 3588 3815 + 3702 3701 + 3816 3702 + 3815 3816 + 3476 3703 + 3703 3815 + 3590 3817 + 3704 3703 + 3818 3704 + 3817 3818 + 3478 3705 + 3705 3817 + 3592 3819 + 3706 3705 + 3820 3706 + 3819 3820 + 3480 3707 + 3707 3819 + 3594 3821 + 3708 3707 + 3822 3708 + 3821 3822 + 3482 3709 + 3709 3821 + 3596 3823 + 3710 3709 + 3824 3710 + 3823 3824 + 3484 3711 + 3711 3823 + 3598 3825 + 3712 3711 + 3826 3712 + 3825 3826 + 3486 3713 + 3713 3825 + 3600 3827 + 3714 3713 + 3828 3714 + 3827 3828 + 3488 3715 + 3715 3827 + 3602 3829 + 3716 3715 + 3830 3716 + 3829 3830 + 3490 3717 + 3717 3829 + 3604 3831 + 3718 3717 + 3832 3718 + 3831 3832 + 3492 3719 + 3719 3831 + 3606 3833 + 3720 3719 + 3834 3720 + 3833 3834 + 3494 3721 + 3721 3833 + 3608 3835 + 3722 3721 + 3836 3722 + 3835 3836 + 3496 3723 + 3723 3835 + 3610 3837 + 3724 3723 + 3838 3724 + 3837 3838 + 3498 3725 + 3725 3837 + 3612 3839 + 3726 3725 + 3840 3726 + 3839 3840 + 3500 3727 + 3727 3839 + 3614 3841 + 3728 3727 + 3842 3728 + 3841 3842 + 3502 3729 + 3729 3841 + 3616 3843 + 3730 3729 + 3844 3730 + 3843 3844 + 3504 3731 + 3731 3843 + 3618 3845 + 3732 3731 + 3846 3732 + 3845 3846 + 3506 3733 + 3733 3845 + 3620 3847 + 3734 3733 + 3848 3734 + 3847 3848 + 3508 3735 + 3735 3847 + 3622 3849 + 3736 3735 + 3850 3736 + 3849 3850 + 3510 3737 + 3737 3849 + 3624 3851 + 3738 3737 + 3852 3738 + 3851 3852 + 3512 3739 + 3739 3851 + 3626 3853 + 3740 3739 + 3854 3740 + 3853 3854 + 3514 3741 + 3741 3853 + 3628 3855 + 3742 3741 + 3856 3742 + 3855 3856 + 3516 3743 + 3743 3855 + 3630 3857 + 3744 3743 + 3858 3744 + 3857 3858 + 3518 3745 + 3745 3857 + 3632 3859 + 3746 3745 + 3860 3746 + 3859 3860 + 3520 3747 + 3747 3859 + 3634 3861 + 3748 3747 + 3862 3748 + 3861 3862 + 3522 3749 + 3749 3861 + 3636 3863 + 3750 3749 + 3864 3750 + 3863 3864 + 3524 3751 + 3751 3863 + 3638 3865 + 3752 3751 + 3866 3752 + 3865 3866 + 3526 3753 + 3753 3865 + 3640 3867 + 3754 3753 + 3868 3754 + 3867 3868 + 3528 3755 + 3755 3867 + 3642 3869 + 3756 3755 + 3870 3756 + 3869 3870 + 3530 3757 + 3757 3869 + 3644 3871 + 3758 3757 + 3872 3758 + 3871 3872 + 3532 3759 + 3759 3871 + 3646 3873 + 3760 3759 + 3874 3760 + 3873 3874 + 3534 3761 + 3761 3873 + 3648 3875 + 3762 3761 + 3876 3762 + 3875 3876 + 3650 3877 + 3764 3991 + 3878 3877 + 3992 3878 + 3991 3992 + 3652 3879 + 3879 3991 + 3766 3993 + 3880 3879 + 3994 3880 + 3993 3994 + 3654 3881 + 3881 3993 + 3768 3995 + 3882 3881 + 3996 3882 + 3995 3996 + 3656 3883 + 3883 3995 + 3770 3997 + 3884 3883 + 3998 3884 + 3997 3998 + 3658 3885 + 3885 3997 + 3772 3999 + 3886 3885 + 4000 3886 + 3999 4000 + 3660 3887 + 3887 3999 + 3774 4001 + 3888 3887 + 4002 3888 + 4001 4002 + 3662 3889 + 3889 4001 + 3776 4003 + 3890 3889 + 4004 3890 + 4003 4004 + 3664 3891 + 3891 4003 + 3778 4005 + 3892 3891 + 4006 3892 + 4005 4006 + 3666 3893 + 3893 4005 + 3780 4007 + 3894 3893 + 4008 3894 + 4007 4008 + 3668 3895 + 3895 4007 + 3782 4009 + 3896 3895 + 4010 3896 + 4009 4010 + 3670 3897 + 3897 4009 + 3784 4011 + 3898 3897 + 4012 3898 + 4011 4012 + 3672 3899 + 3899 4011 + 3786 4013 + 3900 3899 + 4014 3900 + 4013 4014 + 3674 3901 + 3901 4013 + 3788 4015 + 3902 3901 + 4016 3902 + 4015 4016 + 3676 3903 + 3903 4015 + 3790 4017 + 3904 3903 + 4018 3904 + 4017 4018 + 3678 3905 + 3905 4017 + 3792 4019 + 3906 3905 + 4020 3906 + 4019 4020 + 3680 3907 + 3907 4019 + 3794 4021 + 3908 3907 + 4022 3908 + 4021 4022 + 3682 3909 + 3909 4021 + 3796 4023 + 3910 3909 + 4024 3910 + 4023 4024 + 3684 3911 + 3911 4023 + 3798 4025 + 3912 3911 + 4026 3912 + 4025 4026 + 3686 3913 + 3913 4025 + 3800 4027 + 3914 3913 + 4028 3914 + 4027 4028 + 3688 3915 + 3915 4027 + 3802 4029 + 3916 3915 + 4030 3916 + 4029 4030 + 3690 3917 + 3917 4029 + 3804 4031 + 3918 3917 + 4032 3918 + 4031 4032 + 3692 3919 + 3919 4031 + 3806 4033 + 3920 3919 + 4034 3920 + 4033 4034 + 3694 3921 + 3921 4033 + 3808 4035 + 3922 3921 + 4036 3922 + 4035 4036 + 3696 3923 + 3923 4035 + 3810 4037 + 3924 3923 + 4038 3924 + 4037 4038 + 3698 3925 + 3925 4037 + 3812 4039 + 3926 3925 + 4040 3926 + 4039 4040 + 3700 3927 + 3927 4039 + 3814 4041 + 3928 3927 + 4042 3928 + 4041 4042 + 3702 3929 + 3929 4041 + 3816 4043 + 3930 3929 + 4044 3930 + 4043 4044 + 3704 3931 + 3931 4043 + 3818 4045 + 3932 3931 + 4046 3932 + 4045 4046 + 3706 3933 + 3933 4045 + 3820 4047 + 3934 3933 + 4048 3934 + 4047 4048 + 3708 3935 + 3935 4047 + 3822 4049 + 3936 3935 + 4050 3936 + 4049 4050 + 3710 3937 + 3937 4049 + 3824 4051 + 3938 3937 + 4052 3938 + 4051 4052 + 3712 3939 + 3939 4051 + 3826 4053 + 3940 3939 + 4054 3940 + 4053 4054 + 3714 3941 + 3941 4053 + 3828 4055 + 3942 3941 + 4056 3942 + 4055 4056 + 3716 3943 + 3943 4055 + 3830 4057 + 3944 3943 + 4058 3944 + 4057 4058 + 3718 3945 + 3945 4057 + 3832 4059 + 3946 3945 + 4060 3946 + 4059 4060 + 3720 3947 + 3947 4059 + 3834 4061 + 3948 3947 + 4062 3948 + 4061 4062 + 3722 3949 + 3949 4061 + 3836 4063 + 3950 3949 + 4064 3950 + 4063 4064 + 3724 3951 + 3951 4063 + 3838 4065 + 3952 3951 + 4066 3952 + 4065 4066 + 3726 3953 + 3953 4065 + 3840 4067 + 3954 3953 + 4068 3954 + 4067 4068 + 3728 3955 + 3955 4067 + 3842 4069 + 3956 3955 + 4070 3956 + 4069 4070 + 3730 3957 + 3957 4069 + 3844 4071 + 3958 3957 + 4072 3958 + 4071 4072 + 3732 3959 + 3959 4071 + 3846 4073 + 3960 3959 + 4074 3960 + 4073 4074 + 3734 3961 + 3961 4073 + 3848 4075 + 3962 3961 + 4076 3962 + 4075 4076 + 3736 3963 + 3963 4075 + 3850 4077 + 3964 3963 + 4078 3964 + 4077 4078 + 3738 3965 + 3965 4077 + 3852 4079 + 3966 3965 + 4080 3966 + 4079 4080 + 3740 3967 + 3967 4079 + 3854 4081 + 3968 3967 + 4082 3968 + 4081 4082 + 3742 3969 + 3969 4081 + 3856 4083 + 3970 3969 + 4084 3970 + 4083 4084 + 3744 3971 + 3971 4083 + 3858 4085 + 3972 3971 + 4086 3972 + 4085 4086 + 3746 3973 + 3973 4085 + 3860 4087 + 3974 3973 + 4088 3974 + 4087 4088 + 3748 3975 + 3975 4087 + 3862 4089 + 3976 3975 + 4090 3976 + 4089 4090 + 3750 3977 + 3977 4089 + 3864 4091 + 3978 3977 + 4092 3978 + 4091 4092 + 3752 3979 + 3979 4091 + 3866 4093 + 3980 3979 + 4094 3980 + 4093 4094 + 3754 3981 + 3981 4093 + 3868 4095 + 3982 3981 + 4096 3982 + 4095 4096 + 3756 3983 + 3983 4095 + 3870 4097 + 3984 3983 + 4098 3984 + 4097 4098 + 3758 3985 + 3985 4097 + 3872 4099 + 3986 3985 + 4100 3986 + 4099 4100 + 3760 3987 + 3987 4099 + 3874 4101 + 3988 3987 + 4102 3988 + 4101 4102 + 3762 3989 + 3989 4101 + 3876 4103 + 3990 3989 + 4104 3990 + 4103 4104 + 3878 4105 + 3992 4219 + 4106 4105 + 4220 4106 + 4219 4220 + 3880 4107 + 4107 4219 + 3994 4221 + 4108 4107 + 4222 4108 + 4221 4222 + 3882 4109 + 4109 4221 + 3996 4223 + 4110 4109 + 4224 4110 + 4223 4224 + 3884 4111 + 4111 4223 + 3998 4225 + 4112 4111 + 4226 4112 + 4225 4226 + 3886 4113 + 4113 4225 + 4000 4227 + 4114 4113 + 4228 4114 + 4227 4228 + 3888 4115 + 4115 4227 + 4002 4229 + 4116 4115 + 4230 4116 + 4229 4230 + 3890 4117 + 4117 4229 + 4004 4231 + 4118 4117 + 4232 4118 + 4231 4232 + 3892 4119 + 4119 4231 + 4006 4233 + 4120 4119 + 4234 4120 + 4233 4234 + 3894 4121 + 4121 4233 + 4008 4235 + 4122 4121 + 4236 4122 + 4235 4236 + 3896 4123 + 4123 4235 + 4010 4237 + 4124 4123 + 4238 4124 + 4237 4238 + 3898 4125 + 4125 4237 + 4012 4239 + 4126 4125 + 4240 4126 + 4239 4240 + 3900 4127 + 4127 4239 + 4014 4241 + 4128 4127 + 4242 4128 + 4241 4242 + 3902 4129 + 4129 4241 + 4016 4243 + 4130 4129 + 4244 4130 + 4243 4244 + 3904 4131 + 4131 4243 + 4018 4245 + 4132 4131 + 4246 4132 + 4245 4246 + 3906 4133 + 4133 4245 + 4020 4247 + 4134 4133 + 4248 4134 + 4247 4248 + 3908 4135 + 4135 4247 + 4022 4249 + 4136 4135 + 4250 4136 + 4249 4250 + 3910 4137 + 4137 4249 + 4024 4251 + 4138 4137 + 4252 4138 + 4251 4252 + 3912 4139 + 4139 4251 + 4026 4253 + 4140 4139 + 4254 4140 + 4253 4254 + 3914 4141 + 4141 4253 + 4028 4255 + 4142 4141 + 4256 4142 + 4255 4256 + 3916 4143 + 4143 4255 + 4030 4257 + 4144 4143 + 4258 4144 + 4257 4258 + 3918 4145 + 4145 4257 + 4032 4259 + 4146 4145 + 4260 4146 + 4259 4260 + 3920 4147 + 4147 4259 + 4034 4261 + 4148 4147 + 4262 4148 + 4261 4262 + 3922 4149 + 4149 4261 + 4036 4263 + 4150 4149 + 4264 4150 + 4263 4264 + 3924 4151 + 4151 4263 + 4038 4265 + 4152 4151 + 4266 4152 + 4265 4266 + 3926 4153 + 4153 4265 + 4040 4267 + 4154 4153 + 4268 4154 + 4267 4268 + 3928 4155 + 4155 4267 + 4042 4269 + 4156 4155 + 4270 4156 + 4269 4270 + 3930 4157 + 4157 4269 + 4044 4271 + 4158 4157 + 4272 4158 + 4271 4272 + 3932 4159 + 4159 4271 + 4046 4273 + 4160 4159 + 4274 4160 + 4273 4274 + 3934 4161 + 4161 4273 + 4048 4275 + 4162 4161 + 4276 4162 + 4275 4276 + 3936 4163 + 4163 4275 + 4050 4277 + 4164 4163 + 4278 4164 + 4277 4278 + 3938 4165 + 4165 4277 + 4052 4279 + 4166 4165 + 4280 4166 + 4279 4280 + 3940 4167 + 4167 4279 + 4054 4281 + 4168 4167 + 4282 4168 + 4281 4282 + 3942 4169 + 4169 4281 + 4056 4283 + 4170 4169 + 4284 4170 + 4283 4284 + 3944 4171 + 4171 4283 + 4058 4285 + 4172 4171 + 4286 4172 + 4285 4286 + 3946 4173 + 4173 4285 + 4060 4287 + 4174 4173 + 4288 4174 + 4287 4288 + 3948 4175 + 4175 4287 + 4062 4289 + 4176 4175 + 4290 4176 + 4289 4290 + 3950 4177 + 4177 4289 + 4064 4291 + 4178 4177 + 4292 4178 + 4291 4292 + 3952 4179 + 4179 4291 + 4066 4293 + 4180 4179 + 4294 4180 + 4293 4294 + 3954 4181 + 4181 4293 + 4068 4295 + 4182 4181 + 4296 4182 + 4295 4296 + 3956 4183 + 4183 4295 + 4070 4297 + 4184 4183 + 4298 4184 + 4297 4298 + 3958 4185 + 4185 4297 + 4072 4299 + 4186 4185 + 4300 4186 + 4299 4300 + 3960 4187 + 4187 4299 + 4074 4301 + 4188 4187 + 4302 4188 + 4301 4302 + 3962 4189 + 4189 4301 + 4076 4303 + 4190 4189 + 4304 4190 + 4303 4304 + 3964 4191 + 4191 4303 + 4078 4305 + 4192 4191 + 4306 4192 + 4305 4306 + 3966 4193 + 4193 4305 + 4080 4307 + 4194 4193 + 4308 4194 + 4307 4308 + 3968 4195 + 4195 4307 + 4082 4309 + 4196 4195 + 4310 4196 + 4309 4310 + 3970 4197 + 4197 4309 + 4084 4311 + 4198 4197 + 4312 4198 + 4311 4312 + 3972 4199 + 4199 4311 + 4086 4313 + 4200 4199 + 4314 4200 + 4313 4314 + 3974 4201 + 4201 4313 + 4088 4315 + 4202 4201 + 4316 4202 + 4315 4316 + 3976 4203 + 4203 4315 + 4090 4317 + 4204 4203 + 4318 4204 + 4317 4318 + 3978 4205 + 4205 4317 + 4092 4319 + 4206 4205 + 4320 4206 + 4319 4320 + 3980 4207 + 4207 4319 + 4094 4321 + 4208 4207 + 4322 4208 + 4321 4322 + 3982 4209 + 4209 4321 + 4096 4323 + 4210 4209 + 4324 4210 + 4323 4324 + 3984 4211 + 4211 4323 + 4098 4325 + 4212 4211 + 4326 4212 + 4325 4326 + 3986 4213 + 4213 4325 + 4100 4327 + 4214 4213 + 4328 4214 + 4327 4328 + 3988 4215 + 4215 4327 + 4102 4329 + 4216 4215 + 4330 4216 + 4329 4330 + 3990 4217 + 4217 4329 + 4104 4331 + 4218 4217 + 4332 4218 + 4331 4332 + 4106 4333 + 4220 4447 + 4334 4333 + 4448 4334 + 4447 4448 + 4108 4335 + 4335 4447 + 4222 4449 + 4336 4335 + 4450 4336 + 4449 4450 + 4110 4337 + 4337 4449 + 4224 4451 + 4338 4337 + 4452 4338 + 4451 4452 + 4112 4339 + 4339 4451 + 4226 4453 + 4340 4339 + 4454 4340 + 4453 4454 + 4114 4341 + 4341 4453 + 4228 4455 + 4342 4341 + 4456 4342 + 4455 4456 + 4116 4343 + 4343 4455 + 4230 4457 + 4344 4343 + 4458 4344 + 4457 4458 + 4118 4345 + 4345 4457 + 4232 4459 + 4346 4345 + 4460 4346 + 4459 4460 + 4120 4347 + 4347 4459 + 4234 4461 + 4348 4347 + 4462 4348 + 4461 4462 + 4122 4349 + 4349 4461 + 4236 4463 + 4350 4349 + 4464 4350 + 4463 4464 + 4124 4351 + 4351 4463 + 4238 4465 + 4352 4351 + 4466 4352 + 4465 4466 + 4126 4353 + 4353 4465 + 4240 4467 + 4354 4353 + 4468 4354 + 4467 4468 + 4128 4355 + 4355 4467 + 4242 4469 + 4356 4355 + 4470 4356 + 4469 4470 + 4130 4357 + 4357 4469 + 4244 4471 + 4358 4357 + 4472 4358 + 4471 4472 + 4132 4359 + 4359 4471 + 4246 4473 + 4360 4359 + 4474 4360 + 4473 4474 + 4134 4361 + 4361 4473 + 4248 4475 + 4362 4361 + 4476 4362 + 4475 4476 + 4136 4363 + 4363 4475 + 4250 4477 + 4364 4363 + 4478 4364 + 4477 4478 + 4138 4365 + 4365 4477 + 4252 4479 + 4366 4365 + 4480 4366 + 4479 4480 + 4140 4367 + 4367 4479 + 4254 4481 + 4368 4367 + 4482 4368 + 4481 4482 + 4142 4369 + 4369 4481 + 4256 4483 + 4370 4369 + 4484 4370 + 4483 4484 + 4144 4371 + 4371 4483 + 4258 4485 + 4372 4371 + 4486 4372 + 4485 4486 + 4146 4373 + 4373 4485 + 4260 4487 + 4374 4373 + 4488 4374 + 4487 4488 + 4148 4375 + 4375 4487 + 4262 4489 + 4376 4375 + 4490 4376 + 4489 4490 + 4150 4377 + 4377 4489 + 4264 4491 + 4378 4377 + 4492 4378 + 4491 4492 + 4152 4379 + 4379 4491 + 4266 4493 + 4380 4379 + 4494 4380 + 4493 4494 + 4154 4381 + 4381 4493 + 4268 4495 + 4382 4381 + 4496 4382 + 4495 4496 + 4156 4383 + 4383 4495 + 4270 4497 + 4384 4383 + 4498 4384 + 4497 4498 + 4158 4385 + 4385 4497 + 4272 4499 + 4386 4385 + 4500 4386 + 4499 4500 + 4160 4387 + 4387 4499 + 4274 4501 + 4388 4387 + 4502 4388 + 4501 4502 + 4162 4389 + 4389 4501 + 4276 4503 + 4390 4389 + 4504 4390 + 4503 4504 + 4164 4391 + 4391 4503 + 4278 4505 + 4392 4391 + 4506 4392 + 4505 4506 + 4166 4393 + 4393 4505 + 4280 4507 + 4394 4393 + 4508 4394 + 4507 4508 + 4168 4395 + 4395 4507 + 4282 4509 + 4396 4395 + 4510 4396 + 4509 4510 + 4170 4397 + 4397 4509 + 4284 4511 + 4398 4397 + 4512 4398 + 4511 4512 + 4172 4399 + 4399 4511 + 4286 4513 + 4400 4399 + 4514 4400 + 4513 4514 + 4174 4401 + 4401 4513 + 4288 4515 + 4402 4401 + 4516 4402 + 4515 4516 + 4176 4403 + 4403 4515 + 4290 4517 + 4404 4403 + 4518 4404 + 4517 4518 + 4178 4405 + 4405 4517 + 4292 4519 + 4406 4405 + 4520 4406 + 4519 4520 + 4180 4407 + 4407 4519 + 4294 4521 + 4408 4407 + 4522 4408 + 4521 4522 + 4182 4409 + 4409 4521 + 4296 4523 + 4410 4409 + 4524 4410 + 4523 4524 + 4184 4411 + 4411 4523 + 4298 4525 + 4412 4411 + 4526 4412 + 4525 4526 + 4186 4413 + 4413 4525 + 4300 4527 + 4414 4413 + 4528 4414 + 4527 4528 + 4188 4415 + 4415 4527 + 4302 4529 + 4416 4415 + 4530 4416 + 4529 4530 + 4190 4417 + 4417 4529 + 4304 4531 + 4418 4417 + 4532 4418 + 4531 4532 + 4192 4419 + 4419 4531 + 4306 4533 + 4420 4419 + 4534 4420 + 4533 4534 + 4194 4421 + 4421 4533 + 4308 4535 + 4422 4421 + 4536 4422 + 4535 4536 + 4196 4423 + 4423 4535 + 4310 4537 + 4424 4423 + 4538 4424 + 4537 4538 + 4198 4425 + 4425 4537 + 4312 4539 + 4426 4425 + 4540 4426 + 4539 4540 + 4200 4427 + 4427 4539 + 4314 4541 + 4428 4427 + 4542 4428 + 4541 4542 + 4202 4429 + 4429 4541 + 4316 4543 + 4430 4429 + 4544 4430 + 4543 4544 + 4204 4431 + 4431 4543 + 4318 4545 + 4432 4431 + 4546 4432 + 4545 4546 + 4206 4433 + 4433 4545 + 4320 4547 + 4434 4433 + 4548 4434 + 4547 4548 + 4208 4435 + 4435 4547 + 4322 4549 + 4436 4435 + 4550 4436 + 4549 4550 + 4210 4437 + 4437 4549 + 4324 4551 + 4438 4437 + 4552 4438 + 4551 4552 + 4212 4439 + 4439 4551 + 4326 4553 + 4440 4439 + 4554 4440 + 4553 4554 + 4214 4441 + 4441 4553 + 4328 4555 + 4442 4441 + 4556 4442 + 4555 4556 + 4216 4443 + 4443 4555 + 4330 4557 + 4444 4443 + 4558 4444 + 4557 4558 + 4218 4445 + 4445 4557 + 4332 4559 + 4446 4445 + 4560 4446 + 4559 4560 + 4334 4561 + 4448 4675 + 4562 4561 + 4676 4562 + 4675 4676 + 4336 4563 + 4563 4675 + 4450 4677 + 4564 4563 + 4678 4564 + 4677 4678 + 4338 4565 + 4565 4677 + 4452 4679 + 4566 4565 + 4680 4566 + 4679 4680 + 4340 4567 + 4567 4679 + 4454 4681 + 4568 4567 + 4682 4568 + 4681 4682 + 4342 4569 + 4569 4681 + 4456 4683 + 4570 4569 + 4684 4570 + 4683 4684 + 4344 4571 + 4571 4683 + 4458 4685 + 4572 4571 + 4686 4572 + 4685 4686 + 4346 4573 + 4573 4685 + 4460 4687 + 4574 4573 + 4688 4574 + 4687 4688 + 4348 4575 + 4575 4687 + 4462 4689 + 4576 4575 + 4690 4576 + 4689 4690 + 4350 4577 + 4577 4689 + 4464 4691 + 4578 4577 + 4692 4578 + 4691 4692 + 4352 4579 + 4579 4691 + 4466 4693 + 4580 4579 + 4694 4580 + 4693 4694 + 4354 4581 + 4581 4693 + 4468 4695 + 4582 4581 + 4696 4582 + 4695 4696 + 4356 4583 + 4583 4695 + 4470 4697 + 4584 4583 + 4698 4584 + 4697 4698 + 4358 4585 + 4585 4697 + 4472 4699 + 4586 4585 + 4700 4586 + 4699 4700 + 4360 4587 + 4587 4699 + 4474 4701 + 4588 4587 + 4702 4588 + 4701 4702 + 4362 4589 + 4589 4701 + 4476 4703 + 4590 4589 + 4704 4590 + 4703 4704 + 4364 4591 + 4591 4703 + 4478 4705 + 4592 4591 + 4706 4592 + 4705 4706 + 4366 4593 + 4593 4705 + 4480 4707 + 4594 4593 + 4708 4594 + 4707 4708 + 4368 4595 + 4595 4707 + 4482 4709 + 4596 4595 + 4710 4596 + 4709 4710 + 4370 4597 + 4597 4709 + 4484 4711 + 4598 4597 + 4712 4598 + 4711 4712 + 4372 4599 + 4599 4711 + 4486 4713 + 4600 4599 + 4714 4600 + 4713 4714 + 4374 4601 + 4601 4713 + 4488 4715 + 4602 4601 + 4716 4602 + 4715 4716 + 4376 4603 + 4603 4715 + 4490 4717 + 4604 4603 + 4718 4604 + 4717 4718 + 4378 4605 + 4605 4717 + 4492 4719 + 4606 4605 + 4720 4606 + 4719 4720 + 4380 4607 + 4607 4719 + 4494 4721 + 4608 4607 + 4722 4608 + 4721 4722 + 4382 4609 + 4609 4721 + 4496 4723 + 4610 4609 + 4724 4610 + 4723 4724 + 4384 4611 + 4611 4723 + 4498 4725 + 4612 4611 + 4726 4612 + 4725 4726 + 4386 4613 + 4613 4725 + 4500 4727 + 4614 4613 + 4728 4614 + 4727 4728 + 4388 4615 + 4615 4727 + 4502 4729 + 4616 4615 + 4730 4616 + 4729 4730 + 4390 4617 + 4617 4729 + 4504 4731 + 4618 4617 + 4732 4618 + 4731 4732 + 4392 4619 + 4619 4731 + 4506 4733 + 4620 4619 + 4734 4620 + 4733 4734 + 4394 4621 + 4621 4733 + 4508 4735 + 4622 4621 + 4736 4622 + 4735 4736 + 4396 4623 + 4623 4735 + 4510 4737 + 4624 4623 + 4738 4624 + 4737 4738 + 4398 4625 + 4625 4737 + 4512 4739 + 4626 4625 + 4740 4626 + 4739 4740 + 4400 4627 + 4627 4739 + 4514 4741 + 4628 4627 + 4742 4628 + 4741 4742 + 4402 4629 + 4629 4741 + 4516 4743 + 4630 4629 + 4744 4630 + 4743 4744 + 4404 4631 + 4631 4743 + 4518 4745 + 4632 4631 + 4746 4632 + 4745 4746 + 4406 4633 + 4633 4745 + 4520 4747 + 4634 4633 + 4748 4634 + 4747 4748 + 4408 4635 + 4635 4747 + 4522 4749 + 4636 4635 + 4750 4636 + 4749 4750 + 4410 4637 + 4637 4749 + 4524 4751 + 4638 4637 + 4752 4638 + 4751 4752 + 4412 4639 + 4639 4751 + 4526 4753 + 4640 4639 + 4754 4640 + 4753 4754 + 4414 4641 + 4641 4753 + 4528 4755 + 4642 4641 + 4756 4642 + 4755 4756 + 4416 4643 + 4643 4755 + 4530 4757 + 4644 4643 + 4758 4644 + 4757 4758 + 4418 4645 + 4645 4757 + 4532 4759 + 4646 4645 + 4760 4646 + 4759 4760 + 4420 4647 + 4647 4759 + 4534 4761 + 4648 4647 + 4762 4648 + 4761 4762 + 4422 4649 + 4649 4761 + 4536 4763 + 4650 4649 + 4764 4650 + 4763 4764 + 4424 4651 + 4651 4763 + 4538 4765 + 4652 4651 + 4766 4652 + 4765 4766 + 4426 4653 + 4653 4765 + 4540 4767 + 4654 4653 + 4768 4654 + 4767 4768 + 4428 4655 + 4655 4767 + 4542 4769 + 4656 4655 + 4770 4656 + 4769 4770 + 4430 4657 + 4657 4769 + 4544 4771 + 4658 4657 + 4772 4658 + 4771 4772 + 4432 4659 + 4659 4771 + 4546 4773 + 4660 4659 + 4774 4660 + 4773 4774 + 4434 4661 + 4661 4773 + 4548 4775 + 4662 4661 + 4776 4662 + 4775 4776 + 4436 4663 + 4663 4775 + 4550 4777 + 4664 4663 + 4778 4664 + 4777 4778 + 4438 4665 + 4665 4777 + 4552 4779 + 4666 4665 + 4780 4666 + 4779 4780 + 4440 4667 + 4667 4779 + 4554 4781 + 4668 4667 + 4782 4668 + 4781 4782 + 4442 4669 + 4669 4781 + 4556 4783 + 4670 4669 + 4784 4670 + 4783 4784 + 4444 4671 + 4671 4783 + 4558 4785 + 4672 4671 + 4786 4672 + 4785 4786 + 4446 4673 + 4673 4785 + 4560 4787 + 4674 4673 + 4788 4674 + 4787 4788 + 4562 4789 + 4676 4903 + 4790 4789 + 4904 4790 + 4903 4904 + 4564 4791 + 4791 4903 + 4678 4905 + 4792 4791 + 4906 4792 + 4905 4906 + 4566 4793 + 4793 4905 + 4680 4907 + 4794 4793 + 4908 4794 + 4907 4908 + 4568 4795 + 4795 4907 + 4682 4909 + 4796 4795 + 4910 4796 + 4909 4910 + 4570 4797 + 4797 4909 + 4684 4911 + 4798 4797 + 4912 4798 + 4911 4912 + 4572 4799 + 4799 4911 + 4686 4913 + 4800 4799 + 4914 4800 + 4913 4914 + 4574 4801 + 4801 4913 + 4688 4915 + 4802 4801 + 4916 4802 + 4915 4916 + 4576 4803 + 4803 4915 + 4690 4917 + 4804 4803 + 4918 4804 + 4917 4918 + 4578 4805 + 4805 4917 + 4692 4919 + 4806 4805 + 4920 4806 + 4919 4920 + 4580 4807 + 4807 4919 + 4694 4921 + 4808 4807 + 4922 4808 + 4921 4922 + 4582 4809 + 4809 4921 + 4696 4923 + 4810 4809 + 4924 4810 + 4923 4924 + 4584 4811 + 4811 4923 + 4698 4925 + 4812 4811 + 4926 4812 + 4925 4926 + 4586 4813 + 4813 4925 + 4700 4927 + 4814 4813 + 4928 4814 + 4927 4928 + 4588 4815 + 4815 4927 + 4702 4929 + 4816 4815 + 4930 4816 + 4929 4930 + 4590 4817 + 4817 4929 + 4704 4931 + 4818 4817 + 4932 4818 + 4931 4932 + 4592 4819 + 4819 4931 + 4706 4933 + 4820 4819 + 4934 4820 + 4933 4934 + 4594 4821 + 4821 4933 + 4708 4935 + 4822 4821 + 4936 4822 + 4935 4936 + 4596 4823 + 4823 4935 + 4710 4937 + 4824 4823 + 4938 4824 + 4937 4938 + 4598 4825 + 4825 4937 + 4712 4939 + 4826 4825 + 4940 4826 + 4939 4940 + 4600 4827 + 4827 4939 + 4714 4941 + 4828 4827 + 4942 4828 + 4941 4942 + 4602 4829 + 4829 4941 + 4716 4943 + 4830 4829 + 4944 4830 + 4943 4944 + 4604 4831 + 4831 4943 + 4718 4945 + 4832 4831 + 4946 4832 + 4945 4946 + 4606 4833 + 4833 4945 + 4720 4947 + 4834 4833 + 4948 4834 + 4947 4948 + 4608 4835 + 4835 4947 + 4722 4949 + 4836 4835 + 4950 4836 + 4949 4950 + 4610 4837 + 4837 4949 + 4724 4951 + 4838 4837 + 4952 4838 + 4951 4952 + 4612 4839 + 4839 4951 + 4726 4953 + 4840 4839 + 4954 4840 + 4953 4954 + 4614 4841 + 4841 4953 + 4728 4955 + 4842 4841 + 4956 4842 + 4955 4956 + 4616 4843 + 4843 4955 + 4730 4957 + 4844 4843 + 4958 4844 + 4957 4958 + 4618 4845 + 4845 4957 + 4732 4959 + 4846 4845 + 4960 4846 + 4959 4960 + 4620 4847 + 4847 4959 + 4734 4961 + 4848 4847 + 4962 4848 + 4961 4962 + 4622 4849 + 4849 4961 + 4736 4963 + 4850 4849 + 4964 4850 + 4963 4964 + 4624 4851 + 4851 4963 + 4738 4965 + 4852 4851 + 4966 4852 + 4965 4966 + 4626 4853 + 4853 4965 + 4740 4967 + 4854 4853 + 4968 4854 + 4967 4968 + 4628 4855 + 4855 4967 + 4742 4969 + 4856 4855 + 4970 4856 + 4969 4970 + 4630 4857 + 4857 4969 + 4744 4971 + 4858 4857 + 4972 4858 + 4971 4972 + 4632 4859 + 4859 4971 + 4746 4973 + 4860 4859 + 4974 4860 + 4973 4974 + 4634 4861 + 4861 4973 + 4748 4975 + 4862 4861 + 4976 4862 + 4975 4976 + 4636 4863 + 4863 4975 + 4750 4977 + 4864 4863 + 4978 4864 + 4977 4978 + 4638 4865 + 4865 4977 + 4752 4979 + 4866 4865 + 4980 4866 + 4979 4980 + 4640 4867 + 4867 4979 + 4754 4981 + 4868 4867 + 4982 4868 + 4981 4982 + 4642 4869 + 4869 4981 + 4756 4983 + 4870 4869 + 4984 4870 + 4983 4984 + 4644 4871 + 4871 4983 + 4758 4985 + 4872 4871 + 4986 4872 + 4985 4986 + 4646 4873 + 4873 4985 + 4760 4987 + 4874 4873 + 4988 4874 + 4987 4988 + 4648 4875 + 4875 4987 + 4762 4989 + 4876 4875 + 4990 4876 + 4989 4990 + 4650 4877 + 4877 4989 + 4764 4991 + 4878 4877 + 4992 4878 + 4991 4992 + 4652 4879 + 4879 4991 + 4766 4993 + 4880 4879 + 4994 4880 + 4993 4994 + 4654 4881 + 4881 4993 + 4768 4995 + 4882 4881 + 4996 4882 + 4995 4996 + 4656 4883 + 4883 4995 + 4770 4997 + 4884 4883 + 4998 4884 + 4997 4998 + 4658 4885 + 4885 4997 + 4772 4999 + 4886 4885 + 5000 4886 + 4999 5000 + 4660 4887 + 4887 4999 + 4774 5001 + 4888 4887 + 5002 4888 + 5001 5002 + 4662 4889 + 4889 5001 + 4776 5003 + 4890 4889 + 5004 4890 + 5003 5004 + 4664 4891 + 4891 5003 + 4778 5005 + 4892 4891 + 5006 4892 + 5005 5006 + 4666 4893 + 4893 5005 + 4780 5007 + 4894 4893 + 5008 4894 + 5007 5008 + 4668 4895 + 4895 5007 + 4782 5009 + 4896 4895 + 5010 4896 + 5009 5010 + 4670 4897 + 4897 5009 + 4784 5011 + 4898 4897 + 5012 4898 + 5011 5012 + 4672 4899 + 4899 5011 + 4786 5013 + 4900 4899 + 5014 4900 + 5013 5014 + 4674 4901 + 4901 5013 + 4788 5015 + 4902 4901 + 5016 4902 + 5015 5016 + 4790 5017 + 4904 5131 + 5018 5017 + 5132 5018 + 5131 5132 + 4792 5019 + 5019 5131 + 4906 5133 + 5020 5019 + 5134 5020 + 5133 5134 + 4794 5021 + 5021 5133 + 4908 5135 + 5022 5021 + 5136 5022 + 5135 5136 + 4796 5023 + 5023 5135 + 4910 5137 + 5024 5023 + 5138 5024 + 5137 5138 + 4798 5025 + 5025 5137 + 4912 5139 + 5026 5025 + 5140 5026 + 5139 5140 + 4800 5027 + 5027 5139 + 4914 5141 + 5028 5027 + 5142 5028 + 5141 5142 + 4802 5029 + 5029 5141 + 4916 5143 + 5030 5029 + 5144 5030 + 5143 5144 + 4804 5031 + 5031 5143 + 4918 5145 + 5032 5031 + 5146 5032 + 5145 5146 + 4806 5033 + 5033 5145 + 4920 5147 + 5034 5033 + 5148 5034 + 5147 5148 + 4808 5035 + 5035 5147 + 4922 5149 + 5036 5035 + 5150 5036 + 5149 5150 + 4810 5037 + 5037 5149 + 4924 5151 + 5038 5037 + 5152 5038 + 5151 5152 + 4812 5039 + 5039 5151 + 4926 5153 + 5040 5039 + 5154 5040 + 5153 5154 + 4814 5041 + 5041 5153 + 4928 5155 + 5042 5041 + 5156 5042 + 5155 5156 + 4816 5043 + 5043 5155 + 4930 5157 + 5044 5043 + 5158 5044 + 5157 5158 + 4818 5045 + 5045 5157 + 4932 5159 + 5046 5045 + 5160 5046 + 5159 5160 + 4820 5047 + 5047 5159 + 4934 5161 + 5048 5047 + 5162 5048 + 5161 5162 + 4822 5049 + 5049 5161 + 4936 5163 + 5050 5049 + 5164 5050 + 5163 5164 + 4824 5051 + 5051 5163 + 4938 5165 + 5052 5051 + 5166 5052 + 5165 5166 + 4826 5053 + 5053 5165 + 4940 5167 + 5054 5053 + 5168 5054 + 5167 5168 + 4828 5055 + 5055 5167 + 4942 5169 + 5056 5055 + 5170 5056 + 5169 5170 + 4830 5057 + 5057 5169 + 4944 5171 + 5058 5057 + 5172 5058 + 5171 5172 + 4832 5059 + 5059 5171 + 4946 5173 + 5060 5059 + 5174 5060 + 5173 5174 + 4834 5061 + 5061 5173 + 4948 5175 + 5062 5061 + 5176 5062 + 5175 5176 + 4836 5063 + 5063 5175 + 4950 5177 + 5064 5063 + 5178 5064 + 5177 5178 + 4838 5065 + 5065 5177 + 4952 5179 + 5066 5065 + 5180 5066 + 5179 5180 + 4840 5067 + 5067 5179 + 4954 5181 + 5068 5067 + 5182 5068 + 5181 5182 + 4842 5069 + 5069 5181 + 4956 5183 + 5070 5069 + 5184 5070 + 5183 5184 + 4844 5071 + 5071 5183 + 4958 5185 + 5072 5071 + 5186 5072 + 5185 5186 + 4846 5073 + 5073 5185 + 4960 5187 + 5074 5073 + 5188 5074 + 5187 5188 + 4848 5075 + 5075 5187 + 4962 5189 + 5076 5075 + 5190 5076 + 5189 5190 + 4850 5077 + 5077 5189 + 4964 5191 + 5078 5077 + 5192 5078 + 5191 5192 + 4852 5079 + 5079 5191 + 4966 5193 + 5080 5079 + 5194 5080 + 5193 5194 + 4854 5081 + 5081 5193 + 4968 5195 + 5082 5081 + 5196 5082 + 5195 5196 + 4856 5083 + 5083 5195 + 4970 5197 + 5084 5083 + 5198 5084 + 5197 5198 + 4858 5085 + 5085 5197 + 4972 5199 + 5086 5085 + 5200 5086 + 5199 5200 + 4860 5087 + 5087 5199 + 4974 5201 + 5088 5087 + 5202 5088 + 5201 5202 + 4862 5089 + 5089 5201 + 4976 5203 + 5090 5089 + 5204 5090 + 5203 5204 + 4864 5091 + 5091 5203 + 4978 5205 + 5092 5091 + 5206 5092 + 5205 5206 + 4866 5093 + 5093 5205 + 4980 5207 + 5094 5093 + 5208 5094 + 5207 5208 + 4868 5095 + 5095 5207 + 4982 5209 + 5096 5095 + 5210 5096 + 5209 5210 + 4870 5097 + 5097 5209 + 4984 5211 + 5098 5097 + 5212 5098 + 5211 5212 + 4872 5099 + 5099 5211 + 4986 5213 + 5100 5099 + 5214 5100 + 5213 5214 + 4874 5101 + 5101 5213 + 4988 5215 + 5102 5101 + 5216 5102 + 5215 5216 + 4876 5103 + 5103 5215 + 4990 5217 + 5104 5103 + 5218 5104 + 5217 5218 + 4878 5105 + 5105 5217 + 4992 5219 + 5106 5105 + 5220 5106 + 5219 5220 + 4880 5107 + 5107 5219 + 4994 5221 + 5108 5107 + 5222 5108 + 5221 5222 + 4882 5109 + 5109 5221 + 4996 5223 + 5110 5109 + 5224 5110 + 5223 5224 + 4884 5111 + 5111 5223 + 4998 5225 + 5112 5111 + 5226 5112 + 5225 5226 + 4886 5113 + 5113 5225 + 5000 5227 + 5114 5113 + 5228 5114 + 5227 5228 + 4888 5115 + 5115 5227 + 5002 5229 + 5116 5115 + 5230 5116 + 5229 5230 + 4890 5117 + 5117 5229 + 5004 5231 + 5118 5117 + 5232 5118 + 5231 5232 + 4892 5119 + 5119 5231 + 5006 5233 + 5120 5119 + 5234 5120 + 5233 5234 + 4894 5121 + 5121 5233 + 5008 5235 + 5122 5121 + 5236 5122 + 5235 5236 + 4896 5123 + 5123 5235 + 5010 5237 + 5124 5123 + 5238 5124 + 5237 5238 + 4898 5125 + 5125 5237 + 5012 5239 + 5126 5125 + 5240 5126 + 5239 5240 + 4900 5127 + 5127 5239 + 5014 5241 + 5128 5127 + 5242 5128 + 5241 5242 + 4902 5129 + 5129 5241 + 5016 5243 + 5130 5129 + 5244 5130 + 5243 5244 + 5018 5245 + 5132 5359 + 5246 5245 + 5360 5246 + 5359 5360 + 5020 5247 + 5247 5359 + 5134 5361 + 5248 5247 + 5362 5248 + 5361 5362 + 5022 5249 + 5249 5361 + 5136 5363 + 5250 5249 + 5364 5250 + 5363 5364 + 5024 5251 + 5251 5363 + 5138 5365 + 5252 5251 + 5366 5252 + 5365 5366 + 5026 5253 + 5253 5365 + 5140 5367 + 5254 5253 + 5368 5254 + 5367 5368 + 5028 5255 + 5255 5367 + 5142 5369 + 5256 5255 + 5370 5256 + 5369 5370 + 5030 5257 + 5257 5369 + 5144 5371 + 5258 5257 + 5372 5258 + 5371 5372 + 5032 5259 + 5259 5371 + 5146 5373 + 5260 5259 + 5374 5260 + 5373 5374 + 5034 5261 + 5261 5373 + 5148 5375 + 5262 5261 + 5376 5262 + 5375 5376 + 5036 5263 + 5263 5375 + 5150 5377 + 5264 5263 + 5378 5264 + 5377 5378 + 5038 5265 + 5265 5377 + 5152 5379 + 5266 5265 + 5380 5266 + 5379 5380 + 5040 5267 + 5267 5379 + 5154 5381 + 5268 5267 + 5382 5268 + 5381 5382 + 5042 5269 + 5269 5381 + 5156 5383 + 5270 5269 + 5384 5270 + 5383 5384 + 5044 5271 + 5271 5383 + 5158 5385 + 5272 5271 + 5386 5272 + 5385 5386 + 5046 5273 + 5273 5385 + 5160 5387 + 5274 5273 + 5388 5274 + 5387 5388 + 5048 5275 + 5275 5387 + 5162 5389 + 5276 5275 + 5390 5276 + 5389 5390 + 5050 5277 + 5277 5389 + 5164 5391 + 5278 5277 + 5392 5278 + 5391 5392 + 5052 5279 + 5279 5391 + 5166 5393 + 5280 5279 + 5394 5280 + 5393 5394 + 5054 5281 + 5281 5393 + 5168 5395 + 5282 5281 + 5396 5282 + 5395 5396 + 5056 5283 + 5283 5395 + 5170 5397 + 5284 5283 + 5398 5284 + 5397 5398 + 5058 5285 + 5285 5397 + 5172 5399 + 5286 5285 + 5400 5286 + 5399 5400 + 5060 5287 + 5287 5399 + 5174 5401 + 5288 5287 + 5402 5288 + 5401 5402 + 5062 5289 + 5289 5401 + 5176 5403 + 5290 5289 + 5404 5290 + 5403 5404 + 5064 5291 + 5291 5403 + 5178 5405 + 5292 5291 + 5406 5292 + 5405 5406 + 5066 5293 + 5293 5405 + 5180 5407 + 5294 5293 + 5408 5294 + 5407 5408 + 5068 5295 + 5295 5407 + 5182 5409 + 5296 5295 + 5410 5296 + 5409 5410 + 5070 5297 + 5297 5409 + 5184 5411 + 5298 5297 + 5412 5298 + 5411 5412 + 5072 5299 + 5299 5411 + 5186 5413 + 5300 5299 + 5414 5300 + 5413 5414 + 5074 5301 + 5301 5413 + 5188 5415 + 5302 5301 + 5416 5302 + 5415 5416 + 5076 5303 + 5303 5415 + 5190 5417 + 5304 5303 + 5418 5304 + 5417 5418 + 5078 5305 + 5305 5417 + 5192 5419 + 5306 5305 + 5420 5306 + 5419 5420 + 5080 5307 + 5307 5419 + 5194 5421 + 5308 5307 + 5422 5308 + 5421 5422 + 5082 5309 + 5309 5421 + 5196 5423 + 5310 5309 + 5424 5310 + 5423 5424 + 5084 5311 + 5311 5423 + 5198 5425 + 5312 5311 + 5426 5312 + 5425 5426 + 5086 5313 + 5313 5425 + 5200 5427 + 5314 5313 + 5428 5314 + 5427 5428 + 5088 5315 + 5315 5427 + 5202 5429 + 5316 5315 + 5430 5316 + 5429 5430 + 5090 5317 + 5317 5429 + 5204 5431 + 5318 5317 + 5432 5318 + 5431 5432 + 5092 5319 + 5319 5431 + 5206 5433 + 5320 5319 + 5434 5320 + 5433 5434 + 5094 5321 + 5321 5433 + 5208 5435 + 5322 5321 + 5436 5322 + 5435 5436 + 5096 5323 + 5323 5435 + 5210 5437 + 5324 5323 + 5438 5324 + 5437 5438 + 5098 5325 + 5325 5437 + 5212 5439 + 5326 5325 + 5440 5326 + 5439 5440 + 5100 5327 + 5327 5439 + 5214 5441 + 5328 5327 + 5442 5328 + 5441 5442 + 5102 5329 + 5329 5441 + 5216 5443 + 5330 5329 + 5444 5330 + 5443 5444 + 5104 5331 + 5331 5443 + 5218 5445 + 5332 5331 + 5446 5332 + 5445 5446 + 5106 5333 + 5333 5445 + 5220 5447 + 5334 5333 + 5448 5334 + 5447 5448 + 5108 5335 + 5335 5447 + 5222 5449 + 5336 5335 + 5450 5336 + 5449 5450 + 5110 5337 + 5337 5449 + 5224 5451 + 5338 5337 + 5452 5338 + 5451 5452 + 5112 5339 + 5339 5451 + 5226 5453 + 5340 5339 + 5454 5340 + 5453 5454 + 5114 5341 + 5341 5453 + 5228 5455 + 5342 5341 + 5456 5342 + 5455 5456 + 5116 5343 + 5343 5455 + 5230 5457 + 5344 5343 + 5458 5344 + 5457 5458 + 5118 5345 + 5345 5457 + 5232 5459 + 5346 5345 + 5460 5346 + 5459 5460 + 5120 5347 + 5347 5459 + 5234 5461 + 5348 5347 + 5462 5348 + 5461 5462 + 5122 5349 + 5349 5461 + 5236 5463 + 5350 5349 + 5464 5350 + 5463 5464 + 5124 5351 + 5351 5463 + 5238 5465 + 5352 5351 + 5466 5352 + 5465 5466 + 5126 5353 + 5353 5465 + 5240 5467 + 5354 5353 + 5468 5354 + 5467 5468 + 5128 5355 + 5355 5467 + 5242 5469 + 5356 5355 + 5470 5356 + 5469 5470 + 5130 5357 + 5357 5469 + 5244 5471 + 5358 5357 + 5472 5358 + 5471 5472 + 5246 5473 + 5360 5587 + 5248 5475 + 5362 5589 + 5250 5477 + 5364 5591 + 5252 5479 + 5366 5593 + 5254 5481 + 5368 5595 + 5256 5483 + 5370 5597 + 5258 5485 + 5372 5599 + 5260 5487 + 5374 5601 + 5262 5489 + 5376 5603 + 5264 5491 + 5378 5605 + 5266 5493 + 5380 5607 + 5268 5495 + 5382 5609 + 5270 5497 + 5384 5611 + 5272 5499 + 5386 5613 + 5274 5501 + 5388 5615 + 5276 5503 + 5390 5617 + 5278 5505 + 5392 5619 + 5280 5507 + 5394 5621 + 5282 5509 + 5396 5623 + 5284 5511 + 5398 5625 + 5286 5513 + 5400 5627 + 5288 5515 + 5402 5629 + 5290 5517 + 5404 5631 + 5292 5519 + 5406 5633 + 5294 5521 + 5408 5635 + 5296 5523 + 5410 5637 + 5298 5525 + 5412 5639 + 5300 5527 + 5414 5641 + 5302 5529 + 5416 5643 + 5304 5531 + 5418 5645 + 5306 5533 + 5420 5647 + 5308 5535 + 5422 5649 + 5310 5537 + 5424 5651 + 5312 5539 + 5426 5653 + 5314 5541 + 5428 5655 + 5316 5543 + 5430 5657 + 5318 5545 + 5432 5659 + 5320 5547 + 5434 5661 + 5322 5549 + 5436 5663 + 5324 5551 + 5438 5665 + 5326 5553 + 5440 5667 + 5328 5555 + 5442 5669 + 5330 5557 + 5444 5671 + 5332 5559 + 5446 5673 + 5334 5561 + 5448 5675 + 5336 5563 + 5450 5677 + 5338 5565 + 5452 5679 + 5340 5567 + 5454 5681 + 5342 5569 + 5456 5683 + 5344 5571 + 5458 5685 + 5346 5573 + 5460 5687 + 5348 5575 + 5462 5689 + 5350 5577 + 5464 5691 + 5352 5579 + 5466 5693 + 5354 5581 + 5468 5695 + 5356 5583 + 5470 5697 + 5358 5585 + 5472 5699 + 1 -999 + 5473 -999 + 227 -999 + 5699 -999 + 229 -999 + 455 -999 + 457 -999 + 683 -999 + 685 -999 + 911 -999 + 913 -999 + 1139 -999 + 1141 -999 + 1367 -999 + 1369 -999 + 1595 -999 + 1597 -999 + 1823 -999 + 1825 -999 + 2051 -999 + 2053 -999 + 2279 -999 + 2281 -999 + 2507 -999 + 2509 -999 + 2735 -999 + 2737 -999 + 2963 -999 + 2965 -999 + 3191 -999 + 3193 -999 + 3419 -999 + 3421 -999 + 3647 -999 + 3649 -999 + 3875 -999 + 3877 -999 + 4103 -999 + 4105 -999 + 4331 -999 + 4333 -999 + 4559 -999 + 4561 -999 + 4787 -999 + 4789 -999 + 5015 -999 + 5017 -999 + 5243 -999 + 5245 -999 + 5471 -999 diff --git a/test/meshes/soufflet/edgenum.out b/test/meshes/soufflet/edgenum.out new file mode 100644 index 000000000..c3d8f6763 --- /dev/null +++ b/test/meshes/soufflet/edgenum.out @@ -0,0 +1,2 @@ + 8575 + 8525 diff --git a/test/meshes/soufflet/edges.out b/test/meshes/soufflet/edges.out new file mode 100644 index 000000000..633a597a4 --- /dev/null +++ b/test/meshes/soufflet/edges.out @@ -0,0 +1,8575 @@ + 1 2 + 1 2762 + 2 116 + 2 117 + 2 3 + 2 118 + 2 2762 + 3 4 + 3 118 + 3 2763 + 3 2764 + 3 2762 + 4 118 + 4 119 + 4 5 + 4 120 + 4 2764 + 5 6 + 5 120 + 5 2765 + 5 2766 + 5 2764 + 6 120 + 6 121 + 6 7 + 6 122 + 6 2766 + 7 8 + 7 122 + 7 2767 + 7 2768 + 7 2766 + 8 122 + 8 123 + 8 9 + 8 124 + 8 2768 + 9 10 + 9 124 + 9 2769 + 9 2770 + 9 2768 + 10 124 + 10 125 + 10 11 + 10 126 + 10 2770 + 11 12 + 11 126 + 11 2771 + 11 2772 + 11 2770 + 12 126 + 12 127 + 12 13 + 12 128 + 12 2772 + 13 14 + 13 128 + 13 2773 + 13 2774 + 13 2772 + 14 128 + 14 129 + 14 15 + 14 130 + 14 2774 + 15 16 + 15 130 + 15 2775 + 15 2776 + 15 2774 + 16 130 + 16 131 + 16 17 + 16 132 + 16 2776 + 17 18 + 17 132 + 17 2777 + 17 2778 + 17 2776 + 18 132 + 18 133 + 18 19 + 18 134 + 18 2778 + 19 20 + 19 134 + 19 2779 + 19 2780 + 19 2778 + 20 134 + 20 135 + 20 21 + 20 136 + 20 2780 + 21 22 + 21 136 + 21 2781 + 21 2782 + 21 2780 + 22 136 + 22 137 + 22 23 + 22 138 + 22 2782 + 23 24 + 23 138 + 23 2783 + 23 2784 + 23 2782 + 24 138 + 24 139 + 24 25 + 24 140 + 24 2784 + 25 26 + 25 140 + 25 2785 + 25 2786 + 25 2784 + 26 140 + 26 141 + 26 27 + 26 142 + 26 2786 + 27 28 + 27 142 + 27 2787 + 27 2788 + 27 2786 + 28 142 + 28 143 + 28 29 + 28 144 + 28 2788 + 29 30 + 29 144 + 29 2789 + 29 2790 + 29 2788 + 30 144 + 30 145 + 30 31 + 30 146 + 30 2790 + 31 32 + 31 146 + 31 2791 + 31 2792 + 31 2790 + 32 146 + 32 147 + 32 33 + 32 148 + 32 2792 + 33 34 + 33 148 + 33 2793 + 33 2794 + 33 2792 + 34 148 + 34 149 + 34 35 + 34 150 + 34 2794 + 35 36 + 35 150 + 35 2795 + 35 2796 + 35 2794 + 36 150 + 36 151 + 36 37 + 36 152 + 36 2796 + 37 38 + 37 152 + 37 2797 + 37 2798 + 37 2796 + 38 152 + 38 153 + 38 39 + 38 154 + 38 2798 + 39 40 + 39 154 + 39 2799 + 39 2800 + 39 2798 + 40 154 + 40 155 + 40 41 + 40 156 + 40 2800 + 41 42 + 41 156 + 41 2801 + 41 2802 + 41 2800 + 42 156 + 42 157 + 42 43 + 42 158 + 42 2802 + 43 44 + 43 158 + 43 2803 + 43 2804 + 43 2802 + 44 158 + 44 159 + 44 45 + 44 160 + 44 2804 + 45 46 + 45 160 + 45 2805 + 45 2806 + 45 2804 + 46 160 + 46 161 + 46 47 + 46 162 + 46 2806 + 47 48 + 47 162 + 47 2807 + 47 2808 + 47 2806 + 48 162 + 48 163 + 48 49 + 48 164 + 48 2808 + 49 50 + 49 164 + 49 2809 + 49 2810 + 49 2808 + 50 164 + 50 165 + 50 51 + 50 166 + 50 2810 + 51 52 + 51 166 + 51 2811 + 51 2812 + 51 2810 + 52 166 + 52 167 + 52 53 + 52 168 + 52 2812 + 53 54 + 53 168 + 53 2813 + 53 2814 + 53 2812 + 54 168 + 54 169 + 54 55 + 54 170 + 54 2814 + 55 56 + 55 170 + 55 2815 + 55 2816 + 55 2814 + 56 170 + 56 171 + 56 57 + 56 172 + 56 2816 + 57 58 + 57 172 + 57 2817 + 57 2818 + 57 2816 + 58 172 + 58 173 + 58 59 + 58 174 + 58 2818 + 59 60 + 59 174 + 59 2819 + 59 2820 + 59 2818 + 60 174 + 60 175 + 60 61 + 60 176 + 60 2820 + 61 62 + 61 176 + 61 2821 + 61 2822 + 61 2820 + 62 176 + 62 177 + 62 63 + 62 178 + 62 2822 + 63 64 + 63 178 + 63 2823 + 63 2824 + 63 2822 + 64 178 + 64 179 + 64 65 + 64 180 + 64 2824 + 65 66 + 65 180 + 65 2825 + 65 2826 + 65 2824 + 66 180 + 66 181 + 66 67 + 66 182 + 66 2826 + 67 68 + 67 182 + 67 2827 + 67 2828 + 67 2826 + 68 182 + 68 183 + 68 69 + 68 184 + 68 2828 + 69 70 + 69 184 + 69 2829 + 69 2830 + 69 2828 + 70 184 + 70 185 + 70 71 + 70 186 + 70 2830 + 71 72 + 71 186 + 71 2831 + 71 2832 + 71 2830 + 72 186 + 72 187 + 72 73 + 72 188 + 72 2832 + 73 74 + 73 188 + 73 2833 + 73 2834 + 73 2832 + 74 188 + 74 189 + 74 75 + 74 190 + 74 2834 + 75 76 + 75 190 + 75 2835 + 75 2836 + 75 2834 + 76 190 + 76 191 + 76 77 + 76 192 + 76 2836 + 77 78 + 77 192 + 77 2837 + 77 2838 + 77 2836 + 78 192 + 78 193 + 78 79 + 78 194 + 78 2838 + 79 80 + 79 194 + 79 2839 + 79 2840 + 79 2838 + 80 194 + 80 195 + 80 81 + 80 196 + 80 2840 + 81 82 + 81 196 + 81 2841 + 81 2842 + 81 2840 + 82 196 + 82 197 + 82 83 + 82 198 + 82 2842 + 83 84 + 83 198 + 83 2843 + 83 2844 + 83 2842 + 84 198 + 84 199 + 84 85 + 84 200 + 84 2844 + 85 86 + 85 200 + 85 2845 + 85 2846 + 85 2844 + 86 200 + 86 201 + 86 87 + 86 202 + 86 2846 + 87 88 + 87 202 + 87 2847 + 87 2848 + 87 2846 + 88 202 + 88 203 + 88 89 + 88 204 + 88 2848 + 89 90 + 89 204 + 89 2849 + 89 2850 + 89 2848 + 90 204 + 90 205 + 90 91 + 90 206 + 90 2850 + 91 92 + 91 206 + 91 2851 + 91 2852 + 91 2850 + 92 206 + 92 207 + 92 93 + 92 208 + 92 2852 + 93 94 + 93 208 + 93 2853 + 93 2854 + 93 2852 + 94 208 + 94 209 + 94 95 + 94 210 + 94 2854 + 95 96 + 95 210 + 95 2855 + 95 2856 + 95 2854 + 96 210 + 96 211 + 96 97 + 96 212 + 96 2856 + 97 98 + 97 212 + 97 2857 + 97 2858 + 97 2856 + 98 212 + 98 213 + 98 99 + 98 214 + 98 2858 + 99 100 + 99 214 + 99 2859 + 99 2860 + 99 2858 + 100 214 + 100 215 + 100 101 + 100 216 + 100 2860 + 101 102 + 101 216 + 101 2861 + 101 2862 + 101 2860 + 102 216 + 102 217 + 102 103 + 102 218 + 102 2862 + 103 104 + 103 218 + 103 2863 + 103 2864 + 103 2862 + 104 218 + 104 219 + 104 105 + 104 220 + 104 2864 + 105 106 + 105 220 + 105 2865 + 105 2866 + 105 2864 + 106 220 + 106 221 + 106 107 + 106 222 + 106 2866 + 107 108 + 107 222 + 107 2867 + 107 2868 + 107 2866 + 108 222 + 108 223 + 108 109 + 108 224 + 108 2868 + 109 110 + 109 224 + 109 2869 + 109 2870 + 109 2868 + 110 224 + 110 225 + 110 111 + 110 226 + 110 2870 + 111 112 + 111 226 + 111 2871 + 111 2872 + 111 2870 + 112 226 + 112 227 + 112 113 + 112 228 + 112 2872 + 113 114 + 113 228 + 113 2873 + 113 2874 + 113 2872 + 114 228 + 114 229 + 114 115 + 114 230 + 114 2874 + 115 2874 + 116 117 + 117 118 + 117 231 + 117 232 + 117 233 + 118 119 + 118 233 + 119 120 + 119 233 + 119 234 + 119 235 + 120 121 + 120 235 + 121 122 + 121 235 + 121 236 + 121 237 + 122 123 + 122 237 + 123 124 + 123 237 + 123 238 + 123 239 + 124 125 + 124 239 + 125 126 + 125 239 + 125 240 + 125 241 + 126 127 + 126 241 + 127 128 + 127 241 + 127 242 + 127 243 + 128 129 + 128 243 + 129 130 + 129 243 + 129 244 + 129 245 + 130 131 + 130 245 + 131 132 + 131 245 + 131 246 + 131 247 + 132 133 + 132 247 + 133 134 + 133 247 + 133 248 + 133 249 + 134 135 + 134 249 + 135 136 + 135 249 + 135 250 + 135 251 + 136 137 + 136 251 + 137 138 + 137 251 + 137 252 + 137 253 + 138 139 + 138 253 + 139 140 + 139 253 + 139 254 + 139 255 + 140 141 + 140 255 + 141 142 + 141 255 + 141 256 + 141 257 + 142 143 + 142 257 + 143 144 + 143 257 + 143 258 + 143 259 + 144 145 + 144 259 + 145 146 + 145 259 + 145 260 + 145 261 + 146 147 + 146 261 + 147 148 + 147 261 + 147 262 + 147 263 + 148 149 + 148 263 + 149 150 + 149 263 + 149 264 + 149 265 + 150 151 + 150 265 + 151 152 + 151 265 + 151 266 + 151 267 + 152 153 + 152 267 + 153 154 + 153 267 + 153 268 + 153 269 + 154 155 + 154 269 + 155 156 + 155 269 + 155 270 + 155 271 + 156 157 + 156 271 + 157 158 + 157 271 + 157 272 + 157 273 + 158 159 + 158 273 + 159 160 + 159 273 + 159 274 + 159 275 + 160 161 + 160 275 + 161 162 + 161 275 + 161 276 + 161 277 + 162 163 + 162 277 + 163 164 + 163 277 + 163 278 + 163 279 + 164 165 + 164 279 + 165 166 + 165 279 + 165 280 + 165 281 + 166 167 + 166 281 + 167 168 + 167 281 + 167 282 + 167 283 + 168 169 + 168 283 + 169 170 + 169 283 + 169 284 + 169 285 + 170 171 + 170 285 + 171 172 + 171 285 + 171 286 + 171 287 + 172 173 + 172 287 + 173 174 + 173 287 + 173 288 + 173 289 + 174 175 + 174 289 + 175 176 + 175 289 + 175 290 + 175 291 + 176 177 + 176 291 + 177 178 + 177 291 + 177 292 + 177 293 + 178 179 + 178 293 + 179 180 + 179 293 + 179 294 + 179 295 + 180 181 + 180 295 + 181 182 + 181 295 + 181 296 + 181 297 + 182 183 + 182 297 + 183 184 + 183 297 + 183 298 + 183 299 + 184 185 + 184 299 + 185 186 + 185 299 + 185 300 + 185 301 + 186 187 + 186 301 + 187 188 + 187 301 + 187 302 + 187 303 + 188 189 + 188 303 + 189 190 + 189 303 + 189 304 + 189 305 + 190 191 + 190 305 + 191 192 + 191 305 + 191 306 + 191 307 + 192 193 + 192 307 + 193 194 + 193 307 + 193 308 + 193 309 + 194 195 + 194 309 + 195 196 + 195 309 + 195 310 + 195 311 + 196 197 + 196 311 + 197 198 + 197 311 + 197 312 + 197 313 + 198 199 + 198 313 + 199 200 + 199 313 + 199 314 + 199 315 + 200 201 + 200 315 + 201 202 + 201 315 + 201 316 + 201 317 + 202 203 + 202 317 + 203 204 + 203 317 + 203 318 + 203 319 + 204 205 + 204 319 + 205 206 + 205 319 + 205 320 + 205 321 + 206 207 + 206 321 + 207 208 + 207 321 + 207 322 + 207 323 + 208 209 + 208 323 + 209 210 + 209 323 + 209 324 + 209 325 + 210 211 + 210 325 + 211 212 + 211 325 + 211 326 + 211 327 + 212 213 + 212 327 + 213 214 + 213 327 + 213 328 + 213 329 + 214 215 + 214 329 + 215 216 + 215 329 + 215 330 + 215 331 + 216 217 + 216 331 + 217 218 + 217 331 + 217 332 + 217 333 + 218 219 + 218 333 + 219 220 + 219 333 + 219 334 + 219 335 + 220 221 + 220 335 + 221 222 + 221 335 + 221 336 + 221 337 + 222 223 + 222 337 + 223 224 + 223 337 + 223 338 + 223 339 + 224 225 + 224 339 + 225 226 + 225 339 + 225 340 + 225 341 + 226 227 + 226 341 + 227 228 + 227 341 + 227 342 + 227 343 + 228 229 + 228 343 + 229 230 + 229 343 + 229 344 + 229 345 + 231 232 + 232 233 + 232 346 + 232 347 + 232 348 + 233 234 + 233 348 + 234 235 + 234 348 + 234 349 + 234 350 + 235 236 + 235 350 + 236 237 + 236 350 + 236 351 + 236 352 + 237 238 + 237 352 + 238 239 + 238 352 + 238 353 + 238 354 + 239 240 + 239 354 + 240 241 + 240 354 + 240 355 + 240 356 + 241 242 + 241 356 + 242 243 + 242 356 + 242 357 + 242 358 + 243 244 + 243 358 + 244 245 + 244 358 + 244 359 + 244 360 + 245 246 + 245 360 + 246 247 + 246 360 + 246 361 + 246 362 + 247 248 + 247 362 + 248 249 + 248 362 + 248 363 + 248 364 + 249 250 + 249 364 + 250 251 + 250 364 + 250 365 + 250 366 + 251 252 + 251 366 + 252 253 + 252 366 + 252 367 + 252 368 + 253 254 + 253 368 + 254 255 + 254 368 + 254 369 + 254 370 + 255 256 + 255 370 + 256 257 + 256 370 + 256 371 + 256 372 + 257 258 + 257 372 + 258 259 + 258 372 + 258 373 + 258 374 + 259 260 + 259 374 + 260 261 + 260 374 + 260 375 + 260 376 + 261 262 + 261 376 + 262 263 + 262 376 + 262 377 + 262 378 + 263 264 + 263 378 + 264 265 + 264 378 + 264 379 + 264 380 + 265 266 + 265 380 + 266 267 + 266 380 + 266 381 + 266 382 + 267 268 + 267 382 + 268 269 + 268 382 + 268 383 + 268 384 + 269 270 + 269 384 + 270 271 + 270 384 + 270 385 + 270 386 + 271 272 + 271 386 + 272 273 + 272 386 + 272 387 + 272 388 + 273 274 + 273 388 + 274 275 + 274 388 + 274 389 + 274 390 + 275 276 + 275 390 + 276 277 + 276 390 + 276 391 + 276 392 + 277 278 + 277 392 + 278 279 + 278 392 + 278 393 + 278 394 + 279 280 + 279 394 + 280 281 + 280 394 + 280 395 + 280 396 + 281 282 + 281 396 + 282 283 + 282 396 + 282 397 + 282 398 + 283 284 + 283 398 + 284 285 + 284 398 + 284 399 + 284 400 + 285 286 + 285 400 + 286 287 + 286 400 + 286 401 + 286 402 + 287 288 + 287 402 + 288 289 + 288 402 + 288 403 + 288 404 + 289 290 + 289 404 + 290 291 + 290 404 + 290 405 + 290 406 + 291 292 + 291 406 + 292 293 + 292 406 + 292 407 + 292 408 + 293 294 + 293 408 + 294 295 + 294 408 + 294 409 + 294 410 + 295 296 + 295 410 + 296 297 + 296 410 + 296 411 + 296 412 + 297 298 + 297 412 + 298 299 + 298 412 + 298 413 + 298 414 + 299 300 + 299 414 + 300 301 + 300 414 + 300 415 + 300 416 + 301 302 + 301 416 + 302 303 + 302 416 + 302 417 + 302 418 + 303 304 + 303 418 + 304 305 + 304 418 + 304 419 + 304 420 + 305 306 + 305 420 + 306 307 + 306 420 + 306 421 + 306 422 + 307 308 + 307 422 + 308 309 + 308 422 + 308 423 + 308 424 + 309 310 + 309 424 + 310 311 + 310 424 + 310 425 + 310 426 + 311 312 + 311 426 + 312 313 + 312 426 + 312 427 + 312 428 + 313 314 + 313 428 + 314 315 + 314 428 + 314 429 + 314 430 + 315 316 + 315 430 + 316 317 + 316 430 + 316 431 + 316 432 + 317 318 + 317 432 + 318 319 + 318 432 + 318 433 + 318 434 + 319 320 + 319 434 + 320 321 + 320 434 + 320 435 + 320 436 + 321 322 + 321 436 + 322 323 + 322 436 + 322 437 + 322 438 + 323 324 + 323 438 + 324 325 + 324 438 + 324 439 + 324 440 + 325 326 + 325 440 + 326 327 + 326 440 + 326 441 + 326 442 + 327 328 + 327 442 + 328 329 + 328 442 + 328 443 + 328 444 + 329 330 + 329 444 + 330 331 + 330 444 + 330 445 + 330 446 + 331 332 + 331 446 + 332 333 + 332 446 + 332 447 + 332 448 + 333 334 + 333 448 + 334 335 + 334 448 + 334 449 + 334 450 + 335 336 + 335 450 + 336 337 + 336 450 + 336 451 + 336 452 + 337 338 + 337 452 + 338 339 + 338 452 + 338 453 + 338 454 + 339 340 + 339 454 + 340 341 + 340 454 + 340 455 + 340 456 + 341 342 + 341 456 + 342 343 + 342 456 + 342 457 + 342 458 + 343 344 + 343 458 + 344 345 + 344 458 + 344 459 + 344 460 + 346 347 + 347 348 + 347 461 + 347 462 + 347 463 + 348 349 + 348 463 + 349 350 + 349 463 + 349 464 + 349 465 + 350 351 + 350 465 + 351 352 + 351 465 + 351 466 + 351 467 + 352 353 + 352 467 + 353 354 + 353 467 + 353 468 + 353 469 + 354 355 + 354 469 + 355 356 + 355 469 + 355 470 + 355 471 + 356 357 + 356 471 + 357 358 + 357 471 + 357 472 + 357 473 + 358 359 + 358 473 + 359 360 + 359 473 + 359 474 + 359 475 + 360 361 + 360 475 + 361 362 + 361 475 + 361 476 + 361 477 + 362 363 + 362 477 + 363 364 + 363 477 + 363 478 + 363 479 + 364 365 + 364 479 + 365 366 + 365 479 + 365 480 + 365 481 + 366 367 + 366 481 + 367 368 + 367 481 + 367 482 + 367 483 + 368 369 + 368 483 + 369 370 + 369 483 + 369 484 + 369 485 + 370 371 + 370 485 + 371 372 + 371 485 + 371 486 + 371 487 + 372 373 + 372 487 + 373 374 + 373 487 + 373 488 + 373 489 + 374 375 + 374 489 + 375 376 + 375 489 + 375 490 + 375 491 + 376 377 + 376 491 + 377 378 + 377 491 + 377 492 + 377 493 + 378 379 + 378 493 + 379 380 + 379 493 + 379 494 + 379 495 + 380 381 + 380 495 + 381 382 + 381 495 + 381 496 + 381 497 + 382 383 + 382 497 + 383 384 + 383 497 + 383 498 + 383 499 + 384 385 + 384 499 + 385 386 + 385 499 + 385 500 + 385 501 + 386 387 + 386 501 + 387 388 + 387 501 + 387 502 + 387 503 + 388 389 + 388 503 + 389 390 + 389 503 + 389 504 + 389 505 + 390 391 + 390 505 + 391 392 + 391 505 + 391 506 + 391 507 + 392 393 + 392 507 + 393 394 + 393 507 + 393 508 + 393 509 + 394 395 + 394 509 + 395 396 + 395 509 + 395 510 + 395 511 + 396 397 + 396 511 + 397 398 + 397 511 + 397 512 + 397 513 + 398 399 + 398 513 + 399 400 + 399 513 + 399 514 + 399 515 + 400 401 + 400 515 + 401 402 + 401 515 + 401 516 + 401 517 + 402 403 + 402 517 + 403 404 + 403 517 + 403 518 + 403 519 + 404 405 + 404 519 + 405 406 + 405 519 + 405 520 + 405 521 + 406 407 + 406 521 + 407 408 + 407 521 + 407 522 + 407 523 + 408 409 + 408 523 + 409 410 + 409 523 + 409 524 + 409 525 + 410 411 + 410 525 + 411 412 + 411 525 + 411 526 + 411 527 + 412 413 + 412 527 + 413 414 + 413 527 + 413 528 + 413 529 + 414 415 + 414 529 + 415 416 + 415 529 + 415 530 + 415 531 + 416 417 + 416 531 + 417 418 + 417 531 + 417 532 + 417 533 + 418 419 + 418 533 + 419 420 + 419 533 + 419 534 + 419 535 + 420 421 + 420 535 + 421 422 + 421 535 + 421 536 + 421 537 + 422 423 + 422 537 + 423 424 + 423 537 + 423 538 + 423 539 + 424 425 + 424 539 + 425 426 + 425 539 + 425 540 + 425 541 + 426 427 + 426 541 + 427 428 + 427 541 + 427 542 + 427 543 + 428 429 + 428 543 + 429 430 + 429 543 + 429 544 + 429 545 + 430 431 + 430 545 + 431 432 + 431 545 + 431 546 + 431 547 + 432 433 + 432 547 + 433 434 + 433 547 + 433 548 + 433 549 + 434 435 + 434 549 + 435 436 + 435 549 + 435 550 + 435 551 + 436 437 + 436 551 + 437 438 + 437 551 + 437 552 + 437 553 + 438 439 + 438 553 + 439 440 + 439 553 + 439 554 + 439 555 + 440 441 + 440 555 + 441 442 + 441 555 + 441 556 + 441 557 + 442 443 + 442 557 + 443 444 + 443 557 + 443 558 + 443 559 + 444 445 + 444 559 + 445 446 + 445 559 + 445 560 + 445 561 + 446 447 + 446 561 + 447 448 + 447 561 + 447 562 + 447 563 + 448 449 + 448 563 + 449 450 + 449 563 + 449 564 + 449 565 + 450 451 + 450 565 + 451 452 + 451 565 + 451 566 + 451 567 + 452 453 + 452 567 + 453 454 + 453 567 + 453 568 + 453 569 + 454 455 + 454 569 + 455 456 + 455 569 + 455 570 + 455 571 + 456 457 + 456 571 + 457 458 + 457 571 + 457 572 + 457 573 + 458 459 + 458 573 + 459 460 + 459 573 + 459 574 + 459 575 + 461 462 + 462 463 + 462 576 + 462 577 + 462 578 + 463 464 + 463 578 + 464 465 + 464 578 + 464 579 + 464 580 + 465 466 + 465 580 + 466 467 + 466 580 + 466 581 + 466 582 + 467 468 + 467 582 + 468 469 + 468 582 + 468 583 + 468 584 + 469 470 + 469 584 + 470 471 + 470 584 + 470 585 + 470 586 + 471 472 + 471 586 + 472 473 + 472 586 + 472 587 + 472 588 + 473 474 + 473 588 + 474 475 + 474 588 + 474 589 + 474 590 + 475 476 + 475 590 + 476 477 + 476 590 + 476 591 + 476 592 + 477 478 + 477 592 + 478 479 + 478 592 + 478 593 + 478 594 + 479 480 + 479 594 + 480 481 + 480 594 + 480 595 + 480 596 + 481 482 + 481 596 + 482 483 + 482 596 + 482 597 + 482 598 + 483 484 + 483 598 + 484 485 + 484 598 + 484 599 + 484 600 + 485 486 + 485 600 + 486 487 + 486 600 + 486 601 + 486 602 + 487 488 + 487 602 + 488 489 + 488 602 + 488 603 + 488 604 + 489 490 + 489 604 + 490 491 + 490 604 + 490 605 + 490 606 + 491 492 + 491 606 + 492 493 + 492 606 + 492 607 + 492 608 + 493 494 + 493 608 + 494 495 + 494 608 + 494 609 + 494 610 + 495 496 + 495 610 + 496 497 + 496 610 + 496 611 + 496 612 + 497 498 + 497 612 + 498 499 + 498 612 + 498 613 + 498 614 + 499 500 + 499 614 + 500 501 + 500 614 + 500 615 + 500 616 + 501 502 + 501 616 + 502 503 + 502 616 + 502 617 + 502 618 + 503 504 + 503 618 + 504 505 + 504 618 + 504 619 + 504 620 + 505 506 + 505 620 + 506 507 + 506 620 + 506 621 + 506 622 + 507 508 + 507 622 + 508 509 + 508 622 + 508 623 + 508 624 + 509 510 + 509 624 + 510 511 + 510 624 + 510 625 + 510 626 + 511 512 + 511 626 + 512 513 + 512 626 + 512 627 + 512 628 + 513 514 + 513 628 + 514 515 + 514 628 + 514 629 + 514 630 + 515 516 + 515 630 + 516 517 + 516 630 + 516 631 + 516 632 + 517 518 + 517 632 + 518 519 + 518 632 + 518 633 + 518 634 + 519 520 + 519 634 + 520 521 + 520 634 + 520 635 + 520 636 + 521 522 + 521 636 + 522 523 + 522 636 + 522 637 + 522 638 + 523 524 + 523 638 + 524 525 + 524 638 + 524 639 + 524 640 + 525 526 + 525 640 + 526 527 + 526 640 + 526 641 + 526 642 + 527 528 + 527 642 + 528 529 + 528 642 + 528 643 + 528 644 + 529 530 + 529 644 + 530 531 + 530 644 + 530 645 + 530 646 + 531 532 + 531 646 + 532 533 + 532 646 + 532 647 + 532 648 + 533 534 + 533 648 + 534 535 + 534 648 + 534 649 + 534 650 + 535 536 + 535 650 + 536 537 + 536 650 + 536 651 + 536 652 + 537 538 + 537 652 + 538 539 + 538 652 + 538 653 + 538 654 + 539 540 + 539 654 + 540 541 + 540 654 + 540 655 + 540 656 + 541 542 + 541 656 + 542 543 + 542 656 + 542 657 + 542 658 + 543 544 + 543 658 + 544 545 + 544 658 + 544 659 + 544 660 + 545 546 + 545 660 + 546 547 + 546 660 + 546 661 + 546 662 + 547 548 + 547 662 + 548 549 + 548 662 + 548 663 + 548 664 + 549 550 + 549 664 + 550 551 + 550 664 + 550 665 + 550 666 + 551 552 + 551 666 + 552 553 + 552 666 + 552 667 + 552 668 + 553 554 + 553 668 + 554 555 + 554 668 + 554 669 + 554 670 + 555 556 + 555 670 + 556 557 + 556 670 + 556 671 + 556 672 + 557 558 + 557 672 + 558 559 + 558 672 + 558 673 + 558 674 + 559 560 + 559 674 + 560 561 + 560 674 + 560 675 + 560 676 + 561 562 + 561 676 + 562 563 + 562 676 + 562 677 + 562 678 + 563 564 + 563 678 + 564 565 + 564 678 + 564 679 + 564 680 + 565 566 + 565 680 + 566 567 + 566 680 + 566 681 + 566 682 + 567 568 + 567 682 + 568 569 + 568 682 + 568 683 + 568 684 + 569 570 + 569 684 + 570 571 + 570 684 + 570 685 + 570 686 + 571 572 + 571 686 + 572 573 + 572 686 + 572 687 + 572 688 + 573 574 + 573 688 + 574 575 + 574 688 + 574 689 + 574 690 + 576 577 + 577 578 + 577 691 + 577 692 + 577 693 + 578 579 + 578 693 + 579 580 + 579 693 + 579 694 + 579 695 + 580 581 + 580 695 + 581 582 + 581 695 + 581 696 + 581 697 + 582 583 + 582 697 + 583 584 + 583 697 + 583 698 + 583 699 + 584 585 + 584 699 + 585 586 + 585 699 + 585 700 + 585 701 + 586 587 + 586 701 + 587 588 + 587 701 + 587 702 + 587 703 + 588 589 + 588 703 + 589 590 + 589 703 + 589 704 + 589 705 + 590 591 + 590 705 + 591 592 + 591 705 + 591 706 + 591 707 + 592 593 + 592 707 + 593 594 + 593 707 + 593 708 + 593 709 + 594 595 + 594 709 + 595 596 + 595 709 + 595 710 + 595 711 + 596 597 + 596 711 + 597 598 + 597 711 + 597 712 + 597 713 + 598 599 + 598 713 + 599 600 + 599 713 + 599 714 + 599 715 + 600 601 + 600 715 + 601 602 + 601 715 + 601 716 + 601 717 + 602 603 + 602 717 + 603 604 + 603 717 + 603 718 + 603 719 + 604 605 + 604 719 + 605 606 + 605 719 + 605 720 + 605 721 + 606 607 + 606 721 + 607 608 + 607 721 + 607 722 + 607 723 + 608 609 + 608 723 + 609 610 + 609 723 + 609 724 + 609 725 + 610 611 + 610 725 + 611 612 + 611 725 + 611 726 + 611 727 + 612 613 + 612 727 + 613 614 + 613 727 + 613 728 + 613 729 + 614 615 + 614 729 + 615 616 + 615 729 + 615 730 + 615 731 + 616 617 + 616 731 + 617 618 + 617 731 + 617 732 + 617 733 + 618 619 + 618 733 + 619 620 + 619 733 + 619 734 + 619 735 + 620 621 + 620 735 + 621 622 + 621 735 + 621 736 + 621 737 + 622 623 + 622 737 + 623 624 + 623 737 + 623 738 + 623 739 + 624 625 + 624 739 + 625 626 + 625 739 + 625 740 + 625 741 + 626 627 + 626 741 + 627 628 + 627 741 + 627 742 + 627 743 + 628 629 + 628 743 + 629 630 + 629 743 + 629 744 + 629 745 + 630 631 + 630 745 + 631 632 + 631 745 + 631 746 + 631 747 + 632 633 + 632 747 + 633 634 + 633 747 + 633 748 + 633 749 + 634 635 + 634 749 + 635 636 + 635 749 + 635 750 + 635 751 + 636 637 + 636 751 + 637 638 + 637 751 + 637 752 + 637 753 + 638 639 + 638 753 + 639 640 + 639 753 + 639 754 + 639 755 + 640 641 + 640 755 + 641 642 + 641 755 + 641 756 + 641 757 + 642 643 + 642 757 + 643 644 + 643 757 + 643 758 + 643 759 + 644 645 + 644 759 + 645 646 + 645 759 + 645 760 + 645 761 + 646 647 + 646 761 + 647 648 + 647 761 + 647 762 + 647 763 + 648 649 + 648 763 + 649 650 + 649 763 + 649 764 + 649 765 + 650 651 + 650 765 + 651 652 + 651 765 + 651 766 + 651 767 + 652 653 + 652 767 + 653 654 + 653 767 + 653 768 + 653 769 + 654 655 + 654 769 + 655 656 + 655 769 + 655 770 + 655 771 + 656 657 + 656 771 + 657 658 + 657 771 + 657 772 + 657 773 + 658 659 + 658 773 + 659 660 + 659 773 + 659 774 + 659 775 + 660 661 + 660 775 + 661 662 + 661 775 + 661 776 + 661 777 + 662 663 + 662 777 + 663 664 + 663 777 + 663 778 + 663 779 + 664 665 + 664 779 + 665 666 + 665 779 + 665 780 + 665 781 + 666 667 + 666 781 + 667 668 + 667 781 + 667 782 + 667 783 + 668 669 + 668 783 + 669 670 + 669 783 + 669 784 + 669 785 + 670 671 + 670 785 + 671 672 + 671 785 + 671 786 + 671 787 + 672 673 + 672 787 + 673 674 + 673 787 + 673 788 + 673 789 + 674 675 + 674 789 + 675 676 + 675 789 + 675 790 + 675 791 + 676 677 + 676 791 + 677 678 + 677 791 + 677 792 + 677 793 + 678 679 + 678 793 + 679 680 + 679 793 + 679 794 + 679 795 + 680 681 + 680 795 + 681 682 + 681 795 + 681 796 + 681 797 + 682 683 + 682 797 + 683 684 + 683 797 + 683 798 + 683 799 + 684 685 + 684 799 + 685 686 + 685 799 + 685 800 + 685 801 + 686 687 + 686 801 + 687 688 + 687 801 + 687 802 + 687 803 + 688 689 + 688 803 + 689 690 + 689 803 + 689 804 + 689 805 + 691 692 + 692 693 + 692 806 + 692 807 + 692 808 + 693 694 + 693 808 + 694 695 + 694 808 + 694 809 + 694 810 + 695 696 + 695 810 + 696 697 + 696 810 + 696 811 + 696 812 + 697 698 + 697 812 + 698 699 + 698 812 + 698 813 + 698 814 + 699 700 + 699 814 + 700 701 + 700 814 + 700 815 + 700 816 + 701 702 + 701 816 + 702 703 + 702 816 + 702 817 + 702 818 + 703 704 + 703 818 + 704 705 + 704 818 + 704 819 + 704 820 + 705 706 + 705 820 + 706 707 + 706 820 + 706 821 + 706 822 + 707 708 + 707 822 + 708 709 + 708 822 + 708 823 + 708 824 + 709 710 + 709 824 + 710 711 + 710 824 + 710 825 + 710 826 + 711 712 + 711 826 + 712 713 + 712 826 + 712 827 + 712 828 + 713 714 + 713 828 + 714 715 + 714 828 + 714 829 + 714 830 + 715 716 + 715 830 + 716 717 + 716 830 + 716 831 + 716 832 + 717 718 + 717 832 + 718 719 + 718 832 + 718 833 + 718 834 + 719 720 + 719 834 + 720 721 + 720 834 + 720 835 + 720 836 + 721 722 + 721 836 + 722 723 + 722 836 + 722 837 + 722 838 + 723 724 + 723 838 + 724 725 + 724 838 + 724 839 + 724 840 + 725 726 + 725 840 + 726 727 + 726 840 + 726 841 + 726 842 + 727 728 + 727 842 + 728 729 + 728 842 + 728 843 + 728 844 + 729 730 + 729 844 + 730 731 + 730 844 + 730 845 + 730 846 + 731 732 + 731 846 + 732 733 + 732 846 + 732 847 + 732 848 + 733 734 + 733 848 + 734 735 + 734 848 + 734 849 + 734 850 + 735 736 + 735 850 + 736 737 + 736 850 + 736 851 + 736 852 + 737 738 + 737 852 + 738 739 + 738 852 + 738 853 + 738 854 + 739 740 + 739 854 + 740 741 + 740 854 + 740 855 + 740 856 + 741 742 + 741 856 + 742 743 + 742 856 + 742 857 + 742 858 + 743 744 + 743 858 + 744 745 + 744 858 + 744 859 + 744 860 + 745 746 + 745 860 + 746 747 + 746 860 + 746 861 + 746 862 + 747 748 + 747 862 + 748 749 + 748 862 + 748 863 + 748 864 + 749 750 + 749 864 + 750 751 + 750 864 + 750 865 + 750 866 + 751 752 + 751 866 + 752 753 + 752 866 + 752 867 + 752 868 + 753 754 + 753 868 + 754 755 + 754 868 + 754 869 + 754 870 + 755 756 + 755 870 + 756 757 + 756 870 + 756 871 + 756 872 + 757 758 + 757 872 + 758 759 + 758 872 + 758 873 + 758 874 + 759 760 + 759 874 + 760 761 + 760 874 + 760 875 + 760 876 + 761 762 + 761 876 + 762 763 + 762 876 + 762 877 + 762 878 + 763 764 + 763 878 + 764 765 + 764 878 + 764 879 + 764 880 + 765 766 + 765 880 + 766 767 + 766 880 + 766 881 + 766 882 + 767 768 + 767 882 + 768 769 + 768 882 + 768 883 + 768 884 + 769 770 + 769 884 + 770 771 + 770 884 + 770 885 + 770 886 + 771 772 + 771 886 + 772 773 + 772 886 + 772 887 + 772 888 + 773 774 + 773 888 + 774 775 + 774 888 + 774 889 + 774 890 + 775 776 + 775 890 + 776 777 + 776 890 + 776 891 + 776 892 + 777 778 + 777 892 + 778 779 + 778 892 + 778 893 + 778 894 + 779 780 + 779 894 + 780 781 + 780 894 + 780 895 + 780 896 + 781 782 + 781 896 + 782 783 + 782 896 + 782 897 + 782 898 + 783 784 + 783 898 + 784 785 + 784 898 + 784 899 + 784 900 + 785 786 + 785 900 + 786 787 + 786 900 + 786 901 + 786 902 + 787 788 + 787 902 + 788 789 + 788 902 + 788 903 + 788 904 + 789 790 + 789 904 + 790 791 + 790 904 + 790 905 + 790 906 + 791 792 + 791 906 + 792 793 + 792 906 + 792 907 + 792 908 + 793 794 + 793 908 + 794 795 + 794 908 + 794 909 + 794 910 + 795 796 + 795 910 + 796 797 + 796 910 + 796 911 + 796 912 + 797 798 + 797 912 + 798 799 + 798 912 + 798 913 + 798 914 + 799 800 + 799 914 + 800 801 + 800 914 + 800 915 + 800 916 + 801 802 + 801 916 + 802 803 + 802 916 + 802 917 + 802 918 + 803 804 + 803 918 + 804 805 + 804 918 + 804 919 + 804 920 + 806 807 + 807 808 + 807 921 + 807 922 + 807 923 + 808 809 + 808 923 + 809 810 + 809 923 + 809 924 + 809 925 + 810 811 + 810 925 + 811 812 + 811 925 + 811 926 + 811 927 + 812 813 + 812 927 + 813 814 + 813 927 + 813 928 + 813 929 + 814 815 + 814 929 + 815 816 + 815 929 + 815 930 + 815 931 + 816 817 + 816 931 + 817 818 + 817 931 + 817 932 + 817 933 + 818 819 + 818 933 + 819 820 + 819 933 + 819 934 + 819 935 + 820 821 + 820 935 + 821 822 + 821 935 + 821 936 + 821 937 + 822 823 + 822 937 + 823 824 + 823 937 + 823 938 + 823 939 + 824 825 + 824 939 + 825 826 + 825 939 + 825 940 + 825 941 + 826 827 + 826 941 + 827 828 + 827 941 + 827 942 + 827 943 + 828 829 + 828 943 + 829 830 + 829 943 + 829 944 + 829 945 + 830 831 + 830 945 + 831 832 + 831 945 + 831 946 + 831 947 + 832 833 + 832 947 + 833 834 + 833 947 + 833 948 + 833 949 + 834 835 + 834 949 + 835 836 + 835 949 + 835 950 + 835 951 + 836 837 + 836 951 + 837 838 + 837 951 + 837 952 + 837 953 + 838 839 + 838 953 + 839 840 + 839 953 + 839 954 + 839 955 + 840 841 + 840 955 + 841 842 + 841 955 + 841 956 + 841 957 + 842 843 + 842 957 + 843 844 + 843 957 + 843 958 + 843 959 + 844 845 + 844 959 + 845 846 + 845 959 + 845 960 + 845 961 + 846 847 + 846 961 + 847 848 + 847 961 + 847 962 + 847 963 + 848 849 + 848 963 + 849 850 + 849 963 + 849 964 + 849 965 + 850 851 + 850 965 + 851 852 + 851 965 + 851 966 + 851 967 + 852 853 + 852 967 + 853 854 + 853 967 + 853 968 + 853 969 + 854 855 + 854 969 + 855 856 + 855 969 + 855 970 + 855 971 + 856 857 + 856 971 + 857 858 + 857 971 + 857 972 + 857 973 + 858 859 + 858 973 + 859 860 + 859 973 + 859 974 + 859 975 + 860 861 + 860 975 + 861 862 + 861 975 + 861 976 + 861 977 + 862 863 + 862 977 + 863 864 + 863 977 + 863 978 + 863 979 + 864 865 + 864 979 + 865 866 + 865 979 + 865 980 + 865 981 + 866 867 + 866 981 + 867 868 + 867 981 + 867 982 + 867 983 + 868 869 + 868 983 + 869 870 + 869 983 + 869 984 + 869 985 + 870 871 + 870 985 + 871 872 + 871 985 + 871 986 + 871 987 + 872 873 + 872 987 + 873 874 + 873 987 + 873 988 + 873 989 + 874 875 + 874 989 + 875 876 + 875 989 + 875 990 + 875 991 + 876 877 + 876 991 + 877 878 + 877 991 + 877 992 + 877 993 + 878 879 + 878 993 + 879 880 + 879 993 + 879 994 + 879 995 + 880 881 + 880 995 + 881 882 + 881 995 + 881 996 + 881 997 + 882 883 + 882 997 + 883 884 + 883 997 + 883 998 + 883 999 + 884 885 + 884 999 + 885 886 + 885 999 + 885 1000 + 885 1001 + 886 887 + 886 1001 + 887 888 + 887 1001 + 887 1002 + 887 1003 + 888 889 + 888 1003 + 889 890 + 889 1003 + 889 1004 + 889 1005 + 890 891 + 890 1005 + 891 892 + 891 1005 + 891 1006 + 891 1007 + 892 893 + 892 1007 + 893 894 + 893 1007 + 893 1008 + 893 1009 + 894 895 + 894 1009 + 895 896 + 895 1009 + 895 1010 + 895 1011 + 896 897 + 896 1011 + 897 898 + 897 1011 + 897 1012 + 897 1013 + 898 899 + 898 1013 + 899 900 + 899 1013 + 899 1014 + 899 1015 + 900 901 + 900 1015 + 901 902 + 901 1015 + 901 1016 + 901 1017 + 902 903 + 902 1017 + 903 904 + 903 1017 + 903 1018 + 903 1019 + 904 905 + 904 1019 + 905 906 + 905 1019 + 905 1020 + 905 1021 + 906 907 + 906 1021 + 907 908 + 907 1021 + 907 1022 + 907 1023 + 908 909 + 908 1023 + 909 910 + 909 1023 + 909 1024 + 909 1025 + 910 911 + 910 1025 + 911 912 + 911 1025 + 911 1026 + 911 1027 + 912 913 + 912 1027 + 913 914 + 913 1027 + 913 1028 + 913 1029 + 914 915 + 914 1029 + 915 916 + 915 1029 + 915 1030 + 915 1031 + 916 917 + 916 1031 + 917 918 + 917 1031 + 917 1032 + 917 1033 + 918 919 + 918 1033 + 919 920 + 919 1033 + 919 1034 + 919 1035 + 921 922 + 922 923 + 922 1036 + 922 1037 + 922 1038 + 923 924 + 923 1038 + 924 925 + 924 1038 + 924 1039 + 924 1040 + 925 926 + 925 1040 + 926 927 + 926 1040 + 926 1041 + 926 1042 + 927 928 + 927 1042 + 928 929 + 928 1042 + 928 1043 + 928 1044 + 929 930 + 929 1044 + 930 931 + 930 1044 + 930 1045 + 930 1046 + 931 932 + 931 1046 + 932 933 + 932 1046 + 932 1047 + 932 1048 + 933 934 + 933 1048 + 934 935 + 934 1048 + 934 1049 + 934 1050 + 935 936 + 935 1050 + 936 937 + 936 1050 + 936 1051 + 936 1052 + 937 938 + 937 1052 + 938 939 + 938 1052 + 938 1053 + 938 1054 + 939 940 + 939 1054 + 940 941 + 940 1054 + 940 1055 + 940 1056 + 941 942 + 941 1056 + 942 943 + 942 1056 + 942 1057 + 942 1058 + 943 944 + 943 1058 + 944 945 + 944 1058 + 944 1059 + 944 1060 + 945 946 + 945 1060 + 946 947 + 946 1060 + 946 1061 + 946 1062 + 947 948 + 947 1062 + 948 949 + 948 1062 + 948 1063 + 948 1064 + 949 950 + 949 1064 + 950 951 + 950 1064 + 950 1065 + 950 1066 + 951 952 + 951 1066 + 952 953 + 952 1066 + 952 1067 + 952 1068 + 953 954 + 953 1068 + 954 955 + 954 1068 + 954 1069 + 954 1070 + 955 956 + 955 1070 + 956 957 + 956 1070 + 956 1071 + 956 1072 + 957 958 + 957 1072 + 958 959 + 958 1072 + 958 1073 + 958 1074 + 959 960 + 959 1074 + 960 961 + 960 1074 + 960 1075 + 960 1076 + 961 962 + 961 1076 + 962 963 + 962 1076 + 962 1077 + 962 1078 + 963 964 + 963 1078 + 964 965 + 964 1078 + 964 1079 + 964 1080 + 965 966 + 965 1080 + 966 967 + 966 1080 + 966 1081 + 966 1082 + 967 968 + 967 1082 + 968 969 + 968 1082 + 968 1083 + 968 1084 + 969 970 + 969 1084 + 970 971 + 970 1084 + 970 1085 + 970 1086 + 971 972 + 971 1086 + 972 973 + 972 1086 + 972 1087 + 972 1088 + 973 974 + 973 1088 + 974 975 + 974 1088 + 974 1089 + 974 1090 + 975 976 + 975 1090 + 976 977 + 976 1090 + 976 1091 + 976 1092 + 977 978 + 977 1092 + 978 979 + 978 1092 + 978 1093 + 978 1094 + 979 980 + 979 1094 + 980 981 + 980 1094 + 980 1095 + 980 1096 + 981 982 + 981 1096 + 982 983 + 982 1096 + 982 1097 + 982 1098 + 983 984 + 983 1098 + 984 985 + 984 1098 + 984 1099 + 984 1100 + 985 986 + 985 1100 + 986 987 + 986 1100 + 986 1101 + 986 1102 + 987 988 + 987 1102 + 988 989 + 988 1102 + 988 1103 + 988 1104 + 989 990 + 989 1104 + 990 991 + 990 1104 + 990 1105 + 990 1106 + 991 992 + 991 1106 + 992 993 + 992 1106 + 992 1107 + 992 1108 + 993 994 + 993 1108 + 994 995 + 994 1108 + 994 1109 + 994 1110 + 995 996 + 995 1110 + 996 997 + 996 1110 + 996 1111 + 996 1112 + 997 998 + 997 1112 + 998 999 + 998 1112 + 998 1113 + 998 1114 + 999 1000 + 999 1114 + 1000 1001 + 1000 1114 + 1000 1115 + 1000 1116 + 1001 1002 + 1001 1116 + 1002 1003 + 1002 1116 + 1002 1117 + 1002 1118 + 1003 1004 + 1003 1118 + 1004 1005 + 1004 1118 + 1004 1119 + 1004 1120 + 1005 1006 + 1005 1120 + 1006 1007 + 1006 1120 + 1006 1121 + 1006 1122 + 1007 1008 + 1007 1122 + 1008 1009 + 1008 1122 + 1008 1123 + 1008 1124 + 1009 1010 + 1009 1124 + 1010 1011 + 1010 1124 + 1010 1125 + 1010 1126 + 1011 1012 + 1011 1126 + 1012 1013 + 1012 1126 + 1012 1127 + 1012 1128 + 1013 1014 + 1013 1128 + 1014 1015 + 1014 1128 + 1014 1129 + 1014 1130 + 1015 1016 + 1015 1130 + 1016 1017 + 1016 1130 + 1016 1131 + 1016 1132 + 1017 1018 + 1017 1132 + 1018 1019 + 1018 1132 + 1018 1133 + 1018 1134 + 1019 1020 + 1019 1134 + 1020 1021 + 1020 1134 + 1020 1135 + 1020 1136 + 1021 1022 + 1021 1136 + 1022 1023 + 1022 1136 + 1022 1137 + 1022 1138 + 1023 1024 + 1023 1138 + 1024 1025 + 1024 1138 + 1024 1139 + 1024 1140 + 1025 1026 + 1025 1140 + 1026 1027 + 1026 1140 + 1026 1141 + 1026 1142 + 1027 1028 + 1027 1142 + 1028 1029 + 1028 1142 + 1028 1143 + 1028 1144 + 1029 1030 + 1029 1144 + 1030 1031 + 1030 1144 + 1030 1145 + 1030 1146 + 1031 1032 + 1031 1146 + 1032 1033 + 1032 1146 + 1032 1147 + 1032 1148 + 1033 1034 + 1033 1148 + 1034 1035 + 1034 1148 + 1034 1149 + 1034 1150 + 1036 1037 + 1037 1038 + 1037 1151 + 1037 1152 + 1037 1153 + 1038 1039 + 1038 1153 + 1039 1040 + 1039 1153 + 1039 1154 + 1039 1155 + 1040 1041 + 1040 1155 + 1041 1042 + 1041 1155 + 1041 1156 + 1041 1157 + 1042 1043 + 1042 1157 + 1043 1044 + 1043 1157 + 1043 1158 + 1043 1159 + 1044 1045 + 1044 1159 + 1045 1046 + 1045 1159 + 1045 1160 + 1045 1161 + 1046 1047 + 1046 1161 + 1047 1048 + 1047 1161 + 1047 1162 + 1047 1163 + 1048 1049 + 1048 1163 + 1049 1050 + 1049 1163 + 1049 1164 + 1049 1165 + 1050 1051 + 1050 1165 + 1051 1052 + 1051 1165 + 1051 1166 + 1051 1167 + 1052 1053 + 1052 1167 + 1053 1054 + 1053 1167 + 1053 1168 + 1053 1169 + 1054 1055 + 1054 1169 + 1055 1056 + 1055 1169 + 1055 1170 + 1055 1171 + 1056 1057 + 1056 1171 + 1057 1058 + 1057 1171 + 1057 1172 + 1057 1173 + 1058 1059 + 1058 1173 + 1059 1060 + 1059 1173 + 1059 1174 + 1059 1175 + 1060 1061 + 1060 1175 + 1061 1062 + 1061 1175 + 1061 1176 + 1061 1177 + 1062 1063 + 1062 1177 + 1063 1064 + 1063 1177 + 1063 1178 + 1063 1179 + 1064 1065 + 1064 1179 + 1065 1066 + 1065 1179 + 1065 1180 + 1065 1181 + 1066 1067 + 1066 1181 + 1067 1068 + 1067 1181 + 1067 1182 + 1067 1183 + 1068 1069 + 1068 1183 + 1069 1070 + 1069 1183 + 1069 1184 + 1069 1185 + 1070 1071 + 1070 1185 + 1071 1072 + 1071 1185 + 1071 1186 + 1071 1187 + 1072 1073 + 1072 1187 + 1073 1074 + 1073 1187 + 1073 1188 + 1073 1189 + 1074 1075 + 1074 1189 + 1075 1076 + 1075 1189 + 1075 1190 + 1075 1191 + 1076 1077 + 1076 1191 + 1077 1078 + 1077 1191 + 1077 1192 + 1077 1193 + 1078 1079 + 1078 1193 + 1079 1080 + 1079 1193 + 1079 1194 + 1079 1195 + 1080 1081 + 1080 1195 + 1081 1082 + 1081 1195 + 1081 1196 + 1081 1197 + 1082 1083 + 1082 1197 + 1083 1084 + 1083 1197 + 1083 1198 + 1083 1199 + 1084 1085 + 1084 1199 + 1085 1086 + 1085 1199 + 1085 1200 + 1085 1201 + 1086 1087 + 1086 1201 + 1087 1088 + 1087 1201 + 1087 1202 + 1087 1203 + 1088 1089 + 1088 1203 + 1089 1090 + 1089 1203 + 1089 1204 + 1089 1205 + 1090 1091 + 1090 1205 + 1091 1092 + 1091 1205 + 1091 1206 + 1091 1207 + 1092 1093 + 1092 1207 + 1093 1094 + 1093 1207 + 1093 1208 + 1093 1209 + 1094 1095 + 1094 1209 + 1095 1096 + 1095 1209 + 1095 1210 + 1095 1211 + 1096 1097 + 1096 1211 + 1097 1098 + 1097 1211 + 1097 1212 + 1097 1213 + 1098 1099 + 1098 1213 + 1099 1100 + 1099 1213 + 1099 1214 + 1099 1215 + 1100 1101 + 1100 1215 + 1101 1102 + 1101 1215 + 1101 1216 + 1101 1217 + 1102 1103 + 1102 1217 + 1103 1104 + 1103 1217 + 1103 1218 + 1103 1219 + 1104 1105 + 1104 1219 + 1105 1106 + 1105 1219 + 1105 1220 + 1105 1221 + 1106 1107 + 1106 1221 + 1107 1108 + 1107 1221 + 1107 1222 + 1107 1223 + 1108 1109 + 1108 1223 + 1109 1110 + 1109 1223 + 1109 1224 + 1109 1225 + 1110 1111 + 1110 1225 + 1111 1112 + 1111 1225 + 1111 1226 + 1111 1227 + 1112 1113 + 1112 1227 + 1113 1114 + 1113 1227 + 1113 1228 + 1113 1229 + 1114 1115 + 1114 1229 + 1115 1116 + 1115 1229 + 1115 1230 + 1115 1231 + 1116 1117 + 1116 1231 + 1117 1118 + 1117 1231 + 1117 1232 + 1117 1233 + 1118 1119 + 1118 1233 + 1119 1120 + 1119 1233 + 1119 1234 + 1119 1235 + 1120 1121 + 1120 1235 + 1121 1122 + 1121 1235 + 1121 1236 + 1121 1237 + 1122 1123 + 1122 1237 + 1123 1124 + 1123 1237 + 1123 1238 + 1123 1239 + 1124 1125 + 1124 1239 + 1125 1126 + 1125 1239 + 1125 1240 + 1125 1241 + 1126 1127 + 1126 1241 + 1127 1128 + 1127 1241 + 1127 1242 + 1127 1243 + 1128 1129 + 1128 1243 + 1129 1130 + 1129 1243 + 1129 1244 + 1129 1245 + 1130 1131 + 1130 1245 + 1131 1132 + 1131 1245 + 1131 1246 + 1131 1247 + 1132 1133 + 1132 1247 + 1133 1134 + 1133 1247 + 1133 1248 + 1133 1249 + 1134 1135 + 1134 1249 + 1135 1136 + 1135 1249 + 1135 1250 + 1135 1251 + 1136 1137 + 1136 1251 + 1137 1138 + 1137 1251 + 1137 1252 + 1137 1253 + 1138 1139 + 1138 1253 + 1139 1140 + 1139 1253 + 1139 1254 + 1139 1255 + 1140 1141 + 1140 1255 + 1141 1142 + 1141 1255 + 1141 1256 + 1141 1257 + 1142 1143 + 1142 1257 + 1143 1144 + 1143 1257 + 1143 1258 + 1143 1259 + 1144 1145 + 1144 1259 + 1145 1146 + 1145 1259 + 1145 1260 + 1145 1261 + 1146 1147 + 1146 1261 + 1147 1148 + 1147 1261 + 1147 1262 + 1147 1263 + 1148 1149 + 1148 1263 + 1149 1150 + 1149 1263 + 1149 1264 + 1149 1265 + 1151 1152 + 1152 1153 + 1152 1266 + 1152 1267 + 1152 1268 + 1153 1154 + 1153 1268 + 1154 1155 + 1154 1268 + 1154 1269 + 1154 1270 + 1155 1156 + 1155 1270 + 1156 1157 + 1156 1270 + 1156 1271 + 1156 1272 + 1157 1158 + 1157 1272 + 1158 1159 + 1158 1272 + 1158 1273 + 1158 1274 + 1159 1160 + 1159 1274 + 1160 1161 + 1160 1274 + 1160 1275 + 1160 1276 + 1161 1162 + 1161 1276 + 1162 1163 + 1162 1276 + 1162 1277 + 1162 1278 + 1163 1164 + 1163 1278 + 1164 1165 + 1164 1278 + 1164 1279 + 1164 1280 + 1165 1166 + 1165 1280 + 1166 1167 + 1166 1280 + 1166 1281 + 1166 1282 + 1167 1168 + 1167 1282 + 1168 1169 + 1168 1282 + 1168 1283 + 1168 1284 + 1169 1170 + 1169 1284 + 1170 1171 + 1170 1284 + 1170 1285 + 1170 1286 + 1171 1172 + 1171 1286 + 1172 1173 + 1172 1286 + 1172 1287 + 1172 1288 + 1173 1174 + 1173 1288 + 1174 1175 + 1174 1288 + 1174 1289 + 1174 1290 + 1175 1176 + 1175 1290 + 1176 1177 + 1176 1290 + 1176 1291 + 1176 1292 + 1177 1178 + 1177 1292 + 1178 1179 + 1178 1292 + 1178 1293 + 1178 1294 + 1179 1180 + 1179 1294 + 1180 1181 + 1180 1294 + 1180 1295 + 1180 1296 + 1181 1182 + 1181 1296 + 1182 1183 + 1182 1296 + 1182 1297 + 1182 1298 + 1183 1184 + 1183 1298 + 1184 1185 + 1184 1298 + 1184 1299 + 1184 1300 + 1185 1186 + 1185 1300 + 1186 1187 + 1186 1300 + 1186 1301 + 1186 1302 + 1187 1188 + 1187 1302 + 1188 1189 + 1188 1302 + 1188 1303 + 1188 1304 + 1189 1190 + 1189 1304 + 1190 1191 + 1190 1304 + 1190 1305 + 1190 1306 + 1191 1192 + 1191 1306 + 1192 1193 + 1192 1306 + 1192 1307 + 1192 1308 + 1193 1194 + 1193 1308 + 1194 1195 + 1194 1308 + 1194 1309 + 1194 1310 + 1195 1196 + 1195 1310 + 1196 1197 + 1196 1310 + 1196 1311 + 1196 1312 + 1197 1198 + 1197 1312 + 1198 1199 + 1198 1312 + 1198 1313 + 1198 1314 + 1199 1200 + 1199 1314 + 1200 1201 + 1200 1314 + 1200 1315 + 1200 1316 + 1201 1202 + 1201 1316 + 1202 1203 + 1202 1316 + 1202 1317 + 1202 1318 + 1203 1204 + 1203 1318 + 1204 1205 + 1204 1318 + 1204 1319 + 1204 1320 + 1205 1206 + 1205 1320 + 1206 1207 + 1206 1320 + 1206 1321 + 1206 1322 + 1207 1208 + 1207 1322 + 1208 1209 + 1208 1322 + 1208 1323 + 1208 1324 + 1209 1210 + 1209 1324 + 1210 1211 + 1210 1324 + 1210 1325 + 1210 1326 + 1211 1212 + 1211 1326 + 1212 1213 + 1212 1326 + 1212 1327 + 1212 1328 + 1213 1214 + 1213 1328 + 1214 1215 + 1214 1328 + 1214 1329 + 1214 1330 + 1215 1216 + 1215 1330 + 1216 1217 + 1216 1330 + 1216 1331 + 1216 1332 + 1217 1218 + 1217 1332 + 1218 1219 + 1218 1332 + 1218 1333 + 1218 1334 + 1219 1220 + 1219 1334 + 1220 1221 + 1220 1334 + 1220 1335 + 1220 1336 + 1221 1222 + 1221 1336 + 1222 1223 + 1222 1336 + 1222 1337 + 1222 1338 + 1223 1224 + 1223 1338 + 1224 1225 + 1224 1338 + 1224 1339 + 1224 1340 + 1225 1226 + 1225 1340 + 1226 1227 + 1226 1340 + 1226 1341 + 1226 1342 + 1227 1228 + 1227 1342 + 1228 1229 + 1228 1342 + 1228 1343 + 1228 1344 + 1229 1230 + 1229 1344 + 1230 1231 + 1230 1344 + 1230 1345 + 1230 1346 + 1231 1232 + 1231 1346 + 1232 1233 + 1232 1346 + 1232 1347 + 1232 1348 + 1233 1234 + 1233 1348 + 1234 1235 + 1234 1348 + 1234 1349 + 1234 1350 + 1235 1236 + 1235 1350 + 1236 1237 + 1236 1350 + 1236 1351 + 1236 1352 + 1237 1238 + 1237 1352 + 1238 1239 + 1238 1352 + 1238 1353 + 1238 1354 + 1239 1240 + 1239 1354 + 1240 1241 + 1240 1354 + 1240 1355 + 1240 1356 + 1241 1242 + 1241 1356 + 1242 1243 + 1242 1356 + 1242 1357 + 1242 1358 + 1243 1244 + 1243 1358 + 1244 1245 + 1244 1358 + 1244 1359 + 1244 1360 + 1245 1246 + 1245 1360 + 1246 1247 + 1246 1360 + 1246 1361 + 1246 1362 + 1247 1248 + 1247 1362 + 1248 1249 + 1248 1362 + 1248 1363 + 1248 1364 + 1249 1250 + 1249 1364 + 1250 1251 + 1250 1364 + 1250 1365 + 1250 1366 + 1251 1252 + 1251 1366 + 1252 1253 + 1252 1366 + 1252 1367 + 1252 1368 + 1253 1254 + 1253 1368 + 1254 1255 + 1254 1368 + 1254 1369 + 1254 1370 + 1255 1256 + 1255 1370 + 1256 1257 + 1256 1370 + 1256 1371 + 1256 1372 + 1257 1258 + 1257 1372 + 1258 1259 + 1258 1372 + 1258 1373 + 1258 1374 + 1259 1260 + 1259 1374 + 1260 1261 + 1260 1374 + 1260 1375 + 1260 1376 + 1261 1262 + 1261 1376 + 1262 1263 + 1262 1376 + 1262 1377 + 1262 1378 + 1263 1264 + 1263 1378 + 1264 1265 + 1264 1378 + 1264 1379 + 1264 1380 + 1266 1267 + 1267 1268 + 1267 1381 + 1267 1382 + 1267 1383 + 1268 1269 + 1268 1383 + 1269 1270 + 1269 1383 + 1269 1384 + 1269 1385 + 1270 1271 + 1270 1385 + 1271 1272 + 1271 1385 + 1271 1386 + 1271 1387 + 1272 1273 + 1272 1387 + 1273 1274 + 1273 1387 + 1273 1388 + 1273 1389 + 1274 1275 + 1274 1389 + 1275 1276 + 1275 1389 + 1275 1390 + 1275 1391 + 1276 1277 + 1276 1391 + 1277 1278 + 1277 1391 + 1277 1392 + 1277 1393 + 1278 1279 + 1278 1393 + 1279 1280 + 1279 1393 + 1279 1394 + 1279 1395 + 1280 1281 + 1280 1395 + 1281 1282 + 1281 1395 + 1281 1396 + 1281 1397 + 1282 1283 + 1282 1397 + 1283 1284 + 1283 1397 + 1283 1398 + 1283 1399 + 1284 1285 + 1284 1399 + 1285 1286 + 1285 1399 + 1285 1400 + 1285 1401 + 1286 1287 + 1286 1401 + 1287 1288 + 1287 1401 + 1287 1402 + 1287 1403 + 1288 1289 + 1288 1403 + 1289 1290 + 1289 1403 + 1289 1404 + 1289 1405 + 1290 1291 + 1290 1405 + 1291 1292 + 1291 1405 + 1291 1406 + 1291 1407 + 1292 1293 + 1292 1407 + 1293 1294 + 1293 1407 + 1293 1408 + 1293 1409 + 1294 1295 + 1294 1409 + 1295 1296 + 1295 1409 + 1295 1410 + 1295 1411 + 1296 1297 + 1296 1411 + 1297 1298 + 1297 1411 + 1297 1412 + 1297 1413 + 1298 1299 + 1298 1413 + 1299 1300 + 1299 1413 + 1299 1414 + 1299 1415 + 1300 1301 + 1300 1415 + 1301 1302 + 1301 1415 + 1301 1416 + 1301 1417 + 1302 1303 + 1302 1417 + 1303 1304 + 1303 1417 + 1303 1418 + 1303 1419 + 1304 1305 + 1304 1419 + 1305 1306 + 1305 1419 + 1305 1420 + 1305 1421 + 1306 1307 + 1306 1421 + 1307 1308 + 1307 1421 + 1307 1422 + 1307 1423 + 1308 1309 + 1308 1423 + 1309 1310 + 1309 1423 + 1309 1424 + 1309 1425 + 1310 1311 + 1310 1425 + 1311 1312 + 1311 1425 + 1311 1426 + 1311 1427 + 1312 1313 + 1312 1427 + 1313 1314 + 1313 1427 + 1313 1428 + 1313 1429 + 1314 1315 + 1314 1429 + 1315 1316 + 1315 1429 + 1315 1430 + 1315 1431 + 1316 1317 + 1316 1431 + 1317 1318 + 1317 1431 + 1317 1432 + 1317 1433 + 1318 1319 + 1318 1433 + 1319 1320 + 1319 1433 + 1319 1434 + 1319 1435 + 1320 1321 + 1320 1435 + 1321 1322 + 1321 1435 + 1321 1436 + 1321 1437 + 1322 1323 + 1322 1437 + 1323 1324 + 1323 1437 + 1323 1438 + 1323 1439 + 1324 1325 + 1324 1439 + 1325 1326 + 1325 1439 + 1325 1440 + 1325 1441 + 1326 1327 + 1326 1441 + 1327 1328 + 1327 1441 + 1327 1442 + 1327 1443 + 1328 1329 + 1328 1443 + 1329 1330 + 1329 1443 + 1329 1444 + 1329 1445 + 1330 1331 + 1330 1445 + 1331 1332 + 1331 1445 + 1331 1446 + 1331 1447 + 1332 1333 + 1332 1447 + 1333 1334 + 1333 1447 + 1333 1448 + 1333 1449 + 1334 1335 + 1334 1449 + 1335 1336 + 1335 1449 + 1335 1450 + 1335 1451 + 1336 1337 + 1336 1451 + 1337 1338 + 1337 1451 + 1337 1452 + 1337 1453 + 1338 1339 + 1338 1453 + 1339 1340 + 1339 1453 + 1339 1454 + 1339 1455 + 1340 1341 + 1340 1455 + 1341 1342 + 1341 1455 + 1341 1456 + 1341 1457 + 1342 1343 + 1342 1457 + 1343 1344 + 1343 1457 + 1343 1458 + 1343 1459 + 1344 1345 + 1344 1459 + 1345 1346 + 1345 1459 + 1345 1460 + 1345 1461 + 1346 1347 + 1346 1461 + 1347 1348 + 1347 1461 + 1347 1462 + 1347 1463 + 1348 1349 + 1348 1463 + 1349 1350 + 1349 1463 + 1349 1464 + 1349 1465 + 1350 1351 + 1350 1465 + 1351 1352 + 1351 1465 + 1351 1466 + 1351 1467 + 1352 1353 + 1352 1467 + 1353 1354 + 1353 1467 + 1353 1468 + 1353 1469 + 1354 1355 + 1354 1469 + 1355 1356 + 1355 1469 + 1355 1470 + 1355 1471 + 1356 1357 + 1356 1471 + 1357 1358 + 1357 1471 + 1357 1472 + 1357 1473 + 1358 1359 + 1358 1473 + 1359 1360 + 1359 1473 + 1359 1474 + 1359 1475 + 1360 1361 + 1360 1475 + 1361 1362 + 1361 1475 + 1361 1476 + 1361 1477 + 1362 1363 + 1362 1477 + 1363 1364 + 1363 1477 + 1363 1478 + 1363 1479 + 1364 1365 + 1364 1479 + 1365 1366 + 1365 1479 + 1365 1480 + 1365 1481 + 1366 1367 + 1366 1481 + 1367 1368 + 1367 1481 + 1367 1482 + 1367 1483 + 1368 1369 + 1368 1483 + 1369 1370 + 1369 1483 + 1369 1484 + 1369 1485 + 1370 1371 + 1370 1485 + 1371 1372 + 1371 1485 + 1371 1486 + 1371 1487 + 1372 1373 + 1372 1487 + 1373 1374 + 1373 1487 + 1373 1488 + 1373 1489 + 1374 1375 + 1374 1489 + 1375 1376 + 1375 1489 + 1375 1490 + 1375 1491 + 1376 1377 + 1376 1491 + 1377 1378 + 1377 1491 + 1377 1492 + 1377 1493 + 1378 1379 + 1378 1493 + 1379 1380 + 1379 1493 + 1379 1494 + 1379 1495 + 1381 1382 + 1382 1383 + 1382 1496 + 1382 1497 + 1382 1498 + 1383 1384 + 1383 1498 + 1384 1385 + 1384 1498 + 1384 1499 + 1384 1500 + 1385 1386 + 1385 1500 + 1386 1387 + 1386 1500 + 1386 1501 + 1386 1502 + 1387 1388 + 1387 1502 + 1388 1389 + 1388 1502 + 1388 1503 + 1388 1504 + 1389 1390 + 1389 1504 + 1390 1391 + 1390 1504 + 1390 1505 + 1390 1506 + 1391 1392 + 1391 1506 + 1392 1393 + 1392 1506 + 1392 1507 + 1392 1508 + 1393 1394 + 1393 1508 + 1394 1395 + 1394 1508 + 1394 1509 + 1394 1510 + 1395 1396 + 1395 1510 + 1396 1397 + 1396 1510 + 1396 1511 + 1396 1512 + 1397 1398 + 1397 1512 + 1398 1399 + 1398 1512 + 1398 1513 + 1398 1514 + 1399 1400 + 1399 1514 + 1400 1401 + 1400 1514 + 1400 1515 + 1400 1516 + 1401 1402 + 1401 1516 + 1402 1403 + 1402 1516 + 1402 1517 + 1402 1518 + 1403 1404 + 1403 1518 + 1404 1405 + 1404 1518 + 1404 1519 + 1404 1520 + 1405 1406 + 1405 1520 + 1406 1407 + 1406 1520 + 1406 1521 + 1406 1522 + 1407 1408 + 1407 1522 + 1408 1409 + 1408 1522 + 1408 1523 + 1408 1524 + 1409 1410 + 1409 1524 + 1410 1411 + 1410 1524 + 1410 1525 + 1410 1526 + 1411 1412 + 1411 1526 + 1412 1413 + 1412 1526 + 1412 1527 + 1412 1528 + 1413 1414 + 1413 1528 + 1414 1415 + 1414 1528 + 1414 1529 + 1414 1530 + 1415 1416 + 1415 1530 + 1416 1417 + 1416 1530 + 1416 1531 + 1416 1532 + 1417 1418 + 1417 1532 + 1418 1419 + 1418 1532 + 1418 1533 + 1418 1534 + 1419 1420 + 1419 1534 + 1420 1421 + 1420 1534 + 1420 1535 + 1420 1536 + 1421 1422 + 1421 1536 + 1422 1423 + 1422 1536 + 1422 1537 + 1422 1538 + 1423 1424 + 1423 1538 + 1424 1425 + 1424 1538 + 1424 1539 + 1424 1540 + 1425 1426 + 1425 1540 + 1426 1427 + 1426 1540 + 1426 1541 + 1426 1542 + 1427 1428 + 1427 1542 + 1428 1429 + 1428 1542 + 1428 1543 + 1428 1544 + 1429 1430 + 1429 1544 + 1430 1431 + 1430 1544 + 1430 1545 + 1430 1546 + 1431 1432 + 1431 1546 + 1432 1433 + 1432 1546 + 1432 1547 + 1432 1548 + 1433 1434 + 1433 1548 + 1434 1435 + 1434 1548 + 1434 1549 + 1434 1550 + 1435 1436 + 1435 1550 + 1436 1437 + 1436 1550 + 1436 1551 + 1436 1552 + 1437 1438 + 1437 1552 + 1438 1439 + 1438 1552 + 1438 1553 + 1438 1554 + 1439 1440 + 1439 1554 + 1440 1441 + 1440 1554 + 1440 1555 + 1440 1556 + 1441 1442 + 1441 1556 + 1442 1443 + 1442 1556 + 1442 1557 + 1442 1558 + 1443 1444 + 1443 1558 + 1444 1445 + 1444 1558 + 1444 1559 + 1444 1560 + 1445 1446 + 1445 1560 + 1446 1447 + 1446 1560 + 1446 1561 + 1446 1562 + 1447 1448 + 1447 1562 + 1448 1449 + 1448 1562 + 1448 1563 + 1448 1564 + 1449 1450 + 1449 1564 + 1450 1451 + 1450 1564 + 1450 1565 + 1450 1566 + 1451 1452 + 1451 1566 + 1452 1453 + 1452 1566 + 1452 1567 + 1452 1568 + 1453 1454 + 1453 1568 + 1454 1455 + 1454 1568 + 1454 1569 + 1454 1570 + 1455 1456 + 1455 1570 + 1456 1457 + 1456 1570 + 1456 1571 + 1456 1572 + 1457 1458 + 1457 1572 + 1458 1459 + 1458 1572 + 1458 1573 + 1458 1574 + 1459 1460 + 1459 1574 + 1460 1461 + 1460 1574 + 1460 1575 + 1460 1576 + 1461 1462 + 1461 1576 + 1462 1463 + 1462 1576 + 1462 1577 + 1462 1578 + 1463 1464 + 1463 1578 + 1464 1465 + 1464 1578 + 1464 1579 + 1464 1580 + 1465 1466 + 1465 1580 + 1466 1467 + 1466 1580 + 1466 1581 + 1466 1582 + 1467 1468 + 1467 1582 + 1468 1469 + 1468 1582 + 1468 1583 + 1468 1584 + 1469 1470 + 1469 1584 + 1470 1471 + 1470 1584 + 1470 1585 + 1470 1586 + 1471 1472 + 1471 1586 + 1472 1473 + 1472 1586 + 1472 1587 + 1472 1588 + 1473 1474 + 1473 1588 + 1474 1475 + 1474 1588 + 1474 1589 + 1474 1590 + 1475 1476 + 1475 1590 + 1476 1477 + 1476 1590 + 1476 1591 + 1476 1592 + 1477 1478 + 1477 1592 + 1478 1479 + 1478 1592 + 1478 1593 + 1478 1594 + 1479 1480 + 1479 1594 + 1480 1481 + 1480 1594 + 1480 1595 + 1480 1596 + 1481 1482 + 1481 1596 + 1482 1483 + 1482 1596 + 1482 1597 + 1482 1598 + 1483 1484 + 1483 1598 + 1484 1485 + 1484 1598 + 1484 1599 + 1484 1600 + 1485 1486 + 1485 1600 + 1486 1487 + 1486 1600 + 1486 1601 + 1486 1602 + 1487 1488 + 1487 1602 + 1488 1489 + 1488 1602 + 1488 1603 + 1488 1604 + 1489 1490 + 1489 1604 + 1490 1491 + 1490 1604 + 1490 1605 + 1490 1606 + 1491 1492 + 1491 1606 + 1492 1493 + 1492 1606 + 1492 1607 + 1492 1608 + 1493 1494 + 1493 1608 + 1494 1495 + 1494 1608 + 1494 1609 + 1494 1610 + 1496 1497 + 1497 1498 + 1497 1611 + 1497 1612 + 1497 1613 + 1498 1499 + 1498 1613 + 1499 1500 + 1499 1613 + 1499 1614 + 1499 1615 + 1500 1501 + 1500 1615 + 1501 1502 + 1501 1615 + 1501 1616 + 1501 1617 + 1502 1503 + 1502 1617 + 1503 1504 + 1503 1617 + 1503 1618 + 1503 1619 + 1504 1505 + 1504 1619 + 1505 1506 + 1505 1619 + 1505 1620 + 1505 1621 + 1506 1507 + 1506 1621 + 1507 1508 + 1507 1621 + 1507 1622 + 1507 1623 + 1508 1509 + 1508 1623 + 1509 1510 + 1509 1623 + 1509 1624 + 1509 1625 + 1510 1511 + 1510 1625 + 1511 1512 + 1511 1625 + 1511 1626 + 1511 1627 + 1512 1513 + 1512 1627 + 1513 1514 + 1513 1627 + 1513 1628 + 1513 1629 + 1514 1515 + 1514 1629 + 1515 1516 + 1515 1629 + 1515 1630 + 1515 1631 + 1516 1517 + 1516 1631 + 1517 1518 + 1517 1631 + 1517 1632 + 1517 1633 + 1518 1519 + 1518 1633 + 1519 1520 + 1519 1633 + 1519 1634 + 1519 1635 + 1520 1521 + 1520 1635 + 1521 1522 + 1521 1635 + 1521 1636 + 1521 1637 + 1522 1523 + 1522 1637 + 1523 1524 + 1523 1637 + 1523 1638 + 1523 1639 + 1524 1525 + 1524 1639 + 1525 1526 + 1525 1639 + 1525 1640 + 1525 1641 + 1526 1527 + 1526 1641 + 1527 1528 + 1527 1641 + 1527 1642 + 1527 1643 + 1528 1529 + 1528 1643 + 1529 1530 + 1529 1643 + 1529 1644 + 1529 1645 + 1530 1531 + 1530 1645 + 1531 1532 + 1531 1645 + 1531 1646 + 1531 1647 + 1532 1533 + 1532 1647 + 1533 1534 + 1533 1647 + 1533 1648 + 1533 1649 + 1534 1535 + 1534 1649 + 1535 1536 + 1535 1649 + 1535 1650 + 1535 1651 + 1536 1537 + 1536 1651 + 1537 1538 + 1537 1651 + 1537 1652 + 1537 1653 + 1538 1539 + 1538 1653 + 1539 1540 + 1539 1653 + 1539 1654 + 1539 1655 + 1540 1541 + 1540 1655 + 1541 1542 + 1541 1655 + 1541 1656 + 1541 1657 + 1542 1543 + 1542 1657 + 1543 1544 + 1543 1657 + 1543 1658 + 1543 1659 + 1544 1545 + 1544 1659 + 1545 1546 + 1545 1659 + 1545 1660 + 1545 1661 + 1546 1547 + 1546 1661 + 1547 1548 + 1547 1661 + 1547 1662 + 1547 1663 + 1548 1549 + 1548 1663 + 1549 1550 + 1549 1663 + 1549 1664 + 1549 1665 + 1550 1551 + 1550 1665 + 1551 1552 + 1551 1665 + 1551 1666 + 1551 1667 + 1552 1553 + 1552 1667 + 1553 1554 + 1553 1667 + 1553 1668 + 1553 1669 + 1554 1555 + 1554 1669 + 1555 1556 + 1555 1669 + 1555 1670 + 1555 1671 + 1556 1557 + 1556 1671 + 1557 1558 + 1557 1671 + 1557 1672 + 1557 1673 + 1558 1559 + 1558 1673 + 1559 1560 + 1559 1673 + 1559 1674 + 1559 1675 + 1560 1561 + 1560 1675 + 1561 1562 + 1561 1675 + 1561 1676 + 1561 1677 + 1562 1563 + 1562 1677 + 1563 1564 + 1563 1677 + 1563 1678 + 1563 1679 + 1564 1565 + 1564 1679 + 1565 1566 + 1565 1679 + 1565 1680 + 1565 1681 + 1566 1567 + 1566 1681 + 1567 1568 + 1567 1681 + 1567 1682 + 1567 1683 + 1568 1569 + 1568 1683 + 1569 1570 + 1569 1683 + 1569 1684 + 1569 1685 + 1570 1571 + 1570 1685 + 1571 1572 + 1571 1685 + 1571 1686 + 1571 1687 + 1572 1573 + 1572 1687 + 1573 1574 + 1573 1687 + 1573 1688 + 1573 1689 + 1574 1575 + 1574 1689 + 1575 1576 + 1575 1689 + 1575 1690 + 1575 1691 + 1576 1577 + 1576 1691 + 1577 1578 + 1577 1691 + 1577 1692 + 1577 1693 + 1578 1579 + 1578 1693 + 1579 1580 + 1579 1693 + 1579 1694 + 1579 1695 + 1580 1581 + 1580 1695 + 1581 1582 + 1581 1695 + 1581 1696 + 1581 1697 + 1582 1583 + 1582 1697 + 1583 1584 + 1583 1697 + 1583 1698 + 1583 1699 + 1584 1585 + 1584 1699 + 1585 1586 + 1585 1699 + 1585 1700 + 1585 1701 + 1586 1587 + 1586 1701 + 1587 1588 + 1587 1701 + 1587 1702 + 1587 1703 + 1588 1589 + 1588 1703 + 1589 1590 + 1589 1703 + 1589 1704 + 1589 1705 + 1590 1591 + 1590 1705 + 1591 1592 + 1591 1705 + 1591 1706 + 1591 1707 + 1592 1593 + 1592 1707 + 1593 1594 + 1593 1707 + 1593 1708 + 1593 1709 + 1594 1595 + 1594 1709 + 1595 1596 + 1595 1709 + 1595 1710 + 1595 1711 + 1596 1597 + 1596 1711 + 1597 1598 + 1597 1711 + 1597 1712 + 1597 1713 + 1598 1599 + 1598 1713 + 1599 1600 + 1599 1713 + 1599 1714 + 1599 1715 + 1600 1601 + 1600 1715 + 1601 1602 + 1601 1715 + 1601 1716 + 1601 1717 + 1602 1603 + 1602 1717 + 1603 1604 + 1603 1717 + 1603 1718 + 1603 1719 + 1604 1605 + 1604 1719 + 1605 1606 + 1605 1719 + 1605 1720 + 1605 1721 + 1606 1607 + 1606 1721 + 1607 1608 + 1607 1721 + 1607 1722 + 1607 1723 + 1608 1609 + 1608 1723 + 1609 1610 + 1609 1723 + 1609 1724 + 1609 1725 + 1611 1612 + 1612 1613 + 1612 1726 + 1612 1727 + 1612 1728 + 1613 1614 + 1613 1728 + 1614 1615 + 1614 1728 + 1614 1729 + 1614 1730 + 1615 1616 + 1615 1730 + 1616 1617 + 1616 1730 + 1616 1731 + 1616 1732 + 1617 1618 + 1617 1732 + 1618 1619 + 1618 1732 + 1618 1733 + 1618 1734 + 1619 1620 + 1619 1734 + 1620 1621 + 1620 1734 + 1620 1735 + 1620 1736 + 1621 1622 + 1621 1736 + 1622 1623 + 1622 1736 + 1622 1737 + 1622 1738 + 1623 1624 + 1623 1738 + 1624 1625 + 1624 1738 + 1624 1739 + 1624 1740 + 1625 1626 + 1625 1740 + 1626 1627 + 1626 1740 + 1626 1741 + 1626 1742 + 1627 1628 + 1627 1742 + 1628 1629 + 1628 1742 + 1628 1743 + 1628 1744 + 1629 1630 + 1629 1744 + 1630 1631 + 1630 1744 + 1630 1745 + 1630 1746 + 1631 1632 + 1631 1746 + 1632 1633 + 1632 1746 + 1632 1747 + 1632 1748 + 1633 1634 + 1633 1748 + 1634 1635 + 1634 1748 + 1634 1749 + 1634 1750 + 1635 1636 + 1635 1750 + 1636 1637 + 1636 1750 + 1636 1751 + 1636 1752 + 1637 1638 + 1637 1752 + 1638 1639 + 1638 1752 + 1638 1753 + 1638 1754 + 1639 1640 + 1639 1754 + 1640 1641 + 1640 1754 + 1640 1755 + 1640 1756 + 1641 1642 + 1641 1756 + 1642 1643 + 1642 1756 + 1642 1757 + 1642 1758 + 1643 1644 + 1643 1758 + 1644 1645 + 1644 1758 + 1644 1759 + 1644 1760 + 1645 1646 + 1645 1760 + 1646 1647 + 1646 1760 + 1646 1761 + 1646 1762 + 1647 1648 + 1647 1762 + 1648 1649 + 1648 1762 + 1648 1763 + 1648 1764 + 1649 1650 + 1649 1764 + 1650 1651 + 1650 1764 + 1650 1765 + 1650 1766 + 1651 1652 + 1651 1766 + 1652 1653 + 1652 1766 + 1652 1767 + 1652 1768 + 1653 1654 + 1653 1768 + 1654 1655 + 1654 1768 + 1654 1769 + 1654 1770 + 1655 1656 + 1655 1770 + 1656 1657 + 1656 1770 + 1656 1771 + 1656 1772 + 1657 1658 + 1657 1772 + 1658 1659 + 1658 1772 + 1658 1773 + 1658 1774 + 1659 1660 + 1659 1774 + 1660 1661 + 1660 1774 + 1660 1775 + 1660 1776 + 1661 1662 + 1661 1776 + 1662 1663 + 1662 1776 + 1662 1777 + 1662 1778 + 1663 1664 + 1663 1778 + 1664 1665 + 1664 1778 + 1664 1779 + 1664 1780 + 1665 1666 + 1665 1780 + 1666 1667 + 1666 1780 + 1666 1781 + 1666 1782 + 1667 1668 + 1667 1782 + 1668 1669 + 1668 1782 + 1668 1783 + 1668 1784 + 1669 1670 + 1669 1784 + 1670 1671 + 1670 1784 + 1670 1785 + 1670 1786 + 1671 1672 + 1671 1786 + 1672 1673 + 1672 1786 + 1672 1787 + 1672 1788 + 1673 1674 + 1673 1788 + 1674 1675 + 1674 1788 + 1674 1789 + 1674 1790 + 1675 1676 + 1675 1790 + 1676 1677 + 1676 1790 + 1676 1791 + 1676 1792 + 1677 1678 + 1677 1792 + 1678 1679 + 1678 1792 + 1678 1793 + 1678 1794 + 1679 1680 + 1679 1794 + 1680 1681 + 1680 1794 + 1680 1795 + 1680 1796 + 1681 1682 + 1681 1796 + 1682 1683 + 1682 1796 + 1682 1797 + 1682 1798 + 1683 1684 + 1683 1798 + 1684 1685 + 1684 1798 + 1684 1799 + 1684 1800 + 1685 1686 + 1685 1800 + 1686 1687 + 1686 1800 + 1686 1801 + 1686 1802 + 1687 1688 + 1687 1802 + 1688 1689 + 1688 1802 + 1688 1803 + 1688 1804 + 1689 1690 + 1689 1804 + 1690 1691 + 1690 1804 + 1690 1805 + 1690 1806 + 1691 1692 + 1691 1806 + 1692 1693 + 1692 1806 + 1692 1807 + 1692 1808 + 1693 1694 + 1693 1808 + 1694 1695 + 1694 1808 + 1694 1809 + 1694 1810 + 1695 1696 + 1695 1810 + 1696 1697 + 1696 1810 + 1696 1811 + 1696 1812 + 1697 1698 + 1697 1812 + 1698 1699 + 1698 1812 + 1698 1813 + 1698 1814 + 1699 1700 + 1699 1814 + 1700 1701 + 1700 1814 + 1700 1815 + 1700 1816 + 1701 1702 + 1701 1816 + 1702 1703 + 1702 1816 + 1702 1817 + 1702 1818 + 1703 1704 + 1703 1818 + 1704 1705 + 1704 1818 + 1704 1819 + 1704 1820 + 1705 1706 + 1705 1820 + 1706 1707 + 1706 1820 + 1706 1821 + 1706 1822 + 1707 1708 + 1707 1822 + 1708 1709 + 1708 1822 + 1708 1823 + 1708 1824 + 1709 1710 + 1709 1824 + 1710 1711 + 1710 1824 + 1710 1825 + 1710 1826 + 1711 1712 + 1711 1826 + 1712 1713 + 1712 1826 + 1712 1827 + 1712 1828 + 1713 1714 + 1713 1828 + 1714 1715 + 1714 1828 + 1714 1829 + 1714 1830 + 1715 1716 + 1715 1830 + 1716 1717 + 1716 1830 + 1716 1831 + 1716 1832 + 1717 1718 + 1717 1832 + 1718 1719 + 1718 1832 + 1718 1833 + 1718 1834 + 1719 1720 + 1719 1834 + 1720 1721 + 1720 1834 + 1720 1835 + 1720 1836 + 1721 1722 + 1721 1836 + 1722 1723 + 1722 1836 + 1722 1837 + 1722 1838 + 1723 1724 + 1723 1838 + 1724 1725 + 1724 1838 + 1724 1839 + 1724 1840 + 1726 1727 + 1727 1728 + 1727 1841 + 1727 1842 + 1727 1843 + 1728 1729 + 1728 1843 + 1729 1730 + 1729 1843 + 1729 1844 + 1729 1845 + 1730 1731 + 1730 1845 + 1731 1732 + 1731 1845 + 1731 1846 + 1731 1847 + 1732 1733 + 1732 1847 + 1733 1734 + 1733 1847 + 1733 1848 + 1733 1849 + 1734 1735 + 1734 1849 + 1735 1736 + 1735 1849 + 1735 1850 + 1735 1851 + 1736 1737 + 1736 1851 + 1737 1738 + 1737 1851 + 1737 1852 + 1737 1853 + 1738 1739 + 1738 1853 + 1739 1740 + 1739 1853 + 1739 1854 + 1739 1855 + 1740 1741 + 1740 1855 + 1741 1742 + 1741 1855 + 1741 1856 + 1741 1857 + 1742 1743 + 1742 1857 + 1743 1744 + 1743 1857 + 1743 1858 + 1743 1859 + 1744 1745 + 1744 1859 + 1745 1746 + 1745 1859 + 1745 1860 + 1745 1861 + 1746 1747 + 1746 1861 + 1747 1748 + 1747 1861 + 1747 1862 + 1747 1863 + 1748 1749 + 1748 1863 + 1749 1750 + 1749 1863 + 1749 1864 + 1749 1865 + 1750 1751 + 1750 1865 + 1751 1752 + 1751 1865 + 1751 1866 + 1751 1867 + 1752 1753 + 1752 1867 + 1753 1754 + 1753 1867 + 1753 1868 + 1753 1869 + 1754 1755 + 1754 1869 + 1755 1756 + 1755 1869 + 1755 1870 + 1755 1871 + 1756 1757 + 1756 1871 + 1757 1758 + 1757 1871 + 1757 1872 + 1757 1873 + 1758 1759 + 1758 1873 + 1759 1760 + 1759 1873 + 1759 1874 + 1759 1875 + 1760 1761 + 1760 1875 + 1761 1762 + 1761 1875 + 1761 1876 + 1761 1877 + 1762 1763 + 1762 1877 + 1763 1764 + 1763 1877 + 1763 1878 + 1763 1879 + 1764 1765 + 1764 1879 + 1765 1766 + 1765 1879 + 1765 1880 + 1765 1881 + 1766 1767 + 1766 1881 + 1767 1768 + 1767 1881 + 1767 1882 + 1767 1883 + 1768 1769 + 1768 1883 + 1769 1770 + 1769 1883 + 1769 1884 + 1769 1885 + 1770 1771 + 1770 1885 + 1771 1772 + 1771 1885 + 1771 1886 + 1771 1887 + 1772 1773 + 1772 1887 + 1773 1774 + 1773 1887 + 1773 1888 + 1773 1889 + 1774 1775 + 1774 1889 + 1775 1776 + 1775 1889 + 1775 1890 + 1775 1891 + 1776 1777 + 1776 1891 + 1777 1778 + 1777 1891 + 1777 1892 + 1777 1893 + 1778 1779 + 1778 1893 + 1779 1780 + 1779 1893 + 1779 1894 + 1779 1895 + 1780 1781 + 1780 1895 + 1781 1782 + 1781 1895 + 1781 1896 + 1781 1897 + 1782 1783 + 1782 1897 + 1783 1784 + 1783 1897 + 1783 1898 + 1783 1899 + 1784 1785 + 1784 1899 + 1785 1786 + 1785 1899 + 1785 1900 + 1785 1901 + 1786 1787 + 1786 1901 + 1787 1788 + 1787 1901 + 1787 1902 + 1787 1903 + 1788 1789 + 1788 1903 + 1789 1790 + 1789 1903 + 1789 1904 + 1789 1905 + 1790 1791 + 1790 1905 + 1791 1792 + 1791 1905 + 1791 1906 + 1791 1907 + 1792 1793 + 1792 1907 + 1793 1794 + 1793 1907 + 1793 1908 + 1793 1909 + 1794 1795 + 1794 1909 + 1795 1796 + 1795 1909 + 1795 1910 + 1795 1911 + 1796 1797 + 1796 1911 + 1797 1798 + 1797 1911 + 1797 1912 + 1797 1913 + 1798 1799 + 1798 1913 + 1799 1800 + 1799 1913 + 1799 1914 + 1799 1915 + 1800 1801 + 1800 1915 + 1801 1802 + 1801 1915 + 1801 1916 + 1801 1917 + 1802 1803 + 1802 1917 + 1803 1804 + 1803 1917 + 1803 1918 + 1803 1919 + 1804 1805 + 1804 1919 + 1805 1806 + 1805 1919 + 1805 1920 + 1805 1921 + 1806 1807 + 1806 1921 + 1807 1808 + 1807 1921 + 1807 1922 + 1807 1923 + 1808 1809 + 1808 1923 + 1809 1810 + 1809 1923 + 1809 1924 + 1809 1925 + 1810 1811 + 1810 1925 + 1811 1812 + 1811 1925 + 1811 1926 + 1811 1927 + 1812 1813 + 1812 1927 + 1813 1814 + 1813 1927 + 1813 1928 + 1813 1929 + 1814 1815 + 1814 1929 + 1815 1816 + 1815 1929 + 1815 1930 + 1815 1931 + 1816 1817 + 1816 1931 + 1817 1818 + 1817 1931 + 1817 1932 + 1817 1933 + 1818 1819 + 1818 1933 + 1819 1820 + 1819 1933 + 1819 1934 + 1819 1935 + 1820 1821 + 1820 1935 + 1821 1822 + 1821 1935 + 1821 1936 + 1821 1937 + 1822 1823 + 1822 1937 + 1823 1824 + 1823 1937 + 1823 1938 + 1823 1939 + 1824 1825 + 1824 1939 + 1825 1826 + 1825 1939 + 1825 1940 + 1825 1941 + 1826 1827 + 1826 1941 + 1827 1828 + 1827 1941 + 1827 1942 + 1827 1943 + 1828 1829 + 1828 1943 + 1829 1830 + 1829 1943 + 1829 1944 + 1829 1945 + 1830 1831 + 1830 1945 + 1831 1832 + 1831 1945 + 1831 1946 + 1831 1947 + 1832 1833 + 1832 1947 + 1833 1834 + 1833 1947 + 1833 1948 + 1833 1949 + 1834 1835 + 1834 1949 + 1835 1836 + 1835 1949 + 1835 1950 + 1835 1951 + 1836 1837 + 1836 1951 + 1837 1838 + 1837 1951 + 1837 1952 + 1837 1953 + 1838 1839 + 1838 1953 + 1839 1840 + 1839 1953 + 1839 1954 + 1839 1955 + 1841 1842 + 1842 1843 + 1842 1956 + 1842 1957 + 1842 1958 + 1843 1844 + 1843 1958 + 1844 1845 + 1844 1958 + 1844 1959 + 1844 1960 + 1845 1846 + 1845 1960 + 1846 1847 + 1846 1960 + 1846 1961 + 1846 1962 + 1847 1848 + 1847 1962 + 1848 1849 + 1848 1962 + 1848 1963 + 1848 1964 + 1849 1850 + 1849 1964 + 1850 1851 + 1850 1964 + 1850 1965 + 1850 1966 + 1851 1852 + 1851 1966 + 1852 1853 + 1852 1966 + 1852 1967 + 1852 1968 + 1853 1854 + 1853 1968 + 1854 1855 + 1854 1968 + 1854 1969 + 1854 1970 + 1855 1856 + 1855 1970 + 1856 1857 + 1856 1970 + 1856 1971 + 1856 1972 + 1857 1858 + 1857 1972 + 1858 1859 + 1858 1972 + 1858 1973 + 1858 1974 + 1859 1860 + 1859 1974 + 1860 1861 + 1860 1974 + 1860 1975 + 1860 1976 + 1861 1862 + 1861 1976 + 1862 1863 + 1862 1976 + 1862 1977 + 1862 1978 + 1863 1864 + 1863 1978 + 1864 1865 + 1864 1978 + 1864 1979 + 1864 1980 + 1865 1866 + 1865 1980 + 1866 1867 + 1866 1980 + 1866 1981 + 1866 1982 + 1867 1868 + 1867 1982 + 1868 1869 + 1868 1982 + 1868 1983 + 1868 1984 + 1869 1870 + 1869 1984 + 1870 1871 + 1870 1984 + 1870 1985 + 1870 1986 + 1871 1872 + 1871 1986 + 1872 1873 + 1872 1986 + 1872 1987 + 1872 1988 + 1873 1874 + 1873 1988 + 1874 1875 + 1874 1988 + 1874 1989 + 1874 1990 + 1875 1876 + 1875 1990 + 1876 1877 + 1876 1990 + 1876 1991 + 1876 1992 + 1877 1878 + 1877 1992 + 1878 1879 + 1878 1992 + 1878 1993 + 1878 1994 + 1879 1880 + 1879 1994 + 1880 1881 + 1880 1994 + 1880 1995 + 1880 1996 + 1881 1882 + 1881 1996 + 1882 1883 + 1882 1996 + 1882 1997 + 1882 1998 + 1883 1884 + 1883 1998 + 1884 1885 + 1884 1998 + 1884 1999 + 1884 2000 + 1885 1886 + 1885 2000 + 1886 1887 + 1886 2000 + 1886 2001 + 1886 2002 + 1887 1888 + 1887 2002 + 1888 1889 + 1888 2002 + 1888 2003 + 1888 2004 + 1889 1890 + 1889 2004 + 1890 1891 + 1890 2004 + 1890 2005 + 1890 2006 + 1891 1892 + 1891 2006 + 1892 1893 + 1892 2006 + 1892 2007 + 1892 2008 + 1893 1894 + 1893 2008 + 1894 1895 + 1894 2008 + 1894 2009 + 1894 2010 + 1895 1896 + 1895 2010 + 1896 1897 + 1896 2010 + 1896 2011 + 1896 2012 + 1897 1898 + 1897 2012 + 1898 1899 + 1898 2012 + 1898 2013 + 1898 2014 + 1899 1900 + 1899 2014 + 1900 1901 + 1900 2014 + 1900 2015 + 1900 2016 + 1901 1902 + 1901 2016 + 1902 1903 + 1902 2016 + 1902 2017 + 1902 2018 + 1903 1904 + 1903 2018 + 1904 1905 + 1904 2018 + 1904 2019 + 1904 2020 + 1905 1906 + 1905 2020 + 1906 1907 + 1906 2020 + 1906 2021 + 1906 2022 + 1907 1908 + 1907 2022 + 1908 1909 + 1908 2022 + 1908 2023 + 1908 2024 + 1909 1910 + 1909 2024 + 1910 1911 + 1910 2024 + 1910 2025 + 1910 2026 + 1911 1912 + 1911 2026 + 1912 1913 + 1912 2026 + 1912 2027 + 1912 2028 + 1913 1914 + 1913 2028 + 1914 1915 + 1914 2028 + 1914 2029 + 1914 2030 + 1915 1916 + 1915 2030 + 1916 1917 + 1916 2030 + 1916 2031 + 1916 2032 + 1917 1918 + 1917 2032 + 1918 1919 + 1918 2032 + 1918 2033 + 1918 2034 + 1919 1920 + 1919 2034 + 1920 1921 + 1920 2034 + 1920 2035 + 1920 2036 + 1921 1922 + 1921 2036 + 1922 1923 + 1922 2036 + 1922 2037 + 1922 2038 + 1923 1924 + 1923 2038 + 1924 1925 + 1924 2038 + 1924 2039 + 1924 2040 + 1925 1926 + 1925 2040 + 1926 1927 + 1926 2040 + 1926 2041 + 1926 2042 + 1927 1928 + 1927 2042 + 1928 1929 + 1928 2042 + 1928 2043 + 1928 2044 + 1929 1930 + 1929 2044 + 1930 1931 + 1930 2044 + 1930 2045 + 1930 2046 + 1931 1932 + 1931 2046 + 1932 1933 + 1932 2046 + 1932 2047 + 1932 2048 + 1933 1934 + 1933 2048 + 1934 1935 + 1934 2048 + 1934 2049 + 1934 2050 + 1935 1936 + 1935 2050 + 1936 1937 + 1936 2050 + 1936 2051 + 1936 2052 + 1937 1938 + 1937 2052 + 1938 1939 + 1938 2052 + 1938 2053 + 1938 2054 + 1939 1940 + 1939 2054 + 1940 1941 + 1940 2054 + 1940 2055 + 1940 2056 + 1941 1942 + 1941 2056 + 1942 1943 + 1942 2056 + 1942 2057 + 1942 2058 + 1943 1944 + 1943 2058 + 1944 1945 + 1944 2058 + 1944 2059 + 1944 2060 + 1945 1946 + 1945 2060 + 1946 1947 + 1946 2060 + 1946 2061 + 1946 2062 + 1947 1948 + 1947 2062 + 1948 1949 + 1948 2062 + 1948 2063 + 1948 2064 + 1949 1950 + 1949 2064 + 1950 1951 + 1950 2064 + 1950 2065 + 1950 2066 + 1951 1952 + 1951 2066 + 1952 1953 + 1952 2066 + 1952 2067 + 1952 2068 + 1953 1954 + 1953 2068 + 1954 1955 + 1954 2068 + 1954 2069 + 1954 2070 + 1956 1957 + 1957 1958 + 1957 2071 + 1957 2072 + 1957 2073 + 1958 1959 + 1958 2073 + 1959 1960 + 1959 2073 + 1959 2074 + 1959 2075 + 1960 1961 + 1960 2075 + 1961 1962 + 1961 2075 + 1961 2076 + 1961 2077 + 1962 1963 + 1962 2077 + 1963 1964 + 1963 2077 + 1963 2078 + 1963 2079 + 1964 1965 + 1964 2079 + 1965 1966 + 1965 2079 + 1965 2080 + 1965 2081 + 1966 1967 + 1966 2081 + 1967 1968 + 1967 2081 + 1967 2082 + 1967 2083 + 1968 1969 + 1968 2083 + 1969 1970 + 1969 2083 + 1969 2084 + 1969 2085 + 1970 1971 + 1970 2085 + 1971 1972 + 1971 2085 + 1971 2086 + 1971 2087 + 1972 1973 + 1972 2087 + 1973 1974 + 1973 2087 + 1973 2088 + 1973 2089 + 1974 1975 + 1974 2089 + 1975 1976 + 1975 2089 + 1975 2090 + 1975 2091 + 1976 1977 + 1976 2091 + 1977 1978 + 1977 2091 + 1977 2092 + 1977 2093 + 1978 1979 + 1978 2093 + 1979 1980 + 1979 2093 + 1979 2094 + 1979 2095 + 1980 1981 + 1980 2095 + 1981 1982 + 1981 2095 + 1981 2096 + 1981 2097 + 1982 1983 + 1982 2097 + 1983 1984 + 1983 2097 + 1983 2098 + 1983 2099 + 1984 1985 + 1984 2099 + 1985 1986 + 1985 2099 + 1985 2100 + 1985 2101 + 1986 1987 + 1986 2101 + 1987 1988 + 1987 2101 + 1987 2102 + 1987 2103 + 1988 1989 + 1988 2103 + 1989 1990 + 1989 2103 + 1989 2104 + 1989 2105 + 1990 1991 + 1990 2105 + 1991 1992 + 1991 2105 + 1991 2106 + 1991 2107 + 1992 1993 + 1992 2107 + 1993 1994 + 1993 2107 + 1993 2108 + 1993 2109 + 1994 1995 + 1994 2109 + 1995 1996 + 1995 2109 + 1995 2110 + 1995 2111 + 1996 1997 + 1996 2111 + 1997 1998 + 1997 2111 + 1997 2112 + 1997 2113 + 1998 1999 + 1998 2113 + 1999 2000 + 1999 2113 + 1999 2114 + 1999 2115 + 2000 2001 + 2000 2115 + 2001 2002 + 2001 2115 + 2001 2116 + 2001 2117 + 2002 2003 + 2002 2117 + 2003 2004 + 2003 2117 + 2003 2118 + 2003 2119 + 2004 2005 + 2004 2119 + 2005 2006 + 2005 2119 + 2005 2120 + 2005 2121 + 2006 2007 + 2006 2121 + 2007 2008 + 2007 2121 + 2007 2122 + 2007 2123 + 2008 2009 + 2008 2123 + 2009 2010 + 2009 2123 + 2009 2124 + 2009 2125 + 2010 2011 + 2010 2125 + 2011 2012 + 2011 2125 + 2011 2126 + 2011 2127 + 2012 2013 + 2012 2127 + 2013 2014 + 2013 2127 + 2013 2128 + 2013 2129 + 2014 2015 + 2014 2129 + 2015 2016 + 2015 2129 + 2015 2130 + 2015 2131 + 2016 2017 + 2016 2131 + 2017 2018 + 2017 2131 + 2017 2132 + 2017 2133 + 2018 2019 + 2018 2133 + 2019 2020 + 2019 2133 + 2019 2134 + 2019 2135 + 2020 2021 + 2020 2135 + 2021 2022 + 2021 2135 + 2021 2136 + 2021 2137 + 2022 2023 + 2022 2137 + 2023 2024 + 2023 2137 + 2023 2138 + 2023 2139 + 2024 2025 + 2024 2139 + 2025 2026 + 2025 2139 + 2025 2140 + 2025 2141 + 2026 2027 + 2026 2141 + 2027 2028 + 2027 2141 + 2027 2142 + 2027 2143 + 2028 2029 + 2028 2143 + 2029 2030 + 2029 2143 + 2029 2144 + 2029 2145 + 2030 2031 + 2030 2145 + 2031 2032 + 2031 2145 + 2031 2146 + 2031 2147 + 2032 2033 + 2032 2147 + 2033 2034 + 2033 2147 + 2033 2148 + 2033 2149 + 2034 2035 + 2034 2149 + 2035 2036 + 2035 2149 + 2035 2150 + 2035 2151 + 2036 2037 + 2036 2151 + 2037 2038 + 2037 2151 + 2037 2152 + 2037 2153 + 2038 2039 + 2038 2153 + 2039 2040 + 2039 2153 + 2039 2154 + 2039 2155 + 2040 2041 + 2040 2155 + 2041 2042 + 2041 2155 + 2041 2156 + 2041 2157 + 2042 2043 + 2042 2157 + 2043 2044 + 2043 2157 + 2043 2158 + 2043 2159 + 2044 2045 + 2044 2159 + 2045 2046 + 2045 2159 + 2045 2160 + 2045 2161 + 2046 2047 + 2046 2161 + 2047 2048 + 2047 2161 + 2047 2162 + 2047 2163 + 2048 2049 + 2048 2163 + 2049 2050 + 2049 2163 + 2049 2164 + 2049 2165 + 2050 2051 + 2050 2165 + 2051 2052 + 2051 2165 + 2051 2166 + 2051 2167 + 2052 2053 + 2052 2167 + 2053 2054 + 2053 2167 + 2053 2168 + 2053 2169 + 2054 2055 + 2054 2169 + 2055 2056 + 2055 2169 + 2055 2170 + 2055 2171 + 2056 2057 + 2056 2171 + 2057 2058 + 2057 2171 + 2057 2172 + 2057 2173 + 2058 2059 + 2058 2173 + 2059 2060 + 2059 2173 + 2059 2174 + 2059 2175 + 2060 2061 + 2060 2175 + 2061 2062 + 2061 2175 + 2061 2176 + 2061 2177 + 2062 2063 + 2062 2177 + 2063 2064 + 2063 2177 + 2063 2178 + 2063 2179 + 2064 2065 + 2064 2179 + 2065 2066 + 2065 2179 + 2065 2180 + 2065 2181 + 2066 2067 + 2066 2181 + 2067 2068 + 2067 2181 + 2067 2182 + 2067 2183 + 2068 2069 + 2068 2183 + 2069 2070 + 2069 2183 + 2069 2184 + 2069 2185 + 2071 2072 + 2072 2073 + 2072 2186 + 2072 2187 + 2072 2188 + 2073 2074 + 2073 2188 + 2074 2075 + 2074 2188 + 2074 2189 + 2074 2190 + 2075 2076 + 2075 2190 + 2076 2077 + 2076 2190 + 2076 2191 + 2076 2192 + 2077 2078 + 2077 2192 + 2078 2079 + 2078 2192 + 2078 2193 + 2078 2194 + 2079 2080 + 2079 2194 + 2080 2081 + 2080 2194 + 2080 2195 + 2080 2196 + 2081 2082 + 2081 2196 + 2082 2083 + 2082 2196 + 2082 2197 + 2082 2198 + 2083 2084 + 2083 2198 + 2084 2085 + 2084 2198 + 2084 2199 + 2084 2200 + 2085 2086 + 2085 2200 + 2086 2087 + 2086 2200 + 2086 2201 + 2086 2202 + 2087 2088 + 2087 2202 + 2088 2089 + 2088 2202 + 2088 2203 + 2088 2204 + 2089 2090 + 2089 2204 + 2090 2091 + 2090 2204 + 2090 2205 + 2090 2206 + 2091 2092 + 2091 2206 + 2092 2093 + 2092 2206 + 2092 2207 + 2092 2208 + 2093 2094 + 2093 2208 + 2094 2095 + 2094 2208 + 2094 2209 + 2094 2210 + 2095 2096 + 2095 2210 + 2096 2097 + 2096 2210 + 2096 2211 + 2096 2212 + 2097 2098 + 2097 2212 + 2098 2099 + 2098 2212 + 2098 2213 + 2098 2214 + 2099 2100 + 2099 2214 + 2100 2101 + 2100 2214 + 2100 2215 + 2100 2216 + 2101 2102 + 2101 2216 + 2102 2103 + 2102 2216 + 2102 2217 + 2102 2218 + 2103 2104 + 2103 2218 + 2104 2105 + 2104 2218 + 2104 2219 + 2104 2220 + 2105 2106 + 2105 2220 + 2106 2107 + 2106 2220 + 2106 2221 + 2106 2222 + 2107 2108 + 2107 2222 + 2108 2109 + 2108 2222 + 2108 2223 + 2108 2224 + 2109 2110 + 2109 2224 + 2110 2111 + 2110 2224 + 2110 2225 + 2110 2226 + 2111 2112 + 2111 2226 + 2112 2113 + 2112 2226 + 2112 2227 + 2112 2228 + 2113 2114 + 2113 2228 + 2114 2115 + 2114 2228 + 2114 2229 + 2114 2230 + 2115 2116 + 2115 2230 + 2116 2117 + 2116 2230 + 2116 2231 + 2116 2232 + 2117 2118 + 2117 2232 + 2118 2119 + 2118 2232 + 2118 2233 + 2118 2234 + 2119 2120 + 2119 2234 + 2120 2121 + 2120 2234 + 2120 2235 + 2120 2236 + 2121 2122 + 2121 2236 + 2122 2123 + 2122 2236 + 2122 2237 + 2122 2238 + 2123 2124 + 2123 2238 + 2124 2125 + 2124 2238 + 2124 2239 + 2124 2240 + 2125 2126 + 2125 2240 + 2126 2127 + 2126 2240 + 2126 2241 + 2126 2242 + 2127 2128 + 2127 2242 + 2128 2129 + 2128 2242 + 2128 2243 + 2128 2244 + 2129 2130 + 2129 2244 + 2130 2131 + 2130 2244 + 2130 2245 + 2130 2246 + 2131 2132 + 2131 2246 + 2132 2133 + 2132 2246 + 2132 2247 + 2132 2248 + 2133 2134 + 2133 2248 + 2134 2135 + 2134 2248 + 2134 2249 + 2134 2250 + 2135 2136 + 2135 2250 + 2136 2137 + 2136 2250 + 2136 2251 + 2136 2252 + 2137 2138 + 2137 2252 + 2138 2139 + 2138 2252 + 2138 2253 + 2138 2254 + 2139 2140 + 2139 2254 + 2140 2141 + 2140 2254 + 2140 2255 + 2140 2256 + 2141 2142 + 2141 2256 + 2142 2143 + 2142 2256 + 2142 2257 + 2142 2258 + 2143 2144 + 2143 2258 + 2144 2145 + 2144 2258 + 2144 2259 + 2144 2260 + 2145 2146 + 2145 2260 + 2146 2147 + 2146 2260 + 2146 2261 + 2146 2262 + 2147 2148 + 2147 2262 + 2148 2149 + 2148 2262 + 2148 2263 + 2148 2264 + 2149 2150 + 2149 2264 + 2150 2151 + 2150 2264 + 2150 2265 + 2150 2266 + 2151 2152 + 2151 2266 + 2152 2153 + 2152 2266 + 2152 2267 + 2152 2268 + 2153 2154 + 2153 2268 + 2154 2155 + 2154 2268 + 2154 2269 + 2154 2270 + 2155 2156 + 2155 2270 + 2156 2157 + 2156 2270 + 2156 2271 + 2156 2272 + 2157 2158 + 2157 2272 + 2158 2159 + 2158 2272 + 2158 2273 + 2158 2274 + 2159 2160 + 2159 2274 + 2160 2161 + 2160 2274 + 2160 2275 + 2160 2276 + 2161 2162 + 2161 2276 + 2162 2163 + 2162 2276 + 2162 2277 + 2162 2278 + 2163 2164 + 2163 2278 + 2164 2165 + 2164 2278 + 2164 2279 + 2164 2280 + 2165 2166 + 2165 2280 + 2166 2167 + 2166 2280 + 2166 2281 + 2166 2282 + 2167 2168 + 2167 2282 + 2168 2169 + 2168 2282 + 2168 2283 + 2168 2284 + 2169 2170 + 2169 2284 + 2170 2171 + 2170 2284 + 2170 2285 + 2170 2286 + 2171 2172 + 2171 2286 + 2172 2173 + 2172 2286 + 2172 2287 + 2172 2288 + 2173 2174 + 2173 2288 + 2174 2175 + 2174 2288 + 2174 2289 + 2174 2290 + 2175 2176 + 2175 2290 + 2176 2177 + 2176 2290 + 2176 2291 + 2176 2292 + 2177 2178 + 2177 2292 + 2178 2179 + 2178 2292 + 2178 2293 + 2178 2294 + 2179 2180 + 2179 2294 + 2180 2181 + 2180 2294 + 2180 2295 + 2180 2296 + 2181 2182 + 2181 2296 + 2182 2183 + 2182 2296 + 2182 2297 + 2182 2298 + 2183 2184 + 2183 2298 + 2184 2185 + 2184 2298 + 2184 2299 + 2184 2300 + 2186 2187 + 2187 2188 + 2187 2301 + 2187 2302 + 2187 2303 + 2188 2189 + 2188 2303 + 2189 2190 + 2189 2303 + 2189 2304 + 2189 2305 + 2190 2191 + 2190 2305 + 2191 2192 + 2191 2305 + 2191 2306 + 2191 2307 + 2192 2193 + 2192 2307 + 2193 2194 + 2193 2307 + 2193 2308 + 2193 2309 + 2194 2195 + 2194 2309 + 2195 2196 + 2195 2309 + 2195 2310 + 2195 2311 + 2196 2197 + 2196 2311 + 2197 2198 + 2197 2311 + 2197 2312 + 2197 2313 + 2198 2199 + 2198 2313 + 2199 2200 + 2199 2313 + 2199 2314 + 2199 2315 + 2200 2201 + 2200 2315 + 2201 2202 + 2201 2315 + 2201 2316 + 2201 2317 + 2202 2203 + 2202 2317 + 2203 2204 + 2203 2317 + 2203 2318 + 2203 2319 + 2204 2205 + 2204 2319 + 2205 2206 + 2205 2319 + 2205 2320 + 2205 2321 + 2206 2207 + 2206 2321 + 2207 2208 + 2207 2321 + 2207 2322 + 2207 2323 + 2208 2209 + 2208 2323 + 2209 2210 + 2209 2323 + 2209 2324 + 2209 2325 + 2210 2211 + 2210 2325 + 2211 2212 + 2211 2325 + 2211 2326 + 2211 2327 + 2212 2213 + 2212 2327 + 2213 2214 + 2213 2327 + 2213 2328 + 2213 2329 + 2214 2215 + 2214 2329 + 2215 2216 + 2215 2329 + 2215 2330 + 2215 2331 + 2216 2217 + 2216 2331 + 2217 2218 + 2217 2331 + 2217 2332 + 2217 2333 + 2218 2219 + 2218 2333 + 2219 2220 + 2219 2333 + 2219 2334 + 2219 2335 + 2220 2221 + 2220 2335 + 2221 2222 + 2221 2335 + 2221 2336 + 2221 2337 + 2222 2223 + 2222 2337 + 2223 2224 + 2223 2337 + 2223 2338 + 2223 2339 + 2224 2225 + 2224 2339 + 2225 2226 + 2225 2339 + 2225 2340 + 2225 2341 + 2226 2227 + 2226 2341 + 2227 2228 + 2227 2341 + 2227 2342 + 2227 2343 + 2228 2229 + 2228 2343 + 2229 2230 + 2229 2343 + 2229 2344 + 2229 2345 + 2230 2231 + 2230 2345 + 2231 2232 + 2231 2345 + 2231 2346 + 2231 2347 + 2232 2233 + 2232 2347 + 2233 2234 + 2233 2347 + 2233 2348 + 2233 2349 + 2234 2235 + 2234 2349 + 2235 2236 + 2235 2349 + 2235 2350 + 2235 2351 + 2236 2237 + 2236 2351 + 2237 2238 + 2237 2351 + 2237 2352 + 2237 2353 + 2238 2239 + 2238 2353 + 2239 2240 + 2239 2353 + 2239 2354 + 2239 2355 + 2240 2241 + 2240 2355 + 2241 2242 + 2241 2355 + 2241 2356 + 2241 2357 + 2242 2243 + 2242 2357 + 2243 2244 + 2243 2357 + 2243 2358 + 2243 2359 + 2244 2245 + 2244 2359 + 2245 2246 + 2245 2359 + 2245 2360 + 2245 2361 + 2246 2247 + 2246 2361 + 2247 2248 + 2247 2361 + 2247 2362 + 2247 2363 + 2248 2249 + 2248 2363 + 2249 2250 + 2249 2363 + 2249 2364 + 2249 2365 + 2250 2251 + 2250 2365 + 2251 2252 + 2251 2365 + 2251 2366 + 2251 2367 + 2252 2253 + 2252 2367 + 2253 2254 + 2253 2367 + 2253 2368 + 2253 2369 + 2254 2255 + 2254 2369 + 2255 2256 + 2255 2369 + 2255 2370 + 2255 2371 + 2256 2257 + 2256 2371 + 2257 2258 + 2257 2371 + 2257 2372 + 2257 2373 + 2258 2259 + 2258 2373 + 2259 2260 + 2259 2373 + 2259 2374 + 2259 2375 + 2260 2261 + 2260 2375 + 2261 2262 + 2261 2375 + 2261 2376 + 2261 2377 + 2262 2263 + 2262 2377 + 2263 2264 + 2263 2377 + 2263 2378 + 2263 2379 + 2264 2265 + 2264 2379 + 2265 2266 + 2265 2379 + 2265 2380 + 2265 2381 + 2266 2267 + 2266 2381 + 2267 2268 + 2267 2381 + 2267 2382 + 2267 2383 + 2268 2269 + 2268 2383 + 2269 2270 + 2269 2383 + 2269 2384 + 2269 2385 + 2270 2271 + 2270 2385 + 2271 2272 + 2271 2385 + 2271 2386 + 2271 2387 + 2272 2273 + 2272 2387 + 2273 2274 + 2273 2387 + 2273 2388 + 2273 2389 + 2274 2275 + 2274 2389 + 2275 2276 + 2275 2389 + 2275 2390 + 2275 2391 + 2276 2277 + 2276 2391 + 2277 2278 + 2277 2391 + 2277 2392 + 2277 2393 + 2278 2279 + 2278 2393 + 2279 2280 + 2279 2393 + 2279 2394 + 2279 2395 + 2280 2281 + 2280 2395 + 2281 2282 + 2281 2395 + 2281 2396 + 2281 2397 + 2282 2283 + 2282 2397 + 2283 2284 + 2283 2397 + 2283 2398 + 2283 2399 + 2284 2285 + 2284 2399 + 2285 2286 + 2285 2399 + 2285 2400 + 2285 2401 + 2286 2287 + 2286 2401 + 2287 2288 + 2287 2401 + 2287 2402 + 2287 2403 + 2288 2289 + 2288 2403 + 2289 2290 + 2289 2403 + 2289 2404 + 2289 2405 + 2290 2291 + 2290 2405 + 2291 2292 + 2291 2405 + 2291 2406 + 2291 2407 + 2292 2293 + 2292 2407 + 2293 2294 + 2293 2407 + 2293 2408 + 2293 2409 + 2294 2295 + 2294 2409 + 2295 2296 + 2295 2409 + 2295 2410 + 2295 2411 + 2296 2297 + 2296 2411 + 2297 2298 + 2297 2411 + 2297 2412 + 2297 2413 + 2298 2299 + 2298 2413 + 2299 2300 + 2299 2413 + 2299 2414 + 2299 2415 + 2301 2302 + 2302 2303 + 2302 2416 + 2302 2417 + 2302 2418 + 2303 2304 + 2303 2418 + 2304 2305 + 2304 2418 + 2304 2419 + 2304 2420 + 2305 2306 + 2305 2420 + 2306 2307 + 2306 2420 + 2306 2421 + 2306 2422 + 2307 2308 + 2307 2422 + 2308 2309 + 2308 2422 + 2308 2423 + 2308 2424 + 2309 2310 + 2309 2424 + 2310 2311 + 2310 2424 + 2310 2425 + 2310 2426 + 2311 2312 + 2311 2426 + 2312 2313 + 2312 2426 + 2312 2427 + 2312 2428 + 2313 2314 + 2313 2428 + 2314 2315 + 2314 2428 + 2314 2429 + 2314 2430 + 2315 2316 + 2315 2430 + 2316 2317 + 2316 2430 + 2316 2431 + 2316 2432 + 2317 2318 + 2317 2432 + 2318 2319 + 2318 2432 + 2318 2433 + 2318 2434 + 2319 2320 + 2319 2434 + 2320 2321 + 2320 2434 + 2320 2435 + 2320 2436 + 2321 2322 + 2321 2436 + 2322 2323 + 2322 2436 + 2322 2437 + 2322 2438 + 2323 2324 + 2323 2438 + 2324 2325 + 2324 2438 + 2324 2439 + 2324 2440 + 2325 2326 + 2325 2440 + 2326 2327 + 2326 2440 + 2326 2441 + 2326 2442 + 2327 2328 + 2327 2442 + 2328 2329 + 2328 2442 + 2328 2443 + 2328 2444 + 2329 2330 + 2329 2444 + 2330 2331 + 2330 2444 + 2330 2445 + 2330 2446 + 2331 2332 + 2331 2446 + 2332 2333 + 2332 2446 + 2332 2447 + 2332 2448 + 2333 2334 + 2333 2448 + 2334 2335 + 2334 2448 + 2334 2449 + 2334 2450 + 2335 2336 + 2335 2450 + 2336 2337 + 2336 2450 + 2336 2451 + 2336 2452 + 2337 2338 + 2337 2452 + 2338 2339 + 2338 2452 + 2338 2453 + 2338 2454 + 2339 2340 + 2339 2454 + 2340 2341 + 2340 2454 + 2340 2455 + 2340 2456 + 2341 2342 + 2341 2456 + 2342 2343 + 2342 2456 + 2342 2457 + 2342 2458 + 2343 2344 + 2343 2458 + 2344 2345 + 2344 2458 + 2344 2459 + 2344 2460 + 2345 2346 + 2345 2460 + 2346 2347 + 2346 2460 + 2346 2461 + 2346 2462 + 2347 2348 + 2347 2462 + 2348 2349 + 2348 2462 + 2348 2463 + 2348 2464 + 2349 2350 + 2349 2464 + 2350 2351 + 2350 2464 + 2350 2465 + 2350 2466 + 2351 2352 + 2351 2466 + 2352 2353 + 2352 2466 + 2352 2467 + 2352 2468 + 2353 2354 + 2353 2468 + 2354 2355 + 2354 2468 + 2354 2469 + 2354 2470 + 2355 2356 + 2355 2470 + 2356 2357 + 2356 2470 + 2356 2471 + 2356 2472 + 2357 2358 + 2357 2472 + 2358 2359 + 2358 2472 + 2358 2473 + 2358 2474 + 2359 2360 + 2359 2474 + 2360 2361 + 2360 2474 + 2360 2475 + 2360 2476 + 2361 2362 + 2361 2476 + 2362 2363 + 2362 2476 + 2362 2477 + 2362 2478 + 2363 2364 + 2363 2478 + 2364 2365 + 2364 2478 + 2364 2479 + 2364 2480 + 2365 2366 + 2365 2480 + 2366 2367 + 2366 2480 + 2366 2481 + 2366 2482 + 2367 2368 + 2367 2482 + 2368 2369 + 2368 2482 + 2368 2483 + 2368 2484 + 2369 2370 + 2369 2484 + 2370 2371 + 2370 2484 + 2370 2485 + 2370 2486 + 2371 2372 + 2371 2486 + 2372 2373 + 2372 2486 + 2372 2487 + 2372 2488 + 2373 2374 + 2373 2488 + 2374 2375 + 2374 2488 + 2374 2489 + 2374 2490 + 2375 2376 + 2375 2490 + 2376 2377 + 2376 2490 + 2376 2491 + 2376 2492 + 2377 2378 + 2377 2492 + 2378 2379 + 2378 2492 + 2378 2493 + 2378 2494 + 2379 2380 + 2379 2494 + 2380 2381 + 2380 2494 + 2380 2495 + 2380 2496 + 2381 2382 + 2381 2496 + 2382 2383 + 2382 2496 + 2382 2497 + 2382 2498 + 2383 2384 + 2383 2498 + 2384 2385 + 2384 2498 + 2384 2499 + 2384 2500 + 2385 2386 + 2385 2500 + 2386 2387 + 2386 2500 + 2386 2501 + 2386 2502 + 2387 2388 + 2387 2502 + 2388 2389 + 2388 2502 + 2388 2503 + 2388 2504 + 2389 2390 + 2389 2504 + 2390 2391 + 2390 2504 + 2390 2505 + 2390 2506 + 2391 2392 + 2391 2506 + 2392 2393 + 2392 2506 + 2392 2507 + 2392 2508 + 2393 2394 + 2393 2508 + 2394 2395 + 2394 2508 + 2394 2509 + 2394 2510 + 2395 2396 + 2395 2510 + 2396 2397 + 2396 2510 + 2396 2511 + 2396 2512 + 2397 2398 + 2397 2512 + 2398 2399 + 2398 2512 + 2398 2513 + 2398 2514 + 2399 2400 + 2399 2514 + 2400 2401 + 2400 2514 + 2400 2515 + 2400 2516 + 2401 2402 + 2401 2516 + 2402 2403 + 2402 2516 + 2402 2517 + 2402 2518 + 2403 2404 + 2403 2518 + 2404 2405 + 2404 2518 + 2404 2519 + 2404 2520 + 2405 2406 + 2405 2520 + 2406 2407 + 2406 2520 + 2406 2521 + 2406 2522 + 2407 2408 + 2407 2522 + 2408 2409 + 2408 2522 + 2408 2523 + 2408 2524 + 2409 2410 + 2409 2524 + 2410 2411 + 2410 2524 + 2410 2525 + 2410 2526 + 2411 2412 + 2411 2526 + 2412 2413 + 2412 2526 + 2412 2527 + 2412 2528 + 2413 2414 + 2413 2528 + 2414 2415 + 2414 2528 + 2414 2529 + 2414 2530 + 2416 2417 + 2417 2418 + 2417 2531 + 2417 2532 + 2417 2533 + 2418 2419 + 2418 2533 + 2419 2420 + 2419 2533 + 2419 2534 + 2419 2535 + 2420 2421 + 2420 2535 + 2421 2422 + 2421 2535 + 2421 2536 + 2421 2537 + 2422 2423 + 2422 2537 + 2423 2424 + 2423 2537 + 2423 2538 + 2423 2539 + 2424 2425 + 2424 2539 + 2425 2426 + 2425 2539 + 2425 2540 + 2425 2541 + 2426 2427 + 2426 2541 + 2427 2428 + 2427 2541 + 2427 2542 + 2427 2543 + 2428 2429 + 2428 2543 + 2429 2430 + 2429 2543 + 2429 2544 + 2429 2545 + 2430 2431 + 2430 2545 + 2431 2432 + 2431 2545 + 2431 2546 + 2431 2547 + 2432 2433 + 2432 2547 + 2433 2434 + 2433 2547 + 2433 2548 + 2433 2549 + 2434 2435 + 2434 2549 + 2435 2436 + 2435 2549 + 2435 2550 + 2435 2551 + 2436 2437 + 2436 2551 + 2437 2438 + 2437 2551 + 2437 2552 + 2437 2553 + 2438 2439 + 2438 2553 + 2439 2440 + 2439 2553 + 2439 2554 + 2439 2555 + 2440 2441 + 2440 2555 + 2441 2442 + 2441 2555 + 2441 2556 + 2441 2557 + 2442 2443 + 2442 2557 + 2443 2444 + 2443 2557 + 2443 2558 + 2443 2559 + 2444 2445 + 2444 2559 + 2445 2446 + 2445 2559 + 2445 2560 + 2445 2561 + 2446 2447 + 2446 2561 + 2447 2448 + 2447 2561 + 2447 2562 + 2447 2563 + 2448 2449 + 2448 2563 + 2449 2450 + 2449 2563 + 2449 2564 + 2449 2565 + 2450 2451 + 2450 2565 + 2451 2452 + 2451 2565 + 2451 2566 + 2451 2567 + 2452 2453 + 2452 2567 + 2453 2454 + 2453 2567 + 2453 2568 + 2453 2569 + 2454 2455 + 2454 2569 + 2455 2456 + 2455 2569 + 2455 2570 + 2455 2571 + 2456 2457 + 2456 2571 + 2457 2458 + 2457 2571 + 2457 2572 + 2457 2573 + 2458 2459 + 2458 2573 + 2459 2460 + 2459 2573 + 2459 2574 + 2459 2575 + 2460 2461 + 2460 2575 + 2461 2462 + 2461 2575 + 2461 2576 + 2461 2577 + 2462 2463 + 2462 2577 + 2463 2464 + 2463 2577 + 2463 2578 + 2463 2579 + 2464 2465 + 2464 2579 + 2465 2466 + 2465 2579 + 2465 2580 + 2465 2581 + 2466 2467 + 2466 2581 + 2467 2468 + 2467 2581 + 2467 2582 + 2467 2583 + 2468 2469 + 2468 2583 + 2469 2470 + 2469 2583 + 2469 2584 + 2469 2585 + 2470 2471 + 2470 2585 + 2471 2472 + 2471 2585 + 2471 2586 + 2471 2587 + 2472 2473 + 2472 2587 + 2473 2474 + 2473 2587 + 2473 2588 + 2473 2589 + 2474 2475 + 2474 2589 + 2475 2476 + 2475 2589 + 2475 2590 + 2475 2591 + 2476 2477 + 2476 2591 + 2477 2478 + 2477 2591 + 2477 2592 + 2477 2593 + 2478 2479 + 2478 2593 + 2479 2480 + 2479 2593 + 2479 2594 + 2479 2595 + 2480 2481 + 2480 2595 + 2481 2482 + 2481 2595 + 2481 2596 + 2481 2597 + 2482 2483 + 2482 2597 + 2483 2484 + 2483 2597 + 2483 2598 + 2483 2599 + 2484 2485 + 2484 2599 + 2485 2486 + 2485 2599 + 2485 2600 + 2485 2601 + 2486 2487 + 2486 2601 + 2487 2488 + 2487 2601 + 2487 2602 + 2487 2603 + 2488 2489 + 2488 2603 + 2489 2490 + 2489 2603 + 2489 2604 + 2489 2605 + 2490 2491 + 2490 2605 + 2491 2492 + 2491 2605 + 2491 2606 + 2491 2607 + 2492 2493 + 2492 2607 + 2493 2494 + 2493 2607 + 2493 2608 + 2493 2609 + 2494 2495 + 2494 2609 + 2495 2496 + 2495 2609 + 2495 2610 + 2495 2611 + 2496 2497 + 2496 2611 + 2497 2498 + 2497 2611 + 2497 2612 + 2497 2613 + 2498 2499 + 2498 2613 + 2499 2500 + 2499 2613 + 2499 2614 + 2499 2615 + 2500 2501 + 2500 2615 + 2501 2502 + 2501 2615 + 2501 2616 + 2501 2617 + 2502 2503 + 2502 2617 + 2503 2504 + 2503 2617 + 2503 2618 + 2503 2619 + 2504 2505 + 2504 2619 + 2505 2506 + 2505 2619 + 2505 2620 + 2505 2621 + 2506 2507 + 2506 2621 + 2507 2508 + 2507 2621 + 2507 2622 + 2507 2623 + 2508 2509 + 2508 2623 + 2509 2510 + 2509 2623 + 2509 2624 + 2509 2625 + 2510 2511 + 2510 2625 + 2511 2512 + 2511 2625 + 2511 2626 + 2511 2627 + 2512 2513 + 2512 2627 + 2513 2514 + 2513 2627 + 2513 2628 + 2513 2629 + 2514 2515 + 2514 2629 + 2515 2516 + 2515 2629 + 2515 2630 + 2515 2631 + 2516 2517 + 2516 2631 + 2517 2518 + 2517 2631 + 2517 2632 + 2517 2633 + 2518 2519 + 2518 2633 + 2519 2520 + 2519 2633 + 2519 2634 + 2519 2635 + 2520 2521 + 2520 2635 + 2521 2522 + 2521 2635 + 2521 2636 + 2521 2637 + 2522 2523 + 2522 2637 + 2523 2524 + 2523 2637 + 2523 2638 + 2523 2639 + 2524 2525 + 2524 2639 + 2525 2526 + 2525 2639 + 2525 2640 + 2525 2641 + 2526 2527 + 2526 2641 + 2527 2528 + 2527 2641 + 2527 2642 + 2527 2643 + 2528 2529 + 2528 2643 + 2529 2530 + 2529 2643 + 2529 2644 + 2529 2645 + 2531 2532 + 2532 2533 + 2532 2646 + 2532 2647 + 2532 2648 + 2533 2534 + 2533 2648 + 2534 2535 + 2534 2648 + 2534 2649 + 2534 2650 + 2535 2536 + 2535 2650 + 2536 2537 + 2536 2650 + 2536 2651 + 2536 2652 + 2537 2538 + 2537 2652 + 2538 2539 + 2538 2652 + 2538 2653 + 2538 2654 + 2539 2540 + 2539 2654 + 2540 2541 + 2540 2654 + 2540 2655 + 2540 2656 + 2541 2542 + 2541 2656 + 2542 2543 + 2542 2656 + 2542 2657 + 2542 2658 + 2543 2544 + 2543 2658 + 2544 2545 + 2544 2658 + 2544 2659 + 2544 2660 + 2545 2546 + 2545 2660 + 2546 2547 + 2546 2660 + 2546 2661 + 2546 2662 + 2547 2548 + 2547 2662 + 2548 2549 + 2548 2662 + 2548 2663 + 2548 2664 + 2549 2550 + 2549 2664 + 2550 2551 + 2550 2664 + 2550 2665 + 2550 2666 + 2551 2552 + 2551 2666 + 2552 2553 + 2552 2666 + 2552 2667 + 2552 2668 + 2553 2554 + 2553 2668 + 2554 2555 + 2554 2668 + 2554 2669 + 2554 2670 + 2555 2556 + 2555 2670 + 2556 2557 + 2556 2670 + 2556 2671 + 2556 2672 + 2557 2558 + 2557 2672 + 2558 2559 + 2558 2672 + 2558 2673 + 2558 2674 + 2559 2560 + 2559 2674 + 2560 2561 + 2560 2674 + 2560 2675 + 2560 2676 + 2561 2562 + 2561 2676 + 2562 2563 + 2562 2676 + 2562 2677 + 2562 2678 + 2563 2564 + 2563 2678 + 2564 2565 + 2564 2678 + 2564 2679 + 2564 2680 + 2565 2566 + 2565 2680 + 2566 2567 + 2566 2680 + 2566 2681 + 2566 2682 + 2567 2568 + 2567 2682 + 2568 2569 + 2568 2682 + 2568 2683 + 2568 2684 + 2569 2570 + 2569 2684 + 2570 2571 + 2570 2684 + 2570 2685 + 2570 2686 + 2571 2572 + 2571 2686 + 2572 2573 + 2572 2686 + 2572 2687 + 2572 2688 + 2573 2574 + 2573 2688 + 2574 2575 + 2574 2688 + 2574 2689 + 2574 2690 + 2575 2576 + 2575 2690 + 2576 2577 + 2576 2690 + 2576 2691 + 2576 2692 + 2577 2578 + 2577 2692 + 2578 2579 + 2578 2692 + 2578 2693 + 2578 2694 + 2579 2580 + 2579 2694 + 2580 2581 + 2580 2694 + 2580 2695 + 2580 2696 + 2581 2582 + 2581 2696 + 2582 2583 + 2582 2696 + 2582 2697 + 2582 2698 + 2583 2584 + 2583 2698 + 2584 2585 + 2584 2698 + 2584 2699 + 2584 2700 + 2585 2586 + 2585 2700 + 2586 2587 + 2586 2700 + 2586 2701 + 2586 2702 + 2587 2588 + 2587 2702 + 2588 2589 + 2588 2702 + 2588 2703 + 2588 2704 + 2589 2590 + 2589 2704 + 2590 2591 + 2590 2704 + 2590 2705 + 2590 2706 + 2591 2592 + 2591 2706 + 2592 2593 + 2592 2706 + 2592 2707 + 2592 2708 + 2593 2594 + 2593 2708 + 2594 2595 + 2594 2708 + 2594 2709 + 2594 2710 + 2595 2596 + 2595 2710 + 2596 2597 + 2596 2710 + 2596 2711 + 2596 2712 + 2597 2598 + 2597 2712 + 2598 2599 + 2598 2712 + 2598 2713 + 2598 2714 + 2599 2600 + 2599 2714 + 2600 2601 + 2600 2714 + 2600 2715 + 2600 2716 + 2601 2602 + 2601 2716 + 2602 2603 + 2602 2716 + 2602 2717 + 2602 2718 + 2603 2604 + 2603 2718 + 2604 2605 + 2604 2718 + 2604 2719 + 2604 2720 + 2605 2606 + 2605 2720 + 2606 2607 + 2606 2720 + 2606 2721 + 2606 2722 + 2607 2608 + 2607 2722 + 2608 2609 + 2608 2722 + 2608 2723 + 2608 2724 + 2609 2610 + 2609 2724 + 2610 2611 + 2610 2724 + 2610 2725 + 2610 2726 + 2611 2612 + 2611 2726 + 2612 2613 + 2612 2726 + 2612 2727 + 2612 2728 + 2613 2614 + 2613 2728 + 2614 2615 + 2614 2728 + 2614 2729 + 2614 2730 + 2615 2616 + 2615 2730 + 2616 2617 + 2616 2730 + 2616 2731 + 2616 2732 + 2617 2618 + 2617 2732 + 2618 2619 + 2618 2732 + 2618 2733 + 2618 2734 + 2619 2620 + 2619 2734 + 2620 2621 + 2620 2734 + 2620 2735 + 2620 2736 + 2621 2622 + 2621 2736 + 2622 2623 + 2622 2736 + 2622 2737 + 2622 2738 + 2623 2624 + 2623 2738 + 2624 2625 + 2624 2738 + 2624 2739 + 2624 2740 + 2625 2626 + 2625 2740 + 2626 2627 + 2626 2740 + 2626 2741 + 2626 2742 + 2627 2628 + 2627 2742 + 2628 2629 + 2628 2742 + 2628 2743 + 2628 2744 + 2629 2630 + 2629 2744 + 2630 2631 + 2630 2744 + 2630 2745 + 2630 2746 + 2631 2632 + 2631 2746 + 2632 2633 + 2632 2746 + 2632 2747 + 2632 2748 + 2633 2634 + 2633 2748 + 2634 2635 + 2634 2748 + 2634 2749 + 2634 2750 + 2635 2636 + 2635 2750 + 2636 2637 + 2636 2750 + 2636 2751 + 2636 2752 + 2637 2638 + 2637 2752 + 2638 2639 + 2638 2752 + 2638 2753 + 2638 2754 + 2639 2640 + 2639 2754 + 2640 2641 + 2640 2754 + 2640 2755 + 2640 2756 + 2641 2642 + 2641 2756 + 2642 2643 + 2642 2756 + 2642 2757 + 2642 2758 + 2643 2644 + 2643 2758 + 2644 2645 + 2644 2758 + 2644 2759 + 2644 2760 + 2646 2647 + 2647 2648 + 2647 2761 + 2647 2762 + 2647 2763 + 2648 2649 + 2648 2763 + 2649 2650 + 2649 2763 + 2649 2764 + 2649 2765 + 2650 2651 + 2650 2765 + 2651 2652 + 2651 2765 + 2651 2766 + 2651 2767 + 2652 2653 + 2652 2767 + 2653 2654 + 2653 2767 + 2653 2768 + 2653 2769 + 2654 2655 + 2654 2769 + 2655 2656 + 2655 2769 + 2655 2770 + 2655 2771 + 2656 2657 + 2656 2771 + 2657 2658 + 2657 2771 + 2657 2772 + 2657 2773 + 2658 2659 + 2658 2773 + 2659 2660 + 2659 2773 + 2659 2774 + 2659 2775 + 2660 2661 + 2660 2775 + 2661 2662 + 2661 2775 + 2661 2776 + 2661 2777 + 2662 2663 + 2662 2777 + 2663 2664 + 2663 2777 + 2663 2778 + 2663 2779 + 2664 2665 + 2664 2779 + 2665 2666 + 2665 2779 + 2665 2780 + 2665 2781 + 2666 2667 + 2666 2781 + 2667 2668 + 2667 2781 + 2667 2782 + 2667 2783 + 2668 2669 + 2668 2783 + 2669 2670 + 2669 2783 + 2669 2784 + 2669 2785 + 2670 2671 + 2670 2785 + 2671 2672 + 2671 2785 + 2671 2786 + 2671 2787 + 2672 2673 + 2672 2787 + 2673 2674 + 2673 2787 + 2673 2788 + 2673 2789 + 2674 2675 + 2674 2789 + 2675 2676 + 2675 2789 + 2675 2790 + 2675 2791 + 2676 2677 + 2676 2791 + 2677 2678 + 2677 2791 + 2677 2792 + 2677 2793 + 2678 2679 + 2678 2793 + 2679 2680 + 2679 2793 + 2679 2794 + 2679 2795 + 2680 2681 + 2680 2795 + 2681 2682 + 2681 2795 + 2681 2796 + 2681 2797 + 2682 2683 + 2682 2797 + 2683 2684 + 2683 2797 + 2683 2798 + 2683 2799 + 2684 2685 + 2684 2799 + 2685 2686 + 2685 2799 + 2685 2800 + 2685 2801 + 2686 2687 + 2686 2801 + 2687 2688 + 2687 2801 + 2687 2802 + 2687 2803 + 2688 2689 + 2688 2803 + 2689 2690 + 2689 2803 + 2689 2804 + 2689 2805 + 2690 2691 + 2690 2805 + 2691 2692 + 2691 2805 + 2691 2806 + 2691 2807 + 2692 2693 + 2692 2807 + 2693 2694 + 2693 2807 + 2693 2808 + 2693 2809 + 2694 2695 + 2694 2809 + 2695 2696 + 2695 2809 + 2695 2810 + 2695 2811 + 2696 2697 + 2696 2811 + 2697 2698 + 2697 2811 + 2697 2812 + 2697 2813 + 2698 2699 + 2698 2813 + 2699 2700 + 2699 2813 + 2699 2814 + 2699 2815 + 2700 2701 + 2700 2815 + 2701 2702 + 2701 2815 + 2701 2816 + 2701 2817 + 2702 2703 + 2702 2817 + 2703 2704 + 2703 2817 + 2703 2818 + 2703 2819 + 2704 2705 + 2704 2819 + 2705 2706 + 2705 2819 + 2705 2820 + 2705 2821 + 2706 2707 + 2706 2821 + 2707 2708 + 2707 2821 + 2707 2822 + 2707 2823 + 2708 2709 + 2708 2823 + 2709 2710 + 2709 2823 + 2709 2824 + 2709 2825 + 2710 2711 + 2710 2825 + 2711 2712 + 2711 2825 + 2711 2826 + 2711 2827 + 2712 2713 + 2712 2827 + 2713 2714 + 2713 2827 + 2713 2828 + 2713 2829 + 2714 2715 + 2714 2829 + 2715 2716 + 2715 2829 + 2715 2830 + 2715 2831 + 2716 2717 + 2716 2831 + 2717 2718 + 2717 2831 + 2717 2832 + 2717 2833 + 2718 2719 + 2718 2833 + 2719 2720 + 2719 2833 + 2719 2834 + 2719 2835 + 2720 2721 + 2720 2835 + 2721 2722 + 2721 2835 + 2721 2836 + 2721 2837 + 2722 2723 + 2722 2837 + 2723 2724 + 2723 2837 + 2723 2838 + 2723 2839 + 2724 2725 + 2724 2839 + 2725 2726 + 2725 2839 + 2725 2840 + 2725 2841 + 2726 2727 + 2726 2841 + 2727 2728 + 2727 2841 + 2727 2842 + 2727 2843 + 2728 2729 + 2728 2843 + 2729 2730 + 2729 2843 + 2729 2844 + 2729 2845 + 2730 2731 + 2730 2845 + 2731 2732 + 2731 2845 + 2731 2846 + 2731 2847 + 2732 2733 + 2732 2847 + 2733 2734 + 2733 2847 + 2733 2848 + 2733 2849 + 2734 2735 + 2734 2849 + 2735 2736 + 2735 2849 + 2735 2850 + 2735 2851 + 2736 2737 + 2736 2851 + 2737 2738 + 2737 2851 + 2737 2852 + 2737 2853 + 2738 2739 + 2738 2853 + 2739 2740 + 2739 2853 + 2739 2854 + 2739 2855 + 2740 2741 + 2740 2855 + 2741 2742 + 2741 2855 + 2741 2856 + 2741 2857 + 2742 2743 + 2742 2857 + 2743 2744 + 2743 2857 + 2743 2858 + 2743 2859 + 2744 2745 + 2744 2859 + 2745 2746 + 2745 2859 + 2745 2860 + 2745 2861 + 2746 2747 + 2746 2861 + 2747 2748 + 2747 2861 + 2747 2862 + 2747 2863 + 2748 2749 + 2748 2863 + 2749 2750 + 2749 2863 + 2749 2864 + 2749 2865 + 2750 2751 + 2750 2865 + 2751 2752 + 2751 2865 + 2751 2866 + 2751 2867 + 2752 2753 + 2752 2867 + 2753 2754 + 2753 2867 + 2753 2868 + 2753 2869 + 2754 2755 + 2754 2869 + 2755 2756 + 2755 2869 + 2755 2870 + 2755 2871 + 2756 2757 + 2756 2871 + 2757 2758 + 2757 2871 + 2757 2872 + 2757 2873 + 2758 2759 + 2758 2873 + 2759 2760 + 2759 2873 + 2759 2874 + 2759 2875 + 2761 2762 + 2762 2763 + 2763 2764 + 2764 2765 + 2765 2766 + 2766 2767 + 2767 2768 + 2768 2769 + 2769 2770 + 2770 2771 + 2771 2772 + 2772 2773 + 2773 2774 + 2774 2775 + 2775 2776 + 2776 2777 + 2777 2778 + 2778 2779 + 2779 2780 + 2780 2781 + 2781 2782 + 2782 2783 + 2783 2784 + 2784 2785 + 2785 2786 + 2786 2787 + 2787 2788 + 2788 2789 + 2789 2790 + 2790 2791 + 2791 2792 + 2792 2793 + 2793 2794 + 2794 2795 + 2795 2796 + 2796 2797 + 2797 2798 + 2798 2799 + 2799 2800 + 2800 2801 + 2801 2802 + 2802 2803 + 2803 2804 + 2804 2805 + 2805 2806 + 2806 2807 + 2807 2808 + 2808 2809 + 2809 2810 + 2810 2811 + 2811 2812 + 2812 2813 + 2813 2814 + 2814 2815 + 2815 2816 + 2816 2817 + 2817 2818 + 2818 2819 + 2819 2820 + 2820 2821 + 2821 2822 + 2822 2823 + 2823 2824 + 2824 2825 + 2825 2826 + 2826 2827 + 2827 2828 + 2828 2829 + 2829 2830 + 2830 2831 + 2831 2832 + 2832 2833 + 2833 2834 + 2834 2835 + 2835 2836 + 2836 2837 + 2837 2838 + 2838 2839 + 2839 2840 + 2840 2841 + 2841 2842 + 2842 2843 + 2843 2844 + 2844 2845 + 2845 2846 + 2846 2847 + 2847 2848 + 2848 2849 + 2849 2850 + 2850 2851 + 2851 2852 + 2852 2853 + 2853 2854 + 2854 2855 + 2855 2856 + 2856 2857 + 2857 2858 + 2858 2859 + 2859 2860 + 2860 2861 + 2861 2862 + 2862 2863 + 2863 2864 + 2864 2865 + 2865 2866 + 2866 2867 + 2867 2868 + 2868 2869 + 2869 2870 + 2870 2871 + 2871 2872 + 2872 2873 + 2873 2874 + 2874 2875 + 1 116 + 2761 1 + 230 115 + 115 2875 + 116 231 + 345 230 + 231 346 + 460 345 + 346 461 + 575 460 + 461 576 + 690 575 + 576 691 + 805 690 + 691 806 + 920 805 + 806 921 + 1035 920 + 921 1036 + 1150 1035 + 1036 1151 + 1265 1150 + 1151 1266 + 1380 1265 + 1266 1381 + 1495 1380 + 1381 1496 + 1610 1495 + 1496 1611 + 1725 1610 + 1611 1726 + 1840 1725 + 1726 1841 + 1955 1840 + 1841 1956 + 2070 1955 + 1956 2071 + 2185 2070 + 2071 2186 + 2300 2185 + 2186 2301 + 2415 2300 + 2301 2416 + 2530 2415 + 2416 2531 + 2645 2530 + 2531 2646 + 2760 2645 + 2646 2761 + 2875 2760 diff --git a/test/meshes/soufflet/elem2d.out b/test/meshes/soufflet/elem2d.out new file mode 100644 index 000000000..4c465d4d6 --- /dev/null +++ b/test/meshes/soufflet/elem2d.out @@ -0,0 +1,5701 @@ + 5700 + 1 2 116 + 2 117 116 + 3 4 118 + 4 119 118 + 5 6 120 + 6 121 120 + 7 8 122 + 8 123 122 + 9 10 124 + 10 125 124 + 11 12 126 + 12 127 126 + 13 14 128 + 14 129 128 + 15 16 130 + 16 131 130 + 17 18 132 + 18 133 132 + 19 20 134 + 20 135 134 + 21 22 136 + 22 137 136 + 23 24 138 + 24 139 138 + 25 26 140 + 26 141 140 + 27 28 142 + 28 143 142 + 29 30 144 + 30 145 144 + 31 32 146 + 32 147 146 + 33 34 148 + 34 149 148 + 35 36 150 + 36 151 150 + 37 38 152 + 38 153 152 + 39 40 154 + 40 155 154 + 41 42 156 + 42 157 156 + 43 44 158 + 44 159 158 + 45 46 160 + 46 161 160 + 47 48 162 + 48 163 162 + 49 50 164 + 50 165 164 + 51 52 166 + 52 167 166 + 53 54 168 + 54 169 168 + 55 56 170 + 56 171 170 + 57 58 172 + 58 173 172 + 59 60 174 + 60 175 174 + 61 62 176 + 62 177 176 + 63 64 178 + 64 179 178 + 65 66 180 + 66 181 180 + 67 68 182 + 68 183 182 + 69 70 184 + 70 185 184 + 71 72 186 + 72 187 186 + 73 74 188 + 74 189 188 + 75 76 190 + 76 191 190 + 77 78 192 + 78 193 192 + 79 80 194 + 80 195 194 + 81 82 196 + 82 197 196 + 83 84 198 + 84 199 198 + 85 86 200 + 86 201 200 + 87 88 202 + 88 203 202 + 89 90 204 + 90 205 204 + 91 92 206 + 92 207 206 + 93 94 208 + 94 209 208 + 95 96 210 + 96 211 210 + 97 98 212 + 98 213 212 + 99 100 214 + 100 215 214 + 101 102 216 + 102 217 216 + 103 104 218 + 104 219 218 + 105 106 220 + 106 221 220 + 107 108 222 + 108 223 222 + 109 110 224 + 110 225 224 + 111 112 226 + 112 227 226 + 113 114 228 + 114 229 228 + 2 3 118 + 2 118 117 + 4 5 120 + 4 120 119 + 6 7 122 + 6 122 121 + 8 9 124 + 8 124 123 + 10 11 126 + 10 126 125 + 12 13 128 + 12 128 127 + 14 15 130 + 14 130 129 + 16 17 132 + 16 132 131 + 18 19 134 + 18 134 133 + 20 21 136 + 20 136 135 + 22 23 138 + 22 138 137 + 24 25 140 + 24 140 139 + 26 27 142 + 26 142 141 + 28 29 144 + 28 144 143 + 30 31 146 + 30 146 145 + 32 33 148 + 32 148 147 + 34 35 150 + 34 150 149 + 36 37 152 + 36 152 151 + 38 39 154 + 38 154 153 + 40 41 156 + 40 156 155 + 42 43 158 + 42 158 157 + 44 45 160 + 44 160 159 + 46 47 162 + 46 162 161 + 48 49 164 + 48 164 163 + 50 51 166 + 50 166 165 + 52 53 168 + 52 168 167 + 54 55 170 + 54 170 169 + 56 57 172 + 56 172 171 + 58 59 174 + 58 174 173 + 60 61 176 + 60 176 175 + 62 63 178 + 62 178 177 + 64 65 180 + 64 180 179 + 66 67 182 + 66 182 181 + 68 69 184 + 68 184 183 + 70 71 186 + 70 186 185 + 72 73 188 + 72 188 187 + 74 75 190 + 74 190 189 + 76 77 192 + 76 192 191 + 78 79 194 + 78 194 193 + 80 81 196 + 80 196 195 + 82 83 198 + 82 198 197 + 84 85 200 + 84 200 199 + 86 87 202 + 86 202 201 + 88 89 204 + 88 204 203 + 90 91 206 + 90 206 205 + 92 93 208 + 92 208 207 + 94 95 210 + 94 210 209 + 96 97 212 + 96 212 211 + 98 99 214 + 98 214 213 + 100 101 216 + 100 216 215 + 102 103 218 + 102 218 217 + 104 105 220 + 104 220 219 + 106 107 222 + 106 222 221 + 108 109 224 + 108 224 223 + 110 111 226 + 110 226 225 + 112 113 228 + 112 228 227 + 114 115 230 + 114 230 229 + 116 117 231 + 117 232 231 + 118 119 233 + 119 234 233 + 120 121 235 + 121 236 235 + 122 123 237 + 123 238 237 + 124 125 239 + 125 240 239 + 126 127 241 + 127 242 241 + 128 129 243 + 129 244 243 + 130 131 245 + 131 246 245 + 132 133 247 + 133 248 247 + 134 135 249 + 135 250 249 + 136 137 251 + 137 252 251 + 138 139 253 + 139 254 253 + 140 141 255 + 141 256 255 + 142 143 257 + 143 258 257 + 144 145 259 + 145 260 259 + 146 147 261 + 147 262 261 + 148 149 263 + 149 264 263 + 150 151 265 + 151 266 265 + 152 153 267 + 153 268 267 + 154 155 269 + 155 270 269 + 156 157 271 + 157 272 271 + 158 159 273 + 159 274 273 + 160 161 275 + 161 276 275 + 162 163 277 + 163 278 277 + 164 165 279 + 165 280 279 + 166 167 281 + 167 282 281 + 168 169 283 + 169 284 283 + 170 171 285 + 171 286 285 + 172 173 287 + 173 288 287 + 174 175 289 + 175 290 289 + 176 177 291 + 177 292 291 + 178 179 293 + 179 294 293 + 180 181 295 + 181 296 295 + 182 183 297 + 183 298 297 + 184 185 299 + 185 300 299 + 186 187 301 + 187 302 301 + 188 189 303 + 189 304 303 + 190 191 305 + 191 306 305 + 192 193 307 + 193 308 307 + 194 195 309 + 195 310 309 + 196 197 311 + 197 312 311 + 198 199 313 + 199 314 313 + 200 201 315 + 201 316 315 + 202 203 317 + 203 318 317 + 204 205 319 + 205 320 319 + 206 207 321 + 207 322 321 + 208 209 323 + 209 324 323 + 210 211 325 + 211 326 325 + 212 213 327 + 213 328 327 + 214 215 329 + 215 330 329 + 216 217 331 + 217 332 331 + 218 219 333 + 219 334 333 + 220 221 335 + 221 336 335 + 222 223 337 + 223 338 337 + 224 225 339 + 225 340 339 + 226 227 341 + 227 342 341 + 228 229 343 + 229 344 343 + 117 118 233 + 117 233 232 + 119 120 235 + 119 235 234 + 121 122 237 + 121 237 236 + 123 124 239 + 123 239 238 + 125 126 241 + 125 241 240 + 127 128 243 + 127 243 242 + 129 130 245 + 129 245 244 + 131 132 247 + 131 247 246 + 133 134 249 + 133 249 248 + 135 136 251 + 135 251 250 + 137 138 253 + 137 253 252 + 139 140 255 + 139 255 254 + 141 142 257 + 141 257 256 + 143 144 259 + 143 259 258 + 145 146 261 + 145 261 260 + 147 148 263 + 147 263 262 + 149 150 265 + 149 265 264 + 151 152 267 + 151 267 266 + 153 154 269 + 153 269 268 + 155 156 271 + 155 271 270 + 157 158 273 + 157 273 272 + 159 160 275 + 159 275 274 + 161 162 277 + 161 277 276 + 163 164 279 + 163 279 278 + 165 166 281 + 165 281 280 + 167 168 283 + 167 283 282 + 169 170 285 + 169 285 284 + 171 172 287 + 171 287 286 + 173 174 289 + 173 289 288 + 175 176 291 + 175 291 290 + 177 178 293 + 177 293 292 + 179 180 295 + 179 295 294 + 181 182 297 + 181 297 296 + 183 184 299 + 183 299 298 + 185 186 301 + 185 301 300 + 187 188 303 + 187 303 302 + 189 190 305 + 189 305 304 + 191 192 307 + 191 307 306 + 193 194 309 + 193 309 308 + 195 196 311 + 195 311 310 + 197 198 313 + 197 313 312 + 199 200 315 + 199 315 314 + 201 202 317 + 201 317 316 + 203 204 319 + 203 319 318 + 205 206 321 + 205 321 320 + 207 208 323 + 207 323 322 + 209 210 325 + 209 325 324 + 211 212 327 + 211 327 326 + 213 214 329 + 213 329 328 + 215 216 331 + 215 331 330 + 217 218 333 + 217 333 332 + 219 220 335 + 219 335 334 + 221 222 337 + 221 337 336 + 223 224 339 + 223 339 338 + 225 226 341 + 225 341 340 + 227 228 343 + 227 343 342 + 229 230 345 + 229 345 344 + 231 232 346 + 232 347 346 + 233 234 348 + 234 349 348 + 235 236 350 + 236 351 350 + 237 238 352 + 238 353 352 + 239 240 354 + 240 355 354 + 241 242 356 + 242 357 356 + 243 244 358 + 244 359 358 + 245 246 360 + 246 361 360 + 247 248 362 + 248 363 362 + 249 250 364 + 250 365 364 + 251 252 366 + 252 367 366 + 253 254 368 + 254 369 368 + 255 256 370 + 256 371 370 + 257 258 372 + 258 373 372 + 259 260 374 + 260 375 374 + 261 262 376 + 262 377 376 + 263 264 378 + 264 379 378 + 265 266 380 + 266 381 380 + 267 268 382 + 268 383 382 + 269 270 384 + 270 385 384 + 271 272 386 + 272 387 386 + 273 274 388 + 274 389 388 + 275 276 390 + 276 391 390 + 277 278 392 + 278 393 392 + 279 280 394 + 280 395 394 + 281 282 396 + 282 397 396 + 283 284 398 + 284 399 398 + 285 286 400 + 286 401 400 + 287 288 402 + 288 403 402 + 289 290 404 + 290 405 404 + 291 292 406 + 292 407 406 + 293 294 408 + 294 409 408 + 295 296 410 + 296 411 410 + 297 298 412 + 298 413 412 + 299 300 414 + 300 415 414 + 301 302 416 + 302 417 416 + 303 304 418 + 304 419 418 + 305 306 420 + 306 421 420 + 307 308 422 + 308 423 422 + 309 310 424 + 310 425 424 + 311 312 426 + 312 427 426 + 313 314 428 + 314 429 428 + 315 316 430 + 316 431 430 + 317 318 432 + 318 433 432 + 319 320 434 + 320 435 434 + 321 322 436 + 322 437 436 + 323 324 438 + 324 439 438 + 325 326 440 + 326 441 440 + 327 328 442 + 328 443 442 + 329 330 444 + 330 445 444 + 331 332 446 + 332 447 446 + 333 334 448 + 334 449 448 + 335 336 450 + 336 451 450 + 337 338 452 + 338 453 452 + 339 340 454 + 340 455 454 + 341 342 456 + 342 457 456 + 343 344 458 + 344 459 458 + 232 233 348 + 232 348 347 + 234 235 350 + 234 350 349 + 236 237 352 + 236 352 351 + 238 239 354 + 238 354 353 + 240 241 356 + 240 356 355 + 242 243 358 + 242 358 357 + 244 245 360 + 244 360 359 + 246 247 362 + 246 362 361 + 248 249 364 + 248 364 363 + 250 251 366 + 250 366 365 + 252 253 368 + 252 368 367 + 254 255 370 + 254 370 369 + 256 257 372 + 256 372 371 + 258 259 374 + 258 374 373 + 260 261 376 + 260 376 375 + 262 263 378 + 262 378 377 + 264 265 380 + 264 380 379 + 266 267 382 + 266 382 381 + 268 269 384 + 268 384 383 + 270 271 386 + 270 386 385 + 272 273 388 + 272 388 387 + 274 275 390 + 274 390 389 + 276 277 392 + 276 392 391 + 278 279 394 + 278 394 393 + 280 281 396 + 280 396 395 + 282 283 398 + 282 398 397 + 284 285 400 + 284 400 399 + 286 287 402 + 286 402 401 + 288 289 404 + 288 404 403 + 290 291 406 + 290 406 405 + 292 293 408 + 292 408 407 + 294 295 410 + 294 410 409 + 296 297 412 + 296 412 411 + 298 299 414 + 298 414 413 + 300 301 416 + 300 416 415 + 302 303 418 + 302 418 417 + 304 305 420 + 304 420 419 + 306 307 422 + 306 422 421 + 308 309 424 + 308 424 423 + 310 311 426 + 310 426 425 + 312 313 428 + 312 428 427 + 314 315 430 + 314 430 429 + 316 317 432 + 316 432 431 + 318 319 434 + 318 434 433 + 320 321 436 + 320 436 435 + 322 323 438 + 322 438 437 + 324 325 440 + 324 440 439 + 326 327 442 + 326 442 441 + 328 329 444 + 328 444 443 + 330 331 446 + 330 446 445 + 332 333 448 + 332 448 447 + 334 335 450 + 334 450 449 + 336 337 452 + 336 452 451 + 338 339 454 + 338 454 453 + 340 341 456 + 340 456 455 + 342 343 458 + 342 458 457 + 344 345 460 + 344 460 459 + 346 347 461 + 347 462 461 + 348 349 463 + 349 464 463 + 350 351 465 + 351 466 465 + 352 353 467 + 353 468 467 + 354 355 469 + 355 470 469 + 356 357 471 + 357 472 471 + 358 359 473 + 359 474 473 + 360 361 475 + 361 476 475 + 362 363 477 + 363 478 477 + 364 365 479 + 365 480 479 + 366 367 481 + 367 482 481 + 368 369 483 + 369 484 483 + 370 371 485 + 371 486 485 + 372 373 487 + 373 488 487 + 374 375 489 + 375 490 489 + 376 377 491 + 377 492 491 + 378 379 493 + 379 494 493 + 380 381 495 + 381 496 495 + 382 383 497 + 383 498 497 + 384 385 499 + 385 500 499 + 386 387 501 + 387 502 501 + 388 389 503 + 389 504 503 + 390 391 505 + 391 506 505 + 392 393 507 + 393 508 507 + 394 395 509 + 395 510 509 + 396 397 511 + 397 512 511 + 398 399 513 + 399 514 513 + 400 401 515 + 401 516 515 + 402 403 517 + 403 518 517 + 404 405 519 + 405 520 519 + 406 407 521 + 407 522 521 + 408 409 523 + 409 524 523 + 410 411 525 + 411 526 525 + 412 413 527 + 413 528 527 + 414 415 529 + 415 530 529 + 416 417 531 + 417 532 531 + 418 419 533 + 419 534 533 + 420 421 535 + 421 536 535 + 422 423 537 + 423 538 537 + 424 425 539 + 425 540 539 + 426 427 541 + 427 542 541 + 428 429 543 + 429 544 543 + 430 431 545 + 431 546 545 + 432 433 547 + 433 548 547 + 434 435 549 + 435 550 549 + 436 437 551 + 437 552 551 + 438 439 553 + 439 554 553 + 440 441 555 + 441 556 555 + 442 443 557 + 443 558 557 + 444 445 559 + 445 560 559 + 446 447 561 + 447 562 561 + 448 449 563 + 449 564 563 + 450 451 565 + 451 566 565 + 452 453 567 + 453 568 567 + 454 455 569 + 455 570 569 + 456 457 571 + 457 572 571 + 458 459 573 + 459 574 573 + 347 348 463 + 347 463 462 + 349 350 465 + 349 465 464 + 351 352 467 + 351 467 466 + 353 354 469 + 353 469 468 + 355 356 471 + 355 471 470 + 357 358 473 + 357 473 472 + 359 360 475 + 359 475 474 + 361 362 477 + 361 477 476 + 363 364 479 + 363 479 478 + 365 366 481 + 365 481 480 + 367 368 483 + 367 483 482 + 369 370 485 + 369 485 484 + 371 372 487 + 371 487 486 + 373 374 489 + 373 489 488 + 375 376 491 + 375 491 490 + 377 378 493 + 377 493 492 + 379 380 495 + 379 495 494 + 381 382 497 + 381 497 496 + 383 384 499 + 383 499 498 + 385 386 501 + 385 501 500 + 387 388 503 + 387 503 502 + 389 390 505 + 389 505 504 + 391 392 507 + 391 507 506 + 393 394 509 + 393 509 508 + 395 396 511 + 395 511 510 + 397 398 513 + 397 513 512 + 399 400 515 + 399 515 514 + 401 402 517 + 401 517 516 + 403 404 519 + 403 519 518 + 405 406 521 + 405 521 520 + 407 408 523 + 407 523 522 + 409 410 525 + 409 525 524 + 411 412 527 + 411 527 526 + 413 414 529 + 413 529 528 + 415 416 531 + 415 531 530 + 417 418 533 + 417 533 532 + 419 420 535 + 419 535 534 + 421 422 537 + 421 537 536 + 423 424 539 + 423 539 538 + 425 426 541 + 425 541 540 + 427 428 543 + 427 543 542 + 429 430 545 + 429 545 544 + 431 432 547 + 431 547 546 + 433 434 549 + 433 549 548 + 435 436 551 + 435 551 550 + 437 438 553 + 437 553 552 + 439 440 555 + 439 555 554 + 441 442 557 + 441 557 556 + 443 444 559 + 443 559 558 + 445 446 561 + 445 561 560 + 447 448 563 + 447 563 562 + 449 450 565 + 449 565 564 + 451 452 567 + 451 567 566 + 453 454 569 + 453 569 568 + 455 456 571 + 455 571 570 + 457 458 573 + 457 573 572 + 459 460 575 + 459 575 574 + 461 462 576 + 462 577 576 + 463 464 578 + 464 579 578 + 465 466 580 + 466 581 580 + 467 468 582 + 468 583 582 + 469 470 584 + 470 585 584 + 471 472 586 + 472 587 586 + 473 474 588 + 474 589 588 + 475 476 590 + 476 591 590 + 477 478 592 + 478 593 592 + 479 480 594 + 480 595 594 + 481 482 596 + 482 597 596 + 483 484 598 + 484 599 598 + 485 486 600 + 486 601 600 + 487 488 602 + 488 603 602 + 489 490 604 + 490 605 604 + 491 492 606 + 492 607 606 + 493 494 608 + 494 609 608 + 495 496 610 + 496 611 610 + 497 498 612 + 498 613 612 + 499 500 614 + 500 615 614 + 501 502 616 + 502 617 616 + 503 504 618 + 504 619 618 + 505 506 620 + 506 621 620 + 507 508 622 + 508 623 622 + 509 510 624 + 510 625 624 + 511 512 626 + 512 627 626 + 513 514 628 + 514 629 628 + 515 516 630 + 516 631 630 + 517 518 632 + 518 633 632 + 519 520 634 + 520 635 634 + 521 522 636 + 522 637 636 + 523 524 638 + 524 639 638 + 525 526 640 + 526 641 640 + 527 528 642 + 528 643 642 + 529 530 644 + 530 645 644 + 531 532 646 + 532 647 646 + 533 534 648 + 534 649 648 + 535 536 650 + 536 651 650 + 537 538 652 + 538 653 652 + 539 540 654 + 540 655 654 + 541 542 656 + 542 657 656 + 543 544 658 + 544 659 658 + 545 546 660 + 546 661 660 + 547 548 662 + 548 663 662 + 549 550 664 + 550 665 664 + 551 552 666 + 552 667 666 + 553 554 668 + 554 669 668 + 555 556 670 + 556 671 670 + 557 558 672 + 558 673 672 + 559 560 674 + 560 675 674 + 561 562 676 + 562 677 676 + 563 564 678 + 564 679 678 + 565 566 680 + 566 681 680 + 567 568 682 + 568 683 682 + 569 570 684 + 570 685 684 + 571 572 686 + 572 687 686 + 573 574 688 + 574 689 688 + 462 463 578 + 462 578 577 + 464 465 580 + 464 580 579 + 466 467 582 + 466 582 581 + 468 469 584 + 468 584 583 + 470 471 586 + 470 586 585 + 472 473 588 + 472 588 587 + 474 475 590 + 474 590 589 + 476 477 592 + 476 592 591 + 478 479 594 + 478 594 593 + 480 481 596 + 480 596 595 + 482 483 598 + 482 598 597 + 484 485 600 + 484 600 599 + 486 487 602 + 486 602 601 + 488 489 604 + 488 604 603 + 490 491 606 + 490 606 605 + 492 493 608 + 492 608 607 + 494 495 610 + 494 610 609 + 496 497 612 + 496 612 611 + 498 499 614 + 498 614 613 + 500 501 616 + 500 616 615 + 502 503 618 + 502 618 617 + 504 505 620 + 504 620 619 + 506 507 622 + 506 622 621 + 508 509 624 + 508 624 623 + 510 511 626 + 510 626 625 + 512 513 628 + 512 628 627 + 514 515 630 + 514 630 629 + 516 517 632 + 516 632 631 + 518 519 634 + 518 634 633 + 520 521 636 + 520 636 635 + 522 523 638 + 522 638 637 + 524 525 640 + 524 640 639 + 526 527 642 + 526 642 641 + 528 529 644 + 528 644 643 + 530 531 646 + 530 646 645 + 532 533 648 + 532 648 647 + 534 535 650 + 534 650 649 + 536 537 652 + 536 652 651 + 538 539 654 + 538 654 653 + 540 541 656 + 540 656 655 + 542 543 658 + 542 658 657 + 544 545 660 + 544 660 659 + 546 547 662 + 546 662 661 + 548 549 664 + 548 664 663 + 550 551 666 + 550 666 665 + 552 553 668 + 552 668 667 + 554 555 670 + 554 670 669 + 556 557 672 + 556 672 671 + 558 559 674 + 558 674 673 + 560 561 676 + 560 676 675 + 562 563 678 + 562 678 677 + 564 565 680 + 564 680 679 + 566 567 682 + 566 682 681 + 568 569 684 + 568 684 683 + 570 571 686 + 570 686 685 + 572 573 688 + 572 688 687 + 574 575 690 + 574 690 689 + 576 577 691 + 577 692 691 + 578 579 693 + 579 694 693 + 580 581 695 + 581 696 695 + 582 583 697 + 583 698 697 + 584 585 699 + 585 700 699 + 586 587 701 + 587 702 701 + 588 589 703 + 589 704 703 + 590 591 705 + 591 706 705 + 592 593 707 + 593 708 707 + 594 595 709 + 595 710 709 + 596 597 711 + 597 712 711 + 598 599 713 + 599 714 713 + 600 601 715 + 601 716 715 + 602 603 717 + 603 718 717 + 604 605 719 + 605 720 719 + 606 607 721 + 607 722 721 + 608 609 723 + 609 724 723 + 610 611 725 + 611 726 725 + 612 613 727 + 613 728 727 + 614 615 729 + 615 730 729 + 616 617 731 + 617 732 731 + 618 619 733 + 619 734 733 + 620 621 735 + 621 736 735 + 622 623 737 + 623 738 737 + 624 625 739 + 625 740 739 + 626 627 741 + 627 742 741 + 628 629 743 + 629 744 743 + 630 631 745 + 631 746 745 + 632 633 747 + 633 748 747 + 634 635 749 + 635 750 749 + 636 637 751 + 637 752 751 + 638 639 753 + 639 754 753 + 640 641 755 + 641 756 755 + 642 643 757 + 643 758 757 + 644 645 759 + 645 760 759 + 646 647 761 + 647 762 761 + 648 649 763 + 649 764 763 + 650 651 765 + 651 766 765 + 652 653 767 + 653 768 767 + 654 655 769 + 655 770 769 + 656 657 771 + 657 772 771 + 658 659 773 + 659 774 773 + 660 661 775 + 661 776 775 + 662 663 777 + 663 778 777 + 664 665 779 + 665 780 779 + 666 667 781 + 667 782 781 + 668 669 783 + 669 784 783 + 670 671 785 + 671 786 785 + 672 673 787 + 673 788 787 + 674 675 789 + 675 790 789 + 676 677 791 + 677 792 791 + 678 679 793 + 679 794 793 + 680 681 795 + 681 796 795 + 682 683 797 + 683 798 797 + 684 685 799 + 685 800 799 + 686 687 801 + 687 802 801 + 688 689 803 + 689 804 803 + 577 578 693 + 577 693 692 + 579 580 695 + 579 695 694 + 581 582 697 + 581 697 696 + 583 584 699 + 583 699 698 + 585 586 701 + 585 701 700 + 587 588 703 + 587 703 702 + 589 590 705 + 589 705 704 + 591 592 707 + 591 707 706 + 593 594 709 + 593 709 708 + 595 596 711 + 595 711 710 + 597 598 713 + 597 713 712 + 599 600 715 + 599 715 714 + 601 602 717 + 601 717 716 + 603 604 719 + 603 719 718 + 605 606 721 + 605 721 720 + 607 608 723 + 607 723 722 + 609 610 725 + 609 725 724 + 611 612 727 + 611 727 726 + 613 614 729 + 613 729 728 + 615 616 731 + 615 731 730 + 617 618 733 + 617 733 732 + 619 620 735 + 619 735 734 + 621 622 737 + 621 737 736 + 623 624 739 + 623 739 738 + 625 626 741 + 625 741 740 + 627 628 743 + 627 743 742 + 629 630 745 + 629 745 744 + 631 632 747 + 631 747 746 + 633 634 749 + 633 749 748 + 635 636 751 + 635 751 750 + 637 638 753 + 637 753 752 + 639 640 755 + 639 755 754 + 641 642 757 + 641 757 756 + 643 644 759 + 643 759 758 + 645 646 761 + 645 761 760 + 647 648 763 + 647 763 762 + 649 650 765 + 649 765 764 + 651 652 767 + 651 767 766 + 653 654 769 + 653 769 768 + 655 656 771 + 655 771 770 + 657 658 773 + 657 773 772 + 659 660 775 + 659 775 774 + 661 662 777 + 661 777 776 + 663 664 779 + 663 779 778 + 665 666 781 + 665 781 780 + 667 668 783 + 667 783 782 + 669 670 785 + 669 785 784 + 671 672 787 + 671 787 786 + 673 674 789 + 673 789 788 + 675 676 791 + 675 791 790 + 677 678 793 + 677 793 792 + 679 680 795 + 679 795 794 + 681 682 797 + 681 797 796 + 683 684 799 + 683 799 798 + 685 686 801 + 685 801 800 + 687 688 803 + 687 803 802 + 689 690 805 + 689 805 804 + 691 692 806 + 692 807 806 + 693 694 808 + 694 809 808 + 695 696 810 + 696 811 810 + 697 698 812 + 698 813 812 + 699 700 814 + 700 815 814 + 701 702 816 + 702 817 816 + 703 704 818 + 704 819 818 + 705 706 820 + 706 821 820 + 707 708 822 + 708 823 822 + 709 710 824 + 710 825 824 + 711 712 826 + 712 827 826 + 713 714 828 + 714 829 828 + 715 716 830 + 716 831 830 + 717 718 832 + 718 833 832 + 719 720 834 + 720 835 834 + 721 722 836 + 722 837 836 + 723 724 838 + 724 839 838 + 725 726 840 + 726 841 840 + 727 728 842 + 728 843 842 + 729 730 844 + 730 845 844 + 731 732 846 + 732 847 846 + 733 734 848 + 734 849 848 + 735 736 850 + 736 851 850 + 737 738 852 + 738 853 852 + 739 740 854 + 740 855 854 + 741 742 856 + 742 857 856 + 743 744 858 + 744 859 858 + 745 746 860 + 746 861 860 + 747 748 862 + 748 863 862 + 749 750 864 + 750 865 864 + 751 752 866 + 752 867 866 + 753 754 868 + 754 869 868 + 755 756 870 + 756 871 870 + 757 758 872 + 758 873 872 + 759 760 874 + 760 875 874 + 761 762 876 + 762 877 876 + 763 764 878 + 764 879 878 + 765 766 880 + 766 881 880 + 767 768 882 + 768 883 882 + 769 770 884 + 770 885 884 + 771 772 886 + 772 887 886 + 773 774 888 + 774 889 888 + 775 776 890 + 776 891 890 + 777 778 892 + 778 893 892 + 779 780 894 + 780 895 894 + 781 782 896 + 782 897 896 + 783 784 898 + 784 899 898 + 785 786 900 + 786 901 900 + 787 788 902 + 788 903 902 + 789 790 904 + 790 905 904 + 791 792 906 + 792 907 906 + 793 794 908 + 794 909 908 + 795 796 910 + 796 911 910 + 797 798 912 + 798 913 912 + 799 800 914 + 800 915 914 + 801 802 916 + 802 917 916 + 803 804 918 + 804 919 918 + 692 693 808 + 692 808 807 + 694 695 810 + 694 810 809 + 696 697 812 + 696 812 811 + 698 699 814 + 698 814 813 + 700 701 816 + 700 816 815 + 702 703 818 + 702 818 817 + 704 705 820 + 704 820 819 + 706 707 822 + 706 822 821 + 708 709 824 + 708 824 823 + 710 711 826 + 710 826 825 + 712 713 828 + 712 828 827 + 714 715 830 + 714 830 829 + 716 717 832 + 716 832 831 + 718 719 834 + 718 834 833 + 720 721 836 + 720 836 835 + 722 723 838 + 722 838 837 + 724 725 840 + 724 840 839 + 726 727 842 + 726 842 841 + 728 729 844 + 728 844 843 + 730 731 846 + 730 846 845 + 732 733 848 + 732 848 847 + 734 735 850 + 734 850 849 + 736 737 852 + 736 852 851 + 738 739 854 + 738 854 853 + 740 741 856 + 740 856 855 + 742 743 858 + 742 858 857 + 744 745 860 + 744 860 859 + 746 747 862 + 746 862 861 + 748 749 864 + 748 864 863 + 750 751 866 + 750 866 865 + 752 753 868 + 752 868 867 + 754 755 870 + 754 870 869 + 756 757 872 + 756 872 871 + 758 759 874 + 758 874 873 + 760 761 876 + 760 876 875 + 762 763 878 + 762 878 877 + 764 765 880 + 764 880 879 + 766 767 882 + 766 882 881 + 768 769 884 + 768 884 883 + 770 771 886 + 770 886 885 + 772 773 888 + 772 888 887 + 774 775 890 + 774 890 889 + 776 777 892 + 776 892 891 + 778 779 894 + 778 894 893 + 780 781 896 + 780 896 895 + 782 783 898 + 782 898 897 + 784 785 900 + 784 900 899 + 786 787 902 + 786 902 901 + 788 789 904 + 788 904 903 + 790 791 906 + 790 906 905 + 792 793 908 + 792 908 907 + 794 795 910 + 794 910 909 + 796 797 912 + 796 912 911 + 798 799 914 + 798 914 913 + 800 801 916 + 800 916 915 + 802 803 918 + 802 918 917 + 804 805 920 + 804 920 919 + 806 807 921 + 807 922 921 + 808 809 923 + 809 924 923 + 810 811 925 + 811 926 925 + 812 813 927 + 813 928 927 + 814 815 929 + 815 930 929 + 816 817 931 + 817 932 931 + 818 819 933 + 819 934 933 + 820 821 935 + 821 936 935 + 822 823 937 + 823 938 937 + 824 825 939 + 825 940 939 + 826 827 941 + 827 942 941 + 828 829 943 + 829 944 943 + 830 831 945 + 831 946 945 + 832 833 947 + 833 948 947 + 834 835 949 + 835 950 949 + 836 837 951 + 837 952 951 + 838 839 953 + 839 954 953 + 840 841 955 + 841 956 955 + 842 843 957 + 843 958 957 + 844 845 959 + 845 960 959 + 846 847 961 + 847 962 961 + 848 849 963 + 849 964 963 + 850 851 965 + 851 966 965 + 852 853 967 + 853 968 967 + 854 855 969 + 855 970 969 + 856 857 971 + 857 972 971 + 858 859 973 + 859 974 973 + 860 861 975 + 861 976 975 + 862 863 977 + 863 978 977 + 864 865 979 + 865 980 979 + 866 867 981 + 867 982 981 + 868 869 983 + 869 984 983 + 870 871 985 + 871 986 985 + 872 873 987 + 873 988 987 + 874 875 989 + 875 990 989 + 876 877 991 + 877 992 991 + 878 879 993 + 879 994 993 + 880 881 995 + 881 996 995 + 882 883 997 + 883 998 997 + 884 885 999 + 885 1000 999 + 886 887 1001 + 887 1002 1001 + 888 889 1003 + 889 1004 1003 + 890 891 1005 + 891 1006 1005 + 892 893 1007 + 893 1008 1007 + 894 895 1009 + 895 1010 1009 + 896 897 1011 + 897 1012 1011 + 898 899 1013 + 899 1014 1013 + 900 901 1015 + 901 1016 1015 + 902 903 1017 + 903 1018 1017 + 904 905 1019 + 905 1020 1019 + 906 907 1021 + 907 1022 1021 + 908 909 1023 + 909 1024 1023 + 910 911 1025 + 911 1026 1025 + 912 913 1027 + 913 1028 1027 + 914 915 1029 + 915 1030 1029 + 916 917 1031 + 917 1032 1031 + 918 919 1033 + 919 1034 1033 + 807 808 923 + 807 923 922 + 809 810 925 + 809 925 924 + 811 812 927 + 811 927 926 + 813 814 929 + 813 929 928 + 815 816 931 + 815 931 930 + 817 818 933 + 817 933 932 + 819 820 935 + 819 935 934 + 821 822 937 + 821 937 936 + 823 824 939 + 823 939 938 + 825 826 941 + 825 941 940 + 827 828 943 + 827 943 942 + 829 830 945 + 829 945 944 + 831 832 947 + 831 947 946 + 833 834 949 + 833 949 948 + 835 836 951 + 835 951 950 + 837 838 953 + 837 953 952 + 839 840 955 + 839 955 954 + 841 842 957 + 841 957 956 + 843 844 959 + 843 959 958 + 845 846 961 + 845 961 960 + 847 848 963 + 847 963 962 + 849 850 965 + 849 965 964 + 851 852 967 + 851 967 966 + 853 854 969 + 853 969 968 + 855 856 971 + 855 971 970 + 857 858 973 + 857 973 972 + 859 860 975 + 859 975 974 + 861 862 977 + 861 977 976 + 863 864 979 + 863 979 978 + 865 866 981 + 865 981 980 + 867 868 983 + 867 983 982 + 869 870 985 + 869 985 984 + 871 872 987 + 871 987 986 + 873 874 989 + 873 989 988 + 875 876 991 + 875 991 990 + 877 878 993 + 877 993 992 + 879 880 995 + 879 995 994 + 881 882 997 + 881 997 996 + 883 884 999 + 883 999 998 + 885 886 1001 + 885 1001 1000 + 887 888 1003 + 887 1003 1002 + 889 890 1005 + 889 1005 1004 + 891 892 1007 + 891 1007 1006 + 893 894 1009 + 893 1009 1008 + 895 896 1011 + 895 1011 1010 + 897 898 1013 + 897 1013 1012 + 899 900 1015 + 899 1015 1014 + 901 902 1017 + 901 1017 1016 + 903 904 1019 + 903 1019 1018 + 905 906 1021 + 905 1021 1020 + 907 908 1023 + 907 1023 1022 + 909 910 1025 + 909 1025 1024 + 911 912 1027 + 911 1027 1026 + 913 914 1029 + 913 1029 1028 + 915 916 1031 + 915 1031 1030 + 917 918 1033 + 917 1033 1032 + 919 920 1035 + 919 1035 1034 + 921 922 1036 + 922 1037 1036 + 923 924 1038 + 924 1039 1038 + 925 926 1040 + 926 1041 1040 + 927 928 1042 + 928 1043 1042 + 929 930 1044 + 930 1045 1044 + 931 932 1046 + 932 1047 1046 + 933 934 1048 + 934 1049 1048 + 935 936 1050 + 936 1051 1050 + 937 938 1052 + 938 1053 1052 + 939 940 1054 + 940 1055 1054 + 941 942 1056 + 942 1057 1056 + 943 944 1058 + 944 1059 1058 + 945 946 1060 + 946 1061 1060 + 947 948 1062 + 948 1063 1062 + 949 950 1064 + 950 1065 1064 + 951 952 1066 + 952 1067 1066 + 953 954 1068 + 954 1069 1068 + 955 956 1070 + 956 1071 1070 + 957 958 1072 + 958 1073 1072 + 959 960 1074 + 960 1075 1074 + 961 962 1076 + 962 1077 1076 + 963 964 1078 + 964 1079 1078 + 965 966 1080 + 966 1081 1080 + 967 968 1082 + 968 1083 1082 + 969 970 1084 + 970 1085 1084 + 971 972 1086 + 972 1087 1086 + 973 974 1088 + 974 1089 1088 + 975 976 1090 + 976 1091 1090 + 977 978 1092 + 978 1093 1092 + 979 980 1094 + 980 1095 1094 + 981 982 1096 + 982 1097 1096 + 983 984 1098 + 984 1099 1098 + 985 986 1100 + 986 1101 1100 + 987 988 1102 + 988 1103 1102 + 989 990 1104 + 990 1105 1104 + 991 992 1106 + 992 1107 1106 + 993 994 1108 + 994 1109 1108 + 995 996 1110 + 996 1111 1110 + 997 998 1112 + 998 1113 1112 + 999 1000 1114 + 1000 1115 1114 + 1001 1002 1116 + 1002 1117 1116 + 1003 1004 1118 + 1004 1119 1118 + 1005 1006 1120 + 1006 1121 1120 + 1007 1008 1122 + 1008 1123 1122 + 1009 1010 1124 + 1010 1125 1124 + 1011 1012 1126 + 1012 1127 1126 + 1013 1014 1128 + 1014 1129 1128 + 1015 1016 1130 + 1016 1131 1130 + 1017 1018 1132 + 1018 1133 1132 + 1019 1020 1134 + 1020 1135 1134 + 1021 1022 1136 + 1022 1137 1136 + 1023 1024 1138 + 1024 1139 1138 + 1025 1026 1140 + 1026 1141 1140 + 1027 1028 1142 + 1028 1143 1142 + 1029 1030 1144 + 1030 1145 1144 + 1031 1032 1146 + 1032 1147 1146 + 1033 1034 1148 + 1034 1149 1148 + 922 923 1038 + 922 1038 1037 + 924 925 1040 + 924 1040 1039 + 926 927 1042 + 926 1042 1041 + 928 929 1044 + 928 1044 1043 + 930 931 1046 + 930 1046 1045 + 932 933 1048 + 932 1048 1047 + 934 935 1050 + 934 1050 1049 + 936 937 1052 + 936 1052 1051 + 938 939 1054 + 938 1054 1053 + 940 941 1056 + 940 1056 1055 + 942 943 1058 + 942 1058 1057 + 944 945 1060 + 944 1060 1059 + 946 947 1062 + 946 1062 1061 + 948 949 1064 + 948 1064 1063 + 950 951 1066 + 950 1066 1065 + 952 953 1068 + 952 1068 1067 + 954 955 1070 + 954 1070 1069 + 956 957 1072 + 956 1072 1071 + 958 959 1074 + 958 1074 1073 + 960 961 1076 + 960 1076 1075 + 962 963 1078 + 962 1078 1077 + 964 965 1080 + 964 1080 1079 + 966 967 1082 + 966 1082 1081 + 968 969 1084 + 968 1084 1083 + 970 971 1086 + 970 1086 1085 + 972 973 1088 + 972 1088 1087 + 974 975 1090 + 974 1090 1089 + 976 977 1092 + 976 1092 1091 + 978 979 1094 + 978 1094 1093 + 980 981 1096 + 980 1096 1095 + 982 983 1098 + 982 1098 1097 + 984 985 1100 + 984 1100 1099 + 986 987 1102 + 986 1102 1101 + 988 989 1104 + 988 1104 1103 + 990 991 1106 + 990 1106 1105 + 992 993 1108 + 992 1108 1107 + 994 995 1110 + 994 1110 1109 + 996 997 1112 + 996 1112 1111 + 998 999 1114 + 998 1114 1113 + 1000 1001 1116 + 1000 1116 1115 + 1002 1003 1118 + 1002 1118 1117 + 1004 1005 1120 + 1004 1120 1119 + 1006 1007 1122 + 1006 1122 1121 + 1008 1009 1124 + 1008 1124 1123 + 1010 1011 1126 + 1010 1126 1125 + 1012 1013 1128 + 1012 1128 1127 + 1014 1015 1130 + 1014 1130 1129 + 1016 1017 1132 + 1016 1132 1131 + 1018 1019 1134 + 1018 1134 1133 + 1020 1021 1136 + 1020 1136 1135 + 1022 1023 1138 + 1022 1138 1137 + 1024 1025 1140 + 1024 1140 1139 + 1026 1027 1142 + 1026 1142 1141 + 1028 1029 1144 + 1028 1144 1143 + 1030 1031 1146 + 1030 1146 1145 + 1032 1033 1148 + 1032 1148 1147 + 1034 1035 1150 + 1034 1150 1149 + 1036 1037 1151 + 1037 1152 1151 + 1038 1039 1153 + 1039 1154 1153 + 1040 1041 1155 + 1041 1156 1155 + 1042 1043 1157 + 1043 1158 1157 + 1044 1045 1159 + 1045 1160 1159 + 1046 1047 1161 + 1047 1162 1161 + 1048 1049 1163 + 1049 1164 1163 + 1050 1051 1165 + 1051 1166 1165 + 1052 1053 1167 + 1053 1168 1167 + 1054 1055 1169 + 1055 1170 1169 + 1056 1057 1171 + 1057 1172 1171 + 1058 1059 1173 + 1059 1174 1173 + 1060 1061 1175 + 1061 1176 1175 + 1062 1063 1177 + 1063 1178 1177 + 1064 1065 1179 + 1065 1180 1179 + 1066 1067 1181 + 1067 1182 1181 + 1068 1069 1183 + 1069 1184 1183 + 1070 1071 1185 + 1071 1186 1185 + 1072 1073 1187 + 1073 1188 1187 + 1074 1075 1189 + 1075 1190 1189 + 1076 1077 1191 + 1077 1192 1191 + 1078 1079 1193 + 1079 1194 1193 + 1080 1081 1195 + 1081 1196 1195 + 1082 1083 1197 + 1083 1198 1197 + 1084 1085 1199 + 1085 1200 1199 + 1086 1087 1201 + 1087 1202 1201 + 1088 1089 1203 + 1089 1204 1203 + 1090 1091 1205 + 1091 1206 1205 + 1092 1093 1207 + 1093 1208 1207 + 1094 1095 1209 + 1095 1210 1209 + 1096 1097 1211 + 1097 1212 1211 + 1098 1099 1213 + 1099 1214 1213 + 1100 1101 1215 + 1101 1216 1215 + 1102 1103 1217 + 1103 1218 1217 + 1104 1105 1219 + 1105 1220 1219 + 1106 1107 1221 + 1107 1222 1221 + 1108 1109 1223 + 1109 1224 1223 + 1110 1111 1225 + 1111 1226 1225 + 1112 1113 1227 + 1113 1228 1227 + 1114 1115 1229 + 1115 1230 1229 + 1116 1117 1231 + 1117 1232 1231 + 1118 1119 1233 + 1119 1234 1233 + 1120 1121 1235 + 1121 1236 1235 + 1122 1123 1237 + 1123 1238 1237 + 1124 1125 1239 + 1125 1240 1239 + 1126 1127 1241 + 1127 1242 1241 + 1128 1129 1243 + 1129 1244 1243 + 1130 1131 1245 + 1131 1246 1245 + 1132 1133 1247 + 1133 1248 1247 + 1134 1135 1249 + 1135 1250 1249 + 1136 1137 1251 + 1137 1252 1251 + 1138 1139 1253 + 1139 1254 1253 + 1140 1141 1255 + 1141 1256 1255 + 1142 1143 1257 + 1143 1258 1257 + 1144 1145 1259 + 1145 1260 1259 + 1146 1147 1261 + 1147 1262 1261 + 1148 1149 1263 + 1149 1264 1263 + 1037 1038 1153 + 1037 1153 1152 + 1039 1040 1155 + 1039 1155 1154 + 1041 1042 1157 + 1041 1157 1156 + 1043 1044 1159 + 1043 1159 1158 + 1045 1046 1161 + 1045 1161 1160 + 1047 1048 1163 + 1047 1163 1162 + 1049 1050 1165 + 1049 1165 1164 + 1051 1052 1167 + 1051 1167 1166 + 1053 1054 1169 + 1053 1169 1168 + 1055 1056 1171 + 1055 1171 1170 + 1057 1058 1173 + 1057 1173 1172 + 1059 1060 1175 + 1059 1175 1174 + 1061 1062 1177 + 1061 1177 1176 + 1063 1064 1179 + 1063 1179 1178 + 1065 1066 1181 + 1065 1181 1180 + 1067 1068 1183 + 1067 1183 1182 + 1069 1070 1185 + 1069 1185 1184 + 1071 1072 1187 + 1071 1187 1186 + 1073 1074 1189 + 1073 1189 1188 + 1075 1076 1191 + 1075 1191 1190 + 1077 1078 1193 + 1077 1193 1192 + 1079 1080 1195 + 1079 1195 1194 + 1081 1082 1197 + 1081 1197 1196 + 1083 1084 1199 + 1083 1199 1198 + 1085 1086 1201 + 1085 1201 1200 + 1087 1088 1203 + 1087 1203 1202 + 1089 1090 1205 + 1089 1205 1204 + 1091 1092 1207 + 1091 1207 1206 + 1093 1094 1209 + 1093 1209 1208 + 1095 1096 1211 + 1095 1211 1210 + 1097 1098 1213 + 1097 1213 1212 + 1099 1100 1215 + 1099 1215 1214 + 1101 1102 1217 + 1101 1217 1216 + 1103 1104 1219 + 1103 1219 1218 + 1105 1106 1221 + 1105 1221 1220 + 1107 1108 1223 + 1107 1223 1222 + 1109 1110 1225 + 1109 1225 1224 + 1111 1112 1227 + 1111 1227 1226 + 1113 1114 1229 + 1113 1229 1228 + 1115 1116 1231 + 1115 1231 1230 + 1117 1118 1233 + 1117 1233 1232 + 1119 1120 1235 + 1119 1235 1234 + 1121 1122 1237 + 1121 1237 1236 + 1123 1124 1239 + 1123 1239 1238 + 1125 1126 1241 + 1125 1241 1240 + 1127 1128 1243 + 1127 1243 1242 + 1129 1130 1245 + 1129 1245 1244 + 1131 1132 1247 + 1131 1247 1246 + 1133 1134 1249 + 1133 1249 1248 + 1135 1136 1251 + 1135 1251 1250 + 1137 1138 1253 + 1137 1253 1252 + 1139 1140 1255 + 1139 1255 1254 + 1141 1142 1257 + 1141 1257 1256 + 1143 1144 1259 + 1143 1259 1258 + 1145 1146 1261 + 1145 1261 1260 + 1147 1148 1263 + 1147 1263 1262 + 1149 1150 1265 + 1149 1265 1264 + 1151 1152 1266 + 1152 1267 1266 + 1153 1154 1268 + 1154 1269 1268 + 1155 1156 1270 + 1156 1271 1270 + 1157 1158 1272 + 1158 1273 1272 + 1159 1160 1274 + 1160 1275 1274 + 1161 1162 1276 + 1162 1277 1276 + 1163 1164 1278 + 1164 1279 1278 + 1165 1166 1280 + 1166 1281 1280 + 1167 1168 1282 + 1168 1283 1282 + 1169 1170 1284 + 1170 1285 1284 + 1171 1172 1286 + 1172 1287 1286 + 1173 1174 1288 + 1174 1289 1288 + 1175 1176 1290 + 1176 1291 1290 + 1177 1178 1292 + 1178 1293 1292 + 1179 1180 1294 + 1180 1295 1294 + 1181 1182 1296 + 1182 1297 1296 + 1183 1184 1298 + 1184 1299 1298 + 1185 1186 1300 + 1186 1301 1300 + 1187 1188 1302 + 1188 1303 1302 + 1189 1190 1304 + 1190 1305 1304 + 1191 1192 1306 + 1192 1307 1306 + 1193 1194 1308 + 1194 1309 1308 + 1195 1196 1310 + 1196 1311 1310 + 1197 1198 1312 + 1198 1313 1312 + 1199 1200 1314 + 1200 1315 1314 + 1201 1202 1316 + 1202 1317 1316 + 1203 1204 1318 + 1204 1319 1318 + 1205 1206 1320 + 1206 1321 1320 + 1207 1208 1322 + 1208 1323 1322 + 1209 1210 1324 + 1210 1325 1324 + 1211 1212 1326 + 1212 1327 1326 + 1213 1214 1328 + 1214 1329 1328 + 1215 1216 1330 + 1216 1331 1330 + 1217 1218 1332 + 1218 1333 1332 + 1219 1220 1334 + 1220 1335 1334 + 1221 1222 1336 + 1222 1337 1336 + 1223 1224 1338 + 1224 1339 1338 + 1225 1226 1340 + 1226 1341 1340 + 1227 1228 1342 + 1228 1343 1342 + 1229 1230 1344 + 1230 1345 1344 + 1231 1232 1346 + 1232 1347 1346 + 1233 1234 1348 + 1234 1349 1348 + 1235 1236 1350 + 1236 1351 1350 + 1237 1238 1352 + 1238 1353 1352 + 1239 1240 1354 + 1240 1355 1354 + 1241 1242 1356 + 1242 1357 1356 + 1243 1244 1358 + 1244 1359 1358 + 1245 1246 1360 + 1246 1361 1360 + 1247 1248 1362 + 1248 1363 1362 + 1249 1250 1364 + 1250 1365 1364 + 1251 1252 1366 + 1252 1367 1366 + 1253 1254 1368 + 1254 1369 1368 + 1255 1256 1370 + 1256 1371 1370 + 1257 1258 1372 + 1258 1373 1372 + 1259 1260 1374 + 1260 1375 1374 + 1261 1262 1376 + 1262 1377 1376 + 1263 1264 1378 + 1264 1379 1378 + 1152 1153 1268 + 1152 1268 1267 + 1154 1155 1270 + 1154 1270 1269 + 1156 1157 1272 + 1156 1272 1271 + 1158 1159 1274 + 1158 1274 1273 + 1160 1161 1276 + 1160 1276 1275 + 1162 1163 1278 + 1162 1278 1277 + 1164 1165 1280 + 1164 1280 1279 + 1166 1167 1282 + 1166 1282 1281 + 1168 1169 1284 + 1168 1284 1283 + 1170 1171 1286 + 1170 1286 1285 + 1172 1173 1288 + 1172 1288 1287 + 1174 1175 1290 + 1174 1290 1289 + 1176 1177 1292 + 1176 1292 1291 + 1178 1179 1294 + 1178 1294 1293 + 1180 1181 1296 + 1180 1296 1295 + 1182 1183 1298 + 1182 1298 1297 + 1184 1185 1300 + 1184 1300 1299 + 1186 1187 1302 + 1186 1302 1301 + 1188 1189 1304 + 1188 1304 1303 + 1190 1191 1306 + 1190 1306 1305 + 1192 1193 1308 + 1192 1308 1307 + 1194 1195 1310 + 1194 1310 1309 + 1196 1197 1312 + 1196 1312 1311 + 1198 1199 1314 + 1198 1314 1313 + 1200 1201 1316 + 1200 1316 1315 + 1202 1203 1318 + 1202 1318 1317 + 1204 1205 1320 + 1204 1320 1319 + 1206 1207 1322 + 1206 1322 1321 + 1208 1209 1324 + 1208 1324 1323 + 1210 1211 1326 + 1210 1326 1325 + 1212 1213 1328 + 1212 1328 1327 + 1214 1215 1330 + 1214 1330 1329 + 1216 1217 1332 + 1216 1332 1331 + 1218 1219 1334 + 1218 1334 1333 + 1220 1221 1336 + 1220 1336 1335 + 1222 1223 1338 + 1222 1338 1337 + 1224 1225 1340 + 1224 1340 1339 + 1226 1227 1342 + 1226 1342 1341 + 1228 1229 1344 + 1228 1344 1343 + 1230 1231 1346 + 1230 1346 1345 + 1232 1233 1348 + 1232 1348 1347 + 1234 1235 1350 + 1234 1350 1349 + 1236 1237 1352 + 1236 1352 1351 + 1238 1239 1354 + 1238 1354 1353 + 1240 1241 1356 + 1240 1356 1355 + 1242 1243 1358 + 1242 1358 1357 + 1244 1245 1360 + 1244 1360 1359 + 1246 1247 1362 + 1246 1362 1361 + 1248 1249 1364 + 1248 1364 1363 + 1250 1251 1366 + 1250 1366 1365 + 1252 1253 1368 + 1252 1368 1367 + 1254 1255 1370 + 1254 1370 1369 + 1256 1257 1372 + 1256 1372 1371 + 1258 1259 1374 + 1258 1374 1373 + 1260 1261 1376 + 1260 1376 1375 + 1262 1263 1378 + 1262 1378 1377 + 1264 1265 1380 + 1264 1380 1379 + 1266 1267 1381 + 1267 1382 1381 + 1268 1269 1383 + 1269 1384 1383 + 1270 1271 1385 + 1271 1386 1385 + 1272 1273 1387 + 1273 1388 1387 + 1274 1275 1389 + 1275 1390 1389 + 1276 1277 1391 + 1277 1392 1391 + 1278 1279 1393 + 1279 1394 1393 + 1280 1281 1395 + 1281 1396 1395 + 1282 1283 1397 + 1283 1398 1397 + 1284 1285 1399 + 1285 1400 1399 + 1286 1287 1401 + 1287 1402 1401 + 1288 1289 1403 + 1289 1404 1403 + 1290 1291 1405 + 1291 1406 1405 + 1292 1293 1407 + 1293 1408 1407 + 1294 1295 1409 + 1295 1410 1409 + 1296 1297 1411 + 1297 1412 1411 + 1298 1299 1413 + 1299 1414 1413 + 1300 1301 1415 + 1301 1416 1415 + 1302 1303 1417 + 1303 1418 1417 + 1304 1305 1419 + 1305 1420 1419 + 1306 1307 1421 + 1307 1422 1421 + 1308 1309 1423 + 1309 1424 1423 + 1310 1311 1425 + 1311 1426 1425 + 1312 1313 1427 + 1313 1428 1427 + 1314 1315 1429 + 1315 1430 1429 + 1316 1317 1431 + 1317 1432 1431 + 1318 1319 1433 + 1319 1434 1433 + 1320 1321 1435 + 1321 1436 1435 + 1322 1323 1437 + 1323 1438 1437 + 1324 1325 1439 + 1325 1440 1439 + 1326 1327 1441 + 1327 1442 1441 + 1328 1329 1443 + 1329 1444 1443 + 1330 1331 1445 + 1331 1446 1445 + 1332 1333 1447 + 1333 1448 1447 + 1334 1335 1449 + 1335 1450 1449 + 1336 1337 1451 + 1337 1452 1451 + 1338 1339 1453 + 1339 1454 1453 + 1340 1341 1455 + 1341 1456 1455 + 1342 1343 1457 + 1343 1458 1457 + 1344 1345 1459 + 1345 1460 1459 + 1346 1347 1461 + 1347 1462 1461 + 1348 1349 1463 + 1349 1464 1463 + 1350 1351 1465 + 1351 1466 1465 + 1352 1353 1467 + 1353 1468 1467 + 1354 1355 1469 + 1355 1470 1469 + 1356 1357 1471 + 1357 1472 1471 + 1358 1359 1473 + 1359 1474 1473 + 1360 1361 1475 + 1361 1476 1475 + 1362 1363 1477 + 1363 1478 1477 + 1364 1365 1479 + 1365 1480 1479 + 1366 1367 1481 + 1367 1482 1481 + 1368 1369 1483 + 1369 1484 1483 + 1370 1371 1485 + 1371 1486 1485 + 1372 1373 1487 + 1373 1488 1487 + 1374 1375 1489 + 1375 1490 1489 + 1376 1377 1491 + 1377 1492 1491 + 1378 1379 1493 + 1379 1494 1493 + 1267 1268 1383 + 1267 1383 1382 + 1269 1270 1385 + 1269 1385 1384 + 1271 1272 1387 + 1271 1387 1386 + 1273 1274 1389 + 1273 1389 1388 + 1275 1276 1391 + 1275 1391 1390 + 1277 1278 1393 + 1277 1393 1392 + 1279 1280 1395 + 1279 1395 1394 + 1281 1282 1397 + 1281 1397 1396 + 1283 1284 1399 + 1283 1399 1398 + 1285 1286 1401 + 1285 1401 1400 + 1287 1288 1403 + 1287 1403 1402 + 1289 1290 1405 + 1289 1405 1404 + 1291 1292 1407 + 1291 1407 1406 + 1293 1294 1409 + 1293 1409 1408 + 1295 1296 1411 + 1295 1411 1410 + 1297 1298 1413 + 1297 1413 1412 + 1299 1300 1415 + 1299 1415 1414 + 1301 1302 1417 + 1301 1417 1416 + 1303 1304 1419 + 1303 1419 1418 + 1305 1306 1421 + 1305 1421 1420 + 1307 1308 1423 + 1307 1423 1422 + 1309 1310 1425 + 1309 1425 1424 + 1311 1312 1427 + 1311 1427 1426 + 1313 1314 1429 + 1313 1429 1428 + 1315 1316 1431 + 1315 1431 1430 + 1317 1318 1433 + 1317 1433 1432 + 1319 1320 1435 + 1319 1435 1434 + 1321 1322 1437 + 1321 1437 1436 + 1323 1324 1439 + 1323 1439 1438 + 1325 1326 1441 + 1325 1441 1440 + 1327 1328 1443 + 1327 1443 1442 + 1329 1330 1445 + 1329 1445 1444 + 1331 1332 1447 + 1331 1447 1446 + 1333 1334 1449 + 1333 1449 1448 + 1335 1336 1451 + 1335 1451 1450 + 1337 1338 1453 + 1337 1453 1452 + 1339 1340 1455 + 1339 1455 1454 + 1341 1342 1457 + 1341 1457 1456 + 1343 1344 1459 + 1343 1459 1458 + 1345 1346 1461 + 1345 1461 1460 + 1347 1348 1463 + 1347 1463 1462 + 1349 1350 1465 + 1349 1465 1464 + 1351 1352 1467 + 1351 1467 1466 + 1353 1354 1469 + 1353 1469 1468 + 1355 1356 1471 + 1355 1471 1470 + 1357 1358 1473 + 1357 1473 1472 + 1359 1360 1475 + 1359 1475 1474 + 1361 1362 1477 + 1361 1477 1476 + 1363 1364 1479 + 1363 1479 1478 + 1365 1366 1481 + 1365 1481 1480 + 1367 1368 1483 + 1367 1483 1482 + 1369 1370 1485 + 1369 1485 1484 + 1371 1372 1487 + 1371 1487 1486 + 1373 1374 1489 + 1373 1489 1488 + 1375 1376 1491 + 1375 1491 1490 + 1377 1378 1493 + 1377 1493 1492 + 1379 1380 1495 + 1379 1495 1494 + 1381 1382 1496 + 1382 1497 1496 + 1383 1384 1498 + 1384 1499 1498 + 1385 1386 1500 + 1386 1501 1500 + 1387 1388 1502 + 1388 1503 1502 + 1389 1390 1504 + 1390 1505 1504 + 1391 1392 1506 + 1392 1507 1506 + 1393 1394 1508 + 1394 1509 1508 + 1395 1396 1510 + 1396 1511 1510 + 1397 1398 1512 + 1398 1513 1512 + 1399 1400 1514 + 1400 1515 1514 + 1401 1402 1516 + 1402 1517 1516 + 1403 1404 1518 + 1404 1519 1518 + 1405 1406 1520 + 1406 1521 1520 + 1407 1408 1522 + 1408 1523 1522 + 1409 1410 1524 + 1410 1525 1524 + 1411 1412 1526 + 1412 1527 1526 + 1413 1414 1528 + 1414 1529 1528 + 1415 1416 1530 + 1416 1531 1530 + 1417 1418 1532 + 1418 1533 1532 + 1419 1420 1534 + 1420 1535 1534 + 1421 1422 1536 + 1422 1537 1536 + 1423 1424 1538 + 1424 1539 1538 + 1425 1426 1540 + 1426 1541 1540 + 1427 1428 1542 + 1428 1543 1542 + 1429 1430 1544 + 1430 1545 1544 + 1431 1432 1546 + 1432 1547 1546 + 1433 1434 1548 + 1434 1549 1548 + 1435 1436 1550 + 1436 1551 1550 + 1437 1438 1552 + 1438 1553 1552 + 1439 1440 1554 + 1440 1555 1554 + 1441 1442 1556 + 1442 1557 1556 + 1443 1444 1558 + 1444 1559 1558 + 1445 1446 1560 + 1446 1561 1560 + 1447 1448 1562 + 1448 1563 1562 + 1449 1450 1564 + 1450 1565 1564 + 1451 1452 1566 + 1452 1567 1566 + 1453 1454 1568 + 1454 1569 1568 + 1455 1456 1570 + 1456 1571 1570 + 1457 1458 1572 + 1458 1573 1572 + 1459 1460 1574 + 1460 1575 1574 + 1461 1462 1576 + 1462 1577 1576 + 1463 1464 1578 + 1464 1579 1578 + 1465 1466 1580 + 1466 1581 1580 + 1467 1468 1582 + 1468 1583 1582 + 1469 1470 1584 + 1470 1585 1584 + 1471 1472 1586 + 1472 1587 1586 + 1473 1474 1588 + 1474 1589 1588 + 1475 1476 1590 + 1476 1591 1590 + 1477 1478 1592 + 1478 1593 1592 + 1479 1480 1594 + 1480 1595 1594 + 1481 1482 1596 + 1482 1597 1596 + 1483 1484 1598 + 1484 1599 1598 + 1485 1486 1600 + 1486 1601 1600 + 1487 1488 1602 + 1488 1603 1602 + 1489 1490 1604 + 1490 1605 1604 + 1491 1492 1606 + 1492 1607 1606 + 1493 1494 1608 + 1494 1609 1608 + 1382 1383 1498 + 1382 1498 1497 + 1384 1385 1500 + 1384 1500 1499 + 1386 1387 1502 + 1386 1502 1501 + 1388 1389 1504 + 1388 1504 1503 + 1390 1391 1506 + 1390 1506 1505 + 1392 1393 1508 + 1392 1508 1507 + 1394 1395 1510 + 1394 1510 1509 + 1396 1397 1512 + 1396 1512 1511 + 1398 1399 1514 + 1398 1514 1513 + 1400 1401 1516 + 1400 1516 1515 + 1402 1403 1518 + 1402 1518 1517 + 1404 1405 1520 + 1404 1520 1519 + 1406 1407 1522 + 1406 1522 1521 + 1408 1409 1524 + 1408 1524 1523 + 1410 1411 1526 + 1410 1526 1525 + 1412 1413 1528 + 1412 1528 1527 + 1414 1415 1530 + 1414 1530 1529 + 1416 1417 1532 + 1416 1532 1531 + 1418 1419 1534 + 1418 1534 1533 + 1420 1421 1536 + 1420 1536 1535 + 1422 1423 1538 + 1422 1538 1537 + 1424 1425 1540 + 1424 1540 1539 + 1426 1427 1542 + 1426 1542 1541 + 1428 1429 1544 + 1428 1544 1543 + 1430 1431 1546 + 1430 1546 1545 + 1432 1433 1548 + 1432 1548 1547 + 1434 1435 1550 + 1434 1550 1549 + 1436 1437 1552 + 1436 1552 1551 + 1438 1439 1554 + 1438 1554 1553 + 1440 1441 1556 + 1440 1556 1555 + 1442 1443 1558 + 1442 1558 1557 + 1444 1445 1560 + 1444 1560 1559 + 1446 1447 1562 + 1446 1562 1561 + 1448 1449 1564 + 1448 1564 1563 + 1450 1451 1566 + 1450 1566 1565 + 1452 1453 1568 + 1452 1568 1567 + 1454 1455 1570 + 1454 1570 1569 + 1456 1457 1572 + 1456 1572 1571 + 1458 1459 1574 + 1458 1574 1573 + 1460 1461 1576 + 1460 1576 1575 + 1462 1463 1578 + 1462 1578 1577 + 1464 1465 1580 + 1464 1580 1579 + 1466 1467 1582 + 1466 1582 1581 + 1468 1469 1584 + 1468 1584 1583 + 1470 1471 1586 + 1470 1586 1585 + 1472 1473 1588 + 1472 1588 1587 + 1474 1475 1590 + 1474 1590 1589 + 1476 1477 1592 + 1476 1592 1591 + 1478 1479 1594 + 1478 1594 1593 + 1480 1481 1596 + 1480 1596 1595 + 1482 1483 1598 + 1482 1598 1597 + 1484 1485 1600 + 1484 1600 1599 + 1486 1487 1602 + 1486 1602 1601 + 1488 1489 1604 + 1488 1604 1603 + 1490 1491 1606 + 1490 1606 1605 + 1492 1493 1608 + 1492 1608 1607 + 1494 1495 1610 + 1494 1610 1609 + 1496 1497 1611 + 1497 1612 1611 + 1498 1499 1613 + 1499 1614 1613 + 1500 1501 1615 + 1501 1616 1615 + 1502 1503 1617 + 1503 1618 1617 + 1504 1505 1619 + 1505 1620 1619 + 1506 1507 1621 + 1507 1622 1621 + 1508 1509 1623 + 1509 1624 1623 + 1510 1511 1625 + 1511 1626 1625 + 1512 1513 1627 + 1513 1628 1627 + 1514 1515 1629 + 1515 1630 1629 + 1516 1517 1631 + 1517 1632 1631 + 1518 1519 1633 + 1519 1634 1633 + 1520 1521 1635 + 1521 1636 1635 + 1522 1523 1637 + 1523 1638 1637 + 1524 1525 1639 + 1525 1640 1639 + 1526 1527 1641 + 1527 1642 1641 + 1528 1529 1643 + 1529 1644 1643 + 1530 1531 1645 + 1531 1646 1645 + 1532 1533 1647 + 1533 1648 1647 + 1534 1535 1649 + 1535 1650 1649 + 1536 1537 1651 + 1537 1652 1651 + 1538 1539 1653 + 1539 1654 1653 + 1540 1541 1655 + 1541 1656 1655 + 1542 1543 1657 + 1543 1658 1657 + 1544 1545 1659 + 1545 1660 1659 + 1546 1547 1661 + 1547 1662 1661 + 1548 1549 1663 + 1549 1664 1663 + 1550 1551 1665 + 1551 1666 1665 + 1552 1553 1667 + 1553 1668 1667 + 1554 1555 1669 + 1555 1670 1669 + 1556 1557 1671 + 1557 1672 1671 + 1558 1559 1673 + 1559 1674 1673 + 1560 1561 1675 + 1561 1676 1675 + 1562 1563 1677 + 1563 1678 1677 + 1564 1565 1679 + 1565 1680 1679 + 1566 1567 1681 + 1567 1682 1681 + 1568 1569 1683 + 1569 1684 1683 + 1570 1571 1685 + 1571 1686 1685 + 1572 1573 1687 + 1573 1688 1687 + 1574 1575 1689 + 1575 1690 1689 + 1576 1577 1691 + 1577 1692 1691 + 1578 1579 1693 + 1579 1694 1693 + 1580 1581 1695 + 1581 1696 1695 + 1582 1583 1697 + 1583 1698 1697 + 1584 1585 1699 + 1585 1700 1699 + 1586 1587 1701 + 1587 1702 1701 + 1588 1589 1703 + 1589 1704 1703 + 1590 1591 1705 + 1591 1706 1705 + 1592 1593 1707 + 1593 1708 1707 + 1594 1595 1709 + 1595 1710 1709 + 1596 1597 1711 + 1597 1712 1711 + 1598 1599 1713 + 1599 1714 1713 + 1600 1601 1715 + 1601 1716 1715 + 1602 1603 1717 + 1603 1718 1717 + 1604 1605 1719 + 1605 1720 1719 + 1606 1607 1721 + 1607 1722 1721 + 1608 1609 1723 + 1609 1724 1723 + 1497 1498 1613 + 1497 1613 1612 + 1499 1500 1615 + 1499 1615 1614 + 1501 1502 1617 + 1501 1617 1616 + 1503 1504 1619 + 1503 1619 1618 + 1505 1506 1621 + 1505 1621 1620 + 1507 1508 1623 + 1507 1623 1622 + 1509 1510 1625 + 1509 1625 1624 + 1511 1512 1627 + 1511 1627 1626 + 1513 1514 1629 + 1513 1629 1628 + 1515 1516 1631 + 1515 1631 1630 + 1517 1518 1633 + 1517 1633 1632 + 1519 1520 1635 + 1519 1635 1634 + 1521 1522 1637 + 1521 1637 1636 + 1523 1524 1639 + 1523 1639 1638 + 1525 1526 1641 + 1525 1641 1640 + 1527 1528 1643 + 1527 1643 1642 + 1529 1530 1645 + 1529 1645 1644 + 1531 1532 1647 + 1531 1647 1646 + 1533 1534 1649 + 1533 1649 1648 + 1535 1536 1651 + 1535 1651 1650 + 1537 1538 1653 + 1537 1653 1652 + 1539 1540 1655 + 1539 1655 1654 + 1541 1542 1657 + 1541 1657 1656 + 1543 1544 1659 + 1543 1659 1658 + 1545 1546 1661 + 1545 1661 1660 + 1547 1548 1663 + 1547 1663 1662 + 1549 1550 1665 + 1549 1665 1664 + 1551 1552 1667 + 1551 1667 1666 + 1553 1554 1669 + 1553 1669 1668 + 1555 1556 1671 + 1555 1671 1670 + 1557 1558 1673 + 1557 1673 1672 + 1559 1560 1675 + 1559 1675 1674 + 1561 1562 1677 + 1561 1677 1676 + 1563 1564 1679 + 1563 1679 1678 + 1565 1566 1681 + 1565 1681 1680 + 1567 1568 1683 + 1567 1683 1682 + 1569 1570 1685 + 1569 1685 1684 + 1571 1572 1687 + 1571 1687 1686 + 1573 1574 1689 + 1573 1689 1688 + 1575 1576 1691 + 1575 1691 1690 + 1577 1578 1693 + 1577 1693 1692 + 1579 1580 1695 + 1579 1695 1694 + 1581 1582 1697 + 1581 1697 1696 + 1583 1584 1699 + 1583 1699 1698 + 1585 1586 1701 + 1585 1701 1700 + 1587 1588 1703 + 1587 1703 1702 + 1589 1590 1705 + 1589 1705 1704 + 1591 1592 1707 + 1591 1707 1706 + 1593 1594 1709 + 1593 1709 1708 + 1595 1596 1711 + 1595 1711 1710 + 1597 1598 1713 + 1597 1713 1712 + 1599 1600 1715 + 1599 1715 1714 + 1601 1602 1717 + 1601 1717 1716 + 1603 1604 1719 + 1603 1719 1718 + 1605 1606 1721 + 1605 1721 1720 + 1607 1608 1723 + 1607 1723 1722 + 1609 1610 1725 + 1609 1725 1724 + 1611 1612 1726 + 1612 1727 1726 + 1613 1614 1728 + 1614 1729 1728 + 1615 1616 1730 + 1616 1731 1730 + 1617 1618 1732 + 1618 1733 1732 + 1619 1620 1734 + 1620 1735 1734 + 1621 1622 1736 + 1622 1737 1736 + 1623 1624 1738 + 1624 1739 1738 + 1625 1626 1740 + 1626 1741 1740 + 1627 1628 1742 + 1628 1743 1742 + 1629 1630 1744 + 1630 1745 1744 + 1631 1632 1746 + 1632 1747 1746 + 1633 1634 1748 + 1634 1749 1748 + 1635 1636 1750 + 1636 1751 1750 + 1637 1638 1752 + 1638 1753 1752 + 1639 1640 1754 + 1640 1755 1754 + 1641 1642 1756 + 1642 1757 1756 + 1643 1644 1758 + 1644 1759 1758 + 1645 1646 1760 + 1646 1761 1760 + 1647 1648 1762 + 1648 1763 1762 + 1649 1650 1764 + 1650 1765 1764 + 1651 1652 1766 + 1652 1767 1766 + 1653 1654 1768 + 1654 1769 1768 + 1655 1656 1770 + 1656 1771 1770 + 1657 1658 1772 + 1658 1773 1772 + 1659 1660 1774 + 1660 1775 1774 + 1661 1662 1776 + 1662 1777 1776 + 1663 1664 1778 + 1664 1779 1778 + 1665 1666 1780 + 1666 1781 1780 + 1667 1668 1782 + 1668 1783 1782 + 1669 1670 1784 + 1670 1785 1784 + 1671 1672 1786 + 1672 1787 1786 + 1673 1674 1788 + 1674 1789 1788 + 1675 1676 1790 + 1676 1791 1790 + 1677 1678 1792 + 1678 1793 1792 + 1679 1680 1794 + 1680 1795 1794 + 1681 1682 1796 + 1682 1797 1796 + 1683 1684 1798 + 1684 1799 1798 + 1685 1686 1800 + 1686 1801 1800 + 1687 1688 1802 + 1688 1803 1802 + 1689 1690 1804 + 1690 1805 1804 + 1691 1692 1806 + 1692 1807 1806 + 1693 1694 1808 + 1694 1809 1808 + 1695 1696 1810 + 1696 1811 1810 + 1697 1698 1812 + 1698 1813 1812 + 1699 1700 1814 + 1700 1815 1814 + 1701 1702 1816 + 1702 1817 1816 + 1703 1704 1818 + 1704 1819 1818 + 1705 1706 1820 + 1706 1821 1820 + 1707 1708 1822 + 1708 1823 1822 + 1709 1710 1824 + 1710 1825 1824 + 1711 1712 1826 + 1712 1827 1826 + 1713 1714 1828 + 1714 1829 1828 + 1715 1716 1830 + 1716 1831 1830 + 1717 1718 1832 + 1718 1833 1832 + 1719 1720 1834 + 1720 1835 1834 + 1721 1722 1836 + 1722 1837 1836 + 1723 1724 1838 + 1724 1839 1838 + 1612 1613 1728 + 1612 1728 1727 + 1614 1615 1730 + 1614 1730 1729 + 1616 1617 1732 + 1616 1732 1731 + 1618 1619 1734 + 1618 1734 1733 + 1620 1621 1736 + 1620 1736 1735 + 1622 1623 1738 + 1622 1738 1737 + 1624 1625 1740 + 1624 1740 1739 + 1626 1627 1742 + 1626 1742 1741 + 1628 1629 1744 + 1628 1744 1743 + 1630 1631 1746 + 1630 1746 1745 + 1632 1633 1748 + 1632 1748 1747 + 1634 1635 1750 + 1634 1750 1749 + 1636 1637 1752 + 1636 1752 1751 + 1638 1639 1754 + 1638 1754 1753 + 1640 1641 1756 + 1640 1756 1755 + 1642 1643 1758 + 1642 1758 1757 + 1644 1645 1760 + 1644 1760 1759 + 1646 1647 1762 + 1646 1762 1761 + 1648 1649 1764 + 1648 1764 1763 + 1650 1651 1766 + 1650 1766 1765 + 1652 1653 1768 + 1652 1768 1767 + 1654 1655 1770 + 1654 1770 1769 + 1656 1657 1772 + 1656 1772 1771 + 1658 1659 1774 + 1658 1774 1773 + 1660 1661 1776 + 1660 1776 1775 + 1662 1663 1778 + 1662 1778 1777 + 1664 1665 1780 + 1664 1780 1779 + 1666 1667 1782 + 1666 1782 1781 + 1668 1669 1784 + 1668 1784 1783 + 1670 1671 1786 + 1670 1786 1785 + 1672 1673 1788 + 1672 1788 1787 + 1674 1675 1790 + 1674 1790 1789 + 1676 1677 1792 + 1676 1792 1791 + 1678 1679 1794 + 1678 1794 1793 + 1680 1681 1796 + 1680 1796 1795 + 1682 1683 1798 + 1682 1798 1797 + 1684 1685 1800 + 1684 1800 1799 + 1686 1687 1802 + 1686 1802 1801 + 1688 1689 1804 + 1688 1804 1803 + 1690 1691 1806 + 1690 1806 1805 + 1692 1693 1808 + 1692 1808 1807 + 1694 1695 1810 + 1694 1810 1809 + 1696 1697 1812 + 1696 1812 1811 + 1698 1699 1814 + 1698 1814 1813 + 1700 1701 1816 + 1700 1816 1815 + 1702 1703 1818 + 1702 1818 1817 + 1704 1705 1820 + 1704 1820 1819 + 1706 1707 1822 + 1706 1822 1821 + 1708 1709 1824 + 1708 1824 1823 + 1710 1711 1826 + 1710 1826 1825 + 1712 1713 1828 + 1712 1828 1827 + 1714 1715 1830 + 1714 1830 1829 + 1716 1717 1832 + 1716 1832 1831 + 1718 1719 1834 + 1718 1834 1833 + 1720 1721 1836 + 1720 1836 1835 + 1722 1723 1838 + 1722 1838 1837 + 1724 1725 1840 + 1724 1840 1839 + 1726 1727 1841 + 1727 1842 1841 + 1728 1729 1843 + 1729 1844 1843 + 1730 1731 1845 + 1731 1846 1845 + 1732 1733 1847 + 1733 1848 1847 + 1734 1735 1849 + 1735 1850 1849 + 1736 1737 1851 + 1737 1852 1851 + 1738 1739 1853 + 1739 1854 1853 + 1740 1741 1855 + 1741 1856 1855 + 1742 1743 1857 + 1743 1858 1857 + 1744 1745 1859 + 1745 1860 1859 + 1746 1747 1861 + 1747 1862 1861 + 1748 1749 1863 + 1749 1864 1863 + 1750 1751 1865 + 1751 1866 1865 + 1752 1753 1867 + 1753 1868 1867 + 1754 1755 1869 + 1755 1870 1869 + 1756 1757 1871 + 1757 1872 1871 + 1758 1759 1873 + 1759 1874 1873 + 1760 1761 1875 + 1761 1876 1875 + 1762 1763 1877 + 1763 1878 1877 + 1764 1765 1879 + 1765 1880 1879 + 1766 1767 1881 + 1767 1882 1881 + 1768 1769 1883 + 1769 1884 1883 + 1770 1771 1885 + 1771 1886 1885 + 1772 1773 1887 + 1773 1888 1887 + 1774 1775 1889 + 1775 1890 1889 + 1776 1777 1891 + 1777 1892 1891 + 1778 1779 1893 + 1779 1894 1893 + 1780 1781 1895 + 1781 1896 1895 + 1782 1783 1897 + 1783 1898 1897 + 1784 1785 1899 + 1785 1900 1899 + 1786 1787 1901 + 1787 1902 1901 + 1788 1789 1903 + 1789 1904 1903 + 1790 1791 1905 + 1791 1906 1905 + 1792 1793 1907 + 1793 1908 1907 + 1794 1795 1909 + 1795 1910 1909 + 1796 1797 1911 + 1797 1912 1911 + 1798 1799 1913 + 1799 1914 1913 + 1800 1801 1915 + 1801 1916 1915 + 1802 1803 1917 + 1803 1918 1917 + 1804 1805 1919 + 1805 1920 1919 + 1806 1807 1921 + 1807 1922 1921 + 1808 1809 1923 + 1809 1924 1923 + 1810 1811 1925 + 1811 1926 1925 + 1812 1813 1927 + 1813 1928 1927 + 1814 1815 1929 + 1815 1930 1929 + 1816 1817 1931 + 1817 1932 1931 + 1818 1819 1933 + 1819 1934 1933 + 1820 1821 1935 + 1821 1936 1935 + 1822 1823 1937 + 1823 1938 1937 + 1824 1825 1939 + 1825 1940 1939 + 1826 1827 1941 + 1827 1942 1941 + 1828 1829 1943 + 1829 1944 1943 + 1830 1831 1945 + 1831 1946 1945 + 1832 1833 1947 + 1833 1948 1947 + 1834 1835 1949 + 1835 1950 1949 + 1836 1837 1951 + 1837 1952 1951 + 1838 1839 1953 + 1839 1954 1953 + 1727 1728 1843 + 1727 1843 1842 + 1729 1730 1845 + 1729 1845 1844 + 1731 1732 1847 + 1731 1847 1846 + 1733 1734 1849 + 1733 1849 1848 + 1735 1736 1851 + 1735 1851 1850 + 1737 1738 1853 + 1737 1853 1852 + 1739 1740 1855 + 1739 1855 1854 + 1741 1742 1857 + 1741 1857 1856 + 1743 1744 1859 + 1743 1859 1858 + 1745 1746 1861 + 1745 1861 1860 + 1747 1748 1863 + 1747 1863 1862 + 1749 1750 1865 + 1749 1865 1864 + 1751 1752 1867 + 1751 1867 1866 + 1753 1754 1869 + 1753 1869 1868 + 1755 1756 1871 + 1755 1871 1870 + 1757 1758 1873 + 1757 1873 1872 + 1759 1760 1875 + 1759 1875 1874 + 1761 1762 1877 + 1761 1877 1876 + 1763 1764 1879 + 1763 1879 1878 + 1765 1766 1881 + 1765 1881 1880 + 1767 1768 1883 + 1767 1883 1882 + 1769 1770 1885 + 1769 1885 1884 + 1771 1772 1887 + 1771 1887 1886 + 1773 1774 1889 + 1773 1889 1888 + 1775 1776 1891 + 1775 1891 1890 + 1777 1778 1893 + 1777 1893 1892 + 1779 1780 1895 + 1779 1895 1894 + 1781 1782 1897 + 1781 1897 1896 + 1783 1784 1899 + 1783 1899 1898 + 1785 1786 1901 + 1785 1901 1900 + 1787 1788 1903 + 1787 1903 1902 + 1789 1790 1905 + 1789 1905 1904 + 1791 1792 1907 + 1791 1907 1906 + 1793 1794 1909 + 1793 1909 1908 + 1795 1796 1911 + 1795 1911 1910 + 1797 1798 1913 + 1797 1913 1912 + 1799 1800 1915 + 1799 1915 1914 + 1801 1802 1917 + 1801 1917 1916 + 1803 1804 1919 + 1803 1919 1918 + 1805 1806 1921 + 1805 1921 1920 + 1807 1808 1923 + 1807 1923 1922 + 1809 1810 1925 + 1809 1925 1924 + 1811 1812 1927 + 1811 1927 1926 + 1813 1814 1929 + 1813 1929 1928 + 1815 1816 1931 + 1815 1931 1930 + 1817 1818 1933 + 1817 1933 1932 + 1819 1820 1935 + 1819 1935 1934 + 1821 1822 1937 + 1821 1937 1936 + 1823 1824 1939 + 1823 1939 1938 + 1825 1826 1941 + 1825 1941 1940 + 1827 1828 1943 + 1827 1943 1942 + 1829 1830 1945 + 1829 1945 1944 + 1831 1832 1947 + 1831 1947 1946 + 1833 1834 1949 + 1833 1949 1948 + 1835 1836 1951 + 1835 1951 1950 + 1837 1838 1953 + 1837 1953 1952 + 1839 1840 1955 + 1839 1955 1954 + 1841 1842 1956 + 1842 1957 1956 + 1843 1844 1958 + 1844 1959 1958 + 1845 1846 1960 + 1846 1961 1960 + 1847 1848 1962 + 1848 1963 1962 + 1849 1850 1964 + 1850 1965 1964 + 1851 1852 1966 + 1852 1967 1966 + 1853 1854 1968 + 1854 1969 1968 + 1855 1856 1970 + 1856 1971 1970 + 1857 1858 1972 + 1858 1973 1972 + 1859 1860 1974 + 1860 1975 1974 + 1861 1862 1976 + 1862 1977 1976 + 1863 1864 1978 + 1864 1979 1978 + 1865 1866 1980 + 1866 1981 1980 + 1867 1868 1982 + 1868 1983 1982 + 1869 1870 1984 + 1870 1985 1984 + 1871 1872 1986 + 1872 1987 1986 + 1873 1874 1988 + 1874 1989 1988 + 1875 1876 1990 + 1876 1991 1990 + 1877 1878 1992 + 1878 1993 1992 + 1879 1880 1994 + 1880 1995 1994 + 1881 1882 1996 + 1882 1997 1996 + 1883 1884 1998 + 1884 1999 1998 + 1885 1886 2000 + 1886 2001 2000 + 1887 1888 2002 + 1888 2003 2002 + 1889 1890 2004 + 1890 2005 2004 + 1891 1892 2006 + 1892 2007 2006 + 1893 1894 2008 + 1894 2009 2008 + 1895 1896 2010 + 1896 2011 2010 + 1897 1898 2012 + 1898 2013 2012 + 1899 1900 2014 + 1900 2015 2014 + 1901 1902 2016 + 1902 2017 2016 + 1903 1904 2018 + 1904 2019 2018 + 1905 1906 2020 + 1906 2021 2020 + 1907 1908 2022 + 1908 2023 2022 + 1909 1910 2024 + 1910 2025 2024 + 1911 1912 2026 + 1912 2027 2026 + 1913 1914 2028 + 1914 2029 2028 + 1915 1916 2030 + 1916 2031 2030 + 1917 1918 2032 + 1918 2033 2032 + 1919 1920 2034 + 1920 2035 2034 + 1921 1922 2036 + 1922 2037 2036 + 1923 1924 2038 + 1924 2039 2038 + 1925 1926 2040 + 1926 2041 2040 + 1927 1928 2042 + 1928 2043 2042 + 1929 1930 2044 + 1930 2045 2044 + 1931 1932 2046 + 1932 2047 2046 + 1933 1934 2048 + 1934 2049 2048 + 1935 1936 2050 + 1936 2051 2050 + 1937 1938 2052 + 1938 2053 2052 + 1939 1940 2054 + 1940 2055 2054 + 1941 1942 2056 + 1942 2057 2056 + 1943 1944 2058 + 1944 2059 2058 + 1945 1946 2060 + 1946 2061 2060 + 1947 1948 2062 + 1948 2063 2062 + 1949 1950 2064 + 1950 2065 2064 + 1951 1952 2066 + 1952 2067 2066 + 1953 1954 2068 + 1954 2069 2068 + 1842 1843 1958 + 1842 1958 1957 + 1844 1845 1960 + 1844 1960 1959 + 1846 1847 1962 + 1846 1962 1961 + 1848 1849 1964 + 1848 1964 1963 + 1850 1851 1966 + 1850 1966 1965 + 1852 1853 1968 + 1852 1968 1967 + 1854 1855 1970 + 1854 1970 1969 + 1856 1857 1972 + 1856 1972 1971 + 1858 1859 1974 + 1858 1974 1973 + 1860 1861 1976 + 1860 1976 1975 + 1862 1863 1978 + 1862 1978 1977 + 1864 1865 1980 + 1864 1980 1979 + 1866 1867 1982 + 1866 1982 1981 + 1868 1869 1984 + 1868 1984 1983 + 1870 1871 1986 + 1870 1986 1985 + 1872 1873 1988 + 1872 1988 1987 + 1874 1875 1990 + 1874 1990 1989 + 1876 1877 1992 + 1876 1992 1991 + 1878 1879 1994 + 1878 1994 1993 + 1880 1881 1996 + 1880 1996 1995 + 1882 1883 1998 + 1882 1998 1997 + 1884 1885 2000 + 1884 2000 1999 + 1886 1887 2002 + 1886 2002 2001 + 1888 1889 2004 + 1888 2004 2003 + 1890 1891 2006 + 1890 2006 2005 + 1892 1893 2008 + 1892 2008 2007 + 1894 1895 2010 + 1894 2010 2009 + 1896 1897 2012 + 1896 2012 2011 + 1898 1899 2014 + 1898 2014 2013 + 1900 1901 2016 + 1900 2016 2015 + 1902 1903 2018 + 1902 2018 2017 + 1904 1905 2020 + 1904 2020 2019 + 1906 1907 2022 + 1906 2022 2021 + 1908 1909 2024 + 1908 2024 2023 + 1910 1911 2026 + 1910 2026 2025 + 1912 1913 2028 + 1912 2028 2027 + 1914 1915 2030 + 1914 2030 2029 + 1916 1917 2032 + 1916 2032 2031 + 1918 1919 2034 + 1918 2034 2033 + 1920 1921 2036 + 1920 2036 2035 + 1922 1923 2038 + 1922 2038 2037 + 1924 1925 2040 + 1924 2040 2039 + 1926 1927 2042 + 1926 2042 2041 + 1928 1929 2044 + 1928 2044 2043 + 1930 1931 2046 + 1930 2046 2045 + 1932 1933 2048 + 1932 2048 2047 + 1934 1935 2050 + 1934 2050 2049 + 1936 1937 2052 + 1936 2052 2051 + 1938 1939 2054 + 1938 2054 2053 + 1940 1941 2056 + 1940 2056 2055 + 1942 1943 2058 + 1942 2058 2057 + 1944 1945 2060 + 1944 2060 2059 + 1946 1947 2062 + 1946 2062 2061 + 1948 1949 2064 + 1948 2064 2063 + 1950 1951 2066 + 1950 2066 2065 + 1952 1953 2068 + 1952 2068 2067 + 1954 1955 2070 + 1954 2070 2069 + 1956 1957 2071 + 1957 2072 2071 + 1958 1959 2073 + 1959 2074 2073 + 1960 1961 2075 + 1961 2076 2075 + 1962 1963 2077 + 1963 2078 2077 + 1964 1965 2079 + 1965 2080 2079 + 1966 1967 2081 + 1967 2082 2081 + 1968 1969 2083 + 1969 2084 2083 + 1970 1971 2085 + 1971 2086 2085 + 1972 1973 2087 + 1973 2088 2087 + 1974 1975 2089 + 1975 2090 2089 + 1976 1977 2091 + 1977 2092 2091 + 1978 1979 2093 + 1979 2094 2093 + 1980 1981 2095 + 1981 2096 2095 + 1982 1983 2097 + 1983 2098 2097 + 1984 1985 2099 + 1985 2100 2099 + 1986 1987 2101 + 1987 2102 2101 + 1988 1989 2103 + 1989 2104 2103 + 1990 1991 2105 + 1991 2106 2105 + 1992 1993 2107 + 1993 2108 2107 + 1994 1995 2109 + 1995 2110 2109 + 1996 1997 2111 + 1997 2112 2111 + 1998 1999 2113 + 1999 2114 2113 + 2000 2001 2115 + 2001 2116 2115 + 2002 2003 2117 + 2003 2118 2117 + 2004 2005 2119 + 2005 2120 2119 + 2006 2007 2121 + 2007 2122 2121 + 2008 2009 2123 + 2009 2124 2123 + 2010 2011 2125 + 2011 2126 2125 + 2012 2013 2127 + 2013 2128 2127 + 2014 2015 2129 + 2015 2130 2129 + 2016 2017 2131 + 2017 2132 2131 + 2018 2019 2133 + 2019 2134 2133 + 2020 2021 2135 + 2021 2136 2135 + 2022 2023 2137 + 2023 2138 2137 + 2024 2025 2139 + 2025 2140 2139 + 2026 2027 2141 + 2027 2142 2141 + 2028 2029 2143 + 2029 2144 2143 + 2030 2031 2145 + 2031 2146 2145 + 2032 2033 2147 + 2033 2148 2147 + 2034 2035 2149 + 2035 2150 2149 + 2036 2037 2151 + 2037 2152 2151 + 2038 2039 2153 + 2039 2154 2153 + 2040 2041 2155 + 2041 2156 2155 + 2042 2043 2157 + 2043 2158 2157 + 2044 2045 2159 + 2045 2160 2159 + 2046 2047 2161 + 2047 2162 2161 + 2048 2049 2163 + 2049 2164 2163 + 2050 2051 2165 + 2051 2166 2165 + 2052 2053 2167 + 2053 2168 2167 + 2054 2055 2169 + 2055 2170 2169 + 2056 2057 2171 + 2057 2172 2171 + 2058 2059 2173 + 2059 2174 2173 + 2060 2061 2175 + 2061 2176 2175 + 2062 2063 2177 + 2063 2178 2177 + 2064 2065 2179 + 2065 2180 2179 + 2066 2067 2181 + 2067 2182 2181 + 2068 2069 2183 + 2069 2184 2183 + 1957 1958 2073 + 1957 2073 2072 + 1959 1960 2075 + 1959 2075 2074 + 1961 1962 2077 + 1961 2077 2076 + 1963 1964 2079 + 1963 2079 2078 + 1965 1966 2081 + 1965 2081 2080 + 1967 1968 2083 + 1967 2083 2082 + 1969 1970 2085 + 1969 2085 2084 + 1971 1972 2087 + 1971 2087 2086 + 1973 1974 2089 + 1973 2089 2088 + 1975 1976 2091 + 1975 2091 2090 + 1977 1978 2093 + 1977 2093 2092 + 1979 1980 2095 + 1979 2095 2094 + 1981 1982 2097 + 1981 2097 2096 + 1983 1984 2099 + 1983 2099 2098 + 1985 1986 2101 + 1985 2101 2100 + 1987 1988 2103 + 1987 2103 2102 + 1989 1990 2105 + 1989 2105 2104 + 1991 1992 2107 + 1991 2107 2106 + 1993 1994 2109 + 1993 2109 2108 + 1995 1996 2111 + 1995 2111 2110 + 1997 1998 2113 + 1997 2113 2112 + 1999 2000 2115 + 1999 2115 2114 + 2001 2002 2117 + 2001 2117 2116 + 2003 2004 2119 + 2003 2119 2118 + 2005 2006 2121 + 2005 2121 2120 + 2007 2008 2123 + 2007 2123 2122 + 2009 2010 2125 + 2009 2125 2124 + 2011 2012 2127 + 2011 2127 2126 + 2013 2014 2129 + 2013 2129 2128 + 2015 2016 2131 + 2015 2131 2130 + 2017 2018 2133 + 2017 2133 2132 + 2019 2020 2135 + 2019 2135 2134 + 2021 2022 2137 + 2021 2137 2136 + 2023 2024 2139 + 2023 2139 2138 + 2025 2026 2141 + 2025 2141 2140 + 2027 2028 2143 + 2027 2143 2142 + 2029 2030 2145 + 2029 2145 2144 + 2031 2032 2147 + 2031 2147 2146 + 2033 2034 2149 + 2033 2149 2148 + 2035 2036 2151 + 2035 2151 2150 + 2037 2038 2153 + 2037 2153 2152 + 2039 2040 2155 + 2039 2155 2154 + 2041 2042 2157 + 2041 2157 2156 + 2043 2044 2159 + 2043 2159 2158 + 2045 2046 2161 + 2045 2161 2160 + 2047 2048 2163 + 2047 2163 2162 + 2049 2050 2165 + 2049 2165 2164 + 2051 2052 2167 + 2051 2167 2166 + 2053 2054 2169 + 2053 2169 2168 + 2055 2056 2171 + 2055 2171 2170 + 2057 2058 2173 + 2057 2173 2172 + 2059 2060 2175 + 2059 2175 2174 + 2061 2062 2177 + 2061 2177 2176 + 2063 2064 2179 + 2063 2179 2178 + 2065 2066 2181 + 2065 2181 2180 + 2067 2068 2183 + 2067 2183 2182 + 2069 2070 2185 + 2069 2185 2184 + 2071 2072 2186 + 2072 2187 2186 + 2073 2074 2188 + 2074 2189 2188 + 2075 2076 2190 + 2076 2191 2190 + 2077 2078 2192 + 2078 2193 2192 + 2079 2080 2194 + 2080 2195 2194 + 2081 2082 2196 + 2082 2197 2196 + 2083 2084 2198 + 2084 2199 2198 + 2085 2086 2200 + 2086 2201 2200 + 2087 2088 2202 + 2088 2203 2202 + 2089 2090 2204 + 2090 2205 2204 + 2091 2092 2206 + 2092 2207 2206 + 2093 2094 2208 + 2094 2209 2208 + 2095 2096 2210 + 2096 2211 2210 + 2097 2098 2212 + 2098 2213 2212 + 2099 2100 2214 + 2100 2215 2214 + 2101 2102 2216 + 2102 2217 2216 + 2103 2104 2218 + 2104 2219 2218 + 2105 2106 2220 + 2106 2221 2220 + 2107 2108 2222 + 2108 2223 2222 + 2109 2110 2224 + 2110 2225 2224 + 2111 2112 2226 + 2112 2227 2226 + 2113 2114 2228 + 2114 2229 2228 + 2115 2116 2230 + 2116 2231 2230 + 2117 2118 2232 + 2118 2233 2232 + 2119 2120 2234 + 2120 2235 2234 + 2121 2122 2236 + 2122 2237 2236 + 2123 2124 2238 + 2124 2239 2238 + 2125 2126 2240 + 2126 2241 2240 + 2127 2128 2242 + 2128 2243 2242 + 2129 2130 2244 + 2130 2245 2244 + 2131 2132 2246 + 2132 2247 2246 + 2133 2134 2248 + 2134 2249 2248 + 2135 2136 2250 + 2136 2251 2250 + 2137 2138 2252 + 2138 2253 2252 + 2139 2140 2254 + 2140 2255 2254 + 2141 2142 2256 + 2142 2257 2256 + 2143 2144 2258 + 2144 2259 2258 + 2145 2146 2260 + 2146 2261 2260 + 2147 2148 2262 + 2148 2263 2262 + 2149 2150 2264 + 2150 2265 2264 + 2151 2152 2266 + 2152 2267 2266 + 2153 2154 2268 + 2154 2269 2268 + 2155 2156 2270 + 2156 2271 2270 + 2157 2158 2272 + 2158 2273 2272 + 2159 2160 2274 + 2160 2275 2274 + 2161 2162 2276 + 2162 2277 2276 + 2163 2164 2278 + 2164 2279 2278 + 2165 2166 2280 + 2166 2281 2280 + 2167 2168 2282 + 2168 2283 2282 + 2169 2170 2284 + 2170 2285 2284 + 2171 2172 2286 + 2172 2287 2286 + 2173 2174 2288 + 2174 2289 2288 + 2175 2176 2290 + 2176 2291 2290 + 2177 2178 2292 + 2178 2293 2292 + 2179 2180 2294 + 2180 2295 2294 + 2181 2182 2296 + 2182 2297 2296 + 2183 2184 2298 + 2184 2299 2298 + 2072 2073 2188 + 2072 2188 2187 + 2074 2075 2190 + 2074 2190 2189 + 2076 2077 2192 + 2076 2192 2191 + 2078 2079 2194 + 2078 2194 2193 + 2080 2081 2196 + 2080 2196 2195 + 2082 2083 2198 + 2082 2198 2197 + 2084 2085 2200 + 2084 2200 2199 + 2086 2087 2202 + 2086 2202 2201 + 2088 2089 2204 + 2088 2204 2203 + 2090 2091 2206 + 2090 2206 2205 + 2092 2093 2208 + 2092 2208 2207 + 2094 2095 2210 + 2094 2210 2209 + 2096 2097 2212 + 2096 2212 2211 + 2098 2099 2214 + 2098 2214 2213 + 2100 2101 2216 + 2100 2216 2215 + 2102 2103 2218 + 2102 2218 2217 + 2104 2105 2220 + 2104 2220 2219 + 2106 2107 2222 + 2106 2222 2221 + 2108 2109 2224 + 2108 2224 2223 + 2110 2111 2226 + 2110 2226 2225 + 2112 2113 2228 + 2112 2228 2227 + 2114 2115 2230 + 2114 2230 2229 + 2116 2117 2232 + 2116 2232 2231 + 2118 2119 2234 + 2118 2234 2233 + 2120 2121 2236 + 2120 2236 2235 + 2122 2123 2238 + 2122 2238 2237 + 2124 2125 2240 + 2124 2240 2239 + 2126 2127 2242 + 2126 2242 2241 + 2128 2129 2244 + 2128 2244 2243 + 2130 2131 2246 + 2130 2246 2245 + 2132 2133 2248 + 2132 2248 2247 + 2134 2135 2250 + 2134 2250 2249 + 2136 2137 2252 + 2136 2252 2251 + 2138 2139 2254 + 2138 2254 2253 + 2140 2141 2256 + 2140 2256 2255 + 2142 2143 2258 + 2142 2258 2257 + 2144 2145 2260 + 2144 2260 2259 + 2146 2147 2262 + 2146 2262 2261 + 2148 2149 2264 + 2148 2264 2263 + 2150 2151 2266 + 2150 2266 2265 + 2152 2153 2268 + 2152 2268 2267 + 2154 2155 2270 + 2154 2270 2269 + 2156 2157 2272 + 2156 2272 2271 + 2158 2159 2274 + 2158 2274 2273 + 2160 2161 2276 + 2160 2276 2275 + 2162 2163 2278 + 2162 2278 2277 + 2164 2165 2280 + 2164 2280 2279 + 2166 2167 2282 + 2166 2282 2281 + 2168 2169 2284 + 2168 2284 2283 + 2170 2171 2286 + 2170 2286 2285 + 2172 2173 2288 + 2172 2288 2287 + 2174 2175 2290 + 2174 2290 2289 + 2176 2177 2292 + 2176 2292 2291 + 2178 2179 2294 + 2178 2294 2293 + 2180 2181 2296 + 2180 2296 2295 + 2182 2183 2298 + 2182 2298 2297 + 2184 2185 2300 + 2184 2300 2299 + 2186 2187 2301 + 2187 2302 2301 + 2188 2189 2303 + 2189 2304 2303 + 2190 2191 2305 + 2191 2306 2305 + 2192 2193 2307 + 2193 2308 2307 + 2194 2195 2309 + 2195 2310 2309 + 2196 2197 2311 + 2197 2312 2311 + 2198 2199 2313 + 2199 2314 2313 + 2200 2201 2315 + 2201 2316 2315 + 2202 2203 2317 + 2203 2318 2317 + 2204 2205 2319 + 2205 2320 2319 + 2206 2207 2321 + 2207 2322 2321 + 2208 2209 2323 + 2209 2324 2323 + 2210 2211 2325 + 2211 2326 2325 + 2212 2213 2327 + 2213 2328 2327 + 2214 2215 2329 + 2215 2330 2329 + 2216 2217 2331 + 2217 2332 2331 + 2218 2219 2333 + 2219 2334 2333 + 2220 2221 2335 + 2221 2336 2335 + 2222 2223 2337 + 2223 2338 2337 + 2224 2225 2339 + 2225 2340 2339 + 2226 2227 2341 + 2227 2342 2341 + 2228 2229 2343 + 2229 2344 2343 + 2230 2231 2345 + 2231 2346 2345 + 2232 2233 2347 + 2233 2348 2347 + 2234 2235 2349 + 2235 2350 2349 + 2236 2237 2351 + 2237 2352 2351 + 2238 2239 2353 + 2239 2354 2353 + 2240 2241 2355 + 2241 2356 2355 + 2242 2243 2357 + 2243 2358 2357 + 2244 2245 2359 + 2245 2360 2359 + 2246 2247 2361 + 2247 2362 2361 + 2248 2249 2363 + 2249 2364 2363 + 2250 2251 2365 + 2251 2366 2365 + 2252 2253 2367 + 2253 2368 2367 + 2254 2255 2369 + 2255 2370 2369 + 2256 2257 2371 + 2257 2372 2371 + 2258 2259 2373 + 2259 2374 2373 + 2260 2261 2375 + 2261 2376 2375 + 2262 2263 2377 + 2263 2378 2377 + 2264 2265 2379 + 2265 2380 2379 + 2266 2267 2381 + 2267 2382 2381 + 2268 2269 2383 + 2269 2384 2383 + 2270 2271 2385 + 2271 2386 2385 + 2272 2273 2387 + 2273 2388 2387 + 2274 2275 2389 + 2275 2390 2389 + 2276 2277 2391 + 2277 2392 2391 + 2278 2279 2393 + 2279 2394 2393 + 2280 2281 2395 + 2281 2396 2395 + 2282 2283 2397 + 2283 2398 2397 + 2284 2285 2399 + 2285 2400 2399 + 2286 2287 2401 + 2287 2402 2401 + 2288 2289 2403 + 2289 2404 2403 + 2290 2291 2405 + 2291 2406 2405 + 2292 2293 2407 + 2293 2408 2407 + 2294 2295 2409 + 2295 2410 2409 + 2296 2297 2411 + 2297 2412 2411 + 2298 2299 2413 + 2299 2414 2413 + 2187 2188 2303 + 2187 2303 2302 + 2189 2190 2305 + 2189 2305 2304 + 2191 2192 2307 + 2191 2307 2306 + 2193 2194 2309 + 2193 2309 2308 + 2195 2196 2311 + 2195 2311 2310 + 2197 2198 2313 + 2197 2313 2312 + 2199 2200 2315 + 2199 2315 2314 + 2201 2202 2317 + 2201 2317 2316 + 2203 2204 2319 + 2203 2319 2318 + 2205 2206 2321 + 2205 2321 2320 + 2207 2208 2323 + 2207 2323 2322 + 2209 2210 2325 + 2209 2325 2324 + 2211 2212 2327 + 2211 2327 2326 + 2213 2214 2329 + 2213 2329 2328 + 2215 2216 2331 + 2215 2331 2330 + 2217 2218 2333 + 2217 2333 2332 + 2219 2220 2335 + 2219 2335 2334 + 2221 2222 2337 + 2221 2337 2336 + 2223 2224 2339 + 2223 2339 2338 + 2225 2226 2341 + 2225 2341 2340 + 2227 2228 2343 + 2227 2343 2342 + 2229 2230 2345 + 2229 2345 2344 + 2231 2232 2347 + 2231 2347 2346 + 2233 2234 2349 + 2233 2349 2348 + 2235 2236 2351 + 2235 2351 2350 + 2237 2238 2353 + 2237 2353 2352 + 2239 2240 2355 + 2239 2355 2354 + 2241 2242 2357 + 2241 2357 2356 + 2243 2244 2359 + 2243 2359 2358 + 2245 2246 2361 + 2245 2361 2360 + 2247 2248 2363 + 2247 2363 2362 + 2249 2250 2365 + 2249 2365 2364 + 2251 2252 2367 + 2251 2367 2366 + 2253 2254 2369 + 2253 2369 2368 + 2255 2256 2371 + 2255 2371 2370 + 2257 2258 2373 + 2257 2373 2372 + 2259 2260 2375 + 2259 2375 2374 + 2261 2262 2377 + 2261 2377 2376 + 2263 2264 2379 + 2263 2379 2378 + 2265 2266 2381 + 2265 2381 2380 + 2267 2268 2383 + 2267 2383 2382 + 2269 2270 2385 + 2269 2385 2384 + 2271 2272 2387 + 2271 2387 2386 + 2273 2274 2389 + 2273 2389 2388 + 2275 2276 2391 + 2275 2391 2390 + 2277 2278 2393 + 2277 2393 2392 + 2279 2280 2395 + 2279 2395 2394 + 2281 2282 2397 + 2281 2397 2396 + 2283 2284 2399 + 2283 2399 2398 + 2285 2286 2401 + 2285 2401 2400 + 2287 2288 2403 + 2287 2403 2402 + 2289 2290 2405 + 2289 2405 2404 + 2291 2292 2407 + 2291 2407 2406 + 2293 2294 2409 + 2293 2409 2408 + 2295 2296 2411 + 2295 2411 2410 + 2297 2298 2413 + 2297 2413 2412 + 2299 2300 2415 + 2299 2415 2414 + 2301 2302 2416 + 2302 2417 2416 + 2303 2304 2418 + 2304 2419 2418 + 2305 2306 2420 + 2306 2421 2420 + 2307 2308 2422 + 2308 2423 2422 + 2309 2310 2424 + 2310 2425 2424 + 2311 2312 2426 + 2312 2427 2426 + 2313 2314 2428 + 2314 2429 2428 + 2315 2316 2430 + 2316 2431 2430 + 2317 2318 2432 + 2318 2433 2432 + 2319 2320 2434 + 2320 2435 2434 + 2321 2322 2436 + 2322 2437 2436 + 2323 2324 2438 + 2324 2439 2438 + 2325 2326 2440 + 2326 2441 2440 + 2327 2328 2442 + 2328 2443 2442 + 2329 2330 2444 + 2330 2445 2444 + 2331 2332 2446 + 2332 2447 2446 + 2333 2334 2448 + 2334 2449 2448 + 2335 2336 2450 + 2336 2451 2450 + 2337 2338 2452 + 2338 2453 2452 + 2339 2340 2454 + 2340 2455 2454 + 2341 2342 2456 + 2342 2457 2456 + 2343 2344 2458 + 2344 2459 2458 + 2345 2346 2460 + 2346 2461 2460 + 2347 2348 2462 + 2348 2463 2462 + 2349 2350 2464 + 2350 2465 2464 + 2351 2352 2466 + 2352 2467 2466 + 2353 2354 2468 + 2354 2469 2468 + 2355 2356 2470 + 2356 2471 2470 + 2357 2358 2472 + 2358 2473 2472 + 2359 2360 2474 + 2360 2475 2474 + 2361 2362 2476 + 2362 2477 2476 + 2363 2364 2478 + 2364 2479 2478 + 2365 2366 2480 + 2366 2481 2480 + 2367 2368 2482 + 2368 2483 2482 + 2369 2370 2484 + 2370 2485 2484 + 2371 2372 2486 + 2372 2487 2486 + 2373 2374 2488 + 2374 2489 2488 + 2375 2376 2490 + 2376 2491 2490 + 2377 2378 2492 + 2378 2493 2492 + 2379 2380 2494 + 2380 2495 2494 + 2381 2382 2496 + 2382 2497 2496 + 2383 2384 2498 + 2384 2499 2498 + 2385 2386 2500 + 2386 2501 2500 + 2387 2388 2502 + 2388 2503 2502 + 2389 2390 2504 + 2390 2505 2504 + 2391 2392 2506 + 2392 2507 2506 + 2393 2394 2508 + 2394 2509 2508 + 2395 2396 2510 + 2396 2511 2510 + 2397 2398 2512 + 2398 2513 2512 + 2399 2400 2514 + 2400 2515 2514 + 2401 2402 2516 + 2402 2517 2516 + 2403 2404 2518 + 2404 2519 2518 + 2405 2406 2520 + 2406 2521 2520 + 2407 2408 2522 + 2408 2523 2522 + 2409 2410 2524 + 2410 2525 2524 + 2411 2412 2526 + 2412 2527 2526 + 2413 2414 2528 + 2414 2529 2528 + 2302 2303 2418 + 2302 2418 2417 + 2304 2305 2420 + 2304 2420 2419 + 2306 2307 2422 + 2306 2422 2421 + 2308 2309 2424 + 2308 2424 2423 + 2310 2311 2426 + 2310 2426 2425 + 2312 2313 2428 + 2312 2428 2427 + 2314 2315 2430 + 2314 2430 2429 + 2316 2317 2432 + 2316 2432 2431 + 2318 2319 2434 + 2318 2434 2433 + 2320 2321 2436 + 2320 2436 2435 + 2322 2323 2438 + 2322 2438 2437 + 2324 2325 2440 + 2324 2440 2439 + 2326 2327 2442 + 2326 2442 2441 + 2328 2329 2444 + 2328 2444 2443 + 2330 2331 2446 + 2330 2446 2445 + 2332 2333 2448 + 2332 2448 2447 + 2334 2335 2450 + 2334 2450 2449 + 2336 2337 2452 + 2336 2452 2451 + 2338 2339 2454 + 2338 2454 2453 + 2340 2341 2456 + 2340 2456 2455 + 2342 2343 2458 + 2342 2458 2457 + 2344 2345 2460 + 2344 2460 2459 + 2346 2347 2462 + 2346 2462 2461 + 2348 2349 2464 + 2348 2464 2463 + 2350 2351 2466 + 2350 2466 2465 + 2352 2353 2468 + 2352 2468 2467 + 2354 2355 2470 + 2354 2470 2469 + 2356 2357 2472 + 2356 2472 2471 + 2358 2359 2474 + 2358 2474 2473 + 2360 2361 2476 + 2360 2476 2475 + 2362 2363 2478 + 2362 2478 2477 + 2364 2365 2480 + 2364 2480 2479 + 2366 2367 2482 + 2366 2482 2481 + 2368 2369 2484 + 2368 2484 2483 + 2370 2371 2486 + 2370 2486 2485 + 2372 2373 2488 + 2372 2488 2487 + 2374 2375 2490 + 2374 2490 2489 + 2376 2377 2492 + 2376 2492 2491 + 2378 2379 2494 + 2378 2494 2493 + 2380 2381 2496 + 2380 2496 2495 + 2382 2383 2498 + 2382 2498 2497 + 2384 2385 2500 + 2384 2500 2499 + 2386 2387 2502 + 2386 2502 2501 + 2388 2389 2504 + 2388 2504 2503 + 2390 2391 2506 + 2390 2506 2505 + 2392 2393 2508 + 2392 2508 2507 + 2394 2395 2510 + 2394 2510 2509 + 2396 2397 2512 + 2396 2512 2511 + 2398 2399 2514 + 2398 2514 2513 + 2400 2401 2516 + 2400 2516 2515 + 2402 2403 2518 + 2402 2518 2517 + 2404 2405 2520 + 2404 2520 2519 + 2406 2407 2522 + 2406 2522 2521 + 2408 2409 2524 + 2408 2524 2523 + 2410 2411 2526 + 2410 2526 2525 + 2412 2413 2528 + 2412 2528 2527 + 2414 2415 2530 + 2414 2530 2529 + 2416 2417 2531 + 2417 2532 2531 + 2418 2419 2533 + 2419 2534 2533 + 2420 2421 2535 + 2421 2536 2535 + 2422 2423 2537 + 2423 2538 2537 + 2424 2425 2539 + 2425 2540 2539 + 2426 2427 2541 + 2427 2542 2541 + 2428 2429 2543 + 2429 2544 2543 + 2430 2431 2545 + 2431 2546 2545 + 2432 2433 2547 + 2433 2548 2547 + 2434 2435 2549 + 2435 2550 2549 + 2436 2437 2551 + 2437 2552 2551 + 2438 2439 2553 + 2439 2554 2553 + 2440 2441 2555 + 2441 2556 2555 + 2442 2443 2557 + 2443 2558 2557 + 2444 2445 2559 + 2445 2560 2559 + 2446 2447 2561 + 2447 2562 2561 + 2448 2449 2563 + 2449 2564 2563 + 2450 2451 2565 + 2451 2566 2565 + 2452 2453 2567 + 2453 2568 2567 + 2454 2455 2569 + 2455 2570 2569 + 2456 2457 2571 + 2457 2572 2571 + 2458 2459 2573 + 2459 2574 2573 + 2460 2461 2575 + 2461 2576 2575 + 2462 2463 2577 + 2463 2578 2577 + 2464 2465 2579 + 2465 2580 2579 + 2466 2467 2581 + 2467 2582 2581 + 2468 2469 2583 + 2469 2584 2583 + 2470 2471 2585 + 2471 2586 2585 + 2472 2473 2587 + 2473 2588 2587 + 2474 2475 2589 + 2475 2590 2589 + 2476 2477 2591 + 2477 2592 2591 + 2478 2479 2593 + 2479 2594 2593 + 2480 2481 2595 + 2481 2596 2595 + 2482 2483 2597 + 2483 2598 2597 + 2484 2485 2599 + 2485 2600 2599 + 2486 2487 2601 + 2487 2602 2601 + 2488 2489 2603 + 2489 2604 2603 + 2490 2491 2605 + 2491 2606 2605 + 2492 2493 2607 + 2493 2608 2607 + 2494 2495 2609 + 2495 2610 2609 + 2496 2497 2611 + 2497 2612 2611 + 2498 2499 2613 + 2499 2614 2613 + 2500 2501 2615 + 2501 2616 2615 + 2502 2503 2617 + 2503 2618 2617 + 2504 2505 2619 + 2505 2620 2619 + 2506 2507 2621 + 2507 2622 2621 + 2508 2509 2623 + 2509 2624 2623 + 2510 2511 2625 + 2511 2626 2625 + 2512 2513 2627 + 2513 2628 2627 + 2514 2515 2629 + 2515 2630 2629 + 2516 2517 2631 + 2517 2632 2631 + 2518 2519 2633 + 2519 2634 2633 + 2520 2521 2635 + 2521 2636 2635 + 2522 2523 2637 + 2523 2638 2637 + 2524 2525 2639 + 2525 2640 2639 + 2526 2527 2641 + 2527 2642 2641 + 2528 2529 2643 + 2529 2644 2643 + 2417 2418 2533 + 2417 2533 2532 + 2419 2420 2535 + 2419 2535 2534 + 2421 2422 2537 + 2421 2537 2536 + 2423 2424 2539 + 2423 2539 2538 + 2425 2426 2541 + 2425 2541 2540 + 2427 2428 2543 + 2427 2543 2542 + 2429 2430 2545 + 2429 2545 2544 + 2431 2432 2547 + 2431 2547 2546 + 2433 2434 2549 + 2433 2549 2548 + 2435 2436 2551 + 2435 2551 2550 + 2437 2438 2553 + 2437 2553 2552 + 2439 2440 2555 + 2439 2555 2554 + 2441 2442 2557 + 2441 2557 2556 + 2443 2444 2559 + 2443 2559 2558 + 2445 2446 2561 + 2445 2561 2560 + 2447 2448 2563 + 2447 2563 2562 + 2449 2450 2565 + 2449 2565 2564 + 2451 2452 2567 + 2451 2567 2566 + 2453 2454 2569 + 2453 2569 2568 + 2455 2456 2571 + 2455 2571 2570 + 2457 2458 2573 + 2457 2573 2572 + 2459 2460 2575 + 2459 2575 2574 + 2461 2462 2577 + 2461 2577 2576 + 2463 2464 2579 + 2463 2579 2578 + 2465 2466 2581 + 2465 2581 2580 + 2467 2468 2583 + 2467 2583 2582 + 2469 2470 2585 + 2469 2585 2584 + 2471 2472 2587 + 2471 2587 2586 + 2473 2474 2589 + 2473 2589 2588 + 2475 2476 2591 + 2475 2591 2590 + 2477 2478 2593 + 2477 2593 2592 + 2479 2480 2595 + 2479 2595 2594 + 2481 2482 2597 + 2481 2597 2596 + 2483 2484 2599 + 2483 2599 2598 + 2485 2486 2601 + 2485 2601 2600 + 2487 2488 2603 + 2487 2603 2602 + 2489 2490 2605 + 2489 2605 2604 + 2491 2492 2607 + 2491 2607 2606 + 2493 2494 2609 + 2493 2609 2608 + 2495 2496 2611 + 2495 2611 2610 + 2497 2498 2613 + 2497 2613 2612 + 2499 2500 2615 + 2499 2615 2614 + 2501 2502 2617 + 2501 2617 2616 + 2503 2504 2619 + 2503 2619 2618 + 2505 2506 2621 + 2505 2621 2620 + 2507 2508 2623 + 2507 2623 2622 + 2509 2510 2625 + 2509 2625 2624 + 2511 2512 2627 + 2511 2627 2626 + 2513 2514 2629 + 2513 2629 2628 + 2515 2516 2631 + 2515 2631 2630 + 2517 2518 2633 + 2517 2633 2632 + 2519 2520 2635 + 2519 2635 2634 + 2521 2522 2637 + 2521 2637 2636 + 2523 2524 2639 + 2523 2639 2638 + 2525 2526 2641 + 2525 2641 2640 + 2527 2528 2643 + 2527 2643 2642 + 2529 2530 2645 + 2529 2645 2644 + 2531 2532 2646 + 2532 2647 2646 + 2533 2534 2648 + 2534 2649 2648 + 2535 2536 2650 + 2536 2651 2650 + 2537 2538 2652 + 2538 2653 2652 + 2539 2540 2654 + 2540 2655 2654 + 2541 2542 2656 + 2542 2657 2656 + 2543 2544 2658 + 2544 2659 2658 + 2545 2546 2660 + 2546 2661 2660 + 2547 2548 2662 + 2548 2663 2662 + 2549 2550 2664 + 2550 2665 2664 + 2551 2552 2666 + 2552 2667 2666 + 2553 2554 2668 + 2554 2669 2668 + 2555 2556 2670 + 2556 2671 2670 + 2557 2558 2672 + 2558 2673 2672 + 2559 2560 2674 + 2560 2675 2674 + 2561 2562 2676 + 2562 2677 2676 + 2563 2564 2678 + 2564 2679 2678 + 2565 2566 2680 + 2566 2681 2680 + 2567 2568 2682 + 2568 2683 2682 + 2569 2570 2684 + 2570 2685 2684 + 2571 2572 2686 + 2572 2687 2686 + 2573 2574 2688 + 2574 2689 2688 + 2575 2576 2690 + 2576 2691 2690 + 2577 2578 2692 + 2578 2693 2692 + 2579 2580 2694 + 2580 2695 2694 + 2581 2582 2696 + 2582 2697 2696 + 2583 2584 2698 + 2584 2699 2698 + 2585 2586 2700 + 2586 2701 2700 + 2587 2588 2702 + 2588 2703 2702 + 2589 2590 2704 + 2590 2705 2704 + 2591 2592 2706 + 2592 2707 2706 + 2593 2594 2708 + 2594 2709 2708 + 2595 2596 2710 + 2596 2711 2710 + 2597 2598 2712 + 2598 2713 2712 + 2599 2600 2714 + 2600 2715 2714 + 2601 2602 2716 + 2602 2717 2716 + 2603 2604 2718 + 2604 2719 2718 + 2605 2606 2720 + 2606 2721 2720 + 2607 2608 2722 + 2608 2723 2722 + 2609 2610 2724 + 2610 2725 2724 + 2611 2612 2726 + 2612 2727 2726 + 2613 2614 2728 + 2614 2729 2728 + 2615 2616 2730 + 2616 2731 2730 + 2617 2618 2732 + 2618 2733 2732 + 2619 2620 2734 + 2620 2735 2734 + 2621 2622 2736 + 2622 2737 2736 + 2623 2624 2738 + 2624 2739 2738 + 2625 2626 2740 + 2626 2741 2740 + 2627 2628 2742 + 2628 2743 2742 + 2629 2630 2744 + 2630 2745 2744 + 2631 2632 2746 + 2632 2747 2746 + 2633 2634 2748 + 2634 2749 2748 + 2635 2636 2750 + 2636 2751 2750 + 2637 2638 2752 + 2638 2753 2752 + 2639 2640 2754 + 2640 2755 2754 + 2641 2642 2756 + 2642 2757 2756 + 2643 2644 2758 + 2644 2759 2758 + 2532 2533 2648 + 2532 2648 2647 + 2534 2535 2650 + 2534 2650 2649 + 2536 2537 2652 + 2536 2652 2651 + 2538 2539 2654 + 2538 2654 2653 + 2540 2541 2656 + 2540 2656 2655 + 2542 2543 2658 + 2542 2658 2657 + 2544 2545 2660 + 2544 2660 2659 + 2546 2547 2662 + 2546 2662 2661 + 2548 2549 2664 + 2548 2664 2663 + 2550 2551 2666 + 2550 2666 2665 + 2552 2553 2668 + 2552 2668 2667 + 2554 2555 2670 + 2554 2670 2669 + 2556 2557 2672 + 2556 2672 2671 + 2558 2559 2674 + 2558 2674 2673 + 2560 2561 2676 + 2560 2676 2675 + 2562 2563 2678 + 2562 2678 2677 + 2564 2565 2680 + 2564 2680 2679 + 2566 2567 2682 + 2566 2682 2681 + 2568 2569 2684 + 2568 2684 2683 + 2570 2571 2686 + 2570 2686 2685 + 2572 2573 2688 + 2572 2688 2687 + 2574 2575 2690 + 2574 2690 2689 + 2576 2577 2692 + 2576 2692 2691 + 2578 2579 2694 + 2578 2694 2693 + 2580 2581 2696 + 2580 2696 2695 + 2582 2583 2698 + 2582 2698 2697 + 2584 2585 2700 + 2584 2700 2699 + 2586 2587 2702 + 2586 2702 2701 + 2588 2589 2704 + 2588 2704 2703 + 2590 2591 2706 + 2590 2706 2705 + 2592 2593 2708 + 2592 2708 2707 + 2594 2595 2710 + 2594 2710 2709 + 2596 2597 2712 + 2596 2712 2711 + 2598 2599 2714 + 2598 2714 2713 + 2600 2601 2716 + 2600 2716 2715 + 2602 2603 2718 + 2602 2718 2717 + 2604 2605 2720 + 2604 2720 2719 + 2606 2607 2722 + 2606 2722 2721 + 2608 2609 2724 + 2608 2724 2723 + 2610 2611 2726 + 2610 2726 2725 + 2612 2613 2728 + 2612 2728 2727 + 2614 2615 2730 + 2614 2730 2729 + 2616 2617 2732 + 2616 2732 2731 + 2618 2619 2734 + 2618 2734 2733 + 2620 2621 2736 + 2620 2736 2735 + 2622 2623 2738 + 2622 2738 2737 + 2624 2625 2740 + 2624 2740 2739 + 2626 2627 2742 + 2626 2742 2741 + 2628 2629 2744 + 2628 2744 2743 + 2630 2631 2746 + 2630 2746 2745 + 2632 2633 2748 + 2632 2748 2747 + 2634 2635 2750 + 2634 2750 2749 + 2636 2637 2752 + 2636 2752 2751 + 2638 2639 2754 + 2638 2754 2753 + 2640 2641 2756 + 2640 2756 2755 + 2642 2643 2758 + 2642 2758 2757 + 2644 2645 2760 + 2644 2760 2759 + 2646 2647 2761 + 2647 2762 2761 + 2648 2649 2763 + 2649 2764 2763 + 2650 2651 2765 + 2651 2766 2765 + 2652 2653 2767 + 2653 2768 2767 + 2654 2655 2769 + 2655 2770 2769 + 2656 2657 2771 + 2657 2772 2771 + 2658 2659 2773 + 2659 2774 2773 + 2660 2661 2775 + 2661 2776 2775 + 2662 2663 2777 + 2663 2778 2777 + 2664 2665 2779 + 2665 2780 2779 + 2666 2667 2781 + 2667 2782 2781 + 2668 2669 2783 + 2669 2784 2783 + 2670 2671 2785 + 2671 2786 2785 + 2672 2673 2787 + 2673 2788 2787 + 2674 2675 2789 + 2675 2790 2789 + 2676 2677 2791 + 2677 2792 2791 + 2678 2679 2793 + 2679 2794 2793 + 2680 2681 2795 + 2681 2796 2795 + 2682 2683 2797 + 2683 2798 2797 + 2684 2685 2799 + 2685 2800 2799 + 2686 2687 2801 + 2687 2802 2801 + 2688 2689 2803 + 2689 2804 2803 + 2690 2691 2805 + 2691 2806 2805 + 2692 2693 2807 + 2693 2808 2807 + 2694 2695 2809 + 2695 2810 2809 + 2696 2697 2811 + 2697 2812 2811 + 2698 2699 2813 + 2699 2814 2813 + 2700 2701 2815 + 2701 2816 2815 + 2702 2703 2817 + 2703 2818 2817 + 2704 2705 2819 + 2705 2820 2819 + 2706 2707 2821 + 2707 2822 2821 + 2708 2709 2823 + 2709 2824 2823 + 2710 2711 2825 + 2711 2826 2825 + 2712 2713 2827 + 2713 2828 2827 + 2714 2715 2829 + 2715 2830 2829 + 2716 2717 2831 + 2717 2832 2831 + 2718 2719 2833 + 2719 2834 2833 + 2720 2721 2835 + 2721 2836 2835 + 2722 2723 2837 + 2723 2838 2837 + 2724 2725 2839 + 2725 2840 2839 + 2726 2727 2841 + 2727 2842 2841 + 2728 2729 2843 + 2729 2844 2843 + 2730 2731 2845 + 2731 2846 2845 + 2732 2733 2847 + 2733 2848 2847 + 2734 2735 2849 + 2735 2850 2849 + 2736 2737 2851 + 2737 2852 2851 + 2738 2739 2853 + 2739 2854 2853 + 2740 2741 2855 + 2741 2856 2855 + 2742 2743 2857 + 2743 2858 2857 + 2744 2745 2859 + 2745 2860 2859 + 2746 2747 2861 + 2747 2862 2861 + 2748 2749 2863 + 2749 2864 2863 + 2750 2751 2865 + 2751 2866 2865 + 2752 2753 2867 + 2753 2868 2867 + 2754 2755 2869 + 2755 2870 2869 + 2756 2757 2871 + 2757 2872 2871 + 2758 2759 2873 + 2759 2874 2873 + 2647 2648 2763 + 2647 2763 2762 + 2649 2650 2765 + 2649 2765 2764 + 2651 2652 2767 + 2651 2767 2766 + 2653 2654 2769 + 2653 2769 2768 + 2655 2656 2771 + 2655 2771 2770 + 2657 2658 2773 + 2657 2773 2772 + 2659 2660 2775 + 2659 2775 2774 + 2661 2662 2777 + 2661 2777 2776 + 2663 2664 2779 + 2663 2779 2778 + 2665 2666 2781 + 2665 2781 2780 + 2667 2668 2783 + 2667 2783 2782 + 2669 2670 2785 + 2669 2785 2784 + 2671 2672 2787 + 2671 2787 2786 + 2673 2674 2789 + 2673 2789 2788 + 2675 2676 2791 + 2675 2791 2790 + 2677 2678 2793 + 2677 2793 2792 + 2679 2680 2795 + 2679 2795 2794 + 2681 2682 2797 + 2681 2797 2796 + 2683 2684 2799 + 2683 2799 2798 + 2685 2686 2801 + 2685 2801 2800 + 2687 2688 2803 + 2687 2803 2802 + 2689 2690 2805 + 2689 2805 2804 + 2691 2692 2807 + 2691 2807 2806 + 2693 2694 2809 + 2693 2809 2808 + 2695 2696 2811 + 2695 2811 2810 + 2697 2698 2813 + 2697 2813 2812 + 2699 2700 2815 + 2699 2815 2814 + 2701 2702 2817 + 2701 2817 2816 + 2703 2704 2819 + 2703 2819 2818 + 2705 2706 2821 + 2705 2821 2820 + 2707 2708 2823 + 2707 2823 2822 + 2709 2710 2825 + 2709 2825 2824 + 2711 2712 2827 + 2711 2827 2826 + 2713 2714 2829 + 2713 2829 2828 + 2715 2716 2831 + 2715 2831 2830 + 2717 2718 2833 + 2717 2833 2832 + 2719 2720 2835 + 2719 2835 2834 + 2721 2722 2837 + 2721 2837 2836 + 2723 2724 2839 + 2723 2839 2838 + 2725 2726 2841 + 2725 2841 2840 + 2727 2728 2843 + 2727 2843 2842 + 2729 2730 2845 + 2729 2845 2844 + 2731 2732 2847 + 2731 2847 2846 + 2733 2734 2849 + 2733 2849 2848 + 2735 2736 2851 + 2735 2851 2850 + 2737 2738 2853 + 2737 2853 2852 + 2739 2740 2855 + 2739 2855 2854 + 2741 2742 2857 + 2741 2857 2856 + 2743 2744 2859 + 2743 2859 2858 + 2745 2746 2861 + 2745 2861 2860 + 2747 2748 2863 + 2747 2863 2862 + 2749 2750 2865 + 2749 2865 2864 + 2751 2752 2867 + 2751 2867 2866 + 2753 2754 2869 + 2753 2869 2868 + 2755 2756 2871 + 2755 2871 2870 + 2757 2758 2873 + 2757 2873 2872 + 2759 2760 2875 + 2759 2875 2874 + 2761 2762 1 + 2762 2 1 + 2763 2764 3 + 2764 4 3 + 2765 2766 5 + 2766 6 5 + 2767 2768 7 + 2768 8 7 + 2769 2770 9 + 2770 10 9 + 2771 2772 11 + 2772 12 11 + 2773 2774 13 + 2774 14 13 + 2775 2776 15 + 2776 16 15 + 2777 2778 17 + 2778 18 17 + 2779 2780 19 + 2780 20 19 + 2781 2782 21 + 2782 22 21 + 2783 2784 23 + 2784 24 23 + 2785 2786 25 + 2786 26 25 + 2787 2788 27 + 2788 28 27 + 2789 2790 29 + 2790 30 29 + 2791 2792 31 + 2792 32 31 + 2793 2794 33 + 2794 34 33 + 2795 2796 35 + 2796 36 35 + 2797 2798 37 + 2798 38 37 + 2799 2800 39 + 2800 40 39 + 2801 2802 41 + 2802 42 41 + 2803 2804 43 + 2804 44 43 + 2805 2806 45 + 2806 46 45 + 2807 2808 47 + 2808 48 47 + 2809 2810 49 + 2810 50 49 + 2811 2812 51 + 2812 52 51 + 2813 2814 53 + 2814 54 53 + 2815 2816 55 + 2816 56 55 + 2817 2818 57 + 2818 58 57 + 2819 2820 59 + 2820 60 59 + 2821 2822 61 + 2822 62 61 + 2823 2824 63 + 2824 64 63 + 2825 2826 65 + 2826 66 65 + 2827 2828 67 + 2828 68 67 + 2829 2830 69 + 2830 70 69 + 2831 2832 71 + 2832 72 71 + 2833 2834 73 + 2834 74 73 + 2835 2836 75 + 2836 76 75 + 2837 2838 77 + 2838 78 77 + 2839 2840 79 + 2840 80 79 + 2841 2842 81 + 2842 82 81 + 2843 2844 83 + 2844 84 83 + 2845 2846 85 + 2846 86 85 + 2847 2848 87 + 2848 88 87 + 2849 2850 89 + 2850 90 89 + 2851 2852 91 + 2852 92 91 + 2853 2854 93 + 2854 94 93 + 2855 2856 95 + 2856 96 95 + 2857 2858 97 + 2858 98 97 + 2859 2860 99 + 2860 100 99 + 2861 2862 101 + 2862 102 101 + 2863 2864 103 + 2864 104 103 + 2865 2866 105 + 2866 106 105 + 2867 2868 107 + 2868 108 107 + 2869 2870 109 + 2870 110 109 + 2871 2872 111 + 2872 112 111 + 2873 2874 113 + 2874 114 113 + 2762 2763 3 + 2762 3 2 + 2764 2765 5 + 2764 5 4 + 2766 2767 7 + 2766 7 6 + 2768 2769 9 + 2768 9 8 + 2770 2771 11 + 2770 11 10 + 2772 2773 13 + 2772 13 12 + 2774 2775 15 + 2774 15 14 + 2776 2777 17 + 2776 17 16 + 2778 2779 19 + 2778 19 18 + 2780 2781 21 + 2780 21 20 + 2782 2783 23 + 2782 23 22 + 2784 2785 25 + 2784 25 24 + 2786 2787 27 + 2786 27 26 + 2788 2789 29 + 2788 29 28 + 2790 2791 31 + 2790 31 30 + 2792 2793 33 + 2792 33 32 + 2794 2795 35 + 2794 35 34 + 2796 2797 37 + 2796 37 36 + 2798 2799 39 + 2798 39 38 + 2800 2801 41 + 2800 41 40 + 2802 2803 43 + 2802 43 42 + 2804 2805 45 + 2804 45 44 + 2806 2807 47 + 2806 47 46 + 2808 2809 49 + 2808 49 48 + 2810 2811 51 + 2810 51 50 + 2812 2813 53 + 2812 53 52 + 2814 2815 55 + 2814 55 54 + 2816 2817 57 + 2816 57 56 + 2818 2819 59 + 2818 59 58 + 2820 2821 61 + 2820 61 60 + 2822 2823 63 + 2822 63 62 + 2824 2825 65 + 2824 65 64 + 2826 2827 67 + 2826 67 66 + 2828 2829 69 + 2828 69 68 + 2830 2831 71 + 2830 71 70 + 2832 2833 73 + 2832 73 72 + 2834 2835 75 + 2834 75 74 + 2836 2837 77 + 2836 77 76 + 2838 2839 79 + 2838 79 78 + 2840 2841 81 + 2840 81 80 + 2842 2843 83 + 2842 83 82 + 2844 2845 85 + 2844 85 84 + 2846 2847 87 + 2846 87 86 + 2848 2849 89 + 2848 89 88 + 2850 2851 91 + 2850 91 90 + 2852 2853 93 + 2852 93 92 + 2854 2855 95 + 2854 95 94 + 2856 2857 97 + 2856 97 96 + 2858 2859 99 + 2858 99 98 + 2860 2861 101 + 2860 101 100 + 2862 2863 103 + 2862 103 102 + 2864 2865 105 + 2864 105 104 + 2866 2867 107 + 2866 107 106 + 2868 2869 109 + 2868 109 108 + 2870 2871 111 + 2870 111 110 + 2872 2873 113 + 2872 113 112 + 2874 2875 115 + 2874 115 114 diff --git a/test/meshes/soufflet/elvls.out b/test/meshes/soufflet/elvls.out new file mode 100644 index 000000000..721c96428 --- /dev/null +++ b/test/meshes/soufflet/elvls.out @@ -0,0 +1,5700 @@ + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 diff --git a/test/meshes/soufflet/nlvls.out b/test/meshes/soufflet/nlvls.out new file mode 100644 index 000000000..ea76b9f1d --- /dev/null +++ b/test/meshes/soufflet/nlvls.out @@ -0,0 +1,2875 @@ + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 + 41 diff --git a/test/meshes/soufflet/nod2d.out b/test/meshes/soufflet/nod2d.out new file mode 100644 index 000000000..32968f307 --- /dev/null +++ b/test/meshes/soufflet/nod2d.out @@ -0,0 +1,2876 @@ + 2875 + 1 0.0000 0.0000 1 + 2 0.0900 0.1571 0 + 3 0.0000 0.3141 0 + 4 0.0900 0.4712 0 + 5 0.0000 0.6282 0 + 6 0.0900 0.7853 0 + 7 0.0000 0.9424 0 + 8 0.0900 1.0994 0 + 9 0.0000 1.2565 0 + 10 0.0900 1.4135 0 + 11 0.0000 1.5706 0 + 12 0.0900 1.7277 0 + 13 0.0000 1.8847 0 + 14 0.0900 2.0418 0 + 15 0.0000 2.1989 0 + 16 0.0900 2.3559 0 + 17 0.0000 2.5130 0 + 18 0.0900 2.6700 0 + 19 0.0000 2.8271 0 + 20 0.0900 2.9842 0 + 21 0.0000 3.1412 0 + 22 0.0900 3.2983 0 + 23 0.0000 3.4553 0 + 24 0.0900 3.6124 0 + 25 0.0000 3.7695 0 + 26 0.0900 3.9265 0 + 27 0.0000 4.0836 0 + 28 0.0900 4.2406 0 + 29 0.0000 4.3977 0 + 30 0.0900 4.5548 0 + 31 0.0000 4.7118 0 + 32 0.0900 4.8689 0 + 33 0.0000 5.0259 0 + 34 0.0900 5.1830 0 + 35 0.0000 5.3401 0 + 36 0.0900 5.4971 0 + 37 0.0000 5.6542 0 + 38 0.0900 5.8112 0 + 39 0.0000 5.9683 0 + 40 0.0900 6.1254 0 + 41 0.0000 6.2824 0 + 42 0.0900 6.4395 0 + 43 0.0000 6.5966 0 + 44 0.0900 6.7536 0 + 45 0.0000 6.9107 0 + 46 0.0900 7.0677 0 + 47 0.0000 7.2248 0 + 48 0.0900 7.3819 0 + 49 0.0000 7.5389 0 + 50 0.0900 7.6960 0 + 51 0.0000 7.8530 0 + 52 0.0900 8.0101 0 + 53 0.0000 8.1672 0 + 54 0.0900 8.3242 0 + 55 0.0000 8.4813 0 + 56 0.0900 8.6383 0 + 57 0.0000 8.7954 0 + 58 0.0900 8.9525 0 + 59 0.0000 9.1095 0 + 60 0.0900 9.2666 0 + 61 0.0000 9.4236 0 + 62 0.0900 9.5807 0 + 63 0.0000 9.7378 0 + 64 0.0900 9.8948 0 + 65 0.0000 10.0519 0 + 66 0.0900 10.2090 0 + 67 0.0000 10.3660 0 + 68 0.0900 10.5231 0 + 69 0.0000 10.6801 0 + 70 0.0900 10.8372 0 + 71 0.0000 10.9943 0 + 72 0.0900 11.1513 0 + 73 0.0000 11.3084 0 + 74 0.0900 11.4654 0 + 75 0.0000 11.6225 0 + 76 0.0900 11.7796 0 + 77 0.0000 11.9366 0 + 78 0.0900 12.0937 0 + 79 0.0000 12.2507 0 + 80 0.0900 12.4078 0 + 81 0.0000 12.5649 0 + 82 0.0900 12.7219 0 + 83 0.0000 12.8790 0 + 84 0.0900 13.0360 0 + 85 0.0000 13.1931 0 + 86 0.0900 13.3502 0 + 87 0.0000 13.5072 0 + 88 0.0900 13.6643 0 + 89 0.0000 13.8214 0 + 90 0.0900 13.9784 0 + 91 0.0000 14.1355 0 + 92 0.0900 14.2925 0 + 93 0.0000 14.4496 0 + 94 0.0900 14.6067 0 + 95 0.0000 14.7637 0 + 96 0.0900 14.9208 0 + 97 0.0000 15.0778 0 + 98 0.0900 15.2349 0 + 99 0.0000 15.3920 0 + 100 0.0900 15.5490 0 + 101 0.0000 15.7061 0 + 102 0.0900 15.8631 0 + 103 0.0000 16.0202 0 + 104 0.0900 16.1773 0 + 105 0.0000 16.3343 0 + 106 0.0900 16.4914 0 + 107 0.0000 16.6484 0 + 108 0.0900 16.8055 0 + 109 0.0000 16.9626 0 + 110 0.0900 17.1196 0 + 111 0.0000 17.2767 0 + 112 0.0900 17.4337 0 + 113 0.0000 17.5908 0 + 114 0.0900 17.7479 0 + 115 0.0000 17.9049 1 + 116 0.1800 0.0000 1 + 117 0.2700 0.1571 0 + 118 0.1800 0.3141 0 + 119 0.2700 0.4712 0 + 120 0.1800 0.6282 0 + 121 0.2700 0.7853 0 + 122 0.1800 0.9424 0 + 123 0.2700 1.0994 0 + 124 0.1800 1.2565 0 + 125 0.2700 1.4135 0 + 126 0.1800 1.5706 0 + 127 0.2700 1.7277 0 + 128 0.1800 1.8847 0 + 129 0.2700 2.0418 0 + 130 0.1800 2.1989 0 + 131 0.2700 2.3559 0 + 132 0.1800 2.5130 0 + 133 0.2700 2.6700 0 + 134 0.1800 2.8271 0 + 135 0.2700 2.9842 0 + 136 0.1800 3.1412 0 + 137 0.2700 3.2983 0 + 138 0.1800 3.4553 0 + 139 0.2700 3.6124 0 + 140 0.1800 3.7695 0 + 141 0.2700 3.9265 0 + 142 0.1800 4.0836 0 + 143 0.2700 4.2406 0 + 144 0.1800 4.3977 0 + 145 0.2700 4.5548 0 + 146 0.1800 4.7118 0 + 147 0.2700 4.8689 0 + 148 0.1800 5.0259 0 + 149 0.2700 5.1830 0 + 150 0.1800 5.3401 0 + 151 0.2700 5.4971 0 + 152 0.1800 5.6542 0 + 153 0.2700 5.8112 0 + 154 0.1800 5.9683 0 + 155 0.2700 6.1254 0 + 156 0.1800 6.2824 0 + 157 0.2700 6.4395 0 + 158 0.1800 6.5966 0 + 159 0.2700 6.7536 0 + 160 0.1800 6.9107 0 + 161 0.2700 7.0677 0 + 162 0.1800 7.2248 0 + 163 0.2700 7.3819 0 + 164 0.1800 7.5389 0 + 165 0.2700 7.6960 0 + 166 0.1800 7.8530 0 + 167 0.2700 8.0101 0 + 168 0.1800 8.1672 0 + 169 0.2700 8.3242 0 + 170 0.1800 8.4813 0 + 171 0.2700 8.6383 0 + 172 0.1800 8.7954 0 + 173 0.2700 8.9525 0 + 174 0.1800 9.1095 0 + 175 0.2700 9.2666 0 + 176 0.1800 9.4236 0 + 177 0.2700 9.5807 0 + 178 0.1800 9.7378 0 + 179 0.2700 9.8948 0 + 180 0.1800 10.0519 0 + 181 0.2700 10.2090 0 + 182 0.1800 10.3660 0 + 183 0.2700 10.5231 0 + 184 0.1800 10.6801 0 + 185 0.2700 10.8372 0 + 186 0.1800 10.9943 0 + 187 0.2700 11.1513 0 + 188 0.1800 11.3084 0 + 189 0.2700 11.4654 0 + 190 0.1800 11.6225 0 + 191 0.2700 11.7796 0 + 192 0.1800 11.9366 0 + 193 0.2700 12.0937 0 + 194 0.1800 12.2507 0 + 195 0.2700 12.4078 0 + 196 0.1800 12.5649 0 + 197 0.2700 12.7219 0 + 198 0.1800 12.8790 0 + 199 0.2700 13.0360 0 + 200 0.1800 13.1931 0 + 201 0.2700 13.3502 0 + 202 0.1800 13.5072 0 + 203 0.2700 13.6643 0 + 204 0.1800 13.8214 0 + 205 0.2700 13.9784 0 + 206 0.1800 14.1355 0 + 207 0.2700 14.2925 0 + 208 0.1800 14.4496 0 + 209 0.2700 14.6067 0 + 210 0.1800 14.7637 0 + 211 0.2700 14.9208 0 + 212 0.1800 15.0778 0 + 213 0.2700 15.2349 0 + 214 0.1800 15.3920 0 + 215 0.2700 15.5490 0 + 216 0.1800 15.7061 0 + 217 0.2700 15.8631 0 + 218 0.1800 16.0202 0 + 219 0.2700 16.1773 0 + 220 0.1800 16.3343 0 + 221 0.2700 16.4914 0 + 222 0.1800 16.6484 0 + 223 0.2700 16.8055 0 + 224 0.1800 16.9626 0 + 225 0.2700 17.1196 0 + 226 0.1800 17.2767 0 + 227 0.2700 17.4337 0 + 228 0.1800 17.5908 0 + 229 0.2700 17.7479 0 + 230 0.1800 17.9049 1 + 231 0.3600 0.0000 1 + 232 0.4500 0.1571 0 + 233 0.3600 0.3141 0 + 234 0.4500 0.4712 0 + 235 0.3600 0.6282 0 + 236 0.4500 0.7853 0 + 237 0.3600 0.9424 0 + 238 0.4500 1.0994 0 + 239 0.3600 1.2565 0 + 240 0.4500 1.4135 0 + 241 0.3600 1.5706 0 + 242 0.4500 1.7277 0 + 243 0.3600 1.8847 0 + 244 0.4500 2.0418 0 + 245 0.3600 2.1989 0 + 246 0.4500 2.3559 0 + 247 0.3600 2.5130 0 + 248 0.4500 2.6700 0 + 249 0.3600 2.8271 0 + 250 0.4500 2.9842 0 + 251 0.3600 3.1412 0 + 252 0.4500 3.2983 0 + 253 0.3600 3.4553 0 + 254 0.4500 3.6124 0 + 255 0.3600 3.7695 0 + 256 0.4500 3.9265 0 + 257 0.3600 4.0836 0 + 258 0.4500 4.2406 0 + 259 0.3600 4.3977 0 + 260 0.4500 4.5548 0 + 261 0.3600 4.7118 0 + 262 0.4500 4.8689 0 + 263 0.3600 5.0259 0 + 264 0.4500 5.1830 0 + 265 0.3600 5.3401 0 + 266 0.4500 5.4971 0 + 267 0.3600 5.6542 0 + 268 0.4500 5.8112 0 + 269 0.3600 5.9683 0 + 270 0.4500 6.1254 0 + 271 0.3600 6.2824 0 + 272 0.4500 6.4395 0 + 273 0.3600 6.5966 0 + 274 0.4500 6.7536 0 + 275 0.3600 6.9107 0 + 276 0.4500 7.0677 0 + 277 0.3600 7.2248 0 + 278 0.4500 7.3819 0 + 279 0.3600 7.5389 0 + 280 0.4500 7.6960 0 + 281 0.3600 7.8530 0 + 282 0.4500 8.0101 0 + 283 0.3600 8.1672 0 + 284 0.4500 8.3242 0 + 285 0.3600 8.4813 0 + 286 0.4500 8.6383 0 + 287 0.3600 8.7954 0 + 288 0.4500 8.9525 0 + 289 0.3600 9.1095 0 + 290 0.4500 9.2666 0 + 291 0.3600 9.4236 0 + 292 0.4500 9.5807 0 + 293 0.3600 9.7378 0 + 294 0.4500 9.8948 0 + 295 0.3600 10.0519 0 + 296 0.4500 10.2090 0 + 297 0.3600 10.3660 0 + 298 0.4500 10.5231 0 + 299 0.3600 10.6801 0 + 300 0.4500 10.8372 0 + 301 0.3600 10.9943 0 + 302 0.4500 11.1513 0 + 303 0.3600 11.3084 0 + 304 0.4500 11.4654 0 + 305 0.3600 11.6225 0 + 306 0.4500 11.7796 0 + 307 0.3600 11.9366 0 + 308 0.4500 12.0937 0 + 309 0.3600 12.2507 0 + 310 0.4500 12.4078 0 + 311 0.3600 12.5649 0 + 312 0.4500 12.7219 0 + 313 0.3600 12.8790 0 + 314 0.4500 13.0360 0 + 315 0.3600 13.1931 0 + 316 0.4500 13.3502 0 + 317 0.3600 13.5072 0 + 318 0.4500 13.6643 0 + 319 0.3600 13.8214 0 + 320 0.4500 13.9784 0 + 321 0.3600 14.1355 0 + 322 0.4500 14.2925 0 + 323 0.3600 14.4496 0 + 324 0.4500 14.6067 0 + 325 0.3600 14.7637 0 + 326 0.4500 14.9208 0 + 327 0.3600 15.0778 0 + 328 0.4500 15.2349 0 + 329 0.3600 15.3920 0 + 330 0.4500 15.5490 0 + 331 0.3600 15.7061 0 + 332 0.4500 15.8631 0 + 333 0.3600 16.0202 0 + 334 0.4500 16.1773 0 + 335 0.3600 16.3343 0 + 336 0.4500 16.4914 0 + 337 0.3600 16.6484 0 + 338 0.4500 16.8055 0 + 339 0.3600 16.9626 0 + 340 0.4500 17.1196 0 + 341 0.3600 17.2767 0 + 342 0.4500 17.4337 0 + 343 0.3600 17.5908 0 + 344 0.4500 17.7479 0 + 345 0.3600 17.9049 1 + 346 0.5400 0.0000 1 + 347 0.6300 0.1571 0 + 348 0.5400 0.3141 0 + 349 0.6300 0.4712 0 + 350 0.5400 0.6282 0 + 351 0.6300 0.7853 0 + 352 0.5400 0.9424 0 + 353 0.6300 1.0994 0 + 354 0.5400 1.2565 0 + 355 0.6300 1.4135 0 + 356 0.5400 1.5706 0 + 357 0.6300 1.7277 0 + 358 0.5400 1.8847 0 + 359 0.6300 2.0418 0 + 360 0.5400 2.1989 0 + 361 0.6300 2.3559 0 + 362 0.5400 2.5130 0 + 363 0.6300 2.6700 0 + 364 0.5400 2.8271 0 + 365 0.6300 2.9842 0 + 366 0.5400 3.1412 0 + 367 0.6300 3.2983 0 + 368 0.5400 3.4553 0 + 369 0.6300 3.6124 0 + 370 0.5400 3.7695 0 + 371 0.6300 3.9265 0 + 372 0.5400 4.0836 0 + 373 0.6300 4.2406 0 + 374 0.5400 4.3977 0 + 375 0.6300 4.5548 0 + 376 0.5400 4.7118 0 + 377 0.6300 4.8689 0 + 378 0.5400 5.0259 0 + 379 0.6300 5.1830 0 + 380 0.5400 5.3401 0 + 381 0.6300 5.4971 0 + 382 0.5400 5.6542 0 + 383 0.6300 5.8112 0 + 384 0.5400 5.9683 0 + 385 0.6300 6.1254 0 + 386 0.5400 6.2824 0 + 387 0.6300 6.4395 0 + 388 0.5400 6.5966 0 + 389 0.6300 6.7536 0 + 390 0.5400 6.9107 0 + 391 0.6300 7.0677 0 + 392 0.5400 7.2248 0 + 393 0.6300 7.3819 0 + 394 0.5400 7.5389 0 + 395 0.6300 7.6960 0 + 396 0.5400 7.8530 0 + 397 0.6300 8.0101 0 + 398 0.5400 8.1672 0 + 399 0.6300 8.3242 0 + 400 0.5400 8.4813 0 + 401 0.6300 8.6383 0 + 402 0.5400 8.7954 0 + 403 0.6300 8.9525 0 + 404 0.5400 9.1095 0 + 405 0.6300 9.2666 0 + 406 0.5400 9.4236 0 + 407 0.6300 9.5807 0 + 408 0.5400 9.7378 0 + 409 0.6300 9.8948 0 + 410 0.5400 10.0519 0 + 411 0.6300 10.2090 0 + 412 0.5400 10.3660 0 + 413 0.6300 10.5231 0 + 414 0.5400 10.6801 0 + 415 0.6300 10.8372 0 + 416 0.5400 10.9943 0 + 417 0.6300 11.1513 0 + 418 0.5400 11.3084 0 + 419 0.6300 11.4654 0 + 420 0.5400 11.6225 0 + 421 0.6300 11.7796 0 + 422 0.5400 11.9366 0 + 423 0.6300 12.0937 0 + 424 0.5400 12.2507 0 + 425 0.6300 12.4078 0 + 426 0.5400 12.5649 0 + 427 0.6300 12.7219 0 + 428 0.5400 12.8790 0 + 429 0.6300 13.0360 0 + 430 0.5400 13.1931 0 + 431 0.6300 13.3502 0 + 432 0.5400 13.5072 0 + 433 0.6300 13.6643 0 + 434 0.5400 13.8214 0 + 435 0.6300 13.9784 0 + 436 0.5400 14.1355 0 + 437 0.6300 14.2925 0 + 438 0.5400 14.4496 0 + 439 0.6300 14.6067 0 + 440 0.5400 14.7637 0 + 441 0.6300 14.9208 0 + 442 0.5400 15.0778 0 + 443 0.6300 15.2349 0 + 444 0.5400 15.3920 0 + 445 0.6300 15.5490 0 + 446 0.5400 15.7061 0 + 447 0.6300 15.8631 0 + 448 0.5400 16.0202 0 + 449 0.6300 16.1773 0 + 450 0.5400 16.3343 0 + 451 0.6300 16.4914 0 + 452 0.5400 16.6484 0 + 453 0.6300 16.8055 0 + 454 0.5400 16.9626 0 + 455 0.6300 17.1196 0 + 456 0.5400 17.2767 0 + 457 0.6300 17.4337 0 + 458 0.5400 17.5908 0 + 459 0.6300 17.7479 0 + 460 0.5400 17.9049 1 + 461 0.7200 0.0000 1 + 462 0.8100 0.1571 0 + 463 0.7200 0.3141 0 + 464 0.8100 0.4712 0 + 465 0.7200 0.6282 0 + 466 0.8100 0.7853 0 + 467 0.7200 0.9424 0 + 468 0.8100 1.0994 0 + 469 0.7200 1.2565 0 + 470 0.8100 1.4135 0 + 471 0.7200 1.5706 0 + 472 0.8100 1.7277 0 + 473 0.7200 1.8847 0 + 474 0.8100 2.0418 0 + 475 0.7200 2.1989 0 + 476 0.8100 2.3559 0 + 477 0.7200 2.5130 0 + 478 0.8100 2.6700 0 + 479 0.7200 2.8271 0 + 480 0.8100 2.9842 0 + 481 0.7200 3.1412 0 + 482 0.8100 3.2983 0 + 483 0.7200 3.4553 0 + 484 0.8100 3.6124 0 + 485 0.7200 3.7695 0 + 486 0.8100 3.9265 0 + 487 0.7200 4.0836 0 + 488 0.8100 4.2406 0 + 489 0.7200 4.3977 0 + 490 0.8100 4.5548 0 + 491 0.7200 4.7118 0 + 492 0.8100 4.8689 0 + 493 0.7200 5.0259 0 + 494 0.8100 5.1830 0 + 495 0.7200 5.3401 0 + 496 0.8100 5.4971 0 + 497 0.7200 5.6542 0 + 498 0.8100 5.8112 0 + 499 0.7200 5.9683 0 + 500 0.8100 6.1254 0 + 501 0.7200 6.2824 0 + 502 0.8100 6.4395 0 + 503 0.7200 6.5966 0 + 504 0.8100 6.7536 0 + 505 0.7200 6.9107 0 + 506 0.8100 7.0677 0 + 507 0.7200 7.2248 0 + 508 0.8100 7.3819 0 + 509 0.7200 7.5389 0 + 510 0.8100 7.6960 0 + 511 0.7200 7.8530 0 + 512 0.8100 8.0101 0 + 513 0.7200 8.1672 0 + 514 0.8100 8.3242 0 + 515 0.7200 8.4813 0 + 516 0.8100 8.6383 0 + 517 0.7200 8.7954 0 + 518 0.8100 8.9525 0 + 519 0.7200 9.1095 0 + 520 0.8100 9.2666 0 + 521 0.7200 9.4236 0 + 522 0.8100 9.5807 0 + 523 0.7200 9.7378 0 + 524 0.8100 9.8948 0 + 525 0.7200 10.0519 0 + 526 0.8100 10.2090 0 + 527 0.7200 10.3660 0 + 528 0.8100 10.5231 0 + 529 0.7200 10.6801 0 + 530 0.8100 10.8372 0 + 531 0.7200 10.9943 0 + 532 0.8100 11.1513 0 + 533 0.7200 11.3084 0 + 534 0.8100 11.4654 0 + 535 0.7200 11.6225 0 + 536 0.8100 11.7796 0 + 537 0.7200 11.9366 0 + 538 0.8100 12.0937 0 + 539 0.7200 12.2507 0 + 540 0.8100 12.4078 0 + 541 0.7200 12.5649 0 + 542 0.8100 12.7219 0 + 543 0.7200 12.8790 0 + 544 0.8100 13.0360 0 + 545 0.7200 13.1931 0 + 546 0.8100 13.3502 0 + 547 0.7200 13.5072 0 + 548 0.8100 13.6643 0 + 549 0.7200 13.8214 0 + 550 0.8100 13.9784 0 + 551 0.7200 14.1355 0 + 552 0.8100 14.2925 0 + 553 0.7200 14.4496 0 + 554 0.8100 14.6067 0 + 555 0.7200 14.7637 0 + 556 0.8100 14.9208 0 + 557 0.7200 15.0778 0 + 558 0.8100 15.2349 0 + 559 0.7200 15.3920 0 + 560 0.8100 15.5490 0 + 561 0.7200 15.7061 0 + 562 0.8100 15.8631 0 + 563 0.7200 16.0202 0 + 564 0.8100 16.1773 0 + 565 0.7200 16.3343 0 + 566 0.8100 16.4914 0 + 567 0.7200 16.6484 0 + 568 0.8100 16.8055 0 + 569 0.7200 16.9626 0 + 570 0.8100 17.1196 0 + 571 0.7200 17.2767 0 + 572 0.8100 17.4337 0 + 573 0.7200 17.5908 0 + 574 0.8100 17.7479 0 + 575 0.7200 17.9049 1 + 576 0.9000 0.0000 1 + 577 0.9900 0.1571 0 + 578 0.9000 0.3141 0 + 579 0.9900 0.4712 0 + 580 0.9000 0.6282 0 + 581 0.9900 0.7853 0 + 582 0.9000 0.9424 0 + 583 0.9900 1.0994 0 + 584 0.9000 1.2565 0 + 585 0.9900 1.4135 0 + 586 0.9000 1.5706 0 + 587 0.9900 1.7277 0 + 588 0.9000 1.8847 0 + 589 0.9900 2.0418 0 + 590 0.9000 2.1989 0 + 591 0.9900 2.3559 0 + 592 0.9000 2.5130 0 + 593 0.9900 2.6700 0 + 594 0.9000 2.8271 0 + 595 0.9900 2.9842 0 + 596 0.9000 3.1412 0 + 597 0.9900 3.2983 0 + 598 0.9000 3.4553 0 + 599 0.9900 3.6124 0 + 600 0.9000 3.7695 0 + 601 0.9900 3.9265 0 + 602 0.9000 4.0836 0 + 603 0.9900 4.2406 0 + 604 0.9000 4.3977 0 + 605 0.9900 4.5548 0 + 606 0.9000 4.7118 0 + 607 0.9900 4.8689 0 + 608 0.9000 5.0259 0 + 609 0.9900 5.1830 0 + 610 0.9000 5.3401 0 + 611 0.9900 5.4971 0 + 612 0.9000 5.6542 0 + 613 0.9900 5.8112 0 + 614 0.9000 5.9683 0 + 615 0.9900 6.1254 0 + 616 0.9000 6.2824 0 + 617 0.9900 6.4395 0 + 618 0.9000 6.5966 0 + 619 0.9900 6.7536 0 + 620 0.9000 6.9107 0 + 621 0.9900 7.0677 0 + 622 0.9000 7.2248 0 + 623 0.9900 7.3819 0 + 624 0.9000 7.5389 0 + 625 0.9900 7.6960 0 + 626 0.9000 7.8530 0 + 627 0.9900 8.0101 0 + 628 0.9000 8.1672 0 + 629 0.9900 8.3242 0 + 630 0.9000 8.4813 0 + 631 0.9900 8.6383 0 + 632 0.9000 8.7954 0 + 633 0.9900 8.9525 0 + 634 0.9000 9.1095 0 + 635 0.9900 9.2666 0 + 636 0.9000 9.4236 0 + 637 0.9900 9.5807 0 + 638 0.9000 9.7378 0 + 639 0.9900 9.8948 0 + 640 0.9000 10.0519 0 + 641 0.9900 10.2090 0 + 642 0.9000 10.3660 0 + 643 0.9900 10.5231 0 + 644 0.9000 10.6801 0 + 645 0.9900 10.8372 0 + 646 0.9000 10.9943 0 + 647 0.9900 11.1513 0 + 648 0.9000 11.3084 0 + 649 0.9900 11.4654 0 + 650 0.9000 11.6225 0 + 651 0.9900 11.7796 0 + 652 0.9000 11.9366 0 + 653 0.9900 12.0937 0 + 654 0.9000 12.2507 0 + 655 0.9900 12.4078 0 + 656 0.9000 12.5649 0 + 657 0.9900 12.7219 0 + 658 0.9000 12.8790 0 + 659 0.9900 13.0360 0 + 660 0.9000 13.1931 0 + 661 0.9900 13.3502 0 + 662 0.9000 13.5072 0 + 663 0.9900 13.6643 0 + 664 0.9000 13.8214 0 + 665 0.9900 13.9784 0 + 666 0.9000 14.1355 0 + 667 0.9900 14.2925 0 + 668 0.9000 14.4496 0 + 669 0.9900 14.6067 0 + 670 0.9000 14.7637 0 + 671 0.9900 14.9208 0 + 672 0.9000 15.0778 0 + 673 0.9900 15.2349 0 + 674 0.9000 15.3920 0 + 675 0.9900 15.5490 0 + 676 0.9000 15.7061 0 + 677 0.9900 15.8631 0 + 678 0.9000 16.0202 0 + 679 0.9900 16.1773 0 + 680 0.9000 16.3343 0 + 681 0.9900 16.4914 0 + 682 0.9000 16.6484 0 + 683 0.9900 16.8055 0 + 684 0.9000 16.9626 0 + 685 0.9900 17.1196 0 + 686 0.9000 17.2767 0 + 687 0.9900 17.4337 0 + 688 0.9000 17.5908 0 + 689 0.9900 17.7479 0 + 690 0.9000 17.9049 1 + 691 1.0800 0.0000 1 + 692 1.1700 0.1571 0 + 693 1.0800 0.3141 0 + 694 1.1700 0.4712 0 + 695 1.0800 0.6282 0 + 696 1.1700 0.7853 0 + 697 1.0800 0.9424 0 + 698 1.1700 1.0994 0 + 699 1.0800 1.2565 0 + 700 1.1700 1.4135 0 + 701 1.0800 1.5706 0 + 702 1.1700 1.7277 0 + 703 1.0800 1.8847 0 + 704 1.1700 2.0418 0 + 705 1.0800 2.1989 0 + 706 1.1700 2.3559 0 + 707 1.0800 2.5130 0 + 708 1.1700 2.6700 0 + 709 1.0800 2.8271 0 + 710 1.1700 2.9842 0 + 711 1.0800 3.1412 0 + 712 1.1700 3.2983 0 + 713 1.0800 3.4553 0 + 714 1.1700 3.6124 0 + 715 1.0800 3.7695 0 + 716 1.1700 3.9265 0 + 717 1.0800 4.0836 0 + 718 1.1700 4.2406 0 + 719 1.0800 4.3977 0 + 720 1.1700 4.5548 0 + 721 1.0800 4.7118 0 + 722 1.1700 4.8689 0 + 723 1.0800 5.0259 0 + 724 1.1700 5.1830 0 + 725 1.0800 5.3401 0 + 726 1.1700 5.4971 0 + 727 1.0800 5.6542 0 + 728 1.1700 5.8112 0 + 729 1.0800 5.9683 0 + 730 1.1700 6.1254 0 + 731 1.0800 6.2824 0 + 732 1.1700 6.4395 0 + 733 1.0800 6.5966 0 + 734 1.1700 6.7536 0 + 735 1.0800 6.9107 0 + 736 1.1700 7.0677 0 + 737 1.0800 7.2248 0 + 738 1.1700 7.3819 0 + 739 1.0800 7.5389 0 + 740 1.1700 7.6960 0 + 741 1.0800 7.8530 0 + 742 1.1700 8.0101 0 + 743 1.0800 8.1672 0 + 744 1.1700 8.3242 0 + 745 1.0800 8.4813 0 + 746 1.1700 8.6383 0 + 747 1.0800 8.7954 0 + 748 1.1700 8.9525 0 + 749 1.0800 9.1095 0 + 750 1.1700 9.2666 0 + 751 1.0800 9.4236 0 + 752 1.1700 9.5807 0 + 753 1.0800 9.7378 0 + 754 1.1700 9.8948 0 + 755 1.0800 10.0519 0 + 756 1.1700 10.2090 0 + 757 1.0800 10.3660 0 + 758 1.1700 10.5231 0 + 759 1.0800 10.6801 0 + 760 1.1700 10.8372 0 + 761 1.0800 10.9943 0 + 762 1.1700 11.1513 0 + 763 1.0800 11.3084 0 + 764 1.1700 11.4654 0 + 765 1.0800 11.6225 0 + 766 1.1700 11.7796 0 + 767 1.0800 11.9366 0 + 768 1.1700 12.0937 0 + 769 1.0800 12.2507 0 + 770 1.1700 12.4078 0 + 771 1.0800 12.5649 0 + 772 1.1700 12.7219 0 + 773 1.0800 12.8790 0 + 774 1.1700 13.0360 0 + 775 1.0800 13.1931 0 + 776 1.1700 13.3502 0 + 777 1.0800 13.5072 0 + 778 1.1700 13.6643 0 + 779 1.0800 13.8214 0 + 780 1.1700 13.9784 0 + 781 1.0800 14.1355 0 + 782 1.1700 14.2925 0 + 783 1.0800 14.4496 0 + 784 1.1700 14.6067 0 + 785 1.0800 14.7637 0 + 786 1.1700 14.9208 0 + 787 1.0800 15.0778 0 + 788 1.1700 15.2349 0 + 789 1.0800 15.3920 0 + 790 1.1700 15.5490 0 + 791 1.0800 15.7061 0 + 792 1.1700 15.8631 0 + 793 1.0800 16.0202 0 + 794 1.1700 16.1773 0 + 795 1.0800 16.3343 0 + 796 1.1700 16.4914 0 + 797 1.0800 16.6484 0 + 798 1.1700 16.8055 0 + 799 1.0800 16.9626 0 + 800 1.1700 17.1196 0 + 801 1.0800 17.2767 0 + 802 1.1700 17.4337 0 + 803 1.0800 17.5908 0 + 804 1.1700 17.7479 0 + 805 1.0800 17.9049 1 + 806 1.2600 0.0000 1 + 807 1.3500 0.1571 0 + 808 1.2600 0.3141 0 + 809 1.3500 0.4712 0 + 810 1.2600 0.6282 0 + 811 1.3500 0.7853 0 + 812 1.2600 0.9424 0 + 813 1.3500 1.0994 0 + 814 1.2600 1.2565 0 + 815 1.3500 1.4135 0 + 816 1.2600 1.5706 0 + 817 1.3500 1.7277 0 + 818 1.2600 1.8847 0 + 819 1.3500 2.0418 0 + 820 1.2600 2.1989 0 + 821 1.3500 2.3559 0 + 822 1.2600 2.5130 0 + 823 1.3500 2.6700 0 + 824 1.2600 2.8271 0 + 825 1.3500 2.9842 0 + 826 1.2600 3.1412 0 + 827 1.3500 3.2983 0 + 828 1.2600 3.4553 0 + 829 1.3500 3.6124 0 + 830 1.2600 3.7695 0 + 831 1.3500 3.9265 0 + 832 1.2600 4.0836 0 + 833 1.3500 4.2406 0 + 834 1.2600 4.3977 0 + 835 1.3500 4.5548 0 + 836 1.2600 4.7118 0 + 837 1.3500 4.8689 0 + 838 1.2600 5.0259 0 + 839 1.3500 5.1830 0 + 840 1.2600 5.3401 0 + 841 1.3500 5.4971 0 + 842 1.2600 5.6542 0 + 843 1.3500 5.8112 0 + 844 1.2600 5.9683 0 + 845 1.3500 6.1254 0 + 846 1.2600 6.2824 0 + 847 1.3500 6.4395 0 + 848 1.2600 6.5966 0 + 849 1.3500 6.7536 0 + 850 1.2600 6.9107 0 + 851 1.3500 7.0677 0 + 852 1.2600 7.2248 0 + 853 1.3500 7.3819 0 + 854 1.2600 7.5389 0 + 855 1.3500 7.6960 0 + 856 1.2600 7.8530 0 + 857 1.3500 8.0101 0 + 858 1.2600 8.1672 0 + 859 1.3500 8.3242 0 + 860 1.2600 8.4813 0 + 861 1.3500 8.6383 0 + 862 1.2600 8.7954 0 + 863 1.3500 8.9525 0 + 864 1.2600 9.1095 0 + 865 1.3500 9.2666 0 + 866 1.2600 9.4236 0 + 867 1.3500 9.5807 0 + 868 1.2600 9.7378 0 + 869 1.3500 9.8948 0 + 870 1.2600 10.0519 0 + 871 1.3500 10.2090 0 + 872 1.2600 10.3660 0 + 873 1.3500 10.5231 0 + 874 1.2600 10.6801 0 + 875 1.3500 10.8372 0 + 876 1.2600 10.9943 0 + 877 1.3500 11.1513 0 + 878 1.2600 11.3084 0 + 879 1.3500 11.4654 0 + 880 1.2600 11.6225 0 + 881 1.3500 11.7796 0 + 882 1.2600 11.9366 0 + 883 1.3500 12.0937 0 + 884 1.2600 12.2507 0 + 885 1.3500 12.4078 0 + 886 1.2600 12.5649 0 + 887 1.3500 12.7219 0 + 888 1.2600 12.8790 0 + 889 1.3500 13.0360 0 + 890 1.2600 13.1931 0 + 891 1.3500 13.3502 0 + 892 1.2600 13.5072 0 + 893 1.3500 13.6643 0 + 894 1.2600 13.8214 0 + 895 1.3500 13.9784 0 + 896 1.2600 14.1355 0 + 897 1.3500 14.2925 0 + 898 1.2600 14.4496 0 + 899 1.3500 14.6067 0 + 900 1.2600 14.7637 0 + 901 1.3500 14.9208 0 + 902 1.2600 15.0778 0 + 903 1.3500 15.2349 0 + 904 1.2600 15.3920 0 + 905 1.3500 15.5490 0 + 906 1.2600 15.7061 0 + 907 1.3500 15.8631 0 + 908 1.2600 16.0202 0 + 909 1.3500 16.1773 0 + 910 1.2600 16.3343 0 + 911 1.3500 16.4914 0 + 912 1.2600 16.6484 0 + 913 1.3500 16.8055 0 + 914 1.2600 16.9626 0 + 915 1.3500 17.1196 0 + 916 1.2600 17.2767 0 + 917 1.3500 17.4337 0 + 918 1.2600 17.5908 0 + 919 1.3500 17.7479 0 + 920 1.2600 17.9049 1 + 921 1.4400 0.0000 1 + 922 1.5300 0.1571 0 + 923 1.4400 0.3141 0 + 924 1.5300 0.4712 0 + 925 1.4400 0.6282 0 + 926 1.5300 0.7853 0 + 927 1.4400 0.9424 0 + 928 1.5300 1.0994 0 + 929 1.4400 1.2565 0 + 930 1.5300 1.4135 0 + 931 1.4400 1.5706 0 + 932 1.5300 1.7277 0 + 933 1.4400 1.8847 0 + 934 1.5300 2.0418 0 + 935 1.4400 2.1989 0 + 936 1.5300 2.3559 0 + 937 1.4400 2.5130 0 + 938 1.5300 2.6700 0 + 939 1.4400 2.8271 0 + 940 1.5300 2.9842 0 + 941 1.4400 3.1412 0 + 942 1.5300 3.2983 0 + 943 1.4400 3.4553 0 + 944 1.5300 3.6124 0 + 945 1.4400 3.7695 0 + 946 1.5300 3.9265 0 + 947 1.4400 4.0836 0 + 948 1.5300 4.2406 0 + 949 1.4400 4.3977 0 + 950 1.5300 4.5548 0 + 951 1.4400 4.7118 0 + 952 1.5300 4.8689 0 + 953 1.4400 5.0259 0 + 954 1.5300 5.1830 0 + 955 1.4400 5.3401 0 + 956 1.5300 5.4971 0 + 957 1.4400 5.6542 0 + 958 1.5300 5.8112 0 + 959 1.4400 5.9683 0 + 960 1.5300 6.1254 0 + 961 1.4400 6.2824 0 + 962 1.5300 6.4395 0 + 963 1.4400 6.5966 0 + 964 1.5300 6.7536 0 + 965 1.4400 6.9107 0 + 966 1.5300 7.0677 0 + 967 1.4400 7.2248 0 + 968 1.5300 7.3819 0 + 969 1.4400 7.5389 0 + 970 1.5300 7.6960 0 + 971 1.4400 7.8530 0 + 972 1.5300 8.0101 0 + 973 1.4400 8.1672 0 + 974 1.5300 8.3242 0 + 975 1.4400 8.4813 0 + 976 1.5300 8.6383 0 + 977 1.4400 8.7954 0 + 978 1.5300 8.9525 0 + 979 1.4400 9.1095 0 + 980 1.5300 9.2666 0 + 981 1.4400 9.4236 0 + 982 1.5300 9.5807 0 + 983 1.4400 9.7378 0 + 984 1.5300 9.8948 0 + 985 1.4400 10.0519 0 + 986 1.5300 10.2090 0 + 987 1.4400 10.3660 0 + 988 1.5300 10.5231 0 + 989 1.4400 10.6801 0 + 990 1.5300 10.8372 0 + 991 1.4400 10.9943 0 + 992 1.5300 11.1513 0 + 993 1.4400 11.3084 0 + 994 1.5300 11.4654 0 + 995 1.4400 11.6225 0 + 996 1.5300 11.7796 0 + 997 1.4400 11.9366 0 + 998 1.5300 12.0937 0 + 999 1.4400 12.2507 0 + 1000 1.5300 12.4078 0 + 1001 1.4400 12.5649 0 + 1002 1.5300 12.7219 0 + 1003 1.4400 12.8790 0 + 1004 1.5300 13.0360 0 + 1005 1.4400 13.1931 0 + 1006 1.5300 13.3502 0 + 1007 1.4400 13.5072 0 + 1008 1.5300 13.6643 0 + 1009 1.4400 13.8214 0 + 1010 1.5300 13.9784 0 + 1011 1.4400 14.1355 0 + 1012 1.5300 14.2925 0 + 1013 1.4400 14.4496 0 + 1014 1.5300 14.6067 0 + 1015 1.4400 14.7637 0 + 1016 1.5300 14.9208 0 + 1017 1.4400 15.0778 0 + 1018 1.5300 15.2349 0 + 1019 1.4400 15.3920 0 + 1020 1.5300 15.5490 0 + 1021 1.4400 15.7061 0 + 1022 1.5300 15.8631 0 + 1023 1.4400 16.0202 0 + 1024 1.5300 16.1773 0 + 1025 1.4400 16.3343 0 + 1026 1.5300 16.4914 0 + 1027 1.4400 16.6484 0 + 1028 1.5300 16.8055 0 + 1029 1.4400 16.9626 0 + 1030 1.5300 17.1196 0 + 1031 1.4400 17.2767 0 + 1032 1.5300 17.4337 0 + 1033 1.4400 17.5908 0 + 1034 1.5300 17.7479 0 + 1035 1.4400 17.9049 1 + 1036 1.6200 0.0000 1 + 1037 1.7100 0.1571 0 + 1038 1.6200 0.3141 0 + 1039 1.7100 0.4712 0 + 1040 1.6200 0.6282 0 + 1041 1.7100 0.7853 0 + 1042 1.6200 0.9424 0 + 1043 1.7100 1.0994 0 + 1044 1.6200 1.2565 0 + 1045 1.7100 1.4135 0 + 1046 1.6200 1.5706 0 + 1047 1.7100 1.7277 0 + 1048 1.6200 1.8847 0 + 1049 1.7100 2.0418 0 + 1050 1.6200 2.1989 0 + 1051 1.7100 2.3559 0 + 1052 1.6200 2.5130 0 + 1053 1.7100 2.6700 0 + 1054 1.6200 2.8271 0 + 1055 1.7100 2.9842 0 + 1056 1.6200 3.1412 0 + 1057 1.7100 3.2983 0 + 1058 1.6200 3.4553 0 + 1059 1.7100 3.6124 0 + 1060 1.6200 3.7695 0 + 1061 1.7100 3.9265 0 + 1062 1.6200 4.0836 0 + 1063 1.7100 4.2406 0 + 1064 1.6200 4.3977 0 + 1065 1.7100 4.5548 0 + 1066 1.6200 4.7118 0 + 1067 1.7100 4.8689 0 + 1068 1.6200 5.0259 0 + 1069 1.7100 5.1830 0 + 1070 1.6200 5.3401 0 + 1071 1.7100 5.4971 0 + 1072 1.6200 5.6542 0 + 1073 1.7100 5.8112 0 + 1074 1.6200 5.9683 0 + 1075 1.7100 6.1254 0 + 1076 1.6200 6.2824 0 + 1077 1.7100 6.4395 0 + 1078 1.6200 6.5966 0 + 1079 1.7100 6.7536 0 + 1080 1.6200 6.9107 0 + 1081 1.7100 7.0677 0 + 1082 1.6200 7.2248 0 + 1083 1.7100 7.3819 0 + 1084 1.6200 7.5389 0 + 1085 1.7100 7.6960 0 + 1086 1.6200 7.8530 0 + 1087 1.7100 8.0101 0 + 1088 1.6200 8.1672 0 + 1089 1.7100 8.3242 0 + 1090 1.6200 8.4813 0 + 1091 1.7100 8.6383 0 + 1092 1.6200 8.7954 0 + 1093 1.7100 8.9525 0 + 1094 1.6200 9.1095 0 + 1095 1.7100 9.2666 0 + 1096 1.6200 9.4236 0 + 1097 1.7100 9.5807 0 + 1098 1.6200 9.7378 0 + 1099 1.7100 9.8948 0 + 1100 1.6200 10.0519 0 + 1101 1.7100 10.2090 0 + 1102 1.6200 10.3660 0 + 1103 1.7100 10.5231 0 + 1104 1.6200 10.6801 0 + 1105 1.7100 10.8372 0 + 1106 1.6200 10.9943 0 + 1107 1.7100 11.1513 0 + 1108 1.6200 11.3084 0 + 1109 1.7100 11.4654 0 + 1110 1.6200 11.6225 0 + 1111 1.7100 11.7796 0 + 1112 1.6200 11.9366 0 + 1113 1.7100 12.0937 0 + 1114 1.6200 12.2507 0 + 1115 1.7100 12.4078 0 + 1116 1.6200 12.5649 0 + 1117 1.7100 12.7219 0 + 1118 1.6200 12.8790 0 + 1119 1.7100 13.0360 0 + 1120 1.6200 13.1931 0 + 1121 1.7100 13.3502 0 + 1122 1.6200 13.5072 0 + 1123 1.7100 13.6643 0 + 1124 1.6200 13.8214 0 + 1125 1.7100 13.9784 0 + 1126 1.6200 14.1355 0 + 1127 1.7100 14.2925 0 + 1128 1.6200 14.4496 0 + 1129 1.7100 14.6067 0 + 1130 1.6200 14.7637 0 + 1131 1.7100 14.9208 0 + 1132 1.6200 15.0778 0 + 1133 1.7100 15.2349 0 + 1134 1.6200 15.3920 0 + 1135 1.7100 15.5490 0 + 1136 1.6200 15.7061 0 + 1137 1.7100 15.8631 0 + 1138 1.6200 16.0202 0 + 1139 1.7100 16.1773 0 + 1140 1.6200 16.3343 0 + 1141 1.7100 16.4914 0 + 1142 1.6200 16.6484 0 + 1143 1.7100 16.8055 0 + 1144 1.6200 16.9626 0 + 1145 1.7100 17.1196 0 + 1146 1.6200 17.2767 0 + 1147 1.7100 17.4337 0 + 1148 1.6200 17.5908 0 + 1149 1.7100 17.7479 0 + 1150 1.6200 17.9049 1 + 1151 1.8000 0.0000 1 + 1152 1.8900 0.1571 0 + 1153 1.8000 0.3141 0 + 1154 1.8900 0.4712 0 + 1155 1.8000 0.6282 0 + 1156 1.8900 0.7853 0 + 1157 1.8000 0.9424 0 + 1158 1.8900 1.0994 0 + 1159 1.8000 1.2565 0 + 1160 1.8900 1.4135 0 + 1161 1.8000 1.5706 0 + 1162 1.8900 1.7277 0 + 1163 1.8000 1.8847 0 + 1164 1.8900 2.0418 0 + 1165 1.8000 2.1989 0 + 1166 1.8900 2.3559 0 + 1167 1.8000 2.5130 0 + 1168 1.8900 2.6700 0 + 1169 1.8000 2.8271 0 + 1170 1.8900 2.9842 0 + 1171 1.8000 3.1412 0 + 1172 1.8900 3.2983 0 + 1173 1.8000 3.4553 0 + 1174 1.8900 3.6124 0 + 1175 1.8000 3.7695 0 + 1176 1.8900 3.9265 0 + 1177 1.8000 4.0836 0 + 1178 1.8900 4.2406 0 + 1179 1.8000 4.3977 0 + 1180 1.8900 4.5548 0 + 1181 1.8000 4.7118 0 + 1182 1.8900 4.8689 0 + 1183 1.8000 5.0259 0 + 1184 1.8900 5.1830 0 + 1185 1.8000 5.3401 0 + 1186 1.8900 5.4971 0 + 1187 1.8000 5.6542 0 + 1188 1.8900 5.8112 0 + 1189 1.8000 5.9683 0 + 1190 1.8900 6.1254 0 + 1191 1.8000 6.2824 0 + 1192 1.8900 6.4395 0 + 1193 1.8000 6.5966 0 + 1194 1.8900 6.7536 0 + 1195 1.8000 6.9107 0 + 1196 1.8900 7.0677 0 + 1197 1.8000 7.2248 0 + 1198 1.8900 7.3819 0 + 1199 1.8000 7.5389 0 + 1200 1.8900 7.6960 0 + 1201 1.8000 7.8530 0 + 1202 1.8900 8.0101 0 + 1203 1.8000 8.1672 0 + 1204 1.8900 8.3242 0 + 1205 1.8000 8.4813 0 + 1206 1.8900 8.6383 0 + 1207 1.8000 8.7954 0 + 1208 1.8900 8.9525 0 + 1209 1.8000 9.1095 0 + 1210 1.8900 9.2666 0 + 1211 1.8000 9.4236 0 + 1212 1.8900 9.5807 0 + 1213 1.8000 9.7378 0 + 1214 1.8900 9.8948 0 + 1215 1.8000 10.0519 0 + 1216 1.8900 10.2090 0 + 1217 1.8000 10.3660 0 + 1218 1.8900 10.5231 0 + 1219 1.8000 10.6801 0 + 1220 1.8900 10.8372 0 + 1221 1.8000 10.9943 0 + 1222 1.8900 11.1513 0 + 1223 1.8000 11.3084 0 + 1224 1.8900 11.4654 0 + 1225 1.8000 11.6225 0 + 1226 1.8900 11.7796 0 + 1227 1.8000 11.9366 0 + 1228 1.8900 12.0937 0 + 1229 1.8000 12.2507 0 + 1230 1.8900 12.4078 0 + 1231 1.8000 12.5649 0 + 1232 1.8900 12.7219 0 + 1233 1.8000 12.8790 0 + 1234 1.8900 13.0360 0 + 1235 1.8000 13.1931 0 + 1236 1.8900 13.3502 0 + 1237 1.8000 13.5072 0 + 1238 1.8900 13.6643 0 + 1239 1.8000 13.8214 0 + 1240 1.8900 13.9784 0 + 1241 1.8000 14.1355 0 + 1242 1.8900 14.2925 0 + 1243 1.8000 14.4496 0 + 1244 1.8900 14.6067 0 + 1245 1.8000 14.7637 0 + 1246 1.8900 14.9208 0 + 1247 1.8000 15.0778 0 + 1248 1.8900 15.2349 0 + 1249 1.8000 15.3920 0 + 1250 1.8900 15.5490 0 + 1251 1.8000 15.7061 0 + 1252 1.8900 15.8631 0 + 1253 1.8000 16.0202 0 + 1254 1.8900 16.1773 0 + 1255 1.8000 16.3343 0 + 1256 1.8900 16.4914 0 + 1257 1.8000 16.6484 0 + 1258 1.8900 16.8055 0 + 1259 1.8000 16.9626 0 + 1260 1.8900 17.1196 0 + 1261 1.8000 17.2767 0 + 1262 1.8900 17.4337 0 + 1263 1.8000 17.5908 0 + 1264 1.8900 17.7479 0 + 1265 1.8000 17.9049 1 + 1266 1.9800 0.0000 1 + 1267 2.0700 0.1571 0 + 1268 1.9800 0.3141 0 + 1269 2.0700 0.4712 0 + 1270 1.9800 0.6282 0 + 1271 2.0700 0.7853 0 + 1272 1.9800 0.9424 0 + 1273 2.0700 1.0994 0 + 1274 1.9800 1.2565 0 + 1275 2.0700 1.4135 0 + 1276 1.9800 1.5706 0 + 1277 2.0700 1.7277 0 + 1278 1.9800 1.8847 0 + 1279 2.0700 2.0418 0 + 1280 1.9800 2.1989 0 + 1281 2.0700 2.3559 0 + 1282 1.9800 2.5130 0 + 1283 2.0700 2.6700 0 + 1284 1.9800 2.8271 0 + 1285 2.0700 2.9842 0 + 1286 1.9800 3.1412 0 + 1287 2.0700 3.2983 0 + 1288 1.9800 3.4553 0 + 1289 2.0700 3.6124 0 + 1290 1.9800 3.7695 0 + 1291 2.0700 3.9265 0 + 1292 1.9800 4.0836 0 + 1293 2.0700 4.2406 0 + 1294 1.9800 4.3977 0 + 1295 2.0700 4.5548 0 + 1296 1.9800 4.7118 0 + 1297 2.0700 4.8689 0 + 1298 1.9800 5.0259 0 + 1299 2.0700 5.1830 0 + 1300 1.9800 5.3401 0 + 1301 2.0700 5.4971 0 + 1302 1.9800 5.6542 0 + 1303 2.0700 5.8112 0 + 1304 1.9800 5.9683 0 + 1305 2.0700 6.1254 0 + 1306 1.9800 6.2824 0 + 1307 2.0700 6.4395 0 + 1308 1.9800 6.5966 0 + 1309 2.0700 6.7536 0 + 1310 1.9800 6.9107 0 + 1311 2.0700 7.0677 0 + 1312 1.9800 7.2248 0 + 1313 2.0700 7.3819 0 + 1314 1.9800 7.5389 0 + 1315 2.0700 7.6960 0 + 1316 1.9800 7.8530 0 + 1317 2.0700 8.0101 0 + 1318 1.9800 8.1672 0 + 1319 2.0700 8.3242 0 + 1320 1.9800 8.4813 0 + 1321 2.0700 8.6383 0 + 1322 1.9800 8.7954 0 + 1323 2.0700 8.9525 0 + 1324 1.9800 9.1095 0 + 1325 2.0700 9.2666 0 + 1326 1.9800 9.4236 0 + 1327 2.0700 9.5807 0 + 1328 1.9800 9.7378 0 + 1329 2.0700 9.8948 0 + 1330 1.9800 10.0519 0 + 1331 2.0700 10.2090 0 + 1332 1.9800 10.3660 0 + 1333 2.0700 10.5231 0 + 1334 1.9800 10.6801 0 + 1335 2.0700 10.8372 0 + 1336 1.9800 10.9943 0 + 1337 2.0700 11.1513 0 + 1338 1.9800 11.3084 0 + 1339 2.0700 11.4654 0 + 1340 1.9800 11.6225 0 + 1341 2.0700 11.7796 0 + 1342 1.9800 11.9366 0 + 1343 2.0700 12.0937 0 + 1344 1.9800 12.2507 0 + 1345 2.0700 12.4078 0 + 1346 1.9800 12.5649 0 + 1347 2.0700 12.7219 0 + 1348 1.9800 12.8790 0 + 1349 2.0700 13.0360 0 + 1350 1.9800 13.1931 0 + 1351 2.0700 13.3502 0 + 1352 1.9800 13.5072 0 + 1353 2.0700 13.6643 0 + 1354 1.9800 13.8214 0 + 1355 2.0700 13.9784 0 + 1356 1.9800 14.1355 0 + 1357 2.0700 14.2925 0 + 1358 1.9800 14.4496 0 + 1359 2.0700 14.6067 0 + 1360 1.9800 14.7637 0 + 1361 2.0700 14.9208 0 + 1362 1.9800 15.0778 0 + 1363 2.0700 15.2349 0 + 1364 1.9800 15.3920 0 + 1365 2.0700 15.5490 0 + 1366 1.9800 15.7061 0 + 1367 2.0700 15.8631 0 + 1368 1.9800 16.0202 0 + 1369 2.0700 16.1773 0 + 1370 1.9800 16.3343 0 + 1371 2.0700 16.4914 0 + 1372 1.9800 16.6484 0 + 1373 2.0700 16.8055 0 + 1374 1.9800 16.9626 0 + 1375 2.0700 17.1196 0 + 1376 1.9800 17.2767 0 + 1377 2.0700 17.4337 0 + 1378 1.9800 17.5908 0 + 1379 2.0700 17.7479 0 + 1380 1.9800 17.9049 1 + 1381 2.1600 0.0000 1 + 1382 2.2500 0.1571 0 + 1383 2.1600 0.3141 0 + 1384 2.2500 0.4712 0 + 1385 2.1600 0.6282 0 + 1386 2.2500 0.7853 0 + 1387 2.1600 0.9424 0 + 1388 2.2500 1.0994 0 + 1389 2.1600 1.2565 0 + 1390 2.2500 1.4135 0 + 1391 2.1600 1.5706 0 + 1392 2.2500 1.7277 0 + 1393 2.1600 1.8847 0 + 1394 2.2500 2.0418 0 + 1395 2.1600 2.1989 0 + 1396 2.2500 2.3559 0 + 1397 2.1600 2.5130 0 + 1398 2.2500 2.6700 0 + 1399 2.1600 2.8271 0 + 1400 2.2500 2.9842 0 + 1401 2.1600 3.1412 0 + 1402 2.2500 3.2983 0 + 1403 2.1600 3.4553 0 + 1404 2.2500 3.6124 0 + 1405 2.1600 3.7695 0 + 1406 2.2500 3.9265 0 + 1407 2.1600 4.0836 0 + 1408 2.2500 4.2406 0 + 1409 2.1600 4.3977 0 + 1410 2.2500 4.5548 0 + 1411 2.1600 4.7118 0 + 1412 2.2500 4.8689 0 + 1413 2.1600 5.0259 0 + 1414 2.2500 5.1830 0 + 1415 2.1600 5.3401 0 + 1416 2.2500 5.4971 0 + 1417 2.1600 5.6542 0 + 1418 2.2500 5.8112 0 + 1419 2.1600 5.9683 0 + 1420 2.2500 6.1254 0 + 1421 2.1600 6.2824 0 + 1422 2.2500 6.4395 0 + 1423 2.1600 6.5966 0 + 1424 2.2500 6.7536 0 + 1425 2.1600 6.9107 0 + 1426 2.2500 7.0677 0 + 1427 2.1600 7.2248 0 + 1428 2.2500 7.3819 0 + 1429 2.1600 7.5389 0 + 1430 2.2500 7.6960 0 + 1431 2.1600 7.8530 0 + 1432 2.2500 8.0101 0 + 1433 2.1600 8.1672 0 + 1434 2.2500 8.3242 0 + 1435 2.1600 8.4813 0 + 1436 2.2500 8.6383 0 + 1437 2.1600 8.7954 0 + 1438 2.2500 8.9525 0 + 1439 2.1600 9.1095 0 + 1440 2.2500 9.2666 0 + 1441 2.1600 9.4236 0 + 1442 2.2500 9.5807 0 + 1443 2.1600 9.7378 0 + 1444 2.2500 9.8948 0 + 1445 2.1600 10.0519 0 + 1446 2.2500 10.2090 0 + 1447 2.1600 10.3660 0 + 1448 2.2500 10.5231 0 + 1449 2.1600 10.6801 0 + 1450 2.2500 10.8372 0 + 1451 2.1600 10.9943 0 + 1452 2.2500 11.1513 0 + 1453 2.1600 11.3084 0 + 1454 2.2500 11.4654 0 + 1455 2.1600 11.6225 0 + 1456 2.2500 11.7796 0 + 1457 2.1600 11.9366 0 + 1458 2.2500 12.0937 0 + 1459 2.1600 12.2507 0 + 1460 2.2500 12.4078 0 + 1461 2.1600 12.5649 0 + 1462 2.2500 12.7219 0 + 1463 2.1600 12.8790 0 + 1464 2.2500 13.0360 0 + 1465 2.1600 13.1931 0 + 1466 2.2500 13.3502 0 + 1467 2.1600 13.5072 0 + 1468 2.2500 13.6643 0 + 1469 2.1600 13.8214 0 + 1470 2.2500 13.9784 0 + 1471 2.1600 14.1355 0 + 1472 2.2500 14.2925 0 + 1473 2.1600 14.4496 0 + 1474 2.2500 14.6067 0 + 1475 2.1600 14.7637 0 + 1476 2.2500 14.9208 0 + 1477 2.1600 15.0778 0 + 1478 2.2500 15.2349 0 + 1479 2.1600 15.3920 0 + 1480 2.2500 15.5490 0 + 1481 2.1600 15.7061 0 + 1482 2.2500 15.8631 0 + 1483 2.1600 16.0202 0 + 1484 2.2500 16.1773 0 + 1485 2.1600 16.3343 0 + 1486 2.2500 16.4914 0 + 1487 2.1600 16.6484 0 + 1488 2.2500 16.8055 0 + 1489 2.1600 16.9626 0 + 1490 2.2500 17.1196 0 + 1491 2.1600 17.2767 0 + 1492 2.2500 17.4337 0 + 1493 2.1600 17.5908 0 + 1494 2.2500 17.7479 0 + 1495 2.1600 17.9049 1 + 1496 2.3400 0.0000 1 + 1497 2.4300 0.1571 0 + 1498 2.3400 0.3141 0 + 1499 2.4300 0.4712 0 + 1500 2.3400 0.6282 0 + 1501 2.4300 0.7853 0 + 1502 2.3400 0.9424 0 + 1503 2.4300 1.0994 0 + 1504 2.3400 1.2565 0 + 1505 2.4300 1.4135 0 + 1506 2.3400 1.5706 0 + 1507 2.4300 1.7277 0 + 1508 2.3400 1.8847 0 + 1509 2.4300 2.0418 0 + 1510 2.3400 2.1989 0 + 1511 2.4300 2.3559 0 + 1512 2.3400 2.5130 0 + 1513 2.4300 2.6700 0 + 1514 2.3400 2.8271 0 + 1515 2.4300 2.9842 0 + 1516 2.3400 3.1412 0 + 1517 2.4300 3.2983 0 + 1518 2.3400 3.4553 0 + 1519 2.4300 3.6124 0 + 1520 2.3400 3.7695 0 + 1521 2.4300 3.9265 0 + 1522 2.3400 4.0836 0 + 1523 2.4300 4.2406 0 + 1524 2.3400 4.3977 0 + 1525 2.4300 4.5548 0 + 1526 2.3400 4.7118 0 + 1527 2.4300 4.8689 0 + 1528 2.3400 5.0259 0 + 1529 2.4300 5.1830 0 + 1530 2.3400 5.3401 0 + 1531 2.4300 5.4971 0 + 1532 2.3400 5.6542 0 + 1533 2.4300 5.8112 0 + 1534 2.3400 5.9683 0 + 1535 2.4300 6.1254 0 + 1536 2.3400 6.2824 0 + 1537 2.4300 6.4395 0 + 1538 2.3400 6.5966 0 + 1539 2.4300 6.7536 0 + 1540 2.3400 6.9107 0 + 1541 2.4300 7.0677 0 + 1542 2.3400 7.2248 0 + 1543 2.4300 7.3819 0 + 1544 2.3400 7.5389 0 + 1545 2.4300 7.6960 0 + 1546 2.3400 7.8530 0 + 1547 2.4300 8.0101 0 + 1548 2.3400 8.1672 0 + 1549 2.4300 8.3242 0 + 1550 2.3400 8.4813 0 + 1551 2.4300 8.6383 0 + 1552 2.3400 8.7954 0 + 1553 2.4300 8.9525 0 + 1554 2.3400 9.1095 0 + 1555 2.4300 9.2666 0 + 1556 2.3400 9.4236 0 + 1557 2.4300 9.5807 0 + 1558 2.3400 9.7378 0 + 1559 2.4300 9.8948 0 + 1560 2.3400 10.0519 0 + 1561 2.4300 10.2090 0 + 1562 2.3400 10.3660 0 + 1563 2.4300 10.5231 0 + 1564 2.3400 10.6801 0 + 1565 2.4300 10.8372 0 + 1566 2.3400 10.9943 0 + 1567 2.4300 11.1513 0 + 1568 2.3400 11.3084 0 + 1569 2.4300 11.4654 0 + 1570 2.3400 11.6225 0 + 1571 2.4300 11.7796 0 + 1572 2.3400 11.9366 0 + 1573 2.4300 12.0937 0 + 1574 2.3400 12.2507 0 + 1575 2.4300 12.4078 0 + 1576 2.3400 12.5649 0 + 1577 2.4300 12.7219 0 + 1578 2.3400 12.8790 0 + 1579 2.4300 13.0360 0 + 1580 2.3400 13.1931 0 + 1581 2.4300 13.3502 0 + 1582 2.3400 13.5072 0 + 1583 2.4300 13.6643 0 + 1584 2.3400 13.8214 0 + 1585 2.4300 13.9784 0 + 1586 2.3400 14.1355 0 + 1587 2.4300 14.2925 0 + 1588 2.3400 14.4496 0 + 1589 2.4300 14.6067 0 + 1590 2.3400 14.7637 0 + 1591 2.4300 14.9208 0 + 1592 2.3400 15.0778 0 + 1593 2.4300 15.2349 0 + 1594 2.3400 15.3920 0 + 1595 2.4300 15.5490 0 + 1596 2.3400 15.7061 0 + 1597 2.4300 15.8631 0 + 1598 2.3400 16.0202 0 + 1599 2.4300 16.1773 0 + 1600 2.3400 16.3343 0 + 1601 2.4300 16.4914 0 + 1602 2.3400 16.6484 0 + 1603 2.4300 16.8055 0 + 1604 2.3400 16.9626 0 + 1605 2.4300 17.1196 0 + 1606 2.3400 17.2767 0 + 1607 2.4300 17.4337 0 + 1608 2.3400 17.5908 0 + 1609 2.4300 17.7479 0 + 1610 2.3400 17.9049 1 + 1611 2.5200 0.0000 1 + 1612 2.6100 0.1571 0 + 1613 2.5200 0.3141 0 + 1614 2.6100 0.4712 0 + 1615 2.5200 0.6282 0 + 1616 2.6100 0.7853 0 + 1617 2.5200 0.9424 0 + 1618 2.6100 1.0994 0 + 1619 2.5200 1.2565 0 + 1620 2.6100 1.4135 0 + 1621 2.5200 1.5706 0 + 1622 2.6100 1.7277 0 + 1623 2.5200 1.8847 0 + 1624 2.6100 2.0418 0 + 1625 2.5200 2.1989 0 + 1626 2.6100 2.3559 0 + 1627 2.5200 2.5130 0 + 1628 2.6100 2.6700 0 + 1629 2.5200 2.8271 0 + 1630 2.6100 2.9842 0 + 1631 2.5200 3.1412 0 + 1632 2.6100 3.2983 0 + 1633 2.5200 3.4553 0 + 1634 2.6100 3.6124 0 + 1635 2.5200 3.7695 0 + 1636 2.6100 3.9265 0 + 1637 2.5200 4.0836 0 + 1638 2.6100 4.2406 0 + 1639 2.5200 4.3977 0 + 1640 2.6100 4.5548 0 + 1641 2.5200 4.7118 0 + 1642 2.6100 4.8689 0 + 1643 2.5200 5.0259 0 + 1644 2.6100 5.1830 0 + 1645 2.5200 5.3401 0 + 1646 2.6100 5.4971 0 + 1647 2.5200 5.6542 0 + 1648 2.6100 5.8112 0 + 1649 2.5200 5.9683 0 + 1650 2.6100 6.1254 0 + 1651 2.5200 6.2824 0 + 1652 2.6100 6.4395 0 + 1653 2.5200 6.5966 0 + 1654 2.6100 6.7536 0 + 1655 2.5200 6.9107 0 + 1656 2.6100 7.0677 0 + 1657 2.5200 7.2248 0 + 1658 2.6100 7.3819 0 + 1659 2.5200 7.5389 0 + 1660 2.6100 7.6960 0 + 1661 2.5200 7.8530 0 + 1662 2.6100 8.0101 0 + 1663 2.5200 8.1672 0 + 1664 2.6100 8.3242 0 + 1665 2.5200 8.4813 0 + 1666 2.6100 8.6383 0 + 1667 2.5200 8.7954 0 + 1668 2.6100 8.9525 0 + 1669 2.5200 9.1095 0 + 1670 2.6100 9.2666 0 + 1671 2.5200 9.4236 0 + 1672 2.6100 9.5807 0 + 1673 2.5200 9.7378 0 + 1674 2.6100 9.8948 0 + 1675 2.5200 10.0519 0 + 1676 2.6100 10.2090 0 + 1677 2.5200 10.3660 0 + 1678 2.6100 10.5231 0 + 1679 2.5200 10.6801 0 + 1680 2.6100 10.8372 0 + 1681 2.5200 10.9943 0 + 1682 2.6100 11.1513 0 + 1683 2.5200 11.3084 0 + 1684 2.6100 11.4654 0 + 1685 2.5200 11.6225 0 + 1686 2.6100 11.7796 0 + 1687 2.5200 11.9366 0 + 1688 2.6100 12.0937 0 + 1689 2.5200 12.2507 0 + 1690 2.6100 12.4078 0 + 1691 2.5200 12.5649 0 + 1692 2.6100 12.7219 0 + 1693 2.5200 12.8790 0 + 1694 2.6100 13.0360 0 + 1695 2.5200 13.1931 0 + 1696 2.6100 13.3502 0 + 1697 2.5200 13.5072 0 + 1698 2.6100 13.6643 0 + 1699 2.5200 13.8214 0 + 1700 2.6100 13.9784 0 + 1701 2.5200 14.1355 0 + 1702 2.6100 14.2925 0 + 1703 2.5200 14.4496 0 + 1704 2.6100 14.6067 0 + 1705 2.5200 14.7637 0 + 1706 2.6100 14.9208 0 + 1707 2.5200 15.0778 0 + 1708 2.6100 15.2349 0 + 1709 2.5200 15.3920 0 + 1710 2.6100 15.5490 0 + 1711 2.5200 15.7061 0 + 1712 2.6100 15.8631 0 + 1713 2.5200 16.0202 0 + 1714 2.6100 16.1773 0 + 1715 2.5200 16.3343 0 + 1716 2.6100 16.4914 0 + 1717 2.5200 16.6484 0 + 1718 2.6100 16.8055 0 + 1719 2.5200 16.9626 0 + 1720 2.6100 17.1196 0 + 1721 2.5200 17.2767 0 + 1722 2.6100 17.4337 0 + 1723 2.5200 17.5908 0 + 1724 2.6100 17.7479 0 + 1725 2.5200 17.9049 1 + 1726 2.7000 0.0000 1 + 1727 2.7900 0.1571 0 + 1728 2.7000 0.3141 0 + 1729 2.7900 0.4712 0 + 1730 2.7000 0.6282 0 + 1731 2.7900 0.7853 0 + 1732 2.7000 0.9424 0 + 1733 2.7900 1.0994 0 + 1734 2.7000 1.2565 0 + 1735 2.7900 1.4135 0 + 1736 2.7000 1.5706 0 + 1737 2.7900 1.7277 0 + 1738 2.7000 1.8847 0 + 1739 2.7900 2.0418 0 + 1740 2.7000 2.1989 0 + 1741 2.7900 2.3559 0 + 1742 2.7000 2.5130 0 + 1743 2.7900 2.6700 0 + 1744 2.7000 2.8271 0 + 1745 2.7900 2.9842 0 + 1746 2.7000 3.1412 0 + 1747 2.7900 3.2983 0 + 1748 2.7000 3.4553 0 + 1749 2.7900 3.6124 0 + 1750 2.7000 3.7695 0 + 1751 2.7900 3.9265 0 + 1752 2.7000 4.0836 0 + 1753 2.7900 4.2406 0 + 1754 2.7000 4.3977 0 + 1755 2.7900 4.5548 0 + 1756 2.7000 4.7118 0 + 1757 2.7900 4.8689 0 + 1758 2.7000 5.0259 0 + 1759 2.7900 5.1830 0 + 1760 2.7000 5.3401 0 + 1761 2.7900 5.4971 0 + 1762 2.7000 5.6542 0 + 1763 2.7900 5.8112 0 + 1764 2.7000 5.9683 0 + 1765 2.7900 6.1254 0 + 1766 2.7000 6.2824 0 + 1767 2.7900 6.4395 0 + 1768 2.7000 6.5966 0 + 1769 2.7900 6.7536 0 + 1770 2.7000 6.9107 0 + 1771 2.7900 7.0677 0 + 1772 2.7000 7.2248 0 + 1773 2.7900 7.3819 0 + 1774 2.7000 7.5389 0 + 1775 2.7900 7.6960 0 + 1776 2.7000 7.8530 0 + 1777 2.7900 8.0101 0 + 1778 2.7000 8.1672 0 + 1779 2.7900 8.3242 0 + 1780 2.7000 8.4813 0 + 1781 2.7900 8.6383 0 + 1782 2.7000 8.7954 0 + 1783 2.7900 8.9525 0 + 1784 2.7000 9.1095 0 + 1785 2.7900 9.2666 0 + 1786 2.7000 9.4236 0 + 1787 2.7900 9.5807 0 + 1788 2.7000 9.7378 0 + 1789 2.7900 9.8948 0 + 1790 2.7000 10.0519 0 + 1791 2.7900 10.2090 0 + 1792 2.7000 10.3660 0 + 1793 2.7900 10.5231 0 + 1794 2.7000 10.6801 0 + 1795 2.7900 10.8372 0 + 1796 2.7000 10.9943 0 + 1797 2.7900 11.1513 0 + 1798 2.7000 11.3084 0 + 1799 2.7900 11.4654 0 + 1800 2.7000 11.6225 0 + 1801 2.7900 11.7796 0 + 1802 2.7000 11.9366 0 + 1803 2.7900 12.0937 0 + 1804 2.7000 12.2507 0 + 1805 2.7900 12.4078 0 + 1806 2.7000 12.5649 0 + 1807 2.7900 12.7219 0 + 1808 2.7000 12.8790 0 + 1809 2.7900 13.0360 0 + 1810 2.7000 13.1931 0 + 1811 2.7900 13.3502 0 + 1812 2.7000 13.5072 0 + 1813 2.7900 13.6643 0 + 1814 2.7000 13.8214 0 + 1815 2.7900 13.9784 0 + 1816 2.7000 14.1355 0 + 1817 2.7900 14.2925 0 + 1818 2.7000 14.4496 0 + 1819 2.7900 14.6067 0 + 1820 2.7000 14.7637 0 + 1821 2.7900 14.9208 0 + 1822 2.7000 15.0778 0 + 1823 2.7900 15.2349 0 + 1824 2.7000 15.3920 0 + 1825 2.7900 15.5490 0 + 1826 2.7000 15.7061 0 + 1827 2.7900 15.8631 0 + 1828 2.7000 16.0202 0 + 1829 2.7900 16.1773 0 + 1830 2.7000 16.3343 0 + 1831 2.7900 16.4914 0 + 1832 2.7000 16.6484 0 + 1833 2.7900 16.8055 0 + 1834 2.7000 16.9626 0 + 1835 2.7900 17.1196 0 + 1836 2.7000 17.2767 0 + 1837 2.7900 17.4337 0 + 1838 2.7000 17.5908 0 + 1839 2.7900 17.7479 0 + 1840 2.7000 17.9049 1 + 1841 2.8800 0.0000 1 + 1842 2.9700 0.1571 0 + 1843 2.8800 0.3141 0 + 1844 2.9700 0.4712 0 + 1845 2.8800 0.6282 0 + 1846 2.9700 0.7853 0 + 1847 2.8800 0.9424 0 + 1848 2.9700 1.0994 0 + 1849 2.8800 1.2565 0 + 1850 2.9700 1.4135 0 + 1851 2.8800 1.5706 0 + 1852 2.9700 1.7277 0 + 1853 2.8800 1.8847 0 + 1854 2.9700 2.0418 0 + 1855 2.8800 2.1989 0 + 1856 2.9700 2.3559 0 + 1857 2.8800 2.5130 0 + 1858 2.9700 2.6700 0 + 1859 2.8800 2.8271 0 + 1860 2.9700 2.9842 0 + 1861 2.8800 3.1412 0 + 1862 2.9700 3.2983 0 + 1863 2.8800 3.4553 0 + 1864 2.9700 3.6124 0 + 1865 2.8800 3.7695 0 + 1866 2.9700 3.9265 0 + 1867 2.8800 4.0836 0 + 1868 2.9700 4.2406 0 + 1869 2.8800 4.3977 0 + 1870 2.9700 4.5548 0 + 1871 2.8800 4.7118 0 + 1872 2.9700 4.8689 0 + 1873 2.8800 5.0259 0 + 1874 2.9700 5.1830 0 + 1875 2.8800 5.3401 0 + 1876 2.9700 5.4971 0 + 1877 2.8800 5.6542 0 + 1878 2.9700 5.8112 0 + 1879 2.8800 5.9683 0 + 1880 2.9700 6.1254 0 + 1881 2.8800 6.2824 0 + 1882 2.9700 6.4395 0 + 1883 2.8800 6.5966 0 + 1884 2.9700 6.7536 0 + 1885 2.8800 6.9107 0 + 1886 2.9700 7.0677 0 + 1887 2.8800 7.2248 0 + 1888 2.9700 7.3819 0 + 1889 2.8800 7.5389 0 + 1890 2.9700 7.6960 0 + 1891 2.8800 7.8530 0 + 1892 2.9700 8.0101 0 + 1893 2.8800 8.1672 0 + 1894 2.9700 8.3242 0 + 1895 2.8800 8.4813 0 + 1896 2.9700 8.6383 0 + 1897 2.8800 8.7954 0 + 1898 2.9700 8.9525 0 + 1899 2.8800 9.1095 0 + 1900 2.9700 9.2666 0 + 1901 2.8800 9.4236 0 + 1902 2.9700 9.5807 0 + 1903 2.8800 9.7378 0 + 1904 2.9700 9.8948 0 + 1905 2.8800 10.0519 0 + 1906 2.9700 10.2090 0 + 1907 2.8800 10.3660 0 + 1908 2.9700 10.5231 0 + 1909 2.8800 10.6801 0 + 1910 2.9700 10.8372 0 + 1911 2.8800 10.9943 0 + 1912 2.9700 11.1513 0 + 1913 2.8800 11.3084 0 + 1914 2.9700 11.4654 0 + 1915 2.8800 11.6225 0 + 1916 2.9700 11.7796 0 + 1917 2.8800 11.9366 0 + 1918 2.9700 12.0937 0 + 1919 2.8800 12.2507 0 + 1920 2.9700 12.4078 0 + 1921 2.8800 12.5649 0 + 1922 2.9700 12.7219 0 + 1923 2.8800 12.8790 0 + 1924 2.9700 13.0360 0 + 1925 2.8800 13.1931 0 + 1926 2.9700 13.3502 0 + 1927 2.8800 13.5072 0 + 1928 2.9700 13.6643 0 + 1929 2.8800 13.8214 0 + 1930 2.9700 13.9784 0 + 1931 2.8800 14.1355 0 + 1932 2.9700 14.2925 0 + 1933 2.8800 14.4496 0 + 1934 2.9700 14.6067 0 + 1935 2.8800 14.7637 0 + 1936 2.9700 14.9208 0 + 1937 2.8800 15.0778 0 + 1938 2.9700 15.2349 0 + 1939 2.8800 15.3920 0 + 1940 2.9700 15.5490 0 + 1941 2.8800 15.7061 0 + 1942 2.9700 15.8631 0 + 1943 2.8800 16.0202 0 + 1944 2.9700 16.1773 0 + 1945 2.8800 16.3343 0 + 1946 2.9700 16.4914 0 + 1947 2.8800 16.6484 0 + 1948 2.9700 16.8055 0 + 1949 2.8800 16.9626 0 + 1950 2.9700 17.1196 0 + 1951 2.8800 17.2767 0 + 1952 2.9700 17.4337 0 + 1953 2.8800 17.5908 0 + 1954 2.9700 17.7479 0 + 1955 2.8800 17.9049 1 + 1956 3.0600 0.0000 1 + 1957 3.1500 0.1571 0 + 1958 3.0600 0.3141 0 + 1959 3.1500 0.4712 0 + 1960 3.0600 0.6282 0 + 1961 3.1500 0.7853 0 + 1962 3.0600 0.9424 0 + 1963 3.1500 1.0994 0 + 1964 3.0600 1.2565 0 + 1965 3.1500 1.4135 0 + 1966 3.0600 1.5706 0 + 1967 3.1500 1.7277 0 + 1968 3.0600 1.8847 0 + 1969 3.1500 2.0418 0 + 1970 3.0600 2.1989 0 + 1971 3.1500 2.3559 0 + 1972 3.0600 2.5130 0 + 1973 3.1500 2.6700 0 + 1974 3.0600 2.8271 0 + 1975 3.1500 2.9842 0 + 1976 3.0600 3.1412 0 + 1977 3.1500 3.2983 0 + 1978 3.0600 3.4553 0 + 1979 3.1500 3.6124 0 + 1980 3.0600 3.7695 0 + 1981 3.1500 3.9265 0 + 1982 3.0600 4.0836 0 + 1983 3.1500 4.2406 0 + 1984 3.0600 4.3977 0 + 1985 3.1500 4.5548 0 + 1986 3.0600 4.7118 0 + 1987 3.1500 4.8689 0 + 1988 3.0600 5.0259 0 + 1989 3.1500 5.1830 0 + 1990 3.0600 5.3401 0 + 1991 3.1500 5.4971 0 + 1992 3.0600 5.6542 0 + 1993 3.1500 5.8112 0 + 1994 3.0600 5.9683 0 + 1995 3.1500 6.1254 0 + 1996 3.0600 6.2824 0 + 1997 3.1500 6.4395 0 + 1998 3.0600 6.5966 0 + 1999 3.1500 6.7536 0 + 2000 3.0600 6.9107 0 + 2001 3.1500 7.0677 0 + 2002 3.0600 7.2248 0 + 2003 3.1500 7.3819 0 + 2004 3.0600 7.5389 0 + 2005 3.1500 7.6960 0 + 2006 3.0600 7.8530 0 + 2007 3.1500 8.0101 0 + 2008 3.0600 8.1672 0 + 2009 3.1500 8.3242 0 + 2010 3.0600 8.4813 0 + 2011 3.1500 8.6383 0 + 2012 3.0600 8.7954 0 + 2013 3.1500 8.9525 0 + 2014 3.0600 9.1095 0 + 2015 3.1500 9.2666 0 + 2016 3.0600 9.4236 0 + 2017 3.1500 9.5807 0 + 2018 3.0600 9.7378 0 + 2019 3.1500 9.8948 0 + 2020 3.0600 10.0519 0 + 2021 3.1500 10.2090 0 + 2022 3.0600 10.3660 0 + 2023 3.1500 10.5231 0 + 2024 3.0600 10.6801 0 + 2025 3.1500 10.8372 0 + 2026 3.0600 10.9943 0 + 2027 3.1500 11.1513 0 + 2028 3.0600 11.3084 0 + 2029 3.1500 11.4654 0 + 2030 3.0600 11.6225 0 + 2031 3.1500 11.7796 0 + 2032 3.0600 11.9366 0 + 2033 3.1500 12.0937 0 + 2034 3.0600 12.2507 0 + 2035 3.1500 12.4078 0 + 2036 3.0600 12.5649 0 + 2037 3.1500 12.7219 0 + 2038 3.0600 12.8790 0 + 2039 3.1500 13.0360 0 + 2040 3.0600 13.1931 0 + 2041 3.1500 13.3502 0 + 2042 3.0600 13.5072 0 + 2043 3.1500 13.6643 0 + 2044 3.0600 13.8214 0 + 2045 3.1500 13.9784 0 + 2046 3.0600 14.1355 0 + 2047 3.1500 14.2925 0 + 2048 3.0600 14.4496 0 + 2049 3.1500 14.6067 0 + 2050 3.0600 14.7637 0 + 2051 3.1500 14.9208 0 + 2052 3.0600 15.0778 0 + 2053 3.1500 15.2349 0 + 2054 3.0600 15.3920 0 + 2055 3.1500 15.5490 0 + 2056 3.0600 15.7061 0 + 2057 3.1500 15.8631 0 + 2058 3.0600 16.0202 0 + 2059 3.1500 16.1773 0 + 2060 3.0600 16.3343 0 + 2061 3.1500 16.4914 0 + 2062 3.0600 16.6484 0 + 2063 3.1500 16.8055 0 + 2064 3.0600 16.9626 0 + 2065 3.1500 17.1196 0 + 2066 3.0600 17.2767 0 + 2067 3.1500 17.4337 0 + 2068 3.0600 17.5908 0 + 2069 3.1500 17.7479 0 + 2070 3.0600 17.9049 1 + 2071 3.2400 0.0000 1 + 2072 3.3300 0.1571 0 + 2073 3.2400 0.3141 0 + 2074 3.3300 0.4712 0 + 2075 3.2400 0.6282 0 + 2076 3.3300 0.7853 0 + 2077 3.2400 0.9424 0 + 2078 3.3300 1.0994 0 + 2079 3.2400 1.2565 0 + 2080 3.3300 1.4135 0 + 2081 3.2400 1.5706 0 + 2082 3.3300 1.7277 0 + 2083 3.2400 1.8847 0 + 2084 3.3300 2.0418 0 + 2085 3.2400 2.1989 0 + 2086 3.3300 2.3559 0 + 2087 3.2400 2.5130 0 + 2088 3.3300 2.6700 0 + 2089 3.2400 2.8271 0 + 2090 3.3300 2.9842 0 + 2091 3.2400 3.1412 0 + 2092 3.3300 3.2983 0 + 2093 3.2400 3.4553 0 + 2094 3.3300 3.6124 0 + 2095 3.2400 3.7695 0 + 2096 3.3300 3.9265 0 + 2097 3.2400 4.0836 0 + 2098 3.3300 4.2406 0 + 2099 3.2400 4.3977 0 + 2100 3.3300 4.5548 0 + 2101 3.2400 4.7118 0 + 2102 3.3300 4.8689 0 + 2103 3.2400 5.0259 0 + 2104 3.3300 5.1830 0 + 2105 3.2400 5.3401 0 + 2106 3.3300 5.4971 0 + 2107 3.2400 5.6542 0 + 2108 3.3300 5.8112 0 + 2109 3.2400 5.9683 0 + 2110 3.3300 6.1254 0 + 2111 3.2400 6.2824 0 + 2112 3.3300 6.4395 0 + 2113 3.2400 6.5966 0 + 2114 3.3300 6.7536 0 + 2115 3.2400 6.9107 0 + 2116 3.3300 7.0677 0 + 2117 3.2400 7.2248 0 + 2118 3.3300 7.3819 0 + 2119 3.2400 7.5389 0 + 2120 3.3300 7.6960 0 + 2121 3.2400 7.8530 0 + 2122 3.3300 8.0101 0 + 2123 3.2400 8.1672 0 + 2124 3.3300 8.3242 0 + 2125 3.2400 8.4813 0 + 2126 3.3300 8.6383 0 + 2127 3.2400 8.7954 0 + 2128 3.3300 8.9525 0 + 2129 3.2400 9.1095 0 + 2130 3.3300 9.2666 0 + 2131 3.2400 9.4236 0 + 2132 3.3300 9.5807 0 + 2133 3.2400 9.7378 0 + 2134 3.3300 9.8948 0 + 2135 3.2400 10.0519 0 + 2136 3.3300 10.2090 0 + 2137 3.2400 10.3660 0 + 2138 3.3300 10.5231 0 + 2139 3.2400 10.6801 0 + 2140 3.3300 10.8372 0 + 2141 3.2400 10.9943 0 + 2142 3.3300 11.1513 0 + 2143 3.2400 11.3084 0 + 2144 3.3300 11.4654 0 + 2145 3.2400 11.6225 0 + 2146 3.3300 11.7796 0 + 2147 3.2400 11.9366 0 + 2148 3.3300 12.0937 0 + 2149 3.2400 12.2507 0 + 2150 3.3300 12.4078 0 + 2151 3.2400 12.5649 0 + 2152 3.3300 12.7219 0 + 2153 3.2400 12.8790 0 + 2154 3.3300 13.0360 0 + 2155 3.2400 13.1931 0 + 2156 3.3300 13.3502 0 + 2157 3.2400 13.5072 0 + 2158 3.3300 13.6643 0 + 2159 3.2400 13.8214 0 + 2160 3.3300 13.9784 0 + 2161 3.2400 14.1355 0 + 2162 3.3300 14.2925 0 + 2163 3.2400 14.4496 0 + 2164 3.3300 14.6067 0 + 2165 3.2400 14.7637 0 + 2166 3.3300 14.9208 0 + 2167 3.2400 15.0778 0 + 2168 3.3300 15.2349 0 + 2169 3.2400 15.3920 0 + 2170 3.3300 15.5490 0 + 2171 3.2400 15.7061 0 + 2172 3.3300 15.8631 0 + 2173 3.2400 16.0202 0 + 2174 3.3300 16.1773 0 + 2175 3.2400 16.3343 0 + 2176 3.3300 16.4914 0 + 2177 3.2400 16.6484 0 + 2178 3.3300 16.8055 0 + 2179 3.2400 16.9626 0 + 2180 3.3300 17.1196 0 + 2181 3.2400 17.2767 0 + 2182 3.3300 17.4337 0 + 2183 3.2400 17.5908 0 + 2184 3.3300 17.7479 0 + 2185 3.2400 17.9049 1 + 2186 3.4200 0.0000 1 + 2187 3.5100 0.1571 0 + 2188 3.4200 0.3141 0 + 2189 3.5100 0.4712 0 + 2190 3.4200 0.6282 0 + 2191 3.5100 0.7853 0 + 2192 3.4200 0.9424 0 + 2193 3.5100 1.0994 0 + 2194 3.4200 1.2565 0 + 2195 3.5100 1.4135 0 + 2196 3.4200 1.5706 0 + 2197 3.5100 1.7277 0 + 2198 3.4200 1.8847 0 + 2199 3.5100 2.0418 0 + 2200 3.4200 2.1989 0 + 2201 3.5100 2.3559 0 + 2202 3.4200 2.5130 0 + 2203 3.5100 2.6700 0 + 2204 3.4200 2.8271 0 + 2205 3.5100 2.9842 0 + 2206 3.4200 3.1412 0 + 2207 3.5100 3.2983 0 + 2208 3.4200 3.4553 0 + 2209 3.5100 3.6124 0 + 2210 3.4200 3.7695 0 + 2211 3.5100 3.9265 0 + 2212 3.4200 4.0836 0 + 2213 3.5100 4.2406 0 + 2214 3.4200 4.3977 0 + 2215 3.5100 4.5548 0 + 2216 3.4200 4.7118 0 + 2217 3.5100 4.8689 0 + 2218 3.4200 5.0259 0 + 2219 3.5100 5.1830 0 + 2220 3.4200 5.3401 0 + 2221 3.5100 5.4971 0 + 2222 3.4200 5.6542 0 + 2223 3.5100 5.8112 0 + 2224 3.4200 5.9683 0 + 2225 3.5100 6.1254 0 + 2226 3.4200 6.2824 0 + 2227 3.5100 6.4395 0 + 2228 3.4200 6.5966 0 + 2229 3.5100 6.7536 0 + 2230 3.4200 6.9107 0 + 2231 3.5100 7.0677 0 + 2232 3.4200 7.2248 0 + 2233 3.5100 7.3819 0 + 2234 3.4200 7.5389 0 + 2235 3.5100 7.6960 0 + 2236 3.4200 7.8530 0 + 2237 3.5100 8.0101 0 + 2238 3.4200 8.1672 0 + 2239 3.5100 8.3242 0 + 2240 3.4200 8.4813 0 + 2241 3.5100 8.6383 0 + 2242 3.4200 8.7954 0 + 2243 3.5100 8.9525 0 + 2244 3.4200 9.1095 0 + 2245 3.5100 9.2666 0 + 2246 3.4200 9.4236 0 + 2247 3.5100 9.5807 0 + 2248 3.4200 9.7378 0 + 2249 3.5100 9.8948 0 + 2250 3.4200 10.0519 0 + 2251 3.5100 10.2090 0 + 2252 3.4200 10.3660 0 + 2253 3.5100 10.5231 0 + 2254 3.4200 10.6801 0 + 2255 3.5100 10.8372 0 + 2256 3.4200 10.9943 0 + 2257 3.5100 11.1513 0 + 2258 3.4200 11.3084 0 + 2259 3.5100 11.4654 0 + 2260 3.4200 11.6225 0 + 2261 3.5100 11.7796 0 + 2262 3.4200 11.9366 0 + 2263 3.5100 12.0937 0 + 2264 3.4200 12.2507 0 + 2265 3.5100 12.4078 0 + 2266 3.4200 12.5649 0 + 2267 3.5100 12.7219 0 + 2268 3.4200 12.8790 0 + 2269 3.5100 13.0360 0 + 2270 3.4200 13.1931 0 + 2271 3.5100 13.3502 0 + 2272 3.4200 13.5072 0 + 2273 3.5100 13.6643 0 + 2274 3.4200 13.8214 0 + 2275 3.5100 13.9784 0 + 2276 3.4200 14.1355 0 + 2277 3.5100 14.2925 0 + 2278 3.4200 14.4496 0 + 2279 3.5100 14.6067 0 + 2280 3.4200 14.7637 0 + 2281 3.5100 14.9208 0 + 2282 3.4200 15.0778 0 + 2283 3.5100 15.2349 0 + 2284 3.4200 15.3920 0 + 2285 3.5100 15.5490 0 + 2286 3.4200 15.7061 0 + 2287 3.5100 15.8631 0 + 2288 3.4200 16.0202 0 + 2289 3.5100 16.1773 0 + 2290 3.4200 16.3343 0 + 2291 3.5100 16.4914 0 + 2292 3.4200 16.6484 0 + 2293 3.5100 16.8055 0 + 2294 3.4200 16.9626 0 + 2295 3.5100 17.1196 0 + 2296 3.4200 17.2767 0 + 2297 3.5100 17.4337 0 + 2298 3.4200 17.5908 0 + 2299 3.5100 17.7479 0 + 2300 3.4200 17.9049 1 + 2301 3.6000 0.0000 1 + 2302 3.6900 0.1571 0 + 2303 3.6000 0.3141 0 + 2304 3.6900 0.4712 0 + 2305 3.6000 0.6282 0 + 2306 3.6900 0.7853 0 + 2307 3.6000 0.9424 0 + 2308 3.6900 1.0994 0 + 2309 3.6000 1.2565 0 + 2310 3.6900 1.4135 0 + 2311 3.6000 1.5706 0 + 2312 3.6900 1.7277 0 + 2313 3.6000 1.8847 0 + 2314 3.6900 2.0418 0 + 2315 3.6000 2.1989 0 + 2316 3.6900 2.3559 0 + 2317 3.6000 2.5130 0 + 2318 3.6900 2.6700 0 + 2319 3.6000 2.8271 0 + 2320 3.6900 2.9842 0 + 2321 3.6000 3.1412 0 + 2322 3.6900 3.2983 0 + 2323 3.6000 3.4553 0 + 2324 3.6900 3.6124 0 + 2325 3.6000 3.7695 0 + 2326 3.6900 3.9265 0 + 2327 3.6000 4.0836 0 + 2328 3.6900 4.2406 0 + 2329 3.6000 4.3977 0 + 2330 3.6900 4.5548 0 + 2331 3.6000 4.7118 0 + 2332 3.6900 4.8689 0 + 2333 3.6000 5.0259 0 + 2334 3.6900 5.1830 0 + 2335 3.6000 5.3401 0 + 2336 3.6900 5.4971 0 + 2337 3.6000 5.6542 0 + 2338 3.6900 5.8112 0 + 2339 3.6000 5.9683 0 + 2340 3.6900 6.1254 0 + 2341 3.6000 6.2824 0 + 2342 3.6900 6.4395 0 + 2343 3.6000 6.5966 0 + 2344 3.6900 6.7536 0 + 2345 3.6000 6.9107 0 + 2346 3.6900 7.0677 0 + 2347 3.6000 7.2248 0 + 2348 3.6900 7.3819 0 + 2349 3.6000 7.5389 0 + 2350 3.6900 7.6960 0 + 2351 3.6000 7.8530 0 + 2352 3.6900 8.0101 0 + 2353 3.6000 8.1672 0 + 2354 3.6900 8.3242 0 + 2355 3.6000 8.4813 0 + 2356 3.6900 8.6383 0 + 2357 3.6000 8.7954 0 + 2358 3.6900 8.9525 0 + 2359 3.6000 9.1095 0 + 2360 3.6900 9.2666 0 + 2361 3.6000 9.4236 0 + 2362 3.6900 9.5807 0 + 2363 3.6000 9.7378 0 + 2364 3.6900 9.8948 0 + 2365 3.6000 10.0519 0 + 2366 3.6900 10.2090 0 + 2367 3.6000 10.3660 0 + 2368 3.6900 10.5231 0 + 2369 3.6000 10.6801 0 + 2370 3.6900 10.8372 0 + 2371 3.6000 10.9943 0 + 2372 3.6900 11.1513 0 + 2373 3.6000 11.3084 0 + 2374 3.6900 11.4654 0 + 2375 3.6000 11.6225 0 + 2376 3.6900 11.7796 0 + 2377 3.6000 11.9366 0 + 2378 3.6900 12.0937 0 + 2379 3.6000 12.2507 0 + 2380 3.6900 12.4078 0 + 2381 3.6000 12.5649 0 + 2382 3.6900 12.7219 0 + 2383 3.6000 12.8790 0 + 2384 3.6900 13.0360 0 + 2385 3.6000 13.1931 0 + 2386 3.6900 13.3502 0 + 2387 3.6000 13.5072 0 + 2388 3.6900 13.6643 0 + 2389 3.6000 13.8214 0 + 2390 3.6900 13.9784 0 + 2391 3.6000 14.1355 0 + 2392 3.6900 14.2925 0 + 2393 3.6000 14.4496 0 + 2394 3.6900 14.6067 0 + 2395 3.6000 14.7637 0 + 2396 3.6900 14.9208 0 + 2397 3.6000 15.0778 0 + 2398 3.6900 15.2349 0 + 2399 3.6000 15.3920 0 + 2400 3.6900 15.5490 0 + 2401 3.6000 15.7061 0 + 2402 3.6900 15.8631 0 + 2403 3.6000 16.0202 0 + 2404 3.6900 16.1773 0 + 2405 3.6000 16.3343 0 + 2406 3.6900 16.4914 0 + 2407 3.6000 16.6484 0 + 2408 3.6900 16.8055 0 + 2409 3.6000 16.9626 0 + 2410 3.6900 17.1196 0 + 2411 3.6000 17.2767 0 + 2412 3.6900 17.4337 0 + 2413 3.6000 17.5908 0 + 2414 3.6900 17.7479 0 + 2415 3.6000 17.9049 1 + 2416 3.7800 0.0000 1 + 2417 3.8700 0.1571 0 + 2418 3.7800 0.3141 0 + 2419 3.8700 0.4712 0 + 2420 3.7800 0.6282 0 + 2421 3.8700 0.7853 0 + 2422 3.7800 0.9424 0 + 2423 3.8700 1.0994 0 + 2424 3.7800 1.2565 0 + 2425 3.8700 1.4135 0 + 2426 3.7800 1.5706 0 + 2427 3.8700 1.7277 0 + 2428 3.7800 1.8847 0 + 2429 3.8700 2.0418 0 + 2430 3.7800 2.1989 0 + 2431 3.8700 2.3559 0 + 2432 3.7800 2.5130 0 + 2433 3.8700 2.6700 0 + 2434 3.7800 2.8271 0 + 2435 3.8700 2.9842 0 + 2436 3.7800 3.1412 0 + 2437 3.8700 3.2983 0 + 2438 3.7800 3.4553 0 + 2439 3.8700 3.6124 0 + 2440 3.7800 3.7695 0 + 2441 3.8700 3.9265 0 + 2442 3.7800 4.0836 0 + 2443 3.8700 4.2406 0 + 2444 3.7800 4.3977 0 + 2445 3.8700 4.5548 0 + 2446 3.7800 4.7118 0 + 2447 3.8700 4.8689 0 + 2448 3.7800 5.0259 0 + 2449 3.8700 5.1830 0 + 2450 3.7800 5.3401 0 + 2451 3.8700 5.4971 0 + 2452 3.7800 5.6542 0 + 2453 3.8700 5.8112 0 + 2454 3.7800 5.9683 0 + 2455 3.8700 6.1254 0 + 2456 3.7800 6.2824 0 + 2457 3.8700 6.4395 0 + 2458 3.7800 6.5966 0 + 2459 3.8700 6.7536 0 + 2460 3.7800 6.9107 0 + 2461 3.8700 7.0677 0 + 2462 3.7800 7.2248 0 + 2463 3.8700 7.3819 0 + 2464 3.7800 7.5389 0 + 2465 3.8700 7.6960 0 + 2466 3.7800 7.8530 0 + 2467 3.8700 8.0101 0 + 2468 3.7800 8.1672 0 + 2469 3.8700 8.3242 0 + 2470 3.7800 8.4813 0 + 2471 3.8700 8.6383 0 + 2472 3.7800 8.7954 0 + 2473 3.8700 8.9525 0 + 2474 3.7800 9.1095 0 + 2475 3.8700 9.2666 0 + 2476 3.7800 9.4236 0 + 2477 3.8700 9.5807 0 + 2478 3.7800 9.7378 0 + 2479 3.8700 9.8948 0 + 2480 3.7800 10.0519 0 + 2481 3.8700 10.2090 0 + 2482 3.7800 10.3660 0 + 2483 3.8700 10.5231 0 + 2484 3.7800 10.6801 0 + 2485 3.8700 10.8372 0 + 2486 3.7800 10.9943 0 + 2487 3.8700 11.1513 0 + 2488 3.7800 11.3084 0 + 2489 3.8700 11.4654 0 + 2490 3.7800 11.6225 0 + 2491 3.8700 11.7796 0 + 2492 3.7800 11.9366 0 + 2493 3.8700 12.0937 0 + 2494 3.7800 12.2507 0 + 2495 3.8700 12.4078 0 + 2496 3.7800 12.5649 0 + 2497 3.8700 12.7219 0 + 2498 3.7800 12.8790 0 + 2499 3.8700 13.0360 0 + 2500 3.7800 13.1931 0 + 2501 3.8700 13.3502 0 + 2502 3.7800 13.5072 0 + 2503 3.8700 13.6643 0 + 2504 3.7800 13.8214 0 + 2505 3.8700 13.9784 0 + 2506 3.7800 14.1355 0 + 2507 3.8700 14.2925 0 + 2508 3.7800 14.4496 0 + 2509 3.8700 14.6067 0 + 2510 3.7800 14.7637 0 + 2511 3.8700 14.9208 0 + 2512 3.7800 15.0778 0 + 2513 3.8700 15.2349 0 + 2514 3.7800 15.3920 0 + 2515 3.8700 15.5490 0 + 2516 3.7800 15.7061 0 + 2517 3.8700 15.8631 0 + 2518 3.7800 16.0202 0 + 2519 3.8700 16.1773 0 + 2520 3.7800 16.3343 0 + 2521 3.8700 16.4914 0 + 2522 3.7800 16.6484 0 + 2523 3.8700 16.8055 0 + 2524 3.7800 16.9626 0 + 2525 3.8700 17.1196 0 + 2526 3.7800 17.2767 0 + 2527 3.8700 17.4337 0 + 2528 3.7800 17.5908 0 + 2529 3.8700 17.7479 0 + 2530 3.7800 17.9049 1 + 2531 3.9600 0.0000 1 + 2532 4.0500 0.1571 0 + 2533 3.9600 0.3141 0 + 2534 4.0500 0.4712 0 + 2535 3.9600 0.6282 0 + 2536 4.0500 0.7853 0 + 2537 3.9600 0.9424 0 + 2538 4.0500 1.0994 0 + 2539 3.9600 1.2565 0 + 2540 4.0500 1.4135 0 + 2541 3.9600 1.5706 0 + 2542 4.0500 1.7277 0 + 2543 3.9600 1.8847 0 + 2544 4.0500 2.0418 0 + 2545 3.9600 2.1989 0 + 2546 4.0500 2.3559 0 + 2547 3.9600 2.5130 0 + 2548 4.0500 2.6700 0 + 2549 3.9600 2.8271 0 + 2550 4.0500 2.9842 0 + 2551 3.9600 3.1412 0 + 2552 4.0500 3.2983 0 + 2553 3.9600 3.4553 0 + 2554 4.0500 3.6124 0 + 2555 3.9600 3.7695 0 + 2556 4.0500 3.9265 0 + 2557 3.9600 4.0836 0 + 2558 4.0500 4.2406 0 + 2559 3.9600 4.3977 0 + 2560 4.0500 4.5548 0 + 2561 3.9600 4.7118 0 + 2562 4.0500 4.8689 0 + 2563 3.9600 5.0259 0 + 2564 4.0500 5.1830 0 + 2565 3.9600 5.3401 0 + 2566 4.0500 5.4971 0 + 2567 3.9600 5.6542 0 + 2568 4.0500 5.8112 0 + 2569 3.9600 5.9683 0 + 2570 4.0500 6.1254 0 + 2571 3.9600 6.2824 0 + 2572 4.0500 6.4395 0 + 2573 3.9600 6.5966 0 + 2574 4.0500 6.7536 0 + 2575 3.9600 6.9107 0 + 2576 4.0500 7.0677 0 + 2577 3.9600 7.2248 0 + 2578 4.0500 7.3819 0 + 2579 3.9600 7.5389 0 + 2580 4.0500 7.6960 0 + 2581 3.9600 7.8530 0 + 2582 4.0500 8.0101 0 + 2583 3.9600 8.1672 0 + 2584 4.0500 8.3242 0 + 2585 3.9600 8.4813 0 + 2586 4.0500 8.6383 0 + 2587 3.9600 8.7954 0 + 2588 4.0500 8.9525 0 + 2589 3.9600 9.1095 0 + 2590 4.0500 9.2666 0 + 2591 3.9600 9.4236 0 + 2592 4.0500 9.5807 0 + 2593 3.9600 9.7378 0 + 2594 4.0500 9.8948 0 + 2595 3.9600 10.0519 0 + 2596 4.0500 10.2090 0 + 2597 3.9600 10.3660 0 + 2598 4.0500 10.5231 0 + 2599 3.9600 10.6801 0 + 2600 4.0500 10.8372 0 + 2601 3.9600 10.9943 0 + 2602 4.0500 11.1513 0 + 2603 3.9600 11.3084 0 + 2604 4.0500 11.4654 0 + 2605 3.9600 11.6225 0 + 2606 4.0500 11.7796 0 + 2607 3.9600 11.9366 0 + 2608 4.0500 12.0937 0 + 2609 3.9600 12.2507 0 + 2610 4.0500 12.4078 0 + 2611 3.9600 12.5649 0 + 2612 4.0500 12.7219 0 + 2613 3.9600 12.8790 0 + 2614 4.0500 13.0360 0 + 2615 3.9600 13.1931 0 + 2616 4.0500 13.3502 0 + 2617 3.9600 13.5072 0 + 2618 4.0500 13.6643 0 + 2619 3.9600 13.8214 0 + 2620 4.0500 13.9784 0 + 2621 3.9600 14.1355 0 + 2622 4.0500 14.2925 0 + 2623 3.9600 14.4496 0 + 2624 4.0500 14.6067 0 + 2625 3.9600 14.7637 0 + 2626 4.0500 14.9208 0 + 2627 3.9600 15.0778 0 + 2628 4.0500 15.2349 0 + 2629 3.9600 15.3920 0 + 2630 4.0500 15.5490 0 + 2631 3.9600 15.7061 0 + 2632 4.0500 15.8631 0 + 2633 3.9600 16.0202 0 + 2634 4.0500 16.1773 0 + 2635 3.9600 16.3343 0 + 2636 4.0500 16.4914 0 + 2637 3.9600 16.6484 0 + 2638 4.0500 16.8055 0 + 2639 3.9600 16.9626 0 + 2640 4.0500 17.1196 0 + 2641 3.9600 17.2767 0 + 2642 4.0500 17.4337 0 + 2643 3.9600 17.5908 0 + 2644 4.0500 17.7479 0 + 2645 3.9600 17.9049 1 + 2646 4.1400 0.0000 1 + 2647 4.2300 0.1571 0 + 2648 4.1400 0.3141 0 + 2649 4.2300 0.4712 0 + 2650 4.1400 0.6282 0 + 2651 4.2300 0.7853 0 + 2652 4.1400 0.9424 0 + 2653 4.2300 1.0994 0 + 2654 4.1400 1.2565 0 + 2655 4.2300 1.4135 0 + 2656 4.1400 1.5706 0 + 2657 4.2300 1.7277 0 + 2658 4.1400 1.8847 0 + 2659 4.2300 2.0418 0 + 2660 4.1400 2.1989 0 + 2661 4.2300 2.3559 0 + 2662 4.1400 2.5130 0 + 2663 4.2300 2.6700 0 + 2664 4.1400 2.8271 0 + 2665 4.2300 2.9842 0 + 2666 4.1400 3.1412 0 + 2667 4.2300 3.2983 0 + 2668 4.1400 3.4553 0 + 2669 4.2300 3.6124 0 + 2670 4.1400 3.7695 0 + 2671 4.2300 3.9265 0 + 2672 4.1400 4.0836 0 + 2673 4.2300 4.2406 0 + 2674 4.1400 4.3977 0 + 2675 4.2300 4.5548 0 + 2676 4.1400 4.7118 0 + 2677 4.2300 4.8689 0 + 2678 4.1400 5.0259 0 + 2679 4.2300 5.1830 0 + 2680 4.1400 5.3401 0 + 2681 4.2300 5.4971 0 + 2682 4.1400 5.6542 0 + 2683 4.2300 5.8112 0 + 2684 4.1400 5.9683 0 + 2685 4.2300 6.1254 0 + 2686 4.1400 6.2824 0 + 2687 4.2300 6.4395 0 + 2688 4.1400 6.5966 0 + 2689 4.2300 6.7536 0 + 2690 4.1400 6.9107 0 + 2691 4.2300 7.0677 0 + 2692 4.1400 7.2248 0 + 2693 4.2300 7.3819 0 + 2694 4.1400 7.5389 0 + 2695 4.2300 7.6960 0 + 2696 4.1400 7.8530 0 + 2697 4.2300 8.0101 0 + 2698 4.1400 8.1672 0 + 2699 4.2300 8.3242 0 + 2700 4.1400 8.4813 0 + 2701 4.2300 8.6383 0 + 2702 4.1400 8.7954 0 + 2703 4.2300 8.9525 0 + 2704 4.1400 9.1095 0 + 2705 4.2300 9.2666 0 + 2706 4.1400 9.4236 0 + 2707 4.2300 9.5807 0 + 2708 4.1400 9.7378 0 + 2709 4.2300 9.8948 0 + 2710 4.1400 10.0519 0 + 2711 4.2300 10.2090 0 + 2712 4.1400 10.3660 0 + 2713 4.2300 10.5231 0 + 2714 4.1400 10.6801 0 + 2715 4.2300 10.8372 0 + 2716 4.1400 10.9943 0 + 2717 4.2300 11.1513 0 + 2718 4.1400 11.3084 0 + 2719 4.2300 11.4654 0 + 2720 4.1400 11.6225 0 + 2721 4.2300 11.7796 0 + 2722 4.1400 11.9366 0 + 2723 4.2300 12.0937 0 + 2724 4.1400 12.2507 0 + 2725 4.2300 12.4078 0 + 2726 4.1400 12.5649 0 + 2727 4.2300 12.7219 0 + 2728 4.1400 12.8790 0 + 2729 4.2300 13.0360 0 + 2730 4.1400 13.1931 0 + 2731 4.2300 13.3502 0 + 2732 4.1400 13.5072 0 + 2733 4.2300 13.6643 0 + 2734 4.1400 13.8214 0 + 2735 4.2300 13.9784 0 + 2736 4.1400 14.1355 0 + 2737 4.2300 14.2925 0 + 2738 4.1400 14.4496 0 + 2739 4.2300 14.6067 0 + 2740 4.1400 14.7637 0 + 2741 4.2300 14.9208 0 + 2742 4.1400 15.0778 0 + 2743 4.2300 15.2349 0 + 2744 4.1400 15.3920 0 + 2745 4.2300 15.5490 0 + 2746 4.1400 15.7061 0 + 2747 4.2300 15.8631 0 + 2748 4.1400 16.0202 0 + 2749 4.2300 16.1773 0 + 2750 4.1400 16.3343 0 + 2751 4.2300 16.4914 0 + 2752 4.1400 16.6484 0 + 2753 4.2300 16.8055 0 + 2754 4.1400 16.9626 0 + 2755 4.2300 17.1196 0 + 2756 4.1400 17.2767 0 + 2757 4.2300 17.4337 0 + 2758 4.1400 17.5908 0 + 2759 4.2300 17.7479 0 + 2760 4.1400 17.9049 1 + 2761 4.3200 0.0000 1 + 2762 4.4100 0.1571 0 + 2763 4.3200 0.3141 0 + 2764 4.4100 0.4712 0 + 2765 4.3200 0.6282 0 + 2766 4.4100 0.7853 0 + 2767 4.3200 0.9424 0 + 2768 4.4100 1.0994 0 + 2769 4.3200 1.2565 0 + 2770 4.4100 1.4135 0 + 2771 4.3200 1.5706 0 + 2772 4.4100 1.7277 0 + 2773 4.3200 1.8847 0 + 2774 4.4100 2.0418 0 + 2775 4.3200 2.1989 0 + 2776 4.4100 2.3559 0 + 2777 4.3200 2.5130 0 + 2778 4.4100 2.6700 0 + 2779 4.3200 2.8271 0 + 2780 4.4100 2.9842 0 + 2781 4.3200 3.1412 0 + 2782 4.4100 3.2983 0 + 2783 4.3200 3.4553 0 + 2784 4.4100 3.6124 0 + 2785 4.3200 3.7695 0 + 2786 4.4100 3.9265 0 + 2787 4.3200 4.0836 0 + 2788 4.4100 4.2406 0 + 2789 4.3200 4.3977 0 + 2790 4.4100 4.5548 0 + 2791 4.3200 4.7118 0 + 2792 4.4100 4.8689 0 + 2793 4.3200 5.0259 0 + 2794 4.4100 5.1830 0 + 2795 4.3200 5.3401 0 + 2796 4.4100 5.4971 0 + 2797 4.3200 5.6542 0 + 2798 4.4100 5.8112 0 + 2799 4.3200 5.9683 0 + 2800 4.4100 6.1254 0 + 2801 4.3200 6.2824 0 + 2802 4.4100 6.4395 0 + 2803 4.3200 6.5966 0 + 2804 4.4100 6.7536 0 + 2805 4.3200 6.9107 0 + 2806 4.4100 7.0677 0 + 2807 4.3200 7.2248 0 + 2808 4.4100 7.3819 0 + 2809 4.3200 7.5389 0 + 2810 4.4100 7.6960 0 + 2811 4.3200 7.8530 0 + 2812 4.4100 8.0101 0 + 2813 4.3200 8.1672 0 + 2814 4.4100 8.3242 0 + 2815 4.3200 8.4813 0 + 2816 4.4100 8.6383 0 + 2817 4.3200 8.7954 0 + 2818 4.4100 8.9525 0 + 2819 4.3200 9.1095 0 + 2820 4.4100 9.2666 0 + 2821 4.3200 9.4236 0 + 2822 4.4100 9.5807 0 + 2823 4.3200 9.7378 0 + 2824 4.4100 9.8948 0 + 2825 4.3200 10.0519 0 + 2826 4.4100 10.2090 0 + 2827 4.3200 10.3660 0 + 2828 4.4100 10.5231 0 + 2829 4.3200 10.6801 0 + 2830 4.4100 10.8372 0 + 2831 4.3200 10.9943 0 + 2832 4.4100 11.1513 0 + 2833 4.3200 11.3084 0 + 2834 4.4100 11.4654 0 + 2835 4.3200 11.6225 0 + 2836 4.4100 11.7796 0 + 2837 4.3200 11.9366 0 + 2838 4.4100 12.0937 0 + 2839 4.3200 12.2507 0 + 2840 4.4100 12.4078 0 + 2841 4.3200 12.5649 0 + 2842 4.4100 12.7219 0 + 2843 4.3200 12.8790 0 + 2844 4.4100 13.0360 0 + 2845 4.3200 13.1931 0 + 2846 4.4100 13.3502 0 + 2847 4.3200 13.5072 0 + 2848 4.4100 13.6643 0 + 2849 4.3200 13.8214 0 + 2850 4.4100 13.9784 0 + 2851 4.3200 14.1355 0 + 2852 4.4100 14.2925 0 + 2853 4.3200 14.4496 0 + 2854 4.4100 14.6067 0 + 2855 4.3200 14.7637 0 + 2856 4.4100 14.9208 0 + 2857 4.3200 15.0778 0 + 2858 4.4100 15.2349 0 + 2859 4.3200 15.3920 0 + 2860 4.4100 15.5490 0 + 2861 4.3200 15.7061 0 + 2862 4.4100 15.8631 0 + 2863 4.3200 16.0202 0 + 2864 4.4100 16.1773 0 + 2865 4.3200 16.3343 0 + 2866 4.4100 16.4914 0 + 2867 4.3200 16.6484 0 + 2868 4.4100 16.8055 0 + 2869 4.3200 16.9626 0 + 2870 4.4100 17.1196 0 + 2871 4.3200 17.2767 0 + 2872 4.4100 17.4337 0 + 2873 4.3200 17.5908 0 + 2874 4.4100 17.7479 0 + 2875 4.3200 17.9049 1 diff --git a/view/en4/link_or_copy_en4.README b/view/en4/link_or_copy_en4.README new file mode 100644 index 000000000..941faa8ab --- /dev/null +++ b/view/en4/link_or_copy_en4.README @@ -0,0 +1,12 @@ +Pyfesom can read a seasonal or monthly climatology. However the file is too big to distribute it via our git repository (~700mb) +If you want to use it, copy or link one of the follwing files to this folder: + +ollie@AWI: +/work/ollie/jstreffi/postprocessing/climatologies/en4_monthly.nc + +mistral@DKRZ: +/mnt/lustre01/work/ba1035/a270092/postprocessing/climatologies/en4_monthly.nc + +jewels@JSC: +/p/project/chhb19/jstreffi/postprocessing/climatologies/en4_monthly.nc + diff --git a/view/modules/climatology.py b/view/modules/climatology.py index 8fb0ad27e..5bb7f8d93 100644 --- a/view/modules/climatology.py +++ b/view/modules/climatology.py @@ -30,6 +30,9 @@ class climatology(object): Path to the directory with climatology files climname : str Name of the climatology ('woa05' or 'phc') + record : int + Number of the record within the climatology. + For seasonal or monthly climatologies Returns ------- @@ -53,7 +56,7 @@ class climatology(object): zonal mean of salinity ''' - def __init__(self, path, climname='woa05'): + def __init__(self, path, climname='woa05', record=0): if climname=='woa05': ncfile = Dataset(os.path.join(path, 'woa2005TS.nc')) self.T = np.copy(ncfile.variables['t00an1'][0,:,:,:]) @@ -124,6 +127,31 @@ def __init__(self, path, climname='woa05'): self.T = np.ma.masked_less(self.T,-1000) self.S = np.ma.masked_less(self.S,-1000) + if climname=='en4': + ncfile = Dataset(os.path.join(path, 'en4_monthly.nc')) + self.T = np.copy(ncfile.variables['temperature'][record,:,:,:]) + x=np.copy(ncfile.variables['lon'][:]) + x[x>180]=x[x>180]-360 + ind=[i[0] for i in sorted(enumerate(x), key=lambda x:x[1])] + x=np.sort(x) + self.x=x + self.y=ncfile.variables['lat'][:] + self.z=ncfile.variables['depth'][:] + self.T[:,:,:]=self.T[:,:,ind] + self.T[:,:,:]=self.T[:,:,:]-273.15 + self.S=np.copy(ncfile.variables['salinity'][record,:,:,:]) + self.S[:,:,:]=self.S[:,:,ind] + depth3d = np.zeros(self.S.shape) + for i in range(self.z.shape[0]): + depth3d[i, :, :] = self.z[i] + ptemp = sw.ptmp(self.S, self.T, depth3d) + self.T = ptemp + ncfile.close() + self.Tyz=nanmean(self.T, 2) + self.Syz=nanmean(self.S, 2) + self.T = np.ma.masked_less(self.T,-1000) + self.S = np.ma.masked_less(self.S,-1000) + # def fesom_2_clim(data, depth, mesh, climatology, verbose=True, radius_of_influence=100000): # ''' @@ -159,4 +187,4 @@ def __init__(self, path, climname='woa05'): # print('the model depth is: ', depth, '; the closest depth in climatology is: ', climatology.z[iz]) # out_data=fesom2regular(data, mesh, xx, yy, distances=distances, inds=inds, radius_of_influence=radius_of_influence) # out_data[np.isnan(climatology.T[iz,:,:])]=np.nan -# return iz, xx, yy, out_data \ No newline at end of file +# return iz, xx, yy, out_data diff --git a/view/plot_main.ipynb b/view/plot_main.ipynb index 73366936b..94d5e613a 100644 --- a/view/plot_main.ipynb +++ b/view/plot_main.ipynb @@ -12,11 +12,18 @@ }, { "cell_type": "code", - "execution_count": 1, - "metadata": { - "collapsed": true - }, - "outputs": [], + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The autoreload extension is already loaded. To reload it, use:\n", + " %reload_ext autoreload\n" + ] + } + ], "source": [ "%matplotlib inline\n", "%load_ext autoreload\n", @@ -25,10 +32,8 @@ }, { "cell_type": "code", - "execution_count": 2, - "metadata": { - "collapsed": true - }, + "execution_count": 20, + "metadata": {}, "outputs": [], "source": [ "## import standard python packages" @@ -36,10 +41,8 @@ }, { "cell_type": "code", - "execution_count": 3, - "metadata": { - "collapsed": true - }, + "execution_count": 21, + "metadata": {}, "outputs": [], "source": [ "# import standard python packages\n", @@ -70,22 +73,21 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 22, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "mesh will be loaded\n", - "Load 2d part of the grid in 1 second(s)\n" + "mesh with this name already exists and will not be loaded\n" ] } ], "source": [ "# set the path to the mesh\n", "#meshpath ='/home/ollie/nkolduno/meshes/pi-grid/'\n", - "meshpath ='/work/ollie/dsidoren/input/fesom2.0/meshes/mesh_CORE2_final/'\n", + "meshpath ='/work/ollie/pscholz/mesh_fesom2.0/mesh_CORE2_finaltopo_mean/'\n", "#meshpath ='/work/ollie/ogurses/NATMAP/mesh_F2GLO08/'\n", "alpha, beta, gamma=[50, 15, -90]\n", "#alpha, beta, gamma=[0, 0, 0]\n", @@ -648,6 +650,600 @@ " f.write(str(depth)+'\\n')\n", "f.close()" ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# MOC in density coordinate\n", + "## (the ldiag_dMOC option shall be .true. in gen_modules_diag.F90)" + ] + }, + { + "cell_type": "code", + "execution_count": 152, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# set the path to the mesh\n", + "imeshpath = result_path # shall point to where mesh.diag.nc is placed \n", + "# read the required metadata (mesh diagnostic file is always created at the cold start)\n", + "# grid information is needed for computing the MOC\n", + "ncfile = Dataset(os.path.join(imeshpath, 'fesom'+'.mesh.diag.nc'))\n", + "el_area =ncfile.variables['elem_area'][:]\n", + "nlevels =ncfile.variables['nlevels'][:]-1\n", + "el_nodes=ncfile.variables['elem'][:,:]-1\n", + "nodes_x =ncfile.variables['nodes'][0,:]*180./np.pi\n", + "nodes_y =ncfile.variables['nodes'][1,:]*180./np.pi\n", + "n3_area =ncfile.variables['nod_area'][:,:]\n", + "# compute lon/lat coordinate of an element required lated for binning\n", + "elem_x =nodes_x[el_nodes].sum(axis=0)/3.\n", + "elem_y =nodes_y[el_nodes].sum(axis=0)/3.\n", + "ncfile.close()\n", + "# these shall be the density bins which are specified in gen_modules_diag.F90\n", + "# lat us move it to some namelist later on\n", + "std_dens=[0.0000, 30.00000, 30.55556, 31.11111, 31.36000, 31.66667, 31.91000, 32.22222, 32.46000,\n", + "32.77778, 33.01000, 33.33333, 33.56000, 33.88889, 34.11000, 34.44444, 34.62000, 35.00000,\n", + "35.05000, 35.10622, 35.20319, 35.29239, 35.37498, 35.41300, 35.45187, 35.52380, 35.59136,\n", + "35.65506, 35.71531, 35.77247, 35.82685, 35.87869, 35.92823, 35.97566, 35.98000, 36.02115,\n", + "36.06487, 36.10692, 36.14746, 36.18656, 36.22434, 36.26089, 36.29626, 36.33056, 36.36383,\n", + "36.39613, 36.42753, 36.45806, 36.48778, 36.51674, 36.54495, 36.57246, 36.59500, 36.59932,\n", + "36.62555, 36.65117, 36.67621, 36.68000, 36.70071, 36.72467, 36.74813, 36.75200, 36.77111,\n", + "36.79363, 36.81570, 36.83733, 36.85857, 36.87500, 36.87940, 36.89985, 36.91993, 36.93965,\n", + "36.95904, 36.97808, 36.99682, 37.01524, 37.03336, 37.05119, 37.06874, 37.08602, 37.10303,\n", + "37.11979, 37.13630, 37.15257, 37.16861, 37.18441, 37.50000, 37.75000, 40.00000]\n", + "\n", + "# GLOBAL mask\n", + "#mask=np.ones(mesh.n2d) # use mask=1 everywhere this if you wish to plot the global MOC\n", + "# NA mask\n", + "#let us plot the AMOC\n", + "ind1= (np.array(mesh.x2>-100) & np.array(mesh.x2<50)) | np.array(mesh.y2>65)\n", + "ind2=~(np.array(mesh.x2>-110) & np.array(mesh.x2<-70) & np.array(mesh.y2>-50) & np.array(mesh.y2<8))\n", + "ind3=~(np.array(mesh.x2>-80.41) & np.array(mesh.x2<-78) & np.array(mesh.y2>7) & np.array(mesh.y2<9.02))\n", + "ind4=~(np.array(mesh.x2>-110) & np.array(mesh.x2<-81.5) & np.array(mesh.y2>7.9) & np.array(mesh.y2<8.6))\n", + "ind5=~(np.array(mesh.x2>-100.75) & np.array(mesh.x2<-83.5) & np.array(mesh.y2>8.5) & np.array(mesh.y2<10))\n", + "ind6=~(np.array(mesh.x2>-110) & np.array(mesh.x2<-85) & np.array(mesh.y2>9) & np.array(mesh.y2<15))\n", + "ind7=~(np.array(mesh.x2>-110) & np.array(mesh.x2<-91) & np.array(mesh.y2>14.5) & np.array(mesh.y2<17))\n", + "ind8=~(np.array(mesh.x2>22.55) & np.array(mesh.x2<55) & np.array(mesh.y2>-35) & np.array(mesh.y2<29.9))\n", + "ind9=~(np.array(mesh.x2>47) & np.array(mesh.x2<51) & np.array(mesh.y2>29) & np.array(mesh.y2<31))\n", + "ind10=np.array(mesh.y2)>-32\n", + "ind=ind1&ind2&ind3&ind4&ind5&ind6&ind7&ind8&ind9&ind10\n", + "# CORE2 mesh patch\n", + "ind11=~(np.array(mesh.x2>-75) & np.array(mesh.x2<-65) & np.array(mesh.y2>-25) & np.array(mesh.y2<-15))\n", + "ind12=~(np.array(mesh.x2>-100.5) & np.array(mesh.x2<-99.5) & np.array(mesh.y2>16) & np.array(mesh.y2<17.5))\n", + "ind13=~(np.array(mesh.x2>-83.8) & np.array(mesh.x2<-83.) & np.array(mesh.y2>8.5) & np.array(mesh.y2<9.1))\n", + "ind14=~(np.array(mesh.x2>-81.5) & np.array(mesh.x2<-80.) & np.array(mesh.y2>8.0) & np.array(mesh.y2<8.5))\n", + "ind15=~(np.array(mesh.x2> 179.) & np.array(mesh.x2<180.4) & np.array(mesh.y2>64.) & np.array(mesh.y2<65.5))\n", + "ind16= (np.array(mesh.x2>-80.4) & np.array(mesh.x2<-80.) & np.array(mesh.y2>8.8) & np.array(mesh.y2<9.1))\n", + "ind17=~(np.array(mesh.x2>-85.2) & np.array(mesh.x2<-84.6) & np.array(mesh.y2>9.9) & np.array(mesh.y2<10.2))\n", + "ind=(ind&ind11&ind12&ind13&ind14&ind15&ind17)|(ind16)\n", + "plt.figure(figsize=(10,10))\n", + "plt.plot(mesh.x2, mesh.y2, '.k')\n", + "plt.plot(mesh.x2[ind], mesh.y2[ind], '.r') \n", + "mask=np.copy(ind)" + ] + }, + { + "cell_type": "code", + "execution_count": 153, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/ollie/dsidoren/miniconda3/lib/python3.7/site-packages/ipykernel_launcher.py:62: RuntimeWarning: invalid value encountered in double_scalars\n" + ] + } + ], + "source": [ + "# allocate moc array\n", + "import shelve\n", + "import gc\n", + "ndens=len(std_dens)\n", + "nlats=90 # number of desred latitudinal bins\n", + "lats=np.linspace(-90, 90, nlats)\n", + "dlat=lats[1]-lats[0]\n", + "# all these fields shall be available if ldiag_dMOC=.TRUE. in namelist.io\n", + "# and io_list contains 'dAMOC'\n", + "moc_dens=np.zeros([ndens, nlats])\n", + "moc_heat=np.zeros([ndens, nlats])\n", + "moc_frwt=np.zeros([ndens, nlats])\n", + "moc_rest=np.zeros([ndens, nlats])\n", + "moc_tend=np.zeros([ndens, nlats])\n", + "moc_div =np.zeros([ndens, nlats])\n", + "moc_zpos=np.zeros([ndens, nlats])\n", + "\n", + "wdiff=np.diff(std_dens)\n", + "w =np.zeros(len(std_dens))\n", + "w[0 ]= wdiff[0 ]/2.\n", + "w[-1 ]= wdiff[-1 ]/2.\n", + "w[1:-1]=(wdiff[0:-1]+wdiff[1:])/2.\n", + "\n", + "# compute lon/lat coordinate of an element required lated for binning\n", + "elem_x =nodes_x[el_nodes].sum(axis=0)/3.\n", + "elem_y =nodes_y[el_nodes].sum(axis=0)/3.\n", + "\n", + "# specify records and year to read\n", + "records, year=np.linspace(0,0,1).astype(int), 1966\n", + "\n", + "# compute MOC\n", + "# precompute positions of elements for binning\n", + "pos = ((elem_y-lats[0])/dlat).astype('int')\n", + "\n", + "# compute contributions from vertical velocities on elements and put them into bins\n", + "for i in range(len(std_dens)):\n", + " heat_flux = read_fesom_slice('std_heat_flux', records, year, mesh, result_path, runid, ilev=i)\n", + " frwt_flux = read_fesom_slice('std_frwt_flux', records, year, mesh, result_path, runid, ilev=i)\n", + " rest_flux = read_fesom_slice('std_rest_flux', records, year, mesh, result_path, runid, ilev=i)\n", + " dvol_dt = read_fesom_slice('std_dens_dVdT', records, year, mesh, result_path, runid, ilev=i)\n", + " div = read_fesom_slice('std_dens_DIV', records, year, mesh, result_path, runid, ilev=i)\n", + " z = read_fesom_slice('std_dens_Z', records, year, mesh, result_path, runid, ilev=i) \n", + " heat_flux = heat_flux*mask[mesh.elem].mean(axis=1)*1.e-6/w[i]*1024.\n", + " frwt_flux = frwt_flux*mask[mesh.elem].mean(axis=1)*1.e-6/w[i]*1024.\n", + " rest_flux = rest_flux*mask[mesh.elem].mean(axis=1)*1.e-6/w[i]*1024.\n", + " dvol_dt = dvol_dt *mask[mesh.elem].mean(axis=1)*1.e-6\n", + " div = div*1.e-6/mesh.lump2\n", + " z = z*mask[mesh.elem].mean(axis=1)\n", + " # weigh by element area\n", + " # elem_mean_weigh = el_area*elem_mean\n", + " # for every bin select elements that belong to the bin and sum them.\n", + " for k in range(pos.min(), pos.max()+1):\n", + " moc_heat[i, k]=heat_flux[:][pos[:]==k].sum()\n", + " moc_frwt[i, k]=frwt_flux[:][pos[:]==k].sum()\n", + " moc_rest[i, k]=rest_flux[:][pos[:]==k].sum()\n", + " moc_tend[i, k]=dvol_dt [:][pos[:]==k].sum()\n", + " aux =(z*mesh.voltri)[:][pos[:]==k]\n", + " weight =mesh.voltri [:][pos[:]==k]\n", + " aux[aux>-.1] =np.nan\n", + " weight[np.isnan(aux)]=np.nan\n", + "\n", + " moc_zpos[i, k] =np.nansum(aux)/np.nansum(weight)\n", + " elem_mean_weigh =np.sum(div[el_nodes[:,:]], axis=0)/3.*mesh.voltri\n", + " elem_mean_weigh =elem_mean_weigh*mask[mesh.elem].min(axis=1)\n", + " moc_div[i, k] =elem_mean_weigh[:][pos[:]==k].sum()\n", + " \n", + "# the result from the previous step needs to be cumulatively summed \n", + "moc_heat = -np.ma.cumsum(np.ma.masked_invalid(moc_heat), axis=1)\n", + "moc_frwt = -np.ma.cumsum(np.ma.masked_invalid(moc_frwt), axis=1)\n", + "moc_rest = -np.ma.cumsum(np.ma.masked_invalid(moc_rest), axis=1)\n", + "\n", + "arr=moc_heat[:,-1]\n", + "for i in range(moc_heat.shape[1]):\n", + " moc_heat[:,i] = moc_heat[:,i]-arr\n", + "\n", + "arr=moc_frwt[:,-1]\n", + "for i in range(moc_frwt.shape[1]):\n", + " moc_frwt[:,i] = moc_frwt[:,i]-arr\n", + " \n", + "arr=moc_rest[:,-1]\n", + "for i in range(moc_rest.shape[1]):\n", + " moc_rest[:,i] = moc_rest[:,i]-arr\n", + " \n", + "moc_full=np.ma.cumsum(np.cumsum(moc_div[::-1,:], axis=0)[::-1,:],1)\n", + "arr=moc_full[:,-1]\n", + "for i in range(moc_full.shape[1]):\n", + " moc_full[:,i] = moc_full[:,i]-arr\n", + " \n", + "moc_drift=np.ma.cumsum(np.cumsum(moc_tend[::-1,:], axis=0)[::-1,:],1)\n", + "arr=moc_drift[:,-1]\n", + "for i in range(moc_drift.shape[1]):\n", + " moc_drift[:,i] = moc_drift[:,i]-arr" + ] + }, + { + "cell_type": "code", + "execution_count": 154, + "metadata": {}, + "outputs": [], + "source": [ + "# densities at which wi want to plot (visualisation issue)\n", + "from scipy.interpolate import interp1d\n", + "aux=np.copy(moc_zpos)\n", + "aux[aux==0]=np.nan\n", + "remap=np.nanmean(aux, axis=1)\n", + "remap[0] =0.1\n", + "remap[1] =0.\n", + "remap[-1]=-5000.\n", + "for i in range(len(remap)-1):\n", + " if (remap[i+1]>=remap[i]):\n", + " remap[i+1]=remap[i]-1.\n", + "\n", + "# dens2reg, reg2dens will be the interpolators of the standart dencities to the remapped ones and vi(for the visualisation purpose)\n", + "z2dens = interp1d(remap[1:], std_dens[1:], kind='linear')\n", + "remap=np.array([0., 28.10, 28.90, 29.70,30.50, 30.95, 31.50, 32.05, 32.60, 33.15, 33.70, 34.25, 34.75, 35.15, 35.50, 35.80, 36.04, 36.20, 36.38, 36.52, 36.62, 36.70, 36.77, 36.83, 36.89, 36.97, 37.02, 37.06, 37.09, 37.11, 37.13, 37.15, 37.20, 37.30, 37.40, 40.]) \n", + "reg =np.linspace(0, len(remap), len(remap))\n", + "dens2reg = interp1d(remap, reg, kind='linear')\n", + "reg2dens = interp1d(reg, remap, kind='linear')" + ] + }, + { + "cell_type": "code", + "execution_count": 165, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(-20, 90)" + ] + }, + "execution_count": 165, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# plot the result\n", + "# you may wish to look at:\n", + "# moc_full,\n", + "# moc_heat+moc_frwt+moc_rest (surface forced transformations)\n", + "# or moc_drift\n", + "cbartext, cont = 'Sv', [-20., 20., .1]\n", + "cmap=cmo.balance\n", + "fig = plt.figure(figsize=(7,12))\n", + "ax = plt.subplot(1, 1, 1)\n", + "# moc_drift, moc_full, moc_heat, moc_frwt, moc_rest\n", + "plt.contourf(lats, dens2reg(std_dens), moc_full, cmap=cmo.balance, levels=np.linspace(cont[0], cont[1], 100), extend='both')\n", + "#plt.contourf(lats, std_dens, moc_full, cmap=cmo.balance, levels=np.linspace(cont[0], cont[1], 100), extend='both')\n", + "plt.gca().invert_yaxis()\n", + "ax.set_yticks(reg[1:-1])\n", + "ax.set_yticklabels(np.around(reg2dens(reg[1:-1]), 3), size = 14)\n", + "\n", + "plt.xlabel('latitude, [degree]', fontsize=fontsize)\n", + "plt.ylabel('kg/m$^3$', fontsize=fontsize)\n", + "cbar=plt.colorbar(orientation=\"horizontal\")\n", + "cbar.set_ticks([round(i,4) for i in np.linspace(cont[0], cont[1], 5)])\n", + "cbar.set_label(cbartext, fontsize=fontsize)\n", + "cbar.set_label(cbartext, fontsize=fontsize)\n", + "plt.xlim(-20,90)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "# an alternative way to compute MOC via the meridional transports\n", + "# can also be used to compute transports across sections (ACC etc).\n", + "from ut import *\n", + "result_path ='/work/ollie/dsidoren/test/'\n", + "runid ='fesom'\n", + "year=1949\n", + "\n", + "ncfile =Dataset(os.path.join(result_path, runid+'.mesh.diag.nc'))\n", + "edges =ncfile.variables['edges'][:]-1\n", + "el_nodes =ncfile.variables['elem'][:,:]-1\n", + "edge_dxdy=ncfile.variables['edge_cross_dxdy'][:]\n", + "edge_tri =ncfile.variables['edge_tri'][:]-1\n", + "nlevels =ncfile.variables['nlevels'][:]-1\n", + "zbar =ncfile.variables['zbar'][:]\n", + "ncfile.close()\n", + "std_densN=len(std_dens)\n", + "\n", + "# define a descrete set of latitudes\n", + "nlats=300\n", + "lats=np.linspace(-90, 90, nlats)\n", + "# allocate moc array\n", + "moc =np.zeros([std_densN, nlats])\n", + "drhodz=np.zeros([std_densN, nlats])\n", + "\n", + "\n", + "edge_dxdy_l=np.array([ edge_dxdy[1,:], -edge_dxdy[0,:]])\n", + "edge_dxdy_r=np.array([-edge_dxdy[3,:], edge_dxdy[2,:]])\n", + "edge_dxdy_r[:, edge_tri[1,:]<0]=0.\n", + "\n", + "u =0.\n", + "v =0.\n", + "rhoz=0.\n", + "ncfile = Dataset(os.path.join(result_path, 'U_rho_x_DZ.fesom.'+str(year)+'.nc'))\n", + "u = u+ncfile.variables['U_rho_x_DZ'][:].mean(axis=0)\n", + "ncfile.close()\n", + "\n", + "ncfile = Dataset(os.path.join(result_path, 'V_rho_x_DZ.fesom.'+str(year)+'.nc'))\n", + "v = v+ncfile.variables['V_rho_x_DZ'][:].mean(axis=0)\n", + "ncfile.close()\n", + "\n", + "#zonally averaged dRHO/dZ is used for diagnosing numerical mixing from dMOC\n", + "ncfile = Dataset(os.path.join(result_path, 'RHO_Z.fesom.'+str(year)+'.nc'))\n", + "rhoz = rhoz+ncfile.variables['RHO_Z'][:].mean(axis=0)\n", + "ncfile.close()\n", + " \n", + "#for i in range(u.shape[1]):\n", + "# u[nlevels==i,i:]=0.\n", + "# v[nlevels==i,i:]=0.\n", + "x_el=(mesh.x2[el_nodes].mean(axis=0))\n", + "y_el=(mesh.x2[el_nodes].mean(axis=0))\n", + "for I,Y in enumerate(lats):\n", + " ind=((mesh.y2[edges[0,:]]-Y)*(mesh.y2[edges[1,:]]-Y) < 0.)\n", + " ind2=(mesh.y2[edges[0,:]] <= Y)\n", + " edge_dxdy_l[:, ind2]=-edge_dxdy_l[:, ind2]\n", + " edge_dxdy_r[:, ind2]=-edge_dxdy_r[:, ind2]\n", + " \n", + " res1=(edge_dxdy_l[0,ind]*u[edge_tri[0,ind],:].T).sum(axis=1)\n", + " res2=(edge_dxdy_l[1,ind]*v[edge_tri[0,ind],:].T).sum(axis=1)\n", + " res3=(edge_dxdy_r[0,ind]*u[edge_tri[1,ind],:].T).sum(axis=1)\n", + " res4=(edge_dxdy_r[1,ind]*v[edge_tri[1,ind],:].T).sum(axis=1)\n", + " \n", + " [vec_x, vec_y]=vec_rotate_r2g(alpha, beta, gamma, x_el[edge_tri[0,ind]], y_el[edge_tri[0,ind]], edge_dxdy_l[0,ind], edge_dxdy_l[1,ind], 1) \n", + "# vec_x=edge_dxdy_l[0,ind]\n", + " res5=(np.abs(vec_x)*rhoz[edge_tri[0,ind],:].T).sum(axis=1)\n", + " [vec_x, vec_y]=vec_rotate_r2g(alpha, beta, gamma, x_el[edge_tri[1,ind]], y_el[edge_tri[1,ind]], edge_dxdy_r[0,ind], edge_dxdy_r[1,ind], 1) \n", + "# vec_x=edge_dxdy_r[0,ind]\n", + " res6=(np.abs(vec_x)*rhoz[edge_tri[1,ind],:].T).sum(axis=1)\n", + " \n", + " moc[:,I] =-np.cumsum((res1+res2+res3+res4))*1.e-6\n", + " drhodz[:,I]= res5+res6\n", + " \n", + " edge_dxdy_l[:, ind2]=-edge_dxdy_l[:, ind2]\n", + " edge_dxdy_r[:, ind2]=-edge_dxdy_r[:, ind2]\n", + "\n", + "moc[-1,:] =0.\n", + "drhodz[-1,:]=0." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## plot the dMOC" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.cm as cm\n", + "fig = plt.figure(figsize=(10,6))\n", + "cbartext, cont = 'Sv', [-20., 20.]\n", + "#moc[moc==0.]=np.nan\n", + "flt=np.array([0.125, 0.25, 0.25, 0.25, 0.125])\n", + "moc_conv=np.apply_along_axis(lambda m: np.convolve(m, flt, mode='same'), axis=1, arr=moc)\n", + "# we plot density MOC as an image in order to accout for stretching along the Y axis\n", + "plt.imshow(moc_conv[:,:], vmin=cont[0], vmax=cont[1], cmap=cmo.balance)\n", + "\n", + "# a dirty trick about labels along the X axis\n", + "axis=lats\n", + "dx=int(len(axis)/4.)\n", + "ind=np.arange(0, len(axis)+1, dx)\n", + "ind[-1]=ind[-1]-1\n", + "labels=[-90., -45., 0., 45., 90.]\n", + "plt.xticks(ind, labels)\n", + "axis=std_dens\n", + "ind=np.arange(0, len(axis), int(len(axis)/5.))\n", + "plt.yticks(ind, np.round(axis[ind], 2))\n", + "cbar=plt.colorbar(orientation='horizontal', extend='both')\n", + "cbar.set_label('Sv', fontsize=fontsize)\n", + "\n", + "# same for dRHO/dZ\n", + "fig = plt.figure(figsize=(10,6))\n", + "cbartext, cont = 'Sv', [-100000., 0.]\n", + "drhodz[abs(drhodz)<100.]=np.nan\n", + "flt=np.array([0.125, 0.25, 0.25, 0.25, 0.125])\n", + "drhodz_conv=np.apply_along_axis(lambda m: np.convolve(m, flt, mode='same'), axis=1, arr=drhodz)\n", + "# we plot density MOC as an image in order to accout for stretching along the Y axis\n", + "plt.imshow(drhodz_conv, vmin=cont[0], vmax=cont[1], cmap=cm.viridis)\n", + "\n", + "# a dirty trick about labels along the X axis\n", + "axis=lats\n", + "dx=int(len(axis)/4.)\n", + "ind=np.arange(0, len(axis)+1, dx)\n", + "ind[-1]=ind[-1]-1\n", + "labels=[-90., -45., 0., 45., 90.]\n", + "plt.xticks(ind, labels)\n", + "axis=std_dens\n", + "ind=np.arange(0, len(axis), int(len(axis)/5.))\n", + "plt.yticks(ind, np.round(axis[ind], 2))\n", + "cbar=plt.colorbar(orientation='horizontal', extend='min')#, format='%.0e')\n", + "cbar.set_label('kg/m$^4$', fontsize=fontsize)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## diagnosing the numerical dyapicnal mixing after A. Megann 2018" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/ollie/dsidoren/miniconda3/lib/python3.5/site-packages/ipykernel_launcher.py:11: RuntimeWarning: invalid value encountered in less\n", + " # This is added back by InteractiveShellApp.init_path()\n" + ] + }, + { + "data": { + "text/plain": [ + "Text(0.5,0,'latitude, [degree]')" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "from matplotlib.colors import LogNorm\n", + "cmap=cmo.balance\n", + "fig = plt.figure(figsize=(10,6))\n", + "dlat=lats[1:]-lats[:-1]\n", + "dlat=dlat*np.pi/180.*6367500.\n", + "drho=std_dens[1:]-std_dens[:-1]\n", + "psi_y =np.diff(moc, axis=1)/dlat*1.e6\n", + "psi_y_conv=np.apply_along_axis(lambda m: np.convolve(m, flt, mode='same'), axis=1, arr=psi_y)\n", + "\n", + "rho_z=((drhodz[:,1:]+drhodz[:,:-1])/2.)[:-1]\n", + "rho_z[abs(rho_z)<10.]=np.nan\n", + "rho_z_conv=np.apply_along_axis(lambda m: np.convolve(m, flt, mode='same'), axis=1, arr=rho_z)\n", + "aux=(psi_y_conv[:-1,:]+psi_y_conv[1:,:])/2.\n", + "int_psi_y=np.flipud(np.flipud((aux.T*drho).T).cumsum(axis=0))\n", + "\n", + "#diapycnal mixing\n", + "k_eff=int_psi_y/rho_z_conv\n", + "\n", + "mlats=(lats[1:]+lats[:-1])/2.\n", + "nan_ind=(psi_y_conv==0)\n", + "psi_y_conv[nan_ind]=np.nan\n", + "\n", + "nan_ind=(moc[:-1,:-1]==0)\n", + "int_psi_y[nan_ind]=np.nan\n", + "\n", + "k_eff[nan_ind]=np.nan\n", + "# dPSI/dY\n", + "cbartext, cont = 'm$^2$/s', [-10., 10.]\n", + "fig = plt.figure(figsize=(10,6))\n", + "plt.imshow(psi_y_conv[:,:], vmin=cont[0], vmax=cont[1], cmap=cmo.balance)\n", + "axis=lats\n", + "dx=int(len(axis)/4.)\n", + "ind=np.arange(0, len(axis)+1, dx)\n", + "ind[-1]=ind[-1]-1\n", + "labels=[-90., -45., 0., 45., 90.]\n", + "plt.xticks(ind, labels)\n", + "axis=std_dens[:-1]\n", + "ind=np.arange(0, len(axis), int(len(axis)/5.))\n", + "plt.yticks(ind, np.round(axis[ind], 2))\n", + "cbar=plt.colorbar(orientation='horizontal', extend='both')\n", + "cbar.set_label('m/s', fontsize=fontsize)\n", + "\n", + "# integral from bottom to Z of dPSI/dY\n", + "cbartext, cont = 'm$^2$/s', [-10., 10.]\n", + "fig = plt.figure(figsize=(10,6))\n", + "plt.imshow(int_psi_y[:,:], vmin=cont[0], vmax=cont[1], cmap=cmo.balance)\n", + "axis=lats\n", + "dx=int(len(axis)/4.)\n", + "ind=np.arange(0, len(axis)+1, dx)\n", + "ind[-1]=ind[-1]-1\n", + "labels=[-90., -45., 0., 45., 90.]\n", + "plt.xticks(ind, labels)\n", + "axis=std_dens[:-1]\n", + "ind=np.arange(0, len(axis), int(len(axis)/5.))\n", + "plt.yticks(ind, np.round(axis[ind], 2))\n", + "cbar=plt.colorbar(orientation='horizontal', extend='both')\n", + "cbar.set_label('kg /(m$^2 \\cdot s$)', fontsize=fontsize)\n", + "\n", + "# diapycnal mixing : int_psi_y/rho_z_conv\n", + "cbartext, cont = 'm$^2$/s', [-5.e-4, 5.e-4]\n", + "fig = plt.figure(figsize=(10,6))\n", + "plt.imshow(k_eff[:,:], vmin=cont[0], vmax=cont[1], cmap=cmo.balance)\n", + "axis=lats\n", + "dx=int(len(axis)/4.)\n", + "ind=np.arange(0, len(axis)+1, dx)\n", + "ind[-1]=ind[-1]-1\n", + "labels=[-90., -45., 0., 45., 90.]\n", + "plt.xticks(ind, labels)\n", + "axis=std_dens[:-1]\n", + "ind=np.arange(0, len(axis), int(len(axis)/5.))\n", + "plt.yticks(ind, np.round(axis[ind], 2))\n", + "cbar=plt.colorbar(orientation='horizontal', extend='both')\n", + "cbar.set_label('m$^2$/s', fontsize=fontsize)\n", + "plt.ylabel('density, kg/m$^3$', fontsize=fontsize)\n", + "plt.xlabel('latitude, [degree]', fontsize=fontsize)" + ] } ], "metadata": { @@ -667,7 +1263,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.5.3" + "version": "3.7.4" } }, "nbformat": 4, diff --git a/view/iloveclock.py b/view/scripts/iloveclock.py similarity index 100% rename from view/iloveclock.py rename to view/scripts/iloveclock.py diff --git a/view/scripts/select_restart.py b/view/scripts/select_restart.py new file mode 100644 index 000000000..e2a6d4bcc --- /dev/null +++ b/view/scripts/select_restart.py @@ -0,0 +1,34 @@ +# -*- coding: utf-8 -*- + +# This script will select one time step from the restart file +# and put it in to a new restart file with only one time step. +# This is needed to save space when copy very large restarts. +# In this example the time step 6 (in python counting starts with zero) +# will be selected. +# Note that there might be incompatability between different versions +# of netCDF libraries, so in case of problems make sure you compile +# FESOM2 and xarray with the same version of netCDF +# for mistral create conda environment that have: +# netcdf4==1.2.9 +# libnetcdf==4.4.1.1 + + +import xarray as xr + +# input files +ocean = '/scratch/a/a270088/A8/fesom.2000.oce.restart.nc' +ice = '/scratch/a/a270088/A8/fesom.2000.ice.restart.nc' + +# output files +ocean2 = '/mnt/lustre01/work/ab0995/a270088/A8/restarts/fesom.2000.oce.restart.nc' +ice2 = '/mnt/lustre01/work/ab0995/a270088/A8/restarts/fesom.2000.ice.restart.nc' + +fo = xr.open_dataset(ocean) +fi = xr.open_dataset(ice) + +# Select time slice. We use slice to keep the time dimention +fos = fo.isel(time=slice(5,6), drop=False) +fis = fi.isel(time=slice(5,6), drop=False) + +fos.to_netcdf(ocean2, unlimited_dims='time', format='NETCDF4_CLASSIC') +fis.to_netcdf(ice2 , unlimited_dims='time', format='NETCDF4_CLASSIC') diff --git a/view_pscholz/colormap_c2c.py b/view_pscholz/colormap_c2c.py index 57ce7aa3a..77baae473 100644 --- a/view_pscholz/colormap_c2c.py +++ b/view_pscholz/colormap_c2c.py @@ -1,304 +1,329 @@ # Patrick Scholz, 14.12.2017 -def colormap_c2c(cmin,cmax,cref,cnumb,cname): - - import numpy as np - from matplotlib.colors import LinearSegmentedColormap - import cmocean - # cmin ... value of minimum color - # cmax ... value of maximum color - # cref ... value of reference color - # cnumb... minimum number of colors that should be in colormap - # cname... name of colormap ---> see colormap definition - - # colormaps are: - # --> blue2red - # --> red2blue - # --> grads - # --> rainbow - # --> heat - # --> jet - # --> jet_w - # --> hsv - # --> gnuplot - # --> arc - # --> wbgyr - # --> odv - # --> odv_w - - # get colormap matrix from predifined cmaps - # --> import matplotlib.pyplot as plt - # --> cmap = plt.get_cmap('rainbow',9) - # --> cmaplist = [cmap(i) for i in range(cmap.N)] - - #___________________________________________________________________________ - # calculate optimal color step size - cdelta = (cmax-cmin)/cnumb - cstep_all= np.array([0.1, 0.2, 0.25, 0.5, 1.0, 2.0, 2.5, 5.0, 10.0, 20.0, 25.0, 50.0]) - cstep_all=cstep_all*(10**np.floor(np.log10( cdelta ))) - cstep_i = np.squeeze(np.where(cstep_all<=cdelta)) - cstep_i = cstep_i[-1] - cstep = cstep_all[cstep_i] - - #___________________________________________________________________________ - # calculate colormap levels - clevel = np.concatenate((np.sort(np.arange(cref-cstep,cmin-cstep,-cstep)),np.arange(cref,cmax+cstep,cstep))) - cdelta2 = clevel[-1]-clevel[0] - - #___________________________________________________________________________ - # different colormap definitions - cmap_def = [] - #-->________________________________________________________________________ - if cname=='blue2red': - cmap_def = [(0.0 , [0.0, 0.19, 1.0]), - (((cref-clevel[0])/2)/cdelta2 , [0.0, 0.72, 1.0]), - ((cref-clevel[0])/cdelta2 , [1.0, 1.0 , 1.0]), - ((cref-clevel[0]+(clevel[-1]-cref)/2)/cdelta2 , [1.0, 0.6 , 0.0]), - ((clevel[-1]-clevel[0])/cdelta2 , [1.0, 0.19, 0.0] )] - if cname=='red2blue': - cmap_def = [(0.0 , [1.0, 0.19, 0.0]), - (((cref-clevel[0])/2)/cdelta2 , [1.0, 0.6 , 0.0]), - ((cref-clevel[0])/cdelta2 , [1.0, 1.0 , 1.0]), - ((cref-clevel[0]+(clevel[-1]-cref)/2)/cdelta2 , [0.0, 0.72, 1.0]), - ((clevel[-1]-clevel[0])/cdelta2 , [0.0, 0.19, 1.0])] - #-->________________________________________________________________________ - elif cname=='green2orange': - cmap_def = [(0.0 , [0.2196, 0.4196, 0.0]), - (((cref-clevel[0])*0.3333)/cdelta2 , [0.6039, 0.8039, 0.0]), - (((cref-clevel[0])*0.6666)/cdelta2 , [0.8000, 1.0000, 0.0]), - ((cref-clevel[0])/cdelta2 , [1.0000, 1.0000, 1.0000]), - ((cref-clevel[0]+(clevel[-1]-cref)*0.5)/cdelta2 , [1.0000, 0.6000, 0.0]), - ((clevel[-1]-clevel[0])/cdelta2 , [0.6000, 0.2000, 0.0])] - elif cname=='orange2green': - cmap_def = [(0.0 , [0.6000, 0.2000, 0.0]), - (((cref-clevel[0])*0.5)/cdelta2 , [1.0000, 0.6000, 0.0]), - ((cref-clevel[0])/cdelta2 , [1.0000, 1.0000, 1.0000]), - ((cref-clevel[0]+(clevel[-1]-cref)*0.3333)/cdelta2,[0.8000, 1.0000, 0.0]), - ((cref-clevel[0]+(clevel[-1]-cref)*0.6666)/cdelta2,[0.6039, 0.8039, 0.0]), - ((clevel[-1]-clevel[0])/cdelta2 , [0.2196, 0.4196, 0.0])] - - #-->________________________________________________________________________ - elif cname=='grads': - cmap_def = [(0.0 , [0.6275, 0.0 , 0.7843]), - (((cref-clevel[0])*0.25)/cdelta2 , [0.1176, 0.2353, 1.0000]), - (((cref-clevel[0])*0.50)/cdelta2 , [0.0 , 0.6275, 1.0000]), - (((cref-clevel[0])*0.75)/cdelta2 , [0.0 , 0.8627, 0.0 ]), - ((cref-clevel[0])/cdelta2 , [1.0 , 1.0 , 1.0 ]), - ((cref-clevel[0]+(clevel[-1]-cref)*0.25)/cdelta2, [0.9020, 0.8627, 0.1961]), - ((cref-clevel[0]+(clevel[-1]-cref)*0.50)/cdelta2, [0.9412, 0.5098, 0.1569]), - ((cref-clevel[0]+(clevel[-1]-cref)*0.75)/cdelta2, [0.9804, 0.2353, 0.2353]), - ((clevel[-1]-clevel[0])/cdelta2 , [0.9412, 0.0 , 0.5098])] - #-->________________________________________________________________________ - elif cname=='rainbow': - cmap_def = [(0 , [0.5 , 0.0 , 1.0 ]), - (((cref-clevel[0])*0.25)/cdelta2 , [0.25 , 0.3826, 0.9807]), - (((cref-clevel[0])*0.50)/cdelta2 , [0.0 , 0.7071, 0.9238]), - (((cref-clevel[0])*0.75)/cdelta2 , [0.25 , 0.9238, 0.8314]), - ((cref-clevel[0])/cdelta2 , [0.5 , 1.0 , 0.7071]), - ((cref-clevel[0]+(clevel[-1]-cref)*0.25)/cdelta2, [0.75 , 0.9238, 0.5555]), - ((cref-clevel[0]+(clevel[-1]-cref)*0.50)/cdelta2, [1.0 , 0.7071, 0.3826]), - ((cref-clevel[0]+(clevel[-1]-cref)*0.75)/cdelta2, [1.0 , 0.3826, 0.1950]), - ((clevel[-1]-clevel[0])/cdelta2 , [1.0 , 0.0 , 0.0 ])] - #-->________________________________________________________________________ - elif cname=='heat': - cmap_def = [(0.0 , [1.0 , 1.0 , 1.0]), - (((cref-clevel[0])*0.25)/cdelta2 , [1.0 , 0.75 , 0.5]), - (((cref-clevel[0])*0.50)/cdelta2 , [1.0 , 0.5 , 0.0]), - (((cref-clevel[0])*0.75)/cdelta2 , [0.9375, 0.25 , 0.0]), - ((cref-clevel[0])/cdelta2 , [0.75 , 0.0 , 0.0]), - ((cref-clevel[0]+(clevel[-1]-cref)*0.25)/cdelta2, [0.5625, 0.0 , 0.0]), - ((cref-clevel[0]+(clevel[-1]-cref)*0.50)/cdelta2, [0.375 , 0.0 , 0.0]), - ((cref-clevel[0]+(clevel[-1]-cref)*0.75)/cdelta2, [0.1875, 0.0 , 0.0]), - ((clevel[-1]-clevel[0])/cdelta2 , [0.0 , 0.0 , 0.0])] - #-->________________________________________________________________________ - elif cname=='jet': - cmap_def = [(0.0 , [0.0 , 0.0 , 0.5]), - (((cref-clevel[0])*0.25)/cdelta2 , [0.0 , 0.0 , 1.0]), - (((cref-clevel[0])*0.50)/cdelta2 , [0.0 , 0.5 , 1.0]), - (((cref-clevel[0])*0.75)/cdelta2 , [0.0806, 1.0 , 0.8870]), - ((cref-clevel[0])/cdelta2 , [0.4838, 1.0 , 0.4838]), - ((cref-clevel[0]+(clevel[-1]-cref)*0.25)/cdelta2, [0.8870, 1.0 , 0.0806]), - ((cref-clevel[0]+(clevel[-1]-cref)*0.50)/cdelta2, [1.0 , 0.5925, 0.0]), - ((cref-clevel[0]+(clevel[-1]-cref)*0.75)/cdelta2, [1.0 , 0.1296, 0.0]), - ((clevel[-1]-clevel[0])/cdelta2 , [0.5 , 0.0 , 0.0])] - #-->________________________________________________________________________ - elif cname=='jet_w': - cmap_def = [(0.0 , [0.0 , 0.0 , 0.5]), - (((cref-clevel[0])*0.25)/cdelta2 , [0.0 , 0.0 , 1.0]), - (((cref-clevel[0])*0.50)/cdelta2 , [0.0 , 0.5 , 1.0]), - (((cref-clevel[0])*0.75)/cdelta2 , [0.0806, 1.0 , 0.8870]), - ((cref-clevel[0])/cdelta2 , [1.0 , 1.0 , 1.0]), - ((cref-clevel[0]+(clevel[-1]-cref)*0.25)/cdelta2, [0.8870, 1.0 , 0.0806]), - ((cref-clevel[0]+(clevel[-1]-cref)*0.50)/cdelta2, [1.0 , 0.5925, 0.0]), - ((cref-clevel[0]+(clevel[-1]-cref)*0.75)/cdelta2, [1.0 , 0.1296, 0.0]), - ((clevel[-1]-clevel[0])/cdelta2 , [0.5 , 0.0 , 0.0])] - #-->________________________________________________________________________ - elif cname=='hsv': - cmap_def = [(0.0 , [1.0 , 0.0 , 0.0]), - (((cref-clevel[0])*0.25)/cdelta2 , [1.0 , 0.7382, 0.0]), - (((cref-clevel[0])*0.50)/cdelta2 , [0.5236, 1.0 , 0.0]), - (((cref-clevel[0])*0.75)/cdelta2 , [0.0 , 1.0 , 0.2148]), - ((cref-clevel[0])/cdelta2 , [0.0 , 1.0 , 0.9531]), - ((cref-clevel[0]+(clevel[-1]-cref)*0.25)/cdelta2, [0.0 , 0.3085, 1.0]), - ((cref-clevel[0]+(clevel[-1]-cref)*0.50)/cdelta2, [0.4291, 0.0 , 1.0]), - ((cref-clevel[0]+(clevel[-1]-cref)*0.75)/cdelta2, [1.0 , 0.0 , 0.8320]), - ((clevel[-1]-clevel[0])/cdelta2 , [1.0 , 0.0 , 0.0937])] - #-->________________________________________________________________________ - elif cname=='gnuplot': - cmap_def = [(0.0 , [1.0 , 1.0 , 1.0]), - (((cref-clevel[0])*0.25)/cdelta2 , [1.0 , 1.0 , 0.0]), - (((cref-clevel[0])*0.50)/cdelta2 , [0.9354, 0.6699, 0.0]), - (((cref-clevel[0])*0.75)/cdelta2 , [0.8660, 0.4218, 0.0]), - ((cref-clevel[0])/cdelta2 , [0.7905, 0.2441, 0.0]), - ((cref-clevel[0]+(clevel[-1]-cref)*0.25)/cdelta2, [0.7071, 0.125 , 0.0]), - ((cref-clevel[0]+(clevel[-1]-cref)*0.50)/cdelta2, [0.6123, 0.0527, 0.7071]), - ((cref-clevel[0]+(clevel[-1]-cref)*0.75)/cdelta2, [0.5 , 0.0156, 1.0]), - ((clevel[-1]-clevel[0])/cdelta2 , [0.3535, 0.0019, 0.7071])] - #-->________________________________________________________________________ - elif cname=='arc': - cmap_def = [(0.0 , [1.0000, 1.0000, 1.0000]), - (((cref-clevel[0])*0.25)/cdelta2 , [0.6035, 0.8614, 0.7691]), - (((cref-clevel[0])*0.50)/cdelta2 , [0.2462, 0.7346, 0.4610]), - (((cref-clevel[0])*0.75)/cdelta2 , [0.2980, 0.7399, 0.2196]), - ((cref-clevel[0])/cdelta2 , [0.7569, 0.8776, 0.0754]), - ((cref-clevel[0]+(clevel[-1]-cref)*0.25)/cdelta2, [0.9991, 0.9390, 0.0017]), - ((cref-clevel[0]+(clevel[-1]-cref)*0.50)/cdelta2, [0.9830, 0.7386, 0.0353]), - ((cref-clevel[0]+(clevel[-1]-cref)*0.75)/cdelta2, [0.9451, 0.2963, 0.1098]), - ((clevel[-1]-clevel[0])/cdelta2 , [0.9603, 0.4562, 0.5268])] - #-->________________________________________________________________________ - elif cname=='wbgyr': - cmap_def = [(0.0 , [1.0000, 1.0000, 1.0000]), - (((cref-clevel[0])*0.5)/cdelta2 , [0.2000, 0.6000, 1.0000]), - ((cref-clevel[0])/cdelta2 , [0.0 , 1.0000, 0.6000]), - ((cref-clevel[0]+(clevel[-1]-cref)*0.5)/cdelta2 , [1.0000, 1.0000, 0.0]), - ((clevel[-1]-clevel[0])/cdelta2 , [1.0000, 0.0, 0.0])] - #-->________________________________________________________________________ - elif cname=='rygbw': - cmap_def = [(0.0 , [1.0000, 0.0, 0.0]), - (((cref-clevel[0])*0.5)/cdelta2 , [1.0000, 1.0000, 0.0]), - ((cref-clevel[0])/cdelta2 , [0.0 , 1.0000, 0.6000]), - ((cref-clevel[0]+(clevel[-1]-cref)*0.5)/cdelta2 , [0.2000, 0.6000, 1.0000]), - ((clevel[-1]-clevel[0])/cdelta2 , [1.0000, 1.0000, 1.0000])] - - #-->________________________________________________________________________ - elif cname=='odv': - cmap_def = [(0.0 , [0.9373, 0.7765, 0.9373]), - (((cref-clevel[0])*0.25)/cdelta2 , [0.7804, 0.3647, 0.7490]), - (((cref-clevel[0])*0.50)/cdelta2 , [0.1922, 0.2235, 1.0000]), - (((cref-clevel[0])*0.75)/cdelta2 , [0.4824, 0.9686, 0.8706]), - ((cref-clevel[0])/cdelta2 , [0.4980, 1.0000, 0.4980]), - ((cref-clevel[0]+(clevel[-1]-cref)*0.25)/cdelta2, [1.0000, 0.7843, 0.1373]), - ((cref-clevel[0]+(clevel[-1]-cref)*0.50)/cdelta2, [1.0000, 0.0, 0.0]), - ((cref-clevel[0]+(clevel[-1]-cref)*0.75)/cdelta2, [0.8392, 0.0627, 0.1922]), - ((clevel[-1]-clevel[0])/cdelta2 , [1.0000, 0.7765, 0.5804])] - #-->________________________________________________________________________ - elif cname=='odv_w': - cmap_def = [(0.0 , [0.9373, 0.7765, 0.9373]), - (((cref-clevel[0])*0.25)/cdelta2 , [0.7804, 0.3647, 0.7490]), - (((cref-clevel[0])*0.50)/cdelta2 , [0.1922, 0.2235, 1.0000]), - (((cref-clevel[0])*0.75)/cdelta2 , [0.4824, 0.9686, 0.8706]), - ((cref-clevel[0])/cdelta2 , [1.0 , 1.0000, 1.0 ]), - ((cref-clevel[0]+(clevel[-1]-cref)*0.25)/cdelta2, [1.0000, 0.7843, 0.1373]), - ((cref-clevel[0]+(clevel[-1]-cref)*0.50)/cdelta2, [1.0000, 0.0, 0.0]), - ((cref-clevel[0]+(clevel[-1]-cref)*0.75)/cdelta2, [0.8392, 0.0627, 0.1922]), - ((clevel[-1]-clevel[0])/cdelta2 , [1.0000, 0.7765, 0.5804])] - - #-->________________________________________________________________________ - elif cname=='wvt': - cmap_def = [(0.0 , [255.0/255, 255.0/255, 255.0/255]), - (((cref-clevel[0])*0.3333)/cdelta2 , [255.0/255, 255.0/255, 153.0/255]), - (((cref-clevel[0])*0.6666)/cdelta2 , [255.0/255, 204.0/255, 51.0/255]), - ((cref-clevel[0])/cdelta2 , [255.0/255, 177.0/255, 100.0/255]), - ((cref-clevel[0]+(clevel[-1]-cref)*0.3333)/cdelta2, [255.0/255, 102.0/255, 102.0/255]), - ((cref-clevel[0]+(clevel[-1]-cref)*0.6666)/cdelta2, [255.0/255, 51.0/255, 51.0/255]), - ((clevel[-1]-clevel[0])/cdelta2 , [153.0/255, 0.0/255, 51.0/255])] - - #-->________________________________________________________________________ - elif cname=='seaice': - cmap_def = [(0.0 , [153.0/255, 0.0/255, 51.0/255]), - (((cref-clevel[0])*0.25)/cdelta2 , [204.0/255, 0.0/255, 0.0/255]), - (((cref-clevel[0])*0.50)/cdelta2 , [255.0/255, 102.0/255, 102.0/255]), - (((cref-clevel[0])*0.75)/cdelta2 , [255.0/255, 153.0/255, 153.0/255]), - ((cref-clevel[0])/cdelta2 , [255.0/255, 255.0/255, 255.0/255]), - ((cref-clevel[0]+(clevel[-1]-cref)*0.25)/cdelta2, [153.0/255, 255.0/255, 255.0/255]), - ((cref-clevel[0]+(clevel[-1]-cref)*0.50)/cdelta2, [ 0.0/255, 153.0/255, 204.0/255]), - ((cref-clevel[0]+(clevel[-1]-cref)*0.75)/cdelta2, [ 0.0/255, 51.0/255, 204.0/255]), - ((clevel[-1]-clevel[0])/cdelta2 , [ 0.0/255, 51.0/255, 153.0/255])] - - #-->________________________________________________________________________ - elif cname=='seaice_i': - cmap_def = [(0.0 , [ 0.0/255, 51.0/255, 153.0/255]), - (((cref-clevel[0])*0.25)/cdelta2 , [ 0.0/255, 51.0/255, 204.0/255]), - (((cref-clevel[0])*0.50)/cdelta2 , [ 0.0/255, 153.0/255, 204.0/255]), - (((cref-clevel[0])*0.75)/cdelta2 , [153.0/255, 255.0/255, 255.0/255]), - ((cref-clevel[0])/cdelta2 , [255.0/255, 255.0/255, 255.0/255]), - ((cref-clevel[0]+(clevel[-1]-cref)*0.25)/cdelta2, [255.0/255, 153.0/255, 153.0/255]), - ((cref-clevel[0]+(clevel[-1]-cref)*0.50)/cdelta2, [255.0/255, 102.0/255, 102.0/255]), - ((cref-clevel[0]+(clevel[-1]-cref)*0.75)/cdelta2, [204.0/255, 0.0/255, 0.0/255]), - ((clevel[-1]-clevel[0])/cdelta2 , [153.0/255, 0.0/255, 51.0/255])] - - ##-->________________________________________________________________________ - elif cname=='test': - cmap_def = [(0.0 , [0.0, 0.0, 0.0]), - (0.5 , [0.5, 0.5, 0.5]), - (1.0 , [1.0, 1.0, 1.0])] - - ##-->________________________________________________________________________ - elif cname.find('cmocean.cm')==0: - nmax = 9 - #cdict = cmocean.tools.get_dict(cmocean.cm.balance, N=nmax) - cdict = cmocean.tools.get_dict(eval(cname), N=nmax) - aux_icref = [0.0, - ((cref-clevel[0])*0.25)/cdelta2, - ((cref-clevel[0])*0.50)/cdelta2, - ((cref-clevel[0])*0.75)/cdelta2, - (cref-clevel[0])/cdelta2, - (cref-clevel[0]+(clevel[-1]-cref)*0.25)/cdelta2, - (cref-clevel[0]+(clevel[-1]-cref)*0.50)/cdelta2, - (cref-clevel[0]+(clevel[-1]-cref)*0.75)/cdelta2, - (clevel[-1]-clevel[0])/cdelta2] - - for ii in range(0,nmax): - auxr = list(cdict['red'][ii]) - auxr[0]=aux_icref[ii] - cdict['red'][ii]=tuple(auxr) - - auxr = list(cdict['blue'][ii]) - auxr[0]=aux_icref[ii] - cdict['blue'][ii]=tuple(auxr) - - auxr = list(cdict['green'][ii]) - auxr[0]=aux_icref[ii] - cdict['green'][ii]=tuple(auxr) - - #-->________________________________________________________________________ - #elif cname=='jet': - #cmap_def = [(0 , []), - #(((cref-clevel[0])*0.25)/cdelta2 , []), - #(((cref-clevel[0])*0.50)/cdelta2 , []), - #(((cref-clevel[0])*0.75)/cdelta2 , []), - #((cref-clevel[0])/cdelta2 , []), - #((cref-clevel[0]+(clevel[-1]-cref)*0.25)/cdelta2, []), - #((cref-clevel[0]+(clevel[-1]-cref)*0.50)/cdelta2, []), - #((cref-clevel[0]+(clevel[-1]-cref)*0.75)/cdelta2, []), - #((clevel[-1]-clevel[0])/cdelta2 , [])] - - #___________________________________________________________________________ - # make python colormap - #print(cmap_def) - #print(cmap_def[0][1]) - #print(cmap_def[1][1]) - - #cdict = [(0.0, 0.0, 0.0), - #(0.5, 0.5, 0.5), - #(1.0, 1.0, 1.0)] +def colormap_c2c(cmin,cmax,cref,cnumb,cname,cstep=[]): + + import numpy as np + from matplotlib.colors import LinearSegmentedColormap + ##import cmocean + # cmin ... value of minimum color + # cmax ... value of maximum color + # cref ... value of reference color + # cnumb... minimum number of colors that should be in colormap + # cname... name of colormap ---> see colormap definition + + # colormaps are: + # --> blue2red + # --> red2blue + # --> grads + # --> rainbow + # --> heat + # --> jet + # --> jet_w + # --> hsv + # --> gnuplot + # --> arc + # --> wbgyr + # --> odv + # --> odv_w + + # get colormap matrix from predifined cmaps + # --> import matplotlib.pyplot as plt + # --> cmap = plt.get_cmap('rainbow',9) + # --> cmaplist = [cmap(i) for i in range(cmap.N)] + + #___________________________________________________________________________ + # calculate optimal color step size + if not cstep: + cdelta = (cmax-cmin)/cnumb + cstep_all= np.array([0.1, 0.2, 0.25, 0.5, 1.0, 2.0, 2.5, 5.0, 10.0, 20.0, 25.0, 50.0]) + cstep_all=cstep_all*(10**np.floor(np.log10( np.abs(cdelta) ))) + cstep_i = np.squeeze(np.where(cstep_all<=cdelta)) + cstep_i = cstep_i[-1] + cstep = cstep_all[cstep_i] + + #print('[cmin,cmax,cref]=',cmin,cmax,cref) + #print('cstep = ',cstep) + #print('cdelta = ',cdelta) + + #___________________________________________________________________________ + # calculate colormap levels + #print(np.arange(cref-cstep,cmin-cstep,-cstep)) + + clevel = np.concatenate((np.sort(np.arange(cref-cstep,cmin-cstep,-cstep)),np.arange(cref,cmax+cstep,cstep))) + #print(clevel) + if np.abs(clevel.min())>1.0e-15: + #clevel = np.around(clevel, -np.int32(np.floor(np.log10(np.abs( clevel.min() ))-2) ) ) + clevel = np.around(clevel, -np.int32(np.floor(np.log10(np.abs( cstep ))-2) ) ) + + clevel = np.unique(clevel) + #print(clevel) + #print(clevel[:-1]-clevel[1:]) + #print(clevel) + cdelta2 = clevel[-1]-clevel[0] + if cmin==0.0 and clevel[0]________________________________________________________________________ + if cname=='blue2red': + cmap_def = [(0.0 , [0.0, 0.19, 1.0]), + (((cref-clevel[0])/2)/cdelta2 , [0.0, 0.72, 1.0]), + ((cref-clevel[0])/cdelta2 , [1.0, 1.0 , 1.0]), + ((cref-clevel[0]+(clevel[-1]-cref)/2)/cdelta2 , [1.0, 0.6 , 0.0]), + ((clevel[-1]-clevel[0])/cdelta2 , [1.0, 0.19, 0.0] )] + if cname=='red2blue': + cmap_def = [(0.0 , [1.0, 0.19, 0.0]), + (((cref-clevel[0])/2)/cdelta2 , [1.0, 0.6 , 0.0]), + ((cref-clevel[0])/cdelta2 , [1.0, 1.0 , 1.0]), + ((cref-clevel[0]+(clevel[-1]-cref)/2)/cdelta2 , [0.0, 0.72, 1.0]), + ((clevel[-1]-clevel[0])/cdelta2 , [0.0, 0.19, 1.0])] + #-->________________________________________________________________________ + elif cname=='green2orange': + cmap_def = [(0.0 , [0.2196, 0.4196, 0.0]), + (((cref-clevel[0])*0.3333)/cdelta2 , [0.6039, 0.8039, 0.0]), + (((cref-clevel[0])*0.6666)/cdelta2 , [0.8000, 1.0000, 0.0]), + ((cref-clevel[0])/cdelta2 , [1.0000, 1.0000, 1.0000]), + ((cref-clevel[0]+(clevel[-1]-cref)*0.5)/cdelta2 , [1.0000, 0.6000, 0.0]), + ((clevel[-1]-clevel[0])/cdelta2 , [0.6000, 0.2000, 0.0])] + elif cname=='orange2green': + cmap_def = [(0.0 , [0.6000, 0.2000, 0.0]), + (((cref-clevel[0])*0.5)/cdelta2 , [1.0000, 0.6000, 0.0]), + ((cref-clevel[0])/cdelta2 , [1.0000, 1.0000, 1.0000]), + ((cref-clevel[0]+(clevel[-1]-cref)*0.3333)/cdelta2,[0.8000, 1.0000, 0.0]), + ((cref-clevel[0]+(clevel[-1]-cref)*0.6666)/cdelta2,[0.6039, 0.8039, 0.0]), + ((clevel[-1]-clevel[0])/cdelta2 , [0.2196, 0.4196, 0.0])] + + #-->________________________________________________________________________ + elif cname=='grads': + cmap_def = [(0.0 , [0.6275, 0.0 , 0.7843]), + (((cref-clevel[0])*0.25)/cdelta2 , [0.1176, 0.2353, 1.0000]), + (((cref-clevel[0])*0.50)/cdelta2 , [0.0 , 0.6275, 1.0000]), + (((cref-clevel[0])*0.75)/cdelta2 , [0.0 , 0.8627, 0.0 ]), + ((cref-clevel[0])/cdelta2 , [1.0 , 1.0 , 1.0 ]), + ((cref-clevel[0]+(clevel[-1]-cref)*0.25)/cdelta2, [0.9020, 0.8627, 0.1961]), + ((cref-clevel[0]+(clevel[-1]-cref)*0.50)/cdelta2, [0.9412, 0.5098, 0.1569]), + ((cref-clevel[0]+(clevel[-1]-cref)*0.75)/cdelta2, [0.9804, 0.2353, 0.2353]), + ((clevel[-1]-clevel[0])/cdelta2 , [0.9412, 0.0 , 0.5098])] + #-->________________________________________________________________________ + elif cname=='rainbow': + cmap_def = [(0 , [0.5 , 0.0 , 1.0 ]), + (((cref-clevel[0])*0.25)/cdelta2 , [0.25 , 0.3826, 0.9807]), + (((cref-clevel[0])*0.50)/cdelta2 , [0.0 , 0.7071, 0.9238]), + (((cref-clevel[0])*0.75)/cdelta2 , [0.25 , 0.9238, 0.8314]), + ((cref-clevel[0])/cdelta2 , [0.5 , 1.0 , 0.7071]), + ((cref-clevel[0]+(clevel[-1]-cref)*0.25)/cdelta2, [0.75 , 0.9238, 0.5555]), + ((cref-clevel[0]+(clevel[-1]-cref)*0.50)/cdelta2, [1.0 , 0.7071, 0.3826]), + ((cref-clevel[0]+(clevel[-1]-cref)*0.75)/cdelta2, [1.0 , 0.3826, 0.1950]), + ((clevel[-1]-clevel[0])/cdelta2 , [1.0 , 0.0 , 0.0 ])] + #-->________________________________________________________________________ + elif cname=='heat': + cmap_def = [(0.0 , [1.0 , 1.0 , 1.0]), + (((cref-clevel[0])*0.25)/cdelta2 , [1.0 , 0.75 , 0.5]), + (((cref-clevel[0])*0.50)/cdelta2 , [1.0 , 0.5 , 0.0]), + (((cref-clevel[0])*0.75)/cdelta2 , [0.9375, 0.25 , 0.0]), + ((cref-clevel[0])/cdelta2 , [0.75 , 0.0 , 0.0]), + ((cref-clevel[0]+(clevel[-1]-cref)*0.25)/cdelta2, [0.5625, 0.0 , 0.0]), + ((cref-clevel[0]+(clevel[-1]-cref)*0.50)/cdelta2, [0.375 , 0.0 , 0.0]), + ((cref-clevel[0]+(clevel[-1]-cref)*0.75)/cdelta2, [0.1875, 0.0 , 0.0]), + ((clevel[-1]-clevel[0])/cdelta2 , [0.0 , 0.0 , 0.0])] + #-->________________________________________________________________________ + elif cname=='jet': + cmap_def = [(0.0 , [0.0 , 0.0 , 0.5]), + (((cref-clevel[0])*0.25)/cdelta2 , [0.0 , 0.0 , 1.0]), + (((cref-clevel[0])*0.50)/cdelta2 , [0.0 , 0.5 , 1.0]), + (((cref-clevel[0])*0.75)/cdelta2 , [0.0806, 1.0 , 0.8870]), + ((cref-clevel[0])/cdelta2 , [0.4838, 1.0 , 0.4838]), + ((cref-clevel[0]+(clevel[-1]-cref)*0.25)/cdelta2, [0.8870, 1.0 , 0.0806]), + ((cref-clevel[0]+(clevel[-1]-cref)*0.50)/cdelta2, [1.0 , 0.5925, 0.0]), + ((cref-clevel[0]+(clevel[-1]-cref)*0.75)/cdelta2, [1.0 , 0.1296, 0.0]), + ((clevel[-1]-clevel[0])/cdelta2 , [0.5 , 0.0 , 0.0])] + #-->________________________________________________________________________ + elif cname=='jet_w': + cmap_def = [(0.0 , [0.0 , 0.0 , 0.5]), + (((cref-clevel[0])*0.25)/cdelta2 , [0.0 , 0.0 , 1.0]), + (((cref-clevel[0])*0.50)/cdelta2 , [0.0 , 0.5 , 1.0]), + (((cref-clevel[0])*0.75)/cdelta2 , [0.0806, 1.0 , 0.8870]), + ((cref-clevel[0])/cdelta2 , [1.0 , 1.0 , 1.0]), + ((cref-clevel[0]+(clevel[-1]-cref)*0.25)/cdelta2, [0.8870, 1.0 , 0.0806]), + ((cref-clevel[0]+(clevel[-1]-cref)*0.50)/cdelta2, [1.0 , 0.5925, 0.0]), + ((cref-clevel[0]+(clevel[-1]-cref)*0.75)/cdelta2, [1.0 , 0.1296, 0.0]), + ((clevel[-1]-clevel[0])/cdelta2 , [0.5 , 0.0 , 0.0])] + #-->________________________________________________________________________ + elif cname=='hsv': + cmap_def = [(0.0 , [1.0 , 0.0 , 0.0]), + (((cref-clevel[0])*0.25)/cdelta2 , [1.0 , 0.7382, 0.0]), + (((cref-clevel[0])*0.50)/cdelta2 , [0.5236, 1.0 , 0.0]), + (((cref-clevel[0])*0.75)/cdelta2 , [0.0 , 1.0 , 0.2148]), + ((cref-clevel[0])/cdelta2 , [0.0 , 1.0 , 0.9531]), + ((cref-clevel[0]+(clevel[-1]-cref)*0.25)/cdelta2, [0.0 , 0.3085, 1.0]), + ((cref-clevel[0]+(clevel[-1]-cref)*0.50)/cdelta2, [0.4291, 0.0 , 1.0]), + ((cref-clevel[0]+(clevel[-1]-cref)*0.75)/cdelta2, [1.0 , 0.0 , 0.8320]), + ((clevel[-1]-clevel[0])/cdelta2 , [1.0 , 0.0 , 0.0937])] + #-->________________________________________________________________________ + elif cname=='gnuplot': + cmap_def = [(0.0 , [1.0 , 1.0 , 1.0]), + (((cref-clevel[0])*0.25)/cdelta2 , [1.0 , 1.0 , 0.0]), + (((cref-clevel[0])*0.50)/cdelta2 , [0.9354, 0.6699, 0.0]), + (((cref-clevel[0])*0.75)/cdelta2 , [0.8660, 0.4218, 0.0]), + ((cref-clevel[0])/cdelta2 , [0.7905, 0.2441, 0.0]), + ((cref-clevel[0]+(clevel[-1]-cref)*0.25)/cdelta2, [0.7071, 0.125 , 0.0]), + ((cref-clevel[0]+(clevel[-1]-cref)*0.50)/cdelta2, [0.6123, 0.0527, 0.7071]), + ((cref-clevel[0]+(clevel[-1]-cref)*0.75)/cdelta2, [0.5 , 0.0156, 1.0]), + ((clevel[-1]-clevel[0])/cdelta2 , [0.3535, 0.0019, 0.7071])] + #-->________________________________________________________________________ + elif cname=='arc': + cmap_def = [(0.0 , [1.0000, 1.0000, 1.0000]), + (((cref-clevel[0])*0.25)/cdelta2 , [0.6035, 0.8614, 0.7691]), + (((cref-clevel[0])*0.50)/cdelta2 , [0.2462, 0.7346, 0.4610]), + (((cref-clevel[0])*0.75)/cdelta2 , [0.2980, 0.7399, 0.2196]), + ((cref-clevel[0])/cdelta2 , [0.7569, 0.8776, 0.0754]), + ((cref-clevel[0]+(clevel[-1]-cref)*0.25)/cdelta2, [0.9991, 0.9390, 0.0017]), + ((cref-clevel[0]+(clevel[-1]-cref)*0.50)/cdelta2, [0.9830, 0.7386, 0.0353]), + ((cref-clevel[0]+(clevel[-1]-cref)*0.75)/cdelta2, [0.9451, 0.2963, 0.1098]), + ((clevel[-1]-clevel[0])/cdelta2 , [0.9603, 0.4562, 0.5268])] + #-->________________________________________________________________________ + elif cname=='wbgyr': + cmap_def = [(0.0 , [1.0000, 1.0000, 1.0000]), + (((cref-clevel[0])*0.5)/cdelta2 , [0.2000, 0.6000, 1.0000]), + ((cref-clevel[0])/cdelta2 , [0.0 , 1.0000, 0.6000]), + ((cref-clevel[0]+(clevel[-1]-cref)*0.5)/cdelta2 , [1.0000, 1.0000, 0.0]), + ((clevel[-1]-clevel[0])/cdelta2 , [1.0000, 0.0, 0.0])] + #-->________________________________________________________________________ + elif cname=='rygbw': + cmap_def = [(0.0 , [1.0000, 0.0, 0.0]), + (((cref-clevel[0])*0.5)/cdelta2 , [1.0000, 1.0000, 0.0]), + ((cref-clevel[0])/cdelta2 , [0.0 , 1.0000, 0.6000]), + ((cref-clevel[0]+(clevel[-1]-cref)*0.5)/cdelta2 , [0.2000, 0.6000, 1.0000]), + ((clevel[-1]-clevel[0])/cdelta2 , [1.0000, 1.0000, 1.0000])] + + #-->________________________________________________________________________ + elif cname=='odv': + cmap_def = [(0.0 , [0.9373, 0.7765, 0.9373]), + (((cref-clevel[0])*0.25)/cdelta2 , [0.7804, 0.3647, 0.7490]), + (((cref-clevel[0])*0.50)/cdelta2 , [0.1922, 0.2235, 1.0000]), + (((cref-clevel[0])*0.75)/cdelta2 , [0.4824, 0.9686, 0.8706]), + ((cref-clevel[0])/cdelta2 , [0.4980, 1.0000, 0.4980]), + ((cref-clevel[0]+(clevel[-1]-cref)*0.25)/cdelta2, [1.0000, 0.7843, 0.1373]), + ((cref-clevel[0]+(clevel[-1]-cref)*0.50)/cdelta2, [1.0000, 0.0, 0.0]), + ((cref-clevel[0]+(clevel[-1]-cref)*0.75)/cdelta2, [0.8392, 0.0627, 0.1922]), + ((clevel[-1]-clevel[0])/cdelta2 , [1.0000, 0.7765, 0.5804])] + #-->________________________________________________________________________ + elif cname=='odv_w': + cmap_def = [(0.0 , [0.9373, 0.7765, 0.9373]), + (((cref-clevel[0])*0.25)/cdelta2 , [0.7804, 0.3647, 0.7490]), + (((cref-clevel[0])*0.50)/cdelta2 , [0.1922, 0.2235, 1.0000]), + (((cref-clevel[0])*0.75)/cdelta2 , [0.4824, 0.9686, 0.8706]), + ((cref-clevel[0])/cdelta2 , [1.0 , 1.0000, 1.0 ]), + ((cref-clevel[0]+(clevel[-1]-cref)*0.25)/cdelta2, [1.0000, 0.7843, 0.1373]), + ((cref-clevel[0]+(clevel[-1]-cref)*0.50)/cdelta2, [1.0000, 0.0, 0.0]), + ((cref-clevel[0]+(clevel[-1]-cref)*0.75)/cdelta2, [0.8392, 0.0627, 0.1922]), + ((clevel[-1]-clevel[0])/cdelta2 , [1.0000, 0.7765, 0.5804])] + + #-->________________________________________________________________________ + elif cname=='wvt': + cmap_def = [(0.0 , [255.0/255, 255.0/255, 255.0/255]), + (((cref-clevel[0])*0.3333)/cdelta2 , [255.0/255, 255.0/255, 153.0/255]), + (((cref-clevel[0])*0.6666)/cdelta2 , [255.0/255, 204.0/255, 51.0/255]), + ((cref-clevel[0])/cdelta2 , [255.0/255, 177.0/255, 100.0/255]), + ((cref-clevel[0]+(clevel[-1]-cref)*0.3333)/cdelta2, [255.0/255, 102.0/255, 102.0/255]), + ((cref-clevel[0]+(clevel[-1]-cref)*0.6666)/cdelta2, [255.0/255, 51.0/255, 51.0/255]), + ((clevel[-1]-clevel[0])/cdelta2 , [153.0/255, 0.0/255, 51.0/255])] + + #-->________________________________________________________________________ + elif cname=='seaice': + cmap_def = [(0.0 , [153.0/255, 0.0/255, 51.0/255]), + (((cref-clevel[0])*0.25)/cdelta2 , [204.0/255, 0.0/255, 0.0/255]), + (((cref-clevel[0])*0.50)/cdelta2 , [255.0/255, 102.0/255, 102.0/255]), + (((cref-clevel[0])*0.75)/cdelta2 , [255.0/255, 153.0/255, 153.0/255]), + ((cref-clevel[0])/cdelta2 , [255.0/255, 255.0/255, 255.0/255]), + ((cref-clevel[0]+(clevel[-1]-cref)*0.25)/cdelta2, [153.0/255, 255.0/255, 255.0/255]), + ((cref-clevel[0]+(clevel[-1]-cref)*0.50)/cdelta2, [ 0.0/255, 153.0/255, 204.0/255]), + ((cref-clevel[0]+(clevel[-1]-cref)*0.75)/cdelta2, [ 0.0/255, 51.0/255, 204.0/255]), + ((clevel[-1]-clevel[0])/cdelta2 , [ 0.0/255, 51.0/255, 153.0/255])] + + #-->________________________________________________________________________ + elif cname=='seaice_i': + cmap_def = [(0.0 , [ 0.0/255, 51.0/255, 153.0/255]), + (((cref-clevel[0])*0.25)/cdelta2 , [ 0.0/255, 51.0/255, 204.0/255]), + (((cref-clevel[0])*0.50)/cdelta2 , [ 0.0/255, 153.0/255, 204.0/255]), + (((cref-clevel[0])*0.75)/cdelta2 , [153.0/255, 255.0/255, 255.0/255]), + ((cref-clevel[0])/cdelta2 , [255.0/255, 255.0/255, 255.0/255]), + ((cref-clevel[0]+(clevel[-1]-cref)*0.25)/cdelta2, [255.0/255, 153.0/255, 153.0/255]), + ((cref-clevel[0]+(clevel[-1]-cref)*0.50)/cdelta2, [255.0/255, 102.0/255, 102.0/255]), + ((cref-clevel[0]+(clevel[-1]-cref)*0.75)/cdelta2, [204.0/255, 0.0/255, 0.0/255]), + ((clevel[-1]-clevel[0])/cdelta2 , [153.0/255, 0.0/255, 51.0/255])] + + ##-->________________________________________________________________________ + elif cname=='test': + cmap_def = [(0.0 , [0.0, 0.0, 0.0]), + (0.5 , [0.5, 0.5, 0.5]), + (1.0 , [1.0, 1.0, 1.0])] + + ##-->________________________________________________________________________ + #elif cname.find('cmocean.cm')==0: + #nmax = 9 + ##cdict = cmocean.tools.get_dict(cmocean.cm.balance, N=nmax) + #cdict = cmocean.tools.get_dict(eval(cname), N=nmax) + #aux_icref = [0.0, + #((cref-clevel[0])*0.25)/cdelta2, + #((cref-clevel[0])*0.50)/cdelta2, + #((cref-clevel[0])*0.75)/cdelta2, + #(cref-clevel[0])/cdelta2, + #(cref-clevel[0]+(clevel[-1]-cref)*0.25)/cdelta2, + #(cref-clevel[0]+(clevel[-1]-cref)*0.50)/cdelta2, + #(cref-clevel[0]+(clevel[-1]-cref)*0.75)/cdelta2, + #(clevel[-1]-clevel[0])/cdelta2] + + #for ii in range(0,nmax): + #auxr = list(cdict['red'][ii]) + #auxr[0]=aux_icref[ii] + #cdict['red'][ii]=tuple(auxr) + + #auxr = list(cdict['blue'][ii]) + #auxr[0]=aux_icref[ii] + #cdict['blue'][ii]=tuple(auxr) + + #auxr = list(cdict['green'][ii]) + #auxr[0]=aux_icref[ii] + #cdict['green'][ii]=tuple(auxr) + + #-->________________________________________________________________________ + #elif cname=='jet': + #cmap_def = [(0 , []), + #(((cref-clevel[0])*0.25)/cdelta2 , []), + #(((cref-clevel[0])*0.50)/cdelta2 , []), + #(((cref-clevel[0])*0.75)/cdelta2 , []), + #((cref-clevel[0])/cdelta2 , []), + #((cref-clevel[0]+(clevel[-1]-cref)*0.25)/cdelta2, []), + #((cref-clevel[0]+(clevel[-1]-cref)*0.50)/cdelta2, []), + #((cref-clevel[0]+(clevel[-1]-cref)*0.75)/cdelta2, []), + #((clevel[-1]-clevel[0])/cdelta2 , [])] + + #___________________________________________________________________________ + # make python colormap + #print(cmap_def) + #print(cmap_def[0][1]) + #print(cmap_def[1][1]) + + #cdict = [(0.0, 0.0, 0.0), + #(0.5, 0.5, 0.5), + #(1.0, 1.0, 1.0)] - if cname.find('cmocean.cm')==0: - cmap = LinearSegmentedColormap(cname, cdict ,N=clevel.size-1) - cmap.set_under([cdict['red'][0][1],cdict['green'][0][1],cdict['blue'][0][1]] ) - cmap.set_over( [cdict['red'][-1][1],cdict['green'][-1][1],cdict['blue'][-1][1]] ) - else: - cmap = LinearSegmentedColormap.from_list(cname, cmap_def, N=clevel.size-1, gamma=1) - cmap.set_under(cmap_def[0][1]) - cmap.set_over(cmap_def[-1][1]) - - return(cmap,clevel) \ No newline at end of file + #if cname.find('cmocean.cm')==0: + #cmap = LinearSegmentedColormap(cname, cdict ,N=clevel.size-1) + #cmap.set_under([cdict['red'][0][1],cdict['green'][0][1],cdict['blue'][0][1]] ) + #cmap.set_over( [cdict['red'][-1][1],cdict['green'][-1][1],cdict['blue'][-1][1]] ) + #else: + #cmap = LinearSegmentedColormap.from_list(cname, cmap_def, N=clevel.size-1, gamma=1) + #cmap.set_under(cmap_def[0][1]) + #cmap.set_over(cmap_def[-1][1]) + cmap = LinearSegmentedColormap.from_list(cname, cmap_def, N=clevel.size-1, gamma=1) + cmap.set_under(cmap_def[0][1]) + cmap.set_over(cmap_def[-1][1]) + + return(cmap,clevel) diff --git a/view_pscholz/main_plot_horiz.ipynb b/view_pscholz/main_plot_horiz.ipynb index 151c89e65..5a18f6489 100644 --- a/view_pscholz/main_plot_horiz.ipynb +++ b/view_pscholz/main_plot_horiz.ipynb @@ -4,86 +4,76 @@ "cell_type": "code", "execution_count": 1, "metadata": {}, - "outputs": [], - "source": [ - "get_ipython().magic('matplotlib notebook')\n", - "get_ipython().magic('load_ext autoreload')\n", - "get_ipython().magic('autoreload 2')\n", - "import sys\n", - "import numpy as np\n", - "import time\n", - "import matplotlib.pyplot as plt\n", - "import copy as cp\n", - "\n", - "#+____IMPORT FESOM RELATET ROUTINES____________________________________________+\n", - "from set_inputarray import *\n", - "from sub_fesom_mesh import * \n", - "from sub_fesom_mesh import * \n", - "from sub_fesom_data import * \n", - "from sub_fesom_plot import *\n", - "from colormap_c2c import *\n" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", - "___LOAD FESOM MESH lofoten_________________________________________\n", + "___LOAD FESOM MESH COREv2_________________________________________\n", " --> read grid files\n", - " > nod2d.out : #2dn=288362\n", - " > elem2d.out : #2de=571894\n", + " > nod2d.out : #2dn=126858\n", + " > elem2d.out : #2de=244659\n", " > aux3d.out\n", " > nlvls.out\n", " > elvls.out\n", + " --> rotate mesh rot2geo\n", + " --> change mesh focus\n", " --> remove cyclic boundary\n", "_______________________________________________________________\n", + " --> calc. triangle area on nodes m^2 --> calc. triangle area m^2 >> time:0.051 s\n", + " >> time:0.568 s\n", " --> calc landmask contourline\n" ] } ], "source": [ - "#+_____________________________________________________________________________+\n", - "#| |\n", - "#| *** LOAD FVSOM MESH *** |\n", - "#| |\n", - "#+_____________________________________________________________________________+\n", + "#___________________________________________________________________________________________________________________\n", + "get_ipython().magic('matplotlib notebook')\n", + "get_ipython().magic('load_ext autoreload')\n", + "get_ipython().magic('autoreload 2')\n", + "import sys\n", + "import numpy as np\n", + "import time\n", + "import matplotlib.pyplot as plt\n", + "import copy as cp\n", + "from set_inputarray import *\n", + "from sub_fesom_mesh import * \n", + "from sub_fesom_plot import *\n", + "from colormap_c2c import *\n", + "from sub_fesom_data_netcdf4 import * \n", + "from sub_fesom_paperplot import *\n", + "#___________________________________________________________________________________________________________________\n", + "# LOAD FESOM2.0 MESH\n", "# for more options look in set_inputarray.py\n", "inputarray=set_inputarray()\n", - "inputarray['save_fig' ] = False\n", - "inputarray['save_figpath' ] = '/home/ollie/pscholz/figures/poster_TRR181_winterschool/'\n", - "\n", - "\n", + "inputarray['use_cavity'] = False\n", + "# inputarray['use_cavity'] = True\n", "# set plot box for cyl projection (default: [-180,180,-90,90])\n", - "#inputarray['which_box'] = [0,360,-90,90] ; inputarray['mesh_focus']=180\n", - "inputarray['which_box'] = [-180,180,-90,90]\n", - "# inputarray['which_box'] = [-180,180,-90,-55]\n", - "# dx,dy=5.0,20.0\n", - "# inputarray['which_box'] = [0.0-dx,0.0+dx,70.0-dy,70.0+dy]\n", + "# inputarray['which_box'] = [0,360,-90,90] ; inputarray['mesh_focus']=180\n", + "inputarray['which_box'],inputarray['proj'] = [-180,180,-90,90], 'cyl' # 'ortho', 'cyl', 'npstere' , 'spstere'\n", + "#inputarray['which_box'],inputarray['proj'],inputarray['mesh_focus'] = [0,360,-90,90], 'cyl', 180 # 'ortho', 'cyl', 'npstere' , 'spstere'\n", + "\n", + "# inputarray['which_box'],inputarray['proj'] = [-70, 15,-90,-55], 'cyl'\n", + "# inputarray['which_box'],inputarray['proj'] = [-120, -60,-90,-65], 'cyl'\n", + "# inputarray['which_box'],inputarray['proj'] = [-180, 180,78,90], 'npstere'\n", + "# inputarray['which_box'],inputarray['proj'] = [-180, 180,-90,-60], 'spstere'\n", "\n", - "# set projection variable --> the lon/lat projection plot ranges are set via \n", - "# inputarray['which_box'] = [lonmin,lonmax,latmin,latmax]\n", - "# inputarray['proj' ] = 'cyl' # 'ortho', 'cyl', 'npstere' , 'spstere'\n", - "inputarray['proj' ] = 'cyl'\n", - "inputarray['proj_lon' ] = -45 #only for ortho\n", - "inputarray['proj_lat' ] = 45 #only for ortho\n", + "inputarray['mesh_id'],inputarray['mesh_dir'] = 'COREv2','/work/ollie/pscholz/mesh_fesom2.0/core2_meanz/'\n", + "# inputarray['mesh_id'],inputarray['mesh_dir'] = 'mehmet','/work/ollie/pscholz/mesh_fesom2.0/mesh_mehmet_tss/'\n", + "# inputarray['mesh_alpha'],inputarray['mesh_beta'],inputarray['mesh_gamma'] = 0,0,0\n", + "# inputarray['mesh_id'],inputarray['mesh_dir'] = '72k_cavity','/work/ollie/pscholz/mesh_fesom2.0/cavity_72k/'\n", "\n", - "#inputarray['mesh_id'],inputarray['mesh_dir'] = 'COREv2','/work/ollie/pscholz/mesh_fesom2.0/mesh_CORE2_dsidorenko_meanval/'\n", - "inputarray['mesh_id'],inputarray['mesh_dir'], inputarray['mesh_rotate']= 'lofoten','/work/ollie/pscholz/mesh_fesom2.0/lofoten/',False\n", - "#inputarray['mesh_id'],inputarray['mesh_dir'],inputarray['mesh_rotate'] = 'fron','/work/ollie/nkolduno/meshes/fron_2.0_RTopo/',False\n", "try:\n", "\tmesh\n", "except NameError:\n", " mesh = fesom_init_mesh(inputarray)\n", + " mesh.fesom_calc_nodearea()\n", " mesh.fesom_calc_landmask()\n", "else:\n", " if mesh.id!=inputarray['mesh_id']:\n", " mesh = fesom_init_mesh(inputarray)\n", + " mesh.fesom_calc_nodearea()\n", " mesh.fesom_calc_landmask()\n", " else:\n", " print(' --> ___FOUND {} FESOM MESH --> will use it!___________________________'.format(mesh.id)) " @@ -91,7 +81,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 2, "metadata": { "scrolled": false }, @@ -100,9 +90,14 @@ "name": "stdout", "output_type": "stream", "text": [ - " --> calc. triangle resolution in km\n", - " --> calc. triangle area m^2 >> time:0.043 s\n", - " --> calc. triangle area on nodes m^2 >> time:0.897 s\n", + " --> path : ../results/new_linfs/new_fesom_kpp/3/\n", + " --> year/month/rec: [1989, 2009] , [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] , []\n", + " --> depth : [250]\n", + " --> var : temp --> var_list: ['temp', [], []]\n", + " --> nti/nsi/ndi : [1, 126858, 47]\n", + " --> sel_levidx : [15, 16]\n", + " --> sel_timeidx : [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]\n", + "\n", "\n", "___PLOT 2D DATA____________________________________________\n" ] @@ -120,7 +115,7 @@ " } else if (typeof(MozWebSocket) !== 'undefined') {\n", " return MozWebSocket;\n", " } else {\n", - " alert('Your browser does not have WebSocket support.' +\n", + " alert('Your browser does not have WebSocket support. ' +\n", " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", " 'Firefox 4 and 5 are also supported but you ' +\n", " 'have to enable WebSockets in about:config.');\n", @@ -189,7 +184,7 @@ " };\n", "\n", " this.imageObj.onunload = function() {\n", - " this.ws.close();\n", + " fig.ws.close();\n", " }\n", "\n", " this.ws.onmessage = this._make_on_message_function(this);\n", @@ -337,7 +332,7 @@ "mpl.figure.prototype._init_toolbar = function() {\n", " var fig = this;\n", "\n", - " var nav_element = $('
')\n", + " var nav_element = $('
');\n", " nav_element.attr('style', 'width: 100%');\n", " this.root.append(nav_element);\n", "\n", @@ -394,7 +389,7 @@ " var fmt = mpl.extensions[ind];\n", " var option = $(\n", " '