diff --git a/COPYING b/COPYING
new file mode 100644
index 000000000..818433ecc
--- /dev/null
+++ b/COPYING
@@ -0,0 +1,674 @@
+ GNU 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.
+
+ Preamble
+
+ 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
+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 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 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.
+
+ 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.
+
+ 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 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 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
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+
+ Copyright (C)
+
+ 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 3 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, see .
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ Copyright (C)
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+.
+
+ The GNU General Public License does not permit incorporating your program
+into proprietary programs. If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License. But first, please read
+.
diff --git a/Doxyfile b/Doxyfile
new file mode 100644
index 000000000..e6491c8fe
--- /dev/null
+++ b/Doxyfile
@@ -0,0 +1,1679 @@
+# Doxyfile 1.7.3
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project.
+#
+# All text after a hash (#) is considered a comment and will be ignored.
+# The format is:
+# TAG = value [value, ...]
+# For lists items can also be appended using:
+# TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ").
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+
+# This tag specifies the encoding used for all characters in the config file
+# that follow. The default is UTF-8 which is also the encoding used for all
+# text before the first occurrence of this tag. Doxygen uses libiconv (or the
+# iconv built into libc) for the transcoding. See
+# http://www.gnu.org/software/libiconv for the list of possible encodings.
+
+DOXYFILE_ENCODING = UTF-8
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
+# by quotes) that should identify the project.
+
+PROJECT_NAME = "GNSS-SDR"
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number.
+# This could be handy for archiving the generated documentation or
+# if some version control system is used.
+
+PROJECT_NUMBER = 0.1
+
+# Using the PROJECT_BRIEF tag one can provide an optional one line description for a project that appears at the top of each page and should give viewer a quick idea about the purpose of the project. Keep the description short.
+
+PROJECT_BRIEF = "An Open Source GNSS Software Defined Receiver"
+
+# With the PROJECT_LOGO tag one can specify an logo or icon that is
+# included in the documentation. The maximum height of the logo should not
+# exceed 55 pixels and the maximum width should not exceed 200 pixels.
+# Doxygen will copy the logo to the output directory.
+
+PROJECT_LOGO =
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
+# base path where the generated documentation will be put.
+# If a relative path is entered, it will be relative to the location
+# where doxygen was started. If left blank the current directory will be used.
+
+OUTPUT_DIRECTORY = ./docs
+
+# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
+# 4096 sub-directories (in 2 levels) under the output directory of each output
+# format and will distribute the generated files over these directories.
+# Enabling this option can be useful when feeding doxygen a huge amount of
+# source files, where putting all generated files in the same directory would
+# otherwise cause performance problems for the file system.
+
+CREATE_SUBDIRS = NO
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
+# documentation generated by doxygen is written. Doxygen will use this
+# information to generate all constant output in the proper language.
+# The default language is English, other supported languages are:
+# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
+# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,
+# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English
+# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,
+# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak,
+# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
+
+OUTPUT_LANGUAGE = English
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
+# include brief member descriptions after the members that are listed in
+# the file and class documentation (similar to JavaDoc).
+# Set to NO to disable this.
+
+BRIEF_MEMBER_DESC = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
+# the brief description of a member or function before the detailed description.
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
+# brief descriptions will be completely suppressed.
+
+REPEAT_BRIEF = YES
+
+# This tag implements a quasi-intelligent brief description abbreviator
+# that is used to form the text in various listings. Each string
+# in this list, if found as the leading text of the brief description, will be
+# stripped from the text and the result after processing the whole list, is
+# used as the annotated text. Otherwise, the brief description is used as-is.
+# If left blank, the following values are used ("$name" is automatically
+# replaced with the name of the entity): "The $name class" "The $name widget"
+# "The $name file" "is" "provides" "specifies" "contains"
+# "represents" "a" "an" "the"
+
+ABBREVIATE_BRIEF =
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
+# Doxygen will generate a detailed section even if there is only a brief
+# description.
+
+ALWAYS_DETAILED_SEC = NO
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
+# inherited members of a class in the documentation of that class as if those
+# members were ordinary class members. Constructors, destructors and assignment
+# operators of the base classes will not be shown.
+
+INLINE_INHERITED_MEMB = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
+# path before files name in the file list and in the header files. If set
+# to NO the shortest path that makes the file name unique will be used.
+
+FULL_PATH_NAMES = YES
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
+# can be used to strip a user-defined part of the path. Stripping is
+# only done if one of the specified strings matches the left-hand part of
+# the path. The tag can be used to show relative paths in the file list.
+# If left blank the directory from which doxygen is run is used as the
+# path to strip.
+
+STRIP_FROM_PATH =
+
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
+# the path mentioned in the documentation of a class, which tells
+# the reader which header file to include in order to use a class.
+# If left blank only the name of the header file containing the class
+# definition is used. Otherwise one should specify the include paths that
+# are normally passed to the compiler using the -I flag.
+
+STRIP_FROM_INC_PATH =
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
+# (but less readable) file names. This can be useful if your file system
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
+SHORT_NAMES = NO
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
+# will interpret the first line (until the first dot) of a JavaDoc-style
+# comment as the brief description. If set to NO, the JavaDoc
+# comments will behave just like regular Qt-style comments
+# (thus requiring an explicit @brief command for a brief description.)
+
+JAVADOC_AUTOBRIEF = NO
+
+# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
+# interpret the first line (until the first dot) of a Qt-style
+# comment as the brief description. If set to NO, the comments
+# will behave just like regular Qt-style comments (thus requiring
+# an explicit \brief command for a brief description.)
+
+QT_AUTOBRIEF = NO
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
+# treat a multi-line C++ special comment block (i.e. a block of //! or ///
+# comments) as a brief description. This used to be the default behaviour.
+# The new default is to treat a multi-line C++ comment block as a detailed
+# description. Set this tag to YES if you prefer the old behaviour instead.
+
+MULTILINE_CPP_IS_BRIEF = NO
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
+# member inherits the documentation from any documented member that it
+# re-implements.
+
+INHERIT_DOCS = YES
+
+# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
+# a new page for each member. If set to NO, the documentation of a member will
+# be part of the file/class/namespace that contains it.
+
+SEPARATE_MEMBER_PAGES = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab.
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
+TAB_SIZE = 8
+
+# This tag can be used to specify a number of aliases that acts
+# as commands in the documentation. An alias has the form "name=value".
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to
+# put the command \sideeffect (or @sideeffect) in the documentation, which
+# will result in a user-defined paragraph with heading "Side Effects:".
+# You can put \n's in the value part of an alias to insert newlines.
+
+ALIASES =
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
+# sources only. Doxygen will then generate output that is more tailored for C.
+# For instance, some of the names that are used will be different. The list
+# of all members will be omitted, etc.
+
+OPTIMIZE_OUTPUT_FOR_C = NO
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
+# sources only. Doxygen will then generate output that is more tailored for
+# Java. For instance, namespaces will be presented as packages, qualified
+# scopes will look different, etc.
+
+OPTIMIZE_OUTPUT_JAVA = NO
+
+# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
+# sources only. Doxygen will then generate output that is more tailored for
+# Fortran.
+
+OPTIMIZE_FOR_FORTRAN = NO
+
+# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
+# sources. Doxygen will then generate output that is tailored for
+# VHDL.
+
+OPTIMIZE_OUTPUT_VHDL = NO
+
+# Doxygen selects the parser to use depending on the extension of the files it
+# parses. With this tag you can assign which parser to use for a given extension.
+# Doxygen has a built-in mapping, but you can override or extend it using this
+# tag. The format is ext=language, where ext is a file extension, and language
+# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C,
+# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make
+# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C
+# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions
+# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen.
+
+EXTENSION_MAPPING =
+
+# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
+# to include (a tag file for) the STL sources as input, then you should
+# set this tag to YES in order to let doxygen match functions declarations and
+# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
+# func(std::string) {}). This also makes the inheritance and collaboration
+# diagrams that involve STL classes more complete and accurate.
+
+BUILTIN_STL_SUPPORT = YES
+
+# If you use Microsoft's C++/CLI language, you should set this option to YES to
+# enable parsing support.
+
+CPP_CLI_SUPPORT = NO
+
+# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
+# Doxygen will parse them like normal C++ but will assume all classes use public
+# instead of private inheritance when no explicit protection keyword is present.
+
+SIP_SUPPORT = NO
+
+# For Microsoft's IDL there are propget and propput attributes to indicate getter
+# and setter methods for a property. Setting this option to YES (the default)
+# will make doxygen replace the get and set methods by a property in the
+# documentation. This will only work if the methods are indeed getting or
+# setting a simple type. If this is not the case, or you want to show the
+# methods anyway, you should set this option to NO.
+
+IDL_PROPERTY_SUPPORT = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
+# tag is set to YES, then doxygen will reuse the documentation of the first
+# member in the group (if any) for the other members of the group. By default
+# all members of a group must be documented explicitly.
+
+DISTRIBUTE_GROUP_DOC = NO
+
+# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
+# the same type (for instance a group of public functions) to be put as a
+# subgroup of that type (e.g. under the Public Functions section). Set it to
+# NO to prevent subgrouping. Alternatively, this can be done per class using
+# the \nosubgrouping command.
+
+SUBGROUPING = YES
+
+# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
+# is documented as struct, union, or enum with the name of the typedef. So
+# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
+# with name TypeT. When disabled the typedef will appear as a member of a file,
+# namespace, or class. And the struct will be named TypeS. This can typically
+# be useful for C code in case the coding convention dictates that all compound
+# types are typedef'ed and only the typedef is referenced, never the tag name.
+
+TYPEDEF_HIDES_STRUCT = NO
+
+# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
+# determine which symbols to keep in memory and which to flush to disk.
+# When the cache is full, less often used symbols will be written to disk.
+# For small to medium size projects (<1000 input files) the default value is
+# probably good enough. For larger projects a too small cache size can cause
+# doxygen to be busy swapping symbols to and from disk most of the time
+# causing a significant performance penalty.
+# If the system has enough physical memory increasing the cache will improve the
+# performance by keeping more symbols in memory. Note that the value works on
+# a logarithmic scale so increasing the size by one will roughly double the
+# memory usage. The cache size is given by this formula:
+# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
+# corresponding to a cache size of 2^16 = 65536 symbols
+
+SYMBOL_CACHE_SIZE = 0
+
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
+# documentation are documented, even if no documentation was available.
+# Private class members and static file members will be hidden unless
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+
+EXTRACT_ALL = NO
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
+# will be included in the documentation.
+
+EXTRACT_PRIVATE = NO
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file
+# will be included in the documentation.
+
+EXTRACT_STATIC = NO
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
+# defined locally in source files will be included in the documentation.
+# If set to NO only classes defined in header files are included.
+
+EXTRACT_LOCAL_CLASSES = YES
+
+# This flag is only useful for Objective-C code. When set to YES local
+# methods, which are defined in the implementation section but not in
+# the interface are included in the documentation.
+# If set to NO (the default) only methods in the interface are included.
+
+EXTRACT_LOCAL_METHODS = NO
+
+# If this flag is set to YES, the members of anonymous namespaces will be
+# extracted and appear in the documentation as a namespace called
+# 'anonymous_namespace{file}', where file will be replaced with the base
+# name of the file that contains the anonymous namespace. By default
+# anonymous namespaces are hidden.
+
+EXTRACT_ANON_NSPACES = NO
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
+# undocumented members of documented classes, files or namespaces.
+# If set to NO (the default) these members will be included in the
+# various overviews, but no documentation section is generated.
+# This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_MEMBERS = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
+# undocumented classes that are normally visible in the class hierarchy.
+# If set to NO (the default) these classes will be included in the various
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_CLASSES = NO
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
+# friend (class|struct|union) declarations.
+# If set to NO (the default) these declarations will be included in the
+# documentation.
+
+HIDE_FRIEND_COMPOUNDS = NO
+
+# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
+# documentation blocks found inside the body of a function.
+# If set to NO (the default) these blocks will be appended to the
+# function's detailed documentation block.
+
+HIDE_IN_BODY_DOCS = NO
+
+# The INTERNAL_DOCS tag determines if documentation
+# that is typed after a \internal command is included. If the tag is set
+# to NO (the default) then the documentation will be excluded.
+# Set it to YES to include the internal documentation.
+
+INTERNAL_DOCS = NO
+
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
+# file names in lower-case letters. If set to YES upper-case letters are also
+# allowed. This is useful if you have classes or files whose names only differ
+# in case and if your file system supports case sensitive file names. Windows
+# and Mac users are advised to set this option to NO.
+
+CASE_SENSE_NAMES = YES
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
+# will show members with their full class and namespace scopes in the
+# documentation. If set to YES the scope will be hidden.
+
+HIDE_SCOPE_NAMES = NO
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
+# will put a list of the files that are included by a file in the documentation
+# of that file.
+
+SHOW_INCLUDE_FILES = YES
+
+# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen
+# will list include files with double quotes in the documentation
+# rather than with sharp brackets.
+
+FORCE_LOCAL_INCLUDES = NO
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
+# is inserted in the documentation for inline members.
+
+INLINE_INFO = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
+# will sort the (detailed) documentation of file and class members
+# alphabetically by member name. If set to NO the members will appear in
+# declaration order.
+
+SORT_MEMBER_DOCS = YES
+
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
+# brief documentation of file, namespace and class members alphabetically
+# by member name. If set to NO (the default) the members will appear in
+# declaration order.
+
+SORT_BRIEF_DOCS = NO
+
+# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen
+# will sort the (brief and detailed) documentation of class members so that
+# constructors and destructors are listed first. If set to NO (the default)
+# the constructors will appear in the respective orders defined by
+# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS.
+# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO
+# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
+
+SORT_MEMBERS_CTORS_1ST = NO
+
+# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
+# hierarchy of group names into alphabetical order. If set to NO (the default)
+# the group names will appear in their defined order.
+
+SORT_GROUP_NAMES = NO
+
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
+# sorted by fully-qualified names, including namespaces. If set to
+# NO (the default), the class list will be sorted only by class name,
+# not including the namespace part.
+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
+# Note: This option applies only to the class list, not to the
+# alphabetical list.
+
+SORT_BY_SCOPE_NAME = NO
+
+# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper type resolution of all parameters of a function it will reject a
+# match between the prototype and the implementation of a member function even if there is only one candidate or it is obvious which candidate to choose by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen
+# will still accept a match between prototype and implementation in such cases.
+
+STRICT_PROTO_MATCHING = NO
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or
+# disable (NO) the todo list. This list is created by putting \todo
+# commands in the documentation.
+
+GENERATE_TODOLIST = YES
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or
+# disable (NO) the test list. This list is created by putting \test
+# commands in the documentation.
+
+GENERATE_TESTLIST = YES
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or
+# disable (NO) the bug list. This list is created by putting \bug
+# commands in the documentation.
+
+GENERATE_BUGLIST = YES
+
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
+# disable (NO) the deprecated list. This list is created by putting
+# \deprecated commands in the documentation.
+
+GENERATE_DEPRECATEDLIST= YES
+
+# The ENABLED_SECTIONS tag can be used to enable conditional
+# documentation sections, marked by \if sectionname ... \endif.
+
+ENABLED_SECTIONS =
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
+# the initial value of a variable or macro consists of for it to appear in
+# the documentation. If the initializer consists of more lines than specified
+# here it will be hidden. Use a value of 0 to hide initializers completely.
+# The appearance of the initializer of individual variables and macros in the
+# documentation can be controlled using \showinitializer or \hideinitializer
+# command in the documentation regardless of this setting.
+
+MAX_INITIALIZER_LINES = 30
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
+# at the bottom of the documentation of classes and structs. If set to YES the
+# list will mention the files that were used to generate the documentation.
+
+SHOW_USED_FILES = YES
+
+# If the sources in your project are distributed over multiple directories
+# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
+# in the documentation. The default is NO.
+
+SHOW_DIRECTORIES = NO
+
+# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
+# This will remove the Files entry from the Quick Index and from the
+# Folder Tree View (if specified). The default is YES.
+
+SHOW_FILES = YES
+
+# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
+# Namespaces page.
+# This will remove the Namespaces entry from the Quick Index
+# and from the Folder Tree View (if specified). The default is YES.
+
+SHOW_NAMESPACES = YES
+
+# The FILE_VERSION_FILTER tag can be used to specify a program or script that
+# doxygen should invoke to get the current version for each file (typically from
+# the version control system). Doxygen will invoke the program by executing (via
+# popen()) the command , where is the value of
+# the FILE_VERSION_FILTER tag, and is the name of an input file
+# provided by doxygen. Whatever the program writes to standard output
+# is used as the file version. See the manual for examples.
+
+FILE_VERSION_FILTER =
+
+# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
+# by doxygen. The layout file controls the global structure of the generated
+# output files in an output format independent way. The create the layout file
+# that represents doxygen's defaults, run doxygen with the -l option.
+# You can optionally specify a file name after the option, if omitted
+# DoxygenLayout.xml will be used as the name of the layout file.
+
+LAYOUT_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
+
+QUIET = NO
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are
+# generated by doxygen. Possible values are YES and NO. If left blank
+# NO is used.
+
+WARNINGS = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
+# automatically be disabled.
+
+WARN_IF_UNDOCUMENTED = YES
+
+# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
+# potential errors in the documentation, such as not documenting some
+# parameters in a documented function, or documenting parameters that
+# don't exist or using markup commands wrongly.
+
+WARN_IF_DOC_ERROR = YES
+
+# The WARN_NO_PARAMDOC option can be enabled to get warnings for
+# functions that are documented, but have no documentation for their parameters
+# or return value. If set to NO (the default) doxygen will only warn about
+# wrong or incomplete parameter documentation, but not about the absence of
+# documentation.
+
+WARN_NO_PARAMDOC = NO
+
+# The WARN_FORMAT tag determines the format of the warning messages that
+# doxygen can produce. The string should contain the $file, $line, and $text
+# tags, which will be replaced by the file and line number from which the
+# warning originated and the warning text. Optionally the format may contain
+# $version, which will be replaced by the version of the file (if it could
+# be obtained via FILE_VERSION_FILTER)
+
+WARN_FORMAT = "$file:$line: $text"
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning
+# and error messages should be written. If left blank the output is written
+# to stderr.
+
+WARN_LOGFILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain
+# documented source files. You may enter file names like "myfile.cpp" or
+# directories like "/usr/src/myproject". Separate the files or directories
+# with spaces.
+
+INPUT = src
+
+# This tag can be used to specify the character encoding of the source files
+# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
+# also the default input encoding. Doxygen uses libiconv (or the iconv built
+# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
+# the list of possible encodings.
+
+INPUT_ENCODING = UTF-8
+
+# If the value of the INPUT tag contains directories, you can use the
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank the following patterns are tested:
+# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh
+# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py
+# *.f90 *.f *.for *.vhd *.vhdl
+
+FILE_PATTERNS =
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories
+# should be searched for input files as well. Possible values are YES and NO.
+# If left blank NO is used.
+
+RECURSIVE = YES
+
+# The EXCLUDE tag can be used to specify files and/or directories that should
+# excluded from the INPUT source files. This way you can easily exclude a
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+
+EXCLUDE =
+
+# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
+# directories that are symbolic links (a Unix file system feature) are excluded
+# from the input.
+
+EXCLUDE_SYMLINKS = NO
+
+# If the value of the INPUT tag contains directories, you can use the
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
+# certain files from those directories. Note that the wildcards are matched
+# against the file with absolute path, so to exclude all test directories
+# for example use the pattern */test/*
+
+EXCLUDE_PATTERNS =
+
+# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
+# (namespaces, classes, functions, etc.) that should be excluded from the
+# output. The symbol name can be a fully qualified name, a word, or if the
+# wildcard * is used, a substring. Examples: ANamespace, AClass,
+# AClass::ANamespace, ANamespace::*Test
+
+EXCLUDE_SYMBOLS =
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or
+# directories that contain example code fragments that are included (see
+# the \include command).
+
+EXAMPLE_PATH =
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank all files are included.
+
+EXAMPLE_PATTERNS =
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
+# searched for input files to be used with the \include or \dontinclude
+# commands irrespective of the value of the RECURSIVE tag.
+# Possible values are YES and NO. If left blank NO is used.
+
+EXAMPLE_RECURSIVE = NO
+
+# The IMAGE_PATH tag can be used to specify one or more files or
+# directories that contain image that are included in the documentation (see
+# the \image command).
+
+IMAGE_PATH =
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should
+# invoke to filter for each input file. Doxygen will invoke the filter program
+# by executing (via popen()) the command , where
+# is the value of the INPUT_FILTER tag, and is the name of an
+# input file. Doxygen will then use the output that the filter program writes
+# to standard output.
+# If FILTER_PATTERNS is specified, this tag will be
+# ignored.
+
+INPUT_FILTER =
+
+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
+# basis.
+# Doxygen will compare the file name with each pattern and apply the
+# filter if there is a match.
+# The filters are a list of the form:
+# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
+# info on how filters are used. If FILTER_PATTERNS is empty or if
+# non of the patterns match the file name, INPUT_FILTER is applied.
+
+FILTER_PATTERNS =
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
+# INPUT_FILTER) will be used to filter the input files when producing source
+# files to browse (i.e. when SOURCE_BROWSER is set to YES).
+
+FILTER_SOURCE_FILES = NO
+
+# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
+# pattern. A pattern will override the setting for FILTER_PATTERN (if any)
+# and it is also possible to disable source filtering for a specific pattern
+# using *.ext= (so without naming a filter). This option only has effect when
+# FILTER_SOURCE_FILES is enabled.
+
+FILTER_SOURCE_PATTERNS =
+
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will
+# be generated. Documented entities will be cross-referenced with these sources.
+# Note: To get rid of all source code in the generated output, make sure also
+# VERBATIM_HEADERS is set to NO.
+
+SOURCE_BROWSER = YES
+
+# Setting the INLINE_SOURCES tag to YES will include the body
+# of functions and classes directly in the documentation.
+
+INLINE_SOURCES = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
+# doxygen to hide any special comment blocks from generated source code
+# fragments. Normal C and C++ comments will always remain visible.
+
+STRIP_CODE_COMMENTS = YES
+
+# If the REFERENCED_BY_RELATION tag is set to YES
+# then for each documented function all documented
+# functions referencing it will be listed.
+
+REFERENCED_BY_RELATION = YES
+
+# If the REFERENCES_RELATION tag is set to YES
+# then for each documented function all documented entities
+# called/used by that function will be listed.
+
+REFERENCES_RELATION = YES
+
+# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
+# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
+# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
+# link to the source code.
+# Otherwise they will link to the documentation.
+
+REFERENCES_LINK_SOURCE = YES
+
+# If the USE_HTAGS tag is set to YES then the references to source code
+# will point to the HTML generated by the htags(1) tool instead of doxygen
+# built-in source browser. The htags tool is part of GNU's global source
+# tagging system (see http://www.gnu.org/software/global/global.html). You
+# will need version 4.8.6 or higher.
+
+USE_HTAGS = NO
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
+# will generate a verbatim copy of the header file for each class for
+# which an include is specified. Set to NO to disable this.
+
+VERBATIM_HEADERS = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
+# of all compounds will be generated. Enable this if the project
+# contains a lot of classes, structs, unions or interfaces.
+
+ALPHABETICAL_INDEX = YES
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
+# in which this list will be split (can be a number in the range [1..20])
+
+COLS_IN_ALPHA_INDEX = 5
+
+# In case all classes in a project start with a common prefix, all
+# classes will be put under the same header in the alphabetical index.
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
+# should be ignored while generating the index headers.
+
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
+# generate HTML output.
+
+GENERATE_HTML = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `html' will be used as the default path.
+
+HTML_OUTPUT = html
+
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
+# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
+# doxygen will generate files with .html extension.
+
+HTML_FILE_EXTENSION = .html
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard header.
+
+HTML_HEADER =
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard footer.
+
+HTML_FOOTER =
+
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
+# style sheet that is used by each HTML page. It can be used to
+# fine-tune the look of the HTML output. If the tag is left blank doxygen
+# will generate a default style sheet. Note that doxygen will try to copy
+# the style sheet file to the HTML output directory, so don't put your own
+# stylesheet in the HTML output directory as well, or it will be erased!
+
+HTML_STYLESHEET =
+
+# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output.
+# Doxygen will adjust the colors in the stylesheet and background images
+# according to this color. Hue is specified as an angle on a colorwheel,
+# see http://en.wikipedia.org/wiki/Hue for more information.
+# For instance the value 0 represents red, 60 is yellow, 120 is green,
+# 180 is cyan, 240 is blue, 300 purple, and 360 is red again.
+# The allowed range is 0 to 359.
+
+HTML_COLORSTYLE_HUE = 220
+
+# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of
+# the colors in the HTML output. For a value of 0 the output will use
+# grayscales only. A value of 255 will produce the most vivid colors.
+
+HTML_COLORSTYLE_SAT = 100
+
+# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to
+# the luminance component of the colors in the HTML output. Values below
+# 100 gradually make the output lighter, whereas values above 100 make
+# the output darker. The value divided by 100 is the actual gamma applied,
+# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2,
+# and 100 does not change the gamma.
+
+HTML_COLORSTYLE_GAMMA = 80
+
+# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
+# page will contain the date and time when the page was generated. Setting
+# this to NO can help when comparing the output of multiple runs.
+
+HTML_TIMESTAMP = YES
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
+# files or namespaces will be aligned in HTML using tables. If set to
+# NO a bullet list will be used.
+
+HTML_ALIGN_MEMBERS = YES
+
+# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
+# documentation will contain sections that can be hidden and shown after the
+# page has loaded. For this to work a browser that supports
+# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
+# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
+
+HTML_DYNAMIC_SECTIONS = NO
+
+# If the GENERATE_DOCSET tag is set to YES, additional index files
+# will be generated that can be used as input for Apple's Xcode 3
+# integrated development environment, introduced with OSX 10.5 (Leopard).
+# To create a documentation set, doxygen will generate a Makefile in the
+# HTML output directory. Running make will produce the docset in that
+# directory and running "make install" will install the docset in
+# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
+# it at startup.
+# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
+# for more information.
+
+GENERATE_DOCSET = NO
+
+# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
+# feed. A documentation feed provides an umbrella under which multiple
+# documentation sets from a single provider (such as a company or product suite)
+# can be grouped.
+
+DOCSET_FEEDNAME = "Doxygen generated docs"
+
+# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
+# should uniquely identify the documentation set bundle. This should be a
+# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
+# will append .docset to the name.
+
+DOCSET_BUNDLE_ID = org.doxygen.Project
+
+# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify
+# the documentation publisher. This should be a reverse domain-name style
+# string, e.g. com.mycompany.MyDocSet.documentation.
+
+DOCSET_PUBLISHER_ID = org.doxygen.Publisher
+
+# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher.
+
+DOCSET_PUBLISHER_NAME = Publisher
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files
+# will be generated that can be used as input for tools like the
+# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
+# of the generated HTML documentation.
+
+GENERATE_HTMLHELP = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
+# be used to specify the file name of the resulting .chm file. You
+# can add a path in front of the file if the result should not be
+# written to the html output directory.
+
+CHM_FILE =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
+# be used to specify the location (absolute path including file name) of
+# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
+# the HTML help compiler on the generated index.hhp.
+
+HHC_LOCATION =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
+# controls if a separate .chi index file is generated (YES) or that
+# it should be included in the master .chm file (NO).
+
+GENERATE_CHI = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
+# is used to encode HtmlHelp index (hhk), content (hhc) and project file
+# content.
+
+CHM_INDEX_ENCODING =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
+# controls whether a binary table of contents is generated (YES) or a
+# normal table of contents (NO) in the .chm file.
+
+BINARY_TOC = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members
+# to the contents of the HTML help documentation and to the tree view.
+
+TOC_EXPAND = NO
+
+# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
+# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated
+# that can be used as input for Qt's qhelpgenerator to generate a
+# Qt Compressed Help (.qch) of the generated HTML documentation.
+
+GENERATE_QHP = NO
+
+# If the QHG_LOCATION tag is specified, the QCH_FILE tag can
+# be used to specify the file name of the resulting .qch file.
+# The path specified is relative to the HTML output folder.
+
+QCH_FILE =
+
+# The QHP_NAMESPACE tag specifies the namespace to use when generating
+# Qt Help Project output. For more information please see
+# http://doc.trolltech.com/qthelpproject.html#namespace
+
+QHP_NAMESPACE = org.doxygen.Project
+
+# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
+# Qt Help Project output. For more information please see
+# http://doc.trolltech.com/qthelpproject.html#virtual-folders
+
+QHP_VIRTUAL_FOLDER = doc
+
+# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to
+# add. For more information please see
+# http://doc.trolltech.com/qthelpproject.html#custom-filters
+
+QHP_CUST_FILTER_NAME =
+
+# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the
+# custom filter to add. For more information please see
+#
+# Qt Help Project / Custom Filters.
+
+QHP_CUST_FILTER_ATTRS =
+
+# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
+# project's
+# filter section matches.
+#
+# Qt Help Project / Filter Attributes.
+
+QHP_SECT_FILTER_ATTRS =
+
+# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
+# be used to specify the location of Qt's qhelpgenerator.
+# If non-empty doxygen will try to run qhelpgenerator on the generated
+# .qhp file.
+
+QHG_LOCATION =
+
+# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files
+# will be generated, which together with the HTML files, form an Eclipse help
+# plugin. To install this plugin and make it available under the help contents
+# menu in Eclipse, the contents of the directory containing the HTML and XML
+# files needs to be copied into the plugins directory of eclipse. The name of
+# the directory within the plugins directory should be the same as
+# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before
+# the help appears.
+
+GENERATE_ECLIPSEHELP = NO
+
+# A unique identifier for the eclipse help plugin. When installing the plugin
+# the directory name containing the HTML and XML files should also have
+# this name.
+
+ECLIPSE_DOC_ID = org.doxygen.Project
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
+# top of each HTML page. The value NO (the default) enables the index and
+# the value YES disables it.
+
+DISABLE_INDEX = NO
+
+# This tag can be used to set the number of enum values (range [0,1..20])
+# that doxygen will group on one line in the generated HTML documentation.
+# Note that a value of 0 will completely suppress the enum values from appearing in the overview section.
+
+ENUM_VALUES_PER_LINE = 4
+
+# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
+# structure should be generated to display hierarchical information.
+# If the tag value is set to YES, a side panel will be generated
+# containing a tree-like index structure (just like the one that
+# is generated for HTML Help). For this to work a browser that supports
+# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
+# Windows users are probably better off using the HTML help feature.
+
+GENERATE_TREEVIEW = NO
+
+# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,
+# and Class Hierarchy pages using a tree view instead of an ordered list.
+
+USE_INLINE_TREES = NO
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
+# used to set the initial width (in pixels) of the frame in which the tree
+# is shown.
+
+TREEVIEW_WIDTH = 250
+
+# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open
+# links to external symbols imported via tag files in a separate window.
+
+EXT_LINKS_IN_WINDOW = NO
+
+# Use this tag to change the font size of Latex formulas included
+# as images in the HTML documentation. The default is 10. Note that
+# when you change the font size after a successful doxygen run you need
+# to manually remove any form_*.png images from the HTML output directory
+# to force them to be regenerated.
+
+FORMULA_FONTSIZE = 10
+
+# Use the FORMULA_TRANPARENT tag to determine whether or not the images
+# generated for formulas are transparent PNGs. Transparent PNGs are
+# not supported properly for IE 6.0, but are supported on all modern browsers.
+# Note that when changing this option you need to delete any form_*.png files
+# in the HTML output before the changes have effect.
+
+FORMULA_TRANSPARENT = YES
+
+# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax
+# (see http://www.mathjax.org) which uses client side Javascript for the
+# rendering instead of using prerendered bitmaps. Use this if you do not
+# have LaTeX installed or if you want to formulas look prettier in the HTML
+# output. When enabled you also need to install MathJax separately and
+# configure the path to it using the MATHJAX_RELPATH option.
+
+USE_MATHJAX = NO
+
+# When MathJax is enabled you need to specify the location relative to the
+# HTML output directory using the MATHJAX_RELPATH option. The destination
+# directory should contain the MathJax.js script. For instance, if the mathjax
+# directory is located at the same level as the HTML output directory, then
+# MATHJAX_RELPATH should be ../mathjax. The default value points to the mathjax.org site, so you can quickly see the result without installing
+# MathJax, but it is strongly recommended to install a local copy of MathJax
+# before deployment.
+
+MATHJAX_RELPATH = http://www.mathjax.org/mathjax
+
+# When the SEARCHENGINE tag is enabled doxygen will generate a search box
+# for the HTML output. The underlying search engine uses javascript
+# and DHTML and should work on any modern browser. Note that when using
+# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets
+# (GENERATE_DOCSET) there is already a search function so this one should
+# typically be disabled. For large projects the javascript based search engine
+# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.
+
+SEARCHENGINE = YES
+
+# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
+# implemented using a PHP enabled web server instead of at the web client
+# using Javascript. Doxygen will generate the search PHP script and index
+# file to put on the web server. The advantage of the server
+# based approach is that it scales better to large projects and allows
+# full text search. The disadvantages are that it is more difficult to setup
+# and does not have live searching capabilities.
+
+SERVER_BASED_SEARCH = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
+# generate Latex output.
+
+GENERATE_LATEX = YES
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `latex' will be used as the default path.
+
+LATEX_OUTPUT = latex
+
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
+# invoked. If left blank `latex' will be used as the default command name.
+# Note that when enabling USE_PDFLATEX this option is only used for
+# generating bitmaps for formulas in the HTML output, but not in the
+# Makefile that is written to the output directory.
+
+LATEX_CMD_NAME = latex
+
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
+# generate index for LaTeX. If left blank `makeindex' will be used as the
+# default command name.
+
+MAKEINDEX_CMD_NAME = makeindex
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
+# LaTeX documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_LATEX = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used
+# by the printer. Possible values are: a4, letter, legal and
+# executive. If left blank a4wide will be used.
+
+PAPER_TYPE = a4
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
+# packages that should be included in the LaTeX output.
+
+EXTRA_PACKAGES =
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
+# the generated latex document. The header should contain everything until
+# the first chapter. If it is left blank doxygen will generate a
+# standard header. Notice: only use this tag if you know what you are doing!
+
+LATEX_HEADER =
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will
+# contain links (just like the HTML output) instead of page references
+# This makes the output suitable for online browsing using a pdf viewer.
+
+PDF_HYPERLINKS = YES
+
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
+# plain latex in the generated Makefile. Set this option to YES to get a
+# higher quality PDF documentation.
+
+USE_PDFLATEX = YES
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
+# command to the generated LaTeX files. This will instruct LaTeX to keep
+# running if errors occur, instead of asking the user for help.
+# This option is also used when generating formulas in HTML.
+
+LATEX_BATCHMODE = NO
+
+# If LATEX_HIDE_INDICES is set to YES then doxygen will not
+# include the index chapters (such as File Index, Compound Index, etc.)
+# in the output.
+
+LATEX_HIDE_INDICES = NO
+
+# If LATEX_SOURCE_CODE is set to YES then doxygen will include
+# source code with syntax highlighting in the LaTeX output.
+# Note that which sources are shown also depends on other settings
+# such as SOURCE_BROWSER.
+
+LATEX_SOURCE_CODE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
+# The RTF output is optimized for Word 97 and may not look very pretty with
+# other RTF readers or editors.
+
+GENERATE_RTF = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `rtf' will be used as the default path.
+
+RTF_OUTPUT = rtf
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
+# RTF documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_RTF = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
+# will contain hyperlink fields. The RTF file will
+# contain links (just like the HTML output) instead of page references.
+# This makes the output suitable for online browsing using WORD or other
+# programs which support those fields.
+# Note: wordpad (write) and others do not support links.
+
+RTF_HYPERLINKS = NO
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's
+# config file, i.e. a series of assignments. You only have to provide
+# replacements, missing definitions are set to their default value.
+
+RTF_STYLESHEET_FILE =
+
+# Set optional variables used in the generation of an rtf document.
+# Syntax is similar to doxygen's config file.
+
+RTF_EXTENSIONS_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
+# generate man pages
+
+GENERATE_MAN = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `man' will be used as the default path.
+
+MAN_OUTPUT = man
+
+# The MAN_EXTENSION tag determines the extension that is added to
+# the generated man pages (default is the subroutine's section .3)
+
+MAN_EXTENSION = .3
+
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
+# then it will generate one additional man file for each entity
+# documented in the real man page(s). These additional files
+# only source the real man page, but without them the man command
+# would be unable to find the correct page. The default is NO.
+
+MAN_LINKS = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will
+# generate an XML file that captures the structure of
+# the code including all documentation.
+
+GENERATE_XML = NO
+
+# The XML_OUTPUT tag is used to specify where the XML pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `xml' will be used as the default path.
+
+XML_OUTPUT = xml
+
+# The XML_SCHEMA tag can be used to specify an XML schema,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_SCHEMA =
+
+# The XML_DTD tag can be used to specify an XML DTD,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_DTD =
+
+# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
+# dump the program listings (including syntax highlighting
+# and cross-referencing information) to the XML output. Note that
+# enabling this will significantly increase the size of the XML output.
+
+XML_PROGRAMLISTING = YES
+
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
+# generate an AutoGen Definitions (see autogen.sf.net) file
+# that captures the structure of the code including all
+# documentation. Note that this feature is still experimental
+# and incomplete at the moment.
+
+GENERATE_AUTOGEN_DEF = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_PERLMOD tag is set to YES Doxygen will
+# generate a Perl module file that captures the structure of
+# the code including all documentation. Note that this
+# feature is still experimental and incomplete at the
+# moment.
+
+GENERATE_PERLMOD = NO
+
+# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
+# the necessary Makefile rules, Perl scripts and LaTeX code to be able
+# to generate PDF and DVI output from the Perl module output.
+
+PERLMOD_LATEX = NO
+
+# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
+# nicely formatted so it can be parsed by a human reader.
+# This is useful
+# if you want to understand what is going on.
+# On the other hand, if this
+# tag is set to NO the size of the Perl module output will be much smaller
+# and Perl will parse it just the same.
+
+PERLMOD_PRETTY = YES
+
+# The names of the make variables in the generated doxyrules.make file
+# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
+# This is useful so different doxyrules.make files included by the same
+# Makefile don't overwrite each other's variables.
+
+PERLMOD_MAKEVAR_PREFIX =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
+# evaluate all C-preprocessor directives found in the sources and include
+# files.
+
+ENABLE_PREPROCESSING = YES
+
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
+# names in the source code. If set to NO (the default) only conditional
+# compilation will be performed. Macro expansion can be done in a controlled
+# way by setting EXPAND_ONLY_PREDEF to YES.
+
+MACRO_EXPANSION = NO
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
+# then the macro expansion is limited to the macros specified with the
+# PREDEFINED and EXPAND_AS_DEFINED tags.
+
+EXPAND_ONLY_PREDEF = NO
+
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
+# in the INCLUDE_PATH (see below) will be search if a #include is found.
+
+SEARCH_INCLUDES = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that
+# contain include files that are not input files but should be processed by
+# the preprocessor.
+
+INCLUDE_PATH =
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
+# patterns (like *.h and *.hpp) to filter out the header-files in the
+# directories. If left blank, the patterns specified with FILE_PATTERNS will
+# be used.
+
+INCLUDE_FILE_PATTERNS =
+
+# The PREDEFINED tag can be used to specify one or more macro names that
+# are defined before the preprocessor is started (similar to the -D option of
+# gcc). The argument of the tag is a list of macros of the form: name
+# or name=definition (no spaces). If the definition and the = are
+# omitted =1 is assumed. To prevent a macro definition from being
+# undefined via #undef or recursively expanded use the := operator
+# instead of the = operator.
+
+PREDEFINED =
+
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
+# this tag can be used to specify a list of macro names that should be expanded.
+# The macro definition that is found in the sources will be used.
+# Use the PREDEFINED tag if you want to use a different macro definition that overrules the definition found in the source code.
+
+EXPAND_AS_DEFINED =
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
+# doxygen's preprocessor will remove all references to function-like macros
+# that are alone on a line, have an all uppercase name, and do not end with a
+# semicolon, because these will confuse the parser if not removed.
+
+SKIP_FUNCTION_MACROS = YES
+
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references
+#---------------------------------------------------------------------------
+
+# The TAGFILES option can be used to specify one or more tagfiles.
+# Optionally an initial location of the external documentation
+# can be added for each tagfile. The format of a tag file without
+# this location is as follows:
+#
+# TAGFILES = file1 file2 ...
+# Adding location for the tag files is done as follows:
+#
+# TAGFILES = file1=loc1 "file2 = loc2" ...
+# where "loc1" and "loc2" can be relative or absolute paths or
+# URLs. If a location is present for each tag, the installdox tool
+# does not have to be run to correct the links.
+# Note that each tag file must have a unique name
+# (where the name does NOT include the path)
+# If a tag file is not located in the directory in which doxygen
+# is run, you must also specify the path to the tagfile here.
+
+TAGFILES =
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create
+# a tag file that is based on the input files it reads.
+
+GENERATE_TAGFILE =
+
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed
+# in the class index. If set to NO only the inherited external classes
+# will be listed.
+
+ALLEXTERNALS = NO
+
+# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
+# in the modules index. If set to NO, only the current project's groups will
+# be listed.
+
+EXTERNAL_GROUPS = YES
+
+# The PERL_PATH should be the absolute path and name of the perl script
+# interpreter (i.e. the result of `which perl').
+
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
+# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
+# or super classes. Setting the tag to NO turns the diagrams off. Note that
+# this option also works with HAVE_DOT disabled, but it is recommended to
+# install and use dot, since it yields more powerful graphs.
+
+CLASS_DIAGRAMS = YES
+
+# You can define message sequence charts within doxygen comments using the \msc
+# command. Doxygen will then run the mscgen tool (see
+# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
+# documentation. The MSCGEN_PATH tag allows you to specify the directory where
+# the mscgen tool resides. If left empty the tool is assumed to be found in the
+# default search path.
+
+MSCGEN_PATH =
+
+# If set to YES, the inheritance and collaboration graphs will hide
+# inheritance and usage relations if the target is undocumented
+# or is not a class.
+
+HIDE_UNDOC_RELATIONS = YES
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz, a graph visualization
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section
+# have no effect if this option is set to NO (the default)
+
+HAVE_DOT = YES
+
+# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is
+# allowed to run in parallel. When set to 0 (the default) doxygen will
+# base this on the number of processors available in the system. You can set it
+# explicitly to a value larger than 0 to get control over the balance
+# between CPU load and processing speed.
+
+DOT_NUM_THREADS = 0
+
+# By default doxygen will write a font called Helvetica to the output
+# directory and reference it in all dot files that doxygen generates.
+# When you want a differently looking font you can specify the font name
+# using DOT_FONTNAME. You need to make sure dot is able to find the font,
+# which can be done by putting it in a standard location or by setting the
+# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory
+# containing the font.
+
+DOT_FONTNAME = Helvetica
+
+# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
+# The default size is 10pt.
+
+DOT_FONTSIZE = 10
+
+# By default doxygen will tell dot to use the output directory to look for the
+# FreeSans.ttf font (which doxygen will put there itself). If you specify a
+# different font using DOT_FONTNAME you can set the path where dot
+# can find it using this tag.
+
+DOT_FONTPATH =
+
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect inheritance relations. Setting this tag to YES will force the
+# the CLASS_DIAGRAMS tag to NO.
+
+CLASS_GRAPH = YES
+
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect implementation dependencies (inheritance, containment, and
+# class references variables) of the class with other documented classes.
+
+COLLABORATION_GRAPH = YES
+
+# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for groups, showing the direct groups dependencies
+
+GROUP_GRAPHS = YES
+
+# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
+# collaboration diagrams in a style similar to the OMG's Unified Modeling
+# Language.
+
+UML_LOOK = YES
+
+# If set to YES, the inheritance and collaboration graphs will show the
+# relations between templates and their instances.
+
+TEMPLATE_RELATIONS = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
+# tags are set to YES then doxygen will generate a graph for each documented
+# file showing the direct and indirect include dependencies of the file with
+# other documented files.
+
+INCLUDE_GRAPH = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
+# documented header file showing the documented files that directly or
+# indirectly include this file.
+
+INCLUDED_BY_GRAPH = YES
+
+# If the CALL_GRAPH and HAVE_DOT options are set to YES then
+# doxygen will generate a call dependency graph for every global function
+# or class method. Note that enabling this option will significantly increase
+# the time of a run. So in most cases it will be better to enable call graphs
+# for selected functions only using the \callgraph command.
+
+CALL_GRAPH = YES
+
+# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then
+# doxygen will generate a caller dependency graph for every global function
+# or class method. Note that enabling this option will significantly increase
+# the time of a run. So in most cases it will be better to enable caller
+# graphs for selected functions only using the \callergraph command.
+
+CALLER_GRAPH = NO
+
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
+# will generate a graphical hierarchy of all classes instead of a textual one.
+
+GRAPHICAL_HIERARCHY = YES
+
+# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
+# then doxygen will show the dependencies a directory has on other directories
+# in a graphical way. The dependency relations are determined by the #include
+# relations between the files in the directories.
+
+DIRECTORY_GRAPH = YES
+
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
+# generated by dot. Possible values are png, svg, gif or svg.
+# If left blank png will be used.
+
+DOT_IMAGE_FORMAT = png
+
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found in the path.
+
+DOT_PATH =
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that
+# contain dot files that are included in the documentation (see the
+# \dotfile command).
+
+DOTFILE_DIRS =
+
+# The MSCFILE_DIRS tag can be used to specify one or more directories that
+# contain msc files that are included in the documentation (see the
+# \mscfile command).
+
+MSCFILE_DIRS =
+
+# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
+# nodes that will be shown in the graph. If the number of nodes in a graph
+# becomes larger than this value, doxygen will truncate the graph, which is
+# visualized by representing a node as a red box. Note that doxygen if the
+# number of direct children of the root node in a graph is already larger than
+# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
+# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
+
+DOT_GRAPH_MAX_NODES = 50
+
+# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
+# graphs generated by dot. A depth value of 3 means that only nodes reachable
+# from the root by following a path via at most 3 edges will be shown. Nodes
+# that lay further from the root node will be omitted. Note that setting this
+# option to 1 or 2 may greatly reduce the computation time needed for large
+# code bases. Also note that the size of a graph can be further restricted by
+# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
+
+MAX_DOT_GRAPH_DEPTH = 0
+
+# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
+# background. This is disabled by default, because dot on Windows does not
+# seem to support this out of the box. Warning: Depending on the platform used,
+# enabling this option may lead to badly anti-aliased labels on the edges of
+# a graph (i.e. they become hard to read).
+
+DOT_TRANSPARENT = NO
+
+# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
+# files in one run (i.e. multiple -o and -T options on the command line). This
+# makes dot run faster, but since only newer versions of dot (>1.8.10)
+# support this, this feature is disabled by default.
+
+DOT_MULTI_TARGETS = YES
+
+# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
+# generate a legend page explaining the meaning of the various boxes and
+# arrows in the dot generated graphs.
+
+GENERATE_LEGEND = YES
+
+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
+# remove the intermediate dot files that are used to generate
+# the various graphs.
+
+DOT_CLEANUP = YES
diff --git a/README b/README
new file mode 100644
index 000000000..7931e90df
--- /dev/null
+++ b/README
@@ -0,0 +1,65 @@
+How to set up the compilation environment for Ubuntu 9.10 and 10.04
+
+- Download GNU Radio 3.3.0 from ftp://ftp.gnu.org/gnu/gnuradio
+- Compile and install following the instructions at http://gnuradio.org/redmine/wiki/1/UbuntuInstall
+- Install bjam with the command 'sudo apt-get install bjam'
+- Install Boost.Build with the command 'sudo apt-get install boost-build'
+- Add the system variable GNURADIO_330_ROOT with the location of the sources of gnuradio-3.3.0
+- Download gtest-1.4.0.tar.gz from http://code.google.com/p/googletest.
+- Unpack gtest-1.4.0.tar.gz into some folder.
+- From the folder containing gtest build the libraries and install them:
+ - GTEST$ ./configure
+ - GTEST$ make
+ - GTEST$ make check
+ - GTEST$ sudo make install
+- Add the following line to your .bashrc:
+ - export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib
+- Download glog-0.3.0.tar.gz from http://code.google.com/p/google-glog.
+- Unpack glog-0.3.0.tar.gz into some folder.
+- From the folder containing glog, build and install the libraries:
+ - GLOG$ ./configure
+ - GLOG$ make
+ - GLOG$ sudo make install
+ NOTE: THE LOG FILES ARE STORED BY DEFAULT /TMP/
+- Download gflags-1.3.tar.gz from http://code.google.com/p/google-gflags.
+- Unpack gflags-1.3.tar.gz into some folder.
+- From the folder containing gflags, build the libraries and install them:
+ - GFLAGS$ ./configure
+ - GFLAGS$ make
+ - GFLAGS$ sudo make install
+
+(11/12/2010) GSL AND CBLAS ARITHMETIC
+
+In order to compile the arithmetic tests, the GNU Scientific Library (GSL) library package is needed.
+Install the ubuntu package with:
+
+sudo apt-get install libgsl0ldbl
+
+
+To build the project type call bjam from the project root folder.
+
+PROFILING
+
+In order to do profiling, you'll have to install google-perftools library.
+- Download google-perftools-1.5.tar.gz from http://code.google.com/p/google-perftools.
+- Unpack google-perftools-1.5.tar.gz into some folder.
+- From the folder containing google-perftools, build and install the libraries:
+ - PERFTOOLS$ ./configure
+ - PERFTOOLS$ make
+ - PERFTOOLS$ sudo make install
+
+Once google-perftools is installed, you can use the script "profiler" which is placed
+in the root folder of MERCURIO sources. The script must be run as root since it makes use
+of "nice". The result of the profiling are two files, mercurio.cpu.prof and mercurio.head.prof.0001.heap,
+that contain the results for CPU and HEAP profiling. You can use google-perftools' script pprof
+to analyze the recorded data.
+
+(Sample of .bashrc configuration)
+
+export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib
+export GNURADIO_330_ROOT=/home/gnss/sdr/gnuradio-3.3.0
+
+
+
+
+
diff --git a/conf/mercurio.conf b/conf/mercurio.conf
new file mode 100644
index 000000000..1144a9d11
--- /dev/null
+++ b/conf/mercurio.conf
@@ -0,0 +1,94 @@
+; Sample for a configuration file for MERCURIO
+
+[mercurio]
+
+;######### CONTROL_THREAD CONFIG ############
+ControlThread.wait_for_flowgraph=false
+
+;######### SIGNAL_SOURCE CONFIG ############
+SignalSource.implementation=File_Signal_Source
+;SignalSource.filename=/media/My Passport/spirent scenario 2/data/sc2_d8.dat
+;SignalSource.filename=/home/luis/Project/signals/GPS_cap1.dat
+SignalSource.filename=/media/My Passport/KINGSTON (G)/Project Luis/GPSL1_Fs_8MHz_ID_1_CN0_60.dat
+SignalSource.item_type=gr_complex
+SignalSource.sampling_frequency=8000000
+SignalSource.samples=0
+SignalSource.repeat=false
+SignalSource.dump=false
+SignalSource.enable_throttle_control=true
+
+;######### SIGNAL_CONDITIONER CONFIG ############
+SignalConditioner.implementation=Pass_Through
+SignalConditioner.item_type=gr_complex
+SignalConditioner.sample_freq_in=8000000
+SignalConditioner.sample_freq_out=8000000
+SignalConditioner.dump=false
+
+;######### CHANNELS CONFIGURATION CONFIG ############
+Channels.count=1
+
+;######### ACQUISITION CONFIG ############
+
+Acquisition.dump=false
+Acquisition.dump_filename=./acq_dump.dat
+Acquisition.item_type=gr_complex
+Acquisition.fs_in=8000000
+Acquisition.if=0
+Acquisition.sampled_ms=1
+
+;######### ACQUISITION 0 CONFIG ############
+Acquisition0.implementation=GPS_L1_CA_PCPS_Acquisition
+Acquisition0.threshold=0.006
+Acquisition0.doppler_max=10000
+Acquisition0.doppler_step=250
+Acquisition0.satellite=1
+Acquisition0.repeat_satellite=true
+
+;######### ACQUISITION 1 CONFIG ############
+Acquisition1.implementation=GPS_L1_CA_GPS_SDR_Acquisition
+Acquisition1.threshold=30
+Acquisition1.doppler_max=10000
+Acquisition1.doppler_step=250
+Acquisition1.satellite=16
+Acquisition1.repeat_satellite=true
+
+;######### ACQUISITION 2 CONFIG ############
+Acquisition2.implementation=GPS_L1_CA_TONG_PCPS_Acquisition
+Acquisition2.threshold=
+Acquisition2.doppler_max=10000
+Acquisition2.doppler_step=250
+Acquisition2.satellite=21
+Acquisition2.repeat_satellite=true
+
+
+;######### ACQUISITION 3 CONFIG ############
+Acquisition3.implementation=GPS_L1_CA_PCPS_Acquisition
+Acquisition3.threshold=105000
+
+
+
+;######### TRACKING CONFIG ############
+Tracking.implementation=GPS_L1_CA_DLL_PLL_Tracking
+Tracking.item_type=gr_complex
+Tracking.vector_length=8000
+Tracking.fs_in=8000000
+Tracking.if=0
+Tracking.dump=true
+Tracking.dump_filename=./trk_dump.dat
+
+;######### TELEMETRY DECODER CONFIG ############
+TelemetryDecoder.implementation=GPS_L1_CA_Telemetry_Decoder
+TelemetryDecoder.item_type=gr_complex
+
+;######### OBSERVABLES CONFIG ############
+Observables.implementation=GPS_L1_CA_Observables
+Observables.fs_in=8000000;
+
+;######### PVT CONFIG ############
+PVT.implementation=Pass_Through
+PVT.item_type=gr_complex
+
+;######### OUTPUT_FILTER CONFIG ############
+OutputFilter.implementation=Null_Sink_Output_Filter
+OutputFilter.filename=data/mercurio.dat
+OutputFilter.item_type=gr_complex
diff --git a/docs/gnss_sdr_eclipse_style.xml b/docs/gnss_sdr_eclipse_style.xml
new file mode 100644
index 000000000..f20d9f88b
--- /dev/null
+++ b/docs/gnss_sdr_eclipse_style.xml
@@ -0,0 +1,155 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/jamroot.jam b/jamroot.jam
new file mode 100644
index 000000000..dcad194b7
--- /dev/null
+++ b/jamroot.jam
@@ -0,0 +1,50 @@
+import testing ;
+
+lib gtest ;
+lib glog ;
+lib gflags ;
+lib gnuradio-core ;
+lib gnuradio-usrp ;
+lib profiler ;
+lib gsl ;
+lib gslcblas ;
+
+project : requirements
+OMNITHREAD_POSIX
+"-std=c++0x"
+# src/utils
+# src/utils/INIReader
+src/algorithms/acquisition/adapters
+src/algorithms/acquisition/gnuradio_blocks
+src/algorithms/channel/adapters
+src/algorithms/channel/gnuradio_blocks
+src/algorithms/channel/libs
+src/algorithms/conditioner/adapters
+src/algorithms/conditioner/gnuradio_blocks
+src/algorithms/libs
+src/algorithms/observables/adapters
+src/algorithms/observables/gnuradio_blocks
+src/algorithms/observables/libs
+src/algorithms/output_filter/adapters
+src/algorithms/output_filter/gnuradio_blocks
+src/algorithms/PVT/adapters
+src/algorithms/PVT/gnuradio_blocks
+src/algorithms/signal_source/adapters
+src/algorithms/signal_source/gnuradio_blocks
+src/algorithms/telemetry_decoder/adapters
+src/algorithms/telemetry_decoder/gnuradio_blocks
+src/algorithms/telemetry_decoder/libs
+src/algorithms/tracking/adapters
+src/algorithms/tracking/gnuradio_blocks
+src/core/interfaces
+src/core/libs
+src/core/receiver
+src/core/system_parameters
+$GNURADIO_330_ROOT/gr-usrp/src
+$GNURADIO_330_ROOT/gnuradio-core/src/lib/runtime
+$GNURADIO_330_ROOT/gnuradio-core/src/lib/filter
+$GNURADIO_330_ROOT/gnuradio-core/src/lib/io
+$GNURADIO_330_ROOT/gnuradio-core/src/lib/general
+$GNURADIO_330_ROOT/gnuradio-core/src/lib/gengen ;
+
+build-project src ;
\ No newline at end of file
diff --git a/src/algorithms/acquisition/adapters/gps_l1_ca_gps_sdr_acquisition.cc b/src/algorithms/acquisition/adapters/gps_l1_ca_gps_sdr_acquisition.cc
new file mode 100644
index 000000000..ffd2aadb8
--- /dev/null
+++ b/src/algorithms/acquisition/adapters/gps_l1_ca_gps_sdr_acquisition.cc
@@ -0,0 +1,307 @@
+/*!
+ * \file gps_l1_ca_gps_sdr_acquisition.cc
+ * \brief Brief description of the file here
+ * \author Carlos Aviles, 2010. carlos.avilesr(at)googlemail.com
+ * Luis Esteve, 2011. luis(at)epsilon-formacion.com
+ *
+ * -------------------------------------------------------------------------
+ *
+ * Copyright (C) 2010-2011 (see AUTHORS file for a list of contributors)
+ *
+ * GNSS-SDR is a software defined Global Navigation
+ * Satellite Systems receiver
+ *
+ * This file is part of GNSS-SDR.
+ *
+ * GNSS-SDR 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 3 of the License, or
+ * at your option) any later version.
+ *
+ * GNSS-SDR 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 GNSS-SDR. If not, see .
+ *
+ * -------------------------------------------------------------------------
+ */
+
+#include "gps_l1_ca_gps_sdr_acquisition.h"
+
+#include "configuration_interface.h"
+
+#include
+#include
+#include
+#include
+#include
+
+#include
+#include
+
+using google::LogMessage;
+
+//! Constructor
+GpsL1CaGpsSdrAcquisition::GpsL1CaGpsSdrAcquisition(
+ ConfigurationInterface* configuration, std::string role,
+ unsigned int in_streams, unsigned int out_streams,
+ gr_msg_queue_sptr queue) :
+ role_(role), in_streams_(in_streams), out_streams_(out_streams), queue_(
+ queue)
+{
+
+ std::string default_item_type = "gr_complex";
+ std::string default_dump_filename = "./data/acquisition_";
+
+ DLOG(INFO) << "role " << role;
+
+ item_type_ = configuration->property(role + ".item_type",
+ default_item_type);
+ //vector_length_ = configuration->property(role + ".vector_length", 2048);
+
+ satellite_ = 0;
+ fs_in_ = configuration->property(role + ".fs_in", 2048000);
+ if_ = configuration->property(role + ".ifreq", 0);
+ dump_ = configuration->property(role + ".dump", false);
+ doppler_max_ = 0;
+ acquisition_ms_ = configuration->property(role + ".sampled_ms", 1);
+ dump_filename_ = configuration->property(role + ".dump_filename",
+ default_dump_filename);
+
+ //vector_length_=ceil((float)fs_in_*((float)acquisition_ms_/1000));
+
+ //--- Find number of samples per spreading code ----------------------------
+ const int32 _codeFreqBasis = 1023000; //Hz
+ const int32 _codeLength = 1023;
+ vector_length_ = round(fs_in_ / (_codeFreqBasis / _codeLength));
+
+ printf("vector_length_ %i\n\r", vector_length_);
+
+ if (item_type_.compare("short") == 0)
+ {
+ item_size_ = sizeof(short);
+ acquisition_ss_ = gps_l1_ca_gps_sdr_make_acquisition_ss(
+ acquisition_ms_, if_, fs_in_, vector_length_, queue_, dump_,
+ dump_filename_);
+ stream_to_vector_ = gr_make_stream_to_vector(item_size_, 2
+ * vector_length_);
+
+ }
+ else if (item_type_.compare("gr_complex") == 0)
+ {
+ item_size_ = sizeof(gr_complex);
+ acquisition_cc_ = gps_l1_ca_gps_sdr_make_acquisition_cc(
+ acquisition_ms_, if_, fs_in_, vector_length_, queue_, dump_,
+ dump_filename_);
+ stream_to_vector_ = gr_make_stream_to_vector(item_size_,
+ vector_length_);
+
+ }
+ else
+ {
+ LOG_AT_LEVEL(WARNING) << item_type_ << " unknown item type.";
+ }
+
+ DLOG(INFO) << "stream_to_vector(" << stream_to_vector_->unique_id()
+ << ")";
+
+}
+
+//! Destructor
+GpsL1CaGpsSdrAcquisition::~GpsL1CaGpsSdrAcquisition()
+{}
+
+//! Set satellite
+void GpsL1CaGpsSdrAcquisition::set_satellite(unsigned int satellite)
+{
+ satellite_ = satellite;
+
+ if (item_type_.compare("gr_complex") == 0)
+ {
+ acquisition_cc_->set_satellite(satellite_);
+ }
+ else
+ {
+ acquisition_ss_->set_satellite(satellite_);
+ }
+}
+
+
+//! Set channel
+void GpsL1CaGpsSdrAcquisition::set_channel(unsigned int channel)
+{
+ channel_ = channel;
+
+ if (item_type_.compare("gr_complex") == 0)
+ {
+ acquisition_cc_->set_channel(channel_);
+ }
+ else
+ {
+ acquisition_ss_->set_channel(channel_);
+ }
+}
+
+//! Set acquisition threshold
+void GpsL1CaGpsSdrAcquisition::set_threshold(float threshold)
+{
+ threshold_ = threshold;
+
+ if (item_type_.compare("gr_complex") == 0)
+ {
+ acquisition_cc_->set_threshold(threshold_);
+ }
+ else
+ {
+ acquisition_ss_->set_threshold(threshold_);
+ }
+}
+
+//! Set maximum Doppler shift
+void GpsL1CaGpsSdrAcquisition::set_doppler_max(unsigned int doppler_max)
+{
+ doppler_max_ = doppler_max;
+
+ if (item_type_.compare("gr_complex") == 0)
+ {
+ acquisition_cc_->set_doppler_max(doppler_max_);
+ }
+ else
+ {
+ acquisition_ss_->set_doppler_max(doppler_max_);
+ }
+}
+
+//! Set Channel Queue
+void GpsL1CaGpsSdrAcquisition::set_channel_queue(
+ concurrent_queue *channel_internal_queue)
+{
+ channel_internal_queue_ = channel_internal_queue;
+
+ if (item_type_.compare("gr_complex") == 0)
+ {
+ acquisition_cc_->set_channel_queue(channel_internal_queue_);
+ }
+ else
+ {
+ acquisition_ss_->set_channel_queue(channel_internal_queue_);
+ }
+}
+
+signed int GpsL1CaGpsSdrAcquisition::prn_code_phase()
+{
+
+ if (item_type_.compare("gr_complex") == 0)
+ {
+ return acquisition_cc_->prn_code_phase();
+ }
+ else
+ {
+ return acquisition_ss_->prn_code_phase();
+ }
+}
+
+float GpsL1CaGpsSdrAcquisition::doppler_freq_shift()
+{
+
+ if (item_type_.compare("gr_complex") == 0)
+ {
+ return acquisition_cc_->doppler_freq_phase();
+ }
+ else
+ {
+ return acquisition_ss_->doppler_freq_phase();
+ }
+}
+
+signed int GpsL1CaGpsSdrAcquisition::mag()
+{
+ if (item_type_.compare("gr_complex") == 0)
+ {
+ return acquisition_cc_->mag();
+ }
+ else
+ {
+ return acquisition_ss_->mag();
+ }
+}
+
+void GpsL1CaGpsSdrAcquisition::reset()
+{
+ if (item_type_.compare("gr_complex") == 0)
+ {
+ acquisition_cc_->set_active(true);
+ }
+ else
+ {
+ acquisition_ss_->set_active(true);
+ }
+}
+
+unsigned long int GpsL1CaGpsSdrAcquisition::get_sample_stamp()
+{
+
+ if (item_type_.compare("gr_complex") == 0)
+ {
+ return acquisition_cc_->get_sample_stamp();
+ }
+ else
+ {
+ return acquisition_ss_->get_sample_stamp();
+ }
+}
+
+void GpsL1CaGpsSdrAcquisition::connect(gr_top_block_sptr top_block)
+{
+
+ if (item_type_.compare("gr_complex") == 0)
+ {
+ //top_block->connect(stream_to_vector_, 0, vector_to_stream_,0);
+
+ top_block->connect(stream_to_vector_, 0, acquisition_cc_, 0);
+ //top_block->connect(acquisition_cc_, 0, vector_to_stream_, 0);
+ }
+ else
+ {
+ top_block->connect(stream_to_vector_, 0, acquisition_ss_, 0);
+ //top_block->connect(acquisition_ss_, 0, vector_to_stream_, 0);
+ }
+
+}
+
+void GpsL1CaGpsSdrAcquisition::disconnect(gr_top_block_sptr top_block)
+{
+
+ if (item_type_.compare("gr_complex") == 0)
+ {
+ top_block->disconnect(stream_to_vector_, 0, acquisition_cc_, 0);
+ //top_block->disconnect(acquisition_cc_, 0, vector_to_stream_, 0);
+ }
+ else
+ {
+ top_block->disconnect(stream_to_vector_, 0, acquisition_ss_, 0);
+ //top_block->disconnect(acquisition_ss_, 0, vector_to_stream_, 0);
+ }
+}
+
+gr_basic_block_sptr GpsL1CaGpsSdrAcquisition::get_left_block()
+{
+ return stream_to_vector_;
+}
+
+gr_basic_block_sptr GpsL1CaGpsSdrAcquisition::get_right_block()
+{
+ if (item_type_.compare("gr_complex") == 0)
+ {
+ return acquisition_cc_;
+ }
+ else
+ {
+ return acquisition_ss_;
+ }
+
+}
+
diff --git a/src/algorithms/acquisition/adapters/gps_l1_ca_gps_sdr_acquisition.h b/src/algorithms/acquisition/adapters/gps_l1_ca_gps_sdr_acquisition.h
new file mode 100644
index 000000000..ddb2d5ba6
--- /dev/null
+++ b/src/algorithms/acquisition/adapters/gps_l1_ca_gps_sdr_acquisition.h
@@ -0,0 +1,123 @@
+/*!
+ * \file gps_l1_ca_gps_sdr_acquisition.h
+ * \brief Brief description of the file here
+ * \author Carlos Aviles, 2010. carlos.avilesr(at)googlemail.com
+ * Luis Esteve, 2011. luis(at)epsilon-formacion.com
+ *
+ * -------------------------------------------------------------------------
+ *
+ * Copyright (C) 2010-2011 (see AUTHORS file for a list of contributors)
+ *
+ * GNSS-SDR is a software defined Global Navigation
+ * Satellite Systems receiver
+ *
+ * This file is part of GNSS-SDR.
+ *
+ * GNSS-SDR 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 3 of the License, or
+ * at your option) any later version.
+ *
+ * GNSS-SDR 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 GNSS-SDR. If not, see .
+ *
+ * -------------------------------------------------------------------------
+ */
+
+#ifndef GNSS_SDR_ACQUISITION_H_
+#define GNSS_SDR_ACQUISITION_H_
+
+#include "acquisition_interface.h"
+
+#include "gps_l1_ca_gps_sdr_acquisition_cc.h"
+#include "gps_l1_ca_gps_sdr_acquisition_ss.h"
+
+#include
+
+class ConfigurationInterface;
+
+/*!
+ * \brief Adapts the GPS-SDR acquisition implementation to
+ * an Acquisition Interface
+ *
+ * Derived from AcquisitionInterface, this class wraps the implementation
+ * of the acquisition algorithm proposed by Gregory Heckler at https://github.com/gps-sdr/gps-sdr
+ *
+ */
+class GpsL1CaGpsSdrAcquisition: public AcquisitionInterface
+{
+
+public:
+
+ GpsL1CaGpsSdrAcquisition(ConfigurationInterface* configuration,
+ std::string role, unsigned int in_streams,
+ unsigned int out_streams, gr_msg_queue_sptr queue);
+
+ virtual ~GpsL1CaGpsSdrAcquisition();
+
+ std::string role()
+ {
+ return role_;
+ }
+ std::string implementation()
+ {
+ return "Acquisition";
+ }
+ size_t item_size()
+ {
+ return item_size_;
+ }
+
+ void connect(gr_top_block_sptr top_block);
+ void disconnect(gr_top_block_sptr top_block);
+ gr_basic_block_sptr get_left_block();
+ gr_basic_block_sptr get_right_block();
+
+ void set_satellite(unsigned int satellite);
+ void set_channel(unsigned int channel);
+ void set_threshold(float threshold);
+ void set_doppler_max(unsigned int doppler_max);
+ void set_channel_queue(concurrent_queue *channel_internal_queue);
+ signed int prn_code_phase();
+ float doppler_freq_shift();
+ signed int mag();
+ void reset();
+ unsigned long int get_sample_stamp();
+
+ //Not used in this implementation
+ void set_doppler_step(unsigned int doppler_step)
+ {};
+
+private:
+
+ gps_l1_ca_gps_sdr_acquisition_cc_sptr acquisition_cc_;
+ gps_l1_ca_gps_sdr_acquisition_ss_sptr acquisition_ss_;
+ gr_block_sptr stream_to_vector_;
+ gr_block_sptr complex_to_short_;
+ gr_block_sptr short_to_complex_;
+ size_t item_size_;
+ std::string item_type_;
+ unsigned int vector_length_;
+ unsigned int satellite_;
+ unsigned int channel_;
+ float threshold_;
+ unsigned int doppler_max_;
+ unsigned int acquisition_ms_;
+ long fs_in_;
+ long if_;
+ bool dump_;
+ std::string dump_filename_;
+
+ std::string role_;
+ unsigned int in_streams_;
+ unsigned int out_streams_;
+ gr_msg_queue_sptr queue_;
+ concurrent_queue *channel_internal_queue_;
+};
+
+#endif
diff --git a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_acquisition.cc b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_acquisition.cc
new file mode 100644
index 000000000..3c5bb6cc4
--- /dev/null
+++ b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_acquisition.cc
@@ -0,0 +1,254 @@
+/*!
+ * \file gps_l1_ca_pcps_acquisition.cc
+ * \brief Brief description of the file here
+ * \author Javier Arribas, 2011. jarribas(at)cttc.es
+ * Luis Esteve, 2011. luis(at)epsilon-formacion.com
+ *
+ * Detailed description of the file here if needed.
+ *
+ * -------------------------------------------------------------------------
+ *
+ * Copyright (C) 2010-2011 (see AUTHORS file for a list of contributors)
+ *
+ * GNSS-SDR is a software defined Global Navigation
+ * Satellite Systems receiver
+ *
+ * This file is part of GNSS-SDR.
+ *
+ * GNSS-SDR 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 3 of the License, or
+ * at your option) any later version.
+ *
+ * GNSS-SDR 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 GNSS-SDR. If not, see .
+ *
+ * -------------------------------------------------------------------------
+ */
+
+#include "gps_l1_ca_pcps_acquisition.h"
+
+#include "configuration_interface.h"
+#include
+#include
+#include
+#include
+#include
+#include
+
+#include
+#include
+
+using google::LogMessage;
+
+GpsL1CaPcpsAcquisition::GpsL1CaPcpsAcquisition(
+ ConfigurationInterface* configuration, std::string role,
+ unsigned int in_streams, unsigned int out_streams,
+ gr_msg_queue_sptr queue) :
+ role_(role), in_streams_(in_streams), out_streams_(out_streams), queue_(
+ queue)
+{
+
+ std::string default_item_type = "gr_complex";
+ std::string default_dump_filename = "./data/acquisition.dat";
+
+ DLOG(INFO) << "role " << role;
+
+ item_type_ = configuration->property(role + ".item_type",
+ default_item_type);
+
+ satellite_ = 0;
+ fs_in_ = configuration->property(role + ".fs_in", 2048000);
+ if_ = configuration->property(role + ".ifreq", 0);
+ dump_ = configuration->property(role + ".dump", false);
+ shift_resolution_ = configuration->property(role + ".doppler_max", 15);
+ sampled_ms_ = configuration->property(role + ".sampled_ms", 1);
+ dump_filename_ = configuration->property(role + ".dump_filename",
+ default_dump_filename);
+
+ //--- Find number of samples per spreading code ----------------------------
+ const signed int _codeFreqBasis = 1023000; //Hz
+ const signed int _codeLength = 1023;
+ std::cout << fs_in_ << " " << role << std::endl;
+ vector_length_ = round(fs_in_ / (_codeFreqBasis / _codeLength));
+
+ printf("vector_length_ %i\n\r", vector_length_);
+
+ if (item_type_.compare("gr_complex") == 0)
+ {
+ item_size_ = sizeof(gr_complex);
+ acquisition_cc_ = gps_l1_ca_pcps_make_acquisition_cc(sampled_ms_,
+ shift_resolution_, if_, fs_in_, vector_length_, queue_,
+ dump_, dump_filename_);
+ stream_to_vector_ = gr_make_stream_to_vector(item_size_,
+ vector_length_);
+ }
+ else
+ {
+ LOG_AT_LEVEL(WARNING) << item_type_
+ << " unknown acquisition item type";
+ }
+
+ DLOG(INFO) << "stream_to_vector(" << stream_to_vector_->unique_id()
+ << ")";
+}
+
+GpsL1CaPcpsAcquisition::~GpsL1CaPcpsAcquisition()
+{
+}
+
+void GpsL1CaPcpsAcquisition::set_satellite(unsigned int satellite)
+{
+ satellite_ = satellite;
+
+ if (item_type_.compare("gr_complex") == 0)
+ {
+ acquisition_cc_->set_satellite(satellite_);
+ }
+}
+
+void GpsL1CaPcpsAcquisition::set_channel(unsigned int channel)
+{
+ channel_ = channel;
+
+ if (item_type_.compare("gr_complex") == 0)
+ {
+ acquisition_cc_->set_channel(channel_);
+ }
+}
+
+void GpsL1CaPcpsAcquisition::set_threshold(float threshold)
+{
+ threshold_ = threshold;
+
+ if (item_type_.compare("gr_complex") == 0)
+ {
+ acquisition_cc_->set_threshold(threshold_);
+ }
+}
+
+void GpsL1CaPcpsAcquisition::set_doppler_max(unsigned int doppler_max)
+{
+ doppler_max_ = doppler_max;
+
+ if (item_type_.compare("gr_complex") == 0)
+ {
+ acquisition_cc_->set_doppler_max(doppler_max_);
+ }
+
+}
+
+void GpsL1CaPcpsAcquisition::set_doppler_step(unsigned int doppler_step)
+{
+ doppler_step_ = doppler_step;
+
+ if (item_type_.compare("gr_complex") == 0)
+ {
+ acquisition_cc_->set_doppler_step(doppler_step_);
+ }
+
+}
+
+void GpsL1CaPcpsAcquisition::set_channel_queue(
+ concurrent_queue *channel_internal_queue)
+{
+ channel_internal_queue_ = channel_internal_queue;
+
+ if (item_type_.compare("gr_complex") == 0)
+ {
+ acquisition_cc_->set_channel_queue(channel_internal_queue_);
+ }
+}
+
+signed int GpsL1CaPcpsAcquisition::prn_code_phase()
+{
+
+ if (item_type_.compare("gr_complex") == 0)
+ {
+ return acquisition_cc_->prn_code_phase();
+ }
+ else
+ {
+ return 0;
+ }
+}
+
+unsigned long int GpsL1CaPcpsAcquisition::get_sample_stamp()
+{
+ if (item_type_.compare("gr_complex") == 0)
+ {
+ return acquisition_cc_->get_sample_stamp();
+ }
+ else
+ {
+ return 0;
+ }
+}
+float GpsL1CaPcpsAcquisition::doppler_freq_shift()
+{
+
+ if (item_type_.compare("gr_complex") == 0)
+ {
+ return acquisition_cc_->doppler_freq();
+ }
+ else
+ {
+ return 0;
+ }
+}
+
+signed int GpsL1CaPcpsAcquisition::mag()
+{
+ if (item_type_.compare("gr_complex") == 0)
+ {
+ return acquisition_cc_->mag();
+ }
+ else
+ {
+ return 0;
+ }
+}
+
+void GpsL1CaPcpsAcquisition::reset()
+{
+
+ if (item_type_.compare("gr_complex") == 0)
+ {
+ acquisition_cc_->set_active(true);
+ }
+}
+
+void GpsL1CaPcpsAcquisition::connect(gr_top_block_sptr top_block)
+{
+
+ if (item_type_.compare("gr_complex") == 0)
+ {
+ top_block->connect(stream_to_vector_, 0, acquisition_cc_, 0);
+ }
+
+}
+
+void GpsL1CaPcpsAcquisition::disconnect(gr_top_block_sptr top_block)
+{
+
+ if (item_type_.compare("gr_complex") == 0)
+ {
+ top_block->disconnect(stream_to_vector_, 0, acquisition_cc_, 0);
+ }
+}
+
+gr_basic_block_sptr GpsL1CaPcpsAcquisition::get_left_block()
+{
+ return stream_to_vector_;
+}
+
+gr_basic_block_sptr GpsL1CaPcpsAcquisition::get_right_block()
+{
+ return acquisition_cc_;
+}
+
diff --git a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_acquisition.h b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_acquisition.h
new file mode 100644
index 000000000..3681b18de
--- /dev/null
+++ b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_acquisition.h
@@ -0,0 +1,117 @@
+/*!
+ * \file gps_l1_ca_pcps_acquisition.h
+ * \brief Brief description of the file here
+ * \author Javier Arribas, 2011. jarribas(at)cttc.es
+ * Luis Esteve, 2011. luis(at)epsilon-formacion.com
+ *
+ * Detailed description of the file here if needed.
+ *
+ * -------------------------------------------------------------------------
+ *
+ * Copyright (C) 2010-2011 (see AUTHORS file for a list of contributors)
+ *
+ * GNSS-SDR is a software defined Global Navigation
+ * Satellite Systems receiver
+ *
+ * This file is part of GNSS-SDR.
+ *
+ * GNSS-SDR 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 3 of the License, or
+ * at your option) any later version.
+ *
+ * GNSS-SDR 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 GNSS-SDR. If not, see .
+ *
+ * -------------------------------------------------------------------------
+ */
+
+#ifndef GPS_L1_CA_PCPS_ACQUISITION_H_
+#define GPS_L1_CA_PCPS_ACQUISITION_H_
+
+#include "acquisition_interface.h"
+
+#include "gps_l1_ca_pcps_acquisition_cc.h"
+
+#include
+
+class ConfigurationInterface;
+
+class GpsL1CaPcpsAcquisition: public AcquisitionInterface
+{
+
+public:
+
+ GpsL1CaPcpsAcquisition(ConfigurationInterface* configuration,
+ std::string role, unsigned int in_streams,
+ unsigned int out_streams, gr_msg_queue_sptr queue);
+
+ virtual ~GpsL1CaPcpsAcquisition();
+
+ std::string role()
+ {
+ return role_;
+ }
+ std::string implementation()
+ {
+ return "Acquisition";
+ }
+ size_t item_size()
+ {
+ return item_size_;
+ }
+
+ void connect(gr_top_block_sptr top_block);
+ void disconnect(gr_top_block_sptr top_block);
+ gr_basic_block_sptr get_left_block();
+ gr_basic_block_sptr get_right_block();
+
+ void set_satellite(unsigned int satellite);
+ void set_channel(unsigned int channel);
+ void set_threshold(float threshold);
+ void set_doppler_max(unsigned int doppler_max);
+ void set_doppler_step(unsigned int doppler_step);
+ void set_channel_queue(concurrent_queue *channel_internal_queue);
+ signed int prn_code_phase();
+ float doppler_freq_shift();
+
+ unsigned long int get_sample_stamp();
+
+ signed int mag();
+ void reset();
+
+private:
+
+ gps_l1_ca_pcps_acquisition_cc_sptr acquisition_cc_;
+ gr_block_sptr stream_to_vector_;
+ gr_block_sptr complex_to_short_;
+ gr_block_sptr short_to_complex_;
+ size_t item_size_;
+ std::string item_type_;
+ unsigned int vector_length_;
+ unsigned int satellite_;
+ unsigned int channel_;
+ float threshold_;
+ unsigned int doppler_max_;
+ unsigned int doppler_step_;
+ unsigned int shift_resolution_;
+ unsigned int sampled_ms_;
+ long fs_in_;
+ long if_;
+ bool dump_;
+ std::string dump_filename_;
+
+ std::string role_;
+ unsigned int in_streams_;
+ unsigned int out_streams_;
+ gr_msg_queue_sptr queue_;
+ concurrent_queue *channel_internal_queue_;
+
+};
+
+#endif /* GPS_L1_CA_PCPS_ACQUISITION_H_ */
diff --git a/src/algorithms/acquisition/adapters/gps_l1_ca_tong_pcps_acquisition.cc b/src/algorithms/acquisition/adapters/gps_l1_ca_tong_pcps_acquisition.cc
new file mode 100644
index 000000000..997424046
--- /dev/null
+++ b/src/algorithms/acquisition/adapters/gps_l1_ca_tong_pcps_acquisition.cc
@@ -0,0 +1,245 @@
+/*!
+ * \file gps_l1_ca_tong_pcps_acquisition.cc
+ * \brief Brief description of the file here
+ * \author Luis Esteve, 2011. luis(at)epsilon-formacion.com
+ *
+ * Detailed description of the file here if needed.
+ *
+ * -------------------------------------------------------------------------
+ *
+ * Copyright (C) 2010-2011 (see AUTHORS file for a list of contributors)
+ *
+ * GNSS-SDR is a software defined Global Navigation
+ * Satellite Systems receiver
+ *
+ * This file is part of GNSS-SDR.
+ *
+ * GNSS-SDR 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 3 of the License, or
+ * at your option) any later version.
+ *
+ * GNSS-SDR 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 GNSS-SDR. If not, see .
+ *
+ * -------------------------------------------------------------------------
+ */
+
+#include "gps_l1_ca_tong_pcps_acquisition.h"
+
+#include "configuration_interface.h"
+
+#include
+#include
+#include
+#include
+#include
+
+#include
+#include
+
+using google::LogMessage;
+
+GpsL1CaTongPcpsAcquisition::GpsL1CaTongPcpsAcquisition(
+ ConfigurationInterface* configuration, std::string role,
+ unsigned int in_streams, unsigned int out_streams,
+ gr_msg_queue_sptr queue) :
+ role_(role), in_streams_(in_streams), out_streams_(out_streams), queue_(
+ queue)
+{
+
+ std::string default_item_type = "gr_complex";
+ std::string default_dump_filename = "./data/acquisition.dat";
+
+ DLOG(INFO) << "role " << role;
+
+ item_type_ = configuration->property(role + ".item_type",
+ default_item_type);
+
+ std::cout << "item type " << item_type_ << std::endl;
+
+ satellite_ = 0;
+ fs_in_ = configuration->property(role + ".fs_in", 2048000);
+ if_ = configuration->property(role + ".ifreq", 0);
+ dump_ = configuration->property(role + ".dump", false);
+ doppler_max_ = configuration->property(role + ".doppler_max", 10);
+ sampled_ms_ = configuration->property(role + ".sampled_ms", 1);
+ dump_filename_ = configuration->property(role + ".dump_filename",
+ default_dump_filename);
+
+ //--- Find number of samples per spreading code ----------------------------
+ const signed int _codeFreqBasis = 1023000; //Hz
+ const signed int _codeLength = 1023;
+ vector_length_ = round(fs_in_ / (_codeFreqBasis / _codeLength));
+
+ printf("vector_length_ %i\n\r", vector_length_);
+
+ if (item_type_.compare("gr_complex") == 0)
+ {
+ item_size_ = sizeof(gr_complex);
+ acquisition_cc_ = gps_l1_ca_tong_pcps_make_acquisition_cc(
+ sampled_ms_, doppler_max_, if_, fs_in_, vector_length_,
+ queue_, dump_, dump_filename_);
+ stream_to_vector_ = gr_make_stream_to_vector(item_size_,
+ vector_length_);
+ }
+ else
+ {
+ LOG_AT_LEVEL(WARNING) << item_type_
+ << " unknown acquisition item type";
+ }
+
+ DLOG(INFO) << "stream_to_vector(" << stream_to_vector_->unique_id()
+ << ")";
+}
+
+GpsL1CaTongPcpsAcquisition::~GpsL1CaTongPcpsAcquisition()
+{
+}
+
+void GpsL1CaTongPcpsAcquisition::set_satellite(unsigned int satellite)
+{
+ satellite_ = satellite;
+
+ if (item_type_.compare("gr_complex") == 0)
+ {
+ acquisition_cc_->set_satellite(satellite_);
+ }
+}
+
+void GpsL1CaTongPcpsAcquisition::set_channel(unsigned int channel)
+{
+ channel_ = channel;
+
+ if (item_type_.compare("gr_complex") == 0)
+ {
+ acquisition_cc_->set_channel(channel_);
+ }
+}
+
+void GpsL1CaTongPcpsAcquisition::set_doppler_max(unsigned int doppler_max)
+{
+ doppler_max_ = doppler_max;
+
+ if (item_type_.compare("gr_complex") == 0)
+ {
+ acquisition_cc_->set_doppler_max(doppler_max_);
+ }
+
+}
+
+void GpsL1CaTongPcpsAcquisition::set_doppler_step(unsigned int doppler_step)
+{
+ doppler_step_ = doppler_step;
+
+ if (item_type_.compare("gr_complex") == 0)
+ {
+ acquisition_cc_->set_doppler_step(doppler_step_);
+ }
+
+}
+
+void GpsL1CaTongPcpsAcquisition::set_channel_queue(
+ concurrent_queue *channel_internal_queue)
+{
+ channel_internal_queue_ = channel_internal_queue;
+
+ if (item_type_.compare("gr_complex") == 0)
+ {
+ acquisition_cc_->set_channel_queue(channel_internal_queue_);
+ }
+}
+
+signed int GpsL1CaTongPcpsAcquisition::prn_code_phase()
+{
+
+ if (item_type_.compare("gr_complex") == 0)
+ {
+ return acquisition_cc_->prn_code_phase();
+ }
+ else
+ {
+ return 0;
+ }
+}
+
+unsigned long int GpsL1CaTongPcpsAcquisition::get_sample_stamp()
+{
+ if (item_type_.compare("gr_complex") == 0)
+ {
+ return acquisition_cc_->get_sample_stamp();
+ }
+ else
+ {
+ return 0;
+ }
+}
+float GpsL1CaTongPcpsAcquisition::doppler_freq_shift()
+{
+
+ if (item_type_.compare("gr_complex") == 0)
+ {
+ return acquisition_cc_->doppler_freq();
+ }
+ else
+ {
+ return 0;
+ }
+}
+
+signed int GpsL1CaTongPcpsAcquisition::mag()
+{
+ if (item_type_.compare("gr_complex") == 0)
+ {
+ return acquisition_cc_->mag();
+ }
+ else
+ {
+ return 0;
+ }
+}
+
+void GpsL1CaTongPcpsAcquisition::reset()
+{
+ if (item_type_.compare("gr_complex") == 0)
+ {
+ acquisition_cc_->set_active(true);
+ acquisition_cc_->set_dwells(0);
+ acquisition_cc_->set_doppler(0);
+ }
+}
+
+void GpsL1CaTongPcpsAcquisition::connect(gr_top_block_sptr top_block)
+{
+
+ if (item_type_.compare("gr_complex") == 0)
+ {
+ top_block->connect(stream_to_vector_, 0, acquisition_cc_, 0);
+ }
+
+}
+
+void GpsL1CaTongPcpsAcquisition::disconnect(gr_top_block_sptr top_block)
+{
+
+ if (item_type_.compare("gr_complex") == 0)
+ {
+ top_block->disconnect(stream_to_vector_, 0, acquisition_cc_, 0);
+ }
+}
+
+gr_basic_block_sptr GpsL1CaTongPcpsAcquisition::get_left_block()
+{
+ return stream_to_vector_;
+}
+
+gr_basic_block_sptr GpsL1CaTongPcpsAcquisition::get_right_block()
+{
+ return acquisition_cc_;
+}
+
diff --git a/src/algorithms/acquisition/adapters/gps_l1_ca_tong_pcps_acquisition.h b/src/algorithms/acquisition/adapters/gps_l1_ca_tong_pcps_acquisition.h
new file mode 100644
index 000000000..e0919175d
--- /dev/null
+++ b/src/algorithms/acquisition/adapters/gps_l1_ca_tong_pcps_acquisition.h
@@ -0,0 +1,119 @@
+/*!
+ * \file gps_l1_ca_tong_pcps_acquisition.h
+ * \brief Brief description of the file here
+ * \author Luis Esteve, 2011. luis(at)epsilon-formacion.com
+ *
+ * Detailed description of the file here if needed.
+ *
+ * -------------------------------------------------------------------------
+ *
+ * Copyright (C) 2010-2011 (see AUTHORS file for a list of contributors)
+ *
+ * GNSS-SDR is a software defined Global Navigation
+ * Satellite Systems receiver
+ *
+ * This file is part of GNSS-SDR.
+ *
+ * GNSS-SDR 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 3 of the License, or
+ * at your option) any later version.
+ *
+ * GNSS-SDR 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 GNSS-SDR. If not, see .
+ *
+ * -------------------------------------------------------------------------
+ */
+
+#ifndef GPS_L1_CA_TONG_PCPS_ACQUISITION_H_
+#define GPS_L1_CA_TONG_PCPS_ACQUISITION_H_
+
+#include "acquisition_interface.h"
+
+#include "gps_l1_ca_tong_pcps_acquisition_cc.h"
+
+#include
+
+class ConfigurationInterface;
+
+class GpsL1CaTongPcpsAcquisition: public AcquisitionInterface
+{
+
+public:
+
+ GpsL1CaTongPcpsAcquisition(ConfigurationInterface* configuration,
+ std::string role, unsigned int in_streams,
+ unsigned int out_streams, gr_msg_queue_sptr queue);
+
+ virtual ~GpsL1CaTongPcpsAcquisition();
+
+ std::string role()
+ {
+ return role_;
+ }
+ std::string implementation()
+ {
+ return "Acquisition";
+ }
+ size_t item_size()
+ {
+ return item_size_;
+ }
+
+ void connect(gr_top_block_sptr top_block);
+ void disconnect(gr_top_block_sptr top_block);
+ gr_basic_block_sptr get_left_block();
+ gr_basic_block_sptr get_right_block();
+
+ void set_satellite(unsigned int satellite);
+ void set_channel(unsigned int channel);
+ void set_threshold(float threshold)
+ {
+ }
+ ;
+ void set_doppler_max(unsigned int doppler_max);
+ void set_doppler_step(unsigned int doppler_step);
+ void set_channel_queue(concurrent_queue *channel_internal_queue);
+ signed int prn_code_phase();
+ float doppler_freq_shift();
+
+ unsigned long int get_sample_stamp();
+
+ signed int mag();
+ void reset();
+
+private:
+
+ gps_l1_ca_tong_pcps_acquisition_cc_sptr acquisition_cc_;
+ gr_block_sptr stream_to_vector_;
+ gr_block_sptr complex_to_short_;
+ gr_block_sptr short_to_complex_;
+ size_t item_size_;
+ std::string item_type_;
+ unsigned int vector_length_;
+ unsigned int satellite_;
+ unsigned int channel_;
+ float threshold_;
+ unsigned int doppler_max_;
+ unsigned int doppler_step_;
+ unsigned int shift_resolution_;
+ unsigned int sampled_ms_;
+ long fs_in_;
+ long if_;
+ bool dump_;
+ std::string dump_filename_;
+
+ std::string role_;
+ unsigned int in_streams_;
+ unsigned int out_streams_;
+ gr_msg_queue_sptr queue_;
+ concurrent_queue *channel_internal_queue_;
+
+};
+
+#endif /* GPS_L1_CA_TONG_PCPS_ACQUISITION_H_ */
diff --git a/src/algorithms/acquisition/adapters/jamfile.jam b/src/algorithms/acquisition/adapters/jamfile.jam
new file mode 100644
index 000000000..7f5ce5159
--- /dev/null
+++ b/src/algorithms/acquisition/adapters/jamfile.jam
@@ -0,0 +1,5 @@
+project : build-dir ../../../../build ;
+
+obj gps_l1_ca_gps_sdr_acquisition : gps_l1_ca_gps_sdr_acquisition.cc ;
+obj gps_l1_ca_pcps_acquisition : gps_l1_ca_pcps_acquisition.cc ;
+obj gps_l1_ca_tong_pcps_acquisition : gps_l1_ca_tong_pcps_acquisition.cc ;
\ No newline at end of file
diff --git a/src/algorithms/acquisition/gnuradio_blocks/gps_l1_ca_gps_sdr_acquisition_cc.cc b/src/algorithms/acquisition/gnuradio_blocks/gps_l1_ca_gps_sdr_acquisition_cc.cc
new file mode 100644
index 000000000..a441f763c
--- /dev/null
+++ b/src/algorithms/acquisition/gnuradio_blocks/gps_l1_ca_gps_sdr_acquisition_cc.cc
@@ -0,0 +1,330 @@
+/*!
+ * \file gps_l1_ca_gps_sdr_acquisition_cc.cc
+ * \brief Brief description of the file here
+ * \author Carlos Aviles, 2010. carlos.avilesr(at)googlemail.com
+ * Luis Esteve, 2011. luis(at)epsilon-formacion.com
+ *
+ * Detailed description of the file here if needed.
+ *
+ * -------------------------------------------------------------------------
+ *
+ * Copyright (C) 2010-2011 (see AUTHORS file for a list of contributors)
+ *
+ * GNSS-SDR is a software defined Global Navigation
+ * Satellite Systems receiver
+ *
+ * This file is part of GNSS-SDR.
+ *
+ * GNSS-SDR 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 3 of the License, or
+ * at your option) any later version.
+ *
+ * GNSS-SDR 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 GNSS-SDR. If not, see .
+ *
+ * -------------------------------------------------------------------------
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "gps_l1_ca_gps_sdr_acquisition_cc.h"
+#include "control_message_factory.h"
+#include "gps_sdr_x86.h"
+#include
+#include
+#include
+#include
+#include
+
+using google::LogMessage;
+
+gps_l1_ca_gps_sdr_acquisition_cc_sptr gps_l1_ca_gps_sdr_make_acquisition_cc(
+ unsigned int sampled_ms, long freq, long fs_in, int samples_per_ms,
+ gr_msg_queue_sptr queue, bool dump, std::string dump_filename)
+{
+
+ return gps_l1_ca_gps_sdr_acquisition_cc_sptr(
+ new gps_l1_ca_gps_sdr_acquisition_cc(sampled_ms, freq, fs_in,
+ samples_per_ms, queue, dump, dump_filename));
+}
+
+gps_l1_ca_gps_sdr_acquisition_cc::gps_l1_ca_gps_sdr_acquisition_cc(
+ unsigned int sampled_ms, long freq, long fs_in, int samples_per_ms,
+ gr_msg_queue_sptr queue, bool dump, std::string dump_filename) :
+ gr_block("gps_l1_ca_gps_sdr_acquisition_cc", gr_make_io_signature(1, 1,
+ sizeof(gr_complex) * samples_per_ms), gr_make_io_signature(0, 0,
+ sizeof(gr_complex) * samples_per_ms))
+{
+
+ // SAMPLE COUNTER
+ d_sample_counter = 0;
+
+ d_active = false;
+ d_dump = dump;
+ d_queue = queue;
+ d_dump_filename = dump_filename;
+
+ d_freq = freq;
+ d_fs_in = fs_in;
+
+ d_samples_per_ms = samples_per_ms;
+ d_sampled_ms = sampled_ms;
+
+ d_doppler_max = 0;
+
+ d_satellite = 0;
+
+ d_fft_size = d_sampled_ms * d_samples_per_ms;
+
+ d_doppler_freq_phase = 0.0;
+ d_prn_code_phase = 0;
+ d_mag = 0;
+ d_mean = 0.0;
+
+ d_count = 0;
+
+ d_sine_if = new gr_complex[d_fft_size];
+ d_sine_250 = new gr_complex[d_fft_size];
+ d_sine_500 = new gr_complex[d_fft_size];
+ d_sine_750 = new gr_complex[d_fft_size];
+
+ d_fft_codes = (gr_complex*)malloc(sizeof(gr_complex) * d_samples_per_ms);
+
+ // Direct FFT
+ d_fft_if = new gri_fft_complex(d_fft_size, true);
+ d_fft_250 = new gri_fft_complex(d_fft_size, true);
+ d_fft_500 = new gri_fft_complex(d_fft_size, true);
+ d_fft_750 = new gri_fft_complex(d_fft_size, true);
+
+ // Inverse FFT
+ d_ifft = new gri_fft_complex(d_fft_size, false);
+
+ d_best_magnitudes = new float[d_fft_size];
+
+ sine_gen_complex(d_sine_if, -d_freq, d_fs_in, d_fft_size);
+ sine_gen_complex(d_sine_250, -d_freq - 250, d_fs_in, d_fft_size);
+ sine_gen_complex(d_sine_500, -d_freq - 500, d_fs_in, d_fft_size);
+ sine_gen_complex(d_sine_750, -d_freq - 750, d_fs_in, d_fft_size);
+
+ DLOG(INFO) << "fs in " << d_fs_in;
+ DLOG(INFO) << "Doppler max " << d_doppler_max;
+ DLOG(INFO) << "IF " << d_freq;
+ DLOG(INFO) << "Satellite " << d_satellite;
+ DLOG(INFO) << "Sampled_ms " << d_sampled_ms;
+ DLOG(INFO) << "FFT_size " << d_fft_size;
+ DLOG(INFO) << "dump filename " << d_dump_filename;
+ DLOG(INFO) << "dump " << d_dump;
+}
+
+gps_l1_ca_gps_sdr_acquisition_cc::~gps_l1_ca_gps_sdr_acquisition_cc()
+{
+ delete d_sine_if;
+ delete d_sine_250;
+ delete d_sine_500;
+ delete d_sine_750;
+ delete d_fft_codes;
+ delete d_fft_if;
+ delete d_fft_250;
+ delete d_fft_500;
+ delete d_fft_750;
+
+ if (d_dump)
+ {
+ d_dump_file.close();
+ }
+}
+
+void gps_l1_ca_gps_sdr_acquisition_cc::set_satellite(unsigned int satellite)
+{
+ d_satellite = satellite;
+ d_prn_code_phase = 0;
+ d_doppler_freq_phase = 0;
+ d_mag = 0;
+ // Now the GPS codes are generated on the fly using a custom version of the GPS code generator
+ code_gen_complex_sampled(d_fft_if->get_inbuf(), satellite, d_fs_in, 0);
+ d_fft_if->execute(); // We need the FFT of GPS C/A code
+ memcpy(d_fft_codes, d_fft_if->get_outbuf(), sizeof(gr_complex)
+ * d_samples_per_ms);
+}
+
+signed int gps_l1_ca_gps_sdr_acquisition_cc::prn_code_phase()
+{
+ return d_prn_code_phase;
+}
+
+int gps_l1_ca_gps_sdr_acquisition_cc::general_work(int noutput_items,
+ gr_vector_int &ninput_items, gr_vector_const_void_star &input_items,
+ gr_vector_void_star &output_items)
+{
+ if (!d_active)
+ {
+ d_sample_counter += d_fft_size * noutput_items; // sample counter
+ consume_each(noutput_items);
+ return 0;
+ }
+
+ d_sample_counter += d_fft_size; // sample counter
+ bool positive_acquisition = false;
+ int acquisition_message = -1; //0=STOP_CHANNEL 1=ACQ_SUCCEES 2=ACQ_FAIL
+
+ LOG_AT_LEVEL(INFO) << "Channel: " << d_channel
+ << " , doing acquisition of satellite: " << d_satellite
+ << " ,at sample stamp: " << d_sample_counter;
+
+ const gr_complex *in = (const gr_complex *)input_items[0];
+
+ //Perform the carrier wipe-off
+ for (unsigned int j = 0; j < d_fft_size; j++)
+ {
+ d_fft_if->get_inbuf()[j] = in[j] * d_sine_if[j];
+ d_fft_250->get_inbuf()[j] = in[j] * d_sine_250[j];
+ d_fft_500->get_inbuf()[j] = in[j] * d_sine_500[j];
+ d_fft_750->get_inbuf()[j] = in[j] * d_sine_750[j];
+ }
+ // Perform the FFT of the resulting signal
+ d_fft_if->execute();
+ d_fft_250->execute();
+ d_fft_500->execute();
+ d_fft_750->execute();
+
+ //----------------------------------------------------------------------
+
+ //---Calculate cross-correlation magnitudes using:
+ //----> the circular convolution property of FFT:
+ //----> the frequency-shift property of the FFT: y(t)=exp(jw0t)x(t) -> Y(w)=X(w-w0)
+ for (int j = (int)-(d_doppler_max / 1000); j < (int)d_doppler_max / 1000; j++)
+ { // doppler search steps
+ calculate_magnitudes(d_fft_if->get_outbuf(), j, 0);
+ calculate_magnitudes(d_fft_250->get_outbuf(), j, 1);
+ calculate_magnitudes(d_fft_500->get_outbuf(), j, 2);
+ calculate_magnitudes(d_fft_750->get_outbuf(), j, 3);
+ }
+
+ if (d_dump)
+ {
+ std::stringstream ss;
+ ss << "./data/acquisition_" << d_channel << "_" << d_satellite << "_"
+ << d_count << ".dat";
+ d_dump_file.open(ss.str().c_str(), std::ios::out | std::ios::binary);
+ std::streamsize n = sizeof(float) * (d_fft_size);
+ d_dump_file.write((char*)d_best_magnitudes, n);
+ d_dump_file.close();
+ }
+
+ if (d_test_statistics > d_threshold)
+ { //TODO: Include in configuration parameters and check value!!
+
+ positive_acquisition = true;
+ d_acq_sample_stamp = d_sample_counter;
+
+ LOG_AT_LEVEL(INFO) << "POSITIVE ACQUISITION of channel " << d_channel;
+ LOG_AT_LEVEL(INFO) << "Satellite " << d_satellite;
+ LOG_AT_LEVEL(INFO) << "Code Phase " << d_prn_code_phase;
+ LOG_AT_LEVEL(INFO) << "Doppler " << d_doppler_freq_phase;
+ LOG_AT_LEVEL(INFO) << "Magnitude " << d_mag;
+ LOG_AT_LEVEL(INFO) << "Mean " << d_mean;
+ LOG_AT_LEVEL(INFO) << "Test statistics value " << d_test_statistics;
+ LOG_AT_LEVEL(INFO) << "Test statistics threshold " << d_threshold;
+ LOG_AT_LEVEL(INFO) << "Acq sample stamp " << d_acq_sample_stamp;
+ }
+ else
+ {
+ LOG_AT_LEVEL(INFO) << "NEGATIVE ACQUISITION of channel " << d_channel;
+ LOG_AT_LEVEL(INFO) << "Satellite " << d_satellite;
+ LOG_AT_LEVEL(INFO) << "Test statistics value " << d_test_statistics;
+ LOG_AT_LEVEL(INFO) << "Test statistics threshold " << d_threshold;
+ LOG_AT_LEVEL(INFO) << "Acq sample stamp " << d_acq_sample_stamp;
+ }
+ d_active = false;
+
+ LOG_AT_LEVEL(INFO) << "d_count " << d_count;
+
+ if (positive_acquisition)
+ {
+ acquisition_message = 1;
+ }
+ else
+ {
+ acquisition_message = 2;
+ }
+
+ d_channel_internal_queue->push(acquisition_message);
+
+ return 0;
+}
+
+void gps_l1_ca_gps_sdr_acquisition_cc::calculate_magnitudes(
+ gr_complex* fft_signal, int doppler_shift, int doppler_offset)
+{
+
+ unsigned int indext = 0;
+ float magt = 0.0;
+ std::complex tmp_cpx;
+
+ // FFT frequency-shift property
+ if (doppler_shift != 0)
+ {
+ for (unsigned int i = 0; i < d_fft_size; i++)
+ {
+ //complex conjugate (optimize me!)
+ tmp_cpx = std::complex(d_fft_codes[i].real(),
+ -d_fft_codes[i].imag());
+ d_ifft->get_inbuf()[i] = fft_signal[(doppler_shift + i
+ + d_fft_size) % d_fft_size] * tmp_cpx;
+ }
+ }
+ else
+ {
+ for (unsigned int i = 0; i < d_fft_size; i++)
+ {
+ //complex conjugate (optimize me!)
+ tmp_cpx = std::complex(d_fft_codes[i].real(),
+ -d_fft_codes[i].imag());
+ d_ifft->get_inbuf()[i] = fft_signal[i] * tmp_cpx;
+ }
+ }
+
+ d_ifft->execute(); // inverse FFT of the result = convolution in time
+
+ x86_gr_complex_mag(d_ifft->get_outbuf(), d_fft_size); // d_ifft->get_outbuf()=|abs(·)|^2
+ x86_float_max((float*)d_ifft->get_outbuf(), &indext, &magt, d_fft_size); // find max of |abs(·)|^2 -> index and magt
+
+ if (magt > d_mag)
+ { // if the magnitude is > threshold
+
+ // save the synchronization parameters
+ d_mag = magt;
+ d_prn_code_phase = indext;
+ d_doppler_freq_phase = -((doppler_shift * 1000.0) + (doppler_offset
+ * 250.0));
+ // save the circular correlation of this Doppler shift
+ memcpy(d_best_magnitudes, d_ifft->get_outbuf(), sizeof(float)
+ * d_fft_size);
+
+ // Remove the maximum and its neighbours to calculate the mean
+ ((float*)d_ifft->get_outbuf())[indext] = 0.0;
+ if (indext != 0)
+ {
+ ((float*)d_ifft->get_outbuf())[indext - 1] = 0.0;
+ }
+ if (indext != d_fft_size - 1)
+ {
+ ((float*)d_ifft->get_outbuf())[indext + 1] = 0.0;
+ }
+
+ for (unsigned int i = 0; i < d_fft_size; i++)
+ {
+ d_mean += ((float*)d_ifft->get_outbuf())[i];
+ }
+ d_mean = d_mean / d_fft_size;
+ d_test_statistics = d_mag / d_mean;
+ }
+}
diff --git a/src/algorithms/acquisition/gnuradio_blocks/gps_l1_ca_gps_sdr_acquisition_cc.h b/src/algorithms/acquisition/gnuradio_blocks/gps_l1_ca_gps_sdr_acquisition_cc.h
new file mode 100644
index 000000000..be6e50dda
--- /dev/null
+++ b/src/algorithms/acquisition/gnuradio_blocks/gps_l1_ca_gps_sdr_acquisition_cc.h
@@ -0,0 +1,166 @@
+/*!
+ * \file gps_l1_ca_gps_sdr_acquisition_cc.h
+ * \brief Brief description of the file here
+ * \author Carlos Aviles, 2010. carlos.avilesr(at)googlemail.com
+ * Luis Esteve, 2011. luis(at)epsilon-formacion.com
+ *
+ * Detailed description of the file here if needed.
+ *
+ * -------------------------------------------------------------------------
+ *
+ * Copyright (C) 2010-2011 (see AUTHORS file for a list of contributors)
+ *
+ * GNSS-SDR is a software defined Global Navigation
+ * Satellite Systems receiver
+ *
+ * This file is part of GNSS-SDR.
+ *
+ * GNSS-SDR 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 3 of the License, or
+ * at your option) any later version.
+ *
+ * GNSS-SDR 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 GNSS-SDR. If not, see .
+ *
+ * -------------------------------------------------------------------------
+ */
+
+#ifndef INCLUDED_GPS_L1_CA_GPS_SDR_ACQUISITION_CC_H
+#define INCLUDED_GPS_L1_CA_GPS_SDR_ACQUISITION_CC_H
+
+#include
+
+#include
+#include
+#include
+#include
+
+#include
+#include
+#include
+#include "concurrent_queue.h"
+
+class gps_l1_ca_gps_sdr_acquisition_cc;
+typedef boost::shared_ptr
+ gps_l1_ca_gps_sdr_acquisition_cc_sptr;
+gps_l1_ca_gps_sdr_acquisition_cc_sptr
+gps_l1_ca_gps_sdr_make_acquisition_cc(unsigned int sampled_ms, long freq,
+ long fs_in, int samples_per_ms, gr_msg_queue_sptr queue, bool dump,
+ std::string dump_filename);
+
+class gps_l1_ca_gps_sdr_acquisition_cc: public gr_block
+{
+
+private:
+
+ friend gps_l1_ca_gps_sdr_acquisition_cc_sptr
+ gps_l1_ca_gps_sdr_make_acquisition_cc(unsigned int sampled_ms, long freq,
+ long fs_in, int samples_per_ms, gr_msg_queue_sptr queue,
+ bool dump, std::string dump_filename);
+
+ gps_l1_ca_gps_sdr_acquisition_cc(unsigned int sampled_ms, long freq,
+ long fs_in, int samples_per_ms, gr_msg_queue_sptr queue,
+ bool dump, std::string dump_filename);
+
+ void calculate_magnitudes(gr_complex* fft_begin, int doppler_shift,
+ int doppler_offset);
+
+ long d_fs_in;
+ long d_freq;
+ int d_samples_per_ms;
+ unsigned int d_satellite;
+ float d_threshold;
+ std::string d_satellite_str;
+ unsigned int d_doppler_max;
+ unsigned int d_sampled_ms;
+ unsigned int d_fft_size;
+ unsigned long int d_sample_counter;
+ unsigned long int d_acq_sample_stamp;
+
+ gr_complex* d_baseband_signal;
+ gr_complex* d_sine_if;
+ gr_complex* d_sine_250;
+ gr_complex* d_sine_500;
+ gr_complex* d_sine_750;
+ gr_complex* d_fft_codes;
+
+ gri_fft_complex* d_fft_if;
+ gri_fft_complex* d_fft_250;
+ gri_fft_complex* d_fft_500;
+ gri_fft_complex* d_fft_750;
+ gri_fft_complex* d_ifft;
+
+ float* d_best_magnitudes;
+
+ unsigned int d_prn_code_phase;
+ float d_doppler_freq_phase;
+ float d_mag;
+ float d_mean;
+ float d_test_statistics;
+
+ gr_msg_queue_sptr d_queue;
+ concurrent_queue *d_channel_internal_queue;
+
+ std::ofstream d_dump_file;
+
+ unsigned int d_count;
+
+ bool d_active;
+ bool d_dump;
+ unsigned int d_channel;
+ std::string d_dump_filename;
+
+public:
+
+ ~gps_l1_ca_gps_sdr_acquisition_cc();
+
+ signed int prn_code_phase();
+ float doppler_freq_phase()
+ {
+ return d_doppler_freq_phase;
+ }
+ unsigned int mag()
+ {
+ return d_mag;
+ }
+
+ unsigned long int get_sample_stamp()
+ {
+ return d_acq_sample_stamp;
+ }
+
+ void set_satellite(unsigned int satellite);
+ void set_active(bool active)
+ {
+ d_active = active;
+ }
+ void set_channel(unsigned int channel)
+ {
+ d_channel = channel;
+ }
+ void set_threshold(float threshold)
+ {
+ d_threshold = threshold;
+ }
+ void set_doppler_max(unsigned int doppler_max)
+ {
+ d_doppler_max = doppler_max;
+ }
+
+ void set_channel_queue(concurrent_queue *channel_internal_queue)
+ {
+ d_channel_internal_queue = channel_internal_queue;
+ }
+
+ int general_work(int noutput_items, gr_vector_int &ninput_items,
+ gr_vector_const_void_star &input_items,
+ gr_vector_void_star &output_items);
+};
+
+#endif /* INCLUDED_GPS_L1_CA_GPS_SDR_ACQUISITION_CC_H */
diff --git a/src/algorithms/acquisition/gnuradio_blocks/gps_l1_ca_gps_sdr_acquisition_ss.cc b/src/algorithms/acquisition/gnuradio_blocks/gps_l1_ca_gps_sdr_acquisition_ss.cc
new file mode 100644
index 000000000..b6cf68db9
--- /dev/null
+++ b/src/algorithms/acquisition/gnuradio_blocks/gps_l1_ca_gps_sdr_acquisition_ss.cc
@@ -0,0 +1,276 @@
+/*!
+ * \file gps_l1_ca_gps_sdr_acquisition_ss.cc
+ * \brief Brief description of the file here
+ * \author Carlos Aviles, 2010. carlos.avilesr(at)googlemail.com
+ * Luis Esteve, 2011. luis(at)epsilon-formacion.com
+ *
+ * Detailed description of the file here if needed.
+ *
+ * -------------------------------------------------------------------------
+ *
+ * Copyright (C) 2010-2011 (see AUTHORS file for a list of contributors)
+ *
+ * GNSS-SDR is a software defined Global Navigation
+ * Satellite Systems receiver
+ *
+ * This file is part of GNSS-SDR.
+ *
+ * GNSS-SDR 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 3 of the License, or
+ * at your option) any later version.
+ *
+ * GNSS-SDR 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 GNSS-SDR. If not, see .
+ *
+ * -------------------------------------------------------------------------
+ */
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "gps_l1_ca_gps_sdr_acquisition_ss.h"
+
+#include "gps_sdr_simd.h"
+#include "gps_sdr_fft.h"
+#include "gps_sdr_prn_codes_short.h"
+#include "control_message_factory.h"
+#include "gps_sdr_x86.h"
+
+#include
+
+#include
+
+#include
+#include
+
+using google::LogMessage;
+
+gps_l1_ca_gps_sdr_acquisition_ss_sptr gps_l1_ca_gps_sdr_make_acquisition_ss(
+ unsigned int sampled_ms, long freq, long fs_in, int samples_per_ms,
+ gr_msg_queue_sptr queue, bool dump, std::string dump_filename)
+{
+
+ return gps_l1_ca_gps_sdr_acquisition_ss_sptr(
+ new gps_l1_ca_gps_sdr_acquisition_ss(sampled_ms, freq, fs_in,
+ samples_per_ms, queue, dump, dump_filename));
+}
+
+gps_l1_ca_gps_sdr_acquisition_ss::gps_l1_ca_gps_sdr_acquisition_ss(
+ unsigned int sampled_ms, long freq, long fs_in, int samples_per_ms,
+ gr_msg_queue_sptr queue, bool dump, std::string dump_filename) :
+ gr_block("gps_l1_ca_gps_sdr_acquisition_ss", gr_make_io_signature(1, 1,
+ sizeof(short) * 2 * samples_per_ms), gr_make_io_signature(0, 0,
+ sizeof(short) * 2 * samples_per_ms))
+{
+
+ // SAMPLE COUNTER
+ d_sample_counter = 0;
+
+ d_active = false;
+ d_dump = dump;
+ d_queue = queue;
+ d_dump_filename = dump_filename;
+
+ d_fs_in = fs_in;
+ d_samples_per_ms = samples_per_ms;
+ d_doppler_resolution = 4;
+ d_freq = freq;
+ d_satellite = 0;
+ d_doppler_max = 0;
+ d_sampled_ms = sampled_ms;
+ d_fft_size = d_sampled_ms * d_samples_per_ms;
+
+ d_doppler_freq_shift = 0.0;
+ d_prn_code_phase = 0;
+ d_mag = 0;
+
+ d_sine_if = new CPX[d_fft_size];
+ d_sine_250 = new CPX[d_fft_size];
+ d_sine_500 = new CPX[d_fft_size];
+ d_sine_750 = new CPX[d_fft_size];
+
+ d_baseband_signal = new CPX[d_doppler_resolution * d_fft_size];
+ d_baseband_signal_shift = new CPX[d_doppler_resolution * (d_fft_size
+ + 201)];
+
+ signed int R1[16] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
+ d_pFFT = new FFT(d_fft_size, R1);
+
+ signed int R2[16] = { 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1 };
+ d_piFFT = new FFT(d_fft_size, R2);
+
+ for (int i = 0; i < 32; i++)
+ {
+ d_fft_codes[i] = (CPX *)&PRN_Codes_Short[sizeof(short) * i
+ * d_samples_per_ms];
+ }
+
+ sine_gen(d_sine_if, -d_freq, d_fs_in, d_fft_size);
+ sine_gen(d_sine_250, -d_freq - 250, d_fs_in, d_fft_size);
+ sine_gen(d_sine_500, -d_freq - 500, d_fs_in, d_fft_size);
+ sine_gen(d_sine_750, -d_freq - 750, d_fs_in, d_fft_size);
+
+ DLOG(INFO) << "fs in " << d_fs_in;
+ DLOG(INFO) << "samples per ms " << d_samples_per_ms;
+ DLOG(INFO) << "doppler resolution " << d_doppler_resolution;
+ DLOG(INFO) << "freq " << d_freq;
+ DLOG(INFO) << "satellite " << d_satellite;
+ DLOG(INFO) << "sampled_ms " << d_sampled_ms;
+ DLOG(INFO) << "fft_size " << d_fft_size;
+ DLOG(INFO) << "dump filename " << d_dump_filename;
+ DLOG(INFO) << "dump " << d_dump;
+}
+
+gps_l1_ca_gps_sdr_acquisition_ss::~gps_l1_ca_gps_sdr_acquisition_ss()
+{
+ delete d_baseband_signal;
+ delete d_baseband_signal_shift;
+ delete d_sine_if;
+ delete d_sine_250;
+ delete d_sine_500;
+ delete d_sine_750;
+ delete d_pFFT;
+ delete d_piFFT;
+
+ if (d_dump)
+ {
+ d_dump_file.close();
+ }
+}
+
+void gps_l1_ca_gps_sdr_acquisition_ss::set_satellite(unsigned int satellite)
+{
+ d_satellite = satellite;
+ d_prn_code_phase = 0;
+ d_doppler_freq_shift = 0;
+ d_mag = 0;
+ DLOG(INFO) << "satellite set to " << d_satellite;
+}
+
+signed int gps_l1_ca_gps_sdr_acquisition_ss::prn_code_phase()
+{
+ return d_prn_code_phase;
+}
+
+int gps_l1_ca_gps_sdr_acquisition_ss::general_work(int noutput_items,
+ gr_vector_int &ninput_items, gr_vector_const_void_star &input_items,
+ gr_vector_void_star &output_items)
+{
+
+ if (!d_active)
+ {
+ d_sample_counter += d_fft_size * noutput_items; // sample counter
+ consume_each(noutput_items);
+ }
+ else
+ {
+ d_sample_counter += d_fft_size; // sample counter
+
+ const CPX *in = (const CPX *)input_items[0];
+
+ CPX* buffer = new CPX[d_fft_size];
+
+ signed int index = 0;
+ unsigned int indext = 0;
+ unsigned int magt = 0;
+
+ DLOG(INFO) << "copied " << (d_fft_size * sizeof(CPX))
+ << " bytes into buffer (" << d_fft_size << " samples)";
+ memcpy(d_baseband_signal, in, d_fft_size * sizeof(CPX));
+
+ sse_cmulsc(d_baseband_signal, d_sine_250,
+ &d_baseband_signal[d_fft_size], d_fft_size, 14);
+ sse_cmulsc(d_baseband_signal, d_sine_500, &d_baseband_signal[2
+ * d_fft_size], d_fft_size, 14);
+ sse_cmulsc(d_baseband_signal, d_sine_750, &d_baseband_signal[3
+ * d_fft_size], d_fft_size, 14);
+
+ sse_cmuls(d_baseband_signal, d_sine_if, d_fft_size, 14);
+
+ for (unsigned int i = 0; i < d_doppler_resolution; i++)
+ {
+ d_pFFT->doFFT(&d_baseband_signal[i * d_fft_size], true);
+ memcpy(&d_baseband_signal_shift[i * (d_fft_size + 201)],
+ &d_baseband_signal[(i + 1) * d_fft_size - 100], 100
+ * sizeof(CPX));
+ memcpy(&d_baseband_signal_shift[(i * (d_fft_size + 201)) + 100],
+ &d_baseband_signal[i * d_fft_size], d_fft_size
+ * sizeof(CPX));
+ memcpy(&d_baseband_signal_shift[(i * (d_fft_size + 201)) + 100
+ + d_fft_size], &d_baseband_signal[i * d_fft_size], 100
+ * sizeof(CPX));
+ }
+
+ // Here begins the actual acquisition process.
+
+ for (int i = -d_doppler_max / 1000; i < (int)d_doppler_max / 1000; i++)
+ {
+ for (unsigned int j = 0; j < d_doppler_resolution; j++)
+ {
+ sse_cmulsc(&d_baseband_signal_shift[(j * (d_fft_size + 201))
+ + 100 + i], d_fft_codes[d_satellite], buffer,
+ d_fft_size, 10);
+ d_piFFT->doiFFT(buffer, true);
+ x86_cmag(buffer, d_fft_size);
+ x86_max((unsigned int *)buffer, &indext, &magt, d_fft_size);
+
+ if (magt > d_mag)
+ {
+ d_mag = magt;
+ index = indext;
+ d_prn_code_phase = ceil((index * d_samples_per_ms)
+ / d_fft_size);
+ d_doppler_freq_shift = (i * 1000.0) + (j * 250.0);
+
+ if (d_dump)
+ {
+ d_dump_file.open(d_dump_filename.c_str(),
+ std::ios::out | std::ios::binary);
+ std::streamsize n = sizeof(unsigned int) * d_fft_size;
+ d_dump_file.write((char*)buffer, n);
+ d_dump_file.close();
+ }
+ }
+ }
+ }
+
+ DLOG(INFO) << "satellite " << d_satellite;
+ //result->code_phase = 2048 - index;
+ DLOG(INFO) << "code phase " << d_prn_code_phase;
+ //result->doppler = (lcv*1000) + (float)lcv2*250;
+ DLOG(INFO) << "doppler " << d_doppler_freq_shift;
+ //result->magnitude = mag;
+ DLOG(INFO) << "magnitude " << d_mag;
+
+ d_active = false;
+
+ delete buffer;
+
+ DLOG(INFO) << "Acquisition done";
+
+ int acquisition_message = -1; //0=STOP_CHANNEL 1=ACQ_SUCCEES 2=ACQ_FAIL
+
+ if (d_mag > d_threshold)
+ {
+ d_acq_sample_stamp = d_sample_counter;
+ acquisition_message = 1; //ACQ_SUCCES
+ }
+ else
+ {
+ acquisition_message = 2; //ACQ_FAIL
+
+ }
+
+ d_channel_internal_queue->push(acquisition_message);
+
+ consume_each(1);
+ }
+ return 0;
+
+}
diff --git a/src/algorithms/acquisition/gnuradio_blocks/gps_l1_ca_gps_sdr_acquisition_ss.h b/src/algorithms/acquisition/gnuradio_blocks/gps_l1_ca_gps_sdr_acquisition_ss.h
new file mode 100644
index 000000000..6ba2d1b7b
--- /dev/null
+++ b/src/algorithms/acquisition/gnuradio_blocks/gps_l1_ca_gps_sdr_acquisition_ss.h
@@ -0,0 +1,155 @@
+/*!
+ * \file gps_l1_ca_gps_sdr_acquisition_ss.h
+ * \brief Brief description of the file here
+ * \author Carlos Aviles, 2010. carlos.avilesr(at)googlemail.com
+ * Luis Esteve, 2011. luis(at)epsilon-formacion.com
+ *
+ * Detailed description of the file here if needed.
+ *
+ * -------------------------------------------------------------------------
+ *
+ * Copyright (C) 2010-2011 (see AUTHORS file for a list of contributors)
+ *
+ * GNSS-SDR is a software defined Global Navigation
+ * Satellite Systems receiver
+ *
+ * This file is part of GNSS-SDR.
+ *
+ * GNSS-SDR 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 3 of the License, or
+ * at your option) any later version.
+ *
+ * GNSS-SDR 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 GNSS-SDR. If not, see .
+ *
+ * -------------------------------------------------------------------------
+ */
+
+#ifndef INCLUDED_GPS_L1_CA_GPS_SDR_ACQUISITION_SS_H
+#define INCLUDED_GPS_L1_CA_GPS_SDR_ACQUISITION_SS_H
+
+#include
+
+#include
+#include
+#include "gps_sdr_signal_processing.h"
+
+#include
+#include
+#include
+#include "concurrent_queue.h"
+
+
+class FFT;
+
+class gps_l1_ca_gps_sdr_acquisition_ss;
+typedef boost::shared_ptr
+ gps_l1_ca_gps_sdr_acquisition_ss_sptr;
+gps_l1_ca_gps_sdr_acquisition_ss_sptr
+gps_l1_ca_gps_sdr_make_acquisition_ss(unsigned int sampled_ms, long freq,
+ long fs_in, int samples_per_ms, gr_msg_queue_sptr queue, bool dump,
+ std::string dump_filename);
+
+class gps_l1_ca_gps_sdr_acquisition_ss: public gr_block
+{
+
+private:
+
+ friend gps_l1_ca_gps_sdr_acquisition_ss_sptr
+ gps_l1_ca_gps_sdr_make_acquisition_ss(unsigned int sampled_ms, long freq,
+ long fs_in, int samples_per_ms, gr_msg_queue_sptr queue,
+ bool dump, std::string dump_filename);
+
+ gps_l1_ca_gps_sdr_acquisition_ss(unsigned int sampled_ms, long freq,
+ long fs_in, int samples_per_ms, gr_msg_queue_sptr queue,
+ bool dump, std::string dump_filename);
+
+ long d_fs_in;
+ long d_freq;
+ int d_samples_per_ms;
+ unsigned int d_satellite;
+ float d_threshold;
+ unsigned int d_doppler_max;
+ unsigned int d_doppler_resolution;
+ unsigned int d_sampled_ms;
+ unsigned int d_fft_size;
+ unsigned long int d_sample_counter;
+ unsigned long int d_acq_sample_stamp;
+
+ CPX* d_baseband_signal;
+ CPX* d_baseband_signal_shift;
+ CPX* d_sine_if;
+ CPX* d_sine_250;
+ CPX* d_sine_500;
+ CPX* d_sine_750;
+ FFT* d_pFFT;
+ FFT* d_piFFT;
+ CPX* d_fft_codes[32];
+
+ signed int d_prn_code_phase;
+ float d_doppler_freq_shift;
+ unsigned int d_mag;
+
+ gr_msg_queue_sptr d_queue;
+ concurrent_queue *d_channel_internal_queue;
+ std::ofstream d_dump_file;
+
+ bool d_active;
+ bool d_dump;
+ unsigned int d_channel;
+ std::string d_dump_filename;
+
+public:
+
+ ~gps_l1_ca_gps_sdr_acquisition_ss();
+
+ signed int prn_code_phase();
+ float doppler_freq_phase()
+ {
+ return d_doppler_freq_shift;
+ }
+ unsigned int mag()
+ {
+ return d_mag;
+ }
+
+ unsigned long int get_sample_stamp()
+ {
+ return d_acq_sample_stamp;
+ }
+
+ void set_satellite(unsigned int satellite);
+ void set_active(bool active)
+ {
+ d_active = active;
+ }
+ void set_channel(unsigned int channel)
+ {
+ d_channel = channel;
+ }
+ void set_threshold(float threshold)
+ {
+ d_threshold = threshold;
+ }
+ void set_doppler_max(unsigned int doppler_max)
+ {
+ d_doppler_max = doppler_max;
+ }
+
+ void set_channel_queue(concurrent_queue *channel_internal_queue)
+ {
+ d_channel_internal_queue = channel_internal_queue;
+ }
+
+ int general_work(int noutput_items, gr_vector_int &ninput_items,
+ gr_vector_const_void_star &input_items,
+ gr_vector_void_star &output_items);
+};
+
+#endif /* INCLUDED_GPS_L1_CA_GPS_SDR_ACQUISITION_SS_H */
diff --git a/src/algorithms/acquisition/gnuradio_blocks/gps_l1_ca_pcps_acquisition_cc.cc b/src/algorithms/acquisition/gnuradio_blocks/gps_l1_ca_pcps_acquisition_cc.cc
new file mode 100644
index 000000000..513b6b33f
--- /dev/null
+++ b/src/algorithms/acquisition/gnuradio_blocks/gps_l1_ca_pcps_acquisition_cc.cc
@@ -0,0 +1,319 @@
+/*!
+ * \file gps_l1_ca_pcps_acquisition_cc.h
+ * \brief Brief description of the file here
+ * \author Javier Arribas, 2011. jarribas(at)cttc.es
+ * Luis Esteve, 2011. luis(at)epsilon-formacion.com
+ *
+ * Detailed description of the file here if needed.
+ *
+ * -------------------------------------------------------------------------
+ *
+ * Copyright (C) 2010-2011 (see AUTHORS file for a list of contributors)
+ *
+ * GNSS-SDR is a software defined Global Navigation
+ * Satellite Systems receiver
+ *
+ * This file is part of GNSS-SDR.
+ *
+ * GNSS-SDR 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 3 of the License, or
+ * at your option) any later version.
+ *
+ * GNSS-SDR 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 GNSS-SDR. If not, see .
+ *
+ * -------------------------------------------------------------------------
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "gps_l1_ca_pcps_acquisition_cc.h"
+#include "gps_sdr_signal_processing.h"
+#include "control_message_factory.h"
+#include "gps_sdr_x86.h"
+
+#include
+
+#include
+
+#include
+#include
+
+using google::LogMessage;
+
+gps_l1_ca_pcps_acquisition_cc_sptr gps_l1_ca_pcps_make_acquisition_cc(
+ unsigned int sampled_ms, unsigned int doppler_max, long freq,
+ long fs_in, int samples_per_ms, gr_msg_queue_sptr queue, bool dump,
+ std::string dump_filename)
+{
+
+ return gps_l1_ca_pcps_acquisition_cc_sptr(
+ new gps_l1_ca_pcps_acquisition_cc(sampled_ms, doppler_max, freq,
+ fs_in, samples_per_ms, queue, dump, dump_filename));
+}
+
+gps_l1_ca_pcps_acquisition_cc::gps_l1_ca_pcps_acquisition_cc(
+ unsigned int sampled_ms, unsigned int doppler_max, long freq,
+ long fs_in, int samples_per_ms, gr_msg_queue_sptr queue, bool dump,
+ std::string dump_filename) :
+ gr_block("gps_l1_ca_pcps_acquisition_cc", gr_make_io_signature(1, 1,
+ sizeof(gr_complex) * samples_per_ms), gr_make_io_signature(0, 0,
+ sizeof(gr_complex) * samples_per_ms))
+{
+
+ // SAMPLE COUNTER
+ d_sample_counter = 0;
+
+ d_active = false;
+ d_dump = dump;
+ d_queue = queue;
+ d_dump_filename = dump_filename;
+
+ d_freq = freq;
+ d_fs_in = fs_in;
+
+ d_samples_per_ms = samples_per_ms;
+ d_sampled_ms = sampled_ms;
+
+ d_doppler_max = doppler_max;
+
+ d_satellite = 0;
+
+ d_fft_size = d_sampled_ms * d_samples_per_ms;
+
+ d_doppler_freq = 0.0;
+ d_code_phase = 0;
+ d_mag = 0;
+ d_input_power = 0.0;
+
+ d_sine_if = new gr_complex[d_fft_size];
+
+ d_fft_codes = (gr_complex*)malloc(sizeof(gr_complex) * d_samples_per_ms);
+
+ // Direct FFT
+ d_fft_if = new gri_fft_complex(d_fft_size, true);
+
+ // Inverse FFT
+ d_ifft = new gri_fft_complex(d_fft_size, false);
+
+ DLOG(INFO) << "fs in " << d_fs_in;
+ DLOG(INFO) << "samples per ms " << d_samples_per_ms;
+ DLOG(INFO) << "doppler max " << d_doppler_max;
+ DLOG(INFO) << "freq " << d_freq;
+ DLOG(INFO) << "satellite " << d_satellite;
+ DLOG(INFO) << "sampled_ms " << d_sampled_ms;
+ DLOG(INFO) << "fft_size " << d_fft_size;
+ DLOG(INFO) << "dump filename " << d_dump_filename;
+ DLOG(INFO) << "dump " << d_dump;
+}
+
+gps_l1_ca_pcps_acquisition_cc::~gps_l1_ca_pcps_acquisition_cc()
+{
+ delete d_sine_if;
+ delete d_fft_codes;
+
+ if (d_dump)
+ {
+ d_dump_file.close();
+ }
+}
+
+void gps_l1_ca_pcps_acquisition_cc::set_satellite(unsigned int satellite)
+{
+ d_satellite = satellite;
+ d_code_phase = 0;
+ d_doppler_freq = 0;
+ d_mag = 0;
+ d_input_power = 0.0;
+
+ // Now the GPS codes are generated on the fly using a custom version of the GPS code generator
+ code_gen_complex_sampled(d_fft_if->get_inbuf(), satellite, d_fs_in, 0);
+ d_fft_if->execute(); // We need the FFT of GPS C/A code
+ //Conjugate the local code
+ //TODO Optimize it !
+ for (unsigned int i = 0; i < d_fft_size; i++)
+ {
+ d_fft_codes[i] = std::complex(
+ d_fft_if->get_outbuf()[i].real(),
+ -d_fft_if->get_outbuf()[i].imag());
+ d_fft_codes[i] = d_fft_codes[i] / (float)d_fft_size; //to correct the scale factor introduced by FFTW
+ }
+ //memcpy(d_fft_codes,d_fft_if->get_outbuf(),sizeof(gr_complex)*d_samples_per_ms);
+
+ // std::stringstream filename;
+ // std::streamsize n = 2*sizeof(float)*(d_fft_size); // complex file write
+ // filename.str("");
+ // filename << "./data/code.dat";
+ // std::cout<get_inbuf(), n); //write directly |abs(·)|^2 in this Doppler bin
+ // //d_dump_file.write((char*)d_sine_if, n); //to be read with read_complex_binary() -> test OK
+ // d_dump_file.close();
+}
+signed int gps_l1_ca_pcps_acquisition_cc::prn_code_phase()
+{
+ return d_code_phase;
+}
+
+int gps_l1_ca_pcps_acquisition_cc::general_work(int noutput_items,
+ gr_vector_int &ninput_items, gr_vector_const_void_star &input_items,
+ gr_vector_void_star &output_items)
+{
+
+ /*!
+ * By J.Arribas
+ * Acquisition A strategy (Kay Borre book + CFAR threshold):
+ * 1º- Compute the input signal power estimation
+ * 2º- Doppler serial search loop
+ * 3º- Perform the FFT-based circular convolution (parallel time search)
+ * 4º- record the maximum peak and the associated synchronization parameters
+ * 5º- Compute the test statistics and compare to the threshold
+ * 6º- Declare positive or negative acquisition using a message queue
+ */
+
+ if (!d_active)
+ {
+ d_sample_counter += d_fft_size * noutput_items; // sample counter
+ consume_each(noutput_items);
+ }
+ else
+ {
+ d_sample_counter += d_fft_size; // sample counter
+ // initialize acquisition algorithm
+
+ int doppler;
+ unsigned int indext = 0;
+ float magt = 0.0;
+ const gr_complex *in = (const gr_complex *)input_items[0]; //Get the input samples pointer
+ bool positive_acquisition = false;
+ int acquisition_message = -1; //0=STOP_CHANNEL 1=ACQ_SUCCEES 2=ACQ_FAIL
+
+ //aux vars
+ unsigned int i;
+ std::stringstream filename;
+ std::streamsize n = 2 * sizeof(float) * (d_fft_size); // complex file write
+
+ LOG_AT_LEVEL(INFO) << "Channel: " << d_channel
+ << " , doing acquisition of satellite: " << d_satellite
+ << " ,sample stamp: " << d_sample_counter << ", threshold: "
+ << d_threshold << ", doppler_max: " << d_doppler_max
+ << ", doppler_step: " << d_doppler_step;
+
+ // 1º Compute the input signal power estimation
+ for (i = 0; i < d_fft_size; i++)
+ {
+ d_input_power += std::abs(in[i]) * std::abs(in[i]);
+ }
+ d_input_power = d_input_power / ((float)d_fft_size
+ * (float)d_fft_size);
+
+ // 2º- Doppler frequency search loop
+ for (doppler = (int)(-d_doppler_max); doppler < (int)d_doppler_max; doppler
+ += d_doppler_step)
+ { // doppler search steps
+ //Perform the carrier wipe-off
+ sine_gen_complex(d_sine_if, d_freq + doppler, d_fs_in, d_fft_size);
+ for (i = 0; i < d_fft_size; i++)
+ {
+ d_fft_if->get_inbuf()[i] = in[i] * d_sine_if[i];
+ }
+
+ //3º- Perform the FFT-based circular convolution (parallel time search)
+ d_fft_if->execute(); //TODO Optimize me
+ for (i = 0; i < d_fft_size; i++)
+ {
+ d_ifft->get_inbuf()[i] = (d_fft_if->get_outbuf()[i]
+ * d_fft_codes[i]) / (float)d_fft_size;
+ }
+ d_ifft->execute();
+
+ x86_gr_complex_mag(d_ifft->get_outbuf(), d_fft_size); // d_ifft->get_outbuf()=|abs(·)|^2 and the array is converted from CPX->Float
+ x86_float_max((float*)d_ifft->get_outbuf(), &indext, &magt,
+ d_fft_size); // find max of |abs(·)|^2 -> index and magt
+
+ magt = magt / (float)d_fft_size;
+ // Record results to files
+ if (d_dump)
+ {
+ filename.str("");
+ filename << "./data/fft_" << doppler << "_.dat";
+ std::cout << filename.str().c_str();
+ std::cout << ".\n";
+ d_dump_file.open(filename.str().c_str(), std::ios::out
+ | std::ios::binary);
+ d_dump_file.write((char*)d_ifft->get_outbuf(), n); //write directly |abs(·)|^2 in this Doppler bin
+ d_dump_file.close();
+ }
+ // 4º- record the maximum peak and the associated synchronization parameters
+ if (d_mag < magt)
+ {
+ d_mag = magt;
+ d_code_phase = indext;
+ d_doppler_freq = doppler;
+ }
+ }
+
+ // 5º- Compute the test statistics and compare to the threshold
+ d_test_statistics = d_mag / d_input_power;
+ // 6º- Declare positive or negative acquisition using a message queue
+
+ if (d_test_statistics > d_threshold)
+ { //0.004
+ positive_acquisition = true;
+ d_acq_sample_stamp = d_sample_counter;
+ LOG_AT_LEVEL(INFO) << "positive acquisition";
+ LOG_AT_LEVEL(INFO) << "satellite " << d_satellite;
+ LOG_AT_LEVEL(INFO) << "sample_stamp" << d_sample_counter;
+ LOG_AT_LEVEL(INFO) << "test statistics value "
+ << d_test_statistics;
+ LOG_AT_LEVEL(INFO) << "test statistics threshold " << d_threshold;
+ LOG_AT_LEVEL(INFO) << "code phase " << d_code_phase;
+ LOG_AT_LEVEL(INFO) << "doppler " << d_doppler_freq;
+ LOG_AT_LEVEL(INFO) << "magnitude " << d_mag;
+ LOG_AT_LEVEL(INFO) << "input signal power " << d_input_power;
+
+ }
+ else
+ {
+ LOG_AT_LEVEL(INFO) << "negative acquisition";
+ LOG_AT_LEVEL(INFO) << "satellite " << d_satellite;
+ LOG_AT_LEVEL(INFO) << "sample_stamp " << d_sample_counter;
+ LOG_AT_LEVEL(INFO) << "test statistics value "
+ << d_test_statistics;
+ LOG_AT_LEVEL(INFO) << "test statistics threshold " << d_threshold;
+ LOG_AT_LEVEL(INFO) << "magnitude " << d_mag;
+ LOG_AT_LEVEL(INFO) << "input signal power " << d_input_power;
+
+ //restart acquisition variables
+ d_input_power = 0.0;
+ d_mag = 0.0;
+
+ }
+ d_active = false;
+
+ if (positive_acquisition)
+ {
+ acquisition_message = 1;
+ }
+ else
+ {
+ acquisition_message = 2;
+ }
+
+ d_channel_internal_queue->push(acquisition_message);
+
+ consume_each(1);
+ }
+ return 0;
+}
diff --git a/src/algorithms/acquisition/gnuradio_blocks/gps_l1_ca_pcps_acquisition_cc.h b/src/algorithms/acquisition/gnuradio_blocks/gps_l1_ca_pcps_acquisition_cc.h
new file mode 100644
index 000000000..f1512a43a
--- /dev/null
+++ b/src/algorithms/acquisition/gnuradio_blocks/gps_l1_ca_pcps_acquisition_cc.h
@@ -0,0 +1,163 @@
+/*!
+ * \file gps_l1_ca_pcps_acquisition_cc.h
+ * \brief Brief description of the file here
+ * \author Javier Arribas, 2011. jarribas(at)cttc.es
+ * Luis Esteve, 2011. luis(at)epsilon-formacion.com
+ *
+ * Detailed description of the file here if needed.
+ *
+ * -------------------------------------------------------------------------
+ *
+ * Copyright (C) 2010-2011 (see AUTHORS file for a list of contributors)
+ *
+ * GNSS-SDR is a software defined Global Navigation
+ * Satellite Systems receiver
+ *
+ * This file is part of GNSS-SDR.
+ *
+ * GNSS-SDR 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 3 of the License, or
+ * at your option) any later version.
+ *
+ * GNSS-SDR 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 GNSS-SDR. If not, see .
+ *
+ * -------------------------------------------------------------------------
+ */
+
+#ifndef GPS_L1_CA_PCPS_ACQUISITION_A_CC_H
+#define GPS_L1_CA_PCPS_ACQUISITION_A_CC_H
+
+#include
+
+#include
+#include
+#include
+#include
+
+#include
+#include
+#include
+#include "concurrent_queue.h"
+
+class gps_l1_ca_pcps_acquisition_cc;
+typedef boost::shared_ptr
+ gps_l1_ca_pcps_acquisition_cc_sptr;
+gps_l1_ca_pcps_acquisition_cc_sptr
+gps_l1_ca_pcps_make_acquisition_cc(unsigned int sampled_ms,
+ unsigned int doppler_max, long freq, long fs_in, int samples_per_ms,
+ gr_msg_queue_sptr queue, bool dump, std::string dump_filename);
+
+class gps_l1_ca_pcps_acquisition_cc: public gr_block
+{
+
+private:
+
+ friend gps_l1_ca_pcps_acquisition_cc_sptr
+ gps_l1_ca_pcps_make_acquisition_cc(unsigned int sampled_ms,
+ unsigned int doppler_max, long freq, long fs_in,
+ int samples_per_ms, gr_msg_queue_sptr queue, bool dump,
+ std::string dump_filename);
+
+ gps_l1_ca_pcps_acquisition_cc(unsigned int sampled_ms,
+ unsigned int doppler_max, long freq, long fs_in,
+ int samples_per_ms, gr_msg_queue_sptr queue, bool dump,
+ std::string dump_filename);
+
+ void calculate_magnitudes(gr_complex* fft_begin, int doppler_shift,
+ int doppler_offset);
+
+ long d_fs_in;
+ long d_freq;
+ int d_samples_per_ms;
+ unsigned int d_doppler_resolution;
+ unsigned int d_satellite;
+ float d_threshold;
+ std::string d_satellite_str;
+ unsigned int d_doppler_max;
+ unsigned int d_doppler_step;
+ unsigned int d_sampled_ms;
+ unsigned int d_fft_size;
+ unsigned long int d_sample_counter;
+ unsigned long int d_acq_sample_stamp;
+ gr_complex* d_sine_if;
+
+ gr_complex* d_fft_codes;
+
+ gri_fft_complex* d_fft_if;
+
+ gri_fft_complex* d_ifft;
+
+ unsigned int d_code_phase;
+ float d_doppler_freq;
+ float d_mag;
+ float d_input_power;
+ float d_test_statistics;
+
+ gr_msg_queue_sptr d_queue;
+ concurrent_queue *d_channel_internal_queue;
+ std::ofstream d_dump_file;
+
+ bool d_active;
+ bool d_dump;
+ unsigned int d_channel;
+ std::string d_dump_filename;
+
+public:
+
+ ~gps_l1_ca_pcps_acquisition_cc();
+
+ signed int prn_code_phase();
+ float doppler_freq()
+ {
+ return d_doppler_freq;
+ }
+ unsigned int mag()
+ {
+ return d_mag;
+ }
+
+ unsigned long int get_sample_stamp()
+ {
+ return d_acq_sample_stamp;
+ }
+
+ void set_satellite(unsigned int satellite);
+ void set_active(bool active)
+ {
+ d_active = active;
+ }
+ void set_channel(unsigned int channel)
+ {
+ d_channel = channel;
+ }
+ void set_threshold(float threshold)
+ {
+ d_threshold = threshold;
+ }
+ void set_doppler_max(unsigned int doppler_max)
+ {
+ d_doppler_max = doppler_max;
+ }
+ void set_doppler_step(unsigned int doppler_step)
+ {
+ d_doppler_step = doppler_step;
+ }
+
+ void set_channel_queue(concurrent_queue *channel_internal_queue)
+ {
+ d_channel_internal_queue = channel_internal_queue;
+ }
+
+ int general_work(int noutput_items, gr_vector_int &ninput_items,
+ gr_vector_const_void_star &input_items,
+ gr_vector_void_star &output_items);
+};
+
+#endif /* GPS_L1_CA_PCPS_ACQUISITION_CC_H*/
diff --git a/src/algorithms/acquisition/gnuradio_blocks/gps_l1_ca_tong_pcps_acquisition_cc.cc b/src/algorithms/acquisition/gnuradio_blocks/gps_l1_ca_tong_pcps_acquisition_cc.cc
new file mode 100644
index 000000000..f995026cf
--- /dev/null
+++ b/src/algorithms/acquisition/gnuradio_blocks/gps_l1_ca_tong_pcps_acquisition_cc.cc
@@ -0,0 +1,354 @@
+/*!
+ * \file gps_l1_ca_tong_pcps_acquisition_cc.cc
+ * \brief Brief description of the file here
+ * \author Luis Esteve, 2011. luis(at)epsilon-formacion.com
+ *
+ * Detailed description of the file here if needed.
+ *
+ * -------------------------------------------------------------------------
+ *
+ * Copyright (C) 2010-2011 (see AUTHORS file for a list of contributors)
+ *
+ * GNSS-SDR is a software defined Global Navigation
+ * Satellite Systems receiver
+ *
+ * This file is part of GNSS-SDR.
+ *
+ * GNSS-SDR 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 3 of the License, or
+ * at your option) any later version.
+ *
+ * GNSS-SDR 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 GNSS-SDR. If not, see .
+ *
+ * -------------------------------------------------------------------------
+ */
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "gps_l1_ca_tong_pcps_acquisition_cc.h"
+#include "gps_sdr_signal_processing.h"
+#include "control_message_factory.h"
+#include "gps_sdr_x86.h"
+
+#include
+
+#include
+
+#include
+#include
+
+using google::LogMessage;
+
+gps_l1_ca_tong_pcps_acquisition_cc_sptr gps_l1_ca_tong_pcps_make_acquisition_cc(
+ unsigned int sampled_ms, unsigned int doppler_max, long freq,
+ long fs_in, int samples_per_ms, gr_msg_queue_sptr queue, bool dump,
+ std::string dump_filename)
+{
+
+ return gps_l1_ca_tong_pcps_acquisition_cc_sptr(
+ new gps_l1_ca_tong_pcps_acquisition_cc(sampled_ms, doppler_max,
+ freq, fs_in, samples_per_ms, queue, dump, dump_filename));
+}
+
+gps_l1_ca_tong_pcps_acquisition_cc::gps_l1_ca_tong_pcps_acquisition_cc(
+ unsigned int sampled_ms, unsigned int doppler_max, long freq,
+ long fs_in, int samples_per_ms, gr_msg_queue_sptr queue, bool dump,
+ std::string dump_filename) :
+ gr_block("gps_l1_ca_tong_pcps_acquisition_cc", gr_make_io_signature(1, 1,
+ sizeof(gr_complex) * samples_per_ms), gr_make_io_signature(0, 0,
+ sizeof(gr_complex) * samples_per_ms))
+{
+
+ // SAMPLE COUNTER
+ d_sample_counter = 0;
+
+ d_active = false;
+ d_dump = dump;
+ d_queue = queue;
+ d_dump_filename = dump_filename;
+
+ d_freq = freq;
+ d_fs_in = fs_in;
+
+ d_samples_per_ms = samples_per_ms;
+ d_sampled_ms = sampled_ms;
+
+ d_doppler_max = doppler_max;
+
+ d_satellite = 0;
+
+ d_samples = d_sampled_ms * d_samples_per_ms;
+
+ d_doppler_freq = 0.0;
+ d_code_phase = 0;
+ d_mag = 0.0;
+ d_noise_power = 0.0;
+ d_fbins = 0;
+ d_doppler = 0;
+ d_pfa = 0.2;
+ d_A = 8;
+ d_B = 1;
+ d_max_dwells = 15;
+ d_K = d_B;
+
+ d_if_sin = new gr_complex[d_samples];
+
+ d_fft_codes = (gr_complex*)malloc(sizeof(gr_complex) * d_samples_per_ms);
+
+ // Direct FFT
+ d_fft_if = new gri_fft_complex(d_samples, true);
+
+ // Inverse FFT
+ d_ifft = new gri_fft_complex(d_samples, false);
+
+ d_ca_codes = new gr_complex[d_samples];
+
+ d_aux_ca_code = new gr_complex[d_samples];
+
+ //generates a unused PRN code to calculate the noise envelope
+ code_gen_complex_sampled(d_aux_ca_code, 33, d_fs_in, 0);
+
+ DLOG(INFO) << "fs in " << d_fs_in;
+ DLOG(INFO) << "samples per ms " << d_samples_per_ms;
+ DLOG(INFO) << "doppler max " << d_doppler_max;
+ DLOG(INFO) << "freq " << d_freq;
+ DLOG(INFO) << "satellite " << d_satellite;
+ DLOG(INFO) << "sampled_ms " << d_sampled_ms;
+ DLOG(INFO) << "Samples_for_processing " << d_samples;
+ DLOG(INFO) << "dump filename " << d_dump_filename;
+ DLOG(INFO) << "dump " << d_dump;
+}
+
+gps_l1_ca_tong_pcps_acquisition_cc::~gps_l1_ca_tong_pcps_acquisition_cc()
+{
+ delete d_if_sin;
+ delete d_ca_codes;
+
+ if (d_dump)
+ {
+ d_dump_file.close();
+ }
+}
+
+void gps_l1_ca_tong_pcps_acquisition_cc::set_satellite(unsigned int satellite)
+{
+ d_satellite = satellite;
+ d_code_phase = 0;
+ d_doppler_freq = 0;
+ d_mag = 0.0;
+ d_noise_power = 0.0;
+
+ // The GPS codes are generated on the fly using a custom version of the GPS code generator
+ code_gen_complex_sampled(d_fft_if->get_inbuf(), satellite, d_fs_in, 0);
+
+ d_fft_if->execute(); // We need the FFT of GPS C/A code
+ //Conjugate the local code
+ //TODO Optimize it !
+ for (unsigned int i = 0; i < d_samples; i++)
+ {
+ d_fft_codes[i] = std::complex(
+ d_fft_if->get_outbuf()[i].real(),
+ -d_fft_if->get_outbuf()[i].imag());
+ }
+}
+signed int gps_l1_ca_tong_pcps_acquisition_cc::prn_code_phase()
+{
+ return d_code_phase;
+}
+
+int gps_l1_ca_tong_pcps_acquisition_cc::general_work(int noutput_items,
+ gr_vector_int &ninput_items, gr_vector_const_void_star &input_items,
+ gr_vector_void_star &output_items)
+{
+
+ if (!d_active)
+ {
+ // sample counter
+ d_sample_counter += d_samples * noutput_items;
+ consume_each(noutput_items);
+ }
+ else
+ {
+ d_sample_counter += d_samples;
+
+ // initialize acquisition algorithm
+
+ bool positive_acquisition = false;
+ int acquisition_message = -1; //0=STOP_CHANNEL 1=ACQ_SUCCEES 2=ACQ_FAIL
+
+ //float noise_envelope = 0.0;
+ float vt = 20000;
+ //float peak = 0.0;
+ float magt = 0.0;
+ unsigned int max_freq_step = 2 * (unsigned int)(d_doppler_max
+ / d_doppler_step);
+ unsigned int indext = 0;
+
+ // Get the input samples pointer
+ const gr_complex *in = (const gr_complex *)input_items[0];
+
+ // aux vars
+ std::stringstream filename;
+ //unsigned int consume_items = 1;
+
+ // complex file write
+ // std::streamsize n = 2 * sizeof(float) * (d_samples);
+
+ // 1 - Compute the input noise envelope estimation and the threshold vt
+
+ // sine_gen_complex( d_if_sin, d_freq + doppler, d_fs_in, d_samples );
+ //
+ // noise_envelope = calculate_envelope( in, d_aux_ca_code, d_if_sin );
+ // vt = noise_envelope * sqrt( -2 * log( d_pfa ) );
+
+
+ // 1º Compute the input signal power estimation
+ for (unsigned int i = 0; i < d_samples; i++)
+ {
+ d_noise_power += std::abs(in[i]);
+ }
+ d_noise_power = sqrt(d_noise_power / (float)d_samples);
+
+ //Perform the carrier wipe-off
+ sine_gen_complex(d_if_sin, d_freq + d_doppler, d_fs_in, d_samples);
+ for (unsigned int i = 0; i < d_samples; i++)
+ {
+ d_fft_if->get_inbuf()[i] = in[i] * d_if_sin[i];
+ }
+
+ //3º- Perform the FFT-based circular convolution (parallel time search)
+ d_fft_if->execute(); //TODO Optimize me
+ for (unsigned int i = 0; i < d_samples; i++)
+ {
+ d_ifft->get_inbuf()[i] = d_fft_if->get_outbuf()[i]
+ * d_fft_codes[i];
+ }
+
+ d_ifft->execute();
+ x86_gr_complex_mag(d_ifft->get_outbuf(), d_samples); // d_ifft->get_outbuf()=|abs(·)|^2 and the array is converted from CPX->Float
+ x86_float_max((float*)d_ifft->get_outbuf(), &d_indext, &magt,
+ d_samples); // find max of |abs(·)|^2 -> index and magt
+ magt = sqrt(magt) / (float)d_samples;
+ d_test_statistics = magt / d_noise_power;
+
+ LOG_AT_LEVEL(INFO) << "Channel: " << d_channel
+ << ", doing Tong PCSS acquisition of satellite: "
+ << d_satellite << ", sample stamp: " << d_sample_counter
+ << ", bin_freq " << d_doppler << ", doppler_max: "
+ << d_doppler_max << ", K " << d_K << ", sigma: "
+ << d_noise_power << ", mag: " << d_test_statistics
+ << ", vt: " << vt;
+
+ if ((d_test_statistics > vt) && (indext = d_indext))
+ {
+ d_K++;
+ if (d_K == d_A)
+ {
+ d_code_phase = d_indext;
+ positive_acquisition = true;
+ d_doppler_freq = d_doppler;
+ d_acq_sample_stamp = d_sample_counter;
+ LOG_AT_LEVEL(INFO) << "positive acquisition";
+ LOG_AT_LEVEL(INFO) << "satellite " << d_satellite;
+ LOG_AT_LEVEL(INFO) << "sample_stamp " << d_sample_counter;
+ LOG_AT_LEVEL(INFO) << "test statistics value "
+ << d_test_statistics;
+ LOG_AT_LEVEL(INFO) << "test statistics threshold " << vt;
+ LOG_AT_LEVEL(INFO) << "code phase " << d_code_phase;
+ LOG_AT_LEVEL(INFO) << "doppler " << d_doppler_freq;
+ LOG_AT_LEVEL(INFO) << "magnitude " << magt;
+ LOG_AT_LEVEL(INFO) << "input signal power " << d_noise_power;
+ d_dwells = 0;
+ d_active = false;
+ }
+ else d_dwells++;
+ }
+ else
+ {
+ d_K--;
+ if ((d_K == 0) || (d_dwells > d_max_dwells))
+ {
+ d_K = d_B;
+ d_dwells = 0;
+ d_fbins++;
+ if (d_fbins > max_freq_step)
+ {
+ d_fbins = 0;
+ LOG_AT_LEVEL(INFO) << "negative acquisition";
+ LOG_AT_LEVEL(INFO) << "satellite " << d_satellite;
+ LOG_AT_LEVEL(INFO) << "sample_stamp" << d_sample_counter;
+ LOG_AT_LEVEL(INFO) << "test statistics value "
+ << d_test_statistics;
+ LOG_AT_LEVEL(INFO) << "test statistics threshold " << vt;
+ LOG_AT_LEVEL(INFO) << "input signal power "
+ << d_noise_power;
+ d_active = false;
+ }
+ else
+ {
+ d_doppler = d_doppler + pow(-1, d_fbins + 1) * d_fbins
+ * d_doppler_step;
+ }
+ }
+ else d_dwells++;
+ }
+
+ // Record results to files
+ // if( d_dump )
+ // {
+ // filename.str( "" );
+ // filename << "./data/fft_" << doppler << "_.dat";
+ // std::cout << filename.str().c_str();
+ // std::cout << ".\n";
+ // d_dump_file.open( filename.str().c_str(), std::ios::out
+ // | std::ios::binary );
+ // d_dump_file.write( (char*) d_ifft->get_outbuf(), n ); //write directly |abs(·)|^2 in this Doppler bin
+ // d_dump_file.close();
+ // }
+
+
+ if (d_active == false)
+ {
+ if (positive_acquisition)
+ {
+ acquisition_message = 1;
+ }
+ else
+ {
+ acquisition_message = 2;
+ }
+
+ d_channel_internal_queue->push(acquisition_message);
+ }
+
+ consume_each(1);
+ }
+ return 0;
+}
+
+float gps_l1_ca_tong_pcps_acquisition_cc::calculate_envelope(
+ const gr_complex* _input_signal, std::complex* _local_code,
+ std::complex* _local_if_sin)
+{
+ float mag = 0.0;
+ std::complex tmp_cpx = 0.0;
+ //std::cout << "tmp_cpx " << tmp_cpx << std::endl;
+
+ for (unsigned int i = 0; i < d_samples; i++)
+ {
+ tmp_cpx = tmp_cpx + _input_signal[i] * _local_code[i]
+ * _local_if_sin[i];
+ }
+ //std::cout << "tmp_cpx " << tmp_cpx << std::endl;
+
+ mag = abs(tmp_cpx);
+ return mag;
+}
diff --git a/src/algorithms/acquisition/gnuradio_blocks/gps_l1_ca_tong_pcps_acquisition_cc.h b/src/algorithms/acquisition/gnuradio_blocks/gps_l1_ca_tong_pcps_acquisition_cc.h
new file mode 100644
index 000000000..3ed8b0c9b
--- /dev/null
+++ b/src/algorithms/acquisition/gnuradio_blocks/gps_l1_ca_tong_pcps_acquisition_cc.h
@@ -0,0 +1,186 @@
+/*!
+ * \file gps_l1_ca_tong_pcps_acquisition_cc.h
+ * \brief Brief description of the file here
+ * \author Luis Esteve, 2011. luis(at)epsilon-formacion.com
+ *
+ * Detailed description of the file here if needed.
+ *
+ * -------------------------------------------------------------------------
+ *
+ * Copyright (C) 2010-2011 (see AUTHORS file for a list of contributors)
+ *
+ * GNSS-SDR is a software defined Global Navigation
+ * Satellite Systems receiver
+ *
+ * This file is part of GNSS-SDR.
+ *
+ * GNSS-SDR 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 3 of the License, or
+ * at your option) any later version.
+ *
+ * GNSS-SDR 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 GNSS-SDR. If not, see .
+ *
+ * -------------------------------------------------------------------------
+ */
+
+#ifndef GPS_L1_CA_TONG_PCPS_ACQUISITION_CC_H
+#define GPS_L1_CA_TONG_PCPS_ACQUISITION_CC_H
+
+#include
+
+#include
+#include
+#include
+#include
+
+#include
+#include
+#include
+#include "concurrent_queue.h"
+
+class gps_l1_ca_tong_pcps_acquisition_cc;
+typedef boost::shared_ptr
+ gps_l1_ca_tong_pcps_acquisition_cc_sptr;
+gps_l1_ca_tong_pcps_acquisition_cc_sptr
+gps_l1_ca_tong_pcps_make_acquisition_cc(unsigned int sampled_ms,
+ unsigned int doppler_max, long freq, long fs_in, int samples_per_ms,
+ gr_msg_queue_sptr queue, bool dump, std::string dump_filename);
+
+class gps_l1_ca_tong_pcps_acquisition_cc: public gr_block
+{
+
+private:
+
+ friend gps_l1_ca_tong_pcps_acquisition_cc_sptr
+ gps_l1_ca_tong_pcps_make_acquisition_cc(unsigned int sampled_ms,
+ unsigned int doppler_max, long freq, long fs_in,
+ int samples_per_ms, gr_msg_queue_sptr queue, bool dump,
+ std::string dump_filename);
+
+ gps_l1_ca_tong_pcps_acquisition_cc(unsigned int sampled_ms,
+ unsigned int doppler_max, long freq, long fs_in,
+ int samples_per_ms, gr_msg_queue_sptr queue, bool dump,
+ std::string dump_filename);
+
+ long d_fs_in;
+ long d_freq;
+ long d_doppler;
+ int d_samples_per_ms;
+ unsigned int d_doppler_resolution;
+ unsigned int d_satellite;
+ std::string d_satellite_str;
+ unsigned int d_doppler_max;
+ unsigned int d_doppler_step;
+ unsigned int d_sampled_ms;
+ unsigned int d_samples;
+ unsigned long int d_sample_counter;
+ unsigned long int d_acq_sample_stamp;
+ unsigned int d_fbins;
+ unsigned int d_indext;
+ unsigned d_dwells;
+ float d_pfa;
+ unsigned int d_A;
+ unsigned int d_B;
+ unsigned int d_max_dwells;
+ unsigned int d_K;
+
+ gr_complex* d_if_sin;
+
+ gr_complex* d_fft_codes;
+
+ gri_fft_complex* d_fft_if;
+
+ gri_fft_complex* d_ifft;
+
+ gr_complex* d_ca_codes;
+
+ gr_complex* d_aux_ca_code;
+
+ unsigned int d_code_phase;
+ float d_doppler_freq;
+ float d_mag;
+ float d_noise_power;
+ float d_test_statistics;
+
+ gr_msg_queue_sptr d_queue;
+ concurrent_queue *d_channel_internal_queue;
+ std::ofstream d_dump_file;
+
+ bool d_active;
+ bool d_dump;
+ unsigned int d_channel;
+ std::string d_dump_filename;
+
+public:
+
+ ~gps_l1_ca_tong_pcps_acquisition_cc();
+
+ signed int prn_code_phase();
+
+ float doppler_freq()
+ {
+ return d_doppler_freq;
+ }
+ unsigned int mag()
+ {
+ return d_mag;
+ }
+
+ unsigned long int get_sample_stamp()
+ {
+ return d_acq_sample_stamp;
+ }
+
+ void set_satellite(unsigned int satellite);
+
+ void set_active(bool active)
+ {
+ d_active = active;
+ }
+
+ void set_channel(unsigned int channel)
+ {
+ d_channel = channel;
+ }
+
+ void set_doppler_max(unsigned int doppler_max)
+ {
+ d_doppler_max = doppler_max;
+ }
+
+ void set_doppler_step(unsigned int doppler_step)
+ {
+ d_doppler_step = doppler_step;
+ }
+
+ void set_doppler(unsigned int doppler)
+ {
+ d_doppler = doppler;
+ }
+
+ void set_dwells(unsigned int dwells)
+ {
+ d_dwells = dwells;
+ }
+
+ float calculate_envelope(const gr_complex* _input_signal, std::complex<
+ float>* _local_code, std::complex* _local_if_sin);
+
+ void set_channel_queue(concurrent_queue *channel_internal_queue)
+ {
+ d_channel_internal_queue = channel_internal_queue;
+ }
+
+ int general_work(int noutput_items, gr_vector_int &ninput_items,
+ gr_vector_const_void_star &input_items,
+ gr_vector_void_star &output_items);
+};
+
+#endif /* GPS_L1_CA_TONG_PCPS_ACQUISITION_CC_H*/
diff --git a/src/algorithms/acquisition/gnuradio_blocks/jamfile.jam b/src/algorithms/acquisition/gnuradio_blocks/jamfile.jam
new file mode 100644
index 000000000..7e90c42b2
--- /dev/null
+++ b/src/algorithms/acquisition/gnuradio_blocks/jamfile.jam
@@ -0,0 +1,6 @@
+project : build-dir ../../../../build ;
+
+obj gps_l1_ca_gps_sdr_acquisition_cc : gps_l1_ca_gps_sdr_acquisition_cc.cc ;
+obj gps_l1_ca_gps_sdr_acquisition_ss : gps_l1_ca_gps_sdr_acquisition_ss.cc ;
+obj gps_l1_ca_pcps_acquisition_cc : gps_l1_ca_pcps_acquisition_cc.cc ;
+obj gps_l1_ca_tong_pcps_acquisition_cc : gps_l1_ca_tong_pcps_acquisition_cc.cc ;
\ No newline at end of file
diff --git a/src/algorithms/acquisition/jamfile.jam b/src/algorithms/acquisition/jamfile.jam
new file mode 100644
index 000000000..86bceb14f
--- /dev/null
+++ b/src/algorithms/acquisition/jamfile.jam
@@ -0,0 +1,2 @@
+build-project adapters ;
+build-project gnuradio_blocks ;
diff --git a/src/algorithms/channel/adapters/channel.cc b/src/algorithms/channel/adapters/channel.cc
new file mode 100644
index 000000000..9fcf3aac9
--- /dev/null
+++ b/src/algorithms/channel/adapters/channel.cc
@@ -0,0 +1,266 @@
+/*!
+ * \file channel.cc
+ * \brief Implementation of a GPS_L1_CA_Channel with a Finite State Machine
+ * \author Carlos Aviles, 2010. carlos.avilesr(at)googlemail.com
+ * Luis Esteve, 2011. luis(at)epsilon-formacion.com
+ *
+ * Detailed description of the file here if needed.
+ *
+ * -------------------------------------------------------------------------
+ *
+ * Copyright (C) 2010-2011 (see AUTHORS file for a list of contributors)
+ *
+ * GNSS-SDR is a software defined Global Navigation
+ * Satellite Systems receiver
+ *
+ * This file is part of GNSS-SDR.
+ *
+ * GNSS-SDR 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 3 of the License, or
+ * at your option) any later version.
+ *
+ * GNSS-SDR 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 GNSS-SDR. If not, see .
+ *
+ * -------------------------------------------------------------------------
+ */
+
+#include "channel.h"
+
+#include "acquisition_interface.h"
+#include "tracking_interface.h"
+#include "telemetry_decoder_interface.h"
+#include "configuration_interface.h"
+#include "gnss_flowgraph.h"
+
+#include
+#include
+#include
+
+#include
+#include
+
+#include
+#include
+
+using google::LogMessage;
+
+//! Constructor
+Channel::Channel(ConfigurationInterface *configuration, unsigned int channel,
+ GNSSBlockInterface *pass_through, AcquisitionInterface *acq,
+ TrackingInterface *trk, TelemetryDecoderInterface *nav,
+ std::string role, std::string implementation, gr_msg_queue_sptr queue) :
+ pass_through_(pass_through), acq_(acq), trk_(trk), nav_(nav),
+ role_(role), implementation_(implementation), channel_(channel),
+ queue_(queue)
+
+{
+ stop_ = false;
+ acq_->set_channel(channel_);
+ trk_->set_channel(channel_);
+ nav_->set_channel(channel_);
+
+ acq_->set_threshold(configuration->property("Acquisition"
+ + boost::lexical_cast(channel_) + ".threshold", 0.0));
+ acq_->set_doppler_max(configuration->property("Acquisition"
+ + boost::lexical_cast(channel_) + ".doppler_max",
+ 10000));
+ acq_->set_doppler_step(configuration->property("Acquisition"
+ + boost::lexical_cast(channel_) + ".doppler_step",
+ 250));
+
+ repeat_ = configuration->property("Acquisition" + boost::lexical_cast<
+ std::string>(channel_) + ".repeat_satellite", false);
+ std::cout << "Channel " << channel_ << " satellite repeat = " << repeat_
+ << std::endl;
+
+ acq_->set_channel_queue(&channel_internal_queue_);
+ trk_->set_channel_queue(&channel_internal_queue_);
+
+ channel_fsm_.set_acquisition(acq_);
+ channel_fsm_.set_tracking(trk_);
+ channel_fsm_.set_channel(channel_);
+ channel_fsm_.set_queue(queue_);
+
+ connected_ = false;
+ message_ = 0;
+
+}
+
+
+//! Destructor
+Channel::~Channel()
+{
+
+ delete acq_;
+ delete trk_;
+ delete nav_;
+ delete pass_through_;
+}
+
+void Channel::connect(gr_top_block_sptr top_block)
+{
+
+ if (connected_)
+ {
+ LOG_AT_LEVEL(WARNING) << "channel already connected internally";
+ return;
+ }
+
+ pass_through_->connect(top_block);
+ acq_->connect(top_block);
+ trk_->connect(top_block);
+ nav_->connect(top_block);
+
+ top_block->connect(pass_through_->get_right_block(), 0,
+ acq_->get_left_block(), 0);
+ DLOG(INFO) << "pass_through_ -> acquisition";
+
+ top_block->connect(pass_through_->get_right_block(), 0,
+ trk_->get_left_block(), 0);
+ DLOG(INFO) << "pass_through_ -> tracking";
+ top_block->connect(trk_->get_right_block(), 0, nav_->get_left_block(), 0); // channel 1
+ top_block->connect(trk_->get_right_block(), 1, nav_->get_left_block(), 1); // channel 2
+ top_block->connect(trk_->get_right_block(), 2, nav_->get_left_block(), 2); // channel 3
+ DLOG(INFO) << "tracking -> telemetry_decoder";
+
+ connected_ = true;
+}
+
+void Channel::disconnect(gr_top_block_sptr top_block)
+{
+
+ if (!connected_)
+ {
+ LOG_AT_LEVEL(WARNING) << "Channel already disconnected internally";
+ return;
+ }
+
+ top_block->disconnect(acq_->get_right_block(), 0, trk_->get_left_block(),
+ 0);
+ top_block->disconnect(trk_->get_right_block(), 0, nav_->get_left_block(),
+ 0);
+
+ acq_->disconnect(top_block);
+ trk_->disconnect(top_block);
+ nav_->disconnect(top_block);
+
+ connected_ = false;
+}
+
+gr_basic_block_sptr Channel::get_left_block()
+{
+ return pass_through_->get_left_block();
+}
+
+gr_basic_block_sptr Channel::get_right_block()
+{
+
+ return nav_->get_right_block();
+}
+
+void Channel::set_satellite(unsigned int satellite)
+{
+ satellite_ = satellite;
+ acq_->set_satellite(satellite);
+ trk_->set_satellite(satellite);
+ nav_->set_satellite(satellite);
+}
+
+void Channel::start_acquisition()
+{
+ channel_fsm_.Event_gps_start_acquisition();
+}
+
+void Channel::start()
+{
+ ch_thread_ = boost::thread(&Channel::run, this);
+}
+
+void Channel::run()
+{
+ start_acquisition();
+ while (!stop_)
+ {
+ channel_internal_queue_.wait_and_pop(message_);
+ process_channel_messages();
+ }
+
+}
+
+/*
+ * \brief Set stop_ to true and blocks the calling thread until
+ * the thread of the constructor has completed
+ */
+void Channel::stop()
+{
+ stop_ = true;
+ channel_internal_queue_.push(0); //message to stop channel
+
+ /* When the boost::thread object that represents a thread of execution
+ * is destroyed the thread becomes detached. Once a thread is detached,
+ * it will continue executing until the invocation of the function or
+ * callable object supplied on construction has completed,
+ * or the program is terminated. In order to wait for a thread of
+ * execution to finish, the join() or timed_join() member functions of
+ * the boost::thread object must be used. join() will block the calling
+ * thread until the thread represented by the boost::thread object
+ * has completed.
+ *
+ */
+ ch_thread_.join();
+}
+
+void Channel::process_channel_messages()
+{
+ switch (message_)
+ {
+ case 0:
+
+ LOG_AT_LEVEL(INFO) << "Stop channel " << channel_;
+
+ break;
+
+ case 1:
+
+ LOG_AT_LEVEL(INFO) << "Channel " << channel_
+ << " ACQ SUCCESS satellite " << satellite_;
+ channel_fsm_.Event_gps_valid_acquisition();
+
+ break;
+
+ case 2:
+
+ LOG_AT_LEVEL(INFO) << "Channel " << channel_
+ << " ACQ FAILED satellite " << satellite_;
+ if (repeat_ == true)
+ {
+ channel_fsm_.Event_gps_failed_acquisition_repeat();
+ }
+ else
+ {
+ channel_fsm_.Event_gps_failed_acquisition_no_repeat();
+ }
+ break;
+
+ case 3:
+ LOG_AT_LEVEL(INFO) << "Channel " << channel_
+ << " TRACKING FAILED satellite " << satellite_
+ << ", reacquisition.";
+ channel_fsm_.Event_gps_failed_tracking();
+
+ break;
+
+ default:
+
+ LOG_AT_LEVEL(WARNING) << "Default case, invalid message.";
+ break;
+ }
+}
+
diff --git a/src/algorithms/channel/adapters/channel.h b/src/algorithms/channel/adapters/channel.h
new file mode 100644
index 000000000..51646303d
--- /dev/null
+++ b/src/algorithms/channel/adapters/channel.h
@@ -0,0 +1,121 @@
+/*!
+ * \file channel.h
+ * \brief This class represents a GNSS channel.
+ * \author Carlos Aviles, 2010. carlos.avilesr(at)googlemail.com
+ * Luis Esteve, 2011. luis(at)epsilon-formacion.com
+ *
+ * It holds blocks for acquisition, tracking,
+ * navigation data extraction and pseudorange calculation.
+ *
+ * -------------------------------------------------------------------------
+ *
+ * Copyright (C) 2010-2011 (see AUTHORS file for a list of contributors)
+ *
+ * GNSS-SDR is a software defined Global Navigation
+ * Satellite Systems receiver
+ *
+ * This file is part of GNSS-SDR.
+ *
+ * GNSS-SDR 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 3 of the License, or
+ * at your option) any later version.
+ *
+ * GNSS-SDR 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 GNSS-SDR. If not, see .
+ *
+ * -------------------------------------------------------------------------
+ */
+
+#ifndef CHANNEL_H_
+#define CHANNEL_H_
+
+#include
+#include
+
+#include "channel_interface.h"
+#include "gps_l1_ca_channel_fsm.h"
+#include "control_message_factory.h"
+#include "concurrent_queue.h"
+
+class ConfigurationInterface;
+class AcquisitionInterface;
+class TrackingInterface;
+class TelemetryDecoderInterface;
+//class GpsL1CaChannelFsm;
+
+/*!
+ * \brief This class represents a GNSS channel.
+ *
+ */
+class Channel: public ChannelInterface
+{
+
+public:
+ //! Constructor
+ Channel(ConfigurationInterface *configuration, unsigned int channel,
+ GNSSBlockInterface *pass_through, AcquisitionInterface *acq,
+ TrackingInterface *trk, TelemetryDecoderInterface *nav,
+ std::string role, std::string implementation,
+ gr_msg_queue_sptr queue);
+
+ //! Virtual destructor
+ virtual ~Channel();
+
+ void connect(gr_top_block_sptr top_block);
+ void disconnect(gr_top_block_sptr top_block);
+ gr_basic_block_sptr get_left_block();
+ gr_basic_block_sptr get_right_block();
+
+ std::string role(){ return role_;}
+
+ std::string implementation(){ return "Channel";}
+
+ size_t item_size(){ return 0;}
+
+ unsigned int satellite(){ return satellite_;}
+
+ AcquisitionInterface* acquisition(){ return acq_;}
+
+ TrackingInterface* tracking(){ return trk_;}
+
+ TelemetryDecoderInterface* telemetry(){ return nav_;}
+
+ void start_acquisition();
+ void set_satellite(unsigned int satellite);
+ void start();
+ void stop();
+
+private:
+
+ GNSSBlockInterface *pass_through_;
+ AcquisitionInterface *acq_;
+ TrackingInterface *trk_;
+ TelemetryDecoderInterface *nav_;
+
+ std::string role_;
+ std::string implementation_;
+
+ unsigned int channel_;
+ unsigned int satellite_;
+ bool connected_;
+ bool stop_;
+ int message_;
+ bool repeat_;
+
+ GpsL1CaChannelFsm channel_fsm_;
+ gr_msg_queue_sptr queue_;
+ concurrent_queue channel_internal_queue_;
+ boost::thread ch_thread_;
+
+ void run();
+ void process_channel_messages();
+
+};
+
+#endif /*CHANNEL_H_*/
diff --git a/src/algorithms/channel/adapters/jamfile.jam b/src/algorithms/channel/adapters/jamfile.jam
new file mode 100644
index 000000000..d1a954382
--- /dev/null
+++ b/src/algorithms/channel/adapters/jamfile.jam
@@ -0,0 +1,3 @@
+project : build-dir ../../../../build ;
+
+obj channel : channel.cc ;
\ No newline at end of file
diff --git a/src/algorithms/channel/jamfile.jam b/src/algorithms/channel/jamfile.jam
new file mode 100644
index 000000000..2024c84e2
--- /dev/null
+++ b/src/algorithms/channel/jamfile.jam
@@ -0,0 +1,3 @@
+build-project adapters ;
+# build-project gnuradio_blocks ;
+build-project libs ;
\ No newline at end of file
diff --git a/src/algorithms/channel/libs/gps_l1_ca_channel_fsm.cc b/src/algorithms/channel/libs/gps_l1_ca_channel_fsm.cc
new file mode 100644
index 000000000..19b841cf1
--- /dev/null
+++ b/src/algorithms/channel/libs/gps_l1_ca_channel_fsm.cc
@@ -0,0 +1,209 @@
+/*!
+ * \file gps_l1_ca_channel_fsm.cc
+ * \briefState Machine for channel using boost::statechart
+ * \author Luis Esteve, 2011. luis(at)epsilon-formacion.com
+ *
+ * Detailed description of the file here if needed.
+ *
+ * -------------------------------------------------------------------------
+ *
+ * Copyright (C) 2010-2011 (see AUTHORS file for a list of contributors)
+ *
+ * GNSS-SDR is a software defined Global Navigation
+ * Satellite Systems receiver
+ *
+ * This file is part of GNSS-SDR.
+ *
+ * GNSS-SDR 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 3 of the License, or
+ * at your option) any later version.
+ *
+ * GNSS-SDR 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 GNSS-SDR. If not, see .
+ *
+ * -------------------------------------------------------------------------
+ */
+
+#include "gps_l1_ca_channel_fsm.h"
+#include "control_message_factory.h"
+#include "channel.h"
+
+#include
+#include
+
+struct Ev_gps_channel_start_acquisition: sc::event<
+ Ev_gps_channel_start_acquisition>
+{};
+
+struct Ev_gps_channel_valid_acquisition: sc::event<
+ Ev_gps_channel_valid_acquisition>
+{};
+
+struct Ev_gps_channel_failed_acquisition_repeat: sc::event<
+ Ev_gps_channel_failed_acquisition_repeat>
+{};
+
+struct Ev_gps_channel_failed_acquisition_no_repeat: sc::event<
+ Ev_gps_channel_failed_acquisition_no_repeat>
+{};
+
+struct Ev_gps_channel_failed_tracking: sc::event<
+ Ev_gps_channel_failed_tracking>
+{};
+
+struct gps_channel_idle_fsm_S0: public sc::state
+{
+public:
+ // sc::transition(event, next state)
+ typedef sc::transition reactions;
+ gps_channel_idle_fsm_S0(my_context ctx) :
+ my_base(ctx)
+ {
+ //std::cout << "Enter Channel_Idle_S0 " << std::endl;
+ }
+};
+
+struct gps_channel_acquiring_fsm_S1: public sc::state<
+ gps_channel_acquiring_fsm_S1, GpsL1CaChannelFsm>
+{
+public:
+ typedef mpl::list, sc::transition<
+ Ev_gps_channel_failed_acquisition_repeat,
+ gps_channel_acquiring_fsm_S1>, sc::transition<
+ Ev_gps_channel_valid_acquisition, gps_channel_tracking_fsm_S2> >
+ reactions;
+
+ gps_channel_acquiring_fsm_S1(my_context ctx) :
+ my_base(ctx)
+ {
+ //std::cout << "Enter Channel_Acq_S1 " << std::endl;
+ context ().start_acquisition();
+ }
+};
+
+struct gps_channel_tracking_fsm_S2: public sc::state<
+ gps_channel_tracking_fsm_S2, GpsL1CaChannelFsm>
+{
+public:
+ typedef sc::transition reactions;
+
+ gps_channel_tracking_fsm_S2(my_context ctx) :
+ my_base(ctx)
+ {
+ //std::cout << "Enter Channel_tracking_S2 " << std::endl;
+ context ().start_tracking();
+ }
+};
+
+struct gps_channel_waiting_fsm_S3: public sc::state<
+ gps_channel_waiting_fsm_S3, GpsL1CaChannelFsm>
+{
+public:
+ typedef sc::transition reactions;
+
+ gps_channel_waiting_fsm_S3(my_context ctx) :
+ my_base(ctx)
+ {
+ //std::cout << "Enter Channel_waiting_S3 " << std::endl;
+ context ().request_satellite();
+ }
+};
+
+GpsL1CaChannelFsm::GpsL1CaChannelFsm()
+{
+ initiate(); //start the FSM
+}
+
+GpsL1CaChannelFsm::GpsL1CaChannelFsm(AcquisitionInterface *acquisition) :
+ acq_(acquisition)
+{
+ initiate(); //start the FSM
+}
+
+void GpsL1CaChannelFsm::Event_gps_start_acquisition()
+{
+ this->process_event(Ev_gps_channel_start_acquisition());
+}
+
+void GpsL1CaChannelFsm::Event_gps_valid_acquisition()
+{
+ this->process_event(Ev_gps_channel_valid_acquisition());
+}
+
+void GpsL1CaChannelFsm::Event_gps_failed_acquisition_repeat()
+{
+ this->process_event(Ev_gps_channel_failed_acquisition_repeat());
+}
+
+void GpsL1CaChannelFsm::Event_gps_failed_acquisition_no_repeat()
+{
+ this->process_event(Ev_gps_channel_failed_acquisition_no_repeat());
+}
+
+void GpsL1CaChannelFsm::Event_gps_failed_tracking()
+{
+ this->process_event(Ev_gps_channel_failed_tracking());
+}
+void GpsL1CaChannelFsm::set_acquisition(AcquisitionInterface *acquisition)
+{
+ acq_ = acquisition;
+}
+
+void GpsL1CaChannelFsm::set_tracking(TrackingInterface *tracking)
+{
+ trk_ = tracking;
+}
+
+void GpsL1CaChannelFsm::set_queue(gr_msg_queue_sptr queue)
+{
+ queue_ = queue;
+}
+
+void GpsL1CaChannelFsm::set_channel(unsigned int channel)
+{
+ channel_ = channel;
+}
+
+void GpsL1CaChannelFsm::start_acquisition()
+{
+ acq_->reset();
+}
+
+void GpsL1CaChannelFsm::start_tracking()
+{
+ LOG_AT_LEVEL(INFO) << "Channel " << channel_
+ << " passing prn code phase " << acq_->prn_code_phase();
+ LOG_AT_LEVEL(INFO) << "Channel " << channel_
+ << " passing doppler freq shift " << acq_->doppler_freq_shift();
+ LOG_AT_LEVEL(INFO) << "Channel " << channel_
+ << " passing acquisition sample stamp "
+ << acq_->get_sample_stamp();
+ trk_->set_prn_code_phase(acq_->prn_code_phase());
+ trk_->set_doppler_freq_shift(acq_->doppler_freq_shift());
+ trk_->set_acq_sample_stamp(acq_->get_sample_stamp());
+ trk_->start_tracking();
+}
+
+void GpsL1CaChannelFsm::request_satellite()
+{
+ ControlMessageFactory* cmf = new ControlMessageFactory();
+ if (queue_ != gr_msg_queue_sptr())
+ {
+ queue_->handle(cmf->GetQueueMessage(channel_, 0));
+ }
+ delete cmf;
+
+}
+
diff --git a/src/algorithms/channel/libs/gps_l1_ca_channel_fsm.h b/src/algorithms/channel/libs/gps_l1_ca_channel_fsm.h
new file mode 100644
index 000000000..182d4d130
--- /dev/null
+++ b/src/algorithms/channel/libs/gps_l1_ca_channel_fsm.h
@@ -0,0 +1,96 @@
+/*!
+ * \file gps_l1_ca_channel_fsm.h
+ * \brief State Machine for channel using boost::statechart
+ * \author Luis Esteve, 2011. luis(at)epsilon-formacion.com
+ *
+ *
+ * -------------------------------------------------------------------------
+ *
+ * Copyright (C) 2010-2011 (see AUTHORS file for a list of contributors)
+ *
+ * GNSS-SDR is a software defined Global Navigation
+ * Satellite Systems receiver
+ *
+ * This file is part of GNSS-SDR.
+ *
+ * GNSS-SDR 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 3 of the License, or
+ * at your option) any later version.
+ *
+ * GNSS-SDR 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 GNSS-SDR. If not, see .
+ *
+ * -------------------------------------------------------------------------
+ */
+
+#ifndef GNSS_SDR_GPS_L1_CA_CHANNEL_FSM_H
+#define GNSS_SDR_GPS_L1_CA_CHANNEL_FSM_H
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+#include "acquisition_interface.h"
+#include "tracking_interface.h"
+#include "telemetry_decoder_interface.h"
+#include
+
+#include
+#include
+
+namespace sc = boost::statechart;
+namespace mpl = boost::mpl;
+
+struct gps_channel_idle_fsm_S0;
+struct gps_channel_acquiring_fsm_S1;
+struct gps_channel_tracking_fsm_S2;
+struct gps_channel_waiting_fsm_S3;
+
+/*!
+ * \brief This class implements a State Machine for channel using boost::statechart
+ */
+class GpsL1CaChannelFsm: public sc::state_machine
+{
+
+public:
+
+ GpsL1CaChannelFsm();
+ GpsL1CaChannelFsm(AcquisitionInterface *acquisition);
+
+ void set_acquisition(AcquisitionInterface *acquisition);
+ void set_tracking(TrackingInterface *tracking);
+ void set_queue(gr_msg_queue_sptr queue);
+ void set_channel(unsigned int channel);
+ void start_acquisition();
+ void start_tracking();
+ void request_satellite();
+
+ //FSM EVENTS
+ void Event_gps_start_acquisition();
+ void Event_gps_valid_acquisition();
+ void Event_gps_failed_acquisition_repeat();
+ void Event_gps_failed_acquisition_no_repeat();
+ void Event_gps_failed_tracking();
+
+private:
+ AcquisitionInterface *acq_;
+ TrackingInterface *trk_;
+ TelemetryDecoderInterface *nav_;
+ gr_msg_queue_sptr queue_;
+ unsigned int channel_;
+};
+
+#endif /*GNSS_SDR_GPS_L1_CA_CHANNEL_FSM_H*/
diff --git a/src/algorithms/channel/libs/jamfile.jam b/src/algorithms/channel/libs/jamfile.jam
new file mode 100644
index 000000000..4d04993ce
--- /dev/null
+++ b/src/algorithms/channel/libs/jamfile.jam
@@ -0,0 +1,3 @@
+project : build-dir ../../../../build ;
+
+obj gps_l1_ca_channel_fsm : gps_l1_ca_channel_fsm.cc ;
\ No newline at end of file
diff --git a/src/algorithms/conditioner/adapters/direct_resampler_conditioner.cc b/src/algorithms/conditioner/adapters/direct_resampler_conditioner.cc
new file mode 100644
index 000000000..61dc7a6ea
--- /dev/null
+++ b/src/algorithms/conditioner/adapters/direct_resampler_conditioner.cc
@@ -0,0 +1,136 @@
+/*!
+ * \file direct_resampler_conditioner.cc
+ * \brief Brief description of the file here
+ * \author Carlos Aviles, 2010. carlos.avilesr(at)googlemail.com
+ *
+ * Detailed description of the file here if needed.
+ *
+ * -------------------------------------------------------------------------
+ *
+ * Copyright (C) 2010-2011 (see AUTHORS file for a list of contributors)
+ *
+ * GNSS-SDR is a software defined Global Navigation
+ * Satellite Systems receiver
+ *
+ * This file is part of GNSS-SDR.
+ *
+ * GNSS-SDR 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 3 of the License, or
+ * at your option) any later version.
+ *
+ * GNSS-SDR 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 GNSS-SDR. If not, see .
+ *
+ * -------------------------------------------------------------------------
+ */
+
+#include "direct_resampler_conditioner.h"
+
+#include
+#include
+
+#include "direct_resampler_conditioner_cc.h"
+#include "direct_resampler_conditioner_ss.h"
+
+#include "configuration_interface.h"
+
+#include
+#include
+
+using google::LogMessage;
+
+DirectResamplerConditioner::DirectResamplerConditioner(
+ ConfigurationInterface* configuration, std::string role,
+ unsigned int in_stream, unsigned int out_stream) :
+ role_(role), in_stream_(in_stream), out_stream_(out_stream)
+{
+
+ std::string default_item_type = "short";
+ std::string default_dump_file = "./data/signal_conditioner.dat";
+
+ sample_freq_in_ = configuration->property(role_ + ".sample_freq_in",
+ (double)4000000.0);
+ sample_freq_out_ = configuration->property(role_ + ".sample_freq_out",
+ (double)2048000.0);
+ item_type_ = configuration->property(role + ".item_type",
+ default_item_type);
+ dump_ = configuration->property(role + ".dump", false);
+ dump_filename_ = configuration->property(role + ".dump_filename",
+ default_dump_file);
+
+ if (item_type_.compare("gr_complex") == 0)
+ {
+ item_size_ = sizeof(gr_complex);
+ resampler_ = direct_resampler_make_conditioner_cc(sample_freq_in_,
+ sample_freq_out_);
+ }
+ else if (item_type_.compare("short") == 0)
+ {
+ item_size_ = sizeof(short);
+ resampler_ = direct_resampler_make_conditioner_ss(sample_freq_in_,
+ sample_freq_out_);
+ }
+ else
+ {
+ LOG_AT_LEVEL(WARNING) << item_type_
+ << " unrecognized item type. Using short";
+ item_size_ = sizeof(short);
+ }
+
+ if (dump_)
+ {
+ DLOG(INFO) << "Dumping output into file " << dump_filename_;
+ file_sink_ = gr_make_file_sink(item_size_, dump_filename_.c_str());
+ }
+
+ DLOG(INFO) << "sample_freq_in " << sample_freq_in_;
+ DLOG(INFO) << "sample_freq_out" << sample_freq_out_;
+ DLOG(INFO) << "Item size " << item_size_;
+ DLOG(INFO) << "resampler(" << resampler_->unique_id() << ")";
+ if (dump_)
+ {
+ DLOG(INFO) << "file_sink(" << file_sink_->unique_id() << ")";
+ }
+}
+DirectResamplerConditioner::~DirectResamplerConditioner()
+{
+}
+
+void DirectResamplerConditioner::connect(gr_top_block_sptr top_block)
+{
+
+ if (dump_)
+ {
+ top_block->connect(resampler_, 0, file_sink_, 0);
+ DLOG(INFO) << "connected resampler to file sink";
+ }
+ else
+ {
+ DLOG(INFO) << "nothing to connect internally";
+ }
+
+}
+
+void DirectResamplerConditioner::disconnect(gr_top_block_sptr top_block)
+{
+ if (dump_)
+ {
+ top_block->disconnect(resampler_, 0, file_sink_, 0);
+ }
+}
+
+gr_basic_block_sptr DirectResamplerConditioner::get_left_block()
+{
+ return resampler_;
+}
+
+gr_basic_block_sptr DirectResamplerConditioner::get_right_block()
+{
+ return resampler_;
+}
diff --git a/src/algorithms/conditioner/adapters/direct_resampler_conditioner.h b/src/algorithms/conditioner/adapters/direct_resampler_conditioner.h
new file mode 100644
index 000000000..7fb83644c
--- /dev/null
+++ b/src/algorithms/conditioner/adapters/direct_resampler_conditioner.h
@@ -0,0 +1,87 @@
+/*!
+ * \file direct_resampler_conditioner.h
+ * \brief This class represents a direct resampler.
+ * \author Carlos Aviles, 2010. carlos.avilesr(at)googlemail.com
+ *
+ * Detailed description of the file here if needed.
+ *
+ * -------------------------------------------------------------------------
+ *
+ * Copyright (C) 2010-2011 (see AUTHORS file for a list of contributors)
+ *
+ * GNSS-SDR is a software defined Global Navigation
+ * Satellite Systems receiver
+ *
+ * This file is part of GNSS-SDR.
+ *
+ * GNSS-SDR 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 3 of the License, or
+ * at your option) any later version.
+ *
+ * GNSS-SDR 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 GNSS-SDR. If not, see .
+ *
+ * -------------------------------------------------------------------------
+ */
+
+#ifndef DIRECT_RESAMPLER_CONDITIONER_H_
+#define DIRECT_RESAMPLER_CONDITIONER_H_
+
+#include
+
+#include "gnss_block_interface.h"
+
+class ConfigurationInterface;
+
+class DirectResamplerConditioner: public GNSSBlockInterface
+{
+
+public:
+ DirectResamplerConditioner(ConfigurationInterface* configuration,
+ std::string role, unsigned int in_stream,
+ unsigned int out_stream);
+ virtual ~DirectResamplerConditioner();
+
+ std::string role()
+ {
+ return role_;
+ }
+ std::string implementation()
+ {
+ return "DirectResamplerConditioner";
+ }
+ size_t item_size()
+ {
+ return item_size_;
+ }
+
+ void connect(gr_top_block_sptr top_block);
+ void disconnect(gr_top_block_sptr top_block);
+ gr_basic_block_sptr get_left_block();
+ gr_basic_block_sptr get_right_block();
+
+private:
+
+ std::string role_;
+ unsigned int in_stream_;
+ unsigned int out_stream_;
+
+ std::string item_type_;
+ size_t item_size_;
+ long samples_;
+ bool dump_;
+ std::string dump_filename_;
+ double sample_freq_in_;
+ double sample_freq_out_;
+
+ gr_block_sptr resampler_;
+ gr_block_sptr file_sink_;
+};
+
+#endif /*DIRECT_RESAMPLER_CONDITIONER_H_*/
diff --git a/src/algorithms/conditioner/adapters/jamfile.jam b/src/algorithms/conditioner/adapters/jamfile.jam
new file mode 100644
index 000000000..671a7edd7
--- /dev/null
+++ b/src/algorithms/conditioner/adapters/jamfile.jam
@@ -0,0 +1,3 @@
+project : build-dir ../../../../build ;
+
+obj direct_resampler_conditioner : direct_resampler_conditioner.cc ;
\ No newline at end of file
diff --git a/src/algorithms/conditioner/gnuradio_blocks/direct_resampler_conditioner_cc.cc b/src/algorithms/conditioner/gnuradio_blocks/direct_resampler_conditioner_cc.cc
new file mode 100644
index 000000000..840e0af76
--- /dev/null
+++ b/src/algorithms/conditioner/gnuradio_blocks/direct_resampler_conditioner_cc.cc
@@ -0,0 +1,146 @@
+/*!
+ * \file direct_resampler_conditioner_cc.cc
+ * \brief Brief description of the file here
+ * \author Luis Esteve, 2011. luis(at)epsilon-formacion.com
+ *
+ * Detailed description of the file here if needed.
+ *
+ * -------------------------------------------------------------------------
+ *
+ * Copyright (C) 2010-2011 (see AUTHORS file for a list of contributors)
+ *
+ * GNSS-SDR is a software defined Global Navigation
+ * Satellite Systems receiver
+ *
+ * This file is part of GNSS-SDR.
+ *
+ * GNSS-SDR 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 3 of the License, or
+ * at your option) any later version.
+ *
+ * GNSS-SDR 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 GNSS-SDR. If not, see .
+ *
+ * -------------------------------------------------------------------------
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "direct_resampler_conditioner_cc.h"
+
+#include
+
+#include
+
+#include
+#include
+
+using google::LogMessage;
+
+direct_resampler_conditioner_cc_sptr direct_resampler_make_conditioner_cc(
+ double sample_freq_in, double sample_freq_out)
+{
+
+ return direct_resampler_conditioner_cc_sptr(
+ new direct_resampler_conditioner_cc(sample_freq_in,
+ sample_freq_out));
+}
+
+direct_resampler_conditioner_cc::direct_resampler_conditioner_cc(
+ double sample_freq_in, double sample_freq_out) :
+ gr_block("direct_resampler_conditioner_cc", gr_make_io_signature(1, 1,
+ sizeof(gr_complex)), gr_make_io_signature(1, 1,
+ sizeof(gr_complex))), d_sample_freq_in(sample_freq_in),
+ d_sample_freq_out(sample_freq_out), d_phase(0), d_lphase(0),
+ d_history(1)
+{
+
+ // Computes the phase step multiplying the resampling ratio by 2^32 = 4294967296
+ if (d_sample_freq_in >= d_sample_freq_out)
+ {
+ d_phase_step = (unsigned int)floor((double)4294967296.0
+ * sample_freq_out / sample_freq_in);
+ }
+ else
+ {
+ d_phase_step = (unsigned int)floor((double)4294967296.0
+ * sample_freq_in / sample_freq_out);
+ }
+
+ set_relative_rate(1.0 * sample_freq_out / sample_freq_in);
+ set_output_multiple(1);
+}
+
+direct_resampler_conditioner_cc::~direct_resampler_conditioner_cc()
+{
+
+}
+
+void direct_resampler_conditioner_cc::forecast(int noutput_items,
+ gr_vector_int &ninput_items_required)
+{
+
+ int nreqd = std::max((unsigned)1, (int)((double)(noutput_items + 1)
+ * sample_freq_in() / sample_freq_out()) + history() - 1);
+ unsigned ninputs = ninput_items_required.size();
+
+ for (unsigned i = 0; i < ninputs; i++)
+ {
+ ninput_items_required[i] = nreqd;
+ }
+}
+
+int direct_resampler_conditioner_cc::general_work(int noutput_items,
+ gr_vector_int &ninput_items, gr_vector_const_void_star &input_items,
+ gr_vector_void_star &output_items)
+{
+
+ const gr_complex *in = (const gr_complex *)input_items[0];
+ gr_complex *out = (gr_complex *)output_items[0];
+
+ int lcv = 0;
+ int count = 0;
+
+ if (d_sample_freq_in >= d_sample_freq_out)
+ {
+ while ((lcv < noutput_items))
+ {
+ if (d_phase <= d_lphase)
+ {
+ out[lcv] = *in;
+ lcv++;
+ }
+
+ d_lphase = d_phase;
+ d_phase += d_phase_step;
+ in++;
+ count++;
+ }
+ }
+ else
+ {
+ while ((lcv < noutput_items))
+ {
+ d_lphase = d_phase;
+ d_phase += d_phase_step;
+ if (d_phase <= d_lphase)
+ {
+ in++;
+ count++;
+ }
+ out[lcv] = *in;
+ lcv++;
+ }
+ }
+
+ consume_each(std::min(count, ninput_items[0]));
+ return lcv;
+}
diff --git a/src/algorithms/conditioner/gnuradio_blocks/direct_resampler_conditioner_cc.h b/src/algorithms/conditioner/gnuradio_blocks/direct_resampler_conditioner_cc.h
new file mode 100644
index 000000000..6f297ec43
--- /dev/null
+++ b/src/algorithms/conditioner/gnuradio_blocks/direct_resampler_conditioner_cc.h
@@ -0,0 +1,93 @@
+/*!
+ * \file direct_resampler_conditioner_cc.h
+ *
+ * \brief Direct resampler with
+ * gr_complex input and gr_complex output
+ * \author Luis Esteve, 2011. luis(at)epsilon-formacion.com
+ *
+ * Detailed description of the file here if needed.
+ *
+ * This block takes in a signal stream and performs direct
+ * resampling.
+ *
+ * The theory behind this block can be found in Chapter 7.5 of
+ * the following book.
+ *
+ * \param sample_freq_in (double) Specifies the sampling frequency of the input signal
+ * \param sample_freq_out (double) Specifies the sampling frequency of the output signal
+ *
+ * -------------------------------------------------------------------------
+ *
+ * Copyright (C) 2010-2011 (see AUTHORS file for a list of contributors)
+ *
+ * GNSS-SDR is a software defined Global Navigation
+ * Satellite Systems receiver
+ *
+ * This file is part of GNSS-SDR.
+ *
+ * GNSS-SDR 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 3 of the License, or
+ * at your option) any later version.
+ *
+ * GNSS-SDR 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 GNSS-SDR. If not, see .
+ *
+ * -------------------------------------------------------------------------
+ */
+
+#ifndef INCLUDED_DIRECT_RESAMPLER_CONDITIONER_CC_H
+#define INCLUDED_DIRECT_RESAMPLER_CONDITIONER_CC_H
+
+#include
+
+class direct_resampler_conditioner_cc;
+typedef boost::shared_ptr
+ direct_resampler_conditioner_cc_sptr;
+direct_resampler_conditioner_cc_sptr
+direct_resampler_make_conditioner_cc(double sample_freq_in,
+ double sample_freq_out);
+
+class direct_resampler_conditioner_cc: public gr_block
+{
+
+private:
+
+ friend direct_resampler_conditioner_cc_sptr
+ direct_resampler_make_conditioner_cc(double sample_freq_in,
+ double sample_freq_out);
+
+ double d_sample_freq_in;
+ double d_sample_freq_out;
+ unsigned int d_phase;
+ unsigned int d_lphase;
+ unsigned int d_phase_step;
+ unsigned int d_history;
+
+ direct_resampler_conditioner_cc(double sample_freq_in,
+ double sample_freq_out);
+
+public:
+
+ ~direct_resampler_conditioner_cc();
+
+ unsigned int sample_freq_in() const
+ {
+ return d_sample_freq_in;
+ }
+ unsigned int sample_freq_out() const
+ {
+ return d_sample_freq_out;
+ }
+ void forecast(int noutput_items, gr_vector_int &ninput_items_required);
+ int general_work(int noutput_items, gr_vector_int &ninput_items,
+ gr_vector_const_void_star &input_items,
+ gr_vector_void_star &output_items);
+};
+
+#endif /* INCLUDED_DIRECT_RESAMPLER_CONDITIONER_CC_H */
diff --git a/src/algorithms/conditioner/gnuradio_blocks/direct_resampler_conditioner_ss.cc b/src/algorithms/conditioner/gnuradio_blocks/direct_resampler_conditioner_ss.cc
new file mode 100644
index 000000000..7c52507a6
--- /dev/null
+++ b/src/algorithms/conditioner/gnuradio_blocks/direct_resampler_conditioner_ss.cc
@@ -0,0 +1,147 @@
+/*!
+ * \file direct_resampler_conditioner_ss.cc
+ * \brief Brief description of the file here
+ * \author Luis Esteve, 2011. luis(at)epsilon-formacion.com
+ *
+ * Detailed description of the file here if needed.
+ *
+ * -------------------------------------------------------------------------
+ *
+ * Copyright (C) 2010-2011 (see AUTHORS file for a list of contributors)
+ *
+ * GNSS-SDR is a software defined Global Navigation
+ * Satellite Systems receiver
+ *
+ * This file is part of GNSS-SDR.
+ *
+ * GNSS-SDR 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 3 of the License, or
+ * at your option) any later version.
+ *
+ * GNSS-SDR 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 GNSS-SDR. If not, see .
+ *
+ * -------------------------------------------------------------------------
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "direct_resampler_conditioner_ss.h"
+
+#include "gps_sdr_signal_processing.h"
+
+#include
+
+#include
+
+#include
+#include
+
+using google::LogMessage;
+
+direct_resampler_conditioner_ss_sptr direct_resampler_make_conditioner_ss(
+ double sample_freq_in, double sample_freq_out)
+{
+
+ return direct_resampler_conditioner_ss_sptr(
+ new direct_resampler_conditioner_ss(sample_freq_in,
+ sample_freq_out));
+}
+
+direct_resampler_conditioner_ss::direct_resampler_conditioner_ss(
+ double sample_freq_in, double sample_freq_out) :
+ gr_block("direct_resampler_make_conditioner_ss", gr_make_io_signature(1,
+ 1, sizeof(short)), gr_make_io_signature(1, 1, sizeof(short))),
+ d_sample_freq_in(sample_freq_in), d_sample_freq_out(
+ sample_freq_out), d_phase(0), d_lphase(0), d_history(1)
+{
+
+ // Computes the phase step multiplying the resampling ratio by 2^32 = 4294967296
+ if (d_sample_freq_in >= d_sample_freq_out)
+ {
+ d_phase_step = (unsigned int)floor((double)4294967296.0
+ * sample_freq_out / sample_freq_in);
+ }
+ else
+ {
+ d_phase_step = (unsigned int)floor((double)4294967296.0
+ * sample_freq_in / sample_freq_out);
+ }
+
+ set_relative_rate(1.0 * sample_freq_out / sample_freq_in);
+ set_output_multiple(1);
+}
+
+direct_resampler_conditioner_ss::~direct_resampler_conditioner_ss()
+{
+
+}
+
+void direct_resampler_conditioner_ss::forecast(int noutput_items,
+ gr_vector_int &ninput_items_required)
+{
+
+ int nreqd = std::max((unsigned)1, (int)((double)(noutput_items + 1)
+ * sample_freq_in() / sample_freq_out()) + history() - 1);
+ unsigned ninputs = ninput_items_required.size();
+
+ for (unsigned i = 0; i < ninputs; i++)
+ {
+ ninput_items_required[i] = nreqd;
+ }
+}
+
+int direct_resampler_conditioner_ss::general_work(int noutput_items,
+ gr_vector_int &ninput_items, gr_vector_const_void_star &input_items,
+ gr_vector_void_star &output_items)
+{
+
+ const CPX *in = (const CPX *)input_items[0];
+ CPX *out = (CPX *)output_items[0];
+
+ int lcv = 0;
+ int count = 0;
+
+ if (d_sample_freq_in >= d_sample_freq_out)
+ {
+ while ((lcv < noutput_items))
+ {
+ if (d_phase <= d_lphase)
+ {
+ out[lcv] = *in;
+ lcv++;
+ }
+
+ d_lphase = d_phase;
+ d_phase += d_phase_step;
+ in++;
+ count++;
+ }
+ }
+ else
+ {
+ while ((lcv < noutput_items))
+ {
+ d_lphase = d_phase;
+ d_phase += d_phase_step;
+ if (d_phase <= d_lphase)
+ {
+ in++;
+ count++;
+ }
+ out[lcv] = *in;
+ lcv++;
+ }
+ }
+
+ consume_each(std::min(count, ninput_items[0]));
+ return lcv;
+}
diff --git a/src/algorithms/conditioner/gnuradio_blocks/direct_resampler_conditioner_ss.h b/src/algorithms/conditioner/gnuradio_blocks/direct_resampler_conditioner_ss.h
new file mode 100644
index 000000000..8e251cb35
--- /dev/null
+++ b/src/algorithms/conditioner/gnuradio_blocks/direct_resampler_conditioner_ss.h
@@ -0,0 +1,83 @@
+/*!
+ * \file direct_resampler_conditioner_ss.h
+ * \brief Direct resampler with
+ * short input and short output
+ * \author Luis Esteve, 2011. luis(at)epsilon-formacion.com
+ *
+ * Detailed description of the file here if needed.
+ *
+ * -------------------------------------------------------------------------
+ *
+ * Copyright (C) 2010-2011 (see AUTHORS file for a list of contributors)
+ *
+ * GNSS-SDR is a software defined Global Navigation
+ * Satellite Systems receiver
+ *
+ * This file is part of GNSS-SDR.
+ *
+ * GNSS-SDR 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 3 of the License, or
+ * at your option) any later version.
+ *
+ * GNSS-SDR 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 GNSS-SDR. If not, see .
+ *
+ * -------------------------------------------------------------------------
+ */
+
+#ifndef INCLUDED_DIRECT_RESAMPLER_CONDITIONER_SS_H
+#define INCLUDED_DIRECT_RESAMPLER_CONDITIONER_SS_H
+
+#include
+
+class direct_resampler_conditioner_ss;
+typedef boost::shared_ptr
+ direct_resampler_conditioner_ss_sptr;
+direct_resampler_conditioner_ss_sptr
+direct_resampler_make_conditioner_ss(double sample_freq_in,
+ double sample_freq_out);
+
+class direct_resampler_conditioner_ss: public gr_block
+{
+
+private:
+
+ friend direct_resampler_conditioner_ss_sptr
+ direct_resampler_make_conditioner_ss(double sample_freq_in,
+ double sample_freq_out);
+
+ double d_sample_freq_in;
+ double d_sample_freq_out;
+ unsigned int d_phase;
+ unsigned int d_lphase;
+ unsigned int d_phase_step;
+ unsigned int d_history;
+
+ direct_resampler_conditioner_ss(double sample_freq_in,
+ double sample_freq_out);
+
+public:
+
+ ~direct_resampler_conditioner_ss();
+
+ unsigned int sample_freq_in() const
+ {
+ return d_sample_freq_in;
+ }
+ unsigned int sample_freq_out() const
+ {
+ return d_sample_freq_out;
+ }
+ void forecast(int noutput_items, gr_vector_int &ninput_items_required);
+ int general_work(int noutput_items, gr_vector_int &ninput_items,
+ gr_vector_const_void_star &input_items,
+ gr_vector_void_star &output_items);
+};
+
+#endif /* INCLUDED_DIRECT_RESAMPLER_CONDITIONER_SS_H */
diff --git a/src/algorithms/conditioner/gnuradio_blocks/jamfile.jam b/src/algorithms/conditioner/gnuradio_blocks/jamfile.jam
new file mode 100644
index 000000000..4661e5a2e
--- /dev/null
+++ b/src/algorithms/conditioner/gnuradio_blocks/jamfile.jam
@@ -0,0 +1,4 @@
+project : build-dir ../../../../build ;
+
+obj direct_resampler_conditioner_cc : direct_resampler_conditioner_cc.cc ;
+obj direct_resampler_conditioner_ss : direct_resampler_conditioner_ss.cc ;
\ No newline at end of file
diff --git a/src/algorithms/conditioner/jamfile.jam b/src/algorithms/conditioner/jamfile.jam
new file mode 100644
index 000000000..86bceb14f
--- /dev/null
+++ b/src/algorithms/conditioner/jamfile.jam
@@ -0,0 +1,2 @@
+build-project adapters ;
+build-project gnuradio_blocks ;
diff --git a/src/algorithms/jamfile.jam b/src/algorithms/jamfile.jam
new file mode 100644
index 000000000..e0bd0a1c7
--- /dev/null
+++ b/src/algorithms/jamfile.jam
@@ -0,0 +1,9 @@
+build-project acquisition ;
+build-project channel ;
+build-project conditioner ;
+build-project libs ;
+build-project signal_source ;
+build-project tracking ;
+build-project telemetry_decoder ;
+build-project observables ;
+build-project output_filter ;
\ No newline at end of file
diff --git a/src/algorithms/libs/gnss_sdr_valve.cc b/src/algorithms/libs/gnss_sdr_valve.cc
new file mode 100644
index 000000000..9f502d98c
--- /dev/null
+++ b/src/algorithms/libs/gnss_sdr_valve.cc
@@ -0,0 +1,82 @@
+/*!
+ * \file gnss_sdr_valve.cc
+ * \brief Brief description of the file here
+ * \author Carlos Aviles, 2010. carlos.avilesr(at)googlemail.com
+ *
+ * Detailed description of the file here if needed.
+ *
+ * -------------------------------------------------------------------------
+ *
+ * Copyright (C) 2010-2011 (see AUTHORS file for a list of contributors)
+ *
+ * GNSS-SDR is a software defined Global Navigation
+ * Satellite Systems receiver
+ *
+ * This file is part of GNSS-SDR.
+ *
+ * GNSS-SDR 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 3 of the License, or
+ * at your option) any later version.
+ *
+ * GNSS-SDR 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 GNSS-SDR. If not, see .
+ *
+ * -------------------------------------------------------------------------
+ */
+
+#include "gnss_sdr_valve.h"
+
+#include
+
+#include "control_message_factory.h"
+
+#include
+#include
+
+using google::LogMessage;
+
+gnss_sdr_valve::gnss_sdr_valve (size_t sizeof_stream_item,
+ int nitems,
+ gr_msg_queue_sptr queue) : gr_sync_block ("valve",
+ gr_make_io_signature (1, 1, sizeof_stream_item),
+ gr_make_io_signature (1, 1, sizeof_stream_item)),
+ d_nitems (nitems), d_ncopied_items (0), d_queue(queue)
+{}
+
+gr_block_sptr gnss_sdr_make_valve (size_t sizeof_stream_item,
+ int nitems,
+ gr_msg_queue_sptr queue)
+{
+ return gr_block_sptr (new gnss_sdr_valve (sizeof_stream_item, nitems, queue));
+}
+
+int gnss_sdr_valve::work (int noutput_items,
+ gr_vector_const_void_star &input_items,
+ gr_vector_void_star &output_items)
+{
+ if (d_ncopied_items >= d_nitems)
+ {
+
+ ControlMessageFactory* cmf = new ControlMessageFactory();
+ d_queue->handle(cmf->GetQueueMessage(200,0));
+ delete cmf;
+
+ return -1; // Done!
+ }
+
+ unsigned n = std::min (d_nitems - d_ncopied_items, noutput_items);
+
+ if (n == 0)
+ return 0;
+
+ memcpy (output_items[0], input_items[0], n * input_signature()->sizeof_stream_item (0));
+ d_ncopied_items += n;
+
+ return n;
+}
diff --git a/src/algorithms/libs/gnss_sdr_valve.h b/src/algorithms/libs/gnss_sdr_valve.h
new file mode 100644
index 000000000..705ddca7f
--- /dev/null
+++ b/src/algorithms/libs/gnss_sdr_valve.h
@@ -0,0 +1,69 @@
+/*!
+ * \file gnss_sdr_valve.h
+ * \brief This class implements a GNU Radio block that sends a STOP message to the
+ * control queue right after a specific number of samples have passed through it.
+ * \author Carlos Aviles, 2010. carlos.avilesr(at)googlemail.com
+ *
+ * Detailed description of the file here if needed.
+ *
+ * -------------------------------------------------------------------------
+ *
+ * Copyright (C) 2010-2011 (see AUTHORS file for a list of contributors)
+ *
+ * GNSS-SDR is a software defined Global Navigation
+ * Satellite Systems receiver
+ *
+ * This file is part of GNSS-SDR.
+ *
+ * GNSS-SDR 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 3 of the License, or
+ * at your option) any later version.
+ *
+ * GNSS-SDR 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 GNSS-SDR. If not, see .
+ *
+ * -------------------------------------------------------------------------
+ */
+
+
+
+
+#ifndef GNSS_SDR_VALVE_H_
+#define GNSS_SDR_VALVE_H_
+
+#include
+#include
+#include
+
+gr_block_sptr gnss_sdr_make_valve (size_t sizeof_stream_item,
+ int nitems,
+ gr_msg_queue_sptr queue);
+
+class gnss_sdr_valve : public gr_sync_block
+{
+
+ friend gr_block_sptr gnss_sdr_make_valve(size_t sizeof_stream_item,
+ int nitems,
+ gr_msg_queue_sptr queue);
+ gnss_sdr_valve (size_t sizeof_stream_item,
+ int nitems,
+ gr_msg_queue_sptr queue);
+
+ int d_nitems;
+ int d_ncopied_items;
+ gr_msg_queue_sptr d_queue;
+
+public:
+
+ int work (int noutput_items,
+ gr_vector_const_void_star &input_items,
+ gr_vector_void_star &output_items);
+};
+
+#endif /*GNSS_SDR_VALVE_H_*/
diff --git a/src/algorithms/libs/gps_sdr_defines.h b/src/algorithms/libs/gps_sdr_defines.h
new file mode 100644
index 000000000..c945584f5
--- /dev/null
+++ b/src/algorithms/libs/gps_sdr_defines.h
@@ -0,0 +1,169 @@
+/*----------------------------------------------------------------------------------------------*/
+/*! \file defines.h
+//
+// FILENAME: defines.h
+//
+// DESCRIPTION: Important, non board-specific defines, many associated with IS-GPS-200D.
+//
+// DEVELOPERS: Gregory W. Heckler (2003-2009)
+//
+// LICENSE TERMS: Copyright (c) Gregory W. Heckler 2009
+//
+// This file is part of the GPS Software Defined Radio (GPS-SDR)
+//
+// The GPS-SDR 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. The GPS-SDR 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.
+//
+// Note: Comments within this file follow a syntax that is compatible with
+// DOXYGEN and are utilized for automated document extraction
+//
+// Reference:
+ */
+/*----------------------------------------------------------------------------------------------*/
+
+#ifndef DEFINES_H_
+#define DEFINES_H_
+
+/* For unnamed pipes */
+/*----------------------------------------------------------------------------------------------*/
+#define READ (0) //!< Read handle
+#define WRITE (1) //!< Write handle
+#define TRUE (1) //!< True?
+#define FALSE (0) //!< False!
+/*----------------------------------------------------------------------------------------------*/
+
+/* First make some type prototypes */
+/*----------------------------------------------------------------------------------------------*/
+typedef unsigned char uint8; //!< Unsigned byte
+typedef unsigned short uint16; //!< Unsigned word
+//typedef unsigned long uint32; //!< Unsigned double word
+typedef unsigned long long uint64; //!< Unsigned quadruple word
+typedef signed char int8; //!< Signed byte
+typedef signed short int16; //!< Signed word
+//typedef signed long int32; //!< Signed double word
+typedef signed long long int64; //!< Signed quadruple word
+typedef signed int int32;
+typedef unsigned int uint32;
+/*----------------------------------------------------------------------------------------------*/
+
+/* Constants for scaling the ephemeris found in the data message
+ the format is the following: TWO_N5 -> 2^-5, TWO_P4 -> 2^4, PI_TWO_N43 -> Pi*2^-43, etc etc
+ Additionally some of the PI*2^N terms are used in the tracking stuff
+ TWO_PX ==> 2^X
+ TWO_NX ==> 2^-X
+ PI_TWO_NX ==> Pi*2^-X
+ PI_TWO_PX ==> Pi*2^X
+ ONE_PI_TWO_PX = (1/Pi)*2^X
+*/
+/*----------------------------------------------------------------------------------------------*/
+#define TWO_P4 (16) //!< 2^4
+#define TWO_P11 (2048) //!< 2^11
+#define TWO_P12 (4096) //!< 2^12
+#define TWO_P14 (16384) //!< 2^14
+#define TWO_P16 (65536) //!< 2^16
+#define TWO_P19 (524288) //!< 2^19
+#define TWO_P31 (2147483648.0) //!< 2^31
+#define TWO_P32 (4294967296.0) //!< 2^32 this is too big for an int so add the x.0
+#define TWO_P57 (1.441151880758559e+017) //!< 2^57
+
+#define TWO_N5 (0.03125) //!< 2^-5
+#define TWO_N11 (4.882812500000000e-004) //!< 2^-11
+#define TWO_N19 (1.907348632812500e-006) //!< 2^-19
+#define TWO_N20 (9.536743164062500e-007) //!< 2^-20
+#define TWO_N21 (4.768371582031250e-007) //!< 2^-21
+#define TWO_N24 (5.960464477539063e-008) //!< 2^-24
+#define TWO_N25 (2.980232238769531e-008) //!< 2^-25
+#define TWO_N27 (7.450580596923828e-009) //!< 2^-27
+#define TWO_N29 (1.862645149230957e-009) //!< 2^-29
+#define TWO_N30 (9.313225746154785e-010) //!< 2^-30
+#define TWO_N31 (4.656612873077393e-010) //!< 2^-31
+#define TWO_N32 (2.328306436538696e-010) //!< 2^-32
+#define TWO_N33 (1.164153218269348e-010) //!< 2^-33
+#define TWO_N38 (3.637978807091713e-012) //!< 2^-38
+#define TWO_N43 (1.136868377216160e-013) //!< 2^-43
+#define TWO_N50 (8.881784197001252e-016) //!< 2^-50
+#define TWO_N55 (2.775557561562891e-017) //!< 2^-55
+#define TWO_P56 (7.205759403792794e+016) //!< 2^56
+#define TWO_P57 (1.441151880758559e+017) //!< 2^57
+
+#define PI_TWO_N19 (5.992112452678286e-006) //!< Pi*2^-19
+#define PI_TWO_N43 (3.571577341960839e-013) //!< Pi*2^-43
+#define PI_TWO_N31 (1.462918079267160e-009) //!< Pi*2^-31
+#define PI_TWO_N38 (1.142904749427469e-011) //!< Pi*2^-38
+#define PI_TWO_N23 (3.745070282923929e-007) //!< Pi*2^-23
+
+/* from ICD-GPS-2000 !!! Do not extend the number of significant digits !!! */
+#ifndef PI
+#define PI (3.141592653589793) //!< Pi
+#endif
+#ifndef TWO_PI
+#define TWO_PI (6.283185307179586) //!< 2*Pi
+#endif
+
+#define THREE_PI_OVER_2 (4.7123889803) //!< 3*Pi/2
+#define PI_OVER_2 (1.5707963267) //!< Pi/2
+#define RAD_2_DEG (57.29577951308232) //!< 180/Pi
+#define DEG_2_RAD (0.01745329251994) //!< Pi/180
+/*----------------------------------------------------------------------------------------------*/
+
+
+/* Channel Defines */
+/*----------------------------------------------------------------------------------------------*/
+#define FRAME_SIZE_PLUS_2 (12) //!< Number of 30 bit words in subframe plus 2
+#define PREAMBLE (unsigned long)(0x008B) //!< GPS data message preamble.
+#define INVERSEPREAMBLE (unsigned long)(0x0074) //!< Inverted preamble.
+/*----------------------------------------------------------------------------------------------*/
+
+
+/* PVT Stuff */
+/*----------------------------------------------------------------------------------------------*/
+#define GRAVITY_CONSTANT (3.986005e14) //!< Earth's WGS-84 gravitational constant (m^3/s^2) as specified in IS-GPS-200D
+#define WGS84OE (7.2921151467e-5) //!< Earth's WGS-84 rotation rate (rads/s) as specified in IS-GPS-200D
+#define WGS84_MAJOR_AXIS (6378137.0) //!< Earth's WGS-84 ellipsoid's major axis
+#define WGS84_MINOR_AXIS (6356752.314245) //!< Earth's WGS-84 ellipsoid's minor axis
+#define SECONDS_IN_1024_WEEKS (619315200.0) //!< Number of seconds in 1024 weeks
+#define SECONDS_IN_WEEK (604800.0) //!< Number of seconds in a week
+#define HALF_OF_SECONDS_IN_WEEK (302400.0) //!< Number of seconds in one half of a week
+#define SECONDS_IN_DAY (86400.0) //!< Number of seconds in a day
+#define SECONDS_IN_HOUR (3600.0) //!< Number of seconds in an hour
+#define SECONDS_IN_MINUTE (60.0) //!< Number of seconds in a minute
+#define SECONDS_IN_HALF_HOUR (1800.0) //!< Number of seconds in a half hour
+#define FOUR_HOURS (14400.0) //!< Number of seconds in 4 hrs
+#define SECONDS_PER_MZCOUNT (0.6) //!< Seconds per RTCM-104 modified Z-count.
+#define L1 (1.57542e9)
+#define L2 (1.2276e9)
+#define L1_WAVELENGTH (1.902936727983649e-001) //!< Meters
+#define L1_OVER_C (5.255035468570728) //!< L1 over Speed O Light
+#define C_OVER_L1 (0.190293672798365) //!< Speed O Light over L1
+#ifndef SPEED_OF_LIGHT
+ #define SPEED_OF_LIGHT (2.99792458e8) //!< Speed of light (m/s) as specified in IS-GPS-200D
+#endif
+#define INVERSE_L1 (6.347513678891978e-10) //!< 1/L1
+#define INVERSE_SPEED_OF_LIGHT (3.33564095198152049576e-9) //!< Inverse speed of light
+#define CODE_RATE (1.023e6) //!< L1 C/A code chipping rate
+#define INVERSE_CODE_RATE (9.775171065493646e-07) //!< 1/L1 C/A code chipping rate
+#define CODE_CHIPS (1023)
+#define SAMPS_MS (2048) //!< All incoming signals are resampled to this sampling frequency
+#define SAMPLE_FREQUENCY (2048000) //!< All incoming signals are resampled to this sampling frequency
+#define INVERSE_SAMPLE_FREQUENCY (4.882812500000000e-7)
+/*----------------------------------------------------------------------------------------------*/
+
+
+/* Global Serial Port */
+/*----------------------------------------------------------------------------------------------*/
+#define CHECK_STATUS(x) if((x) != NU_SUCCESS) {ERC_System_Error((x));}
+#define READ (0)
+#define WRITE (1)
+/*----------------------------------------------------------------------------------------------*/
+
+/*----------------------------------------------------------------------------------------------*/
+#define NON_EXISTENT_SV (666)
+#define NON_EXISTENT_IODE (9999)
+#define STALE_SPS_VALUE (99999)
+/*----------------------------------------------------------------------------------------------*/
+
+#endif //DEFINES_H_
diff --git a/src/algorithms/libs/gps_sdr_fft.cc b/src/algorithms/libs/gps_sdr_fft.cc
new file mode 100644
index 000000000..1caba1021
--- /dev/null
+++ b/src/algorithms/libs/gps_sdr_fft.cc
@@ -0,0 +1,816 @@
+/*----------------------------------------------------------------------------------------------*/
+/*! \file fft.cpp
+//
+// FILENAME: fft.cpp
+//
+// DESCRIPTION: Implements member functions of the FFT class.
+//
+// DEVELOPERS: Gregory W. Heckler (2003-2009)
+//
+// LICENSE TERMS: Copyright (c) Gregory W. Heckler 2009
+//
+// This file is part of the GPS Software Defined Radio (GPS-SDR)
+//
+// The GPS-SDR 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. The GPS-SDR 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.
+//
+// Note: Comments within this file follow a syntax that is compatible with
+// DOXYGEN and are utilized for automated document extraction
+//
+// Reference:
+*/
+/*----------------------------------------------------------------------------------------------*/
+
+#include "gps_sdr_fft.h"
+
+#include
+#include
+#include
+
+
+//#define NO_SIMD
+
+#ifdef NO_SIMD
+ void rank(CPX *_A, CPX *_B, MIX *_W, int32 _nblocks, int32 _bsize);
+ void rankdf(CPX *_A, CPX *_B, MIX *_W, int32 _nblocks, int32 _bsize);
+ void rank_noscale(CPX *_A, CPX *_B, MIX *_W, int32 _nblocks, int32 _bsize);
+ void rankdf_noscale(CPX *_A, CPX *_B, MIX *_W, int32 _nblocks, int32 _bsize);
+ void bfly(CPX *_A, CPX *_B, MIX *_W);
+ void bflydf(CPX *_A, CPX *_B, MIX *_W);
+ void bfly_noscale(CPX *_A, CPX *_B, MIX *_W);
+ void bflydf_noscale(CPX *_A, CPX *_B, MIX *_W);
+#else
+ void rank(CPX *_A, CPX *_B, MIX *_W, int32 _nblocks, int32 _bsize) __attribute__ ((noinline));
+ void rankdf(CPX *_A, CPX *_B, MIX *_W, int32 _nblocks, int32 _bsize) __attribute__ ((noinline));
+ void rank_noscale(CPX *_A, CPX *_B, MIX *_W, int32 _nblocks, int32 _bsize) __attribute__ ((noinline));
+ void rankdf_noscale(CPX *_A, CPX *_B, MIX *_W, int32 _nblocks, int32 _bsize) __attribute__ ((noinline));
+#endif
+
+FFT::FFT()
+{
+
+ N = 0;
+
+}
+
+FFT::FFT(int32 _N)
+{
+
+ int32 lcv;
+
+ for(lcv = 0; lcv < MAX_RANKS; lcv++)
+ R[lcv] = 1;
+
+ N = _N;
+ M = 0;
+
+ /* Get the number of ranks */
+ while(_N > 1)
+ {
+ M++;
+ _N >>= 1;
+ }
+
+ W = (MIX *)malloc(N/2*sizeof(MIX)); // Forward twiddle lookup
+ iW = (MIX *)malloc(N/2*sizeof(MIX)); // Inverse twiddle lookup
+ BR = (int32 *)malloc(N*sizeof(int32)); // Bit reverse lookup
+ BRX = (int32 *)malloc(N*sizeof(CPX)); // Shuffle temp array
+
+ initW();
+ initBR();
+
+}
+
+
+FFT::FFT(int32 _N, int32 _R[MAX_RANKS])
+{
+
+ int32 lcv;
+
+ for(lcv = 0; lcv < MAX_RANKS; lcv++)
+ R[lcv] = _R[lcv];
+
+ N = _N;
+ M = 0;
+
+ /* Get the number of ranks */
+ while(_N > 1)
+ {
+ M++;
+ _N >>= 1;
+ }
+
+ W = (MIX *)malloc(N/2*sizeof(MIX)); // Forward twiddle lookup
+ iW = (MIX *)malloc(N/2*sizeof(MIX)); // Inverse twiddle lookup
+ BR = (int32 *)malloc(N*sizeof(int32)); // Bit reverse lookup
+ BRX = (int32 *)malloc(N*sizeof(CPX)); // Shuffle temp array
+
+ initW();
+ initBR();
+
+}
+
+
+FFT::~FFT()
+{
+ free(BRX);
+ free(BR);
+ free(W);
+ free(iW);
+}
+
+void FFT::initW()
+{
+
+ int32 lcv;
+ double s, c, phase;
+ const double pi = 3.14159265358979323846264338327;
+
+ for(lcv = 0; lcv < N/2; lcv++)
+ {
+ //Forward twiddles
+ phase = (-2*pi*lcv)/N;
+ c = floor(16384*cos(phase));
+ s = floor(16384*sin(phase));
+ W[lcv].i = (short)(c);
+ W[lcv].q = (short)(s);
+ W[lcv].nq = (short)(-s);
+ W[lcv].ni = (short)(c);
+
+// fprintf(stdout,"W:%d,%d\n",W[lcv].i,W[lcv].q);
+
+ //Inverse twiddles
+ iW[lcv].i = (short)(c);
+ iW[lcv].q = (short)(-s);
+ iW[lcv].nq = (short)(s);
+ iW[lcv].ni = (short)(c);
+ }
+
+}
+
+
+
+void FFT::initBR()
+{
+ int lcv, lcv2, index;
+
+ for(lcv = 0; lcv < N; lcv++)
+ {
+ index = 0;
+ for(lcv2 = 0; lcv2 < M; lcv2++)
+ {
+ index += ((lcv >> lcv2) & 0x1);
+ index <<= 1;
+ }
+ index >>= 1;
+
+ BR[lcv] = index;
+
+// fprintf(stdout,"BR:%d\n",BR[lcv]);
+ }
+
+}
+
+void FFT::doFFT(CPX *_x, bool _shuf)
+{
+ int32 lcv, nblocks, bsize;
+ CPX *a, *b;
+ MIX *w;
+
+ if(_shuf) {
+ doShuffle(_x); //bit reverse the array
+ }
+
+ bsize = 1;
+ nblocks = N >> 1;
+
+ for(lcv = 0; lcv < M; lcv++) //Loop over M ranks
+ {
+ a = _x;
+ b = _x + bsize;
+ w = W;
+
+ if(R[lcv])
+ rank(a, b, w, nblocks, bsize);
+ else
+ rank_noscale(a, b, w, nblocks, bsize);
+
+ bsize <<= 1;
+ nblocks >>= 1;
+ }
+}
+
+
+void FFT::doiFFT(CPX *_x, bool _shuf)
+{
+
+ int32 lcv, nblocks, bsize;
+ CPX *a, *b;
+ MIX *w;
+
+ if(_shuf)
+ doShuffle(_x); //bit reverse the array
+
+ bsize = 1;
+ nblocks = N >> 1;
+
+ for(lcv = 0; lcv < M; lcv++) //Loop over M ranks
+ {
+ a = _x;
+ b = _x + bsize;
+ w = iW;
+
+ if(R[lcv])
+ rank(a, b, w, nblocks, bsize);
+ else
+ rank_noscale(a, b, w, nblocks, bsize);
+
+
+ bsize <<= 1;
+ nblocks >>= 1;
+ }
+
+}
+
+
+void FFT::doFFTdf(CPX *_x, bool _shuf)
+{
+
+ int32 lcv;
+ int32 bsize;
+ int32 nblocks;
+ CPX *a, *b;
+ MIX *w;
+
+ bsize = N >> 1;
+ nblocks = 1;
+
+ for(lcv = 0; lcv < M; lcv++) //Loop over M ranks
+ {
+ a = _x;
+ b = _x + bsize;
+ w = W;
+
+ if(R[lcv])
+ rankdf(a, b, w, nblocks, bsize);
+ else
+ rankdf_noscale(a, b, w, nblocks, bsize);
+
+ bsize >>= 1;
+ nblocks <<= 1;
+ }
+
+ if(_shuf)
+ doShuffle(_x); //bit reverse the array
+
+}
+
+
+void FFT::doiFFTdf(CPX *_x, bool _shuf)
+{
+
+ int32 lcv;
+ int32 bsize, nblocks;
+ CPX *a, *b;
+ MIX *w;
+
+ bsize = N >> 1;
+ nblocks = 1;
+
+ for(lcv = 0; lcv < M; lcv++) //Loop over M ranks
+ {
+ a = _x;
+ b = _x + bsize;
+ w = iW;
+
+ if(R[lcv])
+ rankdf(a, b, w, nblocks, bsize);
+ else
+ rankdf_noscale(a, b, w, nblocks, bsize);
+
+ bsize >>= 1;
+ nblocks <<= 1;
+ }
+
+ if(_shuf)
+ doShuffle(_x); //bit reverse the array
+
+}
+
+void FFT::doShuffle(CPX *_x)
+{
+
+ int32 lcv;
+ int32 *p = (int32 *)_x;
+
+ memcpy(BRX, p, N*sizeof(CPX));
+
+ for(lcv = 0; lcv < N; lcv++)
+ p[lcv] = BRX[BR[lcv]];
+
+}
+
+
+#ifdef NO_SIMD /* Include the cPP FFT Functions */
+
+void rank(CPX *_A, CPX *_B, MIX *_W, int32 _nblocks, int32 _bsize)
+{
+
+ int32 lcv, lcv2;
+
+ MIX *wbase = _W;
+
+ for(lcv = 0; lcv < _nblocks; lcv++)
+ {
+ for(lcv2 = 0; lcv2 < _bsize; lcv2++)
+ {
+ bfly(_A, _B, _W);
+ _A++; _B++; _W+=_nblocks;
+ }
+
+ _A += _bsize;
+ _B += _bsize;
+ _W = wbase;
+ }
+
+}
+
+void rank_noscale(CPX *_A, CPX *_B, MIX *_W, int32 _nblocks, int32 _bsize)
+{
+
+ int32 lcv, lcv2;
+
+ MIX *wbase = _W;
+
+ for(lcv = 0; lcv < _nblocks; lcv++)
+ {
+ for(lcv2 = 0; lcv2 < _bsize; lcv2++)
+ {
+ bfly_noscale(_A, _B, _W);
+ _A++; _B++; _W+=_nblocks;
+ }
+
+ _A += _bsize;
+ _B += _bsize;
+ _W = wbase;
+ }
+
+}
+
+void rankdf(CPX *_A, CPX *_B, MIX *_W, int32 _nblocks, int32 _bsize)
+{
+
+ int32 lcv, lcv2;
+
+ MIX *wbase = _W;
+
+ for(lcv = 0; lcv < _nblocks; lcv++)
+ {
+ for(lcv2 = 0; lcv2 < _bsize; lcv2++)
+ {
+ bflydf(_A, _B, _W);
+ _A++; _B++; _W+=_nblocks;
+ }
+
+ _A += _bsize;
+ _B += _bsize;
+ _W = wbase;
+ }
+
+}
+
+
+void rankdf_noscale(CPX *_A, CPX *_B, MIX *_W, int32 _nblocks, int32 _bsize)
+{
+
+ int32 lcv, lcv2;
+
+ MIX *wbase = _W;
+
+ for(lcv = 0; lcv < _nblocks; lcv++)
+ {
+ for(lcv2 = 0; lcv2 < _bsize; lcv2++)
+ {
+ bflydf_noscale(_A, _B, _W);
+ _A++; _B++; _W+=_nblocks;
+ }
+
+ _A += _bsize;
+ _B += _bsize;
+ _W = wbase;
+ }
+
+}
+
+void bfly(CPX *_A, CPX *_B, MIX *_W)
+{
+ int32 bi, bq;
+
+ _A->i >>= 1;
+ _A->q >>= 1;
+ _B->i >>= 1;
+ _B->q >>= 1;
+
+ bi = _B->i*_W->i - _B->q*_W->q;
+ bq = _B->i*_W->q + _B->q*_W->i;
+
+ bi = (bi + 8192) >> 14;
+ bq = (bq + 8192) >> 14;
+
+ _B->i = _A->i - (int16)bi;
+ _B->q = _A->q - (int16)bq;
+
+ _A->i += (int16)bi;
+ _A->q += (int16)bq;
+}
+
+void bfly_noscale(CPX *_A, CPX *_B, MIX *_W)
+{
+ int32 bi, bq;
+
+ bi = _B->i*_W->i - _B->q*_W->q;
+ bq = _B->i*_W->q + _B->q*_W->i;
+
+ bi = (bi + 8192) >> 14;
+ bq = (bq + 8192) >> 14;
+
+ _B->i = _A->i - (int16)bi;
+ _B->q = _A->q - (int16)bq;
+
+ _A->i += (int16)bi;
+ _A->q += (int16)bq;
+}
+
+void bflydf(CPX *_A, CPX *_B, MIX *_W)
+{
+ int32 bi, bq;
+
+ _A->i >>= 1;
+ _A->q >>= 1;
+ _B->i >>= 1;
+ _B->q >>= 1;
+
+ bi = _B->i;
+ bq = _B->q;
+
+ _B->i = _A->i - bi;
+ _B->q = _A->q - bq;
+ _A->i = _A->i + bi;
+ _A->q = _A->q + bq;
+
+ bi = _A->i*_W->i - _A->q*_W->q;
+ bq = _A->i*_W->q + _A->q*_W->i;
+
+ bi = (bi + 8192) >> 14;
+ bq = (bq + 8192) >> 14;
+
+ _A->i += (int16)bi;
+ _A->q += (int16)bq;
+}
+
+void bflydf_noscale(CPX *_A, CPX *_B, MIX *_W)
+{
+ int32 bi, bq;
+
+ bi = _B->i;
+ bq = _B->q;
+
+ _B->i = _A->i - bi;
+ _B->q = _A->q - bq;
+ _A->i = _A->i + bi;
+ _A->q = _A->q + bq;
+
+ bi = _A->i*_W->i - _A->q*_W->q;
+ bq = _A->i*_W->q + _A->q*_W->i;
+
+ bi = (bi + 8192) >> 14;
+ bq = (bq + 8192) >> 14;
+
+ _A->i += (int16)bi;
+ _A->q += (int16)bq;
+}
+
+#else /* Include the SIMD FFT Functions */
+
+void rank(CPX *_A, CPX *_B, MIX *_W, int32 _nblocks, int32 _bsize)
+{
+
+ __asm
+ (
+ ".intel_syntax noprefix \n" //Use intel syntax
+ "push ebx\n\t"
+ "mov ebx, [ebp+8] \n" //A
+ "mov edi, [ebp+12] \n" //B
+ "mov edx, [ebp+20] \n" //nblocks
+ "mov eax, 0x00002000 \n"
+ "movd mm4, eax \n"
+ "punpckldq mm4, mm4 \n" //Low 32 bits to high 32 bits
+ "B%=: \n"
+ "mov esi, [ebp+16] \n" //W
+ "mov ecx, 0x0 \n"
+ "mov eax, [ebp+20] \n" //nblocks
+ "sal eax, 3 \n" //make into bytes
+ "S%=: \n"
+ "movd mm0, [ebx+ecx*4]\n" //Copy A to mm0
+ "movd mm1, [edi+ecx*4]\n" //Copy B to mm1
+ "movq mm2, [esi] \n" //Copy W to mm2
+ "psraw mm0, 1 \n" //Divide A by 2
+ "psraw mm1, 1 \n" //Divide B by 2
+ "movq mm3, mm0 \n" //Copy A to mm3
+ "punpckldq mm1, mm1 \n" //Low 32 bits to high 32 bits
+ "pmaddwd mm1, mm2 \n" //Multiply and add
+ "padddw mm1, mm4 \n"
+ "psrad mm1, 0xe \n" //Right shift by 14 bits
+ "packssdw mm1, mm1 \n" //Pack back into 16 bit interleaved
+ "paddw mm0, mm1 \n" //A+Bw
+ "psubw mm3, mm1 \n" //A-Bw
+ "movd [ebx+ecx*4], mm0\n" //Copy back to A
+ "movd [edi+ecx*4], mm3\n" //Copy back to B
+ "add esi, eax \n"
+ "add ecx, 0x1 \n"
+ "cmp ecx, [ebp+24] \n"
+ "jne S%= \n"
+ "sal ecx, 3 \n"
+ "add ebx, ecx \n"
+ "add edi, ecx \n"
+ "sub edx, 0x1 \n"
+ "jnz B%= \n"
+ "pop ebx\n\t"
+ "EMMS \n" //Done with MMX
+ ".att_syntax \n" //Back to ATT syntax
+ :
+ : "m" (_A), "m" (_B), "m" (_W), "m" (_nblocks), "m" (_bsize)
+ : "%eax", "%ecx", "%edx", "%edi", "%esi"
+ );
+
+}
+
+
+void rank_noscale(CPX *_A, CPX *_B, MIX *_W, int32 _nblocks, int32 _bsize)
+{
+
+ __asm
+ (
+ ".intel_syntax noprefix \n" //Use intel syntax
+ "push ebx\n\t"
+ "mov ebx, [ebp+8] \n" //A
+ "mov edi, [ebp+12] \n" //B
+ "mov edx, [ebp+20] \n" //nblocks
+ "mov eax, 0x00002000 \n"
+ "movd mm4, eax \n"
+ "punpckldq mm4, mm4 \n" //Low 32 bits to high 32 bits
+ "B%=: \n"
+ "mov esi, [ebp+16] \n" //W
+ "mov ecx, 0x0 \n"
+ "mov eax, [ebp+20] \n" //nblocks
+ "sal eax, 3 \n" //make into bytes
+ "S%=: \n"
+ "movd mm0, [ebx+ecx*4]\n" //Copy A to mm0
+ "movd mm1, [edi+ecx*4]\n" //Copy B to mm1
+ "movq mm2, [esi] \n" //Copy W to mm2
+ "movq mm3, mm0 \n" //Copy A to mm3
+ "punpckldq mm1, mm1 \n" //Low 32 bits to high 32 bits
+ "pmaddwd mm1, mm2 \n" //Multiply and add
+ "padddw mm1, mm4 \n"
+ "psrad mm1, 0xe \n" //Right shift by 14 bits
+ "packssdw mm1, mm1 \n" //Pack back into 16 bit interleaved
+ "paddw mm0, mm1 \n" //A+Bw
+ "psubw mm3, mm1 \n" //A-Bw
+ "movd [ebx+ecx*4], mm0\n" //Copy back to A
+ "movd [edi+ecx*4], mm3\n" //Copy back to B
+ "add esi, eax \n"
+ "add ecx, 0x1 \n"
+ "cmp ecx, [ebp+24] \n"
+ "jne S%= \n"
+ "sal ecx, 3 \n"
+ "add ebx, ecx \n"
+ "add edi, ecx \n"
+ "sub edx, 0x1 \n"
+ "jnz B%= \n"
+ "pop ebx\n\t"
+ "EMMS \n" //Done with MMX
+ ".att_syntax \n" //Back to ATT syntax
+ :
+ : "m" (_A), "m" (_B), "m" (_W), "m" (_nblocks), "m" (_bsize)
+ : "%eax", "%ecx", "%edx", "%edi", "%esi"
+ );
+
+}
+
+//static void bflydf(void *_A, void *_B, void *_W)
+//{
+//
+// __asm
+// {
+// mov ebx, _A;
+// mov edi, _B;
+// mov esi, _W;
+//
+// movd mm0, [ebx]; /*move 32 bits from A to bottom 32 bits of mm0*/
+// movd mm1, [edi]; /*move 32 bits from B to bottom 32 bits of mm1*/
+// movq mm2, [esi]; /*move 64 bits from W to mm2*/
+// psraw mm0, 0x1;
+// psraw mm1, 0x1;
+// movq mm3, mm0; /*copy A to mm3*/
+// paddw mm0, mm1; /*A+B*/
+// psubw mm3, mm1; /*A-B*/
+// punpckldq mm3, mm3; /*copy bottom 32 bits of B data into high 32 bits*/
+// pmaddwd mm3, mm2; /*complex multiply, real now 0..31 of mm1, imag 32..63 of mm1*/
+// psrad mm3, 0xf; /*right shift 0..31 by 16, 32..63 by 16*/
+// packssdw mm3, mm3; /*pack bits 0..31 to 0..16, bits 32..63 to 16..31*/
+// movd [ebx], mm0;
+// movd [edi], mm3;
+//
+// EMMS;
+// }
+//}
+
+
+void rankdf(CPX *_A, CPX *_B, MIX *_W, int32 _nblocks, int32 _bsize)
+{
+
+ __asm
+ (
+ ".intel_syntax noprefix \n" //Use intel syntax
+ "push ebx\n\t"
+ "mov ebx, [ebp+8] \n" //A
+ "mov edi, [ebp+12] \n" //B
+ "mov edx, [ebp+20] \n" //nblocks
+ "mov eax, 0x00002000 \n"
+ "movd mm4, eax \n"
+ "punpckldq mm4, mm4 \n" //Low 32 bits to high 32 bits
+ "B%=: \n"
+ "mov esi, [ebp+16] \n" //W
+ "mov ecx, [ebp+24] \n" //bsize
+ "mov eax, [ebp+20] \n" //nblocks
+ "sal eax, 3 \n" //make into bytes
+ "L%=: \n"
+ "movd mm0, [ebx] \n" //Copy A to mm0
+ "movd mm1, [edi] \n" //Copy B to mm1
+ "movq mm2, [esi] \n" //Copy W to mm2
+ "psraw mm0, 1 \n" //Divide A by 2
+ "psraw mm1, 1 \n" //Divide B by 2
+ "movq mm3, mm0 \n" //Copy A to mm3
+ "paddw mm0, mm1 \n" //A+B
+ "psubw mm3, mm1 \n" //A-B
+ "punpckldq mm3, mm3 \n" //Copy bottom 32 bits of B data into high 32 bits*/
+ "pmaddwd mm3, mm2 \n" //Complex multiply, real now 0..31 of mm1, imag 32..63 of mm1*/
+ "padddw mm3, mm4 \n"
+ "psrad mm3, 0xe \n" //Right shift 0..31 by 14, 32..63 by 14*/
+ "packssdw mm3, mm3 \n" //Pack bits 0..31 to 0..16, bits 32..63 to 16..31*/
+ "movd [ebx], mm0 \n" //Copy back to A
+ "movd [edi], mm3 \n" //Copy back to B
+ "add ebx, 0x4 \n"
+ "add edi, 0x4 \n"
+ "add esi, eax \n"
+ "loop L%= \n"
+ "mov ecx, [ebp+24] \n" //bsize
+ "sal ecx, 2 \n"
+ "add ebx, ecx \n"
+ "add edi, ecx \n"
+ "sub edx, 0x1 \n"
+ "jnz B%= \n"
+ "pop ebx\n\t"
+ "EMMS \n" //Done with MMX
+ ".att_syntax \n" //Back to ATT syntax
+ :
+ : "m" (_A), "m" (_B), "m" (_W), "m" (_nblocks), "m" (_bsize)
+ : "%eax", "%ecx", "%edx", "%edi", "%esi"
+ );
+
+
+}
+
+
+void rankdf_noscale(CPX *_A, CPX *_B, MIX *_W, int32 _nblocks, int32 _bsize)
+{
+
+ __asm
+ (
+ ".intel_syntax noprefix \n" //Use intel syntax
+ "push ebx\n\t"
+ "mov ebx, [ebp+8] \n" //A
+ "mov edi, [ebp+12] \n" //B
+ "mov edx, [ebp+20] \n" //nblocks
+ "mov eax, 0x00002000 \n"
+ "movd mm4, eax \n"
+ "punpckldq mm4, mm4 \n" //Low 32 bits to high 32 bits
+ "B%=: \n"
+ "mov esi, [ebp+16] \n" //W
+ "mov ecx, [ebp+24] \n" //bsize
+ "mov eax, [ebp+20] \n" //nblocks
+ "sal eax, 3 \n" //make into bytes
+ "L%=: \n"
+ "movd mm0, [ebx] \n" //Copy A to mm0
+ "movd mm1, [edi] \n" //Copy B to mm1
+ "movq mm2, [esi] \n" //Copy W to mm2
+ "movq mm3, mm0 \n" //Copy A to mm3
+ "paddw mm0, mm1 \n" //A+B
+ "psubw mm3, mm1 \n" //A-B
+ "punpckldq mm3, mm3 \n" //Copy bottom 32 bits of B data into high 32 bits*/
+ "pmaddwd mm3, mm2 \n" //Complex multiply, real now 0..31 of mm1, imag 32..63 of mm1*/
+ "padddw mm3, mm4 \n"
+ "psrad mm3, 0xe \n" //Right shift 0..31 by 14, 32..63 by 14*/
+ "packssdw mm3, mm3 \n" //Pack bits 0..31 to 0..16, bits 32..63 to 16..31*/
+ "movd [ebx], mm0 \n" //Copy back to A
+ "movd [edi], mm3 \n" //Copy back to B
+ "add ebx, 0x4 \n"
+ "add edi, 0x4 \n"
+ "add esi, eax \n"
+ "loop L%= \n"
+ "mov ecx, [ebp+24] \n" //bsize
+ "sal ecx, 2 \n"
+ "add ebx, ecx \n"
+ "add edi, ecx \n"
+ "sub edx, 0x1 \n"
+ "jnz B%= \n"
+ "pop ebx\n\t"
+ "EMMS \n" //Done with MMX
+ ".att_syntax \n" //Back to ATT syntax
+ :
+ : "m" (_A), "m" (_B), "m" (_W), "m" (_nblocks), "m" (_bsize)
+ : "%eax", "%ecx", "%edx", "%edi", "%esi"
+ );
+
+
+}
+
+//void bfly(CPX *_A, CPX *_B, MIX *_W)
+//{
+// __asm
+// (
+// ".intel_syntax noprefix \n" //Use intel syntax
+// "mov ebx, [ebp+8] \n" //A
+// "mov edi, [ebp+12] \n" //B
+// "mov esi, [ebp+16] \n" //W
+// "movd mm0, [ebx] \n" //Copy A to mm0
+// "movd mm1, [edi] \n" //Copy B to mm1
+// "movq mm2, [esi] \n" //Copy W to mm2
+// "psraw mm0, 1 \n" //Divide A by 2
+// "psraw mm1, 1 \n" //Divide B by 2
+// "movq mm3, mm0 \n" //Copy A to mm3
+// "punpckldq mm1, mm1 \n" //Low 32 bits to high 32 bits
+// "pmaddwd mm1, mm2 \n" //Multiply and add
+// "psrad mm1, 0xe \n" //Right shift by 14 bits
+// "packssdw mm1, mm1 \n" //Pack back into 16 bit interleaved
+// "paddw mm0, mm1 \n" //A+Bw
+// "psubw mm3, mm1 \n" //A-Bw
+// "movd [ebx], mm0 \n" //Copy back to A
+// "movd [edi], mm3 \n" //Copy back to B
+// "EMMS \n" //Done with MMX
+// ".att_syntax \n" //Back to ATT syntax
+// :
+// :
+// : "%eax", "%ebx", "%ecx", "%edx", "%edi", "%esi"
+// );
+//}
+//
+//
+//void block(CPX *_A, CPX *_B, MIX *_W, int32 _nblocks, int32 _bsize)
+//{
+//
+// __asm
+// (
+// ".intel_syntax noprefix \n" //Use intel syntax
+// "mov ebx, [ebp+8] \n" //A
+// "mov edi, [ebp+12] \n" //B
+// "mov esi, [ebp+16] \n" //W
+// "mov eax, [ebp+20] \n" //nblocks
+// "sal eax, 3 \n" //make into bytes
+// "mov ecx, [ebp+24] \n" //bsize
+// "Lbsize: \n"
+// "movd mm0, [ebx] \n" //Copy A to mm0
+// "movd mm1, [edi] \n" //Copy B to mm1
+// "movq mm2, [esi] \n" //Copy W to mm2
+// "psraw mm0, 1 \n" //Divide A by 2
+// "psraw mm1, 1 \n" //Divide B by 2
+// "movq mm3, mm0 \n" //Copy A to mm3
+// "punpckldq mm1, mm1 \n" //Low 32 bits to high 32 bits
+// "pmaddwd mm1, mm2 \n" //Multiply and addint64
+// "psrad mm1, 0xe \n" //Right shift by 14 bits
+// "packssdw mm1, mm1 \n" //Pack back into 16 bit interleaved
+// "paddw mm0, mm1 \n" //A+Bw
+// "psubw mm3, mm1 \n" //A-Bw
+// "movd [ebx], mm0 \n" //Copy back to A
+// "movd [edi], mm3 \n" //Copy back to B
+// "add ebx, 0x4 \n"
+// "add edi, 0x4 \n"
+// "add esi, eax \n"
+// "loop Lbsize \n"
+// "EMMS \n" //Done with MMX
+// ".att_syntax \n" //Back to ATT syntax
+// :
+// :
+// : "%eax", "%ebx", "%ecx", "%edx", "%edi", "%esi"
+// );
+//
+//}
+
+
+#endif
+
+
diff --git a/src/algorithms/libs/gps_sdr_fft.h b/src/algorithms/libs/gps_sdr_fft.h
new file mode 100644
index 000000000..3c51c8341
--- /dev/null
+++ b/src/algorithms/libs/gps_sdr_fft.h
@@ -0,0 +1,69 @@
+/*----------------------------------------------------------------------------------------------*/
+/*! \file fft.h
+//
+// FILENAME: fft.h
+//
+// DESCRIPTION: Defines the FFT class.
+//
+// DEVELOPERS: Gregory W. Heckler (2003-2009)
+//
+// LICENSE TERMS: Copyright (c) Gregory W. Heckler 2009
+//
+// This file is part of the GPS Software Defined Radio (GPS-SDR)
+//
+// The GPS-SDR 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. The GPS-SDR 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.
+//
+// Note: Comments within this file follow a syntax that is compatible with
+// DOXYGEN and are utilized for automated document extraction
+//
+// Reference:
+*/
+/*----------------------------------------------------------------------------------------------*/
+
+#ifndef FFT_H_
+#define FFT_H_
+
+#include "gps_sdr_defines.h"
+#include "gps_sdr_signal_processing.h"
+
+#define MAX_RANKS (16)
+
+/*! @ingroup CLASSES
+ @brief /xyzzy */
+class FFT
+{
+
+ private:
+
+ MIX *W; //!< Twiddle lookup array for FFT
+ MIX *iW; //!< Twiddle lookup array for iFFT
+ int32 *BRX; //!< Re-order temp array
+ int32 *BR; //!< Re-order index array
+
+ int32 N; //!< Length (should be 2^N!!!)
+ int32 M; //!< Log2(N) (number of ranks)
+ int32 R[16]; //!< Programmable rank scaling
+
+ void initW(); //!< Initialize twiddles
+ void initBR(); //!< Initialize re-order array
+ void doShuffle(CPX *_x); //!< Do bit-reverse shuffling
+
+ public:
+
+ FFT(); //!< Initialize FFT
+ FFT(int32 _N); //!< Initialize FFT for 2^N
+ FFT(int32 _N, int32 _R[MAX_RANKS]); //!< Initialize FFT for 2^N, with ranks
+ ~FFT(); //!< Destructor
+ void doFFT(CPX *_x, bool _shuf); //!< Forward FFT, decimate in time
+ void doiFFT(CPX *_x, bool _shuf); //!< Inverse FFT, decimate in time
+ void doFFTdf(CPX *_x, bool _shuf); //!< Forward FFT, decimate in frequency
+ void doiFFTdf(CPX *_x, bool _shuf); //!< Inverse FFT, decimate in frequency
+
+};
+
+#endif /*FFT_H_*/
diff --git a/src/algorithms/libs/gps_sdr_prn_codes_short.h b/src/algorithms/libs/gps_sdr_prn_codes_short.h
new file mode 100644
index 000000000..31527cf49
--- /dev/null
+++ b/src/algorithms/libs/gps_sdr_prn_codes_short.h
@@ -0,0 +1,104452 @@
+#ifndef PRN_CODES
+#define PRN_CODES
+int16 PRN_Codes_Short[208896] = {11,0,
+-90,-89,
+-85,45,
+49,130,
+-56,-106,
+-199,-69,
+-85,-66,
+-192,292,
+-279,100,
+73,-54,
+90,-125,
+98,-13,
+-157,211,
+198,91,
+152,-102,
+-86,258,
+-325,114,
+-82,-128,
+158,-55,
+-104,-70,
+160,-215,
+52,-78,
+-66,-170,
+54,88,
+-83,-84,
+-61,24,
+-117,-28,
+15,95,
+-18,13,
+-67,93,
+-35,-264,
+28,93,
+-62,162,
+-8,129,
+-233,-157,
+-125,44,
+54,33,
+-153,-35,
+127,88,
+-62,150,
+82,-28,
+-82,26,
+356,-242,
+-165,26,
+-126,52,
+19,-154,
+116,-166,
+8,11,
+162,108,
+52,-4,
+16,243,
+14,-25,
+-50,-24,
+-43,39,
+10,18,
+-87,304,
+127,-213,
+-67,8,
+-72,30,
+-119,-33,
+-23,166,
+40,-13,
+34,-301,
+-118,-92,
+145,169,
+-108,-16,
+-43,78,
+-221,10,
+123,-164,
+1,-114,
+103,71,
+96,112,
+137,-15,
+-82,107,
+-40,93,
+52,-263,
+69,-194,
+155,-85,
+104,201,
+-126,-33,
+225,75,
+223,-30,
+113,-92,
+45,58,
+-197,178,
+149,151,
+129,-81,
+-131,59,
+129,-26,
+-165,40,
+-143,69,
+195,91,
+152,152,
+11,56,
+192,-130,
+33,-132,
+35,130,
+-113,-1,
+162,-275,
+-36,218,
+-73,-2,
+52,19,
+20,-106,
+65,-255,
+-211,28,
+157,127,
+-60,177,
+-184,-61,
+95,4,
+-29,69,
+155,81,
+96,273,
+-178,59,
+51,115,
+-145,-52,
+-149,-167,
+-230,-132,
+-79,30,
+110,25,
+171,-50,
+17,18,
+64,64,
+-29,179,
+-94,25,
+61,-157,
+78,170,
+-211,249,
+-3,-77,
+44,-60,
+-3,-55,
+190,273,
+-121,7,
+209,114,
+0,199,
+-53,15,
+36,-63,
+43,187,
+10,214,
+158,4,
+-170,-6,
+-272,42,
+219,150,
+109,-172,
+-54,-136,
+29,-59,
+80,-235,
+-318,142,
+134,17,
+-102,-4,
+-34,-202,
+46,42,
+-62,71,
+165,-19,
+-194,-191,
+-136,135,
+-46,-72,
+89,-18,
+209,-88,
+-42,57,
+80,-235,
+-120,-126,
+-81,-165,
+-213,2,
+61,52,
+5,-19,
+81,-62,
+-48,-75,
+-20,26,
+136,-212,
+-188,-27,
+-12,88,
+-67,38,
+119,8,
+-94,114,
+-86,23,
+44,96,
+54,54,
+-24,143,
+-80,75,
+117,-52,
+-67,217,
+49,189,
+51,-156,
+169,28,
+148,134,
+-26,-31,
+-1,-73,
+-33,-87,
+27,139,
+58,-60,
+-23,281,
+-114,153,
+23,149,
+118,-16,
+28,-106,
+144,76,
+118,170,
+132,-188,
+178,-173,
+124,-84,
+221,-108,
+-210,180,
+49,-38,
+6,-104,
+-6,21,
+206,58,
+127,97,
+206,2,
+43,-179,
+20,417,
+-273,22,
+17,109,
+-3,26,
+29,70,
+161,132,
+102,121,
+-146,63,
+176,-83,
+151,195,
+13,-54,
+-12,142,
+-63,-133,
+-130,-42,
+167,-11,
+-82,-167,
+-77,-103,
+192,-42,
+-85,116,
+-105,-126,
+-90,-73,
+88,61,
+122,61,
+-182,-77,
+-30,190,
+-95,-33,
+-34,21,
+-13,-27,
+173,-111,
+-41,36,
+38,74,
+11,-158,
+311,161,
+132,-86,
+-100,-47,
+-40,-10,
+191,69,
+-145,-73,
+42,-148,
+3,61,
+40,98,
+-37,306,
+30,-53,
+125,-280,
+-37,-161,
+79,-206,
+78,-51,
+-164,43,
+-33,-181,
+-34,133,
+122,26,
+133,-49,
+196,38,
+-217,190,
+27,6,
+-65,101,
+-92,92,
+-225,93,
+153,-108,
+-87,124,
+330,6,
+83,146,
+64,67,
+44,-45,
+63,-171,
+-28,113,
+-57,139,
+51,87,
+15,46,
+-23,-181,
+-57,68,
+-97,18,
+-47,185,
+191,-15,
+203,108,
+139,-41,
+71,-45,
+-57,11,
+-72,-62,
+-31,-131,
+-101,-32,
+103,-18,
+146,-249,
+-2,-74,
+-111,64,
+132,137,
+44,42,
+-69,1,
+-15,-153,
+-42,87,
+-80,10,
+-8,160,
+-22,-24,
+-20,138,
+64,-122,
+114,88,
+-79,-10,
+-52,84,
+-384,81,
+-158,45,
+81,54,
+-240,24,
+35,0,
+238,56,
+179,-145,
+-110,-85,
+18,-60,
+-93,-76,
+-22,255,
+-8,96,
+173,116,
+76,52,
+-61,82,
+-5,22,
+-78,109,
+-96,100,
+-19,90,
+2,-138,
+-35,-66,
+50,66,
+-88,-62,
+-84,47,
+-70,41,
+-97,-343,
+145,236,
+-156,95,
+-64,-136,
+-142,179,
+-58,81,
+-137,-130,
+-93,16,
+-87,-177,
+22,28,
+21,86,
+-2,-25,
+-79,220,
+-76,-4,
+227,90,
+58,73,
+97,-110,
+35,-34,
+80,58,
+-21,-132,
+113,163,
+26,-146,
+-93,124,
+-76,151,
+1,143,
+143,143,
+141,-21,
+125,118,
+80,-71,
+-165,-118,
+173,242,
+36,-139,
+-152,161,
+-182,-52,
+-51,11,
+-265,156,
+-96,18,
+218,74,
+-104,21,
+-10,160,
+-27,-78,
+-25,-26,
+99,-29,
+79,19,
+-5,63,
+-156,23,
+-99,-169,
+-37,-26,
+75,23,
+-12,-23,
+-45,-22,
+-192,9,
+22,105,
+135,19,
+-20,-50,
+-173,-101,
+54,30,
+18,-82,
+-66,38,
+-40,-165,
+-44,14,
+109,16,
+124,-216,
+67,150,
+67,-161,
+26,102,
+4,113,
+90,-86,
+-93,95,
+21,-126,
+110,-65,
+54,106,
+13,-255,
+61,108,
+100,-10,
+-62,48,
+24,-172,
+-48,71,
+38,48,
+-57,-129,
+-99,13,
+-48,92,
+-118,-301,
+-90,69,
+-76,77,
+-68,-160,
+121,-4,
+190,25,
+26,180,
+151,32,
+-155,10,
+-64,108,
+-21,65,
+116,54,
+-78,62,
+-54,58,
+95,-19,
+-14,-156,
+-177,88,
+-175,109,
+-49,51,
+158,-98,
+-108,122,
+-98,62,
+-35,117,
+81,37,
+92,116,
+71,-9,
+211,190,
+30,-48,
+-48,-66,
+-16,-68,
+0,-48,
+59,-76,
+-104,-38,
+-66,58,
+53,1,
+-6,-120,
+-54,0,
+-271,26,
+102,50,
+-33,-24,
+-127,-2,
+109,-115,
+132,-216,
+76,89,
+-105,104,
+154,99,
+-85,-12,
+127,-85,
+120,-184,
+28,52,
+110,-79,
+147,-47,
+66,227,
+85,137,
+-12,-24,
+-43,-82,
+60,33,
+144,-53,
+12,-45,
+72,-32,
+-87,-115,
+-72,219,
+-18,-100,
+-15,36,
+-59,-185,
+-63,-123,
+-191,13,
+-10,-109,
+144,34,
+72,-210,
+85,85,
+74,-88,
+96,64,
+65,-11,
+104,141,
+-70,49,
+-29,-2,
+169,34,
+-108,180,
+76,-62,
+-20,-53,
+100,-51,
+-33,-65,
+69,8,
+-150,-51,
+-111,-93,
+163,-103,
+13,-122,
+110,84,
+-130,-32,
+-19,129,
+-48,57,
+92,91,
+-83,54,
+-18,28,
+6,-104,
+-9,-33,
+-68,-68,
+-95,-28,
+13,-114,
+-116,3,
+-34,39,
+-13,-96,
+68,20,
+72,-8,
+112,39,
+12,-114,
+124,11,
+-70,-83,
+-12,217,
+-142,8,
+-101,-66,
+-7,-76,
+-43,-62,
+-21,98,
+-58,-19,
+-89,107,
+33,-98,
+51,101,
+133,-16,
+-51,50,
+48,-29,
+124,-6,
+59,150,
+-99,55,
+138,63,
+-148,70,
+1,113,
+-126,73,
+42,2,
+-109,-107,
+-53,-165,
+-101,23,
+-176,-12,
+209,-70,
+-86,-35,
+67,-20,
+-62,-71,
+-88,145,
+7,68,
+9,26,
+-64,13,
+-60,-10,
+202,3,
+109,145,
+-10,97,
+-10,41,
+-75,107,
+-42,83,
+-134,10,
+2,123,
+73,-81,
+143,67,
+-25,-21,
+-80,161,
+-149,45,
+-16,-69,
+39,-10,
+-23,-22,
+66,-46,
+-28,-229,
+-72,110,
+-26,29,
+63,-113,
+-21,-6,
+-93,-9,
+-14,27,
+-41,-20,
+-119,-43,
+67,48,
+32,114,
+104,133,
+-3,6,
+111,86,
+20,15,
+115,-169,
+32,22,
+-9,35,
+-36,17,
+165,-158,
+-3,-139,
+-71,7,
+-41,50,
+58,-28,
+37,-47,
+46,39,
+66,71,
+38,-163,
+57,9,
+15,-10,
+64,122,
+164,79,
+-162,101,
+-31,-15,
+95,-108,
+-95,-42,
+-44,-59,
+-57,-104,
+41,-11,
+-58,-47,
+-7,-40,
+43,77,
+-47,-84,
+-100,9,
+166,62,
+-119,43,
+17,-10,
+-84,73,
+20,62,
+-28,-20,
+-97,18,
+119,-32,
+-6,61,
+-7,19,
+113,5,
+-173,86,
+65,85,
+-66,32,
+-50,31,
+25,-71,
+-118,-40,
+48,45,
+-35,-18,
+-43,-65,
+-50,-48,
+34,105,
+40,8,
+41,-108,
+-42,-77,
+-7,62,
+35,-20,
+-61,17,
+-59,-68,
+-23,-117,
+55,-7,
+12,99,
+-10,-11,
+-54,35,
+18,8,
+17,-116,
+100,81,
+-33,27,
+84,-34,
+42,-115,
+19,-111,
+35,-58,
+-61,-119,
+140,48,
+-70,40,
+61,11,
+-50,-69,
+-29,144,
+128,97,
+-18,21,
+111,68,
+150,-71,
+-43,-81,
+60,63,
+-59,28,
+62,12,
+-61,23,
+2,68,
+-16,-18,
+-31,123,
+79,53,
+73,12,
+-38,-75,
+161,2,
+-32,30,
+-51,-21,
+76,-12,
+-169,-83,
+-5,-61,
+119,-50,
+-44,-40,
+21,-119,
+91,33,
+-36,-46,
+18,38,
+-120,-71,
+45,-72,
+43,6,
+-58,-24,
+1,10,
+-35,-5,
+-35,-16,
+126,-47,
+30,-37,
+5,-21,
+53,-5,
+48,18,
+1,89,
+140,40,
+43,-91,
+31,38,
+-63,-52,
+-57,-34,
+-24,86,
+-39,154,
+53,-59,
+-2,-15,
+2,-45,
+64,-68,
+21,-124,
+16,-143,
+69,61,
+-55,14,
+38,24,
+-19,13,
+70,-14,
+-8,-25,
+97,-16,
+-41,-22,
+-16,-28,
+-30,-15,
+34,29,
+50,26,
+61,-6,
+-76,-36,
+-81,85,
+-33,41,
+-5,-30,
+-66,-44,
+-26,-9,
+5,-30,
+-31,15,
+7,86,
+7,92,
+52,65,
+11,13,
+95,-69,
+-61,-23,
+-1,0,
+-28,-1,
+46,16,
+91,-6,
+8,-35,
+-40,39,
+-45,30,
+55,-13,
+23,114,
+64,31,
+-15,97,
+15,-63,
+-9,2,
+81,-102,
+2,14,
+42,-40,
+53,-16,
+26,-8,
+-25,136,
+36,4,
+-9,6,
+17,-30,
+-61,-35,
+0,-11,
+-38,57,
+-144,3,
+-65,-7,
+-1,75,
+42,-38,
+133,-22,
+-32,86,
+-54,-76,
+-7,11,
+12,39,
+-2,3,
+-34,-58,
+26,78,
+-42,86,
+49,43,
+-33,-33,
+4,42,
+13,4,
+-51,45,
+-12,-40,
+69,-23,
+-28,-33,
+39,-18,
+6,-25,
+9,87,
+-21,-30,
+-20,-108,
+-8,73,
+37,-7,
+-73,-22,
+-42,33,
+-9,-26,
+-24,8,
+-10,-24,
+-25,-32,
+85,19,
+-33,78,
+37,3,
+2,5,
+33,10,
+52,49,
+31,21,
+6,11,
+-1,-40,
+106,-27,
+-2,-54,
+71,60,
+-68,33,
+21,76,
+79,29,
+-46,25,
+-31,7,
+43,-32,
+-22,15,
+25,-19,
+-38,105,
+-85,31,
+-13,28,
+22,70,
+26,12,
+-18,27,
+-16,34,
+33,1,
+88,-29,
+21,-8,
+52,16,
+-22,6,
+22,0,
+-50,-18,
+0,14,
+49,28,
+-17,49,
+-16,32,
+36,-20,
+58,24,
+9,-9,
+-7,8,
+52,-22,
+31,17,
+-12,17,
+48,-31,
+7,-13,
+1,9,
+24,24,
+18,-63,
+-25,15,
+-18,-15,
+-35,15,
+9,-1,
+-26,-11,
+-8,39,
+19,-18,
+-7,-24,
+-27,-54,
+-60,11,
+-16,-25,
+-32,30,
+18,22,
+-36,38,
+12,-14,
+-4,-47,
+-2,-8,
+-43,-21,
+39,52,
+4,-31,
+-43,-17,
+-23,40,
+52,-61,
+-32,6,
+3,-19,
+-39,5,
+-39,-2,
+-7,35,
+-2,12,
+33,-21,
+-12,-47,
+3,9,
+47,43,
+37,-16,
+-9,0,
+0,11,
+43,-2,
+20,0,
+16,55,
+23,-40,
+37,39,
+-61,22,
+14,-46,
+50,0,
+8,2,
+-3,-1,
+-6,-1,
+22,-7,
+34,-5,
+-12,26,
+-10,18,
+15,19,
+-1,-6,
+-27,-42,
+-22,-43,
+-7,7,
+-1,-31,
+44,3,
+15,1,
+30,17,
+13,27,
+-10,-24,
+0,-3,
+20,-7,
+35,-10,
+-19,20,
+-15,-38,
+-29,27,
+-11,10,
+40,-27,
+-17,10,
+-3,14,
+-14,-4,
+11,-20,
+-4,40,
+-29,-3,
+9,12,
+25,35,
+12,5,
+7,-10,
+5,-5,
+5,-21,
+-10,20,
+9,4,
+6,2,
+29,10,
+8,-25,
+-13,23,
+-1,42,
+2,1,
+12,8,
+1,2,
+14,17,
+-41,15,
+-22,1,
+9,-6,
+11,-3,
+-1,5,
+11,21,
+12,0,
+-19,13,
+-12,-2,
+4,-4,
+-4,-27,
+13,13,
+8,-7,
+-10,3,
+-22,-4,
+-5,5,
+10,-1,
+9,-10,
+-5,-13,
+-7,5,
+7,-3,
+-9,6,
+30,-8,
+-7,-2,
+-12,0,
+18,-4,
+1,2,
+9,9,
+7,3,
+0,9,
+-14,4,
+-6,3,
+2,-13,
+-4,1,
+-2,3,
+-13,19,
+8,-15,
+7,9,
+2,-1,
+1,-1,
+2,-5,
+-3,0,
+-1,-12,
+0,-8,
+14,9,
+-2,-7,
+-4,-2,
+-6,3,
+9,-6,
+-1,0,
+1,3,
+0,-11,
+1,2,
+-4,2,
+3,-4,
+-10,3,
+-4,5,
+-1,-1,
+-4,-1,
+-2,4,
+4,-11,
+2,-5,
+2,11,
+0,-3,
+3,-1,
+1,4,
+-3,0,
+-1,-2,
+3,2,
+1,-7,
+1,-2,
+-2,4,
+0,-5,
+0,0,
+0,5,
+0,-5,
+0,0,
+0,5,
+0,-5,
+0,0,
+0,5,
+-2,-4,
+1,2,
+1,7,
+3,-2,
+-1,2,
+-3,0,
+1,-4,
+3,1,
+0,3,
+2,-11,
+2,5,
+4,11,
+-2,-4,
+-4,1,
+-1,1,
+-4,-5,
+-10,-3,
+3,4,
+-4,-2,
+1,-2,
+0,11,
+1,-3,
+-1,0,
+9,6,
+-6,-3,
+-4,2,
+-2,7,
+14,-9,
+0,8,
+-1,12,
+-3,0,
+2,5,
+1,1,
+2,1,
+7,-9,
+8,15,
+-13,-19,
+-2,-3,
+-4,-1,
+2,13,
+-6,-3,
+-14,-4,
+0,-9,
+7,-3,
+9,-9,
+1,-2,
+18,4,
+-12,0,
+-7,2,
+30,8,
+-9,-6,
+7,3,
+-7,-5,
+-5,13,
+9,10,
+10,1,
+-5,-5,
+-22,4,
+-10,-3,
+8,7,
+13,-13,
+-4,27,
+4,4,
+-12,2,
+-19,-13,
+12,0,
+11,-21,
+-1,-5,
+11,3,
+9,6,
+-22,-1,
+-41,-15,
+14,-17,
+1,-2,
+12,-8,
+2,-1,
+-1,-42,
+-13,-23,
+8,25,
+29,-10,
+6,-2,
+9,-4,
+-10,-20,
+5,21,
+5,5,
+7,10,
+12,-5,
+25,-35,
+9,-12,
+-29,3,
+-4,-40,
+11,20,
+-14,4,
+-3,-14,
+-17,-10,
+40,27,
+-11,-10,
+-29,-27,
+-15,38,
+-19,-20,
+35,10,
+20,7,
+0,3,
+-10,24,
+13,-27,
+30,-17,
+15,-1,
+44,-3,
+-1,31,
+-7,-7,
+-22,43,
+-27,42,
+-1,6,
+15,-19,
+-10,-18,
+-12,-26,
+34,5,
+22,7,
+-6,1,
+-3,1,
+8,-2,
+50,0,
+14,46,
+-61,-22,
+37,-39,
+23,40,
+16,-55,
+20,0,
+43,2,
+0,-11,
+-9,0,
+37,16,
+47,-43,
+3,-9,
+-12,47,
+33,21,
+-2,-12,
+-7,-35,
+-39,2,
+-39,-5,
+3,19,
+-32,-6,
+52,61,
+-23,-40,
+-43,17,
+4,31,
+39,-52,
+-43,21,
+-2,8,
+-4,47,
+12,14,
+-36,-38,
+18,-22,
+-32,-30,
+-16,25,
+-60,-11,
+-27,54,
+-7,24,
+19,18,
+-8,-39,
+-26,11,
+9,1,
+-35,-15,
+-18,15,
+-25,-15,
+18,63,
+24,-24,
+1,-9,
+7,13,
+48,31,
+-12,-17,
+31,-17,
+52,22,
+-7,-8,
+9,9,
+58,-24,
+36,20,
+-16,-32,
+-17,-49,
+49,-28,
+0,-14,
+-50,18,
+22,0,
+-22,-6,
+52,-16,
+21,8,
+88,29,
+33,-1,
+-16,-34,
+-18,-27,
+26,-12,
+22,-70,
+-13,-28,
+-85,-31,
+-38,-105,
+25,19,
+-22,-15,
+43,32,
+-31,-7,
+-46,-25,
+79,-29,
+21,-76,
+-68,-33,
+71,-60,
+-2,54,
+106,27,
+-1,40,
+6,-11,
+31,-21,
+52,-49,
+33,-10,
+2,-5,
+37,-3,
+-33,-78,
+85,-19,
+-25,32,
+-10,24,
+-24,-8,
+-9,26,
+-42,-33,
+-73,22,
+37,7,
+-8,-73,
+-20,108,
+-21,30,
+9,-87,
+6,25,
+39,18,
+-28,33,
+69,23,
+-12,40,
+-51,-45,
+13,-4,
+4,-42,
+-33,33,
+49,-43,
+-42,-86,
+26,-78,
+-34,58,
+-2,-3,
+12,-39,
+-7,-11,
+-54,76,
+-32,-86,
+133,22,
+42,38,
+-1,-75,
+-65,7,
+-144,-3,
+-38,-57,
+0,11,
+-61,35,
+17,30,
+-9,-6,
+36,-4,
+-25,-136,
+26,8,
+53,16,
+42,40,
+2,-14,
+81,102,
+-9,-2,
+15,63,
+-15,-97,
+64,-31,
+23,-114,
+55,13,
+-45,-30,
+-40,-39,
+8,35,
+91,6,
+46,-16,
+-28,1,
+-1,0,
+-61,23,
+95,69,
+11,-13,
+52,-65,
+7,-92,
+7,-86,
+-31,-15,
+5,30,
+-26,9,
+-66,44,
+-5,30,
+-33,-41,
+-81,-85,
+-76,36,
+61,6,
+50,-26,
+34,-29,
+-30,15,
+-16,28,
+-41,22,
+97,16,
+-8,25,
+70,14,
+-19,-13,
+38,-24,
+-55,-14,
+69,-61,
+16,143,
+21,124,
+64,68,
+2,45,
+-2,15,
+53,59,
+-39,-154,
+-24,-86,
+-57,34,
+-63,52,
+31,-38,
+43,91,
+140,-40,
+1,-89,
+48,-18,
+53,5,
+5,21,
+30,37,
+126,47,
+-35,16,
+-35,5,
+1,-10,
+-58,24,
+43,-6,
+45,72,
+-120,71,
+18,-38,
+-36,46,
+91,-33,
+21,119,
+-44,40,
+119,50,
+-5,61,
+-169,83,
+76,12,
+-51,21,
+-32,-30,
+161,-2,
+-38,75,
+73,-12,
+79,-53,
+-31,-123,
+-16,18,
+2,-68,
+-61,-23,
+62,-12,
+-59,-28,
+60,-63,
+-43,81,
+150,71,
+111,-68,
+-18,-21,
+128,-97,
+-29,-144,
+-50,69,
+61,-11,
+-70,-40,
+140,-48,
+-61,119,
+35,58,
+19,111,
+42,115,
+84,34,
+-33,-27,
+100,-81,
+17,116,
+18,-8,
+-54,-35,
+-10,11,
+12,-99,
+55,7,
+-23,117,
+-59,68,
+-61,-17,
+35,20,
+-7,-62,
+-42,77,
+41,108,
+40,-8,
+34,-105,
+-50,48,
+-43,65,
+-35,18,
+48,-45,
+-118,40,
+25,71,
+-50,-31,
+-66,-32,
+65,-85,
+-173,-86,
+113,-5,
+-7,-19,
+-6,-61,
+119,32,
+-97,-18,
+-28,20,
+20,-62,
+-84,-73,
+17,10,
+-119,-43,
+166,-62,
+-100,-9,
+-47,84,
+43,-77,
+-7,40,
+-58,47,
+41,11,
+-57,104,
+-44,59,
+-95,42,
+95,108,
+-31,15,
+-162,-101,
+164,-79,
+64,-122,
+15,10,
+57,-9,
+38,163,
+66,-71,
+46,-39,
+37,47,
+58,28,
+-41,-50,
+-71,-7,
+-3,139,
+165,158,
+-36,-17,
+-9,-35,
+32,-22,
+115,169,
+20,-15,
+111,-86,
+-3,-6,
+104,-133,
+32,-114,
+67,-48,
+-119,43,
+-41,20,
+-14,-27,
+-93,9,
+-21,6,
+63,113,
+-26,-29,
+-72,-110,
+-28,229,
+66,46,
+-23,22,
+39,10,
+-16,69,
+-149,-45,
+-80,-161,
+-25,21,
+143,-67,
+73,81,
+2,-123,
+-134,-10,
+-42,-83,
+-75,-107,
+-10,-41,
+-10,-97,
+109,-145,
+202,-3,
+-60,10,
+-64,-13,
+9,-26,
+7,-68,
+-88,-145,
+-62,71,
+67,20,
+-86,35,
+209,70,
+-176,12,
+-101,-23,
+-53,165,
+-109,107,
+42,-2,
+-126,-73,
+1,-113,
+-148,-70,
+138,-63,
+-99,-55,
+59,-150,
+124,6,
+48,29,
+-51,-50,
+133,16,
+51,-101,
+33,98,
+-89,-107,
+-58,19,
+-21,-98,
+-43,62,
+-7,76,
+-101,66,
+-142,-8,
+-12,-217,
+-70,83,
+124,-11,
+12,114,
+112,-39,
+72,8,
+68,-20,
+-13,96,
+-34,-39,
+-116,-3,
+13,114,
+-95,28,
+-68,68,
+-9,33,
+6,104,
+-18,-28,
+-83,-54,
+92,-91,
+-48,-57,
+-19,-129,
+-130,32,
+110,-84,
+13,122,
+163,103,
+-111,93,
+-150,51,
+69,-8,
+-33,65,
+100,51,
+-20,53,
+76,62,
+-108,-180,
+169,-34,
+-29,2,
+-70,-49,
+104,-141,
+65,11,
+96,-64,
+74,88,
+85,-85,
+72,210,
+144,-34,
+-10,109,
+-191,-13,
+-63,123,
+-59,185,
+-15,-36,
+-18,100,
+-72,-219,
+-87,115,
+72,32,
+12,45,
+144,53,
+60,-33,
+-43,82,
+-12,24,
+85,-137,
+66,-227,
+147,47,
+110,79,
+28,-52,
+120,184,
+127,85,
+-85,12,
+154,-99,
+-105,-104,
+76,-89,
+132,216,
+109,115,
+-127,2,
+-33,24,
+102,-50,
+-271,-26,
+-54,0,
+-6,120,
+53,-1,
+-66,-58,
+-104,38,
+59,76,
+0,48,
+-16,68,
+-48,66,
+30,48,
+211,-190,
+71,9,
+92,-116,
+81,-37,
+-35,-117,
+-98,-62,
+-108,-122,
+158,98,
+-49,-51,
+-175,-109,
+-177,-88,
+-14,156,
+95,19,
+-54,-58,
+-78,-62,
+116,-54,
+-21,-65,
+-64,-108,
+-155,-10,
+151,-32,
+26,-180,
+190,-25,
+121,4,
+-68,160,
+-76,-77,
+-90,-69,
+-118,301,
+-48,-92,
+-99,-13,
+-57,129,
+38,-48,
+-48,-71,
+24,172,
+-62,-48,
+100,10,
+61,-108,
+13,255,
+54,-106,
+110,65,
+21,126,
+-93,-95,
+90,86,
+4,-113,
+26,-102,
+67,161,
+67,-150,
+124,216,
+109,-16,
+-44,-14,
+-40,165,
+-66,-38,
+18,82,
+54,-30,
+-173,101,
+-20,50,
+135,-19,
+22,-105,
+-192,-9,
+-45,22,
+-12,23,
+75,-23,
+-37,26,
+-99,169,
+-156,-23,
+-5,-63,
+79,-19,
+99,29,
+-25,26,
+-27,78,
+-10,-160,
+-104,-21,
+218,-74,
+-96,-18,
+-265,-156,
+-51,-11,
+-182,52,
+-152,-161,
+36,139,
+173,-242,
+-165,118,
+80,71,
+125,-118,
+141,21,
+143,-143,
+1,-143,
+-76,-151,
+-93,-124,
+26,146,
+113,-163,
+-21,132,
+80,-58,
+35,34,
+97,110,
+58,-73,
+227,-90,
+-76,4,
+-79,-220,
+-2,25,
+21,-86,
+22,-28,
+-87,177,
+-93,-16,
+-137,130,
+-58,-81,
+-142,-179,
+-64,136,
+-156,-95,
+145,-236,
+-97,343,
+-70,-41,
+-84,-47,
+-88,62,
+50,-66,
+-35,66,
+2,138,
+-19,-90,
+-96,-100,
+-78,-109,
+-5,-22,
+-61,-82,
+76,-52,
+173,-116,
+-8,-96,
+-22,-255,
+-93,76,
+18,60,
+-110,85,
+179,145,
+238,-56,
+35,0,
+-240,-24,
+81,-54,
+-158,-45,
+-384,-81,
+-52,-84,
+-79,10,
+114,-88,
+64,122,
+-20,-138,
+-22,24,
+-8,-160,
+-80,-10,
+-42,-87,
+-15,153,
+-69,-1,
+44,-42,
+132,-137,
+-111,-64,
+-2,74,
+146,249,
+103,18,
+-101,32,
+-31,131,
+-72,62,
+-57,-11,
+71,45,
+139,41,
+203,-108,
+191,15,
+-47,-185,
+-97,-18,
+-57,-68,
+-23,181,
+15,-46,
+51,-87,
+-57,-139,
+-28,-113,
+63,171,
+44,45,
+64,-67,
+83,-146,
+330,-6,
+-87,-124,
+153,108,
+-225,-93,
+-92,-92,
+-65,-101,
+27,-6,
+-217,-190,
+196,-38,
+133,49,
+122,-26,
+-34,-133,
+-33,181,
+-164,-43,
+78,51,
+79,206,
+-37,161,
+125,280,
+30,53,
+-37,-306,
+40,-98,
+3,-61,
+42,148,
+-145,73,
+191,-69,
+-40,10,
+-100,47,
+132,86,
+311,-161,
+11,158,
+38,-74,
+-41,-36,
+173,111,
+-13,27,
+-34,-21,
+-95,33,
+-30,-190,
+-182,77,
+122,-61,
+88,-61,
+-90,73,
+-105,126,
+-85,-116,
+192,42,
+-77,103,
+-82,167,
+167,11,
+-130,42,
+-63,133,
+-12,-142,
+13,54,
+151,-195,
+176,83,
+-146,-63,
+102,-121,
+161,-132,
+29,-70,
+-3,-26,
+17,-109,
+-273,-22,
+20,-417,
+43,179,
+206,-2,
+127,-97,
+206,-58,
+-6,-21,
+6,104,
+49,38,
+-210,-180,
+221,108,
+124,84,
+178,173,
+132,188,
+118,-170,
+144,-76,
+28,106,
+118,16,
+23,-149,
+-114,-153,
+-23,-281,
+58,60,
+27,-139,
+-33,87,
+-1,73,
+-26,31,
+148,-134,
+169,-28,
+51,156,
+49,-189,
+-67,-217,
+117,52,
+-80,-75,
+-24,-143,
+54,-54,
+44,-96,
+-86,-23,
+-94,-114,
+119,-8,
+-67,-38,
+-12,-88,
+-188,27,
+136,212,
+-20,-26,
+-48,75,
+81,62,
+5,19,
+61,-52,
+-213,-2,
+-81,165,
+-120,126,
+80,235,
+-42,-57,
+209,88,
+89,18,
+-46,72,
+-136,-135,
+-194,191,
+165,19,
+-62,-71,
+46,-42,
+-34,202,
+-102,4,
+134,-17,
+-318,-142,
+80,235,
+29,59,
+-54,136,
+109,172,
+219,-150,
+-272,-42,
+-170,6,
+158,-4,
+10,-214,
+43,-187,
+36,63,
+-53,-15,
+0,-199,
+209,-114,
+-121,-7,
+190,-273,
+-3,55,
+44,60,
+-3,77,
+-211,-249,
+78,-170,
+61,157,
+-94,-25,
+-29,-179,
+64,-64,
+17,-18,
+171,50,
+110,-25,
+-79,-30,
+-230,132,
+-149,167,
+-145,52,
+51,-115,
+-178,-59,
+96,-273,
+155,-81,
+-29,-69,
+95,-4,
+-184,61,
+-60,-177,
+157,-127,
+-211,-28,
+65,255,
+20,106,
+52,-19,
+-73,2,
+-36,-218,
+162,275,
+-113,1,
+35,-130,
+33,132,
+192,130,
+11,-56,
+152,-152,
+195,-91,
+-143,-69,
+-165,-40,
+129,26,
+-131,-59,
+129,81,
+149,-151,
+-197,-178,
+45,-58,
+113,92,
+223,30,
+225,-75,
+-126,33,
+104,-201,
+155,85,
+69,194,
+52,263,
+-40,-93,
+-82,-107,
+137,15,
+96,-112,
+103,-71,
+1,114,
+123,164,
+-221,-10,
+-43,-78,
+-108,16,
+145,-169,
+-118,92,
+34,301,
+40,13,
+-23,-166,
+-119,33,
+-72,-30,
+-67,-8,
+127,213,
+-87,-304,
+10,-18,
+-43,-39,
+-50,24,
+14,25,
+16,-243,
+52,4,
+162,-108,
+8,-11,
+116,166,
+19,154,
+-126,-52,
+-165,-26,
+356,242,
+-82,-26,
+82,28,
+-62,-150,
+127,-88,
+-153,35,
+54,-33,
+-125,-44,
+-233,157,
+-8,-129,
+-62,-162,
+28,-93,
+-35,264,
+-67,-93,
+-18,-13,
+15,-95,
+-117,28,
+-61,-24,
+-83,84,
+54,-88,
+-66,170,
+52,78,
+160,215,
+-104,70,
+158,55,
+-82,128,
+-325,-114,
+-86,-258,
+152,102,
+198,-91,
+-157,-211,
+98,13,
+90,125,
+73,54,
+-279,-100,
+-192,-292,
+-85,66,
+-199,69,
+-56,106,
+49,-130,
+-85,-45,
+-90,89,
+6,0,
+99,-338,
+-46,14,
+89,-38,
+25,-180,
+-215,24,
+69,82,
+-83,205,
+-237,5,
+-71,27,
+-156,220,
+-244,119,
+210,-143,
+-237,101,
+-171,18,
+-88,-116,
+-6,72,
+-31,131,
+40,-33,
+152,30,
+-110,-24,
+55,0,
+170,55,
+106,119,
+52,-100,
+-24,-2,
+-32,216,
+-9,-58,
+111,48,
+-29,-27,
+-36,-334,
+-96,15,
+103,-93,
+-8,-29,
+79,-82,
+-27,145,
+-77,-117,
+167,62,
+48,-9,
+68,150,
+-69,-43,
+93,131,
+-267,-66,
+9,192,
+46,-107,
+29,-164,
+13,-48,
+68,-3,
+135,1,
+-39,-96,
+166,-261,
+7,233,
+135,-191,
+-57,-101,
+55,51,
+-31,-107,
+-17,-50,
+110,102,
+-48,119,
+137,137,
+-63,31,
+10,56,
+71,-175,
+-228,201,
+-220,247,
+-138,80,
+185,-59,
+-204,128,
+78,-1,
+5,-207,
+105,-100,
+-71,62,
+-185,12,
+-29,165,
+-82,183,
+86,-241,
+118,-72,
+192,-111,
+-19,55,
+-213,-54,
+110,62,
+-9,292,
+177,85,
+137,-38,
+-224,-255,
+-70,-83,
+259,23,
+141,-5,
+-26,-98,
+27,-219,
+52,11,
+-13,-43,
+4,64,
+110,142,
+80,-8,
+-158,-64,
+35,21,
+281,-48,
+61,109,
+-35,-40,
+-38,-15,
+21,108,
+-30,-141,
+-101,-62,
+14,10,
+-20,82,
+148,33,
+79,55,
+119,151,
+51,100,
+-26,56,
+-85,67,
+-8,-45,
+4,249,
+50,-20,
+166,174,
+10,323,
+-156,123,
+-324,269,
+-157,-353,
+122,84,
+109,156,
+-59,172,
+-164,215,
+-293,-100,
+159,60,
+-93,-115,
+1,264,
+150,246,
+287,-60,
+-268,126,
+3,148,
+15,-116,
+41,-47,
+-50,27,
+-51,-59,
+55,-36,
+-69,-112,
+-64,-93,
+83,74,
+150,150,
+-141,215,
+12,121,
+115,-285,
+6,-52,
+-148,84,
+48,-65,
+-144,-126,
+-35,-118,
+-95,-203,
+104,212,
+114,-219,
+306,81,
+98,-140,
+-103,38,
+43,102,
+2,129,
+39,-113,
+67,0,
+245,-61,
+-101,-44,
+127,-185,
+-81,185,
+87,102,
+-60,-26,
+-62,-61,
+-148,155,
+-87,220,
+126,-5,
+91,-144,
+-123,-50,
+84,-130,
+137,-184,
+81,-13,
+139,-45,
+32,-117,
+46,133,
+53,169,
+-112,31,
+-133,-51,
+-27,-236,
+22,-227,
+58,-31,
+249,104,
+-151,-114,
+151,116,
+-80,144,
+109,238,
+-16,-64,
+-97,-61,
+-124,-74,
+-175,45,
+57,237,
+147,18,
+-39,103,
+-52,10,
+67,186,
+-38,140,
+108,60,
+-63,-64,
+129,-68,
+323,-19,
+144,-41,
+-127,103,
+-158,-65,
+-233,-109,
+-187,188,
+-76,71,
+-32,26,
+-76,83,
+4,96,
+161,-147,
+1,118,
+114,192,
+-50,18,
+-95,-42,
+90,-80,
+64,42,
+-151,89,
+104,4,
+-8,124,
+-29,67,
+-48,94,
+-21,22,
+-33,157,
+54,124,
+21,-107,
+56,-176,
+-155,152,
+204,238,
+-24,288,
+-72,11,
+40,-108,
+-9,114,
+3,-24,
+-211,236,
+15,-10,
+-4,49,
+29,-25,
+-33,-11,
+-119,-125,
+-72,-91,
+16,151,
+-57,-11,
+62,-5,
+-122,125,
+96,134,
+-193,124,
+-48,54,
+263,25,
+88,1,
+303,16,
+-80,-56,
+-142,-257,
+46,44,
+-36,48,
+42,3,
+-174,-5,
+-5,70,
+169,-133,
+46,143,
+-179,56,
+219,-19,
+-157,342,
+-34,26,
+-73,38,
+92,-90,
+232,174,
+4,-115,
+-70,10,
+126,-38,
+93,-14,
+95,77,
+31,94,
+-171,137,
+145,-47,
+-70,-137,
+-4,77,
+-104,-38,
+-95,-23,
+-80,-150,
+213,97,
+20,-7,
+29,-30,
+64,80,
+136,226,
+22,125,
+-18,-126,
+-270,-90,
+243,65,
+-56,-67,
+62,-82,
+-51,6,
+15,-86,
+-67,184,
+97,-167,
+-100,17,
+-10,71,
+21,39,
+33,48,
+205,16,
+-63,-115,
+187,-16,
+-23,-34,
+-5,21,
+168,27,
+-78,-103,
+-92,-123,
+-109,149,
+118,78,
+15,55,
+-20,-3,
+-108,-113,
+-198,29,
+-67,79,
+-243,56,
+-129,-107,
+7,69,
+51,-55,
+-1,-52,
+-75,-223,
+-147,-164,
+235,74,
+-54,-109,
+49,13,
+-50,-161,
+30,-26,
+29,75,
+-105,63,
+196,-61,
+168,-221,
+139,76,
+-105,-176,
+42,75,
+201,-26,
+-130,56,
+-73,-93,
+152,151,
+42,173,
+83,37,
+-40,-38,
+20,-38,
+-46,-163,
+-131,-25,
+-101,18,
+-40,5,
+178,-53,
+-18,55,
+135,-80,
+-123,-189,
+150,87,
+-167,-136,
+-12,-85,
+-6,-35,
+1,-8,
+-119,101,
+-37,29,
+-68,-1,
+-133,-10,
+-262,-51,
+120,-1,
+-134,-80,
+168,22,
+229,-128,
+-28,-278,
+-211,-58,
+22,-210,
+74,-243,
+-191,-84,
+-103,187,
+166,104,
+-108,157,
+-9,102,
+-43,146,
+38,89,
+2,17,
+132,34,
+-84,53,
+-44,57,
+-99,72,
+-135,48,
+20,-94,
+180,-120,
+187,142,
+133,-36,
+-57,11,
+32,40,
+87,-167,
+12,27,
+124,-130,
+44,-124,
+-176,33,
+81,1,
+-105,-123,
+-21,-53,
+179,-115,
+-82,148,
+158,-174,
+-124,-43,
+-228,32,
+-7,15,
+47,347,
+-73,23,
+22,145,
+-7,73,
+-63,251,
+-61,-4,
+-25,36,
+28,-282,
+107,171,
+56,-31,
+110,21,
+-120,36,
+86,46,
+3,-26,
+178,-51,
+104,-23,
+-96,51,
+115,70,
+100,-103,
+67,-96,
+95,14,
+-127,278,
+266,-106,
+165,-71,
+-94,15,
+-48,-147,
+-5,35,
+57,-49,
+-127,-30,
+157,-82,
+-50,11,
+75,22,
+-108,10,
+-11,143,
+-49,-17,
+16,194,
+-212,-19,
+-15,-42,
+95,117,
+-62,5,
+-73,-9,
+-46,-76,
+-72,23,
+-23,-101,
+-12,46,
+67,-29,
+13,-100,
+-113,181,
+60,-69,
+-25,63,
+-241,40,
+108,-61,
+13,101,
+-48,-47,
+-97,118,
+87,58,
+95,60,
+-15,-8,
+-92,3,
+140,-84,
+-155,106,
+-17,90,
+-13,68,
+10,75,
+-11,-170,
+149,44,
+101,69,
+-116,16,
+-8,-10,
+96,172,
+1,-56,
+18,220,
+-69,-1,
+-63,-153,
+-51,200,
+6,90,
+3,1,
+36,-19,
+-122,11,
+9,-131,
+-24,19,
+-11,102,
+43,34,
+168,-21,
+44,-55,
+134,-127,
+93,15,
+-126,-95,
+32,152,
+-80,-31,
+-44,-62,
+-32,-3,
+32,-164,
+-1,30,
+92,118,
+0,-64,
+30,-119,
+54,171,
+-203,-29,
+30,-44,
+8,98,
+127,-13,
+26,9,
+-35,-62,
+89,-8,
+-69,11,
+7,62,
+186,-132,
+-108,-54,
+126,51,
+140,-201,
+45,62,
+-68,262,
+-104,-81,
+22,95,
+-86,55,
+-59,40,
+124,-22,
+-61,-3,
+-50,59,
+-22,-29,
+74,96,
+-13,136,
+6,-179,
+42,20,
+4,-86,
+41,39,
+-119,94,
+72,-35,
+81,72,
+-123,30,
+-133,-54,
+78,-66,
+-40,38,
+-30,-139,
+197,29,
+-230,32,
+-33,72,
+21,147,
+-132,63,
+61,78,
+179,-13,
+-111,-5,
+-51,-59,
+36,-2,
+-70,-71,
+-26,60,
+232,2,
+-32,-63,
+-2,-62,
+37,-10,
+-4,-62,
+199,65,
+-27,66,
+51,-36,
+24,-52,
+68,51,
+-44,134,
+-8,17,
+-66,-41,
+119,60,
+105,-115,
+2,2,
+30,-34,
+-76,59,
+34,-95,
+35,93,
+70,103,
+37,-98,
+85,-91,
+-84,143,
+98,-86,
+-17,-51,
+-43,-80,
+153,4,
+-78,12,
+53,-80,
+-17,71,
+-73,53,
+45,-113,
+-60,1,
+-30,-23,
+-43,-130,
+84,22,
+-9,61,
+20,-71,
+42,-64,
+-9,-89,
+177,34,
+-20,-67,
+44,-3,
+44,-73,
+-23,132,
+-54,-51,
+-40,39,
+33,-48,
+-108,63,
+34,-95,
+-66,-33,
+-93,144,
+55,98,
+50,77,
+127,-101,
+-125,138,
+-63,113,
+45,-47,
+50,67,
+-23,20,
+-46,75,
+-5,140,
+31,-93,
+23,37,
+-15,-4,
+88,99,
+-79,33,
+45,43,
+-193,-10,
+134,-74,
+114,-26,
+109,19,
+-11,-49,
+201,12,
+38,20,
+163,-52,
+-22,-105,
+-98,-70,
+23,-26,
+-68,162,
+73,-72,
+-140,49,
+-48,30,
+29,-146,
+-36,58,
+-52,-30,
+-43,18,
+-108,123,
+40,-9,
+-69,-6,
+-6,58,
+85,-3,
+-39,155,
+3,154,
+-66,-41,
+-11,-67,
+81,-33,
+42,-98,
+8,17,
+33,32,
+32,44,
+27,-27,
+94,48,
+116,-101,
+20,25,
+135,36,
+87,-28,
+-47,-127,
+-172,32,
+-75,37,
+-121,-153,
+-100,-16,
+-103,179,
+-20,18,
+17,48,
+-67,-76,
+12,-27,
+-21,-171,
+-9,-3,
+48,-26,
+15,-76,
+40,-14,
+-36,43,
+-92,-90,
+15,18,
+-65,-57,
+-24,88,
+-73,-76,
+0,115,
+26,23,
+-45,17,
+36,-75,
+-29,-66,
+-73,-33,
+-52,0,
+7,24,
+6,-33,
+103,112,
+75,33,
+-12,-51,
+-49,-8,
+98,34,
+-85,67,
+27,-37,
+-70,-1,
+-30,194,
+-97,20,
+61,2,
+54,-17,
+-60,24,
+-19,1,
+-76,-52,
+30,100,
+-42,-25,
+-35,46,
+-120,-97,
+-84,-15,
+65,75,
+-55,-22,
+0,-99,
+12,-48,
+46,-123,
+-8,-49,
+-12,-60,
+-45,-41,
+30,48,
+92,23,
+-4,-14,
+-5,-107,
+-57,38,
+-23,13,
+42,26,
+-3,28,
+-70,-11,
+12,106,
+-22,-22,
+-1,87,
+66,7,
+21,-59,
+-50,33,
+42,-29,
+-56,18,
+72,-22,
+-48,9,
+-47,-40,
+6,97,
+-6,-48,
+-26,32,
+-51,-118,
+36,47,
+126,78,
+33,12,
+-35,-9,
+39,80,
+-9,9,
+-13,28,
+-65,-67,
+39,-45,
+-21,-25,
+-17,44,
+-36,-54,
+37,42,
+93,-52,
+-12,33,
+2,103,
+24,-10,
+-70,-7,
+29,33,
+8,43,
+27,78,
+-70,-11,
+123,-104,
+33,68,
+62,-44,
+27,22,
+-8,-20,
+34,63,
+-36,17,
+21,-62,
+3,-42,
+29,78,
+-22,-61,
+-45,-38,
+-75,29,
+28,1,
+9,165,
+-13,24,
+41,-16,
+38,-11,
+61,-62,
+45,48,
+-6,-45,
+17,16,
+22,-9,
+2,-27,
+-67,-38,
+-14,-21,
+26,10,
+-32,20,
+58,-40,
+17,-17,
+72,-63,
+-34,44,
+7,-4,
+3,-40,
+63,34,
+148,9,
+9,22,
+-49,-55,
+-31,62,
+35,-1,
+50,-23,
+31,14,
+3,-23,
+53,-38,
+16,54,
+28,-27,
+10,-10,
+18,12,
+-7,18,
+-50,-20,
+33,-8,
+68,4,
+4,47,
+0,14,
+-4,24,
+41,-29,
+5,-18,
+38,-14,
+28,-73,
+2,-64,
+-35,-61,
+11,-36,
+32,49,
+-45,98,
+-12,36,
+-2,5,
+-7,-11,
+61,41,
+48,-19,
+23,-4,
+-12,3,
+66,20,
+18,28,
+37,-38,
+-10,-71,
+-53,1,
+19,-4,
+37,-14,
+77,61,
+-8,-58,
+11,48,
+-4,9,
+5,45,
+-63,4,
+-69,-14,
+-24,-35,
+25,-24,
+39,4,
+25,17,
+-7,18,
+-32,17,
+-6,42,
+-28,31,
+-55,7,
+-14,-2,
+-16,-4,
+-25,43,
+63,-11,
+57,-59,
+-34,-9,
+-11,7,
+61,-31,
+-5,49,
+-1,-35,
+-38,26,
+0,26,
+-19,44,
+2,-17,
+0,26,
+46,-7,
+-3,-20,
+-11,31,
+-38,58,
+44,45,
+-58,1,
+31,10,
+-49,-49,
+-56,8,
+23,-21,
+10,-17,
+-44,-4,
+-10,31,
+-13,-12,
+52,-7,
+56,9,
+-10,30,
+-14,-15,
+-7,-16,
+-33,5,
+2,6,
+12,-26,
+-29,6,
+-7,33,
+29,-51,
+11,0,
+9,16,
+36,54,
+44,-18,
+10,9,
+-40,-11,
+38,-9,
+-3,-68,
+49,1,
+50,30,
+-37,4,
+7,-18,
+-23,-54,
+76,-47,
+35,22,
+20,18,
+34,9,
+-4,7,
+33,-8,
+-10,-12,
+10,-4,
+29,10,
+13,12,
+13,27,
+9,7,
+6,14,
+9,-11,
+-19,-8,
+-7,-9,
+-3,4,
+13,-2,
+-6,-15,
+-4,23,
+24,30,
+-21,9,
+-5,-15,
+14,-3,
+2,28,
+13,-2,
+10,-10,
+-26,18,
+-7,0,
+-21,-11,
+-6,31,
+12,27,
+-16,-15,
+-30,-14,
+-14,5,
+28,20,
+16,20,
+20,-17,
+-2,-1,
+-14,-11,
+14,15,
+-33,29,
+-12,-5,
+13,1,
+22,-11,
+1,-13,
+3,-12,
+-4,7,
+-28,18,
+2,-20,
+16,10,
+-8,-7,
+3,3,
+38,-32,
+2,-14,
+-2,-1,
+-4,4,
+9,1,
+5,-4,
+20,16,
+3,-6,
+-8,4,
+4,3,
+-8,-7,
+-9,8,
+5,-2,
+-14,13,
+9,0,
+-20,9,
+-5,0,
+13,10,
+-11,0,
+-16,-1,
+7,9,
+-3,-8,
+8,-6,
+-1,-8,
+7,9,
+-3,-7,
+12,9,
+-7,6,
+0,-2,
+3,-3,
+3,4,
+-12,4,
+7,-3,
+-9,4,
+-9,-8,
+-3,1,
+1,5,
+1,0,
+4,-4,
+5,3,
+-7,-1,
+3,4,
+8,8,
+-6,-1,
+2,-1,
+2,3,
+-4,3,
+5,-3,
+4,2,
+-7,-1,
+2,-8,
+3,2,
+-5,-2,
+2,-1,
+7,-3,
+-4,-2,
+2,-2,
+5,-1,
+-3,-1,
+1,0,
+2,-1,
+-5,1,
+2,0,
+3,0,
+-6,0,
+3,0,
+2,0,
+-5,-1,
+2,1,
+1,0,
+-3,1,
+5,1,
+2,2,
+-4,2,
+7,3,
+2,1,
+-5,2,
+3,-2,
+2,8,
+-7,1,
+4,-2,
+5,3,
+-4,-3,
+2,-3,
+2,1,
+-6,1,
+8,-8,
+3,-4,
+-7,1,
+5,-3,
+4,4,
+1,0,
+1,-5,
+-3,-1,
+-9,8,
+-9,-4,
+7,3,
+-12,-4,
+3,-4,
+3,3,
+0,2,
+-7,-6,
+12,-9,
+-3,7,
+7,-9,
+-1,8,
+8,6,
+-3,8,
+7,-9,
+-16,1,
+-11,0,
+13,-10,
+-5,0,
+-20,-9,
+9,0,
+-14,-13,
+5,2,
+-9,-8,
+-8,7,
+4,-3,
+-8,-4,
+3,6,
+20,-16,
+5,4,
+9,-1,
+-4,-4,
+-2,1,
+2,14,
+38,32,
+3,-3,
+-8,7,
+16,-10,
+2,20,
+-28,-18,
+-4,-7,
+3,12,
+1,13,
+22,11,
+13,-1,
+-12,5,
+-33,-29,
+14,-15,
+-14,11,
+-2,1,
+20,17,
+16,-20,
+28,-20,
+-14,-5,
+-30,14,
+-16,15,
+12,-27,
+-6,-31,
+-21,11,
+-7,0,
+-26,-18,
+10,10,
+13,2,
+2,-28,
+14,3,
+-5,15,
+-21,-9,
+24,-30,
+-4,-23,
+-6,15,
+13,2,
+-3,-4,
+-7,9,
+-19,8,
+9,11,
+6,-14,
+9,-7,
+13,-27,
+13,-12,
+29,-10,
+10,4,
+-10,12,
+33,8,
+-4,-7,
+34,-9,
+20,-18,
+35,-22,
+76,47,
+-23,54,
+7,18,
+-37,-4,
+50,-30,
+49,-1,
+-3,68,
+38,9,
+-40,11,
+10,-9,
+44,18,
+36,-54,
+9,-16,
+11,0,
+29,51,
+-7,-33,
+-29,-6,
+12,26,
+2,-6,
+-33,-5,
+-7,16,
+-14,15,
+-10,-30,
+56,-9,
+52,7,
+-13,12,
+-10,-31,
+-44,4,
+10,17,
+23,21,
+-56,-8,
+-49,49,
+31,-10,
+-58,-1,
+44,-45,
+-38,-58,
+-11,-31,
+-3,20,
+46,7,
+0,-26,
+2,17,
+-19,-44,
+0,-26,
+-38,-26,
+-1,35,
+-5,-49,
+61,31,
+-11,-7,
+-34,9,
+57,59,
+63,11,
+-25,-43,
+-16,4,
+-14,2,
+-55,-7,
+-28,-31,
+-6,-42,
+-32,-17,
+-7,-18,
+25,-17,
+39,-4,
+25,24,
+-24,35,
+-69,14,
+-63,-4,
+5,-45,
+-4,-9,
+11,-48,
+-8,58,
+77,-61,
+37,14,
+19,4,
+-53,-1,
+-10,71,
+37,38,
+18,-28,
+66,-20,
+-12,-3,
+23,4,
+48,19,
+61,-41,
+-7,11,
+-2,-5,
+-12,-36,
+-45,-98,
+32,-49,
+11,36,
+-35,61,
+2,64,
+28,73,
+38,14,
+5,18,
+41,29,
+-4,-24,
+0,-14,
+4,-47,
+68,-4,
+33,8,
+-50,20,
+-7,-18,
+18,-12,
+10,10,
+28,27,
+16,-54,
+53,38,
+3,23,
+31,-14,
+50,23,
+35,1,
+-31,-62,
+-49,55,
+9,-22,
+148,-9,
+63,-34,
+3,40,
+7,4,
+-34,-44,
+72,63,
+17,17,
+58,40,
+-32,-20,
+26,-10,
+-14,21,
+-67,38,
+2,27,
+22,9,
+17,-16,
+-6,45,
+45,-48,
+61,62,
+38,11,
+41,16,
+-13,-24,
+9,-165,
+28,-1,
+-75,-29,
+-45,38,
+-22,61,
+29,-78,
+3,42,
+21,62,
+-36,-17,
+34,-63,
+-8,20,
+27,-22,
+62,44,
+33,-68,
+123,104,
+-70,11,
+27,-78,
+8,-43,
+29,-33,
+-70,7,
+24,10,
+2,-103,
+-12,-33,
+93,52,
+37,-42,
+-36,54,
+-17,-44,
+-21,25,
+39,45,
+-65,67,
+-13,-28,
+-9,-9,
+39,-80,
+-35,9,
+33,-12,
+126,-78,
+36,-47,
+-51,118,
+-26,-32,
+-6,48,
+6,-97,
+-47,40,
+-48,-9,
+72,22,
+-56,-18,
+42,29,
+-50,-33,
+21,59,
+66,-7,
+-1,-87,
+-22,22,
+12,-106,
+-70,11,
+-3,-28,
+42,-26,
+-23,-13,
+-57,-38,
+-5,107,
+-4,14,
+92,-23,
+30,-48,
+-45,41,
+-12,60,
+-8,49,
+46,123,
+12,48,
+0,99,
+-55,22,
+65,-75,
+-84,15,
+-120,97,
+-35,-46,
+-42,25,
+30,-100,
+-76,52,
+-19,-1,
+-60,-24,
+54,17,
+61,-2,
+-97,-20,
+-30,-194,
+-70,1,
+27,37,
+-85,-67,
+98,-34,
+-49,8,
+-12,51,
+75,-33,
+103,-112,
+6,33,
+7,-24,
+-52,0,
+-73,33,
+-29,66,
+36,75,
+-45,-17,
+26,-23,
+0,-115,
+-73,76,
+-24,-88,
+-65,57,
+15,-18,
+-92,90,
+-36,-43,
+40,14,
+15,76,
+48,26,
+-9,3,
+-21,171,
+12,27,
+-67,76,
+17,-48,
+-20,-18,
+-103,-179,
+-100,16,
+-121,153,
+-75,-37,
+-172,-32,
+-47,127,
+87,28,
+135,-36,
+20,-25,
+116,101,
+94,-48,
+27,27,
+32,-44,
+33,-32,
+8,-17,
+42,98,
+81,33,
+-11,67,
+-66,41,
+3,-154,
+-39,-155,
+85,3,
+-6,-58,
+-69,6,
+40,9,
+-108,-123,
+-43,-18,
+-52,30,
+-36,-58,
+29,146,
+-48,-30,
+-140,-49,
+73,72,
+-68,-162,
+23,26,
+-98,70,
+-22,105,
+163,52,
+38,-20,
+201,-12,
+-11,49,
+109,-19,
+114,26,
+134,74,
+-193,10,
+45,-43,
+-79,-33,
+88,-99,
+-15,4,
+23,-37,
+31,93,
+-5,-140,
+-46,-75,
+-23,-20,
+50,-67,
+45,47,
+-63,-113,
+-125,-138,
+127,101,
+50,-77,
+55,-98,
+-93,-144,
+-66,33,
+34,95,
+-108,-63,
+33,48,
+-40,-39,
+-54,51,
+-23,-132,
+44,73,
+44,3,
+-20,67,
+177,-34,
+-9,89,
+42,64,
+20,71,
+-9,-61,
+84,-22,
+-43,130,
+-30,23,
+-60,-1,
+45,113,
+-73,-53,
+-17,-71,
+53,80,
+-78,-12,
+153,-4,
+-43,80,
+-17,51,
+98,86,
+-84,-143,
+85,91,
+37,98,
+70,-103,
+35,-93,
+34,95,
+-76,-59,
+30,34,
+2,-2,
+105,115,
+119,-60,
+-66,41,
+-8,-17,
+-44,-134,
+68,-51,
+24,52,
+51,36,
+-27,-66,
+199,-65,
+-4,62,
+37,10,
+-2,62,
+-32,63,
+232,-2,
+-26,-60,
+-70,71,
+36,2,
+-51,59,
+-111,5,
+179,13,
+61,-78,
+-132,-63,
+21,-147,
+-33,-72,
+-230,-32,
+197,-29,
+-30,139,
+-40,-38,
+78,66,
+-133,54,
+-123,-30,
+81,-72,
+72,35,
+-119,-94,
+41,-39,
+4,86,
+42,-20,
+6,179,
+-13,-136,
+74,-96,
+-22,29,
+-50,-59,
+-61,3,
+124,22,
+-59,-40,
+-86,-55,
+22,-95,
+-104,81,
+-68,-262,
+45,-62,
+140,201,
+126,-51,
+-108,54,
+186,132,
+7,-62,
+-69,-11,
+89,8,
+-35,62,
+26,-9,
+127,13,
+8,-98,
+30,44,
+-203,29,
+54,-171,
+30,119,
+0,64,
+92,-118,
+-1,-30,
+32,164,
+-32,3,
+-44,62,
+-80,31,
+32,-152,
+-126,95,
+93,-15,
+134,127,
+44,55,
+168,21,
+43,-34,
+-11,-102,
+-24,-19,
+9,131,
+-122,-11,
+36,19,
+3,-1,
+6,-90,
+-51,-200,
+-63,153,
+-69,1,
+18,-220,
+1,56,
+96,-172,
+-8,10,
+-116,-16,
+101,-69,
+149,-44,
+-11,170,
+10,-75,
+-13,-68,
+-17,-90,
+-155,-106,
+140,84,
+-92,-3,
+-15,8,
+95,-60,
+87,-58,
+-97,-118,
+-48,47,
+13,-101,
+108,61,
+-241,-40,
+-25,-63,
+60,69,
+-113,-181,
+13,100,
+67,29,
+-12,-46,
+-23,101,
+-72,-23,
+-46,76,
+-73,9,
+-62,-5,
+95,-117,
+-15,42,
+-212,19,
+16,-194,
+-49,17,
+-11,-143,
+-108,-10,
+75,-22,
+-50,-11,
+157,82,
+-127,30,
+57,49,
+-5,-35,
+-48,147,
+-94,-15,
+165,71,
+266,106,
+-127,-278,
+95,-14,
+67,96,
+100,103,
+115,-70,
+-96,-51,
+104,23,
+178,51,
+3,26,
+86,-46,
+-120,-36,
+110,-21,
+56,31,
+107,-171,
+28,282,
+-25,-36,
+-61,4,
+-63,-251,
+-7,-73,
+22,-145,
+-73,-23,
+47,-347,
+-7,-15,
+-228,-32,
+-124,43,
+158,174,
+-82,-148,
+179,115,
+-21,53,
+-105,123,
+81,-1,
+-176,-33,
+44,124,
+124,130,
+12,-27,
+87,167,
+32,-40,
+-57,-11,
+133,36,
+187,-142,
+180,120,
+20,94,
+-135,-48,
+-99,-72,
+-44,-57,
+-84,-53,
+132,-34,
+2,-17,
+38,-89,
+-43,-146,
+-9,-102,
+-108,-157,
+166,-104,
+-103,-187,
+-191,84,
+74,243,
+22,210,
+-211,58,
+-28,278,
+229,128,
+168,-22,
+-134,80,
+120,1,
+-262,51,
+-133,10,
+-68,1,
+-37,-29,
+-119,-101,
+1,8,
+-6,35,
+-12,85,
+-167,136,
+150,-87,
+-123,189,
+135,80,
+-18,-55,
+178,53,
+-40,-5,
+-101,-18,
+-131,25,
+-46,163,
+20,38,
+-40,38,
+83,-37,
+42,-173,
+152,-151,
+-73,93,
+-130,-56,
+201,26,
+42,-75,
+-105,176,
+139,-76,
+168,221,
+196,61,
+-105,-63,
+29,-75,
+30,26,
+-50,161,
+49,-13,
+-54,109,
+235,-74,
+-147,164,
+-75,223,
+-1,52,
+51,55,
+7,-69,
+-129,107,
+-243,-56,
+-67,-79,
+-198,-29,
+-108,113,
+-20,3,
+15,-55,
+118,-78,
+-109,-149,
+-92,123,
+-78,103,
+168,-27,
+-5,-21,
+-23,34,
+187,16,
+-63,115,
+205,-16,
+33,-48,
+21,-39,
+-10,-71,
+-100,-17,
+97,167,
+-67,-184,
+15,86,
+-51,-6,
+62,82,
+-56,67,
+243,-65,
+-270,90,
+-18,126,
+22,-125,
+136,-226,
+64,-80,
+29,30,
+20,7,
+213,-97,
+-80,150,
+-95,23,
+-104,38,
+-4,-77,
+-70,137,
+145,47,
+-171,-137,
+31,-94,
+95,-77,
+93,14,
+126,38,
+-70,-10,
+4,115,
+232,-174,
+92,90,
+-73,-38,
+-34,-26,
+-157,-342,
+219,19,
+-179,-56,
+46,-143,
+169,133,
+-5,-70,
+-174,5,
+42,-3,
+-36,-48,
+46,-44,
+-142,257,
+-80,56,
+303,-16,
+88,-1,
+263,-25,
+-48,-54,
+-193,-124,
+96,-134,
+-122,-125,
+62,5,
+-57,11,
+16,-151,
+-72,91,
+-119,125,
+-33,11,
+29,25,
+-4,-49,
+15,10,
+-211,-236,
+3,24,
+-9,-114,
+40,108,
+-72,-11,
+-24,-288,
+204,-238,
+-155,-152,
+56,176,
+21,107,
+54,-124,
+-33,-157,
+-21,-22,
+-48,-94,
+-29,-67,
+-8,-124,
+104,-4,
+-151,-89,
+64,-42,
+90,80,
+-95,42,
+-50,-18,
+114,-192,
+1,-118,
+161,147,
+4,-96,
+-76,-83,
+-32,-26,
+-76,-71,
+-187,-188,
+-233,109,
+-158,65,
+-127,-103,
+144,41,
+323,19,
+129,68,
+-63,64,
+108,-60,
+-38,-140,
+67,-186,
+-52,-10,
+-39,-103,
+147,-18,
+57,-237,
+-175,-45,
+-124,74,
+-97,61,
+-16,64,
+109,-238,
+-80,-144,
+151,-116,
+-151,114,
+249,-104,
+58,31,
+22,227,
+-27,236,
+-133,51,
+-112,-31,
+53,-169,
+46,-133,
+32,117,
+139,45,
+81,13,
+137,184,
+84,130,
+-123,50,
+91,144,
+126,5,
+-87,-220,
+-148,-155,
+-62,61,
+-60,26,
+87,-102,
+-81,-185,
+127,185,
+-101,44,
+245,61,
+67,0,
+39,113,
+2,-129,
+43,-102,
+-103,-38,
+98,140,
+306,-81,
+114,219,
+104,-212,
+-95,203,
+-35,118,
+-144,126,
+48,65,
+-148,-84,
+6,52,
+115,285,
+12,-121,
+-141,-215,
+150,-150,
+83,-74,
+-64,93,
+-69,112,
+55,36,
+-51,59,
+-50,-27,
+41,47,
+15,116,
+3,-148,
+-268,-126,
+287,60,
+150,-246,
+1,-264,
+-93,115,
+159,-60,
+-293,100,
+-164,-215,
+-59,-172,
+109,-156,
+122,-84,
+-157,353,
+-324,-269,
+-156,-123,
+10,-323,
+166,-174,
+50,20,
+4,-249,
+-8,45,
+-85,-67,
+-26,-56,
+51,-100,
+119,-151,
+79,-55,
+148,-33,
+-20,-82,
+14,-10,
+-101,62,
+-30,141,
+21,-108,
+-38,15,
+-35,40,
+61,-109,
+281,48,
+35,-21,
+-158,64,
+80,8,
+110,-142,
+4,-64,
+-13,43,
+52,-11,
+27,219,
+-26,98,
+141,5,
+259,-23,
+-70,83,
+-224,255,
+137,38,
+177,-85,
+-9,-292,
+110,-62,
+-213,54,
+-19,-55,
+192,111,
+118,72,
+86,241,
+-82,-183,
+-29,-165,
+-185,-12,
+-71,-62,
+105,100,
+5,207,
+78,1,
+-204,-128,
+185,59,
+-138,-80,
+-220,-247,
+-228,-201,
+71,175,
+10,-56,
+-63,-31,
+137,-137,
+-48,-119,
+110,-102,
+-17,50,
+-31,107,
+55,-51,
+-57,101,
+135,191,
+7,-233,
+166,261,
+-39,96,
+135,-1,
+68,3,
+13,48,
+29,164,
+46,107,
+9,-192,
+-267,66,
+93,-131,
+-69,43,
+68,-150,
+48,9,
+167,-62,
+-77,117,
+-27,-145,
+79,82,
+-8,29,
+103,93,
+-96,-15,
+-36,334,
+-29,27,
+111,-48,
+-9,58,
+-32,-216,
+-24,2,
+52,100,
+106,-119,
+170,-55,
+55,0,
+-110,24,
+152,-30,
+40,33,
+-31,-131,
+-6,-72,
+-88,116,
+-171,-18,
+-237,-101,
+210,143,
+-244,-119,
+-156,-220,
+-71,-27,
+-237,-5,
+-83,-205,
+69,-82,
+-215,-24,
+25,180,
+89,38,
+-46,-14,
+99,338,
+6,0,
+-253,61,
+-19,74,
+-74,-68,
+21,-158,
+77,-45,
+-22,-49,
+20,-35,
+-64,-23,
+-29,-8,
+-2,-114,
+-139,61,
+-142,42,
+23,132,
+-193,178,
+-92,6,
+-157,52,
+-41,-78,
+-82,-112,
+238,-149,
+-111,-4,
+-34,77,
+45,91,
+95,240,
+0,-4,
+189,-42,
+286,14,
+42,154,
+18,52,
+210,86,
+-22,95,
+35,291,
+-120,110,
+82,-209,
+307,-20,
+-45,-207,
+121,69,
+-22,-19,
+-83,34,
+153,-63,
+-37,-144,
+1,34,
+176,-52,
+-16,4,
+-48,116,
+-37,-30,
+-32,-122,
+44,-23,
+96,-10,
+-15,91,
+8,162,
+-66,-11,
+5,-126,
+-21,222,
+-143,12,
+-91,195,
+-28,-168,
+-48,-44,
+87,-203,
+-310,48,
+84,-255,
+219,163,
+-56,154,
+21,-50,
+-37,-190,
+-84,14,
+79,-146,
+108,139,
+-84,118,
+119,3,
+-11,66,
+43,105,
+-55,71,
+66,-105,
+107,62,
+45,273,
+-24,-93,
+140,199,
+169,-285,
+-99,6,
+-22,-64,
+-20,-68,
+17,67,
+-88,231,
+168,-172,
+120,57,
+-208,116,
+28,151,
+223,-2,
+81,-265,
+87,-30,
+32,-212,
+-1,243,
+112,-77,
+-90,126,
+27,130,
+-61,88,
+83,-138,
+28,10,
+84,4,
+-59,-86,
+38,191,
+170,160,
+202,-111,
+33,-39,
+-87,18,
+84,65,
+-51,224,
+-367,290,
+28,172,
+292,225,
+92,46,
+311,40,
+-106,-226,
+165,77,
+81,54,
+-51,-253,
+-106,-133,
+-160,-29,
+-134,-193,
+34,59,
+-36,-52,
+-69,141,
+-33,-122,
+-156,-238,
+-194,-50,
+-63,257,
+205,-60,
+-180,-11,
+35,35,
+81,105,
+96,196,
+-129,88,
+219,-26,
+-242,43,
+-61,201,
+50,-3,
+-115,-73,
+-120,178,
+-233,-104,
+14,74,
+107,-83,
+3,225,
+201,163,
+128,-143,
+67,34,
+-168,76,
+-161,-52,
+-19,22,
+48,-202,
+-36,-67,
+16,163,
+39,21,
+-241,4,
+139,49,
+-136,78,
+207,191,
+-49,-121,
+-307,-98,
+139,161,
+-25,327,
+-168,-325,
+82,19,
+46,-270,
+162,-102,
+-234,112,
+-128,99,
+47,11,
+-20,-99,
+56,23,
+36,140,
+51,-32,
+70,-5,
+175,101,
+-73,53,
+-197,-259,
+62,6,
+72,52,
+164,136,
+255,11,
+-37,-115,
+-176,-118,
+-45,11,
+105,212,
+268,37,
+178,250,
+-121,-108,
+28,33,
+93,36,
+-38,50,
+-103,-29,
+-128,10,
+168,-3,
+126,-86,
+-38,-90,
+-30,149,
+-35,138,
+61,2,
+-102,-121,
+33,271,
+-17,83,
+172,53,
+-48,-70,
+90,-24,
+264,5,
+-125,12,
+-88,74,
+182,303,
+-131,10,
+-127,-44,
+119,246,
+80,46,
+-44,-20,
+-88,99,
+37,-35,
+-109,-27,
+-111,-124,
+99,9,
+-202,-41,
+-126,26,
+-124,6,
+-104,-125,
+-3,94,
+-46,-55,
+-280,233,
+-87,107,
+-36,3,
+-57,38,
+6,-91,
+-59,-38,
+72,-37,
+-48,-104,
+10,-98,
+35,-43,
+-12,-245,
+145,62,
+114,-107,
+133,21,
+-121,171,
+108,-131,
+-82,-65,
+-148,4,
+-96,197,
+-271,-39,
+-152,162,
+-276,138,
+185,110,
+37,-250,
+73,73,
+-97,-58,
+-32,-97,
+11,134,
+58,-186,
+127,-147,
+-125,35,
+-53,21,
+-49,-39,
+-9,-91,
+99,2,
+-114,35,
+-267,67,
+-111,198,
+-179,71,
+82,-129,
+171,65,
+43,85,
+216,82,
+137,-104,
+-18,42,
+-50,202,
+-108,-5,
+2,-82,
+96,-142,
+-72,-15,
+14,-155,
+29,138,
+81,-48,
+46,-148,
+84,161,
+5,-8,
+-211,-80,
+128,-154,
+-91,-131,
+119,138,
+-19,90,
+17,-129,
+-165,123,
+-75,92,
+-199,-18,
+-57,-16,
+-134,150,
+71,-95,
+-106,212,
+26,102,
+22,-21,
+-82,-83,
+-242,-14,
+-115,-231,
+88,97,
+109,255,
+195,-117,
+141,119,
+136,26,
+35,33,
+-92,-33,
+-29,10,
+-22,-99,
+-187,48,
+26,-92,
+181,-46,
+270,34,
+138,112,
+2,91,
+93,202,
+80,68,
+41,26,
+20,-35,
+-115,61,
+60,-57,
+42,120,
+-37,-165,
+118,41,
+111,135,
+-89,-85,
+97,85,
+74,85,
+90,42,
+-84,-45,
+165,90,
+-33,-22,
+-53,38,
+-102,-137,
+-34,-50,
+267,-60,
+12,-62,
+29,138,
+-9,116,
+-124,-52,
+140,89,
+-197,14,
+96,100,
+103,-173,
+73,71,
+-65,20,
+11,-67,
+-27,-12,
+87,26,
+108,-50,
+28,148,
+100,37,
+85,2,
+49,163,
+52,101,
+-25,-79,
+13,111,
+52,-14,
+57,59,
+181,37,
+-50,-31,
+270,167,
+-101,17,
+-4,37,
+-115,-109,
+124,16,
+119,-53,
+-34,-47,
+-99,-79,
+23,-38,
+50,158,
+-79,-34,
+18,15,
+4,-77,
+193,-106,
+-198,-185,
+-10,161,
+22,48,
+32,-74,
+63,-51,
+155,-109,
+105,65,
+-14,37,
+-101,-146,
+-49,73,
+36,-217,
+109,22,
+2,-69,
+-243,248,
+-123,-15,
+24,1,
+4,73,
+-127,-21,
+4,19,
+79,126,
+-173,57,
+154,51,
+127,-168,
+-22,191,
+315,136,
+-56,14,
+65,-160,
+53,28,
+-9,73,
+43,54,
+71,55,
+45,165,
+-121,72,
+12,18,
+3,24,
+-53,164,
+-88,-11,
+2,-99,
+-51,27,
+12,12,
+-95,-30,
+154,-134,
+-165,-77,
+-283,-225,
+2,27,
+12,161,
+81,38,
+-1,92,
+35,-203,
+155,94,
+142,-143,
+95,85,
+9,-25,
+-80,56,
+-49,33,
+-132,-53,
+39,-302,
+136,-41,
+-116,98,
+116,-148,
+76,-57,
+239,60,
+-183,-132,
+86,-22,
+-112,47,
+-16,-163,
+-18,79,
+128,243,
+-72,66,
+108,-126,
+66,40,
+-43,-19,
+73,-13,
+-88,263,
+28,142,
+-182,-153,
+41,-16,
+102,-160,
+-144,88,
+2,-30,
+-104,-101,
+117,10,
+-24,-145,
+-130,155,
+-28,-59,
+-57,-109,
+-54,-150,
+61,101,
+100,-112,
+-196,47,
+72,23,
+172,111,
+-150,-62,
+-31,-103,
+-137,-43,
+-4,22,
+-66,-12,
+-113,-191,
+160,57,
+-6,44,
+70,-84,
+29,128,
+-35,-93,
+9,-23,
+-196,54,
+-90,-72,
+-103,-7,
+10,117,
+8,-87,
+-57,37,
+-78,-132,
+-79,30,
+242,-110,
+112,-52,
+9,-74,
+-124,14,
+6,62,
+56,-94,
+15,-74,
+-129,111,
+30,107,
+50,50,
+37,27,
+74,42,
+-27,-38,
+-60,21,
+55,0,
+151,-34,
+-28,147,
+-27,127,
+148,166,
+46,11,
+-9,59,
+-96,76,
+24,-81,
+-25,118,
+2,28,
+78,-118,
+-170,69,
+112,-118,
+-115,53,
+-21,-87,
+35,76,
+23,-5,
+53,-65,
+-36,21,
+95,-108,
+66,106,
+38,122,
+262,-30,
+42,-15,
+2,132,
+19,72,
+-20,-88,
+-4,15,
+22,35,
+41,47,
+20,72,
+138,-29,
+76,-52,
+-69,-45,
+-58,89,
+19,-18,
+33,-83,
+-49,-52,
+-106,199,
+-11,106,
+-94,39,
+35,-152,
+-147,-18,
+91,19,
+-1,-37,
+0,-23,
+13,-167,
+-38,-79,
+-15,-91,
+35,48,
+-84,-2,
+99,11,
+-12,127,
+-42,-37,
+-1,57,
+-146,-119,
+55,-74,
+14,60,
+-163,-240,
+-12,26,
+80,109,
+64,-11,
+-77,-41,
+86,-25,
+-95,105,
+-9,-51,
+-143,-53,
+-3,-42,
+13,-75,
+82,-30,
+-211,36,
+37,59,
+25,-191,
+-125,51,
+109,4,
+-182,-6,
+-78,-10,
+158,-164,
+159,102,
+6,-58,
+10,8,
+-1,79,
+-83,14,
+39,41,
+232,-1,
+-9,86,
+-49,-114,
+-4,30,
+-40,-85,
+-37,47,
+-9,-28,
+-45,269,
+-62,-78,
+15,18,
+-19,59,
+-179,27,
+-134,-68,
+110,-86,
+-9,-11,
+21,-30,
+-15,82,
+50,132,
+-158,69,
+92,68,
+-121,1,
+118,-6,
+130,124,
+-51,-110,
+-81,-163,
+-128,-69,
+-47,-23,
+-65,93,
+49,-115,
+-13,17,
+-60,1,
+11,-73,
+73,-58,
+72,53,
+-33,-49,
+79,-48,
+105,13,
+50,74,
+17,-16,
+84,48,
+-18,28,
+-75,-42,
+-34,150,
+160,-9,
+34,154,
+13,56,
+-95,0,
+131,51,
+59,-81,
+-20,41,
+43,-36,
+14,-78,
+-20,68,
+73,-90,
+38,-175,
+109,-3,
+-154,103,
+29,-8,
+-114,-30,
+25,-32,
+-23,-57,
+7,94,
+19,116,
+-120,7,
+-22,34,
+85,57,
+-3,-109,
+-12,11,
+-137,-15,
+-17,116,
+-20,-65,
+38,-10,
+11,21,
+59,6,
+-85,-48,
+-59,-31,
+40,78,
+-65,60,
+-15,-14,
+-18,-122,
+70,112,
+9,-28,
+83,138,
+-33,-1,
+4,84,
+103,28,
+-65,-12,
+34,13,
+63,3,
+41,47,
+45,54,
+42,30,
+7,58,
+61,36,
+-29,40,
+-23,32,
+1,-53,
+6,4,
+-24,25,
+22,82,
+-77,-17,
+112,29,
+-9,-104,
+-3,85,
+58,-66,
+71,-38,
+-12,138,
+-61,15,
+-24,55,
+-30,-51,
+-74,-93,
+94,63,
+-19,15,
+-13,23,
+39,-23,
+57,120,
+-25,-21,
+62,0,
+-3,49,
+3,44,
+29,6,
+-92,15,
+87,9,
+-9,-12,
+-25,-43,
+11,56,
+83,42,
+30,15,
+101,48,
+56,40,
+-12,133,
+-18,138,
+8,-52,
+-74,-41,
+34,-33,
+-21,-27,
+-37,-20,
+22,2,
+80,59,
+-78,100,
+84,61,
+58,82,
+13,29,
+-17,-53,
+-90,-113,
+-12,-54,
+-5,37,
+68,-28,
+23,3,
+75,-31,
+-32,9,
+35,-104,
+0,-23,
+36,-91,
+20,-39,
+16,-25,
+-18,42,
+58,-32,
+6,79,
+-138,-70,
+-36,2,
+81,-42,
+-46,32,
+8,50,
+-3,10,
+-35,30,
+45,-15,
+-84,5,
+-34,-3,
+-44,28,
+18,-34,
+52,-70,
+46,36,
+-35,61,
+-16,36,
+104,98,
+-24,27,
+-34,11,
+34,6,
+71,-136,
+40,-70,
+5,-26,
+6,-15,
+-32,39,
+-41,-17,
+46,-70,
+-10,12,
+-78,4,
+-9,44,
+-33,6,
+18,-27,
+-13,-12,
+-50,-18,
+12,87,
+-54,-18,
+114,-13,
+35,-146,
+11,-40,
+32,-76,
+67,-52,
+-97,0,
+8,-22,
+34,32,
+6,-20,
+-1,89,
+-49,34,
+-5,4,
+-89,4,
+-5,11,
+-24,-8,
+-49,-12,
+1,40,
+-4,-54,
+-47,-1,
+48,14,
+48,-86,
+9,-53,
+88,-31,
+-57,-17,
+-3,-17,
+6,-39,
+-11,-83,
+0,-10,
+-5,-22,
+-21,-5,
+-57,-42,
+49,-6,
+-7,3,
+-13,-51,
+63,54,
+25,34,
+12,-66,
+24,1,
+47,19,
+73,-17,
+-16,-14,
+-9,39,
+9,61,
+-19,-5,
+-19,-1,
+87,71,
+20,-53,
+14,2,
+-29,8,
+55,-1,
+42,-30,
+-22,13,
+-36,29,
+11,30,
+-4,7,
+-9,-78,
+17,11,
+21,42,
+-26,-30,
+33,2,
+-7,36,
+83,68,
+17,53,
+15,-28,
+-28,-55,
+-38,11,
+3,48,
+34,54,
+37,34,
+-43,-12,
+-19,-28,
+-23,-27,
+38,32,
+7,47,
+-14,-11,
+24,22,
+33,11,
+-41,2,
+-13,-2,
+66,-23,
+-5,-46,
+-36,-11,
+0,90,
+-104,-49,
+24,-20,
+14,32,
+62,-42,
+-23,-10,
+-24,-24,
+20,-5,
+57,66,
+-12,-66,
+-7,10,
+38,-17,
+4,1,
+-7,3,
+-20,3,
+-42,-1,
+28,-40,
+8,-33,
+-18,4,
+10,46,
+8,19,
+40,31,
+32,0,
+-57,4,
+45,-21,
+-1,-74,
+-8,16,
+11,3,
+29,-49,
+15,14,
+-6,-21,
+21,22,
+30,-8,
+32,36,
+8,-21,
+-23,3,
+23,1,
+17,16,
+9,-50,
+-48,-28,
+-23,-6,
+10,-12,
+29,-4,
+-41,-4,
+7,-12,
+-20,-35,
+-38,-26,
+-19,4,
+-6,14,
+4,1,
+-6,39,
+-36,-14,
+43,67,
+20,34,
+32,-14,
+53,-30,
+34,-30,
+8,13,
+11,3,
+-16,-13,
+-12,39,
+26,35,
+23,-11,
+-4,6,
+-6,4,
+2,10,
+-13,4,
+-1,8,
+38,-21,
+-6,15,
+19,-5,
+-3,8,
+14,9,
+-48,-1,
+-2,23,
+-17,28,
+16,-4,
+37,-15,
+-22,6,
+5,23,
+13,-2,
+14,-14,
+-9,15,
+-1,-17,
+-21,-3,
+4,16,
+-24,16,
+33,1,
+3,1,
+15,15,
+-3,6,
+-8,-3,
+25,-5,
+1,16,
+-2,-9,
+21,8,
+1,5,
+0,3,
+-12,0,
+-8,-4,
+-12,-9,
+21,11,
+5,11,
+-5,1,
+-20,-5,
+8,-21,
+-27,17,
+4,-7,
+0,-16,
+19,-1,
+-1,-7,
+6,-3,
+-8,4,
+10,-8,
+14,4,
+-5,7,
+-5,1,
+-1,0,
+-7,-3,
+5,-7,
+7,5,
+-7,5,
+-3,3,
+3,2,
+-14,-1,
+2,5,
+10,-4,
+-14,-2,
+4,14,
+-9,1,
+-8,10,
+5,0,
+15,-12,
+4,11,
+0,4,
+9,-1,
+0,6,
+3,10,
+0,6,
+-2,2,
+6,2,
+10,3,
+-4,-3,
+1,2,
+0,0,
+-10,4,
+2,-5,
+2,-2,
+-3,-3,
+4,-2,
+6,-3,
+-3,0,
+1,-3,
+3,-1,
+-7,1,
+2,-1,
+3,-1,
+-6,1,
+2,0,
+2,0,
+-6,0,
+3,-1,
+3,0,
+-6,0,
+3,0,
+3,1,
+-6,0,
+2,0,
+2,0,
+-6,-1,
+3,1,
+2,1,
+-7,-1,
+3,1,
+1,3,
+-3,0,
+6,3,
+4,2,
+-3,3,
+2,2,
+2,5,
+-10,-4,
+0,0,
+1,-2,
+-4,3,
+10,-3,
+6,-2,
+-2,-2,
+0,-6,
+3,-10,
+0,-6,
+9,1,
+0,-4,
+4,-11,
+15,12,
+5,0,
+-8,-10,
+-9,-1,
+4,-14,
+-14,2,
+10,4,
+2,-5,
+-14,1,
+3,-2,
+-3,-3,
+-7,-5,
+7,-5,
+5,7,
+-7,3,
+-1,0,
+-5,-1,
+-5,-7,
+14,-4,
+10,8,
+-8,-4,
+6,3,
+-1,7,
+19,1,
+0,16,
+4,7,
+-27,-17,
+8,21,
+-20,5,
+-5,-1,
+5,-11,
+21,-11,
+-12,9,
+-8,4,
+-12,0,
+0,-3,
+1,-5,
+21,-8,
+-2,9,
+1,-16,
+25,5,
+-8,3,
+-3,-6,
+15,-15,
+3,-1,
+33,-1,
+-24,-16,
+4,-16,
+-21,3,
+-1,17,
+-9,-15,
+14,14,
+13,2,
+5,-23,
+-22,-6,
+37,15,
+16,4,
+-17,-28,
+-2,-23,
+-48,1,
+14,-9,
+-3,-8,
+19,5,
+-6,-15,
+38,21,
+-1,-8,
+-13,-4,
+2,-10,
+-6,-4,
+-4,-6,
+23,11,
+26,-35,
+-12,-39,
+-16,13,
+11,-3,
+8,-13,
+34,30,
+53,30,
+32,14,
+20,-34,
+43,-67,
+-36,14,
+-6,-39,
+4,-1,
+-6,-14,
+-19,-4,
+-38,26,
+-20,35,
+7,12,
+-41,4,
+29,4,
+10,12,
+-23,6,
+-48,28,
+9,50,
+17,-16,
+23,-1,
+-23,-3,
+8,21,
+32,-36,
+30,8,
+21,-22,
+-6,21,
+15,-14,
+29,49,
+11,-3,
+-8,-16,
+-1,74,
+45,21,
+-57,-4,
+32,0,
+40,-31,
+8,-19,
+10,-46,
+-18,-4,
+8,33,
+28,40,
+-42,1,
+-20,-3,
+-7,-3,
+4,-1,
+38,17,
+-7,-10,
+-12,66,
+57,-66,
+20,5,
+-24,24,
+-23,10,
+62,42,
+14,-32,
+24,20,
+-104,49,
+0,-90,
+-36,11,
+-5,46,
+66,23,
+-13,2,
+-41,-2,
+33,-11,
+24,-22,
+-14,11,
+7,-47,
+38,-32,
+-23,27,
+-19,28,
+-43,12,
+37,-34,
+34,-54,
+3,-48,
+-38,-11,
+-28,55,
+15,28,
+17,-53,
+83,-68,
+-7,-36,
+33,-2,
+-26,30,
+21,-42,
+17,-11,
+-9,78,
+-4,-7,
+11,-30,
+-36,-29,
+-22,-13,
+42,30,
+55,1,
+-29,-8,
+14,-2,
+20,53,
+87,-71,
+-19,1,
+-19,5,
+9,-61,
+-9,-39,
+-16,14,
+73,17,
+47,-19,
+24,-1,
+12,66,
+25,-34,
+63,-54,
+-13,51,
+-7,-3,
+49,6,
+-57,42,
+-21,5,
+-5,22,
+0,10,
+-11,83,
+6,39,
+-3,17,
+-57,17,
+88,31,
+9,53,
+48,86,
+48,-14,
+-47,1,
+-4,54,
+1,-40,
+-49,12,
+-24,8,
+-5,-11,
+-89,-4,
+-5,-4,
+-49,-34,
+-1,-89,
+6,20,
+34,-32,
+8,22,
+-97,0,
+67,52,
+32,76,
+11,40,
+35,146,
+114,13,
+-54,18,
+12,-87,
+-50,18,
+-13,12,
+18,27,
+-33,-6,
+-9,-44,
+-78,-4,
+-10,-12,
+46,70,
+-41,17,
+-32,-39,
+6,15,
+5,26,
+40,70,
+71,136,
+34,-6,
+-34,-11,
+-24,-27,
+104,-98,
+-16,-36,
+-35,-61,
+46,-36,
+52,70,
+18,34,
+-44,-28,
+-34,3,
+-84,-5,
+45,15,
+-35,-30,
+-3,-10,
+8,-50,
+-46,-32,
+81,42,
+-36,-2,
+-138,70,
+6,-79,
+58,32,
+-18,-42,
+16,25,
+20,39,
+36,91,
+0,23,
+35,104,
+-32,-9,
+75,31,
+23,-3,
+68,28,
+-5,-37,
+-12,54,
+-90,113,
+-17,53,
+13,-29,
+58,-82,
+84,-61,
+-78,-100,
+80,-59,
+22,-2,
+-37,20,
+-21,27,
+34,33,
+-74,41,
+8,52,
+-18,-138,
+-12,-133,
+56,-40,
+101,-48,
+30,-15,
+83,-42,
+11,-56,
+-25,43,
+-9,12,
+87,-9,
+-92,-15,
+29,-6,
+3,-44,
+-3,-49,
+62,0,
+-25,21,
+57,-120,
+39,23,
+-13,-23,
+-19,-15,
+94,-63,
+-74,93,
+-30,51,
+-24,-55,
+-61,-15,
+-12,-138,
+71,38,
+58,66,
+-3,-85,
+-9,104,
+112,-29,
+-77,17,
+22,-82,
+-24,-25,
+6,-4,
+1,53,
+-23,-32,
+-29,-40,
+61,-36,
+7,-58,
+42,-30,
+45,-54,
+41,-47,
+63,-3,
+34,-13,
+-65,12,
+103,-28,
+4,-84,
+-33,1,
+83,-138,
+9,28,
+70,-112,
+-18,122,
+-15,14,
+-65,-60,
+40,-78,
+-59,31,
+-85,48,
+59,-6,
+11,-21,
+38,10,
+-20,65,
+-17,-116,
+-137,15,
+-12,-11,
+-3,109,
+85,-57,
+-22,-34,
+-120,-7,
+19,-116,
+7,-94,
+-23,57,
+25,32,
+-114,30,
+29,8,
+-154,-103,
+109,3,
+38,175,
+73,90,
+-20,-68,
+14,78,
+43,36,
+-20,-41,
+59,81,
+131,-51,
+-95,0,
+13,-56,
+34,-154,
+160,9,
+-34,-150,
+-75,42,
+-18,-28,
+84,-48,
+17,16,
+50,-74,
+105,-13,
+79,48,
+-33,49,
+72,-53,
+73,58,
+11,73,
+-60,-1,
+-13,-17,
+49,115,
+-65,-93,
+-47,23,
+-128,69,
+-81,163,
+-51,110,
+130,-124,
+118,6,
+-121,-1,
+92,-68,
+-158,-69,
+50,-132,
+-15,-82,
+21,30,
+-9,11,
+110,86,
+-134,68,
+-179,-27,
+-19,-59,
+15,-18,
+-62,78,
+-45,-269,
+-9,28,
+-37,-47,
+-40,85,
+-4,-30,
+-49,114,
+-9,-86,
+232,1,
+39,-41,
+-83,-14,
+-1,-79,
+10,-8,
+6,58,
+159,-102,
+158,164,
+-78,10,
+-182,6,
+109,-4,
+-125,-51,
+25,191,
+37,-59,
+-211,-36,
+82,30,
+13,75,
+-3,42,
+-143,53,
+-9,51,
+-95,-105,
+86,25,
+-77,41,
+64,11,
+80,-109,
+-12,-26,
+-163,240,
+14,-60,
+55,74,
+-146,119,
+-1,-57,
+-42,37,
+-12,-127,
+99,-11,
+-84,2,
+35,-48,
+-15,91,
+-38,79,
+13,167,
+0,23,
+-1,37,
+91,-19,
+-147,18,
+35,152,
+-94,-39,
+-11,-106,
+-106,-199,
+-49,52,
+33,83,
+19,18,
+-58,-89,
+-69,45,
+76,52,
+138,29,
+20,-72,
+41,-47,
+22,-35,
+-4,-15,
+-20,88,
+19,-72,
+2,-132,
+42,15,
+262,30,
+38,-122,
+66,-106,
+95,108,
+-36,-21,
+53,65,
+23,5,
+35,-76,
+-21,87,
+-115,-53,
+112,118,
+-170,-69,
+78,118,
+2,-28,
+-25,-118,
+24,81,
+-96,-76,
+-9,-59,
+46,-11,
+148,-166,
+-27,-127,
+-28,-147,
+151,34,
+55,0,
+-60,-21,
+-27,38,
+74,-42,
+37,-27,
+50,-50,
+30,-107,
+-129,-111,
+15,74,
+56,94,
+6,-62,
+-124,-14,
+9,74,
+112,52,
+242,110,
+-79,-30,
+-78,132,
+-57,-37,
+8,87,
+10,-117,
+-103,7,
+-90,72,
+-196,-54,
+9,23,
+-35,93,
+29,-128,
+70,84,
+-6,-44,
+160,-57,
+-113,191,
+-66,12,
+-4,-22,
+-137,43,
+-31,103,
+-150,62,
+172,-111,
+72,-23,
+-196,-47,
+100,112,
+61,-101,
+-54,150,
+-57,109,
+-28,59,
+-130,-155,
+-24,145,
+117,-10,
+-104,101,
+2,30,
+-144,-88,
+102,160,
+41,16,
+-182,153,
+28,-142,
+-88,-263,
+73,13,
+-43,19,
+66,-40,
+108,126,
+-72,-66,
+128,-243,
+-18,-79,
+-16,163,
+-112,-47,
+86,22,
+-183,132,
+239,-60,
+76,57,
+116,148,
+-116,-98,
+136,41,
+39,302,
+-132,53,
+-49,-33,
+-80,-56,
+9,25,
+95,-85,
+142,143,
+155,-94,
+35,203,
+-1,-92,
+81,-38,
+12,-161,
+2,-27,
+-283,225,
+-165,77,
+154,134,
+-95,30,
+12,-12,
+-51,-27,
+2,99,
+-88,11,
+-53,-164,
+3,-24,
+12,-18,
+-121,-72,
+45,-165,
+71,-55,
+43,-54,
+-9,-73,
+53,-28,
+65,160,
+-56,-14,
+315,-136,
+-22,-191,
+127,168,
+154,-51,
+-173,-57,
+79,-126,
+4,-19,
+-127,21,
+4,-73,
+24,-1,
+-123,15,
+-243,-248,
+2,69,
+109,-22,
+36,217,
+-49,-73,
+-101,146,
+-14,-37,
+105,-65,
+155,109,
+63,51,
+32,74,
+22,-48,
+-10,-161,
+-198,185,
+193,106,
+4,77,
+18,-15,
+-79,34,
+50,-158,
+23,38,
+-99,79,
+-34,47,
+119,53,
+124,-16,
+-115,109,
+-4,-37,
+-101,-17,
+270,-167,
+-50,31,
+181,-37,
+57,-59,
+52,14,
+13,-111,
+-25,79,
+52,-101,
+49,-163,
+85,-2,
+100,-37,
+28,-148,
+108,50,
+87,-26,
+-27,12,
+11,67,
+-65,-20,
+73,-71,
+103,173,
+96,-100,
+-197,-14,
+140,-89,
+-124,52,
+-9,-116,
+29,-138,
+12,62,
+267,60,
+-34,50,
+-102,137,
+-53,-38,
+-33,22,
+165,-90,
+-84,45,
+90,-42,
+74,-85,
+97,-85,
+-89,85,
+111,-135,
+118,-41,
+-37,165,
+42,-120,
+60,57,
+-115,-61,
+20,35,
+41,-26,
+80,-68,
+93,-202,
+2,-91,
+138,-112,
+270,-34,
+181,46,
+26,92,
+-187,-48,
+-22,99,
+-29,-10,
+-92,33,
+35,-33,
+136,-26,
+141,-119,
+195,117,
+109,-255,
+88,-97,
+-115,231,
+-242,14,
+-82,83,
+22,21,
+26,-102,
+-106,-212,
+71,95,
+-134,-150,
+-57,16,
+-199,18,
+-75,-92,
+-165,-123,
+17,129,
+-19,-90,
+119,-138,
+-91,131,
+128,154,
+-211,80,
+5,8,
+84,-161,
+46,148,
+81,48,
+29,-138,
+14,155,
+-72,15,
+96,142,
+2,82,
+-108,5,
+-50,-202,
+-18,-42,
+137,104,
+216,-82,
+43,-85,
+171,-65,
+82,129,
+-179,-71,
+-111,-198,
+-267,-67,
+-114,-35,
+99,-2,
+-9,91,
+-49,39,
+-53,-21,
+-125,-35,
+127,147,
+58,186,
+11,-134,
+-32,97,
+-97,58,
+73,-73,
+37,250,
+185,-110,
+-276,-138,
+-152,-162,
+-271,39,
+-96,-197,
+-148,-4,
+-82,65,
+108,131,
+-121,-171,
+133,-21,
+114,107,
+145,-62,
+-12,245,
+35,43,
+10,98,
+-48,104,
+72,37,
+-59,38,
+6,91,
+-57,-38,
+-36,-3,
+-87,-107,
+-280,-233,
+-46,55,
+-3,-94,
+-104,125,
+-124,-6,
+-126,-26,
+-202,41,
+99,-9,
+-111,124,
+-109,27,
+37,35,
+-88,-99,
+-44,20,
+80,-46,
+119,-246,
+-127,44,
+-131,-10,
+182,-303,
+-88,-74,
+-125,-12,
+264,-5,
+90,24,
+-48,70,
+172,-53,
+-17,-83,
+33,-271,
+-102,121,
+61,-2,
+-35,-138,
+-30,-149,
+-38,90,
+126,86,
+168,3,
+-128,-10,
+-103,29,
+-38,-50,
+93,-36,
+28,-33,
+-121,108,
+178,-250,
+268,-37,
+105,-212,
+-45,-11,
+-176,118,
+-37,115,
+255,-11,
+164,-136,
+72,-52,
+62,-6,
+-197,259,
+-73,-53,
+175,-101,
+70,5,
+51,32,
+36,-140,
+56,-23,
+-20,99,
+47,-11,
+-128,-99,
+-234,-112,
+162,102,
+46,270,
+82,-19,
+-168,325,
+-25,-327,
+139,-161,
+-307,98,
+-49,121,
+207,-191,
+-136,-78,
+139,-49,
+-241,-4,
+39,-21,
+16,-163,
+-36,67,
+48,202,
+-19,-22,
+-161,52,
+-168,-76,
+67,-34,
+128,143,
+201,-163,
+3,-225,
+107,83,
+14,-74,
+-233,104,
+-120,-178,
+-115,73,
+50,3,
+-61,-201,
+-242,-43,
+219,26,
+-129,-88,
+96,-196,
+81,-105,
+35,-35,
+-180,11,
+205,60,
+-63,-257,
+-194,50,
+-156,238,
+-33,122,
+-69,-141,
+-36,52,
+34,-59,
+-134,193,
+-160,29,
+-106,133,
+-51,253,
+81,-54,
+165,-77,
+-106,226,
+311,-40,
+92,-46,
+292,-225,
+28,-172,
+-367,-290,
+-51,-224,
+84,-65,
+-87,-18,
+33,39,
+202,111,
+170,-160,
+38,-191,
+-59,86,
+84,-4,
+28,-10,
+83,138,
+-61,-88,
+27,-130,
+-90,-126,
+112,77,
+-1,-243,
+32,212,
+87,30,
+81,265,
+223,2,
+28,-151,
+-208,-116,
+120,-57,
+168,172,
+-88,-231,
+17,-67,
+-20,68,
+-22,64,
+-99,-6,
+169,285,
+140,-199,
+-24,93,
+45,-273,
+107,-62,
+66,105,
+-55,-71,
+43,-105,
+-11,-66,
+119,-3,
+-84,-118,
+108,-139,
+79,146,
+-84,-14,
+-37,190,
+21,50,
+-56,-154,
+219,-163,
+84,255,
+-310,-48,
+87,203,
+-48,44,
+-28,168,
+-91,-195,
+-143,-12,
+-21,-222,
+5,126,
+-66,11,
+8,-162,
+-15,-91,
+96,10,
+44,23,
+-32,122,
+-37,30,
+-48,-116,
+-16,-4,
+176,52,
+1,-34,
+-37,144,
+153,63,
+-83,-34,
+-22,19,
+121,-69,
+-45,207,
+307,20,
+82,209,
+-120,-110,
+35,-291,
+-22,-95,
+210,-86,
+18,-52,
+42,-154,
+286,-14,
+189,42,
+0,4,
+95,-240,
+45,-91,
+-34,-77,
+-111,4,
+238,149,
+-82,112,
+-41,78,
+-157,-52,
+-92,-6,
+-193,-178,
+23,-132,
+-142,-42,
+-139,-61,
+-2,114,
+-29,8,
+-64,23,
+20,35,
+-22,49,
+77,45,
+21,158,
+-74,68,
+-19,-74,
+-253,-61,
+6,0,
+196,-161,
+-119,-111,
+52,-90,
+67,110,
+230,98,
+-158,68,
+158,-50,
+-150,39,
+-135,-33,
+-76,3,
+-6,-12,
+-30,20,
+97,76,
+-96,40,
+141,1,
+-95,-148,
+114,-147,
+235,77,
+22,177,
+-62,-85,
+-180,-19,
+171,-21,
+-73,-7,
+162,-5,
+78,-215,
+-116,290,
+-126,148,
+-151,73,
+145,-62,
+-23,50,
+-32,-167,
+60,-18,
+137,88,
+-113,-76,
+30,40,
+128,-53,
+-67,-28,
+-149,100,
+138,102,
+2,-42,
+24,-24,
+131,14,
+71,-21,
+8,148,
+37,-89,
+-133,-49,
+150,144,
+302,-119,
+140,-19,
+-73,80,
+22,11,
+58,37,
+-62,-60,
+-102,-351,
+49,100,
+-184,-100,
+74,212,
+183,-135,
+-61,-18,
+-130,281,
+99,133,
+13,-125,
+-22,153,
+-107,-122,
+70,-126,
+-251,-26,
+-94,33,
+19,-36,
+-91,-4,
+-130,-82,
+67,88,
+23,13,
+84,43,
+-99,-70,
+-45,91,
+92,-120,
+134,91,
+135,58,
+-4,-5,
+-175,-13,
+-68,31,
+7,293,
+-78,232,
+195,159,
+16,-33,
+70,233,
+174,197,
+-49,-51,
+99,-4,
+156,7,
+162,153,
+140,170,
+13,118,
+-255,13,
+-10,-5,
+102,-40,
+-74,-120,
+8,34,
+-226,0,
+102,-87,
+193,-56,
+47,-27,
+-5,-276,
+-13,65,
+-10,-56,
+22,163,
+-97,81,
+214,-109,
+163,8,
+150,21,
+-223,34,
+170,171,
+-108,206,
+135,4,
+-198,3,
+259,95,
+210,-199,
+175,-105,
+50,139,
+-61,-44,
+180,-71,
+-27,387,
+47,11,
+-48,177,
+238,5,
+-256,130,
+-122,-96,
+-34,-26,
+-279,129,
+-120,12,
+195,-140,
+-100,-190,
+-134,-44,
+-4,294,
+-1,50,
+-212,110,
+199,70,
+-107,82,
+-169,174,
+-144,136,
+-44,-97,
+-194,179,
+-15,47,
+29,-114,
+22,-100,
+-183,9,
+222,-66,
+54,-289,
+-23,-153,
+-21,76,
+-121,-36,
+88,24,
+195,-10,
+-189,-166,
+89,42,
+91,55,
+224,-89,
+-84,123,
+-232,-23,
+-20,110,
+-67,157,
+49,95,
+-130,45,
+80,-204,
+-70,-70,
+168,-102,
+217,-108,
+62,-126,
+6,51,
+-100,45,
+16,10,
+-70,103,
+-85,-125,
+150,1,
+150,-85,
+-155,135,
+119,50,
+39,-18,
+-243,47,
+-69,-16,
+-98,-96,
+-161,-102,
+-209,-115,
+-6,246,
+-58,-137,
+211,179,
+-32,177,
+40,52,
+210,1,
+-90,-142,
+107,-57,
+62,89,
+99,-48,
+-110,207,
+-27,-185,
+104,41,
+-89,163,
+149,189,
+-21,101,
+-94,135,
+118,214,
+-82,-161,
+211,-26,
+-240,261,
+-21,-42,
+185,-204,
+40,53,
+-13,-49,
+-175,203,
+-37,99,
+-9,-90,
+155,135,
+170,-112,
+88,165,
+-174,-18,
+112,2,
+84,-133,
+5,-227,
+-66,17,
+151,-38,
+-149,-80,
+154,-131,
+19,-136,
+-54,100,
+-375,72,
+172,74,
+-22,135,
+-121,-37,
+-50,-8,
+-88,-197,
+89,-109,
+-223,-1,
+-140,-50,
+-116,-215,
+93,41,
+-78,67,
+-105,-19,
+87,-186,
+-124,-215,
+-60,-32,
+-169,-96,
+-71,120,
+174,-11,
+-65,-111,
+168,37,
+-85,56,
+18,-20,
+286,-133,
+174,-156,
+29,-112,
+199,23,
+11,74,
+-105,-104,
+188,33,
+-135,-129,
+112,-154,
+-215,75,
+34,-62,
+38,3,
+-62,-121,
+38,-60,
+98,134,
+-14,16,
+-147,-57,
+-122,-7,
+-90,112,
+247,59,
+-80,191,
+-49,47,
+-254,35,
+65,7,
+-257,-9,
+61,-24,
+30,-13,
+22,70,
+63,-294,
+-17,146,
+-10,90,
+15,107,
+186,191,
+48,176,
+11,-42,
+32,-7,
+-80,-46,
+34,-6,
+128,48,
+-150,-37,
+249,-24,
+31,-17,
+-4,62,
+-148,-164,
+45,75,
+70,125,
+-151,-46,
+156,-112,
+-176,-112,
+59,117,
+-57,39,
+-37,-103,
+117,-152,
+132,-127,
+-123,-125,
+17,137,
+178,117,
+68,120,
+-218,34,
+179,296,
+-54,-44,
+103,57,
+71,24,
+96,70,
+167,30,
+117,26,
+-158,19,
+-15,-94,
+-78,110,
+-11,-56,
+-158,-111,
+47,286,
+-16,-75,
+-31,-168,
+-88,-22,
+76,361,
+-62,91,
+-40,-258,
+75,37,
+-124,-81,
+-98,6,
+-80,-28,
+82,110,
+277,125,
+-42,-71,
+-175,134,
+122,-46,
+-106,-70,
+-46,43,
+-122,84,
+-69,107,
+-13,-46,
+-49,73,
+-142,136,
+114,-108,
+-5,-31,
+37,53,
+-193,44,
+-342,-32,
+73,-111,
+-137,-118,
+93,46,
+70,155,
+1,-119,
+-205,-33,
+96,-114,
+-38,22,
+-38,134,
+-123,231,
+-123,15,
+-93,78,
+120,-96,
+130,-41,
+14,72,
+-247,-192,
+-51,85,
+-22,-35,
+-33,146,
+-99,63,
+64,-113,
+56,112,
+111,52,
+-82,106,
+104,-180,
+184,-65,
+5,-37,
+181,223,
+-138,-26,
+-22,303,
+-61,-83,
+2,6,
+42,-72,
+-123,-210,
+-82,23,
+77,37,
+-10,81,
+-163,102,
+-90,189,
+21,-105,
+-294,2,
+186,-115,
+83,144,
+-75,158,
+75,190,
+-32,-21,
+47,-19,
+26,-27,
+-25,-155,
+-172,-118,
+50,-171,
+170,-129,
+65,-69,
+-9,-16,
+31,28,
+-74,-174,
+-219,-41,
+87,61,
+-5,121,
+3,-104,
+-71,99,
+-102,171,
+-59,39,
+90,-33,
+77,-23,
+-20,33,
+11,149,
+15,120,
+-18,22,
+-122,-40,
+10,104,
+-105,-25,
+5,-171,
+9,-49,
+-49,59,
+0,15,
+104,-102,
+79,196,
+-24,8,
+87,163,
+107,211,
+173,-51,
+152,236,
+-6,-190,
+26,80,
+62,103,
+114,21,
+65,7,
+39,75,
+-57,-6,
+6,71,
+65,80,
+-3,-24,
+-29,108,
+-29,138,
+-105,-131,
+15,-37,
+-33,27,
+57,-36,
+100,-15,
+75,131,
+57,69,
+-75,-47,
+115,-235,
+210,-13,
+-84,88,
+-113,-34,
+-189,-82,
+-57,331,
+-22,94,
+18,38,
+142,134,
+62,-107,
+180,22,
+108,-127,
+-162,3,
+11,149,
+51,-74,
+56,-6,
+94,-11,
+-34,-134,
+-29,6,
+93,-29,
+2,3,
+127,-63,
+169,-41,
+-20,113,
+-71,96,
+-48,16,
+-41,83,
+-127,-174,
+170,21,
+-132,-21,
+48,26,
+116,-13,
+-18,-123,
+-32,22,
+53,12,
+44,41,
+81,-83,
+31,-28,
+-13,0,
+-40,21,
+-144,-157,
+-21,11,
+105,59,
+17,-90,
+121,-90,
+-5,-127,
+-79,39,
+-146,186,
+-18,43,
+11,14,
+8,-20,
+-18,26,
+77,76,
+-7,-92,
+90,-9,
+-35,-48,
+54,-93,
+38,-84,
+31,-6,
+-39,-48,
+55,134,
+-135,28,
+67,-6,
+97,47,
+-26,-140,
+103,76,
+-76,16,
+-97,11,
+-51,37,
+-44,65,
+-81,-65,
+28,130,
+-32,6,
+72,-9,
+7,13,
+-64,35,
+129,-72,
+119,-83,
+43,-112,
+-71,26,
+-167,54,
+-10,115,
+28,-4,
+-28,23,
+-55,-83,
+-85,-148,
+79,75,
+-62,38,
+-65,-26,
+15,153,
+72,15,
+-78,-99,
+-11,90,
+-72,73,
+10,-65,
+73,104,
+-128,-85,
+6,44,
+-63,-88,
+96,-48,
+69,-70,
+63,27,
+20,102,
+-90,105,
+-18,80,
+58,-23,
+-114,32,
+-12,2,
+-48,-9,
+-58,119,
+60,60,
+-2,-98,
+59,-3,
+-39,10,
+-165,138,
+130,149,
+-38,5,
+39,88,
+213,-20,
+80,-108,
+88,-65,
+-83,-191,
+47,12,
+18,123,
+-157,103,
+-145,-22,
+170,-28,
+58,135,
+-46,48,
+35,17,
+7,55,
+-103,-85,
+16,-14,
+26,-46,
+77,-40,
+64,26,
+-12,40,
+52,-9,
+79,-14,
+-32,1,
+28,71,
+66,74,
+40,71,
+-17,-16,
+92,38,
+-149,86,
+242,135,
+50,114,
+47,16,
+194,28,
+-34,34,
+29,83,
+-19,7,
+45,-42,
+-46,13,
+-110,-18,
+-21,-26,
+47,-74,
+22,0,
+-31,-81,
+112,38,
+105,18,
+23,-37,
+-18,65,
+-25,78,
+36,-62,
+120,-72,
+49,-18,
+-11,-63,
+-6,78,
+135,-20,
+-91,-84,
+-91,-107,
+-6,54,
+28,-8,
+-92,16,
+-74,165,
+-83,-4,
+-161,-105,
+-32,-17,
+-44,34,
+-49,-32,
+53,91,
+71,-65,
+148,0,
+49,116,
+17,-35,
+-142,-2,
+78,-137,
+30,1,
+91,-95,
+66,-45,
+42,67,
+-67,-42,
+-24,-92,
+-111,9,
+-53,41,
+128,-54,
+-45,-76,
+199,58,
+5,-70,
+49,155,
+-95,62,
+-42,20,
+-34,52,
+142,-32,
+-23,98,
+-5,16,
+11,-48,
+67,-49,
+73,36,
+-107,-93,
+62,-93,
+-87,-44,
+1,123,
+20,43,
+-79,-41,
+111,-81,
+102,-62,
+75,-65,
+8,57,
+-10,-45,
+-124,-26,
+34,-67,
+33,87,
+30,-4,
+-46,27,
+-79,-111,
+-30,-51,
+44,-189,
+35,-19,
+-58,133,
+-2,-90,
+30,14,
+53,-31,
+5,-65,
+4,5,
+104,-41,
+-8,-134,
+-47,81,
+27,-41,
+-13,-61,
+59,9,
+-4,91,
+78,93,
+32,-48,
+-90,-95,
+61,-2,
+-69,-20,
+-81,8,
+22,-18,
+187,-16,
+38,29,
+-185,-84,
+83,33,
+38,5,
+6,-57,
+-27,-66,
+1,57,
+24,-116,
+-45,-8,
+37,46,
+19,55,
+14,80,
+54,57,
+-40,-36,
+75,106,
+43,-41,
+110,-14,
+-1,-19,
+94,119,
+40,-14,
+-28,-40,
+-97,55,
+-57,55,
+-47,-18,
+10,5,
+44,-57,
+-6,47,
+-120,-72,
+21,47,
+72,-31,
+-27,25,
+2,-24,
+-31,-86,
+21,125,
+-25,-5,
+3,42,
+-5,-15,
+11,36,
+-1,-12,
+-54,-27,
+29,29,
+66,35,
+70,43,
+61,56,
+81,-44,
+-42,17,
+11,16,
+-88,9,
+51,40,
+-6,-39,
+-33,-5,
+22,-105,
+10,20,
+33,-131,
+44,49,
+83,38,
+2,23,
+11,-101,
+-14,-40,
+3,-1,
+32,24,
+17,22,
+-69,-8,
+-38,-8,
+65,2,
+-63,-5,
+-23,-109,
+-19,123,
+-67,-57,
+32,2,
+0,44,
+-3,8,
+-22,57,
+-69,80,
+-65,69,
+0,37,
+38,-4,
+-20,-30,
+-17,101,
+3,-35,
+-1,10,
+30,-33,
+-70,-99,
+-53,31,
+-72,-16,
+-26,-29,
+54,-11,
+-18,3,
+-48,-5,
+-44,-100,
+11,-21,
+-44,-41,
+-61,37,
+-36,-60,
+41,-51,
+-4,49,
+50,-29,
+46,-35,
+-16,-108,
+1,80,
+-65,-10,
+-48,12,
+28,-11,
+-34,33,
+-54,-39,
+-53,55,
+-10,16,
+29,-29,
+-14,-11,
+64,99,
+-62,25,
+41,6,
+30,-16,
+4,-40,
+75,-48,
+-50,70,
+-53,23,
+18,-24,
+44,4,
+4,-57,
+-24,97,
+18,-41,
+86,-16,
+14,32,
+49,-15,
+81,27,
+-32,0,
+4,2,
+-13,-27,
+65,5,
+-32,64,
+0,-32,
+-14,43,
+-50,13,
+51,20,
+63,28,
+-11,-4,
+56,48,
+-23,-42,
+32,-46,
+-54,-51,
+-33,-11,
+15,-53,
+-3,-34,
+0,-1,
+23,9,
+14,7,
+15,-5,
+-48,58,
+16,-7,
+-12,-46,
+22,12,
+16,-1,
+-5,-47,
+-12,56,
+-43,52,
+-17,9,
+-32,39,
+-27,-34,
+-25,5,
+57,-14,
+30,11,
+5,-40,
+43,-26,
+-22,-29,
+12,26,
+10,83,
+-11,-49,
+-12,10,
+-19,22,
+1,16,
+12,-8,
+-6,-23,
+-21,-3,
+-65,31,
+-31,12,
+23,9,
+-35,-44,
+-32,41,
+38,-17,
+0,-46,
+15,-7,
+11,-18,
+36,-73,
+29,28,
+13,-5,
+4,-13,
+49,-17,
+20,12,
+18,-46,
+-45,3,
+-39,22,
+16,-23,
+18,-42,
+-6,-20,
+-9,-31,
+5,-15,
+39,-9,
+-22,48,
+67,-35,
+19,22,
+14,15,
+-6,7,
+8,-8,
+-9,38,
+-28,55,
+-5,4,
+19,25,
+-2,-42,
+26,42,
+42,-22,
+3,4,
+0,-10,
+1,57,
+-7,13,
+0,3,
+25,-12,
+21,10,
+-41,-5,
+6,-8,
+-31,20,
+-11,23,
+3,5,
+-8,-3,
+-6,-41,
+4,21,
+-21,8,
+-2,-19,
+15,-10,
+6,-16,
+25,19,
+26,35,
+3,16,
+-16,1,
+13,20,
+17,-1,
+21,15,
+21,20,
+-5,-7,
+43,18,
+36,-10,
+4,-15,
+-9,-8,
+11,-9,
+4,14,
+-4,25,
+15,3,
+-19,-6,
+9,-1,
+2,-6,
+1,17,
+1,-1,
+10,-12,
+-19,-8,
+2,1,
+11,-14,
+-13,-13,
+-15,-11,
+9,9,
+-14,-18,
+8,10,
+11,8,
+14,-14,
+8,-4,
+-5,19,
+-9,0,
+30,-6,
+-26,-6,
+-9,1,
+-10,-11,
+-1,6,
+7,4,
+3,-9,
+-5,12,
+1,26,
+-1,2,
+4,0,
+-4,-4,
+-1,2,
+12,7,
+-7,6,
+-3,0,
+5,6,
+-1,1,
+6,-3,
+4,-5,
+-6,6,
+-3,2,
+8,-3,
+-6,2,
+0,8,
+2,-5,
+-10,1,
+5,3,
+2,-1,
+5,-12,
+6,0,
+5,4,
+-14,0,
+6,7,
+4,-3,
+-12,1,
+5,-6,
+6,3,
+-4,5,
+0,2,
+-1,1,
+-6,-2,
+5,4,
+3,-3,
+-5,1,
+3,1,
+2,-2,
+-5,-2,
+3,1,
+3,-2,
+-5,2,
+4,0,
+3,1,
+-6,0,
+2,0,
+3,0,
+-6,0,
+3,0,
+2,0,
+-6,0,
+3,-1,
+4,0,
+-5,-2,
+3,2,
+3,-1,
+-5,2,
+2,2,
+3,-1,
+-5,-1,
+3,3,
+5,-4,
+-6,2,
+-1,-1,
+0,-2,
+-4,-5,
+6,-3,
+5,6,
+-12,-1,
+4,3,
+6,-7,
+-14,0,
+5,-4,
+6,0,
+5,12,
+2,1,
+5,-3,
+-10,-1,
+2,5,
+0,-8,
+-6,-2,
+8,3,
+-3,-2,
+-6,-6,
+4,5,
+6,3,
+-1,-1,
+5,-6,
+-3,0,
+-7,-6,
+12,-7,
+-1,-2,
+-4,4,
+4,0,
+-1,-2,
+1,-26,
+-5,-12,
+3,9,
+7,-4,
+-1,-6,
+-10,11,
+-9,-1,
+-26,6,
+30,6,
+-9,0,
+-5,-19,
+8,4,
+14,14,
+11,-8,
+8,-10,
+-14,18,
+9,-9,
+-15,11,
+-13,13,
+11,14,
+2,-1,
+-19,8,
+10,12,
+1,1,
+1,-17,
+2,6,
+9,1,
+-19,6,
+15,-3,
+-4,-25,
+4,-14,
+11,9,
+-9,8,
+4,15,
+36,10,
+43,-18,
+-5,7,
+21,-20,
+21,-15,
+17,1,
+13,-20,
+-16,-1,
+3,-16,
+26,-35,
+25,-19,
+6,16,
+15,10,
+-2,19,
+-21,-8,
+4,-21,
+-6,41,
+-8,3,
+3,-5,
+-11,-23,
+-31,-20,
+6,8,
+-41,5,
+21,-10,
+25,12,
+0,-3,
+-7,-13,
+1,-57,
+0,10,
+3,-4,
+42,22,
+26,-42,
+-2,42,
+19,-25,
+-5,-4,
+-28,-55,
+-9,-38,
+8,8,
+-6,-7,
+14,-15,
+19,-22,
+67,35,
+-22,-48,
+39,9,
+5,15,
+-9,31,
+-6,20,
+18,42,
+16,23,
+-39,-22,
+-45,-3,
+18,46,
+20,-12,
+49,17,
+4,13,
+13,5,
+29,-28,
+36,73,
+11,18,
+15,7,
+0,46,
+38,17,
+-32,-41,
+-35,44,
+23,-9,
+-31,-12,
+-65,-31,
+-21,3,
+-6,23,
+12,8,
+1,-16,
+-19,-22,
+-12,-10,
+-11,49,
+10,-83,
+12,-26,
+-22,29,
+43,26,
+5,40,
+30,-11,
+57,14,
+-25,-5,
+-27,34,
+-32,-39,
+-17,-9,
+-43,-52,
+-12,-56,
+-5,47,
+16,1,
+22,-12,
+-12,46,
+16,7,
+-48,-58,
+15,5,
+14,-7,
+23,-9,
+0,1,
+-3,34,
+15,53,
+-33,11,
+-54,51,
+32,46,
+-23,42,
+56,-48,
+-11,4,
+63,-28,
+51,-20,
+-50,-13,
+-14,-43,
+0,32,
+-32,-64,
+65,-5,
+-13,27,
+4,-2,
+-32,0,
+81,-27,
+49,15,
+14,-32,
+86,16,
+18,41,
+-24,-97,
+4,57,
+44,-4,
+18,24,
+-53,-23,
+-50,-70,
+75,48,
+4,40,
+30,16,
+41,-6,
+-62,-25,
+64,-99,
+-14,11,
+29,29,
+-10,-16,
+-53,-55,
+-54,39,
+-34,-33,
+28,11,
+-48,-12,
+-65,10,
+1,-80,
+-16,108,
+46,35,
+50,29,
+-4,-49,
+41,51,
+-36,60,
+-61,-37,
+-44,41,
+11,21,
+-44,100,
+-48,5,
+-18,-3,
+54,11,
+-26,29,
+-72,16,
+-53,-31,
+-70,99,
+30,33,
+-1,-10,
+3,35,
+-17,-101,
+-20,30,
+38,4,
+0,-37,
+-65,-69,
+-69,-80,
+-22,-57,
+-3,-8,
+0,-44,
+32,-2,
+-67,57,
+-19,-123,
+-23,109,
+-63,5,
+65,-2,
+-38,8,
+-69,8,
+17,-22,
+32,-24,
+3,1,
+-14,40,
+11,101,
+2,-23,
+83,-38,
+44,-49,
+33,131,
+10,-20,
+22,105,
+-33,5,
+-6,39,
+51,-40,
+-88,-9,
+11,-16,
+-42,-17,
+81,44,
+61,-56,
+70,-43,
+66,-35,
+29,-29,
+-54,27,
+-1,12,
+11,-36,
+-5,15,
+3,-42,
+-25,5,
+21,-125,
+-31,86,
+2,24,
+-27,-25,
+72,31,
+21,-47,
+-120,72,
+-6,-47,
+44,57,
+10,-5,
+-47,18,
+-57,-55,
+-97,-55,
+-28,40,
+40,14,
+94,-119,
+-1,19,
+110,14,
+43,41,
+75,-106,
+-40,36,
+54,-57,
+14,-80,
+19,-55,
+37,-46,
+-45,8,
+24,116,
+1,-57,
+-27,66,
+6,57,
+38,-5,
+83,-33,
+-185,84,
+38,-29,
+187,16,
+22,18,
+-81,-8,
+-69,20,
+61,2,
+-90,95,
+32,48,
+78,-93,
+-4,-91,
+59,-9,
+-13,61,
+27,41,
+-47,-81,
+-8,134,
+104,41,
+4,-5,
+5,65,
+53,31,
+30,-14,
+-2,90,
+-58,-133,
+35,19,
+44,189,
+-30,51,
+-79,111,
+-46,-27,
+30,4,
+33,-87,
+34,67,
+-124,26,
+-10,45,
+8,-57,
+75,65,
+102,62,
+111,81,
+-79,41,
+20,-43,
+1,-123,
+-87,44,
+62,93,
+-107,93,
+73,-36,
+67,49,
+11,48,
+-5,-16,
+-23,-98,
+142,32,
+-34,-52,
+-42,-20,
+-95,-62,
+49,-155,
+5,70,
+199,-58,
+-45,76,
+128,54,
+-53,-41,
+-111,-9,
+-24,92,
+-67,42,
+42,-67,
+66,45,
+91,95,
+30,-1,
+78,137,
+-142,2,
+17,35,
+49,-116,
+148,0,
+71,65,
+53,-91,
+-49,32,
+-44,-34,
+-32,17,
+-161,105,
+-83,4,
+-74,-165,
+-92,-16,
+28,8,
+-6,-54,
+-91,107,
+-91,84,
+135,20,
+-6,-78,
+-11,63,
+49,18,
+120,72,
+36,62,
+-25,-78,
+-18,-65,
+23,37,
+105,-18,
+112,-38,
+-31,81,
+22,0,
+47,74,
+-21,26,
+-110,18,
+-46,-13,
+45,42,
+-19,-7,
+29,-83,
+-34,-34,
+194,-28,
+47,-16,
+50,-114,
+242,-135,
+-149,-86,
+92,-38,
+-17,16,
+40,-71,
+66,-74,
+28,-71,
+-32,-1,
+79,14,
+52,9,
+-12,-40,
+64,-26,
+77,40,
+26,46,
+16,14,
+-103,85,
+7,-55,
+35,-17,
+-46,-48,
+58,-135,
+170,28,
+-145,22,
+-157,-103,
+18,-123,
+47,-12,
+-83,191,
+88,65,
+80,108,
+213,20,
+39,-88,
+-38,-5,
+130,-149,
+-165,-138,
+-39,-10,
+59,3,
+-2,98,
+60,-60,
+-58,-119,
+-48,9,
+-12,-2,
+-114,-32,
+58,23,
+-18,-80,
+-90,-105,
+20,-102,
+63,-27,
+69,70,
+96,48,
+-63,88,
+6,-44,
+-128,85,
+73,-104,
+10,65,
+-72,-73,
+-11,-90,
+-78,99,
+72,-15,
+15,-153,
+-65,26,
+-62,-38,
+79,-75,
+-85,148,
+-55,83,
+-28,-23,
+28,4,
+-10,-115,
+-167,-54,
+-71,-26,
+43,112,
+119,83,
+129,72,
+-64,-35,
+7,-13,
+72,9,
+-32,-6,
+28,-130,
+-81,65,
+-44,-65,
+-51,-37,
+-97,-11,
+-76,-16,
+103,-76,
+-26,140,
+97,-47,
+67,6,
+-135,-28,
+55,-134,
+-39,48,
+31,6,
+38,84,
+54,93,
+-35,48,
+90,9,
+-7,92,
+77,-76,
+-18,-26,
+8,20,
+11,-14,
+-18,-43,
+-146,-186,
+-79,-39,
+-5,127,
+121,90,
+17,90,
+105,-59,
+-21,-11,
+-144,157,
+-40,-21,
+-13,0,
+31,28,
+81,83,
+44,-41,
+53,-12,
+-32,-22,
+-18,123,
+116,13,
+48,-26,
+-132,21,
+170,-21,
+-127,174,
+-41,-83,
+-48,-16,
+-71,-96,
+-20,-113,
+169,41,
+127,63,
+2,-3,
+93,29,
+-29,-6,
+-34,134,
+94,11,
+56,6,
+51,74,
+11,-149,
+-162,-3,
+108,127,
+180,-22,
+62,107,
+142,-134,
+18,-38,
+-22,-94,
+-57,-331,
+-189,82,
+-113,34,
+-84,-88,
+210,13,
+115,235,
+-75,47,
+57,-69,
+75,-131,
+100,15,
+57,36,
+-33,-27,
+15,37,
+-105,131,
+-29,-138,
+-29,-108,
+-3,24,
+65,-80,
+6,-71,
+-57,6,
+39,-75,
+65,-7,
+114,-21,
+62,-103,
+26,-80,
+-6,190,
+152,-236,
+173,51,
+107,-211,
+87,-163,
+-24,-8,
+79,-196,
+104,102,
+0,-15,
+-49,-59,
+9,49,
+5,171,
+-105,25,
+10,-104,
+-122,40,
+-18,-22,
+15,-120,
+11,-149,
+-20,-33,
+77,23,
+90,33,
+-59,-39,
+-102,-171,
+-71,-99,
+3,104,
+-5,-121,
+87,-61,
+-219,41,
+-74,174,
+31,-28,
+-9,16,
+65,69,
+170,129,
+50,171,
+-172,118,
+-25,155,
+26,27,
+47,19,
+-32,21,
+75,-190,
+-75,-158,
+83,-144,
+186,115,
+-294,-2,
+21,105,
+-90,-189,
+-163,-102,
+-10,-81,
+77,-37,
+-82,-23,
+-123,210,
+42,72,
+2,-6,
+-61,83,
+-22,-303,
+-138,26,
+181,-223,
+5,37,
+184,65,
+104,180,
+-82,-106,
+111,-52,
+56,-112,
+64,113,
+-99,-63,
+-33,-146,
+-22,35,
+-51,-85,
+-247,192,
+14,-72,
+130,41,
+120,96,
+-93,-78,
+-123,-15,
+-123,-231,
+-38,-134,
+-38,-22,
+96,114,
+-205,33,
+1,119,
+70,-155,
+93,-46,
+-137,118,
+73,111,
+-342,32,
+-193,-44,
+37,-53,
+-5,31,
+114,108,
+-142,-136,
+-49,-73,
+-13,46,
+-69,-107,
+-122,-84,
+-46,-43,
+-106,70,
+122,46,
+-175,-134,
+-42,71,
+277,-125,
+82,-110,
+-80,28,
+-98,-6,
+-124,81,
+75,-37,
+-40,258,
+-62,-91,
+76,-361,
+-88,22,
+-31,168,
+-16,75,
+47,-286,
+-158,111,
+-11,56,
+-78,-110,
+-15,94,
+-158,-19,
+117,-26,
+167,-30,
+96,-70,
+71,-24,
+103,-57,
+-54,44,
+179,-296,
+-218,-34,
+68,-120,
+178,-117,
+17,-137,
+-123,125,
+132,127,
+117,152,
+-37,103,
+-57,-39,
+59,-117,
+-176,112,
+156,112,
+-151,46,
+70,-125,
+45,-75,
+-148,164,
+-4,-62,
+31,17,
+249,24,
+-150,37,
+128,-48,
+34,6,
+-80,46,
+32,7,
+11,42,
+48,-176,
+186,-191,
+15,-107,
+-10,-90,
+-17,-146,
+63,294,
+22,-70,
+30,13,
+61,24,
+-257,9,
+65,-7,
+-254,-35,
+-49,-47,
+-80,-191,
+247,-59,
+-90,-112,
+-122,7,
+-147,57,
+-14,-16,
+98,-134,
+38,60,
+-62,121,
+38,-3,
+34,62,
+-215,-75,
+112,154,
+-135,129,
+188,-33,
+-105,104,
+11,-74,
+199,-23,
+29,112,
+174,156,
+286,133,
+18,20,
+-85,-56,
+168,-37,
+-65,111,
+174,11,
+-71,-120,
+-169,96,
+-60,32,
+-124,215,
+87,186,
+-105,19,
+-78,-67,
+93,-41,
+-116,215,
+-140,50,
+-223,1,
+89,109,
+-88,197,
+-50,8,
+-121,37,
+-22,-135,
+172,-74,
+-375,-72,
+-54,-100,
+19,136,
+154,131,
+-149,80,
+151,38,
+-66,-17,
+5,227,
+84,133,
+112,-2,
+-174,18,
+88,-165,
+170,112,
+155,-135,
+-9,90,
+-37,-99,
+-175,-203,
+-13,49,
+40,-53,
+185,204,
+-21,42,
+-240,-261,
+211,26,
+-82,161,
+118,-214,
+-94,-135,
+-21,-101,
+149,-189,
+-89,-163,
+104,-41,
+-27,185,
+-110,-207,
+99,48,
+62,-89,
+107,57,
+-90,142,
+210,-1,
+40,-52,
+-32,-177,
+211,-179,
+-58,137,
+-6,-246,
+-209,115,
+-161,102,
+-98,96,
+-69,16,
+-243,-47,
+39,18,
+119,-50,
+-155,-135,
+150,85,
+150,-1,
+-85,125,
+-70,-103,
+16,-10,
+-100,-45,
+6,-51,
+62,126,
+217,108,
+168,102,
+-70,70,
+80,204,
+-130,-45,
+49,-95,
+-67,-157,
+-20,-110,
+-232,23,
+-84,-123,
+224,89,
+91,-55,
+89,-42,
+-189,166,
+195,10,
+88,-24,
+-121,36,
+-21,-76,
+-23,153,
+54,289,
+222,66,
+-183,-9,
+22,100,
+29,114,
+-15,-47,
+-194,-179,
+-44,97,
+-144,-136,
+-169,-174,
+-107,-82,
+199,-70,
+-212,-110,
+-1,-50,
+-4,-294,
+-134,44,
+-100,190,
+195,140,
+-120,-12,
+-279,-129,
+-34,26,
+-122,96,
+-256,-130,
+238,-5,
+-48,-177,
+47,-11,
+-27,-387,
+180,71,
+-61,44,
+50,-139,
+175,105,
+210,199,
+259,-95,
+-198,-3,
+135,-4,
+-108,-206,
+170,-171,
+-223,-34,
+150,-21,
+163,-8,
+214,109,
+-97,-81,
+22,-163,
+-10,56,
+-13,-65,
+-5,276,
+47,27,
+193,56,
+102,87,
+-226,0,
+8,-34,
+-74,120,
+102,40,
+-10,5,
+-255,-13,
+13,-118,
+140,-170,
+162,-153,
+156,-7,
+99,4,
+-49,51,
+174,-197,
+70,-233,
+16,33,
+195,-159,
+-78,-232,
+7,-293,
+-68,-31,
+-175,13,
+-4,5,
+135,-58,
+134,-91,
+92,120,
+-45,-91,
+-99,70,
+84,-43,
+23,-13,
+67,-88,
+-130,82,
+-91,4,
+19,36,
+-94,-33,
+-251,26,
+70,126,
+-107,122,
+-22,-153,
+13,125,
+99,-133,
+-130,-281,
+-61,18,
+183,135,
+74,-212,
+-184,100,
+49,-100,
+-102,351,
+-62,60,
+58,-37,
+22,-11,
+-73,-80,
+140,19,
+302,119,
+150,-144,
+-133,49,
+37,89,
+8,-148,
+71,21,
+131,-14,
+24,24,
+2,42,
+138,-102,
+-149,-100,
+-67,28,
+128,53,
+30,-40,
+-113,76,
+137,-88,
+60,18,
+-32,167,
+-23,-50,
+145,62,
+-151,-73,
+-126,-148,
+-116,-290,
+78,215,
+162,5,
+-73,7,
+171,21,
+-180,19,
+-62,85,
+22,-177,
+235,-77,
+114,147,
+-95,148,
+141,-1,
+-96,-40,
+97,-76,
+-30,-20,
+-6,12,
+-76,-3,
+-135,33,
+-150,-39,
+158,50,
+-158,-68,
+230,-98,
+67,-110,
+52,90,
+-119,111,
+196,161,
+0,0,
+81,22,
+-33,207,
+179,-47,
+-109,18,
+45,-18,
+0,158,
+-32,50,
+-194,65,
+-93,86,
+-343,-132,
+126,-125,
+10,-94,
+93,76,
+-122,56,
+-215,-138,
+28,186,
+100,51,
+72,-7,
+101,-193,
+13,-183,
+35,89,
+-13,25,
+238,425,
+-16,46,
+-128,-216,
+207,35,
+27,-94,
+-92,-141,
+73,-44,
+75,93,
+223,74,
+-15,-30,
+-98,5,
+-113,-63,
+182,-80,
+-34,-19,
+-126,-76,
+19,-118,
+-107,-17,
+70,-67,
+59,55,
+7,74,
+-43,-83,
+22,10,
+-105,273,
+38,54,
+-15,-142,
+-298,116,
+262,-278,
+-86,106,
+17,-17,
+44,10,
+-67,184,
+-17,-194,
+-92,15,
+153,125,
+-5,-36,
+66,79,
+-74,177,
+-189,-181,
+96,47,
+-50,-62,
+-144,74,
+-72,-45,
+55,9,
+-45,110,
+-160,162,
+129,54,
+107,-127,
+290,86,
+-125,131,
+-20,31,
+92,166,
+-84,9,
+-165,-7,
+-45,-46,
+7,-26,
+-270,-304,
+-32,96,
+136,81,
+-178,-146,
+249,-47,
+-57,-8,
+-7,258,
+11,-60,
+94,29,
+108,-182,
+32,-190,
+-93,232,
+-70,-67,
+-233,-162,
+-176,-96,
+-242,30,
+-45,-28,
+-161,-119,
+130,72,
+70,71,
+144,-287,
+-11,36,
+-118,-201,
+-82,-80,
+-201,-8,
+206,-101,
+126,-241,
+1,5,
+-72,66,
+-172,55,
+-285,207,
+198,62,
+123,-1,
+143,200,
+14,-117,
+41,28,
+263,176,
+-16,-125,
+-235,-130,
+-110,-186,
+157,363,
+-197,42,
+244,-24,
+-12,42,
+-122,138,
+-176,210,
+0,133,
+87,-105,
+-205,-172,
+-11,30,
+92,74,
+120,-129,
+97,6,
+37,145,
+-77,-92,
+-84,-19,
+58,-78,
+-4,-149,
+-73,-28,
+64,-81,
+53,-13,
+-5,-153,
+200,-28,
+-184,-92,
+-78,-68,
+85,284,
+16,99,
+-33,82,
+4,233,
+19,173,
+-146,-204,
+33,208,
+116,-42,
+59,52,
+-164,100,
+122,4,
+-12,69,
+134,-106,
+12,-157,
+71,19,
+37,-198,
+26,-25,
+23,173,
+121,-34,
+-73,-125,
+25,48,
+190,11,
+102,-52,
+-37,-4,
+-15,-48,
+147,39,
+-160,91,
+0,193,
+-85,-172,
+229,109,
+236,-34,
+86,194,
+-122,95,
+47,27,
+-29,49,
+-28,-115,
+-44,-22,
+-82,-94,
+25,126,
+111,-152,
+-72,-69,
+-16,-190,
+188,154,
+117,173,
+-194,-312,
+-99,-161,
+31,82,
+-186,63,
+-144,12,
+-80,25,
+121,11,
+-46,58,
+111,99,
+59,-45,
+62,-215,
+-273,-72,
+321,-194,
+34,-136,
+257,-61,
+54,71,
+86,87,
+-38,135,
+-88,86,
+-48,39,
+197,-29,
+143,-111,
+-24,242,
+-53,-108,
+-78,-199,
+-164,151,
+200,-88,
+19,-40,
+32,-192,
+-107,-56,
+-59,-114,
+-21,-2,
+49,-28,
+-234,95,
+-18,-185,
+21,-52,
+89,-138,
+200,-57,
+29,46,
+52,164,
+46,-95,
+126,-69,
+50,67,
+93,-173,
+36,-70,
+-25,-15,
+109,-125,
+87,-94,
+48,-106,
+-12,-26,
+3,-78,
+35,38,
+115,-152,
+-35,109,
+-188,191,
+55,-88,
+258,53,
+42,-62,
+-213,-56,
+89,39,
+-71,-35,
+-31,134,
+23,60,
+79,-45,
+-34,-124,
+19,-55,
+-136,101,
+-111,-6,
+22,152,
+-142,45,
+-158,123,
+65,-60,
+-165,105,
+-159,53,
+27,-27,
+185,-115,
+-141,241,
+-266,-95,
+-101,83,
+-185,174,
+-20,61,
+79,115,
+-1,-37,
+-135,-16,
+4,120,
+147,-35,
+-7,-82,
+21,65,
+-40,-26,
+-86,-283,
+121,-23,
+-203,-58,
+182,117,
+159,-154,
+-179,13,
+38,122,
+-152,24,
+-174,0,
+-168,-112,
+-273,86,
+-10,12,
+190,8,
+143,-177,
+-45,-68,
+163,-32,
+287,-260,
+-72,-83,
+-45,316,
+95,37,
+-74,186,
+-45,-193,
+68,-155,
+122,-64,
+11,130,
+-77,73,
+-64,-63,
+79,173,
+37,-64,
+214,4,
+-80,178,
+-36,-32,
+-144,-91,
+-74,-137,
+-31,-54,
+50,-67,
+-24,95,
+6,-152,
+207,186,
+-42,41,
+102,-58,
+-49,-84,
+0,-219,
+190,33,
+-140,38,
+-316,87,
+-115,41,
+8,29,
+1,-142,
+-64,133,
+89,-102,
+45,85,
+-123,-144,
+-45,-166,
+-56,146,
+215,42,
+-68,123,
+63,9,
+-136,-44,
+177,-145,
+157,38,
+33,-11,
+54,102,
+128,72,
+-121,48,
+173,216,
+-109,54,
+11,12,
+54,-72,
+-53,-9,
+115,-60,
+170,94,
+59,-15,
+264,-9,
+-41,-33,
+193,35,
+-18,70,
+-150,-14,
+-6,-116,
+148,233,
+236,-87,
+-132,49,
+92,-187,
+24,63,
+-80,30,
+39,163,
+-95,-103,
+75,-26,
+90,-174,
+21,-4,
+152,84,
+-192,-68,
+52,21,
+-89,-10,
+-166,-86,
+7,-24,
+17,159,
+-92,145,
+69,11,
+-108,-118,
+64,-47,
+-111,144,
+97,47,
+80,51,
+-238,130,
+-128,-57,
+99,1,
+134,-99,
+-98,171,
+27,285,
+103,73,
+85,132,
+83,-61,
+36,126,
+-177,-9,
+23,-55,
+135,109,
+-129,79,
+30,-54,
+-18,91,
+70,-65,
+32,54,
+-99,-89,
+8,-28,
+-34,16,
+18,14,
+-102,77,
+56,130,
+-89,-98,
+164,9,
+-27,158,
+0,101,
+-49,104,
+2,118,
+-103,165,
+6,57,
+136,38,
+-89,57,
+52,245,
+25,-34,
+83,67,
+57,175,
+-28,-137,
+8,157,
+-22,131,
+129,282,
+-69,61,
+41,79,
+-21,-123,
+-6,-94,
+11,-98,
+131,-51,
+-97,-161,
+-73,76,
+0,-1,
+-163,-33,
+-102,37,
+136,111,
+-117,-66,
+43,226,
+-4,-138,
+75,7,
+28,-10,
+-151,-25,
+-50,107,
+68,44,
+119,126,
+65,-104,
+53,-79,
+-54,-24,
+31,1,
+152,-1,
+179,85,
+23,-180,
+-120,-130,
+23,15,
+-202,6,
+20,-100,
+47,140,
+7,-83,
+34,30,
+116,-93,
+35,-55,
+120,18,
+72,-69,
+21,163,
+-224,136,
+74,10,
+24,-105,
+21,102,
+64,80,
+63,-98,
+-28,-8,
+52,89,
+-150,-17,
+-103,-24,
+-170,168,
+-111,20,
+-78,88,
+-34,-52,
+14,-64,
+17,91,
+-81,-119,
+153,18,
+200,81,
+84,-116,
+121,-149,
+8,-89,
+-24,-16,
+-96,84,
+-15,-85,
+61,-36,
+-171,27,
+51,-58,
+41,-22,
+63,-8,
+-157,70,
+-8,178,
+-12,-3,
+90,149,
+-66,18,
+-137,225,
+144,70,
+-194,23,
+39,45,
+-95,57,
+-48,-4,
+-155,-57,
+127,67,
+-99,-118,
+-129,57,
+61,-42,
+59,10,
+13,-146,
+-24,179,
+-58,184,
+135,101,
+245,37,
+45,-99,
+6,3,
+-128,147,
+89,-33,
+-85,-118,
+35,8,
+-66,-49,
+24,15,
+-28,-170,
+47,24,
+55,-134,
+9,64,
+112,-136,
+107,62,
+189,-99,
+-55,-24,
+163,156,
+70,-142,
+94,-77,
+14,11,
+-68,126,
+2,-102,
+-18,11,
+-29,-69,
+-23,25,
+-28,-50,
+90,-97,
+-119,81,
+-192,51,
+6,119,
+-3,164,
+-19,112,
+43,2,
+-102,-80,
+49,76,
+-12,-29,
+-69,-122,
+186,-58,
+45,-115,
+-4,-213,
+14,27,
+61,-76,
+-27,16,
+-50,76,
+57,32,
+61,-10,
+-38,109,
+-45,-58,
+164,-72,
+80,-84,
+28,150,
+-81,25,
+7,85,
+-38,81,
+-119,13,
+130,21,
+-61,70,
+16,-81,
+-14,-23,
+-3,-125,
+-116,-3,
+-88,-18,
+-24,139,
+84,153,
+-42,-10,
+-17,-5,
+-57,5,
+-58,77,
+19,91,
+165,53,
+-48,-60,
+58,-64,
+16,-48,
+-130,88,
+103,63,
+-46,-127,
+120,102,
+-1,-31,
+48,-50,
+-22,-68,
+20,-71,
+-6,-45,
+-29,-11,
+-133,3,
+-5,84,
+-116,-39,
+-58,5,
+11,-19,
+127,45,
+93,-22,
+253,84,
+-56,-53,
+57,1,
+27,39,
+63,50,
+54,62,
+47,-49,
+168,50,
+-41,1,
+45,41,
+145,-41,
+82,-71,
+32,34,
+141,-53,
+70,43,
+-15,14,
+9,87,
+2,-117,
+103,39,
+24,-35,
+-36,-9,
+4,-28,
+-15,3,
+-83,-53,
+105,63,
+-60,73,
+18,-135,
+67,56,
+29,32,
+-5,-23,
+10,-32,
+9,-44,
+81,69,
+-46,81,
+160,56,
+138,-9,
+95,-8,
+19,32,
+-118,102,
+72,-109,
+23,-127,
+35,17,
+77,73,
+35,-15,
+7,-95,
+-76,109,
+-23,-108,
+127,9,
+89,35,
+-24,-66,
+-41,-59,
+2,-27,
+-29,-82,
+21,46,
+2,-68,
+-1,121,
+-46,35,
+-127,-17,
+59,57,
+-1,-89,
+94,7,
+-34,43,
+-12,-45,
+-119,51,
+129,28,
+-31,162,
+47,-32,
+-50,-96,
+24,30,
+57,26,
+-30,118,
+-40,-12,
+61,174,
+-19,49,
+18,17,
+-31,74,
+-26,-43,
+-25,-21,
+92,76,
+49,-94,
+86,95,
+29,-5,
+17,25,
+68,57,
+-51,82,
+-36,42,
+-46,42,
+26,-111,
+20,102,
+109,6,
+-16,52,
+-28,-81,
+-68,-35,
+-49,14,
+98,38,
+-88,-6,
+40,-41,
+-36,46,
+23,-87,
+57,-177,
+41,-32,
+-52,41,
+-16,43,
+-129,-15,
+-10,-24,
+86,98,
+-32,-5,
+64,65,
+-57,-8,
+15,-21,
+-38,33,
+-59,-64,
+-87,-62,
+47,-48,
+38,32,
+6,-1,
+23,128,
+-3,-26,
+53,-25,
+-11,-7,
+65,-24,
+5,55,
+-140,75,
+-5,-74,
+-25,-5,
+146,49,
+47,-49,
+11,-5,
+-109,119,
+-70,85,
+11,-23,
+-75,64,
+-62,108,
+96,-47,
+-32,-69,
+-15,-125,
+-14,-83,
+27,-2,
+33,-96,
+15,22,
+-30,37,
+-47,24,
+107,40,
+-124,-89,
+-77,55,
+0,-31,
+-7,-42,
+-23,66,
+14,21,
+2,4,
+22,-35,
+7,-28,
+-17,51,
+95,-19,
+53,-62,
+-13,-75,
+63,-78,
+-14,-78,
+42,62,
+-58,61,
+36,-131,
+34,-16,
+7,1,
+-10,-66,
+97,-45,
+-9,-2,
+45,-46,
+20,-43,
+-16,-12,
+-56,8,
+-13,9,
+32,37,
+20,-48,
+44,16,
+-42,-15,
+-1,-35,
+12,-21,
+-60,120,
+49,21,
+35,-85,
+17,-1,
+11,39,
+-59,9,
+16,6,
+-26,0,
+-32,-1,
+-56,60,
+-16,16,
+-23,1,
+-44,19,
+-12,20,
+-31,32,
+-1,34,
+-12,32,
+8,-9,
+63,51,
+-42,31,
+-43,51,
+-38,23,
+-13,-57,
+-45,-16,
+63,-38,
+-39,20,
+-37,-25,
+-15,-33,
+-38,-17,
+-90,67,
+73,-10,
+-32,11,
+-43,-57,
+7,-23,
+0,14,
+38,36,
+-47,51,
+10,16,
+52,-57,
+23,-1,
+34,26,
+26,38,
+-16,16,
+-64,126,
+-26,-38,
+-59,36,
+-42,-56,
+-23,47,
+29,25,
+20,7,
+4,-7,
+7,31,
+0,-87,
+25,-39,
+25,14,
+-66,-40,
+-57,-54,
+14,37,
+58,57,
+-27,-19,
+-87,1,
+38,17,
+-31,5,
+11,-8,
+-24,-24,
+-15,-15,
+-15,20,
+38,-21,
+19,-9,
+17,14,
+67,71,
+-59,40,
+23,22,
+15,-61,
+38,15,
+-1,-1,
+8,14,
+-23,-16,
+-7,29,
+19,47,
+-13,1,
+-20,-2,
+6,6,
+16,28,
+5,-4,
+-24,10,
+-49,16,
+9,19,
+-33,-3,
+-23,46,
+58,-20,
+-7,0,
+-12,-10,
+62,41,
+-36,-1,
+13,-25,
+19,-7,
+49,14,
+21,-21,
+39,14,
+30,19,
+17,-35,
+-33,-5,
+-18,0,
+-4,35,
+-37,-4,
+12,6,
+-25,3,
+-25,-14,
+-9,10,
+-23,-3,
+5,-32,
+11,13,
+7,26,
+-18,11,
+0,30,
+17,-12,
+-35,-27,
+-27,-4,
+33,25,
+36,-48,
+25,-36,
+13,44,
+-15,-22,
+29,28,
+29,-12,
+18,-9,
+-79,-38,
+19,-2,
+19,30,
+-15,32,
+18,-11,
+-1,12,
+16,59,
+17,-13,
+16,-14,
+23,-38,
+10,-19,
+-11,7,
+-25,29,
+-24,6,
+1,3,
+-19,-41,
+-10,-6,
+-32,3,
+0,6,
+-22,32,
+20,-5,
+-3,1,
+-28,-30,
+19,-16,
+-8,-39,
+-47,-21,
+22,-21,
+7,-2,
+-14,-3,
+-22,13,
+-10,20,
+15,-3,
+4,-12,
+31,25,
+-31,-15,
+-9,21,
+20,-6,
+-13,-6,
+-11,-14,
+-20,-19,
+2,5,
+-5,-19,
+10,-12,
+4,11,
+17,-4,
+10,-3,
+1,9,
+0,40,
+-5,-11,
+18,-5,
+17,-3,
+-5,0,
+-2,-4,
+3,-15,
+7,-2,
+-20,-1,
+11,-3,
+-2,-16,
+7,3,
+11,15,
+-2,-7,
+-2,9,
+5,-11,
+-13,-1,
+17,3,
+6,-4,
+-20,9,
+14,-7,
+-17,8,
+-2,-21,
+9,4,
+11,8,
+4,-16,
+-4,5,
+2,5,
+4,-4,
+0,4,
+-6,6,
+-3,-16,
+-5,1,
+-3,5,
+-2,-6,
+-4,7,
+-1,-8,
+1,-4,
+1,11,
+7,11,
+-2,-9,
+-9,3,
+2,6,
+-5,-5,
+-5,6,
+4,0,
+8,-2,
+10,11,
+-5,-4,
+-1,-3,
+-5,8,
+-4,2,
+6,-2,
+0,5,
+0,-4,
+-1,-9,
+2,6,
+-1,4,
+-4,-8,
+-1,5,
+0,-5,
+1,-6,
+1,5,
+1,0,
+1,-5,
+-1,6,
+1,0,
+0,-4,
+0,5,
+0,0,
+0,-5,
+0,4,
+1,0,
+-1,-6,
+1,5,
+1,0,
+1,-5,
+1,6,
+0,5,
+-1,-5,
+-4,8,
+-1,-4,
+2,-6,
+-1,9,
+0,4,
+0,-5,
+6,2,
+-4,-2,
+-5,-8,
+-1,3,
+-5,4,
+10,-11,
+8,2,
+4,0,
+-5,-6,
+-5,5,
+2,-6,
+-9,-3,
+-2,9,
+7,-11,
+1,-11,
+1,4,
+-1,8,
+-4,-7,
+-2,6,
+-3,-5,
+-5,-1,
+-3,16,
+-6,-6,
+0,-4,
+4,4,
+2,-5,
+-4,-5,
+4,16,
+11,-8,
+9,-4,
+-2,21,
+-17,-8,
+14,7,
+-20,-9,
+6,4,
+17,-3,
+-13,1,
+5,11,
+-2,-9,
+-2,7,
+11,-15,
+7,-3,
+-2,16,
+11,3,
+-20,1,
+7,2,
+3,15,
+-2,4,
+-5,0,
+17,3,
+18,5,
+-5,11,
+0,-40,
+1,-9,
+10,3,
+17,4,
+4,-11,
+10,12,
+-5,19,
+2,-5,
+-20,19,
+-11,14,
+-13,6,
+20,6,
+-9,-21,
+-31,15,
+31,-25,
+4,12,
+15,3,
+-10,-20,
+-22,-13,
+-14,3,
+7,2,
+22,21,
+-47,21,
+-8,39,
+19,16,
+-28,30,
+-3,-1,
+20,5,
+-22,-32,
+0,-6,
+-32,-3,
+-10,6,
+-19,41,
+1,-3,
+-24,-6,
+-25,-29,
+-11,-7,
+10,19,
+23,38,
+16,14,
+17,13,
+16,-59,
+-1,-12,
+18,11,
+-15,-32,
+19,-30,
+19,2,
+-79,38,
+18,9,
+29,12,
+29,-28,
+-15,22,
+13,-44,
+25,36,
+36,48,
+33,-25,
+-27,4,
+-35,27,
+17,12,
+0,-30,
+-18,-11,
+7,-26,
+11,-13,
+5,32,
+-23,3,
+-9,-10,
+-25,14,
+-25,-3,
+12,-6,
+-37,4,
+-4,-35,
+-18,0,
+-33,5,
+17,35,
+30,-19,
+39,-14,
+21,21,
+49,-14,
+19,7,
+13,25,
+-36,1,
+62,-41,
+-12,10,
+-7,0,
+58,20,
+-23,-46,
+-33,3,
+9,-19,
+-49,-16,
+-24,-10,
+5,4,
+16,-28,
+6,-6,
+-20,2,
+-13,-1,
+19,-47,
+-7,-29,
+-23,16,
+8,-14,
+-1,1,
+38,-15,
+15,61,
+23,-22,
+-59,-40,
+67,-71,
+17,-14,
+19,9,
+38,21,
+-15,-20,
+-15,15,
+-24,24,
+11,8,
+-31,-5,
+38,-17,
+-87,-1,
+-27,19,
+58,-57,
+14,-37,
+-57,54,
+-66,40,
+25,-14,
+25,39,
+0,87,
+7,-31,
+4,7,
+20,-7,
+29,-25,
+-23,-47,
+-42,56,
+-59,-36,
+-26,38,
+-64,-126,
+-16,-16,
+26,-38,
+34,-26,
+23,1,
+52,57,
+10,-16,
+-47,-51,
+38,-36,
+0,-14,
+7,23,
+-43,57,
+-32,-11,
+73,10,
+-90,-67,
+-38,17,
+-15,33,
+-37,25,
+-39,-20,
+63,38,
+-45,16,
+-13,57,
+-38,-23,
+-43,-51,
+-42,-31,
+63,-51,
+8,9,
+-12,-32,
+-1,-34,
+-31,-32,
+-12,-20,
+-44,-19,
+-23,-1,
+-16,-16,
+-56,-60,
+-32,1,
+-26,0,
+16,-6,
+-59,-9,
+11,-39,
+17,1,
+35,85,
+49,-21,
+-60,-120,
+12,21,
+-1,35,
+-42,15,
+44,-16,
+20,48,
+32,-37,
+-13,-9,
+-56,-8,
+-16,12,
+20,43,
+45,46,
+-9,2,
+97,45,
+-10,66,
+7,-1,
+34,16,
+36,131,
+-58,-61,
+42,-62,
+-14,78,
+63,78,
+-13,75,
+53,62,
+95,19,
+-17,-51,
+7,28,
+22,35,
+2,-4,
+14,-21,
+-23,-66,
+-7,42,
+0,31,
+-77,-55,
+-124,89,
+107,-40,
+-47,-24,
+-30,-37,
+15,-22,
+33,96,
+27,2,
+-14,83,
+-15,125,
+-32,69,
+96,47,
+-62,-108,
+-75,-64,
+11,23,
+-70,-85,
+-109,-119,
+11,5,
+47,49,
+146,-49,
+-25,5,
+-5,74,
+-140,-75,
+5,-55,
+65,24,
+-11,7,
+53,25,
+-3,26,
+23,-128,
+6,1,
+38,-32,
+47,48,
+-87,62,
+-59,64,
+-38,-33,
+15,21,
+-57,8,
+64,-65,
+-32,5,
+86,-98,
+-10,24,
+-129,15,
+-16,-43,
+-52,-41,
+41,32,
+57,177,
+23,87,
+-36,-46,
+40,41,
+-88,6,
+98,-38,
+-49,-14,
+-68,35,
+-28,81,
+-16,-52,
+109,-6,
+20,-102,
+26,111,
+-46,-42,
+-36,-42,
+-51,-82,
+68,-57,
+17,-25,
+29,5,
+86,-95,
+49,94,
+92,-76,
+-25,21,
+-26,43,
+-31,-74,
+18,-17,
+-19,-49,
+61,-174,
+-40,12,
+-30,-118,
+57,-26,
+24,-30,
+-50,96,
+47,32,
+-31,-162,
+129,-28,
+-119,-51,
+-12,45,
+-34,-43,
+94,-7,
+-1,89,
+59,-57,
+-127,17,
+-46,-35,
+-1,-121,
+2,68,
+21,-46,
+-29,82,
+2,27,
+-41,59,
+-24,66,
+89,-35,
+127,-9,
+-23,108,
+-76,-109,
+7,95,
+35,15,
+77,-73,
+35,-17,
+23,127,
+72,109,
+-118,-102,
+19,-32,
+95,8,
+138,9,
+160,-56,
+-46,-81,
+81,-69,
+9,44,
+10,32,
+-5,23,
+29,-32,
+67,-56,
+18,135,
+-60,-73,
+105,-63,
+-83,53,
+-15,-3,
+4,28,
+-36,9,
+24,35,
+103,-39,
+2,117,
+9,-87,
+-15,-14,
+70,-43,
+141,53,
+32,-34,
+82,71,
+145,41,
+45,-41,
+-41,-1,
+168,-50,
+47,49,
+54,-62,
+63,-50,
+27,-39,
+57,-1,
+-56,53,
+253,-84,
+93,22,
+127,-45,
+11,19,
+-58,-5,
+-116,39,
+-5,-84,
+-133,-3,
+-29,11,
+-6,45,
+20,71,
+-22,68,
+48,50,
+-1,31,
+120,-102,
+-46,127,
+103,-63,
+-130,-88,
+16,48,
+58,64,
+-48,60,
+165,-53,
+19,-91,
+-58,-77,
+-57,-5,
+-17,5,
+-42,10,
+84,-153,
+-24,-139,
+-88,18,
+-116,3,
+-3,125,
+-14,23,
+16,81,
+-61,-70,
+130,-21,
+-119,-13,
+-38,-81,
+7,-85,
+-81,-25,
+28,-150,
+80,84,
+164,72,
+-45,58,
+-38,-109,
+61,10,
+57,-32,
+-50,-76,
+-27,-16,
+61,76,
+14,-27,
+-4,213,
+45,115,
+186,58,
+-69,122,
+-12,29,
+49,-76,
+-102,80,
+43,-2,
+-19,-112,
+-3,-164,
+6,-119,
+-192,-51,
+-119,-81,
+90,97,
+-28,50,
+-23,-25,
+-29,69,
+-18,-11,
+2,102,
+-68,-126,
+14,-11,
+94,77,
+70,142,
+163,-156,
+-55,24,
+189,99,
+107,-62,
+112,136,
+9,-64,
+55,134,
+47,-24,
+-28,170,
+24,-15,
+-66,49,
+35,-8,
+-85,118,
+89,33,
+-128,-147,
+6,-3,
+45,99,
+245,-37,
+135,-101,
+-58,-184,
+-24,-179,
+13,146,
+59,-10,
+61,42,
+-129,-57,
+-99,118,
+127,-67,
+-155,57,
+-48,4,
+-95,-57,
+39,-45,
+-194,-23,
+144,-70,
+-137,-225,
+-66,-18,
+90,-149,
+-12,3,
+-8,-178,
+-157,-70,
+63,8,
+41,22,
+51,58,
+-171,-27,
+61,36,
+-15,85,
+-96,-84,
+-24,16,
+8,89,
+121,149,
+84,116,
+200,-81,
+153,-18,
+-81,119,
+17,-91,
+14,64,
+-34,52,
+-78,-88,
+-111,-20,
+-170,-168,
+-103,24,
+-150,17,
+52,-89,
+-28,8,
+63,98,
+64,-80,
+21,-102,
+24,105,
+74,-10,
+-224,-136,
+21,-163,
+72,69,
+120,-18,
+35,55,
+116,93,
+34,-30,
+7,83,
+47,-140,
+20,100,
+-202,-6,
+23,-15,
+-120,130,
+23,180,
+179,-85,
+152,1,
+31,-1,
+-54,24,
+53,79,
+65,104,
+119,-126,
+68,-44,
+-50,-107,
+-151,25,
+28,10,
+75,-7,
+-4,138,
+43,-226,
+-117,66,
+136,-111,
+-102,-37,
+-163,33,
+0,1,
+-73,-76,
+-97,161,
+131,51,
+11,98,
+-6,94,
+-21,123,
+41,-79,
+-69,-61,
+129,-282,
+-22,-131,
+8,-157,
+-28,137,
+57,-175,
+83,-67,
+25,34,
+52,-245,
+-89,-57,
+136,-38,
+6,-57,
+-103,-165,
+2,-118,
+-49,-104,
+0,-101,
+-27,-158,
+164,-9,
+-89,98,
+56,-130,
+-102,-77,
+18,-14,
+-34,-16,
+8,28,
+-99,89,
+32,-54,
+70,65,
+-18,-91,
+30,54,
+-129,-79,
+135,-109,
+23,55,
+-177,9,
+36,-126,
+83,61,
+85,-132,
+103,-73,
+27,-285,
+-98,-171,
+134,99,
+99,-1,
+-128,57,
+-238,-130,
+80,-51,
+97,-47,
+-111,-144,
+64,47,
+-108,118,
+69,-11,
+-92,-145,
+17,-159,
+7,24,
+-166,86,
+-89,10,
+52,-21,
+-192,68,
+152,-84,
+21,4,
+90,174,
+75,26,
+-95,103,
+39,-163,
+-80,-30,
+24,-63,
+92,187,
+-132,-49,
+236,87,
+148,-233,
+-6,116,
+-150,14,
+-18,-70,
+193,-35,
+-41,33,
+264,9,
+59,15,
+170,-94,
+115,60,
+-53,9,
+54,72,
+11,-12,
+-109,-54,
+173,-216,
+-121,-48,
+128,-72,
+54,-102,
+33,11,
+157,-38,
+177,145,
+-136,44,
+63,-9,
+-68,-123,
+215,-42,
+-56,-146,
+-45,166,
+-123,144,
+45,-85,
+89,102,
+-64,-133,
+1,142,
+8,-29,
+-115,-41,
+-316,-87,
+-140,-38,
+190,-33,
+0,219,
+-49,84,
+102,58,
+-42,-41,
+207,-186,
+6,152,
+-24,-95,
+50,67,
+-31,54,
+-74,137,
+-144,91,
+-36,32,
+-80,-178,
+214,-4,
+37,64,
+79,-173,
+-64,63,
+-77,-73,
+11,-130,
+122,64,
+68,155,
+-45,193,
+-74,-186,
+95,-37,
+-45,-316,
+-72,83,
+287,260,
+163,32,
+-45,68,
+143,177,
+190,-8,
+-10,-12,
+-273,-86,
+-168,112,
+-174,0,
+-152,-24,
+38,-122,
+-179,-13,
+159,154,
+182,-117,
+-203,58,
+121,23,
+-86,283,
+-40,26,
+21,-65,
+-7,82,
+147,35,
+4,-120,
+-135,16,
+-1,37,
+79,-115,
+-20,-61,
+-185,-174,
+-101,-83,
+-266,95,
+-141,-241,
+185,115,
+27,27,
+-159,-53,
+-165,-105,
+65,60,
+-158,-123,
+-142,-45,
+22,-152,
+-111,6,
+-136,-101,
+19,55,
+-34,124,
+79,45,
+23,-60,
+-31,-134,
+-71,35,
+89,-39,
+-213,56,
+42,62,
+258,-53,
+55,88,
+-188,-191,
+-35,-109,
+115,152,
+35,-38,
+3,78,
+-12,26,
+48,106,
+87,94,
+109,125,
+-25,15,
+36,70,
+93,173,
+50,-67,
+126,69,
+46,95,
+52,-164,
+29,-46,
+200,57,
+89,138,
+21,52,
+-18,185,
+-234,-95,
+49,28,
+-21,2,
+-59,114,
+-107,56,
+32,192,
+19,40,
+200,88,
+-164,-151,
+-78,199,
+-53,108,
+-24,-242,
+143,111,
+197,29,
+-48,-39,
+-88,-86,
+-38,-135,
+86,-87,
+54,-71,
+257,61,
+34,136,
+321,194,
+-273,72,
+62,215,
+59,45,
+111,-99,
+-46,-58,
+121,-11,
+-80,-25,
+-144,-12,
+-186,-63,
+31,-82,
+-99,161,
+-194,312,
+117,-173,
+188,-154,
+-16,190,
+-72,69,
+111,152,
+25,-126,
+-82,94,
+-44,22,
+-28,115,
+-29,-49,
+47,-27,
+-122,-95,
+86,-194,
+236,34,
+229,-109,
+-85,172,
+0,-193,
+-160,-91,
+147,-39,
+-15,48,
+-37,4,
+102,52,
+190,-11,
+25,-48,
+-73,125,
+121,34,
+23,-173,
+26,25,
+37,198,
+71,-19,
+12,157,
+134,106,
+-12,-69,
+122,-4,
+-164,-100,
+59,-52,
+116,42,
+33,-208,
+-146,204,
+19,-173,
+4,-233,
+-33,-82,
+16,-99,
+85,-284,
+-78,68,
+-184,92,
+200,28,
+-5,153,
+53,13,
+64,81,
+-73,28,
+-4,149,
+58,78,
+-84,19,
+-77,92,
+37,-145,
+97,-6,
+120,129,
+92,-74,
+-11,-30,
+-205,172,
+87,105,
+0,-133,
+-176,-210,
+-122,-138,
+-12,-42,
+244,24,
+-197,-42,
+157,-363,
+-110,186,
+-235,130,
+-16,125,
+263,-176,
+41,-28,
+14,117,
+143,-200,
+123,1,
+198,-62,
+-285,-207,
+-172,-55,
+-72,-66,
+1,-5,
+126,241,
+206,101,
+-201,8,
+-82,80,
+-118,201,
+-11,-36,
+144,287,
+70,-71,
+130,-72,
+-161,119,
+-45,28,
+-242,-30,
+-176,96,
+-233,162,
+-70,67,
+-93,-232,
+32,190,
+108,182,
+94,-29,
+11,60,
+-7,-258,
+-57,8,
+249,47,
+-178,146,
+136,-81,
+-32,-96,
+-270,304,
+7,26,
+-45,46,
+-165,7,
+-84,-9,
+92,-166,
+-20,-31,
+-125,-131,
+290,-86,
+107,127,
+129,-54,
+-160,-162,
+-45,-110,
+55,-9,
+-72,45,
+-144,-74,
+-50,62,
+96,-47,
+-189,181,
+-74,-177,
+66,-79,
+-5,36,
+153,-125,
+-92,-15,
+-17,194,
+-67,-184,
+44,-10,
+17,17,
+-86,-106,
+262,278,
+-298,-116,
+-15,142,
+38,-54,
+-105,-273,
+22,-10,
+-43,83,
+7,-74,
+59,-55,
+70,67,
+-107,17,
+19,118,
+-126,76,
+-34,19,
+182,80,
+-113,63,
+-98,-5,
+-15,30,
+223,-74,
+75,-93,
+73,44,
+-92,141,
+27,94,
+207,-35,
+-128,216,
+-16,-46,
+238,-425,
+-13,-25,
+35,-89,
+13,183,
+101,193,
+72,7,
+100,-51,
+28,-186,
+-215,138,
+-122,-56,
+93,-76,
+10,94,
+126,125,
+-343,132,
+-93,-86,
+-194,-65,
+-32,-50,
+0,-158,
+45,18,
+-109,-18,
+179,47,
+-33,-207,
+81,-22,
+6,0,
+-78,-44,
+135,-102,
+410,105,
+6,-215,
+-95,-27,
+-71,-157,
+-22,-111,
+35,-199,
+128,-213,
+-168,-6,
+-50,-120,
+-116,24,
+-34,-119,
+24,46,
+161,40,
+74,22,
+-27,-187,
+66,136,
+24,104,
+-24,-207,
+-91,130,
+34,-30,
+96,52,
+-13,25,
+61,69,
+82,-34,
+-52,139,
+97,77,
+20,237,
+19,-92,
+20,79,
+-90,-40,
+-166,-44,
+82,-63,
+-76,141,
+224,31,
+61,-112,
+149,-33,
+-16,-43,
+-64,-116,
+-84,13,
+128,-267,
+-27,81,
+55,-157,
+80,5,
+163,-36,
+95,-117,
+-51,-105,
+-283,-190,
+-113,-62,
+0,29,
+-113,-136,
+38,-6,
+-18,8,
+226,92,
+192,-361,
+-90,-64,
+117,-6,
+-35,20,
+-36,-92,
+-110,135,
+-207,187,
+-52,150,
+29,216,
+-95,54,
+2,45,
+-133,94,
+3,-82,
+-170,-82,
+45,67,
+52,-139,
+128,227,
+208,-86,
+-169,-41,
+-44,-50,
+39,-98,
+-36,103,
+-211,52,
+-125,-55,
+-55,98,
+10,80,
+-70,47,
+-65,84,
+139,-14,
+-63,-50,
+151,66,
+-79,122,
+-12,-1,
+-120,-140,
+171,82,
+158,54,
+-205,-188,
+26,-20,
+123,-20,
+72,-93,
+-62,66,
+-80,72,
+0,59,
+97,-86,
+199,140,
+-151,-104,
+-8,34,
+-6,14,
+16,100,
+-68,-35,
+-234,89,
+-202,-75,
+140,-36,
+-42,76,
+-134,-33,
+108,-267,
+-21,18,
+368,117,
+232,-31,
+-44,-157,
+-301,-29,
+-78,271,
+108,-69,
+113,-222,
+-64,-46,
+45,-79,
+72,-99,
+-50,222,
+39,6,
+82,-211,
+218,-57,
+-99,202,
+185,-32,
+29,186,
+-58,-129,
+-16,-50,
+-115,-20,
+-66,202,
+-146,-139,
+-115,-244,
+62,-53,
+-68,141,
+-86,185,
+191,-62,
+55,-138,
+40,-10,
+-14,83,
+-74,52,
+81,-46,
+213,120,
+-134,-200,
+146,-40,
+46,-131,
+32,15,
+80,319,
+189,64,
+135,89,
+-69,68,
+-79,-47,
+76,-172,
+142,124,
+-64,-6,
+23,116,
+-8,71,
+92,34,
+186,29,
+-97,-168,
+194,474,
+-39,-145,
+-264,82,
+345,-102,
+-211,95,
+-168,-9,
+-107,109,
+21,301,
+103,76,
+66,108,
+91,278,
+-2,-212,
+-46,-110,
+127,117,
+73,-67,
+-17,30,
+40,-53,
+69,111,
+71,33,
+-4,-255,
+162,81,
+-10,257,
+-123,75,
+-135,-26,
+113,-1,
+-72,63,
+117,72,
+114,-304,
+-90,23,
+-345,-231,
+251,-83,
+89,96,
+242,23,
+-16,144,
+91,198,
+-230,1,
+-158,-29,
+-44,-98,
+165,23,
+194,-46,
+180,121,
+179,14,
+-1,62,
+228,-107,
+1,30,
+-4,-62,
+68,154,
+-65,-163,
+119,56,
+-15,1,
+71,30,
+124,59,
+200,6,
+-112,-225,
+-77,31,
+-77,-311,
+157,24,
+28,187,
+-6,-96,
+-44,-33,
+-85,101,
+81,80,
+-19,115,
+-318,-124,
+456,170,
+-27,90,
+-105,-155,
+84,79,
+129,-157,
+38,132,
+-99,-69,
+-12,-159,
+-29,-41,
+74,-122,
+-142,156,
+54,-36,
+144,-143,
+138,-29,
+24,46,
+309,141,
+51,-104,
+93,181,
+4,-22,
+-97,34,
+125,240,
+-63,-9,
+-8,84,
+31,-25,
+46,53,
+213,-70,
+181,19,
+-36,10,
+-160,-151,
+143,-137,
+-137,-81,
+13,-40,
+-67,67,
+-84,126,
+-1,85,
+-54,82,
+-293,113,
+85,-106,
+192,-2,
+16,7,
+181,-218,
+-190,145,
+-112,-28,
+-108,44,
+14,-121,
+-92,-111,
+-14,-31,
+-43,-82,
+-9,-19,
+-2,-145,
+-13,75,
+-167,-139,
+243,-200,
+-6,-207,
+-31,-27,
+-120,95,
+-110,217,
+149,99,
+-74,-24,
+145,116,
+-316,133,
+33,84,
+27,-52,
+120,-68,
+26,-7,
+61,149,
+38,125,
+-146,-23,
+60,13,
+169,-71,
+23,27,
+89,-51,
+-7,-62,
+192,-77,
+125,188,
+83,-34,
+-206,29,
+41,258,
+22,101,
+-29,93,
+172,44,
+179,-44,
+50,-28,
+134,61,
+-81,67,
+37,-38,
+116,-147,
+174,-319,
+-71,38,
+165,106,
+-222,44,
+275,124,
+-8,-72,
+-85,-68,
+37,156,
+2,-86,
+-24,-42,
+-147,52,
+149,-131,
+70,-95,
+12,-11,
+-17,86,
+99,-64,
+-74,-108,
+-8,109,
+68,161,
+-191,-15,
+20,98,
+-48,-253,
+-29,-168,
+2,144,
+-114,-22,
+83,88,
+68,88,
+-141,-20,
+-81,-5,
+95,149,
+38,-93,
+51,21,
+159,374,
+59,-75,
+29,106,
+-140,36,
+-80,-42,
+7,-70,
+-10,-5,
+-44,218,
+-28,-119,
+-139,-165,
+-58,-127,
+-134,-77,
+70,-107,
+-97,73,
+2,158,
+-170,66,
+-64,-107,
+32,97,
+-195,-37,
+87,-40,
+38,-116,
+53,-128,
+203,133,
+137,85,
+-34,-90,
+-30,67,
+-87,24,
+83,14,
+52,-43,
+-12,236,
+-111,55,
+40,-43,
+43,-43,
+-204,-219,
+-110,-37,
+-297,-34,
+-113,4,
+-141,72,
+52,-124,
+-11,-66,
+-35,-96,
+-51,-123,
+-120,-131,
+-44,-49,
+-105,231,
+124,-12,
+78,109,
+12,-47,
+113,59,
+-11,66,
+29,103,
+39,-97,
+-89,102,
+-96,207,
+35,-44,
+55,-145,
+50,76,
+-51,24,
+13,-12,
+-61,-32,
+-32,-97,
+22,-82,
+0,-68,
+-270,-44,
+-38,-68,
+-8,124,
+-94,-96,
+-61,13,
+-76,97,
+-118,-18,
+-71,19,
+45,-162,
+64,-74,
+235,-26,
+13,-88,
+-33,-111,
+-87,-10,
+-8,196,
+-138,94,
+-149,-106,
+61,-165,
+-117,46,
+60,-154,
+-55,20,
+18,-21,
+-34,87,
+-40,-273,
+-7,-26,
+-18,-40,
+16,-13,
+14,-59,
+124,14,
+-128,-99,
+-42,-8,
+139,-76,
+144,-5,
+62,22,
+108,44,
+-26,-65,
+-33,23,
+-139,99,
+91,-102,
+100,128,
+41,-101,
+-97,35,
+194,-137,
+130,-27,
+-30,26,
+-45,82,
+84,99,
+45,120,
+57,53,
+-82,-8,
+-59,-7,
+4,116,
+-21,40,
+181,134,
+-139,79,
+-16,95,
+115,49,
+-228,-80,
+46,-43,
+23,110,
+-95,-14,
+101,-132,
+50,-27,
+73,48,
+74,-47,
+-97,29,
+15,103,
+-298,-31,
+118,190,
+-1,3,
+17,35,
+88,58,
+76,-136,
+12,-156,
+-40,22,
+-23,87,
+-154,-93,
+233,-117,
+43,-82,
+-95,36,
+17,-60,
+115,7,
+-108,-6,
+102,9,
+35,-10,
+37,-42,
+-95,160,
+119,181,
+0,-92,
+2,-73,
+-8,-9,
+201,-54,
+-113,-110,
+25,-237,
+110,31,
+106,-6,
+-124,-138,
+-86,-19,
+-65,-102,
+-57,101,
+92,6,
+51,82,
+-88,-33,
+-107,-67,
+40,-97,
+-11,53,
+105,71,
+-11,-19,
+33,-93,
+-164,-94,
+-22,-65,
+-29,20,
+-62,194,
+-62,-64,
+-263,0,
+13,51,
+38,155,
+-177,-140,
+0,90,
+154,69,
+108,-42,
+18,-69,
+-40,201,
+2,-86,
+22,25,
+-30,68,
+-7,-1,
+-38,-92,
+10,123,
+-176,53,
+-64,40,
+101,-154,
+-4,19,
+-163,10,
+-54,61,
+-16,76,
+27,5,
+114,75,
+-13,-68,
+142,-10,
+9,-261,
+11,125,
+21,-24,
+-3,23,
+-24,178,
+-92,-61,
+-18,4,
+67,50,
+4,-108,
+-85,8,
+21,-67,
+111,28,
+78,-9,
+45,-56,
+140,188,
+8,-103,
+34,-76,
+1,44,
+26,-68,
+98,93,
+110,83,
+39,-72,
+36,-27,
+-37,172,
+-57,56,
+-105,20,
+120,-33,
+-115,120,
+84,34,
+8,-41,
+7,-129,
+-1,81,
+-10,25,
+42,58,
+-25,141,
+-18,96,
+-79,-64,
+4,-23,
+-53,-2,
+-9,93,
+-39,-29,
+24,-6,
+-127,-4,
+-58,-25,
+-105,-29,
+139,-15,
+-107,43,
+-23,-92,
+-48,64,
+-49,-75,
+-140,-57,
+99,-98,
+151,-53,
+-17,-3,
+-95,-93,
+-28,85,
+-56,94,
+-64,122,
+-41,-13,
+-114,-42,
+101,-76,
+34,-60,
+-52,-63,
+54,-42,
+-32,-8,
+23,-79,
+-54,-97,
+-45,-107,
+-77,84,
+-37,-34,
+-42,-63,
+-29,13,
+72,7,
+-2,-44,
+-78,111,
+-19,1,
+125,-99,
+64,-9,
+-19,0,
+-1,-8,
+115,66,
+-17,-2,
+33,51,
+-20,69,
+120,19,
+25,16,
+64,-110,
+-126,-29,
+-99,-54,
+-19,-33,
+-100,23,
+-23,-15,
+-11,-21,
+43,-174,
+-16,-78,
+-93,-191,
+-34,-43,
+-124,-14,
+-3,17,
+95,-32,
+43,-54,
+77,72,
+-57,17,
+51,-10,
+8,-74,
+-11,22,
+19,82,
+73,93,
+-20,75,
+-141,31,
+-15,-34,
+54,24,
+-72,-112,
+49,4,
+-3,-37,
+73,-140,
+82,82,
+-60,-49,
+-104,-38,
+-8,-70,
+-142,-28,
+-55,-86,
+97,16,
+81,5,
+-153,-44,
+37,-16,
+79,-52,
+-117,-72,
+177,130,
+68,52,
+35,0,
+22,84,
+-2,22,
+28,-72,
+14,-25,
+30,10,
+10,9,
+90,26,
+-21,-82,
+-64,-1,
+-77,41,
+-71,-105,
+107,1,
+37,-21,
+46,-1,
+-15,-6,
+-69,5,
+44,42,
+37,-42,
+-118,82,
+-7,41,
+-5,-36,
+-42,-71,
+25,74,
+-7,-46,
+21,-34,
+-25,79,
+-10,-37,
+103,116,
+37,-121,
+-46,86,
+-53,54,
+-166,61,
+-1,-5,
+74,32,
+-9,-26,
+-19,90,
+22,91,
+-11,39,
+22,33,
+134,11,
+46,-38,
+35,-13,
+46,-44,
+-13,122,
+49,52,
+-64,43,
+-28,-15,
+6,69,
+11,51,
+-63,18,
+40,-24,
+56,-37,
+39,62,
+30,21,
+-40,6,
+-37,98,
+42,-93,
+90,-23,
+8,-70,
+22,106,
+49,-52,
+69,25,
+76,-63,
+-24,-77,
+-96,107,
+-105,-8,
+-12,14,
+-47,-51,
+16,10,
+-63,-6,
+-11,-4,
+-27,-35,
+-38,-9,
+-51,-19,
+-24,-20,
+86,-101,
+-67,8,
+17,-35,
+-44,99,
+-26,58,
+18,-15,
+-7,-35,
+53,-91,
+47,8,
+38,0,
+28,-51,
+-5,-36,
+-42,53,
+-64,-70,
+-44,18,
+-10,-26,
+6,40,
+-7,110,
+-16,41,
+42,-37,
+-34,18,
+72,23,
+34,-55,
+34,61,
+28,-27,
+-13,-26,
+60,134,
+-26,21,
+61,53,
+-20,55,
+-67,54,
+13,-16,
+14,17,
+19,-42,
+-84,24,
+-19,-5,
+-8,-40,
+-34,-12,
+64,100,
+-88,-7,
+14,-67,
+27,104,
+12,-2,
+35,40,
+-38,-91,
+79,28,
+31,23,
+-50,-67,
+24,9,
+29,46,
+-12,-7,
+-22,33,
+-109,-69,
+24,-12,
+-41,48,
+6,66,
+41,-8,
+2,35,
+-40,-7,
+44,25,
+-45,-12,
+43,6,
+-21,29,
+-13,15,
+-15,70,
+55,3,
+-10,78,
+17,77,
+-9,21,
+-14,15,
+-40,-68,
+39,-54,
+38,-9,
+34,63,
+47,-19,
+-9,128,
+-25,-7,
+-15,-49,
+-89,-59,
+8,57,
+-46,8,
+40,14,
+16,-4,
+-38,-7,
+42,-61,
+78,18,
+-5,26,
+-31,21,
+-26,0,
+39,33,
+17,6,
+-54,-5,
+46,24,
+-1,27,
+-48,1,
+1,-16,
+10,31,
+64,30,
+31,-2,
+38,35,
+69,-29,
+-9,-95,
+-14,45,
+50,-28,
+-76,20,
+67,-33,
+16,5,
+54,56,
+-66,-23,
+41,49,
+32,21,
+-23,-43,
+60,27,
+-13,17,
+-28,12,
+-6,-5,
+16,-22,
+-1,22,
+58,63,
+31,8,
+25,-3,
+-16,46,
+-54,-18,
+10,22,
+-20,12,
+19,30,
+-1,-8,
+21,-16,
+0,9,
+-35,32,
+-5,8,
+29,10,
+39,-21,
+-14,-6,
+-57,5,
+-16,-46,
+23,-26,
+23,11,
+-46,-38,
+19,-2,
+-10,31,
+34,-13,
+14,34,
+0,4,
+-45,35,
+9,0,
+27,-3,
+-2,5,
+-24,11,
+-11,-2,
+-33,1,
+-13,39,
+34,-22,
+22,-58,
+-52,-5,
+1,56,
+36,26,
+-24,48,
+-25,-23,
+-11,-9,
+7,9,
+-2,-7,
+-5,-11,
+-6,-41,
+19,-23,
+-4,12,
+16,7,
+-9,-27,
+5,9,
+-7,5,
+17,26,
+-13,0,
+22,-14,
+7,-10,
+-13,11,
+-2,25,
+-7,-13,
+-18,-7,
+-3,6,
+17,25,
+-14,-1,
+-15,-29,
+31,20,
+3,-8,
+-13,16,
+12,-2,
+1,5,
+5,-13,
+21,-4,
+-1,4,
+0,-25,
+9,-22,
+1,-3,
+1,5,
+-12,-15,
+-11,0,
+11,3,
+-7,27,
+20,8,
+-18,-11,
+-1,3,
+0,-19,
+-5,1,
+13,-11,
+11,-1,
+6,-3,
+27,-5,
+16,-14,
+3,-18,
+5,-2,
+-9,6,
+6,-9,
+-13,13,
+-16,5,
+-14,15,
+22,15,
+-14,-16,
+-8,3,
+6,-1,
+-7,-16,
+-15,-13,
+-7,-8,
+-5,7,
+-8,12,
+1,8,
+2,-3,
+-19,7,
+10,0,
+-17,0,
+-4,-7,
+5,2,
+-9,4,
+-6,12,
+8,0,
+1,10,
+-1,-7,
+-1,-2,
+0,-5,
+-5,-2,
+9,3,
+-2,2,
+10,-1,
+4,4,
+-1,-1,
+0,2,
+7,3,
+-4,0,
+3,2,
+1,-1,
+-2,-4,
+-2,3,
+7,1,
+-3,-2,
+-7,3,
+9,4,
+-3,0,
+-4,-1,
+4,0,
+-2,-4,
+-6,1,
+4,0,
+-5,1,
+-5,0,
+6,-1,
+-4,-1,
+-3,1,
+5,1,
+-3,1,
+-3,0,
+6,0,
+-3,0,
+-3,-1,
+5,-1,
+-3,-1,
+-4,1,
+6,1,
+-5,0,
+-5,-1,
+4,0,
+-6,-1,
+-2,4,
+4,0,
+-4,1,
+-3,0,
+9,-4,
+-7,-3,
+-3,2,
+7,-1,
+-2,-3,
+-2,4,
+1,1,
+3,-2,
+-4,0,
+7,-3,
+0,-2,
+-1,1,
+4,-4,
+10,1,
+-2,-2,
+9,-3,
+-5,2,
+0,5,
+-1,2,
+-1,7,
+1,-10,
+8,0,
+-6,-12,
+-9,-4,
+5,-2,
+-4,7,
+-17,0,
+10,0,
+-19,-7,
+2,3,
+1,-8,
+-8,-12,
+-5,-7,
+-7,8,
+-15,13,
+-7,16,
+6,1,
+-8,-3,
+-14,16,
+22,-15,
+-14,-15,
+-16,-5,
+-13,-13,
+6,9,
+-9,-6,
+5,2,
+3,18,
+16,14,
+27,5,
+6,3,
+11,1,
+13,11,
+-5,-1,
+0,19,
+-1,-3,
+-18,11,
+20,-8,
+-7,-27,
+11,-3,
+-11,0,
+-12,15,
+1,-5,
+1,3,
+9,22,
+0,25,
+-1,-4,
+21,4,
+5,13,
+1,-5,
+12,2,
+-13,-16,
+3,8,
+31,-20,
+-15,29,
+-14,1,
+17,-25,
+-3,-6,
+-18,7,
+-7,13,
+-2,-25,
+-13,-11,
+7,10,
+22,14,
+-13,0,
+17,-26,
+-7,-5,
+5,-9,
+-9,27,
+16,-7,
+-4,-12,
+19,23,
+-6,41,
+-5,11,
+-2,7,
+7,-9,
+-11,9,
+-25,23,
+-24,-48,
+36,-26,
+1,-56,
+-52,5,
+22,58,
+34,22,
+-13,-39,
+-33,-1,
+-11,2,
+-24,-11,
+-2,-5,
+27,3,
+9,0,
+-45,-35,
+0,-4,
+14,-34,
+34,13,
+-10,-31,
+19,2,
+-46,38,
+23,-11,
+23,26,
+-16,46,
+-57,-5,
+-14,6,
+39,21,
+29,-10,
+-5,-8,
+-35,-32,
+0,-9,
+21,16,
+-1,8,
+19,-30,
+-20,-12,
+10,-22,
+-54,18,
+-16,-46,
+25,3,
+31,-8,
+58,-63,
+-1,-22,
+16,22,
+-6,5,
+-28,-12,
+-13,-17,
+60,-27,
+-23,43,
+32,-21,
+41,-49,
+-66,23,
+54,-56,
+16,-5,
+67,33,
+-76,-20,
+50,28,
+-14,-45,
+-9,95,
+69,29,
+38,-35,
+31,2,
+64,-30,
+10,-31,
+1,16,
+-48,-1,
+-1,-27,
+46,-24,
+-54,5,
+17,-6,
+39,-33,
+-26,0,
+-31,-21,
+-5,-26,
+78,-18,
+42,61,
+-38,7,
+16,4,
+40,-14,
+-46,-8,
+8,-57,
+-89,59,
+-15,49,
+-25,7,
+-9,-128,
+47,19,
+34,-63,
+38,9,
+39,54,
+-40,68,
+-14,-15,
+-9,-21,
+17,-77,
+-10,-78,
+55,-3,
+-15,-70,
+-13,-15,
+-21,-29,
+43,-6,
+-45,12,
+44,-25,
+-40,7,
+2,-35,
+41,8,
+6,-66,
+-41,-48,
+24,12,
+-109,69,
+-22,-33,
+-12,7,
+29,-46,
+24,-9,
+-50,67,
+31,-23,
+79,-28,
+-38,91,
+35,-40,
+12,2,
+27,-104,
+14,67,
+-88,7,
+64,-100,
+-34,12,
+-8,40,
+-19,5,
+-84,-24,
+19,42,
+14,-17,
+13,16,
+-67,-54,
+-20,-55,
+61,-53,
+-26,-21,
+60,-134,
+-13,26,
+28,27,
+34,-61,
+34,55,
+72,-23,
+-34,-18,
+42,37,
+-16,-41,
+-7,-110,
+6,-40,
+-10,26,
+-44,-18,
+-64,70,
+-42,-53,
+-5,36,
+28,51,
+38,0,
+47,-8,
+53,91,
+-7,35,
+18,15,
+-26,-58,
+-44,-99,
+17,35,
+-67,-8,
+86,101,
+-24,20,
+-51,19,
+-38,9,
+-27,35,
+-11,4,
+-63,6,
+16,-10,
+-47,51,
+-12,-14,
+-105,8,
+-96,-107,
+-24,77,
+76,63,
+69,-25,
+49,52,
+22,-106,
+8,70,
+90,23,
+42,93,
+-37,-98,
+-40,-6,
+30,-21,
+39,-62,
+56,37,
+40,24,
+-63,-18,
+11,-51,
+6,-69,
+-28,15,
+-64,-43,
+49,-52,
+-13,-122,
+46,44,
+35,13,
+46,38,
+134,-11,
+22,-33,
+-11,-39,
+22,-91,
+-19,-90,
+-9,26,
+74,-32,
+-1,5,
+-166,-61,
+-53,-54,
+-46,-86,
+37,121,
+103,-116,
+-10,37,
+-25,-79,
+21,34,
+-7,46,
+25,-74,
+-42,71,
+-5,36,
+-7,-41,
+-118,-82,
+37,42,
+44,-42,
+-69,-5,
+-15,6,
+46,1,
+37,21,
+107,-1,
+-71,105,
+-77,-41,
+-64,1,
+-21,82,
+90,-26,
+10,-9,
+30,-10,
+14,25,
+28,72,
+-2,-22,
+22,-84,
+35,0,
+68,-52,
+177,-130,
+-117,72,
+79,52,
+37,16,
+-153,44,
+81,-5,
+97,-16,
+-55,86,
+-142,28,
+-8,70,
+-104,38,
+-60,49,
+82,-82,
+73,140,
+-3,37,
+49,-4,
+-72,112,
+54,-24,
+-15,34,
+-141,-31,
+-20,-75,
+73,-93,
+19,-82,
+-11,-22,
+8,74,
+51,10,
+-57,-17,
+77,-72,
+43,54,
+95,32,
+-3,-17,
+-124,14,
+-34,43,
+-93,191,
+-16,78,
+43,174,
+-11,21,
+-23,15,
+-100,-23,
+-19,33,
+-99,54,
+-126,29,
+64,110,
+25,-16,
+120,-19,
+-20,-69,
+33,-51,
+-17,2,
+115,-66,
+-1,8,
+-19,0,
+64,9,
+125,99,
+-19,-1,
+-78,-111,
+-2,44,
+72,-7,
+-29,-13,
+-42,63,
+-37,34,
+-77,-84,
+-45,107,
+-54,97,
+23,79,
+-32,8,
+54,42,
+-52,63,
+34,60,
+101,76,
+-114,42,
+-41,13,
+-64,-122,
+-56,-94,
+-28,-85,
+-95,93,
+-17,3,
+151,53,
+99,98,
+-140,57,
+-49,75,
+-48,-64,
+-23,92,
+-107,-43,
+139,15,
+-105,29,
+-58,25,
+-127,4,
+24,6,
+-39,29,
+-9,-93,
+-53,2,
+4,23,
+-79,64,
+-18,-96,
+-25,-141,
+42,-58,
+-10,-25,
+-1,-81,
+7,129,
+8,41,
+84,-34,
+-115,-120,
+120,33,
+-105,-20,
+-57,-56,
+-37,-172,
+36,27,
+39,72,
+110,-83,
+98,-93,
+26,68,
+1,-44,
+34,76,
+8,103,
+140,-188,
+45,56,
+78,9,
+111,-28,
+21,67,
+-85,-8,
+4,108,
+67,-50,
+-18,-4,
+-92,61,
+-24,-178,
+-3,-23,
+21,24,
+11,-125,
+9,261,
+142,10,
+-13,68,
+114,-75,
+27,-5,
+-16,-76,
+-54,-61,
+-163,-10,
+-4,-19,
+101,154,
+-64,-40,
+-176,-53,
+10,-123,
+-38,92,
+-7,1,
+-30,-68,
+22,-25,
+2,86,
+-40,-201,
+18,69,
+108,42,
+154,-69,
+0,-90,
+-177,140,
+38,-155,
+13,-51,
+-263,0,
+-62,64,
+-62,-194,
+-29,-20,
+-22,65,
+-164,94,
+33,93,
+-11,19,
+105,-71,
+-11,-53,
+40,97,
+-107,67,
+-88,33,
+51,-82,
+92,-6,
+-57,-101,
+-65,102,
+-86,19,
+-124,138,
+106,6,
+110,-31,
+25,237,
+-113,110,
+201,54,
+-8,9,
+2,73,
+0,92,
+119,-181,
+-95,-160,
+37,42,
+35,10,
+102,-9,
+-108,6,
+115,-7,
+17,60,
+-95,-36,
+43,82,
+233,117,
+-154,93,
+-23,-87,
+-40,-22,
+12,156,
+76,136,
+88,-58,
+17,-35,
+-1,-3,
+118,-190,
+-298,31,
+15,-103,
+-97,-29,
+74,47,
+73,-48,
+50,27,
+101,132,
+-95,14,
+23,-110,
+46,43,
+-228,80,
+115,-49,
+-16,-95,
+-139,-79,
+181,-134,
+-21,-40,
+4,-116,
+-59,7,
+-82,8,
+57,-53,
+45,-120,
+84,-99,
+-45,-82,
+-30,-26,
+130,27,
+194,137,
+-97,-35,
+41,101,
+100,-128,
+91,102,
+-139,-99,
+-33,-23,
+-26,65,
+108,-44,
+62,-22,
+144,5,
+139,76,
+-42,8,
+-128,99,
+124,-14,
+14,59,
+16,13,
+-18,40,
+-7,26,
+-40,273,
+-34,-87,
+18,21,
+-55,-20,
+60,154,
+-117,-46,
+61,165,
+-149,106,
+-138,-94,
+-8,-196,
+-87,10,
+-33,111,
+13,88,
+235,26,
+64,74,
+45,162,
+-71,-19,
+-118,18,
+-76,-97,
+-61,-13,
+-94,96,
+-8,-124,
+-38,68,
+-270,44,
+0,68,
+22,82,
+-32,97,
+-61,32,
+13,12,
+-51,-24,
+50,-76,
+55,145,
+35,44,
+-96,-207,
+-89,-102,
+39,97,
+29,-103,
+-11,-66,
+113,-59,
+12,47,
+78,-109,
+124,12,
+-105,-231,
+-44,49,
+-120,131,
+-51,123,
+-35,96,
+-11,66,
+52,124,
+-141,-72,
+-113,-4,
+-297,34,
+-110,37,
+-204,219,
+43,43,
+40,43,
+-111,-55,
+-12,-236,
+52,43,
+83,-14,
+-87,-24,
+-30,-67,
+-34,90,
+137,-85,
+203,-133,
+53,128,
+38,116,
+87,40,
+-195,37,
+32,-97,
+-64,107,
+-170,-66,
+2,-158,
+-97,-73,
+70,107,
+-134,77,
+-58,127,
+-139,165,
+-28,119,
+-44,-218,
+-10,5,
+7,70,
+-80,42,
+-140,-36,
+29,-106,
+59,75,
+159,-374,
+51,-21,
+38,93,
+95,-149,
+-81,5,
+-141,20,
+68,-88,
+83,-88,
+-114,22,
+2,-144,
+-29,168,
+-48,253,
+20,-98,
+-191,15,
+68,-161,
+-8,-109,
+-74,108,
+99,64,
+-17,-86,
+12,11,
+70,95,
+149,131,
+-147,-52,
+-24,42,
+2,86,
+37,-156,
+-85,68,
+-8,72,
+275,-124,
+-222,-44,
+165,-106,
+-71,-38,
+174,319,
+116,147,
+37,38,
+-81,-67,
+134,-61,
+50,28,
+179,44,
+172,-44,
+-29,-93,
+22,-101,
+41,-258,
+-206,-29,
+83,34,
+125,-188,
+192,77,
+-7,62,
+89,51,
+23,-27,
+169,71,
+60,-13,
+-146,23,
+38,-125,
+61,-149,
+26,7,
+120,68,
+27,52,
+33,-84,
+-316,-133,
+145,-116,
+-74,24,
+149,-99,
+-110,-217,
+-120,-95,
+-31,27,
+-6,207,
+243,200,
+-167,139,
+-13,-75,
+-2,145,
+-9,19,
+-43,82,
+-14,31,
+-92,111,
+14,121,
+-108,-44,
+-112,28,
+-190,-145,
+181,218,
+16,-7,
+192,2,
+85,106,
+-293,-113,
+-54,-82,
+-1,-85,
+-84,-126,
+-67,-67,
+13,40,
+-137,81,
+143,137,
+-160,151,
+-36,-10,
+181,-19,
+213,70,
+46,-53,
+31,25,
+-8,-84,
+-63,9,
+125,-240,
+-97,-34,
+4,22,
+93,-181,
+51,104,
+309,-141,
+24,-46,
+138,29,
+144,143,
+54,36,
+-142,-156,
+74,122,
+-29,41,
+-12,159,
+-99,69,
+38,-132,
+129,157,
+84,-79,
+-105,155,
+-27,-90,
+456,-170,
+-318,124,
+-19,-115,
+81,-80,
+-85,-101,
+-44,33,
+-6,96,
+28,-187,
+157,-24,
+-77,311,
+-77,-31,
+-112,225,
+200,-6,
+124,-59,
+71,-30,
+-15,-1,
+119,-56,
+-65,163,
+68,-154,
+-4,62,
+1,-30,
+228,107,
+-1,-62,
+179,-14,
+180,-121,
+194,46,
+165,-23,
+-44,98,
+-158,29,
+-230,-1,
+91,-198,
+-16,-144,
+242,-23,
+89,-96,
+251,83,
+-345,231,
+-90,-23,
+114,304,
+117,-72,
+-72,-63,
+113,1,
+-135,26,
+-123,-75,
+-10,-257,
+162,-81,
+-4,255,
+71,-33,
+69,-111,
+40,53,
+-17,-30,
+73,67,
+127,-117,
+-46,110,
+-2,212,
+91,-278,
+66,-108,
+103,-76,
+21,-301,
+-107,-109,
+-168,9,
+-211,-95,
+345,102,
+-264,-82,
+-39,145,
+194,-474,
+-97,168,
+186,-29,
+92,-34,
+-8,-71,
+23,-116,
+-64,6,
+142,-124,
+76,172,
+-79,47,
+-69,-68,
+135,-89,
+189,-64,
+80,-319,
+32,-15,
+46,131,
+146,40,
+-134,200,
+213,-120,
+81,46,
+-74,-52,
+-14,-83,
+40,10,
+55,138,
+191,62,
+-86,-185,
+-68,-141,
+62,53,
+-115,244,
+-146,139,
+-66,-202,
+-115,20,
+-16,50,
+-58,129,
+29,-186,
+185,32,
+-99,-202,
+218,57,
+82,211,
+39,-6,
+-50,-222,
+72,99,
+45,79,
+-64,46,
+113,222,
+108,69,
+-78,-271,
+-301,29,
+-44,157,
+232,31,
+368,-117,
+-21,-18,
+108,267,
+-134,33,
+-42,-76,
+140,36,
+-202,75,
+-234,-89,
+-68,35,
+16,-100,
+-6,-14,
+-8,-34,
+-151,104,
+199,-140,
+97,86,
+0,-59,
+-80,-72,
+-62,-66,
+72,93,
+123,20,
+26,20,
+-205,188,
+158,-54,
+171,-82,
+-120,140,
+-12,1,
+-79,-122,
+151,-66,
+-63,50,
+139,14,
+-65,-84,
+-70,-47,
+10,-80,
+-55,-98,
+-125,55,
+-211,-52,
+-36,-103,
+39,98,
+-44,50,
+-169,41,
+208,86,
+128,-227,
+52,139,
+45,-67,
+-170,82,
+3,82,
+-133,-94,
+2,-45,
+-95,-54,
+29,-216,
+-52,-150,
+-207,-187,
+-110,-135,
+-36,92,
+-35,-20,
+117,6,
+-90,64,
+192,361,
+226,-92,
+-18,-8,
+38,6,
+-113,136,
+0,-29,
+-113,62,
+-283,190,
+-51,105,
+95,117,
+163,36,
+80,-5,
+55,157,
+-27,-81,
+128,267,
+-84,-13,
+-64,116,
+-16,43,
+149,33,
+61,112,
+224,-31,
+-76,-141,
+82,63,
+-166,44,
+-90,40,
+20,-79,
+19,92,
+20,-237,
+97,-77,
+-52,-139,
+82,34,
+61,-69,
+-13,-25,
+96,-52,
+34,30,
+-91,-130,
+-24,207,
+24,-104,
+66,-136,
+-27,187,
+74,-22,
+161,-40,
+24,-46,
+-34,119,
+-116,-24,
+-50,120,
+-168,6,
+128,213,
+35,199,
+-22,111,
+-71,157,
+-95,27,
+6,215,
+410,-105,
+135,102,
+-78,44,
+6,0,
+253,-132,
+14,-32,
+-81,-255,
+-251,37,
+92,67,
+-90,118,
+-93,-160,
+163,-244,
+-2,25,
+-10,105,
+-35,57,
+-47,77,
+70,27,
+231,125,
+-114,206,
+134,49,
+-213,274,
+-4,-57,
+246,-44,
+-44,111,
+-112,86,
+-235,60,
+291,-109,
+-49,-136,
+-97,176,
+-33,179,
+34,-134,
+-78,169,
+-2,-66,
+-125,175,
+-106,157,
+-192,-66,
+207,65,
+26,140,
+-267,-115,
+-125,121,
+174,182,
+-93,162,
+-29,-115,
+66,-46,
+200,71,
+20,-104,
+-18,28,
+-20,-66,
+33,-264,
+-75,-256,
+-134,91,
+-10,-23,
+6,-50,
+-14,-244,
+-156,-31,
+63,-49,
+-158,-53,
+-155,36,
+163,84,
+-62,123,
+-166,-63,
+5,-30,
+136,-115,
+91,-168,
+44,175,
+-43,-180,
+-78,-163,
+-270,23,
+-78,32,
+-135,-13,
+32,-36,
+104,94,
+296,61,
+-106,-89,
+46,-149,
+-234,-127,
+150,5,
+57,33,
+-33,-136,
+11,110,
+-40,-187,
+-192,344,
+-148,-6,
+74,226,
+198,79,
+91,-207,
+79,166,
+283,57,
+-46,162,
+82,-240,
+-8,314,
+-49,36,
+-14,166,
+-132,-7,
+-12,79,
+45,40,
+-229,-87,
+72,-233,
+-1,174,
+168,99,
+75,-152,
+-133,163,
+-136,242,
+32,-226,
+12,216,
+-183,-111,
+-52,-112,
+-174,-299,
+117,80,
+91,-68,
+95,-171,
+14,222,
+-225,41,
+-153,-15,
+195,60,
+18,37,
+166,-47,
+37,280,
+-17,147,
+24,-151,
+-167,161,
+-82,-15,
+10,-177,
+61,-75,
+257,30,
+-22,141,
+-19,-117,
+-101,103,
+2,-248,
+27,-275,
+11,65,
+-123,77,
+67,75,
+-70,-10,
+-105,-86,
+-9,73,
+-263,212,
+-48,-304,
+247,-39,
+-137,236,
+189,72,
+-3,-190,
+-134,-91,
+140,56,
+15,147,
+18,-30,
+-1,-102,
+-143,23,
+-233,229,
+183,-155,
+-2,-80,
+-61,74,
+-75,52,
+122,23,
+-14,-110,
+86,-139,
+-91,-12,
+126,-108,
+-6,67,
+70,88,
+-112,90,
+37,-15,
+-159,-84,
+1,-43,
+-191,-168,
+-72,-14,
+101,-51,
+232,-197,
+27,-219,
+37,33,
+-98,32,
+37,52,
+-64,64,
+2,178,
+-41,104,
+149,-56,
+-21,-8,
+-57,35,
+72,187,
+1,-113,
+120,-103,
+-175,63,
+-127,44,
+70,134,
+28,56,
+-42,-125,
+-62,2,
+145,-29,
+-180,-112,
+118,-35,
+352,-38,
+-167,-26,
+-44,85,
+115,-120,
+206,-97,
+2,21,
+69,31,
+80,20,
+234,182,
+127,3,
+92,-274,
+245,71,
+156,99,
+-270,84,
+180,-17,
+-211,-161,
+234,115,
+39,272,
+44,121,
+-28,-112,
+-77,151,
+-48,-233,
+-53,-54,
+90,-178,
+23,100,
+108,-267,
+182,-17,
+-97,-86,
+33,-195,
+-149,-303,
+-211,143,
+-43,-29,
+-37,4,
+42,97,
+116,180,
+-141,145,
+126,79,
+18,-16,
+43,-40,
+-166,160,
+-214,-73,
+247,24,
+27,-147,
+158,-98,
+-68,-31,
+-165,-98,
+0,-6,
+-20,130,
+258,-15,
+-163,-250,
+-84,-45,
+-80,-40,
+-120,-22,
+-111,177,
+-124,39,
+106,141,
+-42,53,
+-168,41,
+-49,191,
+-196,79,
+-158,30,
+52,-174,
+-57,-111,
+100,148,
+-113,-3,
+5,108,
+-54,128,
+40,140,
+-95,-8,
+-199,153,
+170,9,
+169,105,
+157,-196,
+59,3,
+-60,149,
+-141,91,
+6,-52,
+-128,1,
+-231,14,
+76,103,
+2,-151,
+310,-226,
+-165,86,
+30,192,
+-79,8,
+11,13,
+115,-56,
+-59,-123,
+-50,-27,
+-65,23,
+6,-111,
+132,77,
+-42,-114,
+-10,69,
+8,95,
+-32,-3,
+85,47,
+-1,49,
+-3,-11,
+-122,106,
+-165,36,
+31,-5,
+-114,132,
+-1,-100,
+-34,79,
+68,-30,
+72,109,
+-200,69,
+34,39,
+-51,-43,
+-11,-18,
+82,188,
+299,77,
+172,156,
+80,-105,
+51,28,
+121,-52,
+-38,9,
+-31,110,
+-28,-75,
+-6,-59,
+-37,120,
+4,-174,
+59,-231,
+32,81,
+136,-41,
+140,-52,
+206,33,
+-21,110,
+67,121,
+-22,-178,
+87,22,
+186,-165,
+5,-114,
+-5,182,
+209,-115,
+210,-206,
+17,-79,
+112,-200,
+76,136,
+26,149,
+-83,79,
+58,117,
+73,101,
+186,220,
+77,-289,
+30,86,
+-29,-40,
+-192,16,
+177,77,
+-196,108,
+20,-40,
+59,150,
+-7,45,
+-2,-16,
+7,71,
+90,134,
+-90,2,
+11,-128,
+99,10,
+-43,-76,
+-30,-142,
+20,111,
+-163,-23,
+244,64,
+163,-199,
+13,-13,
+-92,14,
+66,-65,
+17,-71,
+110,70,
+79,-70,
+184,-102,
+-11,-27,
+-100,-7,
+100,-50,
+58,137,
+177,124,
+-49,95,
+-164,-34,
+-87,0,
+251,39,
+176,28,
+-100,25,
+-37,13,
+94,-25,
+2,105,
+-47,55,
+242,-58,
+91,41,
+112,175,
+-100,241,
+112,-6,
+-62,44,
+-98,132,
+8,3,
+44,0,
+-162,29,
+-78,-38,
+-262,-182,
+18,27,
+174,-68,
+3,-60,
+-44,136,
+35,109,
+114,-71,
+55,129,
+101,-44,
+-81,211,
+31,22,
+-90,-12,
+-66,53,
+158,-43,
+88,-59,
+170,152,
+68,-36,
+-30,141,
+103,-64,
+115,-76,
+-156,3,
+36,-87,
+31,-121,
+104,-37,
+108,-70,
+112,-63,
+-36,128,
+-71,-27,
+-70,19,
+-203,-72,
+-87,-36,
+-2,-116,
+-38,80,
+25,26,
+-139,-139,
+24,32,
+9,-16,
+-70,-141,
+74,-147,
+40,99,
+-19,21,
+-1,214,
+110,70,
+117,-27,
+62,193,
+155,-9,
+-120,42,
+4,207,
+-4,-70,
+23,178,
+-15,-20,
+109,79,
+-48,-16,
+-156,-50,
+-113,-107,
+-72,-23,
+49,33,
+-68,-18,
+49,126,
+-67,78,
+39,19,
+83,108,
+31,-72,
+116,-20,
+154,-125,
+-110,-194,
+52,-9,
+-107,-120,
+-144,192,
+44,92,
+-85,107,
+-75,16,
+111,-10,
+-115,-155,
+-105,-6,
+25,46,
+-80,-58,
+120,21,
+-18,115,
+60,-94,
+51,43,
+167,-16,
+87,54,
+-120,-109,
+1,71,
+-7,-98,
+42,-20,
+-38,77,
+124,-90,
+-80,13,
+-61,2,
+102,-72,
+164,65,
+25,-92,
+-128,-39,
+14,124,
+-47,64,
+3,27,
+19,-1,
+-49,-17,
+-111,-136,
+-198,-34,
+40,-23,
+23,145,
+-80,45,
+-32,51,
+-222,-20,
+158,-137,
+52,86,
+37,-46,
+-125,34,
+102,3,
+-41,47,
+104,76,
+-3,-81,
+25,143,
+1,-16,
+-79,-32,
+-51,-152,
+14,-86,
+17,164,
+-195,-176,
+-42,126,
+92,-16,
+-110,-42,
+124,-11,
+6,169,
+48,-114,
+-60,103,
+64,-3,
+-76,-81,
+114,-82,
+-111,-75,
+70,46,
+-146,-43,
+-155,-75,
+158,-26,
+-25,39,
+48,50,
+-13,-41,
+85,150,
+22,-73,
+-53,-5,
+96,-48,
+-73,163,
+-6,-34,
+-78,18,
+34,-225,
+118,15,
+25,54,
+93,-71,
+-119,-69,
+-80,-174,
+-26,-24,
+3,28,
+-5,-26,
+122,5,
+47,-58,
+-21,-35,
+-14,-41,
+-73,168,
+57,119,
+-34,-110,
+-64,-7,
+57,41,
+-40,50,
+-9,-66,
+13,100,
+-93,-81,
+52,-66,
+-65,72,
+77,136,
+-61,60,
+26,8,
+13,90,
+50,-67,
+-24,114,
+-5,-89,
+5,-109,
+-85,33,
+-94,-54,
+97,-1,
+30,-8,
+134,-95,
+65,-29,
+55,-58,
+-190,-106,
+-25,93,
+-127,7,
+-114,108,
+102,88,
+-47,7,
+61,30,
+113,23,
+10,-82,
+57,65,
+10,-49,
+-45,-9,
+-54,-105,
+-53,-138,
+-4,-6,
+12,44,
+119,31,
+-74,-25,
+178,52,
+1,-79,
+57,15,
+102,8,
+-16,131,
+97,57,
+54,75,
+52,27,
+173,-41,
+-46,54,
+-62,23,
+-106,-9,
+-8,-22,
+-20,-6,
+-35,-13,
+-29,-109,
+48,74,
+-13,-24,
+-127,-124,
+35,-60,
+-51,-109,
+37,-59,
+31,21,
+16,40,
+-84,89,
+-39,73,
+-48,64,
+-85,-76,
+-18,18,
+-14,-10,
+-44,80,
+3,41,
+158,-12,
+-82,105,
+57,167,
+3,-25,
+-74,33,
+70,-31,
+63,-102,
+-33,84,
+197,-17,
+-82,53,
+9,98,
+107,24,
+46,-75,
+-41,66,
+10,88,
+-59,-30,
+-64,-67,
+-53,-184,
+34,-7,
+-23,-13,
+34,1,
+66,-52,
+18,-19,
+40,-4,
+100,59,
+163,-69,
+-1,183,
+-30,75,
+42,6,
+50,-5,
+13,60,
+-25,-30,
+38,-51,
+21,105,
+0,147,
+20,-23,
+-10,-149,
+8,21,
+149,54,
+29,102,
+-12,-9,
+6,-5,
+-24,-22,
+-83,70,
+4,137,
+-3,-29,
+-24,72,
+-32,26,
+4,-63,
+-43,-11,
+-27,175,
+-92,20,
+115,31,
+-25,-68,
+-44,-8,
+-42,13,
+-21,16,
+-39,14,
+-35,-17,
+104,-10,
+38,69,
+-37,-49,
+80,16,
+24,55,
+24,-66,
+38,26,
+57,-74,
+-24,53,
+56,-112,
+-83,22,
+4,106,
+-42,22,
+186,94,
+-5,16,
+44,-43,
+143,-9,
+-25,96,
+-6,-2,
+-110,48,
+-106,115,
+-6,89,
+13,10,
+2,22,
+-86,60,
+-67,69,
+34,11,
+-61,-35,
+127,78,
+26,34,
+-99,113,
+68,55,
+-17,27,
+-115,13,
+-47,20,
+6,-24,
+0,-19,
+-26,14,
+15,-44,
+40,1,
+-22,43,
+-44,51,
+45,6,
+-28,119,
+122,125,
+45,52,
+7,-24,
+-19,21,
+11,-63,
+47,-4,
+23,-36,
+43,53,
+-48,19,
+52,-73,
+-24,24,
+44,-47,
+24,-43,
+2,-65,
+49,-18,
+-1,37,
+1,-11,
+46,30,
+15,-15,
+5,-25,
+35,31,
+-78,5,
+35,36,
+-16,-24,
+-38,-60,
+-20,25,
+-29,10,
+-30,16,
+51,-2,
+63,-71,
+17,58,
+-60,-22,
+-81,148,
+13,-67,
+71,-66,
+-56,-32,
+-8,-42,
+62,-29,
+40,-29,
+-17,16,
+-9,59,
+-60,110,
+97,9,
+8,-26,
+19,-63,
+44,1,
+81,23,
+-4,-57,
+52,19,
+17,-29,
+-23,47,
+-68,-34,
+-11,-44,
+74,-54,
+24,-70,
+56,-22,
+19,-23,
+8,3,
+95,16,
+-4,-97,
+19,-27,
+12,-8,
+-74,-87,
+-50,12,
+-14,14,
+31,77,
+12,-71,
+-25,-26,
+-41,-6,
+-19,-16,
+-28,115,
+-61,-11,
+58,-13,
+-7,-75,
+11,-15,
+-2,68,
+19,-33,
+50,27,
+72,-16,
+36,34,
+-26,9,
+41,-61,
+-12,-39,
+-48,-41,
+-112,-49,
+10,49,
+-49,2,
+-33,46,
+-42,43,
+35,-18,
+-123,11,
+24,-19,
+-28,-31,
+6,-11,
+26,17,
+91,42,
+23,-17,
+-21,85,
+-36,-111,
+31,38,
+65,7,
+-36,51,
+-34,70,
+-17,31,
+40,36,
+35,79,
+-6,-15,
+4,5,
+-24,68,
+-24,53,
+-7,-72,
+26,29,
+-21,48,
+-30,36,
+-3,-1,
+-19,-30,
+-23,39,
+5,-36,
+-11,8,
+29,26,
+51,-40,
+-19,-36,
+-24,1,
+2,50,
+0,-27,
+52,2,
+-20,15,
+-16,-6,
+34,34,
+45,-26,
+20,-6,
+2,-3,
+29,4,
+-14,-34,
+-43,47,
+-53,40,
+-12,25,
+-14,-16,
+-19,-30,
+-38,-47,
+-2,22,
+-8,-45,
+13,5,
+38,0,
+-5,21,
+-1,-11,
+-29,35,
+-14,-32,
+-27,27,
+-13,21,
+37,-14,
+7,-36,
+-36,45,
+5,-11,
+10,-18,
+30,-36,
+-27,-14,
+-11,8,
+29,29,
+27,-18,
+-36,10,
+-36,4,
+23,-17,
+45,54,
+-25,-14,
+-23,5,
+-4,-20,
+45,-54,
+-18,9,
+-20,-4,
+27,-27,
+27,18,
+-17,-18,
+-29,2,
+-42,11,
+-22,-16,
+38,-29,
+-25,35,
+31,12,
+-11,32,
+-52,0,
+21,-28,
+9,-11,
+-12,-15,
+17,8,
+49,11,
+2,6,
+-11,41,
+28,-4,
+-15,-5,
+15,-35,
+27,-18,
+-12,33,
+-27,19,
+15,-11,
+-23,15,
+-71,-44,
+51,-14,
+-28,6,
+3,-4,
+27,-19,
+17,-12,
+-13,3,
+14,19,
+15,26,
+-17,-29,
+-27,4,
+15,-14,
+5,-3,
+9,-2,
+2,-20,
+41,2,
+-5,6,
+19,-10,
+-25,22,
+44,10,
+-5,27,
+-9,7,
+3,19,
+19,19,
+30,-25,
+-9,-24,
+36,2,
+-35,-6,
+8,-3,
+4,16,
+-11,-4,
+-6,3,
+-15,-27,
+-17,19,
+10,8,
+13,26,
+-9,-5,
+-3,-8,
+14,-16,
+-10,-14,
+-16,-22,
+1,8,
+-13,1,
+8,4,
+-17,20,
+-14,-3,
+11,-20,
+0,7,
+7,2,
+7,-8,
+-6,-8,
+-6,-6,
+-2,0,
+-10,-10,
+-21,5,
+16,-3,
+-3,-9,
+-19,-5,
+-14,0,
+-4,2,
+-7,-4,
+5,4,
+-3,10,
+-4,9,
+0,-9,
+3,3,
+15,3,
+3,-4,
+0,-14,
+0,1,
+7,7,
+0,-1,
+0,-15,
+11,2,
+5,-3,
+-11,-4,
+13,2,
+0,0,
+1,-8,
+7,5,
+-10,3,
+-3,0,
+14,-11,
+-3,6,
+-4,3,
+9,-1,
+-3,0,
+4,-5,
+8,5,
+0,1,
+-1,2,
+6,0,
+-1,-1,
+-1,-1,
+5,2,
+-5,0,
+-5,0,
+6,0,
+-1,-1,
+-4,0,
+5,-1,
+-3,1,
+-3,0,
+6,0,
+-3,0,
+-3,-1,
+5,1,
+-4,0,
+-1,1,
+6,0,
+-5,0,
+-5,0,
+5,-2,
+-1,1,
+-1,1,
+6,0,
+-1,-2,
+0,-1,
+8,-5,
+4,5,
+-3,0,
+9,1,
+-4,-3,
+-3,-6,
+14,11,
+-3,0,
+-10,-3,
+7,-5,
+1,8,
+0,0,
+13,-2,
+-11,4,
+5,3,
+11,-2,
+0,15,
+0,1,
+7,-7,
+0,-1,
+0,14,
+3,4,
+15,-3,
+3,-3,
+0,9,
+-4,-9,
+-3,-10,
+5,-4,
+-7,4,
+-4,-2,
+-14,0,
+-19,5,
+-3,9,
+16,3,
+-21,-5,
+-10,10,
+-2,0,
+-6,6,
+-6,8,
+7,8,
+7,-2,
+0,-7,
+11,20,
+-14,3,
+-17,-20,
+8,-4,
+-13,-1,
+1,-8,
+-16,22,
+-10,14,
+14,16,
+-3,8,
+-9,5,
+13,-26,
+10,-8,
+-17,-19,
+-15,27,
+-6,-3,
+-11,4,
+4,-16,
+8,3,
+-35,6,
+36,-2,
+-9,24,
+30,25,
+19,-19,
+3,-19,
+-9,-7,
+-5,-27,
+44,-10,
+-25,-22,
+19,10,
+-5,-6,
+41,-2,
+2,20,
+9,2,
+5,3,
+15,14,
+-27,-4,
+-17,29,
+15,-26,
+14,-19,
+-13,-3,
+17,12,
+27,19,
+3,4,
+-28,-6,
+51,14,
+-71,44,
+-23,-15,
+15,11,
+-27,-19,
+-12,-33,
+27,18,
+15,35,
+-15,5,
+28,4,
+-11,-41,
+2,-6,
+49,-11,
+17,-8,
+-12,15,
+9,11,
+21,28,
+-52,0,
+-11,-32,
+31,-12,
+-25,-35,
+38,29,
+-22,16,
+-42,-11,
+-29,-2,
+-17,18,
+27,-18,
+27,27,
+-20,4,
+-18,-9,
+45,54,
+-4,20,
+-23,-5,
+-25,14,
+45,-54,
+23,17,
+-36,-4,
+-36,-10,
+27,18,
+29,-29,
+-11,-8,
+-27,14,
+30,36,
+10,18,
+5,11,
+-36,-45,
+7,36,
+37,14,
+-13,-21,
+-27,-27,
+-14,32,
+-29,-35,
+-1,11,
+-5,-21,
+38,0,
+13,-5,
+-8,45,
+-2,-22,
+-38,47,
+-19,30,
+-14,16,
+-12,-25,
+-53,-40,
+-43,-47,
+-14,34,
+29,-4,
+2,3,
+20,6,
+45,26,
+34,-34,
+-16,6,
+-20,-15,
+52,-2,
+0,27,
+2,-50,
+-24,-1,
+-19,36,
+51,40,
+29,-26,
+-11,-8,
+5,36,
+-23,-39,
+-19,30,
+-3,1,
+-30,-36,
+-21,-48,
+26,-29,
+-7,72,
+-24,-53,
+-24,-68,
+4,-5,
+-6,15,
+35,-79,
+40,-36,
+-17,-31,
+-34,-70,
+-36,-51,
+65,-7,
+31,-38,
+-36,111,
+-21,-85,
+23,17,
+91,-42,
+26,-17,
+6,11,
+-28,31,
+24,19,
+-123,-11,
+35,18,
+-42,-43,
+-33,-46,
+-49,-2,
+10,-49,
+-112,49,
+-48,41,
+-12,39,
+41,61,
+-26,-9,
+36,-34,
+72,16,
+50,-27,
+19,33,
+-2,-68,
+11,15,
+-7,75,
+58,13,
+-61,11,
+-28,-115,
+-19,16,
+-41,6,
+-25,26,
+12,71,
+31,-77,
+-14,-14,
+-50,-12,
+-74,87,
+12,8,
+19,27,
+-4,97,
+95,-16,
+8,-3,
+19,23,
+56,22,
+24,70,
+74,54,
+-11,44,
+-68,34,
+-23,-47,
+17,29,
+52,-19,
+-4,57,
+81,-23,
+44,-1,
+19,63,
+8,26,
+97,-9,
+-60,-110,
+-9,-59,
+-17,-16,
+40,29,
+62,29,
+-8,42,
+-56,32,
+71,66,
+13,67,
+-81,-148,
+-60,22,
+17,-58,
+63,71,
+51,2,
+-30,-16,
+-29,-10,
+-20,-25,
+-38,60,
+-16,24,
+35,-36,
+-78,-5,
+35,-31,
+5,25,
+15,15,
+46,-30,
+1,11,
+-1,-37,
+49,18,
+2,65,
+24,43,
+44,47,
+-24,-24,
+52,73,
+-48,-19,
+43,-53,
+23,36,
+47,4,
+11,63,
+-19,-21,
+7,24,
+45,-52,
+122,-125,
+-28,-119,
+45,-6,
+-44,-51,
+-22,-43,
+40,-1,
+15,44,
+-26,-14,
+0,19,
+6,24,
+-47,-20,
+-115,-13,
+-17,-27,
+68,-55,
+-99,-113,
+26,-34,
+127,-78,
+-61,35,
+34,-11,
+-67,-69,
+-86,-60,
+2,-22,
+13,-10,
+-6,-89,
+-106,-115,
+-110,-48,
+-6,2,
+-25,-96,
+143,9,
+44,43,
+-5,-16,
+186,-94,
+-42,-22,
+4,-106,
+-83,-22,
+56,112,
+-24,-53,
+57,74,
+38,-26,
+24,66,
+24,-55,
+80,-16,
+-37,49,
+38,-69,
+104,10,
+-35,17,
+-39,-14,
+-21,-16,
+-42,-13,
+-44,8,
+-25,68,
+115,-31,
+-92,-20,
+-27,-175,
+-43,11,
+4,63,
+-32,-26,
+-24,-72,
+-3,29,
+4,-137,
+-83,-70,
+-24,22,
+6,5,
+-12,9,
+29,-102,
+149,-54,
+8,-21,
+-10,149,
+20,23,
+0,-147,
+21,-105,
+38,51,
+-25,30,
+13,-60,
+50,5,
+42,-6,
+-30,-75,
+-1,-183,
+163,69,
+100,-59,
+40,4,
+18,19,
+66,52,
+34,-1,
+-23,13,
+34,7,
+-53,184,
+-64,67,
+-59,30,
+10,-88,
+-41,-66,
+46,75,
+107,-24,
+9,-98,
+-82,-53,
+197,17,
+-33,-84,
+63,102,
+70,31,
+-74,-33,
+3,25,
+57,-167,
+-82,-105,
+158,12,
+3,-41,
+-44,-80,
+-14,10,
+-18,-18,
+-85,76,
+-48,-64,
+-39,-73,
+-84,-89,
+16,-40,
+31,-21,
+37,59,
+-51,109,
+35,60,
+-127,124,
+-13,24,
+48,-74,
+-29,109,
+-35,13,
+-20,6,
+-8,22,
+-106,9,
+-62,-23,
+-46,-54,
+173,41,
+52,-27,
+54,-75,
+97,-57,
+-16,-131,
+102,-8,
+57,-15,
+1,79,
+178,-52,
+-74,25,
+119,-31,
+12,-44,
+-4,6,
+-53,138,
+-54,105,
+-45,9,
+10,49,
+57,-65,
+10,82,
+113,-23,
+61,-30,
+-47,-7,
+102,-88,
+-114,-108,
+-127,-7,
+-25,-93,
+-190,106,
+55,58,
+65,29,
+134,95,
+30,8,
+97,1,
+-94,54,
+-85,-33,
+5,109,
+-5,89,
+-24,-114,
+50,67,
+13,-90,
+26,-8,
+-61,-60,
+77,-136,
+-65,-72,
+52,66,
+-93,81,
+13,-100,
+-9,66,
+-40,-50,
+57,-41,
+-64,7,
+-34,110,
+57,-119,
+-73,-168,
+-14,41,
+-21,35,
+47,58,
+122,-5,
+-5,26,
+3,-28,
+-26,24,
+-80,174,
+-119,69,
+93,71,
+25,-54,
+118,-15,
+34,225,
+-78,-18,
+-6,34,
+-73,-163,
+96,48,
+-53,5,
+22,73,
+85,-150,
+-13,41,
+48,-50,
+-25,-39,
+158,26,
+-155,75,
+-146,43,
+70,-46,
+-111,75,
+114,82,
+-76,81,
+64,3,
+-60,-103,
+48,114,
+6,-169,
+124,11,
+-110,42,
+92,16,
+-42,-126,
+-195,176,
+17,-164,
+14,86,
+-51,152,
+-79,32,
+1,16,
+25,-143,
+-3,81,
+104,-76,
+-41,-47,
+102,-3,
+-125,-34,
+37,46,
+52,-86,
+158,137,
+-222,20,
+-32,-51,
+-80,-45,
+23,-145,
+40,23,
+-198,34,
+-111,136,
+-49,17,
+19,1,
+3,-27,
+-47,-64,
+14,-124,
+-128,39,
+25,92,
+164,-65,
+102,72,
+-61,-2,
+-80,-13,
+124,90,
+-38,-77,
+42,20,
+-7,98,
+1,-71,
+-120,109,
+87,-54,
+167,16,
+51,-43,
+60,94,
+-18,-115,
+120,-21,
+-80,58,
+25,-46,
+-105,6,
+-115,155,
+111,10,
+-75,-16,
+-85,-107,
+44,-92,
+-144,-192,
+-107,120,
+52,9,
+-110,194,
+154,125,
+116,20,
+31,72,
+83,-108,
+39,-19,
+-67,-78,
+49,-126,
+-68,18,
+49,-33,
+-72,23,
+-113,107,
+-156,50,
+-48,16,
+109,-79,
+-15,20,
+23,-178,
+-4,70,
+4,-207,
+-120,-42,
+155,9,
+62,-193,
+117,27,
+110,-70,
+-1,-214,
+-19,-21,
+40,-99,
+74,147,
+-70,141,
+9,16,
+24,-32,
+-139,139,
+25,-26,
+-38,-80,
+-2,116,
+-87,36,
+-203,72,
+-70,-19,
+-71,27,
+-36,-128,
+112,63,
+108,70,
+104,37,
+31,121,
+36,87,
+-156,-3,
+115,76,
+103,64,
+-30,-141,
+68,36,
+170,-152,
+88,59,
+158,43,
+-66,-53,
+-90,12,
+31,-22,
+-81,-211,
+101,44,
+55,-129,
+114,71,
+35,-109,
+-44,-136,
+3,60,
+174,68,
+18,-27,
+-262,182,
+-78,38,
+-162,-29,
+44,0,
+8,-3,
+-98,-132,
+-62,-44,
+112,6,
+-100,-241,
+112,-175,
+91,-41,
+242,58,
+-47,-55,
+2,-105,
+94,25,
+-37,-13,
+-100,-25,
+176,-28,
+251,-39,
+-87,0,
+-164,34,
+-49,-95,
+177,-124,
+58,-137,
+100,50,
+-100,7,
+-11,27,
+184,102,
+79,70,
+110,-70,
+17,71,
+66,65,
+-92,-14,
+13,13,
+163,199,
+244,-64,
+-163,23,
+20,-111,
+-30,142,
+-43,76,
+99,-10,
+11,128,
+-90,-2,
+90,-134,
+7,-71,
+-2,16,
+-7,-45,
+59,-150,
+20,40,
+-196,-108,
+177,-77,
+-192,-16,
+-29,40,
+30,-86,
+77,289,
+186,-220,
+73,-101,
+58,-117,
+-83,-79,
+26,-149,
+76,-136,
+112,200,
+17,79,
+210,206,
+209,115,
+-5,-182,
+5,114,
+186,165,
+87,-22,
+-22,178,
+67,-121,
+-21,-110,
+206,-33,
+140,52,
+136,41,
+32,-81,
+59,231,
+4,174,
+-37,-120,
+-6,59,
+-28,75,
+-31,-110,
+-38,-9,
+121,52,
+51,-28,
+80,105,
+172,-156,
+299,-77,
+82,-188,
+-11,18,
+-51,43,
+34,-39,
+-200,-69,
+72,-109,
+68,30,
+-34,-79,
+-1,100,
+-114,-132,
+31,5,
+-165,-36,
+-122,-106,
+-3,11,
+-1,-49,
+85,-47,
+-32,3,
+8,-95,
+-10,-69,
+-42,114,
+132,-77,
+6,111,
+-65,-23,
+-50,27,
+-59,123,
+115,56,
+11,-13,
+-79,-8,
+30,-192,
+-165,-86,
+310,226,
+2,151,
+76,-103,
+-231,-14,
+-128,-1,
+6,52,
+-141,-91,
+-60,-149,
+59,-3,
+157,196,
+169,-105,
+170,-9,
+-199,-153,
+-95,8,
+40,-140,
+-54,-128,
+5,-108,
+-113,3,
+100,-148,
+-57,111,
+52,174,
+-158,-30,
+-196,-79,
+-49,-191,
+-168,-41,
+-42,-53,
+106,-141,
+-124,-39,
+-111,-177,
+-120,22,
+-80,40,
+-84,45,
+-163,250,
+258,15,
+-20,-130,
+0,6,
+-165,98,
+-68,31,
+158,98,
+27,147,
+247,-24,
+-214,73,
+-166,-160,
+43,40,
+18,16,
+126,-79,
+-141,-145,
+116,-180,
+42,-97,
+-37,-4,
+-43,29,
+-211,-143,
+-149,303,
+33,195,
+-97,86,
+182,17,
+108,267,
+23,-100,
+90,178,
+-53,54,
+-48,233,
+-77,-151,
+-28,112,
+44,-121,
+39,-272,
+234,-115,
+-211,161,
+180,17,
+-270,-84,
+156,-99,
+245,-71,
+92,274,
+127,-3,
+234,-182,
+80,-20,
+69,-31,
+2,-21,
+206,97,
+115,120,
+-44,-85,
+-167,26,
+352,38,
+118,35,
+-180,112,
+145,29,
+-62,-2,
+-42,125,
+28,-56,
+70,-134,
+-127,-44,
+-175,-63,
+120,103,
+1,113,
+72,-187,
+-57,-35,
+-21,8,
+149,56,
+-41,-104,
+2,-178,
+-64,-64,
+37,-52,
+-98,-32,
+37,-33,
+27,219,
+232,197,
+101,51,
+-72,14,
+-191,168,
+1,43,
+-159,84,
+37,15,
+-112,-90,
+70,-88,
+-6,-67,
+126,108,
+-91,12,
+86,139,
+-14,110,
+122,-23,
+-75,-52,
+-61,-74,
+-2,80,
+183,155,
+-233,-229,
+-143,-23,
+-1,102,
+18,30,
+15,-147,
+140,-56,
+-134,91,
+-3,190,
+189,-72,
+-137,-236,
+247,39,
+-48,304,
+-263,-212,
+-9,-73,
+-105,86,
+-70,10,
+67,-75,
+-123,-77,
+11,-65,
+27,275,
+2,248,
+-101,-103,
+-19,117,
+-22,-141,
+257,-30,
+61,75,
+10,177,
+-82,15,
+-167,-161,
+24,151,
+-17,-147,
+37,-280,
+166,47,
+18,-37,
+195,-60,
+-153,15,
+-225,-41,
+14,-222,
+95,171,
+91,68,
+117,-80,
+-174,299,
+-52,112,
+-183,111,
+12,-216,
+32,226,
+-136,-242,
+-133,-163,
+75,152,
+168,-99,
+-1,-174,
+72,233,
+-229,87,
+45,-40,
+-12,-79,
+-132,7,
+-14,-166,
+-49,-36,
+-8,-314,
+82,240,
+-46,-162,
+283,-57,
+79,-166,
+91,207,
+198,-79,
+74,-226,
+-148,6,
+-192,-344,
+-40,187,
+11,-110,
+-33,136,
+57,-33,
+150,-5,
+-234,127,
+46,149,
+-106,89,
+296,-61,
+104,-94,
+32,36,
+-135,13,
+-78,-32,
+-270,-23,
+-78,163,
+-43,180,
+44,-175,
+91,168,
+136,115,
+5,30,
+-166,63,
+-62,-123,
+163,-84,
+-155,-36,
+-158,53,
+63,49,
+-156,31,
+-14,244,
+6,50,
+-10,23,
+-134,-91,
+-75,256,
+33,264,
+-20,66,
+-18,-28,
+20,104,
+200,-71,
+66,46,
+-29,115,
+-93,-162,
+174,-182,
+-125,-121,
+-267,115,
+26,-140,
+207,-65,
+-192,66,
+-106,-157,
+-125,-175,
+-2,66,
+-78,-169,
+34,134,
+-33,-179,
+-97,-176,
+-49,136,
+291,109,
+-235,-60,
+-112,-86,
+-44,-111,
+246,44,
+-4,57,
+-213,-274,
+134,-49,
+-114,-206,
+231,-125,
+70,-27,
+-47,-77,
+-35,-57,
+-10,-105,
+-2,-25,
+163,244,
+-93,160,
+-90,-118,
+92,-67,
+-251,-37,
+-81,255,
+14,32,
+253,132,
+11,0,
+-60,117,
+-135,-57,
+325,20,
+-105,163,
+59,-48,
+102,-24,
+-103,61,
+-11,-32,
+-119,69,
+87,-46,
+-80,-34,
+317,107,
+28,77,
+-90,82,
+59,-22,
+47,181,
+-136,-41,
+37,-97,
+80,2,
+-195,133,
+-3,-223,
+-37,62,
+-67,-3,
+-309,-108,
+5,186,
+-28,-23,
+2,128,
+100,-3,
+-176,-56,
+-78,-124,
+-115,53,
+101,-119,
+82,103,
+130,-58,
+149,-85,
+-104,-133,
+83,114,
+47,152,
+-27,128,
+-5,183,
+45,52,
+232,-78,
+157,-82,
+86,-74,
+-140,-82,
+39,219,
+-103,-93,
+128,35,
+-5,-100,
+-85,-45,
+261,-66,
+-7,-147,
+-181,-85,
+-171,80,
+255,-117,
+93,152,
+138,14,
+43,-120,
+-224,-259,
+59,-89,
+-73,-137,
+-272,-128,
+-193,-14,
+-16,9,
+-170,-84,
+89,-490,
+93,116,
+168,326,
+82,190,
+82,44,
+155,224,
+246,40,
+-206,101,
+-47,-127,
+-35,38,
+59,-136,
+-51,76,
+74,-62,
+-170,222,
+-176,-20,
+10,167,
+-29,-103,
+64,55,
+-158,15,
+-111,109,
+54,-77,
+-130,-41,
+-89,157,
+110,-18,
+61,-117,
+115,-97,
+161,-62,
+-14,283,
+-45,-62,
+12,-16,
+27,32,
+141,104,
+-70,-57,
+59,-89,
+-72,-94,
+-102,-123,
+-276,-138,
+70,26,
+-202,-3,
+-30,-217,
+48,116,
+-140,-2,
+-89,68,
+-25,-48,
+14,114,
+-65,10,
+78,-64,
+77,209,
+-52,151,
+-102,104,
+19,60,
+-21,-56,
+-41,59,
+97,114,
+-95,-172,
+-364,330,
+162,-116,
+133,35,
+103,-136,
+49,-124,
+-62,164,
+4,46,
+225,28,
+-62,-86,
+52,-9,
+-33,-83,
+-82,-123,
+-17,116,
+21,-90,
+54,161,
+-38,280,
+206,171,
+167,-28,
+36,105,
+45,18,
+22,-300,
+17,-38,
+107,99,
+-92,20,
+117,-86,
+-114,-40,
+-38,-47,
+54,18,
+24,-113,
+152,-122,
+308,181,
+155,-200,
+-67,-24,
+-92,-5,
+-44,237,
+-54,-79,
+-30,147,
+222,-183,
+50,216,
+-150,-96,
+175,52,
+235,-58,
+37,-199,
+15,-32,
+231,-242,
+-123,-65,
+-22,32,
+131,-48,
+24,174,
+34,-141,
+164,-28,
+-72,123,
+-142,13,
+49,-132,
+0,-167,
+123,-67,
+-120,-4,
+92,72,
+-35,86,
+105,-54,
+-41,-42,
+71,88,
+-12,125,
+178,158,
+152,267,
+128,109,
+-141,13,
+29,-47,
+45,28,
+50,85,
+37,199,
+-90,-125,
+25,70,
+-99,121,
+130,-8,
+-191,-13,
+-31,-145,
+-30,114,
+120,-70,
+-177,93,
+-122,32,
+-52,97,
+-138,-47,
+-21,-90,
+103,18,
+100,-86,
+144,37,
+-10,21,
+95,76,
+35,6,
+-39,-77,
+71,56,
+1,159,
+-21,-86,
+134,50,
+-75,64,
+6,83,
+102,64,
+133,-37,
+120,-146,
+235,55,
+-186,-14,
+34,39,
+-62,-150,
+41,42,
+168,-171,
+-144,-35,
+52,180,
+-92,-32,
+0,-190,
+-82,11,
+109,-138,
+-144,-79,
+10,65,
+-17,9,
+-14,80,
+2,97,
+6,-16,
+-56,-76,
+72,-48,
+-41,81,
+-5,-54,
+30,-221,
+88,153,
+-41,-98,
+53,-38,
+-138,222,
+-68,-48,
+-141,5,
+-92,-296,
+-157,14,
+101,5,
+-220,-148,
+-233,39,
+59,87,
+-12,-4,
+144,-125,
+-5,-28,
+-57,-200,
+14,5,
+20,-12,
+70,-65,
+-58,-37,
+72,-124,
+74,122,
+-307,-3,
+45,-151,
+95,43,
+69,233,
+10,10,
+-73,-198,
+83,108,
+209,10,
+23,-5,
+34,171,
+28,-161,
+-93,84,
+342,22,
+51,182,
+-151,-73,
+-22,-101,
+151,94,
+1,68,
+73,88,
+-232,-30,
+-228,119,
+132,174,
+-83,-87,
+185,42,
+-40,130,
+177,114,
+81,-94,
+68,40,
+194,-100,
+-202,180,
+-86,180,
+-20,-9,
+-97,80,
+-77,-68,
+78,-39,
+150,-18,
+-130,34,
+-31,103,
+-136,-156,
+-13,36,
+-97,-135,
+-77,26,
+-220,174,
+98,37,
+-93,-28,
+29,-192,
+100,163,
+-108,130,
+41,-7,
+-138,63,
+23,21,
+-228,-49,
+-162,293,
+-70,84,
+-11,119,
+27,26,
+95,-24,
+43,56,
+-171,-143,
+-32,-85,
+114,203,
+145,91,
+119,106,
+42,-23,
+-92,21,
+-8,-28,
+-7,-105,
+44,21,
+6,37,
+82,-97,
+4,42,
+-220,45,
+72,-1,
+-29,66,
+145,169,
+166,-168,
+106,189,
+-165,37,
+-4,96,
+-76,27,
+-90,177,
+72,240,
+-94,-130,
+-246,-79,
+68,175,
+-124,-122,
+-39,-186,
+49,64,
+37,-10,
+38,-101,
+-19,-41,
+-28,131,
+89,68,
+-131,-55,
+168,40,
+18,-45,
+55,80,
+2,100,
+84,-9,
+200,205,
+200,83,
+19,36,
+-246,136,
+48,37,
+-45,17,
+-291,-92,
+-140,-236,
+-32,9,
+30,141,
+59,32,
+101,100,
+109,-26,
+-108,40,
+-62,159,
+-77,30,
+-99,-16,
+-100,58,
+-225,41,
+-179,25,
+52,176,
+28,-77,
+94,-198,
+-23,-52,
+-161,-35,
+-63,126,
+-82,-57,
+33,-47,
+32,25,
+-18,-49,
+-230,-44,
+178,-88,
+-5,-83,
+-27,-207,
+-213,190,
+-202,96,
+80,-27,
+-40,-222,
+44,-111,
+206,135,
+79,61,
+-11,-9,
+-70,40,
+-95,-110,
+-161,158,
+42,-59,
+8,-17,
+-82,41,
+67,-46,
+-53,11,
+-131,-15,
+66,-69,
+-19,-85,
+8,57,
+125,122,
+-47,128,
+-172,-41,
+118,59,
+-105,40,
+61,-99,
+104,-43,
+3,94,
+-22,158,
+-65,33,
+35,70,
+130,-136,
+69,160,
+-153,35,
+-108,-41,
+236,195,
+-10,33,
+-49,92,
+7,-64,
+-17,-72,
+153,131,
+-53,-104,
+-115,-53,
+-17,-23,
+142,-145,
+-2,172,
+20,-52,
+184,25,
+120,-44,
+-100,40,
+160,1,
+-103,-136,
+200,231,
+-40,-130,
+348,109,
+-118,29,
+10,105,
+1,-136,
+-23,-118,
+-125,61,
+-206,24,
+-13,-27,
+-4,-49,
+-81,-29,
+133,-7,
+155,121,
+67,122,
+-18,-2,
+8,-93,
+-11,-104,
+-4,-122,
+-75,-43,
+12,131,
+177,-74,
+-78,75,
+-117,20,
+59,-14,
+-103,114,
+-29,-15,
+-164,14,
+174,179,
+9,-71,
+283,17,
+61,105,
+-31,33,
+56,100,
+144,26,
+42,-110,
+107,-59,
+1,-51,
+201,-80,
+69,-86,
+-41,-60,
+61,-253,
+-25,13,
+120,123,
+-202,100,
+-31,25,
+114,-46,
+22,-144,
+-7,158,
+27,143,
+-87,149,
+50,-47,
+-166,29,
+66,-60,
+-34,-166,
+-164,-145,
+-25,154,
+121,190,
+-128,-78,
+-47,9,
+-160,88,
+107,73,
+140,-24,
+-85,-253,
+11,73,
+139,5,
+148,-27,
+-94,-90,
+-228,-72,
+-4,-18,
+-7,50,
+-7,-211,
+65,108,
+272,-27,
+-11,-73,
+-7,116,
+-93,79,
+-4,-107,
+136,-30,
+135,-76,
+-93,145,
+-89,-65,
+-173,21,
+-44,84,
+-51,83,
+-66,164,
+-86,-61,
+-34,131,
+-14,132,
+49,3,
+135,-12,
+14,136,
+-11,76,
+80,239,
+-18,-62,
+111,34,
+32,-180,
+-43,46,
+116,-54,
+10,-69,
+-64,-14,
+129,44,
+-37,105,
+14,-80,
+-74,-71,
+-145,80,
+-62,-35,
+19,-38,
+79,98,
+102,144,
+29,33,
+-67,37,
+-20,-57,
+-23,-53,
+20,-67,
+31,-202,
+-66,-4,
+-124,82,
+28,-144,
+175,97,
+-133,55,
+144,250,
+-36,-152,
+55,212,
+-90,-79,
+47,11,
+23,93,
+-104,134,
+130,2,
+-49,42,
+41,76,
+-100,-3,
+-64,-98,
+29,7,
+-47,9,
+57,120,
+-66,-68,
+-30,-81,
+206,130,
+-21,36,
+53,-6,
+69,-110,
+-23,4,
+78,127,
+-91,38,
+97,-58,
+111,-56,
+64,80,
+-43,36,
+-44,-17,
+5,95,
+32,-115,
+28,-7,
+14,-27,
+156,5,
+21,68,
+-81,22,
+-29,-65,
+-1,2,
+-46,-43,
+41,-41,
+-17,46,
+-33,-28,
+58,-30,
+-39,-14,
+76,-139,
+-79,-43,
+28,12,
+77,66,
+30,95,
+-23,79,
+-163,-7,
+-79,-51,
+181,-8,
+0,-212,
+-30,-94,
+-132,188,
+-26,-95,
+-50,-7,
+-9,-67,
+-15,18,
+-17,16,
+-6,-2,
+-4,-129,
+94,-44,
+-125,-19,
+-119,6,
+11,101,
+21,-27,
+85,-103,
+21,-129,
+1,-100,
+19,-42,
+38,-50,
+48,-70,
+69,-18,
+5,9,
+-26,117,
+128,20,
+40,-4,
+-33,36,
+-56,-152,
+-135,-152,
+7,-13,
+107,-32,
+-13,-72,
+60,-61,
+108,165,
+12,123,
+99,30,
+26,36,
+11,-10,
+48,78,
+-43,2,
+1,54,
+35,-81,
+73,72,
+-9,-20,
+-92,-41,
+40,106,
+-4,-3,
+-103,-83,
+-33,60,
+36,-101,
+2,-68,
+-66,-45,
+71,-21,
+186,-3,
+-11,-32,
+-14,-74,
+177,-8,
+-76,-1,
+54,126,
+16,52,
+57,51,
+6,-68,
+31,-10,
+-6,-70,
+-13,52,
+-10,51,
+14,-37,
+-34,41,
+-47,-25,
+23,-43,
+17,13,
+-13,78,
+142,72,
+35,64,
+-18,-24,
+-45,-70,
+-43,-13,
+56,84,
+-3,4,
+6,-22,
+160,-7,
+28,-117,
+62,-86,
+-9,-49,
+-2,32,
+44,-115,
+56,66,
+36,-4,
+-1,-22,
+-123,59,
+94,-73,
+73,-20,
+-29,-90,
+10,-18,
+-71,-51,
+6,0,
+-19,-93,
+67,0,
+-27,34,
+-45,62,
+33,-55,
+-46,-37,
+60,0,
+79,-88,
+32,-19,
+46,4,
+-73,98,
+14,29,
+30,28,
+78,98,
+-12,-67,
+9,116,
+34,-51,
+72,-69,
+14,-65,
+-17,-58,
+90,87,
+8,33,
+-42,-24,
+-10,-49,
+33,53,
+91,57,
+-74,87,
+52,-77,
+-22,18,
+35,83,
+38,11,
+-28,62,
+-18,15,
+-24,-70,
+90,62,
+43,91,
+-77,-93,
+-3,-18,
+43,-32,
+-9,29,
+-85,18,
+28,-18,
+-5,43,
+-63,-14,
+12,-18,
+-86,15,
+-28,8,
+12,75,
+27,-50,
+-10,-69,
+-7,-48,
+-35,-49,
+-20,28,
+-19,-92,
+-138,-41,
+104,-36,
+28,-20,
+-28,-44,
+27,51,
+-24,-3,
+-15,13,
+-62,7,
+36,-2,
+9,-19,
+-71,34,
+26,-27,
+36,-10,
+-4,22,
+51,-9,
+-3,-43,
+-44,32,
+0,-46,
+-53,25,
+-42,-26,
+0,-5,
+35,-44,
+2,44,
+-36,-31,
+-48,51,
+24,21,
+-53,-93,
+41,50,
+-9,4,
+-32,67,
+-25,57,
+26,25,
+29,-15,
+28,20,
+-8,-7,
+15,25,
+8,2,
+44,-5,
+-19,20,
+-24,-1,
+43,12,
+20,41,
+-33,-1,
+28,63,
+-32,32,
+-23,-29,
+5,-17,
+2,-30,
+37,-50,
+-1,-22,
+23,-10,
+-28,42,
+26,-62,
+-60,-4,
+20,-20,
+53,31,
+-21,-48,
+12,12,
+18,-7,
+54,11,
+-8,34,
+-4,-21,
+-3,-9,
+40,6,
+66,74,
+59,23,
+25,26,
+29,-11,
+-8,23,
+-23,-8,
+27,32,
+28,-23,
+-15,22,
+-10,-23,
+-38,47,
+-59,-12,
+28,-39,
+26,0,
+-29,23,
+11,17,
+-12,13,
+35,26,
+-13,-12,
+-28,-3,
+-23,17,
+-61,42,
+-4,-11,
+-33,62,
+-12,47,
+46,-34,
+-45,1,
+55,63,
+-43,1,
+31,-38,
+24,16,
+37,-32,
+-61,-29,
+19,62,
+-15,57,
+2,29,
+-25,30,
+-16,-8,
+9,-14,
+-17,11,
+-21,-30,
+4,31,
+33,-6,
+-29,9,
+-45,14,
+-9,0,
+25,9,
+0,43,
+26,32,
+75,7,
+11,-7,
+11,24,
+-8,-20,
+0,-13,
+-28,8,
+-6,-23,
+-1,28,
+-18,13,
+37,14,
+4,-7,
+-5,-2,
+-23,20,
+-29,47,
+46,-9,
+-22,-26,
+41,-45,
+-18,20,
+11,10,
+14,-23,
+-13,10,
+23,-7,
+45,-29,
+8,28,
+11,13,
+-3,-19,
+6,6,
+17,7,
+-17,-40,
+28,1,
+-8,1,
+-11,-23,
+-18,4,
+10,-30,
+-16,-11,
+-32,-36,
+-3,3,
+-18,-7,
+-12,11,
+19,-2,
+10,21,
+-22,-3,
+23,-13,
+6,10,
+18,14,
+-25,15,
+-20,18,
+11,3,
+8,-7,
+1,-11,
+-7,-8,
+3,-2,
+19,-19,
+-13,-10,
+9,23,
+-5,-19,
+27,-20,
+-3,-5,
+20,-14,
+-14,11,
+3,0,
+-14,1,
+6,-18,
+-10,2,
+24,-1,
+11,35,
+11,9,
+18,-2,
+39,23,
+-2,21,
+-27,-17,
+-33,8,
+18,-12,
+-5,-25,
+-20,-16,
+-1,-5,
+-16,-13,
+-21,4,
+-12,-10,
+8,6,
+-2,28,
+10,1,
+-10,-3,
+-1,-18,
+-7,4,
+-13,8,
+-1,10,
+1,-9,
+-15,2,
+14,13,
+0,-19,
+2,3,
+-7,5,
+-6,8,
+-5,13,
+5,12,
+10,-10,
+8,1,
+9,10,
+5,-7,
+-5,3,
+-9,6,
+4,5,
+-4,6,
+4,4,
+-5,-3,
+-2,-12,
+-4,4,
+2,-5,
+-1,2,
+8,5,
+-2,-9,
+2,-5,
+0,-5,
+-3,0,
+1,-4,
+-3,1,
+4,-3,
+-4,1,
+-1,1,
+3,-4,
+2,2,
+-2,2,
+5,-2,
+1,3,
+-1,7,
+1,-7,
+-1,2,
+1,2,
+1,-4,
+-1,1,
+0,4,
+1,-4,
+0,0,
+0,5,
+0,-5,
+0,0,
+0,5,
+0,-5,
+0,0,
+1,4,
+0,-4,
+-1,-1,
+1,4,
+1,-2,
+-1,-2,
+1,7,
+-1,-7,
+1,-3,
+5,2,
+-2,-2,
+2,-2,
+3,4,
+-1,-1,
+-4,-1,
+4,3,
+-3,-1,
+1,4,
+-3,0,
+0,5,
+2,5,
+-2,9,
+8,-5,
+-1,-2,
+2,5,
+-4,-4,
+-2,12,
+-5,3,
+4,-4,
+-4,-6,
+4,-5,
+-9,-6,
+-5,-3,
+5,7,
+9,-10,
+8,-1,
+10,10,
+5,-12,
+-5,-13,
+-6,-8,
+-7,-5,
+2,-3,
+0,19,
+14,-13,
+-15,-2,
+1,9,
+-1,-10,
+-13,-8,
+-7,-4,
+-1,18,
+-10,3,
+10,-1,
+-2,-28,
+8,-6,
+-12,10,
+-21,-4,
+-16,13,
+-1,5,
+-20,16,
+-5,25,
+18,12,
+-33,-8,
+-27,17,
+-2,-21,
+39,-23,
+18,2,
+11,-9,
+11,-35,
+24,1,
+-10,-2,
+6,18,
+-14,-1,
+3,0,
+-14,-11,
+20,14,
+-3,5,
+27,20,
+-5,19,
+9,-23,
+-13,10,
+19,19,
+3,2,
+-7,8,
+1,11,
+8,7,
+11,-3,
+-20,-18,
+-25,-15,
+18,-14,
+6,-10,
+23,13,
+-22,3,
+10,-21,
+19,2,
+-12,-11,
+-18,7,
+-3,-3,
+-32,36,
+-16,11,
+10,30,
+-18,-4,
+-11,23,
+-8,-1,
+28,-1,
+-17,40,
+17,-7,
+6,-6,
+-3,19,
+11,-13,
+8,-28,
+45,29,
+23,7,
+-13,-10,
+14,23,
+11,-10,
+-18,-20,
+41,45,
+-22,26,
+46,9,
+-29,-47,
+-23,-20,
+-5,2,
+4,7,
+37,-14,
+-18,-13,
+-1,-28,
+-6,23,
+-28,-8,
+0,13,
+-8,20,
+11,-24,
+11,7,
+75,-7,
+26,-32,
+0,-43,
+25,-9,
+-9,0,
+-45,-14,
+-29,-9,
+33,6,
+4,-31,
+-21,30,
+-17,-11,
+9,14,
+-16,8,
+-25,-30,
+2,-29,
+-15,-57,
+19,-62,
+-61,29,
+37,32,
+24,-16,
+31,38,
+-43,-1,
+55,-63,
+-45,-1,
+46,34,
+-12,-47,
+-33,-62,
+-4,11,
+-61,-42,
+-23,-17,
+-28,3,
+-13,12,
+35,-26,
+-12,-13,
+11,-17,
+-29,-23,
+26,0,
+28,39,
+-59,12,
+-38,-47,
+-10,23,
+-15,-22,
+28,23,
+27,-32,
+-23,8,
+-8,-23,
+29,11,
+25,-26,
+59,-23,
+66,-74,
+40,-6,
+-3,9,
+-4,21,
+-8,-34,
+54,-11,
+18,7,
+12,-12,
+-21,48,
+53,-31,
+20,20,
+-60,4,
+26,62,
+-28,-42,
+23,10,
+-1,22,
+37,50,
+2,30,
+5,17,
+-23,29,
+-32,-32,
+28,-63,
+-33,1,
+20,-41,
+43,-12,
+-24,1,
+-19,-20,
+44,5,
+8,-2,
+15,-25,
+-8,7,
+28,-20,
+29,15,
+26,-25,
+-25,-57,
+-32,-67,
+-9,-4,
+41,-50,
+-53,93,
+24,-21,
+-48,-51,
+-36,31,
+2,-44,
+35,44,
+0,5,
+-42,26,
+-53,-25,
+0,46,
+-44,-32,
+-3,43,
+51,9,
+-4,-22,
+36,10,
+26,27,
+-71,-34,
+9,19,
+36,2,
+-62,-7,
+-15,-13,
+-24,3,
+27,-51,
+-28,44,
+28,20,
+104,36,
+-138,41,
+-19,92,
+-20,-28,
+-35,49,
+-7,48,
+-10,69,
+27,50,
+12,-75,
+-28,-8,
+-86,-15,
+12,18,
+-63,14,
+-5,-43,
+28,18,
+-85,-18,
+-9,-29,
+43,32,
+-3,18,
+-77,93,
+43,-91,
+90,-62,
+-24,70,
+-18,-15,
+-28,-62,
+38,-11,
+35,-83,
+-22,-18,
+52,77,
+-74,-87,
+91,-57,
+33,-53,
+-10,49,
+-42,24,
+8,-33,
+90,-87,
+-17,58,
+14,65,
+72,69,
+34,51,
+9,-116,
+-12,67,
+78,-98,
+30,-28,
+14,-29,
+-73,-98,
+46,-4,
+32,19,
+79,88,
+60,0,
+-46,37,
+33,55,
+-45,-62,
+-27,-34,
+67,0,
+-19,93,
+6,0,
+-71,51,
+10,18,
+-29,90,
+73,20,
+94,73,
+-123,-59,
+-1,22,
+36,4,
+56,-66,
+44,115,
+-2,-32,
+-9,49,
+62,86,
+28,117,
+160,7,
+6,22,
+-3,-4,
+56,-84,
+-43,13,
+-45,70,
+-18,24,
+35,-64,
+142,-72,
+-13,-78,
+17,-13,
+23,43,
+-47,25,
+-34,-41,
+14,37,
+-10,-51,
+-13,-52,
+-6,70,
+31,10,
+6,68,
+57,-51,
+16,-52,
+54,-126,
+-76,1,
+177,8,
+-14,74,
+-11,32,
+186,3,
+71,21,
+-66,45,
+2,68,
+36,101,
+-33,-60,
+-103,83,
+-4,3,
+40,-106,
+-92,41,
+-9,20,
+73,-72,
+35,81,
+1,-54,
+-43,-2,
+48,-78,
+11,10,
+26,-36,
+99,-30,
+12,-123,
+108,-165,
+60,61,
+-13,72,
+107,32,
+7,13,
+-135,152,
+-56,152,
+-33,-36,
+40,4,
+128,-20,
+-26,-117,
+5,-9,
+69,18,
+48,70,
+38,50,
+19,42,
+1,100,
+21,129,
+85,103,
+21,27,
+11,-101,
+-119,-6,
+-125,19,
+94,44,
+-4,129,
+-6,2,
+-17,-16,
+-15,-18,
+-9,67,
+-50,7,
+-26,95,
+-132,-188,
+-30,94,
+0,212,
+181,8,
+-79,51,
+-163,7,
+-23,-79,
+30,-95,
+77,-66,
+28,-12,
+-79,43,
+76,139,
+-39,14,
+58,30,
+-33,28,
+-17,-46,
+41,41,
+-46,43,
+-1,-2,
+-29,65,
+-81,-22,
+21,-68,
+156,-5,
+14,27,
+28,7,
+32,115,
+5,-95,
+-44,17,
+-43,-36,
+64,-80,
+111,56,
+97,58,
+-91,-38,
+78,-127,
+-23,-4,
+69,110,
+53,6,
+-21,-36,
+206,-130,
+-30,81,
+-66,68,
+57,-120,
+-47,-9,
+29,-7,
+-64,98,
+-100,3,
+41,-76,
+-49,-42,
+130,-2,
+-104,-134,
+23,-93,
+47,-11,
+-90,79,
+55,-212,
+-36,152,
+144,-250,
+-133,-55,
+175,-97,
+28,144,
+-124,-82,
+-66,4,
+31,202,
+20,67,
+-23,53,
+-20,57,
+-67,-37,
+29,-33,
+102,-144,
+79,-98,
+19,38,
+-62,35,
+-145,-80,
+-74,71,
+14,80,
+-37,-105,
+129,-44,
+-64,14,
+10,69,
+116,54,
+-43,-46,
+32,180,
+111,-34,
+-18,62,
+80,-239,
+-11,-76,
+14,-136,
+135,12,
+49,-3,
+-14,-132,
+-34,-131,
+-86,61,
+-66,-164,
+-51,-83,
+-44,-84,
+-173,-21,
+-89,65,
+-93,-145,
+135,76,
+136,30,
+-4,107,
+-93,-79,
+-7,-116,
+-11,73,
+272,27,
+65,-108,
+-7,211,
+-7,-50,
+-4,18,
+-228,72,
+-94,90,
+148,27,
+139,-5,
+11,-73,
+-85,253,
+140,24,
+107,-73,
+-160,-88,
+-47,-9,
+-128,78,
+121,-190,
+-25,-154,
+-164,145,
+-34,166,
+66,60,
+-166,-29,
+50,47,
+-87,-149,
+27,-143,
+-7,-158,
+22,144,
+114,46,
+-31,-25,
+-202,-100,
+120,-123,
+-25,-13,
+61,253,
+-41,60,
+69,86,
+201,80,
+1,51,
+107,59,
+42,110,
+144,-26,
+56,-100,
+-31,-33,
+61,-105,
+283,-17,
+9,71,
+174,-179,
+-164,-14,
+-29,15,
+-103,-114,
+59,14,
+-117,-20,
+-78,-75,
+177,74,
+12,-131,
+-75,43,
+-4,122,
+-11,104,
+8,93,
+-18,2,
+67,-122,
+155,-121,
+133,7,
+-81,29,
+-4,49,
+-13,27,
+-206,-24,
+-125,-61,
+-23,118,
+1,136,
+10,-105,
+-118,-29,
+348,-109,
+-40,130,
+200,-231,
+-103,136,
+160,-1,
+-100,-40,
+120,44,
+184,-25,
+20,52,
+-2,-172,
+142,145,
+-17,23,
+-115,53,
+-53,104,
+153,-131,
+-17,72,
+7,64,
+-49,-92,
+-10,-33,
+236,-195,
+-108,41,
+-153,-35,
+69,-160,
+130,136,
+35,-70,
+-65,-33,
+-22,-158,
+3,-94,
+104,43,
+61,99,
+-105,-40,
+118,-59,
+-172,41,
+-47,-128,
+125,-122,
+8,-57,
+-19,85,
+66,69,
+-131,15,
+-53,-11,
+67,46,
+-82,-41,
+8,17,
+42,59,
+-161,-158,
+-95,110,
+-70,-40,
+-11,9,
+79,-61,
+206,-135,
+44,111,
+-40,222,
+80,27,
+-202,-96,
+-213,-190,
+-27,207,
+-5,83,
+178,88,
+-230,44,
+-18,49,
+32,-25,
+33,47,
+-82,57,
+-63,-126,
+-161,35,
+-23,52,
+94,198,
+28,77,
+52,-176,
+-179,-25,
+-225,-41,
+-100,-58,
+-99,16,
+-77,-30,
+-62,-159,
+-108,-40,
+109,26,
+101,-100,
+59,-32,
+30,-141,
+-32,-9,
+-140,236,
+-291,92,
+-45,-17,
+48,-37,
+-246,-136,
+19,-36,
+200,-83,
+200,-205,
+84,9,
+2,-100,
+55,-80,
+18,45,
+168,-40,
+-131,55,
+89,-68,
+-28,-131,
+-19,41,
+38,101,
+37,10,
+49,-64,
+-39,186,
+-124,122,
+68,-175,
+-246,79,
+-94,130,
+72,-240,
+-90,-177,
+-76,-27,
+-4,-96,
+-165,-37,
+106,-189,
+166,168,
+145,-169,
+-29,-66,
+72,1,
+-220,-45,
+4,-42,
+82,97,
+6,-37,
+44,-21,
+-7,105,
+-8,28,
+-92,-21,
+42,23,
+119,-106,
+145,-91,
+114,-203,
+-32,85,
+-171,143,
+43,-56,
+95,24,
+27,-26,
+-11,-119,
+-70,-84,
+-162,-293,
+-228,49,
+23,-21,
+-138,-63,
+41,7,
+-108,-130,
+100,-163,
+29,192,
+-93,28,
+98,-37,
+-220,-174,
+-77,-26,
+-97,135,
+-13,-36,
+-136,156,
+-31,-103,
+-130,-34,
+150,18,
+78,39,
+-77,68,
+-97,-80,
+-20,9,
+-86,-180,
+-202,-180,
+194,100,
+68,-40,
+81,94,
+177,-114,
+-40,-130,
+185,-42,
+-83,87,
+132,-174,
+-228,-119,
+-232,30,
+73,-88,
+1,-68,
+151,-94,
+-22,101,
+-151,73,
+51,-182,
+342,-22,
+-93,-84,
+28,161,
+34,-171,
+23,5,
+209,-10,
+83,-108,
+-73,198,
+10,-10,
+69,-233,
+95,-43,
+45,151,
+-307,3,
+74,-122,
+72,124,
+-58,37,
+70,65,
+20,12,
+14,-5,
+-57,200,
+-5,28,
+144,125,
+-12,4,
+59,-87,
+-233,-39,
+-220,148,
+101,-5,
+-157,-14,
+-92,296,
+-141,-5,
+-68,48,
+-138,-222,
+53,38,
+-41,98,
+88,-153,
+30,221,
+-5,54,
+-41,-81,
+72,48,
+-56,76,
+6,16,
+2,-97,
+-14,-80,
+-17,-9,
+10,-65,
+-144,79,
+109,138,
+-82,-11,
+0,190,
+-92,32,
+52,-180,
+-144,35,
+168,171,
+41,-42,
+-62,150,
+34,-39,
+-186,14,
+235,-55,
+120,146,
+133,37,
+102,-64,
+6,-83,
+-75,-64,
+134,-50,
+-21,86,
+1,-159,
+71,-56,
+-39,77,
+35,-6,
+95,-76,
+-10,-21,
+144,-37,
+100,86,
+103,-18,
+-21,90,
+-138,47,
+-52,-97,
+-122,-32,
+-177,-93,
+120,70,
+-30,-114,
+-31,145,
+-191,13,
+130,8,
+-99,-121,
+25,-70,
+-90,125,
+37,-199,
+50,-85,
+45,-28,
+29,47,
+-141,-13,
+128,-109,
+152,-267,
+178,-158,
+-12,-125,
+71,-88,
+-41,42,
+105,54,
+-35,-86,
+92,-72,
+-120,4,
+123,67,
+0,167,
+49,132,
+-142,-13,
+-72,-123,
+164,28,
+34,141,
+24,-174,
+131,48,
+-22,-32,
+-123,65,
+231,242,
+15,32,
+37,199,
+235,58,
+175,-52,
+-150,96,
+50,-216,
+222,183,
+-30,-147,
+-54,79,
+-44,-237,
+-92,5,
+-67,24,
+155,200,
+308,-181,
+152,122,
+24,113,
+54,-18,
+-38,47,
+-114,40,
+117,86,
+-92,-20,
+107,-99,
+17,38,
+22,300,
+45,-18,
+36,-105,
+167,28,
+206,-171,
+-38,-280,
+54,-161,
+21,90,
+-17,-116,
+-82,123,
+-33,83,
+52,9,
+-62,86,
+225,-28,
+4,-46,
+-62,-164,
+49,124,
+103,136,
+133,-35,
+162,116,
+-364,-330,
+-95,172,
+97,-114,
+-41,-59,
+-21,56,
+19,-60,
+-102,-104,
+-52,-151,
+77,-209,
+78,64,
+-65,-10,
+14,-114,
+-25,48,
+-89,-68,
+-140,2,
+48,-116,
+-30,217,
+-202,3,
+70,-26,
+-276,138,
+-102,123,
+-72,94,
+59,89,
+-70,57,
+141,-104,
+27,-32,
+12,16,
+-45,62,
+-14,-283,
+161,62,
+115,97,
+61,117,
+110,18,
+-89,-157,
+-130,41,
+54,77,
+-111,-109,
+-158,-15,
+64,-55,
+-29,103,
+10,-167,
+-176,20,
+-170,-222,
+74,62,
+-51,-76,
+59,136,
+-35,-38,
+-47,127,
+-206,-101,
+246,-40,
+155,-224,
+82,-44,
+82,-190,
+168,-326,
+93,-116,
+89,490,
+-170,84,
+-16,-9,
+-193,14,
+-272,128,
+-73,137,
+59,89,
+-224,259,
+43,120,
+138,-14,
+93,-152,
+255,117,
+-171,-80,
+-181,85,
+-7,147,
+261,66,
+-85,45,
+-5,100,
+128,-35,
+-103,93,
+39,-219,
+-140,82,
+86,74,
+157,82,
+232,78,
+45,-52,
+-5,-183,
+-27,-128,
+47,-152,
+83,-114,
+-104,133,
+149,85,
+130,58,
+82,-103,
+101,119,
+-115,-53,
+-78,124,
+-176,56,
+100,3,
+2,-128,
+-28,23,
+5,-186,
+-309,108,
+-67,3,
+-37,-62,
+-3,223,
+-195,-133,
+80,-2,
+37,97,
+-136,41,
+47,-181,
+59,22,
+-90,-82,
+28,-77,
+317,-107,
+-80,34,
+87,46,
+-119,-69,
+-11,32,
+-103,-61,
+102,24,
+59,48,
+-105,-163,
+325,-20,
+-135,57,
+-60,-117,
+6,0,
+-62,-83,
+-1,-178,
+44,-93,
+-27,127,
+-191,29,
+-79,-108,
+209,-144,
+136,55,
+-102,60,
+45,-14,
+-44,-28,
+158,155,
+-33,171,
+-54,-181,
+72,139,
+145,-62,
+97,-274,
+-141,-118,
+-111,179,
+-67,86,
+18,32,
+184,99,
+-7,-65,
+42,3,
+143,53,
+65,40,
+5,194,
+343,-23,
+108,-125,
+5,150,
+36,-98,
+174,-105,
+100,-61,
+-36,-111,
+46,135,
+-51,-276,
+-144,-245,
+28,131,
+49,36,
+15,255,
+-49,-25,
+86,-79,
+-160,58,
+8,49,
+-3,69,
+213,-305,
+58,-154,
+204,-166,
+148,64,
+-209,-39,
+106,45,
+27,-134,
+-128,149,
+24,-30,
+151,6,
+-10,-30,
+-10,190,
+-115,-70,
+1,109,
+-185,-137,
+-128,-111,
+-73,44,
+-89,-34,
+-35,-126,
+-41,289,
+-108,199,
+-54,-107,
+9,-164,
+19,-98,
+127,-93,
+-11,-97,
+28,123,
+18,-305,
+-190,165,
+-105,34,
+-79,-212,
+-252,3,
+-85,-55,
+102,-136,
+235,91,
+36,138,
+-81,87,
+236,44,
+-38,95,
+36,-51,
+-48,177,
+-98,-111,
+53,-280,
+-36,43,
+215,-124,
+146,81,
+-62,-81,
+-179,131,
+-136,123,
+42,70,
+204,47,
+4,-97,
+231,132,
+-149,149,
+134,-21,
+-133,-12,
+-100,360,
+4,-9,
+-137,3,
+-58,161,
+-89,-376,
+225,-141,
+-123,-7,
+72,-168,
+122,-31,
+101,150,
+-206,82,
+30,-52,
+83,-19,
+-54,-32,
+-112,39,
+56,26,
+-164,-106,
+180,-65,
+-81,268,
+98,-57,
+-23,79,
+-9,135,
+-9,293,
+64,-43,
+74,-232,
+17,-15,
+-100,-57,
+173,44,
+288,120,
+-139,151,
+101,-90,
+137,-112,
+10,88,
+135,99,
+45,11,
+-44,308,
+-29,51,
+195,37,
+182,-99,
+-197,-8,
+64,266,
+60,72,
+-142,-32,
+24,-63,
+-65,-26,
+34,-59,
+23,16,
+127,44,
+141,171,
+-374,148,
+288,-161,
+100,113,
+65,-3,
+-180,199,
+-208,-142,
+-60,-19,
+-94,-70,
+-17,140,
+35,-31,
+135,125,
+184,-172,
+-131,48,
+51,-77,
+68,51,
+-59,98,
+209,51,
+-41,69,
+33,106,
+-52,62,
+-160,170,
+206,-2,
+431,-42,
+325,-107,
+195,-161,
+27,24,
+-6,28,
+-28,93,
+-23,-35,
+-35,-19,
+-126,24,
+10,146,
+60,77,
+71,98,
+147,86,
+-87,-243,
+-170,146,
+-28,166,
+-7,44,
+131,78,
+104,-30,
+224,-55,
+14,-102,
+41,-79,
+-28,-45,
+-112,-25,
+-11,-54,
+79,39,
+-193,28,
+-305,249,
+-98,89,
+-143,-57,
+13,-66,
+-47,7,
+28,-84,
+206,-17,
+87,-14,
+-88,-177,
+38,-107,
+127,334,
+-141,-127,
+-28,-36,
+112,124,
+111,127,
+-12,97,
+-23,-36,
+80,-13,
+-117,211,
+44,-127,
+293,130,
+-90,-31,
+113,175,
+43,37,
+-119,-83,
+-74,-24,
+-52,-2,
+115,164,
+-49,93,
+176,207,
+-40,-106,
+-17,-103,
+-41,9,
+-93,-17,
+182,29,
+-164,102,
+-29,191,
+151,-150,
+7,12,
+138,-34,
+59,-370,
+75,-137,
+170,-76,
+133,4,
+-129,42,
+-70,186,
+15,-216,
+-48,-24,
+31,73,
+-66,-52,
+-42,105,
+-124,23,
+85,41,
+50,-8,
+69,-114,
+-100,99,
+42,15,
+66,-149,
+74,-70,
+-255,-18,
+113,18,
+22,-82,
+-21,16,
+-142,-68,
+7,-61,
+-40,-44,
+7,233,
+55,15,
+-181,-112,
+-22,-47,
+161,127,
+-108,-102,
+57,46,
+219,-179,
+-135,99,
+-42,-79,
+213,174,
+-38,175,
+101,243,
+-39,32,
+89,-106,
+79,-158,
+62,76,
+29,-14,
+55,3,
+-84,19,
+32,43,
+131,-92,
+-52,25,
+65,23,
+51,66,
+-192,169,
+-24,-84,
+-138,240,
+185,55,
+-115,-135,
+-48,-4,
+-126,151,
+205,8,
+-78,-101,
+-205,103,
+-164,16,
+127,124,
+-3,-237,
+75,73,
+-44,-110,
+135,35,
+-40,-162,
+57,5,
+-122,83,
+-34,-118,
+-182,-68,
+194,-183,
+-60,-86,
+72,24,
+-111,22,
+-22,-14,
+2,-27,
+-177,-19,
+108,-6,
+-255,10,
+-31,94,
+88,-144,
+189,-40,
+-168,-23,
+30,-10,
+95,-15,
+0,30,
+53,-62,
+80,44,
+256,128,
+155,-41,
+-2,36,
+84,-168,
+-161,-95,
+3,-68,
+-24,72,
+-86,-9,
+18,49,
+-23,-364,
+-38,-251,
+176,127,
+-61,-162,
+72,-15,
+-85,-33,
+-80,-152,
+-1,10,
+-142,105,
+158,43,
+-57,-33,
+-107,-50,
+13,11,
+76,163,
+-300,-191,
+-80,31,
+-104,0,
+131,-48,
+-6,52,
+106,-50,
+96,-3,
+-323,-169,
+-70,-69,
+-55,92,
+96,-116,
+-142,0,
+102,91,
+-169,26,
+5,-155,
+-79,134,
+-16,-36,
+-60,259,
+-124,-54,
+103,-59,
+-97,-75,
+-168,-144,
+-45,14,
+45,-147,
+54,-13,
+136,-71,
+-133,-181,
+81,-59,
+92,-36,
+189,86,
+276,47,
+-128,85,
+-157,-183,
+-26,-31,
+-14,-45,
+-13,-140,
+30,-20,
+-101,106,
+-76,-36,
+26,69,
+67,34,
+17,-87,
+13,120,
+-167,-132,
+-72,107,
+-68,-117,
+11,182,
+90,17,
+119,-89,
+112,33,
+232,98,
+173,-31,
+66,-113,
+263,91,
+78,210,
+53,60,
+152,-105,
+107,-137,
+90,59,
+-27,18,
+-54,118,
+157,10,
+104,-73,
+198,-20,
+20,-37,
+40,176,
+123,-106,
+61,74,
+-134,67,
+-198,-136,
+-75,-37,
+-27,-186,
+-117,84,
+-84,-122,
+-112,-107,
+-47,157,
+153,-101,
+43,44,
+31,111,
+43,-76,
+-20,189,
+-72,-94,
+-19,14,
+-44,-43,
+-57,132,
+68,271,
+48,-39,
+161,59,
+-113,66,
+-144,52,
+-79,-78,
+-62,16,
+-31,-144,
+16,78,
+-14,-96,
+-183,-16,
+-40,-91,
+-192,58,
+99,15,
+132,-153,
+-83,-57,
+121,-40,
+-5,97,
+-50,43,
+115,-59,
+-39,-22,
+-179,-14,
+95,-22,
+17,117,
+-64,163,
+-11,-48,
+-86,51,
+97,166,
+62,17,
+-44,-89,
+65,-31,
+-75,79,
+-159,-36,
+-112,40,
+57,-100,
+121,154,
+91,-26,
+-309,-158,
+-44,18,
+15,-25,
+37,-84,
+-127,17,
+62,4,
+13,-9,
+70,43,
+-88,-163,
+13,-15,
+-117,66,
+20,-4,
+-59,-156,
+-53,7,
+3,-81,
+11,229,
+-16,-86,
+-12,-42,
+65,-27,
+106,69,
+19,-167,
+17,6,
+-65,88,
+177,23,
+-55,232,
+50,-9,
+-18,34,
+157,104,
+-65,70,
+-42,86,
+107,-63,
+-53,-116,
+23,-127,
+10,68,
+-53,-16,
+-83,-8,
+5,26,
+135,28,
+-47,88,
+-18,-113,
+79,-72,
+-61,63,
+-31,-53,
+-144,36,
+-62,24,
+55,0,
+149,-30,
+16,37,
+32,157,
+128,-145,
+-6,122,
+223,27,
+24,52,
+-97,-75,
+22,84,
+-82,67,
+39,60,
+-76,12,
+26,-41,
+-10,25,
+209,5,
+-216,-69,
+-69,-15,
+42,-49,
+7,-10,
+-58,-110,
+4,49,
+-131,-52,
+65,105,
+63,-17,
+-106,-46,
+-10,-47,
+32,120,
+-116,-174,
+-43,-123,
+5,-60,
+-19,203,
+115,21,
+-121,-123,
+38,-112,
+56,-43,
+-14,-33,
+-117,75,
+60,-3,
+133,27,
+3,78,
+25,-162,
+91,-8,
+105,109,
+6,-89,
+-31,-29,
+-29,-26,
+-20,-17,
+19,67,
+56,6,
+35,-50,
+-134,131,
+-58,-1,
+-15,22,
+25,39,
+-6,-252,
+-121,-21,
+60,-23,
+-88,-36,
+23,1,
+-94,-19,
+4,-118,
+3,-108,
+92,-14,
+-19,-9,
+68,171,
+105,-16,
+181,-47,
+-27,3,
+-105,-41,
+135,-63,
+-94,8,
+132,25,
+14,-4,
+-33,93,
+85,54,
+-52,5,
+10,-89,
+-57,-94,
+-88,-47,
+64,-54,
+-211,-45,
+0,-138,
+47,-123,
+-29,63,
+60,93,
+-22,5,
+101,63,
+-92,78,
+-38,162,
+45,26,
+18,32,
+88,-44,
+-19,30,
+-57,156,
+-101,41,
+55,45,
+151,131,
+56,65,
+-65,153,
+-39,91,
+84,120,
+14,152,
+-66,44,
+43,48,
+46,45,
+68,-50,
+-135,-113,
+135,-11,
+-99,-78,
+29,37,
+36,74,
+-28,-14,
+54,-65,
+36,-9,
+-24,-42,
+-68,8,
+-31,28,
+-67,-62,
+-37,-114,
+-39,1,
+111,59,
+2,208,
+15,80,
+-73,-68,
+-88,75,
+-60,-37,
+-33,80,
+-21,53,
+-103,-71,
+19,-102,
+-110,-12,
+-66,-24,
+91,12,
+-25,-92,
+173,-18,
+-64,22,
+-20,-119,
+-7,39,
+69,-78,
+-34,35,
+-9,-48,
+-11,70,
+-6,-157,
+-87,-81,
+-71,-36,
+66,103,
+-55,37,
+13,-34,
+25,90,
+-76,-195,
+26,-76,
+-42,-6,
+93,25,
+-37,-81,
+-72,14,
+80,2,
+62,35,
+-60,-108,
+-5,2,
+-44,-12,
+-88,-73,
+64,114,
+-76,-23,
+-91,35,
+-139,4,
+-113,-48,
+120,1,
+-14,-13,
+-41,-59,
+-54,11,
+-38,-58,
+-89,70,
+86,70,
+20,103,
+2,116,
+26,-40,
+-28,33,
+-4,71,
+10,-48,
+-7,-9,
+-71,26,
+2,115,
+-22,-93,
+43,-30,
+-7,-81,
+-18,45,
+-11,-90,
+-7,-4,
+17,19,
+1,-93,
+-43,109,
+-64,-21,
+-102,5,
+16,-104,
+-5,19,
+-7,-47,
+-15,48,
+-86,5,
+61,46,
+-85,-39,
+9,76,
+-65,2,
+115,-44,
+-12,-127,
+-36,1,
+19,29,
+65,41,
+-15,-135,
+-49,45,
+43,-1,
+40,29,
+80,-119,
+-34,8,
+88,-28,
+31,8,
+-55,56,
+21,-19,
+-9,36,
+6,14,
+4,-59,
+20,64,
+-21,42,
+-11,-11,
+-88,52,
+25,56,
+107,-95,
+105,119,
+13,39,
+66,-59,
+-72,26,
+31,41,
+-72,9,
+27,22,
+3,7,
+14,1,
+-69,-36,
+24,-33,
+73,32,
+26,-4,
+-81,-37,
+19,-18,
+-20,-50,
+-27,62,
+3,-28,
+13,-16,
+-67,-52,
+-27,81,
+3,-7,
+0,-24,
+21,-2,
+-56,67,
+18,-15,
+68,-12,
+-43,-45,
+42,3,
+27,-26,
+-66,19,
+-2,-10,
+3,-44,
+55,-13,
+-18,22,
+-2,69,
+-103,44,
+-85,22,
+-49,14,
+-6,74,
+-1,-4,
+-2,-9,
+97,12,
+-15,-48,
+-8,64,
+16,-48,
+-52,-46,
+-19,64,
+40,-12,
+88,36,
+0,3,
+45,22,
+-28,-71,
+-35,-13,
+34,28,
+29,-23,
+43,60,
+-38,24,
+62,48,
+-27,-19,
+52,-26,
+-6,43,
+-21,-24,
+98,22,
+34,74,
+-68,-46,
+55,-25,
+17,36,
+18,11,
+-65,-31,
+-22,38,
+7,54,
+-19,15,
+-19,-4,
+-1,-27,
+-29,-3,
+35,-69,
+63,-77,
+41,-57,
+-28,7,
+15,14,
+-18,-42,
+-24,-10,
+-7,12,
+-37,20,
+-33,33,
+25,78,
+-12,-5,
+29,26,
+68,-16,
+-7,-58,
+-6,-9,
+-29,27,
+52,32,
+32,14,
+12,-1,
+36,-24,
+-21,-27,
+-7,10,
+22,-16,
+26,-9,
+-26,29,
+-11,27,
+-45,106,
+-23,122,
+32,30,
+9,-10,
+41,-31,
+22,-9,
+11,42,
+24,-14,
+22,39,
+3,1,
+9,-12,
+-34,16,
+15,0,
+-31,58,
+47,12,
+-5,-26,
+11,2,
+-33,-35,
+5,-41,
+-8,-38,
+66,-12,
+-36,82,
+7,-17,
+13,9,
+41,-47,
+22,69,
+-12,15,
+-2,-37,
+-11,38,
+-13,-32,
+-12,-21,
+32,24,
+33,-9,
+24,-17,
+-29,15,
+-14,61,
+60,-13,
+10,-20,
+40,37,
+13,-4,
+4,22,
+-6,35,
+-20,-12,
+14,16,
+47,24,
+-8,44,
+-3,-5,
+-10,-22,
+-33,32,
+-22,10,
+55,-11,
+54,4,
+-36,7,
+43,-16,
+15,37,
+-4,-24,
+-12,18,
+1,-20,
+-3,-8,
+10,-12,
+-10,16,
+-16,-2,
+25,-19,
+27,-6,
+-25,47,
+-4,-14,
+-6,7,
+-51,7,
+-12,18,
+-17,-42,
+13,4,
+22,-11,
+16,-22,
+31,4,
+-15,-18,
+19,24,
+24,-12,
+-7,39,
+-11,6,
+27,13,
+14,-13,
+6,-37,
+16,-2,
+-25,26,
+20,12,
+-25,19,
+-23,-15,
+-9,-1,
+1,-4,
+20,-11,
+-6,21,
+10,2,
+13,12,
+19,-6,
+1,25,
+-6,28,
+-6,-28,
+-15,-18,
+-5,-10,
+0,-21,
+-4,-10,
+10,-5,
+-31,2,
+15,7,
+-11,3,
+-21,10,
+-10,-2,
+-9,-7,
+16,-8,
+25,-7,
+1,-4,
+-18,-6,
+9,-10,
+-6,-11,
+-16,-12,
+1,-12,
+18,6,
+-13,-15,
+17,6,
+-5,14,
+-3,-4,
+6,-7,
+8,7,
+-21,-5,
+15,1,
+-1,0,
+-13,16,
+-15,13,
+-7,1,
+-16,14,
+19,-11,
+1,-2,
+-13,-1,
+11,3,
+6,-4,
+10,6,
+0,0,
+-7,-8,
+-17,-3,
+-2,2,
+12,0,
+-19,2,
+-3,11,
+9,2,
+-13,-4,
+5,12,
+4,7,
+-6,5,
+12,2,
+3,5,
+-10,2,
+7,2,
+3,2,
+-6,4,
+8,-3,
+6,-5,
+-10,-1,
+-3,0,
+3,5,
+-7,1,
+5,-2,
+2,1,
+-2,1,
+4,2,
+1,-2,
+-4,0,
+4,1,
+1,2,
+-7,0,
+4,-2,
+3,0,
+-6,1,
+2,0,
+3,0,
+-6,0,
+3,0,
+2,0,
+-6,-1,
+3,0,
+4,2,
+-7,0,
+1,-2,
+4,-1,
+-4,0,
+1,2,
+4,-2,
+-2,-1,
+2,-1,
+5,2,
+-7,-1,
+3,-5,
+-3,0,
+-10,1,
+6,5,
+8,3,
+-6,-4,
+3,-2,
+7,-2,
+-10,-2,
+3,-5,
+12,-2,
+-6,-5,
+4,-7,
+5,-12,
+-13,4,
+9,-2,
+-3,-11,
+-19,-2,
+12,0,
+-2,-2,
+-17,3,
+-7,8,
+0,0,
+10,-6,
+6,4,
+11,-3,
+-13,1,
+1,2,
+19,11,
+-16,-14,
+-7,-1,
+-15,-13,
+-13,-16,
+-1,0,
+15,-1,
+-21,5,
+8,-7,
+6,7,
+-3,4,
+-5,-14,
+17,-6,
+-13,15,
+18,-6,
+1,12,
+-16,12,
+-6,11,
+9,10,
+-18,6,
+1,4,
+25,7,
+16,8,
+-9,7,
+-10,2,
+-21,-10,
+-11,-3,
+15,-7,
+-31,-2,
+10,5,
+-4,10,
+0,21,
+-5,10,
+-15,18,
+-6,28,
+-6,-28,
+1,-25,
+19,6,
+13,-12,
+10,-2,
+-6,-21,
+20,11,
+1,4,
+-9,1,
+-23,15,
+-25,-19,
+20,-12,
+-25,-26,
+16,2,
+6,37,
+14,13,
+27,-13,
+-11,-6,
+-7,-39,
+24,12,
+19,-24,
+-15,18,
+31,-4,
+16,22,
+22,11,
+13,-4,
+-17,42,
+-12,-18,
+-51,-7,
+-6,-7,
+-4,14,
+-25,-47,
+27,6,
+25,19,
+-16,2,
+-10,-16,
+10,12,
+-3,8,
+1,20,
+-12,-18,
+-4,24,
+15,-37,
+43,16,
+-36,-7,
+54,-4,
+55,11,
+-22,-10,
+-33,-32,
+-10,22,
+-3,5,
+-8,-44,
+47,-24,
+14,-16,
+-20,12,
+-6,-35,
+4,-22,
+13,4,
+40,-37,
+10,20,
+60,13,
+-14,-61,
+-29,-15,
+24,17,
+33,9,
+32,-24,
+-12,21,
+-13,32,
+-11,-38,
+-2,37,
+-12,-15,
+22,-69,
+41,47,
+13,-9,
+7,17,
+-36,-82,
+66,12,
+-8,38,
+5,41,
+-33,35,
+11,-2,
+-5,26,
+47,-12,
+-31,-58,
+15,0,
+-34,-16,
+9,12,
+3,-1,
+22,-39,
+24,14,
+11,-42,
+22,9,
+41,31,
+9,10,
+32,-30,
+-23,-122,
+-45,-106,
+-11,-27,
+-26,-29,
+26,9,
+22,16,
+-7,-10,
+-21,27,
+36,24,
+12,1,
+32,-14,
+52,-32,
+-29,-27,
+-6,9,
+-7,58,
+68,16,
+29,-26,
+-12,5,
+25,-78,
+-33,-33,
+-37,-20,
+-7,-12,
+-24,10,
+-18,42,
+15,-14,
+-28,-7,
+41,57,
+63,77,
+35,69,
+-29,3,
+-1,27,
+-19,4,
+-19,-15,
+7,-54,
+-22,-38,
+-65,31,
+18,-11,
+17,-36,
+55,25,
+-68,46,
+34,-74,
+98,-22,
+-21,24,
+-6,-43,
+52,26,
+-27,19,
+62,-48,
+-38,-24,
+43,-60,
+29,23,
+34,-28,
+-35,13,
+-28,71,
+45,-22,
+0,-3,
+88,-36,
+40,12,
+-19,-64,
+-52,46,
+16,48,
+-8,-64,
+-15,48,
+97,-12,
+-2,9,
+-1,4,
+-6,-74,
+-49,-14,
+-85,-22,
+-103,-44,
+-2,-69,
+-18,-22,
+55,13,
+3,44,
+-2,10,
+-66,-19,
+27,26,
+42,-3,
+-43,45,
+68,12,
+18,15,
+-56,-67,
+21,2,
+0,24,
+3,7,
+-27,-81,
+-67,52,
+13,16,
+3,28,
+-27,-62,
+-20,50,
+19,18,
+-81,37,
+26,4,
+73,-32,
+24,33,
+-69,36,
+14,-1,
+3,-7,
+27,-22,
+-72,-9,
+31,-41,
+-72,-26,
+66,59,
+13,-39,
+105,-119,
+107,95,
+25,-56,
+-88,-52,
+-11,11,
+-21,-42,
+20,-64,
+4,59,
+6,-14,
+-9,-36,
+21,19,
+-55,-56,
+31,-8,
+88,28,
+-34,-8,
+80,119,
+40,-29,
+43,1,
+-49,-45,
+-15,135,
+65,-41,
+19,-29,
+-36,-1,
+-12,127,
+115,44,
+-65,-2,
+9,-76,
+-85,39,
+61,-46,
+-86,-5,
+-15,-48,
+-7,47,
+-5,-19,
+16,104,
+-102,-5,
+-64,21,
+-43,-109,
+1,93,
+17,-19,
+-7,4,
+-11,90,
+-18,-45,
+-7,81,
+43,30,
+-22,93,
+2,-115,
+-71,-26,
+-7,9,
+10,48,
+-4,-71,
+-28,-33,
+26,40,
+2,-116,
+20,-103,
+86,-70,
+-89,-70,
+-38,58,
+-54,-11,
+-41,59,
+-14,13,
+120,-1,
+-113,48,
+-139,-4,
+-91,-35,
+-76,23,
+64,-114,
+-88,73,
+-44,12,
+-5,-2,
+-60,108,
+62,-35,
+80,-2,
+-72,-14,
+-37,81,
+93,-25,
+-42,6,
+26,76,
+-76,195,
+25,-90,
+13,34,
+-55,-37,
+66,-103,
+-71,36,
+-87,81,
+-6,157,
+-11,-70,
+-9,48,
+-34,-35,
+69,78,
+-7,-39,
+-20,119,
+-64,-22,
+173,18,
+-25,92,
+91,-12,
+-66,24,
+-110,12,
+19,102,
+-103,71,
+-21,-53,
+-33,-80,
+-60,37,
+-88,-75,
+-73,68,
+15,-80,
+2,-208,
+111,-59,
+-39,-1,
+-37,114,
+-67,62,
+-31,-28,
+-68,-8,
+-24,42,
+36,9,
+54,65,
+-28,14,
+36,-74,
+29,-37,
+-99,78,
+135,11,
+-135,113,
+68,50,
+46,-45,
+43,-48,
+-66,-44,
+14,-152,
+84,-120,
+-39,-91,
+-65,-153,
+56,-65,
+151,-131,
+55,-45,
+-101,-41,
+-57,-156,
+-19,-30,
+88,44,
+18,-32,
+45,-26,
+-38,-162,
+-92,-78,
+101,-63,
+-22,-5,
+60,-93,
+-29,-63,
+47,123,
+0,138,
+-211,45,
+64,54,
+-88,47,
+-57,94,
+10,89,
+-52,-5,
+85,-54,
+-33,-93,
+14,4,
+132,-25,
+-94,-8,
+135,63,
+-105,41,
+-27,-3,
+181,47,
+105,16,
+68,-171,
+-19,9,
+92,14,
+3,108,
+4,118,
+-94,19,
+23,-1,
+-88,36,
+60,23,
+-121,21,
+-6,252,
+25,-39,
+-15,-22,
+-58,1,
+-134,-131,
+35,50,
+56,-6,
+19,-67,
+-20,17,
+-29,26,
+-31,29,
+6,89,
+105,-109,
+91,8,
+25,162,
+3,-78,
+133,-27,
+60,3,
+-117,-75,
+-14,33,
+56,43,
+38,112,
+-121,123,
+115,-21,
+-19,-203,
+5,60,
+-43,123,
+-116,174,
+32,-120,
+-10,47,
+-106,46,
+63,17,
+65,-105,
+-131,52,
+4,-49,
+-58,110,
+7,10,
+42,49,
+-69,15,
+-216,69,
+209,-5,
+-10,-25,
+26,41,
+-76,-12,
+39,-60,
+-82,-67,
+22,-84,
+-97,75,
+24,-52,
+223,-27,
+-6,-122,
+128,145,
+32,-157,
+16,-37,
+149,30,
+55,0,
+-62,-24,
+-144,-36,
+-31,53,
+-61,-63,
+79,72,
+-18,113,
+-47,-88,
+135,-28,
+5,-26,
+-83,8,
+-53,16,
+10,-68,
+23,127,
+-53,116,
+107,63,
+-42,-86,
+-65,-70,
+157,-104,
+-18,-34,
+50,9,
+-55,-232,
+177,-23,
+-65,-88,
+17,-6,
+19,167,
+106,-69,
+65,27,
+-12,42,
+-16,86,
+11,-229,
+3,81,
+-53,-7,
+-59,156,
+20,4,
+-117,-66,
+13,15,
+-88,163,
+70,-43,
+13,9,
+62,-4,
+-127,-17,
+37,84,
+15,25,
+-44,-18,
+-309,158,
+91,26,
+121,-154,
+57,100,
+-112,-40,
+-159,36,
+-75,-79,
+65,31,
+-44,89,
+62,-17,
+97,-166,
+-86,-51,
+-11,48,
+-64,-163,
+17,-117,
+95,22,
+-179,14,
+-39,22,
+115,59,
+-50,-43,
+-5,-97,
+121,40,
+-83,57,
+132,153,
+99,-15,
+-192,-58,
+-40,91,
+-183,16,
+-14,96,
+16,-78,
+-31,144,
+-62,-16,
+-79,78,
+-144,-52,
+-113,-66,
+161,-59,
+48,39,
+68,-271,
+-57,-132,
+-44,43,
+-19,-14,
+-72,94,
+-20,-189,
+43,76,
+31,-111,
+43,-44,
+153,101,
+-47,-157,
+-112,107,
+-84,122,
+-117,-84,
+-27,186,
+-75,37,
+-198,136,
+-134,-67,
+61,-74,
+123,106,
+40,-176,
+20,37,
+198,20,
+104,73,
+157,-10,
+-54,-118,
+-27,-18,
+90,-59,
+107,137,
+152,105,
+53,-60,
+78,-210,
+263,-91,
+66,113,
+173,31,
+232,-98,
+112,-33,
+119,89,
+90,-17,
+11,-182,
+-68,117,
+-72,-107,
+-167,132,
+13,-120,
+17,87,
+67,-34,
+26,-69,
+-76,36,
+-101,-106,
+30,20,
+-13,140,
+-14,45,
+-26,31,
+-157,183,
+-128,-85,
+276,-47,
+189,-86,
+92,36,
+81,59,
+-133,181,
+136,71,
+54,13,
+45,147,
+-45,-14,
+-168,144,
+-97,75,
+103,59,
+-124,54,
+-60,-259,
+-16,36,
+-79,-134,
+5,155,
+-169,-26,
+102,-91,
+-142,0,
+96,116,
+-55,-92,
+-70,69,
+-323,169,
+96,3,
+106,50,
+-6,-52,
+131,48,
+-104,0,
+-80,-31,
+-300,191,
+76,-163,
+13,-11,
+-107,50,
+-57,33,
+158,-43,
+-142,-105,
+-1,-10,
+-80,152,
+-85,33,
+72,15,
+-61,162,
+176,-127,
+-38,251,
+-23,364,
+18,-49,
+-86,9,
+-24,-72,
+3,68,
+-161,95,
+84,168,
+-2,-36,
+155,41,
+256,-128,
+80,-44,
+53,62,
+0,-30,
+95,15,
+30,10,
+-168,23,
+189,40,
+88,144,
+-31,-94,
+-255,-10,
+108,6,
+-177,19,
+2,27,
+-22,14,
+-111,-22,
+72,-24,
+-60,86,
+194,183,
+-182,68,
+-34,118,
+-122,-83,
+57,-5,
+-40,162,
+135,-35,
+-44,110,
+75,-73,
+-3,237,
+127,-124,
+-164,-16,
+-205,-103,
+-78,101,
+205,-8,
+-126,-151,
+-48,4,
+-115,135,
+185,-55,
+-138,-240,
+-24,84,
+-192,-169,
+51,-66,
+65,-23,
+-52,-25,
+131,92,
+32,-43,
+-84,-19,
+55,-3,
+29,14,
+62,-76,
+79,158,
+89,106,
+-39,-32,
+101,-243,
+-38,-175,
+213,-174,
+-42,79,
+-135,-99,
+219,179,
+57,-46,
+-108,102,
+161,-127,
+-22,47,
+-181,112,
+55,-15,
+7,-233,
+-40,44,
+7,61,
+-142,68,
+-21,-16,
+22,82,
+113,-18,
+-255,18,
+74,70,
+66,149,
+42,-15,
+-100,-99,
+69,114,
+50,8,
+85,-41,
+-124,-23,
+-42,-105,
+-66,52,
+31,-73,
+-48,24,
+15,216,
+-70,-186,
+-129,-42,
+133,-4,
+170,76,
+75,137,
+59,370,
+138,34,
+7,-12,
+151,150,
+-29,-191,
+-164,-102,
+182,-29,
+-93,17,
+-41,-9,
+-17,103,
+-40,106,
+176,-207,
+-49,-93,
+115,-164,
+-52,2,
+-74,24,
+-119,83,
+43,-37,
+113,-175,
+-90,31,
+293,-130,
+44,127,
+-117,-211,
+80,13,
+-23,36,
+-12,-97,
+111,-127,
+112,-124,
+-28,36,
+-141,127,
+127,-334,
+38,107,
+-88,177,
+87,14,
+206,17,
+28,84,
+-47,-7,
+13,66,
+-143,57,
+-98,-89,
+-305,-249,
+-193,-28,
+79,-39,
+-11,54,
+-112,25,
+-28,45,
+41,79,
+14,102,
+224,55,
+104,30,
+131,-78,
+-7,-44,
+-28,-166,
+-170,-146,
+-87,243,
+147,-86,
+71,-98,
+60,-77,
+10,-146,
+-126,-24,
+-35,19,
+-23,35,
+-28,-93,
+-6,-28,
+27,-24,
+195,161,
+325,107,
+431,42,
+206,2,
+-160,-170,
+-52,-62,
+33,-106,
+-41,-69,
+209,-51,
+-59,-98,
+68,-51,
+51,77,
+-131,-48,
+184,172,
+135,-125,
+35,31,
+-17,-140,
+-94,70,
+-60,19,
+-208,142,
+-180,-199,
+65,3,
+100,-113,
+288,161,
+-374,-148,
+141,-171,
+127,-44,
+23,-16,
+34,59,
+-65,26,
+24,63,
+-142,32,
+60,-72,
+64,-266,
+-197,8,
+182,99,
+195,-37,
+-29,-51,
+-44,-308,
+45,-11,
+135,-99,
+10,-88,
+137,112,
+101,90,
+-139,-151,
+288,-120,
+173,-44,
+-100,57,
+17,15,
+74,232,
+64,43,
+-9,-293,
+-9,-135,
+-23,-79,
+98,57,
+-81,-268,
+180,65,
+-164,106,
+56,-26,
+-112,-39,
+-54,32,
+83,19,
+30,52,
+-206,-82,
+101,-150,
+122,31,
+72,168,
+-123,7,
+225,141,
+-89,376,
+-58,-161,
+-137,-3,
+4,9,
+-100,-360,
+-133,12,
+134,21,
+-149,-149,
+231,-132,
+4,97,
+204,-47,
+42,-70,
+-136,-123,
+-179,-131,
+-62,81,
+146,-81,
+215,124,
+-36,-43,
+53,280,
+-98,111,
+-48,-177,
+36,51,
+-38,-95,
+236,-44,
+-81,-87,
+36,-138,
+235,-91,
+102,136,
+-85,55,
+-252,-3,
+-79,212,
+-105,-34,
+-190,-165,
+18,305,
+28,-123,
+-11,97,
+127,93,
+19,98,
+9,164,
+-54,107,
+-108,-199,
+-41,-289,
+-35,126,
+-89,34,
+-73,-44,
+-128,111,
+-185,137,
+1,-109,
+-115,70,
+-10,-190,
+-10,30,
+151,-6,
+24,30,
+-128,-149,
+27,134,
+106,-45,
+-209,39,
+148,-64,
+204,166,
+58,154,
+213,305,
+-3,-69,
+8,-49,
+-160,-58,
+86,79,
+-49,25,
+15,-255,
+49,-36,
+28,-131,
+-144,245,
+-51,276,
+46,-135,
+-36,111,
+100,61,
+174,105,
+36,98,
+5,-150,
+108,125,
+343,23,
+5,-194,
+65,-40,
+143,-53,
+42,-3,
+-7,65,
+184,-99,
+18,-32,
+-67,-86,
+-111,-179,
+-141,118,
+97,274,
+145,62,
+72,-139,
+-54,181,
+-33,-171,
+158,-155,
+-44,28,
+45,14,
+-102,-60,
+136,-55,
+209,144,
+-79,108,
+-191,-29,
+-27,-127,
+44,93,
+-1,178,
+-62,83,
+6,0,
+-68,-143,
+-225,39,
+-2,-97,
+-261,-204,
+145,175,
+-207,-111,
+-6,-132,
+137,-123,
+-140,-113,
+31,21,
+-12,-426,
+-27,85,
+-68,-56,
+-352,118,
+82,145,
+-387,201,
+-2,106,
+111,154,
+44,-17,
+273,-76,
+-65,-20,
+99,52,
+-314,-54,
+-104,353,
+-122,64,
+-61,-113,
+-211,36,
+-41,30,
+-81,-135,
+103,-174,
+86,-8,
+-71,-54,
+9,150,
+137,-45,
+200,37,
+-180,81,
+125,135,
+163,-50,
+164,-6,
+57,183,
+-60,97,
+-113,-208,
+155,-114,
+-146,145,
+-26,45,
+-24,-22,
+-31,-167,
+291,-85,
+-194,92,
+-112,-36,
+-96,218,
+-273,97,
+-62,62,
+26,-109,
+69,67,
+-70,90,
+60,43,
+104,236,
+121,-34,
+-66,134,
+169,-66,
+186,188,
+-51,-78,
+-32,54,
+-2,-9,
+29,-289,
+259,-121,
+-6,106,
+-23,49,
+-128,15,
+-57,-33,
+-28,-19,
+-2,189,
+-57,-2,
+226,136,
+18,167,
+-10,48,
+29,34,
+78,64,
+79,-54,
+22,101,
+-185,83,
+115,-232,
+158,-22,
+31,112,
+-44,-61,
+-100,-104,
+-107,95,
+34,-82,
+-219,-79,
+-48,193,
+179,68,
+-167,-105,
+212,-117,
+151,-63,
+235,-130,
+114,76,
+57,188,
+54,43,
+-148,-44,
+-214,4,
+99,-57,
+68,-118,
+32,2,
+-78,99,
+174,213,
+205,55,
+14,-58,
+109,-85,
+61,55,
+110,-83,
+114,229,
+219,39,
+48,55,
+-87,181,
+137,106,
+-124,-48,
+176,-12,
+38,-65,
+-153,57,
+-84,125,
+-37,-2,
+200,32,
+-66,-148,
+-106,-101,
+-196,175,
+-93,6,
+65,40,
+4,-87,
+171,57,
+12,16,
+-135,-63,
+-176,-70,
+-88,-34,
+-11,-55,
+144,52,
+-21,246,
+139,-117,
+83,-69,
+9,-36,
+-161,-17,
+34,-36,
+-156,85,
+-28,140,
+162,-27,
+308,18,
+-86,-62,
+-55,95,
+112,-241,
+-55,-75,
+-18,24,
+278,64,
+60,104,
+-127,107,
+-116,-86,
+101,-412,
+-139,113,
+-286,-88,
+-85,84,
+-41,314,
+155,-190,
+-74,99,
+186,-54,
+100,88,
+343,158,
+-154,26,
+-93,-9,
+-126,230,
+-162,-104,
+41,-125,
+71,144,
+-29,62,
+-14,-55,
+-74,203,
+-86,-32,
+-61,32,
+-62,168,
+14,49,
+-152,-194,
+-21,-64,
+-236,172,
+-116,-5,
+84,-117,
+30,-63,
+-93,160,
+213,281,
+-112,186,
+97,-27,
+188,-35,
+421,-74,
+2,51,
+-90,-27,
+-45,26,
+302,86,
+188,68,
+97,106,
+12,39,
+80,42,
+-64,103,
+125,34,
+-85,-265,
+-19,12,
+59,-36,
+79,-111,
+6,-44,
+80,163,
+-88,-80,
+20,40,
+-2,218,
+-7,0,
+0,27,
+-1,76,
+-182,31,
+155,50,
+-71,-159,
+-11,-63,
+4,188,
+34,62,
+-109,94,
+-72,-124,
+-12,132,
+77,-132,
+22,95,
+-17,-76,
+47,-69,
+-174,-92,
+66,-222,
+3,-122,
+-28,-189,
+1,48,
+-16,24,
+-27,-80,
+161,79,
+-8,-172,
+-173,144,
+128,-40,
+-167,-52,
+-65,107,
+-106,-135,
+-39,-81,
+-154,32,
+-87,-244,
+105,-14,
+-99,-52,
+-32,-141,
+-30,-13,
+94,-46,
+73,-53,
+-54,200,
+74,-79,
+50,82,
+-264,188,
+238,7,
+61,132,
+206,72,
+-171,47,
+-179,52,
+-26,-12,
+-87,47,
+193,93,
+41,-120,
+-10,94,
+237,-117,
+-68,-86,
+-61,-25,
+-3,198,
+248,160,
+60,-55,
+-49,-92,
+-1,-18,
+-100,51,
+123,2,
+16,27,
+65,46,
+155,50,
+7,-6,
+-19,-50,
+108,52,
+50,183,
+-164,51,
+-18,-71,
+34,-9,
+223,-168,
+66,93,
+-25,65,
+-12,72,
+-37,-16,
+55,73,
+69,-131,
+-191,-37,
+83,54,
+-119,33,
+-21,-6,
+-141,86,
+35,-61,
+18,-179,
+51,-34,
+90,-158,
+-24,9,
+-129,60,
+57,-38,
+213,-183,
+153,82,
+78,-34,
+87,-26,
+69,138,
+53,39,
+-126,-19,
+-191,186,
+-40,-61,
+8,-144,
+124,104,
+70,-115,
+141,294,
+6,58,
+107,93,
+14,-96,
+65,206,
+149,-134,
+-6,8,
+11,307,
+38,49,
+108,-26,
+-26,59,
+3,62,
+-119,-64,
+-102,188,
+294,-129,
+85,61,
+-58,-72,
+-145,-46,
+52,43,
+37,-46,
+178,59,
+-58,-124,
+-164,-3,
+-53,73,
+82,138,
+50,19,
+-216,-71,
+-62,95,
+122,12,
+-141,174,
+-124,-186,
+41,154,
+-81,-88,
+6,67,
+155,17,
+61,97,
+140,-108,
+-44,18,
+120,185,
+24,-82,
+118,-1,
+-143,104,
+-49,128,
+25,67,
+-196,-21,
+-133,-214,
+-64,40,
+-50,-36,
+-162,27,
+0,47,
+-69,104,
+142,-15,
+-82,-63,
+-174,-71,
+118,74,
+-45,117,
+-121,-120,
+-144,-24,
+65,43,
+59,-116,
+-63,-232,
+49,56,
+10,39,
+5,43,
+40,-61,
+42,107,
+-190,103,
+-91,-20,
+81,-103,
+68,47,
+45,85,
+178,22,
+3,110,
+96,143,
+-49,86,
+2,-71,
+-79,30,
+213,-28,
+-172,58,
+3,-66,
+42,20,
+59,133,
+-22,87,
+28,-11,
+208,25,
+115,263,
+-34,47,
+82,38,
+-10,-331,
+-36,19,
+-148,-142,
+-154,-29,
+33,-159,
+-51,-121,
+-8,-111,
+-16,236,
+162,-163,
+-73,197,
+222,-52,
+105,-35,
+67,-91,
+-66,-129,
+50,145,
+-43,128,
+71,-211,
+-107,119,
+80,-21,
+-85,92,
+-83,-54,
+85,-99,
+-58,70,
+64,72,
+-37,27,
+-6,119,
+15,181,
+-140,34,
+-56,28,
+-132,101,
+204,-207,
+-109,140,
+26,52,
+146,-99,
+-5,-62,
+-56,199,
+-51,-29,
+87,8,
+19,69,
+81,-43,
+294,221,
+-30,87,
+165,-97,
+-75,21,
+-92,10,
+-18,-33,
+-97,14,
+56,-22,
+-25,77,
+3,86,
+15,37,
+-169,76,
+-116,-79,
+-83,-52,
+-183,-101,
+-56,-34,
+70,73,
+-149,15,
+-36,209,
+47,-130,
+-3,157,
+-43,265,
+81,-78,
+61,-152,
+-133,-155,
+-89,-50,
+115,46,
+-54,61,
+-121,-64,
+-139,-172,
+28,80,
+-190,220,
+109,-67,
+-77,-41,
+-1,-46,
+-12,-30,
+-56,-121,
+-62,-17,
+13,82,
+105,98,
+-74,-162,
+37,18,
+-66,60,
+-115,71,
+-17,99,
+190,-133,
+-91,-7,
+-27,57,
+72,100,
+-141,182,
+114,15,
+-19,-92,
+195,-116,
+173,-17,
+-128,-97,
+9,-101,
+13,15,
+2,20,
+154,-77,
+11,-44,
+-59,5,
+-48,-186,
+54,187,
+33,111,
+25,5,
+-119,-181,
+49,-110,
+28,35,
+-28,11,
+-8,-54,
+-51,22,
+11,-63,
+-17,-7,
+13,51,
+-60,-22,
+-202,-11,
+-50,-85,
+258,105,
+-22,38,
+9,-70,
+-111,-52,
+-14,71,
+-49,27,
+-12,117,
+23,-8,
+-88,-104,
+-95,67,
+-36,21,
+-70,167,
+-137,182,
+66,-188,
+120,116,
+134,-29,
+45,-90,
+-57,63,
+-11,44,
+-44,49,
+155,-124,
+67,-38,
+-100,-32,
+15,33,
+-40,-1,
+121,73,
+4,-77,
+-133,-54,
+-55,14,
+51,-61,
+-153,49,
+30,-81,
+159,39,
+65,-159,
+-132,-4,
+-76,-159,
+76,-29,
+12,77,
+-30,-37,
+-102,-155,
+-225,65,
+51,96,
+161,-79,
+82,14,
+69,79,
+-61,-119,
+210,-27,
+-25,-5,
+-50,-42,
+-13,-113,
+-111,-114,
+-20,-92,
+20,-90,
+86,-66,
+24,55,
+59,2,
+55,-61,
+-92,68,
+29,-126,
+50,-69,
+-97,58,
+15,-72,
+88,194,
+38,77,
+142,135,
+-42,25,
+-34,12,
+115,34,
+25,-117,
+7,51,
+-73,99,
+60,-27,
+-3,37,
+34,-21,
+-110,90,
+108,-199,
+64,-19,
+45,-14,
+150,-25,
+39,23,
+1,-30,
+68,59,
+-23,-41,
+-106,1,
+49,-43,
+146,-55,
+-171,92,
+79,-109,
+-2,68,
+42,3,
+53,-37,
+-169,2,
+-63,189,
+145,4,
+-121,106,
+143,-4,
+-30,65,
+47,-59,
+-159,19,
+-67,-38,
+-80,-60,
+2,-119,
+-150,-59,
+-25,60,
+-183,-16,
+189,29,
+112,65,
+26,123,
+2,65,
+72,-57,
+60,47,
+29,84,
+-8,-117,
+-50,44,
+84,-21,
+-51,82,
+-24,-94,
+57,37,
+112,-5,
+32,83,
+58,40,
+46,84,
+-1,32,
+-19,39,
+-42,-47,
+63,-109,
+80,-21,
+-12,83,
+-55,-35,
+136,18,
+-48,30,
+-125,-26,
+-56,3,
+14,73,
+-47,-83,
+-5,-149,
+8,90,
+64,-40,
+-8,-54,
+-95,-20,
+22,-12,
+69,77,
+20,-93,
+-13,-54,
+63,-48,
+-91,-20,
+-35,-123,
+-56,-63,
+35,-28,
+96,-31,
+73,-34,
+-51,-19,
+22,117,
+51,-25,
+34,62,
+-43,1,
+-1,106,
+95,50,
+-66,0,
+74,-3,
+-54,-30,
+48,-50,
+-55,-52,
+140,6,
+-36,16,
+-6,-119,
+25,-36,
+40,131,
+78,-75,
+-26,-119,
+-43,50,
+-22,10,
+64,76,
+-71,12,
+17,-66,
+15,-84,
+-114,142,
+110,56,
+-35,11,
+20,-69,
+40,-45,
+26,43,
+-54,20,
+105,39,
+101,-14,
+0,34,
+10,35,
+-14,57,
+69,29,
+-54,-6,
+139,77,
+12,16,
+105,70,
+-83,41,
+-22,35,
+11,-59,
+4,-71,
+58,-62,
+19,-4,
+23,72,
+24,26,
+1,30,
+-30,98,
+-10,97,
+-68,15,
+41,-39,
+-2,-26,
+-44,39,
+-80,40,
+-27,7,
+-50,-14,
+15,-3,
+43,-97,
+-15,39,
+30,-58,
+-15,-1,
+-43,-36,
+-15,55,
+56,1,
+-20,-53,
+68,27,
+7,38,
+-24,40,
+-72,106,
+23,-80,
+8,-52,
+55,40,
+67,27,
+-46,-14,
+-16,39,
+54,31,
+3,34,
+-3,50,
+37,-19,
+-8,25,
+-3,-41,
+-27,-16,
+-34,44,
+62,76,
+103,44,
+-10,-90,
+-76,50,
+28,26,
+-52,39,
+26,26,
+-4,23,
+27,46,
+13,-81,
+-5,-50,
+36,-31,
+42,-17,
+7,168,
+71,-52,
+26,9,
+27,-35,
+43,22,
+-31,23,
+66,-12,
+-31,42,
+-65,26,
+19,-73,
+-39,16,
+-74,8,
+25,-21,
+-82,-61,
+-22,-24,
+23,-10,
+-57,-90,
+26,29,
+28,-46,
+-57,-5,
+58,-9,
+-55,24,
+1,34,
+17,-27,
+-9,-8,
+-32,7,
+-92,7,
+-29,-21,
+-69,9,
+-28,-52,
+24,32,
+-51,10,
+43,-2,
+-30,29,
+20,-44,
+-27,-37,
+82,16,
+18,10,
+-9,-40,
+-24,40,
+-38,-27,
+54,10,
+22,-44,
+-28,10,
+50,8,
+44,-6,
+3,-13,
+11,16,
+13,-24,
+12,33,
+-49,23,
+5,8,
+-29,-8,
+-38,7,
+-33,-23,
+56,45,
+13,-17,
+0,16,
+38,31,
+32,68,
+5,58,
+21,37,
+2,-74,
+-19,33,
+21,101,
+-41,94,
+0,-36,
+65,50,
+72,-14,
+44,18,
+0,1,
+-56,12,
+11,-28,
+50,-47,
+-22,-50,
+-59,10,
+27,-38,
+40,4,
+-9,-20,
+37,-33,
+1,-6,
+19,-18,
+20,0,
+12,22,
+-15,-4,
+-9,-24,
+10,-40,
+48,-46,
+-9,14,
+18,13,
+49,104,
+4,-17,
+-58,27,
+72,5,
+-16,20,
+37,-49,
+45,-52,
+-78,-35,
+-15,5,
+-53,4,
+14,-62,
+46,35,
+11,59,
+-3,-6,
+-21,-10,
+-21,26,
+-38,-17,
+45,-11,
+-28,55,
+-4,61,
+41,-38,
+18,-1,
+-19,-21,
+7,-16,
+1,-12,
+-47,34,
+18,6,
+18,26,
+25,2,
+-8,14,
+-15,-21,
+-11,-42,
+-11,-26,
+3,14,
+3,11,
+3,28,
+-21,-6,
+33,-13,
+6,-30,
+-4,-38,
+-26,11,
+-15,10,
+29,24,
+3,-42,
+9,-17,
+10,19,
+-29,-3,
+4,26,
+27,-20,
+14,11,
+16,4,
+27,26,
+-2,37,
+29,4,
+-19,22,
+-7,7,
+-7,13,
+10,26,
+24,28,
+32,-1,
+-10,-15,
+-19,34,
+-3,-3,
+-3,-24,
+-9,-23,
+10,1,
+28,18,
+6,12,
+-12,27,
+-14,48,
+-14,-11,
+-19,22,
+18,-8,
+18,1,
+-7,-12,
+-6,-26,
+2,9,
+-5,-18,
+-11,-18,
+14,19,
+-6,19,
+-19,-2,
+-3,3,
+19,-17,
+0,14,
+-7,19,
+15,-6,
+7,-4,
+10,20,
+20,1,
+12,14,
+-4,-9,
+22,-5,
+-11,-3,
+-11,-10,
+25,-16,
+2,19,
+-21,8,
+-11,14,
+-13,-1,
+0,-9,
+15,3,
+-10,13,
+18,13,
+-5,4,
+13,-2,
+4,21,
+19,-1,
+1,-5,
+0,6,
+5,7,
+-9,-17,
+17,-8,
+11,-15,
+5,-15,
+-4,5,
+4,-5,
+-14,18,
+-10,-7,
+17,-13,
+1,10,
+-8,-7,
+-5,1,
+-1,-3,
+12,0,
+5,11,
+-7,15,
+6,-4,
+13,2,
+-8,1,
+4,13,
+5,-2,
+0,-3,
+-6,4,
+-1,3,
+-10,0,
+1,-7,
+5,-3,
+-8,-7,
+4,-1,
+12,-8,
+2,-5,
+-6,-6,
+7,9,
+-5,-2,
+-3,7,
+9,3,
+2,-6,
+0,0,
+11,-8,
+-2,0,
+-1,-6,
+2,0,
+-4,2,
+-8,-3,
+7,1,
+-5,0,
+-6,0,
+7,0,
+-3,-2,
+-3,1,
+5,-1,
+-3,0,
+-3,0,
+6,0,
+-3,0,
+-3,0,
+5,1,
+-3,-1,
+-3,2,
+7,0,
+-6,0,
+-5,0,
+7,-1,
+-8,3,
+-4,-2,
+2,0,
+-1,6,
+-2,0,
+11,8,
+0,0,
+2,6,
+9,-3,
+-3,-7,
+-5,2,
+7,-9,
+-6,6,
+2,5,
+12,8,
+4,1,
+-8,7,
+5,3,
+1,7,
+-10,0,
+-1,-3,
+-6,-4,
+0,3,
+5,2,
+4,-13,
+-8,-1,
+13,-2,
+6,4,
+-7,-15,
+5,-11,
+12,0,
+-1,3,
+-5,-1,
+-8,7,
+1,-10,
+17,13,
+-10,7,
+-14,-18,
+4,5,
+-4,-5,
+5,15,
+11,15,
+17,8,
+-9,17,
+5,-7,
+0,-6,
+1,5,
+19,1,
+4,-21,
+13,2,
+-5,-4,
+18,-13,
+-10,-13,
+15,-3,
+0,9,
+-13,1,
+-11,-14,
+-21,-8,
+2,-19,
+25,16,
+-11,10,
+-11,3,
+22,5,
+-4,9,
+12,-14,
+20,-1,
+10,-20,
+7,4,
+15,6,
+-7,-19,
+0,-14,
+19,17,
+-3,-3,
+-19,2,
+-6,-19,
+14,-19,
+-11,18,
+-5,18,
+2,-9,
+-6,26,
+-7,12,
+18,-1,
+18,8,
+-19,-22,
+-14,11,
+-14,-48,
+-12,-27,
+6,-12,
+28,-18,
+10,-1,
+-9,23,
+-3,24,
+-3,3,
+-19,-34,
+-10,15,
+32,1,
+24,-28,
+10,-26,
+-7,-13,
+-7,-7,
+-19,-22,
+29,-4,
+-2,-37,
+27,-26,
+16,-4,
+14,-11,
+27,20,
+4,-26,
+-29,3,
+10,-19,
+9,17,
+3,42,
+29,-24,
+-15,-10,
+-26,-11,
+-4,38,
+6,30,
+33,13,
+-21,6,
+3,-28,
+3,-11,
+3,-14,
+-11,26,
+-11,42,
+-15,21,
+-8,-14,
+25,-2,
+18,-26,
+18,-6,
+-47,-34,
+1,12,
+7,16,
+-19,21,
+18,1,
+41,38,
+-4,-61,
+-28,-55,
+45,11,
+-38,17,
+-21,-26,
+-21,10,
+-3,6,
+11,-59,
+46,-35,
+14,62,
+-53,-4,
+-15,-5,
+-78,35,
+45,52,
+37,49,
+-16,-20,
+72,-5,
+-58,-27,
+4,17,
+49,-104,
+18,-13,
+-9,-14,
+48,46,
+10,40,
+-9,24,
+-15,4,
+12,-22,
+20,0,
+19,18,
+1,6,
+37,33,
+-9,20,
+40,-4,
+27,38,
+-59,-10,
+-22,50,
+50,47,
+11,28,
+-56,-12,
+0,-1,
+44,-18,
+72,14,
+65,-50,
+0,36,
+-41,-94,
+21,-101,
+-19,-33,
+2,74,
+21,-37,
+5,-58,
+32,-68,
+38,-31,
+0,-16,
+13,17,
+56,-45,
+-33,23,
+-38,-7,
+-29,8,
+5,-8,
+-49,-23,
+12,-33,
+13,24,
+11,-16,
+3,13,
+44,6,
+50,-8,
+-28,-10,
+22,44,
+54,-10,
+-38,27,
+-24,-40,
+-9,40,
+18,-10,
+82,-16,
+-27,37,
+20,44,
+-30,-29,
+43,2,
+-51,-10,
+24,-32,
+-28,52,
+-69,-9,
+-29,21,
+-92,-7,
+-32,-7,
+-9,8,
+17,27,
+1,-34,
+-55,-24,
+58,9,
+-57,5,
+28,46,
+26,-29,
+-57,90,
+23,10,
+-22,24,
+-82,61,
+25,21,
+-74,-8,
+-39,-16,
+19,73,
+-65,-26,
+-31,-42,
+66,12,
+-31,-23,
+43,-22,
+27,35,
+26,-9,
+71,52,
+7,-168,
+42,17,
+36,31,
+-5,50,
+13,81,
+27,-46,
+-4,-23,
+26,-26,
+-52,-39,
+28,-26,
+-76,-50,
+-10,90,
+103,-44,
+62,-76,
+-34,-44,
+-27,16,
+-3,41,
+-8,-25,
+37,19,
+-3,-50,
+3,-34,
+54,-31,
+-16,-39,
+-46,14,
+67,-27,
+55,-40,
+8,52,
+23,80,
+-72,-106,
+-24,-40,
+7,-38,
+68,-27,
+-20,53,
+56,-1,
+-15,-55,
+-43,36,
+-15,1,
+30,58,
+-15,-39,
+43,97,
+15,3,
+-50,14,
+-27,-7,
+-80,-40,
+-44,-39,
+-2,26,
+41,39,
+-68,-15,
+-10,-97,
+-30,-98,
+1,-30,
+24,-26,
+23,-72,
+19,4,
+58,62,
+4,71,
+11,59,
+-22,-35,
+-83,-41,
+105,-70,
+12,-16,
+139,-77,
+-54,6,
+69,-29,
+-14,-57,
+10,-35,
+0,-34,
+101,14,
+105,-39,
+-54,-20,
+26,-43,
+40,45,
+20,69,
+-35,-11,
+110,-56,
+-114,-142,
+15,84,
+17,66,
+-71,-12,
+64,-76,
+-22,-10,
+-43,-50,
+-26,119,
+78,75,
+40,-131,
+25,36,
+-6,119,
+-36,-16,
+140,-6,
+-55,52,
+48,50,
+-54,30,
+74,3,
+-66,0,
+95,-50,
+-1,-106,
+-43,-1,
+34,-62,
+51,25,
+22,-117,
+-51,19,
+73,34,
+96,31,
+35,28,
+-56,63,
+-35,123,
+-91,20,
+63,48,
+-13,54,
+20,93,
+69,-77,
+22,12,
+-95,20,
+-8,54,
+64,40,
+8,-90,
+-5,149,
+-47,83,
+14,-73,
+-56,-3,
+-125,26,
+-48,-30,
+136,-18,
+-55,35,
+-12,-83,
+80,21,
+63,109,
+-42,47,
+-19,-39,
+-1,-32,
+46,-84,
+58,-40,
+32,-83,
+112,5,
+57,-37,
+-24,94,
+-51,-82,
+84,21,
+-50,-44,
+-8,117,
+29,-84,
+60,-47,
+72,57,
+2,-65,
+26,-123,
+112,-65,
+189,-29,
+-183,16,
+-25,-60,
+-150,59,
+2,119,
+-80,60,
+-67,38,
+-159,-19,
+47,59,
+-30,-65,
+143,4,
+-121,-106,
+145,-4,
+-63,-189,
+-169,-2,
+53,37,
+42,-3,
+-2,-68,
+79,109,
+-171,-92,
+146,55,
+49,43,
+-106,-1,
+-23,41,
+68,-59,
+1,30,
+39,-23,
+150,25,
+45,14,
+64,19,
+108,199,
+-110,-90,
+34,21,
+-3,-37,
+60,27,
+-73,-99,
+7,-51,
+25,117,
+115,-34,
+-34,-12,
+-42,-25,
+142,-135,
+38,-77,
+88,-194,
+15,72,
+-97,-58,
+50,69,
+29,126,
+-92,-68,
+55,61,
+59,-2,
+24,-55,
+86,66,
+20,90,
+-20,92,
+-111,114,
+-13,113,
+-50,42,
+-25,5,
+210,27,
+-61,119,
+69,-79,
+82,-14,
+161,79,
+51,-96,
+-225,-65,
+-102,155,
+-30,37,
+12,-77,
+76,29,
+-76,159,
+-132,4,
+65,159,
+159,-39,
+30,81,
+-153,-49,
+51,61,
+-55,-14,
+-133,54,
+4,77,
+121,-73,
+-40,1,
+15,-33,
+-100,32,
+67,38,
+155,124,
+-44,-49,
+-11,-44,
+-57,-63,
+45,90,
+134,29,
+120,-116,
+66,188,
+-137,-182,
+-70,-167,
+-36,-21,
+-95,-67,
+-88,104,
+23,8,
+-12,-117,
+-49,-27,
+-14,-71,
+-111,52,
+9,70,
+-22,-38,
+258,-105,
+-50,85,
+-202,11,
+-60,22,
+13,-51,
+-17,7,
+11,63,
+-51,-22,
+-8,54,
+-28,-11,
+28,-35,
+49,110,
+-119,181,
+25,-5,
+33,-111,
+54,-187,
+-48,186,
+-59,-5,
+11,44,
+154,77,
+2,-20,
+13,-15,
+9,101,
+-128,97,
+173,17,
+195,116,
+-19,92,
+114,-15,
+-141,-182,
+72,-100,
+-27,-57,
+-91,7,
+190,133,
+-17,-99,
+-115,-71,
+-66,-60,
+37,-18,
+-74,162,
+105,-98,
+13,-82,
+-62,17,
+-56,121,
+-12,30,
+-1,46,
+-77,41,
+109,67,
+-190,-220,
+28,-80,
+-139,172,
+-121,64,
+-54,-61,
+115,-46,
+-89,50,
+-133,155,
+61,152,
+81,78,
+-43,-265,
+-3,-157,
+47,130,
+-36,-209,
+-149,-15,
+70,-73,
+-56,34,
+-183,101,
+-83,52,
+-116,79,
+-169,-76,
+15,-37,
+3,-86,
+-25,-77,
+56,22,
+-97,-14,
+-18,33,
+-92,-10,
+-75,-21,
+165,97,
+-30,-87,
+294,-221,
+81,43,
+19,-69,
+87,-8,
+-51,29,
+-56,-199,
+-5,62,
+146,99,
+26,-52,
+-109,-140,
+204,207,
+-132,-101,
+-56,-28,
+-140,-34,
+15,-181,
+-6,-119,
+-37,-27,
+64,-72,
+-58,-70,
+85,99,
+-83,54,
+-85,-92,
+80,21,
+-107,-119,
+71,211,
+-43,-128,
+50,-145,
+-66,129,
+67,91,
+105,35,
+222,52,
+-73,-197,
+162,163,
+-16,-236,
+-8,111,
+-51,121,
+33,159,
+-154,29,
+-148,142,
+-36,-19,
+-10,331,
+82,-38,
+-34,-47,
+115,-263,
+208,-25,
+28,11,
+-22,-87,
+59,-133,
+42,-20,
+3,66,
+-172,-58,
+213,28,
+-79,-30,
+2,71,
+-49,-86,
+96,-143,
+3,-110,
+178,-22,
+45,-85,
+68,-47,
+81,103,
+-91,20,
+-190,-103,
+42,-107,
+40,61,
+5,-43,
+10,-39,
+49,-56,
+-63,232,
+59,116,
+65,-43,
+-144,24,
+-121,120,
+-45,-117,
+118,-74,
+-174,71,
+-82,63,
+142,15,
+-69,-104,
+0,-47,
+-162,-27,
+-50,36,
+-64,-40,
+-133,214,
+-196,21,
+25,-67,
+-49,-128,
+-143,-104,
+118,1,
+24,82,
+120,-185,
+-44,-18,
+140,108,
+61,-97,
+155,-17,
+6,-67,
+-81,88,
+41,-154,
+-124,186,
+-141,-174,
+122,-12,
+-62,-95,
+-216,71,
+50,-19,
+82,-138,
+-53,-73,
+-164,3,
+-58,124,
+178,-59,
+37,46,
+52,-43,
+-145,46,
+-58,72,
+85,-61,
+294,129,
+-102,-188,
+-119,64,
+3,-62,
+-26,-59,
+108,26,
+38,-49,
+11,-307,
+-6,-8,
+149,134,
+65,-206,
+14,96,
+107,-93,
+6,-58,
+141,-294,
+70,115,
+124,-104,
+8,144,
+-40,61,
+-191,-186,
+-126,19,
+53,-39,
+69,-138,
+87,26,
+78,34,
+153,-82,
+213,183,
+57,38,
+-129,-60,
+-24,-9,
+90,158,
+51,34,
+18,179,
+35,61,
+-141,-86,
+-21,6,
+-119,-33,
+83,-54,
+-191,37,
+69,131,
+55,-73,
+-37,16,
+-12,-72,
+-25,-65,
+66,-93,
+223,168,
+34,9,
+-18,71,
+-164,-51,
+50,-183,
+108,-52,
+-19,50,
+7,6,
+155,-50,
+65,-46,
+16,-27,
+123,-2,
+-100,-51,
+-1,18,
+-49,92,
+60,55,
+248,-160,
+-3,-198,
+-61,25,
+-68,86,
+237,117,
+-10,-94,
+41,120,
+193,-93,
+-87,-47,
+-26,12,
+-179,-52,
+-171,-47,
+206,-72,
+61,-132,
+238,-7,
+-264,-188,
+50,-82,
+74,79,
+-54,-200,
+73,53,
+94,46,
+-30,13,
+-32,141,
+-99,52,
+105,14,
+-87,244,
+-154,-32,
+-39,81,
+-106,135,
+-65,-107,
+-167,52,
+128,40,
+-173,-144,
+-8,172,
+161,-79,
+-27,80,
+-16,-24,
+1,-48,
+-28,189,
+3,122,
+66,222,
+-174,92,
+47,69,
+-17,76,
+22,-95,
+77,132,
+-12,-132,
+-72,124,
+-109,-94,
+34,-62,
+4,-188,
+-11,63,
+-71,159,
+155,-50,
+-182,-31,
+-1,-76,
+0,-27,
+-7,0,
+-2,-218,
+20,-40,
+-88,80,
+80,-163,
+6,44,
+79,111,
+59,36,
+-19,-12,
+-85,265,
+125,-34,
+-64,-103,
+80,-42,
+12,-39,
+97,-106,
+188,-68,
+302,-86,
+-45,-26,
+-90,27,
+2,-51,
+421,74,
+188,35,
+97,27,
+-112,-186,
+213,-281,
+-93,-160,
+30,63,
+84,117,
+-116,5,
+-236,-172,
+-21,64,
+-152,194,
+14,-49,
+-62,-168,
+-61,-32,
+-86,32,
+-74,-203,
+-14,55,
+-29,-62,
+71,-144,
+41,125,
+-162,104,
+-126,-230,
+-93,9,
+-154,-26,
+343,-158,
+100,-88,
+186,54,
+-74,-99,
+155,190,
+-41,-314,
+-85,-84,
+-286,88,
+-139,-113,
+101,412,
+-116,86,
+-127,-107,
+60,-104,
+278,-64,
+-18,-24,
+-55,75,
+112,241,
+-55,-95,
+-86,62,
+308,-18,
+162,27,
+-28,-140,
+-156,-85,
+34,36,
+-161,17,
+9,36,
+83,69,
+139,117,
+-21,-246,
+144,-52,
+-11,55,
+-88,34,
+-176,70,
+-135,63,
+12,-16,
+171,-57,
+4,87,
+65,-40,
+-93,-6,
+-196,-175,
+-106,101,
+-66,148,
+200,-32,
+-37,2,
+-84,-125,
+-153,-57,
+38,65,
+176,12,
+-124,48,
+137,-106,
+-87,-181,
+48,-55,
+219,-39,
+114,-229,
+110,83,
+61,-55,
+109,85,
+14,58,
+205,-55,
+174,-213,
+-78,-99,
+32,-2,
+68,118,
+99,57,
+-214,-4,
+-148,44,
+54,-43,
+57,-188,
+114,-76,
+235,130,
+151,63,
+212,117,
+-167,105,
+179,-68,
+-48,-193,
+-219,79,
+34,82,
+-107,-95,
+-100,104,
+-44,61,
+31,-112,
+158,22,
+115,232,
+-185,-83,
+22,-101,
+79,54,
+78,-64,
+29,-34,
+-10,-48,
+18,-167,
+226,-136,
+-57,2,
+-2,-189,
+-28,19,
+-57,33,
+-128,-15,
+-23,-49,
+-6,-106,
+259,121,
+29,289,
+-2,9,
+-32,-54,
+-51,78,
+186,-188,
+169,66,
+-66,-134,
+121,34,
+104,-236,
+60,-43,
+-70,-90,
+69,-67,
+26,109,
+-62,-62,
+-273,-97,
+-96,-218,
+-112,36,
+-194,-92,
+291,85,
+-31,167,
+-24,22,
+-26,-45,
+-146,-145,
+155,114,
+-113,208,
+-60,-97,
+57,-183,
+164,6,
+163,50,
+125,-135,
+-180,-81,
+200,-37,
+137,45,
+9,-150,
+-71,54,
+86,8,
+103,174,
+-81,135,
+-41,-30,
+-211,-36,
+-61,113,
+-122,-64,
+-104,-353,
+-314,54,
+99,-52,
+-65,20,
+273,76,
+44,17,
+111,-154,
+-2,-106,
+-387,-201,
+82,-145,
+-352,-118,
+-68,56,
+-27,-85,
+-12,426,
+31,-21,
+-140,113,
+137,123,
+-6,132,
+-207,111,
+145,-175,
+-261,204,
+-2,97,
+-225,-39,
+-68,143,
+6,0,
+-206,77,
+85,127,
+-212,-22,
+-98,148,
+-328,23,
+113,141,
+-56,-70,
+243,-36,
+-31,-211,
+-69,-189,
+-98,-67,
+-21,-121,
+23,151,
+-100,129,
+-95,-11,
+-23,-155,
+-75,-16,
+-24,233,
+-58,57,
+140,186,
+-82,149,
+-90,25,
+-33,23,
+-10,227,
+239,-189,
+-146,-133,
+49,9,
+68,133,
+-8,72,
+-73,155,
+111,28,
+-18,55,
+0,-43,
+-82,1,
+1,-191,
+-28,-229,
+202,181,
+-150,191,
+51,-52,
+42,13,
+-81,-34,
+107,-143,
+-105,173,
+118,6,
+20,38,
+66,124,
+-121,8,
+22,12,
+53,120,
+65,-138,
+302,-105,
+-5,117,
+135,263,
+-51,193,
+88,-47,
+-14,-117,
+-36,-21,
+14,-174,
+-73,-114,
+-109,-127,
+-21,153,
+81,-259,
+-29,125,
+-132,73,
+191,-163,
+-69,-28,
+-3,-106,
+-12,145,
+8,66,
+-165,102,
+-106,108,
+-67,214,
+-30,173,
+70,-98,
+92,-53,
+120,-237,
+-123,-39,
+72,37,
+115,326,
+239,174,
+-409,-8,
+117,-151,
+-101,31,
+-62,120,
+-86,-64,
+-49,-23,
+240,176,
+-100,-3,
+15,-102,
+169,-110,
+101,85,
+110,218,
+75,32,
+-85,53,
+29,-76,
+14,-65,
+-24,154,
+39,-1,
+29,-51,
+-100,226,
+105,-76,
+-112,-136,
+11,119,
+-63,-56,
+151,-45,
+88,-77,
+99,84,
+-145,16,
+13,-44,
+-220,67,
+-94,25,
+360,107,
+179,-101,
+-40,13,
+-52,137,
+-98,5,
+71,-75,
+65,112,
+197,147,
+189,86,
+72,242,
+223,350,
+-142,121,
+303,257,
+74,-170,
+177,-10,
+111,-58,
+-89,-142,
+-168,290,
+-13,115,
+-38,140,
+-128,269,
+-38,-22,
+-29,106,
+164,-57,
+-62,27,
+203,-41,
+-143,-8,
+193,-74,
+-57,-226,
+-132,334,
+13,-259,
+36,-53,
+-154,146,
+0,14,
+-36,-133,
+-12,-140,
+100,213,
+-87,165,
+-51,-89,
+150,-176,
+15,64,
+-101,56,
+-139,204,
+-22,-120,
+-77,-11,
+-98,50,
+235,-205,
+137,149,
+-119,-79,
+116,-282,
+-55,173,
+103,-20,
+13,144,
+-1,47,
+-122,28,
+169,-126,
+-58,45,
+162,148,
+52,74,
+-152,-68,
+-50,-112,
+19,-154,
+-161,23,
+-4,-52,
+-10,108,
+-103,49,
+-200,34,
+88,-174,
+-13,-113,
+-112,-163,
+-45,59,
+-77,-331,
+-25,-88,
+54,-41,
+195,148,
+-2,71,
+149,23,
+-149,-41,
+32,74,
+52,91,
+-24,37,
+-30,173,
+-20,-92,
+65,221,
+200,112,
+5,254,
+395,-14,
+-11,-70,
+42,-211,
+-6,39,
+99,100,
+-11,-53,
+-37,97,
+55,-65,
+-35,193,
+94,94,
+-237,-146,
+-97,-115,
+61,15,
+-242,81,
+13,-79,
+-88,209,
+-57,-113,
+30,-11,
+8,-16,
+-73,-17,
+185,83,
+-74,21,
+28,143,
+-71,38,
+86,31,
+-131,150,
+-33,-126,
+15,140,
+-197,-63,
+103,-40,
+133,-40,
+123,-26,
+-81,-333,
+-67,35,
+-64,88,
+-12,-103,
+106,145,
+148,170,
+-184,-113,
+-36,-59,
+-12,91,
+119,135,
+-5,-34,
+-40,-53,
+125,-124,
+118,5,
+153,46,
+-111,-16,
+-101,118,
+151,1,
+139,-78,
+125,-17,
+-201,-39,
+55,153,
+41,-216,
+52,-85,
+19,334,
+-158,11,
+-1,-60,
+-14,93,
+234,55,
+-101,-17,
+-161,-174,
+-184,-27,
+-92,170,
+-86,82,
+111,-223,
+61,-23,
+49,-31,
+29,70,
+-47,-16,
+71,94,
+-39,174,
+105,-137,
+-101,172,
+41,154,
+151,140,
+50,-20,
+26,-60,
+-172,3,
+-69,219,
+157,-163,
+-95,241,
+-168,67,
+64,-134,
+179,180,
+-15,-249,
+-77,49,
+-37,-3,
+107,-19,
+123,85,
+70,-25,
+184,213,
+30,178,
+150,-57,
+-4,52,
+30,90,
+-11,-64,
+9,-6,
+25,-34,
+-212,-116,
+-47,-132,
+-38,105,
+-81,-101,
+-88,14,
+100,49,
+40,-13,
+45,46,
+129,8,
+-4,9,
+33,-143,
+11,24,
+75,-36,
+-32,45,
+-29,-40,
+-261,92,
+-15,-47,
+-110,180,
+-139,239,
+-70,147,
+71,-84,
+-103,51,
+-120,-17,
+-51,-226,
+-99,-62,
+-145,28,
+68,35,
+97,238,
+-85,13,
+156,7,
+-93,155,
+111,77,
+110,94,
+-137,35,
+55,295,
+-74,102,
+90,-102,
+96,-251,
+137,57,
+-83,150,
+-125,-52,
+76,57,
+-39,-155,
+-49,-27,
+74,37,
+-66,-71,
+-220,-46,
+-4,31,
+102,9,
+78,-74,
+18,-78,
+-167,-155,
+88,114,
+-24,-188,
+-191,54,
+38,-207,
+132,-103,
+26,166,
+102,-20,
+6,-50,
+-66,-75,
+39,2,
+169,15,
+67,10,
+68,-122,
+-94,63,
+-137,-32,
+-48,-62,
+-53,-239,
+116,-132,
+196,-180,
+-211,152,
+190,-102,
+-45,21,
+-268,13,
+11,-131,
+106,-41,
+-30,5,
+-103,-164,
+-96,22,
+5,40,
+-54,-18,
+171,79,
+11,53,
+124,178,
+-88,-28,
+-193,101,
+41,-137,
+57,-197,
+220,61,
+-98,157,
+118,13,
+59,171,
+209,-7,
+-59,221,
+-237,116,
+7,-73,
+14,-143,
+-239,13,
+34,-35,
+-163,63,
+33,137,
+71,41,
+-41,-12,
+-97,49,
+11,40,
+125,29,
+91,-80,
+-319,-1,
+-62,-58,
+170,50,
+22,-231,
+-79,38,
+44,-176,
+15,65,
+-150,89,
+78,-199,
+-43,55,
+-146,-52,
+15,30,
+73,41,
+68,11,
+-32,62,
+50,103,
+-167,38,
+11,126,
+-13,36,
+237,109,
+44,58,
+24,-49,
+96,166,
+-2,-176,
+-165,99,
+-4,-97,
+21,-262,
+-112,-124,
+99,190,
+37,-73,
+-20,-101,
+-13,-81,
+-187,79,
+27,-4,
+26,-23,
+44,-2,
+76,89,
+132,77,
+82,31,
+131,24,
+-85,91,
+119,-142,
+-66,26,
+-38,49,
+-62,-79,
+-116,-57,
+-84,198,
+69,19,
+-96,37,
+106,88,
+59,154,
+-34,-96,
+-183,-97,
+78,39,
+41,-67,
+80,6,
+103,21,
+175,50,
+-100,-59,
+-50,-75,
+24,32,
+-9,-24,
+77,-156,
+51,79,
+-9,-160,
+4,-162,
+91,-91,
+125,2,
+-70,11,
+33,114,
+78,50,
+3,-83,
+110,-23,
+-7,26,
+-64,130,
+153,-54,
+200,-53,
+114,-43,
+1,-164,
+180,6,
+27,-82,
+103,-73,
+-14,138,
+162,-51,
+-25,6,
+119,116,
+29,198,
+17,-58,
+-122,25,
+-36,-119,
+-50,-75,
+-73,99,
+101,-100,
+-17,-66,
+-52,-140,
+-32,22,
+23,68,
+37,0,
+60,161,
+-17,38,
+-107,-124,
+-86,-80,
+5,69,
+18,214,
+-66,71,
+120,-40,
+-62,-34,
+-89,10,
+148,77,
+155,-90,
+87,34,
+-79,-45,
+-120,-162,
+39,12,
+123,71,
+81,6,
+-32,35,
+66,-7,
+-69,-107,
+-238,55,
+112,28,
+-43,-16,
+-65,-74,
+-4,-46,
+-125,-60,
+60,-76,
+127,137,
+147,0,
+-61,88,
+66,27,
+5,131,
+6,-61,
+-58,168,
+-94,63,
+-22,61,
+-132,66,
+-35,225,
+17,86,
+6,-20,
+132,2,
+-86,36,
+-67,89,
+80,15,
+59,14,
+30,19,
+7,8,
+-81,150,
+-189,-6,
+-26,-48,
+-88,101,
+4,25,
+-88,9,
+8,27,
+-1,-67,
+-94,-41,
+22,80,
+97,178,
+-89,-23,
+9,110,
+7,12,
+-85,-107,
+-65,-92,
+97,143,
+137,-28,
+-67,34,
+124,-27,
+85,-28,
+-19,-102,
+-60,-55,
+47,-53,
+-34,18,
+-15,-32,
+-32,94,
+87,-46,
+10,161,
+48,90,
+78,22,
+16,71,
+-50,47,
+26,-87,
+34,4,
+-13,-133,
+-169,13,
+54,105,
+56,-50,
+-55,14,
+-209,-9,
+-48,-50,
+-35,-62,
+69,-35,
+-111,62,
+142,40,
+-11,57,
+19,83,
+147,147,
+-8,-156,
+76,-3,
+79,-31,
+24,14,
+29,10,
+27,112,
+-5,-43,
+41,-93,
+-98,12,
+19,-28,
+-55,-23,
+45,-39,
+24,38,
+-221,-41,
+73,5,
+-113,124,
+3,-61,
+2,-167,
+-34,-41,
+-52,198,
+111,-44,
+2,-100,
+-46,52,
+94,3,
+68,-37,
+1,60,
+62,-195,
+-56,-7,
+-93,-27,
+-21,-64,
+82,-72,
+66,-65,
+154,67,
+-47,185,
+104,-75,
+102,64,
+-7,40,
+-101,146,
+-63,-78,
+-21,-61,
+96,-47,
+9,-16,
+125,151,
+-14,-13,
+22,38,
+42,-29,
+-52,-34,
+-18,-108,
+-56,10,
+-33,91,
+-25,-71,
+-45,-96,
+-6,-17,
+54,-22,
+-81,95,
+50,-76,
+-178,142,
+-122,41,
+-52,-161,
+28,-15,
+-54,-13,
+26,-78,
+-54,140,
+10,93,
+30,-34,
+-51,8,
+-83,31,
+87,-31,
+7,101,
+-34,74,
+-56,-53,
+-119,-27,
+77,-28,
+-105,-35,
+23,36,
+-92,-87,
+-52,55,
+34,121,
+5,-68,
+-48,-110,
+2,-8,
+-9,8,
+-35,-30,
+-7,19,
+-85,-6,
+71,-47,
+44,-38,
+3,50,
+-70,88,
+-131,0,
+107,45,
+130,-91,
+65,41,
+-20,8,
+126,12,
+30,84,
+-3,-71,
+77,62,
+34,24,
+87,9,
+6,-38,
+-77,-73,
+-64,-28,
+-38,-64,
+9,-40,
+8,11,
+19,-10,
+170,-98,
+65,-22,
+9,-70,
+-6,-51,
+54,-100,
+-55,43,
+44,11,
+-27,19,
+-46,-8,
+-29,42,
+53,20,
+-32,43,
+29,38,
+32,8,
+-45,-4,
+27,-61,
+-19,-7,
+-21,-48,
+-75,-53,
+-6,-53,
+-22,52,
+-3,-9,
+25,-28,
+16,67,
+9,1,
+48,74,
+101,39,
+47,72,
+-57,35,
+68,48,
+4,10,
+-93,-74,
+80,17,
+-114,85,
+50,15,
+50,-76,
+-22,-15,
+102,22,
+-42,6,
+63,-72,
+-18,-39,
+-40,89,
+63,29,
+124,2,
+-22,22,
+43,-41,
+4,60,
+65,-20,
+15,7,
+-22,2,
+53,18,
+-75,44,
+-45,15,
+9,0,
+74,-70,
+-2,-56,
+-71,-90,
+-36,-3,
+71,32,
+2,79,
+-33,-83,
+66,-7,
+52,-15,
+20,10,
+-69,52,
+-29,-30,
+100,-16,
+-84,-21,
+-29,119,
+60,21,
+-24,-35,
+29,-15,
+32,13,
+-37,92,
+-19,17,
+-25,-5,
+-18,6,
+40,21,
+74,35,
+-70,-66,
+-19,-12,
+81,7,
+9,67,
+0,-8,
+33,-36,
+-31,-15,
+-58,-20,
+-66,9,
+21,105,
+-41,-23,
+16,-22,
+-14,-20,
+37,-13,
+-21,-22,
+54,-14,
+14,36,
+12,-63,
+64,51,
+-22,-2,
+19,15,
+8,-7,
+-56,0,
+38,-13,
+-9,-6,
+36,-59,
+-10,4,
+22,-48,
+-48,-16,
+-41,-32,
+34,-54,
+35,68,
+35,-23,
+-39,-16,
+40,25,
+11,4,
+-9,18,
+-21,-16,
+-70,58,
+34,25,
+44,112,
+83,-20,
+-2,45,
+54,22,
+-18,-56,
+50,18,
+26,33,
+1,-45,
+11,22,
+-6,-12,
+25,39,
+34,27,
+18,44,
+-81,-33,
+-22,-7,
+-58,-13,
+13,-44,
+-67,11,
+-34,13,
+1,-43,
+31,-50,
+-3,31,
+28,-38,
+-32,-19,
+-21,3,
+-34,-30,
+-22,-25,
+18,19,
+51,8,
+-4,42,
+-22,-15,
+1,13,
+28,-28,
+-5,24,
+67,-1,
+-37,28,
+-17,-21,
+-19,12,
+-17,16,
+25,46,
+-42,8,
+1,-51,
+15,7,
+-16,-18,
+69,-59,
+-12,39,
+-40,20,
+-13,-23,
+35,8,
+38,-3,
+-6,2,
+-63,10,
+29,-29,
+31,-12,
+-49,3,
+17,-4,
+-19,-27,
+31,7,
+-59,-5,
+-1,36,
+18,-28,
+-28,49,
+17,-11,
+-6,21,
+30,-19,
+18,-28,
+49,0,
+39,-9,
+5,-34,
+34,-12,
+-43,19,
+-25,21,
+36,53,
+-28,-2,
+71,41,
+60,-16,
+27,48,
+31,26,
+32,26,
+3,33,
+-2,-11,
+6,3,
+10,-21,
+7,-9,
+-2,48,
+-12,39,
+33,0,
+-2,-34,
+-9,-24,
+9,14,
+10,-19,
+-7,35,
+-24,17,
+20,-3,
+-11,-18,
+-10,17,
+4,-22,
+1,11,
+20,-1,
+-4,-4,
+2,8,
+16,2,
+-20,-10,
+-8,7,
+34,-1,
+8,12,
+16,28,
+-2,12,
+-33,-1,
+12,9,
+21,-2,
+-6,25,
+-6,-25,
+16,-20,
+2,24,
+-17,-37,
+-4,2,
+29,-13,
+26,41,
+22,-6,
+-22,-6,
+-12,5,
+-20,21,
+1,-1,
+10,0,
+28,-4,
+15,-19,
+3,-11,
+18,-4,
+2,4,
+5,-10,
+-20,10,
+-2,-2,
+4,5,
+-3,-11,
+6,6,
+-21,5,
+15,-16,
+-22,-5,
+-16,3,
+0,-5,
+-7,0,
+-11,4,
+19,6,
+26,-8,
+1,23,
+-6,3,
+-2,15,
+-6,6,
+11,-7,
+3,1,
+-3,-2,
+11,7,
+7,-1,
+-7,8,
+10,-10,
+-9,7,
+-8,1,
+11,-7,
+5,7,
+3,-3,
+1,7,
+-19,-3,
+-4,-2,
+11,-4,
+-9,5,
+4,0,
+11,0,
+0,-1,
+3,4,
+9,-2,
+-14,3,
+-3,-1,
+9,8,
+1,-5,
+-3,-5,
+11,2,
+1,-1,
+2,2,
+9,-3,
+-1,-1,
+-8,-1,
+5,-2,
+2,-2,
+-3,0,
+6,1,
+-5,-2,
+-5,-2,
+3,2,
+-4,0,
+-2,3,
+5,-2,
+-1,0,
+-3,-2,
+6,0,
+-3,0,
+-3,0,
+6,0,
+-3,0,
+-3,0,
+6,0,
+-3,2,
+-1,0,
+5,2,
+-2,-3,
+-4,0,
+3,-2,
+-5,2,
+-5,2,
+6,-1,
+-3,0,
+2,2,
+5,2,
+-8,1,
+-1,1,
+9,3,
+2,-2,
+1,1,
+11,-2,
+-3,5,
+1,5,
+9,-8,
+-3,1,
+-14,-3,
+9,2,
+3,-4,
+0,1,
+11,0,
+4,0,
+-9,-5,
+11,4,
+-4,2,
+-19,3,
+1,-7,
+3,3,
+5,-7,
+11,7,
+-8,-1,
+-9,-7,
+10,10,
+-7,-8,
+7,1,
+11,-7,
+-3,2,
+3,-1,
+11,7,
+-6,-6,
+-2,-15,
+-6,-3,
+1,-23,
+26,8,
+19,-6,
+-11,-4,
+-7,0,
+0,5,
+-16,-3,
+-22,5,
+15,16,
+-21,-5,
+6,-6,
+-3,11,
+4,-5,
+-2,2,
+-20,-10,
+5,10,
+2,-4,
+18,4,
+3,11,
+15,19,
+28,4,
+10,0,
+1,1,
+-20,-21,
+-12,-5,
+-22,6,
+22,6,
+26,-41,
+29,13,
+-4,-2,
+-17,37,
+2,-24,
+16,20,
+-6,25,
+-6,-25,
+21,2,
+12,-9,
+-33,1,
+-2,-12,
+16,-28,
+8,-12,
+34,1,
+-8,-7,
+-20,10,
+16,-2,
+2,-8,
+-4,4,
+20,1,
+1,-11,
+4,22,
+-10,-17,
+-11,18,
+20,3,
+-24,-17,
+-7,-35,
+10,19,
+9,-14,
+-9,24,
+-2,34,
+33,0,
+-12,-39,
+-2,-48,
+7,9,
+10,21,
+6,-3,
+-2,11,
+3,-33,
+32,-26,
+31,-26,
+27,-48,
+60,16,
+71,-41,
+-28,2,
+36,-53,
+-25,-21,
+-43,-19,
+34,12,
+5,34,
+39,9,
+49,0,
+18,28,
+30,19,
+-6,-21,
+17,11,
+-28,-49,
+18,28,
+-1,-36,
+-59,5,
+31,-7,
+-19,27,
+17,4,
+-49,-3,
+31,12,
+29,29,
+-63,-10,
+-6,-2,
+38,3,
+35,-8,
+-13,23,
+-40,-20,
+-12,-39,
+69,59,
+-16,18,
+15,-7,
+1,51,
+-42,-8,
+25,-46,
+-17,-16,
+-19,-12,
+-17,21,
+-37,-28,
+67,1,
+-5,-24,
+28,28,
+1,-13,
+-22,15,
+-4,-42,
+51,-8,
+18,-19,
+-22,25,
+-34,30,
+-21,-3,
+-32,19,
+28,38,
+-3,-31,
+31,50,
+1,43,
+-34,-13,
+-67,-11,
+13,44,
+-58,13,
+-22,7,
+-81,33,
+18,-44,
+34,-27,
+25,-39,
+-6,12,
+11,-22,
+1,45,
+26,-33,
+50,-18,
+-18,56,
+54,-22,
+-2,-45,
+83,20,
+44,-112,
+34,-25,
+-70,-58,
+-21,16,
+-9,-18,
+11,-4,
+40,-25,
+-39,16,
+35,23,
+35,-68,
+34,54,
+-41,32,
+-48,16,
+22,48,
+-10,-4,
+36,59,
+-9,6,
+38,13,
+-56,0,
+8,7,
+19,-15,
+-22,2,
+64,-51,
+12,63,
+14,-36,
+54,14,
+-21,22,
+37,13,
+-14,20,
+16,22,
+-41,23,
+21,-105,
+-66,-9,
+-58,20,
+-31,15,
+33,36,
+0,8,
+9,-67,
+81,-7,
+-19,12,
+-70,66,
+74,-35,
+40,-21,
+-18,-6,
+-25,5,
+-19,-17,
+-37,-92,
+32,-13,
+29,15,
+-24,35,
+60,-21,
+-29,-119,
+-84,21,
+100,16,
+-29,30,
+-69,-52,
+20,-10,
+52,15,
+66,7,
+-33,83,
+2,-79,
+71,-32,
+-36,3,
+-71,90,
+-2,56,
+74,70,
+9,0,
+-45,-15,
+-75,-44,
+53,-18,
+-22,-2,
+15,-7,
+65,20,
+4,-60,
+43,41,
+-22,-22,
+124,-2,
+63,-29,
+-40,-89,
+-18,39,
+63,72,
+-42,-6,
+102,-22,
+-22,15,
+50,76,
+50,-15,
+-114,-85,
+80,-17,
+-93,74,
+4,-10,
+68,-48,
+-57,-35,
+47,-72,
+101,-39,
+48,-74,
+9,-1,
+16,-67,
+25,28,
+-3,9,
+-22,-52,
+-6,53,
+-75,53,
+-21,48,
+-19,7,
+27,61,
+-45,4,
+32,-8,
+29,-38,
+-32,-43,
+53,-20,
+-29,-42,
+-46,8,
+-27,-19,
+44,-11,
+-55,-43,
+54,100,
+-6,51,
+9,70,
+65,22,
+170,98,
+19,10,
+8,-11,
+9,40,
+-38,64,
+-64,28,
+-77,73,
+6,38,
+87,-9,
+34,-24,
+77,-62,
+-3,71,
+30,-84,
+126,-12,
+-20,-8,
+65,-41,
+130,91,
+107,-45,
+-131,0,
+-70,-88,
+3,-50,
+44,38,
+71,47,
+-85,6,
+-7,-19,
+-35,30,
+-9,-8,
+2,8,
+-48,110,
+5,68,
+34,-121,
+-52,-55,
+-92,87,
+23,-36,
+-105,35,
+77,28,
+-119,27,
+-56,53,
+-34,-74,
+7,-101,
+87,31,
+-83,-31,
+-51,-8,
+30,34,
+10,-93,
+-54,-140,
+26,78,
+-54,13,
+28,15,
+-52,161,
+-122,-41,
+-178,-142,
+50,76,
+-81,-95,
+54,22,
+-6,17,
+-45,96,
+-25,71,
+-33,-91,
+-56,-10,
+-18,108,
+-52,34,
+42,29,
+22,-38,
+-14,13,
+125,-151,
+9,16,
+96,47,
+-21,61,
+-63,78,
+-101,-146,
+-7,-40,
+102,-64,
+104,75,
+-47,-185,
+154,-67,
+66,65,
+82,72,
+-21,64,
+-93,27,
+-56,7,
+62,195,
+1,-60,
+68,37,
+94,-3,
+-46,-52,
+2,100,
+111,44,
+-52,-198,
+-34,41,
+2,167,
+3,61,
+-113,-124,
+73,-5,
+-221,41,
+24,-38,
+45,39,
+-55,23,
+19,28,
+-98,-12,
+41,93,
+-5,43,
+27,-112,
+29,-10,
+24,-14,
+79,31,
+76,3,
+-8,156,
+147,-147,
+19,-83,
+-11,-57,
+142,-40,
+-111,-62,
+69,35,
+-35,62,
+-48,50,
+-209,9,
+-55,-14,
+56,50,
+54,-105,
+-169,-13,
+-13,133,
+34,-4,
+26,87,
+-50,-47,
+16,-71,
+78,-22,
+48,-90,
+10,-161,
+87,46,
+-32,-94,
+-15,32,
+-34,-18,
+47,53,
+-60,55,
+-19,102,
+85,28,
+124,27,
+-67,-34,
+137,28,
+97,-143,
+-65,92,
+-85,107,
+7,-12,
+9,-110,
+-89,23,
+97,-178,
+22,-80,
+-94,41,
+-1,67,
+8,-27,
+-88,-9,
+4,-25,
+-88,-101,
+-26,48,
+-189,6,
+-81,-150,
+7,-8,
+30,-19,
+59,-14,
+80,-15,
+-67,-89,
+-86,-36,
+132,-2,
+6,20,
+17,-86,
+-35,-225,
+-132,-66,
+-22,-61,
+-94,-63,
+-58,-168,
+6,61,
+5,-131,
+66,-27,
+-61,-88,
+147,0,
+127,-137,
+60,76,
+-125,60,
+-4,46,
+-65,74,
+-43,16,
+112,-28,
+-238,-55,
+-69,107,
+66,7,
+-32,-35,
+81,-6,
+123,-71,
+39,-12,
+-120,162,
+-79,45,
+87,-34,
+155,90,
+148,-77,
+-89,-10,
+-62,34,
+120,40,
+-66,-71,
+18,-214,
+5,-69,
+-86,80,
+-107,124,
+-17,-38,
+60,-161,
+37,0,
+23,-68,
+-32,-22,
+-52,140,
+-17,66,
+101,100,
+-73,-99,
+-50,75,
+-36,119,
+-122,-25,
+17,58,
+29,-198,
+119,-116,
+-25,-6,
+162,51,
+-14,-138,
+103,73,
+27,82,
+180,-6,
+1,164,
+114,43,
+200,53,
+153,54,
+-64,-130,
+-7,-26,
+110,23,
+3,83,
+78,-50,
+33,-114,
+-70,-11,
+125,-2,
+91,91,
+4,162,
+-9,160,
+51,-79,
+77,156,
+-9,24,
+24,-32,
+-50,75,
+-100,59,
+175,-50,
+103,-21,
+80,-6,
+41,67,
+78,-39,
+-183,97,
+-34,96,
+59,-154,
+106,-88,
+-96,-37,
+69,-19,
+-84,-198,
+-116,57,
+-62,79,
+-38,-49,
+-66,-26,
+119,142,
+-85,-91,
+131,-24,
+82,-31,
+132,-77,
+76,-89,
+44,2,
+26,23,
+27,4,
+-187,-79,
+-13,81,
+-20,101,
+37,73,
+99,-190,
+-112,124,
+21,262,
+-4,97,
+-165,-99,
+-2,176,
+96,-166,
+24,49,
+44,-58,
+237,-109,
+-13,-36,
+11,-126,
+-167,-38,
+50,-103,
+-32,-62,
+68,-11,
+73,-41,
+15,-30,
+-146,52,
+-43,-55,
+78,199,
+-150,-89,
+15,-65,
+44,176,
+-79,-38,
+22,231,
+170,-50,
+-62,58,
+-319,1,
+91,80,
+125,-29,
+11,-40,
+-97,-49,
+-41,12,
+71,-41,
+33,-137,
+-163,-63,
+34,35,
+-239,-13,
+14,143,
+7,73,
+-237,-116,
+-59,-221,
+209,7,
+59,-171,
+118,-13,
+-98,-157,
+220,-61,
+57,197,
+41,137,
+-193,-101,
+-88,28,
+124,-178,
+11,-53,
+171,-79,
+-54,18,
+5,-40,
+-96,-22,
+-103,164,
+-30,-5,
+106,41,
+11,131,
+-268,-13,
+-45,-21,
+190,102,
+-211,-152,
+196,180,
+116,132,
+-53,239,
+-48,62,
+-137,32,
+-94,-63,
+68,122,
+67,-10,
+169,-15,
+39,-2,
+-66,75,
+6,50,
+102,20,
+26,-166,
+132,103,
+38,207,
+-191,-54,
+-24,188,
+88,-114,
+-167,155,
+18,78,
+78,74,
+102,-9,
+-4,-31,
+-220,46,
+-66,71,
+74,-37,
+-49,27,
+-39,155,
+76,-57,
+-125,52,
+-83,-150,
+137,-57,
+96,251,
+90,102,
+-74,-102,
+55,-295,
+-137,-35,
+110,-94,
+111,-77,
+-93,-155,
+156,-7,
+-85,-13,
+97,-238,
+68,-35,
+-145,-28,
+-99,62,
+-51,226,
+-120,17,
+-103,-51,
+71,84,
+-70,-147,
+-139,-239,
+-110,-180,
+-15,47,
+-261,-92,
+-29,40,
+-32,-45,
+75,36,
+11,-24,
+33,143,
+-4,-9,
+129,-8,
+45,-46,
+40,13,
+100,-49,
+-88,-14,
+-81,101,
+-38,-105,
+-47,132,
+-212,116,
+25,34,
+9,6,
+-11,64,
+30,-90,
+-4,-52,
+150,57,
+30,-178,
+184,-213,
+70,25,
+123,-85,
+107,19,
+-37,3,
+-77,-49,
+-15,249,
+179,-180,
+64,134,
+-168,-67,
+-95,-241,
+157,163,
+-69,-219,
+-172,-3,
+26,60,
+50,20,
+151,-140,
+41,-154,
+-101,-172,
+105,137,
+-39,-174,
+71,-94,
+-47,16,
+29,-70,
+49,31,
+61,23,
+111,223,
+-86,-82,
+-92,-170,
+-184,27,
+-161,174,
+-101,17,
+234,-55,
+-14,-93,
+-1,60,
+-158,-11,
+19,-334,
+52,85,
+41,216,
+55,-153,
+-201,39,
+125,17,
+139,78,
+151,-1,
+-101,-118,
+-111,16,
+153,-46,
+118,-5,
+125,124,
+-40,53,
+-5,34,
+119,-135,
+-12,-91,
+-36,59,
+-184,113,
+148,-170,
+106,-145,
+-12,103,
+-64,-88,
+-67,-35,
+-81,333,
+123,26,
+133,40,
+103,40,
+-197,63,
+15,-140,
+-33,126,
+-131,-150,
+86,-31,
+-71,-38,
+28,-143,
+-74,-21,
+185,-83,
+-73,17,
+8,16,
+30,11,
+-57,113,
+-88,-209,
+13,79,
+-242,-81,
+61,-15,
+-97,115,
+-237,146,
+94,-94,
+-35,-193,
+55,65,
+-37,-97,
+-11,53,
+99,-100,
+-6,-39,
+42,211,
+-11,70,
+395,14,
+5,-254,
+200,-112,
+65,-221,
+-20,92,
+-30,-173,
+-24,-37,
+52,-91,
+32,-74,
+-149,41,
+149,-23,
+-2,-71,
+195,-148,
+54,41,
+-25,88,
+-77,331,
+-45,-59,
+-112,163,
+-13,113,
+88,174,
+-200,-34,
+-103,-49,
+-10,-108,
+-4,52,
+-161,-23,
+19,154,
+-50,112,
+-152,68,
+52,-74,
+162,-148,
+-58,-45,
+169,126,
+-122,-28,
+-1,-47,
+13,-144,
+103,20,
+-55,-173,
+116,282,
+-119,79,
+137,-149,
+235,205,
+-98,-50,
+-77,11,
+-22,120,
+-139,-204,
+-101,-56,
+15,-64,
+150,176,
+-51,89,
+-87,-165,
+100,-213,
+-12,140,
+-36,133,
+0,-14,
+-154,-146,
+36,53,
+13,259,
+-132,-334,
+-57,226,
+193,74,
+-143,8,
+203,41,
+-62,-27,
+164,57,
+-29,-106,
+-38,22,
+-128,-269,
+-38,-140,
+-13,-115,
+-168,-290,
+-89,142,
+111,58,
+177,10,
+74,170,
+303,-257,
+-142,-121,
+223,-350,
+72,-242,
+189,-86,
+197,-147,
+65,-112,
+71,75,
+-98,-5,
+-52,-137,
+-40,-13,
+179,101,
+360,-107,
+-94,-25,
+-220,-67,
+13,44,
+-145,-16,
+99,-84,
+88,77,
+151,45,
+-63,56,
+11,-119,
+-112,136,
+105,76,
+-100,-226,
+29,51,
+39,1,
+-24,-154,
+14,65,
+29,76,
+-85,-53,
+75,-32,
+110,-218,
+101,-85,
+169,110,
+15,102,
+-100,3,
+240,-176,
+-49,23,
+-86,64,
+-62,-120,
+-101,-31,
+117,151,
+-409,8,
+239,-174,
+115,-326,
+72,-37,
+-123,39,
+120,237,
+92,53,
+70,98,
+-30,-173,
+-67,-214,
+-106,-108,
+-165,-102,
+8,-66,
+-12,-145,
+-3,106,
+-69,28,
+191,163,
+-132,-73,
+-29,-125,
+81,259,
+-21,-153,
+-109,127,
+-73,114,
+14,174,
+-36,21,
+-14,117,
+88,47,
+-51,-193,
+135,-263,
+-5,-117,
+302,105,
+65,138,
+53,-120,
+22,-12,
+-121,-8,
+66,-124,
+20,-38,
+118,-6,
+-105,-173,
+107,143,
+-81,34,
+42,-13,
+51,52,
+-150,-191,
+202,-181,
+-28,229,
+1,191,
+-82,-1,
+0,43,
+-18,-55,
+111,-28,
+-73,-155,
+-8,-72,
+68,-133,
+49,-9,
+-146,133,
+239,189,
+-10,-227,
+-33,-23,
+-90,-25,
+-82,-149,
+140,-186,
+-58,-57,
+-24,-233,
+-75,16,
+-23,155,
+-95,11,
+-100,-129,
+23,-151,
+-21,121,
+-98,67,
+-69,189,
+-31,211,
+243,36,
+-56,70,
+113,-141,
+-328,-23,
+-98,-148,
+-212,22,
+85,-127,
+-206,-77,
+6,0,
+-148,72,
+44,57,
+-120,26,
+115,55,
+-55,124,
+29,55,
+-149,203,
+-53,52,
+-264,-68,
+18,-78,
+298,66,
+-234,-222,
+-52,48,
+-100,21,
+114,-85,
+175,-19,
+204,3,
+77,82,
+59,-16,
+22,25,
+150,-125,
+-126,-14,
+278,209,
+124,-216,
+-2,129,
+-66,2,
+45,23,
+-105,103,
+27,186,
+-171,7,
+-360,58,
+50,188,
+-68,-114,
+56,-93,
+-146,-75,
+63,186,
+177,-188,
+207,72,
+44,-175,
+104,120,
+-107,29,
+-114,30,
+-159,-34,
+109,50,
+19,-35,
+-162,-26,
+188,81,
+269,66,
+31,139,
+-89,-181,
+-2,-82,
+-49,-88,
+-305,-203,
+61,182,
+194,-110,
+125,38,
+1,-130,
+22,103,
+7,95,
+95,-80,
+149,-103,
+52,-134,
+218,161,
+82,116,
+-138,176,
+100,117,
+-67,-62,
+-49,-128,
+-12,124,
+-74,59,
+37,45,
+185,-47,
+-118,-48,
+-324,97,
+125,15,
+-64,196,
+142,154,
+-36,91,
+-14,-24,
+-21,165,
+8,169,
+-127,-68,
+23,-204,
+-13,-3,
+12,-5,
+222,-185,
+-32,-18,
+-101,156,
+217,264,
+128,110,
+-21,177,
+305,239,
+-130,169,
+-297,110,
+-72,-132,
+-112,91,
+46,188,
+-104,-118,
+32,12,
+30,-21,
+-66,160,
+5,16,
+-99,157,
+40,-46,
+47,-57,
+-73,-155,
+-253,-65,
+-16,212,
+90,-61,
+-150,86,
+251,158,
+33,-50,
+-104,25,
+24,-131,
+-25,200,
+117,37,
+-61,-215,
+95,58,
+234,129,
+-166,257,
+50,-69,
+-20,-56,
+-4,54,
+-100,-42,
+-63,-7,
+-80,154,
+-152,-167,
+-20,166,
+1,-34,
+-76,40,
+13,73,
+28,80,
+-45,56,
+-261,308,
+-3,-26,
+11,-18,
+-106,-105,
+63,73,
+186,149,
+182,53,
+6,-71,
+-73,-27,
+12,20,
+154,139,
+81,-38,
+2,215,
+106,-19,
+126,-14,
+-9,-104,
+-411,130,
+-7,-131,
+-226,145,
+-30,-145,
+171,120,
+-100,85,
+146,-206,
+-47,-105,
+41,-87,
+-2,-67,
+-70,58,
+-130,-89,
+84,-181,
+-169,-54,
+26,-96,
+120,-158,
+125,201,
+-151,165,
+147,20,
+34,-216,
+-139,222,
+39,-97,
+79,-145,
+16,-175,
+146,-49,
+-79,53,
+-6,193,
+-120,131,
+59,-112,
+37,19,
+48,193,
+-43,123,
+-134,147,
+-91,302,
+93,105,
+43,150,
+-11,-18,
+-180,43,
+-25,64,
+116,120,
+120,34,
+70,253,
+-142,15,
+161,-43,
+145,66,
+53,41,
+-44,-24,
+-16,28,
+287,-12,
+357,353,
+-13,80,
+-88,-182,
+206,-54,
+-59,11,
+-4,-14,
+-165,8,
+129,2,
+40,13,
+-17,-24,
+-36,40,
+115,-1,
+-276,-70,
+-73,254,
+134,25,
+-139,77,
+34,52,
+85,-176,
+-26,26,
+-26,-159,
+-140,-92,
+148,-79,
+-20,251,
+-229,-69,
+136,66,
+-8,-85,
+-34,-102,
+58,29,
+176,-1,
+-19,37,
+-59,32,
+215,4,
+-157,-149,
+81,-135,
+270,-184,
+90,-136,
+-118,-153,
+114,86,
+-19,-113,
+93,105,
+-128,0,
+81,-4,
+-26,17,
+-186,-112,
+-130,126,
+93,-41,
+98,61,
+30,-5,
+92,206,
+-55,-57,
+122,-182,
+-11,63,
+181,95,
+-26,-43,
+-98,155,
+75,-152,
+-137,-134,
+1,118,
+-93,-67,
+29,-95,
+64,-203,
+-124,-147,
+-43,-135,
+-71,42,
+20,7,
+-135,-90,
+-222,18,
+88,-64,
+-165,76,
+165,-174,
+96,16,
+22,-113,
+29,42,
+78,-127,
+-98,77,
+-119,-234,
+-7,-136,
+36,199,
+-167,130,
+-72,-38,
+18,5,
+223,-19,
+6,41,
+50,-78,
+-113,72,
+-149,173,
+0,89,
+102,159,
+-20,-64,
+17,-1,
+-261,121,
+194,116,
+216,-145,
+-166,-64,
+-32,-43,
+77,149,
+65,-180,
+197,45,
+-35,6,
+54,-148,
+74,218,
+-425,168,
+-140,49,
+-83,-69,
+-18,0,
+156,234,
+-7,69,
+-21,56,
+-8,-206,
+-176,-35,
+-15,183,
+40,-40,
+87,165,
+-109,-46,
+-80,-94,
+119,190,
+279,-40,
+-21,-31,
+-45,36,
+93,-55,
+-2,163,
+-80,35,
+30,-87,
+-37,119,
+-130,-36,
+-8,-79,
+-85,-92,
+155,20,
+106,16,
+-16,-128,
+142,119,
+-3,166,
+177,-122,
+112,-45,
+-74,-66,
+-18,102,
+-143,74,
+92,76,
+-56,63,
+100,-125,
+-71,-11,
+88,-66,
+98,160,
+-168,-36,
+19,38,
+11,-117,
+-153,-58,
+45,-89,
+-59,65,
+189,39,
+-106,205,
+210,132,
+-234,87,
+1,4,
+-38,-72,
+-18,63,
+79,-18,
+-32,124,
+83,-163,
+133,-205,
+-12,-51,
+-169,194,
+-21,57,
+50,-79,
+166,22,
+148,-28,
+23,89,
+221,137,
+55,-68,
+-5,132,
+-102,175,
+86,61,
+-50,-30,
+99,27,
+30,-86,
+-119,-33,
+104,134,
+-34,104,
+42,39,
+-40,0,
+17,-104,
+229,80,
+-279,78,
+-87,83,
+-84,73,
+-28,75,
+51,-109,
+-85,21,
+73,98,
+-29,-18,
+-18,74,
+-50,-180,
+40,-52,
+30,64,
+-246,-25,
+74,120,
+-18,52,
+-75,254,
+67,3,
+51,62,
+-140,-30,
+-63,-82,
+34,-184,
+25,-64,
+-64,-346,
+160,39,
+-16,-32,
+-49,-160,
+38,89,
+46,-18,
+-269,-146,
+-237,2,
+-141,-121,
+85,200,
+203,151,
+64,45,
+77,111,
+-112,22,
+138,-154,
+103,25,
+-118,76,
+44,52,
+79,-103,
+-164,-114,
+-84,-111,
+-49,86,
+1,59,
+8,163,
+35,-188,
+-185,-85,
+-22,137,
+-61,-46,
+2,-100,
+1,-4,
+8,77,
+-55,23,
+17,-12,
+9,-130,
+262,15,
+-42,-28,
+66,8,
+-120,99,
+122,-125,
+-62,39,
+163,-62,
+87,82,
+18,59,
+139,42,
+-24,-18,
+119,-34,
+25,-36,
+102,95,
+-71,10,
+87,-45,
+-29,37,
+-97,33,
+3,114,
+67,-74,
+59,-253,
+-5,-36,
+47,-88,
+-72,-18,
+-36,-145,
+13,51,
+-80,129,
+-59,135,
+-41,134,
+61,45,
+61,147,
+95,-10,
+12,-134,
+3,-146,
+81,15,
+36,-175,
+-215,79,
+-21,24,
+181,18,
+-157,-53,
+-6,-83,
+59,-39,
+-95,-158,
+97,-5,
+-38,64,
+-63,106,
+-86,-50,
+134,-102,
+34,12,
+75,-199,
+62,108,
+-81,14,
+20,-10,
+-102,4,
+-126,47,
+115,-157,
+77,27,
+-5,10,
+-93,-14,
+150,-22,
+-194,-4,
+30,-186,
+-34,-9,
+46,-41,
+-170,58,
+-42,53,
+97,47,
+24,97,
+96,-46,
+-10,152,
+2,61,
+6,105,
+119,152,
+-94,87,
+299,-106,
+22,185,
+-16,72,
+46,148,
+181,-81,
+58,126,
+130,-44,
+58,5,
+63,62,
+-19,91,
+140,14,
+15,2,
+6,-122,
+93,-97,
+-175,181,
+-47,-205,
+-57,18,
+-31,-11,
+-3,29,
+60,-109,
+-95,173,
+-9,28,
+-48,-92,
+26,-51,
+-8,-77,
+66,19,
+-51,15,
+34,42,
+-185,106,
+-1,40,
+-19,-7,
+3,-134,
+146,72,
+-52,-50,
+-116,40,
+-82,3,
+0,-69,
+-109,9,
+6,11,
+132,50,
+-108,-149,
+20,-76,
+-100,166,
+-84,-24,
+-131,-24,
+22,125,
+63,58,
+119,-12,
+55,54,
+138,-117,
+129,-50,
+-3,29,
+-50,-57,
+-119,-43,
+53,23,
+-156,29,
+-131,-3,
+-75,112,
+42,-26,
+111,-98,
+-37,35,
+-17,-10,
+35,29,
+24,-7,
+24,125,
+-63,-26,
+-3,112,
+35,0,
+56,74,
+25,88,
+45,36,
+-113,103,
+60,-82,
+-45,84,
+49,-115,
+25,122,
+-90,64,
+-4,134,
+-62,-80,
+20,0,
+80,9,
+-2,-18,
+-118,-9,
+30,21,
+52,-135,
+-62,-19,
+-80,-53,
+4,27,
+188,7,
+-54,-21,
+-19,-129,
+-94,-34,
+-96,5,
+37,12,
+111,-7,
+-77,5,
+-27,91,
+-7,34,
+29,-113,
+112,185,
+91,105,
+49,15,
+104,-19,
+-190,-238,
+-24,-168,
+52,21,
+-88,58,
+4,-94,
+-11,60,
+-124,54,
+-32,0,
+-222,-26,
+-44,77,
+-71,-94,
+-17,-77,
+-4,57,
+104,3,
+46,-37,
+164,40,
+-26,-70,
+64,-27,
+4,-83,
+-59,59,
+-30,-3,
+-82,-73,
+102,46,
+25,-20,
+-27,23,
+11,-50,
+-17,31,
+69,-27,
+63,-185,
+60,11,
+-1,-43,
+13,131,
+-62,-35,
+33,-64,
+108,120,
+43,-66,
+-14,2,
+-20,14,
+-30,6,
+6,60,
+39,-39,
+116,8,
+43,-57,
+34,88,
+12,69,
+81,96,
+23,31,
+-63,112,
+11,81,
+28,-89,
+77,-51,
+30,-8,
+-177,50,
+-59,64,
+26,25,
+64,-43,
+-55,62,
+36,-8,
+-30,-128,
+26,70,
+141,-97,
+54,122,
+73,-30,
+4,88,
+-19,-90,
+-82,0,
+-1,-17,
+-58,-48,
+63,10,
+8,-28,
+46,54,
+-88,45,
+0,-76,
+-13,93,
+59,-38,
+62,-13,
+6,-78,
+33,27,
+-98,26,
+-9,65,
+62,104,
+59,-54,
+-30,80,
+-46,60,
+53,1,
+-54,66,
+-89,-84,
+65,-51,
+-27,6,
+10,-16,
+28,-33,
+13,13,
+71,30,
+-50,-23,
+-24,16,
+67,101,
+-21,109,
+31,-73,
+-9,-44,
+-23,37,
+125,43,
+-12,-58,
+-1,-18,
+-36,-66,
+-79,4,
+129,46,
+62,-12,
+22,61,
+-37,-30,
+10,-180,
+126,-46,
+33,-95,
+11,54,
+-44,67,
+-7,-37,
+19,123,
+-70,43,
+97,-104,
+-87,20,
+-68,69,
+69,30,
+68,6,
+-46,-123,
+32,69,
+21,37,
+74,-30,
+67,-44,
+34,-42,
+-20,-29,
+-21,79,
+51,27,
+-52,64,
+0,-65,
+90,-59,
+36,1,
+-35,18,
+-65,-79,
+-68,-24,
+68,31,
+-80,5,
+8,11,
+-33,75,
+-15,-8,
+-62,44,
+76,-79,
+-59,-16,
+-32,-78,
+40,-24,
+-20,30,
+-48,-78,
+-52,-9,
+-77,7,
+-94,7,
+60,-5,
+-23,-62,
+-49,24,
+4,-44,
+-35,0,
+53,1,
+29,12,
+-11,84,
+-38,-39,
+-17,43,
+31,1,
+71,21,
+-43,46,
+39,26,
+-5,-45,
+18,-73,
+-49,-6,
+20,6,
+33,11,
+-39,-54,
+49,87,
+-38,-23,
+-20,-23,
+-69,46,
+-50,92,
+-76,1,
+-31,15,
+-8,-10,
+9,44,
+10,-25,
+24,40,
+-29,60,
+-12,-48,
+-11,29,
+-47,8,
+71,-31,
+4,-46,
+25,46,
+-65,14,
+-15,-102,
+-55,59,
+12,32,
+-27,-61,
+15,47,
+74,-8,
+1,-47,
+40,-13,
+-22,-48,
+0,37,
+16,-10,
+-15,7,
+11,20,
+-3,14,
+-3,-95,
+12,65,
+-36,20,
+-42,-23,
+33,12,
+66,98,
+66,90,
+-53,8,
+15,-27,
+34,19,
+-16,60,
+0,14,
+35,5,
+15,-26,
+68,66,
+8,32,
+19,-31,
+16,-17,
+14,-33,
+-4,27,
+86,25,
+50,-25,
+49,-47,
+49,1,
+40,4,
+5,14,
+-16,10,
+18,-8,
+64,-52,
+16,43,
+-24,-12,
+-29,22,
+-69,39,
+19,-21,
+2,-22,
+4,25,
+-48,-1,
+82,4,
+29,1,
+-30,53,
+-25,-19,
+-19,-4,
+-41,-26,
+-19,5,
+1,-31,
+0,-5,
+-26,10,
+-44,18,
+-16,-29,
+-5,53,
+19,-12,
+22,-7,
+-52,0,
+53,-84,
+-24,-20,
+-1,-48,
+-16,41,
+22,32,
+1,-10,
+47,21,
+-11,38,
+21,-1,
+-3,-18,
+-22,8,
+11,30,
+39,50,
+7,5,
+-11,-16,
+-25,1,
+33,-9,
+16,-35,
+51,-35,
+2,29,
+6,-10,
+16,-16,
+14,9,
+-25,-13,
+42,-26,
+-26,-16,
+14,-12,
+14,-19,
+-20,-7,
+-2,16,
+10,-28,
+5,17,
+64,3,
+-14,33,
+-31,6,
+9,-19,
+23,39,
+4,-22,
+-37,-20,
+34,33,
+5,2,
+2,13,
+31,-9,
+-11,2,
+14,-31,
+-18,-30,
+-38,25,
+21,-4,
+8,-11,
+12,-5,
+10,0,
+26,-8,
+-35,10,
+11,-2,
+19,-27,
+2,25,
+1,-39,
+-1,-45,
+32,13,
+33,2,
+23,24,
+20,18,
+27,10,
+35,4,
+-16,-3,
+-17,9,
+1,24,
+-7,-8,
+-20,-12,
+-10,9,
+20,-16,
+19,-2,
+5,5,
+0,-1,
+29,-8,
+15,34,
+10,-25,
+0,-17,
+7,-10,
+-12,6,
+0,13,
+22,-3,
+-5,-12,
+-4,-2,
+-4,6,
+5,-13,
+20,7,
+21,2,
+-2,11,
+4,21,
+-18,3,
+-7,9,
+12,8,
+5,-5,
+-4,2,
+-12,12,
+17,18,
+-15,-2,
+6,-13,
+-13,-15,
+-17,6,
+4,-7,
+-4,-2,
+11,25,
+6,9,
+-3,-8,
+-2,0,
+3,7,
+1,-6,
+-4,-15,
+11,3,
+-2,-3,
+1,8,
+-11,10,
+7,10,
+-7,2,
+9,-2,
+-11,-8,
+-5,10,
+9,-10,
+5,-10,
+-3,-9,
+10,-3,
+8,2,
+-6,-3,
+8,0,
+-2,-2,
+-2,8,
+0,4,
+7,4,
+-8,-4,
+-1,7,
+7,-1,
+-6,2,
+4,7,
+2,4,
+-7,1,
+3,2,
+2,-7,
+-6,1,
+0,2,
+4,1,
+-7,-3,
+3,-3,
+5,1,
+-4,-2,
+3,1,
+4,0,
+-6,0,
+3,0,
+3,0,
+-6,0,
+3,0,
+3,0,
+-6,0,
+4,0,
+3,-1,
+-4,2,
+5,-1,
+3,3,
+-7,3,
+4,-1,
+0,-2,
+-6,-1,
+2,7,
+3,-2,
+-7,-1,
+2,-4,
+4,-7,
+-6,-2,
+7,1,
+-1,-7,
+-8,4,
+7,-4,
+0,-4,
+-2,-8,
+-2,2,
+8,0,
+-6,3,
+8,-2,
+10,3,
+-3,9,
+5,10,
+9,10,
+-5,-10,
+-11,8,
+9,2,
+-7,-2,
+7,-10,
+-11,-10,
+1,-8,
+-2,3,
+11,-3,
+-4,15,
+1,6,
+3,-7,
+-2,0,
+-3,8,
+6,-9,
+11,-25,
+-4,2,
+4,7,
+-17,-6,
+-13,15,
+6,13,
+-15,2,
+17,-18,
+-12,-12,
+-4,-2,
+5,5,
+12,-8,
+-7,-9,
+-18,-3,
+4,-21,
+-2,-11,
+21,-2,
+20,-7,
+5,13,
+-4,-6,
+-4,2,
+-5,12,
+22,3,
+0,-13,
+-12,-6,
+7,10,
+0,17,
+10,25,
+15,-34,
+29,8,
+0,1,
+5,-5,
+19,2,
+20,16,
+-10,-9,
+-20,12,
+-7,8,
+1,-24,
+-17,-9,
+-16,3,
+35,-4,
+27,-10,
+20,-18,
+23,-24,
+33,-2,
+32,-13,
+-1,45,
+1,39,
+2,-25,
+19,27,
+11,2,
+-35,-10,
+26,8,
+10,0,
+12,5,
+8,11,
+21,4,
+-38,-25,
+-18,30,
+14,31,
+-11,-2,
+31,9,
+2,-13,
+5,-2,
+34,-33,
+-37,20,
+4,22,
+23,-39,
+9,19,
+-31,-6,
+-14,-33,
+64,-3,
+5,-17,
+10,28,
+-2,-16,
+-20,7,
+14,19,
+14,12,
+-26,16,
+42,26,
+-25,13,
+14,-9,
+16,16,
+6,10,
+2,-29,
+51,35,
+16,35,
+33,9,
+-25,-1,
+-11,16,
+7,-5,
+39,-50,
+11,-30,
+-22,-8,
+-3,18,
+21,1,
+-11,-38,
+47,-21,
+1,10,
+22,-32,
+-16,-41,
+-1,48,
+-24,20,
+53,84,
+-52,0,
+22,7,
+19,12,
+-5,-53,
+-16,29,
+-44,-18,
+-26,-10,
+0,5,
+1,31,
+-19,-5,
+-41,26,
+-19,4,
+-25,19,
+-30,-53,
+29,-1,
+82,-4,
+-48,1,
+4,-25,
+2,22,
+19,21,
+-69,-39,
+-29,-22,
+-24,12,
+16,-43,
+64,52,
+18,8,
+-16,-10,
+5,-14,
+40,-4,
+49,-1,
+49,47,
+50,25,
+86,-25,
+-4,-27,
+14,33,
+16,17,
+19,31,
+8,-32,
+68,-66,
+15,26,
+35,-5,
+0,-14,
+-16,-60,
+34,-19,
+15,27,
+-53,-8,
+66,-90,
+66,-98,
+33,-12,
+-42,23,
+-36,-20,
+12,-65,
+-3,95,
+-3,-14,
+11,-20,
+-15,-7,
+16,10,
+0,-37,
+-22,48,
+40,13,
+1,47,
+74,8,
+15,-47,
+-27,61,
+12,-32,
+-55,-59,
+-15,102,
+-65,-14,
+25,-46,
+4,46,
+71,31,
+-47,-8,
+-11,-29,
+-12,48,
+-29,-60,
+24,-40,
+10,25,
+9,-44,
+-8,10,
+-31,-15,
+-76,-1,
+-50,-92,
+-69,-46,
+-20,23,
+-38,23,
+49,-87,
+-39,54,
+33,-11,
+20,-6,
+-49,6,
+18,73,
+-5,45,
+39,-26,
+-43,-46,
+71,-21,
+31,-1,
+-17,-43,
+-38,39,
+-11,-84,
+29,-12,
+53,-1,
+-35,0,
+4,44,
+-49,-24,
+-23,62,
+60,5,
+-94,-7,
+-77,-7,
+-52,9,
+-48,78,
+-20,-30,
+40,24,
+-32,78,
+-59,16,
+76,79,
+-62,-44,
+-15,8,
+-33,-75,
+8,-11,
+-80,-5,
+68,-31,
+-68,24,
+-65,79,
+-35,-18,
+36,-1,
+90,59,
+0,65,
+-52,-64,
+51,-27,
+-21,-79,
+-20,29,
+34,42,
+67,44,
+74,30,
+21,-37,
+32,-69,
+-46,123,
+68,-6,
+69,-30,
+-68,-69,
+-87,-20,
+97,104,
+-70,-43,
+19,-123,
+-7,37,
+-44,-67,
+11,-54,
+33,95,
+126,46,
+10,180,
+-37,30,
+22,-61,
+62,12,
+129,-46,
+-79,-4,
+-36,66,
+-1,18,
+-12,58,
+125,-43,
+-23,-37,
+-9,44,
+31,73,
+-21,-109,
+67,-101,
+-24,-16,
+-50,23,
+71,-30,
+13,-13,
+28,33,
+10,16,
+-27,-6,
+65,51,
+-89,84,
+-54,-66,
+53,-1,
+-46,-60,
+-30,-80,
+59,54,
+62,-104,
+-9,-65,
+-98,-26,
+33,-27,
+6,78,
+62,13,
+59,38,
+-13,-93,
+0,76,
+-88,-45,
+46,-54,
+8,28,
+63,-10,
+-58,48,
+-1,17,
+-82,0,
+-19,90,
+4,-88,
+73,30,
+54,-122,
+141,97,
+26,-70,
+-30,128,
+36,8,
+-55,-62,
+64,43,
+26,-25,
+-59,-64,
+-177,-50,
+30,8,
+77,51,
+28,89,
+11,-81,
+-63,-112,
+23,-31,
+81,-96,
+12,-69,
+34,-88,
+43,57,
+116,-8,
+39,39,
+6,-60,
+-30,-6,
+-20,-14,
+-14,-2,
+43,66,
+108,-120,
+33,64,
+-62,35,
+13,-131,
+-1,43,
+60,-11,
+63,185,
+69,27,
+-17,-31,
+11,50,
+-27,-23,
+25,20,
+102,-46,
+-82,73,
+-30,3,
+-59,-59,
+4,83,
+64,27,
+-26,70,
+164,-40,
+46,37,
+104,-3,
+-4,-57,
+-17,77,
+-71,94,
+-44,-77,
+-222,26,
+-32,0,
+-124,-54,
+-11,-60,
+4,94,
+-88,-58,
+52,-21,
+-24,168,
+-190,238,
+104,19,
+49,-15,
+91,-105,
+112,-185,
+29,113,
+-7,-34,
+-27,-91,
+-77,-5,
+111,7,
+37,-12,
+-96,-5,
+-94,34,
+-19,129,
+-54,21,
+188,-7,
+4,-27,
+-80,53,
+-62,19,
+52,135,
+30,-21,
+-118,9,
+-2,18,
+80,-9,
+20,0,
+-62,80,
+-4,-134,
+-90,-64,
+25,-122,
+49,115,
+-45,-84,
+60,82,
+-113,-103,
+45,-36,
+25,-88,
+56,-74,
+35,0,
+-3,-112,
+-63,26,
+24,-125,
+24,7,
+35,-29,
+-17,10,
+-37,-35,
+111,98,
+42,26,
+-75,-112,
+-131,3,
+-156,-29,
+53,-23,
+-119,43,
+-50,57,
+-3,-29,
+129,50,
+138,117,
+55,-54,
+119,12,
+63,-58,
+22,-125,
+-131,24,
+-84,24,
+-100,-166,
+20,76,
+-108,149,
+132,-50,
+6,-11,
+-109,-9,
+0,69,
+-82,-3,
+-116,-40,
+-52,50,
+146,-72,
+3,134,
+-19,7,
+-1,-40,
+-185,-106,
+34,-42,
+-51,-15,
+66,-19,
+-8,77,
+26,51,
+-48,92,
+-9,-28,
+-95,-173,
+60,109,
+-3,-29,
+-31,11,
+-57,-18,
+-47,205,
+-175,-181,
+93,97,
+6,122,
+15,-2,
+140,-14,
+-19,-91,
+63,-62,
+58,-5,
+130,44,
+58,-126,
+181,81,
+46,-148,
+-16,-72,
+22,-185,
+299,106,
+-94,-87,
+119,-152,
+6,-105,
+2,-61,
+-10,-152,
+96,46,
+24,-97,
+97,-47,
+-42,-53,
+-170,-58,
+46,41,
+-34,9,
+30,186,
+-194,4,
+150,22,
+-93,14,
+-5,-10,
+77,-27,
+115,157,
+-126,-47,
+-102,-4,
+20,10,
+-81,-14,
+62,-108,
+75,199,
+34,-12,
+134,102,
+-86,50,
+-63,-106,
+-38,-64,
+97,5,
+-95,158,
+59,39,
+-6,83,
+-157,53,
+181,-18,
+-21,-24,
+-215,-79,
+36,175,
+81,-15,
+3,146,
+12,134,
+95,10,
+61,-147,
+61,-45,
+-41,-134,
+-59,-135,
+-80,-129,
+13,-51,
+-36,145,
+-72,18,
+47,88,
+-5,36,
+59,253,
+67,74,
+3,-114,
+-97,-33,
+-29,-37,
+87,45,
+-71,-10,
+102,-95,
+25,36,
+119,34,
+-24,18,
+139,-42,
+18,-59,
+87,-82,
+163,62,
+-62,-39,
+122,125,
+-120,-99,
+66,-8,
+-42,28,
+262,-15,
+9,130,
+17,12,
+-55,-23,
+8,-77,
+1,4,
+2,100,
+-61,46,
+-22,-137,
+-185,85,
+35,188,
+8,-163,
+1,-59,
+-49,-86,
+-84,111,
+-164,114,
+79,103,
+44,-52,
+-118,-76,
+103,-25,
+138,154,
+-112,-22,
+77,-111,
+64,-45,
+203,-151,
+85,-200,
+-141,121,
+-237,-2,
+-269,146,
+46,18,
+38,-89,
+-49,160,
+-16,32,
+160,-39,
+-64,346,
+25,64,
+34,184,
+-63,82,
+-140,30,
+51,-62,
+67,-3,
+-75,-254,
+-18,-52,
+74,-120,
+-246,25,
+30,-64,
+40,52,
+-50,180,
+-18,-74,
+-29,18,
+73,-98,
+-85,-21,
+51,109,
+-28,-75,
+-84,-73,
+-87,-83,
+-279,-78,
+229,-80,
+17,104,
+-40,0,
+42,-39,
+-34,-104,
+104,-134,
+-119,33,
+30,86,
+99,-27,
+-50,30,
+86,-61,
+-102,-175,
+-5,-132,
+55,68,
+221,-137,
+23,-89,
+148,28,
+166,-22,
+50,79,
+-21,-57,
+-169,-194,
+-12,51,
+133,205,
+83,163,
+-32,-124,
+79,18,
+-18,-63,
+-38,72,
+1,-4,
+-234,-87,
+210,-132,
+-106,-205,
+189,-39,
+-59,-65,
+45,89,
+-153,58,
+11,117,
+19,-38,
+-168,36,
+98,-160,
+88,66,
+-71,11,
+100,125,
+-56,-63,
+92,-76,
+-143,-74,
+-18,-102,
+-74,66,
+112,45,
+177,122,
+-3,-166,
+142,-119,
+-16,128,
+106,-16,
+155,-20,
+-85,92,
+-8,79,
+-130,36,
+-37,-119,
+30,87,
+-80,-35,
+-2,-163,
+93,55,
+-45,-36,
+-21,31,
+279,40,
+119,-190,
+-80,94,
+-109,46,
+87,-165,
+40,40,
+-15,-183,
+-176,35,
+-8,206,
+-21,-56,
+-7,-69,
+156,-234,
+-18,0,
+-83,69,
+-140,-49,
+-425,-168,
+74,-218,
+54,148,
+-35,-6,
+197,-45,
+65,180,
+77,-149,
+-32,43,
+-166,64,
+216,145,
+194,-116,
+-261,-121,
+17,1,
+-20,64,
+102,-159,
+0,-89,
+-149,-173,
+-113,-72,
+50,78,
+6,-41,
+223,19,
+18,-5,
+-72,38,
+-167,-130,
+36,-199,
+-7,136,
+-119,234,
+-98,-77,
+78,127,
+29,-42,
+22,113,
+96,-16,
+165,174,
+-165,-76,
+88,64,
+-222,-18,
+-135,90,
+20,-7,
+-71,-42,
+-43,135,
+-124,147,
+64,203,
+29,95,
+-93,67,
+1,-118,
+-137,134,
+75,152,
+-98,-155,
+-26,43,
+181,-95,
+-11,-63,
+122,182,
+-55,57,
+92,-206,
+30,5,
+98,-61,
+93,41,
+-130,-126,
+-186,112,
+-26,-17,
+81,4,
+-128,0,
+93,-105,
+-19,113,
+114,-86,
+-118,153,
+90,136,
+270,184,
+81,135,
+-157,149,
+215,-4,
+-59,-32,
+-19,-37,
+176,1,
+58,-29,
+-34,102,
+-8,85,
+136,-66,
+-229,69,
+-20,-251,
+148,79,
+-140,92,
+-26,159,
+-26,-26,
+85,176,
+34,-52,
+-139,-77,
+134,-25,
+-73,-254,
+-276,70,
+115,1,
+-36,-40,
+-17,24,
+40,-13,
+129,-2,
+-165,-8,
+-4,14,
+-59,-11,
+206,54,
+-88,182,
+-13,-80,
+357,-353,
+287,12,
+-16,-28,
+-44,24,
+53,-41,
+145,-66,
+161,43,
+-142,-15,
+70,-253,
+120,-34,
+116,-120,
+-25,-64,
+-180,-43,
+-11,18,
+43,-150,
+93,-105,
+-91,-302,
+-134,-147,
+-43,-123,
+48,-193,
+37,-19,
+59,112,
+-120,-131,
+-6,-193,
+-79,-53,
+146,49,
+16,175,
+79,145,
+39,97,
+-139,-222,
+34,216,
+147,-20,
+-151,-165,
+125,-201,
+120,158,
+26,96,
+-169,54,
+84,181,
+-130,89,
+-70,-58,
+-2,67,
+41,87,
+-47,105,
+146,206,
+-100,-85,
+171,-120,
+-30,145,
+-226,-145,
+-7,131,
+-411,-130,
+-9,104,
+126,14,
+106,19,
+2,-215,
+81,38,
+154,-139,
+12,-20,
+-73,27,
+6,71,
+182,-53,
+186,-149,
+63,-73,
+-106,105,
+11,18,
+-3,26,
+-261,-308,
+-45,-56,
+28,-80,
+13,-73,
+-76,-40,
+1,34,
+-20,-166,
+-152,167,
+-80,-154,
+-63,7,
+-100,42,
+-4,-54,
+-20,56,
+50,69,
+-166,-257,
+234,-129,
+95,-58,
+-61,215,
+117,-37,
+-25,-200,
+24,131,
+-104,-25,
+33,50,
+251,-158,
+-150,-86,
+90,61,
+-16,-212,
+-253,65,
+-73,155,
+47,57,
+40,46,
+-99,-157,
+5,-16,
+-66,-160,
+30,21,
+32,-12,
+-104,118,
+46,-188,
+-112,-91,
+-72,132,
+-297,-110,
+-130,-169,
+305,-239,
+-21,-177,
+128,-110,
+217,-264,
+-101,-156,
+-32,18,
+222,185,
+12,5,
+-13,3,
+23,204,
+-127,68,
+8,-169,
+-21,-165,
+-14,24,
+-36,-91,
+142,-154,
+-64,-196,
+125,-15,
+-324,-97,
+-118,48,
+185,47,
+37,-45,
+-74,-59,
+-12,-124,
+-49,128,
+-67,62,
+100,-117,
+-138,-176,
+82,-116,
+218,-161,
+52,134,
+149,103,
+95,80,
+7,-95,
+22,-103,
+1,130,
+125,-38,
+194,110,
+61,-182,
+-305,203,
+-49,88,
+-2,82,
+-89,181,
+31,-139,
+269,-66,
+188,-81,
+-162,26,
+19,35,
+109,-50,
+-159,34,
+-114,-30,
+-107,-29,
+104,-120,
+44,175,
+207,-72,
+177,188,
+63,-186,
+-146,75,
+56,93,
+-68,114,
+50,-188,
+-360,-58,
+-171,-7,
+27,-186,
+-105,-103,
+45,-23,
+-66,-2,
+-2,-129,
+124,216,
+278,-209,
+-126,14,
+150,125,
+22,-25,
+59,16,
+77,-82,
+204,-3,
+175,19,
+114,85,
+-100,-21,
+-52,-48,
+-234,222,
+298,-66,
+18,78,
+-264,68,
+-53,-52,
+-149,-203,
+29,-55,
+-55,-124,
+115,-55,
+-120,-26,
+44,-57,
+-148,-72,
+0,0,
+-49,-118,
+4,227,
+-61,90,
+-49,162,
+124,28,
+123,191,
+354,-58,
+-20,-60,
+32,-203,
+115,17,
+-157,-152,
+-63,124,
+36,138,
+-125,111,
+-162,20,
+266,-91,
+234,143,
+15,77,
+37,15,
+-24,132,
+-10,-120,
+129,-53,
+-79,126,
+143,14,
+41,-88,
+-139,9,
+128,-2,
+-88,-77,
+104,-59,
+228,-281,
+-75,-43,
+-92,-184,
+227,-17,
+-160,149,
+-167,181,
+62,-96,
+-126,33,
+106,-33,
+157,-21,
+-127,-98,
+-22,-15,
+-89,-189,
+98,122,
+265,218,
+17,-6,
+55,-181,
+-6,0,
+-83,16,
+-86,110,
+-155,185,
+-69,-147,
+12,-142,
+-67,-45,
+-57,-51,
+-50,-156,
+265,72,
+-77,110,
+39,-173,
+-60,-98,
+78,103,
+-148,75,
+219,240,
+272,109,
+-16,-2,
+-41,110,
+-144,-24,
+38,44,
+-4,109,
+-199,152,
+83,188,
+110,142,
+-72,198,
+-72,34,
+-36,80,
+-96,230,
+-92,-4,
+63,74,
+227,20,
+4,-27,
+145,-192,
+-42,-18,
+-130,-93,
+263,-83,
+-79,91,
+-130,-74,
+-246,-214,
+-60,35,
+-57,248,
+-129,151,
+-131,-64,
+153,-44,
+129,182,
+-90,14,
+122,75,
+232,48,
+-121,43,
+-88,42,
+-178,280,
+74,-164,
+82,34,
+-46,110,
+-140,-118,
+24,210,
+61,-17,
+-51,-95,
+-197,188,
+-41,31,
+-26,23,
+31,-32,
+-194,-89,
+-92,162,
+-80,-53,
+67,-111,
+-110,74,
+234,-62,
+-60,38,
+98,92,
+-14,-58,
+-26,23,
+171,-42,
+-10,34,
+109,140,
+-155,131,
+95,163,
+-322,66,
+-142,-42,
+168,30,
+84,129,
+67,-108,
+331,154,
+-59,170,
+-79,69,
+5,-41,
+-131,-82,
+56,258,
+120,83,
+-164,-3,
+-171,-229,
+-96,54,
+186,21,
+-25,4,
+251,265,
+90,-240,
+-135,138,
+-142,-256,
+143,20,
+62,35,
+42,165,
+-52,-43,
+0,7,
+-57,8,
+-82,236,
+55,-272,
+-69,188,
+-140,118,
+-28,114,
+-176,-170,
+-200,-58,
+173,95,
+-10,-81,
+22,35,
+-85,-147,
+-54,-82,
+167,33,
+-189,-82,
+150,-253,
+-153,85,
+36,38,
+122,160,
+30,-26,
+103,84,
+106,-21,
+69,-8,
+86,-185,
+59,-178,
+-17,-134,
+-110,-73,
+9,-53,
+-245,19,
+-70,-67,
+307,-90,
+32,-51,
+-68,48,
+-8,-147,
+-73,-32,
+-8,275,
+55,88,
+-85,311,
+-72,113,
+-236,-211,
+-126,82,
+19,74,
+-141,-133,
+-196,138,
+41,55,
+307,74,
+-87,41,
+-41,148,
+-150,118,
+218,38,
+14,103,
+-86,204,
+-14,141,
+110,209,
+242,73,
+60,71,
+-217,-29,
+-102,97,
+18,24,
+-97,-30,
+-61,-114,
+52,-18,
+-1,32,
+376,-15,
+178,-91,
+75,255,
+-152,123,
+-90,24,
+13,48,
+-6,112,
+-110,55,
+113,-26,
+229,127,
+253,-108,
+-179,42,
+99,25,
+-80,21,
+-25,-105,
+122,-30,
+-54,9,
+117,3,
+-144,-66,
+-44,-199,
+-48,-53,
+207,-130,
+117,-102,
+-144,-116,
+118,254,
+-78,160,
+-103,50,
+-45,-17,
+77,103,
+87,-50,
+139,-104,
+130,-106,
+-177,53,
+126,60,
+20,-45,
+-109,8,
+98,-37,
+19,10,
+-145,-45,
+64,204,
+-75,-69,
+-32,-255,
+161,-11,
+53,-25,
+-77,71,
+160,-125,
+3,-6,
+152,219,
+189,98,
+-77,67,
+72,161,
+32,72,
+-158,-10,
+32,-123,
+25,34,
+64,-243,
+-131,134,
+-62,3,
+52,-133,
+53,66,
+-103,-237,
+112,4,
+126,6,
+17,5,
+-60,-113,
+110,89,
+-108,71,
+72,161,
+175,7,
+-132,212,
+55,-175,
+-196,101,
+101,-47,
+84,118,
+-111,-47,
+-47,116,
+180,31,
+120,-5,
+46,-165,
+144,1,
+-111,48,
+-77,-53,
+-144,-34,
+99,13,
+-131,128,
+33,8,
+13,33,
+40,55,
+129,9,
+115,-124,
+-31,-6,
+105,80,
+-7,-74,
+-102,-34,
+-17,22,
+173,-59,
+-34,12,
+-22,-246,
+-138,87,
+-21,-185,
+-127,-157,
+56,-58,
+-110,86,
+12,99,
+175,232,
+196,-70,
+31,86,
+-51,118,
+-104,3,
+10,-67,
+-97,-23,
+65,28,
+65,-81,
+210,29,
+-135,221,
+-233,-119,
+11,171,
+45,53,
+205,-56,
+104,53,
+-32,-81,
+-51,42,
+-110,130,
+11,-60,
+140,-123,
+-124,-201,
+-129,-82,
+65,-12,
+51,86,
+-14,25,
+103,148,
+29,-113,
+-176,-101,
+-19,50,
+72,0,
+173,-110,
+-54,-142,
+-168,195,
+-41,-109,
+-147,-28,
+-174,2,
+12,23,
+-187,26,
+12,-193,
+-174,-96,
+52,18,
+-123,206,
+-7,-118,
+-21,-68,
+-29,123,
+-249,143,
+-6,-33,
+151,54,
+-47,-88,
+149,-97,
+75,63,
+44,99,
+31,218,
+-130,-2,
+4,185,
+-15,-227,
+85,34,
+-76,103,
+-42,-31,
+-251,-55,
+27,-13,
+-285,101,
+60,16,
+33,-103,
+-178,-110,
+129,-100,
+-78,3,
+54,6,
+204,-138,
+-128,-129,
+-101,146,
+-204,-128,
+141,-86,
+29,-35,
+-70,-75,
+23,-27,
+32,-61,
+-59,55,
+217,180,
+-111,-40,
+38,-217,
+5,-144,
+43,89,
+2,91,
+-3,4,
+156,5,
+105,66,
+216,-25,
+84,124,
+72,105,
+43,-151,
+-109,-28,
+172,203,
+269,68,
+20,222,
+8,-153,
+29,56,
+23,-120,
+47,28,
+146,167,
+-204,-36,
+7,73,
+-249,92,
+83,87,
+-5,39,
+-141,-7,
+113,36,
+-259,204,
+225,-5,
+-151,69,
+73,119,
+-14,-58,
+78,-24,
+60,-21,
+-9,49,
+-12,41,
+-33,-43,
+131,-64,
+184,93,
+205,-132,
+-46,-121,
+19,-14,
+-114,61,
+176,118,
+-43,-57,
+-143,35,
+-38,-88,
+84,-76,
+-38,175,
+125,80,
+-24,40,
+-27,-107,
+17,51,
+-108,-10,
+102,-79,
+-73,119,
+-46,-15,
+-92,148,
+86,24,
+-38,164,
+-44,35,
+66,-39,
+-80,-46,
+-22,143,
+-41,-139,
+51,6,
+221,-64,
+-164,-105,
+33,-174,
+-34,95,
+-64,36,
+-74,115,
+-45,94,
+-97,161,
+-73,-140,
+17,-89,
+-59,88,
+111,92,
+-13,-56,
+-144,121,
+14,82,
+206,-137,
+0,-47,
+-69,137,
+66,16,
+-68,-92,
+83,-21,
+198,114,
+45,-159,
+54,105,
+-12,27,
+54,-10,
+-128,-21,
+-110,-1,
+13,-162,
+8,-73,
+17,-70,
+34,6,
+-24,-69,
+-59,-17,
+-42,4,
+-53,40,
+-124,43,
+34,-69,
+33,-76,
+84,-2,
+50,105,
+30,-139,
+152,-89,
+-50,-110,
+52,33,
+32,-22,
+107,90,
+67,0,
+-25,96,
+99,118,
+-65,-83,
+-33,92,
+-161,35,
+-46,98,
+-1,31,
+89,55,
+-125,94,
+-62,-48,
+62,-44,
+24,-99,
+-3,-29,
+-4,-42,
+-49,-40,
+-63,34,
+41,29,
+-175,-1,
+-90,0,
+-13,-78,
+-25,-125,
+-37,-2,
+121,108,
+-58,-98,
+25,150,
+-37,166,
+66,1,
+-115,53,
+13,-25,
+138,-48,
+-54,40,
+-118,137,
+80,32,
+84,-125,
+-7,-2,
+32,43,
+122,44,
+-112,-77,
+-89,-23,
+83,-71,
+180,-79,
+-21,-43,
+147,-61,
+1,1,
+-105,-83,
+-132,58,
+19,-33,
+-120,192,
+36,-37,
+-20,-146,
+54,97,
+-73,-46,
+50,-45,
+92,54,
+122,-25,
+-28,-11,
+154,-89,
+-36,22,
+7,-57,
+-10,78,
+-15,-105,
+5,-16,
+-72,87,
+163,-52,
+69,88,
+-26,28,
+-61,-47,
+-31,-107,
+50,20,
+-10,12,
+127,78,
+-29,-143,
+-149,76,
+-2,98,
+-35,182,
+17,76,
+-41,5,
+1,-44,
+62,26,
+7,27,
+-94,47,
+46,60,
+41,-95,
+28,124,
+89,-136,
+43,130,
+107,-193,
+-21,57,
+-5,-13,
+103,-79,
+76,57,
+-16,-259,
+87,53,
+24,3,
+51,52,
+-10,34,
+-139,26,
+124,-43,
+-61,83,
+201,162,
+94,94,
+-46,5,
+-51,-54,
+36,83,
+83,104,
+30,61,
+-14,173,
+49,43,
+-12,31,
+55,-9,
+77,22,
+-100,47,
+-180,-74,
+18,80,
+81,-27,
+56,99,
+-20,-35,
+-76,-8,
+8,7,
+-45,2,
+-104,30,
+19,9,
+-26,-255,
+5,75,
+-119,57,
+-25,12,
+43,66,
+-77,-81,
+-108,28,
+-16,-34,
+-17,-33,
+43,0,
+58,-221,
+-106,42,
+10,-146,
+100,-16,
+-71,53,
+-9,23,
+-41,-87,
+159,35,
+2,-65,
+152,31,
+15,129,
+-93,-27,
+5,71,
+-20,55,
+8,-26,
+78,-95,
+93,-85,
+-82,47,
+-11,-61,
+59,-8,
+72,-61,
+-115,17,
+-58,-138,
+-46,30,
+56,-103,
+10,-57,
+-91,-68,
+56,-90,
+-10,-38,
+10,-45,
+-115,50,
+18,135,
+27,-94,
+-70,-69,
+-29,34,
+16,24,
+100,7,
+-17,48,
+17,9,
+-39,-72,
+-116,-30,
+-111,17,
+42,48,
+10,-52,
+21,-81,
+36,34,
+-83,54,
+33,57,
+67,116,
+-37,-68,
+97,-111,
+2,-31,
+57,35,
+-21,120,
+-31,-35,
+23,4,
+-52,-42,
+1,-16,
+81,-54,
+0,25,
+41,108,
+29,94,
+127,-16,
+14,-9,
+-35,-39,
+-85,10,
+-38,-86,
+-82,-3,
+36,-72,
+-133,32,
+38,53,
+18,15,
+-65,-70,
+6,20,
+27,19,
+-17,21,
+-39,32,
+-12,72,
+37,22,
+5,14,
+25,-20,
+32,8,
+40,-49,
+-46,31,
+-8,-125,
+24,9,
+-20,32,
+-41,36,
+-50,60,
+61,78,
+12,-19,
+27,-48,
+-15,41,
+80,13,
+-79,-4,
+50,-109,
+-18,77,
+94,-3,
+5,26,
+86,37,
+1,-58,
+-26,44,
+-16,-2,
+35,33,
+-67,56,
+3,-5,
+-89,-47,
+17,76,
+11,-32,
+-37,-85,
+32,35,
+-107,66,
+13,-92,
+-20,26,
+28,-3,
+64,-44,
+41,80,
+42,14,
+68,34,
+30,108,
+-57,-41,
+-20,10,
+82,55,
+-93,11,
+-68,0,
+3,22,
+8,-59,
+56,-3,
+-40,17,
+-1,-15,
+-4,2,
+-2,18,
+3,-19,
+29,20,
+-23,-15,
+-79,76,
+17,44,
+19,12,
+2,-4,
+6,-60,
+94,12,
+46,-18,
+11,10,
+-83,5,
+-18,75,
+-46,25,
+-48,-83,
+-49,22,
+15,-33,
+8,50,
+-30,-5,
+-15,0,
+-12,13,
+30,-49,
+-18,36,
+12,8,
+-15,129,
+41,23,
+-5,-36,
+36,-6,
+36,13,
+-14,-41,
+65,-39,
+59,-1,
+7,111,
+-45,58,
+39,71,
+-12,-28,
+-49,-15,
+-3,-8,
+22,-22,
+-5,-27,
+36,-51,
+-11,-9,
+40,90,
+60,53,
+60,-37,
+39,-8,
+59,25,
+4,4,
+21,44,
+72,-100,
+7,32,
+-11,68,
+85,22,
+-29,-70,
+-2,-25,
+34,-13,
+-22,-34,
+-17,-49,
+22,-63,
+58,16,
+89,-1,
+20,-15,
+21,8,
+-35,-21,
+-20,-30,
+23,47,
+-49,45,
+-14,-1,
+12,-52,
+-20,-40,
+-26,13,
+-22,-30,
+-67,19,
+-35,31,
+-14,13,
+8,30,
+-2,23,
+32,22,
+-8,18,
+62,4,
+-19,4,
+-41,-46,
+-30,54,
+9,-43,
+-24,27,
+-22,-9,
+-20,-45,
+17,58,
+-10,-2,
+2,-31,
+-31,-37,
+-12,-24,
+91,-20,
+-29,-18,
+10,0,
+-10,0,
+54,-27,
+-34,-3,
+9,8,
+28,-19,
+23,39,
+-32,19,
+13,-28,
+-68,-36,
+52,37,
+-23,26,
+37,34,
+15,-1,
+-27,17,
+-6,-67,
+-33,-16,
+41,23,
+31,-4,
+12,-2,
+-36,-17,
+26,-22,
+50,20,
+-6,24,
+19,43,
+-1,14,
+11,16,
+1,-17,
+5,-43,
+28,-35,
+39,41,
+12,-41,
+10,35,
+4,17,
+-19,-2,
+13,1,
+4,2,
+2,24,
+10,-12,
+-14,37,
+-2,-29,
+-5,2,
+-1,-17,
+23,-28,
+-31,-14,
+-2,25,
+42,-31,
+-14,-25,
+8,-3,
+14,5,
+-16,-2,
+33,-9,
+-5,-18,
+-14,14,
+22,12,
+-6,-16,
+33,-42,
+3,18,
+1,11,
+8,14,
+20,10,
+1,-2,
+11,21,
+-11,2,
+11,-41,
+45,0,
+1,0,
+-33,-39,
+-2,-33,
+6,30,
+-10,-13,
+-8,11,
+-9,0,
+-14,-10,
+-15,30,
+16,13,
+-5,6,
+12,-6,
+18,-10,
+14,-9,
+4,-7,
+17,-2,
+25,5,
+9,6,
+24,-5,
+12,-20,
+-6,10,
+13,1,
+-2,-32,
+4,19,
+17,26,
+12,2,
+17,11,
+5,-10,
+-10,3,
+-12,-6,
+7,11,
+8,-3,
+-13,18,
+-7,-14,
+2,-9,
+-20,8,
+-3,-6,
+9,-17,
+9,-3,
+4,-2,
+-4,-9,
+-10,6,
+-2,12,
+17,-1,
+3,19,
+-5,0,
+-8,-23,
+0,14,
+-6,3,
+3,-7,
+-4,14,
+1,-9,
+5,-14,
+10,8,
+-2,-2,
+-5,-3,
+-10,4,
+-2,3,
+-11,3,
+0,7,
+2,-8,
+-3,1,
+-2,3,
+3,-1,
+1,3,
+-1,1,
+-1,1,
+-1,-2,
+4,1,
+2,2,
+0,3,
+2,8,
+-2,-2,
+2,-7,
+5,5,
+-1,-1,
+0,-6,
+-2,4,
+0,1,
+-3,-4,
+1,6,
+1,4,
+1,-5,
+0,5,
+1,0,
+0,-5,
+0,5,
+0,0,
+0,-5,
+0,5,
+1,0,
+0,-5,
+1,5,
+1,-4,
+1,-6,
+-3,4,
+0,-1,
+-2,-4,
+0,6,
+-1,1,
+5,-5,
+2,7,
+-2,2,
+2,-8,
+0,-3,
+2,-2,
+4,-1,
+-1,2,
+-1,-1,
+-1,-1,
+1,-3,
+3,1,
+-2,-3,
+-3,-1,
+2,8,
+0,-7,
+-11,-3,
+-2,-3,
+-10,-4,
+-5,3,
+-2,2,
+10,-8,
+5,14,
+1,9,
+-4,-14,
+3,7,
+-6,-3,
+0,-14,
+-8,23,
+-5,0,
+3,-19,
+17,1,
+-2,-12,
+-10,-6,
+-4,9,
+4,2,
+9,3,
+9,17,
+-3,6,
+-20,-8,
+2,9,
+-7,14,
+-13,-18,
+8,3,
+7,-11,
+-12,6,
+-10,-3,
+5,10,
+17,-11,
+12,-2,
+17,-26,
+4,-19,
+-2,32,
+13,-1,
+-6,-10,
+12,20,
+24,5,
+9,-6,
+25,-5,
+17,2,
+4,7,
+14,9,
+18,10,
+12,6,
+-5,-6,
+16,-13,
+-15,-30,
+-14,10,
+-9,0,
+-8,-11,
+-10,13,
+6,-30,
+-2,33,
+-33,39,
+1,0,
+45,0,
+11,41,
+-11,-2,
+11,-21,
+1,2,
+20,-10,
+8,-14,
+1,-11,
+3,-18,
+33,42,
+-6,16,
+22,-12,
+-14,-14,
+-5,18,
+33,9,
+-16,2,
+14,-5,
+8,3,
+-14,25,
+42,31,
+-2,-25,
+-31,14,
+23,28,
+-1,17,
+-5,-2,
+-2,29,
+-14,-37,
+10,12,
+2,-24,
+4,-2,
+13,-1,
+-19,2,
+4,-17,
+10,-35,
+12,41,
+39,-41,
+28,35,
+5,43,
+1,17,
+11,-16,
+-1,-14,
+19,-43,
+-6,-24,
+50,-20,
+26,22,
+-36,17,
+12,2,
+31,4,
+41,-23,
+-33,16,
+-6,67,
+-27,-17,
+15,1,
+37,-34,
+-23,-26,
+52,-37,
+-68,36,
+13,28,
+-32,-19,
+23,-39,
+28,19,
+9,-8,
+-34,3,
+54,27,
+-10,0,
+10,0,
+-29,18,
+91,20,
+-12,24,
+-31,37,
+2,31,
+-10,2,
+17,-58,
+-20,45,
+-22,9,
+-24,-27,
+9,43,
+-30,-54,
+-41,46,
+-19,-4,
+62,-4,
+-8,-18,
+32,-22,
+-2,-23,
+8,-30,
+-14,-13,
+-35,-31,
+-67,-19,
+-22,30,
+-26,-13,
+-20,40,
+12,52,
+-14,1,
+-49,-45,
+23,-47,
+-20,30,
+-35,21,
+21,-8,
+20,15,
+89,1,
+58,-16,
+22,63,
+-17,49,
+-22,34,
+34,13,
+-2,25,
+-29,70,
+85,-22,
+-11,-68,
+7,-32,
+72,100,
+21,-44,
+4,-4,
+59,-25,
+39,8,
+60,37,
+60,-53,
+40,-90,
+-11,9,
+36,51,
+-5,27,
+22,22,
+-3,8,
+-49,15,
+-12,28,
+39,-71,
+-45,-58,
+7,-111,
+59,1,
+65,39,
+-14,41,
+36,-13,
+36,6,
+-5,36,
+41,-23,
+-15,-129,
+12,-8,
+-18,-36,
+30,49,
+-12,-13,
+-15,0,
+-30,5,
+8,-50,
+15,33,
+-49,-22,
+-48,83,
+-46,-25,
+-18,-75,
+-83,-5,
+11,-10,
+46,18,
+94,-12,
+6,60,
+2,4,
+19,-12,
+17,-44,
+-79,-76,
+-23,15,
+29,-20,
+3,19,
+-2,-18,
+-4,-2,
+-1,15,
+-40,-17,
+56,3,
+8,59,
+3,-22,
+-68,0,
+-93,-11,
+82,-55,
+-20,-10,
+-57,41,
+30,-108,
+68,-34,
+42,-14,
+41,-80,
+64,44,
+28,3,
+-20,-26,
+13,92,
+-107,-66,
+32,-35,
+-37,85,
+11,32,
+17,-76,
+-89,47,
+3,5,
+-67,-56,
+35,-33,
+-16,2,
+-26,-44,
+1,58,
+86,-37,
+5,-26,
+94,3,
+-18,-77,
+50,109,
+-79,4,
+80,-13,
+-15,-41,
+27,48,
+12,19,
+61,-78,
+-50,-60,
+-41,-36,
+-20,-32,
+24,-9,
+-8,125,
+-46,-31,
+40,49,
+32,-8,
+25,20,
+5,-14,
+37,-22,
+-12,-72,
+-39,-32,
+-17,-21,
+27,-19,
+6,-20,
+-65,70,
+18,-15,
+38,-53,
+-133,-32,
+36,72,
+-82,3,
+-38,86,
+-85,-10,
+-35,39,
+14,9,
+127,16,
+29,-94,
+41,-108,
+0,-25,
+81,54,
+1,16,
+-52,42,
+23,-4,
+-31,35,
+-21,-120,
+57,-35,
+2,31,
+97,111,
+-37,68,
+67,-116,
+33,-57,
+-83,-54,
+36,-34,
+21,81,
+10,52,
+42,-48,
+-111,-17,
+-116,30,
+-39,72,
+17,-9,
+-17,-48,
+100,-7,
+16,-24,
+-29,-34,
+-70,69,
+27,94,
+18,-135,
+-115,-50,
+10,45,
+-10,38,
+56,90,
+-91,68,
+10,57,
+56,103,
+-46,-30,
+-58,138,
+-115,-17,
+72,61,
+59,8,
+-11,61,
+-82,-47,
+93,85,
+78,95,
+8,26,
+-20,-55,
+5,-71,
+-93,27,
+15,-129,
+152,-31,
+2,65,
+159,-35,
+-41,87,
+-9,-23,
+-71,-53,
+100,16,
+10,146,
+-106,-42,
+58,221,
+43,0,
+-17,33,
+-16,34,
+-108,-28,
+-77,81,
+43,-66,
+-25,-12,
+-119,-57,
+5,-75,
+-26,255,
+19,-9,
+-104,-30,
+-45,-2,
+8,-7,
+-76,8,
+-20,35,
+56,-99,
+81,27,
+18,-80,
+-180,74,
+-100,-47,
+77,-22,
+55,9,
+-12,-31,
+49,-43,
+-14,-173,
+30,-61,
+83,-104,
+36,-83,
+-51,54,
+-46,-5,
+94,-94,
+201,-162,
+-61,-83,
+124,43,
+-139,-26,
+-10,-34,
+51,-52,
+24,-3,
+87,-53,
+-16,259,
+76,-57,
+103,79,
+-5,13,
+-21,-57,
+107,193,
+43,-130,
+89,136,
+28,-124,
+41,95,
+46,-60,
+-94,-47,
+7,-27,
+62,-26,
+1,44,
+-41,-5,
+17,-76,
+-35,-182,
+-2,-98,
+-149,-76,
+-29,143,
+127,-78,
+-10,-12,
+50,-20,
+-31,107,
+-61,47,
+-26,-28,
+69,-88,
+163,52,
+-72,-87,
+5,16,
+-15,105,
+-10,-78,
+7,57,
+-36,-22,
+154,89,
+-28,11,
+122,25,
+92,-54,
+50,45,
+-73,46,
+54,-97,
+-20,146,
+36,37,
+-120,-192,
+19,33,
+-132,-58,
+-105,83,
+1,-1,
+147,61,
+-21,43,
+180,79,
+83,71,
+-89,23,
+-112,77,
+122,-44,
+32,-43,
+-7,2,
+84,125,
+80,-32,
+-118,-137,
+-54,-40,
+138,48,
+13,25,
+-115,-53,
+66,-1,
+-37,-166,
+25,-150,
+-58,98,
+121,-108,
+-37,2,
+-25,125,
+-13,78,
+-90,0,
+-175,1,
+41,-29,
+-63,-34,
+-49,40,
+-4,42,
+-3,29,
+24,99,
+62,44,
+-62,48,
+-125,-94,
+89,-55,
+-1,-31,
+-46,-98,
+-161,-35,
+-33,-92,
+-65,83,
+99,-118,
+-25,-96,
+67,0,
+107,-90,
+32,22,
+52,-33,
+-50,110,
+152,89,
+30,139,
+50,-105,
+84,2,
+33,76,
+34,69,
+-124,-43,
+-53,-40,
+-42,-4,
+-59,17,
+-24,69,
+34,-6,
+17,70,
+8,73,
+13,162,
+-110,1,
+-128,21,
+54,10,
+-12,-27,
+54,-105,
+45,159,
+198,-114,
+83,21,
+-68,92,
+66,-16,
+-69,-137,
+0,47,
+206,137,
+14,-82,
+-144,-121,
+-13,56,
+111,-92,
+-59,-88,
+17,89,
+-73,140,
+-97,-161,
+-45,-94,
+-74,-115,
+-64,-36,
+-34,-95,
+33,174,
+-164,105,
+221,64,
+51,-6,
+-41,139,
+-22,-143,
+-80,46,
+66,39,
+-44,-35,
+-38,-164,
+86,-24,
+-92,-148,
+-46,15,
+-73,-119,
+102,79,
+-108,10,
+17,-51,
+-27,107,
+-24,-40,
+125,-80,
+-38,-175,
+84,76,
+-38,88,
+-143,-35,
+-43,57,
+176,-118,
+-114,-61,
+19,14,
+-46,121,
+205,132,
+184,-93,
+131,64,
+-33,43,
+-12,-41,
+-9,-49,
+60,21,
+78,24,
+-14,58,
+73,-119,
+-151,-69,
+225,5,
+-259,-204,
+113,-36,
+-141,7,
+-5,-39,
+83,-87,
+-249,-92,
+7,-73,
+-204,36,
+146,-167,
+47,-28,
+23,120,
+29,-56,
+8,153,
+20,-222,
+269,-68,
+172,-203,
+-109,28,
+43,151,
+72,-105,
+84,-124,
+216,25,
+105,-66,
+156,-5,
+-3,-4,
+2,-91,
+43,-89,
+5,144,
+38,217,
+-111,40,
+217,-180,
+-59,-55,
+32,61,
+23,27,
+-70,75,
+29,35,
+141,86,
+-204,128,
+-101,-146,
+-128,129,
+204,138,
+54,-6,
+-78,-3,
+129,100,
+-178,110,
+33,103,
+60,-16,
+-285,-101,
+27,13,
+-251,55,
+-42,31,
+-76,-103,
+85,-34,
+-15,227,
+4,-185,
+-130,2,
+31,-218,
+44,-99,
+75,-63,
+149,97,
+-47,88,
+151,-54,
+-6,33,
+-249,-143,
+-29,-123,
+-21,68,
+-7,118,
+-123,-206,
+52,-18,
+-174,96,
+12,193,
+-187,-26,
+12,-23,
+-174,-2,
+-147,28,
+-41,109,
+-168,-195,
+-54,142,
+173,110,
+72,0,
+-19,-50,
+-176,101,
+29,113,
+103,-148,
+-14,-25,
+51,-86,
+65,12,
+-129,82,
+-124,201,
+140,123,
+11,60,
+-110,-130,
+-51,-42,
+-32,81,
+104,-53,
+205,56,
+45,-53,
+11,-171,
+-233,119,
+-135,-221,
+210,-29,
+65,81,
+65,-28,
+-97,23,
+10,67,
+-104,-3,
+-51,-118,
+31,-86,
+196,70,
+175,-232,
+12,-99,
+-110,-86,
+56,58,
+-127,157,
+-21,185,
+-138,-87,
+-22,246,
+-34,-12,
+173,59,
+-17,-22,
+-102,34,
+-7,74,
+105,-80,
+-31,6,
+115,124,
+129,-9,
+40,-55,
+13,-33,
+33,-8,
+-131,-128,
+99,-13,
+-144,34,
+-77,53,
+-111,-48,
+144,-1,
+46,165,
+120,5,
+180,-31,
+-47,-116,
+-111,47,
+84,-118,
+101,47,
+-196,-101,
+55,175,
+-132,-212,
+175,-7,
+72,-161,
+-108,-71,
+110,-89,
+-60,113,
+17,-5,
+126,-6,
+112,-4,
+-103,237,
+53,-66,
+52,133,
+-62,-3,
+-131,-134,
+64,243,
+25,-34,
+32,123,
+-158,10,
+32,-72,
+72,-161,
+-77,-67,
+189,-98,
+152,-219,
+3,6,
+160,125,
+-77,-71,
+53,25,
+161,11,
+-32,255,
+-75,69,
+64,-204,
+-145,45,
+19,-10,
+98,37,
+-109,-8,
+20,45,
+126,-60,
+-177,-53,
+130,106,
+139,104,
+87,50,
+77,-103,
+-45,17,
+-103,-50,
+-78,-160,
+118,-254,
+-144,116,
+117,102,
+207,130,
+-48,53,
+-44,199,
+-144,66,
+117,-3,
+-54,-9,
+122,30,
+-25,105,
+-80,-21,
+99,-25,
+-179,-42,
+253,108,
+229,-127,
+113,26,
+-110,-55,
+-6,-112,
+13,-48,
+-90,-24,
+-152,-123,
+75,-255,
+178,91,
+376,15,
+-1,-32,
+52,18,
+-61,114,
+-97,30,
+18,-24,
+-102,-97,
+-217,29,
+60,-71,
+242,-73,
+110,-209,
+-14,-141,
+-86,-204,
+14,-103,
+218,-38,
+-150,-118,
+-41,-148,
+-87,-41,
+307,-74,
+41,-55,
+-196,-138,
+-141,133,
+19,-74,
+-126,-82,
+-236,211,
+-72,-113,
+-85,-311,
+55,-88,
+-8,-275,
+-73,32,
+-8,147,
+-68,-48,
+32,51,
+307,90,
+-70,67,
+-245,-19,
+9,53,
+-110,73,
+-17,134,
+59,178,
+86,185,
+69,8,
+106,21,
+103,-84,
+30,26,
+122,-160,
+36,-38,
+-153,-85,
+150,253,
+-189,82,
+167,-33,
+-54,82,
+-85,147,
+22,-35,
+-10,81,
+173,-95,
+-200,58,
+-176,170,
+-28,-114,
+-140,-118,
+-69,-188,
+55,272,
+-82,-236,
+-57,-8,
+0,-7,
+-52,43,
+42,-165,
+62,-35,
+143,-20,
+-142,256,
+-135,-138,
+90,240,
+251,-265,
+-25,-4,
+186,-21,
+-96,-54,
+-171,229,
+-164,3,
+120,-83,
+56,-258,
+-131,82,
+5,41,
+-79,-69,
+-59,-170,
+331,-154,
+67,108,
+84,-129,
+168,-30,
+-142,42,
+-322,-66,
+95,-163,
+-155,-131,
+109,-140,
+-10,-34,
+171,42,
+-26,-23,
+-14,58,
+98,-92,
+-60,-38,
+234,62,
+-110,-74,
+67,111,
+-80,53,
+-92,-162,
+-194,89,
+31,32,
+-26,-23,
+-41,-31,
+-197,-188,
+-51,95,
+61,17,
+24,-210,
+-140,118,
+-46,-110,
+82,-34,
+74,164,
+-178,-280,
+-88,-42,
+-121,-43,
+232,-48,
+122,-75,
+-90,-14,
+129,-182,
+153,44,
+-131,64,
+-129,-151,
+-57,-248,
+-60,-35,
+-246,214,
+-130,74,
+-79,-91,
+263,83,
+-130,93,
+-42,18,
+145,192,
+4,27,
+227,-20,
+63,-74,
+-92,4,
+-96,-230,
+-36,-80,
+-72,-34,
+-72,-198,
+110,-142,
+83,-188,
+-199,-152,
+-4,-109,
+38,-44,
+-144,24,
+-41,-110,
+-16,2,
+272,-109,
+219,-240,
+-148,-75,
+78,-103,
+-60,98,
+39,173,
+-77,-110,
+265,-72,
+-50,156,
+-57,51,
+-67,45,
+12,142,
+-69,147,
+-155,-185,
+-86,-110,
+-83,-16,
+-6,0,
+55,181,
+17,6,
+265,-218,
+98,-122,
+-89,189,
+-22,15,
+-127,98,
+157,21,
+106,33,
+-126,-33,
+62,96,
+-167,-181,
+-160,-149,
+227,17,
+-92,184,
+-75,43,
+228,281,
+104,59,
+-88,77,
+128,2,
+-139,-9,
+41,88,
+143,-14,
+-79,-126,
+129,53,
+-10,120,
+-24,-132,
+37,-15,
+15,-77,
+234,-143,
+266,91,
+-162,-20,
+-125,-111,
+36,-138,
+-63,-124,
+-157,152,
+115,-17,
+32,203,
+-20,60,
+354,58,
+123,-191,
+124,-28,
+-49,-162,
+-61,-90,
+4,-227,
+-49,118,
+6,0,
+-137,141,
+-22,380,
+35,25,
+295,129,
+43,-17,
+-44,69,
+48,126,
+101,6,
+-163,69,
+120,-99,
+65,-6,
+135,-63,
+-27,153,
+323,-137,
+-19,116,
+-175,24,
+-112,225,
+-3,29,
+48,25,
+198,22,
+342,-99,
+23,81,
+-194,-138,
+112,-52,
+142,23,
+-38,-125,
+21,-84,
+-54,97,
+-38,-128,
+-194,-78,
+-148,-50,
+117,-2,
+-8,-1,
+28,-126,
+225,-115,
+77,-90,
+186,127,
+225,-40,
+75,-10,
+61,105,
+-185,13,
+-46,156,
+-34,71,
+91,132,
+-169,-69,
+-53,243,
+337,-51,
+47,-205,
+95,97,
+103,-11,
+225,75,
+-74,107,
+-237,73,
+111,-141,
+-72,58,
+176,55,
+2,147,
+-38,9,
+0,-59,
+-58,24,
+90,-69,
+-195,177,
+-360,23,
+34,127,
+101,50,
+-262,-78,
+-96,-19,
+-46,-28,
+37,210,
+-81,32,
+69,25,
+16,127,
+86,138,
+-92,69,
+-65,-130,
+-128,6,
+62,114,
+-188,102,
+-245,-29,
+41,-210,
+-9,34,
+-248,-216,
+72,98,
+245,47,
+29,86,
+32,103,
+-101,155,
+210,51,
+29,-184,
+-135,105,
+-81,-95,
+28,-98,
+-29,23,
+54,115,
+65,-25,
+107,95,
+-79,-145,
+-32,-11,
+248,141,
+-72,5,
+-111,108,
+-114,156,
+127,151,
+150,227,
+138,42,
+-9,-58,
+164,30,
+56,5,
+139,-156,
+-34,-159,
+-80,-124,
+243,172,
+-44,-68,
+12,12,
+168,-86,
+136,97,
+-94,-123,
+-18,-6,
+109,-93,
+-368,253,
+-81,-175,
+-271,-73,
+-123,83,
+1,125,
+-115,-307,
+-64,-82,
+-156,291,
+102,59,
+-63,15,
+-109,151,
+-108,-13,
+-76,173,
+156,-67,
+41,-51,
+158,18,
+94,20,
+-302,-51,
+-12,32,
+107,41,
+203,-92,
+53,52,
+-54,4,
+-158,105,
+-43,-66,
+-148,251,
+79,113,
+-228,31,
+-59,-26,
+-27,-47,
+177,101,
+-18,-86,
+21,301,
+-238,-125,
+-12,-27,
+-15,29,
+-210,-85,
+-1,-205,
+78,-8,
+-69,-31,
+48,-173,
+-131,-86,
+-25,152,
+66,37,
+-138,-246,
+61,5,
+-252,-129,
+-111,24,
+-77,18,
+359,42,
+92,-21,
+266,18,
+-47,-97,
+-124,74,
+172,-132,
+-46,-98,
+28,130,
+212,107,
+-105,45,
+-160,-31,
+79,222,
+-179,-45,
+125,69,
+161,-41,
+-32,-96,
+120,-80,
+-124,189,
+-17,11,
+-4,-52,
+-53,223,
+56,-209,
+40,27,
+141,-131,
+-30,51,
+-161,262,
+-38,10,
+15,-132,
+-148,-170,
+-26,-82,
+11,145,
+69,219,
+-98,-60,
+29,-41,
+-45,27,
+-33,68,
+-72,32,
+-10,-58,
+-127,149,
+26,42,
+-86,111,
+6,76,
+26,122,
+-23,-94,
+42,25,
+-20,179,
+41,127,
+-209,39,
+194,-22,
+12,157,
+50,69,
+290,44,
+-47,130,
+-59,-84,
+126,-88,
+-110,-83,
+33,59,
+-12,102,
+-108,45,
+159,-9,
+18,-42,
+-33,83,
+-203,50,
+-74,169,
+-108,46,
+-82,-164,
+-2,264,
+47,-211,
+131,152,
+128,-185,
+230,-182,
+-46,-53,
+-85,253,
+-113,54,
+296,87,
+22,-41,
+-72,317,
+-3,174,
+-56,-98,
+38,70,
+77,123,
+48,-157,
+-29,-290,
+233,53,
+-199,81,
+64,-38,
+-23,241,
+-192,-235,
+201,34,
+201,41,
+227,119,
+56,27,
+-109,-96,
+13,150,
+-107,-132,
+2,-50,
+-36,141,
+-137,-148,
+-192,-80,
+-109,42,
+-71,-60,
+-68,56,
+119,124,
+115,-109,
+33,15,
+-124,4,
+-47,-130,
+-69,-182,
+-89,-95,
+67,114,
+-42,12,
+116,67,
+160,-108,
+-3,98,
+-21,79,
+-17,-121,
+-68,-74,
+-22,-115,
+-137,87,
+243,-34,
+77,8,
+-53,139,
+67,68,
+27,66,
+178,229,
+-64,-201,
+-102,126,
+59,-15,
+55,144,
+39,107,
+22,0,
+26,62,
+171,147,
+-142,65,
+-189,170,
+3,153,
+-116,-129,
+43,-18,
+-26,146,
+58,-125,
+163,119,
+-57,20,
+-121,-78,
+-128,-164,
+-96,-27,
+-28,48,
+114,-113,
+-85,125,
+35,-116,
+10,15,
+195,307,
+92,31,
+67,170,
+18,89,
+-260,103,
+10,-120,
+111,-48,
+98,43,
+19,246,
+-218,-58,
+39,-101,
+-29,-90,
+36,33,
+-45,4,
+-114,64,
+19,-323,
+89,111,
+34,17,
+42,-40,
+4,-69,
+198,-101,
+-81,-57,
+-2,91,
+-63,-179,
+11,3,
+52,-35,
+-25,157,
+87,150,
+189,-94,
+-53,-13,
+-111,83,
+21,52,
+150,32,
+121,-10,
+264,35,
+196,-126,
+55,25,
+135,-26,
+9,-139,
+9,54,
+-91,-22,
+19,44,
+34,-118,
+82,-145,
+-164,-33,
+-214,150,
+129,-25,
+188,0,
+-158,88,
+144,-328,
+24,-13,
+74,-54,
+233,41,
+-29,92,
+16,-60,
+-151,-151,
+41,1,
+-58,62,
+12,11,
+143,-85,
+0,-106,
+-111,94,
+-12,-29,
+-95,21,
+-161,-42,
+181,152,
+-119,17,
+96,129,
+-90,36,
+-44,163,
+-95,-87,
+193,98,
+-41,-188,
+-71,14,
+-141,152,
+123,118,
+-16,8,
+38,-161,
+26,-2,
+134,39,
+179,-32,
+98,21,
+48,-53,
+-46,125,
+2,147,
+28,-3,
+43,-76,
+200,83,
+38,-10,
+-39,37,
+172,100,
+-38,-255,
+207,-15,
+-194,114,
+16,-72,
+-191,-60,
+-34,1,
+1,-111,
+70,135,
+-39,14,
+-15,112,
+-86,-189,
+85,17,
+-10,-54,
+-103,66,
+101,177,
+-15,161,
+-165,72,
+-36,-105,
+-159,34,
+-30,-159,
+75,-193,
+6,-223,
+-74,-29,
+-4,30,
+-138,-170,
+-140,-110,
+-118,100,
+-47,71,
+-107,-56,
+80,21,
+-155,152,
+165,-32,
+17,73,
+-49,85,
+115,63,
+-52,-35,
+-19,-159,
+-19,109,
+118,-202,
+-14,-66,
+-58,117,
+-90,27,
+-56,-42,
+151,-60,
+105,-10,
+-83,69,
+-57,-214,
+-77,101,
+-138,-66,
+-40,-28,
+74,41,
+83,-48,
+-35,-162,
+-26,-61,
+7,82,
+-4,71,
+25,124,
+-69,55,
+106,-23,
+-50,-80,
+-110,-33,
+36,-37,
+-40,35,
+45,36,
+6,-107,
+22,-69,
+-21,74,
+-21,-40,
+4,178,
+6,-65,
+-45,-45,
+-52,-31,
+79,-2,
+35,-19,
+-154,-42,
+-41,-7,
+108,-169,
+77,192,
+66,110,
+-36,42,
+-68,99,
+125,4,
+-147,80,
+51,147,
+143,51,
+92,-17,
+-221,4,
+-71,118,
+-73,4,
+-116,-10,
+210,-15,
+-49,133,
+63,-251,
+-1,-145,
+81,42,
+-39,-56,
+115,-24,
+150,120,
+125,15,
+-55,26,
+248,118,
+-77,52,
+-17,-146,
+18,134,
+99,14,
+27,138,
+63,-1,
+48,215,
+7,74,
+-15,-3,
+-32,23,
+-122,100,
+-143,-103,
+-72,171,
+195,-19,
+-131,39,
+9,-99,
+163,-152,
+-9,-77,
+-86,-27,
+157,211,
+80,-23,
+25,-22,
+138,-47,
+-28,89,
+56,-98,
+214,12,
+-6,181,
+13,23,
+-108,-56,
+1,-49,
+-33,-54,
+12,81,
+-24,20,
+-100,-119,
+74,27,
+-19,50,
+131,-81,
+-35,2,
+-42,47,
+-62,-15,
+-9,-11,
+47,95,
+-19,-112,
+-60,-33,
+-37,16,
+-49,-54,
+74,83,
+83,-51,
+83,-7,
+57,34,
+-43,-30,
+-149,-46,
+-29,76,
+31,97,
+-53,-93,
+32,-81,
+-70,-43,
+18,-114,
+-128,-13,
+105,89,
+-57,68,
+-118,19,
+131,-95,
+43,-85,
+-110,54,
+-7,42,
+-114,22,
+39,-69,
+-108,59,
+36,-37,
+143,48,
+-27,44,
+41,-36,
+78,120,
+47,-150,
+-66,24,
+66,-47,
+88,-114,
+-113,-131,
+-103,-32,
+4,-89,
+-25,-20,
+-146,29,
+-200,17,
+-49,-33,
+-68,-34,
+21,-155,
+-29,-38,
+163,-6,
+148,-11,
+-5,24,
+37,-47,
+-74,10,
+-36,50,
+-60,-121,
+189,28,
+-77,45,
+37,2,
+-23,-73,
+-102,-19,
+23,-178,
+66,85,
+-86,-77,
+-50,170,
+-51,-17,
+75,38,
+30,40,
+-23,74,
+14,114,
+-24,-30,
+95,-6,
+91,22,
+0,-31,
+-58,107,
+51,129,
+-6,62,
+-29,59,
+-35,-12,
+-82,38,
+136,7,
+114,14,
+-71,-174,
+5,81,
+-88,55,
+86,-9,
+-8,-99,
+118,54,
+6,-101,
+92,108,
+19,-42,
+51,-8,
+-57,-89,
+47,-34,
+-5,-33,
+-7,-22,
+-96,85,
+7,34,
+82,-48,
+-53,-14,
+-74,11,
+-10,-149,
+3,143,
+48,48,
+34,45,
+-172,116,
+-8,-61,
+-93,33,
+39,52,
+44,77,
+0,-98,
+39,-123,
+-95,32,
+-86,72,
+3,-48,
+70,-5,
+-81,-39,
+0,54,
+-26,29,
+-45,75,
+14,106,
+-53,134,
+32,118,
+7,49,
+35,35,
+48,-76,
+-22,-17,
+-18,87,
+41,73,
+111,-14,
+26,4,
+-114,36,
+44,-30,
+-66,-67,
+11,69,
+-28,-11,
+-96,92,
+-6,-13,
+79,17,
+-89,66,
+3,-2,
+-115,-57,
+79,-29,
+11,10,
+-65,27,
+-72,-66,
+38,-5,
+32,-87,
+113,88,
+-69,104,
+-63,-90,
+49,-42,
+107,-49,
+-30,42,
+159,81,
+64,53,
+18,67,
+14,-54,
+-50,34,
+42,-7,
+-32,20,
+1,-48,
+-74,-84,
+-72,-64,
+70,10,
+-30,22,
+39,71,
+-1,5,
+6,-61,
+-24,51,
+20,-80,
+108,-81,
+61,-18,
+19,2,
+63,82,
+16,-15,
+13,1,
+76,68,
+70,-7,
+-99,-41,
+90,-1,
+-31,20,
+83,95,
+62,-38,
+8,1,
+34,70,
+10,28,
+-31,44,
+32,-100,
+-101,10,
+-27,1,
+45,-50,
+8,36,
+5,65,
+-30,26,
+62,34,
+5,-25,
+-8,-4,
+-102,-39,
+-58,-40,
+25,-21,
+-37,-20,
+1,77,
+22,36,
+24,-19,
+4,-40,
+-13,-42,
+-35,-83,
+-21,-67,
+-5,-1,
+21,-22,
+-36,-11,
+-22,-42,
+73,7,
+-71,-13,
+54,87,
+99,152,
+-123,-22,
+46,12,
+-10,-30,
+42,-50,
+21,62,
+6,-50,
+-93,74,
+-87,7,
+69,5,
+11,26,
+-28,9,
+74,-52,
+94,-7,
+46,50,
+-49,21,
+100,60,
+46,-102,
+-1,8,
+-82,81,
+-23,70,
+-57,8,
+94,58,
+-83,-11,
+66,-55,
+-18,-2,
+18,-53,
+92,-67,
+-20,-27,
+-9,55,
+16,-24,
+5,36,
+25,-24,
+42,-45,
+-30,60,
+-68,-32,
+29,-17,
+-2,51,
+27,15,
+50,58,
+14,42,
+24,-30,
+1,36,
+45,-63,
+60,28,
+8,5,
+-19,-2,
+9,2,
+70,-1,
+-6,-3,
+44,-37,
+29,8,
+3,-39,
+-20,-7,
+50,-17,
+5,-3,
+-44,-17,
+32,7,
+30,-17,
+48,35,
+6,-29,
+-84,-32,
+-45,-5,
+51,-6,
+19,-50,
+40,-11,
+5,39,
+-96,29,
+56,-16,
+-17,21,
+11,-21,
+22,-23,
+21,22,
+3,-45,
+-44,54,
+7,34,
+-14,-13,
+35,34,
+13,-51,
+33,-23,
+-18,4,
+51,5,
+24,34,
+-29,16,
+-15,-21,
+-18,25,
+16,-15,
+-26,7,
+7,126,
+11,5,
+10,31,
+-19,-52,
+12,-37,
+-52,-41,
+-21,40,
+-12,-40,
+38,-2,
+-9,16,
+-59,-57,
+3,28,
+-6,21,
+-51,-38,
+-20,-12,
+15,-13,
+-32,-29,
+19,-10,
+3,-41,
+54,30,
+-37,16,
+20,21,
+-6,-49,
+-15,-8,
+56,-29,
+26,10,
+17,-45,
+-12,-13,
+40,-18,
+-22,8,
+-2,45,
+9,41,
+-4,-43,
+-3,-14,
+7,-16,
+-4,35,
+-14,41,
+11,-13,
+-9,16,
+44,-26,
+3,-41,
+1,13,
+35,-1,
+33,-12,
+-8,-38,
+-45,10,
+-5,-25,
+47,-26,
+-41,-11,
+-5,-81,
+12,-5,
+27,-18,
+-48,3,
+16,-7,
+-8,15,
+1,33,
+-16,-3,
+16,12,
+-6,8,
+13,21,
+-47,-20,
+-25,8,
+12,45,
+-7,-9,
+-8,20,
+19,18,
+19,22,
+37,15,
+26,-1,
+2,-42,
+20,14,
+9,19,
+-5,7,
+-3,-15,
+-13,10,
+19,23,
+5,-10,
+5,10,
+-15,1,
+-3,-19,
+-7,-11,
+2,9,
+-15,6,
+29,20,
+19,-26,
+-3,18,
+24,35,
+-7,-4,
+-4,-20,
+-23,-4,
+1,0,
+-22,-25,
+16,-21,
+23,-3,
+-14,0,
+-4,-24,
+4,4,
+15,-2,
+14,10,
+4,1,
+5,-2,
+12,-6,
+15,10,
+-21,-27,
+2,-13,
+9,5,
+-2,-2,
+20,-25,
+3,-23,
+4,2,
+-7,10,
+3,-15,
+-3,2,
+7,10,
+19,-6,
+-12,18,
+-1,-10,
+4,-9,
+6,-8,
+3,12,
+11,18,
+-10,-7,
+-4,18,
+-1,13,
+1,1,
+16,-9,
+-6,-2,
+11,8,
+8,-13,
+5,-3,
+-1,-4,
+5,10,
+0,10,
+-2,8,
+6,11,
+-13,4,
+-7,6,
+3,2,
+-1,-1,
+-4,0,
+-2,-11,
+-2,-6,
+-4,5,
+4,-6,
+-6,1,
+-5,8,
+4,0,
+-4,-4,
+-7,0,
+9,9,
+-5,8,
+-3,0,
+10,0,
+-2,-2,
+3,-6,
+4,2,
+-1,4,
+-4,3,
+8,-2,
+-5,5,
+-3,-1,
+5,-1,
+-2,0,
+-2,1,
+6,-1,
+-2,1,
+-3,1,
+7,1,
+-2,0,
+-2,0,
+6,0,
+-2,0,
+-2,0,
+7,-1,
+-3,-1,
+-2,-1,
+6,1,
+-2,-1,
+-2,0,
+5,1,
+-3,1,
+-5,-5,
+8,2,
+-4,-3,
+-1,-4,
+4,-2,
+3,6,
+-2,2,
+10,0,
+-3,0,
+-5,-8,
+9,-9,
+-7,0,
+-4,4,
+4,0,
+-5,-8,
+-6,-1,
+4,6,
+-4,-5,
+-2,6,
+-2,11,
+-4,0,
+-1,1,
+3,-2,
+-7,-6,
+-13,-4,
+6,-11,
+-2,-8,
+0,-10,
+5,-10,
+-1,4,
+5,3,
+8,13,
+11,-8,
+-6,2,
+16,9,
+1,-1,
+-1,-13,
+-4,-18,
+-10,7,
+11,-18,
+3,-12,
+6,8,
+4,9,
+-1,10,
+-12,-18,
+19,6,
+7,-10,
+-3,-2,
+3,15,
+-7,-10,
+4,-2,
+3,23,
+20,25,
+-2,2,
+9,-5,
+2,13,
+-21,27,
+15,-10,
+12,6,
+5,2,
+4,-1,
+14,-10,
+15,2,
+4,-4,
+-4,24,
+-14,0,
+23,3,
+16,21,
+-22,25,
+1,0,
+-23,4,
+-4,20,
+-7,4,
+24,-35,
+-3,-18,
+19,26,
+29,-20,
+-15,-6,
+2,-9,
+-7,11,
+-3,19,
+-15,-1,
+5,-10,
+5,10,
+19,-23,
+-13,-10,
+-3,15,
+-5,-7,
+9,-19,
+20,-14,
+2,42,
+26,1,
+37,-15,
+19,-22,
+19,-18,
+-8,-20,
+-7,9,
+12,-45,
+-25,-8,
+-47,20,
+13,-21,
+-6,-8,
+16,-12,
+-16,3,
+1,-33,
+-8,-15,
+16,7,
+-48,-3,
+27,18,
+12,5,
+-5,81,
+-41,11,
+47,26,
+-5,25,
+-45,-10,
+-8,38,
+33,12,
+35,1,
+1,-13,
+3,41,
+44,26,
+-9,-16,
+11,13,
+-14,-41,
+-4,-35,
+7,16,
+-3,14,
+-4,43,
+9,-41,
+-2,-45,
+-22,-8,
+40,18,
+-12,13,
+17,45,
+26,-10,
+56,29,
+-15,8,
+-6,49,
+20,-21,
+-37,-16,
+54,-30,
+3,41,
+19,10,
+-32,29,
+15,13,
+-20,12,
+-51,38,
+-6,-21,
+3,-28,
+-59,57,
+-9,-16,
+38,2,
+-12,40,
+-21,-40,
+-52,41,
+12,37,
+-19,52,
+10,-31,
+11,-5,
+7,-126,
+-26,-7,
+16,15,
+-18,-25,
+-15,21,
+-29,-16,
+24,-34,
+51,-5,
+-18,-4,
+33,23,
+13,51,
+35,-34,
+-14,13,
+7,-34,
+-44,-54,
+3,45,
+21,-22,
+22,23,
+11,21,
+-17,-21,
+56,16,
+-96,-29,
+5,-39,
+40,11,
+19,50,
+51,6,
+-45,5,
+-84,32,
+6,29,
+48,-35,
+30,17,
+32,-7,
+-44,17,
+5,3,
+50,17,
+-20,7,
+3,39,
+29,-8,
+44,37,
+-6,3,
+70,1,
+9,-2,
+-19,2,
+8,-5,
+60,-28,
+45,63,
+1,-36,
+24,30,
+14,-42,
+50,-58,
+27,-15,
+-2,-51,
+29,17,
+-68,32,
+-30,-60,
+42,45,
+25,24,
+5,-36,
+16,24,
+-9,-55,
+-20,27,
+92,67,
+18,53,
+-18,2,
+66,55,
+-83,11,
+94,-58,
+-57,-8,
+-23,-70,
+-82,-81,
+-1,-8,
+46,102,
+100,-60,
+-49,-21,
+46,-50,
+94,7,
+74,52,
+-28,-9,
+11,-26,
+69,-5,
+-87,-7,
+-93,-74,
+6,50,
+21,-62,
+42,50,
+-10,30,
+46,-12,
+-123,22,
+99,-152,
+54,-87,
+-71,13,
+73,-7,
+-22,42,
+-36,11,
+21,22,
+-5,1,
+-21,67,
+-35,83,
+-13,42,
+4,40,
+24,19,
+22,-36,
+1,-77,
+-37,20,
+25,21,
+-58,40,
+-102,39,
+-8,4,
+5,25,
+62,-34,
+-30,-26,
+5,-65,
+8,-36,
+45,50,
+-27,-1,
+-101,-10,
+32,100,
+-31,-44,
+10,-28,
+34,-70,
+8,-1,
+62,38,
+83,-95,
+-31,-20,
+90,1,
+-99,41,
+70,7,
+76,-68,
+13,-1,
+16,15,
+63,-82,
+19,-2,
+61,18,
+108,81,
+20,80,
+-24,-51,
+6,61,
+-1,-5,
+39,-71,
+-30,-22,
+70,-10,
+-72,64,
+-74,84,
+1,48,
+-32,-20,
+42,7,
+-50,-34,
+14,54,
+18,-67,
+64,-53,
+159,-81,
+-30,-42,
+107,49,
+49,42,
+-63,90,
+-69,-104,
+113,-88,
+32,87,
+38,5,
+-72,66,
+-65,-27,
+11,-10,
+79,29,
+-115,57,
+3,2,
+-89,-66,
+79,-17,
+-6,13,
+-96,-92,
+-28,11,
+11,-69,
+-66,67,
+44,30,
+-114,-36,
+26,-4,
+111,14,
+41,-73,
+-18,-87,
+-22,17,
+48,76,
+35,-35,
+7,-49,
+32,-118,
+-53,-134,
+14,-106,
+-45,-75,
+-26,-29,
+0,-54,
+-81,39,
+70,5,
+3,48,
+-86,-72,
+-95,-32,
+39,123,
+0,98,
+44,-77,
+39,-52,
+-93,-33,
+-8,61,
+-172,-116,
+34,-45,
+48,-48,
+3,-143,
+-10,149,
+-74,-11,
+-53,14,
+82,48,
+7,-34,
+-96,-85,
+-7,22,
+-5,33,
+47,34,
+-57,89,
+51,8,
+19,42,
+92,-108,
+6,101,
+118,-54,
+-8,99,
+86,9,
+-88,-55,
+5,-81,
+-71,174,
+114,-14,
+136,-7,
+-82,-38,
+-35,12,
+-29,-59,
+-6,-62,
+51,-129,
+-58,-107,
+0,31,
+91,-22,
+95,6,
+-24,30,
+14,-114,
+-23,-74,
+30,-40,
+75,-38,
+-51,17,
+-50,-170,
+-86,77,
+66,-85,
+23,178,
+-102,19,
+-23,73,
+37,-2,
+-77,-45,
+189,-28,
+-60,121,
+-36,-50,
+-74,-10,
+37,47,
+-5,-24,
+148,11,
+163,6,
+-29,38,
+21,155,
+-68,34,
+-49,33,
+-200,-17,
+-146,-29,
+-25,20,
+4,89,
+-103,32,
+-113,131,
+88,114,
+66,47,
+-66,-24,
+47,150,
+78,-120,
+41,36,
+-27,-44,
+143,-48,
+36,37,
+-108,-59,
+39,69,
+-114,-22,
+-7,-42,
+-110,-54,
+43,85,
+131,95,
+-118,-19,
+-57,-68,
+105,-89,
+-128,13,
+18,114,
+-70,43,
+32,81,
+-53,93,
+31,-97,
+-29,-76,
+-149,46,
+-43,30,
+57,-34,
+83,7,
+83,51,
+74,-83,
+-49,54,
+-37,-16,
+-60,33,
+-19,112,
+47,-95,
+-9,11,
+-62,15,
+-42,-47,
+-35,-2,
+131,81,
+-19,-50,
+74,-27,
+-100,119,
+-24,-20,
+12,-81,
+-33,54,
+1,49,
+-108,56,
+13,-23,
+-6,-181,
+214,-12,
+56,98,
+-28,-89,
+138,47,
+25,22,
+80,23,
+157,-211,
+-86,27,
+-9,77,
+163,152,
+9,99,
+-131,-39,
+195,19,
+-72,-171,
+-143,103,
+-122,-100,
+-32,-23,
+-15,3,
+7,-74,
+48,-215,
+63,1,
+27,-138,
+99,-14,
+18,-134,
+-17,146,
+-77,-52,
+248,-118,
+-55,-26,
+125,-15,
+150,-120,
+115,24,
+-39,56,
+81,-42,
+-1,145,
+63,251,
+-49,-133,
+210,15,
+-116,10,
+-73,-4,
+-71,-118,
+-221,-4,
+92,17,
+143,-51,
+51,-147,
+-147,-80,
+125,-4,
+-68,-99,
+-36,-42,
+66,-110,
+77,-192,
+108,169,
+-41,7,
+-154,42,
+35,19,
+79,2,
+-52,31,
+-45,45,
+6,65,
+4,-178,
+-21,40,
+-21,-74,
+22,69,
+6,107,
+45,-36,
+-40,-35,
+36,37,
+-110,33,
+-50,80,
+106,23,
+-69,-55,
+25,-124,
+-4,-71,
+7,-82,
+-26,61,
+-35,162,
+83,48,
+74,-41,
+-40,28,
+-138,66,
+-77,-101,
+-57,214,
+-83,-69,
+105,10,
+151,60,
+-56,42,
+-90,-27,
+-58,-117,
+-14,66,
+118,202,
+-19,-109,
+-19,159,
+-52,35,
+115,-63,
+-49,-85,
+17,-73,
+165,32,
+-155,-152,
+80,-21,
+-107,56,
+-47,-71,
+-118,-100,
+-140,110,
+-138,170,
+-4,-30,
+-74,29,
+6,223,
+75,193,
+-30,159,
+-159,-34,
+-36,105,
+-165,-72,
+-15,-161,
+101,-177,
+-103,-66,
+-10,54,
+85,-17,
+-86,189,
+-15,-112,
+-39,-14,
+70,-135,
+1,111,
+-34,-1,
+-191,60,
+16,72,
+-194,-114,
+207,15,
+-38,255,
+172,-100,
+-39,-37,
+38,10,
+200,-83,
+43,76,
+28,3,
+2,-147,
+-46,-125,
+48,53,
+98,-21,
+179,32,
+134,-39,
+26,2,
+38,161,
+-16,-8,
+123,-118,
+-141,-152,
+-71,-14,
+-41,188,
+193,-98,
+-95,87,
+-44,-163,
+-90,-36,
+96,-129,
+-119,-17,
+181,-152,
+-161,42,
+-95,-21,
+-12,29,
+-111,-94,
+0,106,
+143,85,
+12,-11,
+-58,-62,
+41,-1,
+-151,151,
+16,60,
+-29,-92,
+233,-41,
+74,54,
+24,13,
+144,328,
+-158,-88,
+188,0,
+129,25,
+-214,-150,
+-164,33,
+82,145,
+34,118,
+19,-44,
+-91,22,
+9,-54,
+9,139,
+135,26,
+55,-25,
+196,126,
+264,-35,
+121,10,
+150,-32,
+21,-52,
+-111,-83,
+-53,13,
+189,94,
+87,-150,
+-25,-157,
+52,35,
+11,-3,
+-63,179,
+-2,-91,
+-81,57,
+198,101,
+4,69,
+42,40,
+34,-17,
+89,-111,
+19,323,
+-114,-64,
+-45,-4,
+36,-33,
+-29,90,
+39,101,
+-218,58,
+19,-246,
+98,-43,
+111,48,
+10,120,
+-260,-103,
+18,-89,
+67,-170,
+92,-31,
+195,-307,
+10,-15,
+35,116,
+-85,-125,
+114,113,
+-28,-48,
+-96,27,
+-128,164,
+-121,78,
+-57,-20,
+163,-119,
+58,125,
+-26,-146,
+43,18,
+-116,129,
+3,-153,
+-189,-170,
+-142,-65,
+171,-147,
+26,-62,
+22,0,
+39,-107,
+55,-144,
+59,15,
+-102,-126,
+-64,201,
+178,-229,
+27,-66,
+67,-68,
+-53,-139,
+77,-8,
+243,34,
+-137,-87,
+-22,115,
+-68,74,
+-17,121,
+-21,-79,
+-3,-98,
+160,108,
+116,-67,
+-42,-12,
+67,-114,
+-89,95,
+-69,182,
+-47,130,
+-124,-4,
+33,-15,
+115,109,
+119,-124,
+-68,-56,
+-71,60,
+-109,-42,
+-192,80,
+-137,148,
+-36,-141,
+2,50,
+-107,132,
+13,-150,
+-109,96,
+56,-27,
+227,-119,
+201,-41,
+201,-34,
+-192,235,
+-23,-241,
+64,38,
+-199,-81,
+233,-53,
+-29,290,
+48,157,
+77,-123,
+38,-70,
+-56,98,
+-3,-174,
+-72,-317,
+22,41,
+296,-87,
+-113,-54,
+-85,-253,
+-46,53,
+230,182,
+128,185,
+131,-152,
+47,211,
+-2,-264,
+-82,164,
+-108,-46,
+-74,-169,
+-203,-50,
+-33,-83,
+18,42,
+159,9,
+-108,-45,
+-12,-102,
+33,-59,
+-110,83,
+126,88,
+-59,84,
+-47,-130,
+290,-44,
+50,-69,
+12,-157,
+194,22,
+-209,-39,
+41,-127,
+-20,-179,
+42,-25,
+-23,94,
+26,-122,
+6,-76,
+-86,-111,
+26,-42,
+-127,-149,
+-10,58,
+-72,-32,
+-33,-68,
+-45,-27,
+29,41,
+-98,60,
+69,-219,
+11,-145,
+-26,82,
+-148,170,
+15,132,
+-38,-10,
+-161,-262,
+-30,-51,
+141,131,
+40,-27,
+56,209,
+-53,-223,
+-4,52,
+-17,-11,
+-124,-189,
+120,80,
+-32,96,
+161,41,
+125,-69,
+-179,45,
+79,-222,
+-160,31,
+-105,-45,
+212,-107,
+28,-130,
+-46,98,
+172,132,
+-124,-74,
+-47,97,
+266,-18,
+92,21,
+359,-42,
+-77,-18,
+-111,-24,
+-252,129,
+61,-5,
+-138,246,
+66,-37,
+-25,-152,
+-131,86,
+48,173,
+-69,31,
+78,8,
+-1,205,
+-210,85,
+-15,-29,
+-12,27,
+-238,125,
+21,-301,
+-18,86,
+177,-101,
+-27,47,
+-59,26,
+-228,-31,
+79,-113,
+-148,-251,
+-43,66,
+-158,-105,
+-54,-4,
+53,-52,
+203,92,
+107,-41,
+-12,-32,
+-302,51,
+94,-20,
+158,-18,
+41,51,
+156,67,
+-76,-173,
+-108,13,
+-109,-151,
+-63,-15,
+102,-59,
+-156,-291,
+-64,82,
+-115,307,
+1,-125,
+-123,-83,
+-271,73,
+-81,175,
+-368,-253,
+109,93,
+-18,6,
+-94,123,
+136,-97,
+168,86,
+12,-12,
+-44,68,
+243,-172,
+-80,124,
+-34,159,
+139,156,
+56,-5,
+164,-30,
+-9,58,
+138,-42,
+150,-227,
+127,-151,
+-114,-156,
+-111,-108,
+-72,-5,
+248,-141,
+-32,11,
+-79,145,
+107,-95,
+65,25,
+54,-115,
+-29,-23,
+28,98,
+-81,95,
+-135,-105,
+29,184,
+210,-51,
+-101,-155,
+32,-103,
+29,-86,
+245,-47,
+72,-98,
+-248,216,
+-9,-34,
+41,210,
+-245,29,
+-188,-102,
+62,-114,
+-128,-6,
+-65,130,
+-92,-69,
+86,-138,
+16,-127,
+69,-25,
+-81,-32,
+37,-210,
+-46,28,
+-96,19,
+-262,78,
+101,-50,
+34,-127,
+-360,-23,
+-195,-177,
+90,69,
+-58,-24,
+0,59,
+-38,-9,
+2,-147,
+176,-55,
+-72,-58,
+111,141,
+-237,-73,
+-74,-107,
+225,-75,
+103,11,
+95,-97,
+47,205,
+337,51,
+-53,-243,
+-169,69,
+91,-132,
+-34,-71,
+-46,-156,
+-185,-13,
+61,-105,
+75,10,
+225,40,
+186,-127,
+77,90,
+225,115,
+28,126,
+-8,1,
+117,2,
+-148,50,
+-194,78,
+-38,128,
+-54,-97,
+21,84,
+-38,125,
+142,-23,
+112,52,
+-194,138,
+23,-81,
+342,99,
+198,-22,
+48,-25,
+-3,-29,
+-112,-225,
+-175,-24,
+-19,-116,
+323,137,
+-27,-153,
+135,63,
+65,6,
+120,99,
+-163,-69,
+101,-6,
+48,-126,
+-44,-69,
+43,17,
+295,-129,
+35,-25,
+-22,-380,
+-137,-141,
+11,0,
+-167,-76,
+42,-60,
+272,21,
+-4,30,
+61,-3,
+216,108,
+-186,-2,
+272,62,
+42,-18,
+124,37,
+103,125,
+145,-197,
+-17,229,
+-78,73,
+168,-47,
+153,-13,
+127,58,
+5,85,
+160,209,
+114,77,
+43,-37,
+-28,-14,
+-43,55,
+53,-388,
+67,-57,
+187,-55,
+62,-76,
+65,69,
+-162,147,
+-155,62,
+116,154,
+159,-4,
+-43,51,
+13,37,
+-171,-131,
+133,-122,
+-145,191,
+-205,0,
+-63,203,
+16,-21,
+153,-67,
+34,-24,
+-21,1,
+-164,-147,
+131,222,
+6,157,
+39,244,
+62,-94,
+-156,-39,
+-98,122,
+181,85,
+-80,30,
+301,-110,
+-35,-33,
+24,-195,
+42,23,
+-141,-78,
+-186,164,
+87,18,
+-50,202,
+8,226,
+-84,-42,
+-71,-61,
+63,25,
+59,-42,
+69,13,
+-105,161,
+148,159,
+-260,-362,
+-195,36,
+11,-70,
+321,-81,
+-178,48,
+63,230,
+-109,-22,
+-40,-39,
+-221,-134,
+-171,52,
+50,139,
+-111,60,
+364,156,
+-74,-31,
+12,-2,
+-70,229,
+61,276,
+-89,17,
+-59,-64,
+148,-107,
+28,-243,
+284,-8,
+85,137,
+265,121,
+75,-126,
+155,-35,
+88,4,
+76,67,
+-252,164,
+153,51,
+-11,8,
+-240,-47,
+87,-38,
+-301,-142,
+173,64,
+132,53,
+76,176,
+396,186,
+-106,-198,
+-125,91,
+142,-31,
+165,-259,
+-52,136,
+134,-4,
+-81,9,
+97,52,
+50,-145,
+-33,95,
+-177,-36,
+-174,177,
+-168,160,
+277,66,
+-111,22,
+-127,-300,
+120,-41,
+2,-3,
+114,-132,
+-272,-55,
+-93,-182,
+-222,233,
+57,-34,
+67,-22,
+124,20,
+-197,-188,
+-87,-60,
+48,98,
+-150,28,
+-59,-74,
+97,134,
+59,-90,
+-11,67,
+-182,-126,
+166,4,
+119,43,
+-6,176,
+-20,210,
+-172,-213,
+175,2,
+35,34,
+-47,-154,
+-82,-60,
+227,-228,
+-227,-190,
+-5,-176,
+-139,-155,
+-31,-89,
+-39,2,
+-64,46,
+-322,256,
+-293,-6,
+68,158,
+-22,25,
+316,-82,
+71,13,
+-322,77,
+48,3,
+-130,-193,
+214,130,
+-96,43,
+-141,12,
+19,-75,
+171,60,
+143,-8,
+-110,135,
+-71,-181,
+164,-62,
+50,-17,
+86,-165,
+186,-171,
+-53,48,
+-45,174,
+18,127,
+-104,-64,
+248,107,
+-14,108,
+29,-58,
+114,-122,
+-204,-196,
+-90,123,
+-144,136,
+-1,178,
+-49,18,
+65,96,
+100,-30,
+20,-4,
+-150,91,
+-76,83,
+69,40,
+-69,-43,
+307,97,
+47,103,
+-122,222,
+-65,-86,
+-177,65,
+70,-42,
+-132,-110,
+-199,-107,
+45,-84,
+85,82,
+188,-71,
+-120,-15,
+30,97,
+211,114,
+-20,-196,
+-133,-47,
+19,94,
+51,106,
+97,-1,
+-73,40,
+-20,10,
+-16,-111,
+86,43,
+-150,90,
+-99,39,
+-92,234,
+245,99,
+-47,83,
+-57,35,
+3,101,
+83,32,
+-187,28,
+-37,-38,
+-107,24,
+78,-98,
+-112,-86,
+148,-27,
+-135,-201,
+-25,200,
+-30,11,
+-244,-156,
+111,8,
+182,2,
+145,-72,
+245,83,
+-162,115,
+-89,-116,
+34,-55,
+78,98,
+14,-7,
+-100,-12,
+-162,-35,
+54,84,
+153,-66,
+16,-92,
+76,-73,
+32,-33,
+121,-168,
+-93,127,
+265,152,
+-89,-88,
+-200,78,
+72,17,
+-79,115,
+-184,-16,
+-6,-83,
+41,10,
+-142,44,
+138,97,
+-14,112,
+-25,-12,
+53,94,
+73,9,
+-142,143,
+-128,-165,
+-71,158,
+-34,-13,
+-106,189,
+70,-291,
+-250,114,
+-139,-150,
+52,-184,
+-31,-126,
+56,-137,
+19,-71,
+105,118,
+-131,175,
+-109,-62,
+-16,-21,
+-55,109,
+46,-73,
+224,-134,
+-8,49,
+67,272,
+-69,-102,
+148,-98,
+-10,-31,
+120,1,
+182,34,
+-157,-60,
+-105,-115,
+-68,-61,
+106,-36,
+35,106,
+-79,-19,
+17,117,
+-96,38,
+-161,-56,
+232,-87,
+-151,54,
+89,-46,
+39,-35,
+-81,-37,
+-122,-52,
+-12,126,
+155,91,
+124,-48,
+-37,10,
+146,-41,
+-145,70,
+63,-287,
+-17,15,
+-24,107,
+-15,-122,
+-63,196,
+22,20,
+-19,150,
+111,57,
+-169,-143,
+-98,219,
+-151,13,
+-124,-268,
+-19,-115,
+-27,293,
+-40,77,
+-30,40,
+85,133,
+73,41,
+-108,-48,
+14,315,
+-4,276,
+17,-106,
+77,-119,
+-14,9,
+65,165,
+70,-172,
+-117,-103,
+51,-114,
+-32,170,
+49,-27,
+-3,193,
+35,168,
+-22,138,
+136,-180,
+-173,163,
+109,15,
+-71,-46,
+-69,93,
+-57,178,
+-95,152,
+41,-119,
+76,157,
+-296,49,
+4,-22,
+24,17,
+-1,-82,
+-80,49,
+-24,115,
+67,67,
+-129,78,
+82,111,
+-45,102,
+50,-96,
+35,38,
+47,-72,
+70,-181,
+-80,153,
+39,21,
+-85,104,
+-83,56,
+12,0,
+13,-51,
+33,64,
+-100,57,
+256,-255,
+37,38,
+-116,132,
+154,-91,
+133,-57,
+108,-43,
+148,-32,
+171,-10,
+35,-171,
+184,-53,
+-44,-176,
+-36,34,
+92,14,
+-65,-74,
+2,-86,
+-75,25,
+4,198,
+61,89,
+166,140,
+-109,23,
+-47,-49,
+-79,215,
+-184,94,
+-23,85,
+-31,-111,
+-85,30,
+33,-70,
+-42,-16,
+-74,-108,
+-196,3,
+-65,130,
+112,-70,
+81,14,
+164,52,
+-100,169,
+83,-85,
+138,110,
+-114,-42,
+-68,7,
+-32,49,
+92,60,
+-64,-85,
+145,-26,
+21,121,
+-22,94,
+-18,-25,
+41,57,
+-108,80,
+129,27,
+-74,-80,
+155,-123,
+24,-57,
+15,84,
+-100,-72,
+147,8,
+232,8,
+133,69,
+68,-27,
+28,-240,
+65,59,
+69,53,
+-12,-158,
+191,-4,
+-8,20,
+-52,-44,
+17,80,
+111,56,
+73,-6,
+68,-18,
+-23,-139,
+-46,-191,
+89,26,
+170,-56,
+20,-51,
+-82,119,
+-29,-17,
+75,29,
+99,56,
+-71,150,
+-15,76,
+-153,-80,
+2,39,
+-129,50,
+-92,-47,
+45,-152,
+-67,-51,
+-120,180,
+-185,79,
+83,82,
+18,-25,
+42,127,
+26,-60,
+99,-35,
+46,71,
+113,69,
+28,-138,
+-121,32,
+74,-52,
+-87,20,
+-39,-61,
+-105,74,
+-23,-7,
+-1,9,
+50,-58,
+-39,30,
+34,6,
+95,84,
+-2,-39,
+-94,131,
+-31,-87,
+86,-58,
+56,-78,
+-61,136,
+35,-7,
+-87,40,
+-33,-28,
+-138,-66,
+-137,75,
+-116,-100,
+102,-46,
+42,-10,
+-10,-154,
+25,-72,
+-53,130,
+11,-30,
+230,-36,
+-80,-155,
+220,-46,
+-14,21,
+7,94,
+174,95,
+83,66,
+-29,60,
+-16,-29,
+-85,261,
+-202,-58,
+153,124,
+30,10,
+-96,-108,
+-52,66,
+-80,82,
+-72,-22,
+24,2,
+-72,-186,
+26,-121,
+-23,-59,
+-40,3,
+103,-95,
+21,55,
+28,7,
+-162,56,
+40,25,
+-7,-121,
+86,-9,
+-23,121,
+83,-1,
+-31,-17,
+-6,31,
+-36,26,
+42,-68,
+4,-29,
+30,-120,
+-90,26,
+73,-52,
+-84,4,
+-36,-44,
+6,100,
+95,108,
+-57,-5,
+-11,98,
+38,-1,
+85,41,
+-50,19,
+177,-59,
+89,-236,
+-24,49,
+-118,-2,
+-66,-110,
+64,-36,
+13,-88,
+-35,-39,
+18,-112,
+164,42,
+60,0,
+-59,98,
+117,-1,
+-14,-123,
+-9,55,
+17,149,
+-91,37,
+-75,-14,
+-119,1,
+-73,1,
+48,107,
+58,86,
+-11,-11,
+44,-40,
+6,60,
+-80,23,
+-20,130,
+-8,-21,
+-11,38,
+-52,91,
+-154,-3,
+97,108,
+76,229,
+-126,61,
+59,-40,
+12,-28,
+-45,102,
+-81,-31,
+-57,139,
+-6,-83,
+90,34,
+31,-15,
+-18,0,
+64,-46,
+114,82,
+-44,20,
+-54,44,
+51,-14,
+40,60,
+-38,-140,
+66,-8,
+-51,72,
+68,20,
+23,31,
+113,-7,
+-56,162,
+22,33,
+27,-47,
+34,-110,
+-53,-108,
+-88,39,
+45,-48,
+-64,-15,
+-9,-13,
+-15,-82,
+165,-50,
+42,-91,
+52,-81,
+-7,35,
+49,3,
+154,105,
+56,-6,
+57,-47,
+-56,-55,
+-74,67,
+34,-45,
+-10,4,
+-56,50,
+-143,-16,
+10,143,
+-103,78,
+0,73,
+26,96,
+-127,129,
+-1,8,
+95,5,
+-45,30,
+-76,58,
+-36,100,
+76,-116,
+-35,65,
+-19,24,
+73,-101,
+5,-15,
+109,-8,
+-13,-4,
+-26,-24,
+-78,94,
+-13,8,
+22,-29,
+-20,90,
+122,-76,
+40,13,
+25,-9,
+96,10,
+8,-65,
+-24,-6,
+-23,68,
+12,-111,
+41,-37,
+29,-70,
+45,60,
+-36,-9,
+197,-112,
+41,-15,
+-84,30,
+105,-96,
+-3,85,
+-19,-65,
+0,58,
+189,10,
+13,-2,
+86,-3,
+9,58,
+13,-70,
+-139,17,
+-10,0,
+-1,25,
+87,39,
+-113,-5,
+-61,31,
+185,17,
+151,-44,
+-14,0,
+16,-2,
+94,60,
+-19,1,
+96,-56,
+123,17,
+-47,-28,
+-158,-71,
+43,-58,
+38,-102,
+29,-23,
+-45,-21,
+69,68,
+126,-49,
+-69,3,
+86,-19,
+-1,-25,
+-46,29,
+-21,-37,
+-108,26,
+84,-43,
+-42,87,
+-24,5,
+70,78,
+38,45,
+-5,-121,
+-30,-22,
+-24,68,
+1,-69,
+-10,74,
+-7,-27,
+-53,18,
+35,-82,
+38,-17,
+32,17,
+-9,-29,
+46,54,
+-70,21,
+-55,-144,
+1,14,
+-21,39,
+19,49,
+-1,55,
+-90,-15,
+10,56,
+71,-49,
+73,66,
+-97,52,
+-20,52,
+54,-24,
+-21,-34,
+-17,-27,
+74,-53,
+60,-5,
+-45,93,
+-42,-55,
+-75,30,
+-96,26,
+-3,-101,
+-73,-61,
+33,-23,
+-85,7,
+141,-69,
+-44,13,
+16,-77,
+-15,-71,
+78,52,
+-22,22,
+38,-51,
+30,70,
+39,-21,
+34,-11,
+-14,8,
+-21,-12,
+-6,-83,
+22,1,
+64,-17,
+-43,-63,
+30,-3,
+37,23,
+26,71,
+-5,-46,
+-78,76,
+4,-1,
+-37,20,
+-37,59,
+21,14,
+32,-48,
+-65,-55,
+38,6,
+37,45,
+-50,5,
+-17,-59,
+41,5,
+13,4,
+-10,123,
+8,69,
+-29,-24,
+-33,0,
+18,-72,
+8,-21,
+22,29,
+-92,-54,
+-2,57,
+-9,-41,
+-47,9,
+34,-59,
+-7,-19,
+5,-17,
+44,36,
+26,-46,
+-9,13,
+86,38,
+40,36,
+37,-106,
+29,0,
+4,4,
+-23,4,
+-11,-20,
+23,5,
+0,-10,
+24,56,
+56,-11,
+-47,-53,
+-35,17,
+14,51,
+49,9,
+-20,-11,
+-4,10,
+-1,89,
+5,-36,
+-60,-45,
+-30,-20,
+9,-36,
+-26,17,
+33,-76,
+12,-27,
+76,54,
+5,22,
+-1,58,
+4,-33,
+35,-7,
+19,-30,
+0,-23,
+3,52,
+3,14,
+39,-17,
+19,-7,
+71,-9,
+7,-88,
+-28,11,
+-65,-15,
+5,9,
+26,48,
+14,-12,
+14,46,
+2,-31,
+69,-23,
+16,24,
+-65,16,
+-29,33,
+-5,32,
+-42,15,
+-5,3,
+-13,-32,
+39,22,
+-11,69,
+-2,-13,
+-15,-39,
+38,7,
+-1,-12,
+-13,60,
+-30,-83,
+38,-17,
+-2,8,
+-25,35,
+21,67,
+13,-45,
+38,-47,
+16,-68,
+53,-42,
+-22,12,
+-25,-21,
+-18,-11,
+-57,-49,
+-52,18,
+-18,-22,
+-61,34,
+-1,-34,
+5,15,
+-30,23,
+0,0,
+4,-55,
+60,31,
+15,33,
+-25,-7,
+11,17,
+-30,-43,
+25,22,
+-9,36,
+7,-35,
+1,-17,
+16,7,
+-12,-24,
+-26,-29,
+-18,6,
+8,42,
+10,-25,
+-5,-6,
+33,-55,
+-68,-16,
+-4,-21,
+16,47,
+-46,-15,
+-20,-15,
+-18,10,
+20,-8,
+31,29,
+24,-63,
+16,-37,
+-23,16,
+24,1,
+-28,-9,
+4,39,
+37,-29,
+-33,15,
+-1,37,
+-9,4,
+-21,-21,
+18,17,
+-6,8,
+33,59,
+30,16,
+-18,-18,
+-3,29,
+-12,-59,
+-6,0,
+-4,6,
+19,-16,
+14,9,
+13,-23,
+6,28,
+-15,18,
+-9,19,
+9,16,
+29,47,
+-13,1,
+-21,35,
+-20,4,
+-11,-6,
+10,-6,
+31,-2,
+30,5,
+2,-22,
+-2,25,
+7,2,
+25,29,
+4,-26,
+5,-8,
+1,-19,
+-27,-26,
+14,16,
+22,-22,
+3,7,
+-11,12,
+8,22,
+-24,-39,
+-8,-11,
+-7,-1,
+28,6,
+0,-9,
+-7,19,
+5,-1,
+-7,-7,
+-2,-1,
+19,-11,
+18,8,
+9,-3,
+-1,-11,
+14,-12,
+-18,1,
+-2,1,
+-11,9,
+-4,0,
+-1,24,
+11,-11,
+5,2,
+-2,-5,
+-1,-9,
+5,11,
+28,6,
+-2,-8,
+2,8,
+-4,-11,
+-3,2,
+-3,13,
+3,2,
+0,-12,
+16,-5,
+-2,-6,
+-1,-7,
+-5,11,
+-3,-15,
+4,2,
+5,14,
+-1,-1,
+10,-6,
+5,-1,
+-1,-5,
+0,7,
+-1,8,
+-10,2,
+-3,0,
+-7,4,
+3,-5,
+-1,0,
+1,9,
+6,-1,
+4,2,
+0,5,
+0,2,
+0,2,
+2,3,
+1,-5,
+2,2,
+-3,7,
+3,-4,
+1,3,
+-2,4,
+2,-2,
+0,-1,
+0,6,
+1,-4,
+0,0,
+0,5,
+0,-5,
+0,0,
+0,5,
+0,-5,
+0,0,
+1,4,
+0,-6,
+0,1,
+2,2,
+-2,-4,
+1,-3,
+3,4,
+-3,-7,
+2,-2,
+1,5,
+2,-3,
+0,-2,
+0,-2,
+0,-5,
+4,-2,
+6,1,
+1,-9,
+-1,0,
+3,5,
+-7,-4,
+-3,0,
+-10,-2,
+-1,-8,
+0,-7,
+-1,5,
+5,1,
+10,6,
+-1,1,
+5,-14,
+4,-2,
+-3,15,
+-5,-11,
+-1,7,
+-2,6,
+16,5,
+0,12,
+3,-2,
+-3,-13,
+-3,-2,
+-4,11,
+2,-8,
+-2,8,
+28,-6,
+5,-11,
+-1,9,
+-2,5,
+5,-2,
+11,11,
+-1,-24,
+-4,0,
+-11,-9,
+-2,-1,
+-18,-1,
+14,12,
+-1,11,
+9,3,
+18,-8,
+19,11,
+-2,1,
+-7,7,
+5,1,
+-7,-19,
+0,9,
+28,-6,
+-7,1,
+-8,11,
+-24,39,
+8,-22,
+-11,-12,
+3,-7,
+22,22,
+14,-16,
+-27,26,
+1,19,
+5,8,
+4,26,
+25,-29,
+7,-2,
+-2,-25,
+2,22,
+30,-5,
+31,2,
+10,6,
+-11,6,
+-20,-4,
+-21,-35,
+-13,-1,
+29,-47,
+9,-16,
+-9,-19,
+-15,-18,
+6,-28,
+13,23,
+14,-9,
+19,16,
+-4,-6,
+-6,0,
+-12,59,
+-3,-29,
+-18,18,
+30,-16,
+33,-59,
+-6,-8,
+18,-17,
+-21,21,
+-9,-4,
+-1,-37,
+-33,-15,
+37,29,
+4,-39,
+-28,9,
+24,-1,
+-23,-16,
+16,37,
+24,63,
+31,-29,
+20,8,
+-18,-10,
+-20,15,
+-46,15,
+16,-47,
+-4,21,
+-68,16,
+33,55,
+-5,6,
+10,25,
+8,-42,
+-18,-6,
+-26,29,
+-12,24,
+16,-7,
+1,17,
+7,35,
+-9,-36,
+25,-22,
+-30,43,
+11,-17,
+-25,7,
+15,-33,
+60,-31,
+4,55,
+0,0,
+-30,-23,
+5,-15,
+-1,34,
+-61,-34,
+-18,22,
+-52,-18,
+-57,49,
+-18,11,
+-25,21,
+-22,-12,
+53,42,
+16,68,
+38,47,
+13,45,
+21,-67,
+-25,-35,
+-2,-8,
+38,17,
+-30,83,
+-13,-60,
+-1,12,
+38,-7,
+-15,39,
+-2,13,
+-11,-69,
+39,-22,
+-13,32,
+-5,-3,
+-42,-15,
+-5,-32,
+-29,-33,
+-65,-16,
+16,-24,
+69,23,
+2,31,
+14,-46,
+14,12,
+26,-48,
+5,-9,
+-65,15,
+-28,-11,
+7,88,
+71,9,
+19,7,
+39,17,
+3,-14,
+3,-52,
+0,23,
+19,30,
+35,7,
+4,33,
+-1,-58,
+5,-22,
+76,-54,
+12,27,
+33,76,
+-26,-17,
+9,36,
+-30,20,
+-60,45,
+5,36,
+-1,-89,
+-4,-10,
+-20,11,
+49,-9,
+14,-51,
+-35,-17,
+-47,53,
+56,11,
+24,-56,
+0,10,
+23,-5,
+-11,20,
+-23,-4,
+4,-4,
+29,0,
+37,106,
+40,-36,
+86,-38,
+-9,-13,
+26,46,
+44,-36,
+5,17,
+-7,19,
+34,59,
+-47,-9,
+-9,41,
+-2,-57,
+-92,54,
+22,-29,
+8,21,
+18,72,
+-33,0,
+-29,24,
+8,-69,
+-10,-123,
+13,-4,
+41,-5,
+-17,59,
+-50,-5,
+37,-45,
+38,-6,
+-65,55,
+32,48,
+21,-14,
+-37,-59,
+-37,-20,
+4,1,
+-78,-76,
+-5,46,
+26,-71,
+37,-23,
+30,3,
+-43,63,
+64,17,
+22,-1,
+-6,83,
+-21,12,
+-14,-8,
+34,11,
+39,21,
+30,-70,
+38,51,
+-22,-22,
+78,-52,
+-15,71,
+16,77,
+-44,-13,
+141,69,
+-85,-7,
+33,23,
+-73,61,
+-3,101,
+-96,-26,
+-75,-30,
+-42,55,
+-45,-93,
+60,5,
+74,53,
+-17,27,
+-21,34,
+54,24,
+-20,-52,
+-97,-52,
+73,-66,
+71,49,
+10,-56,
+-90,15,
+-1,-55,
+19,-49,
+-21,-39,
+1,-14,
+-55,144,
+-70,-21,
+46,-54,
+-9,29,
+32,-17,
+38,17,
+35,82,
+-53,-18,
+-7,27,
+-10,-74,
+1,69,
+-24,-68,
+-30,22,
+-5,121,
+38,-45,
+70,-78,
+-24,-5,
+-42,-87,
+84,43,
+-108,-26,
+-21,37,
+-46,-29,
+-1,25,
+86,19,
+-69,-3,
+126,49,
+69,-68,
+-45,21,
+29,23,
+38,102,
+43,58,
+-158,71,
+-47,28,
+123,-17,
+96,56,
+-19,-1,
+94,-60,
+16,2,
+-14,0,
+151,44,
+185,-17,
+-61,-31,
+-113,5,
+87,-39,
+-1,-25,
+-10,0,
+-139,-17,
+13,70,
+9,-58,
+86,3,
+13,2,
+189,-10,
+0,-58,
+-19,65,
+-3,-85,
+105,96,
+-84,-30,
+41,15,
+197,112,
+-36,9,
+45,-60,
+29,70,
+41,37,
+12,111,
+-23,-68,
+-24,6,
+8,65,
+96,-10,
+25,9,
+40,-13,
+122,76,
+-20,-90,
+22,29,
+-13,-8,
+-78,-94,
+-26,24,
+-13,4,
+109,8,
+5,15,
+73,101,
+-19,-24,
+-35,-65,
+76,116,
+-36,-100,
+-76,-58,
+-45,-30,
+95,-5,
+-1,-8,
+-127,-129,
+26,-96,
+0,-73,
+-103,-78,
+10,-143,
+-143,16,
+-56,-50,
+-10,-4,
+34,45,
+-74,-67,
+-56,55,
+57,47,
+56,6,
+154,-105,
+49,-3,
+-7,-35,
+52,81,
+42,91,
+165,50,
+-15,82,
+-9,13,
+-64,15,
+45,48,
+-88,-39,
+-53,108,
+34,110,
+27,47,
+22,-33,
+-56,-162,
+113,7,
+23,-31,
+68,-20,
+-51,-72,
+66,8,
+-38,140,
+40,-60,
+51,14,
+-54,-44,
+-44,-20,
+114,-82,
+64,46,
+-18,0,
+31,15,
+90,-34,
+-6,83,
+-57,-139,
+-81,31,
+-45,-102,
+12,28,
+59,40,
+-126,-61,
+76,-229,
+97,-108,
+-154,3,
+-52,-91,
+-11,-38,
+-8,21,
+-20,-130,
+-80,-23,
+6,-60,
+44,40,
+-11,11,
+58,-86,
+48,-107,
+-73,-1,
+-119,-1,
+-75,14,
+-91,-37,
+17,-149,
+-9,-55,
+-14,123,
+117,1,
+-59,-98,
+60,0,
+164,-42,
+18,112,
+-35,39,
+13,88,
+64,36,
+-66,110,
+-118,2,
+-24,-49,
+89,236,
+177,59,
+-50,-19,
+85,-41,
+38,1,
+-11,-98,
+-57,5,
+95,-108,
+6,-100,
+-36,44,
+-84,-4,
+73,52,
+-90,-26,
+30,120,
+4,29,
+42,68,
+-36,-26,
+-6,-31,
+-31,17,
+83,1,
+-23,-121,
+86,9,
+-7,121,
+40,-25,
+-162,-56,
+28,-7,
+21,-55,
+103,95,
+-40,-3,
+-23,59,
+26,121,
+-72,186,
+24,-2,
+-72,22,
+-80,-82,
+-52,-66,
+-96,108,
+30,-10,
+153,-124,
+-202,58,
+-85,-261,
+-16,29,
+-29,-60,
+83,-66,
+174,-95,
+7,-94,
+-14,-21,
+220,46,
+-80,155,
+230,36,
+11,30,
+-53,-130,
+25,72,
+-10,154,
+42,10,
+102,46,
+-116,100,
+-137,-75,
+-138,66,
+-33,28,
+-87,-40,
+35,7,
+-61,-136,
+56,78,
+86,58,
+-31,87,
+-94,-131,
+-2,39,
+95,-84,
+34,-6,
+-39,-30,
+50,58,
+-1,-9,
+-23,7,
+-105,-74,
+-39,61,
+-87,-20,
+74,52,
+-121,-32,
+28,138,
+113,-69,
+46,-71,
+99,35,
+26,60,
+42,-127,
+18,25,
+83,-82,
+-185,-79,
+-120,-180,
+-67,51,
+45,152,
+-92,47,
+-129,-50,
+2,-39,
+-153,80,
+-15,-76,
+-71,-150,
+99,-56,
+75,-29,
+-29,17,
+-82,-119,
+20,51,
+170,56,
+89,-26,
+-46,191,
+-23,139,
+68,18,
+73,6,
+111,-56,
+17,-80,
+-52,44,
+-8,-20,
+191,4,
+-12,158,
+69,-53,
+65,-59,
+28,240,
+68,27,
+133,-69,
+232,-8,
+147,-8,
+-100,72,
+15,-84,
+24,57,
+155,123,
+-74,80,
+129,-27,
+-108,-80,
+41,-57,
+-18,25,
+-22,-94,
+21,-121,
+145,26,
+-64,85,
+92,-60,
+-32,-49,
+-68,-7,
+-114,42,
+138,-110,
+83,85,
+-100,-169,
+164,-52,
+81,-14,
+112,70,
+-65,-130,
+-196,-3,
+-74,108,
+-42,16,
+33,70,
+-85,-30,
+-31,111,
+-23,-85,
+-184,-94,
+-79,-215,
+-47,49,
+-109,-23,
+166,-140,
+61,-89,
+4,-198,
+-75,-25,
+2,86,
+-65,74,
+92,-14,
+-36,-34,
+-44,176,
+184,53,
+35,171,
+171,10,
+148,32,
+108,43,
+133,57,
+154,91,
+-116,-132,
+37,-38,
+256,255,
+-100,-57,
+33,-64,
+13,51,
+12,0,
+-83,-56,
+-85,-104,
+39,-21,
+-80,-153,
+70,181,
+47,72,
+35,-38,
+50,96,
+-45,-102,
+82,-111,
+-129,-78,
+67,-67,
+-24,-115,
+-80,-49,
+-1,82,
+24,-17,
+4,22,
+-296,-49,
+76,-157,
+41,119,
+-95,-152,
+-57,-178,
+-69,-93,
+-71,46,
+109,-15,
+-173,-163,
+136,180,
+-22,-138,
+35,-168,
+-3,-193,
+49,27,
+-32,-170,
+51,114,
+-117,103,
+70,172,
+65,-165,
+-14,-9,
+77,119,
+17,106,
+-4,-276,
+14,-315,
+-108,48,
+73,-41,
+85,-133,
+-30,-40,
+-40,-77,
+-27,-293,
+-19,115,
+-124,268,
+-151,-13,
+-98,-219,
+-169,143,
+111,-57,
+-19,-150,
+22,-20,
+-63,-196,
+-15,122,
+-24,-107,
+-17,-15,
+63,287,
+-145,-70,
+146,41,
+-37,-10,
+124,48,
+155,-91,
+-12,-126,
+-122,52,
+-81,37,
+39,35,
+89,46,
+-151,-54,
+232,87,
+-161,56,
+-96,-38,
+17,-117,
+-79,19,
+35,-106,
+106,36,
+-68,61,
+-105,115,
+-157,60,
+182,-34,
+120,-1,
+-10,31,
+148,98,
+-69,102,
+67,-272,
+-8,-49,
+224,134,
+46,73,
+-55,-109,
+-16,21,
+-109,62,
+-131,-175,
+105,-118,
+19,71,
+56,137,
+-31,126,
+52,184,
+-139,150,
+-250,-114,
+70,291,
+-106,-189,
+-34,13,
+-71,-158,
+-128,165,
+-142,-143,
+73,-9,
+53,-94,
+-25,12,
+-14,-112,
+138,-97,
+-142,-44,
+41,-10,
+-6,83,
+-184,16,
+-79,-115,
+72,-17,
+-200,-78,
+-89,88,
+265,-152,
+-93,-127,
+121,168,
+32,33,
+76,73,
+16,92,
+153,66,
+54,-84,
+-162,35,
+-100,12,
+14,7,
+78,-98,
+34,55,
+-89,116,
+-162,-115,
+245,-83,
+145,72,
+182,-2,
+111,-8,
+-244,156,
+-30,-11,
+-25,-200,
+-135,201,
+148,27,
+-112,86,
+78,98,
+-107,-24,
+-37,38,
+-187,-28,
+83,-32,
+3,-101,
+-57,-35,
+-47,-83,
+245,-99,
+-92,-234,
+-99,-39,
+-150,-90,
+86,-43,
+-16,111,
+-20,-10,
+-73,-40,
+97,1,
+51,-106,
+19,-94,
+-133,47,
+-20,196,
+211,-114,
+30,-97,
+-120,15,
+188,71,
+85,-82,
+45,84,
+-199,107,
+-132,110,
+70,42,
+-177,-65,
+-65,86,
+-122,-222,
+47,-103,
+307,-97,
+-69,43,
+69,-40,
+-76,-83,
+-150,-91,
+20,4,
+100,30,
+65,-96,
+-49,-18,
+-1,-178,
+-144,-136,
+-90,-123,
+-204,196,
+114,122,
+29,58,
+-14,-108,
+248,-107,
+-104,64,
+18,-127,
+-45,-174,
+-53,-48,
+186,171,
+86,165,
+50,17,
+164,62,
+-71,181,
+-110,-135,
+143,8,
+171,-60,
+19,75,
+-141,-12,
+-96,-43,
+214,-130,
+-130,193,
+48,-3,
+-322,-77,
+71,-13,
+316,82,
+-22,-25,
+68,-158,
+-293,6,
+-322,-256,
+-64,-46,
+-39,-2,
+-31,89,
+-139,155,
+-5,176,
+-227,190,
+227,228,
+-82,60,
+-47,154,
+35,-34,
+175,-2,
+-172,213,
+-20,-210,
+-6,-176,
+119,-43,
+166,-4,
+-182,126,
+-11,-67,
+59,90,
+97,-134,
+-59,74,
+-150,-28,
+48,-98,
+-87,60,
+-197,188,
+124,-20,
+67,22,
+57,34,
+-222,-233,
+-93,182,
+-272,55,
+114,132,
+2,3,
+120,41,
+-127,300,
+-111,-22,
+277,-66,
+-168,-160,
+-174,-177,
+-177,36,
+-33,-95,
+50,145,
+97,-52,
+-81,-9,
+134,4,
+-52,-136,
+165,259,
+142,31,
+-125,-91,
+-106,198,
+396,-186,
+76,-176,
+132,-53,
+173,-64,
+-301,142,
+87,38,
+-240,47,
+-11,-8,
+153,-51,
+-252,-164,
+76,-67,
+88,-4,
+155,35,
+75,126,
+265,-121,
+85,-137,
+284,8,
+28,243,
+148,107,
+-59,64,
+-89,-17,
+61,-276,
+-70,-229,
+12,2,
+-74,31,
+364,-156,
+-111,-60,
+50,-139,
+-171,-52,
+-221,134,
+-40,39,
+-109,22,
+63,-230,
+-178,-48,
+321,81,
+11,70,
+-195,-36,
+-260,362,
+148,-159,
+-105,-161,
+69,-13,
+59,42,
+63,-25,
+-71,61,
+-84,42,
+8,-226,
+-50,-202,
+87,-18,
+-186,-164,
+-141,78,
+42,-23,
+24,195,
+-35,33,
+301,110,
+-80,-30,
+181,-85,
+-98,-122,
+-156,39,
+62,94,
+39,-244,
+6,-157,
+131,-222,
+-164,147,
+-21,-1,
+34,24,
+153,67,
+16,21,
+-63,-203,
+-205,0,
+-145,-191,
+133,122,
+-171,131,
+13,-37,
+-43,-51,
+159,4,
+116,-154,
+-155,-62,
+-162,-147,
+65,-69,
+62,76,
+187,55,
+67,57,
+53,388,
+-43,-55,
+-28,14,
+43,37,
+114,-77,
+160,-209,
+5,-85,
+127,-58,
+153,13,
+168,47,
+-78,-73,
+-17,-229,
+145,197,
+103,-125,
+124,-37,
+42,18,
+272,-62,
+-186,2,
+216,-108,
+61,3,
+-4,-30,
+272,-21,
+42,60,
+-167,76,
+0,0,
+262,-138,
+-273,197,
+110,37,
+39,170,
+-38,83,
+182,-52,
+111,221,
+227,-64,
+-27,126,
+110,-232,
+25,123,
+118,-31,
+-99,-174,
+130,150,
+-32,28,
+-80,-29,
+-96,202,
+-61,22,
+148,23,
+95,166,
+161,-191,
+-27,-91,
+156,112,
+-92,-90,
+129,-179,
+69,122,
+-70,152,
+228,66,
+-173,94,
+114,131,
+146,34,
+-8,-177,
+133,110,
+106,72,
+72,79,
+78,-106,
+33,82,
+12,187,
+-226,-211,
+-18,95,
+-13,-99,
+-204,227,
+106,-188,
+165,168,
+-14,41,
+-35,-5,
+68,-104,
+175,24,
+31,13,
+-35,99,
+43,122,
+20,121,
+-91,26,
+-7,-24,
+-216,212,
+-100,-156,
+203,41,
+-143,-92,
+34,-84,
+116,81,
+-54,152,
+5,93,
+-90,155,
+80,123,
+14,-170,
+33,-139,
+112,29,
+203,95,
+-18,253,
+-52,11,
+16,294,
+-15,61,
+153,79,
+88,124,
+12,-134,
+129,197,
+-124,42,
+-114,-111,
+33,154,
+168,-34,
+35,-78,
+345,-31,
+17,-92,
+-100,-72,
+10,64,
+-159,-151,
+64,59,
+102,159,
+8,-134,
+-124,116,
+-27,-20,
+-131,-3,
+-35,158,
+55,-3,
+-28,-41,
+-5,79,
+-55,-184,
+50,-84,
+-71,54,
+178,-1,
+-41,129,
+195,-104,
+-109,15,
+-175,-56,
+-72,180,
+-52,-95,
+21,-11,
+239,-17,
+59,-49,
+167,60,
+-59,21,
+121,-40,
+47,164,
+-276,71,
+-171,233,
+46,-87,
+-82,-122,
+109,10,
+121,-61,
+146,-42,
+-80,-287,
+-3,2,
+-103,-126,
+-7,110,
+-4,-113,
+252,132,
+-319,-40,
+104,-18,
+-50,-90,
+168,-39,
+23,52,
+-119,-13,
+25,65,
+14,35,
+42,80,
+-43,-96,
+116,-38,
+190,107,
+190,83,
+-63,-49,
+-104,-179,
+33,98,
+-46,-87,
+-23,18,
+-95,-163,
+-44,-264,
+253,15,
+-147,-33,
+136,-157,
+56,66,
+135,17,
+11,-99,
+-204,-251,
+406,-8,
+159,173,
+4,125,
+-210,105,
+-62,-377,
+-108,28,
+-88,121,
+-133,39,
+-95,97,
+-45,167,
+57,58,
+-16,-153,
+133,-36,
+45,-173,
+52,-87,
+-99,35,
+-12,-99,
+21,45,
+176,39,
+-127,50,
+-166,196,
+-95,171,
+10,142,
+47,-140,
+75,-1,
+97,17,
+269,-104,
+4,-115,
+164,33,
+-18,170,
+-91,-145,
+-48,-222,
+213,33,
+-9,1,
+38,-140,
+40,-8,
+20,15,
+-24,-62,
+-60,-85,
+-150,40,
+-60,72,
+-154,-10,
+-187,83,
+-153,33,
+156,208,
+91,-105,
+-142,1,
+-54,173,
+-362,-7,
+158,-145,
+190,235,
+-3,88,
+-181,4,
+27,-157,
+9,105,
+-17,170,
+-37,88,
+64,218,
+-98,39,
+140,-94,
+89,145,
+-27,144,
+-98,48,
+-224,-197,
+-62,138,
+120,-89,
+87,-25,
+31,170,
+-10,204,
+-227,-50,
+-158,-102,
+-146,173,
+62,2,
+0,-43,
+3,-166,
+-52,-196,
+-4,133,
+89,-216,
+303,-60,
+192,-137,
+-36,-91,
+87,10,
+28,-60,
+-123,-47,
+-37,200,
+64,78,
+-141,-284,
+-115,-37,
+98,-62,
+-20,-106,
+250,34,
+-116,25,
+-27,-194,
+-67,40,
+222,176,
+28,79,
+172,-76,
+36,122,
+257,109,
+-126,-39,
+76,-138,
+-109,-89,
+69,8,
+136,61,
+-78,-59,
+-68,-151,
+0,239,
+383,-11,
+143,-207,
+-68,-21,
+5,-85,
+17,76,
+-41,77,
+-117,93,
+14,279,
+15,195,
+114,-27,
+175,42,
+-244,98,
+-47,-25,
+-121,-363,
+145,72,
+-85,-132,
+128,-27,
+-46,-93,
+-81,72,
+72,-54,
+-8,-8,
+-220,-50,
+-96,-261,
+180,-39,
+118,92,
+109,-44,
+-56,-272,
+-34,132,
+153,-141,
+81,125,
+-127,153,
+32,-79,
+-95,-141,
+10,71,
+81,-28,
+43,33,
+76,-193,
+-239,193,
+-17,243,
+199,46,
+-74,335,
+146,107,
+26,-102,
+83,105,
+233,-209,
+-140,70,
+63,-48,
+-203,-114,
+-116,106,
+157,-182,
+-93,-78,
+70,-163,
+26,193,
+-223,-160,
+-185,-36,
+-140,101,
+43,83,
+99,-92,
+115,-127,
+-4,-174,
+-17,123,
+-161,-70,
+111,73,
+-68,-34,
+55,22,
+-153,45,
+-66,104,
+-83,39,
+5,-36,
+-168,-80,
+-44,-120,
+11,-101,
+-239,-17,
+59,12,
+73,-72,
+-25,16,
+78,-1,
+-157,-38,
+-169,83,
+-6,77,
+-61,38,
+118,-252,
+19,-15,
+-95,-254,
+-57,49,
+-51,-32,
+116,45,
+58,19,
+14,7,
+70,-247,
+57,52,
+113,-86,
+104,258,
+75,-146,
+-76,-56,
+100,23,
+133,10,
+-144,-174,
+-60,246,
+-73,21,
+78,-149,
+81,92,
+84,95,
+-134,-74,
+-22,123,
+-162,224,
+-63,-93,
+8,127,
+-59,10,
+87,74,
+-12,-65,
+63,8,
+-47,-136,
+-112,83,
+41,-10,
+55,74,
+-24,5,
+-144,89,
+114,122,
+-2,-68,
+-9,-72,
+149,-24,
+162,-27,
+102,106,
+-39,29,
+-132,-10,
+-29,-90,
+-60,37,
+31,-48,
+18,-7,
+136,-143,
+-167,140,
+182,160,
+131,-23,
+-113,171,
+133,75,
+99,-125,
+-44,119,
+-106,-64,
+57,128,
+-60,-122,
+-118,-75,
+0,-82,
+-16,-94,
+-31,9,
+-100,-2,
+-12,-40,
+-153,-43,
+-25,-134,
+-78,-54,
+-32,-23,
+26,-120,
+-36,-16,
+111,-82,
+-35,-61,
+-38,109,
+-49,-105,
+-119,31,
+-38,-256,
+203,3,
+156,67,
+-162,-163,
+-135,-46,
+-164,-19,
+37,55,
+-130,54,
+27,-88,
+-38,149,
+-5,138,
+44,118,
+60,20,
+-146,17,
+-83,-154,
+-28,29,
+21,48,
+241,-92,
+-16,-27,
+-18,53,
+73,-6,
+-1,140,
+-76,167,
+125,18,
+-215,38,
+-295,-24,
+1,156,
+-17,196,
+-120,0,
+14,-41,
+-100,146,
+-184,138,
+61,134,
+155,-2,
+-18,13,
+69,12,
+18,61,
+101,-32,
+145,-39,
+-53,-89,
+54,-115,
+107,-31,
+-12,223,
+-30,16,
+72,-51,
+-87,-68,
+25,104,
+165,72,
+25,-94,
+-57,13,
+31,111,
+-160,-121,
+-36,60,
+-95,-164,
+-42,97,
+126,-11,
+8,2,
+29,73,
+-45,79,
+23,-75,
+-28,-174,
+-29,184,
+-82,50,
+-45,83,
+152,-102,
+-6,-73,
+1,-1,
+15,-65,
+-32,127,
+-85,-83,
+132,108,
+81,-89,
+-1,41,
+25,-57,
+8,-135,
+-68,107,
+40,156,
+126,28,
+-46,-90,
+-61,-119,
+-60,-68,
+-89,42,
+-66,-141,
+-54,-191,
+96,47,
+-5,127,
+-86,88,
+85,23,
+45,-22,
+-6,14,
+118,29,
+178,77,
+94,121,
+67,-22,
+22,139,
+142,189,
+23,69,
+-34,33,
+46,55,
+-16,16,
+67,2,
+192,-47,
+-26,52,
+-161,56,
+-94,-175,
+-40,-41,
+-1,-14,
+-123,-150,
+-123,28,
+60,109,
+167,3,
+24,-35,
+-40,18,
+-82,-12,
+-34,10,
+82,122,
+-111,34,
+127,-2,
+-50,-55,
+62,0,
+-76,-4,
+-52,63,
+-33,20,
+-58,64,
+218,-102,
+5,-83,
+-48,62,
+-115,-35,
+77,-25,
+75,3,
+-21,88,
+51,-18,
+-40,65,
+50,-70,
+-176,-180,
+91,61,
+-12,-109,
+15,-46,
+-13,111,
+-13,71,
+112,-5,
+-2,38,
+-159,-49,
+137,2,
+103,45,
+9,36,
+-101,19,
+-71,70,
+-60,0,
+18,116,
+10,105,
+33,-87,
+-1,83,
+26,131,
+51,-14,
+195,-110,
+56,-52,
+-20,-66,
+37,-48,
+115,9,
+125,-70,
+52,-199,
+-81,-125,
+102,-22,
+121,60,
+53,-51,
+74,37,
+4,13,
+-45,26,
+-19,73,
+12,153,
+-16,-92,
+-30,-100,
+-82,-8,
+75,-54,
+68,75,
+129,9,
+55,-40,
+33,-30,
+-60,26,
+86,-136,
+31,20,
+-152,-189,
+2,-95,
+-10,123,
+-46,144,
+-39,-34,
+-184,-74,
+115,-44,
+-44,-47,
+-13,28,
+-17,0,
+-90,59,
+-20,-40,
+-45,-14,
+-54,-13,
+-56,-98,
+-74,-22,
+-4,-86,
+1,-14,
+-20,-65,
+-29,18,
+-86,-14,
+-67,-86,
+-3,-28,
+-67,22,
+156,-52,
+-100,-67,
+16,133,
+57,4,
+31,2,
+88,69,
+60,54,
+60,36,
+6,-79,
+-126,140,
+60,-34,
+-23,-35,
+-40,-23,
+-29,-58,
+60,-71,
+15,85,
+33,141,
+-42,38,
+-57,28,
+-5,34,
+30,-24,
+89,18,
+18,-88,
+-23,51,
+105,39,
+-62,-75,
+-1,-47,
+-44,46,
+-3,39,
+-23,-48,
+126,78,
+-67,-57,
+63,-68,
+88,2,
+62,-134,
+-7,-2,
+48,22,
+27,58,
+-59,19,
+31,25,
+57,-129,
+30,-12,
+-109,50,
+70,44,
+-53,0,
+-37,-3,
+17,98,
+167,46,
+-197,48,
+5,30,
+-38,18,
+-16,35,
+39,46,
+47,18,
+-119,-93,
+31,-12,
+-160,17,
+-49,1,
+-35,70,
+89,-91,
+6,-79,
+5,-23,
+5,-66,
+-27,68,
+1,46,
+-16,-61,
+-13,-7,
+-43,-81,
+-71,-20,
+-55,-28,
+-7,-85,
+23,21,
+39,-75,
+48,-45,
+-9,-41,
+9,74,
+-18,-67,
+62,21,
+-60,-73,
+18,19,
+-122,63,
+-56,52,
+77,5,
+47,-31,
+-75,-156,
+27,-64,
+-30,-2,
+36,-8,
+-144,53,
+6,-35,
+-47,6,
+19,-68,
+-32,-108,
+-57,118,
+65,-34,
+-123,88,
+45,83,
+80,-68,
+44,99,
+159,27,
+57,-21,
+46,-40,
+40,-61,
+-134,97,
+86,15,
+12,-29,
+-98,30,
+-5,-69,
+84,-3,
+-12,28,
+50,47,
+-65,13,
+-24,-26,
+-84,11,
+69,114,
+-25,40,
+-114,-36,
+-40,-84,
+16,-21,
+-28,30,
+0,-22,
+32,-19,
+-116,11,
+53,58,
+-69,-59,
+-82,68,
+-73,-121,
+92,-33,
+-15,23,
+-2,84,
+103,0,
+85,-17,
+72,-7,
+34,-60,
+-11,31,
+35,3,
+-74,-46,
+-64,85,
+25,129,
+32,49,
+10,-93,
+-73,31,
+36,24,
+21,8,
+-62,29,
+-40,-76,
+-18,60,
+40,6,
+47,99,
+-13,-7,
+-1,82,
+111,26,
+-19,31,
+-59,-74,
+11,37,
+5,-5,
+-43,94,
+2,-29,
+-63,-32,
+-58,-22,
+0,-17,
+74,3,
+6,-34,
+-42,-9,
+0,30,
+-14,19,
+-55,33,
+-67,125,
+19,60,
+-71,-50,
+17,17,
+-81,-4,
+-62,-12,
+76,18,
+4,-10,
+-18,-126,
+-7,-21,
+57,-23,
+66,-10,
+-16,63,
+0,32,
+-16,-45,
+15,-37,
+-57,-60,
+90,-13,
+41,60,
+-39,9,
+20,1,
+68,-9,
+42,20,
+35,-40,
+49,28,
+-35,1,
+-57,-64,
+112,-5,
+5,98,
+-19,-25,
+13,-21,
+28,-100,
+1,1,
+10,25,
+-5,27,
+74,-18,
+-7,-83,
+1,-26,
+27,-38,
+14,-29,
+-34,-26,
+-18,-9,
+21,10,
+-28,18,
+-26,-13,
+7,36,
+-13,24,
+-48,14,
+-35,-44,
+20,14,
+42,13,
+-49,52,
+-35,20,
+24,70,
+-20,6,
+-22,4,
+17,20,
+80,-31,
+18,-63,
+33,1,
+22,7,
+-27,37,
+18,-22,
+-14,-14,
+-32,-2,
+-14,37,
+-41,2,
+-21,25,
+6,-4,
+51,-5,
+11,-25,
+18,-29,
+44,-34,
+-37,-10,
+-28,-32,
+-37,-34,
+70,-27,
+32,86,
+-14,30,
+-39,24,
+-46,-49,
+27,39,
+-7,55,
+-22,-44,
+-7,47,
+-15,-2,
+-36,17,
+-48,-20,
+-13,-23,
+25,12,
+-32,-10,
+2,-16,
+-28,-9,
+15,27,
+33,60,
+-15,8,
+-17,0,
+10,3,
+22,13,
+-8,-14,
+18,-1,
+-1,-6,
+-8,14,
+-10,46,
+-18,-61,
+14,21,
+-6,-16,
+20,38,
+-28,-20,
+24,-8,
+-41,-14,
+-21,3,
+-35,7,
+11,43,
+-14,-2,
+-19,7,
+0,-8,
+9,-27,
+53,-38,
+-6,-7,
+10,25,
+7,9,
+-6,-13,
+7,58,
+-5,7,
+-18,10,
+13,7,
+-3,-30,
+19,-26,
+-21,5,
+6,-9,
+-5,37,
+24,-7,
+-6,12,
+-18,-8,
+-4,5,
+-17,-14,
+9,7,
+8,5,
+-1,-11,
+18,-7,
+4,-15,
+-18,-11,
+26,-2,
+-6,18,
+3,-4,
+11,-1,
+-24,-19,
+4,-5,
+-1,14,
+-23,15,
+-4,37,
+13,-1,
+-13,10,
+11,-11,
+6,-14,
+-4,3,
+21,19,
+-12,-2,
+11,12,
+27,17,
+1,-18,
+31,0,
+6,11,
+20,1,
+2,24,
+-19,5,
+-10,-7,
+7,9,
+16,7,
+11,-26,
+12,16,
+8,9,
+-7,-15,
+-5,14,
+-8,-2,
+8,-5,
+-7,-9,
+17,-13,
+-3,0,
+4,1,
+20,1,
+1,-2,
+1,4,
+4,10,
+-6,8,
+-8,-5,
+16,1,
+-4,11,
+4,3,
+-4,-5,
+16,-9,
+-18,1,
+7,-6,
+1,-12,
+4,13,
+2,1,
+-5,-1,
+10,14,
+2,0,
+-4,1,
+-4,10,
+12,0,
+2,0,
+-1,-1,
+12,9,
+1,-5,
+-8,4,
+1,7,
+1,-9,
+-5,10,
+0,2,
+-1,0,
+3,7,
+4,1,
+0,-10,
+2,3,
+2,2,
+-1,-6,
+0,7,
+-1,-1,
+-1,-3,
+2,5,
+-3,2,
+3,-4,
+0,8,
+1,0,
+0,-5,
+0,5,
+1,0,
+0,-5,
+0,5,
+0,0,
+0,-5,
+0,5,
+1,0,
+0,-5,
+0,5,
+1,0,
+0,-8,
+3,4,
+-3,-2,
+2,-5,
+-1,3,
+-1,1,
+0,-7,
+-1,6,
+2,-2,
+2,-3,
+0,10,
+4,-1,
+3,-7,
+-1,0,
+0,-2,
+-5,-10,
+1,9,
+1,-7,
+-8,-4,
+1,5,
+12,-9,
+-1,1,
+2,0,
+12,0,
+-4,-10,
+-4,-1,
+2,0,
+10,-14,
+-5,1,
+2,-1,
+4,-13,
+1,12,
+7,6,
+-18,-1,
+16,9,
+-4,5,
+4,-3,
+-4,-11,
+16,-1,
+-8,5,
+-6,-8,
+4,-10,
+1,-4,
+1,2,
+20,-1,
+4,-1,
+-3,0,
+17,13,
+-7,9,
+8,5,
+-8,2,
+-5,-14,
+-7,15,
+8,-9,
+12,-16,
+11,26,
+16,-7,
+7,-9,
+-10,7,
+-19,-5,
+2,-24,
+20,-1,
+6,-11,
+31,0,
+1,18,
+27,-17,
+11,-12,
+-12,2,
+21,-19,
+-4,-3,
+6,14,
+11,11,
+-13,-10,
+13,1,
+-4,-37,
+-23,-15,
+-1,-14,
+4,5,
+-24,19,
+11,1,
+3,4,
+-6,-18,
+26,2,
+-18,11,
+4,15,
+18,7,
+-1,11,
+8,-5,
+9,-7,
+-17,14,
+-4,-5,
+-18,8,
+-6,-12,
+24,7,
+-5,-37,
+6,9,
+-21,-5,
+19,26,
+-3,30,
+13,-7,
+-18,-10,
+-5,-7,
+7,-58,
+-6,13,
+7,-9,
+10,-25,
+-6,7,
+53,38,
+9,27,
+0,8,
+-19,-7,
+-14,2,
+11,-43,
+-35,-7,
+-21,-3,
+-41,14,
+24,8,
+-28,20,
+20,-38,
+-6,16,
+14,-21,
+-18,61,
+-10,-46,
+-8,-14,
+-1,6,
+18,1,
+-8,14,
+22,-13,
+10,-3,
+-17,0,
+-15,-8,
+33,-60,
+15,-27,
+-28,9,
+2,16,
+-32,10,
+25,-12,
+-13,23,
+-48,20,
+-36,-17,
+-15,2,
+-7,-47,
+-22,44,
+-7,-55,
+27,-39,
+-46,49,
+-39,-24,
+-14,-30,
+32,-86,
+70,27,
+-37,34,
+-28,32,
+-37,10,
+44,34,
+18,29,
+11,25,
+51,5,
+6,4,
+-21,-25,
+-41,-2,
+-14,-37,
+-32,2,
+-14,14,
+18,22,
+-27,-37,
+22,-7,
+33,-1,
+18,63,
+80,31,
+17,-20,
+-22,-4,
+-20,-6,
+24,-70,
+-35,-20,
+-49,-52,
+42,-13,
+20,-14,
+-35,44,
+-48,-14,
+-13,-24,
+7,-36,
+-26,13,
+-28,-18,
+21,-10,
+-18,9,
+-34,26,
+14,29,
+27,38,
+1,26,
+-7,83,
+74,18,
+-5,-27,
+10,-25,
+1,-1,
+28,100,
+13,21,
+-19,25,
+5,-98,
+112,5,
+-57,64,
+-35,-1,
+49,-28,
+35,40,
+42,-20,
+68,9,
+20,-1,
+-39,-9,
+41,-60,
+90,13,
+-57,60,
+15,37,
+-16,45,
+0,-32,
+-16,-63,
+66,10,
+57,23,
+-7,21,
+-18,126,
+4,10,
+76,-18,
+-62,12,
+-81,4,
+17,-17,
+-71,50,
+19,-60,
+-67,-125,
+-55,-33,
+-14,-19,
+0,-30,
+-42,9,
+6,34,
+74,-3,
+0,17,
+-58,22,
+-63,32,
+2,29,
+-43,-94,
+5,5,
+11,-37,
+-59,74,
+-19,-31,
+111,-26,
+-1,-82,
+-13,7,
+47,-99,
+40,-6,
+-18,-60,
+-40,76,
+-62,-29,
+21,-8,
+36,-24,
+-73,-31,
+10,93,
+32,-49,
+25,-129,
+-64,-85,
+-74,46,
+35,-3,
+-11,-31,
+34,60,
+72,7,
+85,17,
+103,0,
+-2,-84,
+-15,-23,
+92,33,
+-73,121,
+-82,-68,
+-69,59,
+53,-58,
+-116,-11,
+32,19,
+0,22,
+-28,-30,
+16,21,
+-40,84,
+-114,36,
+-25,-40,
+69,-114,
+-84,-11,
+-24,26,
+-65,-13,
+50,-47,
+-12,-28,
+84,3,
+-5,69,
+-98,-30,
+12,29,
+86,-15,
+-134,-97,
+40,61,
+46,40,
+57,21,
+159,-27,
+44,-99,
+80,68,
+45,-83,
+-123,-88,
+65,34,
+-57,-118,
+-32,108,
+19,68,
+-47,-6,
+6,35,
+-144,-53,
+36,8,
+-30,2,
+27,64,
+-75,156,
+47,31,
+77,-5,
+-56,-52,
+-122,-63,
+18,-19,
+-60,73,
+62,-21,
+-18,67,
+9,-74,
+-9,41,
+48,45,
+39,75,
+23,-21,
+-7,85,
+-55,28,
+-71,20,
+-43,81,
+-13,7,
+-16,61,
+1,-46,
+-27,-68,
+5,66,
+5,23,
+6,79,
+89,91,
+-35,-70,
+-49,-1,
+-160,-17,
+31,12,
+-119,93,
+47,-18,
+39,-46,
+-16,-35,
+-38,-18,
+5,-30,
+-197,-48,
+167,-46,
+17,-98,
+-37,3,
+-53,0,
+70,-44,
+-109,-50,
+30,12,
+57,129,
+31,-25,
+-59,-19,
+27,-58,
+48,-22,
+-7,2,
+62,134,
+88,-2,
+63,68,
+-67,57,
+126,-78,
+-23,48,
+-3,-39,
+-44,-46,
+-1,47,
+-62,75,
+105,-39,
+-23,-51,
+18,88,
+89,-18,
+30,24,
+-5,-34,
+-57,-28,
+-42,-38,
+33,-141,
+15,-85,
+60,71,
+-29,58,
+-40,23,
+-23,35,
+60,34,
+-126,-140,
+6,79,
+60,-36,
+60,-54,
+88,-69,
+31,-2,
+57,-4,
+16,-133,
+-100,67,
+156,52,
+-67,-22,
+-3,28,
+-67,86,
+-86,14,
+-29,-18,
+-20,65,
+1,14,
+-4,86,
+-74,22,
+-56,98,
+-54,13,
+-45,14,
+-20,40,
+-90,-59,
+-17,0,
+-13,-28,
+-44,47,
+115,44,
+-184,74,
+-39,34,
+-46,-144,
+-10,-123,
+2,95,
+-152,189,
+31,-20,
+86,136,
+-60,-26,
+33,30,
+55,40,
+129,-9,
+68,-75,
+75,54,
+-82,8,
+-30,100,
+-16,92,
+12,-153,
+-19,-73,
+-45,-26,
+4,-13,
+74,-37,
+53,51,
+121,-60,
+102,22,
+-81,125,
+52,199,
+125,70,
+115,-9,
+37,48,
+-20,66,
+56,52,
+195,110,
+51,14,
+26,-131,
+-1,-83,
+33,87,
+10,-105,
+18,-116,
+-60,0,
+-71,-70,
+-101,-19,
+9,-36,
+103,-45,
+137,-2,
+-159,49,
+-2,-38,
+112,5,
+-13,-71,
+-13,-111,
+15,46,
+-12,109,
+91,-61,
+-176,180,
+50,70,
+-40,-65,
+51,18,
+-21,-88,
+75,-3,
+77,25,
+-115,35,
+-48,-62,
+5,83,
+218,102,
+-58,-64,
+-33,-20,
+-52,-63,
+-76,4,
+62,0,
+-50,55,
+127,2,
+-111,-34,
+82,-122,
+-34,-10,
+-82,12,
+-40,-18,
+24,35,
+167,-3,
+60,-109,
+-123,-28,
+-123,150,
+-1,14,
+-40,41,
+-94,175,
+-161,-56,
+-26,-52,
+192,47,
+67,-2,
+-16,-16,
+46,-55,
+-34,-33,
+23,-69,
+142,-189,
+22,-139,
+67,22,
+94,-121,
+178,-77,
+118,-29,
+-6,-14,
+45,22,
+85,-23,
+-86,-88,
+-5,-127,
+96,-47,
+-54,191,
+-66,141,
+-89,-42,
+-60,68,
+-61,119,
+-46,90,
+126,-28,
+40,-156,
+-68,-107,
+8,135,
+25,57,
+-1,-41,
+81,89,
+132,-108,
+-85,83,
+-32,-127,
+15,65,
+1,1,
+-6,73,
+152,102,
+-45,-83,
+-82,-50,
+-29,-184,
+-28,174,
+23,75,
+-45,-79,
+29,-73,
+8,-2,
+126,11,
+-42,-97,
+-95,164,
+-36,-60,
+-160,121,
+31,-111,
+-57,-13,
+25,94,
+165,-72,
+25,-104,
+-87,68,
+72,51,
+-30,-16,
+-12,-223,
+107,31,
+54,115,
+-53,89,
+145,39,
+101,32,
+18,-61,
+69,-12,
+-18,-13,
+155,2,
+61,-134,
+-184,-138,
+-100,-146,
+14,41,
+-120,0,
+-17,-196,
+1,-156,
+-295,24,
+-215,-38,
+125,-18,
+-76,-167,
+-1,-140,
+73,6,
+-18,-53,
+-16,27,
+241,92,
+21,-48,
+-28,-29,
+-83,154,
+-146,-17,
+60,-20,
+44,-118,
+-5,-138,
+-38,-149,
+27,88,
+-130,-54,
+37,-55,
+-164,19,
+-135,46,
+-162,163,
+156,-67,
+203,-3,
+-38,256,
+-119,-31,
+-49,105,
+-38,-109,
+-35,61,
+111,82,
+-36,16,
+26,120,
+-32,23,
+-78,54,
+-25,134,
+-153,43,
+-12,40,
+-100,2,
+-31,-9,
+-16,94,
+0,82,
+-118,75,
+-60,122,
+57,-128,
+-106,64,
+-44,-119,
+99,125,
+133,-75,
+-113,-171,
+131,23,
+182,-160,
+-167,-140,
+136,143,
+18,7,
+31,48,
+-60,-37,
+-29,90,
+-132,10,
+-39,-29,
+102,-106,
+162,27,
+149,24,
+-9,72,
+-2,68,
+114,-122,
+-144,-89,
+-24,-5,
+55,-74,
+41,10,
+-112,-83,
+-47,136,
+63,-8,
+-12,65,
+87,-74,
+-59,-10,
+8,-127,
+-63,93,
+-162,-224,
+-22,-123,
+-134,74,
+84,-95,
+81,-92,
+78,149,
+-73,-21,
+-60,-246,
+-144,174,
+133,-10,
+100,-23,
+-76,56,
+75,146,
+104,-258,
+113,86,
+57,-52,
+70,247,
+14,-7,
+58,-19,
+116,-45,
+-51,32,
+-57,-49,
+-95,254,
+19,15,
+118,252,
+-61,-38,
+-6,-77,
+-169,-83,
+-157,38,
+78,1,
+-25,-16,
+73,72,
+59,-12,
+-239,17,
+11,101,
+-44,120,
+-168,80,
+5,36,
+-83,-39,
+-66,-104,
+-153,-45,
+55,-22,
+-68,34,
+111,-73,
+-161,70,
+-17,-123,
+-4,174,
+115,127,
+99,92,
+43,-83,
+-140,-101,
+-185,36,
+-223,160,
+26,-193,
+70,163,
+-93,78,
+157,182,
+-116,-106,
+-203,114,
+63,48,
+-140,-70,
+233,209,
+83,-105,
+26,102,
+146,-107,
+-74,-335,
+199,-46,
+-17,-243,
+-239,-193,
+76,193,
+43,-33,
+81,28,
+10,-71,
+-95,141,
+32,79,
+-127,-153,
+81,-125,
+153,141,
+-34,-132,
+-56,272,
+109,44,
+118,-92,
+180,39,
+-96,261,
+-220,50,
+-8,8,
+72,54,
+-81,-72,
+-46,93,
+128,27,
+-85,132,
+145,-72,
+-121,363,
+-47,25,
+-244,-98,
+175,-42,
+114,27,
+15,-195,
+14,-279,
+-117,-93,
+-41,-77,
+17,-76,
+5,85,
+-68,21,
+143,207,
+383,11,
+0,-239,
+-68,151,
+-78,59,
+136,-61,
+69,-8,
+-109,89,
+76,138,
+-126,39,
+257,-109,
+36,-122,
+172,76,
+28,-79,
+222,-176,
+-67,-40,
+-27,194,
+-116,-25,
+250,-34,
+-20,106,
+98,62,
+-115,37,
+-141,284,
+64,-78,
+-37,-200,
+-123,47,
+28,60,
+87,-10,
+-36,91,
+192,137,
+303,60,
+89,216,
+-4,-133,
+-52,196,
+3,166,
+0,43,
+62,-2,
+-146,-173,
+-158,102,
+-227,50,
+-10,-204,
+31,-170,
+87,25,
+120,89,
+-62,-138,
+-224,197,
+-98,-48,
+-27,-144,
+89,-145,
+140,94,
+-98,-39,
+64,-218,
+-37,-88,
+-17,-170,
+9,-105,
+27,157,
+-181,-4,
+-3,-88,
+190,-235,
+158,145,
+-362,7,
+-54,-173,
+-142,-1,
+91,105,
+156,-208,
+-153,-33,
+-187,-83,
+-154,10,
+-60,-72,
+-150,-40,
+-60,85,
+-24,62,
+20,-15,
+40,8,
+38,140,
+-9,-1,
+213,-33,
+-48,222,
+-91,145,
+-18,-170,
+164,-33,
+4,115,
+269,104,
+97,-17,
+75,1,
+47,140,
+10,-142,
+-95,-171,
+-166,-196,
+-127,-50,
+176,-39,
+21,-45,
+-12,99,
+-99,-35,
+52,87,
+45,173,
+133,36,
+-16,153,
+57,-58,
+-45,-167,
+-95,-97,
+-133,-39,
+-88,-121,
+-108,-28,
+-62,377,
+-210,-105,
+4,-125,
+159,-173,
+406,8,
+-204,251,
+11,99,
+135,-17,
+56,-66,
+136,157,
+-147,33,
+253,-15,
+-44,264,
+-95,163,
+-23,-18,
+-46,87,
+33,-98,
+-104,179,
+-63,49,
+190,-83,
+190,-107,
+116,38,
+-43,96,
+42,-80,
+14,-35,
+25,-65,
+-119,13,
+23,-52,
+168,39,
+-50,90,
+104,18,
+-319,40,
+252,-132,
+-4,113,
+-7,-110,
+-103,126,
+-3,-2,
+-80,287,
+146,42,
+121,61,
+109,-10,
+-82,122,
+46,87,
+-171,-233,
+-276,-71,
+47,-164,
+121,40,
+-59,-21,
+167,-60,
+59,49,
+239,17,
+21,11,
+-52,95,
+-72,-180,
+-175,56,
+-109,-15,
+195,104,
+-41,-129,
+178,1,
+-71,-54,
+50,84,
+-55,184,
+-5,-79,
+-28,41,
+55,3,
+-35,-158,
+-131,3,
+-27,20,
+-124,-116,
+8,134,
+102,-159,
+64,-59,
+-159,151,
+10,-64,
+-100,72,
+17,92,
+345,31,
+35,78,
+168,34,
+33,-154,
+-114,111,
+-124,-42,
+129,-197,
+12,134,
+88,-124,
+153,-79,
+-15,-61,
+16,-294,
+-52,-11,
+-18,-253,
+203,-95,
+112,-29,
+33,139,
+14,170,
+80,-123,
+-90,-155,
+5,-93,
+-54,-152,
+116,-81,
+34,84,
+-143,92,
+203,-41,
+-100,156,
+-216,-212,
+-7,24,
+-91,-26,
+20,-121,
+43,-122,
+-35,-99,
+31,-13,
+175,-24,
+68,104,
+-35,5,
+-14,-41,
+165,-168,
+106,188,
+-204,-227,
+-13,99,
+-18,-95,
+-226,211,
+12,-187,
+33,-82,
+78,106,
+72,-79,
+106,-72,
+133,-110,
+-8,177,
+146,-34,
+114,-131,
+-173,-94,
+228,-66,
+-70,-152,
+69,-122,
+129,179,
+-92,90,
+156,-112,
+-27,91,
+161,191,
+95,-166,
+148,-23,
+-61,-22,
+-96,-202,
+-80,29,
+-32,-28,
+130,-150,
+-99,174,
+118,31,
+25,-123,
+110,232,
+-27,-126,
+227,64,
+111,-221,
+182,52,
+-38,-83,
+39,-170,
+110,-37,
+-273,-197,
+262,138,
+6,0,
+102,2,
+4,-260,
+-71,-31,
+42,-178,
+23,-45,
+91,-126,
+10,14,
+-93,-97,
+-76,-41,
+-144,167,
+-83,2,
+80,-145,
+-75,-82,
+-10,-16,
+-151,-82,
+-123,-80,
+-67,-6,
+120,-8,
+101,-187,
+39,-81,
+-134,64,
+23,48,
+-106,-78,
+-181,-84,
+-44,-73,
+16,-144,
+-86,-57,
+-24,-71,
+315,2,
+-43,104,
+1,-81,
+91,-68,
+-25,24,
+-167,-123,
+153,-134,
+133,19,
+-35,202,
+-161,-39,
+9,255,
+-117,8,
+45,-7,
+-25,255,
+94,-27,
+-53,164,
+169,-100,
+194,-10,
+36,148,
+-99,376,
+-16,20,
+68,-42,
+-169,-107,
+106,206,
+-153,22,
+-229,12,
+-22,302,
+-155,-258,
+-145,10,
+122,35,
+-108,205,
+-136,192,
+-33,-113,
+-13,108,
+-133,51,
+-3,41,
+14,199,
+-44,-53,
+150,-153,
+97,-128,
+31,106,
+-220,-253,
+-81,-19,
+139,104,
+98,-222,
+-98,167,
+-9,-22,
+-90,89,
+-64,234,
+-100,149,
+-290,-117,
+-265,8,
+-75,56,
+-152,260,
+-23,33,
+124,81,
+-256,139,
+-221,-161,
+72,-169,
+146,270,
+56,29,
+140,72,
+58,95,
+-176,194,
+2,73,
+21,-70,
+-47,147,
+73,145,
+-43,138,
+-57,-251,
+-107,96,
+62,-38,
+25,114,
+-136,91,
+-145,319,
+238,54,
+202,219,
+-14,-239,
+-31,-137,
+275,-235,
+212,-94,
+-112,-267,
+54,7,
+208,-1,
+-120,-45,
+179,-243,
+134,-120,
+-117,-234,
+-165,129,
+314,-142,
+60,-84,
+79,239,
+145,204,
+-198,-139,
+-10,-101,
+-54,83,
+-26,-97,
+75,243,
+-13,-36,
+187,-206,
+-130,12,
+-222,7,
+251,152,
+-157,246,
+-225,-11,
+161,-50,
+-28,22,
+72,115,
+44,17,
+410,-103,
+144,-31,
+136,-178,
+-25,48,
+-161,-15,
+9,-166,
+-217,36,
+-52,-127,
+63,-125,
+-128,171,
+110,92,
+260,-264,
+-63,-105,
+139,-30,
+22,-27,
+150,52,
+1,-3,
+-208,-134,
+-288,-128,
+138,172,
+-92,59,
+135,178,
+38,63,
+-272,-91,
+103,90,
+-116,-145,
+137,78,
+41,-36,
+-38,237,
+233,21,
+-65,-160,
+50,173,
+13,62,
+-71,8,
+-303,-1,
+-19,-38,
+159,-37,
+3,101,
+107,35,
+-176,34,
+-110,-77,
+125,-249,
+-68,-49,
+-74,-220,
+49,50,
+-4,157,
+165,68,
+2,-85,
+77,34,
+60,46,
+270,116,
+-1,31,
+40,39,
+142,91,
+-116,34,
+-88,-1,
+-121,4,
+-2,-56,
+28,-113,
+-134,-311,
+-145,37,
+-214,14,
+115,143,
+71,95,
+58,-164,
+-45,-31,
+-84,176,
+63,-24,
+-22,-146,
+86,328,
+-207,-47,
+142,99,
+-99,-270,
+138,-35,
+-199,-143,
+-23,-87,
+-117,-13,
+26,-76,
+71,167,
+-110,99,
+9,-84,
+-93,-7,
+74,-77,
+-19,-236,
+-21,104,
+-165,-67,
+104,-62,
+107,43,
+242,14,
+-101,173,
+-28,216,
+77,-137,
+-72,17,
+-102,57,
+36,-264,
+9,48,
+-186,-189,
+24,-73,
+-103,66,
+184,-156,
+-232,54,
+44,-146,
+42,-51,
+81,-10,
+197,-109,
+63,-152,
+22,-130,
+26,84,
+106,-66,
+134,154,
+-17,20,
+-43,-4,
+52,196,
+128,60,
+74,80,
+-27,-24,
+-42,102,
+106,-81,
+-50,180,
+-43,15,
+-84,173,
+-91,-225,
+171,38,
+146,145,
+-105,70,
+-39,110,
+71,-40,
+218,137,
+-179,10,
+134,16,
+-89,-103,
+10,-75,
+5,-156,
+-179,-34,
+111,-128,
+-151,-109,
+187,150,
+-49,-3,
+83,134,
+225,-116,
+83,81,
+259,49,
+-49,-118,
+2,-113,
+158,267,
+-12,-43,
+20,-75,
+-45,-28,
+92,16,
+50,-164,
+-20,-20,
+47,133,
+242,158,
+82,-47,
+98,-53,
+55,-168,
+55,-84,
+52,-15,
+-23,261,
+-41,-27,
+-42,149,
+34,60,
+191,-156,
+176,-33,
+-23,-148,
+54,-54,
+-93,172,
+-17,-30,
+197,84,
+-106,-69,
+-64,120,
+34,-54,
+41,50,
+228,223,
+-214,-101,
+-152,21,
+38,-95,
+-29,16,
+-34,174,
+-126,13,
+126,98,
+-40,-18,
+-141,21,
+-172,-121,
+204,0,
+-102,-170,
+-25,19,
+54,150,
+102,188,
+137,-128,
+-41,148,
+131,76,
+14,-147,
+40,-15,
+-88,-49,
+-47,146,
+120,38,
+39,-38,
+50,82,
+122,-8,
+-86,1,
+2,-44,
+-93,-139,
+-94,93,
+11,-2,
+-18,-119,
+-74,61,
+8,8,
+-48,-18,
+115,-87,
+-44,25,
+44,228,
+126,65,
+-49,221,
+36,-33,
+19,116,
+62,79,
+35,184,
+128,-198,
+-63,1,
+134,-3,
+21,27,
+112,-161,
+48,69,
+62,-59,
+-8,101,
+43,-30,
+64,113,
+-105,-116,
+-97,42,
+-19,-99,
+-121,-134,
+-28,15,
+97,46,
+-192,98,
+-165,56,
+84,-194,
+134,40,
+77,52,
+-74,-98,
+50,-20,
+175,-78,
+37,10,
+-257,-41,
+-116,-56,
+-46,287,
+43,33,
+63,251,
+84,-74,
+-23,-69,
+-1,-20,
+-50,100,
+-89,-57,
+16,-111,
+2,43,
+143,-30,
+33,-35,
+-21,110,
+-94,115,
+-68,154,
+-87,12,
+-173,-46,
+62,9,
+-263,-99,
+-98,26,
+79,58,
+134,65,
+-44,142,
+-32,88,
+98,224,
+33,-32,
+-117,-35,
+-114,-8,
+167,36,
+46,-4,
+171,-90,
+75,36,
+9,-164,
+-19,-32,
+51,2,
+-96,-51,
+129,25,
+-43,7,
+-49,125,
+34,4,
+169,-70,
+-105,-2,
+-55,40,
+68,26,
+25,-129,
+56,41,
+-72,171,
+15,37,
+215,157,
+-4,-34,
+-298,9,
+-94,-194,
+27,91,
+166,-51,
+27,78,
+23,35,
+-143,198,
+46,-58,
+-72,-56,
+108,35,
+-69,-184,
+140,-46,
+11,-43,
+88,-65,
+-92,-33,
+42,-30,
+31,-25,
+85,54,
+-130,175,
+-38,-45,
+-106,7,
+96,-40,
+-16,34,
+-65,35,
+-72,95,
+39,-51,
+-1,-86,
+-93,-168,
+7,-117,
+-78,-177,
+-43,225,
+-7,21,
+28,34,
+177,-46,
+-180,-135,
+130,-61,
+94,147,
+-118,111,
+153,-113,
+-39,58,
+-34,-141,
+171,44,
+7,-26,
+66,-76,
+201,84,
+5,13,
+6,73,
+-54,95,
+-86,-41,
+-114,-7,
+34,131,
+164,78,
+-75,-114,
+-31,47,
+105,-167,
+57,-2,
+-20,8,
+156,91,
+132,-8,
+69,-3,
+-161,-34,
+-52,-15,
+69,-16,
+178,8,
+50,36,
+-27,161,
+-29,-4,
+39,-121,
+-153,-16,
+31,87,
+-109,143,
+56,-44,
+4,-72,
+7,48,
+23,-144,
+36,-64,
+-34,132,
+39,-49,
+39,-115,
+17,0,
+-129,90,
+-5,-42,
+65,37,
+-22,13,
+-110,-1,
+-54,32,
+39,34,
+-81,-58,
+72,68,
+212,-155,
+-114,1,
+-114,-58,
+82,21,
+48,-49,
+91,62,
+17,153,
+-46,96,
+-18,-105,
+21,-71,
+-70,-29,
+30,206,
+77,94,
+38,2,
+-111,47,
+38,109,
+-166,-57,
+31,-26,
+50,100,
+67,80,
+33,-140,
+-6,-73,
+7,-2,
+109,-97,
+70,131,
+-69,92,
+65,52,
+-37,113,
+-102,12,
+108,39,
+-159,39,
+7,-64,
+95,107,
+94,-5,
+-45,7,
+-91,100,
+-54,-124,
+-27,192,
+161,-13,
+4,-145,
+22,57,
+-217,-61,
+-83,-80,
+-104,25,
+-16,24,
+46,-71,
+69,-59,
+-18,42,
+28,-30,
+-76,45,
+52,-147,
+70,-28,
+87,12,
+-32,91,
+-23,-56,
+-37,32,
+-42,-35,
+-20,109,
+-104,7,
+-40,77,
+-78,-76,
+0,112,
+1,-103,
+34,-24,
+181,-33,
+-74,70,
+67,54,
+-28,125,
+-32,-171,
+-143,-185,
+134,12,
+-13,116,
+110,47,
+110,-36,
+11,-28,
+-58,99,
+-26,15,
+72,-71,
+-32,-2,
+-42,43,
+23,88,
+41,-80,
+81,22,
+-55,7,
+7,46,
+5,-70,
+-79,46,
+-29,-2,
+-77,51,
+20,91,
+-51,132,
+30,-14,
+28,30,
+-84,-126,
+50,-6,
+80,125,
+147,-46,
+28,-58,
+92,135,
+43,64,
+-33,-164,
+12,-24,
+-69,-123,
+0,-11,
+32,-94,
+44,-66,
+147,-36,
+38,-35,
+-27,46,
+12,49,
+-9,79,
+-52,-67,
+-41,-22,
+50,-18,
+24,-52,
+-111,30,
+52,43,
+22,34,
+199,24,
+16,13,
+93,-153,
+-76,-100,
+-33,-5,
+51,104,
+-123,49,
+-1,-32,
+50,-7,
+-59,153,
+-18,24,
+-40,-137,
+75,-52,
+74,-3,
+-51,2,
+-56,-50,
+-32,-55,
+-58,-40,
+41,-51,
+-46,5,
+89,53,
+-37,-3,
+59,8,
+-49,76,
+-14,12,
+-60,84,
+73,-7,
+-83,60,
+-23,-8,
+4,76,
+153,13,
+-28,27,
+75,-12,
+35,30,
+140,13,
+45,52,
+70,13,
+-54,-29,
+-59,86,
+81,-75,
+-35,-27,
+-36,26,
+15,-43,
+-2,-36,
+-10,-19,
+-77,-76,
+8,37,
+39,11,
+-27,41,
+41,50,
+13,23,
+18,6,
+87,-48,
+-121,-18,
+-26,79,
+67,-14,
+-5,61,
+32,11,
+24,89,
+129,38,
+-25,-69,
+-44,40,
+-67,-4,
+9,13,
+-52,-149,
+40,19,
+0,39,
+72,-23,
+26,-90,
+40,68,
+-16,-31,
+-91,-101,
+78,-9,
+14,-25,
+55,139,
+19,-20,
+-34,-87,
+73,52,
+-58,5,
+71,26,
+22,-12,
+1,-48,
+-49,58,
+-88,55,
+4,88,
+-7,43,
+30,-40,
+102,-23,
+-8,11,
+92,-1,
+-78,39,
+-85,39,
+-24,8,
+9,93,
+16,65,
+117,52,
+-31,-14,
+-87,15,
+16,42,
+13,10,
+-105,-55,
+73,71,
+44,19,
+-10,0,
+-64,40,
+27,15,
+8,141,
+15,39,
+-37,34,
+102,51,
+-13,-43,
+-10,85,
+-48,-95,
+-58,25,
+-14,-38,
+-78,-27,
+-19,53,
+-9,-65,
+30,46,
+8,-4,
+57,94,
+-29,-49,
+76,-35,
+66,70,
+-42,53,
+1,-15,
+-38,-50,
+113,-25,
+-18,11,
+40,-2,
+-14,24,
+34,-30,
+-9,25,
+71,70,
+31,9,
+31,-23,
+14,14,
+7,30,
+59,55,
+-49,15,
+-4,-13,
+-67,56,
+-54,46,
+3,48,
+-21,29,
+-36,-39,
+-46,13,
+48,-61,
+-73,89,
+-2,-82,
+8,-33,
+-133,9,
+42,-3,
+-33,-37,
+-43,-6,
+51,5,
+7,-12,
+59,5,
+69,15,
+-45,116,
+-23,-21,
+46,-25,
+-59,-28,
+-17,20,
+-36,-16,
+-34,22,
+3,-51,
+32,2,
+27,4,
+17,7,
+-37,-13,
+-19,-62,
+-30,15,
+-63,-55,
+-1,73,
+-90,-48,
+116,10,
+4,-35,
+3,46,
+-7,-21,
+35,-4,
+-1,-14,
+-34,-5,
+1,59,
+54,-2,
+38,-33,
+-55,-77,
+-27,-11,
+-81,-16,
+-4,5,
+8,-14,
+-10,-75,
+15,17,
+26,13,
+14,4,
+11,38,
+22,31,
+40,58,
+-19,-7,
+-8,31,
+19,7,
+42,46,
+0,-18,
+-17,-24,
+-80,17,
+-12,-9,
+-44,-13,
+-8,-22,
+48,-30,
+-2,59,
+-6,17,
+5,-20,
+-13,-44,
+-6,-55,
+50,26,
+1,-6,
+-7,17,
+-3,5,
+38,49,
+44,-17,
+-52,5,
+36,57,
+-35,-82,
+4,14,
+22,-12,
+14,-10,
+51,59,
+13,-43,
+-13,-28,
+-45,-54,
+11,-11,
+4,32,
+-8,44,
+8,-33,
+-48,50,
+-43,27,
+18,14,
+30,11,
+-22,-22,
+-20,-9,
+-18,-12,
+-8,-54,
+-16,7,
+-3,-12,
+-5,1,
+-43,77,
+3,43,
+-4,47,
+19,-22,
+18,38,
+-29,-8,
+17,-27,
+37,-12,
+29,-4,
+22,14,
+-26,-51,
+-24,10,
+5,61,
+5,-45,
+34,12,
+-22,24,
+-10,-64,
+-13,15,
+23,11,
+49,-6,
+-12,48,
+-20,27,
+-5,-13,
+6,-32,
+-70,40,
+-12,4,
+-17,9,
+-1,15,
+-7,15,
+-20,-12,
+-53,25,
+-3,52,
+-52,-2,
+-11,-12,
+1,47,
+51,24,
+9,-12,
+45,-28,
+0,5,
+9,9,
+-11,-12,
+2,-22,
+-23,14,
+53,-8,
+11,1,
+-14,9,
+15,-14,
+30,-12,
+9,3,
+1,17,
+32,12,
+-1,19,
+4,10,
+-22,-34,
+-2,-22,
+32,1,
+5,6,
+5,-16,
+46,-22,
+-26,-21,
+-12,-38,
+34,-20,
+14,1,
+3,-9,
+29,-15,
+-22,7,
+7,1,
+1,13,
+-11,0,
+-8,-26,
+-9,-8,
+2,31,
+-28,-3,
+5,1,
+11,9,
+9,-11,
+8,-9,
+-1,3,
+6,-7,
+2,-17,
+25,5,
+11,-6,
+-23,-5,
+11,-7,
+-5,-16,
+18,-10,
+4,-7,
+0,-10,
+14,9,
+-20,-9,
+9,1,
+26,-2,
+13,-3,
+-8,16,
+7,11,
+-6,0,
+15,-4,
+5,12,
+4,-9,
+4,0,
+5,-3,
+13,-7,
+-3,-7,
+10,14,
+-8,3,
+-10,-7,
+5,-1,
+-3,5,
+-7,-4,
+6,5,
+2,6,
+-8,5,
+0,-6,
+-3,0,
+-9,-1,
+2,-7,
+-3,-3,
+-4,-1,
+8,-1,
+-4,-2,
+-9,6,
+4,2,
+0,-2,
+-7,-3,
+3,-2,
+-1,-3,
+-6,2,
+2,-1,
+-1,-1,
+-2,-2,
+5,-2,
+-3,0,
+-4,0,
+5,0,
+-4,1,
+-3,0,
+4,0,
+-3,0,
+-3,0,
+6,0,
+-3,0,
+-3,0,
+4,0,
+-3,0,
+-4,-1,
+5,0,
+-4,0,
+-3,0,
+5,2,
+-2,2,
+-1,1,
+2,1,
+-6,-2,
+-1,3,
+3,2,
+-7,3,
+0,2,
+4,-2,
+-9,-6,
+-4,2,
+8,1,
+-4,1,
+-3,3,
+2,7,
+-9,1,
+-3,0,
+0,6,
+-8,-5,
+2,-6,
+6,-5,
+-7,4,
+-3,-5,
+5,1,
+-10,7,
+-8,-3,
+10,-14,
+-3,7,
+13,7,
+5,3,
+4,0,
+4,9,
+5,-12,
+15,4,
+-6,0,
+7,-11,
+-8,-16,
+13,3,
+26,2,
+9,-1,
+-20,9,
+14,-9,
+0,10,
+4,7,
+18,10,
+-5,16,
+11,7,
+-23,5,
+11,6,
+25,-5,
+2,17,
+6,7,
+-1,-3,
+8,9,
+9,11,
+11,-9,
+5,-1,
+-28,3,
+2,-31,
+-9,8,
+-8,26,
+-11,0,
+1,-13,
+7,-1,
+-22,-7,
+29,15,
+3,9,
+14,-1,
+34,20,
+-12,38,
+-26,21,
+46,22,
+5,16,
+5,-6,
+32,-1,
+-2,22,
+-22,34,
+4,-10,
+-1,-19,
+32,-12,
+1,-17,
+9,-3,
+30,12,
+15,14,
+-14,-9,
+11,-1,
+53,8,
+-23,-14,
+2,22,
+-11,12,
+9,-9,
+0,-5,
+45,28,
+9,12,
+51,-24,
+1,-47,
+-11,12,
+-52,2,
+-3,-52,
+-53,-25,
+-20,12,
+-7,-15,
+-1,-15,
+-17,-9,
+-12,-4,
+-70,-40,
+6,32,
+-5,13,
+-20,-27,
+-12,-48,
+49,6,
+23,-11,
+-13,-15,
+-10,64,
+-22,-24,
+34,-12,
+5,45,
+5,-61,
+-24,-10,
+-26,51,
+22,-14,
+29,4,
+37,12,
+17,27,
+-29,8,
+18,-38,
+19,22,
+-4,-47,
+3,-43,
+-43,-77,
+-5,-1,
+-3,12,
+-16,-7,
+-8,54,
+-18,12,
+-20,9,
+-22,22,
+30,-11,
+18,-14,
+-43,-27,
+-48,-50,
+8,33,
+-8,-44,
+4,-32,
+11,11,
+-45,54,
+-13,28,
+13,43,
+51,-59,
+14,10,
+22,12,
+4,-14,
+-35,82,
+36,-57,
+-52,-5,
+44,17,
+38,-49,
+-3,-5,
+-7,-17,
+1,6,
+50,-26,
+-6,55,
+-13,44,
+5,20,
+-6,-17,
+-2,-59,
+48,30,
+-8,22,
+-44,13,
+-12,9,
+-80,-17,
+-17,24,
+0,18,
+42,-46,
+19,-7,
+-8,-31,
+-19,7,
+40,-58,
+22,-31,
+11,-38,
+14,-4,
+26,-13,
+15,-17,
+-10,75,
+8,14,
+-4,-5,
+-81,16,
+-27,11,
+-55,77,
+38,33,
+54,2,
+1,-59,
+-34,5,
+-1,14,
+35,4,
+-7,21,
+3,-46,
+4,35,
+116,-10,
+-90,48,
+-1,-73,
+-63,55,
+-30,-15,
+-19,62,
+-37,13,
+17,-7,
+27,-4,
+32,-2,
+3,51,
+-34,-22,
+-36,16,
+-17,-20,
+-59,28,
+46,25,
+-23,21,
+-45,-116,
+69,-15,
+59,-5,
+7,12,
+51,-5,
+-43,6,
+-33,37,
+42,3,
+-133,-9,
+8,33,
+-2,82,
+-73,-89,
+48,61,
+-46,-13,
+-36,39,
+-21,-29,
+3,-48,
+-54,-46,
+-67,-56,
+-4,13,
+-49,-15,
+59,-55,
+7,-30,
+14,-14,
+31,23,
+31,-9,
+71,-70,
+-9,-25,
+34,30,
+-14,-24,
+40,2,
+-18,-11,
+113,25,
+-38,50,
+1,15,
+-42,-53,
+66,-70,
+76,35,
+-29,49,
+57,-94,
+8,4,
+30,-46,
+-9,65,
+-19,-53,
+-78,27,
+-14,38,
+-58,-25,
+-48,95,
+-10,-85,
+-13,43,
+102,-51,
+-37,-34,
+15,-39,
+8,-141,
+27,-15,
+-64,-40,
+-10,0,
+44,-19,
+73,-71,
+-105,55,
+13,-10,
+16,-42,
+-87,-15,
+-31,14,
+117,-52,
+16,-65,
+9,-93,
+-24,-8,
+-85,-39,
+-78,-39,
+92,1,
+-8,-11,
+102,23,
+30,40,
+-7,-43,
+4,-88,
+-88,-55,
+-49,-58,
+1,48,
+22,12,
+71,-26,
+-58,-5,
+73,-52,
+-34,87,
+19,20,
+55,-139,
+14,25,
+78,9,
+-91,101,
+-16,31,
+40,-68,
+26,90,
+72,23,
+0,-39,
+40,-19,
+-52,149,
+9,-13,
+-67,4,
+-44,-40,
+-25,69,
+129,-38,
+24,-89,
+32,-11,
+-5,-61,
+67,14,
+-26,-79,
+-121,18,
+87,48,
+18,-6,
+13,-23,
+41,-50,
+-27,-41,
+39,-11,
+8,-37,
+-77,76,
+-10,19,
+-2,36,
+15,43,
+-36,-26,
+-35,27,
+81,75,
+-59,-86,
+-54,29,
+70,-13,
+45,-52,
+140,-13,
+35,-30,
+75,12,
+-28,-27,
+153,-13,
+4,-76,
+-23,8,
+-83,-60,
+73,7,
+-60,-84,
+-14,-12,
+-49,-76,
+59,-8,
+-37,3,
+89,-53,
+-46,-5,
+41,51,
+-58,40,
+-32,55,
+-56,50,
+-51,-2,
+74,3,
+75,52,
+-40,137,
+-18,-24,
+-59,-153,
+50,7,
+-1,32,
+-123,-49,
+51,-104,
+-33,5,
+-76,100,
+93,153,
+16,-13,
+199,-24,
+22,-34,
+52,-43,
+-111,-30,
+24,52,
+50,18,
+-41,22,
+-52,67,
+-9,-79,
+12,-49,
+-27,-46,
+38,35,
+147,36,
+44,66,
+32,94,
+0,11,
+-69,123,
+12,24,
+-33,164,
+43,-64,
+92,-135,
+28,58,
+147,46,
+80,-125,
+50,6,
+-84,126,
+28,-30,
+30,14,
+-51,-132,
+20,-91,
+-77,-51,
+-29,2,
+-79,-46,
+5,70,
+7,-46,
+-55,-7,
+81,-22,
+41,80,
+23,-88,
+-42,-43,
+-32,2,
+72,71,
+-26,-15,
+-58,-99,
+11,28,
+110,36,
+110,-47,
+-13,-116,
+134,-12,
+-143,185,
+-32,171,
+-28,-125,
+67,-54,
+-74,-70,
+181,33,
+34,24,
+1,103,
+0,-112,
+-78,76,
+-40,-77,
+-104,-7,
+-20,-109,
+-42,35,
+-37,-32,
+-23,56,
+-32,-91,
+87,-12,
+70,28,
+52,147,
+-76,-45,
+28,30,
+-18,-42,
+69,59,
+46,71,
+-16,-24,
+-104,-25,
+-83,80,
+-217,61,
+22,-57,
+4,145,
+161,13,
+-27,-192,
+-54,124,
+-91,-100,
+-45,-7,
+94,5,
+95,-107,
+7,64,
+-159,-39,
+108,-39,
+-102,-12,
+-37,-113,
+65,-52,
+-69,-92,
+70,-131,
+109,97,
+7,2,
+-6,73,
+33,140,
+67,-80,
+50,-100,
+31,26,
+-166,57,
+38,-109,
+-111,-47,
+38,-2,
+77,-94,
+30,-206,
+-70,29,
+21,71,
+-18,105,
+-46,-96,
+17,-153,
+91,-62,
+48,49,
+82,-21,
+-114,58,
+-114,-1,
+212,155,
+72,-68,
+-81,58,
+39,-34,
+-54,-32,
+-110,1,
+-22,-13,
+65,-37,
+-5,42,
+-129,-90,
+17,0,
+39,115,
+39,49,
+-34,-132,
+36,64,
+23,144,
+7,-48,
+4,72,
+56,44,
+-109,-143,
+31,-87,
+-153,16,
+39,121,
+-29,4,
+-27,-161,
+50,-36,
+178,-8,
+69,16,
+-52,15,
+-161,34,
+69,3,
+132,8,
+156,-91,
+-20,-8,
+57,2,
+105,167,
+-31,-47,
+-75,114,
+164,-78,
+34,-131,
+-114,7,
+-86,41,
+-54,-95,
+6,-73,
+5,-13,
+201,-84,
+66,76,
+7,26,
+171,-44,
+-34,141,
+-39,-58,
+153,113,
+-118,-111,
+94,-147,
+130,61,
+-180,135,
+177,46,
+28,-34,
+-7,-21,
+-43,-225,
+-78,177,
+7,117,
+-93,168,
+-1,86,
+39,51,
+-72,-95,
+-65,-35,
+-16,-34,
+96,40,
+-106,-7,
+-38,45,
+-130,-175,
+85,-54,
+31,25,
+42,30,
+-92,33,
+88,65,
+11,43,
+140,46,
+-69,184,
+108,-35,
+-72,56,
+46,58,
+-143,-198,
+23,-35,
+27,-78,
+166,51,
+27,-91,
+-94,194,
+-298,-9,
+-4,34,
+215,-157,
+15,-37,
+-72,-171,
+56,-41,
+25,129,
+68,-26,
+-55,-40,
+-105,2,
+169,70,
+34,-4,
+-49,-125,
+-43,-7,
+129,-25,
+-96,51,
+51,-2,
+-19,32,
+9,164,
+75,-36,
+171,90,
+46,4,
+167,-36,
+-114,8,
+-117,35,
+33,32,
+98,-224,
+-32,-88,
+-44,-142,
+134,-65,
+79,-58,
+-98,-26,
+-263,99,
+62,-9,
+-173,46,
+-87,-12,
+-68,-154,
+-94,-115,
+-21,-110,
+33,35,
+143,30,
+2,-43,
+16,111,
+-89,57,
+-50,-100,
+-1,20,
+-23,69,
+84,74,
+63,-251,
+43,-33,
+-46,-287,
+-116,56,
+-257,41,
+37,-10,
+175,78,
+50,20,
+-74,98,
+77,-52,
+134,-40,
+84,194,
+-165,-56,
+-192,-98,
+97,-46,
+-28,-15,
+-121,134,
+-19,99,
+-97,-42,
+-105,116,
+64,-113,
+43,30,
+-8,-101,
+62,59,
+48,-69,
+112,161,
+21,-27,
+134,3,
+-63,-1,
+128,198,
+35,-184,
+62,-79,
+19,-116,
+36,33,
+-49,-221,
+126,-65,
+44,-228,
+-44,-25,
+115,87,
+-48,18,
+8,-8,
+-74,-61,
+-18,119,
+11,2,
+-94,-93,
+-93,139,
+2,44,
+-86,-1,
+122,8,
+50,-82,
+39,38,
+120,-38,
+-47,-146,
+-88,49,
+40,15,
+14,147,
+131,-76,
+-41,-148,
+137,128,
+102,-188,
+54,-150,
+-25,-19,
+-102,170,
+204,0,
+-172,121,
+-141,-21,
+-40,18,
+126,-98,
+-126,-13,
+-34,-174,
+-29,-16,
+38,95,
+-152,-21,
+-214,101,
+228,-223,
+41,-50,
+34,54,
+-64,-120,
+-106,69,
+197,-84,
+-17,30,
+-93,-172,
+54,54,
+-23,148,
+176,33,
+191,156,
+34,-60,
+-42,-149,
+-41,27,
+-23,-261,
+52,15,
+55,84,
+55,168,
+98,53,
+82,47,
+242,-158,
+47,-133,
+-20,20,
+50,164,
+92,-16,
+-45,28,
+20,75,
+-12,43,
+158,-267,
+2,113,
+-49,118,
+259,-49,
+83,-81,
+225,116,
+83,-134,
+-49,3,
+187,-150,
+-151,109,
+111,128,
+-179,34,
+5,156,
+10,75,
+-89,103,
+134,-16,
+-179,-10,
+218,-137,
+71,40,
+-39,-110,
+-105,-70,
+146,-145,
+171,-38,
+-91,225,
+-84,-173,
+-43,-15,
+-50,-180,
+106,81,
+-42,-102,
+-27,24,
+74,-80,
+128,-60,
+52,-196,
+-43,4,
+-17,-20,
+134,-154,
+106,66,
+26,-84,
+22,130,
+63,152,
+197,109,
+81,10,
+42,51,
+44,146,
+-232,-54,
+184,156,
+-103,-66,
+24,73,
+-186,189,
+9,-48,
+36,264,
+-102,-57,
+-72,-17,
+77,137,
+-28,-216,
+-101,-173,
+242,-14,
+107,-43,
+104,62,
+-165,67,
+-21,-104,
+-19,236,
+74,77,
+-93,7,
+9,84,
+-110,-99,
+71,-167,
+26,76,
+-117,13,
+-23,87,
+-199,143,
+138,35,
+-99,270,
+142,-99,
+-207,47,
+86,-328,
+-22,146,
+63,24,
+-84,-176,
+-45,31,
+58,164,
+71,-95,
+115,-143,
+-214,-14,
+-145,-37,
+-134,311,
+28,113,
+-2,56,
+-121,-4,
+-88,1,
+-116,-34,
+142,-91,
+40,-39,
+-1,-31,
+270,-116,
+60,-46,
+77,-34,
+2,85,
+165,-68,
+-4,-157,
+49,-50,
+-74,220,
+-68,49,
+125,249,
+-110,77,
+-176,-34,
+107,-35,
+3,-101,
+159,37,
+-19,38,
+-303,1,
+-71,-8,
+13,-62,
+50,-173,
+-65,160,
+233,-21,
+-38,-237,
+41,36,
+137,-78,
+-116,145,
+103,-90,
+-272,91,
+38,-63,
+135,-178,
+-92,-59,
+138,-172,
+-288,128,
+-208,134,
+1,3,
+150,-52,
+22,27,
+139,30,
+-63,105,
+260,264,
+110,-92,
+-128,-171,
+63,125,
+-52,127,
+-217,-36,
+9,166,
+-161,15,
+-25,-48,
+136,178,
+144,31,
+410,103,
+44,-17,
+72,-115,
+-28,-22,
+161,50,
+-225,11,
+-157,-246,
+251,-152,
+-222,-7,
+-130,-12,
+187,206,
+-13,36,
+75,-243,
+-26,97,
+-54,-83,
+-10,101,
+-198,139,
+145,-204,
+79,-239,
+60,84,
+314,142,
+-165,-129,
+-117,234,
+134,120,
+179,243,
+-120,45,
+208,1,
+54,-7,
+-112,267,
+212,94,
+275,235,
+-31,137,
+-14,239,
+202,-219,
+238,-54,
+-145,-319,
+-136,-91,
+25,-114,
+62,38,
+-107,-96,
+-57,251,
+-43,-138,
+73,-145,
+-47,-147,
+21,70,
+2,-73,
+-176,-194,
+58,-95,
+140,-72,
+56,-29,
+146,-270,
+72,169,
+-221,161,
+-256,-139,
+124,-81,
+-23,-33,
+-152,-260,
+-75,-56,
+-265,-8,
+-290,117,
+-100,-149,
+-64,-234,
+-90,-89,
+-9,22,
+-98,-167,
+98,222,
+139,-104,
+-81,19,
+-220,253,
+31,-106,
+97,128,
+150,153,
+-44,53,
+14,-199,
+-3,-41,
+-133,-51,
+-13,-108,
+-33,113,
+-136,-192,
+-108,-205,
+122,-35,
+-145,-10,
+-155,258,
+-22,-302,
+-229,-12,
+-153,-22,
+106,-206,
+-169,107,
+68,42,
+-16,-20,
+-99,-376,
+36,-148,
+194,10,
+169,100,
+-53,-164,
+94,27,
+-25,-255,
+45,7,
+-117,-8,
+9,-255,
+-161,39,
+-35,-202,
+133,-19,
+153,134,
+-167,123,
+-25,-24,
+91,68,
+1,81,
+-43,-104,
+315,-2,
+-24,71,
+-86,57,
+16,144,
+-44,73,
+-181,84,
+-106,78,
+23,-48,
+-134,-64,
+39,81,
+101,187,
+120,8,
+-67,6,
+-123,80,
+-151,82,
+-10,16,
+-75,82,
+80,145,
+-83,-2,
+-144,-167,
+-76,41,
+-93,97,
+10,-14,
+91,126,
+23,45,
+42,178,
+-71,31,
+4,260,
+102,-2,
+11,0,
+314,158,
+-96,-184,
+-360,123,
+-152,-59,
+19,-161,
+-98,-130,
+34,1,
+-21,-101,
+41,-78,
+112,7,
+-105,-47,
+-10,15,
+70,167,
+82,9,
+68,123,
+-117,-41,
+-47,36,
+-59,180,
+66,-171,
+-141,-12,
+76,244,
+129,140,
+321,-187,
+24,105,
+-173,140,
+-42,4,
+-103,-33,
+158,135,
+-92,10,
+6,-109,
+-138,8,
+40,-80,
+9,146,
+178,-34,
+-251,43,
+261,-253,
+-218,-132,
+-18,-17,
+133,-42,
+-31,303,
+-73,138,
+-154,264,
+-103,-33,
+-3,91,
+-218,187,
+-42,-78,
+-248,130,
+-15,63,
+53,-112,
+21,55,
+87,45,
+130,115,
+12,-30,
+-152,42,
+80,-132,
+18,30,
+126,19,
+102,-152,
+277,13,
+-59,-143,
+-208,124,
+-228,-52,
+15,-172,
+6,122,
+178,189,
+112,57,
+52,-176,
+-152,38,
+-92,168,
+-90,-163,
+67,-119,
+99,158,
+15,150,
+-41,106,
+-366,-50,
+-172,69,
+-140,-15,
+-114,-94,
+52,135,
+35,7,
+-17,-82,
+-122,21,
+-194,171,
+21,-37,
+12,14,
+-32,-178,
+-159,220,
+-153,-51,
+87,20,
+7,-34,
+-65,77,
+-26,-34,
+3,-45,
+-153,41,
+116,-230,
+170,17,
+-49,-70,
+-175,169,
+74,-59,
+-38,-35,
+-82,44,
+93,-70,
+274,52,
+-35,112,
+114,-128,
+0,112,
+-72,36,
+125,142,
+-171,231,
+91,16,
+340,-76,
+-97,106,
+198,-86,
+174,-15,
+366,160,
+-27,-187,
+129,34,
+24,178,
+-29,15,
+188,47,
+-236,138,
+-53,98,
+237,-154,
+-44,-91,
+-58,4,
+-15,48,
+9,191,
+113,-180,
+52,-80,
+-100,-8,
+118,132,
+-96,129,
+-100,-9,
+330,137,
+118,36,
+-104,97,
+-183,-169,
+127,-231,
+-116,42,
+143,-12,
+271,-174,
+183,51,
+16,-6,
+-103,-321,
+4,-33,
+-23,210,
+-11,-53,
+-152,-23,
+-4,-16,
+-129,-29,
+238,79,
+-34,130,
+-85,-258,
+-144,-133,
+5,102,
+-108,-51,
+-97,-124,
+-32,5,
+-75,181,
+-48,294,
+178,174,
+130,186,
+-11,-11,
+-14,2,
+52,-187,
+126,-52,
+-42,20,
+166,121,
+104,-18,
+-6,-59,
+7,10,
+38,151,
+-125,48,
+-28,185,
+-35,141,
+-136,-79,
+91,87,
+-5,-60,
+-239,199,
+273,48,
+176,185,
+-29,-53,
+414,-255,
+-154,-87,
+77,37,
+-76,-91,
+-123,-132,
+-146,-122,
+43,-134,
+-204,-32,
+288,-221,
+104,30,
+122,-66,
+0,-65,
+-36,28,
+80,169,
+-84,-39,
+-125,80,
+-183,79,
+131,-16,
+38,-38,
+-118,-120,
+290,158,
+-96,-17,
+-105,184,
+135,-219,
+-61,51,
+185,-16,
+-243,-16,
+144,-30,
+105,-180,
+140,-74,
+20,-136,
+-9,95,
+0,5,
+261,88,
+128,53,
+-281,58,
+-43,-106,
+-56,143,
+84,-71,
+41,-34,
+21,74,
+64,-74,
+72,-26,
+-24,-91,
+108,198,
+195,-53,
+13,93,
+88,79,
+-80,71,
+-49,-23,
+90,51,
+-127,78,
+71,152,
+9,147,
+89,34,
+121,8,
+134,-8,
+-84,-80,
+-210,-193,
+185,89,
+92,-43,
+109,44,
+53,128,
+-54,-7,
+-158,-109,
+5,54,
+14,-40,
+-137,2,
+95,182,
+-24,46,
+33,136,
+166,-92,
+26,-1,
+-139,7,
+19,-176,
+-81,72,
+179,-46,
+237,-19,
+-10,76,
+52,247,
+7,70,
+-32,70,
+242,68,
+-132,43,
+53,70,
+-115,-2,
+68,297,
+77,-66,
+22,-68,
+-88,-17,
+-209,63,
+-95,-56,
+-3,40,
+-38,75,
+157,-8,
+-18,-35,
+-63,-139,
+-67,161,
+1,217,
+-13,-11,
+74,-49,
+-67,-13,
+113,66,
+-155,-9,
+0,-95,
+-82,-74,
+51,-232,
+85,192,
+-105,198,
+46,29,
+-76,93,
+30,41,
+-25,-80,
+40,-49,
+-12,-159,
+113,114,
+1,-148,
+-131,78,
+-95,-84,
+-18,143,
+120,-13,
+-97,-158,
+-77,-77,
+70,144,
+-51,-59,
+120,103,
+-124,23,
+65,-7,
+-70,65,
+-20,204,
+-92,-58,
+87,42,
+67,-128,
+169,170,
+-172,-46,
+120,-8,
+-59,176,
+12,9,
+-94,4,
+-15,64,
+-157,-69,
+-162,145,
+36,-85,
+137,29,
+-98,71,
+104,182,
+105,146,
+85,113,
+29,98,
+3,154,
+-35,203,
+82,49,
+-5,31,
+-39,-94,
+-32,126,
+-85,-178,
+-57,-206,
+-329,53,
+-32,-71,
+-67,-15,
+94,84,
+96,-6,
+-106,100,
+-18,115,
+-147,54,
+32,-72,
+-10,-150,
+142,103,
+-108,-71,
+-81,66,
+-26,-43,
+-126,24,
+-219,99,
+82,9,
+3,45,
+110,71,
+74,94,
+118,109,
+162,-137,
+-170,30,
+-25,0,
+-161,-91,
+-144,-194,
+121,189,
+-166,184,
+131,-92,
+-38,-31,
+9,-37,
+15,11,
+-14,-135,
+-6,-81,
+-24,-61,
+-6,-151,
+126,185,
+4,-193,
+110,-56,
+15,43,
+95,11,
+83,104,
+38,-106,
+191,-29,
+173,35,
+28,-12,
+143,-109,
+-19,142,
+23,161,
+73,-106,
+7,-124,
+-7,72,
+114,194,
+-45,64,
+136,-112,
+-16,-156,
+-31,-69,
+145,-57,
+12,-128,
+-88,-115,
+92,-114,
+-83,75,
+92,-60,
+35,-57,
+-45,130,
+-41,-48,
+-133,-59,
+-65,-51,
+-32,13,
+-55,-133,
+-91,5,
+-16,-66,
+-2,62,
+208,44,
+-2,-154,
+-14,-77,
+-43,194,
+-146,-51,
+-141,-75,
+226,79,
+-88,162,
+10,-14,
+-43,223,
+45,-12,
+-35,-4,
+-46,-69,
+45,22,
+-165,-15,
+-104,186,
+-52,41,
+99,-48,
+29,-69,
+-68,156,
+66,-1,
+-3,-219,
+10,-101,
+104,-100,
+-10,-44,
+-29,-106,
+-189,54,
+226,-21,
+115,23,
+-93,49,
+-58,-25,
+-64,-136,
+-104,-64,
+-157,257,
+-173,-109,
+27,50,
+38,4,
+31,-30,
+8,21,
+-70,209,
+-5,-38,
+-96,-71,
+293,12,
+128,55,
+78,15,
+-106,57,
+168,125,
+50,9,
+-131,-38,
+-60,168,
+-131,9,
+-66,169,
+91,145,
+31,40,
+-46,95,
+55,37,
+46,-45,
+-29,-165,
+65,181,
+-146,99,
+34,-121,
+-1,17,
+235,-49,
+14,-72,
+-111,88,
+5,-43,
+-4,2,
+-207,7,
+-2,-53,
+30,-13,
+7,-58,
+-48,-90,
+-109,113,
+-165,76,
+119,65,
+-96,-59,
+69,-63,
+-147,64,
+13,75,
+232,-249,
+76,9,
+139,-183,
+-58,102,
+-67,-25,
+117,-7,
+85,-86,
+83,186,
+-198,38,
+-11,124,
+-35,66,
+-62,-128,
+129,163,
+57,39,
+1,36,
+-63,47,
+55,177,
+-164,-29,
+-76,-175,
+6,-188,
+73,152,
+-39,41,
+-313,-202,
+40,-13,
+176,-56,
+36,-3,
+-19,-39,
+187,117,
+-48,36,
+57,18,
+-14,-45,
+65,-97,
+188,-31,
+3,-97,
+59,219,
+-103,43,
+66,-65,
+-42,5,
+44,23,
+-260,209,
+12,94,
+-78,60,
+83,-58,
+2,-146,
+-116,186,
+47,-129,
+174,-27,
+-40,-104,
+19,-98,
+-58,30,
+-92,84,
+47,-120,
+-24,-72,
+-66,-58,
+92,-12,
+-40,-59,
+-24,14,
+8,125,
+-86,163,
+-26,-168,
+79,46,
+89,-56,
+-27,16,
+-159,51,
+120,19,
+38,-23,
+40,35,
+155,55,
+82,-44,
+104,-90,
+30,-109,
+68,-50,
+-45,23,
+95,85,
+107,45,
+-51,-110,
+67,281,
+53,104,
+-148,30,
+59,-99,
+120,26,
+30,-54,
+-33,37,
+58,79,
+-88,-63,
+94,-62,
+27,-161,
+74,-110,
+-155,9,
+-39,-100,
+83,-66,
+-20,143,
+14,77,
+2,-13,
+-20,-165,
+-119,109,
+3,19,
+-139,4,
+-145,58,
+4,-31,
+92,9,
+0,11,
+-112,38,
+117,28,
+68,-150,
+42,-65,
+-21,-21,
+-4,17,
+-91,-62,
+121,22,
+26,52,
+103,-146,
+60,118,
+84,9,
+-81,-11,
+16,-133,
+71,-41,
+-1,-16,
+-123,50,
+4,58,
+64,106,
+-14,-92,
+-91,-38,
+19,-23,
+-77,-53,
+0,-44,
+-55,-52,
+-1,-105,
+23,29,
+33,30,
+-64,-29,
+-9,96,
+37,-82,
+-184,8,
+-58,40,
+3,9,
+-112,49,
+-83,7,
+-46,-22,
+-6,127,
+148,-40,
+92,25,
+-153,48,
+-33,-3,
+132,13,
+30,64,
+-17,-17,
+-19,107,
+5,94,
+-23,85,
+-3,88,
+-53,21,
+119,43,
+-1,76,
+-123,-15,
+45,84,
+-68,19,
+41,35,
+-102,-27,
+-57,-19,
+-39,24,
+-62,-17,
+51,-10,
+-86,61,
+-19,-72,
+119,86,
+75,-91,
+-56,-3,
+-121,-79,
+52,-129,
+-31,48,
+-24,-26,
+-4,124,
+117,80,
+25,-28,
+-6,112,
+69,-35,
+8,-90,
+16,-87,
+32,-12,
+-58,-68,
+64,-19,
+-31,16,
+-19,77,
+-89,-71,
+47,5,
+91,-97,
+0,6,
+65,23,
+10,39,
+-27,29,
+29,-127,
+-51,-65,
+-79,-142,
+-67,21,
+-28,-37,
+69,-48,
+-80,45,
+76,1,
+109,3,
+72,2,
+65,10,
+64,37,
+76,98,
+95,-9,
+67,19,
+-42,20,
+40,44,
+-27,-88,
+64,-90,
+-31,-20,
+9,-8,
+56,-70,
+18,73,
+41,-58,
+5,33,
+-22,-22,
+92,119,
+-127,-6,
+61,-18,
+80,-40,
+25,16,
+-6,-52,
+54,49,
+-25,-55,
+54,68,
+13,-16,
+-14,-35,
+-84,-13,
+6,3,
+27,46,
+43,-82,
+-79,-61,
+60,26,
+-72,16,
+25,32,
+-87,-9,
+-23,14,
+43,-24,
+5,25,
+41,-56,
+106,24,
+35,-4,
+-26,22,
+-118,9,
+8,-81,
+-14,24,
+5,-45,
+37,53,
+-62,-25,
+14,22,
+107,-1,
+42,-36,
+-18,-41,
+-61,35,
+26,5,
+28,44,
+1,-31,
+3,-52,
+0,-60,
+19,-68,
+-65,17,
+28,51,
+46,-6,
+94,8,
+-46,-67,
+50,66,
+47,-28,
+-19,82,
+78,-15,
+80,-39,
+37,87,
+-17,48,
+18,46,
+-41,60,
+8,-90,
+-52,-15,
+-2,35,
+23,19,
+-38,29,
+104,35,
+30,-45,
+-4,14,
+20,-14,
+-17,-22,
+-24,-30,
+0,-35,
+41,18,
+12,34,
+17,80,
+-22,0,
+-14,-14,
+-74,-62,
+12,40,
+10,79,
+0,3,
+60,29,
+63,-11,
+22,14,
+15,-37,
+10,25,
+-3,-15,
+62,-36,
+0,85,
+24,28,
+12,25,
+43,39,
+-86,-12,
+28,21,
+11,38,
+-36,-7,
+25,8,
+-6,49,
+11,-100,
+-17,-35,
+49,27,
+2,69,
+30,34,
+1,-29,
+-9,19,
+-71,37,
+-12,63,
+-47,-16,
+2,24,
+30,-70,
+-56,104,
+22,-31,
+-32,-37,
+72,45,
+-11,-16,
+12,48,
+-50,-10,
+12,0,
+36,9,
+-10,-90,
+31,-7,
+21,22,
+20,-1,
+-22,-20,
+-6,39,
+-31,82,
+-6,-20,
+-68,63,
+-7,-72,
+-35,-28,
+-60,-9,
+-7,-28,
+9,-49,
+-40,101,
+-58,-38,
+-15,83,
+28,61,
+61,-8,
+-6,23,
+49,-36,
+-35,-5,
+19,19,
+26,-42,
+35,-21,
+46,8,
+9,-25,
+20,8,
+-17,13,
+-9,18,
+26,26,
+27,31,
+-45,-13,
+-18,41,
+-22,-4,
+16,-20,
+25,51,
+73,37,
+46,-14,
+58,-15,
+9,-7,
+-53,-31,
+7,-15,
+23,-10,
+-50,-20,
+-36,-44,
+12,30,
+25,4,
+-8,28,
+4,-51,
+-23,-3,
+9,-15,
+36,-3,
+-11,-5,
+-58,-6,
+-14,-18,
+13,52,
+-30,70,
+-12,-2,
+11,18,
+-43,-9,
+-42,-14,
+14,-43,
+31,52,
+-8,35,
+34,4,
+5,-17,
+26,-8,
+21,22,
+-51,-14,
+1,15,
+10,31,
+25,-22,
+-3,-25,
+-20,34,
+-23,5,
+9,-7,
+40,-3,
+-9,-26,
+16,38,
+33,4,
+-14,-13,
+0,45,
+-3,22,
+10,66,
+-3,-5,
+-9,31,
+10,16,
+0,29,
+25,-2,
+38,-31,
+11,31,
+-12,-5,
+21,-16,
+-13,44,
+11,10,
+10,20,
+-20,-1,
+5,-11,
+7,-1,
+-11,-3,
+32,-26,
+-32,29,
+-11,22,
+-8,-22,
+2,-13,
+-8,16,
+6,-22,
+10,2,
+-21,18,
+23,-21,
+-2,-31,
+8,7,
+-27,2,
+17,-14,
+10,0,
+5,-31,
+-8,-7,
+2,24,
+7,-13,
+4,-9,
+-13,-4,
+6,-41,
+10,-25,
+-9,-14,
+32,6,
+16,7,
+-22,9,
+-6,-6,
+11,-21,
+3,-1,
+-12,-6,
+-1,16,
+26,17,
+4,5,
+-10,-10,
+-6,-6,
+2,-32,
+8,0,
+-24,23,
+5,15,
+-2,-4,
+-8,21,
+5,-8,
+-9,-8,
+3,5,
+6,7,
+10,3,
+-8,9,
+3,0,
+2,-8,
+0,-1,
+11,-22,
+-1,-1,
+8,-6,
+9,-6,
+-1,-9,
+26,-7,
+6,3,
+4,2,
+-4,-1,
+-7,0,
+-10,-12,
+-7,18,
+12,-14,
+-5,9,
+4,5,
+-2,-9,
+-6,-6,
+1,12,
+6,-10,
+-2,4,
+-2,-1,
+10,-11,
+-1,2,
+-3,13,
+4,4,
+8,-3,
+-2,6,
+-1,-7,
+0,1,
+4,3,
+0,-7,
+-2,0,
+5,9,
+1,-4,
+0,-2,
+1,6,
+-1,-6,
+-2,1,
+0,6,
+0,-7,
+-1,0,
+-1,5,
+0,-6,
+-1,-1,
+0,5,
+0,-5,
+0,0,
+0,5,
+0,-5,
+-1,1,
+0,6,
+-1,-5,
+-1,0,
+0,7,
+0,-6,
+-2,-1,
+-1,6,
+1,-6,
+0,2,
+1,4,
+5,-9,
+-2,0,
+0,7,
+4,-3,
+0,-1,
+-1,7,
+-2,-6,
+8,3,
+4,-4,
+-3,-13,
+-1,-2,
+10,11,
+-2,1,
+-2,-4,
+6,10,
+1,-12,
+-6,6,
+-2,9,
+4,-5,
+-5,-9,
+12,14,
+-7,-18,
+-10,12,
+-7,0,
+-4,1,
+4,-2,
+6,-3,
+26,7,
+-1,9,
+9,6,
+8,6,
+-1,1,
+11,22,
+0,1,
+2,8,
+3,0,
+-8,-9,
+10,-3,
+6,-7,
+3,-5,
+-9,8,
+5,8,
+-8,-21,
+-2,4,
+5,-15,
+-24,-23,
+8,0,
+2,32,
+-6,6,
+-10,10,
+4,-5,
+26,-17,
+-1,-16,
+-12,6,
+3,1,
+11,21,
+-6,6,
+-22,-9,
+16,-7,
+32,-6,
+-9,14,
+10,25,
+6,41,
+-13,4,
+4,9,
+7,13,
+2,-24,
+-8,7,
+5,31,
+10,0,
+17,14,
+-27,-2,
+8,-7,
+-2,31,
+23,21,
+-21,-18,
+10,-2,
+6,22,
+-8,-16,
+2,13,
+-8,22,
+-11,-22,
+-32,-29,
+32,26,
+-11,3,
+7,1,
+5,11,
+-20,1,
+10,-20,
+11,-10,
+-13,-44,
+21,16,
+-12,5,
+11,-31,
+38,31,
+25,2,
+0,-29,
+10,-16,
+-9,-31,
+-3,5,
+10,-66,
+-3,-22,
+0,-45,
+-14,13,
+33,-4,
+16,-38,
+-9,26,
+40,3,
+9,7,
+-23,-5,
+-20,-34,
+-3,25,
+25,22,
+10,-31,
+1,-15,
+-51,14,
+21,-22,
+26,8,
+5,17,
+34,-4,
+-8,-35,
+31,-52,
+14,43,
+-42,14,
+-43,9,
+11,-18,
+-12,2,
+-30,-70,
+13,-52,
+-14,18,
+-58,6,
+-11,5,
+36,3,
+9,15,
+-23,3,
+4,51,
+-8,-28,
+25,-4,
+12,-30,
+-36,44,
+-50,20,
+23,10,
+7,15,
+-53,31,
+9,7,
+58,15,
+46,14,
+73,-37,
+25,-51,
+16,20,
+-22,4,
+-18,-41,
+-45,13,
+27,-31,
+26,-26,
+-9,-18,
+-17,-13,
+20,-8,
+9,25,
+46,-8,
+35,21,
+26,42,
+19,-19,
+-35,5,
+49,36,
+-6,-23,
+61,8,
+28,-61,
+-15,-83,
+-58,38,
+-40,-101,
+9,49,
+-7,28,
+-60,9,
+-35,28,
+-7,72,
+-68,-63,
+-6,20,
+-31,-82,
+-6,-39,
+-22,20,
+20,1,
+21,-22,
+31,7,
+-10,90,
+36,-9,
+12,0,
+-50,10,
+12,-48,
+-11,16,
+72,-45,
+-32,37,
+22,31,
+-56,-104,
+30,70,
+2,-24,
+-47,16,
+-12,-63,
+-71,-37,
+-9,-19,
+1,29,
+30,-34,
+2,-69,
+49,-27,
+-17,35,
+11,100,
+-6,-49,
+25,-8,
+-36,7,
+11,-38,
+28,-21,
+-86,12,
+43,-39,
+12,-25,
+24,-28,
+0,-85,
+62,36,
+-3,15,
+10,-25,
+15,37,
+22,-14,
+63,11,
+60,-29,
+0,-3,
+10,-79,
+12,-40,
+-74,62,
+-14,14,
+-22,0,
+17,-80,
+12,-34,
+41,-18,
+0,35,
+-24,30,
+-17,22,
+20,14,
+-4,-14,
+30,45,
+104,-35,
+-38,-29,
+23,-19,
+-2,-35,
+-52,15,
+8,90,
+-41,-60,
+18,-46,
+-17,-48,
+37,-87,
+80,39,
+78,15,
+-19,-82,
+47,28,
+50,-66,
+-46,67,
+94,-8,
+46,6,
+28,-51,
+-65,-17,
+19,68,
+0,60,
+3,52,
+1,31,
+28,-44,
+26,-5,
+-61,-35,
+-18,41,
+42,36,
+107,1,
+14,-22,
+-62,25,
+37,-53,
+5,45,
+-14,-24,
+8,81,
+-118,-9,
+-26,-22,
+35,4,
+106,-24,
+41,56,
+5,-25,
+43,24,
+-23,-14,
+-87,9,
+25,-32,
+-72,-16,
+60,-26,
+-79,61,
+43,82,
+27,-46,
+6,-3,
+-84,13,
+-14,35,
+13,16,
+54,-68,
+-25,55,
+54,-49,
+-6,52,
+25,-16,
+80,40,
+61,18,
+-127,6,
+92,-119,
+-22,22,
+5,-33,
+41,58,
+18,-73,
+56,70,
+9,8,
+-31,20,
+64,90,
+-27,88,
+40,-44,
+-42,-20,
+67,-19,
+95,9,
+76,-98,
+64,-37,
+65,-10,
+72,-2,
+109,-3,
+76,-1,
+-80,-45,
+69,48,
+-28,37,
+-67,-21,
+-79,142,
+-51,65,
+29,127,
+-27,-29,
+10,-39,
+65,-23,
+0,-6,
+91,97,
+47,-5,
+-89,71,
+-19,-77,
+-31,-16,
+64,19,
+-58,68,
+32,12,
+16,87,
+8,90,
+69,35,
+-6,-112,
+25,28,
+117,-80,
+-4,-124,
+-24,26,
+-31,-48,
+52,129,
+-121,79,
+-56,3,
+75,91,
+119,-86,
+-19,72,
+-86,-61,
+51,10,
+-62,17,
+-39,-24,
+-57,19,
+-102,27,
+41,-35,
+-68,-19,
+45,-84,
+-123,15,
+-1,-76,
+119,-43,
+-53,-21,
+-3,-88,
+-23,-85,
+5,-94,
+-19,-107,
+-17,17,
+30,-64,
+132,-13,
+-33,3,
+-153,-48,
+92,-25,
+148,40,
+-6,-127,
+-46,22,
+-83,-7,
+-112,-49,
+3,-9,
+-58,-40,
+-184,-8,
+37,82,
+-9,-96,
+-64,29,
+33,-30,
+23,-29,
+-1,105,
+-55,52,
+0,44,
+-77,53,
+19,23,
+-91,38,
+-14,92,
+64,-106,
+4,-58,
+-123,-50,
+-1,16,
+71,41,
+16,133,
+-81,11,
+84,-9,
+60,-118,
+103,146,
+26,-52,
+121,-22,
+-91,62,
+-4,-17,
+-21,21,
+42,65,
+68,150,
+117,-28,
+-112,-38,
+0,-11,
+92,-9,
+4,31,
+-145,-58,
+-139,-4,
+3,-19,
+-119,-109,
+-20,165,
+2,13,
+14,-77,
+-20,-143,
+83,66,
+-39,100,
+-155,-9,
+74,110,
+27,161,
+94,62,
+-88,63,
+58,-79,
+-33,-37,
+30,54,
+120,-26,
+59,99,
+-148,-30,
+53,-104,
+67,-281,
+-51,110,
+107,-45,
+95,-85,
+-45,-23,
+68,50,
+30,109,
+104,90,
+82,44,
+155,-55,
+40,-35,
+38,23,
+120,-19,
+-159,-51,
+-27,-16,
+89,56,
+79,-46,
+-26,168,
+-86,-163,
+8,-125,
+-24,-14,
+-40,59,
+92,12,
+-66,58,
+-24,72,
+47,120,
+-92,-84,
+-58,-30,
+19,98,
+-40,104,
+174,27,
+47,129,
+-116,-186,
+2,146,
+83,58,
+-78,-60,
+12,-94,
+-260,-209,
+44,-23,
+-42,-5,
+66,65,
+-103,-43,
+59,-219,
+3,97,
+188,31,
+65,97,
+-14,45,
+57,-18,
+-48,-36,
+187,-117,
+-19,39,
+36,3,
+176,56,
+40,13,
+-313,202,
+-39,-41,
+73,-152,
+6,188,
+-76,175,
+-164,29,
+55,-177,
+-63,-47,
+1,-36,
+57,-39,
+129,-163,
+-62,128,
+-35,-66,
+-11,-124,
+-198,-38,
+83,-186,
+85,86,
+117,7,
+-67,25,
+-58,-102,
+139,183,
+76,-9,
+232,249,
+13,-75,
+-147,-64,
+69,63,
+-96,59,
+119,-65,
+-165,-76,
+-109,-113,
+-48,90,
+7,58,
+30,13,
+-2,53,
+-207,-7,
+-4,-2,
+5,43,
+-111,-88,
+14,72,
+235,49,
+-1,-17,
+34,121,
+-146,-99,
+65,-181,
+-29,165,
+46,45,
+55,-37,
+-46,-95,
+31,-40,
+91,-145,
+-66,-169,
+-131,-9,
+-60,-168,
+-131,38,
+50,-9,
+168,-125,
+-106,-57,
+78,-15,
+128,-55,
+293,-12,
+-96,71,
+-5,38,
+-70,-209,
+8,-21,
+31,30,
+38,-4,
+27,-50,
+-173,109,
+-157,-257,
+-104,64,
+-64,136,
+-58,25,
+-93,-49,
+115,-23,
+226,21,
+-189,-54,
+-29,106,
+-10,44,
+104,100,
+10,101,
+-3,219,
+66,1,
+-68,-156,
+29,69,
+99,48,
+-52,-41,
+-104,-186,
+-165,15,
+45,-22,
+-46,69,
+-35,4,
+45,12,
+-43,-223,
+10,14,
+-88,-162,
+226,-79,
+-141,75,
+-146,51,
+-43,-194,
+-14,77,
+-2,154,
+208,-44,
+-2,-62,
+-16,66,
+-91,-5,
+-55,133,
+-32,-13,
+-65,51,
+-133,59,
+-41,48,
+-45,-130,
+35,57,
+92,60,
+-83,-75,
+92,114,
+-88,115,
+12,128,
+145,57,
+-31,69,
+-16,156,
+136,112,
+-45,-64,
+114,-194,
+-7,-72,
+7,124,
+73,106,
+23,-161,
+-19,-142,
+143,109,
+28,12,
+173,-35,
+191,29,
+38,106,
+83,-104,
+95,-11,
+15,-43,
+110,56,
+4,193,
+126,-185,
+-6,151,
+-24,61,
+-6,81,
+-14,135,
+15,-11,
+9,37,
+-38,31,
+131,92,
+-166,-184,
+121,-189,
+-144,194,
+-161,91,
+-25,0,
+-170,-30,
+162,137,
+118,-109,
+74,-94,
+110,-71,
+3,-45,
+82,-9,
+-219,-99,
+-126,-24,
+-26,43,
+-81,-66,
+-108,71,
+142,-103,
+-10,150,
+32,72,
+-147,-54,
+-18,-115,
+-106,-100,
+96,6,
+94,-84,
+-67,15,
+-32,71,
+-329,-53,
+-57,206,
+-85,178,
+-32,-126,
+-39,94,
+-5,-31,
+82,-49,
+-35,-203,
+3,-154,
+29,-98,
+85,-113,
+105,-146,
+104,-182,
+-98,-71,
+137,-29,
+36,85,
+-162,-145,
+-157,69,
+-15,-64,
+-94,-4,
+12,-9,
+-59,-176,
+120,8,
+-172,46,
+169,-170,
+67,128,
+87,-42,
+-92,58,
+-20,-204,
+-70,-65,
+65,7,
+-124,-23,
+120,-103,
+-51,59,
+70,-144,
+-77,77,
+-97,158,
+120,13,
+-18,-143,
+-95,84,
+-131,-78,
+1,148,
+113,-114,
+-12,159,
+40,49,
+-25,80,
+30,-41,
+-76,-93,
+46,-29,
+-105,-198,
+85,-192,
+51,232,
+-82,74,
+0,95,
+-155,9,
+113,-66,
+-67,13,
+74,49,
+-13,11,
+1,-217,
+-67,-161,
+-63,139,
+-18,35,
+157,8,
+-38,-75,
+-3,-40,
+-95,56,
+-209,-63,
+-88,17,
+22,68,
+77,66,
+68,-297,
+-115,2,
+53,-70,
+-132,-43,
+242,-68,
+-32,-70,
+7,-70,
+52,-247,
+-10,-76,
+237,19,
+179,46,
+-81,-72,
+19,176,
+-139,-7,
+26,1,
+166,92,
+33,-136,
+-24,-46,
+95,-182,
+-137,-2,
+14,40,
+5,-54,
+-158,109,
+-54,7,
+53,-128,
+109,-44,
+92,43,
+185,-89,
+-210,193,
+-84,80,
+134,8,
+121,-8,
+89,-34,
+9,-147,
+71,-152,
+-127,-78,
+90,-51,
+-49,23,
+-80,-71,
+88,-79,
+13,-93,
+195,53,
+108,-198,
+-24,91,
+72,26,
+64,74,
+21,-74,
+41,34,
+84,71,
+-56,-143,
+-43,106,
+-281,-58,
+128,-53,
+261,-88,
+0,-5,
+-9,-95,
+20,136,
+140,74,
+105,180,
+144,30,
+-243,16,
+185,16,
+-61,-51,
+135,219,
+-105,-184,
+-96,17,
+290,-158,
+-118,120,
+38,38,
+131,16,
+-183,-79,
+-125,-80,
+-84,39,
+80,-169,
+-36,-28,
+0,65,
+122,66,
+104,-30,
+288,221,
+-204,32,
+43,134,
+-146,122,
+-123,132,
+-76,91,
+77,-37,
+-154,87,
+414,255,
+-29,53,
+176,-185,
+273,-48,
+-239,-199,
+-5,60,
+91,-87,
+-136,79,
+-35,-141,
+-28,-185,
+-125,-48,
+38,-151,
+7,-10,
+-6,59,
+104,18,
+166,-121,
+-42,-20,
+126,52,
+52,187,
+-14,-2,
+-11,11,
+130,-186,
+178,-174,
+-48,-294,
+-75,-181,
+-32,-5,
+-97,124,
+-108,51,
+5,-102,
+-144,133,
+-85,258,
+-34,-130,
+238,-79,
+-129,29,
+-4,16,
+-152,23,
+-11,53,
+-23,-210,
+4,33,
+-103,321,
+16,6,
+183,-51,
+271,174,
+143,12,
+-116,-42,
+127,231,
+-183,169,
+-104,-97,
+118,-36,
+330,-137,
+-100,9,
+-96,-129,
+118,-132,
+-100,8,
+52,80,
+113,180,
+9,-191,
+-15,-48,
+-58,-4,
+-44,91,
+237,154,
+-53,-98,
+-236,-138,
+188,-47,
+-29,-15,
+24,-178,
+129,-34,
+-27,187,
+366,-160,
+174,15,
+198,86,
+-97,-106,
+340,76,
+91,-16,
+-171,-231,
+125,-142,
+-72,-36,
+0,-112,
+114,128,
+-35,-112,
+274,-52,
+93,70,
+-82,-44,
+-38,35,
+74,59,
+-175,-169,
+-49,70,
+170,-17,
+116,230,
+-153,-41,
+3,45,
+-26,34,
+-65,-77,
+7,34,
+87,-20,
+-153,51,
+-159,-220,
+-32,178,
+12,-14,
+21,37,
+-194,-171,
+-122,-21,
+-17,82,
+35,-7,
+52,-135,
+-114,94,
+-140,15,
+-172,-69,
+-366,50,
+-41,-106,
+15,-150,
+99,-158,
+67,119,
+-90,163,
+-92,-168,
+-152,-38,
+52,176,
+112,-57,
+178,-189,
+6,-122,
+15,172,
+-228,52,
+-208,-124,
+-59,143,
+277,-13,
+102,152,
+126,-19,
+18,-30,
+80,132,
+-152,-42,
+12,30,
+130,-115,
+87,-45,
+21,-55,
+53,112,
+-15,-63,
+-248,-130,
+-42,78,
+-218,-187,
+-3,-91,
+-103,33,
+-154,-264,
+-73,-138,
+-31,-303,
+133,42,
+-18,17,
+-218,132,
+261,253,
+-251,-43,
+178,34,
+9,-146,
+40,80,
+-138,-8,
+6,109,
+-92,-10,
+158,-135,
+-103,33,
+-42,-4,
+-173,-140,
+24,-105,
+321,187,
+129,-140,
+76,-244,
+-141,12,
+66,171,
+-59,-180,
+-47,-36,
+-117,41,
+68,-123,
+82,-9,
+70,-167,
+-10,-15,
+-105,47,
+112,-7,
+41,78,
+-21,101,
+34,-1,
+-98,130,
+19,161,
+-152,59,
+-360,-123,
+-96,184,
+314,-158,
+0,0,
+-72,177,
+-110,96,
+-33,-151,
+-40,-151,
+86,-20,
+52,107,
+-86,33,
+89,152,
+-21,26,
+-71,-46,
+-24,-18,
+-18,-79,
+19,5,
+-156,-74,
+66,-186,
+333,253,
+-212,-42,
+-57,-63,
+17,93,
+19,55,
+159,237,
+-158,42,
+25,142,
+-147,162,
+167,55,
+256,-26,
+-45,-42,
+73,-213,
+79,-118,
+-254,-98,
+-117,344,
+-65,163,
+-67,-119,
+-212,30,
+-191,57,
+10,9,
+159,72,
+-192,-21,
+-104,57,
+-133,29,
+-70,275,
+57,-87,
+91,-41,
+130,38,
+58,246,
+-32,11,
+143,8,
+-19,-6,
+23,143,
+104,165,
+48,-13,
+146,34,
+-229,100,
+-56,-91,
+-164,-157,
+190,37,
+-180,132,
+108,18,
+-77,50,
+180,-1,
+334,-43,
+-9,-150,
+90,154,
+55,-35,
+-14,-98,
+97,112,
+31,-164,
+-45,-86,
+101,154,
+-153,-36,
+-71,-75,
+-175,20,
+111,-222,
+39,172,
+-50,65,
+-78,-22,
+-104,47,
+-142,-17,
+79,-49,
+-69,-227,
+45,52,
+19,-55,
+300,219,
+210,-338,
+274,147,
+14,68,
+-65,34,
+-153,122,
+-261,-119,
+136,-168,
+-90,61,
+-36,-43,
+203,-69,
+-167,-39,
+-69,152,
+66,93,
+-79,135,
+-78,-11,
+3,27,
+-8,77,
+38,-170,
+-70,-22,
+-120,9,
+-106,155,
+-293,-84,
+-148,129,
+66,-15,
+81,183,
+-152,-3,
+9,-53,
+33,6,
+-172,31,
+-83,221,
+31,-98,
+222,-171,
+198,106,
+-13,243,
+23,-95,
+121,199,
+66,2,
+61,-108,
+-40,-60,
+141,187,
+-90,-16,
+318,211,
+-128,42,
+159,89,
+-98,-90,
+106,-156,
+-111,29,
+15,-27,
+-21,103,
+142,-36,
+71,-61,
+-54,-44,
+206,93,
+251,82,
+-132,25,
+89,9,
+-98,-14,
+50,-32,
+129,23,
+218,179,
+-106,20,
+64,-132,
+117,-184,
+-57,58,
+-7,94,
+48,-88,
+-108,194,
+176,40,
+-178,104,
+108,-22,
+-37,174,
+-113,67,
+-48,-36,
+70,-176,
+85,-18,
+17,41,
+19,-117,
+-228,120,
+90,-75,
+131,91,
+9,94,
+112,-120,
+-2,57,
+-11,-51,
+79,61,
+31,50,
+100,39,
+-314,29,
+0,55,
+-34,-150,
+-116,65,
+-12,23,
+72,232,
+-56,12,
+-48,33,
+-146,107,
+22,-8,
+28,95,
+297,79,
+-33,14,
+29,92,
+63,-158,
+44,20,
+-109,-191,
+17,43,
+93,-117,
+95,-61,
+3,-87,
+-56,-10,
+-203,46,
+49,-47,
+-16,-39,
+250,265,
+213,139,
+328,63,
+200,113,
+-45,-32,
+-185,76,
+-160,28,
+-154,105,
+-186,42,
+-161,200,
+-75,158,
+65,-154,
+-31,38,
+148,146,
+-46,-195,
+338,313,
+54,7,
+-155,191,
+-56,44,
+0,-22,
+-191,131,
+63,-59,
+-48,94,
+112,16,
+66,-41,
+-28,-349,
+8,120,
+59,-117,
+-183,-84,
+86,87,
+-81,6,
+208,-102,
+-89,-27,
+46,121,
+484,99,
+-111,-128,
+-23,-91,
+111,-16,
+-19,175,
+47,-85,
+-19,25,
+-78,136,
+40,-103,
+114,87,
+99,101,
+-59,-225,
+114,68,
+69,23,
+-58,100,
+104,31,
+-164,77,
+210,124,
+-81,-41,
+-180,78,
+-116,106,
+150,119,
+19,286,
+-162,124,
+-20,-89,
+153,149,
+-8,14,
+-97,132,
+-59,127,
+-3,126,
+-4,59,
+-114,-145,
+25,86,
+10,-158,
+-134,-161,
+96,97,
+64,-12,
+-9,-217,
+-24,-153,
+84,-170,
+-123,9,
+-48,53,
+35,109,
+71,87,
+-34,-3,
+-123,131,
+-220,74,
+-39,-29,
+-139,-84,
+58,-22,
+136,-153,
+8,9,
+341,65,
+-2,-134,
+-208,63,
+-52,74,
+88,-129,
+85,-318,
+-207,-71,
+-130,-59,
+-52,-81,
+57,24,
+126,-32,
+-42,203,
+-68,171,
+-154,-271,
+-151,172,
+28,-69,
+-2,235,
+-57,107,
+179,-138,
+-8,-155,
+-133,228,
+-31,62,
+9,-124,
+-18,133,
+47,-51,
+-148,-126,
+119,-85,
+165,69,
+51,-33,
+73,7,
+31,-25,
+-118,-18,
+10,-205,
+209,-330,
+71,100,
+-110,-230,
+-225,82,
+-20,60,
+-3,-35,
+-80,90,
+-280,-121,
+29,-110,
+-127,69,
+105,-255,
+-222,-59,
+-130,24,
+-61,-81,
+-87,-72,
+10,59,
+157,2,
+-81,166,
+-53,-44,
+-104,-22,
+173,62,
+-84,-2,
+-129,120,
+116,226,
+40,-31,
+-26,-72,
+-87,67,
+-123,166,
+-80,227,
+-75,-63,
+128,-33,
+35,-161,
+-53,1,
+-190,-60,
+-89,-23,
+217,-103,
+76,-101,
+89,-329,
+-161,27,
+156,50,
+-96,-163,
+-110,107,
+27,149,
+110,1,
+72,56,
+70,126,
+239,110,
+41,-246,
+151,-9,
+-102,23,
+180,-16,
+86,74,
+117,-41,
+-24,50,
+59,52,
+18,145,
+149,106,
+4,145,
+-36,23,
+118,-54,
+-104,180,
+98,-65,
+-252,-55,
+-30,-195,
+28,-13,
+46,43,
+33,95,
+1,-104,
+-21,-71,
+-1,291,
+9,-53,
+81,95,
+60,160,
+67,152,
+111,28,
+145,33,
+-133,-34,
+-280,-16,
+253,310,
+30,5,
+174,-124,
+-58,182,
+-130,-24,
+-20,-160,
+23,139,
+15,187,
+-95,-90,
+48,-164,
+-29,248,
+-64,87,
+-30,15,
+-22,-125,
+-51,-83,
+-70,41,
+118,212,
+-42,75,
+77,1,
+108,-202,
+-87,81,
+-113,-39,
+-59,27,
+44,-24,
+-57,17,
+124,-89,
+18,-62,
+-2,-75,
+48,-105,
+-37,-81,
+105,-32,
+-70,-6,
+91,47,
+-8,84,
+112,-13,
+63,-44,
+12,54,
+94,-36,
+-64,99,
+20,-294,
+-60,-101,
+-35,63,
+-22,79,
+101,-1,
+-37,131,
+-1,6,
+-88,-135,
+129,-130,
+-31,-68,
+120,-20,
+-162,-116,
+81,7,
+-79,38,
+-155,29,
+-32,29,
+37,-13,
+125,55,
+63,-90,
+94,118,
+-48,79,
+81,-52,
+98,29,
+-9,60,
+49,43,
+12,75,
+120,-28,
+-56,-191,
+19,-54,
+-22,-96,
+-51,117,
+-114,-19,
+287,-20,
+-20,63,
+-51,-14,
+153,143,
+-62,-95,
+-3,-79,
+-92,26,
+25,-104,
+88,-78,
+2,10,
+17,89,
+55,-52,
+-68,128,
+-32,-99,
+25,-119,
+46,83,
+86,81,
+-109,77,
+-48,75,
+-60,-206,
+53,-102,
+-36,45,
+20,69,
+-6,-31,
+-79,30,
+-64,28,
+83,-109,
+-25,-30,
+48,125,
+-25,34,
+-25,198,
+-47,-25,
+-12,72,
+-52,55,
+-79,86,
+153,-1,
+-170,-37,
+-6,-57,
+190,-181,
+22,15,
+-52,35,
+-11,40,
+27,98,
+-138,16,
+50,58,
+-165,-64,
+109,-102,
+116,16,
+124,56,
+-67,196,
+-28,-31,
+-72,41,
+-29,-170,
+159,25,
+-16,-45,
+52,3,
+122,-72,
+-108,78,
+-90,129,
+-79,-23,
+-43,-34,
+-3,-56,
+94,110,
+76,-136,
+-35,-35,
+156,38,
+-8,-97,
+168,16,
+71,14,
+-44,36,
+-77,-12,
+24,23,
+18,-109,
+-30,-21,
+73,42,
+57,-13,
+-168,-34,
+-67,63,
+-39,-151,
+99,-28,
+134,35,
+-16,78,
+-73,-7,
+-17,-26,
+-37,-17,
+106,-23,
+-11,66,
+34,16,
+-77,6,
+-55,82,
+-38,-48,
+-37,-157,
+-33,162,
+-12,-31,
+156,-27,
+-65,123,
+1,25,
+67,98,
+-42,-147,
+65,1,
+-159,15,
+-102,-1,
+-33,-7,
+38,144,
+66,-64,
+45,32,
+-8,108,
+6,8,
+45,23,
+51,26,
+39,99,
+-90,47,
+86,94,
+-1,-79,
+-8,-115,
+77,-7,
+-25,-64,
+-75,49,
+-47,-97,
+-2,148,
+-152,-31,
+-103,28,
+57,-79,
+24,39,
+55,20,
+54,31,
+42,-65,
+-121,-7,
+-95,-43,
+-124,32,
+160,-17,
+-56,76,
+-43,35,
+54,36,
+20,94,
+26,-57,
+38,74,
+-48,-35,
+-81,65,
+-39,-20,
+-70,7,
+-81,58,
+-2,9,
+-42,52,
+10,-45,
+-7,5,
+43,-109,
+-76,-48,
+18,71,
+-133,43,
+113,18,
+160,0,
+10,46,
+-78,-108,
+-22,4,
+-79,8,
+141,-97,
+116,21,
+-57,12,
+-135,-50,
+200,-26,
+68,79,
+-146,-81,
+65,-65,
+50,18,
+-65,-28,
+51,226,
+128,-26,
+65,-56,
+-61,-138,
+26,71,
+31,134,
+81,-1,
+157,55,
+-31,61,
+101,2,
+54,-15,
+47,11,
+-91,-14,
+23,12,
+98,54,
+-79,18,
+-60,-85,
+-116,-19,
+58,-135,
+11,125,
+46,-51,
+-15,10,
+72,48,
+117,14,
+41,85,
+76,-10,
+-10,17,
+25,30,
+-9,132,
+30,-5,
+15,78,
+-60,-46,
+-54,140,
+-45,71,
+170,83,
+-11,28,
+-9,71,
+144,21,
+-5,-91,
+-46,1,
+21,-11,
+-28,45,
+-112,-96,
+-158,166,
+19,62,
+-64,-39,
+-7,-92,
+-28,-62,
+-43,53,
+-100,39,
+62,3,
+41,-99,
+152,-31,
+34,-56,
+-81,-50,
+42,84,
+85,10,
+70,-54,
+37,-14,
+-13,18,
+1,46,
+25,-134,
+-8,36,
+107,42,
+-25,13,
+-49,-29,
+3,-52,
+-11,-87,
+-80,-46,
+-22,-77,
+-93,95,
+11,-133,
+-34,-55,
+-61,-80,
+90,3,
+8,-20,
+-56,-83,
+72,-115,
+-155,85,
+-33,98,
+-140,-19,
+-64,-27,
+70,5,
+-50,14,
+-11,63,
+53,75,
+-39,15,
+-119,16,
+66,-69,
+-18,40,
+-29,16,
+59,-59,
+55,-41,
+-33,24,
+-79,17,
+57,45,
+63,-28,
+104,-15,
+-118,-20,
+62,-104,
+-22,-56,
+83,41,
+81,3,
+-85,46,
+-5,2,
+11,-111,
+-103,-52,
+-100,5,
+-73,71,
+35,-52,
+7,-87,
+-10,35,
+-24,67,
+20,121,
+-31,-23,
+-78,31,
+15,16,
+-26,-130,
+17,-20,
+67,-67,
+25,-50,
+-12,60,
+86,34,
+34,-83,
+-56,12,
+1,4,
+-115,-13,
+-94,2,
+30,54,
+5,-20,
+-63,6,
+-32,-22,
+-29,-13,
+13,4,
+-36,-42,
+83,5,
+65,-5,
+0,-61,
+87,2,
+-18,67,
+12,-6,
+47,-82,
+86,25,
+84,55,
+28,-49,
+14,-88,
+24,30,
+5,-30,
+60,69,
+12,-65,
+4,23,
+79,38,
+-64,7,
+-5,11,
+-2,17,
+16,64,
+23,-10,
+-12,-10,
+29,1,
+10,-28,
+-14,52,
+67,14,
+-67,-51,
+-51,67,
+47,51,
+52,97,
+-32,-22,
+-26,-21,
+22,110,
+-6,-96,
+-16,12,
+5,-1,
+-66,-11,
+3,11,
+-104,22,
+37,6,
+32,47,
+-2,-53,
+-15,-6,
+69,-24,
+-17,-27,
+6,-38,
+147,32,
+-65,53,
+59,81,
+10,-49,
+-18,57,
+1,-2,
+22,-30,
+60,-42,
+39,-60,
+5,-58,
+36,-45,
+-9,-57,
+30,-22,
+0,70,
+30,94,
+67,87,
+37,35,
+27,58,
+-26,-50,
+-1,-15,
+18,-36,
+-29,1,
+-44,31,
+12,36,
+-43,-12,
+1,-15,
+-54,2,
+15,29,
+-28,-14,
+37,32,
+23,29,
+-2,65,
+36,-39,
+6,-11,
+6,-32,
+33,-4,
+19,14,
+56,-3,
+-30,-30,
+1,-1,
+-16,-31,
+22,-26,
+12,-47,
+6,72,
+11,-10,
+18,-12,
+-38,38,
+22,-13,
+-2,24,
+6,44,
+35,-14,
+-35,-12,
+20,-32,
+-8,22,
+-14,19,
+-20,15,
+-30,-13,
+32,-25,
+27,3,
+18,-15,
+-12,30,
+56,-43,
+-1,41,
+16,-13,
+3,-18,
+12,19,
+-26,12,
+-52,-3,
+23,17,
+30,9,
+8,51,
+-7,-2,
+-1,2,
+-2,-26,
+8,29,
+19,12,
+12,48,
+1,17,
+-22,-18,
+2,36,
+7,25,
+17,-45,
+-23,21,
+-7,-8,
+-23,9,
+-4,-20,
+51,55,
+-8,-30,
+35,57,
+16,-12,
+-4,2,
+-30,9,
+24,24,
+-1,4,
+23,12,
+15,10,
+30,12,
+-29,53,
+-18,18,
+26,-47,
+31,-2,
+-25,3,
+2,-20,
+13,2,
+-4,0,
+40,6,
+-15,-16,
+10,-41,
+9,-40,
+19,4,
+-27,-14,
+0,-16,
+-7,27,
+7,-11,
+11,-27,
+1,17,
+29,-5,
+15,-25,
+-3,15,
+-17,-8,
+9,6,
+-9,9,
+-14,-21,
+-9,-1,
+-3,-35,
+21,-15,
+15,19,
+-17,18,
+15,43,
+-34,23,
+38,20,
+-14,-14,
+-23,10,
+-11,-5,
+12,-7,
+-13,-18,
+6,-7,
+19,-6,
+-11,5,
+11,7,
+-21,-4,
+-7,-32,
+12,10,
+0,-9,
+-6,2,
+-3,9,
+-10,-1,
+4,6,
+-2,8,
+-1,-3,
+7,16,
+-20,18,
+6,20,
+6,4,
+-1,-15,
+11,17,
+7,-16,
+-18,11,
+-6,-21,
+10,-7,
+0,-1,
+2,18,
+12,-3,
+10,3,
+2,8,
+-4,-5,
+7,10,
+9,1,
+12,2,
+-12,15,
+3,-1,
+9,-7,
+11,-1,
+-6,-14,
+7,-5,
+-1,4,
+1,5,
+7,-14,
+-3,-10,
+-3,-2,
+9,-4,
+11,-9,
+3,-3,
+-13,-5,
+-3,6,
+-5,4,
+-1,0,
+4,12,
+5,0,
+4,-14,
+5,10,
+1,-3,
+8,-1,
+-1,7,
+-2,-7,
+4,-4,
+-1,7,
+1,4,
+-4,-8,
+-1,2,
+1,3,
+-2,-7,
+0,3,
+1,2,
+0,-6,
+2,5,
+0,0,
+0,-5,
+-1,5,
+-1,0,
+0,-5,
+0,5,
+0,0,
+0,-5,
+0,5,
+-1,0,
+-1,-5,
+0,5,
+0,0,
+2,-5,
+0,6,
+1,-2,
+0,-3,
+-2,7,
+1,-3,
+-1,-2,
+-4,8,
+1,-4,
+-1,-7,
+4,4,
+-2,7,
+-1,-7,
+8,1,
+1,3,
+5,-10,
+4,14,
+5,0,
+4,-12,
+-1,0,
+-5,-4,
+-3,-6,
+-13,5,
+3,3,
+11,9,
+9,4,
+-3,2,
+-3,10,
+7,14,
+1,-5,
+-1,-4,
+7,5,
+-6,14,
+11,1,
+9,7,
+3,1,
+-12,-15,
+12,-2,
+9,-1,
+7,-10,
+-4,5,
+2,-8,
+10,-3,
+12,3,
+2,-18,
+0,1,
+10,7,
+-6,21,
+-18,-11,
+7,16,
+11,-17,
+-1,15,
+6,-4,
+6,-20,
+-20,-18,
+7,-16,
+-1,3,
+-2,-8,
+4,-6,
+-10,1,
+-3,-9,
+-6,-2,
+0,9,
+12,-10,
+-7,32,
+-21,4,
+11,-7,
+-11,-5,
+19,6,
+6,7,
+-13,18,
+12,7,
+-11,5,
+-23,-10,
+-14,14,
+38,-20,
+-34,-23,
+15,-43,
+-17,-18,
+15,-19,
+21,15,
+-3,35,
+-9,1,
+-14,21,
+-9,-9,
+9,-6,
+-17,8,
+-3,-15,
+15,25,
+29,5,
+1,-17,
+11,27,
+7,11,
+-7,-27,
+0,16,
+-27,14,
+19,-4,
+9,40,
+10,41,
+-15,16,
+40,-6,
+-4,0,
+13,-2,
+2,20,
+-25,-3,
+31,2,
+26,47,
+-18,-18,
+-29,-53,
+30,-12,
+15,-10,
+23,-12,
+-1,-4,
+24,-24,
+-30,-9,
+-4,-2,
+16,12,
+35,-57,
+-8,30,
+51,-55,
+-4,20,
+-23,-9,
+-7,8,
+-23,-21,
+17,45,
+7,-25,
+2,-36,
+-22,18,
+1,-17,
+12,-48,
+19,-12,
+8,-29,
+-2,26,
+-1,-2,
+-7,2,
+8,-51,
+30,-9,
+23,-17,
+-52,3,
+-26,-12,
+12,-19,
+3,18,
+16,13,
+-1,-41,
+56,43,
+-12,-30,
+18,15,
+27,-3,
+32,25,
+-30,13,
+-20,-15,
+-14,-19,
+-8,-22,
+20,32,
+-35,12,
+35,14,
+6,-44,
+-2,-24,
+22,13,
+-38,-38,
+18,12,
+11,10,
+6,-72,
+12,47,
+22,26,
+-16,31,
+1,1,
+-30,30,
+56,3,
+19,-14,
+33,4,
+6,32,
+6,11,
+36,39,
+-2,-65,
+23,-29,
+37,-32,
+-28,14,
+15,-29,
+-54,-2,
+1,15,
+-43,12,
+12,-36,
+-44,-31,
+-29,-1,
+18,36,
+-1,15,
+-26,50,
+27,-58,
+37,-35,
+67,-87,
+30,-94,
+0,-70,
+30,22,
+-9,57,
+36,45,
+5,58,
+39,60,
+60,42,
+22,30,
+1,2,
+-18,-57,
+10,49,
+59,-81,
+-65,-53,
+147,-32,
+6,38,
+-17,27,
+69,24,
+-15,6,
+-2,53,
+32,-47,
+37,-6,
+-104,-22,
+3,-11,
+-66,11,
+5,1,
+-16,-12,
+-6,96,
+22,-110,
+-26,21,
+-32,22,
+52,-97,
+47,-51,
+-51,-67,
+-67,51,
+67,-14,
+-14,-52,
+10,28,
+29,-1,
+-12,10,
+23,10,
+16,-64,
+-2,-17,
+-5,-11,
+-64,-7,
+79,-38,
+4,-23,
+12,65,
+60,-69,
+5,30,
+24,-30,
+14,88,
+28,49,
+84,-55,
+86,-25,
+47,82,
+12,6,
+-18,-67,
+87,-2,
+0,61,
+65,5,
+83,-5,
+-36,42,
+13,-4,
+-29,13,
+-32,22,
+-63,-6,
+5,20,
+30,-54,
+-94,-2,
+-115,13,
+1,-4,
+-56,-12,
+34,83,
+86,-34,
+-12,-60,
+25,50,
+67,67,
+17,20,
+-26,130,
+15,-16,
+-78,-31,
+-31,23,
+20,-121,
+-24,-67,
+-10,-35,
+7,87,
+35,52,
+-73,-71,
+-100,-5,
+-103,52,
+11,111,
+-5,-2,
+-85,-46,
+81,-3,
+83,-41,
+-22,56,
+62,104,
+-118,20,
+104,15,
+63,28,
+57,-45,
+-79,-17,
+-33,-24,
+55,41,
+59,59,
+-29,-16,
+-18,-40,
+66,69,
+-119,-16,
+-39,-15,
+53,-75,
+-11,-63,
+-50,-14,
+70,-5,
+-64,27,
+-140,19,
+-33,-98,
+-155,-85,
+72,115,
+-56,83,
+8,20,
+90,-3,
+-61,80,
+-34,55,
+11,133,
+-93,-95,
+-22,77,
+-80,46,
+-11,87,
+3,52,
+-49,29,
+-25,-13,
+107,-42,
+-8,-36,
+25,134,
+1,-46,
+-13,-18,
+37,14,
+70,54,
+85,-10,
+42,-84,
+-81,50,
+34,56,
+152,31,
+41,99,
+62,-3,
+-100,-39,
+-43,-53,
+-28,62,
+-7,92,
+-64,39,
+19,-62,
+-158,-166,
+-112,96,
+-28,-45,
+21,11,
+-46,-1,
+-5,91,
+144,-21,
+-9,-71,
+-11,-28,
+170,-83,
+-45,-71,
+-54,-140,
+-60,46,
+15,-78,
+30,5,
+-9,-132,
+25,-30,
+-10,-17,
+76,10,
+41,-85,
+117,-14,
+72,-48,
+-15,-10,
+46,51,
+11,-125,
+58,135,
+-116,19,
+-60,85,
+-79,-18,
+98,-54,
+23,-12,
+-91,14,
+47,-11,
+54,15,
+101,-2,
+-31,-61,
+157,-55,
+81,1,
+31,-134,
+26,-71,
+-61,138,
+65,56,
+128,26,
+51,-226,
+-65,28,
+50,-18,
+65,65,
+-146,81,
+68,-79,
+200,26,
+-135,50,
+-57,-12,
+116,-21,
+141,97,
+-79,-8,
+-22,-4,
+-78,108,
+10,-46,
+160,0,
+113,-18,
+-133,-43,
+18,-71,
+-76,48,
+43,109,
+-7,-5,
+10,45,
+-42,-52,
+-2,-9,
+-81,-58,
+-70,-7,
+-39,20,
+-81,-65,
+-48,35,
+38,-74,
+26,57,
+20,-94,
+54,-36,
+-43,-35,
+-56,-76,
+160,17,
+-124,-32,
+-95,43,
+-121,7,
+42,65,
+54,-31,
+55,-20,
+24,-39,
+57,79,
+-103,-28,
+-152,31,
+-2,-148,
+-47,97,
+-75,-49,
+-25,64,
+77,7,
+-8,115,
+-1,79,
+86,-94,
+-90,-47,
+39,-99,
+51,-26,
+45,-23,
+6,-8,
+-8,-108,
+45,-32,
+66,64,
+38,-144,
+-33,7,
+-102,1,
+-159,-15,
+65,-1,
+-42,147,
+67,-98,
+1,-25,
+-65,-123,
+156,27,
+-12,31,
+-33,-162,
+-37,157,
+-38,48,
+-55,-82,
+-77,-6,
+34,-16,
+-11,-66,
+106,23,
+-37,17,
+-17,26,
+-73,7,
+-16,-78,
+134,-35,
+99,28,
+-39,151,
+-67,-63,
+-168,34,
+57,13,
+73,-42,
+-30,21,
+18,109,
+24,-23,
+-77,12,
+-44,-36,
+71,-14,
+168,-16,
+-8,97,
+156,-38,
+-35,35,
+76,136,
+94,-110,
+-3,56,
+-43,34,
+-79,23,
+-90,-129,
+-108,-78,
+122,72,
+52,-3,
+-16,45,
+159,-25,
+-29,170,
+-72,-41,
+-28,31,
+-67,-196,
+124,-56,
+116,-16,
+109,102,
+-165,64,
+50,-58,
+-138,-16,
+27,-98,
+-11,-40,
+-52,-35,
+22,-15,
+190,181,
+-6,57,
+-170,37,
+153,1,
+-79,-86,
+-52,-55,
+-12,-72,
+-47,25,
+-25,-198,
+-25,-34,
+48,-125,
+-25,30,
+83,109,
+-64,-28,
+-79,-30,
+-6,31,
+20,-69,
+-36,-45,
+53,102,
+-60,206,
+-48,-75,
+-109,-77,
+86,-81,
+46,-83,
+25,119,
+-32,99,
+-68,-128,
+55,52,
+17,-89,
+2,-10,
+88,78,
+25,104,
+-92,-26,
+-3,79,
+-62,95,
+153,-143,
+-51,14,
+-20,-63,
+287,20,
+-114,19,
+-51,-117,
+-22,96,
+19,54,
+-56,191,
+120,28,
+12,-75,
+49,-43,
+-9,-60,
+98,-29,
+81,52,
+-48,-79,
+94,-118,
+63,90,
+125,-55,
+37,13,
+-32,-29,
+-155,-29,
+-79,-38,
+81,-7,
+-162,116,
+120,20,
+-31,68,
+129,130,
+-88,135,
+-1,-6,
+-37,-131,
+101,1,
+-22,-79,
+-35,-63,
+-60,101,
+20,294,
+-64,-99,
+94,36,
+12,-54,
+63,44,
+112,13,
+-8,-84,
+91,-47,
+-70,6,
+105,32,
+-37,81,
+48,105,
+-2,75,
+18,62,
+124,89,
+-57,-17,
+44,24,
+-59,-27,
+-113,39,
+-87,-81,
+108,202,
+77,-1,
+-42,-75,
+118,-212,
+-70,-41,
+-51,83,
+-22,125,
+-30,-15,
+-64,-87,
+-29,-248,
+48,164,
+-95,90,
+15,-187,
+23,-139,
+-20,160,
+-130,24,
+-58,-182,
+174,124,
+30,-5,
+253,-310,
+-280,16,
+-133,34,
+145,-33,
+111,-28,
+67,-152,
+60,-160,
+81,-95,
+9,53,
+-1,-291,
+-21,71,
+1,104,
+33,-95,
+46,-43,
+28,13,
+-30,195,
+-252,55,
+98,65,
+-104,-180,
+118,54,
+-36,-23,
+4,-145,
+149,-106,
+18,-145,
+59,-52,
+-24,-50,
+117,41,
+86,-74,
+180,16,
+-102,-23,
+151,9,
+41,246,
+239,-110,
+70,-126,
+72,-56,
+110,-1,
+27,-149,
+-110,-107,
+-96,163,
+156,-50,
+-161,-27,
+89,329,
+76,101,
+217,103,
+-89,23,
+-190,60,
+-53,-1,
+35,161,
+128,33,
+-75,63,
+-80,-227,
+-123,-166,
+-87,-67,
+-26,72,
+40,31,
+116,-226,
+-129,-120,
+-84,2,
+173,-62,
+-104,22,
+-53,44,
+-81,-166,
+157,-2,
+10,-59,
+-87,72,
+-61,81,
+-130,-24,
+-222,59,
+105,255,
+-127,-69,
+29,110,
+-280,121,
+-80,-90,
+-3,35,
+-20,-60,
+-225,-82,
+-110,230,
+71,-100,
+209,330,
+10,205,
+-118,18,
+31,25,
+73,-7,
+51,33,
+165,-69,
+119,85,
+-148,126,
+47,51,
+-18,-133,
+9,124,
+-31,-62,
+-133,-228,
+-8,155,
+179,138,
+-57,-107,
+-2,-235,
+28,69,
+-151,-172,
+-154,271,
+-68,-171,
+-42,-203,
+126,32,
+57,-24,
+-52,81,
+-130,59,
+-207,71,
+85,318,
+88,129,
+-52,-74,
+-208,-63,
+-2,134,
+341,-65,
+8,-9,
+136,153,
+58,22,
+-139,84,
+-39,29,
+-220,-74,
+-123,-131,
+-34,3,
+71,-87,
+35,-109,
+-48,-53,
+-123,-9,
+84,170,
+-24,153,
+-9,217,
+64,12,
+96,-97,
+-134,161,
+10,158,
+25,-86,
+-114,145,
+-4,-59,
+-3,-126,
+-59,-127,
+-97,-132,
+-8,-14,
+153,-149,
+-20,89,
+-162,-124,
+19,-286,
+150,-119,
+-116,-106,
+-180,-78,
+-81,41,
+210,-124,
+-164,-77,
+104,-31,
+-58,-100,
+69,-23,
+114,-68,
+-59,225,
+99,-101,
+114,-87,
+40,103,
+-78,-136,
+-19,-25,
+47,85,
+-19,-175,
+111,16,
+-23,91,
+-111,128,
+484,-99,
+46,-121,
+-89,27,
+208,102,
+-81,-6,
+86,-87,
+-183,84,
+59,117,
+8,-120,
+-28,349,
+66,41,
+112,-16,
+-48,-94,
+63,59,
+-191,-131,
+0,22,
+-56,-44,
+-155,-191,
+54,-7,
+338,-313,
+-46,195,
+148,-146,
+-31,-38,
+65,154,
+-75,-158,
+-161,-200,
+-186,-42,
+-154,-105,
+-160,-28,
+-185,-76,
+-45,32,
+200,-113,
+328,-63,
+213,-139,
+250,-265,
+-16,39,
+49,47,
+-203,-46,
+-56,10,
+3,87,
+95,61,
+93,117,
+17,-43,
+-109,191,
+44,-20,
+63,158,
+29,-92,
+-33,-14,
+297,-79,
+28,-95,
+22,8,
+-146,-107,
+-48,-33,
+-56,-12,
+72,-232,
+-12,-23,
+-116,-65,
+-34,150,
+0,-55,
+-314,-29,
+100,-39,
+31,-50,
+79,-61,
+-11,51,
+-2,-57,
+112,120,
+9,-94,
+131,-91,
+90,75,
+-228,-120,
+19,117,
+17,-41,
+85,18,
+70,176,
+-48,36,
+-113,-67,
+-37,-174,
+108,22,
+-178,-104,
+176,-40,
+-108,-194,
+48,88,
+-7,-94,
+-57,-58,
+117,184,
+64,132,
+-106,-20,
+218,-179,
+129,-23,
+50,32,
+-98,14,
+89,-9,
+-132,-25,
+251,-82,
+206,-93,
+-54,44,
+71,61,
+142,36,
+-21,-103,
+15,27,
+-111,-29,
+106,156,
+-98,90,
+159,-89,
+-128,-42,
+318,-211,
+-90,16,
+141,-187,
+-40,60,
+61,108,
+66,-2,
+121,-199,
+23,95,
+-13,-243,
+198,-106,
+222,171,
+31,98,
+-83,-221,
+-172,-31,
+33,-6,
+9,53,
+-152,3,
+81,-183,
+66,15,
+-148,-129,
+-293,84,
+-106,-155,
+-120,-9,
+-70,22,
+38,170,
+-8,-77,
+3,-27,
+-78,11,
+-79,-135,
+66,-93,
+-69,-152,
+-167,39,
+203,69,
+-36,43,
+-90,-61,
+136,168,
+-261,119,
+-153,-122,
+-65,-34,
+14,-68,
+274,-147,
+210,338,
+300,-219,
+19,55,
+45,-52,
+-69,227,
+79,49,
+-142,17,
+-104,-47,
+-78,22,
+-50,-65,
+39,-172,
+111,222,
+-175,-20,
+-71,75,
+-153,36,
+101,-154,
+-45,86,
+31,164,
+97,-112,
+-14,98,
+55,35,
+90,-154,
+-9,150,
+334,43,
+180,1,
+-77,-50,
+108,-18,
+-180,-132,
+190,-37,
+-164,157,
+-56,91,
+-229,-100,
+146,-34,
+48,13,
+104,-165,
+23,-143,
+-19,6,
+143,-8,
+-32,-11,
+58,-246,
+130,-38,
+91,41,
+57,87,
+-70,-275,
+-133,-29,
+-104,-57,
+-192,21,
+159,-72,
+10,-9,
+-191,-57,
+-212,-30,
+-67,119,
+-65,-163,
+-117,-344,
+-254,98,
+79,118,
+73,213,
+-45,42,
+256,26,
+167,-55,
+-147,-162,
+25,-142,
+-158,-42,
+159,-237,
+19,-55,
+17,-93,
+-57,63,
+-212,42,
+333,-253,
+66,186,
+-156,74,
+19,-5,
+-18,79,
+-24,18,
+-71,46,
+-21,-26,
+89,-152,
+-86,-33,
+52,-107,
+86,20,
+-40,151,
+-33,151,
+-110,-96,
+-72,-177,
+6,0,
+203,218,
+28,-184,
+198,-4,
+-29,72,
+-35,-77,
+-77,-76,
+48,-152,
+-19,59,
+-40,53,
+-1,-42,
+142,88,
+70,186,
+47,-130,
+-161,-165,
+88,-49,
+27,82,
+42,248,
+23,225,
+-270,212,
+-55,-57,
+-337,-76,
+-21,-106,
+-131,-122,
+163,169,
+14,61,
+-279,134,
+-266,21,
+100,-152,
+-288,97,
+-285,309,
+223,68,
+-118,-104,
+-13,-102,
+123,151,
+102,-40,
+69,82,
+-46,141,
+114,96,
+-176,165,
+-83,-21,
+148,129,
+238,-32,
+-46,-100,
+-187,78,
+41,73,
+-81,119,
+-38,-54,
+179,23,
+-96,32,
+151,-96,
+81,128,
+126,-93,
+90,2,
+-46,-143,
+-29,-54,
+45,16,
+-189,180,
+47,-177,
+165,-16,
+148,-113,
+135,23,
+-264,20,
+201,-90,
+-47,-131,
+313,-48,
+82,197,
+225,146,
+-107,-29,
+202,167,
+91,165,
+148,0,
+-177,-226,
+100,214,
+-134,108,
+-18,80,
+-20,169,
+46,24,
+-135,-89,
+44,47,
+229,157,
+25,-216,
+65,54,
+82,-31,
+-121,58,
+-340,4,
+-88,52,
+-67,14,
+139,0,
+-53,-36,
+164,129,
+167,-59,
+-177,10,
+-34,60,
+9,115,
+94,37,
+-179,191,
+39,-153,
+14,-63,
+117,-29,
+-28,120,
+191,-76,
+-176,-78,
+200,-34,
+-202,-175,
+-202,176,
+-13,-130,
+-41,142,
+8,40,
+-100,-138,
+13,87,
+-21,46,
+118,-119,
+181,-22,
+-92,-5,
+49,-79,
+106,77,
+53,78,
+12,-79,
+-5,-84,
+-95,43,
+-4,-76,
+-114,-256,
+-36,68,
+100,168,
+164,142,
+-150,80,
+132,212,
+137,68,
+76,-63,
+114,146,
+-125,78,
+-135,66,
+-23,-160,
+-173,-87,
+29,8,
+46,-12,
+28,-155,
+122,16,
+-46,-17,
+-72,159,
+-220,100,
+198,4,
+76,60,
+198,-41,
+0,-112,
+77,-121,
+104,182,
+-127,-95,
+-75,52,
+-27,-128,
+73,49,
+92,117,
+-17,106,
+-171,236,
+52,74,
+-166,-147,
+205,-32,
+155,44,
+154,-92,
+19,344,
+-29,-243,
+91,-150,
+-17,135,
+-280,70,
+-75,-26,
+24,-14,
+-44,77,
+-44,137,
+-8,57,
+30,120,
+42,43,
+-141,-101,
+-110,44,
+-155,-4,
+18,22,
+132,151,
+-29,27,
+-112,84,
+43,52,
+108,209,
+-155,91,
+-219,371,
+314,20,
+-68,-16,
+-84,79,
+-36,4,
+96,350,
+40,75,
+-95,-80,
+-129,-67,
+99,164,
+72,27,
+-71,-43,
+-114,-105,
+15,187,
+-120,-64,
+-34,-207,
+-143,210,
+74,-21,
+135,49,
+-36,-139,
+86,111,
+97,12,
+-15,-13,
+78,-45,
+-89,-62,
+65,52,
+-144,-57,
+-212,150,
+-121,124,
+215,128,
+-73,-237,
+163,84,
+-15,175,
+-39,-237,
+160,52,
+-24,41,
+-137,-196,
+-253,69,
+211,40,
+-46,45,
+139,-53,
+30,88,
+6,-1,
+103,239,
+97,87,
+52,108,
+-225,-227,
+-135,48,
+155,-130,
+-89,148,
+-25,-88,
+-118,147,
+17,-44,
+-15,-15,
+115,-132,
+31,-36,
+84,141,
+-3,-154,
+42,128,
+-51,30,
+57,-81,
+-19,-79,
+16,-68,
+-11,132,
+-92,-5,
+22,-13,
+-91,-30,
+-182,6,
+-121,93,
+-21,-32,
+-29,189,
+-48,32,
+119,0,
+-46,81,
+131,87,
+47,-145,
+-170,-123,
+119,108,
+55,-115,
+19,51,
+148,15,
+144,38,
+175,-60,
+191,-217,
+-79,-112,
+140,144,
+53,-27,
+-32,-181,
+-42,-28,
+-190,62,
+-105,-31,
+-176,209,
+-106,123,
+183,-49,
+-15,56,
+59,27,
+-227,-92,
+6,143,
+-72,108,
+54,-128,
+24,-11,
+31,-68,
+-53,-183,
+110,15,
+-201,66,
+-101,-89,
+130,-96,
+1,196,
+20,-189,
+145,-186,
+-22,-193,
+-244,-83,
+-177,79,
+52,44,
+46,38,
+143,107,
+-121,-5,
+21,-181,
+132,60,
+-78,93,
+32,-145,
+189,138,
+-11,-27,
+146,-47,
+79,149,
+-48,82,
+73,226,
+49,73,
+-24,-63,
+57,-8,
+48,68,
+-60,213,
+183,-22,
+126,-182,
+-56,-8,
+168,-227,
+106,-105,
+61,-221,
+128,98,
+238,-154,
+214,56,
+-9,83,
+85,-127,
+-244,21,
+39,248,
+38,62,
+-37,-13,
+-97,-203,
+-155,-132,
+90,-56,
+-11,-91,
+145,10,
+140,-73,
+-132,16,
+146,191,
+129,178,
+201,-28,
+-50,190,
+-148,166,
+105,-36,
+122,-216,
+253,-299,
+-196,205,
+-81,36,
+28,-77,
+-40,80,
+150,-105,
+34,69,
+-36,-12,
+-285,-99,
+133,56,
+-146,-46,
+-3,-107,
+46,-6,
+-107,68,
+-9,34,
+65,-19,
+-53,-11,
+-129,-65,
+-39,32,
+22,-8,
+164,-152,
+163,54,
+-10,8,
+-41,18,
+-164,-65,
+-35,130,
+-44,32,
+-133,187,
+-3,130,
+47,-99,
+-103,76,
+223,141,
+-27,204,
+-224,114,
+-116,137,
+92,9,
+-271,-79,
+287,-127,
+-202,21,
+-133,37,
+17,-89,
+-25,54,
+-26,-27,
+-94,-115,
+63,34,
+21,71,
+-73,-168,
+-28,-60,
+-60,-80,
+-115,161,
+104,-143,
+51,195,
+29,35,
+-91,-39,
+-118,85,
+-42,-40,
+-121,-115,
+77,86,
+-68,8,
+61,-95,
+114,-86,
+22,-3,
+139,7,
+-62,13,
+166,-44,
+12,105,
+213,-51,
+53,110,
+37,59,
+-35,-78,
+-21,-4,
+-64,30,
+-46,-99,
+-59,127,
+64,124,
+-161,298,
+26,30,
+-32,-216,
+-142,-110,
+-4,42,
+-30,15,
+98,-50,
+5,-81,
+54,77,
+-134,-25,
+186,-167,
+100,-1,
+-41,145,
+-20,-7,
+66,-51,
+-12,-214,
+-111,9,
+-112,-144,
+86,81,
+162,33,
+40,-42,
+-95,13,
+31,-65,
+135,85,
+-84,98,
+49,24,
+47,145,
+42,-50,
+89,27,
+-77,-8,
+-21,-161,
+5,-10,
+-131,58,
+155,-56,
+-207,60,
+8,-45,
+15,-163,
+119,218,
+98,-21,
+-138,-53,
+-110,-21,
+78,-57,
+-125,267,
+-152,23,
+-103,108,
+-30,-39,
+121,80,
+-20,104,
+-51,-42,
+-9,15,
+-41,-29,
+-13,117,
+24,-3,
+-192,223,
+-66,43,
+-72,-8,
+89,-80,
+3,70,
+110,67,
+-91,-33,
+84,134,
+-25,92,
+112,104,
+80,-57,
+115,-225,
+-1,-73,
+-19,48,
+7,1,
+17,7,
+-106,41,
+43,92,
+29,92,
+-114,-81,
+199,55,
+29,-28,
+53,42,
+13,86,
+-69,-6,
+54,-30,
+-37,-112,
+60,-112,
+20,3,
+-16,-58,
+-61,106,
+146,-174,
+-14,106,
+-123,175,
+-122,13,
+-160,131,
+-62,25,
+-52,-45,
+-75,8,
+80,40,
+25,134,
+-28,-45,
+51,16,
+172,59,
+-107,-12,
+-22,-116,
+118,-53,
+-32,-90,
+148,-217,
+144,-73,
+-2,42,
+31,3,
+-118,85,
+120,-91,
+-95,17,
+-85,72,
+-76,15,
+-85,-87,
+51,97,
+50,-69,
+26,-19,
+41,228,
+-59,-47,
+46,53,
+-8,-7,
+121,-24,
+63,-6,
+-50,-48,
+48,29,
+41,-23,
+-110,14,
+-144,70,
+-87,127,
+71,25,
+165,86,
+13,-68,
+60,79,
+23,-47,
+40,107,
+-4,9,
+-97,7,
+137,-160,
+87,-43,
+121,-86,
+-28,28,
+96,2,
+-78,-76,
+14,-14,
+78,33,
+48,-5,
+24,76,
+-17,-117,
+193,-194,
+11,9,
+151,-32,
+-123,-63,
+-87,-75,
+158,11,
+-43,140,
+32,54,
+-75,-137,
+-34,55,
+79,-127,
+-23,102,
+-38,-96,
+-33,-47,
+-91,57,
+14,-54,
+73,86,
+-46,89,
+146,-80,
+52,51,
+-3,47,
+66,24,
+-87,-47,
+-2,13,
+68,129,
+-32,66,
+14,-65,
+-134,-127,
+-29,18,
+-158,59,
+68,-47,
+96,-19,
+-29,125,
+-89,29,
+-33,41,
+28,-84,
+2,88,
+-100,15,
+39,43,
+49,-85,
+-126,-38,
+-130,-34,
+36,-55,
+149,16,
+211,-93,
+-37,48,
+28,-62,
+-21,-59,
+-21,-5,
+-9,-6,
+13,-27,
+50,118,
+63,56,
+-60,130,
+85,-25,
+-43,111,
+-13,-40,
+46,107,
+-84,57,
+-101,2,
+82,41,
+-12,-57,
+-58,21,
+10,-106,
+-4,-51,
+4,-47,
+69,-34,
+6,104,
+85,9,
+-82,-35,
+106,-63,
+-149,-17,
+-62,-34,
+41,-8,
+5,51,
+-61,-29,
+-9,-106,
+-6,95,
+1,-52,
+-24,-151,
+23,81,
+-49,-123,
+-108,118,
+51,-117,
+73,-39,
+76,-111,
+114,-19,
+149,53,
+-38,88,
+14,-98,
+56,24,
+81,-12,
+104,-119,
+-8,-2,
+30,-22,
+-42,-157,
+58,85,
+-30,103,
+-31,28,
+-42,88,
+14,-40,
+-1,-124,
+-50,18,
+10,41,
+22,-70,
+34,16,
+-7,-1,
+-57,-64,
+-16,53,
+-12,-89,
+3,-23,
+-36,-128,
+-7,97,
+62,24,
+-95,31,
+31,-10,
+64,-74,
+-26,-26,
+-2,17,
+-234,204,
+-17,-38,
+174,-46,
+12,-6,
+42,45,
+95,170,
+90,-19,
+13,12,
+-11,24,
+-49,87,
+2,43,
+-58,-44,
+-83,21,
+-67,-131,
+-73,-9,
+101,84,
+92,-93,
+14,-8,
+-35,-55,
+6,63,
+28,71,
+-7,159,
+-92,53,
+50,15,
+-195,115,
+-38,9,
+-40,30,
+-77,63,
+-30,44,
+117,37,
+65,-11,
+-71,15,
+34,24,
+29,14,
+38,1,
+173,32,
+-31,20,
+-12,23,
+79,96,
+-69,9,
+28,27,
+31,25,
+-20,-14,
+-34,32,
+-17,7,
+28,-46,
+41,118,
+36,-5,
+-8,-109,
+-4,-90,
+-75,-4,
+-167,36,
+12,29,
+10,25,
+-3,8,
+-58,-17,
+46,-58,
+-15,-46,
+-71,83,
+-19,-48,
+-42,14,
+-23,41,
+43,-12,
+37,-83,
+-4,27,
+-4,-99,
+11,79,
+3,40,
+52,-28,
+61,-87,
+36,-57,
+-9,-42,
+-6,-84,
+-68,36,
+-16,33,
+46,-22,
+-23,84,
+-105,-6,
+-38,87,
+31,118,
+21,-7,
+-39,28,
+41,75,
+-32,-44,
+-19,5,
+-47,4,
+4,8,
+56,55,
+-9,-14,
+26,13,
+39,-19,
+51,-10,
+-27,-48,
+40,-77,
+-9,-22,
+-39,-17,
+42,-8,
+11,-22,
+10,3,
+-60,16,
+-21,-13,
+36,19,
+-17,-19,
+34,29,
+-31,6,
+30,36,
+-39,18,
+-59,25,
+55,-31,
+-19,1,
+44,-62,
+-31,22,
+47,7,
+-78,-17,
+2,-85,
+-32,-11,
+93,86,
+29,-10,
+50,15,
+-6,46,
+6,-27,
+-10,77,
+56,-11,
+-36,-23,
+-14,-99,
+0,38,
+-25,14,
+-1,6,
+-9,18,
+40,-14,
+-22,69,
+-52,-12,
+125,8,
+6,-84,
+-9,-44,
+13,-3,
+0,26,
+-46,-44,
+12,46,
+24,23,
+-21,-6,
+30,37,
+-57,13,
+57,13,
+9,1,
+-18,-71,
+-41,10,
+38,-17,
+27,-34,
+-85,-19,
+56,30,
+44,8,
+-40,-15,
+-19,-40,
+63,5,
+21,41,
+87,-7,
+-21,-63,
+-22,52,
+69,8,
+33,0,
+81,-68,
+27,20,
+39,37,
+-5,-48,
+41,-8,
+17,46,
+12,-4,
+13,-37,
+-12,-40,
+-5,-16,
+-1,-18,
+31,30,
+28,-3,
+14,-31,
+42,11,
+-11,4,
+-23,-44,
+51,-34,
+9,-30,
+-52,20,
+6,18,
+-16,-19,
+70,35,
+-35,77,
+-19,-13,
+5,26,
+-9,-39,
+45,-11,
+66,-17,
+-6,23,
+7,20,
+20,-7,
+-60,-27,
+41,-7,
+5,-2,
+-14,31,
+-34,15,
+7,-2,
+-7,79,
+14,-12,
+27,-12,
+13,-35,
+26,8,
+-22,1,
+-16,31,
+-12,4,
+7,-19,
+-24,9,
+-23,-43,
+-3,-21,
+39,3,
+3,-18,
+8,36,
+7,42,
+32,-16,
+37,14,
+6,7,
+46,24,
+7,-7,
+-43,-12,
+-24,-22,
+21,3,
+-23,-8,
+-19,-4,
+29,18,
+-3,22,
+-8,-9,
+7,8,
+-19,14,
+-12,25,
+15,4,
+-6,-12,
+-3,0,
+3,-19,
+1,15,
+25,-17,
+-26,-36,
+17,-3,
+-28,-21,
+-13,32,
+5,-21,
+-3,28,
+15,1,
+-27,15,
+-4,-11,
+5,-4,
+29,-10,
+-1,23,
+16,-24,
+0,-9,
+-4,13,
+4,22,
+16,9,
+-18,-10,
+8,23,
+13,-34,
+-7,-36,
+2,-14,
+21,9,
+-30,3,
+6,15,
+3,17,
+6,9,
+-6,-10,
+4,-8,
+12,13,
+15,-17,
+19,1,
+2,-10,
+3,6,
+-21,-11,
+25,34,
+20,1,
+-5,8,
+11,2,
+27,35,
+-7,0,
+-21,30,
+4,-15,
+-5,5,
+-4,-10,
+8,26,
+-24,16,
+2,-8,
+6,1,
+7,-10,
+-11,2,
+-2,1,
+-13,-1,
+5,14,
+-2,14,
+3,-6,
+-6,14,
+5,-3,
+0,2,
+-3,0,
+18,-8,
+-3,-4,
+-7,-5,
+5,11,
+-1,15,
+6,-10,
+5,-7,
+9,2,
+5,5,
+5,-6,
+3,13,
+-2,6,
+6,-10,
+-12,9,
+3,-2,
+19,-8,
+1,-9,
+-7,-5,
+4,-3,
+2,-14,
+4,0,
+5,6,
+-1,0,
+-9,-10,
+1,1,
+0,-12,
+0,-1,
+14,-2,
+3,1,
+0,3,
+4,-1,
+-7,0,
+-4,-2,
+7,4,
+0,1,
+-3,0,
+5,0,
+-2,0,
+-4,0,
+3,0,
+-2,-1,
+-3,0,
+5,0,
+-2,1,
+-3,0,
+6,0,
+-3,0,
+-2,-1,
+5,0,
+-3,0,
+-2,1,
+3,0,
+-4,0,
+-2,0,
+5,0,
+-3,0,
+0,-1,
+7,-4,
+-4,2,
+-7,0,
+4,1,
+0,-3,
+3,-1,
+14,2,
+0,1,
+0,12,
+1,-1,
+-9,10,
+-1,0,
+5,-6,
+4,0,
+2,14,
+4,3,
+-7,5,
+1,9,
+19,8,
+3,2,
+-12,-9,
+6,10,
+-2,-6,
+3,-13,
+5,6,
+5,-5,
+9,-2,
+5,7,
+6,10,
+-1,-15,
+5,-11,
+-7,5,
+-3,4,
+18,8,
+-3,0,
+0,-2,
+5,3,
+-6,-14,
+3,6,
+-2,-14,
+5,-14,
+-13,1,
+-2,-1,
+-11,-2,
+7,10,
+6,-1,
+2,8,
+-24,-16,
+8,-26,
+-4,10,
+-5,-5,
+4,15,
+-21,-30,
+-7,0,
+27,-35,
+11,-2,
+-5,-8,
+20,-1,
+25,-34,
+-21,11,
+3,-6,
+2,10,
+19,-1,
+15,17,
+12,-13,
+4,8,
+-6,10,
+6,-9,
+3,-17,
+6,-15,
+-30,-3,
+21,-9,
+2,14,
+-7,36,
+13,34,
+8,-23,
+-18,10,
+16,-9,
+4,-22,
+-4,-13,
+0,9,
+16,24,
+-1,-23,
+29,10,
+5,4,
+-4,11,
+-27,-15,
+15,-1,
+-3,-28,
+5,21,
+-13,-32,
+-28,21,
+17,3,
+-26,36,
+25,17,
+1,-15,
+3,19,
+-3,0,
+-6,12,
+15,-4,
+-12,-25,
+-19,-14,
+7,-8,
+-8,9,
+-3,-22,
+29,-18,
+-19,4,
+-23,8,
+21,-3,
+-24,22,
+-43,12,
+7,7,
+46,-24,
+6,-7,
+37,-14,
+32,16,
+7,-42,
+8,-36,
+3,18,
+39,-3,
+-3,21,
+-23,43,
+-24,-9,
+7,19,
+-12,-4,
+-16,-31,
+-22,-1,
+26,-8,
+13,35,
+27,12,
+14,12,
+-7,-79,
+7,2,
+-34,-15,
+-14,-31,
+5,2,
+41,7,
+-60,27,
+20,7,
+7,-20,
+-6,-23,
+66,17,
+45,11,
+-9,39,
+5,-26,
+-19,13,
+-35,-77,
+70,-35,
+-16,19,
+6,-18,
+-52,-20,
+9,30,
+51,34,
+-23,44,
+-11,-4,
+42,-11,
+14,31,
+28,3,
+31,-30,
+-1,18,
+-5,16,
+-12,40,
+13,37,
+12,4,
+17,-46,
+41,8,
+-5,48,
+39,-37,
+27,-20,
+81,68,
+33,0,
+69,-8,
+-22,-52,
+-21,63,
+87,7,
+21,-41,
+63,-5,
+-19,40,
+-40,15,
+44,-8,
+56,-30,
+-85,19,
+27,34,
+38,17,
+-41,-10,
+-18,71,
+9,-1,
+57,-13,
+-57,-13,
+30,-37,
+-21,6,
+24,-23,
+12,-46,
+-46,44,
+0,-26,
+13,3,
+-9,44,
+6,84,
+125,-8,
+-52,12,
+-22,-69,
+40,14,
+-9,-18,
+-1,-6,
+-25,-14,
+0,-38,
+-14,99,
+-36,23,
+56,11,
+-10,-77,
+6,27,
+-6,-46,
+50,-15,
+29,10,
+93,-86,
+-32,11,
+2,85,
+-78,17,
+47,-7,
+-31,-22,
+44,62,
+-19,-1,
+55,31,
+-59,-25,
+-39,-18,
+30,-36,
+-31,-6,
+34,-29,
+-17,19,
+36,-19,
+-21,13,
+-60,-16,
+10,-3,
+11,22,
+42,8,
+-39,17,
+-9,22,
+40,77,
+-27,48,
+51,10,
+39,19,
+26,-13,
+-9,14,
+56,-55,
+4,-8,
+-47,-4,
+-19,-5,
+-32,44,
+41,-75,
+-39,-28,
+21,7,
+31,-118,
+-38,-87,
+-105,6,
+-23,-84,
+46,22,
+-16,-33,
+-68,-36,
+-6,84,
+-9,42,
+36,57,
+61,87,
+52,28,
+3,-40,
+11,-79,
+-4,99,
+-4,-27,
+37,83,
+43,12,
+-23,-41,
+-42,-14,
+-19,48,
+-71,-83,
+-15,46,
+46,58,
+-58,17,
+-3,-8,
+10,-25,
+12,-29,
+-167,-36,
+-75,4,
+-4,90,
+-8,109,
+36,5,
+41,-118,
+28,46,
+-17,-7,
+-34,-32,
+-20,14,
+31,-25,
+28,-27,
+-69,-9,
+79,-96,
+-12,-23,
+-31,-20,
+173,-32,
+38,-1,
+29,-14,
+34,-24,
+-71,-15,
+65,11,
+117,-37,
+-30,-44,
+-77,-63,
+-40,-30,
+-38,-9,
+-195,-115,
+50,-15,
+-92,-53,
+-7,-159,
+28,-71,
+6,-63,
+-35,55,
+14,8,
+92,93,
+101,-84,
+-73,9,
+-67,131,
+-83,-21,
+-58,44,
+2,-43,
+-49,-87,
+-11,-24,
+13,-12,
+90,19,
+95,-170,
+42,-45,
+12,6,
+174,46,
+-17,38,
+-234,-204,
+-2,-17,
+-26,26,
+64,74,
+31,10,
+-95,-31,
+62,-24,
+-7,-97,
+-36,128,
+3,23,
+-12,89,
+-16,-53,
+-57,64,
+-7,1,
+34,-16,
+22,70,
+10,-41,
+-50,-18,
+-1,124,
+14,40,
+-42,-88,
+-31,-28,
+-30,-103,
+58,-85,
+-42,157,
+30,22,
+-8,2,
+104,119,
+81,12,
+56,-24,
+14,98,
+-38,-88,
+149,-53,
+114,19,
+76,111,
+73,39,
+51,117,
+-108,-118,
+-49,123,
+23,-81,
+-24,151,
+1,52,
+-6,-95,
+-9,106,
+-61,29,
+5,-51,
+41,8,
+-62,34,
+-149,17,
+106,63,
+-82,35,
+85,-9,
+6,-104,
+69,34,
+4,47,
+-4,51,
+10,106,
+-58,-21,
+-12,57,
+82,-41,
+-101,-2,
+-84,-57,
+46,-107,
+-13,40,
+-43,-111,
+85,25,
+-60,-130,
+63,-56,
+50,-118,
+13,27,
+-9,6,
+-21,5,
+-21,59,
+28,62,
+-37,-48,
+211,93,
+149,-16,
+36,55,
+-130,34,
+-126,38,
+49,85,
+39,-43,
+-100,-15,
+2,-88,
+28,84,
+-33,-41,
+-89,-29,
+-29,-125,
+96,19,
+68,47,
+-158,-59,
+-29,-18,
+-134,127,
+14,65,
+-32,-66,
+68,-129,
+-2,-13,
+-87,47,
+66,-24,
+-3,-47,
+52,-51,
+146,80,
+-46,-89,
+73,-86,
+14,54,
+-91,-57,
+-33,47,
+-38,96,
+-23,-102,
+79,127,
+-34,-55,
+-75,137,
+32,-54,
+-43,-140,
+158,-11,
+-87,75,
+-123,63,
+151,32,
+11,-9,
+193,194,
+-17,117,
+24,-76,
+48,5,
+78,-33,
+14,14,
+-78,76,
+96,-2,
+-28,-28,
+121,86,
+87,43,
+137,160,
+-97,-7,
+-4,-9,
+40,-107,
+23,47,
+60,-79,
+13,68,
+165,-86,
+71,-25,
+-87,-127,
+-144,-70,
+-110,-14,
+41,23,
+48,-29,
+-50,48,
+63,6,
+121,24,
+-8,7,
+46,-53,
+-59,47,
+41,-228,
+26,19,
+50,69,
+51,-97,
+-85,87,
+-76,-15,
+-85,-72,
+-95,-17,
+120,91,
+-118,-85,
+31,-3,
+-2,-42,
+144,73,
+148,217,
+-32,90,
+118,53,
+-22,116,
+-107,12,
+172,-59,
+51,-16,
+-28,45,
+25,-134,
+80,-40,
+-75,-8,
+-52,45,
+-62,-25,
+-160,-131,
+-122,-13,
+-123,-175,
+-14,-106,
+146,174,
+-61,-106,
+-16,58,
+20,-3,
+60,112,
+-37,112,
+54,30,
+-69,6,
+13,-86,
+53,-42,
+29,28,
+199,-55,
+-114,81,
+29,-92,
+43,-92,
+-106,-41,
+17,-7,
+7,-1,
+-19,-48,
+-1,73,
+115,225,
+80,57,
+112,-104,
+-25,-92,
+84,-134,
+-91,33,
+110,-67,
+3,-70,
+89,80,
+-72,8,
+-66,-43,
+-192,-223,
+24,3,
+-13,-117,
+-41,29,
+-9,-15,
+-51,42,
+-20,-104,
+121,-80,
+-30,39,
+-103,-108,
+-152,-23,
+-125,-267,
+78,57,
+-110,21,
+-138,53,
+98,21,
+119,-218,
+15,163,
+8,45,
+-207,-60,
+155,56,
+-131,-58,
+5,10,
+-21,161,
+-77,8,
+89,-27,
+42,50,
+47,-145,
+49,-24,
+-84,-98,
+135,-85,
+31,65,
+-95,-13,
+40,42,
+162,-33,
+86,-81,
+-112,144,
+-111,-9,
+-12,214,
+66,51,
+-20,7,
+-41,-145,
+100,1,
+186,167,
+-134,25,
+54,-77,
+5,81,
+98,50,
+-30,-15,
+-4,-42,
+-142,110,
+-32,216,
+26,-30,
+-161,-298,
+64,-124,
+-59,-127,
+-46,99,
+-64,-30,
+-21,4,
+-35,78,
+37,-59,
+53,-110,
+213,51,
+12,-105,
+166,44,
+-62,-13,
+139,-7,
+22,3,
+114,86,
+61,95,
+-68,-8,
+77,-86,
+-121,115,
+-42,40,
+-118,-85,
+-91,39,
+29,-35,
+51,-195,
+104,143,
+-115,-161,
+-60,80,
+-28,60,
+-73,168,
+21,-71,
+63,-34,
+-94,115,
+-26,27,
+-25,-54,
+17,89,
+-133,-37,
+-202,-21,
+287,127,
+-271,79,
+92,-9,
+-116,-137,
+-224,-114,
+-27,-204,
+223,-141,
+-103,-76,
+47,99,
+-3,-130,
+-133,-187,
+-44,-32,
+-35,-130,
+-164,65,
+-41,-18,
+-10,-8,
+163,-54,
+164,152,
+22,8,
+-39,-32,
+-129,65,
+-53,11,
+65,19,
+-9,-34,
+-107,-68,
+46,6,
+-3,107,
+-146,46,
+133,-56,
+-285,99,
+-36,12,
+34,-69,
+150,105,
+-40,-80,
+28,77,
+-81,-36,
+-196,-205,
+253,299,
+122,216,
+105,36,
+-148,-166,
+-50,-190,
+201,28,
+129,-178,
+146,-191,
+-132,-16,
+140,73,
+145,-10,
+-11,91,
+90,56,
+-155,132,
+-97,203,
+-37,13,
+38,-62,
+39,-248,
+-244,-21,
+85,127,
+-9,-83,
+214,-56,
+238,154,
+128,-98,
+61,221,
+106,105,
+168,227,
+-56,8,
+126,182,
+183,22,
+-60,-213,
+48,-68,
+57,8,
+-24,63,
+49,-73,
+73,-226,
+-48,-82,
+79,-149,
+146,47,
+-11,27,
+189,-138,
+32,145,
+-78,-93,
+132,-60,
+21,181,
+-121,5,
+143,-107,
+46,-38,
+52,-44,
+-177,-79,
+-244,83,
+-22,193,
+145,186,
+20,189,
+1,-196,
+130,96,
+-101,89,
+-201,-66,
+110,-15,
+-53,183,
+31,68,
+24,11,
+54,128,
+-72,-108,
+6,-143,
+-227,92,
+59,-27,
+-15,-56,
+183,49,
+-106,-123,
+-176,-209,
+-105,31,
+-190,-62,
+-42,28,
+-32,181,
+53,27,
+140,-144,
+-79,112,
+191,217,
+175,60,
+144,-38,
+148,-15,
+19,-51,
+55,115,
+119,-108,
+-170,123,
+47,145,
+131,-87,
+-46,-81,
+119,0,
+-48,-32,
+-29,-189,
+-21,32,
+-121,-93,
+-182,-6,
+-91,30,
+22,13,
+-92,5,
+-11,-132,
+16,68,
+-19,79,
+57,81,
+-51,-30,
+42,-128,
+-3,154,
+84,-141,
+31,36,
+115,132,
+-15,15,
+17,44,
+-118,-147,
+-25,88,
+-89,-148,
+155,130,
+-135,-48,
+-225,227,
+52,-108,
+97,-87,
+103,-239,
+6,1,
+30,-88,
+139,53,
+-46,-45,
+211,-40,
+-253,-69,
+-137,196,
+-24,-41,
+160,-52,
+-39,237,
+-15,-175,
+163,-84,
+-73,237,
+215,-128,
+-121,-124,
+-212,-150,
+-144,57,
+65,-52,
+-89,62,
+78,45,
+-15,13,
+97,-12,
+86,-111,
+-36,139,
+135,-49,
+74,21,
+-143,-210,
+-34,207,
+-120,64,
+15,-187,
+-114,105,
+-71,43,
+72,-27,
+99,-164,
+-129,67,
+-95,80,
+40,-75,
+96,-350,
+-36,-4,
+-84,-79,
+-68,16,
+314,-20,
+-219,-371,
+-155,-91,
+108,-209,
+43,-52,
+-112,-84,
+-29,-27,
+132,-151,
+18,-22,
+-155,4,
+-110,-44,
+-141,101,
+42,-43,
+30,-120,
+-8,-57,
+-44,-137,
+-44,-77,
+24,14,
+-75,26,
+-280,-70,
+-17,-135,
+91,150,
+-29,243,
+19,-344,
+154,92,
+155,-44,
+205,32,
+-166,147,
+52,-74,
+-171,-236,
+-17,-106,
+92,-117,
+73,-49,
+-27,128,
+-75,-52,
+-127,95,
+104,-182,
+77,121,
+0,112,
+198,41,
+76,-60,
+198,-4,
+-220,-100,
+-72,-159,
+-46,17,
+122,-16,
+28,155,
+46,12,
+29,-8,
+-173,87,
+-23,160,
+-135,-66,
+-125,-78,
+114,-146,
+76,63,
+137,-68,
+132,-212,
+-150,-80,
+164,-142,
+100,-168,
+-36,-68,
+-114,256,
+-4,76,
+-95,-43,
+-5,84,
+12,79,
+53,-78,
+106,-77,
+49,79,
+-92,5,
+181,22,
+118,119,
+-21,-46,
+13,-87,
+-100,138,
+8,-40,
+-41,-142,
+-13,130,
+-202,-176,
+-202,175,
+200,34,
+-176,78,
+191,76,
+-28,-120,
+117,29,
+14,63,
+39,153,
+-179,-191,
+94,-37,
+9,-115,
+-34,-60,
+-177,-10,
+167,59,
+164,-129,
+-53,36,
+139,0,
+-67,-14,
+-88,-52,
+-340,-4,
+-121,-58,
+82,31,
+65,-54,
+25,216,
+229,-157,
+44,-47,
+-135,89,
+46,-24,
+-20,-169,
+-18,-80,
+-134,-108,
+100,-214,
+-177,226,
+148,0,
+91,-165,
+202,-167,
+-107,29,
+225,-146,
+82,-197,
+313,48,
+-47,131,
+201,90,
+-264,-20,
+135,-23,
+148,113,
+165,16,
+47,177,
+-189,-180,
+45,-16,
+-29,54,
+-46,143,
+90,-2,
+126,93,
+81,-128,
+151,96,
+-96,-32,
+179,-23,
+-38,54,
+-81,-119,
+41,-73,
+-187,-78,
+-46,100,
+238,32,
+148,-129,
+-83,21,
+-176,-165,
+114,-96,
+-46,-141,
+69,-82,
+102,40,
+123,-151,
+-13,102,
+-118,104,
+223,-68,
+-285,-309,
+-288,-97,
+100,152,
+-266,-21,
+-279,-134,
+14,-61,
+163,-169,
+-131,122,
+-21,106,
+-337,76,
+-55,57,
+-270,-212,
+23,-225,
+42,-248,
+27,-82,
+88,49,
+-161,165,
+47,130,
+70,-186,
+142,-88,
+-1,42,
+-40,-53,
+-19,-59,
+48,152,
+-77,76,
+-35,77,
+-29,-72,
+198,4,
+28,184,
+203,-218,
+11,0,
+22,24,
+92,67,
+-44,21,
+175,-61,
+38,-50,
+-79,-28,
+185,148,
+-187,-108,
+122,-117,
+-254,125,
+69,-65,
+-195,-110,
+-63,243,
+33,-138,
+200,-69,
+-101,-49,
+-51,-48,
+28,-180,
+30,-82,
+283,78,
+-56,5,
+-208,-3,
+261,101,
+-206,-3,
+-287,-67,
+14,-72,
+-132,-11,
+34,179,
+-54,133,
+-62,-177,
+-143,139,
+173,-33,
+196,163,
+-143,-15,
+73,86,
+16,191,
+50,-16,
+96,58,
+223,-266,
+-50,-22,
+156,-37,
+-43,69,
+135,264,
+65,-185,
+83,-12,
+-121,160,
+-104,-74,
+129,-209,
+79,6,
+-30,15,
+56,203,
+109,-190,
+18,100,
+-121,-80,
+-316,-235,
+171,-20,
+15,18,
+-78,91,
+356,44,
+94,204,
+205,318,
+-110,-100,
+49,32,
+-108,285,
+-151,28,
+-225,49,
+75,147,
+143,97,
+85,-132,
+-194,253,
+-89,-69,
+126,166,
+51,116,
+70,8,
+181,-76,
+-118,-24,
+5,-5,
+166,-141,
+-17,204,
+59,10,
+37,10,
+-222,-175,
+37,83,
+-6,180,
+-29,85,
+-143,-91,
+129,306,
+-39,-131,
+115,153,
+-165,-263,
+4,-149,
+-97,5,
+162,154,
+13,59,
+14,168,
+-86,252,
+191,-58,
+-172,136,
+-141,141,
+-50,168,
+81,-125,
+-137,108,
+63,44,
+19,164,
+113,-140,
+-83,-311,
+118,-185,
+112,-65,
+-114,28,
+132,86,
+-171,-97,
+263,57,
+-62,12,
+-98,109,
+-148,-166,
+-106,-4,
+167,63,
+154,81,
+-73,-29,
+144,137,
+-159,34,
+75,-12,
+-4,108,
+-81,127,
+235,15,
+-17,-101,
+16,-20,
+205,-28,
+46,-30,
+-113,40,
+308,-50,
+155,-55,
+46,-32,
+-229,7,
+114,-11,
+-224,40,
+303,-146,
+219,-69,
+170,77,
+253,-122,
+-228,92,
+-4,62,
+172,155,
+169,27,
+169,-26,
+-325,-185,
+50,163,
+-208,-11,
+-192,-246,
+-76,153,
+-169,208,
+-122,61,
+-168,27,
+-28,3,
+-57,239,
+-13,-1,
+51,62,
+18,215,
+-37,-195,
+-89,-36,
+-142,-37,
+69,87,
+4,-277,
+-82,81,
+-82,33,
+74,-46,
+166,49,
+-48,277,
+-95,-42,
+86,-138,
+5,162,
+-54,148,
+2,-52,
+279,129,
+-215,29,
+-6,150,
+-135,22,
+-108,-155,
+-4,-40,
+106,-84,
+-104,135,
+108,164,
+-9,46,
+-340,-43,
+-219,-40,
+128,87,
+38,-42,
+135,-231,
+-20,-201,
+-39,124,
+-181,168,
+65,33,
+29,39,
+-84,-119,
+-268,100,
+-42,-135,
+-144,61,
+113,85,
+-144,6,
+-112,14,
+-157,-188,
+172,16,
+13,109,
+82,-133,
+216,68,
+-160,4,
+-60,-157,
+30,87,
+-141,100,
+36,13,
+-81,140,
+67,30,
+29,-136,
+-61,-17,
+-2,83,
+118,-92,
+124,57,
+-34,-57,
+0,-104,
+44,11,
+156,-94,
+-118,-119,
+-5,44,
+-108,81,
+-269,-51,
+-327,21,
+-25,123,
+99,-79,
+34,77,
+-129,-47,
+250,-23,
+35,-43,
+28,-42,
+190,-71,
+43,-167,
+-43,49,
+61,60,
+73,72,
+-26,71,
+-24,-193,
+0,-145,
+-11,-88,
+-48,-85,
+-76,88,
+53,53,
+-139,-41,
+59,70,
+-66,137,
+-186,10,
+132,136,
+177,-116,
+20,133,
+-77,219,
+-26,-15,
+0,-51,
+88,73,
+-102,360,
+-35,-22,
+34,29,
+-36,129,
+-151,64,
+28,12,
+1,-349,
+27,-17,
+-72,74,
+-92,75,
+122,-87,
+-270,-51,
+-18,-38,
+98,-68,
+-25,-113,
+260,-213,
+57,-115,
+102,147,
+128,75,
+132,221,
+215,157,
+-86,139,
+119,58,
+138,-92,
+-52,-254,
+84,67,
+28,29,
+-72,28,
+20,-20,
+183,-143,
+47,10,
+123,212,
+28,317,
+145,-25,
+73,46,
+-85,-132,
+33,69,
+76,-3,
+-65,-27,
+180,10,
+36,170,
+-25,-21,
+-107,52,
+52,71,
+-19,18,
+-187,155,
+30,-67,
+-140,23,
+-92,229,
+-225,-69,
+-97,10,
+32,-44,
+-104,223,
+-221,198,
+-10,213,
+46,15,
+-54,-44,
+273,86,
+-141,70,
+-41,26,
+-1,-103,
+12,102,
+152,-39,
+4,-32,
+-78,267,
+19,135,
+91,92,
+-99,45,
+352,-137,
+-109,95,
+-261,-163,
+39,3,
+-1,112,
+78,-32,
+-87,147,
+26,164,
+201,-33,
+89,-305,
+79,-28,
+-3,-193,
+71,-45,
+117,33,
+161,11,
+71,-49,
+-8,-131,
+131,179,
+57,-6,
+22,160,
+142,-68,
+27,27,
+174,-100,
+33,40,
+-144,47,
+-74,-139,
+-4,-31,
+-266,-32,
+-63,34,
+-78,-76,
+92,167,
+66,10,
+102,63,
+-144,-32,
+27,-17,
+84,-61,
+44,-45,
+-77,-3,
+-11,-97,
+-9,7,
+13,178,
+75,-20,
+-70,-200,
+107,-58,
+-35,-192,
+20,36,
+-12,-97,
+-30,-96,
+-19,-185,
+-191,49,
+205,29,
+-64,105,
+-93,16,
+-208,109,
+34,19,
+-35,36,
+58,-39,
+26,153,
+-53,93,
+195,-52,
+30,47,
+-61,-79,
+16,-27,
+-157,-46,
+-11,10,
+-145,-79,
+-50,209,
+56,7,
+-10,-14,
+-54,29,
+29,-10,
+7,-26,
+3,-127,
+-24,-1,
+-136,-79,
+74,-31,
+134,166,
+109,-34,
+26,17,
+-152,-67,
+-177,107,
+51,-3,
+78,47,
+10,-33,
+106,46,
+132,-88,
+-91,-18,
+109,-17,
+104,-67,
+40,102,
+80,121,
+-18,17,
+15,-69,
+-39,17,
+-97,82,
+12,45,
+30,67,
+-72,0,
+-62,38,
+22,-65,
+153,143,
+70,-80,
+-164,28,
+156,-63,
+4,1,
+14,-124,
+-19,252,
+112,132,
+82,26,
+69,109,
+-46,-203,
+20,-80,
+-87,-66,
+151,-5,
+-132,91,
+-31,64,
+111,-8,
+82,84,
+28,34,
+-3,64,
+-70,-47,
+133,167,
+-71,-163,
+81,-140,
+-6,-75,
+204,53,
+-98,52,
+-322,52,
+-86,-169,
+-23,74,
+157,-231,
+121,-77,
+75,-17,
+6,-36,
+56,-138,
+26,66,
+155,205,
+66,-49,
+-24,-181,
+130,59,
+-14,56,
+-39,-3,
+-21,-102,
+-173,-93,
+-119,65,
+144,-49,
+12,235,
+13,74,
+-71,-105,
+21,-112,
+-16,-68,
+4,-83,
+101,26,
+-68,51,
+6,48,
+-91,34,
+143,-29,
+82,-75,
+37,-121,
+60,102,
+9,-123,
+-67,-96,
+-70,-108,
+111,69,
+-27,-35,
+10,-143,
+-100,-16,
+-68,-35,
+109,149,
+-5,-50,
+-78,105,
+-41,3,
+-38,13,
+-49,124,
+-12,-84,
+25,14,
+16,-124,
+-94,90,
+122,58,
+-75,-135,
+-20,3,
+227,60,
+-48,-29,
+28,144,
+-35,67,
+-175,-58,
+-16,24,
+28,39,
+-40,-120,
+-2,-47,
+90,-76,
+38,-78,
+88,166,
+11,20,
+-46,58,
+-30,7,
+-12,-60,
+57,85,
+17,-84,
+-186,39,
+111,19,
+-10,-81,
+49,-18,
+60,-41,
+-30,-90,
+122,35,
+-29,42,
+104,-10,
+-101,-98,
+-97,-62,
+-29,103,
+23,-25,
+-21,11,
+-206,-75,
+26,-9,
+-39,59,
+-13,50,
+-122,76,
+-6,65,
+26,57,
+41,-166,
+63,77,
+-11,25,
+-34,8,
+-82,7,
+-110,-6,
+-73,-22,
+86,-72,
+105,137,
+129,6,
+-122,-51,
+24,-113,
+-81,-102,
+-95,12,
+152,39,
+-2,-16,
+-162,102,
+-14,23,
+166,57,
+38,147,
+-94,-42,
+-40,17,
+3,99,
+-137,92,
+-33,64,
+-163,113,
+72,-204,
+-80,-205,
+59,-46,
+82,57,
+-68,142,
+-195,-87,
+21,92,
+-32,-32,
+90,54,
+-26,-56,
+82,9,
+13,120,
+41,52,
+39,-57,
+39,12,
+44,-50,
+-51,98,
+-157,-103,
+8,23,
+-81,35,
+97,72,
+154,66,
+49,32,
+73,-68,
+-131,114,
+35,-14,
+-46,7,
+32,-42,
+-20,146,
+89,54,
+-79,-118,
+53,1,
+43,19,
+25,-39,
+60,-11,
+29,-56,
+-67,-25,
+9,71,
+123,-26,
+23,63,
+-1,118,
+-31,-16,
+-37,34,
+-4,36,
+-43,83,
+49,31,
+-24,41,
+50,22,
+13,-93,
+40,-132,
+-97,11,
+84,105,
+37,83,
+14,17,
+-45,-17,
+-48,-97,
+-19,34,
+-92,40,
+51,-49,
+1,9,
+-47,6,
+95,-17,
+24,3,
+54,-58,
+-64,-136,
+5,56,
+-48,-105,
+-2,-27,
+-43,101,
+34,12,
+39,53,
+62,-5,
+56,1,
+-59,45,
+67,-52,
+43,-56,
+40,-160,
+13,85,
+98,-12,
+-46,15,
+-61,-118,
+-106,35,
+-2,-4,
+-76,-43,
+6,71,
+-151,-38,
+-69,46,
+1,-7,
+59,21,
+46,9,
+-57,-28,
+-44,-31,
+19,9,
+-54,85,
+-37,-39,
+39,-20,
+-33,-2,
+80,94,
+25,3,
+34,24,
+-57,-133,
+47,-59,
+-67,-73,
+-49,-27,
+7,-62,
+26,-1,
+-26,76,
+-64,97,
+81,-16,
+-43,74,
+120,43,
+8,9,
+-3,69,
+-87,10,
+47,68,
+18,118,
+-83,2,
+-1,9,
+-137,41,
+-83,78,
+-56,55,
+100,69,
+60,-45,
+38,-47,
+0,147,
+13,-104,
+-11,-122,
+-100,50,
+82,-1,
+-57,129,
+23,-46,
+175,6,
+40,6,
+24,-14,
+14,29,
+-25,94,
+23,-47,
+-36,-78,
+59,81,
+34,-45,
+-18,104,
+12,-6,
+87,-57,
+146,-48,
+54,-74,
+50,-15,
+-80,-9,
+58,-109,
+36,-121,
+46,46,
+-1,-90,
+-10,-39,
+103,-11,
+-8,-1,
+-10,-23,
+79,-45,
+-3,69,
+41,12,
+-1,50,
+-15,-13,
+-3,10,
+36,9,
+-105,-12,
+87,68,
+109,77,
+101,-36,
+2,97,
+-35,63,
+-54,-10,
+29,-12,
+58,25,
+-60,-13,
+-29,36,
+-81,35,
+11,25,
+94,40,
+76,2,
+40,132,
+122,36,
+-2,8,
+-36,112,
+-66,7,
+-85,79,
+-22,8,
+4,-49,
+-48,-12,
+-27,-73,
+30,52,
+53,-53,
+-71,-34,
+-48,75,
+-96,-45,
+85,-48,
+59,-1,
+-42,2,
+62,-31,
+87,4,
+80,-17,
+-66,33,
+31,-13,
+76,-47,
+23,15,
+29,92,
+-39,11,
+75,-34,
+35,-37,
+4,-11,
+15,16,
+16,-57,
+4,25,
+8,-33,
+-54,-24,
+-76,29,
+-27,-24,
+-19,-20,
+45,51,
+38,9,
+-18,-28,
+-24,50,
+-57,40,
+1,12,
+-14,54,
+-33,19,
+29,30,
+-31,-42,
+23,58,
+15,-7,
+12,-123,
+-10,-105,
+23,-11,
+14,-43,
+-42,5,
+-21,10,
+-19,54,
+-20,-26,
+-10,0,
+-21,43,
+20,38,
+-5,-5,
+-4,-7,
+-29,0,
+0,9,
+33,22,
+33,-62,
+20,22,
+8,-19,
+-8,-46,
+-28,12,
+6,6,
+18,53,
+-31,29,
+28,-7,
+-20,21,
+-74,-93,
+65,-3,
+21,-6,
+-37,8,
+43,-75,
+-44,-25,
+8,-63,
+-8,22,
+21,17,
+41,-42,
+39,-49,
+-47,51,
+-93,-18,
+9,48,
+20,29,
+-18,-74,
+-9,-90,
+23,7,
+31,3,
+38,4,
+9,5,
+-68,12,
+6,-41,
+-3,-11,
+2,-55,
+73,15,
+-18,0,
+4,57,
+53,-42,
+24,5,
+-34,28,
+6,-27,
+50,-16,
+28,45,
+-21,25,
+26,-32,
+-17,-17,
+-14,12,
+-40,-9,
+44,-6,
+-52,-41,
+-9,-8,
+15,17,
+41,0,
+4,-1,
+16,-3,
+63,-26,
+-43,-18,
+22,-50,
+86,-20,
+-19,-34,
+-23,-43,
+5,-23,
+-4,-47,
+5,9,
+-36,-44,
+16,89,
+29,40,
+34,-51,
+-19,23,
+18,-5,
+-13,56,
+-12,77,
+-13,0,
+-16,29,
+14,-45,
+-4,6,
+-7,-33,
+-13,69,
+-4,32,
+-2,-3,
+2,4,
+-8,36,
+-8,6,
+-10,11,
+-8,12,
+33,23,
+18,-21,
+-6,-3,
+16,24,
+13,-41,
+7,38,
+3,14,
+25,9,
+-17,15,
+-9,-45,
+-4,-31,
+27,35,
+-15,-18,
+6,33,
+-3,-27,
+12,12,
+-6,6,
+-43,15,
+-42,7,
+-18,-13,
+5,36,
+39,-16,
+-15,-6,
+5,4,
+9,2,
+39,-40,
+-2,1,
+18,-2,
+17,15,
+31,-19,
+16,17,
+10,8,
+11,7,
+-31,-27,
+-16,9,
+-20,-17,
+41,22,
+-19,-3,
+28,-5,
+1,-17,
+13,15,
+19,-15,
+-12,-9,
+-29,-7,
+38,5,
+-2,11,
+-6,6,
+-2,4,
+0,-3,
+-17,1,
+8,24,
+19,3,
+-6,4,
+29,3,
+-7,-24,
+7,-2,
+3,35,
+18,-10,
+-1,-15,
+14,-15,
+18,-10,
+4,-6,
+0,13,
+14,-12,
+31,39,
+2,11,
+0,2,
+15,5,
+-14,2,
+-14,-9,
+-3,-27,
+-6,11,
+8,9,
+-9,-3,
+21,6,
+-8,4,
+-18,4,
+3,1,
+7,-13,
+-6,1,
+2,17,
+1,-6,
+14,10,
+-1,1,
+-13,4,
+0,5,
+-11,15,
+9,-5,
+5,5,
+5,2,
+4,-4,
+-1,4,
+12,14,
+-7,-8,
+2,-9,
+1,9,
+7,-11,
+2,2,
+-5,-1,
+-2,-14,
+2,-2,
+1,4,
+1,-2,
+0,-5,
+1,9,
+-1,4,
+-6,-5,
+-2,4,
+1,-2,
+-6,-2,
+2,9,
+1,-7,
+0,-3,
+-1,3,
+1,-3,
+0,-6,
+-2,8,
+1,-6,
+1,0,
+-1,6,
+0,-4,
+0,0,
+0,5,
+0,-5,
+0,0,
+0,5,
+0,-5,
+0,0,
+0,4,
+-1,-6,
+1,0,
+1,6,
+-2,-8,
+0,6,
+1,3,
+-1,-3,
+0,3,
+1,7,
+2,-9,
+-6,2,
+1,2,
+-2,-4,
+-6,5,
+-1,-4,
+1,-9,
+0,5,
+1,2,
+1,-4,
+2,2,
+-2,14,
+-5,1,
+2,-2,
+7,11,
+1,-9,
+2,9,
+-7,8,
+12,-14,
+-1,-4,
+4,4,
+5,-2,
+5,-5,
+9,5,
+-11,-15,
+0,-5,
+-13,-4,
+-1,-1,
+14,-10,
+1,6,
+2,-17,
+-6,-1,
+7,13,
+3,-1,
+-18,-4,
+-8,-4,
+21,-6,
+-9,3,
+8,-9,
+-6,-11,
+-3,27,
+-14,9,
+-14,-2,
+15,-5,
+0,-2,
+2,-11,
+31,-39,
+14,12,
+0,-13,
+4,6,
+18,10,
+14,15,
+-1,15,
+18,10,
+3,-35,
+7,2,
+-7,24,
+29,-3,
+-6,-4,
+19,-3,
+8,-24,
+-17,-1,
+0,3,
+-2,-4,
+-6,-6,
+-2,-11,
+38,-5,
+-29,7,
+-12,9,
+19,15,
+13,-15,
+1,17,
+28,5,
+-19,3,
+41,-22,
+-20,17,
+-16,-9,
+-31,27,
+11,-7,
+10,-8,
+16,-17,
+31,19,
+17,-15,
+18,2,
+-2,-1,
+39,40,
+9,-2,
+5,-4,
+-15,6,
+39,16,
+5,-36,
+-18,13,
+-42,-7,
+-43,-15,
+-6,-6,
+12,-12,
+-3,27,
+6,-33,
+-15,18,
+27,-35,
+-4,31,
+-9,45,
+-17,-15,
+25,-9,
+3,-14,
+7,-38,
+13,41,
+16,-24,
+-6,3,
+18,21,
+33,-23,
+-8,-12,
+-10,-11,
+-8,-6,
+-8,-36,
+2,-4,
+-2,3,
+-4,-32,
+-13,-69,
+-7,33,
+-4,-6,
+14,45,
+-16,-29,
+-13,0,
+-12,-77,
+-13,-56,
+18,5,
+-19,-23,
+34,51,
+29,-40,
+16,-89,
+-36,44,
+5,-9,
+-4,47,
+5,23,
+-23,43,
+-19,34,
+86,20,
+22,50,
+-43,18,
+63,26,
+16,3,
+4,1,
+41,0,
+15,-17,
+-9,8,
+-52,41,
+44,6,
+-40,9,
+-14,-12,
+-17,17,
+26,32,
+-21,-25,
+28,-45,
+50,16,
+6,27,
+-34,-28,
+24,-5,
+53,42,
+4,-57,
+-18,0,
+73,-15,
+2,55,
+-3,11,
+6,41,
+-68,-12,
+9,-5,
+38,-4,
+31,-3,
+23,-7,
+-9,90,
+-18,74,
+20,-29,
+9,-48,
+-93,18,
+-47,-51,
+39,49,
+41,42,
+21,-17,
+-8,-22,
+8,63,
+-44,25,
+43,75,
+-37,-8,
+21,6,
+65,3,
+-74,93,
+-20,-21,
+28,7,
+-31,-29,
+18,-53,
+6,-6,
+-28,-12,
+-8,46,
+8,19,
+20,-22,
+33,62,
+33,-22,
+0,-9,
+-29,0,
+-4,7,
+-5,5,
+20,-38,
+-21,-43,
+-10,0,
+-20,26,
+-19,-54,
+-21,-10,
+-42,-5,
+14,43,
+23,11,
+-10,105,
+12,123,
+15,7,
+23,-58,
+-31,42,
+29,-30,
+-33,-19,
+-14,-54,
+1,-12,
+-57,-40,
+-24,-50,
+-18,28,
+38,-9,
+45,-51,
+-19,20,
+-27,24,
+-76,-29,
+-54,24,
+8,33,
+4,-25,
+16,57,
+15,-16,
+4,11,
+35,37,
+75,34,
+-39,-11,
+29,-92,
+23,-15,
+76,47,
+31,13,
+-66,-33,
+80,17,
+87,-4,
+62,31,
+-42,-2,
+59,1,
+85,48,
+-96,45,
+-48,-75,
+-71,34,
+53,53,
+30,-52,
+-27,73,
+-48,12,
+4,49,
+-22,-8,
+-85,-79,
+-66,-7,
+-36,-112,
+-2,-8,
+122,-36,
+40,-132,
+76,-2,
+94,-40,
+11,-25,
+-81,-35,
+-29,-36,
+-60,13,
+58,-25,
+29,12,
+-54,10,
+-35,-63,
+2,-97,
+101,36,
+109,-77,
+87,-68,
+-105,12,
+36,-9,
+-3,-10,
+-15,13,
+-1,-50,
+41,-12,
+-3,-69,
+79,45,
+-10,23,
+-8,1,
+103,11,
+-10,39,
+-1,90,
+46,-46,
+36,121,
+58,109,
+-80,9,
+50,15,
+54,74,
+146,48,
+87,57,
+12,6,
+-18,-104,
+34,45,
+59,-81,
+-36,78,
+23,47,
+-25,-94,
+14,-29,
+24,14,
+40,-6,
+175,-6,
+23,46,
+-57,-129,
+82,1,
+-100,-50,
+-11,122,
+13,104,
+0,-147,
+38,47,
+60,45,
+100,-69,
+-56,-55,
+-83,-78,
+-137,-41,
+-1,-9,
+-83,-2,
+18,-118,
+47,-68,
+-87,-10,
+-3,-69,
+8,-9,
+120,-43,
+-43,-74,
+81,16,
+-64,-97,
+-26,-76,
+26,1,
+7,62,
+-49,27,
+-67,73,
+47,59,
+-57,133,
+34,-24,
+25,-3,
+80,-94,
+-33,2,
+39,20,
+-37,39,
+-54,-85,
+19,-9,
+-44,31,
+-57,28,
+46,-9,
+59,-21,
+1,7,
+-69,-46,
+-151,38,
+6,-71,
+-76,43,
+-2,4,
+-106,-35,
+-61,118,
+-46,-15,
+98,12,
+13,-85,
+40,160,
+43,56,
+67,52,
+-59,-45,
+56,-1,
+62,5,
+39,-53,
+34,-12,
+-43,-101,
+-2,27,
+-48,105,
+5,-56,
+-64,136,
+54,58,
+24,-3,
+95,17,
+-47,-6,
+1,-9,
+51,49,
+-92,-40,
+-19,-34,
+-48,97,
+-45,17,
+14,-17,
+37,-83,
+84,-105,
+-97,-11,
+40,132,
+13,93,
+50,-22,
+-24,-41,
+49,-31,
+-43,-83,
+-4,-36,
+-37,-34,
+-31,16,
+-1,-118,
+23,-63,
+123,26,
+9,-71,
+-67,25,
+29,56,
+60,11,
+25,39,
+43,-19,
+53,-1,
+-79,118,
+89,-54,
+-20,-146,
+32,42,
+-46,-7,
+35,14,
+-131,-114,
+73,68,
+49,-32,
+154,-66,
+97,-72,
+-81,-35,
+8,-23,
+-157,103,
+-51,-98,
+44,50,
+39,-12,
+39,57,
+41,-52,
+13,-120,
+82,-9,
+-26,56,
+90,-54,
+-32,32,
+21,-92,
+-195,87,
+-68,-142,
+82,-57,
+59,46,
+-80,205,
+72,204,
+-163,-113,
+-33,-64,
+-137,-92,
+3,-99,
+-40,-17,
+-94,42,
+38,-147,
+166,-57,
+-14,-23,
+-162,-102,
+-2,16,
+152,-39,
+-95,-12,
+-81,102,
+24,113,
+-122,51,
+129,-6,
+105,-137,
+86,72,
+-73,22,
+-110,6,
+-82,-7,
+-34,-8,
+-11,-25,
+63,-77,
+41,166,
+26,-57,
+-6,-65,
+-122,-76,
+-13,-50,
+-39,-59,
+26,9,
+-206,75,
+-21,-11,
+23,25,
+-29,-103,
+-97,62,
+-101,98,
+104,10,
+-29,-42,
+122,-35,
+-30,90,
+60,41,
+49,18,
+-10,81,
+111,-19,
+-186,-39,
+17,84,
+57,-85,
+-12,60,
+-30,-7,
+-46,-58,
+11,-20,
+88,-166,
+38,78,
+90,76,
+-2,47,
+-40,120,
+28,-39,
+-16,-24,
+-175,58,
+-35,-67,
+28,-144,
+-48,29,
+227,-60,
+-20,-3,
+-75,135,
+122,-58,
+-94,-90,
+16,124,
+25,-14,
+-12,84,
+-49,-124,
+-38,-13,
+-41,-3,
+-78,-105,
+-5,50,
+109,-149,
+-68,35,
+-100,16,
+10,143,
+-27,35,
+111,-69,
+-70,108,
+-67,96,
+9,123,
+60,-102,
+37,121,
+82,75,
+143,29,
+-91,-34,
+6,-48,
+-68,-51,
+101,-26,
+4,83,
+-16,68,
+21,112,
+-71,105,
+13,-74,
+12,-235,
+144,49,
+-119,-65,
+-173,93,
+-21,102,
+-39,3,
+-14,-56,
+130,-59,
+-24,181,
+66,49,
+155,-205,
+26,-66,
+56,138,
+6,36,
+75,17,
+121,77,
+157,231,
+-23,-74,
+-86,169,
+-322,-52,
+-98,-52,
+204,-53,
+-6,75,
+81,140,
+-71,163,
+133,-167,
+-70,47,
+-3,-64,
+28,-34,
+82,-84,
+111,8,
+-31,-64,
+-132,-91,
+151,5,
+-87,66,
+20,80,
+-46,203,
+69,-109,
+82,-26,
+112,-132,
+-19,-252,
+14,124,
+4,-1,
+156,63,
+-164,-28,
+70,80,
+153,-143,
+22,65,
+-62,-38,
+-72,0,
+30,-67,
+12,-45,
+-97,-82,
+-39,-17,
+15,69,
+-18,-17,
+80,-121,
+40,-102,
+104,67,
+109,17,
+-91,18,
+132,88,
+106,-46,
+10,33,
+78,-47,
+51,3,
+-177,-107,
+-152,67,
+26,-17,
+109,34,
+134,-166,
+74,31,
+-136,79,
+-24,1,
+3,127,
+7,26,
+29,10,
+-54,-29,
+-10,14,
+56,-7,
+-50,-209,
+-145,79,
+-11,-10,
+-157,46,
+16,27,
+-61,79,
+30,-47,
+195,52,
+-53,-93,
+26,-153,
+58,39,
+-35,-36,
+34,-19,
+-208,-109,
+-93,-16,
+-64,-105,
+205,-29,
+-191,-49,
+-19,185,
+-30,96,
+-12,97,
+20,-36,
+-35,192,
+107,58,
+-70,200,
+75,20,
+13,-178,
+-9,-7,
+-11,97,
+-77,3,
+44,45,
+84,61,
+27,17,
+-144,32,
+102,-63,
+66,-10,
+92,-167,
+-78,76,
+-63,-34,
+-266,32,
+-4,31,
+-74,139,
+-144,-47,
+33,-40,
+174,100,
+27,-27,
+142,68,
+22,-160,
+57,6,
+131,-179,
+-8,131,
+71,49,
+161,-11,
+117,-33,
+71,45,
+-3,193,
+79,28,
+89,305,
+201,33,
+26,-164,
+-87,-147,
+78,32,
+-1,-112,
+39,-3,
+-261,163,
+-109,-95,
+352,137,
+-99,-45,
+91,-92,
+19,-135,
+-78,-267,
+4,32,
+152,39,
+12,-102,
+-1,103,
+-41,-26,
+-141,-70,
+273,-86,
+-54,44,
+46,-15,
+-10,-213,
+-221,-198,
+-104,-223,
+32,44,
+-97,-10,
+-225,69,
+-92,-229,
+-140,-23,
+30,67,
+-187,-155,
+-19,-18,
+52,-71,
+-107,-52,
+-25,21,
+36,-170,
+180,-10,
+-65,27,
+76,3,
+33,-69,
+-85,132,
+73,-46,
+145,25,
+28,-317,
+123,-212,
+47,-10,
+183,143,
+20,20,
+-72,-28,
+28,-29,
+84,-67,
+-52,254,
+138,92,
+119,-58,
+-86,-139,
+215,-157,
+132,-221,
+128,-75,
+102,-147,
+57,115,
+260,213,
+-25,113,
+98,68,
+-18,38,
+-270,51,
+122,87,
+-92,-75,
+-72,-74,
+27,17,
+1,349,
+28,-12,
+-151,-64,
+-36,-129,
+34,-29,
+-35,22,
+-102,-360,
+88,-73,
+0,51,
+-26,15,
+-77,-219,
+20,-133,
+177,116,
+132,-136,
+-186,-10,
+-66,-137,
+59,-70,
+-139,41,
+53,-53,
+-76,-88,
+-48,85,
+-11,88,
+0,145,
+-24,193,
+-26,-71,
+73,-72,
+61,-60,
+-43,-49,
+43,167,
+190,71,
+28,42,
+35,43,
+250,23,
+-129,47,
+34,-77,
+99,79,
+-25,-123,
+-327,-21,
+-269,51,
+-108,-81,
+-5,-44,
+-118,119,
+156,94,
+44,-11,
+0,104,
+-34,57,
+124,-57,
+118,92,
+-2,-83,
+-61,17,
+29,136,
+67,-30,
+-81,-140,
+36,-13,
+-141,-100,
+30,-87,
+-60,157,
+-160,-4,
+216,-68,
+82,133,
+13,-109,
+172,-16,
+-157,188,
+-112,-14,
+-144,-6,
+113,-85,
+-144,-61,
+-42,135,
+-268,-100,
+-84,119,
+29,-39,
+65,-33,
+-181,-168,
+-39,-124,
+-20,201,
+135,231,
+38,42,
+128,-87,
+-219,40,
+-340,43,
+-9,-46,
+108,-164,
+-104,-135,
+106,84,
+-4,40,
+-108,155,
+-135,-22,
+-6,-150,
+-215,-29,
+279,-129,
+2,52,
+-54,-148,
+5,-162,
+86,138,
+-95,42,
+-48,-277,
+166,-49,
+74,46,
+-82,-33,
+-82,-81,
+4,277,
+69,-87,
+-142,37,
+-89,36,
+-37,195,
+18,-215,
+51,-62,
+-13,1,
+-57,-239,
+-28,-3,
+-168,-27,
+-122,-61,
+-169,-208,
+-76,-153,
+-192,246,
+-208,11,
+50,-163,
+-325,185,
+169,26,
+169,-27,
+172,-155,
+-4,-62,
+-228,-92,
+253,122,
+170,-77,
+219,69,
+303,146,
+-224,-40,
+114,11,
+-229,-7,
+46,32,
+155,55,
+308,50,
+-113,-40,
+46,30,
+205,28,
+16,20,
+-17,101,
+235,-15,
+-81,-127,
+-4,-108,
+75,12,
+-159,-34,
+144,-137,
+-73,29,
+154,-81,
+167,-63,
+-106,4,
+-148,166,
+-98,-109,
+-62,-12,
+263,-57,
+-171,97,
+132,-86,
+-114,-28,
+112,65,
+118,185,
+-83,311,
+113,140,
+19,-164,
+63,-44,
+-137,-108,
+81,125,
+-50,-168,
+-141,-141,
+-172,-136,
+191,58,
+-86,-252,
+14,-168,
+13,-59,
+162,-154,
+-97,-5,
+4,149,
+-165,263,
+115,-153,
+-39,131,
+129,-306,
+-143,91,
+-29,-85,
+-6,-180,
+37,-83,
+-222,175,
+37,-10,
+59,-10,
+-17,-204,
+166,141,
+5,5,
+-118,24,
+181,76,
+70,-8,
+51,-116,
+126,-166,
+-89,69,
+-194,-253,
+85,132,
+143,-97,
+75,-147,
+-225,-49,
+-151,-28,
+-108,-285,
+49,-32,
+-110,100,
+205,-318,
+94,-204,
+356,-44,
+-78,-91,
+15,-18,
+171,20,
+-316,235,
+-121,80,
+18,-100,
+109,190,
+56,-203,
+-30,-15,
+79,-6,
+129,209,
+-104,74,
+-121,-160,
+83,12,
+65,185,
+135,-264,
+-43,-69,
+156,37,
+-50,22,
+223,266,
+96,-58,
+50,16,
+16,-191,
+73,-86,
+-143,15,
+196,-163,
+173,33,
+-143,-139,
+-62,177,
+-54,-133,
+34,-179,
+-132,11,
+14,72,
+-287,67,
+-206,3,
+261,-101,
+-208,3,
+-56,-5,
+283,-78,
+30,82,
+28,180,
+-51,48,
+-101,49,
+200,69,
+33,138,
+-63,-243,
+-195,110,
+69,65,
+-254,-125,
+122,117,
+-187,108,
+185,-148,
+-79,28,
+38,50,
+175,61,
+-44,-21,
+92,-67,
+22,-24,
+6,0,
+69,175,
+-168,167,
+-109,163,
+-194,-52,
+25,-19,
+96,-26,
+-50,-198,
+-13,-42,
+43,-158,
+188,-6,
+220,-110,
+324,313,
+78,-5,
+94,-108,
+243,29,
+-179,15,
+46,-198,
+198,30,
+-15,-65,
+47,107,
+-62,-89,
+-121,74,
+-41,-20,
+140,-123,
+86,-12,
+39,21,
+147,-77,
+-65,-33,
+-42,208,
+-20,-12,
+21,9,
+-54,12,
+20,182,
+95,27,
+-27,48,
+0,13,
+231,-211,
+-101,168,
+-31,-103,
+34,30,
+-29,213,
+-179,-52,
+-108,-23,
+-3,175,
+185,-99,
+-239,12,
+31,219,
+134,-149,
+157,-128,
+-31,-71,
+-94,29,
+35,22,
+134,30,
+14,-28,
+-69,211,
+26,-183,
+49,61,
+-119,-26,
+-27,41,
+41,80,
+70,9,
+-203,-18,
+168,-121,
+32,-79,
+132,99,
+-117,17,
+-56,101,
+-99,-116,
+-232,207,
+-200,24,
+114,-92,
+106,291,
+-88,-5,
+-11,-40,
+166,89,
+-31,89,
+-123,-16,
+-86,-203,
+71,161,
+-33,158,
+-270,-8,
+-93,46,
+120,73,
+-28,-29,
+92,44,
+31,163,
+-180,-133,
+246,110,
+-104,-9,
+-195,75,
+25,154,
+-98,19,
+22,-97,
+191,-42,
+108,97,
+159,104,
+-107,143,
+-129,13,
+19,69,
+82,166,
+-51,109,
+96,25,
+206,63,
+168,61,
+71,-41,
+33,212,
+168,45,
+-84,38,
+-25,-13,
+-100,41,
+-108,-129,
+73,19,
+-78,93,
+-51,-248,
+207,359,
+-133,70,
+61,33,
+119,39,
+62,-18,
+-6,-184,
+133,94,
+175,74,
+96,173,
+-4,-70,
+-23,169,
+-87,106,
+187,186,
+-268,32,
+110,-213,
+70,121,
+42,-39,
+168,63,
+-24,-109,
+-70,-78,
+102,46,
+29,-75,
+-75,40,
+172,308,
+-16,-275,
+15,-4,
+-38,63,
+196,-131,
+-47,47,
+10,-80,
+-106,-77,
+48,-6,
+82,-57,
+114,162,
+74,73,
+-361,-138,
+-165,73,
+-6,-216,
+71,121,
+-84,-110,
+-96,155,
+-93,-137,
+-6,-76,
+118,44,
+-71,129,
+113,7,
+-42,-29,
+-121,125,
+-2,120,
+-85,-56,
+198,-31,
+-174,-168,
+72,169,
+-161,229,
+-297,-299,
+23,67,
+19,-33,
+-8,134,
+-79,100,
+28,-7,
+-38,-64,
+185,-113,
+96,28,
+-181,21,
+-41,168,
+-126,-43,
+34,-351,
+-4,-16,
+27,-57,
+18,-28,
+55,-120,
+111,101,
+102,-116,
+-69,103,
+-5,-33,
+120,-77,
+52,47,
+-132,6,
+31,37,
+29,-84,
+-164,-120,
+-132,-29,
+-143,-211,
+-3,-151,
+-215,126,
+83,16,
+-133,71,
+193,-36,
+132,54,
+12,84,
+-16,-17,
+-35,-4,
+188,-122,
+-1,-68,
+113,-71,
+60,-98,
+20,-74,
+-99,-208,
+193,9,
+162,14,
+-89,-205,
+139,-132,
+8,-13,
+-69,-134,
+-4,-22,
+78,-155,
+69,62,
+39,60,
+77,239,
+173,38,
+-74,68,
+-93,50,
+-149,143,
+-61,-51,
+-49,74,
+82,42,
+21,84,
+428,92,
+-205,-160,
+30,129,
+-76,57,
+73,-120,
+54,57,
+-81,-107,
+22,43,
+10,141,
+-5,32,
+-256,15,
+26,-236,
+-102,-182,
+32,87,
+-103,-146,
+-72,317,
+243,-13,
+-306,-112,
+162,-257,
+-70,44,
+-29,38,
+-93,-39,
+-79,150,
+-21,37,
+-91,-13,
+277,104,
+158,86,
+-194,122,
+-24,142,
+83,16,
+39,16,
+-14,-92,
+-41,53,
+-50,121,
+-77,-7,
+11,99,
+-102,-165,
+-85,248,
+-90,-69,
+-38,140,
+-9,-31,
+60,-5,
+-309,74,
+-30,60,
+-42,56,
+-6,-121,
+219,-27,
+-159,-15,
+154,-90,
+-89,177,
+-8,28,
+-192,105,
+67,294,
+100,46,
+81,-45,
+-50,-115,
+195,-100,
+-49,98,
+-94,-82,
+50,-12,
+-91,-4,
+76,78,
+29,4,
+157,18,
+-155,252,
+159,-109,
+-128,7,
+74,52,
+-126,-183,
+-166,-221,
+-47,129,
+-36,107,
+-56,-118,
+-138,70,
+-112,23,
+36,9,
+-50,-172,
+291,-12,
+59,-286,
+120,20,
+-72,-48,
+123,71,
+61,174,
+-71,112,
+-47,-68,
+-40,109,
+-243,146,
+-75,91,
+30,5,
+7,-55,
+-59,39,
+96,86,
+-36,56,
+40,-178,
+-12,-77,
+237,41,
+23,-26,
+89,62,
+109,72,
+-213,-75,
+-167,25,
+-269,-24,
+-115,62,
+91,-242,
+-170,1,
+108,-56,
+145,76,
+21,22,
+-85,5,
+140,-66,
+45,-65,
+42,50,
+-149,69,
+-148,58,
+93,10,
+69,-12,
+17,197,
+50,57,
+-18,-51,
+60,56,
+4,98,
+-114,213,
+-69,-157,
+-188,-30,
+-53,203,
+-45,39,
+123,-13,
+9,115,
+105,-24,
+-100,-14,
+108,63,
+326,17,
+176,-303,
+-78,51,
+22,7,
+-90,-107,
+13,52,
+91,-129,
+68,-172,
+-216,78,
+7,269,
+-30,17,
+27,119,
+-120,-107,
+-28,74,
+33,17,
+-78,-224,
+-55,-170,
+106,3,
+-77,-14,
+-102,146,
+42,-43,
+-89,-182,
+69,-74,
+-13,-213,
+-199,-95,
+-89,-194,
+32,56,
+23,168,
+68,-69,
+39,-30,
+-43,-6,
+80,65,
+272,99,
+-127,59,
+251,18,
+-68,200,
+37,-9,
+42,31,
+84,90,
+143,196,
+136,-29,
+-60,-55,
+21,-27,
+-193,14,
+-197,-10,
+-2,168,
+233,147,
+51,60,
+166,-55,
+-32,102,
+102,78,
+112,89,
+-120,22,
+-140,219,
+-30,102,
+198,83,
+61,90,
+-43,-175,
+22,-72,
+-110,120,
+24,-6,
+-105,-101,
+53,70,
+-37,1,
+68,-149,
+-99,-148,
+-88,79,
+-156,-92,
+-112,-41,
+79,154,
+-7,2,
+-104,-96,
+-100,-175,
+64,58,
+-20,-126,
+-36,80,
+-47,-1,
+-133,46,
+-11,-35,
+143,106,
+93,42,
+-201,-152,
+117,57,
+9,38,
+31,-76,
+-149,86,
+-23,-19,
+52,-124,
+2,70,
+-149,-20,
+-43,44,
+-13,179,
+-190,-86,
+-30,69,
+89,201,
+181,100,
+51,120,
+-37,-59,
+46,78,
+-95,-20,
+-36,22,
+175,-51,
+105,-27,
+-31,-43,
+76,119,
+11,-155,
+67,252,
+11,53,
+143,51,
+125,-50,
+39,-134,
+-225,-4,
+12,144,
+61,-13,
+81,22,
+-81,-39,
+14,-126,
+23,-24,
+15,-59,
+-132,190,
+-105,207,
+131,-99,
+-11,-30,
+-184,-21,
+-183,148,
+94,18,
+81,-6,
+288,14,
+128,72,
+-73,23,
+87,29,
+-28,116,
+-129,-31,
+-46,-130,
+-21,52,
+191,53,
+-129,145,
+-110,32,
+-57,-67,
+85,-41,
+27,-44,
+141,111,
+126,-142,
+-1,-161,
+87,-31,
+-54,13,
+28,-181,
+77,-37,
+63,-19,
+79,62,
+36,120,
+-145,40,
+-66,-6,
+-59,57,
+-8,-57,
+-164,107,
+-102,95,
+13,86,
+90,115,
+-158,4,
+-16,-4,
+73,-159,
+34,-25,
+168,19,
+-31,170,
+-98,-184,
+-12,-100,
+76,71,
+55,-69,
+11,37,
+60,125,
+35,158,
+-42,229,
+67,-35,
+66,-109,
+75,-191,
+-143,17,
+25,67,
+115,-35,
+170,-148,
+40,-14,
+-167,91,
+6,-63,
+-59,-15,
+-68,26,
+131,118,
+24,-89,
+1,-78,
+-39,-73,
+-118,174,
+15,102,
+221,31,
+-51,1,
+136,108,
+-87,-37,
+53,32,
+-51,101,
+-26,97,
+-22,13,
+50,-69,
+-23,-34,
+62,61,
+-26,-8,
+199,126,
+123,169,
+-3,-139,
+77,-80,
+-6,-28,
+101,-69,
+53,-77,
+-93,-28,
+18,51,
+-19,-30,
+-38,-73,
+67,-81,
+-13,161,
+-32,-70,
+17,-26,
+-65,-11,
+77,153,
+76,-19,
+-95,-104,
+104,-42,
+-12,-29,
+-15,-2,
+-80,19,
+14,-34,
+-202,-131,
+60,40,
+128,25,
+-69,-67,
+-39,-117,
+37,-101,
+-74,-14,
+-183,-33,
+78,70,
+10,-64,
+-92,28,
+48,-89,
+57,14,
+-83,-56,
+-46,1,
+-18,56,
+89,101,
+126,44,
+66,-173,
+108,-34,
+8,62,
+91,43,
+39,69,
+11,-13,
+-12,174,
+148,75,
+101,31,
+9,-139,
+-20,-125,
+28,-55,
+-86,72,
+9,-4,
+120,128,
+97,109,
+-50,-28,
+99,-8,
+38,133,
+73,-114,
+35,197,
+46,15,
+55,82,
+25,30,
+-83,-25,
+20,32,
+72,75,
+37,-17,
+-81,-87,
+-161,-64,
+-18,-52,
+-169,4,
+-58,61,
+-2,-96,
+-10,-20,
+116,2,
+-64,-33,
+-141,36,
+-59,-46,
+-47,-40,
+2,32,
+82,-57,
+-107,-82,
+136,114,
+145,-106,
+19,-78,
+-99,19,
+-26,85,
+-65,-45,
+-1,17,
+27,-53,
+-76,-13,
+-56,107,
+-84,196,
+75,55,
+-15,-13,
+1,-18,
+37,102,
+18,-12,
+34,38,
+83,-80,
+6,-70,
+-57,-91,
+21,-19,
+189,-27,
+-53,22,
+-27,45,
+99,-38,
+34,45,
+46,66,
+-4,-17,
+16,-22,
+60,-91,
+19,-47,
+-33,136,
+-44,-6,
+4,-22,
+31,28,
+-6,84,
+48,-6,
+-98,34,
+-33,-81,
+-65,-5,
+77,-105,
+-58,-214,
+-1,5,
+36,0,
+10,26,
+17,94,
+7,32,
+-52,81,
+-68,-52,
+-4,43,
+78,0,
+-6,2,
+-7,-12,
+-9,27,
+40,-65,
+108,-85,
+16,-68,
+-4,0,
+47,-29,
+90,11,
+24,57,
+27,28,
+-84,-57,
+-29,169,
+-120,30,
+4,54,
+-63,-29,
+64,-26,
+-6,-88,
+-32,-33,
+44,17,
+59,-74,
+-100,-56,
+-99,-28,
+38,-69,
+-29,89,
+9,-75,
+40,46,
+86,-11,
+-39,86,
+29,-38,
+46,31,
+-72,-30,
+27,-35,
+-9,17,
+-9,20,
+-65,54,
+-46,-24,
+78,86,
+76,3,
+77,-53,
+44,-69,
+0,66,
+48,-75,
+-57,87,
+-24,-31,
+4,59,
+-42,7,
+69,-110,
+26,-19,
+-25,-65,
+31,37,
+-11,-17,
+81,-48,
+-36,-46,
+81,-14,
+-80,-32,
+62,-7,
+46,-34,
+-9,-12,
+3,-12,
+-29,18,
+32,48,
+45,-42,
+53,-43,
+51,46,
+18,96,
+12,21,
+23,-83,
+24,22,
+31,-45,
+-11,-65,
+2,80,
+-45,-82,
+-131,40,
+92,-48,
+22,65,
+50,-58,
+-64,-48,
+-9,68,
+-92,-99,
+-56,-27,
+99,-31,
+2,11,
+-4,-8,
+47,7,
+-83,-20,
+14,33,
+38,30,
+-27,-113,
+27,82,
+-20,11,
+36,113,
+46,-24,
+-15,-1,
+20,-26,
+17,-44,
+54,-58,
+-14,11,
+50,21,
+53,60,
+56,2,
+-26,14,
+8,50,
+-73,-18,
+1,-32,
+-18,42,
+-62,-10,
+-43,20,
+-7,35,
+-12,49,
+-33,7,
+-66,-38,
+-7,54,
+-26,13,
+-40,27,
+-12,21,
+-30,40,
+16,-51,
+16,21,
+13,68,
+10,-2,
+-16,42,
+52,-58,
+-1,2,
+-29,-53,
+-55,-6,
+-42,-68,
+-1,-36,
+-40,9,
+-9,-5,
+47,-19,
+-29,-1,
+-10,43,
+20,-2,
+-30,-19,
+32,21,
+-20,47,
+-4,5,
+-36,5,
+25,14,
+-58,1,
+-52,-15,
+-33,14,
+33,-69,
+41,-10,
+-27,21,
+-11,25,
+-25,28,
+4,-23,
+24,-7,
+23,-11,
+39,25,
+-66,-28,
+15,-46,
+-3,-47,
+49,-23,
+4,37,
+-73,-44,
+28,54,
+28,-37,
+7,-34,
+16,18,
+-1,-9,
+16,17,
+31,2,
+-35,15,
+-14,-27,
+-1,-31,
+42,-4,
+-60,-1,
+36,16,
+-47,-58,
+-1,-57,
+16,-17,
+18,58,
+16,7,
+-28,-7,
+-7,18,
+-1,-46,
+-33,25,
+19,25,
+-7,7,
+-31,-26,
+16,42,
+-19,-10,
+59,10,
+-10,13,
+-35,-5,
+26,3,
+-23,7,
+-35,-2,
+63,39,
+-34,21,
+-18,-31,
+11,27,
+21,-36,
+35,23,
+17,-11,
+15,-9,
+-12,21,
+64,41,
+-17,15,
+-27,0,
+9,17,
+-1,24,
+-13,-12,
+63,19,
+-3,-8,
+16,14,
+-18,-6,
+10,-15,
+-10,7,
+-13,-22,
+18,-24,
+-12,18,
+26,-1,
+16,22,
+9,8,
+-1,24,
+16,39,
+2,7,
+16,0,
+29,7,
+5,4,
+9,-20,
+15,-10,
+20,6,
+11,40,
+-3,9,
+-19,3,
+9,8,
+18,-26,
+6,-14,
+14,3,
+-9,-10,
+10,22,
+-1,-20,
+17,3,
+-3,26,
+2,-10,
+12,-7,
+-1,-18,
+16,-24,
+19,15,
+-13,1,
+-23,-35,
+33,10,
+1,19,
+-16,-9,
+28,-4,
+1,16,
+8,2,
+6,-13,
+1,-25,
+15,-16,
+-12,-4,
+15,-2,
+4,-8,
+-5,30,
+-12,-7,
+-4,-3,
+7,-4,
+0,13,
+6,-11,
+6,-5,
+-15,3,
+11,0,
+-7,-4,
+13,2,
+-2,7,
+-1,6,
+5,-7,
+-3,-6,
+-20,13,
+3,15,
+5,-12,
+3,2,
+1,-4,
+0,10,
+5,-10,
+0,-13,
+4,-1,
+9,4,
+-2,-8,
+-8,3,
+10,5,
+-14,6,
+3,-4,
+12,4,
+-4,4,
+8,-6,
+0,1,
+-2,3,
+6,-8,
+7,3,
+-11,4,
+3,1,
+4,4,
+-10,5,
+1,-3,
+5,-4,
+-5,0,
+-1,-4,
+9,4,
+-11,4,
+0,-2,
+4,1,
+-6,0,
+0,4,
+5,3,
+-4,3,
+5,6,
+-1,2,
+-5,1,
+1,0,
+2,0,
+-6,0,
+3,0,
+3,-1,
+-5,-1,
+4,0,
+3,0,
+-6,0,
+3,0,
+4,0,
+-5,1,
+3,1,
+3,0,
+-6,0,
+2,0,
+1,0,
+-5,-1,
+-1,-2,
+5,-6,
+-4,-3,
+5,-3,
+0,-4,
+-6,0,
+4,-1,
+0,2,
+-11,-4,
+9,-4,
+-1,4,
+-5,0,
+5,4,
+1,3,
+-10,-5,
+4,-4,
+3,-1,
+-11,-4,
+7,-3,
+6,8,
+-2,-3,
+0,-1,
+8,6,
+-4,-4,
+12,-4,
+3,4,
+-14,-6,
+10,-5,
+-8,-3,
+-2,8,
+9,-4,
+4,1,
+0,13,
+5,10,
+0,-10,
+1,4,
+3,-2,
+5,12,
+3,-15,
+-20,-13,
+-3,6,
+5,7,
+-1,-6,
+-2,-7,
+13,-2,
+-7,4,
+11,0,
+-15,-3,
+6,5,
+6,11,
+0,-13,
+7,4,
+-4,3,
+-12,7,
+-5,-30,
+4,8,
+15,2,
+-12,4,
+15,16,
+1,25,
+6,13,
+8,-2,
+1,-16,
+28,4,
+-16,9,
+1,-19,
+33,-10,
+-23,35,
+-13,-1,
+19,-15,
+16,24,
+-1,18,
+12,7,
+2,10,
+-3,-26,
+17,-3,
+-1,20,
+10,-22,
+-9,10,
+14,-3,
+6,14,
+18,26,
+9,-8,
+-19,-3,
+-3,-9,
+11,-40,
+20,-6,
+15,10,
+9,20,
+5,-4,
+29,-7,
+16,0,
+2,-7,
+16,-39,
+-1,-24,
+9,-8,
+16,-22,
+26,1,
+-12,-18,
+18,24,
+-13,22,
+-10,-7,
+10,15,
+-18,6,
+16,-14,
+-3,8,
+63,-19,
+-13,12,
+-1,-24,
+9,-17,
+-27,0,
+-17,-15,
+64,-41,
+-12,-21,
+15,9,
+17,11,
+35,-23,
+21,36,
+11,-27,
+-18,31,
+-34,-21,
+63,-39,
+-35,2,
+-23,-7,
+26,-3,
+-35,5,
+-10,-13,
+59,-10,
+-19,10,
+16,-42,
+-31,26,
+-7,-7,
+19,-25,
+-33,-25,
+-1,46,
+-7,-18,
+-28,7,
+16,-7,
+18,-58,
+16,17,
+-1,57,
+-47,58,
+36,-16,
+-60,1,
+42,4,
+-1,31,
+-14,27,
+-35,-15,
+31,-2,
+16,-17,
+-1,9,
+16,-18,
+7,34,
+28,37,
+28,-54,
+-73,44,
+4,-37,
+49,23,
+-3,47,
+15,46,
+-66,28,
+39,-25,
+23,11,
+24,7,
+4,23,
+-25,-28,
+-11,-25,
+-27,-21,
+41,10,
+33,69,
+-33,-14,
+-52,15,
+-58,-1,
+25,-14,
+-36,-5,
+-4,-5,
+-20,-47,
+32,-21,
+-30,19,
+20,2,
+-10,-43,
+-29,1,
+47,19,
+-9,5,
+-40,-9,
+-1,36,
+-42,68,
+-55,6,
+-29,53,
+-1,-2,
+52,58,
+-16,-42,
+10,2,
+13,-68,
+16,-21,
+16,51,
+-30,-40,
+-12,-21,
+-40,-27,
+-26,-13,
+-7,-54,
+-66,38,
+-33,-7,
+-12,-49,
+-7,-35,
+-43,-20,
+-62,10,
+-18,-42,
+1,32,
+-73,18,
+8,-50,
+-26,-14,
+56,-2,
+53,-60,
+50,-21,
+-14,-11,
+54,58,
+17,44,
+20,26,
+-15,1,
+46,24,
+36,-113,
+-20,-11,
+27,-82,
+-27,113,
+38,-30,
+14,-33,
+-83,20,
+47,-7,
+-4,8,
+2,-11,
+99,31,
+-56,27,
+-92,99,
+-9,-68,
+-64,48,
+50,58,
+22,-65,
+92,48,
+-131,-40,
+-45,82,
+2,-80,
+-11,65,
+31,45,
+24,-22,
+23,83,
+12,-21,
+18,-96,
+51,-46,
+53,43,
+45,42,
+32,-48,
+-29,-18,
+3,12,
+-9,12,
+46,34,
+62,7,
+-80,32,
+81,14,
+-36,46,
+81,48,
+-11,17,
+31,-37,
+-25,65,
+26,19,
+69,110,
+-42,-7,
+4,-59,
+-24,31,
+-57,-87,
+48,75,
+0,-66,
+44,69,
+77,53,
+76,-3,
+78,-86,
+-46,24,
+-65,-54,
+-9,-20,
+-9,-17,
+27,35,
+-72,30,
+46,-31,
+29,38,
+-39,-86,
+86,11,
+40,-46,
+9,75,
+-29,-89,
+38,69,
+-99,28,
+-100,56,
+59,74,
+44,-17,
+-32,33,
+-6,88,
+64,26,
+-63,29,
+4,-54,
+-120,-30,
+-29,-169,
+-84,57,
+27,-28,
+24,-57,
+90,-11,
+47,29,
+-4,0,
+16,68,
+108,85,
+40,65,
+-9,-27,
+-7,12,
+-6,-2,
+78,0,
+-4,-43,
+-68,52,
+-52,-81,
+7,-32,
+17,-94,
+10,-26,
+36,0,
+-1,-5,
+-58,214,
+77,105,
+-65,5,
+-33,81,
+-98,-34,
+48,6,
+-6,-84,
+31,-28,
+4,22,
+-44,6,
+-33,-136,
+19,47,
+60,91,
+16,22,
+-4,17,
+46,-66,
+34,-45,
+99,38,
+-27,-45,
+-53,-22,
+189,27,
+21,19,
+-57,91,
+6,70,
+83,80,
+34,-38,
+18,12,
+37,-102,
+1,18,
+-15,13,
+75,-55,
+-84,-196,
+-56,-107,
+-76,13,
+27,53,
+-1,-17,
+-65,45,
+-26,-85,
+-99,-19,
+19,78,
+145,106,
+136,-114,
+-107,82,
+82,57,
+2,-32,
+-47,40,
+-59,46,
+-141,-36,
+-64,33,
+116,-2,
+-10,20,
+-2,96,
+-58,-61,
+-169,-4,
+-18,52,
+-161,64,
+-81,87,
+37,17,
+72,-75,
+20,-32,
+-83,25,
+25,-30,
+55,-82,
+46,-15,
+35,-197,
+73,114,
+38,-133,
+99,8,
+-50,28,
+97,-109,
+120,-128,
+9,4,
+-86,-72,
+28,55,
+-20,125,
+9,139,
+101,-31,
+148,-75,
+-12,-174,
+11,13,
+39,-69,
+91,-43,
+8,-62,
+108,34,
+66,173,
+126,-44,
+89,-101,
+-18,-56,
+-46,-1,
+-83,56,
+57,-14,
+48,89,
+-92,-28,
+10,64,
+78,-70,
+-183,33,
+-74,14,
+37,101,
+-39,117,
+-69,67,
+128,-25,
+60,-40,
+-202,131,
+14,34,
+-80,-19,
+-15,2,
+-12,29,
+104,42,
+-95,104,
+76,19,
+77,-153,
+-65,11,
+17,26,
+-32,70,
+-13,-161,
+67,81,
+-38,73,
+-19,30,
+18,-51,
+-93,28,
+53,77,
+101,69,
+-6,28,
+77,80,
+-3,139,
+123,-169,
+199,-126,
+-26,8,
+62,-61,
+-23,34,
+50,69,
+-22,-13,
+-26,-97,
+-51,-101,
+53,-32,
+-87,37,
+136,-108,
+-51,-1,
+221,-31,
+15,-102,
+-118,-174,
+-39,73,
+1,78,
+24,89,
+131,-118,
+-68,-26,
+-59,15,
+6,63,
+-167,-91,
+40,14,
+170,148,
+115,35,
+25,-67,
+-143,-17,
+75,191,
+66,109,
+67,35,
+-42,-229,
+35,-158,
+60,-125,
+11,-37,
+55,69,
+76,-71,
+-12,100,
+-98,184,
+-31,-170,
+168,-19,
+34,25,
+73,159,
+-16,4,
+-158,-4,
+90,-115,
+13,-86,
+-102,-95,
+-164,-107,
+-8,57,
+-59,-57,
+-66,6,
+-145,-40,
+36,-120,
+79,-62,
+63,19,
+77,37,
+28,181,
+-54,-13,
+87,31,
+-1,161,
+126,142,
+141,-111,
+27,44,
+85,41,
+-57,67,
+-110,-32,
+-129,-145,
+191,-53,
+-21,-52,
+-46,130,
+-129,31,
+-28,-116,
+87,-29,
+-73,-23,
+128,-72,
+288,-14,
+81,6,
+94,-18,
+-183,-148,
+-184,21,
+-11,30,
+131,99,
+-105,-207,
+-132,-190,
+15,59,
+23,24,
+14,126,
+-81,39,
+81,-22,
+61,13,
+12,-144,
+-225,4,
+39,134,
+125,50,
+143,-51,
+11,-53,
+67,-252,
+11,155,
+76,-119,
+-31,43,
+105,27,
+175,51,
+-36,-22,
+-95,20,
+46,-78,
+-37,59,
+51,-120,
+181,-100,
+89,-201,
+-30,-69,
+-190,86,
+-13,-179,
+-43,-44,
+-149,20,
+2,-70,
+52,124,
+-23,19,
+-149,-86,
+31,76,
+9,-38,
+117,-57,
+-201,152,
+93,-42,
+143,-106,
+-11,35,
+-133,-46,
+-47,1,
+-36,-80,
+-20,126,
+64,-58,
+-100,175,
+-104,96,
+-7,-2,
+79,-154,
+-112,41,
+-156,92,
+-88,-79,
+-99,148,
+68,149,
+-37,-1,
+53,-70,
+-105,101,
+24,6,
+-110,-120,
+22,72,
+-43,175,
+61,-90,
+198,-83,
+-30,-102,
+-140,-219,
+-120,-22,
+112,-89,
+102,-78,
+-32,-102,
+166,55,
+51,-60,
+233,-147,
+-2,-168,
+-197,10,
+-193,-14,
+21,27,
+-60,55,
+136,29,
+143,-196,
+84,-90,
+42,-31,
+37,9,
+-68,-200,
+251,-18,
+-127,-59,
+272,-99,
+80,-65,
+-43,6,
+39,30,
+68,69,
+23,-168,
+32,-56,
+-89,194,
+-199,95,
+-13,213,
+69,74,
+-89,182,
+42,43,
+-102,-146,
+-77,14,
+106,-3,
+-55,170,
+-78,224,
+33,-17,
+-28,-74,
+-120,107,
+27,-119,
+-30,-17,
+7,-269,
+-216,-78,
+68,172,
+91,129,
+13,-52,
+-90,107,
+22,-7,
+-78,-51,
+176,303,
+326,-17,
+108,-63,
+-100,14,
+105,24,
+9,-115,
+123,13,
+-45,-39,
+-53,-203,
+-188,30,
+-69,157,
+-114,-213,
+4,-98,
+60,-56,
+-18,51,
+50,-57,
+17,-197,
+69,12,
+93,-10,
+-148,-58,
+-149,-69,
+42,-50,
+45,65,
+140,66,
+-85,-5,
+21,-22,
+145,-76,
+108,56,
+-170,-1,
+91,242,
+-115,-62,
+-269,24,
+-167,-25,
+-213,75,
+109,-72,
+89,-62,
+23,26,
+237,-41,
+-12,77,
+40,178,
+-36,-56,
+96,-86,
+-59,-39,
+7,55,
+30,-5,
+-75,-91,
+-243,-146,
+-40,-109,
+-47,68,
+-71,-112,
+61,-174,
+123,-71,
+-72,48,
+120,-20,
+59,286,
+291,12,
+-50,172,
+36,-9,
+-112,-23,
+-138,-70,
+-56,118,
+-36,-107,
+-47,-129,
+-166,221,
+-126,183,
+74,-52,
+-128,-7,
+159,109,
+-155,-252,
+157,-18,
+29,-4,
+76,-78,
+-91,4,
+50,12,
+-94,82,
+-49,-98,
+195,100,
+-50,115,
+81,45,
+100,-46,
+67,-294,
+-192,-105,
+-8,-28,
+-89,-177,
+154,90,
+-159,15,
+219,27,
+-6,121,
+-42,-56,
+-30,-60,
+-309,-74,
+60,5,
+-9,31,
+-38,-140,
+-90,69,
+-85,-248,
+-102,165,
+11,-99,
+-77,7,
+-50,-121,
+-41,-53,
+-14,92,
+39,-16,
+83,-16,
+-24,-142,
+-194,-122,
+158,-86,
+277,-104,
+-91,13,
+-21,-37,
+-79,-150,
+-93,39,
+-29,-38,
+-70,-44,
+162,257,
+-306,112,
+243,13,
+-72,-317,
+-103,146,
+32,-87,
+-102,182,
+26,236,
+-256,-15,
+-5,-32,
+10,-141,
+22,-43,
+-81,107,
+54,-57,
+73,120,
+-76,-57,
+30,-129,
+-205,160,
+428,-92,
+21,-84,
+82,-42,
+-49,-74,
+-61,51,
+-149,-143,
+-93,-50,
+-74,-68,
+173,-38,
+77,-239,
+39,-60,
+69,-62,
+78,155,
+-4,22,
+-69,134,
+8,13,
+139,132,
+-89,205,
+162,-14,
+193,-9,
+-99,208,
+20,74,
+60,98,
+113,71,
+-1,68,
+188,122,
+-35,4,
+-16,17,
+12,-84,
+132,-54,
+193,36,
+-133,-71,
+83,-16,
+-215,-126,
+-3,151,
+-143,211,
+-132,29,
+-164,120,
+29,84,
+31,-37,
+-132,-6,
+52,-47,
+120,77,
+-5,33,
+-69,-103,
+102,116,
+111,-101,
+55,120,
+18,28,
+27,57,
+-4,16,
+34,351,
+-126,43,
+-41,-168,
+-181,-21,
+96,-28,
+185,113,
+-38,64,
+28,7,
+-79,-100,
+-8,-134,
+19,33,
+23,-67,
+-297,299,
+-161,-229,
+72,-169,
+-174,168,
+198,31,
+-85,56,
+-2,-120,
+-121,-125,
+-42,29,
+113,-7,
+-71,-129,
+118,-44,
+-6,76,
+-93,137,
+-96,-155,
+-84,110,
+71,-121,
+-6,216,
+-165,-73,
+-361,138,
+74,-73,
+114,-162,
+82,57,
+48,6,
+-106,77,
+10,80,
+-47,-47,
+196,131,
+-38,-63,
+15,4,
+-16,275,
+172,-308,
+-75,-40,
+29,75,
+102,-46,
+-70,78,
+-24,109,
+168,-63,
+42,39,
+70,-121,
+110,213,
+-268,-32,
+187,-186,
+-87,-106,
+-23,-169,
+-4,70,
+96,-173,
+175,-74,
+133,-94,
+-6,184,
+62,18,
+119,-39,
+61,-33,
+-133,-70,
+207,-359,
+-51,248,
+-78,-93,
+73,-19,
+-108,129,
+-100,-41,
+-25,13,
+-84,-38,
+168,-45,
+33,-212,
+71,41,
+168,-61,
+206,-63,
+96,-25,
+-51,-109,
+82,-166,
+19,-69,
+-129,-13,
+-107,-143,
+159,-104,
+108,-97,
+191,42,
+22,97,
+-98,-19,
+25,-154,
+-195,-75,
+-104,9,
+246,-110,
+-180,133,
+31,-163,
+92,-44,
+-28,29,
+120,-73,
+-93,-46,
+-270,8,
+-33,-158,
+71,-161,
+-86,203,
+-123,16,
+-31,-89,
+166,-89,
+-11,40,
+-88,5,
+106,-291,
+114,92,
+-200,-24,
+-232,-207,
+-99,116,
+-56,-101,
+-117,-17,
+132,-99,
+32,79,
+168,121,
+-203,18,
+70,-9,
+41,-80,
+-27,-41,
+-119,26,
+49,-61,
+26,183,
+-69,-211,
+14,28,
+134,-30,
+35,-22,
+-94,-29,
+-31,71,
+157,128,
+134,149,
+31,-219,
+-239,-12,
+185,99,
+-3,-175,
+-108,23,
+-179,52,
+-29,-213,
+34,-30,
+-31,103,
+-101,-168,
+231,211,
+0,-13,
+-27,-48,
+95,-27,
+20,-182,
+-54,-12,
+21,-9,
+-20,12,
+-42,-208,
+-65,33,
+147,77,
+39,-21,
+86,12,
+140,123,
+-41,20,
+-121,-74,
+-62,89,
+47,-107,
+-15,65,
+198,-30,
+46,198,
+-179,-15,
+243,-29,
+94,108,
+78,5,
+324,-313,
+220,110,
+188,6,
+43,158,
+-13,42,
+-50,198,
+96,26,
+25,19,
+-194,52,
+-109,-163,
+-168,-167,
+69,-175,
+6,0,
+-12,-88,
+13,-1,
+114,-60,
+-85,-239,
+111,209,
+-113,-34,
+2,-145,
+72,123,
+-263,145,
+-6,217,
+0,-38,
+-61,108,
+-161,137,
+97,117,
+-233,-310,
+-245,101,
+108,-73,
+-195,180,
+-179,159,
+45,181,
+241,-160,
+50,115,
+-234,-88,
+-191,-4,
+109,-370,
+-76,51,
+-103,72,
+-16,0,
+236,219,
+104,124,
+132,122,
+-143,-87,
+36,140,
+111,49,
+21,-95,
+-97,-20,
+40,9,
+-177,288,
+-214,54,
+-141,-56,
+122,13,
+-67,70,
+35,144,
+-189,-73,
+-86,142,
+-190,62,
+-85,-3,
+-177,108,
+58,12,
+-62,-49,
+-108,-20,
+24,-137,
+-170,37,
+-295,60,
+-101,56,
+96,-116,
+8,-247,
+44,84,
+43,130,
+31,139,
+-57,-4,
+-62,41,
+102,-100,
+-127,169,
+50,-15,
+9,121,
+59,-42,
+-175,14,
+107,65,
+-80,-129,
+-97,58,
+269,3,
+-31,-84,
+83,-64,
+60,-37,
+-27,-29,
+341,-35,
+257,-47,
+165,-52,
+-68,167,
+36,-225,
+-8,123,
+3,-46,
+100,27,
+11,129,
+-68,215,
+-127,130,
+-236,-113,
+-249,-89,
+45,6,
+129,14,
+152,-17,
+-67,223,
+-56,-29,
+127,125,
+-44,-94,
+187,-88,
+167,-39,
+11,100,
+21,-21,
+66,23,
+-88,-44,
+48,83,
+-94,137,
+-80,174,
+135,107,
+-151,-65,
+-45,-26,
+240,-282,
+-26,-89,
+100,-22,
+-290,-60,
+-97,-224,
+-14,13,
+-127,-117,
+-71,120,
+8,-15,
+83,-91,
+133,332,
+-145,138,
+166,-85,
+64,109,
+-16,102,
+75,-42,
+-178,16,
+49,-148,
+375,76,
+87,-183,
+132,160,
+-99,-41,
+-72,-154,
+-24,-143,
+-9,-31,
+-3,52,
+53,65,
+46,-131,
+43,-152,
+-34,-69,
+-133,69,
+226,-147,
+56,-76,
+-162,-29,
+191,14,
+-41,93,
+71,145,
+-15,-52,
+-89,152,
+-64,-248,
+84,93,
+60,-127,
+-126,92,
+-116,106,
+76,-35,
+-59,157,
+-65,62,
+-61,-60,
+-115,50,
+-107,189,
+-199,49,
+-31,8,
+49,150,
+194,-60,
+83,33,
+-93,-164,
+-38,-57,
+-73,-50,
+-323,-115,
+91,-5,
+-258,103,
+-207,-14,
+-37,-51,
+131,-28,
+140,26,
+-101,88,
+-56,132,
+80,-149,
+178,-179,
+180,-222,
+13,38,
+114,-400,
+-32,-52,
+-107,-2,
+104,-50,
+-10,69,
+-145,-16,
+125,146,
+183,13,
+0,54,
+-91,-110,
+-87,131,
+259,205,
+47,-38,
+-111,19,
+-110,23,
+161,-185,
+126,46,
+138,56,
+-58,-13,
+217,-101,
+144,128,
+215,-84,
+-7,-113,
+-74,151,
+-41,-52,
+-40,-137,
+52,-109,
+-211,-33,
+149,-74,
+145,-129,
+25,-138,
+88,-62,
+54,-36,
+246,27,
+142,31,
+-243,230,
+122,-88,
+-226,-50,
+61,-94,
+132,-55,
+48,71,
+41,-42,
+33,107,
+-33,22,
+126,-34,
+-9,27,
+-136,71,
+-153,57,
+281,-101,
+-98,54,
+18,202,
+182,-51,
+-43,56,
+-12,99,
+76,28,
+14,53,
+-17,51,
+273,158,
+30,-322,
+55,104,
+-46,-87,
+-5,236,
+-190,83,
+4,-7,
+318,182,
+134,115,
+-59,-74,
+-28,7,
+-64,49,
+-74,-22,
+-221,4,
+212,124,
+-23,135,
+-93,94,
+-139,-211,
+87,-178,
+-63,-98,
+193,-122,
+14,134,
+41,-62,
+120,-21,
+59,-50,
+-51,81,
+-23,208,
+29,63,
+-30,-94,
+-96,134,
+298,-89,
+108,1,
+-184,83,
+-62,33,
+53,15,
+24,101,
+17,-51,
+-28,175,
+1,194,
+18,123,
+285,-207,
+-32,-20,
+14,85,
+-28,-123,
+-27,51,
+186,290,
+128,-76,
+14,152,
+-18,-217,
+49,-29,
+47,151,
+-2,-49,
+32,-4,
+94,15,
+179,21,
+-100,-48,
+100,-127,
+-153,178,
+-34,-108,
+-11,-33,
+-272,-232,
+23,-138,
+-179,-127,
+63,-146,
+-144,75,
+-8,-85,
+-200,-102,
+72,129,
+-388,88,
+-280,6,
+89,-37,
+-157,120,
+188,36,
+243,27,
+-23,-160,
+-90,40,
+72,193,
+153,201,
+109,-84,
+170,-1,
+-133,-11,
+30,88,
+-95,223,
+-77,9,
+65,-62,
+-226,181,
+-76,56,
+88,79,
+-52,165,
+58,-55,
+47,-107,
+-167,-88,
+17,77,
+-49,46,
+-13,39,
+-61,57,
+63,-66,
+-79,60,
+97,140,
+-42,65,
+102,-16,
+55,-14,
+-146,160,
+57,-66,
+-13,-119,
+-51,-148,
+-3,-151,
+144,-24,
+-78,110,
+254,63,
+-19,-17,
+203,58,
+-93,-49,
+-42,-19,
+-65,73,
+-10,-34,
+107,58,
+28,-211,
+-158,-95,
+47,13,
+72,-21,
+18,30,
+43,-88,
+-17,22,
+68,-64,
+-69,-83,
+-28,111,
+91,-49,
+176,-47,
+-114,163,
+29,0,
+-140,-38,
+134,-9,
+150,29,
+-49,-98,
+108,-85,
+-2,-304,
+64,41,
+6,-30,
+106,65,
+129,95,
+45,51,
+-138,-13,
+-128,79,
+-78,-103,
+85,-72,
+-39,-47,
+-35,-98,
+106,62,
+114,190,
+198,-64,
+-15,102,
+156,-176,
+-135,78,
+-3,33,
+-75,-7,
+-43,119,
+-46,-124,
+-106,-94,
+-21,47,
+8,241,
+32,13,
+17,50,
+91,-84,
+118,1,
+16,9,
+-131,-90,
+-33,-14,
+26,168,
+-39,-47,
+90,-19,
+65,-31,
+-33,-78,
+117,29,
+213,130,
+-10,179,
+27,-134,
+-228,18,
+-44,-27,
+-111,43,
+-102,25,
+70,70,
+-95,-22,
+-178,-35,
+7,-12,
+-112,-81,
+50,-54,
+-78,-160,
+241,143,
+51,236,
+-31,77,
+199,-89,
+-65,-142,
+-41,88,
+-17,-18,
+-23,-21,
+-68,1,
+-175,28,
+235,27,
+132,-24,
+-315,-42,
+-66,-101,
+101,-14,
+158,-189,
+-1,11,
+-26,80,
+-197,191,
+-37,2,
+16,30,
+26,149,
+52,-6,
+110,-27,
+-47,-69,
+40,146,
+-55,-41,
+63,62,
+32,-4,
+132,66,
+138,109,
+79,-202,
+-76,69,
+-5,90,
+10,164,
+14,-149,
+218,-34,
+-54,13,
+-45,-38,
+-20,143,
+26,-26,
+80,-20,
+16,41,
+-34,59,
+30,22,
+132,84,
+23,-18,
+103,7,
+100,132,
+-24,-219,
+-3,-72,
+112,35,
+-130,-93,
+166,-173,
+-96,102,
+171,-14,
+-144,-26,
+172,46,
+-47,-56,
+-213,-32,
+84,43,
+59,-14,
+-67,67,
+-21,17,
+108,14,
+-25,147,
+-44,125,
+-115,-42,
+86,-141,
+-142,217,
+-3,-89,
+205,-68,
+-137,-149,
+-21,-103,
+-45,-50,
+145,78,
+-160,-92,
+-13,62,
+-14,27,
+-71,38,
+63,1,
+129,-35,
+-6,-18,
+147,6,
+11,141,
+-122,92,
+6,50,
+-22,-51,
+-57,-60,
+197,-31,
+103,-7,
+-22,51,
+7,145,
+1,19,
+-78,63,
+78,6,
+97,-70,
+-115,-60,
+101,9,
+-28,-85,
+-56,171,
+-54,-192,
+-114,7,
+-221,85,
+155,57,
+-13,-99,
+-10,-64,
+-73,101,
+124,-220,
+107,49,
+55,134,
+14,-84,
+-9,-57,
+96,146,
+-30,-65,
+-55,-98,
+45,-18,
+-38,-6,
+-36,133,
+95,-151,
+-37,216,
+-85,-119,
+-79,92,
+13,-24,
+-113,31,
+-55,9,
+-53,51,
+111,84,
+-5,83,
+-19,35,
+107,76,
+31,-29,
+2,-11,
+-1,74,
+39,54,
+-11,-50,
+102,-65,
+-45,68,
+-83,18,
+7,153,
+-16,-35,
+216,-63,
+-68,41,
+-41,-9,
+-31,126,
+130,136,
+12,28,
+-60,-20,
+131,87,
+-32,-105,
+44,49,
+-74,68,
+30,30,
+81,22,
+61,54,
+3,-104,
+92,-83,
+178,-76,
+-118,35,
+-48,83,
+-77,158,
+-39,-162,
+-69,-143,
+16,50,
+-3,151,
+25,-23,
+22,-196,
+-53,81,
+31,-12,
+13,-138,
+-42,115,
+-138,5,
+103,44,
+192,77,
+36,59,
+-12,111,
+-141,-135,
+-7,60,
+-12,-93,
+-48,-97,
+2,-43,
+45,-22,
+33,-3,
+-14,-97,
+65,-113,
+-93,-6,
+2,-163,
+51,122,
+154,120,
+-24,44,
+-28,32,
+-17,31,
+-66,24,
+53,37,
+36,-24,
+31,-30,
+-51,-50,
+-32,-33,
+12,101,
+-7,73,
+-72,-3,
+127,19,
+85,34,
+70,-57,
+-87,-36,
+-37,-51,
+-6,-38,
+86,-9,
+-6,-84,
+-28,31,
+66,-43,
+-155,138,
+134,18,
+55,141,
+14,56,
+5,-40,
+-76,4,
+-72,22,
+13,-12,
+-39,-128,
+43,-51,
+36,6,
+35,87,
+39,75,
+53,15,
+-112,-9,
+-35,93,
+-178,-46,
+-9,64,
+22,63,
+-20,35,
+-46,33,
+67,-133,
+23,62,
+13,29,
+-5,81,
+-9,-13,
+27,-37,
+-68,-1,
+-30,63,
+39,-45,
+-79,41,
+46,73,
+7,-42,
+-108,-24,
+-44,-18,
+-59,52,
+64,31,
+-12,-59,
+0,-58,
+3,44,
+-21,-37,
+36,175,
+23,-32,
+48,98,
+9,-3,
+-94,30,
+-98,-33,
+-63,7,
+-8,-19,
+21,-2,
+76,-38,
+-64,63,
+38,57,
+121,-82,
+-16,85,
+-10,-34,
+31,-26,
+17,-2,
+20,12,
+50,-92,
+-32,25,
+-116,-35,
+51,-4,
+32,75,
+36,-40,
+101,-46,
+10,-15,
+12,-107,
+27,39,
+56,-12,
+92,-119,
+8,80,
+-69,1,
+36,65,
+55,111,
+116,30,
+12,-86,
+-47,40,
+-54,122,
+90,14,
+17,64,
+-8,-85,
+0,-103,
+69,-118,
+17,-122,
+-12,70,
+-34,-130,
+-29,6,
+16,-35,
+-116,11,
+-89,-130,
+-24,12,
+-134,-94,
+53,-26,
+9,29,
+-1,-99,
+-76,81,
+46,16,
+14,56,
+-64,32,
+69,-11,
+7,11,
+-33,46,
+16,-20,
+-102,-9,
+123,99,
+48,41,
+27,14,
+-12,-5,
+-4,-38,
+-3,55,
+-58,49,
+-7,82,
+156,-53,
+16,13,
+26,8,
+15,-6,
+16,43,
+19,-38,
+34,-84,
+-20,66,
+14,96,
+-16,3,
+27,-61,
+-6,50,
+80,-22,
+66,-39,
+-40,60,
+-33,27,
+46,3,
+-40,67,
+29,-9,
+-71,59,
+-98,-22,
+-27,-24,
+-19,-72,
+83,50,
+58,-3,
+-21,8,
+2,-103,
+35,7,
+-30,-9,
+-6,-39,
+53,67,
+35,117,
+34,9,
+34,-78,
+26,-16,
+90,30,
+-110,-58,
+15,96,
+-40,45,
+77,11,
+-4,14,
+12,28,
+52,-34,
+-9,33,
+19,35,
+41,-12,
+36,38,
+-29,5,
+-5,25,
+56,-92,
+-11,12,
+-9,32,
+26,12,
+1,-12,
+33,18,
+-19,37,
+5,30,
+-24,-7,
+-60,16,
+33,-97,
+17,46,
+54,-17,
+-11,66,
+-5,90,
+-25,-42,
+-40,35,
+-46,79,
+-27,-19,
+-6,5,
+-32,-40,
+-66,19,
+20,-25,
+12,-28,
+-18,16,
+-17,36,
+10,91,
+6,15,
+-39,35,
+48,-4,
+-15,74,
+-31,29,
+-10,-22,
+5,-46,
+6,38,
+41,37,
+45,24,
+-13,-67,
+-27,12,
+56,73,
+-6,4,
+35,-20,
+-10,1,
+1,4,
+8,-4,
+-56,-15,
+-41,10,
+-77,41,
+15,18,
+-97,63,
+-25,28,
+38,-31,
+22,-8,
+-1,18,
+7,52,
+-27,-14,
+2,-77,
+29,-13,
+-6,-56,
+-25,-8,
+-14,-65,
+-24,-6,
+-17,2,
+-33,-5,
+34,53,
+-3,37,
+19,-46,
+20,-18,
+28,-41,
+25,-29,
+-13,-9,
+10,-22,
+29,-7,
+20,7,
+-6,-11,
+27,-45,
+14,19,
+-67,28,
+46,-30,
+-46,-12,
+28,9,
+29,-20,
+12,44,
+4,-12,
+7,1,
+-35,6,
+-16,25,
+3,12,
+-2,-43,
+-49,22,
+-11,23,
+4,-14,
+9,16,
+1,3,
+-33,-24,
+-40,-4,
+16,-2,
+-5,-23,
+10,77,
+-37,35,
+23,9,
+-36,1,
+6,-29,
+33,19,
+-8,25,
+3,-9,
+36,20,
+24,-10,
+24,29,
+-17,6,
+-2,-27,
+29,-7,
+-46,-10,
+-14,-27,
+-12,-17,
+-7,-36,
+-25,53,
+-19,2,
+-39,-4,
+13,4,
+12,-18,
+21,11,
+31,-9,
+8,-23,
+-1,19,
+-8,-5,
+14,-3,
+0,17,
+3,20,
+-17,13,
+-6,24,
+-4,-11,
+32,5,
+-5,-3,
+21,2,
+-2,38,
+-8,-5,
+-5,-33,
+-12,-29,
+4,-18,
+41,-13,
+14,8,
+-8,8,
+19,0,
+-17,3,
+7,-1,
+-12,-1,
+17,8,
+-15,49,
+-7,18,
+6,17,
+-10,-1,
+-11,-2,
+0,24,
+-3,-2,
+-4,9,
+8,-7,
+-14,-10,
+8,11,
+8,-17,
+-13,14,
+24,-1,
+-1,-4,
+0,-4,
+-4,10,
+10,-15,
+1,0,
+21,16,
+2,-8,
+-18,5,
+-14,12,
+9,-14,
+5,-25,
+-5,-6,
+3,-8,
+-15,-4,
+0,0,
+9,-7,
+-4,-1,
+6,-14,
+9,-8,
+-3,-13,
+9,-1,
+1,-11,
+7,8,
+1,1,
+-3,-5,
+4,-17,
+11,-4,
+12,-5,
+-13,0,
+0,0,
+7,5,
+-3,0,
+5,-1,
+0,-3,
+8,14,
+6,6,
+6,0,
+-1,-5,
+-1,0,
+-3,-2,
+-16,-2,
+10,-10,
+-2,-1,
+-5,11,
+5,1,
+10,-9,
+-4,1,
+7,-2,
+-3,-5,
+-5,-3,
+0,-2,
+8,0,
+-4,-3,
+3,1,
+4,-2,
+0,-1,
+2,-1,
+2,1,
+-4,0,
+2,-1,
+3,1,
+-6,0,
+3,0,
+3,0,
+-6,0,
+3,0,
+3,0,
+-6,0,
+3,-1,
+2,1,
+-4,0,
+2,-1,
+2,1,
+0,1,
+4,2,
+3,-1,
+-4,3,
+8,0,
+0,2,
+-5,3,
+-3,5,
+7,2,
+-4,-1,
+10,9,
+5,-1,
+-5,-11,
+-2,1,
+10,10,
+-16,2,
+-3,2,
+-1,0,
+-1,5,
+6,0,
+6,-6,
+8,-14,
+0,3,
+5,1,
+-3,0,
+7,-5,
+0,0,
+-13,0,
+12,5,
+11,4,
+4,17,
+-3,5,
+1,-1,
+7,-8,
+1,11,
+9,1,
+-3,13,
+9,8,
+6,14,
+-4,1,
+9,7,
+0,0,
+-15,4,
+3,8,
+-5,6,
+5,25,
+9,14,
+-14,-12,
+-18,-5,
+2,8,
+21,-16,
+1,0,
+10,15,
+-4,-10,
+0,4,
+-1,4,
+24,1,
+-13,-14,
+8,17,
+8,-11,
+-14,10,
+8,7,
+-4,-9,
+-3,2,
+0,-24,
+-11,2,
+-10,1,
+6,-17,
+-7,-18,
+-15,-49,
+17,-8,
+-12,1,
+7,1,
+-17,-3,
+19,0,
+-8,-8,
+14,-8,
+41,13,
+4,18,
+-12,29,
+-5,33,
+-8,5,
+-2,-38,
+21,-2,
+-5,3,
+32,-5,
+-4,11,
+-6,-24,
+-17,-13,
+3,-20,
+0,-17,
+14,3,
+-8,5,
+-1,-19,
+8,23,
+31,9,
+21,-11,
+12,18,
+13,-4,
+-39,4,
+-19,-2,
+-25,-53,
+-7,36,
+-12,17,
+-14,27,
+-46,10,
+29,7,
+-2,27,
+-17,-6,
+24,-29,
+24,10,
+36,-20,
+3,9,
+-8,-25,
+33,-19,
+6,29,
+-36,-1,
+23,-9,
+-37,-35,
+10,-77,
+-5,23,
+16,2,
+-40,4,
+-33,24,
+1,-3,
+9,-16,
+4,14,
+-11,-23,
+-49,-22,
+-2,43,
+3,-12,
+-16,-25,
+-35,-6,
+7,-1,
+4,12,
+12,-44,
+29,20,
+28,-9,
+-46,12,
+46,30,
+-67,-28,
+14,-19,
+27,45,
+-6,11,
+20,-7,
+29,7,
+10,22,
+-13,9,
+25,29,
+28,41,
+20,18,
+19,46,
+-3,-37,
+34,-53,
+-33,5,
+-17,-2,
+-24,6,
+-14,65,
+-25,8,
+-6,56,
+29,13,
+2,77,
+-27,14,
+7,-52,
+-1,-18,
+22,8,
+38,31,
+-25,-28,
+-97,-63,
+15,-18,
+-77,-41,
+-41,-10,
+-56,15,
+8,4,
+1,-4,
+-10,-1,
+35,20,
+-6,-4,
+56,-73,
+-27,-12,
+-13,67,
+45,-24,
+41,-37,
+6,-38,
+5,46,
+-10,22,
+-31,-29,
+-15,-74,
+48,4,
+-39,-35,
+6,-15,
+10,-91,
+-17,-36,
+-18,-16,
+12,28,
+20,25,
+-66,-19,
+-32,40,
+-6,-5,
+-27,19,
+-46,-79,
+-40,-35,
+-25,42,
+-5,-90,
+-11,-66,
+54,17,
+17,-46,
+33,97,
+-60,-16,
+-24,7,
+5,-30,
+-19,-37,
+33,-18,
+1,12,
+26,-12,
+-9,-32,
+-11,-12,
+56,92,
+-5,-25,
+-29,-5,
+36,-38,
+41,12,
+19,-35,
+-9,-33,
+52,34,
+12,-28,
+-4,-14,
+77,-11,
+-40,-45,
+15,-96,
+-110,58,
+90,-30,
+26,16,
+34,78,
+34,-9,
+35,-117,
+53,-67,
+-6,39,
+-30,9,
+35,-7,
+2,103,
+-21,-8,
+58,3,
+83,-50,
+-19,72,
+-27,24,
+-98,22,
+-71,-59,
+29,9,
+-40,-67,
+46,-3,
+-33,-27,
+-40,-60,
+66,39,
+80,22,
+-6,-50,
+27,61,
+-16,-3,
+14,-96,
+-20,-66,
+34,84,
+19,38,
+16,-43,
+15,6,
+26,-8,
+16,-13,
+156,53,
+-7,-82,
+-58,-49,
+-3,-55,
+-4,38,
+-12,5,
+27,-14,
+48,-41,
+123,-99,
+-102,9,
+16,20,
+-33,-46,
+7,-11,
+69,11,
+-64,-32,
+14,-56,
+46,-16,
+-76,-81,
+-1,99,
+9,-29,
+53,26,
+-134,94,
+-24,-12,
+-89,130,
+-116,-11,
+16,35,
+-29,-6,
+-34,130,
+-12,-70,
+17,122,
+69,118,
+0,103,
+-8,85,
+17,-64,
+90,-14,
+-54,-122,
+-47,-40,
+12,86,
+116,-30,
+55,-111,
+36,-65,
+-69,-1,
+8,-80,
+92,119,
+56,12,
+27,-39,
+12,107,
+10,15,
+101,46,
+36,40,
+32,-75,
+51,4,
+-116,35,
+-32,-25,
+50,92,
+20,-12,
+17,2,
+31,26,
+-10,34,
+-16,-85,
+121,82,
+38,-57,
+-64,-63,
+76,38,
+21,2,
+-8,19,
+-63,-7,
+-98,33,
+-94,-30,
+9,3,
+48,-98,
+23,32,
+36,-175,
+-21,37,
+3,-44,
+0,58,
+-12,59,
+64,-31,
+-59,-52,
+-44,18,
+-108,24,
+7,42,
+46,-73,
+-79,-41,
+39,45,
+-30,-63,
+-68,1,
+27,37,
+-9,13,
+-5,-81,
+13,-29,
+23,-62,
+67,133,
+-46,-33,
+-20,-35,
+22,-63,
+-9,-64,
+-178,46,
+-35,-93,
+-112,9,
+53,-15,
+39,-75,
+35,-87,
+36,-6,
+43,51,
+-39,128,
+13,12,
+-72,-22,
+-76,-4,
+5,40,
+14,-56,
+55,-141,
+134,-18,
+-155,-138,
+66,43,
+-28,-31,
+-6,84,
+86,9,
+-6,38,
+-37,51,
+-87,36,
+70,57,
+85,-34,
+127,-19,
+-72,3,
+-7,-73,
+12,-101,
+-32,33,
+-51,50,
+31,30,
+36,24,
+53,-37,
+-66,-24,
+-17,-31,
+-28,-32,
+-24,-44,
+154,-120,
+51,-122,
+2,163,
+-93,6,
+65,113,
+-14,97,
+33,3,
+45,22,
+2,43,
+-48,97,
+-12,93,
+-7,-60,
+-141,135,
+-12,-111,
+36,-59,
+192,-77,
+103,-44,
+-138,-5,
+-42,-115,
+13,138,
+31,12,
+-53,-81,
+22,196,
+25,23,
+-3,-151,
+16,-50,
+-69,143,
+-39,162,
+-77,-158,
+-48,-83,
+-118,-35,
+178,76,
+92,83,
+3,104,
+61,-54,
+81,-22,
+30,-30,
+-74,-68,
+44,-49,
+-32,105,
+131,-87,
+-60,20,
+12,-28,
+130,-136,
+-31,-126,
+-41,9,
+-68,-41,
+216,63,
+-16,35,
+7,-153,
+-83,-18,
+-45,-68,
+102,65,
+-11,50,
+39,-54,
+-1,-74,
+2,11,
+31,29,
+107,-76,
+-19,-35,
+-5,-83,
+111,-84,
+-53,-51,
+-55,-9,
+-113,-31,
+13,24,
+-79,-92,
+-85,119,
+-37,-216,
+95,151,
+-36,-133,
+-38,6,
+45,18,
+-55,98,
+-30,65,
+96,-146,
+-9,57,
+14,84,
+55,-134,
+107,-49,
+124,220,
+-73,-101,
+-10,64,
+-13,99,
+155,-57,
+-221,-85,
+-114,-7,
+-54,192,
+-56,-171,
+-28,85,
+101,-9,
+-115,60,
+97,70,
+78,-6,
+-78,-63,
+1,-19,
+7,-145,
+-22,-51,
+103,7,
+197,31,
+-57,60,
+-22,51,
+6,-50,
+-122,-92,
+11,-141,
+147,-6,
+-6,18,
+129,35,
+63,-1,
+-71,-38,
+-14,-27,
+-13,-62,
+-160,92,
+145,-78,
+-45,50,
+-21,103,
+-137,149,
+205,68,
+-3,89,
+-142,-217,
+86,141,
+-115,42,
+-44,-125,
+-25,-147,
+108,-14,
+-21,-17,
+-67,-67,
+59,14,
+84,-43,
+-213,32,
+-47,56,
+172,-46,
+-144,26,
+171,14,
+-96,-102,
+166,173,
+-130,93,
+112,-35,
+-3,72,
+-24,219,
+100,-132,
+103,-7,
+23,18,
+132,-84,
+30,-22,
+-34,-59,
+16,-41,
+80,20,
+26,26,
+-20,-143,
+-45,38,
+-54,-13,
+218,34,
+14,149,
+10,-164,
+-5,-90,
+-76,-69,
+79,202,
+138,-109,
+132,-66,
+32,4,
+63,-62,
+-55,41,
+40,-146,
+-47,69,
+110,27,
+52,6,
+26,-149,
+16,-30,
+-37,-2,
+-197,-191,
+-26,-80,
+-1,-11,
+158,189,
+101,14,
+-66,101,
+-315,42,
+132,24,
+235,-27,
+-175,-28,
+-68,-1,
+-23,21,
+-17,18,
+-41,-88,
+-65,142,
+199,89,
+-31,-77,
+51,-236,
+241,-143,
+-78,160,
+50,54,
+-112,81,
+7,12,
+-178,35,
+-95,22,
+70,-70,
+-102,-25,
+-111,-43,
+-44,27,
+-228,-18,
+27,134,
+-10,-179,
+213,-130,
+117,-29,
+-33,78,
+65,31,
+90,19,
+-39,47,
+26,-168,
+-33,14,
+-131,90,
+16,-9,
+118,-1,
+91,84,
+17,-50,
+32,-13,
+8,-241,
+-21,-47,
+-106,94,
+-46,124,
+-43,-119,
+-75,7,
+-3,-33,
+-135,-78,
+156,176,
+-15,-102,
+198,64,
+114,-190,
+106,-62,
+-35,98,
+-39,47,
+85,72,
+-78,103,
+-128,-79,
+-138,13,
+45,-51,
+129,-95,
+106,-65,
+6,30,
+64,-41,
+-2,304,
+108,85,
+-49,98,
+150,-29,
+134,9,
+-140,38,
+29,0,
+-114,-163,
+176,47,
+91,49,
+-28,-111,
+-69,83,
+68,64,
+-17,-22,
+43,88,
+18,-30,
+72,21,
+47,-13,
+-158,95,
+28,211,
+107,-58,
+-10,34,
+-65,-73,
+-42,19,
+-93,49,
+203,-58,
+-19,17,
+254,-63,
+-78,-110,
+144,24,
+-3,151,
+-51,148,
+-13,119,
+57,66,
+-146,-160,
+55,14,
+102,16,
+-42,-65,
+97,-140,
+-79,-60,
+63,66,
+-61,-57,
+-13,-39,
+-49,-46,
+17,-77,
+-167,88,
+47,107,
+58,55,
+-52,-165,
+88,-79,
+-76,-56,
+-226,-181,
+65,62,
+-77,-9,
+-95,-223,
+30,-88,
+-133,11,
+170,1,
+109,84,
+153,-201,
+72,-193,
+-90,-40,
+-23,160,
+243,-27,
+188,-36,
+-157,-120,
+89,37,
+-280,-6,
+-388,-88,
+72,-129,
+-200,102,
+-8,85,
+-144,-75,
+63,146,
+-179,127,
+23,138,
+-272,232,
+-11,33,
+-34,108,
+-153,-178,
+100,127,
+-100,48,
+179,-21,
+94,-15,
+32,4,
+-2,49,
+47,-151,
+49,29,
+-18,217,
+14,-152,
+128,76,
+186,-290,
+-27,-51,
+-28,123,
+14,-85,
+-32,20,
+285,207,
+18,-123,
+1,-194,
+-28,-175,
+17,51,
+24,-101,
+53,-15,
+-62,-33,
+-184,-83,
+108,-1,
+298,89,
+-96,-134,
+-30,94,
+29,-63,
+-23,-208,
+-51,-81,
+59,50,
+120,21,
+41,62,
+14,-134,
+193,122,
+-63,98,
+87,178,
+-139,211,
+-93,-94,
+-23,-135,
+212,-124,
+-221,-4,
+-74,22,
+-64,-49,
+-28,-7,
+-59,74,
+134,-115,
+318,-182,
+4,7,
+-190,-83,
+-5,-236,
+-46,87,
+55,-104,
+30,322,
+273,-158,
+-17,-51,
+14,-53,
+76,-28,
+-12,-99,
+-43,-56,
+182,51,
+18,-202,
+-98,-54,
+281,101,
+-153,-57,
+-136,-71,
+-9,-27,
+126,34,
+-33,-22,
+33,-107,
+41,42,
+48,-71,
+132,55,
+61,94,
+-226,50,
+122,88,
+-243,-230,
+142,-31,
+246,-27,
+54,36,
+88,62,
+25,138,
+145,129,
+149,74,
+-211,33,
+52,109,
+-40,137,
+-41,52,
+-74,-151,
+-7,113,
+215,84,
+144,-128,
+217,101,
+-58,13,
+138,-56,
+126,-46,
+161,185,
+-110,-23,
+-111,-19,
+47,38,
+259,-205,
+-87,-131,
+-91,110,
+0,-54,
+183,-13,
+125,-146,
+-145,16,
+-10,-69,
+104,50,
+-107,2,
+-32,52,
+114,400,
+13,-38,
+180,222,
+178,179,
+80,149,
+-56,-132,
+-101,-88,
+140,-26,
+131,28,
+-37,51,
+-207,14,
+-258,-103,
+91,5,
+-323,115,
+-73,50,
+-38,57,
+-93,164,
+83,-33,
+194,60,
+49,-150,
+-31,-8,
+-199,-49,
+-107,-189,
+-115,-50,
+-61,60,
+-65,-62,
+-59,-157,
+76,35,
+-116,-106,
+-126,-92,
+60,127,
+84,-93,
+-64,248,
+-89,-152,
+-15,52,
+71,-145,
+-41,-93,
+191,-14,
+-162,29,
+56,76,
+226,147,
+-133,-69,
+-34,69,
+43,152,
+46,131,
+53,-65,
+-3,-52,
+-9,31,
+-24,143,
+-72,154,
+-99,41,
+132,-160,
+87,183,
+375,-76,
+49,148,
+-178,-16,
+75,42,
+-16,-102,
+64,-109,
+166,85,
+-145,-138,
+133,-332,
+83,91,
+8,15,
+-71,-120,
+-127,117,
+-14,-13,
+-97,224,
+-290,60,
+100,22,
+-26,89,
+240,282,
+-45,26,
+-151,65,
+135,-107,
+-80,-174,
+-94,-137,
+48,-83,
+-88,44,
+66,-23,
+21,21,
+11,-100,
+167,39,
+187,88,
+-44,94,
+127,-125,
+-56,29,
+-67,-223,
+152,17,
+129,-14,
+45,-6,
+-249,89,
+-236,113,
+-127,-130,
+-68,-215,
+11,-129,
+100,-27,
+3,46,
+-8,-123,
+36,225,
+-68,-167,
+165,52,
+257,47,
+341,35,
+-27,29,
+60,37,
+83,64,
+-31,84,
+269,-3,
+-97,-58,
+-80,129,
+107,-65,
+-175,-14,
+59,42,
+9,-121,
+50,15,
+-127,-169,
+102,100,
+-62,-41,
+-57,4,
+31,-139,
+43,-130,
+44,-84,
+8,247,
+96,116,
+-101,-56,
+-295,-60,
+-170,-37,
+24,137,
+-108,20,
+-62,49,
+58,-12,
+-177,-108,
+-85,3,
+-190,-62,
+-86,-142,
+-189,73,
+35,-144,
+-67,-70,
+122,-13,
+-141,56,
+-214,-54,
+-177,-288,
+40,-9,
+-97,20,
+21,95,
+111,-49,
+36,-140,
+-143,87,
+132,-122,
+104,-124,
+236,-219,
+-16,0,
+-103,-72,
+-76,-51,
+109,370,
+-191,4,
+-234,88,
+50,-115,
+241,160,
+45,-181,
+-179,-159,
+-195,-180,
+108,73,
+-245,-101,
+-233,310,
+97,-117,
+-161,-137,
+-61,-108,
+0,38,
+-6,-217,
+-263,-145,
+72,-123,
+2,145,
+-113,34,
+111,-209,
+-85,239,
+114,60,
+13,1,
+-12,88,
+11,0,
+12,-158,
+67,76,
+28,-1,
+-85,89,
+-139,-27,
+-104,26,
+-207,-56,
+-98,18,
+-71,-352,
+-124,290,
+-92,1,
+2,-64,
+18,-173,
+31,5,
+-16,-155,
+-145,-1,
+143,-75,
+134,-165,
+-82,148,
+27,19,
+50,33,
+128,63,
+-35,29,
+148,-45,
+-1,-62,
+-88,-88,
+-80,-168,
+111,91,
+-122,-164,
+68,170,
+97,-12,
+-149,181,
+140,99,
+-113,104,
+128,124,
+305,138,
+151,86,
+98,78,
+-130,-82,
+-289,105,
+-20,25,
+-82,-173,
+165,3,
+-120,-106,
+22,301,
+160,-41,
+71,201,
+92,-112,
+44,179,
+71,115,
+133,-18,
+-106,-118,
+-2,-157,
+235,169,
+-152,-21,
+-1,150,
+-178,-166,
+-49,33,
+-53,115,
+118,-92,
+-110,-56,
+61,-41,
+11,8,
+-161,-104,
+-73,258,
+30,-74,
+84,85,
+-91,67,
+-76,57,
+-195,-135,
+75,-12,
+-100,54,
+50,-6,
+44,17,
+40,-205,
+68,200,
+124,-131,
+40,218,
+-31,193,
+-10,12,
+151,-97,
+229,-149,
+29,204,
+28,-83,
+206,-284,
+-67,-43,
+-71,-111,
+-76,84,
+50,153,
+-86,-6,
+-10,234,
+-99,-198,
+11,-163,
+-175,176,
+-69,75,
+-112,-174,
+95,45,
+130,188,
+58,-6,
+-131,97,
+133,23,
+11,42,
+35,115,
+-194,-130,
+168,-202,
+-4,15,
+116,226,
+-149,109,
+102,215,
+-337,49,
+-53,139,
+104,24,
+-217,110,
+14,31,
+-28,-9,
+262,-37,
+110,-97,
+-204,-163,
+73,-31,
+307,13,
+-88,122,
+-201,-31,
+467,67,
+112,47,
+229,25,
+292,-165,
+127,196,
+-146,0,
+-126,186,
+98,131,
+92,-258,
+144,-126,
+-61,65,
+-76,-220,
+-40,63,
+-64,-25,
+-87,186,
+-59,243,
+-150,136,
+-152,74,
+153,12,
+-15,465,
+-18,154,
+180,128,
+104,126,
+10,-70,
+-80,-25,
+-8,-5,
+18,262,
+-32,91,
+301,131,
+82,9,
+-62,-22,
+63,62,
+99,20,
+-137,-65,
+-161,-160,
+-35,197,
+-270,-10,
+190,-3,
+165,-20,
+-75,-93,
+-18,-56,
+-161,111,
+-90,68,
+77,139,
+254,-8,
+201,24,
+-40,161,
+138,-88,
+-201,-71,
+37,-1,
+-76,51,
+-148,36,
+-260,7,
+165,-77,
+-53,-72,
+-63,89,
+-11,109,
+63,142,
+-135,-54,
+-11,-144,
+-129,157,
+88,104,
+62,113,
+-48,-118,
+-30,29,
+32,37,
+1,-85,
+65,-28,
+-120,151,
+20,9,
+-235,-104,
+-114,133,
+9,124,
+-45,25,
+-118,132,
+-95,93,
+47,-177,
+127,-61,
+-82,-55,
+-31,-3,
+181,-108,
+-105,-51,
+294,157,
+141,-15,
+-2,105,
+292,-256,
+-113,67,
+-116,464,
+237,104,
+-41,120,
+34,-2,
+-69,-22,
+-28,-66,
+176,117,
+-106,116,
+59,-228,
+-28,35,
+-63,-16,
+121,46,
+-59,-24,
+-21,-138,
+58,-167,
+-131,166,
+39,28,
+-327,-164,
+275,-220,
+-10,-145,
+-20,296,
+-93,-29,
+177,-168,
+-61,-23,
+12,-269,
+187,-116,
+-43,49,
+95,328,
+52,118,
+-15,157,
+-101,-78,
+-325,-23,
+107,-98,
+82,-78,
+-30,-202,
+52,-121,
+-63,-158,
+-90,249,
+-113,24,
+-21,-83,
+-367,74,
+-4,-147,
+-63,-107,
+-105,9,
+-58,59,
+354,-53,
+-58,-276,
+-115,-120,
+-7,-121,
+-115,126,
+12,-30,
+61,-215,
+90,169,
+-31,-16,
+-218,37,
+191,21,
+184,-23,
+-7,272,
+84,-43,
+76,28,
+-130,-51,
+108,124,
+277,44,
+-74,69,
+-156,-21,
+70,38,
+-13,20,
+14,9,
+17,96,
+78,-49,
+38,80,
+31,100,
+84,-165,
+-200,6,
+-94,201,
+-106,-78,
+140,207,
+-74,50,
+84,22,
+35,-54,
+71,223,
+-61,-232,
+-31,19,
+-25,-95,
+253,147,
+14,186,
+197,-112,
+55,-184,
+81,35,
+35,-88,
+26,-73,
+189,-147,
+20,6,
+192,56,
+-55,92,
+44,108,
+33,-6,
+-150,122,
+-7,-216,
+48,107,
+21,-89,
+-67,-82,
+93,-5,
+-81,-32,
+-96,-4,
+-18,-106,
+-181,-50,
+-106,90,
+16,68,
+49,-74,
+-196,-53,
+-14,73,
+132,231,
+-230,26,
+126,3,
+-60,-156,
+134,105,
+-27,80,
+123,178,
+133,-66,
+-130,-23,
+-47,-4,
+-58,-41,
+49,-148,
+61,115,
+-51,174,
+-86,29,
+132,39,
+-156,-30,
+85,-132,
+60,-1,
+67,-90,
+-166,-83,
+8,54,
+12,24,
+18,103,
+126,-90,
+77,-179,
+69,-45,
+-37,64,
+-211,-84,
+30,82,
+32,-64,
+7,232,
+-2,88,
+59,-83,
+-47,-74,
+41,-69,
+84,143,
+-27,-129,
+-210,15,
+-57,-33,
+60,-8,
+27,80,
+-108,-68,
+-113,-17,
+-85,94,
+64,-126,
+-8,-55,
+-166,11,
+10,93,
+-69,-117,
+-132,1,
+-92,87,
+-133,-90,
+-72,127,
+52,29,
+-2,-111,
+14,-70,
+-63,-99,
+284,37,
+-19,-29,
+-52,-72,
+65,319,
+-37,175,
+-25,55,
+-7,46,
+62,-69,
+126,60,
+-39,-24,
+162,-172,
+-104,-43,
+79,-52,
+70,-82,
+-67,-4,
+16,-56,
+66,147,
+-71,68,
+12,44,
+-117,-4,
+222,3,
+169,29,
+109,5,
+72,237,
+25,121,
+52,20,
+-102,189,
+14,63,
+8,185,
+-65,-43,
+37,-87,
+-84,-112,
+158,9,
+128,78,
+59,40,
+-145,83,
+-69,-106,
+57,-96,
+43,19,
+-38,-61,
+-33,207,
+103,238,
+-2,-32,
+-159,-101,
+39,17,
+66,138,
+69,-11,
+29,169,
+71,86,
+159,61,
+-55,40,
+-49,105,
+28,-54,
+129,-29,
+50,-24,
+-38,148,
+-140,106,
+-11,-117,
+-8,-65,
+135,90,
+161,47,
+117,5,
+26,32,
+-60,12,
+-126,18,
+73,4,
+-139,34,
+-40,-55,
+-101,112,
+125,-42,
+128,24,
+-140,-192,
+118,-43,
+46,-147,
+-31,27,
+53,-9,
+81,-6,
+-267,-45,
+58,-23,
+-120,95,
+-37,-221,
+29,68,
+-38,-98,
+-70,69,
+23,-115,
+135,-86,
+77,60,
+-36,46,
+131,-28,
+18,-6,
+-7,-96,
+-64,-116,
+-38,-34,
+-62,-141,
+73,-46,
+-124,103,
+41,-132,
+-17,118,
+48,232,
+110,110,
+-14,68,
+-80,-63,
+72,-78,
+5,98,
+-42,-25,
+-123,77,
+41,0,
+9,-143,
+67,-68,
+-22,-91,
+142,15,
+-16,56,
+-99,-59,
+-29,23,
+106,-46,
+76,-138,
+-150,10,
+-97,181,
+70,-34,
+-21,13,
+81,56,
+-104,-115,
+-31,-48,
+-128,8,
+47,0,
+-64,41,
+92,-124,
+134,-40,
+-22,0,
+-34,-94,
+20,118,
+-107,101,
+118,-39,
+69,80,
+7,-90,
+75,-42,
+-109,58,
+-62,72,
+13,66,
+-115,49,
+80,-105,
+38,16,
+-149,-147,
+-15,10,
+23,-44,
+-34,102,
+55,-21,
+93,-69,
+47,-104,
+-129,6,
+-56,152,
+10,-37,
+-5,-128,
+-18,54,
+57,43,
+-59,79,
+-160,-35,
+-14,90,
+-60,-23,
+16,-63,
+137,-96,
+-91,78,
+28,-8,
+-22,-31,
+-70,-2,
+219,53,
+200,73,
+-18,24,
+70,-86,
+-52,56,
+-11,-82,
+-51,28,
+-131,-56,
+-52,-52,
+-58,-36,
+-72,86,
+23,24,
+46,48,
+9,16,
+-44,133,
+-64,35,
+-66,-100,
+116,18,
+-177,-2,
+31,-75,
+-82,40,
+63,-169,
+-42,-5,
+-55,-74,
+65,78,
+-52,7,
+-44,28,
+-135,19,
+-26,40,
+-135,-44,
+111,149,
+-15,13,
+14,-227,
+-5,86,
+35,-71,
+-27,-57,
+46,-44,
+19,15,
+-24,79,
+77,160,
+56,77,
+-76,25,
+-46,-51,
+55,-52,
+98,-91,
+44,78,
+-98,94,
+15,14,
+50,-52,
+56,14,
+5,36,
+134,130,
+50,0,
+65,9,
+46,134,
+65,-49,
+-125,-79,
+7,-1,
+186,52,
+99,2,
+43,-44,
+-63,38,
+-46,44,
+-42,-60,
+-12,-87,
+97,2,
+25,160,
+1,27,
+-53,40,
+-107,-68,
+34,18,
+36,-11,
+169,-25,
+20,1,
+78,-46,
+99,81,
+93,26,
+98,59,
+-46,179,
+20,60,
+19,41,
+-10,-120,
+95,49,
+44,10,
+34,-19,
+-78,17,
+-8,12,
+-30,11,
+-90,60,
+-40,-68,
+-54,134,
+3,-6,
+53,53,
+-70,40,
+69,-78,
+186,24,
+71,23,
+90,-50,
+-77,48,
+-23,79,
+49,97,
+-150,-123,
+-44,81,
+81,21,
+-31,-90,
+43,-29,
+11,-86,
+-15,-105,
+-24,9,
+2,-51,
+63,-67,
+-96,-19,
+-12,36,
+1,-37,
+9,-98,
+-10,-35,
+-16,-13,
+47,55,
+-12,-38,
+-73,-129,
+51,-31,
+-44,88,
+52,-22,
+-91,6,
+-48,27,
+88,-7,
+63,-4,
+79,64,
+-87,-60,
+64,-48,
+-15,-62,
+-40,27,
+-64,95,
+-65,26,
+11,25,
+107,32,
+-49,-44,
+-31,-40,
+3,-22,
+-85,112,
+-20,-54,
+-14,30,
+-23,-34,
+59,20,
+94,-49,
+28,20,
+-30,43,
+-63,-17,
+18,-80,
+-31,6,
+1,7,
+32,85,
+129,41,
+-31,-55,
+-6,141,
+-65,-108,
+71,13,
+78,-3,
+72,4,
+-46,-72,
+-34,-26,
+39,62,
+42,-102,
+-23,-61,
+-50,-27,
+-26,-54,
+26,-16,
+-45,6,
+-34,10,
+12,-28,
+-75,57,
+56,-35,
+-84,-44,
+77,-6,
+43,14,
+24,29,
+46,-3,
+1,125,
+-63,-1,
+-83,63,
+40,18,
+-64,0,
+-62,90,
+-16,18,
+27,97,
+87,29,
+35,71,
+-156,-70,
+71,-7,
+-25,27,
+35,36,
+-18,-15,
+78,54,
+-8,-36,
+89,38,
+7,-105,
+10,-52,
+-17,1,
+-22,54,
+58,-14,
+21,38,
+-33,44,
+63,-56,
+0,50,
+-20,8,
+43,-85,
+-10,0,
+41,103,
+37,38,
+15,-27,
+-59,10,
+82,35,
+9,18,
+76,69,
+-24,54,
+-18,-25,
+85,-92,
+-40,80,
+-6,49,
+-36,-71,
+12,32,
+27,-36,
+-126,-84,
+-66,61,
+-41,56,
+27,39,
+10,-79,
+-64,11,
+-17,-65,
+-26,-57,
+6,-99,
+20,16,
+28,-60,
+43,-19,
+-139,8,
+-38,11,
+-26,24,
+-50,5,
+-32,-40,
+39,-138,
+-27,50,
+112,43,
+94,-53,
+34,83,
+-79,18,
+-30,-13,
+-89,39,
+-23,1,
+24,11,
+12,-48,
+52,68,
+-135,-23,
+-79,40,
+77,-134,
+-4,46,
+-34,-3,
+-39,-35,
+-21,27,
+-2,1,
+50,3,
+-60,-11,
+-19,-10,
+7,30,
+49,-28,
+-18,61,
+-24,-32,
+35,-59,
+-19,106,
+107,-21,
+98,-18,
+34,33,
+-39,-18,
+-51,81,
+87,52,
+-13,5,
+4,88,
+-18,-30,
+-37,11,
+20,6,
+-49,-5,
+-36,38,
+19,-22,
+43,-60,
+10,4,
+38,3,
+34,-55,
+-20,-36,
+-8,-42,
+48,19,
+-1,-32,
+-38,32,
+21,7,
+1,-28,
+-21,6,
+2,20,
+79,-8,
+-8,16,
+-5,-54,
+-18,-8,
+13,5,
+67,7,
+2,-42,
+-21,27,
+-6,-4,
+-9,-26,
+5,-77,
+27,14,
+-5,-33,
+-37,2,
+15,-25,
+4,42,
+23,20,
+12,76,
+1,30,
+53,-48,
+10,-8,
+-16,-37,
+-13,0,
+-9,49,
+-15,10,
+30,-10,
+5,-62,
+4,-11,
+-48,-32,
+21,4,
+15,34,
+-15,-22,
+15,21,
+18,59,
+38,23,
+35,-36,
+37,25,
+-48,-14,
+16,-32,
+22,65,
+6,20,
+77,-17,
+55,33,
+44,-1,
+-14,-19,
+49,-27,
+45,-23,
+27,-18,
+34,-5,
+-46,-15,
+13,-24,
+-19,9,
+-32,6,
+-19,32,
+-3,17,
+35,-24,
+41,-39,
+-23,39,
+21,58,
+-22,13,
+13,82,
+13,23,
+6,4,
+-2,-22,
+29,39,
+-20,29,
+-29,-32,
+-13,0,
+-7,56,
+-8,20,
+14,-55,
+12,23,
+14,-13,
+6,-26,
+38,-3,
+4,-48,
+41,27,
+32,-13,
+-3,23,
+-31,-1,
+-10,7,
+0,-34,
+18,33,
+12,2,
+-10,-10,
+24,-1,
+20,32,
+-3,1,
+-12,-5,
+8,-21,
+15,-11,
+-14,-19,
+-18,10,
+-2,-21,
+44,-1,
+-7,3,
+7,-4,
+17,-24,
+-42,13,
+-20,7,
+0,12,
+-3,9,
+11,17,
+-29,28,
+4,0,
+34,-12,
+5,13,
+16,13,
+-16,4,
+16,9,
+-26,7,
+8,-7,
+14,9,
+-14,-14,
+-7,-2,
+5,-21,
+10,-2,
+-6,4,
+19,8,
+-5,-13,
+13,-11,
+-10,1,
+-2,-1,
+-8,3,
+-1,-5,
+2,9,
+3,-15,
+-1,-5,
+-12,-15,
+25,8,
+-6,0,
+-3,11,
+-12,-5,
+-2,-3,
+12,19,
+5,0,
+8,-2,
+-9,19,
+24,3,
+-4,-3,
+11,7,
+-12,-8,
+-5,10,
+0,-10,
+3,-13,
+2,-10,
+-4,4,
+11,14,
+6,10,
+4,9,
+8,2,
+6,-10,
+2,11,
+11,-5,
+-6,-1,
+6,8,
+-6,-8,
+-1,1,
+-6,0,
+-3,-4,
+-1,3,
+1,8,
+2,-5,
+0,6,
+4,2,
+0,-6,
+0,4,
+-4,6,
+-2,-6,
+0,-2,
+-4,6,
+-1,-4,
+-3,-1,
+3,4,
+0,-6,
+1,-1,
+-5,3,
+2,-6,
+0,-2,
+-1,4,
+1,-5,
+1,0,
+-1,5,
+0,-5,
+0,0,
+0,5,
+-1,-5,
+1,0,
+1,5,
+-1,-4,
+0,2,
+2,6,
+-5,-3,
+1,1,
+0,6,
+3,-4,
+-3,1,
+-1,4,
+-4,-6,
+0,2,
+-2,6,
+-4,-6,
+0,-4,
+0,6,
+4,-2,
+0,-6,
+2,5,
+1,-8,
+-1,-3,
+-3,4,
+-6,0,
+-1,-1,
+-6,8,
+6,-8,
+-6,1,
+11,5,
+2,-11,
+6,10,
+8,-2,
+4,-9,
+6,-10,
+11,-14,
+-4,-4,
+2,10,
+3,13,
+0,10,
+-5,-10,
+-12,8,
+11,-7,
+-4,3,
+24,-3,
+-9,-19,
+8,2,
+5,0,
+12,-19,
+-2,3,
+-12,5,
+-3,-11,
+-6,0,
+25,-8,
+-12,15,
+-1,5,
+3,15,
+2,-9,
+-1,5,
+-8,-3,
+-2,1,
+-10,-1,
+13,11,
+-5,13,
+19,-8,
+-6,-4,
+10,2,
+5,21,
+-7,2,
+-14,14,
+14,-9,
+8,7,
+-26,-7,
+16,-9,
+-16,-4,
+16,-13,
+5,-13,
+34,12,
+4,0,
+-29,-28,
+11,-17,
+-3,-9,
+0,-12,
+-20,-7,
+-42,-13,
+17,24,
+7,4,
+-7,-3,
+44,1,
+-2,21,
+-18,-10,
+-14,19,
+15,11,
+8,21,
+-12,5,
+-3,-1,
+20,-32,
+24,1,
+-10,10,
+12,-2,
+18,-33,
+0,34,
+-10,-7,
+-31,1,
+-3,-23,
+32,13,
+41,-27,
+4,48,
+38,3,
+6,26,
+14,13,
+12,-23,
+14,55,
+-8,-20,
+-7,-56,
+-13,0,
+-29,32,
+-20,-29,
+29,-39,
+-2,22,
+6,-4,
+13,-23,
+13,-82,
+-22,-13,
+21,-58,
+-23,-39,
+41,39,
+35,24,
+-3,-17,
+-19,-32,
+-32,-6,
+-19,-9,
+13,24,
+-46,15,
+34,5,
+27,18,
+45,23,
+49,27,
+-14,19,
+44,1,
+55,-33,
+77,17,
+6,-20,
+22,-65,
+16,32,
+-48,14,
+37,-25,
+35,36,
+38,-23,
+18,-59,
+15,-21,
+-15,22,
+15,-34,
+21,-4,
+-48,32,
+4,11,
+5,62,
+30,10,
+-15,-10,
+-9,-49,
+-13,0,
+-16,37,
+10,8,
+53,48,
+1,-30,
+12,-76,
+23,-20,
+4,-42,
+15,25,
+-37,-2,
+-5,33,
+27,-14,
+5,77,
+-9,26,
+-6,4,
+-21,-27,
+2,42,
+67,-7,
+13,-5,
+-18,8,
+-5,54,
+-8,-16,
+79,8,
+2,-20,
+-21,-6,
+1,28,
+21,-7,
+-38,-32,
+-1,32,
+48,-19,
+-8,42,
+-20,36,
+34,55,
+38,-3,
+10,-4,
+43,60,
+19,22,
+-36,-38,
+-49,5,
+20,-6,
+-37,-11,
+-18,30,
+4,-88,
+-13,-5,
+87,-52,
+-51,-81,
+-39,18,
+34,-33,
+98,18,
+107,21,
+-19,-106,
+35,59,
+-24,32,
+-18,-61,
+49,28,
+7,-30,
+-19,10,
+-60,11,
+50,-3,
+-2,-1,
+-21,-27,
+-39,35,
+-34,3,
+-4,-46,
+77,134,
+-79,-40,
+-135,23,
+52,-68,
+12,48,
+24,-11,
+-23,-1,
+-89,-39,
+-30,13,
+-79,-18,
+34,-83,
+94,53,
+112,-43,
+-27,-50,
+39,138,
+-32,40,
+-50,-5,
+-26,-24,
+-38,-11,
+-139,-8,
+43,19,
+28,60,
+20,-16,
+6,99,
+-26,57,
+-17,65,
+-64,-11,
+10,79,
+27,-39,
+-41,-56,
+-66,-61,
+-126,84,
+27,36,
+12,-32,
+-36,71,
+-6,-49,
+-40,-80,
+85,92,
+-18,25,
+-24,-54,
+76,-69,
+9,-18,
+82,-35,
+-59,-10,
+15,27,
+37,-38,
+41,-103,
+-10,0,
+43,85,
+-20,-8,
+0,-50,
+63,56,
+-33,-44,
+21,-38,
+58,14,
+-22,-54,
+-17,-1,
+10,52,
+7,105,
+89,-38,
+-8,36,
+78,-54,
+-18,15,
+35,-36,
+-25,-27,
+71,7,
+-156,70,
+35,-71,
+87,-29,
+27,-97,
+-16,-18,
+-62,-90,
+-64,0,
+40,-18,
+-83,-63,
+-63,1,
+1,-125,
+46,3,
+24,-29,
+43,-14,
+77,6,
+-84,44,
+56,35,
+-75,-57,
+12,28,
+-34,-10,
+-45,-6,
+26,16,
+-26,54,
+-50,27,
+-23,61,
+42,102,
+39,-62,
+-34,26,
+-46,72,
+72,-4,
+78,3,
+71,-13,
+-65,108,
+-6,-141,
+-31,55,
+129,-41,
+32,-85,
+1,-7,
+-31,-6,
+18,80,
+-63,17,
+-30,-43,
+28,-20,
+94,49,
+59,-20,
+-23,34,
+-14,-30,
+-20,54,
+-85,-112,
+3,22,
+-31,40,
+-49,44,
+107,-32,
+11,-25,
+-65,-26,
+-64,-95,
+-40,-27,
+-15,62,
+64,48,
+-87,60,
+79,-64,
+63,4,
+88,7,
+-48,-27,
+-91,-6,
+52,22,
+-44,-88,
+51,31,
+-73,129,
+-12,38,
+47,-55,
+-16,13,
+-10,35,
+9,98,
+1,37,
+-12,-36,
+-96,19,
+63,67,
+2,51,
+-24,-9,
+-15,105,
+11,86,
+43,29,
+-31,90,
+81,-21,
+-44,-81,
+-150,123,
+49,-97,
+-23,-79,
+-77,-48,
+90,50,
+71,-23,
+186,-24,
+69,78,
+-70,-40,
+53,-53,
+3,6,
+-54,-134,
+-40,68,
+-90,-60,
+-30,-11,
+-8,-12,
+-78,-17,
+34,19,
+44,-10,
+95,-49,
+-10,120,
+19,-41,
+20,-60,
+-46,-179,
+98,-59,
+93,-26,
+99,-81,
+78,46,
+20,-1,
+169,25,
+36,11,
+34,-18,
+-107,68,
+-53,-40,
+1,-27,
+25,-160,
+97,-2,
+-12,87,
+-42,60,
+-46,-44,
+-63,-38,
+43,44,
+99,-2,
+186,-52,
+7,1,
+-125,79,
+65,49,
+46,-134,
+65,-9,
+50,0,
+134,-130,
+5,-36,
+56,-14,
+50,52,
+15,-14,
+-98,-94,
+44,-78,
+98,91,
+55,52,
+-46,51,
+-76,-25,
+56,-77,
+77,-160,
+-24,-79,
+19,-15,
+46,44,
+-27,57,
+35,71,
+-5,-86,
+14,227,
+-15,-13,
+111,-149,
+-135,44,
+-26,-40,
+-135,-19,
+-44,-28,
+-52,-7,
+65,-78,
+-55,74,
+-42,5,
+63,169,
+-82,-40,
+31,75,
+-177,2,
+116,-18,
+-66,100,
+-64,-35,
+-44,-133,
+9,-16,
+46,-48,
+23,-24,
+-72,-86,
+-58,36,
+-52,52,
+-131,56,
+-51,-28,
+-11,82,
+-52,-56,
+70,86,
+-18,-24,
+200,-73,
+219,-53,
+-70,2,
+-22,31,
+28,8,
+-91,-78,
+137,96,
+16,63,
+-60,23,
+-14,-90,
+-160,35,
+-59,-79,
+57,-43,
+-18,-54,
+-5,128,
+10,37,
+-56,-152,
+-129,-6,
+47,104,
+93,69,
+55,21,
+-34,-102,
+23,44,
+-15,-10,
+-149,147,
+38,-16,
+80,105,
+-115,-49,
+13,-66,
+-62,-72,
+-109,-58,
+75,42,
+7,90,
+69,-80,
+118,39,
+-107,-101,
+20,-118,
+-34,94,
+-22,0,
+134,40,
+92,124,
+-64,-41,
+47,0,
+-128,-8,
+-31,48,
+-104,115,
+81,-56,
+-21,-13,
+70,34,
+-97,-181,
+-150,-10,
+76,138,
+106,46,
+-29,-23,
+-99,59,
+-16,-56,
+142,-15,
+-22,91,
+67,68,
+9,143,
+41,0,
+-123,-77,
+-42,25,
+5,-98,
+72,78,
+-80,63,
+-14,-68,
+110,-110,
+48,-232,
+-17,-118,
+41,132,
+-124,-103,
+73,46,
+-62,141,
+-38,34,
+-64,116,
+-7,96,
+18,6,
+131,28,
+-36,-46,
+77,-60,
+135,86,
+23,115,
+-70,-69,
+-38,98,
+29,-68,
+-37,221,
+-120,-95,
+58,23,
+-267,45,
+81,6,
+53,9,
+-31,-27,
+46,147,
+118,43,
+-140,192,
+128,-24,
+125,42,
+-101,-112,
+-40,55,
+-139,-34,
+73,-4,
+-126,-18,
+-60,-12,
+26,-32,
+117,-5,
+161,-47,
+135,-90,
+-8,65,
+-11,117,
+-140,-106,
+-38,-148,
+50,24,
+129,29,
+28,54,
+-49,-105,
+-55,-40,
+159,-61,
+71,-86,
+29,-169,
+69,11,
+66,-138,
+39,-17,
+-159,101,
+-2,32,
+103,-238,
+-33,-207,
+-38,61,
+43,-19,
+57,96,
+-69,106,
+-145,-83,
+59,-40,
+128,-78,
+158,-9,
+-84,112,
+37,87,
+-65,43,
+8,-185,
+14,-63,
+-102,-189,
+52,-20,
+25,-121,
+72,-237,
+109,-5,
+169,-29,
+222,-3,
+-117,4,
+12,-44,
+-71,-68,
+66,-147,
+16,56,
+-67,4,
+70,82,
+79,52,
+-104,43,
+162,172,
+-39,24,
+126,-60,
+62,69,
+-7,-46,
+-25,-55,
+-37,-175,
+65,-319,
+-52,72,
+-19,29,
+284,-37,
+-63,99,
+14,70,
+-2,111,
+52,-29,
+-72,-127,
+-133,90,
+-92,-87,
+-132,-1,
+-69,117,
+10,-93,
+-166,-11,
+-8,55,
+64,126,
+-85,-94,
+-113,17,
+-108,68,
+27,-80,
+60,8,
+-57,33,
+-210,-15,
+-27,129,
+84,-143,
+41,69,
+-47,74,
+59,83,
+-2,-88,
+7,-232,
+32,64,
+30,-82,
+-211,84,
+-37,-64,
+69,45,
+77,179,
+126,90,
+18,-103,
+12,-24,
+8,-54,
+-166,83,
+67,90,
+60,1,
+85,132,
+-156,30,
+132,-39,
+-86,-29,
+-51,-174,
+61,-115,
+49,148,
+-58,41,
+-47,4,
+-130,23,
+133,66,
+123,-178,
+-27,-80,
+134,-105,
+-60,156,
+126,-3,
+-230,-26,
+132,-231,
+-14,-73,
+-196,53,
+49,74,
+16,-68,
+-106,-90,
+-181,50,
+-18,106,
+-96,4,
+-81,32,
+93,5,
+-67,82,
+21,89,
+48,-107,
+-7,216,
+-150,-122,
+33,6,
+44,-108,
+-55,-92,
+192,-56,
+20,-6,
+189,147,
+26,73,
+35,88,
+81,-35,
+55,184,
+197,112,
+14,-186,
+253,-147,
+-25,95,
+-31,-19,
+-61,232,
+71,-223,
+35,54,
+84,-22,
+-74,-50,
+140,-207,
+-106,78,
+-94,-201,
+-200,-6,
+84,165,
+31,-100,
+38,-80,
+78,49,
+17,-96,
+14,-9,
+-13,-20,
+70,-38,
+-156,21,
+-74,-69,
+277,-44,
+108,-124,
+-130,51,
+76,-28,
+84,43,
+-7,-272,
+184,23,
+191,-21,
+-218,-37,
+-31,16,
+90,-169,
+61,215,
+12,30,
+-115,-126,
+-7,121,
+-115,120,
+-58,276,
+354,53,
+-58,-59,
+-105,-9,
+-63,107,
+-4,147,
+-367,-74,
+-21,83,
+-113,-24,
+-90,-249,
+-63,158,
+52,121,
+-30,202,
+82,78,
+107,98,
+-325,23,
+-101,78,
+-15,-157,
+52,-118,
+95,-328,
+-43,-49,
+187,116,
+12,269,
+-61,23,
+177,168,
+-93,29,
+-20,-296,
+-10,145,
+275,220,
+-327,164,
+39,-28,
+-131,-166,
+58,167,
+-21,138,
+-59,24,
+121,-46,
+-63,16,
+-28,-35,
+59,228,
+-106,-116,
+176,-117,
+-28,66,
+-69,22,
+34,2,
+-41,-120,
+237,-104,
+-116,-464,
+-113,-67,
+292,256,
+-2,-105,
+141,15,
+294,-157,
+-105,51,
+181,108,
+-31,3,
+-82,55,
+127,61,
+47,177,
+-95,-93,
+-118,-132,
+-45,-25,
+9,-124,
+-114,-133,
+-235,104,
+20,-9,
+-120,-151,
+65,28,
+1,85,
+32,-37,
+-30,-29,
+-48,118,
+62,-113,
+88,-104,
+-129,-157,
+-11,144,
+-135,54,
+63,-142,
+-11,-109,
+-63,-89,
+-53,72,
+165,77,
+-260,-7,
+-148,-36,
+-76,-51,
+37,1,
+-201,71,
+138,88,
+-40,-161,
+201,-24,
+254,8,
+77,-139,
+-90,-68,
+-161,-111,
+-18,56,
+-75,93,
+165,20,
+190,3,
+-270,10,
+-35,-197,
+-161,160,
+-137,65,
+99,-20,
+63,-62,
+-62,22,
+82,-9,
+301,-131,
+-32,-91,
+18,-262,
+-8,5,
+-80,25,
+10,70,
+104,-126,
+180,-128,
+-18,-154,
+-15,-465,
+153,-12,
+-152,-74,
+-150,-136,
+-59,-243,
+-87,-186,
+-64,25,
+-40,-63,
+-76,220,
+-61,-65,
+144,126,
+92,258,
+98,-131,
+-126,-186,
+-146,0,
+127,-196,
+292,165,
+229,-25,
+112,-47,
+467,-67,
+-201,31,
+-88,-122,
+307,-13,
+73,31,
+-204,163,
+110,97,
+262,37,
+-28,9,
+14,-31,
+-217,-110,
+104,-24,
+-53,-139,
+-337,-49,
+102,-215,
+-149,-109,
+116,-226,
+-4,-15,
+168,202,
+-194,130,
+35,-115,
+11,-42,
+133,-23,
+-131,-97,
+58,6,
+130,-188,
+95,-45,
+-112,174,
+-69,-75,
+-175,-176,
+11,163,
+-99,198,
+-10,-234,
+-86,6,
+50,-153,
+-76,-84,
+-71,111,
+-67,43,
+206,284,
+28,83,
+29,-204,
+229,149,
+151,97,
+-10,-12,
+-31,-193,
+40,-218,
+124,131,
+68,-200,
+40,205,
+44,-17,
+50,6,
+-100,-54,
+75,12,
+-195,135,
+-76,-57,
+-91,-67,
+84,-85,
+30,74,
+-73,-258,
+-161,104,
+11,-8,
+61,41,
+-110,56,
+118,92,
+-53,-115,
+-49,-33,
+-178,166,
+-1,-150,
+-152,21,
+235,-169,
+-2,157,
+-106,118,
+133,18,
+71,-115,
+44,-179,
+92,112,
+71,-201,
+160,41,
+22,-301,
+-120,106,
+165,-3,
+-82,173,
+-20,-25,
+-289,-105,
+-130,82,
+98,-78,
+151,-86,
+305,-138,
+128,-124,
+-113,-104,
+140,-99,
+-149,-181,
+97,12,
+68,-170,
+-122,164,
+111,-91,
+-80,168,
+-88,88,
+-1,62,
+148,45,
+-35,-29,
+128,-63,
+50,-33,
+27,-19,
+-82,-148,
+134,165,
+143,75,
+-145,1,
+-16,155,
+31,-5,
+18,173,
+2,64,
+-92,-1,
+-124,-290,
+-71,352,
+-98,-18,
+-207,56,
+-104,-26,
+-139,27,
+-85,-89,
+28,1,
+67,-76,
+12,158,
+0,0,
+169,153,
+22,-148,
+-124,153,
+-165,127,
+-30,80,
+-2,109,
+119,80,
+70,-32,
+61,95,
+86,95,
+184,82,
+25,-192,
+22,-89,
+32,132,
+-208,-11,
+-134,-175,
+-161,97,
+-103,-64,
+55,-46,
+-28,-264,
+101,-112,
+-147,-88,
+-33,247,
+43,171,
+-132,-115,
+225,39,
+-42,202,
+327,84,
+45,-19,
+210,-84,
+43,188,
+223,73,
+121,-55,
+-147,85,
+6,62,
+75,-259,
+94,-133,
+63,-173,
+-119,135,
+5,141,
+76,-112,
+-181,230,
+31,-57,
+-51,19,
+-347,113,
+7,-166,
+22,200,
+109,96,
+188,-5,
+-142,38,
+-11,81,
+-24,23,
+98,-219,
+-32,-35,
+184,-159,
+71,43,
+24,67,
+-93,-7,
+3,45,
+-187,211,
+18,-105,
+41,95,
+32,-21,
+-94,-9,
+41,-34,
+-252,158,
+-3,-124,
+-186,-5,
+39,-19,
+-259,46,
+2,-55,
+-224,-12,
+28,-191,
+-228,-126,
+-73,69,
+192,77,
+77,-103,
+-12,-6,
+290,-40,
+202,132,
+31,21,
+230,54,
+-189,-20,
+-11,16,
+-12,154,
+54,112,
+70,-97,
+-159,111,
+41,-159,
+-173,122,
+56,-52,
+-54,-58,
+337,86,
+157,-34,
+63,-5,
+-180,-15,
+-19,-75,
+-36,47,
+-133,135,
+-134,63,
+11,126,
+262,76,
+71,170,
+66,106,
+176,59,
+-70,-85,
+18,-75,
+100,138,
+110,39,
+-193,99,
+-109,275,
+51,-53,
+299,45,
+50,58,
+-2,20,
+75,-48,
+64,282,
+-82,46,
+260,42,
+24,38,
+-2,244,
+-23,27,
+-313,187,
+-65,83,
+178,24,
+-63,88,
+93,131,
+98,50,
+59,-19,
+-62,63,
+-283,-41,
+-37,-141,
+-95,-107,
+128,53,
+-225,-18,
+-122,35,
+69,-70,
+-65,223,
+-21,184,
+8,-77,
+39,-89,
+-121,-8,
+-36,57,
+202,-181,
+-37,154,
+82,27,
+-1,-75,
+-187,72,
+77,35,
+-83,32,
+-375,59,
+32,44,
+156,-70,
+-154,128,
+10,-40,
+105,155,
+152,126,
+25,23,
+243,-90,
+122,87,
+71,57,
+-194,-18,
+-276,51,
+-8,12,
+-112,176,
+-137,52,
+-204,46,
+-69,-96,
+-117,19,
+97,186,
+-111,-89,
+104,30,
+-87,-172,
+212,81,
+218,-157,
+-144,12,
+-3,-20,
+50,120,
+-52,151,
+-85,244,
+-72,6,
+-4,-177,
+53,-194,
+217,119,
+-217,-44,
+-64,107,
+47,-81,
+-3,-131,
+-74,76,
+-51,-126,
+327,110,
+71,10,
+-83,-106,
+-247,-97,
+-207,135,
+45,-241,
+-3,-36,
+57,24,
+-85,-192,
+80,269,
+-39,-24,
+232,-142,
+-308,-44,
+177,-7,
+-89,-209,
+35,116,
+-68,234,
+128,115,
+-161,-139,
+-64,-20,
+12,46,
+174,-58,
+96,-146,
+53,198,
+2,41,
+97,-81,
+-147,-8,
+59,11,
+241,98,
+-74,-134,
+100,63,
+-143,134,
+144,-96,
+-219,-136,
+-40,33,
+-67,39,
+38,229,
+91,-43,
+59,153,
+217,62,
+-14,-33,
+-1,-177,
+60,121,
+3,185,
+173,-92,
+-202,56,
+-90,-60,
+-44,-17,
+54,52,
+199,257,
+-72,108,
+254,-105,
+-48,-84,
+-13,-111,
+137,-13,
+134,125,
+85,-65,
+237,-62,
+64,-72,
+183,-265,
+-225,75,
+-40,204,
+-189,70,
+-88,-39,
+50,-100,
+-97,-375,
+39,-55,
+-2,-136,
+-102,-190,
+72,14,
+-252,15,
+57,115,
+128,107,
+-38,74,
+26,-74,
+192,84,
+18,29,
+-193,-72,
+-1,143,
+-262,135,
+-36,-93,
+212,-9,
+83,83,
+-9,89,
+-344,115,
+74,126,
+75,-16,
+-32,70,
+54,24,
+-5,-19,
+-161,10,
+77,-39,
+210,-32,
+-147,-4,
+-80,169,
+68,-33,
+-105,62,
+-103,99,
+45,103,
+-152,115,
+103,-70,
+-84,-37,
+-42,-8,
+78,60,
+-121,56,
+80,-1,
+30,-123,
+75,162,
+-6,244,
+-78,-131,
+214,33,
+226,55,
+-2,-121,
+7,-57,
+228,-155,
+82,54,
+96,-91,
+-27,147,
+72,100,
+-123,67,
+-23,112,
+108,-30,
+195,80,
+-123,133,
+91,-189,
+59,179,
+-28,138,
+21,96,
+-125,-146,
+97,42,
+-114,-255,
+66,198,
+84,6,
+118,-19,
+24,53,
+-183,-96,
+-59,46,
+73,-83,
+116,19,
+-93,17,
+165,100,
+129,25,
+113,-68,
+21,56,
+-12,-63,
+42,-19,
+-75,-120,
+-41,115,
+-123,45,
+77,-68,
+-4,-212,
+197,168,
+-99,6,
+-123,40,
+-44,172,
+112,-102,
+-17,-7,
+-114,71,
+-13,-162,
+-50,-121,
+117,127,
+-22,-48,
+41,-242,
+79,8,
+17,-21,
+-122,26,
+137,-154,
+53,-79,
+-126,-2,
+-116,48,
+48,-28,
+44,-1,
+-123,-132,
+-76,-96,
+159,7,
+45,-188,
+62,10,
+-99,39,
+-43,26,
+91,50,
+-3,-165,
+26,-135,
+39,58,
+80,-108,
+112,-98,
+8,-47,
+-78,154,
+28,-48,
+66,-3,
+-87,139,
+-28,83,
+-65,44,
+-58,-44,
+-38,-15,
+123,84,
+-162,-109,
+-70,204,
+-136,-62,
+82,-90,
+-68,123,
+-142,-67,
+48,-1,
+-100,11,
+-36,111,
+-168,56,
+-99,246,
+-29,37,
+108,-23,
+103,-174,
+-15,189,
+-44,-63,
+39,-82,
+122,56,
+79,-3,
+53,-23,
+204,153,
+-89,-148,
+-65,81,
+-6,151,
+27,60,
+-65,74,
+-23,-59,
+-100,-28,
+-130,-119,
+57,-108,
+78,-32,
+89,-17,
+-137,-74,
+-41,2,
+32,-71,
+50,-180,
+-44,192,
+-99,-62,
+-92,-52,
+54,134,
+-111,-77,
+145,43,
+-90,-97,
+-178,141,
+-154,92,
+27,124,
+-70,54,
+49,-195,
+44,18,
+-186,144,
+-101,42,
+65,-71,
+-65,-19,
+71,-52,
+-113,91,
+6,170,
+87,62,
+-119,23,
+12,-73,
+-48,7,
+106,178,
+132,-13,
+13,-29,
+-31,-273,
+-36,-24,
+141,38,
+55,-136,
+-29,-66,
+-81,52,
+49,-155,
+25,143,
+18,-90,
+22,15,
+-62,2,
+-26,41,
+-97,-195,
+47,-142,
+101,-30,
+-182,120,
+-23,-47,
+73,-35,
+115,140,
+91,57,
+-88,137,
+148,-77,
+56,72,
+101,29,
+-134,-17,
+81,139,
+23,35,
+152,151,
+124,245,
+-120,27,
+-1,239,
+-103,6,
+252,-133,
+-52,-39,
+92,-53,
+52,133,
+-146,-124,
+-102,77,
+25,76,
+-153,-11,
+1,30,
+64,41,
+-58,-61,
+185,-183,
+-17,-100,
+-10,124,
+-10,35,
+-33,205,
+85,204,
+54,-156,
+-50,-134,
+19,-125,
+-69,39,
+18,-117,
+58,-106,
+123,154,
+47,-46,
+95,-150,
+48,60,
+-19,22,
+77,84,
+57,62,
+-138,34,
+-146,-180,
+-1,-109,
+110,52,
+4,51,
+128,19,
+-38,29,
+-105,69,
+-6,106,
+50,57,
+1,101,
+-152,-12,
+-26,-22,
+30,-61,
+-307,45,
+-14,-1,
+149,49,
+148,72,
+138,-104,
+9,-20,
+-24,138,
+-188,-65,
+-85,147,
+84,-1,
+-12,-93,
+3,22,
+96,-92,
+-6,-91,
+18,-58,
+-55,-9,
+137,30,
+-172,139,
+-89,-39,
+101,171,
+28,-197,
+228,1,
+90,82,
+142,102,
+133,109,
+-19,-60,
+85,34,
+21,-60,
+-29,179,
+82,15,
+-36,33,
+172,-20,
+52,158,
+-14,83,
+-10,-123,
+37,-12,
+57,-27,
+-198,65,
+-115,-14,
+2,-132,
+46,33,
+-83,-5,
+91,-13,
+-94,64,
+70,11,
+-78,-48,
+-41,-53,
+-50,95,
+-35,55,
+-26,25,
+-117,-62,
+-203,33,
+166,95,
+39,77,
+14,20,
+4,-111,
+-62,57,
+96,-45,
+141,11,
+33,28,
+3,-131,
+-42,109,
+-48,-10,
+27,-121,
+135,-65,
+-32,-11,
+-90,12,
+-17,21,
+128,-55,
+92,-71,
+23,-174,
+73,-5,
+-151,-7,
+114,70,
+-4,-101,
+-40,13,
+61,-87,
+-24,-62,
+22,62,
+-135,36,
+-12,-85,
+19,-23,
+-84,-16,
+-4,125,
+-47,-1,
+-126,-79,
+-34,-67,
+45,-38,
+-73,-21,
+134,-6,
+120,27,
+-61,-97,
+69,11,
+-37,56,
+44,118,
+23,13,
+-15,83,
+-43,62,
+20,-65,
+-4,1,
+44,87,
+-164,51,
+129,0,
+111,-86,
+75,-82,
+39,-96,
+65,37,
+-85,-79,
+55,-26,
+-5,-44,
+-26,-25,
+9,40,
+1,-186,
+106,2,
+-95,12,
+55,16,
+3,-72,
+-58,-4,
+131,-63,
+75,-19,
+-45,24,
+39,17,
+38,-39,
+17,-2,
+-112,66,
+-4,65,
+-33,22,
+-47,-5,
+-83,44,
+-43,9,
+92,-4,
+11,-40,
+-68,-29,
+11,119,
+-108,22,
+-25,-8,
+-32,-72,
+-90,-5,
+47,63,
+21,-82,
+-29,-101,
+-36,83,
+-49,24,
+-86,-25,
+103,-19,
+-72,65,
+-130,3,
+-1,29,
+47,3,
+-75,46,
+-64,-69,
+15,-39,
+-19,-4,
+5,37,
+18,12,
+67,-116,
+39,2,
+-13,31,
+15,100,
+-145,-58,
+73,10,
+58,-73,
+-51,-14,
+-74,0,
+67,20,
+-66,-7,
+8,52,
+32,125,
+4,6,
+53,37,
+-9,-1,
+-24,72,
+-38,-45,
+59,-85,
+-83,-13,
+25,87,
+92,52,
+-84,-20,
+75,41,
+-127,-73,
+-14,48,
+27,-64,
+128,7,
+-25,63,
+50,-23,
+-36,23,
+53,22,
+54,111,
+-28,-43,
+71,-42,
+86,2,
+-6,48,
+42,-33,
+-52,119,
+-1,69,
+-110,10,
+4,16,
+15,101,
+-41,89,
+36,7,
+39,-51,
+90,52,
+0,56,
+-81,-55,
+68,54,
+46,-45,
+-41,-8,
+-15,28,
+22,-72,
+-26,48,
+97,-50,
+66,-46,
+-44,-8,
+62,-6,
+35,-42,
+9,-20,
+-23,40,
+11,62,
+-36,-56,
+9,-41,
+37,45,
+-25,-1,
+41,12,
+47,12,
+30,-60,
+57,-148,
+54,161,
+-48,57,
+-5,-84,
+62,9,
+24,-105,
+6,-48,
+11,30,
+-1,52,
+16,7,
+5,20,
+49,32,
+40,-14,
+46,0,
+-56,-99,
+-39,46,
+-35,-10,
+-110,-43,
+-49,41,
+-108,-32,
+-14,-36,
+62,-28,
+68,-97,
+-7,8,
+-32,-32,
+-90,123,
+-18,26,
+20,57,
+-9,72,
+23,25,
+-28,-7,
+-72,40,
+-12,-10,
+41,95,
+77,-17,
+50,58,
+-39,3,
+17,-95,
+-29,2,
+17,-14,
+37,65,
+44,-12,
+-33,-6,
+-58,39,
+68,16,
+12,78,
+39,7,
+14,2,
+84,17,
+-32,-73,
+-47,-6,
+-4,-38,
+17,58,
+19,-80,
+-2,69,
+-34,36,
+62,9,
+-27,3,
+-41,-30,
+53,43,
+21,7,
+-9,27,
+-47,56,
+27,31,
+-6,-70,
+-49,1,
+26,-5,
+112,19,
+-13,-42,
+-26,55,
+-16,-62,
+-24,40,
+-44,-56,
+34,82,
+-6,-27,
+44,-2,
+-54,-2,
+-31,30,
+12,-26,
+-57,-32,
+26,-81,
+-32,-51,
+-17,71,
+21,43,
+28,31,
+-68,-51,
+21,7,
+-14,28,
+-40,-55,
+76,-11,
+-24,8,
+-41,58,
+-44,-23,
+4,-17,
+44,-20,
+78,-17,
+7,16,
+8,-14,
+-14,-12,
+-2,28,
+-48,68,
+36,11,
+-62,-50,
+19,64,
+32,-46,
+11,-2,
+-26,-14,
+2,-58,
+41,-58,
+2,20,
+46,-53,
+-11,-48,
+-8,-33,
+35,-21,
+4,66,
+-18,43,
+8,15,
+40,19,
+7,64,
+38,-43,
+-16,-9,
+10,43,
+5,-24,
+10,-57,
+5,-25,
+24,-6,
+-5,-8,
+-7,-19,
+19,7,
+0,29,
+4,3,
+-27,19,
+24,-30,
+-30,-8,
+-18,28,
+48,-31,
+33,5,
+6,8,
+-18,-35,
+21,-22,
+-8,-12,
+-12,26,
+-30,-51,
+-11,-22,
+12,-35,
+3,17,
+-2,36,
+36,-15,
+15,25,
+-4,12,
+33,-17,
+15,-31,
+27,-36,
+23,10,
+33,28,
+-22,0,
+40,32,
+25,-12,
+8,11,
+-6,12,
+22,9,
+-12,31,
+18,42,
+21,-47,
+30,-22,
+12,20,
+6,19,
+5,-14,
+-21,17,
+4,4,
+30,17,
+13,26,
+24,16,
+9,22,
+19,-26,
+15,-27,
+6,5,
+-4,-12,
+-10,-19,
+-1,-4,
+8,47,
+-7,16,
+4,27,
+0,-23,
+-13,2,
+22,-19,
+-26,4,
+12,-14,
+9,19,
+13,7,
+11,-31,
+-4,17,
+-1,-7,
+18,22,
+-1,28,
+11,20,
+-12,12,
+-6,7,
+6,15,
+10,-2,
+-17,-19,
+-17,-21,
+-7,11,
+1,-36,
+-4,1,
+10,-17,
+-15,1,
+3,-25,
+3,1,
+7,-19,
+-10,4,
+9,-1,
+-7,5,
+9,-4,
+3,-5,
+13,-15,
+-1,4,
+3,-5,
+2,10,
+-3,10,
+-19,7,
+-2,-5,
+-8,11,
+10,-12,
+3,-1,
+-2,5,
+12,14,
+3,4,
+5,-12,
+-8,-6,
+7,-15,
+6,0,
+-7,3,
+16,-12,
+-3,7,
+3,0,
+6,-11,
+-25,15,
+-5,8,
+4,-13,
+-1,4,
+1,4,
+6,2,
+3,14,
+3,0,
+-5,8,
+5,6,
+9,12,
+0,-9,
+-3,10,
+6,-3,
+8,-7,
+0,5,
+-8,-3,
+-2,0,
+-7,3,
+3,-2,
+0,-7,
+-2,-1,
+-1,-2,
+3,-6,
+-1,5,
+-4,1,
+1,-3,
+3,7,
+-1,0,
+1,-3,
+1,6,
+0,0,
+1,-5,
+1,4,
+0,-1,
+0,-5,
+0,5,
+0,0,
+0,-5,
+0,5,
+0,1,
+1,-4,
+1,5,
+0,0,
+1,-6,
+1,3,
+-1,0,
+3,-7,
+1,3,
+-4,-1,
+-1,-5,
+3,6,
+-1,2,
+-2,1,
+0,7,
+3,2,
+-7,-3,
+-2,0,
+-8,3,
+0,-5,
+8,7,
+6,3,
+-3,-10,
+0,9,
+9,-12,
+5,-6,
+-5,-8,
+3,0,
+3,-14,
+6,-2,
+1,-4,
+-1,-4,
+4,13,
+-5,-8,
+-25,-15,
+6,11,
+3,0,
+-3,-7,
+16,12,
+-7,-3,
+6,0,
+7,15,
+-8,6,
+5,12,
+3,-4,
+12,-14,
+-2,-5,
+3,1,
+10,12,
+-8,-11,
+-2,5,
+-19,-7,
+-3,-10,
+2,-10,
+3,5,
+-1,-4,
+13,15,
+3,5,
+9,4,
+-7,-5,
+9,1,
+-10,-4,
+7,19,
+3,-1,
+3,25,
+-15,-1,
+10,17,
+-4,-1,
+1,36,
+-7,-11,
+-17,21,
+-17,19,
+10,2,
+6,-15,
+-6,-7,
+-12,-12,
+11,-20,
+-1,-28,
+18,-22,
+-1,7,
+-4,-17,
+11,31,
+13,-7,
+9,-19,
+12,14,
+-26,-4,
+22,19,
+-13,-2,
+0,23,
+4,-27,
+-7,-16,
+8,-47,
+-1,4,
+-10,19,
+-4,12,
+6,-5,
+15,27,
+19,26,
+9,-22,
+24,-16,
+13,-26,
+30,-17,
+4,-4,
+-21,-17,
+5,14,
+6,-19,
+12,-20,
+30,22,
+21,47,
+18,-42,
+-12,-31,
+22,-9,
+-6,-12,
+8,-11,
+25,12,
+40,-32,
+-22,0,
+33,-28,
+23,-10,
+27,36,
+15,31,
+33,17,
+-4,-12,
+15,-25,
+36,15,
+-2,-36,
+3,-17,
+12,35,
+-11,22,
+-30,51,
+-12,-26,
+-8,12,
+21,22,
+-18,35,
+6,-8,
+33,-5,
+48,31,
+-18,-28,
+-30,8,
+24,30,
+-27,-19,
+4,-3,
+0,-29,
+19,-7,
+-7,19,
+-5,8,
+24,6,
+5,25,
+10,57,
+5,24,
+10,-43,
+-16,9,
+38,43,
+7,-64,
+40,-19,
+8,-15,
+-18,-43,
+4,-66,
+35,21,
+-8,33,
+-11,48,
+46,53,
+2,-20,
+41,58,
+2,58,
+-26,14,
+11,2,
+32,46,
+19,-64,
+-62,50,
+36,-11,
+-48,-68,
+-2,-28,
+-14,12,
+8,14,
+7,-16,
+78,17,
+44,20,
+4,17,
+-44,23,
+-41,-58,
+-24,-8,
+76,11,
+-40,55,
+-14,-28,
+21,-7,
+-68,51,
+28,-31,
+21,-43,
+-17,-71,
+-32,51,
+26,81,
+-57,32,
+12,26,
+-31,-30,
+-54,2,
+44,2,
+-6,27,
+34,-82,
+-44,56,
+-24,-40,
+-16,62,
+-26,-55,
+-13,42,
+112,-19,
+26,5,
+-49,-1,
+-6,70,
+27,-31,
+-47,-56,
+-9,-27,
+21,-7,
+53,-43,
+-41,30,
+-27,-3,
+62,-9,
+-34,-36,
+-2,-69,
+19,80,
+17,-58,
+-4,38,
+-47,6,
+-32,73,
+84,-17,
+14,-2,
+39,-7,
+12,-78,
+68,-16,
+-58,-39,
+-33,6,
+44,12,
+37,-65,
+17,14,
+-29,-2,
+17,95,
+-39,-3,
+50,-58,
+77,17,
+41,-95,
+-12,10,
+-72,-40,
+-28,7,
+23,-25,
+-9,-72,
+20,-57,
+-18,-26,
+-90,-123,
+-32,32,
+-7,-8,
+68,97,
+62,28,
+-14,36,
+-108,32,
+-49,-41,
+-110,43,
+-35,10,
+-39,-46,
+-56,99,
+46,0,
+40,14,
+49,-32,
+5,-20,
+16,-7,
+-1,-52,
+11,-30,
+6,48,
+24,105,
+62,-9,
+-5,84,
+-48,-57,
+54,-161,
+57,148,
+30,60,
+47,-12,
+41,-12,
+-25,1,
+37,-45,
+9,41,
+-36,56,
+11,-62,
+-23,-40,
+9,20,
+35,42,
+62,6,
+-44,8,
+66,46,
+97,50,
+-26,-48,
+22,72,
+-15,-28,
+-41,8,
+46,45,
+68,-54,
+-81,55,
+0,-56,
+90,-52,
+39,51,
+36,-7,
+-41,-89,
+15,-101,
+4,-16,
+-110,-10,
+-1,-69,
+-52,-119,
+42,33,
+-6,-48,
+86,-2,
+71,42,
+-28,43,
+54,-111,
+53,-22,
+-36,-23,
+50,23,
+-25,-63,
+128,-7,
+27,64,
+-14,-48,
+-127,73,
+75,-41,
+-84,20,
+92,-52,
+25,-87,
+-83,13,
+59,85,
+-38,45,
+-24,-72,
+-9,1,
+53,-37,
+4,-6,
+32,-125,
+8,-52,
+-66,7,
+67,-20,
+-74,0,
+-51,14,
+58,73,
+73,-10,
+-145,58,
+15,-100,
+-13,-31,
+39,-2,
+67,116,
+18,-12,
+5,-37,
+-19,4,
+15,39,
+-64,69,
+-75,-46,
+47,-3,
+-1,-29,
+-130,-3,
+-72,-65,
+103,19,
+-86,25,
+-49,-24,
+-36,-83,
+-29,101,
+21,82,
+47,-63,
+-90,5,
+-32,72,
+-25,8,
+-108,-22,
+11,-119,
+-68,29,
+11,40,
+92,4,
+-43,-9,
+-83,-44,
+-47,5,
+-33,-22,
+-4,-65,
+-112,-66,
+17,2,
+38,39,
+39,-17,
+-45,-24,
+75,19,
+131,63,
+-58,4,
+3,72,
+55,-16,
+-95,-12,
+106,-2,
+1,186,
+9,-40,
+-26,25,
+-5,44,
+55,26,
+-85,79,
+65,-37,
+39,96,
+75,82,
+111,86,
+129,0,
+-164,-51,
+44,-87,
+-4,-1,
+20,65,
+-43,-62,
+-15,-83,
+23,-13,
+44,-118,
+-37,-56,
+69,-11,
+-61,97,
+120,-27,
+134,6,
+-73,21,
+45,38,
+-34,67,
+-126,79,
+-47,1,
+-4,-125,
+-84,16,
+19,23,
+-12,85,
+-135,-36,
+22,-62,
+-24,62,
+61,87,
+-40,-13,
+-4,101,
+114,-70,
+-151,7,
+73,5,
+23,174,
+92,71,
+128,55,
+-17,-21,
+-90,-12,
+-32,11,
+135,65,
+27,121,
+-48,10,
+-42,-109,
+3,131,
+33,-28,
+141,-11,
+96,45,
+-62,-57,
+4,111,
+14,-20,
+39,-77,
+166,-95,
+-203,-33,
+-117,62,
+-26,-25,
+-35,-55,
+-50,-95,
+-41,53,
+-78,48,
+70,-11,
+-94,-64,
+91,13,
+-83,5,
+46,-33,
+2,132,
+-115,14,
+-198,-65,
+57,27,
+37,12,
+-10,123,
+-14,-83,
+52,-158,
+172,20,
+-36,-33,
+82,-15,
+-29,-179,
+21,60,
+85,-34,
+-19,60,
+133,-109,
+142,-102,
+90,-82,
+228,-1,
+28,197,
+101,-171,
+-89,39,
+-172,-139,
+137,-30,
+-55,9,
+18,58,
+-6,91,
+96,92,
+3,-22,
+-12,93,
+84,1,
+-85,-147,
+-188,65,
+-24,-138,
+9,20,
+138,104,
+148,-72,
+149,-49,
+-14,1,
+-307,-45,
+30,61,
+-26,22,
+-152,12,
+1,-101,
+50,-57,
+-6,-106,
+-105,-69,
+-38,-29,
+128,-19,
+4,-51,
+110,-52,
+-1,109,
+-146,180,
+-138,-34,
+57,-62,
+77,-84,
+-19,-22,
+48,-60,
+95,150,
+47,46,
+123,-154,
+58,106,
+18,117,
+-69,-39,
+19,125,
+-50,134,
+54,156,
+85,-204,
+-33,-205,
+-10,-35,
+-10,-124,
+-17,100,
+185,183,
+-58,61,
+64,-41,
+1,-30,
+-153,11,
+25,-76,
+-102,-77,
+-146,124,
+52,-133,
+92,53,
+-52,39,
+252,133,
+-103,-6,
+-1,-239,
+-120,-27,
+124,-245,
+152,-151,
+23,-35,
+81,-139,
+-134,17,
+101,-29,
+56,-72,
+148,77,
+-88,-137,
+91,-57,
+115,-140,
+73,35,
+-23,47,
+-182,-120,
+101,30,
+47,142,
+-97,195,
+-26,-41,
+-62,-2,
+22,-15,
+18,90,
+25,-143,
+49,155,
+-81,-52,
+-29,66,
+55,136,
+141,-38,
+-36,24,
+-31,273,
+13,29,
+132,13,
+106,-178,
+-48,-7,
+12,73,
+-119,-23,
+87,-62,
+6,-170,
+-113,-91,
+71,52,
+-65,19,
+65,71,
+-101,-42,
+-186,-144,
+44,-18,
+49,195,
+-70,-54,
+27,-124,
+-154,-92,
+-178,-141,
+-90,97,
+145,-43,
+-111,77,
+54,-134,
+-92,52,
+-99,62,
+-44,-192,
+50,180,
+32,71,
+-41,-2,
+-137,74,
+89,17,
+78,32,
+57,108,
+-130,119,
+-100,28,
+-23,59,
+-65,-74,
+27,-60,
+-6,-151,
+-65,-81,
+-89,148,
+204,-153,
+53,23,
+79,3,
+122,-56,
+39,82,
+-44,63,
+-15,-189,
+103,174,
+108,23,
+-29,-37,
+-99,-246,
+-168,-56,
+-36,-111,
+-100,-11,
+48,1,
+-142,67,
+-68,-123,
+82,90,
+-136,62,
+-70,-204,
+-162,109,
+123,-84,
+-38,15,
+-58,44,
+-65,-44,
+-28,-83,
+-87,-139,
+66,3,
+28,48,
+-78,-154,
+8,47,
+112,98,
+80,108,
+39,-58,
+26,135,
+-3,165,
+91,-50,
+-43,-26,
+-99,-39,
+62,-10,
+45,188,
+159,-7,
+-76,96,
+-123,132,
+44,1,
+48,28,
+-116,-48,
+-126,2,
+53,79,
+137,154,
+-122,-26,
+17,21,
+79,-8,
+41,242,
+-22,48,
+117,-127,
+-50,121,
+-13,162,
+-114,-71,
+-17,7,
+112,102,
+-44,-172,
+-123,-40,
+-99,-6,
+197,-168,
+-4,212,
+77,68,
+-123,-45,
+-41,-115,
+-75,120,
+42,19,
+-12,63,
+21,-56,
+113,68,
+129,-25,
+165,-100,
+-93,-17,
+116,-19,
+73,83,
+-59,-46,
+-183,96,
+24,-53,
+118,19,
+84,-6,
+66,-198,
+-114,255,
+97,-42,
+-125,146,
+21,-96,
+-28,-138,
+59,-179,
+91,189,
+-123,-133,
+195,-80,
+108,30,
+-23,-112,
+-123,-67,
+72,-100,
+-27,-147,
+96,91,
+82,-54,
+228,155,
+7,57,
+-2,121,
+226,-55,
+214,-33,
+-78,131,
+-6,-244,
+75,-162,
+30,123,
+80,1,
+-121,-56,
+78,-60,
+-42,8,
+-84,37,
+103,70,
+-152,-115,
+45,-103,
+-103,-99,
+-105,-62,
+68,33,
+-80,-169,
+-147,4,
+210,32,
+77,39,
+-161,-10,
+-5,19,
+54,-24,
+-32,-70,
+75,16,
+74,-126,
+-344,-115,
+-9,-89,
+83,-83,
+212,9,
+-36,93,
+-262,-135,
+-1,-143,
+-193,72,
+18,-29,
+192,-84,
+26,74,
+-38,-74,
+128,-107,
+57,-115,
+-252,-15,
+72,-14,
+-102,190,
+-2,136,
+39,55,
+-97,375,
+50,100,
+-88,39,
+-189,-70,
+-40,-204,
+-225,-75,
+183,265,
+64,72,
+237,62,
+85,65,
+134,-125,
+137,13,
+-13,111,
+-48,84,
+254,105,
+-72,-108,
+199,-257,
+54,-52,
+-44,17,
+-90,60,
+-202,-56,
+173,92,
+3,-185,
+60,-121,
+-1,177,
+-14,33,
+217,-62,
+59,-153,
+91,43,
+38,-229,
+-67,-39,
+-40,-33,
+-219,136,
+144,96,
+-143,-134,
+100,-63,
+-74,134,
+241,-98,
+59,-11,
+-147,8,
+97,81,
+2,-41,
+53,-198,
+96,146,
+174,58,
+12,-46,
+-64,20,
+-161,139,
+128,-115,
+-68,-234,
+35,-116,
+-89,209,
+177,7,
+-308,44,
+232,142,
+-39,24,
+80,-269,
+-85,192,
+57,-24,
+-3,36,
+45,241,
+-207,-135,
+-247,97,
+-83,106,
+71,-10,
+327,-110,
+-51,126,
+-74,-76,
+-3,131,
+47,81,
+-64,-107,
+-217,44,
+217,-119,
+53,194,
+-4,177,
+-72,-6,
+-85,-244,
+-52,-151,
+50,-120,
+-3,20,
+-144,-12,
+218,157,
+212,-81,
+-87,172,
+104,-30,
+-111,89,
+97,-186,
+-117,-19,
+-69,96,
+-204,-46,
+-137,-52,
+-112,-176,
+-8,-12,
+-276,-51,
+-194,18,
+71,-57,
+122,-87,
+243,90,
+25,-23,
+152,-126,
+105,-155,
+10,40,
+-154,-128,
+156,70,
+32,-44,
+-375,-59,
+-83,-32,
+77,-35,
+-187,-72,
+-1,75,
+82,-27,
+-37,-154,
+202,181,
+-36,-57,
+-121,8,
+39,89,
+8,77,
+-21,-184,
+-65,-223,
+69,70,
+-122,-35,
+-225,18,
+128,-53,
+-95,107,
+-37,141,
+-283,41,
+-62,-63,
+59,19,
+98,-50,
+93,-131,
+-63,-88,
+178,-24,
+-65,-83,
+-313,-187,
+-23,-27,
+-2,-244,
+24,-38,
+260,-42,
+-82,-46,
+64,-282,
+75,48,
+-2,-20,
+50,-58,
+299,-45,
+51,53,
+-109,-275,
+-193,-99,
+110,-39,
+100,-138,
+18,75,
+-70,85,
+176,-59,
+66,-106,
+71,-170,
+262,-76,
+11,-126,
+-134,-63,
+-133,-135,
+-36,-47,
+-19,75,
+-180,15,
+63,5,
+157,34,
+337,-86,
+-54,58,
+56,52,
+-173,-122,
+41,159,
+-159,-111,
+70,97,
+54,-112,
+-12,-154,
+-11,-16,
+-189,20,
+230,-54,
+31,-21,
+202,-132,
+290,40,
+-12,6,
+77,103,
+192,-77,
+-73,-69,
+-228,126,
+28,191,
+-224,12,
+2,55,
+-259,-46,
+39,19,
+-186,5,
+-3,124,
+-252,-158,
+41,34,
+-94,9,
+32,21,
+41,-95,
+18,105,
+-187,-211,
+3,-45,
+-93,7,
+24,-67,
+71,-43,
+184,159,
+-32,35,
+98,219,
+-24,-23,
+-11,-81,
+-142,-38,
+188,5,
+109,-96,
+22,-200,
+7,166,
+-347,-113,
+-51,-19,
+31,57,
+-181,-230,
+76,112,
+5,-141,
+-119,-135,
+63,173,
+94,133,
+75,259,
+6,-62,
+-147,-85,
+121,55,
+223,-73,
+43,-188,
+210,84,
+45,19,
+327,-84,
+-42,-202,
+225,-39,
+-132,115,
+43,-171,
+-33,-247,
+-147,88,
+101,112,
+-28,264,
+55,46,
+-103,64,
+-161,-97,
+-134,175,
+-208,11,
+32,-132,
+22,89,
+25,192,
+184,-82,
+86,-95,
+61,-95,
+70,32,
+119,-80,
+-2,-109,
+-30,-80,
+-165,-127,
+-124,-153,
+22,148,
+169,-153,
+11,0,
+-148,259,
+160,-168,
+150,192,
+201,172,
+313,-68,
+40,-186,
+-69,108,
+165,160,
+-11,-160,
+-78,101,
+-49,22,
+14,65,
+46,-149,
+-66,-7,
+22,8,
+71,-91,
+-110,49,
+-6,-147,
+94,200,
+-3,105,
+91,33,
+134,-39,
+-70,-152,
+85,-17,
+-32,-139,
+33,-42,
+-58,119,
+85,106,
+-25,11,
+70,-155,
+129,-166,
+-125,140,
+88,-13,
+67,123,
+210,33,
+-261,-11,
+155,72,
+50,-19,
+148,-109,
+32,-155,
+-89,-164,
+104,-15,
+-185,-191,
+-161,19,
+3,18,
+-15,-272,
+-34,95,
+117,-56,
+-116,-113,
+-35,109,
+-56,1,
+89,165,
+-245,248,
+-73,17,
+-261,233,
+-175,-91,
+80,-185,
+292,-46,
+-9,145,
+177,22,
+140,-16,
+25,109,
+66,-116,
+-11,15,
+-98,-252,
+-56,79,
+-42,-38,
+-59,-31,
+257,-123,
+43,-1,
+115,59,
+-162,42,
+19,-45,
+-227,178,
+21,69,
+57,-16,
+-112,67,
+-53,100,
+282,-7,
+-245,-179,
+-17,7,
+-9,-23,
+-58,180,
+-97,-37,
+286,18,
+-41,93,
+109,219,
+-14,-30,
+50,238,
+106,75,
+11,170,
+-67,35,
+212,-53,
+-161,-161,
+-47,-97,
+109,61,
+-19,109,
+-51,177,
+-54,-117,
+-100,202,
+-6,-94,
+-12,415,
+148,51,
+-155,-122,
+368,159,
+-180,189,
+-143,69,
+115,278,
+94,-154,
+-50,94,
+-183,73,
+-337,140,
+148,53,
+-71,-43,
+-211,123,
+-14,55,
+82,58,
+140,2,
+-66,-9,
+32,-53,
+-101,23,
+-147,178,
+-42,-73,
+-7,70,
+-89,142,
+-282,159,
+123,106,
+98,-20,
+220,-101,
+-72,-65,
+-84,-39,
+41,-172,
+43,78,
+74,3,
+-325,107,
+-58,-56,
+-144,-23,
+-40,-86,
+233,293,
+169,-40,
+-109,-93,
+-10,112,
+112,109,
+-42,-7,
+150,-97,
+-45,33,
+87,109,
+172,-47,
+-178,-61,
+211,-94,
+69,-110,
+233,-200,
+-181,-23,
+17,40,
+-83,-23,
+54,-56,
+-158,39,
+-48,-44,
+-138,27,
+132,67,
+-22,-65,
+-22,-4,
+-203,27,
+-179,124,
+16,-126,
+-265,169,
+-56,315,
+-54,-57,
+91,74,
+-143,-47,
+21,47,
+103,-111,
+70,-140,
+131,-130,
+-29,-113,
+40,-28,
+-47,-98,
+-38,173,
+132,13,
+68,19,
+-84,177,
+24,100,
+120,-318,
+-245,131,
+-3,49,
+73,203,
+59,127,
+247,62,
+-94,-202,
+-77,-24,
+-59,57,
+9,-41,
+48,-26,
+-106,-28,
+59,4,
+107,29,
+-138,-252,
+217,-7,
+14,134,
+171,-206,
+22,17,
+-31,97,
+-60,160,
+153,84,
+-33,102,
+-53,-56,
+-113,57,
+-76,-43,
+-1,-139,
+-73,-210,
+135,-52,
+-149,-26,
+-36,78,
+-211,192,
+76,14,
+-85,-252,
+-12,172,
+253,54,
+28,-118,
+-18,-51,
+-36,8,
+107,104,
+-49,85,
+9,-154,
+-83,-290,
+134,-182,
+-163,3,
+46,44,
+-4,241,
+93,63,
+93,50,
+-88,-45,
+17,40,
+-89,76,
+92,81,
+145,292,
+22,62,
+-16,-128,
+134,12,
+-183,87,
+109,-3,
+22,130,
+103,329,
+37,117,
+-176,-120,
+13,-56,
+135,30,
+20,-14,
+69,113,
+-37,-133,
+56,14,
+57,-146,
+216,-24,
+100,33,
+-54,-92,
+-58,86,
+-24,108,
+-41,-58,
+0,-84,
+115,-17,
+27,-59,
+65,-75,
+-71,21,
+-163,16,
+-136,-14,
+36,-265,
+-1,122,
+-258,-147,
+123,110,
+-194,98,
+104,26,
+52,158,
+-126,52,
+71,136,
+-121,164,
+116,76,
+-124,-98,
+-135,-112,
+-135,-13,
+60,-22,
+125,102,
+111,-116,
+-122,146,
+186,349,
+54,84,
+-259,53,
+4,78,
+60,28,
+59,100,
+137,139,
+-206,11,
+-189,3,
+113,-173,
+-7,96,
+-139,89,
+-207,-44,
+168,-184,
+-219,-40,
+72,21,
+-39,-136,
+-39,-14,
+-94,-11,
+-67,-193,
+44,112,
+7,-158,
+34,269,
+-50,15,
+-105,-149,
+60,-156,
+233,-70,
+25,6,
+-51,-62,
+50,148,
+59,-34,
+155,129,
+42,91,
+64,38,
+-51,182,
+-32,-106,
+-151,101,
+49,375,
+161,-69,
+194,75,
+-160,-14,
+15,24,
+28,-67,
+-202,-35,
+34,83,
+-54,-37,
+-134,-126,
+69,153,
+-205,74,
+132,-94,
+273,26,
+98,-24,
+-225,-69,
+-30,146,
+82,-323,
+200,-9,
+-18,115,
+78,61,
+1,130,
+-31,48,
+-98,-89,
+-84,-29,
+76,-7,
+238,15,
+32,-4,
+-100,41,
+-152,-86,
+104,-62,
+-14,97,
+23,-28,
+92,-6,
+-165,-97,
+69,42,
+76,136,
+-44,94,
+-28,138,
+19,21,
+-1,212,
+-2,-50,
+33,-132,
+-28,-41,
+-146,-47,
+-163,144,
+43,-21,
+155,-72,
+108,-33,
+25,-131,
+114,-83,
+131,36,
+171,56,
+5,9,
+74,97,
+-122,-81,
+66,-20,
+201,-45,
+164,139,
+116,206,
+86,1,
+-154,-59,
+111,38,
+-142,-114,
+31,-14,
+37,-91,
+169,31,
+-171,181,
+-127,34,
+-102,45,
+101,65,
+-96,63,
+35,37,
+87,-76,
+133,52,
+-9,-128,
+-42,27,
+-217,80,
+37,-151,
+56,-24,
+102,-80,
+-225,62,
+-28,-163,
+-171,-29,
+-74,-29,
+-82,158,
+-106,151,
+70,108,
+-59,102,
+-53,5,
+57,-57,
+34,21,
+-10,-57,
+-19,-69,
+-71,-56,
+371,-166,
+66,98,
+25,47,
+-18,24,
+-24,32,
+41,27,
+-40,-21,
+57,-149,
+22,-119,
+-81,-116,
+21,-18,
+-113,-77,
+55,16,
+190,185,
+84,-43,
+119,-112,
+10,50,
+8,183,
+160,-108,
+115,37,
+-103,81,
+129,-24,
+-12,-78,
+-67,155,
+32,63,
+114,-91,
+32,-32,
+146,-58,
+137,69,
+12,39,
+276,29,
+-17,-80,
+158,70,
+-154,3,
+-29,-60,
+9,-5,
+-36,16,
+90,45,
+46,-67,
+110,-8,
+-32,-29,
+103,13,
+37,-6,
+-23,63,
+5,-205,
+-126,142,
+37,25,
+-23,-146,
+-160,21,
+8,-183,
+-69,14,
+61,49,
+-59,88,
+-36,-159,
+-52,-34,
+-126,-15,
+-85,-44,
+-54,111,
+-16,-33,
+38,153,
+67,-227,
+104,-164,
+151,83,
+-43,54,
+-49,-103,
+100,74,
+-187,58,
+-96,73,
+-193,94,
+101,81,
+-98,-88,
+-91,-4,
+-37,45,
+-61,66,
+-15,-141,
+-52,-77,
+105,0,
+35,-15,
+-35,-9,
+20,-38,
+105,2,
+165,163,
+-161,89,
+-48,-162,
+-54,-61,
+-153,137,
+84,-84,
+93,245,
+-46,121,
+-157,-109,
+-89,2,
+59,79,
+-121,-62,
+-106,-100,
+62,9,
+-11,150,
+-6,-6,
+117,-3,
+88,27,
+-192,-65,
+-17,-118,
+118,-8,
+-95,17,
+-39,-234,
+161,-47,
+69,182,
+146,-51,
+-46,-50,
+0,-61,
+-105,-130,
+1,-17,
+196,23,
+31,191,
+-96,-17,
+21,-45,
+14,76,
+-57,35,
+-48,24,
+-82,-86,
+-50,-1,
+161,-58,
+-77,-109,
+-70,-7,
+93,-50,
+88,13,
+13,-295,
+146,12,
+-23,-28,
+-49,-9,
+58,-2,
+45,67,
+-157,150,
+-107,43,
+-48,14,
+196,16,
+-89,-57,
+47,-100,
+15,-66,
+-131,-81,
+-30,-35,
+-3,6,
+103,-54,
+-76,75,
+-12,-122,
+-162,-51,
+9,-36,
+16,-28,
+-25,3,
+62,-108,
+-164,40,
+107,53,
+11,-4,
+-70,91,
+-2,-10,
+15,107,
+-74,27,
+97,17,
+-16,-30,
+-99,-38,
+65,-13,
+19,-96,
+-48,271,
+-6,-24,
+100,142,
+-42,112,
+39,41,
+-65,94,
+-85,81,
+85,-4,
+98,-48,
+-48,59,
+-42,-30,
+118,51,
+-54,25,
+1,107,
+81,61,
+74,-12,
+-117,40,
+12,165,
+86,69,
+52,39,
+-54,3,
+-66,-111,
+-20,36,
+-140,-8,
+-95,-2,
+-20,52,
+35,-48,
+-2,29,
+28,-11,
+78,-48,
+-30,182,
+2,97,
+-130,125,
+-39,-131,
+14,15,
+-59,81,
+-2,-34,
+17,-12,
+32,12,
+109,-60,
+120,26,
+61,-91,
+54,-112,
+-101,3,
+-30,-164,
+-56,-31,
+61,-32,
+-138,129,
+-11,-62,
+14,-66,
+-4,-103,
+-12,45,
+-67,60,
+44,89,
+-40,-20,
+65,5,
+66,-26,
+-22,35,
+85,-182,
+76,-38,
+31,47,
+-25,101,
+-85,-86,
+17,51,
+-52,-91,
+-6,44,
+18,-30,
+89,92,
+126,138,
+-11,103,
+-94,26,
+62,-4,
+-33,-60,
+44,105,
+56,44,
+-14,111,
+-47,67,
+-39,22,
+-86,54,
+-15,117,
+28,11,
+-12,-93,
+82,-98,
+-86,-12,
+-98,19,
+46,-5,
+35,4,
+99,16,
+20,-36,
+107,-8,
+54,54,
+21,-15,
+-9,0,
+-87,-46,
+65,64,
+13,23,
+-40,-35,
+-21,21,
+-1,-133,
+6,39,
+4,152,
+21,38,
+-65,-67,
+-10,-26,
+32,-41,
+17,9,
+104,29,
+55,42,
+-99,19,
+-5,155,
+-106,-91,
+74,-114,
+-16,77,
+-61,157,
+23,-3,
+27,32,
+29,-117,
+14,10,
+-73,-4,
+36,-91,
+36,5,
+-88,-34,
+8,-32,
+77,12,
+-106,4,
+121,152,
+91,-2,
+73,-64,
+17,-48,
+-24,22,
+120,-21,
+26,70,
+-1,45,
+103,61,
+-36,3,
+33,-17,
+-14,27,
+-34,86,
+-91,66,
+-67,-69,
+45,-37,
+18,37,
+111,4,
+-143,-15,
+36,22,
+-31,-82,
+-64,-43,
+7,72,
+-25,-100,
+-36,33,
+-51,-35,
+-50,-11,
+57,-140,
+24,56,
+-26,20,
+-85,-99,
+82,-47,
+42,-4,
+13,71,
+70,42,
+12,-63,
+-11,-48,
+115,-7,
+105,51,
+62,31,
+19,-44,
+-52,117,
+61,17,
+-24,-78,
+-71,-60,
+-22,-9,
+34,-50,
+61,79,
+59,-91,
+63,15,
+2,29,
+72,-37,
+35,50,
+-17,-93,
+60,4,
+-91,-62,
+6,21,
+-78,-29,
+31,-107,
+15,-4,
+-46,14,
+-18,23,
+-2,30,
+-49,24,
+-13,-37,
+48,-4,
+13,-15,
+-1,-38,
+-20,54,
+-3,80,
+-22,36,
+-73,-7,
+43,34,
+-36,-30,
+36,52,
+11,43,
+-42,-22,
+-34,-21,
+52,-26,
+109,41,
+67,62,
+-3,-54,
+24,38,
+13,-32,
+-48,30,
+22,16,
+98,33,
+65,38,
+-15,1,
+39,-58,
+1,34,
+-40,-3,
+95,27,
+37,46,
+32,-54,
+8,18,
+-69,-25,
+-121,35,
+-26,-49,
+15,19,
+22,15,
+40,6,
+-49,-35,
+-45,55,
+63,38,
+-4,26,
+-32,-16,
+-24,-35,
+71,19,
+30,-103,
+-8,20,
+-24,-3,
+-59,13,
+-62,-35,
+11,0,
+-17,-37,
+18,-50,
+9,42,
+34,1,
+48,5,
+54,-14,
+-48,15,
+3,15,
+-6,82,
+-4,-28,
+-28,39,
+-56,-7,
+39,12,
+2,4,
+-48,-28,
+19,29,
+21,-15,
+-41,-58,
+-22,32,
+-3,8,
+47,62,
+35,19,
+75,-44,
+-51,-5,
+-8,-21,
+-17,27,
+53,-10,
+21,-3,
+6,42,
+12,7,
+29,-33,
+-54,6,
+-14,30,
+-28,-18,
+-54,55,
+-17,30,
+-3,-29,
+21,8,
+-36,-13,
+47,14,
+43,-48,
+42,-19,
+8,-53,
+-23,-7,
+50,-52,
+-20,-44,
+-15,50,
+21,-14,
+4,-5,
+-8,-32,
+2,-9,
+-1,-33,
+-18,34,
+17,-44,
+-8,-3,
+-43,11,
+-36,80,
+-6,-34,
+-30,40,
+1,-9,
+19,17,
+9,36,
+-19,-26,
+-11,32,
+39,15,
+11,-15,
+-21,-9,
+16,35,
+18,41,
+33,-1,
+-45,-20,
+10,-47,
+11,-17,
+18,-36,
+-16,45,
+3,-4,
+-35,-28,
+-8,12,
+-8,11,
+-17,54,
+21,-10,
+43,-24,
+20,-43,
+1,15,
+19,-11,
+-4,-37,
+27,-4,
+-8,-9,
+-20,1,
+18,10,
+4,36,
+9,-25,
+18,-27,
+10,3,
+-14,-17,
+35,-5,
+31,-68,
+-32,-8,
+36,44,
+-4,-9,
+34,-28,
+37,20,
+6,-17,
+-8,48,
+21,-20,
+23,13,
+49,-3,
+-36,-10,
+34,-17,
+0,-6,
+21,9,
+16,-1,
+-20,-5,
+-26,3,
+-2,-15,
+6,30,
+7,-9,
+41,-3,
+-2,28,
+23,2,
+14,-22,
+19,47,
+-5,-2,
+10,-1,
+2,-2,
+19,1,
+-16,-28,
+-12,15,
+-7,-7,
+16,12,
+5,-9,
+-3,-4,
+14,0,
+10,-5,
+6,-29,
+-4,12,
+11,-10,
+-2,22,
+-11,9,
+-9,11,
+8,-13,
+-12,-8,
+1,-2,
+-26,-5,
+11,1,
+-1,13,
+-1,9,
+7,6,
+9,20,
+-3,7,
+-17,15,
+-1,-13,
+2,-22,
+24,-17,
+4,2,
+14,-16,
+15,10,
+-11,-8,
+2,-6,
+3,2,
+-14,8,
+3,-8,
+-10,-1,
+-3,-5,
+1,-14,
+-15,-4,
+-2,12,
+-10,-11,
+-10,6,
+3,22,
+2,-16,
+0,5,
+3,2,
+2,8,
+7,-3,
+-2,6,
+0,-5,
+-10,5,
+-2,7,
+9,-7,
+1,4,
+-2,1,
+-1,-2,
+-7,-1,
+-1,7,
+-3,-4,
+0,4,
+6,7,
+1,-5,
+1,1,
+-4,4,
+2,-6,
+-1,3,
+-1,4,
+0,-7,
+-3,3,
+4,3,
+-1,-8,
+-1,2,
+1,5,
+2,-5,
+-2,1,
+-1,6,
+2,-3,
+0,1,
+0,5,
+0,-5,
+0,0,
+0,5,
+0,-5,
+0,-1,
+2,3,
+-1,-6,
+-2,-1,
+2,5,
+1,-5,
+-1,-2,
+-1,8,
+4,-3,
+-3,-3,
+0,7,
+-1,-4,
+-1,-3,
+2,6,
+-4,-4,
+1,-1,
+1,5,
+6,-7,
+0,-4,
+-3,4,
+-1,-7,
+-7,1,
+-1,2,
+-2,-1,
+1,-4,
+9,7,
+-2,-7,
+-10,-5,
+0,5,
+-2,-6,
+7,3,
+2,-8,
+3,-2,
+0,-5,
+2,16,
+3,-22,
+-10,-6,
+-10,11,
+-2,-12,
+-15,4,
+1,14,
+-3,5,
+-10,1,
+3,8,
+-14,-8,
+3,-2,
+2,6,
+-11,8,
+15,-10,
+14,16,
+4,-2,
+24,17,
+2,22,
+-1,13,
+-17,-15,
+-3,-7,
+9,-20,
+7,-6,
+-1,-9,
+-1,-13,
+11,-1,
+-26,5,
+1,2,
+-12,8,
+8,13,
+-9,-11,
+-11,-9,
+-2,-22,
+11,10,
+-4,-12,
+6,29,
+10,5,
+14,0,
+-3,4,
+5,9,
+16,-12,
+-7,7,
+-12,-15,
+-16,28,
+19,-1,
+2,2,
+10,1,
+-5,2,
+19,-47,
+14,22,
+23,-2,
+-2,-28,
+41,3,
+7,9,
+6,-30,
+-2,15,
+-26,-3,
+-20,5,
+16,1,
+21,-9,
+0,6,
+34,17,
+-36,10,
+49,3,
+23,-13,
+21,20,
+-8,-48,
+6,17,
+37,-20,
+34,28,
+-4,9,
+36,-44,
+-32,8,
+31,68,
+35,5,
+-14,17,
+10,-3,
+18,27,
+9,25,
+4,-36,
+18,-10,
+-20,-1,
+-8,9,
+27,4,
+-4,37,
+19,11,
+1,-15,
+20,43,
+43,24,
+21,10,
+-17,-54,
+-8,-11,
+-8,-12,
+-35,28,
+3,4,
+-16,-45,
+18,36,
+11,17,
+10,47,
+-45,20,
+33,1,
+18,-41,
+16,-35,
+-21,9,
+11,15,
+39,-15,
+-11,-32,
+-19,26,
+9,-36,
+19,-17,
+1,9,
+-30,-40,
+-6,34,
+-36,-80,
+-43,-11,
+-8,3,
+17,44,
+-18,-34,
+-1,33,
+2,9,
+-8,32,
+4,5,
+21,14,
+-15,-50,
+-20,44,
+50,52,
+-23,7,
+8,53,
+42,19,
+43,48,
+47,-14,
+-36,13,
+21,-8,
+-3,29,
+-17,-30,
+-54,-55,
+-28,18,
+-14,-30,
+-54,-6,
+29,33,
+12,-7,
+6,-42,
+21,3,
+53,10,
+-17,-27,
+-8,21,
+-51,5,
+75,44,
+35,-19,
+47,-62,
+-3,-8,
+-22,-32,
+-41,58,
+21,15,
+19,-29,
+-48,28,
+2,-4,
+39,-12,
+-56,7,
+-28,-39,
+-4,28,
+-6,-82,
+3,-15,
+-48,-15,
+54,14,
+48,-5,
+34,-1,
+9,-42,
+18,50,
+-17,37,
+11,0,
+-62,35,
+-59,-13,
+-24,3,
+-8,-20,
+30,103,
+71,-19,
+-24,35,
+-32,16,
+-4,-26,
+63,-38,
+-45,-55,
+-49,35,
+40,-6,
+22,-15,
+15,-19,
+-26,49,
+-121,-35,
+-69,25,
+8,-18,
+32,54,
+37,-46,
+95,-27,
+-40,3,
+1,-34,
+39,58,
+-15,-1,
+65,-38,
+98,-33,
+22,-16,
+-48,-30,
+13,32,
+24,-38,
+-3,54,
+67,-62,
+109,-41,
+52,26,
+-34,21,
+-42,22,
+11,-43,
+36,-52,
+-36,30,
+43,-34,
+-73,7,
+-22,-36,
+-3,-80,
+-20,-54,
+-1,38,
+13,15,
+48,4,
+-13,37,
+-49,-24,
+-2,-30,
+-18,-23,
+-46,-14,
+15,4,
+31,107,
+-78,29,
+6,-21,
+-91,62,
+60,-4,
+-17,93,
+35,-50,
+72,37,
+2,-29,
+63,-15,
+59,91,
+61,-79,
+34,50,
+-22,9,
+-71,60,
+-24,78,
+61,-17,
+-52,-117,
+19,44,
+62,-31,
+105,-51,
+115,7,
+-11,48,
+12,63,
+70,-42,
+13,-71,
+42,4,
+82,47,
+-85,99,
+-26,-20,
+24,-56,
+57,140,
+-50,11,
+-51,35,
+-36,-33,
+-25,100,
+7,-72,
+-64,43,
+-31,82,
+36,-22,
+-143,15,
+111,-4,
+18,-37,
+45,37,
+-67,69,
+-91,-66,
+-34,-86,
+-14,-27,
+33,17,
+-36,-3,
+103,-61,
+-1,-45,
+26,-70,
+120,21,
+-24,-22,
+17,48,
+73,64,
+91,2,
+121,-152,
+-106,-4,
+77,-12,
+8,32,
+-88,34,
+36,-5,
+36,91,
+-73,4,
+14,-10,
+29,117,
+27,-32,
+23,3,
+-61,-157,
+-16,-77,
+74,114,
+-106,91,
+-5,-155,
+-99,-19,
+55,-42,
+104,-29,
+17,-9,
+32,41,
+-10,26,
+-65,67,
+21,-38,
+4,-152,
+6,-39,
+-1,133,
+-21,-21,
+-40,35,
+13,-23,
+65,-64,
+-87,46,
+-9,0,
+21,15,
+54,-54,
+107,8,
+20,36,
+99,-16,
+35,-4,
+46,5,
+-98,-19,
+-86,12,
+82,98,
+-12,93,
+28,-11,
+-15,-117,
+-86,-54,
+-39,-22,
+-47,-67,
+-14,-111,
+56,-44,
+44,-105,
+-33,60,
+62,4,
+-94,-26,
+-11,-103,
+126,-138,
+89,-92,
+18,30,
+-6,-44,
+-52,91,
+17,-51,
+-85,86,
+-25,-101,
+31,-47,
+76,38,
+85,182,
+-22,-35,
+66,26,
+65,-5,
+-40,20,
+44,-89,
+-67,-60,
+-12,-45,
+-4,103,
+14,66,
+-11,62,
+-138,-129,
+61,32,
+-56,31,
+-30,164,
+-101,-3,
+54,112,
+61,91,
+120,-26,
+109,60,
+32,-12,
+17,12,
+-2,34,
+-59,-81,
+14,-15,
+-39,131,
+-130,-125,
+2,-97,
+-30,-182,
+78,48,
+28,11,
+-2,-29,
+35,48,
+-20,-52,
+-95,2,
+-140,8,
+-20,-36,
+-66,111,
+-54,-3,
+52,-39,
+86,-69,
+12,-165,
+-117,-40,
+74,12,
+81,-61,
+1,-107,
+-54,-25,
+118,-51,
+-42,30,
+-48,-59,
+98,48,
+85,4,
+-85,-81,
+-65,-94,
+39,-41,
+-42,-112,
+100,-142,
+-6,24,
+-48,-271,
+19,96,
+65,13,
+-99,38,
+-16,30,
+97,-17,
+-74,-27,
+15,-107,
+-2,10,
+-70,-91,
+11,4,
+107,-53,
+-164,-40,
+62,108,
+-25,-3,
+16,28,
+9,36,
+-162,51,
+-12,122,
+-76,-75,
+103,54,
+-3,-6,
+-30,35,
+-131,81,
+15,66,
+47,100,
+-89,57,
+196,-16,
+-48,-14,
+-107,-43,
+-157,-150,
+45,-67,
+58,2,
+-49,9,
+-23,28,
+146,-12,
+13,295,
+88,-13,
+93,50,
+-70,7,
+-77,109,
+161,58,
+-50,1,
+-82,86,
+-48,-24,
+-57,-35,
+14,-76,
+21,45,
+-96,17,
+31,-191,
+196,-23,
+1,17,
+-105,130,
+0,61,
+-46,50,
+146,51,
+69,-182,
+161,47,
+-39,234,
+-95,-17,
+118,8,
+-17,118,
+-192,65,
+88,-27,
+117,3,
+-6,6,
+-11,-150,
+62,-9,
+-106,100,
+-121,62,
+59,-79,
+-89,-2,
+-157,109,
+-46,-121,
+93,-245,
+84,84,
+-153,-137,
+-54,61,
+-48,162,
+-161,-89,
+165,-163,
+105,-2,
+20,38,
+-35,9,
+35,15,
+105,0,
+-52,77,
+-15,141,
+-61,-66,
+-37,-45,
+-91,4,
+-98,88,
+101,-81,
+-193,-94,
+-96,-73,
+-187,-58,
+100,-74,
+-49,103,
+-43,-54,
+151,-83,
+104,164,
+67,227,
+38,-153,
+-16,33,
+-54,-111,
+-85,44,
+-126,15,
+-52,34,
+-36,159,
+-59,-88,
+61,-49,
+-69,-14,
+8,183,
+-160,-21,
+-23,146,
+37,-25,
+-126,-142,
+5,205,
+-23,-63,
+37,6,
+103,-13,
+-32,29,
+110,8,
+46,67,
+90,-45,
+-36,-16,
+9,5,
+-29,60,
+-154,-3,
+158,-70,
+-17,80,
+276,-29,
+12,-39,
+137,-69,
+146,58,
+32,32,
+114,91,
+32,-63,
+-67,-155,
+-12,78,
+129,24,
+-103,-81,
+115,-37,
+160,108,
+8,-183,
+10,-50,
+119,112,
+84,43,
+190,-185,
+55,-16,
+-113,77,
+21,18,
+-81,116,
+22,119,
+57,149,
+-40,21,
+41,-27,
+-24,-32,
+-18,-24,
+25,-47,
+66,-98,
+371,166,
+-71,56,
+-19,69,
+-10,57,
+34,-21,
+57,57,
+-53,-5,
+-59,-102,
+70,-108,
+-106,-151,
+-82,-158,
+-74,29,
+-171,29,
+-28,163,
+-225,-62,
+102,80,
+56,24,
+37,151,
+-217,-80,
+-42,-27,
+-9,128,
+133,-52,
+87,76,
+35,-37,
+-96,-63,
+101,-65,
+-102,-45,
+-127,-34,
+-171,-181,
+169,-31,
+37,91,
+31,14,
+-142,114,
+111,-38,
+-154,59,
+86,-1,
+116,-206,
+164,-139,
+201,45,
+66,20,
+-122,81,
+74,-97,
+5,-9,
+171,-56,
+131,-36,
+114,83,
+25,131,
+108,33,
+155,72,
+43,21,
+-163,-144,
+-146,47,
+-28,41,
+33,132,
+-2,50,
+-1,-212,
+19,-21,
+-28,-138,
+-44,-94,
+76,-136,
+69,-42,
+-165,97,
+92,6,
+23,28,
+-14,-97,
+104,62,
+-152,86,
+-100,-41,
+32,4,
+238,-15,
+76,7,
+-84,29,
+-98,89,
+-31,-48,
+1,-130,
+78,-61,
+-18,-115,
+200,9,
+82,323,
+-30,-146,
+-225,69,
+98,24,
+273,-26,
+132,94,
+-205,-74,
+69,-153,
+-134,126,
+-54,37,
+34,-83,
+-202,35,
+28,67,
+15,-24,
+-160,14,
+194,-75,
+161,69,
+49,-375,
+-151,-101,
+-32,106,
+-51,-182,
+64,-38,
+42,-91,
+155,-129,
+59,34,
+50,-148,
+-51,62,
+25,-6,
+233,70,
+60,156,
+-105,149,
+-50,-15,
+34,-269,
+7,158,
+44,-112,
+-67,193,
+-94,11,
+-39,14,
+-39,136,
+72,-21,
+-219,40,
+168,184,
+-207,44,
+-139,-89,
+-7,-96,
+113,173,
+-189,-3,
+-206,-11,
+137,-139,
+59,-100,
+60,-28,
+4,-78,
+-259,-53,
+54,-84,
+186,-349,
+-122,-146,
+111,116,
+125,-102,
+60,22,
+-135,13,
+-135,112,
+-124,98,
+116,-76,
+-121,-164,
+71,-136,
+-126,-52,
+52,-158,
+104,-26,
+-194,-98,
+123,-110,
+-258,147,
+-1,-122,
+36,265,
+-136,14,
+-163,-16,
+-71,-21,
+65,75,
+27,59,
+115,17,
+0,84,
+-41,58,
+-24,-108,
+-58,-86,
+-54,92,
+100,-33,
+216,24,
+57,146,
+56,-14,
+-37,133,
+69,-113,
+20,14,
+135,-30,
+13,56,
+-176,120,
+37,-117,
+103,-329,
+22,-130,
+109,3,
+-183,-87,
+134,-12,
+-16,128,
+22,-62,
+145,-292,
+92,-81,
+-89,-76,
+17,-40,
+-88,45,
+93,-50,
+93,-63,
+-4,-241,
+46,-44,
+-163,-3,
+134,182,
+-83,290,
+9,154,
+-49,-85,
+107,-104,
+-36,-8,
+-18,51,
+28,118,
+253,-54,
+-12,-172,
+-85,252,
+76,-14,
+-211,-192,
+-36,-78,
+-149,26,
+135,52,
+-73,210,
+-1,139,
+-76,43,
+-113,-57,
+-53,56,
+-33,-102,
+153,-84,
+-60,-160,
+-31,-97,
+22,-17,
+171,206,
+14,-134,
+217,7,
+-138,252,
+107,-29,
+59,-4,
+-106,28,
+48,26,
+9,41,
+-59,-57,
+-77,24,
+-94,202,
+247,-62,
+59,-127,
+73,-203,
+-3,-49,
+-245,-131,
+120,318,
+24,-100,
+-84,-177,
+68,-19,
+132,-13,
+-38,-173,
+-47,98,
+40,28,
+-29,113,
+131,130,
+70,140,
+103,111,
+21,-47,
+-143,47,
+91,-74,
+-54,57,
+-56,-315,
+-265,-169,
+16,126,
+-179,-124,
+-203,-27,
+-22,4,
+-22,65,
+132,-67,
+-138,-27,
+-48,44,
+-158,-39,
+54,56,
+-83,23,
+17,-40,
+-181,23,
+233,200,
+69,110,
+211,94,
+-178,61,
+172,47,
+87,-109,
+-45,-33,
+150,97,
+-42,7,
+112,-109,
+-10,-112,
+-109,93,
+169,40,
+233,-293,
+-40,86,
+-144,23,
+-58,56,
+-325,-107,
+74,-3,
+43,-78,
+41,172,
+-84,39,
+-72,65,
+220,101,
+98,20,
+123,-106,
+-282,-159,
+-89,-142,
+-7,-70,
+-42,73,
+-147,-178,
+-101,-23,
+32,53,
+-66,9,
+140,-2,
+82,-58,
+-14,-55,
+-211,-123,
+-71,43,
+148,-53,
+-337,-140,
+-183,-73,
+-50,-94,
+94,154,
+115,-278,
+-143,-69,
+-180,-189,
+368,-159,
+-155,122,
+148,-51,
+-12,-415,
+-6,94,
+-100,-202,
+-54,117,
+-51,-177,
+-19,-109,
+109,-61,
+-47,97,
+-161,161,
+212,53,
+-67,-35,
+11,-170,
+106,-75,
+50,-238,
+-14,30,
+109,-219,
+-41,-93,
+286,-18,
+-97,37,
+-58,-180,
+-9,23,
+-17,-7,
+-245,179,
+282,7,
+-53,-100,
+-112,-67,
+57,16,
+21,-69,
+-227,-178,
+19,45,
+-162,-42,
+115,-59,
+43,1,
+257,123,
+-59,31,
+-42,38,
+-56,-79,
+-98,252,
+-11,-15,
+66,116,
+25,-109,
+140,16,
+177,-22,
+-9,-145,
+292,46,
+80,185,
+-175,91,
+-261,-233,
+-73,-17,
+-245,-248,
+89,-165,
+-56,-1,
+-35,-109,
+-116,113,
+117,56,
+-34,-95,
+-15,272,
+3,-18,
+-161,-19,
+-185,191,
+104,15,
+-89,164,
+32,155,
+148,109,
+50,19,
+155,-72,
+-261,11,
+210,-33,
+67,-123,
+88,13,
+-125,-140,
+129,166,
+70,155,
+-25,-11,
+85,-106,
+-58,-119,
+33,42,
+-32,139,
+85,17,
+-70,152,
+134,39,
+91,-33,
+-3,-105,
+94,-200,
+-6,147,
+-110,-49,
+71,91,
+22,-8,
+-66,7,
+46,149,
+14,-65,
+-49,-22,
+-78,-101,
+-11,160,
+165,-160,
+-69,-108,
+40,186,
+313,68,
+201,-172,
+150,-192,
+160,168,
+-148,-259,
+0,0,
+23,184,
+136,-86,
+89,77,
+1,-3,
+-122,-134,
+-29,55,
+109,57,
+88,218,
+-28,-100,
+67,-133,
+70,114,
+157,-89,
+-54,-16,
+136,53,
+-42,44,
+25,22,
+-149,-53,
+148,28,
+205,110,
+8,-77,
+9,-76,
+61,160,
+254,-152,
+159,5,
+174,22,
+-129,67,
+153,72,
+93,136,
+33,-261,
+-109,-27,
+-57,-32,
+-78,-164,
+-281,-63,
+317,-159,
+231,-6,
+75,5,
+72,-178,
+-119,-83,
+113,-349,
+-76,-272,
+-28,-82,
+-256,-96,
+-96,46,
+68,-58,
+76,-10,
+87,241,
+-162,-86,
+11,155,
+-28,-99,
+7,46,
+-105,103,
+32,182,
+-26,-134,
+38,207,
+-118,99,
+-22,50,
+51,22,
+-13,-44,
+24,289,
+128,130,
+144,5,
+21,128,
+-14,-60,
+124,15,
+-17,143,
+103,-74,
+-88,-20,
+-145,135,
+130,52,
+147,-66,
+233,100,
+-120,7,
+35,-131,
+226,-87,
+-110,36,
+38,99,
+85,57,
+23,20,
+-52,36,
+179,-103,
+183,132,
+99,190,
+-39,34,
+-3,109,
+-129,-198,
+-73,172,
+-45,81,
+-175,136,
+157,92,
+57,40,
+94,-13,
+-149,255,
+-85,-65,
+-256,189,
+-141,160,
+-80,139,
+-227,-3,
+12,152,
+-4,70,
+37,-232,
+155,-110,
+-29,12,
+48,274,
+-148,104,
+13,-157,
+27,-200,
+70,-39,
+-216,-302,
+-191,-22,
+-223,-155,
+-24,47,
+-204,-123,
+11,66,
+-239,-87,
+-9,128,
+103,-55,
+-76,151,
+-78,275,
+-11,38,
+156,-65,
+121,-36,
+-42,-47,
+-96,69,
+-18,-320,
+177,145,
+-46,-128,
+103,2,
+153,-45,
+18,111,
+-110,83,
+82,22,
+-93,456,
+3,126,
+44,129,
+121,-121,
+-45,-28,
+83,105,
+-179,-92,
+9,-146,
+158,11,
+-13,-14,
+-170,-140,
+-97,-16,
+-35,15,
+-4,-37,
+148,56,
+-185,29,
+20,-78,
+79,-53,
+-15,-87,
+-159,-4,
+-27,-130,
+-38,-235,
+10,118,
+257,373,
+-121,-105,
+-23,-103,
+-108,146,
+42,-74,
+102,-322,
+98,9,
+65,77,
+-27,-48,
+-109,-141,
+-124,95,
+-57,-51,
+62,-114,
+153,22,
+-359,47,
+170,154,
+-70,-2,
+199,221,
+-81,-104,
+64,252,
+-185,17,
+120,243,
+-112,48,
+-5,-209,
+-13,-187,
+5,-86,
+-46,133,
+-125,-150,
+159,218,
+104,91,
+24,80,
+-66,-253,
+-49,-118,
+-81,86,
+-146,75,
+-197,-11,
+16,-90,
+212,218,
+68,74,
+136,55,
+168,190,
+-57,157,
+-65,57,
+38,69,
+-27,-66,
+73,-26,
+14,-28,
+196,142,
+-3,-73,
+-77,125,
+55,26,
+128,-79,
+11,157,
+121,206,
+47,-115,
+-149,-121,
+91,-83,
+38,34,
+42,-74,
+-58,21,
+149,338,
+-235,169,
+-67,-70,
+14,-148,
+20,108,
+330,-251,
+-148,-137,
+10,43,
+231,160,
+242,-17,
+-6,299,
+-75,-181,
+-81,8,
+191,-160,
+-25,-20,
+71,-103,
+-145,249,
+39,-50,
+-47,165,
+-72,-202,
+-50,-58,
+38,-11,
+-112,0,
+20,57,
+-102,169,
+-45,18,
+17,100,
+-106,-104,
+24,-105,
+-56,-98,
+21,158,
+112,-10,
+-13,-29,
+45,-163,
+-15,88,
+-20,-127,
+89,-76,
+56,-110,
+91,-54,
+25,-48,
+-33,-343,
+89,70,
+47,222,
+-138,68,
+-151,-108,
+254,132,
+-54,109,
+-78,-30,
+-53,23,
+-56,-88,
+57,25,
+-7,-57,
+175,7,
+-131,-100,
+-54,22,
+-71,115,
+-53,220,
+-90,25,
+208,1,
+201,126,
+-240,-191,
+165,-157,
+-164,77,
+-98,34,
+144,102,
+99,-73,
+-229,17,
+-86,-77,
+94,-83,
+47,148,
+32,173,
+-88,10,
+-61,-215,
+-292,-98,
+54,108,
+66,-78,
+-88,145,
+195,17,
+-146,-99,
+71,-6,
+-214,91,
+-105,-70,
+-41,-104,
+78,-176,
+42,51,
+-71,-31,
+-58,2,
+-8,-83,
+-24,206,
+-42,-133,
+-21,-17,
+-33,173,
+-24,-101,
+-31,-142,
+-80,103,
+231,-8,
+74,87,
+-28,119,
+112,-122,
+-155,25,
+33,34,
+101,-268,
+-134,-72,
+-8,59,
+51,0,
+-21,42,
+-55,138,
+-51,-75,
+71,176,
+46,-194,
+152,27,
+-36,101,
+-32,44,
+93,37,
+-63,-31,
+-166,-185,
+-74,44,
+-141,-77,
+141,54,
+-91,57,
+-101,-51,
+-14,1,
+6,98,
+101,15,
+93,-26,
+23,-42,
+141,-234,
+-44,110,
+6,20,
+-183,-54,
+0,89,
+-140,-162,
+54,24,
+-13,288,
+73,-25,
+51,203,
+-91,-191,
+147,58,
+-45,-197,
+80,72,
+103,127,
+-16,5,
+-60,114,
+-7,-47,
+57,14,
+50,71,
+-50,0,
+-213,129,
+-26,16,
+9,38,
+-65,136,
+-55,-278,
+-138,246,
+97,192,
+-43,19,
+91,-65,
+-96,-103,
+67,-99,
+56,124,
+-50,-50,
+104,50,
+97,127,
+130,-66,
+42,124,
+-98,9,
+-90,112,
+43,194,
+-20,8,
+-24,103,
+36,42,
+-27,11,
+-118,59,
+-40,-178,
+-90,38,
+0,70,
+181,-59,
+51,-51,
+53,1,
+-129,144,
+128,88,
+-50,-55,
+9,-125,
+-13,53,
+-31,116,
+-21,52,
+-84,122,
+-131,-237,
+-150,-87,
+-97,77,
+142,-144,
+225,-100,
+32,-138,
+185,-26,
+73,50,
+-23,32,
+85,-79,
+-40,-76,
+-7,135,
+-65,40,
+-101,-16,
+64,-134,
+-206,-54,
+-81,195,
+-4,-68,
+22,-88,
+-32,-185,
+-101,46,
+131,37,
+73,34,
+9,-26,
+-69,27,
+93,83,
+24,-63,
+107,144,
+55,-9,
+57,-126,
+-141,81,
+117,57,
+160,-17,
+-34,53,
+88,103,
+-186,-28,
+-183,89,
+-11,97,
+-28,-200,
+-283,240,
+16,63,
+106,-21,
+-40,74,
+-69,-62,
+23,3,
+14,-154,
+-185,-27,
+-51,49,
+-10,38,
+-123,102,
+169,-93,
+182,184,
+-79,-45,
+13,66,
+30,43,
+-77,107,
+21,289,
+13,91,
+-81,78,
+-10,-22,
+18,144,
+21,20,
+-234,-170,
+52,-40,
+-118,13,
+-31,-252,
+60,-20,
+-121,48,
+59,-37,
+85,-34,
+-11,-4,
+-25,86,
+45,-45,
+169,12,
+-43,-100,
+-84,0,
+54,-145,
+-131,-59,
+26,-40,
+66,133,
+101,55,
+103,27,
+78,102,
+-27,111,
+-5,115,
+-88,69,
+25,52,
+-4,6,
+160,62,
+83,-22,
+10,43,
+129,54,
+229,-51,
+-63,-93,
+-57,-10,
+-51,-88,
+-149,103,
+-28,-53,
+135,-111,
+95,177,
+-65,45,
+-169,-40,
+21,144,
+0,-116,
+191,7,
+74,7,
+-82,23,
+-77,119,
+-184,35,
+174,118,
+123,48,
+0,-79,
+-41,188,
+160,84,
+93,-46,
+-34,-231,
+175,26,
+-24,75,
+-145,76,
+159,163,
+-104,-120,
+43,-86,
+148,-82,
+-19,82,
+21,146,
+-27,-46,
+-53,-120,
+92,-62,
+-112,-75,
+-83,6,
+-3,125,
+26,195,
+11,-16,
+45,64,
+-4,154,
+42,48,
+31,-92,
+81,58,
+78,-106,
+130,5,
+81,100,
+18,58,
+73,86,
+84,125,
+20,-82,
+-140,-5,
+-18,-41,
+-116,-27,
+5,-37,
+-53,97,
+12,129,
+10,-112,
+82,33,
+-105,114,
+-12,-64,
+99,35,
+-132,-38,
+-102,-39,
+-55,16,
+-32,-136,
+-112,-20,
+-6,-119,
+103,96,
+53,-40,
+-43,-72,
+202,38,
+129,-21,
+163,-34,
+38,25,
+-41,-28,
+138,-7,
+-53,114,
+100,122,
+-28,-29,
+81,-94,
+31,0,
+-40,-114,
+-69,-88,
+-112,123,
+106,-104,
+-74,-67,
+10,178,
+173,-83,
+-40,-170,
+74,-35,
+-54,-6,
+66,-182,
+65,-57,
+1,-55,
+60,82,
+13,79,
+34,57,
+20,-14,
+-27,-71,
+-37,140,
+48,18,
+90,59,
+-75,34,
+81,-5,
+19,-56,
+-66,123,
+106,35,
+-4,-21,
+-110,-66,
+-139,39,
+84,9,
+-8,-122,
+57,-42,
+-92,-88,
+-105,38,
+140,-89,
+35,-53,
+-55,83,
+-33,-53,
+20,37,
+8,89,
+2,29,
+-62,138,
+-178,94,
+27,99,
+-22,-19,
+-92,-155,
+-43,-82,
+-66,-28,
+140,-61,
+63,4,
+-10,8,
+-30,-53,
+-64,55,
+54,-19,
+107,30,
+24,-84,
+-90,138,
+13,64,
+40,2,
+-36,-17,
+-6,-82,
+-78,-49,
+75,-13,
+40,2,
+-14,-8,
+116,10,
+45,-12,
+85,-32,
+80,-60,
+-54,4,
+96,92,
+1,100,
+19,-9,
+67,43,
+-49,10,
+25,-2,
+-73,41,
+-96,-65,
+57,86,
+164,-34,
+-4,-5,
+57,-102,
+-123,-3,
+119,14,
+52,-69,
+-49,-63,
+124,-78,
+-1,35,
+-41,60,
+74,-24,
+-27,-49,
+54,27,
+80,39,
+-5,17,
+-25,67,
+-115,-42,
+95,59,
+-120,-25,
+195,29,
+57,61,
+1,-63,
+15,17,
+-78,-93,
+38,-20,
+43,-80,
+-50,56,
+-1,7,
+-115,70,
+4,28,
+46,41,
+8,51,
+17,-55,
+-5,-54,
+-4,15,
+32,-45,
+20,53,
+-93,-124,
+17,-86,
+-79,15,
+-3,-1,
+98,-7,
+7,19,
+-35,20,
+55,78,
+-116,7,
+126,-5,
+16,-57,
+-17,13,
+62,31,
+26,-53,
+-112,5,
+-37,2,
+-37,-4,
+-23,16,
+31,-64,
+-13,60,
+38,56,
+80,25,
+-40,68,
+-42,-79,
+-2,-15,
+11,24,
+17,-45,
+0,-19,
+-32,10,
+95,-25,
+-82,-29,
+11,-17,
+14,1,
+-47,44,
+-123,-2,
+33,-98,
+21,-23,
+-28,-86,
+-14,80,
+17,-56,
+-2,63,
+69,5,
+-36,-30,
+-17,-32,
+-73,-139,
+-46,34,
+118,-12,
+58,12,
+-43,68,
+-28,-59,
+-5,-100,
+3,50,
+-22,70,
+97,-80,
+-21,8,
+-74,-51,
+-24,28,
+-24,-11,
+49,123,
+21,1,
+43,-102,
+111,39,
+-24,-63,
+-38,-35,
+-2,37,
+9,73,
+-57,-71,
+38,46,
+-40,-25,
+-7,-102,
+74,80,
+24,20,
+-29,-21,
+22,-64,
+112,18,
+-22,25,
+-64,9,
+-95,-4,
+17,26,
+-32,56,
+-86,1,
+21,8,
+-32,5,
+-8,-14,
+-64,33,
+47,14,
+14,18,
+0,-4,
+-71,-36,
+-9,18,
+-5,-40,
+62,-10,
+16,0,
+42,-61,
+12,21,
+-24,-18,
+-36,-18,
+0,-20,
+-67,-3,
+121,-33,
+-14,16,
+18,-47,
+-37,57,
+-9,11,
+-93,23,
+67,-66,
+-20,11,
+78,98,
+24,70,
+24,-21,
+-70,30,
+-35,-4,
+-33,109,
+9,-26,
+-57,-78,
+68,23,
+108,-45,
+24,33,
+-42,-3,
+8,29,
+6,-11,
+-93,6,
+4,-20,
+60,31,
+28,48,
+3,-1,
+5,28,
+5,-4,
+37,-18,
+-15,42,
+34,67,
+-32,-51,
+-6,36,
+8,14,
+29,-54,
+47,12,
+51,50,
+23,19,
+34,48,
+32,51,
+21,2,
+-46,-51,
+43,-47,
+31,-24,
+-58,-18,
+-43,-8,
+-14,-9,
+76,47,
+-1,28,
+30,-12,
+-29,-43,
+22,25,
+-73,-2,
+-60,-40,
+31,37,
+33,-42,
+60,10,
+-10,-28,
+65,26,
+-29,-19,
+64,85,
+9,-71,
+20,6,
+6,-25,
+-27,44,
+-16,-17,
+17,-40,
+-10,-19,
+-51,-13,
+54,17,
+-13,33,
+-86,14,
+-6,12,
+35,-3,
+-44,-60,
+5,39,
+65,6,
+36,25,
+-48,1,
+-42,-29,
+-3,-24,
+-3,-4,
+-35,22,
+-4,-20,
+10,5,
+-1,-17,
+4,28,
+3,-8,
+-14,-37,
+-19,-29,
+-7,5,
+-3,21,
+-27,-1,
+-16,-8,
+8,-29,
+5,31,
+-18,4,
+-9,15,
+85,-8,
+31,5,
+51,-16,
+-1,4,
+14,-5,
+18,27,
+-37,18,
+21,11,
+-28,1,
+2,26,
+-46,-30,
+31,-14,
+-17,34,
+-29,24,
+35,-2,
+33,-19,
+20,1,
+21,3,
+-19,-2,
+23,-14,
+-16,-47,
+0,15,
+-18,-37,
+12,-25,
+-50,-38,
+-8,-23,
+-33,-11,
+-25,29,
+-22,-16,
+15,-12,
+34,-8,
+23,21,
+-40,-5,
+-20,23,
+7,8,
+17,-29,
+9,-1,
+10,-28,
+39,-29,
+3,-14,
+24,-35,
+1,-6,
+24,1,
+-4,28,
+10,-8,
+21,6,
+22,-22,
+-7,-12,
+15,-2,
+-24,-16,
+26,2,
+23,11,
+3,25,
+5,14,
+-9,3,
+7,-4,
+8,14,
+7,-3,
+8,3,
+-11,6,
+-17,17,
+6,-7,
+4,0,
+-2,48,
+4,-8,
+14,-13,
+-3,6,
+-2,-8,
+6,10,
+6,8,
+-1,0,
+-1,-2,
+14,19,
+9,11,
+14,-3,
+19,7,
+-17,0,
+7,-6,
+24,1,
+-9,-8,
+12,5,
+3,0,
+10,-5,
+1,-7,
+4,9,
+-11,-10,
+19,-4,
+-1,1,
+6,10,
+1,0,
+-7,-5,
+3,-11,
+-10,-14,
+-17,11,
+-15,-7,
+-14,2,
+0,-1,
+-7,5,
+-1,15,
+0,8,
+-15,-1,
+0,-17,
+-1,5,
+-11,-3,
+1,-8,
+-3,15,
+6,0,
+4,-3,
+1,5,
+-5,11,
+3,0,
+-3,9,
+1,-2,
+-1,-3,
+0,10,
+3,3,
+-1,-6,
+-2,1,
+3,4,
+1,-6,
+-2,7,
+1,1,
+-1,-2,
+-1,5,
+-1,0,
+1,-4,
+3,6,
+-1,0,
+0,-6,
+0,5,
+0,1,
+0,-5,
+0,5,
+0,0,
+0,-5,
+0,5,
+0,-1,
+0,-5,
+0,6,
+-1,0,
+3,-6,
+1,4,
+-1,0,
+-1,-5,
+-1,2,
+1,-1,
+-2,-7,
+1,6,
+3,-4,
+-2,-1,
+-1,6,
+3,-3,
+0,-10,
+-1,3,
+1,2,
+-3,-9,
+3,0,
+-5,-11,
+1,-5,
+4,3,
+6,0,
+-3,-15,
+1,8,
+-11,3,
+-1,-5,
+0,17,
+-15,1,
+0,-8,
+-1,-15,
+-7,-5,
+0,1,
+-14,-2,
+-15,7,
+-17,-11,
+-10,14,
+3,11,
+-7,5,
+1,0,
+6,-10,
+-1,-1,
+19,4,
+-11,10,
+4,-9,
+1,7,
+10,5,
+3,0,
+12,-5,
+-9,8,
+24,-1,
+7,6,
+-17,0,
+19,-7,
+14,3,
+9,-11,
+14,-19,
+-1,2,
+-1,0,
+6,-8,
+6,-10,
+-2,8,
+-3,-6,
+14,13,
+4,8,
+-2,-48,
+4,0,
+6,7,
+-17,-17,
+-11,-6,
+8,-3,
+7,3,
+8,-14,
+7,4,
+-9,-3,
+5,-14,
+3,-25,
+23,-11,
+26,-2,
+-24,16,
+15,2,
+-7,12,
+22,22,
+21,-6,
+10,8,
+-4,-28,
+24,-1,
+1,6,
+24,35,
+3,14,
+39,29,
+10,28,
+9,1,
+17,29,
+7,-8,
+-20,-23,
+-40,5,
+23,-21,
+34,8,
+15,12,
+-22,16,
+-25,-29,
+-33,11,
+-8,23,
+-50,38,
+12,25,
+-18,37,
+0,-15,
+-16,47,
+23,14,
+-19,2,
+21,-3,
+20,-1,
+33,19,
+35,2,
+-29,-24,
+-17,-34,
+31,14,
+-46,30,
+2,-26,
+-28,-1,
+21,-11,
+-37,-18,
+18,-27,
+14,5,
+-1,-4,
+51,16,
+31,-5,
+85,8,
+-9,-15,
+-18,-4,
+5,-31,
+8,29,
+-16,8,
+-27,1,
+-3,-21,
+-7,-5,
+-19,29,
+-14,37,
+3,8,
+4,-28,
+-1,17,
+10,-5,
+-4,20,
+-35,-22,
+-3,4,
+-3,24,
+-42,29,
+-48,-1,
+36,-25,
+65,-6,
+5,-39,
+-44,60,
+35,3,
+-6,-12,
+-86,-14,
+-13,-33,
+54,-17,
+-51,13,
+-10,19,
+17,40,
+-16,17,
+-27,-44,
+6,25,
+20,-6,
+9,71,
+64,-85,
+-29,19,
+65,-26,
+-10,28,
+60,-10,
+33,42,
+31,-37,
+-60,40,
+-73,2,
+22,-25,
+-29,43,
+30,12,
+-1,-28,
+76,-47,
+-14,9,
+-43,8,
+-58,18,
+31,24,
+43,47,
+-46,51,
+21,-2,
+32,-51,
+34,-48,
+23,-19,
+51,-50,
+47,-12,
+29,54,
+8,-14,
+-6,-36,
+-32,51,
+34,-67,
+-15,-42,
+37,18,
+5,4,
+5,-28,
+3,1,
+28,-48,
+60,-31,
+4,20,
+-93,-6,
+6,11,
+8,-29,
+-42,3,
+24,-33,
+108,45,
+68,-23,
+-57,78,
+9,26,
+-33,-109,
+-35,4,
+-70,-30,
+24,21,
+24,-70,
+78,-98,
+-20,-11,
+67,66,
+-93,-23,
+-9,-11,
+-37,-57,
+18,47,
+-14,-16,
+121,33,
+-67,3,
+0,20,
+-36,18,
+-24,18,
+12,-21,
+42,61,
+16,0,
+62,10,
+-5,40,
+-9,-18,
+-71,36,
+0,4,
+14,-18,
+47,-14,
+-64,-33,
+-8,14,
+-32,-5,
+21,-8,
+-86,-1,
+-32,-56,
+17,-26,
+-95,4,
+-64,-9,
+-22,-25,
+112,-18,
+22,64,
+-29,21,
+24,-20,
+74,-80,
+-7,102,
+-40,25,
+38,-46,
+-57,71,
+9,-73,
+-2,-37,
+-38,35,
+-24,63,
+111,-39,
+43,102,
+21,-1,
+49,-123,
+-24,11,
+-24,-28,
+-74,51,
+-21,-8,
+97,80,
+-22,-70,
+3,-50,
+-5,100,
+-28,59,
+-43,-68,
+58,-12,
+118,12,
+-46,-34,
+-73,139,
+-17,32,
+-36,30,
+69,-5,
+-2,-63,
+17,56,
+-14,-80,
+-28,86,
+21,23,
+33,98,
+-123,2,
+-47,-44,
+14,-1,
+11,17,
+-82,29,
+95,25,
+-32,-10,
+0,19,
+17,45,
+11,-24,
+-2,15,
+-42,79,
+-40,-68,
+80,-25,
+38,-56,
+-13,-60,
+31,64,
+-23,-16,
+-37,4,
+-37,-2,
+-112,-5,
+26,53,
+62,-31,
+-17,-13,
+16,57,
+126,5,
+-116,-7,
+55,-78,
+-35,-20,
+7,-19,
+98,7,
+-3,1,
+-79,-15,
+17,86,
+-93,124,
+20,-53,
+32,45,
+-4,-15,
+-5,54,
+17,55,
+8,-51,
+46,-41,
+4,-28,
+-115,-70,
+-1,-7,
+-50,-56,
+43,80,
+38,20,
+-78,93,
+15,-17,
+1,63,
+57,-61,
+195,-29,
+-120,25,
+95,-59,
+-115,42,
+-25,-67,
+-5,-17,
+80,-39,
+54,-27,
+-27,49,
+74,24,
+-41,-60,
+-1,-35,
+124,78,
+-49,63,
+52,69,
+119,-14,
+-123,3,
+57,102,
+-4,5,
+164,34,
+57,-86,
+-96,65,
+-73,-41,
+25,2,
+-49,-10,
+67,-43,
+19,9,
+1,-100,
+96,-92,
+-54,-4,
+80,60,
+85,32,
+45,12,
+116,-10,
+-14,8,
+40,-2,
+75,13,
+-78,49,
+-6,82,
+-36,17,
+40,-2,
+13,-64,
+-90,-138,
+24,84,
+107,-30,
+54,19,
+-64,-55,
+-30,53,
+-10,-8,
+63,-4,
+140,61,
+-66,28,
+-43,82,
+-92,155,
+-22,19,
+27,-99,
+-178,-94,
+-62,-138,
+2,-29,
+8,-89,
+20,-37,
+-33,53,
+-55,-83,
+35,53,
+140,89,
+-105,-38,
+-92,88,
+57,42,
+-8,122,
+84,-9,
+-139,-39,
+-110,66,
+-4,21,
+106,-35,
+-66,-123,
+19,56,
+81,5,
+-75,-34,
+90,-59,
+48,-18,
+-37,-140,
+-27,71,
+20,14,
+34,-57,
+13,-79,
+60,-82,
+1,55,
+65,57,
+66,182,
+-54,6,
+74,35,
+-40,170,
+173,83,
+10,-178,
+-74,67,
+106,104,
+-112,-123,
+-69,88,
+-40,114,
+31,0,
+81,94,
+-28,29,
+100,-122,
+-53,-114,
+138,7,
+-41,28,
+38,-25,
+163,34,
+129,21,
+202,-38,
+-43,72,
+53,40,
+103,-96,
+-6,119,
+-112,20,
+-32,136,
+-55,-16,
+-102,39,
+-132,38,
+99,-35,
+-12,64,
+-105,-114,
+82,-33,
+10,112,
+12,-129,
+-53,-97,
+5,37,
+-116,27,
+-18,41,
+-140,5,
+20,82,
+84,-125,
+73,-86,
+18,-58,
+81,-100,
+130,-5,
+78,106,
+81,-58,
+31,92,
+42,-48,
+-4,-154,
+45,-64,
+11,16,
+26,-195,
+-3,-125,
+-83,-6,
+-112,75,
+92,62,
+-53,120,
+-27,46,
+21,-146,
+-19,-82,
+148,82,
+43,86,
+-104,120,
+159,-163,
+-145,-76,
+-24,-75,
+175,-26,
+-34,231,
+93,46,
+160,-84,
+-41,-188,
+0,79,
+123,-48,
+174,-118,
+-184,-35,
+-77,-119,
+-82,-23,
+74,-7,
+191,-7,
+0,116,
+21,-144,
+-169,40,
+-65,-45,
+95,-177,
+135,111,
+-28,53,
+-149,-103,
+-51,88,
+-57,10,
+-63,93,
+229,51,
+129,-54,
+10,-43,
+83,22,
+160,-62,
+-4,-6,
+25,-52,
+-88,-69,
+-5,-115,
+-27,-111,
+78,-102,
+103,-27,
+101,-55,
+66,-133,
+26,40,
+-131,59,
+54,145,
+-84,0,
+-43,100,
+169,-12,
+45,45,
+-25,-86,
+-11,4,
+85,34,
+59,37,
+-121,-48,
+60,20,
+-31,252,
+-118,-13,
+52,40,
+-234,170,
+21,-20,
+18,-144,
+-10,22,
+-81,-78,
+13,-91,
+21,-289,
+-77,-107,
+30,-43,
+13,-66,
+-79,45,
+182,-184,
+169,93,
+-123,-102,
+-10,-38,
+-51,-49,
+-185,27,
+14,154,
+23,-3,
+-69,62,
+-40,-74,
+106,21,
+16,-63,
+-283,-240,
+-28,200,
+-11,-97,
+-183,-89,
+-186,28,
+88,-103,
+-34,-53,
+160,17,
+117,-57,
+-141,-81,
+57,126,
+55,9,
+107,-144,
+24,63,
+93,-83,
+-69,-27,
+9,26,
+73,-34,
+131,-37,
+-101,-46,
+-32,185,
+22,88,
+-4,68,
+-81,-195,
+-206,54,
+64,134,
+-101,16,
+-65,-40,
+-7,-135,
+-40,76,
+85,79,
+-23,-32,
+73,-50,
+185,26,
+32,138,
+225,100,
+142,144,
+-97,-77,
+-150,87,
+-131,237,
+-84,-122,
+-21,-52,
+-31,-116,
+-13,-53,
+9,125,
+-50,55,
+128,-88,
+-129,-144,
+53,-1,
+51,51,
+181,59,
+0,-70,
+-90,-38,
+-40,178,
+-118,-59,
+-27,-11,
+36,-42,
+-24,-103,
+-20,-8,
+43,-194,
+-90,-112,
+-98,-9,
+42,-124,
+130,66,
+97,-127,
+104,-50,
+-50,50,
+56,-124,
+67,99,
+-96,103,
+91,65,
+-43,-19,
+97,-192,
+-138,-246,
+-55,278,
+-65,-136,
+9,-38,
+-26,-16,
+-213,-129,
+-50,0,
+50,-71,
+57,-14,
+-7,47,
+-60,-114,
+-16,-5,
+103,-127,
+80,-72,
+-45,197,
+147,-58,
+-91,191,
+51,-203,
+73,25,
+-13,-288,
+54,-24,
+-140,162,
+0,-89,
+-183,54,
+6,-20,
+-44,-110,
+141,234,
+23,42,
+93,26,
+101,-15,
+6,-98,
+-14,-1,
+-101,51,
+-91,-57,
+141,-54,
+-141,77,
+-74,-44,
+-166,185,
+-63,31,
+93,-37,
+-32,-44,
+-36,-101,
+152,-27,
+46,194,
+71,-176,
+-51,75,
+-55,-138,
+-21,-42,
+51,0,
+-8,-59,
+-134,72,
+101,268,
+33,-34,
+-155,-25,
+112,122,
+-28,-119,
+74,-87,
+231,8,
+-80,-103,
+-31,142,
+-24,101,
+-33,-173,
+-21,17,
+-42,133,
+-24,-206,
+-8,83,
+-58,-2,
+-71,31,
+42,-51,
+78,176,
+-41,104,
+-105,70,
+-214,-91,
+71,6,
+-146,99,
+195,-17,
+-88,-145,
+66,78,
+54,-108,
+-292,98,
+-61,215,
+-88,-10,
+32,-173,
+47,-148,
+94,83,
+-86,77,
+-229,-17,
+99,73,
+144,-102,
+-98,-34,
+-164,-77,
+165,157,
+-240,191,
+201,-126,
+208,-1,
+-90,-25,
+-53,-220,
+-71,-115,
+-54,-22,
+-131,100,
+175,-7,
+-7,57,
+57,-25,
+-56,88,
+-53,-23,
+-78,30,
+-54,-109,
+254,-132,
+-151,108,
+-138,-68,
+47,-222,
+89,-70,
+-33,343,
+25,48,
+91,54,
+56,110,
+89,76,
+-20,127,
+-15,-88,
+45,163,
+-13,29,
+112,10,
+21,-158,
+-56,98,
+24,105,
+-106,104,
+17,-100,
+-45,-18,
+-102,-169,
+20,-57,
+-112,0,
+38,11,
+-50,58,
+-72,202,
+-47,-165,
+39,50,
+-145,-249,
+71,103,
+-25,20,
+191,160,
+-81,-8,
+-75,181,
+-6,-299,
+242,17,
+231,-160,
+10,-43,
+-148,137,
+330,251,
+20,-108,
+14,148,
+-67,70,
+-235,-169,
+149,-338,
+-58,-21,
+42,74,
+38,-34,
+91,83,
+-149,121,
+47,115,
+121,-206,
+11,-157,
+128,79,
+55,-26,
+-77,-125,
+-3,73,
+196,-142,
+14,28,
+73,26,
+-27,66,
+38,-69,
+-65,-57,
+-57,-157,
+168,-190,
+136,-55,
+68,-74,
+212,-218,
+16,90,
+-197,11,
+-146,-75,
+-81,-86,
+-49,118,
+-66,253,
+24,-80,
+104,-91,
+159,-218,
+-125,150,
+-46,-133,
+5,86,
+-13,187,
+-5,209,
+-112,-48,
+120,-243,
+-185,-17,
+64,-252,
+-81,104,
+199,-221,
+-70,2,
+170,-154,
+-359,-47,
+153,-22,
+62,114,
+-57,51,
+-124,-95,
+-109,141,
+-27,48,
+65,-77,
+98,-9,
+102,322,
+42,74,
+-108,-146,
+-23,103,
+-121,105,
+257,-373,
+10,-118,
+-38,235,
+-27,130,
+-159,4,
+-15,87,
+79,53,
+20,78,
+-185,-29,
+148,-56,
+-4,37,
+-35,-15,
+-97,16,
+-170,140,
+-13,14,
+158,-11,
+9,146,
+-179,92,
+83,-105,
+-45,28,
+121,121,
+44,-129,
+3,-126,
+-93,-456,
+82,-22,
+-110,-83,
+18,-111,
+153,45,
+103,-2,
+-46,128,
+177,-145,
+-18,320,
+-96,-69,
+-42,47,
+121,36,
+156,65,
+-11,-38,
+-78,-275,
+-76,-151,
+103,55,
+-9,-128,
+-239,87,
+11,-66,
+-204,123,
+-24,-47,
+-223,155,
+-191,22,
+-216,302,
+70,39,
+27,200,
+13,157,
+-148,-104,
+48,-274,
+-29,-12,
+155,110,
+37,232,
+-4,-70,
+12,-152,
+-227,3,
+-80,-139,
+-141,-160,
+-256,-189,
+-85,65,
+-149,-255,
+94,13,
+57,-40,
+157,-92,
+-175,-136,
+-45,-81,
+-73,-172,
+-129,198,
+-3,-109,
+-39,-34,
+99,-190,
+183,-132,
+179,103,
+-52,-36,
+23,-20,
+85,-57,
+38,-99,
+-110,-36,
+226,87,
+35,131,
+-120,-7,
+233,-100,
+147,66,
+130,-52,
+-145,-135,
+-88,20,
+103,74,
+-17,-143,
+124,-15,
+-14,60,
+21,-128,
+144,-5,
+128,-130,
+24,-289,
+-13,44,
+51,-22,
+-22,-50,
+-118,-99,
+38,-207,
+-26,134,
+32,-182,
+-105,-103,
+7,-46,
+-28,99,
+11,-155,
+-162,86,
+87,-241,
+76,10,
+68,58,
+-96,-46,
+-256,96,
+-28,82,
+-76,272,
+113,349,
+-119,83,
+72,178,
+75,-5,
+231,6,
+317,159,
+-281,63,
+-78,164,
+-57,32,
+-109,27,
+33,261,
+93,-136,
+153,-72,
+-129,-67,
+174,-22,
+159,-5,
+254,152,
+61,-160,
+9,76,
+8,77,
+205,-110,
+148,-28,
+-149,53,
+25,-22,
+-42,-44,
+136,-53,
+-54,16,
+157,89,
+70,-114,
+67,133,
+-28,100,
+88,-218,
+109,-57,
+-29,-55,
+-122,134,
+1,3,
+89,-77,
+136,86,
+23,-184,
+6,0,
+133,-78,
+-155,-86,
+-43,67,
+367,-187,
+7,52,
+-179,-111,
+23,231,
+157,-59,
+18,-13,
+-138,3,
+-49,118,
+15,0,
+-40,-130,
+162,-119,
+180,66,
+29,67,
+61,67,
+92,134,
+-85,34,
+54,-241,
+258,291,
+154,-103,
+-37,48,
+118,20,
+-54,59,
+-80,-180,
+-58,-190,
+85,189,
+215,42,
+60,44,
+85,-66,
+60,109,
+96,-18,
+233,44,
+-36,-90,
+83,-74,
+54,-72,
+66,175,
+-40,-48,
+121,-45,
+-50,-93,
+-76,-117,
+44,-6,
+68,216,
+31,55,
+-78,-37,
+-1,-83,
+-30,51,
+221,333,
+28,-93,
+137,-137,
+84,0,
+41,4,
+-230,37,
+42,68,
+250,9,
+46,40,
+-32,-9,
+-32,13,
+-87,71,
+81,-87,
+15,107,
+154,263,
+-62,-14,
+-32,-26,
+135,130,
+-96,58,
+138,15,
+-226,-155,
+28,203,
+234,-74,
+26,275,
+153,-12,
+-243,35,
+62,245,
+-85,141,
+-4,-148,
+5,-55,
+-130,48,
+56,22,
+138,3,
+-91,34,
+-165,180,
+-104,-103,
+114,-18,
+-50,102,
+-155,185,
+73,-278,
+-246,-37,
+-162,-46,
+86,42,
+59,59,
+-4,96,
+145,49,
+-95,-52,
+246,-207,
+182,-54,
+-228,24,
+-272,-75,
+10,-79,
+18,36,
+112,134,
+132,-135,
+42,41,
+44,52,
+45,118,
+0,-124,
+204,-288,
+-19,92,
+-204,88,
+34,-73,
+30,-96,
+-57,-30,
+-123,116,
+-34,12,
+-110,-325,
+-205,-60,
+48,20,
+-33,-99,
+-5,-138,
+-49,-43,
+-20,84,
+-149,189,
+-12,-145,
+137,125,
+92,63,
+56,-26,
+-106,119,
+145,171,
+-144,16,
+68,63,
+-55,-31,
+21,44,
+61,42,
+203,243,
+166,-103,
+-38,13,
+-58,-144,
+-179,-199,
+-31,-5,
+-187,190,
+106,-6,
+-75,120,
+-81,-55,
+-81,221,
+-231,103,
+59,52,
+61,51,
+47,-132,
+119,-84,
+-69,99,
+56,-54,
+-116,-53,
+73,67,
+-194,-290,
+285,-178,
+-158,43,
+225,52,
+-196,-45,
+-47,0,
+54,11,
+268,51,
+-176,73,
+44,-93,
+116,-30,
+220,77,
+51,-245,
+111,-155,
+-31,108,
+-28,-227,
+-134,-6,
+-81,130,
+-102,-111,
+-151,54,
+51,150,
+151,55,
+-331,-253,
+-107,-63,
+12,161,
+3,43,
+59,20,
+74,-350,
+-70,-51,
+249,208,
+-127,68,
+-40,46,
+70,106,
+-94,35,
+129,273,
+-137,152,
+103,9,
+-143,192,
+-190,-122,
+85,-195,
+96,-10,
+49,152,
+-68,-58,
+159,146,
+211,71,
+-53,124,
+-92,68,
+24,11,
+-322,-346,
+90,107,
+25,-206,
+-15,206,
+-30,-42,
+61,47,
+-89,177,
+-57,-33,
+170,34,
+21,-22,
+-127,241,
+-84,76,
+92,104,
+32,17,
+39,177,
+60,-151,
+-36,-123,
+160,186,
+-56,33,
+58,16,
+-32,13,
+140,-42,
+197,157,
+-78,272,
+30,-210,
+14,-74,
+49,45,
+57,-89,
+1,-20,
+-110,119,
+-127,11,
+-56,-107,
+58,318,
+-66,-27,
+-44,64,
+-43,51,
+-107,143,
+62,152,
+25,62,
+133,160,
+71,11,
+88,117,
+-86,19,
+73,88,
+-60,198,
+-147,-262,
+-72,-60,
+49,57,
+-54,112,
+170,-5,
+-17,0,
+42,-56,
+-86,-118,
+127,-107,
+60,-79,
+0,10,
+-58,6,
+196,-6,
+96,-230,
+93,-136,
+100,-111,
+167,-37,
+-177,-37,
+184,-111,
+234,99,
+23,136,
+-90,-171,
+126,-106,
+-90,-300,
+-87,-101,
+-75,140,
+191,172,
+96,-2,
+29,-45,
+301,-40,
+-58,-226,
+-25,171,
+77,-117,
+-90,55,
+-240,-8,
+-184,-85,
+-109,-95,
+84,-247,
+-178,-92,
+299,114,
+217,10,
+33,120,
+-160,-101,
+-59,-72,
+8,-189,
+126,36,
+-25,22,
+-158,66,
+5,260,
+120,-84,
+-10,7,
+82,53,
+49,91,
+125,11,
+48,-167,
+130,85,
+188,-66,
+-38,-234,
+24,80,
+-181,119,
+-200,229,
+99,-129,
+-29,-62,
+-231,-165,
+29,86,
+-147,43,
+-103,102,
+56,1,
+-149,-156,
+98,158,
+-124,-220,
+172,-87,
+193,26,
+-144,-74,
+-5,146,
+84,158,
+-11,-7,
+20,11,
+30,-28,
+-28,61,
+102,-54,
+72,-113,
+7,-31,
+24,-83,
+-192,54,
+-195,51,
+100,126,
+-196,163,
+-146,72,
+173,-54,
+125,16,
+54,7,
+90,106,
+-59,180,
+105,115,
+-3,9,
+118,46,
+105,-76,
+262,15,
+92,222,
+-64,-14,
+36,38,
+-189,140,
+10,-3,
+36,76,
+-90,55,
+78,-387,
+-264,-46,
+39,-207,
+-12,68,
+-113,-268,
+115,73,
+-31,25,
+152,-30,
+-52,89,
+-6,-147,
+-20,63,
+17,130,
+-27,4,
+44,-82,
+-92,-120,
+-92,-116,
+0,52,
+20,-148,
+-60,-106,
+-10,30,
+30,-36,
+4,-34,
+-142,-167,
+-117,-128,
+14,46,
+-28,50,
+13,95,
+130,111,
+26,-19,
+54,52,
+133,206,
+211,70,
+-154,-132,
+-39,64,
+-219,-155,
+39,101,
+-34,26,
+-14,76,
+94,-110,
+-68,-70,
+-6,-13,
+20,-102,
+1,141,
+56,-57,
+47,-97,
+44,50,
+68,-117,
+-49,-79,
+48,-47,
+-70,-72,
+18,54,
+23,71,
+48,23,
+146,-148,
+-40,-22,
+-38,61,
+-38,-106,
+-79,-99,
+80,-34,
+35,62,
+30,-1,
+-10,198,
+30,-54,
+133,59,
+132,8,
+202,-14,
+-2,97,
+76,-92,
+79,-74,
+178,-73,
+-77,262,
+-29,-33,
+-26,190,
+-72,-209,
+-38,48,
+26,-59,
+139,-37,
+271,154,
+-56,-28,
+-35,279,
+-95,60,
+14,-167,
+-153,234,
+-133,-68,
+-26,-183,
+-106,-55,
+-66,-91,
+-106,-270,
+-55,18,
+-27,-15,
+81,-82,
+-56,-127,
+-4,5,
+-74,-100,
+-116,23,
+94,23,
+144,121,
+-96,-81,
+65,51,
+87,-147,
+-150,254,
+13,71,
+-123,52,
+-5,-119,
+3,-34,
+-80,-144,
+0,21,
+-152,115,
+230,47,
+66,14,
+-34,-14,
+-79,79,
+14,-223,
+-6,-61,
+30,-114,
+-17,26,
+1,11,
+24,10,
+37,-4,
+172,-74,
+98,166,
+75,-96,
+116,-83,
+-101,-103,
+-74,5,
+83,18,
+2,84,
+32,27,
+-7,104,
+-117,35,
+-19,-53,
+-57,93,
+-47,29,
+-77,41,
+63,-98,
+-85,-180,
+-61,-25,
+34,32,
+-87,-66,
+60,70,
+121,19,
+-5,-46,
+-13,39,
+8,57,
+49,9,
+-110,-1,
+-81,-11,
+67,162,
+-42,-122,
+40,-106,
+148,51,
+197,-145,
+-69,-40,
+-115,-49,
+34,-76,
+75,-8,
+-12,-75,
+-34,-35,
+-107,-90,
+-78,-87,
+18,37,
+-110,59,
+-16,16,
+-25,-93,
+-145,-56,
+6,137,
+-75,227,
+-66,-41,
+-44,15,
+0,33,
+157,-61,
+-106,-111,
+13,27,
+126,67,
+-45,-99,
+-16,67,
+69,105,
+-34,-13,
+26,31,
+0,-55,
+-55,-47,
+-112,-9,
+-118,-44,
+2,12,
+120,-91,
+-25,-18,
+30,-72,
+17,-35,
+48,-56,
+102,11,
+7,86,
+53,-21,
+-10,-32,
+-68,-32,
+-145,-8,
+44,150,
+-17,94,
+84,62,
+-93,139,
+20,-30,
+63,-28,
+-63,59,
+-1,-34,
+-162,11,
+-66,24,
+-73,-64,
+114,-86,
+-63,169,
+47,47,
+146,33,
+-46,-155,
+-71,53,
+-69,-48,
+-40,-57,
+-70,48,
+231,-183,
+9,24,
+72,35,
+-117,-20,
+60,39,
+-10,42,
+120,71,
+-64,-35,
+-30,-104,
+-23,-29,
+-74,43,
+-130,-36,
+90,43,
+-95,-62,
+-148,-81,
+-80,-81,
+-68,-23,
+-157,-86,
+46,-78,
+7,-88,
+45,-73,
+-25,34,
+129,-137,
+196,58,
+-118,123,
+103,170,
+1,-1,
+-172,-51,
+129,-15,
+-130,-40,
+180,-55,
+64,28,
+45,24,
+-154,159,
+34,-14,
+-14,50,
+30,99,
+30,159,
+-41,42,
+82,54,
+19,0,
+107,-20,
+-29,86,
+16,-1,
+-89,-12,
+-70,-48,
+36,-40,
+-7,20,
+-106,33,
+-9,100,
+107,-6,
+-34,-25,
+5,39,
+-41,-69,
+-110,46,
+10,9,
+-47,34,
+-43,49,
+13,17,
+-10,20,
+45,6,
+-84,-23,
+-34,8,
+-33,-15,
+-30,53,
+125,-18,
+-58,-73,
+35,24,
+-89,-213,
+5,36,
+13,72,
+120,111,
+69,18,
+-24,57,
+49,37,
+100,35,
+22,-2,
+-4,-36,
+-28,-39,
+-134,-91,
+-64,-36,
+72,67,
+-67,-31,
+-56,-44,
+-13,30,
+-96,-3,
+23,-82,
+-86,-18,
+-115,-13,
+73,12,
+76,-9,
+-44,11,
+44,-44,
+-62,33,
+27,-2,
+54,104,
+-58,-60,
+-19,29,
+-137,-25,
+83,-70,
+-245,25,
+-55,-161,
+-56,87,
+31,4,
+75,-91,
+18,32,
+19,-89,
+67,-4,
+35,85,
+62,99,
+-26,107,
+-38,27,
+65,62,
+50,-38,
+83,75,
+82,-19,
+14,29,
+-34,134,
+17,33,
+19,-75,
+82,-39,
+89,-56,
+34,-25,
+-11,-115,
+18,-47,
+-74,75,
+-35,17,
+-20,12,
+-7,59,
+42,-28,
+-51,-7,
+34,54,
+87,5,
+31,-30,
+35,14,
+-40,12,
+-63,102,
+-10,44,
+-81,-144,
+70,114,
+-72,-71,
+26,-80,
+118,37,
+-59,-106,
+-11,-60,
+-80,4,
+-11,-10,
+27,-56,
+178,-86,
+-64,-46,
+-68,60,
+-12,31,
+-29,89,
+-2,43,
+-51,13,
+60,87,
+54,-17,
+-60,32,
+46,50,
+38,-10,
+94,-60,
+2,-13,
+-30,39,
+-7,39,
+-122,-58,
+19,-61,
+9,2,
+49,143,
+6,52,
+-10,46,
+-106,-93,
+-102,38,
+32,-106,
+-28,-147,
+-42,9,
+99,16,
+-97,-47,
+21,55,
+-55,41,
+-45,85,
+30,19,
+79,56,
+38,35,
+-42,-121,
+-78,29,
+-147,17,
+22,-29,
+18,7,
+17,125,
+11,21,
+-57,7,
+-20,-10,
+-7,99,
+-103,13,
+-67,55,
+-21,58,
+24,18,
+-25,-50,
+-8,64,
+-48,28,
+-67,-9,
+-1,-33,
+-4,74,
+-16,-22,
+52,47,
+55,-6,
+-104,-38,
+-4,-47,
+0,-9,
+61,-18,
+32,26,
+-2,-13,
+52,54,
+22,34,
+62,38,
+22,-20,
+72,3,
+46,-39,
+-54,-27,
+98,8,
+21,-13,
+18,-1,
+-14,-50,
+45,-47,
+-16,5,
+-17,21,
+14,12,
+-58,21,
+-15,-21,
+38,18,
+84,25,
+-3,71,
+-24,13,
+14,-47,
+42,67,
+13,-16,
+-5,26,
+-45,14,
+5,6,
+84,18,
+-33,26,
+67,-16,
+59,-66,
+19,33,
+-36,42,
+54,-20,
+2,-19,
+30,12,
+37,-7,
+-48,-16,
+83,48,
+-106,-46,
+-15,-11,
+-38,-68,
+30,1,
+30,-2,
+56,33,
+-10,67,
+36,-4,
+19,-28,
+-1,76,
+-61,-2,
+-11,-57,
+5,-19,
+55,-17,
+31,29,
+45,-48,
+74,54,
+-14,-26,
+10,-27,
+61,37,
+24,-29,
+-23,60,
+-41,-6,
+-72,-5,
+66,34,
+35,0,
+-39,-74,
+-45,-20,
+-1,-21,
+56,36,
+-13,-23,
+8,-60,
+10,-8,
+-15,-17,
+-7,-48,
+-34,31,
+-9,9,
+-45,19,
+-29,47,
+31,62,
+-23,-44,
+-15,17,
+46,18,
+-2,46,
+-23,-41,
+14,2,
+8,-31,
+-2,77,
+-38,-49,
+-47,47,
+-31,-41,
+28,5,
+-16,-15,
+-11,21,
+21,-11,
+-41,33,
+-18,24,
+53,-26,
+12,-5,
+8,-49,
+66,-21,
+-48,16,
+34,-25,
+48,6,
+-22,-45,
+-39,-11,
+-5,-32,
+-42,4,
+21,30,
+22,40,
+28,20,
+-12,-8,
+21,10,
+-14,-20,
+17,18,
+39,-24,
+9,24,
+3,-15,
+23,23,
+-7,34,
+13,-10,
+0,-24,
+37,-8,
+-11,2,
+-36,-21,
+-7,18,
+3,-11,
+-28,-26,
+-29,-24,
+-25,-4,
+31,-22,
+6,-17,
+-40,22,
+3,-16,
+23,-20,
+-14,0,
+-15,12,
+-36,27,
+7,-6,
+40,1,
+-27,23,
+-1,12,
+14,8,
+8,24,
+-19,-15,
+-1,-43,
+-1,-21,
+-15,19,
+-14,22,
+-22,22,
+10,-18,
+22,20,
+0,13,
+2,-5,
+15,-16,
+-37,-17,
+-7,-23,
+3,8,
+26,-15,
+-12,1,
+0,11,
+6,-39,
+19,-7,
+-8,24,
+2,-2,
+13,-9,
+-14,-2,
+-14,-2,
+18,-1,
+25,-14,
+3,8,
+10,-25,
+5,37,
+28,13,
+-16,-9,
+14,5,
+-16,-20,
+10,17,
+17,-2,
+-8,1,
+3,-1,
+24,2,
+11,19,
+-6,-9,
+1,3,
+8,-4,
+-6,-9,
+2,12,
+9,18,
+-4,0,
+6,-10,
+7,-6,
+-10,15,
+-8,3,
+4,12,
+4,5,
+22,9,
+-11,-8,
+-13,-1,
+19,1,
+5,6,
+-2,1,
+0,-5,
+-9,0,
+-9,1,
+10,5,
+-2,-2,
+1,7,
+-4,0,
+-4,4,
+-3,4,
+9,12,
+-3,1,
+1,1,
+1,9,
+5,3,
+1,6,
+1,-1,
+-12,-8,
+-1,3,
+10,1,
+-9,1,
+5,4,
+3,9,
+-1,1,
+-7,-2,
+10,2,
+1,2,
+-3,0,
+7,4,
+-4,3,
+-7,0,
+6,-1,
+-1,0,
+-3,-3,
+4,0,
+-1,3,
+-3,-1,
+7,-2,
+-4,1,
+-3,1,
+5,0,
+-3,0,
+-3,0,
+6,0,
+-3,0,
+-3,0,
+5,0,
+-3,-1,
+-4,-1,
+7,2,
+-3,1,
+-1,-3,
+4,0,
+-3,3,
+-1,0,
+6,1,
+-7,0,
+-4,-3,
+7,-4,
+-3,0,
+1,-2,
+10,-2,
+-7,2,
+-1,-1,
+3,-9,
+5,-4,
+-9,-1,
+10,-1,
+-1,-3,
+-12,8,
+1,1,
+1,-6,
+5,-3,
+1,-9,
+1,-1,
+-3,-1,
+9,-12,
+-3,-4,
+-4,-4,
+-4,0,
+1,-7,
+-2,2,
+10,-5,
+-9,-1,
+-9,0,
+0,5,
+-2,-1,
+5,-6,
+19,-1,
+-13,1,
+-11,8,
+22,-9,
+4,-5,
+4,-12,
+-8,-3,
+-10,-15,
+7,6,
+6,10,
+-4,0,
+9,-18,
+2,-12,
+-6,9,
+8,4,
+1,-3,
+-6,9,
+11,-19,
+24,-2,
+3,1,
+-8,-1,
+17,2,
+10,-17,
+-16,20,
+14,-5,
+-16,9,
+28,-13,
+5,-37,
+10,25,
+3,-8,
+25,14,
+18,1,
+-14,2,
+-14,2,
+13,9,
+2,2,
+-8,-24,
+19,7,
+6,39,
+0,-11,
+-12,-1,
+26,15,
+3,-8,
+-7,23,
+-37,17,
+15,16,
+2,5,
+0,-13,
+22,-20,
+10,18,
+-22,-22,
+-14,-22,
+-15,-19,
+-1,21,
+-1,43,
+-19,15,
+8,-24,
+14,-8,
+-1,-12,
+-27,-23,
+40,-1,
+7,6,
+-36,-27,
+-15,-12,
+-14,0,
+23,20,
+3,16,
+-40,-22,
+6,17,
+31,22,
+-25,4,
+-29,24,
+-28,26,
+3,11,
+-7,-18,
+-36,21,
+-11,-2,
+37,8,
+0,24,
+13,10,
+-7,-34,
+23,-23,
+3,15,
+9,-24,
+39,24,
+17,-18,
+-14,20,
+21,-10,
+-12,8,
+28,-20,
+22,-40,
+21,-30,
+-42,-4,
+-5,32,
+-39,11,
+-22,45,
+48,-6,
+34,25,
+-48,-16,
+66,21,
+8,49,
+12,5,
+53,26,
+-18,-24,
+-41,-33,
+21,11,
+-11,-21,
+-16,15,
+28,-5,
+-31,41,
+-47,-47,
+-38,49,
+-2,-77,
+8,31,
+14,-2,
+-23,41,
+-2,-46,
+46,-18,
+-15,-17,
+-23,44,
+31,-62,
+-29,-47,
+-45,-19,
+-9,-9,
+-34,-31,
+-7,48,
+-15,17,
+10,8,
+8,60,
+-13,23,
+56,-36,
+-1,21,
+-45,20,
+-39,74,
+35,0,
+66,-34,
+-72,5,
+-41,6,
+-23,-60,
+24,29,
+61,-37,
+10,27,
+-14,26,
+74,-54,
+45,48,
+31,-29,
+55,17,
+5,19,
+-11,57,
+-61,2,
+-1,-76,
+19,28,
+36,4,
+-10,-67,
+56,-33,
+30,2,
+30,-1,
+-38,68,
+-15,11,
+-106,46,
+83,-48,
+-48,16,
+37,7,
+30,-12,
+2,19,
+54,20,
+-36,-42,
+19,-33,
+59,66,
+67,16,
+-33,-26,
+84,-18,
+5,-6,
+-45,-14,
+-5,-26,
+13,16,
+42,-67,
+14,47,
+-24,-13,
+-3,-71,
+84,-25,
+38,-18,
+-15,21,
+-58,-21,
+14,-12,
+-17,-21,
+-16,-5,
+45,47,
+-14,50,
+18,1,
+21,13,
+98,-8,
+-54,27,
+46,39,
+72,-3,
+22,20,
+62,-38,
+22,-34,
+52,-54,
+-2,13,
+32,-26,
+61,18,
+0,9,
+-4,47,
+-104,38,
+55,6,
+52,-47,
+-16,22,
+-4,-74,
+-1,33,
+-67,9,
+-48,-28,
+-8,-64,
+-25,50,
+24,-18,
+-21,-58,
+-67,-55,
+-103,-13,
+-7,-99,
+-20,10,
+-57,-7,
+11,-21,
+17,-125,
+18,-7,
+22,29,
+-147,-17,
+-78,-29,
+-42,121,
+38,-35,
+79,-56,
+30,-19,
+-45,-85,
+-55,-41,
+21,-55,
+-97,47,
+99,-16,
+-42,-9,
+-28,147,
+32,106,
+-102,-38,
+-106,93,
+-10,-46,
+6,-52,
+49,-143,
+9,-2,
+19,61,
+-122,58,
+-7,-39,
+-30,-39,
+2,13,
+94,60,
+38,10,
+46,-50,
+-60,-32,
+54,17,
+60,-87,
+-51,-13,
+-2,-43,
+-29,-89,
+-12,-31,
+-68,-60,
+-64,46,
+178,86,
+27,56,
+-11,10,
+-80,-4,
+-11,60,
+-59,106,
+118,-37,
+26,80,
+-72,71,
+70,-114,
+-81,144,
+-10,-44,
+-63,-102,
+-40,-12,
+35,-14,
+31,30,
+87,-5,
+34,-54,
+-51,7,
+42,28,
+-7,-59,
+-20,-12,
+-35,-17,
+-74,-75,
+18,47,
+-11,115,
+34,25,
+89,56,
+82,39,
+19,75,
+17,-33,
+-34,-134,
+14,-29,
+82,19,
+83,-75,
+50,38,
+65,-62,
+-38,-27,
+-26,-107,
+62,-99,
+35,-85,
+67,4,
+19,89,
+18,-32,
+75,91,
+31,-4,
+-56,-87,
+-55,161,
+-245,-25,
+83,70,
+-137,25,
+-19,-29,
+-58,60,
+54,-104,
+27,2,
+-62,-33,
+44,44,
+-44,-11,
+76,9,
+73,-12,
+-115,13,
+-86,18,
+23,82,
+-96,3,
+-13,-30,
+-56,44,
+-67,31,
+72,-67,
+-64,36,
+-134,91,
+-28,39,
+-4,36,
+22,2,
+100,-35,
+49,-37,
+-24,-57,
+69,-18,
+120,-111,
+13,-72,
+5,-36,
+-89,213,
+35,-24,
+-58,73,
+125,18,
+-30,-53,
+-33,15,
+-34,-8,
+-84,23,
+45,-6,
+-10,-20,
+13,-17,
+-43,-49,
+-47,-34,
+10,-9,
+-110,-46,
+-41,69,
+5,-39,
+-34,25,
+107,6,
+-9,-100,
+-106,-33,
+-7,-20,
+36,40,
+-70,48,
+-89,12,
+16,1,
+-29,-86,
+107,20,
+19,0,
+82,-54,
+-41,-42,
+30,-159,
+30,-99,
+-14,-50,
+34,14,
+-154,-159,
+45,-24,
+64,-28,
+180,55,
+-130,40,
+129,15,
+-172,51,
+1,1,
+103,-170,
+-118,-123,
+196,-58,
+129,137,
+-25,-34,
+45,73,
+7,88,
+46,78,
+-157,86,
+-68,23,
+-80,81,
+-148,81,
+-95,62,
+90,-43,
+-130,36,
+-74,-43,
+-23,29,
+-30,104,
+-64,35,
+120,-71,
+-10,-42,
+60,-39,
+-117,20,
+72,-35,
+9,-24,
+231,183,
+-70,-48,
+-40,57,
+-69,48,
+-71,-53,
+-46,155,
+146,-33,
+47,-47,
+-63,-169,
+114,86,
+-73,64,
+-66,-24,
+-162,-11,
+-1,34,
+-63,-59,
+63,28,
+20,30,
+-93,-139,
+84,-62,
+-17,-94,
+44,-150,
+-145,8,
+-68,32,
+-10,32,
+53,21,
+7,-86,
+102,-11,
+48,56,
+17,35,
+30,72,
+-25,18,
+120,91,
+2,-12,
+-118,44,
+-112,9,
+-55,47,
+0,55,
+26,-31,
+-34,13,
+69,-105,
+-16,-67,
+-45,99,
+126,-67,
+13,-27,
+-106,111,
+157,61,
+0,-33,
+-44,-15,
+-66,41,
+-75,-227,
+6,-137,
+-145,56,
+-25,93,
+-16,-16,
+-110,-59,
+18,-37,
+-78,87,
+-107,90,
+-34,35,
+-12,75,
+75,8,
+34,76,
+-115,49,
+-69,40,
+197,145,
+148,-51,
+40,106,
+-42,122,
+67,-162,
+-81,11,
+-110,1,
+49,-9,
+8,-57,
+-13,-39,
+-5,46,
+121,-19,
+60,-70,
+-87,66,
+34,-32,
+-61,25,
+-85,180,
+63,98,
+-77,-41,
+-47,-29,
+-57,-93,
+-19,53,
+-117,-35,
+-7,-104,
+32,-27,
+2,-84,
+83,-18,
+-74,-5,
+-101,103,
+116,83,
+75,96,
+98,-166,
+172,74,
+37,4,
+24,-10,
+1,-11,
+-17,-26,
+30,114,
+-6,61,
+14,223,
+-79,-79,
+-34,14,
+66,-14,
+230,-47,
+-152,-115,
+0,-21,
+-80,144,
+3,34,
+-5,119,
+-123,-52,
+13,-71,
+-150,-254,
+87,147,
+65,-51,
+-96,81,
+144,-121,
+94,-23,
+-116,-23,
+-74,100,
+-4,-5,
+-56,127,
+81,82,
+-27,15,
+-55,-18,
+-106,270,
+-66,91,
+-106,55,
+-26,183,
+-133,68,
+-153,-234,
+14,167,
+-95,-60,
+-35,-279,
+-56,28,
+271,-154,
+139,37,
+26,59,
+-38,-48,
+-72,209,
+-26,-190,
+-29,33,
+-77,-262,
+178,73,
+79,74,
+76,92,
+-2,-97,
+202,14,
+132,-8,
+133,-59,
+30,54,
+-10,-198,
+30,1,
+35,-62,
+80,34,
+-79,99,
+-38,106,
+-38,-61,
+-40,22,
+146,148,
+48,-23,
+23,-71,
+18,-54,
+-70,72,
+48,47,
+-49,79,
+68,117,
+44,-50,
+47,97,
+56,57,
+1,-141,
+20,102,
+-6,13,
+-68,70,
+94,110,
+-14,-76,
+-34,-26,
+39,-101,
+-219,155,
+-39,-64,
+-154,132,
+211,-70,
+133,-206,
+54,-52,
+26,19,
+130,-111,
+13,-95,
+-28,-50,
+14,-46,
+-117,128,
+-142,167,
+4,34,
+30,36,
+-10,-30,
+-60,106,
+20,148,
+0,-52,
+-92,116,
+-92,120,
+44,82,
+-27,-4,
+17,-130,
+-20,-63,
+-6,147,
+-52,-89,
+152,30,
+-31,-25,
+115,-73,
+-113,268,
+-12,-68,
+39,207,
+-264,46,
+78,387,
+-90,-55,
+36,-76,
+10,3,
+-189,-140,
+36,-38,
+-64,14,
+92,-222,
+262,-15,
+105,76,
+118,-46,
+-3,-9,
+105,-115,
+-59,-180,
+90,-106,
+54,-7,
+125,-16,
+173,54,
+-146,-72,
+-196,-163,
+100,-126,
+-195,-51,
+-192,-54,
+24,83,
+7,31,
+72,113,
+102,54,
+-28,-61,
+30,28,
+20,-11,
+-11,7,
+84,-158,
+-5,-146,
+-144,74,
+193,-26,
+172,87,
+-124,220,
+98,-158,
+-149,156,
+56,-1,
+-103,-102,
+-147,-43,
+29,-86,
+-231,165,
+-29,62,
+99,129,
+-200,-229,
+-181,-119,
+24,-80,
+-38,234,
+188,66,
+130,-85,
+48,167,
+125,-11,
+49,-91,
+82,-53,
+-10,-7,
+120,84,
+5,-260,
+-158,-66,
+-25,-22,
+126,-36,
+8,189,
+-59,72,
+-160,101,
+33,-120,
+217,-10,
+299,-114,
+-178,92,
+84,247,
+-109,95,
+-184,85,
+-240,8,
+-90,-55,
+77,117,
+-25,-171,
+-58,226,
+301,40,
+29,45,
+96,2,
+191,-172,
+-75,-140,
+-87,101,
+-90,300,
+126,106,
+-90,171,
+23,-136,
+234,-99,
+184,111,
+-177,37,
+167,37,
+100,111,
+93,136,
+96,230,
+196,6,
+-58,-6,
+0,-10,
+60,79,
+127,107,
+-86,118,
+42,56,
+-17,0,
+170,5,
+-54,-112,
+49,-57,
+-72,60,
+-147,262,
+-60,-198,
+73,-88,
+-86,-19,
+88,-117,
+71,-11,
+133,-160,
+25,-62,
+62,-152,
+-107,-143,
+-43,-51,
+-44,-64,
+-66,27,
+58,-318,
+-56,107,
+-127,-11,
+-110,-119,
+1,20,
+57,89,
+49,-45,
+14,74,
+30,210,
+-78,-272,
+197,-157,
+140,42,
+-32,-13,
+58,-16,
+-56,-33,
+160,-186,
+-36,123,
+60,151,
+39,-177,
+32,-17,
+92,-104,
+-84,-76,
+-127,-241,
+21,22,
+170,-34,
+-57,33,
+-89,-177,
+61,-47,
+-30,42,
+-15,-206,
+25,206,
+90,-107,
+-322,346,
+24,-11,
+-92,-68,
+-53,-124,
+211,-71,
+159,-146,
+-68,58,
+49,-152,
+96,10,
+85,195,
+-190,122,
+-143,-192,
+103,-9,
+-137,-152,
+129,-273,
+-94,-35,
+70,-106,
+-40,-46,
+-127,-68,
+249,-208,
+-70,51,
+74,350,
+59,-20,
+3,-43,
+12,-161,
+-107,63,
+-331,253,
+151,-55,
+51,-150,
+-151,-54,
+-102,111,
+-81,-130,
+-134,6,
+-28,227,
+-31,-108,
+111,155,
+51,245,
+220,-77,
+116,30,
+44,93,
+-176,-73,
+268,-51,
+54,-11,
+-47,0,
+-196,45,
+225,-52,
+-158,-43,
+285,178,
+-194,290,
+73,-67,
+-116,53,
+56,54,
+-69,-99,
+119,84,
+47,132,
+61,-51,
+59,-52,
+-231,-103,
+-81,-221,
+-81,55,
+-75,-120,
+106,6,
+-187,-190,
+-31,5,
+-179,199,
+-58,144,
+-38,-13,
+166,103,
+203,-243,
+61,-42,
+21,-44,
+-55,31,
+68,-63,
+-144,-16,
+145,-171,
+-106,-119,
+56,26,
+92,-63,
+137,-125,
+-12,145,
+-149,-189,
+-20,-84,
+-49,43,
+-5,138,
+-33,99,
+48,-20,
+-205,60,
+-110,325,
+-34,-12,
+-123,-116,
+-57,30,
+30,96,
+34,73,
+-204,-88,
+-19,-92,
+204,288,
+0,124,
+45,-118,
+44,-52,
+42,-41,
+132,135,
+112,-134,
+18,-36,
+10,79,
+-272,75,
+-228,-24,
+182,54,
+246,207,
+-95,52,
+145,-49,
+-4,-96,
+59,-59,
+86,-42,
+-162,46,
+-246,37,
+73,278,
+-155,-185,
+-50,-102,
+114,18,
+-104,103,
+-165,-180,
+-91,-34,
+138,-3,
+56,-22,
+-130,-48,
+5,55,
+-4,148,
+-85,-141,
+62,-245,
+-243,-35,
+153,12,
+26,-275,
+234,74,
+28,-203,
+-226,155,
+138,-15,
+-96,-58,
+135,-130,
+-32,26,
+-62,14,
+154,-263,
+15,-107,
+81,87,
+-87,-71,
+-32,-13,
+-32,9,
+46,-40,
+250,-9,
+42,-68,
+-230,-37,
+41,-4,
+84,0,
+137,137,
+28,93,
+221,-333,
+-30,-51,
+-1,83,
+-78,37,
+31,-55,
+68,-216,
+44,6,
+-76,117,
+-50,93,
+121,45,
+-40,48,
+66,-175,
+54,72,
+83,74,
+-36,90,
+233,-44,
+96,18,
+60,-109,
+85,66,
+60,-44,
+215,-42,
+85,-189,
+-58,190,
+-80,180,
+-54,-59,
+118,-20,
+-37,-48,
+154,103,
+258,-291,
+54,241,
+-85,-34,
+92,-134,
+61,-67,
+29,-67,
+180,-66,
+162,119,
+-40,130,
+15,0,
+-49,-118,
+-138,-3,
+18,13,
+157,59,
+23,-231,
+-179,111,
+7,-52,
+367,187,
+-43,-67,
+-155,86,
+133,78,
+0,0,
+-108,-37,
+143,3,
+-44,154,
+71,84,
+214,-26,
+-136,-262,
+210,-82,
+-158,82,
+-172,164,
+-101,-26,
+43,-88,
+40,187,
+20,89,
+118,131,
+-67,-394,
+-29,194,
+-114,13,
+-222,-8,
+-100,119,
+27,-86,
+-47,37,
+-64,-153,
+-33,-92,
+141,125,
+-290,199,
+-59,301,
+-36,-37,
+-20,-133,
+0,44,
+27,45,
+23,-235,
+9,73,
+77,-16,
+-23,-267,
+67,-75,
+-129,15,
+-98,37,
+128,313,
+-212,199,
+-59,-73,
+192,-30,
+81,25,
+-112,-70,
+16,-29,
+66,237,
+-276,87,
+-194,-82,
+-27,76,
+-169,61,
+-115,26,
+-160,107,
+79,126,
+233,93,
+-69,26,
+-21,75,
+-38,-70,
+19,41,
+89,74,
+-166,61,
+-88,-159,
+-92,-112,
+-3,54,
+-60,125,
+-64,229,
+-27,177,
+-39,63,
+-98,-22,
+14,-41,
+-53,185,
+176,64,
+-181,-144,
+209,177,
+87,-28,
+77,9,
+42,23,
+158,-15,
+-249,5,
+302,7,
+116,-81,
+-32,-179,
+125,-145,
+7,-163,
+13,42,
+46,6,
+-83,-173,
+-50,99,
+-59,-102,
+-49,-358,
+-62,-177,
+-53,-66,
+-19,-63,
+-42,316,
+185,-27,
+-18,95,
+-87,148,
+110,16,
+-100,74,
+-232,-3,
+-95,47,
+110,0,
+-99,-58,
+66,-76,
+57,-29,
+83,-79,
+-36,220,
+88,-66,
+-17,-216,
+-5,242,
+-120,-41,
+168,-40,
+112,-99,
+-211,-76,
+-73,71,
+-70,152,
+215,-101,
+68,205,
+108,-10,
+78,-106,
+211,-45,
+-30,-276,
+-114,176,
+-91,109,
+-53,-58,
+94,-3,
+221,-285,
+184,17,
+-119,-5,
+18,-78,
+-102,106,
+114,-19,
+-333,-72,
+-142,157,
+203,51,
+-140,-163,
+114,77,
+7,-51,
+-101,33,
+-203,-201,
+-112,-27,
+-94,-174,
+-14,8,
+37,170,
+172,25,
+144,189,
+18,271,
+-64,22,
+-22,45,
+31,107,
+-63,-143,
+-168,41,
+207,191,
+-2,-59,
+146,152,
+-88,-48,
+18,43,
+60,-155,
+-41,-122,
+159,34,
+-79,117,
+-104,184,
+-205,-140,
+4,84,
+-135,24,
+35,215,
+16,189,
+11,32,
+80,-40,
+-31,-73,
+-74,-124,
+9,-85,
+232,263,
+6,121,
+-88,-136,
+-99,-165,
+180,43,
+33,502,
+-85,6,
+58,-179,
+-65,215,
+-130,110,
+-6,-152,
+124,15,
+-107,153,
+-101,-193,
+-92,-79,
+-109,-118,
+132,77,
+109,152,
+-205,-77,
+52,-57,
+-56,64,
+54,-7,
+176,-83,
+139,147,
+-59,54,
+6,-160,
+99,-141,
+-85,40,
+-242,113,
+157,-78,
+-131,110,
+267,46,
+12,-30,
+-27,-57,
+59,75,
+86,-146,
+68,73,
+114,-169,
+-101,18,
+224,-61,
+-92,-25,
+47,-13,
+-99,96,
+199,-96,
+221,-23,
+64,-155,
+69,33,
+-42,26,
+136,-46,
+-97,-93,
+56,-160,
+19,-182,
+155,99,
+218,56,
+68,-10,
+24,-76,
+35,-60,
+-54,-57,
+-5,188,
+-153,-81,
+-14,-160,
+-114,-92,
+106,70,
+64,145,
+98,-32,
+88,54,
+21,-96,
+-58,149,
+20,-172,
+-187,6,
+232,-207,
+1,-147,
+139,-65,
+14,29,
+49,61,
+54,251,
+-40,-59,
+124,61,
+-117,191,
+-2,-65,
+-79,63,
+106,147,
+-58,113,
+28,58,
+-226,-90,
+-72,-140,
+71,10,
+128,247,
+79,-39,
+-65,97,
+10,-163,
+-345,-3,
+-75,131,
+-206,92,
+-117,-74,
+33,-119,
+-135,49,
+48,87,
+191,86,
+-88,-119,
+249,151,
+-17,-82,
+-38,-79,
+-82,25,
+0,-11,
+57,-333,
+-160,110,
+125,66,
+170,29,
+202,-27,
+161,-46,
+203,30,
+-58,-118,
+85,-65,
+-121,2,
+284,-195,
+150,185,
+-151,65,
+83,-141,
+2,123,
+-95,-140,
+36,-62,
+-103,-49,
+8,-16,
+152,63,
+150,-59,
+-142,76,
+98,-192,
+86,-111,
+128,-17,
+-131,-59,
+153,98,
+-157,-127,
+6,-73,
+-200,62,
+-53,-67,
+-84,94,
+-185,-10,
+62,252,
+199,108,
+-2,52,
+-41,12,
+-19,60,
+202,5,
+-12,-25,
+29,46,
+-59,-49,
+55,-87,
+-4,-193,
+-59,-4,
+-54,-51,
+74,176,
+120,-1,
+-40,-92,
+-119,-73,
+-27,157,
+-176,166,
+71,-44,
+-207,41,
+-88,-56,
+123,-36,
+239,115,
+105,175,
+107,135,
+193,-48,
+82,-5,
+67,29,
+-69,-25,
+-208,164,
+134,-95,
+-310,26,
+-88,119,
+57,38,
+-128,-246,
+-194,44,
+-31,59,
+152,-18,
+1,62,
+-150,50,
+17,-69,
+142,-238,
+-36,-104,
+-22,-100,
+6,-27,
+91,42,
+56,32,
+-55,-43,
+99,-24,
+13,72,
+-160,138,
+-19,-251,
+-37,-94,
+109,-19,
+210,64,
+-69,37,
+26,159,
+-7,44,
+67,-61,
+-4,138,
+83,-190,
+-90,120,
+157,34,
+32,201,
+-141,-61,
+-43,53,
+-18,-83,
+101,-94,
+48,86,
+103,108,
+56,6,
+-16,27,
+82,131,
+5,33,
+160,120,
+54,65,
+-81,-145,
+-121,-92,
+-113,131,
+109,-33,
+214,8,
+-120,-137,
+73,-33,
+64,90,
+42,-80,
+-31,-2,
+80,233,
+99,-3,
+-29,171,
+154,27,
+-5,-31,
+-147,69,
+-61,31,
+53,58,
+-105,45,
+15,-77,
+55,92,
+38,154,
+-1,-120,
+-9,0,
+-173,3,
+193,121,
+81,-5,
+-149,120,
+172,-67,
+15,-129,
+-29,-57,
+109,59,
+21,-104,
+120,-20,
+38,38,
+-35,8,
+-80,-24,
+-19,-174,
+186,-37,
+299,-86,
+-111,103,
+163,149,
+54,67,
+176,132,
+-109,152,
+7,-50,
+5,302,
+1,-38,
+14,103,
+-35,47,
+-128,230,
+-169,128,
+-1,74,
+66,218,
+92,-145,
+62,-17,
+-84,52,
+197,-38,
+-127,113,
+125,-175,
+48,-115,
+-132,54,
+-58,-20,
+145,152,
+24,99,
+0,-23,
+80,-22,
+-32,-115,
+-51,35,
+63,-107,
+-97,96,
+-14,-65,
+-85,139,
+89,-103,
+-54,-40,
+-182,-89,
+-38,-58,
+14,11,
+-101,-11,
+-79,-100,
+3,-135,
+219,74,
+86,-54,
+121,114,
+54,-25,
+69,24,
+-131,-41,
+55,19,
+115,121,
+25,109,
+-75,-20,
+-186,4,
+-164,-102,
+-16,13,
+70,-55,
+-10,-30,
+-159,-85,
+41,15,
+28,23,
+-33,-48,
+-159,7,
+111,92,
+-21,-105,
+-93,10,
+-43,-1,
+-50,131,
+-8,36,
+-96,-167,
+104,161,
+-70,61,
+64,40,
+-212,6,
+39,61,
+-95,13,
+69,202,
+141,142,
+-30,-40,
+-28,-98,
+-7,-85,
+-119,-33,
+56,25,
+82,-89,
+3,12,
+-101,-161,
+24,51,
+132,-136,
+-180,-22,
+9,-10,
+-80,111,
+-21,-111,
+-146,-51,
+70,170,
+-85,-38,
+-10,-46,
+-26,-39,
+-174,-42,
+-8,22,
+186,83,
+95,70,
+103,-1,
+20,-157,
+8,56,
+11,-192,
+162,126,
+-25,-23,
+27,-12,
+-72,-82,
+104,33,
+123,-98,
+-151,-88,
+29,58,
+26,-25,
+12,-15,
+-28,-128,
+12,85,
+3,-4,
+-47,-96,
+-77,-68,
+20,112,
+-74,-31,
+-1,-170,
+-74,-124,
+32,-103,
+78,29,
+104,131,
+25,-9,
+-28,-40,
+-25,-25,
+74,136,
+-41,21,
+111,151,
+-70,124,
+-41,65,
+-102,-125,
+-27,-45,
+22,1,
+-41,-58,
+-83,-109,
+-75,-72,
+34,37,
+-73,45,
+153,-175,
+-91,64,
+26,-19,
+-54,-55,
+-8,30,
+-119,25,
+59,-13,
+81,74,
+28,72,
+135,-42,
+-71,-83,
+-95,40,
+-12,11,
+-102,92,
+124,-89,
+5,144,
+-106,-53,
+51,60,
+12,131,
+157,-71,
+86,-114,
+123,-83,
+155,-44,
+-87,-2,
+176,31,
+20,-3,
+144,-49,
+10,36,
+119,-26,
+100,215,
+58,-43,
+86,74,
+1,87,
+-151,235,
+-5,-32,
+-98,-115,
+16,47,
+72,13,
+-75,3,
+-33,174,
+19,-54,
+-22,-6,
+-131,138,
+9,-68,
+17,31,
+67,56,
+19,16,
+82,39,
+-99,-117,
+16,21,
+41,54,
+69,32,
+8,-36,
+-51,4,
+79,-24,
+65,-26,
+-48,-94,
+51,4,
+46,55,
+-21,64,
+191,-4,
+16,81,
+30,4,
+20,-30,
+-41,118,
+19,-35,
+-35,14,
+-122,54,
+103,128,
+23,-66,
+-64,-143,
+-66,7,
+28,33,
+59,32,
+67,120,
+44,-41,
+43,23,
+-4,59,
+75,29,
+51,58,
+-61,44,
+-35,32,
+-15,-99,
+46,-27,
+8,19,
+175,14,
+-96,86,
+49,-75,
+-48,57,
+39,39,
+14,3,
+69,-53,
+72,82,
+-7,15,
+36,100,
+-122,47,
+-71,-130,
+-7,-16,
+115,10,
+-42,-11,
+-41,46,
+49,-1,
+12,36,
+-34,48,
+-20,-52,
+-106,5,
+-107,64,
+-69,29,
+58,-95,
+9,-17,
+0,117,
+58,-22,
+-34,-158,
+-67,-1,
+-44,-6,
+112,-111,
+-18,-10,
+-7,-135,
+17,39,
+77,-82,
+-52,-19,
+9,131,
+20,67,
+3,45,
+153,96,
+56,116,
+-55,63,
+22,-62,
+-22,-42,
+3,-92,
+75,45,
+96,-106,
+-40,-47,
+-74,10,
+57,31,
+13,46,
+58,-11,
+-71,-51,
+-56,8,
+-80,15,
+6,8,
+-7,-53,
+8,76,
+1,34,
+13,42,
+32,-60,
+2,33,
+83,80,
+80,26,
+80,-56,
+-65,-86,
+73,-26,
+-28,-27,
+-50,-139,
+10,83,
+-44,-55,
+39,20,
+-28,1,
+-83,114,
+-35,-40,
+-36,9,
+47,33,
+-39,77,
+38,0,
+-22,-9,
+-93,-57,
+45,16,
+-61,7,
+10,-45,
+32,35,
+11,25,
+20,68,
+-93,96,
+6,-125,
+-24,78,
+-58,66,
+49,62,
+-41,89,
+-19,123,
+116,-18,
+-59,-1,
+-56,-22,
+-59,24,
+27,-40,
+-41,-45,
+-6,70,
+-4,-17,
+44,101,
+-47,-9,
+80,24,
+25,18,
+-74,-80,
+-25,-12,
+60,-35,
+30,-153,
+-12,-15,
+2,-89,
+-76,15,
+100,22,
+33,56,
+17,32,
+-40,-50,
+-44,-44,
+1,-61,
+80,52,
+51,-19,
+-15,17,
+47,-51,
+18,15,
+26,-20,
+39,45,
+7,-13,
+95,18,
+-8,41,
+-44,-11,
+-44,91,
+-48,-18,
+-85,34,
+52,-73,
+-54,15,
+41,12,
+-24,12,
+17,45,
+26,48,
+52,-13,
+-43,20,
+-82,-60,
+22,-13,
+7,-37,
+26,10,
+-41,-7,
+-29,10,
+-2,42,
+37,54,
+-2,64,
+-23,28,
+-80,-32,
+-36,35,
+3,-21,
+-2,40,
+-7,-13,
+-2,41,
+-75,76,
+24,45,
+3,15,
+2,-57,
+-11,60,
+0,-23,
+-45,54,
+19,-21,
+-57,41,
+21,46,
+-22,-11,
+6,-2,
+-21,49,
+25,-14,
+16,84,
+7,-59,
+-3,-15,
+44,-39,
+-55,17,
+-64,15,
+47,-19,
+18,34,
+-16,64,
+6,1,
+9,13,
+-25,-35,
+5,-3,
+15,-8,
+27,42,
+1,-2,
+-86,-60,
+3,-22,
+17,-4,
+-2,-7,
+-27,29,
+34,-42,
+33,-27,
+-22,17,
+6,-8,
+89,-11,
+86,48,
+-101,8,
+-31,-79,
+74,48,
+16,45,
+9,-4,
+-30,-13,
+-38,6,
+-3,-10,
+24,28,
+28,9,
+52,-29,
+48,17,
+-46,-40,
+27,-30,
+10,-41,
+38,8,
+10,-7,
+-28,40,
+-37,-14,
+-11,-5,
+42,24,
+-38,-27,
+49,59,
+22,3,
+-11,-8,
+8,-34,
+-3,16,
+8,-2,
+30,-26,
+40,15,
+40,31,
+30,26,
+11,28,
+10,-19,
+-19,-16,
+-45,-19,
+4,-48,
+-38,-30,
+29,30,
+-16,-23,
+-13,24,
+6,0,
+21,-15,
+1,-45,
+-9,-32,
+6,48,
+11,-54,
+-16,5,
+-13,35,
+-6,33,
+-62,21,
+28,1,
+27,-33,
+-18,-17,
+18,11,
+-60,8,
+-10,42,
+31,5,
+-17,19,
+29,25,
+6,19,
+8,-56,
+1,-1,
+-21,11,
+-26,7,
+34,15,
+-6,-29,
+-4,8,
+-15,14,
+13,-1,
+24,-5,
+-36,37,
+0,-14,
+-1,-3,
+-16,14,
+14,-10,
+12,-48,
+-17,4,
+30,2,
+13,-12,
+-6,9,
+38,10,
+1,7,
+19,-9,
+-12,-4,
+-39,-13,
+-34,-3,
+-13,-5,
+-5,-19,
+2,6,
+-14,-5,
+3,-3,
+-4,20,
+-36,-6,
+-15,4,
+-6,30,
+-6,0,
+2,13,
+5,-15,
+-5,23,
+-2,2,
+15,17,
+-8,5,
+8,11,
+-2,-18,
+12,25,
+12,-14,
+-15,-10,
+8,3,
+25,-8,
+13,-8,
+18,2,
+6,-8,
+-15,-4,
+-10,-12,
+2,-8,
+11,-4,
+-2,14,
+2,-7,
+-1,-12,
+8,14,
+5,1,
+11,10,
+8,-1,
+2,-28,
+6,0,
+3,-2,
+-3,-23,
+5,-10,
+15,2,
+2,-2,
+-9,-5,
+5,8,
+-3,7,
+-6,-4,
+16,-3,
+14,-8,
+4,5,
+1,-6,
+-7,-8,
+-11,12,
+-1,-1,
+0,-3,
+-4,6,
+-5,1,
+6,-5,
+-6,4,
+-3,0,
+11,-13,
+12,2,
+-1,-4,
+1,1,
+-4,-1,
+-6,-2,
+7,-2,
+-3,0,
+0,-6,
+6,-6,
+-5,2,
+0,0,
+-4,-3,
+6,6,
+1,0,
+-1,-3,
+-1,3,
+2,-4,
+2,-4,
+-2,4,
+-2,2,
+-1,-5,
+1,6,
+0,0,
+0,-5,
+0,5,
+0,0,
+0,-5,
+0,5,
+0,0,
+1,-6,
+-1,5,
+-2,-2,
+-2,-4,
+2,4,
+2,4,
+-1,-3,
+-1,3,
+1,0,
+6,-6,
+-4,3,
+0,0,
+-5,-2,
+6,6,
+0,6,
+-3,0,
+7,2,
+-6,2,
+-4,1,
+1,-1,
+-1,4,
+12,-2,
+11,13,
+-3,0,
+-6,-4,
+6,5,
+-5,-1,
+-4,-6,
+0,3,
+-1,1,
+-11,-12,
+-7,8,
+1,6,
+4,-5,
+14,8,
+16,3,
+-6,4,
+-3,-7,
+5,-8,
+-9,5,
+2,2,
+15,-2,
+5,10,
+-3,23,
+3,2,
+6,0,
+2,28,
+8,1,
+11,-10,
+5,-1,
+8,-14,
+-1,12,
+2,7,
+-2,-14,
+11,4,
+2,8,
+-10,12,
+-15,4,
+6,8,
+18,-2,
+13,8,
+25,8,
+8,-3,
+-15,10,
+12,14,
+12,-25,
+-2,18,
+8,-11,
+-8,-5,
+15,-17,
+-2,-2,
+-5,-23,
+5,15,
+2,-13,
+-6,0,
+-6,-30,
+-15,-4,
+-36,6,
+-4,-20,
+3,3,
+-14,5,
+2,-6,
+-5,19,
+-13,5,
+-34,3,
+-39,13,
+-12,4,
+19,9,
+1,-7,
+38,-10,
+-6,-9,
+13,12,
+30,-2,
+-17,-4,
+12,48,
+14,10,
+-16,-14,
+-1,3,
+0,14,
+-36,-37,
+24,5,
+13,1,
+-15,-14,
+-4,-8,
+-6,29,
+34,-15,
+-26,-7,
+-21,-11,
+1,1,
+8,56,
+6,-19,
+29,-25,
+-17,-19,
+31,-5,
+-10,-42,
+-60,-8,
+18,-11,
+-18,17,
+27,33,
+28,-1,
+-62,-21,
+-6,-33,
+-13,-35,
+-16,-5,
+11,54,
+6,-48,
+-9,32,
+1,45,
+21,15,
+6,0,
+-13,-24,
+-16,23,
+29,-30,
+-38,30,
+4,48,
+-45,19,
+-19,16,
+10,19,
+11,-28,
+30,-26,
+40,-31,
+40,-15,
+30,26,
+8,2,
+-3,-16,
+8,34,
+-11,8,
+22,-3,
+49,-59,
+-38,27,
+42,-24,
+-11,5,
+-37,14,
+-28,-40,
+10,7,
+38,-8,
+10,41,
+27,30,
+-46,40,
+48,-17,
+52,29,
+28,-9,
+24,-28,
+-3,10,
+-38,-6,
+-30,13,
+9,4,
+16,-45,
+74,-48,
+-31,79,
+-101,-8,
+86,-48,
+89,11,
+6,8,
+-22,-17,
+33,27,
+34,42,
+-27,-29,
+-2,7,
+17,4,
+3,22,
+-86,60,
+1,2,
+27,-42,
+15,8,
+5,3,
+-25,35,
+9,-13,
+6,-1,
+-16,-64,
+18,-34,
+47,19,
+-64,-15,
+-55,-17,
+44,39,
+-3,15,
+7,59,
+16,-84,
+25,14,
+-21,-49,
+6,2,
+-22,11,
+21,-46,
+-57,-41,
+19,21,
+-45,-54,
+0,23,
+-11,-60,
+2,57,
+3,-15,
+24,-45,
+-75,-76,
+-2,-41,
+-7,13,
+-2,-40,
+3,21,
+-36,-35,
+-80,32,
+-23,-28,
+-2,-64,
+37,-54,
+-2,-42,
+-29,-10,
+-41,7,
+26,-10,
+7,37,
+22,13,
+-82,60,
+-43,-20,
+52,13,
+26,-48,
+17,-45,
+-24,-12,
+41,-12,
+-54,-15,
+52,73,
+-85,-34,
+-48,18,
+-44,-91,
+-44,11,
+-8,-41,
+95,-18,
+7,13,
+39,-45,
+26,20,
+18,-15,
+47,51,
+-15,-17,
+51,19,
+80,-52,
+1,61,
+-44,44,
+-40,50,
+17,-32,
+33,-56,
+100,-22,
+-76,-15,
+2,89,
+-12,15,
+30,153,
+60,35,
+-25,12,
+-74,80,
+25,-18,
+80,-24,
+-47,9,
+44,-101,
+-4,17,
+-6,-70,
+-41,45,
+27,40,
+-59,-24,
+-56,22,
+-59,1,
+116,18,
+-19,-123,
+-41,-89,
+49,-62,
+-58,-66,
+-24,-78,
+6,125,
+-93,-96,
+20,-68,
+11,-25,
+32,-35,
+10,45,
+-61,-7,
+45,-16,
+-93,57,
+-22,9,
+38,0,
+-39,-77,
+47,-33,
+-36,-9,
+-35,40,
+-83,-114,
+-28,-1,
+39,-20,
+-44,55,
+10,-83,
+-50,139,
+-28,27,
+73,26,
+-65,86,
+80,56,
+80,-26,
+83,-80,
+2,-33,
+32,60,
+13,-42,
+1,-34,
+8,-76,
+-7,53,
+6,-8,
+-80,-15,
+-56,-8,
+-71,51,
+58,11,
+13,-46,
+57,-31,
+-74,-10,
+-40,47,
+96,106,
+75,-45,
+3,92,
+-22,42,
+22,62,
+-55,-63,
+56,-116,
+153,-96,
+3,-45,
+20,-67,
+9,-131,
+-52,19,
+77,82,
+17,-39,
+-7,135,
+-18,10,
+112,111,
+-44,6,
+-67,1,
+-34,158,
+58,22,
+0,-117,
+9,17,
+58,95,
+-69,-29,
+-107,-64,
+-106,-5,
+-20,52,
+-34,-48,
+12,-36,
+49,1,
+-41,-46,
+-42,11,
+115,-10,
+-7,16,
+-71,130,
+-122,-47,
+36,-100,
+-7,-15,
+72,-82,
+69,53,
+14,-3,
+39,-39,
+-48,-57,
+49,75,
+-96,-86,
+175,-14,
+8,-19,
+46,27,
+-15,99,
+-35,-32,
+-61,-44,
+51,-58,
+75,-29,
+-4,-59,
+43,-23,
+44,41,
+67,-120,
+59,-32,
+28,-33,
+-66,-7,
+-64,143,
+23,66,
+103,-128,
+-122,-54,
+-35,-14,
+19,35,
+-41,-118,
+20,30,
+30,-4,
+16,-81,
+191,4,
+-21,-64,
+46,-55,
+51,-4,
+-48,94,
+65,26,
+79,24,
+-51,-4,
+8,36,
+69,-32,
+41,-54,
+16,-21,
+-99,117,
+82,-39,
+19,-16,
+67,-56,
+17,-31,
+9,68,
+-131,-138,
+-22,6,
+19,54,
+-33,-174,
+-75,-3,
+72,-13,
+16,-47,
+-98,115,
+-5,32,
+-151,-235,
+1,-87,
+86,-74,
+58,43,
+100,-215,
+119,26,
+10,-36,
+144,49,
+20,3,
+176,-31,
+-87,2,
+155,44,
+123,83,
+86,114,
+157,71,
+12,-131,
+51,-60,
+-106,53,
+5,-144,
+124,89,
+-102,-92,
+-12,-11,
+-95,-40,
+-71,83,
+135,42,
+28,-72,
+81,-74,
+59,13,
+-119,-25,
+-8,-30,
+-54,55,
+26,19,
+-91,-64,
+153,175,
+-73,-45,
+34,-37,
+-75,72,
+-83,109,
+-41,58,
+22,-1,
+-27,45,
+-102,125,
+-41,-65,
+-70,-124,
+111,-151,
+-41,-21,
+74,-136,
+-25,25,
+-28,40,
+25,9,
+104,-131,
+78,-29,
+32,103,
+-74,124,
+-1,170,
+-74,31,
+20,-112,
+-77,68,
+-47,96,
+3,4,
+12,-85,
+-28,128,
+12,15,
+26,25,
+29,-58,
+-151,88,
+123,98,
+104,-33,
+-72,82,
+27,12,
+-25,23,
+162,-126,
+11,192,
+8,-56,
+20,157,
+103,1,
+95,-70,
+186,-83,
+-8,-22,
+-174,42,
+-26,39,
+-10,46,
+-85,38,
+70,-170,
+-146,51,
+-21,111,
+-80,-111,
+9,10,
+-180,22,
+132,136,
+24,-51,
+-101,161,
+3,-12,
+82,89,
+56,-25,
+-119,33,
+-7,85,
+-28,98,
+-30,40,
+141,-142,
+69,-202,
+-95,-13,
+39,-61,
+-212,-6,
+64,-40,
+-70,-61,
+104,-161,
+-96,167,
+-8,-36,
+-50,-131,
+-43,1,
+-93,-10,
+-21,105,
+111,-92,
+-159,-7,
+-33,48,
+28,-23,
+41,-15,
+-159,85,
+-10,30,
+70,55,
+-16,-13,
+-164,102,
+-186,-4,
+-75,20,
+25,-109,
+115,-121,
+55,-19,
+-131,41,
+69,-24,
+54,25,
+121,-114,
+86,54,
+219,-74,
+3,135,
+-79,100,
+-101,11,
+14,-11,
+-38,58,
+-182,89,
+-54,40,
+89,103,
+-85,-139,
+-14,65,
+-97,-96,
+63,107,
+-51,-35,
+-32,115,
+80,22,
+0,23,
+24,-99,
+145,-152,
+-58,20,
+-132,-54,
+48,115,
+125,175,
+-127,-113,
+197,38,
+-84,-52,
+62,17,
+92,145,
+66,-218,
+-1,-74,
+-169,-128,
+-128,-230,
+-35,-47,
+14,-103,
+1,38,
+5,-302,
+7,50,
+-109,-152,
+176,-132,
+54,-67,
+163,-149,
+-111,-103,
+299,86,
+186,37,
+-19,174,
+-80,24,
+-35,-8,
+38,-38,
+120,20,
+21,104,
+109,-59,
+-29,57,
+15,129,
+172,67,
+-149,-120,
+81,5,
+193,-121,
+-173,-3,
+-9,0,
+-1,120,
+38,-154,
+55,-92,
+15,77,
+-105,-45,
+53,-58,
+-61,-31,
+-147,-69,
+-5,31,
+154,-27,
+-29,-171,
+99,3,
+80,-233,
+-31,2,
+42,80,
+64,-90,
+73,33,
+-120,137,
+214,-8,
+109,33,
+-113,-131,
+-121,92,
+-81,145,
+54,-65,
+160,-120,
+5,-33,
+82,-131,
+-16,-27,
+56,-6,
+103,-108,
+48,-86,
+101,94,
+-18,83,
+-43,-53,
+-141,61,
+32,-201,
+157,-34,
+-90,-120,
+83,190,
+-4,-138,
+67,61,
+-7,-44,
+26,-159,
+-69,-37,
+210,-64,
+109,19,
+-37,94,
+-19,251,
+-160,-138,
+13,-72,
+99,24,
+-55,43,
+56,-32,
+91,-42,
+6,27,
+-22,100,
+-36,104,
+142,238,
+17,69,
+-150,-50,
+1,-62,
+152,18,
+-31,-59,
+-194,-44,
+-128,246,
+57,-38,
+-88,-119,
+-310,-26,
+134,95,
+-208,-164,
+-69,25,
+67,-29,
+82,5,
+193,48,
+107,-135,
+105,-175,
+239,-115,
+123,36,
+-88,56,
+-207,-41,
+71,44,
+-176,-166,
+-27,-157,
+-119,73,
+-40,92,
+120,1,
+74,-176,
+-54,51,
+-59,4,
+-4,193,
+55,87,
+-59,49,
+29,-46,
+-12,25,
+202,-5,
+-19,-60,
+-41,-12,
+-2,-52,
+199,-108,
+62,-252,
+-185,10,
+-84,-94,
+-53,67,
+-200,-62,
+6,73,
+-157,127,
+153,-98,
+-131,59,
+128,17,
+86,111,
+98,192,
+-142,-76,
+150,59,
+152,-63,
+8,16,
+-103,49,
+36,62,
+-95,140,
+2,-123,
+83,141,
+-151,-65,
+150,-185,
+284,195,
+-121,-2,
+85,65,
+-58,118,
+203,-30,
+161,46,
+202,27,
+170,-29,
+125,-66,
+-160,-110,
+57,333,
+0,11,
+-82,-25,
+-38,79,
+-17,82,
+249,-151,
+-88,119,
+191,-86,
+48,-87,
+-135,-49,
+33,119,
+-117,74,
+-206,-92,
+-75,-131,
+-345,3,
+10,163,
+-65,-97,
+79,39,
+128,-247,
+71,-10,
+-72,140,
+-226,90,
+28,-58,
+-58,-113,
+106,-147,
+-79,-63,
+-2,65,
+-117,-191,
+124,-61,
+-40,59,
+54,-251,
+49,-61,
+14,-29,
+139,65,
+1,147,
+232,207,
+-187,-6,
+20,172,
+-58,-149,
+21,96,
+88,-54,
+98,32,
+64,-145,
+106,-70,
+-114,92,
+-14,160,
+-153,81,
+-5,-188,
+-54,57,
+35,60,
+24,76,
+68,10,
+218,-56,
+155,-99,
+19,182,
+56,160,
+-97,93,
+136,46,
+-42,-26,
+69,-33,
+64,155,
+221,23,
+199,96,
+-99,-96,
+47,13,
+-92,25,
+224,61,
+-101,-18,
+114,169,
+68,-73,
+86,146,
+59,-75,
+-27,57,
+12,30,
+267,-46,
+-131,-110,
+157,78,
+-242,-113,
+-85,-40,
+99,141,
+6,160,
+-59,-54,
+139,-147,
+176,83,
+54,7,
+-56,-64,
+52,57,
+-205,77,
+109,-152,
+132,-77,
+-109,118,
+-92,79,
+-101,193,
+-107,-153,
+124,-15,
+-6,152,
+-130,-110,
+-65,-215,
+58,179,
+-85,-6,
+33,-502,
+180,-43,
+-99,165,
+-88,136,
+6,-121,
+232,-263,
+9,85,
+-74,124,
+-31,73,
+80,40,
+11,-32,
+16,-189,
+35,-215,
+-135,-24,
+4,-84,
+-205,140,
+-104,-184,
+-79,-117,
+159,-34,
+-41,122,
+60,155,
+18,-43,
+-88,48,
+146,-152,
+-2,59,
+207,-191,
+-168,-41,
+-63,143,
+31,-107,
+-22,-45,
+-64,-22,
+18,-271,
+144,-189,
+172,-25,
+37,-170,
+-14,-8,
+-94,174,
+-112,27,
+-203,201,
+-101,-33,
+7,51,
+114,-77,
+-140,163,
+203,-51,
+-142,-157,
+-333,72,
+114,19,
+-102,-106,
+18,78,
+-119,5,
+184,-17,
+221,285,
+94,3,
+-53,58,
+-91,-109,
+-114,-176,
+-30,276,
+211,45,
+78,106,
+108,10,
+68,-205,
+215,101,
+-70,-152,
+-73,-71,
+-211,76,
+112,99,
+168,40,
+-120,41,
+-5,-242,
+-17,216,
+88,66,
+-36,-220,
+83,79,
+57,29,
+66,76,
+-99,58,
+110,0,
+-95,-47,
+-232,3,
+-100,-74,
+110,-16,
+-87,-148,
+-18,-95,
+185,27,
+-42,-316,
+-19,63,
+-53,66,
+-62,177,
+-49,358,
+-59,102,
+-50,-99,
+-83,173,
+46,-6,
+13,-42,
+7,163,
+125,145,
+-32,179,
+116,81,
+302,-7,
+-249,-5,
+158,15,
+42,-23,
+77,-9,
+87,28,
+209,-177,
+-181,144,
+176,-64,
+-53,-185,
+14,41,
+-98,22,
+-39,-63,
+-27,-177,
+-64,-229,
+-60,-125,
+-3,-54,
+-92,112,
+-88,159,
+-166,-61,
+89,-74,
+19,-41,
+-38,70,
+-21,-75,
+-69,-26,
+233,-93,
+79,-126,
+-160,-107,
+-115,-26,
+-169,-61,
+-27,-76,
+-194,82,
+-276,-87,
+66,-237,
+16,29,
+-112,70,
+81,-25,
+192,30,
+-59,73,
+-212,-199,
+128,-313,
+-98,-37,
+-129,-15,
+67,75,
+-23,267,
+77,16,
+9,-73,
+23,235,
+27,-45,
+0,-44,
+-20,133,
+-36,37,
+-59,-301,
+-290,-199,
+141,-125,
+-33,92,
+-64,153,
+-47,-37,
+27,86,
+-100,-119,
+-222,8,
+-114,-13,
+-29,-194,
+-67,394,
+118,-131,
+20,-89,
+40,-187,
+43,88,
+-101,26,
+-172,-164,
+-158,-82,
+210,82,
+-136,262,
+214,26,
+71,-84,
+-44,-154,
+143,-3,
+-108,37,
+6,0,
+92,-259,
+-100,58,
+-214,-54,
+10,48,
+-191,-148,
+104,34,
+74,177,
+83,-5,
+54,0,
+101,-54,
+0,54,
+222,-94,
+-17,77,
+-40,-125,
+-94,32,
+165,-137,
+9,91,
+-129,41,
+134,104,
+-191,-49,
+-248,24,
+8,141,
+-87,-115,
+-31,260,
+5,134,
+-14,86,
+203,128,
+-118,-189,
+-13,62,
+-20,37,
+-115,-199,
+3,-63,
+-128,118,
+125,-200,
+27,-77,
+-82,163,
+-121,188,
+21,77,
+-23,-20,
+24,73,
+-148,123,
+-34,-106,
+-27,-29,
+268,-99,
+-193,147,
+111,-276,
+-58,-159,
+-86,76,
+-131,42,
+-62,273,
+-232,280,
+62,-2,
+-135,-149,
+-116,16,
+-6,-34,
+-25,2,
+-16,-147,
+-151,-89,
+-52,60,
+389,-70,
+334,232,
+48,174,
+156,-418,
+-157,-127,
+-26,-53,
+197,-196,
+-8,29,
+-140,112,
+-50,154,
+165,-239,
+222,-34,
+123,83,
+-31,289,
+-34,-14,
+-11,33,
+-36,-19,
+-226,-21,
+15,59,
+59,124,
+-68,191,
+-92,3,
+-83,85,
+144,-24,
+-79,-38,
+32,47,
+64,45,
+22,-320,
+-102,-107,
+-13,135,
+-89,-224,
+52,125,
+45,38,
+-82,124,
+-79,50,
+34,-52,
+-8,18,
+-63,211,
+180,11,
+-51,63,
+73,74,
+-239,-236,
+-99,-76,
+-120,112,
+2,224,
+184,-44,
+-34,-68,
+49,-121,
+43,-100,
+108,117,
+206,38,
+-45,-156,
+299,-240,
+-151,-28,
+-108,9,
+-166,304,
+22,-37,
+176,-124,
+145,173,
+19,152,
+18,-25,
+-109,53,
+129,-135,
+39,87,
+65,142,
+-250,-247,
+37,-25,
+-43,85,
+69,-82,
+303,-99,
+-3,-6,
+-18,137,
+-25,-48,
+19,-143,
+-27,-253,
+-140,73,
+-21,113,
+137,-119,
+-183,-32,
+-51,60,
+104,117,
+-26,-66,
+29,311,
+-69,143,
+116,-146,
+-3,119,
+236,-54,
+-35,-92,
+151,120,
+-95,-35,
+68,110,
+-17,50,
+4,-59,
+21,7,
+-94,-49,
+262,126,
+-16,48,
+-62,-19,
+-73,33,
+-10,-2,
+11,212,
+-135,29,
+195,-231,
+-8,-18,
+-163,322,
+43,59,
+-159,-218,
+194,155,
+-150,-206,
+228,94,
+29,45,
+-36,80,
+-1,-247,
+-48,6,
+70,116,
+-94,31,
+-73,14,
+42,-203,
+32,-142,
+-82,133,
+52,179,
+-42,-141,
+262,92,
+125,115,
+257,135,
+-61,-221,
+-240,-42,
+65,38,
+-113,-185,
+-154,149,
+5,91,
+-167,52,
+-51,296,
+-205,59,
+2,-80,
+-273,-119,
+-88,-11,
+104,-38,
+376,-97,
+141,62,
+95,135,
+-44,122,
+205,176,
+-140,-110,
+-152,91,
+85,101,
+-101,-208,
+179,-74,
+277,-61,
+-114,-3,
+-44,20,
+113,-136,
+77,-209,
+41,0,
+-73,-43,
+122,-150,
+-1,5,
+95,-70,
+-57,-44,
+28,57,
+109,91,
+139,61,
+-39,125,
+23,1,
+-82,151,
+-4,56,
+-21,142,
+76,182,
+90,10,
+-86,-91,
+-138,19,
+-76,96,
+-14,-38,
+-38,147,
+144,265,
+33,64,
+83,30,
+-44,138,
+154,111,
+60,64,
+-119,73,
+-39,228,
+90,-98,
+-4,-111,
+-145,72,
+113,-57,
+0,111,
+94,-90,
+72,4,
+-11,28,
+120,-56,
+92,-133,
+68,-25,
+-55,-87,
+-185,-58,
+-65,263,
+-104,27,
+79,-5,
+91,-116,
+112,-150,
+137,-123,
+-66,97,
+11,-116,
+261,-46,
+37,87,
+-126,7,
+141,122,
+120,51,
+51,159,
+-74,-21,
+-126,116,
+88,-26,
+-251,20,
+78,136,
+-70,146,
+-39,-9,
+155,32,
+-31,167,
+-67,-49,
+4,-10,
+91,179,
+-97,-151,
+-104,-15,
+147,34,
+114,230,
+51,214,
+92,-49,
+210,-23,
+-93,104,
+-110,-62,
+178,146,
+131,54,
+-128,-23,
+-56,70,
+-84,-24,
+108,-14,
+7,-31,
+71,-35,
+-57,-55,
+156,-220,
+85,173,
+-65,55,
+-75,-95,
+-129,73,
+-86,48,
+-44,-214,
+125,19,
+34,46,
+-21,70,
+174,104,
+79,-5,
+-166,-69,
+-163,-34,
+87,-90,
+-16,131,
+83,-134,
+191,-19,
+77,282,
+-85,-41,
+-10,-136,
+-131,-211,
+47,-101,
+-29,114,
+24,-42,
+98,170,
+113,-11,
+-2,27,
+-58,91,
+3,-74,
+69,-1,
+160,-49,
+-8,20,
+1,-99,
+-178,-128,
+-66,169,
+-38,-223,
+-61,-20,
+42,-87,
+50,109,
+-109,77,
+-160,162,
+74,27,
+-136,43,
+53,150,
+128,-14,
+84,36,
+-28,80,
+50,-57,
+108,54,
+8,-4,
+66,-31,
+-19,-73,
+-54,188,
+-73,-82,
+-37,-29,
+120,-95,
+19,-34,
+123,-88,
+-52,61,
+108,-88,
+236,39,
+-106,91,
+93,-221,
+-234,-24,
+119,-44,
+-45,28,
+-43,5,
+-44,210,
+-75,-88,
+-47,4,
+-86,-89,
+-42,89,
+119,-191,
+-38,49,
+42,30,
+-26,101,
+52,-156,
+-108,-113,
+73,-63,
+-124,-21,
+71,1,
+-20,46,
+35,-140,
+-99,173,
+-59,169,
+-28,198,
+-81,4,
+-130,-55,
+44,94,
+-75,188,
+-186,-126,
+6,-10,
+-108,53,
+252,5,
+-55,9,
+70,-54,
+-124,18,
+7,130,
+-165,36,
+64,-63,
+-116,102,
+99,45,
+129,3,
+-102,129,
+-24,-6,
+53,132,
+-8,88,
+-36,-97,
+-161,-64,
+-93,29,
+-132,-32,
+-75,59,
+-147,-68,
+-20,25,
+8,134,
+-157,59,
+-36,-105,
+-52,-85,
+-134,-64,
+82,77,
+1,124,
+-3,24,
+36,-163,
+6,43,
+-108,59,
+25,-314,
+-227,1,
+-41,-209,
+185,-127,
+-66,-106,
+-59,-156,
+10,-45,
+33,-119,
+-106,252,
+-238,-160,
+242,238,
+-19,-54,
+-60,12,
+-38,-21,
+-164,-31,
+89,8,
+-71,-14,
+-3,25,
+-62,84,
+57,106,
+-112,-146,
+11,-61,
+-44,124,
+164,-11,
+-98,-33,
+105,45,
+-20,152,
+-41,-19,
+60,50,
+77,-99,
+43,128,
+61,-2,
+130,-122,
+125,2,
+-40,-71,
+82,40,
+143,166,
+96,82,
+68,114,
+-81,-33,
+-38,-166,
+-203,143,
+-59,124,
+32,-4,
+127,-77,
+126,55,
+13,-219,
+4,163,
+-37,14,
+17,-12,
+-18,231,
+184,70,
+50,229,
+46,49,
+-31,-104,
+111,-91,
+63,-26,
+35,25,
+79,103,
+120,-182,
+-52,-163,
+140,-67,
+91,-73,
+26,85,
+56,-28,
+42,-139,
+-44,-44,
+-49,22,
+245,12,
+44,-72,
+72,-57,
+103,136,
+-147,68,
+7,38,
+10,-151,
+96,139,
+87,-166,
+-102,79,
+-13,54,
+-30,96,
+36,-64,
+20,113,
+-105,-115,
+13,192,
+70,20,
+-128,-100,
+-252,-114,
+-84,-191,
+-196,-173,
+-96,-152,
+127,53,
+-13,32,
+130,-91,
+-105,-28,
+84,82,
+8,-25,
+132,-98,
+-60,43,
+57,-42,
+-131,124,
+97,107,
+-122,-180,
+131,42,
+117,9,
+-42,30,
+-100,173,
+40,80,
+31,63,
+-98,-91,
+-68,50,
+-32,55,
+1,12,
+60,120,
+-157,56,
+-159,55,
+-47,12,
+-69,132,
+135,21,
+-28,46,
+-164,92,
+-15,31,
+61,-65,
+57,170,
+293,57,
+2,57,
+63,-31,
+112,4,
+-84,-37,
+66,54,
+-143,81,
+16,114,
+-13,60,
+115,-114,
+66,-92,
+-40,-127,
+-115,20,
+100,-13,
+162,119,
+19,129,
+90,24,
+6,33,
+-152,45,
+29,143,
+-8,53,
+-35,10,
+133,98,
+-136,29,
+57,-43,
+133,36,
+30,-17,
+-81,72,
+93,-45,
+24,138,
+-60,-126,
+-26,-9,
+-20,2,
+114,-4,
+44,-89,
+-51,84,
+-6,-98,
+46,16,
+-76,-101,
+-38,-80,
+158,112,
+-123,8,
+196,-3,
+-53,-216,
+71,71,
+-147,59,
+-33,-166,
+-127,80,
+-144,70,
+3,-58,
+-236,-59,
+-27,-125,
+-57,22,
+8,-23,
+-31,1,
+-59,14,
+116,44,
+68,-39,
+-44,2,
+-102,-77,
+-28,-75,
+24,-19,
+79,-70,
+40,-10,
+-22,-44,
+-50,-140,
+89,-33,
+-41,-99,
+-70,-90,
+7,-72,
+14,50,
+55,11,
+117,-52,
+-39,9,
+61,22,
+70,58,
+-20,35,
+27,-136,
+21,58,
+44,-114,
+53,-10,
+-25,-41,
+-56,116,
+66,-42,
+29,146,
+-74,-147,
+24,-83,
+32,-6,
+102,-46,
+-21,-34,
+-25,-67,
+120,-30,
+192,-36,
+-16,-40,
+43,-35,
+-61,70,
+27,-55,
+6,33,
+-63,-70,
+-90,37,
+-34,-52,
+-36,46,
+124,-27,
+-61,35,
+-34,10,
+-49,29,
+76,-77,
+-142,-53,
+67,7,
+55,-74,
+45,-32,
+-24,55,
+49,-84,
+-129,59,
+-21,-150,
+-13,101,
+18,51,
+13,77,
+-47,29,
+12,-28,
+-62,118,
+-17,-5,
+-84,10,
+47,-36,
+10,-62,
+39,22,
+-70,13,
+33,26,
+-7,44,
+13,48,
+11,-26,
+22,38,
+31,115,
+31,-38,
+63,6,
+20,-38,
+48,-34,
+110,-90,
+-10,30,
+32,32,
+-117,-39,
+11,-23,
+-51,-43,
+43,-70,
+-101,-63,
+-23,78,
+60,17,
+-96,72,
+24,9,
+31,-60,
+-6,16,
+45,71,
+17,30,
+72,17,
+-37,25,
+16,-58,
+-120,24,
+-141,-70,
+97,-26,
+40,53,
+29,90,
+-14,27,
+-55,35,
+78,-5,
+-84,-49,
+-48,-99,
+58,43,
+3,82,
+31,6,
+86,2,
+-74,61,
+-49,6,
+13,-89,
+13,-20,
+-26,-63,
+42,-33,
+25,65,
+-21,40,
+-110,19,
+33,-21,
+-18,68,
+-45,-18,
+49,25,
+-22,-77,
+12,-36,
+52,60,
+-2,74,
+58,-43,
+-15,-37,
+1,72,
+15,85,
+47,-18,
+128,81,
+57,59,
+-101,-51,
+38,-39,
+7,39,
+14,10,
+7,-57,
+30,35,
+48,13,
+-12,13,
+52,-3,
+83,-63,
+-16,32,
+16,-100,
+15,31,
+38,-45,
+9,-25,
+92,120,
+-15,13,
+52,-45,
+22,39,
+-43,80,
+1,20,
+-13,-18,
+-16,31,
+-76,73,
+-40,32,
+-31,10,
+71,5,
+35,-83,
+31,-31,
+-47,-41,
+-37,14,
+-17,74,
+-42,5,
+8,26,
+3,26,
+-4,10,
+-30,51,
+70,-14,
+-39,-8,
+-33,-29,
+8,41,
+18,-8,
+86,-55,
+0,30,
+37,47,
+70,11,
+-3,-18,
+29,76,
+102,-4,
+48,19,
+-3,-9,
+22,-40,
+21,-46,
+-45,-18,
+10,8,
+65,43,
+44,5,
+40,-42,
+17,21,
+50,-30,
+-2,4,
+46,42,
+36,50,
+1,-16,
+-8,16,
+-2,-4,
+-42,33,
+-13,5,
+-20,23,
+-29,-38,
+-33,62,
+-59,41,
+-13,-60,
+26,22,
+-19,57,
+-70,39,
+-1,32,
+-10,-43,
+15,-19,
+30,-14,
+-20,-9,
+83,68,
+47,-28,
+-13,73,
+-1,102,
+-20,57,
+-15,-69,
+-19,-31,
+-44,-56,
+44,-6,
+53,-73,
+50,7,
+20,-42,
+7,-34,
+15,-6,
+-52,-36,
+3,-20,
+-19,-32,
+-44,39,
+110,108,
+-15,-6,
+-33,51,
+54,-19,
+48,-12,
+-67,9,
+-28,12,
+-10,-26,
+5,-13,
+42,-3,
+-8,16,
+-54,-28,
+-11,1,
+74,31,
+-61,-4,
+33,58,
+-26,-56,
+-21,49,
+5,-45,
+80,-26,
+2,17,
+-67,10,
+19,13,
+38,-37,
+16,19,
+-8,-14,
+8,-44,
+6,43,
+21,11,
+17,23,
+-40,-24,
+20,9,
+8,9,
+-10,-17,
+51,26,
+-22,-23,
+-12,50,
+23,4,
+-27,38,
+5,-6,
+33,15,
+34,-25,
+31,22,
+-11,10,
+34,-21,
+-19,-9,
+-16,-7,
+20,19,
+7,-29,
+-30,-25,
+-57,24,
+10,-6,
+19,-30,
+4,42,
+-32,22,
+1,27,
+10,9,
+-23,-34,
+-8,-1,
+-11,-27,
+24,35,
+7,3,
+-41,0,
+29,-18,
+32,19,
+1,22,
+2,25,
+3,13,
+11,-25,
+52,-47,
+-35,24,
+-41,-9,
+-15,46,
+5,1,
+4,27,
+4,18,
+-27,-13,
+-24,18,
+16,10,
+18,11,
+26,-17,
+-20,-33,
+-21,-5,
+-9,-30,
+20,31,
+13,-1,
+3,3,
+27,-2,
+-10,1,
+-9,-10,
+30,-10,
+22,5,
+-31,3,
+27,-1,
+-16,-16,
+-19,-2,
+-12,-3,
+-23,11,
+14,-1,
+5,3,
+-12,-2,
+3,12,
+24,-27,
+0,-5,
+24,16,
+13,-13,
+-12,-15,
+2,-11,
+4,2,
+5,-7,
+12,0,
+37,11,
+-27,24,
+-14,21,
+12,-7,
+21,-19,
+-17,10,
+1,10,
+-11,-2,
+-31,-2,
+-7,-8,
+-9,25,
+22,25,
+17,26,
+-23,11,
+4,-23,
+-2,-7,
+-23,13,
+14,-14,
+1,-10,
+-21,5,
+6,-18,
+27,0,
+7,-12,
+15,-11,
+4,-7,
+-19,5,
+-7,-12,
+-2,11,
+5,-3,
+-14,12,
+6,-10,
+-1,-5,
+5,-3,
+6,4,
+-4,-3,
+13,-5,
+14,-6,
+-13,4,
+-4,1,
+5,2,
+-6,-9,
+-8,2,
+4,-3,
+-3,-5,
+-1,4,
+0,-2,
+6,8,
+6,-2,
+5,-5,
+5,3,
+-5,-5,
+7,-7,
+-1,-2,
+-4,-2,
+10,1,
+-3,-1,
+-3,2,
+2,2,
+-1,-5,
+-6,3,
+7,2,
+-3,2,
+-3,0,
+5,2,
+-2,1,
+-2,1,
+6,0,
+-3,0,
+-4,-2,
+7,0,
+-3,0,
+-3,0,
+6,0,
+-3,0,
+-3,0,
+7,0,
+-4,2,
+-3,0,
+6,0,
+-2,-1,
+-2,-1,
+5,-2,
+-3,0,
+-3,-2,
+7,-2,
+-6,-3,
+-1,5,
+2,-2,
+-3,-2,
+-3,1,
+10,-1,
+-4,2,
+-1,2,
+7,7,
+-5,5,
+5,-3,
+5,5,
+6,2,
+6,-8,
+0,2,
+-1,-4,
+-3,5,
+4,3,
+-8,-2,
+-6,9,
+5,-2,
+-4,-1,
+-13,-4,
+14,6,
+13,5,
+-4,3,
+6,-4,
+5,3,
+-1,5,
+6,10,
+-14,-12,
+5,3,
+-2,-11,
+-7,12,
+-19,-5,
+4,7,
+15,11,
+7,12,
+27,0,
+6,18,
+-21,-5,
+1,10,
+14,14,
+-23,-13,
+-2,7,
+4,23,
+-23,-11,
+17,-26,
+22,-25,
+-9,-25,
+-7,8,
+-31,2,
+-11,2,
+1,-10,
+-17,-10,
+21,19,
+12,7,
+-14,-21,
+-27,-24,
+37,-11,
+12,0,
+5,7,
+4,-2,
+2,11,
+-12,15,
+13,13,
+24,-16,
+0,5,
+24,27,
+3,-12,
+-12,2,
+5,-3,
+14,1,
+-23,-11,
+-12,3,
+-19,2,
+-16,16,
+27,1,
+-31,-3,
+22,-5,
+30,10,
+-9,10,
+-10,-1,
+27,2,
+3,-3,
+13,1,
+20,-31,
+-9,30,
+-21,5,
+-20,33,
+26,17,
+18,-11,
+16,-10,
+-24,-18,
+-27,13,
+4,-18,
+4,-27,
+5,-1,
+-15,-46,
+-41,9,
+-35,-24,
+52,47,
+11,25,
+3,-13,
+2,-25,
+1,-22,
+32,-19,
+29,18,
+-41,0,
+7,-3,
+24,-35,
+-11,27,
+-8,1,
+-23,34,
+10,-9,
+1,-27,
+-32,-22,
+4,-42,
+19,30,
+10,6,
+-57,-24,
+-30,25,
+7,29,
+20,-19,
+-16,7,
+-19,9,
+34,21,
+-11,-10,
+31,-22,
+34,25,
+33,-15,
+5,6,
+-27,-38,
+23,-4,
+-12,-50,
+-22,23,
+51,-26,
+-10,17,
+8,-9,
+20,-9,
+-40,24,
+17,-23,
+21,-11,
+6,-43,
+8,44,
+-8,14,
+16,-19,
+38,37,
+19,-13,
+-67,-10,
+2,-17,
+80,26,
+5,45,
+-21,-49,
+-26,56,
+33,-58,
+-61,4,
+74,-31,
+-11,-1,
+-54,28,
+-8,-16,
+42,3,
+5,13,
+-10,26,
+-28,-12,
+-67,-9,
+48,12,
+54,19,
+-33,-51,
+-15,6,
+110,-108,
+-44,-39,
+-19,32,
+3,20,
+-52,36,
+15,6,
+7,34,
+20,42,
+50,-7,
+53,73,
+44,6,
+-44,56,
+-19,31,
+-15,69,
+-20,-57,
+-1,-102,
+-13,-73,
+47,28,
+83,-68,
+-20,9,
+30,14,
+15,19,
+-10,43,
+-1,-32,
+-70,-39,
+-19,-57,
+26,-22,
+-13,60,
+-59,-41,
+-33,-62,
+-29,38,
+-20,-23,
+-13,-5,
+-42,-33,
+-2,4,
+-8,-16,
+1,16,
+36,-50,
+46,-42,
+-2,-4,
+50,30,
+17,-21,
+40,42,
+44,-5,
+65,-43,
+10,-8,
+-45,18,
+21,46,
+22,40,
+-3,9,
+48,-19,
+102,4,
+29,-76,
+-3,18,
+70,-11,
+37,-47,
+0,-30,
+86,55,
+18,8,
+8,-41,
+-33,29,
+-39,8,
+70,14,
+-30,-51,
+-4,-10,
+3,-26,
+8,-26,
+-42,-5,
+-17,-74,
+-37,-14,
+-47,41,
+31,31,
+35,83,
+71,-5,
+-31,-10,
+-40,-32,
+-76,-73,
+-16,-31,
+-13,18,
+1,-20,
+-43,-80,
+22,-39,
+52,45,
+-15,-13,
+92,-120,
+9,25,
+38,45,
+15,-31,
+16,100,
+-16,-32,
+83,63,
+52,3,
+-12,-13,
+48,-13,
+30,-35,
+7,57,
+14,-10,
+7,-39,
+38,39,
+-101,51,
+57,-59,
+128,-81,
+47,18,
+15,-85,
+1,-72,
+-15,37,
+58,43,
+-2,-74,
+52,-60,
+12,36,
+-22,77,
+49,-25,
+-45,18,
+-18,-68,
+33,21,
+-110,-19,
+-21,-40,
+25,-65,
+42,33,
+-26,63,
+13,20,
+13,89,
+-49,-6,
+-74,-61,
+86,-2,
+31,-6,
+3,-82,
+58,-43,
+-48,99,
+-84,49,
+78,5,
+-55,-35,
+-14,-27,
+29,-90,
+40,-53,
+97,26,
+-141,70,
+-120,-24,
+16,58,
+-37,-25,
+72,-17,
+17,-30,
+45,-71,
+-6,-16,
+31,60,
+24,-9,
+-96,-72,
+60,-17,
+-23,-78,
+-101,63,
+43,70,
+-51,43,
+11,23,
+-117,39,
+32,-32,
+-10,-30,
+110,90,
+48,34,
+20,38,
+63,-6,
+31,38,
+31,-115,
+22,-38,
+11,26,
+13,-48,
+-7,-44,
+33,-26,
+-70,-13,
+39,-22,
+10,62,
+47,36,
+-84,-10,
+-17,5,
+-62,-118,
+12,28,
+-47,-29,
+13,-77,
+18,-51,
+-13,-101,
+-21,150,
+-129,-59,
+49,84,
+-24,-55,
+45,32,
+55,74,
+67,-7,
+-142,53,
+76,77,
+-49,-29,
+-34,-10,
+-61,-35,
+124,27,
+-36,-46,
+-34,52,
+-90,-37,
+-63,70,
+6,-33,
+27,55,
+-61,-70,
+43,35,
+-16,40,
+192,36,
+120,30,
+-25,67,
+-21,34,
+102,46,
+32,6,
+24,83,
+-74,147,
+29,-146,
+66,42,
+-56,-116,
+-25,41,
+53,10,
+44,114,
+21,-58,
+27,136,
+-20,-35,
+70,-58,
+61,-22,
+-39,-9,
+117,52,
+55,-11,
+14,-50,
+7,72,
+-70,90,
+-41,99,
+89,33,
+-50,140,
+-22,44,
+40,10,
+79,70,
+24,19,
+-28,75,
+-102,77,
+-44,-2,
+68,39,
+116,-44,
+-59,-14,
+-31,-1,
+8,23,
+-57,-22,
+-27,125,
+-236,59,
+3,58,
+-144,-70,
+-127,-80,
+-33,166,
+-147,-59,
+71,-71,
+-53,216,
+196,3,
+-123,-8,
+158,-112,
+-38,80,
+-76,101,
+46,-16,
+-6,98,
+-51,-84,
+44,89,
+114,4,
+-20,-2,
+-26,9,
+-60,126,
+24,-138,
+93,45,
+-81,-72,
+30,17,
+133,-36,
+57,43,
+-136,-29,
+133,-98,
+-35,-10,
+-8,-53,
+29,-143,
+-152,-45,
+6,-33,
+90,-24,
+19,-129,
+162,-119,
+100,13,
+-115,-20,
+-40,127,
+66,92,
+115,114,
+-13,-60,
+16,-114,
+-143,-81,
+66,-54,
+-84,37,
+112,-4,
+63,31,
+2,-57,
+293,-57,
+57,-170,
+61,65,
+-15,-31,
+-164,-92,
+-28,-46,
+135,-21,
+-69,-132,
+-47,-12,
+-159,-55,
+-157,-56,
+60,-120,
+1,-12,
+-32,-55,
+-68,-50,
+-98,91,
+31,-63,
+40,-80,
+-100,-173,
+-42,-30,
+117,-9,
+131,-42,
+-122,180,
+97,-107,
+-131,-124,
+57,42,
+-60,-43,
+132,98,
+8,25,
+84,-82,
+-105,28,
+130,91,
+-13,-32,
+127,-53,
+-96,152,
+-196,173,
+-84,191,
+-252,114,
+-128,100,
+70,-20,
+13,-192,
+-105,115,
+20,-113,
+36,64,
+-30,-96,
+-13,-54,
+-102,-79,
+87,166,
+96,-139,
+10,151,
+7,-38,
+-147,-68,
+103,-136,
+72,57,
+44,72,
+245,-12,
+-49,-22,
+-44,44,
+42,139,
+56,28,
+26,-85,
+91,73,
+140,67,
+-52,163,
+120,182,
+79,-103,
+35,-25,
+63,26,
+111,91,
+-31,104,
+46,-49,
+50,-229,
+184,-70,
+-18,-231,
+17,12,
+-37,-14,
+4,-163,
+13,219,
+126,-55,
+127,77,
+32,4,
+-59,-124,
+-203,-143,
+-38,166,
+-81,33,
+68,-114,
+96,-82,
+143,-166,
+82,-40,
+-40,71,
+125,-2,
+130,122,
+61,2,
+43,-128,
+77,99,
+60,-50,
+-41,19,
+-20,-152,
+105,-45,
+-98,33,
+164,11,
+-44,-124,
+11,61,
+-112,146,
+57,-106,
+-62,-84,
+-3,-25,
+-71,14,
+89,-8,
+-164,31,
+-38,21,
+-60,-12,
+-19,54,
+242,-238,
+-238,160,
+-106,-252,
+33,119,
+10,45,
+-59,156,
+-66,106,
+185,127,
+-41,209,
+-227,-1,
+25,314,
+-108,-59,
+6,-43,
+36,163,
+-3,-24,
+1,-124,
+82,-77,
+-134,64,
+-52,85,
+-36,105,
+-157,-59,
+8,-134,
+-20,-25,
+-147,68,
+-75,-59,
+-132,32,
+-93,-29,
+-161,64,
+-36,97,
+-8,-88,
+53,-132,
+-24,6,
+-102,-129,
+129,-3,
+99,-45,
+-116,-102,
+64,63,
+-165,-36,
+7,-130,
+-124,-18,
+70,54,
+-55,-9,
+252,-5,
+-108,-53,
+6,10,
+-186,126,
+-75,-188,
+44,-94,
+-130,55,
+-81,-4,
+-28,-198,
+-59,-169,
+-99,-173,
+35,140,
+-20,-46,
+71,-1,
+-124,21,
+73,63,
+-108,113,
+52,156,
+-26,-101,
+42,-30,
+-38,-49,
+119,191,
+-42,-89,
+-86,89,
+-47,-4,
+-75,88,
+-44,-210,
+-43,-5,
+-45,-28,
+119,44,
+-234,24,
+93,221,
+-106,-91,
+236,-39,
+108,88,
+-52,-61,
+123,88,
+19,34,
+120,95,
+-37,29,
+-73,82,
+-54,-188,
+-19,73,
+66,31,
+8,4,
+108,-54,
+50,57,
+-28,-80,
+84,-36,
+128,14,
+53,-150,
+-136,-43,
+74,-27,
+-160,-162,
+-109,-77,
+50,-109,
+42,87,
+-61,20,
+-38,223,
+-66,-169,
+-178,128,
+1,99,
+-8,-20,
+160,49,
+69,1,
+3,74,
+-58,-91,
+-2,-27,
+113,11,
+98,-170,
+24,42,
+-29,-114,
+47,101,
+-131,211,
+-10,136,
+-85,41,
+77,-282,
+191,19,
+83,134,
+-16,-131,
+87,90,
+-163,34,
+-166,69,
+79,5,
+174,-104,
+-21,-70,
+34,-46,
+125,-19,
+-44,214,
+-86,-48,
+-129,-73,
+-75,95,
+-65,-55,
+85,-173,
+156,220,
+-57,55,
+71,35,
+7,31,
+108,14,
+-84,24,
+-56,-70,
+-128,23,
+131,-54,
+178,-146,
+-110,62,
+-93,-104,
+210,23,
+92,49,
+51,-214,
+114,-230,
+147,-34,
+-104,15,
+-97,151,
+91,-179,
+4,10,
+-67,49,
+-31,-167,
+155,-32,
+-39,9,
+-70,-146,
+78,-136,
+-251,-20,
+88,26,
+-126,-116,
+-74,21,
+51,-159,
+120,-51,
+141,-122,
+-126,-7,
+37,-87,
+261,46,
+11,116,
+-66,-97,
+137,123,
+112,150,
+91,116,
+79,5,
+-104,-27,
+-65,-263,
+-185,58,
+-55,87,
+68,25,
+92,133,
+120,56,
+-11,-28,
+72,-4,
+94,90,
+0,-111,
+113,57,
+-145,-72,
+-4,111,
+90,98,
+-39,-228,
+-119,-73,
+60,-64,
+154,-111,
+-44,-138,
+83,-30,
+33,-64,
+144,-265,
+-38,-147,
+-14,38,
+-76,-96,
+-138,-19,
+-86,91,
+90,-10,
+76,-182,
+-21,-142,
+-4,-56,
+-82,-151,
+23,-1,
+-39,-125,
+139,-61,
+109,-91,
+28,-57,
+-57,44,
+95,70,
+-1,-5,
+122,150,
+-73,43,
+41,0,
+77,209,
+113,136,
+-44,-20,
+-114,3,
+277,61,
+179,74,
+-101,208,
+85,-101,
+-152,-91,
+-140,110,
+205,-176,
+-44,-122,
+95,-135,
+141,-62,
+376,97,
+104,38,
+-88,11,
+-273,119,
+2,80,
+-205,-59,
+-51,-296,
+-167,-52,
+5,-91,
+-154,-149,
+-113,185,
+65,-38,
+-240,42,
+-61,221,
+257,-135,
+125,-115,
+262,-92,
+-42,141,
+52,-179,
+-82,-133,
+32,142,
+42,203,
+-73,-14,
+-94,-31,
+70,-116,
+-48,-6,
+-1,247,
+-36,-80,
+29,-45,
+228,-94,
+-150,206,
+194,-155,
+-159,218,
+43,-59,
+-163,-322,
+-8,18,
+195,231,
+-135,-29,
+11,-212,
+-10,2,
+-73,-33,
+-62,19,
+-16,-48,
+262,-126,
+-94,49,
+21,-7,
+4,59,
+-17,-50,
+68,-110,
+-95,35,
+151,-120,
+-35,92,
+236,54,
+-3,-119,
+116,146,
+-69,-143,
+29,-311,
+-26,66,
+104,-117,
+-51,-60,
+-183,32,
+137,119,
+-21,-113,
+-140,-73,
+-27,253,
+19,143,
+-25,48,
+-18,-137,
+-3,6,
+303,99,
+69,82,
+-43,-85,
+37,25,
+-250,247,
+65,-142,
+39,-87,
+129,135,
+-109,-53,
+18,25,
+19,-152,
+145,-173,
+176,124,
+22,37,
+-166,-304,
+-108,-9,
+-151,28,
+299,240,
+-45,156,
+206,-38,
+108,-117,
+43,100,
+49,121,
+-34,68,
+184,44,
+2,-224,
+-120,-112,
+-99,76,
+-239,236,
+73,-74,
+-51,-63,
+180,-11,
+-63,-211,
+-8,-18,
+34,52,
+-79,-50,
+-82,-124,
+45,-38,
+52,-125,
+-89,224,
+-13,-135,
+-102,107,
+22,320,
+64,-45,
+32,-47,
+-79,38,
+144,24,
+-83,-85,
+-92,-3,
+-68,-191,
+59,-124,
+15,-59,
+-226,21,
+-36,19,
+-11,-33,
+-34,14,
+-31,-289,
+123,-83,
+222,34,
+165,239,
+-50,-154,
+-140,-112,
+-8,-29,
+197,196,
+-26,53,
+-157,127,
+156,418,
+48,-174,
+334,-232,
+389,70,
+-52,-60,
+-151,89,
+-16,147,
+-25,-2,
+-6,34,
+-116,-16,
+-135,149,
+62,2,
+-232,-280,
+-62,-273,
+-131,-42,
+-86,-76,
+-58,159,
+111,276,
+-193,-147,
+268,99,
+-27,29,
+-34,106,
+-148,-123,
+24,-73,
+-23,20,
+21,-77,
+-121,-188,
+-82,-163,
+27,77,
+125,200,
+-128,-118,
+3,63,
+-115,199,
+-20,-37,
+-13,-62,
+-118,189,
+203,-128,
+-14,-86,
+5,-134,
+-31,-260,
+-87,115,
+8,-141,
+-248,-24,
+-191,49,
+134,-104,
+-129,-41,
+9,-91,
+165,137,
+-94,-32,
+-40,125,
+-17,-77,
+222,94,
+0,-54,
+101,54,
+54,0,
+83,5,
+74,-177,
+104,-34,
+-191,148,
+10,-48,
+-214,54,
+-100,-58,
+92,259,
+6,0,
+-86,197,
+132,57,
+-126,-15,
+-103,238,
+65,-109,
+4,-44,
+-152,7,
+-7,-82,
+-27,58,
+50,178,
+-169,-56,
+166,178,
+149,136,
+106,-77,
+-86,122,
+-115,-121,
+195,-214,
+-35,-23,
+9,-69,
+224,20,
+-57,125,
+-94,6,
+-291,-273,
+106,-105,
+-110,159,
+84,46,
+0,140,
+-13,189,
+-125,223,
+-80,-13,
+166,-8,
+153,178,
+64,-46,
+161,-2,
+-117,-128,
+38,-234,
+-83,195,
+191,-174,
+-202,-33,
+128,164,
+87,-34,
+-249,92,
+78,-123,
+310,-19,
+-239,29,
+22,-33,
+30,-96,
+-89,69,
+34,3,
+146,-27,
+-105,21,
+-104,-168,
+-118,-147,
+-182,73,
+-5,246,
+52,117,
+2,-81,
+124,-135,
+-147,-106,
+6,111,
+-17,-28,
+24,-85,
+14,119,
+-35,-40,
+87,102,
+192,-53,
+181,-97,
+118,24,
+-49,56,
+-263,9,
+136,-63,
+275,-293,
+106,-81,
+-153,-81,
+56,63,
+18,-68,
+-99,11,
+-160,34,
+91,-186,
+131,-261,
+-113,208,
+-209,-59,
+181,101,
+193,29,
+34,30,
+-75,121,
+38,94,
+-145,165,
+-122,-199,
+116,129,
+-79,262,
+118,168,
+-133,-84,
+-10,-53,
+-67,164,
+-68,331,
+36,110,
+-177,29,
+50,-12,
+4,1,
+100,-36,
+3,-127,
+167,62,
+-215,-194,
+-48,205,
+-53,271,
+-184,-9,
+-9,87,
+-277,2,
+-92,77,
+140,-41,
+64,-40,
+59,-180,
+190,-55,
+-15,-8,
+-43,73,
+166,108,
+117,-131,
+6,1,
+-27,138,
+-79,25,
+-118,-220,
+58,121,
+93,110,
+-22,-98,
+-26,43,
+-42,-69,
+-4,164,
+96,-49,
+15,-146,
+302,-66,
+166,79,
+-10,-87,
+68,1,
+-84,42,
+37,-14,
+371,-76,
+-67,51,
+-77,-20,
+-109,170,
+47,71,
+-47,69,
+150,266,
+164,-31,
+-45,-42,
+-71,6,
+-168,-102,
+30,215,
+-139,-175,
+111,59,
+-53,64,
+365,142,
+-11,1,
+97,236,
+28,-288,
+-64,139,
+28,-36,
+159,92,
+-25,-20,
+-13,-97,
+154,-38,
+-298,-38,
+158,-66,
+-107,119,
+191,-154,
+126,-12,
+-11,-9,
+13,201,
+-27,110,
+-8,150,
+124,-83,
+187,58,
+88,-50,
+55,191,
+138,165,
+164,132,
+-320,122,
+-2,-30,
+-81,59,
+-111,-179,
+-1,82,
+-94,40,
+-139,-25,
+-41,-160,
+147,-194,
+36,32,
+-75,-34,
+7,-317,
+140,83,
+-174,19,
+60,22,
+93,37,
+-77,165,
+8,-51,
+215,174,
+-10,-119,
+141,145,
+-27,-26,
+-129,-15,
+-237,202,
+-2,87,
+65,-200,
+160,-199,
+-122,-95,
+9,59,
+-62,-96,
+-110,51,
+-223,-23,
+3,-79,
+20,-138,
+51,-94,
+3,100,
+-21,-126,
+-62,99,
+38,166,
+109,-42,
+-287,-159,
+84,156,
+-23,-63,
+149,0,
+-105,-7,
+3,-41,
+-295,41,
+11,48,
+-115,20,
+107,29,
+86,-140,
+-157,15,
+-28,0,
+-281,12,
+-190,108,
+-40,133,
+-167,-58,
+23,9,
+113,72,
+-11,223,
+25,105,
+50,180,
+199,133,
+-85,-113,
+70,214,
+88,88,
+-33,48,
+-6,-7,
+63,-9,
+70,48,
+-36,31,
+22,169,
+105,150,
+49,67,
+204,-49,
+17,69,
+8,-38,
+17,101,
+85,-38,
+-265,0,
+-203,179,
+-71,338,
+-208,-218,
+-152,33,
+97,65,
+6,220,
+207,-128,
+-167,-27,
+-48,115,
+96,-137,
+-186,-9,
+68,97,
+-216,8,
+115,114,
+107,27,
+-1,-53,
+-57,-29,
+22,-151,
+-29,-126,
+160,-28,
+94,150,
+-41,-92,
+94,189,
+-123,-88,
+145,96,
+-146,78,
+-138,-116,
+-67,240,
+50,-143,
+-2,-12,
+-68,-55,
+146,7,
+-319,37,
+8,12,
+234,1,
+144,-151,
+-28,200,
+45,167,
+-163,-32,
+11,-23,
+-233,121,
+52,96,
+-246,-48,
+-31,97,
+62,-166,
+-53,100,
+51,29,
+73,22,
+92,25,
+-197,-149,
+27,31,
+-41,-15,
+72,78,
+75,-42,
+-142,-98,
+27,-69,
+137,-19,
+27,227,
+21,57,
+-99,21,
+111,5,
+101,-68,
+-29,-13,
+0,-48,
+-86,30,
+-155,-12,
+-12,-218,
+65,22,
+43,277,
+199,-61,
+-39,194,
+-120,-123,
+-82,102,
+100,-22,
+-127,20,
+116,130,
+-1,16,
+-45,36,
+126,-78,
+69,-55,
+102,23,
+-69,-148,
+18,-45,
+209,245,
+42,80,
+176,-97,
+108,51,
+-99,-129,
+11,-20,
+-100,122,
+-61,-22,
+69,49,
+-190,-146,
+101,-52,
+-41,-43,
+-22,53,
+-9,-57,
+184,84,
+-1,-91,
+-188,-150,
+190,-191,
+-19,98,
+61,49,
+-209,143,
+-127,67,
+219,147,
+203,-29,
+116,157,
+-322,85,
+-11,-239,
+107,-85,
+-34,-81,
+-71,92,
+42,-13,
+55,119,
+121,210,
+-42,161,
+91,36,
+73,79,
+30,-134,
+-203,-145,
+111,-11,
+-124,-27,
+-27,-6,
+83,-97,
+6,-43,
+-39,-18,
+76,-144,
+62,-57,
+-40,0,
+16,-49,
+97,171,
+-88,59,
+-196,121,
+125,-166,
+108,-155,
+17,-210,
+111,110,
+-151,-92,
+21,-67,
+175,148,
+-25,-164,
+-44,-99,
+44,-23,
+-24,-135,
+34,45,
+52,-109,
+-5,-53,
+-9,67,
+-14,-67,
+-4,-137,
+-85,56,
+-9,87,
+44,-67,
+53,-59,
+114,-139,
+68,-77,
+-3,155,
+15,40,
+-34,-68,
+56,128,
+-136,-4,
+151,-33,
+-17,-67,
+60,109,
+303,173,
+104,-63,
+103,-43,
+-55,-167,
+-19,-8,
+147,97,
+149,-81,
+-2,49,
+14,19,
+-37,97,
+24,99,
+-14,-50,
+92,142,
+-23,45,
+117,116,
+59,124,
+208,96,
+45,-17,
+-94,109,
+-56,-7,
+-189,128,
+-14,19,
+-182,-219,
+24,-166,
+13,-78,
+58,-53,
+26,-53,
+-60,-17,
+-4,63,
+-36,-132,
+-23,70,
+64,-142,
+72,-137,
+-38,-38,
+146,107,
+107,69,
+99,-11,
+17,70,
+64,59,
+247,98,
+-142,-106,
+-253,-54,
+0,-105,
+25,84,
+105,-154,
+-19,-6,
+-8,-54,
+-34,-29,
+-37,222,
+-102,-26,
+33,28,
+111,72,
+-291,114,
+-152,52,
+88,-148,
+9,135,
+-114,-92,
+-86,42,
+-173,-106,
+45,131,
+80,66,
+-64,55,
+-177,6,
+22,164,
+106,12,
+-106,86,
+-90,-12,
+0,27,
+-11,105,
+-115,133,
+85,-170,
+-85,88,
+-5,52,
+119,23,
+139,57,
+65,182,
+96,-94,
+126,-69,
+1,-90,
+74,-20,
+-73,-124,
+-49,-42,
+-157,1,
+-81,-28,
+-54,-34,
+-118,50,
+-17,65,
+9,-34,
+-36,-15,
+18,-14,
+-73,-22,
+-7,-72,
+-8,50,
+-20,-21,
+27,-60,
+84,-32,
+-36,-118,
+-59,-82,
+40,-77,
+-63,-166,
+-112,47,
+-49,-19,
+-2,60,
+-201,83,
+47,117,
+87,51,
+80,125,
+12,143,
+109,-59,
+-56,-1,
+22,-20,
+-26,-1,
+163,-101,
+31,51,
+-18,-92,
+22,-112,
+142,100,
+-2,46,
+114,-200,
+9,-52,
+75,129,
+59,-69,
+51,-43,
+-179,-137,
+145,-115,
+-65,56,
+-4,61,
+-39,-193,
+151,-140,
+66,-22,
+-55,91,
+132,-74,
+17,-92,
+93,25,
+-46,-37,
+-126,10,
+48,32,
+-97,122,
+27,-103,
+-122,-177,
+-24,-64,
+7,77,
+126,190,
+7,-46,
+10,39,
+60,211,
+85,-4,
+-24,45,
+-149,48,
+-32,30,
+-80,-2,
+46,-15,
+-70,-48,
+45,1,
+-46,-8,
+-70,40,
+-32,63,
+-165,-75,
+-151,-19,
+3,-158,
+78,-14,
+73,-146,
+-31,-34,
+98,62,
+19,84,
+97,158,
+107,-18,
+69,72,
+-1,8,
+115,37,
+-39,-28,
+85,26,
+115,-46,
+-111,40,
+54,107,
+39,90,
+-43,11,
+-56,-28,
+-108,0,
+22,209,
+65,102,
+129,100,
+-46,45,
+-102,-44,
+127,93,
+-25,-115,
+-4,52,
+73,6,
+27,-29,
+-3,68,
+-79,88,
+-121,27,
+18,33,
+59,6,
+-10,-67,
+-52,-26,
+-39,43,
+-12,-63,
+8,21,
+-37,63,
+-103,-37,
+65,38,
+-99,19,
+-122,-68,
+42,41,
+-57,90,
+16,-13,
+2,-19,
+-73,-30,
+8,88,
+-210,64,
+-53,31,
+22,-49,
+134,-126,
+-4,81,
+69,47,
+-42,-83,
+-65,77,
+-30,60,
+-69,-71,
+-16,49,
+-27,53,
+-69,-80,
+43,35,
+-38,-63,
+-105,-12,
+-41,-66,
+-10,105,
+76,9,
+77,28,
+135,18,
+79,86,
+15,1,
+-12,-47,
+59,-8,
+-172,69,
+-65,-49,
+28,-109,
+62,-58,
+58,260,
+2,43,
+124,-61,
+18,-59,
+88,-100,
+8,150,
+-64,-22,
+-150,-31,
+12,-24,
+-21,91,
+29,40,
+-15,-78,
+7,64,
+-69,-57,
+-21,17,
+-66,-69,
+86,13,
+13,-30,
+-26,-81,
+5,36,
+-71,19,
+6,67,
+52,121,
+86,13,
+26,68,
+-88,-17,
+-35,-32,
+30,151,
+-66,-6,
+-22,-18,
+97,62,
+-10,-36,
+40,30,
+38,-19,
+-66,2,
+99,-103,
+-70,24,
+118,53,
+53,74,
+39,10,
+-81,-15,
+-73,-57,
+63,-62,
+-17,-14,
+-71,21,
+42,24,
+-37,46,
+-17,13,
+110,-81,
+30,86,
+44,59,
+-44,-37,
+-70,6,
+-2,-18,
+23,32,
+24,46,
+-50,-87,
+18,-4,
+-70,-22,
+35,79,
+72,-7,
+-67,4,
+45,13,
+-44,-34,
+20,-45,
+35,-108,
+67,51,
+-23,-148,
+-13,25,
+106,-19,
+42,-19,
+-5,82,
+-56,131,
+38,-67,
+7,-39,
+0,-52,
+-1,61,
+-70,-44,
+51,19,
+-44,4,
+89,-114,
+-33,-3,
+5,-18,
+90,48,
+-75,-63,
+86,55,
+6,29,
+-1,25,
+-58,63,
+-45,-48,
+-54,-14,
+6,24,
+22,32,
+1,6,
+61,27,
+16,-138,
+-28,72,
+2,-35,
+-11,-44,
+10,29,
+-19,-38,
+8,104,
+139,-7,
+-99,-66,
+5,-62,
+69,-50,
+121,-88,
+-27,-79,
+4,-13,
+15,59,
+26,-42,
+-25,42,
+29,53,
+-2,48,
+66,14,
+73,30,
+17,-18,
+-7,10,
+34,57,
+-25,-32,
+0,-4,
+99,53,
+-6,-13,
+35,16,
+12,27,
+63,65,
+76,-33,
+40,28,
+64,34,
+-24,-16,
+-1,-11,
+35,-65,
+47,-57,
+5,-61,
+2,-97,
+-13,31,
+-10,-11,
+-40,10,
+43,46,
+17,-104,
+-19,-14,
+26,-62,
+-13,14,
+-39,-11,
+53,81,
+-21,-74,
+-14,-6,
+-17,-23,
+45,36,
+25,-17,
+3,-22,
+-34,17,
+25,1,
+-64,25,
+-49,-21,
+36,-50,
+-22,-60,
+-6,7,
+-1,-33,
+-4,7,
+-96,2,
+-42,61,
+33,-25,
+34,-63,
+24,-56,
+-1,24,
+-16,-8,
+66,54,
+-52,25,
+56,15,
+25,-14,
+10,18,
+-1,6,
+46,-10,
+-43,-17,
+-28,51,
+-46,-40,
+4,-2,
+-24,66,
+-77,-19,
+-3,-62,
+40,15,
+-29,-35,
+8,-30,
+-34,17,
+27,-68,
+13,-19,
+42,-6,
+56,64,
+25,8,
+29,22,
+-33,56,
+24,27,
+4,3,
+54,-4,
+32,-12,
+24,20,
+-40,24,
+8,20,
+-18,53,
+19,-77,
+-22,40,
+-20,-35,
+-2,11,
+-17,21,
+4,6,
+50,17,
+-57,-1,
+32,-7,
+-29,6,
+53,58,
+11,-1,
+28,73,
+-13,-36,
+15,5,
+-27,-21,
+49,-8,
+-37,-49,
+-20,12,
+41,36,
+5,16,
+44,13,
+26,-10,
+-3,-4,
+39,-47,
+-13,32,
+-16,29,
+6,40,
+9,-14,
+-18,-20,
+9,35,
+-3,25,
+-11,31,
+-25,55,
+-4,-22,
+3,8,
+35,12,
+-39,-31,
+5,5,
+29,30,
+-5,-8,
+-13,-14,
+-10,-7,
+28,-16,
+-2,1,
+-12,37,
+0,12,
+28,-4,
+-1,12,
+-26,12,
+-10,21,
+-23,20,
+1,7,
+5,-11,
+18,-24,
+-15,-45,
+27,10,
+34,-21,
+16,-31,
+8,11,
+-35,-18,
+12,28,
+-16,4,
+-6,9,
+11,-11,
+-6,2,
+23,-25,
+44,7,
+29,-7,
+-13,-23,
+-8,13,
+21,-18,
+43,19,
+4,-4,
+-4,-8,
+-7,-17,
+39,-7,
+0,4,
+6,-7,
+17,32,
+-12,19,
+23,-22,
+-3,-21,
+-11,22,
+-32,7,
+3,-18,
+6,-14,
+-9,8,
+-1,-5,
+9,-5,
+-32,2,
+-13,37,
+-17,10,
+1,-20,
+12,-16,
+-4,22,
+-9,16,
+1,14,
+-3,16,
+13,-5,
+-4,-6,
+1,12,
+-2,-3,
+1,-13,
+2,12,
+-20,-13,
+-6,11,
+14,10,
+17,-14,
+8,-6,
+-12,-7,
+-12,-20,
+-3,2,
+3,10,
+-1,-4,
+1,-1,
+1,7,
+-8,-15,
+3,4,
+0,8,
+-6,5,
+-6,-7,
+16,-2,
+-4,6,
+-1,2,
+5,-10,
+-13,15,
+6,-12,
+-11,1,
+-9,4,
+12,6,
+-1,6,
+0,8,
+5,-1,
+4,-9,
+11,0,
+5,4,
+3,-4,
+2,5,
+0,-5,
+-10,-2,
+-3,-10,
+9,4,
+-2,3,
+-2,1,
+1,1,
+-6,0,
+-4,2,
+3,-4,
+1,1,
+-2,6,
+6,-1,
+1,0,
+-3,-1,
+6,1,
+-2,-1,
+-4,-1,
+4,0,
+-2,0,
+-3,-1,
+6,0,
+-3,0,
+-3,0,
+6,0,
+-3,0,
+-3,0,
+6,0,
+-3,1,
+-2,0,
+4,0,
+-4,1,
+-2,1,
+6,-1,
+-3,1,
+1,0,
+6,1,
+-2,-6,
+1,-1,
+3,4,
+-4,-2,
+-6,0,
+1,-1,
+-2,-1,
+-2,-3,
+9,-4,
+-3,10,
+-10,2,
+0,5,
+2,-5,
+3,4,
+5,-4,
+11,0,
+4,9,
+5,1,
+0,-8,
+-1,-6,
+12,-6,
+-9,-4,
+-11,-1,
+6,12,
+-13,-15,
+5,10,
+-1,-2,
+-4,-6,
+16,2,
+-6,7,
+-6,-5,
+0,-8,
+3,-4,
+-8,15,
+1,-7,
+1,1,
+-1,4,
+3,-10,
+-3,-2,
+-12,20,
+-12,7,
+8,6,
+17,14,
+14,-10,
+-6,-11,
+-20,13,
+2,-12,
+1,13,
+-2,3,
+1,-12,
+-4,6,
+13,5,
+-3,-16,
+1,-14,
+-9,-16,
+-4,-22,
+12,16,
+1,20,
+-17,-10,
+-13,-37,
+-32,-2,
+9,5,
+-1,5,
+-9,-8,
+6,14,
+3,18,
+-32,-7,
+-11,-22,
+-3,21,
+23,22,
+-12,-19,
+17,-32,
+6,7,
+0,-4,
+39,7,
+-7,17,
+-4,8,
+4,4,
+43,-19,
+21,18,
+-8,-13,
+-13,23,
+29,7,
+44,-7,
+23,25,
+-6,-2,
+11,11,
+-6,-9,
+-16,-4,
+12,-28,
+-35,18,
+8,-11,
+16,31,
+34,21,
+27,-10,
+-15,45,
+18,24,
+5,11,
+1,-7,
+-23,-20,
+-10,-21,
+-26,-12,
+-1,-12,
+28,4,
+0,-12,
+-12,-37,
+-2,-1,
+28,16,
+-10,7,
+-13,14,
+-5,8,
+29,-30,
+5,-5,
+-39,31,
+35,-12,
+3,-8,
+-4,22,
+-25,-55,
+-11,-31,
+-3,-25,
+9,-35,
+-18,20,
+9,14,
+6,-40,
+-16,-29,
+-13,-32,
+39,47,
+-3,4,
+26,10,
+44,-13,
+5,-16,
+41,-36,
+-20,-12,
+-37,49,
+49,8,
+-27,21,
+15,-5,
+-13,36,
+28,-73,
+11,1,
+53,-58,
+-29,-6,
+32,7,
+-57,1,
+50,-17,
+4,-6,
+-17,-21,
+-2,-11,
+-20,35,
+-22,-40,
+19,77,
+-18,-53,
+8,-20,
+-40,-24,
+24,-20,
+32,12,
+54,4,
+4,-3,
+24,-27,
+-33,-56,
+29,-22,
+25,-8,
+56,-64,
+42,6,
+13,19,
+27,68,
+-34,-17,
+8,30,
+-29,35,
+40,-15,
+-3,62,
+-77,19,
+-24,-66,
+4,2,
+-46,40,
+-28,-51,
+-43,17,
+46,10,
+-1,-6,
+10,-18,
+25,14,
+56,-15,
+-52,-25,
+66,-54,
+-16,8,
+-1,-24,
+24,56,
+34,63,
+33,25,
+-42,-61,
+-96,-2,
+-4,-7,
+-1,33,
+-6,-7,
+-22,60,
+36,50,
+-49,21,
+-64,-25,
+25,-1,
+-34,-17,
+3,22,
+25,17,
+45,-36,
+-17,23,
+-14,6,
+-21,74,
+53,-81,
+-39,11,
+-13,-14,
+26,62,
+-19,14,
+17,104,
+43,-46,
+-40,-10,
+-10,11,
+-13,-31,
+2,97,
+5,61,
+47,57,
+35,65,
+-1,11,
+-24,16,
+64,-34,
+40,-28,
+76,33,
+63,-65,
+12,-27,
+35,-16,
+-6,13,
+99,-53,
+0,4,
+-25,32,
+34,-57,
+-7,-10,
+17,18,
+73,-30,
+66,-14,
+-2,-48,
+29,-53,
+-25,-42,
+26,42,
+15,-59,
+4,13,
+-27,79,
+121,88,
+69,50,
+5,62,
+-99,66,
+139,7,
+8,-104,
+-19,38,
+10,-29,
+-11,44,
+2,35,
+-28,-72,
+16,138,
+61,-27,
+1,-6,
+22,-32,
+6,-24,
+-54,14,
+-45,48,
+-58,-63,
+-1,-25,
+6,-29,
+86,-55,
+-75,63,
+90,-48,
+5,18,
+-33,3,
+89,114,
+-44,-4,
+51,-19,
+-70,44,
+-1,-61,
+0,52,
+7,39,
+38,67,
+-56,-131,
+-5,-82,
+42,19,
+106,19,
+-13,-25,
+-23,148,
+67,-51,
+35,108,
+20,45,
+-44,34,
+45,-13,
+-67,-4,
+72,7,
+35,-79,
+-70,22,
+18,4,
+-50,87,
+24,-46,
+23,-32,
+-2,18,
+-70,-6,
+-44,37,
+44,-59,
+30,-86,
+110,81,
+-17,-13,
+-37,-46,
+42,-24,
+-71,-21,
+-17,14,
+63,62,
+-73,57,
+-81,15,
+39,-10,
+53,-74,
+118,-53,
+-70,-24,
+99,103,
+-66,-2,
+38,19,
+40,-30,
+-10,36,
+97,-62,
+-22,18,
+-66,6,
+30,-151,
+-35,32,
+-88,17,
+26,-68,
+86,-13,
+52,-121,
+6,-67,
+-71,-19,
+5,-36,
+-26,81,
+13,30,
+86,-13,
+-66,69,
+-21,-17,
+-69,57,
+7,-64,
+-15,78,
+29,-40,
+-21,-91,
+12,24,
+-150,31,
+-64,22,
+8,-150,
+88,100,
+18,59,
+124,61,
+2,-43,
+58,-260,
+62,58,
+28,109,
+-65,49,
+-172,-69,
+59,8,
+-12,47,
+15,-1,
+79,-86,
+135,-18,
+77,-28,
+76,-9,
+-10,-105,
+-41,66,
+-105,12,
+-38,63,
+43,-35,
+-69,80,
+-27,-53,
+-16,-49,
+-69,71,
+-30,-60,
+-65,-77,
+-42,83,
+69,-47,
+-4,-81,
+134,126,
+22,49,
+-53,-31,
+-210,-64,
+8,-88,
+-73,30,
+2,19,
+16,13,
+-57,-90,
+42,-41,
+-122,68,
+-99,-19,
+65,-38,
+-103,37,
+-37,-63,
+8,-21,
+-12,63,
+-39,-43,
+-52,26,
+-10,67,
+59,-6,
+18,-33,
+-121,-27,
+-79,-88,
+-3,-68,
+27,29,
+73,-6,
+-4,-52,
+-25,115,
+127,-93,
+-102,44,
+-46,-45,
+129,-100,
+65,-102,
+22,-209,
+-108,0,
+-56,28,
+-43,-11,
+39,-90,
+54,-107,
+-111,-40,
+115,46,
+85,-26,
+-39,28,
+115,-37,
+-1,-8,
+69,-72,
+107,18,
+97,-158,
+19,-84,
+98,-62,
+-31,34,
+73,146,
+78,14,
+3,158,
+-151,19,
+-165,75,
+-32,-63,
+-70,-40,
+-46,8,
+45,-1,
+-70,48,
+46,15,
+-80,2,
+-32,-30,
+-149,-48,
+-24,-45,
+85,4,
+60,-211,
+10,-39,
+7,46,
+126,-190,
+7,-77,
+-24,64,
+-122,177,
+27,103,
+-97,-122,
+48,-32,
+-126,-10,
+-46,37,
+93,-25,
+17,92,
+132,74,
+-55,-91,
+66,22,
+151,140,
+-39,193,
+-4,-61,
+-65,-56,
+145,115,
+-179,137,
+51,43,
+59,69,
+75,-129,
+9,52,
+114,200,
+-2,-46,
+142,-100,
+22,112,
+-18,92,
+31,-51,
+163,101,
+-26,1,
+22,20,
+-56,1,
+109,59,
+12,-143,
+80,-125,
+87,-51,
+47,-117,
+-201,-83,
+-2,-60,
+-49,19,
+-112,-47,
+-63,166,
+40,77,
+-59,82,
+-36,118,
+84,32,
+27,60,
+-20,21,
+-8,-50,
+-7,72,
+-73,22,
+18,14,
+-36,15,
+9,34,
+-17,-65,
+-118,-50,
+-54,34,
+-81,28,
+-157,-1,
+-49,42,
+-73,124,
+74,20,
+1,90,
+126,69,
+96,94,
+65,-182,
+139,-57,
+119,-23,
+-5,-52,
+-85,-88,
+85,170,
+-115,-133,
+-11,-105,
+0,-27,
+-90,12,
+-106,-86,
+106,-12,
+22,-164,
+-177,-6,
+-64,-55,
+80,-66,
+45,-131,
+-173,106,
+-86,-42,
+-114,92,
+9,-135,
+88,148,
+-152,-52,
+-291,-114,
+111,-72,
+33,-28,
+-102,26,
+-37,-222,
+-34,29,
+-8,54,
+-19,6,
+105,154,
+25,-84,
+0,105,
+-253,54,
+-142,106,
+247,-98,
+64,-59,
+17,-70,
+99,11,
+107,-69,
+146,-107,
+-38,38,
+72,137,
+64,142,
+-23,-70,
+-36,132,
+-4,-63,
+-60,17,
+26,53,
+58,53,
+13,78,
+24,166,
+-182,219,
+-14,-19,
+-189,-128,
+-56,7,
+-94,-109,
+45,17,
+208,-96,
+59,-124,
+117,-116,
+-23,-45,
+92,-142,
+-14,50,
+24,-99,
+-37,-97,
+14,-19,
+-2,-49,
+149,81,
+147,-97,
+-19,8,
+-55,167,
+103,43,
+104,63,
+303,-173,
+60,-109,
+-17,67,
+151,33,
+-136,4,
+56,-128,
+-34,68,
+15,-40,
+-3,-155,
+68,77,
+114,139,
+53,59,
+44,67,
+-9,-87,
+-85,-56,
+-4,137,
+-14,67,
+-9,-67,
+-5,53,
+52,109,
+34,-45,
+-24,135,
+44,23,
+-44,99,
+-25,164,
+175,-148,
+21,67,
+-151,92,
+111,-110,
+17,210,
+108,155,
+125,166,
+-196,-121,
+-88,-59,
+97,-171,
+16,49,
+-40,0,
+62,57,
+76,144,
+-39,18,
+6,43,
+83,97,
+-27,6,
+-124,27,
+111,11,
+-203,145,
+30,134,
+73,-79,
+91,-36,
+-42,-161,
+121,-210,
+55,-119,
+42,13,
+-71,-92,
+-34,81,
+107,85,
+-11,239,
+-322,-85,
+116,-157,
+203,29,
+219,-147,
+-127,-67,
+-209,-143,
+61,-49,
+-19,-98,
+190,191,
+-188,150,
+-1,91,
+184,-84,
+-9,57,
+-22,-53,
+-41,43,
+101,52,
+-190,146,
+69,-49,
+-61,22,
+-100,-122,
+11,20,
+-99,129,
+108,-51,
+176,97,
+42,-80,
+209,-245,
+18,45,
+-69,148,
+102,-23,
+69,55,
+126,78,
+-45,-36,
+-1,-16,
+116,-130,
+-127,-20,
+100,22,
+-82,-102,
+-120,123,
+-39,-194,
+199,61,
+43,-277,
+65,-22,
+-12,218,
+-155,12,
+-86,-30,
+0,48,
+-29,13,
+101,68,
+111,-5,
+-99,-21,
+21,-57,
+27,-227,
+137,19,
+27,69,
+-142,98,
+75,42,
+72,-78,
+-41,15,
+27,-31,
+-197,149,
+92,-25,
+73,-22,
+51,-29,
+-53,-100,
+62,166,
+-31,-97,
+-246,48,
+52,-96,
+-233,-121,
+11,23,
+-163,32,
+45,-167,
+-28,-200,
+144,151,
+234,-1,
+8,-12,
+-319,-37,
+146,-7,
+-68,55,
+-2,12,
+50,143,
+-67,-240,
+-138,116,
+-146,-78,
+145,-96,
+-123,88,
+94,-189,
+-41,92,
+94,-150,
+160,28,
+-29,126,
+22,151,
+-57,29,
+-1,53,
+107,-27,
+115,-114,
+-216,-8,
+68,-97,
+-186,9,
+96,137,
+-48,-115,
+-167,27,
+207,128,
+6,-220,
+97,-65,
+-152,-33,
+-208,218,
+-71,-338,
+-203,-179,
+-265,0,
+85,38,
+17,-101,
+8,38,
+17,-69,
+204,49,
+49,-67,
+105,-150,
+22,-169,
+-36,-31,
+70,-48,
+63,9,
+-6,7,
+-33,-48,
+88,-88,
+70,-214,
+-85,113,
+199,-133,
+50,-180,
+25,-105,
+-11,-223,
+113,-72,
+23,-9,
+-167,58,
+-40,-133,
+-190,-108,
+-281,-12,
+-28,0,
+-157,-15,
+86,140,
+107,-29,
+-115,-20,
+11,-48,
+-295,-41,
+3,41,
+-105,7,
+149,0,
+-23,63,
+84,-156,
+-287,159,
+109,42,
+38,-166,
+-62,-99,
+-21,126,
+3,-100,
+51,94,
+20,138,
+3,79,
+-223,23,
+-110,-51,
+-62,96,
+9,-59,
+-122,95,
+160,199,
+65,200,
+-2,-87,
+-237,-202,
+-129,15,
+-27,26,
+141,-145,
+-10,119,
+215,-174,
+8,51,
+-77,-165,
+93,-37,
+60,-22,
+-174,-19,
+140,-83,
+7,317,
+-75,34,
+36,-32,
+147,194,
+-41,160,
+-139,25,
+-94,-40,
+-1,-82,
+-111,179,
+-81,-59,
+-2,30,
+-320,-122,
+164,-132,
+138,-165,
+55,-191,
+88,50,
+187,-58,
+124,83,
+-8,-150,
+-27,-110,
+13,-201,
+-11,9,
+126,12,
+191,154,
+-107,-119,
+158,66,
+-298,38,
+154,38,
+-13,97,
+-25,20,
+159,-92,
+28,36,
+-64,-139,
+28,288,
+97,-236,
+-11,-1,
+365,-142,
+-53,-64,
+111,-59,
+-139,175,
+30,-215,
+-168,102,
+-71,-6,
+-45,42,
+164,31,
+150,-266,
+-47,-69,
+47,-71,
+-109,-170,
+-77,20,
+-67,-51,
+371,76,
+37,14,
+-84,-42,
+68,-1,
+-10,87,
+166,-79,
+302,66,
+15,146,
+96,49,
+-4,-164,
+-42,69,
+-26,-43,
+-22,98,
+93,-110,
+58,-121,
+-118,220,
+-79,-25,
+-27,-138,
+6,-1,
+117,131,
+166,-108,
+-43,-73,
+-15,8,
+190,55,
+59,180,
+64,40,
+140,41,
+-92,-77,
+-277,-2,
+-9,-87,
+-184,9,
+-53,-271,
+-48,-205,
+-215,194,
+167,-62,
+3,127,
+100,36,
+4,-1,
+50,12,
+-177,-29,
+36,-110,
+-68,-331,
+-67,-164,
+-10,53,
+-133,84,
+118,-168,
+-79,-262,
+116,-129,
+-122,199,
+-145,-165,
+38,-94,
+-75,-121,
+34,-30,
+193,-29,
+181,-101,
+-209,59,
+-113,-208,
+131,261,
+91,186,
+-160,-34,
+-99,-11,
+18,68,
+56,-63,
+-153,81,
+106,81,
+275,293,
+136,63,
+-263,-9,
+-49,-56,
+118,-24,
+181,97,
+192,53,
+87,-102,
+-35,40,
+14,-119,
+24,85,
+-17,28,
+6,-111,
+-147,106,
+124,135,
+2,81,
+52,-117,
+-5,-246,
+-182,-73,
+-118,147,
+-104,168,
+-105,-21,
+146,27,
+34,-3,
+-89,-69,
+30,96,
+22,33,
+-239,-29,
+310,19,
+78,123,
+-249,-92,
+87,34,
+128,-164,
+-202,33,
+191,174,
+-83,-195,
+38,234,
+-117,128,
+161,2,
+64,46,
+153,-178,
+166,8,
+-80,13,
+-125,-223,
+-13,-189,
+0,-140,
+84,-46,
+-110,-159,
+106,105,
+-291,273,
+-94,-6,
+-57,-125,
+224,-20,
+9,69,
+-35,23,
+195,214,
+-115,121,
+-86,-122,
+106,77,
+149,-136,
+166,-178,
+-169,56,
+50,-178,
+-27,-58,
+-7,82,
+-152,-7,
+4,44,
+65,109,
+-103,-238,
+-126,15,
+132,-57,
+-86,-197,
+11,0,
+-84,11,
+-9,-205,
+-35,-287,
+-77,-101,
+-56,-77,
+106,142,
+-68,-209,
+58,-83,
+13,49,
+-55,-110,
+-77,-191,
+74,34,
+-116,58,
+-96,289,
+134,320,
+65,-14,
+166,77,
+39,140,
+-42,-117,
+-81,-149,
+242,14,
+-38,157,
+29,-12,
+-18,-86,
+33,-88,
+-157,62,
+44,-261,
+130,-191,
+-233,-82,
+133,115,
+-92,-104,
+55,197,
+-114,-2,
+23,-1,
+107,-53,
+-37,-191,
+-173,74,
+-92,-37,
+292,-19,
+-30,-113,
+-63,-13,
+215,218,
+157,139,
+19,-253,
+-96,-21,
+223,-89,
+133,-25,
+-40,54,
+77,-110,
+-109,-74,
+-151,248,
+-140,254,
+47,15,
+17,-146,
+78,57,
+44,123,
+10,124,
+189,43,
+262,147,
+157,5,
+-128,48,
+-10,-64,
+-211,-67,
+17,112,
+172,79,
+-14,56,
+69,-89,
+108,22,
+65,147,
+68,2,
+117,19,
+170,19,
+-56,-158,
+102,354,
+-214,44,
+67,89,
+64,-73,
+82,165,
+137,-12,
+-223,-216,
+-182,-51,
+-9,-35,
+-179,82,
+116,-91,
+32,-46,
+-223,54,
+191,36,
+351,18,
+68,-80,
+-201,-151,
+-51,161,
+-89,-51,
+39,-200,
+-288,14,
+-23,-19,
+-127,71,
+64,231,
+97,18,
+46,-171,
+63,48,
+-223,-53,
+40,-85,
+4,102,
+293,-59,
+15,-17,
+40,-61,
+55,40,
+94,243,
+-187,274,
+-15,-90,
+91,76,
+-48,10,
+-110,-148,
+-3,53,
+-132,-20,
+-114,100,
+35,-124,
+100,43,
+123,-75,
+-144,104,
+41,-127,
+-141,244,
+113,14,
+22,-4,
+109,-94,
+99,-61,
+122,145,
+45,93,
+7,-27,
+-144,-107,
+305,-33,
+-3,9,
+-260,-12,
+-9,-88,
+109,-8,
+-206,130,
+-88,-189,
+89,-34,
+-87,219,
+126,-142,
+29,149,
+122,-101,
+-18,117,
+-125,116,
+161,-172,
+-157,284,
+224,-128,
+40,198,
+131,-109,
+-25,121,
+116,109,
+26,239,
+-63,14,
+-71,65,
+-45,19,
+3,-161,
+130,101,
+127,-166,
+247,14,
+186,180,
+-17,84,
+8,83,
+-61,-63,
+-53,74,
+-166,-78,
+-188,119,
+-124,70,
+-59,-67,
+-158,10,
+-14,219,
+-80,106,
+-259,-77,
+55,51,
+-94,0,
+31,353,
+95,44,
+-46,-72,
+53,56,
+137,-76,
+22,-185,
+-176,57,
+177,303,
+-57,-32,
+-63,163,
+-271,103,
+85,33,
+-23,102,
+64,-18,
+241,-67,
+-76,-112,
+76,113,
+235,10,
+-177,110,
+25,44,
+136,81,
+-17,276,
+-64,77,
+0,68,
+25,-232,
+-50,87,
+99,-127,
+-45,146,
+78,-283,
+64,-130,
+11,-100,
+-67,-25,
+-23,-218,
+107,10,
+168,-126,
+-22,6,
+-142,126,
+-58,-10,
+-8,-64,
+206,-114,
+236,-46,
+-136,123,
+-39,-15,
+83,-202,
+-79,18,
+125,-12,
+167,-109,
+83,58,
+40,36,
+32,-59,
+-100,4,
+-17,84,
+43,-45,
+-11,-158,
+266,149,
+-90,10,
+111,38,
+-115,61,
+39,-54,
+-135,185,
+-213,7,
+27,-45,
+-38,-193,
+-118,-75,
+110,-154,
+-160,117,
+-236,58,
+-148,-73,
+-138,-31,
+5,141,
+95,-191,
+-8,52,
+-92,-38,
+-183,59,
+-79,-34,
+-45,-44,
+-116,-209,
+233,-180,
+17,24,
+-84,-147,
+-193,-122,
+11,-89,
+50,-127,
+-128,82,
+-54,-61,
+13,-32,
+-64,-124,
+-334,-130,
+-54,135,
+-14,-111,
+108,138,
+90,-59,
+-23,12,
+212,68,
+142,111,
+68,196,
+21,25,
+-185,-266,
+-49,165,
+-247,26,
+-75,120,
+264,9,
+-81,-97,
+9,98,
+153,179,
+-188,-46,
+-62,142,
+187,-25,
+-84,-17,
+36,11,
+-5,137,
+-77,-36,
+20,-66,
+68,-286,
+65,-84,
+-32,179,
+2,142,
+-184,-56,
+120,145,
+4,110,
+69,65,
+43,-51,
+-88,-134,
+28,-19,
+202,32,
+18,-131,
+-78,18,
+-46,-49,
+-172,-142,
+14,31,
+2,-159,
+-252,95,
+101,157,
+-166,173,
+-14,-119,
+-83,-76,
+0,-22,
+28,-54,
+44,-24,
+-177,-21,
+56,127,
+2,-83,
+233,-126,
+69,56,
+-111,-63,
+-59,49,
+-87,94,
+-21,160,
+99,-121,
+-83,124,
+85,-265,
+-117,27,
+83,-7,
+-103,68,
+-19,114,
+-109,-44,
+48,-175,
+-37,-50,
+-13,-291,
+90,-36,
+-23,53,
+-118,155,
+39,29,
+58,8,
+-118,2,
+2,9,
+-195,178,
+254,130,
+29,2,
+80,224,
+41,-32,
+5,53,
+75,62,
+-3,119,
+49,60,
+2,159,
+40,-34,
+65,-73,
+-37,-153,
+-51,131,
+111,-39,
+-134,-38,
+-19,-184,
+82,-212,
+240,93,
+-97,-120,
+42,143,
+152,-41,
+61,-168,
+-64,17,
+17,283,
+151,-17,
+-43,-77,
+-7,-82,
+207,160,
+-171,186,
+-26,8,
+-33,168,
+-103,-43,
+-112,62,
+-204,254,
+-2,240,
+-188,106,
+4,-47,
+-30,113,
+124,17,
+35,-94,
+-9,228,
+50,145,
+61,-39,
+110,-118,
+35,117,
+95,53,
+-55,-83,
+-125,-88,
+45,80,
+45,178,
+57,-66,
+183,-61,
+22,185,
+-71,-98,
+-20,3,
+23,-105,
+143,64,
+-132,-20,
+43,-17,
+-12,135,
+8,58,
+-150,-14,
+130,-40,
+168,44,
+49,40,
+9,-72,
+14,5,
+142,-23,
+0,77,
+-118,-3,
+-122,-35,
+-81,261,
+228,-33,
+-62,43,
+-17,-26,
+-24,59,
+-103,-36,
+34,19,
+-53,-161,
+4,90,
+-65,-26,
+-67,-1,
+-158,25,
+9,0,
+69,-230,
+-36,235,
+-220,131,
+-22,-71,
+-2,58,
+-112,-53,
+111,86,
+101,-58,
+80,62,
+-49,52,
+21,162,
+-114,119,
+9,11,
+-37,-160,
+61,-57,
+-24,26,
+19,55,
+-292,47,
+18,-96,
+23,-97,
+37,-123,
+43,-121,
+80,119,
+-7,-45,
+75,148,
+-31,-2,
+107,10,
+-106,-32,
+-29,121,
+-156,-21,
+-123,50,
+26,-60,
+-44,-9,
+-32,130,
+310,18,
+89,-74,
+107,-212,
+149,-125,
+-73,74,
+-86,-50,
+80,44,
+52,220,
+-74,113,
+-123,-154,
+198,66,
+-79,-133,
+28,-61,
+93,34,
+-119,-86,
+107,-110,
+-82,249,
+-123,-81,
+-110,56,
+-70,-49,
+3,-4,
+9,-84,
+-10,-74,
+4,183,
+16,-114,
+116,-132,
+-135,90,
+-79,-117,
+-14,48,
+-7,21,
+111,-26,
+118,4,
+24,-91,
+84,251,
+97,60,
+-27,-2,
+11,82,
+24,-81,
+156,134,
+-39,-8,
+40,9,
+-45,-127,
+-39,-50,
+100,93,
+45,12,
+33,81,
+-128,97,
+-3,174,
+149,-32,
+55,-53,
+32,-13,
+-7,-44,
+-39,39,
+41,-33,
+-58,-11,
+-69,139,
+34,77,
+83,5,
+181,-59,
+6,-79,
+70,151,
+47,33,
+-26,-29,
+-107,-6,
+-62,-34,
+124,62,
+-49,30,
+108,144,
+-61,-83,
+38,14,
+140,109,
+54,33,
+132,55,
+-167,118,
+36,61,
+86,36,
+-114,-18,
+73,-121,
+-51,-38,
+-82,10,
+-42,97,
+30,-52,
+87,15,
+-180,18,
+-9,-37,
+91,-10,
+-185,-131,
+189,-144,
+20,45,
+-8,-85,
+-67,70,
+-10,-14,
+-63,-3,
+-19,70,
+-105,-19,
+21,67,
+13,-171,
+196,71,
+70,106,
+-47,-139,
+9,-8,
+-21,113,
+-234,49,
+-95,174,
+121,138,
+-4,79,
+40,-84,
+6,0,
+-90,-49,
+121,-158,
+13,-76,
+7,50,
+-17,-94,
+73,138,
+-23,-34,
+148,16,
+-63,84,
+-13,29,
+-103,-10,
+-127,112,
+-23,-115,
+6,-96,
+52,-116,
+27,92,
+-61,-42,
+-97,43,
+-38,-53,
+149,-33,
+85,-47,
+65,34,
+23,-16,
+19,155,
+-62,25,
+134,-45,
+-110,-18,
+4,-29,
+173,-131,
+13,-85,
+4,115,
+-116,-42,
+52,-94,
+2,-63,
+12,-28,
+-37,-50,
+33,50,
+-126,-79,
+53,2,
+19,-32,
+7,-77,
+-53,79,
+131,24,
+12,60,
+106,-156,
+-36,-79,
+-3,40,
+84,38,
+-81,75,
+-15,-37,
+32,41,
+14,152,
+-17,31,
+-18,-31,
+61,-74,
+57,74,
+31,-64,
+-29,17,
+0,-13,
+40,107,
+-157,-55,
+91,-67,
+16,75,
+-4,64,
+-17,68,
+63,48,
+102,-14,
+-69,-45,
+-83,-43,
+78,30,
+42,83,
+-52,13,
+-59,83,
+151,15,
+77,-10,
+9,48,
+-22,36,
+52,49,
+36,-89,
+-9,-14,
+208,-117,
+160,-26,
+-2,-150,
+49,-38,
+13,15,
+98,-115,
+54,24,
+112,8,
+5,65,
+-155,-23,
+100,35,
+112,83,
+14,-81,
+-81,27,
+-14,146,
+-5,-41,
+92,3,
+-119,88,
+-20,120,
+-116,-100,
+-106,14,
+90,-11,
+-18,8,
+-24,-21,
+-100,18,
+42,38,
+30,11,
+81,-5,
+51,46,
+51,-4,
+-16,40,
+80,13,
+5,10,
+102,118,
+43,-15,
+66,75,
+68,-157,
+-36,15,
+-4,33,
+57,-24,
+43,-28,
+72,-11,
+-77,15,
+-73,25,
+-139,-12,
+-10,-31,
+-44,23,
+16,-91,
+96,13,
+5,-28,
+-104,35,
+57,-78,
+-140,76,
+75,-24,
+31,1,
+60,-5,
+3,-89,
+30,-27,
+-51,52,
+-18,61,
+-26,94,
+-7,-74,
+72,0,
+-62,-41,
+-27,40,
+19,2,
+-72,-37,
+-39,-63,
+65,43,
+124,-123,
+-30,27,
+21,-67,
+-79,-32,
+-15,16,
+-24,-109,
+-41,-27,
+4,68,
+-35,27,
+-1,36,
+-35,0,
+-62,-42,
+38,46,
+95,75,
+-3,-74,
+37,36,
+45,-61,
+70,-16,
+-23,48,
+-114,48,
+-99,-44,
+67,13,
+7,7,
+18,-66,
+-3,75,
+14,13,
+-16,-39,
+88,-8,
+6,-9,
+42,17,
+23,34,
+-58,9,
+38,42,
+126,-101,
+-90,-113,
+11,38,
+-29,-74,
+45,38,
+113,121,
+5,8,
+-33,54,
+58,22,
+-38,19,
+43,48,
+-23,-82,
+11,-91,
+-88,-66,
+-32,34,
+48,-43,
+-64,-40,
+18,14,
+-45,1,
+-99,-61,
+3,-73,
+-28,67,
+-74,20,
+-66,25,
+-30,-66,
+-8,-24,
+0,-42,
+51,-85,
+-83,34,
+29,34,
+-9,-28,
+1,-12,
+-17,-80,
+27,-109,
+4,-9,
+4,-20,
+-84,-3,
+-43,-18,
+-37,-19,
+41,-42,
+2,-68,
+55,-12,
+-20,33,
+0,-71,
+65,91,
+-15,-8,
+-14,59,
+-27,3,
+25,-30,
+4,-3,
+-19,-5,
+19,7,
+-2,43,
+-13,64,
+-9,8,
+-22,25,
+-26,-8,
+-33,-19,
+32,-1,
+22,27,
+-67,95,
+-34,17,
+44,-64,
+-2,-15,
+2,-4,
+13,23,
+-77,67,
+-9,-11,
+-35,-45,
+-23,26,
+-73,29,
+-16,-19,
+-63,44,
+72,-10,
+-60,-3,
+-13,11,
+-29,6,
+79,-44,
+33,20,
+53,44,
+25,-36,
+-9,15,
+51,17,
+3,30,
+-19,19,
+-35,11,
+23,58,
+-6,4,
+29,-33,
+50,2,
+-8,-97,
+55,46,
+43,6,
+28,-19,
+-47,-15,
+-21,55,
+2,0,
+-9,1,
+27,18,
+46,1,
+72,6,
+-47,-39,
+5,-15,
+37,-53,
+36,-10,
+17,-6,
+-17,-56,
+13,-13,
+23,-41,
+10,-61,
+-26,-10,
+31,7,
+-16,-36,
+43,26,
+41,41,
+-14,42,
+-2,59,
+-30,14,
+14,2,
+-26,-3,
+12,-23,
+37,-19,
+12,18,
+65,11,
+-3,15,
+13,0,
+-18,57,
+66,-14,
+-45,38,
+53,-32,
+-16,18,
+6,-17,
+47,6,
+-56,52,
+42,-24,
+11,20,
+-9,6,
+-13,-30,
+-6,-22,
+21,9,
+-23,-3,
+-12,-47,
+15,4,
+-15,33,
+-21,20,
+-3,-47,
+21,35,
+17,26,
+4,5,
+-28,25,
+-10,26,
+36,-23,
+-5,24,
+33,-33,
+-28,-1,
+18,6,
+-12,32,
+-3,-4,
+-10,-20,
+34,-12,
+-28,-18,
+-4,-8,
+6,-7,
+-14,8,
+19,-1,
+23,-18,
+45,-10,
+15,35,
+-15,-11,
+-14,13,
+18,31,
+-12,33,
+-1,-39,
+3,9,
+-17,-17,
+-7,11,
+1,24,
+22,-4,
+22,-5,
+0,-24,
+-16,-8,
+-9,-38,
+-10,24,
+3,-23,
+10,-34,
+-33,22,
+3,49,
+22,4,
+-11,0,
+-3,-9,
+4,0,
+-15,13,
+16,-33,
+-15,-17,
+-27,-5,
+2,-16,
+15,29,
+2,16,
+-13,-22,
+42,11,
+-2,-15,
+16,8,
+-12,11,
+-2,21,
+13,-1,
+5,10,
+4,17,
+-2,-5,
+-4,10,
+17,13,
+5,-4,
+-4,-8,
+-6,-16,
+0,2,
+10,4,
+1,30,
+14,14,
+6,0,
+11,6,
+5,4,
+-10,3,
+-5,2,
+28,-6,
+15,-20,
+-7,2,
+-3,-3,
+-1,1,
+-2,11,
+1,10,
+-14,1,
+-5,-7,
+1,18,
+16,9,
+2,-4,
+-10,4,
+-2,7,
+5,6,
+-8,-16,
+2,-2,
+-9,9,
+-3,-2,
+10,-3,
+-3,-2,
+6,6,
+-1,-10,
+0,6,
+-11,-4,
+-6,1,
+-4,2,
+2,-7,
+-6,4,
+-1,0,
+6,0,
+1,2,
+-7,6,
+0,-8,
+3,3,
+0,7,
+3,0,
+5,1,
+6,3,
+4,-6,
+-2,-1,
+-2,5,
+-1,-6,
+0,0,
+-1,5,
+-1,-4,
+-1,0,
+1,5,
+-2,-5,
+-1,0,
+0,5,
+0,-5,
+0,0,
+0,5,
+0,-5,
+-1,0,
+-2,5,
+1,-5,
+-1,0,
+-1,4,
+-1,-5,
+0,0,
+-1,6,
+-2,-5,
+-2,1,
+4,6,
+6,-3,
+5,-1,
+3,0,
+0,-7,
+3,-3,
+0,8,
+-7,-6,
+1,-2,
+6,0,
+-1,0,
+-6,-4,
+2,7,
+-4,-2,
+-6,-1,
+-11,4,
+0,-6,
+-1,10,
+6,-6,
+-3,2,
+10,3,
+-3,2,
+-9,-9,
+2,2,
+-8,16,
+5,-6,
+-2,-7,
+-10,-4,
+2,4,
+16,-9,
+1,-18,
+-5,7,
+-14,-1,
+1,-10,
+-2,-11,
+-1,-1,
+-3,3,
+-7,-2,
+15,20,
+28,6,
+-5,-2,
+-10,-3,
+5,-4,
+11,-6,
+6,0,
+14,-14,
+1,-30,
+10,-4,
+0,-2,
+-6,16,
+-4,8,
+5,4,
+17,-13,
+-4,-10,
+-2,5,
+4,-17,
+5,-10,
+13,1,
+-2,-21,
+-12,-11,
+16,-8,
+-2,15,
+42,-11,
+-13,22,
+2,-16,
+15,-29,
+2,16,
+-27,5,
+-15,17,
+16,33,
+-15,-13,
+4,0,
+-3,9,
+-11,0,
+22,-4,
+3,-49,
+-33,-22,
+10,34,
+3,23,
+-10,-24,
+-9,38,
+-16,8,
+0,24,
+22,5,
+22,4,
+1,-24,
+-7,-11,
+-17,17,
+3,-9,
+-1,39,
+-12,-33,
+18,-31,
+-14,-13,
+-15,11,
+15,-35,
+45,10,
+23,18,
+19,1,
+-14,-8,
+6,7,
+-4,8,
+-28,18,
+34,12,
+-10,20,
+-3,4,
+-12,-32,
+18,-6,
+-28,1,
+33,33,
+-5,-24,
+36,23,
+-10,-26,
+-28,-25,
+4,-5,
+17,-26,
+21,-35,
+-3,47,
+-21,-20,
+-15,-33,
+15,-4,
+-12,47,
+-23,3,
+21,-9,
+-6,22,
+-13,30,
+-9,-6,
+11,-20,
+42,24,
+-56,-52,
+47,-6,
+6,17,
+-16,-18,
+53,32,
+-45,-38,
+66,14,
+-18,-57,
+13,0,
+-3,-15,
+65,-11,
+12,-18,
+37,19,
+12,23,
+-26,3,
+14,-2,
+-30,-14,
+-2,-59,
+-14,-42,
+41,-41,
+43,-26,
+-16,36,
+31,-7,
+-26,10,
+10,61,
+23,41,
+13,13,
+-17,56,
+17,6,
+36,10,
+37,53,
+5,15,
+-47,39,
+72,-6,
+46,-1,
+27,-18,
+-9,-1,
+2,0,
+-21,-55,
+-47,15,
+28,19,
+43,-6,
+55,-46,
+-8,97,
+50,-2,
+29,33,
+-6,-4,
+23,-58,
+-35,-11,
+-19,-19,
+3,-30,
+51,-17,
+-9,-15,
+25,36,
+53,-44,
+33,-20,
+79,44,
+-29,-6,
+-13,-11,
+-60,3,
+72,10,
+-63,-44,
+-16,19,
+-73,-29,
+-23,-26,
+-35,45,
+-9,11,
+-77,-67,
+13,-23,
+2,4,
+-2,15,
+44,64,
+-34,-17,
+-67,-95,
+22,-27,
+32,1,
+-33,19,
+-26,8,
+-22,-25,
+-9,-8,
+-13,-64,
+-2,-43,
+19,-7,
+-19,5,
+4,3,
+25,30,
+-27,-3,
+-14,-59,
+-15,8,
+65,-91,
+0,71,
+-20,-33,
+55,12,
+2,68,
+41,42,
+-37,19,
+-43,18,
+-84,3,
+4,20,
+4,9,
+27,109,
+-17,80,
+1,12,
+-9,28,
+29,-34,
+-83,-34,
+51,85,
+0,42,
+-8,24,
+-30,66,
+-66,-25,
+-74,-20,
+-28,-67,
+3,73,
+-99,61,
+-45,-1,
+18,-14,
+-64,40,
+48,43,
+-32,-34,
+-88,66,
+11,91,
+-23,82,
+43,-48,
+-38,-19,
+58,-22,
+-33,-54,
+5,-8,
+113,-121,
+45,-38,
+-29,74,
+11,-38,
+-90,113,
+126,101,
+38,-42,
+-58,-9,
+23,-34,
+42,-17,
+6,9,
+88,8,
+-16,39,
+14,-13,
+-3,-75,
+18,66,
+7,-7,
+67,-13,
+-99,44,
+-114,-48,
+-23,-48,
+70,16,
+45,61,
+37,-36,
+-3,74,
+95,-75,
+38,-46,
+-62,42,
+-35,0,
+-1,-36,
+-35,-27,
+4,-68,
+-41,27,
+-24,109,
+-15,-16,
+-79,32,
+21,67,
+-30,-27,
+124,123,
+65,-43,
+-39,63,
+-72,37,
+19,-2,
+-27,-40,
+-62,41,
+72,0,
+-7,74,
+-26,-94,
+-18,-61,
+-51,-52,
+30,27,
+3,89,
+60,5,
+31,-1,
+75,24,
+-140,-76,
+57,78,
+-104,-35,
+5,28,
+96,-13,
+16,91,
+-44,-23,
+-10,31,
+-139,12,
+-73,-25,
+-77,-15,
+72,11,
+43,28,
+57,24,
+-4,-33,
+-36,-15,
+68,157,
+66,-75,
+43,15,
+102,-118,
+5,-10,
+80,-13,
+-16,-40,
+51,4,
+51,-46,
+81,5,
+30,-11,
+42,-38,
+-100,-18,
+-24,21,
+-18,-8,
+90,11,
+-106,-14,
+-116,100,
+-20,-120,
+-119,-88,
+92,-3,
+-5,41,
+-14,-146,
+-81,-27,
+14,81,
+112,-83,
+100,-35,
+-155,23,
+5,-65,
+112,-8,
+54,-24,
+98,115,
+13,-15,
+49,38,
+-2,150,
+160,26,
+208,117,
+-9,14,
+36,89,
+52,-49,
+-22,-36,
+9,-48,
+77,10,
+151,-15,
+-59,-83,
+-52,-13,
+42,-83,
+78,-30,
+-83,43,
+-69,45,
+102,14,
+63,-48,
+-17,-68,
+-4,-64,
+16,-75,
+91,67,
+-157,55,
+40,-107,
+0,13,
+-29,-17,
+31,64,
+57,-74,
+61,74,
+-18,31,
+-17,-31,
+14,-152,
+32,-41,
+-15,37,
+-81,-75,
+84,-38,
+-3,-40,
+-36,79,
+106,156,
+12,-60,
+131,-24,
+-53,-79,
+7,77,
+19,32,
+53,-2,
+-126,79,
+33,-50,
+-37,50,
+12,28,
+2,63,
+52,94,
+-116,42,
+4,-115,
+13,85,
+173,131,
+4,29,
+-110,18,
+134,45,
+-62,-25,
+19,-155,
+23,16,
+65,-34,
+85,47,
+149,33,
+-38,53,
+-97,-43,
+-61,42,
+27,-92,
+52,116,
+6,96,
+-23,115,
+-127,-112,
+-103,10,
+-13,-29,
+-63,-84,
+148,-16,
+-23,34,
+73,-138,
+-17,94,
+7,-50,
+13,76,
+121,158,
+-90,49,
+6,0,
+40,84,
+-4,-79,
+121,-138,
+-95,-174,
+-234,-49,
+-21,-113,
+9,8,
+-47,139,
+70,-106,
+196,-71,
+13,171,
+21,-67,
+-105,19,
+-19,-70,
+-63,3,
+-10,14,
+-67,-70,
+-8,85,
+20,-45,
+189,144,
+-185,131,
+91,10,
+-9,37,
+-180,-18,
+87,-15,
+30,52,
+-42,-97,
+-82,-10,
+-51,38,
+73,121,
+-114,18,
+86,-36,
+36,-61,
+-167,-118,
+132,-55,
+54,-33,
+140,-109,
+38,-14,
+-61,83,
+108,-144,
+-49,-30,
+124,-62,
+-62,34,
+-107,6,
+-26,29,
+47,-33,
+70,-151,
+6,79,
+181,59,
+83,-5,
+34,-77,
+-69,-139,
+-58,11,
+41,33,
+-39,-39,
+-7,44,
+32,13,
+55,53,
+149,32,
+-3,-174,
+-128,-97,
+33,-81,
+45,-12,
+100,-93,
+-39,50,
+-45,127,
+40,-9,
+-39,8,
+156,-134,
+24,81,
+11,-82,
+-27,2,
+97,-60,
+84,-251,
+24,91,
+118,-4,
+111,26,
+-7,-21,
+-14,-48,
+-79,117,
+-135,-90,
+116,132,
+16,114,
+4,-183,
+-10,74,
+9,84,
+3,4,
+-70,49,
+-110,-56,
+-123,81,
+-82,-249,
+107,110,
+-119,86,
+93,-34,
+28,61,
+-79,133,
+198,-66,
+-123,154,
+-74,-113,
+52,-220,
+80,-44,
+-86,50,
+-73,-74,
+149,125,
+107,212,
+89,74,
+310,-18,
+-32,-130,
+-44,9,
+26,60,
+-123,-50,
+-156,21,
+-29,-121,
+-106,32,
+107,-10,
+-31,2,
+75,-148,
+-7,45,
+80,-119,
+43,121,
+37,123,
+23,97,
+18,96,
+-292,-47,
+19,-55,
+-24,-26,
+61,57,
+-37,160,
+9,-11,
+-114,-119,
+21,-162,
+-49,-52,
+80,-62,
+101,58,
+111,-86,
+-112,53,
+-2,-58,
+-22,71,
+-220,-131,
+-36,-235,
+69,230,
+9,0,
+-158,-25,
+-67,1,
+-65,26,
+4,-90,
+-53,161,
+34,-19,
+-103,36,
+-24,-59,
+-17,26,
+-62,-43,
+228,33,
+-81,-261,
+-122,35,
+-118,3,
+0,-77,
+142,23,
+14,-5,
+9,72,
+49,-40,
+168,-44,
+130,40,
+-150,14,
+8,-58,
+-12,-135,
+43,17,
+-132,20,
+143,-64,
+23,105,
+-20,-3,
+-71,98,
+22,-185,
+183,61,
+57,66,
+45,-178,
+45,-80,
+-125,88,
+-55,83,
+95,-53,
+35,-117,
+110,118,
+61,39,
+50,-145,
+-9,-228,
+35,94,
+124,-17,
+-30,-113,
+4,47,
+-188,-106,
+-2,-240,
+-204,-254,
+-112,-62,
+-103,43,
+-33,-168,
+-26,-8,
+-171,-186,
+207,-160,
+-7,82,
+-43,77,
+151,17,
+17,-283,
+-64,-17,
+61,168,
+152,41,
+42,-143,
+-97,120,
+240,-93,
+82,212,
+-19,184,
+-134,38,
+111,39,
+-51,-131,
+-37,153,
+65,73,
+40,34,
+2,-159,
+49,-60,
+-3,-119,
+75,-62,
+5,-53,
+41,32,
+80,-224,
+29,-2,
+254,-130,
+-195,-178,
+2,-9,
+-118,-2,
+58,-8,
+39,-29,
+-118,-155,
+-23,-53,
+90,36,
+-13,291,
+-37,50,
+48,175,
+-109,44,
+-19,-114,
+-103,-68,
+83,7,
+-117,-27,
+85,265,
+-83,-124,
+99,121,
+-21,-160,
+-87,-94,
+-59,-49,
+-111,63,
+69,-56,
+233,126,
+2,83,
+56,-127,
+-177,21,
+44,24,
+28,54,
+0,22,
+-83,76,
+-14,119,
+-166,-173,
+101,-157,
+-252,-95,
+2,159,
+14,-31,
+-172,142,
+-46,49,
+-78,-18,
+18,131,
+202,-32,
+28,19,
+-88,134,
+43,51,
+69,-65,
+4,-110,
+120,-145,
+-184,56,
+2,-142,
+-32,-179,
+65,84,
+68,286,
+20,66,
+-77,36,
+-5,-137,
+36,-11,
+-84,17,
+187,25,
+-62,-142,
+-188,46,
+153,-179,
+9,-98,
+-81,97,
+264,-9,
+-75,-120,
+-247,-26,
+-49,-165,
+-185,266,
+21,-25,
+68,-196,
+142,-111,
+212,-68,
+-23,-12,
+90,59,
+108,-138,
+-14,111,
+-54,-135,
+-334,130,
+-64,124,
+13,32,
+-54,61,
+-128,-82,
+50,127,
+11,89,
+-193,122,
+-84,147,
+17,-24,
+233,180,
+-116,209,
+-45,44,
+-79,34,
+-183,-59,
+-92,38,
+-8,-52,
+95,191,
+5,-141,
+-138,31,
+-148,73,
+-236,-58,
+-160,-117,
+110,154,
+-118,75,
+-38,193,
+27,45,
+-213,-7,
+-135,-185,
+39,54,
+-115,-61,
+111,-38,
+-90,-10,
+266,-149,
+-11,158,
+43,45,
+-17,-84,
+-100,-4,
+32,59,
+40,-36,
+83,-58,
+167,109,
+125,12,
+-79,-18,
+83,202,
+-39,15,
+-136,-123,
+236,46,
+206,114,
+-8,64,
+-58,10,
+-142,-126,
+-22,-6,
+168,126,
+107,-10,
+-23,218,
+-67,25,
+11,100,
+64,130,
+78,283,
+-45,-146,
+99,127,
+-50,-87,
+25,232,
+0,-68,
+-64,-77,
+-17,-276,
+136,-81,
+25,-44,
+-177,-110,
+235,-10,
+76,-113,
+-76,112,
+241,67,
+64,18,
+-23,-102,
+85,-33,
+-271,-103,
+-63,-163,
+-57,32,
+177,-303,
+-176,-57,
+22,185,
+137,76,
+53,-56,
+-46,72,
+95,-44,
+31,-353,
+-94,0,
+55,-51,
+-259,77,
+-80,-106,
+-14,-219,
+-158,-10,
+-59,67,
+-124,-70,
+-188,-119,
+-166,78,
+-53,-74,
+-61,63,
+8,-83,
+-17,-84,
+186,-180,
+247,-14,
+127,166,
+130,-101,
+3,161,
+-45,-19,
+-71,-65,
+-63,-14,
+26,-239,
+116,-109,
+-25,-121,
+131,109,
+40,-198,
+224,128,
+-157,-284,
+161,172,
+-125,-116,
+-18,-117,
+122,101,
+29,-149,
+126,142,
+-87,-219,
+89,34,
+-88,189,
+-206,-130,
+109,8,
+-9,88,
+-260,12,
+-3,-9,
+305,33,
+-144,107,
+7,27,
+45,-93,
+122,-145,
+99,61,
+109,94,
+22,4,
+113,-14,
+-141,-244,
+41,127,
+-144,-104,
+123,75,
+100,-43,
+35,124,
+-114,-100,
+-132,20,
+-3,-53,
+-110,148,
+-48,-10,
+91,-76,
+-15,90,
+-187,-274,
+94,-243,
+55,-40,
+40,61,
+15,17,
+293,59,
+4,-102,
+40,85,
+-223,53,
+63,-48,
+46,171,
+97,-18,
+64,-231,
+-127,-71,
+-23,19,
+-288,-14,
+39,200,
+-89,51,
+-51,-161,
+-201,151,
+68,80,
+351,-18,
+191,-36,
+-223,-54,
+32,46,
+116,91,
+-179,-82,
+-9,35,
+-182,51,
+-223,216,
+137,12,
+82,-165,
+64,73,
+67,-89,
+-214,-44,
+102,-354,
+-56,158,
+170,-19,
+117,-19,
+68,-2,
+65,-147,
+108,-22,
+69,89,
+-14,-56,
+172,-79,
+17,-112,
+-211,67,
+-10,64,
+-128,-48,
+157,-5,
+262,-147,
+189,-43,
+10,-124,
+44,-123,
+78,-57,
+17,146,
+47,-15,
+-140,-254,
+-151,-248,
+-109,74,
+77,110,
+-40,-54,
+133,25,
+223,89,
+-96,21,
+19,253,
+157,-139,
+215,-218,
+-63,13,
+-30,113,
+292,19,
+-92,37,
+-173,-74,
+-37,191,
+107,53,
+23,1,
+-114,2,
+55,-197,
+-92,104,
+133,-115,
+-233,82,
+130,191,
+44,261,
+-157,-62,
+33,88,
+-18,86,
+29,12,
+-38,-157,
+242,-14,
+-81,149,
+-42,117,
+39,-140,
+166,-77,
+65,14,
+134,-320,
+-96,-289,
+-116,-58,
+74,-34,
+-77,191,
+-55,110,
+13,-49,
+58,83,
+-68,209,
+106,-142,
+-56,77,
+-77,101,
+-35,287,
+-9,205,
+-84,-11,
+11,0,
+-17,-72,
+-43,-147,
+120,90,
+321,-12,
+-95,-114,
+208,-261,
+16,-94,
+-81,-9,
+-26,154,
+48,-103,
+-28,-22,
+-154,35,
+143,248,
+-70,-121,
+114,-26,
+78,27,
+84,-24,
+-51,-65,
+-54,38,
+50,149,
+209,-16,
+1,-37,
+155,22,
+-251,-190,
+-270,-61,
+111,-26,
+145,-46,
+-267,-68,
+163,21,
+-59,55,
+-118,52,
+1,-89,
+273,14,
+145,-16,
+-74,114,
+-34,-339,
+1,50,
+-72,76,
+160,78,
+-92,24,
+24,248,
+164,146,
+-79,99,
+-279,170,
+160,-40,
+114,217,
+155,-143,
+74,69,
+-60,-196,
+66,-134,
+78,-90,
+42,166,
+-273,-153,
+-138,-69,
+8,-21,
+63,-50,
+90,-49,
+157,-40,
+238,-133,
+-70,33,
+273,-12,
+-89,203,
+57,118,
+-12,-224,
+78,-83,
+-120,155,
+-10,31,
+-132,197,
+60,158,
+-197,22,
+-21,183,
+28,-69,
+-6,122,
+223,-109,
+143,19,
+78,50,
+-120,131,
+5,21,
+76,-191,
+-23,11,
+63,214,
+-126,143,
+-179,-187,
+-174,158,
+-93,118,
+47,-93,
+-46,-2,
+34,183,
+51,96,
+28,-163,
+52,-25,
+-4,65,
+-111,77,
+-63,122,
+-34,228,
+121,-41,
+77,-2,
+-140,-295,
+171,51,
+40,5,
+-154,-111,
+197,-179,
+135,-254,
+125,-248,
+-124,-104,
+-59,104,
+221,-43,
+88,83,
+60,-140,
+-47,-55,
+91,56,
+-28,-147,
+36,-113,
+-67,-168,
+-130,-197,
+42,-206,
+86,191,
+72,-179,
+44,46,
+159,36,
+-118,51,
+20,-26,
+-92,1,
+-170,120,
+110,184,
+145,-85,
+-198,1,
+296,90,
+-9,60,
+139,26,
+-33,-134,
+54,27,
+131,307,
+118,-111,
+-184,-55,
+-43,-269,
+-112,-91,
+-26,-146,
+-61,108,
+3,183,
+-137,226,
+-235,70,
+-150,-84,
+-158,-155,
+56,-15,
+119,-91,
+-113,10,
+-304,-17,
+-14,-78,
+-174,-10,
+-109,-219,
+87,101,
+-153,-102,
+-193,49,
+111,196,
+33,-59,
+-46,81,
+-162,-10,
+-52,-50,
+92,-51,
+61,15,
+138,26,
+132,181,
+47,137,
+-41,-18,
+-47,21,
+-96,-63,
+-31,-197,
+-128,-169,
+68,4,
+78,92,
+60,106,
+271,186,
+18,112,
+-31,-229,
+96,-12,
+-116,-126,
+26,-6,
+8,2,
+65,-126,
+-115,-280,
+103,-2,
+142,-206,
+82,96,
+-75,-201,
+-84,68,
+-129,76,
+-72,-121,
+257,52,
+91,-19,
+49,209,
+218,-146,
+-196,-6,
+3,4,
+20,157,
+147,-61,
+56,-83,
+-170,34,
+-30,-152,
+187,-57,
+-14,-127,
+43,3,
+26,-147,
+215,-19,
+-77,44,
+-283,-104,
+118,-63,
+-56,190,
+29,22,
+-110,261,
+-34,-275,
+-45,49,
+22,237,
+-138,9,
+118,32,
+-24,-52,
+-64,-110,
+17,-133,
+-122,25,
+59,-66,
+81,81,
+50,265,
+-108,203,
+7,-66,
+72,158,
+82,128,
+149,6,
+-154,136,
+-199,245,
+33,105,
+204,-29,
+123,-77,
+-160,218,
+-53,-61,
+266,-47,
+-60,13,
+17,-94,
+143,-5,
+-198,185,
+127,-32,
+-54,-140,
+-70,-11,
+-130,50,
+-156,72,
+5,-75,
+-180,180,
+66,-113,
+-81,156,
+-43,-87,
+25,-46,
+-48,-43,
+188,-101,
+45,-47,
+-64,178,
+118,70,
+3,-205,
+-277,-15,
+-78,54,
+-122,-57,
+-129,126,
+48,-76,
+-18,-115,
+22,-58,
+-109,37,
+63,80,
+-134,88,
+-51,214,
+119,-220,
+-142,122,
+119,53,
+-17,-18,
+-117,175,
+-23,-164,
+-75,59,
+144,70,
+109,-22,
+-103,-56,
+91,-225,
+-136,-80,
+-144,-82,
+-106,172,
+20,142,
+-68,119,
+-254,-50,
+47,-205,
+-56,-113,
+-73,-42,
+82,2,
+77,-181,
+138,56,
+30,-47,
+-28,-16,
+-146,163,
+-28,-31,
+-200,157,
+-68,-65,
+259,32,
+60,40,
+-104,-146,
+-241,-149,
+8,80,
+52,-35,
+-146,-89,
+-126,-109,
+-236,-90,
+80,-96,
+-177,-67,
+97,-105,
+-107,46,
+152,-29,
+166,57,
+284,8,
+103,-63,
+-100,118,
+-128,4,
+5,143,
+82,-24,
+-201,-1,
+-44,-93,
+77,-85,
+33,0,
+-137,12,
+-200,-129,
+39,-85,
+-136,4,
+51,-200,
+-36,56,
+-64,69,
+-110,70,
+125,13,
+173,4,
+5,-33,
+-189,15,
+-55,190,
+-8,94,
+309,-91,
+-265,-156,
+-93,191,
+-14,56,
+-1,15,
+-28,-45,
+39,101,
+-22,-94,
+53,-57,
+-27,-144,
+86,-61,
+-46,-1,
+99,-28,
+-70,192,
+-145,185,
+-135,-49,
+1,-45,
+-19,21,
+55,101,
+-95,-48,
+-58,69,
+-84,45,
+-38,181,
+34,84,
+-75,125,
+19,82,
+87,-145,
+-64,61,
+-82,-273,
+-29,86,
+-33,38,
+-178,-19,
+18,-87,
+-214,-54,
+-84,-258,
+77,56,
+-49,-58,
+28,93,
+-102,74,
+175,139,
+-204,-226,
+92,182,
+-212,-4,
+-114,-87,
+160,36,
+123,87,
+-138,-57,
+17,25,
+67,68,
+107,78,
+235,6,
+-141,91,
+83,16,
+82,-62,
+44,-53,
+-59,162,
+147,-15,
+-89,50,
+107,-5,
+33,-89,
+96,-34,
+-23,114,
+-193,-35,
+18,204,
+52,12,
+-12,-78,
+-58,26,
+-13,-108,
+24,-231,
+-46,21,
+-4,-14,
+-149,-207,
+203,88,
+42,70,
+-36,-150,
+6,-22,
+16,24,
+241,99,
+-128,-43,
+-148,-202,
+131,-105,
+-14,-73,
+15,84,
+-129,18,
+127,-38,
+214,14,
+118,108,
+25,-95,
+-60,10,
+225,-47,
+-80,-48,
+54,30,
+-58,68,
+-65,-54,
+-53,-11,
+-45,52,
+111,-12,
+57,-57,
+11,-137,
+155,9,
+-152,-45,
+-106,27,
+207,73,
+-57,53,
+-20,-88,
+38,-5,
+40,-60,
+103,-70,
+-194,-14,
+94,-121,
+-154,-61,
+113,2,
+-25,32,
+5,16,
+151,-98,
+-55,-85,
+86,-64,
+-191,-98,
+-138,-29,
+-45,-82,
+-212,-66,
+84,-55,
+62,-158,
+98,-159,
+124,109,
+-209,-91,
+34,-15,
+30,-117,
+-123,-224,
+-83,165,
+-4,30,
+77,32,
+131,98,
+2,177,
+-34,-10,
+46,-33,
+-57,116,
+9,6,
+83,17,
+54,178,
+-186,10,
+-34,-108,
+21,212,
+91,-64,
+18,-110,
+-65,15,
+49,-6,
+36,33,
+-33,-236,
+20,-72,
+25,-89,
+-25,-194,
+-1,29,
+75,172,
+-198,24,
+15,-39,
+-44,-46,
+103,-93,
+144,-25,
+83,-62,
+3,102,
+27,105,
+-2,-42,
+-1,59,
+105,167,
+-150,-107,
+125,30,
+-52,67,
+27,-130,
+-168,46,
+-13,-66,
+-178,-58,
+64,11,
+-47,137,
+-6,53,
+-5,-6,
+-39,-95,
+-102,-3,
+130,-2,
+121,15,
+-17,-96,
+-57,44,
+28,-218,
+-132,-18,
+51,-83,
+-11,87,
+-39,-88,
+60,108,
+9,-109,
+108,88,
+15,38,
+11,-68,
+127,56,
+11,106,
+-158,77,
+26,98,
+-70,76,
+-100,-197,
+113,30,
+118,-61,
+-15,23,
+-86,13,
+-147,0,
+-102,-7,
+-65,21,
+-178,11,
+163,6,
+-38,18,
+-182,-40,
+108,67,
+26,106,
+0,-146,
+-5,-76,
+122,6,
+53,88,
+-1,-18,
+76,5,
+9,-27,
+-34,8,
+153,19,
+123,56,
+-53,119,
+152,-2,
+-10,-130,
+-57,-36,
+-163,15,
+-62,-65,
+67,2,
+-83,-80,
+-10,177,
+-163,106,
+-95,-109,
+6,36,
+-79,-179,
+-83,-114,
+7,-23,
+-112,-138,
+-79,151,
+-17,4,
+-58,24,
+57,53,
+27,-55,
+-113,76,
+-34,-155,
+-50,73,
+-54,-101,
+-23,127,
+-46,45,
+-24,-124,
+-1,103,
+91,42,
+-4,-40,
+-9,-70,
+-36,9,
+-43,124,
+-117,-12,
+42,56,
+32,60,
+-42,-138,
+7,-21,
+23,30,
+21,-122,
+-21,135,
+-25,4,
+-55,61,
+32,-33,
+-20,109,
+67,160,
+-27,67,
+-14,-17,
+65,-122,
+1,142,
+-178,-17,
+-57,-87,
+-59,-13,
+15,29,
+131,160,
+-120,-82,
+-71,-33,
+92,124,
+-22,2,
+-78,43,
+-26,-119,
+-20,27,
+-117,8,
+-95,-27,
+-4,-26,
+-25,-9,
+21,38,
+59,-16,
+112,-68,
+-49,-92,
+41,94,
+-50,93,
+-47,-89,
+42,131,
+58,-39,
+-15,7,
+84,38,
+-98,74,
+-8,-52,
+107,89,
+-5,-20,
+-6,153,
+143,88,
+-59,-98,
+-31,-7,
+108,77,
+-25,57,
+-78,-56,
+111,-57,
+-54,-128,
+23,104,
+-33,-98,
+125,84,
+-8,-78,
+60,35,
+-94,10,
+-36,-63,
+-120,-62,
+-25,-111,
+-16,6,
+56,-87,
+-49,-13,
+2,-30,
+-161,-42,
+71,26,
+-25,42,
+61,-38,
+129,-34,
+20,41,
+97,-72,
+1,-84,
+-2,37,
+25,-52,
+65,27,
+-83,4,
+6,-87,
+113,-113,
+75,21,
+36,-17,
+-37,38,
+-36,-4,
+-45,43,
+-98,-40,
+16,53,
+-4,-9,
+28,-30,
+-45,29,
+92,4,
+42,-148,
+-24,20,
+-103,-17,
+82,145,
+99,-104,
+6,-94,
+-18,12,
+11,100,
+-2,45,
+29,-27,
+82,-70,
+-48,23,
+-18,-37,
+-68,15,
+-22,-75,
+-49,-34,
+-32,-107,
+25,9,
+-44,79,
+-61,-73,
+-10,-55,
+40,-4,
+-16,39,
+105,-84,
+-18,-59,
+6,79,
+5,112,
+3,129,
+27,17,
+-27,42,
+-3,-86,
+-73,67,
+-36,-103,
+-34,-17,
+-71,-121,
+-53,-45,
+27,11,
+-22,5,
+-34,-91,
+-66,-117,
+-19,115,
+37,61,
+14,-21,
+-44,-53,
+134,-84,
+-26,-15,
+7,-37,
+45,23,
+-70,44,
+-12,83,
+-33,-10,
+-7,-19,
+-72,13,
+-65,-57,
+-44,-39,
+42,-76,
+115,11,
+17,-21,
+12,-109,
+-70,-7,
+-66,-30,
+-80,29,
+47,-1,
+17,56,
+-38,38,
+63,-104,
+-67,0,
+67,26,
+59,-57,
+-70,66,
+49,-30,
+-11,-17,
+82,-4,
+27,-45,
+17,15,
+-28,-39,
+-62,40,
+15,-26,
+-18,-31,
+36,-31,
+7,-93,
+-38,-50,
+-37,-25,
+3,23,
+64,21,
+7,-1,
+-55,37,
+-22,62,
+-20,-61,
+6,-5,
+-32,24,
+82,-69,
+-47,20,
+49,-60,
+-7,-29,
+29,-63,
+-6,-40,
+-57,32,
+1,-50,
+48,44,
+17,-35,
+-35,20,
+-13,44,
+-7,-1,
+3,51,
+11,-61,
+59,-11,
+-72,139,
+46,-8,
+125,-108,
+10,7,
+9,6,
+80,39,
+6,46,
+13,-21,
+61,-30,
+95,18,
+17,42,
+5,-21,
+-23,17,
+-29,-43,
+-42,-12,
+-9,28,
+-23,-24,
+55,16,
+45,-33,
+-6,1,
+3,-21,
+-52,-13,
+135,-40,
+-6,53,
+-20,-36,
+2,-37,
+-15,-44,
+-12,47,
+-9,64,
+-50,-53,
+5,51,
+-54,34,
+-16,-17,
+-19,-25,
+-6,-9,
+-16,47,
+16,41,
+54,-67,
+-61,20,
+11,0,
+11,45,
+50,38,
+-46,35,
+18,26,
+0,-67,
+-7,-26,
+19,4,
+-77,-10,
+40,65,
+-68,18,
+-53,-25,
+-36,-1,
+-2,43,
+-16,-49,
+2,20,
+-56,-2,
+-12,-12,
+-4,34,
+62,36,
+35,44,
+10,12,
+13,6,
+-47,-6,
+-60,-41,
+-2,3,
+-9,-27,
+2,-11,
+38,22,
+36,25,
+18,31,
+-4,35,
+-11,-3,
+-15,2,
+11,-30,
+-11,-45,
+28,49,
+10,2,
+22,-49,
+5,-13,
+-38,-3,
+21,-23,
+-57,-18,
+1,-40,
+9,-39,
+-27,-41,
+5,29,
+-17,13,
+-31,-28,
+-22,-48,
+24,-38,
+37,-35,
+52,-6,
+12,2,
+-16,-26,
+-47,1,
+-13,-38,
+-66,-8,
+29,2,
+26,36,
+21,12,
+-22,-1,
+-13,-5,
+31,64,
+10,-25,
+-9,32,
+8,-3,
+7,11,
+41,-3,
+1,-33,
+-19,-13,
+20,21,
+19,-15,
+-33,32,
+27,13,
+-21,7,
+-4,8,
+-43,-11,
+-31,-25,
+-26,4,
+-5,16,
+-14,-15,
+-1,17,
+-6,-3,
+-23,21,
+31,26,
+-4,6,
+-16,-30,
+-32,9,
+-42,57,
+-37,-14,
+-8,6,
+5,8,
+-18,-4,
+-4,16,
+-42,-10,
+23,14,
+21,15,
+20,-28,
+11,-11,
+12,6,
+-10,-2,
+-15,7,
+6,12,
+31,-4,
+-5,2,
+-12,0,
+22,-6,
+6,-28,
+-5,-23,
+0,-6,
+38,-9,
+-3,14,
+-22,1,
+1,-4,
+17,-2,
+6,-5,
+-6,28,
+5,16,
+-13,8,
+22,-3,
+-6,-4,
+17,-6,
+17,-20,
+8,15,
+20,-21,
+4,-4,
+-8,6,
+-13,5,
+1,-14,
+22,22,
+9,-7,
+-16,19,
+5,8,
+-10,19,
+-9,7,
+5,5,
+-5,3,
+-15,-17,
+5,-14,
+-4,-5,
+4,14,
+-15,-1,
+-9,0,
+-9,3,
+13,9,
+-11,18,
+17,-3,
+3,-7,
+5,-10,
+16,8,
+11,6,
+4,-4,
+2,-1,
+11,10,
+-10,-10,
+-3,-1,
+-8,3,
+9,0,
+-5,15,
+-2,6,
+1,-16,
+4,7,
+0,0,
+-3,-6,
+-2,0,
+0,10,
+-5,-13,
+-3,-9,
+-3,5,
+1,4,
+0,-1,
+3,10,
+4,-6,
+-3,-4,
+-1,8,
+2,0,
+-3,-3,
+0,9,
+2,-6,
+3,-1,
+-3,4,
+0,-3,
+0,-1,
+1,4,
+-2,-3,
+-2,0,
+-1,6,
+0,-4,
+0,1,
+0,5,
+0,-5,
+0,0,
+0,5,
+0,-5,
+0,-1,
+0,4,
+-1,-6,
+-2,0,
+-2,3,
+1,-4,
+0,1,
+0,3,
+-3,-4,
+3,1,
+2,6,
+0,-9,
+-3,3,
+2,0,
+-1,-8,
+-3,4,
+4,6,
+3,-10,
+0,1,
+1,-4,
+-3,-5,
+-3,9,
+-5,13,
+0,-10,
+-2,0,
+-3,6,
+0,0,
+4,-7,
+1,16,
+-2,-6,
+-5,-15,
+9,0,
+-8,-3,
+-3,1,
+-10,10,
+11,-10,
+2,1,
+4,4,
+11,-6,
+16,-8,
+5,10,
+3,7,
+17,3,
+-11,-18,
+13,-9,
+-9,-3,
+-9,0,
+-15,1,
+4,-14,
+-4,5,
+5,14,
+-15,17,
+-5,-3,
+5,-5,
+-9,-7,
+-10,-19,
+5,-8,
+-16,-19,
+9,7,
+22,-22,
+1,14,
+-13,-5,
+-8,-6,
+4,4,
+20,21,
+8,-15,
+17,20,
+17,6,
+-6,4,
+22,3,
+-13,-8,
+5,-16,
+-6,-28,
+6,5,
+17,2,
+1,4,
+-22,-1,
+-3,-14,
+38,9,
+0,6,
+-5,23,
+6,28,
+22,6,
+-12,0,
+-5,-2,
+31,4,
+6,-12,
+-15,-7,
+-10,2,
+12,-6,
+11,11,
+20,28,
+21,-15,
+23,-14,
+-42,10,
+-4,-16,
+-18,4,
+5,-8,
+-8,-6,
+-37,14,
+-42,-57,
+-32,-9,
+-16,30,
+-4,-6,
+31,-26,
+-23,-21,
+-6,3,
+-1,-17,
+-14,15,
+-5,-16,
+-26,-4,
+-31,25,
+-43,11,
+-4,-8,
+-21,-7,
+27,-13,
+-33,-32,
+19,15,
+20,-21,
+-19,13,
+1,33,
+41,3,
+7,-11,
+8,3,
+-9,-32,
+10,25,
+31,-64,
+-13,5,
+-22,1,
+21,-12,
+26,-36,
+29,-2,
+-66,8,
+-13,38,
+-47,-1,
+-16,26,
+12,-2,
+52,6,
+37,35,
+24,38,
+-22,48,
+-31,28,
+-17,-13,
+5,-29,
+-27,41,
+9,39,
+1,40,
+-57,18,
+21,23,
+-38,3,
+5,13,
+22,49,
+10,-2,
+28,-49,
+-11,45,
+11,30,
+-15,-2,
+-11,3,
+-4,-35,
+18,-31,
+36,-25,
+38,-22,
+2,11,
+-9,27,
+-2,-3,
+-60,41,
+-47,6,
+13,-6,
+10,-12,
+35,-44,
+62,-36,
+-4,-34,
+-12,12,
+-56,2,
+2,-20,
+-16,49,
+-2,-43,
+-36,1,
+-53,25,
+-68,-18,
+40,-65,
+-77,10,
+19,-4,
+-7,26,
+0,67,
+18,-26,
+-46,-35,
+50,-38,
+11,-45,
+11,0,
+-61,-20,
+54,67,
+16,-41,
+-16,-47,
+-6,9,
+-19,25,
+-16,17,
+-54,-34,
+5,-51,
+-50,53,
+-9,-64,
+-12,-47,
+-15,44,
+2,37,
+-20,36,
+-6,-53,
+135,40,
+-52,13,
+3,21,
+-6,-1,
+45,33,
+55,-16,
+-23,24,
+-9,-28,
+-42,12,
+-29,43,
+-23,-17,
+5,21,
+17,-42,
+95,-18,
+61,30,
+13,21,
+6,-46,
+80,-39,
+9,-6,
+10,-7,
+125,108,
+46,8,
+-72,-139,
+59,11,
+11,61,
+3,-51,
+-7,1,
+-13,-44,
+-35,-20,
+17,35,
+48,-44,
+1,50,
+-57,-32,
+-6,40,
+29,63,
+-7,29,
+49,60,
+-47,-20,
+82,69,
+-32,-24,
+6,5,
+-20,61,
+-22,-62,
+-55,-37,
+7,1,
+64,-21,
+3,-23,
+-37,25,
+-38,50,
+7,93,
+36,31,
+-18,31,
+15,26,
+-62,-40,
+-28,39,
+17,-15,
+27,45,
+82,4,
+-11,17,
+49,30,
+-70,-66,
+59,57,
+67,-26,
+-67,0,
+63,104,
+-38,-38,
+17,-56,
+47,1,
+-80,-29,
+-66,30,
+-70,7,
+12,109,
+17,21,
+115,-11,
+42,76,
+-44,39,
+-65,57,
+-72,-13,
+-7,19,
+-33,10,
+-12,-83,
+-70,-44,
+45,-23,
+7,37,
+-26,15,
+134,84,
+-44,53,
+14,21,
+37,-61,
+-19,-115,
+-66,117,
+-34,91,
+-22,-5,
+27,-11,
+-53,45,
+-71,121,
+-34,17,
+-36,103,
+-73,-67,
+-3,86,
+-27,-42,
+27,-17,
+3,-129,
+5,-112,
+6,-79,
+-18,59,
+105,84,
+-16,-39,
+40,4,
+-10,55,
+-61,73,
+-44,-79,
+25,-9,
+-32,107,
+-49,34,
+-22,75,
+-68,-15,
+-18,37,
+-48,-23,
+82,70,
+29,27,
+-2,-45,
+11,-100,
+-18,-12,
+6,94,
+99,104,
+82,-145,
+-103,17,
+-24,-20,
+42,148,
+92,-4,
+-45,-29,
+28,30,
+-4,9,
+16,-53,
+-98,40,
+-45,-43,
+-36,4,
+-37,-38,
+36,17,
+75,-21,
+113,113,
+6,87,
+-83,-4,
+65,-27,
+25,52,
+-2,-37,
+1,84,
+97,72,
+20,-41,
+129,34,
+61,38,
+-25,-42,
+71,-26,
+-161,42,
+2,30,
+-49,13,
+56,87,
+-16,-6,
+-25,111,
+-120,62,
+-36,63,
+-94,-10,
+60,-35,
+-8,78,
+125,-84,
+-33,98,
+23,-104,
+-54,128,
+111,57,
+-78,56,
+-25,-57,
+108,-77,
+-31,7,
+-59,98,
+143,-88,
+-6,-153,
+-5,20,
+107,-89,
+-8,52,
+-98,-74,
+84,-38,
+-15,-7,
+58,39,
+42,-131,
+-47,89,
+-50,-93,
+41,-94,
+-49,92,
+112,68,
+59,16,
+21,-38,
+-25,9,
+-4,26,
+-95,27,
+-117,-8,
+-20,-27,
+-26,119,
+-78,-43,
+-22,-2,
+92,-124,
+-71,33,
+-120,82,
+131,-160,
+15,-29,
+-59,13,
+-57,87,
+-178,17,
+1,-142,
+65,122,
+-14,17,
+-27,-67,
+67,-160,
+-20,-109,
+32,33,
+-55,-61,
+-25,-4,
+-21,-135,
+21,122,
+23,-30,
+7,21,
+-42,138,
+32,-60,
+42,-56,
+-117,12,
+-43,-124,
+-36,-9,
+-9,70,
+-4,40,
+91,-42,
+-1,-103,
+-24,124,
+-46,-45,
+-23,-127,
+-54,101,
+-50,-73,
+-34,155,
+-113,-76,
+27,55,
+57,-53,
+-58,-24,
+-17,-4,
+-79,-151,
+-112,138,
+7,23,
+-83,114,
+-79,179,
+6,-36,
+-95,109,
+-163,-106,
+-10,-177,
+-83,80,
+67,-2,
+-62,65,
+-163,-15,
+-57,36,
+-10,130,
+152,2,
+-53,-119,
+123,-56,
+153,-19,
+-34,-8,
+9,27,
+76,-5,
+-1,18,
+53,-88,
+122,-6,
+-5,76,
+0,146,
+26,-106,
+108,-67,
+-182,40,
+-38,-18,
+163,-6,
+-178,-11,
+-65,-21,
+-102,7,
+-147,0,
+-86,-13,
+-15,-23,
+118,61,
+113,-30,
+-100,197,
+-70,-76,
+26,-98,
+-158,-77,
+11,-106,
+127,-56,
+11,68,
+15,-38,
+108,-88,
+9,109,
+60,-108,
+-39,88,
+-11,-87,
+51,83,
+-132,18,
+28,218,
+-57,-44,
+-17,96,
+121,-15,
+130,2,
+-102,3,
+-39,95,
+-5,6,
+-6,-53,
+-47,-137,
+64,-11,
+-178,58,
+-13,66,
+-168,-46,
+27,130,
+-52,-67,
+125,-30,
+-150,107,
+105,-167,
+-1,-59,
+-2,42,
+27,-105,
+3,-102,
+83,62,
+144,25,
+103,93,
+-44,46,
+15,39,
+-198,-24,
+75,-172,
+-1,-29,
+-25,194,
+25,89,
+20,72,
+-33,236,
+36,-33,
+49,6,
+-65,-15,
+18,110,
+91,64,
+21,-212,
+-34,108,
+-186,-10,
+54,-178,
+83,-17,
+9,-6,
+-57,-116,
+46,33,
+-34,10,
+2,-177,
+131,-98,
+77,-32,
+-4,-30,
+-83,-165,
+-123,224,
+30,117,
+34,15,
+-209,91,
+124,-109,
+98,159,
+62,158,
+84,55,
+-212,66,
+-45,82,
+-138,29,
+-191,98,
+86,64,
+-55,85,
+151,98,
+5,-16,
+-25,-32,
+113,-2,
+-154,61,
+94,121,
+-194,14,
+103,70,
+40,60,
+38,5,
+-20,88,
+-57,-53,
+207,-73,
+-106,-27,
+-152,45,
+155,-9,
+11,137,
+57,57,
+111,12,
+-45,-52,
+-53,11,
+-65,54,
+-58,-68,
+54,-30,
+-80,48,
+225,47,
+-60,-10,
+25,95,
+118,-108,
+214,-14,
+127,38,
+-129,-18,
+15,-84,
+-14,73,
+131,105,
+-148,202,
+-128,43,
+241,-99,
+16,-24,
+6,22,
+-36,150,
+42,-70,
+203,-88,
+-149,207,
+-4,14,
+-46,-21,
+24,231,
+-13,108,
+-58,-26,
+-12,78,
+52,-12,
+18,-204,
+-193,35,
+-23,-114,
+96,34,
+33,89,
+107,5,
+-89,-50,
+147,15,
+-59,-162,
+44,53,
+82,62,
+83,-16,
+-141,-91,
+235,-6,
+107,-78,
+67,-68,
+17,-25,
+-138,57,
+123,-87,
+160,-36,
+-114,87,
+-212,4,
+92,-182,
+-204,226,
+175,-139,
+-102,-74,
+28,-93,
+-49,58,
+77,-56,
+-84,258,
+-214,54,
+18,87,
+-178,19,
+-33,-38,
+-29,-86,
+-82,273,
+-64,-61,
+87,145,
+19,-82,
+-75,-125,
+34,-84,
+-38,-181,
+-84,-45,
+-58,-69,
+-95,48,
+55,-101,
+-19,-21,
+1,45,
+-135,49,
+-145,-185,
+-70,-192,
+99,28,
+-46,1,
+86,61,
+-27,144,
+53,57,
+-22,94,
+39,-101,
+-28,45,
+-1,-15,
+-14,-56,
+-93,-191,
+-265,156,
+309,91,
+-8,-94,
+-55,-190,
+-189,-15,
+5,33,
+173,-4,
+125,-13,
+-110,-70,
+-64,-69,
+-36,-56,
+51,200,
+-136,-4,
+39,85,
+-200,129,
+-137,-12,
+33,0,
+77,85,
+-44,93,
+-201,1,
+82,24,
+5,-143,
+-128,-4,
+-100,-118,
+103,63,
+284,-8,
+166,-57,
+152,29,
+-107,-46,
+97,105,
+-177,67,
+80,96,
+-236,90,
+-126,109,
+-146,89,
+52,35,
+8,-80,
+-241,149,
+-104,146,
+60,-40,
+259,-32,
+-68,65,
+-200,-157,
+-28,31,
+-146,-163,
+-28,16,
+30,47,
+138,-56,
+77,181,
+82,-2,
+-73,42,
+-56,113,
+47,205,
+-254,50,
+-68,-119,
+20,-142,
+-106,-172,
+-144,82,
+-136,80,
+91,225,
+-103,56,
+109,22,
+144,-70,
+-75,-59,
+-23,164,
+-117,-175,
+-17,18,
+119,-53,
+-142,-122,
+119,220,
+-51,-214,
+-134,-88,
+63,-80,
+-109,-37,
+22,58,
+-18,115,
+48,76,
+-129,-126,
+-122,57,
+-78,-54,
+-277,15,
+3,205,
+118,-70,
+-64,-178,
+45,47,
+188,101,
+-48,43,
+25,46,
+-43,87,
+-81,-156,
+66,113,
+-180,-180,
+5,75,
+-156,-72,
+-130,-50,
+-70,11,
+-54,140,
+127,32,
+-198,-185,
+143,5,
+17,94,
+-60,-13,
+266,47,
+-53,61,
+-160,-218,
+123,77,
+204,29,
+33,-105,
+-199,-245,
+-154,-136,
+149,-6,
+82,-128,
+72,-158,
+7,66,
+-108,-203,
+50,-265,
+81,-81,
+59,66,
+-122,-25,
+17,133,
+-64,110,
+-24,52,
+118,-32,
+-138,-9,
+22,-237,
+-45,-49,
+-34,275,
+-110,-261,
+29,-22,
+-56,-190,
+118,63,
+-283,104,
+-77,-44,
+215,19,
+26,147,
+43,-3,
+-14,127,
+187,57,
+-30,152,
+-170,-34,
+56,83,
+147,61,
+20,-157,
+3,-4,
+-196,6,
+218,146,
+49,-209,
+91,19,
+257,-52,
+-72,121,
+-129,-76,
+-84,-68,
+-75,201,
+82,-96,
+142,206,
+103,2,
+-115,280,
+65,126,
+8,-2,
+26,6,
+-116,126,
+96,12,
+-31,229,
+18,-112,
+271,-186,
+60,-106,
+78,-92,
+68,-4,
+-128,169,
+-31,197,
+-96,63,
+-47,-21,
+-41,18,
+47,-137,
+132,-181,
+138,-26,
+61,-15,
+92,51,
+-52,50,
+-162,10,
+-46,-81,
+33,59,
+111,-196,
+-193,-49,
+-153,102,
+87,-101,
+-109,219,
+-174,10,
+-14,78,
+-304,17,
+-113,-10,
+119,91,
+56,15,
+-158,155,
+-150,84,
+-235,-70,
+-137,-226,
+3,-183,
+-61,-108,
+-26,146,
+-112,91,
+-43,269,
+-184,55,
+118,111,
+131,-307,
+54,-27,
+-33,134,
+139,-26,
+-9,-60,
+296,-90,
+-198,-1,
+145,85,
+110,-184,
+-170,-120,
+-92,-1,
+20,26,
+-118,-51,
+159,-36,
+44,-46,
+72,179,
+86,-191,
+42,206,
+-130,197,
+-67,168,
+36,113,
+-28,147,
+91,-56,
+-47,55,
+60,140,
+88,-83,
+221,43,
+-59,-104,
+-124,104,
+125,248,
+135,254,
+197,179,
+-154,111,
+40,-5,
+171,-51,
+-140,295,
+77,2,
+121,41,
+-34,-228,
+-63,-122,
+-111,-77,
+-4,-65,
+52,25,
+28,163,
+51,-96,
+34,-183,
+-46,2,
+47,93,
+-93,-118,
+-174,-158,
+-179,187,
+-126,-143,
+63,-214,
+-23,-11,
+76,191,
+5,-21,
+-120,-131,
+78,-50,
+143,-19,
+223,109,
+-6,-122,
+28,69,
+-21,-183,
+-197,-22,
+60,-158,
+-132,-197,
+-10,-31,
+-120,-155,
+78,83,
+-12,224,
+57,-118,
+-89,-203,
+273,12,
+-70,-33,
+238,133,
+157,40,
+90,49,
+63,50,
+8,21,
+-138,69,
+-273,153,
+42,-166,
+78,90,
+66,134,
+-60,196,
+74,-69,
+155,143,
+114,-217,
+160,40,
+-279,-170,
+-79,-99,
+164,-146,
+24,-248,
+-92,-24,
+160,-78,
+-72,-76,
+1,-50,
+-34,339,
+-74,-114,
+145,16,
+273,-14,
+1,89,
+-118,-52,
+-59,-55,
+163,-21,
+-267,68,
+145,46,
+111,26,
+-270,61,
+-251,190,
+155,-22,
+1,37,
+209,16,
+50,-149,
+-54,-38,
+-51,65,
+84,24,
+78,-27,
+114,26,
+-70,121,
+143,-248,
+-154,-35,
+-28,22,
+48,103,
+-26,-154,
+-81,9,
+16,94,
+208,261,
+-95,114,
+321,12,
+120,-90,
+-43,147,
+-17,72,
+6,0,
+24,-146,
+221,231,
+308,121,
+20,-72,
+60,93,
+113,-117,
+88,117,
+-72,-57,
+1,88,
+113,-104,
+-36,-13,
+-283,160,
+73,-91,
+-273,4,
+-78,45,
+59,-63,
+88,102,
+330,-86,
+-54,-79,
+41,-96,
+-207,-60,
+270,-168,
+-10,-252,
+1,-95,
+-150,-30,
+172,-13,
+-130,71,
+18,-71,
+156,-64,
+-75,8,
+-207,98,
+204,-97,
+-157,-129,
+-128,-198,
+127,-147,
+2,75,
+-241,79,
+-36,-87,
+-3,-8,
+49,19,
+71,154,
+26,245,
+4,-107,
+31,181,
+92,-142,
+-44,49,
+-148,-29,
+38,121,
+318,50,
+-24,0,
+-188,218,
+-159,222,
+93,-71,
+39,-96,
+-46,52,
+-148,-51,
+-175,-73,
+-15,-197,
+100,-194,
+107,131,
+38,-8,
+-148,-135,
+51,149,
+-278,176,
+-115,59,
+-80,-62,
+-132,91,
+-187,201,
+-132,65,
+198,40,
+-83,223,
+-199,-37,
+81,-102,
+-278,-104,
+-139,-120,
+-52,125,
+-60,-184,
+53,34,
+119,-86,
+-71,71,
+-135,-51,
+26,-120,
+56,0,
+-208,76,
+24,-57,
+143,17,
+41,70,
+110,15,
+29,10,
+147,-91,
+16,160,
+-99,48,
+5,-124,
+102,95,
+-78,-8,
+-245,142,
+-10,-45,
+-123,-94,
+37,184,
+29,-205,
+37,-41,
+177,-74,
+-239,-149,
+-196,161,
+-237,30,
+-106,-10,
+44,-142,
+77,0,
+25,136,
+-78,73,
+112,-255,
+-94,4,
+81,-126,
+167,256,
+108,-105,
+16,-41,
+-31,-77,
+-51,-28,
+70,115,
+136,97,
+-3,-77,
+-15,-177,
+3,-284,
+43,-153,
+-55,15,
+-201,6,
+170,-48,
+-201,34,
+44,83,
+-5,210,
+-51,-112,
+-111,53,
+-193,22,
+284,-58,
+-33,144,
+-145,-176,
+-63,-54,
+-41,58,
+-49,264,
+93,118,
+122,-126,
+58,258,
+-113,76,
+24,-102,
+167,-22,
+-42,-43,
+-45,-41,
+0,-27,
+-12,-35,
+90,-188,
+61,19,
+155,-51,
+-44,170,
+-52,109,
+-201,-50,
+-223,-207,
+201,75,
+134,-36,
+-133,215,
+67,-96,
+-186,-13,
+70,-51,
+191,-121,
+-110,-84,
+-16,200,
+69,-31,
+-168,-153,
+-211,185,
+53,-199,
+35,13,
+85,-148,
+-110,-13,
+-51,-111,
+106,-106,
+-119,222,
+17,16,
+58,88,
+-130,0,
+-231,45,
+-105,-69,
+133,129,
+180,183,
+60,-15,
+14,111,
+-167,205,
+-15,147,
+103,133,
+-295,81,
+-225,129,
+203,104,
+-158,-180,
+114,120,
+-8,232,
+128,125,
+63,30,
+-169,123,
+-97,108,
+-22,78,
+123,24,
+-29,-7,
+60,92,
+-220,-86,
+-96,-43,
+307,26,
+-118,-220,
+65,54,
+-139,-174,
+174,157,
+-33,-60,
+-73,220,
+-145,-39,
+9,1,
+159,53,
+56,-40,
+38,17,
+-63,-44,
+-110,-95,
+-188,95,
+246,-8,
+2,-87,
+59,-110,
+-150,-151,
+-53,-168,
+38,-82,
+-2,263,
+-80,74,
+217,36,
+248,155,
+-209,19,
+72,-113,
+-80,-69,
+-217,85,
+-39,-78,
+159,196,
+45,-84,
+-137,58,
+-60,159,
+52,-250,
+-294,-4,
+47,39,
+2,114,
+66,251,
+-100,109,
+97,-61,
+19,292,
+27,-19,
+52,-123,
+-1,47,
+77,-2,
+68,219,
+76,99,
+194,-40,
+100,27,
+-97,-48,
+18,67,
+53,54,
+-158,-57,
+-24,208,
+-284,118,
+-54,-81,
+-207,91,
+-65,-96,
+71,-22,
+104,99,
+-195,52,
+-104,-57,
+-40,232,
+2,-97,
+84,-106,
+49,-120,
+-193,62,
+172,45,
+105,3,
+-57,-115,
+29,-9,
+61,-39,
+65,-53,
+66,47,
+278,-19,
+-92,-16,
+111,-200,
+-52,-143,
+-38,-169,
+-29,-94,
+148,90,
+184,176,
+20,29,
+28,-138,
+127,103,
+105,76,
+142,129,
+-78,-102,
+69,-78,
+14,37,
+-109,45,
+-50,76,
+143,-67,
+1,63,
+-139,-235,
+32,-49,
+37,-222,
+39,-4,
+-92,-15,
+-103,304,
+120,31,
+137,37,
+81,14,
+-180,-114,
+37,-39,
+-97,-129,
+44,-136,
+-123,137,
+11,198,
+-6,-102,
+-17,106,
+-135,44,
+78,-46,
+-194,-30,
+47,-18,
+89,-66,
+120,7,
+-100,-33,
+161,54,
+-8,158,
+105,159,
+-162,145,
+159,-7,
+228,62,
+-33,96,
+-56,114,
+-42,-51,
+-66,-80,
+-81,-50,
+-68,31,
+-15,-62,
+-209,6,
+208,-141,
+44,-43,
+-62,-87,
+-8,-114,
+-3,-61,
+-57,-39,
+257,171,
+13,-19,
+-49,215,
+43,-88,
+-74,25,
+1,-119,
+-127,-13,
+-225,-28,
+-11,-58,
+-121,17,
+-57,22,
+61,-24,
+-8,-61,
+-192,-7,
+-22,69,
+86,82,
+123,185,
+114,241,
+-43,-44,
+-116,144,
+251,9,
+-76,-42,
+94,-301,
+-63,-79,
+-122,98,
+-13,-37,
+-197,-151,
+122,1,
+-64,141,
+135,114,
+173,114,
+-79,-145,
+73,38,
+85,72,
+-99,-50,
+-109,-153,
+56,-87,
+76,-51,
+-100,126,
+-75,-38,
+181,-228,
+-45,-1,
+-6,36,
+-25,-47,
+71,-4,
+116,-46,
+81,-62,
+-84,33,
+76,186,
+-201,-125,
+-88,33,
+121,166,
+108,-112,
+-16,135,
+274,-70,
+-64,71,
+-3,104,
+39,193,
+-82,91,
+7,44,
+50,113,
+93,-29,
+-102,-215,
+-24,124,
+2,50,
+141,127,
+-49,-120,
+-42,115,
+-84,-65,
+-149,-45,
+-58,-65,
+-65,29,
+130,103,
+-38,147,
+-75,-177,
+-207,72,
+81,64,
+226,71,
+-29,253,
+95,43,
+-95,48,
+-253,21,
+92,163,
+105,164,
+-5,-45,
+-2,-152,
+100,-80,
+-116,127,
+-104,-51,
+30,20,
+-24,95,
+-57,-182,
+-101,40,
+-48,156,
+-53,158,
+-54,-68,
+9,59,
+-122,-105,
+192,-47,
+63,35,
+110,-69,
+188,-48,
+-188,96,
+79,7,
+-63,26,
+-5,94,
+-53,-68,
+-59,30,
+-97,-119,
+-35,41,
+170,-19,
+-58,-120,
+-116,13,
+-67,98,
+-15,-86,
+-172,36,
+-21,-23,
+60,-229,
+187,46,
+-73,-119,
+91,-17,
+-86,-150,
+-151,-41,
+-2,-13,
+61,-13,
+9,1,
+70,-79,
+-68,-169,
+76,84,
+-112,-116,
+104,140,
+-111,-74,
+-9,56,
+-124,79,
+-155,-42,
+-36,-21,
+44,21,
+-6,-66,
+195,1,
+89,123,
+37,152,
+0,90,
+-31,-214,
+-64,-36,
+6,-150,
+-106,-81,
+-56,-164,
+-33,33,
+-184,61,
+-16,-63,
+-79,-98,
+-73,-45,
+151,30,
+-55,-136,
+139,58,
+-45,142,
+24,-148,
+-9,40,
+-150,17,
+-3,102,
+-23,-10,
+-11,-89,
+-197,-23,
+-20,14,
+-130,-41,
+57,32,
+-62,82,
+78,-11,
+-11,43,
+51,-67,
+-82,88,
+88,-17,
+42,53,
+6,-92,
+20,42,
+-30,-183,
+-29,-62,
+-39,-104,
+-48,50,
+67,-78,
+145,-63,
+-154,-73,
+39,23,
+40,60,
+38,-72,
+-28,198,
+-91,-68,
+38,27,
+-117,-31,
+-75,-156,
+85,-19,
+-1,-116,
+-104,-68,
+-165,-9,
+-4,-93,
+-196,-8,
+-42,-21,
+-32,-30,
+193,31,
+116,147,
+-43,62,
+-7,106,
+-12,-17,
+-30,-43,
+8,-99,
+29,-117,
+30,-82,
+57,59,
+-95,-111,
+154,100,
+-141,-93,
+-32,56,
+-85,-19,
+-40,54,
+28,43,
+-15,-24,
+-75,-104,
+-53,-59,
+-132,-14,
+58,100,
+-147,-23,
+-33,190,
+-93,-79,
+-15,-142,
+55,-14,
+-40,-13,
+46,-186,
+-40,47,
+-98,78,
+37,-8,
+28,-85,
+-185,-35,
+127,-57,
+12,-37,
+-38,74,
+114,-152,
+17,89,
+-65,-18,
+17,123,
+-14,152,
+-75,-19,
+18,66,
+-62,-97,
+20,-4,
+80,-37,
+183,-65,
+-71,-40,
+-16,-91,
+-20,20,
+27,11,
+31,-104,
+-6,-47,
+17,37,
+-145,23,
+-40,-26,
+131,128,
+130,-10,
+26,-112,
+-24,-97,
+149,6,
+60,112,
+131,43,
+72,102,
+-68,-81,
+32,-202,
+-26,115,
+140,9,
+20,-14,
+-65,-64,
+-51,-68,
+33,-110,
+-55,-21,
+78,28,
+-67,-21,
+166,124,
+-9,-84,
+-83,-67,
+-68,72,
+103,77,
+39,-97,
+32,53,
+165,-11,
+88,-82,
+-41,127,
+116,10,
+-103,98,
+82,57,
+45,57,
+-8,-65,
+9,-61,
+26,-79,
+90,68,
+-71,-13,
+-21,81,
+-14,72,
+-23,-13,
+34,-65,
+-38,76,
+-104,11,
+-50,21,
+61,-82,
+27,22,
+-121,82,
+-70,-104,
+-26,-62,
+36,87,
+-2,-11,
+-14,14,
+-33,68,
+156,78,
+66,40,
+-28,-72,
+-54,58,
+-40,-167,
+46,-4,
+-30,8,
+-167,-95,
+-110,158,
+137,-23,
+-46,25,
+73,-34,
+101,28,
+121,109,
+59,66,
+33,-66,
+0,-62,
+-41,-25,
+-12,22,
+17,-23,
+-6,-39,
+-10,-91,
+-31,-40,
+-26,-114,
+-5,-50,
+-95,70,
+86,-74,
+-15,-17,
+113,99,
+2,8,
+47,76,
+-76,-28,
+-55,-44,
+-28,-2,
+-75,63,
+-16,-3,
+-59,37,
+12,-129,
+-12,9,
+-9,-31,
+-62,-72,
+-8,0,
+41,-41,
+73,-6,
+14,109,
+24,82,
+41,-25,
+126,-76,
+63,164,
+19,-57,
+24,23,
+-46,44,
+-8,65,
+-1,-43,
+-45,24,
+-13,-101,
+60,29,
+-26,-39,
+37,-14,
+49,0,
+70,-1,
+-37,-90,
+-88,71,
+-42,-70,
+-2,-41,
+-42,5,
+14,116,
+89,5,
+35,-13,
+112,-41,
+-97,-28,
+-36,78,
+-101,-20,
+-20,-68,
+-78,20,
+63,57,
+-21,-28,
+38,-47,
+28,22,
+-56,-13,
+-27,28,
+27,9,
+92,86,
+-22,47,
+-3,14,
+-18,14,
+78,74,
+66,88,
+-63,-24,
+-73,-42,
+-67,51,
+-73,-65,
+-54,78,
+55,39,
+-31,74,
+-9,11,
+9,49,
+-51,-18,
+-12,-6,
+-13,68,
+16,5,
+25,6,
+-20,-43,
+-117,48,
+50,27,
+15,-37,
+31,-66,
+3,-26,
+42,-16,
+-17,61,
+-6,-32,
+-22,-71,
+27,-88,
+22,-2,
+62,-138,
+41,18,
+-42,9,
+48,-31,
+23,4,
+-71,30,
+51,55,
+38,62,
+15,20,
+110,8,
+-62,35,
+-49,0,
+75,5,
+-1,37,
+59,-2,
+32,7,
+51,-29,
+91,69,
+24,-61,
+-82,-33,
+19,-46,
+-24,18,
+27,-63,
+44,2,
+-40,90,
+69,-41,
+-19,-82,
+-17,14,
+-36,-54,
+11,11,
+41,33,
+23,85,
+42,4,
+53,-40,
+22,31,
+-99,-15,
+-39,-48,
+-30,-26,
+-52,92,
+23,-21,
+8,15,
+-13,-71,
+-23,-23,
+-4,16,
+11,36,
+-8,22,
+4,24,
+23,-39,
+-4,-63,
+83,40,
+-55,2,
+39,22,
+-64,-73,
+-5,78,
+-38,-5,
+2,18,
+-7,-44,
+-16,-59,
+42,70,
+-10,-1,
+9,-7,
+66,-24,
+17,-32,
+6,-22,
+54,61,
+69,39,
+6,-74,
+3,83,
+-23,-29,
+60,-53,
+43,-42,
+1,-24,
+70,14,
+65,-24,
+2,-39,
+29,46,
+38,48,
+26,25,
+7,-17,
+-16,-71,
+28,-34,
+-6,15,
+44,-4,
+13,-5,
+14,-14,
+-50,21,
+-20,-28,
+16,-22,
+-80,72,
+38,-27,
+-24,-60,
+-4,-9,
+-3,-8,
+19,-18,
+14,21,
+-50,4,
+-11,15,
+-6,13,
+3,-68,
+-7,26,
+70,30,
+-48,6,
+-20,-5,
+-10,-68,
+17,-32,
+28,31,
+31,-1,
+-51,35,
+-4,12,
+-18,4,
+-17,-7,
+-3,-10,
+3,4,
+-31,15,
+-7,22,
+32,-23,
+12,-9,
+25,54,
+-7,5,
+56,-15,
+43,8,
+-54,-24,
+4,-40,
+-3,27,
+12,10,
+-4,10,
+-2,-59,
+12,0,
+-5,18,
+56,-36,
+-9,21,
+-18,-27,
+20,6,
+-7,-32,
+-38,6,
+-34,16,
+-51,-20,
+-11,9,
+27,25,
+10,7,
+-1,-4,
+-6,-7,
+-28,-1,
+14,24,
+1,31,
+32,1,
+-54,8,
+-2,-10,
+-7,12,
+20,-9,
+12,15,
+-26,10,
+-19,-21,
+39,-33,
+-10,-46,
+-1,-10,
+-10,-8,
+-30,36,
+6,-3,
+-11,-15,
+13,18,
+-13,-34,
+4,-22,
+34,-7,
+-24,5,
+5,3,
+8,-7,
+1,-4,
+15,14,
+-18,25,
+6,-10,
+18,20,
+-8,22,
+-3,-13,
+11,-10,
+-2,-2,
+-17,5,
+-1,-17,
+0,-6,
+4,12,
+-18,5,
+9,-1,
+-18,-9,
+11,-26,
+-19,-7,
+-22,-21,
+16,-2,
+7,-9,
+10,2,
+11,11,
+14,-35,
+12,-13,
+-3,4,
+-2,-29,
+26,-11,
+8,-11,
+-10,1,
+0,-10,
+6,17,
+-9,11,
+-25,-10,
+-6,-8,
+3,-14,
+-7,-10,
+0,11,
+-4,2,
+9,-11,
+24,-17,
+1,5,
+-4,13,
+16,13,
+3,-14,
+-16,-7,
+17,12,
+-12,1,
+8,-6,
+10,9,
+10,2,
+1,-2,
+-1,10,
+-2,-10,
+-1,-13,
+8,4,
+-7,3,
+-15,-10,
+-3,2,
+-3,-2,
+-3,-2,
+10,-6,
+-7,5,
+-5,1,
+7,-1,
+-1,-2,
+-6,5,
+2,-10,
+-10,7,
+-11,2,
+5,1,
+-5,-8,
+-9,8,
+8,1,
+-4,7,
+-2,1,
+6,-5,
+-4,0,
+-3,-4,
+6,-1,
+-2,-3,
+-4,2,
+5,1,
+-1,-1,
+-5,1,
+7,2,
+-4,0,
+-3,1,
+7,1,
+-3,1,
+-3,0,
+6,0,
+-3,0,
+-3,-1,
+7,-1,
+-3,-1,
+-4,0,
+7,-2,
+-5,-1,
+-1,1,
+5,-1,
+-4,-2,
+-2,3,
+6,1,
+-3,4,
+-4,0,
+6,5,
+-2,-1,
+-4,-7,
+8,-1,
+-9,-8,
+-5,8,
+5,-1,
+-11,-2,
+-10,-7,
+2,10,
+-6,-5,
+-1,2,
+7,1,
+-5,-1,
+-7,-5,
+10,6,
+-3,2,
+-3,2,
+-3,-2,
+-15,10,
+-7,-3,
+8,-4,
+-1,13,
+-2,10,
+-1,-10,
+1,2,
+10,-2,
+10,-9,
+8,6,
+-12,-1,
+17,-12,
+-16,7,
+3,14,
+16,-13,
+-4,-13,
+1,-5,
+24,17,
+9,11,
+-4,-2,
+0,-11,
+-7,10,
+3,14,
+-6,8,
+-25,10,
+-9,-11,
+6,-17,
+0,10,
+-10,-1,
+8,11,
+26,11,
+-2,29,
+-3,-4,
+12,13,
+14,35,
+11,-11,
+10,-2,
+7,9,
+16,2,
+-22,21,
+-19,7,
+11,26,
+-18,9,
+9,1,
+-18,-5,
+4,-12,
+0,6,
+-1,17,
+-17,-5,
+-2,2,
+11,10,
+-3,13,
+-8,-22,
+18,-20,
+6,10,
+-18,-25,
+15,-14,
+1,4,
+8,7,
+5,-3,
+-24,-5,
+34,7,
+4,22,
+-13,34,
+13,-18,
+-11,15,
+6,3,
+-30,-36,
+-10,8,
+-1,10,
+-10,46,
+39,33,
+-19,21,
+-26,-10,
+12,-15,
+20,9,
+-7,-12,
+-2,10,
+-54,-8,
+32,-1,
+1,-31,
+14,-24,
+-28,1,
+-6,7,
+-1,4,
+10,-7,
+27,-25,
+-11,-9,
+-51,20,
+-34,-16,
+-38,-6,
+-7,32,
+20,-6,
+-18,27,
+-9,-21,
+56,36,
+-5,-18,
+12,0,
+-2,59,
+-4,-10,
+12,-10,
+-3,-27,
+4,40,
+-54,24,
+43,-8,
+56,15,
+-7,-5,
+25,-54,
+12,9,
+32,23,
+-7,-22,
+-31,-15,
+3,-4,
+-3,10,
+-17,7,
+-18,-4,
+-4,-12,
+-51,-35,
+31,1,
+28,-31,
+17,32,
+-10,68,
+-20,5,
+-48,-6,
+70,-30,
+-7,-26,
+3,68,
+-6,-13,
+-11,-15,
+-50,-4,
+14,-21,
+19,18,
+-3,8,
+-4,9,
+-24,60,
+38,27,
+-80,-72,
+16,22,
+-20,28,
+-50,-21,
+14,14,
+13,5,
+44,4,
+-6,-15,
+28,34,
+-16,71,
+7,17,
+26,-25,
+38,-48,
+29,-46,
+2,39,
+65,24,
+70,-14,
+1,24,
+43,42,
+60,53,
+-23,29,
+3,-83,
+6,74,
+69,-39,
+54,-61,
+6,22,
+17,32,
+66,24,
+9,7,
+-10,1,
+42,-70,
+-16,59,
+-7,44,
+2,-18,
+-38,5,
+-5,-78,
+-64,73,
+39,-22,
+-55,-2,
+83,-40,
+-4,63,
+23,39,
+4,-24,
+-8,-22,
+11,-36,
+-4,-16,
+-23,23,
+-13,71,
+8,-15,
+23,21,
+-52,-92,
+-30,26,
+-39,48,
+-99,15,
+22,-31,
+53,40,
+42,-4,
+23,-85,
+41,-33,
+11,-11,
+-36,54,
+-17,-14,
+-19,82,
+69,41,
+-40,-90,
+44,-2,
+27,63,
+-24,-18,
+19,46,
+-82,33,
+24,61,
+91,-69,
+51,29,
+32,-7,
+59,2,
+-1,-37,
+75,-5,
+-49,0,
+-62,-35,
+110,-8,
+15,-20,
+38,-62,
+51,-55,
+-71,-30,
+23,-4,
+48,31,
+-42,-9,
+41,-18,
+62,138,
+22,2,
+27,88,
+-22,71,
+-6,32,
+-17,-61,
+42,16,
+3,26,
+31,66,
+15,37,
+50,-27,
+-117,-48,
+-20,43,
+25,-6,
+16,-5,
+-13,-68,
+-12,6,
+-51,18,
+9,-49,
+-9,-11,
+-31,-74,
+55,-39,
+-54,-78,
+-73,65,
+-67,-51,
+-73,42,
+-63,24,
+66,-88,
+78,-74,
+-18,-14,
+-3,-14,
+-22,-47,
+92,-86,
+27,-9,
+-27,-28,
+-56,13,
+28,-22,
+38,47,
+-21,28,
+63,-57,
+-78,-20,
+-20,68,
+-101,20,
+-36,-78,
+-97,28,
+112,41,
+35,13,
+89,-5,
+14,-116,
+-42,-5,
+-2,41,
+-42,70,
+-88,-71,
+-37,90,
+70,1,
+49,0,
+37,14,
+-26,39,
+60,-29,
+-13,101,
+-45,-24,
+-1,43,
+-8,-65,
+-46,-44,
+24,-23,
+19,57,
+63,-164,
+126,76,
+41,25,
+24,-82,
+14,-109,
+73,6,
+41,41,
+-8,0,
+-62,72,
+-9,31,
+-12,-9,
+12,129,
+-59,-37,
+-16,3,
+-75,-63,
+-28,2,
+-55,44,
+-76,28,
+47,-76,
+2,-8,
+113,-99,
+-15,17,
+86,74,
+-95,-70,
+-5,50,
+-26,114,
+-31,40,
+-10,91,
+-6,39,
+17,23,
+-12,-22,
+-41,25,
+0,62,
+33,66,
+59,-66,
+121,-109,
+101,-28,
+73,34,
+-46,-25,
+137,23,
+-110,-158,
+-167,95,
+-30,-8,
+46,4,
+-40,167,
+-54,-58,
+-28,72,
+66,-40,
+156,-78,
+-33,-68,
+-14,-14,
+-2,11,
+36,-87,
+-26,62,
+-70,104,
+-121,-82,
+27,-22,
+61,82,
+-50,-21,
+-104,-11,
+-38,-76,
+34,65,
+-23,13,
+-14,-72,
+-21,-81,
+-71,13,
+90,-68,
+26,79,
+9,61,
+-8,65,
+45,-57,
+82,-57,
+-103,-98,
+116,-10,
+-41,-127,
+88,82,
+165,11,
+32,-53,
+39,97,
+103,-77,
+-68,-72,
+-83,67,
+-9,84,
+166,-124,
+-67,21,
+78,-28,
+-55,21,
+33,110,
+-51,68,
+-65,64,
+20,14,
+140,-9,
+-26,-115,
+32,202,
+-68,81,
+72,-102,
+131,-43,
+60,-112,
+149,-6,
+-24,97,
+26,112,
+130,10,
+131,-128,
+-40,26,
+-145,-23,
+17,-37,
+-6,47,
+31,104,
+27,-11,
+-20,-20,
+-16,91,
+-71,40,
+183,65,
+80,37,
+20,4,
+-62,97,
+18,-66,
+-75,19,
+-14,-152,
+17,-123,
+-65,18,
+17,-89,
+114,152,
+-38,-74,
+12,37,
+127,57,
+-185,35,
+28,85,
+37,8,
+-98,-78,
+-40,-47,
+46,186,
+-40,13,
+55,14,
+-15,142,
+-93,79,
+-33,-190,
+-147,23,
+58,-100,
+-132,14,
+-53,59,
+-75,104,
+-15,24,
+28,-43,
+-40,-54,
+-85,19,
+-32,-56,
+-141,93,
+154,-100,
+-95,111,
+57,-59,
+30,82,
+29,117,
+8,99,
+-30,43,
+-12,17,
+-7,-106,
+-43,-62,
+116,-147,
+193,-31,
+-32,30,
+-42,21,
+-196,8,
+-4,93,
+-165,9,
+-104,68,
+-1,116,
+85,19,
+-75,156,
+-117,31,
+38,-27,
+-91,68,
+-28,-198,
+38,72,
+40,-60,
+39,-23,
+-154,73,
+145,63,
+67,78,
+-48,-50,
+-39,104,
+-29,62,
+-30,183,
+20,-42,
+6,92,
+42,-53,
+88,17,
+-82,-88,
+51,67,
+-11,-43,
+78,11,
+-62,-82,
+57,-32,
+-130,41,
+-20,-14,
+-197,23,
+-11,89,
+-23,10,
+-3,-102,
+-150,-17,
+-9,-40,
+24,148,
+-45,-142,
+139,-58,
+-55,136,
+151,-30,
+-73,45,
+-79,98,
+-16,63,
+-184,-61,
+-33,-33,
+-56,164,
+-106,81,
+6,150,
+-64,36,
+-31,214,
+0,-90,
+37,-152,
+89,-123,
+195,-1,
+-6,66,
+44,-21,
+-36,21,
+-155,42,
+-124,-79,
+-9,-56,
+-111,74,
+104,-140,
+-112,116,
+76,-84,
+-68,169,
+70,79,
+9,-1,
+61,13,
+-2,13,
+-151,41,
+-86,150,
+91,17,
+-73,119,
+187,-46,
+60,229,
+-21,23,
+-172,-36,
+-15,86,
+-67,-98,
+-116,-13,
+-58,120,
+170,19,
+-35,-41,
+-97,119,
+-59,-30,
+-53,68,
+-5,-94,
+-63,-26,
+79,-7,
+-188,-96,
+188,48,
+110,69,
+63,-35,
+192,47,
+-122,105,
+9,-59,
+-54,68,
+-53,-158,
+-48,-156,
+-101,-40,
+-57,182,
+-24,-95,
+30,-20,
+-104,51,
+-116,-127,
+100,80,
+-2,152,
+-5,45,
+105,-164,
+92,-163,
+-253,-21,
+-95,-48,
+95,-43,
+-29,-253,
+226,-71,
+81,-64,
+-207,-72,
+-75,177,
+-38,-147,
+130,-103,
+-65,-29,
+-58,65,
+-149,45,
+-84,65,
+-42,-115,
+-49,120,
+141,-127,
+2,-50,
+-24,-124,
+-102,215,
+93,29,
+50,-113,
+7,-44,
+-82,-91,
+39,-193,
+-3,-104,
+-64,-71,
+274,70,
+-16,-135,
+108,112,
+121,-166,
+-88,-33,
+-201,125,
+76,-186,
+-84,-33,
+81,62,
+116,46,
+71,4,
+-25,47,
+-6,-36,
+-45,1,
+181,228,
+-75,38,
+-100,-126,
+76,51,
+56,87,
+-109,153,
+-99,50,
+85,-72,
+73,-38,
+-79,145,
+173,-114,
+135,-114,
+-64,-141,
+122,-1,
+-197,151,
+-13,37,
+-122,-98,
+-63,79,
+94,301,
+-76,42,
+251,-9,
+-116,-144,
+-43,44,
+114,-241,
+123,-185,
+86,-82,
+-22,-69,
+-192,7,
+-8,61,
+61,24,
+-57,-22,
+-121,-17,
+-11,58,
+-225,28,
+-127,13,
+1,119,
+-74,-25,
+43,88,
+-49,-215,
+13,19,
+257,-171,
+-57,39,
+-3,61,
+-8,114,
+-62,87,
+44,43,
+208,141,
+-209,-6,
+-15,62,
+-68,-31,
+-81,50,
+-66,80,
+-42,51,
+-56,-114,
+-33,-96,
+228,-62,
+159,7,
+-162,-145,
+105,-159,
+-8,-158,
+161,-54,
+-100,33,
+120,-7,
+89,66,
+47,18,
+-194,30,
+78,46,
+-135,-44,
+-17,-106,
+-6,102,
+11,-198,
+-123,-137,
+44,136,
+-97,129,
+37,39,
+-180,114,
+81,-14,
+137,-37,
+120,-31,
+-103,-304,
+-92,15,
+39,4,
+37,222,
+32,49,
+-139,235,
+1,-63,
+143,67,
+-50,-76,
+-109,-45,
+14,-37,
+69,78,
+-78,102,
+142,-129,
+105,-76,
+127,-103,
+28,138,
+20,-29,
+184,-176,
+148,-90,
+-29,94,
+-38,169,
+-52,143,
+111,200,
+-92,16,
+278,19,
+66,-47,
+65,53,
+61,39,
+29,9,
+-57,115,
+105,-3,
+172,-45,
+-193,-62,
+49,120,
+84,106,
+2,97,
+-40,-232,
+-104,57,
+-195,-52,
+104,-99,
+71,22,
+-65,96,
+-207,-91,
+-54,81,
+-284,-118,
+-24,-208,
+-158,57,
+53,-54,
+18,-67,
+-97,48,
+100,-27,
+194,40,
+76,-99,
+68,-219,
+77,2,
+-1,-47,
+52,123,
+27,19,
+19,-292,
+97,61,
+-100,-109,
+66,-251,
+2,-114,
+47,-39,
+-294,4,
+52,250,
+-60,-159,
+-137,-58,
+45,84,
+159,-196,
+-39,78,
+-217,-85,
+-80,69,
+72,113,
+-209,-19,
+248,-155,
+217,-36,
+-80,-74,
+-2,-263,
+38,82,
+-53,168,
+-150,151,
+59,110,
+2,87,
+246,8,
+-188,-95,
+-110,95,
+-63,44,
+38,-17,
+56,40,
+159,-53,
+9,-1,
+-145,39,
+-73,-220,
+-33,60,
+174,-157,
+-139,174,
+65,-54,
+-118,220,
+307,-26,
+-96,43,
+-220,86,
+60,-92,
+-29,7,
+123,-24,
+-22,-78,
+-97,-108,
+-169,-123,
+63,-30,
+128,-125,
+-8,-232,
+114,-120,
+-158,180,
+203,-104,
+-225,-129,
+-295,-81,
+103,-133,
+-15,-147,
+-167,-205,
+14,-111,
+60,15,
+180,-183,
+133,-129,
+-105,69,
+-231,-45,
+-130,0,
+58,-88,
+17,-16,
+-119,-222,
+106,106,
+-51,111,
+-110,13,
+85,148,
+35,-13,
+53,199,
+-211,-185,
+-168,153,
+69,31,
+-16,-200,
+-110,84,
+191,121,
+70,51,
+-186,13,
+67,96,
+-133,-215,
+134,36,
+201,-75,
+-223,207,
+-201,50,
+-52,-109,
+-44,-170,
+155,51,
+61,-19,
+90,188,
+-12,35,
+0,27,
+-45,41,
+-42,43,
+167,22,
+24,102,
+-113,-76,
+58,-258,
+122,126,
+93,-118,
+-49,-264,
+-41,-58,
+-63,54,
+-145,176,
+-33,-144,
+284,58,
+-193,-22,
+-111,-53,
+-51,112,
+-5,-210,
+44,-83,
+-201,-34,
+170,48,
+-201,-6,
+-55,-15,
+43,153,
+3,284,
+-15,177,
+-3,77,
+136,-97,
+70,-115,
+-51,28,
+-31,77,
+16,41,
+108,105,
+167,-256,
+81,126,
+-94,-4,
+112,255,
+-78,-73,
+25,-136,
+77,0,
+44,142,
+-106,10,
+-237,-30,
+-196,-161,
+-239,149,
+177,74,
+37,41,
+29,205,
+37,-184,
+-123,94,
+-10,45,
+-245,-142,
+-78,8,
+102,-95,
+5,124,
+-99,-48,
+16,-160,
+147,91,
+29,-10,
+110,-15,
+41,-70,
+143,-17,
+24,57,
+-208,-76,
+56,0,
+26,120,
+-135,51,
+-71,-71,
+119,86,
+53,-34,
+-60,184,
+-52,-125,
+-139,120,
+-278,104,
+81,102,
+-199,37,
+-83,-223,
+198,-40,
+-132,-65,
+-187,-201,
+-132,-91,
+-80,62,
+-115,-59,
+-278,-176,
+51,-149,
+-148,135,
+38,8,
+107,-131,
+100,194,
+-15,197,
+-175,73,
+-148,51,
+-46,-52,
+39,96,
+93,71,
+-159,-222,
+-188,-218,
+-24,0,
+318,-50,
+38,-121,
+-148,29,
+-44,-49,
+92,142,
+31,-181,
+4,107,
+26,-245,
+71,-154,
+49,-19,
+-3,8,
+-36,87,
+-241,-79,
+2,-75,
+127,147,
+-128,198,
+-157,129,
+204,97,
+-207,-98,
+-75,-8,
+156,64,
+18,71,
+-130,-71,
+172,13,
+-150,30,
+1,95,
+-10,252,
+270,168,
+-207,60,
+41,96,
+-54,79,
+330,86,
+88,-102,
+59,63,
+-78,-45,
+-273,-4,
+73,91,
+-283,-160,
+-36,13,
+113,104,
+1,-88,
+-72,57,
+88,-117,
+113,117,
+60,-93,
+20,72,
+308,-121,
+221,-231,
+24,146,
+6,0,
+73,-54,
+225,-38,
+-2,129,
+-335,-9,
+-113,-7,
+-260,-114,
+-65,-65,
+-155,-170,
+133,7,
+104,55,
+0,31,
+-169,80,
+-231,136,
+1,21,
+-143,31,
+-81,27,
+-188,118,
+30,150,
+-42,-317,
+-101,123,
+161,-22,
+122,-25,
+-27,80,
+101,-31,
+-18,-201,
+203,-15,
+-36,-68,
+192,-76,
+-48,217,
+-107,13,
+-70,121,
+-63,-53,
+266,18,
+105,0,
+30,66,
+-42,-34,
+-86,12,
+220,67,
+157,-170,
+-69,309,
+-30,-233,
+-60,-8,
+-85,-4,
+-17,72,
+42,-77,
+3,4,
+130,-134,
+8,52,
+218,-227,
+-90,-125,
+-11,-215,
+103,-239,
+174,171,
+199,161,
+109,85,
+-161,-92,
+-38,-294,
+82,41,
+-43,-141,
+-149,97,
+90,91,
+41,212,
+-4,105,
+-153,23,
+92,-111,
+-133,172,
+84,-297,
+12,93,
+-97,90,
+-33,-6,
+-30,-151,
+97,25,
+131,-79,
+-149,38,
+64,65,
+88,262,
+-61,-52,
+-58,252,
+-40,146,
+-210,-90,
+66,18,
+18,223,
+106,167,
+33,94,
+240,156,
+-15,-7,
+136,-201,
+-25,-33,
+-26,-158,
+243,-107,
+-31,-115,
+199,55,
+133,-89,
+-228,123,
+-176,-20,
+-12,-140,
+98,69,
+27,23,
+156,68,
+72,-115,
+-142,149,
+-157,-6,
+-155,73,
+93,96,
+-34,21,
+-165,150,
+-120,14,
+-205,88,
+-30,-57,
+158,-140,
+12,58,
+-96,-57,
+-92,257,
+-259,96,
+65,-11,
+236,121,
+-9,111,
+30,154,
+252,-45,
+-18,-180,
+69,-92,
+78,89,
+25,93,
+-42,-164,
+35,-53,
+48,-43,
+247,-145,
+-283,-121,
+-279,189,
+132,190,
+50,-14,
+87,27,
+-67,123,
+94,135,
+-54,-275,
+80,-162,
+27,10,
+-88,6,
+56,171,
+42,-153,
+234,48,
+30,21,
+240,-53,
+222,48,
+-148,68,
+114,-49,
+76,-124,
+-79,101,
+-24,-61,
+-3,-60,
+132,-4,
+18,-93,
+50,114,
+-62,131,
+-39,-222,
+-116,-36,
+47,3,
+-52,255,
+-109,114,
+106,85,
+29,-50,
+108,-126,
+-153,110,
+279,140,
+-52,20,
+107,-48,
+-288,-186,
+6,146,
+78,-265,
+150,41,
+31,13,
+32,-77,
+239,-137,
+-202,-144,
+114,-65,
+-6,-104,
+-153,20,
+62,22,
+154,189,
+-155,145,
+11,145,
+53,-242,
+193,27,
+-59,-1,
+-26,-141,
+35,108,
+-49,174,
+13,33,
+32,157,
+114,95,
+18,114,
+127,285,
+28,-62,
+213,46,
+-251,-92,
+-131,-90,
+-36,7,
+-165,6,
+83,149,
+92,-67,
+97,-35,
+9,227,
+75,-161,
+-7,-7,
+147,-49,
+-258,63,
+24,-103,
+234,-129,
+-26,-42,
+-79,-75,
+-43,8,
+-178,-209,
+23,120,
+-47,97,
+196,-120,
+-18,-85,
+-27,-151,
+64,-185,
+212,63,
+-29,106,
+-19,-61,
+111,49,
+-222,-104,
+65,-9,
+-111,107,
+-26,-160,
+-231,140,
+44,177,
+-79,160,
+-124,-126,
+139,-37,
+68,21,
+-83,-159,
+-115,-125,
+-29,-102,
+161,-117,
+-123,-1,
+-16,21,
+-87,-127,
+-239,-65,
+101,46,
+40,-85,
+-294,-73,
+163,177,
+85,32,
+330,-67,
+-154,-20,
+92,-94,
+-51,-53,
+5,61,
+-73,90,
+-132,-23,
+-195,-66,
+66,-50,
+-190,222,
+-59,-16,
+-91,-66,
+48,8,
+37,187,
+-21,259,
+-149,211,
+-31,-170,
+-7,-80,
+-78,25,
+-9,14,
+-95,-81,
+-13,-79,
+-212,36,
+-8,-26,
+-13,236,
+124,105,
+42,-98,
+17,30,
+123,-61,
+141,-182,
+-190,-100,
+101,29,
+73,-168,
+-102,44,
+-24,79,
+53,159,
+-145,69,
+-74,-196,
+-93,15,
+72,12,
+-20,41,
+38,-115,
+70,50,
+-89,220,
+-160,114,
+117,-91,
+124,3,
+68,150,
+-21,94,
+89,144,
+50,83,
+381,9,
+-42,-12,
+-99,96,
+83,-138,
+-204,91,
+-208,110,
+89,-104,
+157,-38,
+13,-45,
+4,272,
+-89,-49,
+163,92,
+-116,11,
+-50,-154,
+216,41,
+-130,-149,
+-146,-22,
+-13,84,
+123,-113,
+-108,-67,
+-128,-171,
+122,35,
+94,35,
+-93,-113,
+125,62,
+251,61,
+-79,20,
+111,-5,
+-65,38,
+-30,-6,
+-62,4,
+38,138,
+-27,51,
+144,5,
+122,-102,
+125,97,
+111,-139,
+-145,155,
+218,136,
+-70,203,
+35,1,
+6,-82,
+76,-158,
+59,161,
+19,-21,
+21,41,
+90,116,
+78,66,
+31,-236,
+-168,156,
+-153,11,
+89,142,
+112,69,
+260,-61,
+-41,-159,
+16,-17,
+-88,85,
+117,21,
+233,93,
+-110,-35,
+-55,19,
+-44,155,
+-238,-17,
+169,-55,
+-161,126,
+100,-76,
+-80,30,
+111,11,
+-70,51,
+129,80,
+-13,127,
+-78,-79,
+25,-237,
+-145,-94,
+-151,124,
+-63,-39,
+30,-10,
+-82,-99,
+0,-86,
+-62,85,
+-109,2,
+92,160,
+-180,-102,
+-193,96,
+97,-92,
+114,115,
+-32,65,
+35,110,
+144,223,
+111,0,
+77,89,
+-43,65,
+-94,85,
+-89,195,
+70,-25,
+-156,105,
+-35,210,
+-45,136,
+-141,-104,
+-36,-61,
+-56,-2,
+-51,51,
+-78,49,
+-63,105,
+13,-94,
+7,-39,
+-31,90,
+117,52,
+-39,114,
+146,-163,
+-90,22,
+-25,108,
+194,56,
+109,-60,
+-80,9,
+-135,132,
+-188,-94,
+-154,48,
+34,45,
+-29,-194,
+-148,-101,
+53,48,
+7,-110,
+-80,162,
+34,189,
+-28,31,
+76,78,
+6,-216,
+44,-69,
+123,66,
+44,16,
+159,223,
+-123,-15,
+-180,-195,
+180,22,
+-29,7,
+-39,-31,
+114,-64,
+-4,5,
+-120,216,
+110,-124,
+-81,86,
+11,-38,
+51,35,
+13,184,
+-21,-33,
+52,14,
+49,110,
+-15,-95,
+-116,107,
+-33,-94,
+79,89,
+-58,-134,
+40,-49,
+-70,-46,
+-79,187,
+12,113,
+-141,-144,
+3,40,
+-105,17,
+-17,157,
+-15,-172,
+57,-76,
+5,93,
+-16,84,
+30,-59,
+110,-6,
+32,26,
+-36,246,
+-38,-62,
+58,32,
+-9,72,
+-279,61,
+-212,-61,
+-113,-90,
+-90,-102,
+-51,30,
+165,-70,
+-23,-15,
+89,70,
+47,-220,
+-94,101,
+-44,47,
+22,55,
+-21,153,
+-106,161,
+24,-51,
+-88,122,
+-165,-77,
+107,-58,
+-199,-19,
+18,14,
+87,-72,
+37,-41,
+115,48,
+54,-37,
+143,-13,
+-41,-156,
+12,55,
+59,30,
+172,-110,
+28,-85,
+3,-93,
+30,19,
+211,39,
+-2,77,
+40,-171,
+-139,37,
+185,49,
+-80,86,
+106,5,
+102,-63,
+49,40,
+1,-24,
+17,-68,
+84,56,
+-43,91,
+-59,-72,
+32,67,
+4,163,
+-76,-34,
+106,114,
+133,-41,
+-137,96,
+19,-174,
+-47,162,
+79,106,
+14,73,
+-59,-25,
+-159,75,
+-21,88,
+7,138,
+-28,-48,
+8,2,
+-168,78,
+52,158,
+39,-37,
+-70,149,
+-51,81,
+29,-130,
+-30,60,
+-100,-136,
+59,-22,
+-65,-81,
+102,-56,
+83,-15,
+121,-61,
+79,32,
+86,-53,
+-63,-60,
+27,35,
+-135,31,
+69,92,
+-6,9,
+-112,58,
+37,-117,
+-126,-110,
+-85,-179,
+103,-212,
+72,-71,
+-74,104,
+116,-38,
+37,-77,
+147,88,
+-62,59,
+-43,25,
+77,5,
+88,0,
+-104,22,
+-66,40,
+7,-80,
+176,-12,
+-133,-91,
+0,-6,
+60,-97,
+101,-5,
+70,-38,
+-153,-64,
+-11,83,
+-35,-37,
+80,1,
+-122,-50,
+131,-87,
+-34,90,
+-5,45,
+104,-60,
+1,48,
+84,58,
+53,-80,
+-122,71,
+117,-38,
+4,-28,
+93,2,
+-72,50,
+-52,-19,
+73,37,
+-74,20,
+-76,-21,
+-15,-137,
+76,52,
+170,182,
+-72,-48,
+-61,89,
+-10,64,
+-158,-77,
+169,111,
+154,-42,
+-25,-71,
+89,62,
+-47,-16,
+-111,-85,
+-52,-17,
+-18,11,
+-6,-106,
+40,-136,
+-9,-100,
+56,-66,
+-37,96,
+10,126,
+110,-24,
+-29,-18,
+-34,10,
+-38,105,
+154,-55,
+5,78,
+-53,-24,
+15,-31,
+-6,24,
+74,-94,
+33,-61,
+0,42,
+-68,-112,
+-29,-57,
+58,-3,
+160,-101,
+54,-20,
+36,-21,
+40,-11,
+149,-107,
+18,12,
+-11,25,
+137,73,
+24,122,
+117,1,
+99,-30,
+-42,117,
+70,24,
+-56,-132,
+52,-53,
+-29,-39,
+138,6,
+-45,-56,
+-29,-42,
+-16,9,
+-89,-24,
+43,-23,
+48,-114,
+-51,-51,
+-161,-44,
+-28,-8,
+62,6,
+50,2,
+39,75,
+28,-57,
+-57,77,
+68,-85,
+-24,88,
+2,-110,
+29,39,
+26,-117,
+45,-65,
+12,50,
+-20,21,
+77,116,
+35,3,
+-32,-117,
+-72,116,
+-37,47,
+40,128,
+40,23,
+123,-76,
+-72,-102,
+11,5,
+-44,75,
+83,17,
+24,35,
+28,13,
+-4,13,
+26,59,
+-131,24,
+31,-58,
+109,94,
+113,-42,
+-10,72,
+65,-37,
+-85,92,
+34,112,
+-33,6,
+35,47,
+65,-10,
+26,-21,
+-27,-48,
+26,42,
+15,-57,
+-20,77,
+64,59,
+4,77,
+-29,-9,
+-11,1,
+24,85,
+-48,-50,
+-127,-88,
+49,75,
+-25,29,
+-26,-157,
+17,32,
+-106,32,
+13,-1,
+-7,-14,
+-22,-18,
+94,71,
+10,-82,
+86,28,
+-98,112,
+-10,2,
+54,-101,
+2,-47,
+7,-38,
+-33,-9,
+49,26,
+-12,60,
+33,172,
+75,-57,
+63,14,
+38,55,
+29,48,
+-42,22,
+27,-10,
+137,-92,
+9,30,
+-57,60,
+13,-37,
+49,0,
+-78,52,
+4,-142,
+-27,-8,
+64,38,
+104,-63,
+-67,-15,
+-14,64,
+-8,-40,
+-48,8,
+-86,7,
+0,64,
+-27,22,
+-16,16,
+54,27,
+63,46,
+44,-63,
+-33,-34,
+-5,-63,
+-47,18,
+3,-55,
+30,-6,
+-71,4,
+-22,-44,
+42,-31,
+136,-23,
+76,14,
+-3,15,
+-37,-3,
+36,-95,
+24,11,
+44,-52,
+-61,-30,
+-11,-75,
+55,-20,
+16,-17,
+-37,23,
+-7,-39,
+-30,47,
+-30,-5,
+40,182,
+37,-68,
+-8,-31,
+-35,-2,
+9,-2,
+-18,-29,
+-49,-73,
+4,-20,
+2,18,
+-44,-25,
+-38,55,
+-53,-63,
+-47,-56,
+-6,72,
+-7,12,
+-37,-34,
+28,-10,
+120,-27,
+-24,-26,
+19,-79,
+-15,42,
+6,-68,
+1,10,
+-45,-25,
+30,17,
+25,9,
+-3,29,
+-31,66,
+-62,-36,
+-54,8,
+-3,42,
+18,40,
+9,-75,
+0,18,
+-75,-49,
+26,-51,
+-28,51,
+-55,34,
+-14,-8,
+-1,-5,
+17,-57,
+-60,77,
+27,-1,
+-5,-11,
+34,42,
+-17,54,
+0,-36,
+63,13,
+-42,-37,
+-22,-72,
+7,-3,
+-50,-18,
+53,74,
+29,-1,
+60,27,
+40,17,
+10,27,
+46,-12,
+40,-2,
+12,2,
+-8,-6,
+-17,-6,
+-15,23,
+-8,70,
+-32,-60,
+97,1,
+29,33,
+8,-3,
+5,-20,
+-14,6,
+-46,-23,
+-11,30,
+-52,-17,
+-27,57,
+31,2,
+-38,15,
+-2,58,
+-41,-40,
+26,-23,
+-61,-43,
+15,75,
+58,-21,
+-5,39,
+-10,-28,
+-12,42,
+4,4,
+52,-13,
+38,-16,
+34,-2,
+-54,0,
+-6,-41,
+1,9,
+25,1,
+9,11,
+-36,16,
+-4,27,
+11,-37,
+-21,-2,
+7,30,
+-20,-14,
+5,15,
+19,17,
+-5,53,
+-6,41,
+2,-1,
+9,58,
+-28,-18,
+57,-13,
+-15,17,
+-61,-1,
+-10,7,
+-11,0,
+38,14,
+12,-20,
+-10,53,
+35,-5,
+46,-52,
+-26,-28,
+-41,0,
+13,55,
+-27,-16,
+-25,-12,
+18,19,
+20,13,
+-28,-10,
+-23,35,
+-7,14,
+10,13,
+48,14,
+0,23,
+1,14,
+34,-24,
+14,-48,
+24,3,
+-19,8,
+-4,5,
+-16,11,
+4,-28,
+28,-46,
+-7,-2,
+27,-8,
+11,-9,
+-4,11,
+25,-49,
+-3,-21,
+4,26,
+-9,9,
+25,8,
+-12,19,
+-7,0,
+0,-41,
+-2,-10,
+15,7,
+-15,15,
+-3,34,
+-23,-9,
+-11,20,
+-21,4,
+-11,-13,
+-9,34,
+17,7,
+22,15,
+14,6,
+29,18,
+6,-17,
+-15,-2,
+21,-17,
+23,-11,
+12,4,
+2,6,
+38,-3,
+-17,4,
+-1,-5,
+5,17,
+-17,6,
+-10,-19,
+30,0,
+-17,5,
+-3,-8,
+-8,9,
+12,-12,
+-15,1,
+19,-11,
+19,12,
+8,2,
+2,-9,
+7,-6,
+-26,8,
+1,-6,
+-19,-9,
+0,4,
+31,20,
+-2,14,
+-13,7,
+-13,-2,
+-18,2,
+-7,0,
+-7,19,
+4,-5,
+-14,6,
+5,5,
+2,-6,
+0,-4,
+-7,-1,
+6,-9,
+-13,1,
+20,10,
+-11,7,
+-3,3,
+12,-8,
+-6,1,
+-1,12,
+7,4,
+-3,6,
+-6,-8,
+19,-6,
+-5,3,
+-1,0,
+6,8,
+-10,-2,
+-6,8,
+5,-2,
+-3,2,
+-2,5,
+9,2,
+-8,0,
+-1,-2,
+2,-1,
+3,-1,
+-1,-7,
+3,1,
+0,-3,
+-1,-3,
+6,-4,
+-2,0,
+-2,2,
+5,1,
+-4,0,
+-5,-3,
+5,0,
+-3,-2,
+-2,-1,
+6,0,
+-3,1,
+-3,0,
+6,0,
+-3,0,
+-3,-1,
+6,0,
+-2,1,
+-3,2,
+5,0,
+-5,3,
+-4,0,
+5,-1,
+-2,-2,
+-2,0,
+6,4,
+-1,3,
+0,3,
+3,-1,
+-1,7,
+3,1,
+2,1,
+-1,2,
+-8,0,
+9,-2,
+-2,-5,
+-3,-2,
+5,2,
+-6,-8,
+-10,2,
+6,-8,
+-1,0,
+-5,-3,
+19,6,
+-6,8,
+-3,-6,
+7,-4,
+-1,-12,
+-6,-1,
+12,8,
+-3,-3,
+-11,-7,
+20,-10,
+-13,-1,
+6,9,
+-7,1,
+0,4,
+2,6,
+5,-5,
+-14,-6,
+4,5,
+-7,-19,
+-7,0,
+-18,-2,
+-13,2,
+-13,-7,
+-2,-14,
+31,-20,
+0,-4,
+-19,9,
+1,6,
+-26,-8,
+7,6,
+2,9,
+8,-2,
+19,-12,
+19,11,
+-15,-1,
+12,12,
+-8,-9,
+-3,8,
+-17,-5,
+30,0,
+-10,19,
+-17,-6,
+5,-17,
+-1,5,
+-17,-4,
+38,3,
+2,-6,
+12,-4,
+23,11,
+21,17,
+-15,2,
+6,17,
+29,-18,
+14,-6,
+22,-15,
+17,-7,
+-9,-34,
+-11,13,
+-21,-4,
+-11,-20,
+-23,9,
+-3,-34,
+-15,-15,
+15,-7,
+-2,10,
+0,41,
+-7,0,
+-12,-19,
+25,-8,
+-9,-9,
+4,-26,
+-3,21,
+25,49,
+-4,-11,
+11,9,
+27,8,
+-7,2,
+28,46,
+4,28,
+-16,-11,
+-4,-5,
+-19,-8,
+24,-3,
+14,48,
+34,24,
+1,-14,
+0,-23,
+48,-14,
+10,-13,
+-7,-14,
+-23,-35,
+-28,10,
+20,-13,
+18,-19,
+-25,12,
+-27,16,
+13,-55,
+-41,0,
+-26,28,
+46,52,
+35,5,
+-10,-53,
+12,20,
+38,-14,
+-11,0,
+-10,-7,
+-61,1,
+-15,-17,
+57,13,
+-28,18,
+9,-58,
+2,1,
+-6,-41,
+-5,-53,
+19,-17,
+5,-15,
+-20,14,
+7,-30,
+-21,2,
+11,37,
+-4,-27,
+-36,-16,
+9,-11,
+25,-1,
+1,-9,
+-6,41,
+-54,0,
+34,2,
+38,16,
+52,13,
+4,-4,
+-12,-42,
+-10,28,
+-5,-39,
+58,21,
+15,-75,
+-61,43,
+26,23,
+-41,40,
+-2,-58,
+-38,-15,
+31,-2,
+-27,-57,
+-52,17,
+-11,-30,
+-46,23,
+-14,-6,
+5,20,
+8,3,
+29,-33,
+97,-1,
+-32,60,
+-8,-70,
+-15,-23,
+-17,6,
+-8,6,
+12,-2,
+40,2,
+46,12,
+10,-27,
+40,-17,
+60,-27,
+29,1,
+53,-74,
+-50,18,
+7,3,
+-22,72,
+-42,37,
+63,-13,
+0,36,
+-17,-54,
+34,-42,
+-5,11,
+27,1,
+-60,-77,
+17,57,
+-1,5,
+-14,8,
+-55,-34,
+-28,-51,
+26,51,
+-75,49,
+0,-18,
+9,75,
+18,-40,
+-3,-42,
+-54,-8,
+-62,36,
+-31,-66,
+-3,-29,
+25,-9,
+30,-17,
+-45,25,
+1,-10,
+6,68,
+-15,-42,
+19,79,
+-24,26,
+120,27,
+28,10,
+-37,34,
+-7,-12,
+-6,-72,
+-47,56,
+-53,63,
+-38,-55,
+-44,25,
+2,-18,
+4,20,
+-49,73,
+-18,29,
+9,2,
+-35,2,
+-8,31,
+37,68,
+40,-182,
+-30,5,
+-30,-47,
+-7,39,
+-37,-23,
+16,17,
+55,20,
+-11,75,
+-61,30,
+44,52,
+24,-11,
+36,95,
+-37,3,
+-3,-15,
+76,-14,
+136,23,
+42,31,
+-22,44,
+-71,-4,
+30,6,
+3,55,
+-47,-18,
+-5,63,
+-33,34,
+44,63,
+63,-46,
+54,-27,
+-16,-16,
+-27,-22,
+0,-64,
+-86,-7,
+-48,-8,
+-8,40,
+-14,-64,
+-67,15,
+104,63,
+64,-38,
+-27,8,
+4,142,
+-78,-52,
+49,0,
+13,37,
+-57,-60,
+9,-30,
+137,92,
+27,10,
+-42,-22,
+29,-48,
+38,-55,
+63,-14,
+75,57,
+33,-172,
+-12,-60,
+49,-26,
+-33,9,
+7,38,
+2,47,
+54,101,
+-10,-2,
+-98,-112,
+86,-28,
+10,82,
+94,-71,
+-22,18,
+-7,14,
+13,1,
+-106,-32,
+17,-32,
+-26,157,
+-25,-29,
+49,-75,
+-127,88,
+-48,50,
+24,-85,
+-11,-1,
+-29,9,
+4,-77,
+64,-59,
+-20,-77,
+15,57,
+26,-42,
+-27,48,
+26,21,
+65,10,
+35,-47,
+-33,-6,
+34,-112,
+-85,-92,
+65,37,
+-10,-72,
+113,42,
+109,-94,
+31,58,
+-131,-24,
+26,-59,
+-4,-13,
+28,-13,
+24,-35,
+83,-17,
+-44,-75,
+11,-5,
+-72,102,
+123,76,
+40,-23,
+40,-128,
+-37,-47,
+-72,-116,
+-32,117,
+35,-3,
+77,-116,
+-20,-21,
+12,-50,
+45,65,
+26,117,
+29,-39,
+2,110,
+-24,-88,
+68,85,
+-57,-77,
+28,57,
+39,-75,
+50,-2,
+62,-6,
+-28,8,
+-161,44,
+-51,51,
+48,114,
+43,23,
+-89,24,
+-16,-9,
+-29,42,
+-45,56,
+138,-6,
+-29,39,
+52,53,
+-56,132,
+70,-24,
+-42,-117,
+99,30,
+117,-1,
+24,-122,
+137,-73,
+-11,-25,
+18,-12,
+149,107,
+40,11,
+36,21,
+54,20,
+160,101,
+58,3,
+-29,57,
+-68,112,
+0,-42,
+33,61,
+74,94,
+-6,-24,
+15,31,
+-53,24,
+5,-78,
+154,55,
+-38,-105,
+-34,-10,
+-29,18,
+110,24,
+10,-126,
+-37,-96,
+56,66,
+-9,100,
+40,136,
+-6,106,
+-18,-11,
+-52,17,
+-111,85,
+-47,16,
+89,-62,
+-25,71,
+154,42,
+169,-111,
+-158,77,
+-10,-64,
+-61,-89,
+-72,48,
+170,-182,
+76,-52,
+-15,137,
+-76,21,
+-74,-20,
+73,-37,
+-52,19,
+-72,-50,
+93,-2,
+4,28,
+117,38,
+-122,-71,
+53,80,
+84,-58,
+1,-48,
+104,60,
+-5,-45,
+-34,-90,
+131,87,
+-122,50,
+80,-1,
+-35,37,
+-11,-83,
+-153,64,
+70,38,
+101,5,
+60,97,
+0,6,
+-133,91,
+176,12,
+7,80,
+-66,-40,
+-104,-22,
+88,0,
+77,-5,
+-43,-25,
+-62,-59,
+147,-88,
+37,77,
+116,38,
+-74,-104,
+72,71,
+103,212,
+-85,179,
+-126,110,
+37,117,
+-112,-58,
+-6,-9,
+69,-92,
+-135,-31,
+27,-35,
+-63,60,
+86,53,
+79,-32,
+121,61,
+83,15,
+102,56,
+-65,81,
+59,22,
+-100,136,
+-30,-60,
+29,130,
+-51,-81,
+-70,-149,
+39,37,
+52,-158,
+-168,-78,
+8,-2,
+-28,48,
+7,-138,
+-21,-88,
+-159,-75,
+-59,25,
+14,-73,
+79,-106,
+-47,-162,
+19,174,
+-137,-96,
+133,41,
+106,-114,
+-76,34,
+4,-163,
+32,-67,
+-59,72,
+-43,-91,
+84,-56,
+17,68,
+1,24,
+49,-40,
+102,63,
+106,-5,
+-80,-86,
+185,-49,
+-139,-37,
+40,171,
+-2,-77,
+211,-39,
+30,-19,
+3,93,
+28,85,
+172,110,
+59,-30,
+12,-55,
+-41,156,
+143,13,
+54,37,
+115,-48,
+37,41,
+87,72,
+18,-14,
+-199,19,
+107,58,
+-165,77,
+-88,-122,
+24,51,
+-106,-161,
+-21,-153,
+22,-55,
+-44,-47,
+-94,-101,
+47,220,
+89,-70,
+-23,15,
+165,70,
+-51,-30,
+-90,102,
+-113,90,
+-212,61,
+-279,-61,
+-9,-72,
+58,-32,
+-38,62,
+-36,-246,
+32,-26,
+110,6,
+30,59,
+-16,-84,
+5,-93,
+57,76,
+-15,172,
+-17,-157,
+-105,-17,
+3,-40,
+-141,144,
+12,-113,
+-79,-187,
+-70,46,
+40,49,
+-58,134,
+79,-89,
+-33,94,
+-116,-107,
+-15,95,
+49,-110,
+52,-14,
+-21,33,
+13,-184,
+51,-35,
+11,38,
+-81,-86,
+110,124,
+-120,-216,
+-4,-5,
+114,64,
+-39,31,
+-29,-7,
+180,-22,
+-180,195,
+-123,15,
+159,-223,
+44,-16,
+123,-66,
+44,69,
+6,216,
+76,-78,
+-28,-31,
+34,-189,
+-80,-162,
+7,110,
+53,-48,
+-148,101,
+-29,194,
+34,-45,
+-154,-48,
+-188,94,
+-135,-132,
+-80,-9,
+109,60,
+194,-56,
+-25,-108,
+-90,-22,
+146,163,
+-39,-114,
+117,-52,
+-31,-90,
+7,39,
+13,94,
+-63,-105,
+-78,-49,
+-51,-51,
+-56,2,
+-36,61,
+-141,104,
+-45,-136,
+-35,-210,
+-156,-105,
+70,25,
+-89,-195,
+-94,-85,
+-43,-65,
+77,-89,
+111,0,
+144,-223,
+35,-110,
+-32,-65,
+114,-115,
+97,92,
+-193,-96,
+-180,102,
+92,-160,
+-109,-2,
+-62,-85,
+0,86,
+-82,99,
+30,10,
+-63,39,
+-151,-124,
+-145,94,
+25,237,
+-78,79,
+-13,-127,
+129,-80,
+-70,-51,
+111,-11,
+-80,-30,
+100,76,
+-161,-126,
+169,55,
+-238,17,
+-44,-155,
+-55,-19,
+-110,35,
+233,-93,
+117,-21,
+-88,-85,
+16,17,
+-41,159,
+260,61,
+112,-69,
+89,-142,
+-153,-11,
+-168,-156,
+31,236,
+78,-66,
+90,-116,
+21,-41,
+19,21,
+59,-161,
+76,158,
+6,82,
+35,-1,
+-70,-203,
+218,-136,
+-145,-155,
+111,139,
+125,-97,
+122,102,
+144,-5,
+-27,-51,
+38,-138,
+-62,-4,
+-30,6,
+-65,-38,
+111,5,
+-79,-20,
+251,-61,
+125,-62,
+-93,113,
+94,-35,
+122,-35,
+-128,171,
+-108,67,
+123,113,
+-13,-84,
+-146,22,
+-130,149,
+216,-41,
+-50,154,
+-116,-11,
+163,-92,
+-89,49,
+4,-272,
+13,45,
+157,38,
+89,104,
+-208,-110,
+-204,-91,
+83,138,
+-99,-96,
+-42,12,
+381,-9,
+50,-83,
+89,-144,
+-21,-94,
+68,-150,
+124,-3,
+117,91,
+-160,-114,
+-89,-220,
+70,-50,
+38,115,
+-20,-41,
+72,-12,
+-93,-15,
+-74,196,
+-145,-69,
+53,-159,
+-24,-79,
+-102,-44,
+73,168,
+101,-29,
+-190,100,
+141,182,
+123,61,
+17,-30,
+42,98,
+124,-105,
+-13,-236,
+-8,26,
+-212,-36,
+-13,79,
+-95,81,
+-9,-14,
+-78,-25,
+-7,80,
+-31,170,
+-149,-211,
+-21,-259,
+37,-187,
+48,-8,
+-91,66,
+-59,16,
+-190,-222,
+66,50,
+-195,66,
+-132,23,
+-73,-90,
+5,-61,
+-51,53,
+92,94,
+-154,20,
+330,67,
+85,-32,
+163,-177,
+-294,73,
+40,85,
+101,-46,
+-239,65,
+-87,127,
+-16,-21,
+-123,1,
+161,117,
+-29,102,
+-115,125,
+-83,159,
+68,-21,
+139,37,
+-124,126,
+-79,-160,
+44,-177,
+-231,-140,
+-26,160,
+-111,-107,
+65,9,
+-222,104,
+111,-49,
+-19,61,
+-29,-106,
+212,-63,
+64,185,
+-27,151,
+-18,85,
+196,120,
+-47,-97,
+23,-120,
+-178,209,
+-43,-8,
+-79,75,
+-26,42,
+234,129,
+24,103,
+-258,-63,
+147,49,
+-7,7,
+75,161,
+9,-227,
+97,35,
+92,67,
+83,-149,
+-165,-6,
+-36,-7,
+-131,90,
+-251,92,
+213,-46,
+28,62,
+127,-285,
+18,-114,
+114,-95,
+32,-157,
+13,-33,
+-49,-174,
+35,-108,
+-26,141,
+-59,1,
+193,-27,
+53,242,
+11,-145,
+-155,-145,
+154,-189,
+62,-22,
+-153,-20,
+-6,104,
+114,65,
+-202,144,
+239,137,
+32,77,
+31,-13,
+150,-41,
+78,265,
+6,-146,
+-288,186,
+107,48,
+-52,-20,
+279,-140,
+-153,-110,
+108,126,
+29,50,
+106,-85,
+-109,-114,
+-52,-255,
+47,-3,
+-116,36,
+-39,222,
+-62,-131,
+50,-114,
+18,93,
+132,4,
+-3,60,
+-24,61,
+-79,-101,
+76,124,
+114,49,
+-148,-68,
+222,-48,
+240,53,
+30,-21,
+234,-48,
+42,153,
+56,-171,
+-88,-6,
+27,-10,
+80,162,
+-54,275,
+94,-135,
+-67,-123,
+87,-27,
+50,14,
+132,-190,
+-279,-189,
+-283,121,
+247,145,
+48,43,
+35,53,
+-42,164,
+25,-93,
+78,-89,
+69,92,
+-18,180,
+252,45,
+30,-154,
+-9,-111,
+236,-121,
+65,11,
+-259,-96,
+-92,-257,
+-96,57,
+12,-58,
+158,140,
+-30,57,
+-205,-88,
+-120,-14,
+-165,-150,
+-34,-21,
+93,-96,
+-155,-73,
+-157,6,
+-142,-149,
+72,115,
+156,-68,
+27,-23,
+98,-69,
+-12,140,
+-176,20,
+-228,-123,
+133,89,
+199,-55,
+-31,115,
+243,107,
+-26,158,
+-25,33,
+136,201,
+-15,7,
+240,-156,
+33,-94,
+106,-167,
+18,-223,
+66,-18,
+-210,90,
+-40,-146,
+-58,-252,
+-61,52,
+88,-262,
+64,-65,
+-149,-38,
+131,79,
+97,-25,
+-30,151,
+-33,6,
+-97,-90,
+12,-93,
+84,297,
+-133,-172,
+92,111,
+-153,-23,
+-4,-105,
+41,-212,
+90,-91,
+-149,-97,
+-43,141,
+82,-41,
+-38,294,
+-161,92,
+109,-85,
+199,-161,
+174,-171,
+103,239,
+-11,215,
+-90,125,
+218,227,
+8,-52,
+130,134,
+3,-4,
+42,77,
+-17,-72,
+-85,4,
+-60,8,
+-30,233,
+-69,-309,
+157,170,
+220,-67,
+-86,-12,
+-42,34,
+30,-66,
+105,0,
+266,-18,
+-63,53,
+-70,-121,
+-107,-13,
+-48,-217,
+192,76,
+-36,68,
+203,15,
+-18,201,
+101,31,
+-27,-80,
+122,25,
+161,22,
+-101,-123,
+-42,317,
+30,-150,
+-188,-118,
+-81,-27,
+-143,-31,
+1,-21,
+-231,-136,
+-169,-80,
+0,-31,
+104,-55,
+133,-7,
+-155,170,
+-65,65,
+-260,114,
+-113,7,
+-335,9,
+-2,-129,
+225,38,
+73,54,
+11,0,
+7,153,
+27,3,
+96,4,
+-18,121,
+-180,86,
+-36,-160,
+-105,-110,
+-112,-34,
+234,-220,
+-11,308,
+26,-145,
+270,-161,
+-47,337,
+-43,-94,
+-96,-311,
+39,136,
+68,169,
+-18,116,
+261,71,
+65,91,
+54,-31,
+-128,187,
+-127,-61,
+154,-7,
+129,-94,
+-112,132,
+174,27,
+277,140,
+151,-103,
+-5,47,
+-56,-57,
+83,42,
+28,-23,
+-27,-174,
+137,166,
+-3,94,
+-50,53,
+131,-22,
+108,-375,
+135,-68,
+74,56,
+-74,207,
+-40,-40,
+-81,264,
+336,-164,
+-72,-280,
+-186,-199,
+-133,178,
+116,1,
+-136,-146,
+114,45,
+-175,83,
+-124,-15,
+3,-13,
+92,-48,
+149,-68,
+-160,-10,
+-136,-17,
+23,-121,
+161,32,
+192,-49,
+-24,169,
+-106,-205,
+279,-44,
+119,-15,
+188,248,
+178,23,
+69,-108,
+-22,-28,
+83,201,
+20,-35,
+80,47,
+49,-99,
+76,-165,
+-117,71,
+129,-103,
+268,-71,
+-17,-42,
+-99,36,
+49,-187,
+-84,-104,
+-29,153,
+122,31,
+-164,-47,
+-44,-57,
+184,150,
+84,143,
+192,-76,
+-29,-87,
+68,-9,
+85,-104,
+-14,15,
+33,48,
+-32,-145,
+95,61,
+34,151,
+-356,-95,
+-38,-242,
+-40,207,
+-46,-52,
+19,-230,
+109,23,
+117,73,
+1,-25,
+-82,-45,
+54,90,
+222,81,
+-25,-26,
+134,-53,
+-31,367,
+-175,-61,
+-65,-159,
+-33,-12,
+210,54,
+-94,81,
+93,237,
+-35,34,
+124,-266,
+-80,-293,
+22,-245,
+101,-258,
+-91,-123,
+-5,-144,
+-283,-16,
+100,-85,
+-108,0,
+128,-46,
+-174,163,
+40,177,
+17,15,
+-135,-45,
+-31,-196,
+53,87,
+-39,91,
+71,5,
+-228,117,
+193,-110,
+-17,-76,
+-248,67,
+-162,223,
+-63,-185,
+24,38,
+115,-18,
+12,17,
+-163,-16,
+-106,-101,
+-67,93,
+150,-77,
+269,90,
+109,-203,
+-107,-166,
+-38,-110,
+202,169,
+-112,147,
+232,107,
+120,137,
+-64,38,
+-175,60,
+-70,10,
+-5,180,
+113,132,
+-33,-3,
+-63,-25,
+107,-41,
+78,25,
+-268,56,
+101,5,
+-66,-80,
+5,55,
+82,-238,
+-122,82,
+-262,-40,
+18,16,
+-60,-114,
+22,-211,
+-350,-59,
+137,137,
+102,-99,
+-23,-32,
+146,14,
+-153,67,
+149,95,
+-99,211,
+-226,-22,
+137,216,
+59,61,
+-83,-136,
+88,-99,
+205,-67,
+-131,44,
+25,-42,
+-195,-101,
+-2,59,
+10,85,
+72,-94,
+72,82,
+45,-110,
+-161,-9,
+-154,-152,
+-42,-36,
+-78,-113,
+30,-3,
+-44,-119,
+77,-38,
+-109,0,
+20,252,
+96,-249,
+-187,-6,
+-11,88,
+235,-55,
+-36,-131,
+77,-72,
+159,77,
+88,-40,
+157,15,
+-185,95,
+-135,42,
+38,-27,
+-59,266,
+-92,37,
+146,116,
+-67,-117,
+77,38,
+0,78,
+-3,88,
+57,-17,
+106,-23,
+-77,-42,
+-86,91,
+159,-29,
+10,144,
+-128,-7,
+113,-184,
+-49,79,
+168,103,
+-56,-61,
+-38,79,
+-35,-59,
+101,167,
+149,5,
+200,-41,
+135,24,
+-118,-228,
+94,-97,
+79,5,
+26,67,
+94,118,
+-15,-72,
+-120,156,
+199,96,
+136,-55,
+75,-127,
+75,35,
+-52,-77,
+16,12,
+86,116,
+-18,-94,
+-73,-52,
+15,43,
+73,17,
+137,-55,
+-97,159,
+111,-159,
+-148,28,
+264,-115,
+2,-118,
+-85,-84,
+3,18,
+-160,-58,
+11,-57,
+-20,-190,
+-35,-202,
+199,85,
+20,147,
+-2,-83,
+44,-315,
+-34,-253,
+-21,-89,
+101,-114,
+-6,-6,
+-48,165,
+131,-258,
+-39,-129,
+34,-66,
+167,7,
+109,226,
+48,-27,
+40,130,
+-121,135,
+-41,191,
+2,150,
+-214,70,
+102,134,
+-132,172,
+133,-68,
+221,82,
+54,-59,
+-103,-21,
+-8,33,
+-184,47,
+-15,205,
+137,-32,
+-40,-2,
+17,169,
+33,66,
+-62,-143,
+-133,173,
+32,-143,
+-36,107,
+47,116,
+-116,-35,
+-20,-23,
+63,64,
+-122,47,
+146,-184,
+-207,-7,
+121,54,
+-13,-43,
+-38,-1,
+27,180,
+72,111,
+-16,-75,
+-207,-45,
+145,16,
+-103,-70,
+200,60,
+124,117,
+-68,-31,
+86,9,
+62,120,
+-19,40,
+-44,120,
+92,-186,
+3,-24,
+-99,-131,
+105,-134,
+-13,-105,
+73,-53,
+13,-31,
+162,253,
+-153,-11,
+-102,168,
+19,70,
+-164,208,
+-152,71,
+-128,145,
+-40,-185,
+-65,47,
+14,157,
+158,100,
+-18,-98,
+-25,1,
+13,191,
+-36,-42,
+215,8,
+22,-73,
+134,71,
+-115,39,
+27,104,
+94,-68,
+-4,40,
+215,9,
+-19,162,
+-67,124,
+-2,-144,
+-58,-131,
+5,102,
+-102,23,
+-9,-2,
+15,-160,
+-135,-89,
+17,13,
+105,-139,
+-193,-148,
+-8,-108,
+-138,167,
+-32,16,
+25,40,
+-172,-64,
+-44,-25,
+-11,86,
+-130,55,
+36,-51,
+41,-70,
+155,3,
+-89,30,
+-65,265,
+-14,-34,
+54,-9,
+15,-43,
+-162,-29,
+158,-155,
+-45,-56,
+3,-117,
+31,12,
+-3,74,
+-69,-145,
+15,242,
+-111,-121,
+-16,-54,
+-49,174,
+-58,82,
+-73,227,
+-189,6,
+110,105,
+-100,136,
+-9,-58,
+106,-59,
+5,-27,
+13,-97,
+123,-201,
+-65,78,
+-98,142,
+-115,-203,
+-120,53,
+61,99,
+54,-5,
+-137,1,
+60,-4,
+-102,201,
+173,168,
+-60,-18,
+18,-4,
+-20,-177,
+35,-2,
+52,-218,
+-151,18,
+6,99,
+-77,57,
+130,56,
+144,-69,
+63,-39,
+-89,-149,
+-6,-106,
+-58,61,
+178,-240,
+-215,53,
+81,-67,
+67,-165,
+86,48,
+-102,-32,
+-31,153,
+59,-149,
+148,131,
+23,-232,
+55,-38,
+95,100,
+61,102,
+-88,206,
+-158,25,
+-118,184,
+66,-6,
+96,-212,
+81,-9,
+-47,-16,
+231,-16,
+94,27,
+12,75,
+-74,-7,
+-33,-155,
+-80,-39,
+-28,135,
+-97,161,
+23,44,
+-14,238,
+121,150,
+13,-50,
+60,49,
+-116,-99,
+101,-116,
+-92,104,
+127,-59,
+-130,142,
+159,-67,
+60,21,
+-37,-159,
+64,36,
+-25,-151,
+45,124,
+-139,37,
+126,-27,
+41,-39,
+-97,77,
+-26,11,
+73,90,
+12,110,
+-116,-83,
+-151,30,
+-26,15,
+11,79,
+-2,-28,
+-19,44,
+22,-157,
+62,-38,
+172,-176,
+38,72,
+-131,100,
+-114,-75,
+-80,25,
+-175,86,
+-233,116,
+-3,32,
+-71,-159,
+63,-77,
+100,-72,
+-57,114,
+-77,-111,
+-13,-97,
+-60,24,
+-67,-143,
+169,-164,
+6,107,
+-131,60,
+-94,-8,
+-55,-60,
+-64,-31,
+-48,-84,
+-26,-15,
+85,65,
+-194,38,
+-90,24,
+5,-130,
+117,-123,
+104,-211,
+-37,-86,
+14,-84,
+34,-137,
+43,35,
+-28,156,
+-246,89,
+50,-25,
+-77,17,
+13,-10,
+52,-1,
+84,-22,
+-101,-116,
+57,-147,
+35,36,
+54,79,
+96,-65,
+-2,-58,
+-14,60,
+-20,19,
+72,25,
+-16,-127,
+66,121,
+-179,-35,
+21,-5,
+-95,99,
+56,18,
+-40,78,
+158,-124,
+-94,155,
+-23,-108,
+-30,36,
+-96,-38,
+77,83,
+106,28,
+127,79,
+160,-74,
+51,-5,
+135,-76,
+-5,-40,
+-155,-46,
+-24,-35,
+114,-41,
+-18,161,
+-26,89,
+64,72,
+-118,-27,
+-91,142,
+-18,29,
+73,-95,
+169,-130,
+7,-64,
+196,31,
+68,100,
+-129,23,
+-1,44,
+-128,86,
+117,92,
+-89,-71,
+149,-41,
+-86,23,
+-77,132,
+-15,-76,
+-92,35,
+4,-92,
+-138,151,
+25,-113,
+-113,-54,
+-125,79,
+70,107,
+-45,37,
+62,69,
+123,-140,
+-72,-5,
+-61,-13,
+-122,31,
+-1,11,
+-135,-42,
+82,57,
+103,-34,
+92,131,
+107,-151,
+-97,20,
+24,22,
+135,-16,
+-81,-14,
+-29,-109,
+35,-118,
+59,37,
+-103,22,
+-122,21,
+17,41,
+-65,34,
+-20,-12,
+74,9,
+77,-61,
+60,17,
+34,-161,
+224,-9,
+-5,12,
+-29,-107,
+58,20,
+-77,-52,
+143,-35,
+-86,16,
+0,14,
+29,-40,
+-158,74,
+-46,-37,
+-18,28,
+-36,-76,
+-58,54,
+104,27,
+24,-103,
+133,1,
+-29,41,
+-78,103,
+2,-66,
+42,-5,
+15,-41,
+19,-67,
+-24,-21,
+-53,-73,
+116,1,
+21,-12,
+-18,-159,
+-128,35,
+-50,-27,
+-41,9,
+-26,-14,
+-81,-70,
+-79,20,
+113,-16,
+0,-94,
+-83,57,
+-42,-44,
+33,-69,
+96,72,
+68,26,
+-65,90,
+35,10,
+16,3,
+57,7,
+-3,-45,
+28,160,
+-83,-1,
+54,64,
+62,-20,
+25,-39,
+-63,40,
+45,43,
+135,40,
+-47,-43,
+-9,-44,
+-20,-36,
+130,-139,
+51,-46,
+112,-22,
+0,-59,
+120,-44,
+15,7,
+76,115,
+-64,-61,
+-76,69,
+-54,16,
+-54,-35,
+-96,-10,
+22,61,
+-59,-24,
+106,-35,
+43,88,
+-18,-20,
+20,10,
+43,76,
+24,28,
+-6,82,
+-26,-76,
+-7,14,
+-34,-79,
+39,56,
+113,31,
+1,-53,
+-45,46,
+59,-24,
+-28,27,
+-80,-92,
+6,96,
+68,-64,
+-60,-7,
+19,18,
+71,-86,
+-28,68,
+67,-15,
+-62,-82,
+33,-13,
+1,32,
+63,-46,
+27,46,
+-4,35,
+39,-30,
+106,-25,
+-39,-74,
+-16,-16,
+39,34,
+-57,92,
+54,40,
+34,30,
+71,-97,
+56,39,
+44,-77,
+100,-28,
+90,9,
+-5,-47,
+82,40,
+10,84,
+64,35,
+-30,20,
+-125,34,
+-16,-19,
+-22,34,
+52,-2,
+-51,1,
+-80,35,
+-71,-18,
+-159,-17,
+-56,31,
+107,28,
+1,11,
+-79,77,
+-64,-48,
+-59,-46,
+2,45,
+0,-103,
+-40,-14,
+-59,81,
+-6,-32,
+-73,86,
+38,-62,
+-26,25,
+31,12,
+-8,71,
+14,-22,
+-26,-32,
+-14,23,
+15,3,
+22,6,
+-17,22,
+-27,-25,
+-7,51,
+-51,96,
+52,-2,
+46,20,
+10,-18,
+-12,-4,
+81,57,
+-14,31,
+-76,-21,
+-12,35,
+-66,1,
+16,75,
+32,94,
+-15,8,
+72,-10,
+-44,-10,
+11,9,
+46,-22,
+-3,99,
+-35,-52,
+-16,-18,
+34,35,
+38,9,
+-28,-9,
+35,-13,
+-31,10,
+-10,31,
+44,9,
+30,-1,
+-18,-13,
+20,59,
+-35,-34,
+87,9,
+34,-1,
+31,-34,
+-8,-28,
+40,-22,
+7,-32,
+-15,104,
+16,40,
+3,-25,
+-81,64,
+6,30,
+41,-9,
+-58,-17,
+6,-13,
+-8,19,
+66,-8,
+-47,-26,
+-23,40,
+-17,-33,
+-9,3,
+-50,-23,
+-5,-56,
+-47,-31,
+13,-5,
+-27,30,
+20,26,
+-4,5,
+18,-31,
+-7,8,
+-37,-79,
+13,31,
+12,33,
+-75,16,
+-14,-7,
+36,26,
+4,-1,
+64,-20,
+12,-36,
+41,-10,
+27,54,
+2,-57,
+-31,45,
+14,43,
+-1,-31,
+-1,-3,
+-48,-83,
+-48,49,
+1,-30,
+29,-64,
+-49,-20,
+16,8,
+-46,-5,
+8,22,
+0,-39,
+5,-2,
+11,-22,
+-3,34,
+-22,-1,
+11,-19,
+34,19,
+30,23,
+26,-39,
+-9,-38,
+27,-13,
+24,40,
+28,16,
+40,38,
+28,-16,
+-6,28,
+-68,-27,
+-12,6,
+-19,80,
+24,30,
+-20,-18,
+12,-27,
+-24,-24,
+0,-11,
+26,29,
+-41,14,
+11,-22,
+10,-39,
+35,-41,
+-26,-6,
+-10,11,
+2,18,
+27,-62,
+8,44,
+3,5,
+-3,-38,
+-49,9,
+25,-5,
+41,-23,
+9,21,
+15,-34,
+-14,28,
+-9,-24,
+-15,-7,
+-6,-53,
+-49,27,
+-33,-1,
+-44,-6,
+-67,17,
+-39,-14,
+12,24,
+26,-9,
+28,13,
+10,-3,
+-12,36,
+-25,-40,
+11,-25,
+17,14,
+39,-9,
+-32,25,
+10,20,
+35,14,
+-21,-12,
+-13,-2,
+38,18,
+-18,20,
+-37,1,
+16,-9,
+-1,4,
+-14,-27,
+-20,-24,
+20,-23,
+6,28,
+-8,3,
+-8,-20,
+6,24,
+-5,1,
+-17,-3,
+-3,26,
+-5,-7,
+7,32,
+27,22,
+0,-17,
+-24,-6,
+21,5,
+12,0,
+-17,-8,
+-14,1,
+-3,-7,
+0,-4,
+-17,31,
+4,17,
+-12,-13,
+-4,1,
+-11,20,
+-10,-8,
+18,15,
+3,5,
+6,-7,
+-12,13,
+4,20,
+17,7,
+14,31,
+-25,9,
+2,1,
+-5,-5,
+14,15,
+-11,19,
+-2,0,
+-4,-14,
+-3,-8,
+-3,3,
+-4,19,
+-4,-6,
+2,-13,
+6,1,
+1,-14,
+-7,11,
+-1,-5,
+9,-5,
+-5,-16,
+-33,3,
+2,7,
+5,15,
+10,-18,
+1,0,
+16,9,
+-15,1,
+-13,11,
+-8,7,
+5,-4,
+8,1,
+1,7,
+1,1,
+-9,-2,
+4,7,
+4,-1,
+-9,-6,
+7,12,
+-1,12,
+4,0,
+3,5,
+1,0,
+-8,3,
+7,3,
+0,-9,
+1,-1,
+3,11,
+2,-2,
+0,4,
+9,3,
+-1,-3,
+-7,-1,
+1,0,
+2,-1,
+-1,2,
+-1,6,
+0,-3,
+2,0,
+-4,5,
+0,-6,
+-1,-1,
+-1,4,
+1,-5,
+0,0,
+0,5,
+0,-5,
+0,0,
+0,5,
+0,-5,
+0,0,
+1,5,
+-1,-4,
+-1,1,
+0,6,
+-4,-5,
+2,0,
+0,3,
+-1,-6,
+-1,-2,
+2,1,
+1,0,
+-7,1,
+-1,3,
+9,-3,
+0,-4,
+2,2,
+3,-11,
+1,1,
+0,9,
+7,-3,
+-8,-3,
+1,0,
+3,-5,
+4,0,
+-1,-12,
+7,-12,
+-9,6,
+4,1,
+4,-7,
+-9,2,
+1,-1,
+1,-7,
+8,-1,
+5,4,
+-8,-7,
+-13,-11,
+-15,-1,
+16,-9,
+1,0,
+10,18,
+5,-15,
+2,-7,
+-33,-3,
+-5,16,
+9,5,
+-1,5,
+-7,-11,
+1,14,
+6,-1,
+2,13,
+-4,6,
+-4,-19,
+-3,-3,
+-3,8,
+-4,14,
+-2,0,
+-11,-19,
+14,-15,
+-5,5,
+2,-1,
+-25,-9,
+14,-31,
+17,-7,
+4,-20,
+-12,-13,
+6,7,
+3,-5,
+18,-15,
+-10,8,
+-11,-20,
+-4,-1,
+-12,13,
+4,-17,
+-17,-31,
+0,4,
+-3,7,
+-14,-1,
+-17,8,
+12,0,
+21,-5,
+-24,6,
+0,17,
+27,-22,
+7,-32,
+-5,7,
+-3,-26,
+-17,3,
+-5,-1,
+6,-24,
+-8,20,
+-8,-3,
+6,-28,
+20,23,
+-20,24,
+-14,27,
+-1,-4,
+16,9,
+-37,-1,
+-18,-20,
+38,-18,
+-13,2,
+-21,12,
+35,-14,
+10,-20,
+-32,-25,
+39,9,
+17,-14,
+11,25,
+-25,40,
+-12,-36,
+10,3,
+28,-13,
+26,9,
+12,-24,
+-39,14,
+-67,-17,
+-44,6,
+-33,1,
+-49,-27,
+-6,53,
+-15,7,
+-9,24,
+-14,-28,
+15,34,
+9,-21,
+41,23,
+25,5,
+-49,-9,
+-3,38,
+3,-5,
+8,-44,
+27,62,
+2,-18,
+-10,-11,
+-26,6,
+35,41,
+10,39,
+11,22,
+-41,-14,
+26,-29,
+0,11,
+-24,24,
+12,27,
+-20,18,
+24,-30,
+-19,-80,
+-12,-6,
+-68,27,
+-6,-28,
+28,16,
+40,-38,
+28,-16,
+24,-40,
+27,13,
+-9,38,
+26,39,
+30,-23,
+34,-19,
+11,19,
+-22,1,
+-3,-34,
+11,22,
+5,2,
+0,39,
+8,-22,
+-46,5,
+16,-8,
+-49,20,
+29,64,
+1,30,
+-48,-49,
+-48,83,
+-1,3,
+-1,31,
+14,-43,
+-31,-45,
+2,57,
+27,-54,
+41,10,
+12,36,
+64,20,
+4,1,
+36,-26,
+-14,7,
+-75,-16,
+12,-33,
+13,-31,
+-37,79,
+-7,-8,
+18,31,
+-4,-5,
+20,-26,
+-27,-30,
+13,5,
+-47,31,
+-5,56,
+-50,23,
+-9,-3,
+-17,33,
+-23,-40,
+-47,26,
+66,8,
+-8,-19,
+6,13,
+-58,17,
+41,9,
+6,-30,
+-81,-64,
+3,25,
+16,-40,
+-15,-104,
+7,32,
+40,22,
+-8,28,
+31,34,
+34,1,
+87,-9,
+-35,34,
+20,-59,
+-18,13,
+30,1,
+44,-9,
+-10,-31,
+-31,-10,
+35,13,
+-28,9,
+38,-9,
+34,-35,
+-16,18,
+-35,52,
+-3,-99,
+46,22,
+11,-9,
+-44,10,
+72,10,
+-15,-8,
+32,-94,
+16,-75,
+-66,-1,
+-12,-35,
+-76,21,
+-14,-31,
+81,-57,
+-12,4,
+10,18,
+46,-20,
+52,2,
+-51,-96,
+-7,-51,
+-27,25,
+-17,-22,
+22,-6,
+15,-3,
+-14,-23,
+-26,32,
+14,22,
+-8,-71,
+31,-12,
+-26,-25,
+38,62,
+-73,-86,
+-6,32,
+-59,-81,
+-40,14,
+0,103,
+2,-45,
+-59,46,
+-64,48,
+-79,-77,
+1,-11,
+107,-28,
+-56,-31,
+-159,17,
+-71,18,
+-80,-35,
+-51,-1,
+52,2,
+-22,-34,
+-16,19,
+-125,-34,
+-30,-20,
+64,-35,
+10,-84,
+82,-40,
+-5,47,
+90,-9,
+100,28,
+44,77,
+56,-39,
+71,97,
+34,-30,
+54,-40,
+-57,-92,
+39,-34,
+-16,16,
+-39,74,
+106,25,
+39,30,
+-4,-35,
+27,-46,
+63,46,
+1,-32,
+33,13,
+-62,82,
+67,15,
+-28,-68,
+71,86,
+19,-18,
+-60,7,
+68,64,
+6,-96,
+-80,92,
+-28,-27,
+59,24,
+-45,-46,
+1,53,
+113,-31,
+39,-56,
+-34,79,
+-7,-14,
+-26,76,
+-6,-82,
+24,-28,
+43,-76,
+20,-10,
+-18,20,
+43,-88,
+106,35,
+-59,24,
+22,-61,
+-96,10,
+-54,35,
+-54,-16,
+-76,-69,
+-64,61,
+76,-115,
+15,-7,
+120,44,
+0,59,
+112,22,
+51,46,
+130,139,
+-20,36,
+-9,44,
+-47,43,
+135,-40,
+45,-43,
+-63,-40,
+25,39,
+62,20,
+54,-64,
+-83,1,
+28,-160,
+-3,45,
+57,-7,
+16,-3,
+35,-10,
+-65,-90,
+68,-26,
+96,-72,
+33,69,
+-42,44,
+-83,-57,
+0,94,
+113,16,
+-79,-20,
+-81,70,
+-26,14,
+-41,-9,
+-50,27,
+-128,-35,
+-18,159,
+21,12,
+116,-1,
+-53,73,
+-24,21,
+19,67,
+15,41,
+42,5,
+2,66,
+-78,-103,
+-29,-41,
+133,-1,
+24,103,
+104,-27,
+-58,-54,
+-36,76,
+-18,-28,
+-46,37,
+-158,-74,
+29,40,
+0,-14,
+-86,-16,
+143,35,
+-77,52,
+58,-20,
+-29,107,
+-5,-12,
+224,9,
+34,161,
+60,-17,
+77,61,
+74,-9,
+-20,12,
+-65,-34,
+17,-41,
+-122,-21,
+-103,-22,
+59,-37,
+35,118,
+-29,109,
+-81,14,
+135,16,
+24,-22,
+-97,-20,
+107,151,
+92,-131,
+103,34,
+82,-57,
+-135,42,
+-1,-11,
+-122,-31,
+-61,13,
+-72,5,
+123,140,
+62,-69,
+-45,-37,
+70,-107,
+-125,-79,
+-113,54,
+25,113,
+-138,-151,
+4,92,
+-92,-35,
+-15,76,
+-77,-132,
+-86,-23,
+149,41,
+-89,71,
+117,-92,
+-128,-86,
+-1,-44,
+-129,-23,
+68,-100,
+196,-31,
+7,64,
+169,130,
+73,95,
+-18,-29,
+-91,-142,
+-118,27,
+64,-72,
+-26,-89,
+-18,-161,
+114,41,
+-24,35,
+-155,46,
+-5,40,
+135,76,
+51,5,
+160,74,
+127,-79,
+106,-28,
+77,-83,
+-96,38,
+-30,-36,
+-23,108,
+-94,-155,
+158,124,
+-40,-78,
+56,-18,
+-95,-99,
+21,5,
+-179,35,
+66,-121,
+-16,127,
+72,-25,
+-20,-19,
+-14,-60,
+-2,58,
+96,65,
+54,-79,
+35,-36,
+57,147,
+-101,116,
+84,22,
+52,1,
+13,10,
+-77,-17,
+50,25,
+-246,-89,
+-28,-156,
+43,-35,
+34,137,
+14,84,
+-37,86,
+104,211,
+117,123,
+5,130,
+-90,-24,
+-194,-38,
+85,-65,
+-26,15,
+-48,84,
+-64,31,
+-55,60,
+-94,8,
+-131,-60,
+6,-107,
+169,164,
+-67,143,
+-60,-24,
+-13,97,
+-77,111,
+-57,-114,
+100,72,
+63,77,
+-71,159,
+-3,-32,
+-233,-116,
+-175,-86,
+-80,-25,
+-114,75,
+-131,-100,
+38,-72,
+172,176,
+62,38,
+22,157,
+-19,-44,
+-2,28,
+11,-79,
+-26,-15,
+-151,-30,
+-116,83,
+12,-110,
+73,-90,
+-26,-11,
+-97,-77,
+41,39,
+126,27,
+-139,-37,
+45,-124,
+-25,151,
+64,-36,
+-37,159,
+60,-21,
+159,67,
+-130,-142,
+127,59,
+-92,-104,
+101,116,
+-116,99,
+60,-49,
+13,50,
+121,-150,
+-14,-238,
+23,-44,
+-97,-161,
+-28,-135,
+-80,39,
+-33,155,
+-74,7,
+12,-75,
+94,-27,
+231,16,
+-47,16,
+81,9,
+96,212,
+66,6,
+-118,-184,
+-158,-25,
+-88,-206,
+61,-102,
+95,-100,
+55,38,
+23,232,
+148,-131,
+59,149,
+-31,-153,
+-102,32,
+86,-48,
+67,165,
+81,67,
+-215,-53,
+178,240,
+-58,-61,
+-6,106,
+-89,149,
+63,39,
+144,69,
+130,-56,
+-77,-57,
+6,-99,
+-151,-18,
+52,218,
+35,2,
+-20,177,
+18,4,
+-60,18,
+173,-168,
+-102,-201,
+60,4,
+-137,-1,
+54,5,
+61,-99,
+-120,-53,
+-115,203,
+-98,-142,
+-65,-78,
+123,201,
+13,97,
+5,27,
+106,59,
+-9,58,
+-100,-136,
+110,-105,
+-189,-6,
+-73,-227,
+-58,-82,
+-49,-174,
+-16,54,
+-111,121,
+15,-242,
+-69,145,
+-3,-74,
+31,-12,
+3,117,
+-45,56,
+158,155,
+-162,29,
+15,43,
+54,9,
+-14,34,
+-65,-265,
+-89,-30,
+155,-3,
+41,70,
+36,51,
+-130,-55,
+-11,-86,
+-44,25,
+-172,64,
+25,-40,
+-32,-16,
+-138,-167,
+-8,108,
+-193,148,
+105,139,
+17,-13,
+-135,89,
+15,160,
+-9,2,
+-102,-23,
+5,-102,
+-58,131,
+-2,144,
+-67,-124,
+-19,-162,
+215,-9,
+-4,-40,
+94,68,
+27,-104,
+-115,-39,
+134,-71,
+22,73,
+215,-8,
+-36,42,
+13,-191,
+-25,-1,
+-18,98,
+158,-100,
+14,-157,
+-65,-47,
+-40,185,
+-128,-145,
+-152,-71,
+-164,-208,
+19,-70,
+-102,-168,
+-153,11,
+162,-253,
+13,31,
+73,53,
+-13,105,
+105,134,
+-99,131,
+3,24,
+92,186,
+-44,-120,
+-19,-40,
+62,-120,
+86,-9,
+-68,31,
+124,-117,
+200,-60,
+-103,70,
+145,-16,
+-207,45,
+-16,75,
+72,-111,
+27,-180,
+-38,1,
+-13,43,
+121,-54,
+-207,7,
+146,184,
+-122,-47,
+63,-64,
+-20,23,
+-116,35,
+47,-116,
+-36,-107,
+32,143,
+-133,-173,
+-62,143,
+33,-66,
+17,-169,
+-40,2,
+137,32,
+-15,-205,
+-184,-47,
+-8,-33,
+-103,21,
+54,59,
+221,-82,
+133,68,
+-132,-172,
+102,-134,
+-214,-70,
+2,-150,
+-41,-191,
+-121,-135,
+40,-130,
+48,27,
+109,-226,
+167,-7,
+34,66,
+-39,129,
+131,258,
+-48,-165,
+-6,6,
+101,114,
+-21,89,
+-34,253,
+44,315,
+-2,83,
+20,-147,
+199,-85,
+-35,202,
+-20,190,
+11,57,
+-160,58,
+3,-18,
+-85,84,
+2,118,
+264,115,
+-148,-28,
+111,159,
+-97,-159,
+137,55,
+73,-17,
+15,-43,
+-73,52,
+-18,94,
+86,-116,
+16,-12,
+-52,77,
+75,-35,
+75,127,
+136,55,
+199,-96,
+-120,-156,
+-15,72,
+94,-118,
+26,-67,
+79,-5,
+94,97,
+-118,228,
+135,-24,
+200,41,
+149,-5,
+101,-167,
+-35,59,
+-38,-79,
+-56,61,
+168,-103,
+-49,-79,
+113,184,
+-128,7,
+10,-144,
+159,29,
+-86,-91,
+-77,42,
+106,23,
+57,17,
+-3,-88,
+0,-78,
+77,-38,
+-67,117,
+146,-116,
+-92,-37,
+-59,-266,
+38,27,
+-135,-42,
+-185,-95,
+157,-15,
+88,40,
+159,-77,
+77,72,
+-36,131,
+235,55,
+-11,-88,
+-187,6,
+96,249,
+20,-252,
+-109,0,
+77,38,
+-44,119,
+30,3,
+-78,113,
+-42,36,
+-154,152,
+-161,9,
+45,110,
+72,-82,
+72,94,
+10,-85,
+-2,-59,
+-195,101,
+25,42,
+-131,-44,
+205,67,
+88,99,
+-83,136,
+59,-61,
+137,-216,
+-226,22,
+-99,-211,
+149,-95,
+-153,-67,
+146,-14,
+-23,32,
+102,99,
+137,-137,
+-350,59,
+22,211,
+-60,114,
+18,-16,
+-262,40,
+-122,-82,
+82,238,
+5,-55,
+-66,80,
+101,-5,
+-268,-56,
+78,-25,
+107,41,
+-63,25,
+-33,3,
+113,-132,
+-5,-180,
+-70,-10,
+-175,-60,
+-64,-38,
+120,-137,
+232,-107,
+-112,-147,
+202,-169,
+-38,110,
+-107,166,
+109,203,
+269,-90,
+150,77,
+-67,-93,
+-106,101,
+-163,16,
+12,-17,
+115,18,
+24,-38,
+-63,185,
+-162,-223,
+-248,-67,
+-17,76,
+193,110,
+-228,-117,
+71,-5,
+-39,-91,
+53,-87,
+-31,196,
+-135,45,
+17,-15,
+40,-177,
+-174,-163,
+128,46,
+-108,0,
+100,85,
+-283,16,
+-5,144,
+-91,123,
+101,258,
+22,245,
+-80,293,
+124,266,
+-35,-34,
+93,-237,
+-94,-81,
+210,-54,
+-33,12,
+-65,159,
+-175,61,
+-31,-367,
+134,53,
+-25,26,
+222,-81,
+54,-90,
+-82,45,
+1,25,
+117,-73,
+109,-23,
+19,230,
+-46,52,
+-40,-207,
+-38,242,
+-356,95,
+34,-151,
+95,-61,
+-32,145,
+33,-48,
+-14,-15,
+85,104,
+68,9,
+-29,87,
+192,76,
+84,-143,
+184,-150,
+-44,57,
+-164,47,
+122,-31,
+-29,-153,
+-84,104,
+49,187,
+-99,-36,
+-17,42,
+268,71,
+129,103,
+-117,-71,
+76,165,
+49,99,
+80,-47,
+20,35,
+83,-201,
+-22,28,
+69,108,
+178,-23,
+188,-248,
+119,15,
+279,44,
+-106,205,
+-24,-169,
+192,49,
+161,-32,
+23,121,
+-136,17,
+-160,10,
+149,68,
+92,48,
+3,13,
+-124,15,
+-175,-83,
+114,-45,
+-136,146,
+116,-1,
+-133,-178,
+-186,199,
+-72,280,
+336,164,
+-81,-264,
+-40,40,
+-74,-207,
+74,-56,
+135,68,
+108,375,
+131,22,
+-50,-53,
+-3,-94,
+137,-166,
+-27,174,
+28,23,
+83,-42,
+-56,57,
+-5,-47,
+151,103,
+277,-140,
+174,-27,
+-112,-132,
+129,94,
+154,7,
+-127,61,
+-128,-187,
+54,31,
+65,-91,
+261,-71,
+-18,-116,
+68,-169,
+39,-136,
+-96,311,
+-43,94,
+-47,-337,
+270,161,
+26,145,
+-11,-308,
+234,220,
+-112,34,
+-105,110,
+-36,160,
+-180,-86,
+-18,-121,
+96,-4,
+27,-3,
+7,-153,
+0,0,
+-43,292,
+245,-55,
+-193,65,
+-42,132,
+-115,-188,
+-79,-102,
+-30,71,
+-106,-265,
+-41,-272,
+-77,120,
+36,92,
+-37,-22,
+-6,58,
+-124,56,
+231,-3,
+37,148,
+-17,117,
+41,-183,
+46,40,
+81,-94,
+-31,-40,
+102,-130,
+-230,197,
+126,-199,
+84,-83,
+-11,-177,
+35,-85,
+61,49,
+-150,-88,
+74,-84,
+-119,112,
+41,-5,
+-253,186,
+-38,13,
+90,25,
+-49,-95,
+65,53,
+84,160,
+-217,54,
+75,18,
+231,187,
+98,-57,
+-140,69,
+-27,-81,
+190,86,
+-126,57,
+-84,-164,
+70,-44,
+21,180,
+153,86,
+-62,-116,
+18,75,
+192,-79,
+287,-43,
+-60,144,
+60,-71,
+-24,-171,
+-35,-42,
+199,-17,
+93,-41,
+121,98,
+99,-246,
+-160,-82,
+56,88,
+111,32,
+26,179,
+108,-48,
+68,69,
+-133,111,
+-85,-15,
+143,-100,
+90,-149,
+248,-57,
+-163,-79,
+-213,-105,
+27,-194,
+-87,193,
+-118,-50,
+35,-131,
+-83,172,
+16,-19,
+-97,-69,
+-134,-48,
+117,-4,
+103,-17,
+-41,32,
+-25,-272,
+140,44,
+-150,-95,
+-6,23,
+77,-119,
+-122,-204,
+24,-60,
+-108,-133,
+141,31,
+-142,-71,
+-123,184,
+29,-112,
+-3,186,
+-146,107,
+-218,160,
+-41,31,
+97,16,
+-75,-22,
+40,169,
+-64,-21,
+4,155,
+-103,215,
+97,-244,
+-256,101,
+145,28,
+-149,48,
+60,-31,
+-74,5,
+-131,181,
+171,-160,
+-158,37,
+90,118,
+12,-9,
+-96,36,
+-154,-28,
+-50,-225,
+39,-60,
+65,-56,
+-162,132,
+-234,57,
+-124,-105,
+-92,95,
+20,87,
+119,-189,
+-26,39,
+-144,9,
+86,-83,
+-290,120,
+181,-234,
+-95,-269,
+210,-146,
+-34,37,
+-38,-106,
+-91,26,
+-218,-144,
+-281,10,
+-117,-21,
+-169,-273,
+119,-92,
+-62,199,
+-69,150,
+258,-146,
+-41,117,
+59,39,
+92,83,
+-23,-20,
+70,-197,
+-267,127,
+99,75,
+-60,70,
+67,-148,
+-217,201,
+-63,3,
+273,83,
+145,-141,
+82,-1,
+-32,-19,
+-21,-137,
+-174,11,
+-45,73,
+17,91,
+251,-104,
+55,213,
+136,197,
+146,-30,
+-72,-3,
+-150,35,
+-72,-1,
+147,-69,
+-110,-38,
+-165,67,
+65,-256,
+-46,86,
+-188,22,
+-9,-39,
+-45,1,
+-190,18,
+232,-18,
+157,-274,
+57,-37,
+-145,117,
+-76,-95,
+3,-155,
+230,-82,
+219,3,
+-165,-213,
+142,-73,
+-112,-239,
+-16,-48,
+5,0,
+-62,44,
+51,-123,
+-195,12,
+178,-143,
+36,65,
+-64,131,
+138,-121,
+154,-211,
+52,29,
+-19,-124,
+-97,112,
+292,-60,
+231,-51,
+248,-3,
+112,10,
+-164,51,
+182,-12,
+108,97,
+127,159,
+-63,-93,
+-7,-204,
+98,86,
+-153,-37,
+-154,11,
+91,-109,
+200,82,
+54,-188,
+-60,32,
+-56,-8,
+-52,68,
+57,-221,
+-77,-10,
+32,-75,
+-121,-203,
+106,18,
+120,-152,
+203,1,
+25,68,
+95,44,
+-146,-30,
+-129,-155,
+-30,-49,
+-45,34,
+-191,258,
+-108,61,
+7,72,
+-105,249,
+-173,-65,
+-9,-150,
+171,-17,
+226,129,
+133,-44,
+58,-136,
+-7,53,
+132,-59,
+-125,30,
+44,275,
+-135,173,
+199,54,
+110,-110,
+-35,-199,
+-9,-23,
+179,-11,
+-142,-60,
+181,-6,
+20,24,
+143,-89,
+-67,176,
+-133,-136,
+-152,-61,
+-59,-135,
+-89,157,
+197,8,
+-164,96,
+-80,-221,
+2,-157,
+-64,-49,
+-28,-135,
+-107,-93,
+229,-129,
+68,-109,
+-204,-215,
+184,-172,
+12,116,
+-149,80,
+-20,149,
+100,103,
+18,-16,
+115,83,
+24,-308,
+-182,-152,
+-43,-131,
+99,107,
+131,-85,
+-259,115,
+69,-50,
+98,127,
+40,-150,
+79,-237,
+-206,90,
+-45,15,
+132,13,
+171,-121,
+91,63,
+-40,-87,
+190,-11,
+-181,255,
+-196,-98,
+29,-43,
+-94,-78,
+116,90,
+-184,72,
+36,-9,
+-108,-142,
+-60,97,
+-3,-115,
+4,121,
+-15,132,
+-183,-110,
+-47,-131,
+146,135,
+-81,65,
+260,-5,
+26,-137,
+-157,59,
+128,119,
+30,57,
+-258,-10,
+-54,266,
+50,-74,
+10,-45,
+-111,-43,
+221,84,
+-91,104,
+5,-131,
+-43,135,
+43,178,
+147,-75,
+2,-14,
+-16,-28,
+-87,1,
+132,194,
+-110,58,
+-177,108,
+-216,-12,
+-159,8,
+34,140,
+24,51,
+-26,-133,
+-112,-257,
+-192,1,
+118,37,
+72,-165,
+4,-119,
+147,-141,
+73,-136,
+167,-133,
+194,-172,
+27,17,
+-82,37,
+-30,191,
+-63,-74,
+-204,70,
+14,-75,
+-71,1,
+-20,-7,
+7,9,
+-176,101,
+-31,63,
+-84,42,
+53,27,
+100,77,
+125,-28,
+33,-150,
+-64,21,
+-108,-66,
+-16,88,
+74,43,
+179,-99,
+16,-101,
+-104,-128,
+-36,-131,
+161,-110,
+40,-139,
+62,-81,
+5,-20,
+89,131,
+-104,84,
+-97,-127,
+-20,-49,
+28,-191,
+4,-71,
+-75,201,
+24,152,
+-104,93,
+-139,14,
+-83,19,
+-158,40,
+189,-8,
+87,41,
+-39,9,
+45,-181,
+-206,225,
+-68,132,
+-79,61,
+62,160,
+37,-53,
+175,-47,
+-122,13,
+42,46,
+113,-30,
+-61,-202,
+-47,-106,
+58,87,
+-157,-151,
+-20,161,
+197,75,
+12,-78,
+89,99,
+33,-136,
+-29,-40,
+-59,50,
+32,31,
+-255,172,
+-52,96,
+128,19,
+-129,110,
+83,-111,
+62,197,
+-35,40,
+-4,-75,
+3,-107,
+-25,-34,
+161,55,
+28,-29,
+-34,28,
+-171,-18,
+133,81,
+-87,-110,
+-18,107,
+-286,-44,
+191,23,
+-34,-24,
+-16,24,
+194,-44,
+85,-50,
+-126,92,
+-79,-67,
+-148,-7,
+51,50,
+68,-74,
+-190,68,
+-50,11,
+53,101,
+66,-66,
+-16,3,
+18,14,
+-94,15,
+111,169,
+-179,-112,
+139,136,
+-202,-45,
+-146,-91,
+33,0,
+52,8,
+-178,36,
+94,-119,
+0,137,
+49,-45,
+-27,51,
+-56,118,
+-174,-7,
+120,58,
+-83,-64,
+-71,9,
+-110,57,
+25,-112,
+118,-119,
+-121,-86,
+-48,97,
+-19,-38,
+170,-29,
+6,121,
+23,-24,
+-88,70,
+-93,117,
+49,-5,
+-87,-116,
+47,-140,
+-12,-235,
+104,1,
+159,-56,
+-16,32,
+-29,133,
+-172,71,
+-13,-26,
+-40,33,
+157,201,
+16,113,
+81,23,
+-10,-117,
+-26,13,
+-9,44,
+19,37,
+-67,25,
+-78,76,
+-105,-18,
+-138,2,
+85,-19,
+71,110,
+-87,-28,
+11,-102,
+64,85,
+-44,39,
+47,5,
+-67,56,
+39,-108,
+94,63,
+-9,51,
+-34,-53,
+-32,-15,
+51,56,
+72,26,
+-90,-48,
+53,-159,
+35,-80,
+33,-18,
+42,-28,
+49,9,
+-30,-23,
+-33,6,
+-69,13,
+173,130,
+168,10,
+24,93,
+-25,-122,
+98,-65,
+82,-119,
+33,72,
+24,86,
+-142,105,
+-70,48,
+-210,-76,
+-115,66,
+51,-80,
+78,-23,
+17,-61,
+85,-66,
+5,123,
+17,43,
+1,69,
+3,-117,
+14,-27,
+-180,12,
+-43,94,
+12,-98,
+11,-163,
+-3,108,
+-57,-87,
+115,-20,
+34,-97,
+12,-16,
+89,1,
+-54,120,
+53,-93,
+-77,2,
+70,-27,
+-32,24,
+-83,-120,
+30,-82,
+-34,-101,
+110,150,
+-53,-187,
+129,91,
+0,-25,
+-68,-48,
+45,79,
+-11,86,
+94,-145,
+-32,-44,
+30,-1,
+-23,10,
+-4,-20,
+15,-176,
+-32,-39,
+45,82,
+-58,92,
+-22,29,
+57,29,
+-65,-36,
+51,54,
+-20,-299,
+44,136,
+-73,6,
+95,-92,
+-35,-88,
+-8,141,
+36,-18,
+0,71,
+-122,16,
+-47,-93,
+94,44,
+3,83,
+108,-88,
+-85,84,
+97,-3,
+95,-77,
+32,-57,
+128,-108,
+-9,14,
+-79,-15,
+32,23,
+-88,2,
+54,127,
+54,45,
+0,-5,
+77,-33,
+-106,-60,
+2,9,
+-115,-6,
+-116,21,
+113,28,
+5,15,
+-114,-37,
+83,165,
+19,-23,
+62,-38,
+162,-87,
+31,-36,
+10,-121,
+-93,82,
+63,70,
+23,-1,
+-34,68,
+64,-177,
+8,-87,
+8,8,
+188,-80,
+74,2,
+-46,1,
+-66,0,
+-126,-6,
+-8,-63,
+25,-54,
+75,4,
+19,91,
+-86,-47,
+-67,83,
+-91,85,
+-76,-17,
+-74,-85,
+-98,44,
+-25,80,
+14,71,
+18,-18,
+48,-65,
+-91,-53,
+-24,39,
+-32,68,
+19,66,
+56,22,
+5,-7,
+45,-110,
+54,0,
+29,-73,
+-25,-12,
+-14,34,
+27,-104,
+-76,-40,
+83,-64,
+15,-39,
+88,-25,
+-36,20,
+-59,91,
+-121,109,
+-67,83,
+-56,10,
+-130,71,
+-42,38,
+4,-4,
+-27,-2,
+-99,-148,
+-123,-7,
+53,75,
+71,-60,
+10,-51,
+-2,-104,
+26,-165,
+109,8,
+17,19,
+66,-1,
+-13,-69,
+-78,75,
+47,18,
+56,42,
+38,26,
+27,-103,
+-46,73,
+93,16,
+12,15,
+-125,-55,
+82,86,
+38,-83,
+64,-114,
+-2,36,
+73,15,
+25,-40,
+-48,27,
+-55,49,
+102,92,
+16,-43,
+-53,29,
+-35,-70,
+43,-80,
+44,69,
+30,-23,
+-84,-63,
+44,18,
+-54,-80,
+19,20,
+77,-65,
+-18,71,
+-122,-69,
+93,-81,
+14,-34,
+28,-14,
+1,95,
+-48,-31,
+11,99,
+-45,104,
+59,-90,
+-21,-31,
+-56,-14,
+-83,44,
+-6,58,
+104,-19,
+-82,-35,
+56,-43,
+3,137,
+-26,-66,
+-141,-92,
+-30,49,
+-85,17,
+73,18,
+40,64,
+20,-28,
+100,-80,
+11,61,
+-64,-2,
+-98,-14,
+-54,-3,
+-43,74,
+-78,31,
+-9,-106,
+-59,38,
+-79,-10,
+-32,-85,
+-55,22,
+94,-22,
+6,50,
+-11,-74,
+-91,-57,
+39,-47,
+-38,-23,
+49,11,
+-21,110,
+-21,-55,
+4,63,
+-6,-5,
+-45,22,
+-38,-9,
+-65,47,
+0,40,
+118,34,
+74,-96,
+17,53,
+4,-14,
+-20,25,
+-22,19,
+-32,54,
+46,83,
+15,79,
+-95,-10,
+19,-71,
+58,-34,
+45,-1,
+40,-44,
+57,-67,
+63,-23,
+-56,-6,
+-38,-61,
+-23,-29,
+25,-7,
+26,60,
+-23,28,
+-2,85,
+-67,3,
+-14,-3,
+-43,-41,
+-43,29,
+-4,-27,
+-56,6,
+60,-22,
+-35,-31,
+-22,26,
+-30,74,
+33,25,
+-66,-55,
+41,-36,
+-3,5,
+-54,23,
+-38,-23,
+53,9,
+40,103,
+-10,-18,
+11,14,
+26,0,
+-30,77,
+-8,121,
+14,31,
+-40,31,
+50,-45,
+-55,23,
+-53,72,
+-15,12,
+16,-1,
+14,24,
+1,5,
+-60,20,
+12,-71,
+-9,43,
+7,-13,
+-33,-45,
+-30,46,
+-84,-48,
+-8,22,
+-32,30,
+-15,73,
+-48,16,
+-20,-42,
+20,-22,
+-6,-11,
+-61,86,
+-46,19,
+49,-14,
+-23,-33,
+-22,-7,
+48,-36,
+-32,-25,
+-16,14,
+-28,-32,
+22,-39,
+-35,29,
+-4,13,
+31,-80,
+-27,6,
+7,39,
+61,13,
+25,51,
+13,29,
+-10,35,
+39,-34,
+-9,-27,
+-24,-23,
+-15,12,
+-2,-2,
+-8,61,
+-34,48,
+68,-7,
+-9,-41,
+3,-22,
+-10,47,
+48,-50,
+-12,10,
+-1,-44,
+-32,32,
+10,16,
+52,-11,
+-26,39,
+3,6,
+24,19,
+41,-13,
+-22,-10,
+-45,17,
+-24,-73,
+3,-43,
+-2,-39,
+-43,-39,
+19,-3,
+-10,18,
+-33,-14,
+-59,61,
+-23,-49,
+-23,17,
+26,-39,
+-8,1,
+-23,-11,
+11,14,
+-15,16,
+13,-21,
+13,-33,
+-20,-33,
+25,-36,
+25,2,
+-60,27,
+-12,-23,
+-4,-30,
+-17,-8,
+21,1,
+20,-9,
+-15,25,
+6,-32,
+-2,20,
+25,-16,
+-14,-28,
+-1,38,
+34,-41,
+-29,9,
+10,-20,
+-1,9,
+32,-22,
+21,11,
+-11,-12,
+28,2,
+-8,6,
+0,0,
+27,-36,
+33,-26,
+-9,9,
+31,-5,
+-14,-18,
+16,-7,
+-11,-10,
+-5,23,
+-26,-33,
+-13,5,
+-22,7,
+-10,-13,
+18,-1,
+-33,1,
+-2,8,
+-17,-9,
+4,15,
+2,11,
+-8,-11,
+-15,-16,
+13,-4,
+2,6,
+-3,-15,
+-4,-3,
+3,-5,
+6,-14,
+-37,-11,
+1,-14,
+-2,3,
+-25,43,
+-10,-7,
+9,-9,
+-1,1,
+9,-6,
+12,9,
+-11,18,
+28,-1,
+3,1,
+-23,7,
+2,-15,
+-11,18,
+2,24,
+4,-8,
+-10,13,
+-17,4,
+4,-17,
+3,17,
+-2,15,
+2,12,
+-6,5,
+0,2,
+4,-6,
+12,19,
+-3,-1,
+-9,-14,
+0,5,
+5,3,
+2,0,
+-9,-6,
+11,4,
+1,16,
+6,2,
+3,-5,
+7,-5,
+5,9,
+-4,1,
+-3,-5,
+9,4,
+-1,-7,
+9,-15,
+-1,15,
+-3,-10,
+-1,-4,
+-2,7,
+-2,-1,
+-4,-4,
+-10,11,
+1,-2,
+-2,-4,
+3,0,
+-8,5,
+2,-5,
+-3,7,
+-2,1,
+1,-6,
+5,8,
+0,2,
+1,-3,
+2,1,
+-2,1,
+2,-5,
+2,4,
+-4,-1,
+-3,-5,
+1,3,
+-1,0,
+-1,-5,
+1,3,
+0,0,
+0,-5,
+0,5,
+0,0,
+0,-5,
+0,5,
+0,0,
+1,-3,
+-1,5,
+-1,0,
+1,-3,
+-3,5,
+-4,1,
+2,-4,
+2,5,
+-2,-1,
+2,-1,
+1,3,
+0,-2,
+5,-8,
+1,6,
+-2,-1,
+-3,-7,
+2,5,
+-8,-5,
+3,0,
+-2,4,
+1,2,
+-10,-11,
+-4,4,
+-2,1,
+-2,-7,
+-1,4,
+-3,10,
+-1,-15,
+9,15,
+-1,7,
+9,-4,
+-3,5,
+-4,-1,
+5,-9,
+7,5,
+3,5,
+6,-2,
+1,-16,
+11,-4,
+-9,6,
+2,0,
+5,-3,
+0,-5,
+-9,14,
+-3,1,
+12,-19,
+4,6,
+0,-2,
+-6,-5,
+2,-12,
+-2,-15,
+3,-17,
+4,17,
+-17,-4,
+-10,-13,
+4,8,
+2,-24,
+-11,-18,
+2,15,
+-23,-7,
+3,-1,
+28,1,
+-11,-18,
+12,-9,
+9,6,
+-1,-1,
+9,9,
+-10,7,
+-25,-43,
+-2,-3,
+1,14,
+-37,11,
+6,14,
+3,5,
+-4,3,
+-3,15,
+2,-6,
+13,4,
+-15,16,
+-8,11,
+2,-11,
+4,-15,
+-17,9,
+-2,-8,
+-33,-1,
+18,1,
+-10,13,
+-22,-7,
+-13,-5,
+-26,33,
+-5,-23,
+-11,10,
+16,7,
+-14,18,
+31,5,
+-9,-9,
+33,26,
+27,36,
+0,0,
+-8,-6,
+28,-2,
+-11,12,
+21,-11,
+32,22,
+-1,-9,
+10,20,
+-29,-9,
+34,41,
+-1,-38,
+-14,28,
+25,16,
+-2,-20,
+6,32,
+-15,-25,
+20,9,
+21,-1,
+-17,8,
+-4,30,
+-12,23,
+-60,-27,
+25,-2,
+25,36,
+-20,33,
+13,33,
+13,21,
+-15,-16,
+11,-14,
+-23,11,
+-8,-1,
+26,39,
+-23,-17,
+-23,49,
+-59,-61,
+-33,14,
+-10,-18,
+19,3,
+-43,39,
+-2,39,
+3,43,
+-24,73,
+-45,-17,
+-22,10,
+41,13,
+24,-19,
+3,-6,
+-26,-39,
+52,11,
+10,-16,
+-32,-32,
+-1,44,
+-12,-10,
+48,50,
+-10,-47,
+3,22,
+-9,41,
+68,7,
+-34,-48,
+-8,-61,
+-2,2,
+-15,-12,
+-24,23,
+-9,27,
+39,34,
+-10,-35,
+13,-29,
+25,-51,
+61,-13,
+7,-39,
+-27,-6,
+31,80,
+-4,-13,
+-35,-29,
+22,39,
+-28,32,
+-16,-14,
+-32,25,
+48,36,
+-22,7,
+-23,33,
+49,14,
+-46,-19,
+-61,-86,
+-6,11,
+20,22,
+-20,42,
+-48,-16,
+-15,-73,
+-32,-30,
+-8,-22,
+-84,48,
+-30,-46,
+-33,45,
+7,13,
+-9,-43,
+12,71,
+-60,-20,
+1,-5,
+14,-24,
+16,1,
+-15,-12,
+-53,-72,
+-55,-23,
+50,45,
+-40,-31,
+14,-31,
+-8,-121,
+-30,-77,
+26,0,
+11,-14,
+-10,18,
+40,-103,
+53,-9,
+-38,23,
+-54,-23,
+-3,-5,
+41,36,
+-66,55,
+33,-25,
+-30,-74,
+-22,-26,
+-35,31,
+60,22,
+-56,-6,
+-4,27,
+-43,-29,
+-43,41,
+-14,3,
+-67,-3,
+-2,-85,
+-23,-28,
+26,-60,
+25,7,
+-23,29,
+-38,61,
+-56,6,
+63,23,
+57,67,
+40,44,
+45,1,
+58,34,
+19,71,
+-95,10,
+15,-79,
+46,-83,
+-32,-54,
+-22,-19,
+-20,-25,
+4,14,
+17,-53,
+74,96,
+118,-34,
+0,-40,
+-65,-47,
+-38,9,
+-45,-22,
+-6,5,
+4,-63,
+-21,55,
+-21,-110,
+49,-11,
+-38,23,
+39,47,
+-91,57,
+-11,74,
+6,-50,
+94,22,
+-55,-22,
+-32,85,
+-79,10,
+-59,-38,
+-9,106,
+-78,-31,
+-43,-74,
+-54,3,
+-98,14,
+-64,2,
+11,-61,
+100,80,
+20,28,
+40,-64,
+73,-18,
+-85,-17,
+-30,-49,
+-141,92,
+-26,66,
+3,-137,
+56,43,
+-82,35,
+104,19,
+-6,-58,
+-83,-44,
+-56,14,
+-21,31,
+59,90,
+-45,-104,
+11,-99,
+-48,31,
+1,-95,
+28,14,
+14,34,
+93,81,
+-122,69,
+-18,-71,
+77,65,
+19,-20,
+-54,80,
+44,-18,
+-84,63,
+30,23,
+44,-69,
+43,80,
+-35,70,
+-53,-29,
+16,43,
+102,-92,
+-55,-49,
+-48,-27,
+25,40,
+73,-15,
+-2,-36,
+64,114,
+38,83,
+82,-86,
+-125,55,
+12,-15,
+93,-16,
+-46,-73,
+27,103,
+38,-26,
+56,-42,
+47,-18,
+-78,-75,
+-13,69,
+66,1,
+17,-19,
+109,-8,
+26,165,
+-2,104,
+10,51,
+71,60,
+53,-75,
+-123,7,
+-99,148,
+-27,2,
+4,4,
+-42,-38,
+-130,-71,
+-56,-10,
+-67,-83,
+-121,-109,
+-59,-91,
+-36,-20,
+88,25,
+15,39,
+83,64,
+-76,40,
+27,104,
+-14,-34,
+-25,12,
+29,73,
+54,0,
+45,110,
+5,7,
+56,-22,
+19,-66,
+-32,-68,
+-24,-39,
+-91,53,
+48,65,
+18,18,
+14,-71,
+-25,-80,
+-98,-44,
+-74,85,
+-76,17,
+-91,-85,
+-67,-83,
+-86,47,
+19,-91,
+75,-4,
+25,54,
+-8,63,
+-126,6,
+-66,0,
+-46,-1,
+74,-2,
+188,80,
+8,-8,
+8,87,
+64,177,
+-34,-68,
+23,1,
+63,-70,
+-93,-82,
+10,121,
+31,36,
+162,87,
+62,38,
+19,23,
+83,-165,
+-114,37,
+5,-15,
+113,-28,
+-116,-21,
+-115,6,
+2,-9,
+-106,60,
+77,33,
+0,5,
+54,-45,
+54,-127,
+-88,-2,
+32,-23,
+-79,15,
+-9,-14,
+128,108,
+32,57,
+95,77,
+97,3,
+-85,-84,
+108,88,
+3,-83,
+94,-44,
+-47,93,
+-122,-16,
+0,-71,
+36,18,
+-8,-141,
+-35,88,
+95,92,
+-73,-6,
+44,-136,
+-20,299,
+51,-54,
+-65,36,
+57,-29,
+-22,-29,
+-58,-92,
+45,-82,
+-32,39,
+15,176,
+-4,20,
+-23,-10,
+30,1,
+-32,44,
+94,145,
+-11,-86,
+45,-79,
+-68,48,
+0,25,
+129,-91,
+-53,187,
+110,-150,
+-34,101,
+30,82,
+-83,120,
+-32,-24,
+70,27,
+-77,-2,
+53,93,
+-54,-120,
+89,-1,
+12,16,
+34,97,
+115,20,
+-57,87,
+-3,-108,
+11,163,
+12,98,
+-43,-94,
+-180,-12,
+14,27,
+3,117,
+1,-69,
+17,-43,
+5,-123,
+85,66,
+17,61,
+78,23,
+51,80,
+-115,-66,
+-210,76,
+-70,-48,
+-142,-105,
+24,-86,
+33,-72,
+82,119,
+98,65,
+-25,122,
+24,-93,
+168,-10,
+173,-130,
+-69,-13,
+-33,-6,
+-30,23,
+49,-9,
+42,28,
+33,18,
+35,80,
+53,159,
+-90,48,
+72,-26,
+51,-56,
+-32,15,
+-34,53,
+-9,-51,
+94,-63,
+39,108,
+-67,-56,
+47,-5,
+-44,-39,
+64,-85,
+11,102,
+-87,28,
+71,-110,
+85,19,
+-138,-2,
+-105,18,
+-78,-76,
+-67,-25,
+19,-37,
+-9,-44,
+-26,-13,
+-10,117,
+81,-23,
+16,-113,
+157,-201,
+-40,-33,
+-13,26,
+-172,-71,
+-29,-133,
+-16,-32,
+159,56,
+104,-1,
+-12,235,
+47,140,
+-87,116,
+49,5,
+-93,-117,
+-88,-70,
+23,24,
+6,-121,
+170,29,
+-19,38,
+-48,-97,
+-121,86,
+118,119,
+25,112,
+-110,-57,
+-71,-9,
+-83,64,
+120,-58,
+-174,7,
+-56,-118,
+-27,-51,
+49,45,
+0,-137,
+94,119,
+-178,-36,
+52,-8,
+33,0,
+-146,91,
+-202,45,
+139,-136,
+-179,112,
+111,-169,
+-94,-15,
+18,-14,
+-16,-3,
+66,66,
+53,-101,
+-50,-11,
+-190,-68,
+68,74,
+51,-50,
+-148,7,
+-79,67,
+-126,-92,
+85,50,
+194,44,
+-16,-24,
+-34,24,
+191,-23,
+-286,44,
+-18,-107,
+-87,110,
+133,-81,
+-171,18,
+-34,-28,
+28,29,
+161,-55,
+-25,34,
+3,107,
+-4,75,
+-35,-40,
+62,-197,
+83,111,
+-129,-110,
+128,-19,
+-52,-96,
+-255,-172,
+32,-31,
+-59,-50,
+-29,40,
+33,136,
+89,-99,
+12,78,
+197,-75,
+-20,-161,
+-157,151,
+58,-87,
+-47,106,
+-61,202,
+113,30,
+42,-46,
+-122,-13,
+175,47,
+37,53,
+62,-160,
+-79,-61,
+-68,-132,
+-206,-225,
+45,181,
+-39,-9,
+87,-41,
+189,8,
+-158,-40,
+-83,-19,
+-139,-14,
+-104,-93,
+24,-152,
+-75,-201,
+4,71,
+28,191,
+-20,49,
+-97,127,
+-104,-84,
+89,-131,
+5,20,
+62,81,
+40,139,
+161,110,
+-36,131,
+-104,128,
+16,101,
+179,99,
+74,-43,
+-16,-88,
+-108,66,
+-64,-21,
+33,150,
+125,28,
+100,-77,
+53,-27,
+-84,-42,
+-31,-63,
+-176,-101,
+7,-9,
+-20,7,
+-71,-1,
+14,75,
+-204,-70,
+-63,74,
+-30,-191,
+-82,-37,
+27,-17,
+194,172,
+167,133,
+73,136,
+147,141,
+4,119,
+72,165,
+118,-37,
+-192,-1,
+-112,257,
+-26,133,
+24,-51,
+34,-140,
+-159,-8,
+-216,12,
+-177,-108,
+-110,-58,
+132,-194,
+-87,-1,
+-16,28,
+2,14,
+147,75,
+43,-178,
+-43,-135,
+5,131,
+-91,-104,
+221,-84,
+-111,43,
+10,45,
+50,74,
+-54,-266,
+-258,10,
+30,-57,
+128,-119,
+-157,-59,
+26,137,
+260,5,
+-81,-65,
+146,-135,
+-47,131,
+-183,110,
+-15,-132,
+4,-121,
+-3,115,
+-60,-97,
+-108,142,
+36,9,
+-184,-72,
+116,-90,
+-94,78,
+29,43,
+-196,98,
+-181,-255,
+190,11,
+-40,87,
+91,-63,
+171,121,
+132,-13,
+-45,-15,
+-206,-90,
+79,237,
+40,150,
+98,-127,
+69,50,
+-259,-115,
+131,85,
+99,-107,
+-43,131,
+-182,152,
+24,308,
+115,-83,
+18,16,
+100,-103,
+-20,-149,
+-149,-80,
+12,-116,
+184,172,
+-204,215,
+68,109,
+229,129,
+-107,93,
+-28,135,
+-64,49,
+2,157,
+-80,221,
+-164,-96,
+197,-8,
+-89,-157,
+-59,135,
+-152,61,
+-133,136,
+-67,-176,
+143,89,
+20,-24,
+181,6,
+-142,60,
+179,11,
+-9,23,
+-35,199,
+110,110,
+199,-54,
+-135,-173,
+44,-275,
+-125,-30,
+132,59,
+-7,-53,
+58,136,
+133,44,
+226,-129,
+171,17,
+-9,150,
+-173,65,
+-105,-249,
+7,-72,
+-108,-61,
+-191,-258,
+-45,-34,
+-30,49,
+-129,155,
+-146,30,
+95,-44,
+25,-68,
+203,-1,
+120,152,
+106,-18,
+-121,203,
+32,75,
+-77,10,
+57,221,
+-52,-68,
+-56,8,
+-60,-32,
+54,188,
+200,-82,
+91,109,
+-154,-11,
+-153,37,
+98,-86,
+-7,204,
+-63,93,
+127,-159,
+108,-97,
+182,12,
+-164,-51,
+112,-10,
+248,3,
+231,51,
+292,60,
+-97,-112,
+-19,124,
+52,-29,
+154,211,
+138,121,
+-64,-131,
+36,-65,
+178,143,
+-195,-12,
+51,123,
+-62,-44,
+5,0,
+-16,48,
+-112,239,
+142,73,
+-165,213,
+219,-3,
+230,82,
+3,155,
+-76,95,
+-145,-117,
+57,37,
+157,274,
+232,18,
+-190,-18,
+-45,-1,
+-9,39,
+-188,-22,
+-46,-86,
+65,256,
+-165,-67,
+-110,38,
+147,69,
+-72,1,
+-150,-35,
+-72,3,
+146,30,
+136,-197,
+55,-213,
+251,104,
+17,-91,
+-45,-73,
+-174,-11,
+-21,137,
+-32,19,
+82,1,
+145,141,
+273,-83,
+-63,-3,
+-217,-201,
+67,148,
+-60,-70,
+99,-75,
+-267,-127,
+70,197,
+-23,20,
+92,-83,
+59,-39,
+-41,-117,
+258,146,
+-69,-150,
+-62,-199,
+119,92,
+-169,273,
+-117,21,
+-281,-10,
+-218,144,
+-91,-26,
+-38,106,
+-34,-37,
+210,146,
+-95,269,
+181,234,
+-290,-120,
+86,83,
+-144,-9,
+-26,-39,
+119,189,
+20,-87,
+-92,-95,
+-124,105,
+-234,-57,
+-162,-132,
+65,56,
+39,60,
+-50,225,
+-154,28,
+-96,-36,
+12,9,
+90,-118,
+-158,-37,
+171,160,
+-131,-181,
+-74,-5,
+60,31,
+-149,-48,
+145,-28,
+-256,-101,
+97,244,
+-103,-215,
+4,-155,
+-64,21,
+40,-169,
+-75,22,
+97,-16,
+-41,-31,
+-218,-160,
+-146,-107,
+-3,-186,
+29,112,
+-123,-184,
+-142,71,
+141,-31,
+-108,133,
+24,60,
+-122,204,
+77,119,
+-6,-23,
+-150,95,
+140,-44,
+-25,272,
+-41,-32,
+103,17,
+117,4,
+-134,48,
+-97,69,
+16,19,
+-83,-172,
+35,131,
+-118,50,
+-87,-193,
+27,194,
+-213,105,
+-163,79,
+248,57,
+90,149,
+143,100,
+-85,15,
+-133,-111,
+68,-69,
+108,48,
+26,-179,
+111,-32,
+56,-88,
+-160,82,
+99,246,
+121,-98,
+93,41,
+199,17,
+-35,42,
+-24,171,
+60,71,
+-60,-144,
+287,43,
+192,79,
+18,-75,
+-62,116,
+153,-86,
+21,-180,
+70,44,
+-84,164,
+-126,-57,
+190,-86,
+-27,81,
+-140,-69,
+98,57,
+231,-187,
+75,-18,
+-217,-54,
+84,-160,
+65,-53,
+-49,95,
+90,-25,
+-38,-13,
+-253,-186,
+41,5,
+-119,-112,
+74,84,
+-150,88,
+61,-49,
+35,85,
+-11,177,
+84,83,
+126,199,
+-230,-197,
+102,130,
+-31,40,
+81,94,
+46,-40,
+41,183,
+-17,-117,
+37,-148,
+231,3,
+-124,-56,
+-6,-58,
+-37,22,
+36,-92,
+-77,-120,
+-41,272,
+-106,265,
+-30,-71,
+-79,102,
+-115,188,
+-42,-132,
+-193,-65,
+245,55,
+-43,-292,
+11,0,
+101,307,
+68,-35,
+150,75,
+59,-65,
+27,153,
+156,-286,
+269,-50,
+-82,47,
+-302,-148,
+-98,2,
+-180,-274,
+-81,-38,
+121,-115,
+-1,-83,
+-77,-2,
+220,33,
+101,-213,
+-70,1,
+84,-1,
+-46,25,
+-112,-210,
+-49,-192,
+65,-13,
+65,-116,
+19,28,
+179,177,
+-48,-72,
+-152,37,
+-50,-201,
+66,160,
+-20,-192,
+-282,-189,
+60,-76,
+-107,-246,
+-176,89,
+200,-11,
+268,132,
+107,-76,
+-1,-69,
+82,70,
+-105,-67,
+-84,208,
+141,-38,
+112,9,
+169,-27,
+-97,-45,
+-78,138,
+-86,-269,
+133,-66,
+76,206,
+-138,99,
+233,-116,
+39,86,
+13,-67,
+49,71,
+-34,88,
+310,81,
+-6,-43,
+-44,-35,
+69,148,
+137,-101,
+148,6,
+76,-184,
+75,-205,
+-88,-167,
+130,-61,
+-294,-83,
+-61,257,
+111,17,
+112,-103,
+236,118,
+-7,-128,
+-61,-13,
+-13,-42,
+228,-92,
+89,143,
+-105,-95,
+289,-81,
+-79,96,
+-36,104,
+-82,77,
+75,106,
+-94,-39,
+238,188,
+28,-20,
+-92,42,
+44,-108,
+39,7,
+-148,-74,
+-9,-95,
+-116,221,
+-131,-14,
+-108,-52,
+202,-283,
+-244,-37,
+-57,-175,
+-52,-154,
+217,73,
+72,21,
+-32,47,
+-204,71,
+307,-74,
+39,62,
+94,248,
+-223,45,
+-16,24,
+15,59,
+119,-9,
+93,-187,
+17,69,
+69,252,
+-47,14,
+56,5,
+199,-168,
+-53,-160,
+-135,187,
+183,192,
+-141,47,
+218,-232,
+-42,126,
+-234,44,
+-1,118,
+11,69,
+-23,-86,
+-50,-229,
+-213,-45,
+45,104,
+32,-86,
+207,86,
+-125,24,
+-39,-102,
+50,101,
+-95,-60,
+165,-87,
+61,-20,
+-59,204,
+169,13,
+-34,70,
+-100,-78,
+104,95,
+-57,152,
+-35,19,
+114,-149,
+-94,-117,
+151,12,
+-133,-120,
+-8,60,
+-52,88,
+-74,-38,
+72,93,
+-36,-8,
+-161,-247,
+-150,14,
+174,83,
+66,229,
+210,-42,
+-108,32,
+20,170,
+-123,180,
+53,-138,
+-128,-10,
+-82,173,
+-162,41,
+-12,210,
+-88,-29,
+76,-20,
+70,-113,
+176,-64,
+-33,34,
+-57,131,
+6,48,
+-31,33,
+-76,-120,
+-113,-28,
+-239,51,
+-118,58,
+60,-19,
+-154,-165,
+-40,170,
+-253,44,
+-167,-168,
+195,46,
+46,-42,
+-23,131,
+-52,-103,
+-11,-218,
+-119,106,
+66,-20,
+-160,-123,
+2,24,
+-17,-137,
+-108,-3,
+58,-16,
+90,72,
+-37,-104,
+253,-64,
+-204,-119,
+14,-181,
+75,-18,
+108,-196,
+141,-62,
+-175,-56,
+236,39,
+187,57,
+-63,131,
+-89,-124,
+-122,80,
+-179,-99,
+-83,-92,
+-184,143,
+-87,44,
+194,-110,
+-6,-157,
+-148,33,
+186,136,
+64,-61,
+-228,-28,
+80,187,
+-99,-11,
+-91,-143,
+6,54,
+169,122,
+118,143,
+-175,-76,
+22,-99,
+-41,43,
+190,25,
+43,-88,
+180,128,
+-227,57,
+-145,87,
+-261,58,
+35,-13,
+2,5,
+-87,-229,
+-55,-207,
+-18,-114,
+-112,-171,
+11,-51,
+78,102,
+-171,-145,
+-10,-53,
+73,12,
+-22,215,
+128,9,
+-127,5,
+-100,51,
+-147,-37,
+16,110,
+-93,109,
+-4,85,
+48,-77,
+-4,0,
+-71,14,
+-49,135,
+-41,73,
+-104,24,
+-46,112,
+-223,179,
+-32,87,
+-142,-112,
+-206,118,
+129,39,
+-11,294,
+-25,-25,
+156,-125,
+82,-126,
+31,-205,
+170,-246,
+-34,54,
+-90,-220,
+-35,-105,
+-13,78,
+-99,23,
+39,-59,
+181,-186,
+48,86,
+-19,150,
+-27,-132,
+-27,-49,
+-94,172,
+-170,-6,
+94,-35,
+89,77,
+19,-176,
+-12,51,
+125,91,
+49,102,
+-276,-113,
+-54,52,
+166,196,
+133,37,
+45,-62,
+162,-43,
+154,-25,
+29,-81,
+-43,7,
+112,-132,
+-277,-68,
+31,180,
+-279,27,
+-53,-180,
+-93,185,
+182,-61,
+0,55,
+-107,-79,
+-168,48,
+9,29,
+-68,-221,
+-105,90,
+135,-26,
+57,247,
+-204,-157,
+35,-187,
+-39,-48,
+-103,-19,
+-14,-18,
+109,-120,
+11,-11,
+45,247,
+29,-108,
+14,163,
+-91,-214,
+-1,79,
+-69,116,
+-21,229,
+163,-97,
+136,219,
+186,-121,
+53,-277,
+104,29,
+-79,-217,
+30,-64,
+-54,-32,
+-37,-10,
+-16,53,
+-53,-124,
+-49,-83,
+250,18,
+-90,230,
+-74,59,
+63,30,
+31,-283,
+46,-46,
+14,15,
+93,96,
+-146,-4,
+150,0,
+76,-158,
+211,63,
+62,64,
+68,91,
+-126,18,
+22,72,
+82,164,
+9,-8,
+-60,-89,
+26,-40,
+-57,-134,
+-81,30,
+162,38,
+-19,285,
+157,145,
+-76,-60,
+6,44,
+33,81,
+151,149,
+42,12,
+-98,218,
+44,-116,
+-20,-132,
+-159,-249,
+-23,-121,
+-10,-18,
+76,-108,
+-154,-1,
+41,157,
+27,-160,
+-79,-179,
+-19,21,
+-9,-99,
+183,-195,
+105,-207,
+24,12,
+18,-6,
+-179,80,
+-91,-1,
+176,-97,
+-235,-61,
+-117,-2,
+-74,-88,
+-238,48,
+-39,-132,
+-74,-22,
+-23,66,
+-76,-14,
+54,-214,
+-89,48,
+47,216,
+-2,15,
+102,-76,
+-91,-266,
+22,74,
+16,-39,
+85,-88,
+-85,33,
+-12,-30,
+-105,142,
+-250,59,
+-96,-63,
+21,11,
+-42,107,
+115,30,
+-2,59,
+-87,122,
+129,1,
+39,253,
+26,-83,
+-290,42,
+-46,46,
+127,-151,
+-131,-70,
+-7,-15,
+77,-173,
+34,-77,
+-97,18,
+-256,-29,
+82,-188,
+-9,125,
+-55,-153,
+77,87,
+-121,128,
+-5,-100,
+-63,136,
+-144,-125,
+59,57,
+-15,-51,
+-73,-27,
+52,180,
+46,-90,
+-115,19,
+134,120,
+8,-24,
+55,93,
+74,78,
+102,56,
+-15,-1,
+70,-107,
+-79,-53,
+119,127,
+-26,162,
+97,-8,
+-28,-56,
+-14,84,
+-107,98,
+-207,-41,
+12,84,
+-134,-70,
+138,50,
+214,14,
+90,23,
+-63,-26,
+-36,-48,
+-80,60,
+91,102,
+-32,-88,
+19,26,
+116,-76,
+-59,43,
+-22,72,
+70,-90,
+-96,-23,
+-30,-107,
+121,-54,
+95,-145,
+-109,95,
+-59,37,
+-128,90,
+-99,78,
+-21,-138,
+15,-37,
+4,143,
+-75,-25,
+-21,-35,
+-100,-20,
+234,30,
+-184,106,
+87,26,
+-48,-67,
+116,-71,
+-77,-79,
+-8,14,
+-180,45,
+115,55,
+-88,150,
+-62,-121,
+-66,91,
+32,-61,
+80,-64,
+-184,-141,
+38,-99,
+69,-98,
+-43,-16,
+-30,96,
+28,-27,
+42,-25,
+-36,-7,
+-36,-28,
+-23,-138,
+198,-74,
+16,93,
+118,-84,
+-66,209,
+4,56,
+-131,52,
+-86,-62,
+61,-26,
+-72,23,
+-4,60,
+81,-65,
+4,-26,
+-120,93,
+-85,-40,
+-106,-58,
+-147,-54,
+79,127,
+-80,-82,
+54,-144,
+-3,93,
+151,-111,
+6,32,
+-13,-152,
+-6,24,
+-138,8,
+-32,122,
+56,-178,
+27,146,
+86,-81,
+-13,118,
+-112,-120,
+89,-44,
+56,-1,
+-40,32,
+-50,-42,
+-11,-95,
+102,-64,
+100,-132,
+-42,-33,
+6,59,
+-151,108,
+-24,-40,
+-85,-35,
+-6,-3,
+1,11,
+46,-11,
+7,10,
+-117,86,
+70,-5,
+-1,-46,
+56,92,
+14,-137,
+-79,-50,
+24,137,
+76,151,
+-68,45,
+62,59,
+-30,-187,
+35,-44,
+43,-110,
+85,-77,
+-40,70,
+-27,-8,
+154,72,
+100,-28,
+-62,94,
+-54,-91,
+-30,73,
+46,77,
+105,35,
+-2,23,
+67,117,
+41,-61,
+3,50,
+21,-11,
+-3,-3,
+112,7,
+-79,-14,
+-64,-41,
+142,6,
+-178,-108,
+129,-66,
+57,65,
+-60,-105,
+103,31,
+-112,49,
+-19,-87,
+-65,-35,
+24,-176,
+-88,40,
+-79,117,
+-50,-98,
+-69,-10,
+-47,39,
+-23,-33,
+7,-148,
+76,-112,
+-25,189,
+198,-35,
+-10,-12,
+30,38,
+99,-13,
+17,61,
+6,-20,
+3,-99,
+9,-123,
+66,-110,
+89,-34,
+-104,19,
+1,-38,
+21,91,
+-97,-35,
+-6,-21,
+-192,6,
+62,100,
+175,-85,
+-18,36,
+-112,-17,
+-22,-29,
+57,-48,
+-55,26,
+-12,-147,
+-64,-49,
+20,-92,
+-40,-149,
+-41,-4,
+-52,-46,
+0,32,
+27,-107,
+42,-74,
+-45,101,
+-84,53,
+-184,55,
+-14,104,
+-18,-104,
+-124,-22,
+-56,54,
+34,-51,
+48,-10,
+-69,-36,
+-56,69,
+-34,-77,
+-151,-64,
+-172,-15,
+71,-4,
+-11,-13,
+116,-10,
+36,97,
+81,62,
+-5,-74,
+0,54,
+71,-18,
+146,107,
+111,-5,
+-96,19,
+11,-54,
+-64,-11,
+-68,11,
+34,-34,
+66,66,
+55,10,
+19,-59,
+31,-12,
+79,127,
+-25,17,
+-15,150,
+-76,-1,
+48,-7,
+34,-25,
+28,90,
+-78,-44,
+-64,57,
+-112,44,
+147,-96,
+74,32,
+16,53,
+-44,46,
+-38,-74,
+-48,4,
+74,-17,
+-33,-29,
+-123,-12,
+41,20,
+-141,-30,
+-86,116,
+-11,41,
+-26,104,
+110,83,
+2,-11,
+140,-40,
+-30,-5,
+2,-24,
+-89,-42,
+141,73,
+-27,-16,
+63,12,
+-39,75,
+-86,-18,
+60,-78,
+-45,42,
+-141,-59,
+11,-50,
+10,16,
+115,48,
+-81,-23,
+-1,-48,
+-60,-13,
+38,-45,
+21,-102,
+-96,46,
+118,41,
+-33,23,
+-20,-129,
+5,-1,
+61,-144,
+-6,18,
+-66,-68,
+-26,50,
+5,-4,
+-49,59,
+-4,100,
+-28,19,
+10,42,
+95,117,
+30,-61,
+-51,-107,
+20,9,
+106,71,
+-66,-15,
+7,4,
+-23,72,
+-6,-11,
+28,-20,
+37,-77,
+-4,-17,
+-42,19,
+29,-39,
+63,30,
+-62,93,
+-93,5,
+86,-49,
+1,11,
+-85,-19,
+0,-70,
+-84,44,
+-42,19,
+-95,30,
+-84,65,
+-39,23,
+28,3,
+32,37,
+132,-24,
+-44,-20,
+2,-72,
+26,-64,
+72,-12,
+45,-89,
+17,-11,
+30,-17,
+39,-31,
+37,-25,
+-33,1,
+-6,21,
+15,-17,
+66,-11,
+14,-25,
+20,-22,
+-5,-88,
+4,15,
+29,-21,
+38,45,
+61,15,
+-76,-34,
+-9,-14,
+7,-12,
+-8,15,
+-55,-25,
+-65,-33,
+-65,-7,
+-73,-31,
+-39,0,
+45,-8,
+-7,-43,
+18,-134,
+73,8,
+-16,-20,
+11,88,
+3,10,
+-4,37,
+-17,-44,
+-22,-10,
+18,-6,
+87,90,
+-12,6,
+-45,-76,
+16,39,
+37,-48,
+9,-33,
+-19,20,
+28,32,
+35,-17,
+-63,-10,
+-52,44,
+51,0,
+8,-71,
+-13,-49,
+-10,-24,
+-34,-61,
+35,-40,
+-16,8,
+43,47,
+14,42,
+-19,26,
+-45,-52,
+-8,98,
+-68,29,
+-17,-72,
+-39,52,
+-49,-31,
+4,55,
+-4,16,
+14,-10,
+-28,3,
+5,-16,
+-46,-27,
+-5,11,
+6,-46,
+-20,12,
+-7,-21,
+-50,-15,
+-1,-13,
+69,42,
+-66,12,
+-10,-15,
+30,-66,
+-5,-61,
+7,27,
+-34,-36,
+18,-21,
+27,-41,
+-22,-65,
+-20,-6,
+-7,4,
+34,-22,
+15,-6,
+18,9,
+-13,8,
+-34,58,
+-18,-7,
+34,-7,
+-6,-19,
+65,-15,
+19,-56,
+-15,5,
+-1,-19,
+13,0,
+56,-33,
+7,25,
+-3,-8,
+27,71,
+70,5,
+-49,-20,
+-28,-42,
+-1,-4,
+-2,3,
+16,2,
+13,-22,
+-1,-16,
+-1,16,
+-21,-34,
+-14,47,
+-36,-17,
+2,-6,
+39,20,
+9,-19,
+5,-2,
+-15,10,
+35,-7,
+18,25,
+12,8,
+-31,1,
+5,30,
+-4,-23,
+2,-12,
+-3,12,
+4,-8,
+11,48,
+-8,-19,
+6,-20,
+-40,-29,
+-33,7,
+30,9,
+11,-27,
+20,-16,
+3,-9,
+-10,-3,
+-31,50,
+67,-38,
+19,9,
+-33,3,
+-14,0,
+-15,32,
+14,1,
+37,-19,
+15,30,
+-32,12,
+-7,2,
+23,26,
+-14,-20,
+23,-22,
+34,-12,
+5,55,
+-1,-11,
+4,16,
+5,-26,
+13,11,
+-1,32,
+-17,14,
+-21,-53,
+-22,14,
+-15,-6,
+-39,0,
+29,-25,
+6,-5,
+1,-20,
+-11,-3,
+-9,1,
+1,-2,
+-13,-4,
+18,10,
+1,6,
+19,20,
+-5,-16,
+16,4,
+20,-17,
+-1,13,
+-4,2,
+0,20,
+-9,-6,
+15,21,
+-14,18,
+-17,-26,
+17,10,
+-16,21,
+-1,18,
+14,5,
+3,-8,
+13,-12,
+-15,-20,
+-18,25,
+-19,-11,
+-11,6,
+-15,25,
+9,8,
+-1,-1,
+4,5,
+-5,3,
+5,3,
+13,30,
+-3,-18,
+7,-2,
+-6,28,
+-1,-10,
+6,5,
+14,7,
+-6,1,
+-11,0,
+-6,-7,
+13,-4,
+-10,2,
+-5,22,
+13,-2,
+-5,-5,
+10,3,
+-2,-5,
+-4,3,
+0,10,
+1,13,
+9,7,
+-8,-1,
+0,-10,
+-13,-4,
+-8,2,
+-1,-16,
+-7,7,
+7,5,
+-11,-17,
+4,2,
+5,10,
+0,-4,
+-2,1,
+-3,10,
+-4,-8,
+-7,-5,
+-1,8,
+5,-7,
+-5,0,
+-1,9,
+-1,-3,
+0,1,
+-1,5,
+-1,-4,
+-4,0,
+0,3,
+-4,-9,
+1,-2,
+0,3,
+-2,-3,
+-1,3,
+-1,5,
+1,-5,
+-1,1,
+0,5,
+0,-5,
+0,0,
+0,5,
+0,-5,
+-1,-1,
+1,5,
+-1,-5,
+-1,-3,
+-2,3,
+0,-3,
+1,2,
+-4,9,
+0,-3,
+-4,0,
+-1,4,
+-1,-5,
+0,-1,
+-1,3,
+-1,-9,
+-5,0,
+5,7,
+-1,-8,
+-7,5,
+-4,8,
+-3,-10,
+-2,-1,
+0,4,
+5,-10,
+4,-2,
+-11,17,
+7,-5,
+-7,-7,
+-1,16,
+-8,-2,
+-13,4,
+0,10,
+-8,1,
+9,-7,
+1,-13,
+0,-10,
+-4,-3,
+-2,5,
+10,-3,
+-5,5,
+13,2,
+-5,-22,
+-10,-2,
+13,4,
+-6,7,
+-11,0,
+-6,-1,
+14,-7,
+6,-5,
+-1,10,
+-6,-28,
+7,2,
+-3,18,
+13,-30,
+5,-3,
+-5,-3,
+4,-5,
+-1,1,
+9,-8,
+-15,-25,
+-11,-6,
+-19,11,
+-18,-25,
+-15,20,
+13,12,
+3,8,
+14,-5,
+-1,-18,
+-16,-21,
+17,-10,
+-17,26,
+-14,-18,
+15,-21,
+-9,6,
+0,-20,
+-4,-2,
+-1,-13,
+20,17,
+16,-4,
+-5,16,
+19,-20,
+1,-6,
+18,-10,
+-13,4,
+1,2,
+-9,-1,
+-11,3,
+1,20,
+6,5,
+29,25,
+-39,0,
+-15,6,
+-22,-14,
+-21,53,
+-17,-14,
+-1,-32,
+13,-11,
+5,26,
+4,-16,
+-1,11,
+5,-55,
+34,12,
+23,22,
+-14,20,
+23,-26,
+-7,-2,
+-32,-12,
+15,-30,
+37,19,
+14,-1,
+-15,-32,
+-14,0,
+-33,-3,
+19,-9,
+67,38,
+-31,-50,
+-10,3,
+3,9,
+20,16,
+11,27,
+30,-9,
+-33,-7,
+-40,29,
+6,20,
+-8,19,
+11,-48,
+4,8,
+-3,-12,
+2,12,
+-4,23,
+5,-30,
+-31,-1,
+12,-8,
+18,-25,
+35,7,
+-15,-10,
+5,2,
+9,19,
+39,-20,
+2,6,
+-36,17,
+-14,-47,
+-21,34,
+-1,-16,
+-1,16,
+13,22,
+16,-2,
+-2,-3,
+-1,4,
+-28,42,
+-49,20,
+70,-5,
+27,-71,
+-3,8,
+7,-25,
+56,33,
+13,0,
+-1,19,
+-15,-5,
+19,56,
+65,15,
+-6,19,
+34,7,
+-18,7,
+-34,-58,
+-13,-8,
+18,-9,
+15,6,
+34,22,
+-7,-4,
+-20,6,
+-22,65,
+27,41,
+18,21,
+-34,36,
+7,-27,
+-5,61,
+30,66,
+-10,15,
+-66,-12,
+69,-42,
+-1,13,
+-50,15,
+-7,21,
+-20,-12,
+6,46,
+-5,-11,
+-46,27,
+5,16,
+-28,-3,
+14,10,
+-4,-16,
+4,-55,
+-49,31,
+-39,-52,
+-17,72,
+-68,-29,
+-8,-98,
+-45,52,
+-19,-26,
+14,-42,
+43,-47,
+-16,-8,
+35,40,
+-34,61,
+-10,24,
+-13,49,
+8,71,
+51,0,
+-52,-44,
+-63,10,
+35,17,
+28,-32,
+-19,-20,
+9,33,
+37,48,
+16,-39,
+-45,76,
+-12,-6,
+87,-90,
+18,6,
+-22,10,
+-17,44,
+-4,-37,
+3,-10,
+11,-88,
+-16,20,
+73,-8,
+18,134,
+-7,43,
+45,8,
+-39,0,
+-73,31,
+-65,7,
+-65,33,
+-55,25,
+-8,-15,
+7,12,
+-9,14,
+-76,34,
+61,-15,
+38,-45,
+29,21,
+4,-15,
+-5,88,
+20,22,
+14,25,
+66,11,
+15,17,
+-6,-21,
+-33,-1,
+37,25,
+39,31,
+30,17,
+17,11,
+45,89,
+72,12,
+26,64,
+2,72,
+-44,20,
+132,24,
+32,-37,
+28,-3,
+-39,-23,
+-84,-65,
+-95,-30,
+-42,-19,
+-84,-44,
+0,70,
+-85,19,
+1,-11,
+86,49,
+-93,-5,
+-62,-93,
+63,-30,
+29,39,
+-42,-19,
+-4,17,
+37,77,
+28,20,
+-6,11,
+-23,-72,
+7,-4,
+-66,15,
+106,-71,
+20,-9,
+-51,107,
+30,61,
+95,-117,
+10,-42,
+-28,-19,
+-4,-100,
+-49,-59,
+5,4,
+-26,-50,
+-66,68,
+-6,-18,
+61,144,
+5,1,
+-20,129,
+-33,-23,
+118,-41,
+-96,-46,
+21,102,
+38,45,
+-60,13,
+-1,48,
+-81,23,
+115,-48,
+10,-16,
+11,50,
+-141,59,
+-45,-42,
+60,78,
+-86,18,
+-39,-75,
+63,-12,
+-27,16,
+141,-73,
+-89,42,
+2,24,
+-30,5,
+140,40,
+2,11,
+110,-83,
+-26,-104,
+-11,-41,
+-86,-116,
+-141,30,
+41,-20,
+-123,12,
+-33,29,
+74,17,
+-48,-4,
+-38,74,
+-44,-46,
+16,-53,
+74,-32,
+147,96,
+-112,-44,
+-64,-57,
+-78,44,
+28,-90,
+34,25,
+48,7,
+-76,1,
+-15,-150,
+-25,-17,
+79,-127,
+31,12,
+19,59,
+55,-10,
+66,-66,
+34,34,
+-68,-11,
+-64,11,
+11,54,
+-96,-19,
+111,5,
+146,-107,
+71,18,
+0,-54,
+-5,74,
+81,-62,
+36,-97,
+116,10,
+-11,13,
+71,4,
+-172,15,
+-151,64,
+-34,77,
+-56,-69,
+-69,36,
+48,10,
+34,51,
+-56,-54,
+-124,22,
+-18,104,
+-14,-104,
+-184,-55,
+-84,-53,
+-45,-101,
+42,74,
+27,107,
+0,-32,
+-52,46,
+-41,4,
+-40,149,
+20,92,
+-64,49,
+-12,147,
+-55,-26,
+57,48,
+-22,29,
+-112,17,
+-18,-36,
+175,85,
+62,-100,
+-192,-6,
+-6,21,
+-97,35,
+21,-91,
+1,38,
+-104,-19,
+89,34,
+66,110,
+9,123,
+3,99,
+6,20,
+17,-61,
+99,13,
+30,-38,
+-10,12,
+198,35,
+-25,-189,
+76,112,
+7,148,
+-23,33,
+-47,-39,
+-69,10,
+-50,98,
+-79,-117,
+-88,-40,
+24,176,
+-65,35,
+-19,87,
+-112,-49,
+103,-31,
+-60,105,
+57,-65,
+129,66,
+-178,108,
+142,-6,
+-64,41,
+-79,14,
+112,-7,
+-3,3,
+21,11,
+3,-50,
+41,61,
+67,-117,
+-2,-23,
+105,-35,
+46,-77,
+-30,-73,
+-54,91,
+-62,-94,
+100,28,
+154,-72,
+-27,8,
+-40,-70,
+85,77,
+43,110,
+35,44,
+-30,187,
+62,-59,
+-68,-45,
+76,-151,
+24,-137,
+-79,50,
+14,137,
+56,-92,
+-1,46,
+70,5,
+-117,-86,
+7,-10,
+46,11,
+1,-11,
+-6,3,
+-85,35,
+-24,40,
+-151,-108,
+6,-59,
+-42,33,
+100,132,
+102,64,
+-11,95,
+-50,42,
+-40,-32,
+56,1,
+89,44,
+-112,120,
+-13,-118,
+86,81,
+27,-146,
+56,178,
+-32,-122,
+-138,-8,
+-6,-24,
+-13,152,
+6,-32,
+151,111,
+-3,-93,
+54,144,
+-80,82,
+79,-127,
+-147,54,
+-106,58,
+-85,40,
+-120,-93,
+4,26,
+81,65,
+-4,-60,
+-72,-23,
+61,26,
+-86,62,
+-131,-52,
+4,-56,
+-66,-209,
+118,84,
+16,-93,
+198,74,
+-23,138,
+-36,28,
+-36,7,
+42,25,
+28,27,
+-30,-96,
+-43,16,
+69,98,
+38,99,
+-184,141,
+80,64,
+32,61,
+-66,-91,
+-62,121,
+-88,-150,
+115,-55,
+-180,-45,
+-8,-14,
+-77,79,
+116,71,
+-48,67,
+87,-26,
+-184,-106,
+234,-30,
+-100,20,
+-21,35,
+-75,25,
+4,-143,
+15,37,
+-21,138,
+-99,-78,
+-128,-90,
+-59,-37,
+-109,-95,
+95,145,
+121,54,
+-30,107,
+-96,23,
+70,90,
+-22,-72,
+-59,-43,
+116,76,
+19,-26,
+-32,88,
+91,-102,
+-80,-60,
+-36,48,
+-63,26,
+90,-23,
+214,-14,
+138,-50,
+-134,70,
+12,-84,
+-207,41,
+-107,-98,
+-14,-84,
+-28,56,
+97,8,
+-26,-162,
+119,-127,
+-79,53,
+70,107,
+-15,1,
+102,-56,
+74,-78,
+55,-93,
+8,24,
+134,-120,
+-115,-19,
+46,90,
+52,-180,
+-73,27,
+-15,51,
+59,-57,
+-144,125,
+-63,-136,
+-5,100,
+-121,-128,
+77,-87,
+-55,153,
+-9,-125,
+82,188,
+-256,29,
+-97,-18,
+34,77,
+77,173,
+-7,15,
+-131,70,
+127,151,
+-46,-46,
+-290,-42,
+26,83,
+39,-253,
+129,-1,
+-87,-122,
+-2,-59,
+115,-30,
+-42,-107,
+21,-11,
+-96,63,
+-250,-59,
+-105,-142,
+-12,30,
+-85,-33,
+85,88,
+16,39,
+22,-74,
+-91,266,
+102,76,
+-2,-15,
+47,-216,
+-89,-48,
+54,214,
+-76,14,
+-23,-66,
+-74,22,
+-39,132,
+-238,-48,
+-74,88,
+-117,2,
+-235,61,
+176,97,
+-91,1,
+-179,-80,
+18,6,
+24,-12,
+105,207,
+183,195,
+-9,99,
+-19,-21,
+-79,179,
+27,160,
+41,-157,
+-154,1,
+76,108,
+-10,18,
+-23,121,
+-159,249,
+-20,132,
+44,116,
+-98,-218,
+42,-12,
+151,-149,
+33,-81,
+6,-44,
+-76,60,
+157,-145,
+-19,-285,
+162,-38,
+-81,-30,
+-57,134,
+26,40,
+-60,89,
+9,8,
+82,-164,
+22,-72,
+-126,-18,
+68,-91,
+62,-64,
+211,-63,
+76,158,
+150,0,
+-146,4,
+93,-96,
+14,-15,
+46,46,
+31,283,
+63,-30,
+-74,-59,
+-90,-230,
+250,-18,
+-49,83,
+-53,124,
+-16,-53,
+-37,10,
+-54,32,
+30,64,
+-79,217,
+104,-29,
+53,277,
+186,121,
+136,-219,
+163,97,
+-21,-229,
+-69,-116,
+-1,-79,
+-91,214,
+14,-163,
+29,108,
+45,-247,
+11,11,
+109,120,
+-14,18,
+-103,19,
+-39,48,
+35,187,
+-204,157,
+57,-247,
+135,26,
+-105,-90,
+-68,221,
+9,-29,
+-168,-48,
+-107,79,
+0,-55,
+182,61,
+-93,-185,
+-53,180,
+-279,-27,
+31,-180,
+-277,68,
+112,132,
+-43,-7,
+29,81,
+154,25,
+162,43,
+45,62,
+133,-37,
+166,-196,
+-54,-52,
+-276,113,
+49,-102,
+125,-91,
+-12,-51,
+19,176,
+89,-77,
+94,35,
+-170,6,
+-94,-172,
+-27,49,
+-27,132,
+-19,-150,
+48,-86,
+181,186,
+39,59,
+-99,-23,
+-13,-78,
+-35,105,
+-90,220,
+-34,-54,
+170,246,
+31,205,
+82,126,
+156,125,
+-25,25,
+-11,-294,
+129,-39,
+-206,-118,
+-142,112,
+-32,-87,
+-223,-179,
+-46,-112,
+-104,-24,
+-41,-73,
+-49,-135,
+-71,-14,
+-4,0,
+48,77,
+-4,-85,
+-93,-109,
+16,-110,
+-147,37,
+-100,-51,
+-127,-5,
+128,-9,
+-22,-215,
+73,-12,
+-10,53,
+-171,145,
+78,-102,
+11,51,
+-112,171,
+-18,114,
+-55,207,
+-87,229,
+2,-5,
+35,13,
+-261,-58,
+-145,-87,
+-227,-57,
+180,-128,
+43,88,
+190,-25,
+-41,-43,
+22,99,
+-175,76,
+118,-143,
+169,-122,
+6,-54,
+-91,143,
+-99,11,
+80,-187,
+-228,28,
+64,61,
+186,-136,
+-148,-33,
+-6,157,
+194,110,
+-87,-44,
+-184,-143,
+-83,92,
+-179,99,
+-122,-80,
+-89,124,
+-63,-131,
+187,-57,
+236,-39,
+-175,56,
+141,62,
+108,196,
+75,18,
+14,181,
+-204,119,
+253,64,
+-37,104,
+90,-72,
+58,16,
+-108,3,
+-17,137,
+2,-24,
+-160,123,
+66,20,
+-119,-106,
+-11,218,
+-52,103,
+-23,-131,
+46,42,
+195,-46,
+-167,168,
+-253,-44,
+-40,-170,
+-154,165,
+60,19,
+-118,-58,
+-239,-51,
+-113,28,
+-76,120,
+-31,-33,
+6,-48,
+-57,-131,
+-33,-34,
+176,64,
+70,113,
+76,20,
+-88,29,
+-12,-210,
+-162,-41,
+-82,-173,
+-128,10,
+53,138,
+-123,-180,
+20,-170,
+-108,-32,
+210,42,
+66,-229,
+174,-83,
+-150,-14,
+-161,247,
+-36,8,
+72,-93,
+-74,38,
+-52,-88,
+-8,-60,
+-133,120,
+151,-12,
+-94,117,
+114,149,
+-35,-19,
+-57,-152,
+104,-95,
+-100,78,
+-34,-70,
+169,-13,
+-59,-204,
+61,20,
+165,87,
+-95,60,
+50,-101,
+-39,102,
+-125,-24,
+207,-86,
+32,86,
+45,-104,
+-213,45,
+-50,229,
+-23,86,
+11,-69,
+-1,-118,
+-234,-44,
+-42,-126,
+218,232,
+-141,-47,
+183,-192,
+-135,-187,
+-53,160,
+199,168,
+56,-5,
+-47,-14,
+69,-252,
+17,-69,
+93,187,
+119,9,
+15,-59,
+-16,-24,
+-223,-45,
+94,-248,
+39,-62,
+307,74,
+-204,-71,
+-32,-47,
+72,-21,
+217,-73,
+-52,154,
+-57,175,
+-244,37,
+202,283,
+-108,52,
+-131,14,
+-116,-221,
+-9,95,
+-148,74,
+39,-7,
+44,108,
+-92,-42,
+28,20,
+238,-188,
+-94,39,
+75,-106,
+-82,-77,
+-36,-104,
+-79,-96,
+289,81,
+-105,95,
+89,-143,
+228,92,
+-13,42,
+-61,13,
+-7,128,
+236,-118,
+112,103,
+111,-17,
+-61,-257,
+-294,83,
+130,61,
+-88,167,
+75,205,
+76,184,
+148,-6,
+137,101,
+69,-148,
+-44,35,
+-6,43,
+310,-81,
+-34,-88,
+49,-71,
+13,67,
+39,-86,
+233,116,
+-138,-99,
+76,-206,
+133,66,
+-86,269,
+-78,-138,
+-97,45,
+169,27,
+112,-9,
+141,38,
+-84,-208,
+-105,67,
+82,-70,
+-1,69,
+107,76,
+268,-132,
+200,11,
+-176,-89,
+-107,246,
+60,76,
+-282,189,
+-20,192,
+66,-160,
+-50,201,
+-152,-37,
+-48,72,
+179,-177,
+19,-28,
+65,116,
+65,13,
+-49,192,
+-112,210,
+-46,-25,
+84,1,
+-70,-1,
+101,213,
+220,-33,
+-77,2,
+-1,83,
+121,115,
+-81,38,
+-180,274,
+-98,-2,
+-302,148,
+-82,-47,
+269,50,
+156,286,
+27,-153,
+59,65,
+150,-75,
+68,35,
+101,-307,
+11,0,
+-84,-326,
+215,55,
+188,50,
+-13,86,
+-119,113,
+53,98,
+-142,155,
+1,73,
+-44,16,
+-160,269,
+-79,-11,
+-19,-41,
+-258,36,
+-180,66,
+-169,29,
+2,-150,
+-35,-112,
+-6,-101,
+227,128,
+-126,-195,
+-102,2,
+7,34,
+1,-197,
+-60,-134,
+112,-48,
+-136,32,
+195,-47,
+-34,119,
+270,45,
+128,-150,
+184,42,
+278,167,
+62,-64,
+42,-186,
+136,-40,
+-167,115,
+140,-43,
+-71,-21,
+-84,-11,
+-10,147,
+-330,92,
+36,-132,
+-111,-67,
+-17,-78,
+-164,-162,
+49,-34,
+-12,-33,
+344,-15,
+-124,-144,
+69,119,
+42,-10,
+-269,-105,
+-266,76,
+-30,-121,
+-118,-30,
+-92,33,
+140,-152,
+5,-27,
+173,-40,
+73,-195,
+-290,-164,
+-153,-56,
+-164,42,
+-19,-63,
+-247,-121,
+101,-61,
+105,207,
+-19,-109,
+-119,-183,
+-138,-50,
+38,-34,
+151,-7,
+148,-33,
+50,112,
+75,135,
+-148,-53,
+83,-123,
+-278,-63,
+-6,-214,
+103,32,
+-95,-78,
+145,-44,
+92,96,
+-188,-2,
+-153,-78,
+-85,-84,
+194,-123,
+-15,27,
+-34,-150,
+-121,160,
+-66,-107,
+-223,1,
+-14,-125,
+-190,-21,
+74,-174,
+1,-178,
+73,159,
+-270,138,
+50,38,
+4,-102,
+-37,-144,
+147,8,
+-239,41,
+267,-47,
+104,-256,
+-211,-27,
+104,122,
+-36,-27,
+-177,-192,
+-157,-36,
+176,-31,
+176,-18,
+-222,85,
+-21,-131,
+22,-175,
+73,-10,
+-87,230,
+82,-97,
+-111,55,
+40,-111,
+136,119,
+54,-49,
+219,26,
+-80,87,
+-83,-117,
+85,111,
+164,-20,
+-57,57,
+-125,-171,
+214,74,
+28,46,
+92,107,
+-165,130,
+100,244,
+80,107,
+45,-57,
+-89,-41,
+159,-47,
+-68,2,
+61,-186,
+36,1,
+142,37,
+56,54,
+93,27,
+107,-45,
+57,-8,
+95,-43,
+-211,77,
+-120,-98,
+65,-68,
+-132,30,
+-43,45,
+129,73,
+-82,132,
+-113,-144,
+-6,-41,
+34,-268,
+-36,-41,
+-40,-89,
+-75,-101,
+-215,-197,
+-69,-132,
+27,175,
+-91,28,
+-74,-7,
+-127,-250,
+-136,151,
+178,-35,
+-87,98,
+156,-97,
+-85,74,
+-146,282,
+-18,-168,
+-66,8,
+-115,-85,
+-17,75,
+-75,-121,
+-161,-213,
+-37,66,
+90,234,
+116,-72,
+-150,180,
+3,-151,
+129,23,
+-132,157,
+153,-68,
+-118,-196,
+-63,-145,
+-12,82,
+-61,36,
+208,91,
+201,239,
+-22,139,
+-112,94,
+-240,-191,
+-100,-160,
+38,-134,
+54,-155,
+-234,-134,
+-217,-206,
+-60,200,
+-119,-168,
+-5,-26,
+85,80,
+-118,209,
+-38,130,
+262,100,
+-67,17,
+-49,-215,
+33,82,
+13,301,
+-10,-91,
+11,-63,
+-291,103,
+77,-131,
+78,49,
+238,-130,
+81,-85,
+45,67,
+-29,208,
+-58,227,
+229,-92,
+51,-55,
+151,213,
+52,60,
+-211,5,
+-17,-99,
+-89,-43,
+-52,-78,
+99,-126,
+-195,27,
+97,132,
+21,101,
+-48,207,
+120,155,
+9,156,
+-70,-48,
+61,83,
+-178,230,
+49,107,
+83,-72,
+-29,-149,
+29,161,
+-37,203,
+75,-18,
+-72,-184,
+-49,-59,
+-67,-116,
+-102,21,
+46,31,
+197,-222,
+-25,117,
+5,-65,
+-104,-9,
+78,87,
+-79,-37,
+-53,122,
+100,53,
+-120,-180,
+102,-154,
+-116,-120,
+-102,-145,
+-160,162,
+-69,251,
+140,5,
+-171,151,
+-92,-59,
+275,-118,
+-143,63,
+22,274,
+22,-20,
+69,-141,
+-154,-61,
+22,153,
+76,63,
+-6,-67,
+226,-9,
+128,-136,
+54,108,
+-107,-83,
+157,136,
+-2,8,
+55,19,
+-140,-195,
+14,-148,
+-74,-59,
+97,-16,
+-279,-117,
+-86,-85,
+-28,-44,
+90,-219,
+-107,45,
+23,-22,
+-118,-31,
+28,-58,
+-80,-24,
+-84,-37,
+260,-12,
+-88,170,
+109,110,
+79,51,
+69,-136,
+-130,18,
+-33,103,
+37,11,
+27,-67,
+75,0,
+40,-42,
+-22,-109,
+-141,25,
+-55,-20,
+-137,65,
+-113,-138,
+111,125,
+82,96,
+110,-21,
+60,31,
+60,-36,
+165,33,
+-23,31,
+-21,192,
+-28,25,
+-6,35,
+-2,-59,
+-61,-117,
+97,22,
+51,23,
+-142,-76,
+-54,-157,
+74,-371,
+-175,169,
+-86,-51,
+50,-71,
+101,42,
+-92,-8,
+156,115,
+-51,-40,
+66,-44,
+-112,26,
+-141,-7,
+-8,-32,
+225,-107,
+-98,45,
+62,-131,
+14,85,
+-156,131,
+-104,-23,
+73,166,
+-15,32,
+-47,94,
+192,-91,
+-194,187,
+47,-78,
+86,-120,
+49,32,
+82,-71,
+-78,-35,
+-170,-6,
+11,212,
+-203,26,
+-21,273,
+53,20,
+103,124,
+20,26,
+35,-184,
+-237,51,
+168,-42,
+34,246,
+41,-21,
+83,69,
+19,38,
+-213,-191,
+231,60,
+77,8,
+-1,-106,
+-223,-3,
+187,-101,
+-144,114,
+-39,-91,
+39,-228,
+179,187,
+-154,19,
+-54,82,
+-5,51,
+60,-77,
+54,42,
+80,-96,
+133,120,
+-54,19,
+-101,71,
+136,92,
+-113,232,
+135,-67,
+-116,-24,
+-159,38,
+-161,-44,
+233,-142,
+0,173,
+-23,92,
+138,10,
+-1,-112,
+-47,151,
+120,-20,
+-197,0,
+-1,195,
+73,45,
+-51,-96,
+-75,-95,
+-34,58,
+-147,-7,
+-22,-92,
+-116,99,
+-69,-16,
+80,-94,
+-21,4,
+-69,57,
+-126,-30,
+-81,73,
+-54,-184,
+-47,140,
+-4,-109,
+-104,-46,
+44,-58,
+-58,217,
+230,114,
+-71,106,
+145,7,
+-104,-191,
+-1,110,
+85,-2,
+-133,-66,
+-15,-138,
+125,-107,
+-90,-39,
+-41,148,
+-32,163,
+11,166,
+-46,-86,
+41,-120,
+33,-36,
+-29,140,
+103,100,
+69,191,
+125,83,
+74,-12,
+244,32,
+-13,-121,
+59,38,
+120,91,
+-202,-113,
+59,-35,
+-15,8,
+-81,27,
+-56,-76,
+69,-99,
+-16,-167,
+109,105,
+35,31,
+9,-123,
+174,76,
+-100,1,
+-153,-8,
+-3,30,
+15,147,
+-80,110,
+82,-1,
+126,33,
+-8,-111,
+-135,2,
+-68,-29,
+142,63,
+-3,-239,
+100,-62,
+-2,-61,
+-18,-115,
+-2,-23,
+-49,-66,
+63,13,
+-105,164,
+38,19,
+-67,-108,
+70,-66,
+132,-118,
+-58,-160,
+-39,63,
+-145,105,
+-11,75,
+156,-129,
+-100,-103,
+20,-15,
+-123,-113,
+99,-103,
+99,-175,
+74,-53,
+-78,160,
+-49,-163,
+-1,-18,
+19,145,
+107,13,
+-23,26,
+2,-49,
+85,94,
+-70,84,
+103,90,
+-4,-126,
+57,7,
+148,-30,
+48,20,
+-77,-30,
+-19,143,
+87,42,
+39,208,
+235,14,
+1,-43,
+34,-20,
+-12,35,
+33,98,
+-111,103,
+16,33,
+-17,-48,
+130,134,
+65,-67,
+14,22,
+-95,75,
+147,-27,
+72,92,
+-75,12,
+10,-110,
+-35,-21,
+64,50,
+-161,111,
+-195,21,
+13,38,
+-88,-189,
+-96,104,
+-59,21,
+-19,14,
+180,-72,
+1,-145,
+-124,57,
+-101,49,
+-79,66,
+-91,18,
+37,-110,
+109,73,
+41,-83,
+-49,35,
+-77,-18,
+-36,-40,
+-76,43,
+-120,24,
+-63,91,
+-128,8,
+133,46,
+-97,-165,
+-52,-40,
+1,196,
+38,-4,
+43,-57,
+165,57,
+34,-46,
+-76,-155,
+110,21,
+-42,11,
+-45,92,
+36,47,
+19,-7,
+-45,95,
+-165,4,
+-19,-51,
+6,-61,
+24,46,
+-74,-96,
+-22,17,
+13,-41,
+37,78,
+-29,76,
+-90,45,
+87,212,
+51,-2,
+80,104,
+199,68,
+20,-13,
+0,8,
+-80,53,
+-70,-40,
+75,-26,
+233,50,
+21,-133,
+1,19,
+-47,55,
+-155,-35,
+-67,-30,
+109,-8,
+-84,16,
+1,0,
+-54,-64,
+43,177,
+177,-55,
+75,139,
+28,-81,
+-117,-24,
+50,-24,
+-86,-22,
+75,-59,
+-116,-43,
+62,-91,
+41,-91,
+-32,57,
+-51,-14,
+17,-23,
+7,-39,
+2,-122,
+-44,2,
+37,-75,
+-26,-81,
+-129,26,
+89,32,
+105,-76,
+0,16,
+25,-73,
+31,43,
+20,30,
+-97,13,
+157,31,
+52,48,
+-55,32,
+-56,38,
+49,-225,
+-52,1,
+12,0,
+82,63,
+145,-76,
+-23,61,
+70,-64,
+21,15,
+20,162,
+-86,-18,
+64,1,
+-27,99,
+14,-135,
+156,-45,
+-65,86,
+-8,85,
+-84,-146,
+-26,72,
+100,-44,
+-142,-14,
+-22,-108,
+61,169,
+-75,3,
+-15,5,
+-28,-74,
+22,63,
+78,49,
+12,49,
+144,-22,
+-131,52,
+-3,-158,
+-10,88,
+8,95,
+150,-20,
+14,-38,
+145,11,
+42,-173,
+58,7,
+-79,-24,
+16,-71,
+-24,132,
+-70,70,
+6,-122,
+13,86,
+66,-34,
+-65,15,
+129,22,
+5,10,
+53,-69,
+54,-60,
+17,9,
+4,-34,
+-72,64,
+19,18,
+-62,52,
+8,-87,
+15,-59,
+-29,-19,
+-3,89,
+13,-52,
+77,57,
+-52,3,
+-26,43,
+56,-65,
+-74,-55,
+-18,-14,
+-218,6,
+-9,-75,
+62,-1,
+-61,72,
+-25,-14,
+-14,-53,
+-39,47,
+76,-24,
+57,-56,
+48,65,
+-18,18,
+30,63,
+-37,46,
+21,16,
+62,88,
+7,26,
+17,-44,
+-60,-69,
+64,-46,
+-31,-40,
+-41,-53,
+-17,57,
+-12,21,
+-25,8,
+3,38,
+53,-35,
+-1,-55,
+-39,20,
+-22,85,
+106,-41,
+45,91,
+11,-8,
+-19,47,
+-16,-48,
+-24,-49,
+-28,41,
+26,-78,
+-45,7,
+-23,5,
+-87,29,
+-17,-109,
+-34,-37,
+-50,-59,
+5,59,
+-79,-67,
+-90,-4,
+-13,-34,
+67,65,
+-38,2,
+72,20,
+-43,-38,
+2,112,
+-47,58,
+1,29,
+11,20,
+59,4,
+12,-41,
+-118,-18,
+35,81,
+107,-85,
+19,44,
+-54,26,
+17,11,
+-15,-62,
+84,-5,
+70,50,
+46,-111,
+-4,-71,
+-91,44,
+-75,-77,
+-28,51,
+-15,-11,
+33,-18,
+56,-3,
+-41,-15,
+16,14,
+41,-60,
+-79,49,
+30,39,
+-45,30,
+-11,-26,
+16,-48,
+-80,-16,
+-52,-1,
+0,-22,
+72,43,
+50,-35,
+-23,12,
+-66,38,
+64,-18,
+88,-5,
+14,-49,
+8,25,
+28,0,
+92,-1,
+44,43,
+64,-13,
+40,-20,
+1,47,
+-28,-85,
+-43,34,
+-18,9,
+-13,-108,
+-35,15,
+62,-3,
+43,0,
+-3,105,
+-25,14,
+49,5,
+115,-7,
+-6,10,
+-37,31,
+8,61,
+-67,90,
+34,-74,
+-5,0,
+-33,-51,
+15,-6,
+56,36,
+42,-2,
+-50,-51,
+-35,47,
+65,25,
+35,7,
+48,-18,
+65,-2,
+-60,6,
+8,-17,
+-7,-47,
+8,-60,
+-103,-57,
+-18,-11,
+-35,32,
+-85,-40,
+-14,-64,
+-7,-57,
+62,22,
+65,49,
+31,40,
+10,31,
+19,-45,
+-24,-22,
+-90,25,
+13,-48,
+32,46,
+-15,-4,
+17,-6,
+-33,-7,
+59,-7,
+17,52,
+26,-20,
+-38,-48,
+-56,-10,
+13,-18,
+27,-25,
+-81,-11,
+41,-24,
+16,-25,
+34,-9,
+4,-13,
+-32,61,
+58,-35,
+-24,11,
+-8,-33,
+-51,-49,
+49,6,
+14,-1,
+-17,-31,
+-53,-35,
+-33,-30,
+-4,-9,
+-41,-7,
+-21,9,
+-64,-1,
+16,-38,
+-2,1,
+26,11,
+21,-8,
+-6,-11,
+-16,-13,
+-4,-15,
+-11,-32,
+17,-16,
+-18,49,
+-4,10,
+5,11,
+12,35,
+13,12,
+-15,23,
+-14,-7,
+-30,20,
+14,-11,
+-18,22,
+-16,-14,
+31,26,
+45,10,
+31,-4,
+14,-33,
+27,62,
+-13,3,
+0,-11,
+-23,-7,
+29,25,
+-11,20,
+10,-20,
+-9,1,
+14,10,
+7,46,
+-17,4,
+30,1,
+-37,10,
+16,-24,
+22,15,
+11,-5,
+-43,16,
+-10,-19,
+4,-17,
+1,7,
+-2,45,
+-13,-25,
+-25,-50,
+-10,27,
+25,-18,
+-10,-12,
+-34,19,
+-17,10,
+16,18,
+-8,-35,
+-16,30,
+-18,2,
+1,-27,
+33,8,
+8,-30,
+-14,24,
+-28,-2,
+-13,-11,
+3,-30,
+-27,2,
+15,-36,
+-8,-6,
+9,-4,
+-23,0,
+3,10,
+-19,18,
+-15,-49,
+12,-11,
+2,21,
+-4,-6,
+1,12,
+-16,4,
+-4,-13,
+-24,-5,
+-8,-25,
+-3,13,
+8,-11,
+18,13,
+-1,18,
+-11,13,
+9,4,
+-13,-10,
+-23,-20,
+3,2,
+3,16,
+8,-4,
+-17,-5,
+-9,-22,
+7,2,
+-3,-29,
+-24,-16,
+-10,1,
+-4,12,
+-12,13,
+0,-3,
+-6,2,
+-5,-9,
+3,-12,
+-9,-14,
+1,-21,
+1,-3,
+-1,6,
+2,4,
+-12,-3,
+4,30,
+-6,-17,
+-10,-6,
+-6,1,
+-6,-3,
+-5,-16,
+2,7,
+10,-22,
+2,-2,
+-7,11,
+4,-15,
+2,8,
+-1,2,
+-10,-1,
+-4,8,
+8,13,
+2,7,
+-6,9,
+1,8,
+6,7,
+-1,-6,
+-2,11,
+3,-8,
+-9,0,
+-4,5,
+1,-5,
+-3,-5,
+-1,5,
+-2,-3,
+2,4,
+-6,2,
+-2,-6,
+0,0,
+2,-3,
+0,-7,
+-1,-1,
+1,3,
+2,-6,
+3,-1,
+0,4,
+1,-4,
+2,-1,
+0,5,
+1,-5,
+1,1,
+-1,5,
+0,-5,
+0,0,
+0,5,
+-1,-5,
+1,-1,
+1,5,
+0,-5,
+2,1,
+1,4,
+0,-4,
+3,1,
+2,6,
+1,-3,
+-1,1,
+0,7,
+2,3,
+0,0,
+-2,6,
+-6,-2,
+2,-4,
+-2,3,
+-1,-5,
+-3,5,
+1,5,
+-4,-5,
+-9,0,
+3,8,
+-2,-11,
+-1,6,
+6,-7,
+1,-8,
+-6,-9,
+2,-7,
+8,-13,
+-4,-8,
+-10,1,
+-1,-2,
+2,-8,
+4,15,
+-7,-11,
+2,2,
+10,22,
+2,-7,
+-5,16,
+-6,3,
+-6,-1,
+-10,6,
+-6,17,
+4,-30,
+-12,3,
+2,-4,
+-1,-6,
+1,3,
+1,21,
+-9,14,
+3,12,
+-5,9,
+-6,-2,
+0,3,
+-12,-13,
+-4,-12,
+-10,-1,
+-24,16,
+-3,29,
+7,-2,
+-9,22,
+-17,5,
+8,4,
+3,-16,
+3,-2,
+-23,20,
+-13,10,
+9,-4,
+-11,-13,
+-1,-18,
+18,-13,
+8,11,
+-3,-13,
+-8,25,
+-24,5,
+-4,13,
+-16,-4,
+1,-12,
+-4,6,
+2,-21,
+12,11,
+-15,49,
+-19,-18,
+3,-10,
+-23,0,
+9,4,
+-8,6,
+15,36,
+-27,-2,
+3,30,
+-13,11,
+-28,2,
+-14,-24,
+8,30,
+33,-8,
+1,27,
+-18,-2,
+-16,-30,
+-8,35,
+16,-18,
+-17,-10,
+-34,-19,
+-10,12,
+25,18,
+-10,-27,
+-25,50,
+-13,25,
+-2,-45,
+1,-7,
+4,17,
+-10,19,
+-43,-16,
+11,5,
+22,-15,
+16,24,
+-37,-10,
+30,-1,
+-17,-4,
+7,-46,
+14,-10,
+-9,-1,
+10,20,
+-11,-20,
+29,-25,
+-23,7,
+0,11,
+-13,-3,
+27,-62,
+14,33,
+31,4,
+45,-10,
+31,-26,
+-16,14,
+-18,-22,
+14,11,
+-30,-20,
+-14,7,
+-15,-23,
+13,-12,
+12,-35,
+5,-11,
+-4,-10,
+-18,-49,
+17,16,
+-11,32,
+-4,15,
+-16,13,
+-6,11,
+21,8,
+26,-11,
+-2,-1,
+16,38,
+-64,1,
+-21,-9,
+-41,7,
+-4,9,
+-33,30,
+-53,35,
+-17,31,
+14,1,
+49,-6,
+-51,49,
+-8,33,
+-24,-11,
+58,35,
+-32,-61,
+4,13,
+34,9,
+16,25,
+41,24,
+-81,11,
+27,25,
+13,18,
+-56,10,
+-38,48,
+26,20,
+17,-52,
+59,7,
+-33,7,
+17,6,
+-15,4,
+32,-46,
+13,48,
+-90,-25,
+-24,22,
+19,45,
+10,-31,
+31,-40,
+65,-49,
+62,-22,
+-7,57,
+-14,64,
+-85,40,
+-35,-32,
+-18,11,
+-103,57,
+8,60,
+-7,47,
+8,17,
+-60,-6,
+65,2,
+48,18,
+35,-7,
+65,-25,
+-35,-47,
+-50,51,
+42,2,
+56,-36,
+15,6,
+-33,51,
+-5,0,
+34,74,
+-67,-90,
+8,-61,
+-37,-31,
+-6,-10,
+115,7,
+49,-5,
+-25,-14,
+-3,-105,
+43,0,
+62,3,
+-35,-15,
+-13,108,
+-18,-9,
+-43,-34,
+-28,85,
+1,-47,
+40,20,
+64,13,
+44,-43,
+92,1,
+28,0,
+8,-25,
+14,49,
+88,5,
+64,18,
+-66,-38,
+-23,-12,
+50,35,
+72,-43,
+0,22,
+-52,1,
+-80,16,
+16,48,
+-11,26,
+-45,-30,
+30,-39,
+-79,-49,
+41,60,
+16,-14,
+-41,15,
+56,3,
+33,18,
+-15,11,
+-28,-51,
+-75,77,
+-91,-44,
+-4,71,
+46,111,
+70,-50,
+84,5,
+-15,62,
+17,-11,
+-54,-26,
+19,-44,
+107,85,
+35,-81,
+-118,18,
+12,41,
+59,-4,
+11,-20,
+1,-29,
+-47,-58,
+2,-112,
+-43,38,
+72,-20,
+-38,-2,
+67,-65,
+-13,34,
+-90,4,
+-79,67,
+5,-59,
+-50,59,
+-34,37,
+-17,109,
+-87,-29,
+-23,-5,
+-45,-7,
+26,78,
+-28,-41,
+-24,49,
+-16,48,
+-19,-47,
+11,8,
+45,-91,
+106,41,
+-22,-85,
+-39,-20,
+-1,55,
+53,35,
+3,-38,
+-25,-8,
+-12,-21,
+-17,-57,
+-41,53,
+-31,40,
+64,46,
+-60,69,
+17,44,
+7,-26,
+62,-88,
+21,-16,
+-37,-46,
+30,-63,
+-18,-18,
+48,-65,
+57,56,
+76,24,
+-39,-47,
+-14,53,
+-25,14,
+-61,-72,
+62,1,
+-9,75,
+-218,-6,
+-18,14,
+-74,55,
+56,65,
+-26,-43,
+-52,-3,
+77,-57,
+13,52,
+-3,-89,
+-29,19,
+15,59,
+8,87,
+-62,-52,
+19,-18,
+-72,-64,
+4,34,
+17,-9,
+54,60,
+53,69,
+5,-10,
+129,-22,
+-65,-15,
+66,34,
+13,-86,
+6,122,
+-70,-70,
+-24,-132,
+16,71,
+-79,24,
+58,-7,
+42,173,
+145,-11,
+14,38,
+150,20,
+8,-95,
+-10,-88,
+-3,158,
+-131,-52,
+144,22,
+12,-49,
+78,-49,
+22,-63,
+-28,74,
+-15,-5,
+-75,-3,
+61,-169,
+-22,108,
+-142,14,
+100,44,
+-26,-72,
+-84,146,
+-8,-85,
+-65,-86,
+156,45,
+14,135,
+-27,-99,
+64,-1,
+-86,18,
+20,-162,
+21,-15,
+70,64,
+-23,-61,
+145,76,
+82,-63,
+12,0,
+-52,-1,
+49,225,
+-56,-38,
+-55,-32,
+52,-48,
+157,-31,
+-97,-13,
+20,-30,
+31,-43,
+25,73,
+0,-16,
+105,76,
+89,-32,
+-129,-26,
+-26,81,
+37,75,
+-44,-2,
+2,122,
+7,39,
+17,23,
+-51,14,
+-32,-57,
+41,91,
+62,91,
+-116,43,
+75,59,
+-86,22,
+50,24,
+-117,24,
+28,81,
+75,-139,
+177,55,
+43,-177,
+-54,64,
+1,0,
+-84,-16,
+109,8,
+-67,30,
+-155,35,
+-47,-55,
+1,-19,
+21,133,
+233,-50,
+75,26,
+-70,40,
+-80,-53,
+0,-8,
+20,13,
+199,-68,
+80,-104,
+51,2,
+87,-212,
+-90,-45,
+-29,-76,
+37,-78,
+13,41,
+-22,-17,
+-74,96,
+24,-46,
+6,61,
+-19,51,
+-165,-4,
+-45,-95,
+19,7,
+36,-47,
+-45,-92,
+-42,-11,
+110,-21,
+-76,155,
+34,46,
+165,-57,
+43,57,
+38,4,
+1,-196,
+-52,40,
+-97,165,
+133,-46,
+-128,-8,
+-63,-91,
+-120,-24,
+-76,-43,
+-36,40,
+-77,18,
+-49,-35,
+41,83,
+109,-73,
+37,110,
+-91,-18,
+-79,-66,
+-101,-49,
+-124,-57,
+1,145,
+180,72,
+-19,-14,
+-59,-21,
+-96,-104,
+-88,189,
+13,-38,
+-195,-21,
+-161,-111,
+64,-50,
+-35,21,
+10,110,
+-75,-12,
+72,-92,
+147,27,
+-95,-75,
+14,-22,
+65,67,
+130,-134,
+-17,48,
+16,-33,
+-111,-103,
+33,-98,
+-12,-35,
+34,20,
+1,43,
+235,-14,
+39,-208,
+87,-42,
+-19,-143,
+-77,30,
+48,-20,
+148,30,
+57,-7,
+-4,126,
+103,-90,
+-70,-84,
+85,-94,
+2,49,
+-23,-26,
+107,-13,
+19,-145,
+-1,18,
+-49,163,
+-78,-160,
+74,53,
+99,175,
+99,103,
+-123,113,
+20,15,
+-100,103,
+156,129,
+-11,-75,
+-145,-105,
+-39,-63,
+-58,160,
+132,118,
+70,66,
+-67,108,
+38,-19,
+-105,-164,
+63,-13,
+-49,66,
+-2,23,
+-18,115,
+-2,61,
+100,62,
+-3,239,
+142,-63,
+-68,29,
+-135,-2,
+-8,111,
+126,-33,
+82,1,
+-80,-110,
+15,-147,
+-3,-30,
+-153,8,
+-100,-1,
+174,-76,
+9,123,
+35,-31,
+109,-105,
+-16,167,
+69,99,
+-56,76,
+-81,-27,
+-15,-8,
+59,35,
+-202,113,
+120,-91,
+59,-38,
+-13,121,
+244,-32,
+74,12,
+125,-83,
+69,-191,
+103,-100,
+-29,-140,
+33,36,
+41,120,
+-46,86,
+11,-166,
+-32,-163,
+-41,-148,
+-90,39,
+125,107,
+-15,138,
+-133,66,
+85,2,
+-1,-110,
+-104,191,
+145,-7,
+-71,-106,
+230,-114,
+-58,-217,
+44,58,
+-104,46,
+-4,109,
+-47,-140,
+-54,184,
+-81,-73,
+-126,30,
+-69,-57,
+-21,-4,
+80,94,
+-69,16,
+-116,-99,
+-22,92,
+-147,7,
+-34,-58,
+-75,95,
+-51,96,
+73,-45,
+-1,-195,
+-197,0,
+120,20,
+-47,-151,
+-1,112,
+138,-10,
+-23,-92,
+0,-173,
+233,142,
+-161,44,
+-159,-38,
+-116,24,
+135,67,
+-113,-232,
+136,-92,
+-101,-71,
+-54,-19,
+133,-120,
+80,96,
+54,-42,
+60,77,
+-5,-51,
+-54,-82,
+-154,-19,
+179,-187,
+39,228,
+-39,91,
+-144,-114,
+187,101,
+-223,3,
+-1,106,
+77,-8,
+231,-60,
+-213,191,
+19,-38,
+83,-69,
+41,21,
+34,-246,
+168,42,
+-237,-51,
+35,184,
+20,-26,
+103,-124,
+53,-20,
+-21,-273,
+-203,-26,
+11,-212,
+-170,6,
+-78,35,
+82,71,
+49,-32,
+86,120,
+47,78,
+-194,-187,
+192,91,
+-47,-94,
+-15,-32,
+73,-166,
+-104,23,
+-156,-131,
+14,-85,
+62,131,
+-98,-45,
+225,107,
+-8,32,
+-141,7,
+-112,-26,
+66,44,
+-51,40,
+156,-115,
+-92,8,
+101,-42,
+50,71,
+-86,51,
+-175,-169,
+74,371,
+-54,157,
+-142,76,
+51,-23,
+97,-22,
+-61,117,
+-2,59,
+-6,-35,
+-28,-25,
+-21,-192,
+-23,-31,
+165,-33,
+60,36,
+60,-31,
+110,21,
+82,-96,
+111,-125,
+-113,138,
+-137,-65,
+-55,20,
+-141,-25,
+-22,109,
+40,42,
+75,0,
+27,67,
+37,-11,
+-33,-103,
+-130,-18,
+69,136,
+79,-51,
+109,-110,
+-88,-170,
+260,12,
+-84,37,
+-80,24,
+28,58,
+-118,31,
+23,22,
+-107,-45,
+90,219,
+-28,44,
+-86,85,
+-279,117,
+97,16,
+-74,59,
+14,148,
+-140,195,
+55,-19,
+-2,-8,
+157,-136,
+-107,83,
+54,-108,
+128,136,
+226,9,
+-6,67,
+76,-63,
+22,-153,
+-154,61,
+69,141,
+22,20,
+22,-274,
+-143,-63,
+275,118,
+-92,59,
+-171,-151,
+140,-5,
+-69,-251,
+-160,-162,
+-102,145,
+-116,120,
+102,154,
+-120,180,
+100,-53,
+-53,-122,
+-79,37,
+78,-87,
+-104,9,
+5,65,
+-25,-117,
+197,222,
+46,-31,
+-102,-21,
+-67,116,
+-49,59,
+-72,184,
+75,18,
+-37,-203,
+29,-161,
+-29,149,
+83,72,
+49,-107,
+-178,-230,
+61,-83,
+-70,48,
+9,-156,
+120,-155,
+-48,-207,
+21,-101,
+97,-132,
+-195,-27,
+99,126,
+-52,78,
+-89,43,
+-17,99,
+-211,-5,
+52,-60,
+151,-213,
+51,55,
+229,92,
+-58,-227,
+-29,-208,
+45,-67,
+81,85,
+238,130,
+78,-49,
+77,131,
+-291,-103,
+11,63,
+-10,91,
+13,-301,
+33,-82,
+-49,215,
+-67,-17,
+262,-100,
+-38,-130,
+-118,-209,
+85,-80,
+-5,26,
+-119,168,
+-60,-200,
+-217,206,
+-234,134,
+54,155,
+38,134,
+-100,160,
+-240,191,
+-112,-94,
+-22,-139,
+201,-239,
+208,-91,
+-61,-36,
+-12,-82,
+-63,145,
+-118,196,
+153,68,
+-132,-157,
+129,-23,
+3,151,
+-150,-180,
+116,72,
+90,-234,
+-37,-66,
+-161,213,
+-75,121,
+-17,-75,
+-115,85,
+-66,-8,
+-18,168,
+-146,-282,
+-85,-74,
+156,97,
+-87,-98,
+178,35,
+-136,-151,
+-127,250,
+-74,7,
+-91,-28,
+27,-175,
+-69,132,
+-215,197,
+-75,101,
+-40,89,
+-36,41,
+34,268,
+-6,41,
+-113,144,
+-82,-132,
+129,-73,
+-43,-45,
+-132,-30,
+65,68,
+-120,98,
+-211,-77,
+95,43,
+57,8,
+107,45,
+93,-27,
+56,-54,
+142,-37,
+36,-1,
+61,186,
+-68,-2,
+159,47,
+-89,41,
+45,57,
+80,-107,
+100,-244,
+-165,-130,
+92,-107,
+28,-46,
+214,-74,
+-125,171,
+-57,-57,
+164,20,
+85,-111,
+-83,117,
+-80,-87,
+219,-26,
+54,49,
+136,-119,
+40,111,
+-111,-55,
+82,97,
+-87,-230,
+73,10,
+22,175,
+-21,131,
+-222,-85,
+176,18,
+176,31,
+-157,36,
+-177,192,
+-36,27,
+104,-122,
+-211,27,
+104,256,
+267,47,
+-239,-41,
+147,-8,
+-37,144,
+4,102,
+50,-38,
+-270,-138,
+73,-159,
+1,178,
+74,174,
+-190,21,
+-14,125,
+-223,-1,
+-66,107,
+-121,-160,
+-34,150,
+-15,-27,
+194,123,
+-85,84,
+-153,78,
+-188,2,
+92,-96,
+145,44,
+-95,78,
+103,-32,
+-6,214,
+-278,63,
+83,123,
+-148,53,
+75,-135,
+50,-112,
+148,33,
+151,7,
+38,34,
+-138,50,
+-119,183,
+-19,109,
+105,-207,
+101,61,
+-247,121,
+-19,63,
+-164,-42,
+-153,56,
+-290,164,
+73,195,
+173,40,
+5,27,
+140,152,
+-92,-33,
+-118,30,
+-30,121,
+-266,-76,
+-269,105,
+42,10,
+69,-119,
+-124,144,
+344,15,
+-12,33,
+49,34,
+-164,162,
+-17,78,
+-111,67,
+36,132,
+-330,-92,
+-10,-147,
+-84,11,
+-71,21,
+140,43,
+-167,-115,
+136,40,
+42,186,
+62,64,
+278,-167,
+184,-42,
+128,150,
+270,-45,
+-34,-119,
+195,47,
+-136,-32,
+112,48,
+-60,134,
+1,197,
+7,-34,
+-102,-2,
+-126,195,
+227,-128,
+-6,101,
+-35,112,
+2,150,
+-169,-29,
+-180,-66,
+-258,-36,
+-19,41,
+-79,11,
+-160,-269,
+-44,-16,
+1,-73,
+-142,-155,
+53,-98,
+-119,-113,
+-13,-86,
+188,-50,
+215,-55,
+-84,326,
+6,0,
+20,153,
+69,54,
+-190,109,
+267,130,
+166,-124,
+-99,97,
+118,-114,
+-233,-90,
+4,-14,
+-186,53,
+38,-337,
+99,-173,
+29,-193,
+-101,-46,
+-116,144,
+-140,18,
+130,134,
+-112,-107,
+-96,-129,
+-144,-180,
+-137,180,
+37,-67,
+51,28,
+-107,59,
+-20,74,
+-7,-156,
+-87,99,
+55,-43,
+63,-127,
+57,68,
+124,66,
+270,89,
+194,91,
+44,-140,
+-70,-243,
+203,-187,
+96,217,
+39,-199,
+-212,-47,
+-51,142,
+165,-102,
+-98,-30,
+-147,-53,
+76,-35,
+72,-84,
+-30,-6,
+-221,-67,
+23,21,
+22,221,
+-12,79,
+-207,-192,
+-53,-41,
+-60,-193,
+64,20,
+-107,-4,
+-132,-57,
+220,-27,
+-108,34,
+49,74,
+207,-94,
+261,22,
+71,9,
+317,-30,
+146,-52,
+168,-100,
+-24,-16,
+3,-115,
+42,-120,
+-103,36,
+-295,235,
+-27,18,
+149,124,
+-136,76,
+120,76,
+188,94,
+27,55,
+13,107,
+-9,87,
+192,-24,
+14,-134,
+65,240,
+-199,70,
+-24,79,
+-36,36,
+107,-114,
+-191,99,
+72,-51,
+-75,132,
+-306,-68,
+57,98,
+168,-104,
+-89,-275,
+-227,-180,
+-113,141,
+99,-145,
+214,-84,
+38,-215,
+142,69,
+-148,41,
+7,-115,
+-64,-204,
+203,194,
+-143,-165,
+-154,82,
+-44,146,
+151,-80,
+-13,59,
+-57,81,
+171,43,
+132,-243,
+-48,48,
+-40,48,
+-57,50,
+-137,59,
+177,-138,
+-90,-137,
+-172,-24,
+-26,-182,
+50,35,
+-20,-135,
+361,-24,
+-121,-32,
+-23,-56,
+147,54,
+-163,-205,
+31,-6,
+-51,-97,
+3,37,
+-50,-146,
+48,142,
+186,159,
+-178,-229,
+24,-187,
+-25,208,
+-139,-121,
+-67,0,
+25,115,
+21,70,
+-169,-17,
+68,-71,
+-188,-205,
+-62,-56,
+10,-149,
+-52,87,
+110,1,
+150,137,
+-178,36,
+-99,-5,
+70,-85,
+-64,-69,
+-62,-120,
+-145,52,
+-135,120,
+-233,112,
+98,-143,
+-203,-7,
+77,215,
+-35,-18,
+6,-132,
+77,-64,
+-216,-240,
+-118,108,
+117,78,
+-51,-263,
+34,-45,
+124,75,
+131,-75,
+-1,80,
+56,-212,
+-185,139,
+108,-219,
+-89,-110,
+-146,37,
+-95,-186,
+91,120,
+-2,-69,
+-93,46,
+-69,-192,
+-78,62,
+136,-141,
+63,-44,
+-71,-5,
+47,198,
+117,67,
+154,-22,
+17,-44,
+211,76,
+168,26,
+276,252,
+81,209,
+144,-271,
+66,-4,
+117,204,
+-44,236,
+-8,113,
+23,158,
+44,143,
+-196,-13,
+-113,-100,
+77,-124,
+-32,-89,
+22,-30,
+39,-27,
+38,116,
+105,55,
+-90,56,
+203,171,
+-73,-40,
+18,238,
+-15,-129,
+135,-154,
+180,92,
+31,-13,
+-206,-163,
+-60,81,
+242,-106,
+219,34,
+38,-190,
+55,42,
+130,100,
+-103,-25,
+98,136,
+-29,238,
+-52,90,
+56,-88,
+-229,87,
+-159,22,
+98,92,
+118,37,
+158,-148,
+144,-55,
+-21,-42,
+110,-74,
+123,-11,
+52,79,
+181,-57,
+191,-80,
+-14,0,
+19,68,
+-91,-82,
+2,-104,
+141,-7,
+-43,-13,
+-117,-84,
+242,54,
+-119,13,
+-45,264,
+138,177,
+79,38,
+-4,82,
+32,-168,
+7,-175,
+-228,82,
+-164,-245,
+172,-219,
+116,8,
+120,-1,
+58,60,
+-47,146,
+6,-50,
+-178,8,
+-76,-105,
+87,232,
+-20,-127,
+179,-53,
+78,-31,
+155,79,
+9,101,
+56,61,
+4,-82,
+98,-11,
+-1,86,
+317,-12,
+-117,-205,
+150,21,
+3,146,
+-240,78,
+-17,-1,
+-26,-20,
+61,142,
+56,-101,
+-32,-257,
+20,205,
+-156,129,
+-61,65,
+-61,-33,
+165,-152,
+148,104,
+149,26,
+-71,-37,
+58,113,
+248,62,
+-250,46,
+146,16,
+75,47,
+-112,81,
+-78,-163,
+-111,155,
+-63,-19,
+3,214,
+32,-51,
+-56,90,
+-125,-122,
+-56,159,
+91,92,
+294,-95,
+-76,3,
+-164,-100,
+30,-150,
+18,224,
+199,-143,
+-58,-67,
+-79,86,
+-149,33,
+80,73,
+-47,-140,
+58,-41,
+-177,71,
+-41,-137,
+133,-51,
+-22,0,
+73,-36,
+33,75,
+46,27,
+46,34,
+-223,77,
+-5,57,
+41,-36,
+31,-236,
+42,-121,
+60,104,
+-102,16,
+110,-150,
+9,19,
+130,10,
+69,-32,
+-101,-234,
+82,22,
+-16,163,
+5,-11,
+-226,-28,
+10,84,
+161,-97,
+25,-67,
+27,61,
+25,258,
+-203,2,
+164,-115,
+62,-213,
+13,160,
+-179,-228,
+92,30,
+33,63,
+-118,-131,
+-27,23,
+-126,118,
+95,-91,
+73,-151,
+99,-88,
+31,27,
+-116,-159,
+-63,41,
+-154,-49,
+-30,150,
+-32,72,
+266,49,
+127,124,
+167,-194,
+-87,-62,
+12,-21,
+19,-36,
+41,-60,
+87,194,
+-51,-109,
+-6,52,
+-168,36,
+51,-32,
+73,23,
+-28,96,
+-108,4,
+76,-96,
+23,-197,
+222,-79,
+190,-30,
+-82,-149,
+-56,78,
+4,45,
+-67,22,
+-242,16,
+-180,49,
+106,248,
+-33,-87,
+28,225,
+221,-99,
+-112,-32,
+164,-33,
+-10,19,
+-134,6,
+-52,-55,
+143,-98,
+-30,68,
+142,-6,
+72,-48,
+16,-197,
+133,-59,
+91,14,
+-49,246,
+-79,20,
+31,111,
+-43,31,
+-52,-92,
+17,-40,
+95,-220,
+-4,123,
+-31,-83,
+14,113,
+36,-10,
+65,-72,
+138,52,
+27,-121,
+-65,-12,
+-50,-41,
+26,-24,
+-11,-81,
+23,22,
+142,13,
+-73,42,
+-59,64,
+-56,28,
+26,85,
+-119,-162,
+-24,207,
+-115,-210,
+118,90,
+92,-11,
+-163,4,
+18,15,
+-272,-57,
+10,-142,
+210,-158,
+42,31,
+55,45,
+86,-6,
+-8,106,
+-34,-44,
+37,-2,
+268,-9,
+4,-3,
+-96,32,
+-66,-280,
+89,-78,
+64,-116,
+-25,118,
+46,108,
+107,-149,
+-9,10,
+61,-196,
+103,110,
+-187,-14,
+29,-123,
+-2,60,
+-41,-45,
+-135,69,
+67,102,
+54,65,
+0,200,
+74,26,
+-49,11,
+-25,-42,
+-137,-68,
+35,-11,
+96,23,
+-15,98,
+71,-21,
+-127,150,
+-105,48,
+162,-84,
+77,102,
+-103,176,
+52,61,
+-128,-42,
+59,-22,
+187,65,
+109,-108,
+23,36,
+0,45,
+82,272,
+78,-159,
+-21,148,
+50,-219,
+-38,-42,
+-68,-153,
+69,142,
+70,49,
+28,-78,
+-55,-20,
+22,-110,
+66,-89,
+-15,-62,
+136,-91,
+-45,-83,
+-11,-106,
+147,27,
+-43,-108,
+59,-77,
+-127,-94,
+-87,42,
+-79,-64,
+-47,-60,
+-132,-86,
+26,-19,
+62,79,
+-17,-15,
+-80,-71,
+-80,-106,
+-13,-34,
+-42,-127,
+10,-50,
+-169,-76,
+-35,137,
+-28,-14,
+-46,48,
+-149,28,
+-27,-31,
+-82,148,
+-121,-18,
+-24,1,
+-104,26,
+-31,-47,
+72,99,
+39,64,
+13,-66,
+-254,-40,
+66,38,
+-175,25,
+168,0,
+-18,132,
+227,9,
+-70,-58,
+-42,195,
+7,142,
+45,-31,
+-94,58,
+67,-133,
+204,4,
+15,85,
+-20,62,
+53,-28,
+56,-97,
+93,-40,
+-9,119,
+75,1,
+-28,19,
+-58,-19,
+-32,-162,
+-14,75,
+87,6,
+67,-1,
+169,80,
+28,20,
+22,-80,
+91,-86,
+-110,88,
+0,-106,
+6,-17,
+-57,-17,
+65,81,
+-222,34,
+33,22,
+37,79,
+50,-9,
+27,11,
+-228,100,
+-64,-29,
+-110,-155,
+71,98,
+-2,137,
+-75,91,
+69,-77,
+-4,33,
+39,58,
+40,6,
+-4,116,
+-94,97,
+-140,-8,
+-18,-71,
+-14,-221,
+3,89,
+59,-21,
+-98,26,
+96,78,
+-136,-181,
+132,-9,
+-96,10,
+76,-40,
+68,-101,
+-10,52,
+41,2,
+2,64,
+-49,17,
+-48,-36,
+24,-5,
+-88,-41,
+3,0,
+-53,98,
+8,90,
+-6,-19,
+-5,22,
+109,6,
+-125,-37,
+40,65,
+-166,68,
+-19,-108,
+53,4,
+-1,39,
+117,-92,
+72,-35,
+105,122,
+-118,17,
+-88,45,
+-72,103,
+34,-18,
+-3,97,
+-11,41,
+-80,-38,
+8,-87,
+41,49,
+-40,-29,
+-72,111,
+79,-4,
+-68,82,
+174,19,
+-5,-28,
+115,-28,
+7,-208,
+-22,-65,
+79,64,
+-4,-106,
+-33,-11,
+-84,127,
+-20,102,
+-106,89,
+-134,-24,
+72,-21,
+46,-41,
+-31,61,
+41,1,
+19,-41,
+-59,-99,
+94,59,
+-35,-4,
+48,40,
+-30,38,
+-30,-45,
+-70,16,
+-17,16,
+-59,185,
+121,60,
+58,72,
+-14,-85,
+113,-49,
+-90,-82,
+-34,-23,
+-18,-23,
+-13,70,
+-151,88,
+-6,-34,
+68,30,
+-37,-98,
+-9,-39,
+12,36,
+-48,7,
+18,-40,
+-98,-78,
+39,146,
+-164,-27,
+32,-8,
+146,-53,
+58,25,
+-96,49,
+15,56,
+-3,8,
+-10,-80,
+25,-91,
+59,100,
+13,-50,
+-84,5,
+-102,22,
+88,40,
+-40,81,
+-74,-36,
+23,32,
+45,-20,
+-71,32,
+-111,32,
+-45,22,
+51,-46,
+31,-36,
+18,-70,
+32,81,
+5,32,
+25,-40,
+-28,89,
+-41,4,
+-11,-24,
+-43,-22,
+22,-79,
+-39,79,
+-69,-28,
+137,-39,
+-8,-78,
+-93,33,
+73,8,
+-45,110,
+17,-49,
+-49,-84,
+-66,23,
+19,65,
+35,109,
+23,-45,
+42,-80,
+-73,-8,
+89,18,
+-8,-17,
+109,-26,
+-43,-23,
+24,-98,
+-33,-11,
+58,61,
+7,-42,
+-4,46,
+74,-32,
+7,99,
+11,-8,
+25,-18,
+-10,161,
+11,26,
+-74,-16,
+24,-35,
+137,-36,
+-15,-63,
+-34,63,
+-65,-13,
+19,2,
+61,70,
+-49,-103,
+38,-51,
+98,15,
+-30,-19,
+-66,82,
+-16,-2,
+44,118,
+-15,-33,
+-23,36,
+17,17,
+48,12,
+29,36,
+8,99,
+-70,-10,
+22,72,
+1,-6,
+62,-41,
+-94,-26,
+48,-58,
+36,20,
+6,22,
+42,22,
+-27,87,
+-104,40,
+-40,-50,
+-44,-99,
+-22,0,
+-60,27,
+-21,-28,
+74,60,
+54,47,
+64,-52,
+82,31,
+-50,0,
+1,24,
+0,-33,
+-25,24,
+-28,38,
+-23,-36,
+3,-40,
+24,60,
+-46,35,
+-16,55,
+28,66,
+-2,14,
+-33,24,
+-5,50,
+-39,-1,
+-31,65,
+-3,87,
+31,-18,
+37,-46,
+-14,-34,
+10,-58,
+12,31,
+84,8,
+54,-43,
+-1,52,
+15,-6,
+23,20,
+-33,38,
+-73,60,
+75,75,
+-64,-2,
+-22,-77,
+23,-4,
+-18,85,
+-31,29,
+-3,3,
+-13,-13,
+91,29,
+-14,-22,
+35,68,
+44,-35,
+-2,30,
+18,38,
+-16,-33,
+-36,17,
+-33,19,
+-31,-44,
+-8,-51,
+44,2,
+56,25,
+29,-29,
+66,16,
+90,13,
+-48,35,
+-30,26,
+27,56,
+81,35,
+30,101,
+-15,24,
+20,24,
+-23,35,
+23,50,
+53,-13,
+18,3,
+-52,18,
+13,10,
+-38,19,
+-2,-46,
+-38,-28,
+40,22,
+-36,5,
+18,-21,
+-38,-39,
+-24,-5,
+-11,-25,
+-54,27,
+51,-50,
+-68,26,
+25,45,
+25,16,
+-51,-2,
+-26,30,
+6,-18,
+3,-16,
+-10,-20,
+-65,-38,
+-13,36,
+10,13,
+20,-55,
+21,40,
+-29,-44,
+-4,-24,
+66,-44,
+-11,-20,
+-25,-42,
+-11,14,
+-18,5,
+-18,-38,
+34,-13,
+8,15,
+19,22,
+-3,7,
+1,-11,
+-57,-23,
+-6,-7,
+-31,-33,
+-16,7,
+38,-24,
+18,18,
+-28,-15,
+28,-35,
+-8,7,
+-17,-16,
+-35,-7,
+8,4,
+37,40,
+-5,-25,
+-41,-9,
+32,26,
+-38,-48,
+-18,21,
+-7,1,
+11,-17,
+-24,26,
+-6,6,
+6,44,
+-45,-9,
+16,-10,
+-27,-23,
+-33,-7,
+0,1,
+-8,13,
+6,-34,
+29,-6,
+-17,7,
+-22,8,
+-7,29,
+32,3,
+-16,-16,
+12,25,
+15,10,
+-7,-53,
+18,5,
+-19,9,
+3,12,
+-30,-25,
+4,11,
+9,-14,
+-13,34,
+-47,19,
+16,13,
+-6,-7,
+-16,-40,
+-38,-13,
+-14,32,
+2,-5,
+14,-31,
+-12,-12,
+24,-1,
+-14,-3,
+4,-16,
+-3,25,
+4,-27,
+28,-10,
+4,-3,
+6,14,
+-15,5,
+11,21,
+17,-17,
+6,10,
+6,30,
+15,-5,
+9,4,
+2,6,
+21,-4,
+8,-25,
+12,-17,
+-11,6,
+-15,2,
+-3,0,
+-1,6,
+-15,33,
+1,11,
+6,21,
+-9,18,
+2,22,
+1,-3,
+5,6,
+-3,-1,
+-3,6,
+0,-15,
+-5,-2,
+-1,11,
+-21,-20,
+-2,-7,
+3,-3,
+12,3,
+8,-3,
+-6,-6,
+-5,-14,
+1,13,
+-7,4,
+-1,-14,
+-6,0,
+1,7,
+1,-3,
+-1,-9,
+-3,-3,
+-4,12,
+7,3,
+-24,4,
+-7,-3,
+10,11,
+0,15,
+4,4,
+5,2,
+-7,6,
+-2,-2,
+4,-1,
+-3,0,
+-5,-4,
+11,-1,
+-5,1,
+-1,0,
+5,-2,
+-2,-5,
+-11,-5,
+5,1,
+-2,-1,
+1,0,
+5,-5,
+-2,-1,
+-5,1,
+-2,1,
+-4,0,
+-5,-1,
+6,-4,
+-4,2,
+-3,-3,
+5,1,
+-2,2,
+-3,0,
+6,0,
+-2,0,
+-3,0,
+6,0,
+-3,0,
+-2,0,
+6,0,
+-3,0,
+-2,-2,
+5,-1,
+-3,3,
+-4,-2,
+6,4,
+-5,1,
+-4,0,
+-2,-1,
+-5,-1,
+-2,1,
+5,5,
+1,0,
+-2,1,
+5,-1,
+-11,5,
+-2,5,
+5,2,
+-1,0,
+-5,-1,
+11,1,
+-5,4,
+-3,0,
+4,1,
+-2,2,
+-7,-6,
+5,-2,
+4,-4,
+0,-15,
+10,-11,
+-7,3,
+-24,-4,
+7,-3,
+-4,-12,
+-3,3,
+-1,9,
+1,3,
+1,-7,
+-6,0,
+-1,14,
+-7,-4,
+1,-13,
+-5,14,
+-6,6,
+8,3,
+12,-3,
+3,3,
+-2,7,
+-21,20,
+-1,-11,
+-5,2,
+0,15,
+-3,-6,
+-3,1,
+5,-6,
+1,3,
+2,-22,
+-9,-18,
+6,-21,
+1,-11,
+-15,-33,
+-1,-6,
+-3,0,
+-15,-2,
+-11,-6,
+12,17,
+8,25,
+21,4,
+2,-6,
+9,-4,
+15,5,
+6,-30,
+6,-10,
+17,17,
+11,-21,
+-15,-5,
+6,-14,
+4,3,
+28,10,
+4,27,
+-3,-25,
+4,16,
+-14,3,
+24,1,
+-12,12,
+14,31,
+2,5,
+-14,-32,
+-38,13,
+-16,40,
+-6,7,
+16,-13,
+-47,-19,
+-13,-34,
+9,14,
+4,-11,
+-30,25,
+3,-12,
+-19,-9,
+18,-5,
+-7,53,
+15,-10,
+12,-25,
+-16,16,
+32,-3,
+-7,-29,
+-22,-8,
+-17,-7,
+29,6,
+6,34,
+-8,-13,
+0,-1,
+-33,7,
+-27,23,
+16,10,
+-45,9,
+6,-44,
+-6,-6,
+-24,-26,
+11,17,
+-7,-1,
+-18,-21,
+-38,48,
+32,-26,
+-41,9,
+-5,25,
+37,-40,
+8,-4,
+-35,7,
+-17,16,
+-8,-7,
+28,35,
+-28,15,
+18,-18,
+38,24,
+-16,-7,
+-31,33,
+-6,7,
+-57,23,
+1,11,
+-3,-7,
+19,-22,
+8,-15,
+34,13,
+-18,38,
+-18,-5,
+-11,-14,
+-25,42,
+-11,20,
+66,44,
+-4,24,
+-29,44,
+21,-40,
+20,55,
+10,-13,
+-13,-36,
+-65,38,
+-10,20,
+3,16,
+6,18,
+-26,-30,
+-51,2,
+25,-16,
+25,-45,
+-68,-26,
+51,50,
+-54,-27,
+-11,25,
+-24,5,
+-38,39,
+18,21,
+-36,-5,
+40,-22,
+-38,28,
+-2,46,
+-38,-19,
+13,-10,
+-52,-18,
+18,-3,
+53,13,
+23,-50,
+-23,-35,
+20,-24,
+-15,-24,
+30,-101,
+81,-35,
+27,-56,
+-30,-26,
+-48,-35,
+90,-13,
+66,-16,
+29,29,
+56,-25,
+44,-2,
+-8,51,
+-31,44,
+-33,-19,
+-36,-17,
+-16,33,
+18,-38,
+-2,-30,
+44,35,
+35,-68,
+-14,22,
+91,-29,
+-13,13,
+-3,-3,
+-31,-29,
+-18,-85,
+23,4,
+-22,77,
+-64,2,
+75,-75,
+-73,-60,
+-33,-38,
+23,-20,
+15,6,
+-1,-52,
+54,43,
+84,-8,
+12,-31,
+10,58,
+-14,34,
+37,46,
+31,18,
+-3,-87,
+-31,-65,
+-39,1,
+-5,-50,
+-33,-24,
+-2,-14,
+28,-66,
+-16,-55,
+-46,-35,
+24,-60,
+3,40,
+-23,36,
+-28,-38,
+-25,-24,
+0,33,
+1,-24,
+-50,0,
+82,-31,
+64,52,
+54,-47,
+74,-60,
+-21,28,
+-60,-27,
+-22,0,
+-44,99,
+-40,50,
+-104,-40,
+-27,-87,
+42,-22,
+6,-22,
+36,-20,
+48,58,
+-94,26,
+62,41,
+1,6,
+22,-72,
+-70,10,
+8,-99,
+29,-36,
+48,-12,
+17,-17,
+-23,-36,
+-15,33,
+44,-118,
+-16,2,
+-66,-82,
+-30,19,
+98,-15,
+38,51,
+-49,103,
+61,-70,
+19,-2,
+-65,13,
+-34,-63,
+-15,63,
+137,36,
+24,35,
+-74,16,
+11,-26,
+-10,-161,
+25,18,
+11,8,
+7,-99,
+74,32,
+-4,-46,
+7,42,
+58,-61,
+-33,11,
+24,98,
+-43,23,
+109,26,
+-8,17,
+89,-18,
+-73,8,
+42,80,
+23,45,
+35,-109,
+19,-65,
+-66,-23,
+-49,84,
+17,49,
+-45,-110,
+73,-8,
+-93,-33,
+-8,78,
+137,39,
+-69,28,
+-39,-79,
+22,79,
+-43,22,
+-11,24,
+-41,-4,
+-28,-89,
+25,40,
+5,-32,
+32,-81,
+18,70,
+31,36,
+51,46,
+-45,-22,
+-111,-32,
+-71,-32,
+45,20,
+23,-32,
+-74,36,
+-40,-81,
+88,-40,
+-102,-22,
+-84,-5,
+13,50,
+59,-100,
+25,91,
+-10,80,
+-3,-8,
+15,-56,
+-96,-49,
+58,-25,
+146,53,
+32,8,
+-164,27,
+39,-146,
+-98,78,
+18,40,
+-48,-7,
+12,-36,
+-9,39,
+-37,98,
+68,-30,
+-6,34,
+-151,-88,
+-13,-70,
+-18,23,
+-34,23,
+-90,82,
+113,49,
+-14,85,
+58,-72,
+121,-60,
+-59,-185,
+-17,-16,
+-70,-16,
+-30,45,
+-30,-38,
+48,-40,
+-35,4,
+94,-59,
+-59,99,
+19,41,
+41,-1,
+-31,-61,
+46,41,
+72,21,
+-134,24,
+-106,-89,
+-20,-102,
+-84,-127,
+-33,11,
+-4,106,
+79,-64,
+-22,65,
+7,208,
+115,28,
+-5,28,
+174,-19,
+-68,-82,
+79,4,
+-72,-111,
+-40,29,
+41,-49,
+8,87,
+-80,38,
+-11,-41,
+-3,-97,
+34,18,
+-72,-103,
+-88,-45,
+-118,-17,
+105,-122,
+72,35,
+117,92,
+-1,-39,
+53,-4,
+-19,108,
+-166,-68,
+40,-65,
+-125,37,
+109,-6,
+-5,-22,
+-6,19,
+8,-90,
+-53,-98,
+3,0,
+-88,41,
+24,5,
+-48,36,
+-49,-17,
+2,-64,
+41,-2,
+-10,-52,
+68,101,
+76,40,
+-96,-10,
+132,9,
+-136,181,
+96,-78,
+-98,-26,
+59,21,
+3,-89,
+-14,221,
+-18,71,
+-140,8,
+-94,-97,
+-4,-116,
+40,-6,
+39,-58,
+-4,-33,
+69,77,
+-75,-91,
+-2,-137,
+71,-98,
+-110,155,
+-64,29,
+-228,-100,
+27,-11,
+50,9,
+37,-79,
+33,-22,
+-222,-34,
+65,-81,
+-57,17,
+6,17,
+0,106,
+-110,-88,
+91,86,
+22,80,
+28,-20,
+169,-80,
+67,1,
+87,-6,
+-14,-75,
+-32,162,
+-58,19,
+-28,-19,
+75,-1,
+-9,-119,
+93,40,
+56,97,
+53,28,
+-20,-62,
+15,-85,
+204,-4,
+67,133,
+-94,-58,
+45,31,
+7,-142,
+-42,-195,
+-70,58,
+227,-9,
+-18,-132,
+168,0,
+-175,-25,
+66,-38,
+-254,40,
+13,66,
+39,-64,
+72,-99,
+-31,47,
+-104,-26,
+-24,-1,
+-121,18,
+-82,-148,
+-27,31,
+-149,-28,
+-46,-48,
+-28,14,
+-35,-137,
+-169,76,
+10,50,
+-42,127,
+-13,34,
+-80,106,
+-80,71,
+-17,15,
+62,-79,
+26,19,
+-132,86,
+-47,60,
+-79,64,
+-87,-42,
+-127,94,
+59,77,
+-43,108,
+147,-27,
+-11,106,
+-45,83,
+136,91,
+-15,62,
+66,89,
+22,110,
+-55,20,
+28,78,
+70,-49,
+69,-142,
+-68,153,
+-38,42,
+50,219,
+-21,-148,
+78,159,
+82,-272,
+0,-45,
+23,-36,
+109,108,
+187,-65,
+59,22,
+-128,42,
+52,-61,
+-103,-176,
+77,-102,
+162,84,
+-105,-48,
+-127,-150,
+71,21,
+-15,-98,
+96,-23,
+35,11,
+-137,68,
+-25,42,
+-49,-11,
+74,-26,
+0,-200,
+54,-65,
+67,-102,
+-135,-69,
+-41,45,
+-2,-60,
+29,123,
+-187,14,
+103,-110,
+61,196,
+-9,-10,
+107,149,
+46,-108,
+-25,-118,
+64,116,
+89,78,
+-66,280,
+-96,-32,
+4,3,
+268,9,
+37,2,
+-34,44,
+-8,-106,
+86,6,
+55,-45,
+42,-31,
+210,158,
+10,142,
+-272,57,
+18,-15,
+-163,-4,
+92,11,
+118,-90,
+-115,210,
+-24,-207,
+-119,162,
+26,-85,
+-56,-28,
+-59,-64,
+-73,-42,
+142,-13,
+23,-22,
+-11,81,
+26,24,
+-50,41,
+-65,12,
+27,121,
+138,-52,
+65,72,
+36,10,
+14,-113,
+-31,83,
+-4,-123,
+95,220,
+17,40,
+-52,92,
+-43,-31,
+31,-111,
+-79,-20,
+-49,-246,
+91,-14,
+133,59,
+16,197,
+72,48,
+142,6,
+-30,-68,
+143,98,
+-52,55,
+-134,-6,
+-10,-19,
+164,33,
+-112,32,
+221,99,
+28,-225,
+-33,87,
+106,-248,
+-180,-49,
+-242,-16,
+-67,-22,
+4,-45,
+-56,-78,
+-82,149,
+190,30,
+222,79,
+23,197,
+76,96,
+-108,-4,
+-28,-96,
+73,-23,
+51,32,
+-168,-36,
+-6,-52,
+-51,109,
+87,-194,
+41,60,
+19,36,
+12,21,
+-87,62,
+167,194,
+127,-124,
+266,-49,
+-32,-72,
+-30,-150,
+-154,49,
+-63,-41,
+-116,159,
+31,-27,
+99,88,
+73,151,
+95,91,
+-126,-118,
+-27,-23,
+-118,131,
+33,-63,
+92,-30,
+-179,228,
+13,-160,
+62,213,
+164,115,
+-203,-2,
+25,-258,
+27,-61,
+25,67,
+161,97,
+10,-84,
+-226,28,
+5,11,
+-16,-163,
+82,-22,
+-101,234,
+69,32,
+130,-10,
+9,-19,
+110,150,
+-102,-16,
+60,-104,
+42,121,
+31,236,
+41,36,
+-5,-57,
+-223,-77,
+46,-34,
+46,-27,
+33,-75,
+73,36,
+-22,0,
+133,51,
+-41,137,
+-177,-71,
+58,41,
+-47,140,
+80,-73,
+-149,-33,
+-79,-86,
+-58,67,
+199,143,
+18,-224,
+30,150,
+-164,100,
+-76,-3,
+294,95,
+91,-92,
+-56,-159,
+-125,122,
+-56,-90,
+32,51,
+3,-214,
+-63,19,
+-111,-155,
+-78,163,
+-112,-81,
+75,-47,
+146,-16,
+-250,-46,
+248,-62,
+58,-113,
+-71,37,
+149,-26,
+148,-104,
+165,152,
+-61,33,
+-61,-65,
+-156,-129,
+20,-205,
+-32,257,
+56,101,
+61,-142,
+-26,20,
+-17,1,
+-240,-78,
+3,-146,
+150,-21,
+-117,205,
+317,12,
+-1,-86,
+98,11,
+4,82,
+56,-61,
+9,-101,
+155,-79,
+78,31,
+179,53,
+-20,127,
+87,-232,
+-76,105,
+-178,-8,
+6,50,
+-47,-146,
+58,-60,
+120,1,
+116,-8,
+172,219,
+-164,245,
+-228,-82,
+7,175,
+32,168,
+-4,-82,
+79,-38,
+138,-177,
+-45,-264,
+-119,-13,
+242,-54,
+-117,84,
+-43,13,
+141,7,
+2,104,
+-91,82,
+19,-68,
+-14,0,
+191,80,
+181,57,
+52,-79,
+123,11,
+110,74,
+-21,42,
+144,55,
+158,148,
+118,-37,
+98,-92,
+-159,-22,
+-229,-87,
+56,88,
+-52,-90,
+-29,-238,
+98,-136,
+-103,25,
+130,-100,
+55,-42,
+38,190,
+219,-34,
+242,106,
+-60,-81,
+-206,163,
+31,13,
+180,-92,
+135,154,
+-15,129,
+18,-238,
+-73,40,
+203,-171,
+-90,-56,
+105,-55,
+38,-116,
+39,27,
+22,30,
+-32,89,
+77,124,
+-113,100,
+-196,13,
+44,-143,
+23,-158,
+-8,-113,
+-44,-236,
+117,-204,
+66,4,
+144,271,
+81,-209,
+276,-252,
+168,-26,
+211,-76,
+17,44,
+154,22,
+117,-67,
+47,-198,
+-71,5,
+63,44,
+136,141,
+-78,-62,
+-69,192,
+-93,-46,
+-2,69,
+91,-120,
+-95,186,
+-146,-37,
+-89,110,
+108,219,
+-185,-139,
+56,212,
+-1,-80,
+131,75,
+124,-75,
+34,45,
+-51,263,
+117,-78,
+-118,-108,
+-216,240,
+77,64,
+6,132,
+-35,18,
+77,-215,
+-203,7,
+98,143,
+-233,-112,
+-135,-120,
+-145,-52,
+-62,120,
+-64,69,
+70,85,
+-99,5,
+-178,-36,
+150,-137,
+110,-1,
+-52,-87,
+10,149,
+-62,56,
+-188,205,
+68,71,
+-169,17,
+21,-70,
+25,-115,
+-67,0,
+-139,121,
+-25,-208,
+24,187,
+-178,229,
+186,-159,
+48,-142,
+-50,146,
+3,-37,
+-51,97,
+31,6,
+-163,205,
+147,-54,
+-23,56,
+-121,32,
+361,24,
+-20,135,
+50,-35,
+-26,182,
+-172,24,
+-90,137,
+177,138,
+-137,-59,
+-57,-50,
+-40,-48,
+-48,-48,
+132,243,
+171,-43,
+-57,-81,
+-13,-59,
+151,80,
+-44,-146,
+-154,-82,
+-143,165,
+203,-194,
+-64,204,
+7,115,
+-148,-41,
+142,-69,
+38,215,
+214,84,
+99,145,
+-113,-141,
+-227,180,
+-89,275,
+168,104,
+57,-98,
+-306,68,
+-75,-132,
+72,51,
+-191,-99,
+107,114,
+-36,-36,
+-24,-79,
+-199,-70,
+65,-240,
+14,134,
+192,24,
+-9,-87,
+13,-107,
+27,-55,
+188,-94,
+120,-76,
+-136,-76,
+149,-124,
+-27,-18,
+-295,-235,
+-103,-36,
+42,120,
+3,115,
+-24,16,
+168,100,
+146,52,
+317,30,
+71,-9,
+261,-22,
+207,94,
+49,-74,
+-108,-34,
+220,27,
+-132,57,
+-107,4,
+64,-20,
+-60,193,
+-53,41,
+-207,192,
+-12,-79,
+22,-221,
+23,-21,
+-221,67,
+-30,6,
+72,84,
+76,35,
+-147,53,
+-98,30,
+165,102,
+-51,-142,
+-212,47,
+39,199,
+96,-217,
+203,187,
+-70,243,
+44,140,
+194,-91,
+270,-89,
+124,-66,
+57,-68,
+63,127,
+55,43,
+-87,-99,
+-7,156,
+-20,-74,
+-107,-59,
+51,-28,
+37,67,
+-137,-180,
+-144,180,
+-96,129,
+-112,107,
+130,-134,
+-140,-18,
+-116,-144,
+-101,46,
+29,193,
+99,173,
+38,337,
+-186,-53,
+4,14,
+-233,90,
+118,114,
+-99,-97,
+166,124,
+267,-130,
+-190,-109,
+69,-54,
+20,-153,
+6,0,
+175,146,
+-72,43,
+-81,74,
+-73,-1,
+-140,-282,
+42,21,
+165,-87,
+-44,141,
+-58,80,
+-126,203,
+33,-15,
+-145,5,
+-84,115,
+5,120,
+143,-131,
+147,293,
+179,-66,
+-139,-153,
+40,-56,
+-110,-106,
+28,134,
+20,84,
+-69,0,
+-230,-236,
+91,-106,
+-143,249,
+-116,-33,
+-62,80,
+6,-33,
+117,-170,
+-80,-127,
+58,-66,
+47,119,
+125,20,
+125,-63,
+-142,66,
+-28,-126,
+92,118,
+99,277,
+21,-104,
+6,-170,
+-151,158,
+-87,-41,
+-20,23,
+-186,96,
+-147,-159,
+-26,-185,
+162,5,
+35,-292,
+44,96,
+-132,-9,
+-290,2,
+160,132,
+-22,72,
+-15,127,
+39,-135,
+-103,-120,
+79,5,
+83,-116,
+95,-67,
+76,29,
+-100,-85,
+-144,70,
+21,-88,
+-266,28,
+-64,-100,
+-8,-273,
+-81,4,
+-88,-133,
+-178,-82,
+100,-114,
+91,-28,
+66,-1,
+-230,-2,
+86,-8,
+-54,6,
+-129,-115,
+30,33,
+53,-6,
+123,93,
+34,106,
+105,65,
+-132,226,
+-81,-173,
+-41,-157,
+121,265,
+-58,68,
+-3,58,
+-83,-256,
+-112,228,
+-201,-84,
+-78,121,
+12,190,
+140,63,
+26,-33,
+-118,-305,
+158,35,
+-117,98,
+-177,9,
+-239,136,
+-235,-114,
+88,110,
+-18,154,
+-62,-110,
+-100,153,
+125,-41,
+-13,-343,
+-129,47,
+-28,113,
+52,-203,
+-296,-16,
+77,-283,
+55,256,
+-35,41,
+-56,-140,
+124,59,
+26,227,
+-11,145,
+-78,121,
+12,96,
+96,-38,
+-166,-122,
+195,96,
+102,90,
+-60,-40,
+126,-86,
+2,80,
+20,103,
+64,-85,
+-58,-214,
+-181,-51,
+-39,255,
+-233,80,
+277,125,
+-245,140,
+137,53,
+-158,-37,
+40,53,
+-75,160,
+49,121,
+40,-7,
+-126,231,
+-62,75,
+-229,257,
+-35,-46,
+-124,118,
+-107,-65,
+-44,-58,
+127,212,
+-47,161,
+119,76,
+-91,-73,
+25,59,
+-27,79,
+130,-19,
+153,96,
+117,-167,
+-41,-131,
+9,-104,
+-20,112,
+15,-22,
+-4,-74,
+19,134,
+101,-194,
+335,11,
+110,-17,
+-108,26,
+-212,-48,
+-45,8,
+53,116,
+-171,-117,
+-139,-79,
+1,206,
+278,89,
+32,106,
+-292,150,
+191,8,
+129,-17,
+-78,-242,
+-8,-176,
+-88,58,
+63,-59,
+148,-99,
+46,-267,
+25,-109,
+-140,257,
+15,-6,
+-26,183,
+-148,209,
+84,-208,
+-260,-48,
+-33,44,
+37,174,
+-107,64,
+-86,-107,
+-139,-165,
+202,-178,
+90,110,
+133,-193,
+-118,-130,
+166,-31,
+23,275,
+24,-107,
+-68,20,
+-210,1,
+-153,77,
+149,-7,
+-107,-40,
+-73,-109,
+-161,-112,
+117,-4,
+5,-310,
+90,-103,
+-56,222,
+-5,20,
+-141,-58,
+-125,139,
+143,179,
+-32,-94,
+-21,-51,
+64,143,
+79,245,
+79,225,
+-84,58,
+243,-91,
+26,-68,
+88,103,
+-18,144,
+-78,30,
+91,-260,
+-51,123,
+105,127,
+211,-97,
+-164,-137,
+-40,-72,
+100,-187,
+87,-107,
+56,-7,
+-131,80,
+60,44,
+-93,108,
+126,155,
+167,-13,
+-212,-33,
+-18,-24,
+-185,-155,
+23,-51,
+-165,-180,
+25,199,
+-5,1,
+7,235,
+-16,68,
+-24,148,
+-23,51,
+-136,-203,
+-124,-180,
+-53,71,
+92,-124,
+165,148,
+-78,-54,
+-19,-51,
+4,133,
+40,68,
+184,-137,
+-108,69,
+-126,-156,
+156,-186,
+9,-78,
+-48,217,
+54,-144,
+160,-45,
+-156,14,
+-47,133,
+-30,126,
+110,50,
+145,126,
+26,-92,
+28,33,
+78,-83,
+56,194,
+160,-175,
+17,-100,
+-145,74,
+-50,-198,
+47,148,
+13,-89,
+-29,-113,
+65,18,
+94,52,
+44,-125,
+178,-183,
+-55,47,
+21,-72,
+254,120,
+-87,46,
+54,-212,
+-29,156,
+-10,-52,
+-247,-63,
+-117,-134,
+99,-43,
+148,149,
+15,173,
+-76,-34,
+-92,36,
+-38,30,
+-10,-15,
+-133,-103,
+216,95,
+-119,13,
+7,29,
+11,-7,
+-151,-202,
+29,133,
+106,-131,
+-85,-136,
+-19,-22,
+90,-29,
+6,126,
+29,24,
+232,-98,
+-32,-3,
+-30,186,
+-156,-121,
+-210,222,
+18,-5,
+-78,61,
+-128,-112,
+161,-142,
+-24,-98,
+-192,-109,
+-223,-204,
+-76,41,
+30,-115,
+-52,90,
+65,229,
+34,20,
+-45,-69,
+56,45,
+141,-15,
+-24,-12,
+94,61,
+61,-1,
+45,119,
+113,-59,
+-214,59,
+39,118,
+-65,-17,
+21,136,
+-52,-21,
+99,-85,
+97,78,
+26,64,
+-37,202,
+53,-117,
+63,-56,
+76,-10,
+16,-93,
+11,-97,
+-139,138,
+117,-35,
+-152,-139,
+-96,9,
+-34,4,
+31,48,
+-152,137,
+-73,-51,
+-88,24,
+-91,-30,
+4,-67,
+-180,30,
+-125,145,
+-82,-162,
+-52,-140,
+-96,55,
+127,118,
+-162,-79,
+-80,45,
+-20,77,
+140,-122,
+-63,-78,
+-139,-206,
+33,-36,
+-7,94,
+53,56,
+-102,-238,
+4,-47,
+69,39,
+65,31,
+-122,-137,
+132,3,
+-160,-149,
+-91,5,
+68,-104,
+101,66,
+112,-109,
+-34,-163,
+-45,-59,
+-31,33,
+-36,-82,
+-43,152,
+-92,97,
+8,-183,
+104,-64,
+157,12,
+-62,-216,
+-156,111,
+226,38,
+107,-100,
+-17,-35,
+148,-52,
+91,-128,
+-100,-85,
+106,-278,
+110,121,
+-147,-70,
+-152,20,
+142,84,
+-101,40,
+39,97,
+22,72,
+120,-47,
+-93,35,
+-119,-54,
+-154,46,
+33,-86,
+0,-8,
+229,78,
+103,-40,
+-113,126,
+190,50,
+65,30,
+225,-19,
+80,144,
+114,-46,
+-81,-20,
+-105,-16,
+-34,70,
+-6,115,
+59,29,
+-16,80,
+29,-21,
+59,-67,
+-27,27,
+23,131,
+-72,54,
+135,104,
+53,-116,
+44,91,
+107,-57,
+115,-39,
+23,-106,
+68,-153,
+-128,17,
+118,-167,
+-121,120,
+54,-210,
+-57,110,
+-30,-208,
+18,93,
+165,-29,
+57,62,
+-145,-142,
+97,-18,
+54,119,
+-24,65,
+-92,51,
+-7,213,
+-97,-70,
+36,70,
+20,-35,
+-37,-110,
+-53,-176,
+-79,64,
+-90,-70,
+-29,-63,
+126,88,
+-37,-114,
+-47,120,
+-132,-18,
+-257,95,
+26,20,
+-85,175,
+10,32,
+63,-162,
+2,-49,
+103,-78,
+-64,-32,
+145,-87,
+137,24,
+14,177,
+-49,122,
+57,60,
+104,-98,
+61,13,
+99,87,
+134,41,
+113,113,
+-26,216,
+-154,-90,
+81,-84,
+-147,145,
+3,-90,
+48,51,
+73,173,
+28,73,
+24,66,
+-135,25,
+-131,-94,
+86,-32,
+-143,165,
+140,-157,
+-42,137,
+32,-82,
+-52,-94,
+-25,-89,
+52,-27,
+142,45,
+115,71,
+11,80,
+52,-99,
+-27,22,
+13,-102,
+-53,-7,
+83,-95,
+231,107,
+-3,171,
+38,46,
+77,83,
+-97,102,
+-28,32,
+245,-26,
+70,5,
+28,139,
+-1,91,
+-142,45,
+15,-62,
+-87,159,
+-138,-23,
+26,-38,
+155,85,
+63,-180,
+-32,-86,
+177,-155,
+-117,-109,
+88,72,
+-23,33,
+-53,7,
+0,-85,
+-25,-61,
+-83,-68,
+-165,-21,
+54,43,
+-56,-34,
+80,-6,
+55,-66,
+129,-45,
+33,-53,
+85,106,
+2,-7,
+-95,-31,
+-45,-9,
+143,141,
+-140,60,
+72,-90,
+-168,24,
+86,-52,
+-151,47,
+81,-99,
+-151,99,
+-38,-97,
+-97,79,
+-94,116,
+63,43,
+-60,46,
+43,98,
+-38,7,
+134,55,
+63,-72,
+22,34,
+-33,24,
+-27,18,
+35,19,
+89,-4,
+18,48,
+90,-55,
+18,-94,
+-104,-17,
+72,20,
+27,148,
+34,65,
+-10,199,
+91,-23,
+12,59,
+71,19,
+-15,120,
+6,143,
+-8,-128,
+-66,-25,
+64,-107,
+-55,-81,
+13,55,
+38,135,
+58,-143,
+69,82,
+23,18,
+11,-95,
+40,-104,
+-100,100,
+29,29,
+-250,-28,
+-29,61,
+26,75,
+-142,18,
+-15,99,
+94,81,
+-87,-9,
+15,-107,
+-69,102,
+-83,140,
+-39,-62,
+17,-37,
+69,-21,
+46,-41,
+-73,-27,
+-8,-14,
+-92,-19,
+-91,27,
+-7,149,
+58,-3,
+-157,-97,
+26,16,
+-68,-80,
+-61,60,
+-18,-26,
+94,56,
+-114,4,
+-96,-34,
+6,-44,
+79,91,
+-59,-47,
+-66,-72,
+-140,-19,
+-12,44,
+29,52,
+6,-137,
+-9,-1,
+38,-27,
+68,26,
+-127,-81,
+-58,-38,
+48,-94,
+46,-74,
+-51,-65,
+-10,3,
+-22,-71,
+37,-89,
+13,-20,
+65,-48,
+25,18,
+-52,-89,
+-46,-36,
+-7,-36,
+20,51,
+11,-106,
+-91,58,
+-14,62,
+-24,3,
+-32,36,
+17,19,
+176,-44,
+-61,94,
+-24,61,
+46,-40,
+-24,-22,
+83,68,
+30,-137,
+10,32,
+39,-34,
+-22,50,
+78,69,
+-7,0,
+-11,34,
+29,48,
+-15,53,
+-26,-34,
+35,16,
+92,44,
+58,-20,
+-8,-23,
+-89,15,
+5,-162,
+-128,-131,
+-62,78,
+-27,-25,
+-89,-3,
+-22,-20,
+145,-81,
+-73,-27,
+103,-96,
+8,-96,
+11,103,
+-27,38,
+3,30,
+31,37,
+56,23,
+-73,-32,
+-69,9,
+10,23,
+-67,-11,
+35,-9,
+-86,-45,
+12,-27,
+76,60,
+-37,-53,
+2,67,
+-19,-67,
+11,-24,
+2,-16,
+31,-58,
+33,7,
+93,81,
+7,51,
+-106,-72,
+-43,-98,
+73,-43,
+-83,52,
+40,-73,
+-29,73,
+0,32,
+81,40,
+-72,13,
+-59,8,
+-39,89,
+4,17,
+-1,20,
+-37,11,
+-8,-10,
+-47,25,
+73,-25,
+-98,-60,
+-23,4,
+16,59,
+-70,60,
+101,0,
+-60,22,
+-15,36,
+31,29,
+74,61,
+-1,23,
+78,-95,
+54,7,
+-116,24,
+32,39,
+37,-31,
+-8,32,
+-110,22,
+-6,-21,
+-54,-37,
+7,25,
+15,83,
+24,-30,
+9,-34,
+1,35,
+-30,3,
+72,67,
+-67,-6,
+-45,-90,
+-55,-25,
+-21,-17,
+67,-19,
+80,3,
+-3,0,
+116,4,
+-27,-17,
+14,-5,
+-84,-82,
+-18,33,
+-30,-107,
+-15,-8,
+14,26,
+36,47,
+59,6,
+16,-48,
+15,31,
+25,-45,
+-69,63,
+-52,55,
+-31,-69,
+-59,5,
+-31,31,
+61,46,
+4,18,
+-35,-27,
+-47,24,
+87,-21,
+34,-5,
+-40,86,
+-20,-2,
+25,46,
+63,-19,
+101,46,
+52,26,
+-35,-27,
+-13,22,
+51,8,
+51,-7,
+-26,-61,
+24,-24,
+55,31,
+-28,-28,
+-83,50,
+-48,4,
+13,-18,
+-64,-77,
+-18,34,
+27,-16,
+-11,-16,
+33,-64,
+-26,-46,
+10,15,
+25,42,
+63,-19,
+-107,44,
+-14,-22,
+4,67,
+-30,32,
+-82,0,
+-1,-83,
+3,14,
+40,3,
+60,-54,
+-78,2,
+-8,-58,
+40,10,
+36,-21,
+49,-17,
+15,-2,
+12,-34,
+-86,45,
+-58,31,
+36,3,
+-31,14,
+-33,-47,
+-45,1,
+-53,54,
+48,-2,
+25,-17,
+11,-28,
+63,69,
+22,41,
+-11,-85,
+-17,-17,
+4,9,
+25,-21,
+-19,-46,
+-7,-35,
+28,40,
+-44,65,
+5,53,
+-18,-16,
+16,4,
+-13,10,
+7,-7,
+13,-11,
+-74,15,
+-9,5,
+2,48,
+11,32,
+6,-3,
+20,-19,
+-10,27,
+-7,-30,
+72,35,
+20,8,
+-4,-6,
+3,-27,
+-13,-12,
+41,-40,
+6,-13,
+65,-47,
+10,-6,
+29,0,
+9,7,
+36,2,
+20,-28,
+-18,25,
+14,-51,
+40,43,
+6,-38,
+38,33,
+35,-61,
+0,-19,
+-49,-1,
+-15,-7,
+21,10,
+12,20,
+-10,-14,
+-16,21,
+24,17,
+14,1,
+-20,25,
+-12,-29,
+27,17,
+13,4,
+31,-33,
+47,25,
+-2,22,
+-17,-19,
+20,-8,
+3,34,
+17,-27,
+-72,-11,
+11,-16,
+13,3,
+-20,-22,
+-21,0,
+-22,12,
+6,-3,
+24,-25,
+-12,15,
+21,-7,
+16,-16,
+-30,-48,
+39,-34,
+13,8,
+-26,-11,
+-2,10,
+-37,-6,
+18,12,
+39,17,
+-5,-23,
+15,-24,
+-1,-17,
+7,-6,
+-41,-12,
+52,8,
+12,0,
+-23,7,
+-2,-21,
+4,-6,
+24,1,
+10,17,
+6,2,
+8,18,
+-6,-5,
+-2,-13,
+-11,1,
+8,-8,
+-2,-2,
+-5,-16,
+3,26,
+-12,2,
+-22,-13,
+7,-18,
+-21,2,
+-15,-6,
+-11,-15,
+-6,-5,
+5,-23,
+-8,2,
+6,-8,
+-8,-6,
+-3,21,
+-5,9,
+-10,-9,
+-2,12,
+-10,-8,
+-3,-6,
+26,17,
+-4,-9,
+1,-8,
+15,-14,
+-17,-1,
+0,10,
+-12,5,
+-12,4,
+-7,-16,
+3,-9,
+0,-3,
+4,-7,
+2,-6,
+-5,-3,
+-8,3,
+14,5,
+10,7,
+-7,-5,
+-2,-3,
+6,2,
+-7,9,
+6,4,
+5,-2,
+-17,3,
+-2,-2,
+2,6,
+-8,-4,
+11,-9,
+3,2,
+-4,-5,
+-5,-2,
+-3,-5,
+3,1,
+4,0,
+1,0,
+-8,-5,
+0,3,
+2,0,
+-3,6,
+8,3,
+-3,0,
+0,-2,
+5,-1,
+-2,-2,
+-1,0,
+8,-2,
+-3,1,
+-1,1,
+4,0,
+-3,-1,
+-4,-1,
+6,0,
+-2,0,
+-3,0,
+6,0,
+-3,0,
+-2,0,
+6,0,
+-4,1,
+-3,1,
+4,0,
+-1,-1,
+-3,-1,
+8,2,
+-1,0,
+-2,2,
+5,1,
+0,2,
+-3,0,
+8,-3,
+-3,-6,
+2,0,
+0,-3,
+-8,5,
+1,0,
+4,0,
+3,-1,
+-3,5,
+-5,2,
+-4,5,
+3,-2,
+11,9,
+-8,4,
+2,-6,
+-2,2,
+-17,-3,
+5,2,
+6,-4,
+-7,-9,
+6,-2,
+-2,3,
+-7,5,
+10,-7,
+14,-5,
+-8,-3,
+-5,3,
+2,6,
+4,7,
+0,3,
+3,9,
+-7,16,
+-12,-4,
+-12,-5,
+0,-10,
+-17,1,
+15,14,
+1,8,
+-4,9,
+26,-17,
+-3,6,
+-10,8,
+-2,-12,
+-10,9,
+-5,-9,
+-3,-21,
+-8,6,
+6,8,
+-8,-2,
+5,23,
+-6,5,
+-11,15,
+-15,6,
+-21,-2,
+7,18,
+-22,13,
+-12,-2,
+3,-26,
+-5,16,
+-2,2,
+8,8,
+-11,-1,
+-2,13,
+-6,5,
+8,-18,
+6,-2,
+10,-17,
+24,-1,
+4,6,
+-2,21,
+-23,-7,
+12,0,
+52,-8,
+-41,12,
+7,6,
+-1,17,
+15,24,
+-5,23,
+39,-17,
+18,-12,
+-37,6,
+-2,-10,
+-26,11,
+13,-8,
+39,34,
+-30,48,
+16,16,
+21,7,
+-12,-15,
+24,25,
+6,3,
+-22,-12,
+-21,0,
+-20,22,
+13,-3,
+11,16,
+-72,11,
+17,27,
+3,-34,
+20,8,
+-17,19,
+-2,-22,
+47,-25,
+31,33,
+13,-4,
+27,-17,
+-12,29,
+-20,-25,
+14,-1,
+24,-17,
+-16,-21,
+-10,14,
+12,-20,
+21,-10,
+-15,7,
+-49,1,
+0,19,
+35,61,
+38,-33,
+6,38,
+40,-43,
+14,51,
+-18,-25,
+20,28,
+36,-2,
+9,-7,
+29,0,
+10,6,
+65,47,
+6,13,
+41,40,
+-13,12,
+3,27,
+-4,6,
+20,-8,
+72,-35,
+-7,30,
+-10,-27,
+20,19,
+6,3,
+11,-32,
+2,-48,
+-9,-5,
+-74,-15,
+13,11,
+7,7,
+-13,-10,
+16,-4,
+-18,16,
+5,-53,
+-44,-65,
+28,-40,
+-7,35,
+-19,46,
+25,21,
+4,-9,
+-17,17,
+-11,85,
+22,-41,
+63,-69,
+11,28,
+25,17,
+48,2,
+-53,-54,
+-45,-1,
+-33,47,
+-31,-14,
+36,-3,
+-58,-31,
+-86,-45,
+12,34,
+15,2,
+49,17,
+36,21,
+40,-10,
+-8,58,
+-78,-2,
+60,54,
+40,-3,
+3,-14,
+-1,83,
+-82,0,
+-30,-32,
+4,-67,
+-14,22,
+-107,-44,
+63,19,
+25,-42,
+10,-15,
+-26,46,
+33,64,
+-11,16,
+27,16,
+-18,-34,
+-64,77,
+13,18,
+-48,-4,
+-83,-50,
+-28,28,
+55,-31,
+24,24,
+-26,61,
+51,7,
+51,-8,
+-13,-22,
+-35,27,
+52,-26,
+101,-46,
+63,19,
+25,-46,
+-20,2,
+-40,-86,
+34,5,
+87,21,
+-47,-24,
+-35,27,
+4,-18,
+61,-46,
+-31,-31,
+-59,-5,
+-31,69,
+-52,-55,
+-69,-63,
+25,45,
+15,-31,
+16,48,
+59,-6,
+36,-47,
+14,-26,
+-15,8,
+-30,107,
+-18,-33,
+-84,82,
+14,5,
+-27,17,
+116,-4,
+-3,0,
+80,-3,
+67,19,
+-21,17,
+-55,25,
+-45,90,
+-67,6,
+72,-67,
+-30,-3,
+1,-35,
+9,34,
+24,30,
+15,-83,
+7,-25,
+-54,37,
+-6,21,
+-110,-22,
+-8,-32,
+37,31,
+32,-39,
+-116,-24,
+54,-7,
+78,95,
+-1,-23,
+74,-61,
+31,-29,
+-15,-36,
+-60,-22,
+101,0,
+-70,-60,
+16,-59,
+-23,-4,
+-98,60,
+73,25,
+-47,-25,
+-8,10,
+-37,-11,
+-1,-20,
+4,-17,
+-39,-89,
+-59,-8,
+-72,-13,
+81,-40,
+0,-32,
+-29,-73,
+40,73,
+-83,-52,
+73,43,
+-43,98,
+-106,72,
+7,-51,
+93,-81,
+33,-7,
+31,58,
+2,16,
+11,24,
+-19,67,
+2,-67,
+-37,53,
+76,-60,
+12,27,
+-86,45,
+35,9,
+-67,11,
+10,-23,
+-69,-9,
+-73,32,
+56,-23,
+31,-37,
+3,-30,
+-27,-38,
+11,-103,
+8,96,
+103,96,
+-73,27,
+145,81,
+-22,20,
+-89,3,
+-27,25,
+-62,-78,
+-128,131,
+5,162,
+-89,-15,
+-8,23,
+58,20,
+92,-44,
+35,-16,
+-26,34,
+-15,-53,
+29,-48,
+-11,-34,
+-7,0,
+78,-69,
+-22,-50,
+39,34,
+10,-32,
+30,137,
+83,-68,
+-24,22,
+46,40,
+-24,-61,
+-61,-94,
+176,44,
+17,-19,
+-32,-36,
+-24,-3,
+-14,-62,
+-91,-58,
+11,106,
+20,-51,
+-7,36,
+-46,36,
+-52,89,
+25,-18,
+65,48,
+13,20,
+37,89,
+-22,71,
+-10,-3,
+-51,65,
+46,74,
+48,94,
+-58,38,
+-127,81,
+68,-26,
+38,27,
+-9,1,
+6,137,
+29,-52,
+-12,-44,
+-140,19,
+-66,72,
+-59,47,
+79,-91,
+6,44,
+-96,34,
+-114,-4,
+94,-56,
+-18,26,
+-61,-60,
+-68,80,
+26,-16,
+-157,97,
+58,3,
+-7,-149,
+-91,-27,
+-92,19,
+-8,14,
+-73,27,
+46,41,
+69,21,
+17,37,
+-39,62,
+-83,-140,
+-69,-102,
+15,107,
+-87,9,
+94,-81,
+-15,-99,
+-142,-18,
+26,-75,
+-29,-61,
+-250,28,
+29,-29,
+-100,-100,
+40,104,
+11,95,
+23,-18,
+69,-82,
+58,143,
+38,-135,
+13,-55,
+-55,81,
+64,107,
+-66,25,
+-8,128,
+6,-143,
+-15,-120,
+71,-19,
+12,-59,
+91,23,
+-10,-199,
+34,-65,
+27,-148,
+72,-20,
+-104,17,
+18,94,
+90,55,
+18,-48,
+89,4,
+35,-19,
+-27,-18,
+-33,-24,
+22,-34,
+63,72,
+134,-55,
+-38,-7,
+43,-98,
+-60,-46,
+63,-43,
+-94,-116,
+-97,-79,
+-38,97,
+-151,-99,
+81,99,
+-151,-47,
+86,52,
+-168,-24,
+72,90,
+-140,-60,
+143,-141,
+-45,9,
+-95,31,
+2,7,
+85,-106,
+33,53,
+129,45,
+55,66,
+80,6,
+-56,34,
+54,-43,
+-165,21,
+-83,68,
+-25,61,
+0,85,
+-53,-7,
+-23,-33,
+88,-72,
+-117,109,
+177,155,
+-32,86,
+63,180,
+155,-85,
+26,38,
+-138,23,
+-87,-159,
+15,62,
+-142,-45,
+-1,-91,
+28,-139,
+70,-5,
+245,26,
+-28,-32,
+-97,-102,
+77,-83,
+38,-46,
+-3,-171,
+231,-107,
+83,95,
+-53,7,
+13,102,
+-27,-22,
+52,99,
+11,-80,
+115,-71,
+142,-45,
+52,27,
+-25,89,
+-52,94,
+32,82,
+-42,-137,
+140,157,
+-143,-165,
+86,32,
+-131,94,
+-135,-25,
+24,-66,
+28,-73,
+73,-173,
+48,-51,
+3,90,
+-147,-145,
+81,84,
+-154,90,
+-26,-216,
+113,-113,
+134,-41,
+99,-87,
+61,-13,
+104,98,
+57,-60,
+-49,-122,
+14,-177,
+137,-24,
+145,87,
+-64,32,
+103,78,
+2,49,
+63,162,
+10,-32,
+-85,-175,
+26,-20,
+-257,-95,
+-132,18,
+-47,-120,
+-37,114,
+126,-88,
+-29,63,
+-90,70,
+-79,-64,
+-53,176,
+-37,110,
+20,35,
+36,-70,
+-97,70,
+-7,-213,
+-92,-51,
+-24,-65,
+54,-119,
+97,18,
+-145,142,
+57,-62,
+165,29,
+18,-93,
+-30,208,
+-57,-110,
+54,210,
+-121,-120,
+118,167,
+-128,-17,
+68,153,
+23,106,
+115,39,
+107,57,
+44,-91,
+53,116,
+135,-104,
+-72,-54,
+23,-131,
+-27,-27,
+59,67,
+29,21,
+-16,-80,
+59,-29,
+-6,-115,
+-34,-70,
+-105,16,
+-81,20,
+114,46,
+80,-144,
+225,19,
+65,-30,
+190,-50,
+-113,-126,
+103,40,
+229,-78,
+0,8,
+33,86,
+-154,-46,
+-119,54,
+-93,-35,
+120,47,
+22,-72,
+39,-97,
+-101,-40,
+142,-84,
+-152,-20,
+-147,70,
+110,-121,
+106,278,
+-100,85,
+91,128,
+148,52,
+-17,35,
+107,100,
+226,-38,
+-156,-111,
+-62,216,
+157,-12,
+104,64,
+8,183,
+-92,-97,
+-43,-152,
+-36,82,
+-31,-33,
+-45,59,
+-34,163,
+112,109,
+101,-66,
+68,104,
+-91,-5,
+-160,149,
+132,-3,
+-122,137,
+65,-31,
+69,-39,
+4,47,
+-102,238,
+53,-56,
+-7,-94,
+33,36,
+-139,206,
+-63,78,
+140,122,
+-20,-77,
+-80,-45,
+-162,79,
+127,-118,
+-96,-55,
+-52,140,
+-82,162,
+-125,-145,
+-180,-30,
+4,67,
+-91,30,
+-88,-24,
+-73,51,
+-152,-137,
+31,-48,
+-34,-4,
+-96,-9,
+-152,139,
+117,35,
+-139,-138,
+11,97,
+16,93,
+76,10,
+63,56,
+53,117,
+-37,-202,
+26,-64,
+97,-78,
+99,85,
+-52,21,
+21,-136,
+-65,17,
+39,-118,
+-214,-59,
+113,59,
+45,-119,
+61,1,
+94,-61,
+-24,12,
+141,15,
+56,-45,
+-45,69,
+34,-20,
+65,-229,
+-52,-90,
+30,115,
+-76,-41,
+-223,204,
+-192,109,
+-24,98,
+161,142,
+-128,112,
+-78,-61,
+18,5,
+-210,-222,
+-156,121,
+-30,-186,
+-32,3,
+232,98,
+29,-24,
+6,-126,
+90,29,
+-19,22,
+-85,136,
+106,131,
+29,-133,
+-151,202,
+11,7,
+7,-29,
+-119,-13,
+216,-95,
+-133,103,
+-10,15,
+-38,-30,
+-92,-36,
+-76,34,
+15,-173,
+148,-149,
+99,43,
+-117,134,
+-247,63,
+-10,52,
+-29,-156,
+54,212,
+-87,-46,
+254,-120,
+21,72,
+-55,-47,
+178,183,
+44,125,
+94,-52,
+65,-18,
+-29,113,
+13,89,
+47,-148,
+-50,198,
+-145,-74,
+17,100,
+160,175,
+56,-194,
+78,83,
+28,-33,
+26,92,
+145,-126,
+110,-50,
+-30,-126,
+-47,-133,
+-156,-14,
+160,45,
+54,144,
+-48,-217,
+9,78,
+156,186,
+-126,156,
+-108,-69,
+184,137,
+40,-68,
+4,-133,
+-19,51,
+-78,54,
+165,-148,
+92,124,
+-53,-71,
+-124,180,
+-136,203,
+-23,-51,
+-24,-148,
+-16,-68,
+7,-235,
+-5,-1,
+25,-199,
+-165,180,
+23,51,
+-185,155,
+-18,24,
+-212,33,
+167,13,
+126,-155,
+-93,-108,
+60,-44,
+-131,-80,
+56,7,
+87,107,
+100,187,
+-40,72,
+-164,137,
+211,97,
+105,-127,
+-51,-123,
+91,260,
+-78,-30,
+-18,-144,
+88,-103,
+26,68,
+243,91,
+-84,-58,
+79,-225,
+79,-245,
+64,-143,
+-21,51,
+-32,94,
+143,-179,
+-125,-139,
+-141,58,
+-5,-20,
+-56,-222,
+90,103,
+5,310,
+117,4,
+-161,112,
+-73,109,
+-107,40,
+149,7,
+-153,-77,
+-210,-1,
+-68,-20,
+24,107,
+23,-275,
+166,31,
+-118,130,
+133,193,
+90,-110,
+202,178,
+-139,165,
+-86,107,
+-107,-64,
+37,-174,
+-33,-44,
+-260,48,
+84,208,
+-148,-209,
+-26,-183,
+15,6,
+-140,-257,
+25,109,
+46,267,
+148,99,
+63,59,
+-88,-58,
+-8,176,
+-78,242,
+129,17,
+191,-8,
+-292,-150,
+32,-106,
+278,-89,
+1,-206,
+-139,79,
+-171,117,
+53,-116,
+-45,-8,
+-212,48,
+-108,-26,
+110,17,
+335,-11,
+101,194,
+19,-134,
+-4,74,
+15,22,
+-20,-112,
+9,104,
+-41,131,
+117,167,
+153,-96,
+130,19,
+-27,-79,
+25,-59,
+-91,73,
+119,-76,
+-47,-161,
+127,-212,
+-44,58,
+-107,65,
+-124,-118,
+-35,46,
+-229,-257,
+-62,-75,
+-126,-231,
+40,7,
+49,-121,
+-75,-160,
+40,-53,
+-158,37,
+137,-53,
+-245,-140,
+277,-125,
+-233,-80,
+-39,-255,
+-181,51,
+-58,214,
+64,85,
+20,-103,
+2,-80,
+126,86,
+-60,40,
+102,-90,
+195,-96,
+-166,122,
+96,38,
+12,-96,
+-78,-121,
+-11,-145,
+26,-227,
+124,-59,
+-56,140,
+-35,-41,
+55,-256,
+77,283,
+-296,16,
+52,203,
+-28,-113,
+-129,-47,
+-13,343,
+125,41,
+-100,-153,
+-62,110,
+-18,-154,
+88,-110,
+-235,114,
+-239,-136,
+-177,-9,
+-117,-98,
+158,-35,
+-118,305,
+26,33,
+140,-63,
+12,-190,
+-78,-121,
+-201,84,
+-112,-228,
+-83,256,
+-3,-58,
+-58,-68,
+121,-265,
+-41,157,
+-81,173,
+-132,-226,
+105,-65,
+34,-106,
+123,-93,
+53,6,
+30,-33,
+-129,115,
+-54,-6,
+86,8,
+-230,2,
+66,1,
+91,28,
+100,114,
+-178,82,
+-88,133,
+-81,-4,
+-8,273,
+-64,100,
+-266,-28,
+21,88,
+-144,-70,
+-100,85,
+76,-29,
+95,67,
+83,116,
+79,-5,
+-103,120,
+39,135,
+-15,-127,
+-22,-72,
+160,-132,
+-290,-2,
+-132,9,
+44,-96,
+35,292,
+162,-5,
+-26,185,
+-147,159,
+-186,-96,
+-20,-23,
+-87,41,
+-151,-158,
+6,170,
+21,104,
+99,-277,
+92,-118,
+-28,126,
+-142,-66,
+125,63,
+125,-20,
+47,-119,
+58,66,
+-80,127,
+117,170,
+6,33,
+-62,-80,
+-116,33,
+-143,-249,
+91,106,
+-230,236,
+-69,0,
+20,-84,
+28,-134,
+-110,106,
+40,56,
+-139,153,
+179,66,
+147,-293,
+143,131,
+5,-120,
+-84,-115,
+-145,-5,
+33,15,
+-126,-203,
+-58,-80,
+-44,-141,
+165,87,
+42,-21,
+-140,282,
+-73,1,
+-81,-74,
+-72,-43,
+175,-146,
+6,0,
+-121,14,
+110,-25,
+-304,-55,
+147,17,
+52,102,
+34,149,
+-317,-16,
+-29,-82,
+74,58,
+148,-17,
+-264,-63,
+70,-208,
+162,99,
+41,-143,
+137,101,
+-4,289,
+-37,122,
+-1,-88,
+41,-188,
+149,-136,
+109,-158,
+-195,69,
+21,24,
+79,116,
+13,-96,
+59,17,
+37,17,
+-159,52,
+186,181,
+186,-136,
+167,-219,
+219,-124,
+-163,28,
+-153,151,
+-268,-12,
+15,-4,
+-212,-20,
+-81,19,
+123,125,
+-154,95,
+-65,89,
+-2,116,
+-80,246,
+-337,-31,
+-10,161,
+193,-93,
+-130,-12,
+-153,131,
+45,94,
+45,-20,
+-53,15,
+143,125,
+32,-72,
+-197,29,
+-16,-109,
+-35,-102,
+21,92,
+-150,93,
+-6,-101,
+-40,160,
+-87,119,
+-36,48,
+-45,-118,
+28,122,
+-48,97,
+156,-26,
+17,-45,
+-109,-135,
+221,-240,
+-16,-14,
+-33,12,
+142,-67,
+-173,163,
+78,253,
+19,-185,
+21,-180,
+-144,-108,
+-62,42,
+-163,-125,
+-195,-61,
+-167,-80,
+-99,79,
+43,104,
+208,94,
+-266,-155,
+335,-79,
+115,67,
+-15,71,
+50,-8,
+-62,154,
+131,14,
+-32,54,
+15,-14,
+-246,-60,
+60,-4,
+-141,-18,
+-39,-72,
+259,-169,
+-137,-68,
+24,56,
+108,139,
+88,-123,
+-175,73,
+-145,85,
+34,-241,
+-163,63,
+114,73,
+50,-103,
+227,202,
+-14,-147,
+40,-150,
+43,26,
+203,38,
+-83,320,
+34,157,
+98,-52,
+57,-11,
+131,21,
+237,91,
+97,15,
+61,-75,
+-91,115,
+-104,29,
+-25,-142,
+262,-44,
+38,-110,
+3,-95,
+-315,-18,
+122,-45,
+243,165,
+-123,-128,
+-121,185,
+-46,-98,
+250,100,
+-197,35,
+87,-147,
+-8,32,
+159,166,
+149,-26,
+-203,-48,
+-175,44,
+-28,12,
+87,180,
+-267,-61,
+190,62,
+-60,245,
+79,-39,
+-160,-155,
+-89,222,
+-19,15,
+142,80,
+213,0,
+-105,-156,
+134,-14,
+-96,-166,
+-206,-80,
+-90,4,
+142,20,
+-266,-4,
+111,101,
+-141,-131,
+-10,-71,
+140,-25,
+-189,4,
+-71,-172,
+99,-26,
+-216,165,
+84,-18,
+136,136,
+65,-75,
+9,61,
+-18,-161,
+76,62,
+-26,-148,
+-203,-27,
+71,-30,
+-169,-145,
+149,-4,
+-225,-32,
+-72,-57,
+78,-23,
+-150,-81,
+-147,47,
+-14,-3,
+-51,93,
+-91,99,
+-42,-190,
+218,-118,
+-73,97,
+-33,225,
+8,106,
+-11,61,
+39,-154,
+49,-110,
+-230,27,
+16,190,
+-148,87,
+-92,32,
+2,-53,
+62,21,
+297,154,
+-140,-6,
+110,76,
+125,240,
+-128,65,
+-3,-148,
+-23,-176,
+57,-51,
+-76,212,
+149,-140,
+27,-70,
+165,-146,
+-142,89,
+73,-1,
+-6,18,
+79,-14,
+-252,-127,
+92,173,
+-36,-112,
+-22,91,
+256,27,
+-10,-38,
+-41,94,
+72,122,
+-106,22,
+44,-315,
+-55,68,
+-84,177,
+158,92,
+46,113,
+92,204,
+-134,-18,
+102,39,
+149,-84,
+-27,100,
+74,55,
+-43,93,
+9,29,
+105,165,
+-63,-168,
+-31,-121,
+-2,-98,
+160,-88,
+-221,-59,
+-70,-11,
+84,-326,
+-94,-204,
+-108,-13,
+94,179,
+97,-81,
+-272,-111,
+211,123,
+58,158,
+-79,-11,
+-95,22,
+39,-121,
+15,195,
+260,-161,
+-269,15,
+-111,-126,
+-124,-8,
+-5,-130,
+155,-68,
+16,-17,
+56,-13,
+-3,-53,
+51,-354,
+112,5,
+40,-120,
+144,10,
+-68,-137,
+67,-72,
+-44,-50,
+135,60,
+-208,63,
+-108,109,
+-32,18,
+36,-68,
+-87,-39,
+317,136,
+-147,38,
+-88,13,
+11,50,
+76,18,
+62,25,
+-268,-119,
+93,-95,
+-135,70,
+-91,0,
+-169,93,
+-228,-21,
+-175,-18,
+52,263,
+-250,0,
+29,48,
+109,-35,
+98,-9,
+-33,16,
+-52,98,
+-36,-196,
+-3,57,
+104,200,
+66,234,
+17,-32,
+-79,56,
+-135,12,
+-81,9,
+-78,22,
+-223,-10,
+24,79,
+154,-15,
+58,48,
+-52,-109,
+-165,204,
+78,-4,
+66,-127,
+90,98,
+-109,-162,
+-72,4,
+-110,33,
+15,-97,
+211,100,
+202,-71,
+-39,-157,
+-248,-30,
+-53,79,
+116,210,
+-49,-110,
+-49,-163,
+-70,-81,
+47,119,
+8,100,
+-24,-90,
+-74,-128,
+24,-158,
+24,25,
+27,-81,
+-82,44,
+-148,81,
+-163,72,
+-154,9,
+-76,-114,
+-195,-89,
+63,-169,
+105,-95,
+-15,44,
+178,48,
+106,29,
+-144,42,
+-81,52,
+-60,46,
+-56,107,
+-7,96,
+2,33,
+-82,-34,
+-113,237,
+-210,32,
+4,126,
+104,110,
+-21,-151,
+62,224,
+5,58,
+12,-6,
+40,150,
+-130,177,
+-162,-90,
+196,117,
+228,-179,
+-181,-40,
+50,31,
+-124,37,
+-162,-108,
+17,42,
+61,99,
+217,48,
+114,43,
+-101,68,
+73,-15,
+-236,-136,
+-122,89,
+-195,-106,
+-75,0,
+32,3,
+-22,249,
+28,-83,
+-64,-28,
+131,-1,
+113,-44,
+53,-15,
+143,-109,
+-31,-28,
+123,42,
+187,-84,
+72,151,
+130,164,
+21,147,
+-42,77,
+29,-3,
+-80,-190,
+-31,0,
+-58,174,
+21,-78,
+98,-5,
+213,52,
+-125,19,
+23,-153,
+-51,89,
+67,274,
+-190,139,
+76,0,
+142,132,
+-142,-65,
+-33,80,
+-47,-3,
+102,-49,
+87,95,
+98,-24,
+-193,125,
+-164,57,
+6,-65,
+-142,-113,
+-82,-8,
+-99,90,
+18,121,
+105,43,
+-35,169,
+36,-55,
+-86,38,
+175,-19,
+-143,118,
+48,46,
+12,48,
+-68,-45,
+27,129,
+67,-139,
+78,-168,
+-87,112,
+-42,-150,
+182,-47,
+-82,154,
+155,-103,
+55,64,
+137,-80,
+-62,21,
+37,-156,
+-83,53,
+-75,81,
+-72,12,
+-52,124,
+-50,99,
+-35,-24,
+5,-21,
+45,-80,
+-68,133,
+-7,-92,
+-13,83,
+56,-2,
+99,24,
+-230,55,
+-147,145,
+29,-8,
+-160,33,
+9,-25,
+127,-30,
+1,20,
+-50,-151,
+76,106,
+-52,-21,
+-142,-138,
+26,87,
+23,59,
+-53,37,
+25,-109,
+-97,-174,
+157,37,
+-58,-95,
+-13,33,
+79,-15,
+-67,-44,
+70,26,
+7,121,
+-71,194,
+18,133,
+32,325,
+-92,32,
+62,-58,
+-102,52,
+-83,-25,
+-62,53,
+-108,-147,
+-71,-103,
+-71,-40,
+-67,-69,
+-89,136,
+-213,-70,
+-56,-87,
+-80,-130,
+-67,-14,
+89,-35,
+191,57,
+11,-107,
+37,108,
+-124,-138,
+47,59,
+-85,25,
+-155,-83,
+45,-10,
+40,-167,
+-128,118,
+18,126,
+33,27,
+34,-17,
+4,121,
+157,-82,
+36,-56,
+-23,30,
+-182,-2,
+52,-93,
+-2,-94,
+-54,-32,
+88,38,
+-151,-146,
+106,145,
+-65,137,
+11,62,
+-31,-27,
+-82,-70,
+-171,-124,
+57,-95,
+-3,-177,
+47,-26,
+-105,-40,
+-94,-131,
+-64,-39,
+-89,-81,
+134,-115,
+-61,3,
+-48,-73,
+133,33,
+135,-30,
+268,1,
+99,-7,
+120,-27,
+42,12,
+-49,76,
+-9,-76,
+-9,43,
+20,50,
+-124,-89,
+-11,160,
+-153,-127,
+-29,-39,
+195,103,
+-65,-54,
+-59,-120,
+28,12,
+-38,10,
+22,-41,
+-103,41,
+28,88,
+-3,-45,
+-45,-20,
+88,-86,
+44,-99,
+90,-113,
+6,-52,
+24,146,
+-13,-12,
+79,-92,
+-86,52,
+104,-28,
+-104,7,
+-29,5,
+142,-67,
+50,-49,
+18,-28,
+97,-101,
+-2,-28,
+-74,-23,
+-70,35,
+88,-12,
+-160,195,
+125,-36,
+7,86,
+-65,18,
+25,52,
+-78,-95,
+-46,20,
+-73,144,
+-26,-73,
+106,-10,
+-57,52,
+75,-88,
+69,60,
+38,-39,
+-70,86,
+84,-96,
+11,69,
+117,20,
+48,22,
+80,-24,
+4,-155,
+-103,-13,
+-40,-51,
+65,-123,
+26,-99,
+88,11,
+-38,127,
+28,11,
+12,45,
+-31,-120,
+83,-15,
+-23,55,
+72,35,
+85,-44,
+179,-95,
+84,122,
+-101,-129,
+-36,28,
+118,68,
+-91,123,
+12,-15,
+94,-20,
+-8,-53,
+-104,-5,
+-32,-42,
+75,16,
+80,18,
+153,33,
+39,131,
+23,77,
+-37,64,
+2,72,
+-42,-23,
+-76,118,
+31,75,
+-16,16,
+-68,61,
+50,-67,
+32,29,
+135,14,
+-111,-62,
+15,-98,
+-11,-150,
+-25,-29,
+-68,-118,
+84,84,
+22,8,
+0,92,
+114,166,
+-11,-106,
+-61,-83,
+33,23,
+33,-141,
+-103,38,
+33,81,
+-96,95,
+71,-38,
+70,-113,
+66,1,
+24,53,
+80,-8,
+5,-14,
+76,75,
+-48,2,
+76,-8,
+131,-51,
+-9,-158,
+95,-6,
+-20,21,
+40,-53,
+93,-10,
+24,-2,
+9,-118,
+50,-29,
+8,64,
+23,48,
+32,62,
+-55,30,
+-97,4,
+-70,-34,
+-27,-128,
+-39,-38,
+64,-101,
+62,-106,
+-25,-21,
+20,-4,
+-49,26,
+-38,-1,
+-111,-22,
+-24,-37,
+45,27,
+58,3,
+-19,-10,
+-127,-66,
+-15,16,
+62,30,
+105,-18,
+-72,-120,
+-65,-54,
+1,140,
+-42,101,
+53,-5,
+-32,-27,
+-46,-78,
+44,-20,
+-92,9,
+11,80,
+26,-17,
+-4,-22,
+74,-80,
+-72,53,
+40,96,
+20,-33,
+14,-64,
+-12,-72,
+15,-37,
+25,-57,
+-19,-49,
+41,2,
+68,53,
+143,31,
+-23,9,
+-29,-19,
+-24,-25,
+61,-19,
+-26,43,
+-9,87,
+-6,-59,
+74,-18,
+22,-74,
+78,-23,
+-33,-121,
+-8,-93,
+92,-52,
+-41,2,
+-28,-81,
+-18,23,
+-46,-93,
+47,88,
+22,33,
+-20,-133,
+48,56,
+42,22,
+-8,61,
+-38,-52,
+21,26,
+32,-79,
+45,-52,
+13,-8,
+-10,75,
+-51,-72,
+-25,54,
+-55,12,
+33,40,
+-102,38,
+-52,33,
+-99,-7,
+28,6,
+1,60,
+-61,-5,
+-18,45,
+-40,-32,
+-6,-147,
+-71,36,
+45,-30,
+-48,86,
+62,2,
+-59,-55,
+15,-39,
+76,84,
+35,-18,
+-43,-1,
+-18,-37,
+44,68,
+33,-41,
+-129,-48,
+-78,40,
+-46,-37,
+-4,-59,
+-33,8,
+-42,71,
+-67,-80,
+-11,19,
+-10,30,
+75,-13,
+1,15,
+32,-7,
+22,20,
+13,38,
+-56,34,
+61,-14,
+41,-33,
+38,100,
+52,-16,
+68,4,
+-17,-1,
+-46,-47,
+-57,37,
+84,-22,
+20,-19,
+-16,49,
+25,21,
+-4,34,
+28,2,
+-31,-38,
+43,12,
+-53,-66,
+-1,65,
+48,-22,
+-30,-2,
+1,-6,
+-65,83,
+1,-20,
+8,23,
+45,-9,
+-91,16,
+-59,-37,
+62,3,
+42,12,
+25,17,
+34,31,
+4,-14,
+28,113,
+-3,-35,
+-23,-63,
+54,32,
+52,-75,
+5,-21,
+-40,0,
+-21,9,
+-17,-2,
+58,13,
+61,-30,
+25,5,
+-39,33,
+-33,26,
+-3,-67,
+47,12,
+9,-3,
+-25,-72,
+23,-2,
+-35,-1,
+-18,-38,
+17,-2,
+-33,-46,
+-19,42,
+-11,-53,
+-25,-6,
+-6,-32,
+-31,19,
+15,21,
+-47,-34,
+41,40,
+-15,53,
+32,-38,
+23,22,
+-1,-27,
+-39,-23,
+-14,6,
+16,-26,
+-45,14,
+-4,17,
+1,-73,
+14,34,
+0,-25,
+0,-9,
+-24,-45,
+-20,-13,
+-40,-9,
+2,33,
+-19,3,
+0,53,
+57,3,
+-11,-43,
+2,-6,
+-6,-25,
+24,47,
+40,-32,
+-4,11,
+-8,-30,
+60,17,
+-21,-46,
+-22,-35,
+31,17,
+9,42,
+0,17,
+1,-34,
+-19,31,
+9,-17,
+37,36,
+-42,-47,
+46,-17,
+-10,46,
+9,18,
+-9,-37,
+-16,-47,
+-20,63,
+-20,10,
+-7,9,
+-10,-13,
+18,-22,
+10,-1,
+-25,45,
+26,21,
+22,26,
+-36,27,
+13,3,
+37,-1,
+18,18,
+52,-6,
+-20,36,
+-38,-2,
+17,1,
+-15,20,
+15,48,
+8,-30,
+-11,11,
+-7,-8,
+-10,-27,
+15,-22,
+-1,13,
+-8,20,
+34,-16,
+-21,19,
+-31,-5,
+0,16,
+-5,-6,
+-11,-35,
+7,11,
+-9,-28,
+-4,7,
+28,9,
+-4,14,
+11,-24,
+13,15,
+1,34,
+-10,-11,
+-8,33,
+-6,-22,
+27,18,
+6,1,
+-10,-37,
+-12,-24,
+-2,-4,
+-14,-25,
+4,-10,
+-32,3,
+-16,8,
+23,-14,
+25,16,
+-12,-15,
+1,5,
+2,16,
+-28,-7,
+-18,11,
+4,-1,
+-10,1,
+10,14,
+16,-10,
+-12,0,
+-7,-3,
+33,-8,
+-7,-5,
+1,-3,
+13,-5,
+-2,-12,
+-6,12,
+0,-12,
+-14,-13,
+7,4,
+7,8,
+-2,-1,
+0,0,
+12,6,
+3,-14,
+-1,-7,
+6,13,
+-9,-1,
+16,-21,
+7,-9,
+8,7,
+7,-13,
+8,-1,
+1,2,
+6,-5,
+1,-7,
+-7,-8,
+6,-4,
+5,-19,
+0,2,
+-4,3,
+-10,11,
+-7,12,
+5,0,
+9,2,
+-6,-3,
+1,2,
+5,4,
+-8,1,
+9,-2,
+2,-1,
+-9,-2,
+-3,7,
+-1,3,
+-10,-4,
+7,0,
+10,2,
+-5,-1,
+3,4,
+1,3,
+-6,-2,
+-1,0,
+4,-2,
+-5,3,
+2,-1,
+3,-2,
+-4,-1,
+4,2,
+3,-1,
+-6,0,
+3,0,
+3,0,
+-6,0,
+3,0,
+3,0,
+-6,0,
+3,1,
+4,-2,
+-4,1,
+3,2,
+2,1,
+-5,-3,
+4,2,
+-1,0,
+-6,2,
+1,-3,
+3,-4,
+-5,1,
+10,-2,
+7,0,
+-10,4,
+-1,-3,
+-3,-7,
+-9,2,
+2,1,
+9,2,
+-8,-1,
+5,-4,
+1,-2,
+-6,3,
+9,-2,
+5,0,
+-7,-12,
+-10,-11,
+-4,-3,
+0,-2,
+5,19,
+6,4,
+-7,8,
+1,7,
+6,5,
+1,-2,
+8,1,
+7,13,
+8,-7,
+7,9,
+16,21,
+-9,1,
+6,-13,
+-1,7,
+3,14,
+12,-6,
+0,0,
+-2,1,
+7,-8,
+7,-4,
+-14,13,
+0,12,
+-6,-12,
+-2,12,
+13,5,
+1,3,
+-7,5,
+33,8,
+-7,3,
+-12,0,
+16,10,
+10,-14,
+-10,-1,
+4,1,
+-18,-11,
+-28,7,
+2,-16,
+1,-5,
+-12,15,
+25,-16,
+23,14,
+-16,-8,
+-32,-3,
+4,10,
+-14,25,
+-2,4,
+-12,24,
+-10,37,
+6,-1,
+27,-18,
+-6,22,
+-8,-33,
+-10,11,
+1,-34,
+13,-15,
+11,24,
+-4,-14,
+28,-9,
+-4,-7,
+-9,28,
+7,-11,
+-11,35,
+-5,6,
+0,-16,
+-31,5,
+-21,-19,
+34,16,
+-8,-20,
+-1,-13,
+15,22,
+-10,27,
+-7,8,
+-11,-11,
+8,30,
+15,-48,
+-15,-20,
+17,-1,
+-38,2,
+-20,-36,
+52,6,
+18,-18,
+37,1,
+13,-3,
+-36,-27,
+22,-26,
+26,-21,
+-25,-45,
+10,1,
+18,22,
+-10,13,
+-7,-9,
+-20,-10,
+-20,-63,
+-16,47,
+-9,37,
+9,-18,
+-10,-46,
+46,17,
+-42,47,
+37,-36,
+9,17,
+-19,-31,
+1,34,
+0,-17,
+9,-42,
+31,-17,
+-22,35,
+-21,46,
+60,-17,
+-8,30,
+-4,-11,
+40,32,
+24,-47,
+-6,25,
+2,6,
+-11,43,
+57,-3,
+0,-53,
+-19,-3,
+2,-33,
+-40,9,
+-20,13,
+-24,45,
+0,9,
+0,25,
+14,-34,
+1,73,
+-4,-17,
+-45,-14,
+16,26,
+-14,-6,
+-39,23,
+-1,27,
+23,-22,
+32,38,
+-15,-53,
+41,-40,
+-47,34,
+15,-21,
+-31,-19,
+-6,32,
+-25,6,
+-11,53,
+-19,-42,
+-33,46,
+17,2,
+-18,38,
+-35,1,
+23,2,
+-25,72,
+9,3,
+47,-12,
+-3,67,
+-33,-26,
+-39,-33,
+25,-5,
+61,30,
+58,-13,
+-17,2,
+-21,-9,
+-40,0,
+5,21,
+52,75,
+54,-32,
+-23,63,
+-3,35,
+28,-113,
+4,14,
+34,-31,
+25,-17,
+42,-12,
+62,-3,
+-59,37,
+-91,-16,
+45,9,
+8,-23,
+1,20,
+-65,-83,
+1,6,
+-30,2,
+48,22,
+-1,-65,
+-53,66,
+43,-12,
+-31,38,
+28,-2,
+-4,-34,
+25,-21,
+-16,-49,
+20,19,
+84,22,
+-57,-37,
+-46,47,
+-17,1,
+68,-4,
+52,16,
+38,-100,
+41,33,
+61,14,
+-56,-34,
+13,-38,
+22,-20,
+32,7,
+1,-15,
+75,13,
+-10,-30,
+-11,-19,
+-67,80,
+-42,-71,
+-33,-8,
+-4,59,
+-46,37,
+-78,-40,
+-129,48,
+33,41,
+44,-68,
+-18,37,
+-43,1,
+35,18,
+76,-84,
+15,39,
+-59,55,
+62,-2,
+-48,-86,
+45,30,
+-71,-36,
+-6,147,
+-40,32,
+-18,-45,
+-61,5,
+1,-60,
+28,-6,
+-99,7,
+-52,-33,
+-102,-38,
+33,-40,
+-55,-12,
+-25,-54,
+-51,72,
+-10,-75,
+13,8,
+45,52,
+32,79,
+21,-26,
+-38,52,
+-8,-61,
+42,-22,
+48,-56,
+-20,133,
+22,-33,
+47,-88,
+-46,93,
+-18,-23,
+-28,81,
+-41,-2,
+92,52,
+-8,93,
+-33,121,
+78,23,
+22,74,
+74,18,
+-6,59,
+-9,-87,
+-26,-43,
+61,19,
+-24,25,
+-29,19,
+-23,-9,
+143,-31,
+68,-53,
+41,-2,
+-19,49,
+25,57,
+15,37,
+-12,72,
+14,64,
+20,33,
+40,-96,
+-72,-53,
+74,80,
+-4,22,
+26,17,
+11,-80,
+-92,-9,
+44,20,
+-46,78,
+-32,27,
+53,5,
+-42,-101,
+1,-140,
+-65,54,
+-72,120,
+105,18,
+62,-30,
+-15,-16,
+-127,66,
+-19,10,
+58,-3,
+45,-27,
+-24,37,
+-111,22,
+-38,1,
+-49,-26,
+20,4,
+-25,21,
+62,106,
+64,101,
+-39,38,
+-27,128,
+-70,34,
+-97,-4,
+-55,-30,
+32,-62,
+23,-48,
+8,-64,
+50,29,
+9,118,
+24,2,
+93,10,
+40,53,
+-20,-21,
+95,6,
+-9,158,
+131,51,
+76,8,
+-48,-2,
+76,-75,
+5,14,
+80,8,
+24,-53,
+66,-1,
+70,113,
+71,38,
+-96,-95,
+33,-81,
+-103,-38,
+33,141,
+33,-23,
+-61,83,
+-11,106,
+114,-166,
+0,-92,
+22,-8,
+84,-84,
+-68,118,
+-25,29,
+-11,150,
+15,98,
+-111,62,
+135,-14,
+32,-29,
+50,67,
+-68,-61,
+-16,-16,
+31,-75,
+-76,-118,
+-42,23,
+2,-72,
+-37,-64,
+23,-77,
+39,-131,
+153,-33,
+80,-18,
+75,-16,
+-32,42,
+-104,5,
+-8,53,
+94,20,
+12,15,
+-91,-123,
+118,-68,
+-36,-28,
+-101,129,
+84,-122,
+179,95,
+85,44,
+72,-35,
+-23,-55,
+83,15,
+-31,120,
+12,-45,
+28,-11,
+-38,-127,
+88,-11,
+26,99,
+65,123,
+-40,51,
+-103,13,
+4,155,
+80,24,
+48,-22,
+117,-20,
+11,-69,
+84,96,
+-70,-86,
+38,39,
+69,-60,
+75,88,
+-57,-52,
+106,10,
+-26,73,
+-73,-144,
+-46,-20,
+-78,95,
+25,-52,
+-65,-18,
+7,-86,
+125,36,
+-160,-195,
+88,12,
+-70,-35,
+-74,23,
+-2,28,
+97,101,
+18,28,
+50,49,
+142,67,
+-29,-5,
+-104,-7,
+104,28,
+-86,-52,
+79,92,
+-13,12,
+24,-146,
+6,52,
+90,113,
+44,99,
+88,86,
+-45,20,
+-3,45,
+28,-88,
+-103,-41,
+22,41,
+-38,-10,
+28,-12,
+-59,120,
+-65,54,
+195,-103,
+-29,39,
+-153,127,
+-11,-160,
+-124,89,
+20,-50,
+-9,-43,
+-9,76,
+-49,-76,
+42,-12,
+120,27,
+99,7,
+268,-1,
+135,30,
+133,-33,
+-48,73,
+-61,-3,
+134,115,
+-89,81,
+-64,39,
+-94,131,
+-105,40,
+47,26,
+-3,177,
+57,95,
+-171,124,
+-82,70,
+-31,27,
+11,-62,
+-65,-137,
+106,-145,
+-151,146,
+88,-38,
+-54,32,
+-2,94,
+52,93,
+-182,2,
+-23,-30,
+36,56,
+157,82,
+4,-121,
+34,17,
+33,-27,
+18,-126,
+-128,-118,
+40,167,
+45,10,
+-155,83,
+-85,-25,
+47,-59,
+-124,138,
+37,-108,
+11,107,
+191,-57,
+89,35,
+-67,14,
+-80,130,
+-56,87,
+-213,70,
+-89,-136,
+-67,69,
+-71,40,
+-71,103,
+-108,147,
+-62,-53,
+-83,25,
+-102,-52,
+62,58,
+-92,-32,
+32,-325,
+18,-133,
+-71,-194,
+7,-121,
+70,-26,
+-67,44,
+79,15,
+-13,-33,
+-58,95,
+157,-37,
+-97,174,
+25,109,
+-53,-37,
+23,-59,
+26,-87,
+-142,138,
+-52,21,
+76,-106,
+-50,151,
+1,-20,
+127,30,
+9,25,
+-160,-33,
+29,8,
+-147,-145,
+-230,-55,
+99,-24,
+56,2,
+-13,-83,
+-7,92,
+-68,-133,
+45,80,
+5,21,
+-35,24,
+-50,-99,
+-52,-124,
+-72,-12,
+-75,-81,
+-83,-53,
+37,156,
+-62,-21,
+137,80,
+55,-64,
+155,103,
+-82,-154,
+182,47,
+-42,150,
+-87,-112,
+78,168,
+67,139,
+27,-129,
+-68,45,
+12,-48,
+48,-46,
+-143,-118,
+175,19,
+-86,-38,
+36,55,
+-35,-169,
+105,-43,
+18,-121,
+-99,-90,
+-82,8,
+-142,113,
+6,65,
+-164,-57,
+-193,-125,
+98,24,
+87,-95,
+102,49,
+-47,3,
+-33,-80,
+-142,65,
+142,-132,
+76,0,
+-190,-139,
+67,-274,
+-51,-89,
+23,153,
+-125,-19,
+213,-52,
+98,5,
+21,78,
+-58,-174,
+-31,0,
+-80,190,
+29,3,
+-42,-77,
+21,-147,
+130,-164,
+72,-151,
+187,84,
+123,-42,
+-31,28,
+143,109,
+53,15,
+113,44,
+131,1,
+-64,28,
+28,83,
+-22,-249,
+32,-3,
+-75,0,
+-195,106,
+-122,-89,
+-236,136,
+73,15,
+-101,-68,
+114,-43,
+217,-48,
+61,-99,
+17,-42,
+-162,108,
+-124,-37,
+50,-31,
+-181,40,
+228,179,
+196,-117,
+-162,90,
+-130,-177,
+40,-150,
+12,6,
+5,-58,
+62,-224,
+-21,151,
+104,-110,
+4,-126,
+-210,-32,
+-113,-237,
+-82,34,
+2,-33,
+-7,-96,
+-56,-107,
+-60,-46,
+-81,-52,
+-144,-42,
+106,-29,
+178,-48,
+-15,-44,
+105,95,
+63,169,
+-195,89,
+-76,114,
+-154,-9,
+-163,-72,
+-148,-81,
+-82,-44,
+27,81,
+24,-25,
+24,158,
+-74,128,
+-24,90,
+8,-100,
+47,-119,
+-70,81,
+-49,163,
+-49,110,
+116,-210,
+-53,-79,
+-248,30,
+-39,157,
+202,71,
+211,-100,
+15,97,
+-110,-33,
+-72,-4,
+-109,162,
+90,-98,
+66,127,
+78,4,
+-165,-204,
+-52,109,
+58,-48,
+154,15,
+24,-79,
+-223,10,
+-78,-22,
+-81,-9,
+-135,-12,
+-79,-56,
+17,32,
+66,-234,
+104,-200,
+-3,-57,
+-36,196,
+-52,-98,
+-33,-16,
+98,9,
+109,35,
+29,-48,
+-250,0,
+52,-263,
+-175,18,
+-228,21,
+-169,-93,
+-91,0,
+-135,-70,
+93,95,
+-268,119,
+62,-25,
+76,-18,
+11,-50,
+-88,-13,
+-147,-38,
+317,-136,
+-87,39,
+36,68,
+-32,-18,
+-108,-109,
+-208,-63,
+135,-60,
+-44,50,
+67,72,
+-68,137,
+144,-10,
+40,120,
+112,-5,
+51,354,
+-3,53,
+56,13,
+16,17,
+155,68,
+-5,130,
+-124,8,
+-111,126,
+-269,-15,
+260,161,
+15,-195,
+39,121,
+-95,-22,
+-79,11,
+58,-158,
+211,-123,
+-272,111,
+97,81,
+94,-179,
+-108,13,
+-94,204,
+84,326,
+-70,11,
+-221,59,
+160,88,
+-2,98,
+-31,121,
+-63,168,
+105,-165,
+9,-29,
+-43,-93,
+74,-55,
+-27,-100,
+149,84,
+102,-39,
+-134,18,
+92,-204,
+46,-113,
+158,-92,
+-84,-177,
+-55,-68,
+44,315,
+-106,-22,
+72,-122,
+-41,-94,
+-10,38,
+256,-27,
+-22,-91,
+-36,112,
+92,-173,
+-252,127,
+79,14,
+-6,-18,
+73,1,
+-142,-89,
+165,146,
+27,70,
+149,140,
+-76,-212,
+57,51,
+-23,176,
+-3,148,
+-128,-65,
+125,-240,
+110,-76,
+-140,6,
+297,-154,
+62,-21,
+2,53,
+-92,-32,
+-148,-87,
+16,-190,
+-230,-27,
+49,110,
+39,154,
+-11,-61,
+8,-106,
+-33,-225,
+-73,-97,
+218,118,
+-42,190,
+-91,-99,
+-51,-93,
+-14,3,
+-147,-47,
+-150,81,
+78,23,
+-72,57,
+-225,32,
+149,4,
+-169,145,
+71,30,
+-203,27,
+-26,148,
+76,-62,
+-18,161,
+9,-61,
+65,75,
+136,-136,
+84,18,
+-216,-165,
+99,26,
+-71,172,
+-189,-4,
+140,25,
+-10,71,
+-141,131,
+111,-101,
+-266,4,
+142,-20,
+-90,-4,
+-206,80,
+-96,166,
+134,14,
+-105,156,
+213,0,
+142,-80,
+-19,-15,
+-89,-222,
+-160,155,
+79,39,
+-60,-245,
+190,-62,
+-267,61,
+87,-180,
+-28,-12,
+-175,-44,
+-203,48,
+149,26,
+159,-166,
+-8,-32,
+87,147,
+-197,-35,
+250,-100,
+-46,98,
+-121,-185,
+-123,128,
+243,-165,
+122,45,
+-315,18,
+3,95,
+38,110,
+262,44,
+-25,142,
+-104,-29,
+-91,-115,
+61,75,
+97,-15,
+237,-91,
+131,-21,
+57,11,
+98,52,
+34,-157,
+-83,-320,
+203,-38,
+43,-26,
+40,150,
+-14,147,
+227,-202,
+50,103,
+114,-73,
+-163,-63,
+34,241,
+-145,-85,
+-175,-73,
+88,123,
+108,-139,
+24,-56,
+-137,68,
+259,169,
+-39,72,
+-141,18,
+60,4,
+-246,60,
+15,14,
+-32,-54,
+131,-14,
+-62,-154,
+50,8,
+-15,-71,
+115,-67,
+335,79,
+-266,155,
+208,-94,
+43,-104,
+-99,-79,
+-167,80,
+-195,61,
+-163,125,
+-62,-42,
+-144,108,
+21,180,
+19,185,
+78,-253,
+-173,-163,
+142,67,
+-33,-12,
+-16,14,
+221,240,
+-109,135,
+17,45,
+156,26,
+-48,-97,
+28,-122,
+-45,118,
+-36,-48,
+-87,-119,
+-40,-160,
+-6,101,
+-150,-93,
+21,-92,
+-35,102,
+-16,109,
+-197,-29,
+32,72,
+143,-125,
+-53,-15,
+45,20,
+45,-94,
+-153,-131,
+-130,12,
+193,93,
+-10,-161,
+-337,31,
+-80,-246,
+-2,-116,
+-65,-89,
+-154,-95,
+123,-125,
+-81,-19,
+-212,20,
+15,4,
+-268,12,
+-153,-151,
+-163,-28,
+219,124,
+167,219,
+186,136,
+186,-181,
+-159,-52,
+37,-17,
+59,-17,
+13,96,
+79,-116,
+21,-24,
+-195,-69,
+109,158,
+149,136,
+41,188,
+-1,88,
+-37,-122,
+-4,-289,
+137,-101,
+41,143,
+162,-99,
+70,208,
+-264,63,
+148,17,
+74,-58,
+-29,82,
+-317,16,
+34,-149,
+52,-102,
+147,-17,
+-304,55,
+110,25,
+-121,-14,
+0,0,
+82,-3,
+91,4,
+312,66,
+-32,-86,
+52,-82,
+87,-14,
+16,82,
+-205,-94,
+54,48,
+42,32,
+-185,42,
+-91,-97,
+258,11,
+-126,77,
+26,169,
+-127,-308,
+151,-227,
+30,197,
+51,124,
+-106,18,
+-17,-227,
+-111,-3,
+78,73,
+-159,246,
+183,-125,
+-76,-262,
+-68,-35,
+29,90,
+-5,-41,
+15,160,
+107,96,
+232,-3,
+53,111,
+-212,-155,
+-17,162,
+56,113,
+-9,38,
+10,-155,
+-231,-205,
+106,17,
+125,-42,
+298,-58,
+-66,68,
+43,9,
+21,-79,
+-63,-129,
+320,119,
+183,-27,
+-168,133,
+1,-54,
+-323,129,
+17,-259,
+12,-31,
+-88,-96,
+108,5,
+-15,19,
+19,-267,
+-71,264,
+-120,-8,
+-126,92,
+-110,80,
+112,-45,
+83,-192,
+42,65,
+114,-62,
+-63,-96,
+-175,-6,
+184,-87,
+63,28,
+150,-115,
+-38,39,
+-144,-24,
+-131,-114,
+-87,73,
+-19,133,
+188,-277,
+-109,199,
+-35,200,
+-121,-107,
+-25,157,
+105,-186,
+141,-147,
+-88,-85,
+-81,-154,
+112,110,
+7,7,
+-118,57,
+-120,52,
+-88,-211,
+-184,-171,
+-29,220,
+-83,-51,
+170,119,
+-37,45,
+-1,-25,
+96,42,
+-19,-125,
+-168,-204,
+-207,-14,
+-150,-151,
+-128,51,
+151,1,
+-69,-125,
+-73,-188,
+-277,-74,
+177,161,
+-21,-113,
+44,50,
+-195,-126,
+109,159,
+-105,-196,
+60,194,
+57,14,
+-86,-44,
+-81,244,
+-146,192,
+-46,7,
+12,-213,
+35,-209,
+-65,90,
+29,17,
+-169,-107,
+93,-106,
+130,-19,
+138,-97,
+-103,57,
+75,28,
+63,33,
+121,97,
+26,56,
+-82,234,
+-60,290,
+232,-45,
+201,-113,
+-87,-66,
+84,8,
+96,-78,
+-82,200,
+-23,-91,
+62,24,
+96,116,
+38,-99,
+110,-30,
+3,25,
+129,71,
+71,-13,
+192,-45,
+81,-41,
+180,20,
+-169,38,
+174,0,
+-52,237,
+157,-39,
+-13,12,
+101,-95,
+191,-157,
+-183,-44,
+-99,121,
+-29,-120,
+245,172,
+9,109,
+-43,159,
+-116,188,
+-151,193,
+278,55,
+269,53,
+81,-83,
+23,-18,
+-56,56,
+336,-134,
+-98,-76,
+-16,-113,
+87,14,
+119,-177,
+281,-47,
+13,60,
+27,167,
+36,-58,
+38,0,
+-63,-46,
+-230,-194,
+126,-10,
+-132,-67,
+31,-30,
+-163,96,
+-127,267,
+-70,20,
+-3,189,
+-162,-176,
+34,32,
+197,-209,
+-5,40,
+-123,-116,
+86,140,
+19,-76,
+200,-263,
+27,-96,
+49,129,
+235,-112,
+-94,38,
+-206,178,
+-54,15,
+13,91,
+-50,183,
+-70,-8,
+-107,115,
+-37,-13,
+93,246,
+63,-99,
+-3,34,
+178,-116,
+-60,230,
+165,24,
+-203,118,
+-111,164,
+167,123,
+191,120,
+58,-67,
+-80,51,
+33,-100,
+144,157,
+-76,132,
+0,165,
+138,89,
+-209,10,
+-101,160,
+-8,-177,
+283,145,
+23,151,
+-79,-270,
+-25,147,
+22,74,
+-86,-82,
+71,-38,
+-7,-3,
+-94,-68,
+127,137,
+-148,-176,
+-28,-146,
+64,92,
+-10,-196,
+-15,84,
+-251,-154,
+-77,-107,
+-104,-78,
+-22,-7,
+149,-105,
+-147,-44,
+-13,-123,
+-169,-190,
+118,-74,
+-81,51,
+-42,13,
+139,17,
+-158,228,
+-112,127,
+53,7,
+3,54,
+124,65,
+-121,-40,
+72,127,
+-94,105,
+120,66,
+84,-159,
+240,-133,
+100,-113,
+-57,-189,
+227,87,
+56,136,
+187,83,
+-5,-50,
+-17,110,
+-143,3,
+54,49,
+62,166,
+2,174,
+-14,-68,
+7,23,
+104,59,
+10,39,
+-6,-16,
+-185,87,
+-98,60,
+9,157,
+19,81,
+-66,-3,
+-55,76,
+-80,87,
+96,-128,
+30,72,
+-95,-122,
+120,-61,
+36,15,
+-26,-106,
+-99,-245,
+-76,85,
+-54,169,
+217,56,
+95,99,
+44,-78,
+165,-115,
+-93,190,
+-89,-93,
+-220,-199,
+105,-75,
+82,76,
+-56,-200,
+33,-122,
+-138,-23,
+-12,106,
+-84,-59,
+-94,220,
+14,-198,
+-64,92,
+157,-59,
+75,62,
+-86,239,
+-38,110,
+-134,-19,
+96,140,
+-74,202,
+-203,-47,
+53,36,
+-37,19,
+-85,6,
+-12,-260,
+52,156,
+-153,63,
+-114,94,
+-95,-126,
+-46,-253,
+29,78,
+16,132,
+74,-52,
+-83,-121,
+105,-40,
+-106,103,
+-15,-99,
+-13,40,
+-48,-221,
+39,-21,
+-225,-83,
+76,-27,
+-7,9,
+135,-9,
+-51,-84,
+169,18,
+242,31,
+69,-93,
+-184,84,
+-128,19,
+6,23,
+-120,39,
+56,-40,
+154,-183,
+-124,-40,
+136,-218,
+54,134,
+65,64,
+-195,-72,
+-165,199,
+-261,134,
+-91,60,
+5,32,
+44,98,
+197,140,
+-53,-230,
+85,139,
+-86,-200,
+-148,38,
+34,91,
+62,-66,
+-70,139,
+139,-151,
+-167,-56,
+40,196,
+188,135,
+80,179,
+7,66,
+86,64,
+-131,-57,
+179,-84,
+56,-159,
+145,47,
+43,88,
+-37,0,
+-62,17,
+-45,196,
+-17,-85,
+46,-157,
+-47,200,
+-8,30,
+2,78,
+-159,116,
+-97,93,
+38,-148,
+125,125,
+-130,122,
+-32,16,
+-71,62,
+-148,-26,
+75,101,
+32,214,
+-14,-155,
+31,91,
+-12,-60,
+-51,118,
+-96,-46,
+-30,-153,
+129,88,
+-5,97,
+-110,184,
+50,-167,
+86,-103,
+-39,-44,
+0,-102,
+182,45,
+-22,92,
+8,79,
+26,18,
+21,173,
+-103,-119,
+24,98,
+26,-203,
+-145,-70,
+-23,-21,
+85,3,
+-81,-23,
+10,-49,
+91,21,
+113,86,
+-57,130,
+-41,105,
+-126,-56,
+-101,-21,
+-45,-28,
+-107,89,
+27,-61,
+70,8,
+-126,149,
+96,72,
+42,-126,
+-48,36,
+-95,-5,
+-1,-33,
+139,41,
+-5,-110,
+-130,-153,
+48,118,
+104,15,
+-189,-66,
+-47,136,
+221,111,
+-31,19,
+-62,-23,
+108,162,
+-46,-30,
+-63,28,
+75,35,
+61,41,
+2,144,
+-98,1,
+174,44,
+-108,85,
+-85,160,
+-37,-93,
+-119,-121,
+-97,20,
+-12,117,
+-18,-80,
+18,-64,
+117,87,
+102,-52,
+-92,-135,
+50,25,
+-152,-132,
+13,-113,
+-80,101,
+-22,130,
+43,209,
+102,84,
+-35,5,
+112,179,
+48,21,
+76,120,
+110,0,
+-57,-65,
+53,109,
+-116,4,
+-6,-137,
+-10,3,
+34,80,
+135,-142,
+-136,-92,
+2,-16,
+-28,144,
+-94,86,
+-131,2,
+9,20,
+-15,22,
+-19,-87,
+-44,-23,
+-33,-208,
+-17,100,
+50,-183,
+161,42,
+7,264,
+225,2,
+-51,-69,
+97,-81,
+204,-162,
+-79,112,
+-3,83,
+-128,76,
+-143,109,
+138,-14,
+158,229,
+26,14,
+-23,97,
+-158,4,
+71,-76,
+-233,-7,
+19,-39,
+18,1,
+-32,-11,
+51,-96,
+79,-132,
+82,33,
+79,-84,
+-183,-15,
+-70,3,
+58,131,
+-14,-41,
+-110,-67,
+16,37,
+50,-133,
+3,104,
+-25,21,
+54,58,
+158,129,
+-9,-10,
+132,62,
+53,40,
+103,58,
+255,-39,
+-8,-14,
+-99,-105,
+-27,26,
+-99,-123,
+-46,47,
+-37,24,
+11,113,
+4,35,
+-72,-33,
+40,-7,
+104,-82,
+-167,-100,
+-62,-38,
+135,-89,
+105,-23,
+-44,13,
+115,92,
+26,-155,
+72,129,
+62,86,
+-52,-143,
+58,51,
+66,59,
+44,-94,
+-55,53,
+166,125,
+60,-38,
+-50,-107,
+61,28,
+24,65,
+-74,-92,
+-90,-31,
+-9,114,
+14,39,
+0,-128,
+-30,-27,
+-17,96,
+-6,-47,
+135,30,
+22,-21,
+-52,16,
+25,-20,
+72,-104,
+-119,-55,
+22,-68,
+72,-97,
+77,20,
+87,41,
+21,105,
+-53,-29,
+-20,-19,
+30,27,
+-35,-4,
+-99,-92,
+-7,-17,
+-152,45,
+142,-68,
+-29,-36,
+71,97,
+65,-71,
+67,43,
+-11,99,
+0,22,
+-81,-47,
+-104,83,
+-14,20,
+-10,-75,
+199,9,
+-19,64,
+-72,12,
+-32,-88,
+31,-48,
+87,30,
+-139,-20,
+113,4,
+-5,58,
+100,-21,
+72,-30,
+-82,-80,
+72,-61,
+132,1,
+-31,-15,
+8,96,
+10,-92,
+94,-112,
+19,3,
+115,4,
+9,-39,
+-16,14,
+-56,32,
+49,-76,
+110,-28,
+-47,1,
+46,-4,
+57,77,
+-87,147,
+-128,-66,
+45,102,
+-4,-56,
+51,10,
+104,115,
+152,76,
+29,-17,
+21,33,
+-36,-91,
+-92,88,
+164,7,
+-39,-30,
+-64,-28,
+111,-59,
+-185,-35,
+53,116,
+1,-18,
+78,102,
+19,13,
+35,-120,
+118,-90,
+36,-154,
+60,-80,
+-4,-19,
+5,134,
+46,-50,
+-212,50,
+-14,21,
+-3,33,
+-51,-16,
+46,-66,
+72,-36,
+-69,-105,
+39,5,
+5,186,
+-43,62,
+7,11,
+-11,11,
+-31,106,
+6,-99,
+-3,15,
+-128,-89,
+15,25,
+-93,1,
+16,-63,
+10,20,
+28,-30,
+-117,41,
+-12,-36,
+110,64,
+-32,-8,
+-73,-35,
+-80,-20,
+-10,-102,
+143,-54,
+-30,12,
+-41,5,
+-84,-68,
+91,21,
+-48,-28,
+13,-61,
+108,-51,
+54,8,
+-4,18,
+86,-120,
+82,20,
+44,41,
+33,15,
+-94,65,
+77,-73,
+-49,-22,
+84,-10,
+-14,-78,
+34,9,
+-102,-47,
+-68,8,
+14,37,
+-14,21,
+-142,-38,
+22,-149,
+17,63,
+-6,6,
+-36,36,
+3,91,
+76,36,
+74,29,
+3,-57,
+-66,-52,
+-82,-18,
+6,55,
+-25,-6,
+-25,12,
+-49,-4,
+40,17,
+-26,16,
+42,-71,
+34,-15,
+8,16,
+61,-4,
+79,-56,
+-15,-53,
+21,-46,
+18,44,
+23,18,
+-8,22,
+11,-17,
+34,1,
+99,43,
+17,-5,
+7,-26,
+22,-50,
+26,48,
+-15,17,
+97,109,
+16,7,
+-64,47,
+-73,19,
+-36,73,
+-64,105,
+-13,-29,
+110,34,
+-3,-37,
+7,23,
+36,-32,
+7,79,
+0,-18,
+78,-64,
+62,1,
+24,-19,
+6,22,
+15,-7,
+-34,-37,
+-66,45,
+-50,-111,
+-40,19,
+-5,11,
+-31,13,
+-22,-37,
+-48,-64,
+-19,-36,
+-67,-81,
+62,54,
+-79,12,
+-25,-54,
+-2,24,
+-61,-35,
+59,15,
+-10,-5,
+-64,-9,
+12,14,
+53,-23,
+-48,-1,
+26,-27,
+-17,17,
+30,67,
+38,62,
+-63,-114,
+82,-9,
+21,12,
+18,4,
+104,-5,
+7,19,
+3,36,
+-22,-33,
+26,1,
+-11,99,
+79,31,
+52,-42,
+6,-18,
+70,-36,
+4,85,
+34,-22,
+-58,34,
+38,31,
+3,4,
+78,0,
+-36,-22,
+45,-48,
+46,-4,
+12,16,
+32,-40,
+42,-61,
+0,1,
+-3,20,
+6,56,
+-9,15,
+-87,5,
+-19,83,
+21,-29,
+15,-27,
+-63,21,
+25,37,
+-78,7,
+27,-19,
+-14,-34,
+64,-3,
+36,-42,
+51,-33,
+-18,-36,
+-11,40,
+-22,-51,
+-27,1,
+-37,-46,
+3,7,
+8,29,
+4,-15,
+58,30,
+-38,42,
+-38,71,
+-8,1,
+-4,-20,
+-64,36,
+9,-2,
+-10,71,
+-10,-42,
+6,21,
+-17,105,
+31,28,
+52,-8,
+40,-38,
+35,-22,
+58,26,
+-8,30,
+26,31,
+-9,-67,
+2,-4,
+-32,16,
+-29,35,
+-11,15,
+31,-9,
+2,56,
+46,-35,
+-10,29,
+-4,-9,
+12,51,
+-23,24,
+-7,36,
+28,5,
+7,26,
+-31,5,
+16,19,
+0,16,
+-3,20,
+24,-16,
+-15,-7,
+28,19,
+-16,5,
+-15,3,
+-24,25,
+5,51,
+37,-1,
+60,-33,
+21,17,
+-6,19,
+27,19,
+8,0,
+-15,4,
+14,-2,
+-22,51,
+-23,-4,
+-9,-12,
+2,-18,
+-2,12,
+-10,-12,
+-57,9,
+-6,-6,
+63,-27,
+13,-25,
+4,4,
+20,-3,
+-9,3,
+22,15,
+-28,-31,
+28,15,
+-32,-29,
+12,23,
+5,1,
+1,-8,
+-36,-56,
+-19,28,
+7,0,
+-8,-12,
+2,-23,
+-30,-30,
+-13,-33,
+-18,7,
+-12,10,
+17,-7,
+2,12,
+-5,2,
+35,12,
+-11,-24,
+-3,-11,
+-23,-20,
+-14,-14,
+22,-15,
+9,1,
+-16,11,
+16,-5,
+-30,-14,
+-29,15,
+13,21,
+-25,-12,
+17,-7,
+22,-13,
+-1,2,
+3,1,
+-13,18,
+18,-20,
+-5,-19,
+-15,-4,
+8,-10,
+0,4,
+-22,35,
+15,-11,
+-12,-2,
+-16,-3,
+11,-3,
+-10,15,
+-11,11,
+-3,-2,
+6,2,
+1,-15,
+21,-15,
+-8,-1,
+8,-2,
+-18,3,
+4,-1,
+3,7,
+-23,-8,
+1,-7,
+-10,2,
+12,-34,
+-4,10,
+10,14,
+-2,4,
+-1,16,
+-10,-5,
+3,-8,
+4,15,
+-4,3,
+-2,16,
+-1,1,
+-8,-4,
+-14,-13,
+3,11,
+11,2,
+-3,-10,
+7,0,
+-7,-2,
+5,7,
+7,13,
+0,-4,
+4,-2,
+2,6,
+-3,-6,
+-9,-2,
+-4,4,
+5,3,
+8,-11,
+-5,9,
+-3,-5,
+-3,-7,
+7,6,
+3,3,
+-5,-5,
+-6,8,
+0,-6,
+6,-2,
+-2,7,
+-1,0,
+1,-8,
+1,6,
+-1,0,
+1,-7,
+-1,4,
+0,2,
+0,-5,
+-1,6,
+0,1,
+0,-4,
+0,5,
+0,0,
+0,-5,
+0,4,
+0,-1,
+-1,-6,
+0,5,
+0,-2,
+-1,-4,
+1,7,
+-1,0,
+1,-6,
+1,8,
+-1,0,
+-2,-7,
+6,2,
+0,6,
+-6,-8,
+-5,5,
+3,-3,
+7,-6,
+-3,7,
+-3,5,
+-5,-9,
+8,11,
+5,-3,
+-4,-4,
+-9,2,
+-3,6,
+2,-6,
+4,2,
+0,4,
+7,-13,
+5,-7,
+-7,2,
+7,0,
+-3,10,
+11,-2,
+3,-11,
+-14,13,
+-8,4,
+-1,-1,
+-2,-16,
+-4,-3,
+4,-15,
+3,8,
+-10,5,
+-1,-16,
+-2,-4,
+10,-14,
+-4,-10,
+12,34,
+-10,-2,
+1,7,
+-23,8,
+3,-7,
+4,1,
+-18,-3,
+8,2,
+-8,1,
+21,15,
+1,15,
+6,-2,
+-3,2,
+-11,-11,
+-10,-15,
+11,3,
+-16,3,
+-12,2,
+15,11,
+-22,-35,
+0,-4,
+8,10,
+-15,4,
+-5,19,
+18,20,
+-13,-18,
+3,-1,
+-1,-2,
+22,13,
+17,7,
+-25,12,
+13,-21,
+-29,-15,
+-30,14,
+16,5,
+-16,-11,
+9,-1,
+22,15,
+-14,14,
+-23,20,
+-3,11,
+-11,24,
+35,-12,
+-5,-2,
+2,-12,
+17,7,
+-12,-10,
+-18,-7,
+-13,33,
+-30,30,
+2,23,
+-8,12,
+7,0,
+-19,-28,
+-36,56,
+1,8,
+5,-1,
+12,-23,
+-32,29,
+28,-15,
+-28,31,
+22,-15,
+-9,-3,
+20,3,
+4,-4,
+13,25,
+63,27,
+-6,6,
+-57,-9,
+-10,12,
+-2,-12,
+2,18,
+-9,12,
+-23,4,
+-22,-51,
+14,2,
+-15,-4,
+8,0,
+27,-19,
+-6,-19,
+21,-17,
+60,33,
+37,1,
+5,-51,
+-24,-25,
+-15,-3,
+-16,-5,
+28,-19,
+-15,7,
+24,16,
+-3,-20,
+0,-16,
+16,-19,
+-31,-5,
+7,-26,
+28,-5,
+-7,-36,
+-23,-24,
+12,-51,
+-4,9,
+-10,-29,
+46,35,
+2,-56,
+31,9,
+-11,-15,
+-29,-35,
+-32,-16,
+2,4,
+-9,67,
+26,-31,
+-8,-30,
+58,-26,
+35,22,
+40,38,
+52,8,
+31,-28,
+-17,-105,
+6,-21,
+-10,42,
+-10,-71,
+9,2,
+-64,-36,
+-4,20,
+-8,-1,
+-38,-71,
+-38,-42,
+58,-30,
+4,15,
+8,-29,
+3,-7,
+-37,46,
+-27,-1,
+-22,51,
+-11,-40,
+-18,36,
+51,33,
+36,42,
+64,3,
+-14,34,
+27,19,
+-78,-7,
+25,-37,
+-63,-21,
+15,27,
+21,29,
+-19,-83,
+-87,-5,
+-9,-15,
+6,-56,
+-3,-20,
+0,-1,
+42,61,
+32,40,
+12,-16,
+46,4,
+45,48,
+-36,22,
+78,0,
+3,-4,
+38,-31,
+-58,-34,
+34,22,
+4,-85,
+70,36,
+6,18,
+52,42,
+79,-31,
+-11,-99,
+26,-1,
+-22,33,
+3,-36,
+7,-19,
+104,5,
+18,-4,
+21,-12,
+82,9,
+-63,114,
+38,-62,
+30,-67,
+-17,-17,
+26,27,
+-48,1,
+53,23,
+12,-14,
+-64,9,
+-10,5,
+59,-15,
+-61,35,
+-2,-24,
+-25,54,
+-79,-12,
+62,-54,
+-67,81,
+-19,36,
+-48,64,
+-22,37,
+-31,-13,
+-5,-11,
+-40,-19,
+-50,111,
+-66,-45,
+-34,37,
+15,7,
+6,-22,
+24,19,
+62,-1,
+78,64,
+0,18,
+7,-79,
+36,32,
+7,-23,
+-3,37,
+110,-34,
+-13,29,
+-64,-105,
+-36,-73,
+-73,-19,
+-64,-47,
+16,-7,
+97,-109,
+-15,-17,
+26,-48,
+22,50,
+7,26,
+17,5,
+99,-43,
+34,-1,
+11,17,
+-8,-22,
+23,-18,
+18,-44,
+21,46,
+-15,53,
+79,56,
+61,4,
+8,-16,
+34,15,
+42,71,
+-26,-16,
+40,-17,
+-49,4,
+-25,-12,
+-25,6,
+6,-55,
+-82,18,
+-66,52,
+3,57,
+74,-29,
+76,-36,
+3,-91,
+-36,-36,
+-6,-6,
+17,-63,
+22,149,
+-142,38,
+-14,-21,
+14,-37,
+-68,-8,
+-102,47,
+34,-9,
+-14,78,
+84,10,
+-49,22,
+77,73,
+-94,-65,
+33,-15,
+44,-41,
+82,-20,
+86,120,
+-4,-18,
+54,-8,
+108,51,
+13,61,
+-48,28,
+91,-21,
+-84,68,
+-41,-5,
+-30,-12,
+143,54,
+-10,102,
+-80,20,
+-73,35,
+-32,8,
+110,-64,
+-12,36,
+-117,-41,
+28,30,
+10,-20,
+16,63,
+-93,-1,
+15,-25,
+-128,89,
+-3,-15,
+6,99,
+-31,-106,
+-11,-11,
+7,-11,
+-43,-62,
+5,-186,
+39,-5,
+-69,105,
+72,36,
+46,66,
+-51,16,
+-3,-33,
+-14,-21,
+-212,-50,
+46,50,
+5,-134,
+-4,19,
+60,80,
+36,154,
+118,90,
+35,120,
+19,-13,
+78,-102,
+1,18,
+53,-116,
+-185,35,
+111,59,
+-64,28,
+-39,30,
+164,-7,
+-92,-88,
+-36,91,
+21,-33,
+29,17,
+152,-76,
+104,-115,
+51,-10,
+-4,56,
+45,-102,
+-128,66,
+-87,-147,
+57,-77,
+46,4,
+-47,-1,
+110,28,
+49,76,
+-56,-32,
+-16,-14,
+9,39,
+115,-4,
+19,-3,
+94,112,
+10,92,
+8,-96,
+-31,15,
+132,-1,
+72,61,
+-82,80,
+72,30,
+100,21,
+-5,-58,
+113,-4,
+-139,20,
+87,-30,
+31,48,
+-32,88,
+-72,-12,
+-19,-64,
+199,-9,
+-10,75,
+-14,-20,
+-104,-83,
+-81,47,
+0,-22,
+-11,-99,
+67,-43,
+65,71,
+71,-97,
+-29,36,
+142,68,
+-152,-45,
+-7,17,
+-99,92,
+-35,4,
+30,-27,
+-20,19,
+-53,29,
+21,-105,
+87,-41,
+77,-20,
+72,97,
+22,68,
+-119,55,
+72,104,
+25,20,
+-52,-16,
+22,21,
+135,-30,
+-6,47,
+-17,-96,
+-30,27,
+0,128,
+14,-39,
+-9,-114,
+-90,31,
+-74,92,
+24,-65,
+61,-28,
+-50,107,
+60,38,
+166,-125,
+-55,-53,
+44,94,
+66,-59,
+58,-51,
+-52,143,
+62,-86,
+72,-129,
+26,155,
+115,-92,
+-44,-13,
+105,23,
+135,89,
+-62,38,
+-167,100,
+104,82,
+40,7,
+-72,33,
+4,-35,
+11,-113,
+-37,-24,
+-46,-47,
+-99,123,
+-27,-26,
+-99,105,
+-8,14,
+255,39,
+103,-58,
+53,-40,
+132,-62,
+-9,10,
+158,-129,
+54,-58,
+-25,-21,
+3,-104,
+50,133,
+16,-37,
+-110,67,
+-14,41,
+58,-131,
+-70,-3,
+-183,15,
+79,84,
+82,-33,
+79,132,
+51,96,
+-32,11,
+18,-1,
+19,39,
+-233,7,
+71,76,
+-158,-4,
+-23,-97,
+26,-14,
+158,-229,
+138,14,
+-143,-109,
+-128,-76,
+-3,-83,
+-79,-112,
+204,162,
+97,81,
+-51,69,
+225,-2,
+7,-264,
+161,-42,
+50,183,
+-17,-100,
+-33,208,
+-44,23,
+-19,87,
+-15,-22,
+9,-20,
+-131,-2,
+-94,-86,
+-28,-144,
+2,16,
+-136,92,
+135,142,
+34,-80,
+-10,-3,
+-6,137,
+-116,-4,
+53,-109,
+-57,65,
+110,0,
+76,-120,
+48,-21,
+112,-179,
+-35,-5,
+102,-84,
+43,-209,
+-22,-130,
+-80,-101,
+13,113,
+-152,132,
+50,-25,
+-92,135,
+102,52,
+117,-87,
+18,64,
+-18,80,
+-12,-117,
+-97,-20,
+-119,121,
+-37,93,
+-85,-160,
+-108,-85,
+174,-44,
+-98,-1,
+2,-144,
+61,-41,
+75,-35,
+-63,-28,
+-46,30,
+108,-162,
+-62,23,
+-31,-19,
+221,-111,
+-47,-136,
+-189,66,
+104,-15,
+48,-118,
+-130,153,
+-5,110,
+139,-41,
+-1,33,
+-95,5,
+-48,-36,
+42,126,
+96,-72,
+-126,-149,
+70,-8,
+27,61,
+-107,-89,
+-45,28,
+-101,21,
+-126,56,
+-41,-105,
+-57,-130,
+113,-86,
+91,-21,
+10,49,
+-81,23,
+85,-3,
+-23,21,
+-145,70,
+26,203,
+24,-98,
+-103,119,
+21,-173,
+26,-18,
+8,-79,
+-22,-92,
+182,-45,
+0,102,
+-39,44,
+86,103,
+50,167,
+-110,-184,
+-5,-97,
+129,-88,
+-30,153,
+-96,46,
+-51,-118,
+-12,60,
+31,-91,
+-14,155,
+32,-214,
+75,-101,
+-148,26,
+-71,-62,
+-32,-16,
+-130,-122,
+125,-125,
+38,148,
+-97,-93,
+-159,-116,
+2,-78,
+-8,-30,
+-47,-200,
+46,157,
+-17,85,
+-45,-196,
+-62,-17,
+-37,0,
+43,-88,
+145,-47,
+56,159,
+179,84,
+-131,57,
+86,-64,
+7,-66,
+80,-179,
+188,-135,
+40,-196,
+-167,56,
+139,151,
+-70,-139,
+62,66,
+34,-91,
+-148,-38,
+-86,200,
+85,-139,
+-53,230,
+197,-140,
+44,-98,
+5,-32,
+-91,-60,
+-261,-134,
+-165,-199,
+-195,72,
+65,-64,
+54,-134,
+136,218,
+-124,40,
+154,183,
+56,40,
+-120,-39,
+6,-23,
+-128,-19,
+-184,-84,
+69,93,
+242,-31,
+169,-18,
+-51,84,
+135,9,
+-7,-9,
+76,27,
+-225,83,
+39,21,
+-48,221,
+-13,-40,
+-15,99,
+-106,-103,
+105,40,
+-83,121,
+74,52,
+16,-132,
+29,-78,
+-46,253,
+-95,126,
+-114,-94,
+-153,-63,
+52,-156,
+-12,260,
+-85,-6,
+-37,-19,
+53,-36,
+-203,47,
+-74,-202,
+96,-140,
+-134,19,
+-38,-110,
+-86,-239,
+75,-62,
+157,59,
+-64,-92,
+14,198,
+-94,-220,
+-84,59,
+-12,-106,
+-138,23,
+33,122,
+-56,200,
+82,-76,
+105,75,
+-220,199,
+-89,93,
+-93,-190,
+165,115,
+44,78,
+95,-99,
+217,-56,
+-54,-169,
+-76,-85,
+-99,245,
+-26,106,
+36,-15,
+120,61,
+-95,122,
+30,-72,
+96,128,
+-80,-87,
+-55,-76,
+-66,3,
+19,-81,
+9,-157,
+-98,-60,
+-185,-87,
+-6,16,
+10,-39,
+104,-59,
+7,-23,
+-14,68,
+2,-174,
+62,-166,
+54,-49,
+-143,-3,
+-17,-110,
+-5,50,
+187,-83,
+56,-136,
+227,-87,
+-57,189,
+100,113,
+240,133,
+84,159,
+120,-66,
+-94,-105,
+72,-127,
+-121,40,
+124,-65,
+3,-54,
+53,-7,
+-112,-127,
+-158,-228,
+139,-17,
+-42,-13,
+-81,-51,
+118,74,
+-169,190,
+-13,123,
+-147,44,
+149,105,
+-22,7,
+-104,78,
+-77,107,
+-251,154,
+-15,-84,
+-10,196,
+64,-92,
+-28,146,
+-148,176,
+127,-137,
+-94,68,
+-7,3,
+71,38,
+-86,82,
+22,-74,
+-25,-147,
+-79,270,
+23,-151,
+283,-145,
+-8,177,
+-101,-160,
+-209,-10,
+138,-89,
+0,-165,
+-76,-132,
+144,-157,
+33,100,
+-80,-51,
+58,67,
+191,-120,
+167,-123,
+-111,-164,
+-203,-118,
+165,-24,
+-60,-230,
+178,116,
+-3,-34,
+63,99,
+93,-246,
+-37,13,
+-107,-115,
+-70,8,
+-50,-183,
+13,-91,
+-54,-15,
+-206,-178,
+-94,-38,
+235,112,
+49,-129,
+27,96,
+200,263,
+19,76,
+86,-140,
+-123,116,
+-5,-40,
+197,209,
+34,-32,
+-162,176,
+-3,-189,
+-70,-20,
+-127,-267,
+-163,-96,
+31,30,
+-132,67,
+126,10,
+-230,194,
+-63,46,
+38,0,
+36,58,
+27,-167,
+13,-60,
+281,47,
+119,177,
+87,-14,
+-16,113,
+-98,76,
+336,134,
+-56,-56,
+23,18,
+81,83,
+269,-53,
+278,-55,
+-151,-193,
+-116,-188,
+-43,-159,
+9,-109,
+245,-172,
+-29,120,
+-99,-121,
+-183,44,
+191,157,
+101,95,
+-13,-12,
+157,39,
+-52,-237,
+174,0,
+-169,-38,
+180,-20,
+81,41,
+192,45,
+71,13,
+129,-71,
+3,-25,
+110,30,
+38,99,
+96,-116,
+62,-24,
+-23,91,
+-82,-200,
+96,78,
+84,-8,
+-87,66,
+201,113,
+232,45,
+-60,-290,
+-82,-234,
+26,-56,
+121,-97,
+63,-33,
+75,-28,
+-103,-57,
+138,97,
+130,19,
+93,106,
+-169,107,
+29,-17,
+-65,-90,
+35,209,
+12,213,
+-46,-7,
+-146,-192,
+-81,-244,
+-86,44,
+57,-14,
+60,-194,
+-105,196,
+109,-159,
+-195,126,
+44,-50,
+-21,113,
+177,-161,
+-277,74,
+-73,188,
+-69,125,
+151,-1,
+-128,-51,
+-150,151,
+-207,14,
+-168,204,
+-19,125,
+96,-42,
+-1,25,
+-37,-45,
+170,-119,
+-83,51,
+-29,-220,
+-184,171,
+-88,211,
+-120,-52,
+-118,-57,
+7,-7,
+112,-110,
+-81,154,
+-88,85,
+141,147,
+105,186,
+-25,-157,
+-121,107,
+-35,-200,
+-109,-199,
+188,277,
+-19,-133,
+-87,-73,
+-131,114,
+-144,24,
+-38,-39,
+150,115,
+63,-28,
+184,87,
+-175,6,
+-63,96,
+114,62,
+42,-65,
+83,192,
+112,45,
+-110,-80,
+-126,-92,
+-120,8,
+-71,-264,
+19,267,
+-15,-19,
+108,-5,
+-88,96,
+12,31,
+17,259,
+-323,-129,
+1,54,
+-168,-133,
+183,27,
+320,-119,
+-63,129,
+21,79,
+43,-9,
+-66,-68,
+298,58,
+125,42,
+106,-17,
+-231,205,
+10,155,
+-9,-38,
+56,-113,
+-17,-162,
+-212,155,
+53,-111,
+232,3,
+107,-96,
+15,-160,
+-5,41,
+29,-90,
+-68,35,
+-76,262,
+183,125,
+-159,-246,
+78,-73,
+-111,3,
+-17,227,
+-106,-18,
+51,-124,
+30,-197,
+151,227,
+-127,308,
+26,-169,
+-126,-77,
+258,-11,
+-91,97,
+-185,-42,
+42,-32,
+54,-48,
+-205,94,
+16,-82,
+87,14,
+52,82,
+-32,86,
+312,-66,
+91,-4,
+82,3,
+6,0,
+218,59,
+-210,-257,
+36,-282,
+185,-134,
+-98,65,
+100,-160,
+-7,-28,
+86,3,
+73,-130,
+159,32,
+-30,-116,
+12,-107,
+146,-144,
+162,-128,
+-109,-5,
+-27,-74,
+60,86,
+31,-46,
+-137,191,
+-181,-249,
+56,-16,
+12,-81,
+4,2,
+31,-41,
+-93,119,
+-220,-134,
+238,-80,
+-185,6,
+90,34,
+-167,50,
+-117,184,
+-80,-119,
+-164,-133,
+-110,-44,
+40,7,
+-97,-2,
+150,-37,
+52,-248,
+262,-95,
+-66,210,
+215,50,
+106,46,
+-24,-17,
+-25,-27,
+268,8,
+92,175,
+-185,-190,
+135,34,
+-29,-17,
+13,141,
+134,1,
+-46,-146,
+232,7,
+139,142,
+-118,-162,
+-95,89,
+-138,211,
+265,76,
+21,152,
+78,-177,
+-41,125,
+163,-75,
+33,83,
+279,-197,
+-223,-60,
+-71,-53,
+-36,-157,
+-183,41,
+27,102,
+-131,-67,
+28,-30,
+194,-66,
+139,-79,
+-130,74,
+55,-42,
+69,-27,
+-104,-70,
+48,-70,
+-118,-258,
+-132,-27,
+-136,114,
+-169,-283,
+-75,-34,
+93,-76,
+117,-93,
+-39,-93,
+-267,-61,
+-23,-84,
+86,70,
+-233,-80,
+231,20,
+34,-56,
+-111,-54,
+-50,-13,
+-126,-65,
+-55,-316,
+-127,-190,
+-48,166,
+23,190,
+-12,-134,
+153,168,
+-13,5,
+-256,23,
+260,31,
+36,-139,
+164,-222,
+-97,-41,
+124,9,
+-12,200,
+27,-95,
+-64,-82,
+-61,-81,
+-171,108,
+199,-20,
+-145,24,
+10,-17,
+-99,-101,
+182,-67,
+-31,-39,
+-61,-191,
+117,-23,
+-279,133,
+-161,269,
+-85,148,
+13,-103,
+87,140,
+-42,-56,
+-50,63,
+50,-39,
+181,204,
+-82,-182,
+-110,56,
+-62,-123,
+-166,-131,
+-243,62,
+73,45,
+13,181,
+235,-63,
+-45,209,
+10,-116,
+214,123,
+59,0,
+1,8,
+122,64,
+-58,76,
+156,25,
+-92,105,
+68,75,
+-38,-20,
+139,42,
+-25,-235,
+-97,146,
+-149,-230,
+-134,-121,
+-91,169,
+48,290,
+86,-115,
+-115,158,
+105,-81,
+-118,-60,
+248,-14,
+119,62,
+-9,-41,
+-100,96,
+-27,180,
+-130,66,
+-21,-205,
+29,-242,
+-57,36,
+38,-110,
+51,-72,
+31,-149,
+124,280,
+193,4,
+246,-224,
+-8,-3,
+111,58,
+-56,-93,
+-141,0,
+-14,166,
+44,192,
+-81,59,
+-166,-118,
+-4,180,
+175,152,
+-67,94,
+-105,73,
+102,131,
+144,67,
+-70,132,
+17,160,
+23,169,
+110,61,
+-140,-54,
+-174,-64,
+-6,-307,
+23,-98,
+-47,27,
+155,-30,
+109,3,
+-45,-43,
+70,-137,
+-103,-159,
+96,20,
+65,-54,
+-175,121,
+-169,-39,
+184,-217,
+-57,156,
+-187,-215,
+88,-16,
+15,230,
+-161,-131,
+36,-192,
+-98,150,
+-13,117,
+-7,-111,
+142,185,
+-79,167,
+64,67,
+54,-59,
+-108,96,
+-176,-41,
+-76,107,
+12,14,
+-68,-204,
+196,141,
+172,-29,
+-155,219,
+138,-93,
+-113,-34,
+51,52,
+-28,-162,
+-88,218,
+-189,-145,
+-2,-156,
+88,93,
+7,146,
+-86,-108,
+-108,-94,
+5,-197,
+124,-126,
+-140,-41,
+-69,-29,
+7,62,
+-98,-171,
+-158,6,
+52,-20,
+-10,-128,
+118,62,
+-148,8,
+-128,-30,
+-26,-158,
+-75,141,
+43,87,
+-44,-74,
+-36,85,
+126,-141,
+87,-256,
+68,183,
+283,57,
+31,75,
+-84,208,
+16,92,
+-34,116,
+-19,163,
+-258,-56,
+157,99,
+236,-27,
+184,-27,
+-167,75,
+-112,-49,
+128,127,
+31,82,
+36,34,
+-113,-27,
+-254,-223,
+-10,-7,
+245,-97,
+50,188,
+28,36,
+-62,8,
+-3,37,
+-75,119,
+-87,21,
+-73,48,
+142,152,
+32,56,
+-2,175,
+71,94,
+85,-187,
+92,-46,
+-168,163,
+41,8,
+-67,-62,
+-120,112,
+109,-39,
+-115,41,
+115,-82,
+-70,-16,
+-192,-167,
+20,27,
+-110,147,
+143,63,
+-221,-12,
+-153,-123,
+74,238,
+109,-124,
+16,30,
+165,77,
+18,-93,
+0,44,
+18,0,
+233,106,
+-160,75,
+40,-58,
+-181,8,
+31,-16,
+128,-236,
+27,-195,
+79,171,
+-170,-127,
+13,-58,
+-85,-171,
+-38,18,
+108,141,
+77,-224,
+9,74,
+-51,26,
+-36,87,
+-119,88,
+-173,156,
+-210,34,
+200,14,
+106,-122,
+-151,-49,
+31,128,
+28,-44,
+-72,-180,
+-50,68,
+-121,-10,
+13,-47,
+105,-95,
+-268,-171,
+81,-67,
+166,-101,
+18,-11,
+-8,-6,
+-76,-35,
+-119,-104,
+136,90,
+40,34,
+-58,-26,
+-142,-71,
+91,-101,
+-206,-5,
+78,71,
+17,16,
+29,71,
+228,-88,
+-183,60,
+-135,-27,
+140,45,
+234,-95,
+217,-77,
+-72,158,
+215,-78,
+-66,7,
+-3,75,
+-36,-195,
+-23,12,
+8,150,
+-105,-20,
+196,-89,
+-36,-98,
+67,-76,
+15,-44,
+-41,2,
+11,68,
+-65,43,
+63,-158,
+210,63,
+5,-91,
+193,97,
+165,-39,
+140,78,
+9,16,
+51,131,
+83,-85,
+-155,229,
+52,-59,
+-30,150,
+-81,-59,
+-81,77,
+-147,-62,
+-90,146,
+28,-17,
+270,30,
+101,9,
+223,5,
+143,-21,
+-135,-132,
+37,-7,
+168,-82,
+17,-124,
+-22,-18,
+-78,11,
+13,71,
+21,77,
+-88,173,
+-13,26,
+-49,124,
+34,87,
+208,-76,
+6,-108,
+41,40,
+-140,9,
+-217,62,
+83,62,
+51,-69,
+13,-52,
+179,-176,
+-70,-132,
+-13,38,
+-55,174,
+12,120,
+-233,-11,
+113,-228,
+10,-97,
+111,95,
+53,29,
+-68,96,
+-31,-84,
+114,180,
+-13,-67,
+126,-48,
+-16,15,
+-10,132,
+-11,-112,
+-24,128,
+-54,110,
+11,219,
+4,104,
+48,-200,
+16,44,
+50,-78,
+-182,242,
+109,-68,
+90,13,
+27,-127,
+-26,44,
+167,135,
+103,-48,
+-19,71,
+179,-50,
+79,37,
+28,-50,
+45,24,
+29,-37,
+100,67,
+-68,218,
+-34,-52,
+-14,-105,
+-107,11,
+57,51,
+23,104,
+-23,35,
+-164,150,
+83,188,
+142,118,
+-8,90,
+43,82,
+88,-17,
+-61,52,
+-23,-101,
+92,-38,
+-88,7,
+182,83,
+108,79,
+48,-58,
+70,-61,
+-34,27,
+-149,33,
+-94,70,
+62,195,
+55,-55,
+-222,-59,
+-155,-165,
+19,-105,
+-33,53,
+116,-9,
+224,-44,
+-2,27,
+-37,-68,
+155,30,
+9,-84,
+147,-135,
+-38,-35,
+-118,-70,
+23,26,
+-103,64,
+4,-179,
+20,41,
+94,-24,
+53,275,
+-65,56,
+11,-102,
+46,51,
+-64,29,
+-42,-61,
+17,30,
+90,-6,
+-84,63,
+11,-54,
+46,-51,
+-38,20,
+-14,31,
+58,-48,
+134,-1,
+215,143,
+-219,30,
+22,-98,
+-25,67,
+10,-132,
+7,-52,
+-116,28,
+-81,-20,
+-65,188,
+-51,23,
+54,-2,
+-82,39,
+3,149,
+29,137,
+-37,-2,
+-32,-49,
+-136,-90,
+-167,-200,
+107,-22,
+50,157,
+115,-149,
+52,-155,
+-22,58,
+-38,-28,
+-26,58,
+23,196,
+104,-12,
+22,93,
+-95,-14,
+-3,-19,
+-44,-6,
+60,42,
+26,30,
+89,30,
+125,103,
+134,49,
+135,-75,
+77,-108,
+3,103,
+130,-23,
+-24,-29,
+-132,-59,
+49,-22,
+96,-6,
+97,-17,
+-8,130,
+-44,-13,
+36,-7,
+-50,159,
+52,50,
+-55,44,
+78,79,
+30,110,
+42,19,
+-21,-29,
+-143,149,
+134,-19,
+-3,-20,
+140,-75,
+-162,88,
+3,4,
+-7,19,
+160,-10,
+205,-22,
+-66,-30,
+64,-12,
+11,-14,
+55,38,
+-75,-10,
+28,127,
+0,-13,
+111,-2,
+-88,-6,
+127,-7,
+43,58,
+-105,139,
+-116,-108,
+-63,3,
+120,-109,
+135,22,
+13,-73,
+-99,48,
+-100,9,
+-104,100,
+17,40,
+9,-32,
+32,-45,
+60,-156,
+-27,-30,
+-53,150,
+-48,4,
+49,96,
+76,-3,
+77,-110,
+42,33,
+130,-23,
+11,-25,
+19,21,
+-16,-90,
+-80,48,
+-63,133,
+-26,-21,
+-35,-43,
+-91,75,
+54,138,
+16,136,
+-53,95,
+97,112,
+-5,-128,
+46,-73,
+-35,-52,
+77,-82,
+-62,24,
+158,-28,
+-40,-24,
+101,-29,
+-20,97,
+83,-7,
+-10,46,
+51,206,
+-36,17,
+62,97,
+-88,85,
+11,53,
+-49,-18,
+66,-37,
+30,17,
+-79,-4,
+-21,1,
+-41,86,
+-122,-30,
+49,89,
+87,-99,
+-55,5,
+-20,35,
+-34,-104,
+8,70,
+33,26,
+-22,71,
+43,11,
+-72,255,
+-38,43,
+89,-138,
+-64,28,
+18,-18,
+-5,105,
+47,47,
+14,-96,
+8,53,
+-46,-82,
+-74,-17,
+1,-64,
+43,63,
+-8,13,
+9,0,
+-65,-69,
+2,-43,
+5,74,
+-50,82,
+-92,-32,
+-24,-2,
+-106,-87,
+-43,67,
+74,-20,
+-58,-133,
+-47,28,
+-14,37,
+18,-76,
+17,5,
+-60,44,
+-51,40,
+88,-4,
+50,-183,
+49,-43,
+49,5,
+62,-53,
+-76,-6,
+33,87,
+-54,14,
+55,-12,
+-31,-4,
+-168,-74,
+82,7,
+-16,-52,
+-64,87,
+-114,37,
+-36,-14,
+13,5,
+-8,-130,
+4,74,
+69,1,
+38,75,
+-64,-28,
+49,34,
+-9,43,
+-26,58,
+67,25,
+-48,37,
+77,-69,
+-72,-81,
+27,-31,
+111,104,
+-17,-143,
+-67,-21,
+-34,3,
+22,-69,
+-77,92,
+76,-53,
+2,-25,
+-35,-3,
+38,-45,
+58,-7,
+-40,-25,
+-47,95,
+17,7,
+68,-11,
+76,59,
+22,9,
+40,9,
+28,-54,
+25,-40,
+38,-6,
+-7,8,
+41,-52,
+24,86,
+53,81,
+-108,-14,
+-22,-85,
+-49,-67,
+15,-4,
+60,63,
+17,7,
+34,-30,
+-28,-53,
+27,29,
+4,169,
+-35,1,
+81,-43,
+-2,-80,
+47,51,
+107,-34,
+18,-38,
+41,57,
+97,56,
+-35,78,
+-29,27,
+-58,26,
+-32,22,
+44,-29,
+11,-14,
+18,31,
+10,-64,
+-80,-45,
+44,-9,
+4,-41,
+-34,81,
+-22,-28,
+-6,-59,
+-21,-21,
+-53,-5,
+61,-50,
+-45,-7,
+-77,1,
+-14,26,
+-92,-37,
+-21,-51,
+67,13,
+20,40,
+-73,-18,
+5,-56,
+-15,-44,
+46,9,
+-61,-29,
+11,42,
+14,-54,
+-30,35,
+127,17,
+-66,61,
+-13,25,
+8,-51,
+-4,4,
+32,-61,
+3,-62,
+1,46,
+-7,2,
+106,-12,
+14,24,
+-11,43,
+46,-67,
+32,29,
+-65,-31,
+-13,-43,
+36,19,
+2,9,
+-13,-55,
+-57,-4,
+32,32,
+-54,-29,
+2,-71,
+64,27,
+-61,18,
+-31,0,
+-25,-28,
+-34,32,
+-7,16,
+22,31,
+-15,24,
+-42,-24,
+-47,3,
+-77,-36,
+19,-56,
+18,18,
+29,54,
+72,-52,
+28,15,
+21,42,
+38,10,
+29,-18,
+13,-7,
+66,16,
+25,32,
+-2,-56,
+-13,-41,
+71,39,
+53,-17,
+-22,-52,
+-6,14,
+16,-1,
+-22,24,
+-40,45,
+5,78,
+34,9,
+28,21,
+-87,23,
+16,-17,
+-10,12,
+-57,1,
+-58,-24,
+20,-4,
+52,-27,
+9,-23,
+8,0,
+5,46,
+0,13,
+-25,46,
+16,-49,
+-24,20,
+42,6,
+22,5,
+56,-12,
+-29,-34,
+-36,-38,
+-26,-28,
+36,12,
+-72,4,
+31,24,
+34,-20,
+-16,22,
+31,-17,
+26,42,
+-13,-13,
+15,10,
+24,35,
+-31,14,
+43,17,
+-12,12,
+28,-2,
+3,63,
+47,-27,
+-20,-37,
+-15,-30,
+-3,-19,
+-41,-28,
+26,0,
+-12,18,
+29,22,
+-16,-16,
+21,-1,
+-12,6,
+18,12,
+6,-14,
+51,-54,
+44,-13,
+-28,-20,
+-18,14,
+-13,-2,
+-15,2,
+-14,30,
+-2,-50,
+-4,21,
+10,-3,
+3,1,
+3,-35,
+-33,6,
+6,-7,
+8,8,
+28,4,
+-26,15,
+-31,-19,
+-15,60,
+-6,-9,
+4,-6,
+21,-15,
+-10,16,
+16,17,
+7,-14,
+28,0,
+-20,-12,
+-53,-28,
+-14,5,
+10,-24,
+-17,-16,
+-5,25,
+0,-4,
+0,8,
+-12,-17,
+11,5,
+-18,-23,
+-18,-27,
+-2,32,
+-7,10,
+-30,-21,
+3,-6,
+-16,-23,
+2,-26,
+-13,7,
+-33,-16,
+6,-1,
+-4,10,
+-7,-4,
+3,-5,
+6,11,
+-19,23,
+-6,-1,
+9,-2,
+-5,-16,
+5,0,
+-1,-12,
+-23,-16,
+-4,2,
+1,-6,
+-25,34,
+23,-5,
+-8,7,
+-3,1,
+-3,13,
+27,4,
+5,13,
+4,-30,
+8,0,
+-14,18,
+12,1,
+-3,16,
+-17,0,
+17,-1,
+14,10,
+-28,-5,
+14,-2,
+2,3,
+-5,16,
+5,4,
+2,-8,
+-11,14,
+18,5,
+9,7,
+-12,2,
+-6,17,
+-4,-5,
+-5,5,
+6,-4,
+-1,-5,
+-16,-5,
+4,-8,
+5,-5,
+0,-1,
+5,-10,
+3,10,
+-11,-6,
+2,1,
+2,-6,
+-3,-1,
+0,3,
+3,1,
+-12,-1,
+4,-2,
+-1,-6,
+0,0,
+1,4,
+3,-3,
+-7,-1,
+1,3,
+-1,3,
+-8,-1,
+3,1,
+1,1,
+-5,2,
+2,0,
+2,1,
+-6,-1,
+2,1,
+3,0,
+-7,0,
+2,0,
+3,0,
+-6,0,
+3,0,
+2,0,
+-7,0,
+3,0,
+2,-1,
+-6,1,
+2,-1,
+2,0,
+-5,-2,
+1,-1,
+3,-1,
+-8,1,
+-1,-3,
+1,-3,
+-7,1,
+3,3,
+1,-4,
+0,0,
+-1,6,
+4,2,
+-12,1,
+3,-1,
+0,-3,
+-3,1,
+2,6,
+2,-1,
+-11,6,
+3,-10,
+5,10,
+0,1,
+5,5,
+4,8,
+-16,5,
+-1,5,
+6,4,
+-5,-5,
+-4,5,
+-6,-17,
+-12,-2,
+9,-7,
+18,-5,
+-11,-14,
+2,8,
+5,-4,
+-5,-16,
+2,-3,
+14,2,
+-28,5,
+14,-10,
+17,1,
+-17,0,
+-3,-16,
+12,-1,
+-14,-18,
+8,0,
+4,30,
+5,-13,
+27,-4,
+-3,-13,
+-3,-1,
+-8,-7,
+23,5,
+-25,-34,
+1,6,
+-4,-2,
+-23,16,
+-1,12,
+5,0,
+-5,16,
+9,2,
+-6,1,
+-19,-23,
+6,-11,
+3,5,
+-7,4,
+-4,-10,
+6,1,
+-33,16,
+-13,-7,
+2,26,
+-16,23,
+3,6,
+-30,21,
+-7,-10,
+-2,-32,
+-18,27,
+-18,23,
+11,-5,
+-12,17,
+0,-8,
+0,4,
+-5,-25,
+-17,16,
+10,24,
+-14,-5,
+-53,28,
+-20,12,
+28,0,
+7,14,
+16,-17,
+-10,-16,
+21,15,
+4,6,
+-6,9,
+-15,-60,
+-31,19,
+-26,-15,
+28,-4,
+8,-8,
+6,7,
+-33,-6,
+3,35,
+3,-1,
+10,3,
+-4,-21,
+-2,50,
+-14,-30,
+-15,-2,
+-13,2,
+-18,-14,
+-28,20,
+44,13,
+51,54,
+6,14,
+18,-12,
+-12,-6,
+21,1,
+-16,16,
+29,-22,
+-12,-18,
+26,0,
+-41,28,
+-3,19,
+-15,30,
+-20,37,
+47,27,
+3,-63,
+28,2,
+-12,-12,
+43,-17,
+-31,-14,
+24,-35,
+15,-10,
+-13,13,
+26,-42,
+31,17,
+-16,-22,
+34,20,
+31,-24,
+-72,-4,
+36,-12,
+-26,28,
+-36,38,
+-29,34,
+56,12,
+22,-5,
+42,-6,
+-24,-20,
+16,49,
+-25,-46,
+0,-13,
+5,-46,
+8,0,
+9,23,
+52,27,
+20,4,
+-58,24,
+-57,-1,
+-10,-12,
+16,17,
+-87,-23,
+28,-21,
+34,-9,
+5,-78,
+-40,-45,
+-22,-24,
+16,1,
+-6,-14,
+-22,52,
+53,17,
+71,-39,
+-13,41,
+-2,56,
+25,-32,
+66,-16,
+13,7,
+29,18,
+38,-10,
+21,-42,
+28,-15,
+72,52,
+29,-54,
+18,-18,
+19,56,
+-77,36,
+-47,-3,
+-42,24,
+-15,-24,
+22,-31,
+-7,-16,
+-34,-32,
+-25,28,
+-31,0,
+-61,-18,
+64,-27,
+2,71,
+-54,29,
+32,-32,
+-57,4,
+-13,55,
+2,-9,
+36,-19,
+-13,43,
+-65,31,
+32,-29,
+46,67,
+-11,-43,
+14,-24,
+106,12,
+-7,-2,
+1,-46,
+3,62,
+32,61,
+-4,-4,
+8,51,
+-13,-25,
+-66,-61,
+127,-17,
+-30,-35,
+14,54,
+11,-42,
+-61,29,
+46,-9,
+-15,44,
+5,56,
+-73,18,
+20,-40,
+67,-13,
+-21,51,
+-92,37,
+-14,-26,
+-77,-1,
+-45,7,
+61,50,
+-53,5,
+-21,21,
+-6,59,
+-22,28,
+-34,-81,
+4,41,
+44,9,
+-80,45,
+10,64,
+18,-31,
+11,14,
+44,29,
+-32,-22,
+-58,-26,
+-29,-27,
+-35,-78,
+97,-56,
+41,-57,
+18,38,
+107,34,
+47,-51,
+-2,80,
+81,43,
+-35,-1,
+4,-169,
+27,-29,
+-28,53,
+34,30,
+17,-7,
+60,-63,
+15,4,
+-49,67,
+-22,85,
+-108,14,
+53,-81,
+24,-86,
+41,52,
+-7,-8,
+38,6,
+25,40,
+28,54,
+40,-9,
+22,-9,
+76,-59,
+68,11,
+17,-7,
+-47,-95,
+-40,25,
+58,7,
+38,45,
+-35,3,
+2,25,
+76,53,
+-77,-92,
+22,69,
+-34,-3,
+-67,21,
+-17,143,
+111,-104,
+27,31,
+-72,81,
+77,69,
+-48,-37,
+67,-25,
+-26,-58,
+-9,-43,
+49,-34,
+-64,28,
+38,-75,
+69,-1,
+4,-74,
+-8,130,
+13,-5,
+-36,14,
+-114,-37,
+-64,-87,
+-16,52,
+82,-7,
+-168,74,
+-31,4,
+55,12,
+-54,-14,
+33,-87,
+-76,6,
+62,53,
+49,-5,
+49,43,
+50,183,
+88,4,
+-51,-40,
+-60,-44,
+17,-5,
+18,76,
+-14,-37,
+-47,-28,
+-58,133,
+74,20,
+-43,-67,
+-106,87,
+-24,2,
+-92,32,
+-50,-82,
+5,-74,
+2,43,
+-65,69,
+9,0,
+-8,-13,
+43,-63,
+1,64,
+-74,17,
+-46,82,
+8,-53,
+14,96,
+47,-47,
+-5,-105,
+18,18,
+-64,-28,
+89,138,
+-38,-43,
+-72,-255,
+43,-11,
+-22,-71,
+33,-26,
+8,-70,
+-34,104,
+-20,-35,
+-55,-5,
+87,99,
+49,-89,
+-122,30,
+-41,-86,
+-21,-1,
+-79,4,
+30,-17,
+66,37,
+-49,18,
+11,-53,
+-88,-85,
+62,-97,
+-36,-17,
+51,-206,
+-10,-46,
+83,7,
+-20,-97,
+101,29,
+-40,24,
+158,28,
+-62,-24,
+77,82,
+-35,52,
+46,73,
+-5,128,
+97,-112,
+-53,-95,
+16,-136,
+54,-138,
+-91,-75,
+-35,43,
+-26,21,
+-63,-133,
+-80,-48,
+-16,90,
+19,-21,
+11,25,
+130,23,
+42,-33,
+77,110,
+76,3,
+49,-96,
+-48,-4,
+-53,-150,
+-27,30,
+60,156,
+32,45,
+9,32,
+17,-40,
+-104,-100,
+-100,-9,
+-99,-48,
+13,73,
+135,-22,
+120,109,
+-63,-3,
+-116,108,
+-105,-139,
+43,-58,
+127,7,
+-88,6,
+111,2,
+0,13,
+28,-127,
+-75,10,
+55,-38,
+11,14,
+64,12,
+-66,30,
+205,22,
+160,10,
+-7,-19,
+3,-4,
+-162,-88,
+140,75,
+-3,20,
+134,19,
+-143,-149,
+-21,29,
+42,-19,
+30,-110,
+78,-79,
+-55,-44,
+52,-50,
+-50,-159,
+36,7,
+-44,13,
+-8,-130,
+97,17,
+96,6,
+49,22,
+-132,59,
+-24,29,
+130,23,
+3,-103,
+77,108,
+135,75,
+134,-49,
+125,-103,
+89,-30,
+26,-30,
+60,-42,
+-44,6,
+-3,19,
+-95,14,
+22,-93,
+104,12,
+23,-196,
+-26,-58,
+-38,28,
+-22,-58,
+52,155,
+115,149,
+50,-157,
+107,22,
+-167,200,
+-136,90,
+-32,49,
+-37,2,
+29,-137,
+3,-149,
+-82,-39,
+54,2,
+-51,-23,
+-65,-188,
+-81,20,
+-116,-28,
+7,52,
+10,132,
+-25,-67,
+22,98,
+-219,-30,
+215,-143,
+134,1,
+58,48,
+-14,-31,
+-38,-20,
+46,51,
+11,54,
+-84,-63,
+90,6,
+17,-30,
+-42,61,
+-64,-29,
+46,-51,
+11,102,
+-65,-56,
+53,-275,
+94,24,
+20,-41,
+4,179,
+-103,-64,
+23,-26,
+-118,70,
+-38,35,
+147,135,
+9,84,
+155,-30,
+-37,68,
+-2,-27,
+224,44,
+116,9,
+-33,-53,
+19,105,
+-155,165,
+-222,59,
+55,55,
+62,-195,
+-94,-70,
+-149,-33,
+-34,-27,
+70,61,
+48,58,
+108,-79,
+182,-83,
+-88,-7,
+92,38,
+-23,101,
+-61,-52,
+88,17,
+43,-82,
+-8,-90,
+142,-118,
+83,-188,
+-164,-150,
+-23,-35,
+23,-104,
+57,-51,
+-107,-11,
+-14,105,
+-34,52,
+-68,-218,
+100,-67,
+29,37,
+45,-24,
+28,50,
+79,-37,
+179,50,
+-19,-71,
+103,48,
+167,-135,
+-26,-44,
+27,127,
+90,-13,
+109,68,
+-182,-242,
+50,78,
+16,-44,
+48,200,
+4,-104,
+11,-219,
+-54,-110,
+-24,-128,
+-11,112,
+-10,-132,
+-16,-15,
+126,48,
+-13,67,
+114,-180,
+-31,84,
+-68,-96,
+53,-29,
+111,-95,
+10,97,
+113,228,
+-233,11,
+12,-120,
+-55,-174,
+-13,-38,
+-70,132,
+179,176,
+13,52,
+51,69,
+83,-62,
+-217,-62,
+-140,-9,
+41,-40,
+6,108,
+208,76,
+34,-87,
+-49,-124,
+-13,-26,
+-88,-173,
+21,-77,
+13,-71,
+-78,-11,
+-22,18,
+17,124,
+168,82,
+37,7,
+-135,132,
+143,21,
+223,-5,
+101,-9,
+270,-30,
+28,17,
+-90,-146,
+-147,62,
+-81,-77,
+-81,59,
+-30,-150,
+52,59,
+-155,-229,
+83,85,
+51,-131,
+9,-16,
+140,-78,
+165,39,
+193,-97,
+5,91,
+210,-63,
+63,158,
+-65,-43,
+11,-68,
+-41,-2,
+15,44,
+67,76,
+-36,98,
+196,89,
+-105,20,
+8,-150,
+-23,-12,
+-36,195,
+-3,-75,
+-66,-7,
+215,78,
+-72,-158,
+217,77,
+234,95,
+140,-45,
+-135,27,
+-183,-60,
+228,88,
+29,-71,
+17,-16,
+78,-71,
+-206,5,
+91,101,
+-142,71,
+-58,26,
+40,-34,
+136,-90,
+-119,104,
+-76,35,
+-8,6,
+18,11,
+166,101,
+81,67,
+-268,171,
+105,95,
+13,47,
+-121,10,
+-50,-68,
+-72,180,
+28,44,
+31,-128,
+-151,49,
+106,122,
+200,-14,
+-210,-34,
+-173,-156,
+-119,-88,
+-36,-87,
+-51,-26,
+9,-74,
+77,224,
+108,-141,
+-38,-18,
+-85,171,
+13,58,
+-170,127,
+79,-171,
+27,195,
+128,236,
+31,16,
+-181,-8,
+40,58,
+-160,-75,
+233,-106,
+18,0,
+0,-44,
+18,93,
+165,-77,
+16,-30,
+109,124,
+74,-238,
+-153,123,
+-221,12,
+143,-63,
+-110,-147,
+20,-27,
+-192,167,
+-70,16,
+115,82,
+-115,-41,
+109,39,
+-120,-112,
+-67,62,
+41,-8,
+-168,-163,
+92,46,
+85,187,
+71,-94,
+-2,-175,
+32,-56,
+142,-152,
+-73,-48,
+-87,-21,
+-75,-119,
+-3,-37,
+-62,-8,
+28,-36,
+50,-188,
+245,97,
+-10,7,
+-254,223,
+-113,27,
+36,-34,
+31,-82,
+128,-127,
+-112,49,
+-167,-75,
+184,27,
+236,27,
+157,-99,
+-258,56,
+-19,-163,
+-34,-116,
+16,-92,
+-84,-208,
+31,-75,
+283,-57,
+68,-183,
+87,256,
+126,141,
+-36,-85,
+-44,74,
+43,-87,
+-75,-141,
+-26,158,
+-128,30,
+-148,-8,
+118,-62,
+-10,128,
+52,20,
+-158,-6,
+-98,171,
+7,-62,
+-69,29,
+-140,41,
+124,126,
+5,197,
+-108,94,
+-86,108,
+7,-146,
+88,-93,
+-2,156,
+-189,145,
+-88,-218,
+-28,162,
+51,-52,
+-113,34,
+138,93,
+-155,-219,
+172,29,
+196,-141,
+-68,204,
+12,-14,
+-76,-107,
+-176,41,
+-108,-96,
+54,59,
+64,-67,
+-79,-167,
+142,-185,
+-7,111,
+-13,-117,
+-98,-150,
+36,192,
+-161,131,
+15,-230,
+88,16,
+-187,215,
+-57,-156,
+184,217,
+-169,39,
+-175,-121,
+65,54,
+96,-20,
+-103,159,
+70,137,
+-45,43,
+109,-3,
+155,30,
+-47,-27,
+23,98,
+-6,307,
+-174,64,
+-140,54,
+110,-61,
+23,-169,
+17,-160,
+-70,-132,
+144,-67,
+102,-131,
+-105,-73,
+-67,-94,
+175,-152,
+-4,-180,
+-166,118,
+-81,-59,
+44,-192,
+-14,-166,
+-141,0,
+-56,93,
+111,-58,
+-8,3,
+246,224,
+193,-4,
+124,-280,
+31,149,
+51,72,
+38,110,
+-57,-36,
+29,242,
+-21,205,
+-130,-66,
+-27,-180,
+-100,-96,
+-9,41,
+119,-62,
+248,14,
+-118,60,
+105,81,
+-115,-158,
+86,115,
+48,-290,
+-91,-169,
+-134,121,
+-149,230,
+-97,-146,
+-25,235,
+139,-42,
+-38,20,
+68,-75,
+-92,-105,
+156,-25,
+-58,-76,
+122,-64,
+1,-8,
+59,0,
+214,-123,
+10,116,
+-45,-209,
+235,63,
+13,-181,
+73,-45,
+-243,-62,
+-166,131,
+-62,123,
+-110,-56,
+-82,182,
+181,-204,
+50,39,
+-50,-63,
+-42,56,
+87,-140,
+13,103,
+-85,-148,
+-161,-269,
+-279,-133,
+117,23,
+-61,191,
+-31,39,
+182,67,
+-99,101,
+10,17,
+-145,-24,
+199,20,
+-171,-108,
+-61,81,
+-64,82,
+27,95,
+-12,-200,
+124,-9,
+-97,41,
+164,222,
+36,139,
+260,-31,
+-256,-23,
+-13,-5,
+153,-168,
+-12,134,
+23,-190,
+-48,-166,
+-127,190,
+-55,316,
+-126,65,
+-50,13,
+-111,54,
+34,56,
+231,-20,
+-233,80,
+86,-70,
+-23,84,
+-267,61,
+-39,93,
+117,93,
+93,76,
+-75,34,
+-169,283,
+-136,-114,
+-132,27,
+-118,258,
+48,70,
+-104,70,
+69,27,
+55,42,
+-130,-74,
+139,79,
+194,66,
+28,30,
+-131,67,
+27,-102,
+-183,-41,
+-36,157,
+-71,53,
+-223,60,
+279,197,
+33,-83,
+163,75,
+-41,-125,
+78,177,
+21,-152,
+265,-76,
+-138,-211,
+-95,-89,
+-118,162,
+139,-142,
+232,-7,
+-46,146,
+134,-1,
+13,-141,
+-29,17,
+135,-34,
+-185,190,
+92,-175,
+268,-8,
+-25,27,
+-24,17,
+106,-46,
+215,-50,
+-66,-210,
+262,95,
+52,248,
+150,37,
+-97,2,
+40,-7,
+-110,44,
+-164,133,
+-80,119,
+-117,-184,
+-167,-50,
+90,-34,
+-185,-6,
+238,80,
+-220,134,
+-93,-119,
+31,41,
+4,-2,
+12,81,
+56,16,
+-181,249,
+-137,-191,
+31,46,
+60,-86,
+-27,74,
+-109,5,
+162,128,
+146,144,
+12,107,
+-30,116,
+159,-32,
+73,130,
+86,-3,
+-7,28,
+100,160,
+-98,-65,
+185,134,
+36,282,
+-210,257,
+218,-59,
+11,0,
+35,82,
+77,284,
+-115,-69,
+113,-219,
+57,-182,
+16,199,
+104,26,
+134,24,
+21,158,
+-99,202,
+-77,-38,
+15,125,
+-106,-108,
+38,-67,
+49,77,
+176,228,
+149,-50,
+211,178,
+181,86,
+-81,-120,
+118,-23,
+-94,33,
+28,30,
+12,-40,
+70,-8,
+-48,41,
+55,-32,
+-138,16,
+-111,53,
+236,-34,
+41,54,
+110,107,
+25,-21,
+80,82,
+68,-365,
+-165,-77,
+-134,-102,
+22,-46,
+71,-43,
+-126,-6,
+-3,225,
+16,51,
+-118,168,
+-107,128,
+46,134,
+130,-274,
+-172,-55,
+67,226,
+-142,77,
+59,110,
+-226,-165,
+160,-47,
+-165,-16,
+106,-3,
+-255,-123,
+20,64,
+-40,128,
+-146,-100,
+-4,-194,
+64,-109,
+-48,-138,
+-23,159,
+-25,42,
+8,-22,
+-136,-123,
+183,240,
+131,-173,
+32,25,
+53,-37,
+-52,-55,
+-83,8,
+12,84,
+147,150,
+-63,-44,
+-6,-123,
+-158,-75,
+-70,-233,
+75,-226,
+12,27,
+-29,75,
+137,-109,
+-115,281,
+0,-177,
+98,20,
+67,188,
+-139,17,
+-150,-126,
+-43,-85,
+32,-195,
+218,0,
+-64,-84,
+-42,129,
+23,43,
+-177,41,
+-102,-141,
+-67,-68,
+169,-119,
+162,-127,
+-23,223,
+-93,-128,
+21,-42,
+49,103,
+-91,46,
+-41,-62,
+114,-102,
+-98,191,
+250,-135,
+-74,252,
+44,156,
+-151,-24,
+-5,-226,
+77,-15,
+162,216,
+127,-117,
+-65,-197,
+-45,-55,
+132,-4,
+195,-32,
+-20,-9,
+65,-106,
+-31,105,
+152,-23,
+103,-140,
+-236,-133,
+6,-54,
+-31,149,
+-192,257,
+29,-81,
+80,-48,
+-68,-77,
+-90,-8,
+-53,-177,
+94,25,
+-55,78,
+73,-39,
+-99,-1,
+256,10,
+-64,-133,
+-32,-30,
+-9,-111,
+-116,214,
+173,72,
+-32,66,
+164,-53,
+-45,-44,
+213,-21,
+185,95,
+-134,-50,
+-217,16,
+-257,77,
+-34,-111,
+-132,-129,
+-215,215,
+156,115,
+91,-231,
+15,92,
+25,109,
+-92,101,
+-56,166,
+82,-140,
+86,-17,
+28,3,
+-254,-60,
+106,22,
+54,8,
+101,-68,
+-73,-42,
+-12,84,
+-157,-83,
+56,107,
+39,-159,
+-70,5,
+241,95,
+105,-280,
+5,140,
+142,71,
+-71,-198,
+-180,-39,
+139,53,
+15,32,
+-22,-109,
+-80,-136,
+-316,8,
+-195,172,
+-76,14,
+-40,-8,
+-140,79,
+-22,157,
+71,27,
+-102,-29,
+50,-154,
+157,-1,
+-49,102,
+-59,-171,
+-45,-165,
+129,36,
+-151,223,
+-204,0,
+114,121,
+-137,-68,
+-79,-153,
+-277,-64,
+96,-7,
+-19,23,
+-115,13,
+71,24,
+-108,115,
+-60,4,
+26,145,
+142,56,
+132,-11,
+-13,69,
+-169,-1,
+138,-40,
+53,-83,
+201,-62,
+194,-79,
+-149,180,
+-295,9,
+207,-102,
+69,25,
+-99,43,
+3,153,
+24,-139,
+319,226,
+43,50,
+-78,-47,
+-33,-56,
+39,-133,
+-187,-13,
+-60,100,
+174,-54,
+181,175,
+-96,21,
+-109,-72,
+77,87,
+28,-12,
+2,0,
+-246,-34,
+-2,62,
+-150,49,
+-31,175,
+-43,-109,
+-178,119,
+-333,72,
+-96,9,
+-15,-3,
+-34,20,
+108,-128,
+127,-126,
+67,-71,
+151,-136,
+41,-179,
+159,-89,
+144,-17,
+-62,-66,
+106,67,
+-79,50,
+14,89,
+187,-63,
+-7,68,
+-9,55,
+-153,52,
+-144,-17,
+55,241,
+37,-86,
+75,78,
+-105,260,
+-93,252,
+-140,-233,
+3,65,
+-251,116,
+221,-31,
+-209,-99,
+-8,-132,
+30,-24,
+-86,-31,
+34,108,
+68,68,
+82,-37,
+92,48,
+209,-3,
+9,-122,
+142,-277,
+-127,-28,
+27,-73,
+-41,130,
+167,-229,
+17,89,
+130,-18,
+50,-27,
+-98,164,
+18,-78,
+-42,169,
+-128,-127,
+91,-260,
+-4,-113,
+116,92,
+-53,49,
+36,-34,
+-14,36,
+29,-86,
+28,-26,
+30,-20,
+26,201,
+-166,186,
+60,37,
+275,-144,
+4,143,
+-132,-9,
+42,103,
+2,-81,
+28,36,
+118,79,
+-126,23,
+-221,-164,
+-260,74,
+-9,-27,
+-163,104,
+138,140,
+-35,219,
+165,-23,
+-115,39,
+83,-53,
+31,258,
+-67,-7,
+128,15,
+-79,-20,
+-134,-29,
+-22,157,
+100,215,
+81,-11,
+149,164,
+34,-37,
+80,-64,
+-204,-7,
+-197,73,
+-118,-199,
+111,74,
+-156,-65,
+125,-9,
+-55,89,
+235,29,
+-9,-45,
+172,-155,
+-51,-133,
+142,159,
+0,-34,
+51,25,
+70,-37,
+8,-63,
+-30,31,
+-110,-60,
+-132,32,
+201,224,
+-154,-156,
+-31,-190,
+102,70,
+-96,-120,
+12,127,
+93,31,
+-42,39,
+-59,107,
+71,82,
+-156,-138,
+125,-98,
+53,80,
+-172,153,
+-36,-90,
+47,283,
+7,-94,
+-47,-48,
+81,211,
+-47,-6,
+107,-198,
+63,-164,
+125,-35,
+39,-93,
+114,91,
+267,50,
+-33,-121,
+189,-71,
+12,33,
+-253,-35,
+106,69,
+57,-178,
+66,1,
+-231,62,
+-74,-180,
+-36,18,
+54,-4,
+-16,17,
+122,83,
+77,-34,
+58,113,
+-45,89,
+-95,144,
+142,8,
+-35,-97,
+-29,99,
+71,103,
+-48,67,
+22,-175,
+-119,-65,
+-44,0,
+143,81,
+36,-98,
+188,-127,
+95,-35,
+105,104,
+-68,-23,
+-105,-117,
+93,23,
+5,75,
+-144,216,
+122,-165,
+-281,-113,
+-85,-246,
+9,-64,
+-48,-198,
+63,-17,
+-29,-38,
+-75,-61,
+76,-23,
+76,-90,
+-82,17,
+-213,-105,
+-151,7,
+-11,-47,
+-194,-36,
+198,65,
+153,-37,
+-78,-79,
+104,6,
+-151,-91,
+15,74,
+-25,155,
+-91,-116,
+93,23,
+-141,82,
+-81,-135,
+54,-201,
+-42,71,
+154,-12,
+98,-114,
+-131,-102,
+21,-12,
+66,16,
+82,188,
+-56,81,
+214,90,
+143,-29,
+-1,-88,
+-139,133,
+4,-47,
+83,54,
+-70,22,
+21,20,
+-91,173,
+162,3,
+166,-53,
+16,108,
+114,48,
+129,23,
+-30,143,
+92,145,
+-218,-34,
+47,32,
+-163,40,
+30,53,
+136,121,
+-86,33,
+-5,134,
+-177,-21,
+7,99,
+-32,39,
+-16,81,
+30,28,
+61,42,
+249,-9,
+213,1,
+102,6,
+86,122,
+13,-25,
+-82,3,
+-14,-284,
+-24,65,
+169,34,
+24,-14,
+78,-36,
+45,-71,
+55,159,
+-62,-223,
+-54,235,
+112,-70,
+149,-27,
+-17,104,
+37,-35,
+44,-51,
+1,21,
+109,102,
+99,-108,
+-20,31,
+-95,107,
+28,-7,
+281,6,
+32,-77,
+112,11,
+142,106,
+-54,-107,
+61,-77,
+-95,62,
+-42,-143,
+-19,100,
+-26,98,
+80,42,
+-30,163,
+-122,136,
+108,132,
+80,-142,
+-44,-29,
+10,150,
+10,37,
+64,46,
+-83,47,
+27,-16,
+27,51,
+-17,98,
+70,109,
+-79,-26,
+180,-76,
+-202,33,
+141,101,
+-74,-12,
+-91,118,
+158,59,
+-76,78,
+-114,-103,
+-164,-19,
+146,6,
+-17,39,
+60,140,
+11,183,
+-34,178,
+30,139,
+83,-45,
+-8,0,
+105,30,
+33,-108,
+48,-16,
+14,-151,
+164,56,
+-7,30,
+83,31,
+89,-25,
+-72,-196,
+44,105,
+119,-174,
+83,106,
+47,118,
+73,9,
+15,95,
+16,135,
+17,58,
+51,51,
+133,-110,
+-28,36,
+-27,17,
+131,16,
+-74,-88,
+38,-65,
+-23,207,
+-14,88,
+179,27,
+75,7,
+44,122,
+-13,-71,
+-72,-18,
+-131,39,
+47,78,
+9,89,
+-140,-84,
+-111,-25,
+75,-17,
+-24,-115,
+-20,99,
+52,-62,
+85,-112,
+-34,113,
+-77,-143,
+11,56,
+-44,144,
+1,27,
+45,7,
+-69,-138,
+-43,-41,
+39,-183,
+-124,-89,
+28,114,
+-46,-1,
+-70,-31,
+15,13,
+-61,-42,
+-87,55,
+-145,-17,
+-43,-154,
+-247,-18,
+27,-129,
+49,53,
+126,-42,
+-29,14,
+-54,13,
+-30,-101,
+59,46,
+21,172,
+-148,1,
+-29,143,
+40,36,
+15,-24,
+-87,-37,
+-46,-68,
+-49,56,
+153,-14,
+30,-11,
+-63,31,
+11,-1,
+98,35,
+77,-90,
+21,31,
+82,119,
+-57,-4,
+65,61,
+52,-2,
+-134,-4,
+33,-85,
+-30,-79,
+-52,-82,
+21,193,
+-98,-70,
+55,-83,
+20,3,
+-80,50,
+-66,107,
+57,40,
+17,169,
+-28,8,
+-39,19,
+-85,155,
+-177,-49,
+66,48,
+85,26,
+-49,-33,
+45,-6,
+17,78,
+110,-97,
+-24,-57,
+109,50,
+-71,-16,
+-101,35,
+69,-62,
+60,-3,
+5,1,
+82,23,
+-31,-5,
+61,9,
+-67,-11,
+-79,-12,
+-46,4,
+35,-48,
+104,81,
+-53,-140,
+-38,-49,
+45,90,
+-63,-18,
+-29,10,
+98,97,
+-45,-45,
+16,86,
+-104,5,
+-81,96,
+92,-2,
+12,144,
+-36,-110,
+59,54,
+-83,-21,
+-4,-27,
+-26,-144,
+25,-62,
+-57,-32,
+25,99,
+10,27,
+88,66,
+52,60,
+99,-18,
+19,-90,
+-52,4,
+2,1,
+76,30,
+4,-13,
+117,10,
+-85,43,
+38,-66,
+103,145,
+94,-61,
+3,3,
+72,-63,
+-56,-82,
+-15,-184,
+-21,3,
+48,20,
+9,9,
+0,44,
+-31,-23,
+108,-58,
+-36,31,
+2,101,
+-14,42,
+99,-51,
+96,-46,
+21,62,
+-70,7,
+20,-15,
+-24,36,
+-8,-20,
+36,11,
+37,0,
+-62,83,
+-121,-49,
+-32,0,
+-8,-21,
+99,-43,
+-53,14,
+53,2,
+27,24,
+-79,86,
+49,-4,
+-77,48,
+59,-48,
+-66,18,
+-93,-35,
+-90,107,
+30,29,
+1,59,
+-10,53,
+33,27,
+43,-21,
+0,23,
+-41,-22,
+-14,-49,
+-88,46,
+1,-95,
+85,67,
+-46,-111,
+-16,-22,
+42,-41,
+157,-39,
+-2,-5,
+17,76,
+25,-31,
+77,-39,
+-39,-46,
+48,-56,
+26,61,
+-15,30,
+-2,16,
+79,5,
+-23,-33,
+-6,58,
+-1,9,
+-49,57,
+-75,76,
+-38,-10,
+-42,68,
+-58,60,
+-26,2,
+-15,21,
+3,-4,
+12,-75,
+35,-88,
+1,-92,
+42,-17,
+-24,-15,
+79,-21,
+10,-80,
+-24,1,
+-4,-74,
+37,41,
+-31,34,
+16,-54,
+21,-35,
+-5,75,
+68,68,
+-19,-48,
+-6,-29,
+-5,-16,
+-66,-5,
+-10,-26,
+64,33,
+-4,56,
+46,95,
+-27,-70,
+70,-23,
+-16,78,
+-39,-12,
+29,-41,
+23,-62,
+12,40,
+-49,87,
+-16,47,
+-17,-27,
+6,22,
+9,-46,
+13,33,
+15,84,
+29,-10,
+42,-47,
+-9,28,
+40,-40,
+0,-9,
+-13,14,
+25,-26,
+-35,-15,
+-58,-100,
+10,27,
+-3,-23,
+39,-28,
+39,-47,
+35,2,
+-72,45,
+-32,-69,
+16,6,
+2,57,
+-34,-7,
+-31,-13,
+30,15,
+34,-6,
+28,-45,
+-7,-9,
+16,-12,
+30,-88,
+19,-48,
+-43,-52,
+-40,-15,
+16,49,
+27,-16,
+-45,-20,
+-19,-9,
+15,2,
+-8,30,
+8,37,
+-54,21,
+27,33,
+3,-15,
+-63,0,
+64,4,
+-16,-53,
+-25,16,
+15,4,
+-8,38,
+-21,-12,
+26,-12,
+-16,-45,
+-35,54,
+30,16,
+-18,-32,
+40,2,
+61,-9,
+-35,0,
+-13,45,
+20,4,
+32,-21,
+-9,-45,
+-31,-19,
+8,-29,
+12,-88,
+-4,-4,
+-2,40,
+20,25,
+-23,32,
+-11,-14,
+11,47,
+37,-14,
+5,19,
+28,-26,
+-49,-16,
+-8,29,
+3,-10,
+-11,43,
+0,-29,
+18,11,
+-6,8,
+-20,3,
+-22,-37,
+8,0,
+-37,20,
+11,-17,
+31,-13,
+36,-11,
+-5,-23,
+-36,-5,
+-22,-13,
+4,31,
+-1,22,
+7,-29,
+-23,27,
+3,26,
+3,19,
+-19,-2,
+-32,-9,
+-10,12,
+17,37,
+19,14,
+-47,-13,
+-18,-2,
+60,-26,
+-1,31,
+19,-8,
+-2,30,
+9,-13,
+-29,3,
+20,-6,
+16,-6,
+-23,10,
+12,-11,
+-3,-11,
+9,28,
+-26,26,
+-21,-6,
+-1,-30,
+-12,-2,
+18,-16,
+8,-5,
+6,11,
+-26,1,
+0,26,
+-28,-10,
+-19,-29,
+16,-9,
+15,7,
+-8,10,
+12,-5,
+-11,3,
+27,-8,
+-9,14,
+0,0,
+-13,-3,
+-36,2,
+-14,-14,
+-1,-21,
+-14,17,
+13,2,
+25,2,
+-15,-4,
+-1,-6,
+9,-2,
+-25,12,
+13,13,
+-1,5,
+4,7,
+-14,-17,
+16,6,
+2,-2,
+0,-7,
+-17,6,
+-17,1,
+-6,-13,
+9,-4,
+4,-3,
+-6,-4,
+-6,-22,
+4,23,
+-10,-19,
+-3,4,
+-5,-10,
+20,4,
+8,-14,
+-5,8,
+-9,-5,
+-5,7,
+21,-3,
+3,-13,
+8,2,
+9,2,
+7,-9,
+-9,0,
+-1,9,
+1,-14,
+-18,-8,
+-3,6,
+-10,2,
+7,2,
+3,4,
+1,8,
+1,0,
+0,5,
+1,-9,
+-1,-4,
+0,9,
+2,-6,
+-3,2,
+0,4,
+4,-3,
+-4,-4,
+-2,10,
+4,-4,
+1,6,
+3,11,
+2,-3,
+4,3,
+-3,5,
+0,-6,
+0,-1,
+2,5,
+1,-7,
+3,0,
+0,7,
+1,-4,
+1,0,
+0,6,
+-2,-5,
+0,0,
+1,5,
+0,-5,
+0,0,
+0,5,
+1,-5,
+0,0,
+-2,5,
+0,-6,
+1,0,
+1,4,
+0,-7,
+3,0,
+1,7,
+2,-5,
+0,1,
+0,6,
+-3,-5,
+4,-3,
+2,3,
+3,-11,
+1,-6,
+4,4,
+-2,-10,
+-4,4,
+4,3,
+0,-4,
+-3,-2,
+2,6,
+0,-9,
+-1,4,
+1,9,
+0,-5,
+1,0,
+1,-8,
+3,-4,
+7,-2,
+-10,-2,
+-3,-6,
+-18,8,
+1,14,
+-1,-9,
+-9,0,
+7,9,
+9,-2,
+8,-2,
+3,13,
+21,3,
+-5,-7,
+-9,5,
+-5,-8,
+8,14,
+20,-4,
+-5,10,
+-3,-4,
+-10,19,
+4,-23,
+-6,22,
+-6,4,
+4,3,
+9,4,
+-6,13,
+-17,-1,
+-17,-6,
+0,7,
+2,2,
+16,-6,
+-14,17,
+4,-7,
+-1,-5,
+13,-13,
+-25,-12,
+9,2,
+-1,6,
+-15,4,
+25,-2,
+13,-2,
+-14,-17,
+-1,21,
+-14,14,
+-36,-2,
+-13,3,
+0,0,
+-9,-14,
+27,8,
+-11,-3,
+12,5,
+-8,-10,
+15,-7,
+16,9,
+-19,29,
+-28,10,
+0,-26,
+-26,-1,
+6,-11,
+8,5,
+18,16,
+-12,2,
+-1,30,
+-21,6,
+-26,-26,
+9,-28,
+-3,11,
+12,11,
+-23,-10,
+16,6,
+20,6,
+-29,-3,
+9,13,
+-2,-30,
+19,8,
+-1,-31,
+60,26,
+-18,2,
+-47,13,
+19,-14,
+17,-37,
+-10,-12,
+-32,9,
+-19,2,
+3,-19,
+3,-26,
+-23,-27,
+7,29,
+-1,-22,
+4,-31,
+-22,13,
+-36,5,
+-5,23,
+36,11,
+31,13,
+11,17,
+-37,-20,
+8,0,
+-22,37,
+-20,-3,
+-6,-8,
+18,-11,
+0,29,
+-11,-43,
+3,10,
+-8,-29,
+-49,16,
+28,26,
+5,-19,
+37,14,
+11,-47,
+-11,14,
+-23,-32,
+20,-25,
+-2,-40,
+-4,4,
+12,88,
+8,29,
+-31,19,
+-9,45,
+32,21,
+20,-4,
+-13,-45,
+-35,0,
+61,9,
+40,-2,
+-18,32,
+30,-16,
+-35,-54,
+-16,45,
+26,12,
+-21,12,
+-8,-38,
+15,-4,
+-25,-16,
+-16,53,
+64,-4,
+-63,0,
+3,15,
+27,-33,
+-54,-21,
+8,-37,
+-8,-30,
+15,-2,
+-19,9,
+-45,20,
+27,16,
+16,-49,
+-40,15,
+-43,52,
+19,48,
+30,88,
+16,12,
+-7,9,
+28,45,
+34,6,
+30,-15,
+-31,13,
+-34,7,
+2,-57,
+16,-6,
+-32,69,
+-72,-45,
+35,-2,
+39,47,
+39,28,
+-3,23,
+10,-27,
+-58,100,
+-35,15,
+25,26,
+-13,-14,
+0,9,
+40,40,
+-9,-28,
+42,47,
+29,10,
+15,-84,
+13,-33,
+9,46,
+6,-22,
+-17,27,
+-16,-47,
+-49,-87,
+12,-40,
+23,62,
+29,41,
+-39,12,
+-16,-78,
+70,23,
+-27,70,
+46,-95,
+-4,-56,
+64,-33,
+-10,26,
+-66,5,
+-5,16,
+-6,29,
+-19,48,
+68,-68,
+-5,-75,
+21,35,
+16,54,
+-31,-34,
+37,-41,
+-4,74,
+-24,-1,
+10,80,
+79,21,
+-24,15,
+42,17,
+1,92,
+35,88,
+12,75,
+3,4,
+-15,-21,
+-26,-2,
+-58,-60,
+-42,-68,
+-38,10,
+-75,-76,
+-49,-57,
+-1,-9,
+-6,-58,
+-23,33,
+79,-5,
+-2,-16,
+-15,-30,
+26,-61,
+48,56,
+-39,46,
+77,39,
+25,31,
+17,-76,
+-2,5,
+157,39,
+42,41,
+-16,22,
+-46,111,
+85,-67,
+1,95,
+-88,-46,
+-14,49,
+-41,22,
+0,-23,
+43,21,
+33,-27,
+-10,-53,
+1,-59,
+30,-29,
+-90,-107,
+-93,35,
+-66,-18,
+59,48,
+-77,-48,
+49,4,
+-79,-86,
+27,-24,
+53,-2,
+-53,-14,
+99,43,
+-8,21,
+-32,0,
+-121,49,
+-62,-83,
+37,0,
+36,-11,
+-8,20,
+-24,-36,
+20,15,
+-70,-7,
+21,-62,
+96,46,
+99,51,
+-14,-42,
+2,-101,
+-36,-31,
+108,58,
+-31,23,
+0,-44,
+9,-9,
+48,-20,
+-21,-3,
+-15,184,
+-56,82,
+72,63,
+3,-3,
+94,61,
+103,-145,
+38,66,
+-85,-43,
+117,-10,
+4,13,
+76,-30,
+2,-1,
+-52,-4,
+19,90,
+99,18,
+52,-60,
+88,-66,
+10,-27,
+25,-99,
+-57,32,
+25,62,
+-26,144,
+-4,27,
+-83,21,
+59,-54,
+-36,110,
+12,-144,
+92,2,
+-81,-96,
+-104,-5,
+16,-86,
+-45,45,
+98,-97,
+-29,-10,
+-63,18,
+45,-90,
+-38,49,
+-53,140,
+104,-81,
+35,48,
+-46,-4,
+-79,12,
+-67,11,
+61,-9,
+-31,5,
+82,-23,
+5,-1,
+60,3,
+69,62,
+-101,-35,
+-71,16,
+109,-50,
+-24,57,
+110,97,
+17,-78,
+45,6,
+-49,33,
+85,-26,
+66,-48,
+-177,49,
+-85,-155,
+-39,-19,
+-28,-8,
+17,-169,
+57,-40,
+-66,-107,
+-80,-50,
+20,-3,
+55,83,
+-98,70,
+21,-193,
+-52,82,
+-30,79,
+33,85,
+-134,4,
+52,2,
+65,-61,
+-57,4,
+82,-119,
+21,-31,
+77,90,
+98,-35,
+11,1,
+-63,-31,
+30,11,
+153,14,
+-49,-56,
+-46,68,
+-87,37,
+15,24,
+40,-36,
+-29,-143,
+-148,-1,
+21,-172,
+59,-46,
+-30,101,
+-54,-13,
+-29,-14,
+126,42,
+49,-53,
+27,129,
+-247,18,
+-43,154,
+-145,17,
+-87,-55,
+-61,42,
+15,-13,
+-70,31,
+-46,1,
+28,-114,
+-124,89,
+39,183,
+-43,41,
+-69,138,
+45,-7,
+1,-27,
+-44,-144,
+11,-56,
+-77,143,
+-34,-113,
+85,112,
+52,62,
+-20,-99,
+-24,115,
+75,17,
+-111,25,
+-140,84,
+9,-89,
+47,-78,
+-131,-39,
+-72,18,
+-13,71,
+44,-122,
+75,-7,
+179,-27,
+-14,-88,
+-23,-207,
+38,65,
+-74,88,
+131,-16,
+-27,-17,
+-28,-36,
+133,110,
+51,-51,
+17,-58,
+16,-135,
+15,-95,
+73,-9,
+47,-118,
+83,-106,
+119,174,
+44,-105,
+-72,196,
+89,25,
+83,-31,
+-7,-30,
+164,-56,
+14,151,
+48,16,
+33,108,
+105,-30,
+-8,0,
+83,45,
+30,-139,
+-34,-178,
+11,-183,
+60,-140,
+-17,-39,
+146,-6,
+-164,19,
+-114,103,
+-76,-78,
+158,-59,
+-91,-118,
+-74,12,
+141,-101,
+-202,-33,
+180,76,
+-79,26,
+70,-109,
+-17,-98,
+27,-51,
+27,16,
+-83,-47,
+64,-46,
+10,-37,
+10,-150,
+-44,29,
+80,142,
+108,-132,
+-122,-136,
+-30,-163,
+80,-42,
+-26,-98,
+-19,-100,
+-42,143,
+-95,-62,
+61,77,
+-54,107,
+142,-106,
+112,-11,
+32,77,
+281,-6,
+28,7,
+-95,-107,
+-20,-31,
+99,108,
+109,-102,
+1,-21,
+44,51,
+37,35,
+-17,-104,
+149,27,
+112,70,
+-54,-235,
+-62,223,
+55,-159,
+45,71,
+78,36,
+24,14,
+169,-34,
+-24,-65,
+-14,284,
+-82,-3,
+13,25,
+86,-122,
+102,-6,
+213,-1,
+249,9,
+61,-42,
+30,-28,
+-16,-81,
+-32,-39,
+7,-99,
+-177,21,
+-5,-134,
+-86,-33,
+136,-121,
+30,-53,
+-163,-40,
+47,-32,
+-218,34,
+92,-145,
+-30,-143,
+129,-23,
+114,-48,
+16,-108,
+166,53,
+162,-3,
+-91,-173,
+21,-20,
+-70,-22,
+83,-54,
+4,47,
+-139,-133,
+-1,88,
+143,29,
+214,-90,
+-56,-81,
+82,-188,
+66,-16,
+21,12,
+-131,102,
+98,114,
+154,12,
+-42,-71,
+54,201,
+-81,135,
+-141,-82,
+93,-23,
+-91,116,
+-25,-155,
+15,-74,
+-151,91,
+104,-6,
+-78,79,
+153,37,
+198,-65,
+-194,36,
+-11,47,
+-151,-7,
+-213,105,
+-82,-17,
+76,90,
+76,23,
+-75,61,
+-29,38,
+63,17,
+-48,198,
+9,64,
+-85,246,
+-281,113,
+122,165,
+-144,-216,
+5,-75,
+93,-23,
+-105,117,
+-68,23,
+105,-104,
+95,35,
+188,127,
+36,98,
+143,-81,
+-44,0,
+-119,65,
+22,175,
+-48,-67,
+71,-103,
+-29,-99,
+-35,97,
+142,-8,
+-95,-144,
+-45,-89,
+58,-113,
+77,34,
+122,-83,
+-16,-17,
+54,4,
+-36,-18,
+-74,180,
+-231,-62,
+66,-1,
+57,178,
+106,-69,
+-253,35,
+12,-33,
+189,71,
+-33,121,
+267,-50,
+114,-91,
+39,93,
+125,35,
+63,164,
+107,198,
+-47,6,
+81,-211,
+-47,48,
+7,94,
+47,-283,
+-36,90,
+-172,-153,
+53,-80,
+125,98,
+-156,138,
+71,-82,
+-59,-107,
+-42,-39,
+93,-31,
+12,-127,
+-96,120,
+102,-70,
+-31,190,
+-154,156,
+201,-224,
+-132,-32,
+-110,60,
+-30,-31,
+8,63,
+70,37,
+51,-25,
+0,34,
+142,-159,
+-51,133,
+172,155,
+-9,45,
+235,-29,
+-55,-89,
+125,9,
+-156,65,
+111,-74,
+-118,199,
+-197,-73,
+-204,7,
+80,64,
+34,37,
+149,-164,
+81,11,
+100,-215,
+-22,-157,
+-134,29,
+-79,20,
+128,-15,
+-67,7,
+31,-258,
+83,53,
+-115,-39,
+165,23,
+-35,-219,
+138,-140,
+-163,-104,
+-9,27,
+-260,-74,
+-221,164,
+-126,-23,
+118,-79,
+28,-36,
+2,81,
+42,-103,
+-132,9,
+4,-143,
+275,144,
+60,-37,
+-166,-186,
+26,-201,
+30,20,
+28,26,
+29,86,
+-14,-36,
+36,34,
+-53,-49,
+116,-92,
+-4,113,
+91,260,
+-128,127,
+-42,-169,
+18,78,
+-98,-164,
+50,27,
+130,18,
+17,-89,
+167,229,
+-41,-130,
+27,73,
+-127,28,
+142,277,
+9,122,
+209,3,
+92,-48,
+82,37,
+68,-68,
+34,-108,
+-86,31,
+30,24,
+-8,132,
+-209,99,
+221,31,
+-251,-116,
+3,-65,
+-140,233,
+-93,-252,
+-105,-260,
+75,-78,
+37,86,
+55,-241,
+-144,17,
+-153,-52,
+-9,-55,
+-7,-68,
+187,63,
+14,-89,
+-79,-50,
+106,-67,
+-62,66,
+144,17,
+159,89,
+41,179,
+151,136,
+67,71,
+127,126,
+108,128,
+-34,-20,
+-15,3,
+-96,-9,
+-333,-72,
+-178,-119,
+-43,109,
+-31,-175,
+-150,-49,
+-2,-62,
+-246,34,
+2,0,
+28,12,
+77,-87,
+-109,72,
+-96,-21,
+181,-175,
+174,54,
+-60,-100,
+-187,13,
+39,133,
+-33,56,
+-78,47,
+43,-50,
+319,-226,
+24,139,
+3,-153,
+-99,-43,
+69,-25,
+207,102,
+-295,-9,
+-149,-180,
+194,79,
+201,62,
+53,83,
+138,40,
+-169,1,
+-13,-69,
+132,11,
+142,-56,
+26,-145,
+-60,-4,
+-108,-115,
+71,-24,
+-115,-13,
+-19,-23,
+96,7,
+-277,64,
+-79,153,
+-137,68,
+114,-121,
+-204,0,
+-151,-223,
+129,-36,
+-45,165,
+-59,171,
+-49,-102,
+157,1,
+50,154,
+-102,29,
+71,-27,
+-22,-157,
+-140,-79,
+-40,8,
+-76,-14,
+-195,-172,
+-316,-8,
+-80,136,
+-22,109,
+15,-32,
+139,-53,
+-180,39,
+-71,198,
+142,-71,
+5,-140,
+105,280,
+241,-95,
+-70,-5,
+39,159,
+56,-107,
+-157,83,
+-12,-84,
+-73,42,
+101,68,
+54,-8,
+106,-22,
+-254,60,
+28,-3,
+86,17,
+82,140,
+-56,-166,
+-92,-101,
+25,-109,
+15,-92,
+91,231,
+156,-115,
+-215,-215,
+-132,129,
+-34,111,
+-257,-77,
+-217,-16,
+-134,50,
+185,-95,
+213,21,
+-45,44,
+164,53,
+-32,-66,
+173,-72,
+-116,-214,
+-9,111,
+-32,30,
+-64,133,
+256,-10,
+-99,1,
+73,39,
+-55,-78,
+94,-25,
+-53,177,
+-90,8,
+-68,77,
+80,48,
+29,81,
+-192,-257,
+-31,-149,
+6,54,
+-236,133,
+103,140,
+152,23,
+-31,-105,
+65,106,
+-20,9,
+195,32,
+132,4,
+-45,55,
+-65,197,
+127,117,
+162,-216,
+77,15,
+-5,226,
+-151,24,
+44,-156,
+-74,-252,
+250,135,
+-98,-191,
+114,102,
+-41,62,
+-91,-46,
+49,-103,
+21,42,
+-93,128,
+-23,-223,
+162,127,
+169,119,
+-67,68,
+-102,141,
+-177,-41,
+23,-43,
+-42,-129,
+-64,84,
+218,0,
+32,195,
+-43,85,
+-150,126,
+-139,-17,
+67,-188,
+98,-20,
+0,177,
+-115,-281,
+137,109,
+-29,-75,
+12,-27,
+75,226,
+-70,233,
+-158,75,
+-6,123,
+-63,44,
+147,-150,
+12,-84,
+-83,-8,
+-52,55,
+53,37,
+32,-25,
+131,173,
+183,-240,
+-136,123,
+8,22,
+-25,-42,
+-23,-159,
+-48,138,
+64,109,
+-4,194,
+-146,100,
+-40,-128,
+20,-64,
+-255,123,
+106,3,
+-165,16,
+160,47,
+-226,165,
+59,-110,
+-142,-77,
+67,-226,
+-172,55,
+130,274,
+46,-134,
+-107,-128,
+-118,-168,
+16,-51,
+-3,-225,
+-126,6,
+71,43,
+22,46,
+-134,102,
+-165,77,
+68,365,
+80,-82,
+25,21,
+110,-107,
+41,-54,
+236,34,
+-111,-53,
+-138,-16,
+55,32,
+-48,-41,
+70,8,
+12,40,
+28,-30,
+-94,-33,
+118,23,
+-81,120,
+181,-86,
+211,-178,
+149,50,
+176,-228,
+49,-77,
+38,67,
+-106,108,
+15,-125,
+-77,38,
+-99,-202,
+21,-158,
+134,-24,
+104,-26,
+16,-199,
+57,182,
+113,219,
+-115,69,
+77,-284,
+35,-82,
+6,0,
+-139,-1,
+236,162,
+11,38,
+149,38,
+92,-90,
+220,105,
+-73,-15,
+-24,-23,
+-101,-15,
+76,46,
+75,-26,
+-71,56,
+53,-54,
+-26,-101,
+117,1,
+-116,40,
+-73,-56,
+-172,-27,
+-93,-147,
+-164,103,
+-36,125,
+-134,-48,
+-154,187,
+-164,19,
+-213,-5,
+52,-73,
+125,-188,
+48,150,
+89,-231,
+-94,-61,
+-7,40,
+94,-64,
+33,153,
+-161,-230,
+-78,-89,
+306,66,
+-301,50,
+-34,40,
+-56,44,
+84,303,
+125,82,
+-268,-69,
+-17,134,
+-148,-26,
+-64,-164,
+-196,207,
+-32,143,
+-303,89,
+40,3,
+140,162,
+-37,282,
+-252,-215,
+-84,154,
+-11,-152,
+-7,-118,
+37,-114,
+24,86,
+-9,-176,
+-147,-133,
+-227,-249,
+192,123,
+-122,-87,
+-82,166,
+128,-47,
+109,-147,
+100,-190,
+218,9,
+-50,-176,
+257,49,
+-135,-124,
+-14,63,
+-100,-67,
+118,-55,
+-278,-116,
+-119,43,
+138,223,
+16,222,
+48,-71,
+53,-95,
+95,28,
+302,107,
+59,70,
+35,168,
+-51,-19,
+123,-198,
+-57,-6,
+41,-114,
+129,-176,
+-71,-105,
+-22,70,
+227,71,
+113,-96,
+-83,-53,
+95,-80,
+87,127,
+154,78,
+-2,6,
+-249,-23,
+3,127,
+26,-118,
+-95,-79,
+-155,-84,
+-90,193,
+163,55,
+270,-222,
+-123,-80,
+2,-132,
+-173,1,
+-130,-50,
+-51,11,
+-28,79,
+-187,275,
+-36,-24,
+161,-101,
+-36,-79,
+184,-56,
+-189,38,
+-36,31,
+-77,-54,
+43,30,
+-249,131,
+137,-70,
+74,19,
+7,69,
+-9,-39,
+21,89,
+65,-81,
+-102,-26,
+140,34,
+20,176,
+0,-66,
+12,18,
+219,-25,
+-92,-110,
+127,-15,
+12,-138,
+19,-204,
+154,-40,
+-135,159,
+222,-8,
+-142,11,
+123,226,
+5,-63,
+96,-82,
+-233,49,
+-46,35,
+5,-299,
+28,-91,
+180,-17,
+-221,-54,
+11,-54,
+15,147,
+190,-77,
+137,-80,
+66,135,
+164,-353,
+-86,153,
+81,90,
+181,37,
+48,-156,
+-5,201,
+-257,25,
+51,124,
+-17,-95,
+17,-38,
+-14,-231,
+58,30,
+-23,-219,
+-101,131,
+94,-158,
+45,-207,
+34,-60,
+47,-82,
+44,52,
+-26,-65,
+-79,237,
+69,-173,
+-14,149,
+3,-159,
+-83,-321,
+-123,61,
+-78,-250,
+-65,283,
+-78,263,
+163,-33,
+-189,198,
+11,-112,
+209,19,
+62,58,
+52,128,
+-92,195,
+-202,-24,
+20,-120,
+105,-169,
+117,-295,
+147,-31,
+-92,1,
+-8,-159,
+123,167,
+-156,117,
+73,-152,
+-119,71,
+-18,-110,
+-71,-70,
+-70,185,
+79,-82,
+66,38,
+92,-192,
+-167,-102,
+-43,-152,
+120,34,
+-57,-100,
+130,-76,
+44,-101,
+-24,-36,
+26,4,
+-133,-48,
+2,-102,
+-6,-118,
+-38,-111,
+-12,-104,
+105,-273,
+-3,-70,
+-148,16,
+-64,88,
+-7,-74,
+-101,182,
+67,-44,
+82,-160,
+31,20,
+4,241,
+-70,-94,
+126,-5,
+-163,221,
+14,-73,
+-67,-151,
+127,139,
+184,53,
+44,118,
+60,-137,
+-168,-81,
+-158,12,
+-20,146,
+-170,46,
+69,-85,
+153,129,
+86,-49,
+-148,-96,
+-107,29,
+287,15,
+-40,44,
+75,-203,
+25,-94,
+26,-66,
+166,-30,
+242,-157,
+-155,1,
+-13,-232,
+-82,5,
+-3,-154,
+-23,63,
+-24,-67,
+-79,-135,
+-168,-216,
+-118,-22,
+9,-290,
+175,-96,
+-32,88,
+57,170,
+-3,232,
+57,-86,
+117,-102,
+-147,5,
+-25,217,
+38,-150,
+-8,29,
+80,-97,
+-83,-138,
+29,58,
+121,-194,
+132,143,
+123,129,
+239,-41,
+-12,10,
+172,-27,
+3,151,
+-120,112,
+-57,107,
+13,117,
+-181,-9,
+-149,214,
+25,-20,
+-109,-42,
+88,145,
+-135,161,
+-18,-131,
+-136,6,
+-271,108,
+55,-89,
+133,40,
+-69,-4,
+130,-183,
+157,-34,
+-69,90,
+59,95,
+48,19,
+25,12,
+71,223,
+-171,99,
+-128,98,
+-56,-135,
+-8,-31,
+110,-30,
+-188,8,
+-83,170,
+-66,53,
+46,-17,
+154,94,
+8,-323,
+-209,101,
+150,-116,
+16,-204,
+-52,100,
+109,43,
+-97,47,
+-125,69,
+26,140,
+-113,78,
+-71,-75,
+-67,-42,
+-20,-38,
+99,-6,
+-52,25,
+74,-40,
+168,-148,
+-8,24,
+-143,185,
+-320,160,
+40,-155,
+66,54,
+-217,-39,
+105,-155,
+98,179,
+-206,-38,
+79,174,
+-6,-30,
+-10,-45,
+-131,94,
+66,-46,
+-164,-1,
+30,-17,
+153,11,
+77,-311,
+17,-60,
+-64,62,
+-70,32,
+-125,-107,
+50,113,
+-28,-200,
+-3,-53,
+-58,34,
+-247,80,
+24,-6,
+-2,57,
+-176,45,
+100,156,
+41,-69,
+39,11,
+32,-109,
+65,54,
+88,7,
+43,60,
+-134,-80,
+-174,-41,
+-48,-54,
+-123,-40,
+72,104,
+30,7,
+162,52,
+44,-101,
+-92,-54,
+-122,31,
+21,-132,
+-137,-54,
+28,-54,
+165,44,
+2,127,
+-37,-249,
+-14,-233,
+-218,-53,
+86,126,
+-113,-119,
+154,-2,
+-130,-73,
+-16,-3,
+149,-29,
+221,129,
+-110,173,
+82,35,
+40,19,
+45,42,
+-117,-91,
+109,-236,
+162,109,
+127,-7,
+-72,-113,
+-145,8,
+-48,148,
+112,-10,
+-5,-5,
+-185,101,
+47,32,
+-109,5,
+140,1,
+-47,-63,
+-54,2,
+107,17,
+109,-27,
+-75,7,
+26,49,
+-37,17,
+107,47,
+135,194,
+-102,57,
+31,-174,
+31,103,
+-86,-209,
+95,155,
+45,-115,
+17,-76,
+-127,-147,
+-90,4,
+-30,-46,
+-71,-143,
+13,-25,
+-63,-53,
+178,-150,
+-74,60,
+-73,94,
+9,-189,
+-134,-163,
+24,144,
+-141,215,
+27,-71,
+162,-127,
+39,-11,
+-36,37,
+10,-154,
+117,27,
+-131,-18,
+-118,-33,
+-42,48,
+57,4,
+-45,-187,
+38,47,
+-61,-125,
+42,-126,
+130,-38,
+-75,126,
+68,-34,
+-129,0,
+71,65,
+-152,8,
+-188,68,
+-88,-58,
+-56,38,
+40,175,
+-45,0,
+-25,186,
+-28,39,
+4,51,
+-82,-154,
+80,-260,
+-38,-52,
+6,86,
+-193,190,
+-112,48,
+150,-130,
+-48,-228,
+-46,46,
+94,214,
+144,40,
+-16,-82,
+191,52,
+73,78,
+1,2,
+-32,75,
+-37,-49,
+-47,-16,
+-2,-38,
+6,127,
+-139,10,
+-9,-131,
+83,-29,
+-132,-60,
+99,133,
+-6,11,
+-91,139,
+-135,-16,
+-115,131,
+14,22,
+137,12,
+69,39,
+-37,-94,
+91,-20,
+96,95,
+-72,94,
+61,-27,
+-40,105,
+57,54,
+115,52,
+73,180,
+115,51,
+80,13,
+13,105,
+67,-109,
+44,37,
+100,84,
+-25,37,
+-55,12,
+-25,65,
+54,103,
+46,27,
+20,-81,
+143,-177,
+-34,-84,
+155,82,
+8,-70,
+47,46,
+-118,-25,
+-60,-2,
+-3,-68,
+71,-67,
+59,39,
+-126,-49,
+50,-45,
+7,-14,
+31,-29,
+68,132,
+38,76,
+-63,91,
+28,54,
+198,124,
+36,-65,
+-191,2,
+-149,57,
+88,-22,
+121,-191,
+122,-73,
+-86,123,
+-198,-98,
+-150,40,
+13,-30,
+137,-39,
+-5,-17,
+187,4,
+20,-50,
+55,39,
+37,-123,
+-75,-179,
+104,-50,
+45,-73,
+-60,62,
+47,-128,
+62,99,
+-13,13,
+-144,41,
+-8,24,
+-107,-77,
+-19,52,
+-65,0,
+27,-15,
+15,-126,
+-17,-50,
+-54,18,
+-1,80,
+-80,-73,
+38,48,
+-89,134,
+-85,1,
+168,-53,
+162,-97,
+-185,46,
+-129,-120,
+96,-28,
+9,40,
+-94,-47,
+-39,137,
+-40,-98,
+-94,-40,
+-42,8,
+-4,-89,
+-84,-109,
+-139,14,
+71,93,
+-122,-49,
+117,59,
+-162,-21,
+8,-50,
+15,69,
+105,-14,
+87,84,
+-9,85,
+31,-133,
+16,39,
+-21,87,
+9,14,
+-8,-2,
+-22,23,
+-23,-53,
+6,115,
+45,-125,
+47,-52,
+5,-17,
+10,59,
+77,-10,
+31,-123,
+-103,-35,
+32,68,
+10,147,
+-77,36,
+-144,-27,
+64,-47,
+28,132,
+-8,-56,
+132,24,
+108,84,
+-35,146,
+-35,-53,
+45,-11,
+-130,-35,
+26,119,
+31,-153,
+-16,22,
+-190,-94,
+-93,-34,
+-17,66,
+104,52,
+-34,20,
+-117,-23,
+22,-90,
+-53,1,
+-34,-85,
+-7,10,
+-48,116,
+75,70,
+19,-71,
+4,57,
+-48,-120,
+-39,-110,
+-6,-27,
+-32,-30,
+78,58,
+-26,92,
+-17,-28,
+-59,5,
+52,127,
+-12,-73,
+117,-18,
+1,-1,
+-18,-67,
+69,-51,
+48,-95,
+-126,-11,
+11,39,
+-53,-33,
+11,-29,
+-16,-77,
+67,-4,
+-92,-25,
+-105,66,
+-80,107,
+56,-36,
+-48,-22,
+18,-38,
+3,-3,
+12,-90,
+1,101,
+-3,-67,
+153,-34,
+-78,33,
+22,12,
+-23,-37,
+-61,-33,
+35,30,
+0,-115,
+137,-191,
+25,92,
+-100,56,
+-29,9,
+42,53,
+-30,-32,
+-14,39,
+-14,-25,
+-46,-105,
+23,22,
+115,-42,
+14,-72,
+-2,6,
+109,-15,
+-53,8,
+-50,42,
+-17,-12,
+-101,-7,
+37,-60,
+-125,86,
+65,59,
+60,-58,
+4,-74,
+68,-9,
+-13,-58,
+-79,83,
+14,-49,
+-18,-118,
+96,4,
+74,-44,
+52,39,
+-33,61,
+60,-44,
+78,30,
+-77,64,
+-46,24,
+2,30,
+-34,28,
+21,8,
+21,-70,
+-14,-122,
+-18,-18,
+38,27,
+85,-100,
+-23,73,
+11,-44,
+46,-91,
+76,-34,
+-16,-27,
+82,-33,
+72,-35,
+15,11,
+56,14,
+-56,100,
+15,14,
+70,103,
+0,69,
+22,28,
+-93,14,
+11,9,
+-32,-40,
+-81,60,
+63,4,
+-9,-54,
+52,9,
+-55,-14,
+-26,52,
+59,23,
+135,-36,
+5,59,
+-71,19,
+-36,30,
+-115,-51,
+-21,-82,
+-80,-33,
+-28,4,
+1,-24,
+14,-14,
+-118,20,
+23,-94,
+-83,24,
+-28,45,
+-22,77,
+-14,26,
+-73,10,
+-28,-15,
+-40,74,
+50,13,
+-8,32,
+-46,-84,
+11,11,
+8,111,
+10,-28,
+-11,-20,
+64,-40,
+22,-49,
+-69,-52,
+-1,-15,
+-15,66,
+79,35,
+9,46,
+-41,23,
+-14,-77,
+53,31,
+18,-31,
+-25,26,
+48,-22,
+60,12,
+-99,47,
+4,-2,
+51,-11,
+5,-19,
+-25,-20,
+72,-46,
+-75,-8,
+-78,38,
+-34,2,
+-39,-24,
+-57,12,
+-12,-21,
+-25,-12,
+-16,-32,
+16,20,
+-42,20,
+-57,-1,
+26,48,
+-43,-14,
+-24,-3,
+-43,-19,
+-37,-29,
+-60,72,
+80,2,
+-30,-24,
+1,-10,
+20,-27,
+-70,1,
+19,-42,
+34,34,
+-1,-31,
+13,19,
+-26,7,
+-32,-20,
+-44,83,
+-90,38,
+-30,-45,
+14,-7,
+26,-40,
+65,-26,
+12,81,
+-23,28,
+34,-22,
+-35,19,
+74,-35,
+49,27,
+22,-24,
+58,-43,
+-122,-19,
+-14,-18,
+-22,-23,
+-61,23,
+77,1,
+-28,-11,
+30,-16,
+-11,21,
+8,9,
+-53,0,
+-38,35,
+-12,-1,
+-45,-9,
+41,-10,
+-71,8,
+-18,7,
+-32,-10,
+6,20,
+-22,-27,
+71,-12,
+-1,-53,
+-11,44,
+-12,43,
+64,-5,
+-39,16,
+10,5,
+-47,39,
+14,25,
+-4,37,
+-4,33,
+22,-48,
+-28,12,
+-1,-17,
+-27,39,
+-51,4,
+-19,-43,
+37,-8,
+-37,-20,
+-1,38,
+39,-15,
+13,29,
+-9,-30,
+33,50,
+2,-23,
+-59,20,
+-15,27,
+-13,-22,
+-19,32,
+-3,7,
+-7,25,
+5,-14,
+12,18,
+30,8,
+-25,6,
+2,-15,
+-2,26,
+12,-10,
+0,-8,
+2,42,
+3,-12,
+2,-7,
+20,-25,
+-9,14,
+-6,-37,
+16,5,
+-7,-15,
+-26,39,
+-12,1,
+9,-3,
+18,-19,
+44,-22,
+-14,0,
+-8,-24,
+3,-22,
+-10,-23,
+-43,18,
+-3,7,
+-6,44,
+17,-5,
+21,-49,
+-47,1,
+2,11,
+15,-28,
+-3,-7,
+-7,-13,
+28,11,
+1,39,
+-1,-8,
+-11,-6,
+-10,24,
+1,23,
+21,-3,
+-19,-1,
+-33,9,
+4,5,
+-19,4,
+-18,-1,
+3,11,
+11,-11,
+16,24,
+12,20,
+3,26,
+-15,2,
+0,-4,
+18,20,
+30,3,
+6,-16,
+-14,-13,
+-12,-14,
+6,15,
+-12,-24,
+7,8,
+-15,-1,
+1,27,
+-16,-4,
+-6,20,
+-22,19,
+1,-2,
+6,-3,
+11,3,
+-17,-11,
+7,7,
+-33,-25,
+-7,-7,
+7,16,
+-6,-6,
+-24,-4,
+12,9,
+-15,-15,
+7,-20,
+6,1,
+21,11,
+-1,-7,
+1,-4,
+23,-21,
+0,-2,
+-1,-10,
+-2,-4,
+0,-14,
+6,2,
+2,-10,
+12,12,
+16,6,
+-9,-23,
+6,7,
+9,-1,
+-13,4,
+-4,-9,
+0,0,
+5,7,
+-6,-2,
+-1,-1,
+-2,-1,
+-10,6,
+10,4,
+-11,0,
+-5,-4,
+13,-10,
+-4,-5,
+1,-2,
+8,-5,
+-2,-1,
+-3,-5,
+1,-3,
+-2,-4,
+-2,0,
+5,-1,
+-4,3,
+-3,-2,
+5,0,
+-2,1,
+-3,1,
+6,0,
+-3,-2,
+-2,1,
+6,1,
+-2,2,
+-3,0,
+6,1,
+-3,0,
+-3,0,
+6,0,
+-3,0,
+-3,0,
+6,-1,
+-3,0,
+-2,-2,
+6,-1,
+-2,-1,
+-3,2,
+6,0,
+-3,-1,
+-2,-1,
+5,0,
+-3,2,
+-4,-3,
+5,1,
+-2,0,
+-2,4,
+1,3,
+-3,5,
+-2,1,
+8,5,
+1,2,
+-4,5,
+13,10,
+-5,4,
+-11,0,
+10,-4,
+-10,-6,
+-2,1,
+-1,1,
+-6,2,
+5,-7,
+0,0,
+-4,9,
+-13,-4,
+9,1,
+6,-7,
+-9,23,
+16,-6,
+12,-12,
+2,10,
+6,-2,
+0,14,
+-2,4,
+-1,10,
+0,2,
+23,21,
+1,4,
+-1,7,
+21,-11,
+6,-1,
+7,20,
+-15,15,
+12,-9,
+-24,4,
+-6,6,
+7,-16,
+-7,7,
+-33,25,
+7,-7,
+-17,11,
+11,-3,
+6,3,
+1,2,
+-22,-19,
+-6,-20,
+-16,4,
+1,-27,
+-15,1,
+7,-8,
+-12,24,
+6,-15,
+-12,14,
+-14,13,
+6,16,
+30,-3,
+18,-20,
+0,4,
+-15,-2,
+3,-26,
+12,-20,
+16,-24,
+11,11,
+3,-11,
+-18,1,
+-19,-4,
+4,-5,
+-33,-9,
+-19,1,
+21,3,
+1,-23,
+-10,-24,
+-11,6,
+-1,8,
+1,-39,
+28,-11,
+-7,13,
+-3,7,
+15,28,
+2,-11,
+-47,-1,
+21,49,
+17,5,
+-6,-44,
+-3,-7,
+-43,-18,
+-10,23,
+3,22,
+-8,24,
+-14,0,
+44,22,
+18,19,
+9,3,
+-12,-1,
+-26,-39,
+-7,15,
+16,-5,
+-6,37,
+-9,-14,
+20,25,
+2,7,
+3,12,
+2,-42,
+0,8,
+12,10,
+-2,-26,
+2,15,
+-25,-6,
+30,-8,
+12,-18,
+5,14,
+-7,-25,
+-3,-7,
+-19,-32,
+-13,22,
+-15,-27,
+-59,-20,
+2,23,
+33,-50,
+-9,30,
+13,-29,
+39,15,
+-1,-38,
+-37,20,
+37,8,
+-19,43,
+-51,-4,
+-27,-39,
+-1,17,
+-28,-12,
+22,48,
+-4,-33,
+-4,-37,
+14,-25,
+-47,-39,
+10,-5,
+-39,-16,
+64,5,
+-12,-43,
+-11,-44,
+-1,53,
+71,12,
+-22,27,
+6,-20,
+-32,10,
+-18,-7,
+-71,-8,
+41,10,
+-45,9,
+-12,1,
+-38,-35,
+-53,0,
+8,-9,
+-11,-21,
+30,16,
+-28,11,
+77,-1,
+-61,-23,
+-22,23,
+-14,18,
+-122,19,
+58,43,
+22,24,
+49,-27,
+74,35,
+-35,-19,
+34,22,
+-23,-28,
+12,-81,
+65,26,
+26,40,
+14,7,
+-30,45,
+-90,-38,
+-44,-83,
+-32,20,
+-26,-7,
+13,-19,
+-1,31,
+34,-34,
+19,42,
+-70,-1,
+20,27,
+1,10,
+-30,24,
+80,-2,
+-60,-72,
+-37,29,
+-43,19,
+-24,3,
+-43,14,
+26,-48,
+-57,1,
+-42,-20,
+16,-20,
+-16,32,
+-25,12,
+-12,21,
+-57,-12,
+-39,24,
+-34,-2,
+-78,-38,
+-75,8,
+72,46,
+-25,20,
+5,19,
+51,11,
+4,2,
+-99,-47,
+60,-12,
+48,22,
+-25,-26,
+18,31,
+53,-31,
+-14,77,
+-41,-23,
+9,-46,
+79,-35,
+-15,-66,
+-1,15,
+-69,52,
+22,49,
+64,40,
+-11,20,
+10,28,
+8,-111,
+11,-11,
+-46,84,
+-8,-32,
+50,-13,
+-40,-74,
+-28,15,
+-73,-10,
+-14,-26,
+-22,-77,
+-28,-45,
+-83,-24,
+23,94,
+-118,-20,
+14,14,
+1,24,
+-28,-4,
+-80,33,
+-21,82,
+-115,51,
+-36,-30,
+-71,-19,
+5,-59,
+135,36,
+59,-23,
+-26,-52,
+-55,14,
+52,-9,
+-9,54,
+63,-4,
+-81,-60,
+-32,40,
+11,-9,
+-93,-14,
+22,-28,
+0,-69,
+70,-103,
+15,-14,
+-56,-100,
+56,-14,
+15,-11,
+72,35,
+82,33,
+-16,27,
+76,34,
+46,91,
+11,44,
+-23,-73,
+85,100,
+38,-27,
+-18,18,
+-14,122,
+21,70,
+21,-8,
+-34,-28,
+2,-30,
+-46,-24,
+-77,-64,
+78,-30,
+60,44,
+-33,-61,
+52,-39,
+74,44,
+96,-4,
+-18,118,
+14,49,
+-79,-83,
+-13,58,
+68,9,
+4,74,
+60,58,
+65,-59,
+-125,-86,
+37,60,
+-101,7,
+-17,12,
+-50,-42,
+-53,-8,
+109,15,
+-2,-6,
+14,72,
+115,42,
+23,-22,
+-46,105,
+-14,25,
+-14,-39,
+-30,32,
+42,-53,
+-29,-9,
+-100,-56,
+25,-92,
+137,191,
+0,115,
+35,-30,
+-61,33,
+-23,37,
+22,-12,
+-78,-33,
+153,34,
+-3,67,
+1,-101,
+12,90,
+3,3,
+18,38,
+-48,22,
+56,36,
+-80,-107,
+-105,-66,
+-92,25,
+67,4,
+-16,77,
+11,29,
+-53,33,
+11,-39,
+-126,11,
+48,95,
+69,51,
+-18,67,
+1,1,
+117,18,
+-12,73,
+52,-127,
+-59,-5,
+-17,28,
+-26,-92,
+78,-58,
+-32,30,
+-6,27,
+-39,110,
+-48,120,
+4,-57,
+19,71,
+75,-70,
+-48,-116,
+-7,-10,
+-34,85,
+-53,-1,
+22,90,
+-117,23,
+-34,-20,
+104,-52,
+-17,-66,
+-93,34,
+-190,94,
+-16,-22,
+31,153,
+26,-119,
+-130,35,
+45,11,
+-35,53,
+-35,-146,
+108,-84,
+132,-24,
+-8,56,
+28,-132,
+64,47,
+-144,27,
+-77,-36,
+10,-147,
+32,-68,
+-103,35,
+31,123,
+77,10,
+10,-59,
+5,17,
+47,52,
+45,125,
+6,-115,
+-23,53,
+-22,-23,
+-8,2,
+9,-14,
+-21,-87,
+16,-39,
+31,133,
+-9,-85,
+87,-84,
+105,14,
+15,-69,
+8,50,
+-162,21,
+117,-59,
+-122,49,
+71,-93,
+-139,-14,
+-84,109,
+-4,89,
+-42,-8,
+-94,40,
+-40,98,
+-39,-137,
+-94,47,
+9,-40,
+96,28,
+-129,120,
+-185,-46,
+162,97,
+168,53,
+-85,-1,
+-89,-134,
+38,-48,
+-80,73,
+-1,-80,
+-54,-18,
+-17,50,
+15,126,
+27,15,
+-65,0,
+-19,-52,
+-107,77,
+-8,-24,
+-144,-41,
+-13,-13,
+62,-99,
+47,128,
+-60,-62,
+45,73,
+104,50,
+-75,179,
+37,123,
+55,-39,
+20,50,
+187,-4,
+-5,17,
+137,39,
+13,30,
+-150,-40,
+-198,98,
+-86,-123,
+122,73,
+121,191,
+88,22,
+-149,-57,
+-191,-2,
+36,65,
+198,-124,
+28,-54,
+-63,-91,
+38,-76,
+68,-132,
+31,29,
+7,14,
+50,45,
+-126,49,
+59,-39,
+71,67,
+-3,68,
+-60,2,
+-118,25,
+47,-46,
+8,70,
+155,-82,
+-34,84,
+143,177,
+20,81,
+46,-27,
+54,-103,
+-25,-65,
+-55,-12,
+-25,-37,
+100,-84,
+44,-37,
+67,109,
+13,-105,
+80,-13,
+115,-51,
+73,-180,
+115,-52,
+57,-54,
+-40,-105,
+61,27,
+-72,-94,
+96,-95,
+91,20,
+-37,94,
+69,-39,
+137,-12,
+14,-22,
+-115,-131,
+-135,16,
+-91,-139,
+-6,-11,
+99,-133,
+-132,60,
+83,29,
+-9,131,
+-139,-10,
+6,-127,
+-2,38,
+-47,16,
+-37,49,
+-32,-75,
+1,-2,
+73,-78,
+191,-52,
+-16,82,
+144,-40,
+94,-214,
+-46,-46,
+-48,228,
+150,130,
+-112,-48,
+-193,-190,
+6,-86,
+-38,52,
+80,260,
+-82,154,
+4,-51,
+-28,-39,
+-25,-186,
+-45,0,
+40,-175,
+-56,-38,
+-88,58,
+-188,-68,
+-152,-8,
+71,-65,
+-129,0,
+68,34,
+-75,-126,
+130,38,
+42,126,
+-61,125,
+38,-47,
+-45,187,
+57,-4,
+-42,-48,
+-118,33,
+-131,18,
+117,-27,
+10,154,
+-36,-37,
+39,11,
+162,127,
+27,71,
+-141,-215,
+24,-144,
+-134,163,
+9,189,
+-73,-94,
+-74,-60,
+178,150,
+-63,53,
+13,25,
+-71,143,
+-30,46,
+-90,-4,
+-127,147,
+17,76,
+45,115,
+95,-155,
+-86,209,
+31,-103,
+31,174,
+-102,-57,
+135,-194,
+107,-47,
+-37,-17,
+26,-49,
+-75,-7,
+109,27,
+107,-17,
+-54,-2,
+-47,63,
+140,-1,
+-109,-5,
+47,-32,
+-185,-101,
+-5,5,
+112,10,
+-48,-148,
+-145,-8,
+-72,113,
+127,7,
+162,-109,
+109,236,
+-117,91,
+45,-42,
+40,-19,
+82,-35,
+-110,-173,
+221,-129,
+149,29,
+-16,3,
+-130,73,
+154,2,
+-113,119,
+86,-126,
+-218,53,
+-14,233,
+-37,249,
+2,-127,
+165,-44,
+28,54,
+-137,54,
+21,132,
+-122,-31,
+-92,54,
+44,101,
+162,-52,
+30,-7,
+72,-104,
+-123,40,
+-48,54,
+-174,41,
+-134,80,
+43,-60,
+88,-7,
+65,-54,
+32,109,
+39,-11,
+41,69,
+100,-156,
+-176,-45,
+-2,-57,
+24,6,
+-247,-80,
+-58,-34,
+-3,53,
+-28,200,
+50,-113,
+-125,107,
+-70,-32,
+-64,-62,
+17,60,
+77,311,
+153,-11,
+30,17,
+-164,1,
+66,46,
+-131,-94,
+-10,45,
+-6,30,
+79,-174,
+-206,38,
+98,-179,
+105,155,
+-217,39,
+66,-54,
+40,155,
+-320,-160,
+-143,-185,
+-8,-24,
+168,148,
+74,40,
+-52,-25,
+99,6,
+-20,38,
+-67,42,
+-71,75,
+-113,-78,
+26,-140,
+-125,-69,
+-97,-47,
+109,-43,
+-52,-100,
+16,204,
+150,116,
+-209,-101,
+8,323,
+154,-94,
+46,17,
+-66,-53,
+-83,-170,
+-188,-8,
+110,30,
+-8,31,
+-56,135,
+-128,-98,
+-171,-99,
+71,-223,
+25,-12,
+48,-19,
+59,-95,
+-69,-90,
+157,34,
+130,183,
+-69,4,
+133,-40,
+55,89,
+-271,-108,
+-136,-6,
+-18,131,
+-135,-161,
+88,-145,
+-109,42,
+25,20,
+-149,-214,
+-181,9,
+13,-117,
+-57,-107,
+-120,-112,
+3,-151,
+172,27,
+-12,-10,
+239,41,
+123,-129,
+132,-143,
+121,194,
+29,-58,
+-83,138,
+80,97,
+-8,-29,
+38,150,
+-25,-217,
+-147,-5,
+117,102,
+57,86,
+-3,-232,
+57,-170,
+-32,-88,
+175,96,
+9,290,
+-118,22,
+-168,216,
+-79,135,
+-24,67,
+-23,-63,
+-3,154,
+-82,-5,
+-13,232,
+-155,-1,
+242,157,
+166,30,
+26,66,
+25,94,
+75,203,
+-40,-44,
+287,-15,
+-107,-29,
+-148,96,
+86,49,
+153,-129,
+69,85,
+-170,-46,
+-20,-146,
+-158,-12,
+-168,81,
+60,137,
+44,-118,
+184,-53,
+127,-139,
+-67,151,
+14,73,
+-163,-221,
+126,5,
+-70,94,
+4,-241,
+31,-20,
+82,160,
+67,44,
+-101,-182,
+-7,74,
+-64,-88,
+-148,-16,
+-3,70,
+105,273,
+-12,104,
+-38,111,
+-6,118,
+2,102,
+-133,48,
+26,-4,
+-24,36,
+44,101,
+130,76,
+-57,100,
+120,-34,
+-43,152,
+-167,102,
+92,192,
+66,-38,
+79,82,
+-70,-185,
+-71,70,
+-18,110,
+-119,-71,
+73,152,
+-156,-117,
+123,-167,
+-8,159,
+-92,-1,
+147,31,
+117,295,
+105,169,
+20,120,
+-202,24,
+-92,-195,
+52,-128,
+62,-58,
+209,-19,
+11,112,
+-189,-198,
+163,33,
+-78,-263,
+-65,-283,
+-78,250,
+-123,-61,
+-83,321,
+3,159,
+-14,-149,
+69,173,
+-79,-237,
+-26,65,
+44,-52,
+47,82,
+34,60,
+45,207,
+94,158,
+-101,-131,
+-23,219,
+58,-30,
+-14,231,
+17,38,
+-17,95,
+51,-124,
+-257,-25,
+-5,-201,
+48,156,
+181,-37,
+81,-90,
+-86,-153,
+164,353,
+66,-135,
+137,80,
+190,77,
+15,-147,
+11,54,
+-221,54,
+180,17,
+28,91,
+5,299,
+-46,-35,
+-233,-49,
+96,82,
+5,63,
+123,-226,
+-142,-11,
+222,8,
+-135,-159,
+154,40,
+19,204,
+12,138,
+127,15,
+-92,110,
+219,25,
+12,-18,
+0,66,
+20,-176,
+140,-34,
+-102,26,
+65,81,
+21,-89,
+-9,39,
+7,-69,
+74,-19,
+137,70,
+-249,-131,
+43,-30,
+-77,54,
+-36,-31,
+-189,-38,
+184,56,
+-36,79,
+161,101,
+-36,24,
+-187,-275,
+-28,-79,
+-51,-11,
+-130,50,
+-173,-1,
+2,132,
+-123,80,
+270,222,
+163,-55,
+-90,-193,
+-155,84,
+-95,79,
+26,118,
+3,-127,
+-249,23,
+-2,-6,
+154,-78,
+87,-127,
+95,80,
+-83,53,
+113,96,
+227,-71,
+-22,-70,
+-71,105,
+129,176,
+41,114,
+-57,6,
+123,198,
+-51,19,
+35,-168,
+59,-70,
+302,-107,
+95,-28,
+53,95,
+48,71,
+16,-222,
+138,-223,
+-119,-43,
+-278,116,
+118,55,
+-100,67,
+-14,-63,
+-135,124,
+257,-49,
+-50,176,
+218,-9,
+100,190,
+109,147,
+128,47,
+-82,-166,
+-122,87,
+192,-123,
+-227,249,
+-147,133,
+-9,176,
+24,-86,
+37,114,
+-7,118,
+-11,152,
+-84,-154,
+-252,215,
+-37,-282,
+140,-162,
+40,-3,
+-303,-89,
+-32,-143,
+-196,-207,
+-64,164,
+-148,26,
+-17,-134,
+-268,69,
+125,-82,
+84,-303,
+-56,-44,
+-34,-40,
+-301,-50,
+306,-66,
+-78,89,
+-161,230,
+33,-153,
+94,64,
+-7,-40,
+-94,61,
+89,231,
+48,-150,
+125,188,
+52,73,
+-213,5,
+-164,-19,
+-154,-187,
+-134,48,
+-36,-125,
+-164,-103,
+-93,147,
+-172,27,
+-73,56,
+-116,-40,
+117,-1,
+-26,101,
+53,54,
+-71,-56,
+75,26,
+76,-46,
+-101,15,
+-24,23,
+-73,15,
+220,-105,
+92,90,
+149,-38,
+11,-38,
+236,-162,
+-139,1,
+6,0,
+-85,9,
+-43,-55,
+-9,47,
+-138,-70,
+-98,-207,
+118,-84,
+-24,-126,
+-58,-315,
+1,207,
+-46,136,
+83,-10,
+-312,105,
+56,284,
+-32,101,
+140,-164,
+78,-23,
+55,125,
+-77,-137,
+-154,47,
+72,99,
+72,-209,
+23,-39,
+60,218,
+-100,-123,
+90,-76,
+-49,284,
+50,69,
+-34,-141,
+75,-9,
+104,-36,
+-15,-130,
+85,-20,
+103,-61,
+25,-88,
+189,-43,
+-74,49,
+224,23,
+54,38,
+6,-53,
+77,-136,
+93,-73,
+-192,-73,
+228,216,
+-1,42,
+-189,163,
+-159,37,
+-5,139,
+321,-62,
+-32,-175,
+129,-234,
+-109,-89,
+41,104,
+-141,-33,
+120,92,
+-232,-45,
+-192,-190,
+-44,53,
+165,29,
+-27,140,
+-49,80,
+0,-197,
+-51,118,
+34,140,
+-87,-54,
+147,178,
+29,-256,
+-193,-244,
+-80,-128,
+56,-50,
+124,-47,
+139,240,
+-51,342,
+-104,141,
+-17,-52,
+-146,66,
+14,-98,
+-71,-10,
+-138,80,
+96,71,
+-14,-88,
+33,57,
+-237,101,
+-56,-44,
+0,194,
+100,-18,
+-118,70,
+263,-58,
+-271,174,
+124,32,
+117,-126,
+99,31,
+242,87,
+-136,-248,
+-84,-209,
+-66,273,
+50,-71,
+159,51,
+-129,156,
+115,-52,
+-135,60,
+183,145,
+-75,85,
+-124,72,
+-104,-140,
+3,-159,
+318,-73,
+-200,-107,
+124,-89,
+-205,-80,
+9,28,
+42,-244,
+78,8,
+-39,-8,
+97,44,
+-143,-207,
+165,8,
+-241,-81,
+202,-166,
+27,23,
+-15,64,
+-152,172,
+112,-216,
+270,-7,
+206,102,
+2,33,
+86,-78,
+24,-11,
+-159,166,
+-85,-103,
+-115,5,
+87,117,
+144,-115,
+18,-244,
+-32,-52,
+240,47,
+-29,-222,
+-115,-74,
+-181,12,
+-37,-80,
+-41,-197,
+-52,114,
+-159,81,
+-125,26,
+59,-37,
+-52,-173,
+-38,99,
+230,127,
+210,-131,
+18,-99,
+103,-104,
+-171,87,
+68,-19,
+22,-63,
+156,99,
+116,47,
+-6,-5,
+139,-101,
+-188,102,
+43,-97,
+52,-29,
+-72,40,
+-106,-193,
+6,13,
+35,-157,
+129,-94,
+266,-80,
+87,60,
+-142,-181,
+6,48,
+-120,-23,
+-2,-144,
+103,-94,
+14,276,
+-56,50,
+-30,-38,
+43,142,
+-50,143,
+79,60,
+70,-89,
+-104,-101,
+213,-101,
+-2,-62,
+179,-126,
+58,-38,
+8,31,
+132,109,
+-60,24,
+97,-91,
+16,136,
+83,-220,
+-124,-232,
+-101,82,
+199,-237,
+-56,58,
+173,-96,
+300,-19,
+-84,90,
+-41,178,
+-41,91,
+15,37,
+107,136,
+-46,-173,
+-260,-51,
+222,-123,
+-12,8,
+135,-237,
+280,-61,
+-16,-276,
+-37,179,
+-207,57,
+3,87,
+164,42,
+-116,72,
+-128,-175,
+182,-8,
+-5,-98,
+207,-26,
+-79,52,
+22,66,
+24,72,
+107,-42,
+-98,8,
+-63,-47,
+123,37,
+-5,200,
+88,91,
+130,-80,
+149,-88,
+168,-29,
+125,-190,
+-41,21,
+110,-147,
+34,82,
+57,190,
+24,173,
+73,-164,
+-111,-79,
+-24,-12,
+208,-15,
+172,-95,
+-146,-119,
+14,85,
+32,38,
+-33,16,
+15,-124,
+74,66,
+32,-138,
+174,-96,
+69,180,
+-93,-116,
+-220,-35,
+-110,112,
+-109,58,
+134,-141,
+-99,49,
+-158,234,
+42,227,
+-40,49,
+-77,-256,
+58,68,
+59,60,
+8,-91,
+231,90,
+83,20,
+-90,88,
+204,195,
+-185,62,
+-15,-80,
+-101,-288,
+-74,43,
+9,326,
+-265,162,
+-5,-202,
+-34,62,
+-59,116,
+-19,156,
+-164,-7,
+16,-85,
+111,18,
+16,-193,
+-125,93,
+-51,-212,
+4,-244,
+25,-232,
+126,-187,
+128,-159,
+-65,-73,
+41,-154,
+-18,-212,
+80,10,
+-12,-17,
+103,-38,
+80,-142,
+-92,-8,
+-142,142,
+-224,183,
+-106,30,
+-124,-101,
+104,122,
+-5,207,
+-12,-88,
+-154,101,
+-84,48,
+-29,-78,
+-78,-41,
+116,117,
+-182,166,
+177,-33,
+8,58,
+-161,-113,
+37,100,
+-1,66,
+147,-34,
+-30,-118,
+-44,68,
+-7,-80,
+83,-29,
+1,-96,
+21,46,
+105,0,
+-135,-10,
+58,46,
+-61,-205,
+121,1,
+-44,-262,
+176,32,
+78,-51,
+172,36,
+-30,-7,
+-59,56,
+78,-6,
+47,-7,
+97,15,
+36,127,
+85,-70,
+-65,185,
+110,-43,
+150,111,
+-77,30,
+-68,53,
+18,-15,
+-101,1,
+30,6,
+-108,34,
+-35,8,
+-124,245,
+218,31,
+-23,131,
+-70,-279,
+-2,-250,
+-15,166,
+157,21,
+33,96,
+-172,-66,
+76,-190,
+21,-21,
+-184,-67,
+-8,-26,
+-74,105,
+-88,-24,
+58,-118,
+-184,194,
+10,-132,
+-100,-52,
+-27,-56,
+-109,148,
+18,205,
+-120,-71,
+23,60,
+150,131,
+-69,-111,
+1,-144,
+68,-87,
+-42,-92,
+-58,-25,
+35,-54,
+-72,-162,
+154,96,
+-94,-76,
+87,95,
+-23,-158,
+37,159,
+49,167,
+92,-229,
+39,16,
+-58,152,
+-143,160,
+-48,16,
+-10,16,
+157,-84,
+-89,-68,
+-126,-39,
+16,15,
+-65,23,
+-53,230,
+121,-7,
+5,-44,
+109,98,
+-175,-58,
+-123,170,
+-217,94,
+138,6,
+-133,80,
+-16,48,
+44,7,
+129,-40,
+-52,43,
+143,111,
+-114,-95,
+-68,-29,
+0,101,
+-214,42,
+-190,35,
+-44,-154,
+-107,59,
+211,97,
+-86,206,
+1,45,
+9,28,
+177,-13,
+-4,-46,
+-82,127,
+8,101,
+55,52,
+287,25,
+-91,-214,
+37,35,
+148,-111,
+-232,6,
+-82,110,
+-62,-31,
+17,-4,
+165,-18,
+122,-117,
+-9,-70,
+35,-4,
+179,-159,
+-17,-66,
+-65,5,
+-4,-40,
+22,-25,
+83,74,
+56,-28,
+219,52,
+114,124,
+98,216,
+140,-67,
+-53,-16,
+-35,71,
+81,-150,
+65,69,
+31,-94,
+141,-128,
+-123,-29,
+160,56,
+89,-135,
+124,66,
+18,-285,
+7,91,
+-61,12,
+119,167,
+3,175,
+48,-79,
+26,47,
+10,-187,
+-116,14,
+-154,86,
+-64,3,
+-121,11,
+157,-107,
+20,67,
+47,43,
+63,-55,
+-75,-50,
+56,-34,
+-36,-87,
+23,8,
+269,69,
+-94,175,
+-163,-21,
+-2,-51,
+40,120,
+-95,-7,
+13,-41,
+37,120,
+116,20,
+-71,-115,
+20,-228,
+20,25,
+78,108,
+164,43,
+-139,-176,
+15,61,
+42,20,
+102,-80,
+-44,37,
+-49,19,
+-48,-44,
+-47,33,
+-41,-56,
+17,87,
+55,-10,
+-112,-15,
+-82,-177,
+0,11,
+3,29,
+-133,25,
+162,-105,
+-20,229,
+-79,-10,
+135,-25,
+22,107,
+-55,8,
+132,-14,
+36,44,
+69,-10,
+-98,57,
+110,-114,
+-54,23,
+-105,-58,
+-92,-107,
+83,0,
+-28,89,
+71,-76,
+-76,-69,
+8,11,
+44,-90,
+-42,-31,
+-10,85,
+27,105,
+-38,-126,
+-25,48,
+-79,6,
+161,135,
+7,48,
+-190,-67,
+-170,34,
+115,11,
+29,125,
+-19,-66,
+45,-39,
+27,32,
+8,-20,
+-10,-160,
+89,4,
+157,89,
+-72,161,
+-39,-68,
+-28,-55,
+-71,118,
+-25,-86,
+44,41,
+6,166,
+2,-71,
+-101,55,
+85,-114,
+61,-151,
+-61,-73,
+-16,8,
+-143,14,
+103,6,
+41,103,
+146,-33,
+137,52,
+-166,-31,
+61,8,
+-220,86,
+59,177,
+-1,-52,
+-52,104,
+-91,-35,
+-12,83,
+-95,71,
+52,32,
+-58,-26,
+-3,1,
+28,50,
+56,123,
+203,102,
+-20,110,
+8,147,
+44,-29,
+-9,70,
+-39,7,
+14,-111,
+-77,56,
+-83,100,
+-52,30,
+-29,6,
+-82,105,
+-42,86,
+2,56,
+21,-29,
+11,-180,
+42,1,
+-23,-34,
+-141,48,
+44,66,
+-129,-4,
+67,233,
+153,-65,
+-10,-110,
+26,93,
+1,62,
+-32,40,
+86,-50,
+114,67,
+120,-55,
+-39,135,
+3,-148,
+-87,-168,
+97,-34,
+69,-103,
+-59,-58,
+-20,45,
+42,-70,
+57,96,
+-44,34,
+0,55,
+73,-68,
+-8,30,
+55,-74,
+82,13,
+16,-212,
+113,-29,
+-57,-18,
+-1,113,
+69,-16,
+38,8,
+113,-15,
+-26,-62,
+-34,-39,
+-42,-33,
+-32,7,
+-33,110,
+46,-105,
+88,-88,
+133,-12,
+-63,10,
+-42,43,
+16,72,
+113,-14,
+12,23,
+-146,-11,
+168,66,
+-88,-75,
+-50,116,
+-23,-61,
+-49,-56,
+-43,46,
+-48,-2,
+-115,-36,
+-45,57,
+65,5,
+36,25,
+-8,2,
+61,-101,
+158,14,
+-38,-52,
+-130,-31,
+102,-80,
+-73,38,
+40,-121,
+-6,21,
+-22,4,
+55,-136,
+-21,-1,
+-118,4,
+-4,-48,
+-64,14,
+-39,-28,
+181,39,
+-42,101,
+-110,-78,
+-89,-58,
+-66,88,
+164,-3,
+36,37,
+70,-97,
+-16,4,
+20,-60,
+-1,21,
+-15,-37,
+25,-46,
+60,2,
+-28,45,
+101,58,
+-26,19,
+68,-29,
+-1,83,
+51,19,
+-27,48,
+8,20,
+26,-12,
+6,-12,
+-13,44,
+46,136,
+-99,-11,
+-1,71,
+-138,-13,
+0,48,
+-48,-69,
+30,39,
+1,-31,
+-12,41,
+15,29,
+-94,-8,
+28,30,
+-9,-27,
+-41,-13,
+-34,34,
+69,96,
+-9,-96,
+17,-14,
+-42,32,
+39,-33,
+44,74,
+88,-84,
+-37,39,
+-47,-28,
+63,-67,
+-15,-42,
+25,-44,
+57,44,
+70,-6,
+-31,1,
+-12,-106,
+105,-72,
+70,-93,
+-19,-28,
+-43,28,
+-53,45,
+35,23,
+-37,-17,
+-74,59,
+-76,-41,
+-49,8,
+-59,45,
+-92,60,
+-108,15,
+-131,1,
+-38,-26,
+-61,-54,
+33,1,
+-91,63,
+9,-17,
+6,-38,
+23,-50,
+114,3,
+-31,-11,
+-44,-56,
+41,-20,
+159,-103,
+12,33,
+-113,-25,
+-68,-117,
+80,80,
+35,-54,
+49,30,
+54,51,
+-43,38,
+30,54,
+19,17,
+-37,1,
+-8,-14,
+-54,-1,
+107,-24,
+136,-36,
+-26,-26,
+-42,-6,
+38,33,
+36,-100,
+-44,-72,
+27,-34,
+-8,32,
+3,43,
+-33,51,
+-41,4,
+25,5,
+-44,2,
+38,9,
+19,-19,
+-26,-9,
+-60,22,
+4,101,
+11,-7,
+-67,-51,
+-22,22,
+35,38,
+94,-23,
+-1,57,
+-2,6,
+-62,7,
+-3,32,
+-54,69,
+-20,51,
+-21,52,
+24,18,
+70,25,
+24,10,
+-25,2,
+-5,-35,
+11,10,
+-11,55,
+53,-45,
+9,28,
+-28,7,
+10,76,
+-57,-14,
+-12,3,
+-6,-34,
+32,7,
+6,51,
+65,-69,
+-16,-82,
+2,101,
+-109,16,
+-9,34,
+-46,95,
+2,-61,
+-64,11,
+-1,-30,
+-5,-10,
+40,49,
+23,-7,
+50,-75,
+36,52,
+-19,53,
+4,31,
+-51,51,
+23,-11,
+-64,7,
+-27,-32,
+-43,-10,
+-31,49,
+50,-16,
+-34,28,
+22,-6,
+51,33,
+-50,19,
+-23,6,
+-7,77,
+-43,-20,
+-31,27,
+-1,2,
+-15,9,
+60,11,
+40,-9,
+-28,4,
+36,-23,
+57,9,
+-10,27,
+-58,-11,
+22,-8,
+-23,-30,
+-12,-10,
+-14,9,
+3,67,
+-50,45,
+-4,-1,
+-44,4,
+-2,-22,
+-21,-27,
+-5,26,
+1,-12,
+-16,-10,
+15,-15,
+-27,48,
+24,-3,
+18,34,
+-10,45,
+-7,-47,
+12,22,
+1,-18,
+-60,18,
+1,55,
+20,42,
+4,-6,
+-4,-5,
+-37,2,
+11,-20,
+39,-36,
+-8,-15,
+-15,-3,
+-31,-17,
+7,-24,
+-21,-48,
+-33,24,
+-10,21,
+7,13,
+-58,-4,
+-26,30,
+32,15,
+-9,-11,
+-10,-38,
+18,-11,
+17,-5,
+-33,11,
+14,17,
+29,22,
+-29,63,
+-3,18,
+-5,-26,
+41,-16,
+-13,38,
+-25,-17,
+-9,25,
+-14,-40,
+-12,32,
+-23,-19,
+32,7,
+-29,12,
+-18,11,
+-13,-19,
+1,8,
+-28,-40,
+-6,34,
+-18,-5,
+-28,36,
+-10,-26,
+-6,-34,
+27,18,
+22,-10,
+-5,20,
+13,-22,
+11,17,
+-1,-5,
+20,23,
+1,-7,
+-2,-33,
+-42,15,
+0,0,
+21,34,
+-25,23,
+0,-19,
+29,19,
+2,-23,
+-20,30,
+38,-12,
+-9,8,
+10,-11,
+15,-20,
+-3,-17,
+-5,26,
+8,-13,
+10,-5,
+-9,-4,
+3,-14,
+-7,2,
+3,-15,
+14,-8,
+37,0,
+24,6,
+0,19,
+-10,7,
+-11,-15,
+-30,-12,
+-11,1,
+-8,7,
+22,7,
+0,-14,
+3,8,
+7,-3,
+-17,-10,
+18,6,
+19,7,
+-21,1,
+1,-22,
+-2,-9,
+-9,-7,
+16,10,
+0,-17,
+-10,8,
+-12,-4,
+-16,12,
+-5,7,
+8,16,
+12,-21,
+-4,-15,
+19,13,
+3,-4,
+0,5,
+-7,-3,
+-5,5,
+-6,2,
+3,6,
+5,2,
+-3,12,
+1,-5,
+-4,10,
+-5,4,
+-1,0,
+-3,4,
+-6,2,
+1,3,
+-4,2,
+0,-3,
+12,4,
+1,-3,
+-8,2,
+8,-2,
+3,3,
+-12,3,
+4,-1,
+5,-2,
+-8,-4,
+3,1,
+6,4,
+-11,0,
+4,3,
+11,-3,
+-5,-1,
+2,-3,
+8,3,
+-6,-1,
+1,-1,
+1,1,
+-7,0,
+2,-1,
+2,-1,
+-6,0,
+3,0,
+3,0,
+-6,0,
+3,0,
+3,0,
+-6,0,
+2,1,
+2,1,
+-7,0,
+1,-1,
+1,1,
+-6,1,
+8,-3,
+2,3,
+-5,1,
+11,3,
+4,-3,
+-11,0,
+6,-4,
+3,-1,
+-8,4,
+5,2,
+4,1,
+-12,-3,
+3,-3,
+8,2,
+-8,-2,
+1,3,
+12,-4,
+0,3,
+-4,-2,
+1,-3,
+-6,-2,
+-3,-4,
+-1,0,
+-5,-4,
+-4,-10,
+1,5,
+-3,-12,
+5,-2,
+3,-6,
+-6,-2,
+-5,-5,
+-7,3,
+0,-5,
+3,4,
+19,-13,
+-4,15,
+12,21,
+8,-16,
+-5,-7,
+-16,-12,
+-12,4,
+-10,-8,
+0,17,
+16,-10,
+-9,7,
+-2,9,
+1,22,
+-21,-1,
+19,-7,
+18,-6,
+-17,10,
+7,3,
+3,-8,
+0,14,
+22,-7,
+-8,-7,
+-11,-1,
+-30,12,
+-11,15,
+-10,-7,
+0,-19,
+24,-6,
+37,0,
+14,8,
+3,15,
+-7,-2,
+3,14,
+-9,4,
+10,5,
+8,13,
+-5,-26,
+-3,17,
+15,20,
+10,11,
+-9,-8,
+38,12,
+-20,-30,
+2,23,
+29,-19,
+0,19,
+-25,-23,
+21,-34,
+0,0,
+-42,-15,
+-2,33,
+1,7,
+20,-23,
+-1,5,
+11,-17,
+13,22,
+-5,-20,
+22,10,
+27,-18,
+-6,34,
+-10,26,
+-28,-36,
+-18,5,
+-6,-34,
+-28,40,
+1,-8,
+-13,19,
+-18,-11,
+-29,-12,
+32,-7,
+-23,19,
+-12,-32,
+-14,40,
+-9,-25,
+-25,17,
+-13,-38,
+41,16,
+-5,26,
+-3,-18,
+-29,-63,
+29,-22,
+14,-17,
+-33,-11,
+17,5,
+18,11,
+-10,38,
+-9,11,
+32,-15,
+-26,-30,
+-58,4,
+7,-13,
+-10,-21,
+-33,-24,
+-21,48,
+7,24,
+-31,17,
+-15,3,
+-8,15,
+39,36,
+11,20,
+-37,-2,
+-4,5,
+4,6,
+20,-42,
+1,-55,
+-60,-18,
+1,18,
+12,-22,
+-7,47,
+-10,-45,
+18,-34,
+24,3,
+-27,-48,
+15,15,
+-16,10,
+1,12,
+-5,-26,
+-21,27,
+-2,22,
+-44,-4,
+-4,1,
+-50,-45,
+3,-67,
+-14,-9,
+-12,10,
+-23,30,
+22,8,
+-58,11,
+-10,-27,
+57,-9,
+36,23,
+-28,-4,
+40,9,
+60,-11,
+-15,-9,
+-1,-2,
+-31,-27,
+-43,20,
+-7,-77,
+-23,-6,
+-50,-19,
+51,-33,
+22,6,
+-34,-28,
+50,16,
+-31,-49,
+-43,10,
+-27,32,
+-64,-7,
+23,11,
+-51,-51,
+4,-31,
+-19,-53,
+36,-52,
+50,75,
+23,7,
+40,-49,
+-5,10,
+-1,30,
+-64,-11,
+2,61,
+-46,-95,
+-9,-34,
+-109,-16,
+2,-101,
+-16,82,
+65,69,
+6,-51,
+32,-7,
+-6,34,
+-12,-3,
+-57,14,
+10,-76,
+-28,-7,
+9,-28,
+53,45,
+-11,-55,
+11,-10,
+-5,35,
+-25,-2,
+24,-10,
+70,-25,
+24,-18,
+-21,-52,
+-20,-51,
+-54,-69,
+-3,-32,
+-62,-7,
+-2,-6,
+-1,-57,
+94,23,
+35,-38,
+-22,-22,
+-67,51,
+11,7,
+4,-101,
+-60,-22,
+-26,9,
+19,19,
+38,-9,
+-44,-2,
+25,-5,
+-41,-4,
+-33,-51,
+3,-43,
+-8,-32,
+27,34,
+-44,72,
+36,100,
+38,-33,
+-42,6,
+-26,26,
+136,36,
+107,24,
+-54,1,
+-8,14,
+-37,-1,
+19,-17,
+30,-54,
+-43,-38,
+54,-51,
+49,-30,
+35,54,
+80,-80,
+-68,117,
+-113,25,
+12,-33,
+159,103,
+41,20,
+-44,56,
+-31,11,
+114,-3,
+23,50,
+6,38,
+9,17,
+-91,-63,
+33,-1,
+-61,54,
+-38,26,
+-131,-1,
+-108,-15,
+-92,-60,
+-59,-45,
+-49,-8,
+-76,41,
+-74,-59,
+-37,17,
+35,-23,
+-53,-45,
+-43,-28,
+-19,28,
+70,93,
+105,72,
+-12,106,
+-31,-1,
+70,6,
+57,-44,
+25,44,
+-15,42,
+63,67,
+-47,28,
+-37,-39,
+88,84,
+44,-74,
+39,33,
+-42,-32,
+17,14,
+-9,96,
+69,-96,
+-34,-34,
+-41,13,
+-9,27,
+28,-30,
+-94,8,
+15,-29,
+-12,-41,
+1,31,
+30,-39,
+-48,69,
+0,-48,
+-138,13,
+-1,-71,
+-99,11,
+46,-136,
+-13,-44,
+6,12,
+26,12,
+8,-20,
+-27,-48,
+51,-19,
+-1,-83,
+68,29,
+-26,-19,
+101,-58,
+-28,-45,
+60,-2,
+25,46,
+-15,37,
+-1,-21,
+20,60,
+-16,-4,
+70,97,
+36,-37,
+164,3,
+-66,-88,
+-89,58,
+-110,78,
+-42,-101,
+181,-39,
+-39,28,
+-64,-14,
+-4,48,
+-118,-4,
+-21,1,
+55,136,
+-22,-4,
+-6,-21,
+40,121,
+-73,-38,
+102,80,
+-130,31,
+-38,52,
+158,-14,
+61,101,
+-8,-2,
+36,-25,
+65,-5,
+-45,-57,
+-115,36,
+-48,2,
+-43,-46,
+-49,56,
+-23,61,
+-50,-116,
+-88,75,
+168,-66,
+-146,11,
+12,-23,
+113,14,
+16,-72,
+-42,-43,
+-63,-10,
+133,12,
+88,88,
+46,105,
+-33,-110,
+-32,-7,
+-42,33,
+-34,39,
+-26,62,
+113,15,
+38,-8,
+69,16,
+-1,-113,
+-57,18,
+113,29,
+16,212,
+82,-13,
+55,74,
+-8,-30,
+73,68,
+0,-55,
+-44,-34,
+57,-96,
+42,70,
+-20,-45,
+-59,58,
+69,103,
+97,34,
+-87,168,
+3,148,
+-39,-135,
+120,55,
+114,-67,
+86,50,
+-32,-40,
+1,-62,
+26,-93,
+-10,110,
+153,65,
+67,-233,
+-129,4,
+44,-66,
+-141,-48,
+-23,34,
+42,-1,
+11,180,
+21,29,
+2,-56,
+-42,-86,
+-82,-105,
+-29,-6,
+-52,-30,
+-83,-100,
+-77,-56,
+14,111,
+-39,-7,
+-9,-70,
+44,29,
+8,-147,
+-20,-110,
+203,-102,
+56,-123,
+28,-50,
+-3,-1,
+-58,26,
+52,-32,
+-95,-71,
+-12,-83,
+-91,35,
+-52,-104,
+-1,52,
+59,-177,
+-220,-86,
+61,-8,
+-166,31,
+137,-52,
+146,33,
+41,-103,
+103,-6,
+-143,-14,
+-16,-8,
+-61,73,
+61,151,
+85,114,
+-101,-55,
+2,71,
+6,-166,
+44,-41,
+-25,86,
+-71,-118,
+-28,55,
+-39,68,
+-72,-161,
+157,-89,
+89,-4,
+-10,160,
+8,20,
+27,-32,
+45,39,
+-19,66,
+29,-125,
+115,-11,
+-170,-34,
+-190,67,
+7,-48,
+161,-135,
+-79,-6,
+-25,-48,
+-38,126,
+27,-105,
+-10,-85,
+-42,31,
+44,90,
+8,-11,
+-76,69,
+71,76,
+-28,-89,
+83,0,
+-92,107,
+-105,58,
+-54,-23,
+110,114,
+-98,-57,
+69,10,
+36,-44,
+132,14,
+-55,-8,
+22,-107,
+135,25,
+-79,10,
+-20,-229,
+162,105,
+-133,-25,
+3,-29,
+0,-11,
+-82,177,
+-112,15,
+55,10,
+17,-87,
+-41,56,
+-47,-33,
+-48,44,
+-49,-19,
+-44,-37,
+102,80,
+42,-20,
+15,-61,
+-139,176,
+164,-43,
+78,-108,
+20,-25,
+20,228,
+-71,115,
+116,-20,
+37,-120,
+13,41,
+-95,7,
+40,-120,
+-2,51,
+-163,21,
+-94,-175,
+269,-69,
+23,-8,
+-36,87,
+56,34,
+-75,50,
+63,55,
+47,-43,
+20,-67,
+157,107,
+-121,-11,
+-64,-3,
+-154,-86,
+-116,-14,
+10,187,
+26,-47,
+48,79,
+3,-175,
+119,-167,
+-61,-12,
+7,-91,
+18,285,
+124,-66,
+89,135,
+160,-56,
+-123,29,
+141,128,
+31,94,
+65,-69,
+81,150,
+-35,-71,
+-53,16,
+140,67,
+98,-216,
+114,-124,
+219,-52,
+56,28,
+83,-74,
+22,25,
+-4,40,
+-65,-5,
+-17,66,
+179,159,
+35,4,
+-9,70,
+122,117,
+165,18,
+17,4,
+-62,31,
+-82,-110,
+-232,-6,
+148,111,
+37,-35,
+-91,214,
+287,-25,
+55,-52,
+8,-101,
+-82,-127,
+-4,46,
+177,13,
+9,-28,
+1,-45,
+-86,-206,
+211,-97,
+-107,-59,
+-44,154,
+-190,-35,
+-214,-42,
+0,-101,
+-68,29,
+-114,95,
+143,-111,
+-52,-43,
+129,40,
+44,-7,
+-16,-48,
+-133,-80,
+138,-6,
+-217,-94,
+-123,-170,
+-175,58,
+109,-98,
+5,44,
+121,7,
+-53,-230,
+-65,-23,
+16,-15,
+-126,39,
+-89,68,
+157,84,
+-10,-16,
+-48,-16,
+-143,-160,
+-58,-152,
+39,-16,
+92,229,
+49,-167,
+37,-159,
+-23,158,
+87,-95,
+-94,76,
+154,-96,
+-72,162,
+35,54,
+-58,25,
+-42,92,
+68,87,
+1,144,
+-69,111,
+150,-131,
+23,-60,
+-120,71,
+18,-205,
+-109,-148,
+-27,56,
+-100,52,
+10,132,
+-184,-194,
+58,118,
+-88,24,
+-74,-105,
+-8,26,
+-184,67,
+21,21,
+76,190,
+-172,66,
+33,-96,
+157,-21,
+-15,-166,
+-2,250,
+-70,279,
+-23,-131,
+218,-31,
+-124,-245,
+-35,-8,
+-108,-34,
+30,-6,
+-101,-1,
+18,15,
+-68,-53,
+-77,-30,
+150,-111,
+110,43,
+-65,-185,
+85,70,
+36,-127,
+97,-15,
+47,7,
+78,6,
+-59,-56,
+-30,7,
+172,-36,
+78,51,
+176,-32,
+-44,262,
+121,-1,
+-61,205,
+58,-46,
+-135,10,
+105,0,
+21,-46,
+1,96,
+83,29,
+-7,80,
+-44,-68,
+-30,118,
+147,34,
+-1,-66,
+37,-100,
+-161,113,
+8,-58,
+177,33,
+-182,-166,
+116,-117,
+-78,41,
+-29,78,
+-84,-48,
+-154,-101,
+-12,88,
+-5,-207,
+104,-122,
+-124,101,
+-106,-30,
+-224,-183,
+-142,-142,
+-92,8,
+80,142,
+103,38,
+-12,17,
+80,-10,
+-18,212,
+41,154,
+-65,73,
+128,159,
+126,187,
+25,232,
+4,244,
+-51,212,
+-125,-93,
+16,193,
+111,-18,
+16,85,
+-164,7,
+-19,-156,
+-59,-116,
+-34,-62,
+-5,202,
+-265,-162,
+9,-326,
+-74,-43,
+-101,288,
+-15,80,
+-185,-62,
+204,-195,
+-90,-88,
+83,-20,
+231,-90,
+8,91,
+59,-60,
+58,-68,
+-77,256,
+-40,-49,
+42,-227,
+-158,-234,
+-99,-49,
+134,141,
+-109,-58,
+-110,-112,
+-220,35,
+-93,116,
+69,-180,
+174,96,
+32,138,
+74,-66,
+15,124,
+-33,-16,
+32,-38,
+14,-85,
+-146,119,
+172,95,
+208,15,
+-24,12,
+-111,79,
+73,164,
+24,-173,
+57,-190,
+34,-82,
+110,147,
+-41,-21,
+125,190,
+168,29,
+149,88,
+130,80,
+88,-91,
+-5,-200,
+123,-37,
+-63,47,
+-98,-8,
+107,42,
+24,-72,
+22,-66,
+-79,-52,
+207,26,
+-5,98,
+182,8,
+-128,175,
+-116,-72,
+164,-42,
+3,-87,
+-207,-57,
+-37,-179,
+-16,276,
+280,61,
+135,237,
+-12,-8,
+222,123,
+-260,51,
+-46,173,
+107,-136,
+15,-37,
+-41,-91,
+-41,-178,
+-84,-90,
+300,19,
+173,96,
+-56,-58,
+199,237,
+-101,-82,
+-124,232,
+83,220,
+16,-136,
+97,91,
+-60,-24,
+132,-109,
+8,-31,
+58,38,
+179,126,
+-2,62,
+213,101,
+-104,101,
+70,89,
+79,-60,
+-50,-143,
+43,-142,
+-30,38,
+-56,-50,
+14,-276,
+103,94,
+-2,144,
+-120,23,
+6,-48,
+-142,181,
+87,-60,
+266,80,
+129,94,
+35,157,
+6,-13,
+-106,193,
+-72,-40,
+52,29,
+43,97,
+-188,-102,
+139,101,
+-6,5,
+116,-47,
+156,-99,
+22,63,
+68,19,
+-171,-87,
+103,104,
+18,99,
+210,131,
+230,-127,
+-38,-99,
+-52,173,
+59,37,
+-125,-26,
+-159,-81,
+-52,-114,
+-41,197,
+-37,80,
+-181,-12,
+-115,74,
+-29,222,
+240,-47,
+-32,52,
+18,244,
+144,115,
+87,-117,
+-115,-5,
+-85,103,
+-159,-166,
+24,11,
+86,78,
+2,-33,
+206,-102,
+270,7,
+112,216,
+-152,-172,
+-15,-64,
+27,-23,
+202,166,
+-241,81,
+165,-8,
+-143,207,
+97,-44,
+-39,8,
+78,-8,
+42,244,
+9,-28,
+-205,80,
+124,89,
+-200,107,
+318,73,
+3,159,
+-104,140,
+-124,-72,
+-75,-85,
+183,-145,
+-135,-60,
+115,52,
+-129,-156,
+159,-51,
+50,71,
+-66,-273,
+-84,209,
+-136,248,
+242,-87,
+99,-31,
+117,126,
+124,-32,
+-271,-174,
+263,58,
+-118,-70,
+100,18,
+0,-194,
+-56,44,
+-237,-101,
+33,-57,
+-14,88,
+96,-71,
+-138,-80,
+-71,10,
+14,98,
+-146,-66,
+-17,52,
+-104,-141,
+-51,-342,
+139,-240,
+124,47,
+56,50,
+-80,128,
+-193,244,
+29,256,
+147,-178,
+-87,54,
+34,-140,
+-51,-118,
+0,197,
+-49,-80,
+-27,-140,
+165,-29,
+-44,-53,
+-192,190,
+-232,45,
+120,-92,
+-141,33,
+41,-104,
+-109,89,
+129,234,
+-32,175,
+321,62,
+-5,-139,
+-159,-37,
+-189,-163,
+-1,-42,
+228,-216,
+-192,73,
+93,73,
+77,136,
+6,53,
+54,-38,
+224,-23,
+-74,-49,
+189,43,
+25,88,
+103,61,
+85,20,
+-15,130,
+104,36,
+75,9,
+-34,141,
+50,-69,
+-49,-284,
+90,76,
+-100,123,
+60,-218,
+23,39,
+72,209,
+72,-99,
+-154,-47,
+-77,137,
+55,-125,
+78,23,
+140,164,
+-32,-101,
+56,-284,
+-312,-105,
+83,10,
+-46,-136,
+1,-207,
+-58,315,
+-24,126,
+118,84,
+-98,207,
+-138,70,
+-9,-47,
+-43,55,
+-85,-9,
+6,0,
+243,45,
+-129,57,
+75,-99,
+281,-74,
+-60,-129,
+39,0,
+115,-76,
+13,-148,
+-156,106,
+-122,-36,
+-126,-89,
+-128,-208,
+-130,-126,
+68,36,
+97,-71,
+29,6,
+-31,-18,
+86,-55,
+-171,21,
+-70,58,
+-58,91,
+21,70,
+144,20,
+-79,-43,
+34,-166,
+75,-2,
+124,-266,
+9,-108,
+-51,-21,
+108,-13,
+243,-137,
+-71,94,
+-173,33,
+-88,31,
+75,-44,
+-52,161,
+157,116,
+-118,139,
+14,130,
+187,50,
+-96,89,
+84,-101,
+-34,37,
+137,61,
+2,11,
+60,-238,
+94,-129,
+94,-145,
+74,96,
+74,-185,
+20,-27,
+73,35,
+46,61,
+221,-4,
+129,251,
+-33,168,
+-40,54,
+118,-224,
+69,152,
+-111,-34,
+195,-161,
+26,44,
+26,-239,
+-15,-124,
+-26,217,
+142,-24,
+320,29,
+-134,241,
+54,12,
+-3,109,
+-132,254,
+-280,-145,
+-54,221,
+300,-89,
+28,92,
+10,-56,
+-156,-263,
+-23,-64,
+15,-331,
+-289,31,
+-85,-25,
+-55,139,
+84,0,
+-129,-241,
+202,-106,
+-49,107,
+-21,-14,
+-169,-26,
+175,-201,
+-111,-126,
+-66,-79,
+22,289,
+-4,31,
+124,66,
+-223,95,
+114,283,
+-67,256,
+8,-15,
+-144,-30,
+-55,-238,
+36,143,
+92,-242,
+-19,-155,
+308,115,
+127,208,
+-45,-154,
+-164,56,
+131,59,
+-118,-69,
+144,-24,
+-169,-128,
+90,2,
+70,25,
+-17,94,
+-250,-7,
+23,-201,
+28,73,
+-144,-92,
+12,-17,
+-317,-91,
+-123,11,
+188,-102,
+-160,85,
+-91,114,
+-21,-43,
+181,26,
+183,-11,
+-119,-51,
+-11,-21,
+-171,70,
+57,39,
+-86,177,
+-102,-134,
+-204,93,
+-142,-199,
+146,77,
+166,36,
+-108,206,
+194,234,
+97,-117,
+89,-162,
+-53,-4,
+-334,69,
+-54,-96,
+-103,-145,
+132,-33,
+73,-183,
+-300,-56,
+108,166,
+-51,121,
+-41,136,
+238,-17,
+88,-54,
+230,-42,
+51,201,
+-86,14,
+106,45,
+-92,32,
+2,50,
+-102,-78,
+204,81,
+-282,-53,
+104,-109,
+-82,-22,
+-23,-160,
+-183,-102,
+-69,206,
+64,13,
+-132,-238,
+185,5,
+177,119,
+-10,-7,
+-257,28,
+81,-75,
+-67,-87,
+114,-206,
+223,-77,
+-79,-34,
+82,-120,
+34,52,
+44,-44,
+106,-186,
+44,-88,
+-69,-111,
+-128,147,
+-19,108,
+49,-98,
+-117,13,
+-94,-154,
+-67,-149,
+39,28,
+-161,-31,
+57,-31,
+23,-11,
+-126,8,
+83,-183,
+98,-95,
+-86,-38,
+-83,144,
+104,6,
+177,-216,
+-13,-123,
+-3,-80,
+-123,-123,
+44,89,
+-62,179,
+85,-79,
+169,-20,
+-124,-99,
+-29,-324,
+-120,106,
+-118,76,
+126,77,
+-83,38,
+-103,-230,
+74,145,
+129,-220,
+92,79,
+167,-24,
+61,3,
+69,-61,
+-18,-86,
+-20,102,
+-46,-302,
+-179,50,
+2,-27,
+177,-26,
+135,126,
+148,236,
+48,-36,
+26,194,
+151,32,
+27,142,
+-154,11,
+-192,-86,
+-56,45,
+117,-9,
+-54,-27,
+-47,226,
+3,36,
+45,-193,
+147,168,
+-151,225,
+-127,-39,
+140,-5,
+-40,-79,
+359,31,
+29,-82,
+46,23,
+-5,66,
+-188,-13,
+-47,-80,
+-96,29,
+21,88,
+75,-78,
+51,-72,
+-133,-157,
+-23,130,
+81,-82,
+-83,94,
+-73,-74,
+-2,-19,
+-89,-29,
+21,4,
+60,108,
+191,-131,
+173,5,
+-151,55,
+14,-125,
+46,-170,
+-71,85,
+-154,16,
+26,-24,
+-148,89,
+68,215,
+-149,-63,
+112,147,
+137,-128,
+41,2,
+-169,73,
+-106,1,
+78,-108,
+-17,78,
+-239,22,
+-156,9,
+62,-13,
+-13,-58,
+120,71,
+-66,40,
+-229,-117,
+140,124,
+-3,-2,
+-71,-116,
+-53,-260,
+31,-181,
+6,-82,
+30,63,
+68,-161,
+-156,10,
+-95,204,
+-178,40,
+-1,-8,
+-40,41,
+8,-78,
+283,-25,
+-96,-35,
+-135,17,
+-182,53,
+143,3,
+-87,-44,
+47,-86,
+125,282,
+152,152,
+-109,-126,
+-9,-49,
+-56,148,
+-245,-110,
+17,81,
+-93,214,
+137,-59,
+-33,26,
+-25,214,
+-31,-42,
+-264,2,
+-43,47,
+137,125,
+-77,-100,
+-91,-52,
+-27,81,
+-54,-45,
+6,37,
+-143,143,
+-130,-144,
+-82,-96,
+131,129,
+1,176,
+-211,216,
+73,-71,
+-81,-242,
+-26,127,
+148,-20,
+128,141,
+67,34,
+80,54,
+-187,-57,
+37,36,
+158,-131,
+3,29,
+107,-198,
+12,-38,
+52,-270,
+-79,187,
+118,248,
+-19,-131,
+54,76,
+96,49,
+-38,55,
+-117,-9,
+84,-123,
+-292,83,
+-21,76,
+77,67,
+82,-32,
+-25,200,
+48,75,
+62,-192,
+126,81,
+37,-260,
+-77,76,
+-97,70,
+110,180,
+-65,-143,
+92,-107,
+80,-62,
+22,117,
+38,198,
+136,-13,
+71,109,
+-154,25,
+-106,74,
+12,191,
+7,206,
+-104,-99,
+-163,16,
+-53,219,
+-112,22,
+43,-36,
+-127,-242,
+123,-30,
+-207,12,
+-52,-39,
+-142,-50,
+-111,111,
+25,-28,
+13,151,
+98,149,
+-10,14,
+-217,-66,
+18,-26,
+27,-161,
+-95,-128,
+109,23,
+154,-14,
+-32,5,
+88,-188,
+15,-108,
+231,90,
+21,-84,
+66,-82,
+-88,136,
+45,76,
+37,-51,
+104,-56,
+73,-40,
+-91,-31,
+-116,-132,
+31,-138,
+-85,127,
+237,-31,
+-97,77,
+67,96,
+-81,-79,
+-75,-104,
+25,76,
+-6,-102,
+-70,67,
+108,100,
+-46,121,
+163,70,
+59,-12,
+15,-110,
+4,-12,
+110,-28,
+-4,-69,
+120,48,
+85,-37,
+21,-26,
+31,-186,
+0,29,
+-20,45,
+-29,-179,
+-7,-186,
+-124,0,
+-157,-185,
+-77,-173,
+3,11,
+-47,-5,
+11,56,
+-122,74,
+45,65,
+-150,-42,
+32,61,
+-89,-23,
+56,-207,
+44,-28,
+-7,152,
+-195,-120,
+16,80,
+-79,92,
+-67,10,
+-16,146,
+-121,28,
+-178,99,
+-18,-118,
+5,7,
+113,92,
+-76,-3,
+-193,98,
+-79,66,
+-3,-24,
+14,-10,
+-93,-140,
+27,128,
+146,52,
+-9,-90,
+80,-183,
+-167,27,
+80,-21,
+78,-24,
+-115,8,
+82,-45,
+93,127,
+-76,2,
+107,9,
+-110,90,
+-17,-127,
+-26,180,
+94,-110,
+-92,-31,
+4,81,
+-155,-101,
+-69,107,
+-78,-77,
+68,58,
+-90,-151,
+-85,-134,
+-140,-51,
+-13,-18,
+-148,57,
+146,22,
+75,-85,
+24,-25,
+-60,143,
+-63,-81,
+-35,-30,
+-160,-12,
+157,92,
+25,-68,
+-33,201,
+-151,-22,
+97,-163,
+-169,28,
+-76,-113,
+46,0,
+16,-122,
+140,108,
+-62,26,
+72,14,
+-87,-191,
+-3,14,
+39,-32,
+61,-73,
+-111,187,
+-6,34,
+92,-34,
+-18,-141,
+-90,7,
+-91,-202,
+-110,-15,
+-85,36,
+153,-38,
+-146,-158,
+101,10,
+-16,-164,
+-63,34,
+49,32,
+-67,12,
+136,-105,
+-110,76,
+73,-119,
+79,91,
+-50,61,
+117,-32,
+-60,42,
+-62,2,
+81,-1,
+-63,40,
+-124,-146,
+-93,149,
+86,71,
+12,6,
+22,-33,
+-141,-38,
+42,41,
+81,-106,
+8,-149,
+79,-48,
+36,31,
+-9,103,
+-26,-103,
+-43,-118,
+182,-79,
+-20,-61,
+87,-41,
+102,-14,
+-50,-101,
+54,-36,
+12,-101,
+9,85,
+-133,19,
+-75,-17,
+67,-94,
+6,52,
+-19,-148,
+129,42,
+4,-66,
+16,-19,
+-2,2,
+-138,-51,
+-131,-155,
+-46,-72,
+-94,-17,
+-180,-27,
+38,-18,
+35,24,
+-128,-17,
+-106,45,
+107,84,
+-88,25,
+-2,90,
+18,12,
+-98,35,
+-20,5,
+-10,75,
+6,35,
+125,113,
+118,-73,
+-66,44,
+65,-11,
+-42,-40,
+-57,-4,
+-26,-36,
+41,-86,
+33,148,
+69,-62,
+-30,126,
+-2,-79,
+-135,-70,
+-53,-35,
+34,18,
+-88,82,
+-40,65,
+105,-39,
+39,24,
+-36,-42,
+-23,109,
+-11,56,
+-17,140,
+-127,-66,
+-81,69,
+105,89,
+-60,28,
+-96,8,
+-44,-17,
+-91,-28,
+-23,-52,
+39,-99,
+76,86,
+71,81,
+87,-94,
+-51,-10,
+43,-58,
+-24,-179,
+-35,52,
+-18,-94,
+-74,45,
+-181,-65,
+156,5,
+99,-109,
+-45,-59,
+32,-77,
+74,-24,
+124,44,
+76,-84,
+32,-111,
+-18,55,
+119,106,
+38,-15,
+81,39,
+29,82,
+-156,-32,
+-31,74,
+71,-17,
+124,-27,
+-110,-48,
+58,28,
+-164,46,
+8,87,
+34,2,
+56,-22,
+64,62,
+-15,84,
+80,-125,
+9,-16,
+-9,-99,
+-72,7,
+47,-24,
+100,27,
+-87,36,
+51,40,
+93,-17,
+62,41,
+-24,-39,
+-196,69,
+43,-8,
+-106,74,
+7,54,
+-34,-9,
+4,-15,
+-3,-59,
+72,93,
+-6,94,
+111,28,
+-57,9,
+-45,9,
+-63,-77,
+75,-3,
+178,-52,
+19,46,
+-61,28,
+-19,-143,
+6,-39,
+59,-18,
+-7,-9,
+-12,-36,
+23,-49,
+-59,-10,
+12,26,
+122,-1,
+-95,-107,
+37,-99,
+106,54,
+-14,-5,
+3,-41,
+101,122,
+23,-141,
+-14,-59,
+28,-16,
+13,-60,
+-88,-7,
+94,50,
+125,93,
+-8,-29,
+-72,38,
+50,-22,
+-2,-5,
+5,-148,
+18,33,
+-67,54,
+9,82,
+0,-51,
+-20,-40,
+58,6,
+71,-150,
+-1,-13,
+-31,23,
+-40,-1,
+18,9,
+-112,33,
+-129,-44,
+-58,-54,
+38,73,
+-19,-36,
+28,-29,
+-26,-46,
+17,6,
+30,72,
+-54,-30,
+1,-57,
+65,-93,
+-32,-32,
+-13,45,
+6,-40,
+15,-91,
+-18,19,
+22,89,
+-57,-8,
+88,21,
+28,-75,
+54,36,
+-3,-64,
+12,-35,
+8,-31,
+-38,16,
+-73,-17,
+20,-8,
+6,6,
+-32,122,
+-12,44,
+68,-54,
+-45,29,
+-34,-29,
+46,-54,
+-58,13,
+53,2,
+-13,-19,
+-9,-17,
+-84,-16,
+16,44,
+10,11,
+8,-28,
+-8,-67,
+-26,-3,
+28,-57,
+21,8,
+-31,105,
+-27,-5,
+44,128,
+-80,-32,
+25,-39,
+105,-13,
+10,-6,
+-25,62,
+6,-8,
+49,-39,
+41,15,
+-27,9,
+-5,3,
+16,-81,
+-26,-66,
+28,30,
+96,33,
+-38,24,
+74,21,
+52,35,
+35,75,
+7,47,
+11,-2,
+-59,-42,
+6,-47,
+-73,13,
+37,-2,
+-34,-7,
+-31,66,
+48,23,
+-45,43,
+16,59,
+-63,5,
+38,-34,
+-71,3,
+41,-11,
+87,6,
+-68,-48,
+-20,-51,
+-61,29,
+-42,-4,
+35,42,
+20,18,
+21,-53,
+-4,23,
+-52,-35,
+-47,3,
+-34,57,
+-26,42,
+38,-45,
+32,-13,
+-82,39,
+-25,-5,
+0,-6,
+-13,-4,
+-15,-7,
+21,2,
+-29,-41,
+-30,14,
+-22,-40,
+-48,-33,
+18,9,
+18,9,
+16,-50,
+16,-21,
+-69,32,
+-35,5,
+-4,22,
+-11,33,
+-6,-29,
+-29,37,
+-18,26,
+-42,27,
+-56,25,
+18,-39,
+-22,-14,
+7,-38,
+44,67,
+-18,33,
+-53,-8,
+11,-21,
+35,15,
+-13,-54,
+-39,-41,
+-21,54,
+-14,-69,
+-11,21,
+-1,-22,
+11,27,
+-15,-42,
+27,21,
+-3,-19,
+21,11,
+24,10,
+17,21,
+-36,80,
+12,2,
+20,11,
+40,15,
+28,-39,
+-8,3,
+-34,-30,
+-27,31,
+-11,20,
+-34,-78,
+12,-15,
+15,-39,
+-55,7,
+-10,64,
+43,-10,
+43,17,
+22,20,
+-16,24,
+10,-15,
+-47,-50,
+37,-31,
+-11,8,
+29,-23,
+15,2,
+-11,-37,
+-10,9,
+9,10,
+-12,46,
+5,9,
+19,-55,
+8,18,
+-4,0,
+-17,-19,
+5,-28,
+-27,-46,
+11,12,
+-16,-4,
+-10,-15,
+-20,-13,
+23,-28,
+13,27,
+-21,1,
+5,1,
+-26,-25,
+-4,39,
+20,-26,
+-13,-2,
+-2,-14,
+17,26,
+28,32,
+-36,27,
+-16,-15,
+-14,20,
+8,-6,
+-44,-28,
+22,-7,
+33,22,
+33,-33,
+30,18,
+-8,-18,
+24,14,
+20,5,
+11,-19,
+-38,0,
+-10,2,
+-16,8,
+6,-39,
+10,27,
+-13,1,
+-28,1,
+-3,-6,
+15,15,
+11,-37,
+-24,-12,
+-3,-10,
+-45,-6,
+-5,-4,
+-12,-17,
+-7,20,
+28,21,
+-22,5,
+25,-38,
+5,-16,
+11,13,
+18,-19,
+7,13,
+8,13,
+9,20,
+2,2,
+0,-6,
+-17,-1,
+-17,17,
+6,-1,
+-8,6,
+-3,-1,
+10,10,
+-22,0,
+27,-6,
+22,14,
+-5,15,
+3,9,
+14,0,
+-18,7,
+-1,3,
+-1,6,
+-3,8,
+-19,7,
+-5,3,
+-9,4,
+8,2,
+3,10,
+-5,-10,
+-1,9,
+14,2,
+0,1,
+8,2,
+15,-5,
+-2,9,
+4,-3,
+1,-3,
+1,-9,
+1,-2,
+2,8,
+-9,9,
+3,-4,
+-4,-1,
+-11,7,
+-5,4,
+3,-3,
+-11,3,
+3,-1,
+7,3,
+-4,-1,
+5,-6,
+4,0,
+-7,-2,
+2,1,
+3,0,
+-6,2,
+1,1,
+2,-2,
+-10,-3,
+-1,-1,
+5,-3,
+-6,-2,
+2,1,
+2,1,
+-6,0,
+2,1,
+2,1,
+-6,1,
+3,0,
+3,0,
+-6,0,
+3,0,
+3,0,
+-6,-1,
+2,-1,
+2,-1,
+-6,0,
+2,-1,
+2,-1,
+-6,2,
+5,3,
+-1,1,
+-10,3,
+2,2,
+1,-1,
+-6,-2,
+3,0,
+2,-1,
+-7,2,
+4,0,
+5,6,
+-4,1,
+7,-3,
+3,1,
+-11,-3,
+3,3,
+-5,-4,
+-11,-7,
+-4,1,
+3,4,
+-9,-9,
+2,-8,
+1,2,
+1,9,
+1,3,
+4,3,
+-2,-9,
+15,5,
+8,-2,
+0,-1,
+14,-2,
+-1,-9,
+-5,10,
+3,-10,
+8,-2,
+-9,-4,
+-5,-3,
+-19,-7,
+-3,-8,
+-1,-6,
+-1,-3,
+-18,-7,
+14,0,
+3,-9,
+-5,-15,
+22,-14,
+27,6,
+-22,0,
+10,-10,
+-3,1,
+-8,-6,
+6,1,
+-17,-17,
+-17,1,
+0,6,
+2,-2,
+9,-20,
+8,-13,
+7,-13,
+18,19,
+11,-13,
+5,16,
+25,38,
+-22,-5,
+28,-21,
+-7,-20,
+-12,17,
+-5,4,
+-45,6,
+-3,10,
+-24,12,
+11,37,
+15,-15,
+-3,6,
+-28,-1,
+-13,-1,
+10,-27,
+6,39,
+-16,-8,
+-10,-2,
+-38,0,
+11,19,
+20,-5,
+24,-14,
+-8,18,
+30,-18,
+33,33,
+33,-22,
+22,7,
+-44,28,
+8,6,
+-14,-20,
+-16,15,
+-36,-27,
+28,-32,
+17,-26,
+-2,14,
+-13,2,
+20,26,
+-4,-39,
+-26,25,
+5,-1,
+-21,-1,
+13,-27,
+23,28,
+-20,13,
+-10,15,
+-16,4,
+11,-12,
+-27,46,
+5,28,
+-17,19,
+-4,0,
+8,-18,
+19,55,
+5,-9,
+-12,-46,
+9,-10,
+-10,-9,
+-11,37,
+15,-2,
+29,23,
+-11,-8,
+37,31,
+-47,50,
+10,15,
+-16,-24,
+22,-20,
+43,-17,
+43,10,
+-10,-64,
+-55,-7,
+15,39,
+12,15,
+-34,78,
+-11,-20,
+-27,-31,
+-34,30,
+-8,-3,
+28,39,
+40,-15,
+20,-11,
+12,-2,
+-36,-80,
+17,-21,
+24,-10,
+21,-11,
+-3,19,
+27,-21,
+-15,42,
+11,-27,
+-1,22,
+-11,-21,
+-14,69,
+-21,-54,
+-39,41,
+-13,54,
+35,-15,
+11,21,
+-53,8,
+-18,-33,
+44,-67,
+7,38,
+-22,14,
+18,39,
+-56,-25,
+-42,-27,
+-18,-26,
+-29,-37,
+-6,29,
+-11,-33,
+-4,-22,
+-35,-5,
+-69,-32,
+16,21,
+16,50,
+18,-9,
+18,-9,
+-48,33,
+-22,40,
+-30,-14,
+-29,41,
+21,-2,
+-15,7,
+-13,4,
+0,6,
+-25,5,
+-82,-39,
+32,13,
+38,45,
+-26,-42,
+-34,-57,
+-47,-3,
+-52,35,
+-4,-23,
+21,53,
+20,-18,
+35,-42,
+-42,4,
+-61,-29,
+-20,51,
+-68,48,
+87,-6,
+41,11,
+-71,-3,
+38,34,
+-63,-5,
+16,-59,
+-45,-43,
+48,-23,
+-31,-66,
+-34,7,
+37,2,
+-73,-13,
+6,47,
+-59,42,
+11,2,
+7,-47,
+35,-75,
+52,-35,
+74,-21,
+-38,-24,
+96,-33,
+28,-30,
+-26,66,
+16,81,
+-5,-3,
+-27,-9,
+41,-15,
+49,39,
+6,8,
+-25,-62,
+10,6,
+105,13,
+25,39,
+-80,32,
+44,-128,
+-27,5,
+-31,-105,
+21,-8,
+28,57,
+-26,3,
+-8,67,
+8,28,
+10,-11,
+16,-44,
+-84,16,
+-9,17,
+-13,19,
+53,-2,
+-58,-13,
+46,54,
+-34,29,
+-45,-29,
+68,54,
+-12,-44,
+-32,-122,
+6,-6,
+20,8,
+-73,17,
+-38,-16,
+8,31,
+12,35,
+-3,64,
+54,-36,
+28,75,
+88,-21,
+-57,8,
+22,-89,
+-18,-19,
+15,91,
+6,40,
+-13,-45,
+-32,32,
+65,93,
+1,57,
+-54,30,
+30,-72,
+17,-6,
+-26,46,
+28,29,
+-19,36,
+38,-73,
+-58,54,
+-129,44,
+-112,-33,
+18,-9,
+-40,1,
+-31,-23,
+-1,13,
+71,150,
+58,-6,
+-20,40,
+0,51,
+9,-82,
+-67,-54,
+18,-33,
+5,148,
+-2,5,
+50,22,
+-72,-38,
+-8,29,
+125,-93,
+94,-50,
+-88,7,
+13,60,
+28,16,
+-14,59,
+23,141,
+101,-122,
+3,41,
+-14,5,
+106,-54,
+37,99,
+-95,107,
+122,1,
+12,-26,
+-59,10,
+23,49,
+-12,36,
+-7,9,
+59,18,
+6,39,
+-19,143,
+-61,-28,
+19,-46,
+178,52,
+75,3,
+-63,77,
+-45,-9,
+-57,-9,
+111,-28,
+-6,-94,
+72,-93,
+-3,59,
+4,15,
+-34,9,
+7,-54,
+-106,-74,
+43,8,
+-196,-69,
+-24,39,
+62,-41,
+93,17,
+51,-40,
+-87,-36,
+100,-27,
+47,24,
+-72,-7,
+-9,99,
+9,16,
+80,125,
+-15,-84,
+64,-62,
+56,22,
+34,-2,
+8,-87,
+-164,-46,
+58,-28,
+-110,48,
+124,27,
+71,17,
+-31,-74,
+-156,32,
+29,-82,
+81,-39,
+38,15,
+119,-106,
+-18,-55,
+32,111,
+76,84,
+124,-44,
+74,24,
+32,77,
+-45,59,
+99,109,
+156,-5,
+-181,65,
+-74,-45,
+-18,94,
+-35,-52,
+-24,179,
+43,58,
+-51,10,
+87,94,
+71,-81,
+76,-86,
+39,99,
+-23,52,
+-91,28,
+-44,17,
+-96,-8,
+-60,-28,
+105,-89,
+-81,-69,
+-127,66,
+-17,-140,
+-11,-56,
+-23,-109,
+-36,42,
+39,-24,
+105,39,
+-40,-65,
+-88,-82,
+34,-18,
+-53,35,
+-135,70,
+-2,79,
+-30,-126,
+69,62,
+33,-148,
+41,86,
+-26,36,
+-57,4,
+-42,40,
+65,11,
+-66,-44,
+118,73,
+125,-113,
+6,-35,
+-10,-75,
+-20,-5,
+-98,-35,
+18,-12,
+-2,-90,
+-88,-25,
+107,-84,
+-106,-45,
+-128,17,
+35,-24,
+38,18,
+-180,27,
+-94,17,
+-46,72,
+-131,155,
+-138,51,
+-2,-2,
+16,19,
+4,66,
+129,-42,
+-19,148,
+6,-52,
+67,94,
+-75,17,
+-133,-19,
+9,-85,
+12,101,
+54,36,
+-50,101,
+102,14,
+87,41,
+-20,61,
+182,79,
+-43,118,
+-26,103,
+-9,-103,
+36,-31,
+79,48,
+8,149,
+81,106,
+42,-41,
+-141,38,
+22,33,
+12,-6,
+86,-71,
+-93,-149,
+-124,146,
+-63,-40,
+81,1,
+-62,-2,
+-60,-42,
+117,32,
+-50,-61,
+79,-91,
+73,119,
+-110,-76,
+136,105,
+-67,-12,
+49,-32,
+-63,-34,
+-16,164,
+101,-10,
+-146,158,
+153,38,
+-85,-36,
+-110,15,
+-91,202,
+-90,-7,
+-18,141,
+92,34,
+-6,-34,
+-111,-187,
+61,73,
+39,32,
+-3,-14,
+-87,191,
+72,-14,
+-62,-26,
+140,-108,
+16,122,
+46,0,
+-76,113,
+-169,-28,
+97,163,
+-151,22,
+-33,-201,
+25,68,
+157,-92,
+-160,12,
+-35,30,
+-63,81,
+-60,-143,
+24,25,
+75,85,
+146,-22,
+-148,-57,
+-13,18,
+-140,51,
+-85,134,
+-90,151,
+68,-58,
+-78,77,
+-69,-107,
+-155,101,
+4,-81,
+-92,31,
+94,110,
+-26,-180,
+-17,127,
+-110,-90,
+107,-9,
+-76,-2,
+93,-127,
+82,45,
+-115,-8,
+78,24,
+80,21,
+-167,-27,
+80,183,
+-9,90,
+146,-52,
+27,-128,
+-93,140,
+14,10,
+-3,24,
+-79,-66,
+-193,-98,
+-76,3,
+113,-92,
+5,-7,
+-18,118,
+-178,-99,
+-121,-28,
+-16,-146,
+-67,-10,
+-79,-92,
+16,-80,
+-195,120,
+-7,-152,
+44,28,
+56,207,
+-89,23,
+32,-61,
+-150,42,
+45,-65,
+-122,-74,
+11,-56,
+-47,5,
+3,-11,
+-77,173,
+-157,185,
+-124,0,
+-7,186,
+-29,179,
+-20,-45,
+0,-29,
+31,186,
+21,26,
+85,37,
+120,-48,
+-4,69,
+110,28,
+4,12,
+15,110,
+59,12,
+163,-70,
+-46,-121,
+108,-100,
+-70,-67,
+-6,102,
+25,-76,
+-75,104,
+-81,79,
+67,-96,
+-97,-77,
+237,31,
+-85,-127,
+31,138,
+-116,132,
+-91,31,
+73,40,
+104,56,
+37,51,
+45,-76,
+-88,-136,
+66,82,
+21,84,
+231,-90,
+15,108,
+88,188,
+-32,-5,
+154,14,
+109,-23,
+-95,128,
+27,161,
+18,26,
+-217,66,
+-10,-14,
+98,-149,
+13,-151,
+25,28,
+-111,-111,
+-142,50,
+-52,39,
+-207,-12,
+123,30,
+-127,242,
+43,36,
+-112,-22,
+-53,-219,
+-163,-16,
+-104,99,
+7,-206,
+12,-191,
+-106,-74,
+-154,-25,
+71,-109,
+136,13,
+38,-198,
+22,-117,
+80,62,
+92,107,
+-65,143,
+110,-180,
+-97,-70,
+-77,-76,
+37,260,
+126,-81,
+62,192,
+48,-75,
+-25,-200,
+82,32,
+77,-67,
+-21,-76,
+-292,-83,
+84,123,
+-117,9,
+-38,-55,
+96,-49,
+54,-76,
+-19,131,
+118,-248,
+-79,-187,
+52,270,
+12,38,
+107,198,
+3,-29,
+158,131,
+37,-36,
+-187,57,
+80,-54,
+67,-34,
+128,-141,
+148,20,
+-26,-127,
+-81,242,
+73,71,
+-211,-216,
+1,-176,
+131,-129,
+-82,96,
+-130,144,
+-143,-143,
+6,-37,
+-54,45,
+-27,-81,
+-91,52,
+-77,100,
+137,-125,
+-43,-47,
+-264,-2,
+-31,42,
+-25,-214,
+-33,-26,
+137,59,
+-93,-214,
+17,-81,
+-245,110,
+-56,-148,
+-9,49,
+-109,126,
+152,-152,
+125,-282,
+47,86,
+-87,44,
+143,-3,
+-182,-53,
+-135,-17,
+-96,35,
+283,25,
+8,78,
+-40,-41,
+-1,8,
+-178,-40,
+-95,-204,
+-156,-10,
+68,161,
+30,-63,
+6,82,
+31,181,
+-53,260,
+-71,116,
+-3,2,
+140,-124,
+-229,117,
+-66,-40,
+120,-71,
+-13,58,
+62,13,
+-156,-9,
+-239,-22,
+-17,-78,
+78,108,
+-106,-1,
+-169,-73,
+41,-2,
+137,128,
+112,-147,
+-149,63,
+68,-215,
+-148,-89,
+26,24,
+-154,-16,
+-71,-85,
+46,170,
+14,125,
+-151,-55,
+173,-5,
+191,131,
+60,-108,
+21,-4,
+-89,29,
+-2,19,
+-73,74,
+-83,-94,
+81,82,
+-23,-130,
+-133,157,
+51,72,
+75,78,
+21,-88,
+-96,-29,
+-47,80,
+-188,13,
+-5,-66,
+46,-23,
+29,82,
+359,-31,
+-40,79,
+140,5,
+-127,39,
+-151,-225,
+147,-168,
+45,193,
+3,-36,
+-47,-226,
+-54,27,
+117,9,
+-56,-45,
+-192,86,
+-154,-11,
+27,-142,
+151,-32,
+26,-194,
+48,36,
+148,-236,
+135,-126,
+177,26,
+2,27,
+-179,-50,
+-46,302,
+-20,-102,
+-18,86,
+69,61,
+61,-3,
+167,24,
+92,-79,
+129,220,
+74,-145,
+-103,230,
+-83,-38,
+126,-77,
+-118,-76,
+-120,-106,
+-29,324,
+-124,99,
+169,20,
+85,79,
+-62,-179,
+44,-89,
+-123,123,
+-3,80,
+-13,123,
+177,216,
+104,-6,
+-83,-144,
+-86,38,
+98,95,
+83,183,
+-126,-8,
+23,11,
+57,31,
+-161,31,
+39,-28,
+-67,149,
+-94,154,
+-117,-13,
+49,98,
+-19,-108,
+-128,-147,
+-69,111,
+44,88,
+106,186,
+44,44,
+34,-52,
+82,120,
+-79,34,
+223,77,
+114,206,
+-67,87,
+81,75,
+-257,-28,
+-10,7,
+177,-119,
+185,-5,
+-132,238,
+64,-13,
+-69,-206,
+-183,102,
+-23,160,
+-82,22,
+104,109,
+-282,53,
+204,-81,
+-102,78,
+2,-50,
+-92,-32,
+106,-45,
+-86,-14,
+51,-201,
+230,42,
+88,54,
+238,17,
+-41,-136,
+-51,-121,
+108,-166,
+-300,56,
+73,183,
+132,33,
+-103,145,
+-54,96,
+-334,-69,
+-53,4,
+89,162,
+97,117,
+194,-234,
+-108,-206,
+166,-36,
+146,-77,
+-142,199,
+-204,-93,
+-102,134,
+-86,-177,
+57,-39,
+-171,-70,
+-11,21,
+-119,51,
+183,11,
+181,-26,
+-21,43,
+-91,-114,
+-160,-85,
+188,102,
+-123,-11,
+-317,91,
+12,17,
+-144,92,
+28,-73,
+23,201,
+-250,7,
+-17,-94,
+70,-25,
+90,-2,
+-169,128,
+144,24,
+-118,69,
+131,-59,
+-164,-56,
+-45,154,
+127,-208,
+308,-115,
+-19,155,
+92,242,
+36,-143,
+-55,238,
+-144,30,
+8,15,
+-67,-256,
+114,-283,
+-223,-95,
+124,-66,
+-4,-31,
+22,-289,
+-66,79,
+-111,126,
+175,201,
+-169,26,
+-21,14,
+-49,-107,
+202,106,
+-129,241,
+84,0,
+-55,-139,
+-85,25,
+-289,-31,
+15,331,
+-23,64,
+-156,263,
+10,56,
+28,-92,
+300,89,
+-54,-221,
+-280,145,
+-132,-254,
+-3,-109,
+54,-12,
+-134,-241,
+320,-29,
+142,24,
+-26,-217,
+-15,124,
+26,239,
+26,-44,
+195,161,
+-111,34,
+69,-152,
+118,224,
+-40,-54,
+-33,-168,
+129,-251,
+221,4,
+46,-61,
+73,-35,
+20,27,
+74,185,
+74,-96,
+94,145,
+94,129,
+60,238,
+2,-11,
+137,-61,
+-34,-37,
+84,101,
+-96,-89,
+187,-50,
+14,-130,
+-118,-139,
+157,-116,
+-52,-161,
+75,44,
+-88,-31,
+-173,-33,
+-71,-94,
+243,137,
+108,13,
+-51,21,
+9,108,
+124,266,
+75,2,
+34,166,
+-79,43,
+144,-20,
+21,-70,
+-58,-91,
+-70,-58,
+-171,-21,
+86,55,
+-31,18,
+29,-6,
+97,71,
+68,-36,
+-130,126,
+-128,208,
+-126,89,
+-122,36,
+-156,-106,
+13,148,
+115,76,
+39,0,
+-60,129,
+281,74,
+75,99,
+-129,-57,
+243,-45,
+6,0,
+79,35,
+42,-79,
+39,85,
+123,-196,
+-48,18,
+122,38,
+120,-102,
+34,339,
+105,-176,
+59,90,
+2,117,
+157,239,
+-230,-146,
+53,79,
+-5,163,
+198,115,
+15,-259,
+-108,78,
+155,42,
+-87,80,
+-248,171,
+-37,-5,
+1,146,
+-141,-124,
+-49,13,
+-263,-44,
+-118,20,
+-4,17,
+-39,284,
+-137,51,
+121,34,
+-59,70,
+111,-69,
+3,215,
+-40,168,
+150,-4,
+90,-66,
+-298,133,
+177,-76,
+167,-8,
+-111,-163,
+-164,-53,
+1,20,
+-113,39,
+-107,-221,
+-11,-98,
+-58,-33,
+-55,103,
+264,-40,
+218,38,
+-162,26,
+27,204,
+-36,-237,
+36,-67,
+140,-117,
+214,34,
+-87,22,
+-91,215,
+33,-192,
+-93,40,
+-1,-215,
+18,134,
+-8,-113,
+-73,35,
+-46,-68,
+35,-264,
+-208,18,
+-67,-90,
+217,47,
+42,-77,
+-76,-89,
+22,41,
+68,-53,
+89,-4,
+-160,-73,
+-233,41,
+-17,5,
+67,225,
+-1,-140,
+-297,-106,
+67,-151,
+212,-96,
+-83,-233,
+-28,-58,
+-76,-354,
+-75,-29,
+40,-262,
+-19,71,
+71,-16,
+7,-103,
+41,122,
+10,29,
+-152,-224,
+-95,-188,
+-84,-33,
+56,-6,
+-10,-192,
+-303,-55,
+102,-70,
+-3,141,
+6,16,
+-22,208,
+-124,112,
+-24,269,
+-39,18,
+-259,-22,
+-51,-239,
+-227,91,
+7,40,
+-64,129,
+138,-78,
+-10,-197,
+160,36,
+190,-233,
+-272,-112,
+54,53,
+49,-25,
+-52,-118,
+-15,-248,
+-80,141,
+-55,-56,
+125,-4,
+-7,-14,
+214,-25,
+118,234,
+105,-8,
+-35,-143,
+100,101,
+96,20,
+-110,48,
+-75,159,
+112,-147,
+153,-128,
+60,280,
+6,211,
+-85,-33,
+-137,12,
+-62,-127,
+-37,-33,
+14,-44,
+214,41,
+115,-83,
+47,95,
+46,68,
+31,48,
+155,-59,
+-29,-182,
+-137,62,
+93,236,
+103,53,
+-147,-209,
+233,-18,
+-53,-6,
+-18,94,
+10,-112,
+249,-53,
+143,12,
+88,-76,
+25,53,
+210,149,
+-198,-58,
+-88,-24,
+158,-160,
+-122,-150,
+172,-118,
+-190,-29,
+57,176,
+-102,18,
+-8,116,
+-83,264,
+105,253,
+4,2,
+-112,9,
+179,-147,
+-107,162,
+-4,-4,
+59,26,
+-61,-157,
+-82,113,
+23,-211,
+72,-328,
+-50,-41,
+-281,-84,
+-7,-190,
+129,65,
+-120,-32,
+-145,-103,
+236,-26,
+144,94,
+169,89,
+240,-146,
+58,122,
+-28,18,
+-143,-11,
+76,24,
+-13,41,
+148,-204,
+-72,119,
+193,-53,
+120,38,
+78,-176,
+-190,22,
+-53,27,
+-148,-82,
+184,201,
+-138,99,
+92,-63,
+138,54,
+-94,-106,
+-38,5,
+126,94,
+152,193,
+-8,-11,
+23,134,
+10,-142,
+183,63,
+-170,76,
+1,84,
+-21,-79,
+-136,127,
+79,-70,
+-59,-54,
+41,61,
+106,-21,
+53,39,
+-180,-178,
+116,8,
+-132,-215,
+93,-64,
+22,33,
+-44,16,
+156,224,
+-220,-88,
+-53,105,
+4,-118,
+49,150,
+34,-180,
+201,-202,
+-191,-177,
+-204,-67,
+19,-28,
+-43,-33,
+-146,-49,
+24,-137,
+-102,89,
+40,-77,
+-127,122,
+23,186,
+-92,12,
+-64,33,
+-59,-50,
+-29,53,
+-155,191,
+29,284,
+-121,199,
+116,-253,
+164,16,
+-236,-191,
+89,66,
+-19,164,
+-21,258,
+-7,55,
+-2,-180,
+128,10,
+-248,-49,
+-61,135,
+42,-116,
+179,3,
+-49,9,
+-244,1,
+-166,-73,
+-206,-87,
+68,54,
+30,-29,
+82,68,
+87,46,
+31,28,
+-66,-137,
+55,-109,
+23,105,
+105,173,
+-201,110,
+184,15,
+-27,35,
+-90,-203,
+16,211,
+-134,-176,
+43,190,
+91,-11,
+-124,-26,
+109,29,
+92,1,
+64,-4,
+47,-160,
+76,-34,
+41,151,
+-57,-25,
+-135,-13,
+163,45,
+11,-46,
+-243,54,
+-77,-62,
+101,-192,
+-53,-18,
+74,218,
+9,-73,
+-109,102,
+48,-127,
+51,65,
+117,166,
+144,65,
+105,-46,
+-142,59,
+-36,59,
+-101,97,
+-223,-59,
+63,101,
+-144,-28,
+52,-57,
+44,144,
+-145,-32,
+8,-82,
+45,252,
+103,-95,
+154,-22,
+-71,142,
+135,-54,
+231,-156,
+-56,-92,
+41,53,
+-283,121,
+-129,-80,
+164,26,
+138,291,
+1,9,
+-18,-94,
+-122,-108,
+-39,204,
+-75,118,
+-101,56,
+-36,-54,
+-79,10,
+31,150,
+101,55,
+-112,-18,
+144,139,
+-53,70,
+12,-159,
+-140,-30,
+103,-33,
+96,-65,
+-16,-131,
+257,-96,
+-50,157,
+-54,-166,
+-53,-116,
+109,83,
+287,-21,
+-26,-148,
+119,113,
+154,-19,
+84,-48,
+31,-222,
+-161,97,
+-22,32,
+-113,-15,
+-105,40,
+-22,-25,
+17,73,
+131,67,
+13,-5,
+-79,10,
+86,-37,
+-187,-80,
+-16,97,
+-26,51,
+-17,-89,
+-15,63,
+64,156,
+-18,178,
+240,67,
+64,59,
+-133,77,
+226,151,
+83,9,
+-52,-5,
+54,-74,
+68,-186,
+46,31,
+22,177,
+62,194,
+-61,217,
+162,-46,
+77,-21,
+-165,-19,
+117,-43,
+130,40,
+-107,-12,
+188,-101,
+10,40,
+-120,113,
+-54,100,
+-85,-115,
+-148,22,
+-50,-109,
+134,-7,
+152,80,
+17,-4,
+-119,25,
+60,-20,
+188,-163,
+-87,86,
+-70,-32,
+-114,-49,
+137,-14,
+-22,-253,
+178,-4,
+55,18,
+-76,96,
+-94,78,
+-129,205,
+-4,88,
+-12,-90,
+158,104,
+72,139,
+-88,-24,
+67,-22,
+27,-70,
+-246,19,
+-45,123,
+-94,113,
+99,19,
+-22,92,
+106,18,
+94,62,
+153,-129,
+127,20,
+123,160,
+113,9,
+-17,118,
+68,160,
+-26,-84,
+-76,16,
+46,-21,
+-80,-213,
+-83,153,
+-155,-30,
+-37,-75,
+86,-54,
+91,49,
+104,-48,
+-16,134,
+-122,65,
+184,-114,
+47,11,
+-62,-80,
+40,-137,
+-21,-170,
+169,2,
+154,-46,
+55,55,
+-10,132,
+57,104,
+23,70,
+84,-80,
+56,-183,
+-79,27,
+-105,-82,
+58,90,
+73,-97,
+-167,19,
+-37,-154,
+82,72,
+8,97,
+79,104,
+7,-2,
+58,-34,
+-124,103,
+43,-52,
+108,175,
+12,-24,
+-73,-83,
+-157,24,
+-22,109,
+-124,46,
+204,-86,
+222,30,
+-135,34,
+-31,-6,
+-95,62,
+61,-136,
+71,185,
+-7,25,
+-9,-22,
+-33,-116,
+66,-70,
+70,31,
+-26,-56,
+-147,72,
+43,100,
+-92,-56,
+-33,29,
+-31,-165,
+-75,119,
+-114,-236,
+-43,128,
+-8,-14,
+-48,-45,
+3,-10,
+176,27,
+109,22,
+90,-28,
+-61,226,
+64,101,
+-10,17,
+-82,-23,
+86,-30,
+-67,-46,
+58,-89,
+-221,-92,
+144,-21,
+-174,-55,
+25,-17,
+108,-85,
+18,-1,
+1,-117,
+-22,78,
+-20,105,
+-133,-58,
+-59,-50,
+152,89,
+-31,-8,
+96,27,
+-109,66,
+60,-247,
+58,48,
+-42,159,
+-16,103,
+8,43,
+114,-168,
+17,-50,
+-90,-106,
+37,22,
+36,103,
+122,6,
+-73,-36,
+73,-65,
+-13,135,
+28,-29,
+186,51,
+-34,81,
+-46,-72,
+-89,-101,
+60,24,
+-105,83,
+115,-112,
+-116,-70,
+-97,75,
+-59,28,
+17,62,
+122,31,
+118,-13,
+12,51,
+6,160,
+-40,67,
+-100,90,
+-177,-61,
+17,-19,
+-77,87,
+-42,44,
+59,19,
+54,-91,
+36,93,
+-18,127,
+-8,3,
+-109,2,
+75,-94,
+-34,-160,
+-5,49,
+-118,-49,
+-5,-34,
+47,13,
+4,-14,
+135,54,
+78,47,
+2,110,
+92,111,
+-58,97,
+-103,110,
+186,27,
+-25,68,
+7,-40,
+153,64,
+55,-171,
+-20,-84,
+37,-29,
+-101,39,
+4,-12,
+146,-1,
+18,130,
+-34,50,
+73,-113,
+128,14,
+82,-128,
+46,-77,
+72,122,
+-118,31,
+-35,80,
+-138,8,
+1,25,
+53,-181,
+-84,58,
+16,68,
+-69,33,
+-18,-18,
+75,-52,
+6,119,
+-23,142,
+5,-85,
+-93,-111,
+13,9,
+8,-115,
+118,-79,
+2,109,
+-51,-33,
+-13,60,
+10,62,
+2,6,
+-33,-9,
+-35,4,
+36,72,
+56,53,
+205,-42,
+106,54,
+-28,22,
+-48,61,
+-104,3,
+-9,-16,
+69,97,
+22,44,
+100,31,
+37,-11,
+24,103,
+119,120,
+144,-82,
+-28,39,
+-5,13,
+33,-44,
+12,-57,
+10,17,
+-49,-115,
+-18,64,
+45,1,
+19,3,
+17,107,
+53,-57,
+-39,-93,
+8,0,
+64,-88,
+-27,-42,
+-33,-27,
+-134,90,
+84,83,
+-10,32,
+-41,87,
+-22,43,
+31,164,
+-59,-39,
+-62,-128,
+-4,124,
+64,10,
+-158,74,
+-47,48,
+67,16,
+-122,-7,
+-38,-88,
+57,83,
+26,-44,
+27,54,
+44,-20,
+41,33,
+41,-4,
+-20,-85,
+-22,-16,
+132,-36,
+68,-74,
+-24,-2,
+-105,-57,
+87,5,
+74,109,
+64,56,
+-22,-75,
+-11,-89,
+105,-102,
+-63,105,
+-148,40,
+60,70,
+33,50,
+-58,-33,
+68,127,
+6,45,
+31,-95,
+-12,32,
+18,-19,
+29,-35,
+-30,67,
+11,-118,
+51,-29,
+-39,-52,
+97,-82,
+5,-4,
+-37,17,
+63,80,
+73,57,
+-3,55,
+31,-29,
+-81,-8,
+89,-1,
+33,-8,
+8,43,
+-77,0,
+-44,-34,
+7,-91,
+25,-19,
+-22,62,
+2,-2,
+24,-104,
+18,60,
+23,54,
+-73,-27,
+-50,60,
+66,80,
+-33,-44,
+-17,48,
+67,-11,
+-47,-11,
+95,30,
+-83,-82,
+52,-17,
+-70,51,
+33,-41,
+61,45,
+66,-59,
+44,72,
+-32,-3,
+-74,-19,
+0,8,
+58,44,
+-17,27,
+28,40,
+-2,-20,
+-23,-24,
+-45,-137,
+7,-72,
+15,-16,
+-40,39,
+21,73,
+-27,-85,
+59,-44,
+-56,-18,
+-37,74,
+3,-54,
+110,-13,
+97,66,
+-37,-84,
+18,21,
+-106,2,
+-3,39,
+12,19,
+148,-77,
+79,7,
+-2,-47,
+17,-16,
+-29,-26,
+41,-23,
+61,-30,
+27,16,
+25,-67,
+-38,40,
+11,-45,
+-55,-42,
+-7,1,
+1,-17,
+-39,-80,
+-58,-33,
+-95,12,
+-28,70,
+-19,-10,
+61,10,
+-78,-41,
+73,-19,
+6,-41,
+48,75,
+3,-19,
+-43,-28,
+-34,77,
+-62,-86,
+13,11,
+-61,7,
+47,18,
+3,15,
+-39,24,
+21,-49,
+-7,18,
+13,-22,
+1,-46,
+54,26,
+-21,-22,
+15,61,
+-26,-15,
+57,-3,
+28,55,
+49,50,
+-15,-36,
+-3,-3,
+-27,32,
+17,9,
+27,20,
+30,-36,
+29,50,
+-33,-89,
+4,-26,
+-3,12,
+-72,58,
+70,13,
+-30,50,
+-20,-29,
+-14,51,
+26,-6,
+-21,-24,
+26,-37,
+9,55,
+-5,43,
+-19,48,
+66,81,
+-20,18,
+-52,-9,
+36,-35,
+-25,15,
+-38,12,
+-9,-64,
+-41,-57,
+-77,60,
+-44,0,
+-15,-53,
+17,23,
+-50,3,
+48,-34,
+-1,38,
+6,-20,
+-41,10,
+32,0,
+55,3,
+71,10,
+30,-32,
+20,8,
+16,-38,
+25,29,
+-49,-49,
+-45,54,
+-13,-12,
+-43,-18,
+17,-11,
+21,-10,
+11,64,
+-3,-12,
+-15,40,
+-7,69,
+-12,7,
+-12,-40,
+42,54,
+-39,-21,
+-35,21,
+15,6,
+49,7,
+9,-9,
+-24,-13,
+-32,17,
+14,37,
+33,-10,
+-8,9,
+8,46,
+-6,23,
+1,16,
+-26,-7,
+3,-21,
+-29,-24,
+8,-18,
+55,-2,
+34,15,
+-12,31,
+-21,24,
+5,-19,
+31,-17,
+10,17,
+-11,17,
+3,2,
+-6,6,
+16,43,
+40,12,
+-30,34,
+-12,-8,
+34,5,
+-28,-7,
+-5,-27,
+-41,9,
+0,16,
+11,-29,
+-26,5,
+-24,-7,
+-24,36,
+-1,22,
+-31,-16,
+11,25,
+44,-26,
+-30,-14,
+-4,-39,
+-23,-9,
+15,-30,
+26,-3,
+46,1,
+-1,-27,
+32,5,
+2,26,
+2,-31,
+-21,-3,
+-13,-22,
+-17,3,
+5,7,
+-29,-31,
+-37,-14,
+11,1,
+11,5,
+-9,3,
+-3,3,
+-2,12,
+-6,-13,
+-50,0,
+4,-4,
+-47,-24,
+-12,12,
+-12,17,
+-20,0,
+-25,-15,
+11,-22,
+-6,22,
+25,-5,
+-4,-30,
+-9,-14,
+-3,5,
+7,14,
+-14,-3,
+2,-6,
+-4,9,
+-14,14,
+16,0,
+-19,-19,
+-16,-8,
+-9,11,
+-2,-16,
+3,-4,
+-12,13,
+14,-13,
+-33,-2,
+12,4,
+3,-12,
+8,-5,
+-2,17,
+1,15,
+-25,-5,
+2,9,
+-1,-10,
+13,-4,
+-3,14,
+2,20,
+0,-3,
+6,-6,
+-14,2,
+-10,-11,
+-1,-5,
+5,0,
+-9,-13,
+-3,-7,
+-8,16,
+3,-1,
+1,-4,
+2,-4,
+-4,9,
+12,3,
+9,-3,
+1,2,
+-2,8,
+6,-7,
+3,2,
+5,-3,
+12,-3,
+-8,-4,
+1,-6,
+1,-10,
+-4,1,
+-2,-1,
+11,-5,
+-4,-4,
+4,-3,
+8,0,
+-8,3,
+0,-3,
+2,3,
+2,6,
+1,-6,
+2,1,
+-3,-1,
+7,1,
+0,1,
+-3,1,
+2,1,
+5,1,
+-6,1,
+2,1,
+3,0,
+-6,1,
+3,0,
+3,0,
+-6,0,
+3,0,
+3,0,
+-6,-1,
+3,0,
+2,-1,
+-6,-1,
+5,-1,
+2,-1,
+-3,-1,
+0,-1,
+7,-1,
+-3,1,
+2,-1,
+1,6,
+2,-6,
+2,-3,
+0,3,
+-8,-3,
+8,0,
+4,3,
+-4,4,
+11,5,
+-2,1,
+-4,-1,
+1,10,
+1,6,
+-8,4,
+12,3,
+5,3,
+3,-2,
+6,7,
+-2,-8,
+1,-2,
+9,3,
+12,-3,
+-4,-9,
+2,4,
+1,4,
+3,1,
+-8,-16,
+-3,7,
+-9,13,
+5,0,
+-1,5,
+-10,11,
+-14,-2,
+6,6,
+0,3,
+2,-20,
+-3,-14,
+13,4,
+-1,10,
+2,-9,
+-25,5,
+1,-15,
+-2,-17,
+8,5,
+3,12,
+12,-4,
+-33,2,
+14,13,
+-12,-13,
+3,4,
+-2,16,
+-9,-11,
+-16,8,
+-19,19,
+16,0,
+-14,-14,
+-4,-9,
+2,6,
+-14,3,
+7,-14,
+-3,-5,
+-9,14,
+-4,30,
+25,5,
+-6,-22,
+11,22,
+-25,15,
+-20,0,
+-12,-17,
+-12,-12,
+-47,24,
+4,4,
+-50,0,
+-6,13,
+-2,-12,
+-3,-3,
+-9,-3,
+11,-5,
+11,-1,
+-37,14,
+-29,31,
+5,-7,
+-17,-3,
+-13,22,
+-21,3,
+2,31,
+2,-26,
+32,-5,
+-1,27,
+46,-1,
+26,3,
+15,30,
+-23,9,
+-4,39,
+-30,14,
+44,26,
+11,-25,
+-31,16,
+-1,-22,
+-24,-36,
+-24,7,
+-26,-5,
+11,29,
+0,-16,
+-41,-9,
+-5,27,
+-28,7,
+34,-5,
+-12,8,
+-30,-34,
+40,-12,
+16,-43,
+-6,-6,
+3,-2,
+-11,-17,
+10,-17,
+31,17,
+5,19,
+-21,-24,
+-12,-31,
+34,-15,
+55,2,
+8,18,
+-29,24,
+3,21,
+-26,7,
+1,-16,
+-6,-23,
+8,-46,
+-8,-9,
+33,10,
+14,-37,
+-32,-17,
+-24,13,
+9,9,
+49,-7,
+15,-6,
+-35,-21,
+-39,21,
+42,-54,
+-12,40,
+-12,-7,
+-7,-69,
+-15,-40,
+-3,12,
+11,-64,
+21,10,
+17,11,
+-43,18,
+-13,12,
+-45,-54,
+-49,49,
+25,-29,
+16,38,
+20,-8,
+30,32,
+71,-10,
+55,-3,
+32,0,
+-41,-10,
+6,20,
+-1,-38,
+48,34,
+-50,-3,
+17,-23,
+-15,53,
+-44,0,
+-77,-60,
+-41,57,
+-9,64,
+-38,-12,
+-25,-15,
+36,35,
+-52,9,
+-20,-18,
+66,-81,
+-19,-48,
+-5,-43,
+9,-55,
+26,37,
+-21,24,
+26,6,
+-14,-51,
+-20,29,
+-30,-50,
+70,-13,
+-72,-58,
+-3,-12,
+4,26,
+-33,89,
+29,-50,
+30,36,
+27,-20,
+17,-9,
+-27,-32,
+-3,3,
+-15,36,
+49,-50,
+28,-55,
+57,3,
+-26,15,
+15,-61,
+-21,22,
+54,-26,
+1,46,
+13,22,
+-7,-18,
+21,49,
+-39,-24,
+3,-15,
+47,-18,
+-61,-7,
+13,-11,
+-62,86,
+-34,-77,
+-43,28,
+3,19,
+48,-75,
+6,41,
+73,19,
+-78,41,
+61,-10,
+-19,10,
+-28,-70,
+-95,-12,
+-58,33,
+-39,80,
+1,17,
+-7,-1,
+-55,42,
+11,45,
+-38,-40,
+25,67,
+27,-16,
+61,30,
+41,23,
+-29,26,
+17,16,
+-2,47,
+79,-7,
+148,77,
+12,-19,
+-3,-39,
+-106,-2,
+18,-21,
+-37,84,
+97,-66,
+110,13,
+3,54,
+-37,-74,
+-56,18,
+59,44,
+-27,85,
+21,-73,
+-40,-39,
+15,16,
+7,72,
+-45,137,
+-23,24,
+-2,20,
+28,-40,
+-17,-27,
+58,-44,
+0,-8,
+-74,19,
+-32,3,
+44,-72,
+66,59,
+61,-45,
+33,41,
+-70,-51,
+52,17,
+-83,82,
+95,-30,
+-47,11,
+67,11,
+-17,-48,
+-33,44,
+66,-80,
+-50,-60,
+-73,27,
+23,-54,
+18,-60,
+24,104,
+2,2,
+-22,-62,
+25,19,
+7,91,
+-44,34,
+-77,0,
+8,-43,
+33,8,
+89,1,
+-81,8,
+31,29,
+-3,-55,
+73,-57,
+63,-80,
+-37,-17,
+5,4,
+97,82,
+-39,52,
+51,29,
+11,118,
+-30,-67,
+29,35,
+18,19,
+-12,-32,
+31,95,
+6,-45,
+68,-127,
+-58,33,
+33,-50,
+60,-70,
+-148,-40,
+-63,-105,
+105,102,
+-11,89,
+-22,75,
+64,-56,
+74,-109,
+87,-5,
+-105,57,
+-24,2,
+68,74,
+132,36,
+-22,16,
+-20,85,
+41,4,
+41,-33,
+44,20,
+27,-54,
+26,44,
+57,-83,
+-38,88,
+-122,7,
+67,-16,
+-47,-48,
+-158,-74,
+64,-10,
+-4,-124,
+-62,128,
+-59,39,
+31,-164,
+-22,-43,
+-41,-87,
+-10,-32,
+84,-83,
+-134,-90,
+-33,27,
+-27,42,
+64,88,
+8,0,
+-39,93,
+53,57,
+17,-107,
+19,-3,
+45,-1,
+-18,-64,
+-49,115,
+10,-17,
+12,57,
+33,44,
+-5,-13,
+-28,-39,
+144,82,
+119,-120,
+24,-103,
+37,11,
+100,-31,
+22,-44,
+69,-97,
+-9,16,
+-104,-3,
+-48,-61,
+-28,-22,
+106,-54,
+205,42,
+56,-53,
+36,-72,
+-35,-4,
+-33,9,
+2,-6,
+10,-62,
+-13,-60,
+-51,33,
+2,-109,
+118,79,
+8,115,
+13,-9,
+-93,111,
+5,85,
+-23,-142,
+6,-119,
+75,52,
+-18,18,
+-69,-33,
+16,-68,
+-84,-58,
+53,181,
+1,-25,
+-138,-8,
+-35,-80,
+-118,-31,
+72,-122,
+46,77,
+82,128,
+128,-14,
+73,113,
+-34,-50,
+18,-130,
+146,1,
+4,12,
+-101,-39,
+37,29,
+-20,84,
+55,171,
+153,-64,
+7,40,
+-25,-68,
+186,-27,
+-103,-110,
+-58,-97,
+92,-111,
+2,-110,
+78,-47,
+135,-54,
+4,14,
+47,-13,
+-5,34,
+-118,49,
+-5,-49,
+-34,160,
+75,94,
+-109,-2,
+-8,-3,
+-18,-127,
+36,-93,
+54,91,
+59,-19,
+-42,-44,
+-77,-87,
+17,19,
+-177,61,
+-100,-90,
+-40,-67,
+6,-160,
+12,-51,
+118,13,
+122,-31,
+17,-62,
+-59,-28,
+-97,-75,
+-116,70,
+115,112,
+-105,-83,
+60,-24,
+-89,101,
+-46,72,
+-34,-81,
+186,-51,
+28,29,
+-13,-135,
+73,65,
+-73,36,
+122,-6,
+36,-103,
+37,-22,
+-90,106,
+17,50,
+114,168,
+8,-43,
+-16,-103,
+-42,-159,
+58,-48,
+60,247,
+-109,-66,
+96,-27,
+-31,8,
+152,-89,
+-59,50,
+-133,58,
+-20,-105,
+-22,-78,
+1,117,
+18,1,
+108,85,
+25,17,
+-174,55,
+144,21,
+-221,92,
+58,89,
+-67,46,
+86,30,
+-82,23,
+-10,-17,
+64,-101,
+-61,-226,
+90,28,
+109,-22,
+176,-27,
+3,10,
+-48,45,
+-8,14,
+-43,-128,
+-114,236,
+-75,-119,
+-31,165,
+-33,-29,
+-92,56,
+43,-100,
+-147,-72,
+-26,56,
+70,-31,
+66,70,
+-33,116,
+-9,22,
+-7,-25,
+71,-185,
+61,136,
+-95,-62,
+-31,6,
+-135,-34,
+222,-30,
+204,86,
+-124,-46,
+-22,-109,
+-157,-24,
+-73,83,
+12,24,
+108,-175,
+43,52,
+-124,-103,
+58,34,
+7,2,
+79,-104,
+8,-97,
+82,-72,
+-37,154,
+-167,-19,
+73,97,
+58,-90,
+-105,82,
+-79,-27,
+56,183,
+84,80,
+23,-70,
+57,-104,
+-10,-132,
+55,-55,
+154,46,
+169,-2,
+-21,170,
+40,137,
+-62,80,
+47,-11,
+184,114,
+-122,-65,
+-16,-134,
+104,48,
+91,-49,
+86,54,
+-37,75,
+-155,30,
+-83,-153,
+-80,213,
+46,21,
+-76,-16,
+-26,84,
+68,-160,
+-17,-118,
+113,-9,
+123,-160,
+127,-20,
+153,129,
+94,-62,
+106,-18,
+-22,-92,
+99,-19,
+-94,-113,
+-45,-123,
+-246,-19,
+27,70,
+67,22,
+-88,24,
+72,-139,
+158,-104,
+-12,90,
+-4,-88,
+-129,-205,
+-94,-78,
+-76,-96,
+55,-18,
+178,4,
+-22,253,
+137,14,
+-114,49,
+-70,32,
+-87,-86,
+188,163,
+60,20,
+-119,-25,
+17,4,
+152,-80,
+134,7,
+-50,109,
+-148,-22,
+-85,115,
+-54,-100,
+-120,-113,
+10,-40,
+188,101,
+-107,12,
+130,-40,
+117,43,
+-165,19,
+77,21,
+162,46,
+-61,-217,
+62,-194,
+22,-177,
+46,-31,
+68,186,
+54,74,
+-52,5,
+83,-9,
+226,-151,
+-133,-77,
+64,-59,
+240,-67,
+-18,-178,
+64,-156,
+-15,-63,
+-17,89,
+-26,-51,
+-16,-97,
+-187,80,
+86,37,
+-79,-10,
+13,5,
+131,-67,
+17,-73,
+-22,25,
+-105,-40,
+-113,15,
+-22,-32,
+-161,-97,
+31,222,
+84,48,
+154,19,
+119,-113,
+-26,148,
+287,21,
+109,-83,
+-53,116,
+-54,166,
+-50,-157,
+257,96,
+-16,131,
+96,65,
+103,33,
+-140,30,
+12,159,
+-53,-70,
+144,-139,
+-112,18,
+101,-55,
+31,-150,
+-79,-10,
+-36,54,
+-101,-56,
+-75,-118,
+-39,-204,
+-122,108,
+-18,94,
+1,-9,
+138,-291,
+164,-26,
+-129,80,
+-283,-121,
+41,-53,
+-56,92,
+231,156,
+135,54,
+-71,-142,
+154,22,
+103,95,
+45,-252,
+8,82,
+-145,32,
+44,-144,
+52,57,
+-144,28,
+63,-101,
+-223,59,
+-101,-97,
+-36,-59,
+-142,-59,
+105,46,
+144,-65,
+117,-166,
+51,-65,
+48,127,
+-109,-102,
+9,73,
+74,-218,
+-53,18,
+101,192,
+-77,62,
+-243,-54,
+11,46,
+163,-45,
+-135,13,
+-57,25,
+41,-151,
+76,34,
+47,160,
+64,4,
+92,-1,
+109,-29,
+-124,26,
+91,11,
+43,-190,
+-134,176,
+16,-211,
+-90,203,
+-27,-35,
+184,-15,
+-201,-110,
+105,-173,
+23,-105,
+55,109,
+-66,137,
+31,-28,
+87,-46,
+82,-68,
+30,29,
+68,-54,
+-206,87,
+-166,73,
+-244,-1,
+-49,-9,
+179,-3,
+42,116,
+-61,-135,
+-248,49,
+128,-10,
+-2,180,
+-7,-55,
+-21,-258,
+-19,-164,
+89,-66,
+-236,191,
+164,-16,
+116,253,
+-121,-199,
+29,-284,
+-155,-191,
+-29,-53,
+-59,50,
+-64,-33,
+-92,-12,
+23,-186,
+-127,-122,
+40,77,
+-102,-89,
+24,137,
+-146,49,
+-43,33,
+19,28,
+-204,67,
+-191,177,
+201,202,
+34,180,
+49,-150,
+4,118,
+-53,-105,
+-220,88,
+156,-224,
+-44,-16,
+22,-33,
+93,64,
+-132,215,
+116,-8,
+-180,178,
+53,-39,
+106,21,
+41,-61,
+-59,54,
+79,70,
+-136,-127,
+-21,79,
+1,-84,
+-170,-76,
+183,-63,
+10,142,
+23,-134,
+-8,11,
+152,-193,
+126,-94,
+-38,-5,
+-94,106,
+138,-54,
+92,63,
+-138,-99,
+184,-201,
+-148,82,
+-53,-27,
+-190,-22,
+78,176,
+120,-38,
+193,53,
+-72,-119,
+148,204,
+-13,-41,
+76,-24,
+-143,11,
+-28,-18,
+58,-122,
+240,146,
+169,-89,
+144,-94,
+236,26,
+-145,103,
+-120,32,
+129,-65,
+-7,190,
+-281,84,
+-50,41,
+72,328,
+23,211,
+-82,-113,
+-61,157,
+59,-26,
+-4,4,
+-107,-162,
+179,147,
+-112,-9,
+4,-2,
+105,-253,
+-83,-264,
+-8,-116,
+-102,-18,
+57,-176,
+-190,29,
+172,118,
+-122,150,
+158,160,
+-88,24,
+-198,58,
+210,-149,
+25,-53,
+88,76,
+143,-12,
+249,53,
+10,112,
+-18,-94,
+-53,6,
+233,18,
+-147,209,
+103,-53,
+93,-236,
+-137,-62,
+-29,182,
+155,59,
+31,-48,
+46,-68,
+47,-95,
+115,83,
+214,-41,
+14,44,
+-37,33,
+-62,127,
+-137,-12,
+-85,33,
+6,-211,
+60,-280,
+153,128,
+112,147,
+-75,-159,
+-110,-48,
+96,-20,
+100,-101,
+-35,143,
+105,8,
+118,-234,
+214,25,
+-7,14,
+125,4,
+-55,56,
+-80,-141,
+-15,248,
+-52,118,
+49,25,
+54,-53,
+-272,112,
+190,233,
+160,-36,
+-10,197,
+138,78,
+-64,-129,
+7,-40,
+-227,-91,
+-51,239,
+-259,22,
+-39,-18,
+-24,-269,
+-124,-112,
+-22,-208,
+6,-16,
+-3,-141,
+102,70,
+-303,55,
+-10,192,
+56,6,
+-84,33,
+-95,188,
+-152,224,
+10,-29,
+41,-122,
+7,103,
+71,16,
+-19,-71,
+40,262,
+-75,29,
+-76,354,
+-28,58,
+-83,233,
+212,96,
+67,151,
+-297,106,
+-1,140,
+67,-225,
+-17,-5,
+-233,-41,
+-160,73,
+89,4,
+68,53,
+22,-41,
+-76,89,
+42,77,
+217,-47,
+-67,90,
+-208,-18,
+35,264,
+-46,68,
+-73,-35,
+-8,113,
+18,-134,
+-1,215,
+-93,-40,
+33,192,
+-91,-215,
+-87,-22,
+214,-34,
+140,117,
+36,67,
+-36,237,
+27,-204,
+-162,-26,
+218,-38,
+264,40,
+-55,-103,
+-58,33,
+-11,98,
+-107,221,
+-113,-39,
+1,-20,
+-164,53,
+-111,163,
+167,8,
+177,76,
+-298,-133,
+90,66,
+150,4,
+-40,-168,
+3,-215,
+111,69,
+-59,-70,
+121,-34,
+-137,-51,
+-39,-284,
+-4,-17,
+-118,-20,
+-263,44,
+-49,-13,
+-141,124,
+1,-146,
+-37,5,
+-248,-171,
+-87,-80,
+155,-42,
+-108,-78,
+15,259,
+198,-115,
+-5,-163,
+53,-79,
+-230,146,
+157,-239,
+2,-117,
+59,-90,
+105,176,
+34,-339,
+120,102,
+122,-38,
+-48,-18,
+123,196,
+39,-85,
+42,79,
+79,-35,
+6,0,
+146,245,
+73,140,
+-38,241,
+22,-26,
+-77,47,
+30,-85,
+38,86,
+121,3,
+112,134,
+169,97,
+-54,139,
+-52,159,
+-2,-91,
+85,128,
+-85,-72,
+112,-2,
+112,-263,
+-25,313,
+-31,-46,
+-279,-128,
+268,-53,
+146,22,
+272,-107,
+254,174,
+128,-192,
+-252,232,
+-143,-79,
+-15,-107,
+-51,-182,
+-143,-296,
+-47,-147,
+110,97,
+182,92,
+180,32,
+195,-2,
+105,37,
+265,149,
+5,-266,
+-95,9,
+18,-116,
+85,-17,
+-52,9,
+-52,27,
+125,-179,
+-39,61,
+135,-6,
+109,107,
+-85,122,
+136,-219,
+46,156,
+178,27,
+-147,-95,
+38,152,
+72,152,
+37,52,
+155,283,
+59,-195,
+164,-85,
+-31,4,
+0,43,
+149,105,
+-64,-2,
+-89,-7,
+60,-55,
+-68,-139,
+-22,-39,
+43,139,
+-132,109,
+-42,-156,
+-17,-223,
+261,4,
+52,-91,
+-46,-6,
+39,-49,
+-133,-193,
+-117,79,
+66,134,
+281,297,
+-130,-2,
+15,146,
+243,21,
+-12,88,
+-202,140,
+-214,72,
+-130,-142,
+-29,-56,
+59,11,
+-58,270,
+-93,119,
+212,-292,
+187,-136,
+-242,-130,
+-63,-266,
+-235,118,
+-28,-141,
+179,105,
+-214,30,
+-65,-87,
+-185,7,
+53,176,
+-26,160,
+-123,-47,
+133,-88,
+147,-122,
+108,-115,
+118,-87,
+60,62,
+-8,28,
+46,105,
+59,87,
+-232,243,
+116,101,
+-17,36,
+-117,-105,
+80,28,
+-107,-57,
+-161,234,
+-9,-131,
+115,156,
+166,-43,
+-52,-128,
+55,-193,
+-224,-2,
+171,57,
+-287,-43,
+-178,147,
+-81,-2,
+-201,-173,
+-258,-100,
+-113,-56,
+-75,-62,
+-183,-235,
+143,-266,
+-158,39,
+-137,71,
+18,136,
+-172,-128,
+31,-43,
+64,143,
+-155,142,
+-4,-146,
+-11,-27,
+183,-3,
+76,89,
+-160,171,
+57,-92,
+53,208,
+27,-152,
+-199,-139,
+-61,92,
+147,239,
+13,-139,
+-69,4,
+-117,-252,
+182,-14,
+8,3,
+40,201,
+79,53,
+156,-48,
+-105,175,
+-34,-197,
+107,54,
+-181,11,
+-78,-103,
+4,-53,
+-57,58,
+14,196,
+36,-151,
+246,-105,
+75,-39,
+-232,-50,
+-24,222,
+-28,59,
+25,146,
+-182,91,
+177,-32,
+15,19,
+-36,-100,
+-105,131,
+1,-36,
+110,-215,
+-26,-119,
+-202,-149,
+-17,28,
+-8,-124,
+39,-81,
+-72,191,
+-66,173,
+65,-81,
+-61,-106,
+-106,40,
+-91,-136,
+18,173,
+345,-93,
+44,-249,
+216,-6,
+196,-2,
+-199,12,
+166,-98,
+47,-60,
+-92,146,
+130,-192,
+-155,87,
+127,86,
+-118,21,
+121,79,
+131,74,
+-58,-69,
+40,136,
+-30,59,
+-161,-53,
+91,-10,
+-14,-153,
+-24,-264,
+-97,119,
+46,51,
+-171,69,
+-147,-9,
+-3,199,
+25,-350,
+-135,246,
+188,-21,
+-11,-30,
+173,76,
+115,-161,
+-10,-39,
+137,148,
+-12,220,
+-97,-76,
+-123,-60,
+112,-84,
+-43,248,
+28,76,
+-62,24,
+-76,68,
+81,-269,
+-71,-26,
+-260,-194,
+207,208,
+-165,-102,
+-70,121,
+-264,-110,
+-12,8,
+-71,99,
+88,36,
+-89,128,
+10,-95,
+266,91,
+-122,180,
+-129,97,
+73,160,
+125,-71,
+-88,43,
+-45,148,
+-101,15,
+-120,-204,
+-142,-21,
+-171,80,
+45,-121,
+36,14,
+135,-33,
+-118,-92,
+-19,-13,
+-24,-169,
+-185,-87,
+93,32,
+10,-5,
+26,84,
+-33,79,
+35,-14,
+-228,-157,
+108,151,
+39,71,
+-157,-103,
+106,213,
+-31,120,
+144,-128,
+227,-86,
+20,-6,
+100,-186,
+66,-94,
+174,78,
+52,-64,
+-71,4,
+-40,-129,
+31,129,
+-4,-53,
+-37,-24,
+195,10,
+-57,-77,
+-118,-72,
+-96,-141,
+-83,133,
+-57,98,
+-81,-23,
+130,-144,
+-93,-187,
+157,-131,
+194,-152,
+-116,-143,
+-65,-43,
+-163,118,
+137,-105,
+-29,99,
+-51,-13,
+-113,-221,
+-57,83,
+131,-135,
+-55,29,
+-262,-9,
+-5,-25,
+-127,-31,
+-241,62,
+-41,-18,
+-53,-84,
+-60,-214,
+106,119,
+-41,-18,
+106,-41,
+-75,135,
+-105,-8,
+33,109,
+104,101,
+-10,36,
+85,-149,
+-33,-5,
+-13,-116,
+-40,-112,
+50,150,
+76,-14,
+-145,32,
+101,129,
+-15,169,
+-45,-22,
+-185,160,
+29,120,
+-68,171,
+-13,-138,
+-24,117,
+25,308,
+159,3,
+54,-179,
+26,255,
+29,-200,
+16,37,
+6,-6,
+-43,121,
+92,-62,
+-148,-61,
+36,-209,
+39,185,
+-251,-23,
+-209,54,
+136,48,
+-2,81,
+-14,-151,
+86,94,
+12,67,
+-18,3,
+-49,-168,
+-13,1,
+138,77,
+-139,4,
+-25,-106,
+-118,-101,
+77,-175,
+91,-27,
+211,-46,
+-49,96,
+-173,-67,
+-225,79,
+-119,55,
+15,-29,
+147,-134,
+-45,99,
+103,109,
+-48,-151,
+175,45,
+-26,-10,
+-124,14,
+-37,-36,
+-8,-39,
+186,-99,
+-138,-10,
+-45,-73,
+5,36,
+0,26,
+50,48,
+71,-66,
+-20,-134,
+-127,129,
+-57,7,
+174,-149,
+-40,4,
+54,119,
+150,32,
+-62,-11,
+110,79,
+25,30,
+121,21,
+-10,-59,
+72,-87,
+125,32,
+-22,101,
+78,18,
+172,-143,
+-91,85,
+-63,41,
+128,-129,
+18,-12,
+-212,-53,
+20,172,
+83,79,
+-86,-175,
+-7,-213,
+-27,100,
+-97,35,
+33,22,
+131,-75,
+-88,-145,
+-144,-101,
+-88,63,
+-9,174,
+-35,42,
+-60,76,
+-175,-39,
+70,10,
+-41,63,
+71,-54,
+-89,43,
+-141,136,
+-16,-95,
+-169,47,
+-98,-126,
+93,13,
+45,-40,
+155,24,
+-107,241,
+-11,-128,
+-131,-12,
+30,-125,
+148,51,
+39,-133,
+-65,-42,
+-171,-118,
+21,-11,
+-49,-134,
+53,-35,
+21,15,
+102,-29,
+-155,-76,
+-82,0,
+-104,-134,
+-52,-15,
+-54,-56,
+26,16,
+76,-39,
+58,-66,
+-138,-253,
+-85,54,
+58,34,
+-76,77,
+29,4,
+-55,-142,
+-63,65,
+151,-50,
+-32,22,
+9,75,
+-207,63,
+72,80,
+-24,228,
+-55,-49,
+-87,186,
+63,60,
+29,-38,
+-53,58,
+-39,-189,
+60,-141,
+114,-7,
+-13,-94,
+135,-23,
+-140,-57,
+132,1,
+-164,12,
+74,-38,
+189,88,
+17,59,
+-11,114,
+91,-76,
+-22,94,
+-47,-84,
+-63,-15,
+-139,96,
+-58,132,
+-47,-19,
+59,-109,
+-31,65,
+-138,214,
+-49,-73,
+140,-83,
+88,35,
+92,-33,
+57,-51,
+-39,-85,
+22,5,
+-13,-97,
+15,7,
+-34,85,
+23,47,
+53,-28,
+-17,13,
+-101,-107,
+-45,-57,
+48,98,
+-4,6,
+90,-43,
+21,15,
+-83,32,
+-62,-68,
+25,52,
+-153,17,
+24,52,
+40,169,
+-131,61,
+-4,-25,
+146,-105,
+103,-61,
+-122,44,
+-24,30,
+148,-161,
+74,-49,
+-42,-76,
+18,-96,
+-69,59,
+101,33,
+-30,-20,
+129,72,
+49,131,
+-5,29,
+-35,12,
+39,-145,
+-35,169,
+-115,-119,
+51,121,
+-105,75,
+-139,27,
+-41,-11,
+-121,-43,
+74,9,
+88,51,
+-8,-29,
+189,-133,
+13,78,
+150,-40,
+74,-61,
+15,-147,
+26,153,
+35,-31,
+-91,30,
+30,-20,
+-84,-92,
+45,72,
+149,-36,
+-121,-70,
+-67,-59,
+-143,-17,
+-3,98,
+-1,23,
+-2,-54,
+-104,-59,
+1,-32,
+-89,-153,
+-28,-32,
+-13,-10,
+-5,105,
+-45,-39,
+-45,39,
+-106,-58,
+4,-70,
+-121,-115,
+-25,82,
+-60,95,
+36,6,
+-177,-35,
+75,-125,
+39,58,
+116,-20,
+-47,151,
+-67,8,
+54,-74,
+-149,-76,
+82,-103,
+31,-33,
+16,-80,
+30,-27,
+-15,123,
+14,-115,
+26,-16,
+-26,-85,
+102,-42,
+98,10,
+57,-45,
+-83,-166,
+-100,-10,
+-49,80,
+-27,5,
+104,-49,
+-8,-9,
+-107,-54,
+-138,-9,
+55,43,
+96,-19,
+47,-96,
+-125,-31,
+-4,104,
+15,-40,
+-1,-56,
+-5,88,
+-64,95,
+100,-22,
+37,48,
+-87,106,
+-28,-19,
+12,12,
+28,166,
+34,-89,
+22,74,
+-1,71,
+91,-3,
+7,48,
+-112,44,
+18,18,
+61,-122,
+-45,-3,
+-98,65,
+63,-3,
+39,33,
+-51,6,
+48,-91,
+-79,21,
+-45,-7,
+-8,103,
+-36,-82,
+-26,-81,
+84,32,
+-84,25,
+-10,91,
+39,-71,
+43,94,
+-41,17,
+-62,30,
+71,-60,
+9,-156,
+20,-135,
+-23,35,
+59,53,
+-88,124,
+-65,0,
+-88,-19,
+-50,-106,
+-12,40,
+60,-41,
+-11,67,
+-84,-26,
+-42,-74,
+116,75,
+-36,31,
+-7,-47,
+-7,70,
+64,24,
+-15,-109,
+80,-134,
+-32,8,
+28,2,
+-148,-23,
+11,-39,
+57,63,
+47,-54,
+-119,25,
+103,36,
+-76,-22,
+36,70,
+-14,64,
+112,27,
+120,-9,
+-42,-31,
+-33,4,
+227,-45,
+-18,-29,
+12,-106,
+119,70,
+66,-15,
+-38,-16,
+94,-16,
+-7,69,
+-32,-31,
+-27,-43,
+-68,57,
+-30,-39,
+-5,52,
+75,50,
+13,-14,
+70,-31,
+-1,-15,
+9,-33,
+23,98,
+-21,-37,
+-14,-8,
+-123,15,
+32,-85,
+25,-94,
+-27,-39,
+-4,-70,
+13,-70,
+-49,-54,
+44,46,
+-94,15,
+-3,-89,
+-38,-34,
+-10,42,
+62,-27,
+-47,34,
+26,-140,
+-57,14,
+-110,81,
+-55,34,
+-62,38,
+-112,-28,
+1,33,
+85,-70,
+-6,-25,
+-1,-40,
+-74,-83,
+-21,22,
+-2,28,
+-11,44,
+0,-35,
+-10,12,
+51,5,
+-113,-50,
+41,21,
+31,88,
+-80,51,
+-51,-21,
+-4,102,
+-62,40,
+-47,48,
+84,85,
+34,-81,
+8,14,
+23,24,
+27,-38,
+-10,8,
+-52,-63,
+55,21,
+27,-7,
+14,42,
+-7,-28,
+-34,-6,
+-41,-52,
+-62,-19,
+5,6,
+-11,-16,
+-46,82,
+17,-30,
+-7,-40,
+-15,-72,
+-49,-58,
+-26,-14,
+70,-51,
+17,-14,
+-10,45,
+14,34,
+104,-77,
+33,6,
+19,41,
+32,45,
+-38,-26,
+80,-22,
+21,47,
+-28,-73,
+23,-42,
+-40,-104,
+63,48,
+-35,-53,
+47,9,
+-125,-67,
+-7,-1,
+-36,31,
+28,-52,
+55,-24,
+28,63,
+51,-33,
+-91,-10,
+7,-37,
+79,0,
+50,15,
+-39,53,
+5,7,
+-42,34,
+9,87,
+63,-47,
+-65,34,
+56,-15,
+-71,-17,
+69,-37,
+1,-43,
+37,-31,
+-2,21,
+-34,-49,
+-86,23,
+-12,3,
+17,-20,
+-1,-37,
+23,13,
+34,14,
+-26,0,
+35,50,
+36,17,
+3,-77,
+3,91,
+23,-64,
+-61,2,
+55,61,
+-34,-37,
+-54,22,
+74,20,
+-46,52,
+-84,73,
+19,30,
+-8,67,
+11,-54,
+-24,-44,
+-11,18,
+-33,-18,
+51,-1,
+62,-12,
+-31,-18,
+-28,33,
+-6,-33,
+-16,-43,
+-73,-10,
+-26,27,
+-19,6,
+6,-28,
+34,-25,
+-59,38,
+26,-2,
+35,9,
+-3,-48,
+68,35,
+20,-35,
+8,-43,
+-18,9,
+-31,63,
+-23,29,
+16,-31,
+63,19,
+-54,-10,
+-17,-43,
+34,0,
+-47,-16,
+16,5,
+-6,-6,
+15,-1,
+5,54,
+42,-8,
+26,11,
+-52,26,
+7,7,
+-69,-60,
+17,35,
+37,29,
+22,-31,
+-39,-23,
+-2,-10,
+-14,23,
+48,-5,
+-9,-6,
+32,-13,
+20,48,
+-39,29,
+-5,-60,
+18,20,
+34,1,
+-13,-28,
+-16,21,
+7,-36,
+44,-35,
+-20,14,
+-35,-28,
+-53,-1,
+-24,-22,
+9,-31,
+-37,-50,
+-31,-29,
+13,-26,
+6,-48,
+12,-9,
+1,-38,
+-2,28,
+-29,-40,
+-37,17,
+14,19,
+-9,31,
+29,-9,
+-16,-31,
+38,-2,
+-23,-12,
+-10,-2,
+4,2,
+27,-12,
+22,5,
+38,-26,
+1,21,
+11,6,
+9,-4,
+-10,25,
+-29,23,
+-8,18,
+-20,16,
+-9,-2,
+30,-22,
+29,8,
+-9,0,
+-1,-61,
+5,21,
+-8,-4,
+24,-8,
+-32,-3,
+-4,-49,
+-26,-5,
+-36,16,
+-15,25,
+0,-4,
+34,-13,
+20,8,
+-30,-1,
+-4,-19,
+7,-25,
+14,-31,
+12,6,
+12,24,
+-2,0,
+25,-3,
+11,14,
+36,27,
+-6,-26,
+-12,-11,
+-11,4,
+-3,-5,
+0,6,
+-14,23,
+-12,13,
+-21,-26,
+7,5,
+22,-4,
+-9,-8,
+-14,7,
+-2,-6,
+-4,-7,
+2,3,
+6,2,
+10,6,
+-3,2,
+-14,1,
+3,20,
+-4,2,
+28,8,
+7,8,
+0,-4,
+10,0,
+-3,-3,
+-4,22,
+14,-7,
+-16,4,
+12,7,
+16,3,
+-20,7,
+3,0,
+2,1,
+-6,-4,
+0,4,
+5,3,
+-20,-8,
+4,4,
+-1,10,
+3,12,
+1,5,
+2,13,
+3,8,
+4,4,
+-4,0,
+-16,-8,
+-9,-3,
+-2,2,
+-2,-9,
+-2,-7,
+13,3,
+-13,11,
+6,7,
+3,11,
+-9,0,
+-2,1,
+7,-9,
+-6,3,
+6,4,
+-5,-1,
+-2,2,
+2,0,
+4,1,
+-5,-1,
+7,0,
+4,1,
+-5,3,
+5,1,
+2,1,
+-5,0,
+2,0,
+3,-1,
+-5,0,
+4,0,
+3,0,
+-6,0,
+3,0,
+4,0,
+-5,0,
+3,1,
+2,0,
+-5,0,
+2,-1,
+5,-1,
+-5,-3,
+4,-1,
+7,0,
+-5,1,
+4,-1,
+2,0,
+-2,-2,
+-5,1,
+6,-4,
+-6,-3,
+7,9,
+-2,-1,
+-9,0,
+3,-11,
+6,-7,
+-13,-11,
+13,-3,
+-2,7,
+-2,9,
+-2,-2,
+-9,3,
+-16,8,
+-4,0,
+4,-4,
+3,-8,
+2,-13,
+1,-5,
+3,-12,
+-1,-10,
+4,-4,
+-20,8,
+5,-3,
+0,-4,
+-6,4,
+2,-1,
+3,0,
+-20,-7,
+16,-3,
+12,-7,
+-16,-4,
+14,7,
+-4,-22,
+-3,3,
+10,0,
+0,4,
+7,-8,
+28,-8,
+-4,-2,
+3,-20,
+-14,-1,
+-3,-2,
+10,-6,
+6,-2,
+2,-3,
+-4,7,
+-2,6,
+-14,-7,
+-9,8,
+22,4,
+7,-5,
+-21,26,
+-12,-13,
+-14,-23,
+0,-6,
+-3,5,
+-11,-4,
+-12,11,
+-6,26,
+36,-27,
+11,-14,
+25,3,
+-2,0,
+12,-24,
+12,-6,
+14,31,
+7,25,
+-4,19,
+-30,1,
+20,-8,
+34,13,
+0,4,
+-15,-25,
+-36,-16,
+-26,5,
+-4,49,
+-32,3,
+24,8,
+-8,4,
+5,-21,
+-1,61,
+-9,0,
+29,-8,
+30,22,
+-9,2,
+-20,-16,
+-8,-18,
+-29,-23,
+-10,-25,
+9,4,
+11,-6,
+1,-21,
+38,26,
+22,-5,
+27,12,
+4,-2,
+-10,2,
+-23,12,
+38,2,
+-16,31,
+29,9,
+-9,-31,
+14,-19,
+-37,-17,
+-29,40,
+-2,-28,
+1,38,
+12,9,
+6,48,
+13,26,
+-31,29,
+-37,50,
+9,31,
+-24,22,
+-53,1,
+-35,28,
+-20,-14,
+44,35,
+7,36,
+-16,-21,
+-13,28,
+34,-1,
+18,-20,
+-5,60,
+-39,-29,
+20,-48,
+32,13,
+-9,6,
+48,5,
+-14,-23,
+-2,10,
+-39,23,
+22,31,
+37,-29,
+17,-35,
+-69,60,
+7,-7,
+-52,-26,
+26,-11,
+42,8,
+5,-54,
+15,1,
+-6,6,
+16,-5,
+-47,16,
+34,0,
+-17,43,
+-54,10,
+63,-19,
+16,31,
+-23,-29,
+-31,-63,
+-18,-9,
+8,43,
+20,35,
+68,-35,
+-3,48,
+35,-9,
+26,2,
+-59,-38,
+34,25,
+6,28,
+-19,-6,
+-26,-27,
+-73,10,
+-16,43,
+-6,33,
+-28,-33,
+-31,18,
+62,12,
+51,1,
+-33,18,
+-11,-18,
+-24,44,
+11,54,
+-8,-67,
+19,-30,
+-84,-73,
+-46,-52,
+74,-20,
+-54,-22,
+-34,37,
+55,-61,
+-61,-2,
+23,64,
+3,-91,
+3,77,
+36,-17,
+35,-50,
+-26,0,
+34,-14,
+23,-13,
+-1,37,
+17,20,
+-12,-3,
+-86,-23,
+-34,49,
+-2,-21,
+37,31,
+1,43,
+69,37,
+-71,17,
+56,15,
+-65,-34,
+63,47,
+9,-87,
+-42,-34,
+5,-7,
+-39,-53,
+50,-15,
+79,0,
+7,37,
+-91,10,
+51,33,
+28,-63,
+55,24,
+28,52,
+-36,-31,
+-7,1,
+-125,67,
+47,-9,
+-35,53,
+63,-48,
+-40,104,
+23,42,
+-28,73,
+21,-47,
+80,22,
+-38,26,
+32,-45,
+19,-41,
+33,-6,
+104,77,
+14,-34,
+-10,-45,
+17,14,
+70,51,
+-26,14,
+-49,58,
+-15,72,
+-7,40,
+17,30,
+-46,-82,
+-11,16,
+5,-6,
+-62,19,
+-41,52,
+-34,6,
+-7,28,
+14,-42,
+27,7,
+55,-21,
+-52,63,
+-10,-8,
+27,38,
+23,-24,
+8,-14,
+34,81,
+84,-85,
+-47,-48,
+-62,-40,
+-4,-102,
+-51,21,
+-80,-51,
+31,-88,
+41,-21,
+-113,50,
+51,-5,
+-10,-12,
+0,35,
+-11,-44,
+-2,-28,
+-21,-22,
+-74,83,
+-1,40,
+-6,25,
+85,70,
+1,-33,
+-112,28,
+-62,-38,
+-55,-34,
+-110,-81,
+-57,-14,
+26,140,
+-47,-34,
+62,27,
+-10,-42,
+-38,34,
+-3,89,
+-94,-15,
+44,-46,
+-49,54,
+13,70,
+-4,70,
+-27,39,
+25,94,
+32,85,
+-123,-15,
+-14,8,
+-21,37,
+23,-98,
+9,33,
+-1,15,
+70,31,
+13,14,
+75,-50,
+-5,-52,
+-30,39,
+-68,-57,
+-27,43,
+-32,31,
+-7,-69,
+94,16,
+-38,16,
+66,15,
+119,-70,
+12,106,
+-18,29,
+227,45,
+-33,-4,
+-42,31,
+120,9,
+112,-27,
+-14,-64,
+36,-70,
+-76,22,
+103,-36,
+-119,-25,
+47,54,
+57,-63,
+11,39,
+-148,23,
+28,-2,
+-32,-8,
+80,134,
+-15,109,
+64,-24,
+-7,-70,
+-7,47,
+-36,-31,
+116,-75,
+-42,74,
+-84,26,
+-11,-67,
+60,41,
+-12,-40,
+-50,106,
+-88,19,
+-65,0,
+-88,-124,
+59,-53,
+-23,-35,
+20,135,
+9,156,
+71,60,
+-62,-30,
+-41,-17,
+43,-94,
+39,71,
+-10,-91,
+-84,-25,
+84,-32,
+-26,81,
+-36,82,
+-8,-103,
+-45,7,
+-79,-21,
+48,91,
+-51,-6,
+39,-33,
+63,3,
+-98,-65,
+-45,3,
+61,122,
+18,-18,
+-112,-44,
+7,-48,
+91,3,
+-1,-71,
+22,-74,
+34,89,
+28,-166,
+12,-12,
+-28,19,
+-87,-106,
+37,-48,
+100,22,
+-64,-95,
+-5,-88,
+-1,56,
+15,40,
+-4,-104,
+-125,31,
+47,96,
+96,19,
+55,-43,
+-138,9,
+-107,54,
+-8,9,
+104,49,
+-27,-5,
+-49,-80,
+-100,10,
+-83,166,
+57,45,
+98,-10,
+102,42,
+-26,85,
+26,16,
+14,115,
+-15,-123,
+30,27,
+16,80,
+31,33,
+82,103,
+-149,76,
+54,74,
+-67,-8,
+-47,-151,
+116,20,
+39,-58,
+75,125,
+-177,35,
+36,-6,
+-60,-95,
+-25,-82,
+-121,115,
+4,70,
+-106,58,
+-45,-39,
+-45,39,
+-5,-105,
+-13,10,
+-28,32,
+-89,153,
+1,32,
+-104,59,
+-2,54,
+-1,-23,
+-3,-98,
+-143,17,
+-67,59,
+-121,70,
+149,36,
+45,-72,
+-84,92,
+30,20,
+-91,-30,
+35,31,
+26,-153,
+15,147,
+74,61,
+150,40,
+13,-78,
+189,133,
+-8,29,
+88,-51,
+74,-9,
+-121,43,
+-41,11,
+-139,-27,
+-105,-75,
+51,-121,
+-115,119,
+-35,-169,
+39,145,
+-35,-12,
+-5,-29,
+49,-131,
+129,-72,
+-30,20,
+101,-33,
+-69,-59,
+18,96,
+-42,76,
+74,49,
+148,161,
+-24,-30,
+-122,-44,
+103,61,
+146,105,
+-4,25,
+-131,-61,
+40,-169,
+24,-52,
+-153,-17,
+25,-52,
+-62,68,
+-83,-32,
+21,-15,
+90,43,
+-4,-6,
+48,-98,
+-45,57,
+-101,107,
+-17,-13,
+53,28,
+23,-47,
+-34,-85,
+15,-7,
+-13,97,
+22,-5,
+-39,85,
+57,51,
+92,33,
+88,-35,
+140,83,
+-49,73,
+-138,-214,
+-31,-65,
+59,109,
+-47,19,
+-58,-132,
+-139,-96,
+-63,15,
+-47,84,
+-22,-94,
+91,76,
+-11,-114,
+17,-59,
+189,-88,
+74,38,
+-164,-12,
+132,-1,
+-140,57,
+135,23,
+-13,94,
+114,7,
+60,141,
+-39,189,
+-53,-58,
+29,38,
+63,-60,
+-87,-186,
+-55,49,
+-24,-228,
+72,-80,
+-207,-63,
+9,-75,
+-32,-22,
+151,50,
+-63,-65,
+-55,142,
+29,-4,
+-76,-77,
+58,-34,
+-85,-54,
+-138,253,
+58,66,
+76,39,
+26,-16,
+-54,56,
+-52,15,
+-104,134,
+-82,0,
+-155,76,
+102,29,
+21,-15,
+53,35,
+-49,134,
+21,11,
+-171,118,
+-65,42,
+39,133,
+148,-51,
+30,125,
+-131,12,
+-11,128,
+-107,-241,
+155,-24,
+45,40,
+93,-13,
+-98,126,
+-169,-47,
+-16,95,
+-141,-136,
+-89,-43,
+71,54,
+-41,-63,
+70,-10,
+-175,39,
+-60,-76,
+-35,-42,
+-9,-174,
+-88,-63,
+-144,101,
+-88,145,
+131,75,
+33,-22,
+-97,-35,
+-27,-100,
+-7,213,
+-86,175,
+83,-79,
+20,-172,
+-212,53,
+18,12,
+128,129,
+-63,-41,
+-91,-85,
+172,143,
+78,-18,
+-22,-101,
+125,-32,
+72,87,
+-10,59,
+121,-21,
+25,-30,
+110,-79,
+-62,11,
+150,-32,
+54,-119,
+-40,-4,
+174,149,
+-57,-7,
+-127,-129,
+-20,134,
+71,66,
+50,-48,
+0,-26,
+5,-36,
+-45,73,
+-138,10,
+186,99,
+-8,39,
+-37,36,
+-124,-14,
+-26,10,
+175,-45,
+-48,151,
+103,-109,
+-45,-99,
+147,134,
+15,29,
+-119,-55,
+-225,-79,
+-173,67,
+-49,-96,
+211,46,
+91,27,
+77,175,
+-118,101,
+-25,106,
+-139,-4,
+138,-77,
+-13,-1,
+-49,168,
+-18,-3,
+12,-67,
+86,-94,
+-14,151,
+-2,-81,
+136,-48,
+-209,-54,
+-251,23,
+39,-185,
+36,209,
+-148,61,
+92,62,
+-43,-121,
+6,6,
+16,-37,
+29,200,
+26,-255,
+54,179,
+159,-3,
+25,-308,
+-24,-117,
+-13,138,
+-68,-171,
+29,-120,
+-185,-160,
+-45,22,
+-15,-169,
+101,-129,
+-145,-32,
+76,14,
+50,-150,
+-40,112,
+-13,116,
+-33,5,
+85,149,
+-10,-36,
+104,-101,
+33,-109,
+-105,8,
+-75,-135,
+106,41,
+-41,18,
+106,-119,
+-60,214,
+-53,84,
+-41,18,
+-241,-62,
+-127,31,
+-5,25,
+-262,9,
+-55,-29,
+131,135,
+-57,-83,
+-113,221,
+-51,13,
+-29,-99,
+137,105,
+-163,-118,
+-65,43,
+-116,143,
+194,152,
+157,131,
+-93,187,
+130,144,
+-81,23,
+-57,-98,
+-83,-133,
+-96,141,
+-118,72,
+-57,77,
+195,-10,
+-37,24,
+-4,53,
+31,-129,
+-40,129,
+-71,-4,
+52,64,
+174,-78,
+66,94,
+100,186,
+20,6,
+227,86,
+144,128,
+-31,-120,
+106,-213,
+-157,103,
+39,-71,
+108,-151,
+-228,157,
+35,14,
+-33,-79,
+26,-84,
+10,5,
+93,-32,
+-185,87,
+-24,169,
+-19,13,
+-118,92,
+135,33,
+36,-14,
+45,121,
+-171,-80,
+-142,21,
+-120,204,
+-101,-15,
+-45,-148,
+-88,-43,
+125,71,
+73,-160,
+-129,-97,
+-122,-180,
+266,-91,
+10,95,
+-89,-128,
+88,-36,
+-71,-99,
+-12,-8,
+-264,110,
+-70,-121,
+-165,102,
+207,-208,
+-260,194,
+-71,26,
+81,269,
+-76,-68,
+-62,-24,
+28,-76,
+-43,-248,
+112,84,
+-123,60,
+-97,76,
+-12,-220,
+137,-148,
+-10,39,
+115,161,
+173,-76,
+-11,30,
+188,21,
+-135,-246,
+25,350,
+-3,-199,
+-147,9,
+-171,-69,
+46,-51,
+-97,-119,
+-24,264,
+-14,153,
+91,10,
+-161,53,
+-30,-59,
+40,-136,
+-58,69,
+131,-74,
+121,-79,
+-118,-21,
+127,-86,
+-155,-87,
+130,192,
+-92,-146,
+47,60,
+166,98,
+-199,-12,
+196,2,
+216,6,
+44,249,
+345,93,
+18,-173,
+-91,136,
+-106,-40,
+-61,106,
+65,81,
+-66,-173,
+-72,-191,
+39,81,
+-8,124,
+-17,-28,
+-202,149,
+-26,119,
+110,215,
+1,36,
+-105,-131,
+-36,100,
+15,-19,
+177,32,
+-182,-91,
+25,-146,
+-28,-59,
+-24,-222,
+-232,50,
+75,39,
+246,105,
+36,151,
+14,-196,
+-57,-58,
+4,53,
+-78,103,
+-181,-11,
+107,-54,
+-34,197,
+-105,-175,
+156,48,
+79,-53,
+40,-201,
+8,-3,
+182,14,
+-117,252,
+-69,-4,
+13,139,
+147,-239,
+-61,-92,
+-199,139,
+27,152,
+53,-208,
+57,92,
+-160,-171,
+76,-89,
+183,3,
+-11,27,
+-4,146,
+-155,-142,
+64,-143,
+31,43,
+-172,128,
+18,-136,
+-137,-71,
+-158,-39,
+143,266,
+-183,235,
+-75,62,
+-113,56,
+-258,100,
+-201,173,
+-81,2,
+-178,-147,
+-287,43,
+171,-57,
+-224,2,
+55,193,
+-52,128,
+166,43,
+115,-156,
+-9,131,
+-161,-234,
+-107,57,
+80,-28,
+-117,105,
+-17,-36,
+116,-101,
+-232,-243,
+59,-87,
+46,-105,
+-8,-28,
+60,-62,
+118,87,
+108,115,
+147,122,
+133,88,
+-123,47,
+-26,-160,
+53,-176,
+-185,-7,
+-65,87,
+-214,-30,
+179,-105,
+-28,141,
+-235,-118,
+-63,266,
+-242,130,
+187,136,
+212,292,
+-93,-119,
+-58,-270,
+59,-11,
+-29,56,
+-130,142,
+-214,-72,
+-202,-140,
+-12,-88,
+243,-21,
+15,-146,
+-130,2,
+281,-297,
+66,-134,
+-117,-79,
+-133,193,
+39,49,
+-46,6,
+52,91,
+261,-4,
+-17,223,
+-42,156,
+-132,-109,
+43,-139,
+-22,39,
+-68,139,
+60,55,
+-89,7,
+-64,2,
+149,-105,
+0,-43,
+-31,-4,
+164,85,
+59,195,
+155,-283,
+37,-52,
+72,-152,
+38,-152,
+-147,95,
+178,-27,
+46,-156,
+136,219,
+-85,-122,
+109,-107,
+135,6,
+-39,-61,
+125,179,
+-52,-27,
+-52,-9,
+85,17,
+18,116,
+-95,-9,
+5,266,
+265,-149,
+105,-37,
+195,2,
+180,-32,
+182,-92,
+110,-97,
+-47,147,
+-143,296,
+-51,182,
+-15,107,
+-143,79,
+-252,-232,
+128,192,
+254,-174,
+272,107,
+146,-22,
+268,53,
+-279,128,
+-31,46,
+-25,-313,
+112,263,
+112,2,
+-85,72,
+85,-128,
+-2,91,
+-52,-159,
+-54,-139,
+169,-97,
+112,-134,
+121,-3,
+38,-86,
+30,85,
+-77,-47,
+22,26,
+-38,-241,
+73,-140,
+146,-245,
+11,0,
+109,18,
+77,126,
+-128,73,
+86,-14,
+-70,129,
+57,213,
+-20,153,
+83,-282,
+-52,67,
+-192,-76,
+70,196,
+144,-26,
+52,-28,
+-141,100,
+211,-112,
+249,15,
+-214,-49,
+10,14,
+1,-76,
+30,-188,
+-47,-107,
+331,36,
+-208,3,
+203,23,
+-43,-30,
+150,-130,
+-78,187,
+-88,-70,
+-134,111,
+-89,159,
+-42,-2,
+-113,85,
+25,150,
+183,-33,
+12,-8,
+-116,95,
+-49,-236,
+-105,127,
+68,20,
+-39,224,
+64,104,
+198,-100,
+280,-208,
+-30,58,
+-103,130,
+-70,8,
+-13,-260,
+32,-135,
+10,314,
+-55,-30,
+-53,122,
+132,-31,
+193,63,
+-111,-17,
+-177,20,
+61,-15,
+157,293,
+77,-104,
+115,70,
+90,48,
+-141,-13,
+116,-37,
+115,40,
+208,-195,
+-280,-73,
+100,-198,
+-191,-160,
+-163,19,
+120,-225,
+-98,229,
+9,18,
+-244,107,
+-35,246,
+-132,-186,
+11,8,
+74,178,
+18,137,
+162,-151,
+-121,80,
+-139,-65,
+4,58,
+147,129,
+-46,-86,
+-45,-100,
+-86,-55,
+-104,-98,
+-102,-123,
+71,-50,
+116,76,
+39,-85,
+14,-208,
+-34,2,
+11,-105,
+-130,194,
+-25,-239,
+35,-23,
+-96,41,
+153,-130,
+32,137,
+59,-72,
+-113,81,
+189,234,
+42,-202,
+39,20,
+242,39,
+171,110,
+-32,114,
+-28,46,
+-151,-101,
+-19,-109,
+28,43,
+22,-124,
+-313,39,
+161,102,
+127,63,
+-102,11,
+112,-91,
+61,73,
+12,46,
+115,-191,
+84,48,
+162,-214,
+203,304,
+41,-40,
+-50,144,
+-135,-320,
+10,152,
+-119,-60,
+-92,-281,
+-187,0,
+-78,-143,
+17,31,
+47,-93,
+37,95,
+64,146,
+65,119,
+-109,25,
+-3,-124,
+-21,93,
+-264,-240,
+51,23,
+-27,-25,
+-94,257,
+44,172,
+-132,192,
+-122,71,
+-283,-49,
+106,39,
+-31,-30,
+218,-64,
+-265,54,
+50,21,
+79,-65,
+130,-11,
+-28,-139,
+23,-42,
+222,86,
+-74,-90,
+-234,16,
+-123,107,
+332,75,
+-56,-221,
+-112,88,
+133,-155,
+29,-33,
+-65,-80,
+128,68,
+-22,-6,
+117,-74,
+144,30,
+2,163,
+-216,-51,
+26,9,
+111,-20,
+-29,54,
+-97,104,
+17,91,
+-292,81,
+-96,15,
+113,18,
+-40,22,
+-65,-213,
+77,131,
+-224,152,
+-3,-109,
+-62,259,
+89,-112,
+166,-55,
+-10,-110,
+-98,122,
+-49,79,
+-190,159,
+-2,-48,
+78,133,
+65,147,
+-86,138,
+-175,-158,
+-49,-167,
+-45,48,
+97,-33,
+-182,-1,
+93,-170,
+-64,-173,
+144,210,
+161,13,
+-176,-121,
+-20,-54,
+-83,164,
+-149,-217,
+96,42,
+25,-101,
+-49,-76,
+81,-219,
+56,-28,
+244,109,
+82,-41,
+109,-83,
+-107,-59,
+-74,-225,
+-138,192,
+20,141,
+6,-40,
+-160,-109,
+2,-78,
+-67,-50,
+-5,-60,
+101,-135,
+-92,-103,
+57,-79,
+187,41,
+29,186,
+43,-119,
+-124,-88,
+-174,-93,
+93,258,
+-80,-96,
+85,-207,
+71,-90,
+49,117,
+-99,19,
+-65,-255,
+-53,-354,
+-107,-16,
+49,112,
+-126,241,
+-29,27,
+78,213,
+-124,-32,
+-63,-23,
+195,122,
+-13,171,
+-61,35,
+127,-140,
+137,37,
+-97,-10,
+-36,-39,
+-241,156,
+86,-48,
+-162,20,
+-34,111,
+-188,124,
+68,193,
+-68,13,
+-170,-195,
+-31,-166,
+-4,-179,
+34,-61,
+73,130,
+179,54,
+-106,108,
+-194,8,
+-3,65,
+-44,31,
+38,-97,
+145,96,
+97,-50,
+-260,-3,
+87,52,
+59,-53,
+-12,68,
+-97,-28,
+247,45,
+13,-11,
+60,-16,
+18,-104,
+171,-2,
+-176,-22,
+-137,12,
+4,90,
+105,42,
+76,299,
+78,185,
+153,-14,
+-170,44,
+53,-130,
+-65,33,
+-135,20,
+-46,-73,
+-116,-66,
+-64,-14,
+17,214,
+-76,157,
+14,-5,
+76,34,
+63,-9,
+185,-67,
+-13,-154,
+244,-15,
+58,-288,
+-80,101,
+58,168,
+140,-128,
+45,36,
+-163,29,
+-9,-164,
+-29,-61,
+91,-7,
+97,-33,
+11,59,
+157,-25,
+-187,70,
+-231,-235,
+17,-177,
+-10,97,
+-104,143,
+77,33,
+307,64,
+-206,-140,
+-81,215,
+-47,34,
+-178,-108,
+36,-159,
+-159,-39,
+-155,-51,
+-17,23,
+37,-27,
+49,-277,
+-5,145,
+-111,112,
+23,-136,
+149,-74,
+149,151,
+42,-21,
+96,-39,
+163,10,
+-58,-123,
+25,178,
+77,-147,
+-133,-109,
+20,83,
+-98,116,
+18,-19,
+43,41,
+-73,67,
+80,-15,
+-183,-104,
+115,33,
+65,93,
+30,139,
+-156,-91,
+-109,-68,
+-62,-52,
+1,-54,
+52,48,
+215,-90,
+-2,-186,
+37,-132,
+-100,-20,
+-32,-3,
+-128,83,
+173,78,
+45,25,
+63,6,
+-63,190,
+1,46,
+-4,150,
+69,50,
+15,314,
+2,81,
+45,191,
+-38,-11,
+53,-221,
+133,18,
+78,-41,
+-16,201,
+213,5,
+-119,-1,
+154,125,
+-5,0,
+138,-45,
+52,119,
+75,-92,
+29,-110,
+19,-108,
+7,40,
+209,4,
+28,220,
+53,53,
+87,-36,
+110,138,
+-182,-114,
+-5,-23,
+110,113,
+99,38,
+-140,113,
+-6,3,
+-41,-144,
+-18,119,
+-133,-150,
+67,40,
+127,206,
+-46,77,
+74,20,
+193,21,
+106,-146,
+-22,17,
+-144,82,
+174,31,
+-34,51,
+-112,20,
+18,11,
+-92,12,
+-155,6,
+-232,-82,
+56,14,
+56,-68,
+-68,201,
+223,95,
+119,-85,
+-82,-71,
+100,-85,
+71,189,
+38,89,
+29,140,
+-17,140,
+122,66,
+-2,-180,
+10,-84,
+70,121,
+119,149,
+164,-104,
+-69,19,
+-22,47,
+88,17,
+60,-1,
+208,67,
+-4,-157,
+55,75,
+185,-129,
+-43,-32,
+23,13,
+125,81,
+59,-3,
+168,-1,
+5,163,
+-63,-87,
+-39,234,
+-158,117,
+22,-137,
+76,84,
+-102,-70,
+23,136,
+-4,25,
+56,31,
+39,3,
+39,-43,
+42,60,
+153,56,
+-148,-151,
+42,49,
+14,-153,
+64,-66,
+100,-93,
+97,-229,
+0,154,
+-43,67,
+166,-68,
+87,-44,
+-6,-65,
+-43,103,
+-51,-85,
+-43,45,
+47,-47,
+-64,44,
+-15,-26,
+-34,-50,
+-38,95,
+152,7,
+-57,29,
+-83,167,
+-60,129,
+-98,-117,
+-57,71,
+-110,92,
+-199,5,
+-55,140,
+198,53,
+61,78,
+-35,-48,
+21,49,
+-128,-9,
+-69,-149,
+12,46,
+-92,-5,
+-135,-37,
+8,109,
+-6,-58,
+-103,216,
+-5,-103,
+-217,24,
+-43,-17,
+-118,-62,
+-13,-208,
+-38,16,
+91,-196,
+-86,-31,
+241,36,
+-80,-64,
+-2,-112,
+73,-46,
+-68,-37,
+-58,-83,
+-48,-35,
+39,-83,
+10,7,
+-32,106,
+194,99,
+-1,7,
+72,-181,
+118,-147,
+-36,-38,
+-3,-48,
+66,-123,
+154,-63,
+43,32,
+28,-16,
+19,107,
+28,-76,
+-47,-84,
+-14,68,
+70,-56,
+-91,-15,
+49,-13,
+-28,-71,
+62,-20,
+-141,142,
+-28,72,
+133,15,
+-30,-21,
+-17,90,
+-190,88,
+-90,44,
+23,68,
+-165,-82,
+38,37,
+-30,-30,
+42,142,
+24,10,
+-59,5,
+45,68,
+80,40,
+-29,-93,
+152,46,
+-144,-14,
+20,-5,
+102,-22,
+57,-163,
+137,8,
+-49,58,
+96,-1,
+-6,193,
+17,46,
+75,-41,
+-97,97,
+-5,37,
+-84,67,
+39,84,
+-84,24,
+67,175,
+13,20,
+20,-48,
+-3,22,
+-11,50,
+23,152,
+170,35,
+-90,-9,
+-155,53,
+58,9,
+143,81,
+38,-39,
+161,24,
+57,131,
+16,-27,
+-127,7,
+-16,100,
+73,89,
+83,56,
+81,-26,
+-133,30,
+32,-87,
+-9,-241,
+-34,36,
+47,-36,
+30,-102,
+-30,48,
+93,22,
+54,7,
+-63,-109,
+8,127,
+-66,149,
+10,4,
+132,30,
+80,52,
+11,40,
+29,-38,
+-119,-100,
+68,58,
+-50,-72,
+4,-52,
+162,28,
+-6,131,
+-48,-71,
+55,-53,
+-59,8,
+58,116,
+68,-9,
+42,71,
+121,79,
+-44,80,
+-50,-49,
+-99,50,
+-1,53,
+-12,35,
+44,46,
+-6,124,
+22,-94,
+69,136,
+6,-26,
+22,74,
+161,42,
+-166,71,
+-58,34,
+17,9,
+21,-17,
+184,26,
+84,21,
+142,9,
+-10,35,
+134,-29,
+42,-9,
+44,-15,
+12,117,
+46,4,
+41,20,
+29,-102,
+-40,3,
+-79,-44,
+-104,76,
+-58,56,
+-4,91,
+26,-25,
+-74,-37,
+-58,-66,
+20,-78,
+-9,-29,
+117,114,
+15,-27,
+-85,8,
+-8,-84,
+80,74,
+-31,-38,
+12,-10,
+96,42,
+7,-123,
+-74,26,
+15,13,
+-65,-21,
+86,29,
+-65,48,
+-53,71,
+67,31,
+32,76,
+-44,96,
+-50,-7,
+71,-29,
+7,-36,
+-40,32,
+-113,56,
+41,-56,
+11,-81,
+-82,-21,
+-51,-104,
+-72,13,
+44,-54,
+41,-123,
+53,28,
+-99,39,
+95,108,
+85,-60,
+-8,-22,
+-51,11,
+-101,-114,
+-63,-89,
+116,24,
+-62,98,
+-1,-21,
+46,53,
+-102,52,
+-49,-101,
+38,-14,
+-49,1,
+3,64,
+63,35,
+8,-30,
+-46,26,
+-126,82,
+14,97,
+-77,-36,
+-2,128,
+28,23,
+-2,-52,
+64,44,
+115,-37,
+12,-51,
+-80,6,
+13,-82,
+-2,-54,
+-32,16,
+30,-62,
+-75,13,
+43,-3,
+106,84,
+75,20,
+98,42,
+-7,28,
+11,-104,
+18,-35,
+-38,24,
+-20,76,
+-25,-49,
+10,86,
+-5,40,
+31,16,
+-26,-57,
+30,79,
+-9,-24,
+-6,-45,
+20,-24,
+-24,111,
+24,-2,
+-27,-16,
+28,-6,
+43,-73,
+-13,-58,
+81,70,
+23,68,
+-24,-39,
+-55,44,
+-103,-30,
+-62,-88,
+7,5,
+57,-9,
+86,-34,
+27,-83,
+-6,36,
+31,-94,
+-3,23,
+36,-96,
+-15,-15,
+-19,68,
+0,41,
+-34,-42,
+87,37,
+65,39,
+-46,-16,
+31,-25,
+37,-2,
+66,-4,
+30,-17,
+109,-39,
+-56,11,
+-117,-43,
+-94,-35,
+-7,-13,
+49,-4,
+-18,48,
+-114,-1,
+11,28,
+42,-38,
+28,-7,
+-102,-59,
+22,-24,
+19,77,
+36,23,
+-20,14,
+-63,22,
+-26,-29,
+-30,29,
+-25,1,
+-15,-65,
+-46,7,
+-21,-24,
+76,-14,
+21,1,
+-20,-73,
+-76,-7,
+4,17,
+-11,59,
+5,31,
+25,84,
+-76,-24,
+-75,-4,
+57,38,
+-86,-19,
+3,-11,
+15,-26,
+0,-52,
+-63,8,
+48,3,
+15,49,
+-19,33,
+-56,-62,
+-31,39,
+32,-40,
+-16,19,
+-43,-21,
+-40,-55,
+22,-34,
+75,32,
+1,24,
+33,-27,
+3,-10,
+54,-59,
+20,-14,
+-13,19,
+-63,13,
+51,40,
+-26,16,
+51,-76,
+15,17,
+7,-29,
+3,-14,
+-51,14,
+28,11,
+17,-36,
+-4,-43,
+43,-43,
+28,6,
+2,-19,
+12,28,
+-18,7,
+11,-49,
+17,-17,
+29,60,
+-25,6,
+-10,23,
+25,5,
+-5,2,
+-57,7,
+32,20,
+-48,-17,
+-9,-2,
+-3,41,
+36,29,
+-11,-108,
+2,4,
+-2,57,
+-4,-1,
+-17,-10,
+-30,39,
+4,30,
+4,-38,
+-1,23,
+-1,-44,
+-7,67,
+-6,-18,
+7,-40,
+6,-59,
+37,16,
+60,-36,
+24,-3,
+37,17,
+-46,-40,
+3,-9,
+-32,-25,
+11,-12,
+-13,2,
+26,-5,
+40,17,
+6,13,
+1,8,
+-27,1,
+18,-17,
+-50,-26,
+-24,-41,
+-7,0,
+-16,-14,
+14,-16,
+-59,-21,
+72,24,
+-9,25,
+17,31,
+-43,34,
+7,-4,
+-15,13,
+11,27,
+8,-14,
+-27,10,
+27,23,
+27,-5,
+-20,-6,
+8,-36,
+-10,24,
+-17,-8,
+-11,-21,
+6,-18,
+13,10,
+23,22,
+16,32,
+-28,18,
+14,7,
+-3,10,
+25,17,
+13,-27,
+-26,32,
+25,7,
+-12,-2,
+-23,-6,
+12,3,
+-26,-15,
+27,-14,
+-22,15,
+-23,-10,
+-10,4,
+7,25,
+-2,2,
+-23,-13,
+-7,-11,
+-8,-10,
+-21,-16,
+3,9,
+7,8,
+4,4,
+10,-18,
+-15,-7,
+2,3,
+6,23,
+26,-4,
+-8,-2,
+-2,2,
+4,-27,
+26,-4,
+10,-20,
+-8,11,
+21,-8,
+-34,-7,
+-5,-10,
+-6,-20,
+-34,14,
+3,-17,
+-4,33,
+-8,4,
+4,-12,
+8,3,
+-10,19,
+16,1,
+2,12,
+15,13,
+-6,-22,
+1,-9,
+1,20,
+7,7,
+-7,-6,
+19,2,
+4,-2,
+3,-1,
+-21,7,
+-6,-9,
+19,-12,
+-4,9,
+-12,9,
+-4,15,
+4,7,
+9,-3,
+15,-4,
+-12,7,
+4,-13,
+-4,-6,
+0,8,
+3,2,
+4,2,
+3,1,
+5,-9,
+4,-3,
+3,-1,
+5,-10,
+-4,0,
+4,4,
+-5,5,
+-1,-7,
+4,13,
+-2,-6,
+-3,6,
+-4,2,
+-4,-2,
+0,-3,
+1,4,
+-4,-3,
+2,6,
+-1,4,
+0,-8,
+1,6,
+0,5,
+3,-8,
+-3,0,
+0,6,
+0,-5,
+3,0,
+1,6,
+0,-6,
+0,0,
+0,5,
+0,-5,
+0,0,
+0,5,
+0,-5,
+0,0,
+0,6,
+1,-6,
+3,0,
+0,5,
+0,-6,
+-3,0,
+3,8,
+0,-5,
+1,-6,
+0,8,
+-1,-4,
+2,-6,
+-4,3,
+1,-4,
+0,3,
+-4,2,
+-4,-2,
+-3,-6,
+-2,6,
+4,-13,
+-1,7,
+-5,-5,
+4,-4,
+-4,0,
+5,10,
+3,1,
+4,3,
+5,9,
+3,-1,
+4,-2,
+3,-2,
+0,-8,
+-4,6,
+4,13,
+-12,-7,
+15,4,
+9,3,
+4,-7,
+-4,-15,
+-12,-9,
+-4,-9,
+19,12,
+-6,9,
+-21,-7,
+3,1,
+4,2,
+19,-2,
+-7,6,
+7,-7,
+1,-20,
+1,9,
+-6,22,
+15,-13,
+2,-12,
+16,-1,
+-10,-19,
+8,-3,
+4,12,
+-8,-4,
+-4,-33,
+3,17,
+-34,-14,
+-6,20,
+-5,10,
+-34,7,
+21,8,
+-8,-11,
+10,20,
+26,4,
+4,27,
+-2,-2,
+-8,2,
+26,4,
+6,-23,
+2,-3,
+-15,7,
+10,18,
+4,-4,
+7,-8,
+3,-9,
+-21,16,
+-8,10,
+-7,11,
+-23,13,
+-2,-2,
+7,-25,
+-10,-4,
+-23,10,
+-22,-15,
+27,14,
+-26,15,
+12,-3,
+-23,6,
+-12,2,
+25,-7,
+-26,-32,
+13,27,
+25,-17,
+-3,-10,
+14,-7,
+-28,-18,
+16,-32,
+23,-22,
+13,-10,
+6,18,
+-11,21,
+-17,8,
+-10,-24,
+8,36,
+-20,6,
+27,5,
+27,-23,
+-27,-10,
+8,14,
+11,-27,
+-15,-13,
+7,4,
+-43,-34,
+17,-31,
+-9,-25,
+72,-24,
+-59,21,
+14,16,
+-16,14,
+-7,0,
+-24,41,
+-50,26,
+18,17,
+-27,-1,
+1,-8,
+6,-13,
+40,-17,
+26,5,
+-13,-2,
+11,12,
+-32,25,
+3,9,
+-46,40,
+37,-17,
+24,3,
+60,36,
+37,-16,
+6,59,
+7,40,
+-6,18,
+-7,-67,
+-1,44,
+-1,-23,
+4,38,
+4,-30,
+-30,-39,
+-17,10,
+-4,1,
+-2,-57,
+2,-4,
+-11,108,
+36,-29,
+-3,-41,
+-9,2,
+-48,17,
+32,-20,
+-57,-7,
+-5,-2,
+25,-5,
+-10,-23,
+-25,-6,
+29,-60,
+17,17,
+11,49,
+-18,-7,
+12,-28,
+2,19,
+28,-6,
+43,43,
+-4,43,
+17,36,
+28,-11,
+-51,-14,
+3,14,
+7,29,
+15,-17,
+51,76,
+-26,-16,
+51,-40,
+-63,-13,
+-13,-19,
+20,14,
+54,59,
+3,10,
+33,27,
+1,-24,
+75,-32,
+22,34,
+-40,55,
+-43,21,
+-16,-19,
+32,40,
+-31,-39,
+-56,62,
+-19,-33,
+15,-49,
+48,-3,
+-63,-8,
+0,52,
+15,26,
+3,11,
+-86,19,
+57,-38,
+-75,4,
+-76,24,
+25,-84,
+5,-31,
+-11,-59,
+4,-17,
+-76,7,
+-20,73,
+21,-1,
+76,14,
+-21,24,
+-46,-7,
+-15,65,
+-25,-1,
+-30,-29,
+-26,29,
+-63,-22,
+-20,-14,
+36,-23,
+19,-77,
+22,24,
+-102,59,
+28,7,
+42,38,
+11,-28,
+-114,1,
+-18,-48,
+49,4,
+-7,13,
+-94,35,
+-117,43,
+-56,-11,
+109,39,
+30,17,
+66,4,
+37,2,
+31,25,
+-46,16,
+65,-39,
+87,-37,
+-34,42,
+0,-41,
+-19,-68,
+-15,15,
+36,96,
+-3,-23,
+31,94,
+-6,-36,
+27,83,
+86,34,
+57,9,
+7,-5,
+-62,88,
+-103,30,
+-55,-44,
+-24,39,
+23,-68,
+81,-70,
+-13,58,
+43,73,
+28,6,
+-27,16,
+24,2,
+-24,-111,
+20,24,
+-6,45,
+-9,24,
+30,-79,
+-26,57,
+31,-16,
+-5,-40,
+10,-86,
+-25,49,
+-20,-76,
+-38,-24,
+18,35,
+11,104,
+-7,-28,
+98,-42,
+75,-20,
+106,-84,
+43,3,
+-75,-13,
+30,62,
+-32,-16,
+-2,54,
+13,82,
+-80,-6,
+12,51,
+115,37,
+64,-44,
+-2,52,
+28,-23,
+-2,-128,
+-77,36,
+14,-97,
+-126,-82,
+-46,-26,
+8,30,
+63,-35,
+3,-64,
+-49,-1,
+38,14,
+-49,101,
+-102,-52,
+46,-53,
+-1,21,
+-62,-98,
+116,-24,
+-63,89,
+-101,114,
+-51,-11,
+-8,22,
+85,60,
+95,-108,
+-99,-39,
+53,-28,
+41,123,
+44,54,
+-72,-13,
+-51,104,
+-82,21,
+11,81,
+41,56,
+-113,-56,
+-40,-32,
+7,36,
+71,29,
+-50,7,
+-44,-96,
+32,-76,
+67,-31,
+-53,-71,
+-65,-48,
+86,-29,
+-65,21,
+15,-13,
+-74,-26,
+7,123,
+96,-42,
+12,10,
+-31,38,
+80,-74,
+-8,84,
+-85,-8,
+15,27,
+117,-114,
+-9,29,
+20,78,
+-58,66,
+-74,37,
+26,25,
+-4,-91,
+-58,-56,
+-104,-76,
+-79,44,
+-40,-3,
+29,102,
+41,-20,
+46,-4,
+12,-117,
+44,15,
+42,9,
+134,29,
+-10,-35,
+142,-9,
+84,-21,
+184,-26,
+21,17,
+17,-9,
+-58,-34,
+-166,-71,
+161,-42,
+22,-74,
+6,26,
+69,-136,
+22,94,
+-6,-124,
+44,-46,
+-12,-35,
+-1,-53,
+-99,-50,
+-50,49,
+-44,-80,
+121,-79,
+42,-71,
+68,9,
+58,-116,
+-59,-8,
+55,53,
+-48,71,
+-6,-131,
+162,-28,
+4,52,
+-50,72,
+68,-58,
+-119,100,
+29,38,
+11,-40,
+80,-52,
+132,-30,
+10,-4,
+-66,-149,
+8,-127,
+-63,109,
+54,-7,
+93,-22,
+-30,-48,
+30,102,
+47,36,
+-34,-36,
+-9,241,
+32,87,
+-133,-30,
+81,26,
+83,-56,
+73,-89,
+-16,-100,
+-127,-7,
+16,27,
+57,-131,
+161,-24,
+38,39,
+143,-81,
+58,-9,
+-155,-53,
+-90,9,
+170,-35,
+23,-152,
+-11,-50,
+-3,-22,
+20,48,
+13,-20,
+67,-175,
+-84,-24,
+39,-84,
+-84,-67,
+-5,-37,
+-97,-97,
+75,41,
+17,-46,
+-6,-193,
+96,1,
+-49,-58,
+137,-8,
+57,163,
+102,22,
+20,5,
+-144,14,
+152,-46,
+-29,93,
+80,-40,
+45,-68,
+-59,-5,
+24,-10,
+42,-142,
+-30,30,
+38,-37,
+-165,82,
+23,-68,
+-90,-44,
+-190,-88,
+-17,-90,
+-30,21,
+133,-15,
+-28,-72,
+-141,-142,
+62,20,
+-28,71,
+49,13,
+-91,15,
+70,56,
+-14,-68,
+-47,84,
+28,76,
+19,-107,
+28,16,
+43,-32,
+154,63,
+66,123,
+-3,48,
+-36,38,
+118,147,
+72,181,
+-1,-7,
+194,-99,
+-32,-106,
+10,-7,
+39,83,
+-48,35,
+-58,83,
+-68,37,
+73,46,
+-2,112,
+-80,64,
+241,-36,
+-86,31,
+91,196,
+-38,-16,
+-13,208,
+-118,62,
+-43,17,
+-217,-24,
+-5,103,
+-103,-216,
+-6,58,
+8,-109,
+-135,37,
+-92,5,
+12,-46,
+-69,149,
+-128,9,
+21,-49,
+-35,48,
+61,-78,
+198,-53,
+-55,-140,
+-199,-5,
+-110,-92,
+-57,-71,
+-98,117,
+-60,-129,
+-83,-167,
+-57,-29,
+152,-7,
+-38,-95,
+-34,50,
+-15,26,
+-64,-44,
+47,47,
+-43,-45,
+-51,85,
+-43,-103,
+-6,65,
+87,44,
+166,68,
+-43,-67,
+0,-154,
+97,229,
+100,93,
+64,66,
+14,153,
+42,-49,
+-148,151,
+153,-56,
+42,-60,
+39,43,
+39,-3,
+56,-31,
+-4,-25,
+23,-136,
+-102,70,
+76,-84,
+22,137,
+-158,-117,
+-39,-234,
+-63,87,
+5,-163,
+168,1,
+59,3,
+125,-81,
+23,-13,
+-43,32,
+185,129,
+55,-75,
+-4,157,
+208,-67,
+60,1,
+88,-17,
+-22,-47,
+-69,-19,
+164,104,
+119,-149,
+70,-121,
+10,84,
+-2,180,
+122,-66,
+-17,-140,
+29,-140,
+38,-89,
+71,-189,
+100,85,
+-82,71,
+119,85,
+223,-95,
+-68,-201,
+56,68,
+56,-14,
+-232,82,
+-155,-6,
+-92,-12,
+18,-11,
+-112,-20,
+-34,-51,
+174,-31,
+-144,-82,
+-22,-17,
+106,146,
+193,-21,
+74,-20,
+-46,-77,
+127,-206,
+67,-40,
+-133,150,
+-18,-119,
+-41,144,
+-6,-3,
+-140,-113,
+99,-38,
+110,-113,
+-5,23,
+-182,114,
+110,-138,
+87,36,
+53,-53,
+28,-220,
+209,-4,
+7,-40,
+19,108,
+29,110,
+75,92,
+52,-119,
+138,45,
+-5,0,
+154,-125,
+-119,1,
+213,-5,
+-16,-201,
+78,41,
+133,-18,
+53,221,
+-38,11,
+45,-191,
+2,-81,
+15,-314,
+69,-50,
+-4,-150,
+1,-46,
+-63,-190,
+63,-6,
+45,-25,
+173,-78,
+-128,-83,
+-32,3,
+-100,20,
+37,132,
+-2,186,
+215,90,
+52,-48,
+1,54,
+-62,52,
+-109,68,
+-156,91,
+30,-139,
+65,-93,
+115,-33,
+-183,104,
+80,15,
+-73,-67,
+43,-41,
+18,19,
+-98,-116,
+20,-83,
+-133,109,
+77,147,
+25,-178,
+-58,123,
+163,-10,
+96,39,
+42,21,
+149,-151,
+149,74,
+23,136,
+-111,-112,
+-5,-145,
+49,277,
+37,27,
+-17,-23,
+-155,51,
+-159,39,
+36,159,
+-178,108,
+-47,-34,
+-81,-215,
+-206,140,
+307,-64,
+77,-33,
+-104,-143,
+-10,-97,
+17,177,
+-231,235,
+-187,-70,
+157,25,
+11,-59,
+97,33,
+91,7,
+-29,61,
+-9,164,
+-163,-29,
+45,-36,
+140,128,
+58,-168,
+-80,-101,
+58,288,
+244,15,
+-13,154,
+185,67,
+63,9,
+76,-34,
+14,5,
+-76,-157,
+17,-214,
+-64,14,
+-116,66,
+-46,73,
+-135,-20,
+-65,-33,
+53,130,
+-170,-44,
+153,14,
+78,-185,
+76,-299,
+105,-42,
+4,-90,
+-137,-12,
+-176,22,
+171,2,
+18,104,
+60,16,
+13,11,
+247,-45,
+-97,28,
+-12,-68,
+59,53,
+87,-52,
+-260,3,
+97,50,
+145,-96,
+38,97,
+-44,-31,
+-3,-65,
+-194,-8,
+-106,-108,
+179,-54,
+73,-130,
+34,61,
+-4,179,
+-31,166,
+-170,195,
+-68,-13,
+68,-193,
+-188,-124,
+-34,-111,
+-162,-20,
+86,48,
+-241,-156,
+-36,39,
+-97,10,
+137,-37,
+127,140,
+-61,-35,
+-13,-171,
+195,-122,
+-63,23,
+-124,32,
+78,-213,
+-29,-27,
+-126,-241,
+49,-112,
+-107,16,
+-53,354,
+-65,255,
+-99,-19,
+49,-117,
+71,90,
+85,207,
+-80,96,
+93,-258,
+-174,93,
+-124,88,
+43,119,
+29,-186,
+187,-41,
+57,79,
+-92,103,
+101,135,
+-5,60,
+-67,50,
+2,78,
+-160,109,
+6,40,
+20,-141,
+-138,-192,
+-74,225,
+-107,59,
+109,83,
+82,41,
+244,-109,
+56,28,
+81,219,
+-49,76,
+25,101,
+96,-42,
+-149,217,
+-83,-164,
+-20,54,
+-176,121,
+161,-13,
+144,-210,
+-64,173,
+93,170,
+-182,1,
+97,33,
+-45,-48,
+-49,167,
+-175,158,
+-86,-138,
+65,-147,
+78,-133,
+-2,48,
+-190,-159,
+-49,-79,
+-98,-122,
+-10,110,
+166,55,
+89,112,
+-62,-259,
+-3,109,
+-224,-152,
+77,-131,
+-65,213,
+-40,-22,
+113,-18,
+-96,-15,
+-292,-81,
+17,-91,
+-97,-104,
+-29,-54,
+111,20,
+26,-9,
+-216,51,
+2,-163,
+144,-30,
+117,74,
+-22,6,
+128,-68,
+-65,80,
+29,33,
+133,155,
+-112,-88,
+-56,221,
+332,-75,
+-123,-107,
+-234,-16,
+-74,90,
+222,-86,
+23,42,
+-28,139,
+130,11,
+79,65,
+50,-21,
+-265,-54,
+218,64,
+-31,30,
+106,-39,
+-283,49,
+-122,-71,
+-132,-192,
+44,-172,
+-94,-257,
+-27,25,
+51,-23,
+-264,240,
+-21,-93,
+-3,124,
+-109,-25,
+65,-119,
+64,-146,
+37,-95,
+47,93,
+17,-31,
+-78,143,
+-187,0,
+-92,281,
+-119,60,
+10,-152,
+-135,320,
+-50,-144,
+41,40,
+203,-304,
+162,214,
+84,-48,
+115,191,
+12,-46,
+61,-73,
+112,91,
+-102,-11,
+127,-63,
+161,-102,
+-313,-39,
+22,124,
+28,-43,
+-19,109,
+-151,101,
+-28,-46,
+-32,-114,
+171,-110,
+242,-39,
+39,-20,
+42,202,
+189,-234,
+-113,-81,
+59,72,
+32,-137,
+153,130,
+-96,-41,
+35,23,
+-25,239,
+-130,-194,
+11,105,
+-34,-2,
+14,208,
+39,85,
+116,-76,
+71,50,
+-102,123,
+-104,98,
+-86,55,
+-45,100,
+-46,86,
+147,-129,
+4,-58,
+-139,65,
+-121,-80,
+162,151,
+18,-137,
+74,-178,
+11,-8,
+-132,186,
+-35,-246,
+-244,-107,
+9,-18,
+-98,-229,
+120,225,
+-163,-19,
+-191,160,
+100,198,
+-280,73,
+208,195,
+115,-40,
+116,37,
+-141,13,
+90,-48,
+115,-70,
+77,104,
+157,-293,
+61,15,
+-177,-20,
+-111,17,
+193,-63,
+132,31,
+-53,-122,
+-55,30,
+10,-314,
+32,135,
+-13,260,
+-70,-8,
+-103,-130,
+-30,-58,
+280,208,
+198,100,
+64,-104,
+-39,-224,
+68,-20,
+-105,-127,
+-49,236,
+-116,-95,
+12,8,
+183,33,
+25,-150,
+-113,-85,
+-42,2,
+-89,-159,
+-134,-111,
+-88,70,
+-78,-187,
+150,130,
+-43,30,
+203,-23,
+-208,-3,
+331,-36,
+-47,107,
+30,188,
+1,76,
+10,-14,
+-214,49,
+249,-15,
+211,112,
+-141,-100,
+52,28,
+144,26,
+70,-196,
+-192,76,
+-52,-67,
+83,282,
+-20,-153,
+57,-213,
+-70,-129,
+86,14,
+-128,-73,
+77,-126,
+109,-18};
+#endif
+
diff --git a/src/algorithms/libs/gps_sdr_signal_processing.cc b/src/algorithms/libs/gps_sdr_signal_processing.cc
new file mode 100644
index 000000000..6f25a2fe6
--- /dev/null
+++ b/src/algorithms/libs/gps_sdr_signal_processing.cc
@@ -0,0 +1,387 @@
+#include "gps_sdr_signal_processing.h"
+
+#include
+#include
+#include
+
+/*!
+ * The SV ID is _prn=ID -1
+ */
+void code_gen_conplex(std::complex* _dest, int32 _prn, unsigned int _chip_shift) {
+
+ uint32 G1[1023];
+ uint32 G2[1023];
+ uint32 G1_register[10], G2_register[10];
+ uint32 feedback1, feedback2;
+ uint32 lcv, lcv2;
+ uint32 delay;
+ int32 prn = _prn-1; //Move the PRN code to fit an array indices
+
+ /* G2 Delays as defined in GPS-ISD-200D */
+ int32 delays[51] = {5, 6, 7, 8, 17, 18, 139, 140, 141, 251, 252, 254 ,255, 256, 257, 258, 469, 470, 471, 472,
+ 473, 474, 509, 512, 513, 514, 515, 516, 859, 860, 861, 862, 145, 175, 52, 21, 237, 235, 886, 657, 634, 762,
+ 355, 1012, 176, 603, 130, 359, 595, 68, 386};
+
+ /* A simple error check */
+ if((prn < 0) || (prn > 51))
+ return;
+
+ for(lcv = 0; lcv < 10; lcv++)
+ {
+ G1_register[lcv] = 1;
+ G2_register[lcv] = 1;
+ }
+
+ /* Generate G1 & G2 Register */
+ for(lcv = 0; lcv < 1023; lcv++)
+ {
+ G1[lcv] = G1_register[0];
+ G2[lcv] = G2_register[0];
+
+ feedback1 = G1_register[7]^G1_register[0];
+ feedback2 = (G2_register[8] + G2_register[7] + G2_register[4] + G2_register[2] + G2_register[1] + G2_register[0]) & 0x1;
+
+ for(lcv2 = 0; lcv2 < 9; lcv2++)
+ {
+ G1_register[lcv2] = G1_register[lcv2+1];
+ G2_register[lcv2] = G2_register[lcv2+1];
+ }
+
+ G1_register[9] = feedback1;
+ G2_register[9] = feedback2;
+ }
+
+ /* Set the delay */
+ delay = 1023 - delays[prn];
+ delay+=_chip_shift;
+ delay %= 1023;
+ /* Generate PRN from G1 and G2 Registers */
+ for(lcv = 0; lcv < 1023; lcv++)
+ {
+ _dest[lcv] = std::complex(G1[(lcv+_chip_shift)%1023]^G2[delay], 0);
+ if(_dest[lcv].real()==0.0) //javi
+ {
+ _dest[lcv].real(-1.0);
+ }
+ delay++;
+ delay %= 1023;
+ //std::cout<<_dest[lcv].real(); //OK
+ }
+
+}
+
+
+/*----------------------------------------------------------------------------------------------*/
+/*!
+ * code_gen, generate the given prn code
+ * */
+int32 code_gen(CPX *_dest, int32 _prn)
+{
+
+ uint32 G1[1023];
+ uint32 G2[1023];
+ uint32 G1_register[10], G2_register[10];
+ uint32 feedback1, feedback2;
+ uint32 lcv, lcv2;
+ uint32 delay;
+ int32 prn = _prn-1; //Move the PRN code to fit an array indices
+
+ /* G2 Delays as defined in GPS-ISD-200D */
+ int32 delays[51] = {5, 6, 7, 8, 17, 18, 139, 140, 141, 251, 252, 254 ,255, 256, 257, 258, 469, 470, 471, 472,
+ 473, 474, 509, 512, 513, 514, 515, 516, 859, 860, 861, 862, 145, 175, 52, 21, 237, 235, 886, 657, 634, 762,
+ 355, 1012, 176, 603, 130, 359, 595, 68, 386};
+
+ /* A simple error check */
+ if((prn < 0) || (prn > 51))
+ return(0);
+
+ for(lcv = 0; lcv < 10; lcv++)
+ {
+ G1_register[lcv] = 1;
+ G2_register[lcv] = 1;
+ }
+
+ /* Generate G1 & G2 Register */
+ for(lcv = 0; lcv < 1023; lcv++)
+ {
+ G1[lcv] = G1_register[0];
+ G2[lcv] = G2_register[0];
+
+ feedback1 = G1_register[7]^G1_register[0];
+ feedback2 = (G2_register[8] + G2_register[7] + G2_register[4] + G2_register[2] + G2_register[1] + G2_register[0]) & 0x1;
+
+ for(lcv2 = 0; lcv2 < 9; lcv2++)
+ {
+ G1_register[lcv2] = G1_register[lcv2+1];
+ G2_register[lcv2] = G2_register[lcv2+1];
+ }
+
+ G1_register[9] = feedback1;
+ G2_register[9] = feedback2;
+ }
+
+ /* Set the delay */
+ delay = 1023 - delays[prn];
+
+ /* Generate PRN from G1 and G2 Registers */
+ for(lcv = 0; lcv < 1023; lcv++)
+ {
+ _dest[lcv].i = G1[lcv]^G2[delay];
+ _dest[lcv].q = 0;
+
+ delay++;
+ delay %= 1023;
+ }
+
+ return(1);
+
+}
+/*----------------------------------------------------------------------------------------------*/
+
+
+
+/*!
+ * code_gen_complex_sampled, generate GPS L1 C/A code complex for the desired SV ID and sampled to specific sampling frequency
+ */
+void code_gen_complex_sampled(std::complex* _dest, unsigned int _prn, int32 _fs, unsigned int _chip_shift)
+{
+ // This function is based on the GNU software GPS for MATLAB in the Kay Borre book
+ std::complex _code[1023];
+ int32 _samplesPerCode,_codeValueIndex;
+ float _ts;
+ float _tc;
+ const int32 _codeFreqBasis=1023000; //Hz
+ const int32 _codeLength=1023;
+
+ //--- Find number of samples per spreading code ----------------------------
+ _samplesPerCode = round(_fs / (_codeFreqBasis / _codeLength));
+
+ //--- Find time constants --------------------------------------------------
+ _ts = 1/(float)_fs; // Sampling period in sec
+ _tc = 1/(float)_codeFreqBasis; // C/A chip period in sec
+ code_gen_conplex(_code,_prn,_chip_shift); //generate C/A code 1 sample per chip
+ //std::cout<<"ts="<<_ts< upsample
+ }
+ //std::cout<<_codeValueIndex;
+
+ }
+
+}
+
+
+
+/*----------------------------------------------------------------------------------------------*/
+/*!
+ * sine_gen, generate a full scale sinusoid of frequency f with sampling frequency fs for _samps samps and put it into _dest
+ * */
+void sine_gen(CPX *_dest, double _f, double _fs, signed int _samps) {
+
+ signed int lcv;
+ signed short c, s;
+ float phase, phase_step;
+
+ phase = 0;
+ phase_step = (float)TWO_PI*_f/_fs;
+
+ for(lcv = 0; lcv < _samps; lcv++) {
+ c = (signed short)floor(16383.0*cos(phase));
+ s = (signed short)floor(16383.0*sin(phase));
+ _dest[lcv].i = c;
+ _dest[lcv].q = s;
+
+ phase += phase_step;
+ }
+}
+/*----------------------------------------------------------------------------------------------*/
+
+void sine_gen_complex(std::complex* _dest, double _f, double _fs, unsigned int _samps) {
+
+ double phase, phase_step;
+
+ phase_step = ((double)TWO_PI*_f)/_fs;
+
+ for(unsigned int i = 0; i < _samps; i++) {
+
+ //_dest[i] = std::complex(16383.0*cos(phase), 16383.0*sin(phase));
+ _dest[i] = std::complex(cos(phase),sin(phase));
+
+ phase += phase_step;
+ }
+
+}
+
+
+/*----------------------------------------------------------------------------------------------*/
+void sine_gen(CPX *_dest, double _f, double _fs, int32 _samps, double _p)
+{
+
+ int32 lcv;
+ int16 c, s;
+ double phase, phase_step;
+
+ phase = _p;
+ phase_step = (double)TWO_PI*_f/_fs;
+
+ for(lcv = 0; lcv < _samps; lcv++)
+ {
+ c = (int16)floor(16383.0*cos(phase));
+ s = (int16)floor(16383.0*sin(phase));
+ _dest[lcv].i = c;
+ _dest[lcv].q = s;
+
+ phase += phase_step;
+ }
+
+}
+/*----------------------------------------------------------------------------------------------*/
+
+
+/*----------------------------------------------------------------------------------------------*/
+/*!
+ * wipeoff_gen, generate a full scale sinusoid of frequency f with sampling frequency fs for _samps samps and put it into _dest
+ * */
+void wipeoff_gen(MIX *_dest, double _f, double _fs, int32 _samps)
+{
+
+ int32 lcv;
+ int16 c, s;
+ double phase, phase_step;
+
+ phase = 0;
+ phase_step = (double)TWO_PI*_f/_fs;
+
+ for(lcv = 0; lcv < _samps; lcv++)
+ {
+ c = (int16)floor(16383.0*cos(phase));
+ s = (int16)floor(16383.0*sin(phase));
+ _dest[lcv].i = _dest[lcv].ni = c;
+ _dest[lcv].q = s;
+ _dest[lcv].nq = -s;
+
+ phase += phase_step;
+ }
+
+}
+/*----------------------------------------------------------------------------------------------*/
+
+
+/*----------------------------------------------------------------------------------------------*/
+void downsample(CPX *_dest, CPX *_source, double _fdest, double _fsource, int32 _samps)
+{
+
+ int32 lcv, k;
+ uint32 phase_step;
+ uint32 lphase, phase;
+
+ phase_step = (uint32)floor((double)4294967296.0*_fdest/_fsource);
+
+ k = lphase = phase = 0;
+
+ for(lcv = 0; lcv < _samps; lcv++)
+ {
+ if(phase <= lphase)
+ {
+ _dest[k] = _source[lcv];
+ k++;
+ }
+
+ lphase = phase;
+ phase += phase_step;
+ }
+
+}
+/*----------------------------------------------------------------------------------------------*/
+
+
+/*----------------------------------------------------------------------------------------------*/
+
+/*----------------------------------------------------------------------------------------------*/
+
+
+/*----------------------------------------------------------------------------------------------*/
+/*!
+ * Gather statistics and run AGC
+ * */
+int32 run_agc(CPX *_buff, int32 _samps, int32 _bits, int32 _scale)
+{
+ int32 lcv, num;
+ int16 max, *p;
+ int16 val;
+
+ p = (int16 *)&_buff[0];
+
+ val = (1 << _scale - 1);
+ max = 1 << _bits;
+ num = 0;
+
+ if(_scale)
+ {
+ for(lcv = 0; lcv < 2*_samps; lcv++)
+ {
+ p[lcv] += val;
+ p[lcv] >>= _scale;
+ if(abs(p[lcv]) > max)
+ num++;
+ }
+ }
+ else
+ {
+ for(lcv = 0; lcv < 2*_samps; lcv++)
+ {
+ if(abs(p[lcv]) > max)
+ num++;
+ }
+ }
+
+ return(num);
+
+}
+/*----------------------------------------------------------------------------------------------*/
+
+
+/*----------------------------------------------------------------------------------------------*/
+/*!
+ * Get a rough first guess of scale value to quickly initialize agc
+ * */
+void init_agc(CPX *_buff, int32 _samps, int32 bits, int32 *scale)
+{
+ int32 lcv;
+ int16 *p;
+ int32 max;
+
+ p = (int16 *)&_buff[0];
+
+ max = 0;
+ for(lcv = 0; lcv < 2*_samps; lcv++)
+ {
+ if(p[lcv] > max)
+ max = p[lcv];
+ }
+
+ scale[0] = (1 << 14) / max;
+
+}
+/*----------------------------------------------------------------------------------------------*/
diff --git a/src/algorithms/libs/gps_sdr_signal_processing.h b/src/algorithms/libs/gps_sdr_signal_processing.h
new file mode 100644
index 000000000..7a002e023
--- /dev/null
+++ b/src/algorithms/libs/gps_sdr_signal_processing.h
@@ -0,0 +1,56 @@
+#ifndef GPS_SDR_SIGNAL_PROCESSING_H_
+#define GPS_SDR_SIGNAL_PROCESSING_H_
+
+#include "gps_sdr_defines.h"
+
+#include
+#include
+
+/*
+ * Signal processing functions from gps-sdr.
+ */
+
+/*----------------------------------------------------------------------------------------------*/
+/*! @ingroup STRUCTS
+ * @brief Define the CPX structure, used in the Fine_Acquisition FFT */
+typedef struct CPX
+{
+ int16 i; //!< Real value
+ int16 q; //!< Imaginary value
+} CPX;
+
+/*! \ingroup STRUCTS
+ * @brief Format of complex accumulations */
+typedef struct CPX_ACCUM {
+
+ int32 i; //!< Inphase (real)
+ int32 q; //!< Quadrature (imaginary)
+
+} CPX_ACCUM;
+
+
+/*! \ingroup STRUCTS
+ *
+ */
+typedef struct MIX {
+
+ int16 i; //!< Inphase (real)
+ int16 nq; //!< Quadrature (imaginary)
+ int16 q; //!< Quadrature (imaginary)
+ int16 ni; //!< Inphase (real)
+
+} MIX;
+/*----------------------------------------------------------------------------------------------*/
+
+void code_gen_conplex(std::complex* _dest, int32 _prn, unsigned int _chip_shift);
+void code_gen_complex_sampled(std::complex* _dest, unsigned int _prn, int32 _fs, unsigned int _chip_shift);
+int32 code_gen(CPX *_dest, int32 _prn);
+void sine_gen(CPX *_dest, double _f, double _fs, int32 _samps);
+void sine_gen_complex(std::complex* _dest, double _f, double _fs, unsigned int _samps);
+void sine_gen(CPX *_dest, double _f, double _fs, int32 _samps, double _p);
+void wipeoff_gen(MIX *_dest, double _f, double _fs, int32 _samps);
+void downsample(CPX *_dest, CPX *_source, double _fdest, double _fsource, int32 _samps);
+void init_agc(CPX *_buff, int32 _samps, int32 bits, int32 *scale);
+int32 run_agc(CPX *_buff, int32 _samps, int32 bits, int32 scale);
+
+#endif /* GPS_SDR_SIGNAL_PROCESSING_H_ */
diff --git a/src/algorithms/libs/gps_sdr_simd.cc b/src/algorithms/libs/gps_sdr_simd.cc
new file mode 100644
index 000000000..8049124d7
--- /dev/null
+++ b/src/algorithms/libs/gps_sdr_simd.cc
@@ -0,0 +1,1041 @@
+/*! \file SSE.cpp
+ SIMD functionality, mainly for 32 bit interleaved complex integer type (CPX)
+*/
+
+/************************************************************************************************
+Copyright 2008 Gregory W Heckler
+
+This file is part of the GPS Software Defined Radio (GPS-SDR)
+
+The GPS-SDR 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.
+
+The GPS-SDR 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 GPS-SDR; if not,
+write to the:
+
+Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+************************************************************************************************/
+#include "gps_sdr_simd.h"
+
+// __asm
+// (
+// "mov eax, 0x1 \n\t"
+//
+// "mov eax, edx \n\t"
+// "leave \n\t"
+// "ret \n\t"
+// ".att_syntax \n\t"
+// );
+
+
+void sse_add(int16 *A, int16 *B, int32 cnt)
+{
+
+ int32 cnt1;
+ int32 cnt2;
+
+ cnt1 = cnt / 8;
+ cnt2 = (cnt - (8*cnt1));
+
+ if(((int)A%16) || ((int)B%16)) // unaligned version
+ {
+
+ __asm
+ (
+ ".intel_syntax noprefix \n\t" //Set up for loop
+ "mov edi, [ebp+8] \n\t" //Address of A
+ "mov esi, [ebp+12] \n\t" //Address of B
+ "mov ecx, [ebp-12] \n\t" //Counter 1
+ "jecxz Z%= \n\t"
+ "L%=: \n\t"
+ "movupd xmm0, [edi] \n\t" //Load from A
+ "movupd xmm1, [esi] \n\t" //Load from B
+ "paddw xmm0, xmm1 \n\t" //Multiply A*B
+ "movupd [edi], xmm0 \n\t" //Move into A
+ "add edi, 16 \n\t"
+ "add esi, 16 \n\t"
+ "loop L%= \n\t" //Loop if not done
+ "Z%=: \n\t"
+ "mov ecx, [ebp-16] \n\t" //Counter 2
+ "jecxz ZZ%= \n\t"
+ "mov eax, 0 \n\t"
+ "LL%=: \n\t" //Really finish off loop with non SIMD instructions
+ "mov ax, [edi] \n\t"
+ "add ax, [esi] \n\t"
+ "mov [edi], ax \n\t"
+ "add esi, 2 \n\t"
+ "add edi, 2 \n\t"
+ "loop LL%= \n\t"
+ "ZZ%=: \n\t"
+ "EMMS \n\t"
+ ".att_syntax \n\t"
+ :
+ : "m" (A), "m" (B), "m" (cnt), "m" (cnt1), "m" (cnt2)
+ : "%eax", "%ecx", "%edi", "%esi"
+ );
+
+ }
+ else
+ {
+ __asm
+ (
+ ".intel_syntax noprefix \n\t" //Set up for loop
+ "mov edi, [ebp+8] \n\t" //Address of A
+ "mov esi, [ebp+12] \n\t" //Address of B
+ "mov ecx, [ebp-12] \n\t" //Counter 1
+ "jecxz Z%= \n\t"
+ "L%=: \n\t"
+ "movapd xmm0, [edi] \n\t" //Load from A
+ "paddw xmm0, [esi] \n\t" //Multiply A*B
+ "movapd [edi], xmm0 \n\t" //Move into A
+ "add edi, 16 \n\t"
+ "add esi, 16 \n\t"
+ "loop L%= \n\t" //Loop if not done
+ "Z%=: \n\t"
+ "mov ecx, [ebp-16] \n\t" //Counter 2
+ "jecxz ZZ%= \n\t"
+ "mov eax, 0 \n\t"
+ "LL%=: \n\t" //Really finish off loop with non SIMD instructions
+ "mov ax, [edi] \n\t"
+ "add ax, [esi] \n\t"
+ "mov [edi], ax \n\t"
+ "add esi, 2 \n\t"
+ "add edi, 2 \n\t"
+ "loop LL%= \n\t"
+ "ZZ%=: \n\t"
+ "EMMS \n\t"
+ ".att_syntax \n\t"
+ :
+ : "m" (A), "m" (B), "m" (cnt), "m" (cnt1), "m" (cnt2)
+ : "%eax", "%ecx", "%edi", "%esi"
+ );//end __asm
+
+ }//end if
+
+}
+
+
+void sse_sub(int16 *A, int16 *B, int32 cnt)
+{
+
+ int32 cnt1;
+ int32 cnt2;
+
+ cnt1 = cnt / 8;
+ cnt2 = (cnt - (8*cnt1));
+
+ if(((int)A%16) || ((int)B%16)) // unaligned version
+ {
+
+ __asm
+ (
+ ".intel_syntax noprefix \n\t" //Set up for loop
+ "mov edi, [ebp+8] \n\t" //Address of A
+ "mov esi, [ebp+12] \n\t" //Address of B
+ "mov ecx, [ebp-12] \n\t" //Counter 1
+ "jecxz Z%= \n\t"
+ "L%=: \n\t"
+ "movupd xmm0, [edi] \n\t" //Load from A
+ "movupd xmm1, [esi] \n\t" //Load from B
+ "psubw xmm0, xmm1 \n\t" //Multiply A*B
+ "movupd [edi], xmm0 \n\t" //Move into A
+ "add edi, 16 \n\t"
+ "add esi, 16 \n\t"
+ "loop L%= \n\t" //Loop if not done
+ "Z%=: \n\t"
+ "mov ecx, [ebp-16] \n\t" //Counter 2
+ "jecxz ZZ%= \n\t"
+ "mov eax, 0 \n\t"
+ "LL%=: \n\t" //Really finish off loop with non SIMD instructions
+ "mov ax, [edi] \n\t"
+ "sub ax, [esi] \n\t"
+ "mov [edi], ax \n\t"
+ "add esi, 2 \n\t"
+ "add edi, 2 \n\t"
+ "loop LL%= \n\t"
+ "ZZ%=: \n\t"
+ "EMMS \n\t"
+ ".att_syntax \n\t"
+ :
+ : "m" (A), "m" (B), "m" (cnt), "m" (cnt1), "m" (cnt2)
+ : "%eax", "%ecx", "%edi", "%esi"
+ );
+
+ }
+ else
+ {
+ __asm
+ (
+ ".intel_syntax noprefix \n\t" //Set up for loop
+ "mov edi, [ebp+8] \n\t" //Address of A
+ "mov esi, [ebp+12] \n\t" //Address of B
+ "mov ecx, [ebp-12] \n\t" //Counter 1
+ "jecxz Z%= \n\t"
+ "L%=: \n\t"
+ "movapd xmm0, [edi] \n\t" //Load from A
+ "psubw xmm0, [esi] \n\t" //Multiply A*B
+ "movapd [edi], xmm0 \n\t" //Move into A
+ "add edi, 16 \n\t"
+ "add esi, 16 \n\t"
+ "loop L%= \n\t" //Loop if not done
+ "Z%=: \n\t"
+ "mov ecx, [ebp-16] \n\t" //Counter 2
+ "jecxz ZZ%= \n\t"
+ "mov eax, 0 \n\t"
+ "LL%=: \n\t" //Really finish off loop with non SIMD instructions
+ "mov ax, [edi] \n\t"
+ "sub ax, [esi] \n\t"
+ "mov [edi], ax \n\t"
+ "add esi, 2 \n\t"
+ "add edi, 2 \n\t"
+ "loop LL%= \n\t"
+ "ZZ%=: \n\t"
+ "EMMS \n\t"
+ ".att_syntax \n\t"
+ :
+ : "m" (A), "m" (B), "m" (cnt), "m" (cnt1), "m" (cnt2)
+ : "%eax", "%ecx", "%edi", "%esi"
+ );//end __asm
+
+ }//end if
+
+}
+
+void sse_mul(int16 *A, int16 *B, int32 cnt)
+{
+
+ int32 cnt1;
+ int32 cnt2;
+
+ cnt1 = cnt / 8;
+ cnt2 = (cnt - (8*cnt1));
+
+ if(((int)A%16) || ((int)B%16)) // unaligned version
+ {
+
+ __asm
+ (
+ ".intel_syntax noprefix \n\t" //Set up for loop
+ "mov edi, [ebp+8] \n\t" //Address of A
+ "mov esi, [ebp+12] \n\t" //Address of B
+ "mov ecx, [ebp-12] \n\t" //Counter 1
+ "jecxz Z%= \n\t"
+ "L%=: \n\t"
+ "movupd xmm0, [edi] \n\t" //Load from A
+ "movupd xmm1, [esi] \n\t" //Load from B
+ "pmullw xmm0, xmm1 \n\t" //Multiply A*B
+ "movupd [edi], xmm0 \n\t" //Move into A
+ "add edi, 16 \n\t"
+ "add esi, 16 \n\t"
+ "loop L%= \n\t" //Loop if not done
+ "Z%=: \n\t"
+ "mov ecx, [ebp-16] \n\t" //Counter 2
+ "jecxz ZZ%= \n\t"
+ "mov eax, 0 \n\t"
+ "LL%=: \n\t" //Really finish off loop with non SIMD instructions
+ "mov ax, [edi] \n\t"
+ "imul ax, [esi] \n\t"
+ "mov [edi], ax \n\t"
+ "add esi, 2 \n\t"
+ "add edi, 2 \n\t"
+ "loop LL%= \n\t"
+ "ZZ%=: \n\t"
+ "EMMS \n\t"
+ ".att_syntax \n\t"
+ :
+ : "m" (A), "m" (B), "m" (cnt), "m" (cnt1), "m" (cnt2)
+ : "%eax", "%ecx", "%edi", "%esi"
+ );
+
+ }
+ else
+ {
+ __asm
+ (
+ ".intel_syntax noprefix \n\t" //Set up for loop
+ "mov edi, [ebp+8] \n\t" //Address of A
+ "mov esi, [ebp+12] \n\t" //Address of B
+ "mov ecx, [ebp-12] \n\t" //Counter 1
+ "jecxz Z%= \n\t"
+ "L%=: \n\t"
+ "movapd xmm0, [edi] \n\t" //Load from A
+ "pmullw xmm0, [esi] \n\t" //Multiply A*B
+ "movapd [edi], xmm0 \n\t" //Move into A
+ "add edi, 16 \n\t"
+ "add esi, 16 \n\t"
+ "loop L%= \n\t" //Loop if not done
+ "Z%=: \n\t"
+ "mov ecx, [ebp-16] \n\t" //Counter 2
+ "jecxz ZZ%= \n\t"
+ "mov eax, 0 \n\t"
+ "LL%=: \n\t" //Really finish off loop with non SIMD instructions
+ "mov ax, [edi] \n\t"
+ "imul ax, [esi] \n\t"
+ "mov [edi], ax \n\t"
+ "add esi, 2 \n\t"
+ "add edi, 2 \n\t"
+ "loop LL%= \n\t"
+ "ZZ%=: \n\t"
+ "EMMS \n\t"
+ ".att_syntax \n\t"
+ :
+ : "m" (A), "m" (B), "m" (cnt), "m" (cnt1), "m" (cnt2)
+ : "%eax", "%ecx", "%edi", "%esi"
+ );//end __asm
+
+ }//end if
+
+}
+
+
+int32 sse_dot(int16 *A, int16 *B, int32 cnt)
+{
+
+ int32 cnt1;
+ int32 cnt2;
+ int32 temp;
+
+ if(((int32)A%16) || ((int32)B%16)) //If the memory locations are not 16 byte aligned use slower movupd instruction
+ {
+
+ cnt1 = cnt / 24;
+ cnt2 = (cnt - (24*cnt1));
+
+ __asm
+ (
+ ".intel_syntax noprefix \n\t" //Set up for loop
+ "push ebx\n\t"
+ "mov edi, [ebp+8] \n\t" //Address of A
+ "mov esi, [ebp+12] \n\t" //Address of B
+ "mov ecx, [ebp-16] \n\t" //Counter 1
+ "pxor xmm0, xmm0 \n\t" //Clear the running sum (accumulator)
+ "jecxz Z%= \n\t"
+ "L%=: \n\t"
+ "movupd xmm1, [esi] \n\t" //Load from A
+ "movupd xmm2, [esi+16] \n\t" //Load from A
+ "movupd xmm3, [esi+32] \n\t" //Load from A
+ "movupd xmm4, [edi] \n\t" //Load from B
+ "movupd xmm5, [edi+16] \n\t" //Load from B
+ "movupd xmm6, [edi+32] \n\t" //Load from B
+ "pmaddwd xmm1, xmm4 \n\t" //Multiply and accumulate
+ "pmaddwd xmm2, xmm5 \n\t" //Multiply and accumulate
+ "pmaddwd xmm3, xmm6 \n\t" //Multiply and accumulate
+ "paddd xmm1, xmm3 \n\t" //Add into accumulator (efficiently)
+ "paddd xmm0, xmm2 \n\t"
+ "paddd xmm0, xmm1 \n\t"
+ "add esi, 48 \n\t"
+ "add edi, 48 \n\t"
+ "loop L%= \n\t" //Loop if not done
+ "Z%=: \n\t"
+ "movd ebx, xmm0 \n\t" //right-hand word to ebx
+ "psrldq xmm0, 4 \n\t" //left-hand word to right side of xmm0
+ "movd eax, xmm0 \n\t" //left-hand word into eax
+ "add eax, ebx \n\t" //running sum now in eax
+ "mov edx, eax \n\t" //move into edx
+ "psrldq xmm0, 4 \n\t" //left-hand word to right side of xmm0
+ "movd ebx, xmm0 \n\t" //right-hand word to ebx
+ "psrldq xmm0, 4 \n\t" //left-hand word to right side of xmm0
+ "movd eax, xmm0 \n\t" //left-hand word into eax
+ "add eax, ebx \n\t" //running sum now in eax
+ "add edx, eax \n\t" //add to edx
+ "mov ecx, [ebp-20] \n\t"
+ "jecxz ZZ%= \n\t"
+ "LL%=: \n\t" //Really finish off loop with non SIMD instructions
+ "mov bx, [edi] \n\t" //Move 16 bits into bx
+ "movsx ebx, bx \n\t" //Sign extend to 32 bits
+ "mov ax, [esi] \n\t" //Move 16 bits into ax
+ "movsx eax, ax \n\t" //Sign extend to 32 bits
+ "imul ebx, eax \n\t" //Multiply
+ "add edx, ebx \n\t" //Add into accumulator
+ "add esi, 2 \n\t"
+ "add edi, 2 \n\t"
+ "loop LL%= \n\t"
+ "ZZ%=: \n\t"
+ "EMMS \n\t"
+ "mov [ebp-24], edx \n\t"
+ "pop ebx\n\t"
+ ".att_syntax \n\t"
+ : "=m"(temp)
+ : "m" (A), "m" (B), "m" (cnt), "m" (cnt1), "m" (cnt2)
+ : "%eax", "%ecx", "%edx", "%edi", "%esi"
+ );//end __asm
+ }
+ else //use faster movapd instruction
+ {
+
+ cnt1 = cnt / 56;
+ cnt2 = (cnt - (56*cnt1));
+
+ __asm
+ (
+ //Set up for loop
+ ".intel_syntax noprefix \n\t" //Set up for loop
+ "push ebx\n\t"
+ "mov edi, [ebp+8] \n\t" //Address of A
+ "mov esi, [ebp+12] \n\t" //Address of B
+ "mov ecx, [ebp-16] \n\t" //Counter 1
+ "pxor xmm0, xmm0 \n\t" //Clear the running sum (accumulator)
+ "jecxz Z%= \n\t"
+ "L%=: \n\t"
+ "movapd xmm1, [esi] \n\t" //Load from A
+ "movapd xmm2, [esi+16] \n\t" //Load from A
+ "movapd xmm3, [esi+32] \n\t" //Load from A
+ "movapd xmm4, [esi+48] \n\t" //Load from A
+ "movapd xmm5, [esi+64] \n\t" //Load from A
+ "movapd xmm6, [esi+80] \n\t" //Load from A
+ "movapd xmm7, [esi+96] \n\t" //Load from A
+ "pmaddwd xmm1, [edi] \n\t"
+ "pmaddwd xmm2, [edi+16] \n\t"
+ "pmaddwd xmm3, [edi+32] \n\t"
+ "pmaddwd xmm4, [edi+48] \n\t"
+ "pmaddwd xmm5, [edi+64] \n\t"
+ "pmaddwd xmm6, [edi+80] \n\t"
+ "pmaddwd xmm7, [edi+96] \n\t"
+ "paddd xmm0, xmm7 \n\t"
+ "paddd xmm1, xmm2 \n\t"
+ "paddd xmm3, xmm4 \n\t"
+ "paddd xmm5, xmm6 \n\t"
+ "paddd xmm1, xmm3 \n\t"
+ "paddd xmm0, xmm5 \n\t"
+ "paddd xmm0, xmm1 \n\t"
+ "add esi, 112 \n\t"
+ "add edi, 112 \n\t"
+ "loop L%= \n\t" // Loop if not done
+ "Z%=: \n\t"
+ "movd ebx, xmm0 \n\t" // right-hand word to ebx
+ "psrldq xmm0, 4 \n\t" // left-hand word to right side of xmm0
+ "movd eax, xmm0 \n\t" // left-hand word into eax
+ "add eax, ebx \n\t" // running sum now in eax
+ "mov edx, eax \n\t" // move into temp
+ "psrldq xmm0, 4 \n\t"
+ "movd ebx, xmm0 \n\t" // right-hand word to ebx
+ "psrldq xmm0, 4 \n\t" // left-hand word to right side of xmm0
+ "movd eax, xmm0 \n\t" // left-hand word into eax
+ "add eax, ebx \n\t" // running sum now in eax
+ "add edx, eax \n\t" // add into temp
+ "mov ecx, [ebp-20] \n\t"
+ "jecxz ZZ%= \n\t"
+ "LL%=: \n\t" //Really finish off loop with non SIMD instructions
+ "mov bx, [edi] \n\t" //Move 16 bits into bx
+ "movsx ebx, bx \n\t" //Sign extend to 32 bits
+ "mov ax, [esi] \n\t" //Move 16 bits into ax
+ "movsx eax, ax \n\t" //Sign extend to 32 bits
+ "imul ebx, eax \n\t" //Multiply
+ "add edx, ebx \n\t" //Add into accumulator
+ "add esi, 2 \n\t"
+ "add edi, 2 \n\t"
+ "loop LL%= \n\t"
+ "ZZ%=: \n\t"
+ "EMMS \n\t"
+ "mov [ebp-24], edx \n\t"
+ "pop ebx\n\t"
+ ".att_syntax \n\t"
+ : "=m"(temp)
+ : "m" (A), "m" (B), "m" (cnt), "m" (cnt1), "m" (cnt2)
+ : "%eax", "%ecx", "%edx", "%edi", "%esi"
+ );
+ }
+
+ return(temp);
+
+}
+
+void sse_conj(CPX *A, int32 cnt)
+{
+
+ int32 cnt1;
+ int32 cnt2;
+ int32 temp = 0xffff0001; //[1, -1]
+
+ cnt1 = cnt/4;
+ cnt2 = cnt-4*cnt1;
+
+ __asm
+ (
+ ".intel_syntax noprefix \n\t" //Set up for loop
+ "mov edi, [ebp+8] \n\t" //Address of A source1
+ "mov ecx, [ebp-8] \n\t" //Counter
+ "movd mm7, [ebp-16] \n\t"
+ "punpckldq mm7, mm7 \n\t"
+ "movd xmm7, [ebp-16] \n\t"
+ "punpckldq xmm7, xmm7 \n\t"
+ "punpckldq xmm7, xmm7 \n\t"
+ "jecxz Z%= \n\t"
+ "L%=: \n\t"
+ " movupd xmm0, [edi] \n\t" //Load from A
+ " pmullw xmm0, xmm7 \n\t" //Multiply to get [Re -Im Re -Im]
+ " movupd [edi], xmm0 \n\t" //Move into A
+ " add edi, 16 \n\t" //Move in array
+ "loop L%= \n\t" //Loop if not done
+ "Z%=: \n\t"
+ "mov ecx, [ebp-12] \n\t"
+ "jecxz ZZ%= \n\t"
+ "LL%=: \n\t"
+ " movd mm0, [edi] \n\t" //Load from A
+ " pmullw mm0, mm7 \n\t" //Multiply to get [Re -Im Re -Im]
+ " movd [edi], mm0 \n\t" //Move into A
+ " add edi, 4 \n\t"
+ "loop LL%= \n\t"
+ "ZZ%=: \n\t"
+ "EMMS \n\t"
+ ".att_syntax \n\t"
+ :
+ : "m" (A), "m" (cnt), "m" (cnt1), "m" (cnt2), "m" (temp)
+ : "%ecx", "%edx", "%edi"
+ );
+
+}
+
+void sse_cmul(CPX *A, CPX *B, int32 cnt)
+{
+
+ int32 cnt1;
+ int32 cnt2;
+
+ volatile int32 M[4] = {0xffff0001, 0x00010001, 0xffff0001, 0x00010001}; //{1,-1,1,1,1,-1,1,1};
+
+ cnt1 = cnt/4;
+ cnt2 = cnt-4*cnt1;
+
+ cnt1 = 0;
+ cnt2 = cnt;
+
+ __asm
+ (
+ ".intel_syntax noprefix \n\t" //Set up for loop
+ "mov edi, [ebp+8] \n\t" //Address of A
+ "mov esi, [ebp+12] \n\t" //Address of B
+ "mov ecx, [ebp-12] \n\t" //Counter 1
+ "movupd xmm7,[ebp-32] \n\t" // Move the multiply thingie
+ "jecxz Z%= \n\t"
+ "L%=: \n\t"
+ "movlpd xmm0, [edi] \n\t" //Copy from A
+ "movlpd xmm1, [edi+8] \n\t" //Copy from A
+ "movlpd xmm3, [esi] \n\t" //Copy from B
+ "movlpd xmm4, [esi+8] \n\t" //Copy from B
+ "punpckldq xmm0, xmm0 \n\t" //Copy low 32 bits to high 32 bits
+ "punpckldq xmm1, xmm1 \n\t" //Copy low 32 bits to high 32 bits
+ "punpckldq xmm3, xmm3 \n\t" //Copy low 32 bits to high 32 bits
+ "punpckldq xmm4, xmm4 \n\t" //Copy low 32 bits to high 32 bits
+ "pshuflw xmm3, xmm3, 0x14 \n\t" //Shuffle Low 64 bits to get [Re Im Im Re]
+ "pshuflw xmm4, xmm4, 0x14 \n\t" //Shuffle Low 64 bits to get [Re Im Im Re]
+ "pshufhw xmm3, xmm3, 0x14 \n\t" //Shuffle High 64 bits to get [Re Im Im Re]
+ "pshufhw xmm4, xmm4, 0x14 \n\t" //Shuffle High 64 bits to get [Re Im Im Re]
+ "pmullw xmm3, xmm7 \n\t" //Multiply to get [Re Im -Im Re]
+ "pmullw xmm4, xmm7 \n\t" //Multiply to get [Re Im -Im Re]
+ "pmaddwd xmm0, xmm3 \n\t" //Complex multiply and add
+ "pmaddwd xmm1, xmm4 \n\t" //Complex multiply and add
+ "packssdw xmm0, xmm0 \n\t" //Get into low 64 bits
+ "packssdw xmm1, xmm1 \n\t" //Get into low 64 bits
+ "movsd [edi], xmm0 \n\t" //Move into A
+ "movsd [edi+8], xmm1 \n\t" //Move into A
+ "add edi, 16 \n\t" //Move in array
+ "add esi, 16 \n\t" //Move in array
+ "loop L%= \n\t" // Loop if not done
+ "Z%=: \n\t"
+ "mov ecx, [ebp-16] \n\t"
+ "jecxz ZZ%= \n\t"
+ "LL%=: \n\t"
+ "movlpd xmm0, [edi] \n\t" //Copy from A
+ "movlpd xmm1, [esi] \n\t" //Copy from B
+ "punpckldq xmm0, xmm0 \n\t" //Copy low 32 bits to high 32 bits
+ "punpckldq xmm1, xmm1 \n\t" //Copy low 32 bits to high 32 bits
+ "pshuflw xmm1, xmm1, 0x14\n\t" //Shuffle Low 64 bits to get [Re Im Im Re]
+ "pmullw xmm1, xmm7 \n\t" //Multiply to get [Re Im -Im Re]
+ "pmaddwd xmm0, xmm1 \n\t" //Complex multiply and add
+ "packssdw xmm0, xmm0 \n\t" //Get into low 32 bits
+ "movd [edi], xmm0 \n\t" //Move into A
+ "add edi, 4 \n\t"
+ "add esi, 4 \n\t"
+ "loop LL%= \n\t"
+ "ZZ%=: \n\t"
+ "EMMS \n\t"
+ ".att_syntax \n\t"
+ :
+ : "m" (A), "m" (B), "m" (cnt), "m" (cnt1), "m" (cnt2)
+ : "%ecx", "%edi", "%esi"
+ );
+
+}
+
+
+void sse_cmuls(CPX *A, CPX *B, int32 cnt, int32 shift)
+{
+
+ int32 cnt1;
+ int32 cnt2;
+ int32 round;
+
+ volatile int32 M[4] = {0xffff0001, 0x00010001, 0xffff0001, 0x00010001}; //{1,-1,1,1,1,-1,1,1};
+
+ cnt1 = cnt/4;
+ cnt2 = cnt-4*cnt1;
+
+ round = 1 << (shift-1);
+
+ __asm
+ (
+ ".intel_syntax noprefix \n\t" //Set up for loop
+ "mov edi, [ebp+8] \n\t" //Address of A
+ "mov esi, [ebp+12] \n\t" //Address of B
+ "mov ecx, [ebp-12] \n\t" //Counter 1
+ "movupd xmm7,[ebp-36] \n\t" //Move the multiply thingie
+ "movss xmm6, [ebp+20] \n\t" //Move the round thingie
+ "movss xmm5, [ebp-20] \n\t" //Move the round thingie
+ "punpckldq xmm5, xmm5 \n\t"
+ "punpcklqdq xmm5, xmm5 \n\t"
+ "jecxz Z%= \n\t"
+ "L%=: \n\t"
+ "movlpd xmm0, [edi] \n\t" //Copy from A
+ "movlpd xmm1, [edi+8] \n\t" //Copy from A
+ "movlpd xmm3, [esi] \n\t" //Copy from B
+ "movlpd xmm4, [esi+8] \n\t" //Copy from B
+ "punpckldq xmm0, xmm0 \n\t" //Copy low 32 bits to high 32 bits
+ "punpckldq xmm1, xmm1 \n\t" //Copy low 32 bits to high 32 bits
+ "punpckldq xmm3, xmm3 \n\t" //Copy low 32 bits to high 32 bits
+ "punpckldq xmm4, xmm4 \n\t" //Copy low 32 bits to high 32 bits
+ "pshuflw xmm3, xmm3, 0x14 \n\t" //Shuffle Low 64 bits to get [Re Im Im Re]
+ "pshuflw xmm4, xmm4, 0x14 \n\t" //Shuffle Low 64 bits to get [Re Im Im Re]
+ "pshufhw xmm3, xmm3, 0x14 \n\t" //Shuffle High 64 bits to get [Re Im Im Re]
+ "pshufhw xmm4, xmm4, 0x14 \n\t" //Shuffle High 64 bits to get [Re Im Im Re]
+ "pmullw xmm3, xmm7 \n\t" //Multiply to get [Re Im -Im Re]
+ "pmullw xmm4, xmm7 \n\t" //Multiply to get [Re Im -Im Re]
+ "pmaddwd xmm0, xmm3 \n\t" //Complex multiply and add
+ "pmaddwd xmm1, xmm4 \n\t" //Complex multiply and add
+ "paddd xmm0, xmm5 \n\t" //Add in 2^(shift-1)
+ "paddd xmm1, xmm5 \n\t" //Add in 2^(shift-1)
+ "psrad xmm0, xmm6 \n\t" //Shift by X bits
+ "psrad xmm1, xmm6 \n\t" //Shift by X bits
+ "packssdw xmm0, xmm0 \n\t" //Get into low 64 bits
+ "packssdw xmm1, xmm1 \n\t" //Get into low 64 bits
+ "movlpd [edi], xmm0 \n\t" //Move into A
+ "movlpd [edi+8], xmm1 \n\t" //Move into A
+ "add edi, 16 \n\t" //Move in array
+ "add esi, 16 \n\t" //Move in array
+ "loop L%= \n\t" //Loop if not done
+ "Z%=: \n\t"
+ "mov ecx, [ebp-16] \n\t"
+ "jecxz ZZ%= \n\t"
+ "LL%=: \n\t"
+ "movlpd xmm0, [edi] \n\t" //Copy from A
+ "movlpd xmm1, [esi] \n\t" //Copy from B
+ "punpckldq xmm0, xmm0 \n\t" //Copy low 32 bits to high 32 bits
+ "punpckldq xmm1, xmm1 \n\t" //Copy low 32 bits to high 32 bits
+ "pshuflw xmm1, xmm1, 0x14\n\t" //Shuffle Low 64 bits to get [Re Im Im Re]
+ "pmullw xmm1, xmm7 \n\t" //Multiply to get [Re Im -Im Re]
+ "pmaddwd xmm0, xmm1 \n\t" //Complex multiply and add
+ "paddd xmm0, xmm5 \n\t" //Add in 2^(shift-1)
+ "psrad xmm0, xmm6 \n\t" //Shift by X bits
+ "packssdw xmm0, xmm0 \n\t" //Get into low 32 bits
+ "movd [edi], xmm0 \n\t" //Move into A
+ "add edi, 4 \n\t"
+ "add esi, 4 \n\t"
+ "loop LL%= \n\t"
+ "ZZ%=: \n\t"
+ "EMMS \n\t"
+ ".att_syntax \n\t"
+ :
+ : "m" (A), "m" (B), "m" (cnt), "m" (cnt1), "m" (cnt2), "m" (shift), "m" (round)
+ : "%ecx", "%edi", "%esi"
+ );
+
+}
+
+void sse_cmulsc(CPX *A, CPX *B, CPX *C, int32 cnt, int32 shift)
+{
+ int32 cnt1;
+ int32 cnt2;
+ int32 round;
+
+ volatile int32 M[4] = {0xffff0001, 0x00010001, 0xffff0001, 0x00010001}; //{1,-1,1,1,1,-1,1,1};
+
+ cnt1 = cnt/4;
+ cnt2 = cnt-4*cnt1;
+
+ round = 1 << (shift-1);
+
+ __asm
+ (
+ ".intel_syntax noprefix \n\t" //Set up for loop
+ "mov edi, [ebp+8] \n\t" //Address of A
+ "mov esi, [ebp+12] \n\t" //Address of B
+ "mov eax, [ebp+16] \n\t" //Address of C
+ "mov ecx, [ebp-12] \n\t" //Counter 1
+ "movupd xmm7,[ebp-36] \n\t" //Move the multiply thingie
+ "movss xmm6, [ebp+24] \n\t" //Move the round thingie
+ "movss xmm5, [ebp-20] \n\t" //Move the round thingie
+ "punpckldq xmm5, xmm5 \n\t"
+ "punpcklqdq xmm5, xmm5 \n\t"
+ "jecxz Z%= \n\t"
+ "L%=: \n\t"
+ "movlpd xmm0, [edi] \n\t" //Copy from A
+ "movlpd xmm1, [edi+8] \n\t" //Copy from A
+ "movlpd xmm3, [esi] \n\t" //Copy from B
+ "movlpd xmm4, [esi+8] \n\t" //Copy from B
+ "punpckldq xmm0, xmm0 \n\t" //Copy low 32 bits to high 32 bits
+ "punpckldq xmm1, xmm1 \n\t" //Copy low 32 bits to high 32 bits
+ "punpckldq xmm3, xmm3 \n\t" //Copy low 32 bits to high 32 bits
+ "punpckldq xmm4, xmm4 \n\t" //Copy low 32 bits to high 32 bits
+ "pshuflw xmm3, xmm3, 0x14 \n\t" //Shuffle Low 64 bits to get [Re Im Im Re]
+ "pshuflw xmm4, xmm4, 0x14 \n\t" //Shuffle Low 64 bits to get [Re Im Im Re]
+ "pshufhw xmm3, xmm3, 0x14 \n\t" //Shuffle High 64 bits to get [Re Im Im Re]
+ "pshufhw xmm4, xmm4, 0x14 \n\t" //Shuffle High 64 bits to get [Re Im Im Re]
+ "pmullw xmm3, xmm7 \n\t" //Multiply to get [Re Im -Im Re]
+ "pmullw xmm4, xmm7 \n\t" //Multiply to get [Re Im -Im Re]
+ "pmaddwd xmm0, xmm3 \n\t" //Complex multiply and add
+ "pmaddwd xmm1, xmm4 \n\t" //Complex multiply and add
+ "paddd xmm0, xmm5 \n\t" //Add in 2^(shift-1)
+ "paddd xmm1, xmm5 \n\t" //Add in 2^(shift-1)
+ "psrad xmm0, xmm6 \n\t" //Shift by X bits
+ "psrad xmm1, xmm6 \n\t" //Shift by X bits
+ "packssdw xmm0, xmm0 \n\t" //Get into low 64 bits
+ "packssdw xmm1, xmm1 \n\t" //Get into low 64 bits
+ "movlpd [eax], xmm0 \n\t" //Move into A
+ "movlpd [eax+8], xmm1 \n\t" //Move into A
+ "add edi, 16 \n\t" //Move in array
+ "add esi, 16 \n\t" //Move in array
+ "add eax, 16 \n\t"
+ "loop L%= \n\t" //Loop if not done
+ "Z%=: \n\t"
+ "mov ecx, [ebp-16] \n\t"
+ "jecxz ZZ%= \n\t"
+ "LL%=: \n\t"
+ "movlpd xmm0, [edi] \n\t" //Copy from A
+ "movlpd xmm1, [esi] \n\t" //Copy from B
+ "punpckldq xmm0, xmm0 \n\t" //Copy low 32 bits to high 32 bits
+ "punpckldq xmm1, xmm1 \n\t" //Copy low 32 bits to high 32 bits
+ "pshuflw xmm1, xmm1, 0x14\n\t" //Shuffle Low 64 bits to get [Re Im Im Re]
+ "pmullw xmm1, xmm7 \n\t" //Multiply to get [Re Im -Im Re]
+ "pmaddwd xmm0, xmm1 \n\t" //Complex multiply and add
+ "paddd xmm0, xmm5 \n\t" //Add in 2^(shift-1)
+ "psrad xmm0, xmm6 \n\t" //Shift by X bits
+ "packssdw xmm0, xmm0 \n\t" //Get into low 32 bits
+ "movd [eax], xmm0 \n\t" //Move into A
+ "add edi, 4 \n\t"
+ "add esi, 4 \n\t"
+ "add eax, 4 \n\t"
+ "loop LL%= \n\t"
+ "ZZ%=: \n\t"
+ "EMMS \n\t"
+ ".att_syntax \n\t"
+ :
+ : "m" (A), "m" (B), "m" (C), "m" (cnt), "m" (cnt1), "m" (cnt2), "m" (shift), "m" (round)
+ : "%eax", "%ecx", "%edi", "%esi"
+ );
+
+}
+
+
+void sse_cacc(CPX *A, MIX *B, int32 cnt, int32 *iaccum, int32 *baccum)
+{
+
+ int32 cnt1;
+ int32 cnt2;
+
+ if(((int)A%16) || ((int)B%16))
+ {
+
+ cnt1 = cnt / 6;
+ cnt2 = (cnt - (6*cnt1));
+
+ __asm
+ (
+ ".intel_syntax noprefix \n\t" //Set up for loop
+ "mov edi, [ebp+8] \n\t" //Address of A
+ "mov esi, [ebp+12] \n\t" //Address of B
+ "mov ecx, [ebp-12] \n\t" //Counter 1
+ "pxor xmm0, xmm0 \n\t" //Clear the running sum
+ "pxor mm0, mm0 \n\t" //Clear the running sum
+ "jecxz Z%= \n\t"
+ "L%=: \n\t"
+ " movlpd xmm1, [edi] \n\t" //load IF data
+ " movlpd xmm2, [edi+8] \n\t" //load IF data
+ " movlpd xmm3, [edi+16] \n\t" //load IF data
+ " movupd xmm4, [esi] \n\t" //load Sine data
+ " movupd xmm5, [esi+16] \n\t" //load Sine data
+ " movupd xmm6, [esi+32] \n\t" //load Sine data
+ " punpckldq xmm1, xmm1 \n\t" //copies bits 0..31 to 32..63 and bits 32..63 to 64..95 and 65..127
+ " punpckldq xmm2, xmm2 \n\t" //copies bits 0..63 to 64..127
+ " punpckldq xmm3, xmm3 \n\t" //copies bits 0..63 to 64..127
+ " pmaddwd xmm1, xmm4 \n\t" //multiply and add, result in xmm1
+ " pmaddwd xmm2, xmm5 \n\t" //multiply and add, result in xmm2
+ " pmaddwd xmm3, xmm6 \n\t" //multiply and add, result in xmm3
+ " paddd xmm0, xmm3 \n\t" //Add into accumulator (efficiently)
+ " paddd xmm1, xmm2 \n\t"
+ " paddd xmm0, xmm1 \n\t"
+ " add edi, 24 \n\t" //move in complex sine by 24 bytes
+ " add esi, 48 \n\t" //move in IF array by 48 bytes
+ "loop L%= \n\t" //Loop if not done
+ "Z%=: \n\t"
+ "mov ecx, [ebp-16] \n\t"
+ "jecxz ZZ%= \n\t"
+ "LL%=: \n\t"
+ " movd mm1, [edi] \n\t" //load IF data
+ " movq mm2, [esi] \n\t"
+ " punpckldq mm1, mm1 \n\t" //copy bottom 32 bits of IF data into high 32 bits
+ " pmaddwd mm1, mm2 \n\t" //perform mmx complex multiply
+ " paddd mm0, mm1 \n\t" //add into accumulator
+ " add edi, 4 \n\t" //move in complex sine by 4 bytes
+ " add esi, 8 \n\t" //move in IF array by 8 bytes
+ "loop LL%= \n\t"
+ "ZZ%=: \n\t"
+ "movdq2q mm1, xmm0 \n\t"
+ "punpckhqdq xmm0, xmm0 \n\t" //move bits 64..127 of xmm0 into 0..63 of xmm0
+ "movdq2q mm2, xmm0 \n\t"
+ "paddd mm0, mm1 \n\t" //add together
+ "paddd mm0, mm2 \n\t" //add" punpckldq xmm1, xmm1 \n\t" //copies bits 0..31 to 32..63 and bits 32..63 to 64..95 and 65..127 together
+ "mov eax, [ebp+20] \n\t"
+ "movd [eax], mm0 \n\t"
+ "punpckhdq mm0, mm0 \n\t"
+ "mov eax, [ebp+24] \n\t"
+ "movd [eax], mm0 \n\t"
+ "EMMS \n\t"
+ ".att_syntax \n\t"
+ :
+ : "m" (A), "m" (B), "m" (cnt), "m" (iaccum), "m" (baccum), "m" (cnt1), "m" (cnt2)
+ : "%eax", "%ecx", "%edi", "%esi"
+ );//end __asm
+ }
+ else
+ {
+
+ cnt1 = cnt / 12;
+ cnt2 = (cnt - (12*cnt1));
+
+ __asm
+ (
+ ".intel_syntax noprefix \n\t" //Set up for loop
+ "mov edi, [ebp+8] \n\t" //Address of A
+ "mov esi, [ebp+12] \n\t" //Address of B
+ "mov ecx, [ebp-12] \n\t" //Counter 1
+ "pxor xmm0, xmm0 \n\t" //Clear the running sum
+ "pxor mm0, mm0 \n\t" //Clear the running sum
+ "jecxz AZ%= \n\t"
+ "AL%=: \n\t"
+ " movlpd xmm1, [edi] \n\t" //load IF data
+ " movlpd xmm2, [edi+8] \n\t" //load IF data
+ " movlpd xmm3, [edi+16] \n\t" //load IF data
+ " movlpd xmm4, [edi+24] \n\t" //load IF data
+ " movlpd xmm5, [edi+32] \n\t" //load IF data
+ " movlpd xmm6, [edi+40] \n\t" //load IF data
+ " punpckldq xmm1, xmm1 \n\t" //copies bits 0..31 to 32..63 and bits 32..63 to 64..95 and 65..127
+ " punpckldq xmm2, xmm2 \n\t" //copies bits 0..63 to 64..127
+ " punpckldq xmm3, xmm3 \n\t" //copies bits 0..63 to 64..127
+ " punpckldq xmm4, xmm4 \n\t" //copies bits 0..63 to 64..127
+ " punpckldq xmm5, xmm5 \n\t" //copies bits 0..63 to 64..127
+ " punpckldq xmm6, xmm6 \n\t" //copies bits 0..63 to 64..127
+ " pmaddwd xmm1, [esi] \n\t" //multiply and add, result in xmm1
+ " pmaddwd xmm2, [esi+16] \n\t" //multiply and add, result in xmm2
+ " pmaddwd xmm3, [esi+32] \n\t" //multiply and add, result in xmm3
+ " pmaddwd xmm4, [esi+48] \n\t" //multiply and add, result in xmm4
+ " pmaddwd xmm5, [esi+64] \n\t" //multiply and add, result in xmm5
+ " pmaddwd xmm6, [esi+80] \n\t" //multiply and add, result in xmm6
+ " paddd xmm1, xmm2 \n\t" //Add into accumulator (efficiently)
+ " paddd xmm3, xmm4 \n\t"
+ " paddd xmm5, xmm6 \n\t"
+ " paddd xmm1, xmm3 \n\t"
+ " paddd xmm0, xmm5 \n\t"
+ " paddd xmm0, xmm1 \n\t"
+ " add edi, 48 \n\t" //move in complex sine by 56 bytes
+ " add esi, 96 \n\t" //move in IF array by 112 bytes
+ "loop AL%= \n\t" // Loop if not done
+ "AZ%=: \n\t"
+ "mov ecx, [ebp-16] \n\t"
+ "jecxz AZZ%= \n\t"
+ "ALL%=: \n\t"
+ " movq mm1, [edi] \n\t" //load IF data
+ " punpckldq mm1, mm1 \n\t" //copy bottom 32 bits of IF data into high 32 bits
+ " pmaddwd mm1, [esi] \n\t" //perform mmx complex multiply
+ " paddd mm0, mm1 \n\t" //add into accumulator
+ " add edi, 4 \n\t" //move in complex sine by 4 bytes
+ " add esi, 8 \n\t" //move in IF array by 8 bytes
+ "loop ALL%= \n\t"
+ "AZZ%=: \n\t"
+ "movdq2q mm1, xmm0 \n\t"
+ "punpckhqdq xmm0, xmm0 \n\t" //move bits 64..127 of xmm0 into 0..63 of xmm0
+ "movdq2q mm2, xmm0 \n\t"
+ "paddd mm0, mm1 \n\t" //add together
+ "paddd mm0, mm2 \n\t" //add together
+ "mov eax, [ebp+20] \n\t"
+ "movd [eax], mm0 \n\t"
+ "punpckhdq mm0, mm0 \n\t"
+ "mov eax, [ebp+24] \n\t"
+ "movd [eax], mm0 \n\t"
+ "EMMS \n\t"
+ ".att_syntax \n\t"
+ :
+ : "m" (A), "m" (B), "m" (cnt), "m" (iaccum), "m" (baccum), "m" (cnt1), "m" (cnt2)
+ : "%eax", "%ecx", "%edi", "%esi"
+ );//end __asm
+
+ }//end if
+
+
+}
+
+//!< A must hold baseband data, E,P,L must hold PRN data
+void sse_prn_accum(CPX *A, CPX *E, CPX *P, CPX *L, int32 cnt, CPX *accum)
+{
+
+ int32 cnt1;
+ int32 cnt2;
+
+ cnt1 = cnt / 2;
+ cnt2 = (cnt - (2*cnt1));
+ cnt1 = 0;
+ cnt2 = cnt;
+
+ __asm
+ (
+ ".intel_syntax noprefix \n\t" //Set up for loop
+ "push ebx\n\t"
+ "mov esi, [ebp+8] \n\t" //Address of A
+ "mov eax, [ebp+12] \n\t" //Address of E
+ "mov ebx, [ebp+16] \n\t" //Address of P
+ "mov edx, [ebp+20] \n\t" //Address of L
+ "mov ecx, [ebp-12] \n\t" //Counter 1
+ "pxor mm5, mm5 \n\t" //Clear the running sum for E
+ "pxor mm6, mm6 \n\t" //Clear the running sum for P
+ "pxor mm7, mm7 \n\t" //Clear the running sum for L
+ "jecxz Z%= \n\t"
+ "L%=: \n\t"
+ " movq mm0, [esi] \n\t" //load IF data
+ " movq mm1, [eax] \n\t" //load E data
+ " movq mm2, [ebx] \n\t" //load P data
+ " movq mm3, [edx] \n\t" //load L data
+ " movq mm4, mm0 \n\t" //load IF data
+ " pand mm0, mm1 \n\t" //mask it
+ " pandn mm1, mm4 \n\t" //mask it
+ " paddsw mm5, mm1 \n\t" //add
+ " psubsw mm5, mm0 \n\t" //subtract
+ " movq mm0, mm4 \n\t" //load IF data
+ " pand mm0, mm2 \n\t" //mask it
+ " pandn mm2, mm4 \n\t" //mask it
+ " paddsw mm6, mm2 \n\t" //add
+ " psubsw mm6, mm0 \n\t" //subtract
+ " movq mm0, mm4 \n\t" //load IF data
+ " pand mm0, mm3 \n\t" //mask it
+ " pandn mm3, mm4 \n\t" //mask it
+ " paddsw mm7, mm3 \n\t" //add
+ " psubsw mm7, mm0 \n\t" //subtract
+ " add esi, 8 \n\t" //move in complex sine by 24 bytes
+ " add eax, 8 \n\t" //move in IF array by 48 bytes
+ " add ebx, 8 \n\t" //move in IF array by 48 bytes
+ " add edx, 8 \n\t" //move in IF array by 48 bytes
+ "loop L%= \n\t" //Loop if not done
+ "Z%=: \n\t"
+ "mov ecx, [ebp-16] \n\t"
+ "jecxz ZZ%= \n\t"
+ "LL%=: \n\t"
+ " movd mm0, [esi] \n\t" //load IF data
+ " movd mm1, [eax] \n\t" //load E data
+ " movd mm2, [ebx] \n\t" //load P data
+ " movd mm3, [edx] \n\t" //load L data
+ " movq mm4, mm0 \n\t" //load IF data
+ " pand mm0, mm1 \n\t" //mask it
+ " pandn mm1, mm4 \n\t" //mask it
+ " paddsw mm5, mm1 \n\t" //add
+ " psubsw mm5, mm0 \n\t" //subtract
+ " movq mm0, mm4 \n\t" //load IF data
+ " pand mm0, mm2 \n\t" //mask it
+ " pandn mm2, mm4 \n\t" //mask it
+ " paddsw mm6, mm2 \n\t" //add
+ " psubsw mm6, mm0 \n\t" //subtract
+ " movq mm0, mm4 \n\t" //load IF data
+ " pand mm0, mm3 \n\t" //mask it
+ " pandn mm3, mm4 \n\t" //mask it
+ " paddsw mm7, mm3 \n\t" //add
+ " psubsw mm7, mm0 \n\t" //subtract
+ " add esi, 4 \n\t" //move in complex sine by 24 bytes
+ " add eax, 4 \n\t" //move in IF array by 48 bytes
+ " add ebx, 4 \n\t" //move in IF array by 48 bytes
+ " add edx, 4 \n\t" //move in IF array by 48 bytes
+ "loop LL%= \n\t" //Loop if not done
+ "ZZ%=: \n\t"
+ "mov esi, [ebp+28] \n\t"
+ "movq mm0, mm5 \n\t"
+ "punpckhdq mm0, mm0 \n\t"
+ "paddsw mm5, mm0 \n\t"
+ "movd [esi], mm5 \n\t"
+ "add esi, 4 \n\t"
+ "movq mm0, mm6 \n\t"
+ "punpckhdq mm0, mm0 \n\t"
+ "paddsw mm6, mm0 \n\t"
+ "movd [esi], mm6 \n\t"
+ "add esi, 4 \n\t"
+ "movq mm0, mm7 \n\t"
+ "punpckhdq mm0, mm0 \n\t"
+ "paddsw mm7, mm0 \n\t"
+ "movd [esi], mm7 \n\t"
+ "pop ebx\n\t"
+ "EMMS \n\t"
+ ".att_syntax \n\t"
+ :
+ : "m" (A), "m" (E), "m" (P), "m" (L), "m" (cnt), "m" (accum), "m" (cnt1), "m" (cnt2)
+ : "%eax", "%ecx", "%edx", "%esi"
+ );//end __asm
+
+}
+
+
+
+//!< A must hold baseband data, E,P,L must hold PRN data
+void sse_prn_accum_new(CPX *A, MIX *E, MIX *P, MIX *L, int32 cnt, CPX_ACCUM *accum)
+{
+
+ __asm
+ (
+ ".intel_syntax noprefix \n\t" //Set up for loop
+ "push ebx\n\t"
+ "mov esi, [ebp+8] \n\t" //Address of A
+ "mov eax, [ebp+12] \n\t" //Address of E
+ "mov ebx, [ebp+16] \n\t" //Address of P
+ "mov edx, [ebp+20] \n\t" //Address of L
+ "mov ecx, [ebp+24] \n\t" //Value of cnt
+ "pxor mm5, mm5 \n\t" //Clear the running sum for E
+ "pxor mm6, mm6 \n\t" //Clear the running sum for P
+ "pxor mm7, mm7 \n\t" //Clear the running sum for L
+ "jecxz Z%= \n\t"
+ "L%=: \n\t"
+ " movd mm0, [esi] \n\t" //load IF data
+ " movq mm1, [eax] \n\t" //load E data
+ " movq mm2, [ebx] \n\t" //load P data
+ " movq mm3, [edx] \n\t" //load L data
+ " punpckldq mm0, mm0 \n\t" //copy low 32 bits to high 32 pits
+ " pmaddwd mm1, mm0 \n\t" //complex multiply E by IF
+ " pmaddwd mm2, mm0 \n\t" //complex multiply P by IF
+ " pmaddwd mm3, mm0 \n\t" //complex multiply L by IF
+ " paddd mm5, mm1 \n\t" //add into E accumulator
+ " paddd mm6, mm2 \n\t" //add into E accumulator
+ " paddd mm7, mm3 \n\t" //add into E accumulator
+ " add esi, 4 \n\t" //move in baseband data by one sample (4 bytes)
+ " add eax, 8 \n\t" //move in PRN-E array by one sample (8 bytes)
+ " add ebx, 8 \n\t" //move in PRN-P array by one sample (8 bytes)
+ " add edx, 8 \n\t" //move in PRN-L array by one sample (8 bytes)
+ "loop L%= \n\t" //Loop if not done
+ "Z%=: \n\t"
+ "mov esi, [ebp+28] \n\t"
+ "movq [esi], mm5 \n\t"
+ "add esi, 8 \n\t"
+ "movq [esi], mm6 \n\t"
+ "add esi, 8 \n\t"
+ "movq [esi], mm7 \n\t"
+ "pop ebx\n\t"
+ "EMMS \n\t"
+ ".att_syntax \n\t"
+ :
+ : "m" (A), "m" (E), "m" (P), "m" (L), "m" (cnt), "m" (accum)
+ : "%eax", "%ecx", "%edx", "%esi"
+ );//end __asm
+
+}
+
+
+
+
+
diff --git a/src/algorithms/libs/gps_sdr_simd.h b/src/algorithms/libs/gps_sdr_simd.h
new file mode 100644
index 000000000..2c8177ecc
--- /dev/null
+++ b/src/algorithms/libs/gps_sdr_simd.h
@@ -0,0 +1,68 @@
+/*! \file SIMD.h
+ Contains prototpyes for all the SIMD functions
+*/
+
+/************************************************************************************************
+Copyright 2008 Gregory W Heckler
+
+This file is part of the GPS Software Defined Radio (GPS-SDR)
+
+The GPS-SDR 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.
+
+The GPS-SDR 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 GPS-SDR; if not,
+write to the:
+
+Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+************************************************************************************************/
+
+
+#ifndef SIMD_H_
+#define SIMD_H_
+
+
+//#ifdef GLOBALS_HERE
+// #define EXTERN
+//#else
+// #define EXTERN extern
+//#endif
+
+#include "gps_sdr_defines.h"
+#include "gps_sdr_signal_processing.h"
+
+/* Found in CPUID.cpp */
+/*----------------------------------------------------------------------------------------------*/
+bool CPU_MMX(); //!< Does the CPU support MMX?
+bool CPU_SSE(); //!< Does the CPU support SSE?
+bool CPU_SSE2(); //!< Does the CPU support SSE2?
+bool CPU_SSE3(); //!< Does the CPU support SSE3?
+bool CPU_SSSE3(); //!< Does the CPU support SSSE3? No thats not a typo!
+bool CPU_SSE41(); //!< Does the CPU support SSE4.1?
+bool CPU_SSE42(); //!< Does the CPU support SSE4.2?
+void Init_SIMD(); //!< Initialize the global function pointers
+/*----------------------------------------------------------------------------------------------*/
+
+/* Found in SSE.cpp */
+/*----------------------------------------------------------------------------------------------*/
+void sse_add(int16 *A, int16 *B, int32 cnt) __attribute__ ((noinline)); //!< Pointwise vector addition
+void sse_sub(int16 *A, int16 *B, int32 cnt) __attribute__ ((noinline)); //!< Pointwise vector difference
+void sse_mul(int16 *A, int16 *B, int32 cnt) __attribute__ ((noinline)); //!< Pointwise vector multiply
+int32 sse_dot(int16 *A, int16 *B, int32 cnt) __attribute__ ((noinline)); //!< Compute vector dot product
+
+void sse_conj(CPX *A, int32 cnt) __attribute__ ((noinline)); //!< Pointwise vector conjugate
+void sse_cacc(CPX *A, MIX *B, int32 cnt, int32 *iaccum, int32 *baccum) __attribute__ ((noinline)); //!< Compute dot product of cpx and a mix vector
+void sse_cmul(CPX *A, CPX *B, int32 cnt) __attribute__ ((noinline)); //!< Pointwise vector multiply
+void sse_cmuls(CPX *A, CPX *B, int32 cnt, int32 shift) __attribute__ ((noinline)); //!< Pointwise vector multiply with shift
+void sse_cmulsc(CPX *A, CPX *B, CPX *C, int32 cnt, int32 shift) __attribute__ ((noinline)); //!< Pointwise vector multiply with shift, dump results into C
+void sse_prn_accum(CPX *A, CPX *E, CPX *P, CPX *L, int32 cnt, CPX *accum) __attribute__ ((noinline)); //!< This is a long story
+void sse_prn_accum_new(CPX *A, MIX *E, MIX *P, MIX *L, int32 cnt, CPX_ACCUM *accum) __attribute__ ((noinline)); //!< This is a long story
+void sse_max(int32 *_A, int32 *_index, int32 *_magt, int32 _cnt) __attribute__ ((noinline));
+/*----------------------------------------------------------------------------------------------*/
+
+
+#endif /*SIMD_H_*/
diff --git a/src/algorithms/libs/gps_sdr_x86.cc b/src/algorithms/libs/gps_sdr_x86.cc
new file mode 100644
index 000000000..7cd8eabb7
--- /dev/null
+++ b/src/algorithms/libs/gps_sdr_x86.cc
@@ -0,0 +1,493 @@
+/*! \file x86.cpp
+ Emulate SIMD functionality with plain x86 crap, for older processors
+*/
+/************************************************************************************************
+Copyright 2008 Gregory W Heckler
+
+This file is part of the GPS Software Defined Radio (GPS-SDR)
+
+The GPS-SDR 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.
+
+The GPS-SDR 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 GPS-SDR; if not,
+write to the:
+
+Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+************************************************************************************************/
+
+#include "gps_sdr_x86.h"
+#include "gr_complex.h"
+#include
+
+/*----------------------------------------------------------------------------------------------*/
+void x86_add(int16 *_A, int16 *_B, int32 _cnt)
+{
+
+ int16 *a = _A;
+ int16 *b = _B;
+ int32 lcv;
+
+ for(lcv = 0; lcv < _cnt; lcv++)
+ a[lcv] += b[lcv];
+
+}
+/*----------------------------------------------------------------------------------------------*/
+
+
+/*----------------------------------------------------------------------------------------------*/
+void x86_sub(int16 *_A, int16 *_B, int32 _cnt)
+{
+
+ int16 *a = _A;
+ int16 *b = _B;
+ int32 lcv;
+
+ for(lcv = 0; lcv < _cnt; lcv++)
+ a[lcv] -= b[lcv];
+}
+/*----------------------------------------------------------------------------------------------*/
+
+
+/*----------------------------------------------------------------------------------------------*/
+void x86_mul(int16 *_A, int16 *_B, int32 _cnt)
+{
+
+ int16 *a = _A;
+ int16 *b = _B;
+ int32 lcv;
+
+ for(lcv = 0; lcv < _cnt; lcv++)
+ a[lcv] *= b[lcv];
+}
+/*----------------------------------------------------------------------------------------------*/
+
+
+/*----------------------------------------------------------------------------------------------*/
+void x86_muls(int16 *_A, int16 *_B, int32 _cnt, int32 _shift)
+{
+
+ int32 lcv;
+
+ for(lcv = 0; lcv < _cnt; lcv++)
+ {
+ _A[lcv] *= *_B;
+ _A[lcv] >>= _shift;
+ }
+}
+/*----------------------------------------------------------------------------------------------*/
+
+
+/*----------------------------------------------------------------------------------------------*/
+int32 x86_dot(int16 *_A, int16 *_B, int32 _cnt)
+{
+
+ int32 accum = 0;
+ int16 *a = _A;
+ int16 *b = _B;
+ int32 lcv;
+
+ for(lcv = 0; lcv < _cnt; lcv++)
+ accum += (int32)a[lcv]*(int32)b[lcv];
+
+ return(accum);
+}
+/*----------------------------------------------------------------------------------------------*/
+
+
+/*----------------------------------------------------------------------------------------------*/
+void x86_conj(CPX *_A, int32 _cnt)
+{
+ int32 lcv;
+
+ for(lcv = 0; lcv < _cnt; lcv++)
+ _A[lcv].q = -_A[lcv].q;
+
+}
+/*----------------------------------------------------------------------------------------------*/
+
+
+/*----------------------------------------------------------------------------------------------*/
+void x86_cmul(CPX *_A, CPX *_B, int32 _cnt)
+{
+
+ int32 lcv;
+ int32 ai, aq;
+ int32 bi, bq;
+ int32 ti, tq;
+
+ for(lcv = 0; lcv < _cnt; lcv++)
+ {
+
+ ai = _A[lcv].i;
+ aq = _A[lcv].q;
+ bi = _B[lcv].i;
+ bq = _B[lcv].q;
+
+ ti = ai*bi-aq*bq;
+ tq = ai*bq+aq*bi;
+
+ _A[lcv].i = (int16)(ti);
+ _A[lcv].q = (int16)(tq);
+ }
+
+}
+/*----------------------------------------------------------------------------------------------*/
+
+
+/*----------------------------------------------------------------------------------------------*/
+void x86_cmuls(CPX *_A, CPX *_B, int32 _cnt, int32 _shift)
+{
+
+ int32 lcv;
+ int32 ai, aq;
+ int32 bi, bq;
+ int32 ti, tq;
+ int32 shift;
+ int32 round;
+
+ shift = _shift;
+ round = 1 << (shift-1);
+
+ for(lcv = 0; lcv < _cnt; lcv++)
+ {
+
+ ai = _A[lcv].i;
+ aq = _A[lcv].q;
+ bi = _B[lcv].i;
+ bq = _B[lcv].q;
+
+ ti = ai*bi-aq*bq;
+ tq = ai*bq+aq*bi;
+
+ ti += round;
+ tq += round;
+
+ ti >>= shift;
+ tq >>= shift;
+
+ _A[lcv].i = (int16)ti;
+ _A[lcv].q = (int16)tq;
+ }
+
+}
+/*----------------------------------------------------------------------------------------------*/
+
+void x86_cmulsc_complex(std::complex *_A, std::complex *_B, std::complex *_C, int32 _cnt) {
+
+ for(int i = 0; i < _cnt; i++) {
+
+ _C[i] = _A[i] * _B[i];
+ }
+
+}
+
+/*----------------------------------------------------------------------------------------------*/
+void x86_cmulsc(CPX *_A, CPX *_B, CPX *_C, int32 _cnt, int32 _shift)
+{
+
+ int32 lcv;
+ int32 ai, aq;
+ int32 bi, bq;
+ int32 ti, tq;
+ int32 shift;
+ int32 round;
+
+ shift = _shift;
+ round = 1 << (shift-1);
+
+ for(lcv = 0; lcv < _cnt; lcv++)
+ {
+
+ ai = _A[lcv].i;
+ aq = _A[lcv].q;
+ bi = _B[lcv].i;
+ bq = _B[lcv].q;
+
+ ti = ai*bi-aq*bq;
+ tq = ai*bq+aq*bi;
+
+ ti += round;
+ tq += round;
+
+ ti >>= shift;
+ tq >>= shift;
+
+ _C[lcv].i = (int16)ti;
+ _C[lcv].q = (int16)tq;
+ }
+
+}
+/*----------------------------------------------------------------------------------------------*/
+
+
+/*----------------------------------------------------------------------------------------------*/
+void x86_cacc(CPX *_A, MIX *_B, int32 _cnt, int32 *_iaccum, int32 *_qaccum)
+{
+ int32 lcv;
+ int32 ai, aq;
+ int32 ti, tq;
+ int32 iaccum;
+ int32 qaccum;
+
+ iaccum = qaccum = 0;
+
+ for(lcv = 0; lcv < _cnt; lcv++)
+ {
+
+ ai = _A[lcv].i;
+ aq = _A[lcv].q;
+
+ ti = ai*_B[lcv].i+aq*_B[lcv].nq;
+ tq = ai*_B[lcv].q+aq*_B[lcv].ni;
+
+ iaccum += ti;
+ qaccum += tq;
+
+ }
+
+ *_iaccum = iaccum;
+ *_qaccum = qaccum;
+
+}
+/*----------------------------------------------------------------------------------------------*/
+// _A=|abs(·)|^2 overwrite the input array
+void x86_gr_complex_mag(gr_complex* _A, int32 _cnt) {
+ float* p = (float*)_A;
+
+ for(int i=0;i<_cnt;i++) {
+ *p = _A[i].real()*_A[i].real() + _A[i].imag()*_A[i].imag();
+ p++;
+ }
+}
+
+/*----------------------------------------------------------------------------------------------*/
+void x86_cmag(CPX *_A, int32 _cnt)
+{
+
+ int32 lcv, *p;
+
+ p = (int32 *)_A;
+
+ for(lcv = 0; lcv < _cnt; lcv++)
+ {
+ *p = _A[lcv].i*_A[lcv].i + _A[lcv].q*_A[lcv].q;
+ p++;
+ }
+
+
+}
+/*----------------------------------------------------------------------------------------------*/
+// Find the maximum float in _A[·]
+void x86_float_max(float* _A, unsigned int* _index, float* _magt, unsigned int _cnt) {
+
+ unsigned int index;
+ float mag;
+
+ mag = index = 0;
+
+ for(int i=0; i<_cnt; i++) {
+ if(_A[i] > mag) {
+ index = i;
+ mag = _A[i];
+ }
+ }
+
+ *_index = index;
+ *_magt = mag;
+}
+
+/*----------------------------------------------------------------------------------------------*/
+void x86_max(unsigned int *_A, unsigned int *_index, unsigned int *_magt, unsigned int _cnt)
+{
+
+ unsigned int lcv, mag, index;
+
+ mag = index = 0;
+
+ for(lcv = 0; lcv < _cnt; lcv++)
+ {
+ if(_A[lcv] > mag)
+ {
+ index = lcv;
+ mag = _A[lcv];
+ }
+ }
+
+ *_index = index;
+ *_magt = mag;
+
+}
+/*----------------------------------------------------------------------------------------------*/
+
+
+/*----------------------------------------------------------------------------------------------*/
+void x86_prn_accum(CPX *A, CPX *E, CPX *P, CPX *L, int32 cnt, CPX *accum) //!< This is a long story
+{
+
+ CPX Ea, Pa, La;
+ int32 lcv;
+
+ Ea.i = 0;
+ Ea.q = 0;
+ Pa.i = 0;
+ Pa.q = 0;
+ La.i = 0;
+ La.q = 0;
+
+ for(lcv = 0; lcv < cnt; lcv++)
+ {
+ if(E[lcv].i < 0)
+ {
+ Ea.i -= A[lcv].i;
+ Ea.q -= A[lcv].q;
+ }
+ else
+ {
+ Ea.i += A[lcv].i;
+ Ea.q += A[lcv].q;
+ }
+
+ if(P[lcv].i < 0)
+ {
+ Pa.i -= A[lcv].i;
+ Pa.q -= A[lcv].q;
+ }
+ else
+ {
+ Pa.i += A[lcv].i;
+ Pa.q += A[lcv].q;
+ }
+
+ if(L[lcv].i < 0)
+ {
+ La.i -= A[lcv].i;
+ La.q -= A[lcv].q;
+ }
+ else
+ {
+ La.i += A[lcv].i;
+ La.q += A[lcv].q;
+ }
+ }
+
+ accum[0].i = Ea.i;
+ accum[0].q = Ea.q;
+ accum[1].i = Pa.i;
+ accum[1].q = Pa.q;
+ accum[2].i = La.i;
+ accum[2].q = La.q;
+
+}
+/*----------------------------------------------------------------------------------------------*/
+
+
+/*----------------------------------------------------------------------------------------------*/
+void x86_prn_accum_new(CPX *A, MIX *E, MIX *P, MIX *L, int32 cnt, CPX_ACCUM *accum)
+{
+
+ CPX_ACCUM Ea, Pa, La;
+ int32 lcv;
+
+ Ea.i = 0; Ea.q = 0;
+ Pa.i = 0; Pa.q = 0;
+ La.i = 0; La.q = 0;
+
+ for(lcv = 0; lcv < cnt; lcv++)
+ {
+ Ea.i += A[lcv].i*E[lcv].i;
+ Ea.q += A[lcv].q*E[lcv].ni;
+ Pa.i += A[lcv].i*P[lcv].i;
+ Pa.q += A[lcv].q*P[lcv].ni;
+ La.i += A[lcv].i*L[lcv].i;
+ La.q += A[lcv].q*L[lcv].ni;
+ }
+
+ accum[0].i = Ea.i;
+ accum[0].q = Ea.q;
+ accum[1].i = Pa.i;
+ accum[1].q = Pa.q;
+ accum[2].i = La.i;
+ accum[2].q = La.q;
+
+}
+/*----------------------------------------------------------------------------------------------*/
+
+
+//int32 x86_acc(int16 *_A, int32 _cnt)
+//{
+//
+// int32 accum = 0;
+// int16 *a = _A;
+// int32 lcv;
+//
+// for(lcv = 0; lcv < _cnt; lcv++)
+// accum += a[lcv];
+//
+// return(accum);
+//}
+//void x86_crot(CPX *_A, CPX *_B, int32 _cnt)
+//{
+//
+// int32 lcv;
+// int32 ai, aq;
+// int32 bi, bq;
+// int32 ti, tq;
+//
+// bi = _B->i;
+// bq = _B->q;
+//
+// for(lcv = 0; lcv < _cnt; lcv++)
+// {
+//
+// ai = _A[lcv].i;
+// aq = _A[lcv].q;
+//
+// ti = ai*bi-aq*bq;
+// tq = ai*bq+aq*bi;
+//
+// _A[lcv].i = (int16)ti;
+// _A[lcv].q = (int16)tq;
+// }
+//}
+//
+//void x86_crot(CPX *_A, CPX *_B, int32 _shift, int32 _cnt)
+//{
+//
+// int32 lcv;
+// int32 ai, aq;
+// int32 bi, bq;
+// int32 ti, tq;
+// int32 shift;
+// int32 round;
+//
+// shift = _shift;
+// round = 1 << (shift-1);
+//
+// bi = _B->i;
+// bq = _B->q;
+//
+// for(lcv = 0; lcv < _cnt; lcv++)
+// {
+//
+// ai = _A[lcv].i;
+// aq = _A[lcv].q;
+//
+// ti = ai*bi-aq*bq;
+// tq = ai*bq+aq*bi;
+//
+// ti += round;
+// tq += round;
+//
+// ti >>= shift;
+// tq >>= shift;
+//
+// _A[lcv].i = (int16)ti;
+// _A[lcv].q = (int16)tq;
+// }
+//
+//}
diff --git a/src/algorithms/libs/gps_sdr_x86.h b/src/algorithms/libs/gps_sdr_x86.h
new file mode 100644
index 000000000..50f5df3aa
--- /dev/null
+++ b/src/algorithms/libs/gps_sdr_x86.h
@@ -0,0 +1,21 @@
+#include "gps_sdr_defines.h"
+#include "gps_sdr_signal_processing.h"
+#include "gr_complex.h"
+
+void x86_add(int16 *A, int16 *B, int32 cnt); //!< Pointwise vector addition
+void x86_sub(int16 *A, int16 *B, int32 cnt); //!< Pointwise vector difference
+void x86_mul(int16 *A, int16 *B, int32 cnt); //!< Pointwise vector multiply
+void x86_muls(int16 *A, int16 *B, int32 cnt, int32 shift); //!< Pointwise vector multiply
+int32 x86_dot(int16 *A, int16 *B, int32 cnt); //!< Compute vector dot product
+
+void x86_conj(CPX *A, int32 cnt); //!< Pointwise vector conjugate
+void x86_cacc(CPX *A, MIX *B, int32 cnt, int32 *iaccum, int32 *baccum); //!< Compute dot product of cpx and a mix vector
+void x86_cmul(CPX *A, CPX *B, int32 cnt); //!< Pointwise vector multiply
+void x86_cmuls(CPX *A, CPX *B, int32 cnt, int32 shift); //!< Pointwise complex multiply with shift
+void x86_cmulsc(CPX *A, CPX *B, CPX *C, int32 cnt, int32 shift); //!< Pointwise vector multiply with shift, dump results into C
+void x86_cmag(CPX *A, int32 cnt); //!< Convert from complex to a power
+void x86_prn_accum(CPX *A, CPX *E, CPX *P, CPX *L, int32 cnt, CPX *accum); //!< This is a long story
+void x86_prn_accum_new(CPX *A, MIX *E, MIX *P, MIX *L, int32 cnt, CPX_ACCUM *accum); //!< This is a long story
+void x86_max(unsigned int *_A, unsigned int *_index, unsigned int *_magt, unsigned int _cnt);
+void x86_float_max(float* _A, unsigned int* _index, float* _magt, unsigned int _cnt);
+void x86_gr_complex_mag(gr_complex* _A, int32 _cnt);
diff --git a/src/algorithms/libs/jamfile.jam b/src/algorithms/libs/jamfile.jam
new file mode 100644
index 000000000..2f62b3800
--- /dev/null
+++ b/src/algorithms/libs/jamfile.jam
@@ -0,0 +1,10 @@
+project : build-dir ../../../build ;
+
+obj gps_sdr_signal_processing : gps_sdr_signal_processing.cc ;
+obj gnss_sdr_valve : gnss_sdr_valve.cc ;
+obj pass_through : pass_through.cc ;
+obj gps_sdr_fft : gps_sdr_fft.cc ;
+obj gps_sdr_simd : gps_sdr_simd.cc ;
+obj gps_sdr_x86 : gps_sdr_x86.cc ;
+
+
diff --git a/src/algorithms/libs/pass_through.cc b/src/algorithms/libs/pass_through.cc
new file mode 100644
index 000000000..c4b861d48
--- /dev/null
+++ b/src/algorithms/libs/pass_through.cc
@@ -0,0 +1,104 @@
+/*!
+ * \file pass_through.cc
+ * \brief Brief description of the file here
+ * \author Carlos Aviles, 2010. carlos.avilesr(at)googlemail.com
+ *
+ * Detailed description of the file here if needed.
+ *
+ * -------------------------------------------------------------------------
+ *
+ * Copyright (C) 2010-2011 (see AUTHORS file for a list of contributors)
+ *
+ * GNSS-SDR is a software defined Global Navigation
+ * Satellite Systems receiver
+ *
+ * This file is part of GNSS-SDR.
+ *
+ * GNSS-SDR 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 3 of the License, or
+ * at your option) any later version.
+ *
+ * GNSS-SDR 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 GNSS-SDR. If not, see .
+ *
+ * -------------------------------------------------------------------------
+ */
+
+
+
+#include "pass_through.h"
+
+#include
+
+#include
+
+#include
+#include
+
+#include "configuration_interface.h"
+
+using google::LogMessage;
+
+PassThrough::PassThrough(ConfigurationInterface* configuration, std::string role,
+ unsigned int in_streams,
+ unsigned int out_streams) :
+ role_(role),
+ in_streams_(in_streams),
+ out_streams_(out_streams)
+{
+
+ std::string default_item_type = "short";
+
+ item_type_ = configuration->property(role + ".item_type", default_item_type);
+ vector_size_ = configuration->property(role + ".vector_size", 1);
+
+ if(item_type_.compare("float") == 0)
+ {
+ item_size_ = sizeof(float);
+ }
+ else if(item_type_.compare("gr_complex") == 0)
+ {
+ item_size_ = sizeof(gr_complex);
+ }
+ else if(item_type_.compare("short") == 0)
+ {
+ item_size_ = sizeof(short);
+ }
+ else
+ {
+ LOG_AT_LEVEL(WARNING) << item_type_ << " unrecognized item type. Using float";
+ item_size_ = sizeof(float);
+ }
+
+ kludge_copy_ = gr_make_kludge_copy(item_size_);
+ DLOG(INFO) << "kludge_copy(" << kludge_copy_->unique_id() << ")";
+}
+
+PassThrough::~PassThrough()
+{}
+
+void PassThrough::connect(gr_top_block_sptr top_block)
+{
+ DLOG(INFO) << "nothing to connect internally";
+}
+
+void PassThrough::disconnect(gr_top_block_sptr top_block)
+{
+ // Nothing to disconnect
+}
+
+gr_basic_block_sptr PassThrough::get_left_block()
+{
+ return kludge_copy_;
+}
+
+gr_basic_block_sptr PassThrough::get_right_block()
+{
+ return kludge_copy_;
+}
diff --git a/src/algorithms/libs/pass_through.h b/src/algorithms/libs/pass_through.h
new file mode 100644
index 000000000..303855cd6
--- /dev/null
+++ b/src/algorithms/libs/pass_through.h
@@ -0,0 +1,97 @@
+/*!
+ * \file pass_through.h
+ * \brief This class represent a block that just puts its input in its
+ * output.
+ * \author Carlos Aviles, 2010. carlos.avilesr(at)googlemail.com
+ *
+ *
+ * -------------------------------------------------------------------------
+ *
+ * Copyright (C) 2010-2011 (see AUTHORS file for a list of contributors)
+ *
+ * GNSS-SDR is a software defined Global Navigation
+ * Satellite Systems receiver
+ *
+ * This file is part of GNSS-SDR.
+ *
+ * GNSS-SDR 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 3 of the License, or
+ * at your option) any later version.
+ *
+ * GNSS-SDR 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 GNSS-SDR. If not, see .
+ *
+ * -------------------------------------------------------------------------
+ */
+
+
+
+
+#ifndef PASS_THROUGH_H_
+#define PASS_THROUGH_H_
+
+#include
+#include
+#include
+
+#include "gnss_block_interface.h"
+
+class ConfigurationInterface;
+
+class PassThrough : public GNSSBlockInterface
+{
+
+public:
+ PassThrough(ConfigurationInterface* configuration,
+ std::string role,
+ unsigned int in_stream,
+ unsigned int out_stream);
+
+ virtual ~PassThrough();
+
+ std::string role()
+ {
+ return role_;
+ }
+ std::string implementation()
+ {
+ return "PassThrough";
+ }
+
+ std::string item_type()
+ {
+ return item_type_;
+ }
+ size_t vector_size()
+ {
+ return vector_size_;
+ }
+ size_t item_size()
+ {
+ return item_size_;
+ }
+
+ void connect(gr_top_block_sptr top_block);
+ void disconnect(gr_top_block_sptr top_block);
+ gr_basic_block_sptr get_left_block();
+ gr_basic_block_sptr get_right_block();
+
+private:
+
+ std::string item_type_;
+ size_t vector_size_;
+ std::string role_;
+ unsigned int in_streams_;
+ unsigned int out_streams_;
+
+ gr_kludge_copy_sptr kludge_copy_;
+ size_t item_size_;
+};
+
+#endif /*PASS_THROUGH_H_*/
diff --git a/src/algorithms/observables/adapters/gps_l1_ca_observables.cc b/src/algorithms/observables/adapters/gps_l1_ca_observables.cc
new file mode 100644
index 000000000..f212287eb
--- /dev/null
+++ b/src/algorithms/observables/adapters/gps_l1_ca_observables.cc
@@ -0,0 +1,115 @@
+/*!
+ * \file gps_l1_ca_observables.cc
+ * \brief Brief description of the file here
+ * \author Javier Arribas, 2011. jarribas(at)cttc.es
+ *
+ * Detailed description of the file here if needed.
+ *
+ * -------------------------------------------------------------------------
+ *
+ * Copyright (C) 2010-2011 (see AUTHORS file for a list of contributors)
+ *
+ * GNSS-SDR is a software defined Global Navigation
+ * Satellite Systems receiver
+ *
+ * This file is part of GNSS-SDR.
+ *
+ * GNSS-SDR 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 3 of the License, or
+ * at your option) any later version.
+ *
+ * GNSS-SDR 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 GNSS-SDR. If not, see .
+ *
+ * -------------------------------------------------------------------------
+ */
+
+
+
+#include "gps_l1_ca_observables.h"
+
+#include "configuration_interface.h"
+
+#include "gps_l1_ca_observables_cc.h"
+
+#include
+#include
+#include
+
+#include
+#include
+
+/* The extern keyword declares a variable or function and specifies
+ * that it has external linkage (its name is visible from files other
+ * than the one in which it's defined). When modifying a variable,
+ * extern specifies that the variable has static duration (it is allocated
+ * when the program begins and deallocated when the program ends).
+ * The variable is defined in main.cc
+ */
+extern concurrent_queue global_gps_nav_msg_queue;
+
+using google::LogMessage;
+
+GpsL1CaObservables::GpsL1CaObservables(ConfigurationInterface* configuration,
+ std::string role,
+ unsigned int in_streams,
+ unsigned int out_streams,
+ gr_msg_queue_sptr queue) :
+ role_(role),
+ in_streams_(in_streams),
+ out_streams_(out_streams),
+ queue_(queue)
+{
+
+ std::string default_dump_filename = "./observables.dat";
+
+ DLOG(INFO) << "role " << role;
+
+ dump_ = configuration->property(role + ".dump", false);
+ dump_filename_ = configuration->property(role + ".dump_filename", default_dump_filename);
+ fs_in_ = configuration->property(role + ".fs_in", 0);
+
+ observables_ = gps_l1_ca_make_observables_cc(in_streams_, queue_, dump_);
+ observables_->set_fs_in(fs_in_);
+
+ DLOG(INFO) << "pseudorange(" << observables_->unique_id() << ")";
+ // set the navigation msg queue;
+
+ observables_->set_navigation_queue(&global_gps_nav_msg_queue);
+
+ DLOG(INFO) << "global navigation message queue assigned to observables ("<< observables_->unique_id() << ")";
+
+}
+
+GpsL1CaObservables::~GpsL1CaObservables()
+{}
+
+
+void GpsL1CaObservables::connect(gr_top_block_sptr top_block)
+{
+ // Nothing to connect internally
+ DLOG(INFO) << "nothing to connect internally";
+}
+
+void GpsL1CaObservables::disconnect(gr_top_block_sptr top_block)
+{
+ // Nothing to disconnect
+}
+
+
+gr_basic_block_sptr GpsL1CaObservables::get_left_block()
+{
+ return observables_;
+}
+
+gr_basic_block_sptr GpsL1CaObservables::get_right_block()
+{
+ return observables_;
+}
+
diff --git a/src/algorithms/observables/adapters/gps_l1_ca_observables.h b/src/algorithms/observables/adapters/gps_l1_ca_observables.h
new file mode 100644
index 000000000..8f0450b0b
--- /dev/null
+++ b/src/algorithms/observables/adapters/gps_l1_ca_observables.h
@@ -0,0 +1,94 @@
+/*!
+ * \file gps_l1_ca_observables.h
+ * \brief Brief description of the file here
+ * \author Javier Arribas, 2011. jarribas(at)cttc.es
+ *
+ * Detailed description of the file here if needed.
+ *
+ * -------------------------------------------------------------------------
+ *
+ * Copyright (C) 2010-2011 (see AUTHORS file for a list of contributors)
+ *
+ * GNSS-SDR is a software defined Global Navigation
+ * Satellite Systems receiver
+ *
+ * This file is part of GNSS-SDR.
+ *
+ * GNSS-SDR 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 3 of the License, or
+ * at your option) any later version.
+ *
+ * GNSS-SDR 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 GNSS-SDR. If not, see .
+ *
+ * -------------------------------------------------------------------------
+ */
+
+
+#ifndef GPS_L1_CA_OBSERVABLES_H_
+#define GPS_L1_CA_OBSERVABLES_H_
+
+#include "observables_interface.h"
+
+#include "gps_l1_ca_observables_cc.h"
+
+#include
+
+class ConfigurationInterface;
+
+class GpsL1CaObservables : public ObservablesInterface
+{
+
+public:
+
+ GpsL1CaObservables(ConfigurationInterface* configuration,
+ std::string role,
+ unsigned int in_streams,
+ unsigned int out_streams,
+ gr_msg_queue_sptr queue);
+
+ virtual ~GpsL1CaObservables();
+
+ std::string role()
+ {
+ return role_;
+ }
+ std::string implementation()
+ {
+ return "observables";
+ }
+
+ void connect(gr_top_block_sptr top_block);
+ void disconnect(gr_top_block_sptr top_block);
+ gr_basic_block_sptr get_left_block();
+ gr_basic_block_sptr get_right_block();
+
+ void reset()
+ {
+ return;
+ };
+ // all blocks must have an intem_size() function implementation
+ size_t item_size()
+ {
+ return sizeof(gr_complex);
+ }
+
+private:
+
+ gps_l1_ca_observables_cc_sptr observables_;
+ bool dump_;
+ unsigned int fs_in_;
+ std::string dump_filename_;
+ std::string role_;
+ unsigned int in_streams_;
+ unsigned int out_streams_;
+ gr_msg_queue_sptr queue_;
+};
+
+#endif
diff --git a/src/algorithms/observables/adapters/jamfile.jam b/src/algorithms/observables/adapters/jamfile.jam
new file mode 100644
index 000000000..d0815af78
--- /dev/null
+++ b/src/algorithms/observables/adapters/jamfile.jam
@@ -0,0 +1,3 @@
+project : build-dir ../../../../build ;
+
+obj gps_l1_ca_observables : gps_l1_ca_observables.cc ;
\ No newline at end of file
diff --git a/src/algorithms/observables/gnuradio_blocks/gps_l1_ca_observables_cc.cc b/src/algorithms/observables/gnuradio_blocks/gps_l1_ca_observables_cc.cc
new file mode 100644
index 000000000..943f693d9
--- /dev/null
+++ b/src/algorithms/observables/gnuradio_blocks/gps_l1_ca_observables_cc.cc
@@ -0,0 +1,164 @@
+
+/**
+ * Copyright notice
+ */
+
+/**
+ * Author: Javier Arribas, 2011. jarribas(at)cttc.es
+ */
+
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include
+#include
+#include
+#include