From 4c32ac3b88d63ad06d2b30e526aa07a12929db36 Mon Sep 17 00:00:00 2001 From: DreamingOfClouds Date: Thu, 15 Oct 2026 17:18:16 -0500 Subject: [PATCH] Research: one-sided P112 decoder floors for every number of terms (case (b)); epsilon-free floor 64 with unique optimum, corrected floor 64 with at most 2 non-full corrections Co-Authored-By: Claude Opus 5.5 --- research/one-sided-decoders-all-m/LICENSE | 201 +++ .../one-sided-decoders-all-m/MANIFEST.sha256 | 96 ++ research/one-sided-decoders-all-m/NOTICE.md | 16 + research/one-sided-decoders-all-m/README.md | 155 ++ .../one-sided-decoders-all-m/SOURCES.json | 243 +++ .../one-sided-decoders-all-m/checks/base.py | 22 + .../one-sided-decoders-all-m/checks/c65.py | 29 + .../one-sided-decoders-all-m/checks/c66.py | 20 + .../checks/check_logs.py | 68 + .../one-sided-decoders-all-m/checks/chk1.py | 19 + .../one-sided-decoders-all-m/checks/coloop.py | 14 + .../checks/coloop2.py | 17 + .../checks/common2.py | 19 + .../one-sided-decoders-all-m/checks/cover.py | 63 + .../one-sided-decoders-all-m/checks/cover6.py | 46 + .../checks/cover761.py | 30 + .../one-sided-decoders-all-m/checks/d7.py | 36 + .../one-sided-decoders-all-m/checks/dp3.py | 57 + .../one-sided-decoders-all-m/checks/dpX.py | 48 + .../one-sided-decoders-all-m/checks/dump.py | 6 + .../one-sided-decoders-all-m/checks/enum.py | 22 + .../one-sided-decoders-all-m/checks/eq.py | 13 + .../one-sided-decoders-all-m/checks/eq2.py | 19 + .../checks/flats_classify.py | 43 + .../checks/frames_data.py | 23 + .../one-sided-decoders-all-m/checks/g78.py | 18 + .../one-sided-decoders-all-m/checks/gT.py | 13 + .../one-sided-decoders-all-m/checks/gen_t3.py | 28 + .../checks/gen_targets.py | 24 + .../one-sided-decoders-all-m/checks/gsmall.py | 34 + .../one-sided-decoders-all-m/checks/land.py | 26 + .../one-sided-decoders-all-m/checks/lemmaN.c | 50 + .../one-sided-decoders-all-m/checks/lib.py | 133 ++ .../one-sided-decoders-all-m/checks/lnprep.py | 17 + .../one-sided-decoders-all-m/checks/lp2.py | 30 + .../one-sided-decoders-all-m/checks/lp3.py | 36 + .../checks/manifest_check.py | 12 + .../one-sided-decoders-all-m/checks/mu76.c | 34 + .../one-sided-decoders-all-m/checks/ncount.c | 37 + .../one-sided-decoders-all-m/checks/ncount2.c | 42 + .../checks/oscommon.py | 47 + .../checks/rootswap.py | 58 + .../checks/rootswap_audit.py | 59 + .../checks/symcheck.py | 39 + .../one-sided-decoders-all-m/checks/symlp.py | 55 + .../one-sided-decoders-all-m/checks/w8.py | 15 + .../one-sided-decoders-all-m/data/data.json | 1 + .../one-sided-decoders-all-m/data/gens.txt | 1352 +++++++++++++++++ .../data/p104_frames.json | 105 ++ .../evidence/logs/c65.log.txt | 78 + .../evidence/logs/c66.log.txt | 34 + .../evidence/logs/cc_lemmaN.log.txt | 0 .../evidence/logs/cc_mu76.log.txt | 0 .../evidence/logs/cc_ncount.log.txt | 0 .../evidence/logs/cc_ncount2.log.txt | 0 .../evidence/logs/chk1.log.txt | 4 + .../evidence/logs/coloop.log.txt | 1 + .../evidence/logs/coloop2.log.txt | 2 + .../evidence/logs/cover.log.txt | 9 + .../evidence/logs/cover6.log.txt | 6 + .../evidence/logs/cover761.log.txt | 2 + .../evidence/logs/d7.log.txt | 4 + .../evidence/logs/dp3.log.txt | 8 + .../evidence/logs/dump.log.txt | 4 + .../evidence/logs/enum_1.log.txt | 2 + .../evidence/logs/enum_2.log.txt | 2 + .../evidence/logs/enum_3.log.txt | 2 + .../evidence/logs/enum_4.log.txt | 2 + .../evidence/logs/enum_5.log.txt | 2 + .../evidence/logs/enum_6.log.txt | 2 + .../evidence/logs/enum_7.log.txt | 3 + .../evidence/logs/enum_8.log.txt | 9 + .../evidence/logs/eq.log.txt | 21 + .../evidence/logs/eq2.log.txt | 9 + .../evidence/logs/flats_classify.log.txt | 11 + .../evidence/logs/g78.log.txt | 3 + .../evidence/logs/gT.log.txt | 2 + .../evidence/logs/gen_t3_76.log.txt | 9 + .../evidence/logs/gen_targets.log.txt | 1 + .../evidence/logs/gsmall.log.txt | 4 + .../evidence/logs/land.log.txt | 24 + .../evidence/logs/lemmaN.log.txt | 2 + .../evidence/logs/lnprep.log.txt | 1 + .../evidence/logs/lp2.log.txt | 7 + .../evidence/logs/lp3.log.txt | 8 + .../evidence/logs/mu76.log.txt | 5 + .../evidence/logs/ncount.log.txt | 5 + .../evidence/logs/ncount2.log.txt | 4 + .../evidence/logs/rootswap.log.txt | 26 + .../evidence/logs/rootswap_audit.log.txt | 14 + .../evidence/logs/symcheck.log.txt | 3 + .../evidence/logs/symlp.log.txt | 10 + .../evidence/logs/times.out.txt | 39 + .../evidence/logs/verify_run.log.txt | 79 + .../evidence/logs/w8.log.txt | 8 + .../one-sided-decoders-all-m/requirements.txt | 3 + research/one-sided-decoders-all-m/verify.sh | 57 + 97 files changed, 4121 insertions(+) create mode 100644 research/one-sided-decoders-all-m/LICENSE create mode 100644 research/one-sided-decoders-all-m/MANIFEST.sha256 create mode 100644 research/one-sided-decoders-all-m/NOTICE.md create mode 100644 research/one-sided-decoders-all-m/README.md create mode 100644 research/one-sided-decoders-all-m/SOURCES.json create mode 100644 research/one-sided-decoders-all-m/checks/base.py create mode 100644 research/one-sided-decoders-all-m/checks/c65.py create mode 100644 research/one-sided-decoders-all-m/checks/c66.py create mode 100644 research/one-sided-decoders-all-m/checks/check_logs.py create mode 100644 research/one-sided-decoders-all-m/checks/chk1.py create mode 100644 research/one-sided-decoders-all-m/checks/coloop.py create mode 100644 research/one-sided-decoders-all-m/checks/coloop2.py create mode 100644 research/one-sided-decoders-all-m/checks/common2.py create mode 100644 research/one-sided-decoders-all-m/checks/cover.py create mode 100644 research/one-sided-decoders-all-m/checks/cover6.py create mode 100644 research/one-sided-decoders-all-m/checks/cover761.py create mode 100644 research/one-sided-decoders-all-m/checks/d7.py create mode 100644 research/one-sided-decoders-all-m/checks/dp3.py create mode 100644 research/one-sided-decoders-all-m/checks/dpX.py create mode 100644 research/one-sided-decoders-all-m/checks/dump.py create mode 100644 research/one-sided-decoders-all-m/checks/enum.py create mode 100644 research/one-sided-decoders-all-m/checks/eq.py create mode 100644 research/one-sided-decoders-all-m/checks/eq2.py create mode 100644 research/one-sided-decoders-all-m/checks/flats_classify.py create mode 100644 research/one-sided-decoders-all-m/checks/frames_data.py create mode 100644 research/one-sided-decoders-all-m/checks/g78.py create mode 100644 research/one-sided-decoders-all-m/checks/gT.py create mode 100644 research/one-sided-decoders-all-m/checks/gen_t3.py create mode 100644 research/one-sided-decoders-all-m/checks/gen_targets.py create mode 100644 research/one-sided-decoders-all-m/checks/gsmall.py create mode 100644 research/one-sided-decoders-all-m/checks/land.py create mode 100644 research/one-sided-decoders-all-m/checks/lemmaN.c create mode 100644 research/one-sided-decoders-all-m/checks/lib.py create mode 100644 research/one-sided-decoders-all-m/checks/lnprep.py create mode 100644 research/one-sided-decoders-all-m/checks/lp2.py create mode 100644 research/one-sided-decoders-all-m/checks/lp3.py create mode 100644 research/one-sided-decoders-all-m/checks/manifest_check.py create mode 100644 research/one-sided-decoders-all-m/checks/mu76.c create mode 100644 research/one-sided-decoders-all-m/checks/ncount.c create mode 100644 research/one-sided-decoders-all-m/checks/ncount2.c create mode 100644 research/one-sided-decoders-all-m/checks/oscommon.py create mode 100644 research/one-sided-decoders-all-m/checks/rootswap.py create mode 100644 research/one-sided-decoders-all-m/checks/rootswap_audit.py create mode 100644 research/one-sided-decoders-all-m/checks/symcheck.py create mode 100644 research/one-sided-decoders-all-m/checks/symlp.py create mode 100644 research/one-sided-decoders-all-m/checks/w8.py create mode 100644 research/one-sided-decoders-all-m/data/data.json create mode 100644 research/one-sided-decoders-all-m/data/gens.txt create mode 100644 research/one-sided-decoders-all-m/data/p104_frames.json create mode 100644 research/one-sided-decoders-all-m/evidence/logs/c65.log.txt create mode 100644 research/one-sided-decoders-all-m/evidence/logs/c66.log.txt create mode 100644 research/one-sided-decoders-all-m/evidence/logs/cc_lemmaN.log.txt create mode 100644 research/one-sided-decoders-all-m/evidence/logs/cc_mu76.log.txt create mode 100644 research/one-sided-decoders-all-m/evidence/logs/cc_ncount.log.txt create mode 100644 research/one-sided-decoders-all-m/evidence/logs/cc_ncount2.log.txt create mode 100644 research/one-sided-decoders-all-m/evidence/logs/chk1.log.txt create mode 100644 research/one-sided-decoders-all-m/evidence/logs/coloop.log.txt create mode 100644 research/one-sided-decoders-all-m/evidence/logs/coloop2.log.txt create mode 100644 research/one-sided-decoders-all-m/evidence/logs/cover.log.txt create mode 100644 research/one-sided-decoders-all-m/evidence/logs/cover6.log.txt create mode 100644 research/one-sided-decoders-all-m/evidence/logs/cover761.log.txt create mode 100644 research/one-sided-decoders-all-m/evidence/logs/d7.log.txt create mode 100644 research/one-sided-decoders-all-m/evidence/logs/dp3.log.txt create mode 100644 research/one-sided-decoders-all-m/evidence/logs/dump.log.txt create mode 100644 research/one-sided-decoders-all-m/evidence/logs/enum_1.log.txt create mode 100644 research/one-sided-decoders-all-m/evidence/logs/enum_2.log.txt create mode 100644 research/one-sided-decoders-all-m/evidence/logs/enum_3.log.txt create mode 100644 research/one-sided-decoders-all-m/evidence/logs/enum_4.log.txt create mode 100644 research/one-sided-decoders-all-m/evidence/logs/enum_5.log.txt create mode 100644 research/one-sided-decoders-all-m/evidence/logs/enum_6.log.txt create mode 100644 research/one-sided-decoders-all-m/evidence/logs/enum_7.log.txt create mode 100644 research/one-sided-decoders-all-m/evidence/logs/enum_8.log.txt create mode 100644 research/one-sided-decoders-all-m/evidence/logs/eq.log.txt create mode 100644 research/one-sided-decoders-all-m/evidence/logs/eq2.log.txt create mode 100644 research/one-sided-decoders-all-m/evidence/logs/flats_classify.log.txt create mode 100644 research/one-sided-decoders-all-m/evidence/logs/g78.log.txt create mode 100644 research/one-sided-decoders-all-m/evidence/logs/gT.log.txt create mode 100644 research/one-sided-decoders-all-m/evidence/logs/gen_t3_76.log.txt create mode 100644 research/one-sided-decoders-all-m/evidence/logs/gen_targets.log.txt create mode 100644 research/one-sided-decoders-all-m/evidence/logs/gsmall.log.txt create mode 100644 research/one-sided-decoders-all-m/evidence/logs/land.log.txt create mode 100644 research/one-sided-decoders-all-m/evidence/logs/lemmaN.log.txt create mode 100644 research/one-sided-decoders-all-m/evidence/logs/lnprep.log.txt create mode 100644 research/one-sided-decoders-all-m/evidence/logs/lp2.log.txt create mode 100644 research/one-sided-decoders-all-m/evidence/logs/lp3.log.txt create mode 100644 research/one-sided-decoders-all-m/evidence/logs/mu76.log.txt create mode 100644 research/one-sided-decoders-all-m/evidence/logs/ncount.log.txt create mode 100644 research/one-sided-decoders-all-m/evidence/logs/ncount2.log.txt create mode 100644 research/one-sided-decoders-all-m/evidence/logs/rootswap.log.txt create mode 100644 research/one-sided-decoders-all-m/evidence/logs/rootswap_audit.log.txt create mode 100644 research/one-sided-decoders-all-m/evidence/logs/symcheck.log.txt create mode 100644 research/one-sided-decoders-all-m/evidence/logs/symlp.log.txt create mode 100644 research/one-sided-decoders-all-m/evidence/logs/times.out.txt create mode 100644 research/one-sided-decoders-all-m/evidence/logs/verify_run.log.txt create mode 100644 research/one-sided-decoders-all-m/evidence/logs/w8.log.txt create mode 100644 research/one-sided-decoders-all-m/requirements.txt create mode 100755 research/one-sided-decoders-all-m/verify.sh diff --git a/research/one-sided-decoders-all-m/LICENSE b/research/one-sided-decoders-all-m/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/research/one-sided-decoders-all-m/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/research/one-sided-decoders-all-m/MANIFEST.sha256 b/research/one-sided-decoders-all-m/MANIFEST.sha256 new file mode 100644 index 0000000000..dc117f9094 --- /dev/null +++ b/research/one-sided-decoders-all-m/MANIFEST.sha256 @@ -0,0 +1,96 @@ +c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 LICENSE +ada70c49b9c92012927b5fd83f147eaba9f7844f03c4326527454030531f632f NOTICE.md +7c22a8d73d8e2cf1ec9ce259035fe97be7261b0f71d5555ee50fc4b821872bf8 README.md +45dff48e0b9097b83df8f4ded1356e52addc0f281b6f38ff9ec941335afb26c0 SOURCES.json +47afd43239a3870b561bdb9cdca5183a7a29101a7b4ce113bed1695bd1ccd0f3 checks/base.py +a15b262a443d4177d8849a99d5a2a2b29a9cd36a0ba448274da34f428e38a3a3 checks/c65.py +2facd8c78fe87c8a26bcda0e94187970165f5f36be014ca74a135d953c00ce3c checks/c66.py +fed62c3f199587425630795944173722405459a8baf50f83acf2dd50d4f91319 checks/check_logs.py +3d6089696bbeda4519af029e3becff35d3bb654a053d147299b7f8686f8a69b0 checks/chk1.py +eb58509e0c8fc13c851b1bc0d8ca4eb69cd9e0f7e74e4e86d9419de8b3a858dd checks/coloop.py +9a5db24310b1314f2fbf35d04dc3abab4fc176941fc3e23ff0a21890c3d7d3f1 checks/coloop2.py +031c35a05f18b936a2ae38eafbcac5aa5afc247ae4cacc59179ebe1d53d3c2ba checks/common2.py +4f5fb39a61146d8f758fa10bd011a93573b33a41d109ceee8f7369a19c1a92b4 checks/cover.py +a9121141b9cdc2d6dfd13dd7c10331324fcc52e7664573111d874e75aa13d6e7 checks/cover6.py +f5c252427d6612e7d27e2cf5e94d540116d7f5e5bc07fe1b150966a038544416 checks/cover761.py +aa7294b18e2286ed32c286a060334774f5d79967ebc03ace00c1e622b8ee10db checks/d7.py +4e56a89b6f25c17afec0a718420814d92b9d5e85d1a60ac48829b1415cb0fed0 checks/dp3.py +5efbcae78dd105bc18c2418a49af74b5696db0e4c46882ba51ca32399dec299d checks/dpX.py +1150ae9eed3ea38781a5634dfa52a85747148b8bce48b07f6e3c5fa8c6be5bd2 checks/dump.py +4b5bb1f8601bb3427448c6e515424bd95d094b3ce1711b65c9dca259d787d519 checks/enum.py +7d76d41fe8b22591ca805be91489327eb4c3723e97d9a276e3566a4dbe77d476 checks/eq.py +601a62eb37d77c2c4c66ebcd9582db9e9e00117e68110709a544abca7172b910 checks/eq2.py +cfeea9c37d05ac7588387a08d8a7627b16954c79f3273976a37a09556103087a checks/flats_classify.py +dc3a341de1eff5e02dcd627aba3a93c2b45c72558de087856fdd62f89d54dd4e checks/frames_data.py +089953900befddb45727671f8d523b07c8cf81367d57bd833dd063ac594f098d checks/g78.py +42b32c24533eee648d8abffc7ea99483aedd54fdc6b490ee45b53d3e04eea5ba checks/gT.py +a4a72c326ca8dea9f453c2f84136650190740b530894cd256fdeab98019de76b checks/gen_t3.py +48662498c8dc54901d29131edd2a656121d226afae84648c9e00cc6b894f7437 checks/gen_targets.py +2659d28072afb57b251429887036e84510299b792c87447bd80ba45613db9d09 checks/gsmall.py +033a0e49581bfeac083c268db49910ed73ab8e2580e07ceb4aff0965d4810329 checks/land.py +2b9dfe552211b5c855788358a7eab77b92ee7d3763bb0eb3e0a282a5be5450c0 checks/lemmaN.c +a1b1520f1eef030933260974a44bafc1315cca78ec0a3d0793cd9e1d6c049ca4 checks/lib.py +10731209ff2c08055fecb3c3c882c3ec0294348d4fefdf057e124f1a577ca9a4 checks/lnprep.py +30bfc46529afd7be9a21b6d2e7b1ce4de68d88028c632ca1c81432c6b81eb4b4 checks/lp2.py +f6a0f0aa51171b828f5fc35a21703863a2d091d15f9f82d11650d5952391190d checks/lp3.py +012739ff3dc3421c187ca089b361c0b1d49f808908a5a7efdb0603c20f08ca71 checks/manifest_check.py +fea77989a033465e97509f2b19d8a4eb073c9c44d4d4576c5b4870e5985239eb checks/mu76.c +4cef7955a73f15d1768343ae750bbf88e4bd122ba4294e34c30b5bd3b5211449 checks/ncount.c +850f94bde215ed00a0e301bbbb6830e3c1f78af665051cced9c26d221de0a3af checks/ncount2.c +29095863a00e2fb662c46b449f7b454dd9aac04ddc2ba0aab87277d95a7bd5a1 checks/oscommon.py +fd8abecc5ff7953bb8d0735d012520d4e74774b734a1f962c5e806def2ff8313 checks/rootswap.py +0c1fe3019b2ef7db30f15068d294a9eeb902d01d91657702c637ea014dfda1cc checks/rootswap_audit.py +a2baff10396b8a8de8065d45bf781a5662f165f4becfd2cdc95f7ba6e9fbe330 checks/symcheck.py +8b4bcfa654f019c6500a5778acbf8011f23103a78e82c252dc64b9491928f477 checks/symlp.py +b3ab00addcf343889071cd9e4415c0811bbd5b33d0c773abe2b36bfa7014c397 checks/w8.py +8e4b2a306dfe3499b9d2104753a4cb203e14fbfa94fda03f6a415da956ba642b data/data.json +364ab28cd3b51ccc6d9c97d3ff694f4129b0918428d4e87abb89d15afc226f83 data/gens.txt +471c3c68b1ca65e38e05125e3a329dde0cf01a44f5af86fd84eec75e534421f1 data/p104_frames.json +ebd114ecefd14a8c2e9fdc96319f74e10f4164496dbeeb3cdb51332dd6b4f3e4 evidence/logs/c65.log.txt +2b0aee058877fb0760aa75dd94e5c1b2f961b1f45def1780ac93d8388a19d622 evidence/logs/c66.log.txt +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 evidence/logs/cc_lemmaN.log.txt +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 evidence/logs/cc_mu76.log.txt +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 evidence/logs/cc_ncount.log.txt +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 evidence/logs/cc_ncount2.log.txt +2acdee859c00200d81ca8ff6325700b73c2213ccbf73b557a856392ad591dc10 evidence/logs/chk1.log.txt +b99e5c211d983c4dc5b6a6e27629f2201bec001d061460437e58f53cef3a3c8f evidence/logs/coloop.log.txt +d82e87e4959d2fc41370dba19f663420fe72a9e3973710d4e65e8a93211fb1cc evidence/logs/coloop2.log.txt +e6b38c8518c8173a28a731af77264d2fc234152fc5a80cc35c82e9927f18e9ca evidence/logs/cover.log.txt +9cb2d70ba47368643aa927519a80edc8f1a841622f8d5e6543bb0586fd6b73e0 evidence/logs/cover6.log.txt +2db40fd9cce48d2f46be101e304391a2618bf36d3fe42857a2c0173244ea65c0 evidence/logs/cover761.log.txt +91dd118c35b8f6ffdfe43c4a0eaedc55ad20a1e05bbad94311b03e9c6221582c evidence/logs/d7.log.txt +689dcddf0fa67a83f94e6fc79f30dbb5afac62f23e54b78af499afa55654ac55 evidence/logs/dp3.log.txt +00a164cbe40652aaa3f8f01e8f927db0b96f95bff07d21c635c6f546f0b886b4 evidence/logs/dump.log.txt +d8b8a12c4fbc64d39dabcf200485f98d408894f676e7c40791d20b67bdca6786 evidence/logs/enum_1.log.txt +d8b8a12c4fbc64d39dabcf200485f98d408894f676e7c40791d20b67bdca6786 evidence/logs/enum_2.log.txt +d8b8a12c4fbc64d39dabcf200485f98d408894f676e7c40791d20b67bdca6786 evidence/logs/enum_3.log.txt +d8b8a12c4fbc64d39dabcf200485f98d408894f676e7c40791d20b67bdca6786 evidence/logs/enum_4.log.txt +d8b8a12c4fbc64d39dabcf200485f98d408894f676e7c40791d20b67bdca6786 evidence/logs/enum_5.log.txt +d8b8a12c4fbc64d39dabcf200485f98d408894f676e7c40791d20b67bdca6786 evidence/logs/enum_6.log.txt +fba08db999e8df9153000b7adda7dbf33d2448c2b696ac728824385da9825729 evidence/logs/enum_7.log.txt +556f6e614f122e97f918bfd45b4ff72e0ca41d83202275ac9a99de0fac63bcee evidence/logs/enum_8.log.txt +252f69104ed230418e0db3e957871e6a51c3732dec119425ce57e48d64566971 evidence/logs/eq.log.txt +06f3da4caaad0fbafb8a614431053ff8bcb5d9224989aac2861fad638e87302b evidence/logs/eq2.log.txt +995271662fb62111dec16b289e22087e0f416444faa28bb02631c2f983adadae evidence/logs/flats_classify.log.txt +93e2a9b3ea75e4718c4267b88f910384406e875f1a0e4ecb2536d9ddb4c4edbd evidence/logs/g78.log.txt +5a338844225e24d5644401793402aa65f56323de9675b8180ad0c9d252515beb evidence/logs/gT.log.txt +01f3306bb78ab509469aff66761f1210d741017ac899b01a0cf16e284d4b7922 evidence/logs/gen_t3_76.log.txt +bbf12e312303ae014e414646f9289609ad8f21ec5a3db9636658895315548c5a evidence/logs/gen_targets.log.txt +7a3537c0967c18f3e28dbc503720811a66a5706d6011dc1d9452b6f2f7fb23a6 evidence/logs/gsmall.log.txt +5a165f19b16aa2e84cff7a065399bc7c57c378faf3214aab1d196f5a9da466be evidence/logs/land.log.txt +54bfa517b44113b07d26ee4c367387b2696c5ea68b3a133d64753c8c8401d949 evidence/logs/lemmaN.log.txt +effbf93f93cc00446424e61e85a0944bd955e583074c7e34d1260f493e925c69 evidence/logs/lnprep.log.txt +ede90c23a0288c47b77a844b527c1b3708b4169f8a4a12a9e3c5016a4e677c52 evidence/logs/lp2.log.txt +03a7303c1b4f2d7153b48d5e1e95e7b2425dcfdd85cb86f20ba7bcec260d6f60 evidence/logs/lp3.log.txt +9c7cfdf6df601c71ab6ef38cfc35e4c06d73d933283a7fa380a2296268488f41 evidence/logs/mu76.log.txt +93737aeec1c6484975c6ffc21658e2fc06442fd5dfefe7209af2278873b1b80a evidence/logs/ncount.log.txt +b9fa9957a43b01e12ecfbac5f470f72dd536222880039bd7d7d4f1c0fd162d5c evidence/logs/ncount2.log.txt +36d46cf9f4180dfbb48da90fff3e4c30a4851048c2bcbbd31f909228181e1c87 evidence/logs/rootswap.log.txt +c3fb924124aee6ff884e46eaac834d9d3b8946aa92d65bfe1ba5a0e1ef47b608 evidence/logs/rootswap_audit.log.txt +c73e56a18a2fca8a1aac39f0c9bca3f481debf95ba48cee2c0596daee7f62ea0 evidence/logs/symcheck.log.txt +838bd178342a8cc8ba55a349c189590a3d7b4aec21f134b911c424a7a3355637 evidence/logs/symlp.log.txt +01d890d81a14558a7e7853d465cb9869d199675f6820dcf7692be507a93eba16 evidence/logs/times.out.txt +22c3624d839fe069de597e7e7ebe03510d88d88693d8ab021fed414a5c1d26ae evidence/logs/verify_run.log.txt +b335fdd7b1ebbb2bf0d9a00b4bbeb3a7c0aeb541e60c0bde87610e0f4e226c77 evidence/logs/w8.log.txt +9d15bca7a70484c014748eeea900107bf9f10e61e4d0dc761ea1caa44734a294 requirements.txt +e12fdea689cea7b2144b25ac15d58e55a5c4e770e15a849d58ea91078341514f verify.sh diff --git a/research/one-sided-decoders-all-m/NOTICE.md b/research/one-sided-decoders-all-m/NOTICE.md new file mode 100644 index 0000000000..9eb34abb4d --- /dev/null +++ b/research/one-sided-decoders-all-m/NOTICE.md @@ -0,0 +1,16 @@ +# Notice + +Prepared by DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code; Apache-2.0 (`LICENSE`, copied from the repository root). + +## Credits + +- Model and notation: **#1224** (joaqcoo; one-sided nine-term decoders as overcomplete representations), the author's **#2338**, **#2277**, **#2724** (dense pairing, Theorem R, case (b) at `m = 9`), with **#1180**, **#1633**, **#1815 / #1212** cited from their statements, not re-derived. +- The gain law cited in the README is philippeVV's (Discussion #1587, follow-up 6). +- Imported merged results (README §2): #1212 Theorem 1 (Gram realisation), #2338 Theorem R (dense pairing). Classical: Bourbaki, *Groupes et algèbres de Lie*, Ch. V §3.3 and VI §1.7 (stabilisers of points are parabolic), used in the proof of C3. +- Tools: Python (standard library), `numpy`, `scipy` (HiGHS), `sympy`; a C compiler for `lemmaN.c`, `ncount*.c`, `mu76.c`. No SAT solver. +- No file is copied from another contributor. `checks/lib.py, common2.py, frames_data.py, manifest_check.py` come from the author's package `research/nine-term-outside-colspace` (#2724); + all other scripts are the author's working-card scripts (cards OS-CHARGE, OS-CHARGE2, SMALL2), with absolute paths removed and the E8 frame loaded from `data/p104_frames.json`. + +## New in this package + +`README.md`, `verify.sh`, `SOURCES.json`, `MANIFEST.sha256`, `checks/check_logs.py, g78.py, flats_classify.py, symcheck.py, cover761.py` (the latter from the auditor's check of the (7,6,1) cover shape), `rootswap_audit.py` (moved from `audit/`), the extra `k = 3, 4, 5` loop at the end of `checks/rootswap.py`, `data/`, `evidence/logs`. diff --git a/research/one-sided-decoders-all-m/README.md b/research/one-sided-decoders-all-m/README.md new file mode 100644 index 0000000000..614ff7397c --- /dev/null +++ b/research/one-sided-decoders-all-m/README.md @@ -0,0 +1,155 @@ +# Decoder floors, case (b) for every number of terms: one-sided P112 decoders cost ≥ 64 without corrections (unique optimum) and with ≤ 2 non-full corrections (no κ claim) + +**Status: research note; every claim below is a written proof plus exact finite computations that `verify.sh` re-runs (about 12–15 minutes, two processes, no SAT solver). No κ claim, no supplier word.** +Only `research/one-sided-decoders-all-m/` is added; nothing existing is changed. + +Labels: **PROVEN** (written proof in this file, every finite input listed), **CHECKED** (an exact script re-run by `verify.sh`, assertion in `checks/check_logs.py`), **RECORDED** (a log shipped in `evidence/logs`, not re-run), +**IMPORTED** (a merged result of this repository, cited from its statement and not re-derived here), **OPEN**. + +## 0. Claims box (scope is part of the claim) + +Setting (the model of #2338 / #2277 / #2724 / #1224): the 112 lines of P112 (E8 minus the frame F0), the dense F2-pairing `B` of rank 9, a decoder `N = Σ_{j ≤ m} p_j q_jᵀ` of the **Gram realisation** of the masked pattern, +over a field `K` of **characteristic 0**, cost `Σ_j rank_F2 B[R_j, A_j]`. **Case (b):** the factors `q_j` lie in `col M` (`q_j = C y_j`), the factors `p_j` are arbitrary (one side outside `col M`). **Every `m`.** + +| # | Statement (P112, case (b), every `m`) | Status | +|---|---|---| +| R1 | **ε-free** one-sided decoders (no correction subtracted) cost **≥ 64** for every `d = dim(𝒞 ∩ S_{≤7})`, `d = 1..8` | PROVEN from CHECKED (§4); exact integer LP dual certificates for `d = 7, 8` (`lp3.py`), independently re-derived (`symlp.py`) | +| R2 | **Theorem U′.** The cost-64 ε-free decoder is **unique**: the coordinate decoder (8 terms `(e_j, W_j)`). Cost-65 decoders have `n_nf ≤ 1`; the cost-66 case is reduced to six OPEN `d = 8` weight multisets (§5.3) | PROVEN from CHECKED (§5) | +| R3 | **Corrections.** Lemma P: a full corrected term is free (absorbed at no cost). Corrected cost `≥ 64` whenever `n_nf ≤ 2`; in general `≥ 64 − max(0, n_nf − 2) ≥ 58` (`n_nf ≤ 8`). The **root-swap family attains 64 exactly** for `n_nf = 1, 2, 3, 4` (tightness of `Δ ≥ n_nf`) | PROVEN from CHECKED (§6); tight family exact `P·Y = C` (`rootswap.py`) | +| R4 | **Lift level.** Every `S ⊇ 𝒞_{X_I}` has `cost_w(S) ≥ 64 + min(|I|, 2)`; every lift of the E8 root code has `cost_w ≥ 66` | PROVEN from CHECKED (§7); needs char 0 | +| R5 | **Lemma N** (exact, two independent implementations) and the **Pencil Lemma** | CHECKED / PROVEN (§8) | + +Here `n_nf` is the number of corrected terms that are not full (`U ≠ F2^9`) **of the normalised decoder**: merge corrected terms with proportional `y` and absorb full corrected terms (Lemma P), repeating until stable (Theorem A); then `n_nf ≤ 8`. Lemma P's projection can create new non-full corrections, so the raw count can rise; the version that holds for raw decoders is the lift-level form R4 (`≥ 64` if `|I| ≤ 2`, `I` = all corrected terms). +The gain-law reading (philippeVV, Discussion #1587 follow-up 6, `gain(L) = |L| − C(L)`): R1 says that in the one-sided class (ε-free) the gain on P112 is at most 48 (`112 − 64`); the kill shot needs `gain ≤ 48` for all line sets, equivalent to `C(P120) ≥ 72`. This note makes no claim beyond the class stated. + +**Open residue, stated exactly (not claimed).** `Δ ≥ n_nf` for `n_nf ≥ 3`, i.e. corrected cost `≥ 64` with ≥ 3 non-full corrections. At `n_nf = 3` the only unkilled configurations are **exactly six `d = 8` multisets of the weight-≤7 basis of `T = S_{≤7}`**: +`[7^5,6^5,1]`, `[7^6,6^4]`, `[7^8,5,4,1]`, `[7^8,5,5]`, `[7^8,6,3,1]`, `[7^8,6,4]` (reproduced by `c66.py`, §5.3, §9). Another card of the author (SIX) is working on them; **nothing about them is claimed here.** + +**Not covered:** two-sided decoders and case (c) (rank-9 realisations; see #2784 for the A2 family); P104 and other punctured units; `B` of rank ≥ 10; fields of positive characteristic (the char-0 steps are marked). + +## 1. Overlap and credit + +Scanned: titles of the 1,000 most recent PRs, bodies of the 119 decoder-related ones, and the 100 most recently updated Discussions. No PR or Discussion contains an ε-free one-sided floor for all `m`, LP / charging certificates, uniqueness of the optimal P112 decoder, +the root-swap family, Lemma N or a lift-level statement. Nearest work: **#1224** (joaqcoo; one-sided nine-term decoders are overcomplete representations; the model used here), **#1180** (both factors in the root code), **#1633** (excess-rank budget `s + t ≤ m − 8`), +**#1815 / #1609** (rigidity of one-sided masked fits), **#2338 / #2277 / #2724** (ours: `col M` floors and case (b) at `m = 9`), #2582 / #2659 / #2719 (root-code factors only), the COPY-power PRs (different cost model). +Credit: philippeVV (gain law), #1224, #1633, #1180, #1815, #2338, #2277, #2724. No file is copied from another contributor. + +## 2. Imported results and one classical fact + +* **C1 (Gram realisation; imported from merged #1212, Theorem 1).** On P112, every realisation `K` of rank ≤ 8 with `K_ii = 4` and zeros on orthogonal pairs equals `D·(2G)·D⁻¹` (`G` the Gram matrix), over any field of characteristic 0; a one-line diagonal normalisation turns any rank-8 realisation of the iff pattern into `D₁·Gram·D₂`. Diagonal scalings do not change supports, hence not cost. The work below is in the Gram realisation `c_t = (⟨r_t, f_i⟩)_i`. (#1815 gives the one-sided fitting corollary; credit there.) +* **C2 (dense pairing; imported from merged #2338, Theorem R).** Every fitting `B` of F2-rank ≤ 9 equals the dense table `B_d[t,s] = Ω(ℓ_t, ℓ_s)` (DRAT-checked in #2338). The shape of `B_d` is recomputed here (`chk1.py`). +* **C3 (flats of the root system; PROVEN).** For a subspace `V ⊆ R⁸`, `Φ ∩ V` (`Φ` = E8) is `W(E8)`-conjugate to a standard parabolic subsystem `Φ_J`. *Proof.* Choose `φ ∈ V^⊥` with `φ(α) ≠ 0` for every root `α ∉ V` (finitely many hyperplanes to avoid). Then `Φ ∩ V = {α : φ(α) = 0}`, the root system of the pointwise stabiliser of `φ` in `W`, which is a parabolic subgroup (Bourbaki, Lie V §3.3: the stabiliser of a point is generated by the reflections it contains and is conjugate to a standard `W_J`; VI §1.7: its root system is the corresponding `Φ_J`). ∎ Used by `flats_classify.py`. +* **C4 (char 0).** Used where "the lines inside a K-subspace of dimension u form a root subsystem of rank ≤ u": the 120 lines are rational vectors, so the rank of a set of lines is the same over `Q` and `K`. This fails in positive characteristic. + +Everything else below is proved in this file or computed by `verify.sh`. + +## 3. Setting, the (y,U) form and the lift S (PROVEN) + +**Lines and labels.** `c_t ∈ Q⁸` (`FC` in the code) is the row of the Gram realisation: `c_t = (⟨r_t, f_i⟩)_{i=1..8}`, entries in `{0, ±1}`, support 4 for every `t` (`chk1.py`). Labels `ℓ_t = (1, r̄_t) ∈ F2 ⊕ E8/2E8 = F2⁹`, form `β((a,x),(b,y)) = ab + ⟨x,y⟩` (mod 2); `B_{ts} = β(ℓ_t, ℓ_s)`; `z_i := (1, f̄_i)`, `W_i := z_i^⊥`. +(`chk1.py`: the 112 labels are distinct and span `F2⁹`; `κ`-formula agrees with the oscommon cost on 300 random term tests.) +The **root code** is `𝒞 = {p_h := (⟨c_t, h⟩)_t : h ∈ K⁸}` (dimension 8), `Off(h) = supp p_h`, `weight(p) := rank_F2 ℓ(supp p)` (≤ 9). + +**3.1 Reduction to the (y,U) form.** Case (b): `q_k = C y_k`, so `N = P Yᵀ Cᵀ` and exactness `P Qᵀ = C Cᵀ` is equivalent to `P Yᵀ = C` (`C` has rank 8). Term `k` has `R_k = supp p_k`, `A_k = {s : ⟨c_s,y_k⟩ ≠ 0} = Off(y_k)`, and with dense `B` +`rank B[R_k, A_k] = dim U_k − dim(U_k ∩ ℓ(A_k)^{⊥β})`, `U_k := span ℓ(R_k)`. **Lemma 3.1 (CHECKED, `w8.py`).** The label span of `Off(y)` is `F2⁹` unless `y ∝ f_i`, when it is `W_i`. +*Proof.* If `ℓ(Off(y)) ⊆ H` for a hyperplane `H`, the lines with label outside `H` are all ⊥ `y`, so they have real rank ≤ 7. `w8.py` lists the label hyperplanes whose complement has real rank ≤ 7: exactly the 8 hyperplanes `W_i`, with complement the 56 lines ⊥ `f_i` (rank 7), so `y ∝ f_i`. ∎ +Hence **cost `= Σ_k (dim U_k − ε_k)`**, `ε_k = [y_k ∝ f_i and z_i ∈ U_k]` (the *corrections*: for `y_k ∝ f_i` the label span of `A_k` is `W_i = z_i^⊥`, whose `β`-orthogonal is `⟨z_i⟩`; otherwise it is `F2⁹` with orthogonal `0`). Terms with `p_k = 0` or `y_k = 0` cost nothing and are deleted. Corrected terms with `y ∝ f_i` for the same `i` are merged: if both `U` contain `z_i`, `dim(U₁+U₂) − 1 ≤ (d₁−1) + (d₂−1)`, so **at most one corrected term per `i`** (`n_corr ≤ 8`). +The decoder is a pair of matrices with `C = P Yᵀ`; equivalently a set of pairs `(y_k, U_k)` with `c_t ∈ span{y_k : ℓ_t ∈ U_k}` for every line `t` (take `p_k(t) ≠ 0` only if `ℓ_t ∈ U_k`). + +**3.2 The lift `S`.** `S := col P ⊇ 𝒞` (as `C = P Yᵀ`). The columns of `P` span `S`, so they contain a basis, and **cost ≥ cost_w(S) := min over bases of S of Σ weight** (ε-free; corrections are handled in §6–7). By the matroid greedy algorithm, `cost_w(S) = Σ_{w=0}^{8} (s − a_w)`, `s = dim S`, `a_w = dim S_{≤w}`, `S_{≤w} = span{p ∈ S : weight ≤ w}`. +**Peeling (PROVEN).** Put `T := S_{≤7}`, `d := dim(𝒞 ∩ T)`, `D := 𝒞 ∩ T`. Since `𝒞 ⊆ S`, `s − a_7 ≥ 8 − dim(𝒞 ∩ T) = 8 − d`; `Σ_{w ≤ 7}(s − a_w) = 8(s − a_7) + cost_w(T)` (all `S_{≤w}` with `w ≤ 7` lie in `T`), and `s − a_8 =: c_8` (the number of weight-9 basis vectors). So +`cost_w(S) = 8(s − a_7) + cost_w(T) + c_8 ≥ 64 − 8d + cost_w(T) + c_8` (★), with `s − a_7 = (8 − d) + x`, `x ≥ 0`. Write `Δ_w := cost_w(S) − 64 = (cost(T) − 8d) + 8x + c_8`, every term ≥ 0 once `cost(T) ≥ 8d` (§4); for a decoder, `Δ := (ε-free decoder cost) − 64 = δ_basis + Δ_w` with `δ_basis := decoder cost − cost_w(S) ≥ 0`. +**Codeword weights (CHECKED, `w8.py`, `gen_targets.py`).** (the directions with `|Off(h)| ≤ 69` have ≥ 43 P112 lines ⊥ `h`, and by `flats_classify.py` + C3 the only flat of rank ≤ 7 with ≥ 43 lines is E7, i.e. `h` is a root or frame direction.) `|Off(h)| ≥ 53` for `h ≠ 0`; `|Off| = 53` for the 112 roots, `56` for the 8 frame directions `f_i`, `≥ 70` otherwise. Every codeword has weight ≥ 8 (`g(7) = 36 < 53`), and weight exactly 8 ⇔ `h ∝ f_i`; the root `p_r` has weight 9. + +**3.3 The tables.** `g(w)` := the maximum number of lines whose labels lie in a `w`-dimensional subspace: **`g = (1, 2, 4, 8, 12, 20, 36, 64)` for `w = 1..8`** (CHECKED: `g78.py` for `g(8) = 64`, `g(7) = 36` over all 43,435 seven-dimensional subspaces; `gsmall.py` for `g(6) = 20`, `g(5) = 12`; `g(w) ≤ 2^{w−1}` because all labels lie in the affine hyperplane `a = 1`). +`N_u` := the maximum number of E8 lines in a `u`-dimensional real subspace: **`N = (1, 3, 6, 12, 20, 36, 63)`** for `u = 1..7` (CHECKED by `flats_classify.py` over the standard parabolics, valid by C3; this is an upper bound for P112 too). +In-target capacities (CHECKED, `gT.py`): a label flat of dimension 7 holds at most 32 of the 56 lines of `N(f_i)` and of the 53 lines of `Off(r)`; dimension 6 at most 20. + +## 4. R1: the ε-free floor 64 for every d (PROVEN from CHECKED) + +**Theorem 1.** For every decoder (every `m`), `cost ≥ cost_w(S) ≥ 64`; and `cost_w(S) = 64` forces `S = 𝒞`. +*Proof.* By (★) it suffices to show **`cost_w(T) ≥ 8d` for every `d`** (then `cost_w(S) ≥ 64 + 8x + c_8 ≥ 64`). Let `q_1..q_a` be a minimum-weight basis of `T` (weights `w_j ≤ 7`), `D = 𝒞 ∩ T`, `λ: T → T/D`. Three necessary conditions on the weight multiset `(w_1..w_a)`, `a = d + e`: + +* **(C1) Robust cover.** For `1 ≤ k ≤ d`, delete the `d − k` heaviest pieces; the span of the remaining pieces meets `D` in ≥ `k` dimensions, i.e. contains a `k`-dimensional space `Π` of codewords `p_h`. For `k = 1`: some `Off(h)` is covered by the remaining supports, and `Off(h)` is one of: a frame target `N(f_i)` (56 lines; the cheapest cover is two 7-flats, weight 14), a root target `Off(r)` (53 lines; no pair of flats of dimension ≤ 7 covers it, the cheapest cover has weight 15, and no 3 flats of dimension ≤ 6), or one of the ≥ 70-line targets (`|Off| ≥ 70` by §3.2; needs `Σ g ≥ 70`, weight ≥ 14). These facts are CHECKED: `cover.py` (pair/triple covers: 14 / none / 15), `cover6.py` (no 3-cover of `Off(r)` by flats of dimension ≤ 6), `d7.py` (the 70-line targets are not pair-coverable), capacities `gT.py`; `cover.py`, `cover6.py`, `gT.py` examine one root target `Off(r_0)` and one frame target `N(f_0)`: this suffices because line permutations that are label-linear, preserve inner products and permute the frame targets act transitively on the 112 roots and on the 8 frame targets (`symcheck.py`). The only weight-14 shape with ≥ 3 pieces and `ΣG ≥ 53` for `Off(r)` is `(7,6,1)` (`32+20+1 = 53`; all other weight-14 shapes have `ΣG < 53`); `cover761.py` checks it exactly for **all 112 roots** over all 6- and 7-dimensional label subspaces: at least 9 lines of `Off(r)` stay uncovered, so `W ≥ 15` for ≥ 3 pieces. Capacities: a 7-flat holds at most 32 target lines and a 6-flat at most 20 (`gT.py`; `g(5..7) = 12, 20, 36` are upper bounds for the monotone closure). The DP rule `k1` in `dp3.py` encodes exactly "W ≥ 14 and ΣG ≥ 56, or W ≥ 15 and ΣG ≥ 53 and ≥ 3 pieces and not (3 pieces of weight ≤ 6), or Σg ≥ 70". For `k ≥ 2`: the union of `Off(h)` over a `k`-dimensional `Π` is the set of lines not ⊥ `Π`, which has ≥ `112 − N_{8−k}` lines, so `Σ g(w_j) ≥ 112 − N_{8−k}` over the remaining pieces. +* **(C2) Multiplicity.** Every line is covered by some piece; a line covered by exactly one piece `j` has `c_t ∝ y_j`, and the 112 vectors `c_t` are pairwise non-proportional, so at most one line per piece is covered once: `Σ_j |supp q_j| ≥ 224 − a` for `d = 8`. For `d = 7` (quotient by a normal, at most 3 lines per plane through it, at most one line killed): `≥ 222 − 3a`. +* **(C3) Pair rule.** `a ≥ d + 2` for `d ≥ 2`. If `a = d + 1` (`e = 1`) every pair `(j,l)` gives a codeword `p_{jl} = λ_l q_j − λ_j q_l` covered by two flats of dimension ≤ 7; by `cover.py` / `d7.py` and `|Off| ≥ 73 > 72` the only pair-coverable direction is `f_i` (with weights `(7,7)`); a combination of two different `f`'s has `|Off| ≥ 76`, so all triangles are monochromatic and all `p_{jl}` are proportional to one `p_{f_c}`, yet they span `D` (dimension `d ≥ 2`): contradiction. + +`dp3.py P112` enumerates all multisets of weights ≤ 7 and reports the minimum of `cost_w(T)` under (C1)–(C3): **`14, 22, 29, 36, 42, 48, 55, 61` for `d = 1..8`** (CHECKED). This is `≥ 8d` for `d ≤ 6`. `enum.py d 8d` lists every multiset with `cost < 8d` passing the rules (CHECKED, complete recursion): none for `d ≤ 6`, **one for `d = 7`** (`[7,6^8]`, cost 55), **seven for `d = 8`** (`[7,6^9]`, `[7,6^9,1]`, `[7,7,6^8]`, `[7,6^9,1,1]`, `[7,6^9,2]`, `[7,7,6^8,1]`, `[7,7,7,6^7]`; costs 61–63). + +* **(LP) These eight are impossible.** Let the pieces be `q_j` with `T`-basis, `C_H := C·(basis of H) = Q M`, where `H ⊆ K⁸` is the `d`-dimensional space with `D = {p_h: h ∈ H}` and `M` is `a × d`. Then `c̄_t := (c_t projected to H) = Σ_j q_j(t) M_j`, so `c̄_t ∈ span{y_j : t ∈ supp q_j}` with `y_j := M_j ∈ K^d`. For each line with `c̄_t ≠ 0` choose a minimal set `M(t)` of pieces with `c̄_t ∈ span(y_{M(t)})`, and let `m_S` be the number of lines with `M(t) = S`. Then: + (a) `Σ_{S ⊆ U} m_S ≤ N_{|U| + 8 − d}` for every set `U` of pieces (the lines with `M(t) ⊆ U` lie in a K-subspace of dimension `≤ |U| + 8 − d` of `K⁸`; **C4**); + (b) `Σ_{S ∋ j} m_S ≤ |supp q_j| ≤ g(w_j)`; + (c) `Σ_S m_S ≥ 112 − N_{8−d}` (lines with `c̄_t = 0` lie in a subspace of dimension `8 − d`): 112 for `d = 8`, 111 for `d = 7`. + Maximising `Σ m_S` under (a), (b) gives an upper bound; **it is < the need for all eight multisets**: `96.97, 97.97, 97.80, 98.97, 98.97, 98.81, 101.87` (< 112) for `d = 8` and `97.81` (< 111) for `d = 7` (`lp2.py` floats). **Exact certificates:** `lp3.py` builds the LP without symmetrisation and verifies, in exact integer arithmetic, a dual vector `y ≥ 0` with `Aᵀy ≥ 1` (numerators over `10⁴`), whose value `b·y` is the printed bound (`< 112`, `< 111`). **Independent re-derivation:** `symlp.py` is a different formulation (symmetrised over equal-weight pieces, exact by averaging; exact `Fraction` dual repaired against the full-type column) with the same verdicts, and the control `8` pieces of weight 8 gives exactly 112 (so the LP is not vacuous). ∎ + +So `cost_w(T) ≥ 8d` for all `d`, hence Theorem 1. (E8-restricted variants are not used.) + +## 5. R2: uniqueness of the optimum and the cost-65 / 66 classification + +**5.1 Theorem U′ (PROVEN from CHECKED).** An ε-free decoder of cost 64 is the coordinate decoder. +*Proof.* Equality in (★) forces `Δ = 0`: `δ_basis = 0` (the columns are a min basis), `x = 0`, `c_8 = 0`, `cost(T) = 8d`. For `d ≤ 5` the DP gives `cost(T) − 8d ≥ 2` (`dp3.py`, `enum.py`: no multiset with cost `8d`, and none with `cost ≤ 8d + 2` for `d ≤ 3`, `land.py`). For `d = 6, 7, 8` the multisets of cost exactly `8d` are listed by `enum.py d 8d+1`; the quotient LP kills `[6^8]` (97.78 < 109), `[7,6^8,1]`, `[7,7,6^7]` and 15 of the 18 multisets at `d = 8` (`eq.py`). The three LP survivors `[7^9,1]`, `[7^8,6,2]`, `[7^8,6,1,1]` (LP value exactly 112) are killed by the **Pencil Lemma** (§8: they have `d = 8 ≥ 3` and `e − 1` anchors on ≤ 4 lines). So `d = 0`: `T = 0`, `s = 8`, `S = 𝒞`, the columns are 8 codewords of weight 8, which are the frame codewords `p_{f_j}` (§3.2) with flat `W_j`. ∎ (CHECKED: `eq.py`, `eq2.py`, `land.py`.) + +**5.2 Cost 65 (Theorem Δ1).** `Δ = 1` forces one of: `S = 𝒞` with one weight-9 column (or one surplus unit), `d = 0` with `T = ⟨δ_t⟩` (a unit piece), or an LP/Pencil-killed `d ≥ 1` multiset (`eq2.py`, `land.py`). In the second case the weight-8 columns `p_h + aδ_t` with `a ≠ 0` need `rank ℓ(Off(h) ∖ {t}) ≤ 8`: `h` is a frame direction (flat `W_j` or weight 9) or a root `r_t` with `t` cancelled (`coloop.py`: root targets have exactly one coloop each, and no pair of lines other than the coloop drops the rank to 8; `c65.py`/`coloop2.py`: `N(r)` minus ≤ 3 lines keeps rank 8). So **`n_nf ≤ 1`**: the only possible non-full corrected term is the *root swap* `p_{r_t} − c δ_t` (weight 8, flat `W_t ∋ z_i`). +`c65.py` (cost(T) ≤ 8d + 1, LP): the LP survivors are the `7^k + small` multisets at `d = 7, 8` and `[7^5,6^5]` at `d = 8` (12 in all); the first kind die by the Pencil Lemma, `[7^5,6^5]` by the triple rule below (CHECKED). + +**5.3 Cost 66.** `c66.py` (cost(T) ≤ 8d + 2: DP → LP → Pencil → `e = 2` triple rule) leaves **exactly the six `d = 8` multisets** of §0 (CHECKED), and `land.py` independently reproduces the same landscape (survivors only at `d = 8`, slack 2, six of them). *Triple rule (e = 2):* with `e = 2` all `λ_j ∈ K²`, pairs of non-(7,7) pieces are non-parallel (pair rule), so every triple of pieces of weight ≤ 6 is a circuit whose codeword has `Off` inside the union of the three supports: only `N(f_i)` (three 6-flats, `cover6.py`) is possible, at most 8 directions exist and distinct circuits give distinct directions, so ≥ 5 pieces of weight ≤ 6 (10 triples > 8) is impossible (kills `[7^5,6^5]`, and the `d = 6, 7` cases `[7^2,6^6]`, `[7^4,6^5]`). +*Circuit lemma (PROVEN).* A dependency `Σ_J a_j λ_j = 0` is a codeword `p_h ∈ D` supported in `∪_J supp q_j`; minimal supports `J` (circuits) give distinct directions, because the `q_j` are linearly independent. + +## 6. R3: corrections + +**Lemma P (absorption of a full correction; PROVEN).** Let a decoder in `X_I` form contain the term `(f_i, U)` with `U = F2⁹`, and let `π` be the orthogonal projection killing `f_i`. Then `{(π y_j, U_j) : j ≠ k} ∪ {(f_i, W_i)}` decodes `X_{I∖i}` at the same corrected cost. +*Proof.* Write `c_t = a_t f_i + Σ_{j≠k} p_{tj} y_j` (in frame coordinates, `a_t = c_t[i]`). For `t ⊥ f_i` (this includes the frame lines `f_j`, `j ∈ I∖i`): `c_t = π c_t = Σ p_{tj} π y_j`, with the same label conditions. For `t ∈ N(f_i)`: `c_t = π c_t + (⟨c_t,f_i⟩/2) f_i` and `ℓ_t ∈ W_i`, so the new term `(f_i, W_i)` supplies the `f_i`-component. Terms `(f_j, U_j)`, `j ≠ i`, keep `y = f_j` (`π f_j = f_j`) and their corrections. Cost: the term `(f_i, F2⁹)` cost `9 − 1 = 8` and `(f_i, W_i)` costs `8`; the others do not rise. ∎ + +**Theorem A (PROVEN).** Corrected cost `≥ 64 − n_nf` for every `m`, with `n_nf` the number of non-full corrected terms of the *normalised* decoder. *Normalisation:* repeat (i) merge corrected terms with proportional `y` (cost never rises, §3.1) and (ii) apply Lemma P to a full corrected term (corrected cost unchanged) until neither applies. It terminates: each step lowers the pair (#terms, #full corrected terms) lexicographically (a merge lowers #terms; Lemma P removes one corrected term and adds none full) and the corrected cost never rises. Lemma P's projection `π y_j` may create new non-full corrected terms (a projected `y` can become proportional to some `f_l`), so `n_nf` is defined after normalisation, not on the raw decoder. *Proof.* On the normalised decoder every corrected term is non-full and keeps `ε = 1`; the ε-free cost is `≥ 64` (Theorem 1), so corrected cost `= ε-free − n_nf ≥ 64 − n_nf`. ∎ + +**Corollary (main result).** Let `Δ := ε-free cost − 64` after absorption. Then corrected cost `= 64 + Δ − n_nf`, and +* `n_nf ≤ 2` ⇒ **corrected cost ≥ 64** (any number of full corrections): `Δ = 0` forces the coordinate decoder (`n_nf = 0`, Theorem U′), `Δ = 1` forces `n_nf ≤ 1` (§5.2), and `Δ ≥ 2` gives `64 + Δ − n_nf ≥ 64` directly when `n_nf ≤ 2`. In other words `Δ ≥ n_nf` whenever `n_nf ≤ 2`. +* `n_nf ≥ 2` ⇒ `Δ ≥ 2` (since `Δ ≤ 1 ⇒ n_nf ≤ 1`), so **corrected cost `≥ 66 − n_nf = 64 − (n_nf − 2)`**; with `n_nf ≤ 8`, **corrected cost ≥ 58 always**. + +**Tightness (CHECKED, `rootswap.py`, exact `P·Y = C` over `Q`).** The **root-swap family**: for `J ⊆ [8]` and roots `r_m` with `supp(c_{r_m}) ∩ J = {j_m}`, take the 8 − |J| frame columns `c^{(j)} (j ∉ J)`, the terms `p_{r_m} − p_{r_m}(r_m) δ_{r_m}` (weight 8, flat `W_{r_m} ∋ z_{j_m}`, `y ∝ e_{j_m}`: a non-full corrected term) and the unit terms `δ_{r_m}`. ε-free cost `64 + k`, `k` corrections, **corrected cost exactly 64**, for `k = 1, 2, 3, 4` (the script finds no admissible `J` with `k = 5`). So `Δ ≥ n_nf` is *tight* at `k ≤ 4` and a proof for `n_nf ≥ 3` must be exact on this family. `rootswap_audit.py` independently scans all weight-≤ 8 carriers of a `z_i` (every `t`, every `|Off| ≤ 65` direction, cancelling or generic shift) and finds exactly the root swaps (0 deviations). + +## 7. R4: lift-level form (PROVEN from CHECKED; char 0) + +Let `X_I := P112 ∪ {f_i : i ∈ I}` with `ℓ(f_i) = z_i`, `S ⊇ 𝒞_{X_I}`, `B` a min-weight basis of `S`, `ρ` the restriction to P112, `π_F` the projection to the frame coordinates, `drop(b) := w(b) − w(ρb) ≥ 0`, `D := Σ drop`, `Δ := Σ_b w(ρb) − 64`. A corrected P112 decoder with corrected set `I` is an ε-free decoder of `X_I` of cost `+|I|` (put `z_i` into the corrected term: its rank is unchanged and its `−1` disappears), so **corrected cost `= cost(X_I) − |I|`**. +* **Identity** `cost_w(S) = 64 + Δ + D`; **R1** `Δ ≥ 0` (`ρB` spans `ρS ⊇ 𝒞`, Theorem 1). +* **Frame rank.** `π_F(S) ⊇ π_F(𝒞_{X_I}) = K^I` (as `π_F p_h = (⟨f_i,h⟩)_i`), so `|I| ≤ ρ_0 + |B_+|`, `B_+ := {b : drop ≥ 1}`, `ρ_0 := rank π_F(B_0)`, `B_0 := {b : drop 0, π_F b ≠ 0}`. A member of `B_0` has `ρb ≠ 0` and `z_i ∈ ⟨ℓ(supp ρb)⟩`: it is *z-carrying*. Hence **`cost_w(S) ≥ 64 + |I| + (Δ − ρ_0)` and `≥ 64 + Δ`.** +* **`Δ = 0`:** `ρS = 𝒞` (uniqueness, §5.1) and the `ρb` are the frame codewords, whose flats `W_j` contain no `z` (`β(z_i, z_j) = 1`), so `ρ_0 = 0`. +* **`Δ = 1`:** if `cost_w(ρS) = 64`, the nonzero `ρb` are 7 frame codewords and one weight-9 vector, so `ρ_0 ≤ 1`. If `cost_w(ρS) = 65`, peeling and the cost-65 classification (§5.2) give `d = 0`, `T = ⟨δ_t⟩`, and 8 weight-8 vectors `p_h + λδ_t`: `|Off(h)| ≤ 65`, so ≥ 47 P112 lines are ⊥ `h`, which forces an E7 subsystem (D7 has only 42: `flats_classify.py`), `h` a root or frame direction; frame: flat `W_j ∌ z`; root `r_s`, `s ≠ t`: weight 9 (`coloop2.py`); `r_t` with `t` cancelled: the root swap (unique up to scale). So `ρ_0 ≤ 1`. +* **Conclusion.** `Δ ≤ 1 ⇒ ρ_0 ≤ Δ ⇒ cost_w ≥ 64 + |I|`; `Δ ≥ 2 ⇒ cost_w ≥ 64 + Δ ≥ 66`, and `≥ 64 + |I|` if `|I| ≤ 2` (`ρ_0 ≤ |I|`). Therefore **`cost_w(S) ≥ 64 + min(|I|, 2)` for every `I` and every `S ⊇ 𝒞_{X_I}`**, and `≥ 64 + |I|` unless `Δ ≥ 2` and `ρ_0 > Δ`. Corrected P112 cost `≥ 64 − max(0, |I| − 2)`. +* **E8 (`I = [8]`):** every lift of the E8 root code has `cost_w ≥ 66`, and `≥ 72` unless the P112 restriction has excess `Δ ≥ 2`. (Consistent with the decoder-level `≥ 58 + 8`.) +This is the lift-level twin of the decoder-level corollary; the two routes (SMALL2: exchange + uniqueness; OS-CHARGE2: charging + frame rank) agree on `n_nf ≤ 2`. The same open residue appears in both: `Δ ≥ 2` with `ρ_0 > Δ`, i.e. ≥ 3 z-carrying restricted basis vectors with independent frame parts. + +## 8. R5: Lemma N and the Pencil Lemma + +**Lemma N (CHECKED).** For every 7-dimensional label subspace `F` (43,435 of them) and every set `L` of ≤ 4 P112 lines, at most **2** directions `h ≠ 0` have `rank ℓ(Off(h) ∖ F ∖ L) ≤ 7`. +*Completeness of the direction list (PROVEN from C3 + computation).* A qualifying `h` has `|Off(h)| ≤ 36 + 36 + |L| ≤ 76` (a 7-dim label subspace holds ≤ 36 lines), so ≥ 36 P112 lines are ⊥ `h`; `h^⊥ ∩ E8` is a flat of rank ≤ 7 with ≥ 36 lines: by `flats_classify.py` (C3) it is E7 (63), D7 (42), E6+A1 (37) or E6 (36). Rank 7: `h` is the primitive normal, a lattice vector of norm 2, 4 or 6 (determinant of the standard parabolic: `det = 2, 4, 6`), enumerated by `gen_targets.py` / `gen_t3.py` (counts 120 / 1080 / 3360 directions, matching `|W|/(2|W_J|)`); E6: an A2-pencil, and every one of the 1120 E6 flats contains ≥ 2 frame lines (`flats_classify.py`), so `|Off| ≥ 78`. Values found: root 53, frame 56, D7 70/73/76, E6+A1 ≥ 77: `targets76.txt` (1200 directions) is complete for `|Off| ≤ 76` (CHECKED: `gen_t3.py`; `lnprep.py` regenerates the same 1200 directions independently). +*Counts.* `ncount.c` (|L| = 1, exact, per `(F,t)`): max 2. `ncount2.c` (|L| = 2, exact, per `(F,pair)`): max 2. `mu76.c` (|L| ≤ 4: upper bound `#{h : some X, |X| ≤ 4, with Off(h)∖F∖X inside a 7-dim subspace}`): max 2. **Independent implementation** `lemmaN.c` (own direction list from `lnprep.py`, own minimal-exception-set bookkeeping, triple test): `F checked 43435, max active per F 2, violations 0`. Stronger form checked: the exceptional set `L` may be chosen separately for each direction. + +**Pencil Lemma (PROVEN from Lemma N + circuit lemma).** `T` with min basis `q_1..q_a` (weights ≤ 7), `D = 𝒞 ∩ T` of dimension `d ≥ 1`, `λ: T → T/D ≅ K^e`, `e = a − d`; every `λ_j ≠ 0`. If `e − 1` pieces `A` have total support `L` with `|L| ≤ 4`, then `d ≤ 2`. +*Proof.* (1) `λ(A)` is independent: a dependency inside `A` is a codeword with `Off ⊆ L`, but `|Off| ≥ 53`. (2) `λ_x ∉ span λ(A)` for a piece `x ∉ A`: else `Off(h) ⊆ F_x ∪ L`, ≤ 40 < 53 lines. So `B = A ∪ {x}` is a basis of `K^e`. (3) For `y ∉ B` the fundamental circuit `C_y` contains `y` and `x` (else `Off ⊆ F_y ∪ L`, ≤ 40 lines); distinct `y` give distinct directions `h_y` with `Off(h_y) ∖ F_x ∖ L ⊆ F_y` of rank ≤ 7; by Lemma N at most 2 such directions exist. A piece `y` parallel to `x` also gives a circuit `{x,y}`, so all `d` non-anchor pieces other than `x` are counted: `d ≤ 2`. ∎ (Audited step by step; the Lemma N form used holds with a separate `L` per direction, which `lemmaN.c` checks.) + +## 9. What remains OPEN (exactly) + +1. **`Δ ≥ n_nf` for `n_nf ≥ 3`** (decoder level) and **`ρ_0 ≤ Δ` for `|I| ≥ 3` with `Δ ≥ 2`** (lift level). At `n_nf = 3` the reduction (OS-CHARGE2 §5 / SMALL2 §10, summarised in §6–7) leaves exactly the **six `d = 8` multisets** `[7^5,6^5,1]`, `[7^6,6^4]`, `[7^8,5,4,1]`, `[7^8,5,5]`, `[7^8,6,3,1]`, `[7^8,6,4]` The `d = 0` cases at `Δ = 2` are closed (SMALL2 §10: `T = ⟨δ_t, δ_u⟩` or one 2-piece on `{t,u}`, weight-8 columns are root swaps at `t`, `u` only, so at most 2 root swaps: `n_nf ≤ 2`; the `d = 0, Δ = 1` and `(δ,slack,c_8)` cases with `S = 𝒞` give `n_nf ≤ 1`); the `d = 4..7` cases die by LP + Pencil + triple rule (`land.py`). The remaining multisets are reproduced by `c66.py` and `land.py`; none has `e − 1` anchors on ≤ 4 lines, anchor sizes 5–12 lines; Lemma N would have to be extended to targets with `|Off| ≤ 84`, including E6 pencils where infinitely many directions share an `Off` set, each pencil counting at most 2). Another card of the author (SIX) works on them; no result of it is used or claimed here. +2. Two-sided decoders; case (c); other units; positive characteristic. +3. A proof that the cost-66 survivors do not occur gives `n_nf ≤ 3` ⇒ corrected cost ≥ 64; the root-swap family shows the inequality `Δ ≥ n_nf` cannot be improved beyond that. + +## 10. Reproduction + +`bash verify.sh [outdir]` (Python ≥ 3.11 with numpy, scipy, sympy; `cc`; two parallel streams, `nice 10`; about 12–15 minutes). Step 0 checks `MANIFEST.sha256`; the computations write one log per check; `checks/check_logs.py` turns every assertion of this file into a `PASS`/`FAIL` line. + +| Claim | Script(s) | Assertion in `check_logs.py` | +|---|---|---| +| labels, pairing shape, `κ`-formula | `chk1.py`, `dump.py` (regenerates `data/data.json`) | `dump`, `chk1` | +| weight-8 hyperplanes `W_i` (Lemma 3.1) | `w8.py` | `w8` | +| `g(5..8)` | `g78.py`, `gsmall.py` | `g78`, `gsmall` | +| `N_u`; flats with ≥ 36 lines; E6 flats hold ≥ 2 frame lines | `flats_classify.py` | `flats_classify` | +| direction lists (`|Off| ≤ 73`, `≤ 76`) | `gen_targets.py`, `gen_t3.py`, `lnprep.py` | `gen_targets`, `gen_t3` | +| cover facts (14 / none / 15 / no 3-cover ≤ dim 6), capacities, 70-line targets | `cover.py` (~5 min), `cover761.py`, `symcheck.py`, `cover6.py`, `gT.py`, `d7.py` | `cover`, `cover761`, `symcheck`, `gT`, `d7`, `cover6` | +| DP and enumeration | `dp3.py`, `enum.py` | `dp3`, `enum` | +| LP certificates (exact integer / exact rational) | `lp2.py`, `lp3.py`, `symlp.py` | `lp3`, `symlp` | +| Theorem U′, cost 65 / 66 inputs | `eq.py`, `eq2.py`, `land.py`, `c65.py`, `c66.py`, `coloop.py`, `coloop2.py` | `eq`, `eq2`, `land`, `c65`, `c66`, `coloop`, `coloop2` | +| root-swap family and audit | `rootswap.py` (sympy, exact), `rootswap_audit.py` | `rootswap`, `rootswap_audit` | +| Lemma N | `ncount.c`, `ncount2.c` (~4 min), `mu76.c`, `lnprep.py` + `lemmaN.c` | `ncount`, `ncount2`, `mu76`, `lemmaN` | + +`evidence/logs/` holds the logs of the run recorded at packaging time from a fresh `git archive` export (RECORDED; `verify.sh` regenerates them): **34 PASS / 0 FAIL in 714 s** (two processes, `nice 10`; `verify_run.log.txt`, `times.out.txt`). `SOURCES.json` pins every script to its working-card source. +**Caveats.** The finite inputs are exact (integer / `Fraction` / bitmask arithmetic; floats appear only in the unrepaired LP values, whose bounds are re-derived in exact arithmetic by `lp3.py` and `symlp.py`); the written proofs are not machine-checked (no Lean/DRAT). The proofs above were re-derived by a second, independent AI reviewer and key claims are checked by two implementations (LP: `lp3` vs `symlp`; Lemma N: `mu76` vs `lemmaN`; root swaps: `rootswap` vs `rootswap_audit`); no human review is claimed. diff --git a/research/one-sided-decoders-all-m/SOURCES.json b/research/one-sided-decoders-all-m/SOURCES.json new file mode 100644 index 0000000000..54a4988c4c --- /dev/null +++ b/research/one-sided-decoders-all-m/SOURCES.json @@ -0,0 +1,243 @@ +{ + "description": "Pins for research/one-sided-decoders-all-m. copies = shipped file and the working-card file it was copied from (sha256 of both). Differences: removed absolute sys.path inserts and venv paths, oscommon.py loads the frame from data/p104_frames.json, eq/eq2/land run enum.py from the work directory, rootswap.py has an extra k=3..5 loop, rootswap_audit.py reads data.json from the work directory. checks/lib.py, common2.py, frames_data.py, manifest_check.py are copies from research/nine-term-outside-colspace. External: none pinned; predecessor PRs are cited from their statements. New in the audit round (no working-card source): checks/cover761.py (auditor's aud761.py with a summary line), checks/symcheck.py.", + "copies": [ + { + "path": "checks/base.py", + "source": "W/cards/OS-CHARGE/base.py", + "sha256": "47afd43239a3870b561bdb9cdca5183a7a29101a7b4ce113bed1695bd1ccd0f3", + "source_sha256": "07a1c5e299408140434c10c2ee88732d25f3a28b0e7b4ad03c81848588984423", + "identical": false + }, + { + "path": "checks/dp3.py", + "source": "W/cards/OS-CHARGE/dp3.py", + "sha256": "4e56a89b6f25c17afec0a718420814d92b9d5e85d1a60ac48829b1415cb0fed0", + "source_sha256": "4e56a89b6f25c17afec0a718420814d92b9d5e85d1a60ac48829b1415cb0fed0", + "identical": true + }, + { + "path": "checks/enum.py", + "source": "W/cards/OS-CHARGE/enum.py", + "sha256": "4b5bb1f8601bb3427448c6e515424bd95d094b3ce1711b65c9dca259d787d519", + "source_sha256": "4b5bb1f8601bb3427448c6e515424bd95d094b3ce1711b65c9dca259d787d519", + "identical": true + }, + { + "path": "checks/w8.py", + "source": "W/cards/OS-CHARGE/w8.py", + "sha256": "b3ab00addcf343889071cd9e4415c0811bbd5b33d0c773abe2b36bfa7014c397", + "source_sha256": "b3ab00addcf343889071cd9e4415c0811bbd5b33d0c773abe2b36bfa7014c397", + "identical": true + }, + { + "path": "checks/chk1.py", + "source": "W/cards/OS-CHARGE/chk1.py", + "sha256": "3d6089696bbeda4519af029e3becff35d3bb654a053d147299b7f8686f8a69b0", + "source_sha256": "3d6089696bbeda4519af029e3becff35d3bb654a053d147299b7f8686f8a69b0", + "identical": true + }, + { + "path": "checks/gsmall.py", + "source": "W/cards/OS-CHARGE/gsmall.py", + "sha256": "2659d28072afb57b251429887036e84510299b792c87447bd80ba45613db9d09", + "source_sha256": "2659d28072afb57b251429887036e84510299b792c87447bd80ba45613db9d09", + "identical": true + }, + { + "path": "checks/cover.py", + "source": "W/cards/OS-CHARGE/cover.py", + "sha256": "4f5fb39a61146d8f758fa10bd011a93573b33a41d109ceee8f7369a19c1a92b4", + "source_sha256": "4f5fb39a61146d8f758fa10bd011a93573b33a41d109ceee8f7369a19c1a92b4", + "identical": true + }, + { + "path": "checks/cover6.py", + "source": "W/cards/OS-CHARGE/cover6.py", + "sha256": "a9121141b9cdc2d6dfd13dd7c10331324fcc52e7664573111d874e75aa13d6e7", + "source_sha256": "a9121141b9cdc2d6dfd13dd7c10331324fcc52e7664573111d874e75aa13d6e7", + "identical": true + }, + { + "path": "checks/gT.py", + "source": "W/cards/OS-CHARGE/gT.py", + "sha256": "42b32c24533eee648d8abffc7ea99483aedd54fdc6b490ee45b53d3e04eea5ba", + "source_sha256": "42b32c24533eee648d8abffc7ea99483aedd54fdc6b490ee45b53d3e04eea5ba", + "identical": true + }, + { + "path": "checks/d7.py", + "source": "W/cards/OS-CHARGE/d7.py", + "sha256": "aa7294b18e2286ed32c286a060334774f5d79967ebc03ace00c1e622b8ee10db", + "source_sha256": "aa7294b18e2286ed32c286a060334774f5d79967ebc03ace00c1e622b8ee10db", + "identical": true + }, + { + "path": "checks/lp2.py", + "source": "W/cards/OS-CHARGE/helper/lp2.py", + "sha256": "30bfc46529afd7be9a21b6d2e7b1ce4de68d88028c632ca1c81432c6b81eb4b4", + "source_sha256": "30bfc46529afd7be9a21b6d2e7b1ce4de68d88028c632ca1c81432c6b81eb4b4", + "identical": true + }, + { + "path": "checks/lp3.py", + "source": "W/cards/OS-CHARGE/helper/lp3.py", + "sha256": "f6a0f0aa51171b828f5fc35a21703863a2d091d15f9f82d11650d5952391190d", + "source_sha256": "f6a0f0aa51171b828f5fc35a21703863a2d091d15f9f82d11650d5952391190d", + "identical": true + }, + { + "path": "checks/oscommon.py", + "source": "W/cards/OS-SPARSE/oscommon.py", + "sha256": "29095863a00e2fb662c46b449f7b454dd9aac04ddc2ba0aab87277d95a7bd5a1", + "source_sha256": "9a0a14243953f7bcbf6c7787fc98ad9c19b62f1c762e2b82e1a1cfc06e57c3f6", + "identical": false + }, + { + "path": "checks/symlp.py", + "source": "W/cards/OS-CHARGE2/symlp.py", + "sha256": "8b4bcfa654f019c6500a5778acbf8011f23103a78e82c252dc64b9491928f477", + "source_sha256": "8b4bcfa654f019c6500a5778acbf8011f23103a78e82c252dc64b9491928f477", + "identical": true + }, + { + "path": "checks/dpX.py", + "source": "W/cards/OS-CHARGE2/dpX.py", + "sha256": "5efbcae78dd105bc18c2418a49af74b5696db0e4c46882ba51ca32399dec299d", + "source_sha256": "5efbcae78dd105bc18c2418a49af74b5696db0e4c46882ba51ca32399dec299d", + "identical": true + }, + { + "path": "checks/c65.py", + "source": "W/cards/OS-CHARGE2/c65.py", + "sha256": "a15b262a443d4177d8849a99d5a2a2b29a9cd36a0ba448274da34f428e38a3a3", + "source_sha256": "a15b262a443d4177d8849a99d5a2a2b29a9cd36a0ba448274da34f428e38a3a3", + "identical": true + }, + { + "path": "checks/c66.py", + "source": "W/cards/OS-CHARGE2/c66.py", + "sha256": "2facd8c78fe87c8a26bcda0e94187970165f5f36be014ca74a135d953c00ce3c", + "source_sha256": "2facd8c78fe87c8a26bcda0e94187970165f5f36be014ca74a135d953c00ce3c", + "identical": true + }, + { + "path": "checks/coloop2.py", + "source": "W/cards/OS-CHARGE2/coloop2.py", + "sha256": "9a5db24310b1314f2fbf35d04dc3abab4fc176941fc3e23ff0a21890c3d7d3f1", + "source_sha256": "9a5db24310b1314f2fbf35d04dc3abab4fc176941fc3e23ff0a21890c3d7d3f1", + "identical": true + }, + { + "path": "checks/lnprep.py", + "source": "W/cards/OS-CHARGE2/lnprep.py", + "sha256": "10731209ff2c08055fecb3c3c882c3ec0294348d4fefdf057e124f1a577ca9a4", + "source_sha256": "10731209ff2c08055fecb3c3c882c3ec0294348d4fefdf057e124f1a577ca9a4", + "identical": true + }, + { + "path": "checks/dump.py", + "source": "W/cards/OS-CHARGE2/dump.py", + "sha256": "1150ae9eed3ea38781a5634dfa52a85747148b8bce48b07f6e3c5fa8c6be5bd2", + "source_sha256": "c871fc1f3d8361dca64e3de2bea899390a6b101b4e7ebd33fb3c7a605983d3fb", + "identical": false + }, + { + "path": "checks/lemmaN.c", + "source": "W/cards/OS-CHARGE2/lemmaN.c", + "sha256": "2b9dfe552211b5c855788358a7eab77b92ee7d3763bb0eb3e0a282a5be5450c0", + "source_sha256": "2b9dfe552211b5c855788358a7eab77b92ee7d3763bb0eb3e0a282a5be5450c0", + "identical": true + }, + { + "path": "checks/rootswap_audit.py", + "source": "W/cards/OS-CHARGE2/audit/a.py", + "sha256": "0c1fe3019b2ef7db30f15068d294a9eeb902d01d91657702c637ea014dfda1cc", + "source_sha256": "064a29e1321c738b8423d37c30545677105ce4aee33da25fe64bcb5418089bdc", + "identical": false + }, + { + "path": "checks/eq.py", + "source": "W/cards/SMALL2/eq.py", + "sha256": "7d76d41fe8b22591ca805be91489327eb4c3723e97d9a276e3566a4dbe77d476", + "source_sha256": "19ca68d1069b3225206b6bb2f9bf7435cae6d73b63b0719895f0f82205147f98", + "identical": false + }, + { + "path": "checks/eq2.py", + "source": "W/cards/SMALL2/eq2.py", + "sha256": "601a62eb37d77c2c4c66ebcd9582db9e9e00117e68110709a544abca7172b910", + "source_sha256": "07c1c87d42b1f694c92f516f81f068378627f29ca4ad702d3db966a733a71114", + "identical": false + }, + { + "path": "checks/land.py", + "source": "W/cards/SMALL2/land.py", + "sha256": "033a0e49581bfeac083c268db49910ed73ab8e2580e07ceb4aff0965d4810329", + "source_sha256": "bee809136766469db2fb5fd112c7db126255f746c062e1d2962e2597ac50bf78", + "identical": false + }, + { + "path": "checks/rootswap.py", + "source": "W/cards/SMALL2/rootswap.py", + "sha256": "fd8abecc5ff7953bb8d0735d012520d4e74774b734a1f962c5e806def2ff8313", + "source_sha256": "d4f767b7bcce1b2d42dc0421dc7522aa75270d49c4217c59b9bf5bd813b9df8f", + "identical": false + }, + { + "path": "checks/coloop.py", + "source": "W/cards/SMALL2/coloop.py", + "sha256": "eb58509e0c8fc13c851b1bc0d8ca4eb69cd9e0f7e74e4e86d9419de8b3a858dd", + "source_sha256": "5d60ddb77467e7d7a942c1c21ebbdd8e1bc142feb70c538b788d2fa476346c54", + "identical": false + }, + { + "path": "checks/gen_targets.py", + "source": "W/cards/SMALL2/gen_targets.py", + "sha256": "48662498c8dc54901d29131edd2a656121d226afae84648c9e00cc6b894f7437", + "source_sha256": "e46642cdfae97470639cabf4e8b4ec37bb9bff2c20587ec9fc750f595673dcfe", + "identical": false + }, + { + "path": "checks/gen_t3.py", + "source": "W/cards/SMALL2/gen_t3.py", + "sha256": "a4a72c326ca8dea9f453c2f84136650190740b530894cd256fdeab98019de76b", + "source_sha256": "9c38f1635b6c87532a5d16d39ddd0292fd51c9c344e6adcb29dd8710cd6a249a", + "identical": false + }, + { + "path": "checks/ncount.c", + "source": "W/cards/SMALL2/ncount.c", + "sha256": "4cef7955a73f15d1768343ae750bbf88e4bd122ba4294e34c30b5bd3b5211449", + "source_sha256": "4cef7955a73f15d1768343ae750bbf88e4bd122ba4294e34c30b5bd3b5211449", + "identical": true + }, + { + "path": "checks/ncount2.c", + "source": "W/cards/SMALL2/ncount2.c", + "sha256": "850f94bde215ed00a0e301bbbb6830e3c1f78af665051cced9c26d221de0a3af", + "source_sha256": "850f94bde215ed00a0e301bbbb6830e3c1f78af665051cced9c26d221de0a3af", + "identical": true + }, + { + "path": "checks/mu76.c", + "source": "W/cards/SMALL2/mu76.c", + "sha256": "fea77989a033465e97509f2b19d8a4eb073c9c44d4d4576c5b4870e5985239eb", + "source_sha256": "fea77989a033465e97509f2b19d8a4eb073c9c44d4d4576c5b4870e5985239eb", + "identical": true + }, + { + "path": "data/data.json", + "source": "W/cards/OS-CHARGE2/data.json", + "sha256": "8e4b2a306dfe3499b9d2104753a4cb203e14fbfa94fda03f6a415da956ba642b", + "source_sha256": "8e4b2a306dfe3499b9d2104753a4cb203e14fbfa94fda03f6a415da956ba642b", + "identical": true + }, + { + "path": "data/gens.txt", + "source": "W/cards/OS-CHARGE2/gens.txt", + "sha256": "364ab28cd3b51ccc6d9c97d3ff694f4129b0918428d4e87abb89d15afc226f83", + "source_sha256": "364ab28cd3b51ccc6d9c97d3ff694f4129b0918428d4e87abb89d15afc226f83", + "identical": true + } + ] +} \ No newline at end of file diff --git a/research/one-sided-decoders-all-m/checks/base.py b/research/one-sided-decoders-all-m/checks/base.py new file mode 100644 index 0000000000..f90a01ce65 --- /dev/null +++ b/research/one-sided-decoders-all-m/checks/base.py @@ -0,0 +1,22 @@ +# OS-CHARGE base: P112 lines, F0 coords, labels (1, r mod 2), root code. +import sys +from oscommon import * +import numpy as np, itertools +D=load('P112'); L=D['L']; v=D['v']; F0=D['F0'] +E8L=E8 +def f2rank(vs): + return len(span_basis(list(vs))) +# F2 basis of E8/2E8 via 8 roots with nondegenerate Gram mod 2 +def pick_basis(): + import random + rng=random.Random(0) + while True: + bs=rng.sample(E8L,8) + G=np.array([[float(dot(a,b)) for b in bs] for a in bs]) + if abs(abs(np.linalg.det(G))-1)<1e-6: return bs +BAS=pick_basis() +def xbar(r): return sum((int(dot(r,b))&1)<), entries 0,+-1 diff --git a/research/one-sided-decoders-all-m/checks/c65.py b/research/one-sided-decoders-all-m/checks/c65.py new file mode 100644 index 0000000000..14e6ee68bb --- /dev/null +++ b/research/one-sided-decoders-all-m/checks/c65.py @@ -0,0 +1,29 @@ +# lift-level cost-65 classification inputs: d=6,7,8 multisets with cost(T) <= 8d+1 passing DP; LP (quotient) verdict +import sys +sys.argv=['x','0'] +exec(open('dpX.py').read().split("NE8=[0,1,3,6,12,20,36,63]")[0]) +from symlp import lp +NE8=[0,1,3,6,12,20,36,63] +for d in range(1,9): + surv=enum(d,8*d+2,112); need=112-(NE8[8-d] if d<8 else 0) + for wt,ws in surv: + val,bd=lp(Counter(ws),codim=8-d,NL=112) + print(d,wt,ws,round(val,2),'need',need,'KILLED' if bd = ±1 (inner product in F0 coords /2? check) + ip=[int(FC[t]@FC[s]) for t in range(112)] + N=[t for t in range(112) if ip[t] in (2,-2)] + r=f2rank([LAB[t] for t in N]) + for t in N: + if f2rank([LAB[u] for u in N if u!=t])=1 multisets with cost(T) <= 8d+2 passing DP -> LP -> Pencil -> e=2 6-triple rule +import sys +sys.argv=['x','0'] +exec(open('dpX.py').read().split("NE8=[0,1,3,6,12,20,36,63]")[0]) +from symlp import lp +from math import comb +NE8=[0,1,3,6,12,20,36,63] +gg={1:1,2:2,3:4,4:8,5:12,6:20,7:36} +for d in range(1,9): + surv=enum(d,8*d+3,112); need=112-(NE8[8-d] if d<8 else 0) + for wt,ws in surv: + val,bd=lp(Counter(ws),codim=8-d,NL=112) + if bd=3 and Lsz<=4: verdict='PENCIL-KILLED' + elif e==2 and comb(ws.count(6)+sum(1 for w in ws if w<=5),3)>8 and False: verdict='?' + elif e==2 and comb(sum(1 for w in ws if w<=6),3)>8: verdict='E2-TRIPLE-KILLED' + else: verdict='SURVIVES' + print(d,wt,ws,'LP',round(val,2),'e',e,'anchor lines',Lsz,verdict,flush=True) diff --git a/research/one-sided-decoders-all-m/checks/check_logs.py b/research/one-sided-decoders-all-m/checks/check_logs.py new file mode 100644 index 0000000000..11259dbabf --- /dev/null +++ b/research/one-sided-decoders-all-m/checks/check_logs.py @@ -0,0 +1,68 @@ +# Assertions on the logs written by verify.sh. usage: check_logs.py LOGDIR (prints PASS/FAIL lines; exit 1 on any FAIL) +import re, sys, ast, os +D = sys.argv[1]; bad = 0 +def rd(n): + p = os.path.join(D, n + '.log') + return open(p).read() if os.path.exists(p) else None +def ok(name, cond, extra=''): + global bad + print(('PASS ' if cond else 'FAIL ') + name + (' ' + extra if extra else '')); bad += (not cond) +def has(n, *subs): + t = rd(n); return t is not None and all(s in t for s in subs) + +ok('dump: data/data.json regenerated from the geometry (base.py) is byte-identical', has('dump', 'data.json regenerated: identical')) +ok('chk1: labels (1, r mod 2) of rank 9, 112 distinct, kappa formula = oscommon cost', has('chk1', 'rank lab 9 rank mylab 9 rank combined 9', 'distinct labels 112', 'kappa formula ok True')) +t = rd('w8') or '' +zs = re.findall(r'^z (\d+) flat lines 56 compl rank 7 \|Off\(h\)\| 56 Off inside flat True h~f_i \[(\d)\]', t, re.M) +ok('w8: exactly 8 label hyperplanes have complement of real rank <= 7; each is W_i with Off = N(f_i), 56 lines', len(zs) == 8 and sorted(int(b) for _, b in zs) == list(range(8)) and len(re.findall(r'^z ', t, re.M)) == 8) +ok('g78: g(8) = 64, g(7) = 36 over the 43435 seven-dimensional label subspaces', has('g78', 'g78 OK')) +ok('gsmall: g(6) = 20, g(5) = 12 (label-rank maxima {6: 20, 5: 12, 4: 8})', has('gsmall', "{6: 20, 5: 12, 4: 8}", 'g(5)= 12')) +ok('flats_classify: N_u = 1,3,6,12,20,36,63; flats with >= 36 lines are E7/D7/E6+A1/E6; every E6 flat holds >= 2 frame lines', has('flats_classify', 'flats_classify OK')) +ok('gen_targets: |Off(h)| <= 73 directions: 112 roots (53), 8 frame (56), 128 x 70, 896 x 73', has('gen_targets', "Counter({(4, 73): 896, (4, 70): 128, (2, 53): 112, (2, 56): 8})")) +ok('gen_t3: complete list of 1200 directions with |Off| <= 76; the norm-6 (E6+A1) directions have |Off| >= 77', has('gen_t3_76', '(4, 42, 76) 56', '(6, 37, 77) 2688', '\n1200\n') and min(int(x) for x in re.findall(r'\(6, 37, (\d+)\)', rd('gen_t3_76'))) == 77) +ok('cover: min cover of N(f_i) by two 7-flats = 14; Off(r) has no pair cover; best <=3-cover of Off(r) has weight 15', has('cover', 'N(f0) |T| 56 best pair cover 14', 'Off(r0) |T| 53 best pair cover 99', 'Off(r0) best <=3-cover 15')) +ok('symcheck: line symmetries are label-linear and transitive on the 112 roots and the 8 frame targets (one root target / one frame target suffice for cover facts)', has('symcheck', 'symcheck OK')) +ok('cover761: for all 112 roots the weight-14 shape (7,6,1) leaves >= 9 lines of Off(r) uncovered (so W >= 15 for any cover with >= 3 pieces)', has('cover761', 'Counter({(3, 48, 9): 112})', 'minimum uncovered lines over (7,6) pairs: 9')) +t = rd('gT') or '' +G = {n: ast.literal_eval(re.search(r"%s \d+ (\{.*\})" % re.escape(n), t).group(1)) for n in ('N(f0)', 'Off(r0)')} if t else {} +ok('gT: in-target capacities G(w) of 7-/6-flats are <= (32, 20) and G(w) <= (1,2,4,8,12,20,32) elementwise', bool(G) and all(G[n][7] == 32 and G[n][6] == 20 and all(G[n][w] <= [0, 1, 2, 4, 8, 12, 20, 32][w] for w in range(1, 8)) for n in G)) +ok('d7: the 70-line Off sets of the 1080 norm-4 directions are not covered by two 7-flats', has('d7', '70-line Off sets pair-coverable: 0', 'Counter({73: 896, 70: 128, 76: 56})')) +ok('cover6: three (dim <= 6) flats cannot cover Off(r); they can cover N(f_i) (6,6,6)', has('cover6', 'Off(r0) 3-cover by dim<=6 exists: False', 'N(f0) 3-cover by dim<=6 exists: True')) +dp = [int(x) for x in re.findall(r'eps-free d \d DP \[(\d+),', rd('dp3') or '')] +ok('dp3: DP minima of cost(T) for d = 1..8 are 14,22,29,36,42,48,55,61 (need 8d = 8,..,64)', dp == [14, 22, 29, 36, 42, 48, 55, 61], str(dp)) +en = {d: rd('enum_%d' % d) or '' for d in range(1, 9)} +ok('enum: multisets of cost(T) < 8d passing the DP rules: none for d <= 6, one for d = 7 ([7,6^8], 55), seven for d = 8', all(en[d].startswith('0 multisets') for d in range(1, 7)) and en[7].startswith('1 multisets') and '(55, [7, 6, 6, 6, 6, 6, 6, 6, 6])' in en[7] and en[8].startswith('7 multisets')) +lp3 = [ast.literal_eval(l.split('] ', 1)[1].replace('np.True_', 'True')) if l.startswith('[') else None for l in (rd('lp3') or '').splitlines()] +lp3d7 = [l for l in (rd('lp3') or '').splitlines() if l.startswith('d=7')] +r8 = [x for x in lp3 if x] +ok('lp3: 7 (d=8) exact INTEGER dual certificates (A^T y >= 1 in exact int arithmetic), bounds < 112', len(r8) == 7 and all(x[1] is True and x[2] < 112 for x in r8), str([round(x[2], 2) for x in r8])) +ok('lp3: d = 7 certificate, bound < 111', len(lp3d7) == 1 and 'True' in lp3d7[0] and float(lp3d7[0].split(', ')[2]) < 111) +t = rd('symlp') or '' +fr = re.findall(r'Fraction\((\d+), (\d+)\)', t) +ok('symlp (independent symmetrised LP, exact rational repaired dual): 7 d=8 bounds < 112, d=7 bound < 111; controls [8]^8 give exactly 112', + len(fr) >= 10 and all(int(a) / int(b) < 112 for a, b in fr[:7]) and int(fr[7][0]) / int(fr[7][1]) < 111 and 'CONTROL [8]^8 d=8: (112.0, Fraction(112, 1))' in t and 'CONTROL [8]^8 d=7 (need 111): (112.0, Fraction(112, 1))' in t) +t = rd('eq') or '' +surv = [ast.literal_eval(re.search(r'(\[.*?\])', l).group(1)) for l in t.splitlines() if l.endswith('SURVIVES')] +ok('eq (Theorem U-prime inputs): cost(T) = 8d exactly: d = 6,7 fully killed by the quotient LP; d = 8 leaves exactly [7^9,1], [7^8,6,2], [7^8,6,1,1]', len(t.splitlines()) == 21 and sorted(surv) == sorted([[7]*8+[6, 1, 1], [7]*8+[6, 2], [7]*9+[1]]) and t.count('KILLED') == 18) +t = rd('eq2') or '' +ok('eq2: slack 0 survivors: none for d = 6, 7; the same 3 for d = 8', 'd 6 slack 0 multisets 1 LP-survivors 0' in t and 'd 7 slack 0 multisets 2 LP-survivors 0' in t and 'd 8 slack 0 multisets 18 LP-survivors 3' in t) +t = rd('land') or '' +sv = [(l.split()[1], l.split()[3]) for l in t.splitlines() if "'SURV': 0" not in l] +ok('land: after LP + Pencil + e=2 triple rule, slack <= 2 leaves survivors only at d = 8, slack 2 (the six multisets)', len(t.splitlines()) == 24 and sv == [('8', '2')] and "'SURV': 6" in t) +t = rd('c65') or '' +sv = [ast.literal_eval(re.search(r'(\[.*?\])', l).group(1)) for l in t.splitlines() if l.endswith('SURVIVES')] +ok('c65: cost(T) <= 8d+1: LP-survivors are the 7^k + small multisets (d = 7: 3, d = 8: 8) and [7^5,6^5]; N(r) has no coloops', len(sv) == 12 and sum(1 for s in sv if s.count(7) < 7) == 1 and [7]*5+[6]*5 in sv and 'coloops found 0' in t) +t = rd('c66') or '' +six = sorted(ast.literal_eval(re.search(r'(\[.*?\])', l).group(1)) for l in t.splitlines() if l.endswith('SURVIVES')) +want = sorted([[7]*5+[6]*5+[1], [7]*6+[6]*4, [7]*8+[5, 4, 1], [7]*8+[5, 5], [7]*8+[6, 3, 1], [7]*8+[6, 4]]) +ok('c66: cost(T) <= 8d+2: after LP, Pencil, e=2 triple rule exactly the SIX d = 8 multisets survive', six == want) +ok('coloop: rank <= 8 targets = the 8 frame targets; for the 112 root targets exactly one coloop each', has('coloop', 'rank<=8 targets (frame): 8 root-coloop pairs: 112 other: 0')) +ok('coloop2: N(r) minus any <= 3 lines still has label rank 8', has('coloop2', 'N size 52', 'min rank of N(r) minus <=3 lines: 8')) +t = rd('rootswap') or '' +ok('rootswap: root-swap family, exact P Y = C: eps-free 64+k, k corrections, corrected cost 64 for k = 1..4; pair-coloop fact', 'root targets: pairs dropping rank without the coloop: 0' in t and all(('eps-free %d corrections %d corrected cost 64' % (64 + k, k)) in t for k in (1, 2, 3, 4))) +ok('rootswap_audit: independent scan: weight-<=8 carriers of a z_i are exactly the root swaps', has('rootswap_audit', 't with deviations 0', "('r', 8, True): 112")) +ok('lemmaN (independent C implementation, 1200 directions from lnprep): max 2 active directions per 7-flat, 0 violations', has('lemmaN', '7-flats 43435 dirs 1200', 'F checked 43435', 'max active per F 2, violations 0')) +ok('ncount (|L| = 1, exact): max N = 2', has('ncount', 'max N = 2')) +ok('ncount2 (|L| = 2, exact): max N2 = 2', has('ncount2', 'max N2 = 2')) +ok('mu76 (|L| <= 4, upper bound over all removal sets): max UB = 2 for k = 0..4', all(('k=%d max UB=2' % k) in (rd('mu76') or '') for k in range(5))) +sys.exit(1 if bad else 0) diff --git a/research/one-sided-decoders-all-m/checks/chk1.py b/research/one-sided-decoders-all-m/checks/chk1.py new file mode 100644 index 0000000000..dc38a211c4 --- /dev/null +++ b/research/one-sided-decoders-all-m/checks/chk1.py @@ -0,0 +1,19 @@ +from base import * +# linear iso between oscommon labels and mylab: combined rank 9 +comb=[D['lab'][t] | (LAB[t]<<16) for t in range(v)] +print('rank lab',f2rank(D['lab']),'rank mylab',f2rank(LAB),'rank combined',f2rank(comb)) +print('distinct labels',len(set(LAB))) +print('FC row supports',set(int((FC[t]!=0).sum()) for t in range(v))) +# kappa check: KA for f_i equals mylab(f_i) under iso -> test via term_cost equivalence on random sets +import random +random.seed(1) +def cost_my(R,i=None): + bs=span_basis([LAB[t] for t in R]); c=len(bs) + if i is not None and in_span(bs,Z[i]): c-=1 + return c +ok=True +for trial in range(300): + i=random.randrange(8); R=random.sample(range(v),random.randint(1,12)) + K=KA(D,F0[i]) + if term_cost(D,R,K)!=cost_my(R,i): ok=False;print('mismatch',i,R);break +print('kappa formula ok',ok) diff --git a/research/one-sided-decoders-all-m/checks/coloop.py b/research/one-sided-decoders-all-m/checks/coloop.py new file mode 100644 index 0000000000..ad7b9f3d1f --- /dev/null +++ b/research/one-sided-decoders-all-m/checks/coloop.py @@ -0,0 +1,14 @@ +# which (h, t) have rank lab(Off(h)\{t}) <= 8 with |Off(h)| <= 65 (only f/root targets qualify)? expect: h=f_i (any t), h=root t (t=r). +import sys +from base import * +T=[list(map(int,l.split())) for l in open('targets.txt') if l.strip()] +bad=0; fr=0; rt=0 +for off in T: + r=f2rank([LAB[t] for t in off]) + if r<=8: fr+=1; continue + for t in off: + if f2rank([LAB[u] for u in off if u!=t])<=8: + # check t is the root of this target: Off(r)=N(r)∪{r} => target size 53 and t has max ||? record + if len(off)==53: rt+=1 + else: bad+=1 +print('rank<=8 targets (frame):',fr,' root-coloop pairs:',rt,' other:',bad) diff --git a/research/one-sided-decoders-all-m/checks/coloop2.py b/research/one-sided-decoders-all-m/checks/coloop2.py new file mode 100644 index 0000000000..36b89e43f4 --- /dev/null +++ b/research/one-sided-decoders-all-m/checks/coloop2.py @@ -0,0 +1,17 @@ +import json, numpy as np, itertools +D=json.load(open('data.json')); FC=np.array(D['FC']); LAB=D['LAB'] +def f2rank(vs): + b=[] + for x in vs: + for y in b: x=min(x,x^y) + if x: b.append(x) + return len(b) +worst=9 +for s in range(112): + ip=FC@FC[s]; N=[t for t in range(112) if abs(ip[t])==2] + for k in (2,3): + for rem in itertools.combinations(N,k): + r=f2rank([LAB[u] for u in N if u not in rem]) + if r<8: print('drop',s,rem,r); worst=min(worst,r) + if s==0: print('N size',len(N)) +print('min rank of N(r) minus <=3 lines:',worst if worst<9 else 8) diff --git a/research/one-sided-decoders-all-m/checks/common2.py b/research/one-sided-decoders-all-m/checks/common2.py new file mode 100644 index 0000000000..b0c90e7345 --- /dev/null +++ b/research/one-sided-decoders-all-m/checks/common2.py @@ -0,0 +1,19 @@ +import sys +from lib import lines, dn, dot, e8_roots +from fractions import Fraction as Fr +def orth_sub(L,vs): return [r for r in L if all(dot(r,x)==0 for x in vs)] +def rank_f2(rows): + basis=[] + for r in rows: + x=r + for b in basis: x=min(x,x^b) + if x: basis.append(x) + return len(basis) +E8=lines(e8_roots()); r0=E8[0]; r1=next(r for r in E8 if dot(r,r0) in (1,-1)) +E7=orth_sub(E8,[r0]); E6=orth_sub(E8,[r0,r1]); D5=lines(dn(5)); D4=lines(dn(4)); D6=lines(dn(6)) +def Gmat(L): return [[int(dot(a,b)) for b in L] for a in L] +def B0rows(L): + G=Gmat(L); v=len(L) + return [sum((1<>s&1) for t in R]) diff --git a/research/one-sided-decoders-all-m/checks/cover.py b/research/one-sided-decoders-all-m/checks/cover.py new file mode 100644 index 0000000000..2c6887e7f4 --- /dev/null +++ b/research/one-sided-decoders-all-m/checks/cover.py @@ -0,0 +1,63 @@ +# exact min weight cover of target line sets by label flats of dim<=7 (pairs/triples search) +from base import * +par=lambda x: bin(x).count('1')&1 +mask={z:sum(1<>t&1]) +# all 7-flat line sets (codim 2) and 6-flat line sets (codim 3) with >=8 lines; keep (lines, dim=rank) +F7=set() +for a in range(1,512): + for b in range(a+1,512): + m=mask[a]&mask[b] + if pc(m)>=4: F7.add(m) +F7=list(F7) +F7r=[(m,rk(m)) for m in F7] +print('7-flats',len(F7),flush=True) +Lnp=np.array([[float(c) for c in r] for r in L]) +def off(h): return sum(1<1e-9) +targets={'N(f0)':off(np.array([float(c) for c in F0[0]])),'Off(r0)':off(Lnp[0])} +for name,T in targets.items(): + # restrict flats to T, keep maximal pieces: piece = flat ∩ T, weight = rank of labels(flat∩T) + pieces={} + for m,r in F7r: + x=m&T + if pc(x)<4: continue + w=rk(x) + if x not in pieces or pieces[x]>w: pieces[x]=w + P=sorted(pieces.items(),key=lambda kv:-pc(kv[0])) + best=99 + big=[(x,w) for x,w in P if pc(x)>=17] + for i,(x,w) in enumerate(big): + rest=T&~x + for y,w2 in P: + if w+w2>=best: continue + if rest&~y==0: best=w+w2; print(name,'pair',w,w2,pc(x),pc(y),flush=True) + print(name,'|T|',pc(T),'best pair cover',best,flush=True) +# triple cover for Off(r0) +T=targets['Off(r0)'] +pieces={} +for m,r in F7r: + x=m&T + if pc(x)<2: continue + w=rk(x) + if x not in pieces or pieces[x]>w: pieces[x]=w +# add singletons / small +for t in range(v): + if T>>t&1: pieces.setdefault(1<=best: continue + r2=r1&~y + if pc(r2)> pc(y): continue + if r2==0: best=w+w2; print('pair!',w,w2); continue + # need third piece covering r2 + for z,w3 in P: + if w+w2+w3>=best: continue + if r2&~z==0: best=w+w2+w3; print('triple',w,w2,w3,pc(x),pc(y),pc(z),flush=True); break +print('Off(r0) best <=3-cover',best) diff --git a/research/one-sided-decoders-all-m/checks/cover6.py b/research/one-sided-decoders-all-m/checks/cover6.py new file mode 100644 index 0000000000..b3f4a4f9f3 --- /dev/null +++ b/research/one-sided-decoders-all-m/checks/cover6.py @@ -0,0 +1,46 @@ +# can targets N(f0), Off(r0) be covered by flats of dim<=6 using few pieces? exact search of minimal weight with pieces dim<=6 +from base import * +par=lambda x: bin(x).count('1')&1 +mask={z:sum(1<>t&1]) +Lnp=np.array([[float(c) for c in r] for r in L]) +def off(h): return sum(1<1e-9) +targets={'N(f0)':off(np.array([float(c) for c in F0[0]])),'Off(r0)':off(Lnp[0])} +F6=set() +for a in range(1,512): + for b in range(a+1,512): + mab=mask[a]&mask[b] + if pc(mab)<6: continue + for c in range(b+1,512): + if c==a^b: continue + m=mab&mask[c] + if pc(m)>=6: F6.add(m) +print('6-flats',len(F6),flush=True) +for name,T in targets.items(): + P={} + for m in F6: + x=m&T + if pc(x)>=6: + P[x]=min(P.get(x,9),rk(x)) + P=sorted(P.items(),key=lambda kv:-pc(kv[0])) + print(name,'pieces',len(P),'max',pc(P[0][0]),flush=True) + sizes=[pc(x) for x,_ in P] + # 3-cover by dim<=6 pieces + found=0 + for i,(x,w) in enumerate(P): + if pc(x)*3pc(y): + if pc(y)*2= 32 target lines; (7-flat, 6-flat) pairs enumerated from all label subspaces. +from base import * +par=lambda x: bin(x).count('1')&1 +mask={z:sum(1<1e-9) +res={} +for ri in range(v): + T=off(Lnp[ri]) + if pc(T)!=53: continue + X=set(); Y=set() + for a in range(1,512): + ma=mask[a]&T + if pc(ma)<20: continue + for b in range(a+1,512): + mab=ma&mask[b] + if pc(mab)<20: continue + if (a^b)>b: X.add(mab) # 7-dim subspace (each once) + for c in range(b+1,512): + if c==a^b: continue + m=mab&mask[c] + if pc(m)>=20: Y.add(m) + X=[x for x in X if pc(x)>=32-0] # need |X|+|Y|>=52 with |Y|<=20 + best=min((pc(T&~(x|y)) for x in X for y in Y), default=99) + res[ri]=(len(X),len(Y),best) + +from collections import Counter; print(Counter(res.values())) +print('cover761: all', len(res), 'roots; minimum uncovered lines over (7,6) pairs:', min(b for _,_,b in res.values())) diff --git a/research/one-sided-decoders-all-m/checks/d7.py b/research/one-sided-decoders-all-m/checks/d7.py new file mode 100644 index 0000000000..8ae818878e --- /dev/null +++ b/research/one-sided-decoders-all-m/checks/d7.py @@ -0,0 +1,36 @@ +# D7-type hyperplanes (normal = norm-4 E8 vector): P112 Off sizes; pair-coverable by two 7-flats? +from base import * +import itertools +E8r=[np.array([float(c) for c in r]) for r in E8L] +allr=E8r+[-r for r in E8r] +n4=set() +for a,b in itertools.combinations(range(len(allr)),2): + s=allr[a]+allr[b] + if abs(s@s-4)<1e-9: + k=tuple(np.round(s*2).astype(int)); + if tuple(-x for x in k) not in n4: n4.add(k) +print('norm-4 directions',len(n4)) +Lnp=np.array([[float(c) for c in r] for r in L]) +sizes=[] +for k in n4: + h=np.array(k)/2.0 + off=int(sum(abs(Lnp@h)>1e-9)); sizes.append(off) +from collections import Counter +print('P112 |Off(h)| for norm-4 h:',Counter(sizes)) +par=lambda x: bin(x).count('1')&1 +mask={z:sum(1<=34: F7.add(m) +F7=list(F7); print('7-flats >=34 lines',len(F7)) +bad=0 +for k in n4: + h=np.array(k)/2.0 + T=sum(1<1e-9) + if pc(T)!=70: continue + P=[m&T for m in F7 if pc(m&T)>=34] + if any((T&~x&~y)==0 for x,y in itertools.combinations(P,2)): bad+=1 +print('70-line Off sets pair-coverable:',bad) diff --git a/research/one-sided-decoders-all-m/checks/dp3.py b/research/one-sided-decoders-all-m/checks/dp3.py new file mode 100644 index 0000000000..831a0149de --- /dev/null +++ b/research/one-sided-decoders-all-m/checks/dp3.py @@ -0,0 +1,57 @@ +# Generalised robust-cover DP (necessary conditions only => valid lower bound on cost(T)). +# Pieces sorted by weight desc (capacities monotone in weight). For k=1..d: deleting the d-k heaviest +# pieces leaves a span meeting D in >=k dims, so the rest must cover >= NL - N(8-k) lines +# (N(r) = max lines in an r-dim real subspace); k=1 uses exact small-cover feasibility. +import sys +def run(unit): + if unit=='P112': + g={1:1,2:2,3:4,4:8,5:12,6:20,7:36}; G={1:1,2:2,3:4,4:8,5:12,6:20,7:32} + NL=112; N={0:0,1:1,2:3,3:6,4:12,5:20,6:36,7:59}; Wmax=7 + def k1(ws): + # rest must cover Off(h): N(f_i) (56, cover>=14, 3 x w6 possible) or Off(r) (53, >=15, >=3 pieces, not all <=6) + # or |Off|>=70 (count with g) + W=sum(ws); sG=sum(G[w] for w in ws); sg=sum(g[w] for w in ws) + nf= W>=14 and sG>=56 + nr= W>=15 and sG>=53 and len(ws)>=3 and not (len(ws)==3 and max(ws)<=6) + no= W>=14 and sg>=70 + return nf or nr or no + pairrule=True + else: + g={1:1,2:2,3:4,4:8,5:12,6:20,7:36,8:64}; G={1:1,2:2,3:4,4:8,5:12,6:20,7:32,8:56} + NL=120; N={0:0,1:1,2:3,3:6,4:12,5:20,6:36,7:63}; Wmax=8 + E8x=eval(sys.argv[2]) if len(sys.argv)>2 else {} + def k1(ws): + W=sum(ws); sG=sum(G[w] for w in ws); sg=sum(g[w] for w in ws) + has8=8 in ws + root= sG>=57 and ((has8 and W>=9) or (not has8 and W>=E8x.get('smin',9) and len(ws)>=E8x.get('npc',2) + and not (len(ws)==3 and max(ws)<=6 and E8x.get('no6',False)))) + other= sg>=78 and W>=9 + return root or other + pairrule=False + def ok(ws,d): + a=len(ws) + if a=2 and a=bc[0]: return + if i==len(Ws): + ws=sorted([w for w in Ws for _ in range(cnt[w])],reverse=True) + if ok(ws,d): bc[0]=wt;bc[1]=dict((w,c) for w,c in cnt.items() if c) + return + w=Ws[i] + for c in range(0,(bc[0]-wt)//w+1): + cnt[w]=c; rec(i+1,cnt,wt+c*w) + cnt[w]=0 + rec(0,{w:0 for w in Ws},0) + if unit=='P112': print('P112 eps-free d',d,'DP',bc,'=> cost_w >=',64-8*d+bc[0],flush=True) + else: print('E8 d8',d,'DP',bc,'=> E8 >=',72-9*d+bc[0],'P112 >=',72-9*d+bc[0]-8,flush=True) +run(sys.argv[1]) diff --git a/research/one-sided-decoders-all-m/checks/dpX.py b/research/one-sided-decoders-all-m/checks/dpX.py new file mode 100644 index 0000000000..725cd30847 --- /dev/null +++ b/research/one-sided-decoders-all-m/checks/dpX.py @@ -0,0 +1,48 @@ +# X_I = P112 ∪ {f_i : i∈I}: need eps-free cost(X_I) >= 64+|I|. Peel at 7: cost >= cost(T7) + 8(8-d). +# DP constraints (dp3 P112, all transfer to X_I since every X_I target contains the P112 target; NL=112+|I|): +# then symmetric LP (NL lines, E8 N_u, g) on survivors. +import sys +from symlp import lp +from collections import Counter +g={1:1,2:2,3:4,4:8,5:12,6:20,7:36}; G={1:1,2:2,3:4,4:8,5:12,6:20,7:32} +N={0:0,1:1,2:3,3:6,4:12,5:20,6:36} +def k1(ws): + W=sum(ws); sG=sum(G[w] for w in ws); sg=sum(g[w] for w in ws) + nf= W>=14 and sG>=56 + nr= W>=15 and sG>=53 and len(ws)>=3 and not (len(ws)==3 and max(ws)<=6) + no= W>=14 and sg>=70 + return nf or nr or no +def ok(ws,d,NL): + a=len(ws) + if a=2 and a=target: return + if i==len(Ws): + ws=sorted([w for w in Ws for _ in range(cnt[w])],reverse=True) + if ok(ws,d,NL): out.append((wt,ws)) + return + w=Ws[i] + for c in range(0,(target-wt)//w+1): + cnt[w]=c; rec(i+1,cnt,wt+c*w) + cnt[w]=0 + rec(0,{w:0 for w in Ws},0); return out +NE8=[0,1,3,6,12,20,36,63] +for I in [int(x) for x in sys.argv[1].split(',')]: + NL=112+I + for d in range(1,9): + surv=enum(d,8*d+I,NL) + need=NL-NE8[8-d] if d<8 else NL + bad=[] + for wt,ws in surv: + val,bd=lp(Counter(ws),codim=8-d,NL=NL) + if bd>=need: bad.append((wt,ws,round(val,2))) + print(f'I={I} d={d} DP-survivors={len(surv)} LP-survivors={len(bad)}',bad[:6],flush=True) diff --git a/research/one-sided-decoders-all-m/checks/dump.py b/research/one-sided-decoders-all-m/checks/dump.py new file mode 100644 index 0000000000..732b71414b --- /dev/null +++ b/research/one-sided-decoders-all-m/checks/dump.py @@ -0,0 +1,6 @@ +import sys +from base import * +import json +out={'LAB':LAB,'Z':Z,'FC':FC.tolist(),'L':[[float(c) for c in r] for r in L],'F0':[[float(c) for c in f] for f in F0],'E8':[[float(c) for c in r] for r in E8L]} +json.dump(out,open('data.json','w')) +print(v,len(E8L),FC[:3]) diff --git a/research/one-sided-decoders-all-m/checks/enum.py b/research/one-sided-decoders-all-m/checks/enum.py new file mode 100644 index 0000000000..d4eaff5294 --- /dev/null +++ b/research/one-sided-decoders-all-m/checks/enum.py @@ -0,0 +1,22 @@ +# list all multisets with cost(T) < target satisfying dp3 P112 constraints for given d +import sys +exec(open('dp3.py').read().split(" Ws=list(range(Wmax,0,-1))")[0].replace("def run(unit):","def setup(unit):")+" return ok,g\n") +ok,g=setup('P112') +d=int(sys.argv[1]); target=int(sys.argv[2]) +Ws=[7,6,5,4,3,2,1]; out=[] +def rec(i,cnt,wt): + if wt>=target: return + if i==len(Ws): + ws=sorted([w for w in Ws for _ in range(cnt[w])],reverse=True) + if ok(ws,d): out.append((wt,ws)) + return + w=Ws[i] + for c in range(0,(target-wt)//w+1): + cnt[w]=c; rec(i+1,cnt,wt+c*w) + cnt[w]=0 +rec(0,{w:0 for w in Ws},0) +out.sort() +print(len(out),'multisets'); +from collections import Counter +print(Counter(len(ws) for _,ws in out)) +for x in out[:15]: print(x) diff --git a/research/one-sided-decoders-all-m/checks/eq.py b/research/one-sided-decoders-all-m/checks/eq.py new file mode 100644 index 0000000000..4a4be9785f --- /dev/null +++ b/research/one-sided-decoders-all-m/checks/eq.py @@ -0,0 +1,13 @@ +import sys,subprocess,ast +from symlp import lp +from collections import Counter +import os +def lists(d,target): + src=open('enum.py').read().replace("for x in out[:15]: print(x)","for x in out: print(repr(x))") + out=subprocess.run([sys.executable,'-c',src,str(d),str(target)],capture_output=True,text=True).stdout.splitlines() + return [ast.literal_eval(l) for l in out if l.startswith('(')] +for d,codim,need in [(6,2,109),(7,1,111),(8,0,112)]: + for wt,ws in lists(d,8*d+1): + if wt!=8*d: continue + val,bd=lp(dict(Counter(ws)),codim=codim,NL=112) + print(d,ws,'LPval %.3f'%val,'exact bound',float(bd),'need',need,'KILLED' if bd=need[d]-1e-9: surv[k]+=1; ex.setdefault(k,[]).append(ws) + for k in range(K+1): print('d',d,'slack',k,'multisets',tot[k],'LP-survivors',surv[k],(ex.get(k) or []),flush=True) diff --git a/research/one-sided-decoders-all-m/checks/flats_classify.py b/research/one-sided-decoders-all-m/checks/flats_classify.py new file mode 100644 index 0000000000..9e673258f3 --- /dev/null +++ b/research/one-sided-decoders-all-m/checks/flats_classify.py @@ -0,0 +1,43 @@ +# Flats of the E8 root system of rank <= 7 with many lines (standard-parabolic enumeration) and the frame-line count of the E6 flats. +# Classical input (Bourbaki, Lie V s3: Phi cap V is W-conjugate to a standard parabolic subsystem Phi_J): CONDITIONAL [verify]. +import itertools, numpy as np +from base import * # E8L (120 lines, exact Fractions), F0 (the frame), dot +S2=[(1,-1,-1,-1,-1,-1,-1,1),(2,2,0,0,0,0,0,0),(-2,2,0,0,0,0,0,0),(0,-2,2,0,0,0,0,0),(0,0,-2,2,0,0,0,0),(0,0,0,-2,2,0,0,0),(0,0,0,0,-2,2,0,0),(0,0,0,0,0,-2,2,0)] +A=np.array(S2,float).T/2.0 # columns = Bourbaki simple roots of E8 (norm 2) +R=[] # 240 roots in doubled coordinates +for i,j in itertools.combinations(range(8),2): + for si in (2,-2): + for sj in (2,-2): + v=[0]*8; v[i]=si; v[j]=sj; R.append(v) +for s in itertools.product((1,-1),repeat=8): + if s.count(-1)%2==0: R.append(list(s)) +R=np.array(R,float)/2.0 +assert len(R)==240 and np.allclose((R*R).sum(1),2) +coef=np.rint(np.linalg.solve(A,R.T).T).astype(int) # simple-root coordinates (all roots integral, same sign) +assert np.allclose(coef@A.T,R) +G=np.rint(A.T@A).astype(int) # Cartan matrix of the chosen simple system +assert all(G[i,i]==2 for i in range(8)) and sorted(set(G[np.triu_indices(8,1)]))==[-1,0] +def lines_J(J): return sum(1 for c in coef if all(c[i]==0 for i in range(8) if i not in J))//2 +res={} +for k in range(1,8): + for J in itertools.combinations(range(8),k): res[J]=lines_J(J) +for k in range(1,8): + print('rank',k,'max lines in a standard parabolic of rank',k,':',max(res[J] for J in res if len(J)==k)) +Nu=[max(res[J] for J in res if len(J)==k) for k in range(1,8)] +assert Nu==[1,3,6,12,20,36,63], Nu +big=sorted([(n,len(J)) for J,n in res.items() if n>=36]) +from collections import Counter +print('standard parabolics of rank <= 7 with >= 36 lines: (lines, rank) ->',Counter(big)) +assert set(Counter(big))=={(63,7),(42,7),(37,7),(36,6)} and Counter(big)[(63,7)]==1 +print('=> types E7 (63 lines), D7 (42), E6+A1 (37), E6 (36); no other flat of rank <= 7 has >= 36 lines') +# E6 flats = orthogonal complements of A2 flats: frame lines inside each +L8=[np.array([float(c) for c in r]) for r in E8L]; Fz=[np.array([float(c) for c in f]) for f in F0] +a2=set() +for a in range(120): + for b in range(120): + if abs(abs(L8[a]@L8[b])-1)<1e-9: + a2.add(frozenset(t for t in range(120) if abs(L8[t]@L8[a])<1e-9 and abs(L8[t]@L8[b])<1e-9)) +nfr=Counter(sum(1 for f in Fz if any(np.allclose(f,L8[t]) or np.allclose(f,-L8[t]) for t in S)) for S in a2) +print('E6 flats (lines orthogonal to an A2):',len(a2),'sizes',Counter(len(S) for S in a2),'frame lines inside:',dict(nfr)) +assert len(a2)==1120 and set(len(S) for S in a2)=={36} and min(nfr)>=2 +print('flats_classify OK') diff --git a/research/one-sided-decoders-all-m/checks/frames_data.py b/research/one-sided-decoders-all-m/checks/frames_data.py new file mode 100644 index 0000000000..4a4e16a101 --- /dev/null +++ b/research/one-sided-decoders-all-m/checks/frames_data.py @@ -0,0 +1,23 @@ +# Loads the two orthogonal frames F0 (removed for P112) and F1 (additionally removed for P104) from ../data/p104_frames.json and re-derives +# their indices in the E8 line list from the explicit vectors (asserts the stored indices agree as sets). +import json, os +from fractions import Fraction as Fr +from lib import lines, e8_roots, dot +def load_frames(): + here = os.path.dirname(os.path.abspath(__file__)) + pth = [p for p in (os.path.join(here, 'p104_frames.json'), os.path.join(here, '..', 'data', 'p104_frames.json')) if os.path.exists(p)][0] + d = json.load(open(pth)) + E8 = lines(e8_roots()) + def canon(x): + for c in x: + if c != 0: return tuple(x) if c > 0 else tuple(-y for y in x) + idx = {canon(r): i for i, r in enumerate(E8)} + def vec(*pairs): + r = [Fr(0)] * 8 + for i, s in pairs: r[i] = Fr(s) + return r + F0 = [idx[canon(vec((2 * a, 1), (2 * a + 1, 1)))] for a in range(4)] + [idx[canon(vec((2 * a, 1), (2 * a + 1, -1)))] for a in range(4)] + F1 = [idx[canon([Fr(x, 2) for x in w])] for w in d['F1_vectors_x2']] + assert F0 == d['F0_idx'] and set(F1) == set(d['F1_idx']) and len(set(F0) | set(F1)) == 16 + for F in (F0, F1): assert all(dot(E8[a], E8[b]) == 0 for a in F for b in F if a != b) + return list(F0), list(d['F1_idx']) diff --git a/research/one-sided-decoders-all-m/checks/g78.py b/research/one-sided-decoders-all-m/checks/g78.py new file mode 100644 index 0000000000..45c8f7a105 --- /dev/null +++ b/research/one-sided-decoders-all-m/checks/g78.py @@ -0,0 +1,18 @@ +# exact g(8) and g(7): maximum number of P112 lines in a label flat of dimension 8 (one hyperplane of F2^9) and 7 (two hyperplanes). +# A label flat of dim d = the lines whose label lies in a d-dim subspace; every subspace of dim 7/8 is an intersection of 2/1 hyperplanes. +from base import * +par=lambda x: bin(x).count('1')&1 +mask={z:sum(1<1e-9) +for name,T in {'N(f0)':off(np.array([float(c) for c in F0[0]])),'Off(r0)':off(Lnp[0])}.items(): + G={} + for m,r in F7r: + x=m&T + if not x: continue + w=rk(x); G[w]=max(G.get(w,0),pc(x)) + # monotone closure + for w in range(1,8): G[w]=max(G.get(w,0),G.get(w-1,0)) + print(name,pc(T),G) diff --git a/research/one-sided-decoders-all-m/checks/gen_t3.py b/research/one-sided-decoders-all-m/checks/gen_t3.py new file mode 100644 index 0000000000..e9ab96fdcb --- /dev/null +++ b/research/one-sided-decoders-all-m/checks/gen_t3.py @@ -0,0 +1,28 @@ +# targets with |Off(h)| <= 75 in P112: adds E6+A1 hyperplanes (norm-6 normals) with no frame line inside. Writes targets75.txt +import sys +from base import * +import numpy as np +from collections import Counter +R=np.array([list(r) for r in E8L],dtype=float); P=np.array([list(r) for r in L],dtype=float); F=np.array([list(f) for f in F0],dtype=float) +def key(v): + v=np.round(v*2).astype(int) + for x in v: + if x!=0: return tuple(v if x>0 else -v) +cand={} +G=R@R.T +for a in range(len(R)): + cand.setdefault(key(R[a]),R[a]) + for b in range(len(R)): + if a==b: continue + for s in (1,-1): + ip=s*G[a,b] + if abs(ip)<1e-9 or abs(ip-1)<1e-9: + v=R[a]+s*R[b]; cand.setdefault(key(v),v) +C=Counter(); out=[] +for k,h in cand.items(): + e8perp=int((np.abs(R@h)<1e-9).sum()) + off=[t for t in range(112) if abs(P[t]@h)>1e-9] + C[(round(float(h@h)),e8perp,len(off))]+=1 + if len(off)<=int(sys.argv[1]) if len(sys.argv)>1 else len(off)<=75: out.append(off) +for k in sorted(C): print(k,C[k]) +open('targets%s.txt'%(sys.argv[1] if len(sys.argv)>1 else '75'),'w').write('\n'.join(' '.join(map(str,o)) for o in out)+'\n'); print(len(out)) diff --git a/research/one-sided-decoders-all-m/checks/gen_targets.py b/research/one-sided-decoders-all-m/checks/gen_targets.py new file mode 100644 index 0000000000..de92d68d76 --- /dev/null +++ b/research/one-sided-decoders-all-m/checks/gen_targets.py @@ -0,0 +1,24 @@ +# targets h with |Off(h)| <= 73 in P112: f (8), roots (112), norm-4 (D7 type) with <=3 frame lines in h^perp. Writes targets.txt, labs.txt +import sys +from base import * +import numpy as np, itertools +R=np.array([list(r) for r in E8L],dtype=float) +P=np.array([list(r) for r in L],dtype=float); F=np.array([list(f) for f in F0],dtype=float) +def key(v): + v=np.round(v*2).astype(int); + for x in v: + if x!=0: return tuple(v if x>0 else -v) +cand={} +for v in list(R)+list(F): cand[key(v)]=v +G=R@R.T +for a in range(len(R)): + for b in range(a+1,len(R)): + if abs(G[a,b])<1e-9: + for s in (1,-1): cand.setdefault(key(R[a]+s*R[b]),R[a]+s*R[b]) +out=[]; from collections import Counter; C=Counter() +for k,h in cand.items(): + off=[t for t in range(112) if abs(P[t]@h)>1e-9] + if len(off)<=73: out.append(off); C[(round(float(h@h)),len(off))]+=1 +print(C) +open('targets.txt','w').write('\n'.join(' '.join(map(str,o)) for o in out)+'\n') +open('labs.txt','w').write(' '.join(map(str,LAB))+'\n') diff --git a/research/one-sided-decoders-all-m/checks/gsmall.py b/research/one-sided-decoders-all-m/checks/gsmall.py new file mode 100644 index 0000000000..fb3233e4d5 --- /dev/null +++ b/research/one-sided-decoders-all-m/checks/gsmall.py @@ -0,0 +1,34 @@ +# exact g(d) for d<=6 via codim-3 flats then extra hyperplanes; P112 labels +from base import * +par=lambda x: bin(x).count('1')&1 +mask={z:sum(1<=8 lines +seen=set(); F6=[] +for a in range(1,512): + for b in range(a+1,512): + mab=mask[a]&mask[b] + if pc(mab)<8: continue + for c in range(b+1,512): + if c==a^b: continue + m=mab&mask[c] + if pc(m)>=8: F6.append(m) +F6=list(set(F6)); print('6-flats >=8 lines (distinct line sets)',len(F6),'max',max(map(pc,F6))) +g5=0;g4=0 +for m in F6: + for z in range(1,512): + k=pc(m&mask[z]) + if k>g5 and (m&mask[z])!=m: g5=k +print('g(5) >=',g5) +def rk(m): return f2rank([LAB[t] for t in range(v) if m>>t&1]) +best={} +for m in F6: + r=rk(m); best[r]=max(best.get(r,0),pc(m)) +print('F6 sets by label rank: max lines',best) +g=dict(best) +for m in F6: + if pc(m)<=g.get(5,0): continue + for z in range(1,512): + mm=m&mask[z] + if pc(mm)>g.get(5,0) and rk(mm)<=5: g[5]=pc(mm) +print('g(5)=',g.get(5)) diff --git a/research/one-sided-decoders-all-m/checks/land.py b/research/one-sided-decoders-all-m/checks/land.py new file mode 100644 index 0000000000..609226712b --- /dev/null +++ b/research/one-sided-decoders-all-m/checks/land.py @@ -0,0 +1,26 @@ +# landscape: for d=1..8 and slack k<=K: DP-enumerated multisets -> quotient LP -> Pencil (d>=4, anchors = e-1 smallest pieces, sum g<=4) -> e=2 (<=6)-triple rule +import sys,subprocess,ast +from symlp import lp +from collections import Counter +import os +K=int(sys.argv[1]); ds=[int(x) for x in sys.argv[2].split(',')] +g={1:1,2:2,3:4,4:8,5:12,6:20,7:36} +N8=[0,1,3,6,12,20,36,63,120] +def lists(d,target): + src=open('enum.py').read().replace("for x in out[:15]: print(x)","for x in out: print(repr(x))") + out=subprocess.run([sys.executable,'-c',src,str(d),str(target)],capture_output=True,text=True).stdout.splitlines() + return [ast.literal_eval(l) for l in out if l.startswith('(')] +for d in ds: + codim=8-d; need=112-N8[8-d] + res=Counter(); surv={} + for wt,ws in lists(d,8*d+K+1): + if wt<8*d: continue + k=wt-8*d; a=len(ws); e=a-d + val,bd=lp(dict(Counter(ws)),codim=codim,NL=112) + if bd=4 and e>=2 and sum(g[w] for w in anc)<=4: res[(k,'pencil')]+=1; continue + if e==2 and sum(1 for w in ws if w<=6)>=5: res[(k,'666')]+=1; continue + res[(k,'SURV')]+=1; surv.setdefault(k,[]).append(ws) + for k in range(K+1): + print('d',d,'slack',k,{t:res[(k,t)] for t in ('LP','pencil','666','SURV')},(surv.get(k) or [])[:6],flush=True) diff --git a/research/one-sided-decoders-all-m/checks/lemmaN.c b/research/one-sided-decoders-all-m/checks/lemmaN.c new file mode 100644 index 0000000000..1167e381ec --- /dev/null +++ b/research/one-sided-decoders-all-m/checks/lemmaN.c @@ -0,0 +1,50 @@ +// Independent check of SMALL2 Lemma N: for every 7-dim label subspace F and every L (|L|<=4), +// at most 2 directions h (|Off(h)|<=76) have Off(h)\F\L inside a 7-dim label subspace. +#include +#include +#include +typedef unsigned __int128 u128; +static int pc(u128 x){return __builtin_popcountll((unsigned long long)x)+__builtin_popcountll((unsigned long long)(x>>64));} +int lab[112]; u128 hm[512]; u128 G[50000]; int nG=0; u128 OFF[1300]; int nh; +int main(){ + FILE*f=fopen("ln_in.txt","r"); + for(int t=0;t<112;t++) fscanf(f,"%d",&lab[t]); + fscanf(f,"%d",&nh); + for(int k=0;k40) continue; + nE[k]=0; + for(int g=0;g4) continue; + // keep minimal, dedupe + int skip=0; + for(int j=0;jmaxcnt) maxcnt=na; + // triple check: 3 distinct active h with E1|E2|E3 of size <=4 + for(int x=0;x4) continue; + for(int w=y+1;w coeffs, using Gram: c = G^{-1} (A r) + T=len(A) + G=[[dot(A[i],A[j]) for j in range(T)] for i in range(T)] + # invert G + M=[row[:]+[F(int(i==j)) for j in range(T)] for i,row in enumerate(G)] + for c in range(T): + p=next(r for r in range(c,T) if M[r][c]!=0); M[c],M[p]=M[p],M[c] + pv=M[c][c]; M[c]=[x/pv for x in M[c]] + for r in range(T): + if r!=c and M[r][c]!=0: + f=M[r][c]; M[r]=[x-f*y for x,y in zip(M[r],M[c])] + Gi=[row[T:] for row in M] + return Gi +def decoder(roots,A): + T=len(A); Gi=inv_coeffs(A) + P=[];Q=[] + for r in roots: + q=[dot(r,a) for a in A] + p=[sum(Gi[j][k]*q[k] for k in range(T)) for j in range(T)] + # verify + assert all(sum(p[j]*A[j][i] for j in range(T))==r[i] for i in range(len(r))),"not in span" + P.append(p);Q.append(q) + return P,Q +def gram_ok(roots,P,Q): + for t in range(len(roots)): + for s in range(len(roots)): + if sum(P[t][j]*Q[s][j] for j in range(len(P[0])))!=dot(roots[t],roots[s]): return False + return True +def rank_f2(rows): + basis={}; r=0 + for x in rows: + while x: + h=x.bit_length()-1 + if h in basis: x^=basis[h] + else: basis[h]=x; r+=1; break + return r +def Bmat(roots): + v=len(roots) + return [sum(1<box: continue + s=sc(b) + if s>cur: a,cur=b,s;improved=True + # pair moves + if not improved: + for i,j in itertools.combinations(range(T),2): + for di in (-step,step): + for dj in (-step,step): + b=a.copy();b[i]+=di;b[j]+=dj + if abs(b[i])>box or abs(b[j])>box: continue + s=sc(b) + if s>cur: a,cur=b,s;improved=True + if cur>best[0]: best=(cur,a.copy()-a.min()) + return best diff --git a/research/one-sided-decoders-all-m/checks/lnprep.py b/research/one-sided-decoders-all-m/checks/lnprep.py new file mode 100644 index 0000000000..86207a8c61 --- /dev/null +++ b/research/one-sided-decoders-all-m/checks/lnprep.py @@ -0,0 +1,17 @@ +# prep for independent Lemma N check: labels and all Off(h) sets with |Off|<=76 (P112) +import json, itertools, numpy as np +D=json.load(open('data.json')); L=np.array(D['L']); E8=np.array(D['E8']); v=len(L) +allr=list(E8)+[-r for r in E8] +offs={} +def off(h): return tuple(t for t in range(v) if abs(L[t]@h)>1e-9) +for r in E8: offs.setdefault(off(r),'r') +for a,b in itertools.combinations(range(len(allr)),2): + s=allr[a]+allr[b] + if round(s@s)==4: offs.setdefault(off(s),'n4') +sel=[o for o in offs if len(o)<=76] +from collections import Counter +print(len(sel),Counter((len(o),offs[o]) for o in sel)) +with open('ln_in.txt','w') as f: + print(*D['LAB'],file=f) + print(len(sel),file=f) + for o in sel: print(len(o),*o,file=f) diff --git a/research/one-sided-decoders-all-m/checks/lp2.py b/research/one-sided-decoders-all-m/checks/lp2.py new file mode 100644 index 0000000000..7a4467a954 --- /dev/null +++ b/research/one-sided-decoders-all-m/checks/lp2.py @@ -0,0 +1,30 @@ +import numpy as np, scipy.sparse as sp +from scipy.optimize import linprog +G={1:1,2:2,3:4,4:8,5:12,6:20,7:36,8:64} +N=[0,1,3,6,12,20,36,63,120] +def feas(ws,nlines=112,Nv=N,maxk=8): + a=len(ws); cap=[G[w] for w in ws] + masks=[m for m in range(1,1<>j&1: rows.append(r);cols.append(idx[m]);vals.append(1) + b.append(cap[j]); r+=1 + A=sp.csr_matrix((vals,(rows,cols)),shape=(r,len(masks))) + Aeq=sp.csr_matrix(np.ones((1,len(masks)))) + # objective: maximise covered lines with sum<=112 => check max sum of m + res=linprog(-np.ones(len(masks)),A_ub=A,b_ub=b,bounds=(0,None),method='highs') + return -res.fun +pats=[[7,6,6,6,6,6,6,6,6,6],[7,6,6,6,6,6,6,6,6,6,1],[7,7,6,6,6,6,6,6,6,6],[7,6,6,6,6,6,6,6,6,6,1,1],[7,6,6,6,6,6,6,6,6,6,2],[7,7,6,6,6,6,6,6,6,6,1],[7,7,7,6,6,6,6,6,6,6]] +if __name__=='__main__': + for p in pats: print(p, 'max coverable lines (need 112):', round(feas(p),2),flush=True) diff --git a/research/one-sided-decoders-all-m/checks/lp3.py b/research/one-sided-decoders-all-m/checks/lp3.py new file mode 100644 index 0000000000..940ca1f642 --- /dev/null +++ b/research/one-sided-decoders-all-m/checks/lp3.py @@ -0,0 +1,36 @@ +# exact dual certificates: max sum m s.t. A m <= b, m>=0 ; certificate y>=0 with A^T y >= 1 => sum m <= b.y +import numpy as np, scipy.sparse as sp +from fractions import Fraction +from scipy.optimize import linprog +from lp2 import G,N,pats +def build(ws,Nv): + a=len(ws); cap=[G[w] for w in ws] + masks=list(range(1,1<>j&1: rows.append(r);cols.append(m-1) + b.append(cap[j]); r+=1 + A=sp.csr_matrix((np.ones(len(rows)),(rows,cols)),shape=(r,len(masks))) + return A,np.array(b,float) +def cert(ws,Nv): + A,b=build(ws,Nv) + res=linprog(-np.ones(A.shape[1]),A_ub=A,b_ub=b,bounds=(0,None),method='highs') + y=-res.ineqlin.marginals; y=np.maximum(y,0) + yq=np.ceil(y*1e4)/1e4 + yi=np.rint(yq*1e4).astype(np.int64) # integer numerators over 10^4 + # exact check A^T yi >= 10^4 (integer arithmetic) + At=A.T.tocsr().astype(np.int64) + col=At@yi + ok=col.min()>=10**4 + bound=Fraction(int((np.rint(b).astype(np.int64)*yi).sum()),10**4) + return -res.fun, ok, float(bound), int(col.min()) +if __name__=='__main__': + Nsh=[0,3,6,12,20,36,63,112,112] + for p in pats: print(p,cert(p,N),flush=True) + print('d=7',cert([7,6,6,6,6,6,6,6,6],Nsh)) diff --git a/research/one-sided-decoders-all-m/checks/manifest_check.py b/research/one-sided-decoders-all-m/checks/manifest_check.py new file mode 100644 index 0000000000..0c39981713 --- /dev/null +++ b/research/one-sided-decoders-all-m/checks/manifest_check.py @@ -0,0 +1,12 @@ +# Step 0 of verify.sh: every line of MANIFEST.sha256 (" ") must match the file; the manifest must list every file of the package except itself. +import hashlib, os, sys +root = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) +listed = {} +for l in open(os.path.join(root, 'MANIFEST.sha256')): + h, p = l.rstrip('\n').split(' ', 1); listed[p] = h +bad = [p for p, h in listed.items() if not os.path.isfile(os.path.join(root, p)) or hashlib.sha256(open(os.path.join(root, p), 'rb').read()).hexdigest() != h] +allf = {os.path.relpath(os.path.join(d, f), root) for d, _, fs in os.walk(root) for f in fs if '__pycache__' not in d and f != 'MANIFEST.sha256' and not f.endswith('.pyc')} +extra = sorted(allf - set(listed)) +print(('FAIL' if bad else 'PASS') + ' manifest: %d files hash-checked, %d mismatching %s' % (len(listed), len(bad), bad[:3])) +print(('FAIL' if extra else 'PASS') + ' manifest lists every package file (%d unlisted %s)' % (len(extra), extra[:3])) +sys.exit(1 if bad or extra else 0) diff --git a/research/one-sided-decoders-all-m/checks/mu76.c b/research/one-sided-decoders-all-m/checks/mu76.c new file mode 100644 index 0000000000..93a0a17f51 --- /dev/null +++ b/research/one-sided-decoders-all-m/checks/mu76.c @@ -0,0 +1,34 @@ +// For every 7-dim label subspace F and target h: minimal removal sets X (|X|<=4) with Off(h)\F\X inside some 7-dim label subspace G. +// UBk(F) = #targets h having such an X of size <= k. Reports max over F for k=0..4. +#include +#include +#include +typedef unsigned long long u64; +int lab[112]; int nt=0; int tl[2000][120]; int tn[2000]; +static int par(int x){return __builtin_popcount(x)&1;} +int nG=0; u64 G0[43435],G1[43435]; +int main(){ + FILE*f=fopen("labs.txt","r"); for(int i=0;i<112;i++) fscanf(f,"%d",&lab[i]); fclose(f); + f=fopen("targets76.txt","r"); char line[4096]; + while(fgets(line,sizeof line,f)){ char*p=line; int n=0,x,c; while(sscanf(p,"%d%n",&x,&c)==1){tl[nt][n++]=x;p+=c;} if(n){tn[nt]=n;nt++;} } fclose(f); + for(int w1=1;w1<512;w1++) for(int w2=w1+1;w2<512;w2++){ + int w3=w1^w2; int m1=w1w2?w1:w2; M=M>w3?M:w3; int m2=w1+w2+w3-m1-M; + if(!(m1==w1&&m2==w2)) continue; + u64 a=0,b=0; for(int t=0;t<112;t++) if(!par(lab[t]&w1)&&!par(lab[t]&w2)){ if(t<64) a|=1ULL<40) continue; + int mn=99; + for(int g=0;g0;g++){ int c=__builtin_popcountll(r0&~G0[g])+__builtin_popcountll(r1&~G1[g]); if(c=0) ub[k]++; + } + for(int k=0;k<=4;k++){ hist[k][ub[k]]++; if(ub[k]>best[k]) best[k]=ub[k]; } + } + for(int k=0;k<=4;k++){ printf("k=%d max UB=%d hist:",k,best[k]); for(int i=0;i<=best[k];i++) if(hist[k][i]) printf(" %d:%ld",i,hist[k][i]); printf("\n"); } +} diff --git a/research/one-sided-decoders-all-m/checks/ncount.c b/research/one-sided-decoders-all-m/checks/ncount.c new file mode 100644 index 0000000000..30a7c09cba --- /dev/null +++ b/research/one-sided-decoders-all-m/checks/ncount.c @@ -0,0 +1,37 @@ +// For every 7-dim label subspace F (annihilator of span{w1,w2}) and every line t0: +// N(F,t0) = #targets h with rank lab(Off(h) \ F \ {t0}) <= 7. Report max N, and histogram. +// Also mode 2: two removed lines (L_o = {t0,t1}): N2(F,{t0,t1}). +#include +#include +#include +int lab[112]; int nt=0; int tl[2000][120]; int tn[2000]; +static int rank_of(int *v,int n){ int b[9]={0}; int r=0; for(int i=0;i=0;k--){ if(!(x>>k&1)) continue; if(b[k]) x^=b[k]; else {b[k]=x; r++; break;} } } return r; } +static int par(int x){return __builtin_popcount(x)&1;} +int main(int argc,char**argv){ + int mode=argc>1?atoi(argv[1]):1; + FILE*f=fopen("labs.txt","r"); for(int i=0;i<112;i++) fscanf(f,"%d",&lab[i]); fclose(f); + f=fopen("targets.txt","r"); char line[4096]; + while(fgets(line,sizeof line,f)){ char*p=line; int n=0,x,c; while(sscanf(p,"%d%n",&x,&c)==1){tl[nt][n++]=x;p+=c;} if(n){tn[nt]=n;nt++;} } fclose(f); + fprintf(stderr,"targets %d\n",nt); + long hist[2000]={0}; int best=0; int bw1=0,bw2=0,bt=0; + int seen[512][512]; memset(seen,0,sizeof seen); + for(int w1=1;w1<512;w1++) for(int w2=w1+1;w2<512;w2++){ + int w3=w1^w2; int a=w1,b=w2,c=w3; // canonical: smallest two of {w1,w2,w3} + int m1=ab?a:b; M=M>c?M:c; int m2=a+b+c-m1-M; + if(!(m1==w1&&m2==w2)) continue; + int inF[112]; for(int t=0;t<112;t++) inF[t]=!par(lab[t]&w1)&&!par(lab[t]&w2); + if(mode==1){ + int cnt[112]; memset(cnt,0,sizeof cnt); + for(int h=0;hbest){best=cnt[t];bw1=w1;bw2=w2;bt=t;} } + } + } + printf("max N = %d at w1=%d w2=%d t0=%d\n",best,bw1,bw2,bt); + for(int i=0;i<=best;i++) if(hist[i]) printf("N=%d : %ld (F,t0) pairs\n",i,hist[i]); +} diff --git a/research/one-sided-decoders-all-m/checks/ncount2.c b/research/one-sided-decoders-all-m/checks/ncount2.c new file mode 100644 index 0000000000..80b1adc910 --- /dev/null +++ b/research/one-sided-decoders-all-m/checks/ncount2.c @@ -0,0 +1,42 @@ +// mode 2: for every 7-dim label subspace F and every PAIR of lines {t0,t1}: +// N2 = #targets h with rank lab(Off(h) \ F \ {t0,t1}) <= 7. Report max and histogram. +#include +#include +#include +int lab[112]; int nt=0; int tl[2000][120]; int tn[2000]; +static int par(int x){return __builtin_popcount(x)&1;} +// rank of vectors v[0..n) skipping indices s0,s1 +static int rk(const int*v,int n,int s0,int s1){int b[9]={0},r=0;for(int i=0;i=0;k--){if(!(x>>k&1))continue;if(b[k])x^=b[k];else{b[k]=x;r++;break;}}}return r;} +int pid[112][112]; +int main(){ + FILE*f=fopen("labs.txt","r"); for(int i=0;i<112;i++) fscanf(f,"%d",&lab[i]); fclose(f); + f=fopen("targets.txt","r"); char line[4096]; + while(fgets(line,sizeof line,f)){ char*p=line; int n=0,x,c; while(sscanf(p,"%d%n",&x,&c)==1){tl[nt][n++]=x;p+=c;} if(n){tn[nt]=n;nt++;} } fclose(f); + int np=0; for(int i=0;i<112;i++)for(int j=i+1;j<112;j++){pid[i][j]=pid[j][i]=np++;} + static int cnt[6216]; long hist[4000]={0}; int best=0,bw1=0,bw2=0,bp=0; long passed=0; + for(int w1=1;w1<512;w1++) for(int w2=w1+1;w2<512;w2++){ + int w3=w1^w2; int m1=w1w2?w1:w2; M=M>w3?M:w3; int m2=w1+w2+w3-m1-M; + if(!(m1==w1&&m2==w2)) continue; + char inF[112]; for(int t=0;t<112;t++) inF[t]=!par(lab[t]&w1)&&!par(lab[t]&w2); + memset(cnt,0,sizeof cnt); int all=0; + for(int h=0;h38) continue; passed++; + int r=rk(v,rn,-1,-1); + if(r<=7){all++; continue;} + // pairs inside R (and pairs with one element outside R if single removal suffices) + char single[120]; for(int k=0;k=0 && single[kk] && kkbest){best=c;bw1=w1;bw2=w2;bp=p;}} + } + printf("passed (F,h) %ld; max N2 = %d at w1=%d w2=%d pair#%d\n",passed,best,bw1,bw2,bp); + for(int i=0;i<=best;i++) if(hist[i]) printf("N2=%d : %ld\n",i,hist[i]); +} diff --git a/research/one-sided-decoders-all-m/checks/oscommon.py b/research/one-sided-decoders-all-m/checks/oscommon.py new file mode 100644 index 0000000000..d46da96381 --- /dev/null +++ b/research/one-sided-decoders-all-m/checks/oscommon.py @@ -0,0 +1,47 @@ +# OS-SPARSE common: P112/P104 Gram lines, labels (9-bit), term cost rank B[R,A(y)] = dim U_R - dim(U_R ∩ K_A). +import sys, pickle +from common2 import * +import numpy as np +def load(unit='P112'): + from frames_data import load_frames + F0,F1=load_frames() + rem=set(F0) if unit=='P112' else set(F0)|set(F1) + L=[E8[i] for i in range(120) if i not in rem]; v=len(L); Br=B0rows(L) + ech=[];bidx=[] + for t in range(v): + x=Br[t];c=0 + for (pv,pc,hb) in ech: + if x>>hb&1: x^=pv; c^=pc + if x: hb=x.bit_length()-1; ech.append((x,c|(1<>hb&1: x^=pv; c^=pc + assert x==0; return c + lab=[solve(Br[t]) for t in range(v)] + h=len(bidx) + rowu={} + for u in range(1,1<>i&1: r^=Br[bidx[i]] + rowu[u]=r + return dict(L=L,v=v,Br=Br,lab=lab,h=h,rowu=rowu,F0=[E8[i] for i in F0],F1=[E8[i] for i in F1],rem=rem) +def KA(D,y): + A=sum(1< + pr=[sum(C[t][i]*C[r][i] for i in range(8)) for t in range(n)] + pp=pr[:]; pp[r]=0; cols.append(pp); names.append(('p',r)) + d=[0]*n; d[r]=1; cols.append(d); names.append(('d',r)) + P=sp.Matrix(n,len(cols),lambda t,k: cols[k][t]); Cm=sp.Matrix(C) + # solve P Y = C exactly + Y=sp.Matrix.zeros(len(cols),8) + sol=P.gauss_jordan_solve(Cm)[0]; Y=sol.subs({s:0 for s in sol.free_symbols}) + assert P*Y==Cm + cost=0; corr=0 + for k,(nm,col) in enumerate(zip(names,cols)): + supp=[t for t in range(n) if col[t]!=0]; w=f2rank([LAB[t] for t in supp]) + y=list(Y.row(k)); nz=[i for i in range(8) if y[i]!=0] + U=[LAB[t] for t in supp] + eps= 1 if (len(nz)==1 and f2rank(U+[Z[nz[0]]])==w) else 0 + cost+=w; corr+=eps + if nm[0]!='c': print(' col',nm,'weight',w,'y support',nz,'corrected',eps, 'full' if w==9 else '') + print('J',J,'roots',roots,'eps-free',cost,'corrections',corr,'corrected cost',cost-corr) +# k=1 +r1=[t for t in range(n) if C[t][0]!=0][0]; check([0],[r1]) +# k=2: roots with supp∩J={j_m} +J=[0,1] +ra=[t for t in range(n) if C[t][0]!=0 and C[t][1]==0][0]; rb=[t for t in range(n) if C[t][1]!=0 and C[t][0]==0][0] +check(J,[ra,rb]) +# general k: choose J with, for each j in J, a root whose F0-support meets J exactly in {j} (distinct roots); tried for k = 3 and the first feasible J for k = 4, 5 +import itertools as _it +for k in (3,4,5): + done=False + for J in _it.combinations(range(8),k): + rs=[] + for m in J: + cand=[t for t in range(n) if C[t][m]!=0 and all(C[t][j]==0 for j in J if j!=m) and t not in rs] + if not cand: break + rs.append(cand[0]) + else: + check(list(J),rs); done=True; break + if not done: print('no feasible J for k =',k) diff --git a/research/one-sided-decoders-all-m/checks/rootswap_audit.py b/research/one-sided-decoders-all-m/checks/rootswap_audit.py new file mode 100644 index 0000000000..831ced6f38 --- /dev/null +++ b/research/one-sided-decoders-all-m/checks/rootswap_audit.py @@ -0,0 +1,59 @@ +import json, numpy as np, itertools, random +D=json.load(open('data.json')); FC=np.array(D['FC']); LAB=D['LAB']; Z=D['Z'] +def basis(vs): + b=[] + for x in vs: + for y in b: x=min(x,x^y) + if x: b.append(x) + return b +def rk(vs): return len(basis(vs)) +def inspan(x,vs): return rk(list(vs)+[x])==rk(vs) +def beta(a,b): + return (a&1)*(b&1) ^ (bin((a>>1)&(b>>1)).count('1')&1) # assumes standard form on x -- see below +# Frame: N(f_j) +print('FC frame cols all in {0,+-1}:', set(FC.flatten())) +print('labels distinct',len(set(LAB)),'z in LAB?',[z in LAB for z in Z], 'Z indep rank',rk(Z)) +for j in range(8): + N=[t for t in range(112) if FC[t,j]!=0] + Ls=[LAB[t] for t in N] + print(j,len(N),'rank',rk(Ls),'z in span:',[inspan(z,Ls) for z in Z]) +# gram-based: check N(f_j) in perp of z_j via span test above. coloop +def supp_rank(v): return rk([LAB[t] for t in range(112) if v[t]!=0]) +# directions +dirs={} +for s in range(112): dirs[('r',s)]=FC@FC[s] +for j in range(8): dirs[('f',j)]=FC[:,j].copy() +off={k:int((v!=0).sum()) for k,v in dirs.items()} +print('Off sizes',sorted(set(off.values()))) +rng=random.Random(1) +res={} +for t in range(112): + for k,v in dirs.items(): + if off[k]>65: continue + # candidate lambdas: 0, cancel at t, and generic + lams=[0.0] + if v[t]!=0: lams.append(-float(v[t])) + lams.append(0.37) + for lam in lams: + w=v.astype(float).copy(); w[t]+=lam + r=supp_rank(w) + if r<=8: + carry=[i for i in range(8) if inspan(Z[i],[LAB[u] for u in range(112) if w[u]!=0])] + res.setdefault(t,[]).append((k,lam,r,tuple(carry),int((w!=0).sum()))) +bad=0 +for t in range(112): + L8=[x for x in res.get(t,[])] + nonf=[x for x in L8 if x[0][0]=='r' or x[3]] + carr=[x for x in L8 if x[3]] + # expected: all weight<=8 with carry is exactly swap + ok = all(x[0]==('r',t) and x[1]!=0 and x[1]==-float(dirs[('r',t)][t]) for x in carr) + others=[x for x in L8 if x[0][0]=='r' and not (x[0]==('r',t))] + if not ok or others: bad+=1; print('t',t,carr,others) +print('t with deviations',bad) +# count of weight<=8 types +from collections import Counter +print(Counter((x[0][0], x[2], bool(x[3])) for t in res for x in res[t])) +# do all-direction scan for |Off|<=65 : which h among random sampling? enumerate low-Off by roots subsystem argument skipped +# rank of weight-8 swap carriers +t=0 +sw=[x for x in res[t] if x[3]]; print(sw) diff --git a/research/one-sided-decoders-all-m/checks/symcheck.py b/research/one-sided-decoders-all-m/checks/symcheck.py new file mode 100644 index 0000000000..d2092853c4 --- /dev/null +++ b/research/one-sided-decoders-all-m/checks/symcheck.py @@ -0,0 +1,39 @@ +# Symmetry used to justify checking the cover facts for one root target Off(r0) and one frame target N(f0) only (cover.py, cover6.py, gT.py): +# the 1352 generators in gens.txt act on the 112 lines by ||-preserving permutations, act F2-LINEARLY on the labels, permute the 8 frame +# targets N(f_i) = {t : c_t[i] != 0}, and generate a group transitive on the 112 lines and on the 8 frame targets. Hence every Off(r) (resp. N(f_i)) +# is carried to Off(r0) (resp. N(f0)) by a label-linear line permutation, which preserves every flat, every cover and every rank. +import json, numpy as np +D=json.load(open('data.json')); L=np.array(D['L']); FC=np.array(D['FC']); LAB=D['LAB']; n=112 +G=np.rint(L@L.T).astype(int) +gens=[list(map(int,l.split())) for l in open('gens.txt')] +def is_linear(g): + # linear iff for every F2-dependency among labels the images satisfy the same dependency: test via kernel of the 112 x 9 label matrix + rows=[LAB[t] for t in range(n)]; imgs=[LAB[g[t]] for t in range(n)] + # Gaussian elimination tracking images + piv=[] # (vector, image) + for v,i in zip(rows,imgs): + for pv,pi in piv: + if v^pv=1} C(n_w-1,s_w-1) prod_{w'!=w} C(n_w',s_w') x_s <= g(w) +# objective sum_s prod C(n_w,s_w) x_s. Symmetrisation is exact (LP invariant under prod Sym(n_w)). +# Returns LP value and an EXACT rational upper bound from a repaired dual certificate. +import itertools, numpy as np +from math import comb, prod +from fractions import Fraction +from scipy.optimize import linprog +import scipy.sparse as sp +g={1:1,2:2,3:4,4:8,5:12,6:20,7:36,8:64} +NE8=[0,1,3,6,12,20,36,63,120] +def Nq(u,codim,NL): + k=u+codim + return NL if k>=8 else min(NE8[k],NL) +def lp(counts,codim=0,NL=112,exact=True): + ws=[w for w in sorted(counts) if counts[w]>0]; n=[counts[w] for w in ws] + types=[t for t in itertools.product(*[range(c+1) for c in n]) if any(t)] + idx={t:i for i,t in enumerate(types)} + obj=np.array([prod(comb(n[i],t[i]) for i in range(len(n))) for t in types],float) + rows=[];cols=[];vals=[];b=[];R=0 + subs={} + for u in types: + su=sum(u) + for s in itertools.product(*[range(x+1) for x in u]): + if not any(s): continue + rows.append(R);cols.append(idx[s]);vals.append(prod(comb(u[i],s[i]) for i in range(len(n)))) + b.append(Nq(su,codim,NL)); R+=1 + for i,w in enumerate(ws): + for s in types: + if s[i]>=1: + rows.append(R);cols.append(idx[s]);vals.append(comb(n[i]-1,s[i]-1)*prod(comb(n[k],s[k]) for k in range(len(n)) if k!=i)) + b.append(g[w]); R+=1 + A=sp.csr_matrix((vals,(rows,cols)),shape=(R,len(types))) + res=linprog(-obj,A_ub=A,b_ub=b,bounds=(0,None),method='highs') + val=-res.fun + if not exact: return val,None + y=np.maximum(-res.ineqlin.marginals,0) + yq=[Fraction(int(np.ceil(x*1e7)),10**7) for x in y] + # exact column check, repair with the full-type constraint (row index of types[-1] = all n, coef = obj) + Acoo=A.tocoo(); colsum=[Fraction(0)]*len(types) + for r,c,vv in zip(Acoo.row,Acoo.col,Acoo.data): colsum[c]+=yq[r]*int(round(vv)) + full=idx[tuple(n)] + tfix=max([Fraction(0)]+[(int(obj[c])-colsum[c])/int(obj[c]) for c in range(len(types))]) + yq[full]+=tfix + bound=sum(yq[r]*b[r] for r in range(R)) + return val,bound +if __name__=='__main__': + from collections import Counter + for p in [[7]+[6]*9,[7]+[6]*9+[1],[7,7]+[6]*8,[7]+[6]*9+[1,1],[7]+[6]*9+[2],[7,7]+[6]*8+[1],[7,7,7]+[6]*7]: + print(p,lp(Counter(p))) + print('d7',lp(Counter([7]+[6]*8),codim=1)) + print('CONTROL [8]^8 d=8:',lp(Counter([8]*8))) + print('CONTROL [8]^8 d=7 (need 111):',lp(Counter([8]*8),codim=1)) diff --git a/research/one-sided-decoders-all-m/checks/w8.py b/research/one-sided-decoders-all-m/checks/w8.py new file mode 100644 index 0000000000..1c680804e3 --- /dev/null +++ b/research/one-sided-decoders-all-m/checks/w8.py @@ -0,0 +1,15 @@ +# which hyperplane label-flats have complement of real rank <=7 (=> weight-8 codewords p_h) +from base import * +par=lambda x: bin(x).count('1')&1 +Lnp=np.array([[float(c) for c in r] for r in L]) +for z in range(1,512): + inn=[t for t in range(v) if not par(z&LAB[t])] + out=[t for t in range(v) if par(z&LAB[t])] + r=np.linalg.matrix_rank(Lnp[out]) if out else 0 + if r<=7: + # normal h + _,_,Vt=np.linalg.svd(Lnp[out]); h=Vt[-1] + off=[t for t in range(v) if abs(Lnp[t]@h)>1e-9] + isF=[i for i,f in enumerate(F0) if abs(abs(np.array([float(c) for c in f])@h)/np.linalg.norm(h)-np.sqrt(2))<1e-6] + print('z',z,'flat lines',len(inn),'compl rank',r,'|Off(h)|',len(off),'Off inside flat',set(off)<=set(inn),'h~f_i',isF) +# max hyperplane section of P112 (lines in a real hyperplane spanned by roots): check via 7-subsets is heavy; use flats of E7 type diff --git a/research/one-sided-decoders-all-m/data/data.json b/research/one-sided-decoders-all-m/data/data.json new file mode 100644 index 0000000000..2b799f9238 --- /dev/null +++ b/research/one-sided-decoders-all-m/data/data.json @@ -0,0 +1 @@ +{"LAB": [457, 211, 3, 281, 349, 71, 379, 97, 195, 473, 373, 111, 403, 137, 89, 323, 263, 29, 289, 59, 153, 387, 303, 53, 399, 149, 425, 179, 17, 267, 423, 189, 69, 351, 99, 377, 475, 193, 109, 375, 133, 415, 307, 41, 163, 441, 277, 15, 257, 429, 21, 419, 51, 389, 61, 145, 365, 219, 355, 463, 325, 489, 81, 487, 167, 273, 169, 5, 143, 35, 411, 45, 465, 381, 197, 371, 227, 341, 237, 65, 47, 409, 33, 141, 7, 171, 275, 165, 345, 501, 77, 507, 107, 477, 101, 201, 147, 63, 391, 49, 417, 23, 431, 259, 255, 329, 241, 93, 215, 123, 451, 117], "Z": [321, 209, 317, 173, 91, 459, 39, 439], "FC": [[1, 1, 0, 0, 1, 1, 0, 0], [1, -1, 0, 0, 1, -1, 0, 0], [1, 1, 0, 0, 1, -1, 0, 0], [1, -1, 0, 0, 1, 1, 0, 0], [1, 0, 1, 0, 1, 0, 1, 0], [1, 0, -1, 0, 1, 0, -1, 0], [1, 0, 1, 0, 1, 0, -1, 0], [1, 0, -1, 0, 1, 0, 1, 0], [1, 0, 0, 1, 1, 0, 0, 1], [1, 0, 0, -1, 1, 0, 0, -1], [1, 0, 0, 1, 1, 0, 0, -1], [1, 0, 0, -1, 1, 0, 0, 1], [1, 1, 0, 0, -1, 1, 0, 0], [1, -1, 0, 0, -1, -1, 0, 0], [1, 1, 0, 0, -1, -1, 0, 0], [1, -1, 0, 0, -1, 1, 0, 0], [1, 0, 1, 0, -1, 0, 1, 0], [1, 0, -1, 0, -1, 0, -1, 0], [1, 0, 1, 0, -1, 0, -1, 0], [1, 0, -1, 0, -1, 0, 1, 0], [1, 0, 0, 1, -1, 0, 0, 1], [1, 0, 0, -1, -1, 0, 0, -1], [1, 0, 0, 1, -1, 0, 0, -1], [1, 0, 0, -1, -1, 0, 0, 1], [0, 1, 1, 0, 0, 1, 1, 0], [0, 1, -1, 0, 0, 1, -1, 0], [0, 1, 1, 0, 0, 1, -1, 0], [0, 1, -1, 0, 0, 1, 1, 0], [0, 1, 0, 1, 0, 1, 0, 1], [0, 1, 0, -1, 0, 1, 0, -1], [0, 1, 0, 1, 0, 1, 0, -1], [0, 1, 0, -1, 0, 1, 0, 1], [0, 1, 1, 0, 0, -1, 1, 0], [0, 1, -1, 0, 0, -1, -1, 0], [0, 1, 1, 0, 0, -1, -1, 0], [0, 1, -1, 0, 0, -1, 1, 0], [0, 1, 0, 1, 0, -1, 0, 1], [0, 1, 0, -1, 0, -1, 0, -1], [0, 1, 0, 1, 0, -1, 0, -1], [0, 1, 0, -1, 0, -1, 0, 1], [0, 0, 1, 1, 0, 0, 1, 1], [0, 0, 1, -1, 0, 0, 1, -1], [0, 0, 1, 1, 0, 0, 1, -1], [0, 0, 1, -1, 0, 0, 1, 1], [0, 0, 1, 1, 0, 0, -1, 1], [0, 0, 1, -1, 0, 0, -1, -1], [0, 0, 1, 1, 0, 0, -1, -1], [0, 0, 1, -1, 0, 0, -1, 1], [1, 1, 1, 1, 0, 0, 0, 0], [1, 1, 1, -1, 0, 0, 0, 0], [1, 1, 0, 0, 0, 0, 1, 1], [1, 1, 0, 0, 0, 0, 1, -1], [1, 1, 0, 0, 0, 0, -1, 1], [1, 1, 0, 0, 0, 0, -1, -1], [1, 1, -1, 1, 0, 0, 0, 0], [1, 1, -1, -1, 0, 0, 0, 0], [1, 0, 1, 0, 0, 1, 0, 1], [1, 0, 1, 0, 0, 1, 0, -1], [1, 0, 0, 1, 0, 1, 1, 0], [1, 0, 0, -1, 0, 1, 1, 0], [1, 0, 0, 1, 0, 1, -1, 0], [1, 0, 0, -1, 0, 1, -1, 0], [1, 0, -1, 0, 0, 1, 0, 1], [1, 0, -1, 0, 0, 1, 0, -1], [1, 0, 1, 0, 0, -1, 0, 1], [1, 0, 1, 0, 0, -1, 0, -1], [1, 0, 0, 1, 0, -1, 1, 0], [1, 0, 0, -1, 0, -1, 1, 0], [1, 0, 0, 1, 0, -1, -1, 0], [1, 0, 0, -1, 0, -1, -1, 0], [1, 0, -1, 0, 0, -1, 0, 1], [1, 0, -1, 0, 0, -1, 0, -1], [1, -1, 1, 1, 0, 0, 0, 0], [1, -1, 1, -1, 0, 0, 0, 0], [1, -1, 0, 0, 0, 0, 1, 1], [1, -1, 0, 0, 0, 0, 1, -1], [1, -1, 0, 0, 0, 0, -1, 1], [1, -1, 0, 0, 0, 0, -1, -1], [1, -1, -1, 1, 0, 0, 0, 0], [1, -1, -1, -1, 0, 0, 0, 0], [0, 1, 1, 0, 1, 0, 0, 1], [0, 1, 1, 0, 1, 0, 0, -1], [0, 1, 0, 1, 1, 0, 1, 0], [0, 1, 0, -1, 1, 0, 1, 0], [0, 1, 0, 1, 1, 0, -1, 0], [0, 1, 0, -1, 1, 0, -1, 0], [0, 1, -1, 0, 1, 0, 0, 1], [0, 1, -1, 0, 1, 0, 0, -1], [0, 0, 1, 1, 1, 1, 0, 0], [0, 0, 1, -1, 1, 1, 0, 0], [0, 0, 0, 0, 1, 1, 1, 1], [0, 0, 0, 0, 1, 1, 1, -1], [0, 0, 0, 0, 1, 1, -1, 1], [0, 0, 0, 0, 1, 1, -1, -1], [0, 0, -1, 1, 1, 1, 0, 0], [0, 0, -1, -1, 1, 1, 0, 0], [0, 0, 1, 1, 1, -1, 0, 0], [0, 0, 1, -1, 1, -1, 0, 0], [0, 0, 0, 0, 1, -1, 1, 1], [0, 0, 0, 0, 1, -1, 1, -1], [0, 0, 0, 0, 1, -1, -1, 1], [0, 0, 0, 0, 1, -1, -1, -1], [0, 0, -1, 1, 1, -1, 0, 0], [0, 0, -1, -1, 1, -1, 0, 0], [0, -1, 1, 0, 1, 0, 0, 1], [0, -1, 1, 0, 1, 0, 0, -1], [0, -1, 0, 1, 1, 0, 1, 0], [0, -1, 0, -1, 1, 0, 1, 0], [0, -1, 0, 1, 1, 0, -1, 0], [0, -1, 0, -1, 1, 0, -1, 0], [0, -1, -1, 0, 1, 0, 0, 1], [0, -1, -1, 0, 1, 0, 0, -1]], "L": [[1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.0], [0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 1.0, -1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0], [0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0], [0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [0.0, 1.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0], [0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [0.0, 1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0], [0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.0], [0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 0.0, -1.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 1.0, 0.0, 0.0, 0.0, -1.0, 0.0], [0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0], [0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, -1.0], [0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0, -1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, 1.0, 0.0, 0.0, -1.0, 0.0], [0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0], [0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, -1.0], [0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0], [0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0], [0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, -1.0], [0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 1.0, -1.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0], [0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, -1.0], [0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5], [0.5, 0.5, 0.5, 0.5, 0.5, 0.5, -0.5, -0.5], [0.5, 0.5, 0.5, 0.5, 0.5, -0.5, 0.5, -0.5], [0.5, 0.5, 0.5, 0.5, 0.5, -0.5, -0.5, 0.5], [0.5, 0.5, 0.5, 0.5, -0.5, 0.5, 0.5, -0.5], [0.5, 0.5, 0.5, 0.5, -0.5, 0.5, -0.5, 0.5], [0.5, 0.5, 0.5, 0.5, -0.5, -0.5, 0.5, 0.5], [0.5, 0.5, 0.5, 0.5, -0.5, -0.5, -0.5, -0.5], [0.5, 0.5, 0.5, -0.5, 0.5, 0.5, 0.5, -0.5], [0.5, 0.5, 0.5, -0.5, 0.5, 0.5, -0.5, 0.5], [0.5, 0.5, 0.5, -0.5, 0.5, -0.5, 0.5, 0.5], [0.5, 0.5, 0.5, -0.5, 0.5, -0.5, -0.5, -0.5], [0.5, 0.5, 0.5, -0.5, -0.5, 0.5, 0.5, 0.5], [0.5, 0.5, 0.5, -0.5, -0.5, 0.5, -0.5, -0.5], [0.5, 0.5, 0.5, -0.5, -0.5, -0.5, 0.5, -0.5], [0.5, 0.5, 0.5, -0.5, -0.5, -0.5, -0.5, 0.5], [0.5, 0.5, -0.5, 0.5, 0.5, 0.5, 0.5, -0.5], [0.5, 0.5, -0.5, 0.5, 0.5, 0.5, -0.5, 0.5], [0.5, 0.5, -0.5, 0.5, 0.5, -0.5, 0.5, 0.5], [0.5, 0.5, -0.5, 0.5, 0.5, -0.5, -0.5, -0.5], [0.5, 0.5, -0.5, 0.5, -0.5, 0.5, 0.5, 0.5], [0.5, 0.5, -0.5, 0.5, -0.5, 0.5, -0.5, -0.5], [0.5, 0.5, -0.5, 0.5, -0.5, -0.5, 0.5, -0.5], [0.5, 0.5, -0.5, 0.5, -0.5, -0.5, -0.5, 0.5], [0.5, 0.5, -0.5, -0.5, 0.5, 0.5, 0.5, 0.5], [0.5, 0.5, -0.5, -0.5, 0.5, 0.5, -0.5, -0.5], [0.5, 0.5, -0.5, -0.5, 0.5, -0.5, 0.5, -0.5], [0.5, 0.5, -0.5, -0.5, 0.5, -0.5, -0.5, 0.5], [0.5, 0.5, -0.5, -0.5, -0.5, 0.5, 0.5, -0.5], [0.5, 0.5, -0.5, -0.5, -0.5, 0.5, -0.5, 0.5], [0.5, 0.5, -0.5, -0.5, -0.5, -0.5, 0.5, 0.5], [0.5, 0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5], [0.5, -0.5, 0.5, 0.5, 0.5, 0.5, 0.5, -0.5], [0.5, -0.5, 0.5, 0.5, 0.5, 0.5, -0.5, 0.5], [0.5, -0.5, 0.5, 0.5, 0.5, -0.5, 0.5, 0.5], [0.5, -0.5, 0.5, 0.5, 0.5, -0.5, -0.5, -0.5], [0.5, -0.5, 0.5, 0.5, -0.5, 0.5, 0.5, 0.5], [0.5, -0.5, 0.5, 0.5, -0.5, 0.5, -0.5, -0.5], [0.5, -0.5, 0.5, 0.5, -0.5, -0.5, 0.5, -0.5], [0.5, -0.5, 0.5, 0.5, -0.5, -0.5, -0.5, 0.5], [0.5, -0.5, 0.5, -0.5, 0.5, 0.5, 0.5, 0.5], [0.5, -0.5, 0.5, -0.5, 0.5, 0.5, -0.5, -0.5], [0.5, -0.5, 0.5, -0.5, 0.5, -0.5, 0.5, -0.5], [0.5, -0.5, 0.5, -0.5, 0.5, -0.5, -0.5, 0.5], [0.5, -0.5, 0.5, -0.5, -0.5, 0.5, 0.5, -0.5], [0.5, -0.5, 0.5, -0.5, -0.5, 0.5, -0.5, 0.5], [0.5, -0.5, 0.5, -0.5, -0.5, -0.5, 0.5, 0.5], [0.5, -0.5, 0.5, -0.5, -0.5, -0.5, -0.5, -0.5], [0.5, -0.5, -0.5, 0.5, 0.5, 0.5, 0.5, 0.5], [0.5, -0.5, -0.5, 0.5, 0.5, 0.5, -0.5, -0.5], [0.5, -0.5, -0.5, 0.5, 0.5, -0.5, 0.5, -0.5], [0.5, -0.5, -0.5, 0.5, 0.5, -0.5, -0.5, 0.5], [0.5, -0.5, -0.5, 0.5, -0.5, 0.5, 0.5, -0.5], [0.5, -0.5, -0.5, 0.5, -0.5, 0.5, -0.5, 0.5], [0.5, -0.5, -0.5, 0.5, -0.5, -0.5, 0.5, 0.5], [0.5, -0.5, -0.5, 0.5, -0.5, -0.5, -0.5, -0.5], [0.5, -0.5, -0.5, -0.5, 0.5, 0.5, 0.5, -0.5], [0.5, -0.5, -0.5, -0.5, 0.5, 0.5, -0.5, 0.5], [0.5, -0.5, -0.5, -0.5, 0.5, -0.5, 0.5, 0.5], [0.5, -0.5, -0.5, -0.5, 0.5, -0.5, -0.5, -0.5], [0.5, -0.5, -0.5, -0.5, -0.5, 0.5, 0.5, 0.5], [0.5, -0.5, -0.5, -0.5, -0.5, 0.5, -0.5, -0.5], [0.5, -0.5, -0.5, -0.5, -0.5, -0.5, 0.5, -0.5], [0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, 0.5]], "F0": [[1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0], [1.0, -1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, -1.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 1.0, -1.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, -1.0]], "E8": [[1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, -1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.0], [0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 1.0, -1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0], [0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0], [0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [0.0, 1.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0], [0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [0.0, 1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0], [0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.0], [0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, -1.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 0.0, -1.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 1.0, 0.0, 0.0, 0.0, -1.0, 0.0], [0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0], [0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, -1.0], [0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0, -1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, 1.0, 0.0, 0.0, -1.0, 0.0], [0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0], [0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, -1.0], [0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 1.0, -1.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0], [0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0], [0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, -1.0], [0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 1.0, -1.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0], [0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, -1.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, -1.0], [0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5], [0.5, 0.5, 0.5, 0.5, 0.5, 0.5, -0.5, -0.5], [0.5, 0.5, 0.5, 0.5, 0.5, -0.5, 0.5, -0.5], [0.5, 0.5, 0.5, 0.5, 0.5, -0.5, -0.5, 0.5], [0.5, 0.5, 0.5, 0.5, -0.5, 0.5, 0.5, -0.5], [0.5, 0.5, 0.5, 0.5, -0.5, 0.5, -0.5, 0.5], [0.5, 0.5, 0.5, 0.5, -0.5, -0.5, 0.5, 0.5], [0.5, 0.5, 0.5, 0.5, -0.5, -0.5, -0.5, -0.5], [0.5, 0.5, 0.5, -0.5, 0.5, 0.5, 0.5, -0.5], [0.5, 0.5, 0.5, -0.5, 0.5, 0.5, -0.5, 0.5], [0.5, 0.5, 0.5, -0.5, 0.5, -0.5, 0.5, 0.5], [0.5, 0.5, 0.5, -0.5, 0.5, -0.5, -0.5, -0.5], [0.5, 0.5, 0.5, -0.5, -0.5, 0.5, 0.5, 0.5], [0.5, 0.5, 0.5, -0.5, -0.5, 0.5, -0.5, -0.5], [0.5, 0.5, 0.5, -0.5, -0.5, -0.5, 0.5, -0.5], [0.5, 0.5, 0.5, -0.5, -0.5, -0.5, -0.5, 0.5], [0.5, 0.5, -0.5, 0.5, 0.5, 0.5, 0.5, -0.5], [0.5, 0.5, -0.5, 0.5, 0.5, 0.5, -0.5, 0.5], [0.5, 0.5, -0.5, 0.5, 0.5, -0.5, 0.5, 0.5], [0.5, 0.5, -0.5, 0.5, 0.5, -0.5, -0.5, -0.5], [0.5, 0.5, -0.5, 0.5, -0.5, 0.5, 0.5, 0.5], [0.5, 0.5, -0.5, 0.5, -0.5, 0.5, -0.5, -0.5], [0.5, 0.5, -0.5, 0.5, -0.5, -0.5, 0.5, -0.5], [0.5, 0.5, -0.5, 0.5, -0.5, -0.5, -0.5, 0.5], [0.5, 0.5, -0.5, -0.5, 0.5, 0.5, 0.5, 0.5], [0.5, 0.5, -0.5, -0.5, 0.5, 0.5, -0.5, -0.5], [0.5, 0.5, -0.5, -0.5, 0.5, -0.5, 0.5, -0.5], [0.5, 0.5, -0.5, -0.5, 0.5, -0.5, -0.5, 0.5], [0.5, 0.5, -0.5, -0.5, -0.5, 0.5, 0.5, -0.5], [0.5, 0.5, -0.5, -0.5, -0.5, 0.5, -0.5, 0.5], [0.5, 0.5, -0.5, -0.5, -0.5, -0.5, 0.5, 0.5], [0.5, 0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5], [0.5, -0.5, 0.5, 0.5, 0.5, 0.5, 0.5, -0.5], [0.5, -0.5, 0.5, 0.5, 0.5, 0.5, -0.5, 0.5], [0.5, -0.5, 0.5, 0.5, 0.5, -0.5, 0.5, 0.5], [0.5, -0.5, 0.5, 0.5, 0.5, -0.5, -0.5, -0.5], [0.5, -0.5, 0.5, 0.5, -0.5, 0.5, 0.5, 0.5], [0.5, -0.5, 0.5, 0.5, -0.5, 0.5, -0.5, -0.5], [0.5, -0.5, 0.5, 0.5, -0.5, -0.5, 0.5, -0.5], [0.5, -0.5, 0.5, 0.5, -0.5, -0.5, -0.5, 0.5], [0.5, -0.5, 0.5, -0.5, 0.5, 0.5, 0.5, 0.5], [0.5, -0.5, 0.5, -0.5, 0.5, 0.5, -0.5, -0.5], [0.5, -0.5, 0.5, -0.5, 0.5, -0.5, 0.5, -0.5], [0.5, -0.5, 0.5, -0.5, 0.5, -0.5, -0.5, 0.5], [0.5, -0.5, 0.5, -0.5, -0.5, 0.5, 0.5, -0.5], [0.5, -0.5, 0.5, -0.5, -0.5, 0.5, -0.5, 0.5], [0.5, -0.5, 0.5, -0.5, -0.5, -0.5, 0.5, 0.5], [0.5, -0.5, 0.5, -0.5, -0.5, -0.5, -0.5, -0.5], [0.5, -0.5, -0.5, 0.5, 0.5, 0.5, 0.5, 0.5], [0.5, -0.5, -0.5, 0.5, 0.5, 0.5, -0.5, -0.5], [0.5, -0.5, -0.5, 0.5, 0.5, -0.5, 0.5, -0.5], [0.5, -0.5, -0.5, 0.5, 0.5, -0.5, -0.5, 0.5], [0.5, -0.5, -0.5, 0.5, -0.5, 0.5, 0.5, -0.5], [0.5, -0.5, -0.5, 0.5, -0.5, 0.5, -0.5, 0.5], [0.5, -0.5, -0.5, 0.5, -0.5, -0.5, 0.5, 0.5], [0.5, -0.5, -0.5, 0.5, -0.5, -0.5, -0.5, -0.5], [0.5, -0.5, -0.5, -0.5, 0.5, 0.5, 0.5, -0.5], [0.5, -0.5, -0.5, -0.5, 0.5, 0.5, -0.5, 0.5], [0.5, -0.5, -0.5, -0.5, 0.5, -0.5, 0.5, 0.5], [0.5, -0.5, -0.5, -0.5, 0.5, -0.5, -0.5, -0.5], [0.5, -0.5, -0.5, -0.5, -0.5, 0.5, 0.5, 0.5], [0.5, -0.5, -0.5, -0.5, -0.5, 0.5, -0.5, -0.5], [0.5, -0.5, -0.5, -0.5, -0.5, -0.5, 0.5, -0.5], [0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, 0.5]]} \ No newline at end of file diff --git a/research/one-sided-decoders-all-m/data/gens.txt b/research/one-sided-decoders-all-m/data/gens.txt new file mode 100644 index 0000000000..dfe0d38b42 --- /dev/null +++ b/research/one-sided-decoders-all-m/data/gens.txt @@ -0,0 +1,1352 @@ +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 +0 15 12 3 56 63 57 62 58 61 60 59 2 13 14 1 64 71 65 70 66 69 68 67 80 87 81 86 82 85 84 83 111 104 110 105 109 106 107 108 40 47 44 43 42 45 46 41 48 49 50 52 51 53 54 55 4 6 8 11 10 9 7 5 16 18 20 23 22 21 19 17 72 73 74 76 75 77 78 79 24 26 28 31 30 29 27 25 88 89 90 92 91 93 94 95 103 102 101 99 100 98 97 96 33 35 37 38 39 36 34 32 +50 75 51 74 4 19 16 7 58 67 66 59 52 77 53 76 6 17 18 5 60 69 68 61 80 105 111 86 28 39 36 31 81 104 110 87 30 37 38 29 88 97 96 89 103 94 95 102 48 49 0 2 12 14 54 55 56 64 8 11 20 23 62 70 57 65 10 9 22 21 63 71 72 73 3 1 15 13 78 79 24 32 82 83 109 108 27 35 40 43 90 98 101 93 45 46 42 41 91 99 100 92 47 44 33 25 106 107 85 84 34 26 +50 76 52 74 56 70 64 62 8 23 20 11 51 77 53 75 57 71 65 63 10 21 22 9 24 35 32 27 82 108 109 83 26 33 34 25 84 106 107 85 88 102 103 89 96 94 95 97 48 49 0 12 2 14 54 55 4 16 58 59 66 67 7 19 6 18 60 61 68 69 5 17 72 73 3 15 1 13 78 79 80 111 28 31 36 39 86 105 40 43 90 101 98 93 45 46 44 47 92 99 100 91 41 42 104 87 37 38 29 30 110 81 +0 1 2 3 8 9 10 11 4 5 6 7 12 13 14 15 20 21 22 23 16 17 18 19 28 29 30 31 24 25 26 27 36 37 38 39 32 33 34 35 40 41 44 45 42 43 46 47 48 54 50 52 51 53 49 55 58 60 56 62 57 63 59 61 66 68 64 70 65 71 67 69 72 78 74 76 75 77 73 79 82 84 80 86 81 87 83 85 88 94 90 92 91 93 89 95 96 102 98 100 99 101 97 103 106 108 104 110 105 111 107 109 +0 15 12 3 58 61 60 59 56 63 57 62 2 13 14 1 66 69 68 67 64 71 65 70 82 85 84 83 80 87 81 86 109 106 107 108 111 104 110 105 40 47 42 45 44 43 46 41 48 54 50 51 52 53 49 55 8 10 4 7 6 5 11 9 20 22 16 19 18 17 23 21 72 78 74 75 76 77 73 79 28 30 24 27 26 25 31 29 88 94 90 91 92 93 89 95 103 97 101 100 99 98 102 96 37 39 33 34 35 32 38 36 +50 75 51 74 58 67 66 59 4 19 16 7 52 77 53 76 60 69 68 61 6 17 18 5 28 39 36 31 80 105 111 86 30 37 38 29 81 104 110 87 88 97 103 94 96 89 95 102 48 54 0 12 2 14 49 55 8 20 56 62 64 70 11 23 10 22 57 63 65 71 9 21 72 78 3 15 1 13 73 79 82 109 24 27 32 35 83 108 40 45 90 101 98 93 43 46 42 47 91 100 99 92 41 44 106 85 33 34 25 26 107 84 +50 76 52 74 8 23 20 11 56 70 64 62 51 77 53 75 10 21 22 9 57 71 65 63 82 108 109 83 24 35 32 27 84 106 107 85 26 33 34 25 88 102 96 94 103 89 95 97 48 54 0 2 12 14 49 55 58 66 4 7 16 19 59 67 60 68 6 5 18 17 61 69 72 78 3 1 15 13 73 79 28 36 80 86 111 105 31 39 40 45 90 98 101 93 43 46 44 41 92 100 99 91 47 42 37 29 104 110 87 81 38 30 +48 73 49 72 4 18 6 16 56 65 57 64 54 79 55 78 7 17 5 19 62 71 63 70 82 107 84 109 28 38 30 36 83 106 85 108 31 37 29 39 90 99 91 98 92 101 93 100 0 2 50 51 52 53 12 14 8 10 58 66 60 68 20 22 11 9 59 67 61 69 23 21 3 1 74 75 76 77 15 13 80 81 24 32 26 34 111 110 88 96 40 42 44 46 103 95 89 97 43 41 47 45 102 94 104 105 33 25 35 27 87 86 +48 78 54 72 8 22 10 20 58 68 60 66 49 79 55 73 11 21 9 23 59 69 61 67 80 110 81 111 24 34 26 32 86 104 87 105 27 33 25 35 90 100 92 98 91 101 93 99 0 2 50 52 51 53 12 14 4 6 56 64 57 65 16 18 7 5 62 70 63 71 19 17 3 1 74 76 75 77 15 13 82 84 28 36 30 38 109 107 88 96 40 44 42 46 103 95 94 102 45 41 47 43 97 89 106 108 37 29 39 31 85 83 +50 75 51 74 4 19 7 16 58 67 59 66 52 77 53 76 6 17 5 18 60 69 61 68 80 105 86 111 28 39 31 36 81 104 87 110 30 37 29 38 88 97 89 96 94 103 95 102 0 2 48 49 54 55 12 14 8 11 56 64 62 70 20 23 10 9 57 65 63 71 22 21 3 1 72 73 78 79 15 13 82 83 24 32 27 35 109 108 90 98 40 43 45 46 101 93 91 99 42 41 47 44 100 92 106 107 33 25 34 26 85 84 +50 76 52 74 8 23 11 20 56 70 62 64 51 77 53 75 10 21 9 22 57 71 63 65 82 108 83 109 24 35 27 32 84 106 85 107 26 33 25 34 88 102 94 96 89 103 95 97 0 2 48 54 49 55 12 14 4 7 58 66 59 67 16 19 6 5 60 68 61 69 18 17 3 1 72 78 73 79 15 13 80 86 28 36 31 39 111 105 90 98 40 45 43 46 101 93 92 100 44 41 47 42 99 91 104 110 37 29 38 30 87 81 +48 73 49 72 56 65 57 64 4 18 6 16 54 79 55 78 62 71 63 70 7 17 5 19 28 38 30 36 82 107 84 109 31 37 29 39 83 106 85 108 90 99 92 101 91 98 93 100 0 12 50 52 51 53 2 14 58 60 8 20 10 22 66 68 59 61 11 23 9 21 67 69 3 15 74 76 75 77 1 13 24 26 80 111 81 110 32 34 88 103 40 44 42 46 96 95 89 102 43 47 41 45 97 94 33 35 104 87 105 86 25 27 +48 78 54 72 58 68 60 66 8 22 10 20 49 79 55 73 59 69 61 67 11 21 9 23 24 34 26 32 80 110 81 111 27 33 25 35 86 104 87 105 90 100 91 101 92 98 93 99 0 12 50 51 52 53 2 14 56 57 4 16 6 18 64 65 62 63 7 19 5 17 70 71 3 15 74 75 76 77 1 13 28 30 82 109 84 107 36 38 88 103 40 42 44 46 96 95 94 97 45 47 41 43 102 89 37 39 106 85 108 83 29 31 +50 75 51 74 58 67 59 66 4 19 7 16 52 77 53 76 60 69 61 68 6 17 5 18 28 39 31 36 80 105 86 111 30 37 29 38 81 104 87 110 88 97 94 103 89 96 95 102 0 12 48 54 49 55 2 14 56 62 8 20 11 23 64 70 57 63 10 22 9 21 65 71 3 15 72 78 73 79 1 13 24 27 82 109 83 108 32 35 90 101 40 45 43 46 98 93 91 100 42 47 41 44 99 92 33 34 106 85 107 84 25 26 +50 76 52 74 56 70 62 64 8 23 11 20 51 77 53 75 57 71 63 65 10 21 9 22 24 35 27 32 82 108 83 109 26 33 25 34 84 106 85 107 88 102 89 103 94 96 95 97 0 12 48 49 54 55 2 14 58 59 4 16 7 19 66 67 60 61 6 18 5 17 68 69 3 15 72 73 78 79 1 13 28 31 80 111 86 105 36 39 90 101 40 43 45 46 98 93 92 99 44 47 41 42 100 91 37 38 104 87 110 81 29 30 +48 73 49 72 4 18 16 6 56 65 64 57 54 79 55 78 7 17 19 5 62 71 70 63 82 107 109 84 28 38 36 30 83 106 108 85 31 37 39 29 90 99 98 91 101 92 93 100 50 51 0 2 12 14 52 53 58 66 8 10 20 22 60 68 59 67 11 9 23 21 61 69 74 75 3 1 15 13 76 77 24 32 80 81 111 110 26 34 40 42 88 96 103 95 44 46 43 41 89 97 102 94 47 45 33 25 104 105 87 86 35 27 +48 78 54 72 58 68 66 60 8 22 20 10 49 79 55 73 59 69 67 61 11 21 23 9 24 34 32 26 80 110 111 81 27 33 35 25 86 104 105 87 90 100 101 91 98 92 93 99 50 51 0 12 2 14 52 53 4 16 56 57 64 65 6 18 7 19 62 63 70 71 5 17 74 75 3 15 1 13 76 77 82 109 28 30 36 38 84 107 40 42 88 103 96 95 44 46 45 47 94 97 102 89 41 43 106 85 37 39 29 31 108 83 +0 1 2 3 4 5 7 6 8 9 11 10 12 13 14 15 16 17 19 18 20 21 23 22 24 25 27 26 28 29 31 30 32 33 35 34 36 37 39 38 40 41 43 42 45 44 46 47 50 51 48 49 54 55 52 53 58 59 56 57 62 63 60 61 66 67 64 65 70 71 68 69 74 75 72 73 78 79 76 77 82 83 80 81 86 87 84 85 90 91 88 89 94 95 92 93 98 99 96 97 102 103 100 101 106 107 104 105 110 111 108 109 +0 15 12 3 58 61 59 60 56 63 62 57 2 13 14 1 66 69 67 68 64 71 70 65 82 85 83 84 80 87 86 81 109 106 108 107 111 104 105 110 40 47 45 42 43 44 46 41 50 51 48 54 49 55 52 53 4 7 8 10 11 9 6 5 16 19 20 22 23 21 18 17 74 75 72 78 73 79 76 77 24 27 28 30 31 29 26 25 90 91 88 94 89 95 92 93 101 100 103 97 102 96 99 98 33 34 37 39 38 36 35 32 +48 73 49 72 56 65 64 57 4 18 16 6 54 79 55 78 62 71 70 63 7 17 19 5 28 38 36 30 82 107 109 84 31 37 39 29 83 106 108 85 90 99 101 92 98 91 93 100 50 52 0 12 2 14 51 53 8 20 58 60 66 68 10 22 11 23 59 61 67 69 9 21 74 76 3 15 1 13 75 77 80 111 24 26 32 34 81 110 40 44 88 103 96 95 42 46 43 47 89 102 97 94 41 45 104 87 33 35 25 27 105 86 +48 78 54 72 8 22 20 10 58 68 66 60 49 79 55 73 11 21 23 9 59 69 67 61 80 110 111 81 24 34 32 26 86 104 105 87 27 33 35 25 90 100 98 92 101 91 93 99 50 52 0 2 12 14 51 53 56 64 4 6 16 18 57 65 62 70 7 5 19 17 63 71 74 76 3 1 15 13 75 77 28 36 82 84 109 107 30 38 40 44 88 96 103 95 42 46 45 41 94 102 97 89 47 43 37 29 106 108 85 83 39 31 +0 1 2 3 8 9 11 10 4 5 7 6 12 13 14 15 20 21 23 22 16 17 19 18 28 29 31 30 24 25 27 26 36 37 39 38 32 33 35 34 40 41 45 44 43 42 46 47 50 52 48 54 49 55 51 53 56 62 58 60 59 61 57 63 64 70 66 68 67 69 65 71 74 76 72 78 73 79 75 77 80 86 82 84 83 85 81 87 90 92 88 94 89 95 91 93 98 100 96 102 97 103 99 101 104 110 106 108 107 109 105 111 +0 15 12 3 56 63 62 57 58 61 59 60 2 13 14 1 64 71 70 65 66 69 67 68 80 87 86 81 82 85 83 84 111 104 105 110 109 106 108 107 40 47 43 44 45 42 46 41 50 52 48 49 54 55 51 53 8 11 4 6 7 5 10 9 20 23 16 18 19 17 22 21 74 76 72 73 78 79 75 77 28 31 24 26 27 25 30 29 90 92 88 89 94 95 91 93 101 99 103 102 97 96 100 98 37 38 33 35 34 32 39 36 +4 5 6 7 0 1 2 3 8 9 10 11 16 17 18 19 12 13 14 15 20 21 22 23 24 25 32 33 40 41 42 43 26 27 34 35 44 45 46 47 28 29 30 31 36 37 38 39 48 49 56 57 64 65 72 73 50 51 58 59 66 67 74 75 52 53 60 61 68 69 76 77 54 55 62 63 70 71 78 79 80 81 88 89 96 97 104 105 82 83 90 91 98 99 106 107 84 85 92 93 100 101 108 109 86 87 94 95 102 103 110 111 +56 63 57 62 0 15 12 3 58 61 60 59 64 71 65 70 2 13 14 1 66 69 68 67 80 87 111 104 40 47 44 43 81 86 110 105 42 45 46 41 82 85 84 83 109 106 107 108 48 49 4 6 16 18 72 73 50 52 8 11 20 23 74 76 51 53 10 9 22 21 75 77 54 55 7 5 19 17 78 79 24 26 88 89 103 102 33 35 28 31 90 92 101 99 37 38 30 29 91 93 100 98 39 36 27 25 94 95 97 96 34 32 +4 19 16 7 50 75 51 74 58 67 66 59 6 17 18 5 52 77 53 76 60 69 68 61 80 105 81 104 88 97 96 89 111 86 110 87 103 94 95 102 28 39 36 31 30 37 38 29 48 49 56 64 57 65 72 73 0 2 8 11 10 9 3 1 12 14 20 23 22 21 15 13 54 55 62 70 63 71 78 79 24 32 40 43 42 41 33 25 82 83 90 98 91 99 106 107 109 108 101 93 100 92 85 84 27 35 45 46 47 44 34 26 +56 70 64 62 50 76 52 74 8 23 20 11 57 71 65 63 51 77 53 75 10 21 22 9 24 35 26 33 88 102 103 89 32 27 34 25 96 94 95 97 82 108 109 83 84 106 107 85 48 49 4 16 6 18 72 73 0 12 58 59 60 61 3 15 2 14 66 67 68 69 1 13 54 55 7 19 5 17 78 79 80 111 40 43 44 47 104 87 28 31 90 101 92 99 37 38 36 39 98 93 100 91 29 30 86 105 45 46 41 42 110 81 +4 5 6 7 8 9 10 11 0 1 2 3 16 17 18 19 20 21 22 23 12 13 14 15 40 41 42 43 24 25 32 33 44 45 46 47 26 27 34 35 28 29 36 37 30 31 38 39 48 72 56 64 57 65 49 73 58 66 50 74 51 75 59 67 60 68 52 76 53 77 61 69 54 78 62 70 63 71 55 79 88 96 80 104 81 105 89 97 82 106 90 98 91 99 83 107 84 108 92 100 93 101 85 109 94 102 86 110 87 111 95 103 +56 63 57 62 58 61 60 59 0 15 12 3 64 71 65 70 66 69 68 67 2 13 14 1 40 47 44 43 80 87 111 104 42 45 46 41 81 86 110 105 82 85 109 106 84 83 107 108 48 72 4 16 6 18 49 73 8 20 50 74 52 76 11 23 10 22 51 75 53 77 9 21 54 78 7 19 5 17 55 79 88 103 24 33 26 35 89 102 28 37 90 101 92 99 31 38 30 39 91 100 93 98 29 36 94 97 27 34 25 32 95 96 +4 19 16 7 58 67 66 59 50 75 51 74 6 17 18 5 60 69 68 61 52 77 53 76 88 97 96 89 80 105 81 104 103 94 95 102 111 86 110 87 28 39 30 37 36 31 38 29 48 72 56 57 64 65 49 73 8 10 0 3 2 1 11 9 20 22 12 15 14 13 23 21 54 78 62 63 70 71 55 79 40 42 24 33 32 25 43 41 82 106 90 91 98 99 83 107 109 85 101 100 93 92 108 84 45 47 27 34 35 26 46 44 +56 70 64 62 8 23 20 11 50 76 52 74 57 71 65 63 10 21 22 9 51 77 53 75 88 102 103 89 24 35 26 33 96 94 95 97 32 27 34 25 82 108 84 106 109 83 107 85 48 72 4 6 16 18 49 73 58 60 0 3 12 15 59 61 66 68 2 1 14 13 67 69 54 78 7 5 19 17 55 79 40 44 80 104 111 87 43 47 28 37 90 92 101 99 31 38 36 29 98 100 93 91 39 30 45 41 86 110 105 81 46 42 +48 55 49 54 0 14 2 12 50 53 51 52 72 79 73 78 3 13 1 15 74 77 75 76 88 95 96 103 40 46 42 44 89 94 97 102 43 45 41 47 90 93 91 92 98 101 99 100 4 6 56 57 64 65 16 18 8 10 58 60 66 68 20 22 11 9 59 61 67 69 23 21 7 5 62 63 70 71 19 17 80 81 24 26 32 34 111 110 82 84 28 30 36 38 109 107 83 85 31 29 39 37 108 106 86 87 27 25 35 33 105 104 +48 78 72 54 8 22 10 20 58 68 66 60 49 79 73 55 11 21 9 23 59 69 67 61 80 110 81 111 24 34 32 26 104 86 105 87 33 27 25 35 90 100 98 92 91 101 99 93 4 6 56 64 57 65 16 18 0 2 50 52 51 53 12 14 3 1 74 76 75 77 15 13 7 5 62 70 63 71 19 17 88 96 40 44 42 46 103 95 82 84 28 36 30 38 109 107 106 108 37 29 39 31 85 83 94 102 45 41 47 43 97 89 +56 63 57 62 0 15 3 12 58 61 59 60 64 71 65 70 2 13 1 14 66 69 67 68 80 87 104 111 40 47 43 44 81 86 105 110 42 45 41 46 82 85 83 84 106 109 107 108 4 6 48 49 72 73 16 18 8 11 50 52 74 76 20 23 10 9 51 53 75 77 22 21 7 5 54 55 78 79 19 17 88 89 24 26 33 35 103 102 90 92 28 31 37 38 101 99 91 93 30 29 39 36 100 98 94 95 27 25 34 32 97 96 +56 70 64 62 8 23 11 20 50 76 74 52 57 71 65 63 10 21 9 22 51 77 75 53 88 102 89 103 24 35 33 26 96 94 97 95 32 27 25 34 82 108 106 84 83 109 107 85 4 6 48 72 49 73 16 18 0 3 58 60 59 61 12 15 2 1 66 68 67 69 14 13 7 5 54 78 55 79 19 17 80 104 40 44 43 47 111 87 90 92 28 37 31 38 101 99 98 100 36 29 39 30 93 91 86 110 45 41 46 42 105 81 +48 55 49 54 0 14 12 2 50 53 52 51 72 79 73 78 3 13 15 1 74 77 76 75 88 95 103 96 40 46 44 42 89 94 102 97 43 45 47 41 90 93 92 91 101 98 99 100 56 57 4 6 16 18 64 65 58 60 8 10 20 22 66 68 59 61 11 9 23 21 67 69 62 63 7 5 19 17 70 71 24 26 80 81 111 110 32 34 28 30 82 84 109 107 36 38 31 29 83 85 108 106 39 37 27 25 86 87 105 104 35 33 +48 78 72 54 58 68 60 66 8 22 20 10 49 79 73 55 59 69 61 67 11 21 23 9 24 34 26 32 80 110 111 81 33 27 35 25 104 86 87 105 90 100 101 91 92 98 99 93 56 57 4 16 6 18 64 65 0 12 50 51 52 53 2 14 3 15 74 75 76 77 1 13 62 63 7 19 5 17 70 71 88 103 40 42 44 46 96 95 28 30 82 109 84 107 36 38 37 39 106 85 108 83 29 31 94 97 45 47 41 43 102 89 +4 5 6 7 0 1 3 2 8 9 11 10 16 17 18 19 12 13 15 14 20 21 23 22 24 25 33 32 40 41 43 42 26 27 35 34 44 45 47 46 28 29 31 30 37 36 38 39 56 57 48 49 72 73 64 65 58 59 50 51 74 75 66 67 60 61 52 53 76 77 68 69 62 63 54 55 78 79 70 71 88 89 80 81 104 105 96 97 90 91 82 83 106 107 98 99 92 93 84 85 108 109 100 101 94 95 86 87 110 111 102 103 +4 19 16 7 58 67 59 66 50 75 74 51 6 17 18 5 60 69 61 68 52 77 76 53 88 97 89 96 80 105 104 81 103 94 102 95 111 86 87 110 28 39 37 30 31 36 38 29 56 57 48 72 49 73 64 65 0 3 8 10 11 9 2 1 12 15 20 22 23 21 14 13 62 63 54 78 55 79 70 71 24 33 40 42 43 41 32 25 90 91 82 106 83 107 98 99 101 100 109 85 108 84 93 92 27 34 45 47 46 44 35 26 +48 55 49 54 50 53 51 52 0 14 2 12 72 79 73 78 74 77 75 76 3 13 1 15 40 46 42 44 88 95 96 103 43 45 41 47 89 94 97 102 90 93 98 101 91 92 99 100 4 16 56 64 57 65 6 18 58 66 8 20 10 22 60 68 59 67 11 23 9 21 61 69 7 19 62 70 63 71 5 17 24 32 80 111 81 110 26 34 82 109 28 36 30 38 84 107 83 108 31 39 29 37 85 106 27 35 86 105 87 104 25 33 +48 78 72 54 58 68 66 60 8 22 10 20 49 79 73 55 59 69 67 61 11 21 9 23 24 34 32 26 80 110 81 111 33 27 25 35 104 86 105 87 90 100 91 101 98 92 99 93 4 16 56 57 64 65 6 18 50 51 0 12 2 14 52 53 74 75 3 15 1 13 76 77 7 19 62 63 70 71 5 17 40 42 88 103 96 95 44 46 82 109 28 30 36 38 84 107 106 85 37 39 29 31 108 83 45 47 94 97 102 89 41 43 +56 63 57 62 58 61 59 60 0 15 3 12 64 71 65 70 66 69 67 68 2 13 1 14 40 47 43 44 80 87 104 111 42 45 41 46 81 86 105 110 82 85 106 109 83 84 107 108 4 16 48 72 49 73 6 18 50 74 8 20 11 23 52 76 51 75 10 22 9 21 53 77 7 19 54 78 55 79 5 17 24 33 88 103 89 102 26 35 90 101 28 37 31 38 92 99 91 100 30 39 29 36 93 98 27 34 94 97 95 96 25 32 +56 70 64 62 50 76 74 52 8 23 11 20 57 71 65 63 51 77 75 53 10 21 9 22 24 35 33 26 88 102 89 103 32 27 25 34 96 94 97 95 82 108 83 109 106 84 107 85 4 16 48 49 72 73 6 18 58 59 0 12 3 15 60 61 66 67 2 14 1 13 68 69 7 19 54 55 78 79 5 17 40 43 80 111 104 87 44 47 90 101 28 31 37 38 92 99 98 93 36 39 29 30 100 91 45 46 86 105 110 81 41 42 +48 55 49 54 50 53 52 51 0 14 12 2 72 79 73 78 74 77 76 75 3 13 15 1 40 46 44 42 88 95 103 96 43 45 47 41 89 94 102 97 90 93 101 98 92 91 99 100 56 64 4 16 6 18 57 65 8 20 58 66 60 68 10 22 11 23 59 67 61 69 9 21 62 70 7 19 5 17 63 71 80 111 24 32 26 34 81 110 28 36 82 109 84 107 30 38 31 39 83 108 85 106 29 37 86 105 27 35 25 33 87 104 +48 78 72 54 8 22 20 10 58 68 60 66 49 79 73 55 11 21 23 9 59 69 61 67 80 110 111 81 24 34 26 32 104 86 87 105 33 27 35 25 90 100 92 98 101 91 99 93 56 64 4 6 16 18 57 65 50 52 0 2 12 14 51 53 74 76 3 1 15 13 75 77 62 70 7 5 19 17 63 71 40 44 88 96 103 95 42 46 28 36 82 84 109 107 30 38 37 29 106 108 85 83 39 31 45 41 94 102 97 89 47 43 +4 5 6 7 8 9 11 10 0 1 3 2 16 17 18 19 20 21 23 22 12 13 15 14 40 41 43 42 24 25 33 32 44 45 47 46 26 27 35 34 28 29 37 36 31 30 38 39 56 64 48 72 49 73 57 65 50 74 58 66 59 67 51 75 52 76 60 68 61 69 53 77 62 70 54 78 55 79 63 71 80 104 88 96 89 97 81 105 90 98 82 106 83 107 91 99 92 100 84 108 85 109 93 101 86 110 94 102 95 103 87 111 +4 19 16 7 50 75 74 51 58 67 59 66 6 17 18 5 52 77 76 53 60 69 61 68 80 105 104 81 88 97 89 96 111 86 87 110 103 94 102 95 28 39 31 36 37 30 38 29 56 64 48 49 72 73 57 65 8 11 0 2 3 1 10 9 20 23 12 14 15 13 22 21 62 70 54 55 78 79 63 71 40 43 24 32 33 25 42 41 90 98 82 83 106 107 91 99 101 93 109 108 85 84 100 92 45 46 27 35 34 26 47 44 +8 9 10 11 0 1 2 3 4 5 6 7 20 21 22 23 12 13 14 15 16 17 18 19 28 29 36 37 40 41 44 45 30 31 38 39 42 43 46 47 24 25 26 27 32 33 34 35 48 54 58 60 66 68 72 78 50 52 56 62 64 70 74 76 51 53 57 63 65 71 75 77 49 55 59 61 67 69 73 79 82 84 88 94 96 102 106 108 80 86 90 92 98 100 104 110 81 87 91 93 99 101 105 111 83 85 89 95 97 103 107 109 +58 61 60 59 0 15 12 3 56 63 57 62 66 69 68 67 2 13 14 1 64 71 65 70 82 85 109 106 40 47 42 45 84 83 107 108 44 43 46 41 80 87 81 86 111 104 110 105 48 54 8 10 20 22 72 78 50 51 4 7 16 19 74 75 52 53 6 5 18 17 76 77 49 55 11 9 23 21 73 79 28 30 88 94 103 97 37 39 24 27 90 91 101 100 33 34 26 25 92 93 99 98 35 32 31 29 89 95 102 96 38 36 +58 67 66 59 50 75 51 74 4 19 16 7 60 69 68 61 52 77 53 76 6 17 18 5 28 39 30 37 88 97 103 94 36 31 38 29 96 89 95 102 80 105 111 86 81 104 110 87 48 54 8 20 10 22 72 78 0 12 56 62 57 63 3 15 2 14 64 70 65 71 1 13 49 55 11 23 9 21 73 79 82 109 40 45 42 47 106 85 24 27 90 101 91 100 33 34 32 35 98 93 99 92 25 26 83 108 43 46 41 44 107 84 +8 23 20 11 50 76 52 74 56 70 64 62 10 21 22 9 51 77 53 75 57 71 65 63 82 108 84 106 88 102 96 94 109 83 107 85 103 89 95 97 24 35 32 27 26 33 34 25 48 54 58 66 60 68 72 78 0 2 4 7 6 5 3 1 12 14 16 19 18 17 15 13 49 55 59 67 61 69 73 79 28 36 40 45 44 41 37 29 80 86 90 98 92 100 104 110 111 105 101 93 99 91 87 81 31 39 43 46 47 42 38 30 +8 9 10 11 4 5 6 7 0 1 2 3 20 21 22 23 16 17 18 19 12 13 14 15 40 41 44 45 28 29 36 37 42 43 46 47 30 31 38 39 24 25 32 33 26 27 34 35 48 72 58 66 60 68 54 78 56 64 50 74 52 76 62 70 57 65 51 75 53 77 63 71 49 73 59 67 61 69 55 79 88 96 82 106 84 108 94 102 80 104 90 98 92 100 86 110 81 105 91 99 93 101 87 111 89 97 83 107 85 109 95 103 +58 61 60 59 56 63 57 62 0 15 12 3 66 69 68 67 64 71 65 70 2 13 14 1 40 47 42 45 82 85 109 106 44 43 46 41 84 83 107 108 80 87 111 104 81 86 110 105 48 72 8 20 10 22 54 78 4 16 50 74 51 75 7 19 6 18 52 76 53 77 5 17 49 73 11 23 9 21 55 79 88 103 28 37 30 39 94 97 24 33 90 101 91 100 27 34 26 35 92 99 93 98 25 32 89 102 31 38 29 36 95 96 +58 67 66 59 4 19 16 7 50 75 51 74 60 69 68 61 6 17 18 5 52 77 53 76 88 97 103 94 28 39 30 37 96 89 95 102 36 31 38 29 80 105 81 104 111 86 110 87 48 72 8 10 20 22 54 78 56 57 0 3 12 15 62 63 64 65 2 1 14 13 70 71 49 73 11 9 23 21 55 79 40 42 82 106 109 85 45 47 24 33 90 91 101 100 27 34 32 25 98 99 93 92 35 26 43 41 83 107 108 84 46 44 +8 23 20 11 56 70 64 62 50 76 52 74 10 21 22 9 57 71 65 63 51 77 53 75 88 102 96 94 82 108 84 106 103 89 95 97 109 83 107 85 24 35 26 33 32 27 34 25 48 72 58 60 66 68 54 78 4 6 0 3 2 1 7 5 16 18 12 15 14 13 19 17 49 73 59 61 67 69 55 79 40 44 28 37 36 29 45 41 80 104 90 92 98 100 86 110 111 87 101 99 93 91 105 81 43 47 31 38 39 30 46 42 +48 55 54 49 0 14 2 12 50 53 52 51 72 79 78 73 3 13 1 15 74 77 76 75 88 95 96 103 40 46 44 42 94 89 102 97 45 43 41 47 90 93 92 91 98 101 100 99 8 10 58 60 66 68 20 22 4 6 56 57 64 65 16 18 7 5 62 63 70 71 19 17 11 9 59 61 67 69 23 21 82 84 28 30 36 38 109 107 80 81 24 26 32 34 111 110 86 87 27 25 35 33 105 104 83 85 31 29 39 37 108 106 +48 73 72 49 4 18 6 16 56 65 64 57 54 79 78 55 7 17 5 19 62 71 70 63 82 107 84 109 28 38 36 30 106 83 108 85 37 31 29 39 90 99 98 91 92 101 100 93 8 10 58 66 60 68 20 22 0 2 50 51 52 53 12 14 3 1 74 75 76 77 15 13 11 9 59 67 61 69 23 21 88 96 40 42 44 46 103 95 80 81 24 32 26 34 111 110 104 105 33 25 35 27 87 86 89 97 43 41 47 45 102 94 +58 61 60 59 0 15 3 12 56 63 62 57 66 69 68 67 2 13 1 14 64 71 70 65 82 85 106 109 40 47 45 42 84 83 108 107 44 43 41 46 80 87 86 81 104 111 110 105 8 10 48 54 72 78 20 22 4 7 50 51 74 75 16 19 6 5 52 53 76 77 18 17 11 9 49 55 73 79 23 21 88 94 28 30 37 39 103 97 90 91 24 27 33 34 101 100 92 93 26 25 35 32 99 98 89 95 31 29 38 36 102 96 +58 67 66 59 4 19 7 16 50 75 74 51 60 69 68 61 6 17 5 18 52 77 76 53 88 97 94 103 28 39 37 30 96 89 102 95 36 31 29 38 80 105 104 81 86 111 110 87 8 10 48 72 54 78 20 22 0 3 56 57 62 63 12 15 2 1 64 65 70 71 14 13 11 9 49 73 55 79 23 21 82 106 40 42 45 47 109 85 90 91 24 33 27 34 101 100 98 99 32 25 35 26 93 92 83 107 43 41 46 44 108 84 +48 55 54 49 0 14 12 2 50 53 51 52 72 79 78 73 3 13 15 1 74 77 75 76 88 95 103 96 40 46 42 44 94 89 97 102 45 43 47 41 90 93 91 92 101 98 100 99 58 60 8 10 20 22 66 68 56 57 4 6 16 18 64 65 62 63 7 5 19 17 70 71 59 61 11 9 23 21 67 69 28 30 82 84 109 107 36 38 24 26 80 81 111 110 32 34 27 25 86 87 105 104 35 33 31 29 83 85 108 106 39 37 +48 73 72 49 56 65 57 64 4 18 16 6 54 79 78 55 62 71 63 70 7 17 19 5 28 38 30 36 82 107 109 84 37 31 39 29 106 83 85 108 90 99 101 92 91 98 100 93 58 60 8 20 10 22 66 68 0 12 50 52 51 53 2 14 3 15 74 76 75 77 1 13 59 61 11 23 9 21 67 69 88 103 40 44 42 46 96 95 24 26 80 111 81 110 32 34 33 35 104 87 105 86 25 27 89 102 43 47 41 45 97 94 +8 9 10 11 0 1 3 2 4 5 7 6 20 21 22 23 12 13 15 14 16 17 19 18 28 29 37 36 40 41 45 44 30 31 39 38 42 43 47 46 24 25 27 26 33 32 34 35 58 60 48 54 72 78 66 68 56 62 50 52 74 76 64 70 57 63 51 53 75 77 65 71 59 61 49 55 73 79 67 69 88 94 82 84 106 108 96 102 90 92 80 86 104 110 98 100 91 93 81 87 105 111 99 101 89 95 83 85 107 109 97 103 +8 23 20 11 56 70 62 64 50 76 74 52 10 21 22 9 57 71 63 65 51 77 75 53 88 102 94 96 82 108 106 84 103 89 97 95 109 83 85 107 24 35 33 26 27 32 34 25 58 60 48 72 54 78 66 68 0 3 4 6 7 5 2 1 12 15 16 18 19 17 14 13 59 61 49 73 55 79 67 69 28 37 40 44 45 41 36 29 90 92 80 104 86 110 98 100 101 99 111 87 105 81 93 91 31 38 43 47 46 42 39 30 +48 55 54 49 50 53 51 52 0 14 12 2 72 79 78 73 74 77 75 76 3 13 15 1 40 46 42 44 88 95 103 96 45 43 47 41 94 89 97 102 90 93 101 98 91 92 100 99 58 66 8 20 10 22 60 68 4 16 56 64 57 65 6 18 7 19 62 70 63 71 5 17 59 67 11 23 9 21 61 69 82 109 28 36 30 38 84 107 24 32 80 111 81 110 26 34 27 35 86 105 87 104 25 33 83 108 31 39 29 37 85 106 +48 73 72 49 4 18 16 6 56 65 57 64 54 79 78 55 7 17 19 5 62 71 63 70 82 107 109 84 28 38 30 36 106 83 85 108 37 31 39 29 90 99 91 98 101 92 100 93 58 66 8 10 20 22 60 68 50 51 0 2 12 14 52 53 74 75 3 1 15 13 76 77 59 67 11 9 23 21 61 69 40 42 88 96 103 95 44 46 24 32 80 81 111 110 26 34 33 25 104 105 87 86 35 27 43 41 89 97 102 94 47 45 +8 9 10 11 4 5 7 6 0 1 3 2 20 21 22 23 16 17 19 18 12 13 15 14 40 41 45 44 28 29 37 36 42 43 47 46 30 31 39 38 24 25 33 32 27 26 34 35 58 66 48 72 54 78 60 68 50 74 56 64 62 70 52 76 51 75 57 65 63 71 53 77 59 67 49 73 55 79 61 69 82 106 88 96 94 102 84 108 90 98 80 104 86 110 92 100 91 99 81 105 87 111 93 101 83 107 89 97 95 103 85 109 +8 23 20 11 50 76 74 52 56 70 62 64 10 21 22 9 51 77 75 53 57 71 63 65 82 108 106 84 88 102 94 96 109 83 85 107 103 89 97 95 24 35 27 32 33 26 34 25 58 66 48 54 72 78 60 68 4 7 0 2 3 1 6 5 16 19 12 14 15 13 18 17 59 67 49 55 73 79 61 69 40 45 28 36 37 29 44 41 90 98 80 86 104 110 92 100 101 93 111 105 87 81 99 91 43 46 31 39 38 30 47 42 +48 55 54 49 50 53 52 51 0 14 2 12 72 79 78 73 74 77 76 75 3 13 1 15 40 46 44 42 88 95 96 103 45 43 41 47 94 89 102 97 90 93 98 101 92 91 100 99 8 20 58 66 60 68 10 22 56 64 4 16 6 18 57 65 62 70 7 19 5 17 63 71 11 23 59 67 61 69 9 21 28 36 82 109 84 107 30 38 80 111 24 32 26 34 81 110 86 105 27 35 25 33 87 104 31 39 83 108 85 106 29 37 +48 73 72 49 56 65 64 57 4 18 6 16 54 79 78 55 62 71 70 63 7 17 5 19 28 38 36 30 82 107 84 109 37 31 29 39 106 83 108 85 90 99 92 101 98 91 100 93 8 20 58 60 66 68 10 22 50 52 0 12 2 14 51 53 74 76 3 15 1 13 75 77 11 23 59 61 67 69 9 21 40 44 88 103 96 95 42 46 80 111 24 26 32 34 81 110 104 87 33 35 25 27 105 86 43 47 89 102 97 94 41 45 +58 61 60 59 56 63 62 57 0 15 3 12 66 69 68 67 64 71 70 65 2 13 1 14 40 47 45 42 82 85 106 109 44 43 41 46 84 83 108 107 80 87 104 111 86 81 110 105 8 20 48 72 54 78 10 22 50 74 4 16 7 19 51 75 52 76 6 18 5 17 53 77 11 23 49 73 55 79 9 21 28 37 88 103 94 97 30 39 90 101 24 33 27 34 91 100 92 99 26 35 25 32 93 98 31 38 89 102 95 96 29 36 +58 67 66 59 50 75 74 51 4 19 7 16 60 69 68 61 52 77 76 53 6 17 5 18 28 39 37 30 88 97 94 103 36 31 29 38 96 89 102 95 80 105 86 111 104 81 110 87 8 20 48 54 72 78 10 22 56 62 0 12 3 15 57 63 64 70 2 14 1 13 65 71 11 23 49 55 73 79 9 21 40 45 82 109 106 85 42 47 90 101 24 27 33 34 91 100 98 93 32 35 25 26 99 92 43 46 83 108 107 84 41 44 +4 18 6 16 48 73 49 72 56 65 57 64 7 17 5 19 54 79 55 78 62 71 63 70 82 107 83 106 90 99 91 98 84 109 85 108 92 101 93 100 28 38 30 36 31 37 29 39 0 2 8 10 11 9 3 1 50 51 58 66 59 67 74 75 52 53 60 68 61 69 76 77 12 14 20 22 23 21 15 13 80 81 88 96 89 97 104 105 24 32 40 42 43 41 33 25 26 34 44 46 47 45 35 27 111 110 103 95 102 94 87 86 +8 22 10 20 48 78 54 72 58 68 60 66 11 21 9 23 49 79 55 73 59 69 61 67 80 110 86 104 90 100 92 98 81 111 87 105 91 101 93 99 24 34 26 32 27 33 25 35 0 2 4 6 7 5 3 1 50 52 56 64 62 70 74 76 51 53 57 65 63 71 75 77 12 14 16 18 19 17 15 13 82 84 88 96 94 102 106 108 28 36 40 44 45 41 37 29 30 38 42 46 47 43 39 31 109 107 103 95 97 89 85 83 +4 19 7 16 50 75 51 74 58 67 59 66 6 17 5 18 52 77 53 76 60 69 61 68 80 105 81 104 88 97 89 96 86 111 87 110 94 103 95 102 28 39 31 36 30 37 29 38 0 2 8 11 10 9 3 1 48 49 56 64 57 65 72 73 54 55 62 70 63 71 78 79 12 14 20 23 22 21 15 13 82 83 90 98 91 99 106 107 24 32 40 43 42 41 33 25 27 35 45 46 47 44 34 26 109 108 101 93 100 92 85 84 +8 23 11 20 50 76 52 74 56 70 62 64 10 21 9 22 51 77 53 75 57 71 63 65 82 108 84 106 88 102 94 96 83 109 85 107 89 103 95 97 24 35 27 32 26 33 25 34 0 2 4 7 6 5 3 1 48 54 58 66 60 68 72 78 49 55 59 67 61 69 73 79 12 14 16 19 18 17 15 13 80 86 90 98 92 100 104 110 28 36 40 45 44 41 37 29 31 39 43 46 47 42 38 30 111 105 101 93 99 91 87 81 +0 14 2 12 48 55 49 54 50 53 51 52 3 13 1 15 72 79 73 78 74 77 75 76 88 95 89 94 90 93 91 92 96 103 97 102 98 101 99 100 40 46 42 44 43 45 41 47 4 6 8 10 11 9 7 5 56 57 58 60 59 61 62 63 64 65 66 68 67 69 70 71 16 18 20 22 23 21 19 17 80 81 82 84 83 85 86 87 24 26 28 30 31 29 27 25 32 34 36 38 39 37 35 33 111 110 109 107 108 106 105 104 +8 22 10 20 48 78 72 54 58 68 66 60 11 21 9 23 49 79 73 55 59 69 67 61 80 110 104 86 90 100 98 92 81 111 105 87 91 101 99 93 24 34 32 26 33 27 25 35 4 6 0 2 3 1 7 5 56 64 50 52 74 76 62 70 57 65 51 53 75 77 63 71 16 18 12 14 15 13 19 17 88 96 82 84 106 108 94 102 40 44 28 36 37 29 45 41 42 46 30 38 39 31 47 43 103 95 109 107 85 83 97 89 +0 15 3 12 56 63 57 62 58 61 59 60 2 13 1 14 64 71 65 70 66 69 67 68 80 87 81 86 82 85 83 84 104 111 105 110 106 109 107 108 40 47 43 44 42 45 41 46 4 6 8 11 10 9 7 5 48 49 50 52 51 53 54 55 72 73 74 76 75 77 78 79 16 18 20 23 22 21 19 17 88 89 90 92 91 93 94 95 24 26 28 31 30 29 27 25 33 35 37 38 39 36 34 32 103 102 101 99 100 98 97 96 +8 23 11 20 56 70 64 62 50 76 74 52 10 21 9 22 57 71 65 63 51 77 75 53 88 102 96 94 82 108 106 84 89 103 97 95 83 109 107 85 24 35 33 26 32 27 25 34 4 6 0 3 2 1 7 5 48 72 58 60 66 68 54 78 49 73 59 61 67 69 55 79 16 18 12 15 14 13 19 17 80 104 90 92 98 100 86 110 40 44 28 37 36 29 45 41 43 47 31 38 39 30 46 42 111 87 101 99 93 91 105 81 +0 14 2 12 48 55 54 49 50 53 52 51 3 13 1 15 72 79 78 73 74 77 76 75 88 95 94 89 90 93 92 91 96 103 102 97 98 101 100 99 40 46 44 42 45 43 41 47 8 10 4 6 7 5 11 9 58 60 56 57 62 63 59 61 66 68 64 65 70 71 67 69 20 22 16 18 19 17 23 21 82 84 80 81 86 87 83 85 28 30 24 26 27 25 31 29 36 38 32 34 35 33 39 37 109 107 111 110 105 104 108 106 +4 18 6 16 48 73 72 49 56 65 64 57 7 17 5 19 54 79 78 55 62 71 70 63 82 107 106 83 90 99 98 91 84 109 108 85 92 101 100 93 28 38 36 30 37 31 29 39 8 10 0 2 3 1 11 9 58 66 50 51 74 75 59 67 60 68 52 53 76 77 61 69 20 22 12 14 15 13 23 21 88 96 80 81 104 105 89 97 40 42 24 32 33 25 43 41 44 46 26 34 35 27 47 45 103 95 111 110 87 86 102 94 +0 15 3 12 58 61 60 59 56 63 62 57 2 13 1 14 66 69 68 67 64 71 70 65 82 85 84 83 80 87 86 81 106 109 108 107 104 111 110 105 40 47 45 42 44 43 41 46 8 10 4 7 6 5 11 9 48 54 50 51 52 53 49 55 72 78 74 75 76 77 73 79 20 22 16 19 18 17 23 21 88 94 90 91 92 93 89 95 28 30 24 27 26 25 31 29 37 39 33 34 35 32 38 36 103 97 101 100 99 98 102 96 +4 19 7 16 58 67 66 59 50 75 74 51 6 17 5 18 60 69 68 61 52 77 76 53 88 97 96 89 80 105 104 81 94 103 102 95 86 111 110 87 28 39 37 30 36 31 29 38 8 10 0 3 2 1 11 9 48 72 56 57 64 65 49 73 54 78 62 63 70 71 55 79 20 22 12 15 14 13 23 21 82 106 90 91 98 99 83 107 40 42 24 33 32 25 43 41 45 47 27 34 35 26 46 44 109 85 101 100 93 92 108 84 +4 18 6 16 56 65 57 64 48 73 49 72 7 17 5 19 62 71 63 70 54 79 55 78 90 99 91 98 82 107 83 106 92 101 93 100 84 109 85 108 28 38 31 37 30 36 29 39 0 3 8 11 10 9 2 1 58 59 50 74 51 75 66 67 60 61 52 76 53 77 68 69 12 15 20 23 22 21 14 13 88 89 80 104 81 105 96 97 24 33 40 43 42 41 32 25 26 35 44 47 46 45 34 27 103 102 111 87 110 86 95 94 +8 22 10 20 58 68 60 66 48 78 54 72 11 21 9 23 59 69 61 67 49 79 55 73 90 100 92 98 80 110 86 104 91 101 93 99 81 111 87 105 24 34 27 33 26 32 25 35 0 3 4 7 6 5 2 1 56 62 50 74 52 76 64 70 57 63 51 75 53 77 65 71 12 15 16 19 18 17 14 13 88 94 82 106 84 108 96 102 28 37 40 45 44 41 36 29 30 39 42 47 46 43 38 31 103 97 109 85 107 83 95 89 +4 19 7 16 58 67 59 66 50 75 51 74 6 17 5 18 60 69 61 68 52 77 53 76 88 97 89 96 80 105 81 104 94 103 95 102 86 111 87 110 28 39 30 37 31 36 29 38 0 3 8 10 11 9 2 1 56 57 48 72 49 73 64 65 62 63 54 78 55 79 70 71 12 15 20 22 23 21 14 13 90 91 82 106 83 107 98 99 24 33 40 42 43 41 32 25 27 34 45 47 46 44 35 26 101 100 109 85 108 84 93 92 +8 23 11 20 56 70 62 64 50 76 52 74 10 21 9 22 57 71 63 65 51 77 53 75 88 102 94 96 82 108 84 106 89 103 95 97 83 109 85 107 24 35 26 33 27 32 25 34 0 3 4 6 7 5 2 1 58 60 48 72 54 78 66 68 59 61 49 73 55 79 67 69 12 15 16 18 19 17 14 13 90 92 80 104 86 110 98 100 28 37 40 44 45 41 36 29 31 38 43 47 46 42 39 30 101 99 111 87 105 81 93 91 +0 14 2 12 50 53 51 52 48 55 49 54 3 13 1 15 74 77 75 76 72 79 73 78 90 93 91 92 88 95 89 94 98 101 99 100 96 103 97 102 40 46 43 45 42 44 41 47 4 7 8 11 10 9 6 5 58 59 56 62 57 63 60 61 66 67 64 70 65 71 68 69 16 19 20 23 22 21 18 17 82 83 80 86 81 87 84 85 24 27 28 31 30 29 26 25 32 35 36 39 38 37 34 33 109 108 111 105 110 104 107 106 +8 22 10 20 58 68 66 60 48 78 72 54 11 21 9 23 59 69 67 61 49 79 73 55 90 100 98 92 80 110 104 86 91 101 99 93 81 111 105 87 24 34 33 27 32 26 25 35 4 7 0 3 2 1 6 5 50 74 56 62 64 70 52 76 51 75 57 63 65 71 53 77 16 19 12 15 14 13 18 17 82 106 88 94 96 102 84 108 40 45 28 37 36 29 44 41 42 47 30 39 38 31 46 43 109 85 103 97 95 89 107 83 +0 15 3 12 58 61 59 60 56 63 57 62 2 13 1 14 66 69 67 68 64 71 65 70 82 85 83 84 80 87 81 86 106 109 107 108 104 111 105 110 40 47 42 45 43 44 41 46 4 7 8 10 11 9 6 5 50 51 48 54 49 55 52 53 74 75 72 78 73 79 76 77 16 19 20 22 23 21 18 17 90 91 88 94 89 95 92 93 24 27 28 30 31 29 26 25 33 34 37 39 38 36 35 32 101 100 103 97 102 96 99 98 +8 23 11 20 50 76 74 52 56 70 64 62 10 21 9 22 51 77 75 53 57 71 65 63 82 108 106 84 88 102 96 94 83 109 107 85 89 103 97 95 24 35 32 27 33 26 25 34 4 7 0 2 3 1 6 5 58 66 48 54 72 78 60 68 59 67 49 55 73 79 61 69 16 19 12 14 15 13 18 17 90 98 80 86 104 110 92 100 40 45 28 36 37 29 44 41 43 46 31 39 38 30 47 42 101 93 111 105 87 81 99 91 +0 14 2 12 50 53 52 51 48 55 54 49 3 13 1 15 74 77 76 75 72 79 78 73 90 93 92 91 88 95 94 89 98 101 100 99 96 103 102 97 40 46 45 43 44 42 41 47 8 11 4 7 6 5 10 9 56 62 58 59 60 61 57 63 64 70 66 67 68 69 65 71 20 23 16 19 18 17 22 21 80 86 82 83 84 85 81 87 28 31 24 27 26 25 30 29 36 39 32 35 34 33 38 37 111 105 109 108 107 106 110 104 +4 18 6 16 56 65 64 57 48 73 72 49 7 17 5 19 62 71 70 63 54 79 78 55 90 99 98 91 82 107 106 83 92 101 100 93 84 109 108 85 28 38 37 31 36 30 29 39 8 11 0 3 2 1 10 9 50 74 58 59 66 67 51 75 52 76 60 61 68 69 53 77 20 23 12 15 14 13 22 21 80 104 88 89 96 97 81 105 40 43 24 33 32 25 42 41 44 47 26 35 34 27 46 45 111 87 103 102 95 94 110 86 +0 15 3 12 56 63 62 57 58 61 60 59 2 13 1 14 64 71 70 65 66 69 68 67 80 87 86 81 82 85 84 83 104 111 110 105 106 109 108 107 40 47 44 43 45 42 41 46 8 11 4 6 7 5 10 9 50 52 48 49 54 55 51 53 74 76 72 73 78 79 75 77 20 23 16 18 19 17 22 21 90 92 88 89 94 95 91 93 28 31 24 26 27 25 30 29 37 38 33 35 34 32 39 36 101 99 103 102 97 96 100 98 +4 19 7 16 50 75 74 51 58 67 66 59 6 17 5 18 52 77 76 53 60 69 68 61 80 105 104 81 88 97 96 89 86 111 110 87 94 103 102 95 28 39 36 31 37 30 29 38 8 11 0 2 3 1 10 9 56 64 48 49 72 73 57 65 62 70 54 55 78 79 63 71 20 23 12 14 15 13 22 21 90 98 82 83 106 107 91 99 40 43 24 32 33 25 42 41 45 46 27 35 34 26 47 44 101 93 109 108 85 84 100 92 +56 65 57 64 48 73 49 72 4 18 6 16 62 71 63 70 54 79 55 78 7 17 5 19 28 38 31 37 90 99 92 101 30 36 29 39 91 98 93 100 82 107 84 109 83 106 85 108 0 12 58 60 59 61 3 15 50 52 8 20 11 23 74 76 51 53 10 22 9 21 75 77 2 14 66 68 67 69 1 13 24 26 88 103 89 102 33 35 80 111 40 44 43 47 104 87 81 110 42 46 41 45 105 86 32 34 96 95 97 94 25 27 +58 68 60 66 48 78 54 72 8 22 10 20 59 69 61 67 49 79 55 73 11 21 9 23 24 34 27 33 90 100 91 101 26 32 25 35 92 98 93 99 80 110 81 111 86 104 87 105 0 12 56 57 62 63 3 15 50 51 4 16 7 19 74 75 52 53 6 18 5 17 76 77 2 14 64 65 70 71 1 13 28 30 88 103 94 97 37 39 82 109 40 42 45 47 106 85 84 107 44 46 41 43 108 83 36 38 96 95 102 89 29 31 +58 67 59 66 50 75 51 74 4 19 7 16 60 69 61 68 52 77 53 76 6 17 5 18 28 39 30 37 88 97 94 103 31 36 29 38 89 96 95 102 80 105 86 111 81 104 87 110 0 12 56 62 57 63 3 15 48 54 8 20 10 22 72 78 49 55 11 23 9 21 73 79 2 14 64 70 65 71 1 13 24 27 90 101 91 100 33 34 82 109 40 45 42 47 106 85 83 108 43 46 41 44 107 84 32 35 98 93 99 92 25 26 +56 70 62 64 50 76 52 74 8 23 11 20 57 71 63 65 51 77 53 75 10 21 9 22 24 35 26 33 88 102 89 103 27 32 25 34 94 96 95 97 82 108 83 109 84 106 85 107 0 12 58 59 60 61 3 15 48 49 4 16 6 18 72 73 54 55 7 19 5 17 78 79 2 14 66 67 68 69 1 13 28 31 90 101 92 99 37 38 80 111 40 43 44 47 104 87 86 105 45 46 41 42 110 81 36 39 98 93 100 91 29 30 +0 14 12 2 48 55 49 54 50 53 52 51 3 13 15 1 72 79 73 78 74 77 76 75 88 95 89 94 90 93 92 91 103 96 102 97 101 98 99 100 40 46 44 42 43 45 47 41 56 57 58 60 59 61 62 63 4 6 8 10 11 9 7 5 16 18 20 22 23 21 19 17 64 65 66 68 67 69 70 71 24 26 28 30 31 29 27 25 80 81 82 84 83 85 86 87 111 110 109 107 108 106 105 104 32 34 36 38 39 37 35 33 +58 68 60 66 48 78 72 54 8 22 20 10 59 69 61 67 49 79 73 55 11 21 23 9 24 34 33 27 90 100 101 91 26 32 35 25 92 98 99 93 80 110 111 81 104 86 87 105 56 57 0 12 3 15 62 63 4 16 50 51 74 75 7 19 6 18 52 53 76 77 5 17 64 65 2 14 1 13 70 71 88 103 28 30 37 39 94 97 40 42 82 109 106 85 45 47 44 46 84 107 108 83 41 43 96 95 36 38 29 31 102 89 +0 1 3 2 4 5 6 7 8 9 11 10 12 13 15 14 16 17 18 19 20 21 23 22 24 25 26 27 28 29 31 30 33 32 35 34 37 36 38 39 40 41 43 42 44 45 47 46 56 57 58 59 60 61 62 63 48 49 50 51 52 53 54 55 72 73 74 75 76 77 78 79 64 65 66 67 68 69 70 71 88 89 90 91 92 93 94 95 80 81 82 83 84 85 86 87 104 105 106 107 108 109 110 111 96 97 98 99 100 101 102 103 +58 67 59 66 4 19 16 7 50 75 74 51 60 69 61 68 6 17 18 5 52 77 76 53 88 97 103 94 28 39 37 30 89 96 102 95 31 36 38 29 80 105 104 81 111 86 87 110 56 57 0 3 12 15 62 63 48 72 8 10 20 22 54 78 49 73 11 9 23 21 55 79 64 65 2 1 14 13 70 71 24 33 90 91 101 100 27 34 40 42 82 106 109 85 45 47 43 41 83 107 108 84 46 44 32 25 98 99 93 92 35 26 +0 14 12 2 48 55 54 49 50 53 51 52 3 13 15 1 72 79 78 73 74 77 75 76 88 95 94 89 90 93 91 92 103 96 97 102 101 98 100 99 40 46 42 44 45 43 47 41 58 60 56 57 62 63 59 61 8 10 4 6 7 5 11 9 20 22 16 18 19 17 23 21 66 68 64 65 70 71 67 69 28 30 24 26 27 25 31 29 82 84 80 81 86 87 83 85 109 107 111 110 105 104 108 106 36 38 32 34 35 33 39 37 +56 65 57 64 48 73 72 49 4 18 16 6 62 71 63 70 54 79 78 55 7 17 19 5 28 38 37 31 90 99 101 92 30 36 39 29 91 98 100 93 82 107 109 84 106 83 85 108 58 60 0 12 3 15 59 61 8 20 50 52 74 76 11 23 10 22 51 53 75 77 9 21 66 68 2 14 1 13 67 69 88 103 24 26 33 35 89 102 40 44 80 111 104 87 43 47 42 46 81 110 105 86 41 45 96 95 32 34 25 27 97 94 +0 1 3 2 8 9 10 11 4 5 7 6 12 13 15 14 20 21 22 23 16 17 19 18 28 29 30 31 24 25 27 26 37 36 39 38 33 32 34 35 40 41 45 44 42 43 47 46 58 60 56 62 57 63 59 61 48 54 50 52 51 53 49 55 72 78 74 76 75 77 73 79 66 68 64 70 65 71 67 69 88 94 90 92 91 93 89 95 82 84 80 86 81 87 83 85 106 108 104 110 105 111 107 109 96 102 98 100 99 101 97 103 +56 70 62 64 8 23 20 11 50 76 74 52 57 71 63 65 10 21 22 9 51 77 75 53 88 102 103 89 24 35 33 26 94 96 97 95 27 32 34 25 82 108 106 84 109 83 85 107 58 60 0 3 12 15 59 61 48 72 4 6 16 18 49 73 54 78 7 5 19 17 55 79 66 68 2 1 14 13 67 69 28 37 90 92 101 99 31 38 40 44 80 104 111 87 43 47 45 41 86 110 105 81 46 42 36 29 98 100 93 91 39 30 +56 65 57 64 4 18 6 16 48 73 49 72 62 71 63 70 7 17 5 19 54 79 55 78 90 99 92 101 28 38 31 37 91 98 93 100 30 36 29 39 82 107 83 106 84 109 85 108 0 3 58 59 60 61 12 15 8 11 50 74 52 76 20 23 10 9 51 75 53 77 22 21 2 1 66 67 68 69 14 13 88 89 24 33 26 35 103 102 80 104 40 43 44 47 111 87 81 105 42 41 46 45 110 86 96 97 32 25 34 27 95 94 +58 68 60 66 8 22 10 20 48 78 54 72 59 69 61 67 11 21 9 23 49 79 55 73 90 100 91 101 24 34 27 33 92 98 93 99 26 32 25 35 80 110 86 104 81 111 87 105 0 3 56 62 57 63 12 15 4 7 50 74 51 75 16 19 6 5 52 76 53 77 18 17 2 1 64 70 65 71 14 13 88 94 28 37 30 39 103 97 82 106 40 45 42 47 109 85 84 108 44 41 46 43 107 83 96 102 36 29 38 31 95 89 +58 67 59 66 4 19 7 16 50 75 51 74 60 69 61 68 6 17 5 18 52 77 53 76 88 97 94 103 28 39 30 37 89 96 95 102 31 36 29 38 80 105 81 104 86 111 87 110 0 3 56 57 62 63 12 15 8 10 48 72 54 78 20 22 11 9 49 73 55 79 23 21 2 1 64 65 70 71 14 13 90 91 24 33 27 34 101 100 82 106 40 42 45 47 109 85 83 107 43 41 46 44 108 84 98 99 32 25 35 26 93 92 +56 70 62 64 8 23 11 20 50 76 52 74 57 71 63 65 10 21 9 22 51 77 53 75 88 102 89 103 24 35 26 33 94 96 95 97 27 32 25 34 82 108 84 106 83 109 85 107 0 3 58 60 59 61 12 15 4 6 48 72 49 73 16 18 7 5 54 78 55 79 19 17 2 1 66 68 67 69 14 13 90 92 28 37 31 38 101 99 80 104 40 44 43 47 111 87 86 110 45 41 46 42 105 81 98 100 36 29 39 30 93 91 +0 14 12 2 50 53 51 52 48 55 54 49 3 13 15 1 74 77 75 76 72 79 78 73 90 93 91 92 88 95 94 89 101 98 100 99 103 96 97 102 40 46 45 43 42 44 47 41 58 59 56 62 57 63 60 61 4 7 8 11 10 9 6 5 16 19 20 23 22 21 18 17 66 67 64 70 65 71 68 69 24 27 28 31 30 29 26 25 82 83 80 86 81 87 84 85 109 108 111 105 110 104 107 106 32 35 36 39 38 37 34 33 +56 65 57 64 4 18 16 6 48 73 72 49 62 71 63 70 7 17 19 5 54 79 78 55 90 99 101 92 28 38 37 31 91 98 100 93 30 36 39 29 82 107 106 83 109 84 85 108 58 59 0 3 12 15 60 61 50 74 8 11 20 23 52 76 51 75 10 9 22 21 53 77 66 67 2 1 14 13 68 69 24 33 88 89 103 102 26 35 40 43 80 104 111 87 44 47 42 41 81 105 110 86 46 45 32 25 96 97 95 94 34 27 +0 1 3 2 4 5 7 6 8 9 10 11 12 13 15 14 16 17 19 18 20 21 22 23 24 25 27 26 28 29 30 31 33 32 34 35 37 36 39 38 40 41 42 43 45 44 47 46 58 59 56 57 62 63 60 61 50 51 48 49 54 55 52 53 74 75 72 73 78 79 76 77 66 67 64 65 70 71 68 69 90 91 88 89 94 95 92 93 82 83 80 81 86 87 84 85 106 107 104 105 110 111 108 109 98 99 96 97 102 103 100 101 +56 70 62 64 50 76 74 52 8 23 20 11 57 71 63 65 51 77 75 53 10 21 22 9 24 35 33 26 88 102 103 89 27 32 34 25 94 96 97 95 82 108 109 83 106 84 85 107 58 59 0 12 3 15 60 61 4 16 48 49 72 73 6 18 7 19 54 55 78 79 5 17 66 67 2 14 1 13 68 69 90 101 28 31 37 38 92 99 40 43 80 111 104 87 44 47 45 46 86 105 110 81 41 42 98 93 36 39 29 30 100 91 +0 14 12 2 50 53 52 51 48 55 49 54 3 13 15 1 74 77 76 75 72 79 73 78 90 93 92 91 88 95 89 94 101 98 99 100 103 96 102 97 40 46 43 45 44 42 47 41 56 62 58 59 60 61 57 63 8 11 4 7 6 5 10 9 20 23 16 19 18 17 22 21 64 70 66 67 68 69 65 71 28 31 24 27 26 25 30 29 80 86 82 83 84 85 81 87 111 105 109 108 107 106 110 104 36 39 32 35 34 33 38 37 +58 68 60 66 8 22 20 10 48 78 72 54 59 69 61 67 11 21 23 9 49 79 73 55 90 100 101 91 24 34 33 27 92 98 99 93 26 32 35 25 80 110 104 86 111 81 87 105 56 62 0 3 12 15 57 63 50 74 4 7 16 19 51 75 52 76 6 5 18 17 53 77 64 70 2 1 14 13 65 71 28 37 88 94 103 97 30 39 40 45 82 106 109 85 42 47 44 41 84 108 107 83 46 43 36 29 96 102 95 89 38 31 +0 1 3 2 8 9 11 10 4 5 6 7 12 13 15 14 20 21 23 22 16 17 18 19 28 29 31 30 24 25 26 27 37 36 38 39 33 32 35 34 40 41 44 45 43 42 47 46 56 62 58 60 59 61 57 63 50 52 48 54 49 55 51 53 74 76 72 78 73 79 75 77 64 70 66 68 67 69 65 71 90 92 88 94 89 95 91 93 80 86 82 84 83 85 81 87 104 110 106 108 107 109 105 111 98 100 96 102 97 103 99 101 +58 67 59 66 50 75 74 51 4 19 16 7 60 69 61 68 52 77 76 53 6 17 18 5 28 39 37 30 88 97 103 94 31 36 38 29 89 96 102 95 80 105 111 86 104 81 87 110 56 62 0 12 3 15 57 63 8 20 48 54 72 78 10 22 11 23 49 55 73 79 9 21 64 70 2 14 1 13 65 71 90 101 24 27 33 34 91 100 40 45 82 109 106 85 42 47 43 46 83 108 107 84 41 44 98 93 32 35 25 26 99 92 +4 18 16 6 48 73 49 72 56 65 64 57 7 17 19 5 54 79 55 78 62 71 70 63 82 107 83 106 90 99 98 91 109 84 108 85 101 92 93 100 28 38 36 30 31 37 39 29 50 51 58 66 59 67 74 75 0 2 8 10 11 9 3 1 12 14 20 22 23 21 15 13 52 53 60 68 61 69 76 77 24 32 40 42 43 41 33 25 80 81 88 96 89 97 104 105 111 110 103 95 102 94 87 86 26 34 44 46 47 45 35 27 +58 68 66 60 48 78 54 72 8 22 20 10 59 69 67 61 49 79 55 73 11 21 23 9 24 34 27 33 90 100 101 91 32 26 35 25 98 92 93 99 80 110 111 81 86 104 105 87 50 51 4 16 7 19 74 75 0 12 56 57 62 63 3 15 2 14 64 65 70 71 1 13 52 53 6 18 5 17 76 77 82 109 40 42 45 47 106 85 28 30 88 103 94 97 37 39 36 38 96 95 102 89 29 31 84 107 44 46 41 43 108 83 +4 5 7 6 0 1 2 3 8 9 11 10 16 17 19 18 12 13 14 15 20 21 23 22 24 25 32 33 40 41 43 42 27 26 35 34 45 44 46 47 28 29 31 30 36 37 39 38 50 51 58 59 66 67 74 75 48 49 56 57 64 65 72 73 54 55 62 63 70 71 78 79 52 53 60 61 68 69 76 77 82 83 90 91 98 99 106 107 80 81 88 89 96 97 104 105 86 87 94 95 102 103 110 111 84 85 92 93 100 101 108 109 +58 61 59 60 0 15 12 3 56 63 62 57 66 69 67 68 2 13 14 1 64 71 70 65 82 85 109 106 40 47 45 42 83 84 108 107 43 44 46 41 80 87 86 81 111 104 105 110 50 51 4 7 16 19 74 75 48 54 8 10 20 22 72 78 49 55 11 9 23 21 73 79 52 53 6 5 18 17 76 77 24 27 90 91 101 100 33 34 28 30 88 94 103 97 37 39 31 29 89 95 102 96 38 36 26 25 92 93 99 98 35 32 +50 53 51 52 48 55 49 54 0 14 2 12 74 77 75 76 72 79 73 78 3 13 1 15 40 46 43 45 90 93 98 101 42 44 41 47 91 92 99 100 88 95 96 103 89 94 97 102 4 16 58 66 59 67 7 19 56 64 8 20 11 23 62 70 57 65 10 22 9 21 63 71 6 18 60 68 61 69 5 17 24 32 82 109 83 108 27 35 80 111 28 36 31 39 86 105 81 110 30 38 29 37 87 104 26 34 84 107 85 106 25 33 +58 68 66 60 48 78 72 54 8 22 10 20 59 69 67 61 49 79 73 55 11 21 9 23 24 34 33 27 90 100 91 101 32 26 25 35 98 92 99 93 80 110 81 111 104 86 105 87 4 16 50 51 74 75 7 19 56 57 0 12 3 15 62 63 64 65 2 14 1 13 70 71 6 18 52 53 76 77 5 17 40 42 82 109 106 85 45 47 88 103 28 30 37 39 94 97 96 95 36 38 29 31 102 89 44 46 84 107 108 83 41 43 +58 61 59 60 56 63 57 62 0 15 3 12 66 69 67 68 64 71 65 70 2 13 1 14 40 47 42 45 82 85 106 109 43 44 41 46 83 84 107 108 80 87 104 111 81 86 105 110 4 16 50 74 51 75 7 19 48 72 8 20 10 22 54 78 49 73 11 23 9 21 55 79 6 18 52 76 53 77 5 17 24 33 90 101 91 100 27 34 88 103 28 37 30 39 94 97 89 102 31 38 29 36 95 96 26 35 92 99 93 98 25 32 +50 76 74 52 56 70 64 62 8 23 11 20 51 77 75 53 57 71 65 63 10 21 9 22 24 35 32 27 82 108 83 109 33 26 25 34 106 84 107 85 88 102 89 103 96 94 97 95 4 16 58 59 66 67 7 19 48 49 0 12 2 14 54 55 72 73 3 15 1 13 78 79 6 18 60 61 68 69 5 17 40 43 90 101 98 93 45 46 80 111 28 31 36 39 86 105 104 87 37 38 29 30 110 81 44 47 92 99 100 91 41 42 +50 53 51 52 48 55 54 49 0 14 12 2 74 77 75 76 72 79 78 73 3 13 15 1 40 46 45 43 90 93 101 98 42 44 47 41 91 92 100 99 88 95 103 96 94 89 97 102 58 66 4 16 7 19 59 67 8 20 56 64 62 70 11 23 10 22 57 65 63 71 9 21 60 68 6 18 5 17 61 69 82 109 24 32 27 35 83 108 28 36 80 111 86 105 31 39 30 38 81 110 87 104 29 37 84 107 26 34 25 33 85 106 +4 18 16 6 48 73 72 49 56 65 57 64 7 17 19 5 54 79 78 55 62 71 63 70 82 107 106 83 90 99 91 98 109 84 85 108 101 92 100 93 28 38 30 36 37 31 39 29 58 66 50 51 74 75 59 67 8 10 0 2 3 1 11 9 20 22 12 14 15 13 23 21 60 68 52 53 76 77 61 69 40 42 24 32 33 25 43 41 88 96 80 81 104 105 89 97 103 95 111 110 87 86 102 94 44 46 26 34 35 27 47 45 +4 5 7 6 8 9 10 11 0 1 3 2 16 17 19 18 20 21 22 23 12 13 15 14 40 41 42 43 24 25 33 32 45 44 47 46 27 26 34 35 28 29 37 36 30 31 39 38 58 66 50 74 51 75 59 67 48 72 56 64 57 65 49 73 54 78 62 70 63 71 55 79 60 68 52 76 53 77 61 69 82 106 90 98 91 99 83 107 88 96 80 104 81 105 89 97 94 102 86 110 87 111 95 103 84 108 92 100 93 101 85 109 +50 76 74 52 8 23 20 11 56 70 62 64 51 77 75 53 10 21 22 9 57 71 63 65 82 108 109 83 24 35 27 32 106 84 85 107 33 26 34 25 88 102 94 96 103 89 97 95 58 66 4 7 16 19 59 67 48 54 0 2 12 14 49 55 72 78 3 1 15 13 73 79 60 68 6 5 18 17 61 69 40 45 90 98 101 93 43 46 28 36 80 86 111 105 31 39 37 29 104 110 87 81 38 30 44 41 92 100 99 91 47 42 +50 53 51 52 0 14 2 12 48 55 49 54 74 77 75 76 3 13 1 15 72 79 73 78 90 93 98 101 40 46 43 45 91 92 99 100 42 44 41 47 88 95 89 94 96 103 97 102 4 7 58 59 66 67 16 19 8 11 56 62 64 70 20 23 10 9 57 63 65 71 22 21 6 5 60 61 68 69 18 17 82 83 24 27 32 35 109 108 80 86 28 31 36 39 111 105 81 87 30 29 38 37 110 104 84 85 26 25 34 33 107 106 +58 68 66 60 8 22 10 20 48 78 72 54 59 69 67 61 11 21 9 23 49 79 73 55 90 100 91 101 24 34 33 27 98 92 99 93 32 26 25 35 80 110 104 86 81 111 105 87 4 7 50 74 51 75 16 19 0 3 56 62 57 63 12 15 2 1 64 70 65 71 14 13 6 5 52 76 53 77 18 17 82 106 40 45 42 47 109 85 88 94 28 37 30 39 103 97 96 102 36 29 38 31 95 89 84 108 44 41 46 43 107 83 +58 61 59 60 0 15 3 12 56 63 57 62 66 69 67 68 2 13 1 14 64 71 65 70 82 85 106 109 40 47 42 45 83 84 107 108 43 44 41 46 80 87 81 86 104 111 105 110 4 7 50 51 74 75 16 19 8 10 48 54 72 78 20 22 11 9 49 55 73 79 23 21 6 5 52 53 76 77 18 17 90 91 24 27 33 34 101 100 88 94 28 30 37 39 103 97 89 95 31 29 38 36 102 96 92 93 26 25 35 32 99 98 +50 76 74 52 8 23 11 20 56 70 64 62 51 77 75 53 10 21 9 22 57 71 65 63 82 108 83 109 24 35 32 27 106 84 107 85 33 26 25 34 88 102 96 94 89 103 97 95 4 7 58 66 59 67 16 19 0 2 48 54 49 55 12 14 3 1 72 78 73 79 15 13 6 5 60 68 61 69 18 17 90 98 40 45 43 46 101 93 80 86 28 36 31 39 111 105 104 110 37 29 38 30 87 81 92 100 44 41 47 42 99 91 +50 53 51 52 0 14 12 2 48 55 54 49 74 77 75 76 3 13 15 1 72 79 78 73 90 93 101 98 40 46 45 43 91 92 100 99 42 44 47 41 88 95 94 89 103 96 97 102 58 59 4 7 16 19 66 67 56 62 8 11 20 23 64 70 57 63 10 9 22 21 65 71 60 61 6 5 18 17 68 69 24 27 82 83 109 108 32 35 28 31 80 86 111 105 36 39 30 29 81 87 110 104 38 37 26 25 84 85 107 106 34 33 +4 18 16 6 56 65 57 64 48 73 72 49 7 17 19 5 62 71 63 70 54 79 78 55 90 99 91 98 82 107 106 83 101 92 100 93 109 84 85 108 28 38 37 31 30 36 39 29 58 59 50 74 51 75 66 67 0 3 8 11 10 9 2 1 12 15 20 23 22 21 14 13 60 61 52 76 53 77 68 69 24 33 40 43 42 41 32 25 88 89 80 104 81 105 96 97 103 102 111 87 110 86 95 94 26 35 44 47 46 45 34 27 +4 5 7 6 0 1 3 2 8 9 10 11 16 17 19 18 12 13 15 14 20 21 22 23 24 25 33 32 40 41 42 43 27 26 34 35 45 44 47 46 28 29 30 31 37 36 39 38 58 59 50 51 74 75 66 67 56 57 48 49 72 73 64 65 62 63 54 55 78 79 70 71 60 61 52 53 76 77 68 69 90 91 82 83 106 107 98 99 88 89 80 81 104 105 96 97 94 95 86 87 110 111 102 103 92 93 84 85 108 109 100 101 +50 76 74 52 56 70 62 64 8 23 20 11 51 77 75 53 57 71 63 65 10 21 22 9 24 35 27 32 82 108 109 83 33 26 34 25 106 84 85 107 88 102 103 89 94 96 97 95 58 59 4 16 7 19 66 67 0 12 48 49 54 55 2 14 3 15 72 73 78 79 1 13 60 61 6 18 5 17 68 69 90 101 40 43 45 46 98 93 28 31 80 111 86 105 36 39 37 38 104 87 110 81 29 30 92 99 44 47 41 42 100 91 +4 18 16 6 56 65 64 57 48 73 49 72 7 17 19 5 62 71 70 63 54 79 55 78 90 99 98 91 82 107 83 106 101 92 93 100 109 84 108 85 28 38 31 37 36 30 39 29 50 74 58 59 66 67 51 75 8 11 0 3 2 1 10 9 20 23 12 15 14 13 22 21 52 76 60 61 68 69 53 77 40 43 24 33 32 25 42 41 80 104 88 89 96 97 81 105 111 87 103 102 95 94 110 86 44 47 26 35 34 27 46 45 +58 68 66 60 8 22 20 10 48 78 54 72 59 69 67 61 11 21 23 9 49 79 55 73 90 100 101 91 24 34 27 33 98 92 93 99 32 26 35 25 80 110 86 104 111 81 105 87 50 74 4 7 16 19 51 75 56 62 0 3 12 15 57 63 64 70 2 1 14 13 65 71 52 76 6 5 18 17 53 77 40 45 82 106 109 85 42 47 28 37 88 94 103 97 30 39 36 29 96 102 95 89 38 31 44 41 84 108 107 83 46 43 +4 5 7 6 8 9 11 10 0 1 2 3 16 17 19 18 20 21 23 22 12 13 14 15 40 41 43 42 24 25 32 33 45 44 46 47 27 26 35 34 28 29 36 37 31 30 39 38 50 74 58 66 59 67 51 75 56 64 48 72 49 73 57 65 62 70 54 78 55 79 63 71 52 76 60 68 61 69 53 77 90 98 82 106 83 107 91 99 80 104 88 96 89 97 81 105 86 110 94 102 95 103 87 111 92 100 84 108 85 109 93 101 +58 61 59 60 56 63 62 57 0 15 12 3 66 69 67 68 64 71 70 65 2 13 14 1 40 47 45 42 82 85 109 106 43 44 46 41 83 84 108 107 80 87 111 104 86 81 105 110 50 74 4 16 7 19 51 75 8 20 48 72 54 78 10 22 11 23 49 73 55 79 9 21 52 76 6 18 5 17 53 77 90 101 24 33 27 34 91 100 28 37 88 103 94 97 30 39 31 38 89 102 95 96 29 36 92 99 26 35 25 32 93 98 +56 65 64 57 48 73 49 72 4 18 16 6 62 71 70 63 54 79 55 78 7 17 19 5 28 38 31 37 90 99 101 92 36 30 39 29 98 91 93 100 82 107 109 84 83 106 108 85 50 52 8 20 11 23 74 76 0 12 58 60 59 61 3 15 2 14 66 68 67 69 1 13 51 53 10 22 9 21 75 77 80 111 40 44 43 47 104 87 24 26 88 103 89 102 33 35 32 34 96 95 97 94 25 27 81 110 42 46 41 45 105 86 +8 22 20 10 48 78 54 72 58 68 66 60 11 21 23 9 49 79 55 73 59 69 67 61 80 110 86 104 90 100 98 92 111 81 105 87 101 91 93 99 24 34 32 26 27 33 35 25 50 52 56 64 62 70 74 76 0 2 4 6 7 5 3 1 12 14 16 18 19 17 15 13 51 53 57 65 63 71 75 77 28 36 40 44 45 41 37 29 82 84 88 96 94 102 106 108 109 107 103 95 97 89 85 83 30 38 42 46 47 43 39 31 +8 9 11 10 0 1 2 3 4 5 7 6 20 21 23 22 12 13 14 15 16 17 19 18 28 29 36 37 40 41 45 44 31 30 39 38 43 42 46 47 24 25 27 26 32 33 35 34 50 52 56 62 64 70 74 76 48 54 58 60 66 68 72 78 49 55 59 61 67 69 73 79 51 53 57 63 65 71 75 77 80 86 90 92 98 100 104 110 82 84 88 94 96 102 106 108 83 85 89 95 97 103 107 109 81 87 91 93 99 101 105 111 +56 63 62 57 0 15 12 3 58 61 59 60 64 71 70 65 2 13 14 1 66 69 67 68 80 87 111 104 40 47 43 44 86 81 105 110 45 42 46 41 82 85 83 84 109 106 108 107 50 52 8 11 20 23 74 76 48 49 4 6 16 18 72 73 54 55 7 5 19 17 78 79 51 53 10 9 22 21 75 77 28 31 90 92 101 99 37 38 24 26 88 89 103 102 33 35 27 25 94 95 97 96 34 32 30 29 91 93 100 98 39 36 +50 53 52 51 48 55 49 54 0 14 12 2 74 77 76 75 72 79 73 78 3 13 15 1 40 46 43 45 90 93 101 98 44 42 47 41 92 91 99 100 88 95 103 96 89 94 102 97 56 64 8 20 11 23 62 70 4 16 58 66 59 67 7 19 6 18 60 68 61 69 5 17 57 65 10 22 9 21 63 71 80 111 28 36 31 39 86 105 24 32 82 109 83 108 27 35 26 34 84 107 85 106 25 33 81 110 30 38 29 37 87 104 +8 22 20 10 48 78 72 54 58 68 60 66 11 21 23 9 49 79 73 55 59 69 61 67 80 110 104 86 90 100 92 98 111 81 87 105 101 91 99 93 24 34 26 32 33 27 35 25 56 64 50 52 74 76 62 70 4 6 0 2 3 1 7 5 16 18 12 14 15 13 19 17 57 65 51 53 75 77 63 71 40 44 28 36 37 29 45 41 88 96 82 84 106 108 94 102 103 95 109 107 85 83 97 89 42 46 30 38 39 31 47 43 +8 9 11 10 4 5 6 7 0 1 3 2 20 21 23 22 16 17 18 19 12 13 15 14 40 41 44 45 28 29 37 36 43 42 47 46 31 30 38 39 24 25 33 32 26 27 35 34 56 64 50 74 52 76 62 70 48 72 58 66 60 68 54 78 49 73 59 67 61 69 55 79 57 65 51 75 53 77 63 71 80 104 90 98 92 100 86 110 88 96 82 106 84 108 94 102 89 97 83 107 85 109 95 103 81 105 91 99 93 101 87 111 +50 75 74 51 4 19 16 7 58 67 59 66 52 77 76 53 6 17 18 5 60 69 61 68 80 105 111 86 28 39 31 36 104 81 87 110 37 30 38 29 88 97 89 96 103 94 102 95 56 64 8 11 20 23 62 70 48 49 0 2 12 14 54 55 72 73 3 1 15 13 78 79 57 65 10 9 22 21 63 71 40 43 90 98 101 93 45 46 24 32 82 83 109 108 27 35 33 25 106 107 85 84 34 26 42 41 91 99 100 92 47 44 +50 53 52 51 48 55 54 49 0 14 2 12 74 77 76 75 72 79 78 73 3 13 1 15 40 46 45 43 90 93 98 101 44 42 41 47 92 91 100 99 88 95 96 103 94 89 102 97 8 20 56 64 62 70 11 23 58 66 4 16 7 19 59 67 60 68 6 18 5 17 61 69 10 22 57 65 63 71 9 21 28 36 80 111 86 105 31 39 82 109 24 32 27 35 83 108 84 107 26 34 25 33 85 106 30 38 81 110 87 104 29 37 +56 65 64 57 48 73 72 49 4 18 6 16 62 71 70 63 54 79 78 55 7 17 5 19 28 38 37 31 90 99 92 101 36 30 29 39 98 91 100 93 82 107 84 109 106 83 108 85 8 20 50 52 74 76 11 23 58 60 0 12 3 15 59 61 66 68 2 14 1 13 67 69 10 22 51 53 75 77 9 21 40 44 80 111 104 87 43 47 88 103 24 26 33 35 89 102 96 95 32 34 25 27 97 94 42 46 81 110 105 86 41 45 +56 63 62 57 58 61 60 59 0 15 3 12 64 71 70 65 66 69 68 67 2 13 1 14 40 47 44 43 80 87 104 111 45 42 41 46 86 81 110 105 82 85 106 109 84 83 108 107 8 20 50 74 52 76 11 23 48 72 4 16 6 18 49 73 54 78 7 19 5 17 55 79 10 22 51 75 53 77 9 21 28 37 90 101 92 99 31 38 88 103 24 33 26 35 89 102 94 97 27 34 25 32 95 96 30 39 91 100 93 98 29 36 +50 75 74 51 58 67 66 59 4 19 7 16 52 77 76 53 60 69 68 61 6 17 5 18 28 39 36 31 80 105 86 111 37 30 29 38 104 81 110 87 88 97 94 103 96 89 102 95 8 20 56 62 64 70 11 23 48 54 0 12 2 14 49 55 72 78 3 15 1 13 73 79 10 22 57 63 65 71 9 21 40 45 90 101 98 93 43 46 82 109 24 27 32 35 83 108 106 85 33 34 25 26 107 84 42 47 91 100 99 92 41 44 +50 53 52 51 0 14 2 12 48 55 54 49 74 77 76 75 3 13 1 15 72 79 78 73 90 93 98 101 40 46 45 43 92 91 100 99 44 42 41 47 88 95 94 89 96 103 102 97 8 11 56 62 64 70 20 23 4 7 58 59 66 67 16 19 6 5 60 61 68 69 18 17 10 9 57 63 65 71 22 21 80 86 28 31 36 39 111 105 82 83 24 27 32 35 109 108 84 85 26 25 34 33 107 106 81 87 30 29 38 37 110 104 +56 65 64 57 4 18 6 16 48 73 72 49 62 71 70 63 7 17 5 19 54 79 78 55 90 99 92 101 28 38 37 31 98 91 100 93 36 30 29 39 82 107 106 83 84 109 108 85 8 11 50 74 52 76 20 23 0 3 58 59 60 61 12 15 2 1 66 67 68 69 14 13 10 9 51 75 53 77 22 21 80 104 40 43 44 47 111 87 88 89 24 33 26 35 103 102 96 97 32 25 34 27 95 94 81 105 42 41 46 45 110 86 +56 63 62 57 0 15 3 12 58 61 60 59 64 71 70 65 2 13 1 14 66 69 68 67 80 87 104 111 40 47 44 43 86 81 110 105 45 42 41 46 82 85 84 83 106 109 108 107 8 11 50 52 74 76 20 23 4 6 48 49 72 73 16 18 7 5 54 55 78 79 19 17 10 9 51 53 75 77 22 21 90 92 28 31 37 38 101 99 88 89 24 26 33 35 103 102 94 95 27 25 34 32 97 96 91 93 30 29 39 36 100 98 +50 75 74 51 4 19 7 16 58 67 66 59 52 77 76 53 6 17 5 18 60 69 68 61 80 105 86 111 28 39 36 31 104 81 110 87 37 30 29 38 88 97 96 89 94 103 102 95 8 11 56 64 62 70 20 23 0 2 48 49 54 55 12 14 3 1 72 73 78 79 15 13 10 9 57 65 63 71 22 21 90 98 40 43 45 46 101 93 82 83 24 32 27 35 109 108 106 107 33 25 34 26 85 84 91 99 42 41 47 44 100 92 +50 53 52 51 0 14 12 2 48 55 49 54 74 77 76 75 3 13 15 1 72 79 73 78 90 93 101 98 40 46 43 45 92 91 99 100 44 42 47 41 88 95 89 94 103 96 102 97 56 62 8 11 20 23 64 70 58 59 4 7 16 19 66 67 60 61 6 5 18 17 68 69 57 63 10 9 22 21 65 71 28 31 80 86 111 105 36 39 24 27 82 83 109 108 32 35 26 25 84 85 107 106 34 33 30 29 81 87 110 104 38 37 +8 22 20 10 58 68 60 66 48 78 72 54 11 21 23 9 59 69 61 67 49 79 73 55 90 100 92 98 80 110 104 86 101 91 99 93 111 81 87 105 24 34 33 27 26 32 35 25 56 62 50 74 52 76 64 70 0 3 4 7 6 5 2 1 12 15 16 19 18 17 14 13 57 63 51 75 53 77 65 71 28 37 40 45 44 41 36 29 88 94 82 106 84 108 96 102 103 97 109 85 107 83 95 89 30 39 42 47 46 43 38 31 +8 9 11 10 0 1 3 2 4 5 6 7 20 21 23 22 12 13 15 14 16 17 18 19 28 29 37 36 40 41 44 45 31 30 38 39 43 42 47 46 24 25 26 27 33 32 35 34 56 62 50 52 74 76 64 70 58 60 48 54 72 78 66 68 59 61 49 55 73 79 67 69 57 63 51 53 75 77 65 71 90 92 80 86 104 110 98 100 88 94 82 84 106 108 96 102 89 95 83 85 107 109 97 103 91 93 81 87 105 111 99 101 +50 75 74 51 58 67 59 66 4 19 16 7 52 77 76 53 60 69 61 68 6 17 18 5 28 39 31 36 80 105 111 86 37 30 38 29 104 81 87 110 88 97 103 94 89 96 102 95 56 62 8 20 11 23 64 70 0 12 48 54 49 55 2 14 3 15 72 78 73 79 1 13 57 63 10 22 9 21 65 71 90 101 40 45 43 46 98 93 24 27 82 109 83 108 32 35 33 34 106 85 107 84 25 26 91 100 42 47 41 44 99 92 +56 65 64 57 4 18 16 6 48 73 49 72 62 71 70 63 7 17 19 5 54 79 55 78 90 99 101 92 28 38 31 37 98 91 93 100 36 30 39 29 82 107 83 106 109 84 108 85 50 74 8 11 20 23 52 76 58 59 0 3 12 15 60 61 66 67 2 1 14 13 68 69 51 75 10 9 22 21 53 77 40 43 80 104 111 87 44 47 24 33 88 89 103 102 26 35 32 25 96 97 95 94 34 27 42 41 81 105 110 86 46 45 +8 22 20 10 58 68 66 60 48 78 54 72 11 21 23 9 59 69 67 61 49 79 55 73 90 100 98 92 80 110 86 104 101 91 93 99 111 81 105 87 24 34 27 33 32 26 35 25 50 74 56 62 64 70 52 76 4 7 0 3 2 1 6 5 16 19 12 15 14 13 18 17 51 75 57 63 65 71 53 77 40 45 28 37 36 29 44 41 82 106 88 94 96 102 84 108 109 85 103 97 95 89 107 83 42 47 30 39 38 31 46 43 +8 9 11 10 4 5 7 6 0 1 2 3 20 21 23 22 16 17 19 18 12 13 14 15 40 41 45 44 28 29 36 37 43 42 46 47 31 30 39 38 24 25 32 33 27 26 35 34 50 74 56 64 62 70 52 76 58 66 48 72 54 78 60 68 59 67 49 73 55 79 61 69 51 75 57 65 63 71 53 77 90 98 80 104 86 110 92 100 82 106 88 96 94 102 84 108 83 107 89 97 95 103 85 109 91 99 81 105 87 111 93 101 +56 63 62 57 58 61 59 60 0 15 12 3 64 71 70 65 66 69 67 68 2 13 14 1 40 47 43 44 80 87 111 104 45 42 46 41 86 81 105 110 82 85 109 106 83 84 108 107 50 74 8 20 11 23 52 76 4 16 48 72 49 73 6 18 7 19 54 78 55 79 5 17 51 75 10 22 9 21 53 77 90 101 28 37 31 38 92 99 24 33 88 103 89 102 26 35 27 34 94 97 95 96 25 32 91 100 30 39 29 36 93 98 +0 15 2 13 80 87 81 86 82 85 84 83 12 3 14 1 111 104 110 105 109 106 107 108 56 63 57 62 58 61 60 59 64 71 65 70 66 69 68 67 40 47 44 43 42 45 46 41 48 49 50 52 51 53 54 55 24 26 28 31 30 29 27 25 32 34 36 39 38 37 35 33 79 78 77 75 76 74 73 72 4 6 8 11 10 9 7 5 88 89 90 92 91 93 94 95 96 97 98 100 99 101 102 103 17 19 21 22 23 20 18 16 +0 1 12 13 24 25 26 27 28 29 30 31 2 3 14 15 32 33 34 35 36 37 38 39 4 5 6 7 8 9 10 11 16 17 18 19 20 21 22 23 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 80 81 82 83 84 85 86 87 111 110 109 108 107 106 105 104 79 78 77 76 75 74 73 72 56 57 58 59 60 61 62 63 88 89 90 91 92 93 94 95 103 102 101 100 99 98 97 96 71 70 69 68 67 66 65 64 +50 76 51 77 24 35 32 27 82 108 109 83 52 74 53 75 26 33 34 25 84 106 107 85 56 70 64 62 8 23 20 11 57 71 65 63 10 21 22 9 88 102 103 89 96 94 95 97 48 49 0 12 2 14 54 55 80 111 28 31 36 39 86 105 81 110 30 29 38 37 87 104 79 78 13 1 15 3 73 72 4 16 58 59 66 67 7 19 40 43 90 101 98 93 45 46 42 41 91 100 99 92 47 44 17 5 69 68 61 60 18 6 +50 75 52 77 80 105 111 86 28 39 36 31 51 74 53 76 81 104 110 87 30 37 38 29 4 19 16 7 58 67 66 59 6 17 18 5 60 69 68 61 88 97 96 89 103 94 95 102 48 49 0 2 12 14 54 55 24 32 82 83 109 108 27 35 26 34 84 85 107 106 25 33 79 78 13 15 1 3 73 72 56 64 8 11 20 23 62 70 40 43 90 98 101 93 45 46 44 47 92 100 99 91 41 42 71 63 21 22 9 10 65 57 +0 15 2 13 82 85 84 83 80 87 81 86 12 3 14 1 109 106 107 108 111 104 110 105 58 61 60 59 56 63 57 62 66 69 68 67 64 71 65 70 40 47 42 45 44 43 46 41 48 54 50 51 52 53 49 55 28 30 24 27 26 25 31 29 36 38 32 35 34 33 39 37 79 73 77 76 75 74 78 72 8 10 4 7 6 5 11 9 88 94 90 91 92 93 89 95 96 102 98 99 100 101 97 103 21 23 17 18 19 16 22 20 +0 1 12 13 28 29 30 31 24 25 26 27 2 3 14 15 36 37 38 39 32 33 34 35 8 9 10 11 4 5 6 7 20 21 22 23 16 17 18 19 40 41 44 45 42 43 46 47 48 54 50 52 51 53 49 55 82 84 80 86 81 87 83 85 109 107 111 105 110 104 108 106 79 73 77 75 76 74 78 72 58 60 56 62 57 63 59 61 88 94 90 92 91 93 89 95 103 97 101 99 100 98 102 96 69 67 71 65 70 64 68 66 +50 76 51 77 82 108 109 83 24 35 32 27 52 74 53 75 84 106 107 85 26 33 34 25 8 23 20 11 56 70 64 62 10 21 22 9 57 71 65 63 88 102 96 94 103 89 95 97 48 54 0 2 12 14 49 55 28 36 80 86 111 105 31 39 30 38 81 87 110 104 29 37 79 73 13 15 1 3 78 72 58 66 4 7 16 19 59 67 40 45 90 98 101 93 43 46 42 47 91 99 100 92 41 44 69 61 17 18 5 6 68 60 +50 75 52 77 28 39 36 31 80 105 111 86 51 74 53 76 30 37 38 29 81 104 110 87 58 67 66 59 4 19 16 7 60 69 68 61 6 17 18 5 88 97 103 94 96 89 95 102 48 54 0 12 2 14 49 55 82 109 24 27 32 35 83 108 84 107 26 25 34 33 85 106 79 73 13 1 15 3 78 72 8 20 56 62 64 70 11 23 40 45 90 101 98 93 43 46 44 41 92 99 100 91 47 42 21 9 71 65 63 57 22 10 +48 78 49 79 80 110 81 111 24 34 26 32 54 72 55 73 86 104 87 105 27 33 25 35 8 22 10 20 58 68 60 66 11 21 9 23 59 69 61 67 90 100 92 98 91 101 93 99 0 2 50 52 51 53 12 14 82 84 28 36 30 38 109 107 83 85 31 39 29 37 108 106 13 15 77 75 76 74 1 3 4 6 56 64 57 65 16 18 88 96 40 44 42 46 103 95 89 97 43 47 41 45 102 94 17 19 71 63 70 62 5 7 +48 73 54 79 82 107 84 109 28 38 30 36 49 72 55 78 83 106 85 108 31 37 29 39 4 18 6 16 56 65 57 64 7 17 5 19 62 71 63 70 90 99 91 98 92 101 93 100 0 2 50 51 52 53 12 14 80 81 24 32 26 34 111 110 86 87 27 35 25 33 105 104 13 15 77 76 75 74 1 3 8 10 58 66 60 68 20 22 88 96 40 42 44 46 103 95 94 102 45 47 41 43 97 89 21 23 69 61 67 59 9 11 +50 76 51 77 82 108 83 109 24 35 27 32 52 74 53 75 84 106 85 107 26 33 25 34 8 23 11 20 56 70 62 64 10 21 9 22 57 71 63 65 88 102 94 96 89 103 95 97 0 2 48 54 49 55 12 14 80 86 28 36 31 39 111 105 81 87 30 38 29 37 110 104 13 15 79 73 78 72 1 3 4 7 58 66 59 67 16 19 90 98 40 45 43 46 101 93 91 99 42 47 41 44 100 92 17 18 69 61 68 60 5 6 +50 75 52 77 80 105 86 111 28 39 31 36 51 74 53 76 81 104 87 110 30 37 29 38 4 19 7 16 58 67 59 66 6 17 5 18 60 69 61 68 88 97 89 96 94 103 95 102 0 2 48 49 54 55 12 14 82 83 24 32 27 35 109 108 84 85 26 34 25 33 107 106 13 15 79 78 73 72 1 3 8 11 56 64 62 70 20 23 90 98 40 43 45 46 101 93 92 100 44 47 41 42 99 91 21 22 71 63 65 57 9 10 +48 78 49 79 24 34 26 32 80 110 81 111 54 72 55 73 27 33 25 35 86 104 87 105 58 68 60 66 8 22 10 20 59 69 61 67 11 21 9 23 90 100 91 101 92 98 93 99 0 12 50 51 52 53 2 14 28 30 82 109 84 107 36 38 31 29 83 108 85 106 39 37 13 1 77 76 75 74 15 3 56 57 4 16 6 18 64 65 88 103 40 42 44 46 96 95 89 102 43 41 47 45 97 94 71 70 17 5 19 7 63 62 +48 73 54 79 28 38 30 36 82 107 84 109 49 72 55 78 31 37 29 39 83 106 85 108 56 65 57 64 4 18 6 16 62 71 63 70 7 17 5 19 90 99 92 101 91 98 93 100 0 12 50 52 51 53 2 14 24 26 80 111 81 110 32 34 27 25 86 105 87 104 35 33 13 1 77 75 76 74 15 3 58 60 8 20 10 22 66 68 88 103 40 44 42 46 96 95 94 97 45 41 47 43 102 89 69 67 21 9 23 11 61 59 +50 76 51 77 24 35 27 32 82 108 83 109 52 74 53 75 26 33 25 34 84 106 85 107 56 70 62 64 8 23 11 20 57 71 63 65 10 21 9 22 88 102 89 103 94 96 95 97 0 12 48 49 54 55 2 14 28 31 80 111 86 105 36 39 30 29 81 110 87 104 38 37 13 1 79 78 73 72 15 3 58 59 4 16 7 19 66 67 90 101 40 43 45 46 98 93 91 100 42 41 47 44 99 92 69 68 17 5 18 6 61 60 +50 75 52 77 28 39 31 36 80 105 86 111 51 74 53 76 30 37 29 38 81 104 87 110 58 67 59 66 4 19 7 16 60 69 61 68 6 17 5 18 88 97 94 103 89 96 95 102 0 12 48 54 49 55 2 14 24 27 82 109 83 108 32 35 26 25 84 107 85 106 34 33 13 1 79 73 78 72 15 3 56 62 8 20 11 23 64 70 90 101 40 45 43 46 98 93 92 99 44 41 47 42 100 91 71 65 21 9 22 10 63 57 +48 78 49 79 24 34 32 26 80 110 111 81 54 72 55 73 27 33 35 25 86 104 105 87 58 68 66 60 8 22 20 10 59 69 67 61 11 21 23 9 90 100 101 91 98 92 93 99 50 51 0 12 2 14 52 53 82 109 28 30 36 38 84 107 83 108 31 29 39 37 85 106 77 76 13 1 15 3 75 74 4 16 56 57 64 65 6 18 40 42 88 103 96 95 44 46 43 41 89 102 97 94 47 45 17 5 71 70 63 62 19 7 +48 73 54 79 82 107 109 84 28 38 36 30 49 72 55 78 83 106 108 85 31 37 39 29 4 18 16 6 56 65 64 57 7 17 19 5 62 71 70 63 90 99 98 91 101 92 93 100 50 51 0 2 12 14 52 53 24 32 80 81 111 110 26 34 27 35 86 87 105 104 25 33 77 76 13 15 1 3 75 74 58 66 8 10 20 22 60 68 40 42 88 96 103 95 44 46 45 47 94 102 97 89 41 43 69 61 21 23 9 11 67 59 +0 15 2 13 82 85 83 84 80 87 86 81 12 3 14 1 109 106 108 107 111 104 105 110 58 61 59 60 56 63 62 57 66 69 67 68 64 71 70 65 40 47 45 42 43 44 46 41 50 51 48 54 49 55 52 53 24 27 28 30 31 29 26 25 32 35 36 38 39 37 34 33 77 76 79 73 78 72 75 74 4 7 8 10 11 9 6 5 90 91 88 94 89 95 92 93 98 99 96 102 97 103 100 101 17 18 21 23 22 20 19 16 +0 1 12 13 24 25 27 26 28 29 31 30 2 3 14 15 32 33 35 34 36 37 39 38 4 5 7 6 8 9 11 10 16 17 19 18 20 21 23 22 40 41 43 42 45 44 46 47 50 51 48 49 54 55 52 53 82 83 80 81 86 87 84 85 109 108 111 110 105 104 107 106 77 76 79 78 73 72 75 74 58 59 56 57 62 63 60 61 90 91 88 89 94 95 92 93 101 100 103 102 97 96 99 98 69 68 71 70 65 64 67 66 +48 78 49 79 80 110 111 81 24 34 32 26 54 72 55 73 86 104 105 87 27 33 35 25 8 22 20 10 58 68 66 60 11 21 23 9 59 69 67 61 90 100 98 92 101 91 93 99 50 52 0 2 12 14 51 53 28 36 82 84 109 107 30 38 31 39 83 85 108 106 29 37 77 75 13 15 1 3 76 74 56 64 4 6 16 18 57 65 40 44 88 96 103 95 42 46 43 47 89 97 102 94 41 45 71 63 17 19 5 7 70 62 +48 73 54 79 28 38 36 30 82 107 109 84 49 72 55 78 31 37 39 29 83 106 108 85 56 65 64 57 4 18 16 6 62 71 70 63 7 17 19 5 90 99 101 92 98 91 93 100 50 52 0 12 2 14 51 53 80 111 24 26 32 34 81 110 86 105 27 25 35 33 87 104 77 75 13 1 15 3 76 74 8 20 58 60 66 68 10 22 40 44 88 103 96 95 42 46 45 41 94 97 102 89 47 43 21 9 69 67 61 59 23 11 +0 15 2 13 80 87 86 81 82 85 83 84 12 3 14 1 111 104 105 110 109 106 108 107 56 63 62 57 58 61 59 60 64 71 70 65 66 69 67 68 40 47 43 44 45 42 46 41 50 52 48 49 54 55 51 53 28 31 24 26 27 25 30 29 36 39 32 34 35 33 38 37 77 75 79 78 73 72 76 74 8 11 4 6 7 5 10 9 90 92 88 89 94 95 91 93 98 100 96 97 102 103 99 101 21 22 17 19 18 16 23 20 +0 1 12 13 28 29 31 30 24 25 27 26 2 3 14 15 36 37 39 38 32 33 35 34 8 9 11 10 4 5 7 6 20 21 23 22 16 17 19 18 40 41 45 44 43 42 46 47 50 52 48 54 49 55 51 53 80 86 82 84 83 85 81 87 111 105 109 107 108 106 110 104 77 75 79 73 78 72 76 74 56 62 58 60 59 61 57 63 90 92 88 94 89 95 91 93 101 99 103 97 102 96 100 98 71 65 69 67 68 66 70 64 +80 87 81 86 0 15 2 13 82 85 84 83 111 104 110 105 12 3 14 1 109 106 107 108 56 63 64 71 40 47 44 43 57 62 65 70 42 45 46 41 58 61 60 59 66 69 68 67 48 49 24 26 32 34 79 78 50 52 28 31 36 39 77 75 51 53 30 29 38 37 76 74 54 55 27 25 35 33 73 72 4 6 88 89 96 97 17 19 8 11 90 92 98 100 21 22 10 9 91 93 99 101 23 20 7 5 94 95 102 103 18 16 +24 25 26 27 0 1 12 13 28 29 30 31 32 33 34 35 2 3 14 15 36 37 38 39 4 5 16 17 40 41 42 43 6 7 18 19 44 45 46 47 8 9 10 11 20 21 22 23 48 49 80 81 111 110 79 78 50 51 82 83 109 108 77 76 52 53 84 85 107 106 75 74 54 55 86 87 105 104 73 72 56 57 88 89 103 102 71 70 58 59 90 91 101 100 69 68 60 61 92 93 99 98 67 66 62 63 94 95 97 96 65 64 +24 35 32 27 50 76 51 77 82 108 109 83 26 33 34 25 52 74 53 75 84 106 107 85 56 70 57 71 88 102 103 89 64 62 65 63 96 94 95 97 8 23 20 11 10 21 22 9 48 49 80 111 81 110 79 78 0 12 28 31 30 29 13 1 2 14 36 39 38 37 15 3 54 55 86 105 87 104 73 72 4 16 40 43 42 41 17 5 58 59 90 101 91 100 69 68 66 67 98 93 99 92 61 60 7 19 45 46 47 44 18 6 +80 105 111 86 50 75 52 77 28 39 36 31 81 104 110 87 51 74 53 76 30 37 38 29 4 19 6 17 88 97 96 89 16 7 18 5 103 94 95 102 58 67 66 59 60 69 68 61 48 49 24 32 26 34 79 78 0 2 82 83 84 85 13 15 12 14 109 108 107 106 1 3 54 55 27 35 25 33 73 72 56 64 40 43 44 47 71 63 8 11 90 98 92 100 21 22 20 23 101 93 99 91 9 10 62 70 45 46 41 42 65 57 +80 87 81 86 82 85 84 83 0 15 2 13 111 104 110 105 109 106 107 108 12 3 14 1 40 47 44 43 56 63 64 71 42 45 46 41 57 62 65 70 58 61 66 69 60 59 68 67 48 79 24 32 26 34 49 78 28 36 50 77 52 75 31 39 30 38 51 76 53 74 29 37 54 73 27 35 25 33 55 72 88 96 4 17 6 19 89 97 8 21 90 98 92 100 11 22 10 23 91 99 93 101 9 20 94 102 7 18 5 16 95 103 +24 25 26 27 28 29 30 31 0 1 12 13 32 33 34 35 36 37 38 39 2 3 14 15 40 41 42 43 4 5 16 17 44 45 46 47 6 7 18 19 8 9 20 21 10 11 22 23 48 79 80 111 81 110 49 78 82 109 50 77 51 76 83 108 84 107 52 75 53 74 85 106 54 73 86 105 87 104 55 72 88 103 56 71 57 70 89 102 58 69 90 101 91 100 59 68 60 67 92 99 93 98 61 66 94 97 62 65 63 64 95 96 +24 35 32 27 82 108 109 83 50 76 51 77 26 33 34 25 84 106 107 85 52 74 53 75 88 102 103 89 56 70 57 71 96 94 95 97 64 62 65 63 8 23 10 21 20 11 22 9 48 79 80 81 111 110 49 78 28 30 0 13 12 1 31 29 36 38 2 15 14 3 39 37 54 73 86 87 105 104 55 72 40 42 4 17 16 5 43 41 58 69 90 91 101 100 59 68 66 61 98 99 93 92 67 60 45 47 7 18 19 6 46 44 +80 105 111 86 28 39 36 31 50 75 52 77 81 104 110 87 30 37 38 29 51 74 53 76 88 97 96 89 4 19 6 17 103 94 95 102 16 7 18 5 58 67 60 69 66 59 68 61 48 79 24 26 32 34 49 78 82 84 0 13 2 15 83 85 109 107 12 1 14 3 108 106 54 73 27 25 35 33 55 72 40 44 56 71 64 63 43 47 8 21 90 92 98 100 11 22 20 9 101 99 93 91 23 10 45 41 62 65 70 57 46 42 +48 55 49 54 0 14 2 12 50 53 52 51 79 72 78 73 13 3 15 1 77 74 75 76 88 95 96 103 40 46 44 42 89 94 97 102 43 45 47 41 90 93 92 91 98 101 100 99 80 81 24 26 32 34 111 110 82 84 28 30 36 38 109 107 83 85 31 29 39 37 108 106 86 87 27 25 35 33 105 104 4 6 56 57 64 65 16 18 8 10 58 60 66 68 20 22 11 9 59 61 67 69 23 21 7 5 62 63 70 71 19 17 +48 73 79 54 82 107 84 109 28 38 36 30 49 72 78 55 83 106 85 108 31 37 39 29 4 18 6 16 56 65 64 57 17 7 19 5 71 62 63 70 90 99 98 91 92 101 100 93 80 81 24 32 26 34 111 110 0 2 50 51 52 53 12 14 13 15 77 76 75 74 1 3 86 87 27 35 25 33 105 104 88 96 40 42 44 46 103 95 8 10 58 66 60 68 20 22 21 23 69 61 67 59 9 11 94 102 45 47 41 43 97 89 +24 25 26 27 0 1 13 12 28 29 31 30 32 33 34 35 2 3 15 14 36 37 39 38 4 5 17 16 40 41 43 42 6 7 19 18 44 45 47 46 8 9 11 10 21 20 22 23 80 81 48 49 79 78 111 110 82 83 50 51 77 76 109 108 84 85 52 53 75 74 107 106 86 87 54 55 73 72 105 104 88 89 56 57 71 70 103 102 90 91 58 59 69 68 101 100 92 93 60 61 67 66 99 98 94 95 62 63 65 64 97 96 +24 35 32 27 82 108 83 109 50 76 77 51 26 33 34 25 84 106 85 107 52 74 75 53 88 102 89 103 56 70 71 57 96 94 97 95 64 62 63 65 8 23 21 10 11 20 22 9 80 81 48 79 49 78 111 110 0 13 28 30 31 29 12 1 2 15 36 38 39 37 14 3 86 87 54 73 55 72 105 104 4 17 40 42 43 41 16 5 90 91 58 69 59 68 101 100 98 99 66 61 67 60 93 92 7 18 45 47 46 44 19 6 +48 55 49 54 0 14 12 2 50 53 51 52 79 72 78 73 13 3 1 15 77 74 76 75 88 95 103 96 40 46 42 44 89 94 102 97 43 45 41 47 90 93 91 92 101 98 100 99 24 26 80 81 111 110 32 34 28 30 82 84 109 107 36 38 31 29 83 85 108 106 39 37 27 25 86 87 105 104 35 33 56 57 4 6 16 18 64 65 58 60 8 10 20 22 66 68 59 61 11 9 23 21 67 69 62 63 7 5 19 17 70 71 +48 73 79 54 28 38 30 36 82 107 109 84 49 72 78 55 31 37 29 39 83 106 108 85 56 65 57 64 4 18 16 6 71 62 70 63 17 7 5 19 90 99 101 92 91 98 100 93 24 26 80 111 81 110 32 34 0 12 50 52 51 53 2 14 13 1 77 75 76 74 15 3 27 25 86 105 87 104 35 33 88 103 40 44 42 46 96 95 58 60 8 20 10 22 66 68 69 67 21 9 23 11 61 59 94 97 45 41 47 43 102 89 +80 87 81 86 0 15 13 2 82 85 83 84 111 104 110 105 12 3 1 14 109 106 108 107 56 63 71 64 40 47 43 44 57 62 70 65 42 45 41 46 58 61 59 60 69 66 68 67 24 26 48 49 79 78 32 34 28 31 50 52 77 75 36 39 30 29 51 53 76 74 38 37 27 25 54 55 73 72 35 33 88 89 4 6 17 19 96 97 90 92 8 11 21 22 98 100 91 93 10 9 23 20 99 101 94 95 7 5 18 16 102 103 +80 105 111 86 28 39 31 36 50 75 77 52 81 104 110 87 30 37 29 38 51 74 76 53 88 97 89 96 4 19 17 6 103 94 102 95 16 7 5 18 58 67 69 60 59 66 68 61 24 26 48 79 49 78 32 34 0 13 82 84 83 85 2 15 12 1 109 107 108 106 14 3 27 25 54 73 55 72 35 33 56 71 40 44 43 47 64 63 90 92 8 21 11 22 98 100 101 99 20 9 23 10 93 91 62 65 45 41 46 42 70 57 +48 55 49 54 50 53 51 52 0 14 12 2 79 72 78 73 77 74 76 75 13 3 1 15 40 46 42 44 88 95 103 96 43 45 41 47 89 94 102 97 90 93 101 98 91 92 100 99 24 32 80 111 81 110 26 34 82 109 28 36 30 38 84 107 83 108 31 39 29 37 85 106 27 35 86 105 87 104 25 33 4 16 56 64 57 65 6 18 58 66 8 20 10 22 60 68 59 67 11 23 9 21 61 69 7 19 62 70 63 71 5 17 +48 73 79 54 82 107 109 84 28 38 30 36 49 72 78 55 83 106 108 85 31 37 29 39 4 18 16 6 56 65 57 64 17 7 5 19 71 62 70 63 90 99 91 98 101 92 100 93 24 32 80 81 111 110 26 34 50 51 0 2 12 14 52 53 77 76 13 15 1 3 75 74 27 35 86 87 105 104 25 33 40 42 88 96 103 95 44 46 58 66 8 10 20 22 60 68 69 61 21 23 9 11 67 59 45 47 94 102 97 89 41 43 +80 87 81 86 82 85 83 84 0 15 13 2 111 104 110 105 109 106 108 107 12 3 1 14 40 47 43 44 56 63 71 64 42 45 41 46 57 62 70 65 58 61 69 66 59 60 68 67 24 32 48 79 49 78 26 34 50 77 28 36 31 39 52 75 51 76 30 38 29 37 53 74 27 35 54 73 55 72 25 33 4 17 88 96 89 97 6 19 90 98 8 21 11 22 92 100 91 99 10 23 9 20 93 101 7 18 94 102 95 103 5 16 +80 105 111 86 50 75 77 52 28 39 31 36 81 104 110 87 51 74 76 53 30 37 29 38 4 19 17 6 88 97 89 96 16 7 5 18 103 94 102 95 58 67 59 66 69 60 68 61 24 32 48 49 79 78 26 34 82 83 0 2 13 15 84 85 109 108 12 14 1 3 107 106 27 35 54 55 73 72 25 33 40 43 56 64 71 63 44 47 90 98 8 11 21 22 92 100 101 93 20 23 9 10 99 91 45 46 62 70 65 57 41 42 +48 55 49 54 50 53 52 51 0 14 2 12 79 72 78 73 77 74 75 76 13 3 15 1 40 46 44 42 88 95 96 103 43 45 47 41 89 94 97 102 90 93 98 101 92 91 100 99 80 111 24 32 26 34 81 110 28 36 82 109 84 107 30 38 31 39 83 108 85 106 29 37 86 105 27 35 25 33 87 104 56 64 4 16 6 18 57 65 8 20 58 66 60 68 10 22 11 23 59 67 61 69 9 21 62 70 7 19 5 17 63 71 +48 73 79 54 28 38 36 30 82 107 84 109 49 72 78 55 31 37 39 29 83 106 85 108 56 65 64 57 4 18 6 16 71 62 63 70 17 7 19 5 90 99 92 101 98 91 100 93 80 111 24 26 32 34 81 110 50 52 0 12 2 14 51 53 77 75 13 1 15 3 76 74 86 105 27 25 35 33 87 104 40 44 88 103 96 95 42 46 8 20 58 60 66 68 10 22 21 9 69 67 61 59 23 11 45 41 94 97 102 89 47 43 +24 25 26 27 28 29 31 30 0 1 13 12 32 33 34 35 36 37 39 38 2 3 15 14 40 41 43 42 4 5 17 16 44 45 47 46 6 7 19 18 8 9 21 20 11 10 22 23 80 111 48 79 49 78 81 110 50 77 82 109 83 108 51 76 52 75 84 107 85 106 53 74 86 105 54 73 55 72 87 104 56 71 88 103 89 102 57 70 90 101 58 69 59 68 91 100 92 99 60 67 61 66 93 98 62 65 94 97 95 96 63 64 +24 35 32 27 50 76 77 51 82 108 83 109 26 33 34 25 52 74 75 53 84 106 85 107 56 70 71 57 88 102 89 103 64 62 63 65 96 94 97 95 8 23 11 20 21 10 22 9 80 111 48 49 79 78 81 110 28 31 0 12 13 1 30 29 36 39 2 14 15 3 38 37 86 105 54 55 73 72 87 104 40 43 4 16 17 5 42 41 90 101 58 59 69 68 91 100 98 93 66 67 61 60 99 92 45 46 7 19 18 6 47 44 +82 85 84 83 0 15 2 13 80 87 81 86 109 106 107 108 12 3 14 1 111 104 110 105 58 61 66 69 40 47 42 45 60 59 68 67 44 43 46 41 56 63 57 62 64 71 65 70 48 54 28 30 36 38 79 73 50 51 24 27 32 35 77 76 52 53 26 25 34 33 75 74 49 55 31 29 39 37 78 72 8 10 88 94 96 102 21 23 4 7 90 91 98 99 17 18 6 5 92 93 100 101 19 16 11 9 89 95 97 103 22 20 +28 29 30 31 0 1 12 13 24 25 26 27 36 37 38 39 2 3 14 15 32 33 34 35 8 9 20 21 40 41 44 45 10 11 22 23 42 43 46 47 4 5 6 7 16 17 18 19 48 54 82 84 109 107 79 73 50 52 80 86 111 105 77 75 51 53 81 87 110 104 76 74 49 55 83 85 108 106 78 72 58 60 88 94 103 97 69 67 56 62 90 92 101 99 71 65 57 63 91 93 100 98 70 64 59 61 89 95 102 96 68 66 +82 108 109 83 50 76 51 77 24 35 32 27 84 106 107 85 52 74 53 75 26 33 34 25 8 23 10 21 88 102 96 94 20 11 22 9 103 89 95 97 56 70 64 62 57 71 65 63 48 54 28 36 30 38 79 73 0 2 80 86 81 87 13 15 12 14 111 105 110 104 1 3 49 55 31 39 29 37 78 72 58 66 40 45 42 47 69 61 4 7 90 98 91 99 17 18 16 19 101 93 100 92 5 6 59 67 43 46 41 44 68 60 +28 39 36 31 50 75 52 77 80 105 111 86 30 37 38 29 51 74 53 76 81 104 110 87 58 67 60 69 88 97 103 94 66 59 68 61 96 89 95 102 4 19 16 7 6 17 18 5 48 54 82 109 84 107 79 73 0 12 24 27 26 25 13 1 2 14 32 35 34 33 15 3 49 55 83 108 85 106 78 72 8 20 40 45 44 41 21 9 56 62 90 101 92 99 71 65 64 70 98 93 100 91 63 57 11 23 43 46 47 42 22 10 +82 85 84 83 80 87 81 86 0 15 2 13 109 106 107 108 111 104 110 105 12 3 14 1 40 47 42 45 58 61 66 69 44 43 46 41 60 59 68 67 56 63 64 71 57 62 65 70 48 79 28 36 30 38 54 73 24 32 50 77 51 76 27 35 26 34 52 75 53 74 25 33 49 78 31 39 29 37 55 72 88 96 8 21 10 23 94 102 4 17 90 98 91 99 7 18 6 19 92 100 93 101 5 16 89 97 11 22 9 20 95 103 +28 29 30 31 24 25 26 27 0 1 12 13 36 37 38 39 32 33 34 35 2 3 14 15 40 41 44 45 8 9 20 21 42 43 46 47 10 11 22 23 4 5 16 17 6 7 18 19 48 79 82 109 84 107 54 73 80 111 50 77 52 75 86 105 81 110 51 76 53 74 87 104 49 78 83 108 85 106 55 72 88 103 58 69 60 67 94 97 56 71 90 101 92 99 62 65 57 70 91 100 93 98 63 64 89 102 59 68 61 66 95 96 +82 108 109 83 24 35 32 27 50 76 51 77 84 106 107 85 26 33 34 25 52 74 53 75 88 102 96 94 8 23 10 21 103 89 95 97 20 11 22 9 56 70 57 71 64 62 65 63 48 79 28 30 36 38 54 73 80 81 0 13 2 15 86 87 111 110 12 1 14 3 105 104 49 78 31 29 39 37 55 72 40 42 58 69 66 61 45 47 4 17 90 91 98 99 7 18 16 5 101 100 93 92 19 6 43 41 59 68 67 60 46 44 +28 39 36 31 80 105 111 86 50 75 52 77 30 37 38 29 81 104 110 87 51 74 53 76 88 97 103 94 58 67 60 69 96 89 95 102 66 59 68 61 4 19 6 17 16 7 18 5 48 79 82 84 109 107 54 73 24 26 0 13 12 1 27 25 32 34 2 15 14 3 35 33 49 78 83 85 108 106 55 72 40 44 8 21 20 9 45 41 56 71 90 92 101 99 62 65 64 63 98 100 93 91 70 57 43 47 11 22 23 10 46 42 +48 55 54 49 0 14 2 12 50 53 51 52 79 72 73 78 13 3 15 1 77 74 76 75 88 95 96 103 40 46 42 44 94 89 102 97 45 43 47 41 90 93 91 92 98 101 99 100 82 84 28 30 36 38 109 107 80 81 24 26 32 34 111 110 86 87 27 25 35 33 105 104 83 85 31 29 39 37 108 106 8 10 58 60 66 68 20 22 4 6 56 57 64 65 16 18 7 5 62 63 70 71 19 17 11 9 59 61 67 69 23 21 +48 78 79 49 80 110 81 111 24 34 32 26 54 72 73 55 86 104 87 105 27 33 35 25 8 22 10 20 58 68 66 60 21 11 23 9 69 59 61 67 90 100 98 92 91 101 99 93 82 84 28 36 30 38 109 107 0 2 50 52 51 53 12 14 13 15 77 75 76 74 1 3 83 85 31 39 29 37 108 106 88 96 40 44 42 46 103 95 4 6 56 64 57 65 16 18 17 19 71 63 70 62 5 7 89 97 43 47 41 45 102 94 +28 29 30 31 0 1 13 12 24 25 27 26 36 37 38 39 2 3 15 14 32 33 35 34 8 9 21 20 40 41 45 44 10 11 23 22 42 43 47 46 4 5 7 6 17 16 18 19 82 84 48 54 79 73 109 107 80 86 50 52 77 75 111 105 81 87 51 53 76 74 110 104 83 85 49 55 78 72 108 106 88 94 58 60 69 67 103 97 90 92 56 62 71 65 101 99 91 93 57 63 70 64 100 98 89 95 59 61 68 66 102 96 +28 39 36 31 80 105 86 111 50 75 77 52 30 37 38 29 81 104 87 110 51 74 76 53 88 97 94 103 58 67 69 60 96 89 102 95 66 59 61 68 4 19 17 6 7 16 18 5 82 84 48 79 54 73 109 107 0 13 24 26 27 25 12 1 2 15 32 34 35 33 14 3 83 85 49 78 55 72 108 106 8 21 40 44 45 41 20 9 90 92 56 71 62 65 101 99 98 100 64 63 70 57 93 91 11 22 43 47 46 42 23 10 +48 55 54 49 0 14 12 2 50 53 52 51 79 72 73 78 13 3 1 15 77 74 75 76 88 95 103 96 40 46 44 42 94 89 97 102 45 43 41 47 90 93 92 91 101 98 99 100 28 30 82 84 109 107 36 38 24 26 80 81 111 110 32 34 27 25 86 87 105 104 35 33 31 29 83 85 108 106 39 37 58 60 8 10 20 22 66 68 56 57 4 6 16 18 64 65 62 63 7 5 19 17 70 71 59 61 11 9 23 21 67 69 +48 78 79 49 24 34 26 32 80 110 111 81 54 72 73 55 27 33 25 35 86 104 105 87 58 68 60 66 8 22 20 10 69 59 67 61 21 11 9 23 90 100 101 91 92 98 99 93 28 30 82 109 84 107 36 38 0 12 50 51 52 53 2 14 13 1 77 76 75 74 15 3 31 29 83 108 85 106 39 37 88 103 40 42 44 46 96 95 56 57 4 16 6 18 64 65 71 70 17 5 19 7 63 62 89 102 43 41 47 45 97 94 +82 85 84 83 0 15 13 2 80 87 86 81 109 106 107 108 12 3 1 14 111 104 105 110 58 61 69 66 40 47 45 42 60 59 67 68 44 43 41 46 56 63 62 57 71 64 65 70 28 30 48 54 79 73 36 38 24 27 50 51 77 76 32 35 26 25 52 53 75 74 34 33 31 29 49 55 78 72 39 37 88 94 8 10 21 23 96 102 90 91 4 7 17 18 98 99 92 93 6 5 19 16 100 101 89 95 11 9 22 20 97 103 +82 108 109 83 24 35 27 32 50 76 77 51 84 106 107 85 26 33 25 34 52 74 75 53 88 102 94 96 8 23 21 10 103 89 97 95 20 11 9 22 56 70 71 57 62 64 65 63 28 30 48 79 54 73 36 38 0 13 80 81 86 87 2 15 12 1 111 110 105 104 14 3 31 29 49 78 55 72 39 37 58 69 40 42 45 47 66 61 90 91 4 17 7 18 98 99 101 100 16 5 19 6 93 92 59 68 43 41 46 44 67 60 +48 55 54 49 50 53 51 52 0 14 2 12 79 72 73 78 77 74 76 75 13 3 15 1 40 46 42 44 88 95 96 103 45 43 47 41 94 89 102 97 90 93 98 101 91 92 99 100 82 109 28 36 30 38 84 107 24 32 80 111 81 110 26 34 27 35 86 105 87 104 25 33 83 108 31 39 29 37 85 106 58 66 8 20 10 22 60 68 4 16 56 64 57 65 6 18 7 19 62 70 63 71 5 17 59 67 11 23 9 21 61 69 +48 78 79 49 24 34 32 26 80 110 81 111 54 72 73 55 27 33 35 25 86 104 87 105 58 68 66 60 8 22 10 20 69 59 61 67 21 11 23 9 90 100 91 101 98 92 99 93 82 109 28 30 36 38 84 107 50 51 0 12 2 14 52 53 77 76 13 1 15 3 75 74 83 108 31 29 39 37 85 106 40 42 88 103 96 95 44 46 4 16 56 57 64 65 6 18 17 5 71 70 63 62 19 7 43 41 89 102 97 94 47 45 +28 29 30 31 24 25 27 26 0 1 13 12 36 37 38 39 32 33 35 34 2 3 15 14 40 41 45 44 8 9 21 20 42 43 47 46 10 11 23 22 4 5 17 16 7 6 18 19 82 109 48 79 54 73 84 107 50 77 80 111 86 105 52 75 51 76 81 110 87 104 53 74 83 108 49 78 55 72 85 106 58 69 88 103 94 97 60 67 90 101 56 71 62 65 92 99 91 100 57 70 63 64 93 98 59 68 89 102 95 96 61 66 +28 39 36 31 50 75 77 52 80 105 86 111 30 37 38 29 51 74 76 53 81 104 87 110 58 67 69 60 88 97 94 103 66 59 61 68 96 89 102 95 4 19 7 16 17 6 18 5 82 109 48 54 79 73 84 107 24 27 0 12 13 1 26 25 32 35 2 14 15 3 34 33 83 108 49 55 78 72 85 106 40 45 8 20 21 9 44 41 90 101 56 62 71 65 92 99 98 93 64 70 63 57 100 91 43 46 11 23 22 10 47 42 +48 55 54 49 50 53 52 51 0 14 12 2 79 72 73 78 77 74 75 76 13 3 1 15 40 46 44 42 88 95 103 96 45 43 41 47 94 89 97 102 90 93 101 98 92 91 99 100 28 36 82 109 84 107 30 38 80 111 24 32 26 34 81 110 86 105 27 35 25 33 87 104 31 39 83 108 85 106 29 37 8 20 58 66 60 68 10 22 56 64 4 16 6 18 57 65 62 70 7 19 5 17 63 71 11 23 59 67 61 69 9 21 +48 78 79 49 80 110 111 81 24 34 26 32 54 72 73 55 86 104 105 87 27 33 25 35 8 22 20 10 58 68 60 66 21 11 9 23 69 59 67 61 90 100 92 98 101 91 99 93 28 36 82 84 109 107 30 38 50 52 0 2 12 14 51 53 77 75 13 15 1 3 76 74 31 39 83 85 108 106 29 37 40 44 88 96 103 95 42 46 56 64 4 6 16 18 57 65 71 63 17 19 5 7 70 62 43 47 89 97 102 94 41 45 +82 85 84 83 80 87 86 81 0 15 13 2 109 106 107 108 111 104 105 110 12 3 1 14 40 47 45 42 58 61 69 66 44 43 41 46 60 59 67 68 56 63 71 64 62 57 65 70 28 36 48 79 54 73 30 38 50 77 24 32 27 35 51 76 52 75 26 34 25 33 53 74 31 39 49 78 55 72 29 37 8 21 88 96 94 102 10 23 90 98 4 17 7 18 91 99 92 100 6 19 5 16 93 101 11 22 89 97 95 103 9 20 +82 108 109 83 50 76 77 51 24 35 27 32 84 106 107 85 52 74 75 53 26 33 25 34 8 23 21 10 88 102 94 96 20 11 9 22 103 89 97 95 56 70 62 64 71 57 65 63 28 36 48 54 79 73 30 38 80 86 0 2 13 15 81 87 111 105 12 14 1 3 110 104 31 39 49 55 78 72 29 37 40 45 58 66 69 61 42 47 90 98 4 7 17 18 91 99 101 93 16 19 5 6 100 92 43 46 59 67 68 60 41 44 +80 110 81 111 48 78 49 79 24 34 26 32 86 104 87 105 54 72 55 73 27 33 25 35 8 22 11 21 90 100 92 98 10 20 9 23 91 101 93 99 58 68 60 66 59 69 61 67 0 2 82 84 83 85 13 15 50 52 28 36 31 39 77 75 51 53 30 38 29 37 76 74 12 14 109 107 108 106 1 3 4 6 88 96 89 97 17 19 56 64 40 44 43 47 71 63 57 65 42 46 41 45 70 62 16 18 103 95 102 94 5 7 +82 107 84 109 48 73 54 79 28 38 30 36 83 106 85 108 49 72 55 78 31 37 29 39 4 18 7 17 90 99 91 98 6 16 5 19 92 101 93 100 56 65 57 64 62 71 63 70 0 2 80 81 86 87 13 15 50 51 24 32 27 35 77 76 52 53 26 34 25 33 75 74 12 14 111 110 105 104 1 3 8 10 88 96 94 102 21 23 58 66 40 42 45 47 69 61 60 68 44 46 41 43 67 59 20 22 103 95 97 89 9 11 +82 108 83 109 50 76 51 77 24 35 27 32 84 106 85 107 52 74 53 75 26 33 25 34 8 23 10 21 88 102 94 96 11 20 9 22 89 103 95 97 56 70 62 64 57 71 63 65 0 2 80 86 81 87 13 15 48 54 28 36 30 38 79 73 49 55 31 39 29 37 78 72 12 14 111 105 110 104 1 3 4 7 90 98 91 99 17 18 58 66 40 45 42 47 69 61 59 67 43 46 41 44 68 60 16 19 101 93 100 92 5 6 +80 105 86 111 50 75 52 77 28 39 31 36 81 104 87 110 51 74 53 76 30 37 29 38 4 19 6 17 88 97 89 96 7 16 5 18 94 103 95 102 58 67 59 66 60 69 61 68 0 2 82 83 84 85 13 15 48 49 24 32 26 34 79 78 54 55 27 35 25 33 73 72 12 14 109 108 107 106 1 3 8 11 90 98 92 100 21 22 56 64 40 43 44 47 71 63 62 70 45 46 41 42 65 57 20 23 101 93 99 91 9 10 +0 14 2 12 48 55 49 54 50 53 52 51 13 3 15 1 79 72 78 73 77 74 75 76 88 95 89 94 90 93 92 91 96 103 97 102 98 101 100 99 40 46 44 42 43 45 47 41 80 81 82 84 83 85 86 87 24 26 28 30 31 29 27 25 32 34 36 38 39 37 35 33 111 110 109 107 108 106 105 104 4 6 8 10 11 9 7 5 56 57 58 60 59 61 62 63 64 65 66 68 67 69 70 71 16 18 20 22 23 21 19 17 +82 107 84 109 48 73 79 54 28 38 36 30 83 106 85 108 49 72 78 55 31 37 39 29 4 18 17 7 90 99 98 91 6 16 19 5 92 101 100 93 56 65 64 57 71 62 63 70 80 81 0 2 13 15 86 87 24 32 50 51 77 76 27 35 26 34 52 53 75 74 25 33 111 110 12 14 1 3 105 104 88 96 8 10 21 23 94 102 40 42 58 66 69 61 45 47 44 46 60 68 67 59 41 43 103 95 20 22 9 11 97 89 +0 1 13 12 24 25 26 27 28 29 31 30 2 3 15 14 32 33 34 35 36 37 39 38 4 5 6 7 8 9 11 10 17 16 19 18 21 20 22 23 40 41 43 42 44 45 47 46 80 81 82 83 84 85 86 87 48 49 50 51 52 53 54 55 79 78 77 76 75 74 73 72 111 110 109 108 107 106 105 104 88 89 90 91 92 93 94 95 56 57 58 59 60 61 62 63 71 70 69 68 67 66 65 64 103 102 101 100 99 98 97 96 +82 108 83 109 24 35 32 27 50 76 77 51 84 106 85 107 26 33 34 25 52 74 75 53 88 102 96 94 8 23 21 10 89 103 97 95 11 20 22 9 56 70 71 57 64 62 63 65 80 81 0 13 2 15 86 87 48 79 28 30 36 38 54 73 49 78 31 29 39 37 55 72 111 110 12 1 14 3 105 104 4 17 90 91 98 99 7 18 40 42 58 69 66 61 45 47 43 41 59 68 67 60 46 44 16 5 101 100 93 92 19 6 +0 14 2 12 48 55 54 49 50 53 51 52 13 3 15 1 79 72 73 78 77 74 76 75 88 95 94 89 90 93 91 92 96 103 102 97 98 101 99 100 40 46 42 44 45 43 47 41 82 84 80 81 86 87 83 85 28 30 24 26 27 25 31 29 36 38 32 34 35 33 39 37 109 107 111 110 105 104 108 106 8 10 4 6 7 5 11 9 58 60 56 57 62 63 59 61 66 68 64 65 70 71 67 69 20 22 16 18 19 17 23 21 +80 110 81 111 48 78 79 49 24 34 32 26 86 104 87 105 54 72 73 55 27 33 35 25 8 22 21 11 90 100 98 92 10 20 23 9 91 101 99 93 58 68 66 60 69 59 61 67 82 84 0 2 13 15 83 85 28 36 50 52 77 75 31 39 30 38 51 53 76 74 29 37 109 107 12 14 1 3 108 106 88 96 4 6 17 19 89 97 40 44 56 64 71 63 43 47 42 46 57 65 70 62 41 45 103 95 16 18 5 7 102 94 +0 1 13 12 28 29 30 31 24 25 27 26 2 3 15 14 36 37 38 39 32 33 35 34 8 9 10 11 4 5 7 6 21 20 23 22 17 16 18 19 40 41 45 44 42 43 47 46 82 84 80 86 81 87 83 85 48 54 50 52 51 53 49 55 79 73 77 75 76 74 78 72 109 107 111 105 110 104 108 106 88 94 90 92 91 93 89 95 58 60 56 62 57 63 59 61 69 67 71 65 70 64 68 66 103 97 101 99 100 98 102 96 +80 105 86 111 28 39 36 31 50 75 77 52 81 104 87 110 30 37 38 29 51 74 76 53 88 97 96 89 4 19 17 6 94 103 102 95 7 16 18 5 58 67 69 60 66 59 61 68 82 84 0 13 2 15 83 85 48 79 24 26 32 34 49 78 54 73 27 25 35 33 55 72 109 107 12 1 14 3 108 106 8 21 90 92 98 100 11 22 40 44 56 71 64 63 43 47 45 41 62 65 70 57 46 42 20 9 101 99 93 91 23 10 +80 110 81 111 24 34 26 32 48 78 49 79 86 104 87 105 27 33 25 35 54 72 55 73 90 100 92 98 8 22 11 21 91 101 93 99 10 20 9 23 58 68 59 69 60 66 61 67 0 13 82 83 84 85 2 15 28 31 50 77 52 75 36 39 30 29 51 76 53 74 38 37 12 1 109 108 107 106 14 3 88 89 4 17 6 19 96 97 56 71 40 43 44 47 64 63 57 70 42 41 46 45 65 62 103 102 16 5 18 7 95 94 +82 107 84 109 28 38 30 36 48 73 54 79 83 106 85 108 31 37 29 39 49 72 55 78 90 99 91 98 4 18 7 17 92 101 93 100 6 16 5 19 56 65 62 71 57 64 63 70 0 13 80 86 81 87 2 15 24 27 50 77 51 76 32 35 26 25 52 75 53 74 34 33 12 1 111 105 110 104 14 3 88 94 8 21 10 23 96 102 58 69 40 45 42 47 66 61 60 67 44 41 46 43 68 59 103 97 20 9 22 11 95 89 +82 108 83 109 24 35 27 32 50 76 51 77 84 106 85 107 26 33 25 34 52 74 53 75 88 102 94 96 8 23 10 21 89 103 95 97 11 20 9 22 56 70 57 71 62 64 63 65 0 13 80 81 86 87 2 15 28 30 48 79 54 73 36 38 31 29 49 78 55 72 39 37 12 1 111 110 105 104 14 3 90 91 4 17 7 18 98 99 58 69 40 42 45 47 66 61 59 68 43 41 46 44 67 60 101 100 16 5 19 6 93 92 +80 105 86 111 28 39 31 36 50 75 52 77 81 104 87 110 30 37 29 38 51 74 53 76 88 97 89 96 4 19 6 17 94 103 95 102 7 16 5 18 58 67 60 69 59 66 61 68 0 13 82 84 83 85 2 15 24 26 48 79 49 78 32 34 27 25 54 73 55 72 35 33 12 1 109 107 108 106 14 3 90 92 8 21 11 22 98 100 56 71 40 44 43 47 64 63 62 65 45 41 46 42 70 57 101 99 20 9 23 10 93 91 +0 14 2 12 50 53 51 52 48 55 54 49 13 3 15 1 77 74 76 75 79 72 73 78 90 93 91 92 88 95 94 89 98 101 99 100 96 103 102 97 40 46 45 43 42 44 47 41 82 83 80 86 81 87 84 85 24 27 28 31 30 29 26 25 32 35 36 39 38 37 34 33 109 108 111 105 110 104 107 106 4 7 8 11 10 9 6 5 58 59 56 62 57 63 60 61 66 67 64 70 65 71 68 69 16 19 20 23 22 21 18 17 +80 110 81 111 24 34 32 26 48 78 79 49 86 104 87 105 27 33 35 25 54 72 73 55 90 100 98 92 8 22 21 11 91 101 99 93 10 20 23 9 58 68 69 59 66 60 61 67 82 83 0 13 2 15 84 85 50 77 28 31 36 39 52 75 51 76 30 29 38 37 53 74 109 108 12 1 14 3 107 106 4 17 88 89 96 97 6 19 40 43 56 71 64 63 44 47 42 41 57 70 65 62 46 45 16 5 103 102 95 94 18 7 +0 1 13 12 24 25 27 26 28 29 30 31 2 3 15 14 32 33 35 34 36 37 38 39 4 5 7 6 8 9 10 11 17 16 18 19 21 20 23 22 40 41 42 43 45 44 47 46 82 83 80 81 86 87 84 85 50 51 48 49 54 55 52 53 77 76 79 78 73 72 75 74 109 108 111 110 105 104 107 106 90 91 88 89 94 95 92 93 58 59 56 57 62 63 60 61 69 68 71 70 65 64 67 66 101 100 103 102 97 96 99 98 +80 105 86 111 50 75 77 52 28 39 36 31 81 104 87 110 51 74 76 53 30 37 38 29 4 19 17 6 88 97 96 89 7 16 18 5 94 103 102 95 58 67 66 59 69 60 61 68 82 83 0 2 13 15 84 85 24 32 48 49 79 78 26 34 27 35 54 55 73 72 25 33 109 108 12 14 1 3 107 106 90 98 8 11 21 22 92 100 40 43 56 64 71 63 44 47 45 46 62 70 65 57 41 42 101 93 20 23 9 10 99 91 +0 14 2 12 50 53 52 51 48 55 49 54 13 3 15 1 77 74 75 76 79 72 78 73 90 93 92 91 88 95 89 94 98 101 100 99 96 103 97 102 40 46 43 45 44 42 47 41 80 86 82 83 84 85 81 87 28 31 24 27 26 25 30 29 36 39 32 35 34 33 38 37 111 105 109 108 107 106 110 104 8 11 4 7 6 5 10 9 56 62 58 59 60 61 57 63 64 70 66 67 68 69 65 71 20 23 16 19 18 17 22 21 +82 107 84 109 28 38 36 30 48 73 79 54 83 106 85 108 31 37 39 29 49 72 78 55 90 99 98 91 4 18 17 7 92 101 100 93 6 16 19 5 56 65 71 62 64 57 63 70 80 86 0 13 2 15 81 87 50 77 24 27 32 35 51 76 52 75 26 25 34 33 53 74 111 105 12 1 14 3 110 104 8 21 88 94 96 102 10 23 40 45 58 69 66 61 42 47 44 41 60 67 68 59 46 43 20 9 103 97 95 89 22 11 +0 1 13 12 28 29 31 30 24 25 26 27 2 3 15 14 36 37 39 38 32 33 34 35 8 9 11 10 4 5 6 7 21 20 22 23 17 16 19 18 40 41 44 45 43 42 47 46 80 86 82 84 83 85 81 87 50 52 48 54 49 55 51 53 77 75 79 73 78 72 76 74 111 105 109 107 108 106 110 104 90 92 88 94 89 95 91 93 56 62 58 60 59 61 57 63 71 65 69 67 68 66 70 64 101 99 103 97 102 96 100 98 +82 108 83 109 50 76 77 51 24 35 32 27 84 106 85 107 52 74 75 53 26 33 34 25 8 23 21 10 88 102 96 94 11 20 22 9 89 103 97 95 56 70 64 62 71 57 63 65 80 86 0 2 13 15 81 87 28 36 48 54 79 73 30 38 31 39 49 55 78 72 29 37 111 105 12 14 1 3 110 104 90 98 4 7 17 18 91 99 40 45 58 66 69 61 42 47 43 46 59 67 68 60 41 44 101 93 16 19 5 6 100 92 +24 34 26 32 48 78 49 79 80 110 81 111 27 33 25 35 54 72 55 73 86 104 87 105 58 68 59 69 90 100 91 101 60 66 61 67 92 98 93 99 8 22 10 20 11 21 9 23 0 12 28 30 31 29 13 1 50 51 82 109 83 108 77 76 52 53 84 107 85 106 75 74 2 14 36 38 39 37 15 3 56 57 88 103 89 102 71 70 4 16 40 42 43 41 17 5 6 18 44 46 47 45 19 7 64 65 96 95 97 94 63 62 +28 38 30 36 48 73 54 79 82 107 84 109 31 37 29 39 49 72 55 78 83 106 85 108 56 65 62 71 90 99 92 101 57 64 63 70 91 98 93 100 4 18 6 16 7 17 5 19 0 12 24 26 27 25 13 1 50 52 80 111 86 105 77 75 51 53 81 110 87 104 76 74 2 14 32 34 35 33 15 3 58 60 88 103 94 97 69 67 8 20 40 44 45 41 21 9 10 22 42 46 47 43 23 11 66 68 96 95 102 89 61 59 +24 35 27 32 50 76 51 77 82 108 83 109 26 33 25 34 52 74 53 75 84 106 85 107 56 70 57 71 88 102 89 103 62 64 63 65 94 96 95 97 8 23 11 20 10 21 9 22 0 12 28 31 30 29 13 1 48 49 80 111 81 110 79 78 54 55 86 105 87 104 73 72 2 14 36 39 38 37 15 3 58 59 90 101 91 100 69 68 4 16 40 43 42 41 17 5 7 19 45 46 47 44 18 6 66 67 98 93 99 92 61 60 +28 39 31 36 50 75 52 77 80 105 86 111 30 37 29 38 51 74 53 76 81 104 87 110 58 67 60 69 88 97 94 103 59 66 61 68 89 96 95 102 4 19 7 16 6 17 5 18 0 12 24 27 26 25 13 1 48 54 82 109 84 107 79 73 49 55 83 108 85 106 78 72 2 14 32 35 34 33 15 3 56 62 90 101 92 99 71 65 8 20 40 45 44 41 21 9 11 23 43 46 47 42 22 10 64 70 98 93 100 91 63 57 +0 14 12 2 48 55 49 54 50 53 51 52 13 3 1 15 79 72 78 73 77 74 76 75 88 95 89 94 90 93 91 92 103 96 102 97 101 98 100 99 40 46 42 44 43 45 41 47 24 26 28 30 31 29 27 25 80 81 82 84 83 85 86 87 111 110 109 107 108 106 105 104 32 34 36 38 39 37 35 33 56 57 58 60 59 61 62 63 4 6 8 10 11 9 7 5 16 18 20 22 23 21 19 17 64 65 66 68 67 69 70 71 +28 38 30 36 48 73 79 54 82 107 109 84 31 37 29 39 49 72 78 55 83 106 108 85 56 65 71 62 90 99 101 92 57 64 70 63 91 98 100 93 4 18 16 6 17 7 5 19 24 26 0 12 13 1 27 25 80 111 50 52 77 75 86 105 81 110 51 53 76 74 87 104 32 34 2 14 15 3 35 33 88 103 58 60 69 67 94 97 40 44 8 20 21 9 45 41 42 46 10 22 23 11 47 43 96 95 66 68 61 59 102 89 +0 15 13 2 80 87 81 86 82 85 83 84 12 3 1 14 111 104 110 105 109 106 108 107 56 63 57 62 58 61 59 60 71 64 70 65 69 66 68 67 40 47 43 44 42 45 41 46 24 26 28 31 30 29 27 25 48 49 50 52 51 53 54 55 79 78 77 75 76 74 73 72 32 34 36 39 38 37 35 33 88 89 90 92 91 93 94 95 4 6 8 11 10 9 7 5 17 19 21 22 23 20 18 16 96 97 98 100 99 101 102 103 +28 39 31 36 80 105 111 86 50 75 77 52 30 37 29 38 81 104 110 87 51 74 76 53 88 97 103 94 58 67 69 60 89 96 102 95 59 66 68 61 4 19 17 6 16 7 5 18 24 26 0 13 12 1 27 25 48 79 82 84 109 107 54 73 49 78 83 85 108 106 55 72 32 34 2 15 14 3 35 33 56 71 90 92 101 99 62 65 40 44 8 21 20 9 45 41 43 47 11 22 23 10 46 42 64 63 98 100 93 91 70 57 +0 14 12 2 48 55 54 49 50 53 52 51 13 3 1 15 79 72 73 78 77 74 75 76 88 95 94 89 90 93 92 91 103 96 97 102 101 98 99 100 40 46 44 42 45 43 41 47 28 30 24 26 27 25 31 29 82 84 80 81 86 87 83 85 109 107 111 110 105 104 108 106 36 38 32 34 35 33 39 37 58 60 56 57 62 63 59 61 8 10 4 6 7 5 11 9 20 22 16 18 19 17 23 21 66 68 64 65 70 71 67 69 +24 34 26 32 48 78 79 49 80 110 111 81 27 33 25 35 54 72 73 55 86 104 105 87 58 68 69 59 90 100 101 91 60 66 67 61 92 98 99 93 8 22 20 10 21 11 9 23 28 30 0 12 13 1 31 29 82 109 50 51 77 76 83 108 84 107 52 53 75 74 85 106 36 38 2 14 15 3 39 37 88 103 56 57 71 70 89 102 40 42 4 16 17 5 43 41 44 46 6 18 19 7 47 45 96 95 64 65 63 62 97 94 +0 15 13 2 82 85 84 83 80 87 86 81 12 3 1 14 109 106 107 108 111 104 105 110 58 61 60 59 56 63 62 57 69 66 67 68 71 64 65 70 40 47 45 42 44 43 41 46 28 30 24 27 26 25 31 29 48 54 50 51 52 53 49 55 79 73 77 76 75 74 78 72 36 38 32 35 34 33 39 37 88 94 90 91 92 93 89 95 8 10 4 7 6 5 11 9 21 23 17 18 19 16 22 20 96 102 98 99 100 101 97 103 +24 35 27 32 82 108 109 83 50 76 77 51 26 33 25 34 84 106 107 85 52 74 75 53 88 102 103 89 56 70 71 57 94 96 97 95 62 64 65 63 8 23 21 10 20 11 9 22 28 30 0 13 12 1 31 29 48 79 80 81 111 110 49 78 54 73 86 87 105 104 55 72 36 38 2 15 14 3 39 37 58 69 90 91 101 100 59 68 40 42 4 17 16 5 43 41 45 47 7 18 19 6 46 44 66 61 98 99 93 92 67 60 +24 34 26 32 80 110 81 111 48 78 49 79 27 33 25 35 86 104 87 105 54 72 55 73 90 100 91 101 58 68 59 69 92 98 93 99 60 66 61 67 8 22 11 21 10 20 9 23 0 13 28 31 30 29 12 1 82 83 50 77 51 76 109 108 84 85 52 75 53 74 107 106 2 15 36 39 38 37 14 3 88 89 56 71 57 70 103 102 4 17 40 43 42 41 16 5 6 19 44 47 46 45 18 7 96 97 64 63 65 62 95 94 +28 38 30 36 82 107 84 109 48 73 54 79 31 37 29 39 83 106 85 108 49 72 55 78 90 99 92 101 56 65 62 71 91 98 93 100 57 64 63 70 4 18 7 17 6 16 5 19 0 13 24 27 26 25 12 1 80 86 50 77 52 75 111 105 81 87 51 76 53 74 110 104 2 15 32 35 34 33 14 3 88 94 58 69 60 67 103 97 8 21 40 45 44 41 20 9 10 23 42 47 46 43 22 11 96 102 66 61 68 59 95 89 +24 35 27 32 82 108 83 109 50 76 51 77 26 33 25 34 84 106 85 107 52 74 53 75 88 102 89 103 56 70 57 71 94 96 95 97 62 64 63 65 8 23 10 21 11 20 9 22 0 13 28 30 31 29 12 1 80 81 48 79 49 78 111 110 86 87 54 73 55 72 105 104 2 15 36 38 39 37 14 3 90 91 58 69 59 68 101 100 4 17 40 42 43 41 16 5 7 18 45 47 46 44 19 6 98 99 66 61 67 60 93 92 +28 39 31 36 80 105 86 111 50 75 52 77 30 37 29 38 81 104 87 110 51 74 53 76 88 97 94 103 58 67 60 69 89 96 95 102 59 66 61 68 4 19 6 17 7 16 5 18 0 13 24 26 27 25 12 1 82 84 48 79 54 73 109 107 83 85 49 78 55 72 108 106 2 15 32 34 35 33 14 3 90 92 56 71 62 65 101 99 8 21 40 44 45 41 20 9 11 22 43 47 46 42 23 10 98 100 64 63 70 57 93 91 +0 14 12 2 50 53 51 52 48 55 49 54 13 3 1 15 77 74 76 75 79 72 78 73 90 93 91 92 88 95 89 94 101 98 100 99 103 96 102 97 40 46 43 45 42 44 41 47 24 27 28 31 30 29 26 25 82 83 80 86 81 87 84 85 109 108 111 105 110 104 107 106 32 35 36 39 38 37 34 33 58 59 56 62 57 63 60 61 4 7 8 11 10 9 6 5 16 19 20 23 22 21 18 17 66 67 64 70 65 71 68 69 +28 38 30 36 82 107 109 84 48 73 79 54 31 37 29 39 83 106 108 85 49 72 78 55 90 99 101 92 56 65 71 62 91 98 100 93 57 64 70 63 4 18 17 7 16 6 5 19 24 27 0 13 12 1 26 25 50 77 80 86 111 105 52 75 51 76 81 87 110 104 53 74 32 35 2 15 14 3 34 33 58 69 88 94 103 97 60 67 40 45 8 21 20 9 44 41 42 47 10 23 22 11 46 43 66 61 96 102 95 89 68 59 +0 15 13 2 82 85 83 84 80 87 81 86 12 3 1 14 109 106 108 107 111 104 110 105 58 61 59 60 56 63 57 62 69 66 68 67 71 64 70 65 40 47 42 45 43 44 41 46 24 27 28 30 31 29 26 25 50 51 48 54 49 55 52 53 77 76 79 73 78 72 75 74 32 35 36 38 39 37 34 33 90 91 88 94 89 95 92 93 4 7 8 10 11 9 6 5 17 18 21 23 22 20 19 16 98 99 96 102 97 103 100 101 +28 39 31 36 50 75 77 52 80 105 111 86 30 37 29 38 51 74 76 53 81 104 110 87 58 67 69 60 88 97 103 94 59 66 68 61 89 96 102 95 4 19 16 7 17 6 5 18 24 27 0 12 13 1 26 25 82 109 48 54 79 73 84 107 83 108 49 55 78 72 85 106 32 35 2 14 15 3 34 33 90 101 56 62 71 65 92 99 40 45 8 20 21 9 44 41 43 46 11 23 22 10 47 42 98 93 64 70 63 57 100 91 +0 14 12 2 50 53 52 51 48 55 54 49 13 3 1 15 77 74 75 76 79 72 73 78 90 93 92 91 88 95 94 89 101 98 99 100 103 96 97 102 40 46 45 43 44 42 41 47 28 31 24 27 26 25 30 29 80 86 82 83 84 85 81 87 111 105 109 108 107 106 110 104 36 39 32 35 34 33 38 37 56 62 58 59 60 61 57 63 8 11 4 7 6 5 10 9 20 23 16 19 18 17 22 21 64 70 66 67 68 69 65 71 +24 34 26 32 80 110 111 81 48 78 79 49 27 33 25 35 86 104 105 87 54 72 73 55 90 100 101 91 58 68 69 59 92 98 99 93 60 66 67 61 8 22 21 11 20 10 9 23 28 31 0 13 12 1 30 29 50 77 82 83 109 108 51 76 52 75 84 85 107 106 53 74 36 39 2 15 14 3 38 37 56 71 88 89 103 102 57 70 40 43 4 17 16 5 42 41 44 47 6 19 18 7 46 45 64 63 96 97 95 94 65 62 +0 15 13 2 80 87 86 81 82 85 84 83 12 3 1 14 111 104 105 110 109 106 107 108 56 63 62 57 58 61 60 59 71 64 65 70 69 66 67 68 40 47 44 43 45 42 41 46 28 31 24 26 27 25 30 29 50 52 48 49 54 55 51 53 77 75 79 78 73 72 76 74 36 39 32 34 35 33 38 37 90 92 88 89 94 95 91 93 8 11 4 6 7 5 10 9 21 22 17 19 18 16 23 20 98 100 96 97 102 103 99 101 +24 35 27 32 50 76 77 51 82 108 109 83 26 33 25 34 52 74 75 53 84 106 107 85 56 70 71 57 88 102 103 89 62 64 65 63 94 96 97 95 8 23 20 11 21 10 9 22 28 31 0 12 13 1 30 29 80 111 48 49 79 78 81 110 86 105 54 55 73 72 87 104 36 39 2 14 15 3 38 37 90 101 58 59 69 68 91 100 40 43 4 16 17 5 42 41 45 46 7 19 18 6 47 44 98 93 66 67 61 60 99 92 +24 34 32 26 48 78 49 79 80 110 111 81 27 33 35 25 54 72 55 73 86 104 105 87 58 68 59 69 90 100 101 91 66 60 67 61 98 92 93 99 8 22 20 10 11 21 23 9 50 51 82 109 83 108 77 76 0 12 28 30 31 29 13 1 2 14 36 38 39 37 15 3 52 53 84 107 85 106 75 74 4 16 40 42 43 41 17 5 56 57 88 103 89 102 71 70 64 65 96 95 97 94 63 62 6 18 44 46 47 45 19 7 +82 107 109 84 48 73 54 79 28 38 36 30 83 106 108 85 49 72 55 78 31 37 39 29 4 18 7 17 90 99 98 91 16 6 19 5 101 92 93 100 56 65 64 57 62 71 70 63 50 51 24 32 27 35 77 76 0 2 80 81 86 87 13 15 12 14 111 110 105 104 1 3 52 53 26 34 25 33 75 74 58 66 40 42 45 47 69 61 8 10 88 96 94 102 21 23 20 22 103 95 97 89 9 11 60 68 44 46 41 43 67 59 +82 85 83 84 0 15 2 13 80 87 86 81 109 106 108 107 12 3 14 1 111 104 105 110 58 61 66 69 40 47 45 42 59 60 67 68 43 44 46 41 56 63 62 57 64 71 70 65 50 51 24 27 32 35 77 76 48 54 28 30 36 38 79 73 49 55 31 29 39 37 78 72 52 53 26 25 34 33 75 74 4 7 90 91 98 99 17 18 8 10 88 94 96 102 21 23 11 9 89 95 97 103 22 20 6 5 92 93 100 101 19 16 +24 25 27 26 0 1 12 13 28 29 31 30 32 33 35 34 2 3 14 15 36 37 39 38 4 5 16 17 40 41 43 42 7 6 19 18 45 44 46 47 8 9 11 10 20 21 23 22 50 51 82 83 109 108 77 76 48 49 80 81 111 110 79 78 54 55 86 87 105 104 73 72 52 53 84 85 107 106 75 74 58 59 90 91 101 100 69 68 56 57 88 89 103 102 71 70 62 63 94 95 97 96 65 64 60 61 92 93 99 98 67 66 +50 53 51 52 48 55 49 54 0 14 12 2 77 74 76 75 79 72 78 73 13 3 1 15 40 46 43 45 90 93 101 98 42 44 41 47 91 92 100 99 88 95 103 96 89 94 102 97 24 32 82 109 83 108 27 35 80 111 28 36 31 39 86 105 81 110 30 38 29 37 87 104 26 34 84 107 85 106 25 33 4 16 58 66 59 67 7 19 56 64 8 20 11 23 62 70 57 65 10 22 9 21 63 71 6 18 60 68 61 69 5 17 +82 107 109 84 48 73 79 54 28 38 30 36 83 106 108 85 49 72 78 55 31 37 29 39 4 18 17 7 90 99 91 98 16 6 5 19 101 92 100 93 56 65 57 64 71 62 70 63 24 32 50 51 77 76 27 35 80 81 0 2 13 15 86 87 111 110 12 14 1 3 105 104 26 34 52 53 75 74 25 33 40 42 58 66 69 61 45 47 88 96 8 10 21 23 94 102 103 95 20 22 9 11 97 89 44 46 60 68 67 59 41 43 +82 85 83 84 80 87 81 86 0 15 13 2 109 106 108 107 111 104 110 105 12 3 1 14 40 47 42 45 58 61 69 66 43 44 41 46 59 60 68 67 56 63 71 64 57 62 70 65 24 32 50 77 51 76 27 35 48 79 28 36 30 38 54 73 49 78 31 39 29 37 55 72 26 34 52 75 53 74 25 33 4 17 90 98 91 99 7 18 88 96 8 21 10 23 94 102 89 97 11 22 9 20 95 103 6 19 92 100 93 101 5 16 +50 75 77 52 80 105 111 86 28 39 31 36 51 74 76 53 81 104 110 87 30 37 29 38 4 19 16 7 58 67 59 66 17 6 5 18 69 60 68 61 88 97 89 96 103 94 102 95 24 32 82 83 109 108 27 35 48 49 0 2 12 14 54 55 79 78 13 15 1 3 73 72 26 34 84 85 107 106 25 33 40 43 90 98 101 93 45 46 56 64 8 11 20 23 62 70 71 63 21 22 9 10 65 57 44 47 92 100 99 91 41 42 +50 53 51 52 48 55 54 49 0 14 2 12 77 74 76 75 79 72 73 78 13 3 15 1 40 46 45 43 90 93 98 101 42 44 47 41 91 92 99 100 88 95 96 103 94 89 102 97 82 109 24 32 27 35 83 108 28 36 80 111 86 105 31 39 30 38 81 110 87 104 29 37 84 107 26 34 25 33 85 106 58 66 4 16 7 19 59 67 8 20 56 64 62 70 11 23 10 22 57 65 63 71 9 21 60 68 6 18 5 17 61 69 +24 34 32 26 48 78 79 49 80 110 81 111 27 33 35 25 54 72 73 55 86 104 87 105 58 68 69 59 90 100 91 101 66 60 61 67 98 92 99 93 8 22 10 20 21 11 23 9 82 109 50 51 77 76 83 108 28 30 0 12 13 1 31 29 36 38 2 14 15 3 39 37 84 107 52 53 75 74 85 106 40 42 4 16 17 5 43 41 88 103 56 57 71 70 89 102 96 95 64 65 63 62 97 94 44 46 6 18 19 7 47 45 +24 25 27 26 28 29 30 31 0 1 13 12 32 33 35 34 36 37 38 39 2 3 15 14 40 41 42 43 4 5 17 16 45 44 47 46 7 6 18 19 8 9 21 20 10 11 23 22 82 109 50 77 51 76 83 108 48 79 80 111 81 110 49 78 54 73 86 105 87 104 55 72 84 107 52 75 53 74 85 106 58 69 90 101 91 100 59 68 88 103 56 71 57 70 89 102 94 97 62 65 63 64 95 96 60 67 92 99 93 98 61 66 +50 75 77 52 28 39 36 31 80 105 86 111 51 74 76 53 30 37 38 29 81 104 87 110 58 67 66 59 4 19 7 16 69 60 61 68 17 6 18 5 88 97 94 103 96 89 102 95 82 109 24 27 32 35 83 108 48 54 0 12 2 14 49 55 79 73 13 1 15 3 78 72 84 107 26 25 34 33 85 106 40 45 90 101 98 93 43 46 8 20 56 62 64 70 11 23 21 9 71 65 63 57 22 10 44 41 92 99 100 91 47 42 +50 53 51 52 0 14 2 12 48 55 54 49 77 74 76 75 13 3 15 1 79 72 73 78 90 93 98 101 40 46 45 43 91 92 99 100 42 44 47 41 88 95 94 89 96 103 102 97 82 83 24 27 32 35 109 108 80 86 28 31 36 39 111 105 81 87 30 29 38 37 110 104 84 85 26 25 34 33 107 106 4 7 58 59 66 67 16 19 8 11 56 62 64 70 20 23 10 9 57 63 65 71 22 21 6 5 60 61 68 69 18 17 +24 34 32 26 80 110 81 111 48 78 79 49 27 33 35 25 86 104 87 105 54 72 73 55 90 100 91 101 58 68 69 59 98 92 99 93 66 60 61 67 8 22 21 11 10 20 23 9 82 83 50 77 51 76 109 108 0 13 28 31 30 29 12 1 2 15 36 39 38 37 14 3 84 85 52 75 53 74 107 106 4 17 40 43 42 41 16 5 88 89 56 71 57 70 103 102 96 97 64 63 65 62 95 94 6 19 44 47 46 45 18 7 +24 25 27 26 0 1 13 12 28 29 30 31 32 33 35 34 2 3 15 14 36 37 38 39 4 5 17 16 40 41 42 43 7 6 18 19 45 44 47 46 8 9 10 11 21 20 23 22 82 83 50 51 77 76 109 108 80 81 48 49 79 78 111 110 86 87 54 55 73 72 105 104 84 85 52 53 75 74 107 106 90 91 58 59 69 68 101 100 88 89 56 57 71 70 103 102 94 95 62 63 65 64 97 96 92 93 60 61 67 66 99 98 +50 75 77 52 80 105 86 111 28 39 36 31 51 74 76 53 81 104 87 110 30 37 38 29 4 19 7 16 58 67 66 59 17 6 18 5 69 60 61 68 88 97 96 89 94 103 102 95 82 83 24 32 27 35 109 108 0 2 48 49 54 55 12 14 13 15 79 78 73 72 1 3 84 85 26 34 25 33 107 106 90 98 40 43 45 46 101 93 8 11 56 64 62 70 20 23 21 22 71 63 65 57 9 10 92 100 44 47 41 42 99 91 +50 53 51 52 0 14 12 2 48 55 49 54 77 74 76 75 13 3 1 15 79 72 78 73 90 93 101 98 40 46 43 45 91 92 100 99 42 44 41 47 88 95 89 94 103 96 102 97 24 27 82 83 109 108 32 35 28 31 80 86 111 105 36 39 30 29 81 87 110 104 38 37 26 25 84 85 107 106 34 33 58 59 4 7 16 19 66 67 56 62 8 11 20 23 64 70 57 63 10 9 22 21 65 71 60 61 6 5 18 17 68 69 +82 107 109 84 28 38 30 36 48 73 79 54 83 106 108 85 31 37 29 39 49 72 78 55 90 99 91 98 4 18 17 7 101 92 100 93 16 6 5 19 56 65 71 62 57 64 70 63 24 27 50 77 51 76 32 35 0 13 80 86 81 87 2 15 12 1 111 105 110 104 14 3 26 25 52 75 53 74 34 33 58 69 40 45 42 47 66 61 88 94 8 21 10 23 96 102 103 97 20 9 22 11 95 89 60 67 44 41 46 43 68 59 +82 85 83 84 0 15 13 2 80 87 81 86 109 106 108 107 12 3 1 14 111 104 110 105 58 61 69 66 40 47 42 45 59 60 68 67 43 44 41 46 56 63 57 62 71 64 70 65 24 27 50 51 77 76 32 35 28 30 48 54 79 73 36 38 31 29 49 55 78 72 39 37 26 25 52 53 75 74 34 33 90 91 4 7 17 18 98 99 88 94 8 10 21 23 96 102 89 95 11 9 22 20 97 103 92 93 6 5 19 16 100 101 +50 75 77 52 28 39 31 36 80 105 111 86 51 74 76 53 30 37 29 38 81 104 110 87 58 67 59 66 4 19 16 7 69 60 68 61 17 6 5 18 88 97 103 94 89 96 102 95 24 27 82 109 83 108 32 35 0 12 48 54 49 55 2 14 13 1 79 73 78 72 15 3 26 25 84 107 85 106 34 33 90 101 40 45 43 46 98 93 56 62 8 20 11 23 64 70 71 65 21 9 22 10 63 57 92 99 44 41 47 42 100 91 +24 34 32 26 80 110 111 81 48 78 49 79 27 33 35 25 86 104 105 87 54 72 55 73 90 100 101 91 58 68 59 69 98 92 93 99 66 60 67 61 8 22 11 21 20 10 23 9 50 77 82 83 109 108 51 76 28 31 0 13 12 1 30 29 36 39 2 15 14 3 38 37 52 75 84 85 107 106 53 74 40 43 4 17 16 5 42 41 56 71 88 89 103 102 57 70 64 63 96 97 95 94 65 62 44 47 6 19 18 7 46 45 +82 107 109 84 28 38 36 30 48 73 54 79 83 106 108 85 31 37 39 29 49 72 55 78 90 99 98 91 4 18 7 17 101 92 93 100 16 6 19 5 56 65 62 71 64 57 70 63 50 77 24 27 32 35 51 76 80 86 0 13 2 15 81 87 111 105 12 1 14 3 110 104 52 75 26 25 34 33 53 74 40 45 58 69 66 61 42 47 8 21 88 94 96 102 10 23 20 9 103 97 95 89 22 11 44 41 60 67 68 59 46 43 +82 85 83 84 80 87 86 81 0 15 2 13 109 106 108 107 111 104 105 110 12 3 14 1 40 47 45 42 58 61 66 69 43 44 46 41 59 60 67 68 56 63 64 71 62 57 70 65 50 77 24 32 27 35 51 76 28 36 48 79 54 73 30 38 31 39 49 78 55 72 29 37 52 75 26 34 25 33 53 74 90 98 4 17 7 18 91 99 8 21 88 96 94 102 10 23 11 22 89 97 95 103 9 20 92 100 6 19 5 16 93 101 +24 25 27 26 28 29 31 30 0 1 12 13 32 33 35 34 36 37 39 38 2 3 14 15 40 41 43 42 4 5 16 17 45 44 46 47 7 6 19 18 8 9 20 21 11 10 23 22 50 77 82 109 83 108 51 76 80 111 48 79 49 78 81 110 86 105 54 73 55 72 87 104 52 75 84 107 85 106 53 74 90 101 58 69 59 68 91 100 56 71 88 103 89 102 57 70 62 65 94 97 95 96 63 64 92 99 60 67 61 66 93 98 +80 110 111 81 48 78 49 79 24 34 32 26 86 104 105 87 54 72 55 73 27 33 35 25 8 22 11 21 90 100 98 92 20 10 23 9 101 91 93 99 58 68 66 60 59 69 67 61 50 52 28 36 31 39 77 75 0 2 82 84 83 85 13 15 12 14 109 107 108 106 1 3 51 53 30 38 29 37 76 74 56 64 40 44 43 47 71 63 4 6 88 96 89 97 17 19 16 18 103 95 102 94 5 7 57 65 42 46 41 45 70 62 +28 38 36 30 48 73 54 79 82 107 109 84 31 37 39 29 49 72 55 78 83 106 108 85 56 65 62 71 90 99 101 92 64 57 70 63 98 91 93 100 4 18 16 6 7 17 19 5 50 52 80 111 86 105 77 75 0 12 24 26 27 25 13 1 2 14 32 34 35 33 15 3 51 53 81 110 87 104 76 74 8 20 40 44 45 41 21 9 58 60 88 103 94 97 69 67 66 68 96 95 102 89 61 59 10 22 42 46 47 43 23 11 +80 87 86 81 0 15 2 13 82 85 83 84 111 104 105 110 12 3 14 1 109 106 108 107 56 63 64 71 40 47 43 44 62 57 70 65 45 42 46 41 58 61 59 60 66 69 67 68 50 52 28 31 36 39 77 75 48 49 24 26 32 34 79 78 54 55 27 25 35 33 73 72 51 53 30 29 38 37 76 74 8 11 90 92 98 100 21 22 4 6 88 89 96 97 17 19 7 5 94 95 102 103 18 16 10 9 91 93 99 101 23 20 +28 29 31 30 0 1 12 13 24 25 27 26 36 37 39 38 2 3 14 15 32 33 35 34 8 9 20 21 40 41 45 44 11 10 23 22 43 42 46 47 4 5 7 6 16 17 19 18 50 52 80 86 111 105 77 75 48 54 82 84 109 107 79 73 49 55 83 85 108 106 78 72 51 53 81 87 110 104 76 74 56 62 90 92 101 99 71 65 58 60 88 94 103 97 69 67 59 61 89 95 102 96 68 66 57 63 91 93 100 98 70 64 +50 53 52 51 48 55 49 54 0 14 2 12 77 74 75 76 79 72 78 73 13 3 15 1 40 46 43 45 90 93 98 101 44 42 47 41 92 91 100 99 88 95 96 103 89 94 97 102 80 111 28 36 31 39 86 105 24 32 82 109 83 108 27 35 26 34 84 107 85 106 25 33 81 110 30 38 29 37 87 104 56 64 8 20 11 23 62 70 4 16 58 66 59 67 7 19 6 18 60 68 61 69 5 17 57 65 10 22 9 21 63 71 +28 38 36 30 48 73 79 54 82 107 84 109 31 37 39 29 49 72 78 55 83 106 85 108 56 65 71 62 90 99 92 101 64 57 63 70 98 91 100 93 4 18 6 16 17 7 19 5 80 111 50 52 77 75 86 105 24 26 0 12 13 1 27 25 32 34 2 14 15 3 35 33 81 110 51 53 76 74 87 104 40 44 8 20 21 9 45 41 88 103 58 60 69 67 94 97 96 95 66 68 61 59 102 89 42 46 10 22 23 11 47 43 +28 29 31 30 24 25 26 27 0 1 13 12 36 37 39 38 32 33 34 35 2 3 15 14 40 41 44 45 8 9 21 20 43 42 47 46 11 10 22 23 4 5 17 16 6 7 19 18 80 111 50 77 52 75 86 105 48 79 82 109 84 107 54 73 49 78 83 108 85 106 55 72 81 110 51 76 53 74 87 104 56 71 90 101 92 99 62 65 88 103 58 69 60 67 94 97 89 102 59 68 61 66 95 96 57 70 91 100 93 98 63 64 +50 76 77 51 24 35 32 27 82 108 83 109 52 74 75 53 26 33 34 25 84 106 85 107 56 70 64 62 8 23 11 20 71 57 63 65 21 10 22 9 88 102 89 103 96 94 97 95 80 111 28 31 36 39 86 105 48 49 0 12 2 14 54 55 79 78 13 1 15 3 73 72 81 110 30 29 38 37 87 104 40 43 90 101 98 93 45 46 4 16 58 59 66 67 7 19 17 5 69 68 61 60 18 6 42 41 91 100 99 92 47 44 +50 53 52 51 48 55 54 49 0 14 12 2 77 74 75 76 79 72 73 78 13 3 1 15 40 46 45 43 90 93 101 98 44 42 41 47 92 91 99 100 88 95 103 96 94 89 97 102 28 36 80 111 86 105 31 39 82 109 24 32 27 35 83 108 84 107 26 34 25 33 85 106 30 38 81 110 87 104 29 37 8 20 56 64 62 70 11 23 58 66 4 16 7 19 59 67 60 68 6 18 5 17 61 69 10 22 57 65 63 71 9 21 +80 110 111 81 48 78 79 49 24 34 26 32 86 104 105 87 54 72 73 55 27 33 25 35 8 22 21 11 90 100 92 98 20 10 9 23 101 91 99 93 58 68 60 66 69 59 67 61 28 36 50 52 77 75 31 39 82 84 0 2 13 15 83 85 109 107 12 14 1 3 108 106 30 38 51 53 76 74 29 37 40 44 56 64 71 63 43 47 88 96 4 6 17 19 89 97 103 95 16 18 5 7 102 94 42 46 57 65 70 62 41 45 +80 87 86 81 82 85 84 83 0 15 13 2 111 104 105 110 109 106 107 108 12 3 1 14 40 47 44 43 56 63 71 64 45 42 41 46 62 57 65 70 58 61 69 66 60 59 67 68 28 36 50 77 52 75 31 39 48 79 24 32 26 34 49 78 54 73 27 35 25 33 55 72 30 38 51 76 53 74 29 37 8 21 90 98 92 100 11 22 88 96 4 17 6 19 89 97 94 102 7 18 5 16 95 103 10 23 91 99 93 101 9 20 +50 76 77 51 82 108 109 83 24 35 27 32 52 74 75 53 84 106 107 85 26 33 25 34 8 23 20 11 56 70 62 64 21 10 9 22 71 57 65 63 88 102 94 96 103 89 97 95 28 36 80 86 111 105 31 39 48 54 0 2 12 14 49 55 79 73 13 15 1 3 78 72 30 38 81 87 110 104 29 37 40 45 90 98 101 93 43 46 58 66 4 7 16 19 59 67 69 61 17 18 5 6 68 60 42 47 91 99 100 92 41 44 +50 53 52 51 0 14 2 12 48 55 49 54 77 74 75 76 13 3 15 1 79 72 78 73 90 93 98 101 40 46 43 45 92 91 100 99 44 42 47 41 88 95 89 94 96 103 97 102 80 86 28 31 36 39 111 105 82 83 24 27 32 35 109 108 84 85 26 25 34 33 107 106 81 87 30 29 38 37 110 104 8 11 56 62 64 70 20 23 4 7 58 59 66 67 16 19 6 5 60 61 68 69 18 17 10 9 57 63 65 71 22 21 +28 38 36 30 82 107 84 109 48 73 79 54 31 37 39 29 83 106 85 108 49 72 78 55 90 99 92 101 56 65 71 62 98 91 100 93 64 57 63 70 4 18 17 7 6 16 19 5 80 86 50 77 52 75 111 105 0 13 24 27 26 25 12 1 2 15 32 35 34 33 14 3 81 87 51 76 53 74 110 104 8 21 40 45 44 41 20 9 88 94 58 69 60 67 103 97 96 102 66 61 68 59 95 89 10 23 42 47 46 43 22 11 +28 29 31 30 0 1 13 12 24 25 26 27 36 37 39 38 2 3 15 14 32 33 34 35 8 9 21 20 40 41 44 45 11 10 22 23 43 42 47 46 4 5 6 7 17 16 19 18 80 86 50 52 77 75 111 105 82 84 48 54 79 73 109 107 83 85 49 55 78 72 108 106 81 87 51 53 76 74 110 104 90 92 56 62 71 65 101 99 88 94 58 60 69 67 103 97 89 95 59 61 68 66 102 96 91 93 57 63 70 64 100 98 +50 76 77 51 82 108 83 109 24 35 32 27 52 74 75 53 84 106 85 107 26 33 34 25 8 23 11 20 56 70 64 62 21 10 22 9 71 57 63 65 88 102 96 94 89 103 97 95 80 86 28 36 31 39 111 105 0 2 48 54 49 55 12 14 13 15 79 73 78 72 1 3 81 87 30 38 29 37 110 104 90 98 40 45 43 46 101 93 4 7 58 66 59 67 16 19 17 18 69 61 68 60 5 6 91 99 42 47 41 44 100 92 +50 53 52 51 0 14 12 2 48 55 54 49 77 74 75 76 13 3 1 15 79 72 73 78 90 93 101 98 40 46 45 43 92 91 99 100 44 42 41 47 88 95 94 89 103 96 97 102 28 31 80 86 111 105 36 39 24 27 82 83 109 108 32 35 26 25 84 85 107 106 34 33 30 29 81 87 110 104 38 37 56 62 8 11 20 23 64 70 58 59 4 7 16 19 66 67 60 61 6 5 18 17 68 69 57 63 10 9 22 21 65 71 +80 110 111 81 24 34 26 32 48 78 79 49 86 104 105 87 27 33 25 35 54 72 73 55 90 100 92 98 8 22 21 11 101 91 99 93 20 10 9 23 58 68 69 59 60 66 67 61 28 31 50 77 52 75 36 39 0 13 82 83 84 85 2 15 12 1 109 108 107 106 14 3 30 29 51 76 53 74 38 37 56 71 40 43 44 47 64 63 88 89 4 17 6 19 96 97 103 102 16 5 18 7 95 94 57 70 42 41 46 45 65 62 +80 87 86 81 0 15 13 2 82 85 84 83 111 104 105 110 12 3 1 14 109 106 107 108 56 63 71 64 40 47 44 43 62 57 65 70 45 42 41 46 58 61 60 59 69 66 67 68 28 31 50 52 77 75 36 39 24 26 48 49 79 78 32 34 27 25 54 55 73 72 35 33 30 29 51 53 76 74 38 37 90 92 8 11 21 22 98 100 88 89 4 6 17 19 96 97 94 95 7 5 18 16 102 103 91 93 10 9 23 20 99 101 +50 76 77 51 24 35 27 32 82 108 109 83 52 74 75 53 26 33 25 34 84 106 107 85 56 70 62 64 8 23 20 11 71 57 65 63 21 10 9 22 88 102 103 89 94 96 97 95 28 31 80 111 86 105 36 39 0 12 48 49 54 55 2 14 13 1 79 78 73 72 15 3 30 29 81 110 87 104 38 37 90 101 40 43 45 46 98 93 58 59 4 16 7 19 66 67 69 68 17 5 18 6 61 60 91 100 42 41 47 44 99 92 +80 110 111 81 24 34 32 26 48 78 49 79 86 104 105 87 27 33 35 25 54 72 55 73 90 100 98 92 8 22 11 21 101 91 93 99 20 10 23 9 58 68 59 69 66 60 67 61 50 77 28 31 36 39 52 75 82 83 0 13 2 15 84 85 109 108 12 1 14 3 107 106 51 76 30 29 38 37 53 74 40 43 56 71 64 63 44 47 4 17 88 89 96 97 6 19 16 5 103 102 95 94 18 7 42 41 57 70 65 62 46 45 +28 38 36 30 82 107 109 84 48 73 54 79 31 37 39 29 83 106 108 85 49 72 55 78 90 99 101 92 56 65 62 71 98 91 93 100 64 57 70 63 4 18 7 17 16 6 19 5 50 77 80 86 111 105 52 75 24 27 0 13 12 1 26 25 32 35 2 15 14 3 34 33 51 76 81 87 110 104 53 74 40 45 8 21 20 9 44 41 58 69 88 94 103 97 60 67 66 61 96 102 95 89 68 59 42 47 10 23 22 11 46 43 +80 87 86 81 82 85 83 84 0 15 2 13 111 104 105 110 109 106 108 107 12 3 14 1 40 47 43 44 56 63 64 71 45 42 46 41 62 57 70 65 58 61 66 69 59 60 67 68 50 77 28 36 31 39 52 75 24 32 48 79 49 78 26 34 27 35 54 73 55 72 25 33 51 76 30 38 29 37 53 74 90 98 8 21 11 22 92 100 4 17 88 96 89 97 6 19 7 18 94 102 95 103 5 16 91 99 10 23 9 20 93 101 +28 29 31 30 24 25 27 26 0 1 12 13 36 37 39 38 32 33 35 34 2 3 14 15 40 41 45 44 8 9 20 21 43 42 46 47 11 10 23 22 4 5 16 17 7 6 19 18 50 77 80 111 86 105 52 75 82 109 48 79 54 73 84 107 83 108 49 78 55 72 85 106 51 76 81 110 87 104 53 74 90 101 56 71 62 65 92 99 58 69 88 103 94 97 60 67 59 68 89 102 95 96 61 66 91 100 57 70 63 64 93 98 +4 19 6 17 80 105 81 104 88 97 96 89 16 7 18 5 111 86 110 87 103 94 95 102 50 75 51 74 58 67 66 59 52 77 53 76 60 69 68 61 28 39 36 31 30 37 38 29 48 49 56 64 57 65 72 73 24 32 40 43 42 41 33 25 26 34 44 47 46 45 35 27 79 78 71 63 70 62 55 54 0 2 8 11 10 9 3 1 82 83 90 98 91 99 106 107 84 85 92 100 93 101 108 109 13 15 21 22 23 20 14 12 +56 70 57 71 24 35 26 33 88 102 103 89 64 62 65 63 32 27 34 25 96 94 95 97 50 76 52 74 8 23 20 11 51 77 53 75 10 21 22 9 82 108 109 83 84 106 107 85 48 49 4 16 6 18 72 73 80 111 40 43 44 47 104 87 81 110 42 41 46 45 105 86 79 78 17 5 19 7 55 54 0 12 58 59 60 61 3 15 28 31 90 101 92 99 37 38 30 29 91 100 93 98 39 36 13 1 69 68 67 66 14 2 +4 5 16 17 24 25 32 33 40 41 42 43 6 7 18 19 26 27 34 35 44 45 46 47 0 1 2 3 8 9 10 11 12 13 14 15 20 21 22 23 28 29 30 31 36 37 38 39 48 49 56 57 64 65 72 73 80 81 88 89 96 97 104 105 111 110 103 102 95 94 87 86 79 78 71 70 63 62 55 54 50 51 58 59 66 67 74 75 82 83 90 91 98 99 106 107 109 108 101 100 93 92 85 84 77 76 69 68 61 60 53 52 +56 63 64 71 80 87 111 104 40 47 44 43 57 62 65 70 81 86 110 105 42 45 46 41 0 15 12 3 58 61 60 59 2 13 14 1 66 69 68 67 82 85 84 83 109 106 107 108 48 49 4 6 16 18 72 73 24 26 88 89 103 102 33 35 32 34 96 97 95 94 25 27 79 78 17 19 5 7 55 54 50 52 8 11 20 23 74 76 28 31 90 92 101 99 37 38 36 39 98 100 93 91 29 30 77 75 21 22 9 10 53 51 +4 19 6 17 88 97 96 89 80 105 81 104 16 7 18 5 103 94 95 102 111 86 110 87 58 67 66 59 50 75 51 74 60 69 68 61 52 77 53 76 28 39 30 37 36 31 38 29 48 72 56 57 64 65 49 73 40 42 24 33 32 25 43 41 44 46 26 35 34 27 47 45 79 55 71 70 63 62 78 54 8 10 0 3 2 1 11 9 82 106 90 91 98 99 83 107 84 108 92 93 100 101 85 109 21 23 13 14 15 12 22 20 +56 70 57 71 88 102 103 89 24 35 26 33 64 62 65 63 96 94 95 97 32 27 34 25 8 23 20 11 50 76 52 74 10 21 22 9 51 77 53 75 82 108 84 106 109 83 107 85 48 72 4 6 16 18 49 73 40 44 80 104 111 87 43 47 42 46 81 105 110 86 41 45 79 55 17 19 5 7 78 54 58 60 0 3 12 15 59 61 28 37 90 92 101 99 31 38 30 39 91 93 100 98 29 36 69 67 13 14 1 2 68 66 +4 5 16 17 40 41 42 43 24 25 32 33 6 7 18 19 44 45 46 47 26 27 34 35 8 9 10 11 0 1 2 3 20 21 22 23 12 13 14 15 28 29 36 37 30 31 38 39 48 72 56 64 57 65 49 73 88 96 80 104 81 105 89 97 103 95 111 87 110 86 102 94 79 55 71 63 70 62 78 54 58 66 50 74 51 75 59 67 82 106 90 98 91 99 83 107 109 85 101 93 100 92 108 84 69 61 77 53 76 52 68 60 +56 63 64 71 40 47 44 43 80 87 111 104 57 62 65 70 42 45 46 41 81 86 110 105 58 61 60 59 0 15 12 3 66 69 68 67 2 13 14 1 82 85 109 106 84 83 107 108 48 72 4 16 6 18 49 73 88 103 24 33 26 35 89 102 96 95 32 25 34 27 97 94 79 55 17 5 19 7 78 54 8 20 50 74 52 76 11 23 28 37 90 101 92 99 31 38 36 29 98 93 100 91 39 30 21 9 77 53 75 51 22 10 +48 78 49 79 80 110 81 111 24 34 32 26 72 54 73 55 104 86 105 87 33 27 25 35 8 22 10 20 58 68 66 60 11 21 9 23 59 69 67 61 90 100 98 92 91 101 99 93 4 6 56 64 57 65 16 18 88 96 40 44 42 46 103 95 89 97 43 47 41 45 102 94 17 19 71 63 70 62 5 7 0 2 50 52 51 53 12 14 82 84 28 36 30 38 109 107 83 85 31 39 29 37 108 106 13 15 77 75 76 74 1 3 +48 55 72 79 88 95 96 103 40 46 42 44 49 54 73 78 89 94 97 102 43 45 41 47 0 14 2 12 50 53 51 52 3 13 1 15 74 77 75 76 90 93 91 92 98 101 99 100 4 6 56 57 64 65 16 18 80 81 24 26 32 34 111 110 104 105 33 35 25 27 87 86 17 19 71 70 63 62 5 7 8 10 58 60 66 68 20 22 82 84 28 30 36 38 109 107 106 108 37 39 29 31 85 83 21 23 69 67 61 59 9 11 +56 70 57 71 88 102 89 103 24 35 33 26 64 62 65 63 96 94 97 95 32 27 25 34 8 23 11 20 50 76 74 52 10 21 9 22 51 77 75 53 82 108 106 84 83 109 107 85 4 6 48 72 49 73 16 18 80 104 40 44 43 47 111 87 81 105 42 46 41 45 110 86 17 19 79 55 78 54 5 7 0 3 58 60 59 61 12 15 90 92 28 37 31 38 101 99 91 93 30 39 29 36 100 98 13 14 69 67 68 66 1 2 +56 63 64 71 80 87 104 111 40 47 43 44 57 62 65 70 81 86 105 110 42 45 41 46 0 15 3 12 58 61 59 60 2 13 1 14 66 69 67 68 82 85 83 84 106 109 107 108 4 6 48 49 72 73 16 18 88 89 24 26 33 35 103 102 96 97 32 34 25 27 95 94 17 19 79 78 55 54 5 7 8 11 50 52 74 76 20 23 90 92 28 31 37 38 101 99 98 100 36 39 29 30 93 91 21 22 77 75 53 51 9 10 +48 78 49 79 24 34 26 32 80 110 111 81 72 54 73 55 33 27 35 25 104 86 87 105 58 68 60 66 8 22 20 10 59 69 61 67 11 21 23 9 90 100 101 91 92 98 99 93 56 57 4 16 6 18 64 65 88 103 40 42 44 46 96 95 89 102 43 41 47 45 97 94 71 70 17 5 19 7 63 62 0 12 50 51 52 53 2 14 28 30 82 109 84 107 36 38 31 29 83 108 85 106 39 37 13 1 77 76 75 74 15 3 +48 55 72 79 88 95 103 96 40 46 44 42 49 54 73 78 89 94 102 97 43 45 47 41 0 14 12 2 50 53 52 51 3 13 15 1 74 77 76 75 90 93 92 91 101 98 99 100 56 57 4 6 16 18 64 65 24 26 80 81 111 110 32 34 33 35 104 105 87 86 25 27 71 70 17 19 5 7 63 62 58 60 8 10 20 22 66 68 28 30 82 84 109 107 36 38 37 39 106 108 85 83 29 31 69 67 21 23 9 11 61 59 +4 19 6 17 88 97 89 96 80 105 104 81 16 7 18 5 103 94 102 95 111 86 87 110 58 67 59 66 50 75 74 51 60 69 61 68 52 77 76 53 28 39 37 30 31 36 38 29 56 57 48 72 49 73 64 65 24 33 40 42 43 41 32 25 26 35 44 46 47 45 34 27 71 70 79 55 78 54 63 62 0 3 8 10 11 9 2 1 90 91 82 106 83 107 98 99 92 93 84 108 85 109 100 101 13 14 21 23 22 20 15 12 +4 5 16 17 24 25 33 32 40 41 43 42 6 7 18 19 26 27 35 34 44 45 47 46 0 1 3 2 8 9 11 10 12 13 15 14 20 21 23 22 28 29 31 30 37 36 38 39 56 57 48 49 72 73 64 65 88 89 80 81 104 105 96 97 103 102 111 110 87 86 95 94 71 70 79 78 55 54 63 62 58 59 50 51 74 75 66 67 90 91 82 83 106 107 98 99 101 100 109 108 85 84 93 92 69 68 77 76 53 52 61 60 +48 78 49 79 24 34 32 26 80 110 81 111 72 54 73 55 33 27 25 35 104 86 105 87 58 68 66 60 8 22 10 20 59 69 67 61 11 21 9 23 90 100 91 101 98 92 99 93 4 16 56 57 64 65 6 18 40 42 88 103 96 95 44 46 43 41 89 102 97 94 47 45 17 5 71 70 63 62 19 7 50 51 0 12 2 14 52 53 82 109 28 30 36 38 84 107 83 108 31 29 39 37 85 106 77 76 13 1 15 3 75 74 +48 55 72 79 40 46 42 44 88 95 96 103 49 54 73 78 43 45 41 47 89 94 97 102 50 53 51 52 0 14 2 12 74 77 75 76 3 13 1 15 90 93 98 101 91 92 99 100 4 16 56 64 57 65 6 18 24 32 80 111 81 110 26 34 33 25 104 87 105 86 35 27 17 5 71 63 70 62 19 7 58 66 8 20 10 22 60 68 82 109 28 36 30 38 84 107 106 85 37 29 39 31 108 83 69 61 21 9 23 11 67 59 +56 70 57 71 24 35 33 26 88 102 89 103 64 62 65 63 32 27 25 34 96 94 97 95 50 76 74 52 8 23 11 20 51 77 75 53 10 21 9 22 82 108 83 109 106 84 107 85 4 16 48 49 72 73 6 18 40 43 80 111 104 87 44 47 42 41 81 110 105 86 46 45 17 5 79 78 55 54 19 7 58 59 0 12 3 15 60 61 90 101 28 31 37 38 92 99 91 100 30 29 39 36 93 98 69 68 13 1 14 2 67 66 +56 63 64 71 40 47 43 44 80 87 104 111 57 62 65 70 42 45 41 46 81 86 105 110 58 61 59 60 0 15 3 12 66 69 67 68 2 13 1 14 82 85 106 109 83 84 107 108 4 16 48 72 49 73 6 18 24 33 88 103 89 102 26 35 32 25 96 95 97 94 34 27 17 5 79 55 78 54 19 7 50 74 8 20 11 23 52 76 90 101 28 37 31 38 92 99 98 93 36 29 39 30 100 91 77 53 21 9 22 10 75 51 +48 78 49 79 80 110 111 81 24 34 26 32 72 54 73 55 104 86 87 105 33 27 35 25 8 22 20 10 58 68 60 66 11 21 23 9 59 69 61 67 90 100 92 98 101 91 99 93 56 64 4 6 16 18 57 65 40 44 88 96 103 95 42 46 43 47 89 97 102 94 41 45 71 63 17 19 5 7 70 62 50 52 0 2 12 14 51 53 28 36 82 84 109 107 30 38 31 39 83 85 108 106 29 37 77 75 13 15 1 3 76 74 +48 55 72 79 40 46 44 42 88 95 103 96 49 54 73 78 43 45 47 41 89 94 102 97 50 53 52 51 0 14 12 2 74 77 76 75 3 13 15 1 90 93 101 98 92 91 99 100 56 64 4 16 6 18 57 65 80 111 24 32 26 34 81 110 104 87 33 25 35 27 105 86 71 63 17 5 19 7 70 62 8 20 58 66 60 68 10 22 28 36 82 109 84 107 30 38 37 29 106 85 108 83 39 31 21 9 69 61 67 59 23 11 +4 19 6 17 80 105 104 81 88 97 89 96 16 7 18 5 111 86 87 110 103 94 102 95 50 75 74 51 58 67 59 66 52 77 76 53 60 69 61 68 28 39 31 36 37 30 38 29 56 64 48 49 72 73 57 65 40 43 24 32 33 25 42 41 44 47 26 34 35 27 46 45 71 63 79 78 55 54 70 62 8 11 0 2 3 1 10 9 90 98 82 83 106 107 91 99 92 100 84 85 108 109 93 101 21 22 13 15 14 12 23 20 +4 5 16 17 40 41 43 42 24 25 33 32 6 7 18 19 44 45 47 46 26 27 35 34 8 9 11 10 0 1 3 2 20 21 23 22 12 13 15 14 28 29 37 36 31 30 38 39 56 64 48 72 49 73 57 65 80 104 88 96 89 97 81 105 111 87 103 95 102 94 110 86 71 63 79 55 78 54 70 62 50 74 58 66 59 67 51 75 90 98 82 106 83 107 91 99 101 93 109 85 108 84 100 92 77 53 69 61 68 60 76 52 +80 105 81 104 4 19 6 17 88 97 96 89 111 86 110 87 16 7 18 5 103 94 95 102 50 75 52 77 28 39 36 31 51 74 53 76 30 37 38 29 58 67 66 59 60 69 68 61 48 49 24 32 26 34 79 78 56 64 40 43 44 47 71 63 57 65 42 41 46 45 70 62 72 73 33 25 35 27 55 54 0 2 82 83 84 85 13 15 8 11 90 98 92 100 21 22 10 9 91 99 93 101 23 20 3 1 106 107 108 109 14 12 +24 35 26 33 56 70 57 71 88 102 103 89 32 27 34 25 64 62 65 63 96 94 95 97 50 76 51 77 82 108 109 83 52 74 53 75 84 106 107 85 8 23 20 11 10 21 22 9 48 49 80 111 81 110 79 78 4 16 40 43 42 41 17 5 6 18 44 47 46 45 19 7 72 73 104 87 105 86 55 54 0 12 28 31 30 29 13 1 58 59 90 101 91 100 69 68 60 61 92 99 93 98 67 66 3 15 37 38 39 36 14 2 +24 25 32 33 4 5 16 17 40 41 42 43 26 27 34 35 6 7 18 19 44 45 46 47 0 1 12 13 28 29 30 31 2 3 14 15 36 37 38 39 8 9 10 11 20 21 22 23 48 49 80 81 111 110 79 78 56 57 88 89 103 102 71 70 64 65 96 97 95 94 63 62 72 73 104 105 87 86 55 54 50 51 82 83 109 108 77 76 58 59 90 91 101 100 69 68 66 67 98 99 93 92 61 60 74 75 106 107 85 84 53 52 +80 87 111 104 56 63 64 71 40 47 44 43 81 86 110 105 57 62 65 70 42 45 46 41 0 15 2 13 82 85 84 83 12 3 14 1 109 106 107 108 58 61 60 59 66 69 68 67 48 49 24 26 32 34 79 78 4 6 88 89 96 97 17 19 16 18 103 102 95 94 5 7 72 73 33 35 25 27 55 54 50 52 28 31 36 39 77 75 8 11 90 92 98 100 21 22 20 23 101 99 93 91 9 10 74 76 37 38 29 30 53 51 +80 105 81 104 88 97 96 89 4 19 6 17 111 86 110 87 103 94 95 102 16 7 18 5 28 39 36 31 50 75 52 77 30 37 38 29 51 74 53 76 58 67 60 69 66 59 68 61 48 79 24 26 32 34 49 78 40 44 56 71 64 63 43 47 42 46 57 70 65 62 41 45 72 55 33 35 25 27 73 54 82 84 0 13 2 15 83 85 8 21 90 92 98 100 11 22 10 23 91 93 99 101 9 20 106 108 3 14 1 12 107 109 +24 35 26 33 88 102 103 89 56 70 57 71 32 27 34 25 96 94 95 97 64 62 65 63 82 108 109 83 50 76 51 77 84 106 107 85 52 74 53 75 8 23 10 21 20 11 22 9 48 79 80 81 111 110 49 78 40 42 4 17 16 5 43 41 44 46 6 19 18 7 47 45 72 55 104 105 87 86 73 54 28 30 0 13 12 1 31 29 58 69 90 91 101 100 59 68 60 67 92 93 99 98 61 66 37 39 3 14 15 2 38 36 +24 25 32 33 40 41 42 43 4 5 16 17 26 27 34 35 44 45 46 47 6 7 18 19 28 29 30 31 0 1 12 13 36 37 38 39 2 3 14 15 8 9 20 21 10 11 22 23 48 79 80 111 81 110 49 78 88 103 56 71 57 70 89 102 96 95 64 63 65 62 97 94 72 55 104 87 105 86 73 54 82 109 50 77 51 76 83 108 58 69 90 101 91 100 59 68 66 61 98 93 99 92 67 60 106 85 74 53 75 52 107 84 +80 87 111 104 40 47 44 43 56 63 64 71 81 86 110 105 42 45 46 41 57 62 65 70 82 85 84 83 0 15 2 13 109 106 107 108 12 3 14 1 58 61 66 69 60 59 68 67 48 79 24 32 26 34 49 78 88 96 4 17 6 19 89 97 103 95 16 5 18 7 102 94 72 55 33 25 35 27 73 54 28 36 50 77 52 75 31 39 8 21 90 98 92 100 11 22 20 9 101 93 99 91 23 10 37 29 74 53 76 51 38 30 +48 73 49 72 4 18 6 16 56 65 64 57 79 54 78 55 17 7 19 5 71 62 63 70 82 107 84 109 28 38 36 30 83 106 85 108 31 37 39 29 90 99 98 91 92 101 100 93 80 81 24 32 26 34 111 110 88 96 40 42 44 46 103 95 89 97 43 41 47 45 102 94 104 105 33 25 35 27 87 86 0 2 50 51 52 53 12 14 8 10 58 66 60 68 20 22 11 9 59 67 61 69 23 21 3 1 74 75 76 77 15 13 +48 55 79 72 88 95 96 103 40 46 44 42 49 54 78 73 89 94 97 102 43 45 47 41 0 14 2 12 50 53 52 51 13 3 15 1 77 74 75 76 90 93 92 91 98 101 100 99 80 81 24 26 32 34 111 110 4 6 56 57 64 65 16 18 17 19 71 70 63 62 5 7 104 105 33 35 25 27 87 86 82 84 28 30 36 38 109 107 8 10 58 60 66 68 20 22 21 23 69 67 61 59 9 11 106 108 37 39 29 31 85 83 +24 35 26 33 88 102 89 103 56 70 71 57 32 27 34 25 96 94 97 95 64 62 63 65 82 108 83 109 50 76 77 51 84 106 85 107 52 74 75 53 8 23 21 10 11 20 22 9 80 81 48 79 49 78 111 110 4 17 40 42 43 41 16 5 6 19 44 46 47 45 18 7 104 105 72 55 73 54 87 86 0 13 28 30 31 29 12 1 90 91 58 69 59 68 101 100 92 93 60 67 61 66 99 98 3 14 37 39 38 36 15 2 +24 25 32 33 4 5 17 16 40 41 43 42 26 27 34 35 6 7 19 18 44 45 47 46 0 1 13 12 28 29 31 30 2 3 15 14 36 37 39 38 8 9 11 10 21 20 22 23 80 81 48 49 79 78 111 110 88 89 56 57 71 70 103 102 96 97 64 65 63 62 95 94 104 105 72 73 55 54 87 86 82 83 50 51 77 76 109 108 90 91 58 59 69 68 101 100 98 99 66 67 61 60 93 92 106 107 74 75 53 52 85 84 +48 73 49 72 56 65 57 64 4 18 16 6 79 54 78 55 71 62 70 63 17 7 5 19 28 38 30 36 82 107 109 84 31 37 29 39 83 106 108 85 90 99 101 92 91 98 100 93 24 26 80 111 81 110 32 34 88 103 40 44 42 46 96 95 89 102 43 47 41 45 97 94 33 35 104 87 105 86 25 27 0 12 50 52 51 53 2 14 58 60 8 20 10 22 66 68 59 61 11 23 9 21 67 69 3 15 74 76 75 77 1 13 +48 55 79 72 88 95 103 96 40 46 42 44 49 54 78 73 89 94 102 97 43 45 41 47 0 14 12 2 50 53 51 52 13 3 1 15 77 74 76 75 90 93 91 92 101 98 100 99 24 26 80 81 111 110 32 34 56 57 4 6 16 18 64 65 71 70 17 19 5 7 63 62 33 35 104 105 87 86 25 27 28 30 82 84 109 107 36 38 58 60 8 10 20 22 66 68 69 67 21 23 9 11 61 59 37 39 106 108 85 83 29 31 +80 105 81 104 88 97 89 96 4 19 17 6 111 86 110 87 103 94 102 95 16 7 5 18 28 39 31 36 50 75 77 52 30 37 29 38 51 74 76 53 58 67 69 60 59 66 68 61 24 26 48 79 49 78 32 34 56 71 40 44 43 47 64 63 57 70 42 46 41 45 65 62 33 35 72 55 73 54 25 27 0 13 82 84 83 85 2 15 90 92 8 21 11 22 98 100 91 93 10 23 9 20 99 101 3 14 106 108 107 109 1 12 +80 87 111 104 56 63 71 64 40 47 43 44 81 86 110 105 57 62 70 65 42 45 41 46 0 15 13 2 82 85 83 84 12 3 1 14 109 106 108 107 58 61 59 60 69 66 68 67 24 26 48 49 79 78 32 34 88 89 4 6 17 19 96 97 103 102 16 18 5 7 95 94 33 35 72 73 55 54 25 27 28 31 50 52 77 75 36 39 90 92 8 11 21 22 98 100 101 99 20 23 9 10 93 91 37 38 74 76 53 51 29 30 +48 73 49 72 4 18 16 6 56 65 57 64 79 54 78 55 17 7 5 19 71 62 70 63 82 107 109 84 28 38 30 36 83 106 108 85 31 37 29 39 90 99 91 98 101 92 100 93 24 32 80 81 111 110 26 34 40 42 88 96 103 95 44 46 43 41 89 97 102 94 47 45 33 25 104 105 87 86 35 27 50 51 0 2 12 14 52 53 58 66 8 10 20 22 60 68 59 67 11 9 23 21 61 69 74 75 3 1 15 13 76 77 +48 55 79 72 40 46 42 44 88 95 103 96 49 54 78 73 43 45 41 47 89 94 102 97 50 53 51 52 0 14 12 2 77 74 76 75 13 3 1 15 90 93 101 98 91 92 100 99 24 32 80 111 81 110 26 34 4 16 56 64 57 65 6 18 17 5 71 63 70 62 19 7 33 25 104 87 105 86 35 27 82 109 28 36 30 38 84 107 58 66 8 20 10 22 60 68 69 61 21 9 23 11 67 59 106 85 37 29 39 31 108 83 +80 105 81 104 4 19 17 6 88 97 89 96 111 86 110 87 16 7 5 18 103 94 102 95 50 75 77 52 28 39 31 36 51 74 76 53 30 37 29 38 58 67 59 66 69 60 68 61 24 32 48 49 79 78 26 34 40 43 56 64 71 63 44 47 42 41 57 65 70 62 46 45 33 25 72 73 55 54 35 27 82 83 0 2 13 15 84 85 90 98 8 11 21 22 92 100 91 99 10 9 23 20 93 101 106 107 3 1 14 12 108 109 +80 87 111 104 40 47 43 44 56 63 71 64 81 86 110 105 42 45 41 46 57 62 70 65 82 85 83 84 0 15 13 2 109 106 108 107 12 3 1 14 58 61 69 66 59 60 68 67 24 32 48 79 49 78 26 34 4 17 88 96 89 97 6 19 16 5 103 95 102 94 18 7 33 25 72 55 73 54 35 27 50 77 28 36 31 39 52 75 90 98 8 21 11 22 92 100 101 93 20 9 23 10 99 91 74 53 37 29 38 30 76 51 +48 73 49 72 56 65 64 57 4 18 6 16 79 54 78 55 71 62 63 70 17 7 19 5 28 38 36 30 82 107 84 109 31 37 39 29 83 106 85 108 90 99 92 101 98 91 100 93 80 111 24 26 32 34 81 110 40 44 88 103 96 95 42 46 43 47 89 102 97 94 41 45 104 87 33 35 25 27 105 86 50 52 0 12 2 14 51 53 8 20 58 60 66 68 10 22 11 23 59 61 67 69 9 21 74 76 3 15 1 13 75 77 +48 55 79 72 40 46 44 42 88 95 96 103 49 54 78 73 43 45 47 41 89 94 97 102 50 53 52 51 0 14 2 12 77 74 75 76 13 3 15 1 90 93 98 101 92 91 100 99 80 111 24 32 26 34 81 110 56 64 4 16 6 18 57 65 71 63 17 5 19 7 70 62 104 87 33 25 35 27 105 86 28 36 82 109 84 107 30 38 8 20 58 66 60 68 10 22 21 9 69 61 67 59 23 11 37 29 106 85 108 83 39 31 +24 35 26 33 56 70 71 57 88 102 89 103 32 27 34 25 64 62 63 65 96 94 97 95 50 76 77 51 82 108 83 109 52 74 75 53 84 106 85 107 8 23 11 20 21 10 22 9 80 111 48 49 79 78 81 110 40 43 4 16 17 5 42 41 44 47 6 18 19 7 46 45 104 87 72 73 55 54 105 86 28 31 0 12 13 1 30 29 90 101 58 59 69 68 91 100 92 99 60 61 67 66 93 98 37 38 3 15 14 2 39 36 +24 25 32 33 40 41 43 42 4 5 17 16 26 27 34 35 44 45 47 46 6 7 19 18 28 29 31 30 0 1 13 12 36 37 39 38 2 3 15 14 8 9 21 20 11 10 22 23 80 111 48 79 49 78 81 110 56 71 88 103 89 102 57 70 64 63 96 95 97 94 65 62 104 87 72 55 73 54 105 86 50 77 82 109 83 108 51 76 90 101 58 69 59 68 91 100 98 93 66 61 67 60 99 92 74 53 106 85 107 84 75 52 +88 97 96 89 4 19 6 17 80 105 81 104 103 94 95 102 16 7 18 5 111 86 110 87 58 67 60 69 28 39 30 37 66 59 68 61 36 31 38 29 50 75 51 74 52 77 53 76 48 72 40 42 44 46 79 55 56 57 24 33 26 35 71 70 64 65 32 25 34 27 63 62 49 73 43 41 47 45 78 54 8 10 82 106 84 108 21 23 0 3 90 91 92 93 13 14 2 1 98 99 100 101 15 12 11 9 83 107 85 109 22 20 +88 102 103 89 56 70 57 71 24 35 26 33 96 94 95 97 64 62 65 63 32 27 34 25 8 23 10 21 82 108 84 106 20 11 22 9 109 83 107 85 50 76 52 74 51 77 53 75 48 72 40 44 42 46 79 55 4 6 80 104 81 105 17 19 16 18 111 87 110 86 5 7 49 73 43 47 41 45 78 54 58 60 28 37 30 39 69 67 0 3 90 92 91 93 13 14 12 15 101 99 100 98 1 2 59 61 31 38 29 36 68 66 +40 41 42 43 4 5 16 17 24 25 32 33 44 45 46 47 6 7 18 19 26 27 34 35 8 9 20 21 28 29 36 37 10 11 22 23 30 31 38 39 0 1 2 3 12 13 14 15 48 72 88 96 103 95 79 55 56 64 80 104 111 87 71 63 57 65 81 105 110 86 70 62 49 73 89 97 102 94 78 54 58 66 82 106 109 85 69 61 50 74 90 98 101 93 77 53 51 75 91 99 100 92 76 52 59 67 83 107 108 84 68 60 +40 47 44 43 56 63 64 71 80 87 111 104 42 45 46 41 57 62 65 70 81 86 110 105 58 61 66 69 82 85 109 106 60 59 68 67 84 83 107 108 0 15 12 3 2 13 14 1 48 72 88 103 96 95 79 55 4 16 24 33 32 25 17 5 6 18 26 35 34 27 19 7 49 73 89 102 97 94 78 54 8 20 28 37 36 29 21 9 50 74 90 101 98 93 77 53 52 76 92 99 100 91 75 51 11 23 31 38 39 30 22 10 +88 97 96 89 80 105 81 104 4 19 6 17 103 94 95 102 111 86 110 87 16 7 18 5 28 39 30 37 58 67 60 69 36 31 38 29 66 59 68 61 50 75 52 77 51 74 53 76 48 79 40 44 42 46 72 55 24 26 56 71 57 70 33 35 32 34 64 63 65 62 25 27 49 78 43 47 41 45 73 54 82 84 8 21 10 23 106 108 0 13 90 92 91 93 3 14 2 15 98 100 99 101 1 12 83 85 11 22 9 20 107 109 +88 102 103 89 24 35 26 33 56 70 57 71 96 94 95 97 32 27 34 25 64 62 65 63 82 108 84 106 8 23 10 21 109 83 107 85 20 11 22 9 50 76 51 77 52 74 53 75 48 79 40 42 44 46 72 55 80 81 4 17 6 19 104 105 111 110 16 5 18 7 87 86 49 78 43 41 47 45 73 54 28 30 58 69 60 67 37 39 0 13 90 91 92 93 3 14 12 1 101 100 99 98 15 2 31 29 59 68 61 66 38 36 +40 41 42 43 24 25 32 33 4 5 16 17 44 45 46 47 26 27 34 35 6 7 18 19 28 29 36 37 8 9 20 21 30 31 38 39 10 11 22 23 0 1 12 13 2 3 14 15 48 79 88 103 96 95 72 55 80 111 56 71 64 63 104 87 81 110 57 70 65 62 105 86 49 78 89 102 97 94 73 54 82 109 58 69 66 61 106 85 50 77 90 101 98 93 74 53 51 76 91 100 99 92 75 52 83 108 59 68 67 60 107 84 +40 47 44 43 80 87 111 104 56 63 64 71 42 45 46 41 81 86 110 105 57 62 65 70 82 85 109 106 58 61 66 69 84 83 107 108 60 59 68 67 0 15 2 13 12 3 14 1 48 79 88 96 103 95 72 55 24 32 4 17 16 5 33 25 26 34 6 19 18 7 35 27 49 78 89 97 102 94 73 54 28 36 8 21 20 9 37 29 50 77 90 98 101 93 74 53 52 75 92 100 99 91 76 51 31 39 11 22 23 10 38 30 +48 73 72 49 4 18 6 16 56 65 57 64 79 54 55 78 17 7 19 5 71 62 70 63 82 107 84 109 28 38 30 36 106 83 108 85 37 31 39 29 90 99 91 98 92 101 93 100 88 96 40 42 44 46 103 95 80 81 24 32 26 34 111 110 104 105 33 25 35 27 87 86 89 97 43 41 47 45 102 94 8 10 58 66 60 68 20 22 0 2 50 51 52 53 12 14 3 1 74 75 76 77 15 13 11 9 59 67 61 69 23 21 +48 78 79 49 80 110 81 111 24 34 26 32 72 54 55 73 104 86 105 87 33 27 35 25 8 22 10 20 58 68 60 66 21 11 23 9 69 59 67 61 90 100 92 98 91 101 93 99 88 96 40 44 42 46 103 95 4 6 56 64 57 65 16 18 17 19 71 63 70 62 5 7 89 97 43 47 41 45 102 94 82 84 28 36 30 38 109 107 0 2 50 52 51 53 12 14 13 15 77 75 76 74 1 3 83 85 31 39 29 37 108 106 +40 41 42 43 4 5 17 16 24 25 33 32 44 45 46 47 6 7 19 18 26 27 35 34 8 9 21 20 28 29 37 36 10 11 23 22 30 31 39 38 0 1 3 2 13 12 14 15 88 96 48 72 79 55 103 95 80 104 56 64 71 63 111 87 81 105 57 65 70 62 110 86 89 97 49 73 78 54 102 94 82 106 58 66 69 61 109 85 90 98 50 74 77 53 101 93 91 99 51 75 76 52 100 92 83 107 59 67 68 60 108 84 +40 47 44 43 80 87 104 111 56 63 71 64 42 45 46 41 81 86 105 110 57 62 70 65 82 85 106 109 58 61 69 66 84 83 108 107 60 59 67 68 0 15 13 2 3 12 14 1 88 96 48 79 72 55 103 95 4 17 24 32 33 25 16 5 6 19 26 34 35 27 18 7 89 97 49 78 73 54 102 94 8 21 28 36 37 29 20 9 90 98 50 77 74 53 101 93 92 100 52 75 76 51 99 91 11 22 31 39 38 30 23 10 +48 73 72 49 56 65 57 64 4 18 6 16 79 54 55 78 71 62 70 63 17 7 19 5 28 38 30 36 82 107 84 109 37 31 39 29 106 83 108 85 90 99 92 101 91 98 93 100 88 103 40 44 42 46 96 95 24 26 80 111 81 110 32 34 33 35 104 87 105 86 25 27 89 102 43 47 41 45 97 94 58 60 8 20 10 22 66 68 0 12 50 52 51 53 2 14 3 15 74 76 75 77 1 13 59 61 11 23 9 21 67 69 +48 78 79 49 24 34 26 32 80 110 81 111 72 54 55 73 33 27 35 25 104 86 105 87 58 68 60 66 8 22 10 20 69 59 67 61 21 11 23 9 90 100 91 101 92 98 93 99 88 103 40 42 44 46 96 95 56 57 4 16 6 18 64 65 71 70 17 5 19 7 63 62 89 102 43 41 47 45 97 94 28 30 82 109 84 107 36 38 0 12 50 51 52 53 2 14 13 1 77 76 75 74 15 3 31 29 83 108 85 106 39 37 +40 41 42 43 24 25 33 32 4 5 17 16 44 45 46 47 26 27 35 34 6 7 19 18 28 29 37 36 8 9 21 20 30 31 39 38 10 11 23 22 0 1 13 12 3 2 14 15 88 103 48 79 72 55 96 95 56 71 80 111 104 87 64 63 57 70 81 110 105 86 65 62 89 102 49 78 73 54 97 94 58 69 82 109 106 85 66 61 90 101 50 77 74 53 98 93 91 100 51 76 75 52 99 92 59 68 83 108 107 84 67 60 +40 47 44 43 56 63 71 64 80 87 104 111 42 45 46 41 57 62 70 65 81 86 105 110 58 61 69 66 82 85 106 109 60 59 67 68 84 83 108 107 0 15 3 12 13 2 14 1 88 103 48 72 79 55 96 95 24 33 4 16 17 5 32 25 26 35 6 18 19 7 34 27 89 102 49 73 78 54 97 94 28 37 8 20 21 9 36 29 90 101 50 74 77 53 98 93 92 99 52 76 75 51 100 91 31 38 11 23 22 10 39 30 +48 73 72 49 4 18 16 6 56 65 64 57 79 54 55 78 17 7 5 19 71 62 63 70 82 107 109 84 28 38 36 30 106 83 85 108 37 31 29 39 90 99 98 91 101 92 93 100 40 42 88 96 103 95 44 46 24 32 80 81 111 110 26 34 33 25 104 105 87 86 35 27 43 41 89 97 102 94 47 45 58 66 8 10 20 22 60 68 50 51 0 2 12 14 52 53 74 75 3 1 15 13 76 77 59 67 11 9 23 21 61 69 +48 78 79 49 24 34 32 26 80 110 111 81 72 54 55 73 33 27 25 35 104 86 87 105 58 68 66 60 8 22 20 10 69 59 61 67 21 11 9 23 90 100 101 91 98 92 93 99 40 42 88 103 96 95 44 46 4 16 56 57 64 65 6 18 17 5 71 70 63 62 19 7 43 41 89 102 97 94 47 45 82 109 28 30 36 38 84 107 50 51 0 12 2 14 52 53 77 76 13 1 15 3 75 74 83 108 31 29 39 37 85 106 +88 97 96 89 4 19 17 6 80 105 104 81 103 94 95 102 16 7 5 18 111 86 87 110 58 67 69 60 28 39 37 30 66 59 61 68 36 31 29 38 50 75 74 51 77 52 53 76 40 42 48 72 79 55 44 46 24 33 56 57 71 70 26 35 32 25 64 65 63 62 34 27 43 41 49 73 78 54 47 45 82 106 8 10 21 23 84 108 90 91 0 3 13 14 92 93 98 99 2 1 15 12 100 101 83 107 11 9 22 20 85 109 +88 102 103 89 24 35 33 26 56 70 71 57 96 94 95 97 32 27 25 34 64 62 63 65 82 108 106 84 8 23 21 10 109 83 85 107 20 11 9 22 50 76 77 51 74 52 53 75 40 42 48 79 72 55 44 46 4 17 80 81 104 105 6 19 16 5 111 110 87 86 18 7 43 41 49 78 73 54 47 45 58 69 28 30 37 39 60 67 90 91 0 13 3 14 92 93 101 100 12 1 15 2 99 98 59 68 31 29 38 36 61 66 +48 73 72 49 56 65 64 57 4 18 16 6 79 54 55 78 71 62 63 70 17 7 5 19 28 38 36 30 82 107 109 84 37 31 29 39 106 83 85 108 90 99 101 92 98 91 93 100 40 44 88 103 96 95 42 46 80 111 24 26 32 34 81 110 104 87 33 35 25 27 105 86 43 47 89 102 97 94 41 45 8 20 58 60 66 68 10 22 50 52 0 12 2 14 51 53 74 76 3 15 1 13 75 77 11 23 59 61 67 69 9 21 +48 78 79 49 80 110 111 81 24 34 32 26 72 54 55 73 104 86 87 105 33 27 25 35 8 22 20 10 58 68 66 60 21 11 9 23 69 59 61 67 90 100 98 92 101 91 93 99 40 44 88 96 103 95 42 46 56 64 4 6 16 18 57 65 71 63 17 19 5 7 70 62 43 47 89 97 102 94 41 45 28 36 82 84 109 107 30 38 50 52 0 2 12 14 51 53 77 75 13 15 1 3 76 74 31 39 83 85 108 106 29 37 +88 97 96 89 80 105 104 81 4 19 17 6 103 94 95 102 111 86 87 110 16 7 5 18 28 39 37 30 58 67 69 60 36 31 29 38 66 59 61 68 50 75 77 52 74 51 53 76 40 44 48 79 72 55 42 46 56 71 24 26 33 35 57 70 64 63 32 34 25 27 65 62 43 47 49 78 73 54 41 45 8 21 82 84 106 108 10 23 90 92 0 13 3 14 91 93 98 100 2 15 1 12 99 101 11 22 83 85 107 109 9 20 +88 102 103 89 56 70 71 57 24 35 33 26 96 94 95 97 64 62 63 65 32 27 25 34 8 23 21 10 82 108 106 84 20 11 9 22 109 83 85 107 50 76 74 52 77 51 53 75 40 44 48 72 79 55 42 46 80 104 4 6 17 19 81 105 111 87 16 18 5 7 110 86 43 47 49 73 78 54 41 45 28 37 58 60 69 67 30 39 90 92 0 3 13 14 91 93 101 99 12 15 1 2 100 98 31 38 59 61 68 66 29 36 +80 110 81 111 48 78 49 79 24 34 32 26 104 86 105 87 72 54 73 55 33 27 25 35 8 22 11 21 90 100 98 92 10 20 9 23 91 101 99 93 58 68 66 60 59 69 67 61 4 6 88 96 89 97 17 19 56 64 40 44 43 47 71 63 57 65 42 46 41 45 70 62 16 18 103 95 102 94 5 7 0 2 82 84 83 85 13 15 50 52 28 36 31 39 77 75 51 53 30 38 29 37 76 74 12 14 109 107 108 106 1 3 +88 95 96 103 48 55 72 79 40 46 42 44 89 94 97 102 49 54 73 78 43 45 41 47 0 14 3 13 90 93 91 92 2 12 1 15 98 101 99 100 50 53 51 52 74 77 75 76 4 6 80 81 104 105 17 19 56 57 24 26 33 35 71 70 64 65 32 34 25 27 63 62 16 18 111 110 87 86 5 7 8 10 82 84 106 108 21 23 58 60 28 30 37 39 69 67 66 68 36 38 29 31 61 59 20 22 109 107 85 83 9 11 +88 102 89 103 56 70 57 71 24 35 33 26 96 94 97 95 64 62 65 63 32 27 25 34 8 23 10 21 82 108 106 84 11 20 9 22 83 109 107 85 50 76 74 52 51 77 75 53 4 6 80 104 81 105 17 19 48 72 40 44 42 46 79 55 49 73 43 47 41 45 78 54 16 18 111 87 110 86 5 7 0 3 90 92 91 93 13 14 58 60 28 37 30 39 69 67 59 61 31 38 29 36 68 66 12 15 101 99 100 98 1 2 +80 87 104 111 56 63 64 71 40 47 43 44 81 86 105 110 57 62 65 70 42 45 41 46 0 15 2 13 82 85 83 84 3 12 1 14 106 109 107 108 58 61 59 60 66 69 67 68 4 6 88 89 96 97 17 19 48 49 24 26 32 34 79 78 72 73 33 35 25 27 55 54 16 18 103 102 95 94 5 7 8 11 90 92 98 100 21 22 50 52 28 31 36 39 77 75 74 76 37 38 29 30 53 51 20 23 101 99 93 91 9 10 +4 18 6 16 48 73 49 72 56 65 64 57 17 7 19 5 79 54 78 55 71 62 63 70 82 107 83 106 90 99 98 91 84 109 85 108 92 101 100 93 28 38 36 30 31 37 39 29 80 81 88 96 89 97 104 105 24 32 40 42 43 41 33 25 26 34 44 46 47 45 35 27 111 110 103 95 102 94 87 86 0 2 8 10 11 9 3 1 50 51 58 66 59 67 74 75 52 53 60 68 61 69 76 77 12 14 20 22 23 21 15 13 +88 95 96 103 48 55 79 72 40 46 44 42 89 94 97 102 49 54 78 73 43 45 47 41 0 14 13 3 90 93 92 91 2 12 15 1 98 101 100 99 50 53 52 51 77 74 75 76 80 81 4 6 17 19 104 105 24 26 56 57 71 70 33 35 32 34 64 65 63 62 25 27 111 110 16 18 5 7 87 86 82 84 8 10 21 23 106 108 28 30 58 60 69 67 37 39 36 38 66 68 61 59 29 31 109 107 20 22 9 11 85 83 +88 102 89 103 24 35 26 33 56 70 71 57 96 94 97 95 32 27 34 25 64 62 63 65 82 108 84 106 8 23 21 10 83 109 85 107 11 20 22 9 50 76 77 51 52 74 75 53 80 81 4 17 6 19 104 105 48 79 40 42 44 46 72 55 49 78 43 41 47 45 73 54 111 110 16 5 18 7 87 86 0 13 90 91 92 93 3 14 28 30 58 69 60 67 37 39 31 29 59 68 61 66 38 36 12 1 101 100 99 98 15 2 +4 5 17 16 24 25 32 33 40 41 43 42 6 7 19 18 26 27 34 35 44 45 47 46 0 1 2 3 8 9 11 10 13 12 15 14 21 20 22 23 28 29 31 30 36 37 39 38 80 81 88 89 96 97 104 105 48 49 56 57 64 65 72 73 79 78 71 70 63 62 55 54 111 110 103 102 95 94 87 86 82 83 90 91 98 99 106 107 50 51 58 59 66 67 74 75 77 76 69 68 61 60 53 52 109 108 101 100 93 92 85 84 +4 18 6 16 48 73 72 49 56 65 57 64 17 7 19 5 79 54 55 78 71 62 70 63 82 107 106 83 90 99 91 98 84 109 108 85 92 101 93 100 28 38 30 36 37 31 39 29 88 96 80 81 104 105 89 97 40 42 24 32 33 25 43 41 44 46 26 34 35 27 47 45 103 95 111 110 87 86 102 94 8 10 0 2 3 1 11 9 58 66 50 51 74 75 59 67 60 68 52 53 76 77 61 69 20 22 12 14 15 13 23 21 +80 110 81 111 48 78 79 49 24 34 26 32 104 86 105 87 72 54 55 73 33 27 35 25 8 22 21 11 90 100 92 98 10 20 23 9 91 101 93 99 58 68 60 66 69 59 67 61 88 96 4 6 17 19 89 97 40 44 56 64 71 63 43 47 42 46 57 65 70 62 41 45 103 95 16 18 5 7 102 94 82 84 0 2 13 15 83 85 28 36 50 52 77 75 31 39 30 38 51 53 76 74 29 37 109 107 12 14 1 3 108 106 +4 5 17 16 40 41 42 43 24 25 33 32 6 7 19 18 44 45 46 47 26 27 35 34 8 9 10 11 0 1 3 2 21 20 23 22 13 12 14 15 28 29 37 36 30 31 39 38 88 96 80 104 81 105 89 97 48 72 56 64 57 65 49 73 79 55 71 63 70 62 78 54 103 95 111 87 110 86 102 94 82 106 90 98 91 99 83 107 58 66 50 74 51 75 59 67 69 61 77 53 76 52 68 60 109 85 101 93 100 92 108 84 +80 87 104 111 40 47 44 43 56 63 71 64 81 86 105 110 42 45 46 41 57 62 70 65 82 85 84 83 0 15 13 2 106 109 108 107 3 12 14 1 58 61 69 66 60 59 67 68 88 96 4 17 6 19 89 97 48 79 24 32 26 34 49 78 72 55 33 25 35 27 73 54 103 95 16 5 18 7 102 94 8 21 90 98 92 100 11 22 28 36 50 77 52 75 31 39 37 29 74 53 76 51 38 30 20 9 101 93 99 91 23 10 +4 18 6 16 56 65 57 64 48 73 72 49 17 7 19 5 71 62 70 63 79 54 55 78 90 99 91 98 82 107 106 83 92 101 93 100 84 109 108 85 28 38 37 31 30 36 39 29 88 89 80 104 81 105 96 97 24 33 40 43 42 41 32 25 26 35 44 47 46 45 34 27 103 102 111 87 110 86 95 94 0 3 8 11 10 9 2 1 58 59 50 74 51 75 66 67 60 61 52 76 53 77 68 69 12 15 20 23 22 21 14 13 +80 110 81 111 24 34 26 32 48 78 79 49 104 86 105 87 33 27 35 25 72 54 55 73 90 100 92 98 8 22 21 11 91 101 93 99 10 20 23 9 58 68 69 59 60 66 67 61 88 89 4 17 6 19 96 97 56 71 40 43 44 47 64 63 57 70 42 41 46 45 65 62 103 102 16 5 18 7 95 94 0 13 82 83 84 85 2 15 28 31 50 77 52 75 36 39 30 29 51 76 53 74 38 37 12 1 109 108 107 106 14 3 +4 5 17 16 24 25 33 32 40 41 42 43 6 7 19 18 26 27 35 34 44 45 46 47 0 1 3 2 8 9 10 11 13 12 14 15 21 20 23 22 28 29 30 31 37 36 39 38 88 89 80 81 104 105 96 97 56 57 48 49 72 73 64 65 71 70 79 78 55 54 63 62 103 102 111 110 87 86 95 94 90 91 82 83 106 107 98 99 58 59 50 51 74 75 66 67 69 68 77 76 53 52 61 60 101 100 109 108 85 84 93 92 +80 87 104 111 56 63 71 64 40 47 44 43 81 86 105 110 57 62 70 65 42 45 46 41 0 15 13 2 82 85 84 83 3 12 14 1 106 109 108 107 58 61 60 59 69 66 67 68 88 89 4 6 17 19 96 97 24 26 48 49 79 78 32 34 33 35 72 73 55 54 25 27 103 102 16 18 5 7 95 94 90 92 8 11 21 22 98 100 28 31 50 52 77 75 36 39 37 38 74 76 53 51 29 30 101 99 20 23 9 10 93 91 +80 110 81 111 24 34 32 26 48 78 49 79 104 86 105 87 33 27 25 35 72 54 73 55 90 100 98 92 8 22 11 21 91 101 99 93 10 20 9 23 58 68 59 69 66 60 67 61 4 17 88 89 96 97 6 19 40 43 56 71 64 63 44 47 42 41 57 70 65 62 46 45 16 5 103 102 95 94 18 7 82 83 0 13 2 15 84 85 50 77 28 31 36 39 52 75 51 76 30 29 38 37 53 74 109 108 12 1 14 3 107 106 +88 95 96 103 40 46 42 44 48 55 72 79 89 94 97 102 43 45 41 47 49 54 73 78 90 93 91 92 0 14 3 13 98 101 99 100 2 12 1 15 50 53 74 77 51 52 75 76 4 17 80 104 81 105 6 19 24 33 56 71 57 70 26 35 32 25 64 63 65 62 34 27 16 5 111 87 110 86 18 7 82 106 8 21 10 23 84 108 58 69 28 37 30 39 60 67 66 61 36 29 38 31 68 59 109 85 20 9 22 11 107 83 +88 102 89 103 24 35 33 26 56 70 57 71 96 94 97 95 32 27 25 34 64 62 65 63 82 108 106 84 8 23 10 21 83 109 107 85 11 20 9 22 50 76 51 77 74 52 75 53 4 17 80 81 104 105 6 19 40 42 48 79 72 55 44 46 43 41 49 78 73 54 47 45 16 5 111 110 87 86 18 7 90 91 0 13 3 14 92 93 58 69 28 30 37 39 60 67 59 68 31 29 38 36 61 66 101 100 12 1 15 2 99 98 +80 87 104 111 40 47 43 44 56 63 64 71 81 86 105 110 42 45 41 46 57 62 65 70 82 85 83 84 0 15 2 13 106 109 107 108 3 12 1 14 58 61 66 69 59 60 67 68 4 17 88 96 89 97 6 19 24 32 48 79 49 78 26 34 33 25 72 55 73 54 35 27 16 5 103 95 102 94 18 7 90 98 8 21 11 22 92 100 50 77 28 36 31 39 52 75 74 53 37 29 38 30 76 51 101 93 20 9 23 10 99 91 +4 18 6 16 56 65 64 57 48 73 49 72 17 7 19 5 71 62 63 70 79 54 78 55 90 99 98 91 82 107 83 106 92 101 100 93 84 109 85 108 28 38 31 37 36 30 39 29 80 104 88 89 96 97 81 105 40 43 24 33 32 25 42 41 44 47 26 35 34 27 46 45 111 87 103 102 95 94 110 86 8 11 0 3 2 1 10 9 50 74 58 59 66 67 51 75 52 76 60 61 68 69 53 77 20 23 12 15 14 13 22 21 +88 95 96 103 40 46 44 42 48 55 79 72 89 94 97 102 43 45 47 41 49 54 78 73 90 93 92 91 0 14 13 3 98 101 100 99 2 12 15 1 50 53 77 74 52 51 75 76 80 104 4 17 6 19 81 105 56 71 24 33 26 35 57 70 64 63 32 25 34 27 65 62 111 87 16 5 18 7 110 86 8 21 82 106 84 108 10 23 28 37 58 69 60 67 30 39 36 29 66 61 68 59 38 31 20 9 109 85 107 83 22 11 +88 102 89 103 56 70 71 57 24 35 26 33 96 94 97 95 64 62 63 65 32 27 34 25 8 23 21 10 82 108 84 106 11 20 22 9 83 109 85 107 50 76 52 74 77 51 75 53 80 104 4 6 17 19 81 105 40 44 48 72 79 55 42 46 43 47 49 73 78 54 41 45 111 87 16 18 5 7 110 86 90 92 0 3 13 14 91 93 28 37 58 60 69 67 30 39 31 38 59 61 68 66 29 36 101 99 12 15 1 2 100 98 +4 5 17 16 40 41 43 42 24 25 32 33 6 7 19 18 44 45 47 46 26 27 34 35 8 9 11 10 0 1 2 3 21 20 22 23 13 12 15 14 28 29 36 37 31 30 39 38 80 104 88 96 89 97 81 105 56 64 48 72 49 73 57 65 71 63 79 55 78 54 70 62 111 87 103 95 102 94 110 86 90 98 82 106 83 107 91 99 50 74 58 66 59 67 51 75 77 53 69 61 68 60 76 52 101 93 109 85 108 84 100 92 +24 34 26 32 48 78 49 79 80 110 111 81 33 27 35 25 72 54 73 55 104 86 87 105 58 68 59 69 90 100 101 91 60 66 61 67 92 98 99 93 8 22 20 10 11 21 23 9 56 57 88 103 89 102 71 70 4 16 40 42 43 41 17 5 6 18 44 46 47 45 19 7 64 65 96 95 97 94 63 62 0 12 28 30 31 29 13 1 50 51 82 109 83 108 77 76 52 53 84 107 85 106 75 74 2 14 36 38 39 37 15 3 +88 95 103 96 48 55 72 79 40 46 44 42 89 94 102 97 49 54 73 78 43 45 47 41 0 14 3 13 90 93 92 91 12 2 15 1 101 98 99 100 50 53 52 51 74 77 76 75 56 57 24 26 33 35 71 70 4 6 80 81 104 105 17 19 16 18 111 110 87 86 5 7 64 65 32 34 25 27 63 62 58 60 28 30 37 39 69 67 8 10 82 84 106 108 21 23 20 22 109 107 85 83 9 11 66 68 36 38 29 31 61 59 +88 97 89 96 4 19 6 17 80 105 104 81 103 94 102 95 16 7 18 5 111 86 87 110 58 67 60 69 28 39 37 30 59 66 61 68 31 36 38 29 50 75 74 51 52 77 76 53 56 57 24 33 26 35 71 70 48 72 40 42 44 46 79 55 49 73 43 41 47 45 78 54 64 65 32 25 34 27 63 62 0 3 90 91 92 93 13 14 8 10 82 106 84 108 21 23 11 9 83 107 85 109 22 20 2 1 98 99 100 101 15 12 +24 25 33 32 4 5 16 17 40 41 43 42 26 27 35 34 6 7 18 19 44 45 47 46 0 1 12 13 28 29 31 30 3 2 15 14 37 36 38 39 8 9 11 10 20 21 23 22 56 57 88 89 103 102 71 70 48 49 80 81 111 110 79 78 72 73 104 105 87 86 55 54 64 65 96 97 95 94 63 62 58 59 90 91 101 100 69 68 50 51 82 83 109 108 77 76 74 75 106 107 85 84 53 52 66 67 98 99 93 92 61 60 +56 65 57 64 48 73 49 72 4 18 16 6 71 62 70 63 79 54 78 55 17 7 5 19 28 38 31 37 90 99 101 92 30 36 29 39 91 98 100 93 82 107 109 84 83 106 108 85 24 26 88 103 89 102 33 35 80 111 40 44 43 47 104 87 81 110 42 46 41 45 105 86 32 34 96 95 97 94 25 27 0 12 58 60 59 61 3 15 50 52 8 20 11 23 74 76 51 53 10 22 9 21 75 77 2 14 66 68 67 69 1 13 +88 95 103 96 48 55 79 72 40 46 42 44 89 94 102 97 49 54 78 73 43 45 41 47 0 14 13 3 90 93 91 92 12 2 1 15 101 98 100 99 50 53 51 52 77 74 76 75 24 26 56 57 71 70 33 35 80 81 4 6 17 19 104 105 111 110 16 18 5 7 87 86 32 34 64 65 63 62 25 27 28 30 58 60 69 67 37 39 82 84 8 10 21 23 106 108 109 107 20 22 9 11 85 83 36 38 66 68 61 59 29 31 +88 97 89 96 80 105 81 104 4 19 17 6 103 94 102 95 111 86 110 87 16 7 5 18 28 39 30 37 58 67 69 60 31 36 29 38 59 66 68 61 50 75 77 52 51 74 76 53 24 26 56 71 57 70 33 35 48 79 40 44 42 46 72 55 49 78 43 47 41 45 73 54 32 34 64 63 65 62 25 27 0 13 90 92 91 93 3 14 82 84 8 21 10 23 106 108 83 85 11 22 9 20 107 109 2 15 98 100 99 101 1 12 +56 63 71 64 80 87 111 104 40 47 43 44 57 62 70 65 81 86 110 105 42 45 41 46 0 15 12 3 58 61 59 60 13 2 1 14 69 66 68 67 82 85 83 84 109 106 108 107 24 26 88 89 103 102 33 35 48 49 4 6 16 18 72 73 79 78 17 19 5 7 55 54 32 34 96 97 95 94 25 27 28 31 90 92 101 99 37 38 50 52 8 11 20 23 74 76 77 75 21 22 9 10 53 51 36 39 98 100 93 91 29 30 +56 65 57 64 48 73 72 49 4 18 6 16 71 62 70 63 79 54 55 78 17 7 19 5 28 38 37 31 90 99 92 101 30 36 39 29 91 98 93 100 82 107 84 109 106 83 108 85 88 103 24 26 33 35 89 102 40 44 80 111 104 87 43 47 42 46 81 110 105 86 41 45 96 95 32 34 25 27 97 94 58 60 0 12 3 15 59 61 8 20 50 52 74 76 11 23 10 22 51 53 75 77 9 21 66 68 2 14 1 13 67 69 +24 34 26 32 48 78 79 49 80 110 81 111 33 27 35 25 72 54 55 73 104 86 105 87 58 68 69 59 90 100 91 101 60 66 67 61 92 98 93 99 8 22 10 20 21 11 23 9 88 103 56 57 71 70 89 102 40 42 4 16 17 5 43 41 44 46 6 18 19 7 47 45 96 95 64 65 63 62 97 94 28 30 0 12 13 1 31 29 82 109 50 51 77 76 83 108 84 107 52 53 75 74 85 106 36 38 2 14 15 3 39 37 +24 25 33 32 40 41 42 43 4 5 17 16 26 27 35 34 44 45 46 47 6 7 19 18 28 29 30 31 0 1 13 12 37 36 39 38 3 2 14 15 8 9 21 20 10 11 23 22 88 103 56 71 57 70 89 102 48 79 80 111 81 110 49 78 72 55 104 87 105 86 73 54 96 95 64 63 65 62 97 94 58 69 90 101 91 100 59 68 82 109 50 77 51 76 83 108 106 85 74 53 75 52 107 84 66 61 98 93 99 92 67 60 +56 63 71 64 40 47 44 43 80 87 104 111 57 62 70 65 42 45 46 41 81 86 105 110 58 61 60 59 0 15 3 12 69 66 67 68 13 2 14 1 82 85 106 109 84 83 108 107 88 103 24 33 26 35 89 102 48 72 4 16 6 18 49 73 79 55 17 5 19 7 78 54 96 95 32 25 34 27 97 94 28 37 90 101 92 99 31 38 8 20 50 74 52 76 11 23 21 9 77 53 75 51 22 10 36 29 98 93 100 91 39 30 +56 65 57 64 4 18 6 16 48 73 72 49 71 62 70 63 17 7 19 5 79 54 55 78 90 99 92 101 28 38 37 31 91 98 93 100 30 36 39 29 82 107 106 83 84 109 108 85 88 89 24 33 26 35 103 102 80 104 40 43 44 47 111 87 81 105 42 41 46 45 110 86 96 97 32 25 34 27 95 94 0 3 58 59 60 61 12 15 8 11 50 74 52 76 20 23 10 9 51 75 53 77 22 21 2 1 66 67 68 69 14 13 +24 34 26 32 80 110 81 111 48 78 79 49 33 27 35 25 104 86 105 87 72 54 55 73 90 100 91 101 58 68 69 59 92 98 93 99 60 66 67 61 8 22 21 11 10 20 23 9 88 89 56 71 57 70 103 102 4 17 40 43 42 41 16 5 6 19 44 47 46 45 18 7 96 97 64 63 65 62 95 94 0 13 28 31 30 29 12 1 82 83 50 77 51 76 109 108 84 85 52 75 53 74 107 106 2 15 36 39 38 37 14 3 +24 25 33 32 4 5 17 16 40 41 42 43 26 27 35 34 6 7 19 18 44 45 46 47 0 1 13 12 28 29 30 31 3 2 14 15 37 36 39 38 8 9 10 11 21 20 23 22 88 89 56 57 71 70 103 102 80 81 48 49 79 78 111 110 104 105 72 73 55 54 87 86 96 97 64 65 63 62 95 94 90 91 58 59 69 68 101 100 82 83 50 51 77 76 109 108 106 107 74 75 53 52 85 84 98 99 66 67 61 60 93 92 +56 63 71 64 80 87 104 111 40 47 44 43 57 62 70 65 81 86 105 110 42 45 46 41 0 15 3 12 58 61 60 59 13 2 14 1 69 66 67 68 82 85 84 83 106 109 108 107 88 89 24 26 33 35 103 102 4 6 48 49 72 73 16 18 17 19 79 78 55 54 5 7 96 97 32 34 25 27 95 94 90 92 28 31 37 38 101 99 8 11 50 52 74 76 20 23 21 22 77 75 53 51 9 10 98 100 36 39 29 30 93 91 +56 65 57 64 4 18 16 6 48 73 49 72 71 62 70 63 17 7 5 19 79 54 78 55 90 99 101 92 28 38 31 37 91 98 100 93 30 36 29 39 82 107 83 106 109 84 108 85 24 33 88 89 103 102 26 35 40 43 80 104 111 87 44 47 42 41 81 105 110 86 46 45 32 25 96 97 95 94 34 27 58 59 0 3 12 15 60 61 50 74 8 11 20 23 52 76 51 75 10 9 22 21 53 77 66 67 2 1 14 13 68 69 +88 95 103 96 40 46 42 44 48 55 79 72 89 94 102 97 43 45 41 47 49 54 78 73 90 93 91 92 0 14 13 3 101 98 100 99 12 2 1 15 50 53 77 74 51 52 76 75 24 33 56 71 57 70 26 35 4 17 80 104 81 105 6 19 16 5 111 87 110 86 18 7 32 25 64 63 65 62 34 27 58 69 28 37 30 39 60 67 82 106 8 21 10 23 84 108 109 85 20 9 22 11 107 83 66 61 36 29 38 31 68 59 +88 97 89 96 4 19 17 6 80 105 81 104 103 94 102 95 16 7 5 18 111 86 110 87 58 67 69 60 28 39 30 37 59 66 68 61 31 36 29 38 50 75 51 74 77 52 76 53 24 33 56 57 71 70 26 35 40 42 48 72 79 55 44 46 43 41 49 73 78 54 47 45 32 25 64 65 63 62 34 27 90 91 0 3 13 14 92 93 82 106 8 10 21 23 84 108 83 107 11 9 22 20 85 109 98 99 2 1 15 12 100 101 +56 63 71 64 40 47 43 44 80 87 111 104 57 62 70 65 42 45 41 46 81 86 110 105 58 61 59 60 0 15 12 3 69 66 68 67 13 2 1 14 82 85 109 106 83 84 108 107 24 33 88 103 89 102 26 35 4 16 48 72 49 73 6 18 17 5 79 55 78 54 19 7 32 25 96 95 97 94 34 27 90 101 28 37 31 38 92 99 50 74 8 20 11 23 52 76 77 53 21 9 22 10 75 51 98 93 36 29 39 30 100 91 +24 34 26 32 80 110 111 81 48 78 49 79 33 27 35 25 104 86 87 105 72 54 73 55 90 100 101 91 58 68 59 69 92 98 99 93 60 66 61 67 8 22 11 21 20 10 23 9 56 71 88 89 103 102 57 70 40 43 4 17 16 5 42 41 44 47 6 19 18 7 46 45 64 63 96 97 95 94 65 62 28 31 0 13 12 1 30 29 50 77 82 83 109 108 51 76 52 75 84 85 107 106 53 74 36 39 2 15 14 3 38 37 +88 95 103 96 40 46 44 42 48 55 72 79 89 94 102 97 43 45 47 41 49 54 73 78 90 93 92 91 0 14 3 13 101 98 99 100 12 2 15 1 50 53 74 77 52 51 76 75 56 71 24 33 26 35 57 70 80 104 4 17 6 19 81 105 111 87 16 5 18 7 110 86 64 63 32 25 34 27 65 62 28 37 58 69 60 67 30 39 8 21 82 106 84 108 10 23 20 9 109 85 107 83 22 11 36 29 66 61 68 59 38 31 +88 97 89 96 80 105 104 81 4 19 6 17 103 94 102 95 111 86 87 110 16 7 18 5 28 39 37 30 58 67 60 69 31 36 38 29 59 66 61 68 50 75 52 77 74 51 76 53 56 71 24 26 33 35 57 70 40 44 48 79 72 55 42 46 43 47 49 78 73 54 41 45 64 63 32 34 25 27 65 62 90 92 0 13 3 14 91 93 8 21 82 84 106 108 10 23 11 22 83 85 107 109 9 20 98 100 2 15 1 12 99 101 +24 25 33 32 40 41 43 42 4 5 16 17 26 27 35 34 44 45 47 46 6 7 18 19 28 29 31 30 0 1 12 13 37 36 38 39 3 2 15 14 8 9 20 21 11 10 23 22 56 71 88 103 89 102 57 70 80 111 48 79 49 78 81 110 104 87 72 55 73 54 105 86 64 63 96 95 97 94 65 62 90 101 58 69 59 68 91 100 50 77 82 109 83 108 51 76 74 53 106 85 107 84 75 52 98 93 66 61 67 60 99 92 +24 34 32 26 48 78 49 79 80 110 81 111 33 27 25 35 72 54 73 55 104 86 105 87 58 68 59 69 90 100 91 101 66 60 67 61 98 92 99 93 8 22 10 20 11 21 9 23 4 16 40 42 43 41 17 5 56 57 88 103 89 102 71 70 64 65 96 95 97 94 63 62 6 18 44 46 47 45 19 7 50 51 82 109 83 108 77 76 0 12 28 30 31 29 13 1 2 14 36 38 39 37 15 3 52 53 84 107 85 106 75 74 +40 46 42 44 48 55 72 79 88 95 96 103 43 45 41 47 49 54 73 78 89 94 97 102 50 53 74 77 90 93 98 101 51 52 75 76 91 92 99 100 0 14 2 12 3 13 1 15 4 16 24 32 33 25 17 5 56 64 80 111 104 87 71 63 57 65 81 110 105 86 70 62 6 18 26 34 35 27 19 7 58 66 82 109 106 85 69 61 8 20 28 36 37 29 21 9 10 22 30 38 39 31 23 11 60 68 84 107 108 83 67 59 +24 35 33 26 56 70 57 71 88 102 89 103 32 27 25 34 64 62 65 63 96 94 97 95 50 76 51 77 82 108 83 109 74 52 75 53 106 84 107 85 8 23 11 20 10 21 9 22 4 16 40 43 42 41 17 5 48 49 80 111 81 110 79 78 72 73 104 87 105 86 55 54 6 18 44 47 46 45 19 7 58 59 90 101 91 100 69 68 0 12 28 31 30 29 13 1 3 15 37 38 39 36 14 2 60 61 92 99 93 98 67 66 +40 47 43 44 56 63 64 71 80 87 104 111 42 45 41 46 57 62 65 70 81 86 105 110 58 61 66 69 82 85 106 109 59 60 67 68 83 84 107 108 0 15 3 12 2 13 1 14 4 16 24 33 32 25 17 5 48 72 88 103 96 95 79 55 49 73 89 102 97 94 78 54 6 18 26 35 34 27 19 7 50 74 90 101 98 93 77 53 8 20 28 37 36 29 21 9 11 23 31 38 39 30 22 10 52 76 92 99 100 91 75 51 +4 18 16 6 48 73 49 72 56 65 57 64 17 7 5 19 79 54 78 55 71 62 70 63 82 107 83 106 90 99 91 98 109 84 108 85 101 92 100 93 28 38 30 36 31 37 29 39 24 32 40 42 43 41 33 25 80 81 88 96 89 97 104 105 111 110 103 95 102 94 87 86 26 34 44 46 47 45 35 27 50 51 58 66 59 67 74 75 0 2 8 10 11 9 3 1 12 14 20 22 23 21 15 13 52 53 60 68 61 69 76 77 +40 46 42 44 48 55 79 72 88 95 103 96 43 45 41 47 49 54 78 73 89 94 102 97 50 53 77 74 90 93 101 98 51 52 76 75 91 92 100 99 0 14 12 2 13 3 1 15 24 32 4 16 17 5 33 25 80 111 56 64 71 63 104 87 81 110 57 65 70 62 105 86 26 34 6 18 19 7 35 27 82 109 58 66 69 61 106 85 28 36 8 20 21 9 37 29 30 38 10 22 23 11 39 31 84 107 60 68 67 59 108 83 +4 19 17 6 80 105 81 104 88 97 89 96 16 7 5 18 111 86 110 87 103 94 102 95 50 75 51 74 58 67 59 66 77 52 76 53 69 60 68 61 28 39 31 36 30 37 29 38 24 32 40 43 42 41 33 25 48 49 56 64 57 65 72 73 79 78 71 63 70 62 55 54 26 34 44 47 46 45 35 27 82 83 90 98 91 99 106 107 0 2 8 11 10 9 3 1 13 15 21 22 23 20 14 12 84 85 92 100 93 101 108 109 +40 47 43 44 80 87 111 104 56 63 71 64 42 45 41 46 81 86 110 105 57 62 70 65 82 85 109 106 58 61 69 66 83 84 108 107 59 60 68 67 0 15 13 2 12 3 1 14 24 32 4 17 16 5 33 25 48 79 88 96 103 95 72 55 49 78 89 97 102 94 73 54 26 34 6 19 18 7 35 27 50 77 90 98 101 93 74 53 28 36 8 21 20 9 37 29 31 39 11 22 23 10 38 30 52 75 92 100 99 91 76 51 +4 18 16 6 48 73 72 49 56 65 64 57 17 7 5 19 79 54 55 78 71 62 63 70 82 107 106 83 90 99 98 91 109 84 85 108 101 92 93 100 28 38 36 30 37 31 29 39 40 42 24 32 33 25 43 41 88 96 80 81 104 105 89 97 103 95 111 110 87 86 102 94 44 46 26 34 35 27 47 45 58 66 50 51 74 75 59 67 8 10 0 2 3 1 11 9 20 22 12 14 15 13 23 21 60 68 52 53 76 77 61 69 +24 34 32 26 48 78 79 49 80 110 111 81 33 27 25 35 72 54 55 73 104 86 87 105 58 68 69 59 90 100 101 91 66 60 61 67 98 92 93 99 8 22 20 10 21 11 9 23 40 42 4 16 17 5 43 41 88 103 56 57 71 70 89 102 96 95 64 65 63 62 97 94 44 46 6 18 19 7 47 45 82 109 50 51 77 76 83 108 28 30 0 12 13 1 31 29 36 38 2 14 15 3 39 37 84 107 52 53 75 74 85 106 +4 19 17 6 88 97 96 89 80 105 104 81 16 7 5 18 103 94 95 102 111 86 87 110 58 67 66 59 50 75 74 51 69 60 61 68 77 52 53 76 28 39 37 30 36 31 29 38 40 42 24 33 32 25 43 41 48 72 56 57 64 65 49 73 79 55 71 70 63 62 78 54 44 46 26 35 34 27 47 45 82 106 90 91 98 99 83 107 8 10 0 3 2 1 11 9 21 23 13 14 15 12 22 20 84 108 92 93 100 101 85 109 +24 35 33 26 88 102 103 89 56 70 71 57 32 27 25 34 96 94 95 97 64 62 63 65 82 108 109 83 50 76 77 51 106 84 85 107 74 52 53 75 8 23 21 10 20 11 9 22 40 42 4 17 16 5 43 41 48 79 80 81 111 110 49 78 72 55 104 105 87 86 73 54 44 46 6 19 18 7 47 45 58 69 90 91 101 100 59 68 28 30 0 13 12 1 31 29 37 39 3 14 15 2 38 36 60 67 92 93 99 98 61 66 +24 34 32 26 80 110 81 111 48 78 49 79 33 27 25 35 104 86 105 87 72 54 73 55 90 100 91 101 58 68 59 69 98 92 99 93 66 60 67 61 8 22 11 21 10 20 9 23 4 17 40 43 42 41 16 5 88 89 56 71 57 70 103 102 96 97 64 63 65 62 95 94 6 19 44 47 46 45 18 7 82 83 50 77 51 76 109 108 0 13 28 31 30 29 12 1 2 15 36 39 38 37 14 3 84 85 52 75 53 74 107 106 +40 46 42 44 88 95 96 103 48 55 72 79 43 45 41 47 89 94 97 102 49 54 73 78 90 93 98 101 50 53 74 77 91 92 99 100 51 52 75 76 0 14 3 13 2 12 1 15 4 17 24 33 32 25 16 5 80 104 56 71 64 63 111 87 81 105 57 70 65 62 110 86 6 19 26 35 34 27 18 7 82 106 58 69 66 61 109 85 8 21 28 37 36 29 20 9 10 23 30 39 38 31 22 11 84 108 60 67 68 59 107 83 +24 35 33 26 88 102 89 103 56 70 57 71 32 27 25 34 96 94 97 95 64 62 65 63 82 108 83 109 50 76 51 77 106 84 107 85 74 52 75 53 8 23 10 21 11 20 9 22 4 17 40 42 43 41 16 5 80 81 48 79 49 78 111 110 104 105 72 55 73 54 87 86 6 19 44 46 47 45 18 7 90 91 58 69 59 68 101 100 0 13 28 30 31 29 12 1 3 14 37 39 38 36 15 2 92 93 60 67 61 66 99 98 +40 47 43 44 80 87 104 111 56 63 64 71 42 45 41 46 81 86 105 110 57 62 65 70 82 85 106 109 58 61 66 69 83 84 107 108 59 60 67 68 0 15 2 13 3 12 1 14 4 17 24 32 33 25 16 5 88 96 48 79 72 55 103 95 89 97 49 78 73 54 102 94 6 19 26 34 35 27 18 7 90 98 50 77 74 53 101 93 8 21 28 36 37 29 20 9 11 22 31 39 38 30 23 10 92 100 52 75 76 51 99 91 +4 18 16 6 56 65 57 64 48 73 49 72 17 7 5 19 71 62 70 63 79 54 78 55 90 99 91 98 82 107 83 106 101 92 100 93 109 84 108 85 28 38 31 37 30 36 29 39 24 33 40 43 42 41 32 25 88 89 80 104 81 105 96 97 103 102 111 87 110 86 95 94 26 35 44 47 46 45 34 27 58 59 50 74 51 75 66 67 0 3 8 11 10 9 2 1 12 15 20 23 22 21 14 13 60 61 52 76 53 77 68 69 +40 46 42 44 88 95 103 96 48 55 79 72 43 45 41 47 89 94 102 97 49 54 78 73 90 93 101 98 50 53 77 74 91 92 100 99 51 52 76 75 0 14 13 3 12 2 1 15 24 33 4 17 16 5 32 25 56 71 80 104 111 87 64 63 57 70 81 105 110 86 65 62 26 35 6 19 18 7 34 27 58 69 82 106 109 85 66 61 28 37 8 21 20 9 36 29 30 39 10 23 22 11 38 31 60 67 84 108 107 83 68 59 +4 19 17 6 88 97 89 96 80 105 81 104 16 7 5 18 103 94 102 95 111 86 110 87 58 67 59 66 50 75 51 74 69 60 68 61 77 52 76 53 28 39 30 37 31 36 29 38 24 33 40 42 43 41 32 25 56 57 48 72 49 73 64 65 71 70 79 55 78 54 63 62 26 35 44 46 47 45 34 27 90 91 82 106 83 107 98 99 0 3 8 10 11 9 2 1 13 14 21 23 22 20 15 12 92 93 84 108 85 109 100 101 +40 47 43 44 56 63 71 64 80 87 111 104 42 45 41 46 57 62 70 65 81 86 110 105 58 61 69 66 82 85 109 106 59 60 68 67 83 84 108 107 0 15 12 3 13 2 1 14 24 33 4 16 17 5 32 25 88 103 48 72 79 55 96 95 89 102 49 73 78 54 97 94 26 35 6 18 19 7 34 27 90 101 50 74 77 53 98 93 28 37 8 20 21 9 36 29 31 38 11 23 22 10 39 30 92 99 52 76 75 51 100 91 +4 18 16 6 56 65 64 57 48 73 72 49 17 7 5 19 71 62 63 70 79 54 55 78 90 99 98 91 82 107 106 83 101 92 93 100 109 84 85 108 28 38 37 31 36 30 29 39 40 43 24 33 32 25 42 41 80 104 88 89 96 97 81 105 111 87 103 102 95 94 110 86 44 47 26 35 34 27 46 45 50 74 58 59 66 67 51 75 8 11 0 3 2 1 10 9 20 23 12 15 14 13 22 21 52 76 60 61 68 69 53 77 +24 34 32 26 80 110 111 81 48 78 79 49 33 27 25 35 104 86 87 105 72 54 55 73 90 100 101 91 58 68 69 59 98 92 93 99 66 60 61 67 8 22 21 11 20 10 9 23 40 43 4 17 16 5 42 41 56 71 88 89 103 102 57 70 64 63 96 97 95 94 65 62 44 47 6 19 18 7 46 45 50 77 82 83 109 108 51 76 28 31 0 13 12 1 30 29 36 39 2 15 14 3 38 37 52 75 84 85 107 106 53 74 +4 19 17 6 80 105 104 81 88 97 96 89 16 7 5 18 111 86 87 110 103 94 95 102 50 75 74 51 58 67 66 59 77 52 53 76 69 60 61 68 28 39 36 31 37 30 29 38 40 43 24 32 33 25 42 41 56 64 48 49 72 73 57 65 71 63 79 78 55 54 70 62 44 47 26 34 35 27 46 45 90 98 82 83 106 107 91 99 8 11 0 2 3 1 10 9 21 22 13 15 14 12 23 20 92 100 84 85 108 109 93 101 +24 35 33 26 56 70 71 57 88 102 103 89 32 27 25 34 64 62 63 65 96 94 95 97 50 76 77 51 82 108 109 83 74 52 53 75 106 84 85 107 8 23 20 11 21 10 9 22 40 43 4 16 17 5 42 41 80 111 48 49 79 78 81 110 104 87 72 73 55 54 105 86 44 47 6 18 19 7 46 45 90 101 58 59 69 68 91 100 28 31 0 12 13 1 30 29 37 38 3 15 14 2 39 36 92 99 60 61 67 66 93 98 +80 110 111 81 48 78 49 79 24 34 26 32 104 86 87 105 72 54 73 55 33 27 35 25 8 22 11 21 90 100 92 98 20 10 23 9 101 91 99 93 58 68 60 66 59 69 61 67 56 64 40 44 43 47 71 63 4 6 88 96 89 97 17 19 16 18 103 95 102 94 5 7 57 65 42 46 41 45 70 62 50 52 28 36 31 39 77 75 0 2 82 84 83 85 13 15 12 14 109 107 108 106 1 3 51 53 30 38 29 37 76 74 +40 46 44 42 48 55 72 79 88 95 103 96 43 45 47 41 49 54 73 78 89 94 102 97 50 53 74 77 90 93 101 98 52 51 76 75 92 91 99 100 0 14 12 2 3 13 15 1 56 64 80 111 104 87 71 63 4 16 24 32 33 25 17 5 6 18 26 34 35 27 19 7 57 65 81 110 105 86 70 62 8 20 28 36 37 29 21 9 58 66 82 109 106 85 69 61 60 68 84 107 108 83 67 59 10 22 30 38 39 31 23 11 +80 105 104 81 4 19 6 17 88 97 89 96 111 86 87 110 16 7 18 5 103 94 102 95 50 75 52 77 28 39 31 36 74 51 76 53 37 30 38 29 58 67 59 66 60 69 61 68 56 64 40 43 44 47 71 63 48 49 24 32 26 34 79 78 72 73 33 25 35 27 55 54 57 65 42 41 46 45 70 62 8 11 90 98 92 100 21 22 0 2 82 83 84 85 13 15 3 1 106 107 108 109 14 12 10 9 91 99 93 101 23 20 +40 41 43 42 4 5 16 17 24 25 33 32 44 45 47 46 6 7 18 19 26 27 35 34 8 9 20 21 28 29 37 36 11 10 23 22 31 30 38 39 0 1 3 2 12 13 15 14 56 64 80 104 111 87 71 63 48 72 88 96 103 95 79 55 49 73 89 97 102 94 78 54 57 65 81 105 110 86 70 62 50 74 90 98 101 93 77 53 58 66 82 106 109 85 69 61 59 67 83 107 108 84 68 60 51 75 91 99 100 92 76 52 +56 65 64 57 48 73 49 72 4 18 6 16 71 62 63 70 79 54 78 55 17 7 19 5 28 38 31 37 90 99 92 101 36 30 39 29 98 91 100 93 82 107 84 109 83 106 85 108 80 111 40 44 43 47 104 87 24 26 88 103 89 102 33 35 32 34 96 95 97 94 25 27 81 110 42 46 41 45 105 86 50 52 8 20 11 23 74 76 0 12 58 60 59 61 3 15 2 14 66 68 67 69 1 13 51 53 10 22 9 21 75 77 +40 46 44 42 48 55 79 72 88 95 96 103 43 45 47 41 49 54 78 73 89 94 97 102 50 53 77 74 90 93 98 101 52 51 75 76 92 91 100 99 0 14 2 12 13 3 15 1 80 111 56 64 71 63 104 87 24 32 4 16 17 5 33 25 26 34 6 18 19 7 35 27 81 110 57 65 70 62 105 86 28 36 8 20 21 9 37 29 82 109 58 66 69 61 106 85 84 107 60 68 67 59 108 83 30 38 10 22 23 11 39 31 +56 70 71 57 24 35 26 33 88 102 89 103 64 62 63 65 32 27 34 25 96 94 97 95 50 76 52 74 8 23 11 20 77 51 75 53 21 10 22 9 82 108 83 109 84 106 85 107 80 111 40 43 44 47 104 87 48 49 4 16 6 18 72 73 79 78 17 5 19 7 55 54 81 110 42 41 46 45 105 86 28 31 90 101 92 99 37 38 0 12 58 59 60 61 3 15 13 1 69 68 67 66 14 2 30 29 91 100 93 98 39 36 +40 41 43 42 24 25 32 33 4 5 17 16 44 45 47 46 26 27 34 35 6 7 19 18 28 29 36 37 8 9 21 20 31 30 39 38 11 10 22 23 0 1 13 12 2 3 15 14 80 111 56 71 64 63 104 87 48 79 88 103 96 95 72 55 49 78 89 102 97 94 73 54 81 110 57 70 65 62 105 86 50 77 90 101 98 93 74 53 82 109 58 69 66 61 106 85 83 108 59 68 67 60 107 84 51 76 91 100 99 92 75 52 +56 65 64 57 48 73 72 49 4 18 16 6 71 62 63 70 79 54 55 78 17 7 5 19 28 38 37 31 90 99 101 92 36 30 29 39 98 91 93 100 82 107 109 84 106 83 85 108 40 44 80 111 104 87 43 47 88 103 24 26 33 35 89 102 96 95 32 34 25 27 97 94 42 46 81 110 105 86 41 45 8 20 50 52 74 76 11 23 58 60 0 12 3 15 59 61 66 68 2 14 1 13 67 69 10 22 51 53 75 77 9 21 +80 110 111 81 48 78 79 49 24 34 32 26 104 86 87 105 72 54 55 73 33 27 25 35 8 22 21 11 90 100 98 92 20 10 9 23 101 91 93 99 58 68 66 60 69 59 61 67 40 44 56 64 71 63 43 47 88 96 4 6 17 19 89 97 103 95 16 18 5 7 102 94 42 46 57 65 70 62 41 45 28 36 50 52 77 75 31 39 82 84 0 2 13 15 83 85 109 107 12 14 1 3 108 106 30 38 51 53 76 74 29 37 +80 105 104 81 88 97 96 89 4 19 17 6 111 86 87 110 103 94 95 102 16 7 5 18 28 39 36 31 50 75 77 52 37 30 29 38 74 51 53 76 58 67 69 60 66 59 61 68 40 44 56 71 64 63 43 47 48 79 24 26 32 34 49 78 72 55 33 35 25 27 73 54 42 46 57 70 65 62 41 45 8 21 90 92 98 100 11 22 82 84 0 13 2 15 83 85 106 108 3 14 1 12 107 109 10 23 91 93 99 101 9 20 +56 70 71 57 88 102 103 89 24 35 33 26 64 62 63 65 96 94 95 97 32 27 25 34 8 23 20 11 50 76 74 52 21 10 9 22 77 51 53 75 82 108 106 84 109 83 85 107 40 44 80 104 111 87 43 47 48 72 4 6 16 18 49 73 79 55 17 19 5 7 78 54 42 46 81 105 110 86 41 45 28 37 90 92 101 99 31 38 58 60 0 3 12 15 59 61 69 67 13 14 1 2 68 66 30 39 91 93 100 98 29 36 +56 65 64 57 4 18 6 16 48 73 49 72 71 62 63 70 17 7 19 5 79 54 78 55 90 99 92 101 28 38 31 37 98 91 100 93 36 30 39 29 82 107 83 106 84 109 85 108 80 104 40 43 44 47 111 87 88 89 24 33 26 35 103 102 96 97 32 25 34 27 95 94 81 105 42 41 46 45 110 86 8 11 50 74 52 76 20 23 0 3 58 59 60 61 12 15 2 1 66 67 68 69 14 13 10 9 51 75 53 77 22 21 +40 46 44 42 88 95 96 103 48 55 79 72 43 45 47 41 89 94 97 102 49 54 78 73 90 93 98 101 50 53 77 74 92 91 100 99 52 51 75 76 0 14 13 3 2 12 15 1 80 104 56 71 64 63 111 87 4 17 24 33 32 25 16 5 6 19 26 35 34 27 18 7 81 105 57 70 65 62 110 86 8 21 28 37 36 29 20 9 82 106 58 69 66 61 109 85 84 108 60 67 68 59 107 83 10 23 30 39 38 31 22 11 +56 70 71 57 88 102 89 103 24 35 26 33 64 62 63 65 96 94 97 95 32 27 34 25 8 23 11 20 50 76 52 74 21 10 22 9 77 51 75 53 82 108 84 106 83 109 85 107 80 104 40 44 43 47 111 87 4 6 48 72 49 73 16 18 17 19 79 55 78 54 5 7 81 105 42 46 41 45 110 86 90 92 28 37 31 38 101 99 0 3 58 60 59 61 12 15 13 14 69 67 68 66 1 2 91 93 30 39 29 36 100 98 +40 41 43 42 4 5 17 16 24 25 32 33 44 45 47 46 6 7 19 18 26 27 34 35 8 9 21 20 28 29 36 37 11 10 22 23 31 30 39 38 0 1 2 3 13 12 15 14 80 104 56 64 71 63 111 87 88 96 48 72 79 55 103 95 89 97 49 73 78 54 102 94 81 105 57 65 70 62 110 86 90 98 50 74 77 53 101 93 82 106 58 66 69 61 109 85 83 107 59 67 68 60 108 84 91 99 51 75 76 52 100 92 +80 110 111 81 24 34 26 32 48 78 49 79 104 86 87 105 33 27 35 25 72 54 73 55 90 100 92 98 8 22 11 21 101 91 99 93 20 10 23 9 58 68 59 69 60 66 61 67 56 71 40 43 44 47 64 63 88 89 4 17 6 19 96 97 103 102 16 5 18 7 95 94 57 70 42 41 46 45 65 62 28 31 50 77 52 75 36 39 0 13 82 83 84 85 2 15 12 1 109 108 107 106 14 3 30 29 51 76 53 74 38 37 +40 46 44 42 88 95 103 96 48 55 72 79 43 45 47 41 89 94 102 97 49 54 73 78 90 93 101 98 50 53 74 77 92 91 99 100 52 51 76 75 0 14 3 13 12 2 15 1 56 71 80 104 111 87 64 63 24 33 4 17 16 5 32 25 26 35 6 19 18 7 34 27 57 70 81 105 110 86 65 62 28 37 8 21 20 9 36 29 58 69 82 106 109 85 66 61 60 67 84 108 107 83 68 59 30 39 10 23 22 11 38 31 +80 105 104 81 88 97 89 96 4 19 6 17 111 86 87 110 103 94 102 95 16 7 18 5 28 39 31 36 50 75 52 77 37 30 38 29 74 51 76 53 58 67 60 69 59 66 61 68 56 71 40 44 43 47 64 63 24 26 48 79 49 78 32 34 33 35 72 55 73 54 25 27 57 70 42 46 41 45 65 62 90 92 8 21 11 22 98 100 0 13 82 84 83 85 2 15 3 14 106 108 107 109 1 12 91 93 10 23 9 20 99 101 +40 41 43 42 24 25 33 32 4 5 16 17 44 45 47 46 26 27 35 34 6 7 18 19 28 29 37 36 8 9 20 21 31 30 38 39 11 10 23 22 0 1 12 13 3 2 15 14 56 71 80 111 104 87 64 63 88 103 48 79 72 55 96 95 89 102 49 78 73 54 97 94 57 70 81 110 105 86 65 62 90 101 50 77 74 53 98 93 58 69 82 109 106 85 66 61 59 68 83 108 107 84 67 60 91 100 51 76 75 52 99 92 +56 65 64 57 4 18 16 6 48 73 72 49 71 62 63 70 17 7 5 19 79 54 55 78 90 99 101 92 28 38 37 31 98 91 93 100 36 30 29 39 82 107 106 83 109 84 85 108 40 43 80 104 111 87 44 47 24 33 88 89 103 102 26 35 32 25 96 97 95 94 34 27 42 41 81 105 110 86 46 45 50 74 8 11 20 23 52 76 58 59 0 3 12 15 60 61 66 67 2 1 14 13 68 69 51 75 10 9 22 21 53 77 +80 110 111 81 24 34 32 26 48 78 79 49 104 86 87 105 33 27 25 35 72 54 55 73 90 100 98 92 8 22 21 11 101 91 93 99 20 10 9 23 58 68 69 59 66 60 61 67 40 43 56 71 64 63 44 47 4 17 88 89 96 97 6 19 16 5 103 102 95 94 18 7 42 41 57 70 65 62 46 45 50 77 28 31 36 39 52 75 82 83 0 13 2 15 84 85 109 108 12 1 14 3 107 106 51 76 30 29 38 37 53 74 +80 105 104 81 4 19 17 6 88 97 96 89 111 86 87 110 16 7 5 18 103 94 95 102 50 75 77 52 28 39 36 31 74 51 53 76 37 30 29 38 58 67 66 59 69 60 61 68 40 43 56 64 71 63 44 47 24 32 48 49 79 78 26 34 33 25 72 73 55 54 35 27 42 41 57 65 70 62 46 45 90 98 8 11 21 22 92 100 82 83 0 2 13 15 84 85 106 107 3 1 14 12 108 109 91 99 10 9 23 20 93 101 +56 70 71 57 24 35 33 26 88 102 103 89 64 62 63 65 32 27 25 34 96 94 95 97 50 76 74 52 8 23 20 11 77 51 53 75 21 10 9 22 82 108 109 83 106 84 85 107 40 43 80 111 104 87 44 47 4 16 48 49 72 73 6 18 17 5 79 78 55 54 19 7 42 41 81 110 105 86 46 45 90 101 28 31 37 38 92 99 58 59 0 12 3 15 60 61 69 68 13 1 14 2 67 66 91 100 30 29 39 36 93 98 +8 23 10 21 82 108 84 106 88 102 96 94 20 11 22 9 109 83 107 85 103 89 95 97 50 76 52 74 56 70 64 62 51 77 53 75 57 71 65 63 24 35 32 27 26 33 34 25 48 54 58 66 60 68 72 78 28 36 40 45 44 41 37 29 30 38 42 47 46 43 39 31 79 73 69 61 67 59 55 49 0 2 4 7 6 5 3 1 80 86 90 98 92 100 104 110 81 87 91 99 93 101 105 111 13 15 17 18 19 16 14 12 +58 67 60 69 28 39 30 37 88 97 103 94 66 59 68 61 36 31 38 29 96 89 95 102 50 75 51 74 4 19 16 7 52 77 53 76 6 17 18 5 80 105 111 86 81 104 110 87 48 54 8 20 10 22 72 78 82 109 40 45 42 47 106 85 84 107 44 41 46 43 108 83 79 73 21 9 23 11 55 49 0 12 56 62 57 63 3 15 24 27 90 101 91 100 33 34 26 25 92 99 93 98 35 32 13 1 71 65 70 64 14 2 +58 61 66 69 82 85 109 106 40 47 42 45 60 59 68 67 84 83 107 108 44 43 46 41 0 15 12 3 56 63 57 62 2 13 14 1 64 71 65 70 80 87 81 86 111 104 110 105 48 54 8 10 20 22 72 78 28 30 88 94 103 97 37 39 36 38 96 102 95 89 29 31 79 73 21 23 9 11 55 49 50 51 4 7 16 19 74 75 24 27 90 91 101 100 33 34 32 35 98 99 93 92 25 26 77 76 17 18 5 6 53 52 +8 9 20 21 28 29 36 37 40 41 44 45 10 11 22 23 30 31 38 39 42 43 46 47 0 1 2 3 4 5 6 7 12 13 14 15 16 17 18 19 24 25 26 27 32 33 34 35 48 54 58 60 66 68 72 78 82 84 88 94 96 102 106 108 109 107 103 97 95 89 85 83 79 73 69 67 61 59 55 49 50 52 56 62 64 70 74 76 80 86 90 92 98 100 104 110 111 105 101 99 93 91 87 81 77 75 71 65 63 57 53 51 +8 23 10 21 88 102 96 94 82 108 84 106 20 11 22 9 103 89 95 97 109 83 107 85 56 70 64 62 50 76 52 74 57 71 65 63 51 77 53 75 24 35 26 33 32 27 34 25 48 72 58 60 66 68 54 78 40 44 28 37 36 29 45 41 42 46 30 39 38 31 47 43 79 55 69 67 61 59 73 49 4 6 0 3 2 1 7 5 80 104 90 92 98 100 86 110 81 105 91 93 99 101 87 111 17 19 13 14 15 12 18 16 +58 67 60 69 88 97 103 94 28 39 30 37 66 59 68 61 96 89 95 102 36 31 38 29 4 19 16 7 50 75 51 74 6 17 18 5 52 77 53 76 80 105 81 104 111 86 110 87 48 72 8 10 20 22 54 78 40 42 82 106 109 85 45 47 44 46 84 108 107 83 41 43 79 55 21 23 9 11 73 49 56 57 0 3 12 15 62 63 24 33 90 91 101 100 27 34 26 35 92 93 99 98 25 32 71 70 13 14 1 2 65 64 +58 61 66 69 40 47 42 45 82 85 109 106 60 59 68 67 44 43 46 41 84 83 107 108 56 63 57 62 0 15 12 3 64 71 65 70 2 13 14 1 80 87 111 104 81 86 110 105 48 72 8 20 10 22 54 78 88 103 28 37 30 39 94 97 96 95 36 29 38 31 102 89 79 55 21 9 23 11 73 49 4 16 50 74 51 75 7 19 24 33 90 101 91 100 27 34 32 25 98 93 99 92 35 26 17 5 77 53 76 52 18 6 +8 9 20 21 40 41 44 45 28 29 36 37 10 11 22 23 42 43 46 47 30 31 38 39 4 5 6 7 0 1 2 3 16 17 18 19 12 13 14 15 24 25 32 33 26 27 34 35 48 72 58 66 60 68 54 78 88 96 82 106 84 108 94 102 103 95 109 85 107 83 97 89 79 55 69 61 67 59 73 49 56 64 50 74 52 76 62 70 80 104 90 98 92 100 86 110 111 87 101 93 99 91 105 81 71 63 77 53 75 51 65 57 +48 73 54 79 82 107 84 109 28 38 36 30 72 49 78 55 106 83 108 85 37 31 29 39 4 18 6 16 56 65 64 57 7 17 5 19 62 71 70 63 90 99 98 91 92 101 100 93 8 10 58 66 60 68 20 22 88 96 40 42 44 46 103 95 94 102 45 47 41 43 97 89 21 23 69 61 67 59 9 11 0 2 50 51 52 53 12 14 80 81 24 32 26 34 111 110 86 87 27 35 25 33 105 104 13 15 77 76 75 74 1 3 +48 55 72 79 88 95 96 103 40 46 44 42 54 49 78 73 94 89 102 97 45 43 41 47 0 14 2 12 50 53 52 51 3 13 1 15 74 77 76 75 90 93 92 91 98 101 100 99 8 10 58 60 66 68 20 22 82 84 28 30 36 38 109 107 106 108 37 39 29 31 85 83 21 23 69 67 61 59 9 11 4 6 56 57 64 65 16 18 80 81 24 26 32 34 111 110 104 105 33 35 25 27 87 86 17 19 71 70 63 62 5 7 +58 67 60 69 88 97 94 103 28 39 37 30 66 59 68 61 96 89 102 95 36 31 29 38 4 19 7 16 50 75 74 51 6 17 5 18 52 77 76 53 80 105 104 81 86 111 110 87 8 10 48 72 54 78 20 22 82 106 40 42 45 47 109 85 84 108 44 46 41 43 107 83 21 23 79 55 73 49 9 11 0 3 56 57 62 63 12 15 90 91 24 33 27 34 101 100 92 93 26 35 25 32 99 98 13 14 71 70 65 64 1 2 +58 61 66 69 82 85 106 109 40 47 45 42 60 59 68 67 84 83 108 107 44 43 41 46 0 15 3 12 56 63 62 57 2 13 1 14 64 71 70 65 80 87 86 81 104 111 110 105 8 10 48 54 72 78 20 22 88 94 28 30 37 39 103 97 96 102 36 38 29 31 95 89 21 23 79 73 55 49 9 11 4 7 50 51 74 75 16 19 90 91 24 27 33 34 101 100 98 99 32 35 25 26 93 92 17 18 77 76 53 52 5 6 +48 73 54 79 28 38 30 36 82 107 109 84 72 49 78 55 37 31 39 29 106 83 85 108 56 65 57 64 4 18 16 6 62 71 63 70 7 17 19 5 90 99 101 92 91 98 100 93 58 60 8 20 10 22 66 68 88 103 40 44 42 46 96 95 94 97 45 41 47 43 102 89 69 67 21 9 23 11 61 59 0 12 50 52 51 53 2 14 24 26 80 111 81 110 32 34 27 25 86 105 87 104 35 33 13 1 77 75 76 74 15 3 +48 55 72 79 88 95 103 96 40 46 42 44 54 49 78 73 94 89 97 102 45 43 47 41 0 14 12 2 50 53 51 52 3 13 15 1 74 77 75 76 90 93 91 92 101 98 100 99 58 60 8 10 20 22 66 68 28 30 82 84 109 107 36 38 37 39 106 108 85 83 29 31 69 67 21 23 9 11 61 59 56 57 4 6 16 18 64 65 24 26 80 81 111 110 32 34 33 35 104 105 87 86 25 27 71 70 17 19 5 7 63 62 +8 23 10 21 88 102 94 96 82 108 106 84 20 11 22 9 103 89 97 95 109 83 85 107 56 70 62 64 50 76 74 52 57 71 63 65 51 77 75 53 24 35 33 26 27 32 34 25 58 60 48 72 54 78 66 68 28 37 40 44 45 41 36 29 30 39 42 46 47 43 38 31 69 67 79 55 73 49 61 59 0 3 4 6 7 5 2 1 90 92 80 104 86 110 98 100 91 93 81 105 87 111 99 101 13 14 17 19 18 16 15 12 +8 9 20 21 28 29 37 36 40 41 45 44 10 11 22 23 30 31 39 38 42 43 47 46 0 1 3 2 4 5 7 6 12 13 15 14 16 17 19 18 24 25 27 26 33 32 34 35 58 60 48 54 72 78 66 68 88 94 82 84 106 108 96 102 103 97 109 107 85 83 95 89 69 67 79 73 55 49 61 59 56 62 50 52 74 76 64 70 90 92 80 86 104 110 98 100 101 99 111 105 87 81 93 91 71 65 77 75 53 51 63 57 +48 73 54 79 82 107 109 84 28 38 30 36 72 49 78 55 106 83 85 108 37 31 39 29 4 18 16 6 56 65 57 64 7 17 19 5 62 71 63 70 90 99 91 98 101 92 100 93 58 66 8 10 20 22 60 68 40 42 88 96 103 95 44 46 45 47 94 102 97 89 41 43 69 61 21 23 9 11 67 59 50 51 0 2 12 14 52 53 24 32 80 81 111 110 26 34 27 35 86 87 105 104 25 33 77 76 13 15 1 3 75 74 +48 55 72 79 40 46 42 44 88 95 103 96 54 49 78 73 45 43 47 41 94 89 97 102 50 53 51 52 0 14 12 2 74 77 75 76 3 13 15 1 90 93 101 98 91 92 100 99 58 66 8 20 10 22 60 68 82 109 28 36 30 38 84 107 106 85 37 29 39 31 108 83 69 61 21 9 23 11 67 59 4 16 56 64 57 65 6 18 24 32 80 111 81 110 26 34 33 25 104 87 105 86 35 27 17 5 71 63 70 62 19 7 +8 23 10 21 82 108 106 84 88 102 94 96 20 11 22 9 109 83 85 107 103 89 97 95 50 76 74 52 56 70 62 64 51 77 75 53 57 71 63 65 24 35 27 32 33 26 34 25 58 66 48 54 72 78 60 68 40 45 28 36 37 29 44 41 42 47 30 38 39 31 46 43 69 61 79 73 55 49 67 59 4 7 0 2 3 1 6 5 90 98 80 86 104 110 92 100 91 99 81 87 105 111 93 101 17 18 13 15 14 12 19 16 +8 9 20 21 40 41 45 44 28 29 37 36 10 11 22 23 42 43 47 46 30 31 39 38 4 5 7 6 0 1 3 2 16 17 19 18 12 13 15 14 24 25 33 32 27 26 34 35 58 66 48 72 54 78 60 68 82 106 88 96 94 102 84 108 109 85 103 95 97 89 107 83 69 61 79 55 73 49 67 59 50 74 56 64 62 70 52 76 90 98 80 104 86 110 92 100 101 93 111 87 105 81 99 91 77 53 71 63 65 57 75 51 +48 73 54 79 28 38 36 30 82 107 84 109 72 49 78 55 37 31 29 39 106 83 108 85 56 65 64 57 4 18 6 16 62 71 70 63 7 17 5 19 90 99 92 101 98 91 100 93 8 20 58 60 66 68 10 22 40 44 88 103 96 95 42 46 45 41 94 97 102 89 47 43 21 9 69 67 61 59 23 11 50 52 0 12 2 14 51 53 80 111 24 26 32 34 81 110 86 105 27 25 35 33 87 104 77 75 13 1 15 3 76 74 +48 55 72 79 40 46 44 42 88 95 96 103 54 49 78 73 45 43 41 47 94 89 102 97 50 53 52 51 0 14 2 12 74 77 76 75 3 13 1 15 90 93 98 101 92 91 100 99 8 20 58 66 60 68 10 22 28 36 82 109 84 107 30 38 37 29 106 85 108 83 39 31 21 9 69 61 67 59 23 11 56 64 4 16 6 18 57 65 80 111 24 32 26 34 81 110 104 87 33 25 35 27 105 86 71 63 17 5 19 7 70 62 +58 67 60 69 28 39 37 30 88 97 94 103 66 59 68 61 36 31 29 38 96 89 102 95 50 75 74 51 4 19 7 16 52 77 76 53 6 17 5 18 80 105 86 111 104 81 110 87 8 20 48 54 72 78 10 22 40 45 82 109 106 85 42 47 44 41 84 107 108 83 46 43 21 9 79 73 55 49 23 11 56 62 0 12 3 15 57 63 90 101 24 27 33 34 91 100 92 99 26 25 35 32 93 98 71 65 13 1 14 2 70 64 +58 61 66 69 40 47 45 42 82 85 106 109 60 59 68 67 44 43 41 46 84 83 108 107 56 63 62 57 0 15 3 12 64 71 70 65 2 13 1 14 80 87 104 111 86 81 110 105 8 20 48 72 54 78 10 22 28 37 88 103 94 97 30 39 36 29 96 95 102 89 38 31 21 9 79 55 73 49 23 11 50 74 4 16 7 19 51 75 90 101 24 33 27 34 91 100 98 93 32 25 35 26 99 92 77 53 17 5 18 6 76 52 +82 108 84 106 8 23 10 21 88 102 96 94 109 83 107 85 20 11 22 9 103 89 95 97 50 76 51 77 24 35 32 27 52 74 53 75 26 33 34 25 56 70 64 62 57 71 65 63 48 54 28 36 30 38 79 73 58 66 40 45 42 47 69 61 60 68 44 41 46 43 67 59 72 78 37 29 39 31 55 49 0 2 80 86 81 87 13 15 4 7 90 98 91 99 17 18 6 5 92 100 93 101 19 16 3 1 104 110 105 111 14 12 +28 39 30 37 58 67 60 69 88 97 103 94 36 31 38 29 66 59 68 61 96 89 95 102 50 75 52 77 80 105 111 86 51 74 53 76 81 104 110 87 4 19 16 7 6 17 18 5 48 54 82 109 84 107 79 73 8 20 40 45 44 41 21 9 10 22 42 47 46 43 23 11 72 78 106 85 108 83 55 49 0 12 24 27 26 25 13 1 56 62 90 101 92 99 71 65 57 63 91 100 93 98 70 64 3 15 33 34 35 32 14 2 +82 85 109 106 58 61 66 69 40 47 42 45 84 83 107 108 60 59 68 67 44 43 46 41 0 15 2 13 80 87 81 86 12 3 14 1 111 104 110 105 56 63 57 62 64 71 65 70 48 54 28 30 36 38 79 73 8 10 88 94 96 102 21 23 20 22 103 97 95 89 9 11 72 78 37 39 29 31 55 49 50 51 24 27 32 35 77 76 4 7 90 91 98 99 17 18 16 19 101 100 93 92 5 6 74 75 33 34 25 26 53 52 +28 29 36 37 8 9 20 21 40 41 44 45 30 31 38 39 10 11 22 23 42 43 46 47 0 1 12 13 24 25 26 27 2 3 14 15 32 33 34 35 4 5 6 7 16 17 18 19 48 54 82 84 109 107 79 73 58 60 88 94 103 97 69 67 66 68 96 102 95 89 61 59 72 78 106 108 85 83 55 49 50 52 80 86 111 105 77 75 56 62 90 92 101 99 71 65 64 70 98 100 93 91 63 57 74 76 104 110 87 81 53 51 +82 108 84 106 88 102 96 94 8 23 10 21 109 83 107 85 103 89 95 97 20 11 22 9 24 35 32 27 50 76 51 77 26 33 34 25 52 74 53 75 56 70 57 71 64 62 65 63 48 79 28 30 36 38 54 73 40 42 58 69 66 61 45 47 44 46 60 67 68 59 41 43 72 55 37 39 29 31 78 49 80 81 0 13 2 15 86 87 4 17 90 91 98 99 7 18 6 19 92 93 100 101 5 16 104 105 3 14 1 12 110 111 +28 39 30 37 88 97 103 94 58 67 60 69 36 31 38 29 96 89 95 102 66 59 68 61 80 105 111 86 50 75 52 77 81 104 110 87 51 74 53 76 4 19 6 17 16 7 18 5 48 79 82 84 109 107 54 73 40 44 8 21 20 9 45 41 42 46 10 23 22 11 47 43 72 55 106 108 85 83 78 49 24 26 0 13 12 1 27 25 56 71 90 92 101 99 62 65 57 70 91 93 100 98 63 64 33 35 3 14 15 2 34 32 +82 85 109 106 40 47 42 45 58 61 66 69 84 83 107 108 44 43 46 41 60 59 68 67 80 87 81 86 0 15 2 13 111 104 110 105 12 3 14 1 56 63 64 71 57 62 65 70 48 79 28 36 30 38 54 73 88 96 8 21 10 23 94 102 103 95 20 9 22 11 97 89 72 55 37 29 39 31 78 49 24 32 50 77 51 76 27 35 4 17 90 98 91 99 7 18 16 5 101 93 100 92 19 6 33 25 74 53 75 52 34 26 +28 29 36 37 40 41 44 45 8 9 20 21 30 31 38 39 42 43 46 47 10 11 22 23 24 25 26 27 0 1 12 13 32 33 34 35 2 3 14 15 4 5 16 17 6 7 18 19 48 79 82 109 84 107 54 73 88 103 58 69 60 67 94 97 96 95 66 61 68 59 102 89 72 55 106 85 108 83 78 49 80 111 50 77 52 75 86 105 56 71 90 101 92 99 62 65 64 63 98 93 100 91 70 57 104 87 74 53 76 51 110 81 +48 78 54 72 8 22 10 20 58 68 66 60 79 49 73 55 21 11 23 9 69 59 61 67 80 110 81 111 24 34 32 26 86 104 87 105 27 33 35 25 90 100 98 92 91 101 99 93 82 84 28 36 30 38 109 107 88 96 40 44 42 46 103 95 94 102 45 41 47 43 97 89 106 108 37 29 39 31 85 83 0 2 50 52 51 53 12 14 4 6 56 64 57 65 16 18 7 5 62 70 63 71 19 17 3 1 74 76 75 77 15 13 +48 55 79 72 88 95 96 103 40 46 42 44 54 49 73 78 94 89 102 97 45 43 47 41 0 14 2 12 50 53 51 52 13 3 15 1 77 74 76 75 90 93 91 92 98 101 99 100 82 84 28 30 36 38 109 107 8 10 58 60 66 68 20 22 21 23 69 67 61 59 9 11 106 108 37 39 29 31 85 83 80 81 24 26 32 34 111 110 4 6 56 57 64 65 16 18 17 19 71 70 63 62 5 7 104 105 33 35 25 27 87 86 +28 39 30 37 88 97 94 103 58 67 69 60 36 31 38 29 96 89 102 95 66 59 61 68 80 105 86 111 50 75 77 52 81 104 87 110 51 74 76 53 4 19 17 6 7 16 18 5 82 84 48 79 54 73 109 107 8 21 40 44 45 41 20 9 10 23 42 46 47 43 22 11 106 108 72 55 78 49 85 83 0 13 24 26 27 25 12 1 90 92 56 71 62 65 101 99 91 93 57 70 63 64 100 98 3 14 33 35 34 32 15 2 +28 29 36 37 8 9 21 20 40 41 45 44 30 31 38 39 10 11 23 22 42 43 47 46 0 1 13 12 24 25 27 26 2 3 15 14 32 33 35 34 4 5 7 6 17 16 18 19 82 84 48 54 79 73 109 107 88 94 58 60 69 67 103 97 96 102 66 68 61 59 95 89 106 108 72 78 55 49 85 83 80 86 50 52 77 75 111 105 90 92 56 62 71 65 101 99 98 100 64 70 63 57 93 91 104 110 74 76 53 51 87 81 +48 78 54 72 58 68 60 66 8 22 20 10 79 49 73 55 69 59 67 61 21 11 9 23 24 34 26 32 80 110 111 81 27 33 25 35 86 104 105 87 90 100 101 91 92 98 99 93 28 30 82 109 84 107 36 38 88 103 40 42 44 46 96 95 94 97 45 47 41 43 102 89 37 39 106 85 108 83 29 31 0 12 50 51 52 53 2 14 56 57 4 16 6 18 64 65 62 63 7 19 5 17 70 71 3 15 74 75 76 77 1 13 +48 55 79 72 88 95 103 96 40 46 44 42 54 49 73 78 94 89 97 102 45 43 41 47 0 14 12 2 50 53 52 51 13 3 1 15 77 74 75 76 90 93 92 91 101 98 99 100 28 30 82 84 109 107 36 38 58 60 8 10 20 22 66 68 69 67 21 23 9 11 61 59 37 39 106 108 85 83 29 31 24 26 80 81 111 110 32 34 56 57 4 6 16 18 64 65 71 70 17 19 5 7 63 62 33 35 104 105 87 86 25 27 +82 108 84 106 88 102 94 96 8 23 21 10 109 83 107 85 103 89 97 95 20 11 9 22 24 35 27 32 50 76 77 51 26 33 25 34 52 74 75 53 56 70 71 57 62 64 65 63 28 30 48 79 54 73 36 38 58 69 40 42 45 47 66 61 60 67 44 46 41 43 68 59 37 39 72 55 78 49 29 31 0 13 80 81 86 87 2 15 90 91 4 17 7 18 98 99 92 93 6 19 5 16 100 101 3 14 104 105 110 111 1 12 +82 85 109 106 58 61 69 66 40 47 45 42 84 83 107 108 60 59 67 68 44 43 41 46 0 15 13 2 80 87 86 81 12 3 1 14 111 104 105 110 56 63 62 57 71 64 65 70 28 30 48 54 79 73 36 38 88 94 8 10 21 23 96 102 103 97 20 22 9 11 95 89 37 39 72 78 55 49 29 31 24 27 50 51 77 76 32 35 90 91 4 7 17 18 98 99 101 100 16 19 5 6 93 92 33 34 74 75 53 52 25 26 +48 78 54 72 58 68 66 60 8 22 10 20 79 49 73 55 69 59 61 67 21 11 23 9 24 34 32 26 80 110 81 111 27 33 35 25 86 104 87 105 90 100 91 101 98 92 99 93 82 109 28 30 36 38 84 107 40 42 88 103 96 95 44 46 45 47 94 97 102 89 41 43 106 85 37 39 29 31 108 83 50 51 0 12 2 14 52 53 4 16 56 57 64 65 6 18 7 19 62 63 70 71 5 17 74 75 3 15 1 13 76 77 +48 55 79 72 40 46 42 44 88 95 96 103 54 49 73 78 45 43 47 41 94 89 102 97 50 53 51 52 0 14 2 12 77 74 76 75 13 3 15 1 90 93 98 101 91 92 99 100 82 109 28 36 30 38 84 107 58 66 8 20 10 22 60 68 69 61 21 9 23 11 67 59 106 85 37 29 39 31 108 83 24 32 80 111 81 110 26 34 4 16 56 64 57 65 6 18 17 5 71 63 70 62 19 7 33 25 104 87 105 86 35 27 +28 39 30 37 58 67 69 60 88 97 94 103 36 31 38 29 66 59 61 68 96 89 102 95 50 75 77 52 80 105 86 111 51 74 76 53 81 104 87 110 4 19 7 16 17 6 18 5 82 109 48 54 79 73 84 107 40 45 8 20 21 9 44 41 42 47 10 22 23 11 46 43 106 85 72 78 55 49 108 83 24 27 0 12 13 1 26 25 90 101 56 62 71 65 92 99 91 100 57 63 70 64 93 98 33 34 3 15 14 2 35 32 +28 29 36 37 40 41 45 44 8 9 21 20 30 31 38 39 42 43 47 46 10 11 23 22 24 25 27 26 0 1 13 12 32 33 35 34 2 3 15 14 4 5 17 16 7 6 18 19 82 109 48 79 54 73 84 107 58 69 88 103 94 97 60 67 66 61 96 95 102 89 68 59 106 85 72 55 78 49 108 83 50 77 80 111 86 105 52 75 90 101 56 71 62 65 92 99 98 93 64 63 70 57 100 91 74 53 104 87 110 81 76 51 +48 78 54 72 8 22 20 10 58 68 60 66 79 49 73 55 21 11 9 23 69 59 67 61 80 110 111 81 24 34 26 32 86 104 105 87 27 33 25 35 90 100 92 98 101 91 99 93 28 36 82 84 109 107 30 38 40 44 88 96 103 95 42 46 45 41 94 102 97 89 47 43 37 29 106 108 85 83 39 31 50 52 0 2 12 14 51 53 56 64 4 6 16 18 57 65 62 70 7 5 19 17 63 71 74 76 3 1 15 13 75 77 +48 55 79 72 40 46 44 42 88 95 103 96 54 49 73 78 45 43 41 47 94 89 97 102 50 53 52 51 0 14 12 2 77 74 75 76 13 3 1 15 90 93 101 98 92 91 99 100 28 36 82 109 84 107 30 38 8 20 58 66 60 68 10 22 21 9 69 61 67 59 23 11 37 29 106 85 108 83 39 31 80 111 24 32 26 34 81 110 56 64 4 16 6 18 57 65 71 63 17 5 19 7 70 62 104 87 33 25 35 27 105 86 +82 108 84 106 8 23 21 10 88 102 94 96 109 83 107 85 20 11 9 22 103 89 97 95 50 76 77 51 24 35 27 32 52 74 75 53 26 33 25 34 56 70 62 64 71 57 65 63 28 36 48 54 79 73 30 38 40 45 58 66 69 61 42 47 44 41 60 68 67 59 46 43 37 29 72 78 55 49 39 31 80 86 0 2 13 15 81 87 90 98 4 7 17 18 91 99 92 100 6 5 19 16 93 101 104 110 3 1 14 12 105 111 +82 85 109 106 40 47 45 42 58 61 69 66 84 83 107 108 44 43 41 46 60 59 67 68 80 87 86 81 0 15 13 2 111 104 105 110 12 3 1 14 56 63 71 64 62 57 65 70 28 36 48 79 54 73 30 38 8 21 88 96 94 102 10 23 20 9 103 95 97 89 22 11 37 29 72 55 78 49 39 31 50 77 24 32 27 35 51 76 90 98 4 17 7 18 91 99 101 93 16 5 19 6 100 92 74 53 33 25 34 26 75 52 +88 102 96 94 8 23 10 21 82 108 84 106 103 89 95 97 20 11 22 9 109 83 107 85 56 70 57 71 24 35 26 33 64 62 65 63 32 27 34 25 50 76 52 74 51 77 53 75 48 72 40 44 42 46 79 55 58 60 28 37 30 39 69 67 66 68 36 29 38 31 61 59 54 78 45 41 47 43 73 49 4 6 80 104 81 105 17 19 0 3 90 92 91 93 13 14 2 1 98 100 99 101 15 12 7 5 86 110 87 111 18 16 +88 97 103 94 58 67 60 69 28 39 30 37 96 89 95 102 66 59 68 61 36 31 38 29 4 19 6 17 80 105 81 104 16 7 18 5 111 86 110 87 50 75 51 74 52 77 53 76 48 72 40 42 44 46 79 55 8 10 82 106 84 108 21 23 20 22 109 85 107 83 9 11 54 78 45 47 41 43 73 49 56 57 24 33 26 35 71 70 0 3 90 91 92 93 13 14 12 15 101 100 99 98 1 2 62 63 27 34 25 32 65 64 +40 47 42 45 58 61 66 69 82 85 109 106 44 43 46 41 60 59 68 67 84 83 107 108 56 63 64 71 80 87 111 104 57 62 65 70 81 86 110 105 0 15 12 3 2 13 14 1 48 72 88 103 96 95 79 55 8 20 28 37 36 29 21 9 10 22 30 39 38 31 23 11 54 78 94 97 102 89 73 49 4 16 24 33 32 25 17 5 50 74 90 101 98 93 77 53 51 75 91 100 99 92 76 52 7 19 27 34 35 26 18 6 +40 41 44 45 8 9 20 21 28 29 36 37 42 43 46 47 10 11 22 23 30 31 38 39 4 5 16 17 24 25 32 33 6 7 18 19 26 27 34 35 0 1 2 3 12 13 14 15 48 72 88 96 103 95 79 55 58 66 82 106 109 85 69 61 60 68 84 108 107 83 67 59 54 78 94 102 97 89 73 49 56 64 80 104 111 87 71 63 50 74 90 98 101 93 77 53 52 76 92 100 99 91 75 51 62 70 86 110 105 81 65 57 +88 102 96 94 82 108 84 106 8 23 10 21 103 89 95 97 109 83 107 85 20 11 22 9 24 35 26 33 56 70 57 71 32 27 34 25 64 62 65 63 50 76 51 77 52 74 53 75 48 79 40 42 44 46 72 55 28 30 58 69 60 67 37 39 36 38 66 61 68 59 29 31 54 73 45 47 41 43 78 49 80 81 4 17 6 19 104 105 0 13 90 91 92 93 3 14 2 15 98 99 100 101 1 12 86 87 7 18 5 16 110 111 +88 97 103 94 28 39 30 37 58 67 60 69 96 89 95 102 36 31 38 29 66 59 68 61 80 105 81 104 4 19 6 17 111 86 110 87 16 7 18 5 50 75 52 77 51 74 53 76 48 79 40 44 42 46 72 55 82 84 8 21 10 23 106 108 109 107 20 9 22 11 85 83 54 73 45 41 47 43 78 49 24 26 56 71 57 70 33 35 0 13 90 92 91 93 3 14 12 1 101 99 100 98 15 2 27 25 62 65 63 64 34 32 +40 47 42 45 82 85 109 106 58 61 66 69 44 43 46 41 84 83 107 108 60 59 68 67 80 87 111 104 56 63 64 71 81 86 110 105 57 62 65 70 0 15 2 13 12 3 14 1 48 79 88 96 103 95 72 55 28 36 8 21 20 9 37 29 30 38 10 23 22 11 39 31 54 73 94 102 97 89 78 49 24 32 4 17 16 5 33 25 50 77 90 98 101 93 74 53 51 76 91 99 100 92 75 52 27 35 7 18 19 6 34 26 +40 41 44 45 28 29 36 37 8 9 20 21 42 43 46 47 30 31 38 39 10 11 22 23 24 25 32 33 4 5 16 17 26 27 34 35 6 7 18 19 0 1 12 13 2 3 14 15 48 79 88 103 96 95 72 55 82 109 58 69 66 61 106 85 84 107 60 67 68 59 108 83 54 73 94 97 102 89 78 49 80 111 56 71 64 63 104 87 50 77 90 101 98 93 74 53 52 75 92 99 100 91 76 51 86 105 62 65 70 57 110 81 +48 78 72 54 8 22 10 20 58 68 60 66 79 49 55 73 21 11 23 9 69 59 67 61 80 110 81 111 24 34 26 32 104 86 105 87 33 27 35 25 90 100 92 98 91 101 93 99 88 96 40 44 42 46 103 95 82 84 28 36 30 38 109 107 106 108 37 29 39 31 85 83 94 102 45 41 47 43 97 89 4 6 56 64 57 65 16 18 0 2 50 52 51 53 12 14 3 1 74 76 75 77 15 13 7 5 62 70 63 71 19 17 +48 73 79 54 82 107 84 109 28 38 30 36 72 49 55 78 106 83 108 85 37 31 39 29 4 18 6 16 56 65 57 64 17 7 19 5 71 62 70 63 90 99 91 98 92 101 93 100 88 96 40 42 44 46 103 95 8 10 58 66 60 68 20 22 21 23 69 61 67 59 9 11 94 102 45 47 41 43 97 89 80 81 24 32 26 34 111 110 0 2 50 51 52 53 12 14 13 15 77 76 75 74 1 3 86 87 27 35 25 33 105 104 +40 47 42 45 82 85 106 109 58 61 69 66 44 43 46 41 84 83 108 107 60 59 67 68 80 87 104 111 56 63 71 64 81 86 105 110 57 62 70 65 0 15 13 2 3 12 14 1 88 96 48 79 72 55 103 95 8 21 28 36 37 29 20 9 10 23 30 38 39 31 22 11 94 102 54 73 78 49 97 89 4 17 24 32 33 25 16 5 90 98 50 77 74 53 101 93 91 99 51 76 75 52 100 92 7 18 27 35 34 26 19 6 +40 41 44 45 8 9 21 20 28 29 37 36 42 43 46 47 10 11 23 22 30 31 39 38 4 5 17 16 24 25 33 32 6 7 19 18 26 27 35 34 0 1 3 2 13 12 14 15 88 96 48 72 79 55 103 95 82 106 58 66 69 61 109 85 84 108 60 68 67 59 107 83 94 102 54 78 73 49 97 89 80 104 56 64 71 63 111 87 90 98 50 74 77 53 101 93 92 100 52 76 75 51 99 91 86 110 62 70 65 57 105 81 +48 78 72 54 58 68 60 66 8 22 10 20 79 49 55 73 69 59 67 61 21 11 23 9 24 34 26 32 80 110 81 111 33 27 35 25 104 86 105 87 90 100 91 101 92 98 93 99 88 103 40 42 44 46 96 95 28 30 82 109 84 107 36 38 37 39 106 85 108 83 29 31 94 97 45 47 41 43 102 89 56 57 4 16 6 18 64 65 0 12 50 51 52 53 2 14 3 15 74 75 76 77 1 13 62 63 7 19 5 17 70 71 +48 73 79 54 28 38 30 36 82 107 84 109 72 49 55 78 37 31 39 29 106 83 108 85 56 65 57 64 4 18 6 16 71 62 70 63 17 7 19 5 90 99 92 101 91 98 93 100 88 103 40 44 42 46 96 95 58 60 8 20 10 22 66 68 69 67 21 9 23 11 61 59 94 97 45 41 47 43 102 89 24 26 80 111 81 110 32 34 0 12 50 52 51 53 2 14 13 1 77 75 76 74 15 3 27 25 86 105 87 104 35 33 +40 47 42 45 58 61 69 66 82 85 106 109 44 43 46 41 60 59 67 68 84 83 108 107 56 63 71 64 80 87 104 111 57 62 70 65 81 86 105 110 0 15 3 12 13 2 14 1 88 103 48 72 79 55 96 95 28 37 8 20 21 9 36 29 30 39 10 22 23 11 38 31 94 97 54 78 73 49 102 89 24 33 4 16 17 5 32 25 90 101 50 74 77 53 98 93 91 100 51 75 76 52 99 92 27 34 7 19 18 6 35 26 +40 41 44 45 28 29 37 36 8 9 21 20 42 43 46 47 30 31 39 38 10 11 23 22 24 25 33 32 4 5 17 16 26 27 35 34 6 7 19 18 0 1 13 12 3 2 14 15 88 103 48 79 72 55 96 95 58 69 82 109 106 85 66 61 60 67 84 107 108 83 68 59 94 97 54 73 78 49 102 89 56 71 80 111 104 87 64 63 90 101 50 77 74 53 98 93 92 99 52 75 76 51 100 91 62 65 86 105 110 81 70 57 +48 78 72 54 58 68 66 60 8 22 20 10 79 49 55 73 69 59 61 67 21 11 9 23 24 34 32 26 80 110 111 81 33 27 25 35 104 86 87 105 90 100 101 91 98 92 93 99 40 42 88 103 96 95 44 46 82 109 28 30 36 38 84 107 106 85 37 39 29 31 108 83 45 47 94 97 102 89 41 43 4 16 56 57 64 65 6 18 50 51 0 12 2 14 52 53 74 75 3 15 1 13 76 77 7 19 62 63 70 71 5 17 +48 73 79 54 82 107 109 84 28 38 36 30 72 49 55 78 106 83 85 108 37 31 29 39 4 18 16 6 56 65 64 57 17 7 5 19 71 62 63 70 90 99 98 91 101 92 93 100 40 42 88 96 103 95 44 46 58 66 8 10 20 22 60 68 69 61 21 23 9 11 67 59 45 47 94 102 97 89 41 43 24 32 80 81 111 110 26 34 50 51 0 2 12 14 52 53 77 76 13 15 1 3 75 74 27 35 86 87 105 104 25 33 +88 102 96 94 82 108 106 84 8 23 21 10 103 89 95 97 109 83 85 107 20 11 9 22 24 35 33 26 56 70 71 57 32 27 25 34 64 62 63 65 50 76 77 51 74 52 53 75 40 42 48 79 72 55 44 46 58 69 28 30 37 39 60 67 66 61 36 38 29 31 68 59 45 47 54 73 78 49 41 43 4 17 80 81 104 105 6 19 90 91 0 13 3 14 92 93 98 99 2 15 1 12 100 101 7 18 86 87 110 111 5 16 +88 97 103 94 58 67 69 60 28 39 37 30 96 89 95 102 66 59 61 68 36 31 29 38 4 19 17 6 80 105 104 81 16 7 5 18 111 86 87 110 50 75 74 51 77 52 53 76 40 42 48 72 79 55 44 46 82 106 8 10 21 23 84 108 109 85 20 22 9 11 107 83 45 47 54 78 73 49 41 43 24 33 56 57 71 70 26 35 90 91 0 3 13 14 92 93 101 100 12 15 1 2 99 98 27 34 62 63 65 64 25 32 +48 78 72 54 8 22 20 10 58 68 66 60 79 49 55 73 21 11 9 23 69 59 61 67 80 110 111 81 24 34 32 26 104 86 87 105 33 27 25 35 90 100 98 92 101 91 93 99 40 44 88 96 103 95 42 46 28 36 82 84 109 107 30 38 37 29 106 108 85 83 39 31 45 41 94 102 97 89 47 43 56 64 4 6 16 18 57 65 50 52 0 2 12 14 51 53 74 76 3 1 15 13 75 77 62 70 7 5 19 17 63 71 +48 73 79 54 28 38 36 30 82 107 109 84 72 49 55 78 37 31 29 39 106 83 85 108 56 65 64 57 4 18 16 6 71 62 63 70 17 7 5 19 90 99 101 92 98 91 93 100 40 44 88 103 96 95 42 46 8 20 58 60 66 68 10 22 21 9 69 67 61 59 23 11 45 41 94 97 102 89 47 43 80 111 24 26 32 34 81 110 50 52 0 12 2 14 51 53 77 75 13 1 15 3 76 74 86 105 27 25 35 33 87 104 +88 102 96 94 8 23 21 10 82 108 106 84 103 89 95 97 20 11 9 22 109 83 85 107 56 70 71 57 24 35 33 26 64 62 63 65 32 27 25 34 50 76 74 52 77 51 53 75 40 44 48 72 79 55 42 46 28 37 58 60 69 67 30 39 36 29 66 68 61 59 38 31 45 41 54 78 73 49 47 43 80 104 4 6 17 19 81 105 90 92 0 3 13 14 91 93 98 100 2 1 15 12 99 101 86 110 7 5 18 16 87 111 +88 97 103 94 28 39 37 30 58 67 69 60 96 89 95 102 36 31 29 38 66 59 61 68 80 105 104 81 4 19 17 6 111 86 87 110 16 7 5 18 50 75 77 52 74 51 53 76 40 44 48 79 72 55 42 46 8 21 82 84 106 108 10 23 20 9 109 107 85 83 22 11 45 41 54 73 78 49 47 43 56 71 24 26 33 35 57 70 90 92 0 13 3 14 91 93 101 99 12 1 15 2 100 98 62 65 27 25 34 32 63 64 +82 107 84 109 48 73 54 79 28 38 36 30 106 83 108 85 72 49 78 55 37 31 29 39 4 18 7 17 90 99 98 91 6 16 5 19 92 101 100 93 56 65 64 57 62 71 70 63 8 10 88 96 94 102 21 23 58 66 40 42 45 47 69 61 60 68 44 46 41 43 67 59 20 22 103 95 97 89 9 11 0 2 80 81 86 87 13 15 50 51 24 32 27 35 77 76 52 53 26 34 25 33 75 74 12 14 111 110 105 104 1 3 +88 95 96 103 48 55 72 79 40 46 44 42 94 89 102 97 54 49 78 73 45 43 41 47 0 14 3 13 90 93 92 91 2 12 1 15 98 101 100 99 50 53 52 51 74 77 76 75 8 10 82 84 106 108 21 23 58 60 28 30 37 39 69 67 66 68 36 38 29 31 61 59 20 22 109 107 85 83 9 11 4 6 80 81 104 105 17 19 56 57 24 26 33 35 71 70 64 65 32 34 25 27 63 62 16 18 111 110 87 86 5 7 +88 97 94 103 58 67 60 69 28 39 37 30 96 89 102 95 66 59 68 61 36 31 29 38 4 19 6 17 80 105 104 81 7 16 5 18 86 111 110 87 50 75 74 51 52 77 76 53 8 10 82 106 84 108 21 23 48 72 40 42 44 46 79 55 54 78 45 47 41 43 73 49 20 22 109 85 107 83 9 11 0 3 90 91 92 93 13 14 56 57 24 33 26 35 71 70 62 63 27 34 25 32 65 64 12 15 101 100 99 98 1 2 +82 85 106 109 58 61 66 69 40 47 45 42 84 83 108 107 60 59 68 67 44 43 41 46 0 15 2 13 80 87 86 81 3 12 1 14 104 111 110 105 56 63 62 57 64 71 70 65 8 10 88 94 96 102 21 23 48 54 28 30 36 38 79 73 72 78 37 39 29 31 55 49 20 22 103 97 95 89 9 11 4 7 90 91 98 99 17 18 50 51 24 27 32 35 77 76 74 75 33 34 25 26 53 52 16 19 101 100 93 92 5 6 +8 22 10 20 48 78 54 72 58 68 66 60 21 11 23 9 79 49 73 55 69 59 61 67 80 110 86 104 90 100 98 92 81 111 87 105 91 101 99 93 24 34 32 26 27 33 35 25 82 84 88 96 94 102 106 108 28 36 40 44 45 41 37 29 30 38 42 46 47 43 39 31 109 107 103 95 97 89 85 83 0 2 4 6 7 5 3 1 50 52 56 64 62 70 74 76 51 53 57 65 63 71 75 77 12 14 16 18 19 17 15 13 +88 95 96 103 48 55 79 72 40 46 42 44 94 89 102 97 54 49 73 78 45 43 47 41 0 14 13 3 90 93 91 92 2 12 15 1 98 101 99 100 50 53 51 52 77 74 76 75 82 84 8 10 21 23 106 108 28 30 58 60 69 67 37 39 36 38 66 68 61 59 29 31 109 107 20 22 9 11 85 83 80 81 4 6 17 19 104 105 24 26 56 57 71 70 33 35 32 34 64 65 63 62 25 27 111 110 16 18 5 7 87 86 +88 97 94 103 28 39 30 37 58 67 69 60 96 89 102 95 36 31 38 29 66 59 61 68 80 105 81 104 4 19 17 6 86 111 87 110 7 16 18 5 50 75 77 52 51 74 76 53 82 84 8 21 10 23 106 108 48 79 40 44 42 46 72 55 54 73 45 41 47 43 78 49 109 107 20 9 22 11 85 83 0 13 90 92 91 93 3 14 24 26 56 71 57 70 33 35 27 25 62 65 63 64 34 32 12 1 101 99 100 98 15 2 +8 9 21 20 28 29 36 37 40 41 45 44 10 11 23 22 30 31 38 39 42 43 47 46 0 1 2 3 4 5 7 6 13 12 15 14 17 16 18 19 24 25 27 26 32 33 35 34 82 84 88 94 96 102 106 108 48 54 58 60 66 68 72 78 79 73 69 67 61 59 55 49 109 107 103 97 95 89 85 83 80 86 90 92 98 100 104 110 50 52 56 62 64 70 74 76 77 75 71 65 63 57 53 51 111 105 101 99 93 91 87 81 +8 22 10 20 48 78 72 54 58 68 60 66 21 11 23 9 79 49 55 73 69 59 67 61 80 110 104 86 90 100 92 98 81 111 105 87 91 101 93 99 24 34 26 32 33 27 35 25 88 96 82 84 106 108 94 102 40 44 28 36 37 29 45 41 42 46 30 38 39 31 47 43 103 95 109 107 85 83 97 89 4 6 0 2 3 1 7 5 56 64 50 52 74 76 62 70 57 65 51 53 75 77 63 71 16 18 12 14 15 13 19 17 +82 107 84 109 48 73 79 54 28 38 30 36 106 83 108 85 72 49 55 78 37 31 39 29 4 18 17 7 90 99 91 98 6 16 19 5 92 101 93 100 56 65 57 64 71 62 70 63 88 96 8 10 21 23 94 102 40 42 58 66 69 61 45 47 44 46 60 68 67 59 41 43 103 95 20 22 9 11 97 89 80 81 0 2 13 15 86 87 24 32 50 51 77 76 27 35 26 34 52 53 75 74 25 33 111 110 12 14 1 3 105 104 +82 85 106 109 40 47 42 45 58 61 69 66 84 83 108 107 44 43 46 41 60 59 67 68 80 87 81 86 0 15 13 2 104 111 105 110 3 12 14 1 56 63 71 64 57 62 70 65 88 96 8 21 10 23 94 102 48 79 28 36 30 38 54 73 72 55 37 29 39 31 78 49 103 95 20 9 22 11 97 89 4 17 90 98 91 99 7 18 24 32 50 77 51 76 27 35 33 25 74 53 75 52 34 26 16 5 101 93 100 92 19 6 +8 9 21 20 40 41 44 45 28 29 37 36 10 11 23 22 42 43 46 47 30 31 39 38 4 5 6 7 0 1 3 2 17 16 19 18 13 12 14 15 24 25 33 32 26 27 35 34 88 96 82 106 84 108 94 102 48 72 58 66 60 68 54 78 79 55 69 61 67 59 73 49 103 95 109 85 107 83 97 89 80 104 90 98 92 100 86 110 56 64 50 74 52 76 62 70 71 63 77 53 75 51 65 57 111 87 101 93 99 91 105 81 +8 22 10 20 58 68 60 66 48 78 72 54 21 11 23 9 69 59 67 61 79 49 55 73 90 100 92 98 80 110 104 86 91 101 93 99 81 111 105 87 24 34 33 27 26 32 35 25 88 94 82 106 84 108 96 102 28 37 40 45 44 41 36 29 30 39 42 47 46 43 38 31 103 97 109 85 107 83 95 89 0 3 4 7 6 5 2 1 56 62 50 74 52 76 64 70 57 63 51 75 53 77 65 71 12 15 16 19 18 17 14 13 +82 107 84 109 28 38 30 36 48 73 79 54 106 83 108 85 37 31 39 29 72 49 55 78 90 99 91 98 4 18 17 7 92 101 93 100 6 16 19 5 56 65 71 62 57 64 70 63 88 94 8 21 10 23 96 102 58 69 40 45 42 47 66 61 60 67 44 41 46 43 68 59 103 97 20 9 22 11 95 89 0 13 80 86 81 87 2 15 24 27 50 77 51 76 32 35 26 25 52 75 53 74 34 33 12 1 111 105 110 104 14 3 +82 85 106 109 58 61 69 66 40 47 42 45 84 83 108 107 60 59 67 68 44 43 46 41 0 15 13 2 80 87 81 86 3 12 14 1 104 111 105 110 56 63 57 62 71 64 70 65 88 94 8 10 21 23 96 102 28 30 48 54 79 73 36 38 37 39 72 78 55 49 29 31 103 97 20 22 9 11 95 89 90 91 4 7 17 18 98 99 24 27 50 51 77 76 32 35 33 34 74 75 53 52 25 26 101 100 16 19 5 6 93 92 +8 9 21 20 28 29 37 36 40 41 44 45 10 11 23 22 30 31 39 38 42 43 46 47 0 1 3 2 4 5 6 7 13 12 14 15 17 16 19 18 24 25 26 27 33 32 35 34 88 94 82 84 106 108 96 102 58 60 48 54 72 78 66 68 69 67 79 73 55 49 61 59 103 97 109 107 85 83 95 89 90 92 80 86 104 110 98 100 56 62 50 52 74 76 64 70 71 65 77 75 53 51 63 57 101 99 111 105 87 81 93 91 +8 22 10 20 58 68 66 60 48 78 54 72 21 11 23 9 69 59 61 67 79 49 73 55 90 100 98 92 80 110 86 104 91 101 99 93 81 111 87 105 24 34 27 33 32 26 35 25 82 106 88 94 96 102 84 108 40 45 28 37 36 29 44 41 42 47 30 39 38 31 46 43 109 85 103 97 95 89 107 83 4 7 0 3 2 1 6 5 50 74 56 62 64 70 52 76 51 75 57 63 65 71 53 77 16 19 12 15 14 13 18 17 +88 95 96 103 40 46 42 44 48 55 79 72 94 89 102 97 45 43 47 41 54 49 73 78 90 93 91 92 0 14 13 3 98 101 99 100 2 12 15 1 50 53 77 74 51 52 76 75 82 106 8 21 10 23 84 108 58 69 28 37 30 39 60 67 66 61 36 29 38 31 68 59 109 85 20 9 22 11 107 83 4 17 80 104 81 105 6 19 24 33 56 71 57 70 26 35 32 25 64 63 65 62 34 27 16 5 111 87 110 86 18 7 +88 97 94 103 58 67 69 60 28 39 30 37 96 89 102 95 66 59 61 68 36 31 38 29 4 19 17 6 80 105 81 104 7 16 18 5 86 111 87 110 50 75 51 74 77 52 76 53 82 106 8 10 21 23 84 108 40 42 48 72 79 55 44 46 45 47 54 78 73 49 41 43 109 85 20 22 9 11 107 83 90 91 0 3 13 14 92 93 24 33 56 57 71 70 26 35 27 34 62 63 65 64 25 32 101 100 12 15 1 2 99 98 +8 9 21 20 40 41 45 44 28 29 36 37 10 11 23 22 42 43 47 46 30 31 38 39 4 5 7 6 0 1 2 3 17 16 18 19 13 12 15 14 24 25 32 33 27 26 35 34 82 106 88 96 94 102 84 108 58 66 48 72 54 78 60 68 69 61 79 55 73 49 67 59 109 85 103 95 97 89 107 83 90 98 80 104 86 110 92 100 50 74 56 64 62 70 52 76 77 53 71 63 65 57 75 51 101 93 111 87 105 81 99 91 +82 107 84 109 28 38 36 30 48 73 54 79 106 83 108 85 37 31 29 39 72 49 78 55 90 99 98 91 4 18 7 17 92 101 100 93 6 16 5 19 56 65 62 71 64 57 70 63 8 21 88 94 96 102 10 23 40 45 58 69 66 61 42 47 44 41 60 67 68 59 46 43 20 9 103 97 95 89 22 11 80 86 0 13 2 15 81 87 50 77 24 27 32 35 51 76 52 75 26 25 34 33 53 74 111 105 12 1 14 3 110 104 +88 95 96 103 40 46 44 42 48 55 72 79 94 89 102 97 45 43 41 47 54 49 78 73 90 93 92 91 0 14 3 13 98 101 100 99 2 12 1 15 50 53 74 77 52 51 76 75 8 21 82 106 84 108 10 23 28 37 58 69 60 67 30 39 36 29 66 61 68 59 38 31 20 9 109 85 107 83 22 11 80 104 4 17 6 19 81 105 56 71 24 33 26 35 57 70 64 63 32 25 34 27 65 62 111 87 16 5 18 7 110 86 +88 97 94 103 28 39 37 30 58 67 60 69 96 89 102 95 36 31 29 38 66 59 68 61 80 105 104 81 4 19 6 17 86 111 110 87 7 16 5 18 50 75 52 77 74 51 76 53 8 21 82 84 106 108 10 23 40 44 48 79 72 55 42 46 45 41 54 73 78 49 47 43 20 9 109 107 85 83 22 11 90 92 0 13 3 14 91 93 56 71 24 26 33 35 57 70 62 65 27 25 34 32 63 64 101 99 12 1 15 2 100 98 +82 85 106 109 40 47 45 42 58 61 66 69 84 83 108 107 44 43 41 46 60 59 68 67 80 87 86 81 0 15 2 13 104 111 110 105 3 12 1 14 56 63 64 71 62 57 70 65 8 21 88 96 94 102 10 23 28 36 48 79 54 73 30 38 37 29 72 55 78 49 39 31 20 9 103 95 97 89 22 11 90 98 4 17 7 18 91 99 50 77 24 32 27 35 51 76 74 53 33 25 34 26 75 52 101 93 16 5 19 6 100 92 +28 38 30 36 48 73 54 79 82 107 109 84 37 31 39 29 72 49 78 55 106 83 85 108 56 65 62 71 90 99 101 92 57 64 63 70 91 98 100 93 4 18 16 6 7 17 19 5 58 60 88 103 94 97 69 67 8 20 40 44 45 41 21 9 10 22 42 46 47 43 23 11 66 68 96 95 102 89 61 59 0 12 24 26 27 25 13 1 50 52 80 111 86 105 77 75 51 53 81 110 87 104 76 74 2 14 32 34 35 33 15 3 +88 95 103 96 48 55 72 79 40 46 42 44 94 89 97 102 54 49 78 73 45 43 47 41 0 14 3 13 90 93 91 92 12 2 15 1 101 98 100 99 50 53 51 52 74 77 75 76 58 60 28 30 37 39 69 67 8 10 82 84 106 108 21 23 20 22 109 107 85 83 9 11 66 68 36 38 29 31 61 59 56 57 24 26 33 35 71 70 4 6 80 81 104 105 17 19 16 18 111 110 87 86 5 7 64 65 32 34 25 27 63 62 +88 102 94 96 8 23 10 21 82 108 106 84 103 89 97 95 20 11 22 9 109 83 85 107 56 70 57 71 24 35 33 26 62 64 63 65 27 32 34 25 50 76 74 52 51 77 75 53 58 60 28 37 30 39 69 67 48 72 40 44 42 46 79 55 54 78 45 41 47 43 73 49 66 68 36 29 38 31 61 59 0 3 90 92 91 93 13 14 4 6 80 104 81 105 17 19 7 5 86 110 87 111 18 16 2 1 98 100 99 101 15 12 +28 29 37 36 8 9 20 21 40 41 45 44 30 31 39 38 10 11 22 23 42 43 47 46 0 1 12 13 24 25 27 26 3 2 15 14 33 32 34 35 4 5 7 6 16 17 19 18 58 60 88 94 103 97 69 67 48 54 82 84 109 107 79 73 72 78 106 108 85 83 55 49 66 68 96 102 95 89 61 59 56 62 90 92 101 99 71 65 50 52 80 86 111 105 77 75 74 76 104 110 87 81 53 51 64 70 98 100 93 91 63 57 +58 68 60 66 48 78 54 72 8 22 20 10 69 59 67 61 79 49 73 55 21 11 9 23 24 34 27 33 90 100 101 91 26 32 25 35 92 98 99 93 80 110 111 81 86 104 105 87 28 30 88 103 94 97 37 39 82 109 40 42 45 47 106 85 84 107 44 46 41 43 108 83 36 38 96 95 102 89 29 31 0 12 56 57 62 63 3 15 50 51 4 16 7 19 74 75 52 53 6 18 5 17 76 77 2 14 64 65 70 71 1 13 +88 95 103 96 48 55 79 72 40 46 44 42 94 89 97 102 54 49 73 78 45 43 41 47 0 14 13 3 90 93 92 91 12 2 1 15 101 98 99 100 50 53 52 51 77 74 75 76 28 30 58 60 69 67 37 39 82 84 8 10 21 23 106 108 109 107 20 22 9 11 85 83 36 38 66 68 61 59 29 31 24 26 56 57 71 70 33 35 80 81 4 6 17 19 104 105 111 110 16 18 5 7 87 86 32 34 64 65 63 62 25 27 +88 102 94 96 82 108 84 106 8 23 21 10 103 89 97 95 109 83 107 85 20 11 9 22 24 35 26 33 56 70 71 57 27 32 25 34 62 64 65 63 50 76 77 51 52 74 75 53 28 30 58 69 60 67 37 39 48 79 40 42 44 46 72 55 54 73 45 47 41 43 78 49 36 38 66 61 68 59 29 31 0 13 90 91 92 93 3 14 80 81 4 17 6 19 104 105 86 87 7 18 5 16 110 111 2 15 98 99 100 101 1 12 +58 61 69 66 82 85 109 106 40 47 45 42 60 59 67 68 84 83 107 108 44 43 41 46 0 15 12 3 56 63 62 57 13 2 1 14 71 64 65 70 80 87 86 81 111 104 105 110 28 30 88 94 103 97 37 39 48 54 8 10 20 22 72 78 79 73 21 23 9 11 55 49 36 38 96 102 95 89 29 31 24 27 90 91 101 100 33 34 50 51 4 7 16 19 74 75 77 76 17 18 5 6 53 52 32 35 98 99 93 92 25 26 +58 68 60 66 48 78 72 54 8 22 10 20 69 59 67 61 79 49 55 73 21 11 23 9 24 34 33 27 90 100 91 101 26 32 35 25 92 98 93 99 80 110 81 111 104 86 105 87 88 103 28 30 37 39 94 97 40 42 82 109 106 85 45 47 44 46 84 107 108 83 41 43 96 95 36 38 29 31 102 89 56 57 0 12 3 15 62 63 4 16 50 51 74 75 7 19 6 18 52 53 76 77 5 17 64 65 2 14 1 13 70 71 +28 38 30 36 48 73 79 54 82 107 84 109 37 31 39 29 72 49 55 78 106 83 108 85 56 65 71 62 90 99 92 101 57 64 70 63 91 98 93 100 4 18 6 16 17 7 19 5 88 103 58 60 69 67 94 97 40 44 8 20 21 9 45 41 42 46 10 22 23 11 47 43 96 95 66 68 61 59 102 89 24 26 0 12 13 1 27 25 80 111 50 52 77 75 86 105 81 110 51 53 76 74 87 104 32 34 2 14 15 3 35 33 +58 61 69 66 40 47 42 45 82 85 106 109 60 59 67 68 44 43 46 41 84 83 108 107 56 63 57 62 0 15 3 12 71 64 70 65 13 2 14 1 80 87 104 111 81 86 105 110 88 103 28 37 30 39 94 97 48 72 8 20 10 22 54 78 79 55 21 9 23 11 73 49 96 95 36 29 38 31 102 89 24 33 90 101 91 100 27 34 4 16 50 74 51 75 7 19 17 5 77 53 76 52 18 6 32 25 98 93 99 92 35 26 +28 29 37 36 40 41 44 45 8 9 21 20 30 31 39 38 42 43 46 47 10 11 23 22 24 25 26 27 0 1 13 12 33 32 35 34 3 2 14 15 4 5 17 16 6 7 19 18 88 103 58 69 60 67 94 97 48 79 82 109 84 107 54 73 72 55 106 85 108 83 78 49 96 95 66 61 68 59 102 89 56 71 90 101 92 99 62 65 80 111 50 77 52 75 86 105 104 87 74 53 76 51 110 81 64 63 98 93 100 91 70 57 +58 68 60 66 8 22 10 20 48 78 72 54 69 59 67 61 21 11 23 9 79 49 55 73 90 100 91 101 24 34 33 27 92 98 93 99 26 32 35 25 80 110 104 86 81 111 105 87 88 94 28 37 30 39 103 97 82 106 40 45 42 47 109 85 84 108 44 41 46 43 107 83 96 102 36 29 38 31 95 89 0 3 56 62 57 63 12 15 4 7 50 74 51 75 16 19 6 5 52 76 53 77 18 17 2 1 64 70 65 71 14 13 +28 38 30 36 82 107 84 109 48 73 79 54 37 31 39 29 106 83 108 85 72 49 55 78 90 99 92 101 56 65 71 62 91 98 93 100 57 64 70 63 4 18 17 7 6 16 19 5 88 94 58 69 60 67 103 97 8 21 40 45 44 41 20 9 10 23 42 47 46 43 22 11 96 102 66 61 68 59 95 89 0 13 24 27 26 25 12 1 80 86 50 77 52 75 111 105 81 87 51 76 53 74 110 104 2 15 32 35 34 33 14 3 +58 61 69 66 82 85 106 109 40 47 42 45 60 59 67 68 84 83 108 107 44 43 46 41 0 15 3 12 56 63 57 62 13 2 14 1 71 64 70 65 80 87 81 86 104 111 105 110 88 94 28 30 37 39 103 97 8 10 48 54 72 78 20 22 21 23 79 73 55 49 9 11 96 102 36 38 29 31 95 89 90 91 24 27 33 34 101 100 4 7 50 51 74 75 16 19 17 18 77 76 53 52 5 6 98 99 32 35 25 26 93 92 +28 29 37 36 8 9 21 20 40 41 44 45 30 31 39 38 10 11 23 22 42 43 46 47 0 1 13 12 24 25 26 27 3 2 14 15 33 32 35 34 4 5 6 7 17 16 19 18 88 94 58 60 69 67 103 97 82 84 48 54 79 73 109 107 106 108 72 78 55 49 85 83 96 102 66 68 61 59 95 89 90 92 56 62 71 65 101 99 80 86 50 52 77 75 111 105 104 110 74 76 53 51 87 81 98 100 64 70 63 57 93 91 +28 38 30 36 82 107 109 84 48 73 54 79 37 31 39 29 106 83 85 108 72 49 78 55 90 99 101 92 56 65 62 71 91 98 100 93 57 64 63 70 4 18 7 17 16 6 19 5 58 69 88 94 103 97 60 67 40 45 8 21 20 9 44 41 42 47 10 23 22 11 46 43 66 61 96 102 95 89 68 59 24 27 0 13 12 1 26 25 50 77 80 86 111 105 52 75 51 76 81 87 110 104 53 74 32 35 2 15 14 3 34 33 +88 95 103 96 40 46 42 44 48 55 72 79 94 89 97 102 45 43 47 41 54 49 78 73 90 93 91 92 0 14 3 13 101 98 100 99 12 2 15 1 50 53 74 77 51 52 75 76 58 69 28 37 30 39 60 67 82 106 8 21 10 23 84 108 109 85 20 9 22 11 107 83 66 61 36 29 38 31 68 59 24 33 56 71 57 70 26 35 4 17 80 104 81 105 6 19 16 5 111 87 110 86 18 7 32 25 64 63 65 62 34 27 +88 102 94 96 82 108 106 84 8 23 10 21 103 89 97 95 109 83 85 107 20 11 22 9 24 35 33 26 56 70 57 71 27 32 34 25 62 64 63 65 50 76 51 77 74 52 75 53 58 69 28 30 37 39 60 67 40 42 48 79 72 55 44 46 45 47 54 73 78 49 41 43 66 61 36 38 29 31 68 59 90 91 0 13 3 14 92 93 4 17 80 81 104 105 6 19 7 18 86 87 110 111 5 16 98 99 2 15 1 12 100 101 +28 29 37 36 40 41 45 44 8 9 20 21 30 31 39 38 42 43 47 46 10 11 22 23 24 25 27 26 0 1 12 13 33 32 34 35 3 2 15 14 4 5 16 17 7 6 19 18 58 69 88 103 94 97 60 67 82 109 48 79 54 73 84 107 106 85 72 55 78 49 108 83 66 61 96 95 102 89 68 59 90 101 56 71 62 65 92 99 50 77 80 111 86 105 52 75 74 53 104 87 110 81 76 51 98 93 64 63 70 57 100 91 +58 68 60 66 8 22 20 10 48 78 54 72 69 59 67 61 21 11 9 23 79 49 73 55 90 100 101 91 24 34 27 33 92 98 99 93 26 32 25 35 80 110 86 104 111 81 105 87 28 37 88 94 103 97 30 39 40 45 82 106 109 85 42 47 44 41 84 108 107 83 46 43 36 29 96 102 95 89 38 31 56 62 0 3 12 15 57 63 50 74 4 7 16 19 51 75 52 76 6 5 18 17 53 77 64 70 2 1 14 13 65 71 +88 95 103 96 40 46 44 42 48 55 79 72 94 89 97 102 45 43 41 47 54 49 73 78 90 93 92 91 0 14 13 3 101 98 99 100 12 2 1 15 50 53 77 74 52 51 75 76 28 37 58 69 60 67 30 39 8 21 82 106 84 108 10 23 20 9 109 85 107 83 22 11 36 29 66 61 68 59 38 31 56 71 24 33 26 35 57 70 80 104 4 17 6 19 81 105 111 87 16 5 18 7 110 86 64 63 32 25 34 27 65 62 +88 102 94 96 8 23 21 10 82 108 84 106 103 89 97 95 20 11 9 22 109 83 107 85 56 70 71 57 24 35 26 33 62 64 65 63 27 32 25 34 50 76 52 74 77 51 75 53 28 37 58 60 69 67 30 39 40 44 48 72 79 55 42 46 45 41 54 78 73 49 47 43 36 29 66 68 61 59 38 31 90 92 0 3 13 14 91 93 80 104 4 6 17 19 81 105 86 110 7 5 18 16 87 111 98 100 2 1 15 12 99 101 +58 61 69 66 40 47 45 42 82 85 109 106 60 59 67 68 44 43 41 46 84 83 107 108 56 63 62 57 0 15 12 3 71 64 65 70 13 2 1 14 80 87 111 104 86 81 105 110 28 37 88 103 94 97 30 39 8 20 48 72 54 78 10 22 21 9 79 55 73 49 23 11 36 29 96 95 102 89 38 31 90 101 24 33 27 34 91 100 50 74 4 16 7 19 51 75 77 53 17 5 18 6 76 52 98 93 32 25 35 26 99 92 +82 107 109 84 48 73 54 79 28 38 30 36 106 83 85 108 72 49 78 55 37 31 39 29 4 18 7 17 90 99 91 98 16 6 19 5 101 92 100 93 56 65 57 64 62 71 63 70 58 66 40 42 45 47 69 61 8 10 88 96 94 102 21 23 20 22 103 95 97 89 9 11 60 68 44 46 41 43 67 59 50 51 24 32 27 35 77 76 0 2 80 81 86 87 13 15 12 14 111 110 105 104 1 3 52 53 26 34 25 33 75 74 +40 46 42 44 48 55 72 79 88 95 103 96 45 43 47 41 54 49 78 73 94 89 97 102 50 53 74 77 90 93 101 98 51 52 75 76 91 92 100 99 0 14 12 2 3 13 15 1 58 66 82 109 106 85 69 61 8 20 28 36 37 29 21 9 10 22 30 38 39 31 23 11 60 68 84 107 108 83 67 59 4 16 24 32 33 25 17 5 56 64 80 111 104 87 71 63 57 65 81 110 105 86 70 62 6 18 26 34 35 27 19 7 +82 108 106 84 8 23 10 21 88 102 94 96 109 83 85 107 20 11 22 9 103 89 97 95 50 76 51 77 24 35 27 32 74 52 75 53 33 26 34 25 56 70 62 64 57 71 63 65 58 66 40 45 42 47 69 61 48 54 28 36 30 38 79 73 72 78 37 29 39 31 55 49 60 68 44 41 46 43 67 59 4 7 90 98 91 99 17 18 0 2 80 86 81 87 13 15 3 1 104 110 105 111 14 12 6 5 92 100 93 101 19 16 +40 41 45 44 8 9 20 21 28 29 37 36 42 43 47 46 10 11 22 23 30 31 39 38 4 5 16 17 24 25 33 32 7 6 19 18 27 26 34 35 0 1 3 2 12 13 15 14 58 66 82 106 109 85 69 61 48 72 88 96 103 95 79 55 54 78 94 102 97 89 73 49 60 68 84 108 107 83 67 59 50 74 90 98 101 93 77 53 56 64 80 104 111 87 71 63 62 70 86 110 105 81 65 57 52 76 92 100 99 91 75 51 +58 68 66 60 48 78 54 72 8 22 10 20 69 59 61 67 79 49 73 55 21 11 23 9 24 34 27 33 90 100 91 101 32 26 35 25 98 92 99 93 80 110 81 111 86 104 87 105 82 109 40 42 45 47 106 85 28 30 88 103 94 97 37 39 36 38 96 95 102 89 29 31 84 107 44 46 41 43 108 83 50 51 4 16 7 19 74 75 0 12 56 57 62 63 3 15 2 14 64 65 70 71 1 13 52 53 6 18 5 17 76 77 +40 46 42 44 48 55 79 72 88 95 96 103 45 43 47 41 54 49 73 78 94 89 102 97 50 53 77 74 90 93 98 101 51 52 76 75 91 92 99 100 0 14 2 12 13 3 15 1 82 109 58 66 69 61 106 85 28 36 8 20 21 9 37 29 30 38 10 22 23 11 39 31 84 107 60 68 67 59 108 83 24 32 4 16 17 5 33 25 80 111 56 64 71 63 104 87 81 110 57 65 70 62 105 86 26 34 6 18 19 7 35 27 +58 67 69 60 28 39 30 37 88 97 94 103 66 59 61 68 36 31 38 29 96 89 102 95 50 75 51 74 4 19 7 16 77 52 76 53 17 6 18 5 80 105 86 111 81 104 87 110 82 109 40 45 42 47 106 85 48 54 8 20 10 22 72 78 79 73 21 9 23 11 55 49 84 107 44 41 46 43 108 83 24 27 90 101 91 100 33 34 0 12 56 62 57 63 3 15 13 1 71 65 70 64 14 2 26 25 92 99 93 98 35 32 +40 41 45 44 28 29 36 37 8 9 21 20 42 43 47 46 30 31 38 39 10 11 23 22 24 25 32 33 4 5 17 16 27 26 35 34 7 6 18 19 0 1 13 12 2 3 15 14 82 109 58 69 66 61 106 85 48 79 88 103 96 95 72 55 54 73 94 97 102 89 78 49 84 107 60 67 68 59 108 83 50 77 90 101 98 93 74 53 80 111 56 71 64 63 104 87 86 105 62 65 70 57 110 81 52 75 92 99 100 91 76 51 +58 68 66 60 48 78 72 54 8 22 20 10 69 59 61 67 79 49 55 73 21 11 9 23 24 34 33 27 90 100 101 91 32 26 25 35 98 92 93 99 80 110 111 81 104 86 87 105 40 42 82 109 106 85 45 47 88 103 28 30 37 39 94 97 96 95 36 38 29 31 102 89 44 46 84 107 108 83 41 43 4 16 50 51 74 75 7 19 56 57 0 12 3 15 62 63 64 65 2 14 1 13 70 71 6 18 52 53 76 77 5 17 +82 107 109 84 48 73 79 54 28 38 36 30 106 83 85 108 72 49 55 78 37 31 29 39 4 18 17 7 90 99 98 91 16 6 5 19 101 92 93 100 56 65 64 57 71 62 63 70 40 42 58 66 69 61 45 47 88 96 8 10 21 23 94 102 103 95 20 22 9 11 97 89 44 46 60 68 67 59 41 43 24 32 50 51 77 76 27 35 80 81 0 2 13 15 86 87 111 110 12 14 1 3 105 104 26 34 52 53 75 74 25 33 +82 108 106 84 88 102 96 94 8 23 21 10 109 83 85 107 103 89 95 97 20 11 9 22 24 35 32 27 50 76 77 51 33 26 25 34 74 52 53 75 56 70 71 57 64 62 63 65 40 42 58 69 66 61 45 47 48 79 28 30 36 38 54 73 72 55 37 39 29 31 78 49 44 46 60 67 68 59 41 43 4 17 90 91 98 99 7 18 80 81 0 13 2 15 86 87 104 105 3 14 1 12 110 111 6 19 92 93 100 101 5 16 +58 67 69 60 88 97 103 94 28 39 37 30 66 59 61 68 96 89 95 102 36 31 29 38 4 19 16 7 50 75 74 51 17 6 5 18 77 52 53 76 80 105 104 81 111 86 87 110 40 42 82 106 109 85 45 47 48 72 8 10 20 22 54 78 79 55 21 23 9 11 73 49 44 46 84 108 107 83 41 43 24 33 90 91 101 100 27 34 56 57 0 3 12 15 62 63 71 70 13 14 1 2 65 64 26 35 92 93 99 98 25 32 +58 68 66 60 8 22 10 20 48 78 54 72 69 59 61 67 21 11 23 9 79 49 73 55 90 100 91 101 24 34 27 33 98 92 99 93 32 26 35 25 80 110 86 104 81 111 87 105 82 106 40 45 42 47 109 85 88 94 28 37 30 39 103 97 96 102 36 29 38 31 95 89 84 108 44 41 46 43 107 83 4 7 50 74 51 75 16 19 0 3 56 62 57 63 12 15 2 1 64 70 65 71 14 13 6 5 52 76 53 77 18 17 +40 46 42 44 88 95 96 103 48 55 79 72 45 43 47 41 94 89 102 97 54 49 73 78 90 93 98 101 50 53 77 74 91 92 99 100 51 52 76 75 0 14 13 3 2 12 15 1 82 106 58 69 66 61 109 85 8 21 28 37 36 29 20 9 10 23 30 39 38 31 22 11 84 108 60 67 68 59 107 83 4 17 24 33 32 25 16 5 80 104 56 71 64 63 111 87 81 105 57 70 65 62 110 86 6 19 26 35 34 27 18 7 +58 67 69 60 88 97 94 103 28 39 30 37 66 59 61 68 96 89 102 95 36 31 38 29 4 19 7 16 50 75 51 74 17 6 18 5 77 52 76 53 80 105 81 104 86 111 87 110 82 106 40 42 45 47 109 85 8 10 48 72 54 78 20 22 21 23 79 55 73 49 9 11 84 108 44 46 41 43 107 83 90 91 24 33 27 34 101 100 0 3 56 57 62 63 12 15 13 14 71 70 65 64 1 2 92 93 26 35 25 32 99 98 +40 41 45 44 8 9 21 20 28 29 36 37 42 43 47 46 10 11 23 22 30 31 38 39 4 5 17 16 24 25 32 33 7 6 18 19 27 26 35 34 0 1 2 3 13 12 15 14 82 106 58 66 69 61 109 85 88 96 48 72 79 55 103 95 94 102 54 78 73 49 97 89 84 108 60 68 67 59 107 83 90 98 50 74 77 53 101 93 80 104 56 64 71 63 111 87 86 110 62 70 65 57 105 81 92 100 52 76 75 51 99 91 +82 107 109 84 28 38 30 36 48 73 54 79 106 83 85 108 37 31 39 29 72 49 78 55 90 99 91 98 4 18 7 17 101 92 100 93 16 6 19 5 56 65 62 71 57 64 63 70 58 69 40 45 42 47 66 61 88 94 8 21 10 23 96 102 103 97 20 9 22 11 95 89 60 67 44 41 46 43 68 59 24 27 50 77 51 76 32 35 0 13 80 86 81 87 2 15 12 1 111 105 110 104 14 3 26 25 52 75 53 74 34 33 +40 46 42 44 88 95 103 96 48 55 72 79 45 43 47 41 94 89 97 102 54 49 78 73 90 93 101 98 50 53 74 77 91 92 100 99 51 52 75 76 0 14 3 13 12 2 15 1 58 69 82 106 109 85 66 61 28 37 8 21 20 9 36 29 30 39 10 23 22 11 38 31 60 67 84 108 107 83 68 59 24 33 4 17 16 5 32 25 56 71 80 104 111 87 64 63 57 70 81 105 110 86 65 62 26 35 6 19 18 7 34 27 +82 108 106 84 88 102 94 96 8 23 10 21 109 83 85 107 103 89 97 95 20 11 22 9 24 35 27 32 50 76 51 77 33 26 34 25 74 52 75 53 56 70 57 71 62 64 63 65 58 69 40 42 45 47 66 61 28 30 48 79 54 73 36 38 37 39 72 55 78 49 29 31 60 67 44 46 41 43 68 59 90 91 4 17 7 18 98 99 0 13 80 81 86 87 2 15 3 14 104 105 110 111 1 12 92 93 6 19 5 16 100 101 +40 41 45 44 28 29 37 36 8 9 20 21 42 43 47 46 30 31 39 38 10 11 22 23 24 25 33 32 4 5 16 17 27 26 34 35 7 6 19 18 0 1 12 13 3 2 15 14 58 69 82 109 106 85 66 61 88 103 48 79 72 55 96 95 94 97 54 73 78 49 102 89 60 67 84 107 108 83 68 59 90 101 50 77 74 53 98 93 56 71 80 111 104 87 64 63 62 65 86 105 110 81 70 57 92 99 52 75 76 51 100 91 +58 68 66 60 8 22 20 10 48 78 72 54 69 59 61 67 21 11 9 23 79 49 55 73 90 100 101 91 24 34 33 27 98 92 93 99 32 26 25 35 80 110 104 86 111 81 87 105 40 45 82 106 109 85 42 47 28 37 88 94 103 97 30 39 36 29 96 102 95 89 38 31 44 41 84 108 107 83 46 43 50 74 4 7 16 19 51 75 56 62 0 3 12 15 57 63 64 70 2 1 14 13 65 71 52 76 6 5 18 17 53 77 +82 107 109 84 28 38 36 30 48 73 79 54 106 83 85 108 37 31 29 39 72 49 55 78 90 99 98 91 4 18 17 7 101 92 93 100 16 6 5 19 56 65 71 62 64 57 63 70 40 45 58 69 66 61 42 47 8 21 88 94 96 102 10 23 20 9 103 97 95 89 22 11 44 41 60 67 68 59 46 43 50 77 24 27 32 35 51 76 80 86 0 13 2 15 81 87 111 105 12 1 14 3 110 104 52 75 26 25 34 33 53 74 +82 108 106 84 8 23 21 10 88 102 96 94 109 83 85 107 20 11 9 22 103 89 95 97 50 76 77 51 24 35 32 27 74 52 53 75 33 26 25 34 56 70 64 62 71 57 63 65 40 45 58 66 69 61 42 47 28 36 48 54 79 73 30 38 37 29 72 78 55 49 39 31 44 41 60 68 67 59 46 43 90 98 4 7 17 18 91 99 80 86 0 2 13 15 81 87 104 110 3 1 14 12 105 111 92 100 6 5 19 16 93 101 +58 67 69 60 28 39 37 30 88 97 103 94 66 59 61 68 36 31 29 38 96 89 95 102 50 75 74 51 4 19 16 7 77 52 53 76 17 6 5 18 80 105 111 86 104 81 87 110 40 45 82 109 106 85 42 47 8 20 48 54 72 78 10 22 21 9 79 73 55 49 23 11 44 41 84 107 108 83 46 43 90 101 24 27 33 34 91 100 56 62 0 12 3 15 57 63 71 65 13 1 14 2 70 64 92 99 26 25 35 32 93 98 +28 38 36 30 48 73 54 79 82 107 84 109 37 31 29 39 72 49 78 55 106 83 108 85 56 65 62 71 90 99 92 101 64 57 70 63 98 91 100 93 4 18 6 16 7 17 5 19 8 20 40 44 45 41 21 9 58 60 88 103 94 97 69 67 66 68 96 95 102 89 61 59 10 22 42 46 47 43 23 11 50 52 80 111 86 105 77 75 0 12 24 26 27 25 13 1 2 14 32 34 35 33 15 3 51 53 81 110 87 104 76 74 +40 46 44 42 48 55 72 79 88 95 96 103 45 43 41 47 54 49 78 73 94 89 102 97 50 53 74 77 90 93 98 101 52 51 76 75 92 91 100 99 0 14 2 12 3 13 1 15 8 20 28 36 37 29 21 9 58 66 82 109 106 85 69 61 60 68 84 107 108 83 67 59 10 22 30 38 39 31 23 11 56 64 80 111 104 87 71 63 4 16 24 32 33 25 17 5 6 18 26 34 35 27 19 7 57 65 81 110 105 86 70 62 +28 39 37 30 58 67 60 69 88 97 94 103 36 31 29 38 66 59 68 61 96 89 102 95 50 75 52 77 80 105 86 111 74 51 76 53 104 81 110 87 4 19 7 16 6 17 5 18 8 20 40 45 44 41 21 9 48 54 82 109 84 107 79 73 72 78 106 85 108 83 55 49 10 22 42 47 46 43 23 11 56 62 90 101 92 99 71 65 0 12 24 27 26 25 13 1 3 15 33 34 35 32 14 2 57 63 91 100 93 98 70 64 +40 47 45 42 58 61 66 69 82 85 106 109 44 43 41 46 60 59 68 67 84 83 108 107 56 63 64 71 80 87 104 111 62 57 70 65 86 81 110 105 0 15 3 12 2 13 1 14 8 20 28 37 36 29 21 9 48 72 88 103 96 95 79 55 54 78 94 97 102 89 73 49 10 22 30 39 38 31 23 11 50 74 90 101 98 93 77 53 4 16 24 33 32 25 17 5 7 19 27 34 35 26 18 6 51 75 91 100 99 92 76 52 +8 22 20 10 48 78 54 72 58 68 60 66 21 11 9 23 79 49 73 55 69 59 67 61 80 110 86 104 90 100 92 98 111 81 105 87 101 91 99 93 24 34 26 32 27 33 25 35 28 36 40 44 45 41 37 29 82 84 88 96 94 102 106 108 109 107 103 95 97 89 85 83 30 38 42 46 47 43 39 31 50 52 56 64 62 70 74 76 0 2 4 6 7 5 3 1 12 14 16 18 19 17 15 13 51 53 57 65 63 71 75 77 +40 46 44 42 48 55 79 72 88 95 103 96 45 43 41 47 54 49 73 78 94 89 97 102 50 53 77 74 90 93 101 98 52 51 75 76 92 91 99 100 0 14 12 2 13 3 1 15 28 36 8 20 21 9 37 29 82 109 58 66 69 61 106 85 84 107 60 68 67 59 108 83 30 38 10 22 23 11 39 31 80 111 56 64 71 63 104 87 24 32 4 16 17 5 33 25 26 34 6 18 19 7 35 27 81 110 57 65 70 62 105 86 +8 23 21 10 82 108 84 106 88 102 94 96 20 11 9 22 109 83 107 85 103 89 97 95 50 76 52 74 56 70 62 64 77 51 75 53 71 57 65 63 24 35 27 32 26 33 25 34 28 36 40 45 44 41 37 29 48 54 58 66 60 68 72 78 79 73 69 61 67 59 55 49 30 38 42 47 46 43 39 31 80 86 90 98 92 100 104 110 0 2 4 7 6 5 3 1 13 15 17 18 19 16 14 12 81 87 91 99 93 101 105 111 +40 47 45 42 82 85 109 106 58 61 69 66 44 43 41 46 84 83 107 108 60 59 67 68 80 87 111 104 56 63 71 64 86 81 105 110 62 57 65 70 0 15 13 2 12 3 1 14 28 36 8 21 20 9 37 29 48 79 88 96 103 95 72 55 54 73 94 102 97 89 78 49 30 38 10 23 22 11 39 31 50 77 90 98 101 93 74 53 24 32 4 17 16 5 33 25 27 35 7 18 19 6 34 26 51 76 91 99 100 92 75 52 +8 22 20 10 48 78 72 54 58 68 66 60 21 11 9 23 79 49 55 73 69 59 61 67 80 110 104 86 90 100 98 92 111 81 87 105 101 91 93 99 24 34 32 26 33 27 25 35 40 44 28 36 37 29 45 41 88 96 82 84 106 108 94 102 103 95 109 107 85 83 97 89 42 46 30 38 39 31 47 43 56 64 50 52 74 76 62 70 4 6 0 2 3 1 7 5 16 18 12 14 15 13 19 17 57 65 51 53 75 77 63 71 +28 38 36 30 48 73 79 54 82 107 109 84 37 31 29 39 72 49 55 78 106 83 85 108 56 65 71 62 90 99 101 92 64 57 63 70 98 91 93 100 4 18 16 6 17 7 5 19 40 44 8 20 21 9 45 41 88 103 58 60 69 67 94 97 96 95 66 68 61 59 102 89 42 46 10 22 23 11 47 43 80 111 50 52 77 75 86 105 24 26 0 12 13 1 27 25 32 34 2 14 15 3 35 33 81 110 51 53 76 74 87 104 +8 23 21 10 88 102 96 94 82 108 106 84 20 11 9 22 103 89 95 97 109 83 85 107 56 70 64 62 50 76 74 52 71 57 63 65 77 51 53 75 24 35 33 26 32 27 25 34 40 44 28 37 36 29 45 41 48 72 58 60 66 68 54 78 79 55 69 67 61 59 73 49 42 46 30 39 38 31 47 43 80 104 90 92 98 100 86 110 4 6 0 3 2 1 7 5 17 19 13 14 15 12 18 16 81 105 91 93 99 101 87 111 +28 39 37 30 88 97 103 94 58 67 69 60 36 31 29 38 96 89 95 102 66 59 61 68 80 105 111 86 50 75 77 52 104 81 87 110 74 51 53 76 4 19 17 6 16 7 5 18 40 44 8 21 20 9 45 41 48 79 82 84 109 107 54 73 72 55 106 108 85 83 78 49 42 46 10 23 22 11 47 43 56 71 90 92 101 99 62 65 24 26 0 13 12 1 27 25 33 35 3 14 15 2 34 32 57 70 91 93 100 98 63 64 +28 38 36 30 82 107 84 109 48 73 54 79 37 31 29 39 106 83 108 85 72 49 78 55 90 99 92 101 56 65 62 71 98 91 100 93 64 57 70 63 4 18 7 17 6 16 5 19 8 21 40 45 44 41 20 9 88 94 58 69 60 67 103 97 96 102 66 61 68 59 95 89 10 23 42 47 46 43 22 11 80 86 50 77 52 75 111 105 0 13 24 27 26 25 12 1 2 15 32 35 34 33 14 3 81 87 51 76 53 74 110 104 +40 46 44 42 88 95 96 103 48 55 72 79 45 43 41 47 94 89 102 97 54 49 78 73 90 93 98 101 50 53 74 77 92 91 100 99 52 51 76 75 0 14 3 13 2 12 1 15 8 21 28 37 36 29 20 9 82 106 58 69 66 61 109 85 84 108 60 67 68 59 107 83 10 23 30 39 38 31 22 11 80 104 56 71 64 63 111 87 4 17 24 33 32 25 16 5 6 19 26 35 34 27 18 7 81 105 57 70 65 62 110 86 +28 39 37 30 88 97 94 103 58 67 60 69 36 31 29 38 96 89 102 95 66 59 68 61 80 105 86 111 50 75 52 77 104 81 110 87 74 51 76 53 4 19 6 17 7 16 5 18 8 21 40 44 45 41 20 9 82 84 48 79 54 73 109 107 106 108 72 55 78 49 85 83 10 23 42 46 47 43 22 11 90 92 56 71 62 65 101 99 0 13 24 26 27 25 12 1 3 14 33 35 34 32 15 2 91 93 57 70 63 64 100 98 +40 47 45 42 82 85 106 109 58 61 66 69 44 43 41 46 84 83 108 107 60 59 68 67 80 87 104 111 56 63 64 71 86 81 110 105 62 57 70 65 0 15 2 13 3 12 1 14 8 21 28 36 37 29 20 9 88 96 48 79 72 55 103 95 94 102 54 73 78 49 97 89 10 23 30 38 39 31 22 11 90 98 50 77 74 53 101 93 4 17 24 32 33 25 16 5 7 18 27 35 34 26 19 6 91 99 51 76 75 52 100 92 +8 22 20 10 58 68 60 66 48 78 54 72 21 11 9 23 69 59 67 61 79 49 73 55 90 100 92 98 80 110 86 104 101 91 99 93 111 81 105 87 24 34 27 33 26 32 25 35 28 37 40 45 44 41 36 29 88 94 82 106 84 108 96 102 103 97 109 85 107 83 95 89 30 39 42 47 46 43 38 31 56 62 50 74 52 76 64 70 0 3 4 7 6 5 2 1 12 15 16 19 18 17 14 13 57 63 51 75 53 77 65 71 +40 46 44 42 88 95 103 96 48 55 79 72 45 43 41 47 94 89 97 102 54 49 73 78 90 93 101 98 50 53 77 74 92 91 99 100 52 51 75 76 0 14 13 3 12 2 1 15 28 37 8 21 20 9 36 29 58 69 82 106 109 85 66 61 60 67 84 108 107 83 68 59 30 39 10 23 22 11 38 31 56 71 80 104 111 87 64 63 24 33 4 17 16 5 32 25 26 35 6 19 18 7 34 27 57 70 81 105 110 86 65 62 +8 23 21 10 88 102 94 96 82 108 84 106 20 11 9 22 103 89 97 95 109 83 107 85 56 70 62 64 50 76 52 74 71 57 65 63 77 51 75 53 24 35 26 33 27 32 25 34 28 37 40 44 45 41 36 29 58 60 48 72 54 78 66 68 69 67 79 55 73 49 61 59 30 39 42 46 47 43 38 31 90 92 80 104 86 110 98 100 0 3 4 6 7 5 2 1 13 14 17 19 18 16 15 12 91 93 81 105 87 111 99 101 +40 47 45 42 58 61 69 66 82 85 109 106 44 43 41 46 60 59 67 68 84 83 107 108 56 63 71 64 80 87 111 104 62 57 65 70 86 81 105 110 0 15 12 3 13 2 1 14 28 37 8 20 21 9 36 29 88 103 48 72 79 55 96 95 94 97 54 78 73 49 102 89 30 39 10 22 23 11 38 31 90 101 50 74 77 53 98 93 24 33 4 16 17 5 32 25 27 34 7 19 18 6 35 26 91 100 51 75 76 52 99 92 +8 22 20 10 58 68 66 60 48 78 72 54 21 11 9 23 69 59 61 67 79 49 55 73 90 100 98 92 80 110 104 86 101 91 93 99 111 81 87 105 24 34 33 27 32 26 25 35 40 45 28 37 36 29 44 41 82 106 88 94 96 102 84 108 109 85 103 97 95 89 107 83 42 47 30 39 38 31 46 43 50 74 56 62 64 70 52 76 4 7 0 3 2 1 6 5 16 19 12 15 14 13 18 17 51 75 57 63 65 71 53 77 +28 38 36 30 82 107 109 84 48 73 79 54 37 31 29 39 106 83 85 108 72 49 55 78 90 99 101 92 56 65 71 62 98 91 93 100 64 57 63 70 4 18 17 7 16 6 5 19 40 45 8 21 20 9 44 41 58 69 88 94 103 97 60 67 66 61 96 102 95 89 68 59 42 47 10 23 22 11 46 43 50 77 80 86 111 105 52 75 24 27 0 13 12 1 26 25 32 35 2 15 14 3 34 33 51 76 81 87 110 104 53 74 +8 23 21 10 82 108 106 84 88 102 96 94 20 11 9 22 109 83 85 107 103 89 95 97 50 76 74 52 56 70 64 62 77 51 53 75 71 57 63 65 24 35 32 27 33 26 25 34 40 45 28 36 37 29 44 41 58 66 48 54 72 78 60 68 69 61 79 73 55 49 67 59 42 47 30 38 39 31 46 43 90 98 80 86 104 110 92 100 4 7 0 2 3 1 6 5 17 18 13 15 14 12 19 16 91 99 81 87 105 111 93 101 +28 39 37 30 58 67 69 60 88 97 103 94 36 31 29 38 66 59 61 68 96 89 95 102 50 75 77 52 80 105 111 86 74 51 53 76 104 81 87 110 4 19 16 7 17 6 5 18 40 45 8 20 21 9 44 41 82 109 48 54 79 73 84 107 106 85 72 78 55 49 108 83 42 47 10 22 23 11 46 43 90 101 56 62 71 65 92 99 24 27 0 12 13 1 26 25 33 34 3 15 14 2 35 32 91 100 57 63 70 64 93 98 +4 19 6 17 80 105 81 104 88 97 89 96 7 16 5 18 86 111 87 110 94 103 95 102 50 75 51 74 58 67 59 66 52 77 53 76 60 69 61 68 28 39 31 36 30 37 29 38 0 2 8 11 10 9 3 1 82 83 90 98 91 99 106 107 84 85 92 100 93 101 108 109 13 15 21 22 23 20 14 12 48 49 56 64 57 65 72 73 24 32 40 43 42 41 33 25 26 34 44 47 46 45 35 27 79 78 71 63 70 62 55 54 +8 23 10 21 82 108 84 106 88 102 94 96 11 20 9 22 83 109 85 107 89 103 95 97 50 76 52 74 56 70 62 64 51 77 53 75 57 71 63 65 24 35 27 32 26 33 25 34 0 2 4 7 6 5 3 1 80 86 90 98 92 100 104 110 81 87 91 99 93 101 105 111 13 15 17 18 19 16 14 12 48 54 58 66 60 68 72 78 28 36 40 45 44 41 37 29 30 38 42 47 46 43 39 31 79 73 69 61 67 59 55 49 +4 18 7 17 82 107 83 106 90 99 91 98 6 16 5 19 84 109 85 108 92 101 93 100 48 73 49 72 56 65 57 64 54 79 55 78 62 71 63 70 28 38 30 36 31 37 29 39 0 2 8 10 11 9 3 1 80 81 88 96 89 97 104 105 86 87 94 102 95 103 110 111 13 15 21 23 22 20 14 12 50 51 58 66 59 67 74 75 24 32 40 42 43 41 33 25 27 35 45 47 46 44 34 26 77 76 69 61 68 60 53 52 +8 22 11 21 80 110 86 104 90 100 92 98 10 20 9 23 81 111 87 105 91 101 93 99 48 78 54 72 58 68 60 66 49 79 55 73 59 69 61 67 24 34 26 32 27 33 25 35 0 2 4 6 7 5 3 1 82 84 88 96 94 102 106 108 83 85 89 97 95 103 107 109 13 15 17 19 18 16 14 12 50 52 56 64 62 70 74 76 28 36 40 44 45 41 37 29 31 39 43 47 46 42 38 30 77 75 71 63 65 57 53 51 +0 15 2 13 80 87 81 86 82 85 83 84 3 12 1 14 104 111 105 110 106 109 107 108 56 63 57 62 58 61 59 60 64 71 65 70 66 69 67 68 40 47 43 44 42 45 41 46 4 6 8 11 10 9 7 5 88 89 90 92 91 93 94 95 96 97 98 100 99 101 102 103 17 19 21 22 23 20 18 16 48 49 50 52 51 53 54 55 24 26 28 31 30 29 27 25 32 34 36 39 38 37 35 33 79 78 77 75 76 74 73 72 +8 23 10 21 88 102 96 94 82 108 106 84 11 20 9 22 89 103 97 95 83 109 107 85 56 70 64 62 50 76 74 52 57 71 65 63 51 77 75 53 24 35 33 26 32 27 25 34 4 6 0 3 2 1 7 5 80 104 90 92 98 100 86 110 81 105 91 93 99 101 87 111 17 19 13 14 15 12 18 16 48 72 58 60 66 68 54 78 40 44 28 37 36 29 45 41 42 46 30 39 38 31 47 43 79 55 69 67 61 59 73 49 +0 14 3 13 88 95 89 94 90 93 91 92 2 12 1 15 96 103 97 102 98 101 99 100 48 55 49 54 50 53 51 52 72 79 73 78 74 77 75 76 40 46 42 44 43 45 41 47 4 6 8 10 11 9 7 5 80 81 82 84 83 85 86 87 104 105 106 108 107 109 110 111 17 19 21 23 22 20 18 16 56 57 58 60 59 61 62 63 24 26 28 30 31 29 27 25 33 35 37 39 38 36 34 32 71 70 69 67 68 66 65 64 +8 22 11 21 80 110 104 86 90 100 98 92 10 20 9 23 81 111 105 87 91 101 99 93 48 78 72 54 58 68 66 60 49 79 73 55 59 69 67 61 24 34 32 26 33 27 25 35 4 6 0 2 3 1 7 5 88 96 82 84 106 108 94 102 89 97 83 85 107 109 95 103 17 19 13 15 14 12 18 16 56 64 50 52 74 76 62 70 40 44 28 36 37 29 45 41 43 47 31 39 38 30 46 42 71 63 77 75 53 51 65 57 +0 15 2 13 82 85 84 83 80 87 86 81 3 12 1 14 106 109 108 107 104 111 110 105 58 61 60 59 56 63 62 57 66 69 68 67 64 71 70 65 40 47 45 42 44 43 41 46 8 10 4 7 6 5 11 9 88 94 90 91 92 93 89 95 96 102 98 99 100 101 97 103 21 23 17 18 19 16 22 20 48 54 50 51 52 53 49 55 28 30 24 27 26 25 31 29 36 38 32 35 34 33 39 37 79 73 77 76 75 74 78 72 +4 19 6 17 88 97 96 89 80 105 104 81 7 16 5 18 94 103 102 95 86 111 110 87 58 67 66 59 50 75 74 51 60 69 68 61 52 77 76 53 28 39 37 30 36 31 29 38 8 10 0 3 2 1 11 9 82 106 90 91 98 99 83 107 84 108 92 93 100 101 85 109 21 23 13 14 15 12 22 20 48 72 56 57 64 65 49 73 40 42 24 33 32 25 43 41 44 46 26 35 34 27 47 45 79 55 71 70 63 62 78 54 +0 14 3 13 88 95 94 89 90 93 92 91 2 12 1 15 96 103 102 97 98 101 100 99 48 55 54 49 50 53 52 51 72 79 78 73 74 77 76 75 40 46 44 42 45 43 41 47 8 10 4 6 7 5 11 9 82 84 80 81 86 87 83 85 106 108 104 105 110 111 107 109 21 23 17 19 18 16 22 20 58 60 56 57 62 63 59 61 28 30 24 26 27 25 31 29 37 39 33 35 34 32 38 36 69 67 71 70 65 64 68 66 +4 18 7 17 82 107 106 83 90 99 98 91 6 16 5 19 84 109 108 85 92 101 100 93 48 73 72 49 56 65 64 57 54 79 78 55 62 71 70 63 28 38 36 30 37 31 29 39 8 10 0 2 3 1 11 9 88 96 80 81 104 105 89 97 94 102 86 87 110 111 95 103 21 23 13 15 14 12 22 20 58 66 50 51 74 75 59 67 40 42 24 32 33 25 43 41 45 47 27 35 34 26 46 44 69 61 77 76 53 52 68 60 +4 19 6 17 88 97 89 96 80 105 81 104 7 16 5 18 94 103 95 102 86 111 87 110 58 67 59 66 50 75 51 74 60 69 61 68 52 77 53 76 28 39 30 37 31 36 29 38 0 3 8 10 11 9 2 1 90 91 82 106 83 107 98 99 92 93 84 108 85 109 100 101 13 14 21 23 22 20 15 12 56 57 48 72 49 73 64 65 24 33 40 42 43 41 32 25 26 35 44 46 47 45 34 27 71 70 79 55 78 54 63 62 +8 23 10 21 88 102 94 96 82 108 84 106 11 20 9 22 89 103 95 97 83 109 85 107 56 70 62 64 50 76 52 74 57 71 63 65 51 77 53 75 24 35 26 33 27 32 25 34 0 3 4 6 7 5 2 1 90 92 80 104 86 110 98 100 91 93 81 105 87 111 99 101 13 14 17 19 18 16 15 12 58 60 48 72 54 78 66 68 28 37 40 44 45 41 36 29 30 39 42 46 47 43 38 31 69 67 79 55 73 49 61 59 +4 18 7 17 90 99 91 98 82 107 83 106 6 16 5 19 92 101 93 100 84 109 85 108 56 65 57 64 48 73 49 72 62 71 63 70 54 79 55 78 28 38 31 37 30 36 29 39 0 3 8 11 10 9 2 1 88 89 80 104 81 105 96 97 94 95 86 110 87 111 102 103 13 14 21 22 23 20 15 12 58 59 50 74 51 75 66 67 24 33 40 43 42 41 32 25 27 34 45 46 47 44 35 26 69 68 77 53 76 52 61 60 +8 22 11 21 90 100 92 98 80 110 86 104 10 20 9 23 91 101 93 99 81 111 87 105 58 68 60 66 48 78 54 72 59 69 61 67 49 79 55 73 24 34 27 33 26 32 25 35 0 3 4 7 6 5 2 1 88 94 82 106 84 108 96 102 89 95 83 107 85 109 97 103 13 14 17 18 19 16 15 12 56 62 50 74 52 76 64 70 28 37 40 45 44 41 36 29 31 38 43 46 47 42 39 30 71 65 77 53 75 51 63 57 +0 15 2 13 82 85 83 84 80 87 81 86 3 12 1 14 106 109 107 108 104 111 105 110 58 61 59 60 56 63 57 62 66 69 67 68 64 71 65 70 40 47 42 45 43 44 41 46 4 7 8 10 11 9 6 5 90 91 88 94 89 95 92 93 98 99 96 102 97 103 100 101 17 18 21 23 22 20 19 16 50 51 48 54 49 55 52 53 24 27 28 30 31 29 26 25 32 35 36 38 39 37 34 33 77 76 79 73 78 72 75 74 +8 23 10 21 82 108 106 84 88 102 96 94 11 20 9 22 83 109 107 85 89 103 97 95 50 76 74 52 56 70 64 62 51 77 75 53 57 71 65 63 24 35 32 27 33 26 25 34 4 7 0 2 3 1 6 5 90 98 80 86 104 110 92 100 91 99 81 87 105 111 93 101 17 18 13 15 14 12 19 16 58 66 48 54 72 78 60 68 40 45 28 36 37 29 44 41 42 47 30 38 39 31 46 43 69 61 79 73 55 49 67 59 +0 14 3 13 90 93 91 92 88 95 89 94 2 12 1 15 98 101 99 100 96 103 97 102 50 53 51 52 48 55 49 54 74 77 75 76 72 79 73 78 40 46 43 45 42 44 41 47 4 7 8 11 10 9 6 5 82 83 80 86 81 87 84 85 106 107 104 110 105 111 108 109 17 18 21 22 23 20 19 16 58 59 56 62 57 63 60 61 24 27 28 31 30 29 26 25 33 34 37 38 39 36 35 32 69 68 71 65 70 64 67 66 +8 22 11 21 90 100 98 92 80 110 104 86 10 20 9 23 91 101 99 93 81 111 105 87 58 68 66 60 48 78 72 54 59 69 67 61 49 79 73 55 24 34 33 27 32 26 25 35 4 7 0 3 2 1 6 5 82 106 88 94 96 102 84 108 83 107 89 95 97 103 85 109 17 18 13 14 15 12 19 16 50 74 56 62 64 70 52 76 40 45 28 37 36 29 44 41 43 46 31 38 39 30 47 42 77 53 71 65 63 57 75 51 +0 15 2 13 80 87 86 81 82 85 84 83 3 12 1 14 104 111 110 105 106 109 108 107 56 63 62 57 58 61 60 59 64 71 70 65 66 69 68 67 40 47 44 43 45 42 41 46 8 11 4 6 7 5 10 9 90 92 88 89 94 95 91 93 98 100 96 97 102 103 99 101 21 22 17 19 18 16 23 20 50 52 48 49 54 55 51 53 28 31 24 26 27 25 30 29 36 39 32 34 35 33 38 37 77 75 79 78 73 72 76 74 +4 19 6 17 80 105 104 81 88 97 96 89 7 16 5 18 86 111 110 87 94 103 102 95 50 75 74 51 58 67 66 59 52 77 76 53 60 69 68 61 28 39 36 31 37 30 29 38 8 11 0 2 3 1 10 9 90 98 82 83 106 107 91 99 92 100 84 85 108 109 93 101 21 22 13 15 14 12 23 20 56 64 48 49 72 73 57 65 40 43 24 32 33 25 42 41 44 47 26 34 35 27 46 45 71 63 79 78 55 54 70 62 +0 14 3 13 90 93 92 91 88 95 94 89 2 12 1 15 98 101 100 99 96 103 102 97 50 53 52 51 48 55 54 49 74 77 76 75 72 79 78 73 40 46 45 43 44 42 41 47 8 11 4 7 6 5 10 9 80 86 82 83 84 85 81 87 104 110 106 107 108 109 105 111 21 22 17 18 19 16 23 20 56 62 58 59 60 61 57 63 28 31 24 27 26 25 30 29 37 38 33 34 35 32 39 36 71 65 69 68 67 66 70 64 +4 18 7 17 90 99 98 91 82 107 106 83 6 16 5 19 92 101 100 93 84 109 108 85 56 65 64 57 48 73 72 49 62 71 70 63 54 79 78 55 28 38 37 31 36 30 29 39 8 11 0 3 2 1 10 9 80 104 88 89 96 97 81 105 86 110 94 95 102 103 87 111 21 22 13 14 15 12 23 20 50 74 58 59 66 67 51 75 40 43 24 33 32 25 42 41 45 46 27 34 35 26 47 44 77 53 69 68 61 60 76 52 +80 105 81 104 4 19 6 17 88 97 89 96 86 111 87 110 7 16 5 18 94 103 95 102 50 75 52 77 28 39 31 36 51 74 53 76 30 37 29 38 58 67 59 66 60 69 61 68 0 2 82 83 84 85 13 15 8 11 90 98 92 100 21 22 10 9 91 99 93 101 23 20 3 1 106 107 108 109 14 12 48 49 24 32 26 34 79 78 56 64 40 43 44 47 71 63 57 65 42 41 46 45 70 62 72 73 33 25 35 27 55 54 +82 108 84 106 8 23 10 21 88 102 94 96 83 109 85 107 11 20 9 22 89 103 95 97 50 76 51 77 24 35 27 32 52 74 53 75 26 33 25 34 56 70 62 64 57 71 63 65 0 2 80 86 81 87 13 15 4 7 90 98 91 99 17 18 6 5 92 100 93 101 19 16 3 1 104 110 105 111 14 12 48 54 28 36 30 38 79 73 58 66 40 45 42 47 69 61 60 68 44 41 46 43 67 59 72 78 37 29 39 31 55 49 +82 107 83 106 4 18 7 17 90 99 91 98 84 109 85 108 6 16 5 19 92 101 93 100 48 73 54 79 28 38 30 36 49 72 55 78 31 37 29 39 56 65 57 64 62 71 63 70 0 2 80 81 86 87 13 15 8 10 88 96 94 102 21 23 11 9 89 97 95 103 22 20 3 1 104 105 110 111 14 12 50 51 24 32 27 35 77 76 58 66 40 42 45 47 69 61 59 67 43 41 46 44 68 60 74 75 33 25 34 26 53 52 +80 110 86 104 8 22 11 21 90 100 92 98 81 111 87 105 10 20 9 23 91 101 93 99 48 78 49 79 24 34 26 32 54 72 55 73 27 33 25 35 58 68 60 66 59 69 61 67 0 2 82 84 83 85 13 15 4 6 88 96 89 97 17 19 7 5 94 102 95 103 18 16 3 1 106 108 107 109 14 12 50 52 28 36 31 39 77 75 56 64 40 44 43 47 71 63 62 70 45 41 46 42 65 57 74 76 37 29 38 30 53 51 +0 1 2 3 4 5 6 7 8 9 11 10 13 12 15 14 17 16 19 18 21 20 22 23 24 25 26 27 28 29 31 30 32 33 34 35 36 37 39 38 40 41 43 42 44 45 47 46 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 +82 108 84 106 88 102 96 94 8 23 21 10 83 109 85 107 89 103 97 95 11 20 22 9 24 35 32 27 50 76 77 51 26 33 34 25 52 74 75 53 56 70 71 57 64 62 63 65 80 81 0 13 2 15 86 87 4 17 90 91 98 99 7 18 6 19 92 93 100 101 5 16 104 105 3 14 1 12 110 111 48 79 28 30 36 38 54 73 40 42 58 69 66 61 45 47 44 46 60 67 68 59 41 43 72 55 37 39 29 31 78 49 +0 14 13 3 88 95 89 94 90 93 92 91 2 12 15 1 96 103 97 102 98 101 100 99 48 55 49 54 50 53 52 51 79 72 78 73 77 74 75 76 40 46 44 42 43 45 47 41 80 81 82 84 83 85 86 87 4 6 8 10 11 9 7 5 17 19 21 23 22 20 18 16 104 105 106 108 107 109 110 111 24 26 28 30 31 29 27 25 56 57 58 60 59 61 62 63 71 70 69 67 68 66 65 64 33 35 37 39 38 36 34 32 +82 107 83 106 4 18 17 7 90 99 98 91 84 109 85 108 6 16 19 5 92 101 100 93 48 73 79 54 28 38 36 30 49 72 78 55 31 37 39 29 56 65 64 57 71 62 63 70 80 81 0 2 13 15 86 87 88 96 8 10 21 23 94 102 89 97 11 9 22 20 95 103 104 105 3 1 14 12 110 111 24 32 50 51 77 76 27 35 40 42 58 66 69 61 45 47 43 41 59 67 68 60 46 44 33 25 74 75 53 52 34 26 +0 1 2 3 8 9 10 11 4 5 7 6 13 12 15 14 21 20 23 22 17 16 18 19 28 29 30 31 24 25 27 26 36 37 38 39 32 33 35 34 40 41 45 44 42 43 47 46 82 84 80 86 81 87 83 85 88 94 90 92 91 93 89 95 96 102 98 100 99 101 97 103 106 108 104 110 105 111 107 109 48 54 50 52 51 53 49 55 58 60 56 62 57 63 59 61 66 68 64 70 65 71 67 69 72 78 74 76 75 77 73 79 +80 105 81 104 88 97 96 89 4 19 17 6 86 111 87 110 94 103 102 95 7 16 18 5 28 39 36 31 50 75 77 52 30 37 38 29 51 74 76 53 58 67 69 60 66 59 61 68 82 84 0 13 2 15 83 85 8 21 90 92 98 100 11 22 10 23 91 93 99 101 9 20 106 108 3 14 1 12 107 109 48 79 24 26 32 34 49 78 40 44 56 71 64 63 43 47 42 46 57 70 65 62 41 45 72 55 33 35 25 27 73 54 +0 14 13 3 88 95 94 89 90 93 91 92 2 12 15 1 96 103 102 97 98 101 99 100 48 55 54 49 50 53 51 52 79 72 73 78 77 74 76 75 40 46 42 44 45 43 47 41 82 84 80 81 86 87 83 85 8 10 4 6 7 5 11 9 21 23 17 19 18 16 22 20 106 108 104 105 110 111 107 109 28 30 24 26 27 25 31 29 58 60 56 57 62 63 59 61 69 67 71 70 65 64 68 66 37 39 33 35 34 32 38 36 +80 110 86 104 8 22 21 11 90 100 98 92 81 111 87 105 10 20 23 9 91 101 99 93 48 78 79 49 24 34 32 26 54 72 73 55 27 33 35 25 58 68 66 60 69 59 61 67 82 84 0 2 13 15 83 85 88 96 4 6 17 19 89 97 94 102 7 5 18 16 95 103 106 108 3 1 14 12 107 109 28 36 50 52 77 75 31 39 40 44 56 64 71 63 43 47 45 41 62 70 65 57 46 42 37 29 74 76 53 51 38 30 +80 105 81 104 88 97 89 96 4 19 6 17 86 111 87 110 94 103 95 102 7 16 5 18 28 39 31 36 50 75 52 77 30 37 29 38 51 74 53 76 58 67 60 69 59 66 61 68 0 13 82 84 83 85 2 15 90 92 8 21 11 22 98 100 91 93 10 23 9 20 99 101 3 14 106 108 107 109 1 12 24 26 48 79 49 78 32 34 56 71 40 44 43 47 64 63 57 70 42 46 41 45 65 62 33 35 72 55 73 54 25 27 +82 108 84 106 88 102 94 96 8 23 10 21 83 109 85 107 89 103 95 97 11 20 9 22 24 35 27 32 50 76 51 77 26 33 25 34 52 74 53 75 56 70 57 71 62 64 63 65 0 13 80 81 86 87 2 15 90 91 4 17 7 18 98 99 92 93 6 19 5 16 100 101 3 14 104 105 110 111 1 12 28 30 48 79 54 73 36 38 58 69 40 42 45 47 66 61 60 67 44 46 41 43 68 59 37 39 72 55 78 49 29 31 +82 107 83 106 90 99 91 98 4 18 7 17 84 109 85 108 92 101 93 100 6 16 5 19 28 38 30 36 48 73 54 79 31 37 29 39 49 72 55 78 56 65 62 71 57 64 63 70 0 13 80 86 81 87 2 15 88 94 8 21 10 23 96 102 89 95 11 22 9 20 97 103 3 14 104 110 105 111 1 12 24 27 50 77 51 76 32 35 58 69 40 45 42 47 66 61 59 68 43 46 41 44 67 60 33 34 74 53 75 52 25 26 +80 110 86 104 90 100 92 98 8 22 11 21 81 111 87 105 91 101 93 99 10 20 9 23 24 34 26 32 48 78 49 79 27 33 25 35 54 72 55 73 58 68 59 69 60 66 61 67 0 13 82 83 84 85 2 15 88 89 4 17 6 19 96 97 94 95 7 18 5 16 102 103 3 14 106 107 108 109 1 12 28 31 50 77 52 75 36 39 56 71 40 43 44 47 64 63 62 65 45 46 41 42 70 57 37 38 74 53 76 51 29 30 +0 1 2 3 4 5 7 6 8 9 10 11 13 12 15 14 17 16 18 19 21 20 23 22 24 25 27 26 28 29 30 31 32 33 35 34 36 37 38 39 40 41 42 43 45 44 47 46 82 83 80 81 86 87 84 85 90 91 88 89 94 95 92 93 98 99 96 97 102 103 100 101 106 107 104 105 110 111 108 109 50 51 48 49 54 55 52 53 58 59 56 57 62 63 60 61 66 67 64 65 70 71 68 69 74 75 72 73 78 79 76 77 +80 105 81 104 4 19 17 6 88 97 96 89 86 111 87 110 7 16 18 5 94 103 102 95 50 75 77 52 28 39 36 31 51 74 76 53 30 37 38 29 58 67 66 59 69 60 61 68 82 83 0 2 13 15 84 85 90 98 8 11 21 22 92 100 91 99 10 9 23 20 93 101 106 107 3 1 14 12 108 109 24 32 48 49 79 78 26 34 40 43 56 64 71 63 44 47 42 41 57 65 70 62 46 45 33 25 72 73 55 54 35 27 +0 14 13 3 90 93 91 92 88 95 94 89 2 12 15 1 98 101 99 100 96 103 102 97 50 53 51 52 48 55 54 49 77 74 76 75 79 72 73 78 40 46 45 43 42 44 47 41 82 83 80 86 81 87 84 85 4 7 8 11 10 9 6 5 17 18 21 22 23 20 19 16 106 107 104 110 105 111 108 109 24 27 28 31 30 29 26 25 58 59 56 62 57 63 60 61 69 68 71 65 70 64 67 66 33 34 37 38 39 36 35 32 +80 110 86 104 90 100 98 92 8 22 21 11 81 111 87 105 91 101 99 93 10 20 23 9 24 34 32 26 48 78 79 49 27 33 35 25 54 72 73 55 58 68 69 59 66 60 61 67 82 83 0 13 2 15 84 85 4 17 88 89 96 97 6 19 7 18 94 95 102 103 5 16 106 107 3 14 1 12 108 109 50 77 28 31 36 39 52 75 40 43 56 71 64 63 44 47 45 46 62 65 70 57 41 42 74 53 37 38 29 30 76 51 +0 1 2 3 8 9 11 10 4 5 6 7 13 12 15 14 21 20 22 23 17 16 19 18 28 29 31 30 24 25 26 27 36 37 39 38 32 33 34 35 40 41 44 45 43 42 47 46 80 86 82 84 83 85 81 87 90 92 88 94 89 95 91 93 98 100 96 102 97 103 99 101 104 110 106 108 107 109 105 111 50 52 48 54 49 55 51 53 56 62 58 60 59 61 57 63 64 70 66 68 67 69 65 71 74 76 72 78 73 79 75 77 +82 108 84 106 8 23 21 10 88 102 96 94 83 109 85 107 11 20 22 9 89 103 97 95 50 76 77 51 24 35 32 27 52 74 75 53 26 33 34 25 56 70 64 62 71 57 63 65 80 86 0 2 13 15 81 87 90 98 4 7 17 18 91 99 92 100 6 5 19 16 93 101 104 110 3 1 14 12 105 111 28 36 48 54 79 73 30 38 40 45 58 66 69 61 42 47 44 41 60 68 67 59 46 43 37 29 72 78 55 49 39 31 +0 14 13 3 90 93 92 91 88 95 89 94 2 12 15 1 98 101 100 99 96 103 97 102 50 53 52 51 48 55 49 54 77 74 75 76 79 72 78 73 40 46 43 45 44 42 47 41 80 86 82 83 84 85 81 87 8 11 4 7 6 5 10 9 21 22 17 18 19 16 23 20 104 110 106 107 108 109 105 111 28 31 24 27 26 25 30 29 56 62 58 59 60 61 57 63 71 65 69 68 67 66 70 64 37 38 33 34 35 32 39 36 +82 107 83 106 90 99 98 91 4 18 17 7 84 109 85 108 92 101 100 93 6 16 19 5 28 38 36 30 48 73 79 54 31 37 39 29 49 72 78 55 56 65 71 62 64 57 63 70 80 86 0 13 2 15 81 87 8 21 88 94 96 102 10 23 11 22 89 95 97 103 9 20 104 110 3 14 1 12 105 111 50 77 24 27 32 35 51 76 40 45 58 69 66 61 42 47 43 46 59 68 67 60 41 44 74 53 33 34 25 26 75 52 +80 87 81 86 0 15 2 13 82 85 83 84 104 111 105 110 3 12 1 14 106 109 107 108 56 63 64 71 40 47 43 44 57 62 65 70 42 45 41 46 58 61 59 60 66 69 67 68 4 6 88 89 96 97 17 19 8 11 90 92 98 100 21 22 10 9 91 93 99 101 23 20 7 5 94 95 102 103 18 16 48 49 24 26 32 34 79 78 50 52 28 31 36 39 77 75 51 53 30 29 38 37 76 74 54 55 27 25 35 33 73 72 +88 102 96 94 8 23 10 21 82 108 106 84 89 103 97 95 11 20 9 22 83 109 107 85 56 70 57 71 24 35 33 26 64 62 65 63 32 27 25 34 50 76 74 52 51 77 75 53 4 6 80 104 81 105 17 19 0 3 90 92 91 93 13 14 2 1 98 100 99 101 15 12 7 5 86 110 87 111 18 16 48 72 40 44 42 46 79 55 58 60 28 37 30 39 69 67 66 68 36 29 38 31 61 59 54 78 45 41 47 43 73 49 +88 95 89 94 0 14 3 13 90 93 91 92 96 103 97 102 2 12 1 15 98 101 99 100 48 55 72 79 40 46 42 44 49 54 73 78 43 45 41 47 50 53 51 52 74 77 75 76 4 6 80 81 104 105 17 19 8 10 82 84 106 108 21 23 11 9 83 85 107 109 22 20 7 5 86 87 110 111 18 16 56 57 24 26 33 35 71 70 58 60 28 30 37 39 69 67 59 61 31 29 38 36 68 66 62 63 27 25 34 32 65 64 +80 110 104 86 8 22 11 21 90 100 98 92 81 111 105 87 10 20 9 23 91 101 99 93 48 78 49 79 24 34 32 26 72 54 73 55 33 27 25 35 58 68 66 60 59 69 67 61 4 6 88 96 89 97 17 19 0 2 82 84 83 85 13 15 3 1 106 108 107 109 14 12 7 5 94 102 95 103 18 16 56 64 40 44 43 47 71 63 50 52 28 36 31 39 77 75 74 76 37 29 38 30 53 51 62 70 45 41 46 42 65 57 +4 5 6 7 0 1 2 3 8 9 11 10 17 16 19 18 13 12 15 14 21 20 22 23 24 25 32 33 40 41 43 42 26 27 34 35 44 45 47 46 28 29 31 30 36 37 39 38 80 81 88 89 96 97 104 105 82 83 90 91 98 99 106 107 84 85 92 93 100 101 108 109 86 87 94 95 102 103 110 111 48 49 56 57 64 65 72 73 50 51 58 59 66 67 74 75 52 53 60 61 68 69 76 77 54 55 62 63 70 71 78 79 +88 102 96 94 82 108 84 106 8 23 21 10 89 103 97 95 83 109 85 107 11 20 22 9 24 35 26 33 56 70 71 57 32 27 34 25 64 62 63 65 50 76 77 51 52 74 75 53 80 81 4 17 6 19 104 105 0 13 90 91 92 93 3 14 2 15 98 99 100 101 1 12 86 87 7 18 5 16 110 111 48 79 40 42 44 46 72 55 28 30 58 69 60 67 37 39 36 38 66 61 68 59 29 31 54 73 45 47 41 43 78 49 +88 95 89 94 0 14 13 3 90 93 92 91 96 103 97 102 2 12 15 1 98 101 100 99 48 55 79 72 40 46 44 42 49 54 78 73 43 45 47 41 50 53 52 51 77 74 75 76 80 81 4 6 17 19 104 105 82 84 8 10 21 23 106 108 83 85 11 9 22 20 107 109 86 87 7 5 18 16 110 111 24 26 56 57 71 70 33 35 28 30 58 60 69 67 37 39 31 29 59 61 68 66 38 36 27 25 62 63 65 64 34 32 +4 18 17 7 82 107 83 106 90 99 98 91 6 16 19 5 84 109 85 108 92 101 100 93 48 73 49 72 56 65 64 57 79 54 78 55 71 62 63 70 28 38 36 30 31 37 39 29 80 81 88 96 89 97 104 105 0 2 8 10 11 9 3 1 13 15 21 23 22 20 14 12 86 87 94 102 95 103 110 111 24 32 40 42 43 41 33 25 50 51 58 66 59 67 74 75 77 76 69 61 68 60 53 52 27 35 45 47 46 44 34 26 +4 5 6 7 8 9 10 11 0 1 3 2 17 16 19 18 21 20 23 22 13 12 14 15 40 41 42 43 24 25 33 32 44 45 46 47 26 27 35 34 28 29 37 36 30 31 39 38 88 96 80 104 81 105 89 97 82 106 90 98 91 99 83 107 84 108 92 100 93 101 85 109 94 102 86 110 87 111 95 103 48 72 56 64 57 65 49 73 58 66 50 74 51 75 59 67 60 68 52 76 53 77 61 69 54 78 62 70 63 71 55 79 +80 87 81 86 82 85 84 83 0 15 13 2 104 111 105 110 106 109 108 107 3 12 14 1 40 47 44 43 56 63 71 64 42 45 46 41 57 62 70 65 58 61 69 66 60 59 67 68 88 96 4 17 6 19 89 97 8 21 90 98 92 100 11 22 10 23 91 99 93 101 9 20 94 102 7 18 5 16 95 103 48 79 24 32 26 34 49 78 28 36 50 77 52 75 31 39 30 38 51 76 53 74 29 37 54 73 27 35 25 33 55 72 +4 18 17 7 82 107 106 83 90 99 91 98 6 16 19 5 84 109 108 85 92 101 93 100 48 73 72 49 56 65 57 64 79 54 55 78 71 62 70 63 28 38 30 36 37 31 39 29 88 96 80 81 104 105 89 97 8 10 0 2 3 1 11 9 21 23 13 15 14 12 22 20 94 102 86 87 110 111 95 103 40 42 24 32 33 25 43 41 58 66 50 51 74 75 59 67 69 61 77 76 53 52 68 60 45 47 27 35 34 26 46 44 +80 110 104 86 8 22 21 11 90 100 92 98 81 111 105 87 10 20 23 9 91 101 93 99 48 78 79 49 24 34 26 32 72 54 55 73 33 27 35 25 58 68 60 66 69 59 67 61 88 96 4 6 17 19 89 97 82 84 0 2 13 15 83 85 106 108 3 1 14 12 107 109 94 102 7 5 18 16 95 103 40 44 56 64 71 63 43 47 28 36 50 52 77 75 31 39 37 29 74 76 53 51 38 30 45 41 62 70 65 57 46 42 +4 5 6 7 0 1 3 2 8 9 10 11 17 16 19 18 13 12 14 15 21 20 23 22 24 25 33 32 40 41 42 43 26 27 35 34 44 45 46 47 28 29 30 31 37 36 39 38 88 89 80 81 104 105 96 97 90 91 82 83 106 107 98 99 92 93 84 85 108 109 100 101 94 95 86 87 110 111 102 103 56 57 48 49 72 73 64 65 58 59 50 51 74 75 66 67 60 61 52 53 76 77 68 69 62 63 54 55 78 79 70 71 +80 87 81 86 0 15 13 2 82 85 84 83 104 111 105 110 3 12 14 1 106 109 108 107 56 63 71 64 40 47 44 43 57 62 70 65 42 45 46 41 58 61 60 59 69 66 67 68 88 89 4 6 17 19 96 97 90 92 8 11 21 22 98 100 91 93 10 9 23 20 99 101 94 95 7 5 18 16 102 103 24 26 48 49 79 78 32 34 28 31 50 52 77 75 36 39 30 29 51 53 76 74 38 37 27 25 54 55 73 72 35 33 +4 18 17 7 90 99 91 98 82 107 106 83 6 16 19 5 92 101 93 100 84 109 108 85 56 65 57 64 48 73 72 49 71 62 70 63 79 54 55 78 28 38 37 31 30 36 39 29 88 89 80 104 81 105 96 97 0 3 8 11 10 9 2 1 13 14 21 22 23 20 15 12 94 95 86 110 87 111 102 103 24 33 40 43 42 41 32 25 58 59 50 74 51 75 66 67 69 68 77 53 76 52 61 60 27 34 45 46 47 44 35 26 +80 110 104 86 90 100 92 98 8 22 21 11 81 111 105 87 91 101 93 99 10 20 23 9 24 34 26 32 48 78 79 49 33 27 35 25 72 54 55 73 58 68 69 59 60 66 67 61 88 89 4 17 6 19 96 97 0 13 82 83 84 85 2 15 3 14 106 107 108 109 1 12 94 95 7 18 5 16 102 103 56 71 40 43 44 47 64 63 28 31 50 77 52 75 36 39 37 38 74 53 76 51 29 30 62 65 45 46 41 42 70 57 +80 87 81 86 82 85 83 84 0 15 2 13 104 111 105 110 106 109 107 108 3 12 1 14 40 47 43 44 56 63 64 71 42 45 41 46 57 62 65 70 58 61 66 69 59 60 67 68 4 17 88 96 89 97 6 19 90 98 8 21 11 22 92 100 91 99 10 23 9 20 93 101 7 18 94 102 95 103 5 16 24 32 48 79 49 78 26 34 50 77 28 36 31 39 52 75 51 76 30 38 29 37 53 74 27 35 54 73 55 72 25 33 +88 102 96 94 82 108 106 84 8 23 10 21 89 103 97 95 83 109 107 85 11 20 9 22 24 35 33 26 56 70 57 71 32 27 25 34 64 62 65 63 50 76 51 77 74 52 75 53 4 17 80 81 104 105 6 19 90 91 0 13 3 14 92 93 98 99 2 15 1 12 100 101 7 18 86 87 110 111 5 16 40 42 48 79 72 55 44 46 58 69 28 30 37 39 60 67 66 61 36 38 29 31 68 59 45 47 54 73 78 49 41 43 +88 95 89 94 90 93 91 92 0 14 3 13 96 103 97 102 98 101 99 100 2 12 1 15 40 46 42 44 48 55 72 79 43 45 41 47 49 54 73 78 50 53 74 77 51 52 75 76 4 17 80 104 81 105 6 19 82 106 8 21 10 23 84 108 83 107 11 22 9 20 85 109 7 18 86 110 87 111 5 16 24 33 56 71 57 70 26 35 58 69 28 37 30 39 60 67 59 68 31 38 29 36 61 66 27 34 62 65 63 64 25 32 +80 110 104 86 90 100 98 92 8 22 11 21 81 111 105 87 91 101 99 93 10 20 9 23 24 34 32 26 48 78 49 79 33 27 25 35 72 54 73 55 58 68 59 69 66 60 67 61 4 17 88 89 96 97 6 19 82 83 0 13 2 15 84 85 106 107 3 14 1 12 108 109 7 18 94 95 102 103 5 16 40 43 56 71 64 63 44 47 50 77 28 31 36 39 52 75 74 53 37 38 29 30 76 51 45 46 62 65 70 57 41 42 +4 5 6 7 8 9 11 10 0 1 2 3 17 16 19 18 21 20 22 23 13 12 15 14 40 41 43 42 24 25 32 33 44 45 47 46 26 27 34 35 28 29 36 37 31 30 39 38 80 104 88 96 89 97 81 105 90 98 82 106 83 107 91 99 92 100 84 108 85 109 93 101 86 110 94 102 95 103 87 111 56 64 48 72 49 73 57 65 50 74 58 66 59 67 51 75 52 76 60 68 61 69 53 77 62 70 54 78 55 79 63 71 +88 102 96 94 8 23 21 10 82 108 84 106 89 103 97 95 11 20 22 9 83 109 85 107 56 70 71 57 24 35 26 33 64 62 63 65 32 27 34 25 50 76 52 74 77 51 75 53 80 104 4 6 17 19 81 105 90 92 0 3 13 14 91 93 98 100 2 1 15 12 99 101 86 110 7 5 18 16 87 111 40 44 48 72 79 55 42 46 28 37 58 60 69 67 30 39 36 29 66 68 61 59 38 31 45 41 54 78 73 49 47 43 +88 95 89 94 90 93 92 91 0 14 13 3 96 103 97 102 98 101 100 99 2 12 15 1 40 46 44 42 48 55 79 72 43 45 47 41 49 54 78 73 50 53 77 74 52 51 75 76 80 104 4 17 6 19 81 105 8 21 82 106 84 108 10 23 11 22 83 107 85 109 9 20 86 110 7 18 5 16 87 111 56 71 24 33 26 35 57 70 28 37 58 69 60 67 30 39 31 38 59 68 61 66 29 36 62 65 27 34 25 32 63 64 +4 18 17 7 90 99 98 91 82 107 83 106 6 16 19 5 92 101 100 93 84 109 85 108 56 65 64 57 48 73 49 72 71 62 63 70 79 54 78 55 28 38 31 37 36 30 39 29 80 104 88 89 96 97 81 105 8 11 0 3 2 1 10 9 21 22 13 14 15 12 23 20 86 110 94 95 102 103 87 111 40 43 24 33 32 25 42 41 50 74 58 59 66 67 51 75 77 53 69 68 61 60 76 52 45 46 27 34 35 26 47 44 +82 85 84 83 0 15 2 13 80 87 86 81 106 109 108 107 3 12 1 14 104 111 110 105 58 61 66 69 40 47 45 42 60 59 68 67 44 43 41 46 56 63 62 57 64 71 70 65 8 10 88 94 96 102 21 23 4 7 90 91 98 99 17 18 6 5 92 93 100 101 19 16 11 9 89 95 97 103 22 20 48 54 28 30 36 38 79 73 50 51 24 27 32 35 77 76 52 53 26 25 34 33 75 74 49 55 31 29 39 37 78 72 +88 97 96 89 4 19 6 17 80 105 104 81 94 103 102 95 7 16 5 18 86 111 110 87 58 67 60 69 28 39 37 30 66 59 68 61 36 31 29 38 50 75 74 51 52 77 76 53 8 10 82 106 84 108 21 23 0 3 90 91 92 93 13 14 2 1 98 99 100 101 15 12 11 9 83 107 85 109 22 20 48 72 40 42 44 46 79 55 56 57 24 33 26 35 71 70 64 65 32 25 34 27 63 62 49 73 43 41 47 45 78 54 +88 95 94 89 0 14 3 13 90 93 92 91 96 103 102 97 2 12 1 15 98 101 100 99 48 55 72 79 40 46 44 42 54 49 78 73 45 43 41 47 50 53 52 51 74 77 76 75 8 10 82 84 106 108 21 23 4 6 80 81 104 105 17 19 7 5 86 87 110 111 18 16 11 9 83 85 107 109 22 20 58 60 28 30 37 39 69 67 56 57 24 26 33 35 71 70 62 63 27 25 34 32 65 64 59 61 31 29 38 36 68 66 +82 107 106 83 4 18 7 17 90 99 98 91 84 109 108 85 6 16 5 19 92 101 100 93 48 73 54 79 28 38 36 30 72 49 78 55 37 31 29 39 56 65 64 57 62 71 70 63 8 10 88 96 94 102 21 23 0 2 80 81 86 87 13 15 3 1 104 105 110 111 14 12 11 9 89 97 95 103 22 20 58 66 40 42 45 47 69 61 50 51 24 32 27 35 77 76 74 75 33 25 34 26 53 52 59 67 43 41 46 44 68 60 +8 9 10 11 0 1 2 3 4 5 7 6 21 20 23 22 13 12 15 14 17 16 18 19 28 29 36 37 40 41 45 44 30 31 38 39 42 43 47 46 24 25 27 26 32 33 35 34 82 84 88 94 96 102 106 108 80 86 90 92 98 100 104 110 81 87 91 93 99 101 105 111 83 85 89 95 97 103 107 109 48 54 58 60 66 68 72 78 50 52 56 62 64 70 74 76 51 53 57 63 65 71 75 77 49 55 59 61 67 69 73 79 +88 97 96 89 80 105 81 104 4 19 17 6 94 103 102 95 86 111 87 110 7 16 18 5 28 39 30 37 58 67 69 60 36 31 38 29 66 59 61 68 50 75 77 52 51 74 76 53 82 84 8 21 10 23 106 108 0 13 90 92 91 93 3 14 2 15 98 100 99 101 1 12 83 85 11 22 9 20 107 109 48 79 40 44 42 46 72 55 24 26 56 71 57 70 33 35 32 34 64 63 65 62 25 27 49 78 43 47 41 45 73 54 +88 95 94 89 0 14 13 3 90 93 91 92 96 103 102 97 2 12 15 1 98 101 99 100 48 55 79 72 40 46 42 44 54 49 73 78 45 43 47 41 50 53 51 52 77 74 76 75 82 84 8 10 21 23 106 108 80 81 4 6 17 19 104 105 86 87 7 5 18 16 110 111 83 85 11 9 22 20 107 109 28 30 58 60 69 67 37 39 24 26 56 57 71 70 33 35 27 25 62 63 65 64 34 32 31 29 59 61 68 66 38 36 +8 22 21 11 80 110 86 104 90 100 98 92 10 20 23 9 81 111 87 105 91 101 99 93 48 78 54 72 58 68 66 60 79 49 73 55 69 59 61 67 24 34 32 26 27 33 35 25 82 84 88 96 94 102 106 108 0 2 4 6 7 5 3 1 13 15 17 19 18 16 14 12 83 85 89 97 95 103 107 109 28 36 40 44 45 41 37 29 50 52 56 64 62 70 74 76 77 75 71 63 65 57 53 51 31 39 43 47 46 42 38 30 +8 9 10 11 4 5 6 7 0 1 3 2 21 20 23 22 17 16 19 18 13 12 14 15 40 41 44 45 28 29 37 36 42 43 46 47 30 31 39 38 24 25 33 32 26 27 35 34 88 96 82 106 84 108 94 102 80 104 90 98 92 100 86 110 81 105 91 99 93 101 87 111 89 97 83 107 85 109 95 103 48 72 58 66 60 68 54 78 56 64 50 74 52 76 62 70 57 65 51 75 53 77 63 71 49 73 59 67 61 69 55 79 +82 85 84 83 80 87 81 86 0 15 13 2 106 109 108 107 104 111 105 110 3 12 14 1 40 47 42 45 58 61 69 66 44 43 46 41 60 59 67 68 56 63 71 64 57 62 70 65 88 96 8 21 10 23 94 102 4 17 90 98 91 99 7 18 6 19 92 100 93 101 5 16 89 97 11 22 9 20 95 103 48 79 28 36 30 38 54 73 24 32 50 77 51 76 27 35 26 34 52 75 53 74 25 33 49 78 31 39 29 37 55 72 +82 107 106 83 4 18 17 7 90 99 91 98 84 109 108 85 6 16 19 5 92 101 93 100 48 73 79 54 28 38 30 36 72 49 55 78 37 31 39 29 56 65 57 64 71 62 70 63 88 96 8 10 21 23 94 102 80 81 0 2 13 15 86 87 104 105 3 1 14 12 110 111 89 97 11 9 22 20 95 103 40 42 58 66 69 61 45 47 24 32 50 51 77 76 27 35 33 25 74 75 53 52 34 26 43 41 59 67 68 60 46 44 +8 22 21 11 80 110 104 86 90 100 92 98 10 20 23 9 81 111 105 87 91 101 93 99 48 78 72 54 58 68 60 66 79 49 55 73 69 59 67 61 24 34 26 32 33 27 35 25 88 96 82 84 106 108 94 102 4 6 0 2 3 1 7 5 17 19 13 15 14 12 18 16 89 97 83 85 107 109 95 103 40 44 28 36 37 29 45 41 56 64 50 52 74 76 62 70 71 63 77 75 53 51 65 57 43 47 31 39 38 30 46 42 +8 9 10 11 0 1 3 2 4 5 6 7 21 20 23 22 13 12 14 15 17 16 19 18 28 29 37 36 40 41 44 45 30 31 39 38 42 43 46 47 24 25 26 27 33 32 35 34 88 94 82 84 106 108 96 102 90 92 80 86 104 110 98 100 91 93 81 87 105 111 99 101 89 95 83 85 107 109 97 103 58 60 48 54 72 78 66 68 56 62 50 52 74 76 64 70 57 63 51 53 75 77 65 71 59 61 49 55 73 79 67 69 +82 85 84 83 0 15 13 2 80 87 81 86 106 109 108 107 3 12 14 1 104 111 105 110 58 61 69 66 40 47 42 45 60 59 67 68 44 43 46 41 56 63 57 62 71 64 70 65 88 94 8 10 21 23 96 102 90 91 4 7 17 18 98 99 92 93 6 5 19 16 100 101 89 95 11 9 22 20 97 103 28 30 48 54 79 73 36 38 24 27 50 51 77 76 32 35 26 25 52 53 75 74 34 33 31 29 49 55 78 72 39 37 +82 107 106 83 90 99 91 98 4 18 17 7 84 109 108 85 92 101 93 100 6 16 19 5 28 38 30 36 48 73 79 54 37 31 39 29 72 49 55 78 56 65 71 62 57 64 70 63 88 94 8 21 10 23 96 102 0 13 80 86 81 87 2 15 3 14 104 110 105 111 1 12 89 95 11 22 9 20 97 103 58 69 40 45 42 47 66 61 24 27 50 77 51 76 32 35 33 34 74 53 75 52 25 26 59 68 43 46 41 44 67 60 +8 22 21 11 90 100 92 98 80 110 104 86 10 20 23 9 91 101 93 99 81 111 105 87 58 68 60 66 48 78 72 54 69 59 67 61 79 49 55 73 24 34 33 27 26 32 35 25 88 94 82 106 84 108 96 102 0 3 4 7 6 5 2 1 13 14 17 18 19 16 15 12 89 95 83 107 85 109 97 103 28 37 40 45 44 41 36 29 56 62 50 74 52 76 64 70 71 65 77 53 75 51 63 57 31 38 43 46 47 42 39 30 +8 9 10 11 4 5 7 6 0 1 2 3 21 20 23 22 17 16 18 19 13 12 15 14 40 41 45 44 28 29 36 37 42 43 47 46 30 31 38 39 24 25 32 33 27 26 35 34 82 106 88 96 94 102 84 108 90 98 80 104 86 110 92 100 91 99 81 105 87 111 93 101 83 107 89 97 95 103 85 109 58 66 48 72 54 78 60 68 50 74 56 64 62 70 52 76 51 75 57 65 63 71 53 77 59 67 49 73 55 79 61 69 +88 97 96 89 4 19 17 6 80 105 81 104 94 103 102 95 7 16 18 5 86 111 87 110 58 67 69 60 28 39 30 37 66 59 61 68 36 31 38 29 50 75 51 74 77 52 76 53 82 106 8 10 21 23 84 108 90 91 0 3 13 14 92 93 98 99 2 1 15 12 100 101 83 107 11 9 22 20 85 109 40 42 48 72 79 55 44 46 24 33 56 57 71 70 26 35 32 25 64 65 63 62 34 27 43 41 49 73 78 54 47 45 +88 95 94 89 90 93 91 92 0 14 13 3 96 103 102 97 98 101 99 100 2 12 15 1 40 46 42 44 48 55 79 72 45 43 47 41 54 49 73 78 50 53 77 74 51 52 76 75 82 106 8 21 10 23 84 108 4 17 80 104 81 105 6 19 7 18 86 110 87 111 5 16 83 107 11 22 9 20 85 109 58 69 28 37 30 39 60 67 24 33 56 71 57 70 26 35 27 34 62 65 63 64 25 32 59 68 31 38 29 36 61 66 +8 22 21 11 90 100 98 92 80 110 86 104 10 20 23 9 91 101 99 93 81 111 87 105 58 68 66 60 48 78 54 72 69 59 61 67 79 49 73 55 24 34 27 33 32 26 35 25 82 106 88 94 96 102 84 108 4 7 0 3 2 1 6 5 17 18 13 14 15 12 19 16 83 107 89 95 97 103 85 109 40 45 28 37 36 29 44 41 50 74 56 62 64 70 52 76 77 53 71 65 63 57 75 51 43 46 31 38 39 30 47 42 +82 85 84 83 80 87 86 81 0 15 2 13 106 109 108 107 104 111 110 105 3 12 1 14 40 47 45 42 58 61 66 69 44 43 41 46 60 59 68 67 56 63 64 71 62 57 70 65 8 21 88 96 94 102 10 23 90 98 4 17 7 18 91 99 92 100 6 19 5 16 93 101 11 22 89 97 95 103 9 20 28 36 48 79 54 73 30 38 50 77 24 32 27 35 51 76 52 75 26 34 25 33 53 74 31 39 49 78 55 72 29 37 +88 97 96 89 80 105 104 81 4 19 6 17 94 103 102 95 86 111 110 87 7 16 5 18 28 39 37 30 58 67 60 69 36 31 29 38 66 59 68 61 50 75 52 77 74 51 76 53 8 21 82 84 106 108 10 23 90 92 0 13 3 14 91 93 98 100 2 15 1 12 99 101 11 22 83 85 107 109 9 20 40 44 48 79 72 55 42 46 56 71 24 26 33 35 57 70 64 63 32 34 25 27 65 62 43 47 49 78 73 54 41 45 +88 95 94 89 90 93 92 91 0 14 3 13 96 103 102 97 98 101 100 99 2 12 1 15 40 46 44 42 48 55 72 79 45 43 41 47 54 49 78 73 50 53 74 77 52 51 76 75 8 21 82 106 84 108 10 23 80 104 4 17 6 19 81 105 86 110 7 18 5 16 87 111 11 22 83 107 85 109 9 20 28 37 58 69 60 67 30 39 56 71 24 33 26 35 57 70 62 65 27 34 25 32 63 64 31 38 59 68 61 66 29 36 +82 107 106 83 90 99 98 91 4 18 7 17 84 109 108 85 92 101 100 93 6 16 5 19 28 38 36 30 48 73 54 79 37 31 29 39 72 49 78 55 56 65 62 71 64 57 70 63 8 21 88 94 96 102 10 23 80 86 0 13 2 15 81 87 104 110 3 14 1 12 105 111 11 22 89 95 97 103 9 20 40 45 58 69 66 61 42 47 50 77 24 27 32 35 51 76 74 53 33 34 25 26 75 52 43 46 59 68 67 60 41 44 +88 97 89 96 4 19 6 17 80 105 81 104 94 103 95 102 7 16 5 18 86 111 87 110 58 67 60 69 28 39 30 37 59 66 61 68 31 36 29 38 50 75 51 74 52 77 53 76 0 3 90 91 92 93 13 14 8 10 82 106 84 108 21 23 11 9 83 107 85 109 22 20 2 1 98 99 100 101 15 12 56 57 24 33 26 35 71 70 48 72 40 42 44 46 79 55 49 73 43 41 47 45 78 54 64 65 32 25 34 27 63 62 +88 102 94 96 8 23 10 21 82 108 84 106 89 103 95 97 11 20 9 22 83 109 85 107 56 70 57 71 24 35 26 33 62 64 63 65 27 32 25 34 50 76 52 74 51 77 53 75 0 3 90 92 91 93 13 14 4 6 80 104 81 105 17 19 7 5 86 110 87 111 18 16 2 1 98 100 99 101 15 12 58 60 28 37 30 39 69 67 48 72 40 44 42 46 79 55 54 78 45 41 47 43 73 49 66 68 36 29 38 31 61 59 +90 99 91 98 4 18 7 17 82 107 83 106 92 101 93 100 6 16 5 19 84 109 85 108 56 65 62 71 28 38 31 37 57 64 63 70 30 36 29 39 48 73 49 72 54 79 55 78 0 3 88 89 94 95 13 14 8 11 80 104 86 110 21 22 10 9 81 105 87 111 23 20 2 1 96 97 102 103 15 12 58 59 24 33 27 34 69 68 50 74 40 43 45 46 77 53 51 75 42 41 47 44 76 52 66 67 32 25 35 26 61 60 +90 100 92 98 8 22 11 21 80 110 86 104 91 101 93 99 10 20 9 23 81 111 87 105 58 68 59 69 24 34 27 33 60 66 61 67 26 32 25 35 48 78 54 72 49 79 55 73 0 3 88 94 89 95 13 14 4 7 82 106 83 107 17 18 6 5 84 108 85 109 19 16 2 1 96 102 97 103 15 12 56 62 28 37 31 38 71 65 50 74 40 45 43 46 77 53 52 76 44 41 47 42 75 51 64 70 36 29 39 30 63 57 +88 97 89 96 80 105 81 104 4 19 6 17 94 103 95 102 86 111 87 110 7 16 5 18 28 39 30 37 58 67 60 69 31 36 29 38 59 66 61 68 50 75 52 77 51 74 53 76 0 13 90 92 91 93 3 14 82 84 8 21 10 23 106 108 83 85 11 22 9 20 107 109 2 15 98 100 99 101 1 12 24 26 56 71 57 70 33 35 48 79 40 44 42 46 72 55 49 78 43 47 41 45 73 54 32 34 64 63 65 62 25 27 +88 102 94 96 82 108 84 106 8 23 10 21 89 103 95 97 83 109 85 107 11 20 9 22 24 35 26 33 56 70 57 71 27 32 25 34 62 64 63 65 50 76 51 77 52 74 53 75 0 13 90 91 92 93 3 14 80 81 4 17 6 19 104 105 86 87 7 18 5 16 110 111 2 15 98 99 100 101 1 12 28 30 58 69 60 67 37 39 48 79 40 42 44 46 72 55 54 73 45 47 41 43 78 49 36 38 66 61 68 59 29 31 +90 99 91 98 82 107 83 106 4 18 7 17 92 101 93 100 84 109 85 108 6 16 5 19 28 38 31 37 56 65 62 71 30 36 29 39 57 64 63 70 48 73 54 79 49 72 55 78 0 13 88 94 89 95 3 14 80 86 8 21 11 22 104 110 81 87 10 23 9 20 105 111 2 15 96 102 97 103 1 12 24 27 58 69 59 68 33 34 50 77 40 45 43 46 74 53 51 76 42 47 41 44 75 52 32 35 66 61 67 60 25 26 +90 100 92 98 80 110 86 104 8 22 11 21 91 101 93 99 81 111 87 105 10 20 9 23 24 34 27 33 58 68 59 69 26 32 25 35 60 66 61 67 48 78 49 79 54 72 55 73 0 13 88 89 94 95 3 14 82 83 4 17 7 18 106 107 84 85 6 19 5 16 108 109 2 15 96 97 102 103 1 12 28 31 56 71 62 65 37 38 50 77 40 43 45 46 74 53 52 75 44 47 41 42 76 51 36 39 64 63 70 57 29 30 +0 1 3 2 4 5 6 7 8 9 10 11 13 12 14 15 17 16 19 18 21 20 23 22 24 25 26 27 28 29 30 31 33 32 35 34 37 36 39 38 40 41 42 43 44 45 46 47 88 89 90 91 92 93 94 95 80 81 82 83 84 85 86 87 104 105 106 107 108 109 110 111 96 97 98 99 100 101 102 103 56 57 58 59 60 61 62 63 48 49 50 51 52 53 54 55 72 73 74 75 76 77 78 79 64 65 66 67 68 69 70 71 +0 15 13 2 80 87 81 86 82 85 84 83 3 12 14 1 104 111 105 110 106 109 108 107 56 63 57 62 58 61 60 59 71 64 70 65 69 66 67 68 40 47 44 43 42 45 46 41 88 89 90 92 91 93 94 95 4 6 8 11 10 9 7 5 17 19 21 22 23 20 18 16 96 97 98 100 99 101 102 103 24 26 28 31 30 29 27 25 48 49 50 52 51 53 54 55 79 78 77 75 76 74 73 72 32 34 36 39 38 37 35 33 +90 99 91 98 4 18 17 7 82 107 106 83 92 101 93 100 6 16 19 5 84 109 108 85 56 65 71 62 28 38 37 31 57 64 70 63 30 36 39 29 48 73 72 49 79 54 55 78 88 89 0 3 13 14 94 95 80 104 8 11 21 22 86 110 81 105 10 9 23 20 87 111 96 97 2 1 15 12 102 103 24 33 58 59 69 68 27 34 40 43 50 74 77 53 45 46 42 41 51 75 76 52 47 44 32 25 66 67 61 60 35 26 +90 100 92 98 80 110 104 86 8 22 21 11 91 101 93 99 81 111 105 87 10 20 23 9 24 34 33 27 58 68 69 59 26 32 35 25 60 66 67 61 48 78 79 49 72 54 55 73 88 89 0 13 3 14 94 95 4 17 82 83 106 107 7 18 6 19 84 85 108 109 5 16 96 97 2 15 1 12 102 103 56 71 28 31 37 38 62 65 40 43 50 77 74 53 45 46 44 47 52 75 76 51 41 42 64 63 36 39 29 30 70 57 +0 1 3 2 8 9 10 11 4 5 6 7 13 12 14 15 21 20 23 22 17 16 19 18 28 29 30 31 24 25 26 27 37 36 39 38 33 32 35 34 40 41 44 45 42 43 46 47 88 94 90 92 91 93 89 95 82 84 80 86 81 87 83 85 106 108 104 110 105 111 107 109 96 102 98 100 99 101 97 103 58 60 56 62 57 63 59 61 48 54 50 52 51 53 49 55 72 78 74 76 75 77 73 79 66 68 64 70 65 71 67 69 +0 15 13 2 82 85 84 83 80 87 81 86 3 12 14 1 106 109 108 107 104 111 105 110 58 61 60 59 56 63 57 62 69 66 67 68 71 64 70 65 40 47 42 45 44 43 46 41 88 94 90 91 92 93 89 95 8 10 4 7 6 5 11 9 21 23 17 18 19 16 22 20 96 102 98 99 100 101 97 103 28 30 24 27 26 25 31 29 48 54 50 51 52 53 49 55 79 73 77 76 75 74 78 72 36 38 32 35 34 33 39 37 +90 99 91 98 82 107 106 83 4 18 17 7 92 101 93 100 84 109 108 85 6 16 19 5 28 38 37 31 56 65 71 62 30 36 39 29 57 64 70 63 48 73 79 54 72 49 55 78 88 94 0 13 3 14 89 95 8 21 80 86 104 110 11 22 10 23 81 87 105 111 9 20 96 102 2 15 1 12 97 103 58 69 24 27 33 34 59 68 40 45 50 77 74 53 43 46 42 47 51 76 75 52 41 44 66 61 32 35 25 26 67 60 +90 100 92 98 8 22 21 11 80 110 104 86 91 101 93 99 10 20 23 9 81 111 105 87 58 68 69 59 24 34 33 27 60 66 67 61 26 32 35 25 48 78 72 54 79 49 55 73 88 94 0 3 13 14 89 95 82 106 4 7 17 18 83 107 84 108 6 5 19 16 85 109 96 102 2 1 15 12 97 103 28 37 56 62 71 65 31 38 40 45 50 74 77 53 43 46 44 41 52 76 75 51 47 42 36 29 64 70 63 57 39 30 +0 1 3 2 4 5 7 6 8 9 11 10 13 12 14 15 17 16 18 19 21 20 22 23 24 25 27 26 28 29 31 30 33 32 34 35 37 36 38 39 40 41 43 42 45 44 46 47 90 91 88 89 94 95 92 93 82 83 80 81 86 87 84 85 106 107 104 105 110 111 108 109 98 99 96 97 102 103 100 101 58 59 56 57 62 63 60 61 50 51 48 49 54 55 52 53 74 75 72 73 78 79 76 77 66 67 64 65 70 71 68 69 +0 15 13 2 82 85 83 84 80 87 86 81 3 12 14 1 106 109 107 108 104 111 110 105 58 61 59 60 56 63 62 57 69 66 68 67 71 64 65 70 40 47 45 42 43 44 46 41 90 91 88 94 89 95 92 93 4 7 8 10 11 9 6 5 17 18 21 23 22 20 19 16 98 99 96 102 97 103 100 101 24 27 28 30 31 29 26 25 50 51 48 54 49 55 52 53 77 76 79 73 78 72 75 74 32 35 36 38 39 37 34 33 +88 97 89 96 4 19 17 6 80 105 104 81 94 103 95 102 7 16 18 5 86 111 110 87 58 67 69 60 28 39 37 30 59 66 68 61 31 36 38 29 50 75 74 51 77 52 53 76 90 91 0 3 13 14 92 93 82 106 8 10 21 23 84 108 83 107 11 9 22 20 85 109 98 99 2 1 15 12 100 101 24 33 56 57 71 70 26 35 40 42 48 72 79 55 44 46 43 41 49 73 78 54 47 45 32 25 64 65 63 62 34 27 +88 102 94 96 82 108 106 84 8 23 21 10 89 103 95 97 83 109 107 85 11 20 22 9 24 35 33 26 56 70 71 57 27 32 34 25 62 64 65 63 50 76 77 51 74 52 53 75 90 91 0 13 3 14 92 93 4 17 80 81 104 105 6 19 7 18 86 87 110 111 5 16 98 99 2 15 1 12 100 101 58 69 28 30 37 39 60 67 40 42 48 79 72 55 44 46 45 47 54 73 78 49 41 43 66 61 36 38 29 31 68 59 +0 1 3 2 8 9 11 10 4 5 7 6 13 12 14 15 21 20 22 23 17 16 18 19 28 29 31 30 24 25 27 26 37 36 38 39 33 32 34 35 40 41 45 44 43 42 46 47 90 92 88 94 89 95 91 93 80 86 82 84 83 85 81 87 104 110 106 108 107 109 105 111 98 100 96 102 97 103 99 101 56 62 58 60 59 61 57 63 50 52 48 54 49 55 51 53 74 76 72 78 73 79 75 77 64 70 66 68 67 69 65 71 +0 15 13 2 80 87 86 81 82 85 83 84 3 12 14 1 104 111 110 105 106 109 107 108 56 63 62 57 58 61 59 60 71 64 65 70 69 66 68 67 40 47 43 44 45 42 46 41 90 92 88 89 94 95 91 93 8 11 4 6 7 5 10 9 21 22 17 19 18 16 23 20 98 100 96 97 102 103 99 101 28 31 24 26 27 25 30 29 50 52 48 49 54 55 51 53 77 75 79 78 73 72 76 74 36 39 32 34 35 33 38 37 +88 97 89 96 80 105 104 81 4 19 17 6 94 103 95 102 86 111 110 87 7 16 18 5 28 39 37 30 58 67 69 60 31 36 38 29 59 66 68 61 50 75 77 52 74 51 53 76 90 92 0 13 3 14 91 93 8 21 82 84 106 108 10 23 11 22 83 85 107 109 9 20 98 100 2 15 1 12 99 101 56 71 24 26 33 35 57 70 40 44 48 79 72 55 42 46 43 47 49 78 73 54 41 45 64 63 32 34 25 27 65 62 +88 102 94 96 8 23 21 10 82 108 106 84 89 103 95 97 11 20 22 9 83 109 107 85 56 70 71 57 24 35 33 26 62 64 65 63 27 32 34 25 50 76 74 52 77 51 53 75 90 92 0 3 13 14 91 93 80 104 4 6 17 19 81 105 86 110 7 5 18 16 87 111 98 100 2 1 15 12 99 101 28 37 58 60 69 67 30 39 40 44 48 72 79 55 42 46 45 41 54 78 73 49 47 43 36 29 66 68 61 59 38 31 +82 85 83 84 0 15 2 13 80 87 81 86 106 109 107 108 3 12 1 14 104 111 105 110 58 61 66 69 40 47 42 45 59 60 67 68 43 44 41 46 56 63 57 62 64 71 65 70 4 7 90 91 98 99 17 18 8 10 88 94 96 102 21 23 11 9 89 95 97 103 22 20 6 5 92 93 100 101 19 16 50 51 24 27 32 35 77 76 48 54 28 30 36 38 79 73 49 55 31 29 39 37 78 72 52 53 26 25 34 33 75 74 +82 108 106 84 8 23 10 21 88 102 96 94 83 109 107 85 11 20 9 22 89 103 97 95 50 76 51 77 24 35 32 27 74 52 75 53 33 26 25 34 56 70 64 62 57 71 65 63 4 7 90 98 91 99 17 18 0 2 80 86 81 87 13 15 3 1 104 110 105 111 14 12 6 5 92 100 93 101 19 16 58 66 40 45 42 47 69 61 48 54 28 36 30 38 79 73 72 78 37 29 39 31 55 49 60 68 44 41 46 43 67 59 +90 93 91 92 0 14 3 13 88 95 89 94 98 101 99 100 2 12 1 15 96 103 97 102 50 53 74 77 40 46 43 45 51 52 75 76 42 44 41 47 48 55 49 54 72 79 73 78 4 7 82 83 106 107 17 18 8 11 80 86 104 110 21 22 10 9 81 87 105 111 23 20 6 5 84 85 108 109 19 16 58 59 24 27 33 34 69 68 56 62 28 31 37 38 71 65 57 63 30 29 39 36 70 64 60 61 26 25 35 32 67 66 +90 100 98 92 8 22 11 21 80 110 104 86 91 101 99 93 10 20 9 23 81 111 105 87 58 68 59 69 24 34 33 27 66 60 67 61 32 26 25 35 48 78 72 54 49 79 73 55 4 7 82 106 83 107 17 18 0 3 88 94 89 95 13 14 2 1 96 102 97 103 15 12 6 5 84 108 85 109 19 16 50 74 40 45 43 46 77 53 56 62 28 37 31 38 71 65 64 70 36 29 39 30 63 57 52 76 44 41 47 42 75 51 +4 5 7 6 0 1 2 3 8 9 10 11 17 16 18 19 13 12 15 14 21 20 23 22 24 25 32 33 40 41 42 43 27 26 35 34 45 44 47 46 28 29 30 31 36 37 38 39 82 83 90 91 98 99 106 107 80 81 88 89 96 97 104 105 86 87 94 95 102 103 110 111 84 85 92 93 100 101 108 109 50 51 58 59 66 67 74 75 48 49 56 57 64 65 72 73 54 55 62 63 70 71 78 79 52 53 60 61 68 69 76 77 +4 19 17 6 80 105 81 104 88 97 96 89 7 16 18 5 86 111 87 110 94 103 102 95 50 75 51 74 58 67 66 59 77 52 76 53 69 60 61 68 28 39 36 31 30 37 38 29 82 83 90 98 91 99 106 107 0 2 8 11 10 9 3 1 13 15 21 22 23 20 14 12 84 85 92 100 93 101 108 109 24 32 40 43 42 41 33 25 48 49 56 64 57 65 72 73 79 78 71 63 70 62 55 54 26 34 44 47 46 45 35 27 +90 93 91 92 0 14 13 3 88 95 94 89 98 101 99 100 2 12 15 1 96 103 102 97 50 53 77 74 40 46 45 43 51 52 76 75 42 44 47 41 48 55 54 49 79 72 73 78 82 83 4 7 17 18 106 107 80 86 8 11 21 22 104 110 81 87 10 9 23 20 105 111 84 85 6 5 19 16 108 109 24 27 58 59 69 68 33 34 28 31 56 62 71 65 37 38 30 29 57 63 70 64 39 36 26 25 60 61 67 66 35 32 +90 100 98 92 80 110 86 104 8 22 21 11 91 101 99 93 81 111 87 105 10 20 23 9 24 34 27 33 58 68 69 59 32 26 35 25 66 60 61 67 48 78 79 49 54 72 73 55 82 83 4 17 7 18 106 107 0 13 88 89 94 95 3 14 2 15 96 97 102 103 1 12 84 85 6 19 5 16 108 109 50 77 40 43 45 46 74 53 28 31 56 71 62 65 37 38 36 39 64 63 70 57 29 30 52 75 44 47 41 42 76 51 +82 85 83 84 80 87 81 86 0 15 2 13 106 109 107 108 104 111 105 110 3 12 1 14 40 47 42 45 58 61 66 69 43 44 41 46 59 60 67 68 56 63 64 71 57 62 65 70 4 17 90 98 91 99 7 18 88 96 8 21 10 23 94 102 89 97 11 22 9 20 95 103 6 19 92 100 93 101 5 16 24 32 50 77 51 76 27 35 48 79 28 36 30 38 54 73 49 78 31 39 29 37 55 72 26 34 52 75 53 74 25 33 +82 108 106 84 88 102 96 94 8 23 10 21 83 109 107 85 89 103 97 95 11 20 9 22 24 35 32 27 50 76 51 77 33 26 25 34 74 52 75 53 56 70 57 71 64 62 65 63 4 17 90 91 98 99 7 18 80 81 0 13 2 15 86 87 104 105 3 14 1 12 110 111 6 19 92 93 100 101 5 16 40 42 58 69 66 61 45 47 48 79 28 30 36 38 54 73 72 55 37 39 29 31 78 49 44 46 60 67 68 59 41 43 +90 93 91 92 88 95 89 94 0 14 3 13 98 101 99 100 96 103 97 102 2 12 1 15 40 46 43 45 50 53 74 77 42 44 41 47 51 52 75 76 48 55 72 79 49 54 73 78 4 17 82 106 83 107 7 18 80 104 8 21 11 22 86 110 81 105 10 23 9 20 87 111 6 19 84 108 85 109 5 16 24 33 58 69 59 68 27 34 56 71 28 37 31 38 62 65 57 70 30 39 29 36 63 64 26 35 60 67 61 66 25 32 +90 100 98 92 80 110 104 86 8 22 11 21 91 101 99 93 81 111 105 87 10 20 9 23 24 34 33 27 58 68 59 69 32 26 25 35 66 60 67 61 48 78 49 79 72 54 73 55 4 17 82 83 106 107 7 18 88 89 0 13 3 14 94 95 96 97 2 15 1 12 102 103 6 19 84 85 108 109 5 16 40 43 50 77 74 53 45 46 56 71 28 31 37 38 62 65 64 63 36 39 29 30 70 57 44 47 52 75 76 51 41 42 +4 5 7 6 8 9 10 11 0 1 2 3 17 16 18 19 21 20 23 22 13 12 15 14 40 41 42 43 24 25 32 33 45 44 47 46 27 26 35 34 28 29 36 37 30 31 38 39 82 106 90 98 91 99 83 107 88 96 80 104 81 105 89 97 94 102 86 110 87 111 95 103 84 108 92 100 93 101 85 109 58 66 50 74 51 75 59 67 48 72 56 64 57 65 49 73 54 78 62 70 63 71 55 79 60 68 52 76 53 77 61 69 +4 19 17 6 88 97 96 89 80 105 81 104 7 16 18 5 94 103 102 95 86 111 87 110 58 67 66 59 50 75 51 74 69 60 61 68 77 52 76 53 28 39 30 37 36 31 38 29 82 106 90 91 98 99 83 107 8 10 0 3 2 1 11 9 21 23 13 14 15 12 22 20 84 108 92 93 100 101 85 109 40 42 24 33 32 25 43 41 48 72 56 57 64 65 49 73 79 55 71 70 63 62 78 54 44 46 26 35 34 27 47 45 +90 93 91 92 88 95 94 89 0 14 13 3 98 101 99 100 96 103 102 97 2 12 15 1 40 46 45 43 50 53 77 74 42 44 47 41 51 52 76 75 48 55 79 72 54 49 73 78 82 106 4 17 7 18 83 107 8 21 80 104 86 110 11 22 10 23 81 105 87 111 9 20 84 108 6 19 5 16 85 109 58 69 24 33 27 34 59 68 28 37 56 71 62 65 31 38 30 39 57 70 63 64 29 36 60 67 26 35 25 32 61 66 +90 100 98 92 8 22 21 11 80 110 86 104 91 101 99 93 10 20 23 9 81 111 87 105 58 68 69 59 24 34 27 33 66 60 61 67 32 26 35 25 48 78 54 72 79 49 73 55 82 106 4 7 17 18 83 107 88 94 0 3 13 14 89 95 96 102 2 1 15 12 97 103 84 108 6 5 19 16 85 109 40 45 50 74 77 53 43 46 28 37 56 62 71 65 31 38 36 29 64 70 63 57 39 30 44 41 52 76 75 51 47 42 +4 5 7 6 0 1 3 2 8 9 11 10 17 16 18 19 13 12 14 15 21 20 22 23 24 25 33 32 40 41 43 42 27 26 34 35 45 44 46 47 28 29 31 30 37 36 38 39 90 91 82 83 106 107 98 99 88 89 80 81 104 105 96 97 94 95 86 87 110 111 102 103 92 93 84 85 108 109 100 101 58 59 50 51 74 75 66 67 56 57 48 49 72 73 64 65 62 63 54 55 78 79 70 71 60 61 52 53 76 77 68 69 +82 85 83 84 0 15 13 2 80 87 86 81 106 109 107 108 3 12 14 1 104 111 110 105 58 61 69 66 40 47 45 42 59 60 68 67 43 44 46 41 56 63 62 57 71 64 65 70 90 91 4 7 17 18 98 99 88 94 8 10 21 23 96 102 89 95 11 9 22 20 97 103 92 93 6 5 19 16 100 101 24 27 50 51 77 76 32 35 28 30 48 54 79 73 36 38 31 29 49 55 78 72 39 37 26 25 52 53 75 74 34 33 +4 19 17 6 88 97 89 96 80 105 104 81 7 16 18 5 94 103 95 102 86 111 110 87 58 67 59 66 50 75 74 51 69 60 68 61 77 52 53 76 28 39 37 30 31 36 38 29 90 91 82 106 83 107 98 99 0 3 8 10 11 9 2 1 13 14 21 23 22 20 15 12 92 93 84 108 85 109 100 101 24 33 40 42 43 41 32 25 56 57 48 72 49 73 64 65 71 70 79 55 78 54 63 62 26 35 44 46 47 45 34 27 +82 108 106 84 88 102 94 96 8 23 21 10 83 109 107 85 89 103 95 97 11 20 22 9 24 35 27 32 50 76 77 51 33 26 34 25 74 52 53 75 56 70 71 57 62 64 65 63 90 91 4 17 7 18 98 99 0 13 80 81 86 87 2 15 3 14 104 105 110 111 1 12 92 93 6 19 5 16 100 101 58 69 40 42 45 47 66 61 28 30 48 79 54 73 36 38 37 39 72 55 78 49 29 31 60 67 44 46 41 43 68 59 +4 5 7 6 8 9 11 10 0 1 3 2 17 16 18 19 21 20 22 23 13 12 14 15 40 41 43 42 24 25 33 32 45 44 46 47 27 26 34 35 28 29 37 36 31 30 38 39 90 98 82 106 83 107 91 99 80 104 88 96 89 97 81 105 86 110 94 102 95 103 87 111 92 100 84 108 85 109 93 101 50 74 58 66 59 67 51 75 56 64 48 72 49 73 57 65 62 70 54 78 55 79 63 71 52 76 60 68 61 69 53 77 +82 85 83 84 80 87 86 81 0 15 13 2 106 109 107 108 104 111 110 105 3 12 14 1 40 47 45 42 58 61 69 66 43 44 46 41 59 60 68 67 56 63 71 64 62 57 65 70 90 98 4 17 7 18 91 99 8 21 88 96 94 102 10 23 11 22 89 97 95 103 9 20 92 100 6 19 5 16 93 101 50 77 24 32 27 35 51 76 28 36 48 79 54 73 30 38 31 39 49 78 55 72 29 37 52 75 26 34 25 33 53 74 +4 19 17 6 80 105 104 81 88 97 89 96 7 16 18 5 86 111 110 87 94 103 95 102 50 75 74 51 58 67 59 66 77 52 53 76 69 60 68 61 28 39 31 36 37 30 38 29 90 98 82 83 106 107 91 99 8 11 0 2 3 1 10 9 21 22 13 15 14 12 23 20 92 100 84 85 108 109 93 101 40 43 24 32 33 25 42 41 56 64 48 49 72 73 57 65 71 63 79 78 55 54 70 62 44 47 26 34 35 27 46 45 +82 108 106 84 8 23 21 10 88 102 94 96 83 109 107 85 11 20 22 9 89 103 95 97 50 76 77 51 24 35 27 32 74 52 53 75 33 26 34 25 56 70 62 64 71 57 65 63 90 98 4 7 17 18 91 99 80 86 0 2 13 15 81 87 104 110 3 1 14 12 105 111 92 100 6 5 19 16 93 101 40 45 58 66 69 61 42 47 28 36 48 54 79 73 30 38 37 29 72 78 55 49 39 31 44 41 60 68 67 59 46 43 +80 87 86 81 0 15 2 13 82 85 84 83 104 111 110 105 3 12 1 14 106 109 108 107 56 63 64 71 40 47 44 43 62 57 70 65 45 42 41 46 58 61 60 59 66 69 68 67 8 11 90 92 98 100 21 22 4 6 88 89 96 97 17 19 7 5 94 95 102 103 18 16 10 9 91 93 99 101 23 20 50 52 28 31 36 39 77 75 48 49 24 26 32 34 79 78 54 55 27 25 35 33 73 72 51 53 30 29 38 37 76 74 +80 105 104 81 4 19 6 17 88 97 96 89 86 111 110 87 7 16 5 18 94 103 102 95 50 75 52 77 28 39 36 31 74 51 76 53 37 30 29 38 58 67 66 59 60 69 68 61 8 11 90 98 92 100 21 22 0 2 82 83 84 85 13 15 3 1 106 107 108 109 14 12 10 9 91 99 93 101 23 20 56 64 40 43 44 47 71 63 48 49 24 32 26 34 79 78 72 73 33 25 35 27 55 54 57 65 42 41 46 45 70 62 +90 93 92 91 0 14 3 13 88 95 94 89 98 101 100 99 2 12 1 15 96 103 102 97 50 53 74 77 40 46 45 43 52 51 76 75 44 42 41 47 48 55 54 49 72 79 78 73 8 11 80 86 104 110 21 22 4 7 82 83 106 107 17 18 6 5 84 85 108 109 19 16 10 9 81 87 105 111 23 20 56 62 28 31 37 38 71 65 58 59 24 27 33 34 69 68 60 61 26 25 35 32 67 66 57 63 30 29 39 36 70 64 +90 99 98 91 4 18 7 17 82 107 106 83 92 101 100 93 6 16 5 19 84 109 108 85 56 65 62 71 28 38 37 31 64 57 70 63 36 30 29 39 48 73 72 49 54 79 78 55 8 11 80 104 86 110 21 22 0 3 88 89 94 95 13 14 2 1 96 97 102 103 15 12 10 9 81 105 87 111 23 20 50 74 40 43 45 46 77 53 58 59 24 33 27 34 69 68 66 67 32 25 35 26 61 60 51 75 42 41 47 44 76 52 +8 9 11 10 0 1 2 3 4 5 6 7 21 20 22 23 13 12 15 14 17 16 19 18 28 29 36 37 40 41 44 45 31 30 39 38 43 42 47 46 24 25 26 27 32 33 34 35 80 86 90 92 98 100 104 110 82 84 88 94 96 102 106 108 83 85 89 95 97 103 107 109 81 87 91 93 99 101 105 111 50 52 56 62 64 70 74 76 48 54 58 60 66 68 72 78 49 55 59 61 67 69 73 79 51 53 57 63 65 71 75 77 +8 23 21 10 82 108 84 106 88 102 96 94 11 20 22 9 83 109 85 107 89 103 97 95 50 76 52 74 56 70 64 62 77 51 75 53 71 57 63 65 24 35 32 27 26 33 34 25 80 86 90 98 92 100 104 110 0 2 4 7 6 5 3 1 13 15 17 18 19 16 14 12 81 87 91 99 93 101 105 111 28 36 40 45 44 41 37 29 48 54 58 66 60 68 72 78 79 73 69 61 67 59 55 49 30 38 42 47 46 43 39 31 +90 93 92 91 0 14 13 3 88 95 89 94 98 101 100 99 2 12 15 1 96 103 97 102 50 53 77 74 40 46 43 45 52 51 75 76 44 42 47 41 48 55 49 54 79 72 78 73 80 86 8 11 21 22 104 110 82 83 4 7 17 18 106 107 84 85 6 5 19 16 108 109 81 87 10 9 23 20 105 111 28 31 56 62 71 65 37 38 24 27 58 59 69 68 33 34 26 25 60 61 67 66 35 32 30 29 57 63 70 64 39 36 +90 99 98 91 82 107 83 106 4 18 17 7 92 101 100 93 84 109 85 108 6 16 19 5 28 38 31 37 56 65 71 62 36 30 39 29 64 57 63 70 48 73 79 54 49 72 78 55 80 86 8 21 11 22 104 110 0 13 88 94 89 95 3 14 2 15 96 102 97 103 1 12 81 87 10 23 9 20 105 111 50 77 40 45 43 46 74 53 24 27 58 69 59 68 33 34 32 35 66 61 67 60 25 26 51 76 42 47 41 44 75 52 +8 9 11 10 4 5 6 7 0 1 2 3 21 20 22 23 17 16 19 18 13 12 15 14 40 41 44 45 28 29 36 37 43 42 47 46 31 30 39 38 24 25 32 33 26 27 34 35 80 104 90 98 92 100 86 110 88 96 82 106 84 108 94 102 89 97 83 107 85 109 95 103 81 105 91 99 93 101 87 111 56 64 50 74 52 76 62 70 48 72 58 66 60 68 54 78 49 73 59 67 61 69 55 79 57 65 51 75 53 77 63 71 +8 23 21 10 88 102 96 94 82 108 84 106 11 20 22 9 89 103 97 95 83 109 85 107 56 70 64 62 50 76 52 74 71 57 63 65 77 51 75 53 24 35 26 33 32 27 34 25 80 104 90 92 98 100 86 110 4 6 0 3 2 1 7 5 17 19 13 14 15 12 18 16 81 105 91 93 99 101 87 111 40 44 28 37 36 29 45 41 48 72 58 60 66 68 54 78 79 55 69 67 61 59 73 49 42 46 30 39 38 31 47 43 +90 93 92 91 88 95 89 94 0 14 13 3 98 101 100 99 96 103 97 102 2 12 15 1 40 46 43 45 50 53 77 74 44 42 47 41 52 51 75 76 48 55 79 72 49 54 78 73 80 104 8 21 11 22 86 110 4 17 82 106 83 107 7 18 6 19 84 108 85 109 5 16 81 105 10 23 9 20 87 111 56 71 28 37 31 38 62 65 24 33 58 69 59 68 27 34 26 35 60 67 61 66 25 32 57 70 30 39 29 36 63 64 +90 99 98 91 4 18 17 7 82 107 83 106 92 101 100 93 6 16 19 5 84 109 85 108 56 65 71 62 28 38 31 37 64 57 63 70 36 30 39 29 48 73 49 72 79 54 78 55 80 104 8 11 21 22 86 110 88 89 0 3 13 14 94 95 96 97 2 1 15 12 102 103 81 105 10 9 23 20 87 111 40 43 50 74 77 53 45 46 24 33 58 59 69 68 27 34 32 25 66 67 61 60 35 26 42 41 51 75 76 52 47 44 +80 87 86 81 82 85 84 83 0 15 2 13 104 111 110 105 106 109 108 107 3 12 1 14 40 47 44 43 56 63 64 71 45 42 41 46 62 57 70 65 58 61 66 69 60 59 68 67 8 21 90 98 92 100 11 22 88 96 4 17 6 19 89 97 94 102 7 18 5 16 95 103 10 23 91 99 93 101 9 20 28 36 50 77 52 75 31 39 48 79 24 32 26 34 49 78 54 73 27 35 25 33 55 72 30 38 51 76 53 74 29 37 +80 105 104 81 88 97 96 89 4 19 6 17 86 111 110 87 94 103 102 95 7 16 5 18 28 39 36 31 50 75 52 77 37 30 29 38 74 51 76 53 58 67 60 69 66 59 68 61 8 21 90 92 98 100 11 22 82 84 0 13 2 15 83 85 106 108 3 14 1 12 107 109 10 23 91 93 99 101 9 20 40 44 56 71 64 63 43 47 48 79 24 26 32 34 49 78 72 55 33 35 25 27 73 54 42 46 57 70 65 62 41 45 +90 93 92 91 88 95 94 89 0 14 3 13 98 101 100 99 96 103 102 97 2 12 1 15 40 46 45 43 50 53 74 77 44 42 41 47 52 51 76 75 48 55 72 79 54 49 78 73 8 21 80 104 86 110 11 22 82 106 4 17 7 18 83 107 84 108 6 19 5 16 85 109 10 23 81 105 87 111 9 20 28 37 56 71 62 65 31 38 58 69 24 33 27 34 59 68 60 67 26 35 25 32 61 66 30 39 57 70 63 64 29 36 +90 99 98 91 82 107 106 83 4 18 7 17 92 101 100 93 84 109 108 85 6 16 5 19 28 38 37 31 56 65 62 71 36 30 29 39 64 57 70 63 48 73 54 79 72 49 78 55 8 21 80 86 104 110 11 22 88 94 0 13 3 14 89 95 96 102 2 15 1 12 97 103 10 23 81 87 105 111 9 20 40 45 50 77 74 53 43 46 58 69 24 27 33 34 59 68 66 61 32 35 25 26 67 60 42 47 51 76 75 52 41 44 +8 9 11 10 0 1 3 2 4 5 7 6 21 20 22 23 13 12 14 15 17 16 18 19 28 29 37 36 40 41 45 44 31 30 38 39 43 42 46 47 24 25 27 26 33 32 34 35 90 92 80 86 104 110 98 100 88 94 82 84 106 108 96 102 89 95 83 85 107 109 97 103 91 93 81 87 105 111 99 101 56 62 50 52 74 76 64 70 58 60 48 54 72 78 66 68 59 61 49 55 73 79 67 69 57 63 51 53 75 77 65 71 +80 87 86 81 0 15 13 2 82 85 83 84 104 111 110 105 3 12 14 1 106 109 107 108 56 63 71 64 40 47 43 44 62 57 65 70 45 42 46 41 58 61 59 60 69 66 68 67 90 92 8 11 21 22 98 100 88 89 4 6 17 19 96 97 94 95 7 5 18 16 102 103 91 93 10 9 23 20 99 101 28 31 50 52 77 75 36 39 24 26 48 49 79 78 32 34 27 25 54 55 73 72 35 33 30 29 51 53 76 74 38 37 +80 105 104 81 88 97 89 96 4 19 17 6 86 111 110 87 94 103 95 102 7 16 18 5 28 39 31 36 50 75 77 52 37 30 38 29 74 51 53 76 58 67 69 60 59 66 68 61 90 92 8 21 11 22 98 100 0 13 82 84 83 85 2 15 3 14 106 108 107 109 1 12 91 93 10 23 9 20 99 101 56 71 40 44 43 47 64 63 24 26 48 79 49 78 32 34 33 35 72 55 73 54 25 27 57 70 42 46 41 45 65 62 +8 23 21 10 88 102 94 96 82 108 106 84 11 20 22 9 89 103 95 97 83 109 107 85 56 70 62 64 50 76 74 52 71 57 65 63 77 51 53 75 24 35 33 26 27 32 34 25 90 92 80 104 86 110 98 100 0 3 4 6 7 5 2 1 13 14 17 19 18 16 15 12 91 93 81 105 87 111 99 101 28 37 40 44 45 41 36 29 58 60 48 72 54 78 66 68 69 67 79 55 73 49 61 59 30 39 42 46 47 43 38 31 +8 9 11 10 4 5 7 6 0 1 3 2 21 20 22 23 17 16 18 19 13 12 14 15 40 41 45 44 28 29 37 36 43 42 46 47 31 30 38 39 24 25 33 32 27 26 34 35 90 98 80 104 86 110 92 100 82 106 88 96 94 102 84 108 83 107 89 97 95 103 85 109 91 99 81 105 87 111 93 101 50 74 56 64 62 70 52 76 58 66 48 72 54 78 60 68 59 67 49 73 55 79 61 69 51 75 57 65 63 71 53 77 +80 87 86 81 82 85 83 84 0 15 13 2 104 111 110 105 106 109 107 108 3 12 14 1 40 47 43 44 56 63 71 64 45 42 46 41 62 57 65 70 58 61 69 66 59 60 68 67 90 98 8 21 11 22 92 100 4 17 88 96 89 97 6 19 7 18 94 102 95 103 5 16 91 99 10 23 9 20 93 101 50 77 28 36 31 39 52 75 24 32 48 79 49 78 26 34 27 35 54 73 55 72 25 33 51 76 30 38 29 37 53 74 +80 105 104 81 4 19 17 6 88 97 89 96 86 111 110 87 7 16 18 5 94 103 95 102 50 75 77 52 28 39 31 36 74 51 53 76 37 30 38 29 58 67 59 66 69 60 68 61 90 98 8 11 21 22 92 100 82 83 0 2 13 15 84 85 106 107 3 1 14 12 108 109 91 99 10 9 23 20 93 101 40 43 56 64 71 63 44 47 24 32 48 49 79 78 26 34 33 25 72 73 55 54 35 27 42 41 57 65 70 62 46 45 +8 23 21 10 82 108 106 84 88 102 94 96 11 20 22 9 83 109 107 85 89 103 95 97 50 76 74 52 56 70 62 64 77 51 53 75 71 57 65 63 24 35 27 32 33 26 34 25 90 98 80 86 104 110 92 100 4 7 0 2 3 1 6 5 17 18 13 15 14 12 19 16 91 99 81 87 105 111 93 101 40 45 28 36 37 29 44 41 58 66 48 54 72 78 60 68 69 61 79 73 55 49 67 59 42 47 30 38 39 31 46 43 +56 70 57 71 24 35 26 33 88 102 89 103 62 64 63 65 27 32 25 34 94 96 95 97 50 76 52 74 8 23 11 20 51 77 53 75 10 21 9 22 82 108 83 109 84 106 85 107 0 12 58 59 60 61 3 15 28 31 90 101 92 99 37 38 30 29 91 100 93 98 39 36 13 1 69 68 67 66 14 2 48 49 4 16 6 18 72 73 80 111 40 43 44 47 104 87 81 110 42 41 46 45 105 86 79 78 17 5 19 7 55 54 +58 67 60 69 28 39 30 37 88 97 94 103 59 66 61 68 31 36 29 38 89 96 95 102 50 75 51 74 4 19 7 16 52 77 53 76 6 17 5 18 80 105 86 111 81 104 87 110 0 12 56 62 57 63 3 15 24 27 90 101 91 100 33 34 26 25 92 99 93 98 35 32 13 1 71 65 70 64 14 2 48 54 8 20 10 22 72 78 82 109 40 45 42 47 106 85 84 107 44 41 46 43 108 83 79 73 21 9 23 11 55 49 +58 68 59 69 24 34 27 33 90 100 91 101 60 66 61 67 26 32 25 35 92 98 93 99 48 78 54 72 8 22 10 20 49 79 55 73 11 21 9 23 80 110 81 111 86 104 87 105 0 12 56 57 62 63 3 15 28 30 88 103 94 97 37 39 31 29 89 102 95 96 38 36 13 1 71 70 65 64 14 2 50 51 4 16 7 19 74 75 82 109 40 42 45 47 106 85 83 108 43 41 46 44 107 84 77 76 17 5 18 6 53 52 +56 65 62 71 28 38 31 37 90 99 92 101 57 64 63 70 30 36 29 39 91 98 93 100 48 73 49 72 4 18 6 16 54 79 55 78 7 17 5 19 82 107 84 109 83 106 85 108 0 12 58 60 59 61 3 15 24 26 88 103 89 102 33 35 27 25 94 97 95 96 34 32 13 1 69 67 68 66 14 2 50 52 8 20 11 23 74 76 80 111 40 44 43 47 104 87 86 105 45 41 46 42 110 81 77 75 21 9 22 10 53 51 +0 1 12 13 24 25 26 27 28 29 31 30 3 2 15 14 33 32 35 34 37 36 38 39 4 5 6 7 8 9 11 10 16 17 18 19 20 21 23 22 40 41 43 42 44 45 47 46 56 57 58 59 60 61 62 63 88 89 90 91 92 93 94 95 103 102 101 100 99 98 97 96 71 70 69 68 67 66 65 64 48 49 50 51 52 53 54 55 80 81 82 83 84 85 86 87 111 110 109 108 107 106 105 104 79 78 77 76 75 74 73 72 +58 67 60 69 88 97 103 94 28 39 37 30 59 66 61 68 89 96 102 95 31 36 38 29 4 19 16 7 50 75 74 51 6 17 18 5 52 77 76 53 80 105 104 81 111 86 87 110 56 57 0 3 12 15 62 63 24 33 90 91 101 100 27 34 26 35 92 93 99 98 25 32 71 70 13 14 1 2 65 64 48 72 8 10 20 22 54 78 40 42 82 106 109 85 45 47 44 46 84 108 107 83 41 43 79 55 21 23 9 11 73 49 +0 14 3 13 88 95 89 94 90 93 92 91 12 2 15 1 103 96 102 97 101 98 99 100 48 55 49 54 50 53 52 51 72 79 73 78 74 77 76 75 40 46 44 42 43 45 47 41 56 57 58 60 59 61 62 63 24 26 28 30 31 29 27 25 33 35 37 39 38 36 34 32 71 70 69 67 68 66 65 64 4 6 8 10 11 9 7 5 80 81 82 84 83 85 86 87 104 105 106 108 107 109 110 111 17 19 21 23 22 20 18 16 +58 68 59 69 24 34 33 27 90 100 101 91 60 66 61 67 26 32 35 25 92 98 99 93 48 78 72 54 8 22 20 10 49 79 73 55 11 21 23 9 80 110 111 81 104 86 87 105 56 57 0 12 3 15 62 63 88 103 28 30 37 39 94 97 89 102 31 29 38 36 95 96 71 70 13 1 14 2 65 64 4 16 50 51 74 75 7 19 40 42 82 109 106 85 45 47 43 41 83 108 107 84 46 44 17 5 77 76 53 52 18 6 +0 1 12 13 28 29 30 31 24 25 27 26 3 2 15 14 37 36 39 38 33 32 34 35 8 9 10 11 4 5 7 6 20 21 22 23 16 17 19 18 40 41 45 44 42 43 47 46 58 60 56 62 57 63 59 61 88 94 90 92 91 93 89 95 103 97 101 99 100 98 102 96 69 67 71 65 70 64 68 66 48 54 50 52 51 53 49 55 82 84 80 86 81 87 83 85 109 107 111 105 110 104 108 106 79 73 77 75 76 74 78 72 +56 70 57 71 88 102 103 89 24 35 33 26 62 64 63 65 94 96 97 95 27 32 34 25 8 23 20 11 50 76 74 52 10 21 22 9 51 77 75 53 82 108 106 84 109 83 85 107 58 60 0 3 12 15 59 61 28 37 90 92 101 99 31 38 30 39 91 93 100 98 29 36 69 67 13 14 1 2 68 66 48 72 4 6 16 18 49 73 40 44 80 104 111 87 43 47 42 46 81 105 110 86 41 45 79 55 17 19 5 7 78 54 +0 14 3 13 88 95 94 89 90 93 91 92 12 2 15 1 103 96 97 102 101 98 100 99 48 55 54 49 50 53 51 52 72 79 78 73 74 77 75 76 40 46 42 44 45 43 47 41 58 60 56 57 62 63 59 61 28 30 24 26 27 25 31 29 37 39 33 35 34 32 38 36 69 67 71 70 65 64 68 66 8 10 4 6 7 5 11 9 82 84 80 81 86 87 83 85 106 108 104 105 110 111 107 109 21 23 17 19 18 16 22 20 +56 65 62 71 28 38 37 31 90 99 101 92 57 64 63 70 30 36 39 29 91 98 100 93 48 73 72 49 4 18 16 6 54 79 78 55 7 17 19 5 82 107 109 84 106 83 85 108 58 60 0 12 3 15 59 61 88 103 24 26 33 35 89 102 94 97 27 25 34 32 95 96 69 67 13 1 14 2 68 66 8 20 50 52 74 76 11 23 40 44 80 111 104 87 43 47 45 41 86 105 110 81 46 42 21 9 77 75 53 51 22 10 +56 70 57 71 88 102 89 103 24 35 26 33 62 64 63 65 94 96 95 97 27 32 25 34 8 23 11 20 50 76 52 74 10 21 9 22 51 77 53 75 82 108 84 106 83 109 85 107 0 3 58 60 59 61 12 15 90 92 28 37 31 38 101 99 91 93 30 39 29 36 100 98 13 14 69 67 68 66 1 2 4 6 48 72 49 73 16 18 80 104 40 44 43 47 111 87 81 105 42 46 41 45 110 86 17 19 79 55 78 54 5 7 +58 67 60 69 88 97 94 103 28 39 30 37 59 66 61 68 89 96 95 102 31 36 29 38 4 19 7 16 50 75 51 74 6 17 5 18 52 77 53 76 80 105 81 104 86 111 87 110 0 3 56 57 62 63 12 15 90 91 24 33 27 34 101 100 92 93 26 35 25 32 99 98 13 14 71 70 65 64 1 2 8 10 48 72 54 78 20 22 82 106 40 42 45 47 109 85 84 108 44 46 41 43 107 83 21 23 79 55 73 49 9 11 +58 68 59 69 90 100 91 101 24 34 27 33 60 66 61 67 92 98 93 99 26 32 25 35 8 22 10 20 48 78 54 72 11 21 9 23 49 79 55 73 80 110 86 104 81 111 87 105 0 3 56 62 57 63 12 15 88 94 28 37 30 39 103 97 89 95 31 38 29 36 102 96 13 14 71 65 70 64 1 2 4 7 50 74 51 75 16 19 82 106 40 45 42 47 109 85 83 107 43 46 41 44 108 84 17 18 77 53 76 52 5 6 +56 65 62 71 90 99 92 101 28 38 31 37 57 64 63 70 91 98 93 100 30 36 29 39 4 18 6 16 48 73 49 72 7 17 5 19 54 79 55 78 82 107 83 106 84 109 85 108 0 3 58 59 60 61 12 15 88 89 24 33 26 35 103 102 94 95 27 34 25 32 97 96 13 14 69 68 67 66 1 2 8 11 50 74 52 76 20 23 80 104 40 43 44 47 111 87 86 110 45 46 41 42 105 81 21 22 77 53 75 51 9 10 +0 1 12 13 24 25 27 26 28 29 30 31 3 2 15 14 33 32 34 35 37 36 39 38 4 5 7 6 8 9 10 11 16 17 19 18 20 21 22 23 40 41 42 43 45 44 47 46 58 59 56 57 62 63 60 61 90 91 88 89 94 95 92 93 101 100 103 102 97 96 99 98 69 68 71 70 65 64 67 66 50 51 48 49 54 55 52 53 82 83 80 81 86 87 84 85 109 108 111 110 105 104 107 106 77 76 79 78 73 72 75 74 +56 70 57 71 24 35 33 26 88 102 103 89 62 64 63 65 27 32 34 25 94 96 97 95 50 76 74 52 8 23 20 11 51 77 75 53 10 21 22 9 82 108 109 83 106 84 85 107 58 59 0 12 3 15 60 61 90 101 28 31 37 38 92 99 91 100 30 29 39 36 93 98 69 68 13 1 14 2 67 66 4 16 48 49 72 73 6 18 40 43 80 111 104 87 44 47 42 41 81 110 105 86 46 45 17 5 79 78 55 54 19 7 +0 14 3 13 90 93 91 92 88 95 94 89 12 2 15 1 101 98 100 99 103 96 97 102 50 53 51 52 48 55 54 49 74 77 75 76 72 79 78 73 40 46 45 43 42 44 47 41 58 59 56 62 57 63 60 61 24 27 28 31 30 29 26 25 33 34 37 38 39 36 35 32 69 68 71 65 70 64 67 66 4 7 8 11 10 9 6 5 82 83 80 86 81 87 84 85 106 107 104 110 105 111 108 109 17 18 21 22 23 20 19 16 +56 65 62 71 90 99 101 92 28 38 37 31 57 64 63 70 91 98 100 93 30 36 39 29 4 18 16 6 48 73 72 49 7 17 19 5 54 79 78 55 82 107 106 83 109 84 85 108 58 59 0 3 12 15 60 61 24 33 88 89 103 102 26 35 27 34 94 95 97 96 25 32 69 68 13 14 1 2 67 66 50 74 8 11 20 23 52 76 40 43 80 104 111 87 44 47 45 46 86 110 105 81 41 42 77 53 21 22 9 10 75 51 +0 1 12 13 28 29 31 30 24 25 26 27 3 2 15 14 37 36 38 39 33 32 35 34 8 9 11 10 4 5 6 7 20 21 23 22 16 17 18 19 40 41 44 45 43 42 47 46 56 62 58 60 59 61 57 63 90 92 88 94 89 95 91 93 101 99 103 97 102 96 100 98 71 65 69 67 68 66 70 64 50 52 48 54 49 55 51 53 80 86 82 84 83 85 81 87 111 105 109 107 108 106 110 104 77 75 79 73 78 72 76 74 +58 67 60 69 28 39 37 30 88 97 103 94 59 66 61 68 31 36 38 29 89 96 102 95 50 75 74 51 4 19 16 7 52 77 76 53 6 17 18 5 80 105 111 86 104 81 87 110 56 62 0 12 3 15 57 63 90 101 24 27 33 34 91 100 92 99 26 25 35 32 93 98 71 65 13 1 14 2 70 64 8 20 48 54 72 78 10 22 40 45 82 109 106 85 42 47 44 41 84 107 108 83 46 43 21 9 79 73 55 49 23 11 +0 14 3 13 90 93 92 91 88 95 89 94 12 2 15 1 101 98 99 100 103 96 102 97 50 53 52 51 48 55 49 54 74 77 76 75 72 79 73 78 40 46 43 45 44 42 47 41 56 62 58 59 60 61 57 63 28 31 24 27 26 25 30 29 37 38 33 34 35 32 39 36 71 65 69 68 67 66 70 64 8 11 4 7 6 5 10 9 80 86 82 83 84 85 81 87 104 110 106 107 108 109 105 111 21 22 17 18 19 16 23 20 +58 68 59 69 90 100 101 91 24 34 33 27 60 66 61 67 92 98 99 93 26 32 35 25 8 22 20 10 48 78 72 54 11 21 23 9 49 79 73 55 80 110 104 86 111 81 87 105 56 62 0 3 12 15 57 63 28 37 88 94 103 97 30 39 31 38 89 95 102 96 29 36 71 65 13 14 1 2 70 64 50 74 4 7 16 19 51 75 40 45 82 106 109 85 42 47 43 46 83 107 108 84 41 44 77 53 17 18 5 6 76 52 +24 35 26 33 56 70 57 71 88 102 89 103 27 32 25 34 62 64 63 65 94 96 95 97 50 76 51 77 82 108 83 109 52 74 53 75 84 106 85 107 8 23 11 20 10 21 9 22 0 12 28 31 30 29 13 1 58 59 90 101 91 100 69 68 60 61 92 99 93 98 67 66 3 15 37 38 39 36 14 2 48 49 80 111 81 110 79 78 4 16 40 43 42 41 17 5 6 18 44 47 46 45 19 7 72 73 104 87 105 86 55 54 +28 39 30 37 58 67 60 69 88 97 94 103 31 36 29 38 59 66 61 68 89 96 95 102 50 75 52 77 80 105 86 111 51 74 53 76 81 104 87 110 4 19 7 16 6 17 5 18 0 12 24 27 26 25 13 1 56 62 90 101 92 99 71 65 57 63 91 100 93 98 70 64 3 15 33 34 35 32 14 2 48 54 82 109 84 107 79 73 8 20 40 45 44 41 21 9 10 22 42 47 46 43 23 11 72 78 106 85 108 83 55 49 +24 34 27 33 58 68 59 69 90 100 91 101 26 32 25 35 60 66 61 67 92 98 93 99 48 78 49 79 80 110 81 111 54 72 55 73 86 104 87 105 8 22 10 20 11 21 9 23 0 12 28 30 31 29 13 1 56 57 88 103 89 102 71 70 62 63 94 97 95 96 65 64 3 15 37 39 38 36 14 2 50 51 82 109 83 108 77 76 4 16 40 42 43 41 17 5 7 19 45 47 46 44 18 6 74 75 106 85 107 84 53 52 +28 38 31 37 56 65 62 71 90 99 92 101 30 36 29 39 57 64 63 70 91 98 93 100 48 73 54 79 82 107 84 109 49 72 55 78 83 106 85 108 4 18 6 16 7 17 5 19 0 12 24 26 27 25 13 1 58 60 88 103 94 97 69 67 59 61 89 102 95 96 68 66 3 15 33 35 34 32 14 2 50 52 80 111 86 105 77 75 8 20 40 44 45 41 21 9 11 23 43 47 46 42 22 10 74 76 104 87 110 81 53 51 +0 15 12 3 56 63 57 62 58 61 59 60 13 2 1 14 71 64 70 65 69 66 68 67 80 87 81 86 82 85 83 84 111 104 110 105 109 106 108 107 40 47 43 44 42 45 41 46 24 26 28 31 30 29 27 25 88 89 90 92 91 93 94 95 103 102 101 99 100 98 97 96 33 35 37 38 39 36 34 32 48 49 50 52 51 53 54 55 4 6 8 11 10 9 7 5 16 18 20 23 22 21 19 17 72 73 74 76 75 77 78 79 +28 39 30 37 88 97 103 94 58 67 69 60 31 36 29 38 89 96 102 95 59 66 68 61 80 105 111 86 50 75 77 52 81 104 110 87 51 74 76 53 4 19 17 6 16 7 5 18 24 26 0 13 12 1 27 25 56 71 90 92 101 99 62 65 57 70 91 93 100 98 63 64 33 35 3 14 15 2 34 32 48 79 82 84 109 107 54 73 40 44 8 21 20 9 45 41 42 46 10 23 22 11 47 43 72 55 106 108 85 83 78 49 +0 14 13 3 88 95 89 94 90 93 91 92 12 2 1 15 103 96 102 97 101 98 100 99 48 55 49 54 50 53 51 52 79 72 78 73 77 74 76 75 40 46 42 44 43 45 41 47 24 26 28 30 31 29 27 25 56 57 58 60 59 61 62 63 71 70 69 67 68 66 65 64 33 35 37 39 38 36 34 32 80 81 82 84 83 85 86 87 4 6 8 10 11 9 7 5 17 19 21 23 22 20 18 16 104 105 106 108 107 109 110 111 +28 38 31 37 56 65 71 62 90 99 101 92 30 36 29 39 57 64 70 63 91 98 100 93 48 73 79 54 82 107 109 84 49 72 78 55 83 106 108 85 4 18 16 6 17 7 5 19 24 26 0 12 13 1 27 25 88 103 58 60 69 67 94 97 89 102 59 61 68 66 95 96 33 35 3 15 14 2 34 32 80 111 50 52 77 75 86 105 40 44 8 20 21 9 45 41 43 47 11 23 22 10 46 42 104 87 74 76 53 51 110 81 +0 15 12 3 58 61 60 59 56 63 62 57 13 2 1 14 69 66 67 68 71 64 65 70 82 85 84 83 80 87 86 81 109 106 107 108 111 104 105 110 40 47 45 42 44 43 41 46 28 30 24 27 26 25 31 29 88 94 90 91 92 93 89 95 103 97 101 100 99 98 102 96 37 39 33 34 35 32 38 36 48 54 50 51 52 53 49 55 8 10 4 7 6 5 11 9 20 22 16 19 18 17 23 21 72 78 74 75 76 77 73 79 +24 35 26 33 88 102 103 89 56 70 71 57 27 32 25 34 94 96 97 95 62 64 65 63 82 108 109 83 50 76 77 51 84 106 107 85 52 74 75 53 8 23 21 10 20 11 9 22 28 30 0 13 12 1 31 29 58 69 90 91 101 100 59 68 60 67 92 93 99 98 61 66 37 39 3 14 15 2 38 36 48 79 80 81 111 110 49 78 40 42 4 17 16 5 43 41 44 46 6 19 18 7 47 45 72 55 104 105 87 86 73 54 +0 14 13 3 88 95 94 89 90 93 92 91 12 2 1 15 103 96 97 102 101 98 99 100 48 55 54 49 50 53 52 51 79 72 73 78 77 74 75 76 40 46 44 42 45 43 41 47 28 30 24 26 27 25 31 29 58 60 56 57 62 63 59 61 69 67 71 70 65 64 68 66 37 39 33 35 34 32 38 36 82 84 80 81 86 87 83 85 8 10 4 6 7 5 11 9 21 23 17 19 18 16 22 20 106 108 104 105 110 111 107 109 +24 34 27 33 58 68 69 59 90 100 101 91 26 32 25 35 60 66 67 61 92 98 99 93 48 78 79 49 80 110 111 81 54 72 73 55 86 104 105 87 8 22 20 10 21 11 9 23 28 30 0 12 13 1 31 29 88 103 56 57 71 70 89 102 94 97 62 63 65 64 95 96 37 39 3 15 14 2 38 36 82 109 50 51 77 76 83 108 40 42 4 16 17 5 43 41 45 47 7 19 18 6 46 44 106 85 74 75 53 52 107 84 +24 35 26 33 88 102 89 103 56 70 57 71 27 32 25 34 94 96 95 97 62 64 63 65 82 108 83 109 50 76 51 77 84 106 85 107 52 74 53 75 8 23 10 21 11 20 9 22 0 13 28 30 31 29 12 1 90 91 58 69 59 68 101 100 92 93 60 67 61 66 99 98 3 14 37 39 38 36 15 2 80 81 48 79 49 78 111 110 4 17 40 42 43 41 16 5 6 19 44 46 47 45 18 7 104 105 72 55 73 54 87 86 +28 39 30 37 88 97 94 103 58 67 60 69 31 36 29 38 89 96 95 102 59 66 61 68 80 105 86 111 50 75 52 77 81 104 87 110 51 74 53 76 4 19 6 17 7 16 5 18 0 13 24 26 27 25 12 1 90 92 56 71 62 65 101 99 91 93 57 70 63 64 100 98 3 14 33 35 34 32 15 2 82 84 48 79 54 73 109 107 8 21 40 44 45 41 20 9 10 23 42 46 47 43 22 11 106 108 72 55 78 49 85 83 +24 34 27 33 90 100 91 101 58 68 59 69 26 32 25 35 92 98 93 99 60 66 61 67 80 110 81 111 48 78 49 79 86 104 87 105 54 72 55 73 8 22 11 21 10 20 9 23 0 13 28 31 30 29 12 1 88 89 56 71 57 70 103 102 94 95 62 65 63 64 97 96 3 14 37 38 39 36 15 2 82 83 50 77 51 76 109 108 4 17 40 43 42 41 16 5 7 18 45 46 47 44 19 6 106 107 74 53 75 52 85 84 +28 38 31 37 90 99 92 101 56 65 62 71 30 36 29 39 91 98 93 100 57 64 63 70 82 107 84 109 48 73 54 79 83 106 85 108 49 72 55 78 4 18 7 17 6 16 5 19 0 13 24 27 26 25 12 1 88 94 58 69 60 67 103 97 89 95 59 68 61 66 102 96 3 14 33 34 35 32 15 2 80 86 50 77 52 75 111 105 8 21 40 45 44 41 20 9 11 22 43 46 47 42 23 10 104 110 74 53 76 51 87 81 +0 15 12 3 58 61 59 60 56 63 57 62 13 2 1 14 69 66 68 67 71 64 70 65 82 85 83 84 80 87 81 86 109 106 108 107 111 104 110 105 40 47 42 45 43 44 41 46 24 27 28 30 31 29 26 25 90 91 88 94 89 95 92 93 101 100 103 97 102 96 99 98 33 34 37 39 38 36 35 32 50 51 48 54 49 55 52 53 4 7 8 10 11 9 6 5 16 19 20 22 23 21 18 17 74 75 72 78 73 79 76 77 +28 39 30 37 58 67 69 60 88 97 103 94 31 36 29 38 59 66 68 61 89 96 102 95 50 75 77 52 80 105 111 86 51 74 76 53 81 104 110 87 4 19 16 7 17 6 5 18 24 27 0 12 13 1 26 25 90 101 56 62 71 65 92 99 91 100 57 63 70 64 93 98 33 34 3 15 14 2 35 32 82 109 48 54 79 73 84 107 40 45 8 20 21 9 44 41 42 47 10 22 23 11 46 43 106 85 72 78 55 49 108 83 +0 14 13 3 90 93 91 92 88 95 89 94 12 2 1 15 101 98 100 99 103 96 102 97 50 53 51 52 48 55 49 54 77 74 76 75 79 72 78 73 40 46 43 45 42 44 41 47 24 27 28 31 30 29 26 25 58 59 56 62 57 63 60 61 69 68 71 65 70 64 67 66 33 34 37 38 39 36 35 32 82 83 80 86 81 87 84 85 4 7 8 11 10 9 6 5 17 18 21 22 23 20 19 16 106 107 104 110 105 111 108 109 +28 38 31 37 90 99 101 92 56 65 71 62 30 36 29 39 91 98 100 93 57 64 70 63 82 107 109 84 48 73 79 54 83 106 108 85 49 72 78 55 4 18 17 7 16 6 5 19 24 27 0 13 12 1 26 25 58 69 88 94 103 97 60 67 59 68 89 95 102 96 61 66 33 34 3 14 15 2 35 32 50 77 80 86 111 105 52 75 40 45 8 21 20 9 44 41 43 46 11 22 23 10 47 42 74 53 104 110 87 81 76 51 +0 15 12 3 56 63 62 57 58 61 60 59 13 2 1 14 71 64 65 70 69 66 67 68 80 87 86 81 82 85 84 83 111 104 105 110 109 106 107 108 40 47 44 43 45 42 41 46 28 31 24 26 27 25 30 29 90 92 88 89 94 95 91 93 101 99 103 102 97 96 100 98 37 38 33 35 34 32 39 36 50 52 48 49 54 55 51 53 8 11 4 6 7 5 10 9 20 23 16 18 19 17 22 21 74 76 72 73 78 79 75 77 +24 35 26 33 56 70 71 57 88 102 103 89 27 32 25 34 62 64 65 63 94 96 97 95 50 76 77 51 82 108 109 83 52 74 75 53 84 106 107 85 8 23 20 11 21 10 9 22 28 31 0 12 13 1 30 29 90 101 58 59 69 68 91 100 92 99 60 61 67 66 93 98 37 38 3 15 14 2 39 36 80 111 48 49 79 78 81 110 40 43 4 16 17 5 42 41 44 47 6 18 19 7 46 45 104 87 72 73 55 54 105 86 +0 14 13 3 90 93 92 91 88 95 94 89 12 2 1 15 101 98 99 100 103 96 97 102 50 53 52 51 48 55 54 49 77 74 75 76 79 72 73 78 40 46 45 43 44 42 41 47 28 31 24 27 26 25 30 29 56 62 58 59 60 61 57 63 71 65 69 68 67 66 70 64 37 38 33 34 35 32 39 36 80 86 82 83 84 85 81 87 8 11 4 7 6 5 10 9 21 22 17 18 19 16 23 20 104 110 106 107 108 109 105 111 +24 34 27 33 90 100 101 91 58 68 69 59 26 32 25 35 92 98 99 93 60 66 67 61 80 110 111 81 48 78 79 49 86 104 105 87 54 72 73 55 8 22 21 11 20 10 9 23 28 31 0 13 12 1 30 29 56 71 88 89 103 102 57 70 62 65 94 95 97 96 63 64 37 38 3 14 15 2 39 36 50 77 82 83 109 108 51 76 40 43 4 17 16 5 42 41 45 46 7 18 19 6 47 44 74 53 106 107 85 84 75 52 +24 25 26 27 0 1 12 13 28 29 31 30 33 32 35 34 3 2 15 14 37 36 38 39 4 5 16 17 40 41 43 42 6 7 18 19 44 45 47 46 8 9 11 10 20 21 23 22 56 57 88 89 103 102 71 70 58 59 90 91 101 100 69 68 60 61 92 93 99 98 67 66 62 63 94 95 97 96 65 64 48 49 80 81 111 110 79 78 50 51 82 83 109 108 77 76 52 53 84 85 107 106 75 74 54 55 86 87 105 104 73 72 +88 97 103 94 58 67 60 69 28 39 37 30 89 96 102 95 59 66 61 68 31 36 38 29 4 19 6 17 80 105 104 81 16 7 18 5 111 86 87 110 50 75 74 51 52 77 76 53 56 57 24 33 26 35 71 70 0 3 90 91 92 93 13 14 12 15 101 100 99 98 1 2 62 63 27 34 25 32 65 64 48 72 40 42 44 46 79 55 8 10 82 106 84 108 21 23 20 22 109 85 107 83 9 11 54 78 45 47 41 43 73 49 +88 95 89 94 0 14 3 13 90 93 92 91 103 96 102 97 12 2 15 1 101 98 99 100 48 55 72 79 40 46 44 42 49 54 73 78 43 45 47 41 50 53 52 51 74 77 76 75 56 57 24 26 33 35 71 70 58 60 28 30 37 39 69 67 59 61 31 29 38 36 68 66 62 63 27 25 34 32 65 64 4 6 80 81 104 105 17 19 8 10 82 84 106 108 21 23 11 9 83 85 107 109 22 20 7 5 86 87 110 111 18 16 +24 34 33 27 58 68 59 69 90 100 101 91 26 32 35 25 60 66 61 67 92 98 99 93 48 78 49 79 80 110 111 81 72 54 73 55 104 86 87 105 8 22 20 10 11 21 23 9 56 57 88 103 89 102 71 70 0 12 28 30 31 29 13 1 3 15 37 39 38 36 14 2 62 63 94 97 95 96 65 64 4 16 40 42 43 41 17 5 50 51 82 109 83 108 77 76 74 75 106 85 107 84 53 52 7 19 45 47 46 44 18 6 +56 63 57 62 0 15 12 3 58 61 59 60 71 64 70 65 13 2 1 14 69 66 68 67 80 87 111 104 40 47 43 44 81 86 110 105 42 45 41 46 82 85 83 84 109 106 108 107 24 26 88 89 103 102 33 35 28 31 90 92 101 99 37 38 30 29 91 93 100 98 39 36 27 25 94 95 97 96 34 32 48 49 4 6 16 18 72 73 50 52 8 11 20 23 74 76 51 53 10 9 22 21 75 77 54 55 7 5 19 17 78 79 +88 97 103 94 28 39 30 37 58 67 69 60 89 96 102 95 31 36 29 38 59 66 68 61 80 105 81 104 4 19 17 6 111 86 110 87 16 7 5 18 50 75 77 52 51 74 76 53 24 26 56 71 57 70 33 35 0 13 90 92 91 93 3 14 12 1 101 99 100 98 15 2 27 25 62 65 63 64 34 32 48 79 40 44 42 46 72 55 82 84 8 21 10 23 106 108 109 107 20 9 22 11 85 83 54 73 45 41 47 43 78 49 +88 95 89 94 0 14 13 3 90 93 91 92 103 96 102 97 12 2 1 15 101 98 100 99 48 55 79 72 40 46 42 44 49 54 78 73 43 45 41 47 50 53 51 52 77 74 76 75 24 26 56 57 71 70 33 35 28 30 58 60 69 67 37 39 31 29 59 61 68 66 38 36 27 25 62 63 65 64 34 32 80 81 4 6 17 19 104 105 82 84 8 10 21 23 106 108 83 85 11 9 22 20 107 109 86 87 7 5 18 16 110 111 +56 65 71 62 28 38 31 37 90 99 101 92 57 64 70 63 30 36 29 39 91 98 100 93 48 73 49 72 4 18 16 6 79 54 78 55 17 7 5 19 82 107 109 84 83 106 108 85 24 26 88 103 89 102 33 35 0 12 58 60 59 61 3 15 13 1 69 67 68 66 14 2 27 25 94 97 95 96 34 32 80 111 40 44 43 47 104 87 50 52 8 20 11 23 74 76 77 75 21 9 22 10 53 51 86 105 45 41 46 42 110 81 +56 63 57 62 58 61 60 59 0 15 3 12 71 64 70 65 69 66 67 68 13 2 14 1 40 47 44 43 80 87 104 111 42 45 46 41 81 86 105 110 82 85 106 109 84 83 108 107 88 103 24 33 26 35 89 102 28 37 90 101 92 99 31 38 30 39 91 100 93 98 29 36 94 97 27 34 25 32 95 96 48 72 4 16 6 18 49 73 8 20 50 74 52 76 11 23 10 22 51 75 53 77 9 21 54 78 7 19 5 17 55 79 +24 25 26 27 28 29 30 31 0 1 13 12 33 32 35 34 37 36 39 38 3 2 14 15 40 41 42 43 4 5 17 16 44 45 46 47 6 7 19 18 8 9 21 20 10 11 23 22 88 103 56 71 57 70 89 102 58 69 90 101 91 100 59 68 60 67 92 99 93 98 61 66 94 97 62 65 63 64 95 96 48 79 80 111 81 110 49 78 82 109 50 77 51 76 83 108 84 107 52 75 53 74 85 106 54 73 86 105 87 104 55 72 +24 34 33 27 58 68 69 59 90 100 91 101 26 32 35 25 60 66 67 61 92 98 93 99 48 78 79 49 80 110 81 111 72 54 55 73 104 86 105 87 8 22 10 20 21 11 23 9 88 103 56 57 71 70 89 102 28 30 0 12 13 1 31 29 37 39 3 15 14 2 38 36 94 97 62 63 65 64 95 96 40 42 4 16 17 5 43 41 82 109 50 51 77 76 83 108 106 85 74 75 53 52 107 84 45 47 7 19 18 6 46 44 +56 65 71 62 28 38 37 31 90 99 92 101 57 64 70 63 30 36 39 29 91 98 93 100 48 73 72 49 4 18 6 16 79 54 55 78 17 7 19 5 82 107 84 109 106 83 108 85 88 103 24 26 33 35 89 102 58 60 0 12 3 15 59 61 69 67 13 1 14 2 68 66 94 97 27 25 34 32 95 96 40 44 80 111 104 87 43 47 8 20 50 52 74 76 11 23 21 9 77 75 53 51 22 10 45 41 86 105 110 81 46 42 +56 63 57 62 0 15 3 12 58 61 60 59 71 64 70 65 13 2 14 1 69 66 67 68 80 87 104 111 40 47 44 43 81 86 105 110 42 45 46 41 82 85 84 83 106 109 108 107 88 89 24 26 33 35 103 102 90 92 28 31 37 38 101 99 91 93 30 29 39 36 100 98 94 95 27 25 34 32 97 96 4 6 48 49 72 73 16 18 8 11 50 52 74 76 20 23 10 9 51 53 75 77 22 21 7 5 54 55 78 79 19 17 +24 25 26 27 0 1 13 12 28 29 30 31 33 32 35 34 3 2 14 15 37 36 39 38 4 5 17 16 40 41 42 43 6 7 19 18 44 45 46 47 8 9 10 11 21 20 23 22 88 89 56 57 71 70 103 102 90 91 58 59 69 68 101 100 92 93 60 61 67 66 99 98 94 95 62 63 65 64 97 96 80 81 48 49 79 78 111 110 82 83 50 51 77 76 109 108 84 85 52 53 75 74 107 106 86 87 54 55 73 72 105 104 +24 34 33 27 90 100 91 101 58 68 69 59 26 32 35 25 92 98 93 99 60 66 67 61 80 110 81 111 48 78 79 49 104 86 105 87 72 54 55 73 8 22 21 11 10 20 23 9 88 89 56 71 57 70 103 102 0 13 28 31 30 29 12 1 3 14 37 38 39 36 15 2 94 95 62 65 63 64 97 96 4 17 40 43 42 41 16 5 82 83 50 77 51 76 109 108 106 107 74 53 75 52 85 84 7 18 45 46 47 44 19 6 +56 65 71 62 90 99 92 101 28 38 37 31 57 64 70 63 91 98 93 100 30 36 39 29 4 18 6 16 48 73 72 49 17 7 19 5 79 54 55 78 82 107 106 83 84 109 108 85 88 89 24 33 26 35 103 102 0 3 58 59 60 61 12 15 13 14 69 68 67 66 1 2 94 95 27 34 25 32 97 96 80 104 40 43 44 47 111 87 8 11 50 74 52 76 20 23 21 22 77 53 75 51 9 10 86 110 45 46 41 42 105 81 +56 63 57 62 58 61 59 60 0 15 12 3 71 64 70 65 69 66 68 67 13 2 1 14 40 47 43 44 80 87 111 104 42 45 41 46 81 86 110 105 82 85 109 106 83 84 108 107 24 33 88 103 89 102 26 35 90 101 28 37 31 38 92 99 91 100 30 39 29 36 93 98 27 34 94 97 95 96 25 32 4 16 48 72 49 73 6 18 50 74 8 20 11 23 52 76 51 75 10 22 9 21 53 77 7 19 54 78 55 79 5 17 +88 97 103 94 58 67 69 60 28 39 30 37 89 96 102 95 59 66 68 61 31 36 29 38 4 19 17 6 80 105 81 104 16 7 5 18 111 86 110 87 50 75 51 74 77 52 76 53 24 33 56 57 71 70 26 35 90 91 0 3 13 14 92 93 101 100 12 15 1 2 99 98 27 34 62 63 65 64 25 32 40 42 48 72 79 55 44 46 82 106 8 10 21 23 84 108 109 85 20 22 9 11 107 83 45 47 54 78 73 49 41 43 +88 95 89 94 90 93 91 92 0 14 13 3 103 96 102 97 101 98 100 99 12 2 1 15 40 46 42 44 48 55 79 72 43 45 41 47 49 54 78 73 50 53 77 74 51 52 76 75 24 33 56 71 57 70 26 35 58 69 28 37 30 39 60 67 59 68 31 38 29 36 61 66 27 34 62 65 63 64 25 32 4 17 80 104 81 105 6 19 82 106 8 21 10 23 84 108 83 107 11 22 9 20 85 109 7 18 86 110 87 111 5 16 +56 65 71 62 90 99 101 92 28 38 31 37 57 64 70 63 91 98 100 93 30 36 29 39 4 18 16 6 48 73 49 72 17 7 5 19 79 54 78 55 82 107 83 106 109 84 108 85 24 33 88 89 103 102 26 35 58 59 0 3 12 15 60 61 69 68 13 14 1 2 67 66 27 34 94 95 97 96 25 32 40 43 80 104 111 87 44 47 50 74 8 11 20 23 52 76 77 53 21 22 9 10 75 51 45 46 86 110 105 81 41 42 +24 25 26 27 28 29 31 30 0 1 12 13 33 32 35 34 37 36 38 39 3 2 15 14 40 41 43 42 4 5 16 17 44 45 47 46 6 7 18 19 8 9 20 21 11 10 23 22 56 71 88 103 89 102 57 70 90 101 58 69 59 68 91 100 92 99 60 67 61 66 93 98 62 65 94 97 95 96 63 64 80 111 48 79 49 78 81 110 50 77 82 109 83 108 51 76 52 75 84 107 85 106 53 74 86 105 54 73 55 72 87 104 +88 97 103 94 28 39 37 30 58 67 60 69 89 96 102 95 31 36 38 29 59 66 61 68 80 105 104 81 4 19 6 17 111 86 87 110 16 7 18 5 50 75 52 77 74 51 76 53 56 71 24 26 33 35 57 70 90 92 0 13 3 14 91 93 101 99 12 1 15 2 100 98 62 65 27 25 34 32 63 64 40 44 48 79 72 55 42 46 8 21 82 84 106 108 10 23 20 9 109 107 85 83 22 11 45 41 54 73 78 49 47 43 +88 95 89 94 90 93 92 91 0 14 3 13 103 96 102 97 101 98 99 100 12 2 15 1 40 46 44 42 48 55 72 79 43 45 47 41 49 54 73 78 50 53 74 77 52 51 76 75 56 71 24 33 26 35 57 70 28 37 58 69 60 67 30 39 31 38 59 68 61 66 29 36 62 65 27 34 25 32 63 64 80 104 4 17 6 19 81 105 8 21 82 106 84 108 10 23 11 22 83 107 85 109 9 20 86 110 7 18 5 16 87 111 +24 34 33 27 90 100 101 91 58 68 59 69 26 32 35 25 92 98 99 93 60 66 61 67 80 110 111 81 48 78 49 79 104 86 87 105 72 54 73 55 8 22 11 21 20 10 23 9 56 71 88 89 103 102 57 70 28 31 0 13 12 1 30 29 37 38 3 14 15 2 39 36 62 65 94 95 97 96 63 64 40 43 4 17 16 5 42 41 50 77 82 83 109 108 51 76 74 53 106 107 85 84 75 52 45 46 7 18 19 6 47 44 +28 29 30 31 0 1 12 13 24 25 27 26 37 36 39 38 3 2 15 14 33 32 34 35 8 9 20 21 40 41 45 44 10 11 22 23 42 43 47 46 4 5 7 6 16 17 19 18 58 60 88 94 103 97 69 67 56 62 90 92 101 99 71 65 57 63 91 93 100 98 70 64 59 61 89 95 102 96 68 66 48 54 82 84 109 107 79 73 50 52 80 86 111 105 77 75 51 53 81 87 110 104 76 74 49 55 83 85 108 106 78 72 +88 102 103 89 56 70 57 71 24 35 33 26 94 96 97 95 62 64 63 65 27 32 34 25 8 23 10 21 82 108 106 84 20 11 22 9 109 83 85 107 50 76 74 52 51 77 75 53 58 60 28 37 30 39 69 67 0 3 90 92 91 93 13 14 12 15 101 99 100 98 1 2 59 61 31 38 29 36 68 66 48 72 40 44 42 46 79 55 4 6 80 104 81 105 17 19 16 18 111 87 110 86 5 7 49 73 43 47 41 45 78 54 +88 95 94 89 0 14 3 13 90 93 91 92 103 96 97 102 12 2 15 1 101 98 100 99 48 55 72 79 40 46 42 44 54 49 78 73 45 43 47 41 50 53 51 52 74 77 75 76 58 60 28 30 37 39 69 67 56 57 24 26 33 35 71 70 62 63 27 25 34 32 65 64 59 61 31 29 38 36 68 66 8 10 82 84 106 108 21 23 4 6 80 81 104 105 17 19 7 5 86 87 110 111 18 16 11 9 83 85 107 109 22 20 +28 38 37 31 56 65 62 71 90 99 101 92 30 36 39 29 57 64 63 70 91 98 100 93 48 73 54 79 82 107 109 84 72 49 78 55 106 83 85 108 4 18 16 6 7 17 19 5 58 60 88 103 94 97 69 67 0 12 24 26 27 25 13 1 3 15 33 35 34 32 14 2 59 61 89 102 95 96 68 66 8 20 40 44 45 41 21 9 50 52 80 111 86 105 77 75 74 76 104 87 110 81 53 51 11 23 43 47 46 42 22 10 +58 61 60 59 0 15 12 3 56 63 62 57 69 66 67 68 13 2 1 14 71 64 65 70 82 85 109 106 40 47 45 42 84 83 107 108 44 43 41 46 80 87 86 81 111 104 105 110 28 30 88 94 103 97 37 39 24 27 90 91 101 100 33 34 26 25 92 93 99 98 35 32 31 29 89 95 102 96 38 36 48 54 8 10 20 22 72 78 50 51 4 7 16 19 74 75 52 53 6 5 18 17 76 77 49 55 11 9 23 21 73 79 +88 102 103 89 24 35 26 33 56 70 71 57 94 96 97 95 27 32 25 34 62 64 65 63 82 108 84 106 8 23 21 10 109 83 107 85 20 11 9 22 50 76 77 51 52 74 75 53 28 30 58 69 60 67 37 39 0 13 90 91 92 93 3 14 12 1 101 100 99 98 15 2 31 29 59 68 61 66 38 36 48 79 40 42 44 46 72 55 80 81 4 17 6 19 104 105 111 110 16 5 18 7 87 86 49 78 43 41 47 45 73 54 +88 95 94 89 0 14 13 3 90 93 92 91 103 96 97 102 12 2 1 15 101 98 99 100 48 55 79 72 40 46 44 42 54 49 73 78 45 43 41 47 50 53 52 51 77 74 75 76 28 30 58 60 69 67 37 39 24 26 56 57 71 70 33 35 27 25 62 63 65 64 34 32 31 29 59 61 68 66 38 36 82 84 8 10 21 23 106 108 80 81 4 6 17 19 104 105 86 87 7 5 18 16 110 111 83 85 11 9 22 20 107 109 +58 68 69 59 24 34 27 33 90 100 101 91 60 66 67 61 26 32 25 35 92 98 99 93 48 78 54 72 8 22 20 10 79 49 73 55 21 11 9 23 80 110 111 81 86 104 105 87 28 30 88 103 94 97 37 39 0 12 56 57 62 63 3 15 13 1 71 70 65 64 14 2 31 29 89 102 95 96 38 36 82 109 40 42 45 47 106 85 50 51 4 16 7 19 74 75 77 76 17 5 18 6 53 52 83 108 43 41 46 44 107 84 +58 61 60 59 56 63 57 62 0 15 3 12 69 66 67 68 71 64 70 65 13 2 14 1 40 47 42 45 82 85 106 109 44 43 46 41 84 83 108 107 80 87 104 111 81 86 105 110 88 103 28 37 30 39 94 97 24 33 90 101 91 100 27 34 26 35 92 99 93 98 25 32 89 102 31 38 29 36 95 96 48 72 8 20 10 22 54 78 4 16 50 74 51 75 7 19 6 18 52 76 53 77 5 17 49 73 11 23 9 21 55 79 +28 29 30 31 24 25 26 27 0 1 13 12 37 36 39 38 33 32 35 34 3 2 14 15 40 41 44 45 8 9 21 20 42 43 46 47 10 11 23 22 4 5 17 16 6 7 19 18 88 103 58 69 60 67 94 97 56 71 90 101 92 99 62 65 57 70 91 100 93 98 63 64 89 102 59 68 61 66 95 96 48 79 82 109 84 107 54 73 80 111 50 77 52 75 86 105 81 110 51 76 53 74 87 104 49 78 83 108 85 106 55 72 +58 68 69 59 24 34 33 27 90 100 91 101 60 66 67 61 26 32 35 25 92 98 93 99 48 78 72 54 8 22 10 20 79 49 55 73 21 11 23 9 80 110 81 111 104 86 105 87 88 103 28 30 37 39 94 97 56 57 0 12 3 15 62 63 71 70 13 1 14 2 65 64 89 102 31 29 38 36 95 96 40 42 82 109 106 85 45 47 4 16 50 51 74 75 7 19 17 5 77 76 53 52 18 6 43 41 83 108 107 84 46 44 +28 38 37 31 56 65 71 62 90 99 92 101 30 36 39 29 57 64 70 63 91 98 93 100 48 73 79 54 82 107 84 109 72 49 55 78 106 83 108 85 4 18 6 16 17 7 19 5 88 103 58 60 69 67 94 97 24 26 0 12 13 1 27 25 33 35 3 15 14 2 34 32 89 102 59 61 68 66 95 96 40 44 8 20 21 9 45 41 80 111 50 52 77 75 86 105 104 87 74 76 53 51 110 81 43 47 11 23 22 10 46 42 +58 61 60 59 0 15 3 12 56 63 57 62 69 66 67 68 13 2 14 1 71 64 70 65 82 85 106 109 40 47 42 45 84 83 108 107 44 43 46 41 80 87 81 86 104 111 105 110 88 94 28 30 37 39 103 97 90 91 24 27 33 34 101 100 92 93 26 25 35 32 99 98 89 95 31 29 38 36 102 96 8 10 48 54 72 78 20 22 4 7 50 51 74 75 16 19 6 5 52 53 76 77 18 17 11 9 49 55 73 79 23 21 +28 29 30 31 0 1 13 12 24 25 26 27 37 36 39 38 3 2 14 15 33 32 35 34 8 9 21 20 40 41 44 45 10 11 23 22 42 43 46 47 4 5 6 7 17 16 19 18 88 94 58 60 69 67 103 97 90 92 56 62 71 65 101 99 91 93 57 63 70 64 100 98 89 95 59 61 68 66 102 96 82 84 48 54 79 73 109 107 80 86 50 52 77 75 111 105 81 87 51 53 76 74 110 104 83 85 49 55 78 72 108 106 +58 68 69 59 90 100 91 101 24 34 33 27 60 66 67 61 92 98 93 99 26 32 35 25 8 22 10 20 48 78 72 54 21 11 23 9 79 49 55 73 80 110 104 86 81 111 105 87 88 94 28 37 30 39 103 97 0 3 56 62 57 63 12 15 13 14 71 65 70 64 1 2 89 95 31 38 29 36 102 96 82 106 40 45 42 47 109 85 4 7 50 74 51 75 16 19 17 18 77 53 76 52 5 6 83 107 43 46 41 44 108 84 +28 38 37 31 90 99 92 101 56 65 71 62 30 36 39 29 91 98 93 100 57 64 70 63 82 107 84 109 48 73 79 54 106 83 108 85 72 49 55 78 4 18 17 7 6 16 19 5 88 94 58 69 60 67 103 97 0 13 24 27 26 25 12 1 3 14 33 34 35 32 15 2 89 95 59 68 61 66 102 96 8 21 40 45 44 41 20 9 80 86 50 77 52 75 111 105 104 110 74 53 76 51 87 81 11 22 43 46 47 42 23 10 +28 29 30 31 24 25 27 26 0 1 12 13 37 36 39 38 33 32 34 35 3 2 15 14 40 41 45 44 8 9 20 21 42 43 47 46 10 11 22 23 4 5 16 17 7 6 19 18 58 69 88 103 94 97 60 67 90 101 56 71 62 65 92 99 91 100 57 70 63 64 93 98 59 68 89 102 95 96 61 66 82 109 48 79 54 73 84 107 50 77 80 111 86 105 52 75 51 76 81 110 87 104 53 74 83 108 49 78 55 72 85 106 +88 102 103 89 24 35 33 26 56 70 57 71 94 96 97 95 27 32 34 25 62 64 63 65 82 108 106 84 8 23 10 21 109 83 85 107 20 11 22 9 50 76 51 77 74 52 75 53 58 69 28 30 37 39 60 67 90 91 0 13 3 14 92 93 101 100 12 1 15 2 99 98 59 68 31 29 38 36 61 66 40 42 48 79 72 55 44 46 4 17 80 81 104 105 6 19 16 5 111 110 87 86 18 7 43 41 49 78 73 54 47 45 +88 95 94 89 90 93 91 92 0 14 3 13 103 96 97 102 101 98 100 99 12 2 15 1 40 46 42 44 48 55 72 79 45 43 47 41 54 49 78 73 50 53 74 77 51 52 75 76 58 69 28 37 30 39 60 67 24 33 56 71 57 70 26 35 27 34 62 65 63 64 25 32 59 68 31 38 29 36 61 66 82 106 8 21 10 23 84 108 4 17 80 104 81 105 6 19 7 18 86 110 87 111 5 16 83 107 11 22 9 20 85 109 +28 38 37 31 90 99 101 92 56 65 62 71 30 36 39 29 91 98 100 93 57 64 63 70 82 107 109 84 48 73 54 79 106 83 85 108 72 49 78 55 4 18 7 17 16 6 19 5 58 69 88 94 103 97 60 67 24 27 0 13 12 1 26 25 33 34 3 14 15 2 35 32 59 68 89 95 102 96 61 66 40 45 8 21 20 9 44 41 50 77 80 86 111 105 52 75 74 53 104 110 87 81 76 51 43 46 11 22 23 10 47 42 +58 61 60 59 56 63 62 57 0 15 12 3 69 66 67 68 71 64 65 70 13 2 1 14 40 47 45 42 82 85 109 106 44 43 41 46 84 83 107 108 80 87 111 104 86 81 105 110 28 37 88 103 94 97 30 39 90 101 24 33 27 34 91 100 92 99 26 35 25 32 93 98 31 38 89 102 95 96 29 36 8 20 48 72 54 78 10 22 50 74 4 16 7 19 51 75 52 76 6 18 5 17 53 77 11 23 49 73 55 79 9 21 +88 102 103 89 56 70 71 57 24 35 26 33 94 96 97 95 62 64 65 63 27 32 25 34 8 23 21 10 82 108 84 106 20 11 9 22 109 83 107 85 50 76 52 74 77 51 75 53 28 37 58 60 69 67 30 39 90 92 0 3 13 14 91 93 101 99 12 15 1 2 100 98 31 38 59 61 68 66 29 36 40 44 48 72 79 55 42 46 80 104 4 6 17 19 81 105 111 87 16 18 5 7 110 86 43 47 49 73 78 54 41 45 +88 95 94 89 90 93 92 91 0 14 13 3 103 96 97 102 101 98 99 100 12 2 1 15 40 46 44 42 48 55 79 72 45 43 41 47 54 49 73 78 50 53 77 74 52 51 75 76 28 37 58 69 60 67 30 39 56 71 24 33 26 35 57 70 62 65 27 34 25 32 63 64 31 38 59 68 61 66 29 36 8 21 82 106 84 108 10 23 80 104 4 17 6 19 81 105 86 110 7 18 5 16 87 111 11 22 83 107 85 109 9 20 +58 68 69 59 90 100 101 91 24 34 27 33 60 66 67 61 92 98 99 93 26 32 25 35 8 22 20 10 48 78 54 72 21 11 9 23 79 49 73 55 80 110 86 104 111 81 105 87 28 37 88 94 103 97 30 39 56 62 0 3 12 15 57 63 71 65 13 14 1 2 70 64 31 38 89 95 102 96 29 36 40 45 82 106 109 85 42 47 50 74 4 7 16 19 51 75 77 53 17 18 5 6 76 52 43 46 83 107 108 84 41 44 +88 102 89 103 56 70 57 71 24 35 26 33 94 96 95 97 62 64 63 65 27 32 25 34 8 23 10 21 82 108 84 106 11 20 9 22 83 109 85 107 50 76 52 74 51 77 53 75 0 3 90 92 91 93 13 14 58 60 28 37 30 39 69 67 59 61 31 38 29 36 68 66 12 15 101 99 100 98 1 2 4 6 80 104 81 105 17 19 48 72 40 44 42 46 79 55 49 73 43 47 41 45 78 54 16 18 111 87 110 86 5 7 +88 97 94 103 58 67 60 69 28 39 30 37 89 96 95 102 59 66 61 68 31 36 29 38 4 19 6 17 80 105 81 104 7 16 5 18 86 111 87 110 50 75 51 74 52 77 53 76 0 3 90 91 92 93 13 14 56 57 24 33 26 35 71 70 62 63 27 34 25 32 65 64 12 15 101 100 99 98 1 2 8 10 82 106 84 108 21 23 48 72 40 42 44 46 79 55 54 78 45 47 41 43 73 49 20 22 109 85 107 83 9 11 +90 100 91 101 58 68 59 69 24 34 27 33 92 98 93 99 60 66 61 67 26 32 25 35 8 22 11 21 80 110 86 104 10 20 9 23 81 111 87 105 48 78 54 72 49 79 55 73 0 3 88 94 89 95 13 14 56 62 28 37 31 38 71 65 57 63 30 39 29 36 70 64 12 15 103 97 102 96 1 2 4 7 82 106 83 107 17 18 50 74 40 45 43 46 77 53 51 75 42 47 41 44 76 52 16 19 109 85 108 84 5 6 +90 99 92 101 56 65 62 71 28 38 31 37 91 98 93 100 57 64 63 70 30 36 29 39 4 18 7 17 82 107 83 106 6 16 5 19 84 109 85 108 48 73 49 72 54 79 55 78 0 3 88 89 94 95 13 14 58 59 24 33 27 34 69 68 60 61 26 35 25 32 67 66 12 15 103 102 97 96 1 2 8 11 80 104 86 110 21 22 50 74 40 43 45 46 77 53 52 76 44 47 41 42 75 51 20 23 111 87 105 81 9 10 +88 102 89 103 24 35 26 33 56 70 57 71 94 96 95 97 27 32 25 34 62 64 63 65 82 108 84 106 8 23 10 21 83 109 85 107 11 20 9 22 50 76 51 77 52 74 53 75 0 13 90 91 92 93 3 14 28 30 58 69 60 67 37 39 31 29 59 68 61 66 38 36 12 1 101 100 99 98 15 2 80 81 4 17 6 19 104 105 48 79 40 42 44 46 72 55 49 78 43 41 47 45 73 54 111 110 16 5 18 7 87 86 +88 97 94 103 28 39 30 37 58 67 60 69 89 96 95 102 31 36 29 38 59 66 61 68 80 105 81 104 4 19 6 17 86 111 87 110 7 16 5 18 50 75 52 77 51 74 53 76 0 13 90 92 91 93 3 14 24 26 56 71 57 70 33 35 27 25 62 65 63 64 34 32 12 1 101 99 100 98 15 2 82 84 8 21 10 23 106 108 48 79 40 44 42 46 72 55 54 73 45 41 47 43 78 49 109 107 20 9 22 11 85 83 +90 100 91 101 24 34 27 33 58 68 59 69 92 98 93 99 26 32 25 35 60 66 61 67 80 110 86 104 8 22 11 21 81 111 87 105 10 20 9 23 48 78 49 79 54 72 55 73 0 13 88 89 94 95 3 14 28 31 56 71 62 65 37 38 30 29 57 70 63 64 39 36 12 1 103 102 97 96 15 2 82 83 4 17 7 18 106 107 50 77 40 43 45 46 74 53 51 76 42 41 47 44 75 52 109 108 16 5 19 6 85 84 +90 99 92 101 28 38 31 37 56 65 62 71 91 98 93 100 30 36 29 39 57 64 63 70 82 107 83 106 4 18 7 17 84 109 85 108 6 16 5 19 48 73 54 79 49 72 55 78 0 13 88 94 89 95 3 14 24 27 58 69 59 68 33 34 26 25 60 67 61 66 35 32 12 1 103 97 102 96 15 2 80 86 8 21 11 22 104 110 50 77 40 45 43 46 74 53 52 75 44 41 47 42 76 51 111 105 20 9 23 10 87 81 +0 15 3 12 56 63 57 62 58 61 60 59 13 2 14 1 71 64 70 65 69 66 67 68 80 87 81 86 82 85 84 83 104 111 105 110 106 109 108 107 40 47 44 43 42 45 46 41 88 89 90 92 91 93 94 95 24 26 28 31 30 29 27 25 33 35 37 38 39 36 34 32 103 102 101 99 100 98 97 96 4 6 8 11 10 9 7 5 48 49 50 52 51 53 54 55 72 73 74 76 75 77 78 79 16 18 20 23 22 21 19 17 +0 1 13 12 24 25 26 27 28 29 30 31 3 2 14 15 33 32 35 34 37 36 39 38 4 5 6 7 8 9 10 11 17 16 19 18 21 20 23 22 40 41 42 43 44 45 46 47 88 89 90 91 92 93 94 95 56 57 58 59 60 61 62 63 71 70 69 68 67 66 65 64 103 102 101 100 99 98 97 96 80 81 82 83 84 85 86 87 48 49 50 51 52 53 54 55 79 78 77 76 75 74 73 72 111 110 109 108 107 106 105 104 +90 100 91 101 24 34 33 27 58 68 69 59 92 98 93 99 26 32 35 25 60 66 67 61 80 110 104 86 8 22 21 11 81 111 105 87 10 20 23 9 48 78 79 49 72 54 55 73 88 89 0 13 3 14 94 95 56 71 28 31 37 38 62 65 57 70 30 29 39 36 63 64 103 102 12 1 15 2 97 96 4 17 82 83 106 107 7 18 40 43 50 77 74 53 45 46 42 41 51 76 75 52 47 44 16 5 109 108 85 84 19 6 +90 99 92 101 56 65 71 62 28 38 37 31 91 98 93 100 57 64 70 63 30 36 39 29 4 18 17 7 82 107 106 83 6 16 19 5 84 109 108 85 48 73 72 49 79 54 55 78 88 89 0 3 13 14 94 95 24 33 58 59 69 68 27 34 26 35 60 61 67 66 25 32 103 102 12 15 1 2 97 96 80 104 8 11 21 22 86 110 40 43 50 74 77 53 45 46 44 47 52 76 75 51 41 42 111 87 20 23 9 10 105 81 +0 15 3 12 58 61 60 59 56 63 57 62 13 2 14 1 69 66 67 68 71 64 70 65 82 85 84 83 80 87 81 86 106 109 108 107 104 111 105 110 40 47 42 45 44 43 46 41 88 94 90 91 92 93 89 95 28 30 24 27 26 25 31 29 37 39 33 34 35 32 38 36 103 97 101 100 99 98 102 96 8 10 4 7 6 5 11 9 48 54 50 51 52 53 49 55 72 78 74 75 76 77 73 79 20 22 16 19 18 17 23 21 +0 1 13 12 28 29 30 31 24 25 26 27 3 2 14 15 37 36 39 38 33 32 35 34 8 9 10 11 4 5 6 7 21 20 23 22 17 16 19 18 40 41 44 45 42 43 46 47 88 94 90 92 91 93 89 95 58 60 56 62 57 63 59 61 69 67 71 65 70 64 68 66 103 97 101 99 100 98 102 96 82 84 80 86 81 87 83 85 48 54 50 52 51 53 49 55 79 73 77 75 76 74 78 72 109 107 111 105 110 104 108 106 +90 100 91 101 58 68 69 59 24 34 33 27 92 98 93 99 60 66 67 61 26 32 35 25 8 22 21 11 80 110 104 86 10 20 23 9 81 111 105 87 48 78 72 54 79 49 55 73 88 94 0 3 13 14 89 95 28 37 56 62 71 65 31 38 30 39 57 63 70 64 29 36 103 97 12 15 1 2 102 96 82 106 4 7 17 18 83 107 40 45 50 74 77 53 43 46 42 47 51 75 76 52 41 44 109 85 16 19 5 6 108 84 +90 99 92 101 28 38 37 31 56 65 71 62 91 98 93 100 30 36 39 29 57 64 70 63 82 107 106 83 4 18 17 7 84 109 108 85 6 16 19 5 48 73 79 54 72 49 55 78 88 94 0 13 3 14 89 95 58 69 24 27 33 34 59 68 60 67 26 25 35 32 61 66 103 97 12 1 15 2 102 96 8 21 80 86 104 110 11 22 40 45 50 77 74 53 43 46 44 41 52 75 76 51 47 42 20 9 111 105 87 81 23 10 +0 15 3 12 58 61 59 60 56 63 62 57 13 2 14 1 69 66 68 67 71 64 65 70 82 85 83 84 80 87 86 81 106 109 107 108 104 111 110 105 40 47 45 42 43 44 46 41 90 91 88 94 89 95 92 93 24 27 28 30 31 29 26 25 33 34 37 39 38 36 35 32 101 100 103 97 102 96 99 98 4 7 8 10 11 9 6 5 50 51 48 54 49 55 52 53 74 75 72 78 73 79 76 77 16 19 20 22 23 21 18 17 +0 1 13 12 24 25 27 26 28 29 31 30 3 2 14 15 33 32 34 35 37 36 38 39 4 5 7 6 8 9 11 10 17 16 18 19 21 20 22 23 40 41 43 42 45 44 46 47 90 91 88 89 94 95 92 93 58 59 56 57 62 63 60 61 69 68 71 70 65 64 67 66 101 100 103 102 97 96 99 98 82 83 80 81 86 87 84 85 50 51 48 49 54 55 52 53 77 76 79 78 73 72 75 74 109 108 111 110 105 104 107 106 +88 102 89 103 24 35 33 26 56 70 71 57 94 96 95 97 27 32 34 25 62 64 65 63 82 108 106 84 8 23 21 10 83 109 107 85 11 20 22 9 50 76 77 51 74 52 53 75 90 91 0 13 3 14 92 93 58 69 28 30 37 39 60 67 59 68 31 29 38 36 61 66 101 100 12 1 15 2 99 98 4 17 80 81 104 105 6 19 40 42 48 79 72 55 44 46 43 41 49 78 73 54 47 45 16 5 111 110 87 86 18 7 +88 97 94 103 58 67 69 60 28 39 37 30 89 96 95 102 59 66 68 61 31 36 38 29 4 19 17 6 80 105 104 81 7 16 18 5 86 111 110 87 50 75 74 51 77 52 53 76 90 91 0 3 13 14 92 93 24 33 56 57 71 70 26 35 27 34 62 63 65 64 25 32 101 100 12 15 1 2 99 98 82 106 8 10 21 23 84 108 40 42 48 72 79 55 44 46 45 47 54 78 73 49 41 43 109 85 20 22 9 11 107 83 +0 15 3 12 56 63 62 57 58 61 59 60 13 2 14 1 71 64 65 70 69 66 68 67 80 87 86 81 82 85 83 84 104 111 110 105 106 109 107 108 40 47 43 44 45 42 46 41 90 92 88 89 94 95 91 93 28 31 24 26 27 25 30 29 37 38 33 35 34 32 39 36 101 99 103 102 97 96 100 98 8 11 4 6 7 5 10 9 50 52 48 49 54 55 51 53 74 76 72 73 78 79 75 77 20 23 16 18 19 17 22 21 +0 1 13 12 28 29 31 30 24 25 27 26 3 2 14 15 37 36 38 39 33 32 34 35 8 9 11 10 4 5 7 6 21 20 22 23 17 16 18 19 40 41 45 44 43 42 46 47 90 92 88 94 89 95 91 93 56 62 58 60 59 61 57 63 71 65 69 67 68 66 70 64 101 99 103 97 102 96 100 98 80 86 82 84 83 85 81 87 50 52 48 54 49 55 51 53 77 75 79 73 78 72 76 74 111 105 109 107 108 106 110 104 +88 102 89 103 56 70 71 57 24 35 33 26 94 96 95 97 62 64 65 63 27 32 34 25 8 23 21 10 82 108 106 84 11 20 22 9 83 109 107 85 50 76 74 52 77 51 53 75 90 92 0 3 13 14 91 93 28 37 58 60 69 67 30 39 31 38 59 61 68 66 29 36 101 99 12 15 1 2 100 98 80 104 4 6 17 19 81 105 40 44 48 72 79 55 42 46 43 47 49 73 78 54 41 45 111 87 16 18 5 7 110 86 +88 97 94 103 28 39 37 30 58 67 69 60 89 96 95 102 31 36 38 29 59 66 68 61 80 105 104 81 4 19 17 6 86 111 110 87 7 16 18 5 50 75 77 52 74 51 53 76 90 92 0 13 3 14 91 93 56 71 24 26 33 35 57 70 62 65 27 25 34 32 63 64 101 99 12 1 15 2 100 98 8 21 82 84 106 108 10 23 40 44 48 79 72 55 42 46 45 41 54 73 78 49 47 43 20 9 109 107 85 83 22 11 +24 25 27 26 0 1 12 13 28 29 30 31 33 32 34 35 3 2 15 14 37 36 39 38 4 5 16 17 40 41 42 43 7 6 19 18 45 44 47 46 8 9 10 11 20 21 22 23 58 59 90 91 101 100 69 68 56 57 88 89 103 102 71 70 62 63 94 95 97 96 65 64 60 61 92 93 99 98 67 66 50 51 82 83 109 108 77 76 48 49 80 81 111 110 79 78 54 55 86 87 105 104 73 72 52 53 84 85 107 106 75 74 +24 35 33 26 56 70 57 71 88 102 103 89 27 32 34 25 62 64 63 65 94 96 97 95 50 76 51 77 82 108 109 83 74 52 75 53 106 84 85 107 8 23 20 11 10 21 22 9 58 59 90 101 91 100 69 68 0 12 28 31 30 29 13 1 3 15 37 38 39 36 14 2 60 61 92 99 93 98 67 66 4 16 40 43 42 41 17 5 48 49 80 111 81 110 79 78 72 73 104 87 105 86 55 54 6 18 44 47 46 45 19 7 +90 93 91 92 0 14 3 13 88 95 94 89 101 98 100 99 12 2 15 1 103 96 97 102 50 53 74 77 40 46 45 43 51 52 75 76 42 44 47 41 48 55 54 49 72 79 78 73 58 59 24 27 33 34 69 68 56 62 28 31 37 38 71 65 57 63 30 29 39 36 70 64 60 61 26 25 35 32 67 66 4 7 82 83 106 107 17 18 8 11 80 86 104 110 21 22 10 9 81 87 105 111 23 20 6 5 84 85 108 109 19 16 +90 99 101 92 56 65 62 71 28 38 37 31 91 98 100 93 57 64 63 70 30 36 39 29 4 18 7 17 82 107 106 83 16 6 19 5 109 84 85 108 48 73 72 49 54 79 78 55 58 59 24 33 27 34 69 68 0 3 88 89 94 95 13 14 12 15 103 102 97 96 1 2 60 61 26 35 25 32 67 66 50 74 40 43 45 46 77 53 8 11 80 104 86 110 21 22 20 23 111 87 105 81 9 10 52 76 44 47 41 42 75 51 +58 61 59 60 0 15 12 3 56 63 57 62 69 66 68 67 13 2 1 14 71 64 70 65 82 85 109 106 40 47 42 45 83 84 108 107 43 44 41 46 80 87 81 86 111 104 110 105 24 27 90 91 101 100 33 34 28 30 88 94 103 97 37 39 31 29 89 95 102 96 38 36 26 25 92 93 99 98 35 32 50 51 4 7 16 19 74 75 48 54 8 10 20 22 72 78 49 55 11 9 23 21 73 79 52 53 6 5 18 17 76 77 +58 67 69 60 28 39 30 37 88 97 103 94 59 66 68 61 31 36 29 38 89 96 102 95 50 75 51 74 4 19 16 7 77 52 76 53 17 6 5 18 80 105 111 86 81 104 110 87 24 27 90 101 91 100 33 34 0 12 56 62 57 63 3 15 13 1 71 65 70 64 14 2 26 25 92 99 93 98 35 32 82 109 40 45 42 47 106 85 48 54 8 20 10 22 72 78 79 73 21 9 23 11 55 49 84 107 44 41 46 43 108 83 +90 93 91 92 0 14 13 3 88 95 89 94 101 98 100 99 12 2 1 15 103 96 102 97 50 53 77 74 40 46 43 45 51 52 76 75 42 44 41 47 48 55 49 54 79 72 78 73 24 27 58 59 69 68 33 34 28 31 56 62 71 65 37 38 30 29 57 63 70 64 39 36 26 25 60 61 67 66 35 32 82 83 4 7 17 18 106 107 80 86 8 11 21 22 104 110 81 87 10 9 23 20 105 111 84 85 6 5 19 16 108 109 +90 99 101 92 28 38 31 37 56 65 71 62 91 98 100 93 30 36 29 39 57 64 70 63 82 107 83 106 4 18 17 7 109 84 108 85 16 6 5 19 48 73 79 54 49 72 78 55 24 27 58 69 59 68 33 34 0 13 88 94 89 95 3 14 12 1 103 97 102 96 15 2 26 25 60 67 61 66 35 32 50 77 40 45 43 46 74 53 80 86 8 21 11 22 104 110 111 105 20 9 23 10 87 81 52 75 44 41 47 42 76 51 +58 61 59 60 56 63 57 62 0 15 12 3 69 66 68 67 71 64 70 65 13 2 1 14 40 47 42 45 82 85 109 106 43 44 41 46 83 84 108 107 80 87 111 104 81 86 110 105 24 33 90 101 91 100 27 34 88 103 28 37 30 39 94 97 89 102 31 38 29 36 95 96 26 35 92 99 93 98 25 32 4 16 50 74 51 75 7 19 48 72 8 20 10 22 54 78 49 73 11 23 9 21 55 79 6 18 52 76 53 77 5 17 +58 67 69 60 88 97 103 94 28 39 30 37 59 66 68 61 89 96 102 95 31 36 29 38 4 19 16 7 50 75 51 74 17 6 5 18 77 52 76 53 80 105 81 104 111 86 110 87 24 33 90 91 101 100 27 34 56 57 0 3 12 15 62 63 71 70 13 14 1 2 65 64 26 35 92 93 99 98 25 32 40 42 82 106 109 85 45 47 48 72 8 10 20 22 54 78 79 55 21 23 9 11 73 49 44 46 84 108 107 83 41 43 +90 93 91 92 88 95 89 94 0 14 13 3 101 98 100 99 103 96 102 97 12 2 1 15 40 46 43 45 50 53 77 74 42 44 41 47 51 52 76 75 48 55 79 72 49 54 78 73 24 33 58 69 59 68 27 34 56 71 28 37 31 38 62 65 57 70 30 39 29 36 63 64 26 35 60 67 61 66 25 32 4 17 82 106 83 107 7 18 80 104 8 21 11 22 86 110 81 105 10 23 9 20 87 111 6 19 84 108 85 109 5 16 +90 99 101 92 56 65 71 62 28 38 31 37 91 98 100 93 57 64 70 63 30 36 29 39 4 18 17 7 82 107 83 106 16 6 5 19 109 84 108 85 48 73 49 72 79 54 78 55 24 33 58 59 69 68 27 34 88 89 0 3 13 14 94 95 103 102 12 15 1 2 97 96 26 35 60 61 67 66 25 32 40 43 50 74 77 53 45 46 80 104 8 11 21 22 86 110 111 87 20 23 9 10 105 81 44 47 52 76 75 51 41 42 +24 25 27 26 28 29 30 31 0 1 12 13 33 32 34 35 37 36 39 38 3 2 15 14 40 41 42 43 4 5 16 17 45 44 47 46 7 6 19 18 8 9 20 21 10 11 22 23 58 69 90 101 91 100 59 68 88 103 56 71 57 70 89 102 94 97 62 65 63 64 95 96 60 67 92 99 93 98 61 66 82 109 50 77 51 76 83 108 48 79 80 111 81 110 49 78 54 73 86 105 87 104 55 72 84 107 52 75 53 74 85 106 +24 35 33 26 88 102 103 89 56 70 57 71 27 32 34 25 94 96 97 95 62 64 63 65 82 108 109 83 50 76 51 77 106 84 85 107 74 52 75 53 8 23 10 21 20 11 22 9 58 69 90 91 101 100 59 68 28 30 0 13 12 1 31 29 37 39 3 14 15 2 38 36 60 67 92 93 99 98 61 66 40 42 4 17 16 5 43 41 48 79 80 81 111 110 49 78 72 55 104 105 87 86 73 54 44 46 6 19 18 7 47 45 +90 93 91 92 88 95 94 89 0 14 3 13 101 98 100 99 103 96 97 102 12 2 15 1 40 46 45 43 50 53 74 77 42 44 47 41 51 52 75 76 48 55 72 79 54 49 78 73 58 69 24 33 27 34 59 68 28 37 56 71 62 65 31 38 30 39 57 70 63 64 29 36 60 67 26 35 25 32 61 66 82 106 4 17 7 18 83 107 8 21 80 104 86 110 11 22 10 23 81 105 87 111 9 20 84 108 6 19 5 16 85 109 +90 99 101 92 28 38 37 31 56 65 62 71 91 98 100 93 30 36 39 29 57 64 63 70 82 107 106 83 4 18 7 17 109 84 85 108 16 6 19 5 48 73 54 79 72 49 78 55 58 69 24 27 33 34 59 68 88 94 0 13 3 14 89 95 103 97 12 1 15 2 102 96 60 67 26 25 35 32 61 66 40 45 50 77 74 53 43 46 8 21 80 86 104 110 11 22 20 9 111 105 87 81 23 10 44 41 52 75 76 51 47 42 +58 61 59 60 0 15 3 12 56 63 62 57 69 66 68 67 13 2 14 1 71 64 65 70 82 85 106 109 40 47 45 42 83 84 107 108 43 44 46 41 80 87 86 81 104 111 110 105 90 91 24 27 33 34 101 100 88 94 28 30 37 39 103 97 89 95 31 29 38 36 102 96 92 93 26 25 35 32 99 98 4 7 50 51 74 75 16 19 8 10 48 54 72 78 20 22 11 9 49 55 73 79 23 21 6 5 52 53 76 77 18 17 +24 25 27 26 0 1 13 12 28 29 31 30 33 32 34 35 3 2 14 15 37 36 38 39 4 5 17 16 40 41 43 42 7 6 18 19 45 44 46 47 8 9 11 10 21 20 22 23 90 91 58 59 69 68 101 100 88 89 56 57 71 70 103 102 94 95 62 63 65 64 97 96 92 93 60 61 67 66 99 98 82 83 50 51 77 76 109 108 80 81 48 49 79 78 111 110 86 87 54 55 73 72 105 104 84 85 52 53 75 74 107 106 +24 35 33 26 88 102 89 103 56 70 71 57 27 32 34 25 94 96 95 97 62 64 65 63 82 108 83 109 50 76 77 51 106 84 107 85 74 52 53 75 8 23 21 10 11 20 22 9 90 91 58 69 59 68 101 100 0 13 28 30 31 29 12 1 3 14 37 39 38 36 15 2 92 93 60 67 61 66 99 98 4 17 40 42 43 41 16 5 80 81 48 79 49 78 111 110 104 105 72 55 73 54 87 86 6 19 44 46 47 45 18 7 +58 67 69 60 88 97 94 103 28 39 37 30 59 66 68 61 89 96 95 102 31 36 38 29 4 19 7 16 50 75 74 51 17 6 18 5 77 52 53 76 80 105 104 81 86 111 110 87 90 91 24 33 27 34 101 100 0 3 56 57 62 63 12 15 13 14 71 70 65 64 1 2 92 93 26 35 25 32 99 98 82 106 40 42 45 47 109 85 8 10 48 72 54 78 20 22 21 23 79 55 73 49 9 11 84 108 44 46 41 43 107 83 +58 61 59 60 56 63 62 57 0 15 3 12 69 66 68 67 71 64 65 70 13 2 14 1 40 47 45 42 82 85 106 109 43 44 46 41 83 84 107 108 80 87 104 111 86 81 110 105 90 101 24 33 27 34 91 100 28 37 88 103 94 97 30 39 31 38 89 102 95 96 29 36 92 99 26 35 25 32 93 98 50 74 4 16 7 19 51 75 8 20 48 72 54 78 10 22 11 23 49 73 55 79 9 21 52 76 6 18 5 17 53 77 +24 25 27 26 28 29 31 30 0 1 13 12 33 32 34 35 37 36 38 39 3 2 14 15 40 41 43 42 4 5 17 16 45 44 46 47 7 6 18 19 8 9 21 20 11 10 22 23 90 101 58 69 59 68 91 100 56 71 88 103 89 102 57 70 62 65 94 97 95 96 63 64 92 99 60 67 61 66 93 98 50 77 82 109 83 108 51 76 80 111 48 79 49 78 81 110 86 105 54 73 55 72 87 104 52 75 84 107 85 106 53 74 +24 35 33 26 56 70 71 57 88 102 89 103 27 32 34 25 62 64 65 63 94 96 95 97 50 76 77 51 82 108 83 109 74 52 53 75 106 84 107 85 8 23 11 20 21 10 22 9 90 101 58 59 69 68 91 100 28 31 0 12 13 1 30 29 37 38 3 15 14 2 39 36 92 99 60 61 67 66 93 98 40 43 4 16 17 5 42 41 80 111 48 49 79 78 81 110 104 87 72 73 55 54 105 86 44 47 6 18 19 7 46 45 +58 67 69 60 28 39 37 30 88 97 94 103 59 66 68 61 31 36 38 29 89 96 95 102 50 75 74 51 4 19 7 16 77 52 53 76 17 6 18 5 80 105 86 111 104 81 110 87 90 101 24 27 33 34 91 100 56 62 0 12 3 15 57 63 71 65 13 1 14 2 70 64 92 99 26 25 35 32 93 98 40 45 82 109 106 85 42 47 8 20 48 54 72 78 10 22 21 9 79 73 55 49 23 11 44 41 84 107 108 83 46 43 +28 29 31 30 0 1 12 13 24 25 26 27 37 36 38 39 3 2 15 14 33 32 35 34 8 9 20 21 40 41 44 45 11 10 23 22 43 42 47 46 4 5 6 7 16 17 18 19 56 62 90 92 101 99 71 65 58 60 88 94 103 97 69 67 59 61 89 95 102 96 68 66 57 63 91 93 100 98 70 64 50 52 80 86 111 105 77 75 48 54 82 84 109 107 79 73 49 55 83 85 108 106 78 72 51 53 81 87 110 104 76 74 +28 39 37 30 58 67 60 69 88 97 103 94 31 36 38 29 59 66 61 68 89 96 102 95 50 75 52 77 80 105 111 86 74 51 76 53 104 81 87 110 4 19 16 7 6 17 18 5 56 62 90 101 92 99 71 65 0 12 24 27 26 25 13 1 3 15 33 34 35 32 14 2 57 63 91 100 93 98 70 64 8 20 40 45 44 41 21 9 48 54 82 109 84 107 79 73 72 78 106 85 108 83 55 49 10 22 42 47 46 43 23 11 +90 93 92 91 0 14 3 13 88 95 89 94 101 98 99 100 12 2 15 1 103 96 102 97 50 53 74 77 40 46 43 45 52 51 76 75 44 42 47 41 48 55 49 54 72 79 73 78 56 62 28 31 37 38 71 65 58 59 24 27 33 34 69 68 60 61 26 25 35 32 67 66 57 63 30 29 39 36 70 64 8 11 80 86 104 110 21 22 4 7 82 83 106 107 17 18 6 5 84 85 108 109 19 16 10 9 81 87 105 111 23 20 +90 100 101 91 58 68 59 69 24 34 33 27 92 98 99 93 60 66 61 67 26 32 35 25 8 22 11 21 80 110 104 86 20 10 23 9 111 81 87 105 48 78 72 54 49 79 73 55 56 62 28 37 31 38 71 65 0 3 88 94 89 95 13 14 12 15 103 97 102 96 1 2 57 63 30 39 29 36 70 64 50 74 40 45 43 46 77 53 4 7 82 106 83 107 17 18 16 19 109 85 108 84 5 6 51 75 42 47 41 44 76 52 +56 63 62 57 0 15 12 3 58 61 60 59 71 64 65 70 13 2 1 14 69 66 67 68 80 87 111 104 40 47 44 43 86 81 105 110 45 42 41 46 82 85 84 83 109 106 107 108 28 31 90 92 101 99 37 38 24 26 88 89 103 102 33 35 27 25 94 95 97 96 34 32 30 29 91 93 100 98 39 36 50 52 8 11 20 23 74 76 48 49 4 6 16 18 72 73 54 55 7 5 19 17 78 79 51 53 10 9 22 21 75 77 +56 70 71 57 24 35 26 33 88 102 103 89 62 64 65 63 27 32 25 34 94 96 97 95 50 76 52 74 8 23 20 11 77 51 75 53 21 10 9 22 82 108 109 83 84 106 107 85 28 31 90 101 92 99 37 38 0 12 58 59 60 61 3 15 13 1 69 68 67 66 14 2 30 29 91 100 93 98 39 36 80 111 40 43 44 47 104 87 48 49 4 16 6 18 72 73 79 78 17 5 19 7 55 54 81 110 42 41 46 45 105 86 +90 93 92 91 0 14 13 3 88 95 94 89 101 98 99 100 12 2 1 15 103 96 97 102 50 53 77 74 40 46 45 43 52 51 75 76 44 42 41 47 48 55 54 49 79 72 73 78 28 31 56 62 71 65 37 38 24 27 58 59 69 68 33 34 26 25 60 61 67 66 35 32 30 29 57 63 70 64 39 36 80 86 8 11 21 22 104 110 82 83 4 7 17 18 106 107 84 85 6 5 19 16 108 109 81 87 10 9 23 20 105 111 +90 100 101 91 24 34 27 33 58 68 69 59 92 98 99 93 26 32 25 35 60 66 67 61 80 110 86 104 8 22 21 11 111 81 105 87 20 10 9 23 48 78 79 49 54 72 73 55 28 31 56 71 62 65 37 38 0 13 88 89 94 95 3 14 12 1 103 102 97 96 15 2 30 29 57 70 63 64 39 36 50 77 40 43 45 46 74 53 82 83 4 17 7 18 106 107 109 108 16 5 19 6 85 84 51 76 42 41 47 44 75 52 +28 29 31 30 24 25 26 27 0 1 12 13 37 36 38 39 33 32 35 34 3 2 15 14 40 41 44 45 8 9 20 21 43 42 47 46 11 10 23 22 4 5 16 17 6 7 18 19 56 71 90 101 92 99 62 65 88 103 58 69 60 67 94 97 89 102 59 68 61 66 95 96 57 70 91 100 93 98 63 64 80 111 50 77 52 75 86 105 48 79 82 109 84 107 54 73 49 78 83 108 85 106 55 72 81 110 51 76 53 74 87 104 +28 39 37 30 88 97 103 94 58 67 60 69 31 36 38 29 89 96 102 95 59 66 61 68 80 105 111 86 50 75 52 77 104 81 87 110 74 51 76 53 4 19 6 17 16 7 18 5 56 71 90 92 101 99 62 65 24 26 0 13 12 1 27 25 33 35 3 14 15 2 34 32 57 70 91 93 100 98 63 64 40 44 8 21 20 9 45 41 48 79 82 84 109 107 54 73 72 55 106 108 85 83 78 49 42 46 10 23 22 11 47 43 +90 93 92 91 88 95 89 94 0 14 3 13 101 98 99 100 103 96 102 97 12 2 15 1 40 46 43 45 50 53 74 77 44 42 47 41 52 51 76 75 48 55 72 79 49 54 73 78 56 71 28 37 31 38 62 65 24 33 58 69 59 68 27 34 26 35 60 67 61 66 25 32 57 70 30 39 29 36 63 64 80 104 8 21 11 22 86 110 4 17 82 106 83 107 7 18 6 19 84 108 85 109 5 16 81 105 10 23 9 20 87 111 +90 100 101 91 24 34 33 27 58 68 59 69 92 98 99 93 26 32 35 25 60 66 61 67 80 110 104 86 8 22 11 21 111 81 87 105 20 10 23 9 48 78 49 79 72 54 73 55 56 71 28 31 37 38 62 65 88 89 0 13 3 14 94 95 103 102 12 1 15 2 97 96 57 70 30 29 39 36 63 64 40 43 50 77 74 53 45 46 4 17 82 83 106 107 7 18 16 5 109 108 85 84 19 6 42 41 51 76 75 52 47 44 +56 63 62 57 58 61 60 59 0 15 12 3 71 64 65 70 69 66 67 68 13 2 1 14 40 47 44 43 80 87 111 104 45 42 41 46 86 81 105 110 82 85 109 106 84 83 107 108 28 37 90 101 92 99 31 38 88 103 24 33 26 35 89 102 94 97 27 34 25 32 95 96 30 39 91 100 93 98 29 36 8 20 50 74 52 76 11 23 48 72 4 16 6 18 49 73 54 78 7 19 5 17 55 79 10 22 51 75 53 77 9 21 +56 70 71 57 88 102 103 89 24 35 26 33 62 64 65 63 94 96 97 95 27 32 25 34 8 23 20 11 50 76 52 74 21 10 9 22 77 51 75 53 82 108 84 106 109 83 107 85 28 37 90 92 101 99 31 38 58 60 0 3 12 15 59 61 69 67 13 14 1 2 68 66 30 39 91 93 100 98 29 36 40 44 80 104 111 87 43 47 48 72 4 6 16 18 49 73 79 55 17 19 5 7 78 54 42 46 81 105 110 86 41 45 +90 93 92 91 88 95 94 89 0 14 13 3 101 98 99 100 103 96 97 102 12 2 1 15 40 46 45 43 50 53 77 74 44 42 41 47 52 51 75 76 48 55 79 72 54 49 73 78 28 37 56 71 62 65 31 38 58 69 24 33 27 34 59 68 60 67 26 35 25 32 61 66 30 39 57 70 63 64 29 36 8 21 80 104 86 110 11 22 82 106 4 17 7 18 83 107 84 108 6 19 5 16 85 109 10 23 81 105 87 111 9 20 +90 100 101 91 58 68 69 59 24 34 27 33 92 98 99 93 60 66 67 61 26 32 25 35 8 22 21 11 80 110 86 104 20 10 9 23 111 81 105 87 48 78 54 72 79 49 73 55 28 37 56 62 71 65 31 38 88 94 0 3 13 14 89 95 103 97 12 15 1 2 102 96 30 39 57 63 70 64 29 36 40 45 50 74 77 53 43 46 82 106 4 7 17 18 83 107 109 85 16 19 5 6 108 84 42 47 51 75 76 52 41 44 +56 63 62 57 0 15 3 12 58 61 59 60 71 64 65 70 13 2 14 1 69 66 68 67 80 87 104 111 40 47 43 44 86 81 110 105 45 42 46 41 82 85 83 84 106 109 107 108 90 92 28 31 37 38 101 99 88 89 24 26 33 35 103 102 94 95 27 25 34 32 97 96 91 93 30 29 39 36 100 98 8 11 50 52 74 76 20 23 4 6 48 49 72 73 16 18 7 5 54 55 78 79 19 17 10 9 51 53 75 77 22 21 +28 29 31 30 0 1 13 12 24 25 27 26 37 36 38 39 3 2 14 15 33 32 34 35 8 9 21 20 40 41 45 44 11 10 22 23 43 42 46 47 4 5 7 6 17 16 18 19 90 92 56 62 71 65 101 99 88 94 58 60 69 67 103 97 89 95 59 61 68 66 102 96 91 93 57 63 70 64 100 98 80 86 50 52 77 75 111 105 82 84 48 54 79 73 109 107 83 85 49 55 78 72 108 106 81 87 51 53 76 74 110 104 +56 70 71 57 88 102 89 103 24 35 33 26 62 64 65 63 94 96 95 97 27 32 34 25 8 23 11 20 50 76 74 52 21 10 22 9 77 51 53 75 82 108 106 84 83 109 107 85 90 92 28 37 31 38 101 99 0 3 58 60 59 61 12 15 13 14 69 67 68 66 1 2 91 93 30 39 29 36 100 98 80 104 40 44 43 47 111 87 4 6 48 72 49 73 16 18 17 19 79 55 78 54 5 7 81 105 42 46 41 45 110 86 +28 39 37 30 88 97 94 103 58 67 69 60 31 36 38 29 89 96 95 102 59 66 68 61 80 105 86 111 50 75 77 52 104 81 110 87 74 51 53 76 4 19 17 6 7 16 18 5 90 92 56 71 62 65 101 99 0 13 24 26 27 25 12 1 3 14 33 35 34 32 15 2 91 93 57 70 63 64 100 98 8 21 40 44 45 41 20 9 82 84 48 79 54 73 109 107 106 108 72 55 78 49 85 83 10 23 42 46 47 43 22 11 +56 63 62 57 58 61 59 60 0 15 3 12 71 64 65 70 69 66 68 67 13 2 14 1 40 47 43 44 80 87 104 111 45 42 46 41 86 81 110 105 82 85 106 109 83 84 107 108 90 101 28 37 31 38 92 99 24 33 88 103 89 102 26 35 27 34 94 97 95 96 25 32 91 100 30 39 29 36 93 98 50 74 8 20 11 23 52 76 4 16 48 72 49 73 6 18 7 19 54 78 55 79 5 17 51 75 10 22 9 21 53 77 +28 29 31 30 24 25 27 26 0 1 13 12 37 36 38 39 33 32 34 35 3 2 14 15 40 41 45 44 8 9 21 20 43 42 46 47 11 10 22 23 4 5 17 16 7 6 18 19 90 101 56 71 62 65 92 99 58 69 88 103 94 97 60 67 59 68 89 102 95 96 61 66 91 100 57 70 63 64 93 98 50 77 80 111 86 105 52 75 82 109 48 79 54 73 84 107 83 108 49 78 55 72 85 106 51 76 81 110 87 104 53 74 +56 70 71 57 24 35 33 26 88 102 89 103 62 64 65 63 27 32 34 25 94 96 95 97 50 76 74 52 8 23 11 20 77 51 53 75 21 10 22 9 82 108 83 109 106 84 107 85 90 101 28 31 37 38 92 99 58 59 0 12 3 15 60 61 69 68 13 1 14 2 67 66 91 100 30 29 39 36 93 98 40 43 80 111 104 87 44 47 4 16 48 49 72 73 6 18 17 5 79 78 55 54 19 7 42 41 81 110 105 86 46 45 +28 39 37 30 58 67 69 60 88 97 94 103 31 36 38 29 59 66 68 61 89 96 95 102 50 75 77 52 80 105 86 111 74 51 53 76 104 81 110 87 4 19 7 16 17 6 18 5 90 101 56 62 71 65 92 99 24 27 0 12 13 1 26 25 33 34 3 15 14 2 35 32 91 100 57 63 70 64 93 98 40 45 8 20 21 9 44 41 82 109 48 54 79 73 84 107 106 85 72 78 55 49 108 83 42 47 10 22 23 11 46 43 +4 5 16 17 24 25 32 33 40 41 43 42 7 6 19 18 27 26 35 34 45 44 46 47 0 1 2 3 8 9 11 10 12 13 14 15 20 21 23 22 28 29 31 30 36 37 39 38 50 51 58 59 66 67 74 75 82 83 90 91 98 99 106 107 109 108 101 100 93 92 85 84 77 76 69 68 61 60 53 52 48 49 56 57 64 65 72 73 80 81 88 89 96 97 104 105 111 110 103 102 95 94 87 86 79 78 71 70 63 62 55 54 +58 61 66 69 82 85 109 106 40 47 45 42 59 60 67 68 83 84 108 107 43 44 46 41 0 15 12 3 56 63 62 57 2 13 14 1 64 71 70 65 80 87 86 81 111 104 105 110 50 51 4 7 16 19 74 75 24 27 90 91 101 100 33 34 32 35 98 99 93 92 25 26 77 76 17 18 5 6 53 52 48 54 8 10 20 22 72 78 28 30 88 94 103 97 37 39 36 38 96 102 95 89 29 31 79 73 21 23 9 11 55 49 +4 18 7 17 82 107 83 106 90 99 98 91 16 6 19 5 109 84 108 85 101 92 93 100 48 73 49 72 56 65 64 57 54 79 55 78 62 71 70 63 28 38 36 30 31 37 39 29 50 51 58 66 59 67 74 75 24 32 40 42 43 41 33 25 27 35 45 47 46 44 34 26 77 76 69 61 68 60 53 52 0 2 8 10 11 9 3 1 80 81 88 96 89 97 104 105 86 87 94 102 95 103 110 111 13 15 21 23 22 20 14 12 +58 68 59 69 24 34 27 33 90 100 101 91 66 60 67 61 32 26 35 25 98 92 93 99 48 78 54 72 8 22 20 10 49 79 55 73 11 21 23 9 80 110 111 81 86 104 105 87 50 51 4 16 7 19 74 75 82 109 40 42 45 47 106 85 83 108 43 41 46 44 107 84 77 76 17 5 18 6 53 52 0 12 56 57 62 63 3 15 28 30 88 103 94 97 37 39 31 29 89 102 95 96 38 36 13 1 71 70 65 64 14 2 +50 76 51 77 24 35 32 27 82 108 83 109 74 52 75 53 33 26 25 34 106 84 107 85 56 70 64 62 8 23 11 20 57 71 65 63 10 21 9 22 88 102 89 103 96 94 97 95 4 16 58 59 66 67 7 19 40 43 90 101 98 93 45 46 42 41 91 100 99 92 47 44 17 5 69 68 61 60 18 6 48 49 0 12 2 14 54 55 80 111 28 31 36 39 86 105 81 110 30 29 38 37 87 104 79 78 13 1 15 3 73 72 +58 61 66 69 40 47 42 45 82 85 106 109 59 60 67 68 43 44 41 46 83 84 107 108 56 63 57 62 0 15 3 12 64 71 65 70 2 13 1 14 80 87 104 111 81 86 105 110 4 16 50 74 51 75 7 19 24 33 90 101 91 100 27 34 32 25 98 93 99 92 35 26 17 5 77 53 76 52 18 6 48 72 8 20 10 22 54 78 88 103 28 37 30 39 94 97 96 95 36 29 38 31 102 89 79 55 21 9 23 11 73 49 +58 68 59 69 24 34 33 27 90 100 91 101 66 60 67 61 32 26 25 35 98 92 99 93 48 78 72 54 8 22 10 20 49 79 73 55 11 21 9 23 80 110 81 111 104 86 105 87 4 16 50 51 74 75 7 19 40 42 82 109 106 85 45 47 43 41 83 108 107 84 46 44 17 5 77 76 53 52 18 6 56 57 0 12 3 15 62 63 88 103 28 30 37 39 94 97 89 102 31 29 38 36 95 96 71 70 13 1 14 2 65 64 +50 53 74 77 40 46 43 45 90 93 98 101 51 52 75 76 42 44 41 47 91 92 99 100 48 55 49 54 0 14 2 12 72 79 73 78 3 13 1 15 88 95 96 103 89 94 97 102 4 16 58 66 59 67 7 19 24 32 82 109 83 108 27 35 33 25 106 85 107 84 34 26 17 5 69 61 68 60 18 6 56 64 8 20 11 23 62 70 80 111 28 36 31 39 86 105 104 87 37 29 38 30 110 81 71 63 21 9 22 10 65 57 +50 76 51 77 82 108 109 83 24 35 27 32 74 52 75 53 106 84 85 107 33 26 34 25 8 23 20 11 56 70 62 64 10 21 22 9 57 71 63 65 88 102 94 96 103 89 97 95 58 66 4 7 16 19 59 67 40 45 90 98 101 93 43 46 42 47 91 99 100 92 41 44 69 61 17 18 5 6 68 60 48 54 0 2 12 14 49 55 28 36 80 86 111 105 31 39 30 38 81 87 110 104 29 37 79 73 13 15 1 3 78 72 +4 5 16 17 40 41 42 43 24 25 33 32 7 6 19 18 45 44 47 46 27 26 34 35 8 9 10 11 0 1 3 2 20 21 22 23 12 13 15 14 28 29 37 36 30 31 39 38 58 66 50 74 51 75 59 67 82 106 90 98 91 99 83 107 109 85 101 93 100 92 108 84 69 61 77 53 76 52 68 60 48 72 56 64 57 65 49 73 88 96 80 104 81 105 89 97 103 95 111 87 110 86 102 94 79 55 71 63 70 62 78 54 +4 18 7 17 82 107 106 83 90 99 91 98 16 6 19 5 109 84 85 108 101 92 100 93 48 73 72 49 56 65 57 64 54 79 78 55 62 71 63 70 28 38 30 36 37 31 39 29 58 66 50 51 74 75 59 67 40 42 24 32 33 25 43 41 45 47 27 35 34 26 46 44 69 61 77 76 53 52 68 60 8 10 0 2 3 1 11 9 88 96 80 81 104 105 89 97 94 102 86 87 110 111 95 103 21 23 13 15 14 12 22 20 +50 53 74 77 40 46 45 43 90 93 101 98 51 52 75 76 42 44 47 41 91 92 100 99 48 55 54 49 0 14 12 2 72 79 78 73 3 13 15 1 88 95 103 96 94 89 97 102 58 66 4 16 7 19 59 67 82 109 24 32 27 35 83 108 106 85 33 25 34 26 107 84 69 61 17 5 18 6 68 60 8 20 56 64 62 70 11 23 28 36 80 111 86 105 31 39 37 29 104 87 110 81 38 30 21 9 71 63 65 57 22 10 +50 76 51 77 82 108 83 109 24 35 32 27 74 52 75 53 106 84 107 85 33 26 25 34 8 23 11 20 56 70 64 62 10 21 9 22 57 71 65 63 88 102 96 94 89 103 97 95 4 7 58 66 59 67 16 19 90 98 40 45 43 46 101 93 91 99 42 47 41 44 100 92 17 18 69 61 68 60 5 6 0 2 48 54 49 55 12 14 80 86 28 36 31 39 111 105 81 87 30 38 29 37 110 104 13 15 79 73 78 72 1 3 +58 61 66 69 82 85 106 109 40 47 42 45 59 60 67 68 83 84 107 108 43 44 41 46 0 15 3 12 56 63 57 62 2 13 1 14 64 71 65 70 80 87 81 86 104 111 105 110 4 7 50 51 74 75 16 19 90 91 24 27 33 34 101 100 98 99 32 35 25 26 93 92 17 18 77 76 53 52 5 6 8 10 48 54 72 78 20 22 88 94 28 30 37 39 103 97 96 102 36 38 29 31 95 89 21 23 79 73 55 49 9 11 +58 68 59 69 90 100 91 101 24 34 33 27 66 60 67 61 98 92 99 93 32 26 25 35 8 22 10 20 48 78 72 54 11 21 9 23 49 79 73 55 80 110 104 86 81 111 105 87 4 7 50 74 51 75 16 19 82 106 40 45 42 47 109 85 83 107 43 46 41 44 108 84 17 18 77 53 76 52 5 6 0 3 56 62 57 63 12 15 88 94 28 37 30 39 103 97 89 95 31 38 29 36 102 96 13 14 71 65 70 64 1 2 +50 53 74 77 90 93 98 101 40 46 43 45 51 52 75 76 91 92 99 100 42 44 41 47 0 14 2 12 48 55 49 54 3 13 1 15 72 79 73 78 88 95 89 94 96 103 97 102 4 7 58 59 66 67 16 19 82 83 24 27 32 35 109 108 106 107 33 34 25 26 85 84 17 18 69 68 61 60 5 6 8 11 56 62 64 70 20 23 80 86 28 31 36 39 111 105 104 110 37 38 29 30 87 81 21 22 71 65 63 57 9 10 +50 76 51 77 24 35 27 32 82 108 109 83 74 52 75 53 33 26 34 25 106 84 85 107 56 70 62 64 8 23 20 11 57 71 63 65 10 21 22 9 88 102 103 89 94 96 97 95 58 59 4 16 7 19 66 67 90 101 40 43 45 46 98 93 91 100 42 41 47 44 99 92 69 68 17 5 18 6 61 60 0 12 48 49 54 55 2 14 28 31 80 111 86 105 36 39 30 29 81 110 87 104 38 37 13 1 79 78 73 72 15 3 +4 5 16 17 24 25 33 32 40 41 42 43 7 6 19 18 27 26 34 35 45 44 47 46 0 1 3 2 8 9 10 11 12 13 15 14 20 21 22 23 28 29 30 31 37 36 39 38 58 59 50 51 74 75 66 67 90 91 82 83 106 107 98 99 101 100 109 108 85 84 93 92 69 68 77 76 53 52 61 60 56 57 48 49 72 73 64 65 88 89 80 81 104 105 96 97 103 102 111 110 87 86 95 94 71 70 79 78 55 54 63 62 +4 18 7 17 90 99 91 98 82 107 106 83 16 6 19 5 101 92 100 93 109 84 85 108 56 65 57 64 48 73 72 49 62 71 63 70 54 79 78 55 28 38 37 31 30 36 39 29 58 59 50 74 51 75 66 67 24 33 40 43 42 41 32 25 27 34 45 46 47 44 35 26 69 68 77 53 76 52 61 60 0 3 8 11 10 9 2 1 88 89 80 104 81 105 96 97 94 95 86 110 87 111 102 103 13 14 21 22 23 20 15 12 +50 53 74 77 90 93 101 98 40 46 45 43 51 52 75 76 91 92 100 99 42 44 47 41 0 14 12 2 48 55 54 49 3 13 15 1 72 79 78 73 88 95 94 89 103 96 97 102 58 59 4 7 16 19 66 67 24 27 82 83 109 108 32 35 33 34 106 107 85 84 25 26 69 68 17 18 5 6 61 60 56 62 8 11 20 23 64 70 28 31 80 86 111 105 36 39 37 38 104 110 87 81 29 30 71 65 21 22 9 10 63 57 +4 5 16 17 40 41 43 42 24 25 32 33 7 6 19 18 45 44 46 47 27 26 35 34 8 9 11 10 0 1 2 3 20 21 23 22 12 13 14 15 28 29 36 37 31 30 39 38 50 74 58 66 59 67 51 75 90 98 82 106 83 107 91 99 101 93 109 85 108 84 100 92 77 53 69 61 68 60 76 52 56 64 48 72 49 73 57 65 80 104 88 96 89 97 81 105 111 87 103 95 102 94 110 86 71 63 79 55 78 54 70 62 +58 61 66 69 40 47 45 42 82 85 109 106 59 60 67 68 43 44 46 41 83 84 108 107 56 63 62 57 0 15 12 3 64 71 70 65 2 13 14 1 80 87 111 104 86 81 105 110 50 74 4 16 7 19 51 75 90 101 24 33 27 34 91 100 98 93 32 25 35 26 99 92 77 53 17 5 18 6 76 52 8 20 48 72 54 78 10 22 28 37 88 103 94 97 30 39 36 29 96 95 102 89 38 31 21 9 79 55 73 49 23 11 +4 18 7 17 90 99 98 91 82 107 83 106 16 6 19 5 101 92 93 100 109 84 108 85 56 65 64 57 48 73 49 72 62 71 70 63 54 79 55 78 28 38 31 37 36 30 39 29 50 74 58 59 66 67 51 75 40 43 24 33 32 25 42 41 45 46 27 34 35 26 47 44 77 53 69 68 61 60 76 52 8 11 0 3 2 1 10 9 80 104 88 89 96 97 81 105 86 110 94 95 102 103 87 111 21 22 13 14 15 12 23 20 +58 68 59 69 90 100 101 91 24 34 27 33 66 60 67 61 98 92 93 99 32 26 35 25 8 22 20 10 48 78 54 72 11 21 23 9 49 79 55 73 80 110 86 104 111 81 105 87 50 74 4 7 16 19 51 75 40 45 82 106 109 85 42 47 43 46 83 107 108 84 41 44 77 53 17 18 5 6 76 52 56 62 0 3 12 15 57 63 28 37 88 94 103 97 30 39 31 38 89 95 102 96 29 36 71 65 13 14 1 2 70 64 +24 25 32 33 4 5 16 17 40 41 43 42 27 26 35 34 7 6 19 18 45 44 46 47 0 1 12 13 28 29 31 30 2 3 14 15 36 37 39 38 8 9 11 10 20 21 23 22 50 51 82 83 109 108 77 76 58 59 90 91 101 100 69 68 66 67 98 99 93 92 61 60 74 75 106 107 85 84 53 52 48 49 80 81 111 110 79 78 56 57 88 89 103 102 71 70 64 65 96 97 95 94 63 62 72 73 104 105 87 86 55 54 +82 85 109 106 58 61 66 69 40 47 45 42 83 84 108 107 59 60 67 68 43 44 46 41 0 15 2 13 80 87 86 81 12 3 14 1 111 104 105 110 56 63 62 57 64 71 70 65 50 51 24 27 32 35 77 76 4 7 90 91 98 99 17 18 16 19 101 100 93 92 5 6 74 75 33 34 25 26 53 52 48 54 28 30 36 38 79 73 8 10 88 94 96 102 21 23 20 22 103 97 95 89 9 11 72 78 37 39 29 31 55 49 +82 107 83 106 4 18 7 17 90 99 98 91 109 84 108 85 16 6 19 5 101 92 93 100 48 73 54 79 28 38 36 30 49 72 55 78 31 37 39 29 56 65 64 57 62 71 70 63 50 51 24 32 27 35 77 76 58 66 40 42 45 47 69 61 59 67 43 41 46 44 68 60 74 75 33 25 34 26 53 52 0 2 80 81 86 87 13 15 8 10 88 96 94 102 21 23 11 9 89 97 95 103 22 20 3 1 104 105 110 111 14 12 +24 34 27 33 58 68 59 69 90 100 101 91 32 26 35 25 66 60 67 61 98 92 93 99 48 78 49 79 80 110 111 81 54 72 55 73 86 104 105 87 8 22 20 10 11 21 23 9 50 51 82 109 83 108 77 76 4 16 40 42 43 41 17 5 7 19 45 47 46 44 18 6 74 75 106 85 107 84 53 52 0 12 28 30 31 29 13 1 56 57 88 103 89 102 71 70 62 63 94 97 95 96 65 64 3 15 37 39 38 36 14 2 +50 75 51 74 4 19 16 7 58 67 59 66 77 52 76 53 17 6 5 18 69 60 68 61 80 105 111 86 28 39 31 36 81 104 110 87 30 37 29 38 88 97 89 96 103 94 102 95 24 32 82 83 109 108 27 35 40 43 90 98 101 93 45 46 42 41 91 99 100 92 47 44 33 25 106 107 85 84 34 26 48 49 0 2 12 14 54 55 56 64 8 11 20 23 62 70 57 65 10 9 22 21 63 71 72 73 3 1 15 13 78 79 +82 85 109 106 40 47 42 45 58 61 69 66 83 84 108 107 43 44 41 46 59 60 68 67 80 87 81 86 0 15 13 2 111 104 110 105 12 3 1 14 56 63 71 64 57 62 70 65 24 32 50 77 51 76 27 35 4 17 90 98 91 99 7 18 16 5 101 93 100 92 19 6 33 25 74 53 75 52 34 26 48 79 28 36 30 38 54 73 88 96 8 21 10 23 94 102 103 95 20 9 22 11 97 89 72 55 37 29 39 31 78 49 +82 107 83 106 4 18 17 7 90 99 91 98 109 84 108 85 16 6 5 19 101 92 100 93 48 73 79 54 28 38 30 36 49 72 78 55 31 37 29 39 56 65 57 64 71 62 70 63 24 32 50 51 77 76 27 35 40 42 58 66 69 61 45 47 43 41 59 67 68 60 46 44 33 25 74 75 53 52 34 26 80 81 0 2 13 15 86 87 88 96 8 10 21 23 94 102 89 97 11 9 22 20 95 103 104 105 3 1 14 12 110 111 +50 53 77 74 40 46 43 45 90 93 101 98 51 52 76 75 42 44 41 47 91 92 100 99 48 55 49 54 0 14 12 2 79 72 78 73 13 3 1 15 88 95 103 96 89 94 102 97 24 32 82 109 83 108 27 35 4 16 58 66 59 67 7 19 17 5 69 61 68 60 18 6 33 25 106 85 107 84 34 26 80 111 28 36 31 39 86 105 56 64 8 20 11 23 62 70 71 63 21 9 22 10 65 57 104 87 37 29 38 30 110 81 +50 75 51 74 58 67 66 59 4 19 7 16 77 52 76 53 69 60 61 68 17 6 18 5 28 39 36 31 80 105 86 111 30 37 38 29 81 104 87 110 88 97 94 103 96 89 102 95 82 109 24 27 32 35 83 108 40 45 90 101 98 93 43 46 42 47 91 100 99 92 41 44 106 85 33 34 25 26 107 84 48 54 0 12 2 14 49 55 8 20 56 62 64 70 11 23 10 22 57 63 65 71 9 21 72 78 3 15 1 13 73 79 +24 25 32 33 40 41 42 43 4 5 17 16 27 26 35 34 45 44 47 46 7 6 18 19 28 29 30 31 0 1 13 12 36 37 38 39 2 3 15 14 8 9 21 20 10 11 23 22 82 109 50 77 51 76 83 108 58 69 90 101 91 100 59 68 66 61 98 93 99 92 67 60 106 85 74 53 75 52 107 84 48 79 80 111 81 110 49 78 88 103 56 71 57 70 89 102 96 95 64 63 65 62 97 94 72 55 104 87 105 86 73 54 +24 34 27 33 58 68 69 59 90 100 91 101 32 26 35 25 66 60 61 67 98 92 99 93 48 78 79 49 80 110 81 111 54 72 73 55 86 104 87 105 8 22 10 20 21 11 23 9 82 109 50 51 77 76 83 108 40 42 4 16 17 5 43 41 45 47 7 19 18 6 46 44 106 85 74 75 53 52 107 84 28 30 0 12 13 1 31 29 88 103 56 57 71 70 89 102 94 97 62 63 65 64 95 96 37 39 3 15 14 2 38 36 +50 53 77 74 40 46 45 43 90 93 98 101 51 52 76 75 42 44 47 41 91 92 99 100 48 55 54 49 0 14 2 12 79 72 73 78 13 3 15 1 88 95 96 103 94 89 102 97 82 109 24 32 27 35 83 108 58 66 4 16 7 19 59 67 69 61 17 5 18 6 68 60 106 85 33 25 34 26 107 84 28 36 80 111 86 105 31 39 8 20 56 64 62 70 11 23 21 9 71 63 65 57 22 10 37 29 104 87 110 81 38 30 +50 75 51 74 4 19 7 16 58 67 66 59 77 52 76 53 17 6 18 5 69 60 61 68 80 105 86 111 28 39 36 31 81 104 87 110 30 37 38 29 88 97 96 89 94 103 102 95 82 83 24 32 27 35 109 108 90 98 40 43 45 46 101 93 91 99 42 41 47 44 100 92 106 107 33 25 34 26 85 84 0 2 48 49 54 55 12 14 8 11 56 64 62 70 20 23 10 9 57 65 63 71 22 21 3 1 72 73 78 79 15 13 +24 25 32 33 4 5 17 16 40 41 42 43 27 26 35 34 7 6 18 19 45 44 47 46 0 1 13 12 28 29 30 31 2 3 15 14 36 37 38 39 8 9 10 11 21 20 23 22 82 83 50 51 77 76 109 108 90 91 58 59 69 68 101 100 98 99 66 67 61 60 93 92 106 107 74 75 53 52 85 84 80 81 48 49 79 78 111 110 88 89 56 57 71 70 103 102 96 97 64 65 63 62 95 94 104 105 72 73 55 54 87 86 +24 34 27 33 90 100 91 101 58 68 69 59 32 26 35 25 98 92 99 93 66 60 61 67 80 110 81 111 48 78 79 49 86 104 87 105 54 72 73 55 8 22 21 11 10 20 23 9 82 83 50 77 51 76 109 108 4 17 40 43 42 41 16 5 7 18 45 46 47 44 19 6 106 107 74 53 75 52 85 84 0 13 28 31 30 29 12 1 88 89 56 71 57 70 103 102 94 95 62 65 63 64 97 96 3 14 37 38 39 36 15 2 +50 53 77 74 90 93 98 101 40 46 45 43 51 52 76 75 91 92 99 100 42 44 47 41 0 14 2 12 48 55 54 49 13 3 15 1 79 72 73 78 88 95 94 89 96 103 102 97 82 83 24 27 32 35 109 108 4 7 58 59 66 67 16 19 17 18 69 68 61 60 5 6 106 107 33 34 25 26 85 84 80 86 28 31 36 39 111 105 8 11 56 62 64 70 20 23 21 22 71 65 63 57 9 10 104 110 37 38 29 30 87 81 +50 75 51 74 58 67 59 66 4 19 16 7 77 52 76 53 69 60 68 61 17 6 5 18 28 39 31 36 80 105 111 86 30 37 29 38 81 104 110 87 88 97 103 94 89 96 102 95 24 27 82 109 83 108 32 35 90 101 40 45 43 46 98 93 91 100 42 47 41 44 99 92 33 34 106 85 107 84 25 26 0 12 48 54 49 55 2 14 56 62 8 20 11 23 64 70 57 63 10 22 9 21 65 71 3 15 72 78 73 79 1 13 +82 85 109 106 58 61 69 66 40 47 42 45 83 84 108 107 59 60 68 67 43 44 41 46 0 15 13 2 80 87 81 86 12 3 1 14 111 104 110 105 56 63 57 62 71 64 70 65 24 27 50 51 77 76 32 35 90 91 4 7 17 18 98 99 101 100 16 19 5 6 93 92 33 34 74 75 53 52 25 26 28 30 48 54 79 73 36 38 88 94 8 10 21 23 96 102 103 97 20 22 9 11 95 89 37 39 72 78 55 49 29 31 +82 107 83 106 90 99 91 98 4 18 17 7 109 84 108 85 101 92 100 93 16 6 5 19 28 38 30 36 48 73 79 54 31 37 29 39 49 72 78 55 56 65 71 62 57 64 70 63 24 27 50 77 51 76 32 35 58 69 40 45 42 47 66 61 59 68 43 46 41 44 67 60 33 34 74 53 75 52 25 26 0 13 80 86 81 87 2 15 88 94 8 21 10 23 96 102 89 95 11 22 9 20 97 103 3 14 104 110 105 111 1 12 +50 53 77 74 90 93 101 98 40 46 43 45 51 52 76 75 91 92 100 99 42 44 41 47 0 14 12 2 48 55 49 54 13 3 1 15 79 72 78 73 88 95 89 94 103 96 102 97 24 27 82 83 109 108 32 35 58 59 4 7 16 19 66 67 69 68 17 18 5 6 61 60 33 34 106 107 85 84 25 26 28 31 80 86 111 105 36 39 56 62 8 11 20 23 64 70 71 65 21 22 9 10 63 57 37 38 104 110 87 81 29 30 +24 25 32 33 40 41 43 42 4 5 16 17 27 26 35 34 45 44 46 47 7 6 19 18 28 29 31 30 0 1 12 13 36 37 39 38 2 3 14 15 8 9 20 21 11 10 23 22 50 77 82 109 83 108 51 76 90 101 58 69 59 68 91 100 98 93 66 61 67 60 99 92 74 53 106 85 107 84 75 52 80 111 48 79 49 78 81 110 56 71 88 103 89 102 57 70 64 63 96 95 97 94 65 62 104 87 72 55 73 54 105 86 +82 85 109 106 40 47 45 42 58 61 66 69 83 84 108 107 43 44 46 41 59 60 67 68 80 87 86 81 0 15 2 13 111 104 105 110 12 3 14 1 56 63 64 71 62 57 70 65 50 77 24 32 27 35 51 76 90 98 4 17 7 18 91 99 101 93 16 5 19 6 100 92 74 53 33 25 34 26 75 52 28 36 48 79 54 73 30 38 8 21 88 96 94 102 10 23 20 9 103 95 97 89 22 11 37 29 72 55 78 49 39 31 +82 107 83 106 90 99 98 91 4 18 7 17 109 84 108 85 101 92 93 100 16 6 19 5 28 38 36 30 48 73 54 79 31 37 39 29 49 72 55 78 56 65 62 71 64 57 70 63 50 77 24 27 32 35 51 76 40 45 58 69 66 61 42 47 43 46 59 68 67 60 41 44 74 53 33 34 25 26 75 52 80 86 0 13 2 15 81 87 8 21 88 94 96 102 10 23 11 22 89 95 97 103 9 20 104 110 3 14 1 12 105 111 +24 34 27 33 90 100 101 91 58 68 59 69 32 26 35 25 98 92 93 99 66 60 67 61 80 110 111 81 48 78 49 79 86 104 105 87 54 72 55 73 8 22 11 21 20 10 23 9 50 77 82 83 109 108 51 76 40 43 4 17 16 5 42 41 45 46 7 18 19 6 47 44 74 53 106 107 85 84 75 52 28 31 0 13 12 1 30 29 56 71 88 89 103 102 57 70 62 65 94 95 97 96 63 64 37 38 3 14 15 2 39 36 +24 35 32 27 50 76 51 77 82 108 83 109 33 26 25 34 74 52 75 53 106 84 107 85 56 70 57 71 88 102 89 103 64 62 65 63 96 94 97 95 8 23 11 20 10 21 9 22 4 16 40 43 42 41 17 5 58 59 90 101 91 100 69 68 66 67 98 93 99 92 61 60 7 19 45 46 47 44 18 6 48 49 80 111 81 110 79 78 0 12 28 31 30 29 13 1 2 14 36 39 38 37 15 3 54 55 86 105 87 104 73 72 +40 47 42 45 58 61 66 69 82 85 106 109 43 44 41 46 59 60 67 68 83 84 107 108 56 63 64 71 80 87 104 111 57 62 65 70 81 86 105 110 0 15 3 12 2 13 1 14 4 16 24 33 32 25 17 5 50 74 90 101 98 93 77 53 51 75 91 100 99 92 76 52 7 19 27 34 35 26 18 6 48 72 88 103 96 95 79 55 8 20 28 37 36 29 21 9 10 22 30 39 38 31 23 11 54 78 94 97 102 89 73 49 +24 34 33 27 58 68 59 69 90 100 91 101 32 26 25 35 66 60 67 61 98 92 99 93 48 78 49 79 80 110 81 111 72 54 73 55 104 86 105 87 8 22 10 20 11 21 9 23 4 16 40 42 43 41 17 5 50 51 82 109 83 108 77 76 74 75 106 85 107 84 53 52 7 19 45 47 46 44 18 6 56 57 88 103 89 102 71 70 0 12 28 30 31 29 13 1 3 15 37 39 38 36 14 2 62 63 94 97 95 96 65 64 +40 46 43 45 50 53 74 77 90 93 98 101 42 44 41 47 51 52 75 76 91 92 99 100 48 55 72 79 88 95 96 103 49 54 73 78 89 94 97 102 0 14 2 12 3 13 1 15 4 16 24 32 33 25 17 5 58 66 82 109 106 85 69 61 59 67 83 108 107 84 68 60 7 19 27 35 34 26 18 6 56 64 80 111 104 87 71 63 8 20 28 36 37 29 21 9 11 23 31 39 38 30 22 10 62 70 86 105 110 81 65 57 +4 19 16 7 50 75 51 74 58 67 59 66 17 6 5 18 77 52 76 53 69 60 68 61 80 105 81 104 88 97 89 96 111 86 110 87 103 94 102 95 28 39 31 36 30 37 29 38 24 32 40 43 42 41 33 25 82 83 90 98 91 99 106 107 109 108 101 93 100 92 85 84 27 35 45 46 47 44 34 26 48 49 56 64 57 65 72 73 0 2 8 11 10 9 3 1 12 14 20 23 22 21 15 13 54 55 62 70 63 71 78 79 +40 47 42 45 82 85 109 106 58 61 69 66 43 44 41 46 83 84 108 107 59 60 68 67 80 87 111 104 56 63 71 64 81 86 110 105 57 62 70 65 0 15 13 2 12 3 1 14 24 32 4 17 16 5 33 25 50 77 90 98 101 93 74 53 51 76 91 99 100 92 75 52 27 35 7 18 19 6 34 26 48 79 88 96 103 95 72 55 28 36 8 21 20 9 37 29 30 38 10 23 22 11 39 31 54 73 94 102 97 89 78 49 +4 18 17 7 82 107 83 106 90 99 91 98 16 6 5 19 109 84 108 85 101 92 100 93 48 73 49 72 56 65 57 64 79 54 78 55 71 62 70 63 28 38 30 36 31 37 29 39 24 32 40 42 43 41 33 25 50 51 58 66 59 67 74 75 77 76 69 61 68 60 53 52 27 35 45 47 46 44 34 26 80 81 88 96 89 97 104 105 0 2 8 10 11 9 3 1 13 15 21 23 22 20 14 12 86 87 94 102 95 103 110 111 +40 46 43 45 50 53 77 74 90 93 101 98 42 44 41 47 51 52 76 75 91 92 100 99 48 55 79 72 88 95 103 96 49 54 78 73 89 94 102 97 0 14 12 2 13 3 1 15 24 32 4 16 17 5 33 25 82 109 58 66 69 61 106 85 83 108 59 67 68 60 107 84 27 35 7 19 18 6 34 26 80 111 56 64 71 63 104 87 28 36 8 20 21 9 37 29 31 39 11 23 22 10 38 30 86 105 62 70 65 57 110 81 +4 19 16 7 58 67 66 59 50 75 74 51 17 6 5 18 69 60 61 68 77 52 53 76 88 97 96 89 80 105 104 81 103 94 95 102 111 86 87 110 28 39 37 30 36 31 29 38 40 42 24 33 32 25 43 41 82 106 90 91 98 99 83 107 109 85 101 100 93 92 108 84 45 47 27 34 35 26 46 44 48 72 56 57 64 65 49 73 8 10 0 3 2 1 11 9 20 22 12 15 14 13 23 21 54 78 62 63 70 71 55 79 +24 35 32 27 82 108 109 83 50 76 77 51 33 26 25 34 106 84 85 107 74 52 53 75 88 102 103 89 56 70 71 57 96 94 95 97 64 62 63 65 8 23 21 10 20 11 9 22 40 42 4 17 16 5 43 41 58 69 90 91 101 100 59 68 66 61 98 99 93 92 67 60 45 47 7 18 19 6 46 44 48 79 80 81 111 110 49 78 28 30 0 13 12 1 31 29 36 38 2 15 14 3 39 37 54 73 86 87 105 104 55 72 +4 18 17 7 82 107 106 83 90 99 98 91 16 6 5 19 109 84 85 108 101 92 93 100 48 73 72 49 56 65 64 57 79 54 55 78 71 62 63 70 28 38 36 30 37 31 29 39 40 42 24 32 33 25 43 41 58 66 50 51 74 75 59 67 69 61 77 76 53 52 68 60 45 47 27 35 34 26 46 44 88 96 80 81 104 105 89 97 8 10 0 2 3 1 11 9 21 23 13 15 14 12 22 20 94 102 86 87 110 111 95 103 +24 34 33 27 58 68 69 59 90 100 101 91 32 26 25 35 66 60 61 67 98 92 93 99 48 78 79 49 80 110 111 81 72 54 55 73 104 86 87 105 8 22 20 10 21 11 9 23 40 42 4 16 17 5 43 41 82 109 50 51 77 76 83 108 106 85 74 75 53 52 107 84 45 47 7 19 18 6 46 44 88 103 56 57 71 70 89 102 28 30 0 12 13 1 31 29 37 39 3 15 14 2 38 36 94 97 62 63 65 64 95 96 +24 35 32 27 82 108 83 109 50 76 51 77 33 26 25 34 106 84 107 85 74 52 75 53 88 102 89 103 56 70 57 71 96 94 97 95 64 62 65 63 8 23 10 21 11 20 9 22 4 17 40 42 43 41 16 5 90 91 58 69 59 68 101 100 98 99 66 61 67 60 93 92 7 18 45 47 46 44 19 6 80 81 48 79 49 78 111 110 0 13 28 30 31 29 12 1 2 15 36 38 39 37 14 3 86 87 54 73 55 72 105 104 +40 47 42 45 82 85 106 109 58 61 66 69 43 44 41 46 83 84 107 108 59 60 67 68 80 87 104 111 56 63 64 71 81 86 105 110 57 62 65 70 0 15 2 13 3 12 1 14 4 17 24 32 33 25 16 5 90 98 50 77 74 53 101 93 91 99 51 76 75 52 100 92 7 18 27 35 34 26 19 6 88 96 48 79 72 55 103 95 8 21 28 36 37 29 20 9 10 23 30 38 39 31 22 11 94 102 54 73 78 49 97 89 +24 34 33 27 90 100 91 101 58 68 59 69 32 26 25 35 98 92 99 93 66 60 67 61 80 110 81 111 48 78 49 79 104 86 105 87 72 54 73 55 8 22 11 21 10 20 9 23 4 17 40 43 42 41 16 5 82 83 50 77 51 76 109 108 106 107 74 53 75 52 85 84 7 18 45 46 47 44 19 6 88 89 56 71 57 70 103 102 0 13 28 31 30 29 12 1 3 14 37 38 39 36 15 2 94 95 62 65 63 64 97 96 +40 46 43 45 90 93 98 101 50 53 74 77 42 44 41 47 91 92 99 100 51 52 75 76 88 95 96 103 48 55 72 79 89 94 97 102 49 54 73 78 0 14 3 13 2 12 1 15 4 17 24 33 32 25 16 5 82 106 58 69 66 61 109 85 83 107 59 68 67 60 108 84 7 18 27 34 35 26 19 6 80 104 56 71 64 63 111 87 8 21 28 37 36 29 20 9 11 22 31 38 39 30 23 10 86 110 62 65 70 57 105 81 +4 19 16 7 58 67 59 66 50 75 51 74 17 6 5 18 69 60 68 61 77 52 76 53 88 97 89 96 80 105 81 104 103 94 102 95 111 86 110 87 28 39 30 37 31 36 29 38 24 33 40 42 43 41 32 25 90 91 82 106 83 107 98 99 101 100 109 85 108 84 93 92 27 34 45 47 46 44 35 26 56 57 48 72 49 73 64 65 0 3 8 10 11 9 2 1 12 15 20 22 23 21 14 13 62 63 54 78 55 79 70 71 +40 47 42 45 58 61 69 66 82 85 109 106 43 44 41 46 59 60 68 67 83 84 108 107 56 63 71 64 80 87 111 104 57 62 70 65 81 86 110 105 0 15 12 3 13 2 1 14 24 33 4 16 17 5 32 25 90 101 50 74 77 53 98 93 91 100 51 75 76 52 99 92 27 34 7 19 18 6 35 26 88 103 48 72 79 55 96 95 28 37 8 20 21 9 36 29 30 39 10 22 23 11 38 31 94 97 54 78 73 49 102 89 +4 18 17 7 90 99 91 98 82 107 83 106 16 6 5 19 101 92 100 93 109 84 108 85 56 65 57 64 48 73 49 72 71 62 70 63 79 54 78 55 28 38 31 37 30 36 29 39 24 33 40 43 42 41 32 25 58 59 50 74 51 75 66 67 69 68 77 53 76 52 61 60 27 34 45 46 47 44 35 26 88 89 80 104 81 105 96 97 0 3 8 11 10 9 2 1 13 14 21 22 23 20 15 12 94 95 86 110 87 111 102 103 +40 46 43 45 90 93 101 98 50 53 77 74 42 44 41 47 91 92 100 99 51 52 76 75 88 95 103 96 48 55 79 72 89 94 102 97 49 54 78 73 0 14 13 3 12 2 1 15 24 33 4 17 16 5 32 25 58 69 82 106 109 85 66 61 59 68 83 107 108 84 67 60 27 34 7 18 19 6 35 26 56 71 80 104 111 87 64 63 28 37 8 21 20 9 36 29 31 38 11 22 23 10 39 30 62 65 86 110 105 81 70 57 +4 19 16 7 50 75 74 51 58 67 66 59 17 6 5 18 77 52 53 76 69 60 61 68 80 105 104 81 88 97 96 89 111 86 87 110 103 94 95 102 28 39 36 31 37 30 29 38 40 43 24 32 33 25 42 41 90 98 82 83 106 107 91 99 101 93 109 108 85 84 100 92 45 46 27 35 34 26 47 44 56 64 48 49 72 73 57 65 8 11 0 2 3 1 10 9 20 23 12 14 15 13 22 21 62 70 54 55 78 79 63 71 +24 35 32 27 50 76 77 51 82 108 109 83 33 26 25 34 74 52 53 75 106 84 85 107 56 70 71 57 88 102 103 89 64 62 63 65 96 94 95 97 8 23 20 11 21 10 9 22 40 43 4 16 17 5 42 41 90 101 58 59 69 68 91 100 98 93 66 67 61 60 99 92 45 46 7 19 18 6 47 44 80 111 48 49 79 78 81 110 28 31 0 12 13 1 30 29 36 39 2 14 15 3 38 37 86 105 54 55 73 72 87 104 +4 18 17 7 90 99 98 91 82 107 106 83 16 6 5 19 101 92 93 100 109 84 85 108 56 65 64 57 48 73 72 49 71 62 63 70 79 54 55 78 28 38 37 31 36 30 29 39 40 43 24 33 32 25 42 41 50 74 58 59 66 67 51 75 77 53 69 68 61 60 76 52 45 46 27 34 35 26 47 44 80 104 88 89 96 97 81 105 8 11 0 3 2 1 10 9 21 22 13 14 15 12 23 20 86 110 94 95 102 103 87 111 +24 34 33 27 90 100 101 91 58 68 69 59 32 26 25 35 98 92 93 99 66 60 61 67 80 110 111 81 48 78 79 49 104 86 87 105 72 54 55 73 8 22 21 11 20 10 9 23 40 43 4 17 16 5 42 41 50 77 82 83 109 108 51 76 74 53 106 107 85 84 75 52 45 46 7 18 19 6 47 44 56 71 88 89 103 102 57 70 28 31 0 13 12 1 30 29 37 38 3 14 15 2 39 36 62 65 94 95 97 96 63 64 +82 108 109 83 50 76 51 77 24 35 27 32 106 84 85 107 74 52 75 53 33 26 34 25 8 23 10 21 88 102 94 96 20 11 22 9 103 89 97 95 56 70 62 64 57 71 63 65 58 66 40 45 42 47 69 61 4 7 90 98 91 99 17 18 16 19 101 93 100 92 5 6 59 67 43 46 41 44 68 60 48 54 28 36 30 38 79 73 0 2 80 86 81 87 13 15 12 14 111 105 110 104 1 3 49 55 31 39 29 37 78 72 +40 41 42 43 4 5 16 17 24 25 33 32 45 44 47 46 7 6 19 18 27 26 34 35 8 9 20 21 28 29 37 36 10 11 22 23 30 31 39 38 0 1 3 2 12 13 15 14 58 66 82 106 109 85 69 61 50 74 90 98 101 93 77 53 51 75 91 99 100 92 76 52 59 67 83 107 108 84 68 60 48 72 88 96 103 95 79 55 56 64 80 104 111 87 71 63 57 65 81 105 110 86 70 62 49 73 89 97 102 94 78 54 +82 107 106 83 4 18 7 17 90 99 91 98 109 84 85 108 16 6 19 5 101 92 100 93 48 73 54 79 28 38 30 36 72 49 78 55 37 31 39 29 56 65 57 64 62 71 63 70 58 66 40 42 45 47 69 61 50 51 24 32 27 35 77 76 74 75 33 25 34 26 53 52 59 67 43 41 46 44 68 60 8 10 88 96 94 102 21 23 0 2 80 81 86 87 13 15 3 1 104 105 110 111 14 12 11 9 89 97 95 103 22 20 +40 46 45 43 50 53 74 77 90 93 101 98 42 44 47 41 51 52 75 76 91 92 100 99 48 55 72 79 88 95 103 96 54 49 78 73 94 89 97 102 0 14 12 2 3 13 15 1 58 66 82 109 106 85 69 61 4 16 24 32 33 25 17 5 7 19 27 35 34 26 18 6 59 67 83 108 107 84 68 60 8 20 28 36 37 29 21 9 56 64 80 111 104 87 71 63 62 70 86 105 110 81 65 57 11 23 31 39 38 30 22 10 +58 67 66 59 50 75 51 74 4 19 7 16 69 60 61 68 77 52 76 53 17 6 18 5 28 39 30 37 88 97 94 103 36 31 38 29 96 89 102 95 80 105 86 111 81 104 87 110 82 109 40 45 42 47 106 85 24 27 90 101 91 100 33 34 32 35 98 93 99 92 25 26 83 108 43 46 41 44 107 84 48 54 8 20 10 22 72 78 0 12 56 62 57 63 3 15 2 14 64 70 65 71 1 13 49 55 11 23 9 21 73 79 +40 41 42 43 24 25 32 33 4 5 17 16 45 44 47 46 27 26 35 34 7 6 18 19 28 29 36 37 8 9 21 20 30 31 38 39 10 11 23 22 0 1 13 12 2 3 15 14 82 109 58 69 66 61 106 85 50 77 90 101 98 93 74 53 51 76 91 100 99 92 75 52 83 108 59 68 67 60 107 84 48 79 88 103 96 95 72 55 80 111 56 71 64 63 104 87 81 110 57 70 65 62 105 86 49 78 89 102 97 94 73 54 +58 68 69 59 24 34 27 33 90 100 91 101 66 60 61 67 32 26 35 25 98 92 99 93 48 78 54 72 8 22 10 20 79 49 73 55 21 11 23 9 80 110 81 111 86 104 87 105 82 109 40 42 45 47 106 85 50 51 4 16 7 19 74 75 77 76 17 5 18 6 53 52 83 108 43 41 46 44 107 84 28 30 88 103 94 97 37 39 0 12 56 57 62 63 3 15 13 1 71 70 65 64 14 2 31 29 89 102 95 96 38 36 +40 46 45 43 50 53 77 74 90 93 98 101 42 44 47 41 51 52 76 75 91 92 99 100 48 55 79 72 88 95 96 103 54 49 73 78 94 89 102 97 0 14 2 12 13 3 15 1 82 109 58 66 69 61 106 85 24 32 4 16 17 5 33 25 27 35 7 19 18 6 34 26 83 108 59 67 68 60 107 84 28 36 8 20 21 9 37 29 80 111 56 64 71 63 104 87 86 105 62 70 65 57 110 81 31 39 11 23 22 10 38 30 +58 67 66 59 4 19 16 7 50 75 74 51 69 60 61 68 17 6 5 18 77 52 53 76 88 97 103 94 28 39 37 30 96 89 95 102 36 31 29 38 80 105 104 81 111 86 87 110 40 42 82 106 109 85 45 47 24 33 90 91 101 100 27 34 32 25 98 99 93 92 35 26 43 41 83 107 108 84 46 44 48 72 8 10 20 22 54 78 56 57 0 3 12 15 62 63 64 65 2 1 14 13 70 71 49 73 11 9 23 21 55 79 +82 108 109 83 24 35 32 27 50 76 77 51 106 84 85 107 33 26 25 34 74 52 53 75 88 102 96 94 8 23 21 10 103 89 95 97 20 11 9 22 56 70 71 57 64 62 63 65 40 42 58 69 66 61 45 47 4 17 90 91 98 99 7 18 16 5 101 100 93 92 19 6 43 41 59 68 67 60 46 44 48 79 28 30 36 38 54 73 80 81 0 13 2 15 86 87 111 110 12 1 14 3 105 104 49 78 31 29 39 37 55 72 +82 107 106 83 4 18 17 7 90 99 98 91 109 84 85 108 16 6 5 19 101 92 93 100 48 73 79 54 28 38 36 30 72 49 55 78 37 31 29 39 56 65 64 57 71 62 63 70 40 42 58 66 69 61 45 47 24 32 50 51 77 76 27 35 33 25 74 75 53 52 34 26 43 41 59 67 68 60 46 44 88 96 8 10 21 23 94 102 80 81 0 2 13 15 86 87 104 105 3 1 14 12 110 111 89 97 11 9 22 20 95 103 +58 68 69 59 24 34 33 27 90 100 101 91 66 60 61 67 32 26 25 35 98 92 93 99 48 78 72 54 8 22 20 10 79 49 55 73 21 11 9 23 80 110 111 81 104 86 87 105 40 42 82 109 106 85 45 47 4 16 50 51 74 75 7 19 17 5 77 76 53 52 18 6 43 41 83 108 107 84 46 44 88 103 28 30 37 39 94 97 56 57 0 12 3 15 62 63 71 70 13 1 14 2 65 64 89 102 31 29 38 36 95 96 +58 67 66 59 4 19 7 16 50 75 51 74 69 60 61 68 17 6 18 5 77 52 76 53 88 97 94 103 28 39 30 37 96 89 102 95 36 31 38 29 80 105 81 104 86 111 87 110 82 106 40 42 45 47 109 85 90 91 24 33 27 34 101 100 98 99 32 25 35 26 93 92 83 107 43 41 46 44 108 84 8 10 48 72 54 78 20 22 0 3 56 57 62 63 12 15 2 1 64 65 70 71 14 13 11 9 49 73 55 79 23 21 +40 41 42 43 4 5 17 16 24 25 32 33 45 44 47 46 7 6 18 19 27 26 35 34 8 9 21 20 28 29 36 37 10 11 23 22 30 31 38 39 0 1 2 3 13 12 15 14 82 106 58 66 69 61 109 85 90 98 50 74 77 53 101 93 91 99 51 75 76 52 100 92 83 107 59 67 68 60 108 84 88 96 48 72 79 55 103 95 80 104 56 64 71 63 111 87 81 105 57 65 70 62 110 86 89 97 49 73 78 54 102 94 +58 68 69 59 90 100 91 101 24 34 27 33 66 60 61 67 98 92 99 93 32 26 35 25 8 22 10 20 48 78 54 72 21 11 23 9 79 49 73 55 80 110 86 104 81 111 87 105 82 106 40 45 42 47 109 85 4 7 50 74 51 75 16 19 17 18 77 53 76 52 5 6 83 107 43 46 41 44 108 84 88 94 28 37 30 39 103 97 0 3 56 62 57 63 12 15 13 14 71 65 70 64 1 2 89 95 31 38 29 36 102 96 +40 46 45 43 90 93 98 101 50 53 77 74 42 44 47 41 91 92 99 100 51 52 76 75 88 95 96 103 48 55 79 72 94 89 102 97 54 49 73 78 0 14 13 3 2 12 15 1 82 106 58 69 66 61 109 85 4 17 24 33 32 25 16 5 7 18 27 34 35 26 19 6 83 107 59 68 67 60 108 84 8 21 28 37 36 29 20 9 80 104 56 71 64 63 111 87 86 110 62 65 70 57 105 81 11 22 31 38 39 30 23 10 +82 108 109 83 24 35 27 32 50 76 51 77 106 84 85 107 33 26 34 25 74 52 75 53 88 102 94 96 8 23 10 21 103 89 97 95 20 11 22 9 56 70 57 71 62 64 63 65 58 69 40 42 45 47 66 61 90 91 4 17 7 18 98 99 101 100 16 5 19 6 93 92 59 68 43 41 46 44 67 60 28 30 48 79 54 73 36 38 0 13 80 81 86 87 2 15 12 1 111 110 105 104 14 3 31 29 49 78 55 72 39 37 +40 41 42 43 24 25 33 32 4 5 16 17 45 44 47 46 27 26 34 35 7 6 19 18 28 29 37 36 8 9 20 21 30 31 39 38 10 11 22 23 0 1 12 13 3 2 15 14 58 69 82 109 106 85 66 61 90 101 50 77 74 53 98 93 91 100 51 76 75 52 99 92 59 68 83 108 107 84 67 60 88 103 48 79 72 55 96 95 56 71 80 111 104 87 64 63 57 70 81 110 105 86 65 62 89 102 49 78 73 54 97 94 +82 107 106 83 90 99 91 98 4 18 7 17 109 84 85 108 101 92 100 93 16 6 19 5 28 38 30 36 48 73 54 79 37 31 39 29 72 49 78 55 56 65 62 71 57 64 63 70 58 69 40 45 42 47 66 61 24 27 50 77 51 76 32 35 33 34 74 53 75 52 25 26 59 68 43 46 41 44 67 60 88 94 8 21 10 23 96 102 0 13 80 86 81 87 2 15 3 14 104 110 105 111 1 12 89 95 11 22 9 20 97 103 +40 46 45 43 90 93 101 98 50 53 74 77 42 44 47 41 91 92 100 99 51 52 75 76 88 95 103 96 48 55 72 79 94 89 97 102 54 49 78 73 0 14 3 13 12 2 15 1 58 69 82 106 109 85 66 61 24 33 4 17 16 5 32 25 27 34 7 18 19 6 35 26 59 68 83 107 108 84 67 60 28 37 8 21 20 9 36 29 56 71 80 104 111 87 64 63 62 65 86 110 105 81 70 57 31 38 11 22 23 10 39 30 +58 67 66 59 50 75 74 51 4 19 16 7 69 60 61 68 77 52 53 76 17 6 5 18 28 39 37 30 88 97 103 94 36 31 29 38 96 89 95 102 80 105 111 86 104 81 87 110 40 45 82 109 106 85 42 47 90 101 24 27 33 34 91 100 98 93 32 35 25 26 99 92 43 46 83 108 107 84 41 44 8 20 48 54 72 78 10 22 56 62 0 12 3 15 57 63 64 70 2 14 1 13 65 71 11 23 49 55 73 79 9 21 +82 108 109 83 50 76 77 51 24 35 32 27 106 84 85 107 74 52 53 75 33 26 25 34 8 23 21 10 88 102 96 94 20 11 9 22 103 89 95 97 56 70 64 62 71 57 63 65 40 45 58 66 69 61 42 47 90 98 4 7 17 18 91 99 101 93 16 19 5 6 100 92 43 46 59 67 68 60 41 44 28 36 48 54 79 73 30 38 80 86 0 2 13 15 81 87 111 105 12 14 1 3 110 104 31 39 49 55 78 72 29 37 +82 107 106 83 90 99 98 91 4 18 17 7 109 84 85 108 101 92 93 100 16 6 5 19 28 38 36 30 48 73 79 54 37 31 29 39 72 49 55 78 56 65 71 62 64 57 63 70 40 45 58 69 66 61 42 47 50 77 24 27 32 35 51 76 74 53 33 34 25 26 75 52 43 46 59 68 67 60 41 44 8 21 88 94 96 102 10 23 80 86 0 13 2 15 81 87 104 110 3 14 1 12 105 111 11 22 89 95 97 103 9 20 +58 68 69 59 90 100 101 91 24 34 33 27 66 60 61 67 98 92 93 99 32 26 25 35 8 22 20 10 48 78 72 54 21 11 9 23 79 49 55 73 80 110 104 86 111 81 87 105 40 45 82 106 109 85 42 47 50 74 4 7 16 19 51 75 77 53 17 18 5 6 76 52 43 46 83 107 108 84 41 44 28 37 88 94 103 97 30 39 56 62 0 3 12 15 57 63 71 65 13 14 1 2 70 64 31 38 89 95 102 96 29 36 +82 108 83 109 50 76 51 77 24 35 32 27 106 84 107 85 74 52 75 53 33 26 25 34 8 23 10 21 88 102 96 94 11 20 9 22 89 103 97 95 56 70 64 62 57 71 65 63 4 7 90 98 91 99 17 18 58 66 40 45 42 47 69 61 59 67 43 46 41 44 68 60 16 19 101 93 100 92 5 6 0 2 80 86 81 87 13 15 48 54 28 36 30 38 79 73 49 55 31 39 29 37 78 72 12 14 111 105 110 104 1 3 +82 85 106 109 58 61 66 69 40 47 42 45 83 84 107 108 59 60 67 68 43 44 41 46 0 15 2 13 80 87 81 86 3 12 1 14 104 111 105 110 56 63 57 62 64 71 65 70 4 7 90 91 98 99 17 18 50 51 24 27 32 35 77 76 74 75 33 34 25 26 53 52 16 19 101 100 93 92 5 6 8 10 88 94 96 102 21 23 48 54 28 30 36 38 79 73 72 78 37 39 29 31 55 49 20 22 103 97 95 89 9 11 +90 100 91 101 58 68 59 69 24 34 33 27 98 92 99 93 66 60 67 61 32 26 25 35 8 22 11 21 80 110 104 86 10 20 9 23 81 111 105 87 48 78 72 54 49 79 73 55 4 7 82 106 83 107 17 18 50 74 40 45 43 46 77 53 51 75 42 47 41 44 76 52 16 19 109 85 108 84 5 6 0 3 88 94 89 95 13 14 56 62 28 37 31 38 71 65 57 63 30 39 29 36 70 64 12 15 103 97 102 96 1 2 +90 93 98 101 50 53 74 77 40 46 43 45 91 92 99 100 51 52 75 76 42 44 41 47 0 14 3 13 88 95 89 94 2 12 1 15 96 103 97 102 48 55 49 54 72 79 73 78 4 7 82 83 106 107 17 18 58 59 24 27 33 34 69 68 66 67 32 35 25 26 61 60 16 19 109 108 85 84 5 6 8 11 80 86 104 110 21 22 56 62 28 31 37 38 71 65 64 70 36 39 29 30 63 57 20 23 111 105 87 81 9 10 +4 19 7 16 50 75 51 74 58 67 66 59 17 6 18 5 77 52 76 53 69 60 61 68 80 105 81 104 88 97 96 89 86 111 87 110 94 103 102 95 28 39 36 31 30 37 38 29 82 83 90 98 91 99 106 107 24 32 40 43 42 41 33 25 27 35 45 46 47 44 34 26 109 108 101 93 100 92 85 84 0 2 8 11 10 9 3 1 48 49 56 64 57 65 72 73 54 55 62 70 63 71 78 79 12 14 20 23 22 21 15 13 +4 5 17 16 24 25 32 33 40 41 42 43 7 6 18 19 27 26 35 34 45 44 47 46 0 1 2 3 8 9 10 11 13 12 15 14 21 20 23 22 28 29 30 31 36 37 38 39 82 83 90 91 98 99 106 107 50 51 58 59 66 67 74 75 77 76 69 68 61 60 53 52 109 108 101 100 93 92 85 84 80 81 88 89 96 97 104 105 48 49 56 57 64 65 72 73 79 78 71 70 63 62 55 54 111 110 103 102 95 94 87 86 +90 100 91 101 24 34 27 33 58 68 69 59 98 92 99 93 32 26 35 25 66 60 61 67 80 110 86 104 8 22 21 11 81 111 87 105 10 20 23 9 48 78 79 49 54 72 73 55 82 83 4 17 7 18 106 107 50 77 40 43 45 46 74 53 51 76 42 41 47 44 75 52 109 108 16 5 19 6 85 84 0 13 88 89 94 95 3 14 28 31 56 71 62 65 37 38 30 29 57 70 63 64 39 36 12 1 103 102 97 96 15 2 +90 93 98 101 50 53 77 74 40 46 45 43 91 92 99 100 51 52 76 75 42 44 47 41 0 14 13 3 88 95 94 89 2 12 15 1 96 103 102 97 48 55 54 49 79 72 73 78 82 83 4 7 17 18 106 107 24 27 58 59 69 68 33 34 32 35 66 67 61 60 25 26 109 108 16 19 5 6 85 84 80 86 8 11 21 22 104 110 28 31 56 62 71 65 37 38 36 39 64 70 63 57 29 30 111 105 20 23 9 10 87 81 +82 108 83 109 24 35 32 27 50 76 51 77 106 84 107 85 33 26 25 34 74 52 75 53 88 102 96 94 8 23 10 21 89 103 97 95 11 20 9 22 56 70 57 71 64 62 65 63 4 17 90 91 98 99 7 18 40 42 58 69 66 61 45 47 43 41 59 68 67 60 46 44 16 5 101 100 93 92 19 6 80 81 0 13 2 15 86 87 48 79 28 30 36 38 54 73 49 78 31 29 39 37 55 72 111 110 12 1 14 3 105 104 +82 85 106 109 40 47 42 45 58 61 66 69 83 84 107 108 43 44 41 46 59 60 67 68 80 87 81 86 0 15 2 13 104 111 105 110 3 12 1 14 56 63 64 71 57 62 65 70 4 17 90 98 91 99 7 18 24 32 50 77 51 76 27 35 33 25 74 53 75 52 34 26 16 5 101 93 100 92 19 6 88 96 8 21 10 23 94 102 48 79 28 36 30 38 54 73 72 55 37 29 39 31 78 49 103 95 20 9 22 11 97 89 +90 100 91 101 24 34 33 27 58 68 59 69 98 92 99 93 32 26 25 35 66 60 67 61 80 110 104 86 8 22 11 21 81 111 105 87 10 20 9 23 48 78 49 79 72 54 73 55 4 17 82 83 106 107 7 18 40 43 50 77 74 53 45 46 42 41 51 76 75 52 47 44 16 5 109 108 85 84 19 6 88 89 0 13 3 14 94 95 56 71 28 31 37 38 62 65 57 70 30 29 39 36 63 64 103 102 12 1 15 2 97 96 +90 93 98 101 40 46 43 45 50 53 74 77 91 92 99 100 42 44 41 47 51 52 75 76 88 95 89 94 0 14 3 13 96 103 97 102 2 12 1 15 48 55 72 79 49 54 73 78 4 17 82 106 83 107 7 18 24 33 58 69 59 68 27 34 32 25 66 61 67 60 35 26 16 5 109 85 108 84 19 6 80 104 8 21 11 22 86 110 56 71 28 37 31 38 62 65 64 63 36 29 39 30 70 57 111 87 20 9 23 10 105 81 +4 19 7 16 58 67 66 59 50 75 51 74 17 6 18 5 69 60 61 68 77 52 76 53 88 97 96 89 80 105 81 104 94 103 102 95 86 111 87 110 28 39 30 37 36 31 38 29 82 106 90 91 98 99 83 107 40 42 24 33 32 25 43 41 45 47 27 34 35 26 46 44 109 85 101 100 93 92 108 84 8 10 0 3 2 1 11 9 48 72 56 57 64 65 49 73 54 78 62 63 70 71 55 79 20 22 12 15 14 13 23 21 +4 5 17 16 40 41 42 43 24 25 32 33 7 6 18 19 45 44 47 46 27 26 35 34 8 9 10 11 0 1 2 3 21 20 23 22 13 12 15 14 28 29 36 37 30 31 38 39 82 106 90 98 91 99 83 107 58 66 50 74 51 75 59 67 69 61 77 53 76 52 68 60 109 85 101 93 100 92 108 84 88 96 80 104 81 105 89 97 48 72 56 64 57 65 49 73 79 55 71 63 70 62 78 54 103 95 111 87 110 86 102 94 +90 100 91 101 58 68 69 59 24 34 27 33 98 92 99 93 66 60 61 67 32 26 35 25 8 22 21 11 80 110 86 104 10 20 23 9 81 111 87 105 48 78 54 72 79 49 73 55 82 106 4 7 17 18 83 107 40 45 50 74 77 53 43 46 42 47 51 75 76 52 41 44 109 85 16 19 5 6 108 84 88 94 0 3 13 14 89 95 28 37 56 62 71 65 31 38 30 39 57 63 70 64 29 36 103 97 12 15 1 2 102 96 +90 93 98 101 40 46 45 43 50 53 77 74 91 92 99 100 42 44 47 41 51 52 76 75 88 95 94 89 0 14 13 3 96 103 102 97 2 12 15 1 48 55 79 72 54 49 73 78 82 106 4 17 7 18 83 107 58 69 24 33 27 34 59 68 66 61 32 25 35 26 67 60 109 85 16 5 19 6 108 84 8 21 80 104 86 110 11 22 28 37 56 71 62 65 31 38 36 29 64 63 70 57 39 30 20 9 111 87 105 81 23 10 +4 19 7 16 58 67 59 66 50 75 74 51 17 6 18 5 69 60 68 61 77 52 53 76 88 97 89 96 80 105 104 81 94 103 95 102 86 111 110 87 28 39 37 30 31 36 38 29 90 91 82 106 83 107 98 99 24 33 40 42 43 41 32 25 27 34 45 47 46 44 35 26 101 100 109 85 108 84 93 92 0 3 8 10 11 9 2 1 56 57 48 72 49 73 64 65 62 63 54 78 55 79 70 71 12 15 20 22 23 21 14 13 +82 108 83 109 24 35 27 32 50 76 77 51 106 84 107 85 33 26 34 25 74 52 53 75 88 102 94 96 8 23 21 10 89 103 95 97 11 20 22 9 56 70 71 57 62 64 65 63 90 91 4 17 7 18 98 99 58 69 40 42 45 47 66 61 59 68 43 41 46 44 67 60 101 100 16 5 19 6 93 92 0 13 80 81 86 87 2 15 28 30 48 79 54 73 36 38 31 29 49 78 55 72 39 37 12 1 111 110 105 104 14 3 +4 5 17 16 24 25 33 32 40 41 43 42 7 6 18 19 27 26 34 35 45 44 46 47 0 1 3 2 8 9 11 10 13 12 14 15 21 20 22 23 28 29 31 30 37 36 38 39 90 91 82 83 106 107 98 99 58 59 50 51 74 75 66 67 69 68 77 76 53 52 61 60 101 100 109 108 85 84 93 92 88 89 80 81 104 105 96 97 56 57 48 49 72 73 64 65 71 70 79 78 55 54 63 62 103 102 111 110 87 86 95 94 +82 85 106 109 58 61 69 66 40 47 45 42 83 84 107 108 59 60 68 67 43 44 46 41 0 15 13 2 80 87 86 81 3 12 14 1 104 111 110 105 56 63 62 57 71 64 65 70 90 91 4 7 17 18 98 99 24 27 50 51 77 76 32 35 33 34 74 75 53 52 25 26 101 100 16 19 5 6 93 92 88 94 8 10 21 23 96 102 28 30 48 54 79 73 36 38 37 39 72 78 55 49 29 31 103 97 20 22 9 11 95 89 +4 19 7 16 50 75 74 51 58 67 59 66 17 6 18 5 77 52 53 76 69 60 68 61 80 105 104 81 88 97 89 96 86 111 110 87 94 103 95 102 28 39 31 36 37 30 38 29 90 98 82 83 106 107 91 99 40 43 24 32 33 25 42 41 45 46 27 35 34 26 47 44 101 93 109 108 85 84 100 92 8 11 0 2 3 1 10 9 56 64 48 49 72 73 57 65 62 70 54 55 78 79 63 71 20 23 12 14 15 13 22 21 +82 108 83 109 50 76 77 51 24 35 27 32 106 84 107 85 74 52 53 75 33 26 34 25 8 23 21 10 88 102 94 96 11 20 22 9 89 103 95 97 56 70 62 64 71 57 65 63 90 98 4 7 17 18 91 99 40 45 58 66 69 61 42 47 43 46 59 67 68 60 41 44 101 93 16 19 5 6 100 92 80 86 0 2 13 15 81 87 28 36 48 54 79 73 30 38 31 39 49 55 78 72 29 37 111 105 12 14 1 3 110 104 +4 5 17 16 40 41 43 42 24 25 33 32 7 6 18 19 45 44 46 47 27 26 34 35 8 9 11 10 0 1 3 2 21 20 22 23 13 12 14 15 28 29 37 36 31 30 38 39 90 98 82 106 83 107 91 99 50 74 58 66 59 67 51 75 77 53 69 61 68 60 76 52 101 93 109 85 108 84 100 92 80 104 88 96 89 97 81 105 56 64 48 72 49 73 57 65 71 63 79 55 78 54 70 62 111 87 103 95 102 94 110 86 +82 85 106 109 40 47 45 42 58 61 69 66 83 84 107 108 43 44 46 41 59 60 68 67 80 87 86 81 0 15 13 2 104 111 110 105 3 12 14 1 56 63 71 64 62 57 65 70 90 98 4 17 7 18 91 99 50 77 24 32 27 35 51 76 74 53 33 25 34 26 75 52 101 93 16 5 19 6 100 92 8 21 88 96 94 102 10 23 28 36 48 79 54 73 30 38 37 29 72 55 78 49 39 31 20 9 103 95 97 89 22 11 +24 35 27 32 50 76 51 77 82 108 109 83 33 26 34 25 74 52 75 53 106 84 85 107 56 70 57 71 88 102 103 89 62 64 63 65 94 96 97 95 8 23 20 11 10 21 22 9 58 59 90 101 91 100 69 68 4 16 40 43 42 41 17 5 7 19 45 46 47 44 18 6 66 67 98 93 99 92 61 60 0 12 28 31 30 29 13 1 48 49 80 111 81 110 79 78 54 55 86 105 87 104 73 72 2 14 36 39 38 37 15 3 +24 25 33 32 4 5 16 17 40 41 42 43 27 26 34 35 7 6 19 18 45 44 47 46 0 1 12 13 28 29 30 31 3 2 15 14 37 36 39 38 8 9 10 11 20 21 22 23 58 59 90 91 101 100 69 68 50 51 82 83 109 108 77 76 74 75 106 107 85 84 53 52 66 67 98 99 93 92 61 60 56 57 88 89 103 102 71 70 48 49 80 81 111 110 79 78 72 73 104 105 87 86 55 54 64 65 96 97 95 94 63 62 +90 99 91 98 4 18 7 17 82 107 106 83 101 92 100 93 16 6 19 5 109 84 85 108 56 65 62 71 28 38 37 31 57 64 63 70 30 36 39 29 48 73 72 49 54 79 78 55 58 59 24 33 27 34 69 68 50 74 40 43 45 46 77 53 51 75 42 41 47 44 76 52 66 67 32 25 35 26 61 60 0 3 88 89 94 95 13 14 8 11 80 104 86 110 21 22 10 9 81 105 87 111 23 20 2 1 96 97 102 103 15 12 +90 93 101 98 50 53 74 77 40 46 45 43 91 92 100 99 51 52 75 76 42 44 47 41 0 14 3 13 88 95 94 89 12 2 15 1 103 96 97 102 48 55 54 49 72 79 78 73 58 59 24 27 33 34 69 68 4 7 82 83 106 107 17 18 16 19 109 108 85 84 5 6 66 67 32 35 25 26 61 60 56 62 28 31 37 38 71 65 8 11 80 86 104 110 21 22 20 23 111 105 87 81 9 10 64 70 36 39 29 30 63 57 +58 67 59 66 50 75 51 74 4 19 16 7 69 60 68 61 77 52 76 53 17 6 5 18 28 39 30 37 88 97 103 94 31 36 29 38 89 96 102 95 80 105 111 86 81 104 110 87 24 27 90 101 91 100 33 34 82 109 40 45 42 47 106 85 83 108 43 46 41 44 107 84 32 35 98 93 99 92 25 26 0 12 56 62 57 63 3 15 48 54 8 20 10 22 72 78 49 55 11 23 9 21 73 79 2 14 64 70 65 71 1 13 +58 61 69 66 82 85 109 106 40 47 42 45 59 60 68 67 83 84 108 107 43 44 41 46 0 15 12 3 56 63 57 62 13 2 1 14 71 64 70 65 80 87 81 86 111 104 110 105 24 27 90 91 101 100 33 34 50 51 4 7 16 19 74 75 77 76 17 18 5 6 53 52 32 35 98 99 93 92 25 26 28 30 88 94 103 97 37 39 48 54 8 10 20 22 72 78 79 73 21 23 9 11 55 49 36 38 96 102 95 89 29 31 +90 99 91 98 82 107 83 106 4 18 17 7 101 92 100 93 109 84 108 85 16 6 5 19 28 38 31 37 56 65 71 62 30 36 29 39 57 64 70 63 48 73 79 54 49 72 78 55 24 27 58 69 59 68 33 34 50 77 40 45 43 46 74 53 51 76 42 47 41 44 75 52 32 35 66 61 67 60 25 26 0 13 88 94 89 95 3 14 80 86 8 21 11 22 104 110 81 87 10 23 9 20 105 111 2 15 96 102 97 103 1 12 +90 93 101 98 50 53 77 74 40 46 43 45 91 92 100 99 51 52 76 75 42 44 41 47 0 14 13 3 88 95 89 94 12 2 1 15 103 96 102 97 48 55 49 54 79 72 78 73 24 27 58 59 69 68 33 34 82 83 4 7 17 18 106 107 109 108 16 19 5 6 85 84 32 35 66 67 61 60 25 26 28 31 56 62 71 65 37 38 80 86 8 11 21 22 104 110 111 105 20 23 9 10 87 81 36 39 64 70 63 57 29 30 +58 67 59 66 4 19 16 7 50 75 51 74 69 60 68 61 17 6 5 18 77 52 76 53 88 97 103 94 28 39 30 37 89 96 102 95 31 36 29 38 80 105 81 104 111 86 110 87 24 33 90 91 101 100 27 34 40 42 82 106 109 85 45 47 43 41 83 107 108 84 46 44 32 25 98 99 93 92 35 26 56 57 0 3 12 15 62 63 48 72 8 10 20 22 54 78 49 73 11 9 23 21 55 79 64 65 2 1 14 13 70 71 +58 61 69 66 40 47 42 45 82 85 109 106 59 60 68 67 43 44 41 46 83 84 108 107 56 63 57 62 0 15 12 3 71 64 70 65 13 2 1 14 80 87 111 104 81 86 110 105 24 33 90 101 91 100 27 34 4 16 50 74 51 75 7 19 17 5 77 53 76 52 18 6 32 25 98 93 99 92 35 26 88 103 28 37 30 39 94 97 48 72 8 20 10 22 54 78 79 55 21 9 23 11 73 49 96 95 36 29 38 31 102 89 +90 99 91 98 4 18 17 7 82 107 83 106 101 92 100 93 16 6 5 19 109 84 108 85 56 65 71 62 28 38 31 37 57 64 70 63 30 36 29 39 48 73 49 72 79 54 78 55 24 33 58 59 69 68 27 34 40 43 50 74 77 53 45 46 42 41 51 75 76 52 47 44 32 25 66 67 61 60 35 26 88 89 0 3 13 14 94 95 80 104 8 11 21 22 86 110 81 105 10 9 23 20 87 111 96 97 2 1 15 12 102 103 +90 93 101 98 40 46 43 45 50 53 77 74 91 92 100 99 42 44 41 47 51 52 76 75 88 95 89 94 0 14 13 3 103 96 102 97 12 2 1 15 48 55 79 72 49 54 78 73 24 33 58 69 59 68 27 34 4 17 82 106 83 107 7 18 16 5 109 85 108 84 19 6 32 25 66 61 67 60 35 26 56 71 28 37 31 38 62 65 80 104 8 21 11 22 86 110 111 87 20 9 23 10 105 81 64 63 36 29 39 30 70 57 +24 35 27 32 82 108 109 83 50 76 51 77 33 26 34 25 106 84 85 107 74 52 75 53 88 102 103 89 56 70 57 71 94 96 97 95 62 64 63 65 8 23 10 21 20 11 22 9 58 69 90 91 101 100 59 68 40 42 4 17 16 5 43 41 45 47 7 18 19 6 46 44 66 61 98 99 93 92 67 60 28 30 0 13 12 1 31 29 48 79 80 81 111 110 49 78 54 73 86 87 105 104 55 72 36 38 2 15 14 3 39 37 +24 25 33 32 40 41 42 43 4 5 16 17 27 26 34 35 45 44 47 46 7 6 19 18 28 29 30 31 0 1 12 13 37 36 39 38 3 2 15 14 8 9 20 21 10 11 22 23 58 69 90 101 91 100 59 68 82 109 50 77 51 76 83 108 106 85 74 53 75 52 107 84 66 61 98 93 99 92 67 60 88 103 56 71 57 70 89 102 48 79 80 111 81 110 49 78 72 55 104 87 105 86 73 54 96 95 64 63 65 62 97 94 +90 99 91 98 82 107 106 83 4 18 7 17 101 92 100 93 109 84 85 108 16 6 19 5 28 38 37 31 56 65 62 71 30 36 39 29 57 64 63 70 48 73 54 79 72 49 78 55 58 69 24 27 33 34 59 68 40 45 50 77 74 53 43 46 42 47 51 76 75 52 41 44 66 61 32 35 25 26 67 60 88 94 0 13 3 14 89 95 8 21 80 86 104 110 11 22 10 23 81 87 105 111 9 20 96 102 2 15 1 12 97 103 +90 93 101 98 40 46 45 43 50 53 74 77 91 92 100 99 42 44 47 41 51 52 75 76 88 95 94 89 0 14 3 13 103 96 97 102 12 2 15 1 48 55 72 79 54 49 78 73 58 69 24 33 27 34 59 68 82 106 4 17 7 18 83 107 109 85 16 5 19 6 108 84 66 61 32 25 35 26 67 60 28 37 56 71 62 65 31 38 8 21 80 104 86 110 11 22 20 9 111 87 105 81 23 10 36 29 64 63 70 57 39 30 +58 67 59 66 4 19 7 16 50 75 74 51 69 60 68 61 17 6 18 5 77 52 53 76 88 97 94 103 28 39 37 30 89 96 95 102 31 36 38 29 80 105 104 81 86 111 110 87 90 91 24 33 27 34 101 100 82 106 40 42 45 47 109 85 83 107 43 41 46 44 108 84 98 99 32 25 35 26 93 92 0 3 56 57 62 63 12 15 8 10 48 72 54 78 20 22 11 9 49 73 55 79 23 21 2 1 64 65 70 71 14 13 +24 35 27 32 82 108 83 109 50 76 77 51 33 26 34 25 106 84 107 85 74 52 53 75 88 102 89 103 56 70 71 57 94 96 95 97 62 64 65 63 8 23 21 10 11 20 22 9 90 91 58 69 59 68 101 100 4 17 40 42 43 41 16 5 7 18 45 47 46 44 19 6 98 99 66 61 67 60 93 92 0 13 28 30 31 29 12 1 80 81 48 79 49 78 111 110 86 87 54 73 55 72 105 104 2 15 36 38 39 37 14 3 +24 25 33 32 4 5 17 16 40 41 43 42 27 26 34 35 7 6 18 19 45 44 46 47 0 1 13 12 28 29 31 30 3 2 14 15 37 36 38 39 8 9 11 10 21 20 22 23 90 91 58 59 69 68 101 100 82 83 50 51 77 76 109 108 106 107 74 75 53 52 85 84 98 99 66 67 61 60 93 92 88 89 56 57 71 70 103 102 80 81 48 49 79 78 111 110 104 105 72 73 55 54 87 86 96 97 64 65 63 62 95 94 +58 61 69 66 82 85 106 109 40 47 45 42 59 60 68 67 83 84 107 108 43 44 46 41 0 15 3 12 56 63 62 57 13 2 14 1 71 64 65 70 80 87 86 81 104 111 110 105 90 91 24 27 33 34 101 100 4 7 50 51 74 75 16 19 17 18 77 76 53 52 5 6 98 99 32 35 25 26 93 92 88 94 28 30 37 39 103 97 8 10 48 54 72 78 20 22 21 23 79 73 55 49 9 11 96 102 36 38 29 31 95 89 +58 67 59 66 50 75 74 51 4 19 7 16 69 60 68 61 77 52 53 76 17 6 18 5 28 39 37 30 88 97 94 103 31 36 38 29 89 96 95 102 80 105 86 111 104 81 110 87 90 101 24 27 33 34 91 100 40 45 82 109 106 85 42 47 43 46 83 108 107 84 41 44 98 93 32 35 25 26 99 92 56 62 0 12 3 15 57 63 8 20 48 54 72 78 10 22 11 23 49 55 73 79 9 21 64 70 2 14 1 13 65 71 +24 35 27 32 50 76 77 51 82 108 83 109 33 26 34 25 74 52 53 75 106 84 107 85 56 70 71 57 88 102 89 103 62 64 65 63 94 96 95 97 8 23 11 20 21 10 22 9 90 101 58 59 69 68 91 100 40 43 4 16 17 5 42 41 45 46 7 19 18 6 47 44 98 93 66 67 61 60 99 92 28 31 0 12 13 1 30 29 80 111 48 49 79 78 81 110 86 105 54 55 73 72 87 104 36 39 2 14 15 3 38 37 +24 25 33 32 40 41 43 42 4 5 17 16 27 26 34 35 45 44 46 47 7 6 18 19 28 29 31 30 0 1 13 12 37 36 38 39 3 2 14 15 8 9 21 20 11 10 22 23 90 101 58 69 59 68 91 100 50 77 82 109 83 108 51 76 74 53 106 85 107 84 75 52 98 93 66 61 67 60 99 92 56 71 88 103 89 102 57 70 80 111 48 79 49 78 81 110 104 87 72 55 73 54 105 86 64 63 96 95 97 94 65 62 +58 61 69 66 40 47 45 42 82 85 106 109 59 60 68 67 43 44 46 41 83 84 107 108 56 63 62 57 0 15 3 12 71 64 65 70 13 2 14 1 80 87 104 111 86 81 110 105 90 101 24 33 27 34 91 100 50 74 4 16 7 19 51 75 77 53 17 5 18 6 76 52 98 93 32 25 35 26 99 92 28 37 88 103 94 97 30 39 8 20 48 72 54 78 10 22 21 9 79 55 73 49 23 11 36 29 96 95 102 89 38 31 +40 41 43 42 4 5 16 17 24 25 32 33 45 44 46 47 7 6 19 18 27 26 35 34 8 9 20 21 28 29 36 37 11 10 23 22 31 30 39 38 0 1 2 3 12 13 14 15 50 74 90 98 101 93 77 53 58 66 82 106 109 85 69 61 59 67 83 107 108 84 68 60 51 75 91 99 100 92 76 52 56 64 80 104 111 87 71 63 48 72 88 96 103 95 79 55 49 73 89 97 102 94 78 54 57 65 81 105 110 86 70 62 +40 47 45 42 58 61 66 69 82 85 109 106 43 44 46 41 59 60 67 68 83 84 108 107 56 63 64 71 80 87 111 104 62 57 70 65 86 81 105 110 0 15 12 3 2 13 14 1 50 74 90 101 98 93 77 53 4 16 24 33 32 25 17 5 7 19 27 34 35 26 18 6 51 75 91 100 99 92 76 52 8 20 28 37 36 29 21 9 48 72 88 103 96 95 79 55 54 78 94 97 102 89 73 49 10 22 30 39 38 31 23 11 +90 99 98 91 4 18 7 17 82 107 83 106 101 92 93 100 16 6 19 5 109 84 108 85 56 65 62 71 28 38 31 37 64 57 70 63 36 30 39 29 48 73 49 72 54 79 55 78 50 74 40 43 45 46 77 53 58 59 24 33 27 34 69 68 66 67 32 25 35 26 61 60 51 75 42 41 47 44 76 52 8 11 80 104 86 110 21 22 0 3 88 89 94 95 13 14 2 1 96 97 102 103 15 12 10 9 81 105 87 111 23 20 +90 100 101 91 58 68 59 69 24 34 27 33 98 92 93 99 66 60 67 61 32 26 35 25 8 22 11 21 80 110 86 104 20 10 23 9 111 81 105 87 48 78 54 72 49 79 55 73 50 74 40 45 43 46 77 53 4 7 82 106 83 107 17 18 16 19 109 85 108 84 5 6 51 75 42 47 41 44 76 52 56 62 28 37 31 38 71 65 0 3 88 94 89 95 13 14 12 15 103 97 102 96 1 2 57 63 30 39 29 36 70 64 +40 41 43 42 24 25 32 33 4 5 16 17 45 44 46 47 27 26 35 34 7 6 19 18 28 29 36 37 8 9 20 21 31 30 39 38 11 10 23 22 0 1 12 13 2 3 14 15 50 77 90 101 98 93 74 53 82 109 58 69 66 61 106 85 83 108 59 68 67 60 107 84 51 76 91 100 99 92 75 52 80 111 56 71 64 63 104 87 48 79 88 103 96 95 72 55 49 78 89 102 97 94 73 54 81 110 57 70 65 62 105 86 +40 47 45 42 82 85 109 106 58 61 66 69 43 44 46 41 83 84 108 107 59 60 67 68 80 87 111 104 56 63 64 71 86 81 105 110 62 57 70 65 0 15 2 13 12 3 14 1 50 77 90 98 101 93 74 53 24 32 4 17 16 5 33 25 27 35 7 18 19 6 34 26 51 76 91 99 100 92 75 52 28 36 8 21 20 9 37 29 48 79 88 96 103 95 72 55 54 73 94 102 97 89 78 49 30 38 10 23 22 11 39 31 +90 99 98 91 82 107 83 106 4 18 7 17 101 92 93 100 109 84 108 85 16 6 19 5 28 38 31 37 56 65 62 71 36 30 39 29 64 57 70 63 48 73 54 79 49 72 55 78 50 77 40 45 43 46 74 53 24 27 58 69 59 68 33 34 32 35 66 61 67 60 25 26 51 76 42 47 41 44 75 52 80 86 8 21 11 22 104 110 0 13 88 94 89 95 3 14 2 15 96 102 97 103 1 12 81 87 10 23 9 20 105 111 +90 100 101 91 24 34 27 33 58 68 59 69 98 92 93 99 32 26 35 25 66 60 67 61 80 110 86 104 8 22 11 21 111 81 105 87 20 10 23 9 48 78 49 79 54 72 55 73 50 77 40 43 45 46 74 53 82 83 4 17 7 18 106 107 109 108 16 5 19 6 85 84 51 76 42 41 47 44 75 52 28 31 56 71 62 65 37 38 0 13 88 89 94 95 3 14 12 1 103 102 97 96 15 2 30 29 57 70 63 64 39 36 +50 75 74 51 4 19 16 7 58 67 66 59 77 52 53 76 17 6 5 18 69 60 61 68 80 105 111 86 28 39 36 31 104 81 87 110 37 30 29 38 88 97 96 89 103 94 95 102 40 43 90 98 101 93 45 46 24 32 82 83 109 108 27 35 33 25 106 107 85 84 34 26 42 41 91 99 100 92 47 44 56 64 8 11 20 23 62 70 48 49 0 2 12 14 54 55 72 73 3 1 15 13 78 79 57 65 10 9 22 21 63 71 +50 76 77 51 24 35 32 27 82 108 109 83 74 52 53 75 33 26 25 34 106 84 85 107 56 70 64 62 8 23 20 11 71 57 63 65 21 10 9 22 88 102 103 89 96 94 95 97 40 43 90 101 98 93 45 46 4 16 58 59 66 67 7 19 17 5 69 68 61 60 18 6 42 41 91 100 99 92 47 44 80 111 28 31 36 39 86 105 48 49 0 12 2 14 54 55 79 78 13 1 15 3 73 72 81 110 30 29 38 37 87 104 +90 99 98 91 4 18 17 7 82 107 106 83 101 92 93 100 16 6 5 19 109 84 85 108 56 65 71 62 28 38 37 31 64 57 63 70 36 30 29 39 48 73 72 49 79 54 55 78 40 43 50 74 77 53 45 46 24 33 58 59 69 68 27 34 32 25 66 67 61 60 35 26 42 41 51 75 76 52 47 44 80 104 8 11 21 22 86 110 88 89 0 3 13 14 94 95 96 97 2 1 15 12 102 103 81 105 10 9 23 20 87 111 +90 100 101 91 24 34 33 27 58 68 69 59 98 92 93 99 32 26 25 35 66 60 61 67 80 110 104 86 8 22 21 11 111 81 87 105 20 10 9 23 48 78 79 49 72 54 55 73 40 43 50 77 74 53 45 46 4 17 82 83 106 107 7 18 16 5 109 108 85 84 19 6 42 41 51 76 75 52 47 44 56 71 28 31 37 38 62 65 88 89 0 13 3 14 94 95 103 102 12 1 15 2 97 96 57 70 30 29 39 36 63 64 +50 75 74 51 58 67 66 59 4 19 16 7 77 52 53 76 69 60 61 68 17 6 5 18 28 39 36 31 80 105 111 86 37 30 29 38 104 81 87 110 88 97 103 94 96 89 95 102 40 45 90 101 98 93 43 46 82 109 24 27 32 35 83 108 106 85 33 34 25 26 107 84 42 47 91 100 99 92 41 44 8 20 56 62 64 70 11 23 48 54 0 12 2 14 49 55 72 78 3 15 1 13 73 79 10 22 57 63 65 71 9 21 +50 76 77 51 82 108 109 83 24 35 32 27 74 52 53 75 106 84 85 107 33 26 25 34 8 23 20 11 56 70 64 62 21 10 9 22 71 57 63 65 88 102 96 94 103 89 95 97 40 45 90 98 101 93 43 46 58 66 4 7 16 19 59 67 69 61 17 18 5 6 68 60 42 47 91 99 100 92 41 44 28 36 80 86 111 105 31 39 48 54 0 2 12 14 49 55 79 73 13 15 1 3 78 72 30 38 81 87 110 104 29 37 +90 99 98 91 82 107 106 83 4 18 17 7 101 92 93 100 109 84 85 108 16 6 5 19 28 38 37 31 56 65 71 62 36 30 29 39 64 57 63 70 48 73 79 54 72 49 55 78 40 45 50 77 74 53 43 46 58 69 24 27 33 34 59 68 66 61 32 35 25 26 67 60 42 47 51 76 75 52 41 44 8 21 80 86 104 110 11 22 88 94 0 13 3 14 89 95 96 102 2 15 1 12 97 103 10 23 81 87 105 111 9 20 +90 100 101 91 58 68 69 59 24 34 33 27 98 92 93 99 66 60 61 67 32 26 25 35 8 22 21 11 80 110 104 86 20 10 9 23 111 81 87 105 48 78 72 54 79 49 55 73 40 45 50 74 77 53 43 46 82 106 4 7 17 18 83 107 109 85 16 19 5 6 108 84 42 47 51 75 76 52 41 44 28 37 56 62 71 65 31 38 88 94 0 3 13 14 89 95 103 97 12 15 1 2 102 96 30 39 57 63 70 64 29 36 +50 75 74 51 4 19 7 16 58 67 59 66 77 52 53 76 17 6 18 5 69 60 68 61 80 105 86 111 28 39 31 36 104 81 110 87 37 30 38 29 88 97 89 96 94 103 95 102 90 98 40 43 45 46 101 93 82 83 24 32 27 35 109 108 106 107 33 25 34 26 85 84 91 99 42 41 47 44 100 92 8 11 56 64 62 70 20 23 0 2 48 49 54 55 12 14 3 1 72 73 78 79 15 13 10 9 57 65 63 71 22 21 +50 76 77 51 82 108 83 109 24 35 27 32 74 52 53 75 106 84 107 85 33 26 34 25 8 23 11 20 56 70 62 64 21 10 22 9 71 57 65 63 88 102 94 96 89 103 95 97 90 98 40 45 43 46 101 93 4 7 58 66 59 67 16 19 17 18 69 61 68 60 5 6 91 99 42 47 41 44 100 92 80 86 28 36 31 39 111 105 0 2 48 54 49 55 12 14 13 15 79 73 78 72 1 3 81 87 30 38 29 37 110 104 +40 41 43 42 4 5 17 16 24 25 33 32 45 44 46 47 7 6 18 19 27 26 34 35 8 9 21 20 28 29 37 36 11 10 22 23 31 30 38 39 0 1 3 2 13 12 14 15 90 98 50 74 77 53 101 93 82 106 58 66 69 61 109 85 83 107 59 67 68 60 108 84 91 99 51 75 76 52 100 92 80 104 56 64 71 63 111 87 88 96 48 72 79 55 103 95 89 97 49 73 78 54 102 94 81 105 57 65 70 62 110 86 +40 47 45 42 82 85 106 109 58 61 69 66 43 44 46 41 83 84 107 108 59 60 68 67 80 87 104 111 56 63 71 64 86 81 110 105 62 57 65 70 0 15 13 2 3 12 14 1 90 98 50 77 74 53 101 93 4 17 24 32 33 25 16 5 7 18 27 35 34 26 19 6 91 99 51 76 75 52 100 92 8 21 28 36 37 29 20 9 88 96 48 79 72 55 103 95 94 102 54 73 78 49 97 89 10 23 30 38 39 31 22 11 +50 75 74 51 58 67 59 66 4 19 7 16 77 52 53 76 69 60 68 61 17 6 18 5 28 39 31 36 80 105 86 111 37 30 38 29 104 81 110 87 88 97 94 103 89 96 95 102 90 101 40 45 43 46 98 93 24 27 82 109 83 108 32 35 33 34 106 85 107 84 25 26 91 100 42 47 41 44 99 92 56 62 8 20 11 23 64 70 0 12 48 54 49 55 2 14 3 15 72 78 73 79 1 13 57 63 10 22 9 21 65 71 +50 76 77 51 24 35 27 32 82 108 83 109 74 52 53 75 33 26 34 25 106 84 107 85 56 70 62 64 8 23 11 20 71 57 65 63 21 10 22 9 88 102 89 103 94 96 95 97 90 101 40 43 45 46 98 93 58 59 4 16 7 19 66 67 69 68 17 5 18 6 61 60 91 100 42 41 47 44 99 92 28 31 80 111 86 105 36 39 0 12 48 49 54 55 2 14 13 1 79 78 73 72 15 3 30 29 81 110 87 104 38 37 +40 41 43 42 24 25 33 32 4 5 17 16 45 44 46 47 27 26 34 35 7 6 18 19 28 29 37 36 8 9 21 20 31 30 38 39 11 10 22 23 0 1 13 12 3 2 14 15 90 101 50 77 74 53 98 93 58 69 82 109 106 85 66 61 59 68 83 108 107 84 67 60 91 100 51 76 75 52 99 92 56 71 80 111 104 87 64 63 88 103 48 79 72 55 96 95 89 102 49 78 73 54 97 94 57 70 81 110 105 86 65 62 +40 47 45 42 58 61 69 66 82 85 106 109 43 44 46 41 59 60 68 67 83 84 107 108 56 63 71 64 80 87 104 111 62 57 65 70 86 81 110 105 0 15 3 12 13 2 14 1 90 101 50 74 77 53 98 93 24 33 4 16 17 5 32 25 27 34 7 19 18 6 35 26 91 100 51 75 76 52 99 92 28 37 8 20 21 9 36 29 88 103 48 72 79 55 96 95 94 97 54 78 73 49 102 89 30 39 10 22 23 11 38 31 +56 63 64 71 80 87 111 104 40 47 43 44 62 57 70 65 86 81 105 110 45 42 46 41 0 15 12 3 58 61 59 60 2 13 14 1 66 69 67 68 82 85 83 84 109 106 108 107 50 52 8 11 20 23 74 76 28 31 90 92 101 99 37 38 36 39 98 100 93 91 29 30 77 75 21 22 9 10 53 51 48 49 4 6 16 18 72 73 24 26 88 89 103 102 33 35 32 34 96 97 95 94 25 27 79 78 17 19 5 7 55 54 +8 9 20 21 28 29 36 37 40 41 45 44 11 10 23 22 31 30 39 38 43 42 46 47 0 1 2 3 4 5 7 6 12 13 14 15 16 17 19 18 24 25 27 26 32 33 35 34 50 52 56 62 64 70 74 76 80 86 90 92 98 100 104 110 111 105 101 99 93 91 87 81 77 75 71 65 63 57 53 51 48 54 58 60 66 68 72 78 82 84 88 94 96 102 106 108 109 107 103 97 95 89 85 83 79 73 69 67 61 59 55 49 +8 22 11 21 80 110 86 104 90 100 98 92 20 10 23 9 111 81 105 87 101 91 93 99 48 78 54 72 58 68 66 60 49 79 55 73 59 69 67 61 24 34 32 26 27 33 35 25 50 52 56 64 62 70 74 76 28 36 40 44 45 41 37 29 31 39 43 47 46 42 38 30 77 75 71 63 65 57 53 51 0 2 4 6 7 5 3 1 82 84 88 96 94 102 106 108 83 85 89 97 95 103 107 109 13 15 17 19 18 16 14 12 +56 65 62 71 28 38 31 37 90 99 101 92 64 57 70 63 36 30 39 29 98 91 93 100 48 73 49 72 4 18 16 6 54 79 55 78 7 17 19 5 82 107 109 84 83 106 108 85 50 52 8 20 11 23 74 76 80 111 40 44 43 47 104 87 86 105 45 41 46 42 110 81 77 75 21 9 22 10 53 51 0 12 58 60 59 61 3 15 24 26 88 103 89 102 33 35 27 25 94 97 95 96 34 32 13 1 69 67 68 66 14 2 +50 75 52 77 80 105 111 86 28 39 31 36 74 51 76 53 104 81 87 110 37 30 38 29 4 19 16 7 58 67 59 66 6 17 18 5 60 69 61 68 88 97 89 96 103 94 102 95 56 64 8 11 20 23 62 70 40 43 90 98 101 93 45 46 44 47 92 100 99 91 41 42 71 63 21 22 9 10 65 57 48 49 0 2 12 14 54 55 24 32 82 83 109 108 27 35 26 34 84 85 107 106 25 33 79 78 13 15 1 3 73 72 +8 9 20 21 40 41 44 45 28 29 37 36 11 10 23 22 43 42 47 46 31 30 38 39 4 5 6 7 0 1 3 2 16 17 18 19 12 13 15 14 24 25 33 32 26 27 35 34 56 64 50 74 52 76 62 70 80 104 90 98 92 100 86 110 111 87 101 93 99 91 105 81 71 63 77 53 75 51 65 57 48 72 58 66 60 68 54 78 88 96 82 106 84 108 94 102 103 95 109 85 107 83 97 89 79 55 69 61 67 59 73 49 +8 22 11 21 80 110 104 86 90 100 92 98 20 10 23 9 111 81 87 105 101 91 99 93 48 78 72 54 58 68 60 66 49 79 73 55 59 69 61 67 24 34 26 32 33 27 35 25 56 64 50 52 74 76 62 70 40 44 28 36 37 29 45 41 43 47 31 39 38 30 46 42 71 63 77 75 53 51 65 57 4 6 0 2 3 1 7 5 88 96 82 84 106 108 94 102 89 97 83 85 107 109 95 103 17 19 13 15 14 12 18 16 +50 53 74 77 40 46 43 45 90 93 101 98 52 51 76 75 44 42 47 41 92 91 99 100 48 55 49 54 0 14 12 2 72 79 73 78 3 13 15 1 88 95 103 96 89 94 102 97 56 64 8 20 11 23 62 70 80 111 28 36 31 39 86 105 104 87 37 29 38 30 110 81 71 63 21 9 22 10 65 57 4 16 58 66 59 67 7 19 24 32 82 109 83 108 27 35 33 25 106 85 107 84 34 26 17 5 69 61 68 60 18 6 +50 75 52 77 28 39 36 31 80 105 86 111 74 51 76 53 37 30 29 38 104 81 110 87 58 67 66 59 4 19 7 16 60 69 68 61 6 17 5 18 88 97 94 103 96 89 102 95 8 20 56 62 64 70 11 23 40 45 90 101 98 93 43 46 44 41 92 99 100 91 47 42 21 9 71 65 63 57 22 10 48 54 0 12 2 14 49 55 82 109 24 27 32 35 83 108 84 107 26 25 34 33 85 106 79 73 13 1 15 3 78 72 +56 63 64 71 40 47 44 43 80 87 104 111 62 57 70 65 45 42 41 46 86 81 110 105 58 61 60 59 0 15 3 12 66 69 68 67 2 13 1 14 82 85 106 109 84 83 108 107 8 20 50 74 52 76 11 23 28 37 90 101 92 99 31 38 36 29 98 93 100 91 39 30 21 9 77 53 75 51 22 10 48 72 4 16 6 18 49 73 88 103 24 33 26 35 89 102 96 95 32 25 34 27 97 94 79 55 17 5 19 7 78 54 +56 65 62 71 28 38 37 31 90 99 92 101 64 57 70 63 36 30 29 39 98 91 100 93 48 73 72 49 4 18 6 16 54 79 78 55 7 17 5 19 82 107 84 109 106 83 108 85 8 20 50 52 74 76 11 23 40 44 80 111 104 87 43 47 45 41 86 105 110 81 46 42 21 9 77 75 53 51 22 10 58 60 0 12 3 15 59 61 88 103 24 26 33 35 89 102 94 97 27 25 34 32 95 96 69 67 13 1 14 2 68 66 +50 53 74 77 40 46 45 43 90 93 98 101 52 51 76 75 44 42 41 47 92 91 100 99 48 55 54 49 0 14 2 12 72 79 78 73 3 13 1 15 88 95 96 103 94 89 102 97 8 20 56 64 62 70 11 23 28 36 80 111 86 105 31 39 37 29 104 87 110 81 38 30 21 9 71 63 65 57 22 10 58 66 4 16 7 19 59 67 82 109 24 32 27 35 83 108 106 85 33 25 34 26 107 84 69 61 17 5 18 6 68 60 +50 75 52 77 80 105 86 111 28 39 36 31 74 51 76 53 104 81 110 87 37 30 29 38 4 19 7 16 58 67 66 59 6 17 5 18 60 69 68 61 88 97 96 89 94 103 102 95 8 11 56 64 62 70 20 23 90 98 40 43 45 46 101 93 92 100 44 47 41 42 99 91 21 22 71 63 65 57 9 10 0 2 48 49 54 55 12 14 82 83 24 32 27 35 109 108 84 85 26 34 25 33 107 106 13 15 79 78 73 72 1 3 +56 63 64 71 80 87 104 111 40 47 44 43 62 57 70 65 86 81 110 105 45 42 41 46 0 15 3 12 58 61 60 59 2 13 1 14 66 69 68 67 82 85 84 83 106 109 108 107 8 11 50 52 74 76 20 23 90 92 28 31 37 38 101 99 98 100 36 39 29 30 93 91 21 22 77 75 53 51 9 10 4 6 48 49 72 73 16 18 88 89 24 26 33 35 103 102 96 97 32 34 25 27 95 94 17 19 79 78 55 54 5 7 +56 65 62 71 90 99 92 101 28 38 37 31 64 57 70 63 98 91 100 93 36 30 29 39 4 18 6 16 48 73 72 49 7 17 5 19 54 79 78 55 82 107 106 83 84 109 108 85 8 11 50 74 52 76 20 23 80 104 40 43 44 47 111 87 86 110 45 46 41 42 105 81 21 22 77 53 75 51 9 10 0 3 58 59 60 61 12 15 88 89 24 33 26 35 103 102 94 95 27 34 25 32 97 96 13 14 69 68 67 66 1 2 +50 53 74 77 90 93 98 101 40 46 45 43 52 51 76 75 92 91 100 99 44 42 41 47 0 14 2 12 48 55 54 49 3 13 1 15 72 79 78 73 88 95 94 89 96 103 102 97 8 11 56 62 64 70 20 23 80 86 28 31 36 39 111 105 104 110 37 38 29 30 87 81 21 22 71 65 63 57 9 10 4 7 58 59 66 67 16 19 82 83 24 27 32 35 109 108 106 107 33 34 25 26 85 84 17 18 69 68 61 60 5 6 +50 75 52 77 28 39 31 36 80 105 111 86 74 51 76 53 37 30 38 29 104 81 87 110 58 67 59 66 4 19 16 7 60 69 61 68 6 17 18 5 88 97 103 94 89 96 102 95 56 62 8 20 11 23 64 70 90 101 40 45 43 46 98 93 92 99 44 41 47 42 100 91 71 65 21 9 22 10 63 57 0 12 48 54 49 55 2 14 24 27 82 109 83 108 32 35 26 25 84 107 85 106 34 33 13 1 79 73 78 72 15 3 +8 9 20 21 28 29 37 36 40 41 44 45 11 10 23 22 31 30 38 39 43 42 47 46 0 1 3 2 4 5 6 7 12 13 15 14 16 17 18 19 24 25 26 27 33 32 35 34 56 62 50 52 74 76 64 70 90 92 80 86 104 110 98 100 101 99 111 105 87 81 93 91 71 65 77 75 53 51 63 57 58 60 48 54 72 78 66 68 88 94 82 84 106 108 96 102 103 97 109 107 85 83 95 89 69 67 79 73 55 49 61 59 +8 22 11 21 90 100 92 98 80 110 104 86 20 10 23 9 101 91 99 93 111 81 87 105 58 68 60 66 48 78 72 54 59 69 61 67 49 79 73 55 24 34 33 27 26 32 35 25 56 62 50 74 52 76 64 70 28 37 40 45 44 41 36 29 31 38 43 46 47 42 39 30 71 65 77 53 75 51 63 57 0 3 4 7 6 5 2 1 88 94 82 106 84 108 96 102 89 95 83 107 85 109 97 103 13 14 17 18 19 16 15 12 +50 53 74 77 90 93 101 98 40 46 43 45 52 51 76 75 92 91 99 100 44 42 47 41 0 14 12 2 48 55 49 54 3 13 15 1 72 79 73 78 88 95 89 94 103 96 102 97 56 62 8 11 20 23 64 70 28 31 80 86 111 105 36 39 37 38 104 110 87 81 29 30 71 65 21 22 9 10 63 57 58 59 4 7 16 19 66 67 24 27 82 83 109 108 32 35 33 34 106 107 85 84 25 26 69 68 17 18 5 6 61 60 +56 63 64 71 40 47 43 44 80 87 111 104 62 57 70 65 45 42 46 41 86 81 105 110 58 61 59 60 0 15 12 3 66 69 67 68 2 13 14 1 82 85 109 106 83 84 108 107 50 74 8 20 11 23 52 76 90 101 28 37 31 38 92 99 98 93 36 29 39 30 100 91 77 53 21 9 22 10 75 51 4 16 48 72 49 73 6 18 24 33 88 103 89 102 26 35 32 25 96 95 97 94 34 27 17 5 79 55 78 54 19 7 +8 9 20 21 40 41 45 44 28 29 36 37 11 10 23 22 43 42 46 47 31 30 39 38 4 5 7 6 0 1 2 3 16 17 19 18 12 13 14 15 24 25 32 33 27 26 35 34 50 74 56 64 62 70 52 76 90 98 80 104 86 110 92 100 101 93 111 87 105 81 99 91 77 53 71 63 65 57 75 51 58 66 48 72 54 78 60 68 82 106 88 96 94 102 84 108 109 85 103 95 97 89 107 83 69 61 79 55 73 49 67 59 +8 22 11 21 90 100 98 92 80 110 86 104 20 10 23 9 101 91 93 99 111 81 105 87 58 68 66 60 48 78 54 72 59 69 67 61 49 79 55 73 24 34 27 33 32 26 35 25 50 74 56 62 64 70 52 76 40 45 28 37 36 29 44 41 43 46 31 38 39 30 47 42 77 53 71 65 63 57 75 51 4 7 0 3 2 1 6 5 82 106 88 94 96 102 84 108 83 107 89 95 97 103 85 109 17 18 13 14 15 12 19 16 +56 65 62 71 90 99 101 92 28 38 31 37 64 57 70 63 98 91 93 100 36 30 39 29 4 18 16 6 48 73 49 72 7 17 19 5 54 79 55 78 82 107 83 106 109 84 108 85 50 74 8 11 20 23 52 76 40 43 80 104 111 87 44 47 45 46 86 110 105 81 41 42 77 53 21 22 9 10 75 51 58 59 0 3 12 15 60 61 24 33 88 89 103 102 26 35 27 34 94 95 97 96 25 32 69 68 13 14 1 2 67 66 +80 87 111 104 56 63 64 71 40 47 43 44 86 81 105 110 62 57 70 65 45 42 46 41 0 15 2 13 82 85 83 84 12 3 14 1 109 106 108 107 58 61 59 60 66 69 67 68 50 52 28 31 36 39 77 75 8 11 90 92 98 100 21 22 20 23 101 99 93 91 9 10 74 76 37 38 29 30 53 51 48 49 24 26 32 34 79 78 4 6 88 89 96 97 17 19 16 18 103 102 95 94 5 7 72 73 33 35 25 27 55 54 +28 29 36 37 8 9 20 21 40 41 45 44 31 30 39 38 11 10 23 22 43 42 46 47 0 1 12 13 24 25 27 26 2 3 14 15 32 33 35 34 4 5 7 6 16 17 19 18 50 52 80 86 111 105 77 75 56 62 90 92 101 99 71 65 64 70 98 100 93 91 63 57 74 76 104 110 87 81 53 51 48 54 82 84 109 107 79 73 58 60 88 94 103 97 69 67 66 68 96 102 95 89 61 59 72 78 106 108 85 83 55 49 +80 110 86 104 8 22 11 21 90 100 98 92 111 81 105 87 20 10 23 9 101 91 93 99 48 78 49 79 24 34 32 26 54 72 55 73 27 33 35 25 58 68 66 60 59 69 67 61 50 52 28 36 31 39 77 75 56 64 40 44 43 47 71 63 62 70 45 41 46 42 65 57 74 76 37 29 38 30 53 51 0 2 82 84 83 85 13 15 4 6 88 96 89 97 17 19 7 5 94 102 95 103 18 16 3 1 106 108 107 109 14 12 +28 38 31 37 56 65 62 71 90 99 101 92 36 30 39 29 64 57 70 63 98 91 93 100 48 73 54 79 82 107 109 84 49 72 55 78 83 106 108 85 4 18 16 6 7 17 19 5 50 52 80 111 86 105 77 75 8 20 40 44 45 41 21 9 11 23 43 47 46 42 22 10 74 76 104 87 110 81 53 51 0 12 24 26 27 25 13 1 58 60 88 103 94 97 69 67 59 61 89 102 95 96 68 66 3 15 33 35 34 32 14 2 +50 76 52 74 56 70 64 62 8 23 11 20 77 51 75 53 71 57 63 65 21 10 22 9 24 35 32 27 82 108 83 109 26 33 34 25 84 106 85 107 88 102 89 103 96 94 97 95 80 111 28 31 36 39 86 105 40 43 90 101 98 93 45 46 44 47 92 99 100 91 41 42 104 87 37 38 29 30 110 81 48 49 0 12 2 14 54 55 4 16 58 59 66 67 7 19 6 18 60 61 68 69 5 17 72 73 3 15 1 13 78 79 +28 29 36 37 40 41 44 45 8 9 21 20 31 30 39 38 43 42 47 46 11 10 22 23 24 25 26 27 0 1 13 12 32 33 34 35 2 3 15 14 4 5 17 16 6 7 19 18 80 111 50 77 52 75 86 105 56 71 90 101 92 99 62 65 64 63 98 93 100 91 70 57 104 87 74 53 76 51 110 81 48 79 82 109 84 107 54 73 88 103 58 69 60 67 94 97 96 95 66 61 68 59 102 89 72 55 106 85 108 83 78 49 +28 38 31 37 56 65 71 62 90 99 92 101 36 30 39 29 64 57 63 70 98 91 100 93 48 73 79 54 82 107 84 109 49 72 78 55 83 106 85 108 4 18 6 16 17 7 19 5 80 111 50 52 77 75 86 105 40 44 8 20 21 9 45 41 43 47 11 23 22 10 46 42 104 87 74 76 53 51 110 81 24 26 0 12 13 1 27 25 88 103 58 60 69 67 94 97 89 102 59 61 68 66 95 96 33 35 3 15 14 2 34 32 +50 53 77 74 40 46 43 45 90 93 98 101 52 51 75 76 44 42 47 41 92 91 100 99 48 55 49 54 0 14 2 12 79 72 78 73 13 3 15 1 88 95 96 103 89 94 97 102 80 111 28 36 31 39 86 105 56 64 8 20 11 23 62 70 71 63 21 9 22 10 65 57 104 87 37 29 38 30 110 81 24 32 82 109 83 108 27 35 4 16 58 66 59 67 7 19 17 5 69 61 68 60 18 6 33 25 106 85 107 84 34 26 +50 76 52 74 8 23 20 11 56 70 62 64 77 51 75 53 21 10 9 22 71 57 65 63 82 108 109 83 24 35 27 32 84 106 107 85 26 33 25 34 88 102 94 96 103 89 97 95 28 36 80 86 111 105 31 39 40 45 90 98 101 93 43 46 44 41 92 100 99 91 47 42 37 29 104 110 87 81 38 30 48 54 0 2 12 14 49 55 58 66 4 7 16 19 59 67 60 68 6 5 18 17 61 69 72 78 3 1 15 13 73 79 +80 87 111 104 40 47 44 43 56 63 71 64 86 81 105 110 45 42 41 46 62 57 65 70 82 85 84 83 0 15 13 2 109 106 107 108 12 3 1 14 58 61 69 66 60 59 67 68 28 36 50 77 52 75 31 39 8 21 90 98 92 100 11 22 20 9 101 93 99 91 23 10 37 29 74 53 76 51 38 30 48 79 24 32 26 34 49 78 88 96 4 17 6 19 89 97 103 95 16 5 18 7 102 94 72 55 33 25 35 27 73 54 +80 110 86 104 8 22 21 11 90 100 92 98 111 81 105 87 20 10 9 23 101 91 99 93 48 78 79 49 24 34 26 32 54 72 73 55 27 33 25 35 58 68 60 66 69 59 67 61 28 36 50 52 77 75 31 39 40 44 56 64 71 63 43 47 45 41 62 70 65 57 46 42 37 29 74 76 53 51 38 30 82 84 0 2 13 15 83 85 88 96 4 6 17 19 89 97 94 102 7 5 18 16 95 103 106 108 3 1 14 12 107 109 +50 53 77 74 40 46 45 43 90 93 101 98 52 51 75 76 44 42 41 47 92 91 99 100 48 55 54 49 0 14 12 2 79 72 73 78 13 3 1 15 88 95 103 96 94 89 97 102 28 36 80 111 86 105 31 39 8 20 56 64 62 70 11 23 21 9 71 63 65 57 22 10 37 29 104 87 110 81 38 30 82 109 24 32 27 35 83 108 58 66 4 16 7 19 59 67 69 61 17 5 18 6 68 60 106 85 33 25 34 26 107 84 +50 76 52 74 8 23 11 20 56 70 64 62 77 51 75 53 21 10 22 9 71 57 63 65 82 108 83 109 24 35 32 27 84 106 85 107 26 33 34 25 88 102 96 94 89 103 97 95 80 86 28 36 31 39 111 105 90 98 40 45 43 46 101 93 92 100 44 41 47 42 99 91 104 110 37 29 38 30 87 81 0 2 48 54 49 55 12 14 4 7 58 66 59 67 16 19 6 5 60 68 61 69 18 17 3 1 72 78 73 79 15 13 +28 29 36 37 8 9 21 20 40 41 44 45 31 30 39 38 11 10 22 23 43 42 47 46 0 1 13 12 24 25 26 27 2 3 15 14 32 33 34 35 4 5 6 7 17 16 19 18 80 86 50 52 77 75 111 105 90 92 56 62 71 65 101 99 98 100 64 70 63 57 93 91 104 110 74 76 53 51 87 81 82 84 48 54 79 73 109 107 88 94 58 60 69 67 103 97 96 102 66 68 61 59 95 89 106 108 72 78 55 49 85 83 +28 38 31 37 90 99 92 101 56 65 71 62 36 30 39 29 98 91 100 93 64 57 63 70 82 107 84 109 48 73 79 54 83 106 85 108 49 72 78 55 4 18 17 7 6 16 19 5 80 86 50 77 52 75 111 105 8 21 40 45 44 41 20 9 11 22 43 46 47 42 23 10 104 110 74 53 76 51 87 81 0 13 24 27 26 25 12 1 88 94 58 69 60 67 103 97 89 95 59 68 61 66 102 96 3 14 33 34 35 32 15 2 +50 53 77 74 90 93 98 101 40 46 43 45 52 51 75 76 92 91 100 99 44 42 47 41 0 14 2 12 48 55 49 54 13 3 15 1 79 72 78 73 88 95 89 94 96 103 97 102 80 86 28 31 36 39 111 105 8 11 56 62 64 70 20 23 21 22 71 65 63 57 9 10 104 110 37 38 29 30 87 81 82 83 24 27 32 35 109 108 4 7 58 59 66 67 16 19 17 18 69 68 61 60 5 6 106 107 33 34 25 26 85 84 +50 76 52 74 56 70 62 64 8 23 20 11 77 51 75 53 71 57 65 63 21 10 9 22 24 35 27 32 82 108 109 83 26 33 25 34 84 106 107 85 88 102 103 89 94 96 97 95 28 31 80 111 86 105 36 39 90 101 40 43 45 46 98 93 92 99 44 47 41 42 100 91 37 38 104 87 110 81 29 30 0 12 48 49 54 55 2 14 58 59 4 16 7 19 66 67 60 61 6 18 5 17 68 69 3 15 72 73 78 79 1 13 +80 87 111 104 56 63 71 64 40 47 44 43 86 81 105 110 62 57 65 70 45 42 41 46 0 15 13 2 82 85 84 83 12 3 1 14 109 106 107 108 58 61 60 59 69 66 67 68 28 31 50 52 77 75 36 39 90 92 8 11 21 22 98 100 101 99 20 23 9 10 93 91 37 38 74 76 53 51 29 30 24 26 48 49 79 78 32 34 88 89 4 6 17 19 96 97 103 102 16 18 5 7 95 94 33 35 72 73 55 54 25 27 +80 110 86 104 90 100 92 98 8 22 21 11 111 81 105 87 101 91 99 93 20 10 9 23 24 34 26 32 48 78 79 49 27 33 25 35 54 72 73 55 58 68 69 59 60 66 67 61 28 31 50 77 52 75 36 39 56 71 40 43 44 47 64 63 62 65 45 46 41 42 70 57 37 38 74 53 76 51 29 30 0 13 82 83 84 85 2 15 88 89 4 17 6 19 96 97 94 95 7 18 5 16 102 103 3 14 106 107 108 109 1 12 +50 53 77 74 90 93 101 98 40 46 45 43 52 51 75 76 92 91 99 100 44 42 41 47 0 14 12 2 48 55 54 49 13 3 1 15 79 72 73 78 88 95 94 89 103 96 97 102 28 31 80 86 111 105 36 39 56 62 8 11 20 23 64 70 71 65 21 22 9 10 63 57 37 38 104 110 87 81 29 30 24 27 82 83 109 108 32 35 58 59 4 7 16 19 66 67 69 68 17 18 5 6 61 60 33 34 106 107 85 84 25 26 +80 87 111 104 40 47 43 44 56 63 64 71 86 81 105 110 45 42 46 41 62 57 70 65 82 85 83 84 0 15 2 13 109 106 108 107 12 3 14 1 58 61 66 69 59 60 67 68 50 77 28 36 31 39 52 75 90 98 8 21 11 22 92 100 101 93 20 9 23 10 99 91 74 53 37 29 38 30 76 51 24 32 48 79 49 78 26 34 4 17 88 96 89 97 6 19 16 5 103 95 102 94 18 7 33 25 72 55 73 54 35 27 +28 29 36 37 40 41 45 44 8 9 20 21 31 30 39 38 43 42 46 47 11 10 23 22 24 25 27 26 0 1 12 13 32 33 35 34 2 3 14 15 4 5 16 17 7 6 19 18 50 77 80 111 86 105 52 75 90 101 56 71 62 65 92 99 98 93 64 63 70 57 100 91 74 53 104 87 110 81 76 51 82 109 48 79 54 73 84 107 58 69 88 103 94 97 60 67 66 61 96 95 102 89 68 59 106 85 72 55 78 49 108 83 +80 110 86 104 90 100 98 92 8 22 11 21 111 81 105 87 101 91 93 99 20 10 23 9 24 34 32 26 48 78 49 79 27 33 35 25 54 72 55 73 58 68 59 69 66 60 67 61 50 77 28 31 36 39 52 75 40 43 56 71 64 63 44 47 45 46 62 65 70 57 41 42 74 53 37 38 29 30 76 51 82 83 0 13 2 15 84 85 4 17 88 89 96 97 6 19 7 18 94 95 102 103 5 16 106 107 3 14 1 12 108 109 +28 38 31 37 90 99 101 92 56 65 62 71 36 30 39 29 98 91 93 100 64 57 70 63 82 107 109 84 48 73 54 79 83 106 108 85 49 72 55 78 4 18 7 17 16 6 19 5 50 77 80 86 111 105 52 75 40 45 8 21 20 9 44 41 43 46 11 22 23 10 47 42 74 53 104 110 87 81 76 51 24 27 0 13 12 1 26 25 58 69 88 94 103 97 60 67 59 68 89 95 102 96 61 66 33 34 3 14 15 2 35 32 +80 105 111 86 50 75 52 77 28 39 31 36 104 81 87 110 74 51 76 53 37 30 38 29 4 19 6 17 88 97 89 96 16 7 18 5 103 94 102 95 58 67 59 66 60 69 61 68 56 64 40 43 44 47 71 63 8 11 90 98 92 100 21 22 20 23 101 93 99 91 9 10 62 70 45 46 41 42 65 57 48 49 24 32 26 34 79 78 0 2 82 83 84 85 13 15 12 14 109 108 107 106 1 3 54 55 27 35 25 33 73 72 +40 41 44 45 8 9 20 21 28 29 37 36 43 42 47 46 11 10 23 22 31 30 38 39 4 5 16 17 24 25 33 32 6 7 18 19 26 27 35 34 0 1 3 2 12 13 15 14 56 64 80 104 111 87 71 63 50 74 90 98 101 93 77 53 52 76 92 100 99 91 75 51 62 70 86 110 105 81 65 57 48 72 88 96 103 95 79 55 58 66 82 106 109 85 69 61 60 68 84 108 107 83 67 59 54 78 94 102 97 89 73 49 +80 110 104 86 8 22 11 21 90 100 92 98 111 81 87 105 20 10 23 9 101 91 99 93 48 78 49 79 24 34 26 32 72 54 73 55 33 27 35 25 58 68 60 66 59 69 61 67 56 64 40 44 43 47 71 63 50 52 28 36 31 39 77 75 74 76 37 29 38 30 53 51 62 70 45 41 46 42 65 57 4 6 88 96 89 97 17 19 0 2 82 84 83 85 13 15 3 1 106 108 107 109 14 12 7 5 94 102 95 103 18 16 +40 46 43 45 50 53 74 77 90 93 101 98 44 42 47 41 52 51 76 75 92 91 99 100 48 55 72 79 88 95 103 96 49 54 73 78 89 94 102 97 0 14 12 2 3 13 15 1 56 64 80 111 104 87 71 63 8 20 28 36 37 29 21 9 11 23 31 39 38 30 22 10 62 70 86 105 110 81 65 57 4 16 24 32 33 25 17 5 58 66 82 109 106 85 69 61 59 67 83 108 107 84 68 60 7 19 27 35 34 26 18 6 +56 70 64 62 50 76 52 74 8 23 11 20 71 57 63 65 77 51 75 53 21 10 22 9 24 35 26 33 88 102 89 103 32 27 34 25 96 94 97 95 82 108 83 109 84 106 85 107 80 111 40 43 44 47 104 87 28 31 90 101 92 99 37 38 36 39 98 93 100 91 29 30 86 105 45 46 41 42 110 81 48 49 4 16 6 18 72 73 0 12 58 59 60 61 3 15 2 14 66 67 68 69 1 13 54 55 7 19 5 17 78 79 +40 41 44 45 28 29 36 37 8 9 21 20 43 42 47 46 31 30 39 38 11 10 22 23 24 25 32 33 4 5 17 16 26 27 34 35 6 7 19 18 0 1 13 12 2 3 15 14 80 111 56 71 64 63 104 87 50 77 90 101 98 93 74 53 52 75 92 99 100 91 76 51 86 105 62 65 70 57 110 81 48 79 88 103 96 95 72 55 82 109 58 69 66 61 106 85 84 107 60 67 68 59 108 83 54 73 94 97 102 89 78 49 +56 65 71 62 28 38 31 37 90 99 92 101 64 57 63 70 36 30 39 29 98 91 100 93 48 73 49 72 4 18 6 16 79 54 78 55 17 7 19 5 82 107 84 109 83 106 85 108 80 111 40 44 43 47 104 87 50 52 8 20 11 23 74 76 77 75 21 9 22 10 53 51 86 105 45 41 46 42 110 81 24 26 88 103 89 102 33 35 0 12 58 60 59 61 3 15 13 1 69 67 68 66 14 2 27 25 94 97 95 96 34 32 +40 46 43 45 50 53 77 74 90 93 98 101 44 42 47 41 52 51 75 76 92 91 100 99 48 55 79 72 88 95 96 103 49 54 78 73 89 94 97 102 0 14 2 12 13 3 15 1 80 111 56 64 71 63 104 87 28 36 8 20 21 9 37 29 31 39 11 23 22 10 38 30 86 105 62 70 65 57 110 81 24 32 4 16 17 5 33 25 82 109 58 66 69 61 106 85 83 108 59 67 68 60 107 84 27 35 7 19 18 6 34 26 +56 70 64 62 8 23 20 11 50 76 74 52 71 57 63 65 21 10 9 22 77 51 53 75 88 102 103 89 24 35 33 26 96 94 95 97 32 27 25 34 82 108 106 84 109 83 85 107 40 44 80 104 111 87 43 47 28 37 90 92 101 99 31 38 36 29 98 100 93 91 39 30 45 41 86 110 105 81 46 42 48 72 4 6 16 18 49 73 58 60 0 3 12 15 59 61 66 68 2 1 14 13 67 69 54 78 7 5 19 17 55 79 +80 105 111 86 28 39 36 31 50 75 77 52 104 81 87 110 37 30 29 38 74 51 53 76 88 97 96 89 4 19 17 6 103 94 95 102 16 7 5 18 58 67 69 60 66 59 61 68 40 44 56 71 64 63 43 47 8 21 90 92 98 100 11 22 20 9 101 99 93 91 23 10 45 41 62 65 70 57 46 42 48 79 24 26 32 34 49 78 82 84 0 13 2 15 83 85 109 107 12 1 14 3 108 106 54 73 27 25 35 33 55 72 +80 110 104 86 8 22 21 11 90 100 98 92 111 81 87 105 20 10 9 23 101 91 93 99 48 78 79 49 24 34 32 26 72 54 55 73 33 27 25 35 58 68 66 60 69 59 61 67 40 44 56 64 71 63 43 47 28 36 50 52 77 75 31 39 37 29 74 76 53 51 38 30 45 41 62 70 65 57 46 42 88 96 4 6 17 19 89 97 82 84 0 2 13 15 83 85 106 108 3 1 14 12 107 109 94 102 7 5 18 16 95 103 +56 65 71 62 28 38 37 31 90 99 101 92 64 57 63 70 36 30 29 39 98 91 93 100 48 73 72 49 4 18 16 6 79 54 55 78 17 7 5 19 82 107 109 84 106 83 85 108 40 44 80 111 104 87 43 47 8 20 50 52 74 76 11 23 21 9 77 75 53 51 22 10 45 41 86 105 110 81 46 42 88 103 24 26 33 35 89 102 58 60 0 12 3 15 59 61 69 67 13 1 14 2 68 66 94 97 27 25 34 32 95 96 +56 70 64 62 8 23 11 20 50 76 52 74 71 57 63 65 21 10 22 9 77 51 75 53 88 102 89 103 24 35 26 33 96 94 97 95 32 27 34 25 82 108 84 106 83 109 85 107 80 104 40 44 43 47 111 87 90 92 28 37 31 38 101 99 98 100 36 29 39 30 93 91 86 110 45 41 46 42 105 81 4 6 48 72 49 73 16 18 0 3 58 60 59 61 12 15 2 1 66 68 67 69 14 13 7 5 54 78 55 79 19 17 +40 41 44 45 8 9 21 20 28 29 36 37 43 42 47 46 11 10 22 23 31 30 39 38 4 5 17 16 24 25 32 33 6 7 19 18 26 27 34 35 0 1 2 3 13 12 15 14 80 104 56 64 71 63 111 87 90 98 50 74 77 53 101 93 92 100 52 76 75 51 99 91 86 110 62 70 65 57 105 81 88 96 48 72 79 55 103 95 82 106 58 66 69 61 109 85 84 108 60 68 67 59 107 83 94 102 54 78 73 49 97 89 +56 65 71 62 90 99 92 101 28 38 31 37 64 57 63 70 98 91 100 93 36 30 39 29 4 18 6 16 48 73 49 72 17 7 19 5 79 54 78 55 82 107 83 106 84 109 85 108 80 104 40 43 44 47 111 87 8 11 50 74 52 76 20 23 21 22 77 53 75 51 9 10 86 110 45 46 41 42 105 81 88 89 24 33 26 35 103 102 0 3 58 59 60 61 12 15 13 14 69 68 67 66 1 2 94 95 27 34 25 32 97 96 +40 46 43 45 90 93 98 101 50 53 77 74 44 42 47 41 92 91 100 99 52 51 75 76 88 95 96 103 48 55 79 72 89 94 97 102 49 54 78 73 0 14 13 3 2 12 15 1 80 104 56 71 64 63 111 87 8 21 28 37 36 29 20 9 11 22 31 38 39 30 23 10 86 110 62 65 70 57 105 81 4 17 24 33 32 25 16 5 82 106 58 69 66 61 109 85 83 107 59 68 67 60 108 84 7 18 27 34 35 26 19 6 +80 105 111 86 28 39 31 36 50 75 52 77 104 81 87 110 37 30 38 29 74 51 76 53 88 97 89 96 4 19 6 17 103 94 102 95 16 7 18 5 58 67 60 69 59 66 61 68 56 71 40 44 43 47 64 63 90 92 8 21 11 22 98 100 101 99 20 9 23 10 93 91 62 65 45 41 46 42 70 57 24 26 48 79 49 78 32 34 0 13 82 84 83 85 2 15 12 1 109 107 108 106 14 3 27 25 54 73 55 72 35 33 +40 41 44 45 28 29 37 36 8 9 20 21 43 42 47 46 31 30 38 39 11 10 23 22 24 25 33 32 4 5 16 17 26 27 35 34 6 7 18 19 0 1 12 13 3 2 15 14 56 71 80 111 104 87 64 63 90 101 50 77 74 53 98 93 92 99 52 75 76 51 100 91 62 65 86 105 110 81 70 57 88 103 48 79 72 55 96 95 58 69 82 109 106 85 66 61 60 67 84 107 108 83 68 59 94 97 54 73 78 49 102 89 +80 110 104 86 90 100 92 98 8 22 11 21 111 81 87 105 101 91 99 93 20 10 23 9 24 34 26 32 48 78 49 79 33 27 35 25 72 54 73 55 58 68 59 69 60 66 61 67 56 71 40 43 44 47 64 63 28 31 50 77 52 75 36 39 37 38 74 53 76 51 29 30 62 65 45 46 41 42 70 57 88 89 4 17 6 19 96 97 0 13 82 83 84 85 2 15 3 14 106 107 108 109 1 12 94 95 7 18 5 16 102 103 +40 46 43 45 90 93 101 98 50 53 74 77 44 42 47 41 92 91 99 100 52 51 76 75 88 95 103 96 48 55 72 79 89 94 102 97 49 54 73 78 0 14 3 13 12 2 15 1 56 71 80 104 111 87 64 63 28 37 8 21 20 9 36 29 31 38 11 22 23 10 39 30 62 65 86 110 105 81 70 57 24 33 4 17 16 5 32 25 58 69 82 106 109 85 66 61 59 68 83 107 108 84 67 60 27 34 7 18 19 6 35 26 +56 70 64 62 50 76 74 52 8 23 20 11 71 57 63 65 77 51 53 75 21 10 9 22 24 35 33 26 88 102 103 89 32 27 25 34 96 94 95 97 82 108 109 83 106 84 85 107 40 43 80 111 104 87 44 47 90 101 28 31 37 38 92 99 98 93 36 39 29 30 100 91 45 46 86 105 110 81 41 42 4 16 48 49 72 73 6 18 58 59 0 12 3 15 60 61 66 67 2 14 1 13 68 69 7 19 54 55 78 79 5 17 +80 105 111 86 50 75 77 52 28 39 36 31 104 81 87 110 74 51 53 76 37 30 29 38 4 19 17 6 88 97 96 89 16 7 5 18 103 94 95 102 58 67 66 59 69 60 61 68 40 43 56 64 71 63 44 47 90 98 8 11 21 22 92 100 101 93 20 23 9 10 99 91 45 46 62 70 65 57 41 42 24 32 48 49 79 78 26 34 82 83 0 2 13 15 84 85 109 108 12 14 1 3 107 106 27 35 54 55 73 72 25 33 +80 110 104 86 90 100 98 92 8 22 21 11 111 81 87 105 101 91 93 99 20 10 9 23 24 34 32 26 48 78 79 49 33 27 25 35 72 54 55 73 58 68 69 59 66 60 61 67 40 43 56 71 64 63 44 47 50 77 28 31 36 39 52 75 74 53 37 38 29 30 76 51 45 46 62 65 70 57 41 42 4 17 88 89 96 97 6 19 82 83 0 13 2 15 84 85 106 107 3 14 1 12 108 109 7 18 94 95 102 103 5 16 +56 65 71 62 90 99 101 92 28 38 37 31 64 57 63 70 98 91 93 100 36 30 29 39 4 18 16 6 48 73 72 49 17 7 5 19 79 54 55 78 82 107 106 83 109 84 85 108 40 43 80 104 111 87 44 47 50 74 8 11 20 23 52 76 77 53 21 22 9 10 75 51 45 46 86 110 105 81 41 42 24 33 88 89 103 102 26 35 58 59 0 3 12 15 60 61 69 68 13 14 1 2 67 66 27 34 94 95 97 96 25 32 +28 39 36 31 50 75 52 77 80 105 86 111 37 30 29 38 74 51 76 53 104 81 110 87 58 67 60 69 88 97 94 103 66 59 68 61 96 89 102 95 4 19 7 16 6 17 5 18 8 20 40 45 44 41 21 9 56 62 90 101 92 99 71 65 64 70 98 93 100 91 63 57 11 23 43 46 47 42 22 10 48 54 82 109 84 107 79 73 0 12 24 27 26 25 13 1 2 14 32 35 34 33 15 3 49 55 83 108 85 106 78 72 +40 47 44 43 56 63 64 71 80 87 104 111 45 42 41 46 62 57 70 65 86 81 110 105 58 61 66 69 82 85 106 109 60 59 68 67 84 83 108 107 0 15 3 12 2 13 1 14 8 20 28 37 36 29 21 9 50 74 90 101 98 93 77 53 52 76 92 99 100 91 75 51 11 23 31 38 39 30 22 10 48 72 88 103 96 95 79 55 4 16 24 33 32 25 17 5 6 18 26 35 34 27 19 7 49 73 89 102 97 94 78 54 +28 38 37 31 56 65 62 71 90 99 92 101 36 30 29 39 64 57 70 63 98 91 100 93 48 73 54 79 82 107 84 109 72 49 78 55 106 83 108 85 4 18 6 16 7 17 5 19 8 20 40 44 45 41 21 9 50 52 80 111 86 105 77 75 74 76 104 87 110 81 53 51 11 23 43 47 46 42 22 10 58 60 88 103 94 97 69 67 0 12 24 26 27 25 13 1 3 15 33 35 34 32 14 2 59 61 89 102 95 96 68 66 +40 46 45 43 50 53 74 77 90 93 98 101 44 42 41 47 52 51 76 75 92 91 100 99 48 55 72 79 88 95 96 103 54 49 78 73 94 89 102 97 0 14 2 12 3 13 1 15 8 20 28 36 37 29 21 9 56 64 80 111 104 87 71 63 62 70 86 105 110 81 65 57 11 23 31 39 38 30 22 10 58 66 82 109 106 85 69 61 4 16 24 32 33 25 17 5 7 19 27 35 34 26 18 6 59 67 83 108 107 84 68 60 +8 23 20 11 50 76 52 74 56 70 62 64 21 10 9 22 77 51 75 53 71 57 65 63 82 108 84 106 88 102 94 96 109 83 107 85 103 89 97 95 24 35 27 32 26 33 25 34 28 36 40 45 44 41 37 29 80 86 90 98 92 100 104 110 111 105 101 93 99 91 87 81 31 39 43 46 47 42 38 30 48 54 58 66 60 68 72 78 0 2 4 7 6 5 3 1 12 14 16 19 18 17 15 13 49 55 59 67 61 69 73 79 +40 47 44 43 80 87 111 104 56 63 71 64 45 42 41 46 86 81 105 110 62 57 65 70 82 85 109 106 58 61 69 66 84 83 107 108 60 59 67 68 0 15 13 2 12 3 1 14 28 36 8 21 20 9 37 29 50 77 90 98 101 93 74 53 52 75 92 100 99 91 76 51 31 39 11 22 23 10 38 30 48 79 88 96 103 95 72 55 24 32 4 17 16 5 33 25 26 34 6 19 18 7 35 27 49 78 89 97 102 94 73 54 +8 22 21 11 80 110 86 104 90 100 92 98 20 10 9 23 111 81 105 87 101 91 99 93 48 78 54 72 58 68 60 66 79 49 73 55 69 59 67 61 24 34 26 32 27 33 25 35 28 36 40 44 45 41 37 29 50 52 56 64 62 70 74 76 77 75 71 63 65 57 53 51 31 39 43 47 46 42 38 30 82 84 88 96 94 102 106 108 0 2 4 6 7 5 3 1 13 15 17 19 18 16 14 12 83 85 89 97 95 103 107 109 +40 46 45 43 50 53 77 74 90 93 101 98 44 42 41 47 52 51 75 76 92 91 99 100 48 55 79 72 88 95 103 96 54 49 73 78 94 89 97 102 0 14 12 2 13 3 1 15 28 36 8 20 21 9 37 29 80 111 56 64 71 63 104 87 86 105 62 70 65 57 110 81 31 39 11 23 22 10 38 30 82 109 58 66 69 61 106 85 24 32 4 16 17 5 33 25 27 35 7 19 18 6 34 26 83 108 59 67 68 60 107 84 +8 23 20 11 56 70 64 62 50 76 74 52 21 10 9 22 71 57 63 65 77 51 53 75 88 102 96 94 82 108 106 84 103 89 95 97 109 83 85 107 24 35 33 26 32 27 25 34 40 44 28 37 36 29 45 41 80 104 90 92 98 100 86 110 111 87 101 99 93 91 105 81 43 47 31 38 39 30 46 42 48 72 58 60 66 68 54 78 4 6 0 3 2 1 7 5 16 18 12 15 14 13 19 17 49 73 59 61 67 69 55 79 +28 39 36 31 80 105 111 86 50 75 77 52 37 30 29 38 104 81 87 110 74 51 53 76 88 97 103 94 58 67 69 60 96 89 95 102 66 59 61 68 4 19 17 6 16 7 5 18 40 44 8 21 20 9 45 41 56 71 90 92 101 99 62 65 64 63 98 100 93 91 70 57 43 47 11 22 23 10 46 42 48 79 82 84 109 107 54 73 24 26 0 13 12 1 27 25 32 34 2 15 14 3 35 33 49 78 83 85 108 106 55 72 +8 22 21 11 80 110 104 86 90 100 98 92 20 10 9 23 111 81 87 105 101 91 93 99 48 78 72 54 58 68 66 60 79 49 55 73 69 59 61 67 24 34 32 26 33 27 25 35 40 44 28 36 37 29 45 41 56 64 50 52 74 76 62 70 71 63 77 75 53 51 65 57 43 47 31 39 38 30 46 42 88 96 82 84 106 108 94 102 4 6 0 2 3 1 7 5 17 19 13 15 14 12 18 16 89 97 83 85 107 109 95 103 +28 38 37 31 56 65 71 62 90 99 101 92 36 30 29 39 64 57 63 70 98 91 93 100 48 73 79 54 82 107 109 84 72 49 55 78 106 83 85 108 4 18 16 6 17 7 5 19 40 44 8 20 21 9 45 41 80 111 50 52 77 75 86 105 104 87 74 76 53 51 110 81 43 47 11 23 22 10 46 42 88 103 58 60 69 67 94 97 24 26 0 12 13 1 27 25 33 35 3 15 14 2 34 32 89 102 59 61 68 66 95 96 +28 39 36 31 80 105 86 111 50 75 52 77 37 30 29 38 104 81 110 87 74 51 76 53 88 97 94 103 58 67 60 69 96 89 102 95 66 59 68 61 4 19 6 17 7 16 5 18 8 21 40 44 45 41 20 9 90 92 56 71 62 65 101 99 98 100 64 63 70 57 93 91 11 22 43 47 46 42 23 10 82 84 48 79 54 73 109 107 0 13 24 26 27 25 12 1 2 15 32 34 35 33 14 3 83 85 49 78 55 72 108 106 +40 47 44 43 80 87 104 111 56 63 64 71 45 42 41 46 86 81 110 105 62 57 70 65 82 85 106 109 58 61 66 69 84 83 108 107 60 59 68 67 0 15 2 13 3 12 1 14 8 21 28 36 37 29 20 9 90 98 50 77 74 53 101 93 92 100 52 75 76 51 99 91 11 22 31 39 38 30 23 10 88 96 48 79 72 55 103 95 4 17 24 32 33 25 16 5 6 19 26 34 35 27 18 7 89 97 49 78 73 54 102 94 +28 38 37 31 90 99 92 101 56 65 62 71 36 30 29 39 98 91 100 93 64 57 70 63 82 107 84 109 48 73 54 79 106 83 108 85 72 49 78 55 4 18 7 17 6 16 5 19 8 21 40 45 44 41 20 9 80 86 50 77 52 75 111 105 104 110 74 53 76 51 87 81 11 22 43 46 47 42 23 10 88 94 58 69 60 67 103 97 0 13 24 27 26 25 12 1 3 14 33 34 35 32 15 2 89 95 59 68 61 66 102 96 +40 46 45 43 90 93 98 101 50 53 74 77 44 42 41 47 92 91 100 99 52 51 76 75 88 95 96 103 48 55 72 79 94 89 102 97 54 49 78 73 0 14 3 13 2 12 1 15 8 21 28 37 36 29 20 9 80 104 56 71 64 63 111 87 86 110 62 65 70 57 105 81 11 22 31 38 39 30 23 10 82 106 58 69 66 61 109 85 4 17 24 33 32 25 16 5 7 18 27 34 35 26 19 6 83 107 59 68 67 60 108 84 +8 23 20 11 56 70 62 64 50 76 52 74 21 10 9 22 71 57 65 63 77 51 75 53 88 102 94 96 82 108 84 106 103 89 97 95 109 83 107 85 24 35 26 33 27 32 25 34 28 37 40 44 45 41 36 29 90 92 80 104 86 110 98 100 101 99 111 87 105 81 93 91 31 38 43 47 46 42 39 30 58 60 48 72 54 78 66 68 0 3 4 6 7 5 2 1 12 15 16 18 19 17 14 13 59 61 49 73 55 79 67 69 +40 47 44 43 56 63 71 64 80 87 111 104 45 42 41 46 62 57 65 70 86 81 105 110 58 61 69 66 82 85 109 106 60 59 67 68 84 83 107 108 0 15 12 3 13 2 1 14 28 37 8 20 21 9 36 29 90 101 50 74 77 53 98 93 92 99 52 76 75 51 100 91 31 38 11 23 22 10 39 30 88 103 48 72 79 55 96 95 24 33 4 16 17 5 32 25 26 35 6 18 19 7 34 27 89 102 49 73 78 54 97 94 +8 22 21 11 90 100 92 98 80 110 86 104 20 10 9 23 101 91 99 93 111 81 105 87 58 68 60 66 48 78 54 72 69 59 67 61 79 49 73 55 24 34 27 33 26 32 25 35 28 37 40 45 44 41 36 29 56 62 50 74 52 76 64 70 71 65 77 53 75 51 63 57 31 38 43 46 47 42 39 30 88 94 82 106 84 108 96 102 0 3 4 7 6 5 2 1 13 14 17 18 19 16 15 12 89 95 83 107 85 109 97 103 +40 46 45 43 90 93 101 98 50 53 77 74 44 42 41 47 92 91 99 100 52 51 75 76 88 95 103 96 48 55 79 72 94 89 97 102 54 49 73 78 0 14 13 3 12 2 1 15 28 37 8 21 20 9 36 29 56 71 80 104 111 87 64 63 62 65 86 110 105 81 70 57 31 38 11 22 23 10 39 30 58 69 82 106 109 85 66 61 24 33 4 17 16 5 32 25 27 34 7 18 19 6 35 26 59 68 83 107 108 84 67 60 +8 23 20 11 50 76 74 52 56 70 64 62 21 10 9 22 77 51 53 75 71 57 63 65 82 108 106 84 88 102 96 94 109 83 85 107 103 89 95 97 24 35 32 27 33 26 25 34 40 45 28 36 37 29 44 41 90 98 80 86 104 110 92 100 101 93 111 105 87 81 99 91 43 46 31 39 38 30 47 42 58 66 48 54 72 78 60 68 4 7 0 2 3 1 6 5 16 19 12 14 15 13 18 17 59 67 49 55 73 79 61 69 +28 39 36 31 50 75 77 52 80 105 111 86 37 30 29 38 74 51 53 76 104 81 87 110 58 67 69 60 88 97 103 94 66 59 61 68 96 89 95 102 4 19 16 7 17 6 5 18 40 45 8 20 21 9 44 41 90 101 56 62 71 65 92 99 98 93 64 70 63 57 100 91 43 46 11 23 22 10 47 42 82 109 48 54 79 73 84 107 24 27 0 12 13 1 26 25 32 35 2 14 15 3 34 33 83 108 49 55 78 72 85 106 +8 22 21 11 90 100 98 92 80 110 104 86 20 10 9 23 101 91 93 99 111 81 87 105 58 68 66 60 48 78 72 54 69 59 61 67 79 49 55 73 24 34 33 27 32 26 25 35 40 45 28 37 36 29 44 41 50 74 56 62 64 70 52 76 77 53 71 65 63 57 75 51 43 46 31 38 39 30 47 42 82 106 88 94 96 102 84 108 4 7 0 3 2 1 6 5 17 18 13 14 15 12 19 16 83 107 89 95 97 103 85 109 +28 38 37 31 90 99 101 92 56 65 71 62 36 30 29 39 98 91 93 100 64 57 63 70 82 107 109 84 48 73 79 54 106 83 85 108 72 49 55 78 4 18 17 7 16 6 5 19 40 45 8 21 20 9 44 41 50 77 80 86 111 105 52 75 74 53 104 110 87 81 76 51 43 46 11 22 23 10 47 42 58 69 88 94 103 97 60 67 24 27 0 13 12 1 26 25 33 34 3 14 15 2 35 32 59 68 89 95 102 96 61 66 +80 105 86 111 50 75 52 77 28 39 36 31 104 81 110 87 74 51 76 53 37 30 29 38 4 19 6 17 88 97 96 89 7 16 5 18 94 103 102 95 58 67 66 59 60 69 68 61 8 11 90 98 92 100 21 22 56 64 40 43 44 47 71 63 62 70 45 46 41 42 65 57 20 23 101 93 99 91 9 10 0 2 82 83 84 85 13 15 48 49 24 32 26 34 79 78 54 55 27 35 25 33 73 72 12 14 109 108 107 106 1 3 +80 87 104 111 56 63 64 71 40 47 44 43 86 81 110 105 62 57 70 65 45 42 41 46 0 15 2 13 82 85 84 83 3 12 1 14 106 109 108 107 58 61 60 59 66 69 68 67 8 11 90 92 98 100 21 22 50 52 28 31 36 39 77 75 74 76 37 38 29 30 53 51 20 23 101 99 93 91 9 10 4 6 88 89 96 97 17 19 48 49 24 26 32 34 79 78 72 73 33 35 25 27 55 54 16 18 103 102 95 94 5 7 +90 99 92 101 56 65 62 71 28 38 37 31 98 91 100 93 64 57 70 63 36 30 29 39 4 18 7 17 82 107 106 83 6 16 5 19 84 109 108 85 48 73 72 49 54 79 78 55 8 11 80 104 86 110 21 22 50 74 40 43 45 46 77 53 52 76 44 47 41 42 75 51 20 23 111 87 105 81 9 10 0 3 88 89 94 95 13 14 58 59 24 33 27 34 69 68 60 61 26 35 25 32 67 66 12 15 103 102 97 96 1 2 +90 93 98 101 50 53 74 77 40 46 45 43 92 91 100 99 52 51 76 75 44 42 41 47 0 14 3 13 88 95 94 89 2 12 1 15 96 103 102 97 48 55 54 49 72 79 78 73 8 11 80 86 104 110 21 22 56 62 28 31 37 38 71 65 64 70 36 39 29 30 63 57 20 23 111 105 87 81 9 10 4 7 82 83 106 107 17 18 58 59 24 27 33 34 69 68 66 67 32 35 25 26 61 60 16 19 109 108 85 84 5 6 +8 23 11 20 50 76 52 74 56 70 64 62 21 10 22 9 77 51 75 53 71 57 63 65 82 108 84 106 88 102 96 94 83 109 85 107 89 103 97 95 24 35 32 27 26 33 34 25 80 86 90 98 92 100 104 110 28 36 40 45 44 41 37 29 31 39 43 46 47 42 38 30 111 105 101 93 99 91 87 81 0 2 4 7 6 5 3 1 48 54 58 66 60 68 72 78 49 55 59 67 61 69 73 79 12 14 16 19 18 17 15 13 +8 9 21 20 28 29 36 37 40 41 44 45 11 10 22 23 31 30 39 38 43 42 47 46 0 1 2 3 4 5 6 7 13 12 15 14 17 16 19 18 24 25 26 27 32 33 34 35 80 86 90 92 98 100 104 110 50 52 56 62 64 70 74 76 77 75 71 65 63 57 53 51 111 105 101 99 93 91 87 81 82 84 88 94 96 102 106 108 48 54 58 60 66 68 72 78 79 73 69 67 61 59 55 49 109 107 103 97 95 89 85 83 +90 99 92 101 28 38 31 37 56 65 71 62 98 91 100 93 36 30 39 29 64 57 63 70 82 107 83 106 4 18 17 7 84 109 85 108 6 16 19 5 48 73 79 54 49 72 78 55 80 86 8 21 11 22 104 110 50 77 40 45 43 46 74 53 52 75 44 41 47 42 76 51 111 105 20 9 23 10 87 81 0 13 88 94 89 95 3 14 24 27 58 69 59 68 33 34 26 25 60 67 61 66 35 32 12 1 103 97 102 96 15 2 +90 93 98 101 50 53 77 74 40 46 43 45 92 91 100 99 52 51 75 76 44 42 47 41 0 14 13 3 88 95 89 94 2 12 15 1 96 103 97 102 48 55 49 54 79 72 78 73 80 86 8 11 21 22 104 110 28 31 56 62 71 65 37 38 36 39 64 70 63 57 29 30 111 105 20 23 9 10 87 81 82 83 4 7 17 18 106 107 24 27 58 59 69 68 33 34 32 35 66 67 61 60 25 26 109 108 16 19 5 6 85 84 +8 23 11 20 56 70 64 62 50 76 52 74 21 10 22 9 71 57 63 65 77 51 75 53 88 102 96 94 82 108 84 106 89 103 97 95 83 109 85 107 24 35 26 33 32 27 34 25 80 104 90 92 98 100 86 110 40 44 28 37 36 29 45 41 43 47 31 38 39 30 46 42 111 87 101 99 93 91 105 81 4 6 0 3 2 1 7 5 48 72 58 60 66 68 54 78 49 73 59 61 67 69 55 79 16 18 12 15 14 13 19 17 +8 9 21 20 40 41 44 45 28 29 36 37 11 10 22 23 43 42 47 46 31 30 39 38 4 5 6 7 0 1 2 3 17 16 19 18 13 12 15 14 24 25 32 33 26 27 34 35 80 104 90 98 92 100 86 110 56 64 50 74 52 76 62 70 71 63 77 53 75 51 65 57 111 87 101 93 99 91 105 81 88 96 82 106 84 108 94 102 48 72 58 66 60 68 54 78 79 55 69 61 67 59 73 49 103 95 109 85 107 83 97 89 +90 99 92 101 56 65 71 62 28 38 31 37 98 91 100 93 64 57 63 70 36 30 39 29 4 18 17 7 82 107 83 106 6 16 19 5 84 109 85 108 48 73 49 72 79 54 78 55 80 104 8 11 21 22 86 110 40 43 50 74 77 53 45 46 44 47 52 76 75 51 41 42 111 87 20 23 9 10 105 81 88 89 0 3 13 14 94 95 24 33 58 59 69 68 27 34 26 35 60 61 67 66 25 32 103 102 12 15 1 2 97 96 +90 93 98 101 40 46 43 45 50 53 77 74 92 91 100 99 44 42 47 41 52 51 75 76 88 95 89 94 0 14 13 3 96 103 97 102 2 12 15 1 48 55 79 72 49 54 78 73 80 104 8 21 11 22 86 110 56 71 28 37 31 38 62 65 64 63 36 29 39 30 70 57 111 87 20 9 23 10 105 81 4 17 82 106 83 107 7 18 24 33 58 69 59 68 27 34 32 25 66 61 67 60 35 26 16 5 109 85 108 84 19 6 +80 105 86 111 28 39 36 31 50 75 52 77 104 81 110 87 37 30 29 38 74 51 76 53 88 97 96 89 4 19 6 17 94 103 102 95 7 16 5 18 58 67 60 69 66 59 68 61 8 21 90 92 98 100 11 22 40 44 56 71 64 63 43 47 45 41 62 65 70 57 46 42 20 9 101 99 93 91 23 10 82 84 0 13 2 15 83 85 48 79 24 26 32 34 49 78 54 73 27 25 35 33 55 72 109 107 12 1 14 3 108 106 +80 87 104 111 40 47 44 43 56 63 64 71 86 81 110 105 45 42 41 46 62 57 70 65 82 85 84 83 0 15 2 13 106 109 108 107 3 12 1 14 58 61 66 69 60 59 68 67 8 21 90 98 92 100 11 22 28 36 50 77 52 75 31 39 37 29 74 53 76 51 38 30 20 9 101 93 99 91 23 10 88 96 4 17 6 19 89 97 48 79 24 32 26 34 49 78 72 55 33 25 35 27 73 54 103 95 16 5 18 7 102 94 +90 99 92 101 28 38 37 31 56 65 62 71 98 91 100 93 36 30 29 39 64 57 70 63 82 107 106 83 4 18 7 17 84 109 108 85 6 16 5 19 48 73 54 79 72 49 78 55 8 21 80 86 104 110 11 22 40 45 50 77 74 53 43 46 44 41 52 75 76 51 47 42 20 9 111 105 87 81 23 10 88 94 0 13 3 14 89 95 58 69 24 27 33 34 59 68 60 67 26 25 35 32 61 66 103 97 12 1 15 2 102 96 +90 93 98 101 40 46 45 43 50 53 74 77 92 91 100 99 44 42 41 47 52 51 76 75 88 95 94 89 0 14 3 13 96 103 102 97 2 12 1 15 48 55 72 79 54 49 78 73 8 21 80 104 86 110 11 22 28 37 56 71 62 65 31 38 36 29 64 63 70 57 39 30 20 9 111 87 105 81 23 10 82 106 4 17 7 18 83 107 58 69 24 33 27 34 59 68 66 61 32 25 35 26 67 60 109 85 16 5 19 6 108 84 +8 23 11 20 56 70 62 64 50 76 74 52 21 10 22 9 71 57 65 63 77 51 53 75 88 102 94 96 82 108 106 84 89 103 95 97 83 109 107 85 24 35 33 26 27 32 34 25 90 92 80 104 86 110 98 100 28 37 40 44 45 41 36 29 31 38 43 47 46 42 39 30 101 99 111 87 105 81 93 91 0 3 4 6 7 5 2 1 58 60 48 72 54 78 66 68 59 61 49 73 55 79 67 69 12 15 16 18 19 17 14 13 +80 105 86 111 28 39 31 36 50 75 77 52 104 81 110 87 37 30 38 29 74 51 53 76 88 97 89 96 4 19 17 6 94 103 95 102 7 16 18 5 58 67 69 60 59 66 68 61 90 92 8 21 11 22 98 100 56 71 40 44 43 47 64 63 62 65 45 41 46 42 70 57 101 99 20 9 23 10 93 91 0 13 82 84 83 85 2 15 24 26 48 79 49 78 32 34 27 25 54 73 55 72 35 33 12 1 109 107 108 106 14 3 +80 87 104 111 56 63 71 64 40 47 43 44 86 81 110 105 62 57 65 70 45 42 46 41 0 15 13 2 82 85 83 84 3 12 14 1 106 109 107 108 58 61 59 60 69 66 68 67 90 92 8 11 21 22 98 100 28 31 50 52 77 75 36 39 37 38 74 76 53 51 29 30 101 99 20 23 9 10 93 91 88 89 4 6 17 19 96 97 24 26 48 49 79 78 32 34 33 35 72 73 55 54 25 27 103 102 16 18 5 7 95 94 +8 9 21 20 28 29 37 36 40 41 45 44 11 10 22 23 31 30 38 39 43 42 46 47 0 1 3 2 4 5 7 6 13 12 14 15 17 16 18 19 24 25 27 26 33 32 34 35 90 92 80 86 104 110 98 100 56 62 50 52 74 76 64 70 71 65 77 75 53 51 63 57 101 99 111 105 87 81 93 91 88 94 82 84 106 108 96 102 58 60 48 54 72 78 66 68 69 67 79 73 55 49 61 59 103 97 109 107 85 83 95 89 +8 23 11 20 50 76 74 52 56 70 62 64 21 10 22 9 77 51 53 75 71 57 65 63 82 108 106 84 88 102 94 96 83 109 107 85 89 103 95 97 24 35 27 32 33 26 34 25 90 98 80 86 104 110 92 100 40 45 28 36 37 29 44 41 43 46 31 39 38 30 47 42 101 93 111 105 87 81 99 91 4 7 0 2 3 1 6 5 58 66 48 54 72 78 60 68 59 67 49 55 73 79 61 69 16 19 12 14 15 13 18 17 +80 105 86 111 50 75 77 52 28 39 31 36 104 81 110 87 74 51 53 76 37 30 38 29 4 19 17 6 88 97 89 96 7 16 18 5 94 103 95 102 58 67 59 66 69 60 68 61 90 98 8 11 21 22 92 100 40 43 56 64 71 63 44 47 45 46 62 70 65 57 41 42 101 93 20 23 9 10 99 91 82 83 0 2 13 15 84 85 24 32 48 49 79 78 26 34 27 35 54 55 73 72 25 33 109 108 12 14 1 3 107 106 +80 87 104 111 40 47 43 44 56 63 71 64 86 81 110 105 45 42 46 41 62 57 65 70 82 85 83 84 0 15 13 2 106 109 107 108 3 12 14 1 58 61 69 66 59 60 68 67 90 98 8 21 11 22 92 100 50 77 28 36 31 39 52 75 74 53 37 29 38 30 76 51 101 93 20 9 23 10 99 91 4 17 88 96 89 97 6 19 24 32 48 79 49 78 26 34 33 25 72 55 73 54 35 27 16 5 103 95 102 94 18 7 +8 9 21 20 40 41 45 44 28 29 37 36 11 10 22 23 43 42 46 47 31 30 38 39 4 5 7 6 0 1 3 2 17 16 18 19 13 12 14 15 24 25 33 32 27 26 34 35 90 98 80 104 86 110 92 100 50 74 56 64 62 70 52 76 77 53 71 63 65 57 75 51 101 93 111 87 105 81 99 91 82 106 88 96 94 102 84 108 58 66 48 72 54 78 60 68 69 61 79 55 73 49 67 59 109 85 103 95 97 89 107 83 +28 39 31 36 50 75 52 77 80 105 111 86 37 30 38 29 74 51 76 53 104 81 87 110 58 67 60 69 88 97 103 94 59 66 61 68 89 96 102 95 4 19 16 7 6 17 18 5 56 62 90 101 92 99 71 65 8 20 40 45 44 41 21 9 11 23 43 46 47 42 22 10 64 70 98 93 100 91 63 57 0 12 24 27 26 25 13 1 48 54 82 109 84 107 79 73 49 55 83 108 85 106 78 72 2 14 32 35 34 33 15 3 +28 29 37 36 8 9 20 21 40 41 44 45 31 30 38 39 11 10 23 22 43 42 47 46 0 1 12 13 24 25 26 27 3 2 15 14 33 32 35 34 4 5 6 7 16 17 18 19 56 62 90 92 101 99 71 65 50 52 80 86 111 105 77 75 74 76 104 110 87 81 53 51 64 70 98 100 93 91 63 57 58 60 88 94 103 97 69 67 48 54 82 84 109 107 79 73 72 78 106 108 85 83 55 49 66 68 96 102 95 89 61 59 +90 100 92 98 8 22 11 21 80 110 104 86 101 91 99 93 20 10 23 9 111 81 87 105 58 68 59 69 24 34 33 27 60 66 61 67 26 32 35 25 48 78 72 54 49 79 73 55 56 62 28 37 31 38 71 65 50 74 40 45 43 46 77 53 52 76 44 41 47 42 75 51 64 70 36 29 39 30 63 57 0 3 88 94 89 95 13 14 4 7 82 106 83 107 17 18 6 5 84 108 85 109 19 16 2 1 96 102 97 103 15 12 +90 93 101 98 50 53 74 77 40 46 43 45 92 91 99 100 52 51 76 75 44 42 47 41 0 14 3 13 88 95 89 94 12 2 15 1 103 96 102 97 48 55 49 54 72 79 73 78 56 62 28 31 37 38 71 65 8 11 80 86 104 110 21 22 20 23 111 105 87 81 9 10 64 70 36 39 29 30 63 57 58 59 24 27 33 34 69 68 4 7 82 83 106 107 17 18 16 19 109 108 85 84 5 6 66 67 32 35 25 26 61 60 +56 70 62 64 50 76 52 74 8 23 20 11 71 57 65 63 77 51 75 53 21 10 9 22 24 35 26 33 88 102 103 89 27 32 25 34 94 96 97 95 82 108 109 83 84 106 107 85 28 31 90 101 92 99 37 38 80 111 40 43 44 47 104 87 86 105 45 46 41 42 110 81 36 39 98 93 100 91 29 30 0 12 58 59 60 61 3 15 48 49 4 16 6 18 72 73 54 55 7 19 5 17 78 79 2 14 66 67 68 69 1 13 +56 63 71 64 80 87 111 104 40 47 44 43 62 57 65 70 86 81 105 110 45 42 41 46 0 15 12 3 58 61 60 59 13 2 1 14 69 66 67 68 82 85 84 83 109 106 107 108 28 31 90 92 101 99 37 38 50 52 8 11 20 23 74 76 77 75 21 22 9 10 53 51 36 39 98 100 93 91 29 30 24 26 88 89 103 102 33 35 48 49 4 6 16 18 72 73 79 78 17 19 5 7 55 54 32 34 96 97 95 94 25 27 +90 100 92 98 80 110 86 104 8 22 21 11 101 91 99 93 111 81 105 87 20 10 9 23 24 34 27 33 58 68 69 59 26 32 25 35 60 66 67 61 48 78 79 49 54 72 73 55 28 31 56 71 62 65 37 38 50 77 40 43 45 46 74 53 52 75 44 47 41 42 76 51 36 39 64 63 70 57 29 30 0 13 88 89 94 95 3 14 82 83 4 17 7 18 106 107 84 85 6 19 5 16 108 109 2 15 96 97 102 103 1 12 +90 93 101 98 50 53 77 74 40 46 45 43 92 91 99 100 52 51 75 76 44 42 41 47 0 14 13 3 88 95 94 89 12 2 1 15 103 96 97 102 48 55 54 49 79 72 73 78 28 31 56 62 71 65 37 38 80 86 8 11 21 22 104 110 111 105 20 23 9 10 87 81 36 39 64 70 63 57 29 30 24 27 58 59 69 68 33 34 82 83 4 7 17 18 106 107 109 108 16 19 5 6 85 84 32 35 66 67 61 60 25 26 +28 39 31 36 80 105 111 86 50 75 52 77 37 30 38 29 104 81 87 110 74 51 76 53 88 97 103 94 58 67 60 69 89 96 102 95 59 66 61 68 4 19 6 17 16 7 18 5 56 71 90 92 101 99 62 65 40 44 8 21 20 9 45 41 43 47 11 22 23 10 46 42 64 63 98 100 93 91 70 57 24 26 0 13 12 1 27 25 48 79 82 84 109 107 54 73 49 78 83 85 108 106 55 72 32 34 2 15 14 3 35 33 +28 29 37 36 40 41 44 45 8 9 20 21 31 30 38 39 43 42 47 46 11 10 23 22 24 25 26 27 0 1 12 13 33 32 35 34 3 2 15 14 4 5 16 17 6 7 18 19 56 71 90 101 92 99 62 65 80 111 50 77 52 75 86 105 104 87 74 53 76 51 110 81 64 63 98 93 100 91 70 57 88 103 58 69 60 67 94 97 48 79 82 109 84 107 54 73 72 55 106 85 108 83 78 49 96 95 66 61 68 59 102 89 +90 100 92 98 80 110 104 86 8 22 11 21 101 91 99 93 111 81 87 105 20 10 23 9 24 34 33 27 58 68 59 69 26 32 35 25 60 66 61 67 48 78 49 79 72 54 73 55 56 71 28 31 37 38 62 65 40 43 50 77 74 53 45 46 44 47 52 75 76 51 41 42 64 63 36 39 29 30 70 57 88 89 0 13 3 14 94 95 4 17 82 83 106 107 7 18 6 19 84 85 108 109 5 16 96 97 2 15 1 12 102 103 +90 93 101 98 40 46 43 45 50 53 74 77 92 91 99 100 44 42 47 41 52 51 76 75 88 95 89 94 0 14 3 13 103 96 102 97 12 2 15 1 48 55 72 79 49 54 73 78 56 71 28 37 31 38 62 65 80 104 8 21 11 22 86 110 111 87 20 9 23 10 105 81 64 63 36 29 39 30 70 57 24 33 58 69 59 68 27 34 4 17 82 106 83 107 7 18 16 5 109 85 108 84 19 6 32 25 66 61 67 60 35 26 +56 70 62 64 8 23 20 11 50 76 52 74 71 57 65 63 21 10 9 22 77 51 75 53 88 102 103 89 24 35 26 33 94 96 97 95 27 32 25 34 82 108 84 106 109 83 107 85 28 37 90 92 101 99 31 38 40 44 80 104 111 87 43 47 45 41 86 110 105 81 46 42 36 29 98 100 93 91 39 30 58 60 0 3 12 15 59 61 48 72 4 6 16 18 49 73 54 78 7 5 19 17 55 79 66 68 2 1 14 13 67 69 +56 63 71 64 40 47 44 43 80 87 111 104 62 57 65 70 45 42 41 46 86 81 105 110 58 61 60 59 0 15 12 3 69 66 67 68 13 2 1 14 82 85 109 106 84 83 107 108 28 37 90 101 92 99 31 38 8 20 50 74 52 76 11 23 21 9 77 53 75 51 22 10 36 29 98 93 100 91 39 30 88 103 24 33 26 35 89 102 48 72 4 16 6 18 49 73 79 55 17 5 19 7 78 54 96 95 32 25 34 27 97 94 +90 100 92 98 8 22 21 11 80 110 86 104 101 91 99 93 20 10 9 23 111 81 105 87 58 68 69 59 24 34 27 33 60 66 67 61 26 32 25 35 48 78 54 72 79 49 73 55 28 37 56 62 71 65 31 38 40 45 50 74 77 53 43 46 44 41 52 76 75 51 47 42 36 29 64 70 63 57 39 30 88 94 0 3 13 14 89 95 82 106 4 7 17 18 83 107 84 108 6 5 19 16 85 109 96 102 2 1 15 12 97 103 +90 93 101 98 40 46 45 43 50 53 77 74 92 91 99 100 44 42 41 47 52 51 75 76 88 95 94 89 0 14 13 3 103 96 97 102 12 2 1 15 48 55 79 72 54 49 73 78 28 37 56 71 62 65 31 38 8 21 80 104 86 110 11 22 20 9 111 87 105 81 23 10 36 29 64 63 70 57 39 30 58 69 24 33 27 34 59 68 82 106 4 17 7 18 83 107 109 85 16 5 19 6 108 84 66 61 32 25 35 26 67 60 +56 70 62 64 8 23 11 20 50 76 74 52 71 57 65 63 21 10 22 9 77 51 53 75 88 102 89 103 24 35 33 26 94 96 95 97 27 32 34 25 82 108 106 84 83 109 107 85 90 92 28 37 31 38 101 99 80 104 40 44 43 47 111 87 86 110 45 41 46 42 105 81 98 100 36 29 39 30 93 91 0 3 58 60 59 61 12 15 4 6 48 72 49 73 16 18 7 5 54 78 55 79 19 17 2 1 66 68 67 69 14 13 +28 39 31 36 80 105 86 111 50 75 77 52 37 30 38 29 104 81 110 87 74 51 53 76 88 97 94 103 58 67 69 60 89 96 95 102 59 66 68 61 4 19 17 6 7 16 18 5 90 92 56 71 62 65 101 99 8 21 40 44 45 41 20 9 11 22 43 47 46 42 23 10 98 100 64 63 70 57 93 91 0 13 24 26 27 25 12 1 82 84 48 79 54 73 109 107 83 85 49 78 55 72 108 106 2 15 32 34 35 33 14 3 +56 63 71 64 80 87 104 111 40 47 43 44 62 57 65 70 86 81 110 105 45 42 46 41 0 15 3 12 58 61 59 60 13 2 14 1 69 66 68 67 82 85 83 84 106 109 107 108 90 92 28 31 37 38 101 99 8 11 50 52 74 76 20 23 21 22 77 75 53 51 9 10 98 100 36 39 29 30 93 91 88 89 24 26 33 35 103 102 4 6 48 49 72 73 16 18 17 19 79 78 55 54 5 7 96 97 32 34 25 27 95 94 +28 29 37 36 8 9 21 20 40 41 45 44 31 30 38 39 11 10 22 23 43 42 46 47 0 1 13 12 24 25 27 26 3 2 14 15 33 32 34 35 4 5 7 6 17 16 18 19 90 92 56 62 71 65 101 99 80 86 50 52 77 75 111 105 104 110 74 76 53 51 87 81 98 100 64 70 63 57 93 91 88 94 58 60 69 67 103 97 82 84 48 54 79 73 109 107 106 108 72 78 55 49 85 83 96 102 66 68 61 59 95 89 +56 70 62 64 50 76 74 52 8 23 11 20 71 57 65 63 77 51 53 75 21 10 22 9 24 35 33 26 88 102 89 103 27 32 34 25 94 96 95 97 82 108 83 109 106 84 107 85 90 101 28 31 37 38 92 99 40 43 80 111 104 87 44 47 45 46 86 105 110 81 41 42 98 93 36 39 29 30 100 91 58 59 0 12 3 15 60 61 4 16 48 49 72 73 6 18 7 19 54 55 78 79 5 17 66 67 2 14 1 13 68 69 +28 39 31 36 50 75 77 52 80 105 86 111 37 30 38 29 74 51 53 76 104 81 110 87 58 67 69 60 88 97 94 103 59 66 68 61 89 96 95 102 4 19 7 16 17 6 18 5 90 101 56 62 71 65 92 99 40 45 8 20 21 9 44 41 43 46 11 23 22 10 47 42 98 93 64 70 63 57 100 91 24 27 0 12 13 1 26 25 82 109 48 54 79 73 84 107 83 108 49 55 78 72 85 106 32 35 2 14 15 3 34 33 +56 63 71 64 40 47 43 44 80 87 104 111 62 57 65 70 45 42 46 41 86 81 110 105 58 61 59 60 0 15 3 12 69 66 68 67 13 2 14 1 82 85 106 109 83 84 107 108 90 101 28 37 31 38 92 99 50 74 8 20 11 23 52 76 77 53 21 9 22 10 75 51 98 93 36 29 39 30 100 91 24 33 88 103 89 102 26 35 4 16 48 72 49 73 6 18 17 5 79 55 78 54 19 7 32 25 96 95 97 94 34 27 +28 29 37 36 40 41 45 44 8 9 21 20 31 30 38 39 43 42 46 47 11 10 22 23 24 25 27 26 0 1 13 12 33 32 34 35 3 2 14 15 4 5 17 16 7 6 18 19 90 101 56 71 62 65 92 99 50 77 80 111 86 105 52 75 74 53 104 87 110 81 76 51 98 93 64 63 70 57 100 91 58 69 88 103 94 97 60 67 82 109 48 79 54 73 84 107 106 85 72 55 78 49 108 83 66 61 96 95 102 89 68 59 +40 47 43 44 56 63 64 71 80 87 111 104 45 42 46 41 62 57 70 65 86 81 105 110 58 61 66 69 82 85 109 106 59 60 67 68 83 84 108 107 0 15 12 3 2 13 14 1 50 74 90 101 98 93 77 53 8 20 28 37 36 29 21 9 11 23 31 38 39 30 22 10 52 76 92 99 100 91 75 51 4 16 24 33 32 25 17 5 48 72 88 103 96 95 79 55 49 73 89 102 97 94 78 54 6 18 26 35 34 27 19 7 +40 41 45 44 8 9 20 21 28 29 36 37 43 42 46 47 11 10 23 22 31 30 39 38 4 5 16 17 24 25 32 33 7 6 19 18 27 26 35 34 0 1 2 3 12 13 14 15 50 74 90 98 101 93 77 53 56 64 80 104 111 87 71 63 62 70 86 110 105 81 65 57 52 76 92 100 99 91 75 51 58 66 82 106 109 85 69 61 48 72 88 96 103 95 79 55 54 78 94 102 97 89 73 49 60 68 84 108 107 83 67 59 +90 100 98 92 8 22 11 21 80 110 86 104 101 91 93 99 20 10 23 9 111 81 105 87 58 68 59 69 24 34 27 33 66 60 67 61 32 26 35 25 48 78 54 72 49 79 55 73 50 74 40 45 43 46 77 53 56 62 28 37 31 38 71 65 64 70 36 29 39 30 63 57 52 76 44 41 47 42 75 51 4 7 82 106 83 107 17 18 0 3 88 94 89 95 13 14 2 1 96 102 97 103 15 12 6 5 84 108 85 109 19 16 +90 99 101 92 56 65 62 71 28 38 31 37 98 91 93 100 64 57 70 63 36 30 39 29 4 18 7 17 82 107 83 106 16 6 19 5 109 84 108 85 48 73 49 72 54 79 55 78 50 74 40 43 45 46 77 53 8 11 80 104 86 110 21 22 20 23 111 87 105 81 9 10 52 76 44 47 41 42 75 51 58 59 24 33 27 34 69 68 0 3 88 89 94 95 13 14 12 15 103 102 97 96 1 2 60 61 26 35 25 32 67 66 +40 47 43 44 80 87 111 104 56 63 64 71 45 42 46 41 86 81 105 110 62 57 70 65 82 85 109 106 58 61 66 69 83 84 108 107 59 60 67 68 0 15 2 13 12 3 14 1 50 77 90 98 101 93 74 53 28 36 8 21 20 9 37 29 31 39 11 22 23 10 38 30 52 75 92 100 99 91 76 51 24 32 4 17 16 5 33 25 48 79 88 96 103 95 72 55 49 78 89 97 102 94 73 54 26 34 6 19 18 7 35 27 +40 41 45 44 28 29 36 37 8 9 20 21 43 42 46 47 31 30 39 38 11 10 23 22 24 25 32 33 4 5 16 17 27 26 35 34 7 6 19 18 0 1 12 13 2 3 14 15 50 77 90 101 98 93 74 53 80 111 56 71 64 63 104 87 86 105 62 65 70 57 110 81 52 75 92 99 100 91 76 51 82 109 58 69 66 61 106 85 48 79 88 103 96 95 72 55 54 73 94 97 102 89 78 49 84 107 60 67 68 59 108 83 +90 100 98 92 80 110 86 104 8 22 11 21 101 91 93 99 111 81 105 87 20 10 23 9 24 34 27 33 58 68 59 69 32 26 35 25 66 60 67 61 48 78 49 79 54 72 55 73 50 77 40 43 45 46 74 53 28 31 56 71 62 65 37 38 36 39 64 63 70 57 29 30 52 75 44 47 41 42 76 51 82 83 4 17 7 18 106 107 0 13 88 89 94 95 3 14 2 15 96 97 102 103 1 12 84 85 6 19 5 16 108 109 +90 99 101 92 28 38 31 37 56 65 62 71 98 91 93 100 36 30 39 29 64 57 70 63 82 107 83 106 4 18 7 17 109 84 108 85 16 6 19 5 48 73 54 79 49 72 55 78 50 77 40 45 43 46 74 53 80 86 8 21 11 22 104 110 111 105 20 9 23 10 87 81 52 75 44 41 47 42 76 51 24 27 58 69 59 68 33 34 0 13 88 94 89 95 3 14 12 1 103 97 102 96 15 2 26 25 60 67 61 66 35 32 +50 76 74 52 56 70 64 62 8 23 20 11 77 51 53 75 71 57 63 65 21 10 9 22 24 35 32 27 82 108 109 83 33 26 25 34 106 84 85 107 88 102 103 89 96 94 95 97 40 43 90 101 98 93 45 46 80 111 28 31 36 39 86 105 104 87 37 38 29 30 110 81 44 47 92 99 100 91 41 42 4 16 58 59 66 67 7 19 48 49 0 12 2 14 54 55 72 73 3 15 1 13 78 79 6 18 60 61 68 69 5 17 +50 75 77 52 80 105 111 86 28 39 36 31 74 51 53 76 104 81 87 110 37 30 29 38 4 19 16 7 58 67 66 59 17 6 5 18 69 60 61 68 88 97 96 89 103 94 95 102 40 43 90 98 101 93 45 46 56 64 8 11 20 23 62 70 71 63 21 22 9 10 65 57 44 47 92 100 99 91 41 42 24 32 82 83 109 108 27 35 48 49 0 2 12 14 54 55 79 78 13 15 1 3 73 72 26 34 84 85 107 106 25 33 +90 100 98 92 80 110 104 86 8 22 21 11 101 91 93 99 111 81 87 105 20 10 9 23 24 34 33 27 58 68 69 59 32 26 25 35 66 60 61 67 48 78 79 49 72 54 55 73 40 43 50 77 74 53 45 46 56 71 28 31 37 38 62 65 64 63 36 39 29 30 70 57 44 47 52 75 76 51 41 42 4 17 82 83 106 107 7 18 88 89 0 13 3 14 94 95 96 97 2 15 1 12 102 103 6 19 84 85 108 109 5 16 +90 99 101 92 56 65 71 62 28 38 37 31 98 91 93 100 64 57 63 70 36 30 29 39 4 18 17 7 82 107 106 83 16 6 5 19 109 84 85 108 48 73 72 49 79 54 55 78 40 43 50 74 77 53 45 46 80 104 8 11 21 22 86 110 111 87 20 23 9 10 105 81 44 47 52 76 75 51 41 42 24 33 58 59 69 68 27 34 88 89 0 3 13 14 94 95 103 102 12 15 1 2 97 96 26 35 60 61 67 66 25 32 +50 76 74 52 8 23 20 11 56 70 64 62 77 51 53 75 21 10 9 22 71 57 63 65 82 108 109 83 24 35 32 27 106 84 85 107 33 26 25 34 88 102 96 94 103 89 95 97 40 45 90 98 101 93 43 46 28 36 80 86 111 105 31 39 37 29 104 110 87 81 38 30 44 41 92 100 99 91 47 42 58 66 4 7 16 19 59 67 48 54 0 2 12 14 49 55 72 78 3 1 15 13 73 79 60 68 6 5 18 17 61 69 +50 75 77 52 28 39 36 31 80 105 111 86 74 51 53 76 37 30 29 38 104 81 87 110 58 67 66 59 4 19 16 7 69 60 61 68 17 6 5 18 88 97 103 94 96 89 95 102 40 45 90 101 98 93 43 46 8 20 56 62 64 70 11 23 21 9 71 65 63 57 22 10 44 41 92 99 100 91 47 42 82 109 24 27 32 35 83 108 48 54 0 12 2 14 49 55 79 73 13 1 15 3 78 72 84 107 26 25 34 33 85 106 +90 100 98 92 8 22 21 11 80 110 104 86 101 91 93 99 20 10 9 23 111 81 87 105 58 68 69 59 24 34 33 27 66 60 61 67 32 26 25 35 48 78 72 54 79 49 55 73 40 45 50 74 77 53 43 46 28 37 56 62 71 65 31 38 36 29 64 70 63 57 39 30 44 41 52 76 75 51 47 42 82 106 4 7 17 18 83 107 88 94 0 3 13 14 89 95 96 102 2 1 15 12 97 103 84 108 6 5 19 16 85 109 +90 99 101 92 28 38 37 31 56 65 71 62 98 91 93 100 36 30 29 39 64 57 63 70 82 107 106 83 4 18 17 7 109 84 85 108 16 6 5 19 48 73 79 54 72 49 55 78 40 45 50 77 74 53 43 46 8 21 80 86 104 110 11 22 20 9 111 105 87 81 23 10 44 41 52 75 76 51 47 42 58 69 24 27 33 34 59 68 88 94 0 13 3 14 89 95 103 97 12 1 15 2 102 96 60 67 26 25 35 32 61 66 +50 76 74 52 8 23 11 20 56 70 62 64 77 51 53 75 21 10 22 9 71 57 65 63 82 108 83 109 24 35 27 32 106 84 107 85 33 26 34 25 88 102 94 96 89 103 95 97 90 98 40 45 43 46 101 93 80 86 28 36 31 39 111 105 104 110 37 29 38 30 87 81 92 100 44 41 47 42 99 91 4 7 58 66 59 67 16 19 0 2 48 54 49 55 12 14 3 1 72 78 73 79 15 13 6 5 60 68 61 69 18 17 +50 75 77 52 80 105 86 111 28 39 31 36 74 51 53 76 104 81 110 87 37 30 38 29 4 19 7 16 58 67 59 66 17 6 18 5 69 60 68 61 88 97 89 96 94 103 95 102 90 98 40 43 45 46 101 93 8 11 56 64 62 70 20 23 21 22 71 63 65 57 9 10 92 100 44 47 41 42 99 91 82 83 24 32 27 35 109 108 0 2 48 49 54 55 12 14 13 15 79 78 73 72 1 3 84 85 26 34 25 33 107 106 +40 47 43 44 80 87 104 111 56 63 71 64 45 42 46 41 86 81 110 105 62 57 65 70 82 85 106 109 58 61 69 66 83 84 107 108 59 60 68 67 0 15 13 2 3 12 14 1 90 98 50 77 74 53 101 93 8 21 28 36 37 29 20 9 11 22 31 39 38 30 23 10 92 100 52 75 76 51 99 91 4 17 24 32 33 25 16 5 88 96 48 79 72 55 103 95 89 97 49 78 73 54 102 94 6 19 26 34 35 27 18 7 +40 41 45 44 8 9 21 20 28 29 37 36 43 42 46 47 11 10 22 23 31 30 38 39 4 5 17 16 24 25 33 32 7 6 18 19 27 26 34 35 0 1 3 2 13 12 14 15 90 98 50 74 77 53 101 93 80 104 56 64 71 63 111 87 86 110 62 70 65 57 105 81 92 100 52 76 75 51 99 91 82 106 58 66 69 61 109 85 88 96 48 72 79 55 103 95 94 102 54 78 73 49 97 89 84 108 60 68 67 59 107 83 +50 76 74 52 56 70 62 64 8 23 11 20 77 51 53 75 71 57 65 63 21 10 22 9 24 35 27 32 82 108 83 109 33 26 34 25 106 84 107 85 88 102 89 103 94 96 95 97 90 101 40 43 45 46 98 93 28 31 80 111 86 105 36 39 37 38 104 87 110 81 29 30 92 99 44 47 41 42 100 91 58 59 4 16 7 19 66 67 0 12 48 49 54 55 2 14 3 15 72 73 78 79 1 13 60 61 6 18 5 17 68 69 +50 75 77 52 28 39 31 36 80 105 86 111 74 51 53 76 37 30 38 29 104 81 110 87 58 67 59 66 4 19 7 16 69 60 68 61 17 6 18 5 88 97 94 103 89 96 95 102 90 101 40 45 43 46 98 93 56 62 8 20 11 23 64 70 71 65 21 9 22 10 63 57 92 99 44 41 47 42 100 91 24 27 82 109 83 108 32 35 0 12 48 54 49 55 2 14 13 1 79 73 78 72 15 3 26 25 84 107 85 106 34 33 +40 47 43 44 56 63 71 64 80 87 104 111 45 42 46 41 62 57 65 70 86 81 110 105 58 61 69 66 82 85 106 109 59 60 68 67 83 84 107 108 0 15 3 12 13 2 14 1 90 101 50 74 77 53 98 93 28 37 8 20 21 9 36 29 31 38 11 23 22 10 39 30 92 99 52 76 75 51 100 91 24 33 4 16 17 5 32 25 88 103 48 72 79 55 96 95 89 102 49 73 78 54 97 94 26 35 6 18 19 7 34 27 +40 41 45 44 28 29 37 36 8 9 21 20 43 42 46 47 31 30 38 39 11 10 22 23 24 25 33 32 4 5 17 16 27 26 34 35 7 6 18 19 0 1 13 12 3 2 14 15 90 101 50 77 74 53 98 93 56 71 80 111 104 87 64 63 62 65 86 105 110 81 70 57 92 99 52 75 76 51 100 91 58 69 82 109 106 85 66 61 88 103 48 79 72 55 96 95 94 97 54 73 78 49 102 89 60 67 84 107 108 83 68 59 +13 12 15 14 17 16 19 18 21 20 23 22 1 0 3 2 5 4 7 6 9 8 11 10 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 +3 2 1 0 4 5 6 7 8 9 10 11 15 14 13 12 16 17 18 19 20 21 22 23 33 32 35 34 37 36 39 38 25 24 27 26 29 28 31 30 40 41 42 43 44 45 46 47 72 73 74 75 76 77 78 79 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 48 49 50 51 52 53 54 55 104 105 106 107 108 109 110 111 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 80 81 82 83 84 85 86 87 +0 1 2 3 7 6 5 4 8 9 10 11 12 13 14 15 19 18 17 16 20 21 22 23 27 26 25 24 28 29 30 31 35 34 33 32 36 37 38 39 45 44 47 46 41 40 43 42 54 55 50 51 52 53 48 49 62 63 58 59 60 61 56 57 70 71 66 67 68 69 64 65 78 79 74 75 76 77 72 73 86 87 82 83 84 85 80 81 94 95 90 91 92 93 88 89 102 103 98 99 100 101 96 97 110 111 106 107 108 109 104 105 +0 1 2 3 4 5 6 7 11 10 9 8 12 13 14 15 16 17 18 19 23 22 21 20 24 25 26 27 31 30 29 28 32 33 34 35 39 38 37 36 43 42 41 40 47 46 45 44 49 48 50 51 52 53 55 54 56 57 59 58 61 60 62 63 64 65 67 66 69 68 70 71 73 72 74 75 76 77 79 78 80 81 83 82 85 84 86 87 89 88 90 91 92 93 95 94 97 96 98 99 100 101 103 102 104 105 107 106 109 108 110 111 +12 13 14 15 16 17 18 19 20 21 22 23 0 1 2 3 4 5 6 7 8 9 10 11 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 111 110 109 108 107 106 105 104 103 102 101 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 80 +2 3 0 1 4 5 6 7 8 9 10 11 14 15 12 13 16 17 18 19 20 21 22 23 32 33 34 35 36 37 38 39 24 25 26 27 28 29 30 31 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 64 65 66 67 68 69 70 71 56 57 58 59 60 61 62 63 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 96 97 98 99 100 101 102 103 88 89 90 91 92 93 94 95 104 105 106 107 108 109 110 111 +0 1 2 3 6 7 4 5 8 9 10 11 12 13 14 15 18 19 16 17 20 21 22 23 26 27 24 25 28 29 30 31 34 35 32 33 36 37 38 39 44 45 46 47 40 41 42 43 48 49 52 53 50 51 54 55 56 57 60 61 58 59 62 63 64 65 68 69 66 67 70 71 72 73 76 77 74 75 78 79 80 81 84 85 82 83 86 87 88 89 92 93 90 91 94 95 96 97 100 101 98 99 102 103 104 105 108 109 106 107 110 111 +0 1 2 3 4 5 6 7 10 11 8 9 12 13 14 15 16 17 18 19 22 23 20 21 24 25 26 27 30 31 28 29 32 33 34 35 38 39 36 37 42 43 40 41 46 47 44 45 48 49 51 50 53 52 54 55 57 56 58 59 60 61 63 62 65 64 66 67 68 69 71 70 72 73 75 74 77 76 78 79 81 80 82 83 84 85 87 86 88 89 91 90 93 92 94 95 96 97 99 98 101 100 102 103 105 104 106 107 108 109 111 110 diff --git a/research/one-sided-decoders-all-m/data/p104_frames.json b/research/one-sided-decoders-all-m/data/p104_frames.json new file mode 100644 index 0000000000..2312a2144c --- /dev/null +++ b/research/one-sided-decoders-all-m/data/p104_frames.json @@ -0,0 +1,105 @@ +{ + "description": "P112 = E8 lines (lib.lines(e8_roots()) order) minus F0; P104 = minus F0 and F1. F0: the frame e_{2a} +- e_{2a+1}; F1: the 8 vectors listed (each is 2 x a root, i.e. a root up to the factor 2) forming a second orthogonal frame (author's #2338 / IDEAL h4 P104 unit). F0_idx / F1_idx: indices into the E8 line list; frames_data.py re-derives them from the vectors and asserts equality as sets.", + "F0_idx": [ + 0, + 26, + 44, + 54, + 1, + 27, + 45, + 55 + ], + "F1_idx": [ + 2, + 18, + 40, + 52, + 77, + 86, + 107, + 112 + ], + "F1_vectors_x2": [ + [ + 2, + 0, + 2, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 2, + 0, + 0, + 2, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 2, + 0, + 0, + 2, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 2 + ], + [ + 1, + 1, + -1, + 1, + -1, + 1, + -1, + -1 + ], + [ + 1, + 1, + -1, + -1, + -1, + -1, + 1, + 1 + ], + [ + 1, + -1, + -1, + 1, + 1, + -1, + -1, + 1 + ], + [ + 1, + -1, + -1, + -1, + 1, + 1, + 1, + -1 + ] + ] +} \ No newline at end of file diff --git a/research/one-sided-decoders-all-m/evidence/logs/c65.log.txt b/research/one-sided-decoders-all-m/evidence/logs/c65.log.txt new file mode 100644 index 0000000000..c2a3ea9878 --- /dev/null +++ b/research/one-sided-decoders-all-m/evidence/logs/c65.log.txt @@ -0,0 +1,78 @@ +6 48 [6, 6, 6, 6, 6, 6, 6, 6] 97.78 need 109 KILLED +6 49 [6, 6, 6, 6, 6, 6, 6, 6, 1] 98.78 need 109 KILLED +6 49 [7, 6, 6, 6, 6, 6, 6, 6] 101.82 need 109 KILLED +7 57 [7, 6, 6, 6, 6, 6, 6, 6, 4, 4] 98.4 need 111 KILLED +7 57 [7, 6, 6, 6, 6, 6, 6, 6, 5, 3] 97.6 need 111 KILLED +7 55 [7, 6, 6, 6, 6, 6, 6, 6, 6] 97.78 need 111 KILLED +7 56 [7, 6, 6, 6, 6, 6, 6, 6, 6, 1] 98.78 need 111 KILLED +7 57 [7, 6, 6, 6, 6, 6, 6, 6, 6, 1, 1] 99.78 need 111 KILLED +7 57 [7, 6, 6, 6, 6, 6, 6, 6, 6, 2] 99.78 need 111 KILLED +7 56 [7, 7, 6, 6, 6, 6, 6, 6, 6] 101.82 need 111 KILLED +7 57 [7, 7, 6, 6, 6, 6, 6, 6, 6, 1] 102.82 need 111 KILLED +7 57 [7, 7, 7, 6, 6, 6, 6, 6, 6] 109.09 need 111 KILLED +7 57 [7, 7, 7, 7, 7, 7, 7, 6, 1, 1] 112.0 need 111 SURVIVES +7 57 [7, 7, 7, 7, 7, 7, 7, 6, 2] 112.0 need 111 SURVIVES +7 57 [7, 7, 7, 7, 7, 7, 7, 7, 1] 112.0 need 111 SURVIVES +8 65 [7, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 1] 98.0 need 112 KILLED +8 65 [7, 6, 6, 6, 6, 6, 6, 6, 6, 4, 3, 3] 97.09 need 112 KILLED +8 64 [7, 6, 6, 6, 6, 6, 6, 6, 6, 4, 4, 1] 97.0 need 112 KILLED +8 65 [7, 6, 6, 6, 6, 6, 6, 6, 6, 4, 4, 1, 1] 98.0 need 112 KILLED +8 65 [7, 6, 6, 6, 6, 6, 6, 6, 6, 4, 4, 2] 98.0 need 112 KILLED +8 64 [7, 6, 6, 6, 6, 6, 6, 6, 6, 5, 1, 1, 1, 1] 96.36 need 112 KILLED +8 65 [7, 6, 6, 6, 6, 6, 6, 6, 6, 5, 1, 1, 1, 1, 1] 97.36 need 112 KILLED +8 64 [7, 6, 6, 6, 6, 6, 6, 6, 6, 5, 2, 1, 1] 96.36 need 112 KILLED +8 65 [7, 6, 6, 6, 6, 6, 6, 6, 6, 5, 2, 1, 1, 1] 97.36 need 112 KILLED +8 64 [7, 6, 6, 6, 6, 6, 6, 6, 6, 5, 2, 2] 96.36 need 112 KILLED +8 65 [7, 6, 6, 6, 6, 6, 6, 6, 6, 5, 2, 2, 1] 97.36 need 112 KILLED +8 64 [7, 6, 6, 6, 6, 6, 6, 6, 6, 5, 3, 1] 97.0 need 112 KILLED +8 65 [7, 6, 6, 6, 6, 6, 6, 6, 6, 5, 3, 1, 1] 98.0 need 112 KILLED +8 65 [7, 6, 6, 6, 6, 6, 6, 6, 6, 5, 3, 2] 98.0 need 112 KILLED +8 64 [7, 6, 6, 6, 6, 6, 6, 6, 6, 5, 4] 98.55 need 112 KILLED +8 65 [7, 6, 6, 6, 6, 6, 6, 6, 6, 5, 4, 1] 99.55 need 112 KILLED +8 65 [7, 6, 6, 6, 6, 6, 6, 6, 6, 5, 5] 101.09 need 112 KILLED +8 61 [7, 6, 6, 6, 6, 6, 6, 6, 6, 6] 96.92 need 112 KILLED +8 62 [7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1] 97.92 need 112 KILLED +8 63 [7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1, 1] 98.92 need 112 KILLED +8 64 [7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1, 1, 1] 99.92 need 112 KILLED +8 65 [7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1, 1, 1, 1] 100.92 need 112 KILLED +8 63 [7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 2] 98.92 need 112 KILLED +8 64 [7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 2, 1] 99.92 need 112 KILLED +8 65 [7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 2, 1, 1] 100.92 need 112 KILLED +8 65 [7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 2, 2] 100.92 need 112 KILLED +8 64 [7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 3] 100.54 need 112 KILLED +8 65 [7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 3, 1] 101.54 need 112 KILLED +8 65 [7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 4] 103.0 need 112 KILLED +8 65 [7, 7, 6, 6, 6, 6, 6, 6, 5, 5, 5] 99.25 need 112 KILLED +8 64 [7, 7, 6, 6, 6, 6, 6, 6, 6, 4, 4] 98.4 need 112 KILLED +8 65 [7, 7, 6, 6, 6, 6, 6, 6, 6, 4, 4, 1] 99.4 need 112 KILLED +8 65 [7, 7, 6, 6, 6, 6, 6, 6, 6, 5, 1, 1, 1, 1] 97.6 need 112 KILLED +8 65 [7, 7, 6, 6, 6, 6, 6, 6, 6, 5, 2, 1, 1] 97.6 need 112 KILLED +8 65 [7, 7, 6, 6, 6, 6, 6, 6, 6, 5, 2, 2] 97.6 need 112 KILLED +8 64 [7, 7, 6, 6, 6, 6, 6, 6, 6, 5, 3] 97.6 need 112 KILLED +8 65 [7, 7, 6, 6, 6, 6, 6, 6, 6, 5, 3, 1] 98.6 need 112 KILLED +8 65 [7, 7, 6, 6, 6, 6, 6, 6, 6, 5, 4] 100.8 need 112 KILLED +8 62 [7, 7, 6, 6, 6, 6, 6, 6, 6, 6] 97.78 need 112 KILLED +8 63 [7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 1] 98.78 need 112 KILLED +8 64 [7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 1, 1] 99.78 need 112 KILLED +8 65 [7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 1, 1, 1] 100.78 need 112 KILLED +8 64 [7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 2] 99.78 need 112 KILLED +8 65 [7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 2, 1] 100.78 need 112 KILLED +8 65 [7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 3] 101.78 need 112 KILLED +8 65 [7, 7, 7, 6, 6, 6, 6, 6, 6, 4, 4] 102.67 need 112 KILLED +8 65 [7, 7, 7, 6, 6, 6, 6, 6, 6, 5, 3] 102.18 need 112 KILLED +8 63 [7, 7, 7, 6, 6, 6, 6, 6, 6, 6] 101.82 need 112 KILLED +8 64 [7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 1] 102.82 need 112 KILLED +8 65 [7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 1, 1] 103.82 need 112 KILLED +8 65 [7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 2] 103.82 need 112 KILLED +8 64 [7, 7, 7, 7, 6, 6, 6, 6, 6, 6] 109.09 need 112 KILLED +8 65 [7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 1] 110.09 need 112 KILLED +8 65 [7, 7, 7, 7, 7, 6, 6, 6, 6, 6] 112.0 need 112 SURVIVES +8 64 [7, 7, 7, 7, 7, 7, 7, 7, 6, 1, 1] 112.0 need 112 SURVIVES +8 65 [7, 7, 7, 7, 7, 7, 7, 7, 6, 1, 1, 1] 112.0 need 112 SURVIVES +8 64 [7, 7, 7, 7, 7, 7, 7, 7, 6, 2] 112.0 need 112 SURVIVES +8 65 [7, 7, 7, 7, 7, 7, 7, 7, 6, 2, 1] 112.0 need 112 SURVIVES +8 65 [7, 7, 7, 7, 7, 7, 7, 7, 6, 3] 112.0 need 112 SURVIVES +8 64 [7, 7, 7, 7, 7, 7, 7, 7, 7, 1] 112.0 need 112 SURVIVES +8 65 [7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 1] 112.0 need 112 SURVIVES +8 65 [7, 7, 7, 7, 7, 7, 7, 7, 7, 2] 112.0 need 112 SURVIVES +|N(r)| = 52 rank 8 coloops found 0 diff --git a/research/one-sided-decoders-all-m/evidence/logs/c66.log.txt b/research/one-sided-decoders-all-m/evidence/logs/c66.log.txt new file mode 100644 index 0000000000..ca6bbf20fa --- /dev/null +++ b/research/one-sided-decoders-all-m/evidence/logs/c66.log.txt @@ -0,0 +1,34 @@ +6 50 [7, 7, 6, 6, 6, 6, 6, 6] LP 109.09 e 2 anchor lines 20 E2-TRIPLE-KILLED +6 50 [7, 7, 7, 7, 7, 7, 6, 1, 1] LP 112.0 e 3 anchor lines 2 PENCIL-KILLED +6 50 [7, 7, 7, 7, 7, 7, 6, 2] LP 112.0 e 2 anchor lines 2 PENCIL-KILLED +6 50 [7, 7, 7, 7, 7, 7, 7, 1] LP 112.0 e 2 anchor lines 1 PENCIL-KILLED +7 58 [7, 7, 7, 7, 6, 6, 6, 6, 6] LP 112.0 e 2 anchor lines 20 E2-TRIPLE-KILLED +7 57 [7, 7, 7, 7, 7, 7, 7, 6, 1, 1] LP 112.0 e 3 anchor lines 2 PENCIL-KILLED +7 58 [7, 7, 7, 7, 7, 7, 7, 6, 1, 1, 1] LP 112.0 e 4 anchor lines 3 PENCIL-KILLED +7 57 [7, 7, 7, 7, 7, 7, 7, 6, 2] LP 112.0 e 2 anchor lines 2 PENCIL-KILLED +7 58 [7, 7, 7, 7, 7, 7, 7, 6, 2, 1] LP 112.0 e 3 anchor lines 3 PENCIL-KILLED +7 58 [7, 7, 7, 7, 7, 7, 7, 6, 3] LP 112.0 e 2 anchor lines 4 PENCIL-KILLED +7 57 [7, 7, 7, 7, 7, 7, 7, 7, 1] LP 112.0 e 2 anchor lines 1 PENCIL-KILLED +7 58 [7, 7, 7, 7, 7, 7, 7, 7, 1, 1] LP 112.0 e 3 anchor lines 2 PENCIL-KILLED +7 58 [7, 7, 7, 7, 7, 7, 7, 7, 2] LP 112.0 e 2 anchor lines 2 PENCIL-KILLED +8 65 [7, 7, 7, 7, 7, 6, 6, 6, 6, 6] LP 112.0 e 2 anchor lines 20 E2-TRIPLE-KILLED +8 66 [7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 1] LP 112.0 e 3 anchor lines 21 SURVIVES +8 66 [7, 7, 7, 7, 7, 7, 6, 6, 6, 6] LP 112.0 e 2 anchor lines 20 SURVIVES +8 66 [7, 7, 7, 7, 7, 7, 7, 7, 5, 4, 1] LP 112.0 e 3 anchor lines 9 SURVIVES +8 66 [7, 7, 7, 7, 7, 7, 7, 7, 5, 5] LP 112.0 e 2 anchor lines 12 SURVIVES +8 64 [7, 7, 7, 7, 7, 7, 7, 7, 6, 1, 1] LP 112.0 e 3 anchor lines 2 PENCIL-KILLED +8 65 [7, 7, 7, 7, 7, 7, 7, 7, 6, 1, 1, 1] LP 112.0 e 4 anchor lines 3 PENCIL-KILLED +8 66 [7, 7, 7, 7, 7, 7, 7, 7, 6, 1, 1, 1, 1] LP 112.0 e 5 anchor lines 4 PENCIL-KILLED +8 64 [7, 7, 7, 7, 7, 7, 7, 7, 6, 2] LP 112.0 e 2 anchor lines 2 PENCIL-KILLED +8 65 [7, 7, 7, 7, 7, 7, 7, 7, 6, 2, 1] LP 112.0 e 3 anchor lines 3 PENCIL-KILLED +8 66 [7, 7, 7, 7, 7, 7, 7, 7, 6, 2, 1, 1] LP 112.0 e 4 anchor lines 4 PENCIL-KILLED +8 66 [7, 7, 7, 7, 7, 7, 7, 7, 6, 2, 2] LP 112.0 e 3 anchor lines 4 PENCIL-KILLED +8 65 [7, 7, 7, 7, 7, 7, 7, 7, 6, 3] LP 112.0 e 2 anchor lines 4 PENCIL-KILLED +8 66 [7, 7, 7, 7, 7, 7, 7, 7, 6, 3, 1] LP 112.0 e 3 anchor lines 5 SURVIVES +8 66 [7, 7, 7, 7, 7, 7, 7, 7, 6, 4] LP 112.0 e 2 anchor lines 8 SURVIVES +8 64 [7, 7, 7, 7, 7, 7, 7, 7, 7, 1] LP 112.0 e 2 anchor lines 1 PENCIL-KILLED +8 65 [7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 1] LP 112.0 e 3 anchor lines 2 PENCIL-KILLED +8 66 [7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 1, 1] LP 112.0 e 4 anchor lines 3 PENCIL-KILLED +8 65 [7, 7, 7, 7, 7, 7, 7, 7, 7, 2] LP 112.0 e 2 anchor lines 2 PENCIL-KILLED +8 66 [7, 7, 7, 7, 7, 7, 7, 7, 7, 2, 1] LP 112.0 e 3 anchor lines 3 PENCIL-KILLED +8 66 [7, 7, 7, 7, 7, 7, 7, 7, 7, 3] LP 112.0 e 2 anchor lines 4 PENCIL-KILLED diff --git a/research/one-sided-decoders-all-m/evidence/logs/cc_lemmaN.log.txt b/research/one-sided-decoders-all-m/evidence/logs/cc_lemmaN.log.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/research/one-sided-decoders-all-m/evidence/logs/cc_mu76.log.txt b/research/one-sided-decoders-all-m/evidence/logs/cc_mu76.log.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/research/one-sided-decoders-all-m/evidence/logs/cc_ncount.log.txt b/research/one-sided-decoders-all-m/evidence/logs/cc_ncount.log.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/research/one-sided-decoders-all-m/evidence/logs/cc_ncount2.log.txt b/research/one-sided-decoders-all-m/evidence/logs/cc_ncount2.log.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/research/one-sided-decoders-all-m/evidence/logs/chk1.log.txt b/research/one-sided-decoders-all-m/evidence/logs/chk1.log.txt new file mode 100644 index 0000000000..cbe0a2f848 --- /dev/null +++ b/research/one-sided-decoders-all-m/evidence/logs/chk1.log.txt @@ -0,0 +1,4 @@ +rank lab 9 rank mylab 9 rank combined 9 +distinct labels 112 +FC row supports {4} +kappa formula ok True diff --git a/research/one-sided-decoders-all-m/evidence/logs/coloop.log.txt b/research/one-sided-decoders-all-m/evidence/logs/coloop.log.txt new file mode 100644 index 0000000000..6a14b7e099 --- /dev/null +++ b/research/one-sided-decoders-all-m/evidence/logs/coloop.log.txt @@ -0,0 +1 @@ +rank<=8 targets (frame): 8 root-coloop pairs: 112 other: 0 diff --git a/research/one-sided-decoders-all-m/evidence/logs/coloop2.log.txt b/research/one-sided-decoders-all-m/evidence/logs/coloop2.log.txt new file mode 100644 index 0000000000..c0fcfbec35 --- /dev/null +++ b/research/one-sided-decoders-all-m/evidence/logs/coloop2.log.txt @@ -0,0 +1,2 @@ +N size 52 +min rank of N(r) minus <=3 lines: 8 diff --git a/research/one-sided-decoders-all-m/evidence/logs/cover.log.txt b/research/one-sided-decoders-all-m/evidence/logs/cover.log.txt new file mode 100644 index 0000000000..9b13d36911 --- /dev/null +++ b/research/one-sided-decoders-all-m/evidence/logs/cover.log.txt @@ -0,0 +1,9 @@ +7-flats 43180 +N(f0) pair 7 7 32 24 +N(f0) |T| 56 best pair cover 14 +Off(r0) |T| 53 best pair cover 99 +pieces 21643 max 32 +triple 7 7 7 32 32 17 +triple 7 7 4 32 32 5 +triple 7 7 1 32 20 1 +Off(r0) best <=3-cover 15 diff --git a/research/one-sided-decoders-all-m/evidence/logs/cover6.log.txt b/research/one-sided-decoders-all-m/evidence/logs/cover6.log.txt new file mode 100644 index 0000000000..f2499f4772 --- /dev/null +++ b/research/one-sided-decoders-all-m/evidence/logs/cover6.log.txt @@ -0,0 +1,6 @@ +6-flats 776777 +N(f0) pieces 90216 max 20 +N(f0) 3-cover 6 6 6 20 20 20 +N(f0) 3-cover by dim<=6 exists: True +Off(r0) pieces 155893 max 20 +Off(r0) 3-cover by dim<=6 exists: False diff --git a/research/one-sided-decoders-all-m/evidence/logs/cover761.log.txt b/research/one-sided-decoders-all-m/evidence/logs/cover761.log.txt new file mode 100644 index 0000000000..c1edf23527 --- /dev/null +++ b/research/one-sided-decoders-all-m/evidence/logs/cover761.log.txt @@ -0,0 +1,2 @@ +Counter({(3, 48, 9): 112}) +cover761: all 112 roots; minimum uncovered lines over (7,6) pairs: 9 diff --git a/research/one-sided-decoders-all-m/evidence/logs/d7.log.txt b/research/one-sided-decoders-all-m/evidence/logs/d7.log.txt new file mode 100644 index 0000000000..019f85de98 --- /dev/null +++ b/research/one-sided-decoders-all-m/evidence/logs/d7.log.txt @@ -0,0 +1,4 @@ +norm-4 directions 1080 +P112 |Off(h)| for norm-4 h: Counter({73: 896, 70: 128, 76: 56}) +7-flats >=34 lines 4032 +70-line Off sets pair-coverable: 0 diff --git a/research/one-sided-decoders-all-m/evidence/logs/dp3.log.txt b/research/one-sided-decoders-all-m/evidence/logs/dp3.log.txt new file mode 100644 index 0000000000..82fb188048 --- /dev/null +++ b/research/one-sided-decoders-all-m/evidence/logs/dp3.log.txt @@ -0,0 +1,8 @@ +P112 eps-free d 1 DP [14, {7: 2}] => cost_w >= 70 +P112 eps-free d 2 DP [22, {7: 2, 6: 1, 1: 2}] => cost_w >= 70 +P112 eps-free d 3 DP [29, {7: 3, 6: 1, 1: 2}] => cost_w >= 69 +P112 eps-free d 4 DP [36, {6: 6}] => cost_w >= 68 +P112 eps-free d 5 DP [42, {6: 7}] => cost_w >= 66 +P112 eps-free d 6 DP [48, {6: 8}] => cost_w >= 64 +P112 eps-free d 7 DP [55, {7: 1, 6: 8}] => cost_w >= 63 +P112 eps-free d 8 DP [61, {7: 1, 6: 9}] => cost_w >= 61 diff --git a/research/one-sided-decoders-all-m/evidence/logs/dump.log.txt b/research/one-sided-decoders-all-m/evidence/logs/dump.log.txt new file mode 100644 index 0000000000..2d2c40ee4d --- /dev/null +++ b/research/one-sided-decoders-all-m/evidence/logs/dump.log.txt @@ -0,0 +1,4 @@ +112 120 [[ 1 1 0 0 1 1 0 0] + [ 1 -1 0 0 1 -1 0 0] + [ 1 1 0 0 1 -1 0 0]] +data.json regenerated: identical diff --git a/research/one-sided-decoders-all-m/evidence/logs/enum_1.log.txt b/research/one-sided-decoders-all-m/evidence/logs/enum_1.log.txt new file mode 100644 index 0000000000..dbe37c2613 --- /dev/null +++ b/research/one-sided-decoders-all-m/evidence/logs/enum_1.log.txt @@ -0,0 +1,2 @@ +0 multisets +Counter() diff --git a/research/one-sided-decoders-all-m/evidence/logs/enum_2.log.txt b/research/one-sided-decoders-all-m/evidence/logs/enum_2.log.txt new file mode 100644 index 0000000000..dbe37c2613 --- /dev/null +++ b/research/one-sided-decoders-all-m/evidence/logs/enum_2.log.txt @@ -0,0 +1,2 @@ +0 multisets +Counter() diff --git a/research/one-sided-decoders-all-m/evidence/logs/enum_3.log.txt b/research/one-sided-decoders-all-m/evidence/logs/enum_3.log.txt new file mode 100644 index 0000000000..dbe37c2613 --- /dev/null +++ b/research/one-sided-decoders-all-m/evidence/logs/enum_3.log.txt @@ -0,0 +1,2 @@ +0 multisets +Counter() diff --git a/research/one-sided-decoders-all-m/evidence/logs/enum_4.log.txt b/research/one-sided-decoders-all-m/evidence/logs/enum_4.log.txt new file mode 100644 index 0000000000..dbe37c2613 --- /dev/null +++ b/research/one-sided-decoders-all-m/evidence/logs/enum_4.log.txt @@ -0,0 +1,2 @@ +0 multisets +Counter() diff --git a/research/one-sided-decoders-all-m/evidence/logs/enum_5.log.txt b/research/one-sided-decoders-all-m/evidence/logs/enum_5.log.txt new file mode 100644 index 0000000000..dbe37c2613 --- /dev/null +++ b/research/one-sided-decoders-all-m/evidence/logs/enum_5.log.txt @@ -0,0 +1,2 @@ +0 multisets +Counter() diff --git a/research/one-sided-decoders-all-m/evidence/logs/enum_6.log.txt b/research/one-sided-decoders-all-m/evidence/logs/enum_6.log.txt new file mode 100644 index 0000000000..dbe37c2613 --- /dev/null +++ b/research/one-sided-decoders-all-m/evidence/logs/enum_6.log.txt @@ -0,0 +1,2 @@ +0 multisets +Counter() diff --git a/research/one-sided-decoders-all-m/evidence/logs/enum_7.log.txt b/research/one-sided-decoders-all-m/evidence/logs/enum_7.log.txt new file mode 100644 index 0000000000..9114b3ff96 --- /dev/null +++ b/research/one-sided-decoders-all-m/evidence/logs/enum_7.log.txt @@ -0,0 +1,3 @@ +1 multisets +Counter({9: 1}) +(55, [7, 6, 6, 6, 6, 6, 6, 6, 6]) diff --git a/research/one-sided-decoders-all-m/evidence/logs/enum_8.log.txt b/research/one-sided-decoders-all-m/evidence/logs/enum_8.log.txt new file mode 100644 index 0000000000..6656439d43 --- /dev/null +++ b/research/one-sided-decoders-all-m/evidence/logs/enum_8.log.txt @@ -0,0 +1,9 @@ +7 multisets +Counter({10: 3, 11: 3, 12: 1}) +(61, [7, 6, 6, 6, 6, 6, 6, 6, 6, 6]) +(62, [7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1]) +(62, [7, 7, 6, 6, 6, 6, 6, 6, 6, 6]) +(63, [7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1, 1]) +(63, [7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 2]) +(63, [7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 1]) +(63, [7, 7, 7, 6, 6, 6, 6, 6, 6, 6]) diff --git a/research/one-sided-decoders-all-m/evidence/logs/eq.log.txt b/research/one-sided-decoders-all-m/evidence/logs/eq.log.txt new file mode 100644 index 0000000000..47a12faf64 --- /dev/null +++ b/research/one-sided-decoders-all-m/evidence/logs/eq.log.txt @@ -0,0 +1,21 @@ +6 [6, 6, 6, 6, 6, 6, 6, 6] LPval 97.778 exact bound 97.77778 need 109 KILLED +7 [7, 6, 6, 6, 6, 6, 6, 6, 6, 1] LPval 98.778 exact bound 98.77778 need 111 KILLED +7 [7, 7, 6, 6, 6, 6, 6, 6, 6] LPval 101.818 exact bound 101.818184 need 111 KILLED +8 [7, 6, 6, 6, 6, 6, 6, 6, 6, 4, 4, 1] LPval 97.000 exact bound 97.0000028 need 112 KILLED +8 [7, 6, 6, 6, 6, 6, 6, 6, 6, 5, 1, 1, 1, 1] LPval 96.364 exact bound 96.3636396 need 112 KILLED +8 [7, 6, 6, 6, 6, 6, 6, 6, 6, 5, 2, 1, 1] LPval 96.364 exact bound 96.3636396 need 112 KILLED +8 [7, 6, 6, 6, 6, 6, 6, 6, 6, 5, 2, 2] LPval 96.364 exact bound 96.3636396 need 112 KILLED +8 [7, 6, 6, 6, 6, 6, 6, 6, 6, 5, 3, 1] LPval 97.000 exact bound 97.0000036 need 112 KILLED +8 [7, 6, 6, 6, 6, 6, 6, 6, 6, 5, 4] LPval 98.545 exact bound 98.5454584 need 112 KILLED +8 [7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1, 1, 1] LPval 99.923 exact bound 99.923078 need 112 KILLED +8 [7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 2, 1] LPval 99.923 exact bound 99.923078 need 112 KILLED +8 [7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 3] LPval 100.538 exact bound 100.538463 need 112 KILLED +8 [7, 7, 6, 6, 6, 6, 6, 6, 6, 4, 4] LPval 98.400 exact bound 98.4000008 need 112 KILLED +8 [7, 7, 6, 6, 6, 6, 6, 6, 6, 5, 3] LPval 97.600 exact bound 97.6000032 need 112 KILLED +8 [7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 1, 1] LPval 99.778 exact bound 99.77778 need 112 KILLED +8 [7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 2] LPval 99.778 exact bound 99.77778 need 112 KILLED +8 [7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 1] LPval 102.818 exact bound 102.818184 need 112 KILLED +8 [7, 7, 7, 7, 6, 6, 6, 6, 6, 6] LPval 109.091 exact bound 109.090914 need 112 KILLED +8 [7, 7, 7, 7, 7, 7, 7, 7, 6, 1, 1] LPval 112.000 exact bound 112.0 need 112 SURVIVES +8 [7, 7, 7, 7, 7, 7, 7, 7, 6, 2] LPval 112.000 exact bound 112.0 need 112 SURVIVES +8 [7, 7, 7, 7, 7, 7, 7, 7, 7, 1] LPval 112.000 exact bound 112.0 need 112 SURVIVES diff --git a/research/one-sided-decoders-all-m/evidence/logs/eq2.log.txt b/research/one-sided-decoders-all-m/evidence/logs/eq2.log.txt new file mode 100644 index 0000000000..f6c95b66c3 --- /dev/null +++ b/research/one-sided-decoders-all-m/evidence/logs/eq2.log.txt @@ -0,0 +1,9 @@ +d 6 slack 0 multisets 1 LP-survivors 0 [] +d 6 slack 1 multisets 2 LP-survivors 0 [] +d 6 slack 2 multisets 9 LP-survivors 4 [[7, 7, 6, 6, 6, 6, 6, 6], [7, 7, 7, 7, 7, 7, 6, 1, 1], [7, 7, 7, 7, 7, 7, 6, 2], [7, 7, 7, 7, 7, 7, 7, 1]] +d 7 slack 0 multisets 2 LP-survivors 0 [] +d 7 slack 1 multisets 9 LP-survivors 3 [[7, 7, 7, 7, 7, 7, 7, 6, 1, 1], [7, 7, 7, 7, 7, 7, 7, 6, 2], [7, 7, 7, 7, 7, 7, 7, 7, 1]] +d 7 slack 2 multisets 22 LP-survivors 6 [[7, 7, 7, 7, 6, 6, 6, 6, 6], [7, 7, 7, 7, 7, 7, 7, 6, 1, 1, 1], [7, 7, 7, 7, 7, 7, 7, 6, 2, 1], [7, 7, 7, 7, 7, 7, 7, 6, 3], [7, 7, 7, 7, 7, 7, 7, 7, 1, 1], [7, 7, 7, 7, 7, 7, 7, 7, 2]] +d 8 slack 0 multisets 18 LP-survivors 3 [[7, 7, 7, 7, 7, 7, 7, 7, 6, 1, 1], [7, 7, 7, 7, 7, 7, 7, 7, 6, 2], [7, 7, 7, 7, 7, 7, 7, 7, 7, 1]] +d 8 slack 1 multisets 37 LP-survivors 6 [[7, 7, 7, 7, 7, 6, 6, 6, 6, 6], [7, 7, 7, 7, 7, 7, 7, 7, 6, 1, 1, 1], [7, 7, 7, 7, 7, 7, 7, 7, 6, 2, 1], [7, 7, 7, 7, 7, 7, 7, 7, 6, 3], [7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 1], [7, 7, 7, 7, 7, 7, 7, 7, 7, 2]] +d 8 slack 2 multisets 72 LP-survivors 12 [[7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 1], [7, 7, 7, 7, 7, 7, 6, 6, 6, 6], [7, 7, 7, 7, 7, 7, 7, 7, 5, 4, 1], [7, 7, 7, 7, 7, 7, 7, 7, 5, 5], [7, 7, 7, 7, 7, 7, 7, 7, 6, 1, 1, 1, 1], [7, 7, 7, 7, 7, 7, 7, 7, 6, 2, 1, 1], [7, 7, 7, 7, 7, 7, 7, 7, 6, 2, 2], [7, 7, 7, 7, 7, 7, 7, 7, 6, 3, 1], [7, 7, 7, 7, 7, 7, 7, 7, 6, 4], [7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 1, 1], [7, 7, 7, 7, 7, 7, 7, 7, 7, 2, 1], [7, 7, 7, 7, 7, 7, 7, 7, 7, 3]] diff --git a/research/one-sided-decoders-all-m/evidence/logs/flats_classify.log.txt b/research/one-sided-decoders-all-m/evidence/logs/flats_classify.log.txt new file mode 100644 index 0000000000..4d2b5ffdfb --- /dev/null +++ b/research/one-sided-decoders-all-m/evidence/logs/flats_classify.log.txt @@ -0,0 +1,11 @@ +rank 1 max lines in a standard parabolic of rank 1 : 1 +rank 2 max lines in a standard parabolic of rank 2 : 3 +rank 3 max lines in a standard parabolic of rank 3 : 6 +rank 4 max lines in a standard parabolic of rank 4 : 12 +rank 5 max lines in a standard parabolic of rank 5 : 20 +rank 6 max lines in a standard parabolic of rank 6 : 36 +rank 7 max lines in a standard parabolic of rank 7 : 63 +standard parabolics of rank <= 7 with >= 36 lines: (lines, rank) -> Counter({(36, 6): 1, (37, 7): 1, (42, 7): 1, (63, 7): 1}) +=> types E7 (63 lines), D7 (42), E6+A1 (37), E6 (36); no other flat of rank <= 7 has >= 36 lines +E6 flats (lines orthogonal to an A2): 1120 sizes Counter({36: 1120}) frame lines inside: {4: 224, 2: 896} +flats_classify OK diff --git a/research/one-sided-decoders-all-m/evidence/logs/g78.log.txt b/research/one-sided-decoders-all-m/evidence/logs/g78.log.txt new file mode 100644 index 0000000000..1db5602bae --- /dev/null +++ b/research/one-sided-decoders-all-m/evidence/logs/g78.log.txt @@ -0,0 +1,3 @@ +hyperplane (dim 8) flats: 511, max lines g(8) = 64 +dim-7 flats: 43435 max lines g(7) = 36 ; number of 7-flats with g(7) lines: 448 +g78 OK diff --git a/research/one-sided-decoders-all-m/evidence/logs/gT.log.txt b/research/one-sided-decoders-all-m/evidence/logs/gT.log.txt new file mode 100644 index 0000000000..742b056732 --- /dev/null +++ b/research/one-sided-decoders-all-m/evidence/logs/gT.log.txt @@ -0,0 +1,2 @@ +N(f0) 56 {6: 20, 4: 8, 7: 32, 1: 0, 2: 0, 3: 0, 5: 8} +Off(r0) 53 {6: 20, 7: 32, 5: 9, 4: 8, 1: 1, 3: 4, 2: 1} diff --git a/research/one-sided-decoders-all-m/evidence/logs/gen_t3_76.log.txt b/research/one-sided-decoders-all-m/evidence/logs/gen_t3_76.log.txt new file mode 100644 index 0000000000..cb9355eafb --- /dev/null +++ b/research/one-sided-decoders-all-m/evidence/logs/gen_t3_76.log.txt @@ -0,0 +1,9 @@ +(2, 63, 53) 112 +(2, 63, 56) 8 +(4, 42, 70) 128 +(4, 42, 73) 896 +(4, 42, 76) 56 +(6, 37, 77) 2688 +(6, 37, 79) 448 +(6, 37, 80) 224 +1200 diff --git a/research/one-sided-decoders-all-m/evidence/logs/gen_targets.log.txt b/research/one-sided-decoders-all-m/evidence/logs/gen_targets.log.txt new file mode 100644 index 0000000000..fdafabc74f --- /dev/null +++ b/research/one-sided-decoders-all-m/evidence/logs/gen_targets.log.txt @@ -0,0 +1 @@ +Counter({(4, 73): 896, (4, 70): 128, (2, 53): 112, (2, 56): 8}) diff --git a/research/one-sided-decoders-all-m/evidence/logs/gsmall.log.txt b/research/one-sided-decoders-all-m/evidence/logs/gsmall.log.txt new file mode 100644 index 0000000000..8cd79f044f --- /dev/null +++ b/research/one-sided-decoders-all-m/evidence/logs/gsmall.log.txt @@ -0,0 +1,4 @@ +6-flats >=8 lines (distinct line sets) 771785 max 20 +g(5) >= 12 +F6 sets by label rank: max lines {6: 20, 5: 12, 4: 8} +g(5)= 12 diff --git a/research/one-sided-decoders-all-m/evidence/logs/land.log.txt b/research/one-sided-decoders-all-m/evidence/logs/land.log.txt new file mode 100644 index 0000000000..73cd524058 --- /dev/null +++ b/research/one-sided-decoders-all-m/evidence/logs/land.log.txt @@ -0,0 +1,24 @@ +d 1 slack 0 {'LP': 0, 'pencil': 0, '666': 0, 'SURV': 0} [] +d 1 slack 1 {'LP': 0, 'pencil': 0, '666': 0, 'SURV': 0} [] +d 1 slack 2 {'LP': 0, 'pencil': 0, '666': 0, 'SURV': 0} [] +d 2 slack 0 {'LP': 0, 'pencil': 0, '666': 0, 'SURV': 0} [] +d 2 slack 1 {'LP': 0, 'pencil': 0, '666': 0, 'SURV': 0} [] +d 2 slack 2 {'LP': 0, 'pencil': 0, '666': 0, 'SURV': 0} [] +d 3 slack 0 {'LP': 0, 'pencil': 0, '666': 0, 'SURV': 0} [] +d 3 slack 1 {'LP': 0, 'pencil': 0, '666': 0, 'SURV': 0} [] +d 3 slack 2 {'LP': 0, 'pencil': 0, '666': 0, 'SURV': 0} [] +d 4 slack 0 {'LP': 0, 'pencil': 0, '666': 0, 'SURV': 0} [] +d 4 slack 1 {'LP': 0, 'pencil': 0, '666': 0, 'SURV': 0} [] +d 4 slack 2 {'LP': 0, 'pencil': 0, '666': 0, 'SURV': 0} [] +d 5 slack 0 {'LP': 0, 'pencil': 0, '666': 0, 'SURV': 0} [] +d 5 slack 1 {'LP': 0, 'pencil': 0, '666': 0, 'SURV': 0} [] +d 5 slack 2 {'LP': 1, 'pencil': 0, '666': 0, 'SURV': 0} [] +d 6 slack 0 {'LP': 1, 'pencil': 0, '666': 0, 'SURV': 0} [] +d 6 slack 1 {'LP': 2, 'pencil': 0, '666': 0, 'SURV': 0} [] +d 6 slack 2 {'LP': 5, 'pencil': 3, '666': 1, 'SURV': 0} [] +d 7 slack 0 {'LP': 2, 'pencil': 0, '666': 0, 'SURV': 0} [] +d 7 slack 1 {'LP': 6, 'pencil': 3, '666': 0, 'SURV': 0} [] +d 7 slack 2 {'LP': 16, 'pencil': 5, '666': 1, 'SURV': 0} [] +d 8 slack 0 {'LP': 15, 'pencil': 3, '666': 0, 'SURV': 0} [] +d 8 slack 1 {'LP': 31, 'pencil': 5, '666': 1, 'SURV': 0} [] +d 8 slack 2 {'LP': 60, 'pencil': 6, '666': 0, 'SURV': 6} [[7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 1], [7, 7, 7, 7, 7, 7, 6, 6, 6, 6], [7, 7, 7, 7, 7, 7, 7, 7, 5, 4, 1], [7, 7, 7, 7, 7, 7, 7, 7, 5, 5], [7, 7, 7, 7, 7, 7, 7, 7, 6, 3, 1], [7, 7, 7, 7, 7, 7, 7, 7, 6, 4]] diff --git a/research/one-sided-decoders-all-m/evidence/logs/lemmaN.log.txt b/research/one-sided-decoders-all-m/evidence/logs/lemmaN.log.txt new file mode 100644 index 0000000000..a1f1f422c6 --- /dev/null +++ b/research/one-sided-decoders-all-m/evidence/logs/lemmaN.log.txt @@ -0,0 +1,2 @@ +7-flats 43435 dirs 1200 +F checked 43435, total active (F,h) 30816, max active per F 2, violations 0 diff --git a/research/one-sided-decoders-all-m/evidence/logs/lnprep.log.txt b/research/one-sided-decoders-all-m/evidence/logs/lnprep.log.txt new file mode 100644 index 0000000000..e99f629d56 --- /dev/null +++ b/research/one-sided-decoders-all-m/evidence/logs/lnprep.log.txt @@ -0,0 +1 @@ +1200 Counter({(73, 'n4'): 896, (70, 'n4'): 128, (53, 'r'): 112, (76, 'n4'): 56, (56, 'r'): 8}) diff --git a/research/one-sided-decoders-all-m/evidence/logs/lp2.log.txt b/research/one-sided-decoders-all-m/evidence/logs/lp2.log.txt new file mode 100644 index 0000000000..a6159be58c --- /dev/null +++ b/research/one-sided-decoders-all-m/evidence/logs/lp2.log.txt @@ -0,0 +1,7 @@ +[7, 6, 6, 6, 6, 6, 6, 6, 6, 6] max coverable lines (need 112): 96.92 +[7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1] max coverable lines (need 112): 97.92 +[7, 7, 6, 6, 6, 6, 6, 6, 6, 6] max coverable lines (need 112): 97.78 +[7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1, 1] max coverable lines (need 112): 98.92 +[7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 2] max coverable lines (need 112): 98.92 +[7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 1] max coverable lines (need 112): 98.78 +[7, 7, 7, 6, 6, 6, 6, 6, 6, 6] max coverable lines (need 112): 101.82 diff --git a/research/one-sided-decoders-all-m/evidence/logs/lp3.log.txt b/research/one-sided-decoders-all-m/evidence/logs/lp3.log.txt new file mode 100644 index 0000000000..594fb1f986 --- /dev/null +++ b/research/one-sided-decoders-all-m/evidence/logs/lp3.log.txt @@ -0,0 +1,8 @@ +[7, 6, 6, 6, 6, 6, 6, 6, 6, 6] (96.92307692307692, np.True_, 96.974, 10004) +[7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1] (97.92307692307695, np.True_, 97.97, 10000) +[7, 7, 6, 6, 6, 6, 6, 6, 6, 6] (97.77777777777777, np.True_, 97.804, 10001) +[7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1, 1] (98.92307692307695, np.True_, 98.972, 10000) +[7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 2] (98.92307692307692, np.True_, 98.966, 10000) +[7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 1] (98.7777777777778, np.True_, 98.808, 10000) +[7, 7, 7, 6, 6, 6, 6, 6, 6, 6] (101.81818181818186, np.True_, 101.867, 10002) +d=7 (97.77777777777779, np.True_, 97.808, 10002) diff --git a/research/one-sided-decoders-all-m/evidence/logs/mu76.log.txt b/research/one-sided-decoders-all-m/evidence/logs/mu76.log.txt new file mode 100644 index 0000000000..87026c54bf --- /dev/null +++ b/research/one-sided-decoders-all-m/evidence/logs/mu76.log.txt @@ -0,0 +1,5 @@ +k=0 max UB=2 hist: 0:41431 1:1976 2:28 +k=1 max UB=2 hist: 0:20095 1:16200 2:7140 +k=2 max UB=2 hist: 0:20095 1:16200 2:7140 +k=3 max UB=2 hist: 0:20095 1:16200 2:7140 +k=4 max UB=2 hist: 0:19927 1:16200 2:7308 diff --git a/research/one-sided-decoders-all-m/evidence/logs/ncount.log.txt b/research/one-sided-decoders-all-m/evidence/logs/ncount.log.txt new file mode 100644 index 0000000000..63b20c692d --- /dev/null +++ b/research/one-sided-decoders-all-m/evidence/logs/ncount.log.txt @@ -0,0 +1,5 @@ +targets 1144 +max N = 2 at w1=2 w2=37 t0=98 +N=0 : 4612720 (F,t0) pairs +N=1 : 247968 (F,t0) pairs +N=2 : 4032 (F,t0) pairs diff --git a/research/one-sided-decoders-all-m/evidence/logs/ncount2.log.txt b/research/one-sided-decoders-all-m/evidence/logs/ncount2.log.txt new file mode 100644 index 0000000000..a2906ba32d --- /dev/null +++ b/research/one-sided-decoders-all-m/evidence/logs/ncount2.log.txt @@ -0,0 +1,4 @@ +passed (F,h) 1825616; max N2 = 2 at w1=2 w2=33 pair#4190 +N2=0 : 254483040 +N2=1 : 15229200 +N2=2 : 279720 diff --git a/research/one-sided-decoders-all-m/evidence/logs/rootswap.log.txt b/research/one-sided-decoders-all-m/evidence/logs/rootswap.log.txt new file mode 100644 index 0000000000..cba0ae5424 --- /dev/null +++ b/research/one-sided-decoders-all-m/evidence/logs/rootswap.log.txt @@ -0,0 +1,26 @@ +root targets: pairs dropping rank without the coloop: 0 + col ('p', 0) weight 8 y support [0] corrected 1 + col ('d', 0) weight 1 y support [0] corrected 0 +J [0] roots [0] eps-free 65 corrections 1 corrected cost 64 + col ('p', 4) weight 8 y support [0] corrected 1 + col ('d', 4) weight 1 y support [0] corrected 0 + col ('p', 24) weight 8 y support [1] corrected 1 + col ('d', 24) weight 1 y support [1] corrected 0 +J [0, 1] roots [4, 24] eps-free 66 corrections 2 corrected cost 64 + col ('p', 8) weight 8 y support [0] corrected 1 + col ('d', 8) weight 1 y support [0] corrected 0 + col ('p', 28) weight 8 y support [1] corrected 1 + col ('d', 28) weight 1 y support [1] corrected 0 + col ('p', 40) weight 8 y support [2] corrected 1 + col ('d', 40) weight 1 y support [2] corrected 0 +J [0, 1, 2] roots [8, 28, 40] eps-free 67 corrections 3 corrected cost 64 + col ('p', 58) weight 8 y support [0] corrected 1 + col ('d', 58) weight 1 y support [0] corrected 0 + col ('p', 28) weight 8 y support [1] corrected 1 + col ('d', 28) weight 1 y support [1] corrected 0 + col ('p', 40) weight 8 y support [2] corrected 1 + col ('d', 40) weight 1 y support [2] corrected 0 + col ('p', 90) weight 8 y support [4] corrected 1 + col ('d', 90) weight 1 y support [4] corrected 0 +J [0, 1, 2, 4] roots [58, 28, 40, 90] eps-free 68 corrections 4 corrected cost 64 +no feasible J for k = 5 diff --git a/research/one-sided-decoders-all-m/evidence/logs/rootswap_audit.log.txt b/research/one-sided-decoders-all-m/evidence/logs/rootswap_audit.log.txt new file mode 100644 index 0000000000..9256aa154c --- /dev/null +++ b/research/one-sided-decoders-all-m/evidence/logs/rootswap_audit.log.txt @@ -0,0 +1,14 @@ +FC frame cols all in {0,+-1}: {np.int64(0), np.int64(1), np.int64(-1)} +labels distinct 112 z in LAB? [False, False, False, False, False, False, False, False] Z indep rank 4 +0 56 rank 8 z in span: [False, False, False, False, False, False, False, False] +1 56 rank 8 z in span: [False, False, False, False, False, False, False, False] +2 56 rank 8 z in span: [False, False, False, False, False, False, False, False] +3 56 rank 8 z in span: [False, False, False, False, False, False, False, False] +4 56 rank 8 z in span: [False, False, False, False, False, False, False, False] +5 56 rank 8 z in span: [False, False, False, False, False, False, False, False] +6 56 rank 8 z in span: [False, False, False, False, False, False, False, False] +7 56 rank 8 z in span: [False, False, False, False, False, False, False, False] +Off sizes [53, 56] +t with deviations 0 +Counter({('f', 8, False): 1792, ('r', 8, True): 112}) +[(('r', 0), -4.0, 8, (0, 1, 4, 5), 52)] diff --git a/research/one-sided-decoders-all-m/evidence/logs/symcheck.log.txt b/research/one-sided-decoders-all-m/evidence/logs/symcheck.log.txt new file mode 100644 index 0000000000..c159d14e96 --- /dev/null +++ b/research/one-sided-decoders-all-m/evidence/logs/symcheck.log.txt @@ -0,0 +1,3 @@ +generators: 1352 ; all permutations / |inner product|-preserving / label-linear / permute frame targets: True +orbit of line 0: 112 of 112; orbit of N(f_0): 8 of 8 +symcheck OK diff --git a/research/one-sided-decoders-all-m/evidence/logs/symlp.log.txt b/research/one-sided-decoders-all-m/evidence/logs/symlp.log.txt new file mode 100644 index 0000000000..0c4d4ca5af --- /dev/null +++ b/research/one-sided-decoders-all-m/evidence/logs/symlp.log.txt @@ -0,0 +1,10 @@ +[7, 6, 6, 6, 6, 6, 6, 6, 6, 6] (96.92307692307693, Fraction(48461539, 500000)) +[7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1] (97.92307692307693, Fraction(48961539, 500000)) +[7, 7, 6, 6, 6, 6, 6, 6, 6, 6] (97.77777777777777, Fraction(4888889, 50000)) +[7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1, 1] (98.92307692307693, Fraction(49461539, 500000)) +[7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 2] (98.92307692307693, Fraction(49461539, 500000)) +[7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 1] (98.77777777777777, Fraction(4938889, 50000)) +[7, 7, 7, 6, 6, 6, 6, 6, 6, 6] (101.81818181818181, Fraction(12727273, 125000)) +d7 (97.77777777777776, Fraction(4888889, 50000)) +CONTROL [8]^8 d=8: (112.0, Fraction(112, 1)) +CONTROL [8]^8 d=7 (need 111): (112.0, Fraction(112, 1)) diff --git a/research/one-sided-decoders-all-m/evidence/logs/times.out.txt b/research/one-sided-decoders-all-m/evidence/logs/times.out.txt new file mode 100644 index 0000000000..3986b9b827 --- /dev/null +++ b/research/one-sided-decoders-all-m/evidence/logs/times.out.txt @@ -0,0 +1,39 @@ +ran gen_targets rc=0 in 1s +ran gen_t3_76 rc=0 in 0s +ran chk1 rc=0 in 1s +ran w8 rc=0 in 0s +ran g78 rc=0 in 0s +ran flats_classify rc=0 in 5s +ran dp3 rc=0 in 13s +ran enum_1 rc=0 in 0s +ran enum_2 rc=0 in 0s +ran enum_3 rc=0 in 0s +ran enum_4 rc=0 in 0s +ran enum_5 rc=0 in 0s +ran enum_6 rc=0 in 0s +ran enum_7 rc=0 in 1s +ran enum_8 rc=0 in 1s +ran lp2 rc=0 in 2s +ran lp3 rc=0 in 2s +ran symlp rc=0 in 0s +ran eq rc=0 in 3s +ran eq2 rc=0 in 6s +ran land rc=0 in 6s +ran c65 rc=0 in 5s +ran c66 rc=0 in 6s +ran coloop rc=0 in 2s +ran coloop2 rc=0 in 49s +ran rootswap rc=0 in 4s +ran rootswap_audit rc=0 in 1s +ran symcheck rc=0 in 5s +ran d7 rc=0 in 1s +ran gT rc=0 in 2s +ran cover6 rc=0 in 18s +ran cover rc=0 in 273s +ran cover761 rc=0 in 14s +ran lnprep rc=0 in 1s +ran lemmaN rc=0 in 71s +ran gsmall rc=0 in 227s +ran ncount rc=0 in 58s +ran mu76 rc=0 in 80s +ran ncount2 rc=0 in 215s diff --git a/research/one-sided-decoders-all-m/evidence/logs/verify_run.log.txt b/research/one-sided-decoders-all-m/evidence/logs/verify_run.log.txt new file mode 100644 index 0000000000..d51a5d2dcc --- /dev/null +++ b/research/one-sided-decoders-all-m/evidence/logs/verify_run.log.txt @@ -0,0 +1,79 @@ +== 0. manifest + PASS manifest: 94 files hash-checked, 0 mismatching [] + PASS manifest lists every package file (0 unlisted []) +== 1-4. computations (two parallel streams, at most 2 processes) + ran gen_targets rc=0 in 1s + ran gen_t3_76 rc=0 in 0s + ran chk1 rc=0 in 1s + ran w8 rc=0 in 0s + ran g78 rc=0 in 0s + ran flats_classify rc=0 in 5s + ran dp3 rc=0 in 13s + ran enum_1 rc=0 in 0s + ran enum_2 rc=0 in 0s + ran enum_3 rc=0 in 0s + ran enum_4 rc=0 in 0s + ran enum_5 rc=0 in 0s + ran enum_6 rc=0 in 0s + ran enum_7 rc=0 in 1s + ran enum_8 rc=0 in 1s + ran lp2 rc=0 in 2s + ran lp3 rc=0 in 2s + ran symlp rc=0 in 0s + ran eq rc=0 in 3s + ran eq2 rc=0 in 6s + ran land rc=0 in 6s + ran c65 rc=0 in 5s + ran c66 rc=0 in 6s + ran coloop rc=0 in 2s + ran coloop2 rc=0 in 49s + ran rootswap rc=0 in 4s + ran rootswap_audit rc=0 in 1s + ran symcheck rc=0 in 5s + ran d7 rc=0 in 1s + ran gT rc=0 in 2s + ran cover6 rc=0 in 18s + ran cover rc=0 in 273s + ran cover761 rc=0 in 14s + ran lnprep rc=0 in 1s + ran lemmaN rc=0 in 71s + ran gsmall rc=0 in 227s + ran ncount rc=0 in 58s + ran mu76 rc=0 in 80s + ran ncount2 rc=0 in 215s +== 5. assertions (check_logs.py) + PASS dump: data/data.json regenerated from the geometry (base.py) is byte-identical + PASS chk1: labels (1, r mod 2) of rank 9, 112 distinct, kappa formula = oscommon cost + PASS w8: exactly 8 label hyperplanes have complement of real rank <= 7; each is W_i with Off = N(f_i), 56 lines + PASS g78: g(8) = 64, g(7) = 36 over the 43435 seven-dimensional label subspaces + PASS gsmall: g(6) = 20, g(5) = 12 (label-rank maxima {6: 20, 5: 12, 4: 8}) + PASS flats_classify: N_u = 1,3,6,12,20,36,63; flats with >= 36 lines are E7/D7/E6+A1/E6; every E6 flat holds >= 2 frame lines + PASS gen_targets: |Off(h)| <= 73 directions: 112 roots (53), 8 frame (56), 128 x 70, 896 x 73 + PASS gen_t3: complete list of 1200 directions with |Off| <= 76; the norm-6 (E6+A1) directions have |Off| >= 77 + PASS cover: min cover of N(f_i) by two 7-flats = 14; Off(r) has no pair cover; best <=3-cover of Off(r) has weight 15 + PASS symcheck: line symmetries are label-linear and transitive on the 112 roots and the 8 frame targets (one root target / one frame target suffice for cover facts) + PASS cover761: for all 112 roots the weight-14 shape (7,6,1) leaves >= 9 lines of Off(r) uncovered (so W >= 15 for any cover with >= 3 pieces) + PASS gT: in-target capacities G(w) of 7-/6-flats are <= (32, 20) and G(w) <= (1,2,4,8,12,20,32) elementwise + PASS d7: the 70-line Off sets of the 1080 norm-4 directions are not covered by two 7-flats + PASS cover6: three (dim <= 6) flats cannot cover Off(r); they can cover N(f_i) (6,6,6) + PASS dp3: DP minima of cost(T) for d = 1..8 are 14,22,29,36,42,48,55,61 (need 8d = 8,..,64) [14, 22, 29, 36, 42, 48, 55, 61] + PASS enum: multisets of cost(T) < 8d passing the DP rules: none for d <= 6, one for d = 7 ([7,6^8], 55), seven for d = 8 + PASS lp3: 7 (d=8) exact INTEGER dual certificates (A^T y >= 1 in exact int arithmetic), bounds < 112 [96.97, 97.97, 97.8, 98.97, 98.97, 98.81, 101.87] + PASS lp3: d = 7 certificate, bound < 111 + PASS symlp (independent symmetrised LP, exact rational repaired dual): 7 d=8 bounds < 112, d=7 bound < 111; controls [8]^8 give exactly 112 + PASS eq (Theorem U-prime inputs): cost(T) = 8d exactly: d = 6,7 fully killed by the quotient LP; d = 8 leaves exactly [7^9,1], [7^8,6,2], [7^8,6,1,1] + PASS eq2: slack 0 survivors: none for d = 6, 7; the same 3 for d = 8 + PASS land: after LP + Pencil + e=2 triple rule, slack <= 2 leaves survivors only at d = 8, slack 2 (the six multisets) + PASS c65: cost(T) <= 8d+1: LP-survivors are the 7^k + small multisets (d = 7: 3, d = 8: 8) and [7^5,6^5]; N(r) has no coloops + PASS c66: cost(T) <= 8d+2: after LP, Pencil, e=2 triple rule exactly the SIX d = 8 multisets survive + PASS coloop: rank <= 8 targets = the 8 frame targets; for the 112 root targets exactly one coloop each + PASS coloop2: N(r) minus any <= 3 lines still has label rank 8 + PASS rootswap: root-swap family, exact P Y = C: eps-free 64+k, k corrections, corrected cost 64 for k = 1..4; pair-coloop fact + PASS rootswap_audit: independent scan: weight-<=8 carriers of a z_i are exactly the root swaps + PASS lemmaN (independent C implementation, 1200 directions from lnprep): max 2 active directions per 7-flat, 0 violations + PASS ncount (|L| = 1, exact): max N = 2 + PASS ncount2 (|L| = 2, exact): max N2 = 2 + PASS mu76 (|L| <= 4, upper bound over all removal sets): max UB = 2 for k = 0..4 +== done in 714s: 34 PASS, 0 FAIL; logs in +PASS: all assertions hold +PYTHON= bash verify.sh 1066.18s user 3.37s system 149% cpu 11:54.03 total diff --git a/research/one-sided-decoders-all-m/evidence/logs/w8.log.txt b/research/one-sided-decoders-all-m/evidence/logs/w8.log.txt new file mode 100644 index 0000000000..cf6b714963 --- /dev/null +++ b/research/one-sided-decoders-all-m/evidence/logs/w8.log.txt @@ -0,0 +1,8 @@ +z 37 flat lines 56 compl rank 7 |Off(h)| 56 Off inside flat True h~f_i [6] +z 43 flat lines 56 compl rank 7 |Off(h)| 56 Off inside flat True h~f_i [4] +z 151 flat lines 56 compl rank 7 |Off(h)| 56 Off inside flat True h~f_i [5] +z 153 flat lines 56 compl rank 7 |Off(h)| 56 Off inside flat True h~f_i [7] +z 373 flat lines 56 compl rank 7 |Off(h)| 56 Off inside flat True h~f_i [3] +z 379 flat lines 56 compl rank 7 |Off(h)| 56 Off inside flat True h~f_i [1] +z 455 flat lines 56 compl rank 7 |Off(h)| 56 Off inside flat True h~f_i [0] +z 457 flat lines 56 compl rank 7 |Off(h)| 56 Off inside flat True h~f_i [2] diff --git a/research/one-sided-decoders-all-m/requirements.txt b/research/one-sided-decoders-all-m/requirements.txt new file mode 100644 index 0000000000..6689b15190 --- /dev/null +++ b/research/one-sided-decoders-all-m/requirements.txt @@ -0,0 +1,3 @@ +numpy +scipy +sympy diff --git a/research/one-sided-decoders-all-m/verify.sh b/research/one-sided-decoders-all-m/verify.sh new file mode 100755 index 0000000000..57eaa5d190 --- /dev/null +++ b/research/one-sided-decoders-all-m/verify.sh @@ -0,0 +1,57 @@ +#!/usr/bin/env bash +# Verification of research/one-sided-decoders-all-m (no kappa claim). usage: bash verify.sh [/fresh/output/dir] +# Needs: Python >= 3.11 with numpy, scipy, sympy (PYTHON=/path/to/python to choose), and a C compiler `cc`. No SAT solver. +# Every exact check of the README is re-run here (about 12-15 minutes on a laptop with two processes; nice 10). Nothing is skipped: the +# only things taken on trust are the CONDITIONAL [verify] inputs listed in README section 2 (they are cited, not computed here). +# 0 MANIFEST.sha256 +# 1 geometry and tables: data.json regenerated and compared; labels; g(5..8); weight-8 hyperplanes; direction lists; flats of the root system; +# cover facts (cover.py is the slow one, ~6 min) +# 2 the ε-free theorem: DP, multiset enumeration, LP with exact integer dual certificates (lp3.py) and the independent symmetrised LP (symlp.py) +# 3 Theorem U' / cost-65 / cost-66 classification inputs: eq, eq2, land, c65, c66, coloop, coloop2, rootswap (+ independent audit) +# 4 Lemma N: exact counts (ncount, ncount2), upper bound over |L| <= 4 (mu76) and an independent implementation (lnprep + lemmaN.c) +# 5 check_logs.py: every assertion of the README as a PASS/FAIL line +set -uo pipefail +HERE=$(cd "$(dirname "$0")" && pwd) +OUT=${1:-$(mktemp -d "${TMPDIR:-/tmp}/one-sided.XXXXXX")} +mkdir -p "$OUT"; OUT=$(cd "$OUT" && pwd) +case "$OUT/" in "$HERE"/*) echo "output dir must be outside the package"; exit 2;; esac +PY="${PYTHON:-python3}"; export PYTHONDONTWRITEBYTECODE=1 OMP_NUM_THREADS=1 VECLIB_MAXIMUM_THREADS=1 OPENBLAS_NUM_THREADS=1 +TMO=""; command -v timeout >/dev/null 2>&1 && TMO="timeout 1500"; command -v gtimeout >/dev/null 2>&1 && TMO="gtimeout 1500" +W="$OUT/work"; LOG="$OUT/logs"; mkdir -p "$W" "$LOG"; : > "$OUT/all.out"; T0=$SECONDS +echo "== 0. manifest" +"$PY" -B "$HERE/checks/manifest_check.py" | tee -a "$OUT/all.out" | sed 's/^/ /'; grep -q '^FAIL' "$OUT/all.out" && { echo "step 0 FAILED"; exit 1; } +cp "$HERE"/checks/*.py "$HERE"/checks/*.c "$HERE"/data/* "$W"/ +cd "$W" +# run NAME CMD... (cwd = work dir, log -> logs/NAME.log, nice 10) +run() { local n=$1; shift; local s=$SECONDS; $TMO nice -n 10 "$@" > "$LOG/$n.log" 2>&1; local rc=$?; echo "ran $n rc=$rc in $((SECONDS - s))s" >> "$OUT/times.out"; return 0; } +echo "== 1-4. computations (two parallel streams, at most 2 processes)" +streamA() { + mkdir -p gen && ( cd gen && cp ../*.py ../*.json . && "$PY" -B dump.py > "$LOG/dump.log" 2>&1 && cmp data.json ../data.json && echo "data.json regenerated: identical" >> "$LOG/dump.log" ) + run chk1 "$PY" -B chk1.py; run w8 "$PY" -B w8.py; run g78 "$PY" -B g78.py; run flats_classify "$PY" -B flats_classify.py + run dp3 "$PY" -B dp3.py P112 + for d in 1 2 3 4 5 6 7 8; do run enum_$d "$PY" -B enum.py $d $((8*d)); done + run lp2 "$PY" -B lp2.py; run lp3 "$PY" -B lp3.py; run symlp "$PY" -B symlp.py + run eq "$PY" -B eq.py; run eq2 "$PY" -B eq2.py 2 6,7,8; run land "$PY" -B land.py 2 1,2,3,4,5,6,7,8 + run c65 "$PY" -B c65.py; run c66 "$PY" -B c66.py; run coloop "$PY" -B coloop.py; run coloop2 "$PY" -B coloop2.py + run rootswap "$PY" -B rootswap.py; run rootswap_audit "$PY" -B rootswap_audit.py + run symcheck "$PY" -B symcheck.py; run d7 "$PY" -B d7.py; run gT "$PY" -B gT.py; run cover6 "$PY" -B cover6.py + run gsmall "$PY" -B gsmall.py +} +streamB() { + run cover "$PY" -B cover.py; run cover761 "$PY" -B cover761.py + for p in ncount ncount2 mu76 lemmaN; do cc -O2 -o "$p" "$p.c" 2> "$LOG/cc_$p.log" || echo "cc failed for $p" >> "$LOG/cc_$p.log"; done + run lnprep "$PY" -B lnprep.py + run lemmaN ./lemmaN; run ncount ./ncount; run mu76 ./mu76; run ncount2 ./ncount2 +} +# targets*.txt / labs.txt are written by gen_targets.py / gen_t3.py (stream A) and read by ncount*/mu76/coloop/rootswap: generate them first, serially +run gen_targets "$PY" -B gen_targets.py; run gen_t3_76 "$PY" -B gen_t3.py 76 +streamA & PA=$! +streamB & PB=$! +wait $PA; wait $PB +cat "$OUT/times.out" | sed 's/^/ /' +echo "== 5. assertions (check_logs.py)" +"$PY" -B "$HERE/checks/check_logs.py" "$LOG" | tee -a "$OUT/all.out" | sed 's/^/ /' +npass=$(grep -c '^PASS' "$OUT/all.out"); nfail=$(grep -c '^FAIL' "$OUT/all.out") +echo "== done in $((SECONDS - T0))s: $npass PASS, $nfail FAIL; logs in $OUT" +[ "$nfail" = 0 ] && { echo "PASS: all assertions hold"; exit 0; } +echo "FAIL"; exit 1